CN117313147A - Data storage sharing method, device, chip and terminal - Google Patents

Data storage sharing method, device, chip and terminal Download PDF

Info

Publication number
CN117313147A
CN117313147A CN202311269413.5A CN202311269413A CN117313147A CN 117313147 A CN117313147 A CN 117313147A CN 202311269413 A CN202311269413 A CN 202311269413A CN 117313147 A CN117313147 A CN 117313147A
Authority
CN
China
Prior art keywords
data
file
calculation result
storage
shared
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311269413.5A
Other languages
Chinese (zh)
Inventor
夏晓峰
王弋戈
胡春强
蔡斌
桑军
胡海波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University
Original Assignee
Chongqing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing University filed Critical Chongqing University
Priority to CN202311269413.5A priority Critical patent/CN117313147A/en
Publication of CN117313147A publication Critical patent/CN117313147A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • G06F21/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/06Electricity, gas or water supply

Abstract

The embodiment of the invention discloses a data storage sharing method, a device, a chip and a terminal, wherein the method comprises the steps that a data owner symmetrically encrypts shared plaintext data by using a symmetric key to obtain a first ciphertext; encrypting the symmetric key to obtain a second ciphertext; storing the first ciphertext and the second ciphertext as shared data files and sending the shared data files to a data storage for storage; when the data storage person stores the shared data file, generating a file index comprising a storage address; after receiving the data sharing request sent by the registered data user, the data owner feeds back the file index to the registered data user so that the registered data user downloads the shared data file at the data storage according to the file index; the invention can reduce the risk of losing and damaging the power data.

Description

