原來以為rsa之類的公開金鑰演算法很容易實現安全通訊,最近仔細研究了一下才發現問題並不簡單。
alice 想給 bob 傳送乙份加密訊息,於是通過公開渠道索取 bob 的公鑰,並用其公鑰加密資訊,該加密資訊必須用 bob 的私鑰才能解密。
如果在索取 bob 公鑰的過程中,carol 從中間擷取了 bob 的公鑰 ,把自己偽造的公鑰發給了 alice。於是 alice 用了偽造的公鑰加密了資訊。carol 從公開渠道拿到加密資訊後,自然能夠解密資訊。然後,carol 再用擷取的 bob 的公鑰加密資訊,發給 bob。
上述過程,alice 和 bob 對中間的擷取資訊、偽造資訊的過程完全不知曉。其原因在於,利用公開渠道通訊,alice 無法保證拿到的公鑰是 bob 本人的。
alice 拿到 bob 的公鑰後,向第三方權威認證機構申請鑑定,確保公鑰確實是 bob 的。
當然,bob 必須實現到第三方權威認證機構登記註冊其公鑰。我上網查了一下,這個第三方的服務費還不便宜呢。
自己寫的系統,客戶端不必利用公開渠道獲取伺服器公鑰,這個時候,伺服器公鑰不必借助第三方認證。
什麼是數字證書
打個比方,有兩個小朋友在網上相互發訊息,名字分別是小明和小紅,小明想要給小紅發個訊息,但是呢,又擔心發的訊息被別人修改,就像信件被郵局修改那樣。所以呢,小明想了個辦法。給資料 簽個名 然後小紅同學呢,就驗證這個資料的簽名是不是小明同學的,如果是,那麼資料沒有被修改。那怎麼簽名呢?這種蓋章的好處是什麼...
數字簽名 數字證書是什麼?
傳送門 今天,我讀到一篇好文章。它用通俗易懂地解釋了,數字簽名 digital signature 和 數字證書 digital certificate 到底是什麼。文中涉及的密碼學基本知識,可以傳送。1.鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰。2.鮑勃把公鑰送給他的朋友們 帕蒂 道格 蘇珊 每人...
SSL數字證書加密有什麼作用
ssl證書是數字證書的一種,類似於駕駛證 護照和營業執照的電子副本。因為配置在伺服器上,也稱為ssl伺服器證書。ssl 證書就是遵守 ssl協議,由受信任的數字證書頒發機構ca,在驗證伺服器身份後頒發,具有伺服器身份驗證和資料傳輸加密功能。主要有兩個作用 1 加密傳輸資料 使用者通過http協議訪問...