首页 > 其他分享 >HTTPS、SSL和TLS

HTTPS、SSL和TLS

时间:2024-07-12 11:53:17浏览次数:8  
标签:TLS 公钥 加密 证书 SSL 签名 HTTPS 客户端

1、HTTPS相关概念

1.1、对称加密和非对称加密

简单描述一下,加密密钥和解密密钥相同,则称为对称加密;加密密钥和解密密钥不同,则称为非对称加密;

对称加密比非对称加密的效率要高。详细的描述的可以查看 对称加密与非对称加密详解 - 浪迹天涯的派大星 - 博客园 (cnblogs.com)

1.2、中间人攻击

顾名思义,就是通过在通讯两端中间,拦截正常的网络通信数据,并进行数据篡改和嗅探,而通信的双方却毫不知情。

1.3、数字证书

用户将自己的信息和公钥提交给认证中心,由认证中心生成数字证书。

数字证书包含证书公开信息和签名,公开信息一般包含:证书的版本、序列号、签名算法、发行机构名称、有效期、所有人名称和公钥,以及签名,如下图:

签名计算步骤:公开信息先进行哈希得到hash值,在由证书颁发机构的私钥对hash值进行RSA加密,得到签名。

1.4、根证书、中间证书、用户证书

根证书:由可信任的CA认证中心颁发,它由自身进行认证,一般初始安装在操作系统和浏览器中,是整个证书链的起点

中间证书:由根证书的私钥计算签名,拥有根证书的签名的是中间证书,中间证书可以利用自己的私钥对用户证书进行颁发

用户证书:用户提交公开信息和自己的公钥,由中间证书私钥计算签名,来得到自己的证书

1.5、证书链

整个认证链从根证书开始,经过中间证书,最终达到用户证书,由于签名只能由证书颁发者的公钥进行验证,所以在根证书正确的前提下,保证了整个链条的安全性

2、SSL/TLS

SSL(Secure Socket Layer)是安全套接字层,TLS(Transport Layer Security)传输层安全是基于SSL3.0设计的协议,实际上相当于SSL的后续版本。

SSL/TLS是一个安全通信框架,属于传输层,上面可以承载HTTP协议和SMTP/POP3协议等。其属于传输层和应用层之间。

3、HTTPS通信流程

此时如果发生中间人攻击,客户端获取的证书其实是中间人的证书,拿到的公钥也是中间人的,发送的请求,中间人自然可以解密,中间人冒充客户端和服务端进行通信,所有的通信对于中间人来说就是透明的。

这里最大的问题就是如何确保客户端获取的公钥是要访问的网站的,所以引入了证书验证,由可信任的认证中心进行颁发,同时由于电脑上有认证中心的根证书,所以可以对网站的证书进行验证,判断是否合法。

4、TLS握手流程

握手流程分为四步:

1、客户端发起请求:

  • ClientHello:客户端TLS版本、客户端随机数、密码套件列表。Wireshark抓包数据如下图:

       

2、服务端发起请求:

  • ServerHello:服务端TLS版本、服务端随机数、确定的密码套件

       

  • Certificate:证书(包含公钥)、Server Key Exchange:密钥交换、Server Hello:服务端Hello结束

         

3、客户端

5、数字证书颁发和验证流程

在保证根证书可信任的前提下,使用根证书的公钥解密中间证书的签名,得到解密的hash值,然后计算中间证书公开信息的hash值,比较 解密得到的hash值和计算出的hash值,如果相等,则中间证书可信;用户证书的验证同理。

如此便可以保证用户证书中的公钥是可信任的。

标签:TLS,公钥,加密,证书,SSL,签名,HTTPS,客户端
From: https://www.cnblogs.com/zhaodalei/p/17888740.html

