Efficient and provably-secure identity-based signatures and signcryption from bilinear maps

Barreto et al. - 2005 - Efficient and provably-secure identity-based signatures and signcryption from bilinear maps

可证明安全的基于身份的签密方案(Barreto2005)

【翻译】

基于双线性映射的高效且可证明安全的基于身份的签名和签密

摘要:本文描述了一种基于双线性映射的基于身份的签密(IBSC)方案,该方案比目前已知的所有方案都高效。在计算假设和随机谕言机模型下,我们证明了该方案的安全性。我们还提出了一种新的可证明安全的基于身份的签名(IBS)方案,且该方案比目前所有基于配对的IBS方法的效率都要高。

  1. 引言

隐私保护和身份认证是公钥密码学提供的两种基础服务。公钥加密方案旨在提供信息机密性,而数字签名则需提供身份认证和不可否认性。值得注意的是,近年来许多现实应用中的密码程序需要同时满足上述这些目标属性。这就促使[39]为密码学家们提供了一种新的密码原语,他称之为“签密”,这种密码系统能够在一次操作中同时对数据进行加密和数字签名,且其计算量和通信成本都要低于传统的“先签名后加密”。正确的签密方案应该提供机密性、身份认证性和不可否认性。与传统的加密方案一样,在没有接收方私钥的情况下,从已经签名过的加密消息中恢复明文必须在理论上是不可行的;而与传统的数字签名方案一样,在没有发送方私钥的情况下,伪造合法的签密文本必须在计算上是不可行的。

近年来,基于身份的密码学已经成为一个非常热门的研究领域。这个概念最初是由Shamir[34]在1984年提出的。鉴于密钥管理问题极大阻碍了个体对公钥密码的使用,Shamir提出可以令用户的在线标识符与系统内的某些信息相结合作为公钥,这大大简化了密钥管理方面的问题。

注:用户的公钥是直接从其身份信息,如邮箱、身份证号等信息中得到,而私钥则是由一个称为私钥生成中心(PKG)的可信方生成,这简化了传统的公钥基础设施(PKI)中大量数字证书的交换问题。不过,它要求PKG完全可信且具有较强的计算能力,因此基于身份的密码学存在密钥托管问题。

1984年以后,基于身份的签名(IBS)方案也相继出现[20, 23](文献[5]对此类方案进行了详细研究)。[18]提出了一种基于二次剩余的身份基加密方案,但它的带宽消耗较大;直到2001年椭圆曲线上的双线性映射出现以后,才产生了第一个完全可用的基于身份的加密(IBE)方案[10]。随后,在基于身份加密领域的一些突出成果[7, 8, 21, 36]中,这些双线性映射,也称为双线性对,也在基于配对的密码学[2]中得到了广泛应用。

目前已经出现了一些基于身份的签密算法,如文献[11, 14, 16, 17, 26, 27, 30, 33, 37]。在这些研究成果中,只有[11, 14, 16, 17, 26, 37]考虑了随机谕言机模型[6]下的形式化模型和安全性证明。其中,Chen和Malone-Lee的方案[14]是最高效的,该方案需要3次对运算。

本文的主要贡献是提出了一种新的基于身份的签密方案,它在效率方面超过了文献[14],不过我们的方案依赖于更强的安全性假设。与以往的方案相比,我们的方案可以利用最高效的配对计算技术来处理更多种类的椭圆曲线。事实上,最新研究[35]指出,在使用非对称对和普通曲线去实现可证明安全的基于配对的协议时会出现一些问题。我们的方案则避免了这些问题,因为它不需要将值哈希到椭圆曲线循环子群上。此外,我们还提出了一种新的基于身份的签名方案,且它恰好比目前所有IBS方案的验证速度都要快。

