导航:首页 > 文档加密 > 加密传输方式https

加密传输方式https

发布时间:2022-11-28 15:01:07

1. https如何进行加密传输

HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL中使用了非对称加密,对称加密以及HASH算法。握手过程的具体描述如下:
1.浏览器将自己支持的一套加密规则发送给网站。
2.网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息。
3.浏览器获得网站证书之后浏览器要做以下工作:
a) 验证证书的合法性(颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等),如果证书受信任,则浏览器栏里面会显示一个小锁头,否则会给出证书不受信的提示。
b) 如果证书受信任,或者是用户接受了不受信的证书,浏览器会生成一串随机数的密码,并用证书中提供的公钥加密。
c) 使用约定好的HASH算法计算握手消息,并使用生成的随机数对消息进行加密,最后将之前生成的所有信息发送给网站。
4.网站接收浏览器发来的数据之后要做以下的操作:
a) 使用自己的私钥将信息解密取出密码,使用密码解密浏览器发来的握手消息,并验证HASH是否与浏览器发来的一致。
b) 使用密码加密一段握手消息,发送给浏览器。
5.浏览器解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手过程结束,之后所有的通信数据将由之前浏览器生成的随机密码并利用对称加密算法进行加密。
这里浏览器与网站互相发送加密的握手消息并验证,目的是为了保证双方都获得了一致的密码,并且可以正常的加密解密数据,为后续真正数据的传输做一次测试。另外,HTTPS一般使用的加密与HASH算法如下:
非对称加密算法:RSA,DSA/DSS
对称加密算法:AES,RC4,3DES
HASH算法:MD5,SHA1,SHA256

2. https方式是什么意思

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性[1]。HTTPS 在HTTP 的基础下加入SSL层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与TCP之间)。

https

HTTPS与HTTP的区别:

1.http是超文本传输协议,信息是明文传输,https是具有安全性的ssl加密传输协议

2.http和https使用的是完全不一样的连接方式,端口也不一样,前者默认是80端口

3.http是无状态的协议,而https是由ssl+http构建的可进行加密传输、身份认证的网络协议。

4.http的无状态是指对事务处理没有记忆能力,缺少状态意味着对后续处理需要的信息没办法提供,只能重新传输这些信息,这样就会增大数据量。另一方面,当不需要信息的时候服务器应答较为快。

3. HTTPS 加密算法过程

1、HTTP 协议(HyperText Transfer Protocol,超文本传输协议):是客户端浏览器或其他程序与Web服务器之间的应用层通信协议 。

2、HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):可以理解为HTTP+SSL/TLS, 即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL,用于安全的 HTTP 数据传输。

3、SSL(Secure Socket Layer,安全套接字层):1994年为 Netscape 所研发,SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。

4、TLS(Transport Layer Security,传输层安全):其前身是 SSL,它最初的几个版本(SSL 1.0、SSL 2.0、SSL 3.0)。

如上图所示 HTTPS 相比 HTTP 多了一层 SSL/TLS。

1、对称加密

有流式、分组两种,加密和解密都是使用的同一个密钥。

例如:DES、AES-GCM、ChaCha20-Poly1305等

2、非对称加密

加密使用的密钥和解密使用的密钥是不相同的,分别称为:公钥、私钥,公钥和算法都是公开的,私钥是保密的。非对称加密算法性能较低,但是安全性超强,由于其加密特性,非对称加密算法能加密的数据长度也是有限的。

例如:RSA、DSA、ECDSA、 DH、ECDHE

3、哈希算法

将任意长度的信息转换为较短的固定长度的值,通常其长度要比信息小得多,且算法不可逆。

例如:MD5、SHA-1、SHA-2、SHA-256 等

4、数字签名

签名就是在信息的后面再加上一段内容(信息经过hash后的值),可以证明信息没有被修改过。hash值一般都会加密后(也就是签名)再和信息一起发送,以保证这个hash值不被修改。

C++音视频开发学习资料 :点击 音视频开发(资料文档+视频教程+面试题)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)

HTTP协议在浏览器/服务器间进行数据的传输是明文的,不做任何的加密,通俗来说,就是“裸奔”,这样会产生什么样的问题那,我们来举一个例子:

在这里插入图片描述

上述我们通过两个人物模仿了服务器和客户端的交互,我们可以看出,小明和小花之间进行数据通信的时候采用的是明文传输的、那么此时很有可能被中间人获取信息、并进行数据篡改,这种行为就叫 中间人攻击。

所以 HTTP 传输面临的风险有:

