(1)报文鉴别:接收方需要确信该报文时发送方发送的,别人无法伪造签名
(2)报文的完整性:确认收发报文一致
(3)不可否认:发送者事后不可对自己发送的报文否认
1. 数字签名的实现:
- 上述流程:仅仅实现了签名和核实签名。
A用私钥加密--->通过D运算(叫做签名)----->生成密文---->B收到密文---->通过A的公钥--->通过E运算(验签)--->得到明文
- B认为仅有A拥有A的私钥,所以B认为这个消息就是A发的,这就是报文鉴别
- 若A要否认自己发了这个报文,于是B可把明文X和密文Dsk发给第三方机构,第三方机构可证明这个确实是给B的,这就是不可否认
2. 具有保密性的数字签名
- 为了防止出现:B用户拥有A的公钥,B伪装成C发送报文到A,有一个认证中心CA:CA是用来绑定具体的设备与公钥---->设备会拿到CA证书:里面拥有公钥,拥有者的标识符(IP或者人名)
- 证书 = 公钥 + 数字签名
1. 证书的应用场景:
数字证书及CA详解_盐水煮毛豆的博客-CSDN博客_ca证书文章目录1. 证书1.1 证书的应用场景1.2 证书标准规范X.5091.2.1 证书规范1.2.2 证书格式1.2.3 CA证书1.3 公钥基础设施(PKI)1.3.1 什么是公钥基础设施1.3.2 PKI的组成要素用户认证机构(CA)仓库1.3.3 各种各样的PKI2.Fabric - ca2.1 简介2.2 基本组件2.3 安装2.4 初始化&快速启动2.5 服务端配置文件解析2.6...https://blog.csdn.net/lk2684753/article/details/100160856?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165889436316782425122649%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165889436316782425122649&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-3-100160856-null-null.185^v2^control&utm_term=CA%E8%AF%81%E4%B9%A6%E6%8B%BF%E5%88%B0%E7%9A%84%E6%B5%81%E7%A8%8B&spm=1018.2226.3001.4450
- Bob生成密钥对:Bob生成了一对公钥和私钥
- Bob在认证机构Trent注册自己的公钥:(1)Bob则将公钥发送给了认证机构Trent (2) 确认所收到的公钥是否为Bob本人所有
- 认证机构Trent用自己的私钥对Bob的公钥施加数字签名并生成证书
- Alice得到带有认证机构Trent的数字签名的Bob的公钥(证书)
- Alice使用认证机构Trent的公钥验证数字签名,确认Bob的公钥的合法性
- Alice用Bob的公钥加密消息并发送给Bob
- Bob用自己的私钥解密密文得到Alice的消息
1,2,3不会每次都用
2. 证书标准
- 版本号(Version Number):规范的版本号,目前为版本3,值为0x2;
- 序列号(Serial Number):由CA维护的为它所发的每个证书分配的一的列号,用来追踪和撤销证书。只要拥有签发者信息和序列号,就可以唯一标识一个证书,最大不能过20个字节;
- 签名算法(Signature Algorithm):数字签名所采用的算法,如:
sha256-with-RSA-Encryption
ccdsa-with-SHA2S6;
- 颁发者(Issuer):发证书单位的标识信息,如 ” C=CN,ST=Beijing, L=Beijing, O=org.example.com,CN=ca.org。example.com ”;
- 有效期(Validity): 证书的有效期很,包括起止时间。
- 主体(Subject) : 证书拥有者的标识信息(Distinguished Name),如:" C=CN,ST=Beijing, L=Beijing, CN=person.org.example.com”;
- 主体的公钥信息(SubJect Public Key Info):所保护的公钥相关的信息:
- 公钥算法 (Public Key Algorithm)公钥采用的算法;
- 主体公钥(Subject Unique Identifier):公钥的内容。
- 颁发者唯一号(Issuer Unique Identifier):代表颁发者的唯一信息,仅2、3版本支持,可选;
- 主体唯一号(Subject Unique Identifier):代表拥有证书实体的唯一信息,仅2,3版本支持,可选:
- 扩展(Extensions,可选): 可选的一些扩展。中可能包括:
Subject Key Identifier:实体的秘钥标识符,区分实体的多对秘钥;
Basic Constraints:一指明是否属于CA;
Authority Key Identifier:证书颁发者的公钥标识符;
CRL Distribution Points: 撤销文件的颁发地址;
Key Usage:证书的用途或功能信息。
- 此外,证书的颁发者还需要对证书内容利用自己的私钥添加签名, 以防止别人对证书的内容进行篡改。
3 CA证书
CA是Certificate Authority的缩写,也叫“证书授权中心”。
CA 证书,顾名思义,就是CA颁发的证书。
证书信任链
1. 比如,C 信任 A1,A1 信任 A2,A2 信任 A3…这个叫做证书的信任链。只要你信任链上的头一个证书,那后续的证书,都是可以信任滴。
假设 C 证书信任 A 和 B;然后 A 信任 A1 和 A2;B 信任 B1 和 B2。则它们之间,构成如下的一个树形关系(一个倒立的树)。
2. 最顶上的树根位置的那个证书,就是“根证书”
4 公钥基础设施 (PKI)
公钥基础设施(Public-Key infrastructure)是为了能够更有效地运用公钥而制定的一系列规范和规格的总称。公钥基础设施一般根据其英语缩写而简称为PKI。
注册公钥的用户所进行的操作(公钥注册者)
- 生成密钥对(也可以由认证机构生成)
- 在认证机构注册公钥(用户Bob把公钥给认证机构)
- 向认证机构申请证书
- 根据需要申请作废已注册的公钥
- 解密接收到的密文
- 对消息进行数字签名
使用已注册公钥的用户所进行的操作(公钥使用者)
- 下载带Bob公钥的证书
- 验证数字签名
- 拿到Bob的公钥
- 之后Alice拿到Bob的公钥,加密给Bob发消息,Bob用公钥解密
3. 报文摘要