第5章数字证书与PKI介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
❖这是因为通过共享秘密的方式只能在小范围内 实现认证,因为你不可能同时和很多人共享秘 密,而且与你共享秘密的人必须在以前有过某 种意义上的接触,否则你们怎么能够共享秘密 呢?
口令机制和数字证书的比较
❖ 而通过数字证书则能够实现证书持有者得到在大范围的 身份认证,而且不要求他曾经和认证方有过接触,只要 某人持有数字证书,就能够让所有以前与他从未有过接 触的实体认证他,这就像我们持有身份证可以在全国范 围内得到身份认证一样。
照片 签章
数字证书项目 主体名 序列号 相同 相同 发证机构 公钥 数字签名
如何建立主体与其公钥的关联的?
❖数字证书,是一个由使用数字证书的用户群所 公认和信任的权威机构(CA)签署了其数字签 名的信息集合。
❖主体将其身份信息和公钥以安全的方式提交给 CA认证中心,CA用自己的私钥对主体的公钥和 身份ID的混合体进行签名,将签名信息附在公 钥和身份ID等信息后,这样就生成了一张证书, 它主要由公钥、身份ID和CA的签名三部分组成,
数字证书
❖数字证书的概念: Kohnfelder于1978年提出的 ❖所谓数字证书,就是公钥证书,是一个包含有
用户身份信息、用户公钥以及一个可信第三方 认证机构CA的数字签名的数据文件 ❖提示:数字证书其实就是一个小的计算机文件
tang.cer
数字证书的直观概念
数字证书
我以官方名义正式 批准该证书持有者 (用户)与他的这 个公钥之间存在关 联。
有效期
主体的X.500名称
主体的 公钥信息
算法标识符 公钥值
认证机构的数字签名
认证机构的私钥 散列 生成数字签名
X.500目录系统简介
❖ 一个X.500目录由一系列目录项组成。每个目录项对应 一个现实世界中的对象。X.500每个对象都有一个无二 义性的名称,称为区别名(distinguished name, DN)。
❖ 随机数rA用于保证报文的时效性和检测重放攻击, 它在报文有效期内必须是唯一的,如果验证者 收到的报文中的随机数与以前收到的随机数是 相同的,就认为该报文是重放消息,
❖ B的身份标识IDB用于防止攻击者截获甲方发送 给其他方的认证消息,再转发给乙。
用数字证书进行身份认证的特点
❖既然身份认证可以通过口令(共享秘密)等方 式实现。那为什么还需要利用数字证书来进行 身份认证呢?
❖② 其次颁发证书的机构必须是某个可以信任的 权威机构,如果一家小店颁发身份证,即算这 个证书是真实的(确实是该小店颁发的),我 们也不会信任它
数字证书的验证过程
❖ (1)验证该数字证书是否真实有效。 ❖ (2)检查颁发该证书的CA是否可以信任 ❖如果验证者收到李四的数字证书,发现李四的
证书和他的证书是同一CA颁发的,则验证者可 以信任李四的证书,因为验证者信任自己的CA, 而且已经知道自己CA的公钥,可以用该公钥去 验证李四的证书 ❖ 但如果李四的数字证书是另一个CA颁发的,验 证者怎么验证颁发李四证书的CA是否可信呢? 这就要通过验证该证书的证书链来解决
❖利用数字证书进行身份认证的思路和监考老师 验证考生身份的过程很相似。首先验证申请者 的证书是否真实有效,然后再验证申请者是否 是该证书的拥有者
数字证书进行身份认证的方式
❖ ① 甲方产生一条数据消息M(该消息有固定的格式), 并用自己证书对应的私钥加密该消息,得到密文 ESKA(M);
❖ ② 甲方将自己的证书和密文ESKA(M)发送给乙方; ❖ ③ 乙方收到后,首先验证证书的真伪及有效性,验证过
证书的层次结构
根CA
二级CA(A1)
二级CA(A2) …… 二级CA(A3)
三级CA(B1)
三级CA(B2) ……
三级CA(B8)
三级CA(B9)
用户的证书
主体身份信息 主体公钥值 认证机构名
CA的签名
证书的路径
CA的证书
主体身份信息 主体公钥值 认证机构名
CA的签名
上级CA的证书
主体身份信息 主体公钥值 认证机构名
– RA要验证用户的身份信息,是否合法并有资格申请 证书,如果用户已经在该CA申请过证书了,则不允 许重复申请。
– 其次,必须检查用户持有证书请求中公钥所对应的私 钥,这样可表明该公钥确实是用户的
数字证书的验证过程
❖① 首先证书必须是真实的,而没有被篡改或伪 造。如果一张证书经验证发现是伪造的,我们 肯定不会信任它了。
信息
加密后信息
解密 对称密钥
+ +
发送方数字证书
数字摘要
比较
接收方的工作
解密
数字签名
发送方公开密钥
数字摘要
2024/7/17
电子商务安全与管理
30
数字证书进行身份认证的引例
❖监考老师验证考生身份
利用数字证书进行身份认证
❖监考老师验证考生身份过程通常分两步进行: – 第一步,验证考生的证件是否是真实的; – 第二步,如果证件是真实的,再验证该证件 是否是考生本人的(如通过比对容貌),防 止假人用真证。
某某CA认证中心 该CA的数字签名
数字证书
主体名:tang 公钥:tang的公钥 序列号:1069102 签发机构: CA
…… 有效起始日期:2010年7月7日 有效终止日期:2011年7月7日
某某CA认证中心 该CA的数字签名
数字证书和身份证的比较
身份证项目 姓名
身份证号 起始日期 终止日期 签发者
❖ 这种方式就称为X.509单向认证。
X.509认证三向认证的过程
(1) A{tA, rA, B, signData, EKUB(Kab)} A 甲方 (2) B{tB, rB, A, rA, signData, EKUA(Kab)}
B 乙方
(3) A{rB}
认证消息中各元素的作用
❖ 时间戳保护报文生成的时间和过期时间,主要 用于防止报文的延迟。
密文,得到信息和数字签名的混合体; ❖ ⑥ 乙方获取甲方的数字证书,并验证该证书有效后,就
用甲方证书中的公钥解密数字签名,得到一个消息摘要, 再对明文信息求消息摘要
提示
❖虽然数字证书里只包含了公钥,但数字证书必须 与其对应的私钥配合,才能实现各种功能。
❖数字证书和私钥的关系有点像锁和钥匙的关系
❖虽然锁里面没有包含钥匙,但是锁必须和钥匙配 合使用,一把没有了钥匙的锁是没有任何用处的。
图4.7 自签名证书
证书的交叉认证
❖ 如果A和B两方在不同的国家,他们的证书连根 CA都不相同,那他们怎样验证对方证书的颁发 机构是否可信呢?这就需要使用交叉证书 (Cross-certification)进行认证。
❖ 即根CA之间互相给对方颁发证书
❖ 提示:如果两个证书的根CA不相同,并且它们 的根CA之间也没有进行任何形式的交叉认证, 即这两个根CA之间没有任何联系,在这种情况 下双方是无法认证对方证书的有效性的,这时 只能由用户主观选择是否信任对方的证书。
第五章 数字证书
为什么需要数字证书
公钥技术存在的问题?
安全服务依赖于:
自己拥有秘密密钥
通信伙伴是否拥有你的公开密钥
通信伙伴采用你的公钥来核实你是否拥有秘密密钥 问题:
公钥如何管理:通信伙伴如何能肯定所使用的公钥是完整的?
公钥和身份如何建立联系:通信伙伴如何能肯定所使用的公 钥属于你?
如何提供数字签名功能
如何实现不可否认服务
2024年7月17日
2
为什么需要数字证书
❖公钥的分发虽然不需要保密,但需要保证公钥 的真实性
❖就好像银行的客服电话,虽然不需要保密,但 需要保证真实性
❖ 本章介绍的数字证书和公钥基础设施PKI就是为 了实现在公钥分发过程中确保公钥的真实性。
目录
❖5.1 数字证书 ❖5.2 数字证书的功能 ❖5.3 公钥基础设施PKI ❖5.4 个人数字证书的申请和使用
使用证书同时进行签名和加密
❖ ① 甲方准备好要传送给乙方的信息(明文); ❖ ② 甲对该信息进行Hash运算,得到一个消息摘要; ❖ ③ 甲用自己证书对应的私钥对消息摘要进行加密得到甲
的数字签名,并将其附在信息后; ❖ ④ 甲获取乙的数字证书,并验证该证书有效后,用乙方
证书中的公钥加密信息和签名的混合体; ❖ ⑤ 乙方收到加密的数据后,用自己证书对应的私钥解密
证书的生成原理
数字证书
主体身份信息 主体公钥值
认证机构名
认证机构的数字签名
认证机构的私 钥
散列 生成数字签 名
数字证书的生成过程
产生密钥
公钥
私钥 用户的计算机
主体名 证书
CA的公钥
签名
CA的私钥
CA的计算机
证书的生成过程
❖1. 密钥对的生成
– 用户可以使用某种软件随机生成一对公钥/私钥对
❖2. 注册机构RA验证
程包括用颁发该证书的CA的公钥验证证书的签名,再 验证证书链,有效期等,如前所述; ❖ ④ 证书验证通过后,乙方用甲方证书中的公钥解密密文 ESKA(M),如果解密成功,则表明甲方拥有该证书对应 的私钥,是该证书的拥有者,身份验证通过。
X.509单向认证
❖ 上述验证过程实现了用数字证书进行身份认证, 但不能抵抗重放攻击,攻击者可以截获消息 ESKA(M),过一会再重放给验证者。为了对抗重 放攻击,甲方产生的一条数据消息中应该有一 个时间戳tA、一个随机数rA以及B的身份标识 IDB
❖作为主体的身份证明
使用证书进行加密
❖① 甲方准备好要传送给乙方的信息(明文); ❖② 甲获取乙的数字证书,并验证该证书有效后,
用乙方证书中的公钥加密信息(密文); ❖③ 乙方收到加密的信息后,用自己证书对应的
私钥解密密文,得到明文信息。 ❖当然,如果明文数据量很大,可以结合数字信
封的方式来加密,即甲方只用公钥来加密一个 对称密钥,再用对称密钥加密明文信息。
❖相关概念
–认证路径
•交叉认证数字证书: 在认证过程中用到的由 一个认证机构对另一个 认证机构签发的的数字 证书
•用户只需信任某一根 认证机构
主体=用户a
2024/7/17
电子商务安全与管理
用户a
19
数字证书的内容和格式
X.509格式证书
版本号
证书序列号
签名算法标识符
证书颁发者(认证机构CA) 的X.500名称
使用证书进行签名
❖① 甲方准备好要传送给乙方的信息(明文); ❖② 甲对该信息进行Hash运算,得到一个消息摘
要; ❖③ 甲用自己证书对应的私钥对消息摘要进行加
密得到甲的数字签名,并将其附在信息后; ❖④ 甲方将附带有数字签名的信息传送给乙方
(同时也可以把自己的数字证书一起发给乙 方); ❖⑤ 乙方收到后,对甲方的数字证书进行验证, 如果有效,就用甲方证书中的公钥解密数字签 名
❖ 对象的目录项中包含了有关该对象的一系列属性值。 ❖ 为支持无二义性命名的需要,所有的X.500目录项在逻
辑上被组织成一种树型结构,称为目录信息树 (directory information tree, DIT)。目录信息树有一 个概念上的根节点和数目不限的非根节点。除了根节点, 所有节点都属于其他节点。除根节点外,每个节点都对 应于一个目录项,并有一个区别名。根节点的区别名为 空
CA的签名
证书路径验证的意义
❖ 如果所有级别的证书验证都通过,就可以断定李四的证 书确实是从根CA一级一级认证下来从而是可信的。这 是因为:
❖ ① 用户的证书验证通过就表明该证书是真实可信的,前 提是颁发该证书的CA可信。
❖ ② 一个CA的证书验证通过就表明该CA是合法可信的, 前提是它的上级CA可信。
数字证书的类型
❖1. 客户端(个人)数字证书 ❖2. 服务器证书(站点证书) ❖3. 安全邮件证书 ❖4. 代码签名证书
目录
❖5.1 数字证书 ❖5.2 数字证书的功能 ❖5.3 公钥基础设施PKI ❖5.4 个人数字证书的申请和使用
数字证书的功能
❖用来分发公钥 – 由于数字证书可以用来分发公钥,因此可以 利用证书中的公钥及其对应的私钥进行加密 和签名
4.1 数字证书简介
❖ 利
发送方的工作
数字摘要
数字签名
信息
+ +
发送方数字证书
加密
对称密钥
加密后信息
2024/7/17
接收方数字证书
加密
接收方公开密钥
电子商务安全与管理
数字信封
29
4.1 数字证书简介
❖ 利用数字证书实现信息安全
接收方
数字信封
接收方私有密钥 解密
❖ 因此,在根CA可信的前提下,所有CA和用户的证书验 证通过就意味着所有CA是合法可信的,并且用户的证 书也是真实可信的。但是怎么验证根CA?
根CA的验证
❖ 根CA证书是一种自签名(Self-signed certificate)证书,即根CA对自己的证书签名, 因此这个证书的颁发者名和主体名都指向根CA, 数字证书 …… 主体名:Root 颁发者名:Root ……
相关文档
最新文档