IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> HTTPS -> 正文阅读

[网络协议]HTTPS

  1. HTTP的缺点
    • 通信使用明文(不加密),内容可能会被窃听
      • 加密对象可以是:
        • 将通信加密:即使用HTTPS。用SSL建立安全通信线路后,再在这条线路上进行HTTP通信
        • 将内容加密:对HTTP协议传输的内容(即HTTP报文内容)本身加密。客户端需要先对HTTP报文进行加密处理后再发送请求,而客户端和服务器需要同时具备加密和解密机制
    • 不验证通信方的身份,因此有可能遭遇伪装
      • HTTP协议中不会对通信方进行确认,即服务器不管对方是谁都会返回一个响应(除非服务器限制了其IP地址的访问)。因此会出现无意义的请求也会照单全收的问题,导致无法阻止海量请求下的DoS攻击
      • 使用SSL查看证书:证书由第三方机构颁发,证明服务器和客户端是真实存在的。所以只要能够确认通信方持有的证书,即可判断通信方的真实意图
    • 无法证明报文完整性(即信息的准确度),因此有可能已遭篡改
      • 中间人攻击:在请求或响应的传输途中,其内容可能遭到篡改,而HTTP协议是无法确认的。这种称为中间人攻击。
      • 数字签名方法:例如文件下载情况,提供下载服务的Web网站会提供相应的以PGP创建的数字签名及MD5算法生成的散列值,客户端需要亲自检查验证下载的文件是否就是原来服务器上的文件,浏览器无法自动帮用户检查。但若PGP和MD5本身被改写,用户是察觉不到的
      • 使用HTTPS:SSL提供认证和加密处理及摘要功能
  2. HTTPS = HTTP + 加密 + 认证 + 完整性保护
    • 架构:通常,HTTP直接和TCP通信。而当使用SSL时,变成HTTP先和SSL通信,再由SSL和TCP通信。此外,SSL由于是独立于HTTP的协议,所以其他运行在应用层的协议(如SMTP、Telnet协议等)都可配合SSL协议使用
    • 1)SSL的加密:相互交换密钥的公开密钥加密技术,在交换密钥环节使用非对称密钥加密方式,之后的建立通信交换报文阶段使用对称密钥加密方式。这样的好处确保了交换的密钥是安全的前提下,使用效率更高的对称密钥加密方式进行通信
    • 2)SSL的认证:证明非对称密钥正确性的证书
      • 为什么:不能确认收到的公开密钥就是原本服务器发行的公开密钥,有可能在公开密钥的传输途中被攻击者替换掉了
      • 数字证书认证机构(CA,Certificate Authority):是一个客户端和服务器都可信赖的第三方机构。
        • 首先,服务器运营人员向CA提出公开密钥的申请。CA在判明申请者的身份后,对已申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将该公开密钥放入公钥证书后绑定到一起
        • 服务器会将这份由CA颁发的公钥证书发送给客户端,以进行公开密钥加密方式通信。
        • 接到证书的客户端可使用CA的公开密钥(多数浏览器开发商发布版本时,会事先在内部植入常用认证机关的公开密钥),对此证书的数字签名进行验证,验证通过即可确认收到的服务器的公开密钥是值得信赖的
        • 接下来,客户端就用服务器的公开密钥对报文加密后发送;而服务器用自己的私钥对报文解密
      • EV SSL证书(Extended Validation SSL):是基于国际标准的认证指导方针颁发的证书,严格规定了对运营组织是否真实的确认方针。因此通过认证的Web网站能够获得更高的认可度
      • 客户端证书:用以确认客户端是服务器通信的正常客户端。如登录网银时不仅要求用户确认输入ID和密码,还要求用户的客户端证书,以确认用户是否从特定的终端访问网银。存在几处问题:
        • 客户端想要获取证书需要自行安装购买(对于一些个人网站来说,买证书并不合算,因此只会选择HTTP的通信方式)
        • 客户端证书只能用来证明客户端实际存在,而不能用来证明用户本人的真实有效性。即只要获得了安装有客户端证书的计算机的使用权限,也就同时拥有了客户端证书的使用权限
      • 伪造证书:曾经一家荷兰的认证机构就遭到黑客的不法入侵,颁布了google.comtwitter.com等网站的伪造证书事件。因为伪造证书上有正规认证机构的数字签名,所以浏览器会判定该证书是政党的。当伪造的证书被用作服务器伪装时,用户根本无法察觉到
      • 自签名证书,OpenSSL:使用OpenSSL开源程序,每个人都可构建一套属于自己的认证机构,从而给自己颁发服务器证书,称为自签名证书。但其无法消除伪装的可能性
    • HTTPS的通信步骤:
      • 客户端发送ClientHello报文开始SSL通信。报文中包含客户端支持的SSL指定版本、加密组件列表(所使用的加密算法及密钥长度等)
      • 服务器可进行SSL通信时,会以ServerHellow报文作为应答。该报文也包含SSL版本、加密组件列表。服务器的加密组件内容是从接收到的客户端加密组件内筛选出来的
      • 服务器发送Certificate报文。其中包含公开密钥证书
      • 服务器发送ServerHelloDone报文,通知客户端,最初阶段的SSL握手协商部分结束
      • SSL第一次握手结束后,客户端以ClientKeyExchange报文作为回应。报文中包含通信加密中使用的Pre-master secret随机密码串(已用步骤三中服务器的公开密钥进行加密)
      • 客户端继续发送ChangeCipherSpec报文。提示服务器,在此报文后的通信会采用Pre-master secret密钥加密
      • 客户端发送Finished报文。该报文包含连接至今全部报文的整体校验值。这次握手协商是否成功,要以服务器是否能够正确解密该报文作为判定标准
      • 服务器同样发送ChangeCipherSpec报文
      • 服务器同样发送Finished报文
      • SSL连接建立完成。通信会收到SSL的保护,从此处开始进行应用层协议的通信,即发送HTTP请求
      • 应用层协议通信,即发送HTTP响应
      • 最后由客户端断开连接。发送close_notify报文。最后再发送TCP FIN报文来关闭TCP的通信
        在这里插入图片描述
    • HTTPS相比于HTTP要慢很多:
      • 除去TCP连接、发送HTTP请求及响应之外,HTTPS还要进行SSL通信,因此整体通信量增加
      • SSL还必须进行加密处理,在服务器和客户端都要进行加密和解密的运算处理,因此会比HTTP消耗更多的服务器和客户端的硬件资源,导致负载增加
  3. 认证:确认访问用户的身份
    • 认证
    • BASIC认证
    • DIGEST认证
    • SSL客户端认证
    • 基于表单认证
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:53:47  更:2022-10-22 21:55:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 12:20:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码