基于人工免疫系統的RFID數據過濾模型研究
0 引言
近幾年來,無線射頻識別(RFID)系統在工業自動化控制、物流和供應鏈管理等領域中得到了廣泛應用。目前,大多數計算機安全專家認為RFID芯片的內存容量有限,因此對RFID標簽會感染及傳播病毒的可能性并不重視;還有一些專家認為,讀寫器對RFID標簽一掃而過不會更改后臺的應用,而且即使有影響也不會是惡意的。但是荷蘭阿姆斯特丹自由大學的M.R.Rieback等人研究人員稱:“無線電芯片(RFID)不僅威脅隱私,而且易受電腦病毒攻擊”,“RFID標簽可能會感染上一種病毒,可傳染與影響后臺數據庫,并能輕易地向其他RFID標簽傳播”;美國Weizmann學院Adi Shamir教授和他的學生已能侵入某個RFID標簽并開發出密碼殺手,即一種使標簽自毀的代碼 ;加州Menlo Park的SRI研究機構PeterNeumann在《電子商務時報》上發表觀點:“RFID技術所需要冒的威脅是多種多樣的,它不單單是一種類型的威脅,這是一個將來會出現的大問題”;美國自動識別與移動技術協會的主席Daniel P.Mullen表示,采取措施保護標簽中的數據已勢在必行 。
RFID系統的這種潛在安全問題是業界討論的熱門話題。當前,如何安全有效地過濾出RFID讀寫器所收集到的RFID數據中的病毒、檢測出惡意代碼等,是目前RFID行業需要關注的重要問題之一。在數據過濾方面,人工免疫系統(AIS)具備強大的識別、學習和記憶能力,它的自我與非自我識別能力正是RFID數據過濾良好而又天然的解決方法 ;另外,人工免疫系統的多層過濾機制 更是RFID多層過濾策略的生物再現。本文在人工免疫系統原理基礎上,將人工免疫系統多層過濾機制應用于RFID數據過濾,建立了針對RFID數據中不良信息的過濾模型,有效地剔除RFID數據中的不良信息,保證了RFID應用系統及其網絡的安全。
1 人工免疫系統
1.1 自然免疫系統
自然免疫系統是由多個防御子系統組成的一個多層次、多結構的自適應防御體系,它主要包括皮膚(物理屏障)、溫度和pH值(生理屏障)、吞噬細胞(固有免疫系統)、淋巴細胞(自適應性免疫系統)等部分。自然免疫系統的主要功能是區分自我和非自我 。
自適應免疫系統的主要組成部分為T淋巴細胞和B淋巴細胞,其運行原理是:首先B細胞和T細胞由體內特定區域隨機生成,為防止自體免疫,未成熟T細胞和B細胞分別在胸腺和骨髓中被耐受化,經陰性選擇 而成熟;B細胞與抗原結合后被激活,經過克隆選擇,以得到與抗原更高親和度的B細胞,達到親和度成熟。新B細胞與病原體抗原結合成功后,分裂為漿細胞與記憶B細胞,漿細胞分泌抗體來消滅外來病原體;記憶B細胞使得免疫系統在再次遭受類似病原體入侵時能快速識別并反擊抗原,完成二次免疫應答。T淋巴細胞也分化為兩種:a)協同細胞,為B細胞及其他細胞提供輔助信號;b)抑制細胞則用來輔助其他細胞或直接消滅病原體。
1.2 人工免疫系統
人工免疫系統是近些年出現的新型智能系統研究領域,它是基于模擬自然免疫系統主要是人類免疫系統的一定生物系統過程,開發各種解決工程和科學問題的方法。A1S主要用于信息分類與求解。在應用人工免疫系統進行信息分類時,把需要的信息定義為自我,不需要的定義為非自我,系統通過探究自我和非自我的內在關聯來構造過濾器。過濾器最初可隨機產生,然后在自我集合中通過反向選擇的篩選,實現對非自我的識別。除此之外過濾器還要具有記憶功能(類似生物體的B細胞記憶功能)以便今后的高效判別,同時過濾器的過濾范圍也可變(類似生物體中的細胞變異)。這樣當外部信息進入時,由過濾器來識別其是否為非自我,并作出相應的處理。
2 基于AlS多層檢測機制的RFID數據過濾模型
感染計算機病毒或者被注入惡意代碼等不良信息的RFID數據,可能會對RFID系統及后臺數據庫進行攻擊。利用AIS在信息處理上的各種優勢,將其應用到RFID中間件過濾中,本文構造一個RFID免疫系統(RFID immune systerns,RIS)模型。此模型的任務就是通過調節、變異、學習、進化,過濾RFID數據,防止脆弱點或安全漏洞對RFID數據的影響以及對其中間件和計算機網絡的潛在威脅。圖1為RIS模型的設計框架。
根據以上思考,本文將模型的設計流程分為四個階段,即RFID預處理階段、過濾器的生成階段、過濾器的應用階段和過濾器的進化階段。該模型的主要實現流程如圖1所示。

