+

CN105978696A - Revocable quick data outsourcing packaging method and device - Google Patents

Revocable quick data outsourcing packaging method and device Download PDF

Info

Publication number
CN105978696A
CN105978696A CN201610302830.9A CN201610302830A CN105978696A CN 105978696 A CN105978696 A CN 105978696A CN 201610302830 A CN201610302830 A CN 201610302830A CN 105978696 A CN105978696 A CN 105978696A
Authority
CN
China
Prior art keywords
data
trusted authority
access
selects
key
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.)
Granted
Application number
CN201610302830.9A
Other languages
Chinese (zh)
Other versions
CN105978696B (en
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.)
Beihang University
Original Assignee
Beihang 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 Beihang University filed Critical Beihang University
Priority to CN201610302830.9A priority Critical patent/CN105978696B/en
Publication of CN105978696A publication Critical patent/CN105978696A/en
Application granted granted Critical
Publication of CN105978696B publication Critical patent/CN105978696B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/0435Network 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 symmetric encryption, i.e. same key used 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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

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)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种可撤销快速数据外包封装方法及装置,其中,该方法包括:首先可信权威进行初始化;接着数据所有者执行数据封装;审计员执行封装检测,采用变色龙哈希函数进行计算和检验三个等式是否成立,输出结果;可信权威执行访问权限产生,输出访问证书;可信权威执行访问权限更新,更新访问权限,公布更新后的访问证书;数据使用者执行数据解封装,检测访问证书是否被撤销和计算解封装密钥并解封装;可信权威执行访问权限撤销模块,撤回访问权限。该方法实现了有效的访问控制,并最大程度地保护了电子健康病例在存储于不可完全信赖的第三方服务器上的安全性,节约了移动设备的解密开销。

The invention discloses a revocable and fast data outsourcing encapsulation method and device, wherein, the method includes: first, a trusted authority performs initialization; then the data owner performs data encapsulation; an auditor performs encapsulation detection, and uses a chameleon hash function for calculation And check whether the three equations are true, and output the result; the trusted authority executes the generation of access rights, and outputs the access certificate; the trusted authority executes the update of the access rights, updates the access rights, and publishes the updated access certificate; the data user performs data decapsulation , detect whether the access certificate is revoked and calculate the decapsulation key and decapsulate; the trusted authority executes the access authority revocation module to withdraw the access authority. The method realizes effective access control, and protects the security of the electronic health case stored on the untrustworthy third-party server to the greatest extent, and saves the decryption cost of the mobile device.

Description

可撤销快速数据外包封装方法及装置Reversible fast data outsourcing encapsulation method and device

技术领域technical field

本发明涉及数据处理技术领域,尤其涉及一种可撤销快速数据外包封装方法及装置。The invention relates to the technical field of data processing, in particular to a revocable and fast data outsourcing encapsulation method and device.

背景技术Background technique

电子健康病历(EHR)系统是一个有前景的健康病历管理系统。和传统的纸质健康病历(PBHR)系统相比,EHR系统带来了额外的优势,比如:更灵活的EHR存储,更简单的EHR数据管理,更好的存储和回复效率和范围更广的可用性。云存储可以以请求式的方式为用户提供几乎无限的资源并且花费低廉,特别是在公共云上。用这种方法,EHR可以被外包到公共云上,医护人员可以从建立专业的EHR存储系统并且管理他们所拥有的大规模的EHR数据的工作中解放出来。用户则可以通过公共云轻松的访问和共享他们的EHR数据。Electronic health record (EHR) system is a promising health record management system. Compared with the traditional paper-based health record (PBHR) system, the EHR system brings additional advantages, such as: more flexible EHR storage, simpler EHR data management, better storage and recovery efficiency and a wider range of availability. Cloud storage can provide users with almost unlimited resources on-demand and at low cost, especially on public clouds. In this way, EHR can be outsourced to the public cloud, and medical staff can be freed from the work of setting up a professional EHR storage system and managing the large-scale EHR data they have. Users can easily access and share their EHR data through the public cloud.

在EHR云端存储中一个重要的安全考虑是不诚实的云服务器提供者可能会不经用户的授权就读取和滥用用户的数字信息。密码学的访问控制对策被提出来解决这个问题。在这些方案中,一个EHR数据所有者用一个访问策略封装需要外包的数据。EHR数据的使用者,每一个人被分配一个与他们属性相关联的访问证书,只有在他们的属性满足特定的访问策略的时候,他们才可以解封装数据。与传统的访问控制系统相比,密码学的访问控制策略允许EHR用户在数据库服务器不可信的情况下实施访问控制策略。在用密码学的访问控制来保护EHR云端存储安全的过程中仍然有着挑战。一个挑战就是现有的协议的数据封装需要大量的与特定的访问控制策略复杂度呈线性关系的昂贵的对称加密操作。实验数据表明数据封装花费了大量时间,导致用户体验下降。另外,对于需要实时数据更新的应用,比如经济治疗和身体健康检测的应用,这样长时间的封装消耗是难以接受的。An important security consideration in EHR cloud storage is that dishonest cloud server providers may read and misuse users' digital information without the user's authorization. Cryptographic access control countermeasures are proposed to solve this problem. In these scenarios, an EHR data owner encapsulates the data to be outsourced with an access policy. Users of EHR data, each of whom is assigned an access credential associated with their attributes, can decapsulate the data only if their attributes meet specific access policies. Compared with traditional access control systems, cryptographic access control policies allow EHR users to implement access control policies when the database server is not trusted. There are still challenges in securing EHR cloud storage with cryptographic access controls. One challenge is that data encapsulation in existing protocols requires a large number of expensive symmetric encryption operations that scale linearly with the complexity of a specific access control policy. Experimental data shows that data encapsulation takes a lot of time, resulting in a decline in user experience. In addition, for applications that require real-time data updates, such as economic treatment and physical health detection, such long-term packaging consumption is unacceptable.

另外一个弊端是现有的密码学访问控制协议采用的安全模型不足以在云端存储中捕捉到实际的攻击。首先,大多数存在的协议只考虑了攻击者仅仅采用通过访问封装的数据来尝试获取数字内容的信息的被动攻击。实际中,不忠实的用户可能会改变他们的访问证书并且与云服务器提供者共谋来在没有权限的情况下访问EHR数据。此外,攻击者可能知道目标合法用户不小心泄露的数据。这样充满危险的现实环境在现存的安全模型中并没有完全考虑到所有的情况。并且现存的协议不能提供任何机制来筛选无效的封装。因为封装的数据看起来是随机的,恶意的攻击者可以轻易地用垃圾数据掩埋用户云端EHR账户,比如持续的发送随机产生的垃圾数据。Another disadvantage is that the security model adopted by the existing cryptographic access control protocols is not enough to capture actual attacks in cloud storage. First, most of the existing protocols only consider passive attacks where attackers merely attempt to gain information about digital content by accessing encapsulated data. In practice, dishonest users may change their access credentials and conspire with cloud server providers to gain unauthorized access to EHR data. Additionally, an attacker may know data that a targeted legitimate user has inadvertently leaked. Such a dangerous real-world environment does not fully take into account all situations in the existing security model. And existing protocols do not provide any mechanism to filter out invalid encapsulations. Because the encapsulated data looks random, a malicious attacker can easily bury the user's cloud EHR account with junk data, such as continuously sending randomly generated junk data.

发明内容Contents of the invention

本发明的目的旨在至少在一定程度上解决上述的技术问题之一。The object of the present invention is to solve one of the above-mentioned technical problems at least to a certain extent.

为此,本发明的第一个目的在于提出一种可撤销快速数据外包封装方法。该方法实现了有效的访问控制,并最大程度地保护了电子健康病例在存储于不可完全信赖的第三方服务器上的安全性,节约了移动设备的解密开销。For this reason, the first object of the present invention is to propose a revocable fast data outsourcing encapsulation method. The method realizes effective access control, and protects the security of the electronic health case stored on the untrustworthy third-party server to the greatest extent, and saves the decryption cost of the mobile device.

本发明的第二个目的在于提出了一种可撤销快速数据外包封装装置。The second object of the present invention is to propose a revocable fast data outsourcing packaging device.

