HTTPS协议简介

合集下载

HTTPS协议

HTTPS协议

HTTPS协议协议名称:HTTPS协议一、引言HTTPS(Hypertext Transfer Protocol Secure)是一种用于安全传输超文本的网络通信协议。

本协议旨在确保通过互联网传输的数据的机密性和完整性。

本文档描述了HTTPS协议的基本原理、安全性措施和相关技术要求。

二、术语和定义1. HTTPS:Hypertext Transfer Protocol Secure的缩写,指的是在HTTP协议基础上加入安全层的通信协议。

2. TLS:Transport Layer Security的缩写,是一种加密通信协议,用于保护HTTPS协议中的数据传输。

3. SSL:Secure Sockets Layer的缩写,是TLS的前身,用于建立安全连接。

4. 证书:数字证书,由可信的第三方机构颁发,用于验证服务器身份和加密通信。

5. 密钥交换算法:用于在客户端和服务器之间协商加密密钥的算法,如RSA、Diffie-Hellman等。

三、协议原理1. 安全套接层建立:客户端与服务器建立连接时,通过TLS/SSL协议进行握手,协商加密算法、密钥交换方式和证书验证等。

2. 证书验证:客户端验证服务器的数字证书是否合法、有效,并检查证书链的完整性,防止中间人攻击。

3. 密钥交换:客户端和服务器使用密钥交换算法协商加密密钥,确保数据传输的机密性。

4. 数据传输:客户端和服务器使用对称加密算法对数据进行加密和解密,保证数据传输的机密性和完整性。

5. 安全性保障:HTTPS协议还提供了数据完整性校验、防止重放攻击、防止数据篡改等安全机制。

四、安全性措施1. 加密传输:通过TLS/SSL协议对数据进行加密,防止数据在传输过程中被窃取或篡改。

2. 证书验证:客户端验证服务器的数字证书,确保通信的对方是合法的服务器,防止中间人攻击。

3. 密钥交换:使用安全的密钥交换算法协商加密密钥,防止密钥被破解,确保通信的机密性。

https协议端口

https协议端口

https协议端口HTTPS(英文全称HyperText Transfer Protocol Secure)是一种加密传输协议,属于HTTP的安全版本。

它通过使用SSL或TLS协议进行加密,保证了数据传输的安全性和完整性。

与HTTP协议默认使用的端口号80不同,HTTPS协议默认使用的端口号是443。

HTTPS协议的出现主要是为了解决HTTP协议的安全性问题。

HTTP协议传输的数据是明文的,容易被黑客窃取或者篡改,特别是涉及到个人隐私和敏感信息的传输。

而HTTPS协议通过加密所有传输的数据,使得黑客无法窃取和篡改数据,大大提高了数据的安全性。

HTTPS协议使用了公钥加密和对称密钥加密两种方式来保证数据的传输安全。

首先,客户端和服务器之间进行握手协商,双方确认使用的加密算法和密钥长度等信息,并且交换公钥。

客户端通过服务器的公钥对随机生成的对称密钥进行加密,然后将密文发送给服务器。

然后,服务器使用私钥对收到的密文进行解密,并获取到对称密钥。

接下来,服务器和客户端之间的通信就采用对称密钥加密方式,使用对称密钥对数据进行加密和解密。

由于对称密钥是随机生成的,并且每次通信都会重新生成,所以黑客无法通过截取数据包或者对称密钥进行破解。

通过上述的握手过程和加密算法,HTTPS协议可以保证传输的数据不被黑客窃取和篡改,同时也有效防止了中间人攻击。

此外,HTTPS协议还可以验证服务器的真实性,防止伪造的网站对用户进行钓鱼诈骗。

服务器会将自己的数字证书发送给客户端,客户端利用信任的第三方机构颁发的根证书对服务器的数字证书进行验证。

如果验证通过,就说明服务器是可信的,客户端可以继续与服务器进行通信;如果验证不通过,则可能是伪造的服务器或者被劫持的连接,客户端会弹出警告信息阻止继续连接。

