论文标题

正式方法分析安全远程密码协议

Formal Methods Analysis of the Secure Remote Password Protocol

论文作者

Sherman, Alan T., Lanus, Erin, Liskov, Moses, Zieglar, Edward, Chang, Richard, Golaszewski, Enis, Wnuk-Fink, Ryan, Bonyadi, Cyrus J., Yaksetig, Mario, Blumenfeld, Ian

论文摘要

我们在SRP的首次正式分析中使用加密协议形状分析仪(CPSA)分析了结构弱点的安全远程密码(SRP)协议(特别是版本3)。 SRP是1Password,iCloud KeyChain和其他产品中使用的广泛部署密码认证的密钥交换(PAKE)协议。与许多Pake协议一样,两个参与者使用预共享密码的知识来互相验证并建立会话密钥。 SRP旨在抵抗字典攻击,而不是在服务器上存储明文等效密码,避免侵犯专利,并通过不使用加密来避免导出控件。对SRP的正式分析部分具有挑战性,部分原因是现有工具没有简单的方法来推理其使用数学表达式$ v + g^b \ mod q $。 建模$ v + g^b $作为加密,我们完成了对SRP的所有可能执行序列的详尽研究。忽略可能的代数攻击,该分析没有检测到任何主要的结构弱点,尤其没有泄漏任何秘密。我们确实发现了SRP的一个显着弱点,这是根据其设计限制的。恶意服务器可以在不参与的情况下与客户端伪造身份验证会话。如果客户具有比服务器更高的特权,此操作可能会促进特权攻击的升级。在使用CPSA之前,我们对这种攻击进行了构想,并通过使用CPSA生成相应的执行形状来确认它。

We analyze the Secure Remote Password (SRP) protocol for structural weaknesses using the Cryptographic Protocol Shapes Analyzer (CPSA) in the first formal analysis of SRP (specifically, Version 3). SRP is a widely deployed Password Authenticated Key Exchange (PAKE) protocol used in 1Password, iCloud Keychain, and other products. As with many PAKE protocols, two participants use knowledge of a pre-shared password to authenticate each other and establish a session key. SRP aims to resist dictionary attacks, not store plaintext-equivalent passwords on the server, avoid patent infringement, and avoid export controls by not using encryption. Formal analysis of SRP is challenging in part because existing tools provide no simple way to reason about its use of the mathematical expression $v + g^b \mod q$. Modeling $v + g^b$ as encryption, we complete an exhaustive study of all possible execution sequences of SRP. Ignoring possible algebraic attacks, this analysis detects no major structural weakness, and in particular no leakage of any secrets. We do uncover one notable weakness of SRP, which follows from its design constraints. It is possible for a malicious server to fake an authentication session with a client, without the client's participation. This action might facilitate an escalation of privilege attack, if the client has higher privileges than does the server. We conceived of this attack before we used CPSA and confirmed it by generating corresponding execution shapes using CPSA.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源