实例:
前提:A是发送方、B是接收方、数据是D(DATA),A给B发送D
以下是发送的数据加密解密过程:
1、B给A自己的CA证书。
2、A随机生成一个KEY,用此KEY加密D。
3、A用B的公钥加密KEY。
4、A用自己的私钥对这个KEY进行HASH(签名),发送给B。
5、A把自己的CA证书发送给D。
6、B用A的公钥解开签名,得到HASH(签名)
7、B用自己的私钥解开KEY得到D。
8、B对比自己得到的数据和HASH是否相同。
9、完成数据传输。
例子说明:
A和B之间需要传送一个即安全又完整并且双方都不会抵赖的D。于是开始进行数据的传输。
1、在数据传输之间,双方都要确认对方是不是真正的接收者和发送者。双方为了能够证明自己是自己,于是找到的CA(数字证书签发机构),A、B和CA的关系是一样的,即CA信任A也信任B,由于CA的信任关系是可以嵌套的,所以A可以信任B,B也可以信任A。
第一步完整了,B把自己的CA证书给A看完后,A认为B是可信的,于是开始下一步:
2、A自己随机生成的KEY,用这个KEY来加密数据,等D被KEY加密完成后,A用B的CA证书中的公钥来加密这个被KEY加密的D,当D完整加密后A接下来要干的就是对KEY进行加密。
3、于是A用B的CA证书中的公钥对KEY进行加密。剩下的A只需要做最后一件事情,就是对这个KEY进行签名。
4、A用自己的私钥对这个KEY进行签名,就这样HASH诞生了,当A完成了签名也完成了D加密后,剩下的任务就是看B证明解密了,于是A把D发送给B。
5、A已经确认完B的身份了,现在B开始对A进行身份确认,于是A把自己的CA证书发送给B,B收到后发现是CA的啊,可以,我信任你,开始吧,于是B就收到了一堆D。
6、首先B要确认得到两样东西,一样是D,另一样是HASH。于是B开始解密。B首先干的是用A的CA证书中包含的公钥对KEY进行解密,解密成功后,B得到HASH。
7、然后B用自己CA证书中的公钥对应的私钥进行对KEY的再次解密,解密成功后,B得到了D。至于B为什么直接得到D的原因是因为B解开的是KEY。当B完成全部的解密工作后,也剩下一件事情。
8、B查看D是不是和A发来的HASH是一样的,这一步是为了确认D的完整性和不可抵赖性。而中间的加密解密过程则是对D进行安全保密性的操作。确认是一样的之后。。。。。。
9、A和B再也不见了,原因是因为他们完成的D的传输。
重点:
1、CA证书中包含一个公钥。
2、一个公钥对应一个私钥。
3、对称加密是加密和解密都要一个KEY。
4、非对称加密是用公钥加密,私钥解密。
5、HASH(签名)可以在数据传输之前签名,也可以在数据传输之后签名。
问题:
1、CA证书中都有哪些信息?
答: CA证书内包含签发机关信息、公钥用户信息、公钥、有效期等。
2、在加密数据时为什么不直接用CA证书加密?
答:因为CA证书中只有公钥信息(详细参见第一问),而公钥信息是任何和B发生关系的人都可以得到,所以为了安全期间,对数据加密不会使用CA证书中的公钥加密。
3、实例中用到了那些算法,为什么?
答:只用到混合算法,因为在实例中即用到了对称加密算法(KEY加密),也用到了非对称加密算法(公钥加密私钥解密)。原因是因为这样安全。