NFT-based secure access control for IPFS-stored content

I’m trying to set up a system where creators can share their work using IPFS and NFTs. The idea is that when someone buys an NFT, they get access to the creator’s stuff stored on IPFS. But I’m worried about keeping it safe.

Here’s my problem: IPFS doesn’t have built-in security. Anyone with the CID can grab the content. I thought about encrypting files before uploading, but then my service becomes a single point of failure. If it goes down, creators can’t get their own work back.

So I’m wondering:

  1. Is there a way to make this work without relying too much on my service?
  2. How can I check if someone owns the right NFT to access the content?
  3. Can we make it so creators always have a way to get their stuff, even if my service disappears?

Anyone have ideas on how to make this secure but still decentralized? I’m all ears!

hey there pixstar54! ur project sounds super cool. have u thought about using threshold encryption? it’s like, u split the decryption key into pieces and give different parts to different people or smart contracts. that way, no single point of failure and creators can always access their stuff :closed_lock_with_key:

what if u combined that with a decentralized identity system? could help verify nft ownership without relying on just one service. maybe even look into using ipfs’s own naming system (ipns) to manage access somehow?

btw, how r u handling metadata for the nfts? could be a good place to store access info. just curious how deep uve gone into this rabbit hole lol. keep us posted on how it goes!

hey pixstar, interesting project! have u considered using zk-proofs? they could let u verify nft ownership without revealing sensitive info. maybe combine that with a distributed key management system so creators always have access. just brainstorming tho, not sure how complex itd be to implement

I’ve been working on a similar project and encountered the same challenges. One approach we’re exploring is utilizing proxy re-encryption. This allows the content to remain encrypted on IPFS while enabling authorized NFT holders to decrypt it without the need for a centralized service. We’re also implementing a decentralized access control layer using smart contracts. This way, NFT ownership verification and access rights management happen on-chain, enhancing security and reducing reliance on a single point of failure. For creator access, we’re considering a multi-sig setup where creators retain a master key. It’s not a perfect solution yet, but it’s showing promise in balancing security, decentralization, and usability.