私は、SSLがメッセージを読む人々に対してどのようにセキュリティを提供するかを知っています-ASYMMETRIC KEYSの助けを借りてSSLハンドシェイク中に交換されたSYMMETRIC KEYでメッセージを暗号化することによって。しかし、それが改ざんされない場所(誰かが暗号化されたデータを改ざんしている)を見つけることができませんでした。
SSLタンパーは検出可能ですか?はいの場合、どのように?
SSLは、次の意味で「改ざん防止」されています。受信者が改ざんを認識しない限り、第三者が転送データを変更することはできません。もちろん、攻撃者はいつでもケーブルを切断して通信を妨害できます。しかし、SSLで Message Authentication Codes を使用しているため、変更に気付かれることはありません。
SSLv2には「セーフエンド」機能が含まれていないことに注意してください。攻撃者はいつでも接続を強制的に閉じることができ、受信者はこの閉鎖が攻撃者からのものか、ピアによって本当にトリガーされたかを知ることができません。これは、SSLv3および旧バージョン(TLS)で修正されました。これには、SSLパーティの1つが接続を閉じる意思を示す明示的な管理メッセージ(close_notify
)が含まれます(この管理メッセージはSSL MACでカバーされ、したがって、攻撃者が偽造することはできません)。
SSLクライアントとサーバーがネゴシエートできる暗号スイートには、TLS_RSA_WITH_NULL_SHA
など、MACのみを使用し、暗号化は使用しない整合性のみの暗号スイートがあります。そのため、機密性がなくても改ざん防止が可能です。したい(デプロイされたSSLクライアントとサーバーの実装はこれらのスイートを許可することはめったになく、確かにデフォルトではありませんが、 standard で指定されています)。
仕様の紹介 で説明されているように、SSL/TLSは改ざん防止用に設計されています。
The primary goal of the TLS Protocol is to provide privacy and data integrity between two communicating applications. [...] - The connection is reliable. Message transport includes a message integrity check using a keyed MAC. Secure hash functions (e.g., SHA, MD5, etc.) are used for MAC computations. The Record Protocol can operate without a MAC, but is generally only used in this mode while another protocol is using the Record Protocol as a transport for negotiating security parameters.
このメカニズムの実装については、 5。HMACと疑似ランダム関数 で詳しく説明しています。さらに、 F.2。アプリケーションデータの保護 は、全体的な整合性保護メカニズムがどのように機能するかをより一般的に説明します。
別の見方をすれば、SSLへの中間攻撃の被害者である場合も、それは検出可能です。ただし、アルゴリズムで整合性チェックを使用するのではなく、証明書を表示します。したがって、この場合、検出可能であることは純粋にユーザーに基づいています。
したがって、上記のケースで、ユーザーがMiTMによって提供された偽の証明書を知らずに受け入れた場合は、いいえ、改ざん防止ではありません。
また、SSLストリップは、https以外のページに転送されるメカニズムを使用します。また、検出可能ですが、コンピュータではなく、ユーザーであり、ユーザーです。
これは、OPがこのシナリオも念頭に置いていれば、別の見方です。