总之,HTTPS协议通过加密数据传输、验证服务器真实性等技术手段,保证了数据传输的安全性和完整性。

在现如今信息安全日益重要的背景下,使用HTTPS协议的网站越来越多,特别是涉及到用户隐私和敏感信息的网站,如电子商务、网上银行等。

https 协议

https 协议

https 协议首先,https 协议是什么?https 即超文本传输安全协议(Hypertext Transfer Protocol Secure),是一种通过计算机网络进行安全通信的传输协议。

https 的主要目的是确保用户在浏览网页时,数据传输过程中的安全性和隐私性。

与传统的 http 协议相比,https 使用了 SSL/TLS 协议来加密数据传输,从而防止数据在传输过程中被窃取或篡改。

其次,https 协议的工作原理是怎样的?当用户在浏览器中输入一个以 https 开头的网址时,浏览器会与服务器进行握手,建立安全连接。

在这个过程中,服务器会向浏览器发送一个数字证书,证明其身份的合法性。

浏览器会验证证书的有效性,如果证书有效且可信,则浏览器会生成一个随机数,用服务器的公钥进行加密,并发送给服务器。

服务器收到加密后的随机数后,使用自己的私钥进行解密,从而建立安全连接。

在建立安全连接后,浏览器和服务器之间的数据传输就会使用SSL/TLS 协议进行加密,保障数据的安全性。

此外,https 协议的优势是什么?首先,https 可以保护用户的隐私。

由于 https使用了加密技术,黑客很难窃取用户的个人信息和敏感数据。

其次,https 可以防止数据被篡改。

通过加密数据传输,https 可以防止数据在传输过程中被篡改,确保用户获取的信息是完整和准确的。

最后,https 可以提升网站的信誉。

随着网络安全意识的提高,越来越多的用户会选择访问安全连接的网站,因此使用 https 协议可以提升网站的信誉和可信度。

总的来说,https 协议在保护用户隐私和数据安全方面发挥着至关重要的作用。

随着互联网的发展,我们相信 https 协议将会得到更广泛的应用,为用户提供更安全、可靠的网络环境。

希望通过本文的介绍,读者对https 协议有了更深入的了解,并在日常生活中更加重视网络安全和隐私保护。

HTTPS协议

HTTPS协议

HTTPS协议协议名称:HTTPS协议一、引言HTTPS(Hypertext Transfer Protocol Secure)是一种通过计算机网络进行安全通信的协议。

它是HTTP的加密版本,通过使用SSL(Secure Sockets Layer)或TLS(Transport Layer Security)协议来保护和加密数据传输。

本协议旨在确保网站和用户之间的通信安全,防止数据被窃听、篡改或伪装。

二、协议目的本协议的目的是确保在使用HTTPS协议进行通信时,数据传输的安全性和完整性得到保护。

通过实施该协议,可以防止以下威胁:1. 窃听:防止第三方窃听通信内容,保护用户的隐私;2. 篡改:防止第三方篡改传输的数据,确保数据的完整性;3. 伪装:防止第三方伪装成合法的通信方,确保通信双方的身份验证。

三、协议内容1. 证书验证1.1 通信双方应使用公钥和私钥进行身份验证。

服务器应使用有效的数字证书,证书应由可信的第三方机构颁发。

客户端应验证服务器的证书的有效性和合法性。

1.2 证书验证应包括但不限于以下步骤:a. 验证证书的签名是否有效;b. 验证证书的有效期是否过期;c. 验证证书的颁发机构是否受信任;d. 验证证书中的域名与实际访问的域名是否匹配。

2. 密钥交换2.1 通信双方应通过密钥交换算法协商出一个共享密钥,用于后续的数据加密和解密。

2.2 密钥交换过程中应采取安全可靠的算法和协议,确保密钥不被第三方获取。

