Https、CA证书、数字签名

这篇具有很好参考价值的文章主要介绍了Https、CA证书、数字签名。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Https
  • Http协议

Http协议是目前应用比较多应用层协议,浏览器对于Http协议已经实现。Http协议基本的构成部分有

  1. 请求行 : 请求报文的第一行
  2. 请求头 : 从第二行开始为请求头内容的开始部分。每一个请求头都是由K-V键值对组成。
  3. 请求体: 请求头完成后以空行结束、从空行开始为请求体。

同理,Http响应也遵循上述基本结构

  1. 响应行:响应报文的第一行,主要包含了Http的版本、响应状态码。
  2. 响应头:从第二行开始为响应头内容的开始部分,每一个响应头都是由K-V键值对组成。
  3. 响应体:服务器器所有的响应内容都在响应体中返回,当然有些请求可能也没有响应体,例如302重定向请求。

所谓的协议就是 : 为了满足计算机通信双方可以正确的获取数据,处理数据而约定好的一种格式,如果不遵守协议,则无法正确处理数据。例如Http协议的响应行没有状态码,或者响应头格式不正确等都会导致浏览器无法正确解析。
遵循了标准Http协议,浏览器和服务器则可以根据对方传输的信息做正确处理,浏览器也可以正确展示数据。


之前的版本Http协议都是在浏览器与服务器之间使用明文传输的,这种方式是不安全的,极度容易被中间人攻击篡改传输的数据。于是Https协议诞生了。

  • Https起源
  1. 对称加密算法实现

既然Http协议是不安全的,那将传输的信息使用对称加密算法加密过后再传输就可以避免被中间人攻击了,但问题是,如何让对称加密的密钥让浏览器与服务器更安全的知道?如果浏览器直接将密钥发给服务器,那还是有可能被攻击者解惑,则后续再传输的任何信息都可以被轻松解密,所以对称加密也是不安全的。

  1. 非对称加密算法实现

非对称加密算法有以下优势:

  1. 有两把密钥,分为公钥和私钥,公钥加密只能私钥解密,而私钥加密只能公钥解密。
  2. 密钥长度更长,破解难度更高。
  3. 攻击者获取一把密钥无法实现对数据的加解密。

尝试用非对称加密算法来实现浏览器与服务器的安全通信


  1. 首先服务器把自己的公钥发送给浏览器
  2. 浏览器用服务器的公钥加密一串随机数字
  3. 将加密后的密文发送给服务器,即使被中间人攻击,由于私钥只有服务器才有,也是无法解密的。
  4. 服务器拿到密文,用自己的私钥进行解密,这样就可以获取到浏览器生成的随机数,后续用这个随机数进行对称加密即可。

常用的非对称加密实现算法有 RSA、DSA、SM2等。
绝大多数的非对称加密算法都是基于数学问题去实现的,例如RSA算法基于超大质数分解,SM2基于椭圆曲线率等。 在可预见的时间范围内,这几种算法的安全性依然是相当高的。

SSL、TSL
  • 非对称加密潜在的问题

在使用了非对称加密算法保证浏览器与服务器通信安全以后,似乎还是有一个问题没有解决,那就是如果服务器发送给浏览器公钥的过程中被中间人拦截,中间人替换成自己的公钥发送给浏览器,那么浏览器再用假的公钥加密随机数,发给服务器,此时再度被中间人攻击,由于浏览器加密用的是假的公钥,所以攻击者可以用自己的私钥进行解密,然后再用浏览器的公钥加密,发给浏览器,这个时候,攻击者已经完全拿到的浏览器生成的随机数了,那么后续双方的通信也都可以被轻松破解。

  • 问题解决

可以看到,根本的问题就是浏览器无法判断服务器发过来的公钥是不是服务器本身的还是被篡改的,此时就需要引入一个第三方机构了,这个第三方机构就是CA (Certificate Authority)。


服务器会像自己的域名信息、组织、主体以及最关键的公钥整理好,向CA机构申请颁发证书,CA机构经过审核以后,用自己的私钥对这些信息进行数字签名,也就是先将信息进行消息摘要,然后对这个消息摘要进行加密,然后将CA的公钥以及申请的信息打包成一个证书
CA会将证书下发给服务器。那么后续的通信过程是这样的:


  1. 浏览器向服务器发送请求,服务器会将自己的证书发给浏览器。
  2. 浏览器首先根据证书上的CA机构的公钥对密文进行解密,然后拿着解密的内容去比对证书上的数字签名是否一致,如果不一致,则表示证书有问题。如果攻击者篡改了篡改了服务器的公钥,则浏览器再进行数字签名验证时,就会出现问题,此时会提示风险。
  3. 如果攻击者也申请了一个证书来伪造,虽然可以正确解密出来,但两个域名的证书内容是不可能相同的,所以也无法验证成功,例如 访问的是 www.bilibili.com,而证书上的域名是 www.bi1ibi1i.com,此时也会提示证书安全问题。

此时看似解决了安全问题,但现在的问题是,浏览器如何知道CA机构的公钥不是被篡改过的呢?这就有点套娃了。
最简单的办法就是操作系统和浏览器直接内置了CA机构的公钥信息,内置的方式避免了攻击者篡改。

可以发现,上述将的浏览器和服务器的协商密钥的过程是独立于Http协议之外的,这一过成叫做
secure socket layer (安全套接字层),也就是 SSL,SSL经历过多次迭代发展后有了SSL1.0、SSL2.0、SSL3.0,后来更名为TSL。
所以SSL、TSL是独立于协议之外的一套安全机制,这一过程也称作SSL握手。

除此之外,证书也设置有效期、定义更换算法以及密钥也是提升安全性的一种方式。

  • CA机构

