440 likes | 620 Views
安全即時通訊系統之技術研發與建置. 楊中皇 國立高雄師範大學資訊教育研究所教授兼所長 資訊安全學會 理事兼教育與推廣委員會主任委員 http://crypto.nknu.edu.tw /. 現任:國立高雄師範大學資訊教育研究所教授兼所長 學歷:美國路易斯安那大學電腦工程博士 (1990) 主要經歷: 國立高雄第一科技大學資訊管理系系主任 (1998-2000) 中華電信研究所「資訊安全與密碼技術」計畫主持人 (1996-1997) 工研院電通所 工程師 (1993-1994)
E N D
安全即時通訊系統之技術研發與建置 楊中皇 國立高雄師範大學資訊教育研究所教授兼所長 資訊安全學會理事兼教育與推廣委員會主任委員 http://crypto.nknu.edu.tw/
現任:國立高雄師範大學資訊教育研究所教授兼所長現任:國立高雄師範大學資訊教育研究所教授兼所長 學歷:美國路易斯安那大學電腦工程博士 (1990) 主要經歷: 國立高雄第一科技大學資訊管理系系主任 (1998-2000) 中華電信研究所「資訊安全與密碼技術」計畫主持人 (1996-1997) 工研院電通所 工程師 (1993-1994) 日本電信電話公司 (NTT), Postdoctoral Fellow (1991-1993) 美國RSA Data Security, Inc., Software R&D Engineer (1991) 個人簡介
即時通訊特色 即時通訊安全 即時通訊標準 安全即時通訊協定 安全即時通訊系統的實現 大綱
即時通訊(Instant Messaging, IM)為熱門的網路服務 即時通訊系統在設計時多以實用性為考量,並未考慮安全性問題 大部份即時通訊系統僅著重登入階段的安全性 即時通訊系統可能被側錄監控 使用明文傳遞訊息 缺乏機密性、完整性、與不可否認性的安全機制 我們以開放原始碼軟體為基礎,建構安全的即時通訊系統 前言
具有即時性與互動性 Presence (線上狀態)awareness: 顯示聯絡人名單,在線狀態 表情符號、狀態顯示、離線訊息、語音溝通、視訊溝通、群組聊天、檔案傳輸 例如MSN Messenger、SKYPE、Yahoo! Messenger、騰訊QQ 即時通訊
Instant Communications Comprehensive Features Elimination of Phone Tag Enhanced Customer Service Improved Employee Productivity Ease of Multitasking Greater Accountability for Off-site Employees Cost Savings on Long Distance and Travel More Responsive Conversations and Collaboration 即時通訊的優點 [Rittinghouse/Ransome 2005]
即時通訊的訊息傳遞 IM Server presence, contact list text audio video file IM Client A IM Client B
保密性(Confidentiality) 確認性(Authentication) 完整性(Data Integrity) 不可否認性(Non-repudiation) 存取控制(Access Control) 可用性(Availability) 資訊安全服務
網路安全系統原則 Key:金鑰(或金匙、 密鑰、鍵) 設計完善的網路安全系統,並不會因為設計細節的完全公開,而使其安全性受到威脅。
安全功能僅著重登入時驗證帳號與通行碼 成功登入系統之後以明文傳遞訊息 存在商用軟體側錄通訊內容 可採自由軟體保護通訊內容 MSN Messenger 安全性
例如http://www.effetech.com/msn-sniffer/, US$79 MSN Messenger Sniffer 側錄軟體
http://www.wireshark.org/ open source軟體,Gnu Public License (GPL)授權 適用於UNIX / Linux 和Windows等作業系統 能交互式地瀏覽抓取到的封包,查看每一個封包的摘要和詳細訊息 支援多數的網路協定、豐富的過濾語言 Wireshark封包分析軟體
例如 http://www.secway.fr/us/products/simplite_msn/ MSN Messenger Encryption
採用SHA-1/RSA簽章及數位憑證 採用256-bit AES加解密 提供保密與認證 被評估具有安全的共通金鑰(Key Agreement) 協定 64-bit 亂數抵擋重送攻擊(replay attack) 考量中間人攻擊(man-in-the middle attack)、通行碼猜測攻擊(password guessing attack) 詳見T. Berson, "Skype (1.3) Security Evaluation," Oct. 2005, http://www.skype.com/security/files/2005-031%20security%20evaluation.pdf Skype安全性
第一種:使用SSL/TLS建構加密通道 可以確保Client-Server通訊安全 增加Server的成本和負擔 訊息傳遞過程中會以明文形式暫存於Server 無法確保暫存於Server的訊息安全 第二種:Client安裝外掛加解密軟體 如(MSN) SimpLite, IMsecure 第三種:使用支援加解密功能的替代軟體 如Pidgin/Pidgin-Encryption 即時通訊的保密解決方案
http://www.pidgin.im/ 開放原始碼即時通訊用戶端軟體 跨平台多語系:Linux, MacOS, Windows等 整合多種即時傳訊協定:AIM, ICQ, MSN, Yahoo!, Jabber 多協定多帳號可同時登入 傳送文字、圖片、檔案,無語音視訊功能 Pidgin
http://pidgin-encrypt.sourceforge.net/ Pidgin的一個加密模組 提供最高4096位元的RSA金鑰 自動產生、傳送、儲存金鑰 Pidgin + Pidgin-Encryption提供安全的即時通訊 Pidgin-Encryption
IETF RFC 2778定義IM服務模型 PRESENCE SERVICE INSTANT MESSAGING SERVICE PRESENTITY WATCHER SENDER INSTANT BOX PRESENCE SERVICE INSTANT MESSAGING SERVICE 即時通訊系統需求 • RFC 2778, A Model for Presence and Instant Messaging, 2000. • RFC 2779, Instant Messaging / Presence Protocol Requirements, 2000.
SIMPLE (SIP for Instant Messaging and Presence Leveraging Extensions) http://www.ietf.org/html.charters/simple-charter.html 例如電通所即時訊息系統 RFC 3856 - 3858, ..., RFC 5025 XMPP (eXtensible Messaging and Presence Protocol) http://www.xmpp.org/ 例如Google Talk電話及即時通訊系統 RFC 3920 - 3923, ..., RFC 5122 <iq> 狀態查詢 <presence> 上線狀態傳遞 <message> 訊息傳遞 即時通訊兩大標準
http://www.jabber.org/ 使用XML串流的分散式即時通訊系統 第一個公開版本於2000年發行 For instant messaging and presence awareness 在客戶端、伺服器、元件、程式庫等方面都有多種實作,包含開放原始碼的實作 也可用在網路管理、內容供稿、協同工具、檔案共享、遊戲、遠端系統監控等 Google Talk電話及即時通訊的服務採用Jabber/XMPP Jabber
沒有明確規範安全金鑰管理機制 如果金鑰管理機制不安全,金鑰可能遭到破解或竄改 [Kikuchi等, 2004]、[Mannan等, 2006]提出即時通訊的安全協定 SIMPLE與XMPP標準不足處
安全即時通訊協定-1 • [Kikuchi等2004] • 採Diffie-Hellman Key Agreement Protocol • 確保Client/Client機密性 • 無實作
安全即時通訊協定-2 • [Mannan等2006] • IMKE (Instant Messaging Key Exchange)協定 • Three-party PAKE (Password Authentication and Key Exchange) • 以RSA實作
安全即時通訊協定-3: 本研究 (a) 使用者註冊
西元1985年由Koblitz與Miller各別提出 國際標準如ISO 11770-3、ANSI X9.62、IEEE P1363 、FIPS 186-2等已採納 在相同的安全強度下,ECC的密碼學金鑰長度可遠較其他公開金鑰密碼系統(如RSA)小且處理速度較快 假設G是橢圓曲線系統基點且其級數為n,正整數d為私密金鑰, 1 < d< n ,而Q = d․G則對應公開金鑰 橢圓曲線的技術不只能應用在密碼學加解密、數位簽章、金鑰交換等,也能應用於大數分解(factorization)與質數判斷(primality testing) 橢圓曲線密碼系統 (ECC)
P + O = O + P = P for all PE(Zp). If P = (x, y) E(Zp), then (x, y) + (x, ‑y) = O. (The point (x, ‑y) is denoted by -P, and is called the negative of P) Let P = (x1,y1) E(Zp) and Q= (x2,y2) E(Zp), where P-Q. Then P+Q= (x3,y3) = R, where x3 = 2 - x1 - x2 y3 = (x1 -x3) - y1, and ECC Point Addition over prime field
elliptic curveE: y2 = x3 + x + 1 over GF(23) (3, 10) + (9, 7) = (17, 20) 2 • (3, 10) = (7, 12) Example of Elliptic curve Operations
數位簽章演算法RSA與ECDSA的比較 [楊2006]
RSA與ECC效能比較Server • MIRACL 5.30版本bmark程式, CentOS • HP ProLiant ML 110 G4 [Intel Pentium D Processor 2.8 GHz, 2GB RAM]
RSA與ECC效能比較表Client • MIRACL 5.30版本bmark程式, Windows XP • Sony Vaio VGN SZ-38 [Intel Core 2 Duo T7200 (2 GHz), 2GB RAM]
建構安全共通金鑰機制 建構安全訊息交換機制 解決範圍僅設定網路通訊安全問題 不包含DoS、木馬…等攻擊的防範 建構安全的即時通訊系統
Server Client Client 安全即時通訊系統的架構 • 採client/server架構
IC卡的晶片猶如電腦,外觀可能相似但實際上有多種差異性極大的規格IC卡的晶片猶如電腦,外觀可能相似但實際上有多種差異性極大的規格 IC卡可支援多種應用,所以不僅儲存的是一個金鑰(對)而已,不同用途的金鑰與公開金鑰憑證也可放在同一張IC卡內,達到一卡多功能的應用。 IC卡可分為接觸式與非接觸式兩種,前者歷史悠久且功能強大,後者則目前功能較簡單且多為單一用途 IC卡
Linux平台 Open Source IM server Jabberd, http://jabberd.jabberstudio.org/ Open source cryptography libraries MIRACL, http://www.shamus.ie/ GCC開發工具 MySQL database 安全即時通訊系統的Server
Windows XP平台 Borland C++ Builder 開發工具 Libraries Cryptography Libraries: MIRACL (http://www.shamus.ie/ ) XMPP/XML Library: iksemel (http://code.google.com/p/iksemel/ ) 安全即時通訊系統的Client
現有即時通訊系統具有豐富的功能,但不確保通訊安全現有即時通訊系統具有豐富的功能,但不確保通訊安全 以開放原始碼為基礎,可快速建構本土化小型的安全即時通訊雛形系統 安全性與效能的取捨為重要的議題 結論
參考資料 • 楊中皇、郭宗益、李佳珮,安全即時通訊,「96年度資通安全專論彙編」,國家實驗研究院科技政策研究與資訊中心,2007年。 • Jabber, http://www.jabber.org/ • Jabber維基百科: http://zh.wikipedia.org/wiki/Jabber • M. Mannan and P.C. van Oorschot, “A Protocol for Secure Public Instant Messaging”, Financial Cryptography and Data Security 2006 (FC'06), 2006. • J. Rittinghouse and J. Ransome, Instant Messaging Security, Elsevier Digital Press, 2005. • A.J. Menezes, P.C. van Oorschot and S.A. Vanstone, Handbook of Applied Cryptography, CRC Press, 1996. http://www.cacr.math.uwaterloo.ca/hac/