第3章数据加密4new课件_第1页
第3章数据加密4new课件_第2页
第3章数据加密4new课件_第3页
第3章数据加密4new课件_第4页
第3章数据加密4new课件_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

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

文档简介

3.5密钥长度3.6报文鉴别技术3.7数字签名3.5密钥长度13.5密钥长度

决定密钥长度需要考虑多方面的因素:数据价值有多大?数据要多长的安全期?攻击者的资源情况怎样?3.5密钥长度决定密钥长度需要考虑多方面的因素:21.不同安全需求的密钥长度

信息类型时间(安全期)最小密钥长度战场军事信息产品发布、合并、利率贸易秘密氢弹秘密间谍的身份个人隐私外交秘密数分钟/小时几天/几周几十年>40年>50年>50年>65年56-64bits64bits112bits128bits128bits128bits至少128bits1.不同安全需求的密钥长度信息类型3计算机的计算能力和加密算法的发展也影响密钥长度选择的重要因素。根据摩尔定律估计:计算机设备的性价比每18年月翻一番或以每5年10倍的速度增长。即在50年内最快的计算机比今天快1010倍,但这只是对于普通用途的计算机。选择比需要的密钥长度更长的密钥。计算机的计算能力和加密算法的发展也影响密钥长度选择的重要因素42.对称密钥长度对称密钥密码体制的安全性是算法强度和密钥长度的函数:前者比较重要而后者则更容易描述.假设算法具有足够的强度,即除了穷举攻击的方式试探所有的密钥外没有更好的方法破译密码系统,则更容易计算密钥长度和一次穷举攻击的复杂程度之间之间的关系.决定穷举攻击的速度的要素有两个:需要测试的密钥量—密钥长度及每个可能密钥的测试速度---算法和资源(并行处理器:每个处理器测试密钥空间中的一个子集).2.对称密钥长度对称密钥密码体制的安全性是算法强度和密钥长度5硬件穷举攻击对称密钥的平均时间估计(1995年)

代价(美元)密钥长度(比特)

40566480112128100K2秒35小时1年70,000年1014年1019年1M0.2秒3.5小时37年7000年1013年1018年10M0.02秒21分钟4天700年1012年1017年100M2毫秒2分钟9小时70年1011年1016年1G0.2毫秒13秒1小时7年1010年1015年10G0.02毫秒1秒5.4分钟245天109年1014年100G2微秒0.1秒32秒24天108年1013年1T0.2微秒0.01秒3秒2.4天107年1012年10T0.02微秒1毫秒0.3秒6小时106年1011年硬件穷举攻击对称密钥的平均时间估计(1995年)代价63.公钥密钥长度公钥算法RSA是基于分解一个大整数的难度,而大整数是两个大素数的乘积.受到穷举攻击的威胁,破译它们的出发点并不是穷举所的的密钥进行测试而是试图分解这个大整数.大整数取多大直接关系到安全程度,即关系进行因子分解所需要的代价和成功的可能性.计量单位:即计算机的计算能力----MIPS(每秒百万条指令,即CPU执行指令的速度)MIPS-年:表示一个任务需要1MIPS的机器运行多少年来完成.3.公钥密钥长度公钥算法RSA是基于分解一个大整数的难度,而7一般数域筛选法进行因子分解位数分解所需的MIPS年512300007682×10810243×101112801×101415363×101620484×1020一般数域筛选法进行因子分解位数分解所需的MIPS年512308公钥密钥长度的推荐值(位)年份对个人对公司对政府1995768128015362000102412801536200512801536204820101280153620482015153620482048公钥密钥长度的推荐值(位)年份对个人对公司对政府1995769攻击难度相当的对称密钥密码和公钥密码的密钥长度(位)

