消息认证与数字签名
信息安全学习总结13-消息认证与数字签名
(十三)消息认证与数字签名作者:山石1.消息认证消息认证(MAC,Message Authentication Code),用来保护通信双方免受第三方的攻击,验证消息的完整性。
接收方能够验证收到的报文是真实的未被篡改的。
(1)认证方案如下:●发方将消息和认证密钥输入认证算法,得到消息的认证标签,一起发送消息和认证标签●收方将同样的认证密钥和收到的消息输入认证算法。
检验计算结果是否与收到的认证标签相同,若相同,则认为消息未经篡改,否则认为消息被入侵者篡改。
(2)对安全认证方案的要求:●通信双方能有效(容易)地产生任意消息的认证标签●通信双方能有效(容易)地验证一给定的数字串是否是一给定消息的认证标签●入侵者不能有效(容易)地产生通信双方没发送消息的认证标签。
2.数字签名(1)概念消息认证用以保护双方之间的数据交换不被第三方侵犯;但它无法防止通信双方的相互攻击(欺骗、抵赖等)。
假定A发送一个认证的信息给B,双方之间的争议可能有多种形式:●B伪造一个不同的消息,但声称是从A收到的。
●A可以否认发过该消息,B无法证明A确实发了该消息。
数字签名的基本功能,就是将消息与发起实体相关联,由签名算法和相应验证算法组成。
●数字签名过程:发送方用其私钥对报文进行加密●验证签名过程:利用发送方公钥解密签名,再与发送方出示的明文或明文摘要进行比较。
●签名算法:RSA、E1Gamal、DSS●签名方案:一次签名、群签名、盲签名等。
(2)数字签名的性质:●用户能有效(容易)地在他选择的文件上产生自己的签名。
●用户能有效(容易)地验证一给定的数字是否是另一特定用户在某特定文件上的签名。
●没人能在其他用户没签名的文件上有效(容易)地产生他们的签名。
(3)数字签名算法的分类:无仲裁数字签名:●仅涉及通信方,假定接受方知道发送方的公钥●优点:无仲裁,不需要与第三方通信,比较方便。
●缺点:方案的有效性依赖于发送方私钥的安全性。
如果私钥被窃取,他人就会冒充发送方进行签名。
MD(消息摘要)、MAC(消息认证码)、数字签名的区别
MD(消息摘要)、MAC(消息认证码)、数字签名的区别
MD(消息摘要)、MAC(消息认证码)、数字签名的区别
1.MD(消息摘要)
1.1摘要含义
摘要
摘要是哈希值,我们通过散列算法⽐如MD5算法就可以得到这个哈希值。
摘要只是⽤于验证数据完整性和唯⼀性的哈希值,不管原始数据是什么样的,得到的哈希值都是固定长度的。
不管原始数据是什么样的,得到的哈希值都是固定长度的,也就是说摘要并不是原始数据加密后的密⽂,只是⼀个验证⾝份的令牌。
所以我们⽆法通过摘要解密得到原始数据。
2.MAC(消息认证码)
hash算法只能验证数据的完整性,不能防⽌数据被篡改。
⽐如:遇见中间⼈攻击,你会发现攻击者对消息进⾏篡改了,但是通过hash算法计算摘要值,你是⽆法知道消息被改动过的。
因此这个时候就需要MAC算法了。
MAC值 = mac(消息+密钥)
2.2MAC的特点
跟hash算法⼀样,可以验证数据的完整性。
可以验证数据确实是由原始发送⽅发出的。
MAC值⼀般和原始消息⼀起传输,原始消息可以选择加密,也可以选择不加密,通信双⽅会以相同的⽅式⽣成MAC值,然后进⾏⽐较,⼀旦两个MAC值相同表⽰MAC验证正确,否则验证失败。
3.数字签名
MAC不能保证消息的不可抵赖性,⽽数字签名可以保证。
因为数字签名使⽤的是公钥密码体制,私钥只有你⾃⼰才知道;⽽MAC使⽤对称加密,既然⼀⽅能够验证你的MAC,就能够伪造你的MAC,因为发送⽅和接收⽅的秘钥是⼀样的。
当然如果你在MAC中绑定⼀些关键信息,并通过某些⼿段,让⼀⽅只能⽣成MAC,另⼀⽅只能验证MAC,其实也是可以实现签名效果的。
消息认证的检验内容
消息认证的检验内容
消息认证是一种通过加密和验证技术来确保数据安全的方法。
在这种方法中,发送方使用密钥将消息编码,接收方使用相同的密钥进行解码和验证。
下面将详细介绍消息认证的检验内容。
1. 消息的完整性
消息的完整性是指消息在传输过程中没有被篡改。
发送方应该在发送消息时使用消息认证码来保证消息的完整性。
在接收方接收消息时,应该验证消息的完整性。
如果消息已被篡改,接收方将无法验证消息的完整性。
2. 消息的来源
消息的来源是指消息发送者的身份。
在消息认证中,发送方应该使用数字签名来验证其身份。
数字签名是通过将发送方的私钥与消息进行加密得到的。
在接收方接收消息时,应该使用发送方的公钥来验证消息的来源。
如果接收方无法验证消息的来源,它将无法确定消息是否来自所期望的发送方。
3. 消息的不可否认性
4. 密钥的保密性
消息认证中使用的密钥应该是保密的。
如果密钥泄露,攻击者可以使用该密钥来篡改消息,欺骗接收方。
因此,发送方和接收方应该采取措施来确保密钥的保密性。
5. 密钥的更新
为了保持消息认证的安全性,发送方和接收方需要定期更新密钥。
密钥更新应该在一定的时间间隔内进行,并且使用安全的方式来实现。
总之,消息认证是确保数据安全的重要方法,发送方和接收方应该采取相应的措施来确保消息的完整性,来源和不可否认性。
同时,密钥的保密性和更新也应得到重视。
信息安全概论第五章消息认证与数字签名
5.1.1 信息加密认证
信息加密函数分两种,一种是常规的对称密钥加密函数, 另一种是公开密钥的双密钥加密函数。下图的通信双方 是,用户A为发信方,用户B为接收方。用户B接收到信 息后,通过解密来判决信息是否来自A, 信息是否是完 整的,有无窜扰。
1.对称密码体制加密: 对称加密:具有机密性,可认证,不提供签名
通常b>n
24
5.2.3
MD5算法
Ron Rivest于1990年提出了一个称为MD4的散列函数。 他的设计没有基于任何假设和密码体制,不久,他的 一些缺点也被提出。为了增强安全性和克服MD4的缺 陷, Rivest于1991年对MD4作了六点改进,并将改进 后的算法称为MD5. MD5算法:将明文按512比特进行分组,即MD5中的 b=512bit,经填充后信息长度为512的倍数(包括64 比特的消息长度)。 填充:首位为1,其余补0至满足要求,即填充后的比 特数为512的整数倍减去64,或使得填充后的数据长 度与448模512同余。
18
通过以下方式使用散列函数常提供消息认证
(1)使用对称加密算法对附加消息摘要的报文进行加密 A B: EK(M||H(M)) 提供保密、认证 (2)使用对称加密方法对消息摘要加密 A B: M||EK(H(M)) 提供认证 (3)使用发方的私钥对消息摘要进行加密 A B: M||EKRa(H(M)) 提供数字签名、认证 (4)在(3)的基础上,使用对称加密方法进行加密 A B: EK(M||EKa(H(M)) ) 提供数字签名、认证和保密 (5)假定双方共享一个秘密值S,与消息M串接,计算散 列值 A B: M||(H(M||S)) 提供认证 (6)假定双方共享一个秘密值S,使用散列函数,对称加 密方法 A B: EK(M||H(M||S)) 提供数字签名、认证和保密19
06_密码学基础(五)_消息认证和数字签名
密码学基础(五)
内容
消息认证
MAC 散列算法
MD5 SHA/SHA-1
数字签名
问题的提出
通信威胁: 1. 泄露:把消息内容发布给任何人或没有合法密钥的 进程 2. 流量分析:发现团体之间信息流的结构模式。在一 个面向连接的应用中,可以用来确定连接的频率和持 续时间长度 3. 伪造:从一个假冒信息源向网络中插入消息 4. 内容修改:消息内容被插入删除变换修改 5. 顺序修改:插入删除或重组消息序列 6. 时间修改:消息延迟或重放 7. 否认:接受者否认收到消息,发送者否认发送过消 息
认证编码的基本方法
认证编码的基本方法是要在发送的消息中引入多余度 ,使通过信道传送的可能序列集Y大于消息集X。 对于任何选定的编码规则,则(相应于某一特定密钥) :发方从Y中选出用来代表消息的许用序列,即码字 收方根据编码规则唯一地确定出发方按此规则向他传 来的消息。 窜扰者由于不知道密钥,因而所伪造的假码字多是Y 中的禁用序列,收方将以很高的概率将其检测出来, 而被拒绝认证 系统设计者的任务是构造好的认证码 (Authentication Code),使接收者受骗概率极小化
注:若设E=1- e(-(k(k-1)/(2n)) ,可解出k的关于n、E 的函数,有
若略去-k项,有:k≈(n(ln(1/(1-E))×2)0.5; 若取E=0.5,我们估计:k≈1.17 n0.5 ≈n0.5 说明在集合X中,n0.5个随机元素散列的结果产 生一个碰撞的概率为50%!
MAC算法的要求
条件:
攻击者知道MAC函数但不知道密钥K 已知M和CK(M),要想构造M使得CK(M)=CK(M)在 计算上不可行 (计算上无碰撞) CK(M)均匀分布:随机选择M和M, Pr[CK(M) = CK(M)]=2-|MAC| f是M的一个变换(例如对某些位取反),那么, Pr[CK(M)= CK(f(M))]=2-|MAC|
消息认证与数字签名
最后一次i循环得到的ABCD级联起来 (共4*32=128位 )就是报文摘要。
说明:常数组T[1…64]:T[i]为32位整 数,第i步中, T[i]取232*abs(sin(i))的整数 部分,用十六进制表示,i的单位是弧度。 有的算法中直接给出了常数。如第1轮:
[ABCD 0 7 oxd76aa478] [ABCD 0 7 oxe8c7b756] [ABCD 0 7 ox242070db] [ABCD 0 7 oxc1bdceee] ………
(3)报文分组
按照每组512位,将报文分成n+1组:Y0、 Y1…Yn。每一分组又可表示为16个32位的子 分组。
(4)初始化MD5参数
MD5中有4个32位的链接变量,用于存 储中间结构和最终散列值。初始值用十六进 制表示,分别为:
A=ox01234567 C=oxfedcba98 B=ox89abcdef D=ox76543210
第一个人的生日为特定生日; 第二个人不在该日生的概率为(1-1/365) ; 第三个人与前二人不同生日的概率为(1-2/365) ; ……………. 第t个人与前t-1人不同生日的概率为(1-(t-1)/365) ; 所以t个人都不同生日的概率为
1* (1-1/365) * (1-2/365) *…*(1-(t-1)/365)
没被改变。
5.使用Hash函数提供消息鉴别
①对称加密 提供保密与鉴别
A→B:EK(M‖H(M))
②对称加密
提供鉴别
A→B:M‖EK(H(M))
③公钥加密
提供鉴别与数字签名
A→B:M‖EKa(H(M))
④在③的基础上 对称加密 提供鉴别、数
字签名与保密 A→B:EK (M‖EKa(H(M)))
消息认证(Message Authentication)
Message Digest
目标:确保信息的完整性(Integrity) 特色: (1) 不需密钥 (2) 任意长信息输入,固定长摘要输出 (3) 找出两个不同的输入,使输出相同在计算上很难 常用系統: MD5 (RFC 1321) SHA-1 (FIPS 180-1)
Structure of Message Digest
Message authentication code
• Prerequisite: A and B shares a key K
– Can be a session key
• MAC: a short fixed-size data block, depending on the message M and the shared key K • MAC(K,M)=CK(M) • Sender: M||CK(M) • Receiver: on receiving M’|C’
HMAC的设计目标
• Hash函数不使用密钥,不能直接用于MAC • HMAC要求 –可不经修改使用现有hash函数 –其中嵌入的hash函数可易于替换为更快和更安 全的hash函数 –保持嵌入的hash函数的最初性能,不因适用于 HAMC而使其性能降低 –以简单方式使用和处理密钥 –在对嵌入的hash函数合理假设的基础上,易于 分析 HMAC用于认证时的密码强度
MD5不再安全!?
安全的杂凑函数在设计时必须满足两个要求
● ●
找到两个不同输入而得到相同的输出值在计算上是不可行的—— 抗碰撞
给定一输出值找出输入值在計算上是不可行的——单向性
2004年在Crypto會議,來自山東大學的王出一种可以快速找到碰撞的方法 受影响的算法—— MD5、HAVAL-128、MD4、RIPEMD SHA-0及減弱条件下的SHA-1不安全——在任何初始值下 用240次hash运算可以找出SHA-0的碰撞 SHA-1预计至2010年也会被破解
第10章 数字签名与消息认证
第10章 数字签名与消息认证
10.2 Hash 函 数
10.2.1 Hash函数的概念
在前面的章节里,我们不只一次地用到了Hash函数, 已经初步知道了这是一类单向(计算h = H(m)是容易的, 但求逆运算是困难的)函数,本节我们对这类函数做进一 步讨论。
Hash函数h = H(m)也称为散列函数,它将任意长度的 报文m映射为固定长度的输出h(摘要),另外该函数除满足 单向性外,还应具备下列两项条件之一:
第10章 数字签名与消息认证
2.Schnorr签名方案 Schnorr签名方案是一个短签名方案,它是ElGamal 签名方案的变形,其安全性是基于离散对数困难性和 hash函数的单向性的。 假设p和 q是大素数,是q能被p-1整除,q是大于等 于160 bit的整数,p是大于等于512 bit的整数,保证 GF(p)中求解离散对数困难;g是GF(p)中元素,且gq1
(1) 接收方相信发送方发来的消息未被篡改,这是 因为攻击者不知道密钥,所以不能够在篡改消息后相 应地篡改MAC,而如果仅篡改消息,则接收方计算的
新MAC将与收到的MAC不同。
Source A
M K
C (a) Message authentication
M CK(M)
Destination B C
定SHA-3算法。
第10章 数字签名与消息认证
10.3 消 息 认 证
10.3.1 消息认证与消息认证码
消息认证是指验证者验证所接收到的消息是否确实来自 真正的发送方,并且消息在传送中没被修改的过程。消息认 证是抗击伪装、内容篡改、序号篡改、计时篡改和信源抵赖 的有效方法。
第10章 数字签名与消息认证
第10章 数字签名与消息认证
第四章数字签名
r=f2(k, p, q, g)=(gk mod p) mod q
p q g
f2f 2 k
r x g
f1 m H
s
(a)
DSA的验证过程框图
w=f3(s′, q)=(s′) -1mod q;
v=f4(y, q, g, H(m′), w, r′)
=[(g(H(m′)w)
m′ s′ r′
mod qyr′w mod q)
签名者 签名有效 时间
源文件被修改后,签 名无效
数字签名应具有的性质
必须能够验证作者及其签名的日期时间;
必须能够认证签名时刻的内容; 签名必须能够由第三方验证,以解决争议; 因此,数字签名功能包含了认证的功能; WHY?
数字签名的设计要求
依赖性 唯一性 可验性 抗伪性 可用性
签名必须是依赖于被签名信息的一个比特模式,
(4) 用户为待签消息选取的秘密数k是满足0<k<q的随机数 或伪随机数。
(5) 签名过程。 用户对消息m的签名为(r, s), 其中 r=(gk mod p) mod q s=[k-1(H(m)+xr)] mod q H(m)是由SHA求出的杂凑值。
(6) 验证过程。 设接收方收到的消息为m′, 签名为(r′,s′)。 计算
签名方案2
(1)X→A: IDX‖ EkXY[m]‖ EkXA[IDX‖H(EkXY[m])] (2)A→Y:
EkAY[IDX‖EkXY[m]‖EkXA[IDX‖H(EkXY[m])]‖T]
kXY——X、Y共享的密钥
签名方案2存在的问题
仲裁者有可能和发方共谋以否认发方曾发
过的消息,也可以和收方共谋以伪造发方的签 名。
签名必须使用某些对发送者是唯一的信息,以防伪造与否认;
消息认证和数字签名
可编辑ppt
4
1 消息认证
消息认证
消息认证就是验证消息的完整性.当接收方 收到发送方的报文时,接收方能够验证收到 的报文是真实的未被篡改的。
保密和认证同时是信息系统安全的两个方面, 但它们是两个不同属性的问题,认证不能自 动提供保密性,而保密性也不能自然提供认 证功能。
可编辑ppt
5
1 消息认证
可编辑ppt
15
2 数字签名
消息认证与数字签名的区别:
前者能验证消息来源及完整性,防范第三者; 后者在收发双方产生利害冲突时,解决纠纷。
可编辑ppt
16
2 数字签名
数字签名需要解决的一些问题
1.签字后的文件可能被B重复使用。如果签字 后的文件是一张支票,B很容易多次用该电子 支票兑换现金,为此A需要在文件中加上一些 该支票的特有的凭证,如timestamp等,以防 止上述情况发生。
可编辑ppt
13
2 数字签名
数字签名的设计要求 签名必须是依赖于被签名信息的一个位串模板 签名必须使用某些对发送者是唯一的信息,以防止 双方的伪造与否认 必须相对容易生成该数字签名 必须相对容易识别和验证该数字签名 伪造该数字签名在计算复杂性意义上具有不可行性, 既包括对一个已有的数字签名构造新的消息,也包 括对一个给定消息伪造一个数字签名 在存储器中保存一个数字签名副本是现实可行的
送过消息
可编辑ppt
3
1 消息认证
认证则主要是为了防止第三方的主动攻击 。 认证系统的目的有两个: 第一, 信源识别,即验
证发信人确实不是冒充的; 第二, 检验发送信息 的完整性, 也就是说, 即使信息确实是经过授权 的信源发送者发送的, 也要验证在传送过程中 是否被篡改, 重放或延迟。 在认证理论中一般将信源识别和发送信息的完 整性检验两者作为一个整体进行讨论。
消息认证的三种方法
消息认证的三种方法
消息认证的三种方法包括:
1. 密码认证:使用预先共享的密码或密钥来验证消息的完整性和真实性。
发送方使用密钥对消息进行加密,并将其与消息一起发送。
接收方使用相同的密钥对消息进行解密,并验证消息是否与发送方发送的密文匹配。
2. 数字签名认证:使用公钥密码学技术创建和验证数字签名来验消息的完整性、真实性和身份。
发送方使用其私钥对消息进行数字签名,然后将消息和签名一起发送。
接收方使用发送方的公钥来验证签名,以确保消息是由发送方提供且未被篡改的。
3. 消息认证码(MAC)认证:使用一个密钥和散列函数来创
建和验证MAC来验证消息的完整性和真实性。
发送方使用密
钥和散列函数对消息进行计算,并将生成的MAC与消息一起
发送。
接收方使用相同的密钥和散列函数对收到的消息进行计算,并验证计算出的MAC是否与发送方发送的MAC匹配。
这种方法还可以防止消息被篡改,因为即使消息的内容被轻微更改,计算出的MAC也会与发送方发送的MAC不匹配。
这些方法可以单独或结合使用,以提供更强的消息认证和安全性。
第四章消息认证
公钥密码体制加密认证
这种方式既能提供认证, 又能够提供数字签名
A用B的公钥对明文加密 B能用自己的私钥解出明文,说明没有被人更改。
消息认证
(2) 消息认证码
使用一个密钥生成一个固定大小的小数据块,附加在消息 后,称MAC (Message Authentication Code)。 MAC = FK(M) 收到消息后,只需要根据密钥和消息来计算MAC是否等 于传过来的MAC。 接收者可以确信消息M未被改变,也可以确信消息来自所 声称的发送者;
MAC函数类似于加密函数,但不需要可逆性。 因此在数学上比加密算法被攻击的弱点要少。
假设双方共享密钥
消息认证
为何要使用消息认证码? 根本上,信息加密提供的是保密性而非真实性 加密代价大(公钥算法代价更大) 某些信息只需要真实性,不需要保密性
广播的信息难以使用加密(信息量大)
网络管理信息等只需要真实性 政府/权威部门的公告
第四章
数字签名和认证技术
一 二
消息认证
数字签名 身份认证
三
回顾与总结
对称密码算法
– 运算速度快、密钥短、多种用途、历史悠久 – 密钥管理困难
非对称密码算法
– 只需保管私钥、可以相当长的时间保持不变、需要
的数目较小
– 运算速度慢、密钥尺寸大、历史短
信息安全的需求
保密性( Confidentiality)
A->B: E(M || D(H(M),KdA),K)
几种常用的HASH算法
MD5
SHA-1
RIPEMD-160
MD5简介
Merkle于1989年提出hash function模型 Ron Rivest于1990年提出MD4
消息认证与数字签名
生日攻击实例
A准备两份合同M和M′,一份B会同意,一份会 取走他的财产而被拒绝 A对M和M′各做32处微小变化(保持原意),分别产 生2^32个64位hash值 根据前面的结论,超过0.5的概率能找到一个M和一 个M′,它们的hash值相同 A提交M,经B审阅后产生64位hash值并对该值签名, 返回给A A用M′替换M
消息认证与数字签名
计算机科学系 邹瑞源
问题提出
密码学被应用到哪些方面?
信息认证
消息认证的含义 数据起源认证 验证信息在传送过程中的正确性 消息认证的检验内容 报文的源,内容真伪,时间有效性等 验证数据完整性的方法 检错码和纠错码 消息认证模式
消息认证
消息认证技术 (1)消息加密函数(Message encryption)
返回
需仲裁的签名
X
A
Y
使用对称密码算法,明文传输 密文传输? XA: M || EkXA[ IDx || H(M) ] AY: EkAY[ IDx || M || EkXA[ IDx || H(M) ] ||T] 说明:kXA ,kAY 分为X和A、A和Y的共享密钥
T:时戳(不是旧消息的重放) Idx:x的标识符 H(M):M的摘要 方法缺陷:若A不公正,与X共谋否认签名,或与Y串 通伪造签名
数字签名
消息认证与数字签名的区别: 前者能验证消息来源及完整性,防范第三 者;后者在收发双方产生利害冲突时,解 决纠纷。 应用 数字水印
摘要签名
过程
H2
消息M 消息M 消息M
比较
Dk2
H
Ek1
S
S
H1
把签名过程从对原文件转移到一很短的hash值上,可以提高效率
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
法
则。发方A根据这个法则对信源S进行编码,信源经编
码
后成为消息,M表示所有可能的消息集合。发方A通信
时,发送的是消息。用简单的例子说明设S={0,1},
M={00,01,10,11}, 定义四个不同的编码法则e0,e1,e2,e3:
00 01 10 11
e0 0 1
e1 0
1
e2 0 1
e3 0 1
消息序列后,按发方同样的方法对接收的
数据(或解密后)进行计算,应得到相应的r bit数据
消息认证与数字签名
17
2、数字签名
数字签名技术是实现交易安全的核心技 术之一,它的实现基础就是加密技术。
数字签名能够实现电子文档的辨认和验 证。数字签名是传统文件手写签名的 模拟,能够实现用户对电子形式存放 消息的认证。
消息认证与数字签名
18
数字签名
用以保护双方之间的数据交换不被第三方侵犯; 但它并不保证双方自身的相互欺骗。 假定A发送一个认证的信息给B,双方之间的争 议可能有多种形式:
B伪造一个不同的消息,但声称是从A收到的。 A可以否认发过该消息,B无法证明A确实发 了该消息
消息认证与数字签名
19
数字签名必须保证: ❖可验证:签字是可以被确认的 ❖防抵赖:发送者事后不承认发送报文并签名; ❖防假冒:攻击者冒充发送者向收方发送文件; ❖防篡改:收方对收到的文件进行篡改; ❖防伪造:收方伪造对报文的签名。 签名对安全、防伪、速度要求比加密更高。
消息认证与数字签名
13
这样就构成一个认证码MAC 。 •发方A和收方B在通信前先秘密约定使用的编 码法则。
•例如若决定采用e0 则以发送消息00代表信源 0,发送消息10代表信源1 。 •我们称消息00和10在e0之下是合法的,而消 息01和11在e0之下不合法。 •收方将拒收这二个消息。
消息认证与数字签名
消息认证与数字签名
10
2 认证函数
可用来做认证的函数分为三类
(1) 信息加密函数(Message
encryption)
用完整信息的密文作为对信息的认证
(2) 信息认证码MAC(Message
Authentication Code)
是对信源消息的一个编码函数
(3) 散列函数(Hash Function)
前者能够同时提供认证和保密两种 功能;
而后者则只是纯粹的认证系统。
消息认证与数字签名
8
③:有仲裁认证系统与无仲裁认证系统。
传统的认证系统只考虑了通信双方互相信任, 共同抵御敌方的主动攻击的情形, 此时系统中只有 参与通信的发方和接收方及发起攻击的敌方, 而不 需要裁决方。因此, 称之为无仲裁人的认证系统。
消息认证与数字签名
9
④:有分裂的认证系统与无分裂的认证系统。
一个认证系统中,发方在将信源信息发送给合 法接收方时,先将该信息利用共同约定的编码规 则编码成为消息, 把消息在公共信道上发送; 接 收方接收到从发方发来的消息后, 利用掌握的编 码规则破解消息得到实际发方要发送的信息。
一般地, 编码规则将一个信息编码成为一个对 应的消息, 这时称为无分裂的认证码; 若编码规 则编码一个信息成为多个消息, 则称为是有分裂 的认证码。
认证系统可以按下列4种方式进行分类
消息认证与数字签名
6
①:条件安全认证系统与无条件安全认证系统。
无条件安全性又称理论安全性, 敌方破译认证系统所作的任 何努力都不会比随机选择碰运气更优。
条件安全性又称实际安全性, 即认证系统的安全性是根据破 译该系统所需的计算量来评价的。
消息认证与数字签名
7
②:有保密功能的认证系统与无保密 功能的认证系统。
3. 伪造:从一个假冒信息源向网络中插入消息 4. 内容修改:消息内容被插入删除变换修改 5. 顺序修改:插入删除或重组消息序列 6. 时间修改:消息延迟或重放 7. 否认:接受者否认收到消息发送者否认发送过消 息
消息认证与数字签名
3
§5.1 消息认证
❖消息认证就是验证消息的完整性. 当接收方收到发送方的报文时, 接收方能够验证收到的报文是真 实的未被篡改的。
14
❖ 信息的认证和保密是不同的两个方面。
❖ 一个认证码,可具有保密功能也可没有保密 功能
消息认证与数字签名
15
消息认证
❖ 消息认证是使预定的消息接收者能够检验收到的消 息是否真实的方法。检验内容应包括: ❖ (1)证实报文的源和宿 ❖ (2)报文内容是否曾受到偶然的或有意的篡改 ❖ (3)报文的序号和时间栏
第4章 消息认证与数字签名
消息认证与数字签名
1
❖ 公钥密码体制的一种最重要的应用是数字签 名,数字签名通常需要与散列函数结合起来 使用。
消息认证与数字签名
2
问题的提出-通信威胁 1. 泄露:把消息内容发布给任何人或没有合法密钥 的进程
2. 流量分析:信息流的结构模式在一个面向连接的 应用中可以确定连接的频率和持续时间长度
是一个公开的函数,它将任意长的信息
映射成一个固定长度的信息
消息认证与数字签名
11
信息加密函数作认证 信息加密函数分二种: 一种是常规的对称密钥加密函数; 另一种是公开密钥的双密钥加密函 数。
消息认证与数字签名
12
信息认证码(MAC)
设S为通信中的发方A发送的所有可能的信源集合
为了达到防窜扰的证与数字签名
4
保密和认证同时是信息系统安 全的两个方面,但它们是两个 不同属性的问题,认证不能自 动提供保密性,而保密性也不 能自然提供认证功能。
消息认证与数字签名
5
1、认证系统
认证则主要是为了防止第三方的主动攻击 。
认证系统的目的有两个: 第一, 信源识别,即验证发信 人确实不是冒充的; 第二, 检验发送信息的完整性, 也就是说, 即使信息确实是经过授权的信源发送者 发送的, 也要验证在传送过程中是否被篡改, 重放 或延迟。
总之,消息认证使接收者能识别: 消息的源,内容的真伪,时间性和意定的信宿 ❖ 这种认证只在相应通信的双方之间进行,而不允许 第三者进行上述认证。认证不一定是实时的,可用消 息认证码MAC对消息做认证
消息认证与数字签名
16
❖利用函数f和密钥k, 对要发送的明文x或 密文y变换成r bit的消息认证码f(k,x)(或 f(k,y)) ,将其称为认证符附加在x(或y)之 后发出,x//As(或y//As)表示,其中“//” 符号表示数字的链接。接收者收到发送的