魏藝杉,曾 浩,楊宗宇
(重慶郵電大學 通信與信息工程學院,重慶 400065)
近年來,隨著視頻監控系統在全國大量普及,平安城市和天網工程等重大安防項目應運而生。視頻監控面臨著更大規模的聯網應用,亟需加強系統安全防護,提升安全性能,而視頻監控系統的首道安全防線就是合理的身份認證機制。
2016年,公安部科技信息化局提出了視頻監控互聯國家標準,規定了信息傳輸交換的技術規范并指定會話初始協議(Session Initiation Protocol,SIP)為標準信令控制協議[1]。SIP是一種簡單的應用層協議,用于在IP網絡上控制多媒體通信[2]。研究發現,SIP在實際應用中存在一定的安全風險。文獻[3]提出,雖然SIP靈活且易于擴展,但以文本形式表示消息極易受到網絡攻擊。SIP標準文檔建議通過擴展已有的安全機制實現SIP認證與安全防護,針對SIP注冊過程,推薦使用超文本傳輸協議(Hyper Text Transfer Protocol,HTTP)摘要認證方式對會話雙方進行身份認證。文獻[4]指出,HTTP摘要認證方式存在終端偽裝、重放攻擊、離線密碼猜測等風險,可以結合密碼算法強化認證。為抵御上述風險,文獻[5]設計了預置公鑰列表方案,通信雙方通過查表并計算信息摘要進行身份認證,但公鑰列表數據龐大導致系統負荷較重。文獻[6]使用無證書簽密技術,通信雙方在密鑰協商的過程中完成認證,計算和通信開銷較低,但沒有測試仿真證明方案的可行性。文獻[7]和文獻[8]均提出使用橢圓曲線密碼動態生成會話密鑰以維護前向機密性和認證模型安全,并通過測試證明模型性能穩定。
本文將結合SIP注冊認證與視頻監控系統應用場景,引入公鑰基礎設施數字證書認證體系(Public Key Infrastructure/Certificate Authority,PKI/CA)強化HTTP摘要訪問認證的安全性,提出一種針對SIP注冊過程的安全機制,實現安全系數較高的雙向身份認證。
RFC2617提出超文本傳輸協議摘要訪問認證方案(HTTP Digest Access Authentication Scheme),基于挑戰/應答機制實現身份認證。SIP與HTTP均為基于文本的應用層協議,因此SIP可以借鑒該方案,進行適當擴展后應用于SIP注冊認證,保障SIP實體間的通信安全[9]。基于HTTP摘要訪問認證方案的SIP標準注冊認證如圖1所示。

圖1 SIP標準注冊認證
過程描述如下:
(1)客戶端發送注冊請求。
(2)服務器返回401 Unauthorized響應,WWW-Authenticate頭域包括realm(域名)、nonce(隨機數)、domain(uri列表)、algorithm(默認MD5)、qop(保護等級,設定為auth)、opaque(固定字符串)、stale(標識客戶端請求因nonce過期被拒絕)、auth-param(可擴展項)。
(3)客戶端接受質詢,根據realm選擇相關的username(用戶名)和對應的password(口令),將username、realm、password通過摘要算法Hash計算出A1;再將Method(請求方法)和uri(由Authorization頭域指定)通過同一算法計算出A2;最后將A1、nonce、nonce-count(重放檢測)、cnonce(客戶端生成的隨機數)、qop、A2通過同一算法計算出response,隨第二次注冊請求發出。
(4)服務器解析請求,提取相同參數并以上述同種摘要算法計算response′,對比接收的response,相同則通過認證。
本文在GB/T28181-2016規定的SIP監控域互聯結構的基礎上部署了一種更全面的系統,系統模型如圖2所示。該模型設定前端設備為網絡攝像機(Internet Protocol Camera,IPC),同時將信令路由網關和中心信令控制服務器部署在安全管理平臺上,作為負責SIP信令轉發控制與應用處理的核心SIP服務器。

圖2 基于SIP互聯結構的視頻監控系統
IPC在接入系統前需向安全管理平臺上的SIP服務器發送注冊請求,服務器會校驗設備信息并要求設備進行認證。通過注冊認證后,安管平臺將接入的IPC標識為合法設備,允許IPC開始采集視頻流并傳輸到存儲服務器或監控客戶端。
本文設計的認證機制基于PKI/CA體系,CA作為權威機構向用戶頒發承載公鑰和身份信息的數字證書,并保障證書和公鑰的真實性。PKI/CA體系可以為視頻監控系統提供包括身份識別、數據機密與完整性、不可否認性及時間戳等服務[10]。在PKI認證機制下,IPC和安管平臺無需預共享密鑰或傳輸私密口令,通過解析對方公鑰并加密或者使用己方私鑰簽名即可保護信息,實現安全性較高的身份認證,適用于視頻監控系統等對數據敏感的通信過程。
在PKI/CA認證系統中,IPC需要先向CA申領證書,再向安管平臺上的SIP服務器發送注冊請求,SIP服務器向輕型目錄訪問協議(Lightweight Directory Access Protocol,LDAP)服務器查驗IPC證書是否可信,后續的認證過程將在2.2節中介紹。圖2中監控中心區設置的PKI/CA認證系統提供了本節所述的數字證書類相關服務。
本機制主要涉及到圖3所示的PKI/CA認證系統中的證書申請和查驗,證書申請僅針對待接入的IPC,因為SIP服務器已預先獲取證書并被部署在系統內部。IPC通過PKI應用接口發送包含身份信息與公鑰的申請消息至注冊中心(Registration Authority,RA),RA核實IPC身份信息后向CA提交制證請求,CA審核請求后簽發由身份信息、設備公鑰、數字簽名和有效期等信息構成的證書,RA獲取證書并發布到LDAP服務器以提供證書查詢、瀏覽、下載等服務。IPC或SIP服務器可通過訪問LDAP服務器來查驗對方證書,從而獲取對方公鑰。