相关文章

  • 劫持TLS绕过canary && 堆和栈的灵活转换
    引入:什么是TLScanary?TLScanary是一种在Pwn(主要是二进制漏洞利用)中常见的技术,专门用于处理TLS保护的二进制文件。在安全竞赛(例如CTF)和漏洞利用场景中,攻击者需要应对目标程序的多层安全机制,其中TLS是一种常见的保护措施。TLScanary结合了TLS协议与堆栈保护(stackcanary)技......
  • 国密证书(gmssl)在Kylin Server V10下安装
    1.查看操作系统信息[root@localhost~]#cat/etc/.kyinfo [dist]name=Kylinmilestone=Server-V10-GFB-Release-ZF9_01-2204-Build03arch=arm64beta=Falsetime=2023-01-0911:04:36dist_id=Kylin-Server-V10-GFB-Release-ZF9_01-2204-Build03-arm64-2023-01-0911:04:......
  • 解决方案 | IP地址申请专用HTTPS证书的常见问题
    IP地址专用的HTTPS证书是一种专门为IP地址设计的SSL/TLS证书,它可以通过HTTPS协议安全地访问基于IP地址实现的网站或服务,以下是申请IP地址https证书时经常遇到的问题以及解决办法。一、如何选择合适的IP地址https证书的类型?1、DV类型IP证书:DVIP地址证书是基础验证级别的证......
  • 手动编译安装OpenSSL与OpenSSH
    1、安装必要工具yuminstall-ytarzlib-devel2、编译安装OpenSSLcd/usr/local/srcwgethttps://www.openssl.org/source/openssl-1.1.1w.tar.gztar-xvzfopenssl-1.1.1w.tar.gzcdopenssl-1.1.1w./config--prefix=/usr/local/openssl--openssldir=/usr/local/opens......
  • NETWORK [4] HTTP与HTTPS 协议
    HTTP协议概述        HTTP(HyperTextTransferProtocol,超文本传输协议)是用于分布式、协作式和超媒体信息系统的应用层协议。它是互联网上最广泛使用的协议之一,主要用于从万维网(WWW)服务器传输超文本到本地浏览器。HTTP是一个基于请求-响应模型的无状态协议,通常运行在TC......
  • 嵌入式系统中的加解密签名(2)--- mbedtls认识与使用
    笔者来介绍一下mbedtls认识与使用1、mbedtls认识mbedtls(EmbeddedTLS),是嵌入式里面实现的TLS协议,用C语言实现。相关的TLS协议以及加密等知识可以看笔者上一篇文章----嵌入式系统中的加解密签名。基本特点如下图所示:仓库地址:Mbedtls。特点:面向小型嵌入式设备,代码紧凑......
  • 便宜SSL证书有哪些平台推荐 域名SSL证书作用
    在数字化时代,网络安全已成为我们日常生活和工作中不可或缺的一部分。其中,SSL证书作为网络安全的重要组成部分,其作用不容忽视。申请便宜SSL证书步骤1、登录来此加密网站,输入域名,可以勾选泛域名和包含根域。 2、选择加密方式,一般选择默认就可以了,也可以自定义CSR。3、选择渠......
  • 深入解析SSL证书类型:选择适合你的解决方案
    目录引言什么是SSL证书SSL证书的工作原理SSL证书的基本类型域名验证(DV)证书组织验证(OV)证书扩展验证(EV)证书SSL证书的高级类型通配符(Wildcard)证书多域名(SAN/UCC)证书多域名通配符证书选择合适的SSL证书SSL证书的申请与安装SSL证书的管理与续费常见问题解答总结引言在互联......
  • HTTP与HTTPS详解及其请求与响应报文的查看方法
    HTTP与HTTPS详解及其请求与响应报文的查看方法HTTP与HTTPS概述**HTTP(HyperTextTransferProtocol)**是一种用于传输超文本数据(例如HTML)的应用层协议,是Web中最基础的通信协议。它通过客户端-服务器模型工作,客户端(例如浏览器)向服务器发送请求,服务器返回相应的资源。**HTTP......
  • pip is configured with locations that require TLS/SSL, however the ssl module in
    使用Ubuntu16.04(已内置python2.7)安装python3.10之后,再使用pip3安装包的时候总是报错:WARNING:pipisconfiguredwithlocationsthatrequireTLS/SSL,howeverthesslmoduleinPythonisnotavailable.Lookinginindexes:https://pypi.tuna.tsinghua.edu.cn/simpleRequi......