CN117896066A - Double-chain architecture-based searchable encryption method capable of verifying multi-user authorization cross-domain - Google Patents

Double-chain architecture-based searchable encryption method capable of verifying multi-user authorization cross-domain Download PDF

Info

Publication number
CN117896066A
CN117896066A CN202410303232.8A CN202410303232A CN117896066A CN 117896066 A CN117896066 A CN 117896066A CN 202410303232 A CN202410303232 A CN 202410303232A CN 117896066 A CN117896066 A CN 117896066A
Authority
CN
China
Prior art keywords
user
domain
search
search request
administrator
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
CN202410303232.8A
Other languages
Chinese (zh)
Other versions
CN117896066B (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.)
Chengdu Univeristy of Technology
Original Assignee
Chengdu Univeristy of Technology
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 Chengdu Univeristy of Technology filed Critical Chengdu Univeristy of Technology
Priority to CN202410303232.8A priority Critical patent/CN117896066B/en
Publication of CN117896066A publication Critical patent/CN117896066A/en
Application granted granted Critical
Publication of CN117896066B publication Critical patent/CN117896066B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

The invention discloses a double-chain architecture-based verifiable multi-user authorization cross-domain searchable encryption method, which relates to the technical field of searchable encryption. The domain manager designates the search authority of the data when updating the data, and generates a shared key using the public key of the user having the search authority and the self private key so that the shared key and the self private key are embedded in the search ticket. The validity of the user search request is judged by using the intelligent contract on the demand chain in the double-chain architecture, the authorized search information is generated by using the domain administrator to the user search request, and the validity of the authorized search request is judged by using the intelligent contract on the response chain in the double-chain architecture. The invention ensures the non-falsification of the search information in the multi-data domain cross-domain search and provides higher flexibility for the data storage and the data search of the user.

Description

