假设我有一个应用程序将用户资源存储在amazon s3中。假设这些数据很敏感。我在数据库中有一个表,其中包含资源行,每个表包含资源的url和拥有它的user_id。
如果我将网址直接返回给用户,我该如何保证 只有该用户才能从该会话中访问它?
A similar question有一个使用过期网址的答案,尽管如果其他人在到期时间内也有链接,他们也可以访问它。
有没有办法可以促进直接加密交换 客户端和云存储提供商之间的资源 存在?我希望能够通过客户端链接到云 资源并且只有 他们能够在当时 的浏览器中解密它。
答案 0 :(得分:0)
为什么不呢?
如果您可以安全地将私人加密密钥传递给您的客户端,或者您知道他的私钥的公钥,您可以随时加密文件,然后用户的浏览器将在其末尾解密该文件。
看看几个现成的JavaScript库:
如果您必须提供对不同人员的访问权限(例如,今天提供给User1,明天提供给User2和User3),最好的方法不是每次加密文件本身,而是加密一次,然后加密私钥到使用这些用户的密钥解密文件。