3. 数据加密3.1 通信双方应使用协商出的共享密钥对传输的数据进行加密。

3.2 加密算法应具备足够的强度和安全性,以防止被破解。

3.3 加密算法的选择应根据实际需求和安全性考虑,应遵循行业标准和最佳实践。

4. 数据完整性4.1 通信双方应使用消息认证码(MAC)或哈希算法对传输的数据进行完整性校验。

4.2 数据完整性校验应在数据传输前和接收后进行,以确保数据在传输过程中没有被篡改。

5. 会话管理5.1 通信双方应建立安全的会话,确保通信过程中的持久性和一致性。

https是什么协议

https是什么协议

https是什么协议在当今互联网时代,我们经常听到“https”这个词,它是指超文本传输安全协议(Hypertext Transfer Protocol Secure)。

那么,https究竟是什么协议呢?为什么它如此重要?本文将从https协议的定义、作用、优势等方面进行详细介绍,帮助大家更好地理解这一协议。

首先,让我们来了解一下https协议的定义。

https是一种通过计算机网络进行安全通信的传输协议,它是http的安全版。

https通过使用SSL/TLS协议来实现数据加密和身份验证,以确保数据在传输过程中的安全性和完整性。

简单来说,https 协议就是在传输数据时对数据进行加密,从而保护数据不被窃取或篡改。

https协议的作用主要体现在以下几个方面。

首先,它可以保护用户的隐私信息。

在https协议下,用户发送的数据经过加密处理,黑客无法轻易窃取用户的个人信息,保障了用户的隐私安全。

其次,https可以保护网站的完整性。

https协议使用数字证书来验证网站的身份,确保用户访问的是真实的网站,避免了网站被篡改的风险。

此外,https还可以提高网站的信誉度,因为用户更倾向于相信那些使用https协议的网站,认为这些网站更加安全可靠。

相比于http协议,https协议具有明显的优势。

首先,https可以防止数据被窃取。

在http协议下,数据是明文传输的,黑客可以通过网络监听手段轻松获取用户的数据,而https协议下的数据是经过加密处理的,大大降低了被窃取的风险。

其次,https可以防止数据被篡改。

在http协议下,黑客可以篡改数据包,对用户的数据进行恶意篡改,而https协议下的数据经过加密处理,保证了数据的完整性,避免了数据被篡改的风险。

最后,https可以验证网站的真实性。

https协议使用数字证书对网站进行身份验证,确保用户访问的是真实的网站,避免了用户被钓鱼网站欺骗的风险。

在当今互联网环境下,https协议已经成为了网站安全的标配。

HTTPS协议

HTTPS协议

HTTPS协议协议名称:HTTPS协议一、背景和目的HTTPS(Hypertext Transfer Protocol Secure)是一种用于在计算机网络上进行安全通信的协议。

它是HTTP协议的安全版本,通过使用SSL/TLS协议对数据进行加密和认证,确保数据在传输过程中的安全性和完整性。

本协议的目的是规范和定义HTTPS协议的标准格式,以便确保在不同系统和应用中的一致性和互操作性。

二、术语和定义1. HTTPS:Hypertext Transfer Protocol Secure,指的是在HTTP基础上加入SSL/TLS协议的安全通信协议。

2. SSL:Secure Sockets Layer,用于在计算机网络上进行安全通信的协议。

3. TLS:Transport Layer Security,是SSL的继任者,用于在计算机网络上进行安全通信的协议。

三、协议规范1. 协议版本本协议遵循TLS协议的最新版本,目前为TLS 1.3。

2. 握手过程2.1 客户端发起握手请求客户端向服务器发送一个ClientHello消息,其中包含支持的TLS版本、加密算法和证书等信息。

2.2 服务器回应服务器收到ClientHello消息后,向客户端发送一个ServerHello消息,其中包含服务器选择的TLS版本、加密算法和证书等信息。

2.3 服务器验证证书服务器验证客户端提供的证书的有效性和合法性。

