◆姚華楨
?
藥品安全認(rèn)證系統(tǒng)研究
◆姚華楨
(仲愷農(nóng)業(yè)工程學(xué)院信息科學(xué)與技術(shù)學(xué)院 廣東 510225)
本文采用AES加密算法,設(shè)計并實現(xiàn)了藥品安全防偽系統(tǒng)。提出一種基于AES算法RFID安全認(rèn)證算法,有效地保障藥品的真實性、可靠性,保護(hù)了藥品使用者的隱私。
AES;藥品;防偽
藥品的安全性對患者至關(guān)重要,藥品的標(biāo)簽是藥品防偽的主要手段,藥品信息通過讀寫器寫入或者讀出。但非法讀寫器仍可通過讀取標(biāo)簽、竊聽無線電通信來重放數(shù)據(jù),復(fù)制或改變數(shù)據(jù),甚至偽造標(biāo)簽而生產(chǎn)假藥。另外藥品還會遭遇數(shù)據(jù)跟蹤,而無法保護(hù)藥物使用者的隱私權(quán)。為了保證藥品的安全性,保護(hù)患者的隱私,需要使用各種認(rèn)證和加密手段來確保標(biāo)簽和讀寫器之間的數(shù)據(jù)安全。文中提出一種基于AES算法的標(biāo)簽安全認(rèn)證算法,并將之應(yīng)用于藥品安全認(rèn)證系統(tǒng),有效地保障藥品的真實性、可靠性,保護(hù)了藥品使用者的隱私。
RFID藥品防偽系統(tǒng)中,為了保證藥品防系統(tǒng)的安全性及患者的隱私,標(biāo)簽和讀寫器之間需要進(jìn)行身份認(rèn)證。現(xiàn)有文獻(xiàn)研究了多種RFID標(biāo)簽和讀寫器的認(rèn)證協(xié)議,本文將討論其中幾種典型的認(rèn)證協(xié)議若用于藥品防偽系統(tǒng)的不足性。
若將文獻(xiàn)[1]的Hash鎖協(xié)議用于藥品防偽系統(tǒng),標(biāo)簽的唯一ID被metaID代替,因此,患者的隱私可以被保護(hù)。不足的是該協(xié)議缺乏ID動態(tài)刷新機制,非法者可以竊取協(xié)議中的秘密值,便可通過藥品標(biāo)簽復(fù)制來制造假冒藥品。由于metaID的不變性,因此給攻擊者進(jìn)行跟蹤提供了一種便利。不能保護(hù)藥品購買者的隱私。
若將文獻(xiàn)[2]的隨機Hash鎖協(xié)議用于藥品防偽系統(tǒng),該協(xié)議可以防止跟蹤藥品購買者的作用,但Hash鎖協(xié)議中的ID仍然是以明文的形式傳遞,因此不能抵抗重傳攻擊、偽造攻擊等。藥品標(biāo)簽仍易被非法者偽造,用于假藥的包裝之上。
若將文獻(xiàn)[3]的Hash鏈協(xié)議用于藥品防偽系統(tǒng),此協(xié)議能夠保護(hù)藥品購買者的隱私。但它無法對讀寫器身份進(jìn)行核實,無法抵抗重傳攻擊。并且該協(xié)議計算量隨著系統(tǒng)ID數(shù)目n成線性增長,不適合需要驗證大量藥品的應(yīng)用場合,比如醫(yī)院,大型藥房等。
若將文獻(xiàn)[4]的基于Hash函數(shù)的ID變換協(xié)議用于藥品防偽系統(tǒng),在認(rèn)證過程中攻擊方可通過記錄標(biāo)簽響應(yīng)并發(fā)給后臺數(shù)據(jù)庫,使得后臺更新ID,從而造成標(biāo)簽和后臺數(shù)據(jù)庫的數(shù)據(jù)不同步,那么合法的標(biāo)簽在以后的回話中將無法通過認(rèn)證,并且該協(xié)議仍然不能對讀寫器的身份進(jìn)行認(rèn)證,非法讀寫器仍有可能獲取藥品的信息,進(jìn)行藥品標(biāo)簽的偽造。
若將文獻(xiàn)[5]中的分布式RFID詢問-響應(yīng)認(rèn)證協(xié)議用于藥品防偽系統(tǒng),它可適用于藥品防偽這種分布式數(shù)據(jù)庫應(yīng)用,但如果大量的ID進(jìn)行后臺數(shù)據(jù)庫查詢,計算量的增大會影響實時性。不適合需要驗證大量藥品的應(yīng)用場合,比如醫(yī)院,大型藥房等。
若將文獻(xiàn)[6]中的交互認(rèn)證協(xié)議MAP用于藥品防偽系統(tǒng),會泄露查詢者的地點信息。在計算量方面同樣存在計算量過大的問題,不適合需要驗證大量藥品的應(yīng)用場合。

表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) ;

