无服务器:在lambda函数中处理API密钥解密

问题描述 投票:1回答:1

我正在实现一个使用第三方库的API。

第三方库提供了一个需要作为输入传入的密钥。关键是动态的,可以根据消费者/业务场景进行更改。 lambda函数应该能够解密密钥。

有人可以提出解密密钥的方法吗?我正在探索aws-kms方法。

请注意:我已经记下了实现它的.env方式。但是,今天我的API被一个消费者使用,因此一个API密钥。明天,这个数字会增加(会导致多个键),我可能无法存储/更新该功能。

编辑:我需要通过有效负载传递一些敏感信息。这可以是字母数字值。例如{“sender”:“+ 123”,“secret”:“encrypted_value”}客户端和服务器应共享一个密钥,使用哪个客户端可以加密信息,服务器(lambda函数)应解密它。

任何建议都会很棒!谢谢!

python-3.x aws-lambda serverless aws-kms
1个回答
1
投票

使用KMS在“编辑”部分中描述的标准方式是:

  1. 客户将KMS直接调用到generate a data key。客户端将以加密和纯文本格式获取密钥。
  2. 客户端使用普通密钥对数据进行加密,将其丢弃并将加密数据和加密密钥发送到服务器。
  3. 服务器调用KMS decrypt operation,获取普通密钥并使用它来解密数据。服务器丢弃解密的密钥并按预期使用解密的数据。

如果您的意思不同,请告诉我,但这是使用KMS的一种相当标准的方法。当然,您需要在用例确定的情况下使用IAM和KMS策略锁定所有API。

© www.soinside.com 2019 - 2024. All rights reserved.