株式会社ジオデータ開発 ロゴ
株式会社ジオデータ開発GEO DATA DEVELOPMENT Inc.
IDENTITY & NETWORK SECURITY
AAARADIUS802.1XEAPWi-Fi

AAAとは?認証・認可・記録をWi-FiとRADIUSの通信から徹底図解

会社のWi-Fiに接続するとき、システムにログインするとき、操作履歴が残るとき。背後で動く「本人確認」「権限の判定」「利用の記録」を、機器間の通信とパケットの中身まで追いながら理解します。

1. AAAは「利用させてよいか」を3つの観点で管理する考え方

AAA(トリプルエー)は、Authentication(認証)・Authorization(認可)・Accounting(利用の記録・利用量の計測)の頭文字です。「ログイン」という一つの出来事にも、異なる判断が含まれています。

Authentication / 認証

あなたは誰なのか。本当にその利用者か。例:パスワードや証明書を検証する。

Authorization / 認可

その利用者に何を許すか。例:社内LANへの接続は許可するが、管理者用ネットワークは許さない。

Accounting / 記録・計測

誰がいつ接続し、どれだけ利用したか。例:接続開始・終了時刻、セッションID、通信量を残す。

オフィスの入館に置き換えると

① 社員証を確認

本人か?=認証

② 入室可能な部屋を判定

何を許す?=認可

③ 入退室を記録

いつ利用した?=Accounting

2. RADIUSとは? AAAをネットワークで実装する代表的なプロトコル

AAAは役割を分類する考え方です。一方、RADIUS(Remote Authentication Dial-In User Service)は、そのうち認証・認可・利用記録の情報を、ネットワーク機器とサーバーの間でやり取りする通信プロトコルです。Wi-Fiアクセスポイント(AP)、VPN装置、ネットワークスイッチなどから利用されます。

同じ単語に見えても役割は違う

AAA

何を管理するかという設計モデル

RADIUS

その判断をサーバーに問い合わせる通信規則

AP / VPN装置

結果を受けて実際にアクセスを制御する機器

Wi-FiルーターとRADIUSサーバーは同じもの?

家庭のWi-Fiでは、ルーターに設定された共通パスワードで接続する方式も多く、外部のRADIUSサーバーを必ず使うわけではありません。一方、企業向けの802.1X / WPA-Enterprise構成では、アクセスポイントがRADIUSサーバーと連携し、利用者ごとの認証情報を確認できます。

家庭向けWi-Fiの例

家族が同じWi-Fiパスワードを使う方式。これはRADIUSを必須としない。家庭用ルーターがAP・ルーター・DHCPなどを兼ねることも多い。

企業向けWi-Fiの例

利用者ごとのID・証明書などで認証する方式。APが認証通信を仲介し、RADIUSサーバーで検証する構成が一般的。

3. 先に理解したいネットワーク用語とレイヤ

通信図を読む前に、Wi-Fi、IP、UDP、RADIUSがどのレイヤで何を担当するかを整理します。レイヤは役割の分類であり、実際の通信データは各階層のヘッダが付いた形で運ばれます。

階層の見方主な技術何をしているか
アプリケーション層RADIUS、EAP認証・認可などのメッセージを定める
トランスポート層UDP、TCPポート番号などにより通信先のプログラムを識別する
ネットワーク層IPv4、IPv6送信元・宛先IPアドレスでネットワーク間を転送する
データリンク層802.11(Wi-Fi)、Ethernet、EAPOL近くの機器とのフレーム伝送や、認証用EAPメッセージの運搬

EAPは認証方式を運ぶフレームワークです。EAPOLはEAPをLAN・無線LAN上で運ぶ仕組みであり、EAPそれ自体を「常にIP上のアプリケーション通信」と考えないことが重要です。

AP(アクセスポイント)

スマートフォンやPCが無線で接続する設備。企業向け構成では802.1X認証の中継と通信の許可・制限を行う。

NAS / Authenticator

Network Access Server。RADIUSサーバーへ問い合わせる側の装置。Wi-FiならAP、VPNならVPN装置など。

SSID

Wi-Fiネットワークを識別する名前。表示された名前が同じでも、セキュリティ方式や接続先が異なる場合がある。

UDP

接続確立のハンドシェイクをせず、データグラムを送るトランスポート層の方式。従来のRADIUSでは主にUDP/1812・1813を使う。

TCP

接続確立、再送、順序制御などを提供するトランスポート層方式。TLSで保護するRADIUSなどで使用される。

TLS

通信相手の認証や暗号化に使うセキュリティプロトコル。RADIUSをTLSで運ぶ方式では、従来のUDPと構造が変わる。

ポート番号

同じIPアドレス上のどの通信サービスに届けるかを示す番号。RADIUS認証用1812、Accounting用1813が一般的。

MAC・IPアドレス

MACは主に同一リンクでフレームを届けるための識別子。IPはネットワークを越えた宛先を扱うアドレス。RADIUSサーバーへの転送にはIPが使われる。

