解決方案
BBC Micro 的軟體公司面臨一波盜拷潮:Disc Duplicator 3 等通用複製程式讓大多數受保護的軟碟輕而易舉就能被克隆,因為奇特的保護方式通常只是指不尋常的磁區,而專用複製程式用標準控制器就能重現。George Keeling 在英格蘭西部創立的小公司 Western Security Ltd,想要一種一般家用電腦就能製作、但任何一般磁碟機都無法複製的保護。
他們的答案——公司稱之為指紋(fingerprinting),Keeling 歸功於 Bill Cawley——把磁碟的類比物理特性變成秘密。格式化會用填充位元組填滿每條磁軌,而能容納多少填充位元組取決於執行格式化的磁碟機的確切轉速,而這轉速因磁碟機而異。Western Security 會格式化每張磁碟,量測第 1–8 軌因而產生的長度,然後把該磁碟的預期長度表寫入第 9 軌上它自己的載入程式,埋在多層自我修改、混淆過的程式碼之下。
載入時,遊戲會讀取每一條完整磁軌,並要求 8 個量測長度中有 7 或 8 個落在儲存表的 ±1 位元組範圍內——這個容差讓正版磁碟在任何磁碟機上都能通過,同時拒絕任何在其他地方克隆的複製品。這套機制透過完全不同的程式碼路徑,在兩個 BBC Micro 控制器系列上運作,而那八條指紋磁軌看起來完全普通:磁區正確、沒有奇特的時序、沒有任何分析工具會標記的東西。
複製品會失敗,是因為磁軌長度不是資料:以自身轉速旋轉的複製磁碟機會寫出自己略有不同的長度,甚至當時的專用複製硬體也難以達到位元組完全吻合。同一款遊戲的兩份原版拷貝帶有不同的指紋,證實每張磁碟在母片製作時就被個別化。在 2020 年對幾乎每一張受防拷保護的 BBC Micro 磁碟所做的稽核中,安全研究員 Chris Evans 稱這是他所發現最強大的保護——這種保護讓「重製」而非「寫入」成為困難的步驟。
達成了什麼
讓每張磁碟的磁碟機轉速指紋成為它自己的金鑰
為何有效
製作成本幾乎為零:單純的格式化就會產生指紋,所以發行商不需要奇特的母片製作機器或特殊的寫入模式。
指紋在檢查時看不見:受保護的磁軌是普通磁區,所以分析工具和複製器看不到任何不尋常之處可供繞過。
它無法由不同的磁碟機重現:磁軌長度記錄了格式化磁碟機的主軸轉速,而克隆需要來自以相同轉速旋轉的磁碟機的位元組完全吻合長度。
容差讓正版磁碟持續運作:±1 位元組搭配 8 取 7 的通過率,可吸收跨磁碟機與控制器的逐次讀取類比雜訊。
每張磁碟都獨一無二:預期長度是在格式化後逐碟產生,所以不存在任何母表可供破解者一次取得。
可應用之處
當複製品成本低廉時,應以一種在製作時幾乎免費蓋印、卻幾乎不可能重現的類比特性來驗證:讓「重製」而非「寫入」成為困難的步驟。
後續
老闆 George Keeling 後來表示這套系統不夠可靠,Sherston 的程式設計師 Simon Hosler 回憶說,隨著磁碟機不斷演變,它變得令人頭痛;Phantom Combat 甚至隨附一張貼紙,警告僅支援 Acorn 磁碟 ROM。留存下來的磁碟可追溯至 1985–1986 年,這套機制也隨 BBC Micro 時代而消退。數十年後,研究員 Chris Evans 在稽核幾乎每一張受防拷保護的 BBC Micro 磁碟時,稱這是他所發現最強大的保護,也是他所見過最聰明的軟碟保護,而 Keeling 也在留言中證實了這套機制。
追溯依據
參考來源
- The cleverest floppy disc protection ever? Western Security Ltd. Scary Beast Security · scarybeastsecurity.blogspot.com ·
- The cleverest floppy disc protection ever? Western Security Ltd. (Hacker News discussion) Hacker News · news.ycombinator.com ·