• 沒有找到結果。

阻斷服務(Denial-of-Services):

第三章 改良式 AUTO-ID 系統

3.1 現有系統問題分析

3.1.6 阻斷服務(Denial-of-Services):

阻斷服務是最常見的攻擊手段之一。因為它會對遠端系統進行攻擊,藉此 達到使系統無法提供服務或是使系統降低服務品質。而這樣的問題,事實上存 在於所有的無線網路系統,在 Auto-ID 的系統中。由於大部份的資料都是由讀 碼器向著應答器。在碰到惡意的干擾使用時。就確實只能比雙方的敏感度與訊 號強度了。而阻斷服務的另一個目地是要消耗能源。這點對 Auto-ID class 0 的 應答器是不起作用的,因為它的能量來源是來自天線收到訊號時所產生的電 場,可說是半永久性的。

由以上的分析可得知,原始的 Auto-ID 在先天上對惡意使用者攻擊是很脆 弱的。但它的 Class 0 應答器因受成本的考量,不可能具有太多的計算能力與儲 存空間。也因此無法像其他的無線網路環境,像是 IEEE 802.11、GSM 等,可 以在傳輸的二端使用昂貴的運算晶片來完成加解密與金鑰的傳遞以提供傳輸上 的保障。

3.2 安全的 Auto-ID 傳輸環境。

為了解決 3.1Auto-ID 系統所面臨的安全議題,在本論文中將在第二章所提

出的 TEA 引入 Auto-ID 的傳輸過程中。本論文將以外加模組並與原來的運作模 式相同的前提下,達成在 Auto-ID 的環境中完成安全傳輸的目地。本論文提出 將原有的應答器架構上加入一加密電路,並定義一以原有的叫號 ID 基礎上的 加密內容。另外,在與原架構相容的前提下,修改了讀碼器的運作模式以期能 跟與修改過後的應答器相容。為此,提出一個適用於本架構的新操作協定也是 本論文為完成此系統所不可少的。這以上三者的配合,可使改良後的 Auto-ID 傳輸環境能免於安全上的顧慮,同時達到應答器低成本的要求。

3.2.1 安全傳輸的實現

由於本論文選擇了使用 TEA 作為本系統中的加/解密演算法,且設計目地 為可以附加在原有 Auto-ID Class0 的原有架構上。選用 TEA 演算法及稱為加密 電路而不稱為加密晶片的原因有二,首先為忠實呈現 TEA 演算法的特色—只使 用了加法與位移—這樣的特色使得整個 TEA 的電路可以直接使用數位電路的 邏輯閘設計例如全加器、暫存器、位移器來達成,而不需要使用較高階、具有 乘法與指數功能的運算晶片。在一般的情沿下,單一乘法器所需要的電晶體數 量就數倍於同位元數的全加器。而減少使用的羅輯閘數量是減少生產與設計成 本的保證。第二個原因是為了要達成 TEA 演算法的電路可以在很小的 DICE 上 設計完成,可以在不改變原有的應答器核心 IC 的 DICE 大小下將原本的核心 以指令集的方式將其與核心 IC 電路整合設計一起。以下將針對整個系統的各個 元件設計作詳細說明:

3.2.2 應答器的設計

由於在前文已提及應答器是由四個部份所組成的,以下就一一針對各部份 元件的設計提出修改,並將本論文所提出的加密模組晶片加入應答器的設計中。

3.2.2.1 核心晶片:

為了因應本改良系統的設計。本系統在核心 IC 中設置有一隨機存取記憶體 區塊,用以儲存 ID0—這是原始規格中定義為當接收器收到重設的訊號時,會 由亂數產生器產生的呼叫代號。另一個在 RAM 區儲存的資料則為本論文所提

出的加密後的資料碼 ID3。ID3 的資料格式將在下一節中仔細的介紹。RAM 區 尚有一個存放目前工作模式的 sta 暫存器。而在核心晶片中另有一亂數產生器 rnd。此外還有一個開關電路 sw,用以關啟或關閉外部的電力供應來源(P)。而 在 ROM 區有 ID1,ID2,以及本論文所特別提出的 Key--用於加密時所需的資料。

Key 值是出廠時,依據 ID1 與 key ring serial 所對應的金鑰值,換言之。具有同 樣 ID1 與同一個 Key ring serial 的應答器具有同樣的 key 值。圖 14 為應答器核 心晶片的示意圖。

core IC

ID0 ID3 ID2 ID1 RND

Key SW sta

power

圖 14 核心 IC 的設計圖

圖示說明:

¾ ID0: class 0 應答器所定義的一亂數,在每次呼叫後會重設

¾ ID1:一個以該應答器的 EPC 碼為基本所產生的固定值

¾ ID2:該應答器所含的 ECP 碼

¾ ID3: 本論文所提出的一個數值,為經加密後的數值,會在每次叫號完 成後變動。

¾ RND:亂數產生器

¾ Sw:外接電源控制開關

¾ Sta:工作模式暫存器

¾ Key: 加密用的金鑰值。

3.2.2.2RF 模組:

