90 likes | 419 Views
網路安全技術 期末報告 -SSL. A0953341 林奕晴. 基本介紹. SSL(Secure Sockets Layer): 安全通訊端層 由 Netscape 公司設計 透過網路傳輸加密資料 例如:信用卡資料、個人帳戶資料 判定方法 透過 SSL 連接的網址開頭為 http s 介於 http 協議與 TCP 之間 的一個可選層. 運作原理. Client 透過 https 連到 Server Server 傳送 Server Public Key 給 Client
E N D
網路安全技術期末報告-SSL A0953341 林奕晴
基本介紹 • SSL(Secure Sockets Layer):安全通訊端層 • 由Netscape公司設計 • 透過網路傳輸加密資料 • 例如:信用卡資料、個人帳戶資料 • 判定方法 • 透過SSL連接的網址開頭為https • 介於http協議與TCP之間的一個可選層
運作原理 • Client透過https連到Server • Server傳送Server Public Key給Client • Client產生後續傳輸資料需要用來加密/解密用的Session Key,並以Server傳過來的Public Key加密後回傳給Server • Server用Private Key解開Client以Public Key加密回傳的資料,以取得Session Key • 後續Client與Server間傳送資料就以此Session Key來做資料加密與解密的處理,處理的時間比Server的Public Key與Private Key要快許多
SSL訪問網頁步驟1/2 • 用戶端 • 在瀏覽器的地址欄裡輸入https://www.sslserver.com • http層 • 將用戶需求翻譯成http請求 • 如 GET /index.htm HTTP/1.1 、Host www.sslserver.com • SSL層 • 借助下層協議的的信道安全的協商出一份加密密鑰,並用此密鑰來加密http請求
SSL訪問網頁步驟2/2 • TCP層 • 與web server的443端口建立連接,傳遞SSL處理後的數據。 • 接收端與此過程相反
SSL結構 • Handshake Protocol • 協商密鑰,協議的大部分內容就是通信雙方如何利用它來安全的協商出一份密鑰 • Record Protocol • 定義傳輸的格式
密鑰協商過程 • 建立SSL客戶端與TCP的鏈接 • SSL客戶端發出一個ClientHello • 消息裡面包含了自己可實現的算法列表和其它一些需要的消息 • SSL的服務器端會回應一個ServerHello • 確定這次通信所需要的算法,然後發過去自己的證書(裡面包含了身份和自己的公鑰) • Client收到後會生成一個秘密消息,用SSL服務器的公鑰加密傳過去 • SSL服務器端用自己的私鑰解密後,會話密鑰協商成功,雙方就可以用同一份會話密鑰進行通信
使用SSL可能遇到的問題 • Server的Private Key若不小心流出去,有心人士只要在SSL連線開始前就開始監聽Client的封包,就可以取得Session Key • 若Client端電腦被植入木馬,Session Key被取得,以後只要攔截加密的封包就可以直接解開取得資料
參考資料 • http://blog.yogo.tw/2009/11/ssl.html 謝謝!!!