上回说到CA这个我们结合实例具体说下网络安全加密-数字信封-完整性验证-数字签名-数据加解密及身份认证流程:
在说之前我们首先要明白两个概念数字信封和签名
数字信封;明文用对称加密 私钥用非对称加密,它结合了对称加密速度快和非对称加密安全性高的优点
数字签名:数字指纹 明文用hash函数-获得一个摘要-——用私钥加密摘要
上图就是A B两用户安全通信的示意图,我们通过它来了解加密技术在通讯中的具体应用;
1.用户要发一封秘密邮件给B用户,首先A用户的明文通过hash函数得到一个信息摘要,在用A的私钥对摘要进行签名得到一个数字信封,我们中的数字信封又称数字指纹,具有不可否认性,就是说我们可以根据数字信封来确认这封邮件是A发过来的,这个数字签名有什么用途,下面我们就知道了
2.明文 A的数字签名 A的公钥钥三者和三惟一用对称加密密钥进行加密,通常这步对用户来说是透明的,换句话来说就是系统自动用对称加密算法对数据进行加密处理,来防止网上有人的信息监听
3.用用户B的公钥对对称加密的密钥进行加密,得到一个数字信封,我们知道对于非对称加密算法,用B的公钥进行加密,只有B用户的私钥才可以解密,而用户B的私钥是存储在B的个人pc机上的,这样即使在传输过程中信息被人截获,由于无法得知用户B的私钥根本上是打不开的,
4.A用户把信息发送到公网
对于B用户来说,他需要做的也有4步
1.先对数字信封用B的私钥进行解密,因为我们发送的文件使用对称加密算法得出的,对于对称加密算法钥匙就有一个,而B用户是不知对称加密的密钥的,ok,B用户首先用自己的私钥对数字信封进行解密,从而得到对称加密的密钥
2.用对称加密的密钥对密文进行解密,这时候B用户才可以看到文件的明文,通过解密B用户也同时得到了三个文件,分别是明文,A的数字签名,A的公钥,这时候有人要问了,那么我们不可以伪造A的公钥吗?首先A的公钥是在我们通过非对称加密用B的私钥和对称加密算法揭开的,要得到A的公钥我们就是和对称加密和非对称加密为敌,即使是可以伪造A的公钥,可A的私钥是伪造不出来的,我们知道对于非对称加密算法,密钥是成对出现的,用私钥加密只能公钥解开,二者是相互关联的,即使有人伪造了A的公钥,同样解不开密文。这步对于用户来说同样是透明的。
3.下面我们就说到数字签名了,我们用A的公钥对数字签名进行解密,如果能解得开说明文件就是A用户发过来的,具有不可抵赖性,这样我们也就知道了为什么数字签名又叫数字指纹了。这样我们得到一个信息摘要,同样我们对明文进行HASH运算同样能得到一个信息摘要.
4.我们通过对二者进行对比,一样说明信息传递无误,不一样则说明文件别人篡改了。
我们通过这样一个例子就可以了解加密算法,如何在网络通信的应用,下面有个问题就是关于证书的了,什么是正书,证书有什么用?如何颁发的?为什么可信?
CA为电子政务,电子商务等网络环境中的各个实体颁发数字证书,以证明身份的真实性,并负责在交易中检验和管理证书
CA对数字证书的签名使得第三方不能伪造和篡改证书,证书是由可信赖的机构颁发的,如微软 ,互联网中心等
证书的作用 允许加密磁盘上的数据 保护电子邮件消息 向远程计算机证明您的身份 基于ssl完整的web访问
证书的颁发可以有效缓解我们在操作中的复杂性,因为证书中是包含公钥的,说白了证书就是证明我们就是我,不是别人,现在的钓鱼网站我们就可以通过证书验证真伪,这个问题下篇文章我们在讨论。
本文转自q狼的诱惑 51CTO博客,原文链接:http://blog.51cto.com/liangrui/373006,如需转载请自行联系原作者