Thursday, September 29, 2011

SSL X509憑證:SSL的概念


(Public/Private Key 的不對稱加解密法 (Asymmetric Encryption) ,可以把 Public Key 告訴全世界, Private Key 自己秘密保管好,要傳資料給妳的話,只要用妳的 Public Key 加密,全世界就只有妳的 Private Key 才解得開。這種不對稱加解密法雖然很安全,但是加解密的速度很慢。反過來說,傳統的對稱式加解密法 (Symmetric Encryption) ,雖然加解密速度快多了,但是雙方都要握有同一個 Key ,把 Key 傳給對方途中,會有被攔截監聽的危險。) come from  如何製作 SSL X.509 憑證?

Public Key 和 Private Key :用比較白話的說法是:每個人都有兩把鑰匙:
一把是自己留著的叫Private Key (這是死都不可以給別人的);
一把是給別人的叫Public Key(這是要儘量散出去,讓大家使用的)。
更白話的話:就看圖解 = =
未命名

SSL採兩階段的資料加密方法:

第一階段是:先用 Public Key 和 Private Key 做不對稱加解密。傳給對方接下來傳真正資料時,對稱式加解密法要用的 Key 。所以,先傳public key給對方,然後,對方用你給的public key加密—> “一把 對稱式的key” ,傳回來給我,我再用我的private key解讀出來,後來的資料傳輸,的資料加密,就用這把”對稱key”

(Public/Private Key 的不對稱加解密法 (Asymmetric Encryption) ,可以把 Public Key 告訴全世界, Private Key 自己秘密保管好,要傳資料給妳的話,只要用妳的 Public Key 加密,全世界就只有妳的 Private Key 才解得開。這種不對稱加解密法雖然很安全,但是加解密的速度很慢。反過來說,傳統的對稱式加解密法 (Symmetric Encryption) ,雖然加解密速度快多了,但是雙方都要握有同一個 Key ,把 Key 傳給對方途中,會有被攔截監聽的危險。)

第二階段是:用這個對稱式加解密的 Key ,來傳原本要傳的資料。真正傳資料時用的,其實是對稱式加解密法。這個傳資料用的對稱 Key 是用亂數取的,再用 Public/Private Key 法傳給對方,每一次連線時都不一樣。用這種兩階段式的作法, Key 是用不對稱加解密法傳給對方的,不用擔心中途被欄截,也能夠享受合理的加解密速度。

所以總共有幾把Key呢?
答案是三把。Private Key、和由Private Key推得的Public Key、和真正資料傳輸時,用的key

那一把鑰匙是兩邊都有:資料傳輸時,用的key 和,對方的 Public Key

那一把鑰匙是別人都沒有的:Private Key (只用來解密 用 Public Key加密的資料)


參考資料:http://www.imacat.idv.tw/tech/sslcerts.html.zh-tw#sslx509