Double-chain architecture-based searchable encryption method capable of verifying multi-user authorization cross-domain
Technical Field
The invention relates to the technical field of searchable encryption, in particular to a searchable encryption method capable of verifying multi-user authorization cross-domain based on a double-chain architecture.
Background
The cloud, being a provider of outsourcing services, provides convenient storage services and lower storage costs for ever-increasing user data, and therefore, more and more organizations and individuals choose to outsource their own data to a third cloud service provider. However, data outsourcing also raises user concerns about data confidentiality. In order to better protect privacy security of personal data and facilitate data searching, related researchers have proposed searchable encryption techniques.
Searchable encryption is a secure computing technique that allows users to perform efficient search operations on encrypted data in a short period of time without exposing the plaintext data. In the conventional searchable encryption scheme, the user is often regarded as an honest entity and can honest perform the search operation, but the assumption is often unable to meet the requirements of the actual production and living environment, and a malicious adversary often plays a role of threatening the data security of the system. Therefore, verification of the legitimacy of the user identity appears and is important. User authentication is a process of ensuring that a system only allows legal users to access resources and execute operations, and by verifying the legality of the user identity, the system can ensure that only authorized users can access specific information and resources. At the same time, conventional searchable encryption schemes are also at risk for search token management. Management of a search token refers to the process by which the system verifies a series of creations, issues, and validates the search token. Typically, the search token contains the user's search rights information, which helps the cloud service provider to achieve fine-grained access control using the search token. Leakage and misuse of tokens can lead to serious threats to the security of the user's data.
Today, existing medical or geological systems often have multiple data owners, and the presence of multiple data sources makes the demand for data sharing and user cross-domain searching more acute. Data sharing and cross-domain searching refers to user entities under a domain accessing and using data content of other domains. In order to protect the privacy security of data, fine-granularity access control is realized, only authorized users can access the data, the data needs to be processed before the data is shared among all entities, and a specific key is set to encrypt the data. However, at present, research on cross-domain searching of multiple data sources is still rare, and management of key information and access tokens of shared data is also a problem to be solved in the cross-domain searching.
Blockchains are increasingly coming into the line of sight of researchers due to their distributed and non-tamperable nature and the internal fairness of smart contracts. Essentially, as a distributed database, the blockchain maintains an ever-expanding data record in blocks, each containing all of the transaction information for each entity of the system over a time period, and the list of records is recorded and verified by all nodes in the network. Aiming at the problems, how to deploy a searchable encryption scheme of cross-domain search on a blockchain is studied, the identity verification of a user and the fine granularity access control based on the identity of the user are realized, the management of a search token is realized, and the reliability of a transaction result is very necessary.
Disclosure of Invention
The invention provides a double-chain architecture-based verifiable multi-user authorization cross-domain searchable encryption system and a double-chain architecture-based verifiable multi-user authorization cross-domain searchable encryption method, which realize authorization management, cross-domain search and fine-granularity access control based on user identity of users under the condition of ensuring data privacy safety and search reliability.
The technical scheme adopted by the invention is as follows:
the node related to the method comprises a cloud server, a system administrator, a DA (data acquisition) and a user group, wherein the user group is positioned in the domain administrator;
the initialization stage comprises the following specific steps:
step 1: generating public parameters for a target system by a system administrator
Further, in step 1, the target system generates a disclosure parameter. Wherein (1)>Is a security parameter set by a system administrator for a target system; />Is of the order +.>Multiplication loop group of->Is of the order +.>Is a multiplication loop group of (a); />Is defined in the group->And group->Bilinear on a planeFor (I)> ;/>Two large prime numbers selected by a system administrator; />Is a group->Is a random generator of (1); />Refers to a standard hash function specified by a system administrator.
Step 2: for a target system, a system administrator generates a system double-chain architecture comprising a demand chain, a response chain, intelligent contracts on the demand chain, intelligent contracts on the response chain, and publishes an identity identifier of a cloud server
The system node authority control stage specifically comprises domain manager registration, user registration and cancellation, and user authority change;
the domain manager registration phase specifically comprises the following steps:
step 3: for registration requests sent by domain administrators, system administrators use public parametersGenerating an identity identifier of a domain administrator +.>Public and private key pair of domain manager +.>Public domain administrator identity identifier +.>Public key->Distributing private key +.>
Further, in step 3, domain administrator public keyPrivate key->. Wherein->Is a generator in the public parameter PG published by the system administrator,/for the system administrator>Is a random number selected by a system administrator from an integer domain Z;
step 4: recording an identity identifier of a domain administrator for an intelligent contract on a response chainPublic key information->
The specific steps of user registration are as follows:
step 5: for registration requests sent by users, a system administrator uses public parametersGenerating an identity identifier of a user->Public and private key pair of user +.>Public domain administrator identity identifier +.>Public key->Distributing private key to user using secure channel +.>
Further, in step 5, the user public keyPrivate key->. Wherein->Is a public parameter published by a system administrator +.>In (a) generator-> , />Is a random number selected by a system administrator from an integer domain Z;
step 6: smart contracts on demand chain record the identity of the user after sending a registration requestPublic key information->
The user logout request comprises the following specific steps:
step 7: aiming at a logout request sent by a user, a system administrator sets a user public keyIs 0, public user identity identifier +.>Public key->
Step 8: intelligent contracts on demand chain record user identity identifier after sending logout requestAnd public key information->
The user permission change request comprises the following specific steps:
step 9: aiming at a search permission changing request sent by a user, a system administrator informs a corresponding search domain administrator, and the domain administrator generates a new search label corresponding to the search permission for the user
And a data updating stage:
step 10: for data on domain administratorsDomain administrator generates reverse index database +.>
Further, domain administrators generate reverse index databasesThe format is (keyword->Document indexing) This means that the document index +.>The corresponding file contains the key words +.>
Step 11: domain administrator uses its own private keyAnd a user public key with search rights +.>Generating a shared key->
Further, domain administrators generate shared keysWherein->Is the private key of the domain administrator ,/>Is a user public key with search rights +.> , />Is the identity identifier of the domain administrator, +.>Is a public parameter published by a system administrator +.>Bilinear pair->HashFunction->
Step 12: reverse index database for itDocument entry->Domain administrator uses shared key +.>Self private key->Generating search Label->And sending the cloud information to a cloud server.
Further, the domain administrator generates a search tagThe specific steps of (a) are as follows:
step 12a: domain administrator uses published parameters published by system administratorHash function +.>And document entry->Keywords->Calculating hash value +.>Use of a shared key generated by a domain administrator +.>And from the integer domain->A random number is selected randomly>Calculate label->The method comprises the steps of carrying out a first treatment on the surface of the Domain administrator uses the public parameter +.>In (a) generator->Calculation tag->The method comprises the steps of carrying out a first treatment on the surface of the Domain administrator uses the public parameter +.>In (a) generator->Calculation tag->
And (3) a data searching stage:
step 13: the user constructs a user search request and sends the user search request to the intelligent contracts on the demand chain.
Further, the step of constructing the user search request is as follows:
step 13a: user generated key shared with target search domain administratorWherein->Is the private key of the user-> ,/>Domain administrator who is the target search domain is public +.> , />Is a public parameter published by a system administrator +.>Bilinear pair->
Step 13b: user use of published parameters published by a system administratorHash function +.>And keywords to be searched +.>Calculating hash value +.>Use of a user-generated shared key +.>And from the integer domain->A random number is selected randomly>Calculating search token->The method comprises the steps of carrying out a first treatment on the surface of the User using system administratorPublic parameters of cloth->In (a) generator->Computing search tokens->The method comprises the steps of carrying out a first treatment on the surface of the Public parameters published by user using system administrator ∈ ->In (a) a hash function in (b)Shared key->Token->Computing search tokens->
Step 13c: the user constructs a user search request, and fills in the self identity identifier at the sender in the user search requestThe recipient in the user search request is filled with the identity identifier of the target search domain administrator +.>Filling in the time of latest received search results acceptable to the user within the survival time of the user's search request +.>
Step 13d: user use of published parameters published by a system administratorHash function +.>Sender identifier +.>Identity identifier of recipient +.>Survival time->A hash value is calculated. And performs ECDSA signature algorithm on the hash value using self private key +.>Generating a signature->And populating the signature with a signature portion of the user search request.
Step 13e: the user searches the tokenAnd filling in the data field in the user search request.
Step 14: aiming at a user search request sent by a user, judging the validity of the user search request by an intelligent contract on a demand chain, and if the judgment is passed, forwarding the user search request to a domain manager of a corresponding search domain by the intelligent contract on the demand chain. If the determination is not passed, the intelligent contract on the demand chain discards the user search request.
Further, the steps of the intelligent contract on the demand chain verifying the user search request are as follows:
step 14a: firstly, judging whether the time of receiving the search request of the user is within the survival time of the search request or not by the intelligent contract on the demand chain, and if so, executing the step 14b by the intelligent contract on the demand chain;
step 14b: smart contracts on demand chain utilized in user search requestsUser identity identifierJudging user public key information recorded on demand chain +.>If the search request is 0, discarding the search request of the user by the intelligent contract on the demand chain if the search request is 0, otherwise, executing the step 14c by the intelligent contract on the demand chain;
step 14c: smart contracts on demand chain use hash functionsIdentification identifier of sender in user search request +.>Identity identifier of recipient +.>After the hash operation is performed, the validity of the signature in the user search request is verified by using an ECDSA signature verification algorithm. If the verification is passed, the intelligent contract on the demand chain forwards the user search request to a domain administrator of the corresponding search domain; otherwise, the intelligent contract on the demand chain discards the search request of the user and sends an error report to the system administrator;
step 15: the target search domain administrator first generates a shared keyThen, the legitimacy of the user identity is determined, and if the determination is passed, the domain administrator generates an authorized search token +.>And constructing an authorized search request, sending the authorized search request to the intelligent contract on the response chain, and if the intelligent contract is judged not to pass, discarding the authorized search request by the domain manager and sending an error report to the system manager.
Further, the target search domain administrator generates a shared keyThe steps of (a) are as follows:
step 15a: user shared key in domain administrator and user search requestWherein->Is the private key of the domain administrator +.> ,/>Public key of user in user search request +.> ,/>Is a public parameter published by a system administrator +.>Bilinear pair->
Further, the step of generating an authorized search token by the target search domain administrator is as follows:
step 15b: the domain administrator uses the shared key generated in step 15aMeter, from integer domain->Random number +.>Public parameters published by system administrator +.>In (a) generator->User search token in user search request user search token +.>Computing authorized search tokens
Further, the step of generating an authorized search request by the target search domain administrator is as follows:
step 15c: domain administrator uses published parameters published by system administratorHash function +.>Sender identifier +.>Identity identifier of recipient +.>Survival time->A hash value is calculated. And for this hash value the private key +.>Executing ECDSA signature algorithm to generate signature +.>
Step 15d: the domain administrator modifies the user search request and signs the user requestModifying the signature generated for step 15cName->The method comprises the steps of carrying out a first treatment on the surface of the User search token in data field in user search request +.>Modifying the authorization search token generated for step 15b +.>
Step 16: and judging the validity of the authorized search request by the intelligent contracts on the response chain, and if the judgment is passed, forwarding the authorized search to the cloud server by the intelligent contracts on the response chain. If the determination is not passed, discarding the authorized search request.
Further, the steps of verifying an authorized search request in response to an intelligent contract on the chain are as follows:
step 16a: the intelligent contract on the response chain firstly judges whether the time of receiving the authorized search request is within the survival time of the search request, if so, the intelligent contract on the response chain executes the step 16b;
step 16c: smart contracts on response chains use hash functionsIdentification identifier of sender in user search request +.>Identity identifier of recipient +.>Survival time->After the hash operation is performed, the validity of the signature in the authorized search request is verified by using an ECDSA signature verification algorithm. If the verification is passed, the intelligent contract on the response chain forwards the authorized search request to the cloud server; otherwise, discarding the authorized search request in response to the intelligent contract on the chain, and sending an error report to a system administrator;
step 17: the cloud server initializes an empty result set R, traverses all search labels of the receiver, namely the target domain, in the authorized search request, executes search matching operation, and returns the searched result to the sender in the authorized search request.
Further, the cloud server performs the step of authorizing the search request as follows:
step 17a: the cloud server traverses all data tag entries of the target search domain in the authorized search requestWherein->
Step 17b: cloud server using authorization search tokens in authorization search requestsData tag spurious +/in the label of data>A target value 1 and a target value 2 are calculated. If the target value 1 and the target value 2 are equal, the corresponding document index ind in the encryption tag of the cloud server is put into the result set R.
Wherein,
step 17c: based on the identity of the sender in the authorized search requestThe cloud server returns a result set +.>
In a preferred embodiment of the present invention, the domain administrator and user key pair is used by the system administrator to formulate system public parametersNumber of digitsAfter that, according to the system disclosure parameter->And (5) calculating to obtain the product.
In a preferred embodiment of the present invention, the user information recorded by the intelligent contract on the demand chain includes an identifier of the user, public key information, and a user search request; the user information recorded on the response chain includes an identity identifier of the domain administrator, public key information, and the domain administrator authorizes the search request.
In a preferred embodiment of the present invention, both the demand chain and the response chain are federation chains.
In a preferred embodiment of the present invention, after the system administrator approves the registration request of each domain administrator and user, the system administrator distributes the identity identifiers of each domain administrator and user in public, and distributes the private keys of each domain administrator and user through the secure channel.
In a preferred embodiment of the present invention, after a system administrator approves a logoff request of a certain user, the public key of the user is set to 0 to identify that the user has been logged off, and the identity identifier and public key of the user are disclosed.
In a preferred embodiment of the present invention, in the user search request and the domain management authority search request, the signature uses a hash function among the sender, the receiver, the survival time and the system public parameter PG to obtain a hash value and signs using the ECDSA algorithm.
In a preferred embodiment of the present invention, the domain administrator uses its own private keyPublic key of user with search rights +.>Self-identity identifier->System public parameter PG computes shared secret key
In a preferred embodiment of the present invention, the user with the search authority uses his own private keyPublic key of target search domain administrator +.>Identity identifier of target search domain administrator +.>System public parameter PG computes a shared secret key>
In a preferred embodiment of the present invention, the domain administrator uses its own private key for the same userPublic key of user with search rights +.>Self-identity identifier->System public parameter PG computes a shared secret key>And the user uses his own private key +.>Public key of target search domain administrator +.>Identity identifier of target search domain administrator +.>System public parameter PG computes a shared secret key>The values of (2) are the same.
In a preferred embodiment of the present invention, the domain administrator uses the shared key generated by the public key of the user with the search rightsPrivate key of oneself->Document entry +.>Random number generated for each document entry +.>System public parameter PG generates search tag +.>Ensuring that only the shared key is owned +.>And having the private key of the domain administrator used +.>The entity that generated the authorized search request can be matched with the search tag.
In a preferred embodiment of the present invention, the user uses a shared key with the target search domainGenerating search tokens-> Ensuring that domain administrators use shared keys +.>Performing identity verification, wherein->、/>And->Are tokens. .
In a preferred embodiment of the present invention, the domain administrator generates authorization using the user search token and its own private key
Search token:
it is ensured that only authorized search tokens can be matched with search tags.
Compared with the prior art, the invention has the beneficial effects that:
the data searching operation of users with different identities on different domains is realized by using the traditional public key encryption technology, so that the privacy security of the stored data of the users is ensured;
the dual verification operation of the user identity is realized by using the intelligent contract and the shared key of the domain manager and the user, and the legality and the effectiveness of the user searching behavior and the cloud server searching behavior are ensured by using the related searching information, the file verification information and the intrinsic fairness of the intelligent contract which are recorded by the public of the blockchain;
the use of a dual-chain architecture to manage multiple data domains provides greater flexibility for data storage and data searching for users.
In order to make the above objects, features and advantages of the present invention more comprehensible, embodiments accompanied with figures are described in detail below.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings that are needed in the embodiments will be briefly described below, it being understood that the following drawings only illustrate some embodiments of the present invention and therefore should not be considered as limiting the scope, and other related drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a diagram of an overall architecture of a searchable encryption system based on a double-chain architecture that can verify multi-user authorization cross-domain in an embodiment of the present invention;
FIG. 2 is a format diagram of a user search request and an authorized search request based on a double-chain architecture in an embodiment of the present invention;
FIG. 3 is a flow chart of a domain administrator registration protocol and a user registration protocol based on a dual-chain architecture in an embodiment of the present invention;
FIG. 4 is a flowchart of a user logout protocol and a user search permission change protocol based on a double-chain architecture in an embodiment of the present invention;
FIG. 5 is a flow chart of a data update protocol and a data search protocol based on a dual-chain architecture in an embodiment of the present invention;
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention.
Referring to fig. 1, fig. 2 and fig. 5, an embodiment of the present invention provides a double-chain architecture-based verifiable multi-user authorization cross-domain searchable encryption method, where nodes involved in the method include a cloud server, a system administrator, a domain administrator, a user group, and a target system with a double-chain architecture, where the target system includes the above entities, the searchable encryption method includes an initialization stage, a system node authority control stage, a data update stage, and a data search stage, and details of the stages are described below.
1. An initialization stage:
1) For target systems, system administrators formulatePublic parameter PG, identity identifier of cloud server
Public parameters
Wherein,is a security parameter set by a system administrator for a target system; />Is of the order +.>Multiplication loop group of->Is of the order +.>Is a multiplication loop group of (a); />Is defined in the group->And group->A bilinear pair of the two-way line, ; />two large prime numbers selected by a system administrator; />Is a group->Is a random generator of (1); />Refers to a standard hash function specified by a system administrator.
2) The system administrator deploys a target system with a double-chain architecture, including a demand chain, a response chain, intelligent contracts on the demand chain, and intelligent contracts on the response chain.
2. And a system node authority control stage:
the system node authority control stage comprises a domain manager registration stage, a user logout stage and a user search authority change stage, wherein the domain manager registration protocol and user registration protocol flow are shown in fig. 3, and the user logout protocol and user search authority change protocol flow are shown in fig. 4.
Further, the domain administrator registration phase is introduced as follows:
1) The domain manager sends a registration request, and the system manager uses the public parametersGenerating an identity identifier of a domain administrator +.>Public and private key pair of domain manager +.>Public domain administrator identity identifier +.>Public key->Distributing private key +.>
Wherein, thereinIs a public parameter published by a system administrator +.>In (a) generator-> , />Is a random number selected by the system administrator from the integer domain Z.
2) Recording an identity identifier of a domain administrator for an intelligent contract on a response chainPublic key information->
Further, the user registration phase is introduced as follows:
3) The user sends a registration request, and the system administrator uses the public parametersGenerating an identity identifier of a user->Public and private key pair of user +.>The method comprises the steps of carrying out a first treatment on the surface of the System administrator discloses domain administrator identity identifier +.>Public keyDistributing private key to user using secure channel +.>
Wherein,is a public parameter published by a system administrator +.>In (a) generator-> ,/>Is a random number selected by the system administrator from the integer domain Z.
4) Smart contracts on demand chain record the identity of the user after sending a registration requestPublic key information
Further, the user logout phase is introduced as follows:
5) The user sends out the logout request, the system administrator sets up the public key of the user0, public user identity identifierPublic key->
6) Smart contracts on demand chain record user identity identifiersPublic key information->
Further, the user right change phase is introduced as follows:
7) The user sends a search authority changing request to a system administrator, and the system administrator notifies the corresponding userSearching domain manager, domain manager generates new searching label corresponding to the searching authority for the user
3. And a data updating stage:
1) Domain administrator is the local domain dataGenerating an inverted index database->Wherein the processed reverse index database +_>By (keyword->Document index->) These document entries are composed.
2) Domain administrator generation of shared keys
Wherein, the middle partIs the private key of the domain administrator +.> ,/>Is a user public key with search rights +.> ,/>Is a public parameter published by a system administrator +.>Bilinear pair->
3) Domain administrator use reverse index databaseComputing search tags ;
Wherein,is a domain administrator from the integer domain->A random number selected from the group; />Private key which is kept secret by domain administrator +.> , /> Is thatA shared key generated by a domain administrator, +.>Public parameters published by the system administrator->A hash function and a generator in the database;
4) The domain administrator will search for tags
Sending the cloud server to a cloud server;
4. and (3) a data searching stage:
1) User selection of a target searchDomain, computing and target search domain administrator shared key
Wherein the method comprises the steps ofIs the private key of the user-> ,/>Domain administrator who is the target search domain is public +.> ,/>Is a public parameter published by a system administrator +.>Bilinear pair->
2) User slave integer domainA random number is selected randomly>Use of the keyword to be searched +.>Public parameters published by system administrator +.>Hash function +.>Generating meta->User calculated shared key +.>Computing user search tokens
3) User-specified user search request time-to-liveDesignating the sender as self-identity +.>Identity identifier designating recipient as target search domain administrator>
4) User computing uses published parameters published by a system administratorHash function +.>Sender identifier +.>Identity identifier of recipient +.>Survival time->Calculating a hash value and using ECDSA algorithm, using self private key +.>And the address on the demand chain signing this hash value +.>
5) The user constructs the user search request and fills in the senderReceiver->Survival time->User signature->User search token->
6) The user sends a search request to the smart contracts on the demand chain.
7) The intelligent contracts on the demand chain firstly judge whether the time of receiving the search request of the user is within the survival time of the search request or not, if the time is not judged to be passed, the intelligent contracts on the demand chain discard the search request of the user; if the determination passes, the intelligent contract on the demand chain uses the identity identifier of the sender in the user search requestJudging the user public key recorded on the demand chain +.>If the intelligent contract on the demand chain is 0, discarding the search request of the user, otherwise, using the hash function +.>Identification identifier of sender in user search request +.>Identity identifier of recipient +.>Survival time->Calculating a hash value, and verifying the validity of a signature in a user search request by using an ECDSA signature verification algorithm on the obtained hash value, user address information on a demand chain and user public key information; if the verification is passed, the intelligent contract on the demand chain forwards the user search request to the target search domain.
8) Target search domain administrator computes shared keys
Wherein the method comprises the steps ofIs the private key of the domain administrator +.> ,/>Public key of user in user search request +.> , />Is a public parameter published by a system administrator +.>Bilinear pair->
9) The target search domain administrator uses the public parameters published by the system administratorHash function +.>Search token +.>Calculating hash value +.>And search token->Comparing, if the two values are equal, the user is a legal user; otherwise, the domain administrator discards the user's search request and sends an error report to the system administrator.
10 Target search domain administrator from integer domainA random number is selected randomly>Public parameters published by a system administrator are used +.>Hash function +.>Generating meta->Self private key->Search token +.>Calculating an authorized search token
11 Directed search domain administrator to send in a search requestIdentity identifier of personIdentity identifier of recipient +.>Survival time->Public parameters published by system administrator +.>Hash function +.>Use of the own private key +.>And the address on the demand chain signing this hash value +.>
12 Target search domain management constructs an authorized search request, populating the senderReceiver->Survival time->Domain administrator signature->User search token->
13A domain administrator sends an authorized search request to the smart contracts on the response chain.
14 First determining contract receiving grant by intelligent contract on response chainWhether the time of the right search request is at the search request survival time or notIf the authorization search request is judged not to pass, discarding the authorization search request by the intelligent contract on the response chain; if the decision passes, the smart contract on the response chain uses the hash function +.>The identity identifier of the sender in the authorized search request +.>Identity identifier of recipient +.>Survival time->Calculating a hash value, and authorizing the validity of a signature in a user search request by using an ECDSA signature verification algorithm for the obtained hash value, domain manager address information and domain manager public key information on a response chain; and if the verification is passed, forwarding an authorized search request to the cloud server by the intelligent contract on the response chain.
15 Initializing an empty result set by the cloud serverTraversing encrypted tags on a target domainUse of an authorized search token in an authorized search request +.>Calculation of
16 If the target value 1 and the target value 2 are equal, the cloud server puts the document index value in the tagEntering a result setIs a kind of medium.
17 Cloud server to aggregate resultsAnd returning to the searching user.
The above is only a preferred embodiment of the present invention, and is not intended to limit the present invention, but various modifications and variations can be made to the present invention by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (10)