如果验证失败,服务器终止握手过程。

2.4 协商加密算法客户端和服务器协商选择一个加密算法和密钥,用于加密和解密数据。

2.5 生成会话密钥客户端和服务器使用协商的加密算法和密钥生成一个会话密钥,用于后续的数据传输。

3. 数据传输3.1 加密数据客户端使用会话密钥对需要传输的数据进行加密,确保数据在传输过程中的安全性。

3.2 数据完整性验证客户端使用消息认证码(MAC)对加密后的数据进行完整性验证,确保数据在传输过程中没有被篡改。

HTTPS协议

HTTPS协议

HTTPS协议协议名称:HTTPS协议一、引言HTTPS(Hypertext Transfer Protocol Secure)是一种用于在计算机网络上进行安全通信的协议。

它是HTTP协议的安全版本,通过使用SSL/TLS协议对通信进行加密和认证,以保护用户的隐私和数据安全。

本协议旨在详细描述HTTPS协议的标准格式和相关要求。

二、协议内容1. 协议背景HTTPS协议的出现是为了解决HTTP协议在传输过程中可能被窃听、篡改和伪装的安全问题。

通过使用SSL/TLS协议,HTTPS协议能够确保通信的机密性、完整性和真实性。

2. 协议要求(1)通信加密:HTTPS协议要求使用SSL/TLS协议对通信进行加密,确保数据在传输过程中不被窃听或篡改。

(2)身份认证:HTTPS协议要求使用SSL/TLS协议对服务器进行身份认证,确保用户与合法服务器进行通信。

(3)证书验证:HTTPS协议要求客户端验证服务器的数字证书,以确保服务器的真实性和合法性。

(4)密钥交换:HTTPS协议要求使用SSL/TLS协议进行密钥交换,以确保通信双方能够安全地共享密钥。

(5)协议版本:HTTPS协议要求使用TLS协议的最新版本,以保障协议的安全性和性能。

3. 协议流程(1)客户端发起HTTPS请求:客户端向服务器发起HTTPS请求,请求的URL以"https://"开头。

(2)服务器端响应:服务器接收到客户端的HTTPS请求后,返回HTTP响应,并在响应头中包含SSL/TLS协议相关信息。

(3)客户端与服务器进行握手:客户端和服务器之间进行SSL/TLS握手,包括协议版本协商、密钥交换、证书验证等步骤。

(4)建立安全连接:握手成功后,客户端和服务器建立安全连接,之后的通信将在该连接上进行加密和认证。

(5)进行HTTP通信:客户端和服务器在建立的安全连接上进行HTTP通信,保证数据的安全和完整性。

(6)关闭连接:通信结束后,客户端和服务器可以选择关闭连接,释放相关资源。

HTTPS的使用方法及步骤详解

HTTPS的使用方法及步骤详解

HTTPS的使用方法及步骤详解随着互联网的发展,网络安全问题变得越来越重要。

为了保护用户的隐私和数据安全,许多网站采用了HTTPS协议。

本文将为大家介绍HTTPS的使用方法及步骤,帮助读者更好地理解和应用这一安全协议。

1.什么是HTTPS?HTTPS(Hypertext Transfer Protocol Secure)是一种加密的通信协议,它基于HTTP协议,在传输层使用SSL/TLS进行加密。

通过使用HTTPS协议,可以保证通信过程中的机密性、完整性和身份认证。

2.HTTPS的优势与传统的HTTP相比,HTTPS具有以下明显的优势:2.1数据加密:HTTPS在传输过程中使用SSL/TLS对数据进行加密,防止数据被窃取或篡改。

2.2身份认证:HTTPS使用数字证书验证服务器的身份,确保用户连接到正当的网站并防止中间人攻击。

2.3 SEO优化:搜索引擎倾向于显示HTTPS网站的搜索结果,因此使用HTTPS可以提升网站的排名和可信度。

