HTTPS原理详解

一、HTTPS简介

   HTTPS的本质就是在HTTP连接发起之前,先使用SSL/TLS协议,协调客户端和服务端,在两端各自生产一个对称加密算法的秘钥然后以RSA(对之前生成的密钥进行非对称加密)的方式安全地传输数据。因为对称加密算法的秘钥是安全的,所以对称加密算法加密的网页内容也是安全的。

  非对称加密算法(对称加密算法的秘钥,RSA) + 对称加密算法(加密内容,DES) + 数字证书(防止篡改非对称加密算法的公钥,CA) + HASH算法(防止篡改消息,MD5/SHA1)== HTTPS。
在这里插入图片描述

  • 当浏览器或服务器尝试连接支持支持SSL的网络服务器时,浏览器或服务器会要求网络服务器表明自己的身份。

  • 网络服务器发送一份自身持有的SSL证书给浏览器或服务器,浏览器或服务器根据一定的规则(和本地存储的CA根证书列表对比) 判断是否信任远程服务,如果信任,则发送一份消息给远程服务器, 否则中断继续连接。

  • 网络服务器接收到消息后,发送一份包含数字签名的确认信息,开始建立SSL加密的会话。

  • 会话建立后,加密的数据顺畅地在客户端和网络服务器之间传递。

二、对称加密和非对称加密

1、对称加密(DES)

  对称加密就是用相同的密钥对原文进行加密和解密,通信双方共用一个密钥(密钥容易被窃取)。
在这里插入图片描述

2、非对称加密(RSA)

  非对称加密技术很好的解决了对称加密技术密钥无法安全传递的问题。

  非对称加密有两个密钥,即公钥(Public Key)和私钥(Private Key),对数据进行加密和解密使用不同的密钥。使用公钥进行加密,使用私钥进行解密私钥通过一定的加密算法推导出公钥,私钥到公钥的推导过程是单向的,也就是说公钥无法反推导出私钥。
在这里插入图片描述
在这里插入图片描述

  采用非对称加密算法即使第三方在网络上截获到密文,但其无法获得接收方的私钥,也就无法对密文进行解密,作为接收方务必保证自己私钥的安全,所以非对称加密技术解决了密钥传输过程的安全性问题。

3、RSA的原理

在这里插入图片描述
【例子】:

  • 假设数据接收方取两个质数 p = 11 , q = 13 p=11,q=13 p=11,q=13,那么 n = 143 n=143 n=143 φ ( n ) = ( p − 1 ) ∗ ( q − 1 ) = 120 \varphi(n)=(p-1)*(q-1)=120 φ(n)=(p1)(q1)=120,随机选择一个与 φ ( n ) \varphi(n) φ(n)互质的数,比如7,即 e = 7 e=7 e=7,那么 e − 1 = 103 e^{-1}=103 e1=103,使得 e × e − 1 ≡ 1 ( m o d φ ( n ) ) e\times e^{-1}\equiv 1\pmod{\varphi(n)} e×e11(modφ(n)),即 7 × 103 = 441 ≡ 1 ( m o d 120 ) 7\times103=441\equiv 1\pmod{120} 7×103=4411(mod120)

  • 所以公钥为 ( e , n ) (e,n) (en),即 ( 7 , 143 ) (7,143) (7143),私钥为 ( e − 1 , n ) (e^{-1},n) (e1n),即 ( 103 , 143 ) (103,143) (103143)。假设数据发送方要加密的数据为 m = 13 m=13 m=13

  • 加密过程:数据发送方根据公钥对数据加密,即 D = 1 3 7 ( m o d 143 ) = 117 D=13^{7}\pmod{143}=117 D=137(mod143)=117。假设有攻击方,那么他只能获得 ( e , n ) (e,n) (en) D D D

  • 解密过程:数据接收方使用私钥对数据解密,即 11 7 103 ( m o d 143 ) = 13 117^{103}\pmod{143}=13 117103(mod143)=13

三、一个HTTPS请求的流程

1. 客户端向服务器发起HTTPS请求,连接到服务器的443端口

