小编Rya*_*her的帖子

如何提高 AWS 加密 SDK 解密的性能(响应时间)

我有一个 AWS Lambda,用于在将 PII(个人识别信息)存储到 DynamoDB 之前使用 AWS 加密 SDK 对其进行加密。

当使用不同的 Lambda 从 DynamoDB 检索数据以显示给最终用户时,每次调用 KMS 的平均时间为 9.48 秒。这是大约 2k 个请求的平均值,请求范围从约 14.5 秒到约 5.1 秒。对 KMS 的调用是异步进行的。

从第一次 KMS 调用到最后一次调用的总时间约为 20 秒

我们考虑过使用数据密钥缓存,并阅读这篇 AWS 博客文章了解何时使用它。

我们的数据输入可能不够频繁,无法充分利用缓存,我正在尝试寻找其他方法来提高性能。

解密代码 Sippet:

async function decryptWithKeyring(keyring: KmsKeyringNode, ciphertext: string, context: {}) {
    const b: Buffer = Buffer.from(ciphertext, 'base64');
    const { plaintext, messageHeader } = await decrypt(keyring, b);
    const { encryptionContext } = messageHeader;
    Object.entries(context).forEach(([key, value]) => {
        if (encryptionContext[key] !== value) …
Run Code Online (Sandbox Code Playgroud)

encryption amazon-web-services aws-lambda

5
推荐指数
0
解决办法
558
查看次数