Secure Sockets Layer (SSL) は、
チェックサムに類似した暗号ハッシュ関数を使用して、
転送中のデータ保全性を保証します。
暗号ハッシュ関数はデータ内の偶発的な変更の検出に使用されます。
この関数に暗号鍵は必要ありません。暗号ハッシュが作成されると、
ハッシュは秘密鍵を使用して暗号化されます。
送信側の秘密鍵は、メッセージのデジタル・シグニチャーのハッシュを暗号化します。
秘密鍵情報が暗号ハッシュに含まれる場合、
結果のハッシュは、鍵ハッシュ・メッセージ確認コード (HMAC) 値と呼ばれます。
HMAC は、暗号ハッシュ関数を使用するメッセージ認証のメカニズムです。
このメカニズムは、秘密の共有鍵と組み合わせて、任意の反復暗号ハッシュ関数で使用します。
この製品では、
既知の
片方向 ハッシュ・アルゴリズムである MD5 と SHA-1 の両方をサポートしています。
片方向ハッシュとは、
処理データを、
ハッシュ値 または
メッセージ・ダイジェスト と呼ばれるビットのストリングに変換するアルゴリズムです。
片方向 は、
固定ストリングを元のデータに戻すことが極めて困難であることを意味します。
以下の説明には、
MD5 と SHA-1 の両方の
片方向 ハッシュ・アルゴリズムが含まれています。
- MD5 は 32 ビット・マシン用に設計されたハッシュ・アルゴリズムです。
このハッシュ・アルゴリズムは、任意の長さのメッセージを入力とし、
128 ビットのハッシュ値を出力として生成します。
このプロセスは SHA-1 ほどセキュアではありませんが、MD5 の方がパフォーマンスでは優れています。
- SHA-1 は、Secure Hash Standard で定義されたセキュアなハッシュ・アルゴリズムです。
SHA-1 は、160 ビットのハッシュを生成するように設計されています。
MD5 よりやや速度で劣りますが、より大きいメッセージ・ダイジェストが生成されるため、
強引な衝突 (brute-force collision) のようなアタックに対してはよりセキュアになります。
詳しくは、http://www.ietf.org/rfc/rfc2246.txt の Transport Layer Security (TLS) の仕様を参照してください。