IP Library Granted Patent US 10,419,404
Granted Patent B2
US 10,419,404 · App. 15/617,035 · Granted Sep 17, 2019

Enabling comparable data access control for lightweight mobile devices in clouds

Inventors: Dijiang Huang (Chandler, AZ); Zhijie Wang (Tempe, AZ)
Assignee: Arizona Board of Regents on Behalf of Arizona State University
H04L63/0428G06F21/6218H04L9/3073H04L63/06H04L63/102H04L2209/805
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,419,404
App. No.
15/617,035
Granted
Sep 17, 2019
Kind
B2
Abstract

A new efficient framework based on a Constant-size Ciphertext Policy Comparative Attribute-Based Encryption (CCP-CABE) approach. CCP-CABE assists lightweight mobile devices and storing privacy-sensitive sensitive data into cloudbased storage by offloading major cryptography-computation overhead into the cloud without exposing data content to the cloud. CCP-CABE extends existing attribute-based data access control solutions by incorporating comparable attributes to incorporate more flexible security access control policies. CCP-CABE generates constant-size ciphertext regardless of the number of involved attributes, which is suitable for mobile devices considering their limited communication and storage capacities.

Claims (480)

1. A method for encrypting data in a computer based processing system using a trust authority with a public key PK and a master key MK, the method comprising:

sending a request for a partially encrypted header {tilde over (H)} to the trust authority with a specified access control policy Ps;

receiving a partially encrypted header computed by the trust authority, wherein the partially encrypted header {tilde over (H)} is based on the public key PK, the master key MK, and the specified access control policy Ps;

encrypting data using the partially encrypted header {tilde over (H)};

wherein the data is encrypted according to the following algorithm:

Encrypt(Ĥ)→(H, K s ): Given the partially encrypted header, the algorithm produces the session key K s and ciphertext H={ S , C, E S , E S , Ê S , Ê S } to cloud storage; and

further wherein each part of H is generated as follows:

1) randomly choosing two secrets s 1 , s 2 ∈ n ,

2) computing the main secret s=s 1 +s 2 ∈ n and deriving

C=sW∈ ,

3) producing the session key K s =e(G, W) αs and using K s to encrypt the data,

4) computing E S =s 1 T and E S =s 2 T, and

5) computing each of Ê S =s 1 {right arrow over (ψ)} S T·s 1 W=s 1 {right arrow over (ψ)} S λW·s 1 W=s 1 (λ{right arrow over (ψ)} S +1)W and Ê S =s 2 S T·s 2 W=s 2 S λW·s 2 W=s 2 (λ S +1)W.

2. The method of claim 1 , wherein the step of encrypting the data comprises generating the session key K s and the ciphertext H using the partially encrypted header {tilde over (H)}.

3. The method of claim 1 , wherein the computer based processing system is a cloud storage system.

4. The method of claim 1 , wherein the size of any key and any ciphertext overhead remains constant without regard to a number of attributes.

5. The method of claim 1 , wherein the algorithm term

H={ S , C, E S , E S , Ê S , Ê S } represents ciphertext H being generated as a function of:

C, the product of the main secret s (the sum of two random secrets s 1 and s 2 ) and generator W, which are elements of set ;

E S , the product of secret 1 (s 1 ) and T=λW∈ , the product of λ and generator W, elements of set ;

E S , the product of secret 2 (s 2 ) and T=λW∈ , the product of λ and generator W, elements of set ;

Ê S the function of secret 1 (s 1 ), λ (an element of the master key), {right arrow over (ψ)} S (the first part of the partially decrypted header) and generator W; and

Ê S , the function of secret 2 (s 2 ), λ (an element of the master key), S (the second part of the partially decrypted header) and generator W.

6. A method of decrypting data, wherein the method comprises:

storing the data in a computer based processing system, wherein the data includes an encrypted header H and encrypted target data;

receiving a request for access to the data, wherein the request includes a user identity;

partially decrypting an encrypted header H when the user is entitled to access the data based on the user's public key PKLU, privilege LU and access control policy Ps;

sending the partially decrypted header {tilde over (H)} to the user;

wherein partially decrypting the header H is performed according to the following algorithm:

DecDelegate(H, PK u , u , S )→Ĥ: Given the user's public key PK u and privilege u along with the access control policy s , the algorithm outputs {right arrow over (ψ)} S and S when [ν i,j , ν i,k ]∩[ν i,a , ν i,b ]≠Ø for all A i ∈ :

({right arrow over (ψ)} U )=({right arrow over (ψ)} U ) w U , s =({right arrow over (π)} Π 1≤i≤m {right arrow over (w)} i,a ) Π 1≤i≤m ( w i,(a,k) ) ={right arrow over (ψ)} S (mod n )

( Ū )=( Ū ) w s ,Ū =( Π 1≤i≤m i,b ) Π 1≤i≤m ( w i,(j,b) ) = s (mod n );