本文的组织结构如下:第2节介绍了双线性群的基本安全理论和概念,以及我们算法所依赖的困难问题假设。第3节描述了我们的基于身份的签名方案并证明了它的安全性。在第4节中,我们提出了一种新的基于身份的签密方案,并在第5节中与其他方案进行了效率比较。最后,我们在第6节给出了结论。

  1. 高效的基于身份的签密
    1. 基于身份的签密方案的形式化模型

我们提出的基于身份的签密方案的形式化定义如下。

 初始化算法:该算法是由私钥生成中心(PKG)运行的一个概率性算法,它以一个安全参数作为输入,然后输出系统参数 和一个由PKG秘密存储的主密钥 。

 密钥生成算法:该算法是由PKG运行的密钥生成算法,它以系统参数 和主密钥 作为输入,然后返回与某个身份 相对应的私钥 。

注:输入一个用户的身份PKG计算该用户的私钥并通过安全方式发送给用户。PKG知道所有用户的私钥,因此存在密钥托管问题。

 签密算法:该算法是一个概率性算法,它以系统参数 、明文消息 、接收方的身份 以及发送方的私钥 作为输入,然后输出密文 。

 解签密算法:该算法是一个确定性的解密算法,它以密文 、系统参数 、接收方的私钥 以及(可选的)发送方的身份 作为输入,然后返回一个有效的消息-签名对 。如果密文 无法成功解密为包含发送方 的签名的消息,该算法会返回一个特殊符号 。

与最近的研究[11, 14]不同,他们提出的方案是两层结构,即先给出概率性的签名方案,再给出确定性的加密方案;而我们的方案是单层结构,可以在一方实现签名和加密,另一方进行解密和验证。即使我们的方案描述被修改为两层结构,即将加密和签名操作分解为两个算法,这也不会妨碍我们的方案整体实现不可否认性,与文献[11, 14]类似,在我们的方案中,对于任何形式正确的密文,都能通过接收方的私钥,从该密文中提取出对明文的一般签名。且提取出来的消息-签名对能够转发给任意第三方,使发送方继续保持对明文内容的承诺。

但与考虑匿名密文的模型[11,14]不同,在上面给出的形式化定义中,发送方的身份 是以明码的形式与密文一起发送的。事实上,在一些具体方案中,接收方的确不需要任何关于密文发送方的先验知识,这能够在安全性证明中实现更有效的规约。对我们的具体方案进行一些简单修改就可以满足密文匿名性,并通过修改后的 解签密算法恢复发送方的身份。

注:密文匿名性指除了密文的收发双方外,任何人都不能获得密文的内容和密文收发双方的公开钥信息。在签密方案的形式化定义中,若 解签密算法的输入不包括发送方的身份,则方案可修改为类似文献[11, 14]的匿名密文方案,见4.2节具体构造。

定义3. 如果没有任何多项式时间的敌手能够以一个不可忽略的优势赢得以下游戏,则称一个基于身份的签密方案(IBSC)具有信息机密性(或者称为适应性选择密文安全,即IND-IBSC-CCA安全)。

  1. 输入安全参数 ,挑战者执行 算法并将系统参数 发送给敌手 。
  2. 在询问阶段, 向哈希谕言机执行以下询问:

- 密钥询问:对于任意身份,它返回与之相对应的私钥。

即:敌手选择并发送一个身份,因为挑战者拥有主密钥,所以能够计算与该身份对应的私钥并将结果发送给敌手。

- 签密询问:给定一对身份 和明文 ,它返回以发送方 对应的私钥签名且以接收方的身份 加密后的密文。

即:敌手选择并发送收发双方的身份和明文,挑战者首先计算发送方的私钥 ,再计算密文 并将结果发送给敌手。

- 解签密询问:给定一对身份 和密文 ,它生成接收方的私钥 ,并凭借发送方的身份 返回一个有效的消息-签名对 。如果无法通过私钥 将密文 解密成一个有效的消息-签名对,则输出符号 。

