客户端公共密钥加密

时间:2019-02-15 10:33:39

标签: c# encryption amazon-s3 aws-lambda public-key-encryption

我们正在构建具有以下功能的移动应用程序

  1. 在未连接到互联网的情况下捕获用户信息(文本,音频)
  2. 将信息存储在设备上,并使用服务器端公钥进行加密
  3. 如果可以连接互联网,请使用预先签名的URL上传到s3
  4. 文件在s3中可用后,另一个后台进程(?)使用上述公钥的服务器端私钥对其进行解密,然后复制到另一个存储桶中

由于法规要求,设备上的文件需要在不连接互联网的情况下进行静态加密。否则,可以使用s3加密客户端(AmazonS3EncryptionClient)进行上传时进行即时加密。

我的问题在第4步上。是否可以在此步骤中使用s3触发器lambda函数?我认为lambda可用磁盘大小的限制将意味着将文件从s3复制到lambda本地目录将不适用于大文件(文件可能只有几GB)。还有哪些其他选项(最好是无服务器)?串流s3对象并在内存中解密怎么办?

1 个答案:

答案 0 :(得分:1)

  

是否可以在此步骤中使用s3触发器lambda函数? ..流s3对象并在内存中解密怎么办?

您可以作为流在s3上进行读写解密,那么lambda限制将在执行时间(900s = 15分钟)出现。如果可以在15分钟内处理文件,则使用lamba可能是个好主意。恕我直言,您可以在15分钟内处理大量GB,但是总有15分钟。限制(前一段时间是5分钟)。

  

还有哪些其他选项

如果您要在没有任何处理时间限制的情况下处理文件,我建议让s3 lambda将消息发送到AWS Job队列