本文章的內容僅限學術及研究用途,請勿進行任何違法行為,否則後果自負。
想辦法拿到一個已知的金鑰後,就可以進一步使用 Nested 系列的攻擊手法,嘗試破解卡片的其他金鑰。
這個攻擊手法是利用了兩個漏洞:卡片挑戰的隨機數隨機性不足的漏洞、以及在傳輸加密數據的校驗位元 (parity bits) 時重複使用部分 keystream 的漏洞。在成功驗證一個已知的金鑰之後,隨即進行另一個區段的驗證,累積兩三次的資料後,就透過校驗位元嘗試還原加密過的卡片挑戰。當卡片挑戰還原後,就可以計算 keystream 並還原金鑰。
這個攻擊手法只利用了在傳輸加密數據的校驗位元時重複使用部分 keystream 的漏洞。除了需要一個已知的金鑰之外,由於卡片挑戰的隨機數不容易發生重複,所以大約需要累計 1600~2200 次的資料,才能夠還原加密過的卡片挑戰,非常耗時。其餘部分就跟 Nested 雷同。
這種攻擊手法是針對部分卡片在驗證的過程中,直接使用一組特定的值來當作卡片挑戰。除了需要一個已知的金鑰之外,通常還會需要先蒐集卡片所使用的卡片挑戰,再使用跟 Nested 類似的手法來還原加密過的卡片挑戰。最近被發現如果先驗證兩次已知的金鑰之後,隨即進行另一個區段的驗證,會更容易還原加密過的卡片挑戰。
這是 2024 年才被發現的攻擊手法,專門針對 Fudan 廠商所出產的卡片。這種卡片在 Nested 攻擊過程中,會使用一個特定的公式產生卡片挑戰,所以除了 Hardnested 手法之外,其他的 Nested 攻擊手法都會因為未知的卡片挑戰而無法使用。但這種卡有許多後門,其中有一個甚至存在幾十年以上,所以可以利用這些後門來加速卡片的破解。