支持撤销的联合秘密握手协议解析
一、引言
在密码学领域,秘密握手协议是一种特殊且复杂的协议。传统的秘密握手协议往往依赖于单一的集中式认证机构(CA),这在一定程度上限制了协议的灵活性和可扩展性。本文的目标是创建一种秘密握手方案,放宽对单一集中式 CA 的要求,支持独立且相互不信任的 CA 之间的联合。
二、秘密握手协议基础
(一)基本概念
秘密握手协议是用户为了交换关于某个属性的信息而参与的协议。在协议执行过程中,每个用户会执行两个动作:证明和验证。证明是指让对方相信自己拥有握手所涉及的属性;验证则是检查对方是否确实拥有该属性。
核心目标可以定义为:两个属于用户集合 U 的用户 ui 和 uj 认证为拥有属于属性集合 P 的共同属性 p∗。
一个简单的玩具协议实现该目标的方式如下:用户 ui 和 uj 接收与属性 p∗ 相关的秘密值 Kp∗。双方交换各自随机选择的随机数 ni 和 nj,然后使用消息认证码(如 HMAC)计算值 k = MACKp∗(ni||nj)。只有当双方都拥有正确的秘密值 Kp∗ 时,才会计算出相同的 k 值。通过证明双方计算出相同的值,完成证明和验证动作。
然而,这个简单协议存在局限性,即证明和验证动作无法分离,因为它们是通过对 k 的知识证明同时完成的。而 k 是随机数和 Kp∗ 的函数,所以在这个简单协议中,对 Kp∗ 的了解同时赋予了证明和验证属性 p∗ 的权利。
为此,我们定义了可分离性的概念:一个秘密握手协议是可分离的,如果授予证明能力而不授予验证能力(反之亦然)。根据这个定义,上述简单玩具协议是不可分离的。可分离性意味着将与属性相关的秘密
超级会员免费看
订阅专栏 解锁全文
16万+

被折叠的 条评论
为什么被折叠?



