第3章信息认证技术_第1页
第3章信息认证技术_第2页
第3章信息认证技术_第3页
第3章信息认证技术_第4页
第3章信息认证技术_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

第三章信息认证技术3.1概述 3.2哈希函数 3.3音讯认证技术 3.4数字签名 3.5身份认证 3.1概述在网络通讯和电子商务中很容易发生如下问题。1.否认,发送信息的一方不成认本人发送过某一信息。2.伪造,接纳方伪造一份文件,并声称它来自某发送方的。3.冒充,网络上的某个用户冒充另一个用户接纳或发送信息。4.篡改,信息在网络传输过程中已被篡改,或接纳方对收到的信息进展篡改。用数字签名〔DigitalSignature〕可以有效地处理这些问题。数字签名就是主要用于对数字信息进展的签名,以防止信息被伪造或篡改等。3.1概述一个平安的认证系统应满足以下条件:〔1〕合法的接纳者可以检验所接纳音讯的合法性和真实性。〔2〕合法的发送方对所发送的音讯无法进展否认。〔3〕除了合法的发送方之外,任何人都无法伪造、篡改音讯。3.2哈希函数哈希函数,单向散列函数根本思想输入恣意长度的音讯M,产生固定长度的数据输出。向hash函数输入一恣意长度的信息M时,hash函数将输出一固定长度为m的散列值h。即:h=H(M)性质:固定长度输出散列值h。给定M,很容易计算h。给定h,根据H(M)=h计算M很难。给定M,找到另一音讯M’,满足H(M)=H(M’),在计算上是不可行的---弱抗碰撞性。对于恣意两个不同的音讯M≠M’,它们的散列值不能够一样---强抗碰撞性。注:碰撞性是指对于两个不同的音讯M和M’,假设它们的摘要值一样,那么发生了碰撞。3.2哈希函数平安散列函数的普通构造与分组对称密码的CBC方式非常类似。函数的输入M被分为b位的L个分组Y0,Y1,..YL-1,以及n位链接变量初值V0,通常b>n。反复调用紧缩函数f:Vi=f(Yi-1,Vi-1),i=1,2,..L。f输出Vi依然是n位。M的散列值H(M,V0)=VL算法的中心是紧缩函数f在对M的分组中,最后一组YL-1缺乏b位时填充0或者1将其补足。通常还将M的长度填充到最后一个分组中。fY0V0fY1V1fYL-1VL-1VL平安散列函数的普通构造常用的哈希函数MD5SHA-1RIPEMD-160等等MD5算法麻省理工学院RonRivest提出,可将恣意长度的音讯经过变换得到一个128位的散列值。MD5算法:MD5以512位分组来处置输入的信息,每一分组又被划分为16个32位子分组,经过了一系列的处置后,算法的输出由四个32位分组组成,将这四个32位分组级联后生成128位散列值。MD5产生音讯摘要的过程MD5算法实现逻辑由4个步骤组成:S1:音讯分组与填充。〔1〕将输入信息M按顺序每512位一组进展分组:M=M1,M2,…,Mn-1,Mn〔2〕将信息M的Mn长度填充为448位。 当Mn长度L〔bit为单位〕<448时,在信息Mn后加一个“1〞,然后再填充447-L个“0〞,使最后的信息Mn长度为448位。当Mn长度L>448时,在信息Mn后加一个“1〞,然后再填充512-L+447个“0〞,使最后的信息Mn长度为512位,Mn+1长度为448位最后一个分组的后64位为M的位长度〔低字节优先〕。S2:缓冲区初始化。MD5算法运用128位缓冲区存放处置过程的中间结果和最后的音讯摘要值。这128位缓冲分为4个32位逻辑存放器A、B、C、D。每个存放器以Little-Endian存放数据,其初始值为:A=0x1234567,B=0x89abcdef,C=0xfedcba98,D=0x7543210这四个32位变量被称为链接变量,它们一直参与运算并构成最终的散列值。S3:对每个分组Mi进展紧缩处置HMD5。HMD5是算法中心。HMD5内部有4轮处置过程。每轮处置构造一样,但运用的位逻辑函数不同,分别表示为F、G、H、I。每轮处置的输入是当前正在处置的512位分组、128位缓冲区(A、B、C、D)的当前值和常量表T中四分之一的常数,即分别为T[1..16]、T[17…32]、T[33…48]、T[49...64]。第4轮处置的输出再与第1轮的输入CVq按照4个32位字进展模232相加,结果即为紧缩函数HMD5对当前512位分组的输出。常量表T=T[1,…64]中各元素:T[i]=int(232×abs(sin(i))),为32位整型数。T作为予置的常数表,其作用是随机化32位整型量,消除输入数据的规律性。紧缩函数HMD5每轮处置细节由对128位缓冲区(A、B、C、D)的16步迭代构成,每一步运算如下:a←B+CLS(s,A+g(B,C,D)+X[k]+T[i]))其中,+为模232加法,CLS(s,w)是对32位字w循环左移s位。位逻辑函数g分别取F、G、H、I之一,X[k]=M[q×16+k],即音讯的第q个分组中第k个32位字(k=1,2,..16)。512位分组的紧缩处置HMD5HMD5中每步的逻辑运算位逻辑运算函数F、G、H、I定义如下:F(x,y,z)=(x&y)|((~x)&z)G(x,y,z)=(x&z)|(y&(~z))H(x,y,z)=x⊕y⊕zI(x,y,z)=z⊕(y&(~z))上图中ρj(i)表示各轮处置中运用16个32位字的不同次序〔j=2,3,4〕。其中第1轮按照初始次序;第2、3、4轮按照下式对(1,2,..16)进展置换:ρ2(i)=〔1+5*i〕mod16ρ3(i)=〔5+3*i〕mod16ρ4(i)=(7*i)mod16S4:将音讯M的L个分组处置终了,最后一个分组处置的输出即为音讯M的摘要。因此,第3、4步可以总结为:CV0=V1CVq+1=CVq+RFI(Yq,RFH(Yq,RFG(Yq,RFF(Yq,CVq))))q=1,2,..(L-1)MD=CVL其中RFX()为与位逻辑函数X结合的轮处置过程(X=F、G、H、I),+为对应32位字模232加法。V1取缓冲区(A、B、C、D)的初值。MD5算法的中心处置HMD5中反复进展位逻辑运算F、G、H、I,使得最终输出的摘要中每一位与输入音讯中一切位相关,因此到达很好的混淆效果。MD5在数据处置中广泛运用。例如:用户口令可以用MD5码值存储。当用户输入口令时先转换为对应MD5码值,在和系统保管的密码MD5值进展比较(Linux)。这样系统在未知用户口令的情况下即可实现对口令的验证,同时用户口令对于系统管理员也是未知的。SHA(SecureHashAlgorithm)是美国国家规范与技术研讨所〔NIST〕提出,于1993年作为联邦信息处置规范〔FIPS180〕发布的,1995年又发布了其修订版〔FIPS180-1〕,通常称为SHA-1。与MD5相比,SHA-1生成160位的音讯摘要,执行速度有所降低,却被以为更平安。明文音讯的最大长度可到达264位。3.2.3SHA-1算法与MD5算法类似,SHA-1算法也需求对音讯进展填充补位。补位是这样进展的:先添加一个1,然后再添加多个0,使得音讯长度满足对512取模后余数是448。SHA-1的中间结果和最终结果保管在160位的缓冲区中,缓冲区用5个32位的变量表示,这些变量初始化为: A=0x67452301 B=0xefcdab89 C=0x98badcfe D=0x10325476 E=0xc3d2e1f03.2.3SHA-1算法SHA-1的主循环3.2.3SHA-1算法SHA-1的非线性函数3.2.3SHA-1算法对512位的音讯进展处置,将其从16个32位的音讯分组变成80个32位的音讯分组。用到的80对常数:3.2.3SHA-1算法SHA-1的根本操作过程3.2.3SHA-1算法1981年,NIST发布FIPS180-2,新增了三个哈希函数,分别为SHA-256,SHA-384,SHA-512,其散列值的长度分别为256,384,512。同时,NIST指出FIPS180-2的目的是要与运用AES而添加的平安性相顺应。SHA-1SHA-256SHA-384SHA-512散列值长度160256384512消息大小<264<264<2128<2128分组大小51251210241024字长32326464步数808080803.2.3SHA-1算法3.3音讯认证技术网络传输过程中信息严密性的要求: (1)对敏感的数据进展加密,即使他人截获文件也无法得到真实内容。(2)保证数据的完好性,防止截获人对数据进展篡改。(3)对数据和信息的来源进展验证,以确保发信人的身份。音讯认证是指使合法的接纳方可以检验音讯能否真实的方法。检验内容包括验证通讯的双方和验证音讯内容能否伪造或遭篡改。常见的认证函数:(1)音讯加密:将整个音讯的密文作为认证码。(2)哈希函数:经过哈希函数使音讯产生定长的散列值作为认证码。(3)音讯认证码〔MAC〕:将音讯与密钥一同产生定长值作为认证码。3.3音讯认证技术基于对称密钥加密的音讯认证过程3.3音讯认证技术(1)音讯加密认证添加校验码的音讯认证过程3.3音讯认证技术(1)音讯加密认证基于公钥加密的音讯认证过程(1)音讯加密认证3.3音讯认证技术运用哈希函数的音讯认证过程3.3音讯认证技术(2)哈希函数认证保证性的哈希函数音讯认证过程(2)哈希函数认证3.3音讯认证技术混合加密认证(2)哈希函数认证3.3音讯认证技术MAC函数与加密函数类似之处在于运用了密钥,但差别在于加密函数是可逆的,而MAC函数可以是单向的,它无需可逆,因此比加密更不容易破解。哈希函数同样也可以用来产生音讯认证码。假设K是通讯双方A和B共同拥有的密钥,A要发送音讯M给B,在不需求进展加密的条件下,A只需将M和K合起来一同经过哈希函数计算出其散列值,即H(M||K),该散列值就是M的音讯认证码。3.3音讯认证技术(3)音讯认证码〔MAC〕的认证基于音讯认证码的认证过程:MAC=C(M,K)=[H(M||k)或者DES密码链接方式值](3)音讯认证码〔MAC〕的认证3.3音讯认证技术3.4数字签名用户A与B相互之间要进展通讯,双方拥有共享的会话密钥K,在通讯过程中能够会遇到如下问题:1〕A伪造一条音讯,并称该音讯来自B。A只需求产生一条伪造的息,用A和B的共享密钥经过哈希函数产生认证码,并将认证码附于音讯之后。由于哈希函数的单向性和密钥K是共享的,因此无法证明该音讯是A伪造的。2〕B可以否认曾经发送过某条音讯。由于任何人都有方法伪造音讯,所以无法证明B能否发送过该音讯。哈希函数可以进展报文鉴别,但无法阻止通讯誉户的欺骗和抵赖行为。当通讯双方不能互置信任,需求用除了报文鉴别技术以外的其他方法来防止类似的抵赖和欺骗行为。3.4数字签名数字签名也称电子签名。“以电子方式所附或逻辑上与其他电子数据相关的数据,做为一种判别的方法。〞结合国贸法会<电子签名示范法>定义为:“在数据电文中以电子方式所含、所附或在逻辑上与数据电文有联络的数据,它可用于鉴别与数据电文相关的签名人和阐明签名人认可数据电文所含信息。〞数字签名应该可以在数据通讯过程中识别通讯双方的真实身份,保证通讯的真实性以及不可抵赖性,起到与手写签名或者盖章同等作用。签名应该具有的特征:〔1〕可信。由于B是用A的公钥解开加密文件的,这阐明原文件只能被A的私钥加密而只需A才知道本人的私钥。〔2〕无法被伪造。只需A知道本人的私钥。因此只需A能用本人的私钥加密一个文件。〔3〕无法反复运用。签名在这里就是一个加密过程,本人无法反复运用。〔4〕文件被签名以后是无法被篡改的。由于加密后的文件被改动后是无法被A的公钥解开的。〔5〕签名具有不可否认性。由于除A以外无人能用A的私钥加密一个文件。3.4数字签名1.直接数字签名3.4.2数字签名的实现用户A与B要进展通讯,每个从A发往B的签名报文首先都先发送给仲裁者C,C检验该报文及其签名的出处和内容,然后对报文注明日期,同时指明该报文已经过仲裁者的检验。仲裁者的引入处理了直接签名方案中所面临的问题,及发送方的否认行为。2.仲裁数字签名3.4.2数字签名的实现方案1(基于对称加密算法,音讯M不加密)[1]A→C:M||EKA(IDA||H(M))[2]C→B:EKB(IDA||M||EKA(IDA||H(M))||T)方案2(基于对称加密算法,音讯M加密)[1]A→C:IDA||EKS(M)||EKA(IDA||H(EKS(M)))[2]C→B:EKB(IDA||EKS(M)||EKA(IDA||H(EKS(M)))||T)方案3(基于公钥加密算法,音讯M加密)[1]A→C:IDA||EKAS(IDA||EKBP(EKAS(M)))[2]C→B:EKCS(IDA||EKBP(EKAS(M))||T)3.4.2数字签名的实现2.仲裁数字签名数字签名规范〔DigitalSignatureStandard,DSS)是美国国家规范技术局〔NIST〕在1991年提出作为美国联邦信息处置规范〔FIPS〕。它采用了美国国家平安局(NSA)主持开发的数字签名算法(DigitalSignatureAlgorithm,DSA),DSS运用平安散列算法〔SHA〕,给出一种新的数字签名方法。DSS在出后,分别于1993年和1996年做了修正。2000年发布该规范的扩展版,即FIPS186-2,其中包括基于RSA和椭圆曲线密码的数字签名算法。3.4.3数字签名规范RSA数字签名方法3.4.3数字签名规范DSS数字签名方法3.4.3数字签名规范DSS签名函数3.4.3数字签名规范图3.17DSS验证函数3.5身份认证身份认证目的--对通讯中一方的身份进展标识和验证。方法验证用户所拥有的可被识别的特征。身份认证系统构成:被验证身份者(示证者);验证者攻击者可信任的机构作为仲裁或调解机构。3.5身份认证在网络通讯中,身份认证就是用某种方法证明用户身份是合法的。口令技术是目前常用的身份认证技术。问题:口令泄露。口令泄露途径登录时被他人窥视;攻击者从计算机中存放口令的文件中读到;口令被在线攻击猜测出;被离线攻击搜索到。3.5身份认证用密码学方法的身份认证协议比传统的口令认证更平安。身份认证协议构成:两个通讯方,能够还会有一个双方都信任的第三方参与进展。其中一个通讯方按照协议的规定向另一方或者第三方发出认证恳求,对方按照协议的规定作出呼应,当协议顺利执行终了时双方应该确信对方的身份。从运用加密的方法分类:基于对称密钥的身份认证基于公钥加密的身份认证。从认证的方向性分类:相互认证单向认证3.5身份认证重放攻击:简单重放:攻击者简单地复制音讯并在此之后重放这条音讯。可检测的重放:攻击者在有效的时限内重放有时间戳的音讯。不可检测的重放:由于原始音讯能够被制止而不能到达接纳方,只需经过重放音讯才干发送给接纳方,此时能够出现这种攻击。不加修正的逆向重放:假设运用对称密码,并且发送方不能根据内容来区分发出的音讯和接纳的音讯,那么能够出现这种攻击。3.5身份认证对重放攻击预防:序列号为每个需求认证的音讯添加一个序列号,新的音讯到达后先对序列号进展检查,只需满足正确次序的序列号的音讯才干被接纳。时间戳为传送的报文添加时间戳,当接纳到新的音讯时,首先对时间戳进展检查,只需在音讯的时间戳与本地时钟足够接近时,才以为该音讯是一个新的音讯。随机数/呼应在接纳音讯前首先要发送一个暂时的交互号〔随机数〕,并要求所发送的音讯要包含该暂时交互号。3.5身份认证基于口令的身份认证(单向)1〕A→S:IDA||PWAServer保管〔IDA,H(PWA))A→S:IDA||salt||PWA//salt:随机数Server保管〔IDA,salt,H(PWA,salt))3〕哈希链方法:倒序递减保管口令的Hash值,防止对一样口令的窃听3.5身份认证基于对称密钥的双向身份认证〔1〕Needham-Schroeder协议Needham-Schroeder协议利用KDC进展密钥分配,同时具备了身份认证的功能。假设通讯双方A、B和KDC分别共享密钥Ka和Kb。 [1]A→KDC:IDA||IDB||N1 [2]KDC→A:EKa(Ks||IDB||N1||EKb(Ks||IDA)) [3]A→B:EKb(Ks||IDA)//有能够被重放 [4]B→A:EKs(N2) [5]A→B:EKs(f(N2))3.5身份认证基于对称密钥的双向身份认证〔2〕Denning协议Denning协议对Needham-Schroeder协议进展了修正,引入了时间戳机制[1]A→KDC:IDa||IDb[2]KDC→A:EKa〔Ks||IDb||T||EKb〔Ks||IDa||T〕〕[3]A→B:EKb〔Ks||IDa||T〕[4]B→A:EKs(N1)[5]A→B:EKs(f(N1))3.5身份认证基于对称密钥的双向身份认证〔3〕Neuman-Stubblebine协议Neuman-Stubblebine协议的提出是为了试图处理抑制-重放攻击,同时处理Needham-Schroeder协议中出现的问题:[1]A→B:IDA||N1[2]B→KDC:IDB||N2||EKb(IDA||N1||T)[3]KDC→A:EKa(IDB||N1||KS||T)||EKb(IDA||KS||T)||N2[4]A→B:EKb(IDA||KS||T)||EKs(N2)3.5身份认证2.基于对称密钥的单向身份认证 基于对称密钥的单向认证普通也采用以KDC为根底的方法。但是在电子邮件的运用中,无法要求发送方和接纳方同时在线,因此在协议过程中不存在双方的交互。详细过程如下: [1]A→KDC:IDA||IDB||N1 [2]KDC→A:EKa(KS||IDB||N1||EKb(KS||IDA))[3]A→B:EKb(IDA||KS)||EKs(M)3.5身份认证基于公钥的双向身份认证〔1〕Denning-Sacco协议是一种运用时间戳机制的公钥分配和认证方法。假设通讯双方分别为A和B,AS为认证效力器。 [1]A→AS:IDA||IDB [2]AS→A:EKsas(ID

温馨提示

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

最新文档

评论

0/150

提交评论