《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 一種基于改進的HTTP摘要認證的SIP安全機制
一種基于改進的HTTP摘要認證的SIP安全機制
來源:微型機與應用2011年第6期
彭煥峰
(南京工程學院 計算機工程學院,江蘇 南京211167)
摘要: SIP協議是當前IP電話中的主流協議,HTTP摘要認證機制被很多SIP系統作為安全機制,但存在客戶端不能認證服務器端,且不支持密鑰協商的缺陷。為解決這一不足,提出了一種基于改進的HTTP摘要認證的SIP安全機制,使得SIP安全解決方案更加完善,部署更加靈活。
Abstract:
Key words :

摘  要: SIP協議是當前IP電話中的主流協議,HTTP摘要認證機制被很多SIP系統作為安全機制,但存在客戶端不能認證服務器端,且不支持密鑰協商的缺陷。為解決這一不足,提出了一種基于改進的HTTP摘要認證的SIP安全機制,使得SIP安全解決方案更加完善,部署更加靈活。
關鍵詞: SIP;HTTP摘要認證;安全機制

SIP協議即會話發起協議[1],是NGN網絡和3G網絡的核心協議,目前在電信網絡中有著廣泛的應用。由于SIP協議的消息以文本方式編碼,容易閱讀解析,并且SIP消息在開放式的IP網絡中傳輸,SIP消息容易被攻擊者模仿、纂改,然后加以非法利用,最終導致賬號被盜用、業務失敗或被干擾。目前很多SIP系統采用基于HTTP摘要認證機制作為系統的安全解決方案[2-3],但該機制有兩個主要的缺陷,即不能滿足客戶端認證服務器端,也不具有密鑰協商機制。為能夠對SIP消息中的頭域進行端到端的加密,本文提出了一種改進的HTTP摘要認證機制,解決了基于HTTP摘要認證的SIP安全機制的缺陷。
1 基于HTTP摘要認證的SIP安全機制
    HTTP摘要認證機制解決了基本認證機制密碼明文傳輸的問題,但同樣基于用戶名密碼體系,并沒有建立初始用戶名密碼體系的機制[4],SIP系統可以基于HTTP摘要認證建立自己的安全機制。
1.1 認證流程
    在基于HTTP摘要認證的SIP安全機制中,摘要認證的架構與HTTP摘要認證的架構非常相似,特別是認證模式、認證參數、挑戰、域、域值和憑證的BNF都是一樣的。兩者都是基于挑戰-響應模式。如果客戶端(UAC)發起的請求沒有包含認證信息,則服務器(UAS或者Proxy)會向客戶端發起挑戰,挑戰信息包含在401/407響應中,客戶端收到挑戰后,用ACK請求確認挑戰,然后重新構建包含認證信息的請求,服務器認證成功后,則接受此請求。SIP認證對特定域有意義,每個保護域都有自己的用戶名和密碼,服務器在其挑戰中應該包含域信息,提示客戶端提供此域的用戶名和密碼信息。
1.2 存在的缺陷
    摘要認證是基于預分配用戶名密碼的一種認證機制,主要目的是替代基本認證,避免密碼在網絡中明文傳輸。摘要認證機制可以解決注冊劫持、請求欺騙、重放攻擊、篡改消息等安全問題,同時還能提供一定的完整性保護[5]。
    摘要認證的缺陷主要有:(1)沒有提出完備的雙方認證機制,即UAC不能對PROXY和UAS進行認證,容易遭受偽裝服務器攻擊;(2)沒有密鑰協商機制,不能協商私密密鑰,然后對SIP指定頭域進行加密,避免信息泄漏。
2 基于改進的HTTP摘要認證的SIP安全機制
    針對摘要認證機制的兩點主要缺陷,經過對摘要認證機制的深入研究和實踐總結,論文提出了一種基于改進的HTTP摘要認證的SIP安全機制。
