古特曼演演算法是一種將電腦硬碟中的內容，如檔案，進行安全抹除的演演算法。該演演算法由彼得古特曼與科林普拉姆設計，最早出現於 1996 年 6 月的期刊文章《Secure Deletion of Data from Magnetic and SolidState Memory》。主要特色是在要被抹除的區段中重複寫入 35 個片段。 而片段的選擇，是在假定使用者不知道使用在硬碟的編碼機制為何，因此該演演算法特別為 3 種不同型別的硬碟，設計不同的片段。如果使用者知道硬碟所使用的編碼模式，就可以為這個硬碟選用專屬的片段模式。一個硬碟當中不同的編碼機制，會需要不同的片段模式。 在古特曼演演算法當中，大多數的片段模式多是設計給較老舊的 MFMRLL 編碼硬碟。較為近代的硬碟型別技術上都不是使用這種較老舊的編碼模式，造成這些由古特曼設計的片段模式成為累贅 Gutmann Peter July 2225 1996 Secure Deletion of Data from Magnetic and SolidState Memory University of Auckland Department of Computer Science Epilogue section writing In fact performing the full 35pass overwrite is pointless for any drive since it targets a blend of scenarios involving all types of normallyused encoding technology which covers everything back to 30yearold MFM methods if you dont understand that statement reread the paper If youre using a drive which uses encoding technology X you only need to perform the passes specific to X and you never need to perform all 35 passes For any modern PRMLEPRML drive a few passes of random scrubbing is the best you can do As the paper saysA good scrubbing with random data will do about as well as can be expected This was true in 1996 and is still true now。因此，從約 2001 年開始，ATA IDE 與 SATA 硬碟製造商，針對「安全抹除」標準進行支援設計，避免了使用古特曼演演算法抹除整個硬碟的需求 Communications Security Establishment July 2006 Clearing and Declassifying Electronic Data Storage Devices page 7。 自 2001 年起，一些高技術配置及 SATA 硬碟製造商的設計已支援 ATA Secure Erase 標準，使得在清除整個硬碟時，不再需要使用古特曼演演算法。此外，古特曼演演算法不適用於隨身碟：一項 2011 年的研究顯示，有 717 的資料仍可被恢復。而在固態硬碟上，使用該方法後的資料恢復率約為 08 至 43。 背景 在大多數作業系統中，刪除功能僅會將檔案所佔用的空間標記為可重複使用（即移除檔案的指標），但不會立即移除其內容。因此，在此階段，透過許多資料恢復軟體仍能相對輕鬆地還原檔案。然而，一旦該空間被其他資料覆寫後，已無法透過純軟體方式來恢復被覆寫的資料，因為儲存裝置的介面僅能回傳當前的內容。 彼得古特曼主張，情報機構可能具備高階工具（例如磁力顯微鏡搭配影像分析），可以偵測磁碟上先前的資料位元。然而，根據《使用磁力顯微鏡從硬碟重建資料》的研究，這項主張被認為站不住腳。 方法 一次完整的覆寫程式由四組隨機寫入模式作為開頭，接著隨機執行第 5 至 31 次的特定寫入模式（詳見下表），最後再以四組隨機模式作為結束。 每個第 5 至 31 次的模式皆針對某一種磁儲存的程式碼方式設計，以隱藏磁碟上的資料，達到無法輕易恢復的效果。儘管下表中的位元模式專門針對特定編碼方式，但覆寫時仍會對整個磁碟進行多次寫入，確保資料被徹底覆蓋。使用該方法的最終目標是，即使是高階的物理掃描技術（如磁力顯微鏡），也無法恢復任何資料。 次數 寫入資料 表示法 寫入資料 表示法 針對的編碼方式之磁碟寫入模式 針對的編碼方式之磁碟寫入模式 針對的編碼方式之磁碟寫入模式 次數 二進位制 十六進位制 17 長度限制編碼 27 長度限制編碼 改良頻率調變 14 隨機 隨機 5 01010101 01010101 01010101 55 55 55 100 000 1000 6 10101010 10101010 10101010 AA AA AA 00 100 0 1000 7 10010010 01001001 00100100 92 49 24 00 100000 0 100 8 01001001 00100100 10010010 49 24 92 0000 100000 100 100 9 00100100 10010010 01001001 24 92 49 100000 00 100 10 00000000 00000000 00000000 00 00 00 101000 1000 11 00010001 00010001 00010001 11 11 11 0 100000 12 00100010 00100010 00100010 22 22 22 00000 100000 13 00110011 00110011 00110011 33 33 33 10 1000000 14 01000100 01000100 01000100 44 44 44 000 100000 15 01010101 01010101 01010101 55 55 55 100 000 1000 16 01100110 01100110 01100110 66 66 66 0000 100000 000000 10000000 17 01110111 01110111 01110111 77 77 77 100010 18 10001000 10001000 10001000 88 88 88 00 100000 19 10011001 10011001 10011001 99 99 99 0 100000 00 10000000 20 10101010 10101010 10101010 AA AA AA 00 100 0 1000 21 10111011 10111011 10111011 BB BB BB 00 101000 22 11001100 11001100 11001100 CC CC CC 0 10 0000 10000000 23 11011101 11011101 11011101 DD DD DD 0 101000 24 11101110 11101110 11101110 EE EE EE 0 100010 25 11111111 11111111 11111111 FF FF FF 0 100 000 100000 26 10010010 01001001 00100100 92 49 24 00 100000 0 100 27 01001001 00100100 10010010 49 24 92 0000 100000 100 100 28 00100100 10010010 01001001 24 92 49 100000 00 100 29 01101101 10110110 11011011 6D B6 DB 0 100 30 10110110 11011011 01101101 B6 DB 6D 100 31 11011011 01101101 10110110 DB 6D B6 00 100 3235 隨機 隨機 表中的模式透過不同編碼方式展示了磁碟上的位元如何排列。這些模式旨在隱藏原始資料，使即便有進階的工具也難以找回。 批評 美國全國經濟研究所這間私人非營利研究機構的丹尼爾費恩柏格（Daniel Feenberg）對葛特曼的主張提出了批評。他質疑葛特曼所宣稱的「情報機構有能力讀取被覆寫的資料」的說法，指出此類主張缺乏證據支援。費恩柏格發現，葛特曼引用了一個不存在的資料來源，且其他來源也無法實際證明成功恢復資料，只能進行部分成功的觀察。此外，葛特曼對「隨機」的定義與常見的理解也有所不同。他認為，隨機資料應該是偽隨機資料，且序列的生成規律需為資料恢復方所知。然而，這與一般的「不可預測」隨機數不同，例如由密碼學安全偽隨機數生成器所生成的序列。 儘管如此，一些政府的資訊安全程式仍認為，磁碟即使已被覆寫一次，仍屬於敏感資料。 葛特曼本人對部分批評進行了回應，並在其原始論文的後記中批評了人們對其演演算法的濫用。他指出 Gutmann Peter July 2225 1996 Secure Deletion of Data from Magnetic and SolidState Memory University of Auckland Department of Computer Science Epilogue section： 參考文獻 Category 資訊安全 Category 理論計算機科學 Category 網路演算法