信息安全原理及应用:第09章-数字签名与身份认证课件_第1页
信息安全原理及应用:第09章-数字签名与身份认证课件_第2页
信息安全原理及应用:第09章-数字签名与身份认证课件_第3页
信息安全原理及应用:第09章-数字签名与身份认证课件_第4页
信息安全原理及应用:第09章-数字签名与身份认证课件_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章

数字签名与身份认证1第9章

数字签名与身份认证1数字签名

数字签名(DigitalSignature)是公开密钥体系加密技术发展的一个重要的成果。2数字签名

数字签名(DigitalSignature)是公不可否认性的应用需求网络通信中,希望有效防止通信双方的欺骗和抵赖行为。简单的报文鉴别技术只能使通信免受来自第三方的攻击,无法防止通信双方之间的互相攻击。Y伪造一个不同的消息,但声称是从X收到的;X可以否认发过该消息,Y

无法证明

X确实发了该消息;原因:鉴别技术基于秘密共享。数字签名技术为此提供了一种解决方案。3不可否认性的应用需求网络通信中,希望有效防止通信双方的欺骗和数字签名的功能是对现实生活中笔迹签名的功能模拟。必须能够用来证实签名的作者和签名的时间。对消息进行签名时,必须能够对消息的内容进行鉴别。签名应具有法律效力,必须能被第三方证实用以解决争端。必须包含对签名进行鉴别的功能。4数字签名的功能是对现实生活中笔迹签名的功能模拟。4数字签名的设计目标签名的比特模式是依赖于消息报文的,也就是说,数据签名是以消息报文作为输入计算出来的,签名能够对消息的内容进行鉴别;数据签名对发送者来说必须是惟一的,能够防止伪造和抵赖;产生数字签名的算法必须相对简单易于实现,且能够在存储介质上保存备份;对数字签名的识别、证实和鉴别也必须相对简单,易于实现;伪造数字签名在计算上是不可行的,无论攻击者采用何种方法(利用数字签名伪造报文,或者对报文伪造数字签名)。5数字签名的设计目标签名的比特模式是依赖于消息报文的,也就是数字签名的解决方案可分为两类:直接数字签名方案;基于仲裁的数字签名方案。6数字签名的解决方案可分为两类:6直接数字签名实现比较简单,在技术上仅涉及到通信的源点X和终点Y双方。终点Y需要了解源点X的公开密钥Kux。

发送方A可以使用其私有密钥KRx对整个消息报文进行加密来生成数字签名。更好的方法是使用KRx对消息报文的散列码进行加密来形成数字签名。7直接数字签名实现比较简单,在技术上仅涉及到通信的源点X和终点直接数字签名的安全性方案的安全性依赖于发送方X私有密钥的安全性。发送方可以声称自己的私有密钥丢失或被盗用,而否认其发送过某个报文。改进:每个签名报文中包含一个时间戳。问题:X的私有密钥确实在时间T被窃取;攻击者窃取X的密钥后,则可能发送带有X的签名报文,附上一个等于T的时间戳,接受者无法判别。8直接数字签名的安全性方案的安全性依赖于发送方X私有密钥的安全基于仲裁的数字签名通过引入仲裁来解决直接签名方案中的问题。仲裁者必须是一个所有通信方都能充分信任的仲裁机构。基本工作方式(假定用户X和Y之间进行通信):每个从X发往Y的签名报文首先被送给仲裁者A;A检验该报文及其签名的出处和内容,然后对报文注明日期,并附加上一个“仲裁证实”的标记发给Y。9基于仲裁的数字签名通过引入仲裁来解决直接签名方案中的问题。基于仲裁的数字签名--对称密钥加密方式发送方X和仲裁A共享一个密钥Kax。

数字签名由X的标识符IDx和报文的散列码H(M)构成,用密钥Kax进行加密。过程:(1)X→A:M‖EKax(IDx‖H(M))。(2)A→Y:EKay(IDx‖M‖EKax(IDx‖H(M))‖T)。(3)Y存储报文M及签名。

10基于仲裁的数字签名--对称密钥加密方式发送方X和仲裁A共享一基于仲裁的数字签名--对称密钥加密方式争端解决方式Y→A:EKay(IDx‖M‖EKax(IDx‖H(M)))。仲裁A可用Kay恢复出IDx

、M及签名,然后再用Kax对签名解密并验证其散列码。特点:Y不能直接验证X的签名。双方都需要高度相信AY相信A已对消息认证,X不能否认其签名;X信任

A没有暴露