在應答器中原有之 RF 模組,增設有 RDY 腳位與核心 IC 相連接。在 RDY 設為低位元時會進行接收及傳送的動作。而 RDY 腳位設為高位元時,就會暫 時停止接收或是傳送(圖 12)。

3.2.2.3 底座:

在本論文中,IC 底座並不需要進行大量或是重大的重新設計,如在現實上 因為加入加密模組使得整個應答器的尺寸增加時才會變更底座的大小

3.2.2.4 連接匯流排:

匯流排連接了核心 IC、加密電路模組、以及 RF 模組,在圖 12 中展示了連 接匯流排與其他模組的連接方式。

3.2.2.5 加密電路模組:

此為本論文所提出的特別模組。此模組的目地在使用 TEA 演算法加密原有 之資料,產生一變動的加密後數值 ID3,在這個模組中,可選擇性備有一外接 電源供應線路以預防經由接收讀碼器所產生的電場不足以完成加密電路的運 算。此電路的開關 sw 由核心 IC 所控制。只在每次完成 ID3 的傳遞後,才會打 開並進行加密的運算。在此論文所提出的系統中,為了密碼強度的設計,TEA 演 算法將被會進行 32 次的攪拌並且只需要進行加密的方向。在圖 15 中,加密模 組是直接附著在核心晶片上。並直接將加密後的資料回傳核心 IC。

基 座 core IC

ID0 ID3 ID2 ID1 RND

Key SW sta

加 密 模 組

RF模 組 RDY

匯流排

power

圖 15 整個應答器的組成

3.2.3 讀碼器的設計

本論文所提出的系統中。讀碼器負責發送控制命令、依不同的工作模式依 ID 叫號。並接收應答器所回應的資料。與原有系統不同的是,本論文所提出的 讀碼器多了一個 Mode 3 的工作模式。在此模式中。讀碼器負責解密的工作。

解碼器依據 ID1 叫號與 ID3 所含的 Key ring serial,找出對應的金鑰並加以解 密。

3.2.4 資料結構

3.2.4.1 ID3

ID3 是本論文所提出的系統中獨有的資料。其資料格式如圖 16 所示 是一長度為 138 bits 的資料:

圖 16 ID3 資料格式

其中

¾ Krs 為 10 bit 的 key ring serial 。

¾ TEA( M(ID2, ID0) )為 ID2 與 ID0 的混合後經 TEA 演算法使用 Key 值作為金鑰加密 M(ID2,ID0)所產生的 128bit 數值。

¾ M(ID2, ID0) 為 ID0 與 ID1 的 128bit 的切割混合函數。

假設輸出值 M(ID2, ID0)=y 為 128bits,且將 y 分為 y[0]y[1]二個 64bits 的 值。ID2 的 96 bits 等分為 ID2[0] ID2[1]二個 48 bits 的值,以及 ID0 10 bit 等 分為 ID0[0]ID[1] 二個 5bit 的值 。則

Y[0]=ID2[0]||ID0[1]||ID0(0)||C0

Y[1]=C1[1]||ID0[0]||ID0[1]||ID2[1]

方程式 5 混合方程式 M

其中 C0 為一依據 ID2[0]與 ID0[0]所產生的 6 bit 的檢查碼。C1 為一依據 ID2[1]與 ID0[1]所產生的 6 bit 的檢查碼。將這子字串連接起來後,各自形成一 個 64 bit 的字串 Y[0]與 Y[1]。而將 Y[0]與 Y[1]連接起來後,就形成了 M(ID2, ID0)。圖 17 展示了混合函式 M(ID2,ID0)如何將 ID0 與 ID1 加以混合。

圖 17 M(ID2,ID0)

ID3 (138 bits) 比 ID2 (96 bits) 多了 42 bit . ID3 會成為 128 bit 的原因是因 為 TEA 裏每次都是以 64 個 bit 為一個區塊(block)作區塊加密。所以就將原來 的 96 個 bit 擴充為 128 個 bit。而混合函式 M 又適當的將亂數 ID0 混合於 ID2

這個固定值,使得 TEA ( M (ID2,ID0) ) 在每次 ID0 RESET 後都會重新產生。

讓每次的叫號後 ID3 值都會不同。

3.2.4.2 key

