跳到主要内容

透明度协议的自动验证

文森特·雪娃、何塞·莫雷拉和马克·瑞恩

摘要

我们在ProVerif中引入了新功能,这是一个用于验证安全协议的自动工具,以及使用它们的方法。此方法和这些功能针对的是包含复杂数据类型且具有强大属性的协议,例如Merkle树,它允许对数据存在和树扩展进行紧凑证明。此类数据类型广泛用于使用分布式账本和/或区块链的系统中的协议。

使用我们的方法,可以使用ProVerify公理非常抽象地描述数据类型,并使用这些公理作为假设来证明协议的正确性。然后,在单独的步骤中,可以定义数据类型的一个或多个具体实现,并再次使用ProVerify显示实现满足作为公理编码的假设。这有助于进行合成证明,将证明负担分解为几个可管理的部分。

为了实现这种方法,我们通过扩展它可以推理的引理和公理类,在ProVerify中引入了新功能。具体来说,我们允许用户定义的谓词、攻击者谓词和消息谓词出现在引理和公理中,并定义它们的语义。我们展示了这个想法在语义方面的实现的可靠性。

我们通过对两个精确建模Merkle树数据结构的透明协议进行第一次形式化验证来说明方法和特性。这两种协议分别是透明解密(有时称为责任解密)和证书透明。透明解密是一种确保受解密操作影响的人可以看到解密操作的方法。例如,这可以用于支持隐私:这意味着主题会收到有关他们的信息已被解密的警告。证书透明度是用于监控和审核数字证书颁发的互联网安全标准。

书籍标题
第八届IEEE欧洲安全与隐私研讨会-2023年欧洲标准普尔荷兰代尔夫特,2023年7月3日至7日
107–121
出版商
美国电气工程师协会
年份
2023