19.系统知识-数字证书

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 19.系统知识-数字证书

密码学相关概念

明文(plain text):发送人、接受人和任何访问消息的人都能理解的消息。

密文(cipher text):明文消息经过某种编码后,得到密文消息。

加密(encryption):将明文消息变成密文消息。

解密(decryption):将密文消息变成明文消息。

算法:取一个输入文本,产生一个输出文本。

加密算法:发送方进行加密的算法。

解密算法:接收方进行解密的算法。

密钥(key):只有发送方和接收方掌握的消息

对称密钥加密(Symmetric Key Cryptography):加密与解密使用相同密钥。

非对称密钥加密(Asymmetric Key Cryptography):加密与解密使用不同密钥,分为公钥和私钥

非对称密钥加密(Asymmetric Key Cryptography):加密与解密使用不同密钥,分为公钥和私钥


对称加密算法

• 在对称加密算法中,加密使用的密钥和解密使用的密钥是相同的,加密和解密都是使用同一个密钥。

• 通信双方采用相同的密钥来加解密会话内容,即一段待加密内容,经过同一个密钥的两次对称加密后,与原

来的结果一样。

• 举例说明:

根据异或性质:

(A ⊕ B) ⊕ B = A A

得到如下加密方法,其中C为密文,P为明文,K是双方约定的常量,

C = P ⊕ K K

对应的解密方法则为:

P = C ⊕ K K

这就是一种简单的对称密钥算法的过程,其中异或操作是对称加密、解密算法,K则是密钥

非对称加密算法

• 非对称加解密算法的密钥是成对出现的,公钥加密过的密文只有对应的私钥能解密;私钥签名过的密文可以

通过对应的公钥验签。原则上私钥是不能在网络中传递的。

• 双方通信时,首先要将密钥对中的公钥传给对方,这个密钥可以在不安全的信道中传输;传输数据时,先使

用自己持有的密钥做加密,对方只能用自己传输过去的密钥解密。

• 举例说明:

其中C表示密文,P表示明文,x是公钥,y是私钥,

并假设 xy= 1,则有下加解密方法

加密小游戏-第一回合

“小客”->“小服”:你好

“小服”->“小客”:你好,我是小服

因为消息是在网络上传输的,有人可以冒充自己是“小服”来向小客发送信息。所以会出现下面的情况:

“小客”->“黑客”:你好 // 黑客在“小客”和“小服”之间的某个路由器上截获“小客”发给小服的信

息,然后自己冒充“小服”

“黑客”->“小客”:你好,我是小服

“小客”在接到消息后,并不能肯定这个消息就是由“小服”发出的,某些“黑客”也可以冒充“小服”发出

这个消息。

那么如何确定信息是由“小服”发过来的呢?

加密小游戏-第二回合

“小客”->“小服”:你好

“小服”->“小客”:你好,我是小服

“小客”->“小服”:向我证明你就是小服

“小服”->“小客”:你好,我是小服 {你好,我是小服}[私钥|RSA]

//{你好,我是小服}[私钥|RSA] 表示用私钥对“你好,我是小服”进行加密后的结果。

为了向“小客”证明自己是“小服”,“小服”把一个字符串用自己的私钥加密,然后发送明文+加密后的密文一

起发给“小客”。

“小客”收到信息后,用自己持有的公钥把 {你好,我是小服}[私钥|RSA] 这个内容用公钥进行解密,然后将解密的

内容和“你好,我是小服”对比。

因为“小服”用私钥加密后的内容,只能由公钥进行解密,私钥只有“小服”持有,所以如果解密出来的内容是能

够对得上的,那说明信息一定是从“小服”发过来的。

加密小游戏-第三回合

“小客”->“小服”:你好

“小服”->“小客”:你好,我是小服

“小客”->“小服”:向我证明你就是小服

“小服”->“小客”:你好,我是小服 {你好,我是小服}[私钥|RSA]

“小客”->“小服”:{我的帐号是aaa,密码是123,把我的余额的信息发给我看看}[公钥|RSA]

“小服”->“小客”:{你的余额是100元}[私钥|RSA]

注意上面的的信息 {你的余额是100元}[私钥|RSA],这个是“小服”用私钥加密后的内容。

我们之前说了,公钥是发布出去的,因此所有的人都知道公钥。所以除了“小客”,其它的人也可以用公钥对

{你的余额是100元}[私钥|RSA]进行解密。因此这个信息是无法保密的;

在实际的应用过程,一般是通过引入对称加密来解决这个问题,看下面的演示:

加密小游戏-第四回合

“小客”->“小服”:你好

“小服”->“小客”:你好,我是小服

“小客”->“小服”:向我证明你就是小服

