Proxy Re-Encryption in Blockchain-based Application

Wangcheng Yuan · 2022

Nowadays, blockchain-based technology has risen to a new dimension. With the advantage of the decentralized identity, data are transferred through decentralized and public ledgers. Those new contracts provide great visibility. However, there is still a need to keep some data private in many cases. Those private data should be encrypted while still benefiting from the decentralized on-chain protocol. Securing those private data in such a decentralized blockchain-based system is thus a critical problem. Our solution provides a decentralized protocol that lets users grant access to their private data with proxy re-encryption in SpartanGold (a blockchain-based cryptocurrency). We implement a third-party storage provider called a proxy to store clients’ private data in an encrypted form. Whenever someone wants to access a client’s private data, the client uses their private key along with the buyer’s public key to generate a re-encryption key. The third-party proxy uses the re-encryption key to re-encrypt the client’s encrypted data for the recipient and send the result to the buyer. As a result, only the buyer can decrypt the re-encrypted data by using their private key, without revealing the data owner’s private key or the private data to the third-party proxy. Our protocol has secured the private data on the decentralized blockchain-based application without relying on trusted parties. We use medical data as a use case to validate our protocol. In our medical use case, the patient’s medical records are stored on the third-party proxy, and when specialists request medical data from the patient, the patient generates the re-encryption key and sends it to the proxy. The proxy re-encrypted the data and sends back to the specialists.

Read the paper · More papers on PaperTik