圖3 PKI/CA認證系統中的證書申請和查驗
本文設計的機制基于PKI/CA體系與數字證書進行預認證,再對SIP消息進行擴展,增加實現安全身份認證所需的參數與偽隨機數序列,并組合利用異或密碼及公鑰加密對前端設備和安全管理平臺進行雙向身份認證。改進方案相對于原HTTP 摘要訪問認證的優點為:不需要預生成與域名對應的用戶名/口令組合;基于原會話機制進行擴展,在不會增加SIP信令交互過程的前提下,IPC和SIP服務器可互相鑒別對方身份;SIP協議棧中不需要增加新的事件,協議棧狀態機不會改變。擴展后的認證過程如圖4所示。

圖4 改進的雙向身份認證
(1)網絡攝像機IPC上線后,首先由PKI/CA認證系統為其頒發數字證書,隨后IPC向安管平臺上布置的SIP服務器發送注冊請求REGISTER1,同時攜帶數字證書相關信息以及自身的安全能力。
(2)SIP服務器解析請求,向PKI/CA認證系統中的LDAP服務器查詢該設備的數字證書,以證實證書的有效性和合法性。證書預認證通過后,SIP服務器再解析證書并提取出承載的IPC公鑰PUIPC,若證書預認證未通過,SIP服務器將拒絕連接,結束會話。
(3)安管平臺利用偽隨機數生成器產生隨機數nonce以及認證序號Seq并傳給SIP服務器,SIP服務器返回挑戰響應401 Unauthorized要求對IPC進行身份認證。401消息同時攜帶了參數Message和algorithm。其中,需要計算序列S1=H(PUIPC‖nonce)并儲存在服務器的數據庫中,再計算S2=Seq?S1,并對S2、Seq、nonce簽名得到Message=PRS[S2‖Seq‖nonce]。PRS為SIP服務器私鑰,algorithm為服務器在IPC提供的安全能力中選擇的數字摘要算法Hash。
(4)IPC接收質詢信息,向PKI/CA認證系統中的LDAP服務器查詢SIP服務器的數字證書,解析證書提取其公鑰PUS并對Message驗簽,驗簽成功則獲取S2、Seq、nonce,并丟棄Message中存儲的值。IPC對解析出的nonce和自己的公鑰PUIPC做摘要運算得到S1′=H(PUIPC‖nonce),再利用解析出的S2計算Seq′=S2?S1′,對比Seq′與之前解析出的Seq,相同則證明SIP服務器及安管平臺身份可信,否則直接結束會話。
(5)IPC重新向SIP服務器發送REGISTER請求,并攜帶參數response=PRIPC[PUS[Message]],需要對Message重新賦值為H(S1′‖nonce)。
(6)SIP服務器解析請求,使用IPC公鑰PUIPC對response驗簽,驗簽成功則獲取PUS[Message],再使用服務器私鑰PRS解密該字符串獲得Message。最后取出儲存在本地的S1,計算Message′=H(S1‖nonce),對比之前解密獲取的Message,相同則證明IPC可信,完成了雙向身份認證。
測試環境由內置密碼模塊的IPC、SIP服務器、PKI/CA認證系統組成,通過交換機構成一個小型視頻監控系統,SIP服務器端使用eXosip協議棧搭建。IPC向SIP 服務器發送注冊請求,通過2.2節提出的認證方案接入系統。使用WireShark對上述SIP信令進行抓包分析,可知在SIP基本注冊過程中通過擴展信令實現了改進的雙向身份認證。
(1)注冊抓包
在Filter 欄輸入指令sip and ip.addr eq 192.168.99.26,即可顯示與IPC注冊有關的信令包。
如圖5所示,SIP 完成了“REGISTER1-401-REGISTE 2-200 OK”標準會話,IPC與服務器認證成功。后文將分析改進的401和REGISTER2信令。

圖5 注冊認證的信令
(2)改進的401 Unauthorized
如圖6所示,改進后401消息的WWW-Authenticate頭域中顯示認證信息Message,并根據REGISTER1中IPC提供的安全能力,將摘要算法設定為MD5并寫入algorithm參數。

圖6 改進的401 Unauthorized
(3)改進的REGISTER2
如圖7所示,改進后IPC發送的注冊請求REGISTER2中,Authorization頭域攜帶認證消息response、algorithm參數也說明了在計算response時使用的摘要算法為MD5。

