QA@IT
«回答へ戻る

回答を投稿

まずSHTTP CAなんですけど、これが共通鍵を知っているのはどうかなあ?と思います。共通鍵はCLIENT-SERVER間だけの秘密にしたいはずだと思うので。第三者であるSHTTP CAに知られているのはまずくないですか?鍵交換は素直にDiffie-Hellman鍵交換でよいのではないかと思います。

次にSERVERの認証がない点なんですけど、それだと中間者攻撃ができるのではないかと思います。攻撃者がCLIENT-SERVER間に割り込んでいて、CLIENTに対してはSERVERになりすまし、SERVERに対してはCLIENTになりすますとします。

攻撃者はSERVERから本物のReturn HTMLを受け取ります。しかし攻撃者はReturn HTMLを差し替えて嘘のscript URL(自分のURL)をCLIENTに返します。CLIENTは攻撃者のscript URLから偽の共通鍵を受け取ります。攻撃者は本物のscript URLから本物の共通鍵を受け取ります。

暗号化通信フェーズではCLIENT-攻撃者間は偽の共通鍵による暗号化が行なわれ、攻撃者-SERVER間は本物の共通鍵による暗号化が行なわれます。そんな感じで盗聴ができそうに思ったんですけど、どうでしょう?

もしこの理解で合っているなら、SERVERの認証はしたほうがよいと思います。

まずSHTTP CAなんですけど、これが共通鍵を知っているのはどうかなあ?と思います。共通鍵はCLIENT-SERVER間だけの秘密にしたいはずだと思うので。第三者であるSHTTP CAに知られているのはまずくないですか?鍵交換は素直にDiffie-Hellman鍵交換でよいのではないかと思います。

次にSERVERの認証がない点なんですけど、それだと中間者攻撃ができるのではないかと思います。攻撃者がCLIENT-SERVER間に割り込んでいて、CLIENTに対してはSERVERになりすまし、SERVERに対してはCLIENTになりすますとします。

攻撃者はSERVERから本物のReturn HTMLを受け取ります。しかし攻撃者はReturn HTMLを差し替えて嘘のscript URL(自分のURL)をCLIENTに返します。CLIENTは攻撃者のscript URLから偽の共通鍵を受け取ります。攻撃者は本物のscript URLから本物の共通鍵を受け取ります。

暗号化通信フェーズではCLIENT-攻撃者間は偽の共通鍵による暗号化が行なわれ、攻撃者-SERVER間は本物の共通鍵による暗号化が行なわれます。そんな感じで盗聴ができそうに思ったんですけど、どうでしょう?

もしこの理解で合っているなら、SERVERの認証はしたほうがよいと思います。