単一ページのwebApp(angularJS、SSL経由で安全なソースから読み込まれる)と、ユーザーのプライベートローカルwifi内のローカルサーバー(BOXと呼ばれる)との間の接続を保護しようとしています。
そのため、webAppはHTTPSを介してブラウザーに読み込まれ、ajaxを使用してローカルwifiのローカルBOXリソースに接続します。
この時点で、webAppはインターネット接続を失い、ローカルソースからのデータのみをロードしている可能性があります。
今、私はワイヤーレスが安全であることを保証できません(wifiの近くの人々が聞くことができます)ので、ローカルで安全に認証するためにajax/javascriptが必要ですどういうわけかリソース。
ほとんどのブラウザはサポートしていません HTTPSピンニング これがHTTPSを使用できない理由です。単純なダイジェスト/基本認証はクライアントに対してそれを実行しないので、 [〜#〜]を使用することを考えました。 srp [〜#〜] 。
私のHTML/JavascriptはHTTPS経由で配信されるため、man-in-the-middle攻撃による変更から保護するのに十分な安全性が必要です。
レビュー済み SRP libs JavaScriptが存在します。
質問:この概念に欠陥がある人はいますか?
SRPは、パスワードを盗聴している中間者からのみ保護します。転送されたデータを操作するアクティブな中間者からは保護されません。
ローカルネットワークでのアクティブなman-in-the-middle攻撃は簡単であるため( ARPスプーフィング など)、誰でもデータを作成/操作し、安全に認証されたが改ざんされにくい接続内で不要なアクションを引き起こす可能性があります。