我可以将数据加密为可以正常读取但无法复制或编辑的方式吗?

Jil*_*los 41 encryption read-only

我想与朋友共享我的 500 GB 硬盘,但我想以一种可以正常读取所有数据但不能以任何方式复制或编辑的方式对其进行加密。

那可能吗?

Sir*_*rex 202

如果你可以阅读它,你可以复制它。RIAA 或 MPAA 尚未掌握的概念。

注意:根据Stack Exchange 指南,这个答案不被认为是一个好的答案。但是,由于其在问题上下文中的受欢迎程度和有效性,因此保留了它。

  • 我认为**将这个答案稍微扩展一下会很好**。它有 136 个赞成票,本质上不长于一个句子,这不是一个真正“好”答案的例子——至少在 Stack Exchange 术语中是这样。 (15认同)
  • @Michael 这取决于您所说的“复制”是什么意思。你当然可以以正常方式从*`/dev/zero`复制(正常方式=`dd`、`cat`或任何你喜欢的东西)。你也可以从 `/dev/null` 复制,但它会复制零字节,因为它是空的:没有什么可以复制的。您可能正在尝试(但失败)将设备 * 作为文件 * 复制。那当然失败了,因为它*不是*一个文件。如果您尝试复制任何其他设备,将其视为文件,也会发生同样的情况。 (10认同)
  • 我曾考虑过这样做,但我真的想不出还有什么需要说的。在我看来,这是一个非常基本的问题,需要一个简洁的描述。 (9认同)
  • @slhck:这是对一个非常简单的问题的非常简单的回答: 问:“我可以加密(或以任何方式转换)一段数据使其无法被复制吗?” 答案:不会。如果你能读,那么你正在读的内容就可以写在其他地方。 (6认同)
  • @Michael 在这方面,特殊设备没有什么特别之处,同样适用。如果你可以阅读它,你可以复制它。 (5认同)
  • @Michael:您当然可以从 /dev/null 中“读取”尽可能多的数据并将其写入另一个位置。一旦您读取了数据,源就无法控制您对内存中的内容进行的操作。 (3认同)
  • @KeithS 正如您所看到的,这不仅仅是“不”。一个人可以给出一个简洁的描述(一个 TL; DR)并且仍然解释更多。其他答案显示了您可以总结的一些方面,也许。当然没有义务。 (3认同)
  • 阅读无非是复制到内存中,当在内存中时,它就会受到损害。 (2认同)

MSa*_*ers 76

“副本”被定义为读取数据,然后将相同的数据写入另一个位置。由于他已将您的数据读入他的计算机,因此数据将在他的控制之下。然后他就可以为所欲为。

几乎不可能的一件事是保护您的数据免受未经授权的修改。你需要一个 NTFS 或类似的文件系统。但即使在这种情况下,他也能够读取所有数据、格式化您的磁盘、清除任何权限并将所有文件写回 - 可能已修改。

[编辑] 500 GB 只是数十亿个数字。让我把它归结为一个简单的例子:5. 那是一个数字。你可以阅读它,我能做的任何事都不会阻止你写下那个数字。我也不能阻止你写号码6

  • +1 用于解释复制。此外,您的第二点说明了计算机安全中的另一个众所周知的原则:物理访问意味着“游戏结束”。如果有人对您的驱动器进行了物理控制,他们就可以对它做任何想做的事情。您唯一能做的就是通过使用强加密来阻止他们阅读其内容。 (18认同)
  • 您*可以*做的是对原始数据进行加密签名,然后检查数据是否仍然与该签名匹配。如果是这样,您就知道它没有被修改。这在数学上是合理的保护。但是数学无法阻止基于原始数据(以及可选地,经过巧妙更改)的另一组数据首先被创建。 (17认同)
  • 500 GB 也是一个非常非常大的数字 (2认同)

bba*_*a42 11

不,这绝对是不可能的。

  • 好吧,你可以拿着枪站在朋友身后告诉他不要复制信息。不实用但绝对可行。 (23认同)
  • @Barfieldmv:http://xkcd.com/538/ (9认同)
  • @SkipHead 当您不在时,他甚至可能已经复制了数据。你应该向他开枪并完成它:D (4认同)
  • Barfieldmv:您的朋友可以预先设置计算机,以便在阅读时自动复制所有信息。 (3认同)

小智 11

我们试着问一下,你想让他在你不通知的情况下修改文件吗?如果是这样,您可以校验所有文件并重新验证。

另一种方法是硬件写入阻止程序,您可以在这里查看:http : //www.forensicswiki.org/wiki/Write_Blockers

  • 我一直想知道在 PATA 电缆上切割 n°23 针是否可以解决问题,如果是这样,你就得到了一个 800 美元的 boxcutter ^^ (3认同)

小智 7

加密只是数学。稍微思考一下,您将更好地了解它的功能和局限性:

  • 您可以使用数学来验证消息是正确的消息,并且被正确复制,而无需将整个消息复制两次(简单的校验和,您有时会在下载软件时遇到它们)。
  • 您可以使用数学来验证知道幻数的人是否批准了该消息。(加密签名)。
  • 您可以使用数学来加扰消息,直到有正确数字的人出现来解扰消息(加密)。

但是您不能使用数学来阻止人们复制消息。这不是数学能做到的。(复制数据不是“数学”而是“物理”。:)

你能得到的最接近的是用数学来加密一些数据,用数学来验证计算机只运行你想让它运行的软件,然后才给计算机一个幻数来解密数据,同时额外确保软件最终不会泄露幻数或让任何人复制数据。这是可信计算,或多或少是像 DVD 播放器和视频游戏机这样的尝试。对于大多数设置来说,它不太实用,并且往往最终会以一种或另一种方式被破坏(例如09 f9)。


m-s*_*ith 6

据我所知,有一些方法可以通过软件和硬件来降低硬盘上数据被更改的风险。但是,一旦您的朋友拥有您的硬盘,如果他们付出足够的努力,他们可能会绕过或覆盖任何写保护方法。例如:

  • 通过硬盘上的跳线进行写保护;可以移除或更改跳线(即使您焊接了跳线,也可以移除焊料)
  • 通过剪辑或更改硬盘驱动器内部进行写保护;内部可以修复,或者磁盘本身可以移动到干净的硬盘驱动器中(可能需要付出很多努力......)
  • 通过软件写保护;驱动器上的数据在一天结束时只有 1 和 0 - 任何块都可以更改。如果您的朋友不担心保存数据,他可以将驱动器熔化在熔炉中。那肯定会改变数据......

正如其他人所说,防止复制是不可能的,因为如果它可以被读取,它就可以被复制。

您可以尝试要求您的朋友不要复制或更改任何内容。据推测,如果他们是你的朋友,他们会很乐意遵守......


Nat*_*ong 5

通过复制防止编辑

虽然您不能让某人读取您的数据并同时防止复制,但有一种非常简单的方法 可以轻松防止他们编辑它:不要将原始.

如果您将数据复制到单独的硬盘驱动器并保留原件,显然副本的收件人无法修改您的原件。

这立即使您的“无法复制”请求失败,但这无论如何都无法满足。


Jan*_*sen 5

不可克隆原理可以帮助你,如果你有一台量子计算机。然而,不完美的克隆仍然是可能的:

不可克隆定理是量子力学的结果,该定理禁止创建任意未知量子态的相同副本。[...] 克隆是一个过程,其最终结果是具有相同因素的可分离状态。

  • 但是,这是您也无法_读取_的数据。您只能_破坏性地使用_此类数据。问题假定数据是可读的。 (3认同)