信息安全 第6章身份认证与数字签名
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简单扫描手写签名是不能满足要求的
对数字签名的要求
要保证能够验证作者及其签名的日期时间 必须能够认证签名时刻的内容 签名必须能够由第三方验证,以解决争议。
更进一步的要求
依赖性:签名必须是依赖于被签名信息来产生; 唯一性:签名必须使用某些对发送者是唯一的信息, 以防止双方的伪造与否认; 可验性:必须相对容易识别和验证该数字签名; 抗伪造:伪造该数字签名在计算上是不可行的,根 据一个已有的数字签名来构造消息是不可行的;对 一个给定消息伪造数字签名是不可行的; 可用性:在存储器中保存一个数字签名副本是现实 可行的。
B
随机数RA B的私钥KSB
双向认证
双方都要提供用户名和密码给对方,才能通
过认证。
(1) Client ID,Password (2) Server ID,Password 客户端 (3) Authenticated 服务器端
用对称密码体制来实现双向认证
① E(RA,KS)
A
② E(RA||RB,KS) ③ E(RB,KS)
签名方法
直接数字签名方法
仲裁数字签名方法
直接数字签名
消息 消息 加密后的 散列 函数 A的 比 较 摘要 消息 加密后的 摘要
散列
函数 摘要
摘要
A的 加密 加密后的 摘要
解密
公钥 算法
解密后
的摘要
私钥
算法
A
B
直接数字签名的缺点
直接数字签名的执行过程只有通信的双
方参与,并假定双方有共享的秘密密钥 或者接收一方知道发送方的公开钥。 缺点:方案的有效性取决于发方密钥的 安全性。
AU
B
N1: A的临时交互号 N2: B产生的新临时交互号
SKAU:管理员的私钥 PKB:B的公钥 PKA:A的公钥
Kerberos协议
是在80年中期作为美国麻省理工学 院“雅典娜计划”(Project Athena)的一部 分被开发的。 Kerberos是一个分布式的认证服务,它允许 一个进程(或客户)代表一个主体(或用户) 向验证者证明他的身份,而不需要通过网络 发送那些有可能会被攻击者用来假冒主体身 份的数据。
具有仲裁方式的数字签名
1.
例2
X对M的签名
XA:IDX|| EK XY [ M ] || EK XA [ IDX || H ( EK XY ( M ))]
2.
AY: EK [ IDX || EK [ M ] || EK [ IDX || H ( EK ( M ))] || T ]
AY XY XA XY
身份认证的物理基础
Something
the user know (例如口令)
简单,但不安全
设计依据
安全水平、系统通过率、用户可接受性、成本等
身份认证的物理基础
Something
the user possesses(例如证
件)
认证系统相对复杂
身份认证的物理基础
Something
最简单的零知识证明
问题要求:假如P想说服V,使V相信他确实知道n 的因数p和q,但不能告诉V 最简单的步骤:
V随机选择一整数x,计算x4 mod n 的值,并告诉P
P求x2 mod n 并将它告诉V V验证x4 mod n
V知道求x2 mod n 等价于n的因数分解,若不掌握n 的因数p和q,求解很困难。
网络中的某一用户不能冒充另一用户作为发送者 或接收者。
数字签名的基本概念
数字签名由公钥密码发展而来,它在网络安
全,包括身份认证、数据完整性、不可否认 性以及匿名性等方面有着重要应用。
手写签名的特征
签名是可信的
签名是不可伪造的 签名不可重用 签名后的文件是不可变的 签名是不可抵赖的
票据授权 服务器 Kerberos
每个服务 会话一次
⑥
Kerberos v4认证协议的流程(1)
客户端认证
Kerberos v4认证协议的流程(2)
取得与服务器通信的票据
Kerberos v4认证协议的流程(3)
客户端与服务器通信
零知识证明
Alice: “我知道联邦储备系统计算的口令” Bob: “不,你不知道” Alice:我知道 Bob:你不知道 Alice:我确实知道 Bob:请你的证实这一点 Alice:好吧,我告诉你。(她悄悄说出了口令) Bob:太有趣了!现在我也知道了。我要告诉《华 盛顿邮报》 Alice:啊呀!
6.2 数字签名
消息认证码的不足
可以保护通信双方以防止第3者攻击,不能保
护通信双方中一方防止另一方的欺骗和伪造。
B伪造一个消息并使用与A共享的密钥产生该消息
的认证码,然后生成该消息来自于A B有可能伪造A发来的消息,所以A就可以对自己 发过的消息予以否认
第一个数字签名方案也是由Rivest、Shamir和Adleman三位密码学家 首先提出。之后,数字签名的理论与技术在密码学界受到了广泛的重视。 具有代表意义的数字签名体制有基于整数分解问题的改进的RSA签名和 Rabin签名、基于有限域上离散对数相关难题的Elgamal签名方案及两 个著名的变形—Schnorr签名方案以及美国国家数字签名标准DSS。 在一个数字签名系统中,公钥与私钥的运作顺序正好与公钥密码系统相 反,发送者首先通过自己的私钥对消息进行数字签名,随后,当接收者 收到消息及其对应的数字签名之后,利用发送者的公钥来证实这个数字 签名的正确性。数字签名可以确保信息的鉴别性、完整性及不可否认性。 所谓数字签名的不可否认性是指:签名的接收者能够证实发送者的身份, 发送者不能否认其曾签署过的签名,其他任何人不能伪造和篡改签名。
一种第三方认证机制
KDC
U)
,S K
st ||T im
⑤
e1
④ E(P K
A | |R
A
|T im e1
Re
qu
①
B|
|R
equ est ||
es
es t|
eq
t||T im SK
ue
eq u
E( P
K
Tim e1 ,
R
e2 )
A
②
③ E(IDA||N1,PKB) ⑥ E(N1||N2,PKA) ⑦ E(N2,PKB)
B
A产生一个随机数RA 双方共享的密钥KS
B产生一个随机数RB
用非对称密码体制来实现双向认证
① RA
A
② E(RA||RB,KSB) ③ E(RB,KSA)
B
A产生一个随机数RA B产生一个随机数RB B的私钥KSB A的私钥KSA
信任的第三方认证
当两端欲进行连线时,彼此必须先通过信任
the user is(例如指纹识别)
更复杂,而且有时会牵涉到本人意愿
身份认证方式
单向认证(One-way
Authentication) 双向认证(Two-way Authentication) 信任的第三方认证(Trusted Third-party Authentication)
发方可声称秘密钥丢失或被窃
仲裁数字签名
具有仲裁方式的数字签名
1. 发方X对发往收方Y的消息签名 2. 将消息和签名先发往仲裁者A 3. A对消息和签名验证完后,再连同一个表示已通
过验证的指令一起发给Y.
具有仲裁方式的数字签名
1.
例1:
XA:M|| EK [ IDX || H ( M )] 2. AY: EK AY [ IDX || M || EK XA [ IDX || H ( M ) || T ]
第6章 身份认证与数字签名
主要内容
身份认证 数字签名
6.1 身份认证
身份认证是验证主体的真实身份与其所声称
的身份是否符合的过程。 认证的结果只有两个:符合和不符合。 适用于用户、进程、系统、信息等。
身份认证的例子
邮件登录
Client与Server之间的鉴别 Telnet远程登录 Ftp服务 登录到某台电脑上
单向认证
通信的一方认证另一方的身份
(1) ID,Password
客户端
(2) Authenticated
服务器端
用对称密码体制来实现单向认证
① E(RA,Ks)
A
② E(f(RA),Ks)
B
某函数变换f 双方共享的密钥KS 随机数RA
用非对称密码体制来实现单向认证
① RA
A
② E(RA,KSB)
身份认证系统的组成
出示证件的人,称作示证者P(Prover),又 称声称者(Claimant)。 验证者V(Verifier),检验声称者提出的证件 的正确性和合法性,决定是否满足要求。 第三方是可信赖者TP(Trusted third party), 参与调解纠纷。在许多应用场合下没有第三 方。
XA
E:单钥加密算法 KXA,KAY:A与X和Y的共享密钥 M:消息
T:时戳
IDX:X的身份 H(M):M的杂凑值
在1中,X以EKXA[IDX‖H(M)]作为自己对M的
签名,将M及签名发往A。 在2中A将从X收到的内容和IDX、T一起加密 后发往Y,其中的T用于向Y表示所发的消息 不是旧消息的重放。Y对收到的内容解密后, 将解密结果存储起来以备出现争议时使用。 如果出现争议,Y可声称自己收到的M的确来 自X,并将EKAY[IDX‖M‖EKXA[IDX‖H(M)]] 发给A,由A仲裁,A由KAY解密后,再用 KXA对EKXA[IDX‖H(M)]解密,并对H(M)加以 验证,从而验证了X的签名。
零知识证明技术
零知识证明技术可使信息的拥有者无需泄露
任何信息就能够向验证者或任何第三方证明 它拥有该信息。
零知识证明的基本协议
例[Quisquater等1989] 。
A
B
设P知道咒语, 可 打开C和D之间的秘 密门,不知道者 都将走向死胡同中。
C
D
零知识证明的基本协议
(1) V站在A点; (2) P进入洞中任一点C或D; (3) 当P进洞之后,V走到B点; (4) V叫P:(a)从左边出来,或(b)从右边出来; (5) P按要求实现(以咒语,即解数学难题帮助); (6) P和V重复执行 (1)~(5)共n次。 若A不知咒语,则在B点,只有50 %的机会猜中B的要求, 协议执行n次,则只有2-n的机会完全猜中,若n=16,则若每 次均通过B的检验,B受骗机会仅为1/65 536
X和Y的共享密钥
此方案提供了对M的保密性 和前一方案相同,仲裁者可和发方共谋否认发方曾发过 的消息,也可和收方共谋产生发方的签名
具有仲裁方式的数字签名
例3
k K
wenku.baidu.com
一个数字签名包括两部分:签名算法和验证算法。签名者能够用一个 (私有的)签名算法为一个消息签名,签名结果随后能使用一个公开的验 证算法得到验证。给定一对签名消息,验证算法根据签名是否有效而 返回该签名为”真”或”假”的答案。 一个数字签名是一个满足下列条件的五元组( M , S , K , SIG,VER ): M是由所有可能的消息组成的一个有限集合; S是所有可能的签名组成的一个有限集合; K为密钥空间,即由所有可能的密钥组成的一个有限集合; 对每一个 ,有一个签名算法和一个对应的验证算法,对每一个消 息,每一个签名,每一个和都是满足下列条件的函数:
由和组成的数据对称为签名消息。对每一个,和应该是 多项式时间函数。是公开的函数,而是保密的。给定一 个消息,除了签名人之外,任何人去计算满足的数字签 名应该在计算上不可行。 数字签名应能解决以下问题: 发送者事后不能否认发送的签名。 接收者能够核实发送者发送的签名。 接收者不能伪造发送者的签名。 接收者不能对发送者的签名进行部分篡改。
Kerberos
Kerberos协议的应用环境
Kerbero s
Client
Server
Kerberos系统架构
每个用户仅登 录一次会话
认证服务器 ① ② ③ ④ ⑤
每类服务仅一次 ① ② ③ ④ ⑤ ⑥ 请求票据许可票据 票据+会话密钥 请求服务授权票据 票据+会话密钥 请求服务 提供服务器认证码
第三方的认证,然后才能互相交换密钥,而 信任第三方 后进行通信
)S (3 w or d D rI ve er ,P as s
) (4
ID
ut he nt ic at io
n
s as ,P
A
lie nt
io at ic nt he ut
w
(1 )C
d or
)A
n
(2
(5) Authenticate Data (6) Authenticate Data 客户端 服务器端