2. 服务器端有一个密钥对,即公钥和私钥,是用来进行非对称加密使用的,服务器端保存着私钥,不能将其泄露,公钥可以发送给任何人。

3. 服务器将自己的公钥发送给客户端

4. 客户端收到服务器端的公钥之后,会对公钥进行检查,验证其合法性,如果发现发现公钥有问题,那么HTTPS传输就无法继续。严格的说,这里应该是验证服务器发送的数字证书的合法性。如果公钥合格,那么客户端会生成一个随机值,这个随机值就是用于进行对称加密的密钥,我们将该密钥称之为client key,即客户端密钥,这样在概念上和服务器端的密钥容易进行区分。然后用服务器的公钥对客户端密钥进行非对称加密,这样客户端密钥就变成密文了,至此,HTTPS中的第一次HTTP请求结束。

5. 客户端会发起HTTPS中的第二个HTTP请求,将加密之后的客户端密钥发送给服务器

6. 服务器接收到客户端发来的密文之后,会用自己的私钥对其进行非对称解密,解密之后的明文就是客户端密钥,然后用客户端密钥对数据进行对称加密,这样数据就变成了密文。

7. 然后服务器将加密后的密文发送给客户端

8. 客户端收到服务器发送来的密文,用客户端密钥对其进行对称解密,得到服务器发送的数据。这样HTTPS中的第二个HTTP请求结束,整个HTTPS传输完成。
在这里插入图片描述
  HTTPS要使客户端与服务器端的通信过程得到安全保证,必须使用的对称加密算法,但是协商对称加密算法的过程,需要使用非对称加密算法来保证安全,然而直接使用非对称加密的过程本身也不安全,会有中间人篡改公钥的可能性,所以客户端与服务器不直接使用公钥,而是使用数字证书签发机构(CA)颁发的证书来保证非对称加密过程本身的安全。这样通过这些机制协商出一个对称加密算法,就此双方使用该算法进行加密解密。从而解决了客户端与服务器端之间的通信安全问题。

参考:https://www.jianshu.com/p/26c63766ecbb
https://www.cnblogs.com/zhangshitong/p/6478721.html
https://www.jianshu.com/p/14cd2c9d2cd2
https://www.cnblogs.com/digdeep/p/4832885.html

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MOS管的工作原理可以通过以下几个方面来详解。首先,MOS管是一种场效应管,其结构包括栅极、源极和漏极。栅极与源极之间通过绝缘层隔离,形成了一个绝缘栅。当栅极施加电压时,栅极电场会影响绝缘栅下方的沟道区域。沟道区域的导电能力受到栅极电压的控制,呈现一定的线性关系。这使得MOS管在放大区工作时具有较好的线性特性。\[1\] 其次,MOS管的工作原理还涉及到输入阻抗和输出特性。由于栅极与源极隔离,MOS管的输入阻抗可以近似看作无穷大。这意味着输入信号对MOS管的影响可以忽略不计。然而,随着频率的增加,输入阻抗会逐渐减小,需要在一定频率范围内予以考虑。此外,MOS管的输出特性也受到栅极电压的影响,可以通过调整栅极电压来控制输出信号的幅度和极性。\[1\] 最后,MOS管的结构也是理解其工作原理的重要方面。MOS管的结构包括金属-氧化物-半导体,即在半导体器件上加上二氧化硅和金属形成栅极。MOS管的源极和漏极是在P型背栅中形成的N型区域。在大多数情况下,这两个区域是相同的,即使对调也不会影响器件的性能,因此被认为是对称的。\[3\] 综上所述,MOS管的工作原理涉及到栅极电场对沟道区域的控制、输入阻抗和输出特性的影响,以及其特殊的结构。这些特点使得MOS管在电子电路中被广泛应用于放大电路和开关电路。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [彻底搞懂MOS管的工作原理及应用](https://blog.csdn.net/m0_50862404/article/details/122403357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [浅谈MOS管的工作原理](https://blog.csdn.net/Li_989898/article/details/120311499)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值