Attribute-Based Online/Offline Signature Scheme Based on SM9
-
摘要:
属性基签名(attribute-based signature, ABS)方案利用属性集标识用户. 只有当属性集满足访问策略时用户才能产生有效签名. 与传统数字签名方案相比,属性基签名方案不仅利用属性集隐藏用户的真实身份从而获得匿名性,而且通过制定访问策略实现了细粒度访问控制. 在基于椭圆曲线的属性基签名方案中通常需要使用大量的群指数运算或配对操作,这些操作计算代价高昂,导致签名过程计算开销较大. 在线/离线签名技术可以在未知消息之前将高昂的操作通过离线预计算,从而降低了轻量级设备在线计算代价. SM9 标识密码算法作为我国自主设计的商用密码,已由ISO/IEC标准化并被广泛使用. 以商密SM9 标识密码算法为基础,利用在线/离线签名技术,构造了一种基于商密SM9的属性基在线/离线签名(attribute-based online/offline signature, ABOOS)方案. 不仅可以实现细粒度访问控制,同时也适用于轻量级设备. 在随机谕言机模型下,方案的安全性可以规约到q-SDH(q-strong Diffie-Hellman)困难问题. 理论分析和实验仿真表明提出的方案有效降低了签名阶段的计算代价,适用于物联网等应用环境.
Abstract:The attribute-based signature (ABS) scheme uses a set of attributes to identify users. The user can generate a valid signature only when the attributes satisfy the access policy. Compared with the traditional digital signature scheme, the ABS scheme not only utilizes a set of attributes to hide the real identity of users to obtain anonymity, but also realizes fine-grained access control by access policy. In ABS schemes based on elliptic curve, a large number of group exponentiation operations or pairing operations are usually required, which are computationally expensive, resulting in high computational overhead in the signature process. The online/offline signature technology can pre-compute expensive operations offline before knowing message, thereby reducing the online computing cost of lightweight devices. As a commercial cipher independently designed by China, the SM9 identity-based cryptographic algorithm has been standardized by ISO/IEC and is widely used. Based on the SM9 identity-based cryptographic algorithm, we propose an attribute-based online/offline signature (ABOOS) scheme based on the SM9 by using the online/offline signature technology in this paper. Not only ine-grained access control can be achieved, but also it is suitable for lightweight devices. In the random oracle model, the security of the proposed scheme is reduced to the q-strong Diffie-Hellman (q-SDH) hard problem. Theoretical analysis and experimental simulation show that the proposed scheme effectively reduces the computational cost of the signing process, and is suitable for application environments such as the internet of things.
-
Keywords:
- SM9 /
- online/offline signature /
- attribute-based signature /
- random oracle model /
- q-SDH problem
-
物联网技术的发展和普及使得现代生活环境更加友好和便捷,对人们的生活方式产生了重要影响. 物联网将电子设备与互联网连接,能够使互联网连接对象使用嵌入式传感器、射频识别、激光扫描器等信息传感设备进行数据的采集和交换. 通过网络接入,实现物与物、物与人的连接,从而达到智能化感知、识别和管理. 由于采用无线网络通信,使得物联网更容易遭受各种攻击. 身份认证技术能避免非授权用户非法访问数据,为物联网数据提供了可靠的安全保障. 数字签名能提供数据的完整性和真实性,并且可以实现签名者身份认证功能. 在签名时通常涉及椭圆曲线群中的指数运算或配对运算,这些运算往往计算代价高昂,使得轻量级设备无法承受. 在线/离线签名(online/offline signature, OOS)[1]方案将签名过程分为在线和离线部分,在未知消息之前,通过将高昂的计算分配给离线阶段而仅保留一些轻量级计算给在线阶段的方式,使得原本无法部署在轻量级设备的签名方案也能适用于物联网环境. 传统的公钥密码体制不具有细粒度访问控制功能. 为了解决这一问题,2005年,Sahai等人[2]提出模糊身份加密方案,定义了属性基密码概念. 在属性基加密方案[3-5]中,用户的身份由一个属性集表示,密文或者密钥与一个访问策略相关联,当用户的属性满足指定的访问策略时,用户可以成功解密密文. 属性基加密体制不仅实现了细粒度访问控制而且具有一对多加密功能,可以很好地解决云计算中的访问控制、数据安全和隐私保护等关键技术问题,得到了国内外学术界和工业界的高度重视. 过去,国内商用密码方案大都是基于国外的密码技术标准,不符合国家网络空间安全自主可控的发展战略. SM9[6]是中国商用标识密码标准,包含数字签名、加密、密钥交换和密钥封装. 2018年,SM9 标识签名算法已被采纳为国际标准ISO/IEC的一部分,并于2020年成为中国国家标准GM/T 38635.2—2020. 2020年,SM9标识算法成为国际标准. 由于SM9 标识密码算法是通过椭圆曲线上的配对运算实现的,因此高昂的计算代价成为了其在轻量级设备中应用的瓶颈. 同时,原始的SM9 标识密码算法无法高效地实现1对多的数据共享和访问控制功能. 综上所述,如何将SM9 标识密码算法应用于轻量级设备和实现1对多的数据共享和访问控制是亟待解决并具有挑战的研究方向.
1. 相关工作
属性基密码主要包括属性基加密和属性基签名.在属性基加密方案中,根据访问策略部署的位置不同可分为密文策略[7-9]和密钥策略[10]的属性基加密. 密文策略的属性基加密方案中,访问策略与密文关联,属性集与密钥关联. 当属性集满足密文中的访问策略时,用户可以正确解密. 在密钥策略的属性基加密方案中,访问策略与密钥关联,属性集嵌入在密文中,当且仅当密文中的属性集满足密钥中的访问策略时,用户可以正确解密.
属性基加密方案提供了数据的细粒度访问控制功能并且实现了保密性,但无法提供数据完整性和认证性. 2011年,Maji等人[11]提出了属性基签名方案,实现了细粒度访问控制并能够确保数据的完整性和认证性,在一般群模型中证明了方案的安全性. 2012年,Okamoto等人[12]提出支持非单调访问策略的高效属性基签名(attribute-based signature, ABS)方案,并在标准模型下给出了方案的安全性证明. 在文献[11−12]中,签名过程需要使用群中的指数运算和配对运算,这些计算代价高昂,使得方案无法适用于轻量级设备. 为了降低签名算法中高昂的计算代价,1989年,Even等人[1]提出在线/离线签名方案,在线/离线签名通过将签名算法分为在线、离线阶段,在知道签名消息之前,将高昂的计算在离线阶段完成. 而在在线阶段运行一些轻量级计算. 2010年,Liu等人[13]提出基于身份的在线/离线签名方案,并给出了方案的安全性证明. 为了解决文献[13]中密钥托管问题,2017年,Liu等人[14]基于无证书思想提出无密钥托管的身份基在线/离线签名方案. 基于身份的在线/离线签名方案虽然降低了在线签名的计算代价,但无法实现访问控制和用户身份隐私保护. 为了解决上述问题,Rao[15]在2017年提出了属性基在线/离线签密方案,利用属性集代替用户身份,只有当用户属性集满足访问策略时才能产生有效签名. 为了降低签名客户端的计算代价,张应辉等人[16]提出可验证的服务器辅助属性基签名方案. 2021年,Li等人[17-18]利用服务器辅助技术,提出了具有服务器辅助的属性基签名方案,将大量计算外包给服务器从而降低了计算开销. 为了解决属性基签名方案中的用户身份追踪和敏感消息隐藏问题,2021年,李继国等人[19]提出可追踪的属性基净化签名方案,实现了恶意签名者身份追踪和数据脱敏. 目前,大多数密码方案基于国外密码技术标准设计,不符合国家网络空间安全自主可控的发展战略. SM9[6]是中国商用标识密码标准,包含数字签名、加密和密钥交换. 2018年,Cheng等人[20]分析了SM9加密算法和密钥协商协议的安全性,并给出了安全性证明. 由于SM9标识密码算法是通过椭圆曲线上的指数运算和配对运算实现,因此计算代价高昂,无法在轻量级设备上使用. 为了提高SM9标识签名计算性能,王松等人[21]提出了SM9标识签名及其验证算法快速实现方案,但无法降低签名过程中的计算代价. 2021年,Lai等人[22]利用在线/离线签名技术,提出了基于商密SM9的在线/离线签名方案,在知道签名消息之前,它将指数运算和配对运算在离线阶段完成,而在线阶段只运行Hash运算或乘法运算,从而有效降低了在线阶段的计算代价. 为了实现1对多的数据通信,2021年,文献[23]提出了基于商密SM9的高效标识广播加密方案. 文献[17−23]仅实现签名或加密功能,为了同时实现数字签名和数据加密,文献[24]提出了基于商密SM9的高效标识签密,仅执行1次操作就能完成签名和加密计算,有效降低了计算开销.
本文贡献主要有:
本文首次提出基于商密SM9的属性基在线/离线签名方案(attribute-based online/offline signature, ABOOS),提出的方案不仅可以获得细粒度访问控制功能,并且通过将指数运算和配对运算在离线阶段完成,降低了在线阶段的计算代价,能够适用于物联网等应用环境. 本文在随机谕言机模型下证明了ABOOS的安全性,安全性可规约到q-SDH困难问题假设. 通过Charm平台,实例化提出的方案并给出性能分析.
2. 预备知识
本节介绍文中用到的相关知识,包括双线性映射、分叉引理、q-SDH困难问题.
2.1 双线性映射
给定安全参数
$ \kappa $ ,生成1个双线性元组$BP= ({G}_{1},{G}_{2},{G}_{{T}},e,p)$ . 其中$ {G}_{1} $ ,$ {G}_{2} $ ,$ {G}_{T} $ 是素数$ p $ 阶的循环群. 令$ P $ 是$ {G}_{1} $ 的1个生成元,$ Q $ 是$ {G}_{2} $ 的1个生成元,1个双线性映射$ e:{G}_{1}\times {G}_{2}\to {G}_{{T}} $ 具有3个性质.1)双线性. 对任意
$ P\in {G}_{1} $ ,$ Q\in {G}_{2} $ 和任意$ a,b\in {\mathbb{Z}}_{p}^{*} $ ,有$ e\left(aP,bQ\right)={e(P,Q)}^{ab} $ .2)非退化性. 对任意
$ P\in {G}_{1} $ ,$ Q\in {G}_{2} $ ,有$ e(P,Q)\ne 1 $ .3)可计算性. 对任意
$ P\in {G}_{1} $ ,$ Q\in {G}_{2} $ ,$ e\left(P,Q\right) $ 可以被有效计算.此外,在
$ {G}_{1} $ 和$ {G}_{2} $ 之间存在1个有效且能公开计算的同构映射$ \psi :{G}_{2}\to {G}_{1} $ ,即$ \psi \left(Q\right)=P $ ,其中$ P $ ,$ Q $ 分别是$ {G}_{1} $ ,$ {G}_{2} $ 的生成元.2.2 q-SDH(q-strong Diffie-Hellman)困难问题和困难问题假设
q-SDH困难问题. 令
$ P $ ,$ Q $ 分别为$ {G}_{1} $ ,$ {G}_{2} $ 的生成元,在$ ({G}_{1},{G}_{2}) $ 群上的q-SDH问题可表述为:给定$ q+2 $ 个元素的元组$(P,Q,aQ,{a}^{2}Q,… ,{a}^{q}Q)$ ,找到1对元素$\left(c,\dfrac{1}{c+a}P\right)$ ,其中$ c\in {\mathbb{Z}}_{p}^{*} $ .$\left(t,\varepsilon \right)-$ q-SDH困难问题假设:若不存在概率多项式时间$ t $ 的算法至少以不可忽略的概率$\varepsilon$ 解决$ ({G}_{1},{G}_{2}) $ 上的q-SDH问题,则称q-SDH问题在$ ({G}_{1},{G}_{2}) $ 是$(t,\varepsilon )$ 困难的.2.3 分叉引理
本文使用分叉引理[25]证明方案的安全性. 为了便于描述,简单回顾如下. 令
$ \mathcal{T} $ 为一个输入仅包含公共信息的概率多项式时间的图灵机,在进行${q}_{\mathrm{s}}$ 次签名询问和${q}_{\mathrm{h}}$ 次随机谕言机询问后,敌手A可以在概率多项式时间$ t $ 内,以$\varepsilon \ge 10({q}_{\rm{s}}+1)({q}_{\rm{s}}+{q}_{{\rm{h}}})/{2}^{\kappa }$ 的概率产生1个有效消息签名元组$ (M,{\sigma }_{1},h,{\sigma }_{2}) $ ,其中$ M $ 表示消息,$ h $ 是关于元组$ (M,{\sigma }_{1}) $ 的Hash值,$ {\sigma }_{2} $ 表示仅与$ M,{\sigma }_{1},h $ 相关的值. 若元组$ ({\sigma }_{1},h,{\sigma }_{2}) $ 能够在不知道签名密钥的情况下以不可区分的分布概率进行模拟,那么就存在另一台概率多项式时间的图灵机$\mathcal{T}'$ 能够在理想时间${t}'\le 120686{q}_{{\rm{h}}}t/\varepsilon$ 时,通过控制敌手A模拟替换与签名者的交互并产生2个有效消息签名元组$ (M,{\sigma }_{1},h,{\sigma }_{2}) $ 和$(M,{\sigma }_{1},{h}',{\sigma }_{2}')$ ,使得$h\ne {h}'$ .3. 形式化定义和安全模型
本节给出ABOOS方案的形式化定义和安全模型. 图1给出了方案的系统框架,其中包括3个实体:属性授权机构、轻量级签名设备和验证设备. 属性授权机构为签名设备产生密钥
$ {sk}_{{\omega }_{j}} $ ,签名设备在未知消息之前先通过离线阶段进行预计算产生离线签名$ {\sigma }_{\mathrm{o}\mathrm{f}\mathrm{f}} $ ,然后再通过在线阶段产生在线签名$ {\sigma }_{\mathrm{o}\mathrm{n}} $ ,最终将在线签名$ {\sigma }_{\mathrm{o}\mathrm{n}} $ 和消息M发送给验证设备. 若签名有效,验证设备返回accept;否则,返回reject.3.1 ABOOS方案的形式化定义
在线/离线属性基签名方案由4个阶段构成.
1)设置. 该算法输入安全参数
$ \kappa $ ,输出公开参数$ params $ 和主密钥$ msk $ . 属性授权机构保留主密钥$ msk $ .2)密钥生成. 算法输入公开参数
$ params $ 、主密钥$ msk $ 和访问策略$ \mathcal{A} $ ,输出签名密钥$ {sk}_{{\omega }_{j}} $ .3)签名. 该阶段分为离线签名和在线签名2个阶段.具体算法为:
①离线签名. 算法输入公开参数
$ params $ 和签名者密钥$ {sk}_{{\omega }_{j}} $ ,输出离线签名$ {\sigma }_{\mathrm{o}\mathrm{f}\mathrm{f}} $ ;②在线签名. 算法输入公开参数
$ params $ 、签名者属性集$ {\omega }_{j} $ 、离线签名$ {\sigma }_{\mathrm{o}\mathrm{f}\mathrm{f}} $ 、签名者密钥$ {sk}_{{\omega }_{j}} $ 和消息$ M $ ,输出在线签名$ {\sigma }_{\mathrm{o}\mathrm{n}} $ .4)验证. 算法输入公开参数
$ params $ ,消息$ M $ 和在线签名$ {\sigma }_{\mathrm{o}\mathrm{n}} $ . 若签名有效,则输出accept;否则,输出reject.3.2 安全模型
借鉴文献[22]的思想,本节定义在选择消息和选择策略下的存在不可伪造游戏,算法B和敌手A的具体交互为:
初始化. A首先声明将要挑战的访问策略
$ {\mathcal{A}}^{\mathcal{*}} $ 和$ {\mathcal{A}}^{\mathcal{*}} $ 中的一个属性集$ {\omega }_{j}^{\mathrm{*}} $ 发送给B.设置. B执行设置算法,输入安全参数
$ \kappa $ ,输出公开参数$ params $ 和主密钥$ msk $ ,将公开参数$ params $ 发送给A,自己保留主密钥$ msk $ .密钥询问. A询问关于访问策略
$ \mathcal{A} $ 和属性集$ {\omega }_{j} $ 的密钥,其中$ {\omega }_{j}\notin {\mathcal{A}}^{\mathcal{*}} $ . B执行密钥生成算法生成密钥$ {sk}_{{\omega }_{j}} $ 并发送给A.签名询问. A询问关于属性集
$ {\omega }_{j} $ 和消息$ M $ 的签名,B首先执行离线签名算法生成离线签名$ {\sigma }_{\mathrm{o}\mathrm{f}\mathrm{f}} $ ,再执行在线签名算法生成在线签名$ {\sigma }_{\mathrm{o}\mathrm{n}} $ . 最后,将在线签名$ {\sigma }_{\mathrm{o}\mathrm{n}} $ 发送给A.伪造. A输出一个元组
$ ({\mathcal{A}}^{\mathcal{*}},{\omega }_{j}^{*},{M}^{*},{\sigma }^{*}) $ ,若满足3个条件,则称A赢得不可伪造性游戏.1)
$ {\sigma }^{*} $ 是关于$ ({\mathcal{A}}^{\mathcal{*}},{{\omega }_{j}^{*},M}^{*}) $ 的1个有效签名;2)A没有询问过关于
$ {\mathcal{A}}^{\mathcal{*}} $ 和$ {\omega }_{j}^{*} $ 的密钥,即在密钥生成询问中$ \mathcal{A}\ne {\mathcal{A}}^{\mathcal{*}} $ 且$ {\omega }_{j}\notin {\mathcal{A}}^{\mathcal{*}} $ ;3) A没有询问过关于
$ ({\mathcal{A}}^{\mathcal{*}},{\omega }_{j}^{*},{M}^{*}) $ 的签名.定义 1. 如果对于所有概率多项式时间
$ t $ 的敌手进行至多$ {q}_{\mathrm{k}} $ 次密钥生成询问和至多$ {q}_{\mathrm{s}} $ 次签名询问,它赢得上述不可伪造性游戏的概率$ ϵ $ 是可忽略的,那么提出的方案在选择消息和策略下具有存在性不可伪造.4. 方案构造
借鉴文献[26]的思想,可以从基于身份(identity based signature, IBS)方案构造ABS方案,再利用原始的SM9标识签名方案构造基于商密SM9的属性基在线/离线签名方案.在方案中,令系统属性域为
$U=\{{a\mathrm{t}\mathrm{t}}_{1},{att}_{2},… ,{att}_{u}\}$ ,访问策略$\mathcal{A}=\{{\mathcal{A}}_{1},{\mathcal{A}}_{2},… ,{\mathcal{A}}_{n}\}$ 表示1组授权属性集,其中${\mathcal{A}}_{i}=\{{att}_{i1},{att}_{i2},… ,{att}_{i{s}_{i}}\}$ ,${\omega }_{j}=\{{att}_{j1},{att}_{j2},… ,{att}_{jd}\}$ 表示签名者属性集,其中$ u=\left|U\right| $ ,$ n=\left|\mathcal{A}\right| $ ,$ 1\le {s}_{i}\le u $ 且$ 1\le d\le u $ . 若$ {\omega }_{j}\in \mathcal{A} $ ,称属性集$ {\omega }_{j} $ 满足访问策略$ \mathcal{A} $ . 设置算法$ \phi (\omega ,U) $ 将属性集$ \omega $ 转换为1个二进制标识$ {ID}_{\omega } $ ,$ \phi (\omega ,U) $ 定义为:首先输入属性集$ \omega $ ,系统属性域$ U $ ,令$ {ID}_{\omega }\left[i\right] $ 表示$ {ID}_{\omega } $ 的第$ i $ 位,若$ {att}_{i}\in \omega $ ,令$ {ID}_{\omega }\left[i\right]=1 $ ;否则,令$ {ID}_{\omega }\left[i\right]=0 $ . 其中$ 1\le i\le u $ ,$ u=\left|U\right| $ . 然后算法输出$ {ID}_{\omega } $ . 最后调用算法$ \phi (\omega ,U) $ 将访问策略$\mathcal{A}=\{{\mathcal{A}}_{1},{\mathcal{A}}_{2},… ,{\mathcal{A}}_{n}\}$ 转换成一个二进制标识集合$I=\{{ID}_{{\mathcal{A}}_{1}},{ID}_{{\mathcal{A}}_{2}},… ,{ID}_{{\mathcal{A}}_{n}}\}$ .ABOOS方案包含5个算法:设置、密钥生成、在线签名、离线签名和验证.
1)设置. 给定安全参数
$ \kappa $ ,属性授权机构生成1个双线性配对元组$ BP=({G}_{1},{G}_{2},{G}_{T},e,p) $ . 随机选取$ {G}_{1} $ 的生成元$ {P}_{1} $ ,$ {G}_{2} $ 的生成元$ {P}_{2} $ . 然后,随机选取$ \mathrm{\alpha }\in {\mathbb{Z}}_{p}^{*} $ 作为主密钥,计算$ {P}_{\mathrm{p}\mathrm{u}\mathrm{b}}=\alpha {P}_{2} $ ,$ g=e({P}_{1},{P}_{\mathrm{p}\mathrm{u}\mathrm{b}}) $ . 系统属性域$U= \{{att}_{1}, {att}_{2},… ,{att}_{u}\}$ ,$ u=\left|U\right| $ . 选取2个Hash函数$ {H}_{1}: {\left\{\mathrm{0,1}\right\}}^{*}\to {\mathbb{Z}}_{p}^{*} $ ,${H}_{2}:{\left\{\mathrm{0,1}\right\}}^{*}\to {\mathbb{Z}}_{p}^{*}$ . 属性授权机构随机选取1比特密钥生成函数标识$ hid $ ,则公开参数为$params= (BP,{P}_{1},{P}_{2},{P}_{\mathrm{p}\mathrm{u}\mathrm{b}},g,U,hid,{H}_{1},{H}_{2})$ .2)密钥生成. 属性授权机构为属性集
$ {\omega }_{j} $ 产生密钥$ {sk}_{{\omega }_{j}} $ . 利用算法$ \phi (\omega ,U) $ 将访问策略$\mathcal{A}=\{{\mathcal{A}}_{1}, {\mathcal{A}}_{2},… , {\mathcal{A}}_{n}\}$ 转换成二进制标识集合$I=\{{ID}_{{\mathcal{A}}_{1}},{ID}_{{\mathcal{A}}_{2}},… , {ID}_{{\mathcal{A}}_{n}}\}$ . 算法输入访问策略$ \mathcal{A} $ 、集合$ I $ 、属性集$ {\omega }_{j} $ 、主密钥$ msk $ 和公开参数$ params $ . 属性授权机构随机选取$ {r}_{\mathrm{s}}\in {\mathbb{Z}}_{p}^{*} $ ,计算密钥$ {sk}_{{\omega }_{j}}=({sk}_{1},{sk}_{2}) $ ,其中${sk}_{1}=\dfrac{\alpha {r}_{\mathrm{s}}^{-1}}{\left[\dfrac{\prod\limits _{i=1}^{n}{H}_{1}\left({ID}_{{\mathcal{A}}_{i}}||hid,{r}_{\mathrm{s}}\right)}{\prod\limits_{{\mathcal{A}}_{i}\ne {\omega }_{j},i\in \left[1,n\right]}{H}_{1}\left({ID}_{{\mathcal{A}}_{i}}||hid,{r}_{\mathrm{s}}\right)}+\alpha \right]}{P}_{1}$ ,$ {sk}_{2}={r}_{\mathrm{s}} $ . 此时将$ {sk}_{1} $ ,$ {sk}_{2} $ 相乘可知,密钥$ {sk}_{{\omega }_{j}} $ 满足商密SM9标识签名算法密钥结构. 若$\dfrac{\prod\limits_{i=1}^{n}{H}_{1}\left({ID}_{{\mathcal{A}}_{i}}||hid,{r}_{\mathrm{s}}\right)}{\prod\limits_{{\mathcal{A}}_{i}\ne {\omega }_{j},i\in \left[1,n\right]}{H}_{1}\left({ID}_{{\mathcal{A}}_{i}}||hid,{r}_{\mathrm{s}}\right)}+\alpha =0$ ,属性授权机构重新选取随机数$ {r}_{\mathrm{s}}\in {\mathbb{Z}}_{p}^{*} $ ,并重新为签名者生成密钥.3)离线签名. 算法输入公开参数
$ params $ ,签名者密钥$ {sk}_{{\omega }_{j}}=({sk}_{1},{sk}_{2}) $ . 签名者随机选取$ r,k\in {\mathbb{Z}}_{p}^{*} $ ,计算$ w={g}^{r} $ ,$l={sk}_{2}\times \left(r-k\right)\mathrm{m}\mathrm{o}\mathrm{d}p$ ,$S=l\times {sk}_{1}$ . 输出离线签名$ {\sigma }_{\mathrm{o}\mathrm{f}\mathrm{f}}=(r,k,w,S) $ .4)在线签名. 算法输入公开参数
$ params $ ,${\sigma }_{\mathrm{o}\mathrm{f}\mathrm{f}}= (r,k,w,S)$ 和消息$ M $ .签名者利用算法$\varphi (\omega ,U)$ 将属性集$ {\omega }_{j} $ 转换成一个二进制标识$ {ID}_{{\omega }_{j}} $ . 计算$ h={H}_{2}\left(M\right||w,p) $ ,$ \tau =\left(r-h\right){\left(r-k\right)}^{-1}\mathrm{m}\mathrm{o}\mathrm{d}p $ ,$y={H}_{1}\left({ID}_{{\omega }_{j}}||hid, {sk}_{2}\right)$ . 输出在线签名$ {\sigma }_{\mathrm{o}\mathrm{n}}=(h,\tau ,y,S) $ .5)验证. 当验证者获得消息签名对
$ (M,{\sigma }_{\mathrm{o}\mathrm{n}})=(M, (h,\tau ,y,S\left)\right) $ ,可以通过执行算法验证签名. 1)计算$ t={g}^{h} $ ;2)计算$ P=y{P}_{2}+{P}_{\mathrm{p}\mathrm{u}\mathrm{b}} $ ;3)计算$\beta =e(\tau \cdot S,P)$ ;4)计算${w}'= \beta \cdot t$ ;5)计算${h}_{2}={H}_{2}\left(M\right||{w}',p)$ . 检查等式$ {h}_{2}=h $ 是否成立. 若成立,则签名有效,输出accept;否则,输出reject.5. 正确性和安全性分析
5.1 正确性分析
若签名者产生1个有效签名,那么该签名可以通过验证算法. 正确性分析为:
当用户属性集
$ {\omega }_{j} $ 满足给定的访问策略$ \mathcal{A} $ ,即$ {\omega }_{j}\in \mathcal{A} $ 时,可以得到${ID}_{{\omega }_{j}}\in \{{ID}_{{\mathcal{A}}_{1}},{ID}_{{\mathcal{A}}_{2}},… ,{ID}_{{\mathcal{A}}_{n}}\}$ ,则有等式成立.$$ \begin{aligned} &{w}'=\beta \times t=e\left(\tau \times S,P\right)\times {g}^{h}=e\Bigg((r-h)\times\\ & \quad \dfrac{\alpha {r}_{\mathrm{s}}^{-1}\left(r-k\right){\times \left(r-k\right)}^{-1}{r}_{\mathrm{s}}}{\left[\dfrac{\prod\limits_{i=1}^{n}{H}_{1}\left({ID}_{{\mathcal{A}}_{i}}||hid,{r}_{\mathrm{s}}\right)}{\prod\limits_{{\mathcal{A}}_{i}\ne {\omega }_{j},i\in \left[1,n\right]}{H}_{1}\left({ID}_{{\mathcal{A}}_{i}}||hid,{r}_{\mathrm{s}}\right)}+\alpha \right]}{P}_{1},\\ &{H}_{1}\left({ID}_{{\omega }_{j}}||hid,{r}_{\mathrm{s}}\right){P}_{2}+\alpha {P}_{2}\Bigg)\times {e\left({P}_{1},{P}_{\mathrm{p}\mathrm{u}\mathrm{b}}\right)}^{h}=\\ &\quad e\Bigg(\dfrac{\alpha (r-h)}{{H}_{1}\left({ID}_{{\omega }_{j}}||hid,{r}_{\mathrm{s}}\right)+\alpha }{P}_{1},\\ &\left({H}_{1}\left({ID}_{{\omega }_{j}}||hid,{r}_{\mathrm{s}}\right) +\alpha \right){P}_{2}\Bigg)\times {e\left({P}_{1},\alpha {P}_{2}\right)}^{h}=\\ &\quad e\left(\alpha \left(r-h\right){P}_{1},{P}_{2}\right)\times {e\left({P}_{1},\alpha {P}_{2}\right)}^{h}=\\ &\quad e(\alpha r{P}_{1},{P}_{2})= w . \end{aligned} $$ 因此
${h}_{2}={H}_{2}\left(M\right|\left|{w}',p\right)={H}_{2}\left(M\right|\left|w,p\right)=h$ .所以提出的方案满足正确性要求.5.2 安全性分析
本节给出ABOOS方案的安全性证明,基于q-SDH困难问题假设提出的方案在选择消息和选择策略下具有存在性不可伪造.
定理 1. 令
$ {H}_{1} $ ,$ {H}_{2} $ 是随机谕言机.若存在概率多项式时间的敌手A能够以$ \beta $ 的优势赢得不可伪造性游戏,则存在一个概率多项式时间的算法B能够以$ \varepsilon $ 的概率解决q-SDH困难问题,其中$\varepsilon \le \dfrac{\beta }{{q}_{{H}_{1}}}$ ,$ {q}_{{H}_{1}} $ 是$ {H}_{1} $ 询问次数.证明. 通过A和B的交互游戏证明定理1.给定1个q-SDH困难问题实例
$(P,Q,aQ,{a}^{2}Q,… ,{a}^{q}Q)$ ,B的目标是通过与A的交互找到元组$\left(c,\dfrac{1}{c+a}P\right)$ ,其中$ c\in {\mathbb{Z}}_{p}^{*} $ . A与B的交互游戏为:初始化. A选择将要挑战的访问策略
$ {\mathcal{A}}^{\mathcal{*}} $ 和$ {\mathcal{A}}^{\mathcal{*}} $ 中的1个属性集$ {\omega }_{j}^{*} $ 并发送给B,B通过算法$\varphi (\omega ,U)$ 将$ {\mathcal{A}}^{\mathcal{*}} $ ,$ {\omega }_{j}^{*} $ 分别转换为二进制标识集合${I}^{\mathrm{*}}=\{{ID}_{{\mathcal{A}}_{1}^{\mathrm{*}}},{ID}_{{\mathcal{A}}_{2}^{\mathrm{*}}},… , {ID}_{{\mathcal{A}}_{n}^{\mathrm{*}}}\}$ 和二进制标识$ {ID}_{{\omega }_{j}^{\mathrm{*}}} $ .设置. B产生公开参数. 首先令
${\mathcal{A}}_{k}=\{{\mathcal{A}}_{k1}, {\mathcal{A}}_{k2},… , {\mathcal{A}}_{kn}\}$ 表示访问策略,$ {\omega }_{j} $ 表示用户属性集. 随机选取${s}_{1}^{\mathrm{*}},{s}_{2}^{\mathrm{*}},… ,{s}_{n}^{\mathrm{*}},{s}_{i1},{s}_{i2},… ,{s}_{in}\in {\mathbb{Z}}_{p}^{\mathrm{*}}$ ,其中$i\in \{\mathrm{0,1},… ,{q}_{\mathrm{s}}-1\}$ . 令${x}_{i}=\dfrac{\prod\limits_{j=1}^{n}{s}_{kj}}{\prod\limits_{{\mathcal{A}}_{kj}\ne {\omega }_{j},j\in [1,n]}{s}_{kj}}$ ,${x}^{\mathrm{*}}=\dfrac{\prod\limits_{i=1}^{n}{s}_{i}^{\mathrm{*}}}{\prod\limits _{{\mathcal{A}}_{i}^{\mathrm{*}}\ne {\omega }_{j}^{\mathrm{*}},i\in [1,n]}{s}_{i}^{\mathrm{*}}}$ . 生成一个$ q-1 $ 阶多项式$f\left(z\right)=\prod\limits_{i=1}^{q-1}\left(z+{x}_{i}\right)=\displaystyle\sum _{i=0}^{q-1}{c}_{i}{z}^{i}$ ,其中$ {c}_{i} $ 是$ f\left(z\right) $ 的系数. 利用给定的q-SDH困难问题实例计算${P}_{2}= f\left(a\right)Q= \displaystyle\sum_{i=0}^{q-1}{c}_{i}\left({a}^{i}Q\right)$ . 计算${P}_{1}=\varphi \left({P}_{2}\right)=f\left(a\right) P$ ,${P}_{\mathrm{p}\mathrm{u}\mathrm{b}}= \displaystyle\sum _{i=0}^{q}{c}_{i-1}\left({a}^{i}Q\right)= a{P}_{2}\mathrm{和}g=e({P}_{1},{P}_{\mathrm{p}\mathrm{u}\mathrm{b}})$ ;当$ i\in [1, q-1] $ 时,令${f}_{i}\left(z\right)=\dfrac{f\left(z\right)}{z+{x}_{i}}=\displaystyle\sum _{i=0}^{q-2}{d}_{i}{z}^{i}$ ,计算${V}_{i}=\displaystyle\sum_{i=0}^{q-2}{d}_{i}\varphi \left({a}^{i+1}Q\right)= a{f}_{i}\left(a\right) P= \dfrac{af\left(a\right)}{a+{x}_{i}}P=\dfrac{a}{a+{x}_{i}}{P}_{1}$ . 因此对于任意$ i\in [1, q-1] $ ,元组$\left({x}_{i},{V}_{i}=\dfrac{a}{a+{x}_{i}}{P}_{1}\right)$ 是可计算的. 随机选取1比特密钥生成函数标识$ hid $ . 令主密钥$ msk=a $ ,公开参数$params= ({P}_{1},{P}_{2},g,hid,{P}_{\mathrm{p}\mathrm{u}\mathrm{b}})$ . 此时,$ \mathrm{H}\mathrm{a}\mathrm{s}\mathrm{h}\mathrm{函}\mathrm{数}{H}_{1},{H}_{2} $ 被看成是由B控制的随机谕言机.询问. 在询问阶段,A可以进行
$ {H}_{1} $ 询问、$ {H}_{2} $ 询问、密钥询问和签名询问. 具体过程为:$ {H}_{1} $ 询问. A首先利用算法$ \varphi (\omega ,U) $ 将访问策略${\mathcal{A}}_{k}=\{{\mathcal{A}}_{k1},{\mathcal{A}}_{k2},… ,{\mathcal{A}}_{kn}\}$ 转换为二进制标识集合$I= \{{ID}_{{\mathcal{A}}_{k1}},{ID}_{{\mathcal{A}}_{k2}},… ,{ID}_{{\mathcal{A}}_{kn}}\}$ ,其中$k\in \{\mathrm{1,2},… ,{q}_{\mathrm{s}}-1\}$ . A询问关于$ {ID}_{{\mathcal{A}}_{ki}} $ 的Hash值$ {s}_{ki} $ . B初始化1个空列表$ {L}_{1} $ 并记录相关应答$ ({ID}_{{\mathcal{A}}_{ki}},{s}_{ki}) $ .若关于$ {ID}_{{\mathcal{A}}_{ki}} $ 的询问记录已经在列表$ {L}_{1} $ 中,B直接返回$ {H}_{1}\left({ID}_{{\mathcal{A}}_{ki}}||hid,{r}_{\mathrm{s}}\right)={s}_{ki} $ ;若$ {ID}_{{\mathcal{A}}_{ki}} $ 是一个未经询问的二进制标识,此时令$ {H}_{1}\left({ID}_{{\mathcal{A}}_{ki}}||hid, {r}_{s}\right)= {s}_{ki} $ 并将$ ({ID}_{{\mathcal{A}}_{ki}},{s}_{ki}) $ 添加到列表$ {L}_{1} $ 中;若$ {\mathcal{A}}_{k}={\mathcal{A}}^{\mathcal{*}} $ ,令$ {H}_{1} \left({ID}_{{\mathcal{A}}_{i}^{*}}||hid,{r}_{\mathrm{s}}\right)={s}_{i}^{*} $ . 然后,B将询问结果发送给A.$ {H}_{2} $ 询问. A询问关于$ ({M}_{i},{w}_{i}) $ 的Hash值$ {h}_{i} $ . B初始化1个空列表$ {L}_{2} $ 并记录相关应答$ (M,{w}_{i},{h}_{i}) $ . 若关于$ ({M}_{i},{w}_{i}) $ 的询问记录已经在列表中,B直接返回 $ {H}_{2}\left({M}_{i}\right|\left|{w}_{i},p\right)={h}_{i} $ ;否则,B随机选取$ {h}_{i}\in {\mathbb{Z}}_{p}^{\mathrm{*}} $ ,令$ {H}_{2} \left({M}_{i}\right|\left|{w}_{i},p\right)={h}_{i} $ ,并将$ ({M}_{i},{w}_{i},{h}_{i}) $ 添加到列表$ {L}_{2} $ 中. 然后,B将询问结果发送给A.密钥询问. A询问关于访问策略
${\mathcal{A}}_{k}=\{{\mathcal{A}}_{k1}, {\mathcal{A}}_{k2},… , {\mathcal{A}}_{kn}\}$ 和满足$ {\mathcal{A}}_{k} $ 的1个属性集$ {\omega }_{j} $ 的密钥,此时满足$ {\mathcal{A}}_{k}\ne {\mathcal{A}}^{\mathcal{*}} $ ,${ID}_{{\omega }_{j}}\in \{{ID}_{{\mathcal{A}}_{k1}},{ID}_{{\mathcal{A}}_{k2}},… ,{ID}_{{\mathcal{A}}_{kn}}\}$ 且${ID}_{{\omega }_{j}}\notin \{{ID}_{{\mathcal{A}}_{1}^{\mathrm{*}}}, {ID}_{{\mathcal{A}}_{2}^{\mathrm{*}}},… , {ID}_{{\mathcal{A}}_{n}^{\mathrm{*}}}\}$ . B询问$ {H}_{1} $ 预言机获得$ ({ID}_{{\omega }_{j}},{s}_{{\omega }_{j}}) $ . 在设置阶段有${x}_{i}=\dfrac{\prod\limits_{j=1}^{n}{s}_{kj}}{\prod\limits _{{\mathcal{A}}_{kj}\ne {\omega }_{j},j\in [1,n]}{s}_{kj}}$ . 随机选取$ {r}_{\mathrm{s}}\in {\mathbb{Z}}_{p}^{\mathrm{*}} $ ,计算$ {sk}_{1}={r}_{\mathrm{s}}^{-1}{V}_{i} $ ,$ {sk}_{2}={r}_{\mathrm{s}} $ 并发送给A,其中$ {V}_{i}=\dfrac{a}{a+{x}_{i}}{P}_{1} $ 在设置阶段被计算.签名询问. A询问关于访问策略
${\mathcal{A}}_{k}=\{{\mathcal{A}}_{k1},{\mathcal{A}}_{k2},… , {\mathcal{A}}_{kn}\}$ ,属性集$ {\omega }_{j} $ 和消息$ M $ 的签名$ \sigma $ . B首先询问$ {H}_{1} $ 预言机获得$ {s}_{ki} $ 并计算$ P={s}_{ki}{P}_{2}+{P}_{\mathrm{p}\mathrm{u}\mathrm{b}} $ . 然后,B随机选取$ h,\tau \in {\mathbb{Z}}_{p}^{\mathrm{*}} $ ,$ S\in {G}_{1} $ 并计算$ w=e(\tau \cdot S,P){g}^{h} $ . 最后,B将$ (M,w) $ 添加到列表$ {L}_{2} $ 中. 此时,设置$ {H}_{2}\left(M||w,p\right)=h $ . 需要注意的是,当$ {H}_{2}\left(M\right|\left|w,p\right) $ 已经在记录在列表$ {L}_{2} $ 中,那么B就无法正确模拟签名,此时B就终止游戏.这个事件发生的概率为$ \dfrac{{q}_{s}+{q}_{{H}_{2}}}{{2}^{\kappa }} $ ,其中$ {q}_{s} $ 是签名询问次数,$ {q}_{{H}_{2}} $ 是$ {H}_{2} $ 询问次数.伪造. A输出关于
$ {M}^{\mathrm{*}} $ ,$ {\mathcal{A}}^{\mathcal{*}} $ ,$ {\omega }_{j}^{\mathrm{*}} $ 的1个有效签名$ {\sigma }^{\mathrm{*}} $ . 由文献[25]定义的分叉引理可知,给定一个输入$ (mpk,{\mathcal{A}}^{\mathcal{*}},{\omega }_{j}^{\mathrm{*}}) $ ,可以构造另一个算法A'以足够多的次数重放A,并获得2个有效签名$ ({M}^{\mathrm{*}},{w}^{\mathrm{*}},{y}^{\mathrm{*}},{h}_{1}^{\mathrm{*}},{\tau }_{1}^{\mathrm{*}},{S}_{1}^{\mathrm{*}}) $ 和$ ({M}^{\mathrm{*}},{w}^{\mathrm{*}},{y}^{\mathrm{*}},{h}_{2}^{\mathrm{*}},{\tau }_{2}^{\mathrm{*}},{S}_{2}^{\mathrm{*}}) $ ,其中$ {h}_{1}^{\mathrm{*}}\ne {h}_{2}^{\mathrm{*}} $ . 然后,B运行A'以获得关于$ {M}^{\mathrm{*}} $ ,$ {\mathcal{A}}^{\mathcal{*}} $ ,$ {\omega }_{j}^{\mathrm{*}}\mathrm{和}{w}^{\mathrm{*}} $ 的2个有效伪造签名$({M}^{\mathrm{*}},{w}^{\mathrm{*}}, {y}^{\mathrm{*}},{h}_{1}^{\mathrm{*}},{\tau }_{1}^{\mathrm{*}},{S}_{1}^{\mathrm{*}})$ 和$ ({M}^{\mathrm{*}},{w}^{\mathrm{*}},{y}^{\mathrm{*}},{h}_{2}^{\mathrm{*}},{\tau }_{2}^{\mathrm{*}},{S}_{2}^{\mathrm{*}}) $ . 从列表$ {L}_{1} $ 中,B可以获得元组 $ ({ID}_{{\mathcal{A}}_{i}^{*}},{s}_{i}^{*}) $ ,并根据设置阶段${x}^{\mathrm{*}}= \dfrac{\prod\limits_{i=1}^{n}{s}_{i}^{\mathrm{*}}}{\prod\limits _{{\mathcal{A}}_{i}^{\mathrm{*}}\ne {\omega }_{j}^{\mathrm{*}},i\in [1,n]}{s}_{i}^{\mathrm{*}}}$ 获得$ {x}^{\mathrm{*}} $ . 由于2个都是有效签名,因此都能通过验证算法. 可得${w}^{\mathrm{*}}= e\left({\tau }_{1}^{\mathrm{*}}\times {S}_{1}^{\mathrm{*}}, {P}^{\mathrm{*}}\right){g}^{{h}_{1}^{\mathrm{*}}}= e({\tau }_{2}^{\mathrm{*}}\times {S}_{2}^{\mathrm{*}},{P}^{\mathrm{*}}){g}^{{h}_{2}^{\mathrm{*}}}$ ,其中${P}^{\mathrm{*}}={y}^{\mathrm{*}}{P}_{2}+{P}_{\mathrm{p}\mathrm{u}\mathrm{b}}={x}^{\mathrm{*}}{P}_{2}+a{P}_{2}= ({x}^{\mathrm{*}}+a){P}_{2}$ . 然后计算$e\left(\left({\tau }_{1}^{\mathrm{*}}\times {S}_{1}^{\mathrm{*}}-{\tau }_{2}^{\mathrm{*}}\times {S}_{2}^{\mathrm{*}}\right),{P}^{\mathrm{*}}\right)={g}^{{h}_{2}^{\mathrm{*}}-{h}_{1}^{\mathrm{*}}}$ . 进一步,可以获得$e({a}^{-1}{\left({h}_{2}^{\mathrm{*}}-{h}_{1}^{\mathrm{*}}\right)}^{-1}\left({\tau }_{1}^{\mathrm{*}}\times {S}_{1}^{\mathrm{*}}-{\tau }_{2}^{\mathrm{*}}\times {S}_{2}^{\mathrm{*}}\right),\left({x}^{\mathrm{*}}+a\right){P}_{2})= e({P}_{1},{P}_{2})$ . 因此有${\left({h}_{2}^{\mathrm{*}}-{h}_{1}^{\mathrm{*}}\right)}^{-1}\left({\tau }_{1}^{\mathrm{*}}\times{S}_{1}^{\mathrm{*}}-{\tau }_{2}^{\mathrm{*}}\times {S}_{2}^{\mathrm{*}}\right)=\dfrac{a}{{x}^{\mathrm{*}}+a}{P}_{1}$ . 令${X}^{\mathrm{*}}= {\left({h}_{2}^{\mathrm{*}}-{h}_{1}^{\mathrm{*}}\right)}^{-1}\left({\tau }_{1}^{\mathrm{*}}\times {S}_{1}^{\mathrm{*}}-{\tau }_{2}^{\mathrm{*}}\times {S}_{2}^{\mathrm{*}}\right)$ ,因为$ {P}_{1}=f\left(a\right)P $ ,有$\dfrac{a}{{x}^{\mathrm{*}}+a}{P}_{1}= \dfrac{af\left(a\right)}{{x}^{\mathrm{*}}+a}P=\dfrac{\gamma }{{x}^{\mathrm{*}}+a}P+\displaystyle\sum_{i=0}^{q-1}{\gamma }_{i}{a}^{i}P$ ,其中系数$ {\gamma }_{i} $ 已知并且有$ \gamma \ne 0 $ . B计算${\pi }^{\mathrm{*}}=\dfrac{1}{{x}^{\mathrm{*}}+a}{P}_{1}=\dfrac{1}{\gamma }\left({X}^{\mathrm{*}}-\displaystyle\sum_{i=0}^{q-1} {\gamma }_{i}\varphi \left({a}^{i}Q\right)\right)$ ,输出$ ({x}^{\mathrm{*}},{\pi }^{\mathrm{*}}) $ 作为q-SDH困难问题实例的1个解.综上所述,若A能够以不可忽略的概率
$\beta$ 伪造1个有效签名,那么B就能以不可忽略的概率$ \varepsilon $ 解决q-SDH困难问题,其中$\varepsilon \le \dfrac{\beta }{{q}_{{H}_{1}}}$ ,$ {q}_{{H}_{1}} $ 是$ {H}_{1} $ 询问的次数,定理1得证. 证毕.6. 方案分析
为了解决物联网环境中轻量级设备计算受限而无法执行高昂的计算和用户隐私保护问题,本文提出了基于商密SM9的属性基在线/离线签名方案(ABOOS),提出的方案同时具有细粒度访问控制功能. 通过与已有工作[12,17,27-28]相比,分析本文方案优势. 文献[12]给出了支持非单调访问策略的属性基签名方案,方案具有匿名性并且实现了细粒度访问控制,但签名和验证阶段需要大量的指数运算和配对运算,计算开销大. 为了提高签名和验证算法的效率,文献[27−28]提出了高效的属性基签名方案,它通过减少运算中使用的配对运算提高了算法的效率,但仍无法高效地适用于轻量级设备. 为进一步降低验证过程的计算开销,文献[17]提出了具有服务器辅助验证的属性基签名方案,它通过将大量计算外包给云服务器降低了本地的计算开销. 文献[12,17,27−28]的方案是基于国外密码技术标准设计的,不符合国家网络空间安全自主可控的发展战略. 本文提出的基于商密SM9的属性基在线/离线签名方案,不仅具有签名者匿名性和细粒度访问控制,并且有效降低了轻量级设备的签名计算代价. 而且方案是在商密SM9标识签名算法标准下设计的,符合国家核心技术自主创新的发展战略. 方案性能对比如表1所示.
7. 性能分析
本方案与文献[27−28]的计算开销和通信开销比较如表2和表3所示. 基于Ubuntu 18.4,本文在Charm0.5框架下实现了所提的方案. 使用Intel(R) Core(TM) i5-3230M CPU @2.60GHz,4GB RAM性能计算机,利用Charm库中的超奇异椭圆曲线(SS512)测试方案. 实验中群的阶
$ p $ 为512b的大素数. 在计算机上测试主要密码学操作开销,经过1000次测量取平均值后得到实验中配对运算所需时间为12.58 ms,在群$ {G}_{1} $ 和$ {G}_{2} $ 中执行指数运算所需时间分别为4.97 ms和5.02 ms,在群$ {G}_{T} $ 执行指数运算的时间为8.37 ms,在群$ {\mathbb{Z}}_{p}^{*} $ 中执行乘法运算的时间为0.24 ms,执行Hash运算的时间为0.02 ms. 实验结果如图2所示.方案 密钥生成 离线签名 在线签名 验证 文献[27]方案 $\left(\left|{\omega }_{j}\right|+3\right)\times{\mathrm{E} }_{ {G}_{1} }+\mathrm{T}$ $3\left(\left|{\omega }_{j}\right|+6\right)\times{\mathrm{E} }_{ {G}_{1} }+7\mathrm{T}$ $\left(\left|{\omega }_{j}\right|+3\right)\times\mathrm{P}+4\mathrm{T}$ 文献[28]方案 $2\left|{\omega }_{j}\right|\times{\mathrm{E} }_{ {G}_{1} }+\left|{\omega }_{j}\right|\times \mathrm{T}$ H+T+$(\left|{\omega }_{j}\right|+1)\times{\mathrm{E} }_{ {G}_{1} }$ H+3P+$\left|{\omega }_{j}\right|\times{\mathrm{E} }_{ {G}_{1} }$+T 本文方案 2nT+(2n-1)×H $ {\mathrm{E}}_{{G}_{T}} $+2T 2H+T H+P+$ {\mathrm{E}}_{{G}_{T}} $+$ {\mathrm{E}}_{{G}_{1}} $+$ {\mathrm{E}}_{{G}_{2}} $+T 注:$ {\omega }_{j} $ 表示签名者属性集;n表示访问策略中授权属性集的数量;P表示双线性对运算;H表示Hash运算;T表示群$ {\mathbb{Z}}_{p}^{\mathrm{*}} $中的乘法运算;$ {\mathrm{E}}_{{G}_{1}} $表示群$ {G}_{1} $中的指数运算;$ {\mathrm{E}}_{{G}_{2}} $表示群$ {G}_{2} $中的指数运算;$ {\mathrm{E}}_{{G}_{T}} $表示群$ {G}_{T} $中的指数运算. 方案 密钥 离线签名 在线签名 文献[27]方案 ($\left|{\omega }_{j}\right|+2)\times\left|{G}_{1}\right|$ $(2\left|{\omega }_{j}\right|+2)\times\left|{G}_{1}\right|$ 文献[28]方案 $\left|{\omega }_{j}\right|\times\left|{G}_{1}\right|$ $ 2\left|{G}_{1}\right|+\left|{\mathbb{Z}}_{p}^{*}\right| $ 本文方案 $ \left|{G}_{1}\right|+\left|{\mathbb{Z}}_{p}^{*}\right| $ $\left|{G}_{1}\right|+\left|{G}_{{T} }\right|+2\left|{\mathbb{Z} }_{p}^{*}\right|$ $ \left|{G}_{1}\right|+3\left|{\mathbb{Z}}_{p}^{*}\right| $ 注:$ \left|{\omega }_{j}\right| $表示属性集$ {\omega }_{j} $的大小;$ \left|{G}_{1}\right| $,$ \left|{G}_{2}\right| $,$ \left|{G}_{T}\right| $,$ \left|{\mathbb{Z}}_{p}^{*}\right| $分别表示各个群元素的大小. 实验仿真分析结果表明提出的ABOOS方案采用在线/离线签名技术使得签名过程的各计算开销均低于文献[27−28]提出的高效属性基签名方案的. 在签名验证过程中,本文提出的方案使用固定数量的配对运算和指数运算验证计算开销也远小于文献[27−28] .
8. 结束语
本文在SM9标识签名方案的基础上首次提出基于商密SM9的属性基在线/离线签名方案(ABOOS). 该方案不仅适用于物联网环境,同时还实现了细粒度访问控制功能. 基于q-SDH困难问题,本文在随机谕言机模型下证明了该方案的安全性. 通过与现有属性基签名方案的对比分析可知,提出的方案更适用于物联网环境.
作者贡献声明:朱留富负责提出初步方案,实验设计、论文初稿撰写和修改;李继国负责论文思路构建、理论指导、方案分析和论文修改;赖建昌、黄欣沂和张亦辰负责论文方案分析、论文润色和修改.
-
表 1 方案性能比较
Table 1 Performance Comparison of Schemes
表 2 方案计算开销比较
Table 2 Comparison of Computation Cost of Schemes
方案 密钥生成 离线签名 在线签名 验证 文献[27]方案 $\left(\left|{\omega }_{j}\right|+3\right)\times{\mathrm{E} }_{ {G}_{1} }+\mathrm{T}$ $3\left(\left|{\omega }_{j}\right|+6\right)\times{\mathrm{E} }_{ {G}_{1} }+7\mathrm{T}$ $\left(\left|{\omega }_{j}\right|+3\right)\times\mathrm{P}+4\mathrm{T}$ 文献[28]方案 $2\left|{\omega }_{j}\right|\times{\mathrm{E} }_{ {G}_{1} }+\left|{\omega }_{j}\right|\times \mathrm{T}$ H+T+$(\left|{\omega }_{j}\right|+1)\times{\mathrm{E} }_{ {G}_{1} }$ H+3P+$\left|{\omega }_{j}\right|\times{\mathrm{E} }_{ {G}_{1} }$+T 本文方案 2nT+(2n-1)×H $ {\mathrm{E}}_{{G}_{T}} $+2T 2H+T H+P+$ {\mathrm{E}}_{{G}_{T}} $+$ {\mathrm{E}}_{{G}_{1}} $+$ {\mathrm{E}}_{{G}_{2}} $+T 注:$ {\omega }_{j} $ 表示签名者属性集;n表示访问策略中授权属性集的数量;P表示双线性对运算;H表示Hash运算;T表示群$ {\mathbb{Z}}_{p}^{\mathrm{*}} $中的乘法运算;$ {\mathrm{E}}_{{G}_{1}} $表示群$ {G}_{1} $中的指数运算;$ {\mathrm{E}}_{{G}_{2}} $表示群$ {G}_{2} $中的指数运算;$ {\mathrm{E}}_{{G}_{T}} $表示群$ {G}_{T} $中的指数运算. 表 3 方案通信开销比较
Table 3 Comparison of Communication Cost of Schemes
方案 密钥 离线签名 在线签名 文献[27]方案 ($\left|{\omega }_{j}\right|+2)\times\left|{G}_{1}\right|$ $(2\left|{\omega }_{j}\right|+2)\times\left|{G}_{1}\right|$ 文献[28]方案 $\left|{\omega }_{j}\right|\times\left|{G}_{1}\right|$ $ 2\left|{G}_{1}\right|+\left|{\mathbb{Z}}_{p}^{*}\right| $ 本文方案 $ \left|{G}_{1}\right|+\left|{\mathbb{Z}}_{p}^{*}\right| $ $\left|{G}_{1}\right|+\left|{G}_{{T} }\right|+2\left|{\mathbb{Z} }_{p}^{*}\right|$ $ \left|{G}_{1}\right|+3\left|{\mathbb{Z}}_{p}^{*}\right| $ 注:$ \left|{\omega }_{j}\right| $表示属性集$ {\omega }_{j} $的大小;$ \left|{G}_{1}\right| $,$ \left|{G}_{2}\right| $,$ \left|{G}_{T}\right| $,$ \left|{\mathbb{Z}}_{p}^{*}\right| $分别表示各个群元素的大小. -
[1] Even S, Goldreich O, Micali S. On-line/off-line digital signatures[C] //Proc of the 9th Conf on the Theory and Application of Cryptology. Berlin: Springer, 1990: 263-275
[2] Sahai A, Waters B. Fuzzy identity-based encryption[C] //Proc of the 24th Annual Int Conf on the Theory and Applications of Cryptographic Techniques. Berlin: Springer, 2005: 457-473
[3] Zhang Ruyuan, Li Jiguo, Lu Yang, et al. Escrow-free attribute based encryption with user revocation[J]. Information Sciences, 2022, 600(1): 59−72
[4] Li Jiguo, Chen Ningyu, Zhang Yichen. Extended file hierarchy access control scheme with attribute based encryption in cloud computing[J]. IEEE Transactions on Emerging Topics in Computing, 2021, 9(2): 983−993 doi: 10.1109/TETC.2019.2904637
[5] Li Jiguo, Wang Yao, Zhang Yichen, et al. Full verifiability for outsourced decryption in attribute based encryption[J]. IEEE Transactions on Services Computing, 2020, 13(3): 478−487 doi: 10.1109/TSC.2017.2710190
[6] 国家密码管理局. GM/T 0044—2016 SM9标识密码算法[S]. 北京: 中国标准出版社, 2016 State Cryptography Administration. GM/T 0044—2016 Identity-based cryptographic algorithms SM9 [S]. Beijing: Standard Press of China, 2016 (in Chinese)
[7] Bethencourt J, Sahai A, Waters B. Ciphertext-policy attribute-based encryption[C] //Proc of the 28th IEEE Symp on Security and Privacy (SP’07). Los Alamitos, CA: IEEE Computer Society, 2007: 321-334
[8] Chen Ningyu, Li Jiguo, Zhang Yichen, et al. Efficient CP-ABE scheme with shared decryption in cloud storage[J]. IEEE Transactions on Computers, 2022, 71(1): 175−184 doi: 10.1109/TC.2020.3043950
[9] Li Jiguo, Zhang Yichen, Ning Jianting, et al. Attribute based encryption with privacy protection and accountability for CloudIoT[J]. IEEE Transactions on Cloud Computing, 2020, 10(2): 762−773
[10] Goyal V, Pandey O, Saha A, et al. Attribute-based encryption for fine-grained access control of encrypted data[C] //Proc of the 13th ACM Conf on Computer and Communications Security. New York: ACM, 2006: 89–98
[11] Maji K, Prabhakaran M, Rosulek M. Attribute-based signatures[C] //Proc of the 11th Int Conf on Topics in Cryptology. Berlin: Springer, 2011: 376-392
[12] Okamoto T, Takashima K. Efficient attribute-based signatures for non-monotone predicates in the standard model[C] //Proc of the 14th Int Conf on Practice and Theory in Public Key Cryptography. Berlin: Springer, 2011: 409-421
[13] Liu J K, Baek J, Zhou Jianying, et al. Efficient online/offline identity-based signature for wireless sensor network[J]. International Journal of Information Security, 2010, 9(4): 287−296 doi: 10.1007/s10207-010-0109-y
[14] Liu Dan, Zhang Shun, Zhong Hong, et al. An efficient identity-based online/offline signature scheme without key escrow[J]. International Journal of Network Security, 2017, 19(1): 127−137
[15] Rao Y S. Attribute-based online/offline signcryption scheme[J]. International Journal of Communication Systems, 2017, 30(16): 3322−3342 doi: 10.1002/dac.3322
[16] 张应辉,贺江勇,郭瑞,等. 工业物联网中服务器辅助且可验证的属性基签名方案[J]. 计算机研究与发展,2020,57(10):2177−2187 doi: 10.7544/issn1000-1239.2020.20200421 Zhang Yinghui, He Jiangyong, Guo Rui, et al. Server-aided and verifiable attribute-based signature for industrial internet of things[J]. Journal of Computer Research and Development, 2020, 57(10): 2177−2187 (in Chinese) doi: 10.7544/issn1000-1239.2020.20200421
[17] Chen Yu, Li Jiguo, Liu Chengdong, et al. Efficient attribute-based server-aided verification signature[J/OL]. IEEE Transactions on Services Computing, 2021 [2022-05-24]. https://ieeexplore.ieee.org/abstract/document/9483637
[18] Li Jiguo, Chen Yu, Han Jinguang, et al. Decentralized attribute-based server-aid signature in the internet of things[J]. IEEE Internet of Things Journal, 2021, 9(6): 4573−4583
[19] 李继国,朱留富,刘成东,等. 标准模型下证明安全的可追踪属性基净化签名[J]. 计算机研究与发展,2021,58(10):2253−2264 doi: 10.7544/issn1000-1239.2021.20210669 Li Jiguo, Zhu Liufu, Liu Chengdong, et al. Provably secure traceable attribute-based sanitizable signature scheme in the standard model[J]. Journal of Computer Research and Development, 2021, 58(10): 2253−2264 (in Chinese) doi: 10.7544/issn1000-1239.2021.20210669
[20] Cheng Zhaohui. Security analysis of SM9 key agreement and encryption[C] //Proc of the 14th Int Conf on Information Security and Cryptology. Berlin: Springer, 2018: 3-25
[21] 王松,房利国,韩炼冰,等. 一种SM9数字签名及验证算法的快速实现方法[J]. 通信技术,2019,52(10):2524−2527 doi: 10.3969/j.issn.1002-0802.2019.10.035 Wang Song, Fang Liguo, Han Lianbing, et al. Fast implementation of SM9 digital signature and verification algorithms[J]. Communication Technology, 2019, 52(10): 2524−2527 (in Chinese) doi: 10.3969/j.issn.1002-0802.2019.10.035
[22] Lai Jianchang, Huang Xinyi, He Debiao, et al. Provably secure scheme based on SM9[J]. The Computer Journal, 2022, 65(7): 1692−1701 doi: 10.1093/comjnl/bxab009
[23] 赖建昌,黄欣沂,何德彪. 一种基于商密SM9的高效标识广播加密方案[J]. 计算机学报,2021,44(5):897−907 doi: 10.11897/SP.J.1016.2021.00897 Lai Jianchang, Huang Xinyi, He Debiao. An efficient identity-based broadcast encryption scheme based on SM9[J]. Chinese Journal of Computers, 2021, 44(5): 897−907 (in Chinese) doi: 10.11897/SP.J.1016.2021.00897
[24] 赖建昌,黄欣沂,何德彪,等. 基于商密SM9的高效标识签密[J]. 密码学报,2021,8(2):314−329 doi: 10.13868/j.cnki.jcr.000440 Lai Jianchang, Huang Xinyi, He Debiao, et al. An efficient identity-based signcryption scheme based on SM9[J]. Journal of Cryptologic Research, 2021, 8(2): 314−329 (in Chinese) doi: 10.13868/j.cnki.jcr.000440
[25] Pointcheval D, Stern J. Security arguments for digital signatures and blind signatures[J]. Journal of Cryptology, 2000, 13(3): 361−396 doi: 10.1007/s001450010003
[26] Fan C I, Tseng Y F, Lin C W. Attribute-based encryption from identity-based encryption[EB/OL]. 2017 [2022-05-24]. https://eprint.iacr.org/2017/219
[27] Zhang Jinxin, Chen Jiageng, Meng Weizhi. Efficient attribute-based signature for monotone predicates[C] //Proc of the 15th Int Conf on Provable Security. Berlin: Springer, 2021: 346−362
[28] Gu Ke, Jia Weijia, Wang Guojun, et al. Efficient and secure attribute-based signature for monotone predicates[J]. Acta Informatica, 2017, 54(5): 521−541.
-
期刊类型引用(3)
1. 芮志清,梅瑶,陈振哲,吴敬征,凌祥,罗天悦,武延军. SeChain:基于国密算法的RISC-V安全启动机制设计与实现. 计算机研究与发展. 2024(06): 1458-1475 . 本站查看 2. 李继国,方淳. 基于SM9的指定验证者聚合签名方案. 网络与信息安全学报. 2024(04): 63-71 . 百度学术 3. 安浩杨,何德彪,包子健,彭聪,罗敏. 基于SM9数字签名的环签名及其在区块链隐私保护中的应用. 计算机研究与发展. 2023(11): 2545-2554 . 本站查看 其他类型引用(4)