1. The utility model provides a but double-chain architecture based verifiable multiuser authorizes searchable encryption method of cross-domain, the node that this method involves includes cloud server, system manager, domain manager, and the user of different identities, characterized by that, this method includes the following steps:
step 1: generating public parameters for a target system by a system administrator
Step 2: for a target system, a system administrator generates a system double-chain architecture comprising a demand chain, a response chain, intelligent contracts on the demand chain, intelligent contracts on the response chain, and publishes an identity identifier of a cloud server
Step 3: for registration requests sent by domain administrators, system administrators use public parametersGenerating an identity identifier of a domain administrator +.>Domain pipePublic and private key pair of manager->Public domain administrator identity identifier +.>Public key->Distributing private key +.>
Step 4: recording an identity identifier of a domain administrator for an intelligent contract on a response chainPublic key->
Step 5: for registration requests sent by users, a system administrator uses public parametersGenerating an identity identifier of a userPublic and private key pair of user +.>Public domain administrator identity identifier +.>Public key->Distributing private key to user using secure channel +.>
Step 6: smart contracts on demand chain record the identity of the user after sending a registration requestPublic key->
Step 7: aiming at a logout request sent by a user, a system administrator sets a user public keyIs 0, public user identity identifier +.>Public key->
Step 8: aiming at a search permission changing request sent by a user, a system administrator informs a corresponding search domain administrator, and the domain administrator generates a search tag corresponding to the search permission for the user
Step 9: smart contracts on demand chain record user's identity identifierAnd public key information->
Step 10: for data on domain administratorsDomain administrator generates reverse index database +.>Wherein, reverse index database ++>The composition of (A) is (keyword +)>Document index->);
Step 11: domain administrator based on self private keyAnd a user public key with search rights +.>Generating a shared key->
Step 12: for reverse index databasesIn (keyword +.>Document index->) Domain administrator uses shared key +.>Self private key->Generating search Label->Sending the cloud information to a cloud server;
step 13: constructing a user search request by a user and sending the user search request to an intelligent contract on a demand chain;
step 14: aiming at a user search request sent by a user, judging the validity of the user search request by an intelligent contract on a demand chain, if the judgment is passed, forwarding the user search request to a domain manager of a corresponding search domain by the intelligent contract on the demand chain, and if the judgment is not passed, discarding the user search request by the intelligent contract on the demand chain;
step 15: the target search domain administrator first uses the shared key calculated by the domain administratorJudging the legitimacy of the user identity, if the judgment is passed, generating an authorized search request by the domain administrator, sending the authorized search request to the intelligent contract on the response chain, and if the judgment is not passed, discarding the authorized search request by the domain administrator, and sending an error report to the system administrator;
step 16: aiming at an authorized search request sent by a domain manager, judging the legitimacy of the authorized search request by an intelligent contract on a response chain, if the judgment is passed, forwarding the authorized search to a cloud server by the intelligent contract on the response chain, and if the judgment is not passed, discarding the authorized search request;
step 17: aiming at an authorized search request sent by a domain administrator, the cloud server executes search matching operation and returns the searched result to a sender in the authorized search request.
2. The double-chain architecture-based verifiable multi-user authorization cross-domain searchable encryption method according to claim 1, wherein in step 1, parameters are disclosedWherein->Indicating that a system administrator is set up for a target systemSetting safety parameters; />Is of the order +.>Multiplication loop group of->Is of the order +.>Is a multiplication loop group of (a); />Is defined in the group->And group->Bilinear pair on->;/>Two large prime numbers selected by a system administrator; />Is a group->Is a random generator of (1); />A standard hash function specified by a system administrator;
in step 3, the public and private key pair of the domain administratorWherein->Is a random number selected by a system administrator from an integer domain Z;
in step 5, the public and private key pair of the userWherein->Is a random number selected by a system administrator from an integer domain Z;
in step 11, the domain administrator shares the keyPrivate key by domain manager->Public key of user with search authorityAnd the identity identifier of the domain administrator +.>Calculated, shared key->
3. The double-chain architecture-based verifiable multi-user authorization cross-domain searchable encryption method according to claim 2, wherein in step 12, the search tag is searched forThe generation method of (1) comprises the following steps:
step 12a: domain administrator uses public parametersThe hash function H of (a) calculating the document entry (keyword +)>Document indexing) Keywords->And hash value->
Step 12b: domain administrator randomly selects an integer from the integer domainUse of shared key->Self private key->And public parameter->In (a) generator->Calculating a search tag:
wherein,、/>and->Are labels.
4. The method of claim 3, wherein in step 13, the user search request includes the sender, the receiver, the time-to-live, the signature, the data field, and the user's search token
User identity identifier for sender to send search requestThe method comprises the steps of carrying out a first treatment on the surface of the The identity identifier of the recipient as domain administrator in the target search domain +.>The method comprises the steps of carrying out a first treatment on the surface of the Survival time is the latest time of execution of the user search request +.>The method comprises the steps of carrying out a first treatment on the surface of the Signing is user's hash function according to sender, receiver, survival time, parameter PG issued by system administrator +.>And private key of oneself->Signature value +.>
5. The double-chain architecture-based verifiable multi-user authorization cross-domain searchable encryption method as recited in claim 4, wherein the userSearch tokens of (a)The generation method of (1) comprises the following steps:
step 13a: the user uses its own private keyPublic key of domain manager of target domain to be searched +.>Identification identifier of the domain administrator of the target domain to be searched +.>Public parameter->Hash function +.>And bilinear pair->Computing a shared key
Step 13b: the user uses the shared key K, the random numberPublic parameter->In (a) generator->And Hash function->Keyword to be searched->Calculating a search token of the user:
wherein,、/>and->Are tokens.
6. The double-chain architecture-based verifiable multi-user authorized cross-domain searchable encryption method according to claim 5, wherein in step 14, the method for determining the validity of the user search request by the intelligent contract on the demand chain comprises:
step 14a: the intelligent contracts on the demand chain first determine if the user search request is at the user search request survival timeIf yes, executing step 14b, otherwise discarding the user search request;
step 14b: judging whether a user public key in the user search request is 0 or not by the intelligent contract on the demand chain, if so, discarding the user search request, otherwise, executing the step 14c;
step 14c: smart contracts on demand chain use public parametersHash function +.>In a search request for a userThe sender's identity identifier, the receiver's identity identifier, the survival time carries on the hash operation, then uses ECDSA signature verification algorithm and the public key corresponding to sender in the user's search request, verifies the validity of the signature in the user's search request; if the signature verification is passed, the intelligent contract on the demand chain forwards the user search request to a receiver of the user search request, if the signature verification is not passed, the intelligent contract on the demand chain reports relevant error information to a system administrator, and the user search request is discarded.
7. The method of double-chain architecture based verifiable multi-user authorized cross-domain searchable encryption according to claim 6, wherein in step 15, the domain administrator determines the validity of the user identity in the user search request and generates the shared key K as follows:
step 15a: domain administrator uses its own private keyPublic key of user in search request +.>Self identity identifierPublic parameter->Hash function +.>And bilinear pair->Calculate shared key->
Step 15b: domain administrator uses self-computed shared key K, systemPublic parameters issued by an administratorMiddle Hash function +.>And +.>Calculating hash value +.>If the hash value and the search token +_ in the user search request>And if the user is equal, the user is a legal user, and if the user is not legal, the user is indicated to be legal.
8. The double-chain architecture based verifiable multi-user authorized cross-domain searchable encryption method according to claim 7, wherein in step 15, the method for domain administrators to generate authorized search requests comprises:
step 15c: domain administrator uses its own private keyRandom number selected from integer domain +.>Public key parameter->In (a) generator->And search token +.>Generating authorized search ordersCard:
step 15d: domain administrators use ECDSA algorithm to search for the identity of the sender, the identity of the recipient, the time-to-live, and their own private key in a request from a userSigning to obtain signature value->
Step 15e: domain administrator uses the identity of the sender in the user search request, the identity of the recipient in the user search request, the time-to-live in the user search request, the identity of the target search domain administrator, and the self-generated authorization search tokenSignature->An authorized search request is generated.
9. The double-chain architecture-based verifiable multi-user authorized cross-domain searchable encryption method according to claim 8, wherein in step 16, the specific step of verifying the validity of the authorized search request in response to the intelligent contract on the chain is as follows:
step 16a: the intelligent contract on the response chain firstly judges whether the authorized search request is within the survival time of the user search request, if so, the step 16b is executed, otherwise, the authorized search request is discarded;
step 16b: smart contract usage disclosure parameters on response chainHash function +.>Carrying out hash operation on the identity identifier of a sender, the identity identifier of a receiver and the survival time in the authorized search request, and then verifying the validity of the signature in the authorized search request by using an ECDSA signature verification algorithm and a public key corresponding to the receiver in the authorized search request; if the signature verification is passed, the intelligent contract on the response forwards the authorized search request to the cloud server, if the signature verification is not passed, the intelligent contract on the demand chain reports relevant error information to a system administrator, and the authorized search request is discarded.
10. The method of double-chain architecture-based verifiable multi-user authorized cross-domain searchable encryption according to claim 9, wherein in step 17, the specific operation of the cloud server performing search matching comprises:
the cloud server initializes an empty result set R, and traverses all encryption tags of a target search domain in a receiver in an authorized search requestI.e. +.>Use of an authorized search token->And public parameter->Bilinear pair->Calculating a target value 1 and a target value 2; if the target value 1 is equal to the target value 2, the cloud server puts the corresponding document index ind in the encryption tag into a result set R;
wherein,
CN202410303232.8A 2024-03-18 2024-03-18 Double-chain architecture-based searchable encryption method capable of verifying multi-user authorization cross-domain Active CN117896066B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410303232.8A CN117896066B (en) 2024-03-18 2024-03-18 Double-chain architecture-based searchable encryption method capable of verifying multi-user authorization cross-domain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410303232.8A CN117896066B (en) 2024-03-18 2024-03-18 Double-chain architecture-based searchable encryption method capable of verifying multi-user authorization cross-domain

