当前位置: 首页 > wzjs >正文

网站转化路径新能源网站开发

网站转化路径,新能源网站开发,租房网站那些地图区域统计怎么做的,页游网站建设详解 Https 和加密、摘要、签名、数字证书 我们知道网络包是可以被截获的,那么如果涉及到敏感信息的发送,例如各种密码,就不能明文在网络上传输了,因此需要进行加密,即在网络上传输密文,到服务端后服务端经…

详解 Https 和加密、摘要、签名、数字证书

我们知道网络包是可以被截获的,那么如果涉及到敏感信息的发送,例如各种密码,就不能明文在网络上传输了,因此需要进行加密,即在网络上传输密文,到服务端后服务端经过解密进行后续操作。

加密

加密分为两种

  • 对称加密,双方使用相同的秘钥或者算法来进行加密解密,例如异或操作,客户端发送 111 给服务端,使用全 1 字符串进行异或操作,得到 000,服务端收到 000 后,使用全 1 字符串进行异或解密,得到原数据 111(这里不考虑网络过程中出现的意外情况)。
    • 优点:简单,效率高
    • 缺点:怎么通知对方使用同一个秘钥(即上文的全1字符串),放在公网上传输有暴露的风险,且长时间使用同一个对称秘钥容易被破解
  • 非对称加密,双方各生成一套公钥私钥,客户端发送数据时,使用服务端的公钥加密,服务端收到后,使用自己的私钥解密。双方都保存自己的私钥,传递消息时使用对方的公钥加密,这样即使网络包被截获,由于没有接收方的私钥,也无法被破解。
    • 优点:安全
    • 缺点:效率低;存在如何获取对方的公钥且保证对方的公钥真的是对方的公钥的问题(伪造者冒充服务端,把自己的公钥发送给客户端,客户端无法验证这个公钥到底是服务端还是伪造者)

数字证书

为了解决非对称加密的获取及验证对方公钥的问题,有了数字证书。

我们想一下现实生活中如何确定对方的身份,可以要求对方拿出【公安机关】开具的【身份证明】,如果【公安机关】是可信的,且【身份证明】确实是该【公安机关】开具的,那么【身份证明】也认为是可信的。

  • 如何验证【公安机关】是可信的呢?可以去【上级公安机关】验证,依次递归,最后可以去【顶级公安机关】验证。
  • 如何验证【身份证明】确实是该【公安机关】开具的?【身份证明】需要【公安机关】使用私钥加密,这样如果可以使用【公安机关】的公钥解密,就可以证明了。

上述流程中提到的【公安机关】我们认为是【权威机构】(即CACertificate Authority)),而【身份证明】称之为【证书】(Certificate)。

现在我是服务端,我希望让客户端相信我的身份,那我就需要去 CA 备案,于是我把我的公钥、域名等信息发给了 CA,CA 在核实了我的身份之后,会将我的公钥、域名等信息封装进一个证书,并用自己的私钥对其进行签名。签名后的证书相当于一个【身份证明】,证明我是该公钥的合法拥有者,相当于 CA 为我背书。

当客户端访问服务端的时候,服务端不需要把公钥给客户端,而是给客户端一个证书,证书里有 CA 的信息,客户端自己拿 CA 的公钥校验,校验通过后就确认了服务端的身份,也拿到了服务端的公钥。

签名

在数字证书的过程中,签名是一个至关重要的步骤,通常是通过证书颁发机构(CA)来完成。

签名的过程:

  1. 摘要:CA 会对证书的内容(如公钥、证书有效期、持有者信息等)计算一个哈希值(摘要)。
  2. 私钥加密:然后,CA 使用自己的私钥对这个哈希值进行加密,生成数字签名。
  3. 数字签名:数字签名会附加在证书中,作为证书的一部分,客户端在验证时会使用 CA 的公钥来解密数字签名,并比对摘要值,确保证书内容没有被篡改。

这里顺便提一下:为什么不对证书的内容进行签名而是对其哈希值(摘要)进行签名呢?因为数据本身内容可能会很多,如果数据量大的情况下,计算出数字签名会很耗时。

摘要

**摘要(或哈希值)**是指通过特定的算法对数据进行处理,得到一个固定长度的唯一表示。这个过程是不可逆的,即从摘要值无法恢复原数据。摘要在数字证书中有非常重要的作用,特别是在签名过程和数据验证中。

摘要的过程:

  1. 数据摘要:CA 对证书内容(如公钥、有效期、持有者信息等)进行哈希计算,生成唯一的摘要值。
  2. 确保完整性:摘要算法确保数据的完整性。如果证书的任何部分被修改,摘要值就会发生变化,从而可以检测到证书是否被篡改。

Https

在最开始的加密中我们提到,对称加密效率高但不安全,存在双方传递秘钥的问题,非对称加密安全但效率比较低,那么能不能对二者进行结合,利用非对称加密传输对称加密的秘钥,之后都用对称加密的秘钥来加密数据呢?

Https 就是这么设计的,参考图示(图来自于趣谈网络协议-Https):

img

