Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

AH(エーエイチ)とは | 意味や読み方など丁寧でわかりやすい用語解説

AH(エーエイチ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

認証局 (ニンショウキョク)

英語表記

AH (エイチエイ)

用語解説

AHはAuthentication Header(認証ヘッダ)の略称で、インターネットプロトコルセキュリティ(IPsec)という技術スイートの一部を構成するプロトコルの一つである。その主な役割は、通信されるデータの「認証」と「完全性」を保証することにある。具体的には、データが正当な送信元から送られてきたものであることを確認し(認証)、かつデータが送信されてから受信されるまでの間に、悪意のある第三者によって内容が改ざんされていないことを検出する(完全性保証)機能を提供する。AHは、データの暗号化、つまり内容を秘密に保つ機能は提供しない点が特徴である。IPsecは、インターネットなどの信頼できないネットワーク上で安全な通信を実現するために開発され、AHはその安全性を確保するための重要な要素の一つとして機能する。

AHは、IPsecが提供するセキュリティサービスのうち、特にデータの認証と完全性の保護に特化したプロトコルである。IPsecは通常、AHとEncapsulating Security Payload(ESP)という二つの主要なプロトコルで構成され、これらが相互補完的に、または単独で利用される。AHは、データの発信元を認証し、データの内容が転送中に改ざんされていないことを保証するが、データの盗聴を防ぐための暗号化は行わない。

AHが提供する認証のメカニズムは、主にハッシュ関数と共有鍵に基づいている。通信を行う二つのエンドポイント(例えば、二台のコンピュータやネットワーク機器)は、事前に共有鍵を確立しておく。データ送信時には、送信側がこの共有鍵と、認証・完全性保護の対象となるIPパケットの特定の部分(一部のIPヘッダフィールドとペイロード)を用いて、MAC(Message Authentication Code: メッセージ認証コード)を計算する。このMACは、パケットの特定の情報から一意に生成される短いデータである。計算されたMACは、AHヘッダと呼ばれる専用のフィールドに格納され、元のIPパケットに追加されて送信される。

受信側は、パケットを受信すると、送信側と同様に共有鍵と、認証・完全性保護の対象となるパケットの同じ部分を用いてMACを再計算する。そして、受信したAHヘッダ内のMACと、自身で計算したMACを比較する。両者が一致すれば、パケットは正当な送信元から送られてきたものであり、かつ途中で改ざんされていないと判断できる。もしMACが一致しなければ、それは送信元が偽装されているか、データが改ざんされたか、あるいはその両方であることを意味し、そのパケットは破棄される。これにより、なりすましによる攻撃(スプーフィング)やデータの改ざん攻撃を防ぐことが可能となる。

AHはまた、リプレイアタック(Replay Attack)と呼ばれる攻撃に対しても防御機構を提供する。リプレイアタックとは、悪意のある第三者が過去に傍受した正当なパケットを再送することで、システムの認証を突破したり、何らかの不正な操作を行おうとする攻撃である。AHは、シーケンス番号(Sequence Number)という一意の増加する番号を各パケットに付与する。受信側は、既に受信したシーケンス番号を記録しておき、過去の番号を持つパケットや、想定外の順番で送られてきたパケットを拒否することで、リプレイアタックを防ぐ。

AHヘッダの構造は、通常、次のヘッダ、ペイロード長、予約済みフィールド、セキュリティパラメータインデックス(SPI)、シーケンス番号、認証データ(MACが格納される部分)などで構成される。セキュリティパラメータインデックス(SPI)は、どのセキュリティアソシエーション(SA: Security Association)が適用されるかを識別するための値である。SAは、IPsec通信におけるセキュリティポリシーや暗号アルゴリズム、鍵情報などを定義する論理的なコネクションであり、SPIを用いることで適切なSAを選択し、正しくパケットを処理することができる。

AHの適用モードには、主に「トランスポートモード」と「トンネルモード」の二種類がある。 トランスポートモードは、主にホスト(エンドポイント)間でのセキュアな通信に用いられる。このモードでは、AHヘッダはオリジナルのIPパケットのIPヘッダとトランスポート層ヘッダ(TCPやUDPなど)の間に挿入される。認証・完全性保護の対象となるのは、トランスポート層ヘッダとそのペイロード、およびIPヘッダの一部(変化しないフィールド)である。

トンネルモードは、主にゲートウェイ間(例えば、VPNルーター間)でのセキュアな通信や、ホストとゲートウェイ間での通信に用いられる。このモードでは、オリジナルのIPパケット全体が、AHヘッダと新しいIPヘッダを持つ新しいIPパケットの「ペイロード」としてカプセル化される。AHヘッダは新しいIPヘッダとオリジナルIPパケットの間に挿入される。認証・完全性保護の対象となるのは、この新しいIPパケットのIPヘッダの一部と、オリジナルIPパケット全体である。これにより、オリジナルのIPアドレスやデータ内容を外部から隠蔽しつつ、安全な通信経路を確立できる。

近年では、AH単体での利用は減少傾向にある。その主な理由は、AHがデータの機密性(暗号化)を提供しない点にある。インターネット上での通信においては、盗聴から内容を保護する暗号化が求められるケースが非常に多いため、IPsecプロトコルスイートのもう一つの主要プロトコルであるESPが多用される傾向にある。ESPは、データの認証と完全性に加えて、データの機密性(暗号化)も提供することができるため、現代のセキュリティ要件により合致している。ESPもAHと同様に認証機能を提供するが、ESPの認証はAHと比較して、IPヘッダの一部が認証対象外となるなど、認証範囲に若干の違いがある。また、NAT(Network Address Translation)環境下での動作では、IPヘッダを厳密に認証するAHよりも、ペイロード全体を保護するESPの方が相性が良いとされることが多い。

しかし、AHは特定の用途、例えば、データの内容を暗号化する必要はないが、そのデータの出所と改ざんされていないことを厳格に保証したい場合に依然として有効である。例えば、公開情報を安全に配信する際や、特定の規制要件により暗号化が制限される環境下で、認証と完全性の保証のみが必要なケースなどが考えられる。このように、AHはIPsecの一部として、データの認証と完全性保証という重要な役割を担い、ネットワークセキュリティの基盤技術を支えている。

関連コンテンツ

関連ITニュース

関連プログラミング言語