WO2019179277A1 - 一种数据访问权限的控制方法和装置 - Google Patents
一种数据访问权限的控制方法和装置 Download PDFInfo
- Publication number
- WO2019179277A1 WO2019179277A1 PCT/CN2019/075719 CN2019075719W WO2019179277A1 WO 2019179277 A1 WO2019179277 A1 WO 2019179277A1 CN 2019075719 W CN2019075719 W CN 2019075719W WO 2019179277 A1 WO2019179277 A1 WO 2019179277A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- proxy
- key
- encrypted
- requesting
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/40—Security arrangements using identity modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/062—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
Definitions
- the present application relates to the field of blockchain, and in particular, to a method and device for controlling data access rights.
- Block Chain also known as distributed ledger, is that transaction accounting is done by multiple nodes distributed in different places, and each node records the complete account.
- the blockchain is a chained data structure in which data blocks are sequentially connected in a chronological order, and is cryptographically guaranteed to be non-tamperable and unforgeable. Account book.
- blockchain has the characteristics of decentralization and de-trust.
- the decentralization means that the entire blockchain network has no centralized hardware or management mechanism, and the rights and obligations between any nodes are equal, and the damage or loss of any node will not affect the entire network system. The operation, therefore, ensures that the blockchain network is robust.
- the de-trust means that the data exchange between each node participating in the entire network does not need to trust each other, and the operation rules of the entire blockchain network system are open and transparent, and the data content on all the blockchain nodes is also It is public, therefore, within the rules or time range specified by the system, each node cannot and cannot spoof each other.
- the client requests access to data from a node in the blockchain, and the blockchain node provides the client with encrypted data and a decryption key, and then the client decrypts the encrypted data by using the decryption key to obtain access data, and Keep it on the blockchain.
- the decryption key is distributed. After the key is deleted, it cannot be revoked. As a result, when the user needs to be banned from accessing the user, the user cannot be prevented from accessing the data, which makes the data access have certain risks and insecurity.
- the present application provides a method and apparatus for controlling data access rights, so as to be able to control the issuance of data or ciphertext requested by a user when a user's access rights change.
- the present application provides a method for controlling data access rights, the method comprising the steps of: a first proxy node receiving a first request message from a requesting node, where the first request message includes an identity of the requesting node And identifying, by the first proxy node, the first encrypted ciphertext in the blockchain network according to the data identifier to be accessed, and determining, according to the identity identifier of the requesting node, whether the requesting node has Reading the first encrypted ciphertext; if yes, initiating a rights verification request for the requesting node to the at least one second proxy node, and determining, according to the feedback result of the at least one second proxy node The issuance of the first encrypted ciphertext.
- the first proxy node determines, according to the identity identifier of the requesting node, that the requesting node rejects the first request of the requesting node if the requesting node does not have the right to read the first encrypted ciphertext.
- the method provided by the aspect by adding a proxy node in the blockchain network, realizes that the data source node can freely grant or revoke the permission of the requesting node without modifying the ciphertext, that is, the proxy node is in the blockchain.
- the reading of the latest permission of the requesting node is performed to determine whether to authorize or deny the access request. If the latest permission is to deny access, the user can be prevented from continuing to access the data, thereby ensuring the security of the information in the network.
- further verification of the identity of the requesting party by using at least one second proxy node can prevent the possibility of cheating when only one first proxy node is used for verification, further improving the accuracy of the verification, thereby ensuring the security of information transmission.
- determining, according to the identity identifier of the requesting node, whether the requesting node has the right to read the first encrypted ciphertext comprises: according to the requesting node The identity identifier reads the authorization information of the requesting node closest to the end of the blockchained storage structure on the blockchain, the authorization information including permission or disallow.
- the latest access right of the requesting party can be obtained by reading the authorization information of the requesting node that is closest to the end of the blockchained storage structure, thereby preparing for verifying whether the requesting node can obtain the encrypted ciphertext and the key. .
- the requesting, by the at least one second proxy node, a rights verification request for the requesting node includes: determining, by the first proxy node, m second a proxy node, m is a positive integer greater than or equal to 1; generating the rights verification request, where the rights verification request includes an identity identifier of the requesting node and the first encrypted ciphertext, and the first encrypted ciphertext is And generating, by encrypting the access data, sending the rights verification request to the m second proxy nodes.
- determining, according to the feedback result of the at least one second proxy node, determining the issuance of the first encrypted ciphertext including:
- the first proxy node receives a partial key sent from at least k second proxy nodes, the partial key is the second proxy node, and verifying the request node according to the identity identifier of the requesting node Generating and transmitting after accessing the data, and k ⁇ m; restoring the at least k partial keys to generate a conversion key; converting the first encrypted ciphertext into the first by using the conversion key and an encryption algorithm And encrypting the ciphertext, the second encrypted ciphertext is generated by encrypting the public key of the requesting node, and sending the second encrypted ciphertext to the requesting node.
- the first proxy node sends the permission verification request to the multiple second proxy nodes, and after obtaining a sufficient number of partial keys sent by the second proxy node, the conversion key can be restored, that is,
- the second proxy node participates in and jointly decrypts to generate the conversion key, and the single node or the key participant cannot obtain the conversion key or ciphertext, thereby effectively preventing a few nodes from obtaining the ciphertext by cheating the access control.
- the method increases the complexity of decryption, thereby effectively ensuring the security of ciphertext transmission and reading, and preventing unauthorized users from reading ciphertext or data.
- determining, according to the feedback result of the at least one second proxy node, the issuing of the first encrypted ciphertext including: if the first proxy node Receiving a partial key sent by less than k second proxy nodes, or receiving a reject message fed back by at least one of the second proxy nodes, sending a message rejecting the access to the requesting node.
- the first proxy node receives the first request message from the requesting node, including: the first proxy node receiving the network through the blockchain The first request message forwarded by any of the blockchain nodes.
- the present application further provides a data transmission method, which may be applied to a data source node or a data owner.
- the first node is taken as an example, and the method includes the following steps:
- the first node obtains an identity of the second node, where the identity identifier is used to determine authorization information of the second node, the authorization information includes permission and disallow, and the second node is a request node or a data requester; If the authorization information is allowed, the first node generates a conversion key by using a private key of the first node, a public key of the second node, and an encryption algorithm; the first node utilizes a proxy node in the blockchain network The public key encrypts the conversion key to generate an encrypted partial key; the first node generates first transaction information, and records the first transaction information on the blockchain network, The first transaction information includes: an identity of the second node, authorization information of the second node, and an encrypted partial key.
- the first node encrypts the conversion key by using a public key of a proxy node in the blockchain network to generate an encrypted partial key.
- the method includes: the first node decomposes the conversion key into n partial keys by using a secret sharing algorithm, where n is a positive integer greater than or equal to 1; the first node selects m in the blockchain network a proxy node, and encrypting the n partial keys using the public keys of the m proxy nodes to generate n encrypted partial keys, m ⁇ n.
- the first transaction information further includes: an identifier of the m proxy nodes and a quantity k of the minimum partial key for restoring the conversion key, When the number of partial keys obtained is less than k, the required conversion key cannot be restored, thereby preventing a few or a part of the proxy nodes from cheating, thereby improving the security and reliability of the verification.
- the recording, by the first node, the first transaction information is sent to the blockchain network, A block chain node in the blockchain network, and the first transaction information is saved by broadcasting and consensus on the entire network through the blockchain node.
- the method further includes: if the authorization information is not allowed, canceling the authorization information of the second node; generating the second transaction information,
- the second transaction information includes an identity of the second node and authorization information of the second node; and the second transaction information is recorded on the blockchain network.
- the method before the first node obtains the identity of the second node, the method further includes: the first node using the public key of the first node to pass the proxy The re-encryption algorithm encrypts the access data to generate a first encrypted ciphertext; the first node saves the first encrypted ciphertext as a transaction in the blockchain network.
- the present application further provides a data transmission method, which may be applied to a second proxy node, where the second proxy node may also be a first proxy node or a primary proxy node, and the method includes the following step:
- the second proxy node receives the rights verification request from the first proxy node, where the rights verification request includes the identity identifier of the requesting node and the first encrypted ciphertext, and the first encrypted ciphertext is generated by encrypting the data to be accessed.
- the second proxy node determines, according to the identity of the requesting node, whether the requesting node has the right to read the first encrypted ciphertext; if yes, generates a partial key, and sends the partial key To the first proxy node.
- the second proxy node further verifies the authority of the requesting node when the first proxy node verifies that the requesting node is allowed to access, and sends the generated partial key to the first proxy node when the verification is to allow access. So that the first proxy node collects and synthesizes the final conversion key, so that the first proxy node can be effectively prevented from cheating, and the security of the verification is improved.
- the generating a partial key includes: obtaining, by the second proxy node, an encrypted partial key in a blockchain network, the encrypted The partial key is generated by encrypting with the public key of the second proxy node; the second proxy node decrypts the encrypted partial key with its own private key to generate the partial key.
- the method further includes: the second proxy node determining, according to the identity identifier of the requesting node, that the requesting node does not have the right to read the first Upon encrypting the ciphertext, the first request of the first proxy node is rejected.
- the present application further provides a control device for data access rights, for example, the device may be a network node or configured on the network node, where the device or network node may be the above aspect.
- the first proxy node, the first node or the second proxy node, the apparatus includes means for performing the first to third aspects, and the method steps in various implementations of the aspects.
- the device includes a receiving unit, a processing unit, and a sending unit.
- a receiving unit receives a signal from the base station
- a processing unit receives a signal from the base station
- a sending unit receives a signal from the base station
- other units or modules such as a transmission line.
- storage unit may also be included, and the present application is not limited thereto.
- the application further provides a network node, where the network node includes a processor, a transceiver, and a memory, where the network node is a first proxy node,
- the transceiver is configured to receive a first request message from a requesting node, where the first request message includes an identity identifier of the requesting node and a data identifier to be accessed;
- the processor is configured to determine, according to the to-be-accessed data identifier, a first encrypted ciphertext in the blockchain network, and determine, according to the identity identifier of the requesting node, whether the requesting node has the right to read the first Encrypting the ciphertext; if not, rejecting the first request of the requesting node; if so, initiating a rights verification request to the requesting node to the at least one second proxy node, and according to the at least one second proxy node
- the feedback result determines the issuance of the first encrypted ciphertext.
- the processor is specifically configured to: read, according to the identity identifier of the request node, the end of the blockchain chain storage structure closest to the blockchain
- the authorization information of the requesting node includes permission and disallow.
- the processor is specifically configured to determine m second proxy nodes, where m is a positive integer greater than or equal to 1; and the permission verification request is generated.
- the permission verification request includes an identifier of the requesting node and the first encrypted ciphertext, where the first encrypted ciphertext is generated by encrypting the data to be accessed; and the permission verification request is performed by using the transceiver And sent to the m second proxy nodes respectively.
- the transceiver is configured to receive a partial key sent by at least k second proxy nodes, where the partial key is the second The proxy node is generated and sent according to the identity of the requesting node after verifying that the requesting node has access to the data, and k ⁇ m;
- the processor is specifically configured to restore the at least k partial keys to generate a conversion key, and convert the first encrypted ciphertext into a second encrypted ciphertext by using the conversion key and an encryption algorithm.
- the second encrypted ciphertext is generated by encrypting the public key of the requesting node;
- the transceiver is specifically configured to send the second encrypted ciphertext to the requesting node.
- the processor is specifically configured to: if the first proxy node receives a partial key sent by less than k second proxy nodes, or receives at least A reject message fed back by the second proxy node is used by the transceiver to send a message rejecting the access to the requesting node.
- the transceiver is specifically configured to receive the first request message that is forwarded by any blockchain node in the blockchain network.
- the transceiver is configured to receive a rights verification request from a first proxy node, where the rights verification request includes an identity identifier of the requesting node and a first encryption.
- the ciphertext, the first encrypted ciphertext is generated by encrypting the data to be accessed;
- the processor is configured to determine, according to the identity identifier of the requesting node, whether the requesting node has the right to read the first encrypted ciphertext; if not, reject the first request of the first proxy node; Yes, a partial key is generated;
- the transceiver is further configured to send the partial key to the first proxy node.
- the processor is specifically configured to obtain an encrypted partial key in a blockchain network, where the encrypted partial key is generated by using a public key of the second proxy node to be encrypted;
- the encrypted partial key is decrypted with its own private key to generate the partial key.
- the present application further provides a network node, where the network node includes a processor, a transceiver, and a memory, where the network node is a data source node or a data owner, such as a first node. ,
- the transceiver is configured to obtain an identity of the second node, where the identity identifier is used to determine authorization information of the second node, where the authorization information includes permission and disallowment;
- the processor configured to generate a conversion key by using a private key of the network node, a public key of the second node, and an encryption algorithm if the authorization information is allowed; and using a proxy node in the blockchain network
- the public key encrypts the conversion key to generate an encrypted partial key; and generates first transaction information, and records the first transaction information on the blockchain network;
- the first transaction information includes: an identity identifier of the second node, authorization information of the second node, and an encrypted partial key.
- the processor is specifically configured to decompose the conversion key into n partial keys by using a secret sharing algorithm, where n is a positive integer greater than or equal to Selecting m proxy nodes in the blockchain network, and encrypting the n partial keys using the public keys of the m proxy nodes to generate n encrypted partial keys, m ⁇ n .
- the first transaction information further includes: an identity identifier of the m proxy nodes and a quantity k of the minimum partial key that restores the translation key.
- the processor is configured to send, by using a sending unit, the first transaction information to a blockchain node in a blockchain network, and pass the The blockchain node broadcasts and consensus on the entire network to save the first transaction information.
- the processor is further configured to: when the authorization information is not allowed, cancel the authorization information of the second node; generate a second Transmitting the information and recording the second transaction information on the blockchain network, the second transaction information including an identity of the second node and authorization information of the second node.
- the processor is further configured to: before the obtaining the identity of the second node, use a public key to encrypt the access data by using a proxy re-encryption algorithm to generate First encrypting the ciphertext; and storing the first encrypted ciphertext as a transaction in the blockchain network.
- the present application further provides a computer storage medium, where the computer storage medium can store instructions, which can implement the first to third aspects provided by the present application, and the first to third aspects Part or all of the steps of the method of controlling data access rights in various implementations.
- the present application also provides a computer program product comprising instructions for performing the methods described in the various aspects above when the instructions are run on a computer.
- FIG. 1 is a schematic diagram of a fabric architecture provided by the present application.
- FIG. 3 is a flowchart of a client requesting access to data in a blockchain network according to the present application
- 4a is a schematic structural diagram of a blockchain system provided by the present application.
- 4b is a flowchart of a method for controlling data access rights provided by the present application.
- FIG. 5 is a flowchart of another method for controlling data access rights provided by the present application.
- FIG. 6 is a flowchart of another method for controlling data access rights provided by the present application.
- FIG. 7 is a flowchart of a role of a proxy re-encryption system provided by the present application.
- FIG. 8 is a flowchart of still another method for controlling data access rights provided by the present application.
- FIG. 9 is a schematic structural diagram of a network node provided by the present application.
- FIG. 10 is a schematic diagram of an apparatus for a network node according to the present application.
- a blockchain which is a distributed database, which originates from bitcoin and is the underlying technology of bitcoin.
- a blockchain is a string of data blocks generated using cryptographic methods. Each block contains information about a bitcoin network transaction for verifying the validity of its information (anti-counterfeiting) and generating the next block ( Block).
- a blockchain is a chained data structure that combines data blocks in a sequential manner in chronological order, and cryptographically guaranteed non-tamperable and unforgeable distributed ledgers.
- a blockchain is a distributed ledger that holds the same records through multiple independent distributed nodes.
- Blockchain technology is a technical solution for collectively maintaining a reliable database through decentralization and trust. Whenever new data needs to be written into the blockchain, the data is aggregated into a block and added at the end of the existing blockchain. The consensus algorithm ensures that the newly added blocks of each node are identical. .
- each block records several transaction records, and contains the hash of the previous block. All the blocks store the information in the previous block in this way, and are connected in order to form the area.
- the blockchain is difficult to be tampered with. Based on the blockchain technology, a consistent direct transaction (Tx) can be achieved, eliminating the need for trusted third-party centralization agencies.
- a smart contract is an event-driven, stateful program that runs on a distributed blockchain and is capable of managing data on the ledger.
- a smart contract can be seen as an ordinary computer-executable program that satisfies the accuracy and auto-execution.
- the code content of the smart contract specifies the rules and logic of the transaction.
- the user signing the smart contract means that the contract content will be executed and written into the blockchain ledger.
- the consensus algorithm in the blockchain solves the consensus scenario for Byzantine fault tolerance. That is, the nodes in the blockchain network do not trust each other, and there may be malicious lying nodes. Each node in the blockchain network has a "lie" node, but many nodes are clustered into one network, and the result of their consensus is a credible result.
- the main function of the consensus algorithm is to let all nodes in the blockchain record the same valid transaction block content.
- blockchain is a technical mechanism to solve the problem of trust between multiple parties.
- the premise of multi-party trust is that the technical mechanism itself is credible, so the blockchain needs to be auditable.
- Blockchain systems, smart contracts, and consensus algorithms must be open sourced and open between multiple parties.
- Hyperfolder's Fabric project uses a mechanism for accelerating consensus.
- the core of the mechanism is that multiple endorser peers run smart contracts and endorsements of endorsements, such as endorsements.
- the content of the contract running result of the node itself is signed to ensure that the result is sent by a specific endorsement node.
- the user can set the endorsement node to be trusted by the smart contract and the verification strategy for multiple results according to actual needs, such as setting an endorse policy.
- the client can send a smart contract running request to the three endorsement nodes.
- the endorsement strategy can require that the contents of the three running results must be consistent, or that the contents of at least two running results are consistent.
- the client collects the running result of the feedback of the endorsement node, and broadcasts the running result recorded on one transaction to the blockchain network through the Orderer peer, and the node in the blockchain network, for example, the endorsement node reads the transaction, And to verify that the transaction is considered a valid transaction when the endorsement strategy is met, and accept the modification of the data in the transaction and write it into the blockchain.
- the client (client) or client application use the software development kit (SDK) to interact with the fabric system, construct a legitimate transaction, and provide the transaction to the endorsement node; when the collection is sufficient
- SDK software development kit
- the endorsement node required by the endorsement strategy can construct a legitimate transaction request and send it to the sorting node or the proxy node.
- Endorser peer responsible for checking the legality and permissions of transactions from the client. If the requirements are met, the signature is signed and the result is returned to the client.
- Orderer peer Responsible for sorting each transaction and broadcasting the ordered transactions to other nodes.
- the sorting node includes a node or a cluster that provides a consensus service.
- Confirmation node used to check the status of the batch transaction result in the agreed order, verify whether the transaction meets the requirements of the endorsement policy and ensure that the status of the read set variable of the ledger is unchanged, execute the legal transaction, generate the block, and write Enter the book.
- the technical solution of the present application also relates to a threshold cryptosyste.
- the threshold cryptosystem shares the private key corresponding to the public key in multiple members. Only when a specified number of members work together can the ciphertext encrypted by the public key be decrypted. Among them, the basis of the threshold cryptosystem is secret sharing.
- a scheme of a threshold cryptosystem is to divide a key into a plurality of shares, for example, into n shares, and send the shares one-to-one to n participants, any t of the n participants (t ⁇ n) or more than t participants can cooperate to complete the decryption operation, and if the participants are less than t, the decryption operation cannot be completed.
- Figure 2 shows a flow diagram of decryption in a threshold cryptosystem.
- the key cipher system involves a key distributor, a key participant, and a key compositor.
- the key distributor which is used to establish a trusted entity of the threshold cryptosystem, is responsible for generating various parameters involved in the threshold cryptosystem and securely transmitting the parameters to the respective key sharers.
- the key participant is a single entity participating in a threshold cryptosystem decryption operation; the key compositor acquires decryption shares of a plurality of participants and performs verification and decryption operations on the decrypted shares.
- step 1 Threshold initialization settings
- the key distributor enters security parameters
- the threshold cryptosystem returns a set of common parameters (represented by PK), such as n, t, and SK, where n indicates key participation.
- PK common parameters
- n indicates key participation.
- Step 2 Encryption, using the public parameter PK of the system and the identity ID of the key participant, encrypting the plaintext message, and generating and outputting the encrypted ciphertext c;
- Step 3 Share key generation, the key distributor uses the system common parameter PK, the encrypted ciphertext c and the master key SK to calculate the key share Ui;
- Step 4 The key distributor sends the key share Ui to a number of key participants
- Step 5 The key participant obtains the key share Ui, and each key participant decrypts the key share Ui to generate a decrypted share, such as decrypting the share 1, ..., decrypting the share t;
- Step 6 Each key participant sends the decrypted share generated by decrypting itself to the key compositor;
- Step 7 Joint decryption, the key synthesizer obtains the decrypted share, for example, obtains t decrypted shares, and verifies the t decrypted shares, and synthesizes the t decrypted shares by using the common parameter PK to obtain the encrypted ciphertext c, Finally, the encrypted ciphertext is decrypted to obtain a plaintext message.
- the technical solution provided by the present application is used to solve the technical problem that the access rights in the blockchain cannot be changed or revoked once authorized and delivered, so that the unauthorized users can access the data.
- the process by which the client requests access to data and decrypts the key in the blockchain network is as follows:
- step 1 user A uses client 1 to register information to generate information, such as plaintext information;
- Step 2 Client 1 encrypts the information using a symmetric key
- Step 3 The client 1 sends the encrypted information, and the encrypted information is recorded on the blockchain node 1 as a transaction on the blockchain;
- Step 4 The blockchain node 1 verifies and broadcasts the transaction
- Step 5 Blockchain nodes 1, 2 and 3 make a consensus on the block containing the transaction; the block chain nodes 1, 2 and 3 are nodes located on the same blockchain.
- the consensus can be understood as the block chain nodes 1, 2, and 3 respectively verifying whether the transaction conforms to the policy, and generating a corresponding verification result, and the verification results generated by the three block chain nodes are the same.
- Step 6 The blockchain node confirms and generates a block, and adds the block to the end of the chain structure of the existing blockchain of the local ledger;
- Step 7 User B uses client 2 to obtain information, such as plaintext information;
- Step 8 The client 2 requests the client 1 to obtain the access permission of the user B to request access to the plaintext information.
- Step 9 The client 1 sends the access rights information to the client 2, where the access rights information includes a symmetric key;
- Step 10 The client 2 requests the blockchain node 3 to acquire the encrypted information stored in the blockchain ledger;
- Step 11 Client 2 decrypts the information using a symmetric key.
- the main idea of the technical solution of the embodiments of the present application is to add multiple proxy nodes in the blockchain system, and each proxy node is used for jointly verifying user access in addition to the functions of the common node. Permissions and perform ciphertext conversion operations.
- the blockchain system includes a data source node or a data owner, at least one proxy node (Proxy), a plurality of common nodes, and a data request node.
- the data source node or the data owner is a saver of the data and an authorized party of the access authority; the common node may be used to perform functions such as broadcasting, consensus, and record saving of the transaction on the blockchain.
- the user requesting node is a node or client requesting access to data.
- the technical solution provided by the present application mainly includes a three-part process, namely: data saving, authority granting, and request data.
- the data source or data owner encrypts the original ciphertext and records and saves it on the blockchain.
- the data source node or the data owner authorizes, the permission information is written on the blockchain, and a conversion key corresponding to the authorized node is generated.
- the data source node or data owner divides the conversion key into several parts and sends them to different agent nodes.
- each proxy node initiates a consensus, reads the latest access rights of the data requesting node, and verifies whether the data requesting node has the right. If the right is, the proxy node collects the conversion key, and the original secret is obtained. The text is converted to another ciphertext that can only be decrypted by the authorized node itself, and is returned to the requesting node; if there is no right, the access is denied.
- each network device is collectively referred to as a network node, and the network node may be a first node, a second node that sends a request message, or may be a certain part of the blockchain.
- a blockchain node such as a first blockchain node or a first proxy node, a forwarded relay node, an arbitrary normal node, or a data source node.
- the network node includes, but is not limited to, a site, a base station, a user equipment, a client, and a terminal.
- the two concepts of the device and the node in the various embodiments of the present application are equivalent, that is, the device may refer to a node, a station, a UE, a network element device, a sensor, and the like.
- the blockchain and blockchain system described in the present application can be applied to various networks (such as in the Internet of Things), and the block or blockchain nodes can be deployed on various network devices (such as IoT devices).
- the network device includes industrial IoT devices, such as various industrial sensors, control modules, and the like; and may also be wearable devices, home appliances, home sensors, home control modules, etc., or base stations, enhanced base stations, or have scheduling Relay of functions, or devices with base station functions, etc.
- the base station may be an evolved Node B (eNB) in the LTE system, or may be a base station in other systems.
- eNB evolved Node B
- the embodiment of the present application is not limited.
- the foregoing various types of devices may be user equipment (UE), such as a mobile phone, a smart terminal, a multimedia device, a streaming media device, and the like.
- the UE may also be another wireless network device, such as a base station (Node B).
- Node B the form and type of the wireless network device are not limited herein.
- the UE may communicate with one or more core networks via a radio access network (RAN), and the UE may also access the wireless network for communication by other means, and the UE may also directly perform wireless communication with other UEs.
- RAN radio access network
- the embodiment does not limit this.
- an embodiment of the present application provides a method for controlling data access rights, where the method includes:
- Step 401 The first proxy node receives a first request message from the requesting node, where the first request message includes an identifier of the requesting node and a data identifier to be accessed.
- an implementation manner includes: the first proxy node receives the first request message forwarded by any blockchain node in the blockchain network.
- Step 402 The first proxy node determines, according to the to-be-accessed data identifier, a first encrypted ciphertext in the blockchain network, and determines, according to the identity identifier of the requesting node, whether the requesting node has the right to read the first Encrypt ciphertext.
- step 402 determining, according to the identity identifier of the requesting node, whether the requesting node has the right to read the first encrypted ciphertext comprises: reading on the blockchain according to the identity identifier of the requesting node.
- Step 403 If the first encrypted ciphertext is authorized to be read, that is, the authorization information is allowed, the permission verification request for the requesting node is initiated to the at least one second proxy node, and according to the at least one The feedback result of the second proxy node determines the issuance of the first encrypted ciphertext.
- the first proxy node determines that it is not authorized to read the first encrypted ciphertext, the first request of the requesting node is rejected.
- the first proxy node initiates a rights verification request to the requesting node to the at least one second proxy node, including:
- the ciphertext, the first encrypted ciphertext is generated by encrypting the data to be accessed; and the rights verification request is separately sent to the m second proxy nodes.
- the first proxy node determines, according to the feedback result of the at least one second proxy node, the issuance of the first encrypted ciphertext, including:
- the first proxy node receives a partial key sent from at least k second proxy nodes, the partial key is the second proxy node, and verifying the request node according to the identity identifier of the requesting node Generating and transmitting after accessing the data, and k ⁇ m; restoring the at least k partial keys to generate a conversion key; converting the first encrypted ciphertext into the first by using the conversion key and an encryption algorithm And encrypting the ciphertext, the second encrypted ciphertext is generated by encrypting the public key of the requesting node, and sending the second encrypted ciphertext to the requesting node.
- the first proxy node determines, according to the feedback result of the at least one second proxy node, the issuance of the first encrypted ciphertext, including: if the first proxy node receives less than k second proxy nodes, The partial key, or receiving the reject message fed back by the at least one of the second proxy nodes, sends a message rejecting the access to the requesting node.
- the method provided in this embodiment by adding a proxy node in the blockchain network, realizes that the data source node can freely grant or revoke the permission of the requesting node without modifying the ciphertext, that is, the proxy node is in the block.
- the reading of the latest permission of the requesting node is performed on the chain to determine whether to authorize or deny the access request. If the latest permission is to deny access, the user can be prevented from continuing to access the data, thereby ensuring the security of the information in the network.
- further verification of the identity of the requesting party by using at least one second proxy node can prevent the possibility of cheating when only one first proxy node is used for verification, further improving the accuracy of the verification, thereby ensuring the security of information transmission.
- the second proxy node receives the rights verification request from the first proxy node, where the rights verification request includes the identity identifier of the requesting node and the first encrypted ciphertext, and the first encrypted ciphertext is encrypted by the data to be accessed.
- the generating part of the key includes: the second proxy node obtains an encrypted partial key in a blockchain network, and the encrypted partial key is utilized by the second proxy node
- the public key is generated after the encryption; the second proxy node decrypts the encrypted partial key by using its own private key to generate the partial key.
- the second proxy node further verifies the authority of the requesting node when the first proxy node verifies that the requesting node is allowed to access, and sends the generated partial key to the first when the authentication is to allow access.
- the proxy node is configured to enable the first proxy node to collect and synthesize the final conversion key, thereby effectively preventing the first proxy node from cheating and improving the security of the verification.
- the main body of the operation performed in the “data saving process” may be a data source node or a data owner, and may also be another node having a save data and an authorization function.
- the “first node” is used to represent the execution data.
- other names such as the data owner, may be used, and the present application does not limit this.
- the public key encryption technology is involved in the data saving process.
- the public key cryptograph may also be called asymmetric cryptography, which is an algorithm of cryptography. Two keys are involved: one is a public key, called a "public key”, and the other is a private key, called a "private key.”
- the two keys function differently, one for encryption and the other for decryption. For example, if one of the keys is used to encrypt the plaintext, and the encrypted ciphertext is obtained, only the corresponding other key can be used to decrypt the original plaintext. That is, the ciphertext cannot be decrypted and accessed using the encrypted key. Since two different keys are used for the encryption and decryption of the plaintext, this process can be called asymmetric encryption. Symmetric encryption with the same key for encryption and decryption, using asymmetric encryption is more secure, because even if one of the two keys is acquired, the encrypted ciphertext cannot be decrypted and cannot be calculated. Another key, therefore, the public key can be published, published to the outside, for example, on the blockchain; the private key is kept by the client or the UE itself.
- the first node mainly performs the following method flow:
- the first node uses the public key of the first node to encrypt the ciphertext by using an encryption algorithm, such as a proxy re-encryption algorithm, to generate a first encrypted ciphertext Ea;
- an encryption algorithm such as a proxy re-encryption algorithm
- the first node saves the first encrypted ciphertext Ea as a transaction in a blockchain network.
- a manner of saving the transaction is: the first node sends a transaction request to any one of the ordinary nodes in the blockchain network, where the transaction request includes the first encrypted ciphertext Ea; and the transaction request is received.
- the ordinary nodes broadcast in the blockchain network, so that the respective blockchain nodes on the blockchain agree and save the related transactions of the first encrypted ciphertext Ea.
- another way of saving the transaction is that the first node directly sends the transaction request including the first encrypted ciphertext to any one of the proxy nodes, for example, the first proxy node, and passes the first proxy node. Broadcast and consensus the transaction to the blockchain.
- the method includes:
- Step 501 The first node records the identity I of the second node, and the access authority information R of the second node to the first encrypted ciphertext Ea.
- the second node is an authorized user, and the identity I of the second node may be a second node identifier, a user ID, a device ID, or a device identifier.
- the access right information R includes: granting authority and canceling authorization.
- Step 502 Determine whether the access authority information R includes content that grants permission or cancels authorization.
- Step 503a If the access right information R carries the content that grants the right, the first node generates the conversion key T by using the private key of the first node, the public key of the second node, and an encryption algorithm.
- Step 503b If the access right information R carries the content of the cancellation authority, the first node sends a transaction request to any one of the node chain networks, where the transaction request includes the access authority information R and The identity I of the second node.
- Step 504 The flow of step 503a is continued.
- the first node decomposes the conversion key T into n partial keys by using a secret sharing algorithm, where n is a positive integer greater than or equal to 1.
- the conversion key T is decomposed into (m, Tn), where Tn represents any partial key after decomposition, and m represents a minimum Tn number capable of restoring the conversion key T.
- Step 505 The first node randomly selects m proxy nodes in the blockchain network, and encrypts the n partial keys Tn by using the public keys of the m proxy nodes to generate n encrypted Partial key Tne, and m ⁇ n.
- Step 506 The first node generates first transaction information, and sends the first transaction information to any common node or blockchain node, where the first transaction information includes at least one of the following: an identity of the second node.
- the first transaction information further includes: an identifier of the m proxy nodes and a quantity m of the minimum partial key Tne that restores the conversion key.
- Step 507 The normal node or the proxy node broadcasts and saves the first transaction information (I, R, Tne, m) in the blockchain network, or, based on the flow of the above step 503b, broadcasts and records.
- the process of requesting a node to initiate a data access request to the blockchain and decrypting and accessing the encrypted ciphertext in the case of satisfying the authorized access is described in the "Request Data Flow”. Specifically, as shown in FIG. 6, the process includes The following steps:
- Step 601 The data requesting node sends a first request message to any common node, where the first request message includes: an identity identifier of the requesting node and a data identifier to be accessed, or a corresponding data identifier to be accessed.
- First encrypted ciphertext Ea
- Step 602 The normal node receives and forwards the first request message to the first proxy node Pm;
- the first proxy node Pm can be used as the primary node of the current request.
- Step 603 The first proxy node Pm receives the first request message, determines the first encrypted ciphertext Ea in the blockchain network according to the to-be-accessed data identifier carried in the first request message, and according to the request The identity I of the node determines whether it has the right to read the first encrypted ciphertext Ea;
- the first proxy node Pm reads the authorization information of the requesting node closest to the end of the blockchained storage structure on the blockchain according to the identity identifier I of the requesting node, and the authorization information includes permission and disallowment. .
- the block number of the authorization information is the largest
- Step 604a If there is no or no permission, reject the current access request of the data requesting node;
- Step 604b If the right or permission is allowed, initiate a rights verification request to the request node to the at least one second proxy node P;
- the selection of the second proxy node may be set in advance on the blockchain, or the system default blockchain nodes may be mutually discoverable.
- the mutual discovery of the default blockchain nodes refers to the second agent information that the first agent node can know by the transaction information stored in the blockchain in the “rights grant process”, for example, the first transaction information.
- the node encrypts the partial key Tn and generates the encrypted partial key Tne, and then transmits the rights verification request to the second proxy nodes.
- the rights verification request includes: an identity identifier I of the requesting node and a first encrypted ciphertext Ea.
- Step 605 The second proxy node P receives the rights verification request (I, Ea) from the first proxy node Pm, and determines, according to the identity identifier I of the requesting node, whether the data requesting node has the right to read the first encrypted ciphertext.
- Ea the rights verification request
- the first encrypted ciphertext Ea is generated by encrypting the data to be accessed.
- Step 606a If no (no right), reject the current access request of the data requesting node, for example, the second proxy node P feeds back the message rejecting the access to the first proxy node Pm;
- Step 606b If yes (right), generate a partial key Tn and send the partial key Tn to the first proxy node Pm.
- the second proxy node P reads the encrypted partial key Tne on the blockchain, and decrypts the Tne with its own private key to obtain the partial key Tn.
- Step 607 The first proxy node Pm receives the partial key Tn sent by the at least k second proxy nodes P, k ⁇ m, m is the second proxy node determined by the first proxy node Pm to send the rights verification request m quantity.
- Step 608 The first proxy node Pm restores the at least k partial keys Tn to generate a conversion key T;
- Step 609 The first proxy node Pm converts the first encrypted ciphertext Ea into a second encrypted ciphertext Eb by using the conversion key T and an encryption algorithm, and the second encrypted ciphertext Eb is requested by the data requesting node.
- the public key is generated after encryption.
- Step 610 The first proxy node Pm sends the second encrypted ciphertext Eb to the common node.
- Step 611 The normal node receives and sends the second encrypted ciphertext Eb to the data requesting node, so that the data requesting node decrypts the second encrypted ciphertext Eb by using its own private key, to obtain the Pending data.
- the method provided in the embodiment of the present application realizes that the data source node can freely grant or revoke the permission of the requesting node without modifying the ciphertext, that is, the proxy node is in the zone.
- the block chain performs the reading of the latest permission of the requesting node to determine whether to authorize or deny the access request. If the latest permission is to deny access, the user can be prevented from continuing to access the data, thereby ensuring the security of the information in the network.
- the data source node decomposes the conversion key into multiple partial keys and is chained to multiple agent nodes, so that only a sufficient number of partial secrets are obtained in the “request data flow”.
- the conversion key can be restored.
- a single node or key participant cannot obtain the conversion key or ciphertext, thereby effectively preventing a few nodes from bypassing the permission control and obtaining the ciphertext by cheating.
- This method adds decryption. The complexity, in turn, effectively ensures the security of ciphertext transmission and reading, preventing unauthorized users from reading ciphertext or data.
- the unauthorized party such as the first proxy node and the second proxy node, cannot obtain the plaintext, and thus the plaintext content cannot be read, thereby protecting the privacy of the data.
- the proxy node in this embodiment may be a proxy node or proxy in the proxy re-encryption system, and the proxy re-encryption is a new public key with a ciphertext security conversion function. Encryption system.
- the system includes: a delegate (Delegator), a semi-trusted proxy (Proxy), and a delegate (Delegatee).
- step 701 the consignor encrypts the plaintext message by using the public key of the delegator to generate an encrypted ciphertext
- Step 702 The client sends the encrypted ciphertext to a semi-trusted agent.
- Step 703 The principal acquires the public key of the delegatee
- Step 704 The delegator authorizes a ciphertext conversion key for the delegatee
- Step 705 The requester sends the ciphertext conversion key to the semi-trusted agent.
- Step 706 The semi-trusted agent obtains the encrypted ciphertext from the delegator, and the ciphertext conversion key for the entrusted party, and the semi-trusted agent converts the encrypted ciphertext, specifically, Converting the encrypted ciphertext into a ciphertext encrypted by the principal of the delegatee;
- Step 707 The semi-trusted agent sends the converted ciphertext to the delegatee
- Step 708 The delegated party acquires the converted ciphertext, and decrypts the converted ciphertext by using the private key of the delegatee to generate the plaintext message.
- a rights verification process is added at the agent node, and then the node that does not satisfy the authorized access right is denied access, thereby implementing the control of each authority in the blockchain. And changes to improve the security and reliability of data transmission.
- the method provided by the present application is described in detail by implementing Alice to store its own age in the super-book fabric block chain and controlling Bob to access.
- the new proxy node has the functions of performing permission verification and ciphertext conversion, and adding three proxy nodes (X, Y, Z) to the following configuration file to In the fabric blockchain network.
- Alice can perform the following method steps as the data owner or data source node:
- Step 801 Alice uses his own public key Pa to perform his own age a, and performs a proxy re-encryption algorithm to generate a second layer of ciphertext Ea.
- the proxy re-encryption algorithm may be a second layer encryption algorithm (E2) in the proxy re-encryption algorithm described in the paper "Improved Proxy Re-Encryption Schemes with Applications to Secure Distributed Storage”.
- Step 802 Alice packs Ea into a transaction and sends it to any ordinary node in the blockchain network; the normal node receives the transaction and broadcasts and consensus confirms the transaction.
- Step 803 Alice uses its own private key Sa, and Bob's public key Pb, to execute the re-encryption key generation algorithm (RG) in the above proxy re-encryption algorithm to generate a re-encryption key T or a conversion key T.
- RG re-encryption key generation algorithm
- the re-encryption key T is decomposed into three partial keys T1, T2, T3 by the Shamir key sharing algorithm.
- Step 805 Alice encrypts the partial keys T1, T2, and T3 by using the public keys of the proxy nodes X, Y, and Z respectively to generate encrypted partial keys, for example, T1x, T2y, and T3z, respectively.
- Step 806 The Alice record requester Bob has the right to access the second layer ciphertext Ea, the ciphertext processing node is X, Y, Z, and at least 2 nodes need to be processed together.
- Step 807 Alice packs the above information into a transaction and sends it to a common node, which broadcasts the information of the transaction and confirms the transaction.
- the authorization pseudo code is as follows:
- the pseudo code of the record authorization information performed by the common node is as follows:
- Step 808 Bob initiates a data request to any ordinary node, the data request includes its own identity information Bob and access data object 1;
- Step 809 The ordinary node forwards the data request to the proxy node X, and the proxy node X will serve as the primary node or the first proxy node of the current request;
- Step 810 The proxy node X reads the latest authority of the Bob to the data object 1 on the blockchain, and the result of the reading is allow;
- Step 811 The proxy node X reads the key processing node of the data object 1 as [X, Y, Z], and the proxy node X respectively initiates a key request to the node X, Y, Z, and the key request includes the Bob identity and Data object 1, and start waiting for feedback results;
- Step 812 The proxy node X, Y, Z reads the latest permission of the Bob on the data object 1 in the chain, and the result of the reading is allow;
- Step 813 In the case that the read result is allow, the proxy nodes X, Y, and Z respectively read the encrypted partial keys T1x, T2y, T3z recorded on the chain, and use the private keys of the proxy nodes X, Y, and Z. Decrypting the encrypted partial keys to obtain partial keys T1, T2, T3, and then sending them to the proxy node X;
- Step 814 The proxy node X receives any at least two of the partial keys T1, T2, and T3, for example, T1 and T2, and restores the decomposed partial key to the conversion key T using the Shamir secret sharing algorithm;
- Step 815 The proxy node X reads the second layer ciphertext Ea corresponding to the data object 1, and performs the re-encryption method (R) in the proxy re-encryption algorithm to perform the second layer ciphertext using the conversion key T.
- Ea is converted into the first layer ciphertext Eb encrypted by Bob's public key Pb;
- Step 816 The proxy node X sends the first layer ciphertext Eb to Bob;
- Step 817 Bob receives and performs the decryption method (D) in the proxy re-encryption algorithm to obtain the age a of Alice according to the first layer ciphertext Eb, using its own private key Sb.
- the method provided in this embodiment adds a proxy node to the blockchain, and implements the access control of any node between the data transmissions on the chain, that is, the data request node can change or reject the data request if the data request node does not have access to the data.
- the current request of the node prevents it from continuing to access the data, thereby ensuring the security of the information in the network.
- the conversion key is decomposed into multiple partial keys, and the uplink is held by multiple proxy nodes, so that only the "request data flow" is included.
- the conversion key can be restored, and a single node or key participant cannot obtain the conversion key or ciphertext, thereby effectively preventing a few nodes from obtaining the ciphertext by cheating the access control.
- This method increases the complexity of decryption and improves the security of data transmission and reading.
- the pseudo data of the read data executed by the proxy node X is as follows:
- the read key pseudo code executed by the proxy node X, Y, Z is as follows:
- the agent node X finds that the rights information indicates that access is not allowed during the process of reading the rights information, the access request of the requesting node is rejected.
- proxy node X can also be a master proxy node, such as a first proxy node, and can also be other proxy nodes, such as proxy nodes Y and Z.
- the access permission control method in the foregoing embodiment of the present application may also prevent a certain proxy node from cheating.
- the conversion key is decomposed into 3 shares, and the threshold number of the key sharing participant is limited. For example 2, there are the following cheating situations:
- the conversion key can be obtained, and Bob can also decrypt the plaintext.
- the cost of the cheat is higher than the way Bob caches the plaintext during the authorization period, so only Bob has obtained the authorized data. Will affect other data.
- FIG. 9 is a schematic structural diagram of a data access authority control apparatus according to an embodiment of the present disclosure.
- the apparatus includes a proxy node, and the apparatus may be a proxy node in the foregoing embodiment, or may be configured on a proxy node. Or the application and the first proxy node are used to execute the permission control method corresponding to FIG. 5 and FIG. 6.
- the network node includes: a receiving unit 901, a processing unit 902, and a transmitting unit 903.
- a receiving unit 901 receives data from a network node.
- a processing unit 902 receives data from a network node.
- a transmitting unit 903. receives data from a network node.
- other units and modules such as a storage unit, etc., may also be included.
- the receiving unit 901 is configured to receive a first request message from the requesting node, where the first request message includes an identifier of the requesting node and a data identifier to be accessed;
- the processing unit 902 is configured to determine, according to the data identifier to be accessed, a first encrypted ciphertext in the blockchain network, and determine, according to the identity identifier of the requesting node, whether the requesting node has the right to read the first encryption. Cipher text
- the sending unit 903 is configured to reject the first request of the requesting node if the first encrypted ciphertext is not authorized to read, and initiate the speaking to the at least one second proxy node if the right is authorized Request a permission verification request from the node,
- the processing unit 902 is further configured to determine, according to the feedback result of the at least one second proxy node, the issuance of the first encrypted ciphertext in the case of the right.
- the sending unit 903 is specifically configured to: read, according to the identity identifier of the requesting node, the end of the closest chain block chain storage structure on the blockchain.
- the authorization information of the requesting node, the authorization information includes permission and disallow.
- the processing unit 902 is specifically configured to determine the m second proxy nodes, and generate the rights verification request, where the rights verification request includes Determining an identity of the requesting node and the first encrypted ciphertext, where the first encrypted ciphertext is generated by encrypting the data to be accessed, and m is a positive integer greater than or equal to 1;
- the sending unit 903 is specifically configured to separately send the rights verification request to the m second agent nodes.
- the receiving unit 901 is further configured to receive a partial key sent by at least k second proxy nodes, where the partial key is the a second proxy node, according to the identity identifier of the requesting node, after verifying that the requesting node has access to data, and generating and transmitting, and k ⁇ m;
- the processing unit 902 is specifically configured to restore the at least k partial keys to generate a conversion key, and convert the first encrypted ciphertext into a second encrypted ciphertext by using the conversion key and an encryption algorithm.
- the second encrypted ciphertext is generated by encrypting the public key of the requesting node;
- the sending unit 903 is further configured to send the second encrypted ciphertext to the requesting node.
- the processing unit 902 is specifically configured to receive, by using the receiving unit, a partial key sent by less than k second proxy nodes, or And receiving, by the sending unit, a message rejecting the access by the sending unit, when receiving the reject message fed back by the at least one second proxy node.
- the receiving unit 901 is specifically configured to receive the first request that is forwarded by using any blockchain node in the blockchain network. Message.
- the network node may also be applied to the second proxy node for performing functions such as authority verification and result feedback of the second proxy node.
- the receiving unit 901 is configured to receive a rights verification request from the first proxy node, where the rights verification request includes an identity identifier of the requesting node and a first encrypted ciphertext, where the first encrypted ciphertext is treated by accessing Data is generated after encryption;
- the processing unit 902 is configured to determine, according to the identity identifier of the requesting node, whether the requesting node has the right to read the first encrypted ciphertext; if not, reject the first request of the first proxy node; , generating a partial key;
- the sending unit 903 is configured to send the partial key to the first proxy node.
- processing unit 902 is specifically configured to obtain an encrypted partial key in the blockchain network, where the encrypted partial key is encrypted by using the public key of the second proxy node. Generating; decrypting the encrypted partial key with its own private key to generate the partial key.
- the network node may also be a data source node or a data owner, such as a first node, and the structure of the first node is the same as that of the network node shown in FIG. 9, but each unit in the network node is further Has the following features.
- the receiving unit 901 is configured to obtain an identity identifier of the second node, where the identity identifier is used to determine authorization information of the second node, where the authorization information includes permission or disallowment;
- the processing unit 902 is configured to generate a conversion key by using a private key of the network node, a public key of the second node, and an encryption algorithm if the authorization information is allowed; and using a proxy node in the blockchain network
- the public key encrypts the conversion key to generate an encrypted partial key; and generates first transaction information, and records the first transaction information on the blockchain network;
- the first transaction information includes: an identity of the second node, authorization information of the second node, and an encrypted partial key.
- the processing unit 902 is specifically configured to decompose the conversion key into n partial keys by using a secret sharing algorithm, where n is greater than or equal to 1. a positive integer; selecting m proxy nodes in the blockchain network, and encrypting the n partial keys using the public keys of the m proxy nodes to generate n encrypted partial keys, m ⁇ n.
- the first transaction information further includes: an identity identifier of the m proxy nodes and a quantity k of the minimum partial key for restoring the conversion key.
- the processing unit 902 is specifically configured to send, by using a sending unit, the first transaction information to a blockchain node in a blockchain network, And storing, by the blockchain node, the first transaction information in a whole network broadcast and consensus.
- the processing unit 902 is further configured to: if the authorization information is not allowed, cancel the authorization information of the second node; generate The second transaction information is recorded on the blockchain network, and the second transaction information includes an identity of the second node and authorization information of the second node.
- the processing unit 902 is further configured to: use the public key to encrypt the access data by using a proxy re-encryption algorithm before obtaining the identity of the second node. Generating a first encrypted ciphertext; and storing the first encrypted ciphertext as a transaction in the blockchain network.
- the network node in the foregoing embodiment includes: a transceiver 1201, a processor 1202, and a memory 1203, and the network node may further include more or less components, or a combination thereof. Some components, or different component arrangements, are not limited in this application.
- the transceiver 1001 is configured to acquire and send a request message and feedback information, and perform data transmission with other nodes in the network.
- the transceiver may include a transceiver module, and the transceiver module may include a wireless local area network (WLAN) module, a Bluetooth module, a base band module, and the like, and a radio frequency corresponding to the communication module. (radio frequency, RF) circuit for wireless local area network communication, Bluetooth communication, infrared communication, and/or cellular communication system communication, such as wideband code division multiple access (WCDMA) and/or high speed High speed downlink packet access (HSDPA).
- WCDMA wideband code division multiple access
- HSDPA high speed High speed downlink packet access
- the transceiver module is configured to control communication of components in the terminal device and can support direct memory access.
- the processor 1002 is a control center of the switch that connects various portions of the entire switch using various interfaces and lines, by running or executing software programs and/or modules stored in the memory 1203, and recalling data stored in the memory 1203. To perform various functions and/or process data of the switch device.
- the processor 1202 may be composed of an integrated circuit (IC), for example, may be composed of a single packaged IC, or may be composed of a plurality of packaged ICs that have the same function or different functions.
- the processor may only include a central processing unit (CPU), or may be a GPU, a digital signal processor (DSP), and a control chip (for example, a baseband chip) in the transceiver. combination.
- the CPU may be a single computing core or may include multiple computing cores.
- the memory 1003 may include a volatile memory, such as a random access memory (RAM), and may also include a non-volatile memory, such as a flash memory. ), Hard Sisk Drive (HDD) or Solid-State Drive (SSD); the memory may also include a combination of the above types of memories.
- Programs or code may be stored in the memory, and the processor 1002 in the switch may implement the functions of the network node by executing the program or code.
- the function to be implemented by the transceiver 1001 may be implemented by the receiving unit 901 and the transmitting unit 903 shown in FIG. 9, or by the transceiver 1001 controlled by the processor 1002; The implemented functionality can then be implemented by processor 1002.
- the present application further provides a computer storage medium, wherein the computer storage medium may store a program, where the program may include a control method of data access rights provided by the present application, and a part of each embodiment of the data transmission method. Or all steps.
- the storage medium may be a magnetic disk, an optical disk, a read-only memory ROM or a random access memory RAM.
- the computer program product includes one or more computer instructions, such as verification instructions.
- the computer loads and executes the computer program, the processes or functions described in accordance with the above-described embodiments of the present application are generated in whole or in part.
- the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
- the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be from a network site, computer, server or data center Transfer to another site, computer, or server by wire or wirelessly.
- the computer readable storage medium can be any available media that can be accessed by a computer or a storage device such as a server, data center, or the like that includes one or more available media.
- the usable medium may be a magnetic medium such as a floppy disk, a hard disk, a magnetic tape, an optical medium (such as a DVD), or a semiconductor medium such as a solid state hard disk SSD or the like.
- the network node described in this embodiment may be a base station or an access point.
- the base station may be a base station (BTS, Base Transceiver Station) in GSM or CDMA, or may be a base station (NodeB) in WCDMA, or may be an evolved base station (eNB or e-NodeB, evolutional Node B) in LTE.
- BTS Base Transceiver Station
- NodeB base station
- eNB or e-NodeB, evolutional Node B evolutional Node B
- the network node may also be a client and a terminal device, and the terminal device may be a device that provides voice and/or data connectivity to the user, a handheld device with a wireless connection function, or a wireless modem. Other processing equipment.
- a wireless terminal can communicate with one or more nodes via a radio access network RAN, which can be a mobile terminal, such as a mobile telephone (or "cellular" telephone) and a computer having a mobile terminal, for example, can be Portable, pocket, handheld, computer built-in or in-vehicle mobile devices that exchange language and/or data with a wireless access network.
- a radio access network RAN can be a mobile terminal, such as a mobile telephone (or "cellular" telephone) and a computer having a mobile terminal, for example, can be Portable, pocket, handheld, computer built-in or in-vehicle mobile devices that exchange language and/or data with a wireless access network.
- PCS Personal communication service
- SIP Session Initiation Protocol
- WLL Wireless Local Loop
- PDA Personal Digital Assistant
- a wireless terminal may also be called a system, a subscriber unit, a subscriber station, a mobile station, a mobile station, a remote station, an access point, or an access point.
- Remote Terminal Access Terminal, User Terminal, User Agent, User Device, or User Equipment.
- the techniques in the embodiments of the present invention can be implemented by means of software plus a necessary general hardware platform. Based on such understanding, the technical solution in the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product, which may be stored in a storage medium such as a ROM/RAM. , a disk, an optical disk, etc., including instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform the methods described in various embodiments of the present invention or portions of the embodiments.
- a computer device which may be a personal computer, server, or network device, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
Description
Key | Value | Version |
Data | {id:1,data:Ea,owner:Alice} | 1 |
Claims (32)
- 一种数据访问权限的控制方法,其特征在于,所述方法包括:第一代理节点接收来自请求节点的第一请求消息,所述第一请求消息中包括请求节点的身份标识和待访问的数据标识;所述第一代理节点根据所述待访问的数据标识在区块链网络中确定第一加密密文,根据所述请求节点的身份标识判断所述请求节点是否有权读取所述第一加密密文;如果是,则向至少一个第二代理节点发起对所述请求节点的权限验证请求,并根据所述至少一个第二代理节点的反馈结果,确定所述第一加密密文的发放。
- 根据权利要求1所述的方法,其特征在于,根据所述请求节点的身份标识判断所述请求节点是否有权读取所述第一加密密文,包括:根据所述请求节点的身份标识,在区块链上读取最接近区块链链式存储结构末端的请求节点的授权信息,所述授权信息包括允许或不允许。
- 根据权利要求1所述的方法,其特征在于,所述向至少一个第二代理节点发起对所述请求节点的权限验证请求,包括:所述第一代理节点确定m个第二代理节点,m为大于等于1的正整数;生成所述权限验证请求,所述权限验证请求中包括所述请求节点的身份标识和所述第一加密密文,所述第一加密密文是通过对待访问数据进行加密后生成;将所述权限验证请求分别发送给所述m个第二代理节点。
- 根据权利要求1-3任一项所述的方法,其特征在于,根据所述至少一个第二代理节点的反馈结果,确定所述第一加密密文的发放,包括:所述第一代理节点接收来自至少k个第二代理节点发送的部分密钥,所述部分密钥是所述第二代理节点,根据所述请求节点的身份标识在验证所述请求节点有权访问数据后生成并发送的,且k≤m;对所述至少k个部分密钥进行还原,生成转换密钥;利用所述转换密钥和加密算法将所述第一加密密文转换为第二加密密文,所述第二加密密文由所述请求节点的公钥加密后生成;将所述第二加密密文发送给所述请求节点。
- 根据权利要求3所述的方法,其特征在于,根据所述至少一个第二代理节点的反馈结果,确定所述第一加密密文的发放,包括:如果所述第一代理节点接收小于k个第二代理节点发送的部分密钥,或者,接收至少一个所述第二代理节点反馈的拒绝消息,则向所述请求节点发送拒绝访问的消息。
- 根据权利要求1-5任一项所述的方法,其特征在于,所述第一代理节点接收来自请求节点的第一请求消息,包括:所述第一代理节点接收通过所述区块链网络中的任一区块链节点转发的所述第一请求消息。
- 根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:所述第一代理节点根据所述请求节点的身份标识判断所述请求节点如果无权读取所述第一加密密文,则拒绝所述请求节点的第一请求。
- 一种数据传输方法,其特征在于,所述方法包括:第一节点获得第二节点的身份标识,所述身份标识用于确定所述第二节点的授权信息;如果所述授权信息为允许,则所述第一节点利用第一节点的私钥、第二节点的公钥和加密算法生成转换密钥;所述第一节点利用区块链网络中的代理节点的公钥对所述转换密钥进行加密,生成加密后的部分密钥;所述第一节点生成第一交易信息,并将所述第一交易信息记录在所述区块链网络上,所述第一交易信息包括:第二节点的身份标识、第二节点的授权信息和加密后的部分密钥。
- 根据权利要求8所述的方法,其特征在于,所述第一节点利用区块链网络中的代理节点的公钥对所述转换密钥进行加密,生成加密后的部分密钥,包括:所述第一节点利用秘密分享算法将所述转换密钥分解成n个部分密钥,n为大于等于1的正整数;所述第一节点在所述区块链网络中选取m个代理节点,并使用所述m个代理节点的公钥对所述n个部分密钥进行加密,生成n个加密后的部分密钥,m≤n。
- 根据权利要求9所述的方法,其特征在于,所述第一交易信息中还包括:m个代理节点的身份标识和还原所述转换密钥的最小部分密钥的数量k。
- 根据权利要求8-10任一项所述的方法,其特征在于,将所述第一交易信息记录在所述区块链网络上,包括:所述第一节点将所述第一交易信息发送给区块链网络中的区块链节点,并通过所述区块链节点在全网广播和共识,保存所述第一交易信息。
- 根据权利要求8所述的方法,其特征在于,所述方法还包括:如果所述授权信息为不允许,则取消所述第二节点的授权信息;生成第二交易信息,所述第二交易信息包括第二节点的身份标识和第二节点的授权信息;将所述第二交易信息记录在所述区块链网络上。
- 根据权利要求8-10任一项所述的方法,其特征在于,在第一节点获得第二节点的身份标识之前,所述方法还包括:所述第一节点使用第一节点的公钥通过代理重加密算法对待访问数据进行加密,生成第一加密密文;所述第一节点将所述第一加密密文作为一个交易保存在所述区块链网络中。
- 一种数据传输方法,其特征在于,所述方法包括:第二代理节点接收来自第一代理节点的权限验证请求,所述权限验证请求中包括请求节点的身份标识和第一加密密文,所述第一加密密文是通过对待访问数据进行加密后生成;所述第二代理节点根据所述请求节点的身份标识判断所述请求节点是否有权读取所述第一加密密文;如果是,则生成部分密钥,并将所述部分密钥发送给所述第一代理节点。
- 根据权利要求14所述的方法,其特征在于,所述生成部分密钥,包括:所述第二代理节点在区块链网络中获得加密后的部分密钥,所述加密后的部分密钥是利用所述第二代理节点的公钥加密后生成的;所述第二代理节点利用自己的私钥对所述加密后的部分密钥进行解密,生成所述部分密钥。
- 根据权利要求14或15所述的方法,其特征在于,所述方法还包括:所述第二代理节点根据所述请求节点的身份标识判断所述请求节点如果无权读取所述第一加密密文,则拒绝所述第一代理节点的第一请求。
- 一种网络节点,其特征在于,应用于第一代理节点,包括:接收单元,用于接收来自请求节点的第一请求消息,所述第一请求消息中包括请求节点的身份标识和待访问的数据标识;处理单元,用于根据所述待访问的数据标识在区块链网络中确定第一加密密文,根据所述请求节点的身份标识判断所述请求节点是否有权读取所述第一加密密文;发送单元,用于在有权读取所述第一加密密文的情况下,向至少一个第二代理节点发起对所述请求节点的权限验证请求;所述处理单元,还用于在所述有权读取所述第一加密密文的情况下,根据所述至少一个第二代理节点的反馈结果,确定所述第一加密密文的发放。
- 根据权利要求17所述的网络节点,其特征在于,发送单元,具体用于根据所述请求节点的身份标识,在区块链上读取最接近区块链链式存储结构末端的请求节点的授权信息,所述授权信息包括允许或不允许。
- 根据权利要求17所述的网络节点,其特征在于,所述处理单元,具体用于确定m个第二代理节点,生成所述权限验证请求,所述权限验证请求中包括所述请求节点的身份标识和所述第一加密密文,所述第一加密密文是通过对待访问数据进行加密后生成,m为大于等于1的正整数;所述发送单元,具体用于将所述权限验证请求分别发送给所述m个第二代理节点。
- 根据权利要求17-19任一项所述的网络节点,其特征在于,所述接收单元,还用于接收来自至少k个第二代理节点发送的部分密钥,所述部分密钥是所述第二代理节点,根据所述请求节点的身份标识在验证所述请求节点有权访问数据后生成并发送的,且k≤m;所述处理单元,具体用于对所述至少k个部分密钥进行还原,生成转换密钥;利用所述转换密钥和加密算法将所述第一加密密文转换为第二加密密文,所述第二加密密文由所述请求节点的公钥加密后生成;发送单元,还用于将所述第二加密密文发送给所述请求节点。
- 根据权利要求20所述的网络节点,其特征在于,所述处理单元,具体用于通过所述接收单元在接收到小于k个第二代理节点发送的部分密钥,或者,接收至少一个所述第二代理节点反馈的拒绝消息的情况下,通过所述发送单元向所述请求节点发送拒绝访问的消息。
- 根据权利要求17-21任一项所述的网络节点,其特征在于,所述接收单元,具体用于接收通过所述区块链网络中的任一区块链节点转发的所述 第一请求消息。
- 根据权利要求17-21任一项所述的网络节点,其特征在于,所述处理单元,还用于根据所述请求节点的身份标识判断所述请求节点如果无权读取所述第一加密密文,则拒绝所述请求节点的第一请求。
- 一种网络节点,其特征在于,应用于第一节点,包括:接收单元,用于获得第二节点的身份标识,所述身份标识用于确定所述第二节点的授权信息;处理单元,用于在所述授权信息为允许的情况下,利用所述网络节点的私钥、第二节点的公钥和加密算法生成转换密钥;利用区块链网络中的代理节点的公钥对所述转换密钥进行加密,生成加密后的部分密钥;以及,生成第一交易信息,并将所述第一交易信息记录在所述区块链网络上;所述第一交易信息包括:第二节点的身份标识、第二节点的授权信息和加密后的部分密钥。
- 根据权利要求24所述的网络节点,其特征在于,所述处理单元,具体用于利用秘密分享算法将所述转换密钥分解成n个部分密钥,n为大于等于1的正整数;在所述区块链网络中选取m个代理节点,并使用所述m个代理节点的公钥对所述n个部分密钥进行加密,生成n个加密后的部分密钥,m≤n。
- 根据权利要求25所述的网络节点,其特征在于,所述第一交易信息中还包括:m个代理节点的身份标识和还原所述转换密钥的最小部分密钥的数量k。
- 根据权利要求24-26任一项所述的网络节点,其特征在于,所述处理单元,具体用于利用发送单元将所述第一交易信息发送给区块链网络中的区块链节点,并通过所述区块链节点在全网广播和共识,保存所述第一交易信息。
- 根据权利要求27所述的网络节点,其特征在于,所述处理单元,还用于在所述授权信息为不允许的情况下,取消所述第二节点的授权信息;生成第二交易信息,并将所述第二交易信息记录在所述区块链网络上,所述第二交易信息包括第二节点的身份标识和第二节点的授权信息。
- 根据权利要求24-26任一项所述的网络节点,其特征在于,所述处理单元,还用于在获得第二节点的身份标识之前,使用公钥通过代理重加密算法对待访问数据进行加密,生成第一加密密文;以及,将所述第一加密密文作为一个交易保存在所述区块链网络中。
- 一种网络节点,其特征在于,应用于第二代理节点,包括:接收单元,用于接收来自第一代理节点的权限验证请求,所述权限验证请求中包括请求节点的身份标识和第一加密密文,所述第一加密密文是通过对待访问数据进行加密后生成;处理单元,用于根据所述请求节点的身份标识判断所述请求节点是否有权读取所述第一加密密文;如果是,则生成部分密钥;发送单元,用于将所述部分密钥发送给所述第一代理节点。
- 根据权利要求30所述的网络节点,其特征在于,所述处理单元,具体用于在区块链网络中获得加密后的部分密钥,所述加密后的部分密钥是利用所述第二代理节点的公钥加密后生成的;利用自己的私钥对所述加密后的部分密钥进行解密,生成所述部分密钥。
- 根据权利要求30或31所述的网络节点,其特征在于,所述处理单元,还用于根据所述请求节点的身份标识判断所述请求节点如果无权读取所述第一加密密文,则拒绝所述第一代理节点的第一请求。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020207029445A KR102503515B1 (ko) | 2018-03-19 | 2019-02-21 | 데이터 액세스 권한 제어 방법 및 장치 |
EP19770357.2A EP3761588B1 (en) | 2018-03-19 | 2019-02-21 | Data access rights control method and device |
SG11202009089SA SG11202009089SA (en) | 2018-03-19 | 2019-02-21 | Method and apparatus for controlling data access right |
JP2020550788A JP2021516917A (ja) | 2018-03-19 | 2019-02-21 | データアクセス権限を制御するための方法および装置 |
US17/025,873 US11563569B2 (en) | 2018-03-19 | 2020-09-18 | Method and apparatus for controlling data access right to data stored on a blockchain |
US18/069,049 US12058253B2 (en) | 2018-03-19 | 2022-12-20 | Method and apparatus for controlling data access right to data stored on a blockchain |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810224356.1A CN110290094B (zh) | 2018-03-19 | 2018-03-19 | 一种数据访问权限的控制方法和装置 |
CN201810224356.1 | 2018-03-19 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/025,873 Continuation US11563569B2 (en) | 2018-03-19 | 2020-09-18 | Method and apparatus for controlling data access right to data stored on a blockchain |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019179277A1 true WO2019179277A1 (zh) | 2019-09-26 |
Family
ID=67986654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/075719 WO2019179277A1 (zh) | 2018-03-19 | 2019-02-21 | 一种数据访问权限的控制方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11563569B2 (zh) |
EP (1) | EP3761588B1 (zh) |
JP (1) | JP2021516917A (zh) |
KR (1) | KR102503515B1 (zh) |
CN (1) | CN110290094B (zh) |
SG (1) | SG11202009089SA (zh) |
WO (1) | WO2019179277A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110611911A (zh) * | 2019-10-18 | 2019-12-24 | 中国联合网络通信集团有限公司 | 一种移动通信方法及装置 |
CN111050317A (zh) * | 2019-12-07 | 2020-04-21 | 江西理工大学 | 一种基于联盟区块链的智能交通数据安全共享方法 |
CN111241574A (zh) * | 2019-12-19 | 2020-06-05 | 广州宏算信息科技有限公司 | 基于区块链的隐私保护方法、装置及存储介质 |
CN111601280A (zh) * | 2020-05-14 | 2020-08-28 | 中国联合网络通信集团有限公司 | 一种接入验证方法及装置 |
CN112328984A (zh) * | 2020-11-24 | 2021-02-05 | 深圳市鹰硕技术有限公司 | 一种应用于大数据的数据安全管理方法和系统 |
WO2021088728A1 (zh) * | 2019-11-06 | 2021-05-14 | 阿里巴巴集团控股有限公司 | 数据加密、解密和共享方法、设备、系统及存储介质 |
CN112953986A (zh) * | 2019-12-10 | 2021-06-11 | 华为技术有限公司 | 一种边缘应用的管理方法及装置 |
US20210328785A1 (en) * | 2020-04-15 | 2021-10-21 | Open Invention Network Llc | Document control system for blockchain |
CN113536388A (zh) * | 2020-04-16 | 2021-10-22 | 中移物联网有限公司 | 一种基于区块链的数据共享方法及系统 |
CN114666064A (zh) * | 2022-03-25 | 2022-06-24 | 广东启链科技有限公司 | 基于区块链的数字资产管理方法、装置、存储介质及设备 |
CN115174235A (zh) * | 2022-07-08 | 2022-10-11 | 慧之安信息技术股份有限公司 | 一种基于区块链的物联网可撤销属性加密方法 |
CN116455571A (zh) * | 2023-06-16 | 2023-07-18 | 广州广杰网络科技有限公司 | 一种基于区块链网络通讯的数据交互方法及终端 |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114788226B (zh) * | 2019-09-24 | 2024-06-07 | 魔术实验室公司 | 用于建立分散式计算机应用的非托管工具 |
CN110909379B (zh) * | 2019-11-08 | 2022-03-22 | 浪潮电子信息产业股份有限公司 | 一种存储集群的权限确定方法、装置、设备及存储介质 |
CN111008855B (zh) * | 2019-12-10 | 2024-02-13 | 上海信联信息发展股份有限公司 | 一种基于改进代理重加密的追溯数据访问控制方法 |
CN111092958B (zh) * | 2019-12-27 | 2022-10-21 | 深圳市迅雷网络技术有限公司 | 一种节点接入方法、装置、系统及存储介质 |
CN111447174A (zh) * | 2020-02-19 | 2020-07-24 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链的数据加密方法 |
CN111404895A (zh) * | 2020-03-06 | 2020-07-10 | 湖南智慧政务区块链科技有限公司 | 一种共享数据可读权限分配与回收方法、设备及存储介质 |
CN111461710B (zh) * | 2020-03-06 | 2023-06-23 | 重庆邮电大学 | 一种基于联盟链的分布式账本访问控制方法 |
CN111159750B (zh) * | 2020-04-07 | 2021-02-05 | 南京邮电大学 | 基于联盟链的汽车维修数据存储方法 |
CN111625869B (zh) * | 2020-04-23 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 数据处理方法及数据处理装置 |
CN111639987A (zh) * | 2020-05-15 | 2020-09-08 | 博泰车联网(南京)有限公司 | 定制功能开通方法及系统 |
US11909859B2 (en) * | 2020-06-02 | 2024-02-20 | Sap Se | Removing access to blockchain data |
CN111858611B (zh) * | 2020-07-28 | 2024-09-13 | 北京金山云网络技术有限公司 | 数据访问方法、装置、计算机设备及存储介质 |
CN112118224B (zh) * | 2020-08-12 | 2021-07-23 | 北京大学 | 一种大数据区块链的可信机制权限管理方法和系统 |
CN112182644B (zh) * | 2020-09-11 | 2023-05-12 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和电子设备 |
CN112182646B (zh) * | 2020-09-16 | 2024-08-13 | 天星数科科技有限公司 | 数据读取方法及装置、数据授权方法及装置、存储介质 |
CN112307116A (zh) * | 2020-09-17 | 2021-02-02 | 北京沃东天骏信息技术有限公司 | 基于区块链的数据访问控制方法、装置及设备 |
US12081979B2 (en) * | 2020-11-05 | 2024-09-03 | Visa International Service Association | One-time wireless authentication of an Internet-of-Things device |
CN112839092A (zh) * | 2021-01-11 | 2021-05-25 | 北京信息科技大学 | 一种基于区块链的数据共享系统 |
KR102446967B1 (ko) | 2021-02-19 | 2022-09-23 | 부경대학교 산학협력단 | 퍼블릭 블록체인에서의 개인 간 데이터 거래 및 공유를 지원하는 액세스 제어 시스템 및 방법 |
CN113112354A (zh) * | 2021-03-04 | 2021-07-13 | 卓尔智联(武汉)研究院有限公司 | 一种区块链网络的交易处理方法、区块链网络及存储介质 |
US12041036B2 (en) * | 2021-03-11 | 2024-07-16 | Blackberry Limited | Method and system for performing identity checks in a distributed system |
US11620363B1 (en) | 2021-03-15 | 2023-04-04 | SHAYRE, Inc. | Systems and methods for authentication and authorization for software license management |
CN113162762B (zh) * | 2021-04-16 | 2022-07-19 | 北京深思数盾科技股份有限公司 | 密钥授权方法、加密机、终端及存储介质 |
CN113329408B (zh) * | 2021-04-20 | 2022-02-01 | 北京连山科技股份有限公司 | 一种军用lte与民用无线拨号网络混合组网的多路并发系统 |
CN112995211B (zh) * | 2021-04-21 | 2021-07-23 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法、装置、设备及存储介质 |
KR102494215B1 (ko) * | 2021-04-29 | 2023-02-06 | 주식회사 리드포인트시스템 | 뉴럴 블록 신속 전파 프로토콜 기반의 블록체인을 구축하는 장치 및 그 동작 방법 |
CN113315758B (zh) * | 2021-05-11 | 2022-09-13 | 支付宝(杭州)信息技术有限公司 | 信息代理方法和装置 |
EP4095731A1 (en) * | 2021-05-27 | 2022-11-30 | Billon Sp. z o.o. | Method and system of rescinding access to blockchain data |
CN113438205B (zh) * | 2021-05-31 | 2022-12-20 | 东软集团股份有限公司 | 区块链数据访问控制方法、节点以及系统 |
CN115438336A (zh) * | 2021-06-04 | 2022-12-06 | 华为技术有限公司 | 一种用户数据管理方法以及相关设备 |
CN113259124A (zh) * | 2021-06-08 | 2021-08-13 | 清华大学 | 一种区块链数据写入、访问方法及装置 |
CN114039753B (zh) * | 2021-10-27 | 2024-03-12 | 中国联合网络通信集团有限公司 | 一种访问控制方法、装置、存储介质及电子设备 |
KR102467441B1 (ko) * | 2021-10-28 | 2022-11-17 | (주)씨큐하이 | 텐더민트 bft를 이용한 비정형 데이터의 암호화 방법, 장치 및 컴퓨터-판독가능 기록매체 |
CN113742782B (zh) * | 2021-11-04 | 2022-02-08 | 中国信息通信研究院 | 基于隐私保护的区块链访问权限控制方法和区块链系统 |
KR102391187B1 (ko) * | 2021-11-24 | 2022-04-28 | 엘에스웨어(주) | 피드백 정보 블록체인 기록 방법 및 시스템 |
CN114172665A (zh) * | 2021-12-07 | 2022-03-11 | 东软集团股份有限公司 | 区块链零信任系统以及用于区块链零信任系统的方法 |
CN114513533B (zh) * | 2021-12-24 | 2023-06-27 | 北京理工大学 | 一种分类分级健身健康大数据共享系统及方法 |
CN114679264B (zh) * | 2022-03-16 | 2023-12-08 | 亚信科技(成都)有限公司 | 一种密码生成方法、装置及存储介质 |
CN114785516B (zh) * | 2022-03-31 | 2024-04-05 | 浙江数秦科技有限公司 | 基于区块链的限时加解密系统 |
CN114448732B (zh) * | 2022-04-08 | 2022-06-21 | 中国信息通信研究院 | 标识隐私数据网络传输的保护方法和装置、介质、设备 |
CN117009983A (zh) * | 2022-04-29 | 2023-11-07 | 华为技术有限公司 | 一种节点集群以及数据备份方法 |
KR102549385B1 (ko) * | 2022-11-03 | 2023-06-29 | 주식회사 커먼컴퓨터 | 데이터 액세스 제어 제공 방법 및 시스템 |
CN117692151B (zh) * | 2024-02-02 | 2024-05-31 | 杭州天谷信息科技有限公司 | 基于服务网络的通证撤销方法和通信方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140205089A1 (en) * | 2013-01-24 | 2014-07-24 | Raytheon Company | System and method for differential encryption |
CN105871538A (zh) * | 2015-01-22 | 2016-08-17 | 阿里巴巴集团控股有限公司 | 量子密钥分发系统、量子密钥分发方法及装置 |
CN107103252A (zh) * | 2017-04-27 | 2017-08-29 | 电子科技大学 | 基于区块链的数据访问控制方法 |
CN107241360A (zh) * | 2017-08-04 | 2017-10-10 | 北京明朝万达科技股份有限公司 | 一种数据安全共享交换方法和数据安全共享交换平台系统 |
CN107395349A (zh) * | 2017-08-16 | 2017-11-24 | 深圳国微技术有限公司 | 一种基于自认证公钥体制的区块链网络密钥分发方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001312468A (ja) * | 2000-04-28 | 2001-11-09 | Konami Co Ltd | ネットワーク接続制御方法及び接続制御システム |
US10490304B2 (en) * | 2012-01-26 | 2019-11-26 | Netspective Communications Llc | Device-driven non-intermediated blockchain system over a social integrity network |
US10984913B2 (en) * | 2012-04-27 | 2021-04-20 | Netspective Communications Llc | Blockchain system for natural language processing |
EP3036875A4 (en) * | 2013-08-20 | 2017-04-19 | Nokia Technologies Oy | A method and apparatus for privacy-enhanced evidence evaluation |
US10586063B2 (en) * | 2015-03-20 | 2020-03-10 | Samsung Electronics Co., Ltd. | Method and apparatus for storing file by using a plurality of cloud storages |
US9881300B2 (en) * | 2015-03-27 | 2018-01-30 | Intel Corporation | Technologies for split key security |
US10404450B2 (en) * | 2016-05-02 | 2019-09-03 | Cisco Technology, Inc. | Schematized access control in a content centric network |
WO2018039722A1 (en) * | 2016-08-30 | 2018-03-08 | Commonwealth Scientific And Industrial Research Organisation | Dynamic access control on blockchain |
CN107070938A (zh) * | 2017-04-27 | 2017-08-18 | 电子科技大学 | 基于区块链的数据访问控制系统 |
JP6302592B2 (ja) * | 2017-06-23 | 2018-03-28 | 株式会社エヌ・ティ・ティ・データ | 情報処理装置、情報処理方法およびプログラム |
CN107181599B (zh) * | 2017-07-18 | 2020-01-21 | 天津理工大学 | 基于区块链的路由位置数据保密存储及共享方法 |
US10735202B2 (en) * | 2017-07-24 | 2020-08-04 | International Business Machines Corporation | Anonymous consent and data sharing on a blockchain |
US10567168B2 (en) * | 2017-11-16 | 2020-02-18 | International Business Machines Corporation | Blockchain transaction privacy enhancement through broadcast encryption |
US11218409B2 (en) * | 2018-10-16 | 2022-01-04 | Eluvio, Inc. | Decentralized content fabric |
US11316668B2 (en) * | 2018-11-16 | 2022-04-26 | Safetech Bv | Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information |
-
2018
- 2018-03-19 CN CN201810224356.1A patent/CN110290094B/zh active Active
-
2019
- 2019-02-21 JP JP2020550788A patent/JP2021516917A/ja active Pending
- 2019-02-21 WO PCT/CN2019/075719 patent/WO2019179277A1/zh unknown
- 2019-02-21 KR KR1020207029445A patent/KR102503515B1/ko active IP Right Grant
- 2019-02-21 EP EP19770357.2A patent/EP3761588B1/en active Active
- 2019-02-21 SG SG11202009089SA patent/SG11202009089SA/en unknown
-
2020
- 2020-09-18 US US17/025,873 patent/US11563569B2/en active Active
-
2022
- 2022-12-20 US US18/069,049 patent/US12058253B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140205089A1 (en) * | 2013-01-24 | 2014-07-24 | Raytheon Company | System and method for differential encryption |
CN105871538A (zh) * | 2015-01-22 | 2016-08-17 | 阿里巴巴集团控股有限公司 | 量子密钥分发系统、量子密钥分发方法及装置 |
CN107103252A (zh) * | 2017-04-27 | 2017-08-29 | 电子科技大学 | 基于区块链的数据访问控制方法 |
CN107241360A (zh) * | 2017-08-04 | 2017-10-10 | 北京明朝万达科技股份有限公司 | 一种数据安全共享交换方法和数据安全共享交换平台系统 |
CN107395349A (zh) * | 2017-08-16 | 2017-11-24 | 深圳国微技术有限公司 | 一种基于自认证公钥体制的区块链网络密钥分发方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3761588A4 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110611911B (zh) * | 2019-10-18 | 2022-08-26 | 中国联合网络通信集团有限公司 | 一种移动通信方法及装置 |
CN110611911A (zh) * | 2019-10-18 | 2019-12-24 | 中国联合网络通信集团有限公司 | 一种移动通信方法及装置 |
WO2021088728A1 (zh) * | 2019-11-06 | 2021-05-14 | 阿里巴巴集团控股有限公司 | 数据加密、解密和共享方法、设备、系统及存储介质 |
CN111050317B (zh) * | 2019-12-07 | 2022-08-02 | 江西理工大学 | 一种基于联盟区块链的智能交通数据安全共享方法 |
CN111050317A (zh) * | 2019-12-07 | 2020-04-21 | 江西理工大学 | 一种基于联盟区块链的智能交通数据安全共享方法 |
CN112953986A (zh) * | 2019-12-10 | 2021-06-11 | 华为技术有限公司 | 一种边缘应用的管理方法及装置 |
CN112953986B (zh) * | 2019-12-10 | 2024-03-12 | 华为云计算技术有限公司 | 一种边缘应用的管理方法及装置 |
CN111241574B (zh) * | 2019-12-19 | 2024-04-30 | 广州宏算信息科技有限公司 | 基于区块链的隐私保护方法、装置及存储介质 |
CN111241574A (zh) * | 2019-12-19 | 2020-06-05 | 广州宏算信息科技有限公司 | 基于区块链的隐私保护方法、装置及存储介质 |
US20210328785A1 (en) * | 2020-04-15 | 2021-10-21 | Open Invention Network Llc | Document control system for blockchain |
US11658816B2 (en) * | 2020-04-15 | 2023-05-23 | Philips North America Llc | Document control system for blockchain |
CN113536388A (zh) * | 2020-04-16 | 2021-10-22 | 中移物联网有限公司 | 一种基于区块链的数据共享方法及系统 |
CN113536388B (zh) * | 2020-04-16 | 2023-02-28 | 中移物联网有限公司 | 一种基于区块链的数据共享方法及系统 |
CN111601280B (zh) * | 2020-05-14 | 2022-08-19 | 中国联合网络通信集团有限公司 | 一种接入验证方法及装置 |
CN111601280A (zh) * | 2020-05-14 | 2020-08-28 | 中国联合网络通信集团有限公司 | 一种接入验证方法及装置 |
CN112328984B (zh) * | 2020-11-24 | 2024-02-09 | 深圳市鹰硕技术有限公司 | 一种应用于大数据的数据安全管理方法和系统 |
CN112328984A (zh) * | 2020-11-24 | 2021-02-05 | 深圳市鹰硕技术有限公司 | 一种应用于大数据的数据安全管理方法和系统 |
CN114666064A (zh) * | 2022-03-25 | 2022-06-24 | 广东启链科技有限公司 | 基于区块链的数字资产管理方法、装置、存储介质及设备 |
CN115174235A (zh) * | 2022-07-08 | 2022-10-11 | 慧之安信息技术股份有限公司 | 一种基于区块链的物联网可撤销属性加密方法 |
CN116455571A (zh) * | 2023-06-16 | 2023-07-18 | 广州广杰网络科技有限公司 | 一种基于区块链网络通讯的数据交互方法及终端 |
CN116455571B (zh) * | 2023-06-16 | 2023-12-22 | 广州广杰网络科技有限公司 | 一种基于区块链网络通讯的数据交互方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
EP3761588A4 (en) | 2021-01-13 |
US11563569B2 (en) | 2023-01-24 |
US20230119065A1 (en) | 2023-04-20 |
JP2021516917A (ja) | 2021-07-08 |
EP3761588B1 (en) | 2023-08-02 |
CN110290094B (zh) | 2022-03-11 |
US12058253B2 (en) | 2024-08-06 |
US20210006400A1 (en) | 2021-01-07 |
EP3761588A1 (en) | 2021-01-06 |
SG11202009089SA (en) | 2020-10-29 |
KR20200131307A (ko) | 2020-11-23 |
CN110290094A (zh) | 2019-09-27 |
KR102503515B1 (ko) | 2023-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019179277A1 (zh) | 一种数据访问权限的控制方法和装置 | |
US11159307B2 (en) | Ad-hoc trusted groups on a blockchain | |
WO2019157810A1 (zh) | 一种数据传输方法、装置和网络节点 | |
US11038682B2 (en) | Communication method, apparatus and system, electronic device, and computer readable storage medium | |
CN109413645B (zh) | 接入认证的方法和装置 | |
EP2912800B1 (en) | Methods and apparatus for data access control | |
JP4199074B2 (ja) | 安全なデータ通信リンクのための方法と装置 | |
CN114615095A (zh) | 区块链跨链数据处理方法、中继链、应用链及跨链网络 | |
CN111797415A (zh) | 基于区块链的数据共享方法、电子设备和存储介质 | |
WO2019041802A1 (zh) | 基于服务化架构的发现方法及装置 | |
US20170033925A1 (en) | Methods and apparatus for implementing a communications system secured using one-time pads | |
CN109891423B (zh) | 使用多个控制机构的数据加密控制 | |
JP6181077B2 (ja) | 特権に基づく鍵を生成するための方法および装置 | |
CN105103578A (zh) | 安全端对端和组通信 | |
JP2004180280A (ja) | 適応性のある委任のための方法とシステム | |
CN107113314B (zh) | 用于云计算中的异构数据存储管理的方法和装置 | |
US20180063105A1 (en) | Management of enciphered data sharing | |
US20090180621A1 (en) | Adaptive secure authenticated channels for direct sharing of protected content between devices | |
US20080313085A1 (en) | System and method to share a guest version of rights between devices | |
JP2020507243A (ja) | ネットワークデバイス及び信頼できるサードパーティデバイス | |
Cao | New trends of information security—how to change people’s life style? | |
CN115715004A (zh) | 一种针对大规模异构网络的隐私保护跨域认证方法 | |
CN112019553B (zh) | 一种基于ibe/ibbe数据共享方法 | |
Alston | Attribute-based encryption for attribute-based authentication, authorization, storage, and transmission in distributed storage systems | |
De Oliveira et al. | Red Alert: break-glass protocol to access encrypted medical records in the cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19770357 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020550788 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019770357 Country of ref document: EP Effective date: 20200929 |
|
ENP | Entry into the national phase |
Ref document number: 20207029445 Country of ref document: KR Kind code of ref document: A |