Key 值的資料格式如圖 18 所示為一 138 bit 的值。具有以下五個部份。分 別為 Key ring serial, k[0], k[1],k[2],k[3] 這 5 個元件。而 Key ring serial 則會依 出廠的 tag 批號或是日期的不同而不同。而 k[0][,k[1],k[2],k[3]這四個子金鑰 (subkey) 為加密使用的金鑰等四分切為各 32bit 的值,其目地在提供 TEA 演算 法時所需要的 4 個子金鑰值。key 值在每個應答器出廠時就已經燒錄在內,為 一固定值。

key ring serial K[0] K[1] K[2] K[3]

圖 18Key 值的格式設定

本論文所提出的系統,在金錀的傳遞上是使用金鑰環(Key ring) 的觀念。

每個 key ring 有一個 key ring serial,而每一 key ring 對映一 1024 欄的 table,

裏頭有對應於這 1024 個 ID1 值所使用的金鑰。這些 Key ring 是儲存於讀碼器 中。而 key ring 的生成與維護,是由生產此具有加密傳輸功能讀碼器與應答器 的製造商來維護。並確保經授權的讀碼器使用者可以經由安全的網路連線或是 其他安全的方式來取得這些 Key Ring。

當讀碼器完成某一 ID1 的叫號後,將所收集到所有 D3 值作解析。由於在 ID3 中以明文傳遞了 Key ring serial,讀碼器將比對現有的 Key ring serial。如果 目前在讀碼器中有相對應的 key ring serial,則根據叫號的 ID1 值找出相對應的 金鑰。

如果所收到的 ID3 值所含的 key ring serial 值,並不在讀碼器現存的 key ring serial 清單裏。由於 Auto-ID 的定義,不論是 Savant 或是讀碼器都必需連 接在 TCP/IP 網路上。如此可以讓讀碼器可以直接,或是經由 savant 經由網路 取得對應的 key ring。這樣的金鑰傳遞過程可以透過現有的多樣技術來達成安

全傳遞的目地,例如使用適當的認證程序以防止未經授權的讀碼機取得 key rings,或是防止以加密儲存在讀碼機中的 key ring 被解密還原。

3.2.5 安全資料傳輸的運作方式

3.2.5.1 mode 3 的運作流程。

假設一讀碼器與以 Mode 3 的方式收集應答器的資料,其傳遞過程如下

¾ Step1: 讀碼機廣播設定運作狀態為 Mode 3。在應答器收到此控制指 令後。將 IC 中的 sta 設定為 3 (sta=3);

¾ Step2: 而讀碼機在廣播工作模式封包後一段時間,就依據某種法 則,例如二元樹-開始叫號(ID1 tree traversal(n) ;

¾ Step3: 而應答器在接收到與其 ID1 同號的叫號封包後,延遲一亂數 時間後將 ID3 的資料送至讀碼機) (IF ID 1 tree traversal(ID1)= ID1, transmit ID3) ;

¾ Step 4: 讀碼機在收到 ID3 後,將其存入一 Buffer 以供後續的程式進 行解密;

¾ Step 5: 讀碼器完成存入後,對同一 ID1 的應答器發出 RESET 的控制 封包(RESET) ;

¾ Step 6: 應答器於收到此重設封包後,首先重設 ID0,接下來開啟 sw 以啟動外接電源(選用)來進行加密電路的演算。產生下一次呼叫的 D3 值。並將 ID0 與 ID3 存入 IC 的 RAM 區裏。完成以上動作後。關閉 sw , 並重設 RF 單元上的 RDY 腳位。(rdy=1, reset ID0 ,sw=1 ,generate D3 , save ID0 , ID3, then sw=0, rdy=0) ;

¾ Step7:準備接收下一次的呼叫。而讀碼器在送出 RESET 信號後。就重 覆進行下一個 ID1 值的叫號流程。直到所有 ID1 值都叫號完為止。

在圖 19 中詳細的將 Mode 3 的流程進行了描述:

READER Side

ID1 trave lsal

reset

所以本系統可以完全防止惡意使用者使用竊聽的手段得到金鑰。

第四章 安全性分析

4.1 與原有系統比較

茲將改良後架構與在 3.1 章中 Auto-ID 所提出的安全問題,作一比較分析。

4.1.1 竊聽(Eavesdropping):

竊聽可能是最簡單、也是最有效的攻擊方式,因為它不會留下任何線索。

Auto-ID 本身的特性為讀碼機會發出控制訊號 0。此為較長時間的傳輸。而在 應答器回應叫號的過程中,是以二個天線在很短的時間內發出資料。然後就保 持在聆聽的狀態。雖然這樣增加了使用者竊聽有價值資料(EPC) 的難度。但如 果竊聽設備非常靠近一個應答器,且有足夠的時間,竊聽的方式仍然可以很輕 易的取得 EPC 碼。而在改良後的架構中,對於竊聽雖仍無法防止,但是因為 EPC 碼已經被加密過了。所以就算惡意使用者取得了應答器所發出的資料,在 無法取得資料的混合與金鑰的情況下,也只是無意義的亂碼。而如果使用者想 要在無金鑰的環境下破解 TEA 演算法,是非常因難的。在 2.2.3 裏已經有討論 過 TEA 演算法的強度。

4.1.2 偽裝(Masquerade):

攻擊者會欺騙系統,非法取得資源。在原有 Auto-ID 中此為最嚴重的問題,

因為惡意使用只需持有一台讀碼機,或是相容的產品。就可以直接收集到所有 接收範圍內應答器的 EPC 碼。或是取得 EPC 碼後,複製一個具有同樣 ECP 碼

因為惡意使用只需持有一台讀碼機,或是相容的產品。就可以直接收集到所有 接收範圍內應答器的 EPC 碼。或是取得 EPC 碼後,複製一個具有同樣 ECP 碼

相關文件