2.1 改進后的認證流程
    呼叫建立的效率與信令的數量有關,在SIP協議上應用認證方案時,不能過多地引入信令流程,從而較大程度地影響呼叫效率。因此改進的認證方案充分利用原有的認證信令流程,擴充了4個SIP頭域:UAC-Authenticate、UAC-Authorization、Encryption-Info、Encrypted-Header,實現了客戶端與服務器的雙向認證和加密密鑰協商機制,而無需擴充新的信令流程。以INVITE請求為例,改進后的認證流程如圖1所示。

    由圖1可以看出,改進的摘要認證機制并沒有更改原有的信令流程,而是通過擴充SIP頭域來解決摘要認證機制存在的主要缺陷。
    UAC認證UAS/PROXY的流程為:
    (1)UAC向服務器發起請求,若需要認證服務器,則在請求的UAC-Authenticate頭域中包含挑戰參數,向服務器發起挑戰;
    (2)服務器在收到含有挑戰信息的請求后,如果是針對自己的挑戰,則獲取UAC的帳號密碼,連同挑戰參數,生成憑證,并在401/407響應的UAC-Authorization頭域中包含此憑證;
    (3)UAC在收到401/407響應后,驗證響應中包含的憑證,如果有效則證明服務器知道自己的用戶名和密碼,可以進行后續處理。
    密鑰協商流程為:
    (1)服務器收到客戶端的請求后,若配置了密鑰協商策略,則在401/407響應的Encryption-Info頭域中提供自己的公鑰加密算法、公鑰、支持的對稱加密算法等信息;
    (2)UAC收到包含Encryption-Info頭域的401/407響應時,根據自己的安全策略,若支持改進的摘要認證機制,則通過ACK請求返回自己的對稱加密密鑰(用服務器提供的公鑰加密)和選擇的加密算法;
    (3)在上述兩步中雙方建立了加密上下文,UAC在再次發起的請求中可以對某些頭域進行加密。
    值得說明的是,一般SIP系統中服務器作為操作的主導,因此改進的認證機制在加密協商時,只能由服務器主動發起協商,同時為了能夠協商加密密鑰,服務器需要有公鑰加密機制。
