当前位置:文档之家› 数字签名与身份认证

数字签名与身份认证

14
相互鉴别
• 目的:用于通信各方之间的相互进行身份认证, 同时交换会话密钥。
• 需要解决的核心问题:
– 密钥交换的机密性和时效性。
• 机密性
– 防止会话密钥被篡改或和泄露; – 用户身份信息和会话密钥都必须以密文形式交换; – 前提:通信各方与事先保存一个密钥(共享或公开
密钥)。
• 时效性
– 为了防止消息的重放攻击。
签名解密并验证其散列码。
• 特点:
– Y 不能直接验证 X 的签名。 – 双方都需要高度相信 A
• Y 相信 A 已对消息认证,X 不能否认其签名; • X 信任 A 没有暴露 Kxa,无人可伪造 DS; • 双方都信任 A 处理争议是公正。
– 问题:
• 报文 M 明文传送给,有可能被窃听。
11
基于仲裁的数字签名--对称密钥加密方式
成 ,用密钥Kax进行加密。 • 过程:
(1)X → A :M‖EKax( IDx‖H(M) )。 (2)A → Y :EKay( IDx‖M‖EKax( IDx‖H(M) )‖T )。 (3) Y存储报文M及签名。
10
基于仲裁的数字签名--对称密钥加密方式
• 争端解决方式
– Y → A :EKay( IDx‖M‖EKax( IDx‖H(M) ) )。 – 仲裁A可用Kay恢复出IDx 、M及签名,然后再用Kax对
• 优点:
– 通信各方之间无须共享任何信息,从而避免了联手作弊; – 只要 KRa 安全,则不会出现伪造 A 发送的消息; – 消息的内容是保密的,包括对 A 在内。
13
认证( Certification)
• 证实通信中某一方的身份。 • 两个基本的方式 :
– 相互鉴别(mutual Certification); – 单向鉴别 (one-way Certification)。
– X 对报文 M 进行两次加密。 – 经过双重加密后,报文 M 只有 Y 能够阅读,A 不能读取
XA: IDx || EKRx [ IDx || EKUy [ EKRx(M) ] ] – A 能进行外层的解密,从而证实报文确实是来自 X 的
• 因为只有 X 拥有KRx 。
– 验证后 A 向 Y 发送用 KUy 加密的报文,其中包括时间戳 T AY: EKRa [ IDx || EKUy [ EKRx(M) ] || T]
• A 只能验证消息的密文,而不能读取其内容。
– A 将来自 X 的所有信息加上时间戳并用 Kay 加密后发送给Y 。
• 问题:
– A 和发送方 X 联手可以否认签名的信息。 – A和接收方 Y 联手可以伪造发送方 X 的签名。
12
基于仲裁的数字签名—公开密钥加密方式
• 特点:仲裁者看不见消息的内容。 • 过程:
• 改进:每个签名报文中包含一个时间戳。
– 问题:
• X 的私有密钥确实在时间 T 被窃取; • 攻击者窃取 X 的密钥后,则可能发送带有 X 的签名报文,
附上一个等于 T 的时间戳,接受者无法判别决直接签名方案中的问题。 • 仲裁者必须是一个所有通信方都能充分信任的
• 明文加密的方案
– (1)X → A :IDx‖EKxy (M)‖EKax( IDx‖H (EKxy(M)) )。 – (2)A → Y :EKay( IDx‖EKxy (M)‖EKax( IDx‖H (EKxy(M))‖T )。
• 特征:
– X 与 Y 之间共享密钥 Kxy 。 – DS 的构成:IDx 和消息密文的散列码用 Kxa 加密。 – DS 的验证:A 解密签名,用散列码验证消息。
• 对数字签名的识别、证实和鉴别也必须相对简单,易 于实现;
• 伪造数字签名在计算上是不可行的,无论攻击者采用 何种方法(利用数字签名伪造报文,或者对报文伪造 数字签名)。
5
数字签名的解决方案
• 可分为两类:
– 直接数字签名方案; – 基于仲裁的数字签名方案。
6
直接数字签名
• 实现比较简单,在技术上仅涉及到通信的源点 X和终点Y双方。
仲裁机构。 • 基本工作方式(假定用户X和Y之间进行通信):
– 每个从X发往Y的签名报文首先被送给仲裁者A; – A检验该报文及其签名的出处和内容,然后对报文注
明日期,并附加上一个“仲裁证实”的标记发给Y。
9
基于仲裁的数字签名--对称密钥加密方式
• 发送方X和仲裁A共享一个密钥Kax 。 • 数字签名由X的标识符IDx和报文的散列码H(M)构
第9章 数字签名与身份认证
1
数字签名
• 数字签名(Digital Signature)是公开密钥 体系加密技术发展的一个重要的成果。
2
不可否认性的应用需求
• 网络通信中,希望有效防止通信双方的欺骗和 抵赖行为。
• 简单的报文鉴别技术只能使通信免受来自第三 方的攻击,无法防止通信双方之间的互相攻击。
15
报文重放(replay) 攻击
• 攻击过程:
– 窃听。 – 复制或部分复制一个报文。 – 在以后的某个时间重放
• 终点Y需要了解源点X的公开密钥Kux。 • 发送方A可以使用其私有密钥KRx对整个消息报
文进行加密来生成数字签名。 • 更好的方法是使用KRx对消息报文的散列码进
行加密来形成数字签名。
7
直接数字签名的安全性
• 方案的安全性依赖于发送方X私有密钥的安全 性。
– 发送方可以声称自己的私有密钥丢失或被盗用,而 否认其发送过某个报文。
• Y 伪造一个不同的消息,但声称是从 X 收到的; • X可以否认发过该消息,Y 无法证明 X 确实发了
该消息; • 原因:鉴别技术基于秘密共享。
• 数字签名技术为此提供了一种解决方案。
3
数字签名的功能
• 是对现实生活中笔迹签名的功能模拟。
– 必须能够用来证实签名的作者和签名的时间。
• 对消息进行签名时,必须能够对消息的内容进 行鉴别。
• 签名应具有法律效力,必须能被第三方证实用 以解决争端。
• 必须包含对签名进行鉴别的功能。
4
数字签名的设计目标
• 签名的比特模式是依赖于消息报文的,也就是说,数 据签名是以消息报文作为输入计算出来的,签名能够 对消息的内容进行鉴别;
• 数据签名对发送者来说必须是惟一的,能够防止伪造 和抵赖;
• 产生数字签名的算法必须相对简单易于实现,且能够 在存储介质上保存备份;
相关主题