(1) 窃听风险:黑客可以获知通信内容。

(2) 篡改风险:黑客可以修改通信内容。

(3) 冒充风险:黑客可以冒充他人身份参与通信。

哈哈、此时你是不是不能很愉快的上网冲浪了呀,别担心,我们此时可以对明文进行加密:

这样是不是比原来安全多了呀!但是这样就足够安全了吗?显然不是的,如果小明和小花在第一次聊天的时候,信息被中间人截取到了,那么中间人是不是也就有密钥了,同样可以对数据进行加解密和修改了那

这可怎么办那? 加密的数据还是不安全的啊? 别急,上面我们采用的是对称加密(换句话说就是我们发送的密钥技能加密、也能解密,那么中间人只要拿到密钥消息对他而言就是透明的了),我们还可以采用非对称加密方式进行加密数据(非对称加密一般都会有一个私钥和公钥组成。可以通过公钥加密,私钥解密,也可以通过私钥加密,公钥解密两种方式) ,对密钥的传送在格外加一层保护,当小明和小花在建立通信的时候,小花会把公钥KEY发送给小明,当小明拿到公钥KEY 后,会自己生成一个 密钥 KEY2 , 并用 KEY 对KEY2 进行加密(此时小明用的是公钥加密)

在通信过程中,即使中间人一开始就获取到了公钥KEY ,但是他不知道私钥,就对数据无法进行解密,仍旧是没办法获取KEY2。这样加密后,数据是不是就安全多了呀。这种情况下就可以和妹子愉快的进行聊天了吗?别急、所谓道高一尺魔高一丈,常言道:流氓不可怕,就怕流氓有文化。这种状态下我们的数据,相当来说是比较安全的,但是如果此时中间人获取公钥后,发送给小明一个伪公钥,又会产生什么问题那?

好吧,说到这里,大家是不是快恨死这个中间人了啊,哈哈~~~还有据俗话别忘记了,魔高一尺道高一丈,对于这种情况。我们可以借助与第三方证书平台,证书平台具备产生证书的功能,服务器(小花)可以去证书机构申请证书,证书机构通过小花提供的信息(网址、机构、法人等、公钥),生成公钥和私钥(证书机构的),通过私钥进行数据的非对称加密生成证书、将证书颁发给小花。那么此时小花就可以在进行数据交互的时候,传递证书了。

小明只需要知道证书的发证机构、就可以很方便的获取到证书的公钥、从而对证书进行校验并获取公钥、然后进行后续的操作。

那么此时小伙伴是不是又有疑问了,如果 中间人 获取到证书、并伪造证书给小明、怎么破???

不错不错、如果大家有这个想法的话,说明大家都在认真思考了。那么我们假设中间人获取到了证书、中间人也可以在证书机构获取公钥,并通过证书机构公钥获取 服务器发送的公钥,中间人此时也可以自己生成公钥,并向证书机构申请证书、并发送伪证书给小明,但是因为证书是经过签名认证的,包含(网址、机构、法人等、公钥)等信息,小明在拿到伪证书后,通过证书公钥很容易就发现证书是不合法的(网址、法人的信息可定不符,否则申请不到证书的)。

上述我们分享的内容就是HTTPS的主体思想,HTTPS增加了SSL安全层,上述介绍的所有认证流程都是在SSL安全层完成验证的。今天我就分享HTTPS的实现原理就说这么多了。 ﹏

HTTPS 缺点:

(1)SSL 证书费用很高,以及其在服务器上的部署、更新维护非常繁琐。

(2)HTTPS 降低用户访问速度(多次握手)。

(3)网站改用HTTPS 以后,由HTTP 跳转到 HTTPS 的方式增加了用户访问耗时(多数网站采用302跳转)。

(4)HTTPS 涉及到的安全算法会消耗 CPU 资源,需要增加大量机器(https访问过程需要加解密)。

4. HTTPS 加密方式

在学习HTTPS加密方式之前,有必要了解几种常见的加密方式,如:

HTTPS 先利用数字证书保证服务器端的公匙可安全无误的到达客户端;再用非对称加密安全的传递共享密匙;最后用共享密匙安全的交换数据。

HTTPS 虽提供了消息安全传输的通道,但每次消息的加解密十分耗时,消耗系统资源。
因此除非在一些对安全性比较高的场景下,比如银行系统,购物系统中必须要使用HTTPS 进行通信,其他一些对安全性要求不高的场景,没必要使用 HTTPS。

