SSL

SSL VPN

HTTP超文本(包含超链接的文本)传输协议,通过HTML(超文本语言)语言组织。无状态(请求完就会释放连接)(cookie解决虽然无状态但是第二次再请求时,cookie有记录)、无连接(服务器对上次请求无记忆,每次都会是新请求;Cookie机制)协议URL统一资源定位符,由协议(HTTP/samtp/ftp)、主机(域名为了解决主机名记不住)和端口(默认80)以及文件名组成:http:// % www.qq.com:80% /news/index.html根目录下可以不写文件名

HTTP工作原理

(先找缓存,Host文件,本地没有记录的才启用DNS)

在这里插入图片描述在这里插入图片描述
客户机和服务器建立连接后,发送一个请求(HTTP请求)给服务器,请求格式为:统一资源标识符、协议版本号。服务器收到请求的信息(请求行、请求头、请求体),然后给予相应的回应的信息(HTTP响应)(响应行、响应头、响应体)。

*注

:描述一下访问百度的过程——>什么是URL、HTTP等等客户端从浏览器中输入www.baidu.com,浏览器先查本地缓存,找到就返回对应IP;没找到就查询本地hosts文件和本地DNS缓存信息;还没找到就找客户端本地设置的DNS服务器来解析地址,如果本地有缓存则返回对应IP,没有就继续请求其他服务器,先是根域名服务器,根域名服务器向本地DNS服务器返回.com顶级域名服务器的IP地址;随后本地DNS服务器向.com顶级域名服务器发起请求,.com顶级域名服务器为本地DNS服务器返回baidu.com权威域名服务器的IP地址。本地DNS服务器得到baidu.com权威域名服务器的IP地址之后向baidu.com权威域名服务器发起请求.得到www.baidu.com这台主机的IP地址。本地DNS服务器将www.baidu.com对应的IP地址返回给客户端。