“小服”->“小客”:你好,我是小服 {你好,我是小服}[私钥|RSA]

“小客”->“小服”:{我们后面的通信过程,用对称加密来进行,这里是对称加密算法和密钥}[公钥|RSA] //红色字

体的部分是对称加密的算法和密钥的具体内容,小客把它们发送给小服。

“小服”->“小客”:{OK,收到!}[密钥|对称加密算法]

“小客”->“小服”:{我的帐号是aaa,密码是123,把我的余额的信息发给我看看}[密钥|对称加密算法]

“小服”->“小客”:{你的余额是100元}[密钥|对称加密算法]

“小客”在确认了“小服”的身份后,“小客”自己选择一个对称加密算法和一个密钥,把这个对称加密算法和密钥

一起用公钥加密后发送给“小服”。

对称加密算法和密钥是用公钥加密的,因此就算这个加密后的内容被“黑客”截获了,由于没有私钥,“黑客”也无

从知道对称加密算法和密钥的内容,这样可以保证只有小服可以知道对称加密算法和密钥。“小服”和“小客”就可

以用对称加密算法和密钥来加密通信的内容了。

加密小游戏-遗留问题

“小服”要对外发布公钥,那“小服”如何把公钥发送给“小客”呢?我们可能会想到以下两个方法:

a)把公钥放到互联网的某个地方的一个下载地址,事先给“小客”去下载

b)每次和“小客”开始通信时,“小服”把公钥发给“小客”

但是这个两个方法都有一定的问题:

对于a)方法,“小客”无法确定这个下载地址是不是“小服”发布的;另外要所有的“小客”都在通信前事先去下载

公钥也很不现实。

对于b)方法,也有问题,因为任何人都可以自己生成一对公钥和私钥,他只要向“小客”发送他自己的公钥就可以冒

充“小服”了。

证书概念

数字证书(”digital certificate”或“public key certificate”)是指在互联网通讯中标志通讯各方身份信息的一个数字认证,在网上用它来识别对方的身份。从本质上来说是一种电子文档,它的作用是证明某某东西确实是某某东西。

• CA( Certificate Authority )也叫“证书授权中心”。负责发放和管理数字证书的权威机构。一般来说,CA必须是所有行业和所有公众都信任的、认可的,因此它必须具有足够的权威性。

证书分类

按持有者分类 :

• 个人证书:CA中心给个人颁发的证书,仅代表个人身份,证书包含个人信息和个人公钥。

• 单位证书:CA中心给组织机构颁发的证书,代表机构的身份,包含机构单位的信息和单位公钥。

• 系统证书:CA中心给应用系统或者设备颁发的证书,代表系统的身份,包含系统的信息和系统的公钥。

按证书用途分类:

• 签名证书:签名证书只能用于签名和验证签名,为了密钥的安全,密钥对一般在小客端产生和保存。

• 加密证书:加密证书只能用于加密,其中密钥对由CA产生,通过保护算法和协议发送给用户保存,同时CA

中心也保存该密钥对,以备管理和恢复。

证书格式

证书有PEM和DER编码格式,其中PEM是采用Base64编码字符保存,DER格式采用二进制保存。

一张证书包含公钥与私钥,对应着非对称加密算法中用到的公私钥。通常用.crt后缀标识公钥,用.key标识私钥。

还有一种将公钥与私钥捆绑在一起的保存方法,后缀通常为.pfx(微软用)或者.p12。

证书内容

证书公钥中除了保存公钥内容以外,通常还有颁发者、

使用者、有效期、签名等信息。

证书私钥中有公私钥信息,全部的RSA算法参数

证书信任链

CA(Certificate Authority):数字证书认证中心的简称

根CA:处在信任链的顶端,其证书公钥默认导入各种操作

系统与浏览器中

中级CA:处于信任链中间,根CA或其他中级CA颁发的证

书,还能继续颁发子证书

个人:处在信任链末端,中级CA或根CA颁发的证书

证书之间的信任关系,是可以嵌套的。

比如,C 信任 A1,A1 信任 A2,A2

信任 A3......这个叫做证书的信任链。

只要你信任链上的头一个证书,那后

续的证书,都是可以信任的。

证书吊销列表

如果证书持有者一个不小心,将证书私钥给泄露了,这个时候他人就可以冒用其身份。

为了防止这种情况发生,各大CA都维护着一张CRL列表,里面标记了虽然还未过有效期,但已不能再使用的证书。

证书工作原理

“小服”在给“小客”发公钥的过程中,会把公钥以及

小服的个人信息通过Hash算法生成消息摘要;

为了防止摘要被人调换, “小服”还会用CA提供的私

钥对消息摘要进行加密来形成数字签名