2.4用户信任:HTTPS表示网站对用户数据保护的承诺,使用户更愿意与网站进行交互和共享信息。

3.配置HTTPS的步骤下面是配置HTTPS的一般步骤,具体操作可能因不同的服务器和证书机构而有所差异:3.1选择SSL/TLS证书为了使用HTTPS协议,首先需要从受信任的证书机构(CA)获取SSL/TLS证书。

这些证书通常分为三种类型:单域名证书、通配符证书和多域名证书。

根据自身需求,选择适合的证书类型,并购买相应的证书。

3.2配置服务器为了支持HTTPS,服务器需要进行相应的配置。

这包括生成私钥(Private Key)、生成证书签发请求(CSR)以及在服务器上启用SSL/TLS功能。

3.3申请证书根据服务器生成的CSR,向选定的证书机构提交证书签发请求。

证书机构将对您的身份进行验证,并签发与您的CSR相关联的证书。

3.4安装证书一旦收到证书,您需要将其安装到服务器上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

下面我们来一起学习一下 HTTPS ,首先问你一个问题,为什么有了HTTP 之后,还需要有 HTTPS ?我突然有个想法,为什么我们面试的时候需要回答标准答案呢?为什么我们不说出我们自己的想法和见解,却要记住一些所谓的标准回答呢?技术还有正确与否吗?HTTPS 为什么会出现一个新技术的出现必定是为了解决某种问题的,那么 HTTPS 解决了HTTP 的什么问题呢?HTTPS 解决了什么问题一个简单的回答可能会是HTTP 它不安全。

由于 HTTP 天生明文传输的特性,在 HTTP 的传输过程中,任何人都有可能从中截获、修改或者伪造请求发送,所以可以认为 HTTP 是不安全的;在 HTTP 的传输过程中不会验证通信方的身份,因此 HTTP 信息交换的双方可能会遭到伪装,也就是没有用户验证;在 HTTP 的传输过程中,接收方和发送方并不会验证报文的完整性,综上,为了解决上述问题,HTTPS 应用而生。

什么是 HTTPS你还记得 HTTP 是怎么定义的吗?HTTP 是一种超文本传输协议(Hypertext Transfer Protocol) 协议,它是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范,那么我们看一下 HTTPS 是如何定义的HTTPS 的全称是Hypertext Transfer Protocol Secure,它用来在计算机网络上的两个端系统之间进行安全的交换信息(secure communication),它相当于在 HTTP 的基础上加了一个Secure 安全的词眼,那么我们可以给出一个 HTTPS 的定义:HTTPS 是一个在计算机世界里专门在两点之间安全的传输文字、图片、音频、视频等超文本数据的约定和规范。

HTTPS 是 HTTP 协议的一种扩展,它本身并不保传输的证安全性,那么谁来保证安全性呢?在 HTTPS 中,使用传输层安全性(TLS)或安全套接字层(SSL)对通信协议进行加密。

也就是 HTTP +SSL(TLS) = HTTPS。

HTTPS 做了什么HTTPS 协议提供了三个关键的指标•加密(Encryption), HTTPS 通过对数据加密来使其免受窃听者对数据的监听,这就意味着当用户在浏览网站时,没有人能够监听他和网站之间的信息交换,或者跟踪用户的活动,访问记录等,从而窃取用户信息。

•数据一致性(Data integrity),数据在传输的过程中不会被窃听者所修改,用户发送的数据会完整的传输到服务端,保证用户发的是什么,服务器接收的就是什么。

•身份认证(Authentication),是指确认对方的真实身份,也就是证明你是你(可以比作人脸识别),它可以防止中间人攻击并建立用户信任。

有了上面三个关键指标的保证,用户就可以和服务器进行安全的交换信息了。

那么,既然你说了 HTTPS 的种种好处,那么我怎么知道网站是用 HTTPS 的还是 HTTP 的呢?给你两幅图应该就可以解释了。

