我想与朋友共享我的500 GB硬盘,但我想对其进行加密,以使所有数据都可以正常读取,但不能以任何方式进行复制或编辑。
那可能吗?
我想与朋友共享我的500 GB硬盘,但我想对其进行加密,以使所有数据都可以正常读取,但不能以任何方式进行复制或编辑。
那可能吗?
Answers:
如果您可以阅读,则可以复制它。RIAA或MPAA的概念尚未掌握。
注意:根据Stack Exchange准则,此答案不是一个好的答案。但是,由于其在该问题中的受欢迎程度和有效性而被保留。
/dev/zero
以正常方式(正常方式= dd
,cat
或任何发痒你的想象)。您也可以从复制/dev/null
,但是它会复制零个字节,只是因为它是空的:没有要复制的内容。您可能正在尝试(但失败)将设备复制为文件。那当然会失败,因为它不是文件。如果您尝试复制任何其他设备并将其视为文件,则会发生相同的情况。
“副本”定义为读取数据,然后将相同的数据写入另一个位置。由于他已将您的数据读入计算机,因此该数据将在当时由他控制。然后,他可以随心所欲地做任何事情。
几乎不可能做到的一件事是保护您的数据免遭未经授权的修改。您需要一个NTFS或类似的文件系统。但是即使在那种情况下,他也能够读取所有数据,格式化磁盘,清除所有权限以及将所有文件写回(可能已修改)。
[编辑] 500 GB只是数十亿个数字。让我将其简化为一个简单的示例:5
。那是一个数字。您可以阅读它,而我无法做的任何事情都不会阻止您写下该号码。我也不能阻止你写这个号码6
。
不,这绝对不可能。
让我们试着问一下,您是否希望他不要在没有通知的情况下修改文件?如果是这样,您可以对所有文件进行校验和并重新验证。
另一种方法是硬件写阻止程序,您可以在此处查看:http : //www.forensicswiki.org/wiki/Write_Blockers
加密只是数学。仔细考虑一下,您将更好地了解其功能和局限性:
但是您不能使用数学来阻止人们抄写邮件。那只是数学不能做的。(复制数据更少的是“数学”,而更多的是“物理”。:)
最接近的方法是使用数学算法对一些数据进行加密,使用数学方法验证计算机是否仅在运行您要运行的软件,然后为计算机提供魔术数字以解密数据,同时特别要确保软件不会最终使魔术数字消失或让任何人复制数据。这是受信任的计算,或多或少是DVD播放器和视频游戏机之类尝试做的事情。对于大多数设置而言,它不实用,并且倾向于最终以一种或另一种方式被破坏(例如09 f9)。
据我所知,有一些方法可以降低通过软件和硬件在硬盘上更改数据的风险。但是,一旦您的朋友拥有了硬盘,如果他们花了很多精力,他们可能会绕过或重写任何写保护方法。例如:
正如其他人所说,防止复制是不可能的,因为如果可以读取,就可以复制。
您可以尝试让您的朋友不要复制或更改任何内容。大概,如果他们是您的朋友,他们很乐意遵守...
尽管您不能让某人读取您的数据并同时防止复制,但是有一种非常简单的方法 可以轻松地防止他们对其进行编辑:不要给他们原始文件。
如果将数据复制到单独的硬盘驱动器上并保留原始文件,则显然复制副本的收件人无法修改原始文件。
这将立即使您的“无法复制”请求失败,但是无论如何都无法满足。
正如许多其他人指出的那样,在正常情况下,“正常共享和阅读”表示“可以复制”,而您的问题的答案是“否”。
达到“是”的唯一方法是通过更改环境来重新定义“正常阅读”:
将您的朋友锁在房间里,交出您输入了密码的设备,确保该设备没有可以进行复制的I / O或网络,确保您的朋友没有相机或照片存储(复制显示器),取回设备并将其恢复为无法读取的状态,取出设备,然后将您的朋友从房间中释放出来。(请注意,如果他们可以深入检查设备,他们仍然可能会找到私钥或临时密钥,因此“无I / O”意味着对内部结构的物理访问不足。)
对您来说听起来像“正常阅读”吗?如果是这样,您已经准备就绪。不过,我不会指望它成为习惯或围绕该过程制定业务计划。
读书就是复制。
您在任何计算机上访问的任何数据都是硬盘驱动器上数据的副本,该副本已复制到计算机的RAM(内存)中,而不是硬盘驱动器本身上的实际数据。如果您真的想深入了解,整个硬盘驱动器控制器和计算机内存的各个子集都有更多的中间副本,但这对于技术爱好者来说很有趣。当您访问网站时,该网站服务器的硬盘驱动器信息将被复制到计算机的硬盘驱动器,然后再复制到其内存,因此这又是一个更深的一步。而且我什至没有包括服务器的内存,或者通过互联网发送的数据包,还有许多其他复制步骤。
您要求允许发生某事,然后不允许它发生。在极端社会的极端情况下,也许每个人都服从政府关于“复制”的裁决,这是可能的。在此处阅读有关Sony尝试执行此操作的尝试以及它会变得多么丑陋:http : //en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootkit_scandal
我会说不,就像上面的其他所有人一样,但是我可以简要说明如何实现。
如果使用密钥对硬盘驱动器上的每个文件进行加密,则显然无法复制该数据,因为其中将不包含未加密的数据。但是,如果您以某种方式使计算机在每次从计算机调用读取功能时都对数据解密,并且在每次从计算机调用写入功能时都对数据进行加密,那么我认为它会起作用。
我也很确定,如果硬盘以这种方式工作,速度将是一个很大的问题,但是谁知道呢,也许我们将来会看到它。同样,与此有关的是,任何真正想要在该硬盘驱动器上获取数据的人,只要知道自己在做什么,都可以通过在每次调用写入功能时删除加密调用,从而导致未加密的硬盘驱动器。
无论如何,这只是一个主意,我真的认为在不久的将来这不是一个很好的解决方案。
如果可以读取文件,则可以将其复制。毕竟,复制与告诉计算机读取文件并复制所看到的内容相同。读取文件时,其内容将加载到RAM中。复制文件时,内容将加载到RAM中,并从RAM写入HDD。由于RAM不受您控制,因此您无法停止第二步。
如果您只想共享一种(或几种)文件类型(例如,文本,视频,ppts等),请执行以下步骤(需要编程功能):
对Fileviewer进行编程,使其仅在外部硬盘驱动器上工作。您可以通过在HDD中散布系统文件(在Windows命令行上使用attrib + s + h)来完成此操作,并在程序启动时要求这些文件。如果它在C:驱动器上,也可以使其不起作用(使用File.getCanonicalNamespace查看当前驱动器路径)
5.你去了!您的朋友可以使用查看器查看所有文件,但是文件本身几乎没有用。
该方法不适用于文本文档,但是可以使垃圾创建算法更加复杂,以可逆的方式使整个文件乱码(rot13是一个简单的示例)。
如果您只有一个副本,则不会建议使用此方法。赌博应该是可逆的,但是事情可能会出错。
要做这一切有点麻烦,但这是我能想到的唯一方法。这正是Netflix和所有人都无法窃取其在线电影的方式。他们使用自己的格式(可能比这复杂得多),并且拥有自己的查看器。
可以完成写保护,但是它很容易破解(拥有物理设备的人应有尽有)。
如果您有这些文件的单独副本,则使用上述复制保护方法将自动对文件进行写保护,因为用户将无法巧妙地编辑文件。他可以删除它们。
如果您没有单独的副本,则NTFS文件系统具有只读选项;否则,请参见图4。但这很容易绕开。
每个人... 忍受我,这是天真的练习。
我认为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/
我希望这会有所帮助。
不可以。您可以使用写保护媒体来防止编辑,但是如果数据可读,则始终可以将读取流存储在其他地方以进行复制。
当然,您可以通过要求执行联机连接来执行解密例程的方式来走更多的路,但是即使那样,用户也可以简单地登录服务器响应并伪造Internet。
您可以进行量子分析并尝试应用无克隆定理,但是由于仍将以经典方式访问读取的数据,因此可以再次复制输出。
简而言之:不要浪费时间试图保护可读数据不被复制,而是将其投资于有用的东西上。例如去电影院。
您可以通过LAN共享硬盘。这样,他将无法物理访问硬盘驱动器。为此,您根本不需要对其进行加密。只需设置权限就可以了。
您可以设置SSH。谷歌介绍了如何在您的平台上设置SSH。有许多软件包可用于在计算机之间共享数据。