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 也在留言中證實了這套機制。

追溯依據

參考來源

  1. The cleverest floppy disc protection ever? Western Security Ltd. Scary Beast Security · scarybeastsecurity.blogspot.com ·
  2. The cleverest floppy disc protection ever? Western Security Ltd. (Hacker News discussion) Hacker News · news.ycombinator.com ·