密码协议
密码协议是多方交互,由密码原语构建,旨在实现安全目标,例如协商密钥、在不泄露信息的情况下证明某个陈述,或联合计算私有输入。
用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
Learn & explore
视频即将推出
Definition
密码协议是两个或多个参与方之间精确指定的消息交换序列,使用密码原语,旨在即使在存在对手的情况下也能实现安全目标。
Scope
该领域涵盖在原语之上构建的交互式结构:认证密钥交换和建立、零知识证明、安全多方计算,以及旨在抵御量子对手的新兴后量子协议。它涉及协议的规范方式、它们必须抵御的对手模型,以及用于证明其安全性的基于模拟和基于博弈的方法。它不包括底层的对称和公钥原语本身,以及在系统和网络安全下处理的已部署网络协议(TLS、IPsec)。
Sub-topics
Core questions
- 如何将简单的原语组合成能够实现更丰富目标(如公平性或隐私性)的协议?
- 协议必须抵御哪些对手模型(被动、主动、恶意、半诚实)?
- 一方如何在不泄露其他信息的情况下说服另一方某个陈述是真实的?
- 互不信任的各方如何计算其私有输入的函数?
- 协议安全性如何证明,以及为什么组合如此微妙?
Key concepts
- 交互式协议
- 对手模型
- 认证密钥交换
- 零知识
- 安全多方计算
- 承诺方案
- 基于模拟的安全性
- 协议组合
- 后量子安全性
Key theories
- 零知识证明
- 一种交互式证明,其中证明者说服验证者某个陈述是真实的,而不泄露除其真实性之外的任何信息,通过存在一个能够重现验证者视图的有效模拟器来形式化。
- 基于模拟的安全性
- 协议安全性通过将实际执行与可信方计算函数的理想世界进行比较来定义;如果任何现实世界的攻击都可以在理想世界中模拟,则协议是安全的,从而确保没有额外信息泄露。
Clinical relevance
密码协议大规模地支持隐私和信任:认证密钥交换保护每个TLS和消息会话,零知识证明实现保护隐私的区块链和匿名凭证,安全多方计算允许组织在不泄露组合数据的情况下进行计算(私有集合交集、安全拍卖、联邦分析),并且正在部署后量子协议以保护长期存在的秘密免受未来量子攻击者的侵害。
Evidence & guidelines
现代协议越来越多地伴随着机器验证或基于博弈的安全证明;Noise框架和TLS 1.3经过了形式化分析。NIST已经标准化了后量子方案(FIPS 203/204/205),并且零知识和MPC技术正在通过行业联盟和学术框架进行标准化。
History
该领域起源于1970年代后期的密钥交换协议,并在1980年代引入的严格概念下成熟:零知识证明(Goldwasser, Micali, Rackoff, 1985-1989)、安全两方和多方计算(Yao, 1982; Goldreich-Micali-Wigderson, 1987),以及用于定义安全性的模拟范式。2010年代带来了这些曾经是理论性的协议的实用化部署版本,并在量子威胁的推动下,实现了后量子密码学的标准化。
Key figures
- Shafi Goldwasser
- Silvio Micali
- Charles Rackoff
- Andrew Yao
- Manuel Blum
- Oded Goldreich
Related topics
Seminal works
- goldwasser1989
- katz2020
- menezes1996
Frequently asked questions
- 为什么将安全原语组合成协议如此容易出错?
- 单独证明安全的密码原语可能会发生不良交互:重放消息、重复使用随机性或并发运行多个协议实例可能会破坏单个运行所具备的安全性。这就是为什么协议需要明确的对手模型和考虑组合的证明,而不仅仅是安全的构建块。
- 这些协议仅仅是理论性的吗?
- 不再是了。零知识证明已在生产区块链中运行,安全多方计算用于保护隐私的分析和密钥管理,后量子协议正在TLS和消息传递中推广。1980年代的许多想法现在已在互联网规模上部署。