双通认证密钥协商与密钥确认协议解析
1. 基础概念
在密钥交换过程中,静态公钥通常通过证书进行交换。以A为例,CertA表示A的公钥证书,其中包含能唯一标识A的信息(如姓名和地址)、其静态公钥WA,以及认证机构(CA)对这些信息的签名。为避免未知密钥共享攻击,CA需验证A拥有与静态公钥WA对应的私钥wA。
在使用某个实体声称的公钥Q之前,要验证其是否具备特定的算术属性,即Q是否为基点P生成的子群中的有限点,这一过程称为公钥验证。具体验证步骤如下:
1. Q不等于表示无穷远点的O。
2. xQ和yQ是域Fq中的元素。
3. Q满足椭圆曲线E的定义方程。
4. nQ = O。
其中,步骤4的标量乘法计算量较大,为减轻负担,可在密钥验证时省略该步骤,这被称为嵌入式公钥验证。以下是几种常见的密钥协商协议。
2. 现有密钥协商协议
2.1 MTI/A0协议
MTI/A0协议由Matsumoto等人于1986年提出,旨在提供隐式密钥认证。具体步骤如下:
1. A生成随机整数rA(1 ≤ rA ≤ n - 1),计算点RA = rAP,并将(RA, CertA)发送给B。
2. B生成随机整数rB(1 ≤ rB ≤ n - 1),计算点RB = rBP,并将(RB, CertB)发送给A。
3. A计算K = rAWB + wARB。
4. B计算K = rBWA + wBRA。
5. 会话密钥k = kdf(K) (kdf为密钥派生函数)。
该协议中,A和B共同计算K = (rAwB + rBwA)P,但它不提供前向安全性(FS),
超级会员免费看
订阅专栏 解锁全文

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