圖1 RIS模型框架
2.1 RFID預處理階段
RFID預處理階段是后面幾個階段的前奏,它將RFID數據轉換為系統易于處理的格式。將讀取到的RFID數據,預處理為三部分:a)(IP)為讀寫器IP地址;b)(ID)為標簽ID;C)(content)為內容子矢量。內容子矢量的處理是一個自然語言的處理過程,主要是分詞處理,即分詞先進行語種分類,然后將標簽內容的屬性值分解為單詞。
2.2 多層過濾器的生成與衰亡
考慮到生物免疫系統的工作機制,本文將RIS中的過濾器分為四層:
a)設為IP過濾器層(IPF)。對應于生物免疫系統的物理屏障,采用XML技術和黑白名單技術,該過濾器由兩部分組成:(IP,ipFlag)。其中:IP對應黑/8名單列表中的項;ipFlag標志過濾器是黑名單還是白名單過濾器。ipFlag為真,則是白名單過濾器中的項;反之,為黑名單過濾器中的項。IPF由黑/白名單列表生成。一個未注冊的讀寫器是通過XML技術,由RFID控制臺注冊,若注冊成功,在黑/白名單中添加一項對應該過濾器;同樣也可以通過XML技術注銷此讀寫器對應的過濾器,此時黑/白名單列表中將注銷相應的過濾器。
b)ID過濾器層(IDF)。對應于生理屏障,采用平滑過濾技術,表示為(ID,idFlag)。其中:ID為平滑列表中的項;idFlag用于標志為ID的過濾器是否是新注冊的。IDF由平滑列表產生。當待過濾標簽出現時,如果此標簽ID類型在檢測類型之列,則激活IDF過濾器,并利用平滑列表中的過濾器對該標簽過濾,如果匹配失敗,則置idFlag的值為假,須先對該標簽進行注冊后再交由ConF處理;如果匹配成功,則置idFlag為真,直接交由ConF處理。
c)Content過濾器層(ConF)。對應于先天免疫層,采用關鍵詞匹配技術,只包含內容子矢量,此子矢量是一個無序的、可變長的數組,數組中的元素來自相應的脆弱性數據庫或者不良信息的關鍵詞數據庫,表示為(NonContent)。其中:電子標簽數據中的content包含不定數目的屬性,每個屬性值中都可能存在不良數據。初始時,將一些有信譽的組織公布的關鍵詞和表示詞作為基因庫的初始值,也可以通過RFID控制平臺設置、添加或者刪除基因庫的值,并且每個過濾器被賦予一定的初始重要度,重要度隨時間衰減。基因庫中每個基因有一定的初始權重,當過濾結果正確時,相應基因的權重增加,每個包含該基因的過濾器的重要度增加;當過濾結果與控制平臺的反饋結構相反時,則刪除包含該基因的過濾器,同時相應的基因權重衰減,當衰減到0時刪除該基因,同時刪除所有包含該基因的過濾器。
d)B過濾器層(BF)。對應于獲得性免疫層中的B細胞。
采用基于內容的RFID數據過濾技術,由標簽ID和NonContent兩個子矢量組成,表示為(ID,NonContent)。與ConF類似,每個子矢量都是一個無序的、可變長的數組。但待過濾RFID數據中的不良信息表示詞(抗原)刺激BF過濾器而產生的新過濾器(抗體)。
多層過濾器中,ConF和BF的設計,正是為了體現生物免疫系統記憶B細胞二次免疫應答的思想。
2.3 過濾器的應用階段
對于RFID數據C和過濾器只的匹配,本文設C、只為兩個無序的文本矢量,各自又包含一個或多個文本子矢量,定義C、只的親和度為C和只中每個子矢量之間的親和度的平均值。本系統采用如下親和度的計算公式:

其中: nq表示子矢量pi和Qj 中相同的表示詞(病毒或不良信息)數目;min(pi,qj)表示矢量pi和qj中較短的子矢量的長度。由上述公式和計算方法可得親和度的取值范圍為[0,1]。
a)通過IPF過濾器,如果IPF過濾器未被激活,表示此讀寫器未注冊,即在黑/白名單中都不存在;如果IPF過濾器被激活,則根據ipFlag標志決定其后的處理方法。若ipFlag為假,則表明該閱讀器處于黑名單過濾器中,過濾器被屏蔽,此待過濾RFID數據被丟棄;若ipFlag為真,系統將試圖激活IDF過濾器。
b)如果IDF過濾器未被激活,表明該標簽ID類型被屏蔽,將丟棄該RFID數據。如果IDF過濾器被激活,且idFlag為真,交由記憶過濾器過濾;如果記憶過濾器被激活,表示該RFID數據內容包含與記憶過濾器中親和度較高的不良信息;剔除該RFID數據中的不良信息,如果記憶過濾器未被激活,此時應交由ConF過濾器做進一步的匹配;若idFlag為假,則應先將ID添加到記憶過濾器中,然后將其標簽內容直接交由ConF過濾器過濾。
c)ConF過濾器包含多個子矢量,每個子矢量對應一個過濾器。如果ConF過濾器被激活,說明該RFID數據內容與ConF過濾器中某個或者某幾個過濾器有較高的親和度,剔除該RFID數據中的不良信息;如果ConF過濾器未被激活,則交由BF過濾器來處理。
d)如果上面的記憶過濾器和ConF過濾器均未激活,則交由BF過濾器處理。若BF過濾器被激活,將產生新的過濾器(抗體),過濾不良信息。模型過濾流程圖如圖2所示。

圖2 模型討濾流程圖
2.4 過濾器的進化階段
生物免疫系統中抗體的種類相對于抗原的種類是很弱小的,生物體通過抗體的動態進化機制和自適應學習機制來解決該問題。本文的RIS系統中,過濾器進化主要是指ConF過濾器和BF過濾器的進化,通過體細胞交叉變異和受體基因重組機制來實現,如圖3所示。
過濾器的具體進化過程如下:
a)待過濾RFID數據與記憶過濾器中的過濾器進行匹配,如果匹配未成功,即記憶過濾器未被激活,則交由ConF過濾器和BF過濾器組成的過濾器集進行處理。
b)根據上文提出的親和度計算公式,依次計算RFID數據的內容(包括多個屬性)與過濾器之間的親和度。
c)選擇親和度最高的一個過濾器。
d)同時選擇親和度較高的一組過濾器集,采用體細胞交叉變異的方法來產生一組新的過濾器;另外采用受體基因重組產生一批新的過濾器,兩類過濾器融合而成新過濾器集。
e)計算RFID數據與新過濾器集之間的親和度。如果新過濾器集匹配,則選取其中的最高親和度與C)相比較,具有較高親和度的過濾器加入記憶過濾器。
至此,完成過濾器的進化。既此過程完成了記憶過濾器(病毒庫或者不良信息庫)的進化,又體現了免疫細胞的親和度成熟機制,以及自然免疫和獲得性免疫相結合完成進化學習的機制。

圖3 過濾器進化流程圖
3 實驗分析
實驗中使用記憶過濾器集為包含100個計算機病毒(主要是一些經典的DOS病毒、蠕蟲和注入的SQL代碼)的過濾器;自我是185個未感染不良信息的RFID數據,非自我是215個感染了實驗中使用的病毒樣本的RFID數據;本RFID過濾模型中的抗原集合(待過濾的RFID數據)是185個自我RFID數據(自我)和215個感染了實驗中使用的病毒樣本的RFID數據(非自我)。
在讀寫器讀寫RFID數據過程中,采用人為修改蠕蟲或者經典DOS病毒的二進制代碼的方法,產生蠕蟲或者病毒的變種;然后通過2.4節的過濾器進化方法完成對記憶過濾器集的進化。用 代表記憶過濾器集樣本的個數;T1表示記憶過濾器集中向量變異之后的增加的樣本;S表示未感染不良信息的RFID數據;s.表示感染病毒樣本的RFID數據;s 表示模型進化之后能夠識別出感染病毒樣本的RFID數據的個數; 表示待過濾的RFID數據的總量(S+S )。該模型的召回率為病毒的剔除率 ./ ,正確率為所有待過濾RFID數據的檢對率(S+S )/K。表1是記憶過濾器的進化對模型檢測效率的影響。
表1 記憶過濾器的進化對模型檢測效率的影響

表1說明,隨著病毒樣本庫中病毒變種數目的增加,即記憶過濾器集的進化,RFID數據過濾模型的召回率和正確率在隨之提高,從根本上說明了該模型的進化能力。
4 結束語
本文借鑒了生物免疫系統的多層防御機制,提出了一種基于人工免疫多層數據過濾機制的RFID數據過濾模型。本文中詳細描述了多層過濾器的定義、生成與消亡方法,親合度計算方法以及各層過濾器的應用方法,多層過濾器中ConF過濾器和BF過濾器的進化機制。實驗表明:本文所作研究,能有效防范、過濾及處理RFID數據中的計算機病毒等不良信息,在某種程度上保證了RFID數據以及RFID系統乃至整個計算機網絡的安全性。同時,人工免疫系統應用于RFID數據過濾模型有動態性和自適應強的優點,為特定領域的信息分類問題提供了一種參考機制。