1

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

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

有人可以建议一种解密密钥的方法吗?我正在探索 aws-kms 方法。

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

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

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

4

1 回答 1

1

使用 KMS 执行您在“编辑”部分中描述的操作的标准方法是:

  1. 客户端直接调用 KMS生成数据密钥。客户端将以加密和明文格式取回密钥。
  2. 客户端使用明文密钥加密数据,将其丢弃并将加密数据和加密密钥发送到服务器。
  3. 服务器调用 KMSdecrypt操作,取回明文密钥并使用它来解密数据。服务器丢弃解密的密钥并根据需要使用解密的数据。

如果您的意思不同,请告诉我,但这是使用 KMS 的相当标准的方式。当然,您需要根据您的用例确定使用 IAM 和 KMS 策略锁定所有 API。

于 2018-01-04T01:49:56.357 回答