Distributed Systems笔记-Cryptographic Protocols
CMU 95702 Distributed Systems 筆記。簡單介紹幾種加密、簽名方式。
AES 和 RSA 筆記?的續章。
Scenario 1 (Like WWII 和 TEA)
問題是:
雙方如何同步密鑰?
怎么確定 B 收到的?MiKABMiKAB?不是 replay of an old message?
Scenario 2 (Like Kerberos)
可以防止 replay,但?問題是:
- 難以 scale,S 必須知道?KAKA,?KBKB,…
- S 是唯一可能導致失敗的因素。
Kerberos 這一名詞來源于希臘神話“三個頭的狗——地獄之門守護者”系統設計上采用客戶端/服務器結構與DES加密技術,并且能夠進行相互認證,即客戶端和服務器端均可對對方進行身份認證。可以用于防止竊聽、防止 repla y攻擊、保護數據完整性等場合,是一種應用對稱密鑰體制進行密鑰管理的系統。
Needham-Schroeder protocol
這層協議是 Kerberos 的基礎,在這之后,Alice and Bob share a secret (KAB)
Scenario 3 (Authentication)
數字簽名,用私鑰簽名,公鑰解密。注意公鑰加密比私鑰慢 100-1000倍。
很難找到 digest(M1) == digest(M2)
問題:
如果 A 說他沒有簽名?說自己的私鑰泄漏了?只要 A、B 互相信任,還是有用的。
Scenario 4 (Like SSL)
最后 A 和 B 共享了對稱的鑰匙?KABKAB
問題:
在 A 第一次得到 B 的公鑰時(A 認為這是 B 的公鑰,然而這并不是,這是 C 也經過第三方 T 簽名認證的公鑰。
TLS 和這個相似
Message Authentication Codes(MACs)
對稱加密生成的數字簽名。
雙方都有 Key(K),sender 把 Key(K) 通過 MAC 算法加密后連同 message 一起給 receiver,receiver 比對收到的 MAC 和自己用 MAC 算法對自己這里的 Key(K) 加密后的 MAC 是否一致,如果一致,那么信息真實性和完整性就得到了證實。
用于數字簽名,雙方都算了一遍 MAC
JAVA 里的 keystore 和 truststore
keystore: 存了公鑰、私鑰、證書
truststore:存了公鑰,只能存 server 發過來的東西
原文地址: http://www.shuang0420.com/2016/11/02/Cryptographic-Protocols/
總結
以上是生活随笔為你收集整理的Distributed Systems笔记-Cryptographic Protocols的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Distributed Systems笔
- 下一篇: Distributed Systems笔