The invention discloses a
cloud data sharing method based on a block chain, and the method comprises the steps: the block chain is constructed, an initialization generator is accessed, and the systeminitialization is performed; the user performs identity registration and joins the
blockchain network to obtain an identity ID; the data owner uploads the data index and the encrypted data to the CSC;after successful uploading, the
cloud storage center CSC stores the encrypted data and the index
list; after the shared data is uploaded successfully, the data owner formulates an access strategy, encrypts an owner key, generates a new block in the block chain, and records data uploading information and an
encryption key; the user sends an access request to a
cloud storage center CSC and uploadsa data index needing to be accessed; the user submits attributes to the KGC and the CSC, and the KGC and the CSC jointly generate and issue a key to the user according to the attributes; and the useracquires the symmetric key
ciphertext and decrypts the symmetric key
ciphertext. According to the invention, the
encryption key of the data owner is managed through the
blockchain, an effective
key management mechanism is provided, and the problem of secure sharing of
cloud data is solved.