为达上述目的,本发明第一方面实施例的可撤销快速数据外包封装方法,包括:S1,可行权威执行系统初始化,包括:S11,可信权威输入安全参数和属性集合的最大数目运行来获得两个素数p阶群一个双线性映射S12,所述可信权威选择对称加密方案εsym,所述对称加密方案εsym采用加密算法symEnc(key,data)和解密算法symDec(key,data),其中,key为数据解封装密钥,data为用户的HER数据;S13,所述可信权威选择一种抗碰撞哈希函数H(·),所述抗碰撞哈希函数H(·)满足抗碰撞哈希函数的所有特性,输入为任意长度的0、1字符串,输出为映射到群中的某一元素,S14,所述可信权威选择一个有辅助参数域的安全变色龙哈希函数CH:{0,1}*→Zp;S15,所述可信权威运行随机数生成算法,得到和整数S16,设定撤回列表RL=0,并且选择一个大于等于N个叶节点的二叉树BT;S17,所述可信权威有主密钥msk(α),对外公布公共参数为S2,数据所有者执行数据封装,包括:S21,数据所有者选取一个随机的整数并计算key=e(g,g)αs,c0=gs;S22,假设在任何一个LSSS编码的策略中有一个最大的行数,所述数据所有者对于每一个i∈[p]选择随机的整数并且计算S23,所述数据所有者选择一个随机的整数并且设置S24,所述数据所有者运行(chk,td)←CHGen(1λ),选择一个随机的辅助参数和一个随机的字符串计算V=Hash(chk||CHash(chk,m',r'm)),输出S25,所述数据所有者选择一个随机的整数并且计算最后输出中间包头为被所述数据所有者存储以供实时封装时使用;S26,所述数据所有者已获得数据data,封装时间T,和对应的访问控制策略(M,ρ),其中ρ:[1]→μ1≤p,所述数据所有者选择随机整数输出S27,所述数据所有者计算分享向量对于i∈[I],所述数据所有者计算Ci,4=λi-λ′i,Ci,5=-ti·(ρ(i)-xi)对于时间T,所述数据所有者计算CR,2=s·(T-T');S28,封装的数据为en=SymEnc(key,data),所述数据所有者运行rm=Coll(td,m',r'm,m),其中m设为:In order to achieve the above purpose, the revocable fast data outsourcing encapsulation method of the embodiment of the first aspect of the present invention includes: S1, a feasible authority executes system initialization, including: S11, a trusted authority inputs security parameters and the maximum number of attribute sets run to obtain two prime groups of order p a bilinear map S12, the trusted authority selects a symmetric encryption scheme εsym , and the symmetric encryption scheme εsym adopts an encryption algorithm symEnc(key, data) and a decryption algorithm symDec(key, data), wherein key is a data decapsulation key, data is the user's HER data; S13, the trusted authority selects an anti-collision hash function H(·), the anti-collision hash function H(·) satisfies all the characteristics of the anti-collision hash function, and the input is A string of 0, 1 of any length, the output is mapped to an element of the group, S14, the trusted authority selects a domain with auxiliary parameters The secure chameleon hash function CH:{0,1} * →Z p ; S15, the trusted authority runs the random number generation algorithm to obtain and integer S16, set the revocation list RL=0, and select a binary tree BT greater than or equal to N leaf nodes; S17, the trusted authority has a master key msk(α), and the public parameter is announced as S2, the data owner performs data encapsulation, including: S21, the data owner selects a random integer And calculate key=e(g,g) αs , c 0 =g s ; S22, assuming that there is a maximum number of rows in any LSSS coding strategy, the data owner selects for each i∈[p] random integer and calculate S23, the data owner selects a random integer and set S24, the data owner runs (chk,td)←CHGen(1 λ ), selects a random auxiliary parameter and a random string Calculate V=Hash(chk||CHash(chk,m',r' m )), output S25, the data owner selects a random integer and calculate The final output intermediate header is Stored by the data owner for use in real-time encapsulation; S26, the data owner has obtained data data, encapsulation time T, and corresponding access control policy (M, ρ), where ρ:[1]→μ1≤p, the data owner chooses a random integer output S27, the data owner calculates the sharing vector For i∈[I], the data owner calculates C i,4i -λ′ i , C i,5 =-t i ·(ρ( i )-xi ) for time T, the data The owner calculates C R,2 =s·(T-T'); S28, the encapsulated data is en=SymEnc(key,data), and the data owner runs r m =Coll(td,m',r' m ,m), where m is set to:

m=en||C0,1||C0,2||C0,3||C1,1||C1,2||C1,3||C1,4||C1,5||...||C1,1||C1,2||C1,3||C1,4||C1,5||CR,1||CR,2||(M,ρ)||T包头的形式表示为:S29,所述数据所有者输出待存储的数据(hdr,en),上传并存储;S3,审计员执行封装检测,包括:S31,审计员计算V=CHash(chk,m,rm),其中m=enC0,1C0,2C0,3C1,1C1,2C1,3C1,4C1,5…Cl,1Cl,2Cl,3Cl,4Cl,5CR,1CR,2(M,ρ)T;S32,对于所有的i∈[l]检测是否成立来验证相关的属性,检测是否成立来验证封装时间,要检测是否成立,如果有其中一个等式不成立,那么算法输出v=0,否则输出v=1;S4,可信权威执行访问权限产生,包括:S41,数据使用者属性集合为其中所述可信权威从所述二叉树BT中随机的选择一个未赋值的叶节点η,并且将属性集合S存储在节点η中;S42,对于每一个节点θ∈Path(η),一个元素gθ存储在节点θ当中,那么所述可信权威就从所述节点θ检索所述元素gθ,所述一个元素gθ不存储在节点θ当中,所述可信权威随机的选择一个元素并且将存储在节点θ当中;S43,所述可信权威选择随机的整数计算并且对于S44,所述可信权威对于所有的θ∈Path(θ)集合并且输出所述属性集合S的访问证书如下:S5,可信权威更新访问权限,对于每一个节点θ∈CUNode(BT,RL,T),所述可信权威从节点θ取出在访问证书生成过程中已经预定义了,随机的选择一个整数并且计算所述可信权威最终公布更新的证书为:S6,数据使用者执行数据解封装,包括:S61,假设它的访问证书是:所述可信权威公布的更新证书为:所述数据使用者检查集合I∩J,如果则该属性集合的访问证书被撤销了,程序简单的输出⊥,否则,数据使用者选择θ∈I∩J并且计算S62,数据使用者设置并且计算常数使得其中是共享生成矩阵M的第i行,对于所有的满足访问控制策略的常数都可以被有效的找到,数据最终可以通过运行data=SymDec(key,en)而得到,使用的解封装密钥key如下计算:m=en||C 0,1 ||C 0,2 ||C 0,3 ||C 1,1 ||C 1,2 ||C 1,3 ||C 1,4 ||C 1, 5 ||...||C 1,1 ||C 1,2 ||C 1,3 ||C 1,4 ||C 1,5 ||C R,1 ||C R,2 || The form of (M,ρ)||T header is expressed as: S29, the data owner outputs the data (hdr, en) to be stored, uploads and stores it; S3, the auditor performs encapsulation detection, including: S31, the auditor calculates V=CHash(chk,m,r m ), where m=enC 0,1 C 0,2 C 0,3 C 1,1 C 1,2 C 1,3 C 1,4 C 1,5 ...C l,1 C l,2 C l,3 C l, 4 C l, 5 C R, 1 C R, 2 (M, ρ)T; S32, for all i∈[l] detection is established to verify the relevant properties, detecting is established to verify the encapsulation time, to detect Whether it is established, if one of the equations is not established, then the algorithm output v=0, otherwise the output v=1; S4, trusted authority executes the access authority generation, including: S41, the data user attribute set is in The credible authority randomly selects an unassigned leaf node n from the binary tree BT, and stores the attribute set S in the node n; S42, for each node θ∈Path(η), an element g θ stored in node θ, then the trusted authority retrieves the element g θ from the node θ, and the one element g θ is not stored in node θ, the trusted authority randomly selects an element and will stored in node θ; S43, the trusted authority selects a random integer calculate and for S44, the trusted authority for all θ∈Path(θ) sets And output the access certificate of the attribute set S as follows: S5. The trusted authority updates the access rights. For each node θ∈CUNode(BT, RL, T), the trusted authority takes out It has been predefined during the access certificate generation process, and an integer is randomly selected and calculate The trusted authority finally announced the updated certificate as: S6, the data user performs data decapsulation, including: S61, assuming that its access certificate is: The updated certificate published by the trusted authority is: The data consumer checks the set I∩J if Then the access certificate of the attribute set is revoked, and the program simply outputs ⊥, otherwise, the data user chooses θ∈I∩J and calculates S62, Data user settings and calculate the constant make in is the i-th row of the shared generation matrix M, for all constant All can be effectively found, and the data can finally be obtained by running data=SymDec(key,en). The decapsulation key key used is calculated as follows:

其中j是中属性ρ(i)的编号;S7,可信权威执行访问权限撤销,包括:将η记作所述二叉树BT的叶节点,与所述属性集合联系的,所述可信权威通过RL←RL∪{(η,T)}并且公开,来撤回访问权限。 where j is The numbering of the attribute ρ(i) in the middle; S7, the trusted authority executes the revoking of access rights, including: denoting n as the leaf node of the binary tree BT, together with the attribute set Connected, the trusted authority revokes access rights through RL ← RL ∪ {(η, T)} and public.

本发明实施例的可撤销快速数据外包封装方法,首先提供了虚拟的私人存储并且允许一个用户对外包的电子健康病历执行细粒度的访问控制,就如同它们被保存在本地一样;其次,在封装过程只需要少量线上的模加/乘运算,并且非常快速;以及允许一个公开的审计员来过滤无效的电子健康病历封装并且阻止攻击者采用垃圾信息来阻塞用户的电子健康病历账户;最后采用了一个有效的撤回机制用来撤销用户。该方法实现了有效的访问控制,并最大程度地保护了电子健康病例在存储于不可完全信赖的第三方服务器上的安全性,节约了移动设备的解密开销。The revocable fast data outsourcing encapsulation method of the embodiment of the present invention firstly provides virtual private storage and allows a user to perform fine-grained access control on the outsourced electronic health records, just as they are stored locally; secondly, in the encapsulation The process requires only a small amount of online modular addition/multiplication operations, and is very fast; and allows a public auditor to filter invalid electronic health record packages and prevent attackers from using spam to block users' electronic health record accounts; finally adopt There is an efficient withdrawal mechanism for revoking users. The method realizes effective access control, and protects the security of the electronic health case stored on the untrustworthy third-party server to the greatest extent, and saves the decryption cost of the mobile device.

在一些示例中,所述的具体包括:所述可信权威输入系统安全参数λ,根据λ的大小,系统选择相应的椭圆曲线:Y2=X3+aX+b,其中,a和b是系数,再由所述椭圆曲线上的点构成两个素数p阶的群 In some examples, the Specifically includes: the trusted authority inputs the system security parameter λ, and according to the size of λ, the system selects the corresponding elliptic curve: Y 2 =X 3 +aX+b, where a and b are coefficients, and then the elliptic curve Points on the curve form a group of two prime numbers of order p

在一些示例中,所述抗碰撞哈希函数H(·)从Pairing-Based Cryptosystems函数包中调用库函数运行。In some examples, the collision-resistant hash function H(·) is executed by calling a library function from the Pairing-Based Cryptosystems function package.

在一些示例中,随机数生成算法,根据所述Y2=X3+aX+b,随机选择自变量X的一个值x1,计算对应因变量Y的值y1;若点(x1,y1)在映射群中,则成功生成了随机元素。若点(x1,y1)不在所述映射群中,则继续选择X的值,直到找到出现在群中的点。In some examples, the random number generation algorithm randomly selects a value x 1 of the independent variable X according to the Y 2 =X 3 +aX+b, and calculates the value y 1 of the corresponding dependent variable Y; if the point (x 1 , y 1 ) in the mapping group, the random elements are successfully generated. If the point (x 1 , y 1 ) is not in the mapping group, continue to choose the value of X until a point that appears in the group is found.

为达上述目的,本发明第二方面实施例的可撤销快速数据外包封装装置,包括:可行权威执行系统初始化模块,用于可行权威执行系统初始化,进一步包括:S11,可信权威输入安全参数和属性集合的最大数目运行来获得两个素数p阶群一个双线性映射S12,所述可信权威选择对称加密方案εsym,所述对称加密方案εsym采用加密算法symEnc(key,data)和解密算法symDec(key,data),其中,key为数据解封装密钥,data为用户的HER数据;S13,所述可信权威选择一种抗碰撞哈希函数H(·),所述抗碰撞哈希函数H(·)满足抗碰撞哈希函数的所有特性,输入为任意长度的0、1字符串,输出为映射到群中的某一元素,S14,所述可信权威选择一个有辅助参数域的安全变色龙哈希函数CH:{0,1}*→Zp;S15,所述可信权威运行随机数生成算法,得到和整数S16,设定撤回列表RL=0,并且选择一个大于等于N个叶节点的二叉树BT;S17,所述可信权威有主密钥msk(α),对外公布公共参数为数据所有者执行数据封装模块,用于数据所有者执行数据封装,进一步包括:S21,所述数据所有者选取一个随机的整数并计算key=e(g,g)αs,c0=gs;S22,假设在任何一个LSSS编码的策略中有一个最大的行数,所述数据所有者对于每一个i∈[p]选择随机的整数并且计算S23,所述数据所有者选择一个随机的整数并且设置S24,所述数据所有者运行(chk,td)←CHGen(1λ),选择一个随机的辅助参数和一个随机的字符串计算V=Hash(chk||CHash(chk,m',r'm)),输出S25,所述数据所有者选择一个随机的整数并且计算最后输出中间包头为被所述数据所有者存储以供实时封装时使用;S26,所述数据所有者已获得数据data,封装时间T,和对应的访问控制策略(M,ρ),其中ρ:[1]→μ1≤p,所述数据所有者选择随机整数输出S27,所述数据所有者计算分享向量对于i∈[I],所述数据所有者计算Ci,4=λi-λ′i,Ci,5=-ti·(ρ(i)-xi)对于时间T,所述数据所有者计算CR,2=s·(T-T');S28,封装的数据为en=SymEnc(key,data),所述数据所有者运行rm=Coll(td,m',r'm,m),其中m设为:In order to achieve the above-mentioned purpose, the revocable fast data outsourcing packaging device of the second aspect of the present invention includes: a feasible authority execution system initialization module, which is used for the initialization of the feasible authority execution system, and further includes: S11, trusted authority input security parameters and the maximum number of attribute sets run to obtain two prime groups of order p a bilinear map S12, the trusted authority selects a symmetric encryption scheme εsym , and the symmetric encryption scheme εsym adopts an encryption algorithm symEnc(key, data) and a decryption algorithm symDec(key, data), wherein key is a data decapsulation key, data is the user's HER data; S13, the trusted authority selects an anti-collision hash function H(·), the anti-collision hash function H(·) satisfies all the characteristics of the anti-collision hash function, and the input is A string of 0, 1 of any length, the output is mapped to an element of the group, S14, the trusted authority selects a domain with auxiliary parameters The secure chameleon hash function CH:{0,1} * →Z p ; S15, the trusted authority runs the random number generation algorithm to obtain and integer S16, set the revocation list RL=0, and select a binary tree BT greater than or equal to N leaf nodes; S17, the trusted authority has a master key msk(α), and the public parameter is announced as The data owner executes the data encapsulation module, which is used for the data owner to execute the data encapsulation, further comprising: S21, the data owner selects a random integer And calculate key=e(g,g) αs , c 0 =g s ; S22, assuming that there is a maximum number of rows in any LSSS coding strategy, the data owner selects for each i∈[p] random integer and calculate S23, the data owner selects a random integer and set S24, the data owner runs (chk,td)←CHGen(1 λ ), selects a random auxiliary parameter and a random string Calculate V=Hash(chk||CHash(chk,m',r' m )), output S25, the data owner selects a random integer and calculate The final output intermediate header is Stored by the data owner for use in real-time encapsulation; S26, the data owner has obtained data data, encapsulation time T, and corresponding access control policy (M, ρ), where ρ:[1]→μ1≤p, the data owner chooses a random integer output S27, the data owner calculates the sharing vector For i∈[I], the data owner calculates C i,4i -λ′ i , C i,5 =-t i ·(ρ( i )-xi ) for time T, the data The owner calculates C R,2 =s·(T-T'); S28, the encapsulated data is en=SymEnc(key,data), and the data owner runs r m =Coll(td,m',r' m ,m), where m is set to:

m=en||C0,1||C0,2||C0,3||C1,1||C1,2||C1,3||C1,4||C1,5||...||C1,1||C1,2||C1,3||C1,4||C1,5||CR,1||CR,2||(M,ρ)||T包头的形式表示为:S29,所述数据所有者输出待存储的数据(hdr,en),上传并存储;审计员执行封装检测模块,用于审计员执行封装检测,进一步包括:S31,所述审计员计算V=CHash(chk,m,rm),其中m=enC0,1C0,2C0,3C1,1C1,2C1,3C1,4C1,5…Cl,1Cl,2Cl,3Cl,4Cl,5CR,1CR,2(M,ρ)T;S32,对于所有的i∈[l]检测是否成立来验证相关的属性,检测是否成立来验证封装时间,要检测是否成立,如果有其中一个等式不成立,那么算法输出v=0,否则输出v=1;可信权威执行访问权限产生模块,用户所述可信权威执行访问权限产生,进一步包括:S41,数据使用者属性集合为其中所述可信权威从所述二叉树BT中随机的选择一个未赋值的叶节点η,并且将属性集合S存储在节点η中;S42,对于每一个节点θ∈Path(η),一个元素gθ存储在节点θ当中,那么所述可信权威就从所述节点θ检索所述元素gθ,所述一个元素gθ不存储在节点θ当中,所述可信权威随机的选择一个元素并且将存储在节点θ当中;S43,所述可信权威选择随机的整数计算并且对于 S44,所述可信权威对于所有的θ∈Path(θ)集合并且输出所述属性集合S的访问证书如下:可信权威执行访问权限更新模块,用于对于每一个节点θ∈CUNode(BT,RL,T),所述可信权威从节点θ取出在访问证书生成过程中已经预定义了,随机的选择一个整数并且计算所述可信权威最终公布更新的证书为:数据使用者执行数据解封装模块,用于数据使用者执行数据解封装模块,进一步包括:S61,假设它的访问证书是:所述可信权威公布的更新证书为:所述数据使用者检查集合I∩J,如果则该属性集合的访问证书被撤销了,程序简单的输出⊥,否则,数据使用者选择θ∈I∩J并且计算S62,所述数据使用者设置并且计算常数使得其中是共享生成矩阵M的第i行,对于所有的满足访问控制策略的常数都可以被有效的找到,数据最终可以通过运行data=SymDec(key,en)而得到,使用的解封装密钥key如下计算:其中j是中属性ρ(i)的编号;可信权威执行访问权限撤销模块,用于所述可信权威执行访问权限撤销,进一步包括:将η记作所述二叉树BT的叶节点,与所述属性集合联系的,所述可信权威通过RL←RL∪{(η,T)}并且公开,来撤回访问权限。m=en||C 0,1 ||C 0,2 ||C 0,3 ||C 1,1 ||C 1,2 ||C 1,3 ||C 1,4 ||C 1, 5 ||...||C 1,1 ||C 1,2 ||C 1,3 ||C 1,4 ||C 1,5 ||C R,1 ||C R,2 || The form of (M,ρ)||T header is expressed as: S29, the data owner outputs the data (hdr, en) to be stored, uploads and stores it; the auditor executes the encapsulation detection module, which is used for the auditor to perform encapsulation detection, further comprising: S31, the auditor calculates V=CHash (chk,m,r m ), where m=enC 0,1 C 0,2 C 0,3 C 1,1 C 1,2 C 1,3 C 1,4 C 1,5 ...C l,1 C l, 2 C l, 3 C l, 4 C l, 5 C R, 1 C R, 2 (M, ρ)T; S32, for all i∈[l] detection is established to verify the relevant properties, detecting is established to verify the encapsulation time, to detect Whether it is established, if one of the equations is not established, then the algorithm outputs v=0, otherwise it outputs v=1; the trusted authority executes the access authority generation module, and the trusted authority described by the user executes the access authority generation, further including: S41, data The collection of user properties is in The credible authority randomly selects an unassigned leaf node n from the binary tree BT, and stores the attribute set S in the node n; S42, for each node θ∈Path(η), an element g θ stored in node θ, then the trusted authority retrieves the element g θ from the node θ, and the one element g θ is not stored in node θ, the trusted authority randomly selects an element and will stored in node θ; S43, the trusted authority selects a random integer calculate and for S44, the trusted authority for all θ∈Path(θ) sets And output the access certificate of the attribute set S as follows: The trusted authority executes the access authority update module, for each node θ∈CUNode(BT, RL, T), the trusted authority takes out It has been predefined during the access certificate generation process, and an integer is randomly selected and calculate The trusted authority finally announced the updated certificate as: The data user executes the data decapsulation module, which is used for the data user to execute the data decapsulation module, further comprising: S61, assuming that its access certificate is: The updated certificate published by the trusted authority is: The data consumer checks the set I∩J if Then the access certificate of the attribute set is revoked, and the program simply outputs ⊥, otherwise, the data user chooses θ∈I∩J and calculates S62, the data user setting and calculate the constant make in is the i-th row of the shared generation matrix M, for all constant All can be effectively found, and the data can finally be obtained by running data=SymDec(key,en). The decapsulation key key used is calculated as follows: where j is The numbering of the attribute ρ (i) in the middle; the trusted authority executes the access right revocation module, which is used for the trusted authority to execute the access right revocation, further comprising: denoting n as the leaf node of the binary tree BT, and the set of attributes Connected, the trusted authority revokes access rights through RL ← RL ∪ {(η, T)} and public.

本发明实施例的可撤销快速数据外包封装装置,首先提供了虚拟的私人存储并且允许一个用户对外包的电子健康病历执行细粒度的访问控制,就如同它们被保存在本地一样;其次,在封装过程只需要少量线上的模加/乘运算,并且非常快速;以及允许一个公开的审计员来过滤无效的电子健康病历封装并且阻止攻击者采用垃圾信息来阻塞用户的电子健康病历账户;最后采用了一个有效的撤回机制用来撤销用户。该装置实现了有效的访问控制,并最大程度地保护了电子健康病例在存储于不可完全信赖的第三方服务器上的安全性,节约了移动设备的解密开销。The revocable fast data outsourcing encapsulation device of the embodiment of the present invention firstly provides virtual private storage and allows a user to perform fine-grained access control on the outsourced electronic health records, just as they are stored locally; secondly, in the encapsulation The process requires only a small amount of online modular addition/multiplication operations, and is very fast; and allows a public auditor to filter invalid electronic health record packages and prevent attackers from using spam to block users' electronic health record accounts; finally adopt There is an efficient withdrawal mechanism for revoking users. The device realizes effective access control, and maximizes the protection of the security of the electronic health records stored on the untrustworthy third-party server, and saves the decryption cost of the mobile device.

在一些示例中,所述的具体包括:所述可信权威输入系统安全参数λ,根据λ的大小,系统选择相应的椭圆曲线:Y2=X3+aX+b,其中,a和b是系数,再由所述椭圆曲线上的点构成两个素数p阶的群 In some examples, the Specifically includes: the trusted authority inputs the system security parameter λ, and according to the size of λ, the system selects the corresponding elliptic curve: Y 2 =X 3 +aX+b, where a and b are coefficients, and then the elliptic curve Points on the curve form a group of two prime numbers of order p

在一些示例中,所述抗碰撞哈希函数H(·)从Pairing-Based Cryptosystems函数包中调用库函数运行。In some examples, the collision-resistant hash function H(·) is executed by calling a library function from the Pairing-Based Cryptosystems function package.

在一些示例中,随机数生成算法,根据所述Y2=X3+aX+b,随机选择自变量X的一个值x1,计算对应因变量Y的值y1;若点(x1,y1)在映射群中,则成功生成了随机元素。若点(x1,y1)不在所述映射群中,则继续选择X的值,直到找到出现在群中的点。In some examples, the random number generation algorithm randomly selects a value x 1 of the independent variable X according to the Y 2 =X 3 +aX+b, and calculates the value y 1 of the corresponding dependent variable Y; if the point (x 1 , y 1 ) in the mapping group, the random elements are successfully generated. If the point (x 1 , y 1 ) is not in the mapping group, continue to choose the value of X until a point that appears in the group is found.

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。Additional aspects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention.

附图说明Description of drawings

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:The above and/or additional aspects and advantages of the present invention will become apparent and comprehensible from the description of the embodiments in conjunction with the following drawings, wherein:

图1是根据本发明一个实施例的可撤销快速数据外包封装方法的流程图;Fig. 1 is a flow chart of a revocable fast data outsourcing encapsulation method according to an embodiment of the present invention;

图2是根据本发明另一个实施例的系统结构的示意图;2 is a schematic diagram of a system structure according to another embodiment of the present invention;

图3是根据本发明另一个实施例的文件存储格式的示意图;Fig. 3 is a schematic diagram of a file storage format according to another embodiment of the present invention;

图4是根据本发明一个实施例的可撤销快速数据外包封装装置的示意图。Fig. 4 is a schematic diagram of a revocable fast data outsourcing encapsulation device according to an embodiment of the present invention.

具体实施方式detailed description

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。Embodiments of the present invention are described in detail below, examples of which are shown in the drawings, wherein the same or similar reference numerals designate the same or similar elements or elements having the same or similar functions throughout. The embodiments described below by referring to the figures are exemplary and are intended to explain the present invention and should not be construed as limiting the present invention.

外包电子健康档案的公共云存储相对于传统的地方存储具有显著优越性,是一种有前景的存储范例。安全的数据封装机制被提出用以对外包的EHR数据执行访问控制。但是现有封装方法需要高代价的的、与所采用的访问控制策略表示出的尺寸大小呈线性相关的非对称密码学方法。另外,现有的方案无法检测和过滤非法的封装,所以无法阻止攻击者用欺骗性的数据来使用户的账户瘫痪。此外,现有的方案中没有采用有效的撤回机制来阻止已被撤销的用户继续解封EHR数据。本发明的有点和功效是:Public cloud storage of outsourced electronic health records has significant advantages over traditional local storage and is a promising storage paradigm. A secure data encapsulation mechanism is proposed to enforce access control on outsourced EHR data. However, the existing encapsulation methods require high-cost asymmetric cryptographic methods that are linearly related to the size expressed by the adopted access control strategy. In addition, the existing solutions cannot detect and filter illegal encapsulation, so they cannot prevent attackers from paralyzing users' accounts with fraudulent data. In addition, the existing scheme does not adopt an effective withdrawal mechanism to prevent the revoked user from continuing to unblock the EHR data. The advantages and effects of the present invention are:

首先,一个用户只需要非常轻量级的实时运算来安全的封装他的EHR数据。我们采用了一种新的预封装的方案来达到这个目标。预处理步骤不需要了解被封装的数据或者相应的访问策略。当数据和对应的访问策略都可用时,数据所有者只需要少量的模加/乘运算来完成封装。通过在空闲间隔或者充电时间进行的预封装,我们的方案允许实时数据的外包并且对即便是计算受限的用户也能提供极佳的用户体验。First, a user only needs very lightweight real-time computations to securely encapsulate his EHR data. We use a new pre-packaged solution to achieve this goal. The preprocessing steps require no knowledge of the encapsulated data or the corresponding access policies. When both the data and the corresponding access policy are available, the data owner only needs a small number of modulo add/multiply operations to complete the encapsulation. By prepackaging during idle intervals or charging times, our scheme allows outsourcing of real-time data and provides an excellent user experience even for compute-constrained users.

第二,我们的RFODE采用了语义安全的访问控制来对抗适应性的主动共谋攻击。即便在一个攻击者与云服务器提供者和除了目标用户的其他所有用户共谋,适应性的知道除目标数据之外的封装数据这样非常不友好的环境中,攻击者也不能够得到任何有关目标数据的有效信息。这样强的安全结果说明了RFODE可以在不安全的公共中为用户提供虚拟的私有存储空间就如同外包的数据安全的存放在他们自己的本地数据库一样。Second, our RFODE employs semantically secure access control to counter adaptive active collusion attacks. Even in a very hostile environment where the attacker colludes with the cloud server provider and all other users except the target user, and adaptively knows the encapsulated data other than the target data, the attacker cannot get any information about the target. valid information for the data. Such strong security results show that RFODE can provide users with virtual private storage space in the insecure public as outsourced data are safely stored in their own local databases.

第三,我们的RFODE算法提供了一个公共的筛选机制。EHR数据用户本人,或者用户雇佣的忠实审计员,可以运行一个公共的程序来检查和筛选无效的封装。一个攻击者发送的随机垃圾数据可以被轻易地检测到并且在系统中隔离出来。而且封装校验的花费会比产生一个结构良好的封装少很多。因此攻击者用结构良好的无意义数据的封装阻塞用户的云账户代价是非常高的,这样会大大减少此类威胁。Third, our RFODE algorithm provides a common screening mechanism. EHR data users themselves, or loyal auditors hired by users, can run a common program to check and screen for invalid encapsulation. Random spam sent by an attacker can be easily detected and isolated from the system. And the cost of package verification will be much less than producing a well-formed package. Therefore, it is very expensive for an attacker to block the user's cloud account with well-structured meaningless data encapsulation, which will greatly reduce such threats.

最后,我们的方案采用了一个有效的撤回机制。EHR数据用户一旦访问权限被撤销,就不能够访问EHR。我们的撤销机制在计算和交流方面都非常有效,比如在不频繁访问权限更新的情况下支持实时访问权限撤销。Finally, our scheme employs an efficient withdrawal mechanism. Once an EHR data user has their access revoked, they will not be able to access the EHR. Our revocation mechanism is computationally and communicatively efficient, such as enabling real-time access revocation with infrequent access updates.

首先,需要介绍一些算法中一些字符所代表的含义:如表1所示:First of all, it is necessary to introduce the meanings of some characters in some algorithms: as shown in Table 1:

表1,字符含义表Table 1, character meaning table

其中,对于a<b,我们定义[a,b]={a,a+1,…,b}。在没有歧义的情况下,我们将[1,a]简写为[a],简写为[n1,n2,…,nk]。集合的势记作我们说如果s1,s2,…,sn是从中随机选择的。Among them, for a<b, we define [a,b]={a,a+1,...,b}. In the absence of ambiguity, we abbreviate [1,a] as [a], It is abbreviated as [n 1 ,n 2 ,…,n k ]. gather Shi Ji Zuo we say If s 1 ,s 2 ,…,s n is from randomly selected from.

我们定义为由当中的元素组成的m×n的矩阵。矩阵的两个特殊子集为行向量和列向量对于两个向量的第i条为vi,两个向量的内积表示为 we define for the reason The elements in it form an m×n matrix. Two special subsets of matrices are row vectors and a column vector for two vectors and The i-th item of is v i , and the inner product of two vectors is expressed as

图1是根据本发明一个实施例的可撤销快速数据外包封装方法的流程图。Fig. 1 is a flowchart of a revocable fast data outsourcing encapsulation method according to an embodiment of the present invention.

首先,结合图2,需要介绍下:1)数据持有者(Data Owner):用所需的访问策略来封装数据,并且将其存储在云端服务器上来与满足访问权限的EHR数据使用者来共享数据;2)数据使用者(Data Consumer):向可信权威请求与自己属性相关的访问权限,得到可信权威发布的撤销信息,并可以恢复云端存储服务器与访问策略匹配的封装信息;3)云端存储服务器(Cloud Storage Serve):保存封装好的EHR数据并且对EHR数据使用者的访问请求进行应答;4)可信任权威机构(Trusted Authority):受各实体信任,负责系统的初始化并通过发布、管理数据访问权限来区分EHR数据使用者;5)审计员(Auditor):在数据存储到云端存储服务器之前检查数据是否依据特定的访问策略正确的封装。因为在FRODE中,数据审核时公开进行的,例如只需要请求公共参数和封装的数据,任何人都可以作为审计员来检查封装数据的正确性。一方面计算能力强的数据使用者可以做他们自己账户的审计员,另一方面移动端(计算能力受限)的用户也可以雇佣一个可信第三方(比如云计算服务器)作为审计员。First of all, in combination with Figure 2, we need to introduce: 1) Data Owner: Encapsulate data with the required access strategy, and store it on the cloud server to share with EHR data users who meet the access rights Data; 2) Data Consumer (Data Consumer): Request access rights related to its own attributes from the trusted authority, get the revocation information issued by the trusted authority, and restore the encapsulation information that the cloud storage server matches with the access policy; 3) Cloud Storage Server (Cloud Storage Serve): save the encapsulated EHR data and respond to the access request of EHR data users; 4) Trusted Authority (Trusted Authority): trusted by each entity, responsible for the initialization of the system and through the release , Manage data access rights to distinguish EHR data users; 5) Auditor (Auditor): Check whether the data is correctly packaged according to a specific access policy before storing the data in the cloud storage server. Because in FRODE, data auditing is performed publicly, for example, only public parameters and encapsulated data need to be requested, and anyone can act as an auditor to check the correctness of the encapsulated data. On the one hand, data users with strong computing power can act as auditors of their own accounts, and on the other hand, mobile users (with limited computing power) can also hire a trusted third party (such as a cloud computing server) as an auditor.

