◆姚华桢
药品安全认证系统研究
◆姚华桢
(仲恺农业工程学院信息科学与技术学院 广东 510225)
本文采用AES加密算法,设计并实现了药品安全防伪系统。提出一种基于AES算法RFID安全认证算法,有效地保障药品的真实性、可靠性,保护了药品使用者的隐私。
AES;药品;防伪
药品的安全性对患者至关重要,药品的标签是药品防伪的主要手段,药品信息通过读写器写入或者读出。但非法读写器仍可通过读取标签、窃听无线电通信来重放数据,复制或改变数据,甚至伪造标签而生产假药。另外药品还会遭遇数据跟踪,而无法保护药物使用者的隐私权。为了保证药品的安全性,保护患者的隐私,需要使用各种认证和加密手段来确保标签和读写器之间的数据安全。文中提出一种基于AES算法的标签安全认证算法,并将之应用于药品安全认证系统,有效地保障药品的真实性、可靠性,保护了药品使用者的隐私。
RFID药品防伪系统中,为了保证药品防系统的安全性及患者的隐私,标签和读写器之间需要进行身份认证。现有文献研究了多种RFID标签和读写器的认证协议,本文将讨论其中几种典型的认证协议若用于药品防伪系统的不足性。
若将文献[1]的Hash锁协议用于药品防伪系统,标签的唯一ID被metaID代替,因此,患者的隐私可以被保护。不足的是该协议缺乏ID动态刷新机制,非法者可以窃取协议中的秘密值,便可通过药品标签复制来制造假冒药品。由于metaID的不变性,因此给攻击者进行跟踪提供了一种便利。不能保护药品购买者的隐私。
若将文献[2]的随机Hash锁协议用于药品防伪系统,该协议可以防止跟踪药品购买者的作用,但Hash锁协议中的ID仍然是以明文的形式传递,因此不能抵抗重传攻击、伪造攻击等。药品标签仍易被非法者伪造,用于假药的包装之上。
若将文献[3]的Hash链协议用于药品防伪系统,此协议能够保护药品购买者的隐私。但它无法对读写器身份进行核实,无法抵抗重传攻击。并且该协议计算量随着系统ID数目n成线性增长,不适合需要验证大量药品的应用场合,比如医院,大型药房等。
若将文献[4]的基于Hash函数的ID变换协议用于药品防伪系统,在认证过程中攻击方可通过记录标签响应并发给后台数据库,使得后台更新ID,从而造成标签和后台数据库的数据不同步,那么合法的标签在以后的回话中将无法通过认证,并且该协议仍然不能对读写器的身份进行认证,非法读写器仍有可能获取药品的信息,进行药品标签的伪造。
若将文献[5]中的分布式RFID询问-响应认证协议用于药品防伪系统,它可适用于药品防伪这种分布式数据库应用,但如果大量的ID进行后台数据库查询,计算量的增大会影响实时性。不适合需要验证大量药品的应用场合,比如医院,大型药房等。
若将文献[6]中的交互认证协议MAP用于药品防伪系统,会泄露查询者的地点信息。在计算量方面同样存在计算量过大的问题,不适合需要验证大量药品的应用场合。
表1 输入明文
AES(M, CKey)
{ ExpandKey (CKey, EKey)
AddRKey (M, EKey)
Round ((Mstate, EKey[i])
{ ByteSub ((Mstate) ;
ShiftRow ((Mstate) ;
MixColumn ((Mstate) ;
AddRoundKey (Mstate, ExpandedKey[i]; ) }
{ ByteSub ((Mstate) ;
ShiftRow ((Mstate) ;
现实中到要在64位或者更长字长的处理器快速实现AES算法,可以考虑将不同步骤合并为一组表TABLE0,TABLE1,TABLE2,TABLE3,每张表的大小为4KB,而每一循环的每一列仅需4次表查询和4次异或运算,效率大为提高。
药品防伪系统中对电子标签的药品信息采用96bit的EPC编码,编码结构如表2所示,共分成4个部分:标头、通用管理者代码、对象分类代码和序列号。
表2 EPC-96 编码结构
在药品监督管理过程中,主要的信息采集都来源于电子标签的用户数据区。根据《中华人民共和国药品管理法》中对我国制药行业中药品包装信息的规定,药品电子标签应该包含药品生产许可证号、发证日期、证书有效期截止日、药品名称、药品批准文号、剂型、规格、生产日期、失效日期、批次等信息。为了保证药品电子标签的安全性,仅有这些信息是不够的,如果非法者得到这些包装而用于假药上,那么假药在进行认证时,即使使用安全的认证协议,认证仍然能通过。因此本文在这些必要信息的基础上,增加了一个药品属性即药品状态。药品状态:未出厂、第i级批发商、销售终端、消费者。标签药品状态初始值为n,每经过一级流通状态值减1,药品出售给消费者时,药品状态值则清0。若非法者收购消费者的药品包装用于假药制造,那么假药在出售时,读写器发现药品状态值为0,则说明药品是非法的。药品RFID载体的内容设计如下:
(1)药品生产单位代码:生产企业的药品生产许可证号;
(2)发证日期:例如“2017-9-09”;
(3)生产许可证截止日:例如“2022-4-20”;
(4)药品名称:例如“头孢美唑钠”;
(5)药品批准文号/注册证号:例如 “国药准字H20061300”;
(6)剂型:例如“注射剂”;
(7)规格:例如0.5g;
(8)药品的生产日期:例如“2018年1月4日”;
(9)药品的有效期至:例如“2021年1月4日”;
(10)药品的批次编码;
(11)药品状态:送达消费者。
Step1.读写器向标签发送含有随机数1的认证请求。1使用参数随机化的伪随机数发生器发生。
文中的药品防伪认证系统在药品认证过程中,只有合法的标签可被解密,同时合法的读写器才能在标签处进行认证并取得正确数据信息。系统保证了合法的读写器和合法标药品签通信的唯一性,有效地保障药品的真实性、可靠性。
[1]钱萍,吴蒙.一种基于Hash函数的RFID安全认证方法[J].电信科学,2011.
[2]陈克力,郭春生.一种双层/双向认证的随机Hash锁RFID安全协议[J].电子技术应用,2008.
[3]赵太飞,邹波,尹航.基于Hash链的RFID认证协议[J].微型机及应用,2016.
[4]黎恒,高飞,薛艳明,丰硕.基于Hash函数的RFID认证协议安全性改进[J].微计算机信息,2010.
[5]郑津杨.分布式RFID系统的数据处理技术研究[D].北京邮电大学,2016.
[6]许烨斌.RFID安全认证协议分类模型研究及应用[D].扬州大学,2015.
[7]马晓伟.基于RFID的药品监督流程中的关键问题研究[D].合肥工业大学,2008.
[8]姚华桢.基于高级加密标准的混合加密系统的实现[J].网络安全技术与应用,2006.
[9]张圳.基于RFID的防伪关键技术研究[D].电子科技大学,2010.