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即時通訊系統所