数字证书相关的知识点

最近公司的项目需要使用到设备证书,之前也没有接触过。最近学习了一把,然后把一些学习内容总结下来。

一、定义和缩写

1、CA(Certificate Authority)

电子认证服务机构的简称。CA是网络身份认证的管理机构,是网上安全电子交易中具有权威和公证性的可信懒的第三方机构。CA为电子事务的各参与方签发标识其身份的数字证书,并对数字证书进行更新、撤销等一系列管理。

CA分为公有的CA和私有的CA

公有CA:公开的CA,一个知名的,可达的,全局(互联网),受信任的证书服务器,由一些专业的公司进行操作与维护,这些知名的公司有Verisign,Entrust,GlobalSign和Thawte。这类CA颁发机构,我们操作系统一般会内置了他们的根证书,所以通常情况下他颁发的证书,我们是无需再去安装根证书的。

私有CA:一个公司或者部门内部使用的证书服务器。优势就是免费和不受约束,劣势当然也非常突出,就是信任关系有限。如果出了你这个范围,其他用户都是对你不信任的,所以你所颁发的证书在其他用户的计算机是不认的。当然,除非他特意安装了你的根证书除外。

2、RA(Registration Authority)

注册机构的简称。RA是CA认证体系的对外服务机构,负责对数字证书进行资格审核,并决定是否同意给该申请者颁发数字证书,以及更新数字证书和撤销工作。

3、CRL(Certificate Revocation List)

数字证书撤销列表的简称。CRL中记录所有在原定失效日期到达之前被撤销的数字证书,供数字证书订户、依赖方在验证对方数字证书时查询使用,由CA周期性签发。CRL通常又被称为数字证书黑名单、数字证书废止列表等。内容通常包含列表签发者、发行日期、下次撤销列表的预订签发日期、被撤销的数字证书序号,并说明被撤销的时间与可能存在的理由。如下图:

在这里插入图片描述

4、OCSP(Online Certificate Status Protocol)

在线数字证书状态查询协议的简称,用于支持实时查询数字证书状态。功能和CRL类似,但优点比CRL要更好些。

5、数字证书

有时候直接称为证书。它是由证书认证机构签名的包含公开秘钥拥有者信息、公开秘钥、芊发者信息、有效期以及一些扩展信息的数字文件。它是用来标志和证明网络通信双方身份的数字信息文件,与司机驾照或者日常生活中的身份证相似。在网络上进行电子商务活动时,交易双方需要使用数字证书来表明自己的身份,并使用数字证书来进行有关交易操作。

在这里插入图片描述

注意:数字证书公钥持有者是谁?我该不该信任它的问题。它的作用就是用来帮助确认身份。

6、数字签名

采用密码技术对数据进行运算得到的附加在数据上的前面数据,或者是对数据所作的密码交换,用来确认数据来源及其完整性,防止被别人串改或者伪造。

说得简单点就是用户对明文的数据进行组装,然后通过散列码算法生成散列值,用户私钥私钥对散列值进行加密得到新的值,这个新的值就是数字签名。

6.1 数字签名的生成

在这里插入图片描述

数字签名是解决数据完整性验证、源认证问题

6.2 数字签名的验证过程

在这里插入图片描述

步骤:

1、用户1将重要的明文数据,按照与用户2预定好的规则组装好,使用与用户2预定好的散列算法对封装好的数据进行计算,生成散列值1

2、用户1使用私钥、使用非常对称加密算法(RSA),对散列值1进行加密,生成数字签名

3、用户1将数字签名和明文的信息封装成数据包,发给用户2.

4、用户2在数据包中提取数字签名,然后使用用户1分配的用户1公钥对书签签名进行解密,得到散列值1

5、用户2再在数据包中提取明文的信息,按照与用户1预定好的规则组装好,使用与用户1预定好的散列算法对封装好的数据进行计算,生成散列值2

6、用户2使用散列1和散列值2进行对比,如果散列值相同,数据是原数据,没有被串改过。

注意:

这个认证是存在一个安全隐患的,就是公钥的如果被公开后,只有持有公钥的人,都能够给去验证这个数据。无法保证公钥的持有者是谁的。

所以这种认证方式是不利于大规模传输公钥信息的。解决这个问题,那么就需要引用数字证书。

7、加密

对数据进行密码变换成密文的过程

8、加密证书

用于证明加密公钥的数字证书

9、签名证书

用于证明签名公钥的数字证书

10、 PKI(Public key Infrastrucature)

公开秘钥基础设施的简称。PKI为支持基于证书的公开秘钥算法计算的实现和运作的相关体系、组织、计算、操作和程序的集合。

PKI是一个服架构,需要支持大范围部署的基于公钥的技术,为证书颁发而推出的一系列软硬件措施、法律架构的支持。

CA和证书就是PKI其中的一部分。

