Data protection method and data protection system
First Claim
1. A data protection method, comprising:
- establishing, by a data owner, a proxy relationship with a data sharer, and generating a proxy relation fAB according to a private key of the data owner skA and a public key of the data sharer pkB;
sending, by the data owner, proxy relationship information and the proxy relation fAB to a data distribution system, wherein the proxy relationship information comprises information about the proxy relationship established between the data owner and the data sharer;
updating, by the data distribution system, a proxy relationship table of the data owner according to the proxy relationship information, and establishing a mapping relationship between the proxy relation fAB and the data sharer, wherein the proxy relationship table is used to record information about a data sharer establishing a proxy relationship with the data owner;
generating, by the data owner, a secret value m of shared data, and encrypting the shared data by using the secret value m;
encrypting, by the data owner and by using a public key of the data owner pkA, the secret value m to obtain an upper-layer key;
sending, by the data owner, the shared data encrypted by the secret value m and the upper-layer key to the data distribution system;
after receiving the encrypted shared data and the upper-layer key, searching, by the data distribution system, the proxy relationship table and confirming the proxy relationship between the data owner and the data sharer, and when the data distribution system confirms that the proxy relationship is established between the data owner and the data sharer, obtaining, by the data distribution system, the proxy relation fAB corresponding to the data sharer;
updating, by the data distribution system, the upper-layer key according to the proxy relation fAB to obtain an updated upper-layer key;
sending, by the data distribution system, the encrypted shared data and the updated upper-layer key to the data sharer;
decrypting, by the data sharer and according to a private key of the data sharer skB, the updated upper-layer key to obtain the secret value m; and
decrypting, by the data sharer, the encrypted shared data according to the secret value m to obtain the shared data;
wherein;
the private key of the data owner is skA=(SA1, SA2), wherein SA1 and SA2 are two elements of the private key of the data owner;
the public key of the data owner is PkA=(PA1, PA2), wherein PA1 and PA2 are two elements of the public key of the data owner;
the private key of the data sharer is skB=(SB1, SB2), wherein SB1 and SB2 are two elements of the private key of the data sharer;
the public key of the data sharer is pkB=(PB1, PB2), wherein PB1 and PB2 are two elements of the public key of the data sharer; and
SA1=a1, SA2=a2, PA1=Za1, PA2=ga2, SB1=b1, SB2=b2, PB1=Zb1, and PB2=gb2, wherein a1, a2, b1, and b2 are all random numbers, a preset parameter g is a generator of a cyclic group G1, Z is an element of a cyclic group G2, G2 is e;
G1×
G1→
G2 obtained by G1 through bilinear mapping, and Z=e(g, g);
wherein the establishing, by a data owner, a proxy relationship with a data sharer, and generating a proxy relation, and the sending, by the data owner, the proxy relation to a data distribution system comprise;
establishing, by the data owner, the proxy relationship with the data sharer, and generating multiple proxy relations, and sending, by the data owner, each relation in the multiple proxy relations to a corresponding data distribution system in multiple data distribution systems separately;
the updating, by the data distribution system, the upper-layer key according to the proxy relation to obtain an updated upper-layer key comprises;
updating, by each data distribution system and according to a proxy relation received by itself separately, the upper-layer key to obtain an updated upper-layer key;
the decrypting, by the data sharer and according to a private key of the data sharer, the updated upper-layer key to obtain the secret value m comprises;
obtaining, by the data sharer and according to multiple updated upper-layer keys generated by the multiple data distribution systems, a combined key; and
obtaining, by the data sharer and according to the combined key and the private key of the data sharer, the secret value m;
wherein the establishing, by the data owner, the proxy relationship with the data sharer, and generating multiple proxy relations, and the sending, by the data owner, each proxy relation in the multiple proxy relations to a corresponding data distribution system in multiple data distribution systems separately comprise;
according to the private key of the data owner and the public key of the data sharer and according to a formula
fAB(i)=(PB2)ri; and
generating, by the data owner and the data sharer, the multiple proxy relations corresponding to the multiple data distribution systems in a one-to-one manner, wherein fAB (i) indicates a proxy relation corresponding to an ith data distribution system, and Σ
i=1Tri=SA1, wherein T is the number of the multiple data distribution systems.
1 Assignment
0 Petitions
Accused Products
Abstract
Present invention provides a data protection method, used by a data owner to share data with a data sharer securely through a data distribution system. The data owner first establishes a proxy relationship with the data sharer, while the data distribution system maintains a proxy relationship between the data owner and the data sharer, and after receiving encrypted shared data sent by the data owner, the data distribution system changes the encrypted shared data according to the proxy relationship, so that the data sharer may decrypt the data. By using the data protection method in the present invention, both encryption and decryption of data are a result of coordination of three parties, thereby avoiding a problem of data leakage caused by a problem of a single party.
10 Citations
7 Claims
-
1. A data protection method, comprising:
-
establishing, by a data owner, a proxy relationship with a data sharer, and generating a proxy relation fAB according to a private key of the data owner skA and a public key of the data sharer pkB; sending, by the data owner, proxy relationship information and the proxy relation fAB to a data distribution system, wherein the proxy relationship information comprises information about the proxy relationship established between the data owner and the data sharer; updating, by the data distribution system, a proxy relationship table of the data owner according to the proxy relationship information, and establishing a mapping relationship between the proxy relation fAB and the data sharer, wherein the proxy relationship table is used to record information about a data sharer establishing a proxy relationship with the data owner; generating, by the data owner, a secret value m of shared data, and encrypting the shared data by using the secret value m; encrypting, by the data owner and by using a public key of the data owner pkA, the secret value m to obtain an upper-layer key; sending, by the data owner, the shared data encrypted by the secret value m and the upper-layer key to the data distribution system; after receiving the encrypted shared data and the upper-layer key, searching, by the data distribution system, the proxy relationship table and confirming the proxy relationship between the data owner and the data sharer, and when the data distribution system confirms that the proxy relationship is established between the data owner and the data sharer, obtaining, by the data distribution system, the proxy relation fAB corresponding to the data sharer;
updating, by the data distribution system, the upper-layer key according to the proxy relation fAB to obtain an updated upper-layer key;sending, by the data distribution system, the encrypted shared data and the updated upper-layer key to the data sharer; decrypting, by the data sharer and according to a private key of the data sharer skB, the updated upper-layer key to obtain the secret value m; and decrypting, by the data sharer, the encrypted shared data according to the secret value m to obtain the shared data; wherein;
the private key of the data owner is skA=(SA1, SA2), wherein SA1 and SA2 are two elements of the private key of the data owner;the public key of the data owner is PkA=(PA1, PA2), wherein PA1 and PA2 are two elements of the public key of the data owner; the private key of the data sharer is skB=(SB1, SB2), wherein SB1 and SB2 are two elements of the private key of the data sharer; the public key of the data sharer is pkB=(PB1, PB2), wherein PB1 and PB2 are two elements of the public key of the data sharer; and SA1=a1, SA2=a2, PA1=Za 1 , PA2=ga2 , SB1=b1, SB2=b2, PB1=Zb1 , and PB2=gb2 , wherein a1, a2, b1, and b2 are all random numbers, a preset parameter g is a generator of a cyclic group G1, Z is an element of a cyclic group G2, G2 is e;
G1×
G1→
G2 obtained by G1 through bilinear mapping, and Z=e(g, g);wherein the establishing, by a data owner, a proxy relationship with a data sharer, and generating a proxy relation, and the sending, by the data owner, the proxy relation to a data distribution system comprise; establishing, by the data owner, the proxy relationship with the data sharer, and generating multiple proxy relations, and sending, by the data owner, each relation in the multiple proxy relations to a corresponding data distribution system in multiple data distribution systems separately; the updating, by the data distribution system, the upper-layer key according to the proxy relation to obtain an updated upper-layer key comprises; updating, by each data distribution system and according to a proxy relation received by itself separately, the upper-layer key to obtain an updated upper-layer key; the decrypting, by the data sharer and according to a private key of the data sharer, the updated upper-layer key to obtain the secret value m comprises; obtaining, by the data sharer and according to multiple updated upper-layer keys generated by the multiple data distribution systems, a combined key; and obtaining, by the data sharer and according to the combined key and the private key of the data sharer, the secret value m; wherein the establishing, by the data owner, the proxy relationship with the data sharer, and generating multiple proxy relations, and the sending, by the data owner, each proxy relation in the multiple proxy relations to a corresponding data distribution system in multiple data distribution systems separately comprise; according to the private key of the data owner and the public key of the data sharer and according to a formula
fAB(i)=(PB2)ri ; andgenerating, by the data owner and the data sharer, the multiple proxy relations corresponding to the multiple data distribution systems in a one-to-one manner, wherein fAB (i) indicates a proxy relation corresponding to an ith data distribution system, and Σ
i=1Tri=SA1, wherein T is the number of the multiple data distribution systems. - View Dependent Claims (2, 3)
-
-
4. A data sharing system, comprising:
-
a data owner, a data distribution system, a data sharer, wherein the data owner distributes shared data to the data sharer through the data distribution system; the data owner comprises a proxy relationship establishing module, a key generating module, and a shared data sending module; the data distribution system comprises a receiving module, a proxy relationship maintaining module, an upper-layer key updating module, and a shared data distributing module; the data sharer comprises an obtaining module and a decrypting module, wherein; the proxy relationship establishing module is configured to establish a proxy relationship with the data sharer, generate a proxy relation fAB according to a private key of the data owner skA and a public key of the data sharer pkB, and send proxy relationship information and the proxy relation fAB to the data distribution system, wherein the proxy relationship information comprises information about the proxy relationship established between the data owner and the data sharer; the key generating module is configured to generate a secret value m of the shared data, encrypt the shared data by using the secret value m, and encrypt the secret value m by using a public key of the data owner pkA to obtain an upper-layer key; the shared data sending module is configured to send encrypted shared data and the upper-layer key to the data distribution system; the receiving module is configured to obtain the proxy relationship information, the proxy relation, the encrypted shared data, and the upper-layer key that are from the data owner; the proxy relationship maintaining module is configured to update a proxy relationship table of the data owner according to the proxy relationship information, and establish a mapping relationship between the proxy relation fAB and the data sharer, and when the receiving module receives the encrypted shared data and the upper-layer key, the proxy relationship maintaining module is further configured to search the proxy relationship table and confirm the proxy relationship between the data owner and the data sharer, and obtain the proxy relation fAB corresponding to the data sharer when confirming that the proxy relationship is established between the data owner and the data sharer, wherein the proxy relationship table is used to record information about a data sharer establishing a proxy relationship with the data owner; the upper-layer key updating module is configured to update the upper-layer key according to the proxy relation to obtain an updated upper-layer key; the distributing module is configured to send the shared data and the updated upper-layer key to the data sharer; the obtaining module is configured to receive the shared data and the updated upper-layer key that are from the data distribution system; and the decrypting module is configured to decrypt the updated upper-layer key according to a private key of the data sharer skB to obtain the secret value m; wherein; the private key of the data owner is skA=(SA1, SA2) , wherein SA1 and SA2 are two elements of the private key of the data owner; the public key of the data owner is pkA=(PA1, PA2), wherein PA1 and PA2 are two elements of the public key of the data owner; the private key of the data sharer is skB=(SB1, SB2), wherein SB1 and SB2 are two elements of the private key of the data sharer; the public key of the data sharer is pkB=(PB1, PB2), wherein PB1 and PB2 are two elements of the public key of the data sharer; and SA1=a1, SA2=a2, PA1=Za 1 , PA2=ga2 , SB1=b1, SB2=b2, PB1=Zb1 , and PB2=gb2 , wherein a1, a2, b1, and b2 are all random numbers, a preset parameter g is a generator of a cyclic group G1, Z is an element of a cyclic group G2, G2 is e;
G1×
G1→
G2 obtained by G1 through bilinear mapping, and Z=e(g, g);wherein; the data sharing system comprises multiple data distribution systems; the data owner distributes data to the data sharer through the multiple data distribution systems; and the proxy relationship establishing module generates multiple proxy relations according to fAB(i)=(PB2)r i , and sends the multiple proxy relations to the multiple data distribution systems separately, wherein fAB(i) indicates a proxy relation sent to an ith data distribution system, and Σ
i=1Tri=SA1, wherein T is the number of the multiple data distribution systems. - View Dependent Claims (5, 6, 7)
-
Specification