如图1所示,该可撤销快速数据外包封装方法可以包括:As shown in Figure 1, the revocable fast data outsourcing encapsulation method may include:

S1,可行权威执行系统初始化。S1, system initialization is performed authoritatively.

具体而言,在一些示例中,可行权威执行系统初始化包括:Specifically, in some examples, feasible authoritative execution system initialization includes:

S11,可信权威输入安全参数和属性集合的最大数目运行来获得两个素数p阶群一个双线性映射 S11, trusted authority input security parameters and the maximum number of attribute sets run to obtain two prime groups of order p a bilinear map

其中,的具体包括:可信权威输入系统安全参数λ,根据λ的大小,系统选择相应的椭圆曲线:Y2=X3+aX+b,其中,a和b是系数,再由所述椭圆曲线上的点构成两个素数p阶的群 in, Specifically includes: a trusted authority inputs the system security parameter λ, and according to the size of λ, the system selects the corresponding elliptic curve: Y 2 =X 3 +aX+b, where a and b are coefficients, and then from the elliptic curve The points of form a group of two prime numbers of order p

更具体而言,双线性对,定义一种函数映射e(.,.),将群中的元素映射到群中去,即其中群是两个阶数为素数p的乘法循环群。双线性对满足的特性有:①双线性特性:对于有e(ga,hb)=e(g,h)ab成立;②非退化性:群中至少存在一个元素g,使得计算后的e(g,g)为群的某个生成元;③可计算性:存在有效的算法,使得所有的可以有效计算出e(u,v)的值;其中,Zp表示集合{0,1,2,...,p-1}。More specifically, for bilinear pairings, define a function map e(.,.) that divides the group The elements in are mapped to groups go in, that is Which group and is the multiplicative cyclic group of two orders of prime p. The characteristics that the bilinear pair satisfies are: ① bilinear characteristics: for If e(g a ,h b )=e(g,h) ab is established; ②Non-degenerate: There is at least one element g in the group, so that the calculated e(g,g) is A certain generator of the group; ③ Computability: There is an effective algorithm that makes all The value of e(u,v) can be efficiently calculated; where Z p represents the set {0,1,2,...,p-1}.

