信息安全概论第五章消息认证与数字签名
信息安全原理及应用第5章消息认证

重复攻击
• Step 1:
– 给定M1和MAC1 = C k1 (M1)
– 对所有2k个密钥,判断MACi = C ki (M1) – 匹配数约为: 2k-n
• Step 2:
– 给定M2和MAC2 = C k1 (M1)
– 对所有2k-n个密钥,判断MACi = C ki (M2) – 匹配数约为: 2k-2n
• 平均来讲,若k=x*n,则需x次循环才能找到正确的密钥。 • 所以,用穷举法攻破MAC比攻破加密算法要困难得多。
对MAC的攻击—攻击算法
• 考虑下面的算法:
消息M=(X1‖X2‖…‖Xm)是由64比特长的分组Xi(i=1,…,m)链接而成 MAC算法是:
(M ) X1 X2 Xm
CK (M ) EK (M )
填充图样
消息长度
消息
Kbit L×512bit
100…0 64bit
• 如果消息长度大于264,则取其对264的模。
• 执行完后,消息的长度为512的倍数(设为L倍),则可将消 息表示为分组长为512的一系列分组Y0,Y1,…,YL-1,而 每一分组又可表示为16个32比特长的字,这样消息中的总字 数为N=L×16,因此消息又可按字表示为M[0,…,N-1]。
• 因此,认证函数比加密函数更不易被攻破,因为即 便攻破也无法验证其正确性。关键就在于加密函数 是一对一的,而认证函数是多对一的。
消息认证码的基本用途
• 只提供消息认证,不提供保密性。(见前) • 提供消息认证和保密性:
A
B
MKC||KE KDCM KC 比较 1
2 2 EK2[M || CK1 (M )]
Hash与MAC的区别
• MAC需要对全部数据进行加密 • MAC速度慢 • Hash是一种直接产生鉴别码的方法 • Hash可用于数字签名
第5章-消息认证、数字签名和密钥管理-网络10

5
图5-2 认证性
6
(1)发送方将消息M和MAC一起发送给接收方。 (2)接收方受到消息后,假设为M‘,使用相同的 密钥K,计算新的MAC’= C(K,M‘),比较MAC’和 所收到的MAC。如果计算得出的MAC'和收到的 MAC是相同的,则可认为:
接收方可以相信消息未被修改。因为若攻击者 篡改了消息,他必须同时相应地修改MAC值, 但攻击者不知道密钥,因此他不能在篡改消息 后相应地篡改MAC,而如果仅篡改消息,则接 收方计算的新MAC'将与收到的不同。
填充的方法是在消息后面添加一位“1”,后续 都是“0”。(如果消息长度正好为448位,则 仍需要填充512位,填充后的消息长度为 448+512=960位。)
(2)添加原始消息长度:在填充后的消息后面再 添加一个64位的二进制整数,表示填充前原始消 息的长度L。这时经过处理后的消息长度正好是 512位的倍数。
因此,HMAC使用的Hash函数并不局限于某一种 Hash函数,使用不同的Hash函数,就可得到不 同的HMAC算法。
24
2、HMAC算法
图5-6 HMAC 的总体结构
25
H:嵌入的Hash函数(如MD5); M:HMAC的消息输入(包括Hash函数所添加的填 充位); IV:作为Hash函数输入的初始值; Yi:M中的第i个分组,0≤i≤ L-1; L:是M的分组数; b:每一分组所含的位数; n:使用的Hash函数所产生的散列值的位长; K:密钥,建议密钥长度大于n。若密钥长度大于b, 则将密钥输入作为Hash函数的输入,产生一个n位 的密钥。 K+:为使K为b位长而在K左边填充0后的结果; ipad:为重复b/8次 00110110(十六进制数36)的 结果; opad:为重复b/8次01011100(十六进制数5C) 的结果;
信息安全第五章

