HTTPS入门及如何防重放攻击

来源:互联网 发布:oracle数据库监控工具 编辑:程序博客网 时间:2024/05/21 22:26

HTTPS入门

HTTPS即在HTTP的基础上增加了SSL或TSL协议,其运行于会话层和表示层。

SSL简介

SSL(Secure Socket Layer安全套接层)以及其继承者TSL(Transport Layer Security 传输层安全)是为了网络通信安全 提供安全及数据完整性的一种安全协议。
SSL协议可分为两层:
SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

OSI七层模型中:SSL记录协议(SSL Record Protocol)位于表示层;SSL握手协议(SSL Handshake Protocol)位于会话层。
OSI七个层次的功能:
物理层
为数据链路层提供物理连接,在其上串行传送比特流,即所传送数据的单位是比特。此外,该层中还具有确定连接设备的电气特性和物理特性等功能。
数据链路层
负责在网络节点间的线路上通过检测、流量控制和重发等手段,无差错地传送以帧为单位的数据。为做到这一点,在每一帧中必须同时带有同步、地址、差错控制及流量控制等控制信息。
网络层
为了将数据分组从源(源端系统)送到目的地(目标端系统),网络层的任务就是选择合适的路由和交换节点,使源的传输层传下来的分组信息能够正确无误地按照地址找到目的地,并交付给相应的传输层,即完成网络的寻址功能。
传输层
传输层是高低层之间衔接的接口层。数据传输的单位是报文,当报文较长时将它分割成若干分组,然后交给网络层进行传输。传输层是计算机网络协议分层中的最关键一层,该层以上各层将不再管理信息传输问题。
会话层
该层对传输的报文提供同步管理服务。在两个不同系统的互相通信的应用进程之间建立、组织和协调交互。例如,确定是双工还是半双工工作。
表示层
该层的主要任务是把所传送的数据的抽象语法变换为传送语法,即把不同计算机内部的不同表示形式转换成网络通信中的标准表示形式。此外,对传送的数据加密(或解密)、正文压缩(或还原)也是表示层的任务。
应用层
该层直接面向用户,是OSI中的最高层。它的主要任务是为用户提供应用的接口,即提供不同计算机间的文件传送、访问与管理,电子邮件的内容处理,不同计算机通过网络交互访问的虚拟终端功能等。

HTTPS的加密过程

如果整个网站都是走HTTPS的,那服务器返回的内容都是被加密的,你能看到网页内容是因为浏览器已经解密了。大概过程,(实际过程更复杂):
1. 你访问HTTPS网站,网站把公钥给你。
2. 你验证公钥,然后生成一个串随机AES_128密码(假如是用AES加密),并把这个密码用刚才那个公钥加密,发给服务端。
3. 服务端用私钥解密你的发送的数据,得到你随机生成的AES_128密码,并把网页内容全部用AES_128加密器起来,发会给你。
4. 浏览器用刚刚的AES_128密码解密 服务器返回的数据,得到你可读的内容。
5. 之后你发出的请求数据,也是用AES_128密码来加密。浏览器返回的网站内容都是用对称加密(比如AES128)加密起来的,而这个密码又是你临时生成了,所以第三方无法知道你访问的内容是什么。
作者:知乎用户

那么用了HTTPS就没有风险吗?如下:

如何防重放攻击

建立会话机制
验证要素分离

原创粉丝点击