AH

読み:えーえいち / 英語表記:Authentication Header

IPsecを構成するプロトコルの1つ。パケットの完全性(改ざんの検出)と送信元の認証を行うが、暗号化は行わない。IPのプロトコル番号は51。

イマシルちゃんの解説

AHは、パケットに「書き換えられていません」っていうハンコを押す係なんだ。

途中で誰かが中身を書き換えたら、受け取った側がハンコを確かめたときにバレちゃう。
でも、AHは封筒には入れないから、中身は丸見えのままなんだよ。
秘密にしたいときは、ESPのほうを使うんだ!

より深い解説

定義

AH(Authentication Header)は、RFC 4302で定められた、IPsecのセキュリティプロトコルである。共有した鍵を使って、パケットから認証データ(ICV)を計算し、AHヘッダーに入れる。受信側は、同じ計算をして結果を比べ、パケットが改ざんされていないことと、正しい相手から送られたことを確かめる。

AHが提供する機能

機能提供するか
完全性(改ざんの検出)する
送信元の認証する
リプレイ攻撃の防止する(シーケンス番号)
機密性(暗号化)しない

認証の範囲

AHの特徴は、IPヘッダーも含めたパケット全体を認証の対象にすることである。ただし、TTLやヘッダーチェックサムのように、転送の途中で変わることが前提のフィールドは、0とみなして計算する。

この性質のため、途中のNATでIPアドレスが書き換えられると、受信側で認証に失敗する。AHはNATを越えられない。

使われなくなった理由

理由内容
暗号化ができない機密性が必要な場面では、どのみちESPを使う
ESPで完全性も確保できるESPは認証の機能も持つため、AHを併用する必要がほとんどない
NATとの相性NATを使うネットワークで使えない

このため、現在のIPsecの実装では、ESPだけを使うのが一般的である。RFC 8221でも、AHよりESPの利用が推奨されている。

誤解しやすい点

誤解正しくは
アルゴリズムを相手と決めるためにAHを使うアルゴリズムと鍵の合意はIKEが行う。AHはパケットの認証を行う
AHで暗号化もできる暗号化はできない
AHの認証データにはHMACを使い、これが暗号化にあたるHMACは改ざんを検出するためのメッセージ認証のアルゴリズムで、暗号化ではない

実際の試験ではここに出る!

この用語が出てくる記事

↑