当前位置:文档之家› pdf数字签名方法

pdf数字签名方法

X
X X
7
直接数字签名的安全性
• 方案的安全性依赖于发送方X私有密钥的安全 性。
– 发送方可以声称自己的私有密钥丢失或被盗用,而 否认其发送过某个报文。 改进:每个签名报文中包含一个时间戳。 问题: X 的私有密钥确实在时间 T 被窃取; 攻击者窃取 X 的密钥后,则可能发送带有 X 的签 名报文,附上一个等于 T 的时间戳,接受者无法 判别。
• 可分为两类:
– 直接数字签名方案; – 基于仲裁的数字签名方案。
6
9.1.2.1 直接数字签名
• 实现比较简单,在技术上仅涉及到通信的源点 X和终点Y双方。 • 终点Y需要了解源点X的公开密钥 KU • 发送方X可以使用其私有密钥 KR 对整个消息报 文进行加密来生成数字签名。 • 更好的方法是使用 KR 对消息报文的散列码进密钥加密的相互鉴别
• 问题:过期的会话密钥
– X可冒充A,使用过期密钥,并重放第3步的报文, 就可以欺骗B。

改进 :
1. 增加时间戳机制 :需要通信各方周期性地与KDC 通信进行时钟校准。 2. 通信时使用现时握手。 3. 1,2结合。
17
基于对称密钥加密的相互鉴别
• 改进后的协议过程 (增加时间戳):
• 目的: KDC 为通信双方A、B产生短期的会话密钥 Ks 。 • 工作过程:
(1) (2) (3) (4) (5) A KDC: KDC A: A B: B A: A B: IDA || IDB || N1 EKa[ Ks || IDB || N1 || EKb (Ks || IDA) ] EKb [ Ks || IDA ] EKs [N2] EKs [ f (N2)]
• 特征:
– DS 的构成:IDx 和消息密文的散列码用 Kax 加密。 – DS 的验证:A 解密签名,用散列码验证消息。
• A 只能验证消息的密文,而不能读取其内容。
– A 将来自 X 的所有信息加上时间戳并用 Kay 加密后发送给Y 。
• 问题:
– A 和发送方 X 联手可以否认签名的信息。 – A和接收方 Y 联手可以伪造发送方 X 的签名。
IDA‖IDB CA‖CB CA‖CB ‖EKUb(EKRa(Ks‖T))
19
基于公开密钥加密的相互鉴别
• 改进(使用现时值N代替时间戳)
(1) A → KDC :IDA‖IDB (2) KDC → A :EKRk ( IDB‖KUb) (3) A → B: EKUb ( Na‖IDA ) (4) B → KDC :IDB‖IDA‖EKUk( Na ) (5) KDC → B: EKRk ( IDA‖KUa)‖EKUb ( EKRk (Na‖Ks‖IDB )) (6) B → A : EKUa( EKRk (Na‖Ks‖IDB )‖Nb ) (7) A → B : EKs ( Nb )
12
基于仲裁的数字签名—公开密钥加密方式
• 特点:仲裁者看不见消息的内容 • 过程:
– X 对报文 M 进行两次加密。 – 经过双重加密后,报文 M 只有 Y 能够阅读,A 不能读取 XA: IDx || EKRx [ IDx || EKUy [ EKRx(M) ] ] – A 能进行外层的解密,从而证实报文确实是来自 X 的
22
9.4 身份认证技术及协议
• 数字签名和鉴别技术的一个最主要的应 用领域就是身份认证。
23
9.4.1 纯认证系统模型
• 认证的基本思想是通过验证称谓者的一个或多个参数的 真实性和有效性,以验证其是否名副其实。 • 身份认证是系统对网络主体进行验证的过程,用户必须 证明他是谁。
24
基本的身份认证方法
26
Kerberos 的设计目标
• 安全性
– 能够有效防止攻击者假扮成另一个合法的授权用户。
• 可靠性
– 分布式服务器体系结构,提供相互备份。
• 对用户透明性 • 可伸缩
– 能够支持大数量的客户和服务器。
27
Kerberos的设计思路(1)
• 基本思路:
– 使用一个(或一组)独立的认证服务器(AS — Authentication Server),来为网络中的客户提供 身份认证服务; – 认证服务器 (AS),用户口令由 AS 保存在数据库中; – AS 与每个服务器共享一个惟一保密密钥(已被安 全分发)。
9
基于仲裁的数字签名--对称密钥加密方式 • 发送方X和仲裁A共享一个密钥Kax 。 • 接收方Y和仲裁A共享一个密钥Kay • 数字签名由X的标识符IDx和报文的散列码H(M) 构成 ,用密钥Kax进行加密。 • 过程:
(1)X → A :M‖ EKax( IDx‖H(M) )。 (2)A → Y :EK ( IDx‖M‖EKax( IDx‖H(M) )‖T )。 (3) Y存储报文M及签名。
29
Kerberos中的票据
• 两种票据
– 服务许可票据(Service granting ticket)
• 是客户访问服务器时需要提供的票据; • 用 TicketV 表示访问应用服务器 V 的票据。 • TicketV 定义为 Ekv [ IDC‖ADC‖IDV‖TS2‖LT2 ]。 • 客户访问 TGS 服务器需要提供的票据,目的是为了申请 某一个应用服务器的 “服务许可票据”; • 票据许可票据由 AS 发放; • 用 Tickettgs 表示访问 TGS 服务器的票据; • Tickettgs 在用户登录时向 AS 申请一次,可多次重复使用; • Tickettgs 定义为 EKtgs [ IDC‖ADC‖IDtgs‖TS1‖LT1 ]。
• 数字签名技术为此提供了一种解决方案。
4
数字签名的功能
• 是对现实生活中笔迹签名的功能模拟。
– 必须能够用来证实签名的作者和签名的时间。
• 对消息进行签名时,必须能够对消息的内容进 行鉴别。 • 签名应具有法律效力,必须能被第三方证实用 以解决争端。 • 必须包含对签名进行鉴别的功能。
5
9.1.2 数字签名的解决方案
– 密钥交换的机密性和时效性。
• 机密性
– 防止会话密钥被篡改或和泄露; – 用户身份信息和会话密钥都必须以密文形式交换; – 前提:通信各方与事先保存一个密钥(共享或公开 密钥)。
• 时效性
– 为了防止消息的重放攻击。
15
9.2.1.1基于对称密钥加密的相互鉴别
• 须具备的条件
– 可信的密钥分配中心(KDC); – 通信各方都与 KDC 共享一个主密钥; – 主密钥 Ka 和 Kb 是安全。
• Y 相信 A 已对消息认证,X 不能否认其签名; • X 信任 A 没有暴露 Kax,无人可伪造 签名; • 双方都信任 A 处理争议是公正。
– 问题:
• 报文 M 明文传送给A ,有可能被窃听。
11
基于仲裁的数字签名--对称密钥加密方式
• 明文加密的方案
– (1)X → A :IDx‖EKxy (M)‖EKax( IDx‖H (EKxy(M)) )。 – (2)A → Y :EKay( IDx‖EKxy (M)‖EKax( IDx‖H (EKxy(M))‖T )。
3
9.1.1 不可否认性的应用需求
• 网络通信中,希望有效防止通信双方的欺骗和 抵赖行为。 • 简单的报文鉴别技术只能使通信免受来自第三 方的攻击,无法防止通信双方之间的互相攻击。
• Y 伪造一个不同的消息,但声称是从 X 收到的; • X可以否认发过该消息,Y 无法证明 X 确实发了 该消息; • 原因:鉴别技术基于秘密共享。
20
9.2.2单向鉴别
• One-Way Authentication。 • 主要用于电子邮件认证等应用。 • 特点:发方和收方无需同时在线。
– 鉴别时收发方不能在线交互。
21
9.3 数字签名标准(DSS)
• 美国国家标准技术研究所(NIST)公布的美 国联邦信息处理标准FIPS PUB 186。 • DSS最早发表于1991年,并于1993年和1996年 进行了修改。 • DSS基于安全散列算法(SHA)并设计了一种 新的数字签名技术,即DSA(数字签名算法)。
28
Kerberos的设计思路 (2)
• 问题:
– 用户希望输入口令的次数最少。 – 口令以明文传送会被窃听。
• 解决办法
– 票据重用(ticket reusable)。 – 引入票据许可服务器(TGS - ticket-granting server)
• 用于向用户分发服务器的访问票据; • 认证服务器 AS 并不直接向客户发放访问应用服务器的票 据,而是由 TGS 服务器来向客户发放。
其中,C 本地时间, t1 时钟偏差, t2 网络时延。
18
9.2.1.2 基于公开密钥加密的相互鉴别
• 过程
(1) A → AS : (2) AS → A : (3) A → B : 其中:
A 的公钥和私钥分别为 KUa 和 KRa ; B 的公钥和私钥分别为 KUb 和 KRb ; AS(鉴别中心) 的公钥和私钥分别为 KUas 和 KRas ; CA = EKRas(IDA‖KUa‖T),A 的公开密钥证书; CB = EKRas(IDB‖KUb‖T),B 的公开密钥证书。
– 用于 PPP(点对点)协议的身份认证协议,明文口令传输。
• CHAP 协议(Challenge Handshake Authentication Protocol)
– 不在网络上传送口令信息, 比 PAP 具有更强的安全性。
25
身份认证协议 —— Kerberos
• 是美国麻省理工学院(MIT)开发的一种身份鉴 别服务。 • “Kerberos”的本意是希腊神话中守护地狱之门的 守护者。 • Kerberos提供了一个集中式的认证服务器结构, 认证服务器的功能是实现用户与其访问的服务器 间的相互鉴别。 • Kerberos建立的是一个实现身份认证的框架结构。 • 其实现采用的是对称密钥加密技术,而未采用公 开密钥加密。 • 公开发布的Kerberos版本包括版本4和版本5。
相关主题