找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 192|回复: 2

信封加密

[复制链接]

4

主题

21

回帖

38

积分

新手上路

积分
38
发表于 2023-1-25 21:17:20 | 显示全部楼层 |阅读模式
来历:知乎
这篇文章和大师来聊一种平安业内常用加密理论:信封加密(Envelope Encryption)。信封加密是工程中常用的一种加密手段,它具有很多益处。比如,可以避免对不异的明文发生一样的密文,可以利用多个密钥加密同一个数据,可以连系多种加密算法的上风等等。明天我们就来盘一盘信封加密。

信封加密-1.jpg

图片 来自收集

密钥的常见品种

在现代密码学中,最多见的是按照算法停止分类。比如,将密钥品种分红对称密钥(Symmetric Key)和非对称密钥(Asymmetric Key)。其中对称密钥零丁存在,而非对称密钥现实上是一个密钥对(Key Pair),别离对应公钥(Public Key)和私钥(Private Key)。
还可以按照密钥的功用停止分类。比如,用于保证机密性的密钥、用于数字签名的密钥、用于消息认证的密钥等等。
此外,本文我们要侧重先容一些按照场景停止分类的密钥。
举个例子,在HTTPS通讯进程中,阅读器和办事器之间会基于SSL/TLS停止加密通讯。通讯双方经过利用非对称密钥的机制,终极协商出一个对称密钥,以用于保证双方通讯进程中的信息机密性。这个对称密钥是一次性的,仅用于当前的会话,一旦会话封闭,该对称密钥也随之烧毁。我们把这样只用一次的密钥称为会话密钥(Session Key)。会话密钥有一个益处,就是仅仅针对当前的进程有用,这下降了密钥泄露能够带来的信息泄露数目。预会话密钥相对应,我们把一向被反复利用的密钥称为主密钥(Master Key)
晓得了会话密钥和主密钥的概念,我们来看个例子吧!

信封加密-2.jpg

图片 来自收集

比如战争期间,Alice和Bob要就军事行动停止相同。他们已经提早在线下碰过甚,约定了一个同享的对称密钥S。某天,Alice想发电报给Bob,告诉内容C具体为老迈决议今晚11点脱手。
一般的加密思绪是:Alice用对称密钥S加密告诉内容C,然后将密文发送给Bob。Bob在收到密文消息以后,用对应密钥S解密获得告诉内容C。 这样就晓得行动内容了。可是,这样做会有什么题目吗?
固然有。假定Alice它们依照计划行动了,那今后凡是Alice和Bob之间的告诉内容是老迈决议今晚11点脱手,敌方就得会知晓,由于密文是连结稳定的。那怎样处理这个题目呢?
信封加密

我们无妨换一个加密思绪:Alice首先姑且天生一个对称密钥R,并用该对称密钥R加密告诉内容C,然后将密文发送给Bob。但题目是,Bob在收到密文消息以后,它该若何解密呢?Bob的手上只要之前约定的对称密钥S,并没有Alice姑且天生的对称密钥R,是以Bob没法解密。
聪明的Alice也想到了这个题目。是以,Alice利用对称密钥S对密钥R做了个加密,并将加密的成果同时发给了Bob。这样,Bob在收到消息以后,首先用对称密钥S解密出姑且的对称密钥R,然后用R解密出告诉内容C。全部进程如图:

信封加密-3.jpg

图片 信封加密

在上面的进程中,在收集上传输的是加密后的R和加密后的S。假如Alice和Bob再次传输不异的内容C,由于利用的姑且对称密钥R是分歧的,是以加密后的C也是分歧的,即使加密前的明文C还是同一个。
在这个场景中,对称密钥R现实上就是一个会话密钥,对称密钥S就是一个主密钥。由于对称密钥R每次都纷歧样,可是对称密钥S是一向被反复利用的。
上面就是一个信封加密的例子。我们来定下信封加密(Envelop Encryption):
信封加密就是用一个密钥加密明文数据,然后用另一个密钥加密这个密钥。
此外,这个进程是可以嵌套的。指在会话密钥和主密钥之间可以再加屡次会话密钥。可是当你这么做时,要想清楚为什么。凡是情况下,主密钥加密会话密钥就够了。
在一些文档大概书籍中,我们会看到一种叫法:内容加密密钥(Content Encrypting Key,CEK)和密钥加密密钥(Key Encrypting Key,KEK)。
所谓内容加密密钥,是指被加密的内容是要传输的明文信息。在上面的案例中,对称密钥R就是CEK。
所谓密钥加密密钥,是指被加密的内容是密钥。在上面的案例中,对称密钥S就是KEK。
信封加密的优点

除了上面提到的,屡次加密不异的明文,也可以发生纷歧样的密文之外。信封加密还有一些优点:

  • 削减了需要保管的密钥数目
当我们利用KEK加密CEK以后,就不需要再去保存CEK的明文了,由于也就避免了CEK被泄露的风险。固然在这类情况下,我们需要平安地存储KEK的明文。不外,信封加密的机制还是大大地下降了整体风险,由于它削减了需要保管的密钥数目。
假定我们有1万条数据需要保存,假如不利用信封加密,则需要保存1万个CEK的明文。假如利用了信封加密,则仅保存1个KEK便可以了,由于对应的1万个CEK是加密存储的,不必担忧泄露的题目。固然,此种情况下,KEK的代价更高了。由于1个KEK的代价同即是本来的1万个CEK的代价。

  • 连系多种算法的优点
凡是来说,对称密钥算法比公钥算法更快,天生的密文更小。可是,公钥算法供给了脚色分手。是以,经过信封加密,我们可以把它们的上风连系起来。比如,CEK利用对称密钥算法,而KEK利用公钥算法。这样既保证了加密数据的进程很快,又实现了加解密进程中的脚色分手。

  • 用多个密钥加密不异的数据
当原始数据是大工具时,加密操纵能够很耗时。 在这类情况下,假如我们想要变更数据的密文,可以仅仅重新加密CEK以实现密文变化,而不需要重新加密原始的大工具。这样做既节俭了时候,也实现了密文的变化。
总结

本文先容了平安工程理论中常用的密钥品种。比如,对称密钥、非对称密钥、加密密钥、会话密钥、主密钥、内容加密密钥、密钥加密密钥等等。同时,先容了一种常用的加密理论——信封加密。希望列位小伙伴能在工程中连系营业场景多多理论。
喜好我的文章,就来激励我吧。接待点赞收藏加关注。
一个先容Java进修线路的Live:(热度最高的Java知乎Live)


一个先容入门云计较的Live:


原文地址:https://zhuanlan.zhihu.com/p/586967052
免责声明:本帖内容由机械人自动收集于互联网,如加害了您的权益,请联系我们【E-Mail:cb@yoyodoc.com】 我们会实时删除侵权内容,给您带来未便,深感歉意!

4

主题

12

回帖

31

积分

新手上路

积分
31
发表于 2023-1-25 21:17:28 | 显示全部楼层
所谓内容加密密钥,是指被加密的内容是要传输的明文信息。在上面的案例中,对称密钥R就是CEK。
所谓密钥加密密钥,是指被加密的内容是密钥。在上面的案例中,对称密钥S就是KEK

内容加密密钥:加密的工具是要传输的明文信息
密钥加密密钥:加密的工具是密钥
这样了解正确吗?

5

主题

10

回帖

36

积分

新手上路

积分
36
发表于 2023-1-25 21:17:52 | 显示全部楼层
对的呀
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|小悠文档创作分享社区 ( 粤ICP备11072215号 )|网站地图

GMT+8, 2024-11-24 20:34 , Processed in 0.270501 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表