对 【对称加密和非对称加密以及CA】的理解(二)

非对称加密更加安全但是费时费力,对称加密虽然省时,快速但是不安全,于是就可以将它俩结合起来使用。

结合思路是这样的:文件传输用对称加密,对称加密的加密和解密用的都是同一个密钥,用非对称加密的公钥对此对称加密的密钥进行加密,然后发送出去,接收方用非对称加密的私钥对刚才用公钥加密过的对称加密的密钥进行解密,得到对称加密的密钥,然后用此密钥对加密后的文件进行解密。这样既用到了对称加密的简单高效,也用到了非对称加密的安全。

非对称加密的一种应用:数字签名 

可以保证信息传输的完整性、发送者的身份验证、防止交易中的抵赖发生。那么是怎么实现的呢?

1、保证信息传输的完整性

假设现在A要给B发文件。A有自己的公钥和私钥, A将要发送的文件进行 单向散列函数进行处理,得到了一个固定的128位长度的摘要。A此时用自己的私钥将这个 摘要给加密, 此时摘要编变成了 加密摘要,也可称之为是A的数字签名。此时A将自己的 公钥、A的数字签名(即加密后的摘要)、A要发送的文件 这3个东西发送给了B。【A是不能对签名之后的内容进行修改的,否则则A的私钥失效,因为用A的公钥已经解不开这个加密的摘要了】注意文件并没有被加密,此处是验证一致性,即文件是否被更改(通俗点说就是    上级给你的任务 中途有没有被人给做了手脚,将任务改变)。B收到了A的公钥,B收到了A的数字签名后,B用A发来的A的公钥对此数字签名进行解密,得到了A生成的未加密的128位摘要。 B也收到了这个文件,B也用单向散列函数对这个文件进行处理也得到了固定的128位长度的摘要,B用此时这个摘要同刚才对A数字签名解密后的摘要进行对比,若2次的摘要相同,则证明,传输前后,文件的内容没有被改变。因为是单向散列函数函数,所以文件稍有变动,生成的摘要就会不同。  若2次的摘要不同,则证明文件已经发生了变化。  

在我们之前下载大型游戏,或者在Apache官网下载东西或者别处等等、往往会有验证算法,比如MD5和SHA,来对我们的下载的东西做完整性检验,通过相同的算法,如果我们生成的 码和服务器端的存放的码不同,则证明我们下载的文件已经和原版有不同了。它们的原理和上面都是一样的。

2、发送者的身份验证

假如此刻A不承认这3个东西是他发的呢(但事实上就是A发的)?B要怎么论证呢?

所以就有了:电子商务认证授权机构(CA, Certificate Authority),也称为电子商务认证中心,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。

A想发文件给B,但是B收到了,B要怎么确认是A发的而不是别人发的呢?

A就需要一个担保机构 CA。 A在发送前先把自己的相关信息,比如公钥和私钥等发送给 CA 机构, CA也有自己的公钥和私钥,CA对A的公钥和私钥进行签名,(即用CA的私钥对此加密)。将签名后的 A的公钥和私钥传回给A。A要给B发文件,A此时将文件、以及A的私钥加密后的摘要(即数字签名)、有CA签名的A的公钥发送给B。 B收到后,必须得信任这个 CA机构后,得到CA的公钥,用CA的公钥检查 , 有CA签名的A的公钥。若一致后,得到了A的公钥,再用A的公钥解A的数字签名。就可以验证文件是否完整,,A也不得不承认就是他发的,因为B拿到的是CA签名的A的公钥。

总结一下CA作用:1 、为企业和个人进行证书颁发,确认企业和个人的身份。2 。公布“证书吊销列表”,来让别的企业进行核对。(假如在上述场景,A企业的证书丢失了,为了防止别人冒充,A就会向CA挂失,CA就可以先将A的证书置入“证书吊销列表”。假如B想和A交易, B一看CA机构的列表,上面有些A的证书已经不是他本人了。A和B就可以进一步的协商,防止被骗。)

猜你喜欢

转载自blog.csdn.net/Akanarika520/article/details/84669776