『技术』密码学技术如何选型?初探理论能力边界的安全模型

作者:李昊轩
系统变更后,为何隐私数据频频泄露?密码学算法自由组合后构成的新协议是否依旧安全?当下部署的隐私保护系统,10年后是否依旧有效?密码学协议是否越安全越符合实际业务需求?
这里,我们将继续密码学技术选型的分享,从单个密码学算法扩展到由多个密码学算法构成的密码学协议的安全性,梳理相关的能力边界,以及选用不同协议对实际业务中隐私保护效果的影响。
正如上一论所提到的,学术界在构造密码学算法时,引入了一系列安全假设,只有当这些安全假设都成真时,对应的密码学算法才安全。类似地,由多个密码学算法构成的密码学协议,由于加入更多的交互方,需要引入更多的安全假设。
对于一个密码学协议,其所需的所有安全假设,及对应假设下的安全性要求的集合,称之为安全模型。
了解安全模型中引入的不同安全假设,有利于企业在进行密码学相关的隐私保护技术选型时,客观评估备选技术方案的有效性。
安全模型中不少关键安全假设是相互独立的,可以根据这些关键安全假设将安全模型进行分类,以此简化评估流程。最常见的三种分类方式如下:

  • 半诚实 VS 恶意
  • 可通用组合 VS 不可通用组合
  • 计算资源无关 VS 计算资源相关
 『技术』密码学技术如何选型?初探理论能力边界的安全模型
文章图片
以上三种分类方式相互独立,相当于三维坐标轴中的三个维度。以下将以小华的故事为载体,一一阐明对应分类下,密码学协议的理论能力边界。
毕业季来临,主人公小华离开自己的家乡,来到了心仪城市就职。小华、房东美丽、房产中介之间的故事就此拉开帷幕……
半诚实 VS 恶意
小华初来驾到,眼下最迫在眉睫的事,就是找到可以让自己过夜的地方。小华通过中介获取房源列表,最终选定了一套比较满意的房源,并在中介的撮合下,与房东美丽取得了联系。
在这个过程中,中介作为参与第三方,受法律规范和社会道德所约束,一般情况下并不会对房屋合同的租金、房屋信息等内容进行篡改。但是,房屋合同中包含大量个人隐私数据,中介可轻易获取租赁双方相关行为信息,存在显著的隐私数据泄露风险。
为此,小华根据自身专业知识设计实现了一套密码学租房协议,只要中介能够正确履行该协议,交互过程中产生的隐私数据就不会泄露了。
以上租房交互协议,依赖中介能够正确执行租房交互协议的安全假设。基于这类安全假设的安全模型,在密码学中被称为半诚实模型,又称诚实且好奇模型,或被动攻击者模型。
半诚实模型
参与者一定会正确执行密码学协议,但会试图从密码学协议执行过程产生的中间结果中提取隐私数据。
当前大部分密码学协议都选用了半诚实模型,这类安全模型在效率、协议设计难度上都有显著优势。同时,大部分业务部署时,参与方都会被现实世界诸如法律法规等因素约束,不会进行极端恶意攻击。
小华期望通过上述半诚实模型下的密码学租房协议,与美丽完成房源匹配和签约流程。该技术方案将对小华和美丽的身份信息、租房明细等提供有效保护。
然而,意外还是发生了。中介并没有如约履行该协议,并在顶级黑客的协助下,篡改了部分协议流程,小华和美丽的隐私数据,最终还是泄露了。
为了应对以上隐私风险,这里需要引入密码学中更强的安全模型——恶意模型,也称主动攻击者模型。
恶意模型
参与者可以完全不遵守密码学协议,并会采取任何手段对密码学协议进行攻击从而提取隐私信息。
小华吸取了上次的教训,重新基于恶意模型设计了密码学租房协议。尽管中介和他的黑客伙伴使出了十八般武艺,但最终也没能攻破新协议。
小华和美丽的隐私数据终于得到了保护,但背后引入了高昂的代价。
在恶意模型下,构造一个安全的密码学协议,通常需要在每一个可能被攻击的环节引入零知识证明或安全多方交互。相比相同业务场景中半诚实模型下的密码学协议,其计算和通讯的代价以及协议自身的设计难度都会高很多,甚至可能会出现实际不可用的情况,影响最终的用户体验。


推荐阅读