【发布时间】:2021-05-10 22:39:34
【问题描述】:
在 MongoDB 客户端字段级别加密中,当我们加密记录并在密钥库中有多个数据加密密钥(请不要将其与主密钥混淆)时,如果我们在单个查询中获取多个记录,则说 X 记录使用 Y 个不同的数据加密密钥加密了 1 个字段,我想了解驱动程序如何处理这些数据加密密钥的获取。我可以想到下面列出的几种方法来处理它,但想了解确切的行为以最终确定我们的方法。
- 它获取 X 条记录并在解密每条记录时调用以获取用于加密该特定记录的数据加密密钥。因此,一起进行 X db 调用以获取密钥。
- 与上述相同,但当它获取数据加密密钥时,会将其存储在内存中,以便在任何其他未解密的记录使用相同的数据加密密钥时重复使用。在这种方法中,它会调用 Y db 来获取密钥。
- 它获取 X 条记录并列出所有使用的不同键标识符。进行单个数据库调用以获取所有这些不同的数据加密密钥。在这种方法中,它会进行一次 db 调用来获取所有键。
- 其他方式。
如果有人知道它是如何实现的,请分享。
TIA
【问题讨论】:
-
这是自动加密吗?
-
是的,在企业版中。
标签: mongodb encryption mongodb-query mongodb-csfle