Publications (2)

Publication Number Publication Date
CN117896066A true CN117896066A (en) 2024-04-16
CN117896066B CN117896066B (en) 2024-05-28

Family

ID=90641675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410303232.8A Active CN117896066B (en) 2024-03-18 2024-03-18 Double-chain architecture-based searchable encryption method capable of verifying multi-user authorization cross-domain

Country Status (1)

Country Link
CN (1) CN117896066B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180349617A1 (en) * 2017-06-06 2018-12-06 City University Of Hong Kong Electronic storage system and a method of data management
CN110474893A (en) * 2019-07-30 2019-11-19 同济大学 A kind of isomery is across the close state data safety sharing method of trust domain and system
CN113067857A (en) * 2021-03-15 2021-07-02 新疆大学 Electronic medical record cross-hospital sharing method based on double-chain structure
CN115174126A (en) * 2022-09-08 2022-10-11 山东省计算中心(国家超级计算济南中心) Outsourcing data ciphertext searching method and system based on block chain and SGX
CN115603934A (en) * 2022-05-06 2023-01-13 中国人民解放军国防科技大学(Cn) Multi-user searchable encryption method and device based on block chain
CN116579001A (en) * 2023-04-07 2023-08-11 北京航空航天大学 Multi-keyword searchable encryption method based on blockchain
CN117592101A (en) * 2023-11-20 2024-02-23 南京邮电大学 Medical data fine granularity safe sharing method based on novel block chain structure

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180349617A1 (en) * 2017-06-06 2018-12-06 City University Of Hong Kong Electronic storage system and a method of data management
CN110474893A (en) * 2019-07-30 2019-11-19 同济大学 A kind of isomery is across the close state data safety sharing method of trust domain and system
CN113067857A (en) * 2021-03-15 2021-07-02 新疆大学 Electronic medical record cross-hospital sharing method based on double-chain structure
CN115603934A (en) * 2022-05-06 2023-01-13 中国人民解放军国防科技大学(Cn) Multi-user searchable encryption method and device based on block chain
CN115174126A (en) * 2022-09-08 2022-10-11 山东省计算中心(国家超级计算济南中心) Outsourcing data ciphertext searching method and system based on block chain and SGX
CN116579001A (en) * 2023-04-07 2023-08-11 北京航空航天大学 Multi-keyword searchable encryption method based on blockchain
CN117592101A (en) * 2023-11-20 2024-02-23 南京邮电大学 Medical data fine granularity safe sharing method based on novel block chain structure

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
RANG ZHOU等: "Device-Oriented Keyword-Searchable Encryption Scheme for Cloud-Assisted Industrial IoT", 《IEEE INTERNET OF THINGS JOURNAL》, 2 November 2021 (2021-11-02) *
SHURAN WANG等: "MagikCube: Securing Cross-Domain Publish/Subscribe Systems with Enclave", 《2021 IEEE 20TH INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS》, 9 March 2022 (2022-03-09) *
周让等: "支持多用户场景的区块链可搜索加密新方案", 《 密码学报》, 15 October 2023 (2023-10-15) *