需要说明的是,在属性基加密方案中,为了实现对数据使用者细粒度的访问控制,需要在加密数据之前制定访问控制策略,通过访问控制结构表达。{P1,P2,……,Pn}是一个实体的集合,如果对于B∈A并且那么C∈A,一个集合就是线性的。一个访问控制结构(单调访问控制结构)是一个集合(单调集合)A,A是{P1,P2,……,Pn}的非空子集,也就是A中的集合叫做授权的集合,不在A中的集合叫做非授权集合。It should be noted that in the attribute-based encryption scheme, in order to achieve fine-grained access control for data users, it is necessary to formulate access control policies before encrypting data and express them through access control structures. {P 1 ,P 2 ,……,P n } is a collection of entities, if for B ∈ A and Then C ∈ A, a set It is linear. An access control structure (monotonic access control structure) is a set (monotonic set) A, A is a non-empty subset of {P 1 ,P 2 ,...,P n }, that is The collections in A are called authorized collections, and the collections not in A are called non-authorized collections.

S12,可信权威选择对称加密方案εsym,对称加密方案εsym采用加密算法symEnc(key,data)和解密算法symDec(key,data),其中,key为数据解封装密钥,data为用户的HER数据。S12. The trusted authority selects the symmetric encryption scheme εsym , and the symmetric encryption scheme εsym uses the encryption algorithm symEnc(key, data) and the decryption algorithm symDec(key, data), where key is the data decapsulation key, and data is the user's HER data.

S13,可信权威选择一种抗碰撞哈希函数H(·),抗碰撞哈希函数H(·)满足抗碰撞哈希函数的所有特性,输入为任意长度的0、1字符串,输出为映射到群中的某一元素, S13, the trusted authority selects a collision-resistant hash function H( ), which satisfies all the characteristics of the collision-resistant hash function, the input is a string of 0 and 1 of any length, and the output is map to an element of the group,

其中,抗碰撞哈希函数H(·)从Pairing-Based Cryptosystems函数包中调用库函数运行。Among them, the anti-collision hash function H( ) calls the library function from the Pairing-Based Cryptosystems function package to run.

需要说明的是,本发明中使用的哈希函数具备两个基本特性:单向性和抗碰撞性;单向性是指只能从哈希函数的输入推导出输出,而不能从哈希函数的输出计算出输入;抗碰撞性是指不能找到两个不同的哈希函数输入使其哈希后的结果相同。本发明中的哈希算法输入是任意二进制字符串。It should be noted that the hash function used in the present invention has two basic characteristics: one-way and anti-collision; one-way means that the output can only be deduced from the input of the hash function, but not from the hash function The output of the input is calculated; anti-collision means that two different hash function inputs cannot be found so that the result after hashing is the same. The hash algorithm input in the present invention is any binary string.

S14,可信权威选择一个有辅助参数域的安全变色龙哈希函数CH:{0,1}*→ZpS14, the trusted authority selects a field with auxiliary parameters The secure chameleon hash function CH:{0,1} * → Z p .

S15,可信权威运行随机数生成算法,得到和整数 S15, the trusted authority runs the random number generation algorithm to obtain and integer

