APP下载

基于SHA—256的超声探头身份认证方法

2017-09-06何绪金

科学与财富 2017年24期
关键词:秘钥发送给加密算法

何绪金

摘 要:主流超声厂商都面临着低价伪劣仿冒探头问题。劣质的仿冒探头对厂家和用户利益会造成严重损害。为此,本文给出了一种基于SHA-256算法的超声探头身份认证方法,使得超声主机在访问超声探头之前,先对超声探头进行身份认证,认证通过才会系统才会工作;如果是仿冒的超声探头,就不能通过身份认证,系统不会工作,从而保证超声主机只能使用原厂超声探头。

关键词:SHA-256 Hash 身份认证 超声探头

1.引言

超声探头是医学超声影像系统中的关键部件,对超声系统对图像性能和安全性起着关键作用。但由于其市场价值很高,主流超声厂商都面临着低价伪劣仿冒探头问题。劣质的仿冒探头导致劣质的图像质量,并对系统的安全带来隐患,对厂家和用户利益造成严重损害。为此,实现超声主机对超声探头的身份认证,识别和禁止仿冒探头是非常必要的。本文提供了一种使用SHA-256算法的超声探头进行身份认证的方法。

2.身份认证理论分析

最常见的身份认证方法是使用加密算法,认证过程中不直接传输密码。基于对称加密算法的身份认证基本模型如图 1所示:B方使用秘钥B和明文消息(Message)作为输入,执行认证加密算法B,计算出认证码B(Message Authentication Code,MAC);然后把Message和MAC B作为发送给A方,请求认证;A方收到Message和MAC B后,使用Message和秘钥A,执行认证加密算法A,计算出认证码MAC A,A方比较2个认证码;如果2个认证码匹配,那么B方就通過身份认证,否则B方就被A方拒绝。

“质询—应答”身份认证模型如图 2所示,可以有效的解决这个问题。A方产生随机质询(Random Challenge)作为输入Message,发送给B方;A方使用秘钥A和随机质询作为输入,执行身份认证算法A,计算出认证码A;B方收到随机质询后,使用随机质询和秘钥B作为输入,执行认证机密算法B,计算出认证码B,发送给A方,作为应答;A方收到应答后,比较2个认证码;如果2个认证码匹配,那么B方就通过身份认证,否则B方就被拒绝。

在工厂加载密码阶段,主机使用部分秘钥和绑定数据作为输入,执行认证加密算法,计算出认证码,发送给认证协处理器;认证协处理器从设备的认证器中读取唯一的设备ID,使用主秘钥,主机发来认证码和唯一的设备ID作为输入,执行认证加密算法,计算出认证码,作为设备相关的秘钥,写入对应设备的认证器;设备认证器在保护区存储设备相关的秘钥。设备相关的秘钥是和设备ID一一对应的,即使某个设备的秘钥被截获,只会影响该设备的认证,不会破坏整个认证系统的安全性。认证阶段同样使用图 2所示的“质询—应答”身份认证模型。

3.SHA-256算法分析

“质询—应答”身份认证模型必须使用加密算法生成认证码,本文使用SHA算法家族的SHA-256算法。

SHA(Secure Hash Algorithm)是美国国家标准与技术研究所(NIST)设计的一系列单向散列算法,主要用于数字签名和身份认证,有很高的安全性。

SHA-256算法分为2个阶段:消息预处理和散列值计算,算法用到的变量如表 1所示。SHA-256输入消息的最大长度是264-1bit,输出256bit的摘要。

SHA-256算法是按照32bit字运算如表 2所示,除了模232加运算,其他都是位运算。

消息预处理包括:消息填充,消息分块和初始化。消息填充:输入消息长度为m,首先在输入消息后补1个 1,然后补k个0(k的范围[0,446]),最后补64bit(为m的二进制值),保证m+k+65 = 0 mod 512,即填充后消息的长度为512的整数倍。消息分块:首先把填充后的消息分为N个消息块,每块512bit;然后把每个消息块分为16个字,每个字32bit。

4.超声探头身份认证方案

在超声主机端,FPGA作为认证主机和认证协处理器共同实现认证功能;每个超声探头都需要一个认证器。使用MAXIM的DS2465作为认证协处理器,使用MAXIM的DS28E22作为认证器。FPGA和DS2465使用I2C通信,超声主机和超声探头使用1-Wire实现认证通信。

超声探头加载秘钥流程如图3所示:连接超声探头并上电,FPGA使用部分秘钥和绑定数据计算认证码,并发送给DS2465,DS2465读取DS28E22的设备ID,DS2465计算设备相关的秘钥,DS2465把设备相关的秘钥写入DS28E22,主机把超声探头数据写入DS28E22,主机设置DS28E22的保护机制,完成加载。

4.1超声探头身份认证

超声探头接入超声主机,FPGA发送随机质询给DS2465,DS2465读取DS28E22的设备ID,并计算认证码,DS2465把该质询转发给DS28E22,DS28E22计算认证码并发送给DS2465,DS2465比较两个认证码,如果二者匹配,那么该探头就通过身份认证,系统继续工作;否则,探头就是仿冒的,系统会报错并禁止该探头工作。

4.2超声主机身份认证流程

如果超声主机需要读写超声探头中的数据,也需要通过超声探头的认证,流程与4.2类似,不同的是由DS28E22比较两个认证码。如果二者匹配,那么超声主机就通过身份认证,可以访问探头数据;否则,超声探头就拒绝主机的访问。

4.3实验结果

上述探头身份认证方案在迈瑞公司的超声产品上进行了实际验证,结果与预期完全一致,经过加密的探头能够被正确识别,而没有被加密的探头则无法通过身份认证。

5.总结

本文所述基于SHA-256的超声探头身份认证方案安全可靠,易于实现和部署,并且硬件成本很低,不会增加超声系统的复杂度,非常适合医学超声影像系统广泛应用,杜绝仿冒超声探头,保护厂商和用户的利益。

参考文献:

[1]FIPS PUB 180-4, Secure Hash Standard. Information Technology Laboratory, National Institute of Standards and Technology.

[2]R. V. Mankar and Prof. S. I. Nipanikar, “C Implementation of SHA-256 Algorithm,” International Journal of Emerging Technology and Advanced Engineering, Volume 3, Issue 6, June 2013.

[3]Damian B. Fedoryka, “SHA-256 in FPGA”.endprint

猜你喜欢

秘钥发送给加密算法
上学路上好风景
ETC秘钥国产化升级改造方案设计与实现
干细胞开启未来大健康的“秘钥” 专家与媒体面对面活动走进中源协和—山西省干细胞基因工程有限公司
基于Unity 3D的产品秘钥二维码实现
公告
基于小波变换和混沌映射的图像加密算法
关注微信,分享资讯,免费获取电子阅读卡
我的录梦机
Hill加密算法的改进
基于二元多项式与中国剩余定理的多秘密分享方案