2024年6月3日发(作者:)
安全即時通訊之視訊加密系統設計與實現
羅于庭
國立高雄師範大學 資訊教育研究所
creeds2239@
摘要
即時通訊(Instant Messaging,IM)是目前最熱門點
對點計算(peer-to-peer computing)的網路服務,不僅逐
漸成為人們日常生活中非常重要的聯繫方式,更提供
了即時文字訊息、語音以及多媒體視訊的互動服務。
但是目前大多數的即時通訊系統大多以實用性與提高
方便以提昇市佔率為主要考量,並未著重於安全性問
題的部份。例如微軟的Windows Live Message 著重於
使用者網路服務的應用整合,以及登入階段的安全
性,使用者之間的多媒體音訊、視訊以及檔案傳遞皆
採用明文方式傳遞[1][2]。
為了解決即時通訊的多媒體資料傳輸的安全問
題,本研究依據IM的多媒體視訊傳輸主要採P2P的方
式進行,加強點對點兩端的視訊封包的安全性,以確
保視訊封包的確認性、機密性與完整性。同時加速實
做的效率使其不會大幅提昇視訊傳輸的延遲率,已達
到不影響使用者正常使用即時通訊視訊的功能。在實
作上,我們開發符合XMPP (eXtensible Messaging and
Presence Protocol)標準的即時通訊用戶端軟體,並且結
合SIMPP (Secure Instant Messaging & Presence
Protocol)安全即時通訊協定提昇安全性[3]。同時,我
們使用Borland C++開發工具於Windows平台上開發安
全的即時通訊客戶端軟體。底層的函數庫則採用
MIRACL與iksemel 以及LockBox開放原始碼元件,以
提供密碼學演算法與XMPP協定的功能,視訊函式庫
則採用VFW (Video for Windows)達成視訊的擷取的功
能。
關鍵詞:即時通訊、點對點計算、XMPP、Jabber、視
訊安全。
導論
隨著近年來網路以及多媒體技術的迅速成長,即
時通訊的服務目前已經成為了電子郵件(E-mail)、Web
之後的第三大網路應用服務[4],逐漸成為了日常生活
楊中皇
國立高雄師範大學 資訊教育研究所
chyang@
中個人電腦上主要的通訊方式,並且透過幾乎是以即
時的傳送與接收訊息方式達到使用者之間的資料傳
送,為即時通訊的使用者提供了大大地便利性、娛樂
性和即時性。
即時通訊的廣泛應用成為企業內部很重要的一項
溝通工具,卻也相對的也提高了企業內部系統的風險
性。不管是員工私下的對談或是企業商業用途的即時
通訊,確實做好安全控管的卻是少數。而現今市面上
的即時通訊軟體(如MSN、即時通等)通訊過程中所
傳送的資料是沒有經過任何的加密機制,除了需要依
賴現有的外掛軟體如SimpLite-MSN、MSN Plus!等,
皆需同時兩方客戶端皆安裝並且採用加密機制才能進
行訊息的加密功能。倘若一方並無安裝外掛軟體或是
尚未開啟加密機制,則即時通訊依舊處於不安全的網
路環境下進行明文傳輸。
傳輸資料過程中是否會被中途的第三者利用
Sniffer特殊封包竊取工具所截取側錄都是非常值得重
視的問題。雖然部份商業級用途的即時通訊軟體會特
別註明傳送訊息會經過加密,如:IBM Lotus的Instant
Messaging Everyplace及微軟的 Live Communications
Server 都提供有訊息加密功能[5]。但是在多媒體訊息
如聲音和視訊上的即時通訊軟體大多尚未提供訊息加
密保護的服務。
本研究主要為解決即時通訊的媒體資料傳輸的安
全問題,加強點對點兩端之間的視訊封包的安全性,
以確保其確認性、機密性、完整性,以SIMPP(Secure
Instant Messaging & Presence Protocol)安全即時通訊
協定提昇其客戶端至伺服端之間的認證安全性為基礎
實做安全的視訊服務,開發符合XMPP(eXtensible
Messaging and Presence Protocol)標準的即時通訊客戶
端軟體[3]。針對視訊串流封包採用TurboPower密碼學
函式庫所提供的AES演算法加密,降低對視訊封包延
遲的影響以同時達到訊息加密的目的。
文獻探討
即時通訊服務
隨著網際網路的快速發展,多媒體的應用更為普
遍,所以目前的主流即時通訊軟體如Yahoo!
Messenger、Skype、Google Talk、Windows Live
Messenger等,不僅提供即時文字傳輸也提供視訊的應
用服務,讓即時通訊的應用能夠更加生動與生活化。
網際網路工程任務小組(The Internet Engineering
Task Force , IETF)成立即時傳訊與定位協定工作小組
(Instant Messaging and Presence Protocol Working
Group, IMPP WG)以能完成共通的即時傳訊與定位協
定(Instant Messaging and Presence Protocol , IMPP)
[6],並且提出即時通訊服務標準規範RFC 2778制定下
列兩種服務:
圖一:RFC 2778 Instant Messaging Service模型
(1)即時訊息服務(Instant MessagingService)
訊息的傳送具即時性,訊息傳送到伺服器端,隨
後伺服端將訊息轉發至接收端的Instant Inbox中,接收
端在由Instant Inbox取得訊息,其主要特色是採取
Client/Server架構。
圖二:RFC 2778 Presence Service 模型
(2)現狀資訊服務(Presence Service)
主要透過Presentity以及Watcher讓使用者得以向
外發怖自己的線上狀態,方便使用者之間知道是否得
以傳送即時訊息進行交談[7]。
即時通訊協定(Instant Messaging)
IETF當初所提出的IMPP(Instant Messaging and
Presence Protocol)也成為現有的主流即時通訊協定
SIMPLE以及XMPP所參考的主要架構。
SIMPLE(SIP for Instant Messaging and Presence
Leveraging Extensions)為IETF於西元2002年所提出的
RFC3428所規範的標準,主要以SIP(Session Initiation
Protocol)為基礎的即時通訊協定,其中SIP本身主要
用途為協商、管理與終止媒體對話行程,此種對話行
程是由特定的資料傳送通訊協定加以完成,例如
RTP(Real-time Transport Protocol , 即時傳輸協定),利
用SIP建立多媒體通道對話,隨後利用SDP(Session
Description Protocol)會議描述協定)來完成兩端交換
對話的功能。協調完畢之後即便利用RTP傳送多媒體
(視訊、語音)封包,所以將SIMPLE用於發展即時通
訊多媒體也是非常的合適[6]。
XMPP為IETF於西元2004年所提出的
RFC3920-RFC3923所規範的標準,其最主要的特點在
於採用XML(eXtensible Markup Language)定義描述
語言為資料格式。最初XMPP是Jabber即時通訊系統所
发布评论