*HTTP请求方法:get(请求读取一个Web页面)、post(向指定的资源提交要被处理的数据
HTTP响应,响应报文中的状态码。

HTTP响应
HTTP响应
HTTP头部
在这里插入图片描述

*为啥四次断开:关闭连接时,收到对方的FIN时,表示对方没有数据发给你了,自己未必全发送了,SOCKET不会马上关闭,发送FIN表示同意关闭,即ACK和FIN分开发送。特殊可以三次:不需要向上请求是否断开,断开和ACK可以一起过去

HTTP工作过程:

(1)地址解析

http://www.qq.com:80/news/index.html
解析出协议名:http 主机名:www.qq.com 端口:80 对象路径:/news/index.html需要DNS解析域名www.qq.com获得主机的IP地址

(2)封装HTTP请求数据包

把以上内容结合本机信息,封装成一个HTTP请求数据包

(3)封装成TCP包,建立TCP连接(三次握手)

HTTP是比TCP更高层次的协议的应用层协议,只有低层协议建立之后才能进行更高层次的连接,所以要先建立TCP连接,TCP连接端口号一般是80.

(4)客户机发送请求命令(URL、协议版本号、巴拉巴拉)
(5)服务器响应

服务器关闭TCP连接
*如果浏览器或者服务器在头信息中加入:connection:keep-alive,TCP连接在发送后仍然保持打开状态,节省为每个请求建立新连接所需时间以及网络带宽。

(6)浏览器显示index.html中的内容

HTTP关键字段:

UA字段:User-Agent: 浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识 版本信息
SERVER字段:Server:响应头包含处理请求的原始服务器的软件信息
Referer字段:Referer:浏览器向 WEB 服务器表明自己是从哪个 网页/URL 获得/点击 当前请求中的网址/URL。
HTTP重定向:Location:WEB 服务器告诉浏览器,试图访问的对象已经被移到别的位置了,到该头部指定的位置去取。
Session是可以存储针对于某一个用户的浏览器以及通过其当前窗口打开的任何窗口具有针对性的用户信息存储机制。
Cookie:是由Web服务器保存在用户浏览器(客户端)上的文本文件,包含用户信息。无论何时用户链接到服务器,web站点都可以访问Cookie信息。保存SessionID的方式可以采用Cookie。

SSL VPN概述(HTTPS=HTTP+SSL)

SSL协议可用于保护正常运行于TCP之上的任何应用协议,如HTTP、FTP、SMTP或Telnet的通信,最常见的是用SSL来保护HTTP的通信。
SSL协议的优点在于它是与应用层协议无关的。高层的应用协议(如HTTP、FTP、Telnet等)能透明地建立于SSL协议之上。
SSL协议在应用层协议之前就已经完成加密算法、通信密钥的协商以及服务器的认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的安全性。

是一种远程安全接入技术,一般采用插件系统来支持各种TCP和UDP的非Web应用,使得SSL VPN真正称得上是VPN。端口号为443。
SSL握手协议被封装在记录协议中。在应用层协议和TCP之间插入一层,为SSL。
(公钥加密算法又称为非对称加密算法)

SSL解决的问题(功能)

客户对服务器的身份认证
服务器对客户的身份认证
建立服务器与客户之间安全的数据通道

*https:// 与https:// 区别:

安全性:HTTPS是HTTP协议的安全加强版,通过在HTTP上建立加密层,对传输数据进行加密。
HTTP标准端口号:80。
HTTPS标准端口号:443。
HTTP无需证书,HTTPS需要CA机构颁发的SSL证书;HTTP工作于应用层,HTTPS工作在传输层。

SSL协议工作原理

SSL协议是一个分层的协议,共有两层组成。处于SSL协议的底层的是SSL记录层协议(SSL Record Protocol),它位于可靠的传输层协议(如TCP)之上,用于封装高层协议的数据。其中SSL握手协议(SSL Handshake Protocol)允许服务方和客户方互相认证,并在应用层协议传送数据之前协商出一个加密算法和会话密钥。

*握手协议:是客户机和服务器用SSL连接通信时使用的第一个子协议,包括客户机与服务器之间的一系列消息。握手协议允许服务器和客户机相互验证,协商加密和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据,在应用程序的数据传输前使用。
握手过程:无客户端认证的全握手过程;有客户端认证的全握手过程;会话恢复过程记录协议:在握手协议成功后使用,向SSL连接提供两个服务:保密、完整。
警报协议:客户机和服务器发现错误时,向对方发送一个警报消息。

SSL的两个重要概念:*连接每次都要认证、协商啥的;会话包含连接,省的每次都要SSL连接
SSL连接(connection)

一个连接是一个提供一种合适类型服务的传输(OSI分层的定义);SSL的连接是点对点的关系;连接是暂时的,每一个连接和一个会话关联。

SSL会话(session)

一个SSL会话是在客户与服务器之间的一个关联。会话由Handshake Protocol创建。会话定义了一组可供多个连接共享的密码安全参数。

会话用以避免为每一个连接提供新的安全参数所需昂贵的协商代价。
在这里插入图片描述一个会话包含很多连接

SSL协议的工作流程:

SSL客户端在TCP连接建立后,发出一消息,该消息中包含了SSL可实现的算法列表和其他一些必要的消息(SSL版本号、密码设置、可实现的算法列表、随机数);2.SSL的服务器端将回应一个消息,其中确定了该次通信所要用的算法,然后发出服务器端的证书;3.客户端在收到该消息后会生成一个秘密信息,并用SSL服务器的公钥加密后传回服务器;4.服务器用自己的私钥解密后,会话密钥协商成功;5.双方用同一会话密钥通信(该密钥是对称密钥,用于加密和解密在SSL会话期间交换的信息,检验信息完整性)。6.CS:发送消息通知以后从客户机来的消息将用会话密钥加密。客户机然后发送一条独立的(加密的)消息表明握手的客户机部分已经完成。
注:两个随机数是用来表明身份的(是自己发出的)且防止了重放攻击。

应用数据的传输过程为 :

1)应用程序把应用数据提交给本地的SSL;
2)发送端的SSL根据需要 :
a)使用指定的压缩算法 ,压缩应用数据;
b)使用散列算法对压缩后的数据计算散列值;
c)把散列值和压缩数据一起用加密算法加密;
3) 密文通过网络传给对方;
4)接收方的SSL用相同的加密算法对密文解密 ,得到明文;用相同的散列算法对明文中的应用数据散列;计算得到的散列值与明文中的散列值比较;
5)如果一致 ,则明文有效 ,接收方的SSL把明文解压后得到应用数据上交给应用层。否则就丢弃数据,并向发方发出告警信息。严重的错误有可能引起再次的协商或连接中断。
HTTPS,TCP以后都加密了。
Web代理过程(***)缺点:只能Web套Web,只能针对Web应用,B/S结构,不能换成别的。有浏览器就能用,不需要装客户端,非常方便。
SSL VPN端口映射:做两次映射——SSL VPN客户端应用程序,服务器端口映射。
SSLVPN WEB代理应用:私网地址作为资源路径,所以能去公网。

SSL协议脆弱性分析

客户端假冒:针对这个问题,可在必要的时候配置SSL协议,使其选择对客户端进行认证鉴别。
无法保护UDP应用:可以采用IP层的安全解决方案。
SSL协议不能对抗流量分析进程中主密钥泄漏:用户管理策略。
在这里插入图片描述
SSL VPN服务器扮演的角色相当于一个数据中转站,所有Web浏览器对服务器的访问都经过SSL VPN服务器的认证后转发给服务器,从服务器发往Web浏览器的数据经过SSL VPN服务器加密后送到Web浏览器,从而在Web浏览器和SSLVPN服务器之间构建了一条安全的通道。
在这里插入图片描述

SSL VPN服务器扮演的角色相当于一个数据中转站,所有Web浏览器对服务器的访问都经过SSL VPN服务器的认证后转发给服务器,从服务器发往Web浏览器的数据经过SSL VPN服务器加密后送到Web浏览器,从而在Web浏览器和SSLVPN服务器之间构建了一条安全的通道。
在这里插入图片描述

需要在计算机上安装一个SSL  VPN客户端程序
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值