- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
认证技术概论
零、认证
认证(Authentication)是防止主动攻击的重要技术, 对于开放环境中各种信息系统的安全有着重要作用
认证的主要目的:
验证消息来自意定的、真实的发送者;
验证消息的完整性,在传送或存储过程中未被篡改、重放或延迟等;
提供不可否认性。
认证采用的主要技术
报文鉴别(Message authentication)
数字签名(Digital signature)
身份识别(Identity verification)
一、散列函数
1、散列函数概况
2、常用散列函数
1、散列函数(Hash函数)概况
散列函数以一个变长的报文M作为输入,产生一个定长的输出(散列码)的函数,可记为
h = H(M) ( |M| |h| )
散列函数的目的是为文件、报文或其他分组数据产生“指纹”,常用于报文鉴别和数字签名
散列函数是一个多对一的函数
因此在理论上,必定存在不同的报文对应同样的散列,但这种情况在实际中必须不可能出现(计算上不可行)
散列函数本身不是保密的
散列函数没有密钥的参与,散列值仅仅是报文的函数
散列函数的需求
1、H能用于任意长度的数据分组;
2、H产生定长的输出;
3、对任意给定的X,H(X)要容易计算;
4、对任何给定的 h,寻找 x 使得H(x)=h,在计算上不可行(单向特性);
5、对任意给定的分组 x,寻找不等于 x 的 y,使得 H(x)=H(y), 在计算上不可行(弱抗碰撞);
6、寻找任意的一对分组(x,y), 使得 H(x)=H(y), 在计算上不可行(强抗碰撞)。
散列函数的有效安全级别
假设散列函数的输出为 m 比特,可以将其抗各种攻击的有效安全级别表示为:
这意味着安全散列函数的输出长度有一个下界:
40 bit 的散列长度将非常不安全:因为仅仅在220≈100万个随机的散列值中就有 50% 的概率发现一个碰撞。
一般建议最小的报文散列的长度为128 bit,实际中常采用 160bit。
单向
2m
弱抗碰撞
2m
强抗碰撞
2m/2
2、常用散列函数
1、 MD5 算法
MD5的散列码只有128比特, 其对抗生日攻击的有效级是264,从现在的角度看太小,安全性不够。
2、 SHA-1 算法
SHA(安全散列算法)由 NIST在1993年公布(FIPS PUB 180),并在1995年进行了修订,称为SHA-1( FIPS PUB 180-1);
算法产生160比特的散列码;
SHA-1是目前首选的散列算法。
常用散列函数演示
二、报文鉴别
1、概述
2、利用单钥加密实现鉴别
3、报文鉴别码(MAC)
4、带密钥的散列函数
1、概述
报文鉴别的主要用途
保证消息的完整性;
保证消息来源的可靠性;
报文鉴别的主要方法
报文加密: 以整个报文的密文作为它的鉴别符;
报文鉴别码(MAC):以一个报文的公共函数和用于产生一个定长值的密钥作为鉴别符;
带密钥的散列函数(HMAC):将秘密因素引入原始报文,然后对其进行散列,并将散列函数的结果作为鉴别码。
2、利用单钥加密实现鉴别
报文加密本身可以提供一定程度的鉴别能力
如果采用常规加密,则
1)接收方知道报文一定是由发送方创建的,因为创建该报文对应的密文的密钥只有发送方和接收方所共享;
2)并且(加密后的)报文的内容没有被篡改过,如果报文的内容(密文)被篡改,则解密后无法恢复原始的合法报文(明文)。
报文的内部结构
为了增强鉴别能力,最好能使原始的报文(明文)具有某种结构,这样在接收端可以通过验证这种结构,来确定报文是否被篡改。
利用单钥加密实现鉴别
发送方
接收方
3、报文鉴别码
报文鉴别码(Message Authentication Code,MAC)是一个定长的数据分组,它是报文和一个密钥的函数:
MAC = Ck(M)
如果收发双方共享一个密钥,则
1、发送端发送报文时,可计算报文的MAC,并将其附在报文后一起传送。
2、接收端采用相同的算法和密钥,对收到的报文进行同样的计算,产生新的MAC, 如果新的 MAC 和收到的 MAC相同,则收端可以确信:
1)报文没有被更改过(包括外界的干扰和人为篡改);
2)报文来自意定的发送者。
利用MAC保证数据完整性的原理
采用对称加密算法产生MAC
可以将任何工作于CBC模式的常规分组算法作为MAC函数,并将CBC的最后一个分组当作MAC
DAA(Data Authentication Algorithm)算法
该算法是使用最广的MAC函数(FIPS PUB 113, ANSI X9.17),基于DES-CBC模式;
算法步骤:
1)取IV=0, 并将报文最后一个分组用 0 填充成 64 比特;
2)采用 DES 的 CBC 模式加密报文;
3)抛弃加密的中间
您可能关注的文档
最近下载
- 手术室规章制度33项汇编.pdf VIP
- “互联网+”背景下高校辅导员学业指导与职业规划工作的创新-来源:现代职业教育(高职高专)(第2020040期)-山西教育教辅传媒集团有限责任公司.pdf VIP
- 劳动实践(教案)二年级上册综合实践活动全国通用.docx VIP
- 2024年湖北省华师一附中自主招生数学试题(d含答案).pdf VIP
- 新教科版六上科学1-2《怎样放得更大》练习题(含答案).docx VIP
- 冶金消防安全知识课件.pptx
- 《电力设备典型消防规程》(DL5027—2024).pptx VIP
- 罗马城邦和罗马帝国ppt课件.pptx VIP
- 迅达5400综合系统介绍(2).pdf
- 新教科版六上科学知识点+练习题-1.2《怎样放得更大》.doc VIP
文档评论(0)