MGCP /H.248 鑒權認證

來源:互聯網
上載者:User
MGCP /H.248 鑒權認證

MGCP /H.248 鑒權認證

鑒權概述和基本演算法

MGCP/H.248鑒權概述

MGCP協議沒有涉及安全認證的標準。對於網路應用終端客戶或電訊廠商來說都不安全的盜號隱患。


解決這問題,國標和各廠家有各自標準。目前看到的資料比較少,總體上是通過擴充協議,完成MG與MGC互動。簡單引入MD5演算法加密密碼,避免密碼明文暴露在網路中。更複雜的就引入DH協商共用KEY。通過研究總結如下:


H.248/MGCP鑒權基本原理演算法一:


H.248和MGCP鑒權基本原理相似,都是利用Diffie-Hellman協商一個公用的秘密,並以此作為相互之間信任的依據。


Diffie-Hellman金鑰交換是利用離散對數的特徵:一個大質數p,以及一個底數g。已知一個特定的值y,求指數x,如下所示:


y =gx mod p


其中,mod是"求餘"的意思。模指數很容易便可計算出來,但假若想通過一次離散對數運算恢複原來的指數,卻是異常艱難的。

H.248/MGCP鑒權基本原理演算法二:

軟交換MGC發給MG鑒權請求Authreq ,Authreq = MD5(內容未知)

MG 回複MGC Authoc,MD5(內容未知)


在軟交換端比較Authoc是否正確。

問題分析


1)Diffie-Hellman演算法的本身很簡單,實現比較複雜,因為大數運算溢出處理。所以要引入大數運算庫。


我參考了開源的演算法庫,用來移植。


參考資源:

http://math.libtomcrypt.org


2)MD5演算法資源較多我就不列。有需要的話,請留留言。


3)MGCP協議棧


需要擴充的訊號有三個


Auth/Authreq 請求訊號


Auth/Authoc  事件


Auth/dh


參數也有三個


X-EA


X-RANDOM


X-DH


X-AUTH

下面是我利用的資料希望對你有協助。

參考資料《中國電信MGCP 協議測試規範》

RSIP 65577*@mg.whaterver.netMGCP 1.0 NCS 1.0


RM: restart


X-EA:1


X-RANDOM:b1bdd81eb1bdd81eb1bdd81eb1bdd81e


X-DH: dc91ee 616ea 7ab4e82dc0e 42325baf3469d146270bd185b7e4bb0d 607fea


b 24de8975e0b1bcdd21e29b321802115b30ca 14effe768593b6fec6fff6fd7d788bf


X-AUTH: 38d972fedc 6594b



RQNT 268435562*@mg.whaterver.netMGCP 1.0


X: 15


R: auth/authoc


S: auth/dh(EBC 599282516167DE 0BDFDEB421BACA2470FF9FC 846BC4E 14E 3EC1


E86B 6DEFD1E449BE9017D 6B5BFF76EFCDD 758AA 8B29ACD 841746ED18CFD), auth/authreq


(D567D 15485E5E07020DED6BB, 1,0B95627084321AFCA422B 7718FE218)



解決方案(華為模式) 


現在資料:


---------------------------------------------------------------------------------------------------


Tx:


RSIP 925595073aaln/*@iad108.01.kdwl.nanchang.comMGCP 1.0


RM:restart


---------------------------------------------------------------------------------------------------


Rx:


200 925595073 OK


---------------------------------------------------------------------------------------------------


Rx:


RQNT 879300970aaln/1@iad108.01.kdwl.nanchang.comMGCP 1.0


X:1600000d


R:AUTH/authoc


S:AUTH/authreq( 4cc 8540762e36222b08ca4305)


---------------------------------------------------------------------------------------------------


Tx:


200 879300970 OK


---------------------------------------------------------------------------------------------------


Tx:


NTFY 2aaln/1@iad108.01.kdwl.nanchang.comMGCP 1.0


O:auth/authoc(2e7e4dfee0b66af 8ffd57ce7eaf63d)


X:1600000d


---------------------------------------------------------------------------------------------------


Rx:


200 2 OK



以下內容是我的猜想:

軟交換MGC發給MG鑒權請求Authreq ,Authreq = MD5(MGCKey+Rand())


MG 回複MGC Authoc, Authoc =MD5(Autheq+MgId+Ki)


在軟交換端比較Authoc是否正確。


處理流程:

解決方案2(參考《中國電信MGCP 協議測試規範》)


現有資料:


註冊請求(帶認證欄位)

MGC 響應MG 的註冊請求(帶認證欄位)流程解釋:


1) MG 向MGC 發RSIP 命令(帶萬用字元),啟動方式為restart;命令中還帶有四個用於


認證的"X-"欄位:用於數位簽章的數字串MGAUTH、演算法ID、隨機數Rand 和用於


DH 交換的A。


MG 事先產生一個隨機數Rand,同時MG 再產生一個用於DH 交換的私人數字a,計算


得到A=gamod(P)。通過計算得到MG 的數位簽章:


MGAUTH=MD5(Ki + MGID + A + Rand);


2) MGC 收到RSIP 命令後,首先計算MGRES= MD5(Ki + MGID + A + Rand)。


如果MGAUTH = MGRES,則對MG 的認證通過,否則拒絕。認證通過後,MGC 再產生


一個用於DH 交換的私人數字b,計算


B=gbmod(P) 得到共用的鑒權密鑰KEY-MGC= Abmod(P)=gabmod(P),並再產生


一個隨機數Rand,進而計算得到:


MGCAUTH=MD5(KEY-MGC + Ki + B + Rand)


3) MGC 下發檢測摘機RQNT 命令;同時MGC 把B 下傳給MG,同時下傳的還有


MGCAUTH、演算法ID 和隨機數Rand。 MG 得到B,MGCAUTH 後,首先計算得到共用的


鑒權密鑰 KEY-MG= Bamod(P)=gabmod(P), 進而計算得出 : MGCRES=MD5


(KEY-MG + Ki + B + Rand)


如果MGCAUTH = MGCRES,則說明是一個合法的MGC 發過來的資訊。


4) 發送對MGC 的回應訊息。


MGC 發起認證鑒權


1. MGC 向MG 發起定期鑒權;


2. MG 迴響應。


流程解釋:


1) MGC 定期向MG 發送RQNT 命令進行鑒權,命令中帶有MGC 產生的隨機數Rand


以及共用密鑰KEY-MGC 對其加密產生的結果,同時還帶有演算法ID。如採用MD5 加密,


則加密結果為MD5(KEY-MG + Rand);


2) MG 迴響應;


3) MG 用NTFY 中的[ObservedEvents]向MGC 回送鑒權應答,應答中帶有用共用密鑰


KEY-MG 加密的兩項:MGID 及隨機數Rand(為MGC 所帶的),同時命令中還帶有算


法ID。如採用MD5 加密,則加密結果為MD5(KEY-MG + MGID + Rand);


4) MGC 迴響應。



訊息樣本如下:


1.MGC 向MG 發起鑒權


RQNT 268435462*@DomainNameMGCP 1.0


X: 14


R: auth/authoc


S: auth/authreq(C45565B 3BCB419FA194232EF ,1,010B 29333D47515B 79838D97)


2.MG 回送命令響應


200 268435462 Ok


3.MG 向MGC 回送鑒權應答


NTFY 65578*@DomainNameMGCP 1.0


X: 14


O: auth/authoc(122daa 8b9155bb 0726aec15ba,1)


4.MGC 回送命令響應


200 65578 OK

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.