Kxa,无人可伪造DS;双方都信任A处理争议是公正。问题:报文M明文传送给,有可能被窃听。11基于仲裁的数字签名--对称密钥加密方式争端解决方式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)。特征:X与Y之间共享密钥Kxy。DS的构成:IDx

和消息密文的散列码用Kxa加密。DS的验证:A解密签名,用散列码验证消息。A只能验证消息的密文,而不能读取其内容。A将来自X的所有信息加上时间戳并用Kay

加密后发送给Y。问题:A和发送方X联手可以否认签名的信息。A和接收方Y联手可以伪造发送方X的签名。12基于仲裁的数字签名--对称密钥加密方式明文加密的方案12基于仲裁的数字签名—公开密钥加密方式特点:仲裁者看不见消息的内容。过程:X对报文M进行两次加密。经过双重加密后,报文M只有Y能够阅读,A不能读取XA:IDx||EKRx[IDx||EKUy[EKRx(M)]]A能进行外层的解密,从而证实报文确实是来自X的因为只有X拥有KRx。验证后A向Y发送用KUy

加密的报文,其中包括时间戳TAY:EKRa[IDx||EKUy[EKRx(M)]||T]优点:通信各方之间无须共享任何信息,从而避免了联手作弊;只要KRa

安全,则不会出现伪造A发送的消息;消息的内容是保密的,包括对A在内。13基于仲裁的数字签名—公开密钥加密方式特点:仲裁者看不见消息的认证(Certification)证实通信中某一方的身份。两个基本的方式:相互鉴别(mutualCertification);单向鉴别(one-wayCertification)。14认证(Certification)证实通信中某一方的身份。相互鉴别目的:用于通信各方之间的相互进行身份认证,同时交换会话密钥。需要解决的核心问题:密钥交换的机密性和时效性。机密性防止会话密钥被篡改或和泄露;用户身份信息和会话密钥都必须以密文形式交换;前提:通信各方与事先保存一个密钥(共享或公开密钥)。时效性为了防止消息的重放攻击。15相互鉴别目的:用于通信各方之间的相互进行身份认证,同时交换会报文重放(replay)攻击攻击过程:窃听。复制或部分复制一个报文。在以后的某个时间重放可以拦截原信息,用重放消息取代;可以在一个合法有效的时间窗内重放一个带时间戳的消息。后果扰乱接收者正常的工作。窃取会话密钥,假扮成一个通信方欺骗其他人。16报文重放(replay)攻击攻击过程:16重放攻击问题的解决方式报文序号方式在认证交换中对消息报文编排序号,消息序号合法时才接受。问题:通信各方必须保持序号同步。时间戳方式在报文中附加发送的时间戳;接收时只有报文时间戳与本地时间足够接近时,才认为是一个合法的新报文。问题:通信各方的时钟同步比较困难;时间窗口的大小如何确定。17重放攻击问题的解决方式报文序号方式17基于对称密钥加密的相互鉴别须具备的条件可信的密钥分配中心(KDC);通信各方都与KDC共享一个主密钥;主密钥Ka

和Kb

是安全。目的:KDC为通信双方A、B产生短期的会话密钥Ks。工作过程:(1) AKDC: IDA||IDB||N1(2) KDCA: EKa[Ks||IDB||N1||EKb(Ks||IDA)](3)AB: EKb[Ks||IDA](4) BA: EKs[N2](5) AB: EKs[f(N2)]18基于对称密钥加密的相互鉴别须具备的条件18基于对称密钥加密的相互鉴别过程A在会话开始时首先向KDC发送报文,包含A和B的标识和一个与时间相关的现时标识符N1。A就可安全地从KDC获得一个新的会话密钥Ks。A将用Kb加密的会话密钥Ks发送给B,这个会话密钥只有B能够通过解密获得。B向A发送用会话密钥加密的现时值N2,向A证实B已经正确获得了会话密钥KsA使用新建立的会话密钥Ks对f(N2)加密后返回给B19基于对称密钥加密的相互鉴别过程A在会话开始时首先向KDC发送基于对称密钥加密的相互鉴别问题:过期的会话密钥X可冒充A,使用过期密钥,并重放第3步的报文,就可以欺骗B。改进:增加时间戳机制:需要通信各方周期性地与KDC通信进行时钟校准。通信时使用现时握手。1,2结合。20基于对称密钥加密的相互鉴别问题:过期的会话密钥20基于对称密钥加密的相互鉴别改进后的协议过程(增加时间戳):(1)AKDC:IDA||IDB(2)KDCA:EKa[Ks||IDB||T||EKb(Ks||IDA||T)](3)AB:EKb[Ks||IDA||T](4)BA:EKs[N1](5)AB:EKs[f(N1)]T是时间戳,需满足:其中,C本地时间,

