信息安全专题讲座-08.ppt
《信息安全专题讲座-08.ppt》由会员分享,可在线阅读,更多相关《信息安全专题讲座-08.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章第八章 信息认证和散列函数信息认证和散列函数(Message Authentication and Hash Functions)1 信息认证信息认证 网络系统安全要考虑两个方面。一方面,用密码保护传送的信息使其不被破译;另一方面,就是防止对手对系统进行主动攻击,如伪造,篡改信息等。认证(authentication)则是防止主动攻击的重要技术,它对于开放的网络中的各种信息系统的安全性有重要作用。认证的主要目的目的目的目的有二:第一,验证信息的发送者是真正的,而不是冒充的,此为信源识别;第二,验证信息的完整性,在传送或存储过程中未被篡改,重放或延迟等。保密和认证同时是信息系统安全的两个方
2、面,但它们是两个不同属性的问题,认证不能自动提供保密性,而保密性也不能自然提供认证功能。一个纯认证系统认证系统认证系统认证系统的模型如下图所示:窜扰者信宿信源认证编码器认证译码器信道安全信道密钥源 在这个系统中的发送者通过一个公开的无扰信道将消息送给接收者,接收者不仅想收到消息本身,而且还要验证消息是否来自合法的发送者及消息是否经过篡改。系统中的密码分析者不仅要截收和破译信道中传送的密报,而且可伪造密文送给接收者进行欺诈,将其称为系统的窜扰者(tamper)更加合适。实际认证系统可能还要防止收方、发方之间的相互欺诈。上述标出的认证编码器和认证译码器可抽象为认证函数。一个安全的认证系统,首先要选
3、好恰当的认证函数,然后在此基础上,给出合理的认证协议(Authentication Protocol)。2 认证函数认证函数(Authentication Functions)可用来做认证的函数分为三类:(1)信息加密函数(Message encryption)用完整信息的密文作为对信息的认证。(2)信息认证码MAC(Message Authentication Code)是对信源消息的一个编码函数。(3)散列函数(Hash Function)是一个公开的函数,它将任意长的信息映射成一个固定长度的信息。对于(对于(对于(对于(1 1),用信息加密函数作认证的方式,教材P239-242,给出明白
4、的叙述。信息加密函数分二种,一种是常规的对称密钥加密函数,另一种是公开密钥的双密钥加密函数。下图的通信双方是,用户A为发信方,用户B为接收方。用户B接收到信息后,通过解密来判决信息是否来自A,信息是否是完整的,有无窜扰。信源信宿MEEk(M)DMA方B方kkDk(Ek(M)(a)常规加密:具有机密性,可认证KUb(B方的公钥)MEEKUb(M)DMA方B方DkRb(b)公钥加密:具有机密性MEEkRa(M)DMA方B方KRaKUa(c)公钥加密:认证和签名MEEkRa(M)EEKUb(EkRa(M)A方KRaKUbDEkRa(M)DMB方KRbKUa(d)公钥加密:机密性,可认证和签名 对于(
5、对于(对于(对于(2 2),信息认证码(MAC)设S为通信中的发方A发送的所有可能的信源集合。为了达到防窜扰的目的,发方A和收方B设计一个编码法则。发方A根据这个法则对信源S进行编码,信源经编码后成为消息,M表示所有可能的消息集合。发方A通信时,发送的是消息。用简单的例子说明:设S=0,1,M=00,01,10,11,定义四个不同的编码法则e0,e1,e2,e3:00 01 10 11e0 0 1 e1 0 1e2 0 1e3 0 1这样就构成一个认证码MAC。发方A和收方B在通信前先秘密约定使用的编码法则。例如,若决定采用e0,则以发送消息00代表信源0;发送消息10代表信源1,我们称消息0
6、0和10在e0之下是合法的。而消息01和11在e0之下不合法,收方将拒收这二个消息。信息的认证和保密是不同的两个方面,一个认证码可具有保密功能,也可没有保密功能。认证编码的基本方法是要在发送的消息中引入多余度,使通过信道传送的可能序列集Y大于消息集X。对于任何选定的编码规则(相应于某一特定密钥):发方从Y中选出用来代表消息的许用序列,即码字;收方根据编码规则唯一地确定出发方按此规则向他传来的消息。窜扰者由于不知道密钥,因而所伪造的假码字多是Y中的禁用序列,收方将以很高的概率将其检测出来而被拒绝。认证系统设计者的任务是构造好的认证码认证码认证码认证码(Authentication Code),使
7、接收者受骗概率极小化。令x X为要发送的消息,k K为发方选定的密钥,y=A(x,k)Y是表示消息X的认证码字,Ak=y=A(x,k)|x X为认证码。Ak是Y中的许用(合法)序列集,易见Y=AkAk。接收者知道认证编码A(.,.)和密钥k,故从收到的y,唯一确定出消息x。窜扰者虽然知道X,Y,y,A(.,.),但不知具体密码k,他的目的是想伪造出一个假码字y*,使y*Ak,以使接收者收到y*后可用密钥k解密,得到一个合法的消息x*。这样,窜扰者欺诈成功。消息认证消息认证消息认证消息认证 消息认证是使意定的消息接收者能够检验收到的消息是否真实的方法。检验内容应包括:(1)证实报文的源和宿;(2
8、)报文内容是否曾受到偶然的或有意的篡改;(3)报文的序号和时间栏。总之,消息认证使接收者能识别:消息的源,内容的真伪,时间性和意定的信宿。这种认证只在相应通信的双方之间进行,而不允许第三者进行上述认证。认证不一定是实时的。可用消息认证码MAC对消息做认证。.利用函数f和密钥k,对要发送的明文x或密文y变换成r bit的消息认证码f(k,x)(或f(k,y),将其称为认证符附加在x(或y)之后发出,以x/As(或y/As)表示,其中“/”符号表示数字的链接。接收者收到发送的消息序列后,按发方同样的方法对接收的数据(或解密后)进行计算,应得到相应的r bit数据。两种实用的两种实用的两种实用的两种
9、实用的MACMAC算法算法算法算法 (一一)十进制移位加十进制移位加MAC算法算法 Sievi于1980年向ISO提出一项消息认证法的建议Davies等1984,这种认证法称为十进制移位加算法(Decimal Shift and Add Algorithm),简记为DSA。它特别适用于金融支付中的数值消息交换业务。消息按十位十进制数字分段处理,不足十位时在右边以0补齐,下面举例说明。令x1=1583492637是要认证的第一组消息,令b1=5236179902和b2=4893524771为认证用的密钥。DSA算法是以b1和b2并行对x1进行运算。先算x1+b1,x1+b2(mod 1010),
10、而后根据b2的第一位数值4对x1+b2循环左移4位,记作R(4)(x1+b1)再与(x1+b1)相加得 R(4)(x1+b1)+(x1+b1)P1(mod 1010)类似地,右路在b1的第一位数值5控制下运算结果为 R(5)(x1+b2)+(x1+b2)=Q1(mod 1010)表:左路 右路第 b1=5236179902 b2=4893224771一 +x1=1583492637 +x1=1583492637轮 b1+x1=6819672539 b2+x1=6477017408 +R(4)(b1+x1)=2539681976 +R(5)(b2+x1)=1740864770 P1=935935
11、4506 Q1=8217882178第 +x2=5283586900 +x2=5283586900二 P1+x2=4642941406 Q1+x2=3501469078轮 +R(8)(P1+x2)=4294140646 +R(9)(Q1+x2)=7835014690 P2=8937082052 Q2=1336483768 .第 P10=7869031447 Q10=3408472104十 P10+Q10=1277403551 (mod 1010)轮 403551 +1277 认证符 404828(mod 1010)将第二组消息x2=528358586900分别与P1和 Q1相加,其结果又分别以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 安全 专题讲座 08
限制150内