encryption - 如何使用 AWS cognito 存储我的用户特定密钥?
问题描述
我正在实现一个允许用户将文档从用户 A 发送给用户 B 的应用程序。我想使用客户端加密(https://en.wikipedia.org/wiki/Client-side_encryption)来加密文档。中间我将加密的文档存储在 S3 中,直到用户 B 登录下载文档。
一种策略可能是使用用户密码加密用于客户端加密的密钥,并使用密码哈希来匹配密码是否正确。然而,当用户忘记密码时,这会引发问题。
有没有办法将密钥信息“附加”到 aws cognito 中的用户配置文件,只有在用户登录后才可用?归根结底,我们的管理员和开发人员应该不可能在数据库中浏览以收集用户密钥,从而能够解密客户端加密的文档。
解决方案
是的,可以在创建 cognito 用户时添加自定义属性:
https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html
登录并调用任何 lambda 后,您可以使用 aws SDK 获取这些属性。
推荐阅读
- wireshark - 试图找出 Azure 服务总线队列的主机名和端口
- python - 映射相似 ngram 的最佳方法是什么
- c++ - 如何将数组传递给使用 sizeof 的函数?
- rtf - 在 BIP RTF 模板中使用参数连接字符串
- r - ggplot2:分层图中填充不准确
- javascript - 仅在关闭甜蜜警报后自动对焦
- spring-boot - Spring Security inmemory 身份验证问题
- java - 应用于pdf through的Overlay Text不通过java打印打印
- c# - x == y ? "1" : "5" 怎么用?
- c# - 在 Unity 中使用脚本对象的项目/能力系统