其中CA类似于我们生活中的公安局,是一个受大家信任的第三方,它在一个网络中签名所有的公钥。

证书就类似于我们生活中的身份证,是一个被CA签名的文档,被绑定了名字和公钥。

身份证合不合法,是不是假的,过期没过期我们生活中可以去公安局要求出证明证实。在PKI系统中,我们的证书过期没过期,是不是伪造的,该不该信任它,我们就可以找CA帮鉴定。

11、私钥(Private key)

是一种不能开工、由持有者秘密保管的数字签名,用于创建数字签名、解密报文或者相应的公开秘钥一起加密机要文件。

12、公钥(Public Key)

可以开工的数字秘钥,用于验证相应的私钥签名报文,也可以用来加密报文、文件、由相应的私钥解密。

13、秘钥模块

实现密码运行功能的,相应独立的软件、硬件、固件或者组合

14、RSA算法

RSA是由Rivest、Shamir及Adelman所发明的一种公开秘钥加密算法,以数论的欧拉定律为基础,它的安全性依赖于大数的因数分解的困难性,算法长度越长,因数分解也就越困难。

15、X.509

X.509是ITU定制的X.500系列的目录标准的其中一个。它为公钥证书定义了一个框架。

二、PKCS 标准

The Public-Key Cryptography Standards (PKCS)是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。

公钥加密标准(Public Key Cryptography Standards, PKCS),此一标准的设计与发布皆由RSA信息安全公司所制定。
RSA信息安全公司旗下的RSA实验室为了发扬公开密钥技术的使用,便发展了一系列的公开密钥密码编译标准。只不过,虽然该标准具有相当大的象征性,也被信息界的产业所认同;但是,若RSA公司认为有必要,这些标准的内容仍然可能会更动。所幸,这些变动并不大;此外,这几年RSA公司也与其他组织(比较知名的有IETF、PKIX)将标准的制定通过standards track程序来达成。

PKCS简介
到1999年底,PKCS已经公布了以下标准:
PKCS#1:定义RSA公开密钥算法加密和签名机制,主要用于组织PKCS#7中所描述的数字签名和数字信封[22]。
PKCS#3:定义Diffie-Hellman密钥交换协议。
PKCS#5:描述一种利用从口令派生出来的安全密钥加密字符串的方法。使用MD2或MD5 从口令中派生密钥,并采用DES-CBC模式加密。主要用于加密从一个计算机传送到另一个计算机的私人密钥,不能用于加密消息。
PKCS#6:描述了公钥证书的标准语法,主要描述X.509证书的扩展格式。
PKCS#7:定义一种通用的消息语法,包括数字签名和加密等用于增强的加密机制,PKCS#7与PEM兼容,所以不需其他密码操作,就可以将加密的消息转换成PEM消息,文件扩展名.p7b,.p7c。PKCS#7是一个封装数据的标准,在一个PKCS#7里边可以,可以放置一个用户证书和颁发机构的根证书链
PKCS#8:描述私有密钥信息格式,该信息包括公开密钥算法的私有密钥以及可选的属性集等。
PKCS#9:定义一些用于PKCS#6证书扩展、PKCS#7数字签名和PKCS#8私钥加密信息的属性类型。
PKCS#10:描述证书请求语法。文件扩展名.csr
PKCS#11:称为Cyptoki,定义了一套独立于技术的程序设计接口,用于智能卡和PCMCIA卡之类的加密设备。
PKCS#12:用于在一个单一文件中交换公共和私有对象,它包含证书和关联的私钥。它提供了一个加密的机制,因此私钥是能够被保护的。文件扩展名.p12,.pfx
PKCS#13:椭圆曲线密码体制标准。
PKCS#14:伪随机数生成标准。
PKCS#15:密码令牌信息格式标准。
在表格中展示如下:

PKCS标准汇总
版本 名称 简介
PKCS #1 2.1 RSA密码编译标准(RSA Cryptography Standard) 定义了RSA的数理基础、公/私钥格式,以及加/解密、签/验章的流程。1.5版本曾经遭到攻击。
PKCS #2 - 撤销 原本是用以规范RSA加密摘要的转换方式,现已被纳入PKCS#1之中。
PKCS #3 1.4 DH密钥协议标准(Diffie-Hellman key agreement Standard) 规范以DH密钥协议为基础的密钥协议标准。其功能,可以让两方通过金议协议,拟定一把会议密钥(Session key)。
PKCS #4 - 撤销 原本用以规范转换RSA密钥的流程。已被纳入PKCS#1之中。
PKCS #5 2.0 密码基植加密标准(Password-based Encryption Standard) 参见RFC 2898与PBKDF2
PKCS #6 1.5 证书扩展语法标准(Extended-Certificate Syntax Standard) 将原本X.509的证书格式标准加以扩充。
PKCS #7 1.5 密码消息语法标准(Cryptographic Message Syntax Standard) 参见RFC 2315。规范了以
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值