(3)签名者B每次只能签[log2 n]比特长的消息, 获得同样长的签名。一般来说,所要签的消息都很 长,如果直接对消息进行签名只能先把所要签的消 息分成若干门。[log2 n]比特长的组,远分组进行 签名。因为RSA数字签名算法所涉及的是模2乘法 运算或模2指数运算,所以这样做带来的缺陷是速 度慢,而且签名太长。克服该缺陷的办法之一是在 对消息进行签名之前作一个压缩变换,这种变换称 作杂凑(Hash)变换,亦称杂凑函数。
2.EIGamal数字签名方案 EIGamal于1985年基于离散对数问题提出了一 个既可用于公钥密码体制又可用于数字签名方案的 密码体制。这个数字签名方案的一个变形已被美国 国家标准技术研究所(NIST)采纳为数字签名标准。 EIGamal数字签名方案像EIGamal公钥密码体制一 样是非确定性的。这意味着对给定的消息有许多合 法的签名。 EIGamal密码体制是基于Zp(p为素数) 上的离散对数问题计算上是难的这一假设。
RSA数字签名方案(或算法)基于RSA公钥密码 体制。该方案中,p=A=Zn,其中n;pq,p和q 是两个素数,定义K={(n,p,q,a,b)|n=pq,p, q为素数,ab=1 mod φ(n)}。密钥K=(n,p,q, a,b)中值n和b是公开的,值p,q和a是保密的。 对K=(n,p,q,a,b),定义Sig k(x)=xa mod n,x属于Zn。Ver k(x,y)=真<=>yb(mod n)=x,y属于Zn。
由于明文中加如了收,发时间等一些附加信息, 就使得第一个漏洞给堵住了,即A,B都无法拿以前的 报文来冒充当前的报文。其次B收到A的签名报文 后,只要用A的公开密钥验证A的签名并恢复出正确 的附加信息(A,B,i),便可以判定M是正确的(因为 (A,B,i)已知) 。
信息安全学习总结13-消息认证与数字签名

(十三)消息认证与数字签名作者:山石1.消息认证消息认证(MAC,Message Authentication Code),用来保护通信双方免受第三方的攻击,验证消息的完整性。
接收方能够验证收到的报文是真实的未被篡改的。
(1)认证方案如下:●发方将消息和认证密钥输入认证算法,得到消息的认证标签,一起发送消息和认证标签●收方将同样的认证密钥和收到的消息输入认证算法。
检验计算结果是否与收到的认证标签相同,若相同,则认为消息未经篡改,否则认为消息被入侵者篡改。
(2)对安全认证方案的要求:●通信双方能有效(容易)地产生任意消息的认证标签●通信双方能有效(容易)地验证一给定的数字串是否是一给定消息的认证标签●入侵者不能有效(容易)地产生通信双方没发送消息的认证标签。
2.数字签名(1)概念消息认证用以保护双方之间的数据交换不被第三方侵犯;但它无法防止通信双方的相互攻击(欺骗、抵赖等)。
假定A发送一个认证的信息给B,双方之间的争议可能有多种形式:●B伪造一个不同的消息,但声称是从A收到的。
●A可以否认发过该消息,B无法证明A确实发了该消息。
数字签名的基本功能,就是将消息与发起实体相关联,由签名算法和相应验证算法组成。
●数字签名过程:发送方用其私钥对报文进行加密●验证签名过程:利用发送方公钥解密签名,再与发送方出示的明文或明文摘要进行比较。
●签名算法:RSA、E1Gamal、DSS●签名方案:一次签名、群签名、盲签名等。
(2)数字签名的性质:●用户能有效(容易)地在他选择的文件上产生自己的签名。
●用户能有效(容易)地验证一给定的数字是否是另一特定用户在某特定文件上的签名。
●没人能在其他用户没签名的文件上有效(容易)地产生他们的签名。
(3)数字签名算法的分类:无仲裁数字签名:●仅涉及通信方,假定接受方知道发送方的公钥●优点:无仲裁,不需要与第三方通信,比较方便。
●缺点:方案的有效性依赖于发送方私钥的安全性。
如果私钥被窃取,他人就会冒充发送方进行签名。
05、消息认证与数字签名

