我可以以一种可以正常读取但不能复制或编辑的方式加密数据吗?[关闭]


41

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

那可能吗?


112
好莱坞会杀了这种功能-尽管有数百万投资,但他们也没有找到解决方案。
MSalters

10
这里有很多(如果不是大多数的话)答案会问一个隐式甚至显式的问题“您真正的意思是什么?”。您可能需要澄清您的问题,尤其是“可以正常读取”和“无法复制”的含义。
Zano 2012年

111
很好,RIAA / MPAA!
Narayan

7
我们经常在Security Stack Exchange上就此进行对话。阅读以下问题和解答:是否有DRM技术可有效防止盗版?有关一些有用的信息。得分最高的答案是通过Crypto Stack Exchange上的Mod之一获得的-但是我们有从加密到纯粹实用的观点。
罗里·索洛普2012年

7
@JarrodRoberson:我希望你不是认真的。对OP:您不能只监督他/她吗?为什么他们应该能够读取这么多数据而不是复制数据如此重要?他们将如何处理原始数据所无法提供的数据副本?
詹姆斯

Answers:


201

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

注意:根据Stack Exchange准则,此答案不是一个好的答案。但是,由于其在该问题中的受欢迎程度和有效性而被保留。


5
@Michael在这方面,特殊设备没有什么特别的,同样适用。如果您可以阅读,则可以复制它。
Konrad Rudolph

10
@Michael这取决于您所说的“复制”。你当然可以复制 /dev/zero以正常方式(正常方式= ddcat或任何发痒你的想象)。您也可以从复制/dev/null,但是它会复制零个字节,只是因为它是空的:没有要复制的内容。您可能正在尝试(但失败)将设备复制为文件。那当然会失败,因为它不是文件。如果您尝试复制任何其他设备并将其视为文件,则会发生相同的情况。
康拉德·鲁道夫

15
我认为最好将此答案扩大一点。它支持136次投票,本质上不超过一句话,这实际上并不是“好”答案的一个例子-至少在Stack Exchange方面。
slhck

9
我曾考虑过这样做,但实际上我想不出还有什么需要说的。无论如何,这是一个非常根本的问题,需要简洁的描述。
Sirex

6
@slhck:这是一个非常简单的问题的非常简单的答案:问:“我可以加密(或以任何方式转换)一段数据,使其无法复制吗?” 答案:否。如果您能够阅读,则可以将阅读的内容写在其他地方。
KeithS 2012年

76

“副本”定义为读取数据,然后将相同的数据写入另一个位置。由于他已将您的数据读入计算机,因此该数据将在当时由他控制。然后,他可以随心所欲地做任何事情。

几乎不可能做到的一件事是保护您的数据免遭未经授权的修改。您需要一个NTFS或类似的文件系统。但是即使在那种情况下,他也能够读取所有数据,格式化磁盘,清除所有权限以及将所有文件写回(可能已修改)。

[编辑] 500 GB只是数十亿个数字。让我将其简化为一个简单的示例:5。那是一个数字。您可以阅读它,而我无法做的任何事情都不会阻止您写下该号码。我也不能阻止你写这个号码6


18
+1用于说明复制。另外,第二点说明了计算机安全性中的另一个众所周知的原理:物理访问意味着“游戏结束”。如果某人对您的驱动器有物理控制权,那么他们可以随心所欲地对其进行操作。您可能唯一能做的就是通过使用强加密来阻止他们读取其内容。
内森·朗

17
可以做的是对原始数据进行加密签名,然后再检查数据是否仍与该签名匹配。如果是这样,您知道它没有被修改。从数学上讲,这是合理的保护措施。但是数学无法阻止首先创建基于原始数据(以及可选的,微妙更改)的另一组数据。

2
500 GB也是一个非常非常大的数字
Anne Nonimus 2012年

11

不,这绝对不可能。


23
好吧,您可以拿着枪告诉朋友不要复制信息,站在朋友后面。不切实际,但绝对可行。
Barfieldmv 2012年

3
Barfieldmv:您的朋友可以预先设置计算机,以便在阅读时自动复制所有信息。
跳过头像

9
@Barfieldmv:xkcd.com/538
orlp

4
@SkipHead当您不在时,他甚至可能已经复制了数据。您应该只射击他并完成它:D
Barfieldmv 2012年

11

让我们试着问一下,您是否希望他不要在没有通知的情况下修改文件?如果是这样,您可以对所有文件进行校验和并重新验证。

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


3
我总是想,如果切断对PATA电缆针N°23会做的伎俩,如果是这样,你只是得到了〜$ 800博克卡特^^
Shadok

