计算机安全技术-密码学_第1页
计算机安全技术-密码学_第2页
计算机安全技术-密码学_第3页
计算机安全技术-密码学_第4页
计算机安全技术-密码学_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

计算机安全技术密码学理论及应用:加密技术1公钥密码系统的加密A向B发送消息,用B的公钥加密B收到密文后,用自己的私钥解密PlainText加密算法解密算法ABcipherPlainTextC的公钥B的公钥C的公钥B的公钥C的公钥B的私钥2公钥密码系统的签名原理A向B发送消息,用A的私钥加密(签名)B收到密文后,用A的公钥解密(验证)PlainText加密算法解密算法cipherPlainTextABA的私钥A的公钥3数字签名和加密同时使用X加密加密解密解密XYZYAB产生密钥对产生密钥对KRaKUaKRbKUbZ=EKUb[Y]=EKUb

[EKRa

(X)]X=DKUa[Y]=DKUa

[DKRb

(Z)]4信息安全的任务5信息安全的任务信息的不可否认性(Non-repudiation):要求无论发送方还是接收方都不能抵赖已发送的消息。认证性(Authentication):消息的接收者应那个确认消息的来源。6

密码学的目的:实现消息源和消息宿在不安全的信道上进行通信,而系统分析者(破译者)不能理解他们通信的内容。加密通信的shannon模型

消息源加密机解密机消息宿安全信道密钥源系统分析者xyxk不安全信道7加密算法分类对称密码算法:又称传统密码算法,秘密密钥算法:就是加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个。运算速度快、密钥短、多种用途(随机数产生、Hash函数)、历史悠久。密钥管理困难(分发、更换),密钥量大,无法实现数字签名。非对称密钥算法,又称公开密钥算法:加密密钥和解密密钥不相同,从一个很难推出另一个。只需保管私钥、可以相当长的时间保持不变、需要的数目较小。运算速度慢、密钥尺寸大、历史短8基于公开密钥的加密过程用户拥有自己的密钥对(KU,KR),公钥KU公开,而私钥KR保密。A

B:Y=EKUb(X),B:DKRb(Y)=DKRb(EKUb(X))=X9

公钥密钥的应用范围加密/解密数字签名(身份认证)密钥交换公钥算法加/解密数字签名密钥交换RSA是是是Dieffie-Hellman否否是DSS否是否10数字信封数字信封(DIGITALENVELOPE):对数据进行加密的密钥必须经常更换。数字信封解决两个难题:取长补短单钥体制:密钥分发困难;高效;数据的加密公钥体制:加解密时间长;灵活;密钥的加密目的:利用数据接收者的公钥来封装保护加密数据的密钥。11数字信封发方:

A1:生成对称密钥,用该密钥对报文加密;A2:用收方的公钥加密上述对称密钥;A3:将A1、A2步骤的结果传给收方;收方:

B1:用自己的私钥解密对称密钥;

B2:用得到的对称密钥解密报文。12数字信封13网络信息安全密码学理论及应用:数字签名技术14数字签名鉴别用以保护双方之间的数据交换不被第三方侵犯;但它并不保证双方自身的相互欺骗和抵赖。假定A发送一个认证的信息给B,双方之间的争议可能有多种形式:B伪造一个不同的消息,但声称是从A收到的。A可以否认发过该消息,B无法证明A确实发了该消息数字签名技术主要解决以下问题:否认:发送方不承认自己发送过的某一个报文。伪造:接收方自己伪造一份报文,并声称它来自发送方冒充:网络上的某个用户冒充另一个用户接收或发送报文篡改:接收方对收到的信息进行篡改。15保密性vs

真实性保密性与真实性是两个不同的概念。根本上,信息加密提供的是保密性而非真实性加密代价大(公钥算法代价更大)。鉴别函数与保密函数的分离能提供功能上的灵活性。某些信息只需要真实性,不需要保密性广播的信息难以使用加密(信息量大)网络管理信息等只需要真实性政府/权威部门的公告16签名与加密的关系17消息认证与数字签名的区别:前者能验证消息来源及完整性,防范第三者;后者在收发双方产生利害冲突时,解决纠纷。数字签名需要解决的一些问题签字后的文件可能被B重复使用。如果签字后的文件是一张支票,B很容易多次用该电子支票兑换现金,为此A需要在文件中加上一些该支票的特有的凭证,如timestamp等,以防止上述情况发生。

