4

Lets say I create a web application to store user identity documents. These documents are stored in IPFS and user details are maintained in Ethereum private blockchain. Thus once the files are created in IPFS the hash is stored in Ethereum blockchain. Now specific to IPFS if someone is having access to the hash can download the document from IPFS.

One way could be to encrypt the data with some custom algorithm and then store in IPFS. In the web app apply the logic to de-crypt the document fetched from IPFS and then display the same to the user. But this will be a custom implementation.

Question
1. How to make permission based file access based on the provided file hash for IPFS? Is there any standard way of achieving this?

4

IPFS currently doesn't have any in-built feature for providing access control. But as you said, you can always encrypt your content before adding it to IPFS and then give the keys to people you want to be able to decrypt the content.

  • In that case what is the benefit of storing in IPFS and not in some other permissioned drive? – Susmit Apr 28 '17 at 4:46
  • @Susmit all the same benefits that are listed on the webpage: ipfs.io – Victor Bjelkholm Apr 28 '17 at 9:27
  • @VictorBjelkholm but if we are encrpyting the content before taking the hash, can we really say that the file is content addressable? There will be different "versions" of the file that have the exact same unencyprted content. While this doesn't negate many of the benefits of IPFS, you could argue that it waters them down? – Paul Apr 15 '18 at 16:18
0

i think the issue of Access will be tied to Payment for storing that IPFS hash file. Therefore, a blockchain based Permissions to view/download file must exist to track who pays for that data. Otherwise, anyone can spam and accrue costs. Permission check solves Security as well. It's a fair question that Protocol Labs should address at launch. soon.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.