2.2 客戶端和服務器端操作規范
    類似IETF的RFC3261[1]文檔,對于改進的摘要認證機制需要給出客戶端和服務器端的操作規范,在此以INVITE請求為例,對客戶端和服務器端的操作規范進行描述。
      客戶端操作規范:
      (1)根據安全策略配置,如果需要對服務器端進行認證,則在發送的INVITE消息中攜帶UAC-Authenticate頭域,包含要認證的服務器端的URL(包含在digest-uri參數中)、username、qop、nonce等參數。
      (2)在接收到服務器端返回的401/407(UAS返回401,Proxy返回407)響應后:
      ①如果響應包含UAC-Authorization頭域,則計算憑證,如果與服務器端返回的憑證相同,則表明服務器端知道UAC的密碼,這樣就完成了對服務器端的認證。如果驗證不通過,則發送ACK對401/407響應進行確認后,UAC不再發起新的請求;
    ②如果響應包含WWW-Authenticate/Proxy-Authenticate頭域,則表明服務器端要求認證UAC,緩存挑戰參數以在重新發起的請求中計算憑證;
    ③如果響應包含Encryption-Info頭域,則表明服務器端發起加密協商請求,該頭域中包含服務器端的公鑰及其支持的加密算法等信息。
    (3)UAC對401/407響應發送ACK進行確認,如果401/407響應中包含Encryption-Info頭域,且UAC也配置為支持加密協商,則ACK請求中應包含Encryption-Info頭域,告知UAC隨機生成的加密私鑰(經過服務器端的公鑰加密)和采用的加密算法。
    (4)UAC重新發起請求,如果服務器端要求認證UAC,則在新的請求中包含Authorization或者Proxy-Authorization頭域,向服務器提供憑證。如果之前成功地進行了密鑰協商,則對需要加密的頭域可以用私密密鑰進行加密。
    服務器端操作規范:
    (1)若客戶端需要驗證服務器端,則服務器端在收到的第一個INVITE請求中包含UAC-Authenticate頭域,提供digest-uri、username、nonce、qop等挑戰參數;
    (2)根據認證策略的配置,服務器端在收到請求時做如下處理:
    ①如果請求包含UAC-Authenticate頭域,且頭域中的digest-uri參數的指示是自身,表明UAC要認證自己,所以要計算憑證,返回401/407響應(憑證包含在UAC-Authorization頭域中);
    ②如果請求中沒有包含UAC-Authenticate頭域,則表明UAC并不想認證自己,如果服務器端不需要認證UAC,繼續處理INVITE請求;
    ③如果服務器端需要認證UAC,則返回401/407響應,并在響應中包含WWW-Authenticate/Proxy-Authenticate頭域,提供挑戰信息;
    ④如果服務器端配置了加密協商策略,則在收到UAC的請求后,返回401/407響應,在Encryption-Info頭域中包含自己的公鑰加密算法、公鑰和支持的加密算法,向UAC提起加密協商挑戰。
    若客戶端與服務器端要求相互認證,且服務器端配置了加密協商策略,則在對客戶端請求的401/407響應中就會同時包含UAC-Authorization、Encryption-Info、WWW-Authenticate/Proxy-Authenticate頭域。
    (3)接收到UAC對401/407響應的ACK確認消息后:
    ①如果ACK消息中包含Encryption-Info頭域,則表明UAC支持加密協商,其中Encryption-Info頭域中包含UAC給定的加密私鑰(用服務器端的公鑰加密)、加密算法等信息。服務器端應該緩存Encryption-Info頭域的內容,以用來處理后續的請求;
    ②如果ACK消息中沒有包含Encryption-Info頭域,則表明UAC不支持加密協商。
    (4)經過密鑰協商后,則后續消息的部分頭域在整個會話期間可能做了加密處理,服務器端應該先對加密的頭域進行解密,然后驗證UAC提供的憑證。
2.3 擴展頭域規范
    改進的摘要認證機制對SIP協議進行了擴展,新增UAC-Authenticate、UAC-Authorization、Encryption-Info、Enc-
rypted-Header四個頭域。
    其中UAC-Authenticate頭域的規范類似于WWW-Authenticate,而UAC-Authorization頭域規范類似于WWW-Authorization,僅有部分區別。
    Encryption-Info頭域攜帶了密鑰協商信息,服務器在401/407響應中用此頭域告知客戶端服務器側使用的公鑰加密算法、加密公鑰,支持的對稱加密算法;客戶端在對401/407響應的ACK請求中用此頭域告知服務器使用的對稱加密的私鑰以及選擇的加密算法。該頭域規范如下:
    Encryption-Info="Encryption-Info"":" Encrypt-Info
    Encrypt-Info=1#(public-key| public-encrypt-algorithm|
encrypt-private-key | algorithm | [encrypt-param])
    public-key="public-key " "= " key-value
    key-value?= quoted-string
    public-encrypt-algorithm=" public-encrypt-algorithm "
"=" key-value
    encrypt-private-key="encrypt-private-key " "=" key-value
    algorithm="algorithm" "=" <"> 1# algorithm-value <">
    algorithm-value="DES" | "DEA" | token
    public-key參數由服務器端指定,告知客戶端自己的公鑰。
    public-encrypt-algorithm參數由服務器給出,指定了服務器使用的公鑰加密算法。
    encrypt-private-key參數給出客戶端指定的對稱加密私鑰,用public-key參數中指定的公鑰加密后傳給服務器端。
    algorithm參數列出了服務器端支持的對稱加密算法;客戶端發送至服務器端的ACK消息中此參數應為客戶端選定的加密算法,且此算法應包含在服務器端支持的加密算法列表中。
    Encrypted-Header頭域表示加密后的頭域,其BNF范式如下:
    Encrypted-Header="Encrypted-Header"":" Encrypt-Value
    Encrypt-Value=quoted-string
    例如對頭域From:B<SIP:B@Nanjing.com>進行加密,假設加密后該頭域成為:Encrypted-Header:8f831abf39815iodhe83d20acA2B,當對端收到有加密頭域的SIP消息時,首先對Encrypted-Header頭域進行解密處理,還原出原有頭域,然后進行后續處理。
    針對基于HTTP摘要認證的SIP安全機制不能實現客戶端主動認證服務器端、可能受到偽裝服務器的安全威脅,同時不能在客戶端和服務器端進行密鑰協商來對部分頭域進行必要的加密處理,本文提出了一種改進的HTTP摘要認證機制,基于此機制的SIP安全方案不但能夠增加SIP系統的安全保護強度,而且可以針對不同的安全級別靈活部署。
