前言
最近ATF不是出了一个关于x509的漏洞吗?
我连ATF都不是很熟悉,更别提x509,想知道这个玩意对我们有没有影响。一查这玩意是个整数,寻思证书不是CA吗?嗯我又在丢人了,看到这个前言你就知道这是个小白普及知识点的文章。
x509
X.509是公钥基础设施(PKI)的标准格式。X.509证书就是基于国际电信联盟(ITU)制定的X.509标准的数字证书。X.509证书主要用于识别互联网通信和计算机网络中的身份,保护数据传输安全。X.509证书无处不在,比如我们每天使用的网站、移动应用程序、电子文档以及连接的设备等都有它的身影。
X.509证书的结构优势在于它是由公钥和私钥组成的密钥对而构建的。公钥和私钥能够用于加密和解密信息,验证发送者的身份和确保消息本身的安全性。基于X.509的PKI最常见的用例是使用SSL证书让网站与用户之间实现HTTPS安全浏览。X.509协议同样也适用于应用程序安全的代码签名、数字签名和其他重要的互联网协议。
CA
Certification authority (CA):被信任的证书颁发机构,负责创建公钥证书和提供数字签名。
CA certificate: 一个CA的公钥证书,可以是自己发给自己的,也可以来自别的CA。
所谓CA(Certificate Authority)认证中心,即采用PKI(Public Key Infrastructure)公开密钥基础架构技术,专门提供网络身份认证服务的机构。CA可以是民间团体,也可以是政府机构。CA负责签发和管理数字证书,且具有权威性和公正性,它的作用就像我们现实生活中颁发证件的公司,如护照办理机构。
根CA信任模型
面对全球这么广泛的用户,仅仅一个CA显然不够。PKI引入“信任模型”,用于描述和分析同一CA管理域内部或不同CA管理域之间信任关系的建立和传递过程。PKI信任模型主要采用根CA信任模型,也称作严格层次信任模型。
小结-两者关系
两个什么关系,CA是一个宏观的概念,实现起来,要follow一个标准。这个标准是x509。 X.509是一种非常通用的证书格式
CA服务器是一个应用程序,他从技术上实现符合PKI和X509等相关证书的签发和管理功能。
证书分为CA证书和用户证书
证书的封装类型
- a.X509证书
X509证书包含的内容主要是用户信息、证书序列号、签发者、有效期、公钥、其他信息及CA的数字签名。 - b.PKCS#12证书
- c.PKCS#7证书
关键词
- TLS:传输层安全协议 Transport Layer Security的缩写
- SSL:安全套接字层 Secure Socket Layer的缩写
- TLS:与SSL对于不是专业搞安全的开发人员来讲,可以认为是差不多的,这二者是并列关系
- KEY:通常指私钥。
- CSR:是Certificate Signing Request的缩写,即证书签名请求,这不是证书,可以简单理解成公钥,生成证书时要把这个提交给权威的证书颁发机构。
- CRT:即 certificate的缩写,即证书。
- X.509:是一种证书格式,对X.509证书来说,认证者总是CA或由CA指定的人,一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息。X.509的证书文件,一般以.crt结尾,根据该文件的内容编码格式,可以分为以下二种格式:
- PEM - Privacy Enhanced Mail,打开看文本格式,以"-----BEGIN…"开头, "-----END…"结尾,内容是BASE64编码,Apache和*NIX服务器偏向于使用这种编码格式。
- DER - Distinguished Encoding Rules,打开看是二进制格式,不可读,Java和Windows服务器偏向于使用这种编码格式。
- OpenSSL 相当于SSL的一个实现,如果把SSL规范看成OO中的接口,那么OpenSSL则认为是接口的实现。接口规范本身是安全没问题的,但是具体实现可能会有不完善的地方,比如之前的"心脏出血"漏洞,就是OpenSSL中的一个bug。
后续如果涉及到对应的证书和规范再进行深入的学习。
参考链接:
http://www.yunweipai.com/4540.html
推荐一个X509证书详解的blog【X509证书详解】