基礎密碼學 數位簽章及其應用 樹德科技大學 資訊工程系 林峻立 助理教授
數位簽章程序
將金鑰加入數位簽章程序
金鑰的必要性 數位簽章需要一個公開金鑰系統。簽署者使用她的私密金鑰簽署;驗證者使用簽署者的公開金鑰驗證。 密碼系統會使用接收者的私密金鑰和公開金鑰;數位簽章會使用傳送者的私密金鑰和公開金鑰。
摘要簽署
數位簽章服務 訊息確認性 訊息完整性 不可否認性
數位簽章服務 - 訊息確認性 一個安全的數位簽章機制,如同一個傳統的簽名(無法輕易被複製),能提供訊息確認性(也稱為原始資料確認性)。 數位簽章提供訊息確認性。
數位簽章服務 - 訊息完整性 即使我們簽署整個訊息,仍能保有訊息完整性。因為若訊息被改變,就無法得到同一個簽章。現今的數位簽章機制使用雜湊函數於簽署和驗證演算法,以確保訊息完整性。 數位簽章提供訊息完整性。
數位簽章服務 - 不可否認性 信賴的第三者提供不可否認性。
機密性? 數位簽章並不提供私密性。若要保有私密性,必須應用加密/解密。
數位簽章機制 RSA數位簽章機制 ElGamal數位簽章機制 Schnorr數位簽章機制 數位簽章標準 橢圓曲線數位簽章機制
RSA 數位簽章機制
訊息摘要的 RSA 簽章
對稱式金鑰分配 當我們要加密較大的訊息時,對稱式金鑰加密法比非對稱式金鑰加密法快速許多。然而,對稱式金鑰加密法需要通訊的雙方事先共享一把秘密金鑰。如何安全地替通訊者分配秘密金鑰?
金鑰分配中心
對等式多重 KDC
階層式多重 KDC
會議金鑰 KDC 可以替每一位成員產生一把祕密金鑰。這把祕密金鑰只能用於成員與 KDC 之間, 而不能用於兩個成員之間。所以如果 Alice 想要和 Bob 祕密地通訊,她需要與 Bob 建立另一 把祕密金鑰。KDC 可以分別利用其與 Alice 和其與 Bob 之間的祕密金鑰,來替他們產生一把會議金鑰。 通訊雙方所共享的會議對稱式金鑰只會被使用一次。
使用 KDC 的一種簡單方法
Needham-Schroeder協定
Otway-Rees 協定
Kerberos Kerberos 既是一個身份確認協定,同時也是一個 KDC,因此它變得非常熱門。許多系 統(包括 Windows 2000)都使用 Kerberos。最原始的版本是由麻省理工學院(MIT)所設計,之後演變出許多版本。
Kerberos 的範例
公開金鑰的分配 在非對稱式金鑰的密碼學中,人們不需要共享對稱式金鑰。在公開金鑰的密碼學中,每個人都保護自己的私密金鑰並宣傳自己的公開金鑰。 公開宣布 信賴中心 在信賴中心加入控制 憑證管理中心 X.509 公開金鑰基礎建設
宣布公開金鑰
信賴中心
在信賴中心加入控制
憑證管理中心
X.509 的憑證格式
X.509 憑證的更新 憑證的廢止 差異式廢止 每一個憑證都有有效期限。如果這個憑證沒有任何問題,CA 會在舊的憑證過期之前核 發新的憑證。 在某些情形下,憑證必須在過期前就先被廢止。 差異式廢止 為了使憑證的廢止更有效率,我們介紹差異式憑證廢止清單[差異式 CRL(delta CRL)]。
憑證廢止的格式
PKI 的一些任務
階層式模型的 PKI
SSL Protocol Stack
SSL Handshake Protocol