2017-05-26 14 views
1

私のHTTP接続の保護。以下は私のセットアップです。私は現在、ホームオートメーションプロジェクトに取り組んでいます

ESP8266 WiFiモジュールは、さまざまなセンサーに接続されます。モジュール上で光のある Webサーバーが実行されます。特定のNodeJSスクリプトとMongoDBデータベースを実行しているLinode Cloud がデプロイされます。 モバイルアプリケーション(クライアント)は、 のクラウドへの要求を送信し、さまざまなセンサーを制御し監視します。 JSON Webトークンを使用して、アプリケーションとクラウドの間に接続 を確保します。また、私は HTTPSを使用してこの接続を保護しようとします。

クラウドサーバーとESP8266モジュール間の通信を保護する方法については混乱します。私は多くの研究をしました。特定のコンセプトを知ることはできましたが、明確で完全な画像を得ることはできませんでした。誰かが私を導いてください。ありがとうございました。

+0

あなた3最高のオプション:https。 https。 https。 – dandavis

答えて

1

は、すべてのあなたのアプリ間のヘッダーにトークンを使用してください。 そして、あなたはリクエストを送信するとき、これは次のようになります。

request.post({ 
    url: 'https://mycoolserver.com/', 
    headers: { 
    Authorization: 'lalalablablabla' 
    } 
}) 

UPDATE:限り、あなたのトークンは、彼が持っているものと一致する場合は、要求、その側のチェックでサーバーを送って。あなたにトークンを安全に保つためのセキュリティトリックがたくさんありますが、これは私が提案したものですが、非常に基本的なセキュリティですが、飛行中に簡単に行うことができます。後でセキュリティレベルを上げることができます。

+0

申し訳ありませんが私の質問が無意味に聞こえる場合...しかし、ヘッダーのこのトークンは侵入者によってタップすることができますか?それとも安全ですか?そうでない場合は、どのようにして安全にするのですか? –

+0

これはまったく安全ではありません、誰もが決して変更されないように見えるトークンを見ることができます... – dandavis

+0

あなたはどのように見える、我々はサーバーとサーバーの通信、右について話している? – Lazyexpert

1

あなたは

(unixTime)/1000 is unixTime in secondSomeNumbers is a static number like 897645ASmallNumber is a small number like 7

番号を生成します。この式は、時間に依存(((unixTime)/1000) + SomeNumbers) * ASmallNumberのような機能のものを生成し、両方のシステムにおけるリアルタイムクロック(クライアントとサーバー)を持っていると仮定。この番号を受信者に送信します。 (同じSomeNumbersASmallNumber値)受信機では、番号をデコードし、受信機unixTimeを用いunixTimeをチェック例

:場合(unixTime - decodedUnixTime & unixTime - decodedUnixTime> 0)、メッセージが信頼さ

+0

Geeky !!!!!!!!!!! –

+0

これはバイパスするのは簡単ではないので、実装する価値はありません。 – dandavis

関連する問題