6.1.9. リクエストのリレーとプロキシ (Relaying and Proxying Requests)
6.1.9. リクエストのリレーとプロキシ (Relaying and Proxying Requests)
リレーまたはプロキシエージェントは, 転送するすべてのリクエストに Route-Record AVP を付加しなければならない (MUST). その AVP にはリクエストを受信したピアの識別子を入れる.
リクエストの Hop-by-Hop Identifier は保存し, ローカルで一意の値に置き換える. リクエスト元 (IP アドレス, ポート, プロトコル) も保存する.
対応するレスポンス受信時にローカル状態が必要なら, リレーまたはプロキシはリクエストに Proxy-Info AVP を含めてよい (MAY). Proxy-Info は状態が他エンティティに分散されるためセキュリティ上の意味がある. したがって内容は HMAC-SHA1 [RFC2104] などの鍵付きメッセージダイジェストで保護することが推奨される (RECOMMENDED). 鍵管理は Diameter サーバ上でローカルのみだが, 鍵管理の完全な記述は本書の範囲外である. 一般的な推奨:
-
鍵は [RFC4086] に従い安全に生成する.
-
鍵と暗号保護アルゴリズムは少なくとも 128 ビットの強度とする.
-
鍵は Proxy-Info AVP の生成・検証以外に使わない.
-
鍵は定期的に変更する.
-
AVP 形式または暗号アルゴリズムが変わったら鍵を変更する.
その後, ルーティングテーブルで決まる次ホップへ転送する.
図 6 は本節の手順によるメッセージルーティングの例である.
(Origin-Host=nas.example.net) (Origin-Host=nas.example.net)
(Origin-Realm=example.net) (Origin-Realm=example.net)
(Destination-Realm=example.com) (Destination-Realm=example.com)
(Route-Record=nas.example.net)
+------+ ------> +------+ ------> +------+
| | (Request) | | (Request) | |
| NAS +-------------------+ DRL +-------------------+ HMS |
| | | | | |
+------+ <------ +------+ <------ +------+
example.net (Answer) example.net (Answer) example.com
(Origin-Host=hms.example.com) (Origin-Host=hms.example.com)
(Origin-Realm=example.com) (Origin-Realm=example.com)
図 6: Diameter メッセージのルーティング (Routing of Diameter messages)
リレーとプロキシは着信メッセージの完全検査を要しない. リレー時は少なくともヘッダと関連ルーティング AVP の検証が必要である. プロキシは関心のあるアプリケーションについてより深い検証をしてもよい.