CN114357477A - Boolean keyword searchable encryption method supporting large-scale user group - Google Patents

Boolean keyword searchable encryption method supporting large-scale user group Download PDF

Info

Publication number
CN114357477A
CN114357477A CN202111561029.3A CN202111561029A CN114357477A CN 114357477 A CN114357477 A CN 114357477A CN 202111561029 A CN202111561029 A CN 202111561029A CN 114357477 A CN114357477 A CN 114357477A
Authority
CN
China
Prior art keywords
node
keyword
calculation
equal
attribute
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
CN202111561029.3A
Other languages
Chinese (zh)
Other versions
CN114357477B (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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN202111561029.3A priority Critical patent/CN114357477B/en
Publication of CN114357477A publication Critical patent/CN114357477A/en
Application granted granted Critical
Publication of CN114357477B publication Critical patent/CN114357477B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

The invention discloses a boolean keyword searchable encryption method supporting a large-scale user group, which is based on a recursion attribute set structure, an access tree structure and a recursion keyword set structure and realizes flexible access strategy matching and fine-grained access control on the premise of facing large-scale users. Firstly, the invention supports more flexible data user attribute organization mode and more flexible access strategy matching, and realizes more efficient access control. The invention uses the access tree to express the access strategy and organizes the data user attributes in a recursive set structure, thereby realizing more efficient access strategy matching. In addition, the invention also supports more flexible keyword organization mode and Boolean keyword search. In the invention, by adopting the form of organizing the keywords into a recursion set and adopting a Boolean matching operation method, the flexible keyword organization and Boolean keyword search are realized.

Description

Boolean keyword searchable encryption method supporting large-scale user group
Technical Field
The invention relates to the technical field of cryptography, in particular to a boolean keyword searchable encryption method supporting large-scale user groups.
Background
In order to provide users with the capability of performing keyword search on ciphertext data, a Searchable Encryption (SE) technology has been proposed as a solution. According to different Encryption methods, the existing Searchable Encryption schemes can be divided into two types, namely Symmetric Searchable Encryption (SSE) and Public-key Encryption with Keyword Search (PEKS). In a public key searchable encryption scheme, data is encrypted using a public key of a given user before the data owner uploads the data to the cloud server, after which the users can search and decrypt the data using their private keys.
However, the basic PEKS scheme has limitations in some practical application scenarios. For example, in a healthcare system, the personal health information of a patient can only be retrieved by authorized physicians of a given identity. Under such circumstances, in order to achieve both keyword search and fine-grained access control on encrypted data, researchers have proposed a searchable encryption method based on attributes, and many of the existing works have made corresponding studies on this method.
Although the existing work provides a solution as the keyword search based on the attributes, at present, no solution can simultaneously support the three aspects of flexible access policy matching, flexible expression of the user attributes and flexible keyword search on the premise of facing large-scale users. Therefore, how to design a perfect keyword search method based on the above three aspects under the background of rapid development of today big data and cloud computing, which can support large-scale users, becomes a problem to be solved urgently.
Disclosure of Invention
The invention aims to solve the defects in the prior art and provides a boolean keyword searchable encryption method supporting a large-scale user group. In the background of cloud computing, the invention is based on a recursion attribute set structure, an access tree structure and a recursion keyword set structure, and realizes flexible access strategy matching and fine-grained access control on the premise of facing large-scale users. By using the Boolean search to support the multi-keyword search, the data which the user is interested in can be effectively and flexibly positioned, and simultaneously, the three aspects of flexible access strategy matching, flexible expression of user attributes and flexible keyword search are met.
The purpose of the invention can be achieved by adopting the following technical scheme:
a boolean keyword searchable encryption method supporting a large-scale user population, the encryption method comprising the steps of:
s1, system initialization: the trusted authority TA generates a public key pk and a master key mk according to the security parameter K, and publishes the public key pk to the cloud server;
s2, generating a private key: data users organize their attributes into a recursive attribute set
Figure BDA0003412378930000021
It is then sent to the trusted authority TA, which uses the master key mk and the recursive set of attributes
Figure BDA0003412378930000022
Generating a private key sk and sending the private key sk to a data user, wherein the attribute set
Figure BDA0003412378930000023
Is resolved into { A0,A1,...,An},AiTo represent
Figure BDA0003412378930000024
The ith sub-attribute set in (1), let sub-attribute set AiContaining miThe number of the attributes is one,
Figure BDA0003412378930000025
wherein a isi,jRepresenting a set of sub-attributes AiThe jth attribute of (1);
s3, encryption: data owner uses system public key pk, recursive key set
Figure BDA0003412378930000026
Figure BDA0003412378930000027
And access tree
Figure BDA0003412378930000028
Generating a ciphertext C for the document, uploading the ciphertext C to a cloud server, and recursively collecting the keywords WVElement (1) of
Figure BDA0003412378930000029
Representing the i' th subset of the set of recursive keywords, which is resolved to
Figure BDA00034123789300000210
Recursive keyword name set
Figure BDA00034123789300000211
And a set of recursive keywords WVHaving the same structure, elements of the set
Figure BDA0003412378930000031
Denoted is the ith ' subset of the set of recursive keyword names, resolved as (ρ (i ', 1), ρ (i ', 2).. ρ (i ', m 'i′) Wherein, m'i′Indicating the number of keywords in the ith 'keyword subset, ρ (i', j ') indicating the name of the jth keyword in the ith' keyword subset, and wρ(i′,j′)A value representing a jth keyword in the ith' keyword subset;
s4, search token generation: the data user uses the private key obtained in step S2 in combination with the boolean keyword value expression B local to the data userVGenerating a retrieval token TK, wherein BVIs an access tree structure, BNRepresenting a Boolean keyword name expression having a sum of BVSame access tree structure for BVLeaf node in (1)
Figure BDA00034123789300000314
The keyword value is represented as
Figure BDA0003412378930000032
Wherein
Figure BDA0003412378930000033
Representing a corresponding keyword name;
s5, ciphertext search: and (4) the data user sends the retrieval token TK generated in the step S4 to the cloud server, the cloud server checks the retrieval token TK and the ciphertext C stored in the cloud server after receiving the retrieval token TK, checks whether the ciphertext C is matched, and sends the ciphertext C meeting the matching condition to the data user.
Further, the step S1 process is as follows:
s1a, trusted authority TA use group generator
Figure BDA0003412378930000034
Execute
Figure BDA0003412378930000035
To form (p, G, G)TE) where p is a prime number, G and GTFor a cyclic group of order p, G is the generator of G, e: g → GTIs a bilinear map;
s1b, selecting two anti-collision hash functions H by the trusted authority TA0(. and H)1Therein, a hash function H0(. cndot.) satisfies the following mapping:
Figure BDA0003412378930000036
wherein the content of the first and second substances,
Figure BDA0003412378930000037
is a set of all numbers prime to a prime number p, hash function H1(. cndot.) satisfies the following mapping: {0,1}*→G;
S1c, the trusted authority TA randomly selects the first, second, third and fourth parameters for realizing private key generation, document encryption and retrieval token generation
Figure BDA0003412378930000038
And by calculating
Figure BDA0003412378930000039
S1d, the trusted authority TA obtains the system public key according to the variables
Figure BDA00034123789300000310
Figure BDA00034123789300000311
Master key mk ═<β1,β2,α>。
Further, the step S2 process is as follows:
s2a, the credible authority TA is a recursive attribute set
Figure BDA00034123789300000312
Random selection
Figure BDA00034123789300000313
For recursive sets of attributes
Figure BDA0003412378930000041
Each subset A ofiSelection of riWherein r is a parameter of the attribute set A for subsequent matching verification with the access tree, and riIs a set of attributes
Figure BDA0003412378930000042
Subset A ofiParameters for subsequent and access tree match verification, assuming a recursive set of attributes
Figure BDA0003412378930000043
There are n +1 subsets, and for the 2 nd to n +1 th subsets, their parameters riSatisfy the requirement of
Figure BDA0003412378930000044
Let 1 st subset A0Parameter (d) of
Figure BDA0003412378930000045
Is a set of all numbers prime to the prime number p;
s2b, the credible authority TA also needs to be deliveryAttribute collection
Figure BDA0003412378930000046
Each attribute a in (1)i,jSelecting a parameter ri,jFor subsequent matching calculations, wherein
Figure BDA0003412378930000047
S2c, calculating by a trusted authority TA
Figure BDA0003412378930000048
For subsequent generation
Figure BDA0003412378930000049
Computing
Figure BDA00034123789300000410
Figure BDA00034123789300000411
For subsequent generation
Figure BDA00034123789300000412
And
Figure BDA00034123789300000413
wherein i is more than or equal to 0 and less than or equal to n, j is more than or equal to 1 and less than or equal to mi
S2d, calculating by a trusted authority TA
Figure BDA00034123789300000414
For subsequent generation
Figure BDA00034123789300000415
Wherein i is more than or equal to 1 and less than or equal to n;
s2e, the trusted authority TA obtains the private key of the data user according to the variables
Figure BDA00034123789300000416
And sends it to the data user.
Further, the step S3 process is as follows:
s3a, data owner randomly selects recursive key word set WVParameters for matching verification
Figure BDA00034123789300000417
Is a set of all numbers prime to the prime number p, and calculates parameters for ciphertext and keyword match validation calculations
Figure BDA00034123789300000418
And parameters for conversion calculation at the conversion node
Figure BDA00034123789300000419
Figure BDA00034123789300000420
S3b, data owner generates a set containing n' random parameters
Figure BDA00034123789300000421
Wherein s isi′Is a recursive set of keywords WVIs a subset of
Figure BDA00034123789300000422
Parameters for performing a match verification, order s0Is a subset of
Figure BDA00034123789300000423
Parameters for performing matching verification;
s3c, the data owner generates a random parameter set for subsequent matching calculation
Figure BDA00034123789300000424
Wherein s isi′,j′Corresponding key word
Figure BDA00034123789300000425
S3d, calculating parameters for calculating keyword matching algorithm DecryptNodeII by data owner
Figure BDA0003412378930000051
And
Figure BDA0003412378930000052
wherein i 'is more than or equal to 0 and less than or equal to n', and j 'is more than or equal to 1 and less than or equal to m'i′The keyword matching algorithm decryptnodei is used for ciphertext and search token keyword matching calculation, and then the subset enabling recursive keyword set is calculated
Figure BDA0003412378930000053
S ofi′Conversion to subsets
Figure BDA0003412378930000054
S of0Parameter (d) of
Figure BDA0003412378930000055
Wherein i 'is more than or equal to 1 and is more than or equal to n';
s3e, using secret sharing algorithm by data owner
Figure BDA0003412378930000056
Figure BDA0003412378930000057
Secret sharing of s is calculated, where qv(0) The value of the constant in the secret sharing polynomial representing node v,
Figure BDA0003412378930000058
representing access trees
Figure BDA0003412378930000059
The leaf node of (a) is,
Figure BDA00034123789300000510
representation according to s and access tree
Figure BDA00034123789300000511
Running a secret sharing algorithm;
s3f, data possessionPerson to access tree
Figure BDA00034123789300000512
Each leaf node v of (1) calculates the parameters for the calculation of the attribute matching algorithm DecryptNodeI
Figure BDA00034123789300000513
And
Figure BDA00034123789300000514
the attribute matching algorithm DecryptNodeI is used for matching calculation of the user attribute set and the access tree;
s3g, accessing tree
Figure BDA00034123789300000515
Is represented as
Figure BDA00034123789300000516
For each node x ∈
Figure BDA00034123789300000517
Data owner computing
Figure BDA00034123789300000518
Wherein the content of the first and second substances,
Figure BDA00034123789300000519
the support sets are mutually converted at a conversion node x;
s3h, obtaining the ciphertext according to the variable obtained in the step by the data owner
Figure BDA00034123789300000520
Further, the step S4 process is as follows:
s4a, randomly selecting a value by data user
Figure BDA00034123789300000521
For subsequent parameter generation, and calculating for conversionParameters of conversion calculation at conversion node
Figure BDA00034123789300000522
S4b, secret sharing algorithm used by data user
Figure BDA00034123789300000523
Secret sharing of computation t, for each leaf node
Figure BDA00034123789300000524
Data user calculation parameter for subsequent keyword matching algorithm DecryptNodeII calculation
Figure BDA00034123789300000525
Figure BDA00034123789300000526
For each conversion node
Figure BDA00034123789300000527
Data user calculation of parameters for conversion calculation at conversion node
Figure BDA0003412378930000061
S4c, the data user analyzes the private key sk into
Figure BDA0003412378930000062
Figure BDA0003412378930000063
And calculating parameters for ciphertext and keyword matching verification calculation
Figure BDA0003412378930000064
Figure BDA0003412378930000065
Parameter for calculating attribute matching algorithm DecryptNodeI
Figure BDA0003412378930000066
Wherein i is more than or equal to 0 and less than or equal to n, j is more than or equal to 1 and less than or equal to mi(ii) a And enable subset aiR ofiConversion to subset A0R of0Parameter (d) of
Figure BDA0003412378930000067
Wherein i is more than or equal to 1 and less than or equal to n;
s4d, obtaining the retrieval token by the data user according to the variable obtained in the step
Figure BDA00034123789300000624
Figure BDA0003412378930000068
Further, the step S5 process is as follows:
s5a, the cloud server analyzes the ciphertext C into
Figure BDA0003412378930000069
Figure BDA00034123789300000610
Figure BDA00034123789300000611
Resolving the retrieval token TK into
Figure BDA00034123789300000612
S5b, according to the access tree
Figure BDA00034123789300000613
And attribute set
Figure BDA00034123789300000614
For access trees
Figure BDA00034123789300000615
The cloud server will return a set S for each node τ in (1)τWherein, in the step (A),Sτis a label of node τ, each label u corresponds to a set AuEach set AuCan satisfy sub access trees
Figure BDA00034123789300000623
For the root node R, then there is
Figure BDA00034123789300000616
Figure BDA00034123789300000617
The corresponding set is SR
S5c, if attribute set
Figure BDA00034123789300000618
Satisfying access trees
Figure BDA00034123789300000619
For each node τ, randomly slave set SτSelecting one label as u, operating attribute matching algorithm DecryptNodeI (C, TK, tau, u), inputting cipher text C, searching token TK, node tau and label u, calculating
Figure BDA00034123789300000620
Output node τ calculation result FτWherein, CτAnd C'τIs a parameter corresponding to the node τ in the ciphertext C,
Figure BDA00034123789300000621
is that the node tau of the retrieval token TK is in the subset AuParameters of the corresponding attributes; if there is no satisfied access tree
Figure BDA00034123789300000622
Property set of
Figure BDA0003412378930000071
Return to "0";
s5d, for a given set W of recursive keyword namesNAnd boolean keyword name expression BNFor BNEach node of
Figure BDA0003412378930000072
Cloud server computing a set of tags
Figure BDA0003412378930000073
Each label h corresponds to a WNIs a subset of
Figure BDA0003412378930000074
Each subset
Figure BDA0003412378930000075
Can all satisfy BNSubtree of
Figure BDA0003412378930000076
For root node
Figure BDA0003412378930000077
Then there is
Figure BDA0003412378930000078
Corresponding set is
Figure BDA0003412378930000079
S5e, if recursive keyword name structure WNSatisfy boolean keyword name expression BNFor each node
Figure BDA00034123789300000710
Random slave set
Figure BDA00034123789300000711
One label is selected and marked as h, and a keyword matching algorithm is operated
Figure BDA00034123789300000712
The algorithm inputs a ciphertext C, retrieves a token TK and accounts for
Figure BDA00034123789300000713
And a label h, by calculation
Figure BDA00034123789300000714
Output node
Figure BDA00034123789300000715
Result of calculation of (2)
Figure BDA00034123789300000716
Wherein the content of the first and second substances,
Figure BDA00034123789300000717
and
Figure BDA00034123789300000723
is a node in the retrieval token TK
Figure BDA00034123789300000718
Corresponding parameter, Cρ(h,j′)And C'ρ(h,j′)Is a node in the ciphertext C
Figure BDA00034123789300000719
In a subset
Figure BDA00034123789300000724
Parameters of the corresponding keyword name; if the expression B satisfying the Boolean keyword name does not existNOf the recursive keyword name structure WNThen return to "0";
s5f, calculating parameters for verification matching calculation by the cloud server
Figure BDA00034123789300000720
And judge
Figure BDA00034123789300000721
Whether or not it is true, wherein,
Figure BDA00034123789300000722
is ciphertext key word and user searchThe result of the keyword matching calculation, F is the result of the access tree and user attribute matching calculation, and if yes, 0 is output; if not, outputting '1'; wherein e (G, G) represents the mapping of two elements in the cyclic group G to the multiplicative cyclic group GTOf (1).
Compared with the prior art, the invention has the following advantages and effects:
1. flexible access policy expression. The invention allows the data owner to implement the access policy on the data, wherein the representation of the access policy adopts the form of an access tree with conversion nodes, thereby not only supporting Boolean expressions nested with logic words such as AND, OR AND the like, but also selectively allowing the data user to combine attributes in the attribute set to meet the access policy, AND helping the data owner to flexibly control AND authorize the data.
2. Flexible keyword and data user attribute organization. The invention organizes the attributes of the keywords and the data users in a recursive set, and can solve the problem that the compound keywords and the data users have compound attributes.
3. Boolean keyword searching is supported. The invention simultaneously supports Boolean keyword search organizing keywords into an access tree form, brings greater flexibility to data users in encrypted data search, AND supports search strategies of logic word nesting such as AND, OR, NOT AND the like. The user is helped to accurately find the required data, and meanwhile, the transmission cost and the calculation cost are reduced.
4. Practicality and safety. The invention adopts the composite order group, the bilinear mapping, the access tree and the recursion attribute set for construction, has the characteristics of strategy hiding and leakage resistance, has stronger safety, provides flexible access strategy expression, efficient access strategy matching and flexible expression of keyword search, and has better practicability.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the invention without limiting the invention. In the drawings:
FIG. 1 is a flowchart of a searchable encryption method disclosed in the present invention that supports fine-grained access tree structure-based access control and Boolean keyword search;
FIG. 2 is a schematic diagram of an application environment of the searchable encryption method supporting fine-grained Boolean access control and Boolean keyword retrieval disclosed in the present invention;
FIG. 3 is a block diagram of a searchable encryption system supporting fine-grained Boolean access control and Boolean keyword retrieval as disclosed in the present invention;
FIG. 4 is a diagram of an access policy set by the data owner;
figure 5 is another access policy diagram set by the data owner.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Example 1
Flexible Access policy matching can help data owners to flexibly manage data, and most of the existing work adopts Access policies expressed by Access trees (Access trees) or Linear password Sharing Schemes (LSSS for short); the expression mode of the user attributes can support finer-grained access control, and the user attributes are combined in a character string mode in most of the existing work, or the attributes are combined into a single attribute set or a recursive attribute set structure; the flexible keyword search can bring flexible selection for the search of data users, and the existing scheme mainly supports one of the following three search modes: matching search, connection keyword search and boolean keyword search, wherein the matching search has the least flexibility and the boolean keyword search has the best flexibility.
In practical application scenarios, the attributes of the data user are quite complex, such as data user a, who may be both a researcher at university a and a professor in the chemical and principal departments of a certain pharmaceutical department. Therefore, in a large-scale user-oriented scenario, reasonable organization of user attributes and flexible access control matching also become the key for scheme implementation. On the premise, flexible keyword organization and an efficient keyword search method also become keys for improving the overall performance.
On the premise of large-scale users, the embodiment of the invention simultaneously supports the flexible access strategy matching, the flexible expression of user attributes and the flexible keyword search.
Before introducing the technical solution, the mathematical basis and definition related to the present invention are explained as follows:
bilinear pairings
Suppose G and GTIs two p-order cyclic groups, and G is the generator of G. A bilinear map e: g → GTThe following properties are satisfied:
(1) bilinear: for any G, h belongs to G, a, b belongs to ZpHaving a value of e (g)a,hb)=e(g,h)ab
(2) Non-degradability: e (g, g) ≠ 1.
Wherein e (G, G) represents the mapping of two elements in the cyclic group G to the multiplicative cyclic group GTWithout losing its isomorphism.
The technical scheme provided by the embodiment is a boolean searchable encryption scheme supporting fine-grained boolean access control and flexible attribute set structure and keyword structure, and comprises the following steps:
s1, system initialization: and the trusted authority TA generates a public key pk and a master key mk according to the security parameter K, and publishes the public key pk to the cloud server.
The trusted authority TA is a completely trusted third-party security authority, and is responsible for generating a pair of system public keys pk and a master key mk, and generating a corresponding private key sk according to an attribute set of a data user, where the system public key pk, the master key mk, and the private key sk are binary codes with a certain length.
After generating a public key pk and a master key mk, a Trusted Authority (TA) publishes the public key pk in a cloud storage server or broadcasts the public key pk to all users in the system, and all users in the system have the authority of accessing the public key pk; the master key mk is properly kept in the trusted authority TA, and only the trusted authority TA has the right to access the master key mk.
The specific process of the step is as follows:
s1a, trusted authority TA use group generator
Figure BDA0003412378930000101
Execute
Figure BDA0003412378930000102
To form (p, G, G)TE) where p is a prime number, G and GTFor a cyclic group of order p, G is the generator of G, e: g → GTIs a bilinear map;
s1b, selecting two anti-collision hash functions H by the trusted authority TA0(. and H)1Therein, a hash function H0(. cndot.) satisfies the following mapping:
Figure BDA0003412378930000103
wherein the content of the first and second substances,
Figure BDA0003412378930000104
is a set of all numbers prime to a prime number p, hash function H1(. cndot.) satisfies the following mapping: {0,1}*→G;
S1c, the trusted authority TA randomly selects the first, second, third and fourth parameters for realizing private key generation, document encryption and retrieval token generation
Figure BDA0003412378930000105
And by calculating
Figure BDA0003412378930000106
S1d, the trusted authority TA obtains the system public key according to the variables
Figure BDA0003412378930000107
Figure BDA0003412378930000111
Master key mk ═<β1,β2,α>。
S2, generating a private key: data users organize their attributes into a recursive attribute set
Figure BDA0003412378930000112
It is then sent to the trusted authority TA, which uses the master key mk and the recursive set of attributes
Figure BDA0003412378930000113
Generating a private key sk and sending the private key sk to a data user, wherein the attribute set
Figure BDA0003412378930000114
Is resolved into { A0,A1,...,An},AiTo represent
Figure BDA0003412378930000115
The ith sub-attribute set in (1), let sub-attribute set AiContaining miAn attribute, which can then be expressed as
Figure BDA00034123789300001124
Wherein a isi,jRepresenting a set of sub-attributes AiThe j-th attribute of (1).
The specific process of the step is as follows:
s2a, the credible authority TA is a recursive attribute set
Figure BDA0003412378930000116
Random selection
Figure BDA0003412378930000117
For recursive sets of attributes
Figure BDA0003412378930000118
Each subset A ofiSelection of riWhere r is a set of attributes
Figure BDA0003412378930000119
Parameter for subsequent and access tree match verification, riIs a set of attributes
Figure BDA00034123789300001110
Subset A ofiParameters for subsequent and access tree match verification, assuming a recursive set of attributes
Figure BDA00034123789300001111
There are n +1 subsets, and for the 2 nd to n +1 th subsets, their parameters riSatisfy the requirement of
Figure BDA00034123789300001112
Let 1 st subset A0Parameter r of0=r;
S2b, the trusted authority TA also needs to be a recursive attribute set
Figure BDA00034123789300001113
Each attribute a in (1)i,jSelecting a parameter ri,jFor subsequent matching calculations, wherein
Figure BDA00034123789300001114
S2c, calculating by a trusted authority TA
Figure BDA00034123789300001115
For subsequent generation
Figure BDA00034123789300001116
Computing
Figure BDA00034123789300001117
Figure BDA00034123789300001118
For subsequent generation
Figure BDA00034123789300001119
Wherein i is more than or equal to 0 and less than or equal to n, j is more than or equal to 1 and less than or equal to mi
S2d, calculating by a trusted authority TA
Figure BDA00034123789300001120
For subsequent generation
Figure BDA00034123789300001121
Wherein i is more than or equal to 1 and less than or equal to n;
s2e, the trusted authority TA obtains the private key of the data user according to the variables
Figure BDA00034123789300001122
And sends it to the data user.
S3, encryption: data owner uses system public key pk, recursive key set
Figure BDA00034123789300001123
Figure BDA0003412378930000121
And access tree
Figure BDA0003412378930000122
Generating a ciphertext C for the document, uploading the ciphertext C to a cloud server, and recursively collecting the keywords WVElement (1) of
Figure BDA0003412378930000123
Representing the i' th subset of the set of recursive keywords, which is resolved to
Figure BDA0003412378930000124
Recursive keyword name set
Figure BDA0003412378930000125
And a set of recursive keywords WVHaving the same structure, elements of the set
Figure BDA0003412378930000126
Denoted is the ith ' subset of the set of recursive keyword names, resolved as (ρ (i ', 1), ρ (i ', 2).. ρ (i ', m 'i′) Wherein, m'i′Indicating the number of keywords in the ith 'keyword subset, ρ (i', j ') indicating the name of the jth keyword in the ith' keyword subset, and wρ(i′,j′)A value representing a jth keyword in the ith' keyword subset;
the specific process of the step is as follows:
s3a, data owner randomly selects recursive key word set WVParameters for matching verification
Figure BDA0003412378930000127
And calculating parameters for ciphertext and keyword matching verification calculation
Figure BDA0003412378930000128
And parameters for conversion calculation at the conversion node
Figure BDA0003412378930000129
S3b, data owner generates a set containing n' random parameters
Figure BDA00034123789300001210
si′Is a recursive set of keywords WVIs a subset of
Figure BDA00034123789300001211
Parameters for performing a match verification, order s0Is a subset of
Figure BDA00034123789300001212
Parameters for performing matching verification;
s3c, the data owner generates a random parameter set for subsequent matching calculation
Figure BDA00034123789300001213
Wherein s isi′,j′Corresponding keyword wρ(i′,j′)
S3d, calculating parameters for calculating keyword matching algorithm DecryptNodeII by data owner
Figure BDA00034123789300001214
Wherein i 'is more than or equal to 0 and less than or equal to n', and j 'is more than or equal to 1 and less than or equal to m'i′The keyword matching algorithm decryptnodei is an algorithm for ciphertext and search token keyword matching computation, followed by computation of a subset that enables a recursive keyword set
Figure BDA00034123789300001215
S ofi′Conversion to subsets
Figure BDA00034123789300001218
S of0Parameter (d) of
Figure BDA00034123789300001216
Wherein i' is more than or equal to 1 and less than or equal to n;
s3e, using secret sharing algorithm by data owner
Figure BDA00034123789300001217
Figure BDA0003412378930000131
Secret sharing of s is calculated, where qv(0) The value of the constant in the secret sharing polynomial representing node v,
Figure BDA0003412378930000132
representing access trees
Figure BDA0003412378930000133
The leaf node of (a) is,
Figure BDA0003412378930000134
representation according to s and access tree
Figure BDA0003412378930000135
Running a secret sharing algorithm;
s3f, data owner aiming at access tree
Figure BDA0003412378930000136
Each leaf node of (1) calculates the sum of parameters for the calculation of the attribute matching algorithm DecryptNodeI
Figure BDA0003412378930000137
The attribute matching algorithm DecryptNodeI is an algorithm for matching calculation of a user attribute set and an access tree;
s3g, accessing tree
Figure BDA0003412378930000138
Is represented as
Figure BDA0003412378930000139
For each node
Figure BDA00034123789300001310
Figure BDA00034123789300001311
Data owner computing
Figure BDA00034123789300001312
Wherein the content of the first and second substances,
Figure BDA00034123789300001313
the support sets are mutually converted at a conversion node x;
s3h, obtaining the ciphertext according to the variable obtained in the step by the data owner
Figure BDA00034123789300001314
S4, search token generation: the data user uses the private key obtained in step S2 in combination with the boolean keyword value expression B local to the data userVGenerating a retrieval token TK, wherein BVIs an access tree structure, BNRepresenting a Boolean keyword name expression having a sum of BVSame access tree structure for BVLeaf node in (1)
Figure BDA00034123789300001315
The keyword value is represented as
Figure BDA00034123789300001316
Wherein
Figure BDA00034123789300001317
Representing a corresponding keyword name; the specific process of the step is as follows:
s4a, randomly selecting a value by data user
Figure BDA00034123789300001318
For subsequent parameter generation and calculating parameters for conversion calculation at conversion nodes
Figure BDA00034123789300001319
S4b, secret sharing algorithm used by data user
Figure BDA00034123789300001320
Secret sharing of computation t, for each leaf node
Figure BDA00034123789300001321
Data user calculation parameter for subsequent keyword matching algorithm DecryptNodeII calculation
Figure BDA00034123789300001322
Figure BDA00034123789300001323
For each conversion node
Figure BDA00034123789300001324
Data user calculation of parameters for conversion calculation at conversion node
Figure BDA0003412378930000141
S4c, the data user analyzes the private key sk into
Figure BDA0003412378930000142
Figure BDA0003412378930000143
And calculating parameters for ciphertext and keyword matching verification calculation
Figure BDA0003412378930000144
Figure BDA0003412378930000145
Parameter for calculating attribute matching algorithm DecryptNodeI
Figure BDA0003412378930000146
Wherein i is more than or equal to 0 and less than or equal to n, j is more than or equal to 1 and less than or equal to mi(ii) a And enable subset aiR ofiConversion to subset A0R of0Parameter (d) of
Figure BDA0003412378930000147
Wherein i is more than or equal to 1 and less than or equal to n;
s4d, obtaining the retrieval token by the data user according to the variable obtained in the step
Figure BDA0003412378930000148
Figure BDA0003412378930000149
S5, ciphertext search: and (4) the data user sends the retrieval token TK generated in the step S4 to the cloud server, the cloud server checks the retrieval token TK and the ciphertext C stored in the cloud server after receiving the retrieval token TK, checks whether the ciphertext C is matched, and sends the ciphertext C meeting the matching condition to the data user.
The specific process of the step is as follows:
s5a, the cloud server analyzes the ciphertext C into
Figure BDA00034123789300001410
Figure BDA00034123789300001411
Figure BDA00034123789300001412
Resolving the retrieval token TK into
Figure BDA00034123789300001413
S5b, according to the access tree
Figure BDA00034123789300001414
And attribute set
Figure BDA00034123789300001415
For access trees
Figure BDA00034123789300001416
The cloud server will return a set S for each node τ in (1)τWherein S isτIs a label of node τ, each label u corresponds to a set AuEach set AuCan satisfy sub access trees
Figure BDA00034123789300001419
For the root node R, then there is
Figure BDA00034123789300001421
Figure BDA00034123789300001420
The corresponding set is SR
S5c, if attribute set
Figure BDA00034123789300001417
Satisfying access trees
Figure BDA00034123789300001418
For each node τ, randomly slave set SτSelecting one label as u, operating attribute matching algorithm DecryptNodeI (C, TK, tau, u), inputting cipher text C, searching token TK, node tau and label u, calculating
Figure BDA0003412378930000151
The calculation result of the output node tau is returned to FτWherein, CτAnd C'τIs a parameter corresponding to the node τ in the ciphertext C,
Figure BDA0003412378930000152
and
Figure BDA0003412378930000153
is that the node tau of the retrieval token TK is in the subset AuParameters of the corresponding attributes; if there is no satisfied access tree
Figure BDA0003412378930000154
Property set of
Figure BDA00034123789300001516
Then "0" is returned.
According to the node type of the tau, u in the attribute matching algorithm DecryptNodeI (C, TK, tau, u) has the following two different calculation modes:
when node τ is a leaf node, if attribute att (τ) E A corresponding to node τ is presentiThen, the attribute matching algorithm DecryptNodeI (C, TK, tau, u) is run and output
Figure BDA0003412378930000155
Otherwise, the algorithm returns ″;
when the node tau is a non-leaf node, the cloud server first calculates a k containing the node tauτSet of sub-nodes Eτ,EτEach node z in the set must satisfy the set S of labels that the label u belongs to zz,u∈SzOr z is a transition node and there is at least one tag u' e Sz(ii) a Then, the attribute matching algorithm DecryptNodeI (C, TK, z, u') is operated and output
Figure BDA0003412378930000156
Then, F 'is obtained according to the value of tag u'zConverting by using a conversion formula, and calculating when u is 0
Figure BDA0003412378930000157
Outputting the calculation result
Figure BDA0003412378930000158
Wherein
Figure BDA0003412378930000159
Is the corresponding parameter of the tag u' in the retrieval token TK,
Figure BDA00034123789300001510
is the parameter corresponding to the node z in the ciphertext C; when u ≠ 0, it is calculated
Figure BDA00034123789300001511
Outputting the calculation result
Figure BDA00034123789300001512
Wherein
Figure BDA00034123789300001513
Is the corresponding parameter of the tag u in the retrieval token TK;
after E is calculatedτAfter each node in the tree, F is calculated using the following equationτ
Figure BDA00034123789300001514
Wherein the content of the first and second substances,
Figure BDA00034123789300001515
k=index(z),Uz={index(z):z∈Eτthe function of index (·) is to obtain the label of the node;
then, the attribute matching algorithm DecryptNodeI (C, TK, R, u) is operated to calculate the root node R, and when the label u of R is 0, the calculation result F is outputR=e(g,g)trs(ii) a When u is not equal to 0, outputting a calculation result
Figure BDA0003412378930000161
Finally, F is calculated according to the label u, and when the label u is equal to 0, F is equal to FR(ii) a When u ≠ 0, it is calculated
Figure BDA0003412378930000162
Outputting the calculation result F ═ e (g, g)trs
S5d, for a given set W of recursive keyword namesNAnd boolean keyword name expression BNFor BNEach node of
Figure BDA0003412378930000163
Cloud server computing a set of tags
Figure BDA0003412378930000164
Each label h corresponds to a WNIs a subset of
Figure BDA0003412378930000165
Each subset
Figure BDA0003412378930000166
Can all satisfy BNSubtree of
Figure BDA0003412378930000167
For root node
Figure BDA0003412378930000168
Then there is
Figure BDA0003412378930000169
Corresponding set is
Figure BDA00034123789300001610
S5e, if recursive keyword name structure WNSatisfy boolean keyword name expression BNFor each node
Figure BDA00034123789300001611
Random slave set
Figure BDA00034123789300001631
One label is selected and marked as h, and a keyword matching algorithm is operated
Figure BDA00034123789300001612
The algorithm inputs a ciphertext C, retrieves a token TK and accounts for
Figure BDA00034123789300001613
And a label h, by calculation
Figure BDA00034123789300001614
Output node
Figure BDA00034123789300001632
Result of calculation of (2)
Figure BDA00034123789300001615
Wherein the content of the first and second substances,
Figure BDA00034123789300001616
and
Figure BDA00034123789300001617
is a node in the retrieval token TK
Figure BDA00034123789300001618
Corresponding parameter, Cρ(h,j′)And C'ρ(h,j′)Is a node in the ciphertext C
Figure BDA00034123789300001619
In a subset
Figure BDA00034123789300001620
Parameters of the corresponding keyword name; if the expression B satisfying the Boolean keyword name does not existNOf the recursive keyword name structure WNThen, 0 is returned. According to
Figure BDA00034123789300001633
Node type of (2), keyword matching algorithm
Figure BDA00034123789300001621
There are two different ways of calculating:
as a node
Figure BDA00034123789300001622
When it is a leaf node, if
Figure BDA00034123789300001623
Keyword matching algorithm
Figure BDA00034123789300001624
Returning to the position of T; otherwise, assume that
Figure BDA00034123789300001625
Then
Figure BDA00034123789300001626
And run keyword matching algorithms
Figure BDA00034123789300001627
Outputting the result
Figure BDA00034123789300001628
Wherein s ishRepresenting subsets
Figure BDA00034123789300001629
The corresponding matching verification random number,
Figure BDA00034123789300001630
a constant in the secret sharing polynomial representing node τ; as a node
Figure BDA0003412378930000171
When the node is a non-leaf node, the cloud server firstly calculates a node containing node
Figure BDA0003412378930000172
Is/are as follows
Figure BDA0003412378930000173
Set of sub-nodes
Figure BDA0003412378930000174
Each node in
Figure BDA00034123789300001734
Must satisfy that tag h belongs to
Figure BDA0003412378930000175
Set of tags of
Figure BDA0003412378930000176
Figure BDA0003412378930000177
Is a conversion node and at least one label exists
Figure BDA0003412378930000178
Followed by running a keyword matching algorithm
Figure BDA0003412378930000179
Output of
Figure BDA00034123789300001710
Then, according to the value pair of the label h
Figure BDA00034123789300001711
Converting by using a conversion formula, and calculating when h is 0
Figure BDA00034123789300001712
Outputting the calculation result
Figure BDA00034123789300001713
Wherein
Figure BDA00034123789300001714
Is a node
Figure BDA00034123789300001715
Corresponding parameter, K, in the retrieval token TKh′Is the corresponding parameter of the tag h' in the ciphertext C; when h ≠ 0, calculate
Figure BDA00034123789300001716
Figure BDA00034123789300001717
Outputting the calculation result
Figure BDA00034123789300001718
Wherein KhIs the corresponding parameter of the tag h in the ciphertext C.
Has been calculated
Figure BDA00034123789300001719
After each node in the tree, the following equation is used to calculate
Figure BDA00034123789300001720
Figure BDA00034123789300001721
Wherein the content of the first and second substances,
Figure BDA00034123789300001722
next, the keyword matching algorithm decryptnodii (C, TK,
Figure BDA00034123789300001733
h) root node
Figure BDA00034123789300001723
Performing a calculation when
Figure BDA00034123789300001724
When the label h is equal to 0, the calculation result is output
Figure BDA00034123789300001725
When h is not equal to 0, outputting a calculation result
Figure BDA00034123789300001726
Finally, calculate according to the label h
Figure BDA00034123789300001727
When the label h is 0, order
Figure BDA00034123789300001728
When h ≠ 0, calculate
Figure BDA00034123789300001729
Outputting the calculation result
Figure BDA00034123789300001735
S5f, calculating parameters for verification matching calculation by the cloud server
Figure BDA00034123789300001730
And judge
Figure BDA00034123789300001731
Whether or not it is true, wherein,
Figure BDA00034123789300001732
the result of matching calculation of the ciphertext keyword and the user search keyword is shown as F, the result of matching calculation of the access tree and the user attribute is shown as F, and if the result is obtained, 0 is output; if not, a "1" is output.
Example 2
As shown in fig. 3, the present embodiment continuously provides a large-scale user-oriented boolean keyword ciphertext retrieval system, which includes the following four parts: a cloud storage subsystem running on the cloud server; an encryption subsystem operating at the data owner side; a user retrieval token generation and decryption subsystem operating at a data user side; and the initialization and private key generation subsystem runs in the trusted authority TA.
The initialization and private key generation subsystem running in the trusted authority TA comprises the following modules: the device comprises an initialization module, a master key storage module and a private key generation module. The initialization module is used for generating a system public key and a master key, distributing the public development of the system public key to the cloud server, and storing the master key to the master key storage module, wherein the master key storage module is used for storing the master key and only allowing a Trusted Authority (TA) to access; the private key generation module is used for receiving the attribute set of the data user
Figure BDA0003412378930000181
And generating a user private key sk by using the master key, and sending the user private key sk to the data user.
The cloud storage subsystem running on the cloud server comprises the following modules: the system comprises a system public key public module, a storage module and a retrieval module. The system public key module publishes a system public key pk generated by the trusted authority TA; the storage module is used for storing the encrypted data ciphertext of the data owner; the retrieval module performs one-to-one matching operation on the retrieval token and the data ciphertext, and sends the data ciphertext meeting the matching condition to the data user after the data ciphertext meeting the matching condition is obtained from the storage module.
The encryption subsystem operating at the data owner end comprises a data encryption module, the data encryption module acquires a system public key from the cloud server, encrypts a file by using the key and an access strategy defined by the data owner to obtain a data ciphertext, and sends the data ciphertext to the cloud server.
The user retrieval token generation and decryption subsystem running at the data user side comprises the following modules: the system comprises a retrieval token generation module, a user retrieval module and a data decryption module. The retrieval token generation module is responsible for generating a retrieval token by using a private key of a data user and a user query keyword predicate; the user retrieval module is responsible for sending the retrieval token to the cloud server to complete retrieval operation; and the data decryption module decrypts the data ciphertext obtained by the retrieval by using the user private key to recover the plaintext content.
To further illustrate this scenario, a searchable encryption method supporting flexible access policy matching, flexible user attribute organization, and boolean keyword retrieval applied to a healthcare scenario in accordance with an embodiment of the present invention is described below in conjunction with fig. 2.
In this embodiment, the keyword set structure height of the document is 2; the access policy access tree height of the data owner is 2; the attribute set architecture height for data users is 2. The specific flow in this example is as follows:
t1, running an initialization module by a trusted authority TA, generating a system public key pk and a master key mk according to the security parameter K, and distributing public development of the system public key pk to a cloud server; meanwhile, the data user sends its attribute set to the trusted authority TA
Figure BDA0003412378930000191
The set of attributes for data user 1 is represented as: { organization: university A, position: researcher, { department: pharmacy, position: principal }, { department: chemistry, position: professor } }; the trusted authority TA according to the master key mk and the data user attribute set
Figure BDA0003412378930000192
And generating a private key sk of the data user, and sending the private key sk to the data user. And the master key mk is stored in the master key storage module.
T2, data owner 1 owns three documents 1, 2, 3, where:
the recursive keyword set for document 1 is represented as: { name: plum, xiao ming, disease: heart disease, medication: liputal, { name: plum, xiao ming, disease: hypertension, medication: amiloride }, { name: plum, xiao ming, disease: heart disease, medication: nitroglycerin }, the structure of the access tree of the access strategy implemented is shown in fig. 4;
the recursive keyword set for document 2 is represented as: { name: wanxiaomai, disease: coronary heart disease, medication: aspirin, { name: wanxiaomai, disease: hypertension, medication: amiloride }, { name: wanxiaomai, disease: heart disease, medication: nitroglycerin }, the structure of the access tree of the access strategy implemented is shown in fig. 5;
document 3 the recursive keyword set is represented as: { name: zhang Xiao gang, disease: chronic urticaria, medication: loratadine, { name: zhang Xiao gang, disease: diabetes mellitus, medication: baida Yang }, { name: zhang Xiao gang, disease: heart disease, medication: nitroglycerin }, the structure of the access tree of the access strategy implemented is shown in fig. 4;
to encrypt the above document, the data owner 1 first runs an encryption subsystem, and obtains the system public key pk from the cloud storage subsystem on the cloud server. Then the subsystem uses the system public key pk to encrypt the three documents in sequence to generate a ciphertext { Ci}i=1,2,3And uploading to a cloud server.
And T3, after receiving the ciphertext set of the data owner 1, the cloud server stores the ciphertext set in a storage module of the cloud storage subsystem. For simplicity of explanation, it is assumed here that the current storage module stores only the above three ciphertexts { C of the data owner 1i}i=1,2,3
T4, if the user wants to inquire about the document whose disease is heart disease and the used medicine is Lipitor or nitroglycerin, operating the search token generation module of the user search token generation and decryption subsystem, and enabling the user private key sk and the query keyword predicate
Figure BDA0003412378930000201
(disease ═ heart disease ") AND((drug use ═ lipitor ") OR (drug use ═ nitroglycerin)) generates a retrieval token TK, and transmits the retrieval token TK to the user retrieval module. And the user retrieval module sends the retrieval token TK to the cloud server so as to perform the next retrieval operation.
T5, after receiving the query request of the data user 1, the cloud server operates a retrieval module, and the retrieval module is used for retrieving the TK and the ciphertext C in the storage module1、C2、C3And carrying out matching operation in sequence. After the matching operation is completed, the cloud server will accord with the ciphertext C1And C3And returns to data user 1.
T6 data user 1 receives returned data ciphertext C1And C3Then, a decryption module of the user retrieval and decryption subsystem is operated, and the module decrypts the ciphertext C by using the private key sk1And C3The plaintext contents of document 1 and document 3 are obtained.
In summary, the boolean keyword searchable encryption method supporting a large-scale user group disclosed in this embodiment supports a more flexible data user attribute organization manner and a more flexible access policy matching, and realizes more efficient access control. In the prior art, most of the technologies perform improvement or expansion work based on an ABE (attribute-based encryption) scheme or a PEKS (public-key encryption with key search) scheme. At present, although the two schemes can realize fine-grained access control, the attributes of the data users are still integrated into a single attribute set, which is not in accordance with the actual use scene. The invention uses the access tree to express the access strategy and organizes the data user attributes in a recursive set structure, thereby realizing more efficient access strategy matching. In addition, the encryption method also supports more flexible keyword organization mode and Boolean keyword retrieval. In the prior art, some technologies only support a data owner to encrypt data aiming at a single keyword, a data user uses the single keyword to retrieve the data, AND the data user does not support Boolean keyword search of logic word nesting such as AND, OR AND the like; meanwhile, in the prior art, keywords are organized in a set, and efficient keyword matching cannot be achieved in some practical use scenes. In the invention, by adopting the form of organizing the keywords into a recursion set and adopting a Boolean matching operation method, the flexible keyword organization and Boolean keyword search are realized.
The above embodiments are preferred embodiments of the present invention, but the present invention is not limited to the above embodiments, and any other changes, modifications, substitutions, combinations, and simplifications which do not depart from the spirit and principle of the present invention should be construed as equivalents thereof, and all such changes, modifications, substitutions, combinations, and simplifications are intended to be included in the scope of the present invention.

Claims (8)

1. A Boolean keyword searchable encryption method supporting a large-scale user group is characterized by comprising the following steps:
s1, system initialization: the trusted authority TA generates a public key pk and a master key mk according to the security parameter K, and publishes the public key pk to the cloud server;
s2, generating a private key: data users organize their attributes into a recursive attribute set
Figure FDA0003412378920000011
It is then sent to the trusted authority TA, which uses the master key mk and the recursive set of attributes
Figure FDA0003412378920000012
Generating a private key sk and sending the private key sk to a data user, wherein the attribute set
Figure FDA0003412378920000013
Is resolved into { A0,A1,...,An},AiTo represent
Figure FDA0003412378920000014
The ith sub-attribute set in (1), let sub-attribute set AiContaining miThe number of the attributes is one,
Figure FDA0003412378920000015
wherein a isi,jRepresenting a set of sub-attributes AiThe jth attribute of (1);
s3, encryption: data owner uses system public key pk, recursive key set
Figure FDA0003412378920000016
Figure FDA0003412378920000017
And access tree
Figure FDA0003412378920000018
Generating a ciphertext C for the document, uploading the ciphertext C to a cloud server, and recursively collecting the keywords WVElement (1) of
Figure FDA0003412378920000019
Representing the i' th subset of the set of recursive keywords, which is resolved to
Figure FDA00034123789200000110
Recursive keyword name set
Figure FDA00034123789200000111
And a set of recursive keywords WVHaving the same structure, elements of the set
Figure FDA00034123789200000112
Denoted is the ith ' subset of the set of recursive keyword names, resolved as (ρ (i ', 1), ρ (i ', 2).. ρ (i ', m 'i′) Wherein, m'i′Indicating the number of keywords in the ith 'keyword subset, ρ (i', j ') indicating the name of the jth keyword in the ith' keyword subset, and wρ(i′,j′)A value representing a jth keyword in the ith' keyword subset;
s4, search token generation: number ofAccording to the user 'S use of the private key obtained in step S2 in combination with the data user' S local Boolean keyword value expression BVGenerating a retrieval token TK, wherein BVIs an access tree structure, BNRepresenting a Boolean keyword name expression having a sum of BVSame access tree structure for BVLeaf node in (1)
Figure FDA0003412378920000021
The keyword value is represented as
Figure FDA0003412378920000022
Wherein
Figure FDA0003412378920000023
Representing a corresponding keyword name;
s5, ciphertext search: and (4) the data user sends the retrieval token TK generated in the step S4 to the cloud server, the cloud server checks the retrieval token TK and the ciphertext C stored in the cloud server after receiving the retrieval token TK, checks whether the ciphertext C is matched, and sends the ciphertext C meeting the matching condition to the data user.
2. The boolean keyword searchable encryption method according to claim 1, wherein said step S1 is performed by:
s1a, trusted authority TA use group generator
Figure FDA0003412378920000024
Execute
Figure FDA0003412378920000025
To form (p, G, G)TE) where p is a prime number, G and GTFor a cyclic group of order p, G is the generator of G, e: g → GTIs a bilinear map;
s1b, selecting two anti-collision hash functions H by the trusted authority TA0(. and H)1(. h), wherein,hash function H0(. cndot.) satisfies the following mapping:
Figure FDA0003412378920000026
wherein the content of the first and second substances,
Figure FDA0003412378920000027
is a set of all numbers prime to a prime number p, hash function H1(. cndot.) satisfies the following mapping: {0,1}*→G;
S1c, the trusted authority TA randomly selects the first, second, third and fourth parameters beta for realizing private key generation, document encryption and retrieval token generation1,β2,α,
Figure FDA0003412378920000028
And by calculating
Figure FDA0003412378920000029
gα,gαγ,g1/γ
S1d, the trusted authority TA obtains the system public key according to the variables
Figure FDA00034123789200000210
Figure FDA00034123789200000211
Master key mk ═<β1,β2,α>。
3. The boolean keyword searchable encryption method according to claim 1, wherein said step S2 is performed by:
s2a, the credible authority TA is a recursive attribute set
Figure FDA00034123789200000212
Random selection
Figure FDA00034123789200000213
For recursive sets of attributes
Figure FDA00034123789200000214
Each subset A ofiSelection of riWhere r is a set of attributes
Figure FDA00034123789200000215
Parameter for subsequent and access tree match verification, riIs a set of attributes
Figure FDA00034123789200000216
Subset A ofiParameters for subsequent and access tree match verification, assuming a recursive set of attributes
Figure FDA0003412378920000031
There are n +1 subsets, and for the 2 nd to n +1 th subsets, their parameters riSatisfy the requirement of
Figure FDA0003412378920000032
Let 1 st subset A0Parameter r of0=r,
Figure FDA0003412378920000033
Is a set of all numbers prime to the prime number p;
s2b, the trusted authority TA also needs to be a recursive attribute set
Figure FDA0003412378920000034
Each attribute a in (1)i,jSelecting a parameter ri,jFor subsequent matching calculations, wherein
Figure FDA0003412378920000035
S2c, calculating by a trusted authority TA
Figure FDA0003412378920000036
For subsequent generation
Figure FDA0003412378920000037
Computing
Figure FDA0003412378920000038
Figure FDA0003412378920000039
And
Figure FDA00034123789200000310
for subsequent generation
Figure FDA00034123789200000311
And
Figure FDA00034123789200000312
wherein i is more than or equal to 0 and less than or equal to n, j is more than or equal to 1 and less than or equal to mi
S2d, calculating by a trusted authority TA
Figure FDA00034123789200000313
For subsequent generation
Figure FDA00034123789200000314
Wherein i is more than or equal to 1 and less than or equal to n;
s2e, the trusted authority TA obtains the private key of the data user according to the variables
Figure FDA00034123789200000315
And sends it to the data user.
4. The boolean keyword searchable encryption method according to claim 1, wherein said step S3 is performed by:
s3a, data owner randomly selects recursive key word set WVParameters for matching verification
Figure FDA00034123789200000316
Figure FDA00034123789200000317
Is a set of all numbers prime to the prime number p, and calculates parameters for ciphertext and keyword match validation calculations
Figure FDA00034123789200000318
And parameters for conversion calculation at the conversion node
Figure FDA00034123789200000319
Figure FDA00034123789200000320
S3b, data owner generates a set containing n' random parameters
Figure FDA00034123789200000321
Wherein s isi′Is a recursive set of keywords WVIs a subset of
Figure FDA00034123789200000322
Parameters for performing a match verification, order s0Is a subset of
Figure FDA00034123789200000323
Parameters for performing matching verification;
s3c, the data owner generates a random parameter set for subsequent matching calculation
Figure FDA0003412378920000041
Wherein s isi′,j′Corresponding keyword wρ(i′,j′)
S3d, calculating parameters for calculating keyword matching algorithm DecryptNodeII by data owner
Figure FDA0003412378920000042
And
Figure FDA0003412378920000043
wherein i 'is more than or equal to 0 and less than or equal to n', and j 'is more than or equal to 1 and less than or equal to m'i′The keyword matching algorithm decryptnodei is used for ciphertext and search token keyword matching calculation, and then the subset enabling recursive keyword set is calculated
Figure FDA0003412378920000044
S ofi′Conversion to subsets
Figure FDA0003412378920000045
S of0Parameter (d) of
Figure FDA0003412378920000046
Wherein i 'is more than or equal to 1 and is more than or equal to n';
s3e, using secret sharing algorithm by data owner
Figure FDA0003412378920000047
Figure FDA0003412378920000048
Secret sharing of s is calculated, where qv(0) The value of the constant in the secret sharing polynomial representing node v,
Figure FDA0003412378920000049
representing access trees
Figure FDA00034123789200000410
The leaf node of (a) is,
Figure FDA00034123789200000411
representation according to s and access tree
Figure FDA00034123789200000412
Running a secret sharing algorithm;
s3f, data owner aiming at access tree
Figure FDA00034123789200000413
Each leaf node v of (1) calculates the parameters for the calculation of the attribute matching algorithm DecryptNodeI
Figure FDA00034123789200000414
And
Figure FDA00034123789200000415
the attribute matching algorithm DecryptNodeI is used for matching calculation of the user attribute set and the access tree;
s3g, accessing tree
Figure FDA00034123789200000416
Is represented as
Figure FDA00034123789200000417
For each node
Figure FDA00034123789200000418
Figure FDA00034123789200000419
Data owner computing
Figure FDA00034123789200000420
Wherein the content of the first and second substances,
Figure FDA00034123789200000421
the support sets are mutually converted at a conversion node x;
s3h, obtaining the ciphertext according to the variable obtained in the step by the data owner
Figure FDA00034123789200000422
5. The boolean keyword searchable encryption method according to claim 4, wherein said step S4 is performed by:
s4a, randomly selecting a value by data user
Figure FDA00034123789200000423
For subsequent parameter generation and calculating parameters for conversion calculation at conversion nodes
Figure FDA00034123789200000424
S4b, secret sharing algorithm used by data user
Figure FDA0003412378920000051
Secret sharing of computation t, for each leaf node
Figure FDA0003412378920000052
Data user calculation parameter for keyword matching algorithm DecryptNodeII calculation
Figure FDA0003412378920000053
And
Figure FDA0003412378920000054
Figure FDA0003412378920000055
for each conversion node
Figure FDA0003412378920000056
Data user calculation of parameters for conversion calculation at conversion node
Figure FDA0003412378920000057
S4c, the data user analyzes the private key sk into
Figure FDA0003412378920000058
Figure FDA0003412378920000059
And calculating parameters for ciphertext and keyword matching verification calculation
Figure FDA00034123789200000510
Parameter for calculating attribute matching algorithm DecryptNodeI
Figure FDA00034123789200000511
And
Figure FDA00034123789200000512
wherein i is more than or equal to 0 and less than or equal to n, j is more than or equal to 1 and less than or equal to mi(ii) a And enable subset aiR ofiConversion to subset A0R of0Parameter (d) of
Figure FDA00034123789200000513
Wherein i is more than or equal to 1 and less than or equal to n;
s4d, obtaining the retrieval token by the data user according to the variable obtained in the step
Figure FDA00034123789200000514
Figure FDA00034123789200000515
Figure FDA00034123789200000516
6. The boolean keyword searchable encryption method according to claim 5, wherein said step S5 is performed by:
s5a, the cloud server analyzes the ciphertext C into
Figure FDA00034123789200000517
Figure FDA00034123789200000518
Figure FDA00034123789200000519
Resolving the retrieval token TK into
Figure FDA00034123789200000520
S5b, according to the access tree
Figure FDA00034123789200000521
And attribute set
Figure FDA00034123789200000522
For access trees
Figure FDA00034123789200000523
The cloud server will return a set S for each node τ in (1)τWherein S isτIs a label of node τ, each label u corresponds to a set AuEach set AuCan satisfy sub access trees
Figure FDA00034123789200000524
For the root node R, then there is
Figure FDA00034123789200000525
Figure FDA0003412378920000061
The corresponding set is SR
S5c, if attribute set
Figure FDA0003412378920000062
Satisfying access trees
Figure FDA0003412378920000063
For each node τ, randomly slave set SτSelecting one label as u, operating attribute matching algorithm DecryptNodeI (C, TK, tau, u), inputting cipher text C, searching token TK, node tau and label u, calculating
Figure FDA0003412378920000064
Output node τ calculation result FτWherein, CτAnd C'τIs a parameter corresponding to the node τ in the ciphertext C,
Figure FDA0003412378920000065
and
Figure FDA0003412378920000066
is that the node tau of the retrieval token TK is in the subset AuParameters of the corresponding attributes; if there is no satisfied access tree
Figure FDA00034123789200000630
Property set of
Figure FDA0003412378920000067
Return to "0";
s5d, for a given set W of recursive keyword namesNAnd boolean keyword name expression BNFor BNEach node of
Figure FDA0003412378920000068
Cloud server computing a set of tags
Figure FDA0003412378920000069
Each label h corresponds to a WNIs a subset of
Figure FDA00034123789200000610
Each subset
Figure FDA00034123789200000611
Can all satisfy BNSubtree of
Figure FDA00034123789200000612
For root node
Figure FDA00034123789200000613
Then there is
Figure FDA00034123789200000614
Corresponding set is
Figure FDA00034123789200000615
S5e, if recursive keyword name structure WNSatisfy boolean keyword name expression BNFor each node
Figure FDA00034123789200000616
Random slave set
Figure FDA00034123789200000617
One label is selected and marked as h, and a keyword matching algorithm is operated
Figure FDA00034123789200000618
The algorithm inputs a ciphertext C, a retrieval token TK and a node
Figure FDA00034123789200000619
And a label h, by calculation
Figure FDA00034123789200000620
Output node
Figure FDA00034123789200000621
Result of calculation of (2)
Figure FDA00034123789200000622
Wherein the content of the first and second substances,
Figure FDA00034123789200000623
and
Figure FDA00034123789200000624
is a node in the retrieval token TK
Figure FDA00034123789200000625
Corresponding parameter, Cρ(h,j′)And C'ρ(h,j′)Is a node in the ciphertext C
Figure FDA00034123789200000631
In a subset
Figure FDA00034123789200000626
Parameters of the corresponding keyword name; if the expression B satisfying the Boolean keyword name does not existNOf the recursive keyword name structure WNThen return to "0";
s5f, calculating parameters for verification matching calculation by the cloud server
Figure FDA00034123789200000627
And judge
Figure FDA00034123789200000628
Whether or not it is true, wherein,
Figure FDA00034123789200000629
the result of matching calculation of the ciphertext keyword and the user search keyword is shown as F, the result of matching calculation of the access tree and the user attribute is shown as F, and if the result is obtained, 0 is output; if not, outputting"1"; wherein e (G, G) represents the mapping of two elements in the cyclic group G to the multiplicative cyclic group GTOf (1).
7. The boolean keyword searchable encryption method according to claim 6, characterized in that in step S5C, the attribute matching algorithm DecryptNodeI (C, TK, τ, u) has the following two different calculation manners according to the node type of the node τ:
when node τ is a leaf node, if attribute att (τ) E A corresponding to node τ is presentiThen, the attribute matching algorithm DecryptNodeI (C, TK, tau, u) is run and output
Figure FDA0003412378920000071
Otherwise, the algorithm returns ″;
when the node tau is a non-leaf node, the cloud server first calculates a k containing the node tauτSet of sub-nodes Eτ,EτEach node z in the set must satisfy the set S of labels that the label u belongs to zz,u∈SzOr z is a transition node and there is at least one tag u' e Sz(ii) a Then, the attribute matching algorithm DecryptNodeI (C, TK, z, u') is operated and output
Figure FDA0003412378920000072
Then, F 'is obtained according to the value of tag u'zConverting by using a conversion formula, and calculating when u is 0
Figure FDA0003412378920000073
Outputting the calculation result
Figure FDA0003412378920000074
Wherein
Figure FDA0003412378920000075
Is the corresponding parameter of the tag u' in the retrieval token TK,
Figure FDA0003412378920000076
is the parameter corresponding to the node z in the ciphertext C; when u ≠ 0, it is calculated
Figure FDA0003412378920000077
Outputting the calculation result
Figure FDA0003412378920000078
Wherein
Figure FDA0003412378920000079
Is the corresponding parameter of the tag u in the retrieval token TK;
after E is calculatedτAfter each node in the tree, F is calculated using the following equationτ
Figure FDA00034123789200000710
Wherein the content of the first and second substances,
Figure FDA00034123789200000711
k=index(z),Uz={index(z):z∈Eτthe function of index (·) is to obtain the label of the node;
then, the attribute matching algorithm DecryptNodeI (C, TK, R, u) is operated to calculate the root node R, and when the label u of R is 0, the calculation result F is outputR=e(g,g)trs(ii) a When u is not equal to 0, outputting a calculation result
Figure FDA00034123789200000712
Finally, F is calculated according to the label u, and when the label u is equal to 0, F is equal to FR(ii) a When u ≠ 0, it is calculated
Figure FDA00034123789200000713
Outputting the calculation result F ═ e (g, g)trs
8. The boolean keyword searchable encryption method according to claim 6, wherein in step S5d, based on nodes
Figure FDA0003412378920000081
Node type of (2), keyword matching algorithm
Figure FDA0003412378920000082
There are two different ways of calculating:
as a node
Figure FDA0003412378920000083
When it is a leaf node, if
Figure FDA0003412378920000084
Keyword matching algorithm
Figure FDA0003412378920000085
Returning to the position of T; otherwise, assume that
Figure FDA0003412378920000086
Figure FDA0003412378920000087
Then
Figure FDA0003412378920000088
And run keyword matching algorithms
Figure FDA0003412378920000089
Outputting the result
Figure FDA00034123789200000810
Wherein s ishRepresenting subsets
Figure FDA00034123789200000811
Corresponding matching testThe random number is verified and stored in a memory,
Figure FDA00034123789200000812
representation node
Figure FDA00034123789200000813
Constant in the secret sharing polynomial of (1);
as a node
Figure FDA00034123789200000814
When the node is a non-leaf node, the cloud server firstly calculates a node containing node
Figure FDA00034123789200000815
Is/are as follows
Figure FDA00034123789200000816
Set of sub-nodes
Figure FDA00034123789200000817
Figure FDA00034123789200000818
Each node in
Figure FDA00034123789200000819
Must satisfy that tag h belongs to
Figure FDA00034123789200000820
Set of tags of
Figure FDA00034123789200000821
Figure FDA00034123789200000822
Or
Figure FDA00034123789200000823
Is a conversion node and at least one of which is presentLabel (R)
Figure FDA00034123789200000824
Followed by running a keyword matching algorithm
Figure FDA00034123789200000825
Output of
Figure FDA00034123789200000826
Then, according to the value pair of the label h
Figure FDA00034123789200000827
Converting by using a conversion formula, and calculating when h is 0
Figure FDA00034123789200000828
Outputting the calculation result
Figure FDA00034123789200000829
Wherein
Figure FDA00034123789200000830
Is a node
Figure FDA00034123789200000831
Corresponding parameter, K, in the retrieval token TKh′Is the corresponding parameter of the tag h' in the ciphertext C; when h ≠ 0, calculate
Figure FDA00034123789200000832
Figure FDA00034123789200000833
Outputting the calculation result
Figure FDA00034123789200000834
Wherein KhIs the corresponding parameter of the tag h in the ciphertext C;
has been calculated
Figure FDA00034123789200000835
After each node in the tree, the following equation is used to calculate
Figure FDA00034123789200000836
Figure FDA00034123789200000837
Wherein the content of the first and second substances,
Figure FDA00034123789200000838
next, a keyword matching algorithm is run
Figure FDA00034123789200000839
Root node
Figure FDA00034123789200000840
Performing a calculation when
Figure FDA00034123789200000841
When the label h is equal to 0, the calculation result is output
Figure FDA00034123789200000842
When h is not equal to 0, outputting a calculation result
Figure FDA0003412378920000091
Finally, calculate according to the label h
Figure FDA0003412378920000092
When the label h is 0, order
Figure FDA0003412378920000093
When h ≠ 0, calculate
Figure FDA0003412378920000094
Outputting the calculation result
Figure FDA0003412378920000095
CN202111561029.3A 2021-12-15 2021-12-15 Boolean keyword searchable encryption method supporting large-scale user group Active CN114357477B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111561029.3A CN114357477B (en) 2021-12-15 2021-12-15 Boolean keyword searchable encryption method supporting large-scale user group

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111561029.3A CN114357477B (en) 2021-12-15 2021-12-15 Boolean keyword searchable encryption method supporting large-scale user group

Publications (2)

Publication Number Publication Date
CN114357477A true CN114357477A (en) 2022-04-15
CN114357477B CN114357477B (en) 2023-07-18

Family

ID=81101833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111561029.3A Active CN114357477B (en) 2021-12-15 2021-12-15 Boolean keyword searchable encryption method supporting large-scale user group

Country Status (1)

Country Link
CN (1) CN114357477B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116910788A (en) * 2023-08-15 2023-10-20 广州粤建三和软件股份有限公司 Searchable encryption management method and device for service data and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2709306A1 (en) * 2012-09-14 2014-03-19 Alcatel Lucent Method and system to perform secure boolean search over encrypted documents
CN107491497A (en) * 2017-07-25 2017-12-19 福州大学 Multi-user's multi-key word sequence of any language inquiry is supported to can search for encryption system
CN111913981A (en) * 2020-06-09 2020-11-10 华南理工大学 Online and offline attribute-based boolean keyword searchable encryption method and system
CN111966802A (en) * 2020-07-31 2020-11-20 河海大学 Attribute-based encryption method and system supporting keyword Boolean search
CN112100649A (en) * 2020-08-06 2020-12-18 华南理工大学 Multi-keyword searchable encryption method and system supporting Boolean access control strategy

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2709306A1 (en) * 2012-09-14 2014-03-19 Alcatel Lucent Method and system to perform secure boolean search over encrypted documents
CN107491497A (en) * 2017-07-25 2017-12-19 福州大学 Multi-user's multi-key word sequence of any language inquiry is supported to can search for encryption system
CN111913981A (en) * 2020-06-09 2020-11-10 华南理工大学 Online and offline attribute-based boolean keyword searchable encryption method and system
CN111966802A (en) * 2020-07-31 2020-11-20 河海大学 Attribute-based encryption method and system supporting keyword Boolean search
CN112100649A (en) * 2020-08-06 2020-12-18 华南理工大学 Multi-keyword searchable encryption method and system supporting Boolean access control strategy

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YU ZHANG等: "Searchable Public Key Encryption Supporting Simple Boolean Keywords Search", pages 114 - 123 *
孟祥宇: "面向密文数据的多关键字布尔搜索认证方法", pages 138 - 525 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116910788A (en) * 2023-08-15 2023-10-20 广州粤建三和软件股份有限公司 Searchable encryption management method and device for service data and storage medium

Also Published As

Publication number Publication date
CN114357477B (en) 2023-07-18

Similar Documents

Publication Publication Date Title
Sun et al. Blockchain-based secure storage and access scheme for electronic medical records in IPFS
Zhang et al. Searchable encryption for healthcare clouds: A survey
Cui et al. Efficient and expressive keyword search over encrypted data in cloud
US9503432B2 (en) Secure linkage of databases
Xhafa et al. An efficient PHR service system supporting fuzzy keyword search and fine-grained access control
Ying et al. A lightweight policy preserving EHR sharing scheme in the cloud
CN111913981B (en) Online and offline attribute-based boolean keyword searchable encryption method and system
CN106980796B (en) MDB-based cloud environment+Search method of tree multi-domain connection keywords
CN110866135B (en) Response length hiding-based k-NN image retrieval method and system
CN112100649B (en) Multi-keyword searchable encryption method and system supporting Boolean access control strategy
WO2018070932A1 (en) System and method for querying an encrypted database for documents satisfying an expressive keyword access structure
CN114357477B (en) Boolean keyword searchable encryption method supporting large-scale user group
CN115309861A (en) Ciphertext retrieval system, method, computer equipment and storage medium
Cao et al. A lightweight fine-grained search scheme over encrypted data in cloud-assisted wireless body area networks
Balasubramaniam et al. Geometric data perturbation-based personal health record transactions in cloud computing
CN109672525B (en) Searchable public key encryption method and system with forward index
Zarezadeh et al. Attribute-based Access Control for Cloud-based Electronic Health Record (EHR) Systems.
Hu et al. Attribute-based encryption of LSSS access structure with expressive dynamic attributes based on consortium blockchain
Kachouh et al. Privacy preservation of genome data analysis using homomorphic encryption
Lin et al. A privacy-preserving intelligent medical diagnosis system based on oblivious keyword search
Vo-Huu et al. Epic: Efficient privacy-preserving counting for mapreduce
Zhang et al. Efficient keyword search for public-key setting
Cao et al. Analysis of One Dynamic Multi-Keyword Ranked Search Scheme over Encrypted Cloud Data.
Zhu et al. Secure data retrieval of outsourced data with complex query support
CN117494221B (en) Internet of things data sharing method for block chain assisted search

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