HTTPS 协议其实非常简单,RFC 文档很小,只有短短的 7 页,里面规定了新的协议名,默认端口号443,至于其他的应答模式、报文结构、请求方法、URI、头字段、连接管理等等都完全沿用 HTTP,没有任何新的东西。

也就是说,除了协议名称和默认端口号外(HTTP 默认端口 80),HTTPS 协议在语法、语义上和 HTTP 一样,HTTP 有的,HTTPS 也照单全收。

那么,HTTPS 如何做到 HTTP 所不能做到的安全性呢?关键在于这个S 也就是SSL/TLS 。

什么是 SSL/TLS认识 SSL/TLSTLS(Transport Layer Security) 是SSL(Secure Socket Layer) 的后续版本,它们是用于在互联网两台计算机之间用于身份验证和加密的一种协议。

注意:在互联网中,很多名称都可以进行互换。

我们都知道一些在线业务(比如在线支付)最重要的一个步骤是创建一个值得信赖的交易环境,能够让客户安心的进行交易,SSL/TLS 就保证了这一点,SSL/TLS 通过将称为X.509 证书的数字文档将网站和公司的实体信息绑定到加密密钥来进行工作。

每一个密钥对(key pairs) 都有一个私有密钥(private key) 和公有密钥(public key),私有密钥是独有的,一般位于服务器上,用于解密由公共密钥加密过的信息;公有密钥是公有的,与服务器进行交互的每个人都可以持有公有密钥,用公钥加密的信息只能由私有密钥来解密。

什么是X.509:X.509 是公开密钥证书的标准格式,这个文档将加密密钥与(个人或组织)进行安全的关联。

X.509 主要应用如下•SSL/TLS 和 HTTPS 用于经过身份验证和加密的 Web 浏览•通过 S/MIME 协议签名和加密的电子邮件•代码签名:它指的是使用数字证书对软件应用程序进行签名以安全分发和安装的过程。

通过使用由知名公共证书颁发机构颁发的证书对软件进行数字签名,开发人员可以向最终用户保证他们希望安装的软件是由已知且受信任的开发人员发布;并且签名后未被篡改或损害。

•还可用于文档签名•还可用于客户端认证•政府签发的电子身份证我们后面还会讨论。

HTTPS 的内核是 HTTPHTTPS 并不是一项新的应用层协议,只是 HTTP 通信接口部分由 SSL 和 TLS 替代而已。

通常情况下,HTTP 会先直接和 TCP 进行通信。

在使用SSL 的 HTTPS 后,则会先演变为和 SSL 进行通信,然后再由 SSL 和 TCP 进行通信。

也就是说,HTTPS 就是身披了一层 SSL 的 HTTP。

SSL 是一个独立的协议,不只有 HTTP 可以使用,其他应用层协议也可以使用,比如SMTP(电子邮件协议)、Telnet(远程登录协议) 等都可以使用。

探究 HTTPS我说,你起这么牛逼的名字干嘛,还想吹牛批?你 HTTPS 不就抱上了TLS/SSL 的大腿么,咋这么牛批哄哄的,还想探究 HTTPS,瞎胡闹,赶紧改成 TLS 是我主,赞美我主。

SSL 即安全套接字层,它在 OSI 七层网络模型中处于第五层,SSL 在1999 年被IETF(互联网工程组)更名为 TLS ,即传输安全层,直到现在,TLS 一共出现过三个版本,1.1、1.2 和 1.3 ,目前最广泛使用的是 1.2,所以接下来的探讨都是基于 TLS 1.2 的版本上的。

TLS 用于两个通信应用程序之间提供保密性和数据完整性。

TLS 由记录协议、握手协议、警告协议、变更密码规范协议、扩展协议等几个子协议组成,综合使用了对称加密、非对称加密、身份认证等许多密码学前沿技术(如果你觉得一项技术很简单,那你只是没有学到位,任何技术都是有美感的,牛逼的人只是欣赏,并不是贬低)。

