美文网首页
数字证书的理解

数字证书的理解

作者: 今後次 | 来源:发表于2017-07-04 07:17 被阅读78次

前记

有段时间处理了一个关于软件SHA1和SHA2版本和服务器使用的证书加密方式之间关系的案件。不是很懂,于是静下心来认真学习了一下关于数字证书的知识。整理了这篇文章。

发明这个技术是为了解决什么问题

以现实生活中网上购物为例。
1:伪装
有人伪造一个amazon网站,骗取客户下单,然后取得客户的钱,信用卡信息,住址等等信息
2:篡改
客户访问了正确的amazon网站,但是下单给amazon的途中下单信息被修改了
3:偷听
客户访问了正确的amazon网站,把下单信息正确传递给了amazon,但是下单内容被别人窃听
4:否认
→客户访问了正确的amazon网站,把下单信息正确传递给了amazon,也没有被别人窃听,商品也正确发送,但是客户对自己订单不认可。

怎么解决

数字证书(或者叫电子证书)

简单来说,对因为amazon(B2C中的B)和客户(B2C中的C)相互看不到,构建不了相互信任。所以,需要对双方都进行约束。另外amazon和客户之间的谈话内容,又不想让第3者听到,所以需要把谈话内容加密。

什么是数字证书?

由电子证书发行机构或者组织(简称CA)生成,放置于网站服务器,证明网站的合法性和加密通信用的cer文件。

电子证书里有什么?

  • 网站公开信息(网站名,国家,证书有效期等等)
  • 网站公钥
  • 依赖CA的电子签名算法(通常是SHA256)
  • 公开信息的信息摘要(指纹)经过CA加密后的密文。
  • 信息摘要算法

电子证书怎么生成?

  • 网站向合法的,已经被认可的CA机构申请。
  • 网站提供给CA必要的信息,CA通过一些手段确认网站没有信任问题
  • CA使用自己私钥(※1)电子签名(※2)网站信息,并打包成cer文件

※1
CA是提供给提出申请服务器数字证书的组织机构。
机构本身持有一对公钥和私钥。公钥和私钥本身就是成对的。
机构本身是需要浏览器和操作系统认可的。
CA的公钥会提前保存于浏览器的【受信任的根证书颁发机构】列表中。
这是事前准备工作,具体用途,在下面解释。普通用户并不需要特别关心。

※2


电子签名

网站提供给CA什么申请信息?

  • 网站公开信息(网站名,国家,证书有效期等等)
  • 网站公钥
  • 依赖CA的电子签名算法(通常是SHA256)
  • 信息摘要(指纹)
  • 信息摘要算法

电子证书怎么证明网站合法,已经保护通信?

证明网站合法

1:在浏览器里输入想访问的网址
2:经过DNS服务器,将访问发送给服务器
3:服务器把自己的证明书发给浏览器
4:浏览器根据本地的CA公钥,解析服务器证明书(证明书里有CA私钥加密过的密文,以及服务器信息)

电子签名后的证书验证

5:浏览器取得一个随机数(为以后加密通讯用),使用证书里服务器的公钥加密,传递给服务器
6:服务器使用自己的私钥解密
7:以后浏览器和网站服务器之间的通信,就使用这个随机数加密往来数据(对称加密)

什么是公钥和私钥?

这就涉及到加密方式。
■对称加密
加密和解密采用同一个密码。最常见和普通的加密方式。例如,zip加密,execl加密
算法有DES、3DES、AES

■非对称加密
加密和解密必须使用不同的密钥。
非对称加密是指用户有两个密钥,一个是公钥(publicKey),一个是私钥(privateKey)
公钥是公开的,任何人可以使用,私钥是保密的,只有用户自己可以使用,公钥和私钥是对应关系。
用户可以用对方的公钥加密信息,并传送给对方,对方使用自己的私钥将密文解开。
公私钥是互相解密的,而且绝对不会有第三者能插进来。
算法有RSA
→SHA1,SHA256

■单向加密
信息摘要。从文件中通过算法提取固定长度字符串的【指纹】。如果文件改动过,算出的【指纹】就会改变。
根据【指纹】不能还原文件内容
【指纹】往往比原文件小很多很多,便于传输。
算法有MD5,SHA-1,SHA256,TLS1.2

后记

纯文字描述,太难理解了。最好搭配找一些视频来看。

相关文章

  • 数字证书的理解

    前记 有段时间处理了一个关于软件SHA1和SHA2版本和服务器使用的证书加密方式之间关系的案件。不是很懂,于是静下...

  • kubernetes中的集群安全

    记录一些理解kubernetes安全、认证、授权的有用文章。 1 首先,理解什么是公钥,私钥,数字证书。https...

  • HTTPS TLS握手中客户端验证证书

    数字证书和CA机构 在说校验数字证书是否可信的过程前,我们先来看看数字证书是什么,⼀个数字证书通常包含了: 公钥...

  • https相关内容 及 nginx 配置 https

    1. 数字证书 数字证书就是“网络身份证”,用来在网络上证明数字证书持有者的身份。 2. 数字证书格式及转换 3....

  • 常用理解,RSA, 数字证书

    RSA算法的理解 1.RSA算法是目前最可靠的非对称加密算法,加密密钥和解密密钥不同,安全性比较高。2.RSA算法...

  • 数字证书

    数字证书(Certificate) 在HTTPS的传输过程中,有一个非常关键的角色——数字证书,所谓数字证书,是一...

  • Nginx配置Https单向、双向认证

    SSL相关概念及原料请参考OpenSSL 与 SSL 数字证书概念贴、SSL/TLS原理详解 为了便于理解,我们...

  • 证书管理系统开发

    1.数字证书格式 RFC 3280 规定了 X.509 数字证书的基本格式 X.509 数字证书结构 X.509 ...

  • 从零学习 CA 系列 (二) -- PKI 标准分类

    本文参考《PKI/CA 与数字证书技术大全》书籍,如有理解bug, 请大家指正。 PKI 标准 PKI 是 Pub...

  • CA、数字证书、数字签名

    本文介绍 CA、数字证书和数字签名的概念和原理。 目录 相关概念 数字签名 数字证书 公钥基础设施 数字证书认证机...

网友评论

      本文标题:数字证书的理解

      本文链接:https://www.haomeiwen.com/subject/wffecxtx.html