第五章 分析與比較
5.1 安全性分析與比較
5.1.1 安全性分析
根據 2.3.2 RFID 攻擊種類,提到了 9 種常見的 RFID 攻擊,並且依據攻擊者 是否需要取得標籤實體才能展開攻擊,區分成兩種類型,分別是 Non-physical attack 和 Physical attack,其中 Non-physical attack 代表的是攻擊者不需要取得標 籤實體即可展開攻擊的攻擊類型,包含了六種 RFID 攻擊: Eavesdropping、Tag cloning、Tag tracing、Impersonation、Replay attack 和 Desynchronization attack;
而 Physical attack 代表的是攻擊者需要取得標籤實體後,才能展開攻擊的攻擊類 型,包含了三種 RFID 攻擊: Compromising attack、Forward security 和 Backward security。接下來,將依序分析 SEMAPv1 和 SEMAPv2 是否能夠抵抗此 9 種 RFID 攻擊:
Eavesdropping
因為讀取器與標籤之間的通訊是藉由無線電波的方式進行,故任何人都可以 藉由硬體設備來竊聽讀取器與標籤之間的通訊過程,從中擷取資料,因此,RFID 認證協定有沒有能力抵抗這項攻擊的重點在於,即使攻擊者擷取到讀取器與標籤 之間的通訊訊息,攻擊者也因為無法理解其中的內容,而無法取得重要的資料。
根據圖 24: SEMAPv1 認證流程,SEMAPv1 的讀取器與標籤之間的通訊訊 題,故 SEMAPv1 的確是具有抵抗 Eavesdropping 攻擊的能力。
根據圖 26: SEMAPv2 認證流程,SEMAPv2 的讀取器與標籤之間的通訊訊 題,故 SEMAPv2 的確是具有抵抗 Eavesdropping 攻擊的能力。
Tag cloning 後,才能偽造該標籤,但是 SEMAPv2 具有抵抗 Eavesdropping 攻擊的能力,即 攻擊者無法藉由竊聽讀取器與標籤的通訊過程得知此 key K,故攻擊者無法偽造
而 r2是標籤在每一回合認證時,所產生的隨機亂數,每一回合皆不相同,這 SEMAPv1 具有抵抗 Eavesdropping 攻擊的能力,即攻擊者無法藉由竊聽讀取器與 標籤的通訊過程得知此 key K,故攻擊者無法使用非法讀取器存取標籤資料,這 也說明了 SEMAPv1 的確是具有抵抗 Impersonation 攻擊的能力。
在 SEMAPv2 中,情況與 SEMAPv1 相同,標籤在 Step 5 檢查讀取器所送來 的認證資料,標籤的 key K 下半部 K2,是否正確,因為只有合法的讀取器才能 從標籤資料庫中取得該標籤的 key K 下半部 K2。因此,攻擊者必頇取得 RFID 系 統中某一個合法標籤的 key K 後,才能欺騙該標籤,讓他相信此一非法的讀取器 為合法讀取器,但是 SEMAPv2 具有抵抗 Eavesdropping 攻擊的能力,即攻擊者 無法藉由竊聽讀取器與標籤的通訊過程得知此 key K,故攻擊者無法使用非法讀 取器存取標籤資料,這也說明了 SEMAPv2 的確是具有抵抗 Impersonation 攻擊 的能力。
Replay attack
在 SEMAPv1 中,有兩種遭受 Replay attack 的情況,第一種是攻擊者竊取上 一回合中 Step 2 所傳送的訊息,並於這一回合中再次傳送給讀取器,企圖仿冒標
經過以上的分析,可以看出 SEMAPv1 有做到 Challenge-response 認證,上一回 合的認證訊息,下一回合無法繼續使用,故 SEMAPv1 的確是具有抵抗 Replay attack 攻擊的能力。
在 SEMAPv2 中,與 SEMAPv1 類似,有兩種遭受 Replay attack 的情況,第 一種是攻擊者竊取上一回合中 Step 2 所傳送的訊息,並於這一回合中再次傳送給
經過以上的分析,可以看出 SEMAPv2 有做到 Challenge-response 認證,上一回 Desynchronization attack,即 SEMAPv1 具有抵抗 Desynchronization attack 攻擊的 能力。
對於 SEMAPv2 而言,因為 SEMAPv2 在每一回合認證結束時,後端伺服器 與標籤都需要做資料更新的動作,因此,SEMAPv2 必頇顧慮 Desynchronization attack,當後端伺服器與標籤之間發生資料不一致的情況時,提供相關的補救措 使用舊的 key 進行認證,若是,則代表遭受 Desynchronizatin attack,使得後端伺 服器與標籤之間資料不一致,此時,該回合後端伺服器不能夠做更新 key 的動 作,而標籤必頇做更新 key 的動作,藉此方法讓後端伺服器與標籤所存放的 key 為同一把,即讓後端伺服器與標籤之間不一致的資料一致。由此看來,雖然 SEMAPv2 必頇顧慮 Desynchronizatin attack,但是 SEMAPv2 有提供完整的補救 措施,即使後端伺服器與標籤之間發生資料不一致,但 RFID 系統仍然能夠正常 運作,且不一致的資料在下一回合認證中會修正為一致,故 SEMAPv2 的確是具 有抵抗 Desynchronizatin attack 攻擊的能力。
Compromising attack 危害。故 SEMAPv1 的確是具有抵抗 Compromising attack 攻擊的能力。
在 SEMAPv2 中,由圖 25: SEMAPv2 初始化設定內容中可以看到標籤所存 放的資料為 IDX 和 K,與 SEMAPv1 相同,此兩筆資料為標籤自己私有的資料,
不會與其他標籤共享,也不會與其他標籤相同,因此,即使攻擊者取得某一個標 籤的實體,攻擊者無法從該標籤的記憶體中取得其他標籤認證所需的資料,即不 會對其他標籤造成危害。故 SEMAPv2 的確是具有抵抗 Compromising attack 攻擊 的能力。
出相對應的 r1⊕r2⊕K1,也無法藉由 r1⊕r2⊕K1找出相對應的 K。
從以上的分析中可以看出攻擊者即使取得標籤實體,得知標籤資料後,也無法利 用這些資料與通訊訊息紀錄做比對,分析出該標籤過去的交易行為,故 SEMAPv1 的確是具有抵抗 Forward security 攻擊的能力。
在 SEMAPv2 中,由圖 25: SEMAPv2 初始化設定內容中可以看到標籤所存 SEMAPv2 的確是具有抵抗 Forward security 攻擊的能力。
Backward security
此攻擊與 Forward security 原理類似,差別在於,當攻擊者手邊取得標籤實 體,並且從該標籤的記憶體中取出標籤所有的資料後,將來攻擊者可以利用已取 的確是具有抵抗 Backward security 攻擊的能力。
在 SEMAPv2 中,由圖 25: SEMAPv2 初始化設定內容中可以看到標籤所存
放的資料為 IDX 和 K,由圖 26: SEMAPv2 認證流程中可以看到標籤傳送給讀 SEMAPv2 的確是具有抵抗 Backard security 攻擊的能力。