对称密钥密码的密钥长度公钥密码的密钥长度56bits384bits64bits512bits80bits768bits112bits1792bits128bits2304bits攻击难度相当的对称密钥密码和公钥密码的密钥长度(位)103.6报文鉴别技术在应用环境中,用户通过网络传输大量的报文(消息),出于安全性考虑,必须对消息或报文的有效性和合法性进行鉴别或认证。网络通信的安全威胁泄漏消息的内容被泄漏没有合法权限的人或过程。伪造以假冒源点的身份向网络中插入报文;例如,攻击者伪造消息发送给目的端,却声称该消息源来自一个已授权的实体。消息篡改内容篡改:以插入、删除、调换或修改等方式篡改消息;序号篡改:在依赖序号的通信协议中(如TCP)等,对通信双方报文序号的进行篡改,包括插入、删除和重排序等;时间篡改:对报文进行延迟或回放,破坏其时间上的完整性。行为抵赖接收端否认收到某报文;源点否认发过某报文。3.6报文鉴别技术在应用环境中,用户通过网络传输大量的报文113.6.1报文鉴别的概念报文鉴别(MessageAuthentication)Message:消息、报文。Authentication:鉴别、认证。鉴别:消息的接收者对消息进行的验证。真实性:消息确实来自于其真正的发送者,而非假冒;完整性:消息的内容没有被篡改。3.6.1报文鉴别的概念报文鉴别(MessageAuthe12报文鉴别(消息认证)就是验证消息的完整性.当接收方收到发送方的报文时,接收方能够验证收到的报文是真实的未被篡改的。保密和认证同时是信息系统安全的两个方面,但它们是两个不同属性的问题,认证不能自动提供保密性,而保密性也不能自然提供认证功能。报文鉴别(消息认证)就是验证消息的完整性.当接收方收到发送方133.6.2报文鉴别系统的功能从层次角度上来看,报文鉴别系统的功能一般可以划分成两个基本的层次:鉴别算法:在较低的层次上,系统需要提供某种报文鉴别函数f来产生一个用于实现报文鉴别的鉴别符或鉴别码;鉴别协议:消息的接收者通过鉴别协议完成对报文合法性的鉴别,底层的鉴别函数通常作为一个原语,为高层鉴别协议的各项功能提供服务;鉴别函数f是决定鉴别系统特性的主要因素。3.6.2报文鉴别系统的功能从层次角度上来看,报文鉴别系统的14可用来做认证的函数分为三类(1)信息加密函数(Messageencryption)用完整信息的密文作为对信息的认证(2)信息认证码MAC(MessageAuthenticationCode)是对信源消息的一个编码函数(3)散列函数(HashFunction)或信息摘要是一个公开的函数,它将任意长的信息映射成一个固定长度的信息可用来做认证的函数分为三类153.6.3基于报文加密方式的鉴别信息加密函数作认证信息加密函数分二种:一种是常规的对称密钥加密函数;另一种是公开密钥的双密钥加密函数。3.6.3基于报文加密方式的鉴别信息加密函数作认证16基于报文加密方式的鉴别(1)

——对称密钥加密方式对称密钥加密方式:加密的同时提供保密和鉴别。基于报文加密方式的鉴别(1)

——对称密钥加密方式对称密钥加17对称密钥加密方式问题:由于消息M的内容对于终点B是未知的,因此B如何判断收到的密文X的合法性?如果消息M是具有某种语法特征的文本,或者M本身具有一定的结构:B可通过分析Y的语法或结构特征。如果消息M是完全随机的二进制比特序列:B无法判断是否正确恢复密文。解决办法:强制明文使其具有某种结构。这种结构易于识别、不能被复制,同明文相关,并且不依赖于加密。对称密钥加密方式问题:由于消息M的内容对于终点B是未知的,因18基于报文加密方式的鉴别(2)附加报文鉴别结构

源点A对消息明文M首先利用校验函数F计算出消息的校验码C=F(M);校验码C=F(M)被附加到原始消息明文上,生成新的明文[M‖C];利用密钥K对明文[M‖C]进行加密,得到密文X=EK[M‖C];将密文X发送给接收端B终点B接收密文X;用密钥K解密得到明文Y=DK(X),其中Y被视为附加校验码的消息,即Y=[M′‖C′];利用校验函数F计算明文Y中消息部分的校验码F(M′)。若校验码相匹配,即F(M′)=C′,则可确认报文是可信的,M′就是原始消息M,并且可以确认该报文就是来自A的。基于报文加密方式的鉴别(2)附加报文鉴别结构源点A终点B19附加报文鉴别结构注:检验码的生成和加密函数执行的顺序是至关重要。检验码必须被作为内部的差错控制,在加密之前附加到明文上,才能提供鉴别功能。因为攻击者很难在密文中产生一个检验码,使其在解密后仍然有效。如果报文内容本身就具有一定的控制结构,也能够加强鉴别的抗攻击能力。如,在TCP/IP协议体系中,若采用TCP协议来传送消息,则可对TCP报文段进行加密。由于TCP报文段本身具有特定的控制结构和格式,如果经过解密的TCP报文段不能通过TCP协议自身的合法性检查,就可说明该报文是非法的。附加报文鉴别结构注:检验码的生成和加密函数执行的顺序是至关重20基于报文加密方式的鉴别(3)

——非对称密钥加密方式在公开密钥体系结构中,直接使用公开密钥加密方式只能提供保密,而不能自动提供鉴别功能。源点A使用终点B的公开密钥Kub对报文进行加密,由于只有终点B拥有其对应的私有密钥KRb,因此只有B能对报文进行解密——保密功能。不提供鉴别功能,因为任何人均可使用B的公开密钥来加密报文,而假称报文是发自A的,终点B也无法确定消息的发送者。基于报文加密方式的鉴别(3)

——非对称密钥加密方式在公开密21基于报文加密方式的鉴别(3)

——非对称密钥加密方式私有密钥加密方式:提供报文鉴别和签名功能,不提供加密功能。基于报文加密方式的鉴别(3)

——非对称密钥加密方式私有密钥223.6.4报文鉴别码MAC报文鉴别码或消息鉴别码(messageauthenticationcode,MAC):核心是一个类似于加密的算法CK()。CK()在密钥的作用下,以报文内容作为输入,其输出值是一个较短的定长数据分组,也就是MAC,即:MAC=CK(M)MAC被附加在报文中传输,用于消息的合法性鉴别。3.6.4报文鉴别码MAC报文鉴别码或消息鉴别码(messa23采用报文鉴别码的鉴别方式采用报文鉴别码的鉴别方式24报文鉴别码的功能如果B端通过比较发现MAC匹配,则可确信报文M没有被篡改过(完整性)若攻击者更改报文内容而末更改MAC,则接收者计算出的MAC将不同于接收到的MAC;由于攻击者不知道密钥K,不可能计算出一个与更改后报文相对应MAC值。接收者B也能够确信报文M是来自发送者A的(真实性)只有A了解密钥K,也只有A能够计算出报文M所对应的正确的MAC值。报文鉴别码的功能如果B端通过比较发现MAC匹配,则可确信报文253.6.5散列函数

hashfunction:哈希函数、摘要函数,又称为杂凑函数。输入:任意长度的消息报文M。输出:一个固定长度的散列码值H(M)。是报文中所有比特的函数值。单向函数。3.6.5散列函数hashfunction:哈希函数、摘26基本的散列函数报文鉴别基本的散列函数报文鉴别27仅对散列码进行加密的鉴别方案仅对散列码进行加密的鉴别方案28最常用的信息摘要算法叫做MD5,可产生一个128位长的摘要。md5的全称是message-digestalgorithm5(信息-摘要算法),在90年代初由mitlaboratoryforcomputerscience和rsadatasecurityinc的ronaldl.rivest开发出来,经md2、md3和md4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是md2、md4还是md5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。这三个算法的描述和c语言源代码在internetrfcs1321中有详细的描述(),这是一份最权威的文档,由ronaldl.rivest在1992年8月向ieft提交。最常用的信息摘要算法叫做MD5,可产生一个128位长的摘要。29MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现(两个MD5值不相同)。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。MD5的典型应用是对一段Message(字节串)产生fing30对信息签名过程如下:(1)用户制作信息摘要;(2)信息摘要由发送者的专用密钥加密;(3)原始信息和加密信息摘要发送到目的地;(4)目的地接收信息,并使用与原始信息相同的信息摘要函数对信息制作其自己的信息摘要;(5)目的地还对所收到的信息摘要进行解密;(6)目的地将制作的信息摘要同附有信息的信息摘要进行对比,如果相吻合,目的地就知道信息的文本与用户发送的信息文本是相同的,如果二者不吻合,则目的地知道原始信息已经被修改过。对信息签名过程如下:313.7.1应用需要和数字签名的产生网络通信中,希望有效防止通信双方的欺骗和抵赖行为。简单的报文鉴别技术用以保护双方之间的数据交换不被第三方侵犯;但它并不保证双方自身的相互欺骗。假定A发送一个认证的信息给B,双方之间的争议可能有多种形式:B伪造一个不同的消息,但声称是从A收到的。A可以否认发过该消息,B无法证明A确实发了该消息。原因:鉴别技术基于秘密共享。数字签名技术为此提供了一种解决方案。3.7数字签名3.7.1应用需要和数字签名的产生3.7数字签名321.数字签名的概念数字签名是指只有发送者才能产生的别人无法伪造的一段数字串,这段字符串同时也是对发送者发送信息真实性的一个证明。传统书面文件上签名的作用:一是因为自己的签名难以否认,从而确定了文件已签署这一事实;二是因为签名不易仿冒,从而确定了文件是真实的这一事实。1.数字签名的概念数字签名是指只有发送者才能产生的别人无法伪332.数字签名的设计目标

签名是依赖于消息报文的,即,数字签名是以消息报文作为输入计算出来的,签名能够对消息的内容进行鉴别;签名是可以被确认的,即收方可以确认或证实签名确实是由发方签名的;数据签名对发送者来说必须是惟一的,伪造数字签名在计算上是不可行的,能够防止伪造和抵赖;产生数字签名的算法必须相对简单易于实现,对数字签名的识别、证实和鉴别也必须相对简单,易于实现;签名不可重用,即签名是消息(文件)的一部分,不能把签名移到其它消息(文件)上;签名是不可抵赖的,即发方不能否认他所签发的消息。2.数字签名的设计目标签名是依赖于消息报文的,即,数字签名34数字签名必须保证:可验证:签名是可以被确认的防抵赖:发送者事后不承认发送报文并签名;防假冒:攻击者冒充发送者向收方发送文件;防篡改:收方对收到的文件进行篡改;防伪造:收方伪造对报文的签名。数字签名必须保证:35数字签名分类以方式分直接数字签名directdigitalsignature仲裁数字签名arbitrateddigitalsignature以安全性分无条件安全的数字签名计算上安全的数字签名以可签名次数分一次性的数字签名多次性的数字签名3.7.2数字签名的解决方案数字签名分类3.7.2数字签名的解决方案361.直接数字签名X用其私钥加密文件,这便是签名过程;X将加密的文件送到Y;Y用X的公钥解开X送来的文件。实现比较简单,在技术上仅涉及到通信的源点X和终点Y双方。终点Y需要了解源点X的公开密钥Kux。

发送方X可以使用其私有密钥KRx对整个消息报文进行加密来生成数字签名。更好的方法是使用KRx对消息报文的散列码进行加密来形成数字签名。1.直接数字签名37直接数字签名的安全性方案的安全性依赖于发送方X私有密钥的安全性。发送方可以声称自己的私有密钥丢失或被盗用,而否认其发送过某个报文。改进:每个签名报文中包含一个时间戳(数字时间戳是由第三方提供的一种可信时间标记服务,通过该服务获得的数字时间戳数据可以用来证明在某一时刻数据已经存在)。问题:X的某些私有密钥确实在时间T被窃取,敌方可以伪造X的签名及早于或等于时间T的时间戳直接数字签名的安全性方案的安全性依赖于发送方X私有密钥的安全382.基于仲裁的数字签名直接数字签名的缺陷:签名者声称私钥被盗,签名是他人假冒。为此引入第三方作仲裁者。仲裁者必须是一个所有通信方都能充分信任的权威的第三方仲裁机构。基本工作方式(假定用户X和Y之间进行通信):每个从X发往Y的签名报文首先被送给仲裁者A;A检验该报文及其签名的出处和内容,然后对报文注明日期,并附加上一个“仲裁证实”的标记发给Y。2.基于仲裁的数字签名39基于仲裁的数字签名--对称密钥加密方式发送方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及签名。

作用:Y能够判断出M是不是过时的报文基于仲裁的数字签名--对称密钥加密方式发送方X和仲裁A共享一40基于仲裁的数字签名--对称密钥加密方式争端解决方式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明文传送给A,有可能被窃听。基于仲裁的数字签名--对称密钥加密方式争端解决方式41基于仲裁的数字签名--对称密钥加密方式明文加密的方案(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的签名。基于仲裁的数字签名--对称密钥加密方式明文加密的方案42基于仲裁的数字签名—公开密钥加密方式过程: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在内。基于仲裁的数字签名—公开密钥加密方式过程:43数字签名的简单应用Alice向Bob传送数字信息,为了保证信息传送的保密性、真实性、完整性和不可否认性,需要对要传送的信息进行加密、消息摘要和数字签名,其传送过程如下:

数字签名的简单应用Alice向Bob传送数字信息,为了保证信44Alice准备好要传送的数字信息(明文)。Alice对数字信息进行哈希(hash)运算,得到一个信息摘要。Alice用自己的私钥(SK)对信息摘要进行加密得到Alice的数字签名,并将其附在数字信息上。Alice随机产生一个加密密钥(DES密钥),并用此密钥对要发送的信息进行加密,形成密文。数字签名的简单应用Alice准备好要传送的数字信息(明文)。数字签名的简单应用45Alice用Bob的公钥(PK)对随机产生的加密密钥进行加密,将加密后的DES密钥连同密文一起传送给Bob。Bob收到Alice传送过来的密文和加过密的DES密钥,先用自己的私钥(SK)对加密的DES密钥进行解密,得到DES密钥。Bob然后用DES密钥对收到的密文进行解密,得到明文的数字信息,然后将DES密钥抛弃(即DES密钥作废)。数字签名的简单应用Alice用Bob的公钥(PK)对随机产生的加密密钥进行加密46Bob用Alice的公钥(PK)对Alice的数字签名进行解密,得到信息摘要。Bob用相同的hash算法对收到的明文再进行一次hash运算,得到一个新的信息摘要。Bob将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。数字签名的简单应用Bob用Alice的公钥(PK)对Alice的数字签名进行解47签名、鉴别与加密签名提供真实性(authentication)鉴别提供完整性加密提供保密性(confidentiality)“签名+消息摘要+加密”提供“真实性+完整性+保密性”实现方式:(AB)先消息摘要,而后签名,最后加密:先消息摘要,而后加密,最后签名:签名、鉴别与加密签名提供真实性(authentication48经常不断地学习,你就什么都知道。你知道得越多,你就越有力量StudyConstantly,AndYouWillKnowEverything.TheMoreYouKnow,TheMorePowerfulYouWillBe写在最后经常不断地学习,你就什么都知道。你知道得越多,你就越有力量写49ThankYou在别人的演说中思考,在自己的故事里成长ThinkingInOtherPeople‘SSpeeches,GrowingUpInYourOwnStory讲师:XXXXXXXX年XX月XX日ThankYou503.5密钥长度3.6报文鉴别技术3.7数字签名3.5密钥长度513.5密钥长度

决定密钥长度需要考虑多方面的因素:数据价值有多大?数据要多长的安全期?攻击者的资源情况怎样?3.5密钥长度决定密钥长度需要考虑多方面的因素:521.不同安全需求的密钥长度

信息类型时间(安全期)最小密钥长度战场军事信息产品发布、合并、利率贸易秘密氢弹秘密间谍的身份个人隐私外交秘密数分钟/小时几天/几周几十年>40年>50年>50年>65年56-64bits64bits112bits128bits128bits128bits至少128bits1.不同安全需求的密钥长度信息类型53计算机的计算能力和加密算法的发展也影响密钥长度选择的重要因素。根据摩尔定律估计:计算机设备的性价比每18年月翻一番或以每5年10倍的速度增长。即在50年内最快的计算机比今天快1010倍,但这只是对于普通用途的计算机。选择比需要的密钥长度更长的密钥。计算机的计算能力和加密算法的发展也影响密钥长度选择的重要因素542.对称密钥长度对称密钥密码体制的安全性是算法强度和密钥长度的函数:前者比较重要而后者则更容易描述.假设算法具有足够的强度,即除了穷举攻击的方式试探所有的密钥外没有更好的方法破译密码系统,则更容易计算密钥长度和一次穷举攻击的复杂程度之间之间的关系.决定穷举攻击的速度的要素有两个:需要测试的密钥量—密钥长度及每个可能密钥的测试速度---算法和资源(并行处理器:每个处理器测试密钥空间中的一个子集).2.对称密钥长度对称密钥密码体制的安全性是算法强度和密钥长度55硬件穷举攻击对称密钥的平均时间估计(1995年)

代价(美元)密钥长度(比特)

40566480112128100K2秒35小时1年70,000年1014年1019年1M0.2秒3.5小时37年7000年1013年1018年10M0.02秒21分钟4天700年1012年1017年100M2毫秒2分钟9小时70年1011年1016年1G0.2毫秒13秒1小时7年1010年1015年10G0.02毫秒1秒5.4分钟245天109年1014年100G2微秒0.1秒32秒24天108年1013年1T0.2微秒0.01秒3秒2.4天107年1012年10T0.02微秒1毫秒0.3秒6小时106年1011年硬件穷举攻击对称密钥的平均时间估计(1995年)代价563.公钥密钥长度公钥算法RSA是基于分解一个大整数的难度,而大整数是两个大素数的乘积.受到穷举攻击的威胁,破译它们的出发点并不是穷举所的的密钥进行测试而是试图分解这个大整数.大整数取多大直接关系到安全程度,即关系进行因子分解所需要的代价和成功的可能性.计量单位:即计算机的计算能力----MIPS(每秒百万条指令,即CPU执行指令的速度)MIPS-年:表示一个任务需要1MIPS的机器运行多少年来完成.3.公钥密钥长度公钥算法RSA是基于分解一个大整数的难度,而57一般数域筛选法进行因子分解位数分解所需的MIPS年512300007682×10810243×101112801×101415363×101620484×1020一般数域筛选法进行因子分解位数分解所需的MIPS年5123058公钥密钥长度的推荐值(位)年份对个人对公司对政府1995768128015362000102412801536200512801536204820101280153620482015153620482048公钥密钥长度的推荐值(位)年份对个人对公司对政府19957659攻击难度相当的对称密钥密码和公钥密码的密钥长度(位)

对称密钥密码的密钥长度公钥密码的密钥长度56bits384bits64bits512bits80bits768bits112bits1792bits128bits2304bits攻击难度相当的对称密钥密码和公钥密码的密钥长度(位)603.6报文鉴别技术在应用环境中,用户通过网络传输大量的报文(消息),出于安全性考虑,必须对消息或报文的有效性和合法性进行鉴别或认证。网络通信的安全威胁泄漏消息的内容被泄漏没有合法权限的人或过程。伪造以假冒源点的身份向网络中插入报文;例如,攻击者伪造消息发送给目的端,却声称该消息源来自一个已授权的实体。消息篡改内容篡改:以插入、删除、调换或修改等方式篡改消息;序号篡改:在依赖序号的通信协议中(如TCP)等,对通信双方报文序号的进行篡改,包括插入、删除和重排序等;时间篡改:对报文进行延迟或回放,破坏其时间上的完整性。行为抵赖接收端否认收到某报文;源点否认发过某报文。3.6报文鉴别技术在应用环境中,用户通过网络传输大量的报文613.6.1报文鉴别的概念报文鉴别(MessageAuthentication)Message:消息、报文。Authentication:鉴别、认证。鉴别:消息的接收者对消息进行的验证。真实性:消息确实来自于其真正的发送者,而非假冒;完整性:消息的内容没有被篡改。3.6.1报文鉴别的概念报文鉴别(MessageAuthe62报文鉴别(消息认证)就是验证消息的完整性.当接收方收到发送方的报文时,接收方能够验证收到的报文是真实的未被篡改的。保密和认证同时是信息系统安全的两个方面,但它们是两个不同属性的问题,认证不能自动提供保密性,而保密性也不能自然提供认证功能。报文鉴别(消息认证)就是验证消息的完整性.当接收方收到发送方633.6.2报文鉴别系统的功能从层次角度上来看,报文鉴别系统的功能一般可以划分成两个基本的层次:鉴别算法:在较低的层次上,系统需要提供某种报文鉴别函数f来产生一个用于实现报文鉴别的鉴别符或鉴别码;鉴别协议:消息的接收者通过鉴别协议完成对报文合法性的鉴别,底层的鉴别函数通常作为一个原语,为高层鉴别协议的各项功能提供服务;鉴别函数f是决定鉴别系统特性的主要因素。3.6.2报文鉴别系统的功能从层次角度上来看,报文鉴别系统的64可用来做认证的函数分为三类(1)信息加密函数(Messageencryption)用完整信息的密文作为对信息的认证(2)信息认证码MAC(MessageAuthenticationCode)是对信源消息的一个编码函数(3)散列函数(HashFunction)或信息摘要是一个公开的函数,它将任意长的信息映射成一个固定长度的信息可用来做认证的函数分为三类653.6.3基于报文加密方式的鉴别信息加密函数作认证信息加密函数分二种:一种是常规的对称密钥加密函数;另一种是公开密钥的双密钥加密函数。3.6.3基于报文加密方式的鉴别信息加密函数作认证66基于报文加密方式的鉴别(1)

——对称密钥加密方式对称密钥加密方式:加密的同时提供保密和鉴别。基于报文加密方式的鉴别(1)

——对称密钥加密方式对称密钥加67对称密钥加密方式问题:由于消息M的内容对于终点B是未知的,因此B如何判断收到的密文X的合法性?如果消息M是具有某种语法特征的文本,或者M本身具有一定的结构:B可通过分析Y的语法或结构特征。如果消息M是完全随机的二进制比特序列:B无法判断是否正确恢复密文。解决办法:强制明文使其具有某种结构。这种结构易于识别、不能被复制,同明文相关,并且不依赖于加密。对称密钥加密方式问题:由于消息M的内容对于终点B是未知的,因68基于报文加密方式的鉴别(2)附加报文鉴别结构

源点A对消息明文M首先利用校验函数F计算出消息的校验码C=F(M);校验码C=F(M)被附加到原始消息明文上,生成新的明文[M‖C];利用密钥K对明文[M‖C]进行加密,得到密文X=EK[M‖C];将密文X发送给接收端B终点B接收密文X;用密钥K解密得到明文Y=DK(X),其中Y被视为附加校验码的消息,即Y=[M′‖C′];利用校验函数F计算明文Y中消息部分的校验码F(M′)。若校验码相匹配,即F(M′)=C′,则可确认报文是可信的,M′就是原始消息M,并且可以确认该报文就是来自A的。基于报文加密方式的鉴别(2)附加报文鉴别结构源点A终点B69附加报文鉴别结构注:检验码的生成和加密函数执行的顺序是至关重要。检验码必须被作为内部的差错控制,在加密之前附加到明文上,才能提供鉴别功能。因为攻击者很难在密文中产生一个检验码,使其在解密后仍然有效。如果报文内容本身就具有一定的控制结构,也能够加强鉴别的抗攻击能力。如,在TCP/IP协议体系中,若采用TCP协议来传送消息,则可对TCP报文段进行加密。由于TCP报文段本身具有特定的控制结构和格式,如果经过解密的TCP报文段不能通过TCP协议自身的合法性检查,就可说明该报文是非法的。附加报文鉴别结构注:检验码的生成和加密函数执行的顺序是至关重70基于报文加密方式的鉴别(3)

——非对称密钥加密方式在公开密钥体系结构中,直接使用公开密钥加密方式只能提供保密,而不能自动提供鉴别功能。源点A使用终点B的公开密钥Kub对报文进行加密,由于只有终点B拥有其对应的私有密钥KRb,因此只有B能对报文进行解密——保密功能。不提供鉴别功能,因为任何人均可使用B的公开密钥来加密报文,而假称报文是发自A的,终点B也无法确定消息的发送者。基于报文加密方式的鉴别(3)

——非对称密钥加密方式在公开密71基于报文加密方式的鉴别(3)

——非对称密钥加密方式私有密钥加密方式:提供报文鉴别和签名功能,不提供加密功能。基于报文加密方式的鉴别(3)

——非对称密钥加密方式私有密钥723.6.4报文鉴别码MAC报文鉴别码或消息鉴别码(messageauthenticationcode,MAC):核心是一个类似于加密的算法CK()。CK()在密钥的作用下,以报文内容作为输入,其输出值是一个较短的定长数据分组,也就是MAC,即:MAC=CK(M)MAC被附加在报文中传输,用于消息的合法性鉴别。3.6.4报文鉴别码MAC报文鉴别码或消息鉴别码(messa73采用报文鉴别码的鉴别方式采用报文鉴别码的鉴别方式74报文鉴别码的功能如果B端通过比较发现MAC匹配,则可确信报文M没有被篡改过(完整性)若攻击者更改报文内容而末更改MAC,则接收者计算出的MAC将不同于接收到的MAC;由于攻击者不知道密钥K,不可能计算出一个与更改后报文相对应MAC值。接收者B也能够确信报文M是来自发送者A的(真实性)只有A了解密钥K,也只有A能够计算出报文M所对应的正确的MAC值。报文鉴别码的功能如果B端通过比较发现MAC匹配,则可确信报文753.6.5散列函数

hashfunction:哈希函数、摘要函数,又称为杂凑函数。输入:任意长度的消息报文M。输出:一个固定长度的散列码值H(M)。是报文中所有比特的函数值。单向函数。3.6.5散列函数hashfunction:哈希函数、摘76基本的散列函数报文鉴别基本的散列函数报文鉴别77仅对散列码进行加密的鉴别方案仅对散列码进行加密的鉴别方案78最常用的信息摘要算法叫做MD5,可产生一个128位长的摘要。md5的全称是message-digestalgorithm5(信息-摘要算法),在90年代初由mitlaboratoryforcomputerscience和rsadatasecurityinc的ronaldl.rivest开发出来,经md2、md3和md4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是md2、md4还是md5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。这三个算法的描述和c语言源代码在internetrfcs1321中有详细的描述(),这是一份最权威的文档,由ronaldl.rivest在1992年8月向ieft提交。最常用的信息摘要算法叫做MD5,可产生一个128位长的摘要。79MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现(两个MD5值不相同)。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。MD5的典型应用是对一段Message(字节串)产生fing80对信息签名过程如下:(1)用户制作信息摘要;(2)信息摘要由发送者的专用密钥加密;(3)原始信息和加密信息摘要发送到目的地;(4)目的地接收信息,并使用与原始信息相同的信息摘要函数对信息制作其自己的信息摘要;(5)目的地还对所收到的信息摘要进行解密;(6)目的地将制作的信息摘要同附有信息的信息摘要进行对比,如果相吻合,目的地就知道信息的文本与用户发送的信息文本是相同的,如果二者不吻合,则目的地知道原始信息已经被修改过。对信息签名过程如下:813.7.1应用需要和数字签名的产生网络通信中,希望有效防止通信双方的欺骗和抵赖行为。简单的报文鉴别技术用以保护双方之间的数据交换不被第三方侵犯;但它并不保证双方自身的相互欺骗。假定A发送一个认证的信息给B,双方之间的争议可能有多种形式:B伪造一个不同的消息,但声称是从A收到的。A可以否认发过该消息,B无法证明A确实发了该消息。原因:鉴别技术基于秘密共享。数字签名技术为此提供了一种解决方案。3.7数字签名3.7.1应用需要和数字签名的产生3.7数字签名821.数字签名的概念数字签名是指只有发送者才能产生的别人无法伪造的一段数字串,这段字符串同时也是对发送者发送信息真实性的一个证明。传统书面文件上签名的作用:一是因为自己的签名难以否认,从而确定了文件已签署这一事实;二是因为签名不易仿冒,从而确定了文件是真实的这一事实。1.数字签名的概念数字签名是指只有发送者才能产生的别人无法伪832.数字签名的设计目标

签名是依赖于消息报文的,即,数字签名是以消息报文作为输入计算出来的,签名能够对消息的内容进行鉴别;签名是可以被确认的,即收方可以确认或证实签名确实是由发方签名的;数据签名对发送者来说必须是惟一的,伪造数字签名在计算上是不可行的,能够防止伪造和抵赖;产生数字签名的算法必须相对简单易于实现,对数字签名的识别、证实和鉴别也必须相对简单,易于实现;签名不可重用,即签名是消息(文件)的一部分,不能把签名移到其它消息(文件)上;签名是不可抵赖的,即发方不能否认他所签发的消息。2.数字签名的设计目标签名是依赖于消息报文的,即,数字签名84数字签名必须保证:可验证:签名是可以被确认的防抵赖:发送者事后不承认发送报文并签名;防假冒:攻击者冒充发送者向收方发送文件;防篡改:收方对收到的文件进行篡改;防伪造:收方伪造对报文的签名。数字签名必须保证:85数字签名分类以方式分直接数字签名directdigitalsignature仲裁数字签名arbitrateddigitalsignature以安全性分无条件安全的数字签名计算上安全的数字签名以可签名次数分一次性的数字签名多次性的数字签名3.7.2数字签名的解决方案数字签名分类3.7.2数字签名的解决方案861.直接数字签名X用其私钥加密文件,这便是签名过程;X将加密的文件送到Y;Y用X的公钥解开X送来的文件。实现比较简单,在技术上仅涉及到通信的源点X和终点Y双方。终点Y需要了解源点X的公开密钥Kux。

发送方X可以使用其私有密钥KRx对整个消息报文进行加密来生成数字签名。更好的方法是使用KRx对消息报文的散列码进行加密来形成数字签名。1.直接数字签名87直接数字签名的安全性方案的安全性依赖于发送方X私有密钥的安全性。发送方可以声称自己的私有密钥丢失或被盗用,而否认其发送过某个报文。改进:每个签名报文中包含一个时间戳(数字时间戳是由第三方提供的一种可信时间标记服务,通过该服务获得的数字时间戳数据可以用来证明在某一时刻数据已经存在)。问题:X的某些私有密钥确实在时间T被窃取,敌方可以伪造X的签名及早于或等于时间T的时间戳直接数字签名的安全性方案的安全性依赖于发送方X私有密钥的安全882.基于仲裁的数字签名直接数字签名的缺陷:签名者声称私钥被盗,签名是他人假冒。为此引入第三方作仲裁者。仲裁者必须是一个所有通信方都能充分信任的权威的第三方仲裁机构。基本工作方式(假定用户X和Y之间进行通信):每个从X发往Y的签名报文首先被送给仲裁者A;A检验该报文及其签名的出处和内容,然后对报文注明日期,并附加上一个“仲裁证实”的标记发给Y。2.基于仲裁的数字签名89基于仲裁的数字签名--对称密钥加密方式发送方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及签名。

作用:Y能够判断出M是不是过时的报文基于仲裁的数字签名--对称密钥加密方式发送方X和仲裁A共享一90基于仲裁的数字签名--对称密钥加密方式争端解决方式Y→A:EKay(IDx‖M‖EKax(IDx‖H(M)))。仲裁A可用Kay恢复出IDx、M及签名,然后再用Kax对签名解密并验证其散列码。特点:Y不能直接验证X的签名。双方都需要高度相信AY相信A已对消息认证,X不能否认其签名;X信任A没有暴露Kxa,无人可

温馨提示

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

评论

0/150

提交评论