?? ssl2.txt
字號:
SSL.TLS.WTLS原理(下)
八 代理
下面探討一下SSL的代理是怎樣工作的(可參見[6])。這可能與你開始想的不太一樣:)
當在瀏覽器里設置了https的代理,而且在瀏覽器里輸入了https://www.example.com之后,
瀏覽器會與proxy建立tcp鏈接,然后向其發出這么一段消息:
CONNECT server.example.com:443 HTTP/1.1
Host: server.example.com:443
然后proxy會向webserver端建立tcp連接,之后,這個代理便完全成了個內容轉發裝置。瀏覽器
與web server會建立一個安全通道,因此這個安全通道是端到端的,盡管所有的信息流過了proxy,
但其內容proxy是無法解密和改動的(當然要由證書的支持,否則這個地方便是個man in the middle攻擊的好場所,見上面的討論)。
九 關于證書
注意,如果對于一般的應用,管理員只需生成“證書請求”(后綴大多為.csr),它包含你的名字和公鑰,然后把這份請求交給諸如verisign等有CA服務公司(當然,連同幾百美金),
你的證書請求經驗證后,CA用它的私鑰簽名,形成正式的證書發還給你。管理員再在web server上導入這個證書就行了。如果你不想花那筆錢,或者想了解一下原理,可以自己做CA。
從ca的角度講,你需要CA的私鑰和公鑰。從想要證書的服務器角度將,需要把服務器的證書請求交給CA.
如果你要自己做CA,別忘了客戶端需要導入CA的證書(CA的證書是自簽名的,導入它意味著你“信任”這個CA簽署的證書)。
而商業CA的一般不用,因為它們已經內置在你的瀏覽器中了。
十 wtls
在WAP的環境中,也有安全加密的需求,因此wapforum參照在WWW世界里最為流行的SSL協議設計了WTLS.從原理上說,這份協議與SSL是基本相同的,但在具體的地方作了許多改動。這些改動的大多沒有什么技術上的需要,而是由于考慮到手持設備運算與存儲的局限而盡量做了簡化。不過我的感覺是這些改動意義實在不大,其獲得的計算和存儲上節省出來的時間和空間并不多。在硬件速度突飛猛進的時代,這種改動能獲得的好處也許并不很多(一個新的協議便需要大量新的投入,而且與原有體制并不兼容,關于這點有文章[7]做了精彩闡述,可參看)。
這里我簡單舉一些SSL與WTLS的差別。
1 WTLS在一般udp這類不可靠信道之上工作,因此每個消息里要有序列號,協議里也要靠它來處理丟包,重復等情況。
此外,拒絕服務攻擊也因此變得更加容易。
2 WTLS建立的安全連接是在wap網關和手持設備之間,wap網關和web server之間如果也要保密,便要采再用SSL,即在這種模型中無法實現端到端的加密。
---------- ------------- ---------
| Mobile |----------->| WAP |---------->| WEB |
| Device |<-----------| Gateway |<----------|Server |
| | WTLS | | SSL | |
---------- ------------- ---------
3 WTLS協議里加了一種成為key_refresh的機制,當傳遞了一定數量數據包后,雙方通過同樣的算法將自己的密鑰做一下更新。付出了很小的代價,安全性得以增強。
參考文獻
[1] SSL 3.0 SPECIFICATION
http://home.netscape.com/eng/ssl3/
[2] TLS
http://www.ietf.org/rfc/rfc2246.txt
[3] 《應用密碼學》
機械工業出版社
[4] The End of SSL and SSH?
http://securityportal.com/cover/coverstory20001218.html
[5] HTTP Over TLS
http://www.ietf.org/rfc/rfc2818.txt
[6] HTTP Upgrade to TLS
http://www.ietf.org/rfc/rfc2817.txt
[7] W* Effect Considered Harmful
http://www.4k-associates.com/IEEE-L7-WAP-BIG.html
[8] 智能卡數字加密技術
http://www.yicard.com/cardtech/smartcard/jiami/index.htm
[9] HMAC: Keyed-Hashing for Message Authentication
http://www.ietf.org/rfc/rfc2104.txt
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -