Http协议大家都不陌生了,但是http的请求内容都是明文的内容,如果被拦截了请求,就能看到你的请求内容,比如账号密码之类的,这样的话就是不安全的,

然后就有了http+SSL/TLS =https ,在http的基础之上对内容进行加密,这样就能保证内容的安全性,但是如何加密呢?

加密大致可分为两种对称加密和非对称加密:

对称加密:加密的时候用密钥A,解密的时候还是需要密钥A

非对称加密:这个是一堆密钥对,比如公钥和私钥,公钥加密的内容只能私钥解密,私钥加密的内容只能公钥解密

对称密钥加密流程

我们考虑一下如果我们选择对称加密,这样好不好?当然不好了,你想一下在服务端能解密你客户端的加密内容的时候肯定要知道加密的密钥,那服务端怎么知道呢?当然是客户端要告诉服务端了呀,因为是对称加密,没有客户端加密的密钥,服务端是没法解密的,但是这就有问题了,只要服务端能接收到密钥,别人就有可能拦截到,拿到这个密钥,这样的话加密还有什么意义呢?

黑客入侵监听对称加密

在第3步,服务端和黑客都能拿到你的对称密钥,然后在以后的流程中,所有的信息,黑客都能通过对称加密密钥解密。

我们考虑一下,最大的问题是对称密钥加密和解密是一样的,那如果我们的加密和解密密钥不一致呢?这样不就好了?也就是我们的非对称加密。

非对称密钥加密流程

这就是使用非对称加密的大致流程,但是可能会有人问为什么要还要使用对称加密非对称加密不就行了?这个是因为对称加密的效率更高,所以使用非对称加密来确定对称加密的密钥,然后再通过对称加密的方式通讯。

到这里我们可以总结到:

  1. http通讯是不安全的,存在信息劫持,篡改的风险。
  2. https是加密传输,是信息安全的,在介绍https加密的时候我们首先介绍的是对称加密,但是在对称加密的过程中容易出现加密密钥被劫持的风险,因此我们采用了非对称加密的算法解决上面存在的问题,
  3. 因此,https是集对称加密和非对称加密同时存在的一种加密通讯方式。

但是上面这种方式就是安全的??????如果你觉得是安全的那你指定不适合做一个很帅很酷很神秘的黑客。

黑客破解非对称加密通讯

看到了嘛?像夫妻一样,如果有了小三可还行?

数字证书和数字签名

上面说到我们在进行服务器和客户端进行确定使用的非对称加密的时候,我们的密钥可能会被窃取,那如果我们避免直接两者通讯告知,而是找一个可信的第三者哪里去的到呢?这样不就行了?于是我们使用数字证书签发机构(CA)颁发的证书来保证非对称加密过程本身的安全,然后再通过非对称加密这样的机制协商出一个对称加密的算法,然后双方通过对称加密解密要传输的内容,从而解决了客户端和服务器端之间的通信安全问题。

数字签名和数字证书的区别是什么?数字证书是由权威机构CA证书授权中心发行的,能提供在Internet上进行身份验证的一种权威性电子文档。而数字签名是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。对于数字签名和数字证书的运用原理,相信有不少朋友还不清楚,下文将为大家解疑答惑。

数字签名和数字证书原理

1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥。

2. 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。

3. 苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。

4. 鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。

5. 鲍勃给苏珊回信,决定采用“数字签名”。他写完后先用Hash函数,生成信件的摘要(digest)。

6. 然后,鲍勃使用私钥,对这个摘要加密,生成“数字签名”(signature)。

7. 鲍勃将这个签名,附在信件下面,一起发给苏珊。

8. 苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。

9. 苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。

10. 复杂的情况出现了。道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊实际拥有的是道格的公钥,但是还以为这是鲍勃的公钥。因此,道格就可以冒充鲍勃,用自己的私钥做成“数字签名”,写信给苏珊,让苏珊用假的鲍勃公钥进行解密。

11. 后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找“证书中心”(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成“数字证书”(Digital Certificate)。

12. 鲍勃拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。

13. 苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明“数字签名”是否真的是鲍勃签的。

应用

下面,我们看一个应用"数字证书"的实例:https协议。这个协议主要用于网页加密。

1. 首先,客户端向服务器发出加密请求。

2. 服务器用自己的私钥加密网页以后,连同本身的数字证书,一起发送给客户端。

3. 客户端(浏览器)的“证书管理器”,有“受信任的根证书颁发机构”列表。客户端会根据这张列表,查看解开数字证书的公钥是否在列表之内。

4. 如果数字证书记载的网址,与你正在浏览的网址不一致,就说明这张证书可能被冒用,浏览器会发出警告。

5. 如果这张数字证书不是由受信任的机构颁发的,浏览器会发出另一种警告。

6. 如果数字证书是可靠的,客户端就可以使用证书中的服务器公钥,对信息进行加密,然后与服务器交换加密信息。

以上,是为大家分享的“数字签名和数字证书使用原理”的全部内容,如果用户遇到的问题不能解决,可通过wosign官网客服寻求帮助,凡是选择wosign ssl证书的网站用户,wosign可提供免费一对一的ssl证书技术部署支持,免除后顾之忧。

数字签名、数字证书、电子签名

➤  数字签名

数字签名是电子签名技术最底层的基础技术,基于非对称密钥加密技术与数字摘要技术生成。包含电子文件信息以及发送者身份的数字串,用于鉴别发送者身份以及发送信息是否被篡改。数字签名包含了电子文件数字摘要、发送者公钥和私钥三部分内容:数字摘要用于确定文件信息的完整性,公钥用于身份识别。

关于数字签名的基本原理和流程见:《数字签名的基本原理》。

➤  数字证书

▌数字证书的作用:由权威的第三方CA机构颁发的网络身份证书。

在以上数字签名技术通过签署者公钥和私钥互相加解密来进行身份验证的,但其问题在于仅能验证公钥和私钥的拥有者为同一个人,但无法对互联网环境下拥有者的真实身份进行验证。而数字证书的作用就在于由权威的第三方机构(数字证书机构)对用户的真实身份信息审核后提供绑定证书持有者身份信息的公钥和私钥。用户可通过公开的数字证书查看公钥持有者身份。

▌数字证书的原理

数字证书的生成其实也是基于数字签名技术,只是签署着由难以验证身份的个体变为权威的第三方CA机构。CA机构用其私钥对 “证书持有者信息+证书信息+证书持有者公钥”形成的数字摘要进行加密后生成数字证书。

也就是说在附加了数字证书之后的数字签名需要进行两次解密,接受者先通过CA机构提供证书公钥对解密,查看证书持有者的信息并获得数字签名持有者的公钥,再用该公钥对数字签名进行解密读取文件摘要。

➤  电子签名

电子签名并不是一个简单的符号或图章形式,更多情况下是一种法律概念,即只有满足一定条件形成数据电子文件才具有法律效益,成为可靠电子签名。可靠电子签名的实现依赖于数字签名技术和数字证书身份认证,但在以上条件下还需要辅助身份验证、时间戳认证等技术。关于什么是可靠电子签名及其构成要素见:《电子签名有效吗》。

总的来说,数字签名是实现文件加密和身份认证的一种最基础的技术手段;数字证书是在此基础上由第三方权威机构提供的用于网络用户身份认证的服务;电子签名才是最终的应用目的,基于数字签名和数字证书,再辅助身份验证手段和时间戳证书服务,最终成为被法律认可的等同于纸质签名的数据文件。

了解了上面的基本概念之后,在这里汇总一下流程:

  1. 服务端向CA机构申请数字证书,CA机构签发证书,

    1. 证书持有者的个人信息+证书信息+证书持有者的公钥——>CA签发机构的私钥=数字证书
  2. 服务端再发送内容的时候,比如发送ABC
    1. Hash算法+ABC——>数字摘要+服务端的私钥——>数字签名
    2. 数字证书+数字签名+ABC——>发送内容
  3. 客户端接收到以后,
    1. 先去浏览器的CA证书列表验证数字证书的可用性,比如真伪,是否过期等
    2. 如果可信,就用对应的CA机构的公钥解密数字证书从而获取服务端的公钥,
    3. 然后通过服务端的公钥解密数字签名获取数字摘要,
    4. 然后通过相同的hash算法处理ABC得到数字摘要,
    5. 然后通过两个数字摘要进行对比就能确定内容是否被篡改过。

万事开头难,后面的内容就不用说了吧........

以上部分内容照抄如下:

电子签名、数字签名、数字证书在电子合同中的作用介绍_企业服务汇

数字签名和数字证书的原理解读(图文) - 沃通SSL证书!

部分参考如下:

https://blog.51cto.com/11883699/2160032

干货 | 图解 https 单向认证和双向认证!_大马猴JAVA学习的博客-CSDN博客_https双向

关于数字证书,数字签名,CA证书,Https都在这里了相关推荐

  1. 基于 OpenSSL 生成自签名证书,数字签名,泛域名证书,ca证书,PKI等

    基于 OpenSSL 生成自签名证书_qhh0205-CSDN博客_openssl自签名证书 windows 下 nginx 双向认证自签名证书配置 windows 下 nginx 双向认证自签名证书 ...

  2. Autosar之自签名证书与CA证书

    文章目录 一.安全传输 1.框架 2.如何实现传输安全? 3. 对称加密和非对称加密的区别? 4.伪随机数和真随机数 5.数字签名 -- 验证完整性 & 认证数据来源 6.为什么使用摘要算法的 ...

  3. 服务器证书和CA证书一样吗?

    什么是服务器证书?服务器证书和CA证书一不一样?服务器证书有什么用?本文将主要为大家介绍服务器证书的相关知识. 一.服务器证书是什么意思? 服务器证书是SSL数字证书的一种形式,意指通过提交数字证书来 ...

  4. 【计算机网络】网络安全 : 公钥分配 ( 公钥使用者 | 公钥分配 | CA 证书格式 | CA 证书吊销 )

    文章目录 一.公钥使用者 二.公钥分配 三.CA 证书格式 四.CA 证书吊销 一.公钥使用者 公钥密码体质中 , 用户的公钥也不能随意的公布 , 公钥无法防止伪造 , 欺骗 , 接收者无法确认公钥使 ...

  5. 微信企业支付 服务器根证书,微信支付服务器证书根ca证书有什么用

    随着现如今网络的不断发展,我们的生活跟网络密不可分,现在到处充斥着手机消费,只要你手机上有微信.支付宝不管到哪里都可以买你想买的东西,钱包已经在家里闲置多时.手机支付给我们的生活带来便利的同时也会伴随 ...

  6. fiddler证书生成ca证书命令及抓包配置

    fiddler证书生成ca证书命令 下载OpenSSL fiddler配置https fiddler导出证书 将文件直接放到openssl的bin目录下 执行cmd命令生成ca证书 将证书放到andr ...

  7. ROOT证书、CA证书和使用CA签发的X.509证书

    简介 日常开发中,我们程序员不怎么会接触证书相关的问题,对信息安全领域相关的内容知之甚少.因为平时主要实现的业务很少要直接面向底层的通信,也就很少关注这证书这样的知识.在一般情况下,我们仅仅只是在使用 ...

  8. eap wifi 证书_用openssl为EAP-TLS生成证书(CA证书,服务器证书,用户证书)

    我用的是openssl-1.0.2k. 脚本支持生成RSA,ECC证书. 运行时带参数指定类型. -->开始.按以下路径建立文件,脚本.ssl_create-cert-v0.4.7z ssl_c ...

  9. 公钥 私钥 数字签名 CA证书

    加密 简单来说分为两种,对称加密和非对称加密. 对称加密 加密和解密用的是同一个秘钥,在对称加密算法中常用的算法有:DES.3DES.TDEA.Blowfish.RC2.RC4.RC5.IDEA等.这 ...

  10. php 微信 ca证书出错,CA证书出错,请登录微信支付商户平台下载证书

    senparclsx 14 个回复 • 查看 137 次 • 39天前 magiboy 11 个回复 • 查看 249 次 • 78天前 花看半开丶 9 个回复 • 查看 265 次 • 98天前 花 ...

最新文章

  1. Android Studio 的安装笔记
  2. vue项目如何部署到Tomcat中
  3. 补天白帽大会:无处不在的无线电攻击
  4. logstash配置文件
  5. [1.1]XMI 与UML结合开发企业应用中业务模型
  6. 用 .NET 3.5 创建 ToJSON() 扩展方法
  7. 联想小新13pro锐龙版网卡_4499元诠释极致性价比 联想小新Pro 13标压锐龙版上手...
  8. Pytorch中Conv2d的使用
  9. 二阶魔方万能还原公式_2阶魔方教程简单口诀(二阶魔方还原公式口决是什么?)...
  10. c语言中char与static
  11. H3C新华三笔记本FN键锁定
  12. nyoj-366 D的小L
  13. Uva 11584 线性DP
  14. ant design vue table 高度自适应_很受欢迎的vue前端UI框架
  15. Cacti使用安装详解
  16. 小程序集成网易云通信群聊功能Demo发布
  17. 关于市场上面各式各样的固码
  18. log4j2 在开发环境(win)和测试环境(win)下均可以输出日志,但在生产环境(linux)无日志输出
  19. 数据挖掘--Outlines
  20. Window7安装tensorflow整套环境详细流程

热门文章

  1. BitComet 0.90 ED下载功能的插件下载地址
  2. python笔迹识别_CVPR 2019笔迹识别论文:逆鉴别网络+八路Attention
  3. 计算机用户名及密码修改,电脑用户名是什么意思(怎么修改及设置用户名)
  4. 堆内存(7)——内存释放入口函数_lib_free
  5. 2021年总结 2022年展望
  6. php失物招领回复源码,失物招领系统 (1) - WEB源码|源代码 - 源码中国
  7. 如何来投放广告更赚钱
  8. MCNP运算及代码基础结构和可视化软件VISED的使用
  9. 越南造车IPO估值3800亿
  10. css单位vw vh,css3自适应布局单位vw,vh详解