使用 HTTPS 需要使用到数字证书,但一般权威机构颁发的数字证书都是收费的,而且价格也是不菲的。
因此对于一些个人网站来讲,若对安全性要求不高,没必要使用 HTTPS

5. HTTPS 到底加密了些什么内容

https其实是有两部分组成:http + SSL / TLS,也就是在http上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图。

1. 客户端发起https请求

客户端发起https请求就是指用户在浏览器里输入一个https网址,然后连接到server的443端口。

2. 服务器端的配置

采用https协议的服务器必须要有一套SSL数字证书,需要向CA组织(如WoSign沃通CA)申请。这套SSL证书其实就是一对公钥和私钥。如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。

3. 传送证书

这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,证书过期时间等等。

4. 客户端解析证书

这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随机值。然后用证书对该随机值进行加密。就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。

5. 传送加密信息

这部分传送的是用SSL证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

6. 服务段解密信息

服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密。所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。

7. 传输加密后的信息

这部分信息是服务段用私钥加密后的信息,可以在客户端被还原。

8. 客户端解密信息

客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容。整个过程第三方即使监听到了数据,也束手无策。

6. 什么是HTTPS加密传输

传统的http是超文本传输协议,信息是明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。HTTPS为用户客户端和服务器之间建立了一个信息安全通道,来保证数据传输的安全。防止数据在中途被窃取,维护数据的完整性,确保数据在传输过程中不被改变。保存在酷盘服务器端的文件都进行了严格的加密,只有您本人通过账户密码才可以访问,任何其他人都无法访问。

7. 怎么正确理解 HTTPS 的加密

HTTPS协议在通信时,首先会采用公钥加密的方式,把密钥进行公钥加密,然后传输给服务器,服务器使用私钥解密出密钥后,客户端和服务器即可建立起安全的访问通道。在接下来的通信就会采用速度更快的共享密钥加密的方式进行数据传输。这样HTTPS协议就既拥有公钥加密的安全性,同时也拥有了通用加密的高速的两个优点。
对称加密:加密和解密用同一个密钥,客户端对数据加密,服务端解密拿到数据。
非对称加密:使用公钥和私钥,公钥加密的内容只能私钥解开,私钥加密的内容所有公钥都能解开;私钥只保存在服务器端,公钥可以发送给所有客户端,可以保证客户端通过公钥加密的内容中间人无法破解。

8. https传输过程

HTTPS传输过程主要涉及到对称加密和非对称加密两种方式,对称加密用来加密数据内容,非对称加密用来加密对称加密的秘钥。

加密和解密使用相同的密钥

使用公钥进行加密,私钥进行解密;私钥加密的话就使用公钥解密

A向B发送消息 使用B的公钥进行加密 B收到密文后使用自己的私钥进行解密 反之亦然

https协议采用的就是这种加密方式

为了解决在对称加密/非对称加密中公钥被窃取的情况。

A先生成一个对话密钥,然后把对话密钥发送给B。但是这个对话密钥要经过B的公钥进行加密,B收到后用自己的私钥进行解密。这样就解决了对称加密时公钥容易被截取的缺陷。

实际上就是对称加密的密钥进行非对称加密

B的公钥是在最开始连接建立的时候发送给A的。假如这个时候有一个中间人截取了B的公钥,然后将自己的公钥发送给A。A在给B发送消息时,想用B的公钥进行加密。但实际上用的是中间人的公钥。中间人截取了A给B发送的消息,然后用自己的私钥解密。就可以随意读取消息的内容。
此外,中间人也可以使用B的公钥来加密一些消息传输给B,让B以为中间人就是A

用于防止中间人攻击

数字证书是由专业的机构颁发的CA(Certificate Authority)机构

CA机构通过服务端提供的相关信息生成证书,证书的主要内容有:公钥(Public Key)、ISSUER(证书的发布机构)、Subject(证书持有者)、证书有效期、签名算法、指纹及指纹算法。

数字证书是如何保证公钥来自请求的服务器呢?数字证书上由持有人的相关信息,通过这点可以确定其不是一个中间人;但是证书也是可以伪造的,如何保证证书为真呢?

浏览器接收到证书以后,就要开始进行验证工作了。首先从证书中得知证书的颁发机构,然后从浏览器系统中去寻找此颁发机构的根证书。上面我们也看到,世界上权威CA机构的根证书都是预先嵌入到浏览器中的,如果在浏览器系中没有找到对应的根证书,就代表此机构不是受信任的,那么就会警告无法确认证书的真假,比如以前打开12360网站就会提示,现在不会了