現(xiàn)實中到要在64位或者更長字長的處理器快速實現(xiàn)AES算法,可以考慮將不同步驟合并為一組表TABLE0,TABLE1,TABLE2,TABLE3,每張表的大小為4KB,而每一循環(huán)的每一列僅需4次表查詢和4次異或運算,效率大為提高。
藥品防偽系統(tǒng)中對電子標(biāo)簽的藥品信息采用96bit的EPC編碼,編碼結(jié)構(gòu)如表2所示,共分成4個部分:標(biāo)頭、通用管理者代碼、對象分類代碼和序列號。

表2 EPC-96 編碼結(jié)構(gòu)
在藥品監(jiān)督管理過程中,主要的信息采集都來源于電子標(biāo)簽的用戶數(shù)據(jù)區(qū)。根據(jù)《中華人民共和國藥品管理法》中對我國制藥行業(yè)中藥品包裝信息的規(guī)定,藥品電子標(biāo)簽應(yīng)該包含藥品生產(chǎn)許可證號、發(fā)證日期、證書有效期截止日、藥品名稱、藥品批準(zhǔn)文號、劑型、規(guī)格、生產(chǎn)日期、失效日期、批次等信息。為了保證藥品電子標(biāo)簽的安全性,僅有這些信息是不夠的,如果非法者得到這些包裝而用于假藥上,那么假藥在進(jìn)行認(rèn)證時,即使使用安全的認(rèn)證協(xié)議,認(rèn)證仍然能通過。因此本文在這些必要信息的基礎(chǔ)上,增加了一個藥品屬性即藥品狀態(tài)。藥品狀態(tài):未出廠、第i級批發(fā)商、銷售終端、消費者。標(biāo)簽藥品狀態(tài)初始值為n,每經(jīng)過一級流通狀態(tài)值減1,藥品出售給消費者時,藥品狀態(tài)值則清0。若非法者收購消費者的藥品包裝用于假藥制造,那么假藥在出售時,讀寫器發(fā)現(xiàn)藥品狀態(tài)值為0,則說明藥品是非法的。藥品RFID載體的內(nèi)容設(shè)計如下:
(1)藥品生產(chǎn)單位代碼:生產(chǎn)企業(yè)的藥品生產(chǎn)許可證號;
(2)發(fā)證日期:例如“2017-9-09”;
(3)生產(chǎn)許可證截止日:例如“2022-4-20”;
(4)藥品名稱:例如“頭孢美唑鈉”;
(5)藥品批準(zhǔn)文號/注冊證號:例如 “國藥準(zhǔn)字H20061300”;
(6)劑型:例如“注射劑”;
(7)規(guī)格:例如0.5g;
(8)藥品的生產(chǎn)日期:例如“2018年1月4日”;
(9)藥品的有效期至:例如“2021年1月4日”;
(10)藥品的批次編碼;
(11)藥品狀態(tài):送達(dá)消費者。
Step1.讀寫器向標(biāo)簽發(fā)送含有隨機數(shù)1的認(rèn)證請求。1使用參數(shù)隨機化的偽隨機數(shù)發(fā)生器發(fā)生。

文中的藥品防偽認(rèn)證系統(tǒng)在藥品認(rèn)證過程中,只有合法的標(biāo)簽可被解密,同時合法的讀寫器才能在標(biāo)簽處進(jìn)行認(rèn)證并取得正確數(shù)據(jù)信息。系統(tǒng)保證了合法的讀寫器和合法標(biāo)藥品簽通信的唯一性,有效地保障藥品的真實性、可靠性。
[1]錢萍,吳蒙.一種基于Hash函數(shù)的RFID安全認(rèn)證方法[J].電信科學(xué),2011.
[2]陳克力,郭春生.一種雙層/雙向認(rèn)證的隨機Hash鎖RFID安全協(xié)議[J].電子技術(shù)應(yīng)用,2008.
[3]趙太飛,鄒波,尹航.基于Hash鏈的RFID認(rèn)證協(xié)議[J].微型機及應(yīng)用,2016.
[4]黎恒,高飛,薛艷明,豐碩.基于Hash函數(shù)的RFID認(rèn)證協(xié)議安全性改進(jìn)[J].微計算機信息,2010.
[5]鄭津楊.分布式RFID系統(tǒng)的數(shù)據(jù)處理技術(shù)研究[D].北京郵電大學(xué),2016.
[6]許燁斌.RFID安全認(rèn)證協(xié)議分類模型研究及應(yīng)用[D].揚州大學(xué),2015.
[7]馬曉偉.基于RFID的藥品監(jiān)督流程中的關(guān)鍵問題研究[D].合肥工業(yè)大學(xué),2008.
[8]姚華楨.基于高級加密標(biāo)準(zhǔn)的混合加密系統(tǒng)的實現(xiàn)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2006.
[9]張圳.基于RFID的防偽關(guān)鍵技術(shù)研究[D].電子科技大學(xué),2010.