HTTPS
一、介绍
- HTTPS(Hypertext Transfer Protocol Secure)即超文本传输安全协议,是一种通过计算机网络进行安全通信的传输协议。主要功能是提供对网站服务器的身份认证,保护交换数据的隐私和完整性。
- HTTPS基于HTTP协议(超文本传输协议)的扩展,它结合了HTTP协议和SSL/TLS(安全套接层/安全传输层协议)加密技术,以确保数据在传输过程中的安全性和完整性。
二、HTTP中间人攻击
1、介绍
- HTTP中间人攻击(Man-in-the-Middle Attack,简称MITM攻击)是一种常见的网络安全威胁。因为http的内容是明⽂传输的,明⽂数据会经过路由器、wifi热点、通信服务运营商、代理服务器等多个物理节点,如果信息在传输过程中被劫持,传输的内容就会完全暴露。
- HTTP中间人攻击是指攻击者将自己插入到客户端和服务器之间的通信过程中,通过截获、篡改或伪造通信数据,对双方进行欺骗或窃取敏感信息的攻击方式。攻击者通常会伪装成通信的一方,与客户端和服务器建立连接,从而实现对通信过程的控制。
2、下载示例
- 在客户端与对应服务器的通信过程中,由于中间人的介入。在本例中,客服端获取下载链接的请求就会被中间人进行篡改,而最后客户端获取的下载链接不会是最初请求的链接。
三、相关概念
1、密钥
- 密钥是一种特定的、用于数据加密和解密的参数或数据。它通常是一串字符或数字,用于在加密算法的作用下对明文进行加密,或在解密算法的作用下将密文还原为明文。
2、加密
- 加密是将明文(要传输的信息)通过加密算法和密钥进行变换,生成密文的过程。
- 加密的目的是确保数据在传输过程中的机密性和完整性,防止数据被窃听、篡改或冒充。
3、解密
- 解密是将密文通过解密算法和密钥进行变换,还原成明文的过程。
- 解密是加密的逆过程,只有拥有正确密钥的接收方才能将密文还原成明文。
4、数据摘要
(1)介绍
- 数据摘要是通过特定的算法或技术,从原始数据集中提取出关键信息或特征,以简短的形式呈现出来。其目的在于简化数据,使用户能够快速了解数据集的主要内容和结构,从而更有效地进行数据分析、决策或进一步处理。
- 数据摘要通常采用单向Hash函数等方式,将需要处理的明文摘要成一串固定长度的密文。
(2)特点
- 固定长度:无论原始数据的长度如何,数据摘要都会生成固定长度的输出。
- 唯一性:不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。
- 不可逆性:从数据摘要中无法恢复出原始数据。
5、数字签名
(1)介绍
- 数字签名(digital signature),又称公钥数字签名,是一种只有信息的发送者才能产生的、别人无法伪造的一段数字串。它是一种类似写在纸上的普通的物理签名,但它是使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。它采用了双重加密的方法来实现防伪、防抵赖。
- 其原理为:被发送文件首先用SHA编码加密,产生128bit的数字摘要;然后发送方用自己的私用密钥对摘要再加密,形成数字签名;最后将原文和加密的摘要同时传给对方。对方用发送方的公共密钥对摘要解密,同时对收到的文件用SHA编码加密,产生摘要;将解密后的摘要和收到的文件在接收方重新加密产生的摘要相互对比,如果两者一致,则说明传送过程中信息没有被破坏或篡改过。
(2)实现步骤
- 发送者生成签名:发送者使用自己的私钥对消息进行加密,生成数字签名。
- 发送签名与消息:将数字签名与消息一起发送给接收者。
- 接收者验证签名:接收者使用发送者的公钥对数字签名进行解密,并验证数字签名的有效性。如果数字签名有效,则说明消息是由发送者发送的,且在传输过程中没有被篡改。
(3)示意图
四、对称加密
1、介绍
- 对称加密,也称为单密钥加密或密钥加密,是一种采用单钥密码系统的加密方法。
- 对称加密是指加密和解密使用相同密钥的加密算法。在加密过程中,发送方使用密钥将明文(原始数据)转换为密文,接收方则使用相同的密钥将密文还原为明文。这种加密方式确保了数据在传输过程中的安全性,因为只有拥有密钥的双方才能对数据进行加密和解密。
2、特点
- 高效性:对称加密算法通常具有较高的加密和解密速度,适用于处理大量数据。
- 易用性:由于加密和解密使用相同的密钥,因此管理和使用相对简单。
- 保密度高:只要密钥保持安全,对称加密可以提供较高的数据保密性。
3、缺点
- 密钥管理困难:在多个用户或设备之间共享密钥时,密钥的管理和分发会变得复杂且容易出错。如果密钥被泄露或丢失,则整个加密系统的安全性将受到威胁。
- 不适合数字签名和身份验证:虽然对称加密可以用于加密数据,但它不适合用于数字签名和身份验证等需要验证数据完整性和来源可靠性的场景。在这些场景中,通常需要使用非对称加密(如公钥加密)来实现。
五、非对称加密
1、介绍
- 非对称加密,又称为公钥加密,是一种先进的加密技术,它使用了一对密钥来进行加密和解密操作。
- 非对称加密技术基于一对密钥,即公钥和私钥。其中,公钥是公开的,任何人都可以获得并使用它来加密数据;而私钥是保密的,只有数据的接收者才能获得,用来解密数据。
- 非对称加密的原理基于数学上的难解问题,如大素数的乘积分解等。这意味着即使知道了公钥,想要通过公钥来计算出私钥也是非常困难的,因为需要对大数进行因式分解,这是一个非常耗时的过程。
2、优点
- 安全性高:由于非对称加密基于复杂的数学难解问题,因此其安全性较高,难以被破解。
- 密钥管理方便:在公钥加密体系中,公钥可以公开,而私钥只需由接收者妥善保管。这降低了密钥管理的复杂性。
- 支持数字签名:非对称加密可以用于创建数字签名,以确保文件或消息的完整性和来源的真实性。
3、缺点
- 加密和解密速度慢:相对于对称加密,非对称加密的加密和解密速度较慢,不适合对大量数据进行加密。
- 资源消耗大:非对称加密需要消耗较多的计算资源,因此在某些应用场景下可能不够高效。
六、CA证书
1、介绍
- CA证书是由受信任的第三方机构(即认证中心,Certificate Authority,简称CA)颁发的,用于证明持有者的身份和公钥的合法性的电子文件,用于在互联网通讯中标识通讯各方身份信息的一串数字,确保在网络环境中的通信安全。
2、功能
- 身份验证:在网络通信中,CA证书用于确认通信双方的身份,确保信息是由声称的发送者发送的,防止中间人攻击和其他身份伪装行为。
- 数据加密:CA证书通过使用公钥和私钥对数据进行加密和解密,保护信息在传输过程中不被未授权访问。
- 数字签名:CA证书利用数字签名技术来验证信息的完整性和来源的真实性,确保信息在传输过程中未被篡改。数字签名是通过使用私钥对证书内容进行加密产生的,然后可以使用相应的公钥进行解密验证。
- 信任建立:CA证书作为受信任的第三方机构,为网络中的实体提供认证服务,帮助建立相互之间的信任关系。
3、CA认证
- 核验过程:在颁发CA证书之前,CA会对申请者进行身份核验,确保其合法性和真实性。通常,会要求申请者提供相关的身份证明文件,并通过人工审核进行验证。
- 颁发证书:身份验证通过后,CA会为申请者生成一对公钥和私钥,并将公钥嵌入到证书中。证书中还包括证书持有者的信息、有效期限、CA的签名等。最后,CA使用私钥对证书进行签名,确保证书的真实性。
- 证书验证:当使用CA证书进行身份验证或数据加密通信时,接收方需要使用CA机构的公钥来验证证书的合法性。接收方首先会对证书的签名进行解密验证,确认签名是否有效。然后验证证书的有效期限、申请者的身份信息等,确保证书的完整性和有效性。
4、示意图
七、HTTPS通信流程
1、示意图
2、涉及的三组密钥
- 第⼀组(非对称加密):用于校验证书是否被篡改,服务器持有私钥(私钥在形成CSR⽂件与申请证书时获得)客户端持有公钥(操作系统包含了可信任的CA认证机构认证的CA证书,同时持有对应的公钥)。服务器在接收到客户端的请求时,返回携带签名的证书,客户端通过公钥进行证书验证,保证证书的合法性,进⼀步保证证书中携带的服务端公钥权威性。
- 第⼆组(非对称加密):用于协商生成对称加密的密钥,客户端用收到的CA证书中的公钥给随机生成的对称加密的密钥加密。传输给服务器,服务器通过私钥解密获取到对称加密密钥。
- 第三组(对称加密):客户端和服务器后续传输的数据都通过这个对称密钥加密解密。
3、原因
- 前两组密钥的使用都是为了最后一组对称密钥能够顺利且安全的传输,因为使用非对称密钥对数据进行加密与解密的代价太大,时间太久。
- 而要传输对应的对称密钥,使用明文传输会导致对应的数据(密钥)泄漏。所以,需要使用非对称密钥进行加密传输。
- 使用非对称密钥进行加密传输时,对应的密钥有可能会在传输途中被篡改,导致有中间人的介入,导致数据泄漏或被篡改。CA证书就是为了防止这一情况,保证双方是真正想要进行通信的对象。
本文到这里就结束了,如有错误或者不清楚的地方欢迎评论或者私信
标签:协议,加密,证书,数字签名,CA,解密,密钥,HTTPS From: https://blog.csdn.net/Snow_Dragon_L/article/details/143571848
创作不易,如果觉得博主写得不错,请点赞、收藏加关注支持一下