18

数字签名与传统签名的比较传统签名的基本特点:

与被签的文件在物理上不可分割签名者不能否认自己的签名签名不能被伪造容易被验证数字签名是传统签名的数字化,基本要求:

能与所签文件“绑定”签名者不能否认自己的签名签名不能被伪造容易被自动验证19数字签名应具有的性质必须能够验证作者及其签名的日期时间;必须能够认证签名时刻的内容;签名必须能够由第三方验证,以解决争议;数字签名机制提供了一种抗否认性,使用户无法对其网络行为进行抵赖。数字签名技术也具有防止信息伪造和窜改能力。20数字签名工作流程采用散列算法对原始报文进行运算,得到一个固定长度的数字串,称为报文摘要(messagedigest)。发送方生成报文的报文摘要,用自己的私有密钥对摘要进行加密来形成发送方的数字签名。这个数字签名将作为报文的附件和报文一起发送给接收方。接收方首先从接收到的原始报文中用同样的算法计算出新的报文摘要,再用发送方的公钥对报文附件的数字签名进行解密,来判断报文是否被篡改。21数字签名算法数字签名算法主要由两个算法组成,即签名算法和验证算法,用户签名算法签名一个消息,所得到的签名能通过一个公开的验证算法来验证。普通数字签名算法

RSA

EIGamal

DSS(数字签名标准)/DSA不可否认的数字签名算法群签名算法盲签名算法22签名算法DSS算法描述(1)全局公钥(p,q,g)p是2L-1<p<2L中的大素数,512<L<1024q是(p-1)的素因子,且2159<q<2160,字长160比特

g=hp-1modp,1<h<(p-1),使得h(p-1)/qmodp>1(2)用户秘密钥x:x为在0<x<q内的随机数(3)用户公钥:y=gx