消息认证与数字签名
21
5.2.2 散列函数旳使用方式
❖ 散列函数旳基本使用方法(a、b)
Provides confidentiality -- only A and B share K Provides authentication -- H(M) is cryptographically protected
❖ 问题:经过加密得到信息真实性?
保密性与真实性是两个不同旳概念。根本上,信息加密提供旳是保密 性而非真实性。
加密代价大(公钥算法代价更大)。 鉴别函数与保密函数旳分离能提供功能上旳灵活性。
广播旳信息难以使用加密(信息量大) 某些信息只需要真实性,不需要保密性
消息认证与数字签名
12
5.1.2 消息认证码
散列函数H是公开旳,散列值在信源处被附加在消息上,接受方经过 重新计算散列值来确保消息未被篡改。
因为函数本身公开,传送过程中对散列值需要另外旳加密保护(假如 没有对散列值旳保护,篡改者能够在修改消息旳同步修改散列值, 从而使散列值旳认证功能失效)。
消息认证与数字签名
19Biblioteka 5.2 散列(Hash)函数
息验证码 MAC=CK(M) 。发送给接受方B时,将它附加在报文中。
❖ 接受方收到报文使用相同旳密钥K执行相同旳计算,得到新旳MAC。接受
方将收到旳MAC与计算得到MAC进行比较,假如相匹配,那么能够确保报
文在传播过程中维持了完整性:
❖
(1)报文未被更改正
❖
(2)接受者确信报文来自真实旳发送者。(无人知晓密钥)
因为收发双方共享相同旳密钥,上述过程只提供认证而不提供保密, 也不能提供数字署名
消息认证与数字签名
14
第05章消息认证与数字签名

第五章 消息认证与数字签名
数字信封
数字信封(DIGITAL ENVELOPE) : 对数据进行加密的密钥必须经常更换。 数字信封解决两个难题:取长补短 单钥体制:密钥分发困难;高效;数据的加密 公钥体制:加解密时间长;灵活;密钥的加密 目的:利用数据接收者的公钥来封装保护加密 数据的密钥。
9
第五章 消息认证与数字签名
5
第五章 消息认证与数字签名
公开密钥算法的主要特点如下: 1)用加密密钥PK对明文A加密后得到密文,再用解 密 密 钥 SK 对 密 文 解 密 , 即 可 恢 复 出 明 文 A。 DSK(EPK(A))=A 2)加密密钥不能用来解密,即: DPK(EPK(A))≠A ;DSK(ESK(A))≠A 3)用 SK 加密的信息只能用 PK 解密;用 PK 加密的信 息只能用SK解密。 4)从已知的PK不可能推导出SK。
主要内容
数字信封 数字指纹 数字证书 数字签名 数字水印 密码管理
1
第五章 消息认证与数字签名
一、密码学通常的作用
公钥密码 ( 双钥密码、非对称密码),是 1976 年由 Diffie和Hellman在其“密码学新方向”一文中提出的 单向陷门函数是满足下列条件的函数f: (1)给定x,计算y=f(x)是容易的; (2)给定y, 计算x使y=f(x)是非常困难的,无实际意义。 (3)存在δ,已知δ 时,对给定的任何y,若相应的x存在, 则计算x使y=f(x)是容易的。 注:1*. 仅满足(1)、(2)两条的称为单向函数;第(3) 条称为陷门性,δ 称为陷门信息。
17
第五章 消息认证与数字签名
二、数字指纹
数字指纹是通过一类特殊的散列函数(HASH函 数)生成的,对这类HASH函数的特殊要求是: 1.输入报文的长度没有限制; 2.对输入任何报文,能生成固定长度的摘要 (数字指纹); 3.从报文能方便地算出摘要; 4.极难从指定的摘要生成一个报文,而由该 报文又反推算出该指定的摘要; 5.两个不同的报文极难生成相同的摘要。
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,其实也是可以实现签名效果的。
消息认证与数字签名

