首页 > 知识点讲解
       散列式报文认证码
知识路径: > 嵌入式系统的安全性知识 > 安全性基本概念 > 信息安全基础 > 认证算法 > 
相关知识点:3个      
        散列式报文认证码(Hashed Message Authentication Code,HMAC)是利用对称密钥生成报文认证码的散列算法,可以提供数据完整性数据源身份认证。为了说明HMAC的原理,假设H是一种散列函数(例如MD5或SHA-1),H把任意长度的文本作为输入,产生长度为L位的输出(对于MD5,L=128;对于SHA-1,L=160),并且假设K是由发送方和接收方共享的报文认证密钥,长度不大于64字节,如果小于64字节,后面加0,补够64字节。假定有下面两个64字节的串ipad(输入串)和opad(输出串)。处理过程如下:
        ipad=0×36,重复64次;
        opad=0×5C,重复64次。
        函数HMAC把K和Text作为输入,产生HMACK(Text)=H作为输出,即:
        (1)在K后附加0,生成64字节的串。
        (2)将第(1)步产生的串与ipad按位异或。
        (3)把Text附加在第(2)步产生的结果后面。
        (4)对第(3)步产生的结果应用函数H
        (5)将第(1)步产生的串与opad按位异或。
        (6)把第(4)步产生的结果附加在第(5)步结果的后面。
        (7)对第(6)步产生的结果引用函数H,并输出计算结果。
        HMAC的密钥长度至少为L位,更长的密钥并不能增强函数的安全性。HMAC允许把最后的输出截短到80位,这样更简单有效,且不损失安全强度。认证一个数据流(Text)的总费用接近于对该数据流进行散列的费用,对很长的数据流更是如此。
        HMAC使用现有的散列函数H而不用修改H的代码,这样可以使用已有的H代码库,而且可以随时用一个散列函数代替另一个散列函数。HMAC-MD5已经被IETF指定为Internet安全协议IPsec的验证机制,提供数据源认证和数据完整性保护。
        HMAC的一个典型应用是用在“提问/响应(Challenge/Response)”式身份认证中,认证流程如下:
        (1)先由客户端向服务器发出一个认证请求。
        (2)服务器接到此请求后生成一个随机数并通过网络传输给客户端(此为提问)。
        (3)客户端将收到的随机数提供给ePass(数字证书的存储介质),由ePass使用该随机数与存储的密钥进行HMAC-MD5运算,并得到一个结果作为证据传给服务器(此为响应)。
        (4)与此同时,服务器也使用该随机数与存储在服务器数据库中的该客户密钥进行HMAC-MD5运算,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法用户。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有