by

MVNOにもスマホにもフィットする次世代プロトコルDiameterを、先代RADIUSと比べてみた 3-2

Diameter最新情報

SUMMARY

  • Diameterは、柔軟に機能追加ができるモジュール構造になっており、拡張性がある
  • Diameterは、格納できるデータ量が多いため、デジタル証明書をサクサク送れる
  • Diameterは、双方向の通信機能があるため、ユーザの動的な管理ができる

 

 

MVNO、スマホ認証、そして大規模ITサービスといった時代のニーズにフィットする次世代認証プロトコルDiameter(ダイアメーター)の機能を、先代プロトコルRADIUS(ラディウス)と比較しながらご紹介します。

 

【Diameter vs RADIUS】4 ニーズに合わせた拡張性

 

ダイヤルアップ式のネットサービスで利用されることを想定して開発されたRADIUSには、いくつか問題点がありました。

-マルチドメインのサポート

-信頼性をもったメッセージ配信

-耐故障性

-拡張性

開発当時の概念やスペックを考えれば無理もないことですが、RADIUSは、ことに拡張性についての配慮が少ない設計でした。時代のニーズに合わせて新機能を追加したり、企業に合わせたカスタマイズをしたりする場合に問題が噴出するのです。

RADIUSの後継として生まれたDiameterは、上記の問題をクリアにしながら、とくに拡張性については、必要に応じて柔軟に機能追加ができるモジュール構造になっています。

Diameterでは、AAA(Authentication、Authorization、Accounting=認証、承認、課金)情報を配送するためのBase Protocol (=基本プロトコル)を土台に、具体的な機能については、基本プロトコルに追加されるアプリケーションとして定義しています。

なお、AAAサービスのなかでも、認証、承認のプロセスについては各アプリケーションに規定されていますが、課金についてのみ基本プロトコルに規定されています。

Diameterでは、次のような機能をアプリケーションとして組み込むことができます。

– EAP アプリケーション(ネットワークアクセス制御)

– SIP アプリケーション(SIPユーザ認証 権限委譲)

– ネットワーク・アクセス・サーバプリケーション

– モバイルIPv4用アプリケーション

– クレジット制御アプリケーション

– 拡張認証プロトコルアプリケーション

アプリケーションごとにプロトコルが存在し、新しい認証方式をサポートする場合、新たにアプリケーションごとのプロトコルを定義する仕組みです。

 

 

【Diameter vs RADIUS】5 AVPに格納できるデータ量

 

AVP (Attribute Value Pair=属性値ペア)とは、プロトコルがユーザ情報を送受信する際の情報の形式です。パケット内の情報を、Attribute (=属性)やValue(=値)などで記録します。

AVPに格納できるデータ量から両プロトコルを比較すると、RADIUSが最大253バイト、Diameterが最大16Mバイトとなります。

このデータ量の違いは、稼働時に、どのような機能の違いとなって現れてくるのでしょうか?

RADIUSのAVPは、属性番号、長さ、属性値で構成されています。属性番号、長さに割り当てられた領域は1オクテットであるため、属性番号は1~255までしか規定できません。さらに長さフィールドの制限から、属性値には253オクテット(253バイト)が格納の上限となります。253バイトは、英文字に換算すると253文字、日本語だと126文字に相当します。

一方、DiameterのAVPは属性番号、フラグ、長さ、ベンダー識別子、属性値で構成されています。長さを格納する領域には3オクテット割り当てられているので、属性値には最大約1670万オクテット(16Mバイト)まで格納することができます。

たとえば2キロバイト程度のデジタル証明書のやりとりでは、RADIUS(253バイト)では2キロバイトを1項目では運べないため、送信時に情報を細切れに分割し、受信時に、再度情報をつなぎあわせる必要がありますが、Diameter(16メガバイト)なら、1項目の情報をそのまま送受信することができます。Diameterには、デジタル証明書をサクっと送れる機能があるのです。

さらに通信時の暗号化も規定されています。これによって、最終目的地まで復号できないものと途中のホップで参照可能なものを組み合わせて送信することができます。

Diameter最新情報

Diameter最新情報

 

 

【Diameter vs RADIUS】6 通信の向き

 

RADIUSの通信の向きはクライアントからサーバへの単一方向のみであるのに対して、Diameterでは、クライアントからサーバだけでなく、サーバからクライアントへも双方向にリクエストを送る機能があります。

サーバ側から要求を送信できないRADIUSでは、承認の取り消しや割り当ての解除、利用者回線の切断を行うことができません。

その点、Diameterでは、利用者を特定して特定の回線に対する切断の要求や、特定の利用者の再認証、承認などのリクエストを送ることが可能となります。

このようなユーザの動的な管理は、双方向の通信が可能なDiameterならではの機能です。
 
 
Diameterの導入支援や移行支援については、こちらへ

Diameter についてもっと知りたい方は、こちらへ