HTTP和HTTPS的区别

HTTP + 加密 + 认证 + 完整性保护 = HTTPS

实现方式为:

HTTP + SSL协议 = HTTPS

SSL协议的工作原理:
需要一个可信赖的第三方,也就是数字证书认证机构,通过数字证书认证机构颁发的证书,实现客户端与服务端的加密及认证。
所以通俗讲现在有三个角色:客户端,服务端,认证机构。
tips:简单说一下公钥和私钥,就是A和B两个人都有各自公钥和私钥,私钥自己保存,公钥可以交给对方。这样A向B发文件时,用B的公钥加密,B收到后可以用自己的私钥解密,别人拿到B公钥加密的文件是没办法打开的,这样限定了接收方必须是B。反之,如果有一天A成为了一个内容的供应商,为了保证某条信息是自己发出的,而不是别人仿造的,则需要通过A自己的私钥加密,这样普通用户用A的公钥解密时,能成功解密就说明这条信息确实来源于A,这样就确定了消息的发送方。
1.服务端把自己的公开密钥交给认证机构。
2.机构用自己的私钥对这份服务端的公钥加密,生成一个公钥证书。
3.服务端把证书部署到服务器上
4.客户端访问时会下载到这个证书,并用浏览器内置的证书认证机构的公钥去解密,获取到服务器的公钥。这一步是关键,确定了目标网站确实是经过数字认证机构认证的网站(因为机构的私钥加密后可以被机构的公钥解密),同时还拿到了该网站的公钥。
5.客户端再通过服务端的公钥加密内容,确保了除目标网站之外,被其他人劫持也无法解密,然后向服务端发送加密后的HTTP报文,并附加名为MAC(Message Authentication Code)的报文摘要,MAC能够查知报文是否遭到篡改,确保报文的完整性。
6.服务端用私钥解密报文,做出相应处理,并加密返回。
如此,SSL协议就实现了加密 + 认证 + 完整性保护的功能,升级为HTTPS。

你可能感兴趣的:(HTTP和HTTPS的区别)