AH

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

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

イマシルちゃんの解説

AHは、IP通信を保護するIPsecで使う認証用のプロトコルだよ。
送信側は相手と共有した秘密の鍵を使って、データのまとまりであるパケットから「認証データ」という確認用の値を計算するんだ。
その値をパケットに添えて送り、受信側でも同じ鍵を使って計算した値と比べるよ。
これで、保護対象の内容が途中で書き換えられていないかを調べられるの。
鍵を知らない相手は正しい値を作りにくいから、送り主の確認にも役立つんだ。
ただし内容は隠れないため、盗み読みを防ぐ暗号化とは役割が違うよ。

より深い解説

定義

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は改ざんを検出するためのメッセージ認証のアルゴリズムで、暗号化ではない

ヘッダーの値と設定情報を分ける

AHのSPI(Security Parameters Index)は、受信側が対応するSAを識別するための値である。シーケンス番号は再送された古いパケットを見分ける処理に、認証データは完全性と送信元の確認に使う。SPI自体が暗号化鍵や認証データになるわけではない。

要素役割
AHパケットごとの完全性と認証
SAアルゴリズム、鍵、有効期間などの合意・管理情報
IKE相手との合意や鍵の確立
ESP暗号化や完全性保護に使うプロトコル

SAを保存するデータベースをSADという。トランスポートモードとトンネルモードという区別があっても、AHが暗号化を提供することにはならない。

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

ネットワークスペシャリスト

午前Ⅱ

この用語が出てくる記事

↑