我正在看网络加密(JWE),我对为什么要使用AES密钥包装感到有点困惑。
该文档甚至谈到使用匹配关键算法的优点:
在可能的情况下,应该同时使用匹配强度的算法。例如,当AES密钥包装与给定的密钥大小一起使用时,建议在使用AES GCM时使用相同的密钥大小。如果密钥加密算法和内容加密算法不同,则这两种算法的优劣决定了有效的安全性。
本质上,我想知道您为什么要使用AES密钥包装。
因此,作为一个例子比较,使用A256GCM加密算法,我需要一个256位的密钥.为了方便起见,我的钥匙将是"secret0123456789secret0123456789“,我正在编码”测试“。
使用直接(DIR)密钥算法(因此使用我的密钥作为内容密钥),我得到:
eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..Vlf_WdLm-spHbfJe.RxMPrw.5VC8Y_qSPdSubbGNGyfn6A
具体如下:
JWE Header: {"alg":"dir","enc":"A256GCM"}
Encrypted key (CEK): (blank)
IV: Vlf_WdLm-spHbfJe
Ciphertext: RxMPrw
Authentication Tag: 5VC8Y_qSPdSubbGNGyfn6A将密钥包装算法与加密算法相匹配,我将使用AES 256位键,这将产生:
eyJhbGciOiJBMjU2S1ciLCJlbmMiOiJBMjU2R0NNIn0.66xZoxFI18zfvLMO6WU1zzqqX1tT8xu_qZzMQyPcfVuajPNkOJUXQA.X5ZL8yaOektXmfny.brz-Lg.xG-EvM-9hrw0XRiuRW7HrA
具体如下:
JWE Header: {"alg":"A256KW","enc":"A256GCM"}
Encrypted key (CEK): 66xZoxFI18zfvLMO6WU1zzqqX1tT8xu_qZzMQyPcfVuajPNkOJUXQA
IV: X5ZL8yaOektXmfny
Ciphertext: brz-Lg
Authentication Tag: xG-EvM-9hrw0XRiuRW7HrA 据我所知,内容密钥是使用网络密钥(JWK)加密的,但实际上是这样做的:
加密的CEK、IV和加密数据都是结果JWE对象(所有base64url编码的)的一部分。
Direct会导致一个较小的有效负载通过线路发送,我认为它的加密和解密速度略快一些,因为它跳过了一步。
使用AES密钥包装会产生更高的安全性吗?如果是,为什么?如果没有,为什么要使用它而不是直接的内容加密?
发布于 2015-02-06 15:08:57
如果您需要存储大量数据,那么将密钥包装在加密层中的优点意味着,如果您以后需要更改密钥,那么您就不必对所有数据进行重新加密。您只需更改KEK (密钥加密密钥)并重新加密CEK,而不必再次传输所有密文。
例如,假设您使用JSON将数据传输到服务器以确保安全存储。您可以使用A256KW传输所有这些数据,而另一端的服务器只需存储这些数据。
也就是说,传输以下内容,然后存储服务器端:
Encrypted key (CEK): 66xZoxFI18zfvLMO6WU1zzqqX1tT8xu_qZzMQyPcfVuajPNkOJUXQA
IV: X5ZL8yaOektXmfny
Ciphertext: brz-Lg
Authentication Tag: xG-EvM-9hrw0XRiuRW7HrA 如果需要更改密钥,只需将CEK提取到客户端,使用旧的KEK解密,然后用新密钥加密CEK,然后将其发送回服务器更新所有相关记录。
仅为短期传输目的,这并不重要,它将更容易使用的直接一个较小的有效载荷。
发布于 2016-05-27 00:18:26
KW允许您建立一个长期的秘密,但仍然使用不同的CEK为每个消息,这是重要的一些用例,但不是所有。
在使用JWE向具有不同长期密钥的多个收件人发送单个消息的情况下,这一点至关重要,因为您需要对每个收件人多次包装CEK。
JWE支持许多高级用例,但常用的是直接在双方之间加密JWT。
当我们开发JWE时,有些人只想支持KW选项,而放弃直接优化。最后,我们根据用例选择了两个选项。直接创建较小的令牌,并且更容易实现。如果你不需要KW,那就别担心。
发布于 2015-02-06 03:29:31
使用AES密钥包装是有原因的。一旦你加密了一些东西,密钥就是弱项。所有获取数据的尝试都需要知道密钥。由于密钥和加密/解密软件没有加密,攻击者可以窃取您的密钥并使用它。这就是钥匙包装的重点,它有助于保护你的钥匙。
https://security.stackexchange.com/questions/80966
复制相似问题