@Shadok:价格标签并不反映技术部分-阻止大多数现代驱动器的写操作在技术上确实很简单(阻止对SMART属性的更改,现在情况就不同了)。这是“认证”业务-看到“已接受NIST Ver。2”吗?这就是重点:您无需向法院证明该设备实际上可靠地阻止了写入操作(这可能会变得有些昂贵,甚至超过800美元也要几个数量级)。
Piskvor

7

加密只是数学。仔细考虑一下,您将更好地了解其功能和局限性:

  • 您可以使用数学方法验证一条消息是否正确,并且已正确复制,而无需两次复制整个消息(简单的校验和,有时在下载软件时会碰到它们)。
  • 您可以使用数学来验证知道魔术数字的人是否批准了该消息。(密码签名)。
  • 您可以使用数学来对消息进行加扰,直到有人用正确的数字来对消息进行加扰(加密)为止。

但是您不能使用数学来阻止人们抄写邮件。那只是数学不能做的。(复制数据更少的是“数学”,而更多的是“物理”。:)

最接近的方法是使用数学算法对一些数据进行加密,使用数学方法验证计算机是否仅在运行您要运行的软件,然后为计算机提供魔术数字以解密数据,同时特别要确保软件不会最终使魔术数字消失或让任何人复制数据。这是受信任的计算,或多或少是DVD播放器和视频游戏机之类尝试做的事情。对于大多数设置而言,它不实用,并且倾向于最终以一种或另一种方式被破坏(例如09 f9)。


6

据我所知,有一些方法可以降低通过软件和硬件在硬盘上更改数据的风险。但是,一旦您的朋友拥有了硬盘,如果他们花了很多精力,他们可能会绕过或重写任何写保护方法。例如:

  • 通过硬盘上的跳线写保护;可以删除或更改跳线(即使您焊接跳线,也可以删除焊料)
  • 通过剪切或更改硬盘内部部件来进行写保护;可以修补内部零件,或者可以将磁盘本身移动到干净的硬盘驱动器中(可能需要很多工作...)
  • 通过软件写保护;一天结束时,驱动器上的数据仅为1s和0s-任何块都可以更改。如果您的朋友不担心保存数据,则可以将驱动器放入熔炉中融化。那肯定会改变数据...

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

您可以尝试让您的朋友不要复制或更改任何内容。大概,如果他们是您的朋友,他们很乐意遵守...


5

通过复制防止编辑

尽管您不能让某人读取您的数据并同时防止复制,但是有一种非常简单的方法 可以轻松地防止他们对其进行编辑:不要给他们原始文件

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

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


将所有驱动器内容流式传输到仅允许查看数据的安全应用程序中就足够了。到安全机器的远程桌面可以查看所有内容,但不能执行您不允许执行的操作。
Barfieldmv 2012年

@Barfieldmv-也许是正确的,但是1)流式传输到查看器应用程序是一种复制形式; 2)远程桌面解决方案假定那里没有安全漏洞; 3)与使安全漏洞相提并论,这两个问题都更加困难且容易出错简单的副本。如果您的硬盘在物理上不可用,我可以保证您无法对其进行修改。如果您具有某种网络访问权限,那么您总有机会知道我没有防范的黑客入侵。
内森·朗

以降低的质量流式传输100g的电影可能使“复制”实际数据变得非常不切实际,但对于原始海报来说可能就足够了。体面的网络保护是所要求的安全性的基本保护手段,应该给予保护。
Barfieldmv 2012年

5

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

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


3
但是,那是您也无法读取的数据。您只能破坏性地使用此类数据。该问题假定数据是可读的。
MSalters

4

正如许多其他人指出的那样,在正常情况下,“正常共享和阅读”表示“可以复制”,而您的问题的答案是“否”。

达到“是”的唯一方法是通过更改环境来重新定义“正常阅读”:

将您的朋友锁在房间里,交出您输入了密码的设备,确保该设备没有可以进行复制的I / O或网络,确保您的朋友没有相机或照片存储(复制显示器),取回设备并将其恢复为无法读取的状态,取出设备,然后将您的朋友从房间中释放出来。(请注意,如果他们可以深入检查设备,他们仍然可能会找到私钥或临时密钥,因此“无I / O”意味着对内部结构的物理访问不足。)

对您来说听起来像“正常阅读”吗?如果是这样,您已经准备就绪。不过,我不会指望它成为习惯或围绕该过程制定业务计划。


1
这发生在一些较大乐队的新专辑上-iPod锁在柜子中,上面有保安。这样做的想法是,审阅者可以在专辑正式发行前就收听该专辑,而不会造成泄漏。它肯定发生在Coldplay专辑中。
Rich

