【问题标题】:AES GCM decryption securityAES GCM 解密安全
【发布时间】:2015-01-12 22:52:33
【问题描述】:

当我使用 AES GCM 解密时,如果我的身份验证标签与计算出的身份验证标签不匹配(表明解密过程中提供的内容不正确),用户查看解密的输出是否完全安全?

或者我应该将解密的输出设置为零,以便潜在的攻击者除了解密过程失败之外无法获取任何信息?

我担心如果某些黑客/数学家能够访问解密的输出,他们将能够开始更准确地猜测密钥值。

【问题讨论】:

    标签: security encryption cryptography aes google-cloud-messaging


    【解决方案1】:

    无论您做什么,密钥值都是安全的 - 禁止侧信道攻击或滥用密钥字节。诸如 AES 之类的分组密码旨在不提供有关密钥的任何信息。如果 GCM 身份验证失败,则不应使解密数据可用。失败就是失败 - 如果 GCM 失败,您将无法信任字节的内容。

    如果要阻止攻击,请确保攻击者无法轻易更改已加密的明文,并确保身份验证标签的所有字节始终都经过验证。使用 GCM 还需要使身份验证标签尽可能大。

    返回最少的信息通常也被视为一种很好的防御措施。将加密字节归零可能是一件好事,只要您不返回任何这些字节。

    【讨论】:

    • 好的。当我看到他们提议即使在身份验证标签失败时也返回字节时,我在工作中提出了一个危险信号。我对密码学没有深入的了解,并且担心它的暴露程度,或者是否是 GCM 协议不返回字节。
    • 它不会暴露密钥,但数据只会用于调试目的。有时你会得到例如密文的一半,这可能意味着某种连接问题(或者,在我的情况下,人们一直坚持认为 FTP 是一个很好的协议,是的,他们可以检测文件是否已被完全接收和写入)。但基本上你应该停止处理密文,否则。它可以包含任何内容。
    猜你喜欢
    • 2020-09-08
    • 2019-01-31
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 2017-10-21
    相关资源
    最近更新 更多