iT邦幫忙

0

想請教大家SSL的運作

ssl
  • 分享至 

  • twitterImage

舉例來說,我買了SSL也安裝好在主機上,但是我對這運作還是有點不瞭解。

  1. 當有人連我的網站,我的主機會把憑證傳給使用者端。我看文章中說,憑證中會包含我的public key。我的問題是,
    (a) 使用者端的瀏覽器就只收到這個憑證檔,自己解出public key ?
    (b) 還是我的主機也同時會傳送public key給使用者端的瀏覽器,讓瀏覽器去比對憑證檔的public key和我給的public key是否相同?

  2. 是否只有一開始連線時,會用非對稱式的方式確認、傳送public key,之後就用一組對稱式的金鑰來進行所有的資料傳送?

  3. 如果2.是正確的
    (a) 這組對稱式的金鑰多久會失效?
    (b) 這組對稱式的金鑰不會在使用過程中竊取嗎?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

7
wrxue
iT邦好手 1 級 ‧ 2021-01-28 16:48:40
  1. 剛好我前陣子也有這個疑惑,您的問題跟我當時想的非常像,我也做了功課寫成筆記給您參考,相信您細細品嘗後一定可以得到您想要得答案。其中public key包含在文章內文中的(Data)
    [SSL] 數位簽名與驗證的過程
  2. TLS握手都是用非對稱加密,握手結束之後的封包都會以對稱金鑰加解密來傳輸資料。
  3. a. 過不過期不是一句話就能結束的,可以參考這篇
    b. 不會被竊取(暴力破解除外),因為對稱金鑰產生的只有在握手的時候,當握手結束,雙方(client與server)都已經有了這把金鑰,不會再出現於網路之中!
helphelp iT邦新手 5 級 ‧ 2021-01-28 19:06:16 檢舉

謝謝 wrxue。

請教你一下,像 https://csrgenerator.com 這個網站可以產生CSR跟private key,

(a) 一般private key跟public key是一起產生的嗎? 還是用private key去產生public key ?
(b) CSR應該是包還一些網站資訊和public key ?
(c) 你的文章中的這個Data,是整個CSR? 還是只有public key ?

wrxue iT邦好手 1 級 ‧ 2021-01-28 20:38:07 檢舉

a) public/private金鑰對是一同時產生的,公私鑰都包含在私鑰檔內,當要產生CSR檔時,是把公鑰從私鑰檔中extract出來的。參考
b) CSR中的資訊包含1)公司相關資訊(/C/ST/O/OU/CN, etc.),2)公鑰,3)公私鑰的演算法與長度。參考
c) 可以簡單地把您的問題改為,「簽名是對哪些資訊(Data)做簽名?」當然是對整個CSR做簽名囉,但除了CSR外,還會有像是起訖時間(Valid from, Valid to)等等的憑證資訊,簡單來說,簽名是為了不被竄改,只要思考甚麼東西不可被竄改,答案便呼之欲出!可以參考瀏覽器方便的憑證檢視功能https://ithelp.ithome.com.tw/upload/images/20210128/20117357QhnqtV6aTj.png

0
by2048
iT邦高手 1 級 ‧ 2021-01-29 14:46:41

憑證申請後通常會得到幾個檔案
.crt .key .pfx
如未提供.key 可利用pfx輸出.key
openssl pkcs12 -in server.pfx -out server.pem
openssl rsa -in server.pem -out server.key

依照架站的需求可以轉換合成為需要的檔案
.pfx(windows架站用) .p7b .pem .jks(linux架站用)
再依各架站軟體,放入參數指定位置
https://publicca.hinet.net/SSL_download.htm

最後再去 https://www.myssl.cn/tools/check-server-cert.html
驗證站名及443是否符合申請的憑證

為了確認域名是否經過ssl認證為正常的網站提高安全性為主,
並不是為了讓遠端用戶拿到public key來解碼用

如果錯誤麻煩前輩指導了

我要發表回答

立即登入回答