其中,随机数生成算法,根据Y2=X3+aX+b,随机选择自变量X的一个值x1,计算对应因变量Y的值y1;若点(x1,y1)在映射群中,则成功生成了随机元素。若点(x1,y1)不在映射群中,则继续选择X的值,直到找到出现在群中的点。Among them, the random number generation algorithm randomly selects a value x 1 of the independent variable X according to Y 2 =X 3 +aX+b, and calculates the value y 1 of the corresponding dependent variable Y; if the point (x 1 ,y 1 ) is in the mapping In the group, random elements are successfully generated. If the point (x 1 , y 1 ) is not in the mapping group, continue to choose the value of X until a point that appears in the group is found.

其中,表示集合{1,2,…,p-1},随机选择中元素的随机数生成函数可以从Pairing-Based Cryptosystems函数包中调用库函数运行。in, Represents the set {1,2,...,p-1}, chosen randomly The random number generation function of the elements in can be run by calling library functions from the Pairing-Based Cryptosystems function package.

S16,设定撤回列表RL=0,并且选择一个大于等于N个叶节点的二叉树BT。S16. Set the revocation list RL=0, and select a binary tree BT with more than or equal to N leaf nodes.

S17,可信权威有主密钥msk(α),对外公布公共参数为 S17, the trusted authority has the master key msk(α), and the public parameter is publicized as

S2,数据所有者执行数据封装。具体而言,包括:S2, the data owner performs data encapsulation. Specifically, including:

S21,数据所有者选取一个随机的整数并计算key=e(g,g)αs,c0=gsS21, the data owner selects a random integer And calculate key=e(g,g) αs , c 0 =g s .

S22,假设在任何一个LSSS编码的策略中有一个最大的行数,数据所有者对于每一个i∈[p]选择随机的整数并且计算 S22, assuming there is a maximum number of rows in any LSSS-encoded strategy, the data owner chooses random integers for each i∈[p] and calculate

需要说明的是,线性秘密分享方案(Linear Secret-Sharing Schemes,简称LSSS)P是一个素数 是属性域。一个秘密域Zp的秘密分享方案∏如果满足以下条件,就实现了上的线性访问控制结构:秘密s∈Zp的分享对于每一个属性都形成一个Zp上的矢量。对于上的每一个访问控制结构A,存在一个矩阵叫做分享生成矩阵;还有一个函数ρ,用中的属性来标记M的行(也就是),满足以下条件:在分享生成的过程中,考虑列向量其中r2,…rn是Zp中随机选择的元素。那么根据∏,秘密s的分享l矢量等价于分享为其中j∈[l]属于属性ρ(j)。将(M,ρ)作为访问控制结构A的策略。It should be noted that the Linear Secret-Sharing Schemes (LSSS for short) P is a prime number , is the attribute domain. A secret sharing scheme ∏ for a secret domain Zp is realized if the following conditions are satisfied Linear access control structure on : The sharing of secret s ∈ Z p forms a vector on Z p for each attribute. for For each access control structure A on , there exists a matrix is called the shared generator matrix; there is also a function ρ, with attributes in to mark the rows of M (that is, ), satisfy the following conditions: In the process of sharing generation, consider the column vector where r 2 ,...r n are randomly selected elements in Z p . Then according to ∏, the shared l-vector of secret s is equivalent to share as where j ∈ [l] belongs to the attribute ρ(j). Let (M, ρ) be the policy of access control structure A.

S23,数据所有者选择一个随机的整数并且设置 S23, the data owner chooses a random integer and set

S24,数据所有者运行(chk,td)←CHGen(1λ),选择一个随机的辅助参数和一个随机的字符串计算V=Hash(chk||CHash(chk,m',r'm)),输出 S24, the data owner runs (chk,td)←CHGen(1 λ ), selects a random auxiliary parameter and a random string Calculate V=Hash(chk||CHash(chk,m',r' m )), output

S25,数据所有者选择一个随机的整数并且计算最后输出中间包头为被数据所有者存储以供实时封装时使用。S25, the data owner chooses a random integer and calculate The final output intermediate header is Stored by the data owner for use in real-time encapsulation.

S26,数据所有者已获得数据data,封装时间T,和对应的访问控制策略(M,ρ),其中ρ:[1]→μ1≤p,数据所有者选择随机整数输出 S26, the data owner has obtained the data data, the encapsulation time T, and the corresponding access control policy (M, ρ), where ρ:[1]→μ1≤p, the data owner chooses a random integer output

S27,数据所有者计算分享向量对于i∈[I],数据所有者计算Ci,4=λi-λ′i,Ci,5=-ti·(ρ(i)-xi)对于时间T,数据所有者计算CR,2=s·(T-T')。S27, the data owner calculates the sharing vector For i∈[I], the data owner calculates C i,4i -λ′ i , C i,5 =-t i ·(ρ( i )-xi ) For time T, the data owner calculates C R,2 = s·(T-T').

S28,封装的数据为en=SymEnc(key,data),数据所有者运行rm=Coll(td,m',r'm,m),其中m设为:S28, the encapsulated data is en=SymEnc(key, data), and the data owner runs r m =Coll(td, m', r' m , m), where m is set to:

m=en||C0,1||C0,2||C0,3||C1,1||C1,2||C1,3||C1,4||C1,5||...||C1,1||C1,2||C1,3||C1,4||C1,5||CR,1||CR,2||(M,ρ)||T,包头的形式表示为: m=en||C 0,1 ||C 0,2 ||C 0,3 ||C 1,1 ||C 1,2 ||C 1,3 ||C 1,4 ||C 1, 5 ||...||C 1,1 ||C 1,2 ||C 1,3 ||C 1,4 ||C 1,5 ||C R,1 ||C R,2 || (M,ρ)||T, the form of the header is expressed as:

S29,数据所有者输出待存储的数据(hdr,en),上传并存储。S29, the data owner outputs the data (hdr, en) to be stored, uploads and stores it.

其中,存储如图3所示。Among them, the storage is shown in Figure 3.

S3,审计员执行封装检测。具体而言,包括:S3, the auditor performs package inspection. Specifically, including:

S31,审计员计算V=CHash(chk,m,rm),其中S31, the auditor calculates V=CHash(chk,m,r m ), where

m=enC0,1C0,2C0,3C1,1C1,2C1,3C1,4C1,5…Cl,1Cl,2Cl,3Cl,4Cl,5CR,1CR,2(M,ρ)T。m=enC 0,1 C 0,2 C 0,3 C 1,1 C 1,2 C 1,3 C 1,4 C 1,5 ...C l,1 C l,2 C l,3 C l, 4 Cl, 5 C R, 1 C R, 2 (M, ρ) T.

S32,对于所有的i∈[l]检测是否成立来验证相关的属性,检测是否成立来验证封装时间,要检测是否成立,如果有其中一个等式不成立,那么算法输出v=0,否则输出v=1。S32, for all i∈[l] detection is established to verify the relevant properties, detecting is established to verify the encapsulation time, to detect Whether it is true, if one of the equations is not true, then the algorithm outputs v=0, otherwise it outputs v=1.

S4,可信权威执行访问权限产生。具体而言,包括:S4, the trusted authority executes the generation of access rights. Specifically, including:

S41,数据使用者属性集合为其中可信权威从二叉树BT中随机的选择一个未赋值的叶节点η,并且将属性集合S存储在节点η中。S41, the data user attribute set is in The trusted authority randomly selects an unassigned leaf node η from the binary tree BT, and stores the attribute set S in the node η.

S42,对于每一个节点θ∈Path(η),一个元素gθ存储在节点θ当中,那么可信权威就从节点θ检索所述元素gθ,一个元素gθ不存储在节点θ当中,可信权威随机的选择一个元素并且将存储在节点θ当中。S42, for each node θ∈Path(η), an element g θ is stored in the node θ, then the credible authority retrieves the element g θ from the node θ, and an element g θ is not stored in the node θ, it can be Trust authority to randomly select an element and will stored in node θ.

S43,可信权威选择随机的整数计算并且对于 S43, the trusted authority selects a random integer calculate and for

S44,可信权威对于所有的θ∈Path(θ)集合并且输出属性集合S的访问证书如下: S44, trusted authority for all θ∈Path(θ) sets And the access certificate of the output attribute set S is as follows:

S5,可信权威更新访问权限,对于每一个节点θ∈CUNode(BT,RL,T),可信权威从节点θ取出在访问证书生成过程中已经预定义了,随机的选择一个整数并且计算可信权威最终公布更新的证书为: cu T = { ( &theta; , K ~ &theta; , 0 , K ~ &theta; , 1 ) } &theta; &Element; C U N o d e ( B T , R L , T ) . S5. The trusted authority updates the access rights. For each node θ∈CUNode(BT, RL, T), the trusted authority takes out It has been predefined during the access certificate generation process, and an integer is randomly selected and calculate The trusted authority finally announced the updated certificate as: cu T = { ( &theta; , K ~ &theta; , 0 , K ~ &theta; , 1 ) } &theta; &Element; C u N o d e ( B T , R L , T ) .

S6,数据使用者执行数据解封装。具体而言,包括:S6, the data user performs data decapsulation. Specifically, including:

S61,假设它的访问证书是:可信权威公布的更新证书为:数据使用者检查集合I∩J,如果则该属性集合的访问证书被撤销了,程序简单的输出⊥,否则,数据使用者选择θ∈I∩J并且计算 S61, assuming its access credentials are: The updated certificate published by the trusted authority is: The data consumer checks the set I∩J if Then the access certificate of the attribute set is revoked, and the program simply outputs ⊥, otherwise, the data user chooses θ∈I∩J and calculates

S62,数据使用者设置并且计算常数使得其中是共享生成矩阵M的第i行,对于所有的满足访问控制策略的常数都可以被有效的找到,数据最终可以通过运行data=SymDec(key,en)而得到,使用的解封装密钥key如下计算:S62, Data user settings and calculate the constant make in is the i-th row of the shared generation matrix M, for all constant All can be effectively found, and the data can finally be obtained by running data=SymDec(key,en). The decapsulation key key used is calculated as follows:

其中j是中属性ρ(i)的编号。 where j is The index of the attribute ρ(i) in .

S7,可信权威执行访问权限撤销。具体而言,包括:S7, the trusted authority executes the revocation of the access right. Specifically, including:

将η记作所述二叉树BT的叶节点,与属性集合联系的,可信权威通过RL←RL∪{(η,T)}并且公开,来撤回访问权限。Denote n as the leaf node of the binary tree BT, and attribute set Connected, trusted authorities revoke access through RL ← RL ∪ {(η, T)} and public.

其中,将二叉树记作BT,它的根节点记作root。对于一个二叉树BT中的一个叶节点η,将Path(η)记作从叶节点η到根节点root路径上的点的集合(包括η和root)。对于一个BT上的非叶节点,它的左和右节点分别记作ηl和ηrAmong them, the binary tree is denoted as BT, and its root node is denoted as root. For a leaf node n in a binary tree BT, Path(n) is recorded as the set of points on the path from the leaf node n to the root node root (including n and root). For a non-leaf node on a BT, its left and right nodes are denoted as η l and η r respectively.

