• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>
    您當前的位置是:  首頁(yè) > 資訊 > 國內 >
     首頁(yè) > 資訊 > 國內 >

    新規范RFC8760對SIP UAS和UAC-B2BUA新加密機制的影響

    2021-07-19 09:58:39   作者:james.zhu   來(lái)源:Asterisk開(kāi)源派   評論:0  點(diǎn)擊:


      SIP協(xié)議已經(jīng)使用了幾十年,安全加密的框架來(lái)自于HTTP。SIP協(xié)議初期的關(guān)于認證加密的規范是RFC-2617, 包括一直更新支持的RFC7235,RFC7615,RFC7616和比較近的RFC7617。在1991年,Ronald Rives設計了了MD5,基于MD4基礎上改進(jìn)的算法,基于當時(shí)的計算機處理器的計算能力,MD5算法相對來(lái)說(shuō)是最安全的。隨著(zhù)計算機處理能力的不斷加強和各種破解工具的改進(jìn),MD5的安全問(wèn)題越來(lái)越多,MD5不再是一個(gè)安全的算法。自從前幾年爆出安全算法漏洞以來(lái),人們確實(shí)發(fā)現以前MD5已經(jīng)不再作為一個(gè)非常安全的加密算法,開(kāi)始發(fā)展使用了比較新的算法SHA-256和SHA-512/256,支持了更強大的256-bit證書(shū)簽名。
      RFC7216規范在2015年發(fā)布以后,正式支持了以上兩種算法,并且兼容了MD5算法。這樣的話(huà),現在在安全算法加密方面,事實(shí)上,SIP技術(shù)架構層面需要同時(shí)支持三種算法(MD5/SHA-256和SHA-512/256)。另外,最近SIP協(xié)議規范RFC3261明確規定需要支持RFC8760。因此,在SIP安全加密中涉及了更多需要更新的處理流程。這些處理流程影響了SIP 服務(wù)器端,SIP代理服務(wù)器和SIP終端等關(guān)于認證加密的處理。
      在過(guò)去的基于SIP安全架構的處理中,比較簡(jiǎn)單的辦法就是WWW-Authenticate header使用MD5來(lái)進(jìn)行加密處理,SIP客戶(hù)端和SIP服務(wù)器端都相互發(fā)送一個(gè)WWW-Authenticate 頭來(lái)進(jìn)行加密處理解析。如果SIP呼叫需要經(jīng)過(guò)SIP代理服務(wù)器的話(huà),代理服務(wù)器一般僅做簡(jiǎn)單處理或者透傳。隨著(zhù)SIP語(yǔ)音逐漸實(shí)現云部署和跨網(wǎng)絡(luò )部署,特別是在SIP運營(yíng)環(huán)境中,經(jīng)過(guò)多個(gè)SIP代理做呼叫流程處理是非常普遍的場(chǎng)景。如果需要支持RFC8760的話(huà),UAC和UAS的處理就變得相對比較復雜。針對SIP代理和B2BUA需要做更細節更復雜處理。但是,RFC3261實(shí)際上大部分規范內容是針對SIP proxy來(lái)說(shuō)明的,B2BUA需要通過(guò)UAC/UAS之間的角色通過(guò)不同代理機狀態(tài)分別進(jìn)行處理。因此,在呼叫過(guò)程中,用戶(hù)系統對B2BUA場(chǎng)景需要做更多的兼容性支持。
     
      現在,筆者接下來(lái)給大家介紹一下關(guān)于RFC8760中一些具體的需要關(guān)注的幾個(gè)問(wèn)題。在RFC8760(The Session Initiation Protocol (SIP) Digest Access Authentication Scheme)-2對UAS,UAC和forking呼叫分叉呼叫做了更新說(shuō)明,大家特別需要關(guān)注的幾點(diǎn)變化:
    • 支持了qop參數,對UAS和UAC表示支持了多個(gè)SIP Authorization,WWW-Authenticate和Proxy- Authenticate 頭支持,并且包括了處理順序。對端需要按照qop順序處理這些頭。
    • UAS可以支持對同一realm實(shí)現多個(gè)WWW-Authenticate頭支持。如果發(fā)送多個(gè)頭時(shí),每個(gè)頭必須有不同的安全算法(MD5/SHA-256和SHA-512/256其中之一),UAS端所推薦的必須首先發(fā)送。
    • UAS可以使用多個(gè)realm 響應。這個(gè)規定有點(diǎn)麻煩。從技術(shù)角度可以實(shí)現,但是在實(shí)際環(huán)境中可能導致包頭數據增加的可能性。在實(shí)際的SIP響應回復中,如果一個(gè)UAS支持至少兩個(gè)響應的話(huà),每個(gè)響應支持三種算法的話(huà),那么,UAS至少最低支持6個(gè)WWW-Authenticate頭消息。頭包的數據量會(huì )非常大。
    • UAC應該首先處理一個(gè)realm中的每個(gè)WWW-Authenticate中的第一個(gè)到最后一個(gè)列表數值。此處理需要通過(guò)一定的數據庫流程支持才能完整處理所有的WWW-Authenticate頭值狀態(tài)。UAC需要針對realm的每個(gè)后續請求發(fā)送一個(gè)認證頭。
    • 針對Proxy,請求被分叉處理以后,代理服務(wù)器需要負責聚合分發(fā)各種認證方式和加密設置響應處理。分叉處理代理收到下游代理的多個(gè)WWW-Authenticate和Proxy- Authenticate頭的時(shí)候,如果這些WWW-Authenticate和 Proxy- Authenticate頭在一個(gè)響應中時(shí),分叉處理代理必須維持其原有狀態(tài),不能中任何修改。SIP代理聚合這些消息需要耗費大量的系統資源,這是一個(gè)新的影響性能瓶頸。
      以上這些在RFC8760中的更新基本上涵蓋了規范中對SIP RFC3261更新的所有核心內容。筆者的理解可能有誤,如果用戶(hù)需要關(guān)注很多具體細節的話(huà),可以直接參考RFC8760。
      筆者提醒用戶(hù),用戶(hù)需要另外注意一些SIP代理的呼叫場(chǎng)景。在實(shí)際SIP proxy的應用場(chǎng)景中,絕大部分的呼叫是針對call transaction(事務(wù)狀態(tài))進(jìn)行處理的。事務(wù)狀態(tài)會(huì )影響很多的其他業(yè)務(wù)處理,筆者建議用戶(hù)針對SIP代理服務(wù)器關(guān)于有狀態(tài)呼叫和無(wú)狀態(tài)呼叫,以及關(guān)于dialog的處理做更多測試和關(guān)注。
      以上筆者分享的關(guān)于RFC8760更新對SIP應用場(chǎng)景的影響僅是對這種更新做的一點(diǎn)點(diǎn)初探,針對其最新版本的理解可能有誤,用戶(hù)可以進(jìn)一步根據自己的應用場(chǎng)景以及未來(lái)在用戶(hù)終端和服務(wù)器端兼容性方面進(jìn)行升級測試以后才能發(fā)現更多更有價(jià)值的思考。
      參考資料:
    • https://datatracker.ietf.org/doc/html/rfc8760
    • www.dinstar.cn
    • www.asterisk.org.cn
    【免責聲明】本文僅代表作者本人觀(guān)點(diǎn),與CTI論壇無(wú)關(guān)。CTI論壇對文中陳述、觀(guān)點(diǎn)判斷保持中立,不對所包含內容的準確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔全部責任。

    專(zhuān)題

    CTI論壇會(huì )員企業(yè)

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 新泰市| 淳安县| 青神县| 子长县| 柳江县| 自治县| 安平县| 通城县| 石林| 灵台县| 沈阳市| 清苑县| 墨竹工卡县| 鄂尔多斯市| 河曲县| 当雄县| 阳城县| 彭州市| 青浦区| 高陵县| 平谷区| 丰顺县| 井陉县| 乾安县| 临澧县| 泽库县| 彰武县| 宁安市| 栖霞市| 万源市| 东乌| 临海市| 米易县| 原阳县| 青川县| 恩施市| 明溪县| 峡江县| 马山县| 双鸭山市| 藁城市| http://444 http://444 http://444 http://444 http://444 http://444