Also Published As

Publication number Publication date
CN117896066B (en) 2024-05-28

Similar Documents

Publication Publication Date Title
Eskandarian et al. Express: Lowering the cost of metadata-hiding communication with cryptographic privacy
Luo et al. Proving your location without giving up your privacy
JP4463979B2 (en) Apparatus and method for storing, verifying and using cryptographically camouflaged cryptographic keys
KR100807926B1 (en) Efficient management of cryptographic key generations
CN109922039A (en) A kind of identity management method of half centralization based on block chain technology
RU2512139C2 (en) Method and apparatus for pseudonym generation and authentication
CN114826703B (en) Block chain-based data search fine granularity access control method and system
US20190141048A1 (en) Blockchain identification system
Cissée et al. An agent-based approach for privacy-preserving recommender systems
CN108632385B (en) Time sequence-based cloud storage privacy protection method for multi-branch tree data index structure
RuWei et al. Study of privacy-preserving framework for cloud storage
CN109829333A (en) A kind of key message guard method and system based on OpenID
Jiang et al. FVC-dedup: A secure report deduplication scheme in a fog-assisted vehicular crowdsensing system
WO2022242572A1 (en) Personal digital identity management system and method
CN106657002A (en) Novel crash-proof base correlation time multi-password identity authentication method
Kulynych et al. Claimchain: Improving the security and privacy of in-band key distribution for messaging
Pussewalage et al. An anonymous delegatable attribute-based credential scheme for a collaborative e-health environment
Yan et al. Traceable and weighted attribute-based encryption scheme in the cloud environment
CN110572392A (en) Identity authentication method based on HyperLegger network
CN110012024A (en) A kind of data sharing method, system, equipment and computer readable storage medium
CN103795548B (en) A kind of distributed data base system and its implementation based on group ranking algorithm
CN117240452A (en) Plateau data safe sharing method based on block chain
Rukavitsyn et al. The method of ensuring confidentiality and integrity data in cloud computing
Lashkami et al. A blockchain based framework for complete secure data outsourcing with malicious behavior prevention
CN111262844A (en) Privacy protection method based on cryptographic technology

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