modp(4)用户每个消息用的秘密随机数k,0<k<q(5)签字过程:对消息MZ*p,其签字为:S=Sigk(M,k)=(r,s)r=(gkmodp)modq,s=[k-1(h(M)+xr)modq(6)验证过程:w=s-1modq,u1=[H(M)w]modqu2=rwmodq,v=[(gu1yu2)modp]modq,如果v=r,则签字真.23网络信息安全密码学理论及应用:鉴别技术24鉴别技术信息安全中另一个重要领域是消息鉴别,用户通过网络传输大量的消息(或报文),因此,必须对消息的有效性和合法性进行鉴别或认证。防范信息伪造和篡改则需要消息鉴别技术。消息鉴别提供了一种证实的报文来自可信源且未被窜改的手段。鉴别的主要目的:验证信息的发送者是真正的,而不是冒充的,此为信源识别。(实体或身份鉴别)验证信息的完整性,在传送或存储过程中未被篡改,重放或延迟等。(消息鉴别)25鉴别系统的组成鉴别编码器和鉴别译码器可抽象为鉴别函数,用于产生鉴别的认证符或认证码。一个安全的鉴别系统,需满足:接收者能够检验和证实消息的合法性、真实性和完整性(消息鉴别)消息的发送者和接收者不能抵赖(身份鉴别)除了合法的消息发送者,其它人不能伪造合法的消息。

首先要选好合适的鉴别函数,该函数产生一个认证标识,然后在此基础上,给出合理的鉴别协议(AuthenticationProtocol),使接收者完成消息的鉴别。26一个单纯鉴别系统的模型窜扰者信宿信源鉴别编码器鉴别译码器信道安全信道密钥源27鉴别函数分类1鉴别的方式分类消息加密:整个消息的密文作为认证标识消息鉴别码(MAC):公开函数+密钥产生一个固定长度的值作为认证标识散列函数:一个公开函数将任意长度的消息映射到一个固定长度的哈希值,作为认证标识28鉴别函数分类2鉴别技术分为对称技术和非对称技术:对称技术分为两种基于密钥散列函数的MAC基于分组加密算法得MAC使用非对称技术分为两种数字签字技术29对称加密-保密和鉴别AB30对称加密-保密和鉴别31明文M的自动确定M定义为有意义的明文序列,便于自动识别强制定义明文的某种结构,这种结构是易于识别但又不能复制且无需借助加密的可以在加密前对每个报文附加检错码,即所谓的帧检验序列号或检验和FCS内部差错控制和外部差错控制32差错控制更难于构造提供鉴别保证数据完整性提供鉴别33基于分组加密方式的MAC对称加密方式由于信息源A和信息宿B共享加密解密的密钥,因此,对称加密方式同时提供了保密和鉴别的功能。利用CBC分组密码加密模式进行加密,所得到的最后一个分组和初始向量IV:(IV,Cl)作为MAC附在M后发出.(消息鉴别)M=m1,m2,…,ml,设C0=IV

作为随机初始向量,

Ci

EK(mi

Ci-1),i=1,2,…,l只有知道密钥K的人才能生成和验证Cm,可以实现鉴别发送者的身份。(身份鉴别)34基于DES的报文鉴别码算法来源FIPSpublication(FIPSPUB113)ANSIstandard(X9.17)使用CBC(CipherBlockChaining)方式,初始向量为IV=035基于DES的报文鉴别码将数据按64位分组,D1,D2,…,DN,必要时最后一个数据块用0向右填充运用DES算法E,密钥K数据认证码(DAC)的计算如下:

O1=EK(D1) O2=EK(D2

O1) O3=EK(D3

O2) … ON=EK(DN

ON-1)选取ON中的部分或全部字节作为数据的MAC36FIPSPUB11337公钥加密-保密性AB38私钥加密-鉴别和签名AB39非对称算法-保密、鉴别和签名AB40对称加密:保密性与鉴别对称加密算法:提供保密提供鉴别(实体鉴别)

不提供签名41基于散列函数(hash)的鉴别方式基于散列函数的鉴别方法是使用所谓密钥散列函数技术.散列函数是一个确定的函数,它将任意长的比特串映射为定长比特串的散列值.设h表示散列函数,其输出长度为|h|,h具有如下性质:混合变换:对于任意得输入x,输出的散列值h(x)应当和区间[0,2|h|]中均匀的二进制串在计算上是不可区分的.抗碰撞攻击:找两个输入x和y,且xy,使得h(x)=h(y),在计算上是不可行的.(要求h的输出空间足够大,|h|最小为128,而典型值为160抗原像攻击:已知一个散列值h,找一个输入串x,使得h=h(x),在计算上是不可行的.实用性:给定一个输入串x,h(x)的计算可以在关于x的长度规模的低阶多项式时间内完成.42

MD5(消息摘要算法)简介Merkle于1989年提出hashfunction模型。MIT教授RonRivest于1990年提出MD4算法。RonRivest于1992年提出MD5算法。MD5把数据分成512-bit块MD5的hash值是128-bit前几年,MD5被认为是非常安全的,也是最主要、普遍被使用的安全散列算法。但是,目前,随着软硬件技术的发展,以及对MD5算法的研究,MD5算法已经被认为是易受攻击的散列算法。43安全散列算法(SHA)安全散列算法(SHA)是由NIST提出,SHA算法也是基于MD4,它允许的最大输入报文长度步超过264位,输出160位的消息摘要。SHA-1算法计算时也是按512位的分组进行处理,总体处理过程与MD5结构相似。SHA-1算法更复杂,更安全。MD5,SHA-1被中国密码学家王小云攻破。44hash函数小结

hash函数把变长信息映射到定长信息

hash函数不具备可逆性

hash函数速度较快

hash函数与对称密钥加密算法有某种相似性对hash函数的密码分析比对称密钥密码更困难

hash函数可用于消息摘要

hash函数可用于数字签名45基于散列函数的鉴别方式

网络算法C()MAC报文MM密钥K发送端A比较MACM接收端B密钥K算法C()鉴别结果MAC=h(k||M)HMAC=h(k||M||k)HMAC=H[(K

opad)||H(k||

ipad)||M]Ipad:将00110110重复于K等长Opad:将01011010重复于K等长46散列函数基本用法(1)AB:EK[M||H(M)]提供鉴别加密保护H(M)提供保密仅A和B共享密钥K47散列函数基本用法(2)AB:M||EK[H(M)]提供鉴别加密保护H(M)48散列函数基本用法(3)49散列函数基本用法(4)AB:EK[M||EKRa[H(M)]]提供鉴别和数字签字加密保护H(M)提供保密仅A和B共享密钥K50散列函数基本用法(5)AB:M||H(M||S)提供鉴别仅A和B共享S51散列函数基本用法(6)AB:EK[M||H(M||S)]提供鉴别仅A和B共享S提供保密仅A和B共享密钥K52密码功能模块基本用法(7)53网络信息安全密码学理论及应用:密码协议设计与分析54签字密码学研究范畴加密单向函数现代观念应用系统加密密码协议签字随机数零知识证明计算难题(单向函数)传统观念55密码协议的定义协议:两个或两个以上的参与者为完成某项特定的任务而采取的一系列的步骤.包括三层含义协议是有序的过程,每一步必须依次执行协议至少需要两个参与者通过协议的执行必须能够完成某项任务.协议参与者Alice协议的第一参与者Bob协议的第二参与者Trent协议中的可信第三方Malice协议中的攻击者56密码协议威胁模型攻击者Malice具有如下特征他能获得经过网络的任何消息他是网络的一个合法使用者,因而能够发起与任何其他用户的对话他有机会成为任何主体发出消息的接收者他能冒充任何别的主体给任意主体发送消息他不能猜到从足够大的空间选出的随机数没有正确的密钥(私钥),他不能由给定的密文恢复出明文;对于完善加密算法,他不能从给定的明文构造出正确的密文他不能从给定的公钥中恢复出私钥他不能控制计算环境中许多私有区域,比如离线的存储器57密钥共享协议假定Alice和Bob以前从未见过面,因而不能事先就有一个共享密钥,也不能确定对方的公钥,如何通过不安全的网络进行安全通信?直接方式:Alice和Bob见面建立共享密钥或交换对方公钥的知识。间接方式:通过可信第三方(TTP)进行可信第三方是一种特殊的主体,它行为老实并必须得到用户的信赖,在系统中称为认证服务器(Trent)在同一个认证服务器下,假定Alice(Bob)同Trent共享一个密钥,设密钥由KAT(KBT)表示,这个密钥称为密钥-加密密钥,一般的要长期使用,又称为长期密钥58认证密钥建立的安全属性设K表示Alice和Bob要建立的共享密钥,应该具有以下安全性质:只有Alice和Bob(或者可能还有他们都信任的某个主体)能够知道KAlice和Bob应当知道对方主体知道K(活现性)Alice和Bob应当知道K是新生成的密钥管理原则:当一个密钥是共享密钥,并用于大量数据加密时,只能使用较短时间这种密钥称为会话密钥和短语密钥59利用加密的认证密钥建立协议(1)协议2.2来自Trent的会话密钥假定Alice和Trent共享密钥KAT,Bob和Trent共享密钥KBT目标Alice和Bob想要建立一个新的共享密钥KAliceTrentBob123Alice向Trent发送:Alice,Bob,Trent找出密钥KAT,KBT,随机生成K,发送Alice:Alice,{K}KAT{K}KBT

Alice解密{K}KAT

并发送给Bob:Trent,Alice,{K}KBT

Bob解密{K}KBT

恢复K,向Alice发送:{你好,Alice,我是Bob}K460利用加密的认证密钥建立协议(2)攻击2.12对”来自Trent的会话密钥”的一种攻击假定除原假定外,Malice和Trent共享密钥KMT攻击结果Alice认为和Bob共享密钥K,实际上是和Malice共享密钥KAliceMaliceBob123Alice向Malice(“Trent”)发送:Alice,BobMalice向Trent发送:Alice,Malice

(篡改伪造)Trent找出密钥KAT,KMT,随机生成KAM,发送Alice:Alice,{KAM}KAT{KAM}KMT

Alice解密{K}KAT

并发送给Malice(“Bob”):Trent,Alice,{K}KmT

Malice(“Bob”)解密{K}KmT

向Alice发送:{你好,Alice,我是Bob}KAM5Trent4篡改修补1Alice向Trent发送:Alice,{Bob}KAT攻击:Malice(“Alice”)向Trent发送:Alice,{Malice}KAT61利用加密的认证密钥建立协议(3)AliceMaliceBob123Alice向Malice(“Trent”)发送:Alice,BobMalice(“Trent”)发送Alice:Alice,{K‘AM}KAT{K’AM}KMT

Alice解密{K'}KAT

并发送给Malice(“Bob”):Trent,Alice,{K'}KmT

Malice(“Bob”)向Alice发送:{你好,Alice,我是Bob}K’AM4Trent消息篡改!另一种攻击62通过”解密-检验”实现消息认证(数据完整性)协议协议2.3来自Trent的会话密钥假定Alice和Trent共享密钥KAT,Bob和Trent共享密钥KBT目标Alice和Bob想要建立一个新的共享密钥KAliceTrentBob1231.Alice向Trent发送:Alice,Bob,2.Trent找出密钥KAT,KBT,随机生成K,发送Alice:{Bob,K}KAT{Alice,K}KBT

3.Alice解密{Bob,K}KAT

验证Bob身份,

并发送给Bob:Trent,{Alice,K}KBT

4.Bob解密{Alice,K}KBT

验证Alice身份,

向Alice发送:{你好,Alice,我是Bob}K463对消息认证协议的攻击攻击2.3对消息认证协议的攻击假定Alice和Trent共享密钥KAT,Bob和Trent共享密钥KBT结果Alice和Malice建立一个新的共享密钥KAliceMaliceBob123Alice向Malice(“Trent”)发送:Alice,BobMalice(“Trent”)向Alice发送:Alice,{Bob,K‘AM}KAT

{Alice,K’AM}KMT

Alice解密{K}KAT

并发送给Malice(“Bob”):Trent,Alice,{K}KmT

Malice(“Bob”)解密{K}KmT

向Alice发送:{你好,Alice,我是Bob}KAMTrent4重放攻击64询问-应答协议Needham-Schroeder对称密钥认证协议协议2.3来自Trent的会话密钥假定Alice和Trent共享密钥KAT,Bob和Trent共享密钥KBT目标Alice和Bob想要建立一个新的共享密钥KAliceTrentBob1231.Alice随机生成NA,向Trent发送:Alice,Bob,NA2.Trent找出密钥KAT,KBT,随机生成K,发送Alice:{NABob,K,

{Alice,K}KBT}KAT

3.Alice解密{Bob,K}KAT

验证NA,验证Bob身份,

并发送给Bob:Trent,{Alice,K}KBT

4.Bob解密{Alice,K}KBT

验证Alice身份,随机生成NB,向Alice发送:{我是Bob,NB}K5.Alice向Bob发送:{我是Alice,NB-1}K4565对N-S对称密钥认证协议攻击攻击2.4来自Trent的会话密钥假定Alice和Trent共享密钥KAT,Bob和Trent共享密钥KBT结果Bob认为他正和Alice共享一个会话密钥,但实际上这个密钥并不是新的,Malice可能知道AliceTrentBob123’1.Alice随机生成NA,向Trent发送:Alice,Bob,NA2.Trent找出密钥KAT,KBT,随机生成K,发送Alice:{NABob,K,

{Alice,K}KBT}KAT

3’.Malice向Bob发送:Trent,{Alice,K‘}KBT(活现性的实体认证?)(消息的认证)4.Bob解密{Alice,K'}KBT

验证Alice身份,向Malice(“Alice”)发送:{我是Bob,NB}K’5.Malice(“Alice”)向Bob发送:{我是Alice,NB-1}K’45Malice3重放66实体认证协议协议2.3来自Trent的会话密钥假定Alice和Trent共享密钥KAT,Bob和Trent共享密钥KBT,设T表示一个时戳目标Alice和Bob想要建立一个新的共享密钥KAliceTrentBob1231.Alice随机生成NA,向Trent发送:Alice,Bob,NA2.Trent找出密钥KAT,KBT,随机生成K,发送Alice:{T,Bob,K,

{Alice,K,T}KBT}KAT

3.Alice解密{Bob,K}KAT,验证Bob身份和时间,

并发送给Bob:Trent,{Alice,K,T}KBT

4.Bob解密{Alice,K}KBT

验证Alice身份和时间,NB,发送Alice:{我是Bob,NB}K5.Alice向Bob发送:{我是Alice,NB-1}K45|Clock-T|<Δt1+Δt267

温馨提示

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

评论

0/150

提交评论