撤销机制中包含四个组成部分:二叉树BT,撤销列表RL,时间T,和算法CUNode。每一个属性集合都与二叉树BT上的一个叶节点相联系。这些工作当可信权威生成与属性集合对应的访问证书的时候就可以完成。撤销列表是RL,初始时是空的,用来存储所有与撤销的访问证书相联系的节点以及他们的撤销时间(ηi,Ti)。当一个访问证书要在T时刻被撤销时,系统将其添加到撤销列表RL,运行算法CUNode并且更新证书。算法CUNode取二叉树BT,撤销列表RL和时间T为输入,输出为公布更新证书所需要的最小的节点的集合,这样只有对应属性集合不在撤销列表RL的访问证书才能继续街封装数据。算法CUNode运行如算法1所示。The revocation mechanism consists of four components: binary tree BT, revocation list RL, time T, and algorithm CUNode. Each attribute set is associated with a leaf node on the binary tree BT. This is done when the trusted authority generates access credentials corresponding to the set of attributes. The revocation list is RL, which is initially empty and is used to store all nodes associated with revoked access credentials and their revocation time (η i , T i ). When an access certificate is to be revoked at time T, the system will add it to the revocation list RL, run the algorithm CUNode and update the certificate. The algorithm CUNode takes the binary tree BT, revocation list RL and time T as input, and the output is the minimum set of nodes required to publish the renewal certificate, so that only the access certificate whose corresponding attribute set is not in the revocation list RL can continue to encapsulate data. Algorithm CUNode runs as shown in Algorithm 1.

算法1 CUNode(BT,RL,T):Algorithm 1 CUNode(BT,RL,T):

1: 1:

2:for(ηi,Ti)∈RL do2: for(η i ,T i )∈RL do

3:ifTi≤T then3: if T i ≤ T then

4: add Path(η)to X4: add Path(η)to X

5: end if5: end if

6:end for6: end for

7:forx∈X do7: forx∈X do

8: ifthen8: if then

9: add xl to Y9: add x l to Y

10: end if10: end if

11: if then11: if then

12: add xr to Y12: add x r to Y

13: end if13: end if

14:end for14: end for

15:ifthen15:if then

16: add root to Y16: add root to Y

17:end if17: end if

18:return Y18: return Y

本发明实施例的可撤销快速数据外包封装方法,首先提供了虚拟的私人存储并且允许一个用户对外包的电子健康病历执行细粒度的访问控制,就如同它们被保存在本地一样;其次,在封装过程只需要少量线上的模加/乘运算,并且非常快速;以及允许一个公开的审计员来过滤无效的电子健康病历封装并且阻止攻击者采用垃圾信息来阻塞用户的电子健康病历账户;最后采用了一个有效的撤回机制用来撤销用户。该方法实现了有效的访问控制,并最大程度地保护了电子健康病例在存储于不可完全信赖的第三方服务器上的安全性,节约了移动设备的解密开销。The revocable fast data outsourcing encapsulation method of the embodiment of the present invention firstly provides virtual private storage and allows a user to perform fine-grained access control on the outsourced electronic health records, just as they are stored locally; secondly, in the encapsulation The process requires only a small amount of online modular addition/multiplication operations, and is very fast; and allows a public auditor to filter invalid electronic health record packages and prevent attackers from using spam to block users' electronic health record accounts; finally adopt There is an efficient withdrawal mechanism for revoking users. The method realizes effective access control, and protects the security of the electronic health case stored on the untrustworthy third-party server to the greatest extent, and saves the decryption cost of the mobile device.

与上述实施例提供的可撤销快速数据外包封装方法相对应,本发明的一种实施例还提供一种可撤销快速数据外包封装装置,由于本发明实施例提供的可撤销快速数据外包封装装置与上述实施例提供的可撤销快速数据外包封装方法具有相同或相似的技术特征,因此在前述可撤销快速数据外包封装方法的实施方式也适用于本实施例提供的可撤销快速数据外包封装装置,在本实施例中不再详细描述。如图4所示,该可撤销快速数据外包封装装置可包括:可行权威执行系统初始化模块10、数据所有者执行数据封装模块20、审计员执行封装检测模块30、可信权威执行访问权限产生模块40、可信权威执行访问权限更新模块50、数据使用者执行数据解封装模块60和可信权威执行访问权限撤销模块70。Corresponding to the revocable fast data outsourcing encapsulation method provided in the above embodiments, an embodiment of the present invention also provides a revocable fast data outsourcing encapsulation device, because the revocable fast data outsourcing encapsulation device provided in the embodiment of the present invention is compatible with The revocable fast data outsourcing encapsulation method provided in the above embodiment has the same or similar technical features, so the implementation of the aforementioned revocable fast data outsourcing encapsulation method is also applicable to the revocable fast data outsourcing encapsulation device provided in this embodiment. No more detailed description in this embodiment. As shown in Figure 4, the revocable fast data outsourcing packaging device may include: a feasible authority execution system initialization module 10, a data owner execution data packaging module 20, an auditor execution packaging detection module 30, and a trusted authority execution access authority generation module 40. The trusted authority executes the access authority update module 50 , the data user executes the data decapsulation module 60 and the trusted authority executes the access authority revocation module 70 .

其中,可行权威执行系统初始化模块10用于可行权威执行系统初始化。Wherein, the feasible authority execution system initialization module 10 is used for the initialization of the feasible authority execution system.

数据所有者执行数据封装模块20用于数据所有者执行数据封装。The data owner performs data encapsulation module 20, which is used for the data owner to perform data encapsulation.

审计员执行封装检测模块30用于审计员执行封装检测。The auditor performs package inspection module 30 for auditors to perform package inspection.

可信权威执行访问权限产生模块40用户可信权威执行访问权限产生。The trusted authority executes the access authority generation module 40. The user's trusted authority executes the access authority generation.

可信权威执行访问权限更新模块50用于访问权限更新。The trusted authority executes the access rights update module 50 for access rights update.

数据使用者执行数据解封装模块60用于数据使用者执行数据解封装。The data user executes the data decapsulation module 60 for the data user to perform data decapsulation.

可信权威执行访问权限撤销模块70用于可信权威执行访问权限撤销。The trusted authority executes the access right revocation module 70, which is used for the trusted authority to execute the access right revocation.

本发明实施例的可撤销快速数据外包封装装置,首先提供了虚拟的私人存储并且允许一个用户对外包的电子健康病历执行细粒度的访问控制,就如同它们被保存在本地一样;其次,在封装过程只需要少量线上的模加/乘运算,并且非常快速;以及允许一个公开的审计员来过滤无效的电子健康病历封装并且阻止攻击者采用垃圾信息来阻塞用户的电子健康病历账户;最后采用了一个有效的撤回机制用来撤销用户。该装置实现了有效的访问控制,并最大程度地保护了电子健康病例在存储于不可完全信赖的第三方服务器上的安全性,节约了移动设备的解密开销。The revocable fast data outsourcing encapsulation device of the embodiment of the present invention firstly provides virtual private storage and allows a user to perform fine-grained access control on the outsourced electronic health records, just as they are stored locally; secondly, in the encapsulation The process requires only a small amount of online modular addition/multiplication operations, and is very fast; and allows a public auditor to filter invalid electronic health record packages and prevent attackers from using spam to block users' electronic health record accounts; finally adopt There is an efficient withdrawal mechanism for revoking users. The device realizes effective access control, and maximizes the protection of the security of the electronic health records stored on the untrustworthy third-party server, and saves the decryption cost of the mobile device.

在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。In the description of the present invention, it should be understood that the terms "first" and "second" are used for description purposes only, and cannot be interpreted as indicating or implying relative importance or implicitly indicating the quantity of indicated technical features. Thus, the features defined as "first" and "second" may explicitly or implicitly include at least one of these features. In the description of the present invention, "plurality" means at least two, such as two, three, etc., unless otherwise specifically defined.

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。In the description of this specification, descriptions referring to the terms "one embodiment", "some embodiments", "example", "specific examples", or "some examples" mean that specific features described in connection with the embodiment or example , structure, material or characteristic is included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms are not necessarily directed to the same embodiment or example. Furthermore, the described specific features, structures, materials or characteristics may be combined in any suitable manner in any one or more embodiments or examples. In addition, those skilled in the art can combine and combine different embodiments or examples and features of different embodiments or examples described in this specification without conflicting with each other.

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。Any process or method descriptions in flowcharts or otherwise described herein may be understood to represent modules, segments or portions of code comprising one or more executable instructions for implementing specific logical functions or steps of the process , and the scope of preferred embodiments of the invention includes alternative implementations in which functions may be performed out of the order shown or discussed, including substantially concurrently or in reverse order depending on the functions involved, which shall It is understood by those skilled in the art to which the embodiments of the present invention pertain.

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。Although the embodiments of the present invention have been shown and described above, it can be understood that the above embodiments are exemplary and should not be construed as limiting the present invention, those skilled in the art can make the above-mentioned The embodiments are subject to changes, modifications, substitutions and variations.

Claims (8)

