计算机网络安全 第三章 网络安全基础3数字签名
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字签名的实施方案(实例)
数字签名解决方案
数字签名的实施方案(实例)
数字签名实现过程
数字签名原理
数字签名技术是结合消息摘要函数和公钥加密 算法的具体加密应用技术。 数字签名(Digital Signature)指一个用自己的 非对称密码算法(如:RSA算法)私钥加密后的信息 摘要,附在消息后面;别人得到这个数字签名及签 名前的信息内容,使用该用户分发的非对称密码算 法公钥,就可以检验签名前的信息内容在传输过程 或分发过程中是否己被篡改并且可以确认发送者的 身份。
发送方可以声称自己的私有密钥丢失或被盗用,而
否认其发送过某个报文。
改进:每个签名报文中包含一个时间戳。
问题: X 的私有密钥确实在时间 T 被窃取; 攻击者窃取 X 的密钥后,则可能发送带有 X 的签名报文, 附上一个等于 T 的时间戳,接受者无法判别。
基于仲裁的数字签名
通过引入仲裁来解决直接签名方案中的问题。 仲裁者必须是一个所有通信方都能充分信任的 仲裁机构。 基本工作方式(假定用户X和Y之间进行通信):
不可否认性的应用需求
网络通信中,希望有效防止通信双方的欺骗和 抵赖行为。 简单的报文鉴别技术只能使通信免受来自第三 方的攻击,无法防止通信双方之间的互相攻击。
Y 伪造一个不同的消息,但声称是从 X 收到的; X可以否认发过该消息,Y 无法证明 X 确实发了
该消息; 原因:鉴别技术基于秘密共享。
用户 A
认证中心的目的就是证明用户和公钥之间的绑定; 认证中心通过证书证明这种绑定,证书由明文和密文两部分组成,密文部 分称为数字签名,它是用认证中心私钥加密明文报文摘要后的密文; 认证中心和公钥之间绑定由上一级认证中心用证书证明。
基于公开密钥的数字签名技术
明文 P MD D 明文 明文 ) P P P‖DSKA(MD(P) 数字 签名 数字 签名 MD E 相等,明文 P 认定是用户 A 所发
直接数字签名
实现比较简单,在技术上仅涉及到通信的源点X和 终点Y双方。 终点Y需要了解源点X的公开密钥Kua。 发送方A可以使用其私有密钥KRA对整个消息报文进 行加密来生成数字签名。 更好的方法是使用KRA对消息报文的散列码进行加密 来形成数字签名。
直接数字签名的安全性
方案的安全性依赖于发送方X私有密钥的安全 性。
数字签名的实际应用
在现实生活中用公章、签名等来实现的抗否认, 在网上可以借助数字证书的数字签名来实现。如将来 的地税局的网上银行,网上审批都可以通过数字签名 来保证身份的认证,实现网上业务的防伪造和防抵赖。
明文
用发送方A的私 匙加密
密文
用发送方A的公 匙解密
密文
发送方A
网络
明文
接收方B
A将加密的消息发送给B
基于公开密钥的数字签名技术
根认证中心 证书 地区认证中心 2 的 公开密钥为 PKRA2 根认证中心签名 地区认证中心 2 证书 认证中心 4 的公开 密钥为 PKCA4 地区认证中心 2 签名
地区认证中心 1
认证中心 1
认证中心 2
认证中心 3
认证中心 4 证书 用户 A 的公开 密钥为 PKA 认证中心 4 签名
计算机网络安全
第三章 网络安全基础(3)
第3章
加密算法;
报文摘要算法; 数字签名;
网络安全基础
认证协议;
IPSec。
这些算法一方面是实现保密性、完整性和 不可抵赖性的核心,另一方面是实现其他网 络安全技术的基础。
数字签名
问题的提出
假定John向Mary发送一个带鉴别的报文,可能会出现 如下的争执: 1、Mary可能伪造不同的报文,并声称它来自John。 Mary只要简单地生成一个报文,并附加使用由John和 Mary所共享的密钥生成的鉴别码即可。 2、John可以否认发送过该报文。因为Mary伪造一个 报文是可能的,无法证明John发送过该报文这一事实。
优点:
通信各方之间无须共享任何信息,从而避免了联手作弊; 只要 KRa 安全,则不会出现伪造 A 发送的消息; 消息的内容是保密的,包括对 A 在内。
基于公开密钥的数字签名技术
基本原理 公钥PKA和私钥SKA一一对应; 由公证机构证明公钥PKA和用户A的绑定关系; 证明拥有(或者知道)私钥SKA的用户X就是 用户A; 建立报文P和私钥SKA之间的关联,就可确定 报文P由用户A发送。
数字签名的目的是使发送者无法抵赖曾经发送过报文P; 通信双方均需到权威机构注册; 用户A发送给用户B的报文,附带时间戳T和随机数RA先发 送给权威机构; 权威机构在转发给用户B的信息中附带用密钥KBB加密发 送者、时间戳和报文摘要后的密文,KBB只有权威机构知 道; 由权威机构对报文P、发送者、发送时间进行认证。
(1)X → A :M‖EKax( IDx‖H(M) )。 (2)A → Y :EKay( IDx‖M‖EKax( IDx‖H(M) )‖T )。 (3) Y存储报文M及签名。
对称密钥加密方式
争端解决方式
Y → A :EKay( IDx‖M‖EKax( IDx‖H(M) ) )。 仲裁A可用Kay恢复出IDx 、M及签名,然后再用Kax对签
数字签名的设计目标
签名的比特模式是依赖于消息报文的,也就是说, 数据签名是以消息报文作为输入计算出来的,签名 能够对消息的内容进行鉴别; 数据签名对发送者来说必须是惟一的,能够防止伪 造和抵赖; 产生数字签名的算法必须相对简单易于实现,且能 够在存储介质上保存备份; 对数字签名的识别、证实和鉴别也必须相对简单, 易于实现; 伪造数字签名在计算上是不可行的,无论攻击者采 用何种方法(利用数字签名伪造报文,或者对报文 伪造数字签名)。
数字签名原理
(2)利用自己的私钥加密消息摘要得到数字签名A,并将数字签 名附在原消息后面
数字签名原理
(3)通讯时用户A将自己的原文和签名文一起通过网络送给通讯 对方即用户B
数字签名原理
2.接收方验证过程
接收方B接收到发送方A的签名消息后,对A的签名消息进 行验证的过程如下: (1)将消息中的原消息与数字签名分离出来
数字签名原理
(2)使用A的公钥解密数字签名得到摘要
数字签名原理
(3)利用与发送方A相同的散列函数重新计算原消息的摘要
数字签名原理
(4)比较解密后获得的消息摘要A与重新计算产生的消息摘要B, 若相等则说明消息在传输过程中没有被篡改,否则消息不可 靠。
数字签名的解决方案
可分为两类:
直接数字签名方案; 基于仲裁的数字签名方案。
每个从X发往Y的签名报文首先被送给仲裁者A;
A检验该报文及其签名的出处和内容,然后对报文注
明日期,并附加上一个“仲裁证实”的标记发给Y。
基于仲裁的数字签名技术
用户 A
A,EKA(B,P,RA,T)
权威 EKB(A, P,RA,T,EKBB(A,T,MD(P))) 机构
用户 B
明文加密的方案
(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 和消息密文的散列码用 Kax 加密。 DS 的验证:A 解密签名,用散列码验证消息。
数字签名技术为此提供了一种解决方案。
(一) 数字签名的概念
数字证书是证明用户身份的网上标识,在网络 中识别通讯各方的身份,即在虚拟社会中解决 “我是谁”的问题。通俗的讲,数字证书就好 像是网上用户的身份证,能够保证您在网络上 进行的交易是安全的和可信的。 数字签名就是对消息进行消息摘要计算,再利 用数字证书提供的密钥文件,达到利用计算机 数据签章的效果。 数字签名是使用密码系统时最特殊的一种功能 数字签名的法定效力,将相等于一般的“手写 签名”。使用数字签名,更需要SHA(单向散 列函数)的配合,才能防止各种可能的攻击。
数字签名的功能
是对现实生活中笔迹签名的功能模拟。
必须能够用来证实签名的作者和签名的时间。
对消息进行签名时,必须能够对消息的内容进行鉴 别。 签名应具有法律效力,必须能被第三方证实用以解 决争端。 必须包含对签名进行鉴别的功能。
数字签名的作用
I. 文件发送者即签名者不能否认所发送信息的 签名; II. 文件接收者能够验证发送者所发送信息签名 的真实性; III. 采用数字签名技术,只要保证签名方私钥信 息的秘密性,就能够保证任何其他人都无法对 签名进行伪造; IV. 因为任何更改都可以导致签名的无效,所以 不能对发送者的原始信息进行任何更改。
需仲裁的数字签名
(a)常规加密,仲裁能看到报文内容 (1)X→A:M//EKxa[IDx//H(M)] (2)A→Y:EKay[IDx//M//EKxa[IDx//H(M)]//T] (b)常规加密,仲裁不能看到报文内容 (1)X→A:IDx//EKxy[M]//EKxa[IDx//H(EKxy[M])] (2)A→Y: EKay[IDx//EKxy[M]//EKxa[IDx//H(EKxy[M])]//T] (c)公开密钥加密,仲裁不能看到报文内容 (1)X→A:IDx//EKRx[IDx//EKUy[EKRx[M]]] (2)A→Y:EKRa[IDx//EKUy[EKRx[M]]//T]
数字签名的实施方案(实例)
数字签名方案实施过程: 1、签章体系 用户利用签章计算机, 对文件进行消息摘要(一 般使用SHA算法),并进行 电子签章(数据签名) 2、CA体系 用户通过CA机构合法获 得数字证书,即获得了对 应唯一的公钥/私钥对,私 钥存于签章钥匙盘,用于 数字签名过程。 3、验证体系 由CA利用公钥进行验证, 以确定数据未有更改。
数字签名原理
对于一个典型的数字签名体系而言,它必 须包含2个重要的组成部分:即签名算法 (Signature Algorithm)和验证算法 (Verification Algorithm)。
数字签名原理
1.发送方签名过程
发送方A创建数字签名的过程如下: (1)为保证签名的速度,A先将原文进行单向HASH运算生成定 长的消息摘要A
分类
直接数字签名
功能: 鉴别、数字签名。 弱点: (1)方案的有效性依赖 于发方私钥的安全性。 (2)某个私钥真的可能 在时间T在X处被盗。
M E KRa EKRa(M) D KUa M
(a)利用发送方的私钥加密
M KRa H E EKRa[H(M)] D || M H 比较
Hale Waihona Puke Baidu
(b)利用发送方的私钥报文散列码加密
A 只能验证消息的密文,而不能读取其内容。
A 将来自 X 的所有信息加上时间戳并用 Kay 加密后发送给Y 。
问题:
A 和发送方 X 联手可以否认签名的信息。 A和接收方 Y 联手可以伪造发送方 X 的签名。
公开密钥加密方式
特点:仲裁者看不见消息的内容。 过程:
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]
名解密并验证其散列码。
特点:
Y 不能直接验证 X 的签名。 双方都需要高度相信 A Y 相信 A 已对消息认证,X 不能否认其签名; X 信任 A 没有暴露 Kxa,无人可伪造 DS; 双方都信任 A 处理争议是公正。 问题: 报文 M 明文传送给,有可能被窃听。
对称密钥加密方式
注:X=发方;Y=收方;A=仲裁;M=报文
3.5 数字签名
基于对称密钥算法的数字签名技术; 基于公开密钥算法的数字签名技术。
基于仲裁的数字签名--对称密钥加密方式
发送方X和仲裁A共享一个密钥Kax 。 数字签名由X的标识符IDx和报文的散列码H(M)构 成 ,用密钥Kax进行加密。 过程: