3. パケット形式
RADIUS アカウンティングパケットの形式は、RADIUS 認証パケットの形式 [2] に基づくが、以下の相違がある。
- コード(Code)フィールドの値が異なる。
- 識別子(Identifier)フィールドの意味は同じである。
- 要求認証子(Request Authenticator)の計算方法が異なる。
- 以下の属性のみが使用される。User-Name、NAS-IP-Address、NAS-Identifier、NAS-Port、NAS-Port-Type、Service-Type、Framed-Protocol、Framed-Address、Framed-IP-Netmask、Framed-Routing、Filter-Id、Framed-MTU、Framed-Compression、Login-IP-Host、Login-Service、Login-Port、Reply-Message、Acct-Status-Type、Acct-Delay-Time、Acct-Input-Octets、Acct-Output-Octets、Acct-Session-Id、Acct-Authentic、Acct-Session-Time、Acct-Input-Packets、Acct-Output-Packets、Acct-Terminate-Cause、Acct-Multi-Session-Id、Acct-Link-Count、Acct-Interim-Interval、Acct-Tunnel-Connection、Event-Timestamp。それ以外の属性はすべて無視されなければならない。
RADIUS アカウンティングプロトコルのパケット形式は以下のとおりである。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Request Authenticator |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Attributes ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Code
1 オクテット。RADIUS パケットの種類を示す。RADIUS アカウンティングのコードでは以下の値が定義される。
4 アカウンティング要求 (Accounting-Request) 5 アカウンティング応答 (Accounting-Response)
3.1. 識別子
識別子フィールドは、アカウンティング要求とアカウンティング応答を対応付けるために使用される。特定のクライアントと RADIUS アカウンティングサーバー間では、同一の識別子を同時(要求が未解決の)に再利用してはならず、要求と対応する応答の間で識別子は保持されなければならない。再送信されるアカウンティング要求は、元の識別子を再利用しなければならない。
3.2. 長さ
長さフィールドは、RADIUS パケット(Code、Identifier、Length、Authenticator、Attributes の各フィールドを含む)のオクテット数を示す。オクテット文字列で Length を超えるバイトは無視されなければならない。Length が RADIUS パケットヘッダーの最小長(20 オクテット)より小さい場合、そのパケットは黙って廃棄されなければならない。
3.3. 要求認証子
アカウンティング要求パケットにおいて、Authenticator フィールドは 16 オクテットの乱数であり、要求認証子(Request Authenticator)と呼ばれる。この値は予測不可能であり、かつリプレイ攻撃を避けるために特定の NAS 上で照会を一意に識別できなければならない。要求認証子はいかなるデータの隠蔽にも使用されてはならず、再利用されてもならない。
要求認証子をいかなる暗号鍵のマスクとしても使用してはならない。要求認証子を用いてデータを隠蔽することは安全ではない。クライアントおよびプロキシは、攻撃者にとって予測不可能な(すなわち攻撃者が予測できるバイト列で構成されてはならない)明確なアルゴリズムを用いて要求認証子を生成しなければならない。
要求認証子は RFC 1750 [4] で説明された手順に従って生成されなければならない。
3.4. 属性
このセクションでは、RADIUS アカウンティングプロトコルで使用される属性を説明する。属性フィールドの形式は [2] のセクション 5 を参照。
属性タイプ 1-59 は RADIUS [2] で定義されたものと同じである。このメモで新しく導入された属性タイプは 40 から始まる。
値 40-49 はこのメモで定義される。値 50-59 はトンネル属性のために予約され、[5] で定義される。
このメモでは、以下の属性が特定の意味を持つ。
Acct-Status-Type (40) Acct-Delay-Time (41) Acct-Input-Octets (42) Acct-Output-Octets (43) Acct-Session-Id (44) Acct-Authentic (45) Acct-Session-Time (46) Acct-Input-Packets (47) Acct-Output-Packets (48) Acct-Terminate-Cause (49) Acct-Multi-Session-Id (50) Acct-Link-Count (51) Acct-Interim-Interval (85) Acct-Tunnel-Connection (68) Event-Timestamp (55)