4.3. Keyed MD5 and Meticulous Keyed MD5 Authentication Section Format
4.3. Keyed MD5 and Meticulous Keyed MD5 Authentication Section Format (Keyed MD5 および Meticulous Keyed MD5 認証セクション形式)
MD5 ベースの認証の使用は強く推奨されません。ただし, 既存の実装との互換性のためにここに文書化されています。
ヘッダーで Authentication Present (A) ビットが設定されており, Authentication Type フィールドに 2 (Keyed MD5) または 3 (Meticulous Keyed MD5) が含まれている場合, 認証セクションは次の形式です:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Type | Auth Len | Auth Key ID | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Key/Digest... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Auth Type
認証タイプ。この場合は 2 (Keyed MD5) または 3 (Meticulous Keyed MD5) です。
Auth Len
認証セクションの長さ (バイト単位)。Keyed MD5 および Meticulous Keyed MD5 認証の場合, 長さは 24 です。
Auth Key ID
このパケットで使用されている認証キー ID。これにより, 複数のキーを同時にアクティブにすることができます。
Reserved
このバイトは送信時にゼロに設定されなければならず (MUST), 受信時には無視されます。
Sequence Number
このパケットのシーケンス番号。Keyed MD5 認証の場合, この値は時折インクリメントされます。Meticulous Keyed MD5 認証の場合, この値はセッションに対して送信される各連続パケットごとにインクリメントされます。これにより, リプレイ攻撃に対する保護が提供されます。
Auth Key/Digest
このフィールドは, パケットの 16 バイト MD5 ダイジェスト (digest) を運びます。ダイジェストが計算される場合, 共有 MD5 キーがこのフィールドに格納され, 必要に応じて末尾のゼロバイトで 16 バイトにパディングされます。共有キーはセクション 6.7.3 に従ってエンコードおよび設定されなければなりません (MUST)。