@Rich:是什么阻止他们将记录仪植入牙齿?当您授予读取访问权限时,可以使复制变得更加困难,但决不能使它变得不可能。
Emilio M Bumachar 2012年

@EmilioMBumachar非常正确,但是是否有人疯狂到像Coldplay的下一张专辑一样疯狂,不在讨论范围之内:)
丰富

4

读书就是复制。

您在任何计算机上访问的任何数据都是硬盘驱动器上数据的副本,该副本已复制到计算机的RAM(内存)中,而不是硬盘驱动器本身上的实际数据。如果您真的想深入了解,整个硬盘驱动器控制器和计算机内存的各个子集都有更多的中间副本,但这对于技术爱好者来说很有趣。当您访问网站时,该网站服务器的硬盘驱动器信息将被复制到计算机的硬盘驱动器,然后再复制到其内存,因此这又是一个更深的一步。而且我什至没有包括服务器的内存,或者通过互联网发送的数据包,还有许多其他复制步骤。

您要求允许发生某事,然后不允许它发生。在极端社会的极端情况下,也许每个人都服从政府关于“复制”的裁决,这是可能的。在此处阅读有关Sony尝试执行此操作的尝试以及它会变得多么丑陋:http : //en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootkit_scandal


3

你可以做什么:

  1. 对每个文件(或文件系统)进行数字签名,以使任何修改都将使签名失败并且无效。
  2. 加密文件系统,以便您和您的朋友之外的任何人都无法查看它。
  3. 为您的朋友提供一台您可以完全控制的计算机,以使他/她更难以复制数据。

您不能做什么:

  1. 如果您的朋友可以读取自己计算机上的文件,请阻止其复制该文件。
  2. 除非您使用受信任的第三方来管理身份验证证书,否则请防止您的朋友对自己的文件系统进行数字签名。

您不应该做的事情:

  1. 向您不信任的人提供敏感信息。

1

我会说不,就像上面的其他所有人一样,但是我可以简要说明如何实现。

如果使用密钥对硬盘驱动器上的每个文件进行加密,则显然无法复制该数据,因为其中将不包含未加密的数据。但是,如果您以某种方式使计算机在每次从计算机调用读取功能时都对数据解密,并且在每次从计算机调用写入功能时都对数据进行加密,那么我认为它会起作用。

我也很确定,如果硬盘以这种方式工作,速度将是一个很大的问题,但是谁知道呢,也许我们将来会看到它。同样,与此有关的是,任何真正想要在该硬盘驱动器上获取数据的人,只要知道自己在做什么,都可以通过在每次调用写入功能时删除加密调用,从而导致未加密的硬盘驱动器。

无论如何,这只是一个主意,我真的认为在不久的将来这不是一个很好的解决方案。


1

如果可以读取文件,则可以将其复制。毕竟,复制与告诉计算机读取文件并复制所看到的内容相同。读取文件时,其内容将加载到RAM中。复制文件时,内容将加载到RAM中,并从RAM写入HDD。由于RAM不受您控制,因此您无法停止第二步。

如果您只想共享一种(或几种)文件类型(例如,文本,视频,ppts等),请执行以下步骤(需要编程功能):

  1. 在每个文件的开头添加一些垃圾数据(使用程序)。数据应易于以可预测的方式删除,并且,如果需要,请使其可从文件名派生。例如,您可以在文件名前添加文件名的md5哈希。要删除它,只需删除哈希即可。此步骤将使您的朋友无法复制所有文件,因为它们将无法正常工作。
  2. 使用API​​编写简单的(视频|图像|文本|其他任何文件类型)查看器。Java会很好(那里有足够的API)。
  3. 对Fileviewer进行编程,以在打开之前从每个文件中删除垃圾数据(请注意,它不应将其从文件中永久删除,而应将其从加载到RAM的副本中删除)
  4. 对Fileviewer进行编程,使其仅在外部硬盘驱动器上工作。您可以通过在HDD中散布系统文件(在Windows命令行上使用attrib + s + h)来完成此操作,并在程序启动时要求这些文件。如果它在C:驱动器上,也可以使其不起作用(使用File.getCanonicalNamespace查看当前驱动器路径)

    5.你去了!您的朋友可以使用查看器查看所有文件,但是文件本身几乎没有用。

该方法不适用于文本文档,但是可以使垃圾创建算法更加复杂,以可逆的方式使整个文件乱码(rot13是一个简单的示例)。

如果您只有一个副本,则不会建议使用此方法。赌博应该是可逆的,但是事情可能会出错。

