对称加密、非对称加密、混合加密、身份认证、数字签名、数字证书

丝毫没有防范措施的信息传输一旦被拦截,则有面临监听、篡改、伪造后的信息的风险,此时则需要将信息进行加密才能够确保信息的机密性、完整性、真实性。

注:在文中将A、B为通信双方,X为黑客

1、对称加密(Symmetric Key Encryption)

对称加密就是传输信息双方使用同一个密钥,所谓对称,也就是在传输通信过程中只有一个密钥,也叫单密钥加密。

优点:加密解密速度快。

缺点:单一密钥协商期间,密钥容易被拦截窃取,安全性不强。个人存储密钥数量为N取2的组合。

2、非对称加密(Asymmetric Key Encryption)

非对称加密,也叫双密钥加密就是通信双方生成一对密钥,一个作为私钥不外传,一个作为公钥公之于众。

公钥和私钥互相依存,通过公钥加密的数据只有私钥能解密,通过私钥加密的算法只有公钥能解密。

通过公钥加密,私钥解密,则用于数据加密。

通过私钥加密,公钥解密,则用于身份认证。

公钥和私钥通过数学算法产生的,最常用的算法是RSA算法:

  • 随机选择两个大素数p和q,计算它们的乘积n=p*q。
  • 计算欧拉函数φ(n) = (p-1)*(q-1),φ(n)表示小于n的正整数中与n互质的数的个数。
  • 随机选择一个整数e,1<e<φ(n),e与φ(n)互质。
  • 计算e对于φ(n)的模反元素d,即满足e*d mod φ(n) = 1的整数d。
  • 公钥为(n, e),私钥为(n, d)。

优点:安全性高,个人所需存储密钥数量只有N。

缺点:加密解密速度慢。

3、混合加密(Hybrid Key Encryption)

对于上面的两种加密方式,都有对应的优缺点:

对称加密速度快,但在双方确认密钥期间容易被盗取

非对称加密安全性强,但由于其实现方式和运算过程的复杂性较高,速度较慢

因此,出现了混合加密:

对称加密负责加密数据(解决了加解密速率问题),非对称加密负责对对称加密的密钥进行加密(解决了对称加密密钥容易被盗取的安全问题)。

在这种情况下,信息在传输过程中已经基本确保安全,不会被监听、篡改,但是如何确认与自己通信的人是可信的呢?

4、身份认证

在非对称加密部分有标注,私钥加密,公钥解密则为身份认证,为什么呢?

在非对称加密中,A只会把公钥公之于众,但并不会把私钥公开,在这种情况下,如果B收到了A通过私钥加密的验证信息,且附上原有的验证信息,用A的公钥将加密的验证信息解密后发现与原有的验证信息相同,则说明信息来源于A。因此实现了一个身份认证功能。

5、摘要算法(Digest Algorithm)

而随着我们的信息安全发展,将上面所述的验证信息通过一种摘要的形式实现了。

也就是在通信过程中,将数据通过Hash算法提取出一段定长的摘要。

摘要算法的特性:

  • 不可逆性:只有算法,没有密钥,只能加密,不能解密。所以摘要的比对只有拿到信息后用同一种摘要算法重新生成摘要,然后和信息携带的摘要进行比对,两个摘要一致则数据具有完整性,反之则被篡改过,破坏了完整性。
  • 难题友好性:摘要是很难破解的,只有暴力枚举。也就是说你只有穷举所有字符串产生的摘要与要破解的摘要进行比对,相等了则被破解,反之,则继续穷举。
  • 发散性:只要对原文进行一点点改动,摘要就会发生剧烈变化,也称之为“雪崩效应”。
  • 抗碰撞性:原文不同,计算后的摘要也要不同。因为原始信息的长度是未知的,但是摘要的长度是固定的,我们可以理解为生成摘要是将一个“大空间”映射到一个“小空间”,因此就会有可能产生“大空间”不同的点对应“小空间”的同一个点,我们就称这种现象为“碰撞”。我们所需要的“抗碰撞性”,就是尽量避免这种情况的发生。用数学来描述就是我们需要让这个函数F(x->y)既是是单射函数,又是满射函数,使其值域和定义域是一一映射的(双射)。

A在传输加密数据时,附上一份摘要A,B在收到摘要A和加密数据后通过数据的解密-->Hash计算得到摘要B,对比摘要A和B则可确认数据无误。

6、数字签名(Signature)

看到这里我们不难知道,摘要可以确认数据无误,但摘要如果是明文的话则也有被篡改的风险,而身份认证需要一份验证信息来证明公钥正确,因此可将二者结合,A利用私钥对摘要加密,B使用A的公钥进行解密,既能确保数据完整,又能实现身份验证,而这种方式便叫数字签名。

因此,在数据加密传输过程中,非对称密钥分别使用在两部分:

1、用在对称密钥的确认过程,对对称密钥的密钥进行加密,只使用一次。(公钥加密,私钥解密)

2、在数据传输过程中,进行身份认证、对用于数据完整性确认的摘要进行加密。(公钥加密,私钥解密)

在这种情况下,看似已经没有数据通信的风险了,但是如果黑客X将B电脑内存放的A的公钥篡改为自己的公钥,那么黑客X完全可以把自己伪造成B来和A通信。

7、数字证书(Public Key Certificate,PKC)及证书认证机构(Certification Authority,CA)

数字证书,也就是通过CA机构对A(或B)的公钥进行权威性认证。

可以理解为,间谍头头和间谍们,间谍们们彼此没有办法确认对方的身份是否可信的,哪怕对方有口令,但也没有办法确认,但是间谍头头可以对每个间谍进行考验,通过考验的就能拿到一份带着唯一编号的档案,上面写着,这个人是我们这个间谍组织的人,这串编号就是他的唯一编号,而其他间谍在看到这份编号以后也就可以信任这个人了。

而CA机构起到的就是间谍头头的作用,对找机构进行认证的A(或B)进行验证,验证通过后,利用机构的私钥进行加密,生成一份独属于A(或B)的数字证书,只有通过机构的公钥才能对该数字证书进行解密获得该证书所有者的公钥。

在这种情况下,有一个权威机构作为保证,数据传输的过程才算是安全了。

不过,如果权威机构不够权威,被人家伪造了数字证书,那也就不够安全了。

8、加密过程通信图

ps:本图如有侵权,请联系本人删除。

一些碎碎念:

以上是我对于加密传输数据的一些小总结,仅供参考理解,如有觉得不当的地方,请在评论区指出(如果可以的话,请温柔的指出。)

  • 23
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值