実際にどう包まれて送られるのか

AP → RADIUSサーバーの典型的なカプセル化(従来のRADIUS/UDP)
リンク層
Ethernet等
IP
ヘッダ
UDP
ヘッダ
RADIUSヘッダ + 属性
EAP-Message など

Wi-Fi端末とAPの間は802.11/EAPOL、APとRADIUSサーバーの間はIP/UDP/RADIUSというように、区間によって運搬方法が違います。

4. 操作ラボ:スマートフォン・AP・RADIUSの間で何が流れる?

次のラボでは、ノードと矢印を表示したまま、接続開始から認証、接続許可、Accountingまで段階ごとに確認できます。拒否される場合との違いも切り替えてみてください。

INTERACTIVE PACKET LAB

RADIUSによるWi-Fi認証の通信を追跡

ノード間の矢印・プロトコル・メッセージを段階ごとに切り替えます。通信のシミュレーションであり、実パケットは送信しません。

利用者の状態
オフィス/無線LAN認証サーバー側スマートフォンEAPを利用端末Wi-Fi AP中継・接続制御NAS / APRADIUSポリシー判定AAA Server802.11 / 802.1X無線リンク上のやり取り
STEP 1 / 7成功する経路

① Wi-Fiへ接続を開始

端末は企業向けWi-Fiへ接続を試みます。まだ通常の業務通信を許可していません。

この時点のメッセージ(読みやすくした模式例)

接続開始。認証が終わるまで通常の通信は制限
公式仕様を開く ↗RFC 3580 — IEEE 802.1XとRADIUS無線LANを含む802.1X認証でRADIUSをどう組み合わせるかを説明した資料。公式仕様を開く ↗RFC 3579 — RADIUSによるEAPの運搬EAP-Message属性やMessage-Authenticatorを含む、EAPとRADIUSの接点を確認できます。

5. RADIUSのパケットをバイト単位で読む

RADIUSメッセージには固定部分の20バイトのヘッダと、可変長の属性(Attributes)が含まれます。固定部分はCode 1バイト・Identifier 1バイト・Length 2バイト・Authenticator 16バイトです。

RADIUSパケットの構造(RFC 2865)
Code
1B
Identifier
1B
Length
2B
Authenticator
16B
Attributes(可変長)
Type / Length / Value の集合

図は長さの比率ではなくフィールド構成を示しています。属性の合計量でパケット全体の長さが変わります。

Codeメッセージ意味
1Access-Request利用を要求
2Access-Accept認証・認可の結果として許可
3Access-Reject拒否
11Access-Challenge追加の認証を要求
4Accounting-Request利用情報を報告
5Accounting-Response報告を受領

パケットの中の属性(Attribute)は何か

属性は「種類(Type)・長さ(Length)・値(Value)」の単位で格納されます。たとえば `User-Name` は利用者名、`NAS-Identifier` はアクセス装置の識別子、`EAP-Message` はEAP情報、`Acct-Status-Type` は記録の種類を表します。

# Wiresharkの表示をイメージした学習用の要約(生バイト列ではない)
Internet Protocol Version 4
  Source: 192.0.2.10              # APの管理側アドレス(例)
  Destination: 192.0.2.20         # RADIUSサーバー(例)
User Datagram Protocol
  Source Port: 49152              # 例示用の送信元ポート
  Destination Port: 1812          # 認証・認可
RADIUS
  Code: Access-Request (1)
  Identifier: 7
  Attributes:
    User-Name: "example-user"
    NAS-Identifier: "office-ap-01"
    EAP-Message: <EAPデータ>
    Message-Authenticator: <検証値>

上の値は説明用です。実際のEAP方式や装置によって属性は異なります。また、RADIUSにユーザー名が見える例があることと、認証情報が安全に暗号化されていることは別問題です。従来のRADIUS/UDPだけで通信路全体を暗号化できると考えてはいけません。

公式仕様を開く ↗RFC 2865 — RADIUSメッセージ形式Code・Identifier・Length・Authenticator・Attributesのフィールドと、Access-Requestなどの定義を掲載しています。

6. Accountingは「ログを残す」だけ? Start・Stop・途中経過を具体例で理解

Accountingは、利用状況を後から確認・集計できるようにする仕組みです。接続開始のStart、接続終了のStop、構成に応じた途中のInterim-Updateといった情報が利用されます。

一つのWi-Fi利用セッションを時系列で記録

Start

09:00 接続開始。セッションIDを記録

Interim-Update

09:30 通信量などを途中報告

Stop

10:00 接続終了・総通信量を報告

# Accountingデータの概念例(実際の属性を読みやすく抜粋)
Code = 4  # Accounting-Request
Acct-Status-Type = Stop
Acct-Session-Id = "session-001"
Acct-Session-Time = 3600         # 接続時間(秒)
Acct-Input-Octets = 12000000     # 入力バイト数
Acct-Output-Octets = 3000000     # 出力バイト数