即:敌手选择并发送收发双方的身份和密文,挑战者首先计算接收方的私钥 ,然后计算 ,最后将消息-签名对 或符号 给敌手。

  1.  生成并发送两个明文 及身份 和 ,其中 的私钥没有被提取过。

注: 密钥生成算法也可表示为 密钥提取算法。即在挑战阶段,敌手生成的两个明文应该长度相同,且接收方的身份  密钥询问阶段没有出现过否则敌手将直接通过接收方的私钥执行 解签密算法

 将得到挑战者返回的密文 ,其中比特 是挑战者随机选择的。

  1. 在猜测阶段, 像在询问阶段一样进行新的询问且仍为多项式有界次,但这次敌手不能对 发出密钥提取请求,并且不能把目标身份 和密文 直接提交给 谕言机。

即:敌手不能获得接收方的私钥 ,也不能对挑战密文进行 解签密询问,否则就可以直接得到明文。

  1. 最终, 输出一个比特 。如果 ,则敌手 获胜。

该游戏中敌手 的优势定义为 。

下一个定义是在文献[11]中给出,它考虑的是嵌入在密文中的签名的不可否认性,而不是关于密文本身的不可否认性。

定义4. 如果没有任何多项式时间的敌手能够以一个不可忽略的优势赢得以下游戏,则称一个基于身份的签密方案(IBSC)在适应性选择消息和密文攻击(ESUF-IBSC-CMA)下具有存在不可伪造性。

  1. 输入安全参数 ,挑战者执行 算法,并将系统参数 发送给敌手 。
  2.  按照前面定义3询问阶段的定义执行多项式有界次询问。
  3. 最终, 输出一个三元组 。如果发送方的身份 没有泄露私钥,且 谕言机对于密文 在 对应私钥下的输出结果是一个有效的消息-签名对 ,则称敌手 赢得了游戏。此处要求在 询问中不涉及 、 以及可以生成密文 的身份 (与身份 不同),该密文经过私钥 解密后得到的是伪造的结果 。

即:该游戏中, 是敌手选定的目标身份。若最终敌手输出的密文 不是由 签密谕言机产生,也没有对身份 进行过 密钥询问,且算法 的输出结果是有效的消息-签名对,则称敌手赢得了游戏。

该游戏中敌手 的优势定义为他获胜的概率。

在上述两种定义中,我们考虑内部攻击[1]。也就是说,在信息机密性的定义中,敌手收到的挑战密文可以是使用已损坏的发送方私钥创建的;而在签名不可否认性的定义中,敌手最终可以输出在已损坏的接收方身份下计算的密文。

    1. 我们的方案

我们的方案是由我们的IBS方案与基础版本的Sakai-Kasahara-IBE方案([33, 13])组合优化得到的,该方案只有作为加密系统时才能抵抗选择明文攻击。它允许在不计算对的情况下执行签名和加密操作,而在解密和验证时只需要计算两个对。

 初始化算法:给定安全参数 ,私钥生成中心(PKG)选择阶数 的双线性群 ,并选取生成元 。随机选取一个主密钥 ,令系统公钥 。选择三个哈希函数: 。最终输出系统参数:

 。

 密钥生成算法:对于一个身份 ,计算其对应的私钥 。

 签密算法:给定一个消息 、接收方的身份 以及发送方的私钥 ,

  1. 随机选择一个 ,计算 。

注: 是对 的承诺, 是通过类似一次一密的方式对消息 进行加密。

  1. 令 。

注:先通过单向哈希函数生成消息 的数字摘要 ,该摘要能够缩短数据量的大小。

  1. 计算 。

注:用发送方A的私钥对数字摘要 进行签名。

  1. 计算 。

注:用接收方B的公钥和系统公钥对随机数 进行掩盖,使B能够恢复出承诺 

该算法最终输出密文 。

 解签密算法:给定密文 ,以及发送方的身份 ,

  1. 计算 。

