SSL是网景公司发布的协议,后来被互联网标准化组织接手,升级并重命名为TLS
https中的s就是ssl
SSL为了实现这三个目的:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器
2)加密数据以防止数据中途被窃取
3)维护数据的完整性,确保数据在传输过程中不被改变
小明给小白写了一封信(HTTP),这封信被快递员A拿到了,他拆开信,发现是情书:
小白,虽然你我构造一样,但是我爱你。
1.A很反感,把信改写了:
小明,虽然你我构造一样,但是我爱你。
然后把信发给了小明(发送到错误的客户机)
2.A很反感,把信打印成传单,贴的满小区都是(数据中途被窃取)
3.A很反感,将信改写了:
小白,你是个傻逼,咱们绝交吧。
(数据传输过程中被改变)
对称加密
小明知道了快递员的事儿,为了防止A再搞他,他把信乱序了,然后把读信的方式(先读单数,再读双数)写在信封夹层里:
小一白样,,虽但然是你我我爱构你造。
A拆开信发现,自己读不懂了(无法破解密码)这时候上面三条途径都无法搞小明,只能乖乖把信寄给小白,或者把信扔了(网络传输异常,无法解决)
一来二去,A终于发现,我曹,原来小明把密码放在夹层里。搞明白了信的加密方式,A又把小明整了一顿。
非对称加密
这次小明没办法了,但是他对小白的爱是挡不住的,有天请小白出来吃饭,跟小白说这件事,小白给他出了个主意:
用非对称加密的方式(公钥加密,私钥解密),加密信件。
小白先把公钥的加密方式给小明,小明用公钥加密对称加密的密码(对称加密的公钥)
小白看信的方式是这样的:
1.用自己的私钥解密小明对称加密的公钥
2.用小明的公钥解密信件
证书
A已经脱离了整蛊小明的最初目的,现在是小明和A之间智慧的较量:
A截获并伪造小白的非对称加密的公钥,在小区公告板上通知所有人小白的假公钥
小明用假的公钥加密了自己的公钥,并写信给小白:我想你了。
A用自己的私钥解密小明的公钥并解密信件,又把小明整蛊了一顿,还在微博上挑衅小明:呵呵,只要我掌握了传输渠道,你再怎么玩都玩不过我。
小明无计可施,只好求助于工会:
工会讨论出一个解决办法,非对称加密的公钥的更新和公告都必须我们工会的人去发布,这个人得有上岗证(证书)这时候工会的角色类似于浏览器,只有持有工会认可的上岗证,才能证明这个公钥是合法的,不是别人伪造的。
其他
这时候有不想加入工作的组织发布了自己的上岗证(12306点击查看详情),因为办理上岗证是要花钱的,而且它还把公钥贴在小区工会搭建的公告板上,如果小明想买火车票去看小白:
1.信任这份不受工会认可的公钥,才能买到票(但是快递员A也可以仿造公钥)
2.不信任,那就买不到
为什么不直接用非对称加密的公钥直接加密信件
非对称加密之后再解密是很耗费系统资源的。也就是说如果用非对称加密,小明写给小白的信小白可能需要花费一下午才能读懂,但即使是现在这样的方式,对比起最初的HTTP(明文),还是耗费了很多时间,包括:
1.小明用公钥加密信件
2.小明用小白的公钥加密自己的公钥
3.小白用私钥解密小明的公钥
4.小白用小明的公钥解密信件
没有两全的解决办法,要么追求速度,要么追求安全,二者不可得兼
最后
SSL加密就是绝对安全的吗?假设快递员A直接知道算法之后,多次尝试小明的公钥直接破解怎么办?暂时还没有办法,涉及到密码学的问题,可以看一下这个新闻:
OpenSSL又出新漏洞,超过1100万https站点受影响