# 受信側が正常に処理した場合
Code = 5  # Accounting-Response

`Octets` はバイトを数える単位、`Session` は一つの接続・利用期間です。どちら向きの通信をInput/Outputと数えるかはNASから見た方向です。Accountingには欠落・重複対策や保存期間、個人情報保護も必要です。

公式仕様を開く ↗RFC 2866 — RADIUS AccountingAccounting-Request/Responseと、Start・Stopなどを示すAcct-Status-Type属性の定義を確認できます。

7. AAA・RADIUSと混同しやすい技術も図で理解

TACACS+:管理者がネットワーク装置を操作する場合

TACACS+(タカックスプラス)は、ネットワーク装置の管理者ログインやコマンド単位の許可などで使われるAAAプロトコルです。RADIUSと同じAAAの分野ですが、同一のプロトコルではありません。

TACACS+を使う管理操作の概念

管理者

ルーターの管理画面にログイン

TACACS+サーバー

本人確認と操作権限を判定

ネットワーク機器

設定変更コマンドを許可・拒否

Diameter:RADIUSに関連する別のAAAプロトコル

Diameter(ダイアメーター)はRADIUSの課題を踏まえて設計されたAAAプロトコルです。通信方式にはTCPやSCTPなどの信頼性のある転送機構を用い、メッセージ中にはAVP(Attribute-Value Pair)を使用します。特に通信事業者のネットワークなどで重要な位置を占めます。

Diameterでの通信の概念

Diameterクライアント

サービス利用情報を問い合わせる

TCP / SCTPなど

信頼性のある転送機構と接続保護

Diameterサーバー

AAA要求を処理する

LDAP・Active Directory:利用者情報の保存・参照先

LDAPはディレクトリ情報を検索・更新するためのプロトコルです。Active DirectoryはMicrosoftのディレクトリサービスです。RADIUSサーバーが利用者の確認のためにこれらを参照することはありますが、LDAPそのものをRADIUSやAAAと同一視してはいけません。

RADIUSと利用者ディレクトリの連携例

AP

RADIUSへ認証を依頼

RADIUSサーバー

認証処理・ポリシー判定

ディレクトリ

アカウント情報などを保持

技術主な役割ポイント
AAA認証・認可・記録という分類特定のパケット形式ではない
RADIUSネットワークアクセスのAAA伝統的にUDP 1812/1813
TACACS+機器管理などのAAA管理操作の認可など
Diameter別のAAAプロトコルTCP/SCTP・AVP
LDAPディレクトリの参照・操作アカウント情報の参照先になり得る
公式仕様を開く ↗RFC 6733 — Diameter Base ProtocolDiameterの通信、AVP、TCP/SCTPなどの仕組みを一次資料で確認できます。

8. RADIUSのセキュリティ:UDPの通信をそのまま信用してよいか

伝統的なRADIUSでは、APとRADIUSサーバーが共有する秘密情報(shared secret)を使い、パケットの検証や一部情報の隠蔽を行います。しかし、これだけで通信内容の全体が暗号化されるわけではありません。ネットワーク設計では、盗聴・改ざん・なりすましへの対策が必要です。

通信路まで保護する場合の考え方

AP / NAS

AAAの要求を生成

TLSによる保護

通信相手を検証し、転送経路を保護

RADIUSサーバー

要求を処理して返答

RADIUS over TLS(RadSec)の標準的なポートはTCP 2083です。さらに2025年のRFC 9765では、TLS等の保護された転送上で利用するRADIUS/1.1が実験的仕様として定義され、従来のMD5依存を取り除く方向が示されています。RADIUS/1.1の規定が、そのまま従来のRADIUS/UDPを変更するわけではありません。

公式仕様を開く ↗RFC 6614 — RADIUS over TLSTCP上のTLSでRADIUSを保護する方式と、TCP 2083を確認できます。公式仕様を開く ↗RFC 9765 — RADIUS/1.1(Experimental)TLS/DTLS上でネゴシエートする新しいRADIUSプロファイルの仕様です。

9. まとめ:認証・認可・記録を通信図から思い出す

AAAは「誰か」「何ができるか」「何を利用したか」の三つを分ける設計です。RADIUSはAPなどのアクセス機器からサーバーへその判断を問い合わせ、認証・認可・Accounting情報をやり取りする代表的なプロトコルです。

認証: 利用者本人であることを確認する

認可: 使えるサービス・ネットワークを決める

Accounting: 利用開始・終了・通信量などを記録する

RADIUS: AP ↔ サーバー間のAAAメッセージを運ぶ

802.1X / EAP: 端末のネットワーク認証を制御・実現する

ラボでもう一度「RADIUSを送っているのはスマートフォンではなくAPであること」「認証に成功しても接続条件の判定があること」「Accountingは認証とは異なるメッセージであること」を確認してみてください。

技術仕様・参考資料