最后一次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)))
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
3
信息认证检验的内容:证实报文的信源和信宿、 报文内容是否遭到偶然或有意地篡改、报文的 序号是否正确,报文到达的时间是否在指定的 期限内。这种认证只在通信的双方之间进行, 而不允许第三者进行上述认证。认证不一定实 时的。 保密和认证同时是信息系统安全的两个方面, 但它们是两个不同属性的问题,认证不能自动 提供保密性,而保密性也不能自然提供认证功 能。一个纯认证系统的模型如下图所示:
17
注意:前两个性质使得散列函数用于消息认证成为可 能。 第二和第三个性质保证H的单向性,保证攻击者无法 通过散列值恢复消息。 第四个性质保证了攻击者无法在不修改散列值的情况 下替换消息而不被察觉。 第五个性质比第四个更强。保证了一种被称为生日攻 击的方法无法凑效。 生日问题:一个教室中,最少应有多少学生,才使至 少有两人具有相同生日的概率不小于1/2? 实际上只需23人,即任找23人,从中总能选出两人具 有相同生日的概率至少为1/2。
7
• 如何自动确定是否收到的明文可解密为可懂的明文?
• 一种解决办法是强制明文有某种结构.
差错控制:Error Control
8
2. 公钥密码体制加密认证: (1)公钥加密:具有机密性,不能提供认证(任何人 都可以得到公钥)
(2)私钥加密:认证和签名,没有保密性
9
(3)公钥加密体制:机密性,可认证和签名
10
5.1.2 消息认证码(MAC)
消息认证码(MAC)是在密钥的控制下将任 意长的消息映射到一个简短的定长数据分组, 并将它附加在消息后。MAC进行消息的认证 过程如图:
MAC的基本用法(a)
消 息 K 认证算法 消 息
MAC
消 息
MAC
K
比较
认证算法
MAC
认证码的使用
11
A B: M||CK(M) 即A使用双方共享的密钥K对明文进行计算,产生一个 短小的数据块,即消息验证码 MAC=CK(M) 。发送给 接收方B时,将它附加在报文中。 接收方收到报文使用相同的密钥K执行相同的计算, 得到新的MAC。接收方将收到的MAC与计算得到 MAC进行比较,如果相匹配,那么可以保证报文在 传输过程中维持了完整性: (1)报文未被更改过 (2)接收者确信报文来自真实的发送者。(无 人知晓密钥) 注意:上述认证过程只提供认证、不提供保密性。
15
5.2 散列(Hash)函数
散列函数(又称杂凑函数)是对不定长的输入产生定 长输出的一种特殊函数:h=H(M) M: 变长消息 h=H(M)是定长的散列值(或称消息摘要) H:散列函数,是公开的; H(M)又称为:哈希函数、数字指纹(Digital finger print)、压缩(Compression)函数、数据鉴别码 (Dataauthentication code)等 散列值在信源处被附加在消息上,接收方重新计算散 列值来确认消息未被篡改。由于函数本身公开,传送 过程中需要对散列值加密保护(如果没有对散列值的 保护,篡改者可以在修改消息的同时修改散列值,从 而使散列值的认证功能失效)。
23
Y0 b n Vi=CV0
Y1 b b n n
YL-1
f
n CV1
f
CV2 CVL-1 迭代型散列函数的结构
f
n CVL
MD4算法如下: CV0=Vi CVi=f(CVi-1,Yi-1) h=H(M)=CVL=f(CVL-1,YL-1) Vi:初始链接变量
CVi-1:连接变量;f:压缩函数(由若干轮处理组成);
12
MAC的基本用法(b)
A
ห้องสมุดไป่ตู้
B:
EK2(M||CK1(M))
提供消息认证与保密,认证码与明文连接 Provides authentication -- only A and B share K1 Provides confidentiality -- only A and B share KK2 2
认证 和保密
认证
认证和 数字签名
20
认证 保密和 数字签名
认证
S:双方共享的秘密值
认证 保密和
21
Hash vs MAC
MAC需要对全部数据进行加密 MAC速度慢 Hash是一种直接产生认证码的方法
22
5.2.2 散列函数的结构
为了对不定长的输入产生定长的输出,并且最后的 结果要与所有的字节有关,大多数的散列函数的结 构都采用了分块填充链接的模式,其结构是迭代型 的。 以MD4为例讲解散列函数的结构 MD4散列函数将输入数据分为L个固定长度为b比特 的分组。 输入数据包括:消息、填充数据和消息的长度值 (消息长度值用64比特表示)。 说明:填充数据的目的是使输入数据为b比特的倍 数;增加消息长度值将增加攻击者攻击的难度。 散列函数的结构如图所示:
第五章 消息认证与数字签名
5.1 5.2
5.3
信息认证 散列(Hash)函数
数字签名体制
1
问题的提出
通信威胁 1. 泄露:把消息内容发布给任何人或没有合法密 钥的进程。 2. 伪造:从一个假冒信息源向网络中插入消息。 3. 内容修改:消息内容被插入删除变换修改。 4. 顺序修改:插入删除或重组消息序列。 5. 时间修改:消息延迟或重放。 6. 否认:接受者否认收到消息,发送者否认发送过 消息。
2
5.1 信息认证
回顾:前面讲述的对称密码(如DES和AES)和公 钥密码体制(RSA)都是围绕信息的保密性,即防 止第三方获取明文消息而展开的,但信息的完整性 和抗否认性也是信息安全内容的重要特征。保证信 息的完整性和抗否认性是通过信息认证和数字签名 来实现的。 信息认证(消息认证)验证信息的完整性,当接收 方收到发送方的报文时,接收方能够验证收到的报 文时真实的未被篡改的。 (包括顺序和及时性) 它包含两方面的含义: (1)验证信息的发送者是真正的而不是冒充的,即数 据起源验证; (2)验证信息在传递过程中未被篡改、重放或延迟等。
29
Hash 函数
MD5 :对输入消息(任意长)按照 512 位进行分组处理,输出128位消息摘要 SHA-1:输入长度小于2^64位消息,按 512位进行分组处理,输出160位消息摘 要。 RIPEMD-160:对输入消息(任意长) 按照 512位进行分组处理,输出160位消 息摘要
30
5.3 数字签名体制
25
1到512 比特的填充 Lx512比特 K比特 消息
消息长度
100…0
512bit
512bit
512bit
512bit
Y0
128 512 128
Y1
512
…
128
Yq
512
…
YL-1
512 128
CV0=VI
HMD5
CV1
HMD5
CVq
HMD5
CVlL-1
HMD5
MD5的框图
消息摘要 128bit
13
MAC的基本用法(c)
A
B:
EK2(EK2(M) ||CK1(EK2(M)))
提供消息认证与保密,认证码与密文连接 Provides authentication -- Using K1 Provides confidentiality -- Using K2
14
消息认证 VS 常规加密
MAC函数类似于加密函数,主要区别在于MAC函 数不需要可逆而加密函数必须是可逆的,因此,认 证函数比加密函数更不易破解。 保密性与真实性是两个不同的概念 根本上,信息加密提供的是保密性而非真实性 加密代价大(公钥算法代价更大) 认证函数与保密函数的分离能提供功能上的灵活性 某些信息只需要真实性,不需要保密性 – 广播的信息难以使用加密(信息量大) – 网络管理信息等只需要真实性 – 政府/权威部门的公告
数字签名是电子商务安全的一个非常重要的分支,在 大型网络安全通信中的密钥分配、安全认证、防否认 等方面具有重要作用。 1999年美国参议院已通过了立法,规定数字签名与 手写签名的文件、邮件在美国具有同等的法律效力。 前面我们讲述的消息认证是保护通信双方之间不受第 三方的攻击,但却无法防止通信双方中一方对另一方 的欺骗。如A伪造一个消息并使用与B共享的密钥产 生该消息的认证码,然后声称该消息来自于B,同样, B也可以对自己给A发送的消息予以否认。因此,除 了认证之外还需要其他机制来防止通信双方的抵赖行 为,最常见的是数字签名技术。