web-dev-qa-db-ja.com

中間者はHTTPS会話の半分を聞くことができますか

HTTPSを使用して会話が行われている場合、ハンドシェイク中に、中間者はサーバーからクライアントへのすべての通信を解釈できますか?

中間者がパケットを受信し、(公開鍵を使用して)開くことができると仮定すると、サーバーから受信した変更されていない(暗号化された)パケットを渡すことができますか?公開鍵を使用して暗号化されたパケットを受信しますが(これは解釈できません)、これにより、中間者が会話の半分を盗聴することができますか?

2
David Colwell

いいえ。情報の半分しか保護しない暗号化システムは、役に立たないよりもわずかに優れています。

ハンドシェイク中に、対称鍵が交換されます。ハンドシェイク後、その対称鍵を使用してすべてのデータを暗号化します(通常はAESを使用)。したがって、その対称鍵がないと、乾杯します-50%を読み取ることはできず、0%を読み取ることができます。

RSAが鍵交換に使用される場合、クライアントはサーバーの公開鍵を使用してランダム対称鍵を暗号化します。攻撃者はサーバーの秘密鍵を知らないため、復号化できません。

Diffie-Hellmanを鍵交換に使用すると、 盗聴者が取得できなくても対称鍵を確立することもできます。

9
Anders