首页 > 其他分享 >Applied Cryptography(5)——加密协议(Cryptographic Protocols)

Applied Cryptography(5)——加密协议(Cryptographic Protocols)

时间:2022-11-21 10:23:50浏览次数:69  
标签:Applied Cryptographic 加密 key 攻击者 服务器 加密协议 Protocols

加密协议(Cryptographic Protocols)

本节将会结合之前学过的对称加密、加密散列函数以及非对称加密来解决问题,其中主要问题便是如何在服务区(Server)与客户(Client)之间进行认证。任何时候我们谈到加密协议,就不得不提及与之相关的威胁模型(Threat Model),威胁模型分析是寻找系统潜在威胁以建立对抗的策略,以建立安全的系统,简单来说就是了解攻击者的能力。

  • 假设攻击者算力有限
  • 加密系统正常工作
  • \(E_k(m)\),攻击者在没有 \(k\) 的情况下无法解密
  • 哈希函数\(H(x)\)
    • 原相抗性:对于所有预设输出,从计算角度应无法找到符合输入哈希的输出)
    • 抗碰撞性:无法从计算角度找到任何两个哈希值都相同的独特输入 \(x\),例如\(h(x) = h(x′)\)
  • 攻击者类型
    • passive attacker: only eavesdrop
    • active attacker: controls the network, modify messages, replay messages, attack-in-the-middle

密钥交换协议(Encrypted Key Exchange protocol,EKE)

Steven M. Bellovin and Michael Merritt, 1992

该协议运用之前所学的Diffie-Hellman密钥交换方法,并对产生的信息级联用户id,再进行对称加密
img

\[y_A=g^{x_A} \bmod q \\ y_B=g^{x_B} \bmod q \]

img

上述协议的缺点是需要将key(p)的明文保存在服务器上,并且没有实现用户与服务器之间的身份验证。

为了实现用户与服务器之间的身份验证,我们需要验证双方都持有相同的key。由服务器随机选择一个数 \(r\) ,用key对其加密得到 \(E_k(r)\),级联发送 \(<E_p(g^{x_B} \bmod q), E_k(r)>\),用户收到后进行解密,为了向服务器证明自己确实接收到了 \(r\),并且为了验证服务器,再随机选择一个数 \(r_A\),利用key加密后获得\(<E_k(r||r_A)>\) 发送给服务器,服务器解密后获得 \(r\) 与 \(r_A\),首先比较 \(r\) 是否一致,确认用户身份,再将 \(r_A\) 加密后发送给用户,用户验证 \(r_A\) 是否一致来确认对方身份。

完整版EKE:
img

安全外壳协议(Secure Shell Protocol,SSH)

传输层安全协议(Transport Layer Security,TLS)

标签:Applied,Cryptographic,加密,key,攻击者,服务器,加密协议,Protocols
From: https://www.cnblogs.com/I-am-Sino/p/16910523.html

相关文章