强安全无证书密钥协商技术解析
1. 引言
在当今的网络通信中,密钥协商是保障信息安全的关键环节。无证书密钥协商方案因其独特的优势,成为了研究的热点。本文将深入探讨强安全无证书密钥协商的相关技术,包括H2预言机的修补、会话密钥揭示查询的处理以及多种策略的证明等内容。
2. H2预言机的修补
在无证书密钥协商过程中,H2预言机的一致性维护至关重要。由于在某些情况下,如敌手替换了无证书公钥,可能无法计算出查询H2预言机所需的所有数据。因此,需要对H2预言机进行修补,以确保会话密钥揭示查询和H2预言机查询之间的一致性。
2.1 处理流程
- 先H2查询后会话密钥揭示查询 :如果先收到H2查询,之后再收到匹配的会话密钥揭示查询,可利用决策预言机正确回答这些请求。
-
先会话密钥揭示查询后H2查询
:若先收到会话密钥揭示查询,而此时还没有匹配的H2查询,处理步骤如下:
- 将所有可用数据和能够计算的数据插入H2预言机,但可能需要留一些字段(如K、K′、L、L′、N、N′)为空。
- 从H2的输出域中选择一个随机值作为会话密钥,并将该值与不完整的H2查询数据一起记录。
- 对于后续的H2查询,先使用相应的决策预言机检查H2预言机的不完整条目是否与查询数据匹配。如果匹配,记录提交的完整信息并返回H2条目;同时,填充所有能够确定的长期值。如果没有匹配的条目,则像往常一样生成一个新的H2条目。
2.2 流程图
graph TD;
A[收到会话密钥揭示查询] --> B{是否有匹配的H2查询};
B -- 否 --> C[插入可用数据到H2预言机,部分字段留空];
C --> D[选择随机值作为会话密钥并记录];
D --> E[收到后续H2查询];
E --> F{是否有匹配的不完整条目};
F -- 是 --> G[记录完整信息并返回H2条目,填充长期值];
F -- 否 --> H[生成新的H2条目];
B -- 是 --> I[利用决策预言机正确回答请求];
3. 处理会话密钥揭示查询
3.1 会话场景假设
假设在会话Πt i,j中,参与方i和j不参与测试查询,且i为会话发起方。i收到消息(rMjP, xMjP)并接受,此时挑战者知道i的基于身份的私钥和临时私钥,即sH1(IDi)、sH3(H1(IDi))、ri。敌手可能已将i的无证书公钥替换为xMiP。
3.2 会话密钥计算
为了获得会话密钥,i需要使用会话数据查询H2预言机,具体元素如下:
SK = H2(i, j, riP, xMiP, rMjP, xMjP, rirMjP, xMixMjP, rixMjP, xMirMjP, K, K′, L, L′, N, N′)
除了H2查询中的公共值i、j、riP、xMiP、rMjP、xMjP外,挑战者作为i方,利用其(可能已损坏)的私有信息sH1(IDi)、sH3(H1(IDi))、ri,能够计算以下值:
- rirMjP:通过计算ri(rMjP)得到。
- rixMjP:通过计算ri(xMJ P)得到。
- K:由于修补后的H1预言机,挑战者知道logP H1(IDi) = li和logP H1(IDj) = lj,因此K可以计算为K = e(H1(IDj), sP)rie(lisP, rMjP)。
- K′:同理,挑战者知道logP H3(H1(IDi)) = yi和logP H3(H1(IDj)) = yj,K′可以计算为K′ = e(H3(H1(IDj)), sP)rie(yisP, rMjP)。
- L:知道li和lj后,L可以计算为L = e(lj(xMiP), sP)e(lisP, xMjP)。
- L′:计算方法与K′类似。
- N和N′:由于基于身份的私钥已知,N和N′容易计算。
3.3 缺失值情况
唯一缺失的值是xMixMjP和xMirMjP,挑战者无法计算这两个值。但挑战者仍然能够一致地回答会话状态揭示和H2查询,具体方法如下:
-
先H2查询后会话状态揭示查询
:通过检查所有条目,判断e(xiP, xjP) = e(xixjP, P)和e(xMiP, rMjP) = e(xMirMjP)是否成立,以识别相应的H2条目。
-
先会话状态揭示查询后H2查询
:如果没有匹配的H2条目,从H2的输出域中创建一个新的随机值,并将其分配给不完整的条目。然后,使用上述配对方法检查敌手对H2预言机的后续查询,并正确回答这些查询。
3.4 计算值汇总表
| 计算值 | 计算方法 |
|---|---|
| rirMjP | ri(rMjP) |
| rixMjP | ri(xMJ P) |
| K | e(H1(IDj), sP)rie(lisP, rMjP) |
| K′ | e(H3(H1(IDj)), sP)rie(yisP, rMjP) |
| L | e(lj(xMiP), sP)e(lisP, xMjP) |
| L′ | 类似K′的计算方法 |
| N和N′ | 基于已知的基于身份的私钥计算 |
4. 策略1 - 9的证明
4.1 策略1
- 目标 :挑战者B希望利用敌手M解决计算Diffie - Hellman问题,输入为(aP, bP),目标是计算abP。
-
操作步骤
:
- 将IDI的无证书公钥设置为aP,IDJ的无证书公钥设置为bP。
- 使用配对计算e(aP, bP) = e(abP, P),检查敌手对H2预言机的查询是否有效。
- 一旦找到有效查询,终止游戏并返回abP作为CDH挑战的解决方案。
- 成功概率 :AdvB(k)[CDH] ≥ AdvM(k)[Π] / (9q0q2 1)
4.2 策略2
- 目标 :与策略1相同,利用敌手M解决计算Diffie - Hellman问题。
-
操作步骤
:
- 在测试查询中将IDI的临时密钥设置为aP,IDJ的临时密钥设置为bP。
- 使用配对计算e(aP, bP) = e(abP, P),检查敌手对H2预言机的查询是否有效。
- 找到有效查询后,终止游戏并返回abP作为CDH挑战的解决方案。
- 成功概率 :AdvB(k)[CDH] ≥ AdvM(k)[Π] / (9q0q2 1)
4.3 策略3和4
- 目标 :将CDH挑战嵌入rIxJP(策略3)或rJxIP(策略4)。
-
操作步骤(以策略3为例)
:
- 选择主私钥s $← p。
- 将IDI的无证书公钥设置为xIP = aP,IDJ的临时公钥设置为rJP = bP。
- 检查H2查询中是否有e(P, rJxIP) = e(aP, bP)的条目。
- 一旦找到这样的条目,终止游戏并返回rJxIP作为BDH挑战的解决方案。
- 成功概率 :AdvB(k)[CDH] ≥ AdvM(k)[Π] / (9q0q2 1),策略4与策略3对称,成功概率相同。
4.4 策略5和6
- 目标 :将BDH挑战嵌入L2(策略5)或L1(策略6)。
-
操作步骤(以策略5为例)
:
- 将主公钥设置为aP,实现H1预言机,使H1(IDI) = bP。
- 修补H3预言机,使H3(H1(IDI)) = H3(bP) = ytbdh1P - zbP。
- 将IDJ的无证书公钥设置为cP。
- 当收到揭示查询时,先检查H2是否被询问过涉及IDI和IDJ的匹配会话字符串。
- 由于无法计算L,使用双线性Diffie - Hellman陷门检查M提交的查询是否有效。
- 一旦找到有效条目,终止游戏并返回L / L1作为BDH挑战的解决方案。
- 成功概率 :AdvB(k)[CBDH] ≥ AdvM(k)[Π] / (9q0q2 1),策略6与策略5对称,成功概率相同。
4.5 策略7和8
- 目标 :将BDH挑战嵌入K2(策略7)或K1(策略8)。
-
操作步骤(以策略7为例)
:
- 将主公钥sP设置为aP(B不知道s)。
- 改变H1预言机的操作模式,使H1(IDI) = bP。
- 修补H3预言机,使H3(H1(IDI)) = H3(bP) = ytbdh1P - zbP。
- 将参与第T个预言机ΠT I,J的J(J ≠ I)的临时公钥设置为cP。
- 重新计算K1 = e(aP, P)lJ rI和K′ 1 = e(aP, P)yJrI。
- 在H2预言机的表中搜索满足(K / K1)z · K′ / K′ 1 = e(aP, cP)ytbdh1的条目。
- 一旦找到这样的条目,终止游戏并返回K / K1作为计算双线性Diffie - Hellman挑战的解决方案。
- 成功概率 :AdvB(k)[CBDH] ≥ AdvM(k)[Π] / (9q0q2 1),策略8与策略7对称,成功概率相同。
4.6 策略9
- 目标 :将BDH挑战嵌入N。
-
操作步骤
:
- 将主私钥设置为aP,H1(IDI) = bP,H1(IDJ) = cP。
- 修改H3预言机,使H3(H1(IDI)) = H3(bP) = ytbdh1P - zbP,H3(H1(IDJ)) = H3(cP) = ytbdh2P - zcP。
- 当收到会话密钥揭示查询时,先检查H2是否被询问过涉及IDI和IDJ的匹配会话字符串。
- 由于通常无法计算L或N,使用陷门检查M提交的查询是否有效。
- 一旦找到有效条目,终止游戏并返回N作为BDH挑战的解决方案。
- 成功概率 :AdvB(k)[CBDH] ≥ AdvM(k)[Π] / (9q0q2 1)
4.7 策略汇总表
| 策略 | 目标 | 关键操作 | 成功概率 |
|---|---|---|---|
| 策略1 | 解决计算Diffie - Hellman问题 | 设置公钥,用配对检查查询 | AdvB(k)[CDH] ≥ AdvM(k)[Π] / (9q0q2 1) |
| 策略2 | 解决计算Diffie - Hellman问题 | 设置临时密钥,用配对检查查询 | AdvB(k)[CDH] ≥ AdvM(k)[Π] / (9q0q2 1) |
| 策略3 | 将CDH挑战嵌入rIxJP | 选择主私钥,设置公钥和临时公钥,检查查询 | AdvB(k)[CDH] ≥ AdvM(k)[Π] / (9q0q2 1) |
| 策略4 | 将CDH挑战嵌入rJxIP | 与策略3对称操作 | AdvB(k)[CDH] ≥ AdvM(k)[Π] / (9q0q2 1) |
| 策略5 | 将BDH挑战嵌入L2 | 设置主公钥,修改预言机,用陷门检查查询 | AdvB(k)[CBDH] ≥ AdvM(k)[Π] / (9q0q2 1) |
| 策略6 | 将BDH挑战嵌入L1 | 与策略5对称操作 | AdvB(k)[CBDH] ≥ AdvM(k)[Π] / (9q0q2 1) |
| 策略7 | 将BDH挑战嵌入K2 | 设置主公钥,修改预言机,设置临时公钥,检查查询 | AdvB(k)[CBDH] ≥ AdvM(k)[Π] / (9q0q2 1) |
| 策略8 | 将BDH挑战嵌入K1 | 与策略7对称操作 | AdvB(k)[CBDH] ≥ AdvM(k)[Π] / (9q0q2 1) |
| 策略9 | 将BDH挑战嵌入N | 设置主私钥,修改预言机,用陷门检查查询 | AdvB(k)[CBDH] ≥ AdvM(k)[Π] / (9q0q2 1) |
5. 结论与展望
5.1 研究成果总结
通过对强安全无证书密钥协商的深入研究,取得了一系列重要成果。提出了最强的无证书加密安全模型,并将其与I型和II型敌手相关联。构建了首个在随机预言机模型下被证明安全的强安全一轮无证书密钥协商方案,该方案在计算双线性Diffie - Hellman和计算Diffie - Hellman假设成立的条件下是安全的。这一成果正面回答了关于是否能够构建满足扩展eCK模型的无证书密钥协商方案的问题。
5.2 方案优势与特点
该协议与现有的无证书密钥基础设施兼容,易于部署。它是无证书加密的自然补充,表明存在实用的无证书认证密钥交换(CL - AKE)协议,尽管计算成本较高。同时,还展示了如何利用间隙假设降低计算成本。此外,证明了该方案比基于身份的方案更安全,因为密钥生成中心(KGC)更难获取秘密信息。
5.3 未来研究方向
尽管取得了上述成果,但仍有一些问题需要进一步研究。未来的研究方向包括:
-
设计更高效的协议
:需要设计在一轮内完成且基于标准计算问题(如DH或BDH)被证明安全的计算效率更高的无证书密钥协商协议。
-
标准模型下的证明
:在标准模型下对无证书密钥协商方案进行证明是一个非常有意义的研究方向。
5.4 总结
强安全无证书密钥协商在保障网络通信安全方面具有重要意义。本文提出的方案为解决相关安全问题提供了有效的途径,但在效率和理论证明方面仍有提升空间。未来的研究有望进一步完善无证书密钥协商技术,使其在实际应用中发挥更大的作用。
5.5 未来研究方向流程图
graph LR;
A[无证书密钥协商研究] --> B[设计高效协议];
A --> C[标准模型证明];
B --> D[一轮完成且基于标准问题];
C --> E[提升理论安全性];
5.6 研究成果与未来方向汇总表
| 类别 | 内容 |
|---|---|
| 研究成果 | 提出最强安全模型,构建强安全一轮方案,回答相关问题,展示降低成本方法,证明比基于身份方案更安全 |
| 未来方向 | 设计更高效一轮协议,在标准模型下证明方案 |
超级会员免费看
1262

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