Data storage sharing method, device, chip and terminal
Technical Field
The present invention relates to the field of blockchain technologies, and in particular, to a data storage sharing method, device, chip and storage medium.
Background
The electric power internet of things is applied to the intelligent power grid, communication infrastructure resources and electric power system infrastructure resources can be effectively integrated, the informatization level of the electric power system is improved, the utilization efficiency of the existing infrastructure of the electric power system is improved, important technical support is provided for links such as power grid generation, power transmission, power transformation, power distribution and power consumption, and multiple functions such as remote monitoring, operation and maintenance and data analysis of electric power equipment are realized.
Along with the continuous development of the electric power internet of things, a large number of devices can realize interconnection and intercommunication. These devices can generate a large amount of data from the sensor to the monitoring device, the communication device, the data storage, etc., and the electric power internet of things generally solves the storage problem of the large amount of data through the third party network storage service. Network storage, a service paradigm, however, has the disadvantage that once users have their data outsourced to unreliable remote storage servers without a complete local backup, their data is faced with many security threats, including fatal data corruption. Unreliable storage servers have the potential for data loss due to a variety of factors and reasons, including but not limited to natural or human accidents, malicious hacking, and even unscrupulous cost-cutting behavior of the server.
Disclosure of Invention
Based on the method, the device, the chip and the storage medium for data storage sharing are provided, and the problem that in the prior art, the loss damage risk of power data is increased by using third-party network storage service for the power Internet of things is solved.
In a first aspect, a data storage sharing method is applied to a blockchain in which a storage contract and an arbitration contract are set through an arbitration node deployment;
The data storage sharing method comprises the following steps:
s1, symmetrically encrypting shared plaintext data by a data owner by using a symmetric key to obtain a first ciphertext;
s2, encrypting the symmetric key through the CP-ABE to obtain a second ciphertext;
the arbitration node is used for generating random numbers, acquiring random prime numbers p and random prime numbers q to generate a modulus N, wherein N=p is q, the modulus N is an integer multiplication group, and the hash function is based on power modular operation and meets the exchange law; the arbitration node issues the random number and the modulus on the blockchain, and when encryption is performed in the S1 and the S2, a key generation algorithm is executed based on the random number and the modulus;
s3, storing the first ciphertext and the second ciphertext as shared data files, and sending the shared data files to a data storage through the storage contract for storage;
in the step S3, before the data storage stores the shared data file, the storage contract analyzes consistency between a first calculation result of the data owner based on the shared data file and a second calculation result of the data storage based on the shared data file;
the first calculation result is consistent with the second calculation result, the data storage device stores the shared data file, generates a file index comprising a storage address, and records the file index and the first calculation result or the file index and the second calculation result on a blockchain;
The first calculation result is inconsistent with the second calculation result, and the data owner is stopped from storing the first calculation result;
s4, after receiving a data sharing request sent by a registered data user, the data owner initiates a query to the data storage through the block chain;
if the inquiry results are inconsistent, calling an arbitration contract to arbitrate;
and if the inquiry results are consistent, feeding back the file index to the registered data user so that the registered data user downloads the shared data file at the data storage according to the file index.
Optionally, before S1, the method includes:
the data owner obtains the security parameters according to the key generation algorithm equation Setup (1 λ ) Generating a public key and a master key, wherein lambda is a security parameter, PK is the public key, and MK is the master key;
the public key is expressed as
The master key is expressed as mk= { g α ,β};
Wherein g is a random number generated by the arbitration node; g is also G 0 A generator of (2); e denotes a double-line mapping, e: g 0 ×G 0 →G T ,G 0 And G T Is a cyclic multiplication group of two large prime orders p; g is also defined by a hash function 0 Is {0,1} * →G 0 ;α,β∈Z p A random exponent selected in the integer modulus Zp;
Acquiring the attribute of the data owner, and generating an attribute private key according to KenGen (MK, S);
the attribute private key is expressed as
Wherein the attribute of the data owner is denoted as S, s= { j 1 ,j 2 ,…,j n -a }; r is a random number, r.epsilon.Z p Selecting a random r for each attribute j e S j ∈Z p
Optionally, the encrypting the symmetric key by CP-ABE includes:
the symmetric key is encrypted by an access policy and the public key.
Optionally, before S4, the method includes:
the data owner monitors that a data user sends a registration request, and after the registration request is completed, an attribute private key is distributed to the data user;
the attribute private key is used for decrypting the second ciphertext by using the attribute private key to obtain a symmetric key after the registered data user downloads the shared data file at the data storage according to the file index; and decrypting the first ciphertext by using the symmetric key to obtain shared plaintext data.
Optionally, initiating a challenge to the data store through the blockchain includes:
the data owner generates a challenge value by another random number, randomly selects a shared data file and a file index thereof, and marks the shared data file and the file index as a random file and a random index;
The data owner sends the challenge value and the random index to the data store through the blockchain;
acquiring a third calculation result of the data storage; wherein the data storage performs calculation based on the random file according to the random index and the challenge value to obtain a third calculation resultWherein chal represents challenge value, chal=g t (mod N), t represents another random number, < ->Shared data representing calculations performed at the data store;
the data owner obtains a first calculation result based on the shared data file, expressed as (σi), from a file index stored on the blockchain t (mod N), then (σi) t (mod n) representing any one of the first calculations based on the shared data file stored on the blockchain;
if the third calculation result is the same as the first calculation result, i.e., proof≡ (σi) t (mod n), the challenge result is consistent; if the results are different, the inquiry results are inconsistent, the data owner initiates an arbitration contract, and the data owner enters a dispute arbitration stage to arbitrate.
Optionally, the data owner initiates an arbitration contract, enters a dispute arbitration phase for arbitration, and includes:
invoking a secret random number having a mapping relation with the other random number, and obtaining a fourth calculation result based on the random number generated by the arbitration node and the secret random number Wherein t is a secret random number;
if the fourth calculation result is inconsistent with the challenge value, the secret random number is counterfeit and the data owner is malicious;
if the first calculation results are consistent, the first calculation result based on the shared data file is continuously obtained according to the file index stored in the block chain, and the first calculation result is expressed asThen->Representing either stored on the blockchain, AND (σi) t (mod N) different first calculation result based on shared data file if +.>Identical to said third calculation result proof, i.e. if and only if +.>The data store is trusted.
Optionally, the data owner is σi based on a first calculation result of the shared data file 1 =g bi (mod N) the data store is based on the second calculation result of the shared data file
Where bi represents shared data calculated at the data owner,representing shared data calculated at the data store.
A second aspect provides a data storage sharing apparatus for use in deploying a blockchain with storage contracts and arbitration contracts set by an arbitration node;
the data storage sharing apparatus includes:
the symmetric encryption module is used for symmetrically encrypting the shared plaintext data by using the symmetric key by the data owner to obtain a first ciphertext;
The key encryption module is used for encrypting the symmetric key through the CP-ABE to obtain a second ciphertext;
the arbitration node is used for generating random numbers, acquiring random prime numbers p and random prime numbers q to generate a modulus N, wherein N=p is q, the modulus N is an integer multiplication group, and the hash function is based on power modular operation and meets the exchange law; the arbitration node issues the random number and the modulus on the blockchain, and when encryption is performed in the symmetric encryption module and the key encryption module, a key generation algorithm is executed based on the random number and the modulus;
the shared data file storage module is used for storing the first ciphertext and the second ciphertext as shared data files and sending the shared data files to a data storage through the storage contract for storage;
the shared data file storage module comprises a storage contract processing unit, a first result processing unit and a first result processing unit;
a storage contract processing unit for analyzing, before the data storage stores the shared data file, consistency between a first calculation result by the data owner based on the shared data file and a second calculation result by the data storage based on the shared data file;
A first result processing unit configured to store the shared data file and generate a file index including a storage address when the first calculation result and the second calculation result are identical, and record the file index and the first calculation result or the file index and the second calculation result on a blockchain;
a second result processing unit configured to terminate the storing of the data owner when the first calculation result and the second calculation result are inconsistent;
the transaction module is used for sending a query to the data storage through the block chain after the data owner receives the data sharing request sent by the registered data user;
the transaction module comprises a judging unit and a data transaction unit;
the arbitration unit is used for invoking an arbitration contract to arbitrate if the inquiry results are inconsistent;
and the data transaction unit is used for feeding back the file index to the registered data user if the inquiry results are consistent, so that the registered data user downloads the shared data file at the data storage according to the file index.
In a third aspect, there is provided a chip comprising a first processor for invoking and running a computer program from a first memory, such that a device on which the chip is mounted performs the steps of data storage sharing according to any of claims 1 to 7.
In a fourth aspect, there is provided a terminal comprising a second memory, a second processor and a computer program stored in said second memory and executable on said second processor, the second processor implementing the steps of the data storage sharing method as described above when executing said computer program.
According to the data storage sharing method, the device, the chip and the storage medium, data storage and data sharing are performed based on the blockchain, and storage contracts and arbitration contracts are set through the arrangement of the arbitration nodes in the blockchain. Firstly, a data owner protects shared plaintext data, which comprises the steps of symmetrically encrypting the shared plaintext data by using a symmetric key and encrypting the symmetric key by using a CP-ABE, wherein the two encryption algorithms are carried out at a data storage, and arbitration nodes in a blockchain are responsible for setting a hash function used by a random number, a random prime number p, a random prime number q, a modulus N and a modulus N, and the hash function meets a switching law. Based on the method, the data owner stores the shared data file into the data storage, the data integrity temporarily stored in the data storage is analyzed through the storage contract before the data storage is completed, if the storage contract fails to be executed, the data in the data storage is incomplete, the storage task is terminated, and disputes are prevented from being generated in the subsequent data transaction process. If the storage contract is successfully executed, the file index and the first calculation result or the file index and the second calculation result are recorded on the block chain for the data owner to use when a query is initiated to the data storage through the block chain after receiving a data sharing request sent by the registered data user. When the data user sends a shared data request, the data owner initiates a query to the data storage through the block chain for verifying the data integrity of the data storage again, if the query results are inconsistent, the arbitration storage contract is called to further verify the reason of the data incompleteness, and if the query results are inconsistent, the file index of the shared data file is sent to the data user. According to the data storage sharing method provided by the embodiment of the invention, the data sharing between the data owner and the data user can be performed based on the reliable data storage, so that the integrity of the shared data file is ensured, and the problem that the loss damage risk of the power data is increased by using the third-party network storage service in the power Internet of things is solved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings that are needed in the description of the embodiments will be briefly described below, it being obvious that the drawings in the following description are only some embodiments of the present invention, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic diagram of a basic flow of a data storage sharing method according to an embodiment of the present invention;
fig. 2 is a schematic diagram of a composition structure of an electric power internet of things according to an embodiment of the invention;
FIG. 3 is a schematic diagram of a basic flow of a data storage sharing method according to an embodiment of the present invention;
FIG. 4 is a basic block diagram of a data storage sharing device according to an embodiment of the present invention;
fig. 5 is a basic structural block diagram of a terminal according to an embodiment of the present invention.
Detailed Description
In order to enable those skilled in the art to better understand the present invention, the following description will make clear and complete descriptions of the technical solutions according to the embodiments of the present invention with reference to the accompanying drawings.
In some of the flows described in the specification and claims of the present invention and in the foregoing figures, a plurality of operations occurring in a particular order are included, but it should be understood that the operations may be performed out of order or performed in parallel, with the order of operations such as 101, 102, etc., being merely used to distinguish between the various operations, the order of the operations themselves not representing any order of execution. In addition, the flows may include more or fewer operations, and the operations may be performed sequentially or in parallel. It should be noted that, the descriptions of "first" and "second" herein are used to distinguish different messages, devices, modules, etc., and do not represent a sequence, and are not limited to the "first" and the "second" being different types.
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by a person skilled in the art without any inventive effort, are intended to be within the scope of the present invention based on the embodiments of the present invention.
The embodiment of the application can acquire and process the related data based on the artificial intelligence technology. Among them, artificial intelligence (AI: artificial Intelligence) is a theory, method, technique and application system that simulates, extends and expands human intelligence using a digital computer or a machine controlled by a digital computer, perceives the environment, acquires knowledge and uses the knowledge to obtain the best result.
Artificial intelligence infrastructure technologies generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technologies, operation/interaction systems, mechatronics, and the like. The artificial intelligence software technology mainly comprises a computer vision technology, a robot technology, a biological recognition technology, a voice processing technology, a natural language processing technology, machine learning/deep learning and other directions.
Referring to fig. 1 in detail, fig. 1 is a basic flow chart of a data storage sharing method according to the present embodiment.
The embodiment of the invention discloses a data storage sharing method which is applied to a block chain provided with a storage contract and an arbitration contract through an arbitration node deployment; in the blockchain provided by the embodiment of the invention, the arbitration node is used for generating a random number, and simultaneously acquiring a random prime number p and a random prime number q to generate a modulus N, wherein n=p×q, the modulus N is an integer multiplication group, and the hash function is based on power modular operation and meets the exchange law; the arbitration node issues the random number and the modulus on the blockchain, and when encryption is performed in the following step S1 and step S2, a key generation algorithm is executed based on the random number and the modulus.
Illustratively, the hash function is based on a power modulo operation and satisfies a trade-off law, formulated as:
Hash(a)=g a mod N, then there is:
hash(a*b)=(g a ) b mod N
=(g b ) a mod N
=hash(b*a)
where a and b represent actual data involved in the calculation.
As shown in fig. 1, the data storage sharing method includes:
s1, the data owner symmetrically encrypts the shared plaintext data by using a symmetric key to obtain a first ciphertext.
S2, encrypting the symmetric key through the CP-ABE to obtain a second ciphertext. The above steps S1 and S2 relate to a symmetric encryption algorithm and a CP-ABE (ciphertext policy attribute based encryption, ciphertext policy attribute based encryption system) encryption algorithm, wherein the symmetric encryption algorithm encrypts shared plaintext data m to be shared by a data owner using a symmetric encryption algorithm, such as AES (Advanced Encryption Standard ), to form a first ciphertext C K The symmetric key is denoted as K m ,K m Is randomly selected from a symmetric key space. Then use CP-ABE to pair K m Encrypting to form a second ciphertext CT k The CP-ABE encryption algorithm encrypts using the access policy and the public key after system initialization.
In one embodiment, the detailed steps of initializing the system public/master key and generating the attribute private key by the data owner, before the step S1, include:
s11, the data owner obtains the security parameters, and generates an algorithm formula Setup (1 according to the secret key λ ) Generating a public key and a master key, wherein lambda is a security parameter, PK is the public key, and MK is the master key;
the public key is expressed as
The master key is expressed as mk= { g α ,β};
Wherein g is a random number generated by the arbitration node; g is also G 0 A generator of (2); e denotes a double-line mapping, e: g 0 ×G 0 →G T ,G 0 And G T Is a cyclic multiplication group of two large prime orders p; g is also defined by a hash function 0 Is {0,1 } * →G 0 ;α,β∈Z p A random exponent selected in the integer modulus Zp;
s12, acquiring the attribute of the data owner, and generating an attribute private key according to KenGen (MK, S);
the attribute private key is expressed as
Wherein the attribute of the data owner is denoted as S, s= { j 1 ,j 2 ,…,j n ) The method comprises the steps of carrying out a first treatment on the surface of the r is a random number, r.epsilon.Z p Selecting a random r for each attribute j e S j ∈Z p
Wherein, the attribute private key is used by registered data users, and the detailed steps are as follows before S4:
the data owner monitors that a data user sends a registration request, and after the registration request is completed, an attribute private key is distributed to the data user;
the attribute private key is used for decrypting the second ciphertext by using the attribute private key to obtain a symmetric key after the registered data user downloads the shared data file at the data storage according to the file index; and decrypting the first ciphertext by using the symmetric key to obtain shared plaintext data.
In the steps, the symmetric key is encrypted by using the CP-ABE algorithm, so that excessive occupation of storage resources and computing power caused by direct data encryption is avoided, and the cost is effectively saved.
And S3, storing the first ciphertext and the second ciphertext as shared data files, and sending the shared data files to a data storage through the storage contract for storage.
In the embodiment of the invention, before the data storage is completed, the data integrity temporarily stored at the data storage is analyzed through the storage contract, and the shared data file is completely stored at the data storage after the storage contract is successfully executed. To ensure the integrity of the shared data file stored by the data store and the integrity of the shared data file obtained by the registered data user, the step S3 of the data store before storing the shared data file comprises:
S31, the storage contract analyzes consistency between a first calculation result of the data owner based on the shared data file and a second calculation result of the data storage based on the shared data file.
In the above step S31, the data owner may be σi based on the first calculation result of the shared data file 1 =g bi (mod N) the data store is based on the second calculation result of the shared data file
Where bi represents shared data calculated at the data owner,representing shared data calculated at the data store.
Thus, the data owner uploads the shared data calculated at the data owner to the storage contract, and the data store uploads the shared data calculated at the data store to the storage contract, so that the storage contract starts executing, which is analyzed.
The shared data file includes a first ciphertext and a second ciphertext, based on the steps S1 and S2, an exemplary first ciphertext C K And the generation of the second ciphertext CTk is represented as: dataEnc (PK, m=k m ,τ)→(C k ,K m ,CT k ),The method comprises the following detailed steps:
the data owner selects a symmetric key from a local symmetric key space using symmetric key Algorithm (AES) to be denoted as K m The data m is encrypted and then stored locally. Then the CP-ABE algorithm is used for K m Encryption, i.e. using public key PK and access policy structure tree τ for K m Encryption is carried out to generate CT k . The algorithm first selects a polynomial q for each node x (including leaf nodes) of the tree τ x . The polynomials start from the root node R and for each node x of the tree species the degree d of the polynomial x Set to be greater than the threshold k of the node x Small 1, d x =k x -1. From the root node, the algorithm selects the random s ε Z p And set q R (0) =s. Then randomly select d R Definition q of other nodes of (1) R For other nodes x, set q x (0)=q parent(x) (index (x)) and randomly select other d x Node determination polynomial q x . In the formula, parent (x) represents a parent node of node x, and index (x) represents a sequence number of node x with respect to the parent node. Y is the set of leaf nodes in τ. Ciphertext is then calculated from the access structure τ of the given tree.
S32, the first calculation result is consistent with the second calculation result, the data storage device stores the shared data file, generates a file index comprising a storage address, and records the file index and the first calculation result or the file index and the second calculation result on a blockchain.
In the step S32, when the first calculation result and the second calculation result are consistent, it indicates that the execution of the storage contract is successful, and the file index and the first calculation result or the file index and the second calculation result are recorded on the blockchain, so that the data owner can use the blockchain when sending a challenge to the data storage through the blockchain after receiving the data sharing request sent by the registered data user.
In one embodiment, the first calculation and the second calculation are consistent, the data owner may trust the data store to store the integrity of the shared data file, at which point the data owner may delete the local shared data file.
S33, the first calculation result is inconsistent with the second calculation result, and the data owner is stopped from storing the first calculation result and the second calculation result.
In step S33, the execution of the storage contract fails, which means that the data at the data storage is incomplete, and the storage task is terminated, so as to prevent disputes in the subsequent data transaction process.
S4, after receiving a data sharing request sent by a registered data user, the data owner initiates a query to the data storage through the block chain;
S41, if the inquiry results are inconsistent, calling an arbitration contract to arbitrate;
and S42, if the inquiry results are consistent, feeding back the file index to the registered data user so that the registered data user downloads the shared data file at the data storage according to the file index.
In step S4, the owner initiates a challenge to the data storage through the blockchain to re-verify the integrity of the data at the data storage, and the arbitration contract is used to further verify the cause of the incomplete data, such as the data owner being unreliable or the data storage being unreliable, so as to find out the risk of losing and damaging the shared data file, thereby reducing the risk. And whether the inquiry results are consistent or not indicates that the data downloaded by the data user at the data storage is correct based on the checking result of the shared data file.
According to the steps, the data storage sharing method provided by the embodiment of the invention can be applied to the electric power internet of things, and the integrity of the electric power data stored in the third party cloud storage is ensured, as shown in fig. 2, the electric power internet of things comprises an electric power company, a research institution and the third party cloud storage, wherein the electric power company is a data owner, the research institution is a data user, and the third party cloud storage is a data storage. The electric power internet of things is established on the basis of a blockchain, an electric power company verifies the data integrity in the third-party cloud storage through a storage contract and an arbitration contract, and confirms that a data owner is a risk source or a data storage is a risk source, so that the risk of losing and damaging the shared data file is reduced.
In the embodiment of the invention, the file index and the first calculation result or the file index and the second calculation result are recorded on a block chain and are used for being used when a data owner receives a data sharing request sent by a registered data user and sends a query to the data storage through the block chain.
As shown in fig. 3, in the step S4, a challenge is initiated to the data storage through the blockchain, including:
s401, the data owner generates a challenge value by another random number, and randomly selects a shared data file and a file index thereof, and marks the shared data file and the file index as a random file and a random index.
It should be noted that, in the embodiment of the present invention, the generated random number g of the arbitration node is used as a generator to generate another random value t, which is used as another random number in the step S41, and the random challenge value is generated based on the random value t.
S402, the data owner sends the challenge value and the random index to the data storage through a blockchain;
s403, acquiring a third calculation result of the data storage;
wherein the data storage performs calculation based on the random file according to the random index and the challenge value to obtain a third calculation result Wherein chal represents challenge value, chal=g t (mod N), t represents another random number, < ->Shared data representing calculations performed at the data store;
s404, instituteThe data owner obtains a first calculation result based on the shared data file, expressed as (σi), from the file index stored on the blockchain t (mod N), then (σi) t (mod n) representing any one of the first calculations based on the shared data file stored on the blockchain;
s405, if the third calculation result is the same as the first calculation result, i.e. proof≡ (σi) t (mod n), the challenge result is consistent; if the results are different, the inquiry results are inconsistent, the data owner initiates an arbitration contract, and the data owner enters a dispute arbitration stage to arbitrate.
In the step S405, the third calculation result is the same as the first calculation result, that is, the third calculation result obtained by randomly selecting the shared data file and the file index thereof from the data storage according to the challenge value, and then calculating the shared data file and the file index thereof, the first calculation result identical to the first calculation result can be found on the blockchain, which means that the random file and the random index stored by the data storage are truly existing and complete, and the data owner uploads the random file and the random index to the data block stored by the blockchain, but the data storage only knows the value of the chal and does not know the value, so the data storage cannot forge the fake proof based on the sum, and the verification method has high reliability.
In step S402 and step S403, σi is on the blockchain, and t is selected by the data owner and stored locally. Thus, no repeated computation is required at the data owner, and the verification stage described above has little computational overhead for the data owner.
In step S405, the data owner discovers the integrity certification returned by the data store, i.e., the third calculation resultWith its locally generated result (σi) in step S8 t (mod N) disagreement, the data owner invokes the secret random number t with a pre-selection * Arbitration contract SC for corresponding blockchain transaction address displayed on blockchain a To resolve the dispute. Arbitration is based on blockchain after an arbitration request is receivedThe transaction address looks up the disputed verification record and makes a arbitration based on the previous in-chain record.
In one embodiment, the step S405 of the data owner initiating an arbitration contract, entering a dispute arbitration phase for arbitration includes:
invoking a secret random number having a mapping relation with the other random number, and obtaining a fourth calculation result based on the random number generated by the arbitration node and the secret random number Wherein t is a secret random number;
if the fourth calculation result is inconsistent with the challenge value, the secret random number is counterfeit and the data owner is malicious;
if the first calculation results are consistent, the first calculation result based on the shared data file is continuously obtained according to the file index stored in the block chain, and the first calculation result is expressed asThen->Representing either stored on the blockchain, AND (σi) t (mod N) different first calculation result based on shared data file if +.>Identical to said third calculation result proof, i.e. if and only if +.>The data store is trusted.
In the embodiment of the invention, after the registered data user downloads the shared data file at the data storage according to the file index, the second ciphertext is decrypted by using an attribute private key to obtain a symmetric key; decrypting the first ciphertext using the symmetric key to obtain shared plaintext data, the decryption process illustratively being:
the data owner will assign the registered data user an appropriate set of attributes S and will invoke UserRegistration (MK, S) → (SK) u ) For generating SK for decryption. The data owner sends the index i value of the corresponding shared data file according to the requirement of the registered data user, and the registered data user requests the CS to download the shared data file bi according to the index i. The registered data user then uses his own SK to perform CT in the shared data file k Decryption, if the access strategy tau is satisfied, the symmetric key K can be obtained m Then for ciphertext C k And (5) decrypting to obtain a plaintext m. Thereby realizing data sharing. The method comprises the following specific steps:
UserRegistration(MK,S u )→(SK u ): this step is performed by the data owner, who may send transaction events sharing data to the data owner, for example, a research institution or the like, who may need power data to support the research project. The data user will register with the data owner first to become a registered data user, and the data owner will assign the registered data user an appropriate set of attributes S u E S for generating SK u For decryption. Wherein r is E Z p Then for each attribute j εS u Selecting a random r j ∈Z p . It then calculates the key as follows.
Decrypt(CT k ,SK u )→K m : the step is performed by a registered data user, which downloads from the cloud service provider to the shared data file bi, including C, based on the index value i provided by the data owner K ,CT k . Performing Decrypt (CT) k ,SK u ) Algorithmic access to a symmetric key K m After which the symmetric key K is used m For C K Decrypting to obtain the sharing data in the form of plaintext. For CT k We first need to define a recursive decryption algorithm DecryptNode (CT k ,SK u ,x)。
Let i=att (x), assuming first that node x is a leaf node. The calculation is as follows:
If it isDefinition Decryptnode (CT) k ,SK u ,x)=⊥。
Let x be a non-leaf node. Decryptnode (CT) k ,SK u The calculation method of x) is as follows: for all x child nodes z, decryptnode (CT is invoked k ,SK u Z), set S x Is any k x A set of child nodes such that F z The dosage is not equal to T. The calculation is as follows. If the set does not exist, the node is not satisfied and returns to the T.
A decryption function DecryptNode is defined and then a decryption algorithm is defined, which algorithm is invoked starting from the root node R accessing the structure tree τ. If it is S u Meet the requirement of accessing the structure tree tau, order K can be obtained by the following calculation m
In order to solve the above technical problems, the embodiment of the present invention further provides a data storage sharing device, which is applied to a blockchain in which a storage contract and an arbitration contract are set by an arbitration node deployment. Referring to fig. 4 specifically, fig. 4 is a basic block diagram of a facial expression recognition apparatus according to the present embodiment, including:
a symmetric encryption module 41, configured to symmetrically encrypt the shared plaintext data by the data owner using a symmetric key, to obtain a first ciphertext;
a key encryption module 42, configured to encrypt the symmetric key through CP-ABE to obtain a second ciphertext;
the arbitration node is used for generating random numbers, acquiring random prime numbers p and random prime numbers q to generate a modulus N, wherein N=p is q, the modulus N is an integer multiplication group, and the hash function is based on power modular operation and meets the exchange law; the arbitration node issues the random number and the modulus on the blockchain, and when encryption is performed in the symmetric encryption module and the key encryption module, a key generation algorithm is executed based on the random number and the modulus;
The shared data file storage module 43 is configured to store the first ciphertext and the second ciphertext as shared data files, and send the shared data files to a data storage device for storage through the storage contract;
the shared data file storage module 43 includes a storage contract processing unit 431, a first result processing unit 432, and a first result processing unit 433;
a storage contract processing unit 431 for analyzing, before the data storage stores the shared data file, consistency between a first calculation result by the data owner based on the shared data file and a second calculation result by the data storage based on the shared data file;
a first result processing unit 432, configured to store the shared data file and generate a file index including a storage address when the first calculation result and the second calculation result are identical, and record the file index and the first calculation result or the file index and the second calculation result on a blockchain;
a second result processing unit 433 configured to terminate the storing of the data owner when the first calculation result and the second calculation result are inconsistent;
A transaction module 44 for initiating a challenge to the data store through the blockchain after the data owner receives a data sharing request sent by a registered data user;
the transaction module 44 includes an arbitration unit 441 and a data transaction unit 442;
the arbitration unit 441 is configured to invoke an arbitration contract to arbitrate if the challenge results are inconsistent;
and a data transaction unit 442, configured to feed back the file index to the registered data user if the challenge result is consistent, so that the registered data user downloads the shared data file at the data storage according to the file index.
In order to solve the above technical problems, the embodiment of the present invention further provides a chip, where the chip may be a general-purpose processor or a special-purpose processor. The chip includes a processor for supporting the terminal to perform the above-mentioned related steps, such as calling and running a computer program from a memory, so that a device mounted with the chip executes to implement the data storage sharing method in the above-mentioned embodiments.
Optionally, in some examples, the chip further includes a transceiver, where the transceiver is controlled by the processor, and is configured to support the terminal to perform the related steps to implement the data storage sharing method in the foregoing embodiments.
Optionally, the chip may further comprise a storage medium.
It should be noted that the chip may be implemented using the following circuits or devices: one or more field programmable gate arrays (field programmable gate array, FPGA), programmable logic devices (programmablelogic device, PLD), controllers, state machines, gate logic, discrete hardware components, any other suitable circuit or combination of circuits capable of performing the various functions described throughout this application.
The invention also provides a terminal comprising a memory, a processor and a computer program stored in the memory and executable on the processor, the processor implementing the steps of the data storage sharing method as claimed in any one of claims 1 to 7 when the computer program is executed.
Referring specifically to fig. 5, fig. 5 is a basic block diagram illustrating a terminal including a processor, a nonvolatile storage medium, a memory, and a network interface connected by a system bus. The nonvolatile storage medium of the terminal stores an operating system, a database and a computer readable instruction, the database can store a control information sequence, and the computer readable instruction can enable the processor to realize a facial expression recognition method when being executed by the processor. The processor of the terminal is operative to provide computing and control capabilities supporting the operation of the entire terminal. The memory of the terminal may store computer readable instructions that, when executed by the processor, cause the processor to perform a facial expression recognition method. The network interface of the terminal is used for connecting and communicating with the terminal. It will be appreciated by those skilled in the art that the structures shown in the drawings are block diagrams of only some of the structures associated with the aspects of the present application and are not intended to limit the terminals to which the aspects of the present application may be applied, and that a particular terminal may include more or less components than those shown, or may combine some of the components, or have a different arrangement of components.
As used herein, a "terminal" or "terminal device" includes both a device of a wireless signal receiver having no transmitting capability and a device of receiving and transmitting hardware having electronic devices capable of performing two-way communication over a two-way communication link, as will be appreciated by those skilled in the art. Such an electronic device may include: a cellular or other communication device having a single-line display or a multi-line display or a cellular or other communication device without a multi-line display; a PCS (Personal Communications Service, personal communication system) that may combine voice, data processing, facsimile and/or data communication capabilities; a PDA (Personal Digital Assistant ) that can include a radio frequency receiver, pager, internet/intranet access, web browser, notepad, calendar and/or GPS (Global Positioning System ) receiver; a conventional laptop and/or palmtop computer or other appliance that has and/or includes a radio frequency receiver. As used herein, "terminal," "terminal device" may be portable, transportable, installed in a vehicle (aeronautical, maritime, and/or land-based), or adapted and/or configured to operate locally and/or in a distributed fashion, to operate at any other location(s) on earth and/or in space. The "terminal" and "terminal device" used herein may also be a communication terminal, a network access terminal, and a music/video playing terminal, for example, may be a PDA, a MID (Mobile Intemet Device, mobile internet device), and/or a mobile phone with a music/video playing function, and may also be a smart tv, a set top box, and other devices.
The present invention also provides a storage medium storing computer readable instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of the data storage sharing method of any of the embodiments described above.
The present embodiment also provides a computer program which can be distributed on a computer readable medium and executed by a computable device to implement at least one step of the data storage sharing method described above; and in some cases at least one of the steps shown or described may be performed in a different order than that described in the above embodiments.
The present embodiment also provides a computer program product comprising computer readable means having stored thereon a computer program as shown above. The computer readable means in this embodiment may comprise a computer readable storage medium as shown above.
Those skilled in the art will appreciate that implementing all or part of the above-described methods in accordance with the embodiments may be accomplished by way of a computer program stored in a computer-readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. The storage medium may be a nonvolatile storage medium such as a magnetic disk, an optical disk, a Read-Only Memory (ROM), or a random access Memory (Random Access Memory, RAM).
It should be understood that, although the steps in the flowcharts of the figures are shown in order as indicated by the arrows, these steps are not necessarily performed in order as indicated by the arrows. The steps are not strictly limited in order and may be performed in other orders, unless explicitly stated herein. Moreover, at least some of the steps in the flowcharts of the figures may include a plurality of sub-steps or stages that are not necessarily performed at the same time, but may be performed at different times, the order of their execution not necessarily being sequential, but may be performed in turn or alternately with other steps or at least a portion of the other steps or stages.
The technical features of the above-described embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above-described embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The foregoing examples illustrate only a few embodiments of the invention and are described in detail herein without thereby limiting the scope of the invention. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the invention, which are all within the scope of the invention. Accordingly, the scope of protection of the present invention is to be determined by the appended claims.

