留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于属性隐藏的高效去中心化的移动群智数据共享方案

蒋沥泉 秦志光

蒋沥泉, 秦志光. 基于属性隐藏的高效去中心化的移动群智数据共享方案[J]. 电子科技大学学报, 2023, 52(6): 915-924. doi: 10.12178/1001-0548.2022225
引用本文: 蒋沥泉, 秦志光. 基于属性隐藏的高效去中心化的移动群智数据共享方案[J]. 电子科技大学学报, 2023, 52(6): 915-924. doi: 10.12178/1001-0548.2022225
JIANG Liquan, QIN Zhiguang. Attribute-Hiding Based Efficient and Decentralized Scheme for Mobile Crowdsensing Data Sharing[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(6): 915-924. doi: 10.12178/1001-0548.2022225
Citation: JIANG Liquan, QIN Zhiguang. Attribute-Hiding Based Efficient and Decentralized Scheme for Mobile Crowdsensing Data Sharing[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(6): 915-924. doi: 10.12178/1001-0548.2022225

基于属性隐藏的高效去中心化的移动群智数据共享方案

doi: 10.12178/1001-0548.2022225
详细信息
    作者简介:

    蒋沥泉(1977 − ),女,博士生,主要从事密码学等方面的研究

    通讯作者: 秦志光,E-mail:qinzg@uestc.edu.cn

Attribute-Hiding Based Efficient and Decentralized Scheme for Mobile Crowdsensing Data Sharing

  • 摘要: 移动群智技术是一种能够突破时间与地点的限制,实现随时随地大规模的实时群智数据感知、传输和共享的技术。然而,现有的移动群智场景在数据共享过程中面临诸多安全、隐私和效率问题,如非授权数据访问、访问控制隐私泄漏、单权威密钥托管、访问开销过高等。为了同时解决以上问题,提出了一个面向移动群智场景的高效去中心化属性隐藏的数据共享方案。该方案不仅允许群智用户指定基于属性的访问控制用于加密群智数据,使得只有满足访问控制的用户才能访问该群智数据,还允许多个权威机构为群智用户共同生成私钥,使得单独的权威机构无法伪装成合法的用户来非法访问目标群智数据。此外,该方案在不泄漏访问控制的属性隐私的情况下,群智用户能够以最低的能耗快速解密和访问目标群智数据。通过安全性和性能分析,证明该方案能够实现安全高效的移动群智数据共享。
  • 图  1  系统模型图

    图  2  各算法随属性向量长度变化的计算开销

    图  3  各算法随权威机构个数变化的计算开销

    表  1  基于多权威的属性基的方案对比

    方案功能
    细粒度访
    问控制
    权威去
    中心化
    属性隐
    私保护
    高效数
    据访问
    文献[11]×××
    文献[12-13, 16-17, 19]××
    文献[14-15, 35]×
    文献[18]×
    本方案
    下载: 导出CSV

    表  2  相关方案各算法计算开销对比

    算法方案AuthSetupKeyGenEncryptionDecryption
    文献[14]$ 2n{e}_{0} $$ 4mn{e}_{0} $$ \left(mn+n+1\right){e}_{0} $
    $ +n(p+{e}_{1}) $
    $ \left(mn+n+1\right)p $
    $ +mn{e}_{0} $
    文献[15]$ 2n{e}_{0} $
    $ +n(p+{e}_{1}) $
    $ 8mn{e}_{0} $$ \left(mn+n\right)p $
    $ +(2n+mn+1){e}_{0} $
    $ (3n+2mn)p $
    文献[18]$ 2n{e}_{0} $
    $ 4mn{e}_{0} $$ m\left(4n+2\right){e}_{0}+2mp $$ p+{e}_{0} $
    文献[35](2n+5)$ {e}_{0} $+ $ \text{n}(p+{e}_{1}) $$ 5mn{e}_{0} $$ \left(m+1\right)p $
    $ +(3m+3mn+1){e}_{0} $
    $ \left(2mn+2m+1\right)p $
    $ +mn{e}_{0} $
    本方案n$ \left(n+2\right){e}_{0}+n(n+1)(p+{e}_{1}) $$ mn{e}_{0} $2n$ \left(n+1\right){e}_{0}+n(n+1)(p+{e}_{1}) $
    $ {e}_{0} $
    下载: 导出CSV

    表  3  相关方案参数存储开销对比

    算法方案|PK||UK||CT|
    [14]$ m(n+1){|G}_{1}\left|+m\right|{G}_{T}| $$ 2mn\left|{G}_{1}\right| $$ m\left(n+2\right){|G}_{1}|+{|G}_{T}| $
    [15]$ 2{m|G}_{1}\left|+nm\right|{G}_{T}| $$ m(3n+2){G}_{1}| $$ nm{|G}_{1}|+{(mn+2)|G}_{T}| $
    [18]$ \left(n+2\right)m $
    $ {|G}_{1}| $
    $ 2mn\left|{G}_{1}\right| $$ {(4mn+2m){|G}_{1}|+|G}_{T}| $
    [35]$ \left(2{m+5\left)\right|G}_{1}\left|+m\right|{G}_{T}\right| $$ (3m+mn)\left|{G}_{1}\right| $$ {(2mn+2m+1){|G}_{1}|+|G}_{T}| $
    本方案$ 2nm\left(n+1\right){|G}_{1}\left|+nm\left(n+1\right)\right|{G}_{T}| $$ mn\left|{G}_{1}\right| $$ n\left(n+1\right){|G}_{1}|+{|G}_{T}| $
    下载: 导出CSV
  • [1] 熊金波, 毕仁万, 田有亮, 等. 移动群智感知安全与隐私: 模型、进展与趋势[J]. 计算机学报, 2021, 44(9): 1949-1966. doi:  10.11897/SP.J.1016.2021.01949

    XIONG J B, BI R W, TIAN Y L, et al. Security and privacy in mobile crowdsening: Models, progress and trends[J]. Chinese Journal of Computers, 2021, 44(9): 1949-1966. doi:  10.11897/SP.J.1016.2021.01949
    [2] 黄大欣, 甘庆晴, 王晓明, 等. 群智感知网络环境下的一种高效安全数据聚合方案[J]. 密码学报, 2021, 8(5): 868-880. doi:  10.13868/j.cnki.jcr.000483

    HUANG D X, GAN Q Q, WANG X M, et al. An efficient secure data aggregation in mobile crowdsening networks[J]. Journal of Cryptologic Research, 2021, 8(5): 868-880. doi:  10.13868/j.cnki.jcr.000483
    [3] WANG L, ZHANG D, WANG Y, et al. Sparse mobile crowdsensing: Challenges and opportunities[J]. IEEE Communications Magazine, 2016, 54(7): 161-167. doi:  10.1109/MCOM.2016.7509395
    [4] 王涛春, 金鑫, 吕成梅, 等. 移动群智感知中融合数据的隐私保护方法[J]. 计算机研究与发展, 2020, 57(11): 2337-2347. doi:  10.7544/issn1000-1239.2020.20190579

    WANG T C, JIN X, LYU C M, et al. Privacy-preseving data aggregation method in mobile crowdsensing[J]. Journal of Computer Research and Development, 2020, 57(11): 2337-2347. doi:  10.7544/issn1000-1239.2020.20190579
    [5] 唐裕彪. 物联网时代移动群智感知技术中的安全问题浅析[J]. 数字通信世界, 2021(11): 41-42. doi:  10.3969/J.ISSN.1672-7274.2021.11.017

    TANG Y B. Analysis of security issues in mobile crowdsensing technology in the internet of things era[J]. Digital Communication World, 2021(11): 41-42. doi:  10.3969/J.ISSN.1672-7274.2021.11.017
    [6] NGUYEN T N, ZEADALLY S. Mobile crowd-sensing applications: Data redundancies, challenges, and solutions[J]. ACM Transactions on Internet Technology (TOIT), 2021, 22(2): 1-15.
    [7] DING X, LVY R, PANG X, et al. Privacy-preserving task allocation for edge computing-based mobile crowdsensing[J]. Computers & Electrical Engineering, 2021, 97(22): 107528.
    [8] CAPPONI A, FIANDRINO C, KANTARCI B, et al. A survey on mobile crowdsensing systems: Challenges, solutions, and opportunities[J]. IEEE Communications Surveys & Tutorials, 2019, 21(3): 2419-2465.
    [9] SAHAI A, WATERS B. Fuzzy identity-based encryption[C]//Annual International Conference on the Theory and Applications of Cryptographic Techniques. Berlin, Heidelberg: Springer, 2005: 457-473.
    [10] GOYAL V, PANDEY O, SAHAI A, et al. Attribute-based encryption for fine-grained access control of encrypted data[C]//Proceedings of the 13th ACM Conference on Computer and Communications Security. [S.l.]: ACM, 2006: 89-98.
    [11] CHASE M. Multi-authority attribute-based encryption[C]//Theory of Cryptography Conference. Berlin, Heidelberg: Springer, 2007: 515-534.
    [12] LIN H, CAO Z, LIANG X, et al. Secure threshold multi authority attribute-based encryption without a central authority[C]//International Conference on Cryptology in India. [S. l.]: Springer, 2008: 426-436.
    [13] LEWKO A, WATERS B. Decentralizing attribute-based encryption[C]//Annual International Conference on the Theory and Applications of Cryptographic Techniques. Berlin, Heidelberg: Springer, 2011: 568-588.
    [14] HAN J, SUSILO W, MU Y, et al. Privacy-preserving decentralized key-policy attribute-based encryption[J]. IEEE Transactions on Parallel and Distributed Systems, 2012, 23(11): 2150-2162. doi:  10.1109/TPDS.2012.50
    [15] QIAN H, LI J, ZHANG Y. Privacy-preserving decentralized ciphertext-policy attribute-based encryption with fully hidden access structure[C]//International Conference on Information and Communications Security. Cham: Springer, 2013: 363-372.
    [16] RUJ S, STOJMENOVIC M, NAYAK A. Decentralized access control with anonymous authentication of data stored in clouds[J]. IEEE Transactions on Parallel and Distributed Systems, 2013, 25(2): 384-394.
    [17] ZHANG L, GAO X, KANG L, et al. Distributed ciphertext-policy attribute-based encryption with enhanced collusion resilience and privacy preservation[J]. IEEE Systems Journal, 2021, DOI:  10.1109/JSYST.2021.3072793.
    [18] YE Y, ZHANG L, YOU W, et al. Secure decentralized access control policy for data sharing in smart grid[C]//IEEE INFOCOM 2021-IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS). [S.l.]: IEEE, 2021: 1-6.
    [19] CHASE M, CHOW S S M. Improving privacy and security in multi-authority attribute-based encryption[C]//Proceedings of the 16th ACM Conference on Computer and Communications Security. [S. l.]: ACM, 2009: 121-130.
    [20] NISHIDE T, YONEYAMA K, OHTA K. ABE with partially hidden encryptor-specified access structure[C]//International Conference on Applied Cryptography and Network Security. Berlin, Heidelberg: Springer, 2008: 21-29.
    [21] RAO Y S, DUTTA R. Recipient anonymous ciphertext-policy attribute-based encryption[C]//International Conference on Information Systems Security. Berlin, Heidelberg: Springer, 2013: 329-344.
    [22] LAI J, DENG R H, LI Y. Fully secure cipertext-policy hiding CP-ABE[C]//International Conference on Information Security Practice and Experience. Berlin, Heidelberg: Springer, 2011: 24-39.
    [23] ZHANG Y, CHEN X, LI J, et al. Anonymous attribute-based encryption supporting efficient decryption test[C]//Proceedings of the 8th ACM SIGSAC Symposium on Information, Computer and Communications Security. [S. l.]: ACM, 2013: 511-516.
    [24] HUR J. Attribute-based secure data sharing with hidden policies in smart grid[J]. IEEE Transactions on Parallel and Distributed Systems, 2013, 24(11): 2171-2180. doi:  10.1109/TPDS.2012.61
    [25] ZHOU Z, HUANG D, WANG Z. Efficient privacy-preserving ciphertext-policy attribute based-encryption and broadcast encryption[J]. IEEE Transactions on Computers, 2013, 64(1): 126-138.
    [26] ZHANG Y, ZHENG D, DENG R H. Security and privacy in smart health: Efficient policy-hiding attribute-based access control[J]. IEEE Internet of Things Journal, 2018, 5(3): 2130-2145. doi:  10.1109/JIOT.2018.2825289
    [27] GREEN M, HOHENBERGER S, WATERS B. Outsourcing the decryption of ABE ciphertexts[C]//USENIX Security Symposium. San Francisco: USENIX Association, 2011: 1-16.
    [28] ZHOU Z, HUANG D. Efficient and secure data storage operations for mobile cloud computing[C]//8th International Conference on Network and Service Management (CNSM) and 2012 Workshop on Systems Virtualiztion Management (SVM). [S.l.]: IEEE, 2012: 37-45.
    [29] LI J, JIA C, LI J, et al. Outsourcing encryption of attribute-based encryption with mapreduce[C]// International Conference on Information and Communications Security. [S.l.]: Springer, 2012: 191-201.
    [30] LAI J, DENG R H, GUAN C, et al. Attribute-based encryption with verifiable outsourced decryption[J]. IEEE Transactions on Information Forensics and Security, 2013, 8(8): 1343-1354. doi:  10.1109/TIFS.2013.2271848
    [31] QIN B, DENG R H, LIU S, et al. Attribute-based encryption with efficient verifiable outsourced decryption[J]. IEEE Transactions on Information Forensics and Security, 2015, 10(7): 1384-1393. doi:  10.1109/TIFS.2015.2410137
    [32] LIN S, ZHANG R, MA H, et al. Revisiting attribute-based encryption with verifiable outsourced decryption[J]. IEEE Transactions on Information Forensics and Security, 2015, 10(10): 2119-2130. doi:  10.1109/TIFS.2015.2449264
    [33] MAO X, LAI J, MEI Q, et al. Generic and efficient constructions of attribute-based encryption with verifiable outsourced decryption[J]. IEEE Transactions on Dependable and Secure Computing, 2015, 13(5): 533-546.
    [34] WANG H, HE D, SHEN J, et al. Verifiable outsourced ciphertext-policy attribute-based encryption in cloud computing[J]. Soft Computing, 2017, 21(24): 7325-7335. doi:  10.1007/s00500-016-2271-2
    [35] ZHANG L, GAO X, KANG L, et al. Distributed ciphertext-policy attribute-based encryption with enhanced collusion resilience and privacy preservation[J]. IEEE Systems Journal, 2021, 16(1): 735-746.
  • [1] 叶进, 庞承杰, 李晓欢, 张鑫, 刘亮.  基于区块链的供应链数据分级访问控制机制 . 电子科技大学学报, 2022, 51(3): 408-415. doi: 10.12178/1001-0548.2021321
    [2] 王启旭, 丁哲, 陈大江, 秦臻, 秦志光.  一种面向发布订阅系统的访问控制机制 . 电子科技大学学报, 2018, 47(4): 595-600. doi: 10.3969/j.issn.1001-0548.2018.04.019
    [3] 李海林, 万校基.  基于簇中心群的时间序列数据分类方法 . 电子科技大学学报, 2017, 46(3): 625-630. doi: 10.3969/j.issn.1001-0548.2017.03.024
    [4] 宋明秋, 王琳, 姜宝彦, 邓贵仕.  多属性泛化的K-匿名算法 . 电子科技大学学报, 2017, 46(6): 896-901. doi: 10.3969/j.issn.1001-0548.2017.06.018
    [5] 罗学刚, 吕俊瑞, 王华军, 杨强.  选择性计算的快速非局部均值图像去噪 . 电子科技大学学报, 2015, 44(1): 84-90. doi: 10.3969/j.issn.1001-0548.2015.01.014
    [6] 马春光, 石岚, 汪定.  基于访问树的属性基签名算 . 电子科技大学学报, 2013, 42(3): 410-414. doi: 10.3969/j.issn.1001-0548.2013.03.018
    [7] 汪海玲, 郝玉洁, 白敬培.  内容管理信息系统中访问控制方案的切换 . 电子科技大学学报, 2013, 42(5): 749-752. doi: 10.3969/j.issn.1001-0548.2013.05.020
    [8] 王浩, 吴博, 葛劲文, 王平.  物联网中基于受控对象的分布式访问控制 . 电子科技大学学报, 2012, 41(6): 893-898. doi: 10.3969/j.issn.1001-0548.2012.06.015
    [9] 孙昌霞, 马文平, 陈和风.  可证明安全的无中心授权的多授权属性签名 . 电子科技大学学报, 2012, 41(4): 552-556. doi: 10.3969/j.issn.1001-0548.2012.04.014
    [10] 梁家荣, 谭红艳, 樊仲光.  广义系统的快速终端滑模控制 . 电子科技大学学报, 2011, 40(1): 11-15. doi: 10.3969/j.issn.1001-0548.2011.01.002
    [11] 刘正涛, 毛宇光, 王建东, 叶传标.  基于角色的层次受限委托模型 . 电子科技大学学报, 2010, 39(1): 114-118. doi: 10.3969/j.issn.1001-0548.2010.01.026
    [12] 王建, 谢渊, 李欣.  角锥喇叭相位中心的移动参考点计算法 . 电子科技大学学报, 2008, 37(4): 538-540,555.
    [13] 黄琛, 李忠献, 杨义先.  网格多级委托授权模型及其应用 . 电子科技大学学报, 2008, 37(3): 428-431.
    [14] 李金海, 吕跃进.  决策系统的快速属性约简算法 . 电子科技大学学报, 2007, 36(6): 1237-1240.
    [15] 牛新征, 佘堃, 路纲, 周明天.  基于RBAC技术的P2P安全机制的研究 . 电子科技大学学报, 2007, 36(3): 493-495,499.
    [16] 汪文勇, 黄鹂声.  下一代互联网实名访问机制研究 . 电子科技大学学报, 2006, 35(1): 81-84.
    [17] 田敬东, 何再朗, 王向东, 张毓森.  基于角色的强制访问控制模型研究 . 电子科技大学学报, 2006, 35(6): 950-952.
    [18] 刘民岷, 刘璟.  一个组播分布式访问控制系统 . 电子科技大学学报, 2005, 34(5): 642-645.
    [19] 刘贵松, 晏华, 章毅.  基于ARP协议的局域网访问控制 . 电子科技大学学报, 2005, 34(2): 240-243.
    [20] 卿利, 朱清新.  一种新的单钥-锁对访问控制方案 . 电子科技大学学报, 2003, 32(6): 692-695,721.
  • 加载中
图(3) / 表(3)
计量
  • 文章访问数:  3899
  • HTML全文浏览量:  996
  • PDF下载量:  24
  • 被引次数: 0
出版历程
  • 收稿日期:  2022-07-21
  • 修回日期:  2022-12-10
  • 录用日期:  2023-02-01
  • 网络出版日期:  2023-11-29
  • 刊出日期:  2023-11-25

基于属性隐藏的高效去中心化的移动群智数据共享方案

doi: 10.12178/1001-0548.2022225
    作者简介:

    蒋沥泉(1977 − ),女,博士生,主要从事密码学等方面的研究

    通讯作者: 秦志光,E-mail:qinzg@uestc.edu.cn

摘要: 移动群智技术是一种能够突破时间与地点的限制,实现随时随地大规模的实时群智数据感知、传输和共享的技术。然而,现有的移动群智场景在数据共享过程中面临诸多安全、隐私和效率问题,如非授权数据访问、访问控制隐私泄漏、单权威密钥托管、访问开销过高等。为了同时解决以上问题,提出了一个面向移动群智场景的高效去中心化属性隐藏的数据共享方案。该方案不仅允许群智用户指定基于属性的访问控制用于加密群智数据,使得只有满足访问控制的用户才能访问该群智数据,还允许多个权威机构为群智用户共同生成私钥,使得单独的权威机构无法伪装成合法的用户来非法访问目标群智数据。此外,该方案在不泄漏访问控制的属性隐私的情况下,群智用户能够以最低的能耗快速解密和访问目标群智数据。通过安全性和性能分析,证明该方案能够实现安全高效的移动群智数据共享。

English Abstract

蒋沥泉, 秦志光. 基于属性隐藏的高效去中心化的移动群智数据共享方案[J]. 电子科技大学学报, 2023, 52(6): 915-924. doi: 10.12178/1001-0548.2022225
引用本文: 蒋沥泉, 秦志光. 基于属性隐藏的高效去中心化的移动群智数据共享方案[J]. 电子科技大学学报, 2023, 52(6): 915-924. doi: 10.12178/1001-0548.2022225
JIANG Liquan, QIN Zhiguang. Attribute-Hiding Based Efficient and Decentralized Scheme for Mobile Crowdsensing Data Sharing[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(6): 915-924. doi: 10.12178/1001-0548.2022225
Citation: JIANG Liquan, QIN Zhiguang. Attribute-Hiding Based Efficient and Decentralized Scheme for Mobile Crowdsensing Data Sharing[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(6): 915-924. doi: 10.12178/1001-0548.2022225
  • 随着传感技术、大数据技术以及移动物联网的快速发展,移动群智技术作为一种新型大规模感知技术,能够利用用户随身携带的移动设备突破时间与地点的限制,随时随地地借助云服务平台进行大规模的实时数据感知、传输和共享[1-3]。随着便携式移动设备传感器集成的精细化以及功能的多样化,其应用也越来越广泛,如交通导航、环境监测、医疗服务等[4-5]。尽管移动群智应用能够极大地提升人类生活质量,然而由于在应用过程中涉及大量的数据传输、交换和共享,这使得群智感知的应用也面临着一系列数据隐私和安全问题。如攻击者可以通过非法获取用户上传的群智医疗等敏感信息来推导其健康状况,进而进行一系列恶意造谣和攻击。社交用户传输给应用服务器的群智数据通常带有时空信息(含有收集数据时的位置),攻击者可以非法获取这些数据并可能利用这些数据推导出用户的生活习惯、行为、家庭住址等敏感信息,从而获取用户的隐私并可能对用户发起恶意攻击。因此,在保证数据隐私性的前提下,如何实现对群智数据的授权访问是移动群智应用首要解决的问题[6-8]

    基于属性加密的访问控制技术是一种有效的解决方法[9-10]。在该技术中,用户的私钥和一组属性集(或一个访问控制)绑定在一起,加密的数据和访问控制(或一组属性集)绑定在一起。当用户私钥中的属性集(访问控制)和密文中的访问控制(属性集)相匹配时,该用户才有权访问数据。然而,在现有的大多数基于属性加密的访问控制中,用户的密钥通常是由一个中央权威去生成和分配,这就需要该权威机构是完全可信的。而在现实的应用场景中,中央权威机构由于托管着用户所有的密钥,可能伪装成合法用户去访问用户的数据,使得用户数据隐私性遭到破坏。因此,如何实现去中心化和分布式的访问控制减少中央权威的信任成为亟待解决的挑战。此外,现有的大多数基于属性的访问控制方案中都过于专注用户数据机密性的保护,很少考虑用户属性的隐私性。如在移动群智的医疗服务场景中,群智用户选择一个访问控制,如“人民医院”“精神科医生”“生理医生”“心理医生”,对自己的群智医疗数据进行加密,使得只有人民医院的精神科医生、生理医生或心理医生才能访问其医疗数据。然而,由于密文中的访问控制是以明文的形式附加在密文数据上的,这就使得任何非法用户即使不能解密其密文数据,也能通过访问控制大致推测该用户可能患有生理或心理疾病,这无疑在一定程度上损害了用户的隐私。因此,如何防止访问控制的隐私性泄漏也成为另一个待解决的挑战之一。除了实现去中心化和分布式的访问控制以及保证访问控制的隐私性之外,考虑到大多数的基于属性加密的方案其密文长度过长、解密效率过低,这对于资源受限的移动群智用户难以快速地解密并访问数据,因此,如何保证资源有限的群智用户能以最少的耗能快速实现对目标数据的访问也是一个现实的挑战。

    目前来说,大多数基于属性的加密方案都只能部分解决以上挑战。如具有去中心化功能的基于属性的加密方案[11-18]仅能够实现中心化和分布式的访问控制,无法实现对访问控制的隐私保护和高效的数据访问。具有策略隐藏功能的基于属性的加密方案[19-25]仅能够实现对访问控制的隐私保护,无法实现去中心化和高效的数据访问;具有外包功能的基于属性的加密方案[26-33]仅能够实现高效的数据访问,而没有考虑去中心化和访问控制的隐私保护;此外,还有一些具有隐私保护的去中心化功能的基于属性的加密方案或基于外包的具有隐私保护的属性基加密方案要么没有考虑用户解密效率,要么未考虑去中心化问题[14, 25, 34-35]

    为了实现移动群智应用场景下的属性隐藏、去中心化以及高效的数据访问,本文提出了一个基于属性隐藏的高效去中心化的移动群智数据共享方案。本文的主要贡献如下。

    1)细粒度访问控制:本方案允许群智用户指定基于属性的访问控制用于加密群智数据,使得只有满足访问控制的用户才能访问该群智数据。与之前的细粒度访问控制相比,本方案的访问控制更高效。

    2)权威去中心化:本方案允许多个权威机构为群智用户共同生成私钥,使得单独的权威机构无法伪装成合法的用户非法访问目标数据。相较于之前中心化的属性权威的问题,本方案能够防止抗权威密钥泄漏。

    3)属性隐藏: 本方案支持对访问控制的隐私保护,本质上来说访问控制是一组属性的描述,实现对访问控制的隐私保护等同于实现对用户属性的隐藏。与之前的访问控制方案相比,本方案考虑了访问控制的属性隐私。

    4)外包解密: 本方案允许群智用户能够以最低的能耗去快速解密和访问目标数据。

    • n-线性假设:给定一个群$\left( {p,{\text{ }}{G_1},{\text{ }}{G_2},{\text{ }}{G_T},{\text{ }}e} \right)$,不存在一个多项式区分者可以以不可忽略的优势区分${\mathcal{T}_0} = \left( {g_1,{\text{ }}g_2,{\text{ }}g_1^{\boldsymbol{R}},{\text{ }}g_1^{{\boldsymbol{R\gamma }}}} \right)$${\mathcal{T}_1} = \left( {g_1,{\text{ }}g_2,{\text{ }}g_1^{\boldsymbol{R}},{\text{ }}g_1^{\boldsymbol{Z}}} \right)$,这里,${\boldsymbol{\gamma}} $是从${Z_p}$选取长度为$n$的随机矩阵,${\boldsymbol{Z}}$是从${Z_p}$选取$n + 1$$1$列的随机矩阵,${\boldsymbol{R}}$为从${Z_p}$选取$n + 1$$n$列的随机整数矩阵。

    • 图1所示的本系统模型中,涉及4种不同类型的实体: 权威机构、云服务器、数据拥有者、数据发送者。具体来说,首先权威机构生成系统公开参数,并向系统中的所有实体公开。此外,所有的权威机构为用户生成私钥,并将生产的私钥发送给用户。数据拥有者通过加密算法将其群智数据加密生成密文,并将生成的密文发送到云服务器上存储和共享。当数据使用者想访问存储在云服务器上的密文数据,他首先盲化其私钥生成盲化密钥和转换密钥,然后将盲化密钥发送给云服务器。云服务器在接收到盲化密钥时,执行外包解密操作,并将转换后的外包密文发送给该数据使用者。数据使用者在接收到转换的外包密文后,使用转换密钥恢复明文信息。

      图  1  系统模型图

      和其他类似方案的安全模型定义相同[14-15, 18],本方案中所有的权威机构都是半可信的第三方,即诚实好奇的第三方,它们能忠实地执行公钥生成和发布,为用户生成其各自的私钥,但可能伪装成合法用户非法访问数据。云服务器是半可信的,即为用户提供无限的存储资源以及为用户忠实地执行其指示的操作,但也很好奇地试图去了解其存储的数据或执行的解密内容。数据拥有者是诚实的数据发送方,主要负责上传数据,以分享给其他用户实现非交互式的数据访问。数据访问者是不可信的数据访问方,即非授权用户试图通过发起包含合谋攻击等手段以获取合法权限,从而达到其非法访问非授权用户数据的目的。

    • 本方案由如下若干个算法组成。

      ${\rm{SETUP}}(\lambda )$: 输入安全参数$\lambda $,输出公共参数${\rm{pp}}$,该算法由所有权威机构执行。

      ${\rm{AuthSetup}}({\rm{pp}},{\text{ }}i)$: 输入公共参数${\rm{pp}}$、权威机构索引$i$,生成其公私钥${\rm{P}}{{\rm{K}}_i}$${\rm{S}}{{\rm{K}}_i}$,该算法由权威机构执行。

      ${\rm{Encrypt}}({\rm{pp}},{\text{ }}{\rm{P}}{{\rm{K}}_i},{\text{ }}{\boldsymbol{x}},{\text{ }}m)$: 输入公共参数${\rm{pp}}$、公钥${\rm{P}}{{\rm{K}}_i}$、访问控制向量${\boldsymbol{x}}$、加密消息$m$,该加密算法输出密文${\rm{CT}}$,该算法由数据所有者执行。

      ${\rm{KeyGen}}({\rm{pp}},{\text{ }}{\rm{S}}{{\rm{K}}_i},{\text{ }}{\rm{P}}{{\rm{K}}_i},{\text{ }}{\rm{GID}},{\text{ }}{\boldsymbol{z}})$: 输入公共参数${\rm{pp}}$,所有权威机构私钥${\rm{S}}{{\rm{K}}_i}$、所有权威机构的公钥${\rm{P}}{{\rm{K}}_i}$、用户的全局身份${\rm{GID}}$、属性向量${\boldsymbol{z}}$,该密钥生成算法为用户生成私钥${\rm{U}}{{\rm{K}}_i}$,该算法由各权威机构执行。

      ${\rm{KeyGe}}{{\rm{n}}_{{\rm{out}}}}({\rm{pp}},{\text{ }}{\rm{U}}{{\rm{K}}_i})$: 输入公共参数${\rm{pp}}$、用户私钥${\rm{U}}{{\rm{K}}_i}$,该密钥盲化算法为用户生成盲化私钥$\left( {z',{\rm{U}}{{{\rm{K}}'}_i}} \right)$和转换密钥${\rm{tk}}$,该算法由数据使用者执行。

      ${\rm{Decryp}}{{\rm{t}}_{{\rm{out}}}}\left( {{\rm{pp}},{\text{ }}{\rm{CT}},{\text{ }}\left( {{\boldsymbol{z}}',{\text{ }}{\rm{U}}{{{\rm{K}}'}_i}} \right)} \right)$: 输入公共参数${\rm{pp}}$、密文${\rm{CT}}$、盲化私钥$\left( {{\boldsymbol{z}}',{\rm{U}}{{{\rm{K}}'}_i}} \right)$,该外包解密算法生成外包密文${\rm{CT}}'$,该算法由云服务器执行。

      ${\rm{Decrypt}}({\rm{pp}},{\text{ }}{\rm{CT}}',{\text{ }}{\rm{tk}})$: 输入公共参数${\rm{pp}}$、外包解密密文${\rm{CT}}'$、转换私钥${\rm{tk}}$,该解密算法输出明文消息$m$,该算法由数据使用者执行。

    • 定义1 对所有攻击者$\mathcal{A}$来说,若能以可忽略的优势赢得与挑战者$\mathcal{C}$之间的游戏,那么本方案能够实现语义安全性,即明文的机密性。

      参数建立阶段$\left( {{\rm{Setup}}} \right)$:挑战者$\mathcal{C}$执行${\rm{Setup}}\left( \lambda \right)$${\rm{AuthSetup}}\left( {{\rm{pp}},{\text{ }}i} \right)$算法生成公共参数${\rm{pp}}$和权威机构的公共参数${\rm{P}}{{\rm{K}}_i}$,并将其发给攻击者$\mathcal{A}$

      密钥询问阶段 $\left( {{\rm{Key}}{\text{ }}{\rm{Query}}} \right)$:攻击者$\mathcal{A}$发送对于属性向量${\boldsymbol{z}}$的密钥请求,挑战者$\mathcal{C}$执行${\rm{KeyGen}} ({\rm{pp}}, {\text{ }}{\rm{S}}{{\rm{K}}_i},{\text{ }}{\rm{P}}{{\rm{K}}_i},{\text{ }}{\rm{GID}},{\text{ }}z)$为攻击者生成如下密钥${\rm{U}}{{\rm{K}}_{i,{\text{ }}{\rm{GID}},{\text{ }}z}}$。注意在此阶段,允许攻击者获取部分${\rm{U}}{{\rm{K}}_{i,{\text{ }}{\rm{GID}},{\text{ }}z}}$,且在获得密钥后允许执行${\rm{KeyGe}}{{\rm{n}}_{{\rm{out}}}}({\rm{pp}},{\text{ }}{\rm{U}}{{\rm{K}}_i})$进行密钥盲化。

      密文生成阶段 $\left( {{\rm{Ciphertext}}} \right)$:攻击者$\mathcal{A}$选择两个等长的消息${m_c},{\text{ }}c \in \left\{ {0,{\text{ }}1} \right\}$以及发送访问向量${{\boldsymbol{x}}_0}$${{\boldsymbol{x}}_1}$,挑战者$\mathcal{C}$执行${\rm{Encrypt}}({\rm{pp}},{\text{ }}{\rm{P}}{{\rm{K}}_i},{\text{ }}{\boldsymbol{x}},{\text{ }}m)$生成${\rm{C}}{{\rm{T}}_c}$

      猜测阶段${\rm{Guess}}$:攻击者$\mathcal{A}$输出一个对消息${m_c}$的猜测比特$c'$,若$c = c'$,则攻击者$\mathcal{A}$赢得该游戏。

    • ${\rm{SETUP}}(\lambda )$:该算法由共同权威机构执行。输入安全参数$\lambda $,该算法首先选取一个双线性群${\rm{BG}} = (p,{\text{ }}{G_1},{\text{ }}{G_2},{\text{ }}{G_T},{\text{ }}e)$,其中,${g_1}$${g_2}$分别表示群${G_1}$${G_2}$的一个生成元。随后,该算法随机从${Z_p}$选取一个$n + 1$$n$列的矩阵${\boldsymbol{R}} \in Z_p^{(n + 1) \times n}$,一个$n + 1$$n + 1$列的矩阵${\boldsymbol{V}} \in Z_p^{(n + 1) \times (n + 1)}$。其次,选取$n + 2$个哈希函数$ H,{H_1},\cdots,{H_{n + 1}}:{\left\{ {0,1} \right\}^*} \to {Z_p} $。最后,该算法生成公共参数${\rm{pp}} = ({g_1},{\text{ }}{g_2},{\text{ }}H,{\text{ }}{H_1},{\text{ }}\cdots, {H_{n + 1}},{\text{ }}g_1^{\boldsymbol{R}}, g_1^{{{\boldsymbol{V}}^{\rm{T}}}{\boldsymbol{R}}})$

      ${\rm{AuthSetup}}({\rm{pp}},{\text{ }}i)$:该算法由每个权威机构生成各自的公私钥。输入公共参数${\rm{pp}}$、权威机构索引$i$,该算法首先从${Z_p}$选取一个$n + 1$$n + 1$列的矩阵${{\boldsymbol{S}}_i} \in Z_p^{(n + 1) \times (n + 1)}$、一个$n + 1$维向量${{\boldsymbol{\alpha}} _i} \in {Z_p}$、一个数$ {\beta _i} $,生成和存储其私钥${\rm{S}}{{\rm{K}}_i} = \left( {{{\boldsymbol{S}}_i},{\text{ }}{{\boldsymbol{\alpha }}_i},{\text{ }}{\beta _i}} \right)$,并公开其公钥$ {\rm{P}}{{\rm{K}}_i} = (g_1^{{\boldsymbol{S}}_i^{\rm{T}}{\boldsymbol{R}}},{\text{ }}e{(g_1,{\text{ }}g_2)^{{\boldsymbol{\alpha }}_i^{\rm{T}}{\boldsymbol{R}}}},y_i = g_2^{{\beta _i}}) $

      ${\rm{Encrypt}}({\rm{pp}},{\text{ }}{\rm{P}}{{\rm{K}}_i},{\text{ }}x,{\text{ }}m)$: 输入公共参数${\rm{pp}}$、公钥${\rm{P}}{{\rm{K}}_i}$、访问控制向量$x$、加密消息$m$,该算法首先选取$n$维的一个随机向量${\boldsymbol{\gamma}} $,计算生成密文${\rm{CT}} =({C_0},{\text{ }}{C_i}, C')$${C_0} = g_1^{{{\boldsymbol{R}}_\gamma }}$$Ci = g_1^{({x_i}{\boldsymbol{V}}^{\rm{T}} + {\boldsymbol{S}}_i^{\rm{T}}){{\boldsymbol{R}}_\gamma }}$$ C' = m \prod\limits_{i = 2}^n {e{{({g_1},{\text{ }}{g_2})}^{{\boldsymbol{\alpha }}_i^{\rm{T}}{{\boldsymbol{R}}_\gamma }}}} $

      ${\rm{KeyGe}}{{\rm{n}}_{{\rm{out}}}}({\rm{pp}},{\text{ }}{\rm{S}}{{\rm{K}}_i},{\text{ }}{\rm{P}}{{\rm{K}}_i},{\text{ }}{\rm{GID}},{\text{ }}z)$:该算法由各权威机构执行。输入公共参数${\rm{pp}}$、所有权威机构私钥${\rm{S}}{{\rm{K}}_i}$、所有权威机构的公钥${\rm{P}}{{\rm{K}}_i}$、用户的全局身份${\rm{GID}}$、属性向量${\boldsymbol{z}}$,该算法首先计算${\mu _i} = \displaystyle\sum\limits_{j = 1}^{i - 1} H(y_j^{{\beta _i}},{\rm{GID}}, {\boldsymbol{z}}) - \displaystyle\sum\limits_{j = i + 1}^n {H(y_j^{{\beta _i}},{\rm{GID}},{\boldsymbol{z}})}$,注意$\displaystyle\sum\limits_{i = 1}^{{n}} {{\mu _i} = 0} $。其次,该算法使用${H_1}({\rm{GID}},{\text{ }}{\boldsymbol{z}}),{\text{ }}\cdots,{\text{ }}{H_{n + 1}}({\rm{GID}},{\text{ }}{\boldsymbol{z}})$生成$g_2^h$,这里$h = H({\rm{GID}},{\text{ }}{\boldsymbol{z}}) = {({H_1}\left.({\rm{GID}},{\boldsymbol{z}}),\cdots,{H_{n + 1}}\left.({\rm{GID}}, \right.\right.} {\left.\left.{\boldsymbol{z}}\right)\right)^{\rm{T}}}$。最后,该算法生成用户私钥${\rm{U}}{{\rm{K}}_i} = g_2^{{{\boldsymbol{\alpha }}_i} - {z_i}{{\boldsymbol{S}}_i}h + {\mu _i}}$。请注意本文中私钥的分配是通过安全信道分配和发送的。

      ${\rm{KeyGe}}{{\rm{n}}_{{\rm{out}}}}({\rm{pp}},{\text{ }}{\rm{U}}{{\rm{K}}_i})$:该算法由数据使用者执行。输入公共参数${\rm{pp}}$、用户私钥${\rm{U}}{{\rm{K}}_i}$、该算法首先从${Z_p}$中随机选取一个随机数$\hat t$,该算法生成用户盲化私钥$ {\rm{U}}{{\rm{K}}'_i} = {\rm{UK}}_i^{1/\hat t} = g_2^{({\alpha _i} - {z_i}{S_i}h + {\mu _i})/\hat t} $${\boldsymbol{z}}' = ({z_1}/t,\cdots,{z_n}/\hat t)$$ g_2^h = H({\rm{GID}},{\text{ }}{\boldsymbol{z}}) $,并保存转换密钥${\rm{tk}} = \hat t$

      ${\rm{Decryp}}{{\rm{t}}_{{\rm{out}}}}\left( {{\rm{pp}},{\text{ }}{\rm{CT}},{\text{ }}\left( {{\boldsymbol{z}}',{\text{ }}{\rm{U}}{{{\rm{K}}'}_i}} \right)} \right)$:该算法由云服务器执行输入公共参数${\rm{pp}}$、密文${\rm{CT}}$,盲化私钥$({\boldsymbol{z}}',{\text{ }}{\rm{U}}{{\rm{K}}'_i},{\text{ }}g_2^h)$,该算法首先计算并生成外包密文${\rm{CT}}'$$e{({g_1},{\text{ }}{g_2})^{{{\boldsymbol{\alpha }}^{\rm{T}}}{R_\gamma }/t}}$

      ${\rm{Decrypt}}({\rm{pp}},{\text{ }}{\rm{CT}}',{\text{ }}{\rm{tk}})$:该算法由数据使用者执行。输入公共参数${\rm{pp}}$,外包解密密文${\rm{CT}}'$,转换私钥$tk$,该算法可以恢复明文消息$m = C'/{({\rm{CT}}')^{\hat t}}$

    • $${ \begin{gathered} A = e\left( {C_0,\prod\limits_{i = 1}^n {{\rm{U}}{{{\rm{K}}'}_i}} } \right) e\left( {\prod\limits_{i = 1}^n {C_i^{{{Z'_i}}}} ,g_2^{\boldsymbol{h}}} \right) = \\ e\left( {g_1^{{{\boldsymbol{R}}_{\boldsymbol{\gamma }}}},\prod\limits_{i = 1}^n {g_2^{\left( {{{\boldsymbol{\alpha }}_i} - {{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}} + {{\boldsymbol{\mu }}_i}} \right)/\hat t}} } \right) e\left( {g_1^{{\displaystyle\sum\limits_{i - 1}^n} {{{z'}_i}\left( {{x_i}{{\boldsymbol{V}}^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right){{\boldsymbol{R}}_\gamma }} }} \right) = \\ e\left( {g_1^{{{\boldsymbol{R}}_{\boldsymbol{\gamma }}}},\prod\limits_{i = 1}^n {g_2^{\left( {{{\boldsymbol{\alpha }}_i} - {{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}} + {{\boldsymbol{\mu }}_i}} \right)/\hat t}} } \right) e\left( {g_1^{{\displaystyle\sum\limits_{i - 1}^n} {{{{\boldsymbol{z}}'}_i}\left( {{x_i}{{\boldsymbol{V}}^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right){{\boldsymbol{R}}_\gamma }} },g_2^{\boldsymbol{h}}} \right) = \\ e{\left( {g_1,g_2} \right)^{{{\boldsymbol{\alpha }}^{\rm{T}}}{{\boldsymbol{R}}_\gamma } - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{h}}^{\rm{T}}}{\boldsymbol{S}}_i^{\rm{T}}{{\boldsymbol{R}}_\gamma }} }} \times e{\left( {g_1,g_2} \right)^{\left\langle {{\boldsymbol{x}},{\boldsymbol{z}}'} \right\rangle {{\boldsymbol{h}}^{\rm{T}}}{{\boldsymbol{V}}^{\rm{T}}}{{\boldsymbol{R}}_{\boldsymbol{\gamma }}} + {\displaystyle\sum\limits_{i = 1}^n} {{z_i}{{\boldsymbol{h}}^{\rm{T}}}{\boldsymbol{S}}_i^{\rm{T}}{{\boldsymbol{R}}_{\boldsymbol{\gamma }}}} }} = \\ e{\left( {g_1,g_2} \right)^{{{\boldsymbol{\alpha }}^{\rm{T}}}{{\boldsymbol{R}}_{\boldsymbol{\gamma}} }/\hat t}} e{\left( {g_1,g_2} \right)^{\left\langle {{\boldsymbol{x}},{\boldsymbol{z}}'} \right\rangle {{\boldsymbol{h}}^{\rm{T}}}{{\boldsymbol{V}}^{\rm{T}}}{\boldsymbol{R}}}} \\ \end{gathered}} $$

      当用户的属性向量和访问向量正相交时,即$\left\langle {x,z} \right\rangle = 0$表示用户的属性集合满足密文中的访问控制,则以上等式$A = e{\left( {g_1,g_2} \right)^{{{\boldsymbol{\alpha}} ^{\rm{T}}}{R_\gamma }/\hat t}}$,其中,${\boldsymbol{\alpha }}= \displaystyle\sum\limits_{i = 1}^n {{{\boldsymbol{\alpha }}_i}} $。随后,用户可以正确恢复消息$m = C'/{A^{\hat t}}$

    • 为了能够证明本方案的语义安全性,定义了一系列的游戏$ {\rm{Game}} $如下。

      $ {\rm{Gam}}{{\rm{e}}_0} $:该游戏与定义1中一样,模拟的是方案真实的安全游戏。

      $ {\rm{Gam}}{{\rm{e}}_1} $:该游戏除了随机预言机回答的询问不一样外,其他均与游戏$ {\rm{Gam}}{{\rm{e}}_0} $和一样。具体来说随机预言机模拟的过程如下:挑战者$\mathcal{C}$${Z_p}$中随机选取一个长度为$n$的向量${{{\boldsymbol{r}}}}$,计算${\boldsymbol{h}} = {\boldsymbol{Br}}$,然后存储${\boldsymbol{h}}$的值去回答攻击者的随机预言机询问。

      $ {\rm{Gam}}{{\rm{e}}_{2,j,1}} $:该游戏几乎与游戏$ {\rm{Gam}}{{\rm{e}}_1} $一样,除了挑战者$\mathcal{C}$选择${\boldsymbol{R}}$,${{\boldsymbol{a}}^ \bot }$,${\boldsymbol{B}}$,${{\boldsymbol{b}}^ \bot }$,$\hat t$,使得${{\boldsymbol{R}}^{\rm{T}}}{{\boldsymbol{a}}^ \bot } = 0$以及${{\boldsymbol{B}}^{\rm{T}}}{{\boldsymbol{b}}^ \bot } = 0$,具体密钥询问如下。

      1)前$j - 1$密钥询问的回答如下:$ {\rm{UK}} = g_2^{{\boldsymbol{\alpha }} + {{\boldsymbol{\alpha }}^ \bot }\hat t - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} } $,这里$h$和游戏$ {\rm{Gam}}{{\rm{e}}_1} $中的一样,即挑战者$\mathcal{C}$${Z_p}$中随机选取一个长度为$n$的向量${\boldsymbol{r}}$,计算$h = {\boldsymbol{B}}{\boldsymbol{r}}$

      2)第$j$个密钥询问的回答如下:${\rm{UK}} = g_2^{{\boldsymbol{\alpha}} - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} }$,这里$h$和游戏$ {\rm{Gam}}{{\rm{e}}_1} $中的一样,即挑战者$\mathcal{C}$${Z_p}$中随机选取一个长度为$n$的向量${\boldsymbol{r}}$以及一个随机数$\hat r$,使得$ h = B{\boldsymbol{r}} + {{\boldsymbol{a}}^ \bot }\hat r $

      3)最后$ q $$j $个密钥询问回答如下: ${\rm{UK}} = g_2^{{\boldsymbol{\alpha}} - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} }$,这里${\boldsymbol{h}} = {\boldsymbol{B}}{\boldsymbol{r}}$${\boldsymbol{r}}$是从${Z_p}$中随机选取一个长度为$n$的向量。

      $ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $:该游戏几乎与游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,1}} $一样,除了第$j$个密钥询问时回答不同,具体来说,$ {\rm{UK}} = g_2^{{\boldsymbol{\alpha }}+ {{\boldsymbol{\alpha }}^ \bot }\hat t - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} } $,这里挑战者$\mathcal{C}$${Z_p}$中随机选取一个长度为$n$的向量${\boldsymbol{r}}$以及一个随机数$\hat r$,使得$ {\boldsymbol{h}} = {\boldsymbol{B}}{\boldsymbol{r}} + {{\boldsymbol{a}}^ \bot }\hat r $

      $ {\rm{Gam}}{{\rm{e}}_{2,j,3}} $:该游戏几乎与游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $一样,除了前$ j $个密钥询问时回答不同,具体来说,$ {\rm{UK}} = g_2^{{\boldsymbol{\alpha }}+ {{\boldsymbol{\alpha }}^ \bot }\hat t - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} } $,这里挑战者$\mathcal{C}$${Z_p}$中随机选取一个长度为$n$的向量${\boldsymbol{r}}$,使得${\boldsymbol{h}} = {\boldsymbol{B}}{\boldsymbol{r}}$

      $ {\rm{Gam}}{{\rm{e}}_3} $:该游戏几乎与游戏$ {\rm{Gam}}{{\rm{e}}_2} $一样,除了生成的挑战密文与其不同。具体来说,挑战者$\mathcal{C}$${Z_p}$中选取一个长度为$n + 1$的向量${\boldsymbol{a}}$,并生成如下密文:${C_0} = g_1^{\boldsymbol{a}}$${C_i} = g_1^{\left( {{{\boldsymbol{x}}_{b,i}}{{\boldsymbol{V}}^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right){\boldsymbol{a}}}$$C' = {m_c} e{({g_1},{g_2})^{{{\boldsymbol{\alpha }}^{\rm{T}}}{\boldsymbol{a}}}}$

      $ {\rm{Gam}}{{\rm{e}}_4} $:该游戏几乎与游戏$ {\rm{Gam}}{{\rm{e}}_3} $一样,除了加密消息时随机选取的群中的元素。

      $ {\rm{Gam}}{{\rm{e}}_5} $:该游戏几乎与游戏$ {\rm{Gam}}{{\rm{e}}_4} $一样,除了选取的访问向量${\boldsymbol{x}}$被一个随机向量${{\boldsymbol{x}}^*}$取代。注意该游戏从攻击者$\mathcal{A}$的角度无法区分加密的消息,因此无法以一定的优势赢得该游戏。

      引理 1 游戏$ {\rm{Gam}}{{\rm{e}}_0} $和游戏$ {\rm{Gam}}{{\rm{e}}_1} $的不可区分性

      如果存在一个攻击者$\mathcal{A}$能够区分游戏$ {\rm{Gam}}{{\rm{e}}_0} $和游戏$ {\rm{Gam}}{{\rm{e}}_1} $,那么就存在一个挑战者$\mathcal{C}$能够以不可忽略的优势解决线性判定性问题 (decisional linear problem)。

      证明:挑战者$\mathcal{C}$接收一个判定性线性问题的实例$\left( {g_2^B,g_2^h} \right)$,目标是区分$h = Br$$h$${Z_p}$中一个随机数,其中$r$${Z_p}$中随机选取的。可以很容易观察到公共参数、权威机构的公钥和挑战密文如实际方案被构建出来。针对用户私钥询问,可以通过如下计算得出$ {\rm{UK}} = g_2^\alpha {\displaystyle\prod\limits_{i = 1}^n {\left( {g_2^{\boldsymbol{h}}} \right)} ^{ - {{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}}} = g_2^{{\boldsymbol{\alpha }}- {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} } $

      $h \in {\rm{Span}}\left( B \right)$$ h\in {\rm{Span}}\left(\mathit{B}\right) $时,密钥和随机预言机响应的分布与游戏$ {\rm{Gam}}{{\rm{e}}_1} $完全相同,而在另一种情况下,其分布与游戏$ {\rm{Gam}}{{\rm{e}}_0} $完全相同。通过$ k $-判定性线性问题,可以得知攻击者$\mathcal{A}$只能够以可忽略的优势区分这两个游戏。

      引理 2 游戏$ {\rm{Gam}}{{\rm{e}}_{2,j - 1,3}} $和游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,1}} $的不可区分性

      如果存在一个攻击者$\mathcal{A}$能够区分游戏$ {\rm{Gam}}{{\rm{e}}_{2,j - 1,3}} $和游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,1}} $,那么就存在一个挑战者$\mathcal{C}$能够以不可忽略的优势解决线性判定性问题。

      证明:挑战者$\mathcal{C}$接收一个判定性线性问题的实例$\left( {g_2^{\boldsymbol{B}},g_2^{\boldsymbol{h}}} \right)$,目标是区分${\boldsymbol{h}} = {\boldsymbol{Br}}$${\boldsymbol{h}}$${Z_p}$中的一个随机数,其中${\boldsymbol{t}}$${Z_p}$中随机选取长度为$n$的向量。

      参数建立阶段$\left( {{\rm{Setup}}} \right)$:挑战者$\mathcal{C}$如实际方案中一样随机选择一个长度为$n + 1$的向量${{\boldsymbol{\alpha }}_i} \in {Z_p}$、一个随机数$\hat t \in {Z_p}$、随机矩阵${\boldsymbol{R}}$${{\boldsymbol{a}}^ \bot }$${{\boldsymbol{S}}_i}$${\boldsymbol{V}}$,生成公开参数$g_1^{\boldsymbol{R}}$$g_1^{{{\boldsymbol{V}}^{\rm{T}}}{\boldsymbol{R}}}$以及权威机构的公钥$g_1^{{\boldsymbol{S}}_i^{\rm{T}}{\boldsymbol{R}}}$$e{\left( {{g_1},{g_2}} \right)^{{\boldsymbol{\alpha }}_i^{\rm{T}}{\boldsymbol{R}}}}$

      密钥询问阶段$\left( {{\rm{Key}},{\rm{Query}}} \right)$:输入第$m$个密钥询问,挑战者$\mathcal{C}$为攻击者生成如下密钥:

      $$ {\rm{UK}} = \left\{ {\begin{array}{*{20}{l}} g_2^{{\boldsymbol{\alpha}} + {{\boldsymbol{\alpha }}^ \bot }{\boldsymbol{t}} - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{Br}}} }&m < j \\ g_2^{{\boldsymbol{\alpha }}- {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} }&m = j \\ g_2^{{\boldsymbol{\alpha }}- {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{Br}}} }&m > j \\ \end{array}} \right. $$

      式中,${\boldsymbol{r}}$表示从${Z_p}$中选取的随机值组成的一个长度为$n$的向量。注意攻击者在拿到密钥后可以进行密钥盲化,模拟外包的过程。

      密文生成阶段 $\left( {{\rm{Ciphertext}}} \right)$:攻击者$\mathcal{A}$选择两个等长的消息${m_b},b \in \left\{ {0,1} \right\}$,挑战者$\mathcal{C}$随机选择一个${\boldsymbol{\gamma}} $,计算如下:${C_0} = g_1^{{{\boldsymbol{R}}_{\boldsymbol{\gamma }}}}$${C_i} = g_1^{\left( {{{\boldsymbol{x}}_{b,i}}{{\boldsymbol{V}}^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right){{\boldsymbol{R}}_{\boldsymbol{\gamma }}}}$$C' = {m_b} e{({g_1},} {g_2})^{{{\boldsymbol{\alpha }}^{\rm{T}}}{{\boldsymbol{R}}_{\boldsymbol{\gamma }}}}$

      $h \in {\rm{Span}}\left( B \right)$时,密钥和随机预言机响应的分布与游戏$ {\rm{Gam}}{{\rm{e}}_{2,j - 1,3}} $完全相同,而在另一种情况下,其分布与游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,1}} $完全相同。通过$ k $-判定性线性问题,可以得知攻击者$\mathcal{A}$只能够以可忽略的优势区分这两个游戏。

      引理 3 游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,1}} $和游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $不可区分性

      如果存在一个攻击者$\mathcal{A}$能够区分游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,1}} $和游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $,那么就存在一个挑战者$\mathcal{C}$能够以不可忽略的优势解决线性判定性问题。

      证明:两种游戏的不同之处在于在后面的游戏中需要用$g_2^{{{\boldsymbol{a}}^ \bot }\hat t}$乘以第$j$个密钥,其中$\hat t$是由挑战者$\mathcal{C}$${Z_p}$中随机采样的。在第$j$个密钥询问中,攻击者$\mathcal{A}$向挑战者$\mathcal{C}$发送有关密钥的属性向量${\boldsymbol{z}}$,挑战者$\mathcal{C}$执行如下操作:

      $$ {{\boldsymbol{S}}'_i} = \left\{ {\begin{array}{*{20}{l}} {{\boldsymbol{S}}_i} + {\left( {{{\boldsymbol{z}}_i}{{\boldsymbol{a}}^ \bot }^{^{\rm{T}}}{{\boldsymbol{b}}^ \bot }} \right)^{ - 1}}{{\boldsymbol{a}}^ \bot }{{\boldsymbol{b}}^{{ \bot ^{\rm{T}}}}}&{z_i} \ne 0 \\ {{\boldsymbol{S}}_i}&{z_i} = 0 \\ \end{array}} \right. $$

      从以上可以看出${{\boldsymbol{S}}_i}$${{\boldsymbol{S}}'_i}$的分布显然是相同的。此外,还可以得知若密文和权威机构的公钥是使用${{\boldsymbol{S}}'_i}$而不是${{\boldsymbol{S}}_i}$生成的,则二者没有区别。具体来说,对于公钥的生成如下:

      $$ \begin{aligned} g_1^{{{{\boldsymbol{S}}'_i}}^{\rm{T}}{\boldsymbol{R}}} =& g_1^{{{\boldsymbol{S}}_i}^{\rm{T}}{\boldsymbol{R}} + {{\left( {{{\boldsymbol{z}}_i}{{\boldsymbol{a}}^{{ \bot ^{\rm{T}}}}}{{\boldsymbol{b}}^ \bot }} \right)}^{ - 1}}{{\left( {{{\boldsymbol{a}}^ \bot }{{\boldsymbol{b}}^{{ \bot ^{\rm{T}}}}}} \right)}^{\rm{T}}}{\boldsymbol{R}}} = g_1^{{\boldsymbol{S}}_i^{\rm{T}}{\boldsymbol{R}}} \end{aligned} $$

      对于密文生成如下:

      $$\begin{split} &\qquad\qquad\qquad{C_{1,i}} = g_1^{\left( {{x_i}{{\boldsymbol{V}}^{\rm{T}}} + {{{\boldsymbol{S}}'}_i}^{\rm{T}}} \right){{\boldsymbol{R}}_\gamma }}=\\ & g_1^{\left( {{{\boldsymbol{x}}_i}{{\boldsymbol{V}}^{\rm{T}}} + {{\boldsymbol{S}}_i}^{\rm{T}}} \right){{\boldsymbol{R}}_\gamma } + {{\left( {{{\boldsymbol{z}}_i}{{\boldsymbol{a}}^{{ \bot ^{\rm{T}}}}}{{\boldsymbol{b}}^ \bot }} \right)}^{ - 1}}{{\left( {{{\boldsymbol{a}}^ \bot }{{\boldsymbol{b}}^{{ \bot ^{\rm{T}}}}}} \right)}^{\rm{T}}}{\boldsymbol{R}}} = g_1^{\left( {{x_i}{{\boldsymbol{V}}^{\rm{T}}} + {{\boldsymbol{S}}_i}^{\rm{T}}} \right){{\boldsymbol{R}}_\gamma }} \end{split}$$

      挑战者$\mathcal{C}$使用${S'_i}$可以针对攻击者$\mathcal{A}$针对第$j$个密钥询问做如下操作:

      $$ {\rm{UK}} = g_2^{\alpha - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{{\boldsymbol{S}}'_i}}h} } $$

      式中,${\boldsymbol{h}} = {\boldsymbol{Br}} + \left( {{\boldsymbol{t}}/n} \right){{\boldsymbol{a}}^ \bot }$${\boldsymbol{r}} \in Z_p^n$$ {\boldsymbol{t}} \in {Z_p}$。可以得到

      $$ \begin{gathered} {{{\boldsymbol{S}}'}_i}{\boldsymbol{h}} = {{\boldsymbol{S}}_i}{\boldsymbol{h}} + {\left( {{{\boldsymbol{z}}_i}{{\boldsymbol{a}}^{{ \bot ^{\rm{T}}}}}{{\boldsymbol{b}}^ \bot }} \right)^{ - 1}}{{\boldsymbol{a}}^ \bot }{{\boldsymbol{b}}^{{ \bot ^{\rm{T}}}}}({\boldsymbol{Br}} + \left( { {\boldsymbol{t}}/n} \right){{\boldsymbol{a}}^ \bot }) = \\ {{\boldsymbol{S}}_i}{\boldsymbol{h}} + {\left( {{{\boldsymbol{z}}_i}} \right)^{ - 1}}{\left( {{{\boldsymbol{a}}^{{ \bot ^{\rm{T}}}}}{{\boldsymbol{b}}^ \bot }} \right)^{ - 1}}\left( {{{\boldsymbol{a}}^ \bot }{{\boldsymbol{b}}^{{ \bot ^{\rm{T}}}}}} \right){{\boldsymbol{a}}^ \bot }\left( { {\boldsymbol{t}}/n} \right) = \\ {{\boldsymbol{S}}_i}{\boldsymbol{h}} + {\left( {{{\boldsymbol{z}}_i}} \right)^{ - 1}}{\left( {{{\boldsymbol{a}}^{{ \bot ^{\rm{T}}}}}{{\boldsymbol{b}}^ \bot }} \right)^{ - 1}}{{\boldsymbol{a}}^ \bot }\left( {{{\boldsymbol{a}}^ \bot }{{\boldsymbol{b}}^{{ \bot ^{\rm{T}}}}}} \right)\left( { {\boldsymbol{t}}/n} \right) = \\ {{\boldsymbol{S}}_i}{\boldsymbol{h}} + {\left( {{{\boldsymbol{z}}_i}} \right)^{ - 1}}{{\boldsymbol{a}}^ \bot }\left( { {\boldsymbol{t}}/n} \right) \\ \end{gathered} $$

      因此,用户私钥可以得到:

      $$ {\rm{UK}} = g_2^{\alpha - {\displaystyle\sum\limits_{i = 1}^n} {{z_i}{{S'_i}}h} } = g_2^{\alpha + {a^ \bot } {\boldsymbol{t}} - {\displaystyle\sum\limits_{i = 1}^n} {{z_i}{S_i}h} } $$

      这样可以轻易得知游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $的精确分布。

      引理 4 游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $和游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,3}} $的不可区分性

      如果存在一个攻击者$\mathcal{A}$能够区分游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $和游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,3}} $,那么就存在一个挑战者$\mathcal{C}$能够以不可忽略的优势解决$ k $-线性判定性问题(decisional linear problem)。

      证明:挑战者$\mathcal{C}$接收一个判定性线性问题的实例$\left( {g_2^{\boldsymbol{B}},g_2^{\boldsymbol{h}}} \right)$,目标是区分${\boldsymbol{h}} = {\boldsymbol{Br}}$${\boldsymbol{h}}$${Z_p}$中的一个随机数,其中${\boldsymbol{t}}$${Z_p}$中随机选取长度为$n$的向量。

      参数建立阶段 $\left( {{\rm{Setup}}} \right)$:挑战者$\mathcal{C}$如实际方案中一样随机选择一个长度为$n + 1$的向量${{\boldsymbol{\alpha }}_i} \in {Z_p}$,一个随机数$ {\boldsymbol{t}} \in {Z_p}$,随机矩阵${\boldsymbol{R}}$${{\boldsymbol{a}}^ \bot }$${{\boldsymbol{S}}_i}$${\boldsymbol{V}}$,生成公开参数$g_1^{\boldsymbol{R}}$$g_1^{{{\boldsymbol{V}}^{\rm{T}}}{\boldsymbol{R}}}$以及权威机构的公钥$g_1^{{\boldsymbol{S}}_i^{\rm{T}}{\boldsymbol{R}}}$$e{\left( {{g_1},{g_2}} \right)^{{\boldsymbol{\alpha }}_i^{\rm{T}}{\boldsymbol{R}}}}$

      密钥询问阶段 $\left( {{\rm{Key}},{\rm{Query}}} \right)$:输入第 $m$个密钥询问,挑战者$\mathcal{C}$为攻击者生成如下密钥:

      $$ {\rm{UK}} = \left\{ {\begin{array}{*{20}{l}} g_2^{{\boldsymbol{\alpha}} + {{\boldsymbol{\alpha}} ^ \bot } {\boldsymbol{t}} - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} }&m \leqslant j \\ g_2^{{\boldsymbol{\alpha }}- {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}Br} }&m > j \\ \end{array}} \right.$$

      式中,${\boldsymbol{r}}$表示从${Z_p}$中选取的随机值组成的一个长度为n的向量。注意攻击者在拿到密钥后可以进行密钥盲化,模拟外包的过程。

      密文生成阶段 $\left( {{\rm{Ciphertext}}} \right)$:攻击者$\mathcal{A}$选择两个等长的消息${m_b},b \in \left\{ {0,1} \right\}$,挑战者$\mathcal{C}$随机选择一个${\boldsymbol{\gamma }}$,计算如下:${C_0} = g_1^{{{\boldsymbol{R}}_{\boldsymbol{\gamma }}}}$${C_i} = g_1^{\left( {{{\boldsymbol{x}}_{b,i}}{{\boldsymbol{V}}^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right){{\boldsymbol{R}}_{\boldsymbol{\gamma }}}}$$C' = {m_b} \times e{({g_1},{g_2})^{{{\boldsymbol{\alpha }}^{\rm{T}}}{{\boldsymbol{R}}_{\boldsymbol{\gamma }}}}}$

      ${\boldsymbol{h}} \in {\rm{Span}}\left( {\boldsymbol{B}} \right)$时,密钥和随机预言机响应的分布与游戏$ {\rm{Gam}}{{\rm{e}}_{2,j - 1,3}} $完全相同,而在另一种情况下,其分布与游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $完全相同。通过$ k $-判定性线性问题,可以得知攻击者$\mathcal{A}$只能够以可忽略的优势区分这两个游戏。

      引理 5 游戏$ {\rm{Gam}}{{\rm{e}}_{2,q,3}} $和游戏$ {\rm{Gam}}{{\rm{e}}_3} $的不可区分性

      如果存在一个攻击者$\mathcal{A}$能够区分游戏$ {\rm{Gam}}{{\rm{e}}_{2,q,3}} $和游戏$ {\rm{Gam}}{{\rm{e}}_3} $,那么就存在一个挑战者$\mathcal{C}$能够以不可忽略的优势解决线性判定性问题。

      证明:给定一个判定性线性问题的实例$\left( {g_1^{\boldsymbol{R}},g_1^{\boldsymbol{a}}} \right)$,目标是判断${\boldsymbol{a}} = {{\boldsymbol{R}}_\gamma }$${\boldsymbol{a}}$是一个从${Z_p}$中随机采样长度为$n + 1$的随机分布。挑战者$\mathcal{C}$如实际方案中一样随机选取矩阵样本${\boldsymbol{V}}$${{\boldsymbol{S}}_i}$以及一个向量${{\boldsymbol{\alpha}} _i}$,并输出公开参数$g_1^{\boldsymbol{R}}$$g_1^{{{\boldsymbol{V}}^{\rm{T}}}{\boldsymbol{R}}}$以及权威机构的公钥$g_1^{{\boldsymbol{S}}_i^{\rm{T}}{\boldsymbol{R}}}$$e\left( {g_1^{\boldsymbol{R}},g_2^{{{\boldsymbol{\alpha }}_i}}} \right) = e{\left( {{g_1},{g_2}} \right)^{{\boldsymbol{\alpha}} _i^{\rm{T}}{\boldsymbol{R}}}}$

      生成挑战密文如下:${C_0} = g_1^{\boldsymbol{a}}$${C_i} = g_1^{\left( {{{\boldsymbol{x}}_{b,i}}{V^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right){\boldsymbol{a}}}$$C' = {m_c} e{({g_1},{g_2})^{{{\boldsymbol{\alpha}} ^{\rm{T}}}{\boldsymbol{a}}}}$

      $a \in {\rm{Span}}\left( {\boldsymbol{R}} \right)$时,密钥和随机预言机响应的分布与游戏Game3完全相同,而在另一种情况下,其分布与游戏$ {\rm{Gam}}{{\rm{e}}_{2,q,3}} $完全相同。通过$ k $-判定性线性问题,可以得知攻击者$\mathcal{A}$只能够以可忽略的优势区分这两个游戏。

      引理 6 游戏$ {\rm{Gam}}{{\rm{e}}_3} $和游戏$ {\rm{Gam}}{{\rm{e}}_4} $的不可区分性

      如果存在一个攻击者$\mathcal{A}$能够区分游戏$ {\rm{Gam}}{{\rm{e}}_3} $和游戏$ {\rm{Gam}}{{\rm{e}}_4} $,那么就存在一个挑战者$\mathcal{C}$能够以不可忽略的优势解决线性判定性问题。

      证明:挑战者$\mathcal{C}$随机化选取一个矩阵${\boldsymbol{R}}$${{\boldsymbol{a}}^ \bot }$,使得${{\boldsymbol{R}}^T}{{\boldsymbol{a}}^ \bot } = 0$,一个从${Z_p}$中选取的随机值组成的一个长度为$n + 1$随机向量$ {\boldsymbol{\alpha}} $,一个从${Z_p}$中选取的随机数$\hat s$。随后,挑战者$\mathcal{C}$计算$\hat {\boldsymbol{\alpha }}= {\boldsymbol{\alpha }}- {{\boldsymbol{a}}^ \bot }\hat s$

      参数建立阶段$\left( {{\rm{Setup}}} \right)$:挑战者$\mathcal{C}$如实际方案中一样生成公开参数$g_1^{\boldsymbol{R}}$$g_1^{{{\boldsymbol{V}}^{\rm{T}}}{\boldsymbol{R}}}$以及权威机构的公钥$g_1^{{\boldsymbol{S}}_i^{\rm{T}}{\boldsymbol{R}}}$$e\left( {g_1^{\boldsymbol{R}},g_2^{{{\boldsymbol{\alpha}} _i}}} \right) = e{\left( {{g_1},{g_2}} \right)^{{\boldsymbol{\alpha}} _i^{\rm{T}}{\boldsymbol{R}}}}$

      密钥询问阶段$\left( {{\rm{Key}},{\rm{Query}}} \right)$: 挑战者$\mathcal{C}$为攻击者生成如下密钥:

      $$ {\rm{UK}} = g_2^{\hat {\boldsymbol{\alpha}} - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}h} } $$

      注意在此阶段,攻击者在拿到密钥后可以进行密钥盲化,模拟外包的过程。

      密文生成阶段$\left( {{\rm{Ciphertext}}} \right)$:攻击者$\mathcal{A}$选择两个等长的消息${m_c},c \in \left\{ {0,1} \right\}$,挑战者$\mathcal{C}$随机选择一个向量${\boldsymbol{\gamma }}$,一个随机数$\hat \gamma $,令$a = {{\boldsymbol{R}}_{\boldsymbol{\gamma }}} + {{\boldsymbol{b}}^{\rm{T}}}\hat \gamma $。随后计算$m' = {m_c} e{\left( {{g_1},{g_2}} \right)^{{{\left( {{{\boldsymbol{a}}^ \bot }\hat s} \right)}^{\rm{T}}}{\boldsymbol{a}}}} = {m_c} e{\left( {g_1,g_2} \right)^{\hat \gamma \hat s{{\left( {{{\boldsymbol{a}}^ \bot }} \right)}^{\rm{T}}}{{\boldsymbol{b}}^{\rm{T}}}}}$,由以上公式可以得知元素$ {m'} $很大概率是群中的一个随机值。那么,密文可以被计算如下:

      $$ {C_0} = g_1^{\boldsymbol{a}},\;\; {C_{1,i}} = g_1^{\left( {{{\boldsymbol{x}}_{b,i}}{{\boldsymbol{V}}^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right){\boldsymbol{a}}} $$
      $$ \begin{gathered} C' = m' e{\left( {{g_1},{g_2}} \right)^{{{\hat {\boldsymbol{\alpha }}}^{\rm{T}}}{\boldsymbol{a}}}} = \\ {m_c} e{\left( {{g_1},{g_2}} \right)^{\hat \gamma \hat s{{\left( {{{\boldsymbol{a}}^ \bot }} \right)}^{\rm{T}}}{{\boldsymbol{b}}^{\rm{T}}}}} e{\left( {{g_1},{g_2}} \right)^{{{\boldsymbol{\alpha }}^{\rm{T}}}{\boldsymbol{a}}}} = {m_c} e{\left( {{g_1},{g_2}} \right)^{{{\boldsymbol{\alpha }}^{\rm{T}}}{\boldsymbol{a}}}} \\ \end{gathered} $$

      很容易可以得知游戏$ {\rm{Gam}}{{\rm{e}}_3} $被准确模拟出来,攻击者$\mathcal{A}$只能够以可忽略的优势区分这两个游戏。

      引理 7 游戏$ {\rm{Gam}}{{\rm{e}}_4} $和游戏$ {\rm{Gam}}{{\rm{e}}_5} $的不可区分性

      如果存在一个攻击者$\mathcal{A}$能够区分游戏$ {\rm{Gam}}{{\rm{e}}_4} $和游戏$ {\rm{Gam}}{{\rm{e}}_5} $,那么就存在一个挑战者$\mathcal{C}$能够以不可忽略的优势解决线性判定性问题。

      证明:挑战者$\mathcal{C}$可以生成如下密文:

      $$ {C_{1,i}} = g_1^{\left( {{{\boldsymbol{x}}_{b,i}}{{\boldsymbol{V}}^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right)\left( {{{\boldsymbol{R}}_{\boldsymbol{\gamma }}} + {{\boldsymbol{b}}^{\rm{T}}}\hat \gamma } \right)} = g_1^{{{\boldsymbol{x}}_{b,i}}{{\boldsymbol{V}}^{\rm{T}}}\left( {{{\boldsymbol{R}}_{\boldsymbol{\gamma }}} + {{\boldsymbol{b}}^{\rm{T}}}\hat \gamma } \right)}g_1^{S_i^{\rm{T}}\left( {{{\boldsymbol{R}}_{\boldsymbol{\gamma }}} + {{\boldsymbol{b}}^{\rm{T}}}\hat \gamma } \right)} $$

      式中,${\boldsymbol{R}},{\boldsymbol{\gamma}} \in Z_p^n$${{\boldsymbol{b}}^ \bot } \in Z_p^n$,使得${{\boldsymbol{B}}^{\rm{T}}}{{\boldsymbol{b}}^ \bot } = 0$。此外,当$\hat {\boldsymbol{\gamma}} \in {Z_p}$,给定$g_1^{\boldsymbol{R}}$$g_1^{{\boldsymbol{R\gamma }}+ {{\boldsymbol{b}}^{\rm{T}}}\hat \gamma }$$ g_1^{{\boldsymbol{S}}_i^{\rm{T}}{\boldsymbol{R}}} $以及$g_2^{\boldsymbol{B}}$,那么可以得到$g_1^{{\boldsymbol{S}}_i^{\rm{T}}\left( {{\boldsymbol{R\gamma}} + {{\boldsymbol{b}}^{\rm{T}}}\hat \gamma } \right)}$在群${G_1}$中均匀分布的。也就是说${C_{1,i}}$在群${G_1}$中均匀分布的。因此,攻击者$\mathcal{A}$只能够以可忽略的优势区分这两个游戏。

      属性隐私:攻击者很容易从密文中获取访问控制属性的隐私,这是因为对于基于属性相关的密码体制来说,访问控制通常以明文的形式附贴在密文上。在本方案中,将属性和访问控制转化成属性和访问向量,这两种向量分别用于私钥和密文的生成。在密文生成过程中,访问向量不必以明文的形式附贴在密文上,而是隐藏在密文中,从而避免了攻击者从密文中获取访问控制属性的隐私的可能。

    • 表1可以得知,文献[11]仅支持细粒度访问控制,而不支持权威去中心化、访问控制的属性隐私保护和高效的数据访问;文献[12-13, 16-17, 19]支持细粒度访问控制和权威去中心化,而不支持访问控制的属性隐私保护和高效的数据访问;文献[14, 15, 35]支持细粒度访问控制、权威去中心化、访问控制的属性隐私保护,但不支持高效的数据访问;文献[18]支持细粒度访问控制、权威去中心化、高效的数据访问,但不支持访问控制的属性隐私保护;本方案支持细粒度访问控制、权威去中心化、访问控制的属性隐私保护和高效的数据访问。

      表 1  基于多权威的属性基的方案对比

      方案功能
      细粒度访
      问控制
      权威去
      中心化
      属性隐
      私保护
      高效数
      据访问
      文献[11]×××
      文献[12-13, 16-17, 19]××
      文献[14-15, 35]×
      文献[18]×
      本方案
    • 由于文献[14, 15, 35]与本方案大部分的功能实现相类似,因此本部分仅将文献[14, 15, 35]与本方案进行理论开销对比分析。表2展示了多权威去中心化属性隐藏的属性基方案的各算法计算开销对比。$m$$n$分别代表权威机构的个数和用户属性的个数;${e_0}$${e_1}$分别表示在群${G_1}$${G_T}$中一个指数运算的执行时间,$p$指的是一个对运算的执行时间。$\left| {{G_1}} \right|$$\left| {{G_T}} \right|$分别代表${G_1}$${G_T}$中元素的长度。

      表2可以得知,在以上所有多权威去中心化属性隐藏的属性基方案中,每一个权威机构参数建立算(AuthSetup)的计算开销都与系统中用户的属性个数相关;用户私钥生成算法(KeyGen)的计算开销与用户属性的个数和权威机构的个数有关;加密算法(Encryption)的计算开销与权威机构个数和属性个数都相关;在解密算法(Decryption)的计算开销方面,只有本方案能够实现高效的解密,即其开销与用户的属性个数和权威机构的个数无关。此外,可以很明显观察到在密钥生成和解密方面,本方案相较于其他方案计算开销最低。

      表 2  相关方案各算法计算开销对比

      算法方案AuthSetupKeyGenEncryptionDecryption
      文献[14]$ 2n{e}_{0} $$ 4mn{e}_{0} $$ \left(mn+n+1\right){e}_{0} $
      $ +n(p+{e}_{1}) $
      $ \left(mn+n+1\right)p $
      $ +mn{e}_{0} $
      文献[15]$ 2n{e}_{0} $
      $ +n(p+{e}_{1}) $
      $ 8mn{e}_{0} $$ \left(mn+n\right)p $
      $ +(2n+mn+1){e}_{0} $
      $ (3n+2mn)p $
      文献[18]$ 2n{e}_{0} $
      $ 4mn{e}_{0} $$ m\left(4n+2\right){e}_{0}+2mp $$ p+{e}_{0} $
      文献[35](2n+5)$ {e}_{0} $+ $ \text{n}(p+{e}_{1}) $$ 5mn{e}_{0} $$ \left(m+1\right)p $
      $ +(3m+3mn+1){e}_{0} $
      $ \left(2mn+2m+1\right)p $
      $ +mn{e}_{0} $
      本方案n$ \left(n+2\right){e}_{0}+n(n+1)(p+{e}_{1}) $$ mn{e}_{0} $2n$ \left(n+1\right){e}_{0}+n(n+1)(p+{e}_{1}) $
      $ {e}_{0} $

      表3中可以得知,在以上方案中,存储权威机构生成的公开参数开销与属性个数和权威机构的个数呈正相关;存储用户私钥的开销同样与属性个数和权威机构的个数相关;文献[14-15, 35]存储密文的开销与属性个数和权威机构的个数相关,而本方案的密文存储开销仅与属性个数相关。此外,很容易从表3观察到本方案用户私钥和密文的存储开销相较于其他方案的存储较低。

      表 3  相关方案参数存储开销对比

      算法方案|PK||UK||CT|
      [14]$ m(n+1){|G}_{1}\left|+m\right|{G}_{T}| $$ 2mn\left|{G}_{1}\right| $$ m\left(n+2\right){|G}_{1}|+{|G}_{T}| $
      [15]$ 2{m|G}_{1}\left|+nm\right|{G}_{T}| $$ m(3n+2){G}_{1}| $$ nm{|G}_{1}|+{(mn+2)|G}_{T}| $
      [18]$ \left(n+2\right)m $
      $ {|G}_{1}| $
      $ 2mn\left|{G}_{1}\right| $$ {(4mn+2m){|G}_{1}|+|G}_{T}| $
      [35]$ \left(2{m+5\left)\right|G}_{1}\left|+m\right|{G}_{T}\right| $$ (3m+mn)\left|{G}_{1}\right| $$ {(2mn+2m+1){|G}_{1}|+|G}_{T}| $
      本方案$ 2nm\left(n+1\right){|G}_{1}\left|+nm\left(n+1\right)\right|{G}_{T}| $$ mn\left|{G}_{1}\right| $$ n\left(n+1\right){|G}_{1}|+{|G}_{T}| $

      综上所述,本方案在密钥生成和解密的计算开销相较于其他两个方案明显较低。在存储用户私钥和密文的开销方面,本方案相较于其他方案同样明显较低。

    • 由于本方案使用基于属性向量和访问向量来实现策略隐藏,而文献[14-15]方案都是基于线性秘密共享矩阵或访问树的访问结构实现访问策略隐藏。通过以上理论分析可以发现,本方案在计算效率和存储效率存在一定的优势。因此,本部分主要对属性个数和权威机构个数对本方案的各算法计算性能进行评估。本方案在64 bit的Ubuntu 118.04.6 LTS版本中安装python 3.5的运行环境,使用的是Charm-Crypto 0.43的PBC安装包[35],本实验是基于512 位基本字段的对称曲线SS512。电脑硬件的配置如下: Intel Core i9-9900K CPU@3.60GHz*16,Graphics: GetForce RTX 2070 Super/PCIe/SSE2,32 GB内存。

      图2表示的是当权威机构的个数固定为5时,本方案中相应算法运算时间随着属性向量的长度的变化。图3表示的是属性向量的长度固定为5时,本方案中相应算法运算时间随着权威机构的个数的变化。从图2中可以看出,当权威机构的个数固定时,本方案的AuthSetup,Encryption和KeyGen算法的计算时间随着属性向量的长度呈线性关系,而Decryption算法的计算时间与属性向量的长度无关。

      图  2  各算法随属性向量长度变化的计算开销

      图3中可以看出,当属性向量的长度固定时,本方案的Encryption和KeyGen算法的计算时间随着权威机构的个数呈线性关系,而AuthSetup和Decryption算法的计算时间与属性向量的长度无关。

      图  3  各算法随权威机构个数变化的计算开销

      综上所知,本方案的解密计算开销基本保持恒定,表明本方案能够使移动用户在资源受限的条件下依然可以高效访问密文数据。

    • 本文针对移动群智场景中数据共享过程存在安全、隐私和效率的问题,提出了一个基于属性隐藏的高效去中心化的移动群智数据共享方案。本方案能够实现细粒度的授权访问、访问控制的隐私保护、权威去中心化以及高效数据访问。并通过严格的安全性分析和性能分析,证明了本方案在应用到移动群智数据共享场景中的安全性、高效性和可行性。本方案访问控制的表达性较弱,即仅支持与门的访问控制的向量转化。未来工作将基于本方案进行扩展,设计出支持可搜索、可撤销的方案。

参考文献 (35)

目录

    /

    返回文章
    返回