说了这么半天,我们还没有看到 TLS 的命名规范呢,下面举一个 TLS 例子来看一下 TLS 的结构。

这是啥意思呢?我刚开始看也有点懵啊,但其实是有套路的,因为 TLS 的密码套件比较规范,基本格式就是密钥交换算法 - 签名算法 - 对称加密算法 - 摘要算法组成的一个密码串,有时候还有分组模式,我们先来看一下刚刚是什么意思。

使用 ECDHE 进行密钥交换,使用 ECDSA 进行签名和认证,然后使用AES 作为对称加密算法,密钥的长度是 256 位,使用 GCM 作为分组模式,最后使用 SHA384 作为摘要算法。

TLS 在根本上使用对称加密和非对称加密两种形式。

对称加密在了解对称加密前,我们先来了解一下密码学的东西,在密码学中,有几个概念:明文、密文、加密、解密•明文(Plaintext),一般认为明文是有意义的字符或者比特集,或者是通过某种公开编码就能获得的消息。

明文通常用 m 或 p 表示•密文(Ciphertext),对明文进行某种加密后就变成了密文•加密(Encrypt),把原始的信息(明文)转换为密文的信息变换过程•解密(Decrypt),把已经加密的信息恢复成明文的过程。

对称加密(Symmetrical Encryption)顾名思义就是指加密和解密时使用的密钥都是同样的密钥。

只要保证了密钥的安全性,那么整个通信过程也就是具有了机密性。

TLS 里面有比较多的加密算法可供使用,比如 DES、3DES、AES、ChaCha20、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK 等。

目前最常用的是AES-128, AES-192、AES-256 和 ChaCha20。

DES 的全称是Data Encryption Standard(数据加密标准) ,它是用于数字数据加密的对称密钥算法。

尽管其 56 位的短密钥长度使它对于现代应用程序来说太不安全了,但它在加密技术的发展中具有很大的影响力。

3DES 是从原始数据加密标准(DES)衍生过来的加密算法,它在 90 年代后变得很重要,但是后面由于更加高级的算法出现,3DES 变得不再重要。

AES-128, AES-192 和 AES-256 都是属于 AES ,AES 的全称是Advanced Encryption Standard(高级加密标准),它是 DES 算法的替代者,安全强度很高,性能也很好,是应用最广泛的对称加密算法。

ChaCha20 是 Google 设计的另一种加密算法,密钥长度固定为 256位,纯软件运行性能要超过 AES,曾经在移动客户端上比较流行,但 ARMv8之后也加入了 AES 硬件优化,所以现在不再具有明显的优势,但仍然算得上是一个不错算法。

(其他可自行搜索)加密分组对称加密算法还有一个分组模式的概念,对于 GCM 分组模式,只有和 AES,CAMELLIA 和 ARIA 搭配使用,而 AES 显然是最受欢迎和部署最广泛的选择,它可以让算法用固定长度的密钥加密任意长度的明文。

最早有 ECB、CBC、CFB、OFB 等几种分组模式,但都陆续被发现有安全漏洞,所以现在基本都不怎么用了。

最新的分组模式被称为AEAD(Authenticated Encryption with Associated Data),在加密的同时增加了认证的功能,常用的是 GCM、CCM 和 Poly1305。

比如ECDHE_ECDSA_AES128_GCM_SHA256 ,表示的是具有 128 位密钥,AES256 将表示 256 位密钥。

GCM 表示具有 128 位块的分组密码的现代认证的关联数据加密(AEAD)操作模式。

我们上面谈到了对称加密,对称加密的加密方和解密方都使用同一个密钥,也就是说,加密方必须对原始数据进行加密,然后再把密钥交给解密方进行解密,然后才能解密数据,这就会造成什么问题?这就好比《小兵张嘎》去送信(信已经被加密过),但是嘎子还拿着解密的密码,那嘎子要是在途中被鬼子发现了,那这信可就是被完全的暴露了。

相关文档
最新文档