古特曼算法

古特曼算法英语:Gutmann method)是一种将电脑硬盘中的内容,如档案,进行安全抹除的算法。该算法由彼得·古特曼科林·普拉姆设计,最早出现于1996年6月的期刊文章《Secure Deletion of Data from Magnetic and Solid-State Memory》。主要特色是在要被抹除的区段中重复写入35个片段。

而片段的选择,是在假定使用者不知道使用在硬盘的编码机制为何,因此该算法特别为3种不同型别的硬盘,设计不同的片段。如果使用者知道硬盘所使用的编码模式,就可以为这个硬盘选用专属的片段模式。一个硬盘当中不同的编码机制,会需要不同的片段模式。

在古特曼算法当中,大多数的片段模式多是设计给较老旧的MFM/RLL编码硬盘。较为近代的硬盘类型技术上都不是使用这种较老旧的编码模式,造成这些由古特曼设计的片段模式成为累赘[1]。因此,从约2001年开始,ATA IDE与SATA硬盘制造商,针对“安全抹除”标准进行支援设计,避免了使用古特曼算法抹除整个硬盘的需求[2]

自2001年起,一些高技术配置SATA硬盘制造商的设计已支援ATA Secure Erase标准,使得在清除整个硬盘时,不再需要使用古特曼算法。[3]此外,古特曼算法不适用于随身碟:一项2011年的研究显示,有 71.7% 的资料仍可被恢复。而在固态硬盘上,使用该方法后的资料恢复率约为 0.8% 至 4.3%。[4]

背景

在大多数操作系统中,删除功能仅会将档案所占用的空间标记为可重复使用(即移除档案的指标),但不会立即移除其内容。因此,在此阶段,透过许多资料恢复软件仍能相对轻松地还原档案。然而,一旦该空间被其他资料覆写后,已无法透过纯软件方式来恢复被覆写的资料,因为储存装置的界面仅能回传当前的内容。

彼得·古特曼主张,情报机构可能具备高阶工具(例如磁力显微镜搭配图像分析),可以侦测磁盘上先前的资料位元。然而,根据《使用磁力显微镜从硬盘重建资料》的研究,这项主张被认为站不住脚。[5]

方法

一次完整的覆写程序由四组随机写入模式作为开头,接着随机执行第 5 至 31 次的特定写入模式(详见下表),最后再以四组随机模式作为结束。

每个第 5 至 31 次的模式皆针对某一种磁储存代码方式设计,以隐藏磁盘上的资料,达到无法轻易恢复的效果。尽管下表中的位元模式专门针对特定编码方式,但覆写时仍会对整个磁盘进行多次写入,确保资料被彻底覆盖。使用该方法的最终目标是,即使是高阶的物理扫描技术(如磁力显微镜),也无法恢复任何资料。

次数 写入资料 (表示法) 针对的编码方式之磁盘写入模式
二进制 十六进制 (1,7)长度限制编码 (2,7)长度限制编码 改良频率调变
1~4 (随机) (随机)
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
32~35 (随机) (随机)

表中的模式透过不同编码方式展示了磁盘上的位元如何排列。这些模式旨在隐藏原始资料,使即便有进阶的工具也难以找回。

批评

美国全国经济研究所这间私人非营利研究机构的丹尼尔·费恩柏格(Daniel Feenberg)对葛特曼的主张提出了批评。他质疑葛特曼所宣称的“情报机构有能力读取被覆写的资料”的说法,指出此类主张缺乏证据支持。费恩柏格发现,葛特曼引用了一个不存在的资料来源,且其他来源也无法实际证明成功恢复资料,只能进行部分成功的观察。此外,葛特曼对“随机”的定义与常见的理解也有所不同。他认为,随机资料应该是伪随机数据,且序列的生成规律需为资料恢复方所知。然而,这与一般的“不可预测”随机数不同,例如由密码学安全伪随机数生成器所生成的序列。[6]

尽管如此,一些政府的资讯安全程序仍认为,磁盘即使已被覆写一次,仍属于敏感资料。[7]

葛特曼本人对部分批评进行了回应,并在其原始论文的后记中批评了人们对其算法的滥用。他指出[8][9]

“自从这篇论文发表以来,有些人将我所描述的35 次覆写技术,视为一种驱邪仪式来驱逐邪灵,而非基于磁盘编码技术的技术性分析。因此,他们主张即使在PRML和EPRML磁盘上也应进行完整的 35 次覆写,尽管这样做的效果不会比单纯以随机资料覆盖更有效。”

“实际上,对任何磁盘进行完整的 35 次覆写都是毫无意义的,因为此技术的设计涵盖了所有常用编码技术的组合,包括超过 30 年历史的 MFM 方法(如果你不了解这段话的意思,请重读论文)。如果你使用的磁盘采用某一种特定的编码技术X,只需要进行针对 X 的覆写,而不需要进行全部 35 次的覆写。”

“对于现代的 PRML 和 EPRML 磁盘而言,进行几次随机资料的擦除已是最佳方法。正如论文所说,‘用随机资料进行彻底擦除,已经是所能达到的最佳效果’。这在1996 年如此,现在依然如此。”
— 彼得·古特曼, 〈从磁性与固态记忆体中安全删除资料〉, 奥克兰大学计算机科学系

参考文献

  1. ^ Gutmann, Peter. (July 22–25, 1996)Secure Deletion of Data from Magnetic and Solid-State Memory.页面存档备份,存于互联网档案馆 University of Auckland Department of Computer Science. Epilogue section. (writing, "In fact performing the full 35-pass overwrite is pointless for any drive since it targets a blend of scenarios involving all types of (normally-used) encoding technology, which covers everything back to 30+-year-old MFM methods (if you don't understand that statement, re-read the paper). If you're 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 PRML/EPRML drive, a few passes of random scrubbing is the best you can do. As the paper says, "A good scrubbing with random data will do about as well as can be expected". This was true in 1996, and is still true now.").
  2. ^ Communications Security Establishment. July 2006. Clearing and Declassifying Electronic Data Storage Devices页面存档备份,存于互联网档案馆), page 7.
  3. ^ Clearing and Declassifying Electronic Data Storage Devices (PDF) (PDF). Communications Security Establishment: 7. July 2006. (原始内容 (PDF)存档于2014-03-03). 
  4. ^ Michael Wei; Laura M. Grupp; Frederick E. Spada; Steven Swanson. Reliably Erasing Data From Flash-Based Solid State Drives (PDF). USENIX Conference on File and Storage Technologies. 2011 [2018-01-08]. Wikidata Q115346857 (英语). 
  5. ^ Data Reconstruction from a Hard Disk Drive using Magnetic Force Microscopy (PDF). UNIVERSITY OF CALIFORNIA, SAN DIEGO. 2013. (原始内容存档于2015-10-27). 
  6. ^ Daniel Feenberg. Can Intelligence Agencies Read Overwritten Data? A response to Gutmann. National Bureau of Economic Research. 2013 [2003]. 
  7. ^ Clearing and Declassifying Electronic Data Storage Devices (PDF) (PDF). Communications Security Establishment. July 2006. (原始内容 (PDF)存档于2014-03-03). 
  8. ^ Gutmann, Peter. (July 22–25, 1996) Secure Deletion of Data from Magnetic and Solid-State Memory. University of Auckland Department of Computer Science. Epilogue section.
  9. ^ Cranor, Lorrie Faith; Garfinkel, Simson. Security and Usability: Designing Secure Systems that People Can Use. 25 August 2005: 307. ISBN 9780596553852.