參考文獻
[1] ROSENBERG J,SCHULZRINNE H,CAMARILLO G,et al. SIP:session initiation protocol,IETF RFC3261[S].August 2002.
[2] 婁穎.SIP協議安全機制研究[J].廣東通信技術,2005,24(4):5-8.
[3] 麋正琨.軟交換組網與業務[M].北京:人民郵電出版社,2005:473-510.
[4] FRANKS J,BAKER P H,HOSTETLER J,et al.HTTP  authentication:basic and digest access authentication,IETF RFC2617[S].June 1999.
[5] QIU Q.Study of digest authentication for session initiation  protocol(SIP)[D].University of Ottawa,December 2003.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
有坂深雪在线一区| 久久激情综合| 在线精品高清中文字幕| 国产精品人人爽人人做我的可爱 | 久久精品一区二区三区四区| 午夜免费日韩视频| 亚洲在线观看免费视频| 亚洲一区日本| 亚洲欧美日韩天堂一区二区| 亚洲性xxxx| 亚洲一区二区三区777| 一区二区三区国产精华| 亚洲视频一区在线| 亚洲专区一区二区三区| 亚洲欧美资源在线| 性欧美长视频| 亚洲欧美视频在线| 欧美一区中文字幕| 久久久国产午夜精品| 久久久亚洲成人| 久久综合色播五月| 牛牛国产精品| 欧美日本韩国一区| 欧美午夜一区二区三区免费大片| 欧美日韩在线播放三区| 国产精品蜜臀在线观看| 国产日产欧美一区| 黑丝一区二区三区| 亚洲国产欧美日韩另类综合| 亚洲精品久久在线| 在线亚洲一区观看| 午夜精品婷婷| 亚洲国产欧美日韩| 一区二区三区四区在线| 午夜精彩国产免费不卡不顿大片| 欧美一区亚洲| 你懂的国产精品| 欧美少妇一区二区| 国产区精品视频| 亚洲电影免费在线观看| 99亚洲一区二区| 欧美一二区视频| 亚洲第一精品福利| 亚洲美女免费视频| 亚洲欧美在线x视频| 久久综合久久久| 欧美午夜欧美| 黄色亚洲免费| 妖精视频成人观看www| 欧美一区二区在线播放| 亚洲精品国精品久久99热| 亚洲欧美精品| 久久永久免费| 国产精品av免费在线观看| 国内一区二区三区| 日韩一二在线观看| 欧美怡红院视频| 洋洋av久久久久久久一区| 欧美一区二区三区婷婷月色| 欧美国产精品v| 国产免费观看久久黄| 亚洲激情图片小说视频| 午夜亚洲激情| 99精品欧美一区二区蜜桃免费| 欧美一级视频精品观看| 欧美国产一区二区| 国产亚洲精久久久久久| 日韩视频免费观看高清在线视频| 性做久久久久久| 夜夜爽av福利精品导航| 久久久久久久综合| 欧美系列一区| 亚洲国产美女| 欧美影视一区| 午夜精品福利一区二区蜜股av| 免费一区视频| 国产欧美一区二区精品忘忧草| 亚洲精品欧美一区二区三区| 久久av一区二区| 中日韩男男gay无套| 久热成人在线视频| 国产精品网站在线观看| 亚洲每日更新| 亚洲日本精品国产第一区| 久久精品国产69国产精品亚洲| 欧美日韩综合视频| 亚洲国产精品免费| 欧美在线一二三区| 午夜在线电影亚洲一区| 欧美日韩成人在线| 亚洲国产高清自拍| 欧美一级片在线播放| 亚洲一区二区视频在线| 欧美激情视频免费观看| 精品88久久久久88久久久| 亚洲欧美日韩在线一区| 亚洲综合国产| 欧美日韩另类字幕中文| 亚洲国产精品第一区二区| 久久精品99国产精品| 欧美一区观看| 国产精品亚洲综合天堂夜夜| 99视频精品| 一区二区三区av| 欧美精品在线观看91| 在线观看中文字幕不卡| 久久精品人人做人人综合| 久久国产一区二区| 国产欧美日韩综合一区在线播放| 一区二区三区日韩精品| 一区二区三区高清在线| 欧美区亚洲区| 亚洲精品一区久久久久久| 亚洲免费成人| 欧美精品九九| 亚洲理论在线| 亚洲天堂av在线免费| 欧美午夜不卡视频| 一本久道久久综合中文字幕| 夜夜嗨av一区二区三区| 欧美日韩精品一区| 亚洲美女毛片| 亚洲午夜激情网站| 国产精品va在线| 亚洲午夜国产成人av电影男同| 亚洲一区中文字幕在线观看| 欧美日韩精品欧美日韩精品| 一区二区三区 在线观看视| 亚洲视频 欧洲视频| 欧美日韩午夜剧场| 宅男精品导航| 欧美在线观看视频在线| 国产一区自拍视频| 91久久精品一区二区三区| 欧美成人国产va精品日本一级| 亚洲国产经典视频| 艳女tv在线观看国产一区| 国产精品成人播放| 亚洲欧美日韩一区在线观看| 久久精品亚洲精品国产欧美kt∨| 国模叶桐国产精品一区| 亚洲激情一区二区| 欧美日韩午夜激情| 亚洲女性裸体视频| 久久久久免费视频| 亚洲激情在线观看视频免费| 亚洲手机视频| 国产精品一区二区三区四区五区| 欧美一区二区大片| 欧美成人国产一区二区| 一级成人国产| 久久久国产亚洲精品| 亚洲国产婷婷综合在线精品 | 日韩一级大片在线| 国产精品第2页| 欧美一区二区黄色| 免费日本视频一区| 中文无字幕一区二区三区| 欧美一区在线视频| 亚洲国产美女精品久久久久∴| 亚洲视频一区二区在线观看 | 亚洲高清免费视频| 亚洲自啪免费| 激情欧美亚洲| 中文国产亚洲喷潮| 国产亚洲精品7777| 亚洲免费观看高清完整版在线观看熊| 欧美小视频在线| 久久99伊人| 欧美日韩一区二区三区在线视频| 性欧美精品高清| 欧美日韩精品在线| 欧美一区二区在线视频| 欧美日韩成人一区二区| 欧美一区二区视频网站| 欧美日韩亚洲91| 久久国产一二区| 欧美午夜不卡| 亚洲国产欧美不卡在线观看| 国产精品久久999| 亚洲精品裸体| 国产午夜精品在线| 一区二区三区四区蜜桃| 激情成人av在线| 亚洲愉拍自拍另类高清精品| 韩国成人精品a∨在线观看| 99re6这里只有精品| 国产亚洲欧美日韩美女| 中文在线一区| 黄色一区二区在线| 午夜欧美不卡精品aaaaa| 91久久精品国产91久久性色tv| 欧美在线综合| 在线视频你懂得一区| 欧美黑人多人双交| 久久国产主播| 国产麻豆精品theporn| 中日韩美女免费视频网站在线观看| 一区免费观看视频| 欧美一区二区视频网站|