当前位置:   article > 正文

【证书知识】HTTPS、SSL、TLS、CA简要介绍_ca证书与tls证书

ca证书与tls证书

HTTPS、SSL、TLS三者之间的联系和区别

HPPTS是HTTP+SSL/TCP的简称
TLS就是SSL的新版本3.1

TLS/SSL是什么?

SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。

TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。

TLS/SSL是一种加密通道的规范,它们利用对称加密、公私钥不对称加密及其密钥交换算法,CA系统进行加密且可信任的信息传输

在HTTP SSL中常用的对称加密算法有RC4,AES,3DES,Camellia等

什么是证书?

  • “证书 – 为公钥加上数字签名”

公钥证书(Public-Key Certificate,PKC)其实和驾照很相似,里面记有姓名、组织、邮箱地址等个人信息,以及属于此人的公钥,并由认证机构(Certification Authority、Certifying Authority, CA)施加数字签名。只要看到公钥证书,我们就可以知道认证机构认定该公钥的确属于此人。公钥证书也简称为证书(certificate)。

CA证书 = 服务端公钥 + 认证机构的数字签名

证书的应用场景?

  1. A生成了一对公钥a.crt和私钥a.key。
  2. 认证机构B,用自己的私钥b.key对A的公钥a.crt施加数字签名并生成证书ca.crt。
  3. C使用认证机构B的公钥b.crt来验证B在ca.crt中数字签名,确定A的公钥的合法性。
  4. C用a的公钥加密的消息并发给A。

证书标准规范x.509

X.509标准定义了证书中应该包含哪些信息,并描述了这些信息是如何编码的(即数据格式)

一般来说,一个数字证书内容可能包括基本数据(版本、序列号) 、所签名对象信息( 签名算法类型、签发者信息、有效期、被签发人、签发的公开密钥)、CA的数字签名,等等。

证书规范

前使用最广泛的标准为ITU和ISO联合制定的X.509的 v3版本规范 (RFC5280), 其中定义了如下证书信息域:

版本号(Version Number):规范的版本号,目前为版本3,值为0x2;
Version: 3 (0x2)

序列号(Serial Number):由CA维护的为它所发的每个证书分配的一的列号,用来追踪和撤销证书。只要拥有签发者信息和序列号,就可以唯一标识一个证书,最大不能过20个字节;
Serial Number: 0 (0x0)

签名算法(Signature Algorithm):数字签名所采用的算法,如:sha256-with-RSA-Encryption,ccdsa-with-SHA2S6
Signature Algorithm: sha256WithRSAEncryption

颁发者(Issuer):发证书单位的标识信息,如 ” C=CN,ST=Beijing, L=Beijing, O=org.example.com,CN=ca.org。example.com ”;
Issuer: CN=etcd-ca

有效期(Validity): 证书的有效期很,包括起止时间。
Validity
    Not Before: Jun 18 02:25:38 2020 GMT
    Not After : Jun 16 02:25:38 2030 GMT

主体(Subject) : 证书拥有者的标识信息(Distinguished Name),如:" C=CN,ST=Beijing, L=Beijing, CN=person.org.example.com”;
Subject: CN=etcd-ca

主体的公钥信息(SubJect Public Key Info):所保护的公钥相关的信息:

   公钥算法 (Public Key Algorithm)公钥采用的算法;

   Public Key Algorithm: rsaEncryption

   主体公钥(Subject Unique Identifier):公钥的内容。

颁发者唯一号(Issuer Unique Identifier):代表颁发者的唯一信息,仅2、3版本支持,可选;

主体唯一号(Subject Unique Identifier):代表拥有证书实体的唯一信息,仅2,3版本支持,可选:

扩展(Extensions,可选): 可选的一些扩展。中可能包括:

  Subject Key Identifier:实体的秘钥标识符,区分实体的多对秘钥;
  Basic Constraints:一指明是否属于CA;
     CA:TRUE
  Authority Key Identifier:证书颁发者的公钥标识符;
  CRL Distribution Points: 撤销文件的颁发地址;
  Key Usage:证书的用途或功能信息。
此外,证书的颁发者还需要对证书内容利用自己的私钥添加签名, 以防止别人对证书的内容进行篡改。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

数字签名

数字签名就像一个人的指纹,也可以称为文件指纹,具有唯一性。

证书格式

X.509规范中一般推荐使用PEM(Privacy Enhanced Mail)格式来存储证书相关的文件。证书文件的文件名后缀一般为 .crt 或 .cer 。对应私钥文件的文件名后缀一般为 .key。证书请求文件的文件名后綴为 .csr 。有时候也统一用pem作为文件名后缀。

PEM格式采用文本方式进行存储。一般包括首尾标记和内容块,内容块采用Base64进行编码。

编码格式总结:
X.509 DER(Distinguished Encoding Rules)编码,后缀为:.der .cer .crt
X.509 BASE64编码(PEM格式),后缀为:.pem .cer .crt

而kubernetes的证书格式
私钥        .key
证书请求文件  .csr
证书        .crt
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

CA证书

  • CA颁发的证书

证书信任链

证书直接是可以有信任关系的, 通过一个证书可以证明另一个证书也是真实可信的. 实际上,证书之间的信任关系,是可以嵌套的。比如,C 信任 A1,A1 信任 A2,A2 信任 A3…这个叫做证书的信任链。只要你信任链上的头一个证书,那后续的证书,都是可以信任滴。

引用

数字证书及CA详解

一文看懂HTTPS、证书机构(CA)、证书、数字签名、私钥、公钥

数字签名是什么

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/208169
推荐阅读
相关标签
  

闽ICP备14008679号