基于身份的密钥隔离聚合签名

基于身份的密钥隔离聚合签名,再访

1 引言

1.1 背景与动机

数字签名确保了数字文档的有效性。确保数字签名安全性的主要方法之一是将其归约到计算上困难的问题,例如整数分解问题和离散对数问题。然而,对于试图伪造签名的攻击者来说,通常更容易从一个缺乏经验的用户那里获取私钥,而不是攻破计算上困难的问题。如今,随着数字签名在不安全设备(例如移动设备或物联网(IoT)设备)上的部署,此类威胁似乎有所增加,因为这些设备可以被轻易窃取或丢失。另一个问题是底层困难性假设的削弱。移动或物联网设备通常需要使用较短的安全参数,因为较长的参数由于内存容量较小而无法使用。然而,这种较短的参数可能会使攻击者获得优势,即其底层困难问题变得更容易。上述问题通常被称为密钥泄露(或简称为密钥泄露)。本文中,我们关注密钥隔离公钥密码系统 Dodis 等人提出的[2]以减少密钥泄露造成的损害。

在[2]的模型中,用户首先注册一个公钥 pk,并将“主”私钥 sk∗ 存储在一个物理安全设备上。该设备能够抵抗被攻破的风险。诸如公钥加密中的解密或数字签名中的签名等密码操作,在用户不安全设备上执行,因此可能发生密钥泄露。协议的生命周期被划分为不同的时间段 1,…, N(为简便起见,我们假设这些时间段长度相等;例如一天)。在每个时间段开始时,用户与安全设备交互以获取该时间段的临时私钥 skk,但公钥 pk 在每个时间段内保持不变。相反,密文或签名会标注对应的时间段 k。用户的不安全设备被认为容易遭受重复密钥泄露。也就是说,最多有 T < N 个时间段的密钥可能被泄露。当某个私钥 skk 被泄露后,攻击者将能够解密该时间段 k 的密文或对消息进行签名。然而,[2]的目标是最小化此类泄露造成的影响;攻击者将无法解密其余 N − T 个时间段的密文或伪造其签名。满足此性质的方案称为 (T, N)‐密钥隔离方案。

我们开展此项工作的主要动机是考虑在上述密钥隔离环境下应用基于身份的聚合签名(IBAS)[4]。聚合签名由 Boneh 等人[1]提出,可将多个签名聚合成一个简短的签名,即使这些签名是由不同签名者对不同消息生成的。这对于内存大小和带宽较小的移动或物联网设备而言非常有用,因为可以减小存储空间和通信开销。此外,由于基于身份的设置,IBAS 允许使用任意字符串作为其公钥(例如电子邮件地址。在现实世界场景中,许多用户都拥有自己的移动设备)。事实上,基于身份的设置被认为是适用于移动或物联网通信的理想环境[12]。然而,在上述描述的环境中,不安全设备上的密钥泄露成为一个不可避免的威胁。如果聚合签名中某个签名者的私钥被泄露,则整个聚合签名将变得不可信。此外,在基于身份的环境中,对应于泄露私钥的签名者将无法继续使用其字符串作为公钥,必须从系统中移除这些密钥。因此,减少 IBAS 中密钥泄露所造成的损害非常重要。

1.2 贡献

我们提出了基于身份的密钥隔离聚合签名(IBKIAS),即具有密钥隔离特性的 IBAS。尽管雷迪和哥帕尔[9]首次考虑了 IBKIAS 的概念,但遗憾的是,他们的方案不是聚合签名方案。在他们的方案中,无法聚合每个签名者在单独签名过程中使用的随机性。也就是说,聚合签名的大小与签名者的数量呈线性关系。紧致性是指签名大小相对于签名者数量保持固定,这是最重要的特性,而我们的方案能够实现这种紧致性。因此,就聚合签名的紧致性而言,我们的方案是首个 IBKIAS 方案。

我们注意到,从基于身份的密钥隔离签名方案构建 IBKIAS 方案[11,14]是非平凡的,因为两个组件都依赖于每个签名者的随机性,且依赖于临时私钥的组件会随着签名者数量线性增长,类似于雷迪和哥帕尔的方案[9]。为了解决这个问题,我们采用了亨特和拉姆赞提出的同步技术[4],其中每个签名者预先共享一个公共随机字符串。此外,通过在签名者之间不仅共享公共随机字符串,还共享一个单一的物理安全设备,我们的方案完全实现了紧致性。也就是说,我们将同步技术同时应用于签名本身和物理安全设备。我们证明,在这种设置下的 IBKIAS 在[4]所提出的 IBAS 的自适应安全模型中仍然是可证明安全的。我们还重新审视了 IBKIAS 的安全模型。我们的模型能够讨论自适应身份安全性,即目标身份无需预先指定,而现有模型[9]只能处理选择性身份模型。我们将雷迪和哥帕尔的方案[9]与我们提出的 IBKIASOurs 方案进行比较,并在表1中列出了结果。

表1。不同方案的比较。聚合签名大小(Agg Size)以群元素个数计算,我们用 I 表示签名者数量,用 |G| 表示群 G 中一个元素的比特长度。我们还假设状态信息 w(后文描述)的大小等于安全参数 λ。

安全性模型 聚合签名大小 紧致性
(I+1)|G| (I+1)|G| (I+1)|G| (I+1)|G| (I+1)|G|
雷迪和哥帕尔 [9] 选择性身份 4|G| 4|G| 4|G|
雷迪和哥帕尔 [9] 选择性身份 4|G| 4|G| 4|G|
IBKIASOurs 自适应身份 + λ + λ Yes

我们未来的工作提出了一种无需同步技术及随机预言机的 IBKIAS 方案。