即:收到T后,接收方B用自己的私钥恢复出承诺r,进而得到消息M和数字摘要h

  1. 当且仅当 时,接受该消息。

该算法最终返回消息 和签名 。

补充:正确性证明

  

如果需要,可以将发送方的身份 与 算法第一步中的明文一起置乱来获得密文匿名属性,这样接收方可以通过解密算法的第一步恢复它。这种变化并不会在实践中产生任何计算上的损失,而会导致更紧的安全规约。为了使证明仍然成立,必须将身份 附加到 的输入中。

注:为了获得密文匿名性,可对原方案进行一些修改。在 签密算法中,若将发送方的身份与明文一起异或扰乱,即修改密文项为 ,且数字摘要 ;那么在 解签密算法中,接收方仍可恢复出对随机数的承诺,进而恢复出明文和数字摘要,即 。此时收发双方的身份并不是加解密算法的公开输入,而是由收发双方私有,即其他人无法得到收发双方的身份信息。

    1. 安全性分析

下面的定理在随机谕言机模型和Boyen方案[11]中的反自反性假设下证明了方案的安全性:假定签密算法始终以不同的身份为输入(换句话说,该签密方从来没有用自己的身份对消息进行过签密)。

定理2. 假设一个IND-IBSC-CCA的敌手 在时间 内,相对于我们的方案具有优势 ,并向随机谕言机 进行了 次询问,向签密谕言机进行了 次询问,且向解签密谕言机进行了 次询问。则有一个算法 能够以概率 解决 的q-BDHIP问题,其中概率

 ,

且时间 , 分别是在群 上进行乘幂和在群 进行乘法的时间代价, 则代表配对计算的时间复杂度。

证明.(附录B)

算法 以 作为输入,并在与敌手 的交互中尝试提取出 。

对于q-BDHIP困难问题 是敌手而对于IBE方案 是敌手 则作为挑战者/模拟器游戏开始之前 的已知信息为 目标是通过 作为子程序获得 的值并确保游戏具有完备性

在准备阶段, 首先选择 ,进而选择元素 及 。对于 ,计算 。与文献[9]和引理2一样,该算法令生成元 ,并令群 中的另一个元素 ,这样就得到 个对 。系统公钥 则选为 ,因此主密钥可以对应表示为 。对于 ,我们则有 。

  可算得 。

接下来, 将计数器 初始化为1,并将 发送给敌手以开始游戏。在游戏过程中,我们假设每次对 的询问都是不同的,且敌手在某次询问中向 提交了目标身份 ,此外,其他有关身份 的询问都是在 询问之后:

- 询问,我们将 记为第 次询问的输入: 以 作为应答并把 递增1。

- 询问,输入为 :如果值已经存在,则 以该值进行应答,否则随机选择 ,以 应答。为了后续能够应答关于该明文的 解签密请求, 还需要额外模拟随机谕言机 以获得 ,并将信息 存储到列表 中。

- 询问,输入为 :如果值已经存在,则 以该值进行应答,否则随机选择 ,以 应答。在后一种情况下,需要将输入 和应答 存储到列表 中。

- 密钥询问,输入为 :如果 ,则 失败。若二者不相等,由之前的询问可得 , 以 作为应答。

  在准备阶段就已经选定的猜测值且有  包含要求解的困难问题所以无法得到该私钥游戏失败

- 签密询问,输入为明文 以及身份 ,其中 :我们观察到,如果 ,则 知道发送方的私钥 进而直接执行 算法来响应询问。我们假设 ,由反自反性假设可得 。

:为了简化分析,Boyen方案[11]不允许消息的解密方与其发送方具有相同的身份,这一要求反自反性假设。

因此 能够算得接收方的私钥 ,但困难之处在于找到一个随机元组 ,使其满足:

 , (2)

其中 。为了找到该元组, 首先选择元素 并计算相应的 ,其中 。这样就可以在把 填充到 之前得到等式:

 ,且 最终以密文 作为应答。