Claims (10)

1. A data storage sharing method, characterized by being applied to a blockchain provided with a storage contract and an arbitration contract by an arbitration node deployment;
the data storage sharing method comprises the following steps:
s1, symmetrically encrypting shared plaintext data by a data owner by using a symmetric key to obtain a first ciphertext;
s2, encrypting the symmetric key through the CP-ABE to obtain a second ciphertext;
the arbitration node is used for generating random numbers, acquiring random prime numbers p and random prime numbers q to generate a modulus N, wherein N=p is q, the modulus N is an integer multiplication group, and the hash function is based on power modular operation and meets the exchange law; the arbitration node issues the random number and the modulus on the blockchain, and when encryption is performed in the S1 and the S2, a key generation algorithm is executed based on the random number and the modulus;
s3, storing the first ciphertext and the second ciphertext as shared data files, and sending the shared data files to a data storage through the storage contract for storage;
in the step S3, before the data storage stores the shared data file, the storage contract analyzes consistency between a first calculation result of the data owner based on the shared data file and a second calculation result of the data storage based on the shared data file;
The first calculation result is consistent with the second calculation result, the data storage device stores the shared data file, generates a file index comprising a storage address, and records the file index and the first calculation result or the file index and the second calculation result on a blockchain;
the first calculation result is inconsistent with the second calculation result, and the data owner is stopped from storing the first calculation result;
s4, after receiving a data sharing request sent by a registered data user, the data owner initiates a query to the data storage through the block chain;
if the inquiry results are inconsistent, calling an arbitration contract to arbitrate;
and if the inquiry results are consistent, feeding back the file index to the registered data user so that the registered data user downloads the shared data file at the data storage according to the file index.
2. The data storage sharing method of claim 1, wherein prior to S1, comprising:
the data owner obtains the security parameters according to the key generation algorithm equation Setup (1 λ ) Generating a public key and a master key, wherein lambda is a security parameter, PK is the public key, and MK is the master key;
The public key is expressed as
The master key is expressed as mk= { g α ,β};
Wherein g is a random number generated by the arbitration node; g is also G 0 A generator of (2); e represents a bilinear map, e: G 0 ×G 0 →G T ,G 0 And G T Is a cyclic multiplication group of two large prime orders p; g is also defined by a hash function 0 Is {0,1} * →G 0 ;α,β∈Z p A random exponent selected in the integer modulus Zp;
acquiring the attribute of the data owner, and generating an attribute private key according to KenGen (MK, S);
the attribute private key is expressed as
Wherein the attribute of the data owner is denoted as S, s= { j 1 ,j 2 ,…,j n -a }; r is a random number, r.epsilon.Z p Selecting a random r for each attribute j e S j ∈Z p
3. The data storage sharing method of claim 2, wherein the encrypting the symmetric key by CP-ABE comprises:
the symmetric key is encrypted by an access policy and the public key.
4. The data storage sharing method of claim 2, wherein prior to S4, comprising:
the data owner monitors that a data user sends a registration request, and after the registration request is completed, an attribute private key is distributed to the data user;
the attribute private key is used for decrypting the second ciphertext by using the attribute private key to obtain a symmetric key after the registered data user downloads the shared data file at the data storage according to the file index; and decrypting the first ciphertext by using the symmetric key to obtain shared plaintext data.
5. The data store sharing method of claim 1, wherein initiating a challenge to the data store through the blockchain comprises:
the data owner generates a challenge value by another random number, randomly selects a shared data file and a file index thereof, and marks the shared data file and the file index as a random file and a random index;
the data owner sends the challenge value and the random index to the data store through the blockchain;
acquiring a third calculation result of the data storage; wherein the data store is based on the random indexAnd the challenge value is calculated based on the random file to obtain a third calculation resultWherein chal represents challenge value, chal=g t (mod N), t represents another random number, < ->Shared data representing calculations performed at the data store;
the data owner obtains a first calculation result based on the shared data file, expressed as (σi), from a file index stored on the blockchain t (mod N), then (σi) t (mod n) representing any one of the first calculations based on the shared data file stored on the blockchain;
if the third calculation result is the same as the first calculation result, i.e., proof≡ (σi) t (mod n), the challenge result is consistent; if the results are different, the inquiry results are inconsistent, the data owner initiates an arbitration contract, and the data owner enters a dispute arbitration stage to arbitrate.
6. The data store sharing method of claim 5, wherein the data owner initiates an arbitration contract, entering a dispute arbitration phase to arbitrate, comprising:
invoking a secret random number having a mapping relation with the other random number, and obtaining a fourth calculation result g based on the random number generated by the arbitration node and the secret random number t* = (mod N), where t is a secret random number;
if the fourth calculation result is inconsistent with the challenge value, the secret random number is counterfeit and the data owner is malicious;
if so, continuing to acquire a first calculation result based on the shared data file according to the file index stored on the blockchain, which is expressed as (sigma i) t* (mod N), then (σi) t* (mod N) means any one stored on the blockchain, AND (σi) t (modN) differentIf (sigma i) based on the first calculation result of the shared data file t* Identical to the third calculation result proof, i.e. proof≡ (σi) t* (mod n), the data store is trusted.
7. The data storage sharing method of claim 1, wherein the data owner is σi based on a first calculation result of the shared data file 1 =g bi (mod N) the data store is based on the second calculation result of the shared data file
Where bi represents shared data calculated at the data owner,representing shared data calculated at the data store.
8. A data storage sharing apparatus, characterized by being applied to a blockchain in which a storage contract and an arbitration contract are set by an arbitration node deployment;
the data storage sharing apparatus includes:
the symmetric encryption module is used for symmetrically encrypting the shared plaintext data by using the symmetric key by the data owner to obtain a first ciphertext;
the key encryption module is used for encrypting the symmetric key through the CP-ABE to obtain a second ciphertext;
the arbitration node is used for generating random numbers, acquiring random prime numbers p and random prime numbers q to generate a modulus N, wherein N=p is q, the modulus N is an integer multiplication group, and the hash function is based on power modular operation and meets the exchange law; the arbitration node issues the random number and the modulus on the blockchain, and when encryption is performed in the symmetric encryption module and the key encryption module, a key generation algorithm is executed based on the random number and the modulus;
The shared data file storage module is used for storing the first ciphertext and the second ciphertext as shared data files and sending the shared data files to a data storage through the storage contract for storage;
the shared data file storage module comprises a storage contract processing unit, a first result processing unit and a first result processing unit;
a storage contract processing unit for analyzing, before the data storage stores the shared data file, consistency between a first calculation result by the data owner based on the shared data file and a second calculation result by the data storage based on the shared data file;
a first result processing unit configured to store the shared data file and generate a file index including a storage address when the first calculation result and the second calculation result are identical, and record the file index and the first calculation result or the file index and the second calculation result on a blockchain;
a second result processing unit configured to terminate the storing of the data owner when the first calculation result and the second calculation result are inconsistent;
The transaction module is used for sending a query to the data storage through the block chain after the data owner receives the data sharing request sent by the registered data user;
the transaction module comprises a judging unit and a data transaction unit;
the arbitration unit is used for invoking an arbitration contract to arbitrate if the inquiry results are inconsistent;
and the data transaction unit is used for feeding back the file index to the registered data user if the inquiry results are consistent, so that the registered data user downloads the shared data file at the data storage according to the file index.
9. A chip, comprising: a first processor for calling and running a computer program from a first memory, causing a device on which the chip is mounted to perform the steps of data storage sharing according to any one of claims 1 to 7.
10. A terminal comprising a second memory, a second processor and a computer program stored in the second memory and executable on the second processor, characterized in that the second processor implements the steps of the data storage sharing method according to any one of claims 1 to 7 when executing the computer program.
CN202311269413.5A 2023-09-28 2023-09-28 Data storage sharing method, device, chip and terminal Pending CN117313147A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311269413.5A CN117313147A (en) 2023-09-28 2023-09-28 Data storage sharing method, device, chip and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311269413.5A CN117313147A (en) 2023-09-28 2023-09-28 Data storage sharing method, device, chip and terminal