如果我们找到了证书颁发机构的根证书,那么就从根证书中取得那个根公钥,用根公钥去解密此证书的数字签名,成功解密的话就得到证书的指纹和指纹算法,指纹是证书内容通过指纹算法计算得到的一个hash值,这里我们称之为h1,h1代表证书的原始内容;然后用指纹算法对当前接收到的证书内容再进行一次hash计算得到另一个值h2,h2则代表当前证书的内容,如果此时h1和h2是相等的,就代表证书没有被修改过。如果证书被篡改过,h2和h1是不可能相同的,因为hash值具有唯一性,不同内容通过hash计算得到的值是不可能相同的

有人说假如证书上的指纹是不法分子伪造的,伪造是没有用的,因为你伪造的指纹不可能用CA机构的根私钥去加密(根私钥是CA机构绝对保密的),伪造者只能拿自己的秘钥去加密这个伪造的指纹,但当我们拿机构的根公钥去解密伪造指纹的时候是不可能成功的(加密内容只能由一对公钥私钥解密)

在证书没有被修改过的基础上,再检查证书上的使用者的URL(比如csdn.net)和我们请求的URL是否相等,如果相等,那么就可以证明当前浏览器链接的网址也是正确的,而不是一些钓鱼网之类的

但如果浏览器的连接被某个中间人截取了,中间人也可以发一个由权威的CA机构颁发的证书给浏览器,然后也可以通过证书没有被篡改的验证,但是在证书没有被篡改的前提下,通过对比证书上的URL和我们请求的URL是否相同,我们还是可以判断当前证书是不是服务器发的证书。可以这么理解,因为URL具有唯一性,所以中间人的证书的上的URL和我们的证书的URL是不可能相同的,如果中间人修改了自己证书上的URL,那么就通过不了证书没有被篡改的验证,所以中间人的证书也是欺骗不了我们的

到这里我们认证了三点信息:

https就是在http和tcp之间加入了一层SSL层。https的安全基础就是ssl。

https协议就是由http+ssl组成的可以进行加密传输和身份认证的网络协议。https的作用:

所以在证书验证阶段使用的是非对称加密(即生成会话密钥的阶段),在内容传输的时候还是对称加密

握手阶段我们需要注意三点:

从上面可以得知,整个会话过程中(包括握手以及之后的数据传输)服务器的公钥和私钥只用到了一次

9. https的加密机制,怎么加密

HTTPS加密是在签发信任机构的SSL证书。
数字证书的作用和原理概述:https://www.gworg.com/ssl/353.html
这种加密模式比较复杂的,他产生了中介数据交易验证。

10. 如何实现https加密传输

1、生成证书请求文件CSR

用户进行https证书申请的第一步就是要生成CSR证书请求文件,系统会产生2个密钥,一个是公钥就是这个CSR文件,另外一个是私钥,存放在服务器上。要生成CSR文件,站长可以参考WEB SERVER的文档,一般APACHE等,使用OPENSSL命令行来生成KEY+CSR2个文件,Tomcat,JBoss,Resin等使用KEYTOOL来生成JKS和CSR文件,IIS通过向导建立一个挂起的请求和一个CSR文件。

温馨提醒:如果是在沃通申请https证书,其数字证书商店(https://buy.wosign.com)已经支持CSR文件由系统自动生成,用户无需事先在Web服务器上生成CSR文件。请参考:SSL证书请求文件(CSR)生成指南网页链接

2、将CSR提交给CA机构认证

CA机构一般有2种认证方式:

(1)域名认证,一般通过对管理员邮箱认证的方式,这种方式认证速度快,但是签发的证书中没有企业的名称,只显示网站域名,也就是我们经常说的域名型https证书。

(2)企业文档认证,需要提供企业的营业执照。国外https证书申请CA认证一般一小时之内,紧急时5分钟。

同时认证以上2种方式的证书,叫EV https证书,EV https证书可以使浏览器地址栏变成绿色,所以认证也最严格。EV https证书多应用于金融、电商、证券等对信息安全保护要求较高的领域。

3、获取https证书并安装

在收到CA机构签发的https证书后,将https证书部署到服务器上,一般APACHE文件直接将KEY+CER复制到文件上,然后修改HTTPD.CONF文件;TOMCAT等需要将CA签发的证书CER文件导入JKS文件后,复制到服务器,然后修改SERVER.XML;IIS需要处理挂起的请求,将CER文件导入。

阅读全文

与加密传输方式https相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163