最近复习了一下数字证书与HTTPS的原理,在网上搜到一篇文章,写的非常非常好,深入浅出,全面详细,地址如下:
http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html
其实关键点有以下几个:
1、为了保证数据传输的安全,我们需要做到:防篡改,防监听,防抵赖。
防篡改:数据从A到B,A发出什么样,B就要收到什么样
防监听:数据从A到B,只有A和B知道内容,其他人不知道内容,就算拿到了数据也不知道
防抵赖:数据从A到B,B收到了数据之后,能够认定这个数据就是A发的,不是其他人发的。这个特点也可以用来做认证,认证数据是A发的
防篡改一般用hash摘要来实现,为了防止hash值本身被篡改,对hash一般要及加密处理
防监听一般用加密来实现,如果用对称加密,那么密钥必须严格保密,如果用非对称加密,那么必须公钥加密私钥解密
防抵赖一般用非对称加密实现,私钥加密公钥解密,如果公钥能解密,说明肯定是持有者
2、保证数字证书安全的根在于,最权威的CA机构的证书操作系统已经内置了,这个的安全性最高
3、HTTPS的安全性在于,密钥是客户端随机生成的,并且通过加密的方式传给了服务器,保证密钥本身不会对外所知。