Symantec:赛门铁克(Symantec)SSL证书前身为 Verisign,后于2017年12月被DigiCert收购,现在已经使用 DigiCert 根证书。Symantec Secure Site SSL证书依然是各行业尤其是金融银行证券等大型企业认可的品牌。Symantec Secure Site SSL证书 支持诺顿安全签章,是网站拥有很好的可信度。
GeoTrust:是全球成长最快的数字证书颁发机构之一,在全球超过150个国家/地区颁发数百万的数字证书。
Comodo:是全球知名的互联网安全公司,为用户提供网站安全防护、SSL证书、反病毒软件等服务。
DigiCert:是全球领先的数字证书提供商,在SSL市场占有重要地位。DigiCert旗下拥有DigiCert、Symantec、Geotrust、Thawte、Rapid 5大SSL证书品牌,可以提供从基础型到高端型全系列的SSL证书解决方案。

证书的基本信息有颁发者、颁发机构等等
Https、CA证书、数字签名,密码学,网络通信,https,iphone,网络协议

同时,证书中还包含了服务器的公钥、域名、CA机构的公钥、签名算法等等。
Https、CA证书、数字签名,密码学,网络通信,https,iphone,网络协议
Https、CA证书、数字签名,密码学,网络通信,https,iphone,网络协议
Https、CA证书、数字签名,密码学,网络通信,https,iphone,网络协议文章来源地址https://www.toymoban.com/news/detail-655891.html

到了这里,关于Https、CA证书、数字签名的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HTTPS加密原理,搞懂什么是对称加密、非对称加密、证书、数字签名

    众所周知,http协议是一种未加密的协议,我们未加密的数据,在传输的过程中会经过一个又一个的物理节点,如果被人通过抓包的方式拿到了我们的数据,将会给我们造成无法估量的损失。 为了解决解决这个问题,https应运而生。https通过加密的手段,保障的数据的安全性。

    2024年02月01日
    浏览(37)
  • CA与区块链之数字签名详解

    CA与区块链验证本质上都是数字签名,首先,我们看一下什么是数字签名! 数字签名是 公钥密码学 中的一种技术,用于 验证信息的完整性和发送者的身份 。简而言之,数字签名是一种 确认信息来源和信息完整性 的手段。它通常与区块链、数字证书、加密邮件等技术结合使

    2024年02月04日
    浏览(38)
  • 【安全】对称加密、非对称加密、数字签名和CA是什么?

    今天学习了关于网络通信过程中的安全相关的知识,还有一些基础的概念,现做以总结,博客的图示都是自己画的,如果能够有助于你的理解,请点个赞收藏一下~~ 目录 对称加密 非对称加密算法  数字签名和CA 证书的信任链 根身份证和自签名   对称加密的一方(比如小蓝)

    2023年04月08日
    浏览(28)
  • 数字证书:签名证书&加密证书

    数字证书是基于认证机构(可信第三方)实现的,若不懂请复习PKI相关知识,我国为了加强对数据机密性的管控,采用双证书体系(签名证书加密证书),签名密钥对由用户自己产生,而加密密钥对则是由KMC(密钥管理中心)生成。 ———————————————————

    2024年02月08日
    浏览(33)
  • Java - 数字签名与数字证书

    SSL是一种安全协议,用于在网络传输中提供数据加密、身份验证和完整性保护。它基于传输层协议(如TCP),并为其提供加密和安全功能。 对称加密和非对称加密 : 对称加密 :使用相同的密钥进行加密和解密。 非对称加密 :使用两个密钥:公钥用于加密,私钥用于解密。

    2024年01月24日
    浏览(29)
  • 安装软件和驱动程序需要微软数字签名无法安装?数字签名和数字证书区别

    1.安装软件和驱动程序需要微软数字签名无法安装 windows安装exe安装包时: 1.1  解决方法: 1.2           这个问题需要安装驱动补丁进行更新驱动操作,如:Windows6.1-sha2补丁.msu 1.3           这种属于签名问题,解决方法: 1..进入“控制面板”,查看方式为大图标,点击“

    2024年02月05日
    浏览(47)
  • python实现对称加密、数字签名、数字证书颁发

    一.开发目的: 理解开源密码库实现的基本架构,熟悉对称算法的加解密函数封装与调用,并能能够利用开源设计接口进行二次封装,并实现一个界面友好,功能正确的采用对称算法的文件加解密工具。 二.开发环境: 硬件环境: 处理器:Intel®Core™i5-1035G1 CPU @1.00GHz 1.19GHz2

    2024年02月13日
    浏览(27)
  • 一文看懂公钥、私钥、数字签名、数字证书

    好文章,记录下来!源文地址:What is a Digital Signature? (youdzone.com) 1.  鲍勃有两把钥匙,一把是公钥,另一把是私钥。 2.  鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。 3. 苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。

    2024年02月09日
    浏览(30)
  • 安全算法(三)消息验证码、数字签名和数字证书

    主要介绍了消息验证码、数字签名和数字证书三种加密方式。 消息认证码 消息认证码可以实现“认证”和“检测篡改”这两个功能。密文的内容在传输过程中可能会被篡改,这会导致解密后的内容发生变化,从而产生误会。消息认证码就是可以预防这种情况发生的机制。 假

    2024年01月22日
    浏览(33)
  • 计算机网络实验之加密、数字签名与证书

    1.对称加密 2.散列函数 3.非对称加密 4.数字签名 5.证书 2.1 对称加密 (1)安装 OpenSSL:登录阿里云服务器,输入命令:“yum install openssl openssl-devel -y”,结果如下图所示,OpenSSL安装成功。 图2.1-1 安装OpenSSL (2)创建lx.txt文件:输入“vi lx.txt”命令创建 lx.txt 文件,并写入“世

    2024年02月08日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包