安全實時傳輸協定

安全實時傳輸協定(或SRTP)是在實時傳輸協定(Real-time Transport Protocol或RTP)基礎上所定義的一個協定,旨在為單播和多播應用程式中的實時傳輸協定的數據提供加密、訊息認證、完整性保證和重放保護。

基本介紹

  • 中文名:安全實時傳輸協定
  • 外文名:Secure Real-time Transport Protocol
  • 開發者:(思科)和(愛立信
  • 最早發布時間:2004年3月
  • 性質:傳輸協定
  • 領域:網路安全
簡介,性質,數據流加密,認證、完整性和重放保護,

簡介

安全實時傳輸協定(Secure Real-time Transport Protocol或SRTP)是在實時傳輸協定(Real-time Transport Protocol或RTP)基礎上所定義的一個協定,旨在為單播多播應用程式中的實時傳輸協定的數據提供加密、訊息認證完整性保證和重放保護。它是由David Oran(思科)和Rolf Blom(愛立信)開發的,並最早由IETF於2004年3月作為RFC 3711發布。
由於實時傳輸協定和可以被用來控制實時傳輸協定的會話的實時傳輸控制協定(RTP Control Protocol或RTCP)有著緊密的聯繫,安全實時傳輸協定同樣也有一個伴生協定,它被稱為安全實時傳輸控制協定(Secure RTCP或SRTCP);安全實時傳輸控制協定為實時傳輸控制協定提供類似的與安全有關的特性,就像安全實時傳輸協定為實時傳輸協定提供的那些一樣。
在使用實時傳輸協定或實時傳輸控制協定時,使不使用安全實時傳輸協定或安全實時傳輸控制協定是可選的;但即使使用了安全實時傳輸協定或安全實時傳輸控制協定,所有它們提供的特性(如加密和認證)也都是可選的,這些特性可以被獨立地使用或禁用。唯一的例外是在使用安全實時傳輸控制協定時,必須要用到其訊息認證特性。

性質

由於實時傳輸協定和可以被用來控制實時傳輸協定的會話的實時傳輸控制協定(或)有著緊密的聯繫,安全實時傳輸協定同樣也有一個伴生協定,它被稱為安全實時傳輸控制協定(或);安全實時傳輸控制協定為實時傳輸控制協定提供類似的與安全有關的特性,就像安全實時傳輸協定為實時傳輸協定提供的那些一樣。
在使用實時傳輸協定或實時傳輸控制協定時,使不使用安全實時傳輸協定或安全實時傳輸控制協定是可選的;但即使使用了安全實時傳輸協定或安全實時傳輸控制協定,所有它們提供的特性(如加密和認證)也都是可選的,這些特性可以被獨立地使用或禁用。唯一的例外是在使用安全實時傳輸控制協定時,必須要用到其訊息認證特性。

數據流加密

為了提供對數據流的保密,需要對數據流進行加密和解密。關於這一點,安全實時傳輸協定(結合安全實時傳輸控制協定)只為一種加密算法,即AES制定了使用標準。這種加密算法有兩種加密模式,它們能將原始的AES塊密文轉換成流密文:
  • 分段整型計數器模式——一種典型的計數器模式,它允許對任意塊的隨機訪問——這一點對於實時傳輸協定的數據流在可能丟包的不可靠網路上進行傳輸是非常必要的。一般情況下,幾乎所有的函式都能被作為計數器使用,只要它在一次循環中重複的次數不要太多就可以。但是,用於實時傳輸協定數據加密的僅僅是一個普通的整型遞增計數器。運行在這一模式下的AES是其默認的加密算法,它使用的是默認128位長度的加密密鑰和默認112位長度的會話鹽密鑰。
  • f8模式——輸出反饋模式的一個變種,它增加了定位功能並改變了初始化功能。其加密密鑰和鹽密鑰的默認值和計數器模式下的AES是一樣的。運行在這種模式下的AES被用於UMTS3G行動網路
除了AES加密算法,安全實時傳輸協定還允許徹底禁用加密,此時使用的是所謂的“零加密算法”。它可以被認為是安全實時傳輸協定支持的第二種加密算法,或者說是它所支持的第三種加密模式。事實上,零加密算法並不進行任何加密,也就是說,加密算法把密鑰流想像成只包含“0”的流,並原封不動地將輸入流複製到輸出流。這種模式是所有與安全實時傳輸協定兼容的系統都必須實現的,因為它可以被用在不需要安全實時傳輸協定提供保密性保證而只要求它提供其它特性(如認證和訊息完整性)的場合。
儘管從技術上來說安全實時傳輸協定能輕鬆地納入新的加密算法,但安全實時傳輸協定標準指出除上述加密算法以外的新的加密算法不一定能被簡單地添加到一些安全實時傳輸協定的具體實現中去。添加一種新的加密算法並確保它與安全實時傳輸協定標準相兼容的唯一有效方式是發布一個明確定義該算法的新的伴生的標準跟蹤RFC

認證、完整性和重放保護

以上列舉的加密算法本身並不能保護訊息的完整性,攻擊者仍然可以偽造數據——至少可以重放過去傳輸過的數據。因此,安全實時傳輸協定標準同時還提供了保護數據完整性以及防止重放的方法。
為了進行訊息認證並保護訊息的完整性,安全實時傳輸協定使用了HMAC-SHA1算法(在RFC 2104中定義)。這種算法使用的是默認160位長度的HMAC-SHA1認證密鑰。但是它不能抵禦重放攻擊;重放保護方法建議接收方維護好先前接收到的訊息的索引,將它們與每個新接收到的訊息進行比對,並只接收那些過去沒有被播放過的新訊息。這種方法十分依賴於完整性保護的使用(以杜絕針對訊息索引的欺騙技術)。

相關詞條

熱門詞條

聯絡我們