1.一种可撤销快速数据外包封装方法,其特征在于,包括以下步骤:1. A revocable fast data outsourcing encapsulation method, is characterized in that, comprises the following steps: S1,可行权威执行系统初始化,包括:S1, Feasible and authoritative execution system initialization, including: S11,可信权威输入安全参数和属性集合的最大数目运行来获得两个素数p阶群一个双线性映射 S11, trusted authority input security parameters and the maximum number of attribute sets run to obtain two prime groups of order p a bilinear map S12,所述可信权威选择对称加密方案εsym,所述对称加密方案εsym采用加密算法symEnc(key,data)和解密算法symDec(key,data),其中,key为数据解封装密钥,data为用户的HER数据;S12, the trusted authority selects a symmetric encryption scheme εsym , and the symmetric encryption scheme εsym adopts an encryption algorithm symEnc(key, data) and a decryption algorithm symDec(key, data), wherein key is a data decapsulation key, data is the user's HER data; S13,所述可信权威选择一种抗碰撞哈希函数H(·),所述抗碰撞哈希函数H(·)满足抗碰撞哈希函数的所有特性,输入为任意长度的0、1字符串,输出为映射到群中的某一元素, S13, the trusted authority selects an anti-collision hash function H(·), the anti-collision hash function H(·) satisfies all the characteristics of the anti-collision hash function, and the input is 0, 1 characters of any length string, the output is mapped to an element of the group, S14,所述可信权威选择一个有辅助参数域的安全变色龙哈希函数CH:{0,1}*→ZpS14, the trusted authority selects a domain with auxiliary parameters The secure chameleon hash function of CH:{0,1} * → Z p ; S15,所述可信权威运行随机数生成算法,得到g,h,u,v,w,hr,和整数 S15, the trusted authority runs the random number generation algorithm to obtain g, h, u, v, w, h r , and integer S16,设定撤回列表RL=0,并且选择一个大于等于N个叶节点的二叉树BT;S16, set the withdrawal list RL=0, and select a binary tree BT with leaf nodes greater than or equal to N; S17,所述可信权威有主密钥msk(α),对外公布公共参数为 S17, the trusted authority has a master key msk(α), and the public parameter is publicized as S2,数据所有者执行数据封装,包括:S2, the data owner performs data encapsulation, including: S21,数据所有者选取一个随机的整数并计算key=e(g,g)αs,c0=gsS21, the data owner selects a random integer And calculate key=e(g,g) αs ,c 0 =g s ; S22,假设在任何一个LSSS编码的策略中有一个最大的行数,所述数据所有者对于每一个i∈[p]选择随机的整数λ′ii,并且计算 S22, assuming that there is a maximum number of rows in any LSSS-encoded strategy, the data owner selects random integers λ′ i , χ i , for each i∈[p] and calculate S23,所述数据所有者选择一个随机的整数并且设置 S23, the data owner selects a random integer and set S24,所述数据所有者运行(chk,td)←CHGen(1λ),选择一个随机的辅助参数和一个随机的字符串计算V=Hash(chk||CHash(chk,m',r'm)),输出 S24, the data owner runs (chk,td)←CHGen(1 λ ), selects a random auxiliary parameter and a random string Calculate V=Hash(chk||CHash(chk,m',r' m )), output S25,所述数据所有者选择一个随机的整数并且计算最后输出中间包头为被所述数据所有者存储以供实时封装时使用;S25, the data owner selects a random integer and calculate The final output intermediate header is stored by said data owner for use in real-time encapsulation; S26,所述数据所有者已获得数据data,封装时间T,和对应的访问控制策略(M,ρ),其中ρ:[1]→μ1≤p,所述数据所有者选择随机整数输出 S26, the data owner has obtained the data data, the encapsulation time T, and the corresponding access control policy (M, ρ), where ρ:[1]→μ1≤p, the data owner chooses a random integer output S27,所述数据所有者计算分享向量对于i∈[I],所述数据所有者计算Ci,4=λi-λ′i,Ci,5=-ti·(ρ(i)-xi)对于时间T,所述数据所有者计算CR,2=s·(T-T');S27, the data owner calculates the sharing vector For i∈[I], the data owner calculates C i,4i -λ′ i , C i,5 =-t i ·(ρ( i )-xi ) for time T, the data The owner calculates C R,2 = s·(T-T'); S28,封装的数据为en=SymEnc(key,data),所述数据所有者运行rm=Coll(td,m',r'm,m),其中m设为:S28, the encapsulated data is en=SymEnc(key, data), and the data owner runs r m =Coll(td, m', r' m , m), wherein m is set to: m=en||C0,1||C0,2||C0,3||C1,1||C1,2||C1,3||C1,4||C1,5||...||C1,1||C1,2||C1,3||C1,4||C1,5||CR,1||CR,2||(M,ρ)||T包头的形式表示为: m=en||C 0,1 ||C 0,2 ||C 0,3 ||C 1,1 ||C 1,2 ||C 1,3 ||C 1,4 ||C 1, 5 ||...||C 1,1 ||C 1,2 ||C 1,3 ||C 1,4 ||C 1,5 ||C R,1 ||C R,2 || The form of (M,ρ)||T header is expressed as: S29,所述数据所有者输出待存储的数据(hdr,en),上传并存储;S29, the data owner outputs the data (hdr, en) to be stored, uploads and stores it; S3,审计员执行封装检测,包括:S3, the auditor performs packaging inspections, including: S31,审计员计算V=CHash(chk,m,rm),其中S31, the auditor calculates V=CHash(chk,m,r m ), where m=enC0,1C0,2C0,3C1,1C1,2C1,3C1,4C1,5…Cl,1Cl,2Cl,3Cl,4Cl,5CR,1CR,2(M,ρ)T;m=enC 0,1 C 0,2 C 0,3 C 1,1 C 1,2 C 1,3 C 1,4 C 1,5 ...C l,1 C l,2 C l,3 C l, 4 C l,5 C R,1 C R,2 (M,ρ)T; S32,对于所有的i∈[l]检测是否成立来验证相关的属性,检测是否成立来验证封装时间,要检测是否成立,如果其中一个等式不成立,那么算法输出v=0,否则输出v=1;S32, for all i∈[l] detection is established to verify the relevant properties, detecting is established to verify the encapsulation time, to detect Whether it is true, if one of the equations is not true, then the algorithm outputs v=0, otherwise the output v=1; S4,可信权威执行访问权限产生,包括:S4, trusted authority executes the generation of access rights, including: S41,数据使用者属性集合为其中所述可信权威从所述二叉树BT中随机的选择一个未赋值的叶节点η,并且将属性集合S存储在节点η中;S41, the data user attribute set is in The trusted authority randomly selects an unassigned leaf node n from the binary tree BT, and stores the attribute set S in the node n; S42,对于每一个节点θ∈Path(η),一个元素gθ存储在节点θ当中,那么所述可信权威就从所述节点θ检索所述元素gθ,所述一个元素gθ不存储在节点θ当中,所述可信权威随机的选择一个元素并且将存储在节点θ当中;S42, for each node θ∈Path(η), an element g θ is stored in the node θ, then the trusted authority retrieves the element g θ from the node θ, and the element g θ is not stored Among nodes θ, the trusted authority randomly selects an element and will stored in node θ; S43,所述可信权威选择随机的整数计算并且对于 S43, the trusted authority selects a random integer calculate and for S44,所述可信权威对于所有的θ∈Path(θ)集合并且输出所述属性集合S的访问证书如下: S44, the trusted authority for all θ∈Path(θ) sets And output the access certificate of the attribute set S as follows: S5,可信权威更新访问权限,对于每一个节点θ∈CUNode(BT,RL,T),所述可信权威从节点θ取出在访问证书生成过程中已经预定义了,随机的选择一个整数并且计算 所述可信权威最终公布更新的证书为: S5. The trusted authority updates the access rights. For each node θ∈CUNode(BT, RL, T), the trusted authority takes out It has been predefined during the access certificate generation process, and an integer is randomly selected and calculate The trusted authority finally announced the updated certificate as: S6,数据使用者执行数据解封装,包括:S6, the data user performs data decapsulation, including: S61,假设它的访问证书是:所述可信权威公布的更新证书为:所述数据使用者检查集合I∩J,如果则该属性集合的访问证书被撤销了,程序简单的输出⊥,否则,数据使用者选择θ∈I∩J并且计算 S61, assuming its access credentials are: The updated certificate published by the trusted authority is: The data consumer checks the set I∩J if Then the access certificate of the attribute set is revoked, and the program simply outputs ⊥, otherwise, the data user chooses θ∈I∩J and calculates S62,数据使用者设置并且计算常数使得其中是共享生成矩阵M的第i行,对于所有的满足访问控制策略的常数都可以被有效的找到,数据最终可以通过运行data=SymDec(key,en)而得到,使用的解封装密钥key如下计算:S62, Data user settings and calculate the constant make in is the i-th row of the shared generation matrix M, for all constant All can be effectively found, and the data can finally be obtained by running data=SymDec(key,en). The decapsulation key key used is calculated as follows: 其中j是中属性ρ(i)的编号; where j is The number of the attribute ρ(i) in the middle; S7,可信权威执行访问权限撤销,包括:S7, the trusted authority performs the revocation of access rights, including: 将η记作所述二叉树BT的叶节点,与所述属性集合联系的,所述可信权威通过RL←RL∪{(η,T)}并且公开,来撤回访问权限。Denote n as the leaf node of the binary tree BT, and the set of attributes Connected, the trusted authority revokes access rights through RL ← RL ∪ {(η, T)} and public. 2.如权利要求1所述的方法,其特征在于,所述的具体包括:所述可信权威输入系统安全参数λ,根据λ的大小,系统选择相应的椭圆曲线:Y2=X3+aX+b,其中,a和b是系数,再由所述椭圆曲线上的点构成两个素数p阶的群 2. The method of claim 1, wherein the Specifically includes: the trusted authority inputs the system security parameter λ, and according to the size of λ, the system selects the corresponding elliptic curve: Y 2 =X 3 +aX+b, where a and b are coefficients, and then the elliptic curve Points on the curve form a group of two prime numbers of order p 3.如权利要求1所述的方法,其特征在于,所述抗碰撞哈希函数H(·)从Pairing-BasedCryptosystems函数包中调用库函数运行。3. The method according to claim 1, wherein the anti-collision hash function H(·) calls a library function from the Pairing-BasedCryptosystems function package to run. 4.如权利要求2所述的方法,其特征在于,随机数生成算法,根据所述Y2=X3+aX+b,随机选择自变量X的一个值x1,计算对应因变量Y的值y1;若点(x1,y1)在映射群中,则成功生成了随机元素。若点(x1,y1)不在所述映射群中,则继续选择X的值,直到找到出现在群中的点。4. The method according to claim 2, wherein the random number generation algorithm randomly selects a value x 1 of the independent variable X according to the Y 2 =X 3 +aX+b, and calculates the corresponding dependent variable Y value y 1 ; if the point (x 1 , y 1 ) is in the mapping group, then the random element is successfully generated. If the point (x 1 , y 1 ) is not in the mapping group, continue to choose the value of X until a point that appears in the group is found. 5.一种可撤销快速数据外包封装装置,其特征在于,包括:5. A revocable fast data outsourcing packaging device, characterized in that it comprises: 可行权威执行系统初始化模块,用于可行权威执行系统初始化,进一步包括:The feasible authoritative execution system initialization module is used for the initialization of the feasible authoritative execution system, and further includes: S11,可信权威输入安全参数和属性集合的最大数目运行来获得两个素数p阶群一个双线性映射 S11, trusted authority input security parameters and the maximum number of attribute sets run to obtain two prime groups of order p a bilinear map S12,所述可信权威选择对称加密方案εsym,所述对称加密方案εsym采用加密算法symEnc(key,data)和解密算法symDec(key,data),其中,key为数据解封装密钥,data为用户的HER数据;S12, the trusted authority selects a symmetric encryption scheme εsym , and the symmetric encryption scheme εsym adopts an encryption algorithm symEnc(key, data) and a decryption algorithm symDec(key, data), wherein key is a data decapsulation key, data is the user's HER data; S13,所述可信权威选择一种抗碰撞哈希函数H(·),所述抗碰撞哈希函数H(·)满足抗碰撞哈希函数的所有特性,输入为任意长度的0、1字符串,输出为映射到群中的某一元素, S13, the trusted authority selects an anti-collision hash function H(·), the anti-collision hash function H(·) satisfies all the characteristics of the anti-collision hash function, and the input is 0, 1 characters of any length string, the output is mapped to an element of the group, S14,所述可信权威选择一个有辅助参数域的安全变色龙哈希函数CH:{0,1}*→ZpS14, the trusted authority selects a domain with auxiliary parameters The secure chameleon hash function of CH:{0,1} * → Z p ; S15,所述可信权威运行随机数生成算法,得到g,h,u,v,w,hr,和整数 S15, the trusted authority runs the random number generation algorithm to obtain g, h, u, v, w, h r , and integer S16,设定撤回列表RL=0,并且选择一个大于等于N个叶节点的二叉树BT;S16, set the withdrawal list RL=0, and select a binary tree BT with leaf nodes greater than or equal to N; S17,所述可信权威有主密钥msk(α),对外公布公共参数为 S17, the trusted authority has a master key msk(α), and the public parameter is publicized as 数据所有者执行数据封装模块,用于数据所有者执行数据封装,进一步包括:The data owner executes the data encapsulation module, which is used for the data owner to execute data encapsulation, further including: S21,所述数据所有者选取一个随机的整数并计算key=e(g,g)αs,c0=gsS21, the data owner selects a random integer And calculate key=e(g,g) αs ,c 0 =g s ; S22,假设在任何一个LSSS编码的策略中有一个最大的行数,所述数据所有者对于每一个i∈[p]选择随机的整数λ′ii,并且计算 S22, assuming that there is a maximum number of rows in any LSSS-encoded strategy, the data owner selects random integers λ′ i , χ i , for each i∈[p] and calculate S23,所述数据所有者选择一个随机的整数并且设置 S23, the data owner selects a random integer and set S24,所述数据所有者运行(chk,td)←CHGen(1λ),选择一个随机的辅助参数和一个随机的字符串计算V=Hash(chk||CHash(chk,m',r'm)),输出 S24, the data owner runs (chk,td)←CHGen(1 λ ), selects a random auxiliary parameter and a random string Calculate V=Hash(chk||CHash(chk,m',r' m )), output S25,所述数据所有者选择一个随机的整数并且计算最后输出中间包头为被所述数据所有者存储以供实时封装时使用;S25, the data owner selects a random integer and calculate The final output intermediate header is stored by said data owner for use in real-time encapsulation; S26,所述数据所有者已获得数据data,封装时间T,和对应的访问控制策略(M,ρ),其中ρ:[1]→μ1≤p,所述数据所有者选择随机整数输出 S26, the data owner has obtained the data data, the encapsulation time T, and the corresponding access control policy (M, ρ), where ρ:[1]→μ1≤p, the data owner chooses a random integer output S27,所述数据所有者计算分享向量对于i∈[I],所述数据所有者计算Ci,4=λi-λ′i,Ci,5=-ti·(ρ(i)-xi)对于时间T,所述数据所有者计算CR,2=s·(T-T');S27, the data owner calculates the sharing vector For i∈[I], the data owner calculates C i,4i -λ′ i , C i,5 =-t i ·(ρ( i )-xi ) for time T, the data The owner calculates C R,2 = s·(T-T'); S28,封装的数据为en=SymEnc(key,data),所述数据所有者运行rm=Coll(td,m',r'm,m),其中m设为:S28, the encapsulated data is en=SymEnc(key, data), and the data owner runs r m =Coll(td, m', r' m , m), wherein m is set to: m=en||C0,1||C0,2||C0,3||C1,1||C1,2||C1,3||C1,4||C1,5||...||C1,1||C1,2||C1,3||C1,4||C1,5||CR,1||CR,2||(M,ρ)||Tm=en||C 0,1 ||C 0,2 ||C 0,3 ||C 1,1 ||C 1,2 ||C 1,3 ||C 1,4 ||C 1, 5 ||...||C 1,1 ||C 1,2 ||C 1,3 ||C 1,4 ||C 1,5 ||C R,1 ||C R,2 || (M,ρ)||T 包头的形式表示为: The format of the header is expressed as: S29,所述数据所有者输出待存储的数据(hdr,en),上传并存储;S29, the data owner outputs the data (hdr, en) to be stored, uploads and stores it; 审计员执行封装检测模块,用于审计员执行封装检测,进一步包括:Auditor performs package inspection module, for auditor to perform package inspection, further includes: S31,所述审计员计算V=CHash(chk,m,rm),其中S31, the auditor calculates V=CHash(chk,m,r m ), where m=enC0,1C0,2C0,3C1,1C1,2C1,3C1,4C1,5…Cl,1Cl,2Cl,3Cl,4Cl,5CR,1CR,2(M,ρ)T;m=enC 0,1 C 0,2 C 0,3 C 1,1 C 1,2 C 1,3 C 1,4 C 1,5 ...C l,1 C l,2 C l,3 C l, 4 C l,5 C R,1 C R,2 (M,ρ)T; S32,对于所有的i∈[l]检测是否成立来验证相关的属性,检测是否成立来验证封装时间,要检测是否成立,如果其中一个等式不成立,那么算法输出v=0,否则输出v=1;S32, for all i∈[l] detection is established to verify the relevant properties, detecting is established to verify the encapsulation time, to detect Whether it is true, if one of the equations is not true, then the algorithm outputs v=0, otherwise the output v=1; 可信权威执行访问权限产生模块,用户所述可信权威执行访问权限产生,进一步包括:The trusted authority executes the access authority generation module, and the trusted authority described by the user executes the access authority generation, which further includes: S41,数据使用者属性集合为其中所述可信权威从所述二叉树BT中随机的选择一个未赋值的叶节点η,并且将属性集合S存储在节点η中;S41, the data user attribute set is in The trusted authority randomly selects an unassigned leaf node n from the binary tree BT, and stores the attribute set S in the node n; S42,对于每一个节点θ∈Path(η),一个元素gθ存储在节点θ当中,那么所述可信权威就从所述节点θ检索所述元素gθ,所述一个元素gθ不存储在节点θ当中,所述可信权威随机的选择一个元素并且将存储在节点θ当中;S42, for each node θ∈Path(η), an element g θ is stored in the node θ, then the trusted authority retrieves the element g θ from the node θ, and the element g θ is not stored Among nodes θ, the trusted authority randomly selects an element and will Stored in node θ; S43,所述可信权威选择随机的整数计算并且对于 S43, the trusted authority selects a random integer calculate and for S44,所述可信权威对于所有的θ∈Path(θ)集合并且输出所述属性集合S的访问证书如下: S44, the trusted authority for all θ∈Path(θ) sets And output the access certificate of the attribute set S as follows: 可信权威执行访问权限更新模块,用于对于每一个节点θ∈CUNode(BT,RL,T),所述可信权威从节点θ取出在访问证书生成过程中已经预定义了,随机的选择一个整数并且计算 所述可信权威最终公布更新的证书为: The trusted authority executes the access authority update module, for each node θ∈CUNode(BT, RL, T), the trusted authority takes out It has been predefined during the access certificate generation process, and an integer is randomly selected and calculate The trusted authority finally announced the updated certificate as: 数据使用者执行数据解封装模块,用于数据使用者执行数据解封装,进一步包括:The data user executes the data decapsulation module, which is used for the data user to perform data decapsulation, further including: S61,假设它的访问证书是:所述可信权威公布的更新证书为:所述数据使用者检查集合I∩J,如果则该属性集合的访问证书被撤销了,程序简单的输出⊥,否则,数据使用者选择θ∈I∩J并且计算 S61, assuming its access credentials are: The updated certificate published by the trusted authority is: The data consumer checks the set I∩J if Then the access certificate of the attribute set is revoked, and the program simply outputs ⊥, otherwise, the data user chooses θ∈I∩J and calculates S62,所述数据使用者设置并且计算常数使得其中是共享生成矩阵M的第i行,对于所有的满足访问控制策略的常数都可以被有效的找到,数据最终可以通过运行data=SymDec(key,en)而得到,使用的解封装密钥key如下计算:S62, the data user setting and calculate the constant make in is the i-th row of the shared generation matrix M, for all constant All can be effectively found, and the data can finally be obtained by running data=SymDec(key,en). The decapsulation key key used is calculated as follows: 其中j是中属性ρ(i)的编号; where j is The number of the attribute ρ(i) in the middle; 可信权威执行访问权限撤销模块,用于所述可信权威执行访问权限撤销,进一步包括:The trusted authority executes the access right revocation module, which is used for the trusted authority to execute the access right revocation, further comprising: 将η记作所述二叉树BT的叶节点,与所述属性集合联系的,所述可信权威通过RL←RL∪{(η,T)}并且公开,来撤回访问权限。Denote n as the leaf node of the binary tree BT, and the set of attributes Connected, the trusted authority revokes access rights through RL ← RL ∪ {(η, T)} and public. 6.如权利要求5所述的装置,其特征在于,所述的具体包括:所述可信权威输入系统安全参数λ,根据λ的大小,系统选择相应的椭圆曲线:Y2=X3+aX+b,其中,a和b是系数,再由所述椭圆曲线上的点构成两个素数p阶的群 6. The apparatus of claim 5, wherein the Specifically includes: the trusted authority inputs the system security parameter λ, and according to the size of λ, the system selects the corresponding elliptic curve: Y 2 =X 3 +aX+b, where a and b are coefficients, and then the elliptic curve Points on the curve form a group of two prime numbers of order p 7.如权利要求5所述的装置,其特征在于,所述抗碰撞哈希函数H(·)从Pairing-BasedCryptosystems函数包中调用库函数运行。7. The device according to claim 5, wherein the anti-collision hash function H(·) calls a library function from the Pairing-BasedCryptosystems function package to run. 8.如权利要求6所述的装置,其特征在于,随机数生成算法,根据所述Y2=X3+aX+b,随机选择自变量X的一个值x1,计算对应因变量Y的值y1;若点(x1,y1)在映射群中,则成功生成了随机元素。若点(x1,y1)不在所述映射群中,则继续选择X的值,直到找到出现在群中的点。8. The device according to claim 6, wherein the random number generation algorithm randomly selects a value x 1 of the independent variable X according to the Y 2 =X 3 +aX+b, and calculates the corresponding dependent variable Y value y 1 ; if the point (x 1 , y 1 ) is in the mapping group, then the random element is successfully generated. If the point (x 1 , y 1 ) is not in the mapping group, continue to choose the value of X until a point that appears in the group is found.
CN201610302830.9A 2016-05-09 2016-05-09 Reversible fast data outsourcing encapsulation method and device Active CN105978696B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610302830.9A CN105978696B (en) 2016-05-09 2016-05-09 Reversible fast data outsourcing encapsulation method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610302830.9A CN105978696B (en) 2016-05-09 2016-05-09 Reversible fast data outsourcing encapsulation method and device

Publications (2)

Publication Number Publication Date
CN105978696A true CN105978696A (en) 2016-09-28
CN105978696B CN105978696B (en) 2019-10-11

Family

ID=56992190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610302830.9A Active CN105978696B (en) 2016-05-09 2016-05-09 Reversible fast data outsourcing encapsulation method and device

Country Status (1)

Country Link
CN (1) CN105978696B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108365959A (en) * 2018-02-14 2018-08-03 东北大学 The outsourcing multinomial verification method of Full Proxy under a kind of cloud environment
CN108830602A (en) * 2018-06-27 2018-11-16 电子科技大学 A kind of license chain construction and management-control method based on chameleon hash function

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209682A (en) * 2005-01-31 2006-08-10 Fuji Xerox Co Ltd Data management system
CN103795549A (en) * 2014-02-28 2014-05-14 成都卫士通信息产业股份有限公司 Communication content encryption and decryption method and encryption management method based on CS mode

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209682A (en) * 2005-01-31 2006-08-10 Fuji Xerox Co Ltd Data management system
CN103795549A (en) * 2014-02-28 2014-05-14 成都卫士通信息产业股份有限公司 Communication content encryption and decryption method and encryption management method based on CS mode

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108365959A (en) * 2018-02-14 2018-08-03 东北大学 The outsourcing multinomial verification method of Full Proxy under a kind of cloud environment
CN108830602A (en) * 2018-06-27 2018-11-16 电子科技大学 A kind of license chain construction and management-control method based on chameleon hash function
CN108830602B (en) * 2018-06-27 2022-03-29 电子科技大学 Permission chain construction and management and control method based on chameleon hash function

Also Published As

Publication number Publication date
CN105978696B (en) 2019-10-11

Similar Documents

Publication Publication Date Title
US11425171B2 (en) Method and system for cryptographic attribute-based access control supporting dynamic rules
Yu et al. LH-ABSC: A lightweight hybrid attribute-based signcryption scheme for cloud-fog-assisted IoT
Das et al. MACPABE: Multi‐Authority‐based CP‐ABE with efficient attribute revocation for IoT‐enabled healthcare infrastructure
CN103986574B (en) A kind of Tiered broadcast encryption method of identity-based
Han et al. Efficient and robust attribute-based encryption supporting access policy hiding in Internet of Things
CN104168108B (en) It is a kind of to reveal the traceable attribute base mixed encryption method of key
Zhang et al. Multiauthority access control with anonymous authentication for personal health record
Shen et al. Secure authentication in cloud big data with hierarchical attribute authorization structure
CN112733179B (en) Lightweight non-interactive privacy protection data aggregation method
Guan et al. Achieving adaptively secure data access control with privacy protection for lightweight IoT devices
Hahn et al. Trustworthy delegation toward securing mobile healthcare cyber-physical systems
Li et al. Traceable Ciphertext‐Policy Attribute‐Based Encryption with Verifiable Outsourced Decryption in eHealth Cloud
Zhang et al. Blockchain-aided anonymous traceable and revocable access control scheme with dynamic policy updating for the cloud IoT
Cao et al. Privacy-preserving conjunctive keyword search on encrypted data with enhanced fine-grained access control
Deng et al. An efficient revocable attribute-based signcryption scheme with outsourced unsigncryption in cloud computing
Yang et al. Verifiable and redactable blockchain for internet of vehicles data sharing
Kumar Cryptography during data sharing and accessing over cloud
CN116996870A (en) Traceable and revocable decentralized CP-ABE privacy protection method and system
Liu et al. Consortium blockchain based lightweight message authentication and auditing in smart home
CN105978696B (en) Reversible fast data outsourcing encapsulation method and device
Kumar et al. ASP: advanced security protocol for security and privacy in cloud computing
Bai et al. A cloud data integrity verification scheme based on blockchain
Ashouri-Talouki et al. Privacy-preserving attribute-based access control with non-monotonic access structure
CN113271309B (en) A kind of layered file encryption method and system
Zhang et al. A secure access control framework for cloud management

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载