t1时钟偏差,

t2网络时延。21基于对称密钥加密的相互鉴别改进后的协议过程(增加时间戳)基于对称密钥加密的相互鉴别改进后的协议过程(增加时间戳和现时握手)(1)A→B:IDA‖Na(2)B→KDC:IDB‖Nb‖EKb(IDA‖Na‖Tb)(3)KDC→A:EKa(IDB‖Na‖Ks‖Tb)‖EKb(IDA‖Ks‖Tb)‖Nb(4)A→B :EKb(IDA‖Ks‖Tb)‖EKs(Nb)其中,称EKb(IDA‖Na‖Tb)为访问B的“票据”(ticket)。22基于对称密钥加密的相互鉴别改进后的协议过程(增加时间戳和基于公开密钥加密的相互鉴别过程(1) A→AS: IDA‖IDB(2) AS→A: CA‖CB(3) A→B : CA‖CB‖EKUb(EKRa(Ks‖T))其中:A的公钥和私钥分别为KUa和Kra;B的公钥和私钥分别为

KUb

和KRb;AS(鉴别中心)的公钥和私钥分别为KUas

和KRas;CA=EKRas(IDA‖KUa‖T),A的公开密钥证书;CB=EKRas(IDB‖KUb‖T),B的公开密钥证书。23基于公开密钥加密的相互鉴别过程23基于公开密钥加密的相互鉴别改进(使用现时值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)24基于公开密钥加密的相互鉴别改进(使用现时值N代替时间戳)2单向鉴别One-WayAuthentication。主要用于电子邮件认证等应用。特点:发方和收方无需同时在线。鉴别时收发方不能在线交互。25单向鉴别One-WayAuthentication。25基于对称密钥加密的单向鉴别以KDC策略为基础。具体过程:(1)A→KDC:IDA‖IDB‖N1(2)KDC→A:EKa(Ks‖IDB‖N1‖EKb(Ks‖IDA))(3)A→B :EKb(Ks‖IDA)‖EKs(M)其中,Ka、Kb分别为A和B与KDC间的共享主密钥,N1为一个现时值。26基于对称密钥加密的单向鉴别以KDC策略为基础。26基于公开密钥加密的单向鉴别保密性为主:A→B:EKUb(Ks)‖EKs(M)。签名和鉴别:A→B:M‖EKRa(H(M))。保密和鉴别:A→B:EKUb(M‖EKRa(H(M)))。数字证书:A→B:M‖EKRa(H(M))‖EKRas(T‖IDA‖KUa)。27基于公开密钥加密的单向鉴别保密性为主:A→B:EKU数字签名标准(DSS)美国国家标准技术研究所(NIST)公布的美国联邦信息处理标准FIPSPUB186。DSS最早发表于1991年,并于1993年和1996年进行了修改。DSS基于安全散列算法(SHA)并设计了一种新的数字签名技术,即DSA(数字签名算法)。28数字签名标准(DSS)美国国家标准技术研究所(NIST)公数字签名算法(DSA)设计基础基于离散对数的计算。三个p、q、g作为全局公开的密钥分量:p是一个素数,其长度在512比特到1024比特之间,可以对p进行更精确的描述:p是素数,且满足2L-1≤p≤2L(其中512≤L≤1024,且L是64的倍数);q是一个长度在160为素数,且q是p-1的一个素因子,即2159≤p≤2160,且(p-1)mod

q=0;g定义为g=h(p-1)/qmodp,其中h是一个整数,且满足1≤h≤(p-1),故g=h(p-1)/q

modp>1。用户的私有密钥x必须是一个1~(p-l)之间的随机数或伪随机数(即1<x<p)。公开密钥y利用私有密钥计算出来的:y=gx

mod

p。29数字签名算法(DSA)设计基础基于离散对数的计算。29DSS的数字签名方案30DSS的数字签名方案30DSS的数字签名方案同时采用散列函数H()和签名函数Sig()。签名函数的输入是散列函数输出的散列码及一个用于生成签名的随机数k。签名函数还需要使用发送方的私有密钥(用KRa表示)和由参数集构成了组成一个全局公开密钥(KUG)。签名函数输出的最终结果(即数字签名)由两个分量组成,记为s和r。

在接收端,验证函数的输入包括了报文的散列码、数字签名、全局公开密钥KUG以及发送方公开密钥KUa。

31DSS的数字签名方案同时采用散列函数H()和签名函数Sig(签名函数Sig()输入为:公开的密钥分量(p,q,g);用户私有密钥x;报文的散列码H(M),报文的散列码采用SHA-1算法计算;一个额外的整数密数k,k是随机或伪随机整数,且对每个签名是惟一,也就是说对每一个报文需要选择不同的k。32签名函数Sig()输入为:32验证函数(Ver)33验证函数(Ver)33DSS的签名函数和验证函数34DSS的签名函数和验证函数34身份认证技术及协议数字签名和鉴别技术的一个最主要的应用领域就是身份认证。35身份认证技术及协议35纯认证系统模型认证的基本思想是通过验证称谓者的一个或多个参数的真实性和有效性,以验证其是否名副其实。身份认证是系统对网络主体进行验证的过程,用户必须向证明他是谁。36纯认证系统模型认证的基本思想是通过验证称谓者的一个或多个参身份认证技术和数字签名的区别两者都是确保数据真实性的安全措施。认证一般是基于收发双方共享的保密数据,以证实被鉴别对象的真实性;而用于验证签名的数据是公开的。认证允许收发双方互相验证其真实性,数字签名则允许第三者验证。对于数字签名来说,发送方不能抵赖、接收方不能伪造,并且可由仲裁进行调解,而认证却不一定具备这些特点。认证技术的实现可能需要使用数字签名技术。37身份认证技术和数字签名的区别两者都是确保数据真实性的安全措施身份认证系统的特征验证者正确识别合法客户的概率极大。攻击者伪装示证者骗取验证者信任的成功率极小化。通过重放认证信息进行欺骗和伪装的成功率极小。计算有效性,实现身份认证的算法计算量足够小。通信有效性,实现身份认证所需的通信量足够小。秘密参数能够安全存储。第三方的可信赖性。可证明安全性。38身份认证系统的特征验证者正确识别合法客户的概率极大。38基本的身份认证方法主体特征认证视网膜扫描、声音验证、指纹识别器。口令机制口令是约定的代码,假设只有用户和系统知道。智能卡访问不但需要口令,也需要使用物理智能卡。一次性口令用户每次使用不同的口令,需要口令发生器设备。PAP协议(PasswordAuthenticationProtocol)用于PPP(点对点)协议的身份认证协议,明文口令传输。CHAP协议(ChallengeHandshakeAuthenticationProtocol)不在网络上传送口令信息,比PAP具有更强的安全性。39基本的身份认证方法主体特征认证39分布式环境中的身份认证分布式网络环境由大量的客户工作站和分布在网络中的公共服务器组成;服务器向网络用户提供各种网络应用的服务,是关键;用户需要访问分布在网络不同位置上的服务。服务器的安全服务器需要通过授权来限制用户对资源的访问;授权和访问限制建立用户身份认证基础上的。网络系统的安全性可采用不同身份认证策略实现:基于客户工作站的用户身份认证;基于客户系统的身份认证;基于服务的用户身分认证。40分布式环境中的身份认证分布式网络环境40身份认证协议——Kerberos是美国麻省理工学院(MIT)开发的一种身份鉴别服务。“Kerberos”的本意是希腊神话中守护地狱之门的守护者。Kerberos提供了一个集中式的认证服务器结构,认证服务器的功能是实现用户与其访问的服务器间的相互鉴别。Kerberos建立的是一个实现身份认证的框架结构。其实现采用的是对称密钥加密技术,而未采用公开密钥加密。公开发布的Kerberos版本包括版本4和版本5。41身份认证协议——Kerberos是美国麻省理工学院(MIKerberos的设计目标安全性能够有效防止攻击者假扮成另一个合法的授权用户。可靠性分布式服务器体系结构,提供相互备份。对用户透明性可伸缩能够支持大数量的客户和服务器。42Kerberos的设计目标安全性42Kerberos的设计思路(1)基本思路:使用一个(或一组)独立的认证服务器(AS—AuthenticationServer),来为网络中的客户提供身份认证服务;认证服务器(AS),用户口令由AS保存在数据库中;AS与每个服务器共享一个惟一保密密钥(已被安全分发)。会话过程:(1)CAS:IDC||PC||IDV(2)ASC:Ticket(3)CV:IDC||TicketTicket=EKV[IDC||ADC||IDV]43Kerberos的设计思路(1)基本思路:43Kerberos的设计思路(2)问题:用户希望输入口令的次数最少。口令以明文传送会被窃听。解决办法票据重用(ticketreusable)。引入票据许可服务器(TGS-ticket-grantingserver)用于向用户分发服务器的访问票据;认证服务器AS并不直接向客户发放访问应用服务器的票据,而是由TGS服务器来向客户发放。44Kerberos的设计思路(2)问题:44Kerberos中的票据两种票据服务许可票据(Servicegrantingticket)是客户时需要提供的票据;用TicketV表示访问应用服务器V的票据。TicketV

定义为EKv[IDC‖ADC‖IDV‖TS2‖LT2]。票据许可票据(Ticketgrantingticket)客户访问TGS服务器需要提供的票据,目的是为了申请某一个应用服务器的“服务许可票据”;票据许可票据由AS发放;用Tickettgs表示访问TGS服务器的票据;Tickettgs在用户登录时向AS申请一次,可多次重复使用;Tickettgs

定义为EKtgs[IDC‖ADC‖IDtgs‖TS1‖LT1]。45Kerberos中的票据两种票据45KerberosV4认证过程示意图46KerberosV4认证过程示意图46KerberosV4认证过程(1)第一阶段,认证服务器的交互,用于获取票据许可票据:(1)C→AS:IDC‖IDtgs‖TS1(2)AS→C:EKc[KC,tgs‖IDtgs‖TS2‖LT2‖Tickettgs]

其中:Tickettgs=EKtgs[KC,tgs‖IDC‖ADC‖IDtgs‖TS2‖LT2]47KerberosV4认证过程(1)第一阶段,认证服务器的交KerberosV4认证过程(2)第二阶段,票据许可服务器的交互,用于获取服务许可票据:

(3)C→TGS:IDV‖Tickettgs‖AUC(4)TGS→C:EKc,tgs[KC,V‖IDV‖TS4‖TicketV]

其中:

Tickettgs=EKtgs[KC,tgs‖IDC‖ADC‖IDtgs‖TS2‖LT2] TicketV=EKv[KC,V‖IDC‖ADC‖IDV‖TS4‖LT4] AUC=EKc,tgs[IDC‖ADC‖TS3]48KerberosV4认证过程(2)第二阶段,票据许可服务器KerberosV4认证过程(3)第三阶段,客户与应用服务器的交互,用于获得服务:(5)C→V:TicketV‖AUC(6)V→C:EKc,v[TS5+1]

其中: TicketV=EKv[KC,V‖IDC‖ADC‖IDV‖TS4‖LT4]AUC=EKc,v[IDC‖ADC‖TS5]49KerberosV4认证过程(3)第三阶段,客户与应用服务KerberosV4中各关键元素的说明(1)

50KerberosV4中各关键元素的说明(1)50KerberosV4中各关键元素的说明(2)51KerberosV4中各关键元素的说明(2)51KerberosV4中各关键元素的说明(3)52KerberosV4中各关键元素的说明(3)52Kerberos领域(realm)构成:一个完整的Kerberos环境包括一个Kerberos服务器,一组工作站和一组应用服务器。Kerberos服务器数据库中拥有所有参与用户的UID和口令散列表。Kerberos服务器必须与每一个服务器之间共享一个保密密钥。所有用户均在Kerberos服务器上注册。所有服务器均在Kerberos服务器上注册。领域的划分是根据网络的管理边界来划定的。53Kerberos领域(realm)构成:一个完整的KerKerberos领域间的互通跨领域的服务访问一个用户可能需要访问另一个Kerberos领域中应用服务器;一个应用服务器也可以向其他领域中的客户提供网络服务。领域间互通的前提支持不同领域之间进行用户身份鉴别的机制;互通领域中的Kerberos服务器之间必须共享一个密钥;同时两个Kerberos服务器也必须进行相互注册。54Kerberos领域间的互通跨领域的服务访问54远程服务访问的认证过程55远程服务访问的认证过程55Kerberosv4的缺陷依赖性加密系统的依赖性(DES)、对IP协议的依赖性和对时间依赖性。字节顺序票据有效期有效期最小为5分钟,最大约为21小时,往往不能满足要求。认证转发能力不允许签发给一个用户的鉴别证书转发给其他工作站或其他客户使用。领域间的鉴别管理起来困难。加密操作缺陷非标准形式的DES加密(传播密码分组链接PCBC)方式,易受攻击。会话密钥存在着攻击者重放会话报文进行攻击的可能。口令攻击未对口令提供额外的保护,攻击者有机会进行口令攻击。56Kerberosv4的缺陷依赖性56Kerberosv5的改进加密系统支持使用任何加密技术。通信协议

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论