專利名稱:射頻識(shí)別應(yīng)答器的安全性的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總的來說涉及RFID (射頻識(shí)別)技術(shù),具體地說,描述了使 用這種技術(shù)來操作安全系統(tǒng)和私密系統(tǒng)的裝置和方法。
背景技術(shù):
射頻識(shí)別(RFID)是一種具有高度潛力的能夠從根本上改變收集與 物理世界有關(guān)的信息的方式的技術(shù)。RFID標(biāo)簽通常被用于進(jìn)行多個(gè)物品 的識(shí)別而無需視線或手動(dòng)干涉。使用RFID,供應(yīng)鏈中的貨物集裝箱 (pallet)可以在無需對(duì)該集裝箱卸載或拆包的情況下進(jìn)行清點(diǎn)。由于允 許無需排隊(duì)的結(jié)帳和抑制了偽造,被嵌入在消費(fèi)產(chǎn)品中的RFID可以向客 戶提供新的購物體驗(yàn)。在初始的售出點(diǎn)之后,RFID標(biāo)簽可以被消費(fèi)者用 來實(shí)現(xiàn)在其家中的服務(wù),或者被用于產(chǎn)品退貨、回收和二手銷售。自動(dòng) 識(shí)別設(shè)備已經(jīng)在圖書館和媒體租賃公司成功地提高了循環(huán)存貨系統(tǒng)的效 率。將來,我們會(huì)看到更多的物品被打上標(biāo)簽以及許多新的應(yīng)用得以實(shí) 現(xiàn)。RFID的部署可能會(huì)影響消費(fèi)者的購買習(xí)慣。消費(fèi)者通過在互聯(lián)網(wǎng)上 引用標(biāo)簽ID可以獲得更好的產(chǎn)品信息。RFID有望允許無收據(jù)退貨和減 少售后偷竊。然而,雖然有這些期望的優(yōu)點(diǎn),但是RFID技術(shù)已經(jīng)引起了 關(guān)于隱私的擔(dān)憂。關(guān)于對(duì)RFID系統(tǒng)、它們的部件和操作的介紹,讀者可 以參考Sama、 Weis和Engds的論文,所述論文的公開內(nèi)容在下文中被 引用,并且通過該引用而并入。RFID標(biāo)簽可以無需視線地被讀取并且可以被不可見地嵌入到消費(fèi) 產(chǎn)品中這一事實(shí)使得難以控制消費(fèi)者信息的私密性。對(duì)于普遍存在的應(yīng) 用來說,標(biāo)簽必須便宜(這損害了其針對(duì)安全性的能力)并且可以被同 時(shí)高速讀取(這使其難以要求復(fù)雜的通知和授權(quán))。私密性風(fēng)險(xiǎn)導(dǎo)致了兩 個(gè)基本要求防止信息泄漏以及防止追蹤。此外,由其本質(zhì)決定,標(biāo)簽
不能停留在單個(gè)所有權(quán)領(lǐng)域中,所以它們必須是可轉(zhuǎn)移的,但是需要保 護(hù)標(biāo)簽經(jīng)過其手的各個(gè)當(dāng)前(和過去)的所有者的隱私。在多方必須讀取同一標(biāo)簽而不轉(zhuǎn)移所有權(quán)的RFID應(yīng)用中,RFID系統(tǒng)理想地應(yīng)該包括 向第二方授權(quán)訪問標(biāo)簽的能力。如果在產(chǎn)品的整個(gè)生命周期內(nèi)使用同一 RFID標(biāo)簽,或者如果該ID 是用保持不變的密鑰進(jìn)行加密的,則可以沿供應(yīng)鏈追蹤該產(chǎn)品。能夠訪 問該標(biāo)簽的任何方都有能力在標(biāo)簽的生命周期內(nèi)這樣做,而無需考慮當(dāng) 前所有者的隱私。這種標(biāo)簽(例如在工業(yè)間諜或更糟的情況下)易遭未 授權(quán)訪問。因此,期望增加使用RFID標(biāo)簽的安全等級(jí)。具體來說,標(biāo)簽不應(yīng) 該損害加標(biāo)簽物品的持有者的隱私。這意味著未授權(quán)方應(yīng)該不能訪問標(biāo) 簽信息。其一個(gè)方面在于,不應(yīng)該存在允許被先前授權(quán)(但現(xiàn)在未授權(quán)) 的尤其在供應(yīng)鏈的環(huán)境下相關(guān)的讀取者追蹤到的長(zhǎng)期關(guān)聯(lián)。本發(fā)明描述了以提高的安全性和私密性操作基于RFID的系統(tǒng)的裝 置和方法。出于例示的目的,下面的討論在消費(fèi)品的供應(yīng)鏈的環(huán)境下進(jìn) 行,但是應(yīng)該理解,本發(fā)明可以具有寬的應(yīng)用范圍,因此不受任何具體 環(huán)境的限制。以下是用于解決上述私密性和安全性問題的一些已知方法。 一種方法是使寫在標(biāo)簽上的信息量最小化。按能夠滿足供應(yīng)鏈實(shí)踐 但限制向不希望方公開信息的方式對(duì)產(chǎn)品信息進(jìn)行編碼。根據(jù)EPCglobal 和ISO-18000標(biāo)準(zhǔn)的標(biāo)簽支持隱私保護(hù)命令,所述隱私保護(hù)命令包括用 密碼保護(hù)的"關(guān)掉(kill)"命令和一48位的讀取密碼,從而提供了訪問 控制能力。此處的思想在于,標(biāo)簽可以被檢測(cè)和禁用,從而之后該標(biāo)簽 和該加標(biāo)簽物品變?yōu)槟涿?。例如在零售的情況下,標(biāo)簽可以在售出點(diǎn) 被"關(guān)掉"。采用這種方案的一個(gè)問題是缺乏靈活性在被"關(guān)掉"之前, 任何人可以無區(qū)分地訪問該標(biāo)簽;之后,沒有人可以訪問該標(biāo)簽。例如 當(dāng)售出后消費(fèi)者想要對(duì)有缺陷的物品進(jìn)行退貨時(shí),這將是不方便的。關(guān) 掉命令方案假設(shè)標(biāo)簽ID對(duì)標(biāo)簽的讀取范圍內(nèi)的任何方都是可開放訪問 的。在對(duì)標(biāo)簽發(fā)出關(guān)掉命令之前,在供應(yīng)鏈中的實(shí)體之間或者對(duì)于其他方來說沒有提供私密性。另一種公知方法是對(duì)標(biāo)簽進(jìn)行重新編碼。目前,當(dāng)加標(biāo)簽產(chǎn)品被售 出時(shí),即使對(duì)該加標(biāo)簽物品的控制已經(jīng)脫離零售商,零售商仍然可以追 蹤該加標(biāo)簽物品。對(duì)標(biāo)簽進(jìn)行重新編碼包括使用可寫入標(biāo)簽,以及當(dāng)產(chǎn) 品被易手時(shí)迸行重新編碼操作。在這種情況下,讀取器將用一組新信息 對(duì)標(biāo)簽進(jìn)行重寫,并且保持原始電子產(chǎn)品編碼(EPC)和新編碼之間的映 射。如果沒有對(duì)該映射的訪問權(quán),先前或未來的產(chǎn)品所有者將不能訪問 標(biāo)簽信息。對(duì)該映射的訪問權(quán)可以用保持該映射的數(shù)據(jù)庫所執(zhí)行的私密 性策略進(jìn)行控制——增強(qiáng)安全性的任務(wù)從資源有限的標(biāo)簽轉(zhuǎn)移到了數(shù)據(jù) 庫。該方法的缺點(diǎn)是使用基礎(chǔ)設(shè)施的成本和管理。每次當(dāng)加標(biāo)簽物品的 所有權(quán)或控制權(quán)易手時(shí),供應(yīng)鏈中的各方必須要有必要的設(shè)備來執(zhí)行重 新編碼操作,這代表額外的成本。此外,除非提供某種形式的訪問控制, 否則重新編碼操作易遭惡意方重新編碼。又一種公知方法是在標(biāo)簽每次被讀取器查詢時(shí)修改標(biāo)簽的標(biāo)識(shí)符。 產(chǎn)品標(biāo)識(shí)符和產(chǎn)品信息之間的關(guān)聯(lián)被保持在安全數(shù)據(jù)庫中。因此,通過 用散列函數(shù)來刷新標(biāo)簽的標(biāo)識(shí)符,標(biāo)簽不會(huì)可預(yù)測(cè)地響應(yīng)讀取器。安全 數(shù)據(jù)庫可以將標(biāo)簽輸出與產(chǎn)品信息進(jìn)行映射,因?yàn)樗梢栽L問用于生成 標(biāo)簽輸出序列的密鑰值。已經(jīng)作出了各種用于提高安全性的建議,包括以下建議-A Juels and R Pappu: "Squealing Euros: Privacy-Protection in RFID-Enabled Banknotes" (Financial Cryptography ,03, pages 103-121, R Wright, ed. Springer-Verlag. 2003. LNCS no.2742.)-Sanjay E Saraia, Stephen A Weis and Daniel W Engels: "RFID Systems and Security and Privacy Implications" (Workshop on Cryptographic Hardware and Embedded Systems, pages 454-470. Lecture Notes in Computer Science, 2002.)-A Juels: "Minimalist Cryptography for RFID Tags" (Security of Communication Networks (SCN), C. Blundo, ed., 2004.)
發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一方面,提供了一種射頻識(shí)別應(yīng)答器,該射頻識(shí)別 應(yīng)答器被配置為在檢測(cè)到探詢嘗試時(shí)通過提供作為標(biāo)識(shí)符的輸出而進(jìn)行 響應(yīng),所述標(biāo)識(shí)符是或者基于至少為二叉級(jí)的散列樹的葉子或節(jié)點(diǎn),其 中所提供的所述標(biāo)識(shí)符對(duì)于每個(gè)檢測(cè)到的探詢嘗試是不同的。
根據(jù)本發(fā)明的第二方面,提供了一種射頻識(shí)別應(yīng)答器,該射頻識(shí)別 應(yīng)答器被配置為在檢測(cè)到探詢嘗試時(shí)通過提供作為標(biāo)識(shí)符的輸出而進(jìn)行 響應(yīng),所述標(biāo)識(shí)符是或者基于至少為二叉級(jí)的散列樹的葉子或節(jié)點(diǎn),其 中所提供的所述標(biāo)識(shí)符對(duì)于每個(gè)檢測(cè)到的探詢嘗試是不同的,并且所述 射頻識(shí)別應(yīng)答器響應(yīng)于檢測(cè)到的探詢嘗試的序列中的各探詢嘗試,提供 預(yù)定的標(biāo)識(shí)符序列中的一個(gè)標(biāo)識(shí)符,所述標(biāo)識(shí)符序列是或者基于所述散 列樹的預(yù)定的葉子序列。
根據(jù)本發(fā)明的第三方面,提供了一種用于向RFID應(yīng)答器的讀取器 提供僅在預(yù)定的讀取嘗試次數(shù)內(nèi)讀取特定應(yīng)答器的權(quán)限的系統(tǒng),該系統(tǒng) 包括
所述讀取器; 授權(quán)裝置;和
射頻識(shí)別應(yīng)答器,該射頻識(shí)別應(yīng)答器被配置為在檢測(cè)到探詢嘗試時(shí) 通過提供作為標(biāo)識(shí)符的輸出而進(jìn)行響應(yīng),所述標(biāo)識(shí)符是或者基于至少為 二叉級(jí)的散列樹的葉子或節(jié)點(diǎn),其中所提供的所述標(biāo)識(shí)符對(duì)于每個(gè)檢測(cè)
到的探詢嘗試是不同的;
所述授權(quán)裝置和所述應(yīng)答器共享標(biāo)簽的所述散列樹的知識(shí),所述知 識(shí)不為所述讀取器所知,
其中所述讀取器
(i) 被配置為向所述應(yīng)答器進(jìn)行探詢,以獲得所述應(yīng)答器所輸出的
標(biāo)識(shí)符;
(ii) 被安排與所述授權(quán)裝置進(jìn)行聯(lián)絡(luò)并揭示其自身的標(biāo)識(shí)以及所獲 得的標(biāo)識(shí)符;
所述授權(quán)裝置被安排為檢查所述讀取器讀取所述應(yīng)答器的資格,并
且如果所述讀取器有資格讀取所述應(yīng)答器,則所述授權(quán)裝置向所述讀取 器提供關(guān)于所述散列樹的信息,以允許所述讀取器在預(yù)定的探詢嘗試次 數(shù)內(nèi)/超過預(yù)定的探詢嘗試次數(shù)地讀取所述應(yīng)答器。
根據(jù)本發(fā)明的又一方面,提供了一種用于向射頻識(shí)別應(yīng)答器的讀取 器提供僅在預(yù)定的讀取嘗試次數(shù)內(nèi)讀取特定應(yīng)答器的權(quán)限的方法,所述 應(yīng)答器被配置為在檢測(cè)到探詢嘗試時(shí)通過提供作為標(biāo)識(shí)符的輸出而進(jìn)行 響應(yīng),所述標(biāo)識(shí)符是或者基于至少為二叉級(jí)的散列樹的葉子或節(jié)點(diǎn),其 中所提供的所述標(biāo)識(shí)符對(duì)于每個(gè)檢測(cè)到的探詢嘗試是不同的,所述方法 包括以下步驟
(i) 用所述讀取器探詢所述應(yīng)答器以獲得由所述應(yīng)答器輸出的標(biāo)識(shí)
符;
(ii) 從所述讀取器向授權(quán)機(jī)構(gòu)提供所述讀取器的標(biāo)識(shí)以及所獲得的 應(yīng)答器標(biāo)識(shí)符;
(iii) 所述授權(quán)機(jī)構(gòu)檢查所述讀取器讀取所述應(yīng)答器的資格,并且 如果所述讀取器有資格讀取所述應(yīng)答器,則所述授權(quán)機(jī)構(gòu)向所述讀取器 提供關(guān)于所述散列樹的信息,以允許所述讀取器在預(yù)定的探詢嘗試次數(shù) 內(nèi)/超過預(yù)定的探詢嘗試次數(shù)地讀取所述應(yīng)答器。
本發(fā)明使用在供應(yīng)鏈上傳播或在多個(gè)所有者之間傳播的物品上的僅 被授權(quán)方識(shí)別并且僅可進(jìn)行有限次讀取操作的RFID標(biāo)簽,解決了所引起 的隱私問題和安全問題。這是通過使用偽名(pseudonym)方案實(shí)現(xiàn)的, 偽名方案在標(biāo)簽和讀取器之間提供更短暫的耦合,并且安排由信任的第 三方來向讀取器提供密鑰。
代替現(xiàn)有技術(shù)所教導(dǎo)的方法,即,要求讀取器針對(duì)各次和每次讀取 都要求助于第三方,讀取器被給予了臨時(shí)密鑰,該臨時(shí)密鑰在指定次數(shù) 的讀取操作之后過期。這實(shí)現(xiàn)了一種靈活的系統(tǒng),在該系統(tǒng)中,當(dāng)商品 沿供應(yīng)鏈移動(dòng)時(shí),可以按期望增加或移除授權(quán)的讀取器。
本發(fā)明還考慮到在這種RFID系統(tǒng)中可用的非常有限的資源。由于 成本方面的考慮,僅有最基本的標(biāo)簽才可能被考慮普遍部署在例如消費(fèi) 品供應(yīng)鏈中。因此,在標(biāo)簽中僅應(yīng)實(shí)現(xiàn)簡(jiǎn)單的功能。本發(fā)明將要求使用
標(biāo)簽裝置中的單向散列函數(shù)或偽隨機(jī)函數(shù)或它們的組合。
現(xiàn)在將參照附圖僅通過實(shí)施例來描述本發(fā)明的實(shí)施方式,在附圖中 圖1描繪了本發(fā)明的在RFID系統(tǒng)中向讀取器提供對(duì)標(biāo)簽的臨時(shí)訪 問權(quán)的實(shí)施方式。
圖2是描繪了圖1中所描繪的方法的步驟的流程圖。
圖3描繪了標(biāo)簽如何生成標(biāo)簽偽名和提示消息的第一實(shí)施方式。 圖4描繪了基于散列方案的隱私認(rèn)證方案。 圖5描繪了二叉單向樹。
圖6描繪了基于使用單向二叉樹的散列方案的隱私認(rèn)證策略。 圖7描繪了如何結(jié)合單向二叉樹使用提示消息來訪問標(biāo)簽。 圖8描繪了單向二叉樹在本發(fā)明一另選實(shí)施方式中的使用。 圖9描繪了本發(fā)明一另選實(shí)施方式中的讀取操作。 圖IO描繪了本發(fā)明一另選實(shí)施方式中的提示消息的操作。
具體實(shí)施例方式
圖1是本發(fā)明的一實(shí)施方式的示意性概略圖,示出了根據(jù)本發(fā)明的 RFID系統(tǒng)的三個(gè)主要部件之間的關(guān)系和通信。在標(biāo)簽、讀取器和第三方 機(jī)構(gòu)之間的事件期間發(fā)生了多次交換(exchange) El到E5。
圖2是描述典型的讀取和訪問會(huì)話的步驟的流程圖。
現(xiàn)在將結(jié)合圖1和圖2討論本發(fā)明的實(shí)施方式。
在圖2的步驟Sl,讀取器(4)通過用適當(dāng)?shù)纳漕l輻射掃描標(biāo)簽(2) 來建立與該標(biāo)簽的初始聯(lián)絡(luò)。這由圖1中被標(biāo)記為E1的箭頭進(jìn)行描繪。
在步驟S2,標(biāo)簽通過向讀取器發(fā)送包括"偽名"的輸出E2來進(jìn)行 響應(yīng)。
在步驟S3,讀取器接收該偽名(輸出E2)。如果讀取器在其自身內(nèi) 具有允許其"解碼"該偽名的信息("是"),則不需要從第三方機(jī)構(gòu)尋求 解密密鑰(在本說明書中有時(shí)被稱為"種子(seed)")。如果讀取器沒有 該信息("否"),則處理移動(dòng)到授權(quán)階段。
步驟S4表示授權(quán)處理的開始。這是一可選步驟,并且它可以是響應(yīng) 于來自讀取器的不同命令而產(chǎn)生的。在該階段中,讀取器可以從標(biāo)簽中 獲取更多信息以實(shí)現(xiàn)解密操作。該信息可以為"提示消息"的形式,或 者可以為較長(zhǎng)偽名的形式。
在步驟S5,讀取器向具有讀取器所需信息的第三方機(jī)構(gòu)(6)發(fā)送
授權(quán)請(qǐng)求(E5)。該授權(quán)請(qǐng)求可以包括偽名、讀取器憑證與可選的提示消
息的組合。讀取器憑證可以是任何預(yù)先約定的事物,第三方機(jī)構(gòu)出于確
定特定讀取器是否應(yīng)該被授權(quán)并訪問標(biāo)簽的實(shí)際ID會(huì)接受該事物。例如, 它們可以包括或者是讀取器自身的ID。另外或另選的是,它們可以是由 供應(yīng)鏈中的前一方通過電子帳單等傳遞給該讀取器的信息。第三方機(jī)構(gòu) 檢査該憑證(諸如證書),以在發(fā)布信息之前對(duì)該讀取器進(jìn)行認(rèn)證。 一旦 讀取器被認(rèn)證,則可以獲得許可給該讀取器的訪問權(quán)限,并且可以根據(jù) 這些權(quán) 限發(fā)布信息。
在步驟S6,第三方機(jī)構(gòu)確定授權(quán)請(qǐng)求(E5)的有效性。如果讀取器 應(yīng)該被授權(quán)的條件滿足,則可以向讀取器發(fā)放一個(gè)或更多個(gè)解密密鑰以 及標(biāo)簽ID (E6)??赡苡羞@種情況,即讀取器所聯(lián)絡(luò)的機(jī)構(gòu)沒有足夠的 密鑰來理解讀取器所傳遞的信息或?yàn)樽x取器生成一個(gè)或更多個(gè)訪問密 鑰。在這種情況下,該機(jī)構(gòu)可以將該請(qǐng)求傳遞給具有更大訪問權(quán)限的另 一機(jī)構(gòu)。
在步驟S7,讀取器現(xiàn)在具有解密密鑰。這使讀取器可以用下面所討 論的方法來解碼偽名并獲得真實(shí)的標(biāo)簽ID。如上面結(jié)合步驟S3所談到 的,如果讀取器在該階段已經(jīng)具有密鑰,則它可以繞過授權(quán)處理(步驟 Sl到S6)而直接移動(dòng)到步驟S7中的解密處理。
下面將結(jié)合圖4討論圖1的交換E7和E8。這些交換涉及標(biāo)簽和讀 取器的互相認(rèn)證的可選步驟,所述可選步驟在使用中提供甚至更高的安 全性。
在本發(fā)明的該實(shí)施方式中,讀取器將僅可臨時(shí)訪問標(biāo)簽。這是通過 僅向讀取器許可有限次數(shù)的讀取而實(shí)現(xiàn)的。當(dāng)達(dá)到該限制并且讀取器需
要更多訪問時(shí),必須申請(qǐng)新的授權(quán)階段。
如上所述,第三方機(jī)構(gòu)的作用可以由標(biāo)簽制造商或者發(fā)行者、或者 標(biāo)簽的第一個(gè)用戶來實(shí)現(xiàn)。所述作用還可以由本申請(qǐng)人的同時(shí)待審定專
利申請(qǐng)GB 0428543.3中所描述的裝置來實(shí)現(xiàn)。盡管至少一個(gè)機(jī)構(gòu)必須具 備標(biāo)簽可以產(chǎn)生的整個(gè)偽名集的知識(shí),但是另外的機(jī)構(gòu)可被委派這些知 識(shí)的子集,這使它們可以僅針對(duì)標(biāo)簽生命周期的某階段授予訪問權(quán)。以 層級(jí)結(jié)構(gòu)聯(lián)結(jié)這些機(jī)構(gòu)可以減少施加給主要機(jī)構(gòu)的負(fù)擔(dān)。
第三方機(jī)構(gòu)可以計(jì)算有時(shí)限密鑰,該有時(shí)限密鑰向讀取器提供在有 限次數(shù)內(nèi)解碼特定標(biāo)簽的偽名的能力。具體來說,可以允許第三方機(jī)構(gòu) 計(jì)算允許識(shí)別接下來的n個(gè)偽名的密鑰,其中n是由應(yīng)用策略指定的。 該密鑰通過安全信道傳送給讀取器。
一個(gè)問題是如何使偽名系統(tǒng)適于大量的標(biāo)簽而不會(huì)導(dǎo)致過度的復(fù)雜 性。在n個(gè)標(biāo)簽的數(shù)據(jù)庫中,對(duì)偽名進(jìn)行單向解碼要對(duì)所有n個(gè)標(biāo)簽進(jìn) 行線性掃描。在本發(fā)明的方案中,傳遞所有權(quán)和有時(shí)限密鑰這一附加特 征沒有增加解碼復(fù)雜度;這仍舊與當(dāng)前RFID偽名解決方案中的解碼復(fù)雜 度相當(dāng)。
圖3是從標(biāo)簽生成提示消息的方法的表示,結(jié)合上面的步驟S4簡(jiǎn)要 地討論該方法。當(dāng)讀取器向標(biāo)簽請(qǐng)求提示消息(E3)時(shí),可以使用與對(duì) 下一偽名的請(qǐng)求(El)不同的命令。另選的是,可以使用單個(gè)讀取器命 令,并且標(biāo)簽可以周期性地發(fā)布提示消息,例如,每生成n個(gè)偽名,產(chǎn) 生一個(gè)提示消息。
標(biāo)簽的輸出(圖1中的交換E2)隨著每個(gè)讀取操作而改變。具體來 說,未授權(quán)讀取器無法將標(biāo)簽的每個(gè)輸出與任何其他先前或未來的標(biāo)簽 輸出相關(guān)聯(lián)。這是防止追蹤的重要屬性,并且類似地提示消息一定不能 重復(fù)。這意味著(通過命令E3)明確要求提示消息的讀取器將必須在發(fā) 布提示之前(例如通過進(jìn)行多次讀取操作)將標(biāo)簽偽名推進(jìn)(advance) 多達(dá)n個(gè)步驟。如果其他讀取器期望具有對(duì)該標(biāo)簽的同時(shí)訪問權(quán)限,則 這種輸出提示的方式可能不是最有效的。下面結(jié)合圖IO的討論還提供了 涉及提示消息的另一解決方案。 以下例示了如何將在圖1和圖2中描述的方法應(yīng)用于醫(yī)藥行業(yè)中的 供應(yīng)鏈環(huán)境。
醫(yī)藥物品(例如藥品)在其制造點(diǎn)處被固定一標(biāo)簽。該標(biāo)簽實(shí)現(xiàn)根 據(jù)本發(fā)明的安全方案。多個(gè)這種醫(yī)藥物品通常被包裝在一起,并且被發(fā) 送到供應(yīng)鏈中的下一方,例如分銷商。在各物品離幵供應(yīng)鏈并進(jìn)入消費(fèi) 者領(lǐng)域之前,各物品上的標(biāo)簽將被不同方讀取幾次。
當(dāng)醫(yī)藥物品在制造領(lǐng)域和批發(fā)領(lǐng)域之間轉(zhuǎn)移時(shí),帳單通常會(huì)發(fā)送到 目的地(比如批發(fā)商)。該帳單可以包含對(duì)產(chǎn)品的描述(例如,其EPC) 以及第三方機(jī)構(gòu)的位置(例如統(tǒng)一資源定位符)。這可以單獨(dú)地或者與其
他信息一起充當(dāng)在上面的步驟S5中提及的全部或部分讀取器憑證。當(dāng)這
些物品到達(dá)批發(fā)商時(shí),讀取器將讀取該標(biāo)簽的輸出,并且向第三方機(jī)構(gòu)
請(qǐng)求訪問權(quán)。在被授予訪問權(quán)之后,該批發(fā)商將可以訪問該標(biāo)簽ID。具
有這種訪問權(quán),批發(fā)商可以隨后驗(yàn)證帳單上列出的所有產(chǎn)品已經(jīng)到達(dá)。 此外,批發(fā)商還可以在數(shù)據(jù)庫中查找與該標(biāo)簽相關(guān)聯(lián)的信息,該信息可 能給出關(guān)于諸如物品制造日期的事物等的信息。這種數(shù)據(jù)庫可以在批發(fā) 商本地,或者這可以是例如由制造商維護(hù)的、可以提供例如最新產(chǎn)品信 息的集中式數(shù)據(jù)庫。
當(dāng)藥房對(duì)醫(yī)藥物品下訂單時(shí),批發(fā)商安排發(fā)運(yùn)和編制帳單。批發(fā)商
向藥房傳遞產(chǎn)品的EPC以及第三方機(jī)構(gòu)的詳細(xì)聯(lián)系信息(諸如URL)。 該信息可以再次被包含在電子帳單中。雖然在從批發(fā)商向藥房運(yùn)送貨物 時(shí)這些詳細(xì)信息會(huì)伴隨這些貨物,但是如果優(yōu)選地以安全的方式分開發(fā) 送它們,則會(huì)提高安全性。這些醫(yī)藥物品將具有包裝ID或發(fā)運(yùn)ID,該 ID也會(huì)出現(xiàn)在從批發(fā)商到藥房的帳單或其他消息上,從而物品的EPC和 相關(guān)URL可以清楚地與藥房所接收到的貨物相關(guān)聯(lián)。
當(dāng)所述物品到達(dá)藥房時(shí),標(biāo)簽將再次被讀取,并且再次向第三方機(jī) 構(gòu)請(qǐng)求授權(quán)。
當(dāng)然,發(fā)運(yùn)人在以上處理的任何階段中可能會(huì)要求訪問標(biāo)簽,并且 這可以以相同的方式通過向第三方機(jī)構(gòu)發(fā)送請(qǐng)求來獲得。
在到達(dá)零售藥房后,物品隨后將被放置在藥房的貨架上進(jìn)行銷售。
當(dāng)物品被售出時(shí),所有權(quán)轉(zhuǎn)移給終端用戶。根據(jù)本發(fā)明的安全性解決方 案包括一種取消藥房對(duì)標(biāo)簽的訪問權(quán)并將控制權(quán)轉(zhuǎn)移給用戶的方法。這 是本系統(tǒng)的重要特征。例如,具有3TC處方的人可能攜帶人類免疫缺陷 病毒,并且可能期望將這種信息保密。
現(xiàn)在標(biāo)簽處于消費(fèi)者領(lǐng)域。消費(fèi)者將具有兩種選擇。第一種選擇是 對(duì)于任何其他服務(wù)用戶都不需要利用該標(biāo)簽。在這種情況下,根據(jù)本發(fā) 明的解決方案確保了用戶的隱私——對(duì)醫(yī)療信息的追蹤和讀取將是不可 能的。任何沒有解密密鑰就讀取標(biāo)簽的企圖都會(huì)失敗。然而,消費(fèi)者可 能需要訪問標(biāo)簽的ID。例如,消費(fèi)者可以將物品放在"智能貨架"上, 當(dāng)應(yīng)該拿取特定藥品時(shí)該智能貨架將通知消費(fèi)者。在這種情況下,消費(fèi)
者的讀取器將需要向第三方機(jī)構(gòu)請(qǐng)求標(biāo)簽ID訪問權(quán)。
當(dāng)用戶扔掉裝有任何未使用藥品的藥品容器時(shí),廢物處理公司可以 使用該標(biāo)簽用于回收用途。在這種情況下,該方案將保護(hù)消費(fèi)者的隱私, 但是出于追蹤的目的以及為了鏈接到廢物處理公司自己的數(shù)據(jù)庫,仍保 持了標(biāo)簽的功能。
圖4描繪了在基于散列的偽名方案中發(fā)生的標(biāo)簽和讀取器之間的交
換??梢曰谑褂妹荑€散列的消息來防止對(duì)標(biāo)簽的未授權(quán)追蹤和識(shí)別,
所述密鑰散列的消息例如由Krawczyk, H, Bellare, M禾口 R Canetti在 "畫AC: Keyed-Hashing for Message Authentication" (RFC 2104, 1997 年9月)中進(jìn)行了描述。
在裝配時(shí),對(duì)標(biāo)簽設(shè)置唯一的標(biāo)識(shí)符對(duì)(YID, ID)。 YID是將在標(biāo)簽 和授權(quán)的讀取器之間共享的密鑰(包括比特序列)。G是單向函數(shù)(例如 SHA1或偽隨機(jī)函數(shù)),其運(yùn)算使得其輸出不揭示任何與輸入有關(guān)的信息。 當(dāng)被查詢時(shí),標(biāo)簽生成新的元素(該元素是通過向密鑰"YID"應(yīng)用單向 函數(shù)而得出的)并且通過多次讀取而獲得一系列元素YID 1、 YID2... YIDn-l、 YIDn。對(duì)于每次交易,偽名Sk=rl, G(rl, G(rl, YID k))將被生
成并被標(biāo)簽發(fā)送給讀取器。
讀取器將對(duì)用于驗(yàn)證標(biāo)簽消息的(YID, ID)對(duì)進(jìn)行識(shí)別,并且可以可 選地用ID XOR G(rl, YID k)來應(yīng)答標(biāo)簽。該信息向允許互相認(rèn)證的標(biāo)簽
認(rèn)證讀取器的標(biāo)識(shí),因?yàn)镚(rl, YID k)僅可由與該標(biāo)簽共享同一(YID, ID) 對(duì)的讀取器生成。
對(duì)于不知道(YID, ID)對(duì)的讀取器來說,標(biāo)簽的單個(gè)輸出與隨機(jī)值無 異,并且無法將其與先前或未來的輸出相關(guān)聯(lián)。針對(duì)標(biāo)簽和讀取器之間 的通信的竊聽者不能獲取與標(biāo)簽有關(guān)的任何其他信息。
上面描述的互相認(rèn)證方法可以限制惡意用戶使標(biāo)簽值沿散列鏈循環(huán) 的能力,或者用于使標(biāo)簽或伴隨的裝置識(shí)別合法讀取器,所述裝置例如 為在本申請(qǐng)人的同時(shí)待審定專利申請(qǐng)第GB 0428543.3號(hào)中所描述的裝置。
如上所述的通過單向函數(shù)生成標(biāo)簽標(biāo)識(shí)符的已知認(rèn)證方法不能被視 為有效的解決方案。首先,它們遇到可量測(cè)性(scalability)問題,如果 要獲得散列值,讀取器必須檢査可能標(biāo)簽的所有組合。其次,所述方法 不支持所有權(quán)的安全轉(zhuǎn)移。先前被授權(quán)訪問標(biāo)簽的讀取器可以繼續(xù)讀取 該標(biāo)簽。然而,本發(fā)明的裝置和方法解決了這兩個(gè)問題。
圖5示出了具有兩個(gè)單向函數(shù)的二叉單向樹。這兩個(gè)單向函數(shù)在這 里分別用術(shù)語"左(left)"函數(shù)和"右(right)"函數(shù)表示。通常,可以 使用單向散列函數(shù)(例如SH1或MD5算法)來構(gòu)建它們。
樹中的密鑰序列可如下地構(gòu)建。初始根種子"S(root)"與樹相關(guān)聯(lián), 而參數(shù)深度D表示樹的葉子數(shù)N=2d-1 。
中間值如下地生成
1. D層密鑰值為Z(0)=left{Z(root)} , Z(l)=right{Z(root)}。
2. D-l層的密鑰為Z(OO)-left(Z(O)), Z(01)=right{Z(0)}, Z(10)=left{Z(l)},Z(ll)=right{Z(l)}。
3. 樹的D-2層為Z(000)=left{Z(00)}, Z(001)=right{Z(00)}, Z(010)=left{Z(01)}, Z(011)=right{Z(01)}, Z(100)=left{Z(10)}, Z(101)-right(Z(10",Z(110Heft(Z(ll)〉,Z(lll^right(Z(ll))并以此類推, 創(chuàng)建深度為D層的中間種子值的二叉樹。
在該實(shí)施例中,可以注意到 '層"i"中的種子生成W'"數(shù)目的葉子。
由于"left"和"right"單向函數(shù)的性質(zhì),種子的孩子彼此之間沒 有類同之處。
樹中的孩子的價(jià)值為雙親的一半,這是因?yàn)殡p親可以生成兩倍的 葉子因而給予對(duì)標(biāo)簽標(biāo)識(shí)符的更大訪問權(quán)。如果被授予了對(duì)樹的一部分 的訪問權(quán),則訪問權(quán)被給予與使樹中所有密鑰的計(jì)算能夠被公開的葉子 最接近的種子的較小集合。當(dāng)給予了對(duì)種子的訪問權(quán)時(shí),接收者需要知 道種子位于樹中的哪里。
在例如D=8的樹中,如果訪問權(quán)被給予層3中的種子(例如SOOl), 則接收者將能夠生成4個(gè)葉子密鑰。所有其他密鑰將保持隱藏。層的選 擇限制了所公開密鑰的數(shù)目。如果讀取器需要訪問更多密鑰,則可以公 開一個(gè)或更多個(gè)新密鑰以擴(kuò)展讀取器的訪問權(quán)。
以上工具通過應(yīng)用于上面針對(duì)圖4討論的基于散列的認(rèn)證方案,但 是限制讀取器可進(jìn)行的讀取操作的數(shù)目,可以用來向讀取器授予臨時(shí)訪 問權(quán)。除了達(dá)到限制曾經(jīng)被授權(quán)但不再有授權(quán)的讀取器訪問標(biāo)簽的目的 以外,這還有助于減小讀取器的計(jì)算復(fù)雜性。
根據(jù)本發(fā)明的此方面,在認(rèn)證協(xié)議中使用的種子YID k是二叉單向 樹的葉子。如上所述,YIDk隨著每次讀取操作而改變。YIDk沿著樹的 葉子前進(jìn)。
按此方式根據(jù)本發(fā)明實(shí)現(xiàn)的方案的優(yōu)點(diǎn)是
向讀取器給出了良定義的序列,從而共享該序列的知識(shí)的讀取器 和標(biāo)簽可以通信。
揭示樹中的中間值可以向讀取器揭示子序列。讀取器將僅能夠以 有限數(shù)目的讀取操作來認(rèn)證和訪問標(biāo)簽(因?yàn)樗鼘⒂猛晁斫獾臉涞?葉子值)。
為了獲取可進(jìn)行"n"次操作的對(duì)標(biāo)簽的訪問權(quán),可給予讀取器在層 1og(n)+l中的少到1個(gè)的種子。例如,通過知道層4中的單個(gè)種子值可以 授權(quán)進(jìn)行8次讀取操作。另選的是,可以利用各自位于層3的2個(gè)種子 來授權(quán)進(jìn)行8次讀取操作。為進(jìn)行"n"次操作而必須授權(quán)的密鑰的數(shù)目 根據(jù)在樹中的起始位置而變化。
知道樹的值的讀取器現(xiàn)在與標(biāo)簽松散耦合,并且僅持續(xù)這樣的讀取 操作的時(shí)長(zhǎng),即對(duì)于所述讀取操作來說已知足夠的種子。每次讀取查詢 時(shí),所有標(biāo)簽生成新的偽名。因?yàn)樽x取器將僅能在授予其的讀取操作次 數(shù)內(nèi)追蹤和訪問標(biāo)簽,所以當(dāng)物品易手時(shí)不需要標(biāo)簽重新編碼操作。當(dāng) 讀取器用完授予其的讀取操作次數(shù)時(shí),它對(duì)標(biāo)簽的訪問權(quán)自動(dòng)結(jié)束。在 標(biāo)簽從鏈中的一方轉(zhuǎn)移到下一方而前一方仍有未使用的讀取操作的情況 下,可以處理掉這些操作。這可以通過多次讀取標(biāo)簽來實(shí)現(xiàn),或者如果 擴(kuò)展了讀取協(xié)議,則可以沿樹的葉子直接跳到某距離之外的值。這用來 取消先前的對(duì)標(biāo)簽的訪問權(quán)而無需向標(biāo)簽寫入新的密鑰。
讀取器和標(biāo)簽之間的耦合留給了第三方機(jī)構(gòu)。在一可能的場(chǎng)景中, 原始制造商控制(YID, ID)對(duì),并且擔(dān)當(dāng)標(biāo)簽的第三方機(jī)構(gòu)來存儲(chǔ)讀取器 憑證以及授權(quán)或拒絕訪問。當(dāng)讀取器需要訪問特定標(biāo)簽時(shí),它需要種子 (或者樹的元素)的集合。該集合由給予達(dá)到所要求讀取操作次數(shù)的訪 問權(quán)的樹的中間節(jié)點(diǎn)組成。所允許的操作次數(shù)可以通過新的授權(quán)請(qǐng)求來 擴(kuò)展。 1
當(dāng)請(qǐng)求授權(quán)時(shí),新的讀取器必須向第三方機(jī)構(gòu)通知標(biāo)簽的當(dāng)前狀態(tài)。 這是因?yàn)榈谌綑C(jī)構(gòu)不知道標(biāo)簽的當(dāng)前狀態(tài)以及該讀取器當(dāng)前正在使用 哪個(gè)葉子值。第三方機(jī)構(gòu)可以根據(jù)標(biāo)簽生成的偽名值來計(jì)算標(biāo)簽ID和樹 序列的當(dāng)前狀態(tài)。
第三方機(jī)構(gòu)需要在讀取器事先不知道標(biāo)簽標(biāo)識(shí)的情況下知道要將哪 個(gè)種子分配給特定讀取器。如果標(biāo)簽不能向當(dāng)前未授權(quán)讀取器發(fā)布關(guān)于
標(biāo)簽ID的信息,則可以替代地發(fā)布關(guān)于樹序列的狀態(tài)的信息,以幫助實(shí) 現(xiàn)標(biāo)簽ID/當(dāng)前密鑰值對(duì)的單一性(sigulation)。
一種方法是,讀取器在要求訪問時(shí)將向第三方機(jī)構(gòu)提供普通憑證、 以及當(dāng)前標(biāo)簽消息和根據(jù)偽名樹中沿著從根到當(dāng)前使用的葉子值的路徑 上的中間節(jié)點(diǎn)生成的提示消息。
使用上述方案,如果第三方機(jī)構(gòu)僅從標(biāo)簽接收到偽名,則識(shí)別該特 定標(biāo)簽的正確標(biāo)識(shí)的處理將具有O((n)(N))數(shù)量級(jí)的復(fù)雜度,其中n表示 樹所生成的葉子的數(shù)目,而N是第三方機(jī)構(gòu)管理的標(biāo)簽的數(shù)目。
使用提示消息可以將識(shí)別標(biāo)簽所涉及的計(jì)算復(fù)雜度降低到O(N)數(shù) 量級(jí)的復(fù)雜度。在本發(fā)明的方案中,提示可以被用于比搜索全部可能的 偽名空間更快地識(shí)別標(biāo)簽。將提出兩種不同的提示機(jī)制解決方案樹位 置提示和根到葉子提示。
作為一實(shí)施例在裝配時(shí),再次對(duì)標(biāo)簽設(shè)置唯一的(YID, ID)對(duì),其
中YID是該標(biāo)簽的樹的根種子。假設(shè)有一可進(jìn)行"n"次讀取操作的樹, 其中樹深度為log(n)+l。
n=4096的標(biāo)簽將要求樹的深度為d=12+l。如果標(biāo)簽保持中間節(jié)點(diǎn) 值,則需要針對(duì)每次讀取操作計(jì)算2個(gè)單向散列函數(shù)(最小為1,最大為 log(n))的平均值。為了保持樹,標(biāo)簽需要例如利用計(jì)數(shù)器來存儲(chǔ)樹中的 當(dāng)前位置。當(dāng)被査詢時(shí),標(biāo)簽生成新的葉子"Yleaf"(之前被稱為YIDk), 并且生成消息Sk-G(rl, G(rl, (Yleaf)》。
假設(shè)已經(jīng)對(duì)授權(quán)的讀取器授予了對(duì)樹的子集的訪問權(quán)。讀取器通過 (Yi, ID)對(duì)來識(shí)別標(biāo)簽,Yi是樹的在"i"層的元素。層"i"(其中i=l是 樹的葉子)的密鑰將給予2(i-l)次讀取操作的訪問權(quán)。為了效率,將"i" 選擇為小的值,這將限制讀取器訪問特定標(biāo)簽所需執(zhí)行的工作量(限制 為2(2(i-l))-2次散列函數(shù)求值)。當(dāng)接收到標(biāo)簽消息時(shí),讀取器將尋找用 于驗(yàn)證該標(biāo)簽消息的(Yi, ID)對(duì)。
平均起來,對(duì)于每個(gè)讀取循環(huán)需要為標(biāo)簽調(diào)用四次單向散列函數(shù) (即,針對(duì)二叉樹的兩次以及兩次G)。樹信息需要在每個(gè)循環(huán)進(jìn)行更新。 該實(shí)施例使用二叉單向樹,并且標(biāo)簽可以存儲(chǔ)從根密鑰到樹的當(dāng)前葉子 的log(n)+l個(gè)密鑰。
當(dāng)讀取器不知道標(biāo)簽的標(biāo)識(shí)時(shí),由于如何識(shí)別標(biāo)簽標(biāo)識(shí)的問題而引 起了可量測(cè)性問題。例如,讀取器接收到新的標(biāo)簽,并且讀取器不知道 應(yīng)該使用哪個(gè)密鑰來解碼偽名。第三方機(jī)構(gòu)可以授予訪問權(quán),但是為了 這樣做,它需要具有一些關(guān)于標(biāo)簽所使用的當(dāng)前樹葉的信息。
圖7描繪了根據(jù)本發(fā)明的解決方案。
標(biāo)簽可以生成樹位置提示。提示消息包括指向二叉單向樹中的種子 的信息。因此,該提示可以充當(dāng)關(guān)于當(dāng)前正在使用樹的哪部分的指示符。
通過采用提示消息,第三方機(jī)構(gòu)可以識(shí)別標(biāo)簽,并且從該時(shí)間點(diǎn)向授權(quán) 讀取器公開用于訪問標(biāo)簽的種子的有效集合。可以在用于產(chǎn)生偽名的根 種子和當(dāng)前偽名自身之間的不同層發(fā)布提示消息。
現(xiàn)在描述的方案使用如早先在圖3中所描述的偽名值與根據(jù)樹的中 間節(jié)點(diǎn)而產(chǎn)生的提示的交織。在該實(shí)施例中,僅使用一層的中間節(jié)點(diǎn)來 產(chǎn)生提示消息,但是在實(shí)踐中可以使用許多層,只要該層被標(biāo)簽的輸出 清楚地指出即可。對(duì)(不同層的)提示和偽名進(jìn)行交織的一個(gè)缺點(diǎn)是一 些序列信息對(duì)于未授權(quán)讀取器是清楚的,并且可以被用于對(duì)標(biāo)簽進(jìn)行有 限的追蹤。另一個(gè)缺點(diǎn)是必須有意地推進(jìn)標(biāo)簽偽名以獲得提示值。通過 下面結(jié)合圖10所描述的提供提示消息的另選方法可以解決這些問題。 在以下步驟中,示出了如何使用提示消息來識(shí)別當(dāng)前標(biāo)簽 每2i次讀取操作,標(biāo)簽公開一提示消息。提示可以是H(Yi),其中
Yi是層i中給予2(i-1)次操作的訪問權(quán)的種子,而H是散列函數(shù)。由于是 單向函數(shù),所以H(Yi)不向?qū)κ止_關(guān)于樹的任何信息。H(Yi)被第三方 機(jī)構(gòu)共享(所知)。
該提示將被讀取器用來請(qǐng)求訪問權(quán)。當(dāng)讀取器接收到新的標(biāo)簽時(shí), 它需要檢索H(Yi)。根據(jù)圖3所示的方案的讀取器將重復(fù)地讀取標(biāo)簽,直 到提示值被公幵。此時(shí),讀取器將能夠訪問第三方機(jī)構(gòu),并且通過向該 機(jī)構(gòu)提供提示消息來請(qǐng)求訪問權(quán)。
如果讀取器被授權(quán),則第三方機(jī)構(gòu)將隨后把種子值Yi傳送給讀取器。 該讀取器將被臨時(shí)授予訪問權(quán)。
使用提示消息是有益的,因?yàn)樗蟠蠼档土藦?fù)雜度。如果不使用提 示消息,在以下情況下會(huì)發(fā)生問題
標(biāo)簽出乎意料地到達(dá)新的所有者,沒有信息伴隨該標(biāo)簽被轉(zhuǎn)移。
從標(biāo)簽最近一次被特定讀取器掃描以來,其他方已經(jīng)對(duì)標(biāo)簽進(jìn)行 了未知次數(shù)的讀取。
在這些情況下,讀取器必須在對(duì)每個(gè)可能的標(biāo)簽沿偽名鏈進(jìn)行有限 次的檢查后放棄,并且得出標(biāo)簽不明的結(jié)論。讀取器不能分辨對(duì)不明標(biāo) 簽的響應(yīng)和來自己知標(biāo)簽、但超出讀取器所檢査的點(diǎn)的偽名。
使用提示消息,復(fù)雜度被降低到O((k)(N)),其中k取決于所公幵種 子的層數(shù)。如果層數(shù)高(其中,該提示靠近根),則第三方機(jī)構(gòu)將必須進(jìn) 行有限次的散列運(yùn)算以找到正確的樹并識(shí)別標(biāo)簽。例如d=10 (樹的維
度),i=8,為了識(shí)別標(biāo)簽,密鑰機(jī)構(gòu)遍歷2(d-i)-4個(gè)密鑰。搜索復(fù)雜度為 0(4 XN)。
在該第一實(shí)施方式中,處理如下進(jìn)行工作-
1. 讀取器從標(biāo)簽中讀取當(dāng)前偽名,并嘗試將該偽名針對(duì)預(yù) 測(cè)的偽名值空間進(jìn)行匹配。
2. 如果該匹配失敗,則讀取器從標(biāo)簽中獲得提示值。這可 以通過重復(fù)讀取直到獲得提示值或者通過自動(dòng)推進(jìn)標(biāo)簽直到給 出提示值的特殊指令來獲得。
3. 如果該提示值位于散列樹中可以被為讀取器所知的密 鑰覆蓋的層中,則讀取器可以嘗試將該提示值與已知標(biāo)簽進(jìn)行匹 酉己。例如,嘗試針對(duì)在樹的葉子之上的4層來匹配一提示值等同 于沿樹的葉子搜索32個(gè)偽名的空間。因此,通過沿已知的較高 層的提示值進(jìn)行搜索,讀取器可以快速地識(shí)別該標(biāo)簽是否為已 知。標(biāo)簽必須向讀取器給出關(guān)于正被使用的層提示的信息。
4. 如果獲得的提示值在樹中比讀取器所知的更高,或者如 果提示值因?yàn)槌隽藶樽x取器所知的序列而不能被匹配,則讀取 器必須詢問第三方機(jī)構(gòu)。該機(jī)構(gòu)可能知道根種子,并因此知道該 樹的全部,或者僅知道該樹的部分,但是該部分是具有比讀取器 自身所知的種子多的種子的部分。
5. 如果上述機(jī)構(gòu)不能夠解碼提示消息,則可以向其他機(jī)構(gòu) (例如具有關(guān)于整棵樹的知識(shí)的根機(jī)構(gòu))提出請(qǐng)求,以解碼該提示值。
根機(jī)構(gòu)總是能夠解碼標(biāo)簽,因?yàn)樗罉涞母荑€。對(duì)于根機(jī)構(gòu)來 說,解碼提示值的成本取決于提示在樹中的層數(shù)。如果提示是根值本身, 則該機(jī)構(gòu)可以立即在根種子的列表中查找該值。對(duì)于根以下的某些層來 說,針對(duì)每個(gè)標(biāo)簽預(yù)先計(jì)算出所有可能的值并且進(jìn)行立即査找是可行的。
如果該匹配失敗,則該標(biāo)簽對(duì)于該機(jī)構(gòu)是不明的。對(duì)于在樹中較低的提 示值來說,該機(jī)構(gòu)將存儲(chǔ)樹中最后所知的位置,并且沿有限的值空間進(jìn) 行檢查。如果該搜索失敗,則該標(biāo)簽可能是不明的,或者沿偽名樹充分 地推進(jìn)從而無法識(shí)別。應(yīng)該再次注意,搜索提示消息的有限集合等同于 沿著樹的葉子搜索大得多的偽名空間。
應(yīng)該注意,在根據(jù)本發(fā)明的系統(tǒng)中,樹中的多個(gè)層可以被用作提示 值。的確, 一種解決方案是要通過提供"根到葉提示"而使用樹中的所 有層。在下面描述了在所有層發(fā)布提示的一種實(shí)現(xiàn)。
可以響應(yīng)于讀取器請(qǐng)求而產(chǎn)生交織的偽名值和提示消息。在兩種情 況下標(biāo)簽可以以相同方式進(jìn)行響應(yīng),但是使用樹中的中間節(jié)點(diǎn)的散列值 來替代葉子處的散列值,所述中間節(jié)點(diǎn)是比葉子更接近根的節(jié)點(diǎn)。因此, 發(fā)布提示消息可以整合到偽名序列。例如,散列值可以是圖5中所描繪 的樹中的值(從左至右展現(xiàn))。
在該附圖中,用于產(chǎn)生標(biāo)簽響應(yīng)的散列值可以這樣前進(jìn)ZOOO, ZOO,
ZOOl, ZO, ZOIO, ZOl, Z011等等。對(duì)于每次發(fā)布,必須識(shí)別出所使用
的層,從而讀取器可以確定嘗試與哪個(gè)散列值匹配。
現(xiàn)在將討論在本發(fā)明的系統(tǒng)中包括提示消息的成本效益。如上所述, 接收到偽名的讀取器會(huì)發(fā)現(xiàn)沒有提示消息的話就難以識(shí)別標(biāo)簽。將針對(duì) 一組期望的偽名和標(biāo)簽來檢查偽名。該組標(biāo)簽可以用知識(shí)(例如關(guān)于當(dāng) 天哪些產(chǎn)品可能到達(dá)特定讀取器前的過程/存貨知識(shí))來限制。然而,通 過從最后所知的偽名值開始搜索,可以限制偽名搜索。提示消息的使用 允許跨樹中的中間層中的小得多的值集合進(jìn)行搜索。此外,同時(shí)從樹的 多個(gè)層獲得的提示能夠?qū)崿F(xiàn)標(biāo)簽的快速識(shí)別(根據(jù)高層提示)以及容易 地向下導(dǎo)航到當(dāng)前葉子偽名(但是匹配中間層提示)。
我們現(xiàn)在提出第二實(shí)施方式,該實(shí)施方式通過將偽名與提示結(jié)合在 一結(jié)合標(biāo)簽消息中,提高了標(biāo)簽讀取操作的效率。
(圖8、 9和10中示出的)該方法將提示信息和偽名作為一整體的 標(biāo)簽響應(yīng)進(jìn)行發(fā)布。當(dāng)標(biāo)簽響應(yīng)較大時(shí),優(yōu)勢(shì)相當(dāng)顯著,因?yàn)閭蚊恍?要像上面結(jié)合圖3所討論的實(shí)施方式那樣必需被讀取器推進(jìn)來獲得提示
值。此外,與偽名同時(shí)發(fā)布的提示值允許讀取器(或者機(jī)構(gòu))直接導(dǎo)航 到偽名,而不是在一空間中搜索匹配。
該另選方法降低了后端系統(tǒng)的復(fù)雜度,但是就在讀取器和標(biāo)簽之間 交換的消息而言增加了通信復(fù)雜度。
這里,H被定義為單向散列函數(shù),R被定義為偽隨機(jī)數(shù)。通過標(biāo)識(shí)
符對(duì)(YID,ID)來識(shí)別標(biāo)簽,其中YID是密鑰,ID是標(biāo)簽標(biāo)識(shí)符。在讀取 操作期間,讀取器發(fā)送隨機(jī)數(shù)Rl,標(biāo)簽作為響應(yīng)發(fā)送消息Rl、 R2、 H(R1,R2,YID)。只有可以訪問(YID, ID)對(duì)的讀取器才能識(shí)別標(biāo)簽。
可以按兩種方式獲得隨機(jī)數(shù)的生成(i)通過隨機(jī)數(shù)生成器,或者 (n)通過單向散列函數(shù)。在使用單向散列函數(shù)時(shí),生成作為隨機(jī)數(shù)的R, R-H(CNT, S), CNT是每次讀取操作都遞增的計(jì)數(shù)器,S為128位密鑰(未 共享),H為單向散列函數(shù)或偽隨機(jī)函數(shù)。
該方案實(shí)現(xiàn)了在David Molnar、 David Wagner的"Privacy and security in library RFID Issues, Practices and Architectures" (2004 ACM Computer and Communications Security conference)中提出的某些建議。然而,Molnar 和Wagner的方案不允許加標(biāo)簽物品的控制權(quán)或所有權(quán)易手,但是我們的 應(yīng)用二叉單向散列樹的方法允許提供對(duì)標(biāo)簽標(biāo)識(shí)的有限訪問。
在應(yīng)用上文提出的單向二叉樹工具時(shí),后端系統(tǒng)的計(jì)算復(fù)雜度降低。 密鑰YID與二叉單向樹中的種子相關(guān)聯(lián)。與上面描述的第一方案不同, 標(biāo)簽不生成與樹的葉子相關(guān)聯(lián)的單個(gè)輸出,而是生成與從樹的根到葉子 的不同密鑰相關(guān)聯(lián)的多個(gè)輸出。
如圖8所示,在裝配時(shí)對(duì)標(biāo)簽設(shè)置唯一的標(biāo)識(shí)符對(duì)(Z-Root, ID),其 中YlD-ZRoot為樹的根種子。結(jié)果,存在可進(jìn)行"n"次讀取操作的樹, 其中樹深度D=log(n)。將需要針對(duì)每次讀取操作計(jì)算2個(gè)單向散列函數(shù) 的平均值。
當(dāng)被讀取器探詢時(shí),標(biāo)簽生成包括新分支的樹的新葉子。讀取器發(fā) 送隨機(jī)數(shù)Rl,并且標(biāo)簽發(fā)送消息序列Rl, R2, H(Rl,R2,Z-root), H(Rl,R2,Zi), H(Rl,R2,Zi+l), H(Rl,R2,Zlog(n))。該序列中的消息與從樹 的根到葉子的不同種子相關(guān)聯(lián)。
在這種情況下,不是用從葉子產(chǎn)生的單個(gè)偽名來識(shí)別標(biāo)簽,而是用 消息序列來識(shí)別標(biāo)簽。讀取器或第三方機(jī)構(gòu)將不必進(jìn)行對(duì)標(biāo)簽的從共享 種子到葉子的復(fù)雜度為O(N.log(n))的認(rèn)證,而將直接訪問種子(復(fù)雜度 為O(N))。
如在前面的情況中那樣,可以假設(shè)授權(quán)的讀取器已被授予對(duì)樹的子
集的訪問權(quán)。在圖9中,讀取器通過(Yi,ID)對(duì)來識(shí)別標(biāo)簽,其中Yi是樹 的在層"i"中的元素。層"i"中的密鑰將給予2(i-l)次讀取操作的訪問 權(quán)。當(dāng)接收到標(biāo)簽消息時(shí),后端系統(tǒng)將尋找驗(yàn)證該標(biāo)簽消息的OTi,ID)對(duì)。 該方案和以前一樣私密,但是它允許以有限的代價(jià)來認(rèn)證標(biāo)簽。與 標(biāo)簽的數(shù)目O(N)成線性的代價(jià)和通信代價(jià)具有復(fù)雜度O(log(n))。注意到 不同消息的輸出可以被截短成更少的位是重要的,按這種方式可以改善 通信代價(jià)。
圖IO描繪了本實(shí)施方式中的提示消息的作用。
例如,在上面結(jié)合圖1討論的第一方案中,標(biāo)簽生成了一些顯式提 示。通過利用提示消息,第三方機(jī)構(gòu)可以識(shí)別標(biāo)簽并且向授權(quán)的讀取器 公開用于訪問該標(biāo)簽的有效種子。
然而,在這種情況下,不需要生成顯式提示消息。當(dāng)讀取器接收到 無法被認(rèn)證的消息時(shí),它將該消息傳遞給可以驗(yàn)證根種子并識(shí)別該標(biāo)簽 的第三方機(jī)構(gòu)。在這種情況下,標(biāo)簽的輸出暗含索引信息。在識(shí)別出標(biāo) 簽之后,第三方機(jī)構(gòu)將授予可進(jìn)行一定次數(shù)讀取操作的對(duì)該特定標(biāo)簽的 訪問權(quán)。
此外,通過利用上面引用的論文中Molnar和Wagner提出的偽名樹 來實(shí)現(xiàn)該方案可以實(shí)現(xiàn)針對(duì)可量測(cè)性的改善。在第三方搜索結(jié)合方案的 代價(jià)將是O(log(N)),并且其將允許對(duì)標(biāo)簽標(biāo)識(shí)的所有權(quán)和有限訪問權(quán)進(jìn) 行控制。我們已經(jīng)描述了具有為2的分支因子的方案,但是實(shí)際上我們 可以使用大得多的因子(例如10)。更大的分支因子將減小標(biāo)簽存儲(chǔ)和對(duì) 于標(biāo)簽的計(jì)算代價(jià)。
本發(fā)明描述了一種僅允許授權(quán)的讀取器在有限時(shí)段內(nèi)訪問與其相關(guān) 的信息的安全、有效的方法。這是通過不斷地改變標(biāo)簽標(biāo)識(shí)符、允許更
靈活地控制標(biāo)簽訪問權(quán)而實(shí)現(xiàn)的。
技術(shù)人員還將認(rèn)識(shí)到,可以有實(shí)現(xiàn)本發(fā)明的其他方式,所以本發(fā)明 既不限于在這里描述的具體實(shí)現(xiàn),也不限于在所描述的具體環(huán)境中的使 用。例如,上面描述的樹結(jié)構(gòu)的使用不限于二叉樹,還可以使用具有更 多分支的樹。
權(quán)利要求
1、一種射頻識(shí)別應(yīng)答器,該射頻識(shí)別應(yīng)答器被配置為在檢測(cè)到探詢嘗試時(shí)通過提供作為標(biāo)識(shí)符的輸出而進(jìn)行響應(yīng),所述標(biāo)識(shí)符是或者基于至少為二叉級(jí)的散列樹的葉子或節(jié)點(diǎn),其中所提供的所述標(biāo)識(shí)符對(duì)于每個(gè)檢測(cè)到的探詢嘗試是不同的。
2、 一種射頻識(shí)別應(yīng)答器,該射頻識(shí)別應(yīng)答器被配置為在檢測(cè)到探詢嘗試時(shí)通過提供作為標(biāo)識(shí)符的輸出而進(jìn)行響應(yīng),所述標(biāo)識(shí)符是或者基于 至少為二叉級(jí)的散列樹的葉子或節(jié)點(diǎn),其中所提供的所述標(biāo)識(shí)符對(duì)于每 個(gè)檢測(cè)到的探詢嘗試是不同的,并且所述射頻識(shí)別應(yīng)答器響應(yīng)于檢測(cè)到 的探詢嘗試的序列中的各探詢嘗試,提供預(yù)定的標(biāo)識(shí)符序列中的一個(gè)標(biāo) 識(shí)符,所述標(biāo)識(shí)符序列是或者基于所述散列樹的預(yù)定的葉子序列。
3、 如權(quán)利要求1或2所述的射頻識(shí)別應(yīng)答器,其中所述應(yīng)答器響應(yīng)于檢測(cè)到探詢嘗試而輸出的各標(biāo)識(shí)符是以下的組合(i)所述散列樹的葉子或基于所述散列樹的葉子;或者(ii)所述散列樹的節(jié)點(diǎn)或基于所述散 列樹的節(jié)點(diǎn);或者基于這種組合。
4、 如權(quán)利要求1或2所述的射頻識(shí)別應(yīng)答器,其中所述應(yīng)答器響應(yīng) 于檢測(cè)到探詢嘗試而輸出的各標(biāo)識(shí)符是以下中的任一個(gè)(i)所述散列樹 的葉子或基于所述散列樹的葉子;或者(ii)所述散列樹的節(jié)點(diǎn)或基于所 述散列樹的節(jié)點(diǎn)。
5、 如權(quán)利要求4所述的射頻識(shí)別應(yīng)答器,其中所述應(yīng)答器響應(yīng)于檢 測(cè)到探詢嘗試而輸出的各標(biāo)識(shí)符是所述散列樹的葉子或者基于所述散列 樹的葉子。
6、 如前述權(quán)利要求中任一項(xiàng)所述的射頻識(shí)別應(yīng)答器,其中所述散列 樹是單向二叉散列樹。
7、 一種用于向RFID應(yīng)答器的讀取器提供僅在預(yù)定的讀取嘗試次數(shù) 內(nèi)讀取特定應(yīng)答器的權(quán)限的系統(tǒng),該系統(tǒng)包括所述讀取器; 授權(quán)裝置;和 射頻識(shí)別應(yīng)答器,該射頻識(shí)別應(yīng)答器被配置為在檢測(cè)到探詢嘗試時(shí) 通過提供作為標(biāo)識(shí)符的輸出而進(jìn)行響應(yīng),所述標(biāo)識(shí)符是或者基于至少為 二叉級(jí)的散列樹的葉子或節(jié)點(diǎn),其中所提供的所述標(biāo)識(shí)符對(duì)于每個(gè)檢測(cè) 到的探詢嘗試是不同的;所述授權(quán)裝置和所述應(yīng)答器共享標(biāo)簽的所述散列樹的知識(shí),所述知 識(shí)不為所述讀取器所知,其中所述讀取器 (0被配置為向所述應(yīng)答器進(jìn)行探詢,以獲得所述應(yīng)答器所輸出的 標(biāo)識(shí)符;(ii)被安排與所述授權(quán)裝置進(jìn)行聯(lián)絡(luò)并揭示其自身的標(biāo)識(shí)以及所獲 得的標(biāo)識(shí)符;所述授權(quán)裝置被安排為檢査所述讀取器讀取所述應(yīng)答器的資格,并 且如果所述讀取器有資格讀取所述應(yīng)答器,則所述授權(quán)裝置向所述讀取 器提供關(guān)于所述散列樹的信息,以允許所述讀取器在預(yù)定的探詢嘗試次 數(shù)內(nèi)/超過預(yù)定的探詢嘗試次數(shù)地讀取所述應(yīng)答器。
8、 一種用于向射頻識(shí)別應(yīng)答器的讀取器提供僅在預(yù)定的讀取嘗試次 數(shù)內(nèi)讀取特定應(yīng)答器的權(quán)限的方法,所述應(yīng)答器被配置為在檢測(cè)到探詢 嘗試時(shí)通過提供作為標(biāo)識(shí)符的輸出而進(jìn)行響應(yīng),所述標(biāo)識(shí)符是或者基于 至少為二叉級(jí)的散列樹的葉子或節(jié)點(diǎn),其中所提供的所述標(biāo)識(shí)符對(duì)于每 個(gè)檢測(cè)到的探詢嘗試是不同的,所述方法包括以下步驟-(i) 用所述讀取器探詢所述應(yīng)答器以獲得由所述應(yīng)答器輸出的標(biāo)識(shí)符;(ii) 從所述讀取器向授權(quán)機(jī)構(gòu)提供所述讀取器的標(biāo)識(shí)以及所獲得的 應(yīng)答器標(biāo)識(shí)符;(iii) 所述授權(quán)機(jī)構(gòu)檢查所述讀取器讀取所述應(yīng)答器的資格,并且 如果所述讀取器有資格讀取所述應(yīng)答器,則所述授權(quán)機(jī)構(gòu)向所述讀取器 提供關(guān)于所述散列樹的信息,以允許所述讀取器在預(yù)定的探詢嘗試次數(shù) 內(nèi)/超過預(yù)定的探詢嘗試次數(shù)地讀取所述應(yīng)答器。
全文摘要
本發(fā)明涉及射頻識(shí)別應(yīng)答器的安全性。通過使用基于單向散列函數(shù)而生成的偽名可以實(shí)現(xiàn)基于RFID的系統(tǒng)中標(biāo)簽信息的安全性和私密性。基于二叉單向樹的系統(tǒng)允許對(duì)認(rèn)證密鑰進(jìn)行可量測(cè)地生成和解碼,以獲得對(duì)標(biāo)簽標(biāo)識(shí)的訪問權(quán)。所描述的裝置和方法還可適于為讀取器提供對(duì)標(biāo)簽信息的有限訪問權(quán)。
文檔編號(hào)G06K7/00GK101103366SQ200680002024
公開日2008年1月9日 申請(qǐng)日期2006年1月11日 優(yōu)先權(quán)日2005年1月12日
發(fā)明者安德列·亞索伯拉, 特雷弗·伯布里奇 申請(qǐng)人:英國電訊有限公司