我正在建立一个平台,将数据存储在 IPFS 上,然后通过前端 UI 授予对部分数据(或在某些情况下全部)的访问权限。
在 IPFS 上存储与加密一样简单。
首先我加密文件:
gpg --encrypt --recipient "myUserName" "myVideo.mp4"
然后我保存加密文件:
ipfs add "myVideo.mp4.gpg"
到目前为止一切顺利。恢复它就像解密一样简单:
ipfs cat _hashcode > “myVideo.mp4.gpg”
gpg “myVideo.mp4.gpg”
我的问题是,只有当我想加密文件以便只有我才能解密它时,这才有效,我如何允许特定组的用户访问任何给定的文件,甚至可能是平台上的所有用户,但不能平台外的人。
我知道可以在 gpg.config 文件中设置组,但我不会提前知道哪些用户应该具有访问权限,并且它也可能随着时间的推移而改变。
有人可以帮我吗?
谢谢!
最简单的方法通常是最好使用密码保护的 zip 文件。这通常使用 256 位加密,您只需与群组共享密码即可。您可以通过使用每个用户的公钥对其进行加密并将其发送给他们来共享密码,因为上面建议的多签名加密解决方案表明这是多么痛苦的事情。另一种方法是生成一个加密密钥对并转换为基数 58,然后使用该密钥对或密钥中的随机字符数(例如 20 到 30 个字符)作为密码。然后与用户分享。您可以每月更新文件并更改密码,或者设置用户通过密钥登录的流媒体服务器,并且流媒体服务器是唯一具有解密文件的链接和访问权限的地方。 bt 密码保护 zip 文件简单、快速,并且或多或少与多重签名解决方案一样安全,因为任何人都可以共享解密的文件,就像任何人一旦拥有密码就可以共享密码一样,所以实际上没有太大区别,但非常简单和易于部署到无限数量的用户。