这是一个双向验证证书(客户端验证服务端证书 && 服务端验证客户端证书)的流程图,流程如下:

  • 客户端会发送 Client Hello 消息到服务器,以明文传输 TLS 版本信息、加密套件候选列表、压缩算法候选列表等信息。另外,还会有一个随机数,在协商对称密钥的时候使用。
  • 服务器返回 Server Hello 消息, 告诉客户端,服务器选择使用的协议版本、加密套件、压缩算法等,还有一个随机数,用于后续的密钥协商。
  • 随后,服务器会给客户端一个服务器端的证书,然后说:“Server Hello Done”。
  • 客户端会从 CA 仓库中,拿 CA 的证书里面的公钥去解密服务器的证书,这个过程可能会递归一直找到可以验证的 CA(因为 CA 是有层级的),验证通过后就进行后续步骤。
  • 客户端计算产生随机数字 Pre-master,发送 Client Key Exchange,用证书中的公钥加密,再发送给服务器,服务器可以通过私钥解密出来。
  • 双方此时都有了 3 个随机数,分别是自己的、对端的、Pre-master,通过这三个随机数,可以在客户端和服务器产生相同的对称密钥。
  • 客户端发送:“Change Cipher Spec,以后都采用协商的通信密钥和加密算法进行加密通信了”。然后发送一个 Encrypted Handshake Message,将已经商定好的参数等,采用协商密钥进行加密,发送给服务器用于数据与握手验证。
  • 同样,服务器也可以发送 Change Cipher Spec”,并且也发送 Encrypted Handshake Message 的消息试试。当双方握手结束之后,就可以通过对称密钥进行加密传输了。

以上流程省略了服务端验证客户端证书的过程,在安全性要求比较高的环境里,可以才用服务端和客户端双向验证证书的方式。

总结

  • 加密分对称加密和非对称加密。对称加密效率高,但是解决不了密钥传输问题;非对称加密可以解决这个问题,但是效率不高。
  • 非对称加密需要通过【证书】和【权威机构】来验证公钥的合法性。
  • Https 是综合了对称加密和非对称加密算法的 HTTP 协议。既保证传输安全,也保证传输效率。

文章转载自:

http://aUAWGw6Y.qwwhs.cn
http://U88wNGnk.qwwhs.cn
http://cOCsA1UP.qwwhs.cn
http://GEFSYsBT.qwwhs.cn
http://wNs1M57d.qwwhs.cn
http://JmTL3CGu.qwwhs.cn
http://TDkpJDeL.qwwhs.cn
http://sw30M7fu.qwwhs.cn
http://6gbkqBMF.qwwhs.cn
http://Dl17Y4KW.qwwhs.cn
http://2QsRzFuq.qwwhs.cn
http://BsZSfv8B.qwwhs.cn
http://1VYHsoH8.qwwhs.cn
http://e2Kql8NH.qwwhs.cn
http://GlMgzO7W.qwwhs.cn
http://juVlzAf2.qwwhs.cn
http://8ydl47dQ.qwwhs.cn
http://1rLRiltG.qwwhs.cn
http://eeWj4OUm.qwwhs.cn
http://h5KALpYW.qwwhs.cn
http://I0pCfK9m.qwwhs.cn
http://7IAduoDz.qwwhs.cn
http://Op3EqTuX.qwwhs.cn
http://MvmZ4YQe.qwwhs.cn
http://foOPxGDo.qwwhs.cn
http://iIU7Gnbz.qwwhs.cn
http://n7GBrMiG.qwwhs.cn
http://qu7gH6i1.qwwhs.cn
http://5DiEUIdW.qwwhs.cn
http://77JnQLVr.qwwhs.cn
http://www.dtcms.com/wzjs/655382.html

相关文章:

  • 北湖建设局网站好123上网从这里开始
  • 西宁网站建设排名宝山湖网站建设
  • 织梦门户网站做大后企业展示网站案例
  • 网站维护优化wordpress 有赞云
  • 手机网站做落地页文本文档做网站
  • 多少钱百度seo培训要多少钱
  • 泉州网站关键词排名wordpress外链跳转样式
  • 企业建站工具有趣的wordpress插件
  • wordpress 视频列表杭州seo托管公司推荐
  • 怎样建设网站啊网站网站开发设计
  • 网站左侧悬浮wordpress访问后台
  • 网络推广免费网站菜单设计制作
  • 网站建设后台有哪些项目网站开发和手机开发哪个好
  • 网站开发在线学习seo服务 收费
  • 网站模板如何使用为什么我有的网站打不开
  • 基层组织建设部网站凤岗本地网站
  • c 如何做网站畔游网站建设
  • 军博网站建设js 做网站
  • 南通网站建设报价wordpress对php版本要求
  • 漂亮的数据型网站软件开发课程
  • 数学老师做直播的网站上海最专业的网站建设公司哪家好
  • 我们的优势的网站头条网站开发
  • 各大网站发布网站建设与应用教案
  • 宜宾网站建设多少钱链接转换器
  • 建设部网站公示公告wordpress灯箱图片
  • 网站建设教学视频如何选择商城网站建设
  • 网站开发所有工具多大个人注册公司需要什么
  • 网站开发公司 广告词数学网站怎么做的
  • 移动互联网技术就业前景百度关键词优化首选667seo
  • 建网站需花哪几种钱vi品牌设计公司