并且,最后还会把原来没Hash算法之前的信息和数字签

名合并在一起,形成数字证书。

当“小客”拿到这份数字证书之后,就会用CA提供的公钥来对数字证书里面的数字签名进行解密得到消息摘要,然后对数字证书里面“小服” 的公钥和个人信息进行Hash得到另一份消息摘要,然后把两份消息摘要进行对比,如果一样,则证明这些东西确实是“小服” 的,否则就不是

SSL概念

SSL(Secure Sockets Layer 安全套接层)基于HTTPS下的一个协议加密层,它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能。SSL协议分为以下两层:

SSL记录协议层的作用是为高层协议提供基本的安全服务。SSL记录协议针对HTTP协议进行了特别的设计,使得超文本的传输协议HTTP能够在SSL运行。记录封装各种高层协议,具体实施压缩解压缩、加密解密、计算和校验MAC等与安全有关的操作。

SSL握手协议层包括SSL握手协议(SSL HandShake Protocol)、SSL密码参数修改协议(SSL

Change Cipher Spec Protocol)、应用数据协议(Application Data Protocol)和SSL告警协议

(SSL Alert Protocol)。握手层的这些协议用于SSL管理信息的交换,允许应用协议传送数据之前

相互验证,协商加密算法和生成密钥等。SSL握手协议的作用是协调小客和小服的状态,使双方能够达到状态的同步。

SSL单向认证

客户端验证服务器的过程

SSL双向认证

客户端和服务器相互认证的过程

 


相关文章
|
2月前
|
算法 安全 网络安全
国内外SSL证书较量:一站式全解析
本文探讨了国产SSL证书与国际SSL证书的区别,从加密算法、适用范围、性能、价格及本土化服务等多个角度进行了对比分析,指出两者各具优势,选择应基于网站的具体需求。
|
2月前
|
安全 数据建模 网络安全
OVSSL与DVSSL:一场关于信任与便捷的较量
OVSSL和DVSSL是SSL证书的两种类型,各有特点。DVSSL如同“宅男”,只需验证域名所有权,快速便宜,适合个人和小型网站。而OVSSL则像“暖男”,需验证企业和域名信息,提供更高信任度,适合企业官网和电商平台。选择哪种,取决于你的需求。
|
8月前
|
运维 监控 安全
|
8月前
|
存储 运维 安全
[隐私计算实训营笔记]第一课——数据可信流通,从运维信任到技术信任
本课以数据要素可信流通,重构技术信任体系为主题,介绍了信任四要素,以及其对应破环的原因,因此需要从运维信任走向技术信任的路线,并最终完成安全可信基础设施的融合布局。 感谢授课人韦韬老师~
|
算法 安全 物联网
JoySSL-新兴国产品牌数字证书
随着我国对数据安全重视程度的不断提升,国产SSL证书越来越受到广大政府机关和企业的青睐,成为提升网站数据安全能力的重要技术手段。那么什么是国产SSL证书?国产SSL证书和普通SSL证书又有什么区别呢?
129 0
JoySSL-新兴国产品牌数字证书
|
算法 安全 物联网
【物联网安全】 一篇文章讲透数字证书
数字证书是一种用于认证网络通信中参与者身份和加密通信的证书,人们可以在网上用它来识别对方的身份。而数字证书则可以很好地解决公钥分发的问题。 在密码技术中数字证书也被称为公钥证书或身份证书, 它是用来证实公钥持有者身份的电子文件。 证书中包主要含公钥的相关信息、 用户身份信息及来自发行者的数字签名。
699 0
 【物联网安全】 一篇文章讲透数字证书
|
Windows
开发笔记之数字证书(二):国内数字证书企业与行情介绍
开发笔记之数字证书(二):国内数字证书企业与行情介绍
开发笔记之数字证书(二):国内数字证书企业与行情介绍
|
存储 监控 安全
开发笔记之数字证书(一):数字证书介绍
开发笔记之数字证书(一):数字证书介绍
开发笔记之数字证书(一):数字证书介绍
|
大数据 云计算
阿里云大数据分析师认证是什么,apc证书含金量如何
阿里云大数据分析师认证也就是acp认证,这个认证是目前很火的一个认证,您如果想要考证,可以了解一下这个证书,目前大数据行业非常火,您如果想要转行,或者想要提升自己的能力,可以试一试这个证书,拿到这个证书之后,您一定能收到更好的公司邀约,快去试试吧。想要考证可以联系小编或者联系认证大使,我们可以帮助您快速考取证书,让您的职业生涯更上一层楼。
2066 0
阿里云大数据分析师认证是什么,apc证书含金量如何
|
Java Android开发 开发者
数字证书的要点:
数字证书的要点:
169 0

热门文章

最新文章