MVNOにもスマホにもフィットする次世代プロトコルDiameterを、先代RADIUSと比べてみた 3-1
SUMMARY
- DiameterのトランスポートのプロトコルはSCTP/TCPに対応しており、処理能力が早い
- Diameterには、IPsec / TLS を使用した暗号化機能が装備されている
- Diameterがサーバやシステムに同時接続できる処理能力は、群を抜いている
MVNO、スマホ認証、そして大規模ITサービスといった時代のニーズにフィットする次世代認証プロトコルDiameter(ダイアメーター)の機能を、先代プロトコルRADIUS(ラディウス)と比較しながらご紹介します。
【Diameter vs RADIUS】1 トランスポートの対応プロトコルにおける処理能力と信頼性
トランスポートのプロトコルから両者を比較すると、RADIUSがUDPのみであるのに対して、DiameterはSCTPまたはTCPに対応しています。
そもそもネットワークにおけるトランスポートは、IPとコンピュータ内プログラムを仲介します。送信元コンピュータのプログラムが、あて先のコンピュータのプログラムと通信できるようにする働きで、処理能力と信頼性が問われます。
代表的なトランスポートのプロトコルには、RADIUSが採用するUDPとDiameterの採用しているTCPがあります。両者の機能は、どのように違うのでしょうか?
RADIUSが対応しているUDPの最大の特長は、スピードにあります。
パケットを目的のプログラムに届けることを再優先にして働くため、処理スピードが早く、複数送信でもコンピュータに負担をかけません。
ただしスピードを優先するあまり、転送途中でパケットの順序が入れ替わったり、パケットが抜けおちりした場合も、そのまま送信先のコンピュータに渡してしまう可能性があります。機密情報が飛び交う今日では、信頼性という点で疑問が残ります。
対してDiameterが対応するTCPプロトコルは、信頼性という機能を重視したプロトコルです。
TCPは仮想的な通信回線をつくり、そのなかでパケットのやりとりを管理することで、信頼性の高い通信を実現します。たとえ複雑な接続形態であってもプロトコルのレベルでパケットの破損や抜け落ちを制御することができます。
これによって、サーバやクライアントのアプリケーションが作りやすくなります。
【Diameter vs RADIUS】2 トランスポートのセキュリティにおける暗号化機能
トランスポートのセキュリティを比較すると、RADIUSには接続先相手に対する規定はあるものの、暗号化機能がないのに対して、DiameterにはIPsec(必須)または TLS(オプション)を使用した暗号化機能が装備されています。ホップ・バイ・ホップ方式のセキュリティを提供することができます。
Diameterに必須で実装されているIPsec(Internet Protocol Security)とは、ネットワーク上での通信を暗号化サービスで保護するフレームワークです。ネットワーク レベルでの認証やデータ送信元の認証、また、データの整合性と機密性をサポートします。
オプションのTLS(Transport Layer Security)とは、インターネット上で情報を暗号化して送受信するプロトコルです。wwwやFTPなどのデータを暗号化し、クレジットカード番号、企業内部情報などの機密情報を安全に送受信します。また、公開鍵暗号や秘密鍵暗号、デジタル証明書、ハッシュ関数などのセキュリティ技術を組み合わせることで、データの盗聴や改ざん、なりすましを防ぐこともできます。
なぜ、トランスポートのセキュリティで、ここまでの機能が求められるようになったのでしょうか?
RADIUSが主流だった時代には、通信する相手が限られていました。通信業者とサーバ間の接続認証という閉じられた世界のなかで使われている分には、暗号化機能を持たないRADIUSでも問題はなかったのです。
近年、爆発的な端末の増加によって多くの企業や組織が連携して動くようになったことで、認証サーバのデータという機密情報が、ネットワーク上を飛び交うようになりました。
会社間、組織間などファイアーウォールを超えた連携が必要な現代だからこそ、暗号化機能を搭載したDiameterが求められるようになってきたのです。
【Diameter vs RADIUS】3 同時接続時の処理能力
同時接続とは、同時にサーバやシステムに接続できる処理能力を意味します。サーバは、リクエストを受けて処理をして応答を返します。その作業を行っている間に、さらに、別のリクエストが来て処理を実行します。同時接続数とは、この処理から応答の一連のタクスを、同時に何件こなせるかという数であり、「限界同時接続数」と呼ばれることもあります。つまりプロトコルの処理能力という機能を図る指標といえます。
この接続数、RADIUSの256に対して、Diameterでは理論上、40億以上の接続が可能となっています。この圧倒的な数値の違いは、Diameterの拡張性から来るものです。