网络通信分享(一):数字签名,数字证书
一:数字签名
数字签名和数字认证的不同
问:数字认证和数字签名是两个不同的东西吗?
答:是的,数字认证和数字签名很不同。数字认证是用来验证网站的可信度的,而数字签名是用来验证信息的可信度的。说到数字认证,组织可能只信任这种网站,即该网站数字认证是由组织自己发布,或者是由信任的认证组织发布(如Verisign公司)。但是,这也并不意味着网站的内容是可信的;一个可信任的网站也可能会被黑客侵入,并修改网站的内容。
数字签名为对象中的信息创建校验和,这样接收者就可以验证收到的信息有没有被修改。例如,如果你在邮件中发送了一个签名的Word附件,发送途中发生了中间人攻击(黑客通过一些方法获得了传输途中的附件,并且插入了一些恶意代码),当接收者在打开附件之前检查它时,内容校验和与修改的Word附件不符,它就会警告接收者接收的内容已经被修改。
还有其它的一些事情需要考虑:使用数字认证的企业不需要与远程站点建立关系;他们只要能识别该网站所使用的数字认证授权并验证它即可。但是,说到数字签名,接收者必须与发送者或托管网站建立一定的关系。这种关系需要确定校验和信息被发送的地点和方式,通过通信渠道而不是内容传输的方式,来减少被修改的风险。你也不希望黑客同时具有修改内容和数字签名校验和的能力吧。理想情况下,在一个不信任的环境中,如互联网上的企业对企业(B2B)交易,你可以连接使用可信任数字认证的网站,并且该网站的任何传输内容都具有数字签名(保证信息未被修改)。
参考:
图解SSL/TLS协议
http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html
SSL延迟有多大?
http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html
http://netsecurity.51cto.com/art/201108/287607_all.htm
http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html
http://kb.cnblogs.com/page/162080/
curl 时间变量格式化输出
https://www.ttlsa.com/linux/curl-time-variable-formatted-output/