圖7 改進的REGISTER2
為了驗證方案的執行效率和可行性,本節對改進的身份認證機制和原始的摘要接入認證機制分別進行吞吐量測試。摘要算法Hash使用MD5,公鑰加密算法使用RSA。在測試中使用4臺IPC向SIP服務器連續發送認證請求,分別控制每臺IPC每次發送100個請求,共發送10組,計算這10組的平均時間t,t/100再取倒數即可得到單位時間內單臺IPC與SIP服務器完成雙向身份認證的次數。測試結果如表1所示。

表1 改進前后吞吐量對比
由測試結果可知,當1臺、2臺、3臺、4臺IPC連續發送認證請求時,改進方案的效率約為原來的78.8%、78.7%、78.4%、78.7%。實際上,改進機制減少了三次摘要計算,由于又增添了公鑰加密、私鑰解密和異或運算,總體計算量有所增加。認證過程中還涉及到通信雙方對信令的接收與發送、生成與解析,并且信令在端到端的傳輸中占用的時間遠超過計算時長。下文將分析改進機制的安全性,證明安全性較改進前有較大提升,因此效率方面適當的損失是值得的。
在SIP注冊認證中,通信雙方以數字摘要形式進行信息交互。雖然信息不以明文傳輸可以防止注冊劫持并且保證了一定程度的機密性,但仍存在一些安全風險。下面針對改進后的機制進行安全風險分析。
(1)終端偽裝攻擊
前端設備和SIP服務器向系統內可信LDAP服務器查驗證書獲取對方公鑰,確保公鑰真實性。除正在會話中的設備以外,其他未接入系統的設備無證書查詢權限,無法獲取公鑰。通信雙方分別解密認證序列并校驗Seq和Message,驗證對方身份可信,從而抵御了非法設備或服務器偽裝攻擊。
(2)重放攻擊
在本方案中,SIP服務器發出401質詢消息前,監控安全管理平臺產生并傳遞隨機數nonce以及認證序號Seq給SIP服務器用于構造認證字符串,由于偽隨機數生成器輸出的值具有不可重現及不可預測性,每次通信時nonce的值都會發生變化,Seq也會逐次遞增。因此,nonce和Seq不斷更新能夠抵御重放攻擊。
(3)離線密碼猜測
在摘要訪問認證方案中,客戶端根據realm選擇相應的username和password,并計算A1=H(username||realm||password)],生成response時需要A1再次參與摘要計算,即password參與兩次摘要計算,因此攻擊者較難通過線下窮舉法計算摘要的自變量來獲取password。改進方案在認證過程中直接取消了password,著重于認證序列的安全性設計,這樣無需password參與也可充分保障認證的安全性,徹底免除了遭遇離線密碼猜測的風險。
(4)中間人攻擊
攻擊者可能通過監聽會話或截獲認證數據冒充通信的某一方威脅認證安全,因此本方案首先引入PKI/CA體系,讓通信雙方基于可信數字證書獲取對方公鑰。通過公鑰加密和私鑰簽名的方法保護認證數據的傳輸安全,同時組合利用摘要算法和異或密碼構造認證序列,有效保護其機密性,即便認證序列被攻擊者截獲也難以破解。
(5)摘要算法單一且固定
在本方案中,前端設備發送REGISTER1請求,同時攜帶了algorithm參數來表明自身安全能力并指明了支持的摘要算法,SIP服務器可以從中選擇某種摘要算法Hash進行計算。
(6)不可否認性
在本方案中,前端設備和SIP服務器均使用己方私鑰對參與認證的序列和參數簽名后再隨消息發出,不僅保證了一定的機密性,而且確保簽名數據只有通過查詢數字證書獲取相應公鑰的對方才能驗簽。私鑰不參與傳輸不會泄露,只有持該證書的唯一用戶才能產生簽名,因此具有不可否認性。
由分析可知,改進后的雙向身份認證機制安全性有較大提升,能夠規避上述常見風險,保證合法的IPC安全接入到可信平臺上。
本機制結合SIP注冊認證和HTTP摘要訪問認證的特點,通過擴展eXosip協議棧使得前端設備發送第一條REGISTER消息時攜帶自身支持的密碼算法,根據SIP服務器發出的401信令中指定的摘要算法對認證參數進行計算和校驗,第二條REGISTER攜帶更新的認證參數再次向服務器發起注冊請求,增加了認證過程的靈活性。同時基于PKI/CA體系為通信雙方提供密鑰對,與傳統方案相比,無需預生成和預共享密鑰即可加密保護交互的關鍵認證信息,實現前端設備和監控安管平臺之間的雙向身份認證。改進的身份認證機制性能穩定且安全性較高,提升了認證過程中信令交互的機密性和完整性,應用于視頻監控系統中可有效保證合法設備能夠安全接入,保障視頻數據來源可信,具有實際應用價值。后續可針對SIP信令跨監控域傳輸的安全問題進行研究,進一步加固前端設備與監控系統之間的通信安全。