where {right arrow over (w)} U , s =Π 1≤i≤m ( w i,(a,k) ) and w S ,Ū =Π 1≤i≤m ( w i,(j,b) );

and further wherein the algorithm outputs {tilde over (H)}={H,{right arrow over (ψ)} U −{right arrow over (ψ)} S , Ū − S } as the partially decrypted header.

7. The method of claim 6 , further comprising:

retrieving a session key K s ; Decrypt( , Ĥ)→K S : Given the delegation key and header Ĥ, the algorithm performs the following computation:

Γ

(

s

1

)

=

e

(

A

u

,

E

^

S

_

·

(

ψ

U

_

-

ψ

S

_

)

E

S

_

)

=

e

(

A

u

,

s

1

(

λ

ψ

S

_

+

1

)

W

·

(

ψ

U

_

-

ψ

S

_

)

s

1

λ

W

)

=

e

(

A

u

,

s

1

(

λ

ψ

S

_

+

1

+

λ

ψ

U

_

-

λ

ψ

S

_

)

W

)

=

e

(

γ

u

λ

ψ

U

_

+

1

G

,

s

1

(

λ

ψ

U

_

+

1

)

W

)

=

e

(

G

,

W

)

γ

u

λ

ψ

U

_

+

1

·

s

1

(

λ

ψ

U

_

+

1

)

=

e

(

G

,

W

)

γ

u

s

1

Γ

(

s

2

)

=

e

(

A

u

,

E

^

S

_

·

(

ψ

U

_

-

ψ

S

_

)

E

S

_

)

=

e

(

A

u

,

s

2

(

λ

ψ

S

_

+

1

)

W

·

(

ψ

U

_

-

ψ

S

_

)

s

2

λ

W

)

=

e

(

A

u

,

s

2

(

λ

ψ

S

_

+

1

+

λ

ψ

U

_

-

λ

ψ

S

_

)

W

)

=

e

(

γ

u

λ

ψ

U

_

+

1

G

,

s

2

(

λ

ψ

U

_

+

1

)

W

)

=

e

(

G

,

W

)

γ

u

λ

ψ

U

_

+

1

·

s

2

(

λ

ψ

U

_

+

1

)

=

e

(

G

,

W

)

γ

u

s

2

;

and

deriving

I

=

Γ

(

s

1

)

·

Γ

(

s

2

)

=

e

(

G

,

W

)

γ

u

s

.

8. The method of claim 7 , further comprising decrypting data utilizing the session key K s .

9. The method of claim 8 , wherein the processing system comprises a cloud storage system.

10. The method of claim 6 , wherein the access control policy Ps is revealed at an attribute domain level.

11. The method of claim 6 , wherein encryption of the header H and the partially decrypting of the encrypted header H are performed over each of a plurality of attribute domains in a batch-processing manner.

12. The method of claim 6 , wherein the algorithm terms

({right arrow over (ψ)} U )=({right arrow over (ψ)} U ) w U , s =({right arrow over (π)} Π 1≤i≤m {right arrow over (w)} i,a ) Π 1≤i≤m ( w i,(a,k) ) ={right arrow over (ψ)} S (mod n );

( Ū )=( Ū ) w S ,Ū =( Π 1≤i≤m i,b ) Π 1≤i≤m ( w i,(j,b) ) = s (mod n ); and

{tilde over (H)}={H,{right arrow over (ψ)} U −{right arrow over (ψ)} S , Ū − S }only if [ν i,j , ν i,k ]∩[ν i,a , ν i,b ]≠Ø for all A i ∈

represent the first and second parts of the partially decrypted header {right arrow over (ψ)} S and S , respectively, as outputted when the user's attribute range (A i ) on the i-th attribute of the attribute set [ν i,a , ν i,b ] matches the access control policy's attribute range on attribute A i [ν i,j , ν i,k ]; and

wherein the partially decrypted header is outputted as a function of encrypted header H, the difference beween the first part of the public key {right arrow over (ψ)} U and partially decrypted header {right arrow over (ψ)} S and the difference between the second part of the public key Ū and the second part of the partially decrypted header S .

Assignments (2)
CONFIRMATORY LICENSE Recorded Oct 21, 2020
From: ARIZONA STATE UNIVERSITY
To: NAVY, SECRETARY OF THE UNITED STATES OF AMERICA
Reel/Frame 054588/0808 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2017
From: HUANG, DIJIANG; WANG, ZHIJIE
To: ARIZONA BOARD OF REGENTS ON BEHALF OF ARIZONA STATE UNIVERSITY
Reel/Frame 042968/0099 →
Continuity (3)
Division 14216332 · Mar 17, 2014
Provisional Application 61788552 · Mar 15, 2013
Related Publication 20170272411A1 · Sep 21, 2017