CN115361126B - 一种可验证外包的部分策略隐藏属性加密方法及系统 - Google Patents

一种可验证外包的部分策略隐藏属性加密方法及系统 Download PDF

Info

Publication number
CN115361126B
CN115361126B CN202211009368.5A CN202211009368A CN115361126B CN 115361126 B CN115361126 B CN 115361126B CN 202211009368 A CN202211009368 A CN 202211009368A CN 115361126 B CN115361126 B CN 115361126B
Authority
CN
China
Prior art keywords
attribute
key
data user
ciphertext
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211009368.5A
Other languages
English (en)
Other versions
CN115361126A (zh
Inventor
胡春强
阮从昊
邓绍江
黄宏宇
叶青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University
Original Assignee
Chongqing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing University filed Critical Chongqing University
Priority to CN202211009368.5A priority Critical patent/CN115361126B/zh
Publication of CN115361126A publication Critical patent/CN115361126A/zh
Application granted granted Critical
Publication of CN115361126B publication Critical patent/CN115361126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种可验证外包的部分策略隐藏属性加密方法及系统。加密方法包括:初始化步骤;数据使用者获得注册密钥;数据使用者通过管理其属性的属性管理机构获得其拥有属性的属性密钥,数据使用者组合注册密钥和其拥有属性密钥获得数据使用者私钥;外包密钥生成步骤;数据加密步骤,在加密过程中对加密策略中存在的属性的属性值进行隐藏;外包解密步骤;外包验证步骤,对明文进行验证。解决了中心化导致的安全隐患与效率瓶颈问题;多个机构秘钥聚合成私钥,提高了数据使用者隐私安全性;系统公共参数仅与属性管理机构数量有关;更好地保护用户隐私信息;通过边缘服务器降低数据使用者设备计算开销,实现外包解密数据的可验证性。

Description

一种可验证外包的部分策略隐藏属性加密方法及系统
技术领域
本发明涉及数据加密技术领域,尤其涉及一种可验证外包的部分策略隐藏属性加密方法及系统。
背景技术
现有的许多应用模式中需要复杂的访问控制机制,数据所有者往往希望能够建立特定的访问控制策略以确定哪些用户可以访问其拥有的数据。但传统的公钥加密方案中存在一些不足,例如在一对多数据共享时计算开销很大,因此基于属性的加密(ABE)被提出以弥补传统公钥加密方案的不足之处。
基于属性的加密支持基于公钥的一对多加密,并被设想为实现细粒度访问控制的理想加密原语。基于属性的加密方案有两种:秘钥策略属性加密方案(KP-ABE)和密文策略属性加密方案(CP-ABE)。在进行数据共享时主要应用密文策略属性加密方案。在密文策略属性加密方案(CP-ABE)方案中,属性代表了用户身份,一个用户的属性被隐式的嵌入到其所有的私钥中;访问策略由数据所有者制定,通常为一组包含属性的布尔表达式;在实际应用时,数据所有者基于其制定的访问策略对数据进行加密,以决定哪些用户可以访问其数据。当用户尝试访问数据时,使用其私钥对密文进行解密。若其属性符合数据所有者制定的访问策略要求,则可以访问数据,反之则不行。由此,方案将传统加密方案中用户的身份抽象化,数据所有者不必规定具体是哪个人可以访问其数据,而是指定符合某一类特征的群体均可以访问其数据(当然也可以指定特定的某个人)。这大大减少了在共享加密数据时的计算开销。
在原始的密文策略属性加密方案中,访问策略被显式地与密文一起发送。因此任何获得密文的人都能够知道与其相关联的访问策略。但在某些敏感性较强的场景中,访问策略有可能暴露数据所有者的隐私,因此早期的方案无法适用于敏感性较强的场景。为此,有人提出了部分隐藏策略的密文策略属性加密方案。部分隐藏策略的密文策略属性加密方案可以在满足解密需求的同时部分隐藏访问策略,以此防止暴露数据所有者的隐私。
但传统部分隐藏策略的密文策略属性加密方案存在以下问题:
(1)传统部分隐藏策略的密文策略属性加密方案中往往存在唯一的可信中央机构(CTA),用于生成全局参数和为用户生成其私钥。但该中央机构可获取任意用户的私钥,这也就意味着若其被攻击者破坏将造成极其严重的后果。且在实际情况中,一个用户所拥有的属性往往构成较为复杂,单一可信中央机构在验证用户属性时可能遇到某些困难导致效率降低,例如一个用户同时拥有“研究机构研究员”与“医院医生”两个属性,则可信中央机构CTA需要向研究机构和医院两方进行其属性的验证。因此,单一的可信中央机构可能导致方案效率上的瓶颈。
(2)在传统的部分隐藏策略密文策略属性技术中,其公共参数的大小与其系统内存在的属性数量成线性关系,这就导致在复杂的系统(属性数量较多的系统)中系统公共参数过大,由此导致大量的存储冗余,为方案的实际部署带来困难。
(3)传统的部分隐藏策略的密文策略属性加密方案还存在解密计算开销大的问题,尽管随着硬件技术的发展,高计算开销带来的影响有所降低,但对于一些计算量有限的边缘设备,其高计算开销仍旧有不可忽略的影响。这导致传统部分隐藏策略的密文策略属性加密方案在实际使用时可能存在问题。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,提供一种可验证外包的部分策略隐藏属性加密方法及系统。
为了实现本发明的上述目的,根据本发明的第一个方面,本发明提供了一种可验证外包的部分策略隐藏属性加密方法,包括:初始化步骤:可信中央机构获取CTA公共参数和CTA私有参数,并发布CTA公共参数;属性管理机构基于CTA公共参数获取属性管理机构公钥和属性管理机构私钥,并发布属性管理机构公钥;数据使用者注册步骤:数据使用者向可信中央机构发起注册请求并获得注册密钥;数据使用者私钥生成步骤:数据使用者通过管理其属性的属性管理机构获得其拥有属性的属性密钥,数据使用者组合注册密钥和其拥有属性的属性密钥获得数据使用者私钥;外包密钥生成步骤:数据使用者基于数据使用者私钥生成外包密钥;数据加密步骤:数据拥有者基于加密策略对原始明文进行加密获得密文,在加密过程中对加密策略中存在的属性的属性值进行隐藏,将所述密文存储于存储服务器;外包解密步骤:边缘服务器利用外包密钥对密文进行解密获得部分解密密文,并将部分解密密文发送至数据使用者;外包验证步骤:数据使用者根据部分解密密文获取明文,对明文进行正确性验证。
为了实现本发明的上述目的,根据同样的发明构思,本发明第二个方面提供了一种可验证外包的部分策略隐藏属性加密系统,包括可信中央机构、数据使用者设备、数据拥有者设备、多个属性管理机构、边缘服务器和存储服务器;所述可信中央机构执行:获取CTA公共参数和CTA私有参数,并发布CTA公共参数;接收数据使用者的注册请求,为数据使用者分配用户标识和生成注册密钥;所述属性管理机构执行:基于CTA公共参数获取属性管理机构公钥和属性管理机构私钥,并发布属性管理机构公钥;为数据使用者的属性生成属性密钥并将属性密钥发送给数据使用者设备;所述数据使用者设备执行:向可信中央机构发起注册请求并获得注册密钥;通过管理其属性的属性管理机构获得其拥有属性的属性密钥,组合注册密钥和其拥有属性的属性密钥获得数据使用者私钥;基于数据使用者私钥生成外包密钥;根据部分解密密文获取明文,对明文进行正确性验证;所述数据拥有者设备执行:基于加密策略对原始明文进行加密获得密文,在加密过程中对加密策略中存在的属性的属性值进行隐藏,将所述密文存储于存储服务器;所述边缘服务器执行:利用外包密钥对密文进行解密获得部分解密密文,并将部分解密密文发送至数据使用者设备;所述存储服务器执行:存储密文。
上述技术方案:设置多个属性管理机构来部分取代单一的可信中央机构,解决了因中心化导致的安全隐患与效率瓶颈问题;数据使用者私钥通过可信中央机构和多个属性管理机构的秘钥聚合获得,实现了对单个属性管理机构腐败的抵抗,除了数据使用者外没有任何一方拥有数据使用者的完整私钥,数据使用者之间也无法实现共谋,提高了数据使用者隐私的安全性;系统公共参数包括CTA公共参数和属性管理机构公钥,与属性数量无关,仅与属性管理机构数量有关,在实际情况中,即使在复杂系统中,属性管理机构的数量也有限,因此不会导致因系统公共参数过大而带来存储冗余、部署困难的问题;在数据加密过程中,采用策略半隐藏的加密模式,在加密过程中将可能泄露用户隐私的敏感信息(加密策略属性值)隐藏在密文中,对外只公布用户具有的属性名,令用户隐私信息对外界不可见,达到更好的保护用户隐私信息的目的;通过设置边缘服务器来为计算量有限的数据使用者设备提供支持,通过将计算开销大的复杂解密操作外包给边缘服务器以降低计算资源有限的数据使用者设备的计算开销,同时实现了外包解密数据的可验证性,以验证边缘服务器返回数据的正确性,提高方案的实际可用性。
附图说明
图1是本发明实施例1的整体框架示意图;
图2是本发明实施例1中数据使用者注册过程示意图;
图3是本发明实施例1中数据使用者私钥生成过程示意图;
图4是本发明实施例1中外包密钥生成过程示意图;
图5是本发明实施例1中数据加密过程示意图;
图6是本发明实施例1中外包解密过程示意图;
图7是本发明实施例1中外包验证过程示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
实施例1
本实施例公开了一种可验证外包的部分策略隐藏属性加密方法,如图1所示,参与本申请加密方法的数据拥有者、数据使用者、可信中央机构、属性管理机构、存储服务器和边缘服务器,参与者执行以下步骤:
1、可信中央机构初始化步骤:可信中央机构获取CTA公共参数和CTA私有参数,并发布CTA公共参数;优选地,具体包括:
步骤S11,构建阶为N=P1P2P3P4的合数阶群
Figure BDA0003808959840000071
Figure BDA0003808959840000072
P1、P2、P3、P4分别为第一大素数、第二大素数、第三大素数、第四大素数,N为合数,
Figure BDA0003808959840000073
均为合数阶群
Figure BDA0003808959840000074
的子群,构建由1到N的整数构成的集合
Figure BDA0003808959840000075
CTA为中央信任机构的英文Central TrustAgency首字母缩写;
步骤S12,随机选取第一整数α、第二整数a、第一群上元素g、第二群上元素X2、第三群上元素X3、第四群上元素X4
Figure BDA0003808959840000076
计算第十二群上元素Y=e(g,g)α,e表示将合数阶群
Figure BDA0003808959840000077
中两个元素映射到合数阶群
Figure BDA0003808959840000078
中一个元素的双线性映射函数;
步骤S13,生成CTA公共参数为:
Figure BDA0003808959840000079
其中,
Figure BDA00038089598400000710
表示选取的哈希函数;生成CTA私有参数为:MKCTA=(a,α,X3)。
2、属性管理机构初始化步骤:属性管理机构基于CTA公共参数获取属性管理机构公钥和属性管理机构私钥,并发布属性管理机构公钥,具体包括:
步骤S21,设有J个属性管理机构,对于第j个属性管理机构AAj,j∈[1,J],J为正整数,基于第一群上元素g为第j个属性管理机构随机选取一个第五群上元素hj
Figure BDA00038089598400000711
基于第四群上元素为第j个属性管理机构随机选取一个第六群上元素Zj
Figure BDA00038089598400000712
步骤S22,生成第j个属性管理机构的属性管理机构公钥为
Figure BDA0003808959840000081
其中,Hj=hjZj;生成第j个属性管理机构的属性管理机构私钥为:
Figure BDA0003808959840000082
3、数据使用者注册步骤:数据使用者向可信中央机构发起注册请求并获得注册密钥,包括:
步骤S31,可信中央机构为数据使用者随机选取用户标识t、第七群上元素R和第八群上元素R′,
Figure BDA0003808959840000083
可信中央机构会存储用户标识t,用户标识t与数据使用者一一对应;
步骤S32,生成注册密钥SKGID,CTA={K,K′},其中,注册密钥第一项K=gαgatR,注册密钥第二项K′=gtR′。
相应地,上述数据使用者注册步骤在实际应用,如图2所示,具体包括:
步骤301:数据使用者将自身的唯一身份标识符UGID发送给可信中央机构。
步骤302:可信中央机构根据注册列表验证该份标识符UGID是否已被注册,如没有被注册则进行下一步,若已注册则终止。
步骤303:可信中央机构为该数据使用者随机选择用户标识t、第七群上元素R和第八群上元素R′,
Figure BDA0003808959840000084
并计算注册密钥第一项K=gαgatR,注册密钥第二项K′=gtR′。K、K′为注册密钥的组成部分。
步骤304:可信中央机构将注册密钥SKGID,CTA={K,K′}发送给数据使用者。
4、数据使用者私钥生成步骤,数据使用者通过管理其属性的属性管理机构获得其拥有属性的属性密钥,数据使用者组合注册密钥和其拥有属性的属性密钥获得数据使用者私钥。如图1所示,属性管理机构可为多个,每个属性管理机构管理不同的属性,每个属性管理机构可管理至少一个属性。每个数据使用者都拥有一组属性,叫作属性组,记为
Figure BDA0003808959840000091
数据使用者拥有的属性可能分属不同的属性管理机构管理,因此会向不同的属性管理机构申请属性密钥,每个属性获得一个属性密钥,将其拥有的所有属性的属性密钥与注册密钥组合就获得其数据使用者私钥。
优选地,数据使用者私钥生成步骤包括:
步骤S41,将数据使用者拥有的属性组记为
Figure BDA0003808959840000092
属性组
Figure BDA0003808959840000093
中每个属性由一个属性管理机构管理,其中,
Figure BDA0003808959840000094
表示数据使用者拥有属性的属性名集合,
Figure BDA0003808959840000095
S表示数据使用者拥有属性的属性值集合,
Figure BDA0003808959840000096
步骤S42,每个属性通过管理其的属性管理机构获取该属性的属性密钥;进一步优选地,步骤S32中,属性i的属性密钥获取过程包括:
步骤S421,数据使用者将身份标识符UGID发送给管理属性i的属性管理机构,
Figure BDA0003808959840000097
步骤S422,属性管理机构向可信中央机构请求并获得用户标识t,
Figure BDA0003808959840000098
步骤S423,属性管理机构基于第二群上元素X2为属性i随机选取第九群上元素Ri
Figure BDA0003808959840000099
步骤S424,属性管理机构生成属性i的属性密钥
Figure BDA0003808959840000101
其中,Si表示属性i的属性值,Si∈S;
步骤S425,针对属性管理机构管理了数据使用者至少一个属性的情况,属性管理机构将其管理的数据使用者的所有属性的属性密钥
Figure BDA0003808959840000102
返回给数据使用者,
Figure BDA0003808959840000103
步骤S43,数据使用者组合注册密钥和属性组中所有属性的属性密钥获得数据使用者私钥。
在本实施例中,以单一属性管理机构为例,图3展示了实际应用中单一属性管理机构时数据使用者私钥生成步骤的详细步骤,具体包括:
步骤401:数据使用者将自身的唯一身份标识符UGID发送给属性管理机构。
步骤402:属性管理机构向可信中央机构请求用户标识t。
步骤403:可信中央机构向属性管理机构返回用户标识t。
步骤404:属性管理机构基于X2为每个属性随机选取
Figure BDA0003808959840000104
并计算
Figure BDA0003808959840000105
步骤405:属性管理机构将
Figure BDA0003808959840000106
发送给数据使用者。
步骤406:数据使用者将从可信中央机构处得到的SKGID,CTA与从每个属性管理机构处得到的
Figure BDA0003808959840000107
进行组合得到用户秘钥SKGID
Figure BDA0003808959840000108
5、外包密钥生成步骤,数据使用者基于数据使用者私钥生成外包密钥。优选地,具体包括:
数据使用者私钥为:
Figure BDA0003808959840000111
其中,K表示注册密钥第一项,K′表示注册密钥第二项,Ki表示数据使用者属性i的属性密钥,
Figure BDA0003808959840000112
表示数据使用者拥有属性的属性名集合,
Figure BDA0003808959840000113
随机选取第四整数z,
Figure BDA0003808959840000114
生成外包密钥为:
Figure BDA0003808959840000115
实际应用中,如图4所示,外包密钥生成步骤的详细过程包括:
步骤501:数据使用者随机选取
Figure BDA0003808959840000116
步骤502:数据使用者基于用户私钥
Figure BDA0003808959840000117
计算外包秘钥
Figure BDA0003808959840000118
6、数据加密步骤,数据拥有者基于加密策略对原始明文进行加密获得密文,在加密过程中对加密策略中存在的属性的属性值进行隐藏,将密文存储于存储服务器,具体包括:
步骤S61,数据拥有者制定加密策略
Figure BDA0003808959840000119
其中,A表示l行n列的属性矩阵,l表示加密策略中存在的属性数量;ρ为将矩阵A的行向量映射到属性名空间的映射关系集合;
Figure BDA00038089598400001110
表示对应属性名的属性值集合,
Figure BDA00038089598400001111
Figure BDA00038089598400001112
分别表示第1个、第2个、第l个属性名的属性值;
步骤S62,从
Figure BDA00038089598400001113
中随机选取n个整数组成长度为n的向量v=(s,v2,...,vn);随机选取第十群上元素Z,
Figure BDA00038089598400001114
为加密策略中的第x个属性随机选取一个第十一群上元素Zx
Figure BDA0003808959840000121
步骤S63,利用选取的哈希函数
Figure BDA0003808959840000129
对原始明文M进行处理获得正确性验证标识
Figure BDA0003808959840000122
正确性验证标识存储在存储服务器上;
步骤S64,生成密文
Figure BDA0003808959840000123
将密文存储在存储服务器上;其中,密文第三项
Figure BDA0003808959840000124
密文第四项
Figure BDA0003808959840000125
密文第五项{Cx}x∈[l]
Figure BDA0003808959840000126
Ax表示矩阵A中第x行行向量,设加密策略中第x个属性属于第j个属性管理机构管理,Hj表示管理第x属性的第j个属性管理机构的公钥。
在实际应用中,数据加密步骤的详细过程如图5所示,具体包括:
步骤601:数据拥有者制定加密策略,以决定哪些数据使用者可以访问其加密数据。加密策略的表现形式为由属性组成的布尔表达式,例如(医生:精神病医生OR科研机构:医学院)。在此表达式中,“医生”与“科研机构”为属性名,“精神病医生”与“医学院”为属性值。当某个数据使用者具有属性“医生:精神病医生”或“科研机构:医学院”时,该实体可以访问此数据,反之则不能。
步骤602:数据拥有者运行加密算法,依据制定的加密策略对数据进行加密。
①加密算法将用户制定的加密策略转变为
Figure BDA0003808959840000127
其中,A是l行n列的矩阵,l为策略中存在的属性数量;ρ为将矩阵A的某一行向量映射至属性名空间的映射关系集合;
Figure BDA0003808959840000128
为对应属性名的属性值集合。
②加密算法随机选取长度为n的向量v=(s,v2,...,vn),该向量中的每个元素均属于
Figure BDA0003808959840000131
③加密算法随机选取
Figure BDA0003808959840000132
并为每个属性随机选取
Figure BDA0003808959840000133
④加密算法计算正确性验证标识
Figure BDA0003808959840000134
其中,M为要加密的原始明文。
⑤加密算法计算密文
Figure BDA0003808959840000135
其中,
Figure BDA0003808959840000136
Figure BDA0003808959840000137
{Cx}x∈[l]
Figure BDA0003808959840000138
其中Ax是矩阵A的行向量,Hj是属性管理机构AAj的公钥,Y=e(g,g)α。通过
Figure BDA0003808959840000139
将属性值通过幂的形式进行隐藏,实现了半隐藏加密。
步骤603:数据拥有者将加密后的密文存储在云存储服务器上。
7、外包解密步骤,边缘服务器利用外包密钥对密文进行解密获得部分解密密文,并将部分解密密文发送至数据使用者。优选地,外包解密步骤具体包括:
步骤S71,边缘服务器接收数据使用者发送的外包密钥和待解密文件编号;
步骤S72,边缘服务器依据待解密文件编号向存储服务器请求并获得待解密文件编号对应的密文;在存储服务器中每个待解密文件具有一个编号;
步骤S73,边缘服务器基于(A,ρ)计算最小授权属性集的集合
Figure BDA00038089598400001310
选取集合
Figure BDA00038089598400001311
的子集
Figure BDA00038089598400001312
Figure BDA00038089598400001313
选取第三整数ωx使得
Figure BDA00038089598400001314
Figure BDA00038089598400001315
步骤S74,边缘服务器利用外包密钥对密文进行解密获得部分解密密文
Figure BDA0003808959840000141
步骤S75,边缘服务器返回部分解密密文
Figure BDA0003808959840000142
和密文第三项
Figure BDA0003808959840000143
至数据使用者。
在本实施例的实际应用中,如图6所示,外包解密步骤的详细过程包括:
步骤701:数据使用者将想要解密的文件编号FGID与外包秘钥TKGID发送给边缘服务器。
步骤702:边缘服务器依据文件编号向云存储服务器请求文件。
步骤703:云存储服务器返回对应的密文CTA
步骤704:边缘服务器依据外包秘钥TKGID与密文CTA进行计算,得到CT′A。算法首先基于(A,ρ)计算最小授权属性集的集合
Figure BDA0003808959840000144
之后计算
Figure BDA0003808959840000145
其中,
Figure BDA0003808959840000146
Figure BDA0003808959840000147
并满足
Figure BDA0003808959840000148
e表示双线性映射函数。
步骤705:边缘服务器将密文中与明文有关的
Figure BDA0003808959840000149
与计算得到的CT′A发送给数据使用者。
8、外包验证步骤,数据使用者根据部分解密密文获取明文,对明文进行正确性验证。优选地,外包验证步骤具体包括:
数据使用者根据部分解密密文
Figure BDA00038089598400001410
和密文第三项
Figure BDA00038089598400001411
计算明文M′,
Figure BDA00038089598400001412
利用哈希函数计算
Figure BDA00038089598400001413
从存储服务器获取正确性验证标识VK,判断等式
Figure BDA00038089598400001414
是否成立,若成立,则认为明文M′正确,若不成立,则认为明文M′错误。
在本实施例中,在实际应用中,如图7所示,外包验证步骤详细包括:
步骤801:数据使用者通过计算
Figure BDA0003808959840000151
来得到明文M′。
步骤802:数据使用者向云存储服务器请求正确性验证标识VK。
步骤803:云存储服务器向数据使用者返回正确性验证标识VK。
步骤804:数据使用者通过计算
Figure BDA0003808959840000152
来验证边缘服务器给予的计算结果的正确性。
实施例2
本实施例公开了一种可验证外包的部分策略隐藏属性加密系统,如图1所示,包括可信中央机构、数据使用者设备、数据拥有者设备、多个属性管理机构、边缘服务器和存储服务器;存储服务器优选但不限于为云存储服务器;数据使用者设备为数据使用者使用的电脑、终端等电子设备;数据拥有者设备为数据拥有者使用的电脑、终端等电子设备。
可信中央机构执行:获取CTA公共参数和CTA私有参数,并发布CTA公共参数;接收数据使用者的注册请求,为数据使用者分配用户标识和生成注册密钥;
属性管理机构执行:基于CTA公共参数获取属性管理机构公钥和属性管理机构私钥,并发布属性管理机构公钥;为数据使用者的属性生成属性密钥并将属性密钥发送给数据使用者设备;
数据使用者设备执行:向可信中央机构发起注册请求并获得注册密钥;通过管理其属性的属性管理机构获得其拥有属性的属性密钥,组合注册密钥和其拥有属性的属性密钥获得数据使用者私钥;基于数据使用者私钥生成外包密钥;根据部分解密密文获取明文,对明文进行正确性验证;
数据拥有者设备执行:基于加密策略对原始明文进行加密获得密文,在加密过程中对加密策略中存在的属性的属性值进行隐藏,将该密文存储于存储服务器;
边缘服务器执行:利用外包密钥对密文进行解密获得部分解密密文,并将部分解密密文发送至数据使用者设备;
存储服务器执行:存储密文。
本发明提供的可验证外包的部分策略隐藏属性加密方法及系统实现了:
更好的保护用户隐私:采用策略半隐藏的加密模式,在加密过程中将可能泄露用户隐私的敏感信息隐藏在密文中,对外只公布用户具有的属性名,令用户隐私信息对外界不可见,达到更好的保护用户隐私信息的目的。
更高的保密性:采用多机构秘钥生成的模式来生成用户私钥,避免了因单点失效导致的用户秘钥泄露问题。同时在本申请的架构中,除用户自身外没有任何一方具有完整的用户私钥,因此即使中央可信机构受到攻击或属性管理机构出现腐败也不会导致用户私钥的泄露。同时尽管用户的秘钥由来自不同属性管理机构的秘钥片段组合而成,但不同用户的秘钥无法实现拼合,防止了用户间产生共谋。与传统密文策略属性加密方案相比,具有更高的保密性。
更高效:本申请通过将复杂的解密运算操作外包给计算能力更强大的边缘服务器,从而减轻对计算资源有限的终端设备的计算负担。同时提供了对于边缘服务器返回计算结果的正确性的验证方式,解决了用户实体使用边缘服务器进行外包解密时数据的正确性问题。
更小的公共参数:在传统密文策略属性加密方案中,公共参数的大小与系统中的属性数量成线性关系。本专利通过将属性划分至各个属性管理机构,使公共参数大小仅与属性管理机构的数量相关,而与属性的数量无关。减小了公共参数的规模,降低了用户实体与边缘服务器对于存储公共参数的开销,使得方案更具可用性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (3)

1.一种可验证外包的部分策略隐藏属性加密方法,其特征在于,包括:
初始化步骤:可信中央机构获取CTA公共参数和CTA私有参数,并发布CTA公共参数;属性管理机构基于CTA公共参数获取属性管理机构公钥和属性管理机构私钥,并发布属性管理机构公钥;在所述初始化步骤中,所述可信中央机构获取CTA公共参数和CTA私有参数的步骤具体包括:
构建阶为N=P1P2P3P4的合数阶群
Figure FDA0004183186980000011
Figure FDA0004183186980000012
P1、P2、P3、P4分别为第一大素数、第二大素数、第三大素数、第四大素数,
Figure FDA0004183186980000013
均为合数阶群
Figure FDA0004183186980000014
的子群,构建由1到N的整数构成的集合
Figure FDA0004183186980000015
随机选取第一整数α、第二整数a、第一群上元素g、第二群上元素X2、第三群上元素X3、第四群上元素X4
Figure FDA0004183186980000016
计算第十二群上元素Y=e(g,g)α,e表示将合数阶群
Figure FDA0004183186980000017
中两个元素映射到合数阶群
Figure FDA0004183186980000018
中一个元素的双线性映射函数;
生成CTA公共参数为:
Figure FDA0004183186980000019
其中,
Figure FDA00041831869800000110
表示选取的哈希函数;生成CTA私有参数为:MKCTA=(a,α,X3);
所述属性管理机构基于CTA公共参数获取属性管理机构公钥和属性管理机构私钥的步骤具体包括:
设有J个属性管理机构,对于第j个属性管理机构,j∈[1,J],基于第一群上元素g为第j个属性管理机构随机选取一个第五群上元素hj
Figure FDA00041831869800000111
基于第四群上元素为第j个属性管理机构随机选取一个第六群上元素Zj
Figure FDA0004183186980000021
生成第j个属性管理机构的属性管理机构公钥为:
Figure FDA0004183186980000022
其中,Hj=hjZj
生成第j个属性管理机构的属性管理机构私钥为:
Figure FDA0004183186980000023
数据使用者注册步骤:数据使用者向可信中央机构发起注册请求并获得注册密钥;在所述数据使用者注册步骤中,数据使用者向可信中央机构发起注册请求并获得注册密钥的步骤具体包括:
可信中央机构为数据使用者随机选取用户标识t、第七群上元素R和第八群上元素R′,
Figure FDA0004183186980000024
生成注册密钥SKGID,CTA={K,K′},其中,注册密钥第一项K=gαgatR,注册密钥第二项K′=gtR′;
数据使用者私钥生成步骤:数据使用者通过管理其属性的属性管理机构获得其拥有属性的属性密钥,数据使用者组合注册密钥和其拥有属性的属性密钥获得数据使用者私钥;所述数据使用者私钥生成步骤具体包括:
步骤S41,将数据使用者拥有的属性组记为
Figure FDA0004183186980000025
属性组
Figure FDA0004183186980000026
中每个属性由一个属性管理机构管理,其中,
Figure FDA0004183186980000027
表示数据使用者拥有属性的属性名集合,
Figure FDA0004183186980000028
S表示数据使用者拥有属性的属性值集合,
Figure FDA0004183186980000029
步骤S42,每个属性通过管理其的属性管理机构获取该属性的属性密钥;
步骤S43,数据使用者组合注册密钥和属性组中所有属性的属性密钥获得数据使用者私钥;
外包密钥生成步骤:数据使用者基于数据使用者私钥生成外包密钥;在所述外包密钥生成步骤中,数据使用者私钥为:
Figure FDA0004183186980000031
其中,K表示注册密钥第一项,K′表示注册密钥第二项,Ki表示数据使用者属性i的属性密钥,
Figure FDA0004183186980000032
表示数据使用者拥有属性的属性名集合,
Figure FDA0004183186980000033
随机选取第四整数z,
Figure FDA0004183186980000034
生成外包密钥为:
Figure FDA0004183186980000035
数据加密步骤:数据拥有者基于加密策略对原始明文进行加密获得密文,在加密过程中对加密策略中存在的属性的属性值进行隐藏,将所述密文存储于存储服务器;所述数据加密步骤包括:
步骤S61,数据拥有者制定加密策略
Figure FDA0004183186980000036
其中,A表示l行n列的属性矩阵,l表示加密策略中存在的属性数量;ρ为将矩阵A的行向量映射到属性名空间的映射关系集合;
Figure FDA0004183186980000037
表示对应属性名的属性值集合,
Figure FDA0004183186980000038
Figure FDA0004183186980000039
分别表示第1个、第2个、第l个属性名的属性值;
步骤S62,从
Figure FDA00041831869800000310
中随机选取n个整数组成长度为n的向量v=(s,v2,...,vn);随机选取第十群上元素Z,
Figure FDA00041831869800000311
为加密策略中的第x个属性随机选取一个第十一群上元素Zx
Figure FDA00041831869800000312
x∈[l];
步骤S63,利用选取的哈希函数
Figure FDA00041831869800000313
对原始明文M进行处理获得正确性验证标识
Figure FDA00041831869800000314
步骤S64,生成密文
Figure FDA00041831869800000315
将密文和正确性验证标识存储在存储服务器上;其中,密文第三项
Figure FDA0004183186980000041
密文第四项
Figure FDA0004183186980000042
密文第五项{Cx}x∈[l]
Figure FDA0004183186980000043
Ax表示矩阵A中第x行行向量,设加密策略中第x个属性属于第j个属性管理机构管理,Hj表示管理第x属性的第j个属性管理机构的公钥;
外包解密步骤:边缘服务器利用外包密钥对密文进行解密获得部分解密密文,并将部分解密密文发送至数据使用者;所述外包解密步骤具体包括:
步骤S71,边缘服务器接收数据使用者发送的外包密钥和待解密文件编号;
步骤S72,边缘服务器依据待解密文件编号向存储服务器请求并获得待解密文件编号对应的密文;
步骤S73,边缘服务器基于(A,ρ)计算最小授权属性集的集合
Figure FDA0004183186980000044
选取集合
Figure FDA0004183186980000045
的子集
Figure FDA0004183186980000046
Figure FDA0004183186980000047
选取第三整数ωx使得
Figure FDA0004183186980000048
Figure FDA0004183186980000049
步骤S74,边缘服务器利用外包密钥对密文进行解密获得部分解密密文
Figure FDA00041831869800000410
步骤S75,边缘服务器返回部分解密密文
Figure FDA00041831869800000411
和密文第三项
Figure FDA00041831869800000412
至数据使用者;
外包验证步骤:数据使用者根据部分解密密文获取明文,对明文进行正确性验证;所述外包验证步骤具体包括:
数据使用者根据部分解密密文
Figure FDA00041831869800000413
和密文第三项
Figure FDA00041831869800000414
计算明文M',
Figure FDA0004183186980000051
利用哈希函数计算
Figure FDA0004183186980000052
从存储服务器获取正确性验证标识VK,判断等式
Figure FDA0004183186980000053
是否成立,若成立,则认为明文M'正确,若不成立,则认为明文M'错误。
2.如权利要求1所述的可验证外包的部分策略隐藏属性加密方法,其特征在于,所述步骤S42中,属性i的属性密钥获取过程包括:
数据使用者将身份标识符发送给管理属性i的属性管理机构,
Figure FDA0004183186980000054
属性管理机构向可信中央机构请求并获得用户标识t,
Figure FDA0004183186980000055
属性管理机构基于第二群上元素X2为属性i随机选取第九群上元素Ri
Figure FDA0004183186980000056
属性管理机构生成属性i的属性密钥
Figure FDA0004183186980000057
其中,Si表示属性i的属性值,Si∈S;
属性管理机构将其管理的数据使用者的所有属性的属性密钥
Figure FDA0004183186980000058
返回给数据使用者,
Figure FDA0004183186980000059
3.一种可验证外包的部分策略隐藏属性加密系统,其特征在于,包括可信中央机构、数据使用者设备、数据拥有者设备、多个属性管理机构、边缘服务器和存储服务器;
所述可信中央机构执行:获取CTA公共参数和CTA私有参数,并发布CTA公共参数;接收数据使用者的注册请求,为数据使用者分配用户标识和生成注册密钥;所述可信中央机构获取CTA公共参数和CTA私有参数的步骤具体包括:
构建阶为N=P1P2P3P4的合数阶群
Figure FDA0004183186980000061
Figure FDA0004183186980000062
P1、P2、P3、P4分别为第一大素数、第二大素数、第三大素数、第四大素数,
Figure FDA0004183186980000063
均为合数阶群
Figure FDA0004183186980000064
的子群,构建由1到N的整数构成的集合
Figure FDA0004183186980000065
随机选取第一整数α、第二整数a、第一群上元素g、第二群上元素X2、第三群上元素X3、第四群上元素X4
Figure FDA0004183186980000066
计算第十二群上元素Y=e(g,g)α,e表示将合数阶群
Figure FDA0004183186980000067
中两个元素映射到合数阶群
Figure FDA0004183186980000068
中一个元素的双线性映射函数;
生成CTA公共参数为:
Figure FDA0004183186980000069
其中,
Figure FDA00041831869800000610
表示选取的哈希函数;生成CTA私有参数为:MKCTA=(a,α,X3);
所述属性管理机构基于CTA公共参数获取属性管理机构公钥和属性管理机构私钥的步骤具体包括:
设有J个属性管理机构,对于第j个属性管理机构,j∈[1,J],基于第一群上元素g为第j个属性管理机构随机选取一个第五群上元素hj
Figure FDA00041831869800000611
基于第四群上元素为第j个属性管理机构随机选取一个第六群上元素Zj
Figure FDA00041831869800000612
生成第j个属性管理机构的属性管理机构公钥为:
Figure FDA00041831869800000613
其中,Hj=hjZj
生成第j个属性管理机构的属性管理机构私钥为:
Figure FDA00041831869800000614
所述属性管理机构执行:基于CTA公共参数获取属性管理机构公钥和属性管理机构私钥,并发布属性管理机构公钥;为数据使用者的属性生成属性密钥并将属性密钥发送给数据使用者设备;
所述数据使用者设备执行:向可信中央机构发起注册请求并获得注册密钥,具体包括:
可信中央机构为数据使用者随机选取用户标识t、第七群上元素R和第八群上元素R′,
Figure FDA0004183186980000071
生成注册密钥SKGID,CTA={K,K′},其中,注册密钥第一项K=gαgatR,注册密钥第二项K′=gtR′;
通过管理其属性的属性管理机构获得其拥有属性的属性密钥,组合注册密钥和其拥有属性的属性密钥获得数据使用者私钥,具体包括:
步骤S41,将数据使用者拥有的属性组记为
Figure FDA0004183186980000072
属性组
Figure FDA0004183186980000073
中每个属性由一个属性管理机构管理,其中,
Figure FDA0004183186980000074
表示数据使用者拥有属性的属性名集合,
Figure FDA0004183186980000075
S表示数据使用者拥有属性的属性值集合,
Figure FDA0004183186980000076
步骤S42,每个属性通过管理其的属性管理机构获取该属性的属性密钥;
步骤S43,数据使用者组合注册密钥和属性组中所有属性的属性密钥获得数据使用者私钥;
基于数据使用者私钥生成外包密钥,具体包括:数据使用者私钥为:
Figure FDA0004183186980000077
其中,K表示注册密钥第一项,K′表示注册密钥第二项,Ki表示数据使用者属性i的属性密钥,
Figure FDA0004183186980000078
表示数据使用者拥有属性的属性名集合,
Figure FDA0004183186980000079
随机选取第四整数z,
Figure FDA00041831869800000710
生成外包密钥为:
Figure FDA00041831869800000711
根据部分解密密文获取明文,对明文进行正确性验证,具体包括:数据使用者根据部分解密密文
Figure FDA0004183186980000081
和密文第三项
Figure FDA0004183186980000082
计算明文M',
Figure FDA0004183186980000083
利用哈希函数计算
Figure FDA0004183186980000084
从存储服务器获取正确性验证标识VK,判断等式
Figure FDA0004183186980000085
是否成立,若成立,则认为明文M'正确,若不成立,则认为明文M'错误;
所述数据拥有者设备执行:基于加密策略对原始明文进行加密获得密文,在加密过程中对加密策略中存在的属性的属性值进行隐藏,将所述密文存储于存储服务器,具体包括:
步骤S61,数据拥有者制定加密策略
Figure FDA0004183186980000086
其中,A表示l行n列的属性矩阵,l表示加密策略中存在的属性数量;ρ为将矩阵A的行向量映射到属性名空间的映射关系集合;
Figure FDA0004183186980000087
表示对应属性名的属性值集合,
Figure FDA0004183186980000088
Figure FDA0004183186980000089
分别表示第1个、第2个、第l个属性名的属性值;
步骤S62,从
Figure FDA00041831869800000810
中随机选取n个整数组成长度为n的向量v=(s,v2,...,vn);随机选取第十群上元素Z,
Figure FDA00041831869800000811
为加密策略中的第x个属性随机选取一个第十一群上元素Zx
Figure FDA00041831869800000812
x∈[l];
步骤S63,利用选取的哈希函数
Figure FDA00041831869800000813
对原始明文M进行处理获得正确性验证标识
Figure FDA00041831869800000814
步骤S64,生成密文
Figure FDA00041831869800000815
将密文和正确性验证标识存储在存储服务器上;其中,密文第三项
Figure FDA00041831869800000816
密文第四项
Figure FDA00041831869800000817
密文第五项{Cx}x∈[l]
Figure FDA00041831869800000818
Ax表示矩阵A中第x行行向量,设加密策略中第x个属性属于第j个属性管理机构管理,Hj表示管理第x属性的第j个属性管理机构的公钥;
所述边缘服务器执行:利用外包密钥对密文进行解密获得部分解密密文,并将部分解密密文发送至数据使用者设备;利用外包密钥对密文进行解密获得部分解密密文具体包括:
步骤S71,边缘服务器接收数据使用者发送的外包密钥和待解密文件编号;
步骤S72,边缘服务器依据待解密文件编号向存储服务器请求并获得待解密文件编号对应的密文;
步骤S73,边缘服务器基于(A,ρ)计算最小授权属性集的集合
Figure FDA0004183186980000091
选取集合
Figure FDA0004183186980000092
的子集
Figure FDA0004183186980000093
Figure FDA0004183186980000094
选取第三整数ωx使得
Figure FDA0004183186980000095
Figure FDA0004183186980000096
步骤S74,边缘服务器利用外包密钥对密文进行解密获得部分解密密文
Figure FDA0004183186980000097
步骤S75,边缘服务器返回部分解密密文
Figure FDA0004183186980000098
和密文第三项
Figure FDA0004183186980000099
至数据使用者;
所述存储服务器执行:存储密文。
CN202211009368.5A 2022-08-22 2022-08-22 一种可验证外包的部分策略隐藏属性加密方法及系统 Active CN115361126B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211009368.5A CN115361126B (zh) 2022-08-22 2022-08-22 一种可验证外包的部分策略隐藏属性加密方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211009368.5A CN115361126B (zh) 2022-08-22 2022-08-22 一种可验证外包的部分策略隐藏属性加密方法及系统

Publications (2)

Publication Number Publication Date
CN115361126A CN115361126A (zh) 2022-11-18
CN115361126B true CN115361126B (zh) 2023-05-16

Family

ID=84003637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211009368.5A Active CN115361126B (zh) 2022-08-22 2022-08-22 一种可验证外包的部分策略隐藏属性加密方法及系统

Country Status (1)

Country Link
CN (1) CN115361126B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112380543B (zh) * 2020-10-23 2024-03-19 重庆大学 基于区块链的电子医疗数据隐私保护与安全共享系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110099043A (zh) * 2019-03-24 2019-08-06 西安电子科技大学 支持策略隐藏的多授权中心访问控制方法、云存储系统
CN111695095A (zh) * 2020-04-27 2020-09-22 西安电子科技大学 一种部分策略隐藏访问控制方法、系统、无线通信系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110099043A (zh) * 2019-03-24 2019-08-06 西安电子科技大学 支持策略隐藏的多授权中心访问控制方法、云存储系统
CN111695095A (zh) * 2020-04-27 2020-09-22 西安电子科技大学 一种部分策略隐藏访问控制方法、系统、无线通信系统

Also Published As

Publication number Publication date
CN115361126A (zh) 2022-11-18

Similar Documents

Publication Publication Date Title
Raisaro et al. M ed C o: Enabling Secure and Privacy-Preserving Exploration of Distributed Clinical and Genomic Data
Yang et al. Medical data sharing scheme based on attribute cryptosystem and blockchain technology
Tong et al. Cloud-assisted mobile-access of health data with privacy and auditability
KR102025409B1 (ko) 블록체인을 기반으로 한 데이터 접근 관리 시스템 및 데이터 접근 관리 방법
Jung et al. Control cloud data access privilege and anonymity with fully anonymous attribute-based encryption
Li et al. Ehrchain: a blockchain-based ehr system using attribute-based and homomorphic cryptosystem
CN104901942B (zh) 一种基于属性加密的分布式访问控制方法
WO2018113563A1 (zh) 一种具有访问控制功能的数据库查询方法和系统
Fan et al. TraceChain: A blockchain‐based scheme to protect data confidentiality and traceability
Sharma et al. RSA based encryption approach for preserving confidentiality of big data
JP2010220212A (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
Pussewalage et al. A patient-centric attribute based access control scheme for secure sharing of personal health records using cloud computing
CN112751670B (zh) 一种多中心密文策略的属性基可搜索加密及相应的搜索获取数据的方法
Jiang et al. Attribute-based encryption with blockchain protection scheme for electronic health records
Xu et al. Enabling authorized encrypted search for multi-authority medical databases
CN113411323B (zh) 基于属性加密的医疗病历数据访问控制系统及方法
Gardiyawasam Pussewalage et al. A distributed multi-authority attribute based encryption scheme for secure sharing of personal health records
Tu et al. A secure, efficient and verifiable multimedia data sharing scheme in fog networking system
Sangeetha et al. A secure cloud based Personal Health Record framework for a multi owner environment
Zhou et al. A secure role-based cloud storage system for encrypted patient-centric health records
CN115361126B (zh) 一种可验证外包的部分策略隐藏属性加密方法及系统
Qinlong et al. Improving security and efciency for encrypted data sharing in online social networks
Chaudhary et al. RMA-CPABE: A multi-authority CPABE scheme with reduced ciphertext size for IoT devices
Tian et al. An efficient scheme of cloud data assured deletion
Almuzaini et al. Key aggregation cryptosystem and double encryption method for cloud-based intelligent machine learning techniques-based health monitoring systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant