# US 11,310,041 B2 · Method and apparatus for achieving fine-grained access control with discretionary user revocation over cloud data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,310,041 B2
- Document ID: US11310041B2
- Status: Granted
- Kind: B2
- Application number: 16/728,724
- Filed: 2019-12-27
- Published: 2020-10-08
- Granted: 2022-04-19
- Earliest claimed: 2019-04-05
- Assignees: Arizona Board of Regents on behalf of Arizona State University
- Applicants: Arizona Board of Regents on Behalf of Arizona State University
- Inventors: Dijiang Huang; Jim Luo; Myong Hoon Kang; Qiuxiang Dong
- Web page: https://patentgrep.com/patent/US11310041B2

## CPC

- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- H04L 9/0825: {using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates}
- H04L 9/083: {involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]}
- H04L 9/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 (network architectures or network communication protocols for using time-dependent keys in a packet data network H04L63/068)}
- H04L 9/0891: {Revocation or update of secret information, e.g. encryption key update or rekeying}
- H04L 9/3073: {involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing}
- H04L 9/321: {involving a third party or a trusted authority}
- H04L 9/3236: {using cryptographic hash functions}
- H04L 63/0435: {wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for symmetric key encryption H04L9/06)}
- H04L 63/10: {for controlling access to devices or network resources}
- H04L 63/20: {for managing network security; network security policies in general (filtering policies H04L63/0227)}
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L 63/0442: {wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for public-key encryption H04L9/30)}
- H04L 63/1466: {Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks}
- H04L 2463/062: applying encryption of the keys
- H04W 12/082: using revocation of authorisation
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A method for a data owner to enforce attribute-based and discretionary access control over a cloud-based data store by specifying an access policy, creating a plurality of users with attributes that satisfy the access policy, and revoking one or more of the plurality of users by embedding their respective identities as revoked into a ciphertext, whereby only those of the plurality of users whose attributes satisfy the access policy and that are not revoked can decrypt the ciphertext.

## Claims

### Claim 1

A method for a data owner to enforce attribute-based and discretionary access control to a cloud-based data store, the method comprising:
specifying an access policy;
creating a plurality of users with attributes that satisfy the access policy;
revoking one or more of the plurality of users by embedding their respective identities as revoked into a ciphertext;
allowing only those of the plurality of users whose attributes satisfy the access policy and that are not revoked to decrypt the ciphertext;
encrypting data under a set of access policies including the specified access policy;
wherein revoking one or more of the plurality of users by embedding their respective identities as revoked into a ciphertext comprises:
creating a set of revoked user identities;
transmitting the set of access policies and the set of revoked user identities to a cloud server operated by a cloud-storage service provider;
encrypting a data encrypting key (DEK), wherein the DEK is a symmetric data encryption key K, using an Attribute-Based Encryption (ABE) scheme;
encrypting data using the DEK with a symmetric encryption scheme, thereby creating a symmetric encryption ciphertext of data M; and
transmitting an ABE ciphertext of K and the symmetric encryption ciphertext of the data M to the cloud-storage service provider for storage.

### Claim 2 (depends on 1)

The method of claim 1, wherein the one or more of the plurality of users are one of:
individual users and affiliated users.

### Claim 3

Non-transitory computer readable storage media having instructions stored thereon that, when executed by a processor of a system, the instructions cause the system to perform operations for a data owner to enforce attribute-based and discretionary access control to a cloud-based data store, comprising:
specifying an access policy;
creating a plurality of users with attributes that satisfy the access policy;
revoking one or more of the plurality of users by embedding their respective identities as revoked into a ciphertext;
allowing only those of the plurality of users whose attributes satisfy the access policy and that are not revoked to decrypt the ciphertext;
encrypting data under a set of access policies including the specified access policy;
wherein revoking one or more of the plurality of users by embedding their respective identities as revoked into a ciphertext comprises:
creating a set of revoked user identities;
transmitting the set of access policies and the set of revoked user identities to a cloud server operated by a cloud-storage service provider;
encrypting a data encrypting key (DEK), wherein the DEK is a symmetric data encryption key K, using an Attribute-Based Encryption (ABE) scheme;
encrypting data using the DEK with a symmetric encryption scheme, thereby creating a symmetric encryption ciphertext of data M; and
transmitting an ABE ciphertext of K and the symmetric encryption ciphertext of the data M to the cloud-storage service provider for storage.

### Claim 4 (depends on 3)

The non-transitory computer readable storage media of claim 3, wherein the one or more of the plurality of users are one of: individual users and affiliated users.

### Claim 5

An apparatus for access control of data stored in a cloud server, comprising:
a memory to store instructions for carrying out one or more algorithms;
a processor to execute the instructions stored within the memory;
a setup algorithm executed by a trusted authority (TA) that takes as inputs a security parameter λ and an attribute universe U and outputs a master secret key MSK, public parameters PP, and a set of attribute-related public keys {PKx};
a key generation algorithm executed by the TA that takes as inputs the master secret key MSK, a user's hierarchically structured identity ID, and a set of attributes S that describe the user's access privilege, and provides as outputs a secret key SK for the user;
a data encryption algorithm executed by a data owner that takes as inputs the public parameters PP, the public attribute keys {PKx}, a message M, a set of IDs of revoked identities, and an access policy A, and provides as outputs a ciphertext CT; and
a data decryption algorithm executed by the user that takes as inputs the ciphertext CT downloaded from the cloud server, and the secret key SK, and provides as outputs a message M when the attributes associated with a secret key holder satisfy A and the user's ID is not in the set of IDs of revoked identities.

### Claim 6 (depends on 5)

The apparatus of claim 5, wherein a revoked identity in the set IDs comprises an identity of one of: an individual user, and a subordinate organization in an organizational structure.

### Claim 7 (depends on 5)

The apparatus of claim 5, wherein the ciphertext CT is associated with an access policy A and a set of revoked identities denoted by the IDs.

### Claim 8 (depends on 5)

The apparatus of claim 5, wherein the setup algorithm executed by the trusted authority (TA) that outputs a master secret key MSK comprises the setup algorithm selecting a plurality of random exponents α, b∈Zp as the master secret key MSK={α, b}.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the setup algorithm executed by the trusted authority (TA) that outputs public parameters PP comprises the setup algorithm generating public parameters as PP=(g, gb, gb2, e(g, g)α), wherein a term G represents a bilinear group of prime order p, and further wherein the term g is a generator for the term G.

### Claim 10

A method for access control of data stored in a cloud server, comprising:
storing instructions for carrying out one or more algorithms in a data store;
executing the instructions stored within the data store via a processor;
executing a setup algorithm by a trusted authority (TA) that takes as inputs a security parameter λ and an attribute universe U and outputs a master secret key MSK, public parameters PP, and a set of attribute-related public keys {PKX};
executing a key generation algorithm by the TA that takes as inputs the master secret key MSK, a user's hierarchically structured identity ID, and a set of attributes S that describe the user's access privilege, and provides as outputs a secret key SK for the user;
executing a data encryption algorithm by a data owner that takes as inputs the public parameters PP, the public attribute keys {PKX}, a message M, a set of IDs of revoked identities, and an access policy A, and provides as outputs a ciphertext CT; and
executing a data decryption algorithm by the user that takes as inputs the ciphertext CT downloaded from the cloud server, and the secret key SK, and provides as outputs a message M when the attributes associated with a secret key holder satisfy A and the user's ID is not in the set of IDs of revoked identities.

### Claim 11 (depends on 10)

The method of claim 10, wherein a revoked identity in the set IDs comprises an identity of one of: an individual user, and a subordinate organization in an organizational structure.

### Claim 12 (depends on 10)

The method of claim 10, wherein the ciphertext CT is associated with an access policy A and a set of revoked identities denoted by the IDs.

### Claim 13 (depends on 10)

The method of claim 10, wherein executing the setup algorithm by the trusted authority (TA) that outputs a master secret key MSK comprises selecting via the setup algorithm a plurality of random exponents α, b∈Zp as the master secret key MSK={α, b}.

### Claim 14 (depends on 13)

The method of claim 13, wherein executing the setup algorithm by the trusted authority (TA) that outputs public parameters PP comprises generating public parameters as PP=(g, gb, gb2, e(g, g)α), wherein a term G represents a bilinear group of prime order p, and further wherein the term g is a generator for the term G.