补充为了使元组能够满足密文合法性要求, 可推导出

 ;又因为  ,可得等式

 如果哈希值 在之前的询问中已经定义 失败,不过该情况发生的概率只有 ,即敌手在之前的 签密询问阶段 询问阶段询问过。

- 解签密询问,输入为密文 以及一对身份 :假设 ,否则 可直接算得接收方的私钥 从而正常执行 解签密算法。由反自反性假设可得 , 能够直接算得发送方的私钥 ,并且知道对于所有的合法密文,都满足等式 ,其中 是由 算法得到的哈希值,且 。

注:在方案的签密算法中,有 ,因此 

 

由随机数 不变可得 

因此,我们能够得到如下关系:

 , (3)

进而有 。我们观察到计算后面的等式并不需要求函数 的逆运算,因为 。因此该询问的处理被转化为计算 ,其中 。以索引 遍历列表 中满足形式为 的元素。

注: 询问阶段,令 ,所以此处判断的是密文项 是否满足

 。

如果没有找到,则拒绝密文 。否则,则进一步检测那些索引项是否满足:

  (4)

(只需要进行一次对运算以及至多 次乘幂运算),这意味着它们满足(3)式。如果满足(4)式的索引 被检测到,则返回相应的对 。否则拒绝密文 。总的来说,在整个游戏中,发生不当拒绝的可能性小于 。

在挑战阶段, 输出消息 和身份 且敌手从没询问过 的私钥。如果 ,则 终止。

注:若二者不相等,即敌手没有对身份 发起挑战,因此挑战者无法从敌手提交的身份中提取出要解决的困难问题, 猜测错误,游戏终止。

否则,它选择 并返回挑战密文 ,其中 。如果我们定义 ,因为 ,进而能够检查 。

 无法判断 是否是正确的密文,除非他对 进行 或 询问。在猜测阶段,敌手的视图被模拟为与现实方案中的一样,并且它最终的输出是无关紧要的。标准观点表明如果模拟是与真实环境不可区分的,那么一个成功的敌手非常有可能对 进行 或 询问。

因此, 从列表 或列表 中取出随机项 或者 。在概率为 的情况下,

如果现实和模拟环境是不可区分的,那么敌手很可能提交了对困难问题 的询问,因此 要从询问列表中找到该条记录列表 最多包含 询问中的 条记录,列表 最多包含 条记录,即 询问和 询问中的 没有重复,因此选取随机项的概率为 。

选择的随机项将包含正确的元素 ,其中 是线性且 。因此能够解决q-BDHIP,如果 ,则有:

 。

注:   可得

 

函数 是线性的,即满足可加性和齐次性,因此有

在分析 的优势时,我们注意到只有在持续提供模拟环境时它才会失败,即发生了以下几个事件之一:

 : 没有对身份 发起挑战。

 :敌手对 进行了 密钥提取询问。

 :哈希值 的冲突导致 在 询问阶段终止。

 : 在游戏中的某个阶段拒绝了一个合法密文。

显然有 且 等同于 。此外, 且 。因此可以得出:

 。

我们得到了上式的下界因为注意到 会以 的概率从列表 或 中选择正确的元素。在模拟 签密 解签密谕言机的过程中,其工作量主要由准备阶段的 乘法, 配对计算和群 中的 指数决定。 【证明完毕】

定理3. 假设一个ESUF-IBSC-CMA的敌手 向随机谕言机 进行了 次询问,向签密谕言机进行了 次询问,且向解签密谕言机进行了 次询问。同样假设在时间 内, 伪造成功的概率为 ,那么有一个算法 能够在期望时间 内解决 的q-SDHP问题,其中期望时间

 ,

 的定义与上述定理2中的相同,即 分别是在群 上进行乘幂和在群 进行乘法的时间代价, 则代表配对计算的时间复杂度。

