【发布时间】:2019-02-17 07:46:17
【问题描述】:
我们正在构建一个移动应用程序,该应用程序需要在设备上存储加密文件,然后将其上传到服务器。只有服务器需要能够解密它,并且如果设备受到破坏,文件应该是不可解密的。
我一直在探索为此目的使用公钥加密,但是我在一些places 中读到,使用非对称密钥加密大文件效率不高,而信封加密是一种更好的方法。信封加密/解密的步骤是
- 客户端设备 (C) 获取服务器 (S) 公钥
- C 创建对称数据加密密钥 (DK)
- C 使用 DK 加密文件
- C 用 S 的公钥加密 DK
- C 上传文件到 S,同时包含加密文件和加密 DK
- S 使用它的私钥对加密的 DK 进行解密
- S 使用 DK 解密文件
我的问题:上述步骤是否正确,是否有实现此流程的库? AWS encryption SDK 提供此功能,但我们需要在无法连接/使用 AWS 的移动应用程序中实现此功能
【问题讨论】:
标签: javascript c# amazon-web-services encryption