https 协议

简介: 1.简介 CA,Certificate Authority。 SSL,Secure Sockets Layer,安全套接层,层次位于HTTP与TCP之间。 HTTP协议以明文方式发送内容,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。 HTTPS使用端口443。Http使用端口80

1.简介

CA,Certificate Authority。

SSL,Secure Sockets Layer,安全套接层,层次位于HTTP与TCP之间。


HTTP协议以明文方式发送内容,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。
HTTPS使用端口443。Http使用端口80.
https协议需要到ca申请证书,一般免费证书很少,需要交费。


2.https的握手过程


1.浏览器将自己支持的一套加密规则发送给网站。      
2. 网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息。      
3. 浏览器获得网站证书之后浏览器要做以下工作:    

  a)验证证书的合法性(颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等),如果证书受信任,则浏览器栏里面会显示一个小锁头,否则会给出证书不受信的提示。       

b)如果证书受信任,或者是用户接受了不受信的证书,浏览器会生成一串随机数的密码,并用证书中提供的公钥加密。      
c)使用约定好的HASH算法计算握手消息,并使用生成的随机数对消息进行加密,最后将之前生成的所有信息发送给网站。      

4.网站接收浏览器发来的数据之后要做以下的操作:     

  a)使用自己的私钥将信息解密取出密码,使用密码解密浏览器发来的握手消息,并验证HASH是否与浏览器发来的一致。      

  b) 使用密码加密一段握手消息,发送给浏览器。      

5.浏览器解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手过程结束,之后所有的通信数据将由之前浏览器生成的随机密码并利用对称加密算法进行加密。

目录
相关文章
|
2月前
|
前端开发
webpack如何设置devServer启动项目为https协议
webpack如何设置devServer启动项目为https协议
152 0
|
4月前
|
Web App开发 移动开发 JavaScript
Python网络编程(三),HTTP协议
Python网络编程(三),HTTP协议
63 0
|
5月前
|
网络协议
【计算机网络-应用层】HTTP协议
【计算机网络-应用层】HTTP协议
|
6天前
|
安全 网络协议 算法
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
|
7天前
|
网络协议 安全 算法
HTTP协议与HTTPS协议
HTTP协议与HTTPS协议
|
17天前
|
安全 网络安全 数据安全/隐私保护
HTTPS协议
HTTPS协议
19 0
|
28天前
|
安全 网络安全 数据安全/隐私保护
HTTPS协议详解
HTTPS协议详解
14 1
|
2月前
|
安全 搜索推荐 数据安全/隐私保护
深入探讨HTTPS协议的原理和工作流程
【2月更文挑战第10天】
36 4
深入探讨HTTPS协议的原理和工作流程
|
3月前
|
安全 算法 Java
【JavaEE初阶】 详解HTTPS协议加密过程
【JavaEE初阶】 详解HTTPS协议加密过程
|
4月前
|
安全 算法 网络安全
浏览器 HTTPS 协议的相关知识点有哪些?
浏览器 HTTPS 协议的相关知识点有哪些?
21 0