证明.(附录C)

该证明几乎与定理1的证明相似。即,它表明ESUF-IBSC-CMA游戏中的伪造者是在选择消息攻击和“选定身份”攻击中的伪造者。

“选定身份”模型中攻击者在看到系统的公开参数之前就声明自己意欲攻击的身份因而限制了攻击者的攻击能力所以该模型是一种弱安全模型

使用分叉引理,后者又包含着一种解决q-SBDHP问题的算法。更准确地说,对 签密和 解签密谕言机的询问按照定理2的证明得到回答,并在游戏开始时,模拟器选择系统参数,除了敌手指定的挑战身份外,它可以提取与任何身份相关联的私钥。由于存在反自反性假设,因此在知道接收方身份 的私钥的情况下,它能够从伪造者产生的密文中提取出正确的消息-签名对。 【证明完毕】

我们现在重新表述定理2在密文匿名属性下的变化。在处理解签密请求时,发送方的身份是无法预知的,这一变化会影响模拟器在最坏情况下的运行时间。这种规约涉及一些对运算,使其是敌手询问次数的二次方倍。

定理4. 假设一个IND-IBSC-CCA的敌手 在时间 内,相对于我们的方案具有优势 ,并向随机谕言机 进行了 次询问,向签密谕言机进行了 次询问,且向解签密谕言机进行了 次询问。则有一个算法 能够以概率 解决 的q-BDHIP问题,其中概率

 

且时间 , 的定义同上。

证明.(附录D)

该游戏中的模拟器与定理2的类似,但存以下区别(发送方的身份是作为 的输入提供的)。

- 询问,输入为 :如果值已经存在,则 以该值进行应答,否则随机选择 ,以 应答。为了后续能够应答 解签密请求, 还需要额外模拟谕言机 以获得 ( 是身份串长度的最大值)并将信息 存储到列表 中。

- 询问:给定一个密文 以及接收方的身份 ,我们假设 ,否则 可直接算得接收方的私钥 从而正常执行 解签密算法。模拟器 无法知道发送方的身份 ,但它知道 ,并且对于 ,存在等式 ,因此:

 , (5)

其中 是通过 算法得到的值,且 。

注:与定理2证明类似,只不过此时发送方身份 未知,由随机数不变可得等式 

接下来模拟器以索引 遍历列表 中满足形式为 的元素。如果没有找到,则拒绝密文。否则,则进一步检测 的索引项是否满足:

 且 , (6)

注:模拟器先查找符合密文 的数据项。 询问阶段,令 因此再判断密文项 是否满足

(至多需要 次对运算和 次乘幂运算),这意味着它们满足(5)式,所以该密文包含有效的消息签名对。如果满足(6)式的索引 被检测到,则返回相应的对 。否则,拒绝密文 。因此在整个游戏中,发生不当拒绝的可能性也是小于 。 【证明完毕】

定理3同样可以被重申,因为它的规约损耗的改变也是类似的。

对于该方案的匿名版本,本文给出了[11]模型中密文匿名性的一个正式证明。但我们承认,即使匿名方案也不能具备Boyen方案([11])或Chen-Malone-Lee方案([14])的所有特性。例如,它不具有密文不可连接性([11,14]):任何人都不可能用自己的私钥将给定的消息签名对嵌入到适合他自己的密文中。我们也无法保证密文身份验证,使密文总是由同一个人签名和加密,且不会受到“中间人”攻击。

总的来说,我们认为该方案确实满足了在实践中可能的主要需要。在我们看来,它足以实现大多数实际应用,且其高效性为基于身份的密码学带来了更多发展前景。

6. 结论

我们提出了一种可证明安全的签名方案和签密方案,它们比以往任何文献中的基于配对的方案都要高效。我们的签密方案可以通过命名或匿名密文实例化,并且在实现时比以往使用非对称对的协议更方便。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值