1.3 相关工作

由于篇幅限制,我们在第2节简要回顾密钥隔离签名的一些安全性概念。已有一些基于身份的密钥隔离密码系统被提出,例如分层加密方案[5,10]或签名方案[11,14]。我们考虑一种类似且高效的 IBKIAS 实例化方案,可通过应用我们的技术来构造。

赵等人[13]研究了密钥隔离聚合签名,但他们的方案并不是一个聚合签名方案,因为其缺乏紧致性不成立。与他们的构造不同,我们的构造实质上意味着一种安全的密钥隔离聚合签名,尽管我们省略了细节。文献[6–8]中的工作是近年来从任意标准签名导出(基于身份的)聚合签名的重要成果。我们认为,通过引入这些方法论,可以证明我们方案的安全性。

2 预备知识

2.1 符号表示和安全假设

如果 X 是一个有限集,我们用 x ←−$ X 表示 x 从 X 中均匀随机选取。如果 A 是一个算法,我们用 x← A(y) 表示当输入为 y 时,A 输出 x。令 Zq 表示 {0, 1,…, q − 1},Z∗ q 表示 Zq{0}。我们称一个函数 f(·): N→[0, 1] 是可忽略的,如果对于所有正多项式 p(·) 和所有足够大的 λ ∈ N,都有 f(·) < 1/p(λ)。我们称一个随机化算法 A 在概率多项式时间(PPT)内运行,如果存在一个多项式 p,使得 A 在输入长度为 λ 时的执行时间小于 p(λ)。

设 G 和 GT 是具有相同素数阶 q 的群。我们在 G 中定义双线性映射和计算性 Diffie‐Hellman(CDH)假设如下。此处,我们将 G 写为加法形式,将 GT 写为乘法形式。

定义 1 (双线性映射). 一个双线性映射 e: G × G → GT 是一个满足以下条件的映射:(1)双线性:对所有 P, Q ∈ G 和 a, b ∈ Zq, e(aP, bQ)= e(P, Q)ab。(2)非退化性:存在 P ∈ G,使得 e(P, P) ≠ 1。(3)可计算性:对所有 P, Q ∈ G,存在一个高效算法来计算 e(P, Q)。

定义 2 (ε-群 G 中的计算性 Diffie-Hellman(CDH)假设) 。考虑一个概率多项式时间(PPT)算法 A,其输入为 (e, q, G, GT, P, aP, bP),并输出 abP ∈ G。A 的优势定义为概率 ε:=Pr[P ←−$ G,(a, b) ←−$ Z q: abP← A(e, q, G, GT, P, aP, bP)]。我们说在 G 中 ε-计算性 Diffie-Hellman(CDH)假设对 A 成立,如果 A 无法以大于 ε 的成功概率为给定的 (e, q, G, GT, P, aP, bP) 输出 abP ∈ G。

2.2 密钥隔离签名的安全性

这里,我们简要回顾三种密钥泄露类型及其对策:(1) 普通密钥泄露,用于建模对不安全设备的(重复)攻破;(2) 主密钥泄露,用于建模对物理上安全的设备的攻破;(3) 密钥更新暴露,用于建模在密钥更新步骤中对不安全设备的(重复)攻破。如果方案满足第 T, N 节中描述的 (1)‐密钥隔离,则可将普通密钥泄露造成的损害降至最低。此外,若 T= N − 1 成立,则称该方案满足完全密钥隔离[3]。针对其余攻击 (2) 和 (3),

高级安全方面,Dodis 等人[2,3]提出了强密钥隔离和安全密钥更新的概念。他们对标准密钥隔离签名的形式化安全性定义包括 (T, N)‐密钥隔离、强密钥隔离以及安全密钥更新。

强密钥隔离。 如果物理上安全的设备被完全信任,它们可以生成 (pk, sk∗),然后保留 sk∗ 并代表用户发布 pk,其中 sk∗ 和 pk 分别表示用户的主私钥和公钥。当用户请求某个时间周期 k 的私钥时,该设备计算 skk 并将其发送给用户。另一方面,当物理上安全的设备不被信任时,一种解决方案是生成 (pk, sk),发布 pk,然后推导出密钥 sk∗ 和 sk0。用户随后将 sk∗ 发送给该设备,并将 sk0 存储在其不安全的设备上。当用户希望将其密钥更新至周期 j 的密钥时,物理上安全的设备计算并发送一个“部分”密钥 sk′ j,k 给用户,用户可利用 skk 和 sk′ j,k 计算出“实际”密钥 skj。满足此级别安全性的方案称为强方案。

安全密钥更新。 考虑攻击者在用户存储设备进行密钥更新时入侵其存储(即在两个周期 k 和 j 之间发生暴露)的情况。Dodis 等人[2,3]将这种情况称为在周期密钥更新暴露 j。在此情况下,攻击者可以获得 skk, sk′ j,k 以及(能够计算) skj。他们认为,若一个方案在周期 j 的密钥更新暴露等价于在周期 k 和 j 的密钥泄露,且不会造成更多泄露,则该方案具有安全密钥更新。

3 基于身份的密钥隔离聚合签名

我们重新定义了 IBKIAS 的语法和安全性。我们的安全模型不仅涵盖了第2节中描述的安全概念,还包含了后文所述密钥隔离签名的一些理想性质。此外,可以看出,就适应性而言,我们的模型优于雷迪和哥帕尔[9]的模型。具体来说,在我们的模型中,攻击者无需预先指定目标身份。此外,我们的模型还允许攻击者对伪造输出的身份发起密钥提取查询或临时私钥查询(后文将描述),而雷迪和哥帕尔的模型中的攻击者[9]不能对指定身份同时发起密钥提取查询和临时私钥查询。