要做这一切有点麻烦,但这是我能想到的唯一方法。这正是Netflix和所有人都无法窃取其在线电影的方式。他们使用自己的格式(可能比这复杂得多),并且拥有自己的查看器。

可以完成写保护,但是它很容易破解(拥有物理设备的人应有尽有)。

如果您有这些文件的单独副本,则使用上述复制保护方法将自动对文件进行写保护,因为用户将无法巧妙地编辑文件。他可以删除它们。

如果您没有单独的副本,则NTFS文件系统具有只读选项;否则,请参见图4。但这很容易绕开。


1
请注意,该程序仍然可以被黑客入侵。Java.lang.reflect让您可以打开一个程序。希望你的朋友不会那么做。
Manishearth'2

1

每个人... 忍受我,这是天真的练习。

我认为OP正在要求简单的操作。我还认为,如果您向一群人提出这样一个深刻的问题,那么许多人会过分考虑。

这里的目标不是防止或保证他们做任何事情。实际上,要做很多工作来解决他们想要做的事情-他们宁愿放弃或以“更简单的方式”购买或获得它。

因此,真正的问题是:“ 如果我的一个朋友尝试复制这些文件,我该如何使他的朋友感到困难 ”。

如果我们假设您的朋友是普通人并且不具备阅读记忆的能力,并且我们假设他们不会阅读这篇文章... :-)

如上所述,API可以工作。
请记住,任何读入内存的内容都是“可获得的”。
显然,对于文件系统也可以这样说。

在我的头顶上,可以搭建一个口译员。
这是一个宽松的概念,但我认为它会很好用。

如果您不想自己写东西,则无需继续。


书呆子的东西

因此,加密您的硬盘。
有关如何执行此操作的其他线程很多,因此在此不做介绍。
加密时,只有能够解密才有意义。

您可以在此处使用键。如果您编写了一个二进制文件,则其中包含私钥+盐钥,该盐钥对于您共享的硬件是唯一的(或实际上接近唯一),例如设备的序列号。二进制文件将解密文件并在包装器中读取它们。

因此,如果将文件和二进制文件移到另一台设备上,那将会失败。因为密钥与预期不符。

现在-公认的是,一个真正熟练的人可能仍然可以通过多种方式解决这个问题。

但是-您的普通人,可能不想花费时间/精力/金钱。

一些简单的阅读:http :
//en.wikipedia.org/wiki/Disk_encryption

一些软件(以便您可以进行加密):http :
//www.truecrypt.org/

您可以构建的最简单的“包装器”是Adobe Air应用程序...
http://www.adobe.com/products/air.html

从理论上讲,这将跨平台工作。
进入这种编程的障碍相对较低。
http://www.liquidsilver.org/2010/02/write-your-own-adobe-air-application/


我希望这会有所帮助。


真正的问题是:“如果我的一个朋友尝试复制这些文件,我该如何使他的朋友感到困难?” OP 可能希望找到的答案是,例如,将所有文本文档转换为PDF(或在他的a **上变成中世纪,然后将其转换为JPEG或TIFF)。虽然可以复制这些文件,但是以可用的形式恢复原始文本需要一些工作。
斯科特

1

多亏了强大的开放源代码工具,数字数据并非微不足道。但是,您可以创建自己的加密格式,该格式会hard出于复制目的而中断。认为受DRM保护的内容。


0

最好的办法是使用某种校验和,MD5哈希或类似的方法,至少能够检测到硬盘驱动器上是否有更改。如果有物理访问权,您不能阻止任何人修改驱动器上的数据,但是您可以使他们保证不会这样做,并向他们解释您将能够检测到他们是否这样做。


0

不可以。您可以使用写保护媒体来防止编辑,但是如果数据可读,则始终可以将读取流存储在其他地方以进行复制。

当然,您可以通过要求执行联机连接来执行解密例程的方式来走更多的路,但是即使那样,用户也可以简单地登录服务器响应并伪造Internet。

您可以进行量子分析并尝试应用无克隆定理,但是由于仍将以经典方式访问读取的数据,因此可以再次复制输出。

简而言之:不要浪费时间试图保护可读数据不被复制,而是将其投资于有用的东西上。例如去电影院。


-2

您可以通过LAN共享硬盘。这样,他将无法物理访问硬盘驱动器。为此,您根本不需要对其进行加密。只需设置权限就可以了。

您可以设置SSH。谷歌介绍了如何在您的平台上设置SSH。有许多软件包可用于在计算机之间共享数据。


1
所以呢?他只需登录网络流即可重现数据
Tobias Kienzler 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.