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?