3.1 语法

我们考虑以下两种情况:(1)存在一个单一的物理安全设备,由签名者共享;(2)每个签名者拥有自己的物理安全设备,且不共享。以下语法描述了这两种情况。

定义 3 (基于身份的密钥隔离聚合签名)。 IBKIAS 方案是由多项式时间算法组成的一个元组 (设置, 扩展∗, 更新, 签名, 聚合, 验证),满足以下条件:

Setup(1λ, N) → (P P, M SK):输入安全参数 λ 和(可选的)时间段总数 N,输出公共参数 P P 和主密钥 MSK。Ext(P P, M SK, IDi) → (sk∗ i, sk0i):输入公共参数 P P、主密钥 MSK 和身份 IDi,输出设备密钥 sk∗ i 和针对 IDi 的初始私钥 sk0i。Upd∗(P P, j, k, IDi, sk∗ i) → sk′j, k i :输入公共参数 PP、时间段索引 j, k(1 ≤ k, j ≤ N)、身份 IDi 和设备密钥 sk∗ i,输出部分私钥 sk′j, k i 。Upd(P P, j, k, IDi, skik, sk′j, k i:输入公共参数 PP、索引 j, k、私钥 skik 和部分私钥 sk′j, k i。Sign(P P, j, skj i, mi, w) → (j, si):输入公共参数 PP、时间段 j、私钥 skj i、消息 mi ∈ M 以及(可选的)某些状态信息 w,输出针对时间段 j 的部分签名 si。其中,M 为消息空间。Agg(P P, j,{si} I i=1) → (j, S):输入公共参数 PP、时间段 j 和部分签名 {si} I i=1,输出针对时间段 j 的聚合签名 S。如果发生任何错误,输出错误符号 ⊥。Vrfy(P P, j,{(IDi, mi)} I i=1, S) → {0, 1}:输入公共参数 PP、时间段 j、身份 {IDi} I i=1、消息 {mi} I i=1 和聚合签名 S,输出 0 或 1。

这里,我们假设 Setup 和 Ext 由私钥生成器 (PKG) 执行,类似于传统的基于身份的密码系统。为了使 IBKIAS 方案满足正确性条件,我们要求以下条件:

定义 4(IBKIAS 方案的正确性)。 我们称一个聚合签名是有效的,如果 Vrfy(P P, j,{ (IDi, mi) }iI=1, S) → 1。每一个诚实生成的聚合签名都是有效的,即对于任意 λ ∈ N、时间周期 {k}、身份 IDi ∈ {0, 1}∗ 和消息 mi ∈ M,我们有 Pr[Vrfy(P P, j,{(IDi, mi) }iI=1, S)= 1]= 1,其中 (P P, M SK) ← Setup(1λ, N),(sk∗ i, sk0i) ← Ext(P P, M SK, IDi),(j, si) ← Sign(P P, j, skj i, mi, w),且 (j, S) ← Agg(P P, j,{si} I i=1)。

接下来,我们定义随机访问密钥更新。

定义 5 (随机访问密钥更新)。 上述定义对应于支持随机访问密钥更新的方案,其中对于任意的 k、j ∈ {1,…, N},可以一步将 skik 更新为 skj i。较弱的定义仅允许 j= k+ 1。

此外,我们定义无界的时间段数量。不具备此性质的方案存在一个缺陷,即当所有时间段用尽后,除非重新初始化,否则该方案将无法继续运行。

定义 6 (无界的时间段数量)。 如果在设置阶段时间段的总数 N 未被固定,则称其支持无界的时间段数量。

最后,我们要求一个 IBKIAS 方案满足以下条件:

定义 7 (紧致性)。 我们称一个 IBKIAS 方案满足紧致性,如果聚合签名 S 的大小与在签名中生成的部分签名 si 的大小相同。

紧致性是为了提高效率,也是聚合签名方案的主要动机之一。

3.2 安全模型

我们给出了 IBKIAS 的安全模型。请注意,以下游戏涵盖了两种情况:(1)签名者共享一个物理安全设备;(2)每个签名者拥有各自的物理安全设备,且设备不共享。如果对于任意多项式时间攻击者 F,其在以下游戏中的优势是可忽略的,则称该 IBKIAS 方案为完全密钥隔离的:

设置: 挑战者 C 执行 Setup(1λ, N) 以生成 PP 和 MSK。C 将 PP 交给 F 并保留 MSK。

查询: F 自适应地发出一系列查询如下:
– 密钥提取查询 (IDi):C 执行 Ext(P P, M SK, IDi) 生成 (sk∗ i, sk 0 i),并将 (sk∗ i, sk 0
(j, IDi):C 执行 Upd(P P, j, k, IDi, sk k ′j, k i,并将 skj i 发送给 F。
– 签名查询 (j, IDi, mi):C 执行 Sign(P P, j, skj i, mi, w) 生成 (j, si),并将 (j, si) 发送给 F。

输出: F 输出一个元组 (j ∗,{(ID∗ i, m∗ i)} I i=1, S ∗)。我们称 F 赢得此游戏,如果满足以下条件:Vrfy(P P, j ∗,{(ID∗ i, m∗ i)} I i=1, S ∗) = 1;存在至少一个 ID∗ i,使得对该 ID∗ i 的密钥提取或对 (j ∗, ID∗ i) 的临时私钥从未被查询过;并且存在至少一个 ID∗ i,使得对 (j ∗, ID∗ i, m∗ i) 的签名从未被查询过。

在上述游戏中,未明确向 F 提供设备密钥查询。然而,在情况 (2) 下,F 可以通过发起密钥提取查询来自适应地获取设备密钥,即每个签名者拥有自己独立的物理安全设备且不共享该设备(但我们要求至少存在一个 ID∗ i,其密钥提取查询从未被发起过)。此外,本文未给出 IBKIAS 中 (T, N)‐密钥隔离的定义,因为我们直接考虑完全密钥隔离安全性,该安全性不限制对 F 的临时私钥查询次数。也就是说,允许 F 发起任意临时私钥查询(但我们要求至少存在一个 ID∗ i,其临时私钥查询从未被发起过)。以下定义对应于 IBKIAS 中的完全密钥隔离。

定义 8 (完全密钥隔离)。 我们称一个 IBKIAS 方案是完全密钥隔离的,如果对于任意多项式时间攻击者 F,其优势 ε′ 是可忽略的。

接下来,我们讨论会破坏物理安全设备的攻击。这包括来自设备自身的攻击,因为设备是不可信的。我们通过向攻击者提供设备密钥来对该类攻击进行建模(即,我们也可以通过允许攻击者对任意身份发起设备密钥查询来应对这类攻击)。需要注意的是,由于在情况 (2) 中,临时私钥可以隐式地通过密钥提取查询获得,即每个签名者拥有一个不共享的物理安全设备,因此攻击者也被允许获取任意身份在任意时间周期内的临时私钥。另一方面,在情况 (1) 中,即签名者共享一个单一的物理安全设备时,攻击者可以通过发起密钥提取查询和设备密钥查询来获取临时私钥(但我们要求至少存在一个身份,其密钥提取从未被查询过)。因此,在接下来的游戏模型中,我们不对攻击者提供临时私钥查询。如果对于任意多项式时间攻击者 F,其在以下游戏中的优势是可忽略的,则称该 IBKIAS 方案为强密钥绝缘的:

设置: 挑战者 C 执行 Setup(1λ, N) 以生成 PP 和 MSK。C 将 PP 交给 F 并保留 MSK。

Queries: F 自适应地发起一系列查询如下:
– 密钥提取查询 (IDi):C 执行 Ext(P P, M SK, IDi) 以生成 (sk∗ i, sk 0 i),并将 (sk∗ i, sk 0
钥查询 (IDi):C 执行 Ext(P P, M SK, IDi) 以生成 sk∗ i,并将 sk∗ i 发送给 F。
– 签名查询 (j, IDi, mi):C 执行 Sign(P P, j, skj i, mi, w) 以生成 (j, si),并将 (j, si) 发送给 F。

输出: F 输出一个元组 (j ∗,{(ID∗ i, m∗ i)} I i=1, S ∗)。我们称 F 赢得此游戏,如果满足以下条件:Vrfy(P P, j ∗,{(ID∗ i, m∗ i)} I i=1, S ∗) = 1;存在至少一个其密钥提取从未被查询过的 ID∗ i;且存在至少一个 ID∗ i,使得对 (j ∗, ID∗ i, m∗ i) 的签名从未被查询过。

有人可能认为,在上述游戏中,设备密钥查询是多余的,因为密钥提取查询已经隐含了设备密钥查询。然而,在此游戏中为 F 提供设备密钥查询是合理的,因为 F 被禁止发起密钥提取查询,从而确保不存在未被查询过密钥提取的 ID∗ i,而 F 可以对所有 ID∗ i 发起设备密钥查询。以下定义对应于 IBKIAS 中的强密钥隔离。

定义 9 (强密钥隔离)。 我们称一个 IBKIAS 方案是强密钥隔离的,如果对于任意多项式时间攻击者 F,其优势 ε′′ 是可忽略的。

最后,我们考虑一种攻击者在用户密钥从 sk k i 更新到 skj i 的过程中破坏其存储设备的情况。我们将这种攻击称为 IBKIAS 中 (k, j) 时刻的密钥更新暴露。当这种情况发生时,攻击者可以获得 sk k i , sk ′j, k i 并且 skji(实际上,skji 可以通过使用 skik 和 sk′j, k i 来计算)。我们称一个 IBKIAS 方案具有安全密钥更新,如果在 (k, j) 处的密钥更新暴露对攻击者提供的帮助不超出在时间段 k 和 j 处临时私钥暴露所能提供的帮助。其形式化定义如下。

定义 10 (安全密钥更新)。 我们称一个 IBKIAS 方案具有安全密钥更新,如果在时间段(k, j)发生密钥更新暴露的任何攻击者 F 的视图,可以由一个在时间段 k 和 j 进行临时私钥查询的攻击者 F′ 完美地模拟。

基于身份的密钥隔离聚合签名,再访

4 提出的方案

我们提出了 IBKIAS 的一个具体构造。在该方案中,我们假设存在一个由签名者共享的单一物理安全设备。如第1节所述,将基于身份的密钥隔离签名方案 [11,14] 扩展为 IBKIAS 方案是非平凡的。聚合签名需要满足紧致性,即聚合签名的大小必须与单个签名的大小相同,而与签名者的数量无关。因此,我们必须聚合每个签名者在单独签名过程中使用的随机性。为此,我们采用了亨特和拉姆赞提出的技术[4]。在他们的技术中,签名算法首先创建一个“虚拟消息” w,该消息被映射到群 G 中的一个元素 Pw G,其标量系数为聚合各个签名的随机性提供了位置。此外,我们在物理安全设备中利用类似技术,以在不同签名者之间输出一个公共密钥 T 。也就是说,通过使用单一的物理安全设备,并且仅对具有相同 T 的签名进行聚合,我们的方案完全实现了紧致性。所提出的构造 IBKIASOurs 包含以下算法:

Setup(1λ, N) :它选择两个素数阶的循环群 G 和 GT。令 P 为 G 的一个任意生成元,e 为双线性映射,满足 e:G × G → GT。它选择四个密码学哈希函数,使得 H1, H2, H3: {0, 1}∗ → G,以及 H4: {0, 1}∗ → Zq。它选择 s ←−$ Zq 并计算 Q := sP。输出一个公共参数 PP := (G, GT, e, P, Q, H1, H2, H3, H4) 和一个主密钥 MSK := s。

Ext(P P, M SK, IDi) :它选择 (sk∗ 0, sk ∗ 1) ←−$ Z 2 q,并输出一个设备私钥 sk∗ i := (sk∗ 0, sk ∗ 1)。它计算 T0 := sk∗ 0 · P 和 T1 := sk∗ 1 · P,并设置 T := (T0, T1)。它计算 Di,0,0 := sH1(IDi, 0) + sk∗ 0 · H2(IDi, T0, 0) 和 Di,0,1 := sH1(IDi, 1) + sk∗ 1 · H2(IDi, T1, 0),并设置 Di,0 := (Di,0,0, Di,0,1)。输出一个初始私钥 sk0 i := (Di,0, T)。

Upd∗(P P, j, k, IDi, sk ∗ i) :对于时间段 j 和 k,它计算 T0 := sk∗ 0 · P 和 T1 := sk∗ 1 · P,并设置 T := (T0, T1)。它计算 sk′j, k i 0 := sk∗ 0(H2(IDi, T0, j) − H2(IDi, T0, k)) 和 sk′j, k i 1 := sk∗ 1(H2(IDi, T1, j) − H2(IDi, T1, k)),并输出一个部分私钥 sk′j, k i := (sk′j, k i 0, sk′j, k i 1)。

Upd(P P, j, k, IDi, sk k i, sk′j, k i) :输入 sk k i := (Di,k, T)。它计算 Di,j,0 := Di,k,0 + sk′j, k i 0 和 Di,j,1 := Di,k,1 + sk′j, k i 1,并设置 Di,j := (Di,j,0, Di,j,1)。输出 skj := (Di,j, T)。

Sign(P P, j, skji, mi, w) :首先选择一个之前从未使用过的字符串 w ∈ {0, 1}∗。计算 Pw := H3(w)。选择 ri ←−$ Zq 并计算 Ri := riP。计算 ci := H4(j, IDi, mi, w) 和 σi := riPw + Di,j,0 + ciDi,j,1。设置 si := (σi, Ri, ri, w),并输出部分签名 (j, si)。

Agg(P P, j,{si}iI=1) :它将任意 si 解析为 (σi, Ri, T, w),并计算 G := ∑I i=1 σi 和 R := ∑I i=1 Ri。如果存在任何 T∗ 和 w∗ 分别与其他的 T 和 w 不同,则输出 ⊥。否则,保留一对 T 和 w。设置 S := (G, R, T, w),并输出 (j, S)。

Vrfy(P P, j,{(IDi, mi)}iI=1, S) :如果所有的 IDi 均不相同,则输出 1 当且仅当

$$
e(G, P) = e(R, Pw)e(Q, \sum_{i=1}^{I}(H1(IDi, 0) + ciH1(IDi, 1))) \cdot e(T0, \sum_{i=1}^{I}H2(IDi, T0, j))e(T1, \sum_{i=1}^{I}ciH2(IDi, T1, j))
$$

成立,其中 Pw = H3(w) 和 ci = H4(j, IDi, mi, w)。否则,输出 0。

备注1. 我们假设算法 Upd∗ 由物理安全设备执行。

备注2. 我们提出的方案 IBKIASOurs 支持无界的时间段数量,因为算法 Setup 中时间段的总数并未固定。算法 Upd 进一步表明,我们的方案支持随机访问密钥更新。

备注3. 我们提出的方案 IBKIASOurs 实现了紧致性,具体如下:首先,G 和 R 在模运算下是封闭的,可分别合并为单个值;其次,当提供给聚合算法的所有值相同时,T 和 w 被输出。前一个结论显然成立。此外,只要使用同步设置,后一个结论就能得到保证。

5 安全性

我们分析所提出方案 IBKIASOurs 的安全性。

定理1. 在随机预言模型下,IBKIASOurs 在 G 上的 ε-CDH 假设下是完全密钥隔离的。具体而言,给定一个攻击者 F,其通过最多提出 qHa (a = 1,2,3,4) 次哈希查询、qE 次密钥提取查询、qE′ 次临时私钥查询和 qS 次签名查询,对 IBKIASOurs 的密钥隔离安全性取得优势 ε′,则存在一个算法 B,能够在群 G 上以概率

$$
\varepsilon \geq \left(1 - \frac{1}{q}\right) \left(\frac{4}{e(q_E + q_{E’} + q_S + q_{H_4} + 4)}\right)^4 \varepsilon’
$$

破解 ε-CDH 假设,其中 e 表示自然对数的底。

证明。 我们展示如何构造一个算法 B 以对抗 G 中的 ε‐CDH 假设。B 获得一个实例 (P, Q, P′, e),并将与攻击者 F 进行如下交互,试图计算 sP′,其中 Q = sP 成立。

设置: B 设置公共参数 PP := (G, GT, e, P, Q, H1, H2, H3, H4) 并将 PP 发送给 F。其中,Ha (a = 1, 2, 3, 4) 是由 B 控制的随机预言机。

哈希查询: F 可以随时发出 H1‐查询、H2‐查询、H3‐查询 或 H4‐查询。B 随后以以下方式对给定的查询给出相同的响应,并维护与其先前响应相关的列表以保持一致性。B 还维护 H4‐list2,用于处理 H4 模拟中的某些特殊情况。

对于 F 针对 (IDi, α) 的 H1‐查询,其中 α ∈ {0, 1}:
1. 如果 IDi 曾出现在之前的 H1‐查询中,则返回先前定义的值。
2. 否则,B 生成一个随机的 H1‐coini ∈ {0, 1},使得 Pr[H1‐coini = 0] = δ。如果 H1‐coini = 0,则 B 生成 (βi0, βi1) ←−$ Z2 q 并设置 β′ i0 = β′ i1 = 0;否则,B 生成 (βi0, β′ i0, βi1, β′ i1) ←−$ Z4 q。B 在其 H1‐列表中记录 (IDi, H1‐coini, βi0, β′ i0, βi1, β′ i1)。
3. B 使用 H1(IDi, α) := Piα = βiαP + β′ iαP′ 向 A 作出响应。

对于 F 关于 (IDi, Tγ, k) 的 H2‐查询,其中涉及 γ ∈ {0, 1}:
1. 如果 (IDi, Tγ, k) 曾出现在之前的 H2‐查询中,则返回先前定义的值。
2. 否则,B 生成一个随机的 H2‐coiniγ ∈ {0, 1},使得 Pr[H2‐coiniγ = 0] = δ。B 生成 (ηi0k, ηi1k) ←−$ Z2 q。
3. B 在 (IDi, α) 上运行 H1‐查询,以从其 H1‐列表中恢复 β′ i0 和 β′ i1。如果 H1‐coini = 0 或 H2‐coiniγ = 1,则 B 记录 (IDi, Tγ, k, H2‐coiniγ, ηi0k, ηi1k, ·, ·, ·) 并以 H2(IDi, Tγ, k) := Piγk = ηiγkP 响应。如果 H1‐coini = 1 且 H2‐coiniγ = 0,则 B 生成 r′ ←−$ Zq 并记录 (IDi, Tγ, k, H2‐coiniγ, ·, ·, β′ i0, β′ i1, r′)。然后,B 以 H2(IDi, Tγ, k) := Piγk = ηiγkP + (β′ iγ / r′)P′ 响应。

备注 4。 请注意,r′ 与 H2‐查询无关,且为固定值。我们还注意到,即使引入了这样的固定值 r′,由于 ηiγk 的存在,该签名仍是概率性的。

对于 F 关于 wz 的 H3‐查询:
1. 如果 wz 曾出现在之前的 H3‐查询中,则返回先前定义的值。
2. 否则,B 生成一个随机的 H3‐coinz ∈ {0, 1},使得 Pr[H3‐coinz = 0] = δ。B 随后生成 gz ←−$ Z∗ q,并在其 H3‐列表中记录 (wz, H3‐coinz, gz)。
3. 如果 H3‐coinz = 0,B 以 H3(wz) := Pwz = gzP′ 响应;否则,B 以 H3(wz) := Pwz = gzP 响应。

对于 F 关于 (k, IDi, my, wz) 的 H4‐查询:
1. 如果 (k, IDi, my, wz) 曾出现在之前的 H4‐查询中,则返回先前定义的值。
2. 否则,B 对 (IDi, α) 执行一个 H1‐查询,以从其 H1‐列表中恢复 β′ i0 和 β′ i1。B 生成一个随机的 H4‐coiniyz ∈ {0, 1},使得 Pr[H4‐coiniyz = 0] = δ。
(a) 如果 H1‐coini = 1, H2‐coiniγ = 1, H3‐coinz = 1 以及 H4‐coiniyz = 0, B 检查 H4‐list2 是否包含一个元组 (k, IDi′, my′, wz′) ≠ (k, IDi, my, wz),其中 IDi′ = IDi。如果是,则中止;否则,B 将 (k, IDi, my, wz) 添加到 H4‐list2 中,并设置 diyz = −β′ i0 / β′ i1 mod q。
(b) 如果 H1‐coini = 0、H2‐coiniγ = 0、H3‐coinz = 0,或 H4‐coiniyz = 1、B 生成 diyz ←−$ Z∗ q。
(c) B 在其 H4‐列表中记录 (k, IDi, my, wz, H4‐coiniyz, diyz)。
3. B 返回 H4(k, IDi, my, wz) := diyz。

密钥提取查询: 当 F 请求与 IDi 对应的私钥时,B 执行如下操作:
1. B 恢复 H1‐coini。如果 H1‐coini = 0,B 以 (sPi0, sPi1) := (βi0Q, βi1Q) 响应。如果 H1‐coini = 1,B 中止该过程。
2. B 恢复 H2‐coiniγ 并生成 (sk∗ 0, sk ∗ 1) ←−$ Z2 q。
(a) 如果 H2‐coiniγ = 0, B 计算 Tγ := sk∗ γ · P − r′Q 并设置 Di,0,γ := βiγQ + sk∗ γ · ηiγ0P − r′ηiγ0Q = βiγQ + (sk∗ γ − r′s)ηiγ0P。
(b) 如果 H2‐coiniγ = 1, B 计算 Tγ := sk∗ γ · P 并设置 Di,0,γ := βiγQ + sk∗ γ · ηiγ0P。
B 设置 Di,0 := (Di,0,0, Di,0,1),T := (T0, T1),并以 sk0i := (Di,0, T) 作为响应。

临时私钥查询: 当 F 请求与 IDi 对应的第 j 个时间周期的临时私钥查询时,B 执行如下操作:
1. B 恢复 H1‐coini。如果 H1‐coini = 0,B 则以 (sPi0, sPi1) := (βi0Q, βi1Q) 响应。如果 H1‐coini = 1,B 中止该过程。
2. B 恢复 H2‐coiniγ。
(a) 如果 H2‐coiniγ = 0, B 计算 Di,j,γ := βiγQ + sk∗ γ · ηiγj P − r′ηiγjQ = βiγQ + (sk∗ γ − r′s)ηiγj P。
(b) 如果 H2‐coiniγ = 1, B 计算 Di,j,γ := βiγQ + sk∗ γ · ηiγj P。
B 设置 Di,j := (Di,j,0, Di,j,1), T := (T0, T1),并回复 skj i := (Di,j, T)。

签名查询: 当 F 请求对 (j, IDi, my, wz) 进行签名时,B 首先确认 F 此前未就 wz 向 IDi 请求过签名(否则视为非法查询)。然后,B 按如下步骤执行:
1. 如果 H1‐coini = H2‐coiniγ = H3‐coinz = H4‐coiniyz = 1, B 中止该过程。
2. 如果 H1‐coini = 0, B 生成 r ←−$ Zq 并输出签名 si := (σi, Ri, T, wz),其中 σi = βi0Q + sk∗ 0 · Pi0 j + diyz(βi1Q + sk∗ 1 · Pi1 j) + rPwz = Di,j,0 + diyzDi,j,1 + rPwz 且 Ri = rP。
3. 如果 H1‐coini = 1 且 H2‐coiniγ = 0,B 从 H2‐列表中恢复 r′ ∈ Zq,并生成 r ←−$ Zq。然后 B 输出签名 si:= (σi, Ri, T, wz),其中 Ri = rP 且
$$
\sigma_i = \beta_{i0}Q + \frac{\beta’ {i0}sk^ 0P’}{r’} + d {iyz}\left(\beta_{i1}Q + \frac{\beta’_{i1}sk^ _1P’}{r’}\right) + rP {wz} + \eta_{i0k}T_0 + d_{iyz}\eta_{i1k}T_1
$$
$$
= D_{i,j,0} + d_{iyz}D_{i,j,1} + rP_{wz}.
$$
4. 如果 H1‐coini = H2‐coiniγ = 1 和 H3‐coinz = 0, B 生成 r ←−$ Zq 并输出签名 si := (σi, Ri, T, wz),其中
$$
\sigma_i = \beta_{i0}Q + sk^ 0 \cdot \eta {i0k}P + d_{iyz}(\beta_{i1}Q + sk^ 1 \cdot \eta {i1k}P) + rg_zP’
$$
$$
= D_{i,j,0} + d_{iyz}D_{i,j,1} + (r - (\beta’ {i0} + d {iyz}\beta’ {i1})sg^{-1}_z)P {wz}
$$
and Ri = rP − (β′ i0 + diyzβ′ i1)g−1 z Q = (r − (β′ i0 + diyzβ′ i1)sg−1 z)P.

  1. 如果 H1‐coini = H2‐coiniγ = H3‐coinz = 1 和 H4‐coiniyz = 0, B 生成 r ←−$ Zq 并输出签名 si := (σi, Ri, T, wz),其中 Ri = rP 和
    $$
    \sigma_i = \beta_{i0}Q + sk^ 0 \cdot \eta {i0k}P - \frac{\beta’ {i0}}{\beta’ {i1}} (\beta_{i1}Q + sk^ 1 \cdot \eta {i1k}P) + rg_zP
    $$
    $$
    = D_{i,j,0} + d_{iyz}D_{i,j,1} + rP_{wz}.
    $$

输出: 最后,以概率 ε′,F 输出 (j ∗, {ID∗ i} I i=1, {m ∗ y} I y=1, S ∗) 且满足 I ≤ I′,使得存在 K, Y ∈ [1, I′],其中对于 ID∗ K 的密钥提取或针对 (j ∗, ID∗ K) 的临时私钥从未被查询过,或者从未请求对时间周期 j ∗ 的 (ID∗ K, m∗ Y, wZ) 进行签名。此处,S∗ 定义为 S∗ := (GI, RI, T, wZ),并满足方程
$$
e(GI, P) = e(RI, PwZ)e(Q, \sum_{i=1}^{I}(Pi,0 + ciPi,1))e(T0, \sum_{i=1}^{I} Pi0j ∗)e(T1, \sum_{i=1}^{I} ciPi1j ∗),
$$
其中需要满足 Pi,ρ = H1(ID∗ i, ρ), Piμ j ∗ = H2(ID∗ i, Tμ, j∗), PwZ = H3(wZ) 和 ci = H4(j∗, ID∗ i, m∗ y, wZ)。如果无法找到 (K, Y, Z) 满足 H1‐coinK = H2‐coinKγ = H3‐coinZ = H4‐coinKY Z = 1,则中止。否则,B 可以以概率 1 − 1/q 按如下方式求解 CDH 实例。

F 的伪造具有形式 (GI, RI, T, wZ),其中 RI = rP 和 GI = rPwZ + ∑I i=1(Di,j∗, 0 + ciDi,j∗,1),我们令 ci = H4(j∗, ID∗ i, m∗ y, wZ) 为由身份是 ID∗ i 的实体“签名”的元组的哈希值。由于 H3‐coinz = 1, B 知道 PwZ 关于 P 的离散对数 gZ。因此,它可以计算:
$$
GI - g_ZRI = \sum_{i=1}^{I}(Di,j∗,0 + ciDi,j∗,1)
= \sum_{i=1}^{I}(s(\beta_{i0}P + \beta’ {i0}P’) + sk^ 0 \cdot \eta {i,0,j∗}P + ci(s(\beta_{i1}P + \beta’_{i1}P’) + sk^ _1 \cdot \eta {i,1,j∗}P))
= s(\sum_{i=1}^{I}(\beta_{i0} + ci\beta_{i1}))P + (\sum_{i=1}^{I} (sk^ 0 \cdot \eta {i,0,j∗} + ci \cdot sk^ 1 \cdot \eta {i,1,j∗}))P + s(\sum_{i=1}^{I}(\beta’ {i0} + ci\beta’ {i1}))P’.
$$
如果对于至少一个已签名元组满足 H1‐coini = H4‐coiniyz = 1,则 ∑I i=1(β′ i0 + ciβ′ i1) ≠ 0 的概率为 1 − 1/q;如果 ∑I i=1(β′ i0 + ciβ′ i1) ≠ 0,则 B 可以计算 sP′ = (GI − gZRI − s(∑I i=1(βi0 + ciβi1))P − (∑I i=1 (sk∗ 0 · ηi,0,j∗ + ci · sk∗ 1 · ηi,1,j∗))P)/(∑I i=1(β′ i0 + ciβ′ i1))。

我们希望限定 B 的成功概率。B 在四种情况下中止:(1)F 对满足 H1‐coini = 1 的 IDi 发起密钥提取查询;(2)F 对满足 H1‐coini = 1 的元组 (j, IDi) 发起临时私钥查询;(3)F 对满足 H1‐coini = H2‐coiniγ = H3‐coinz = H4‐coiniyz = 1 的元组 (j, IDi, my, wz) 发起签名查询;(4)F 对两个满足 H1‐coini = 1、H2‐coiniγ = 1、H3‐coinz = H3‐coinz′ = 1, 以及 H4‐coiniyz = H4‐coiniy′z′ = 0 的元组 (j, IDi, my′, wz′) 和 (j, IDi, my, wz) 发起 H4‐查询。对于第一种情况,显然可以看出,在密钥提取查询过程中 B 不中止的概率至少为 δqE,前提是允许 F 最多进行 qE 次查询,因为 B 仅在 H1‐coini = 1 时才会中止。类似地,对于第二种情况,在临时私钥查询过程中 B 不中止的概率至少为 δqE′,前提是允许 F 最多进行 qE′ 次查询。考虑第三种情况,在签名查询过程中 B 不中止的概率至少为 δqS,因为如果 H1‐coini = 0,则 B 绝不会中止。同样,对于第四种情况,在 H4‐查询过程中 B 不中止的概率至少为 δqH4,前提是允许 F 最多进行 qH4 次查询。最后,我们考虑在输出阶段 B 不中止的概率。该概率为 (1 − δ)^4,因为所有硬币结果都应为 1。

由上述可知,我们有 δ^(qE + qE′ + qS + qH4)(1 − δ)^4,在 δopt = (qE + qE′ + qS + qH4)/(qE + qE′ + qS + qH4 + 4) 处取得最大值。利用 δopt,B 的成功概率 ε 为
$$
\varepsilon > \left(1 - \frac{1}{q}\right) \left(\frac{4}{e(q_E + q_{E’} + q_S + q_{H_4} + 4)}\right)^4 \varepsilon’.
$$
这是因为,将 qE + qE′ + qS + qH4 记为 x,当 x 较大时,x/(x+4)^x = (1+4/x)^{-x} = ((1+1/(x/4))^{x/4})^{-4} 趋向于 e^{-4}。证明完毕。

定理2. IBKIASOurs 在随机预言模型下基于 G 上的 ε-CDH 假设是强密钥绝缘的。具体而言,若存在一个攻击者 F,通过最多提出 qHa (a = 1,2,3,4) 次哈希查询、qE 次密钥提取查询、qD 次设备密钥查询以及 qS 次签名查询,能够以优势 ε′′ 攻破 IBKIASOurs 的强密钥绝缘安全性,则存在一个算法 B,能够在 G 上以概率
$$
\varepsilon \geq \left(1 - \frac{1}{q}\right) \left(\frac{4}{e(q_E + q_S + q_{H_4} + 4)}\right)^4 \varepsilon’‘
$$
破解 ε-CDH 假设,其中 e 表示自然对数的底。

该证明与定理1的证明类似,因此由于篇幅限制此处省略。

定理3。 IBKIASOurs 具有安全密钥更新。

证明。 该定理成立的原因是,对于任意时间周期索引 k, j 和任意身份 IDi,部分私钥 sk′j, k i 推导得出。

内容概要:本文介绍了一个基于事件触发机制的孤岛微电网二次电压与频率协同控制仿真模型,该模型通过Simulink实现,旨在提升微电网在孤岛运行模式下的电压和频率稳定。通过引入事件触发机制,有效降低了控制器的通信负担和计算开销,同时保证了控制能。模基于事件触发机制的孤岛微电网二次电压与频率协同控制仿真模型(Simulink仿真实现)型涵盖了微电网中分布式电源的动态特、控制策略的设计与实现,并通过仿真验证了所提方法在抑制电压偏差、频率波动及提升系统响应速度方面的有效。此外,文档还列举了大量相关的电力系统、优化算法、信号处理、机器学习等领域仿真资源,展示了其在科研与工程应用中的广泛技术支持。; 适合人群:从事电力系统、微电网控制、自动化及相关领域的科研人员、研究生以及具备一定MATLAB/Simulink基础的工程技术人员。; 使用场景及目标:①研究孤岛微电网中电压与频率的协同控制策略;②优化微电网控制系统中的通信效率与实时;③开展基于事件触发机制的控制算法仿真与验证;④结合其他智能算法(如优化算法、机器学习)进行微电网高级控制策略开发。; 阅读建议:建议读者结合文中提供的仿真模型与相关资源链接,动手实践Simulink建模过程,重点关注事件触发条件的设计与控制效果的对比分析,同时可拓展学习文档中提及的优化算法与智能控制方法,以提升综合科研能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值