对称加密,非对称加密,数字签名,数字证书

每次碰到这些词汇时总是觉得迷糊,今天看书有点明白了,记录下来,下次参考:)

 

安全的通讯双方总是关心几件事:

1. 身份验证:确保数据来自产生它的源头。

2. 完整性:确保数据在传输过程中未被篡改。

3. 保密性:确保数据不能被第三方读取。

 

对称加密

对称加密最容易理解了,就是通讯双方共享一个密钥,用同一个密钥和同一个算法,可以对数据就行加密和解密。如果密钥只共享于两点,对称加密还起到身份认证的作用。

但是对称加密的主要困难在于密钥的传递和保存,只要密钥丢失,通讯双方的信息交换就没有任何私密可言。

 

非对称加密

非对称加密相比对称加密,除了算法之外,最大的区别就是通讯双方各持有一个不相同的密钥,分别是私钥和公钥,由一种密钥加密的信息只能被另一种密钥解密。

如果服务器B需要向服务器A发送一段内容,不希望被第三方看到,这时候服务器A可以持有一对公私钥,服务器B从服务器A请求公钥,然后用公钥对信息进行加密,这只有服务器A才能解密。 即使服务器C也能从服务器A获取到公钥,也解密不了嗅探到的服务器B发给服务器A的消息。

这个过程中非对称加密起到了保护信息不被窃取的作用,和对称加密一样,但比对称加密更安全的地方在于其密钥的共享方式,私钥永远不需要在网络上传输,杜绝了在网络上截获密钥的可能性。

 

数字签名

上一个过程中,公私钥体系很好的解决了数据加密和密钥共享的安全。但仍然有个问题,服务器C也可以给服务器A发消息,A识别不了B和C。

通过公私钥的特性,还可以解决身份认证的事情,比如说有一个股票交易所,收到Tom的一封邮件,要求交易2000股的股票,这个信息本身不是隐私信息,不需要加密,但重要的是股票交易所怎么确认这个请求就是Tom发出的,而不是Jim的恶作剧呢?

Tom可以持有一对公私钥,然后对这封邮件做一个hash(可能包含其他内容,例如时间戳),再用私钥对hash值进行加密,加密内容附在邮件的后面,股票交易所收到邮件后,向Tom请求一个公钥,用公钥对附加的加密内容进行解密,然后对邮件内容也做一个hash,将解密出来的内容和hash值进行比较,如果相同,则说明这封邮件就是Tom发出了的,而且没有经过篡改。通过这种方式,可以确保数据没有被更改过,且能推断出起消息来源,因此叫数据签名。

 

数字证书:

 

posted @ 2017-06-04 14:26  lishanhang  阅读(1317)  评论(0)    收藏  举报