SSL/TLS是将对称密码、公钥密码、单向散列函数、消息认证码、伪随机数生成器、数字签名等技术相结合来实现安全通信的。此外, SSL/TLS还可以通过切换密码套件来使用强度更高的密码算法。
我们在使用web浏览器时于并不会意识到 SSL/TLS的详细工作过程,但我们可以知道,为了保证安全性, SSL/TLS采用了非常复杂的机制。
SSL/TLS是我们经常使用的一种密码通信方式,但并不是说只要使用 SSL/TLS就是绝对安全的。
不要误解证书的含义
在SSL/TLS中,我们能够通过证书对服务器进行认证。然而这里的认证,只是确认了通信对象是经过认证机构确认的服务器,而并不能确认是否可以和该通信对象进行安全的在线购物交易。说得更直白些,就是即便对方拥有合法的证书,也不代表你就可以放心地发送信用卡号。因为仅通过 SSL/TLS是无法确认对方是否在从事信用卡诈骗的。
此外,认证机构所进行的本人身份确认也分为不同的等级,需要仔细确认一下认证机构的
业务规则。
密码通信之前的数据是不受保护的
SSL/TLS仅对通信过程中的数据进行保护,而无法保护通信前的数据。
例如,当 A在公司访问一个受 SSL/TLS保护的网站时, A向该网站发送的个人信息是受到保护的,对通信线路进行窃听的E无法获取这些个人信息。
然而,如果当 A在浏览器中输入这些信息时,背后有人偷看的话,SSL/TLS就无法保护A的个人信息了。
密码通信之后的数据是不受保护的
SSL/TLs也无法保护通信之后的数据。
例如, A向B网上书店发送了自己的信用卡号。在通信过程中,信用卡号是受到SSL/TLS保护的。然而,当信用卡号发送到B书店的服务器之后情况又如何呢?对于B书店如何管理所收到的信用卡号,SSL/TLS是完全无法得知的。
如果B书店将客户的信用卡号随意存放在web服务器上的话,就会发生客户信用卡号泄露的风险。
综上,“由于使用了SSL/TLS,因此可以放心地发送信用卡号”这种说法把情况过分简化了。严格来说,应该是“由于使用了SSL/TLS,因此信用卡号不会在通信过程中被第三方获取”,而信用卡号在通信之前被偷窥,以及在通信之后被窃取,或者被网上书店本身恶意使用等可能性还是存在的。