Publications (1)

Publication Number Publication Date
CN117313147A true CN117313147A (en) 2023-12-29

Family

ID=89259873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311269413.5A Pending CN117313147A (en) 2023-09-28 2023-09-28 Data storage sharing method, device, chip and terminal

Country Status (1)

Country Link
CN (1) CN117313147A (en)

Similar Documents

Publication Publication Date Title
Kolhar et al. Cloud data auditing techniques with a focus on privacy and security
Venkatesh et al. Improving public auditability, data possession in data storage security for cloud computing
US11546348B2 (en) Data service system
US11405365B2 (en) Method and apparatus for effecting a data-based activity
US11374910B2 (en) Method and apparatus for effecting a data-based activity
CN114157415A (en) Data processing method, computing node, system, computer device and storage medium
CN113515759A (en) Block chain-based power terminal data access control method and system
Bhandari et al. A framework for data security and storage in Cloud Computing
US11637817B2 (en) Method and apparatus for effecting a data-based activity
CN114239078A (en) Power grid data auditing method and device, power grid system and storage medium
Li et al. Secure and temporary access delegation with equality test for cloud-assisted IoV
Kwon et al. A secure and efficient audit mechanism for dynamic shared data in cloud storage
CN116112185A (en) Private data sharing method based on blockchain and zero knowledge proof
Yoosuf et al. Fogdedupe: A fog-centric deduplication approach using multi-key homomorphic encryption technique
CN112887281B (en) Storage method and system supporting efficient audit and multi-backup ciphertext deduplication and application
Suguna et al. Privacy preserving auditing protocol for remote data storage
CN117313147A (en) Data storage sharing method, device, chip and terminal
Fatima et al. An efficient secure auditing framework for big data storage in cloud computing environment
Liu et al. Video data integrity verification method based on full homomorphic encryption in cloud system
Hegde et al. Secure search scheme for encrypted data in the VANET cloud with random query trapdoor
Suguna et al. Privacy preserving data auditing protocol for secure storage in mobile cloud computing
CN113761585A (en) Data processing method, device and system
Sang et al. Efficient identity-based multiple copy integrity auditing scheme for cloud-based IoT
US20220368527A1 (en) Location key search of encrypted files without decryption
CN115484095B (en) Fine granularity access control method based on blockchain in cloud-edge cooperative environment

Legal Events

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