现在, 在我们讨论可以用来发送文件的方法之前, 让我们先来讨论一下元数据｡
因此, 每个文件, 无论是图像､ PDF还是文档, 任何数字文件都有元数据｡
我们的意思是, 附加到文件的信息可以揭示有关文件本身的更多信息, 如创建者｡
用于创建此应用程序的程序､ 创建时间等｡
让我给你们看一个例子｡
这里我有一张用旧手机拍的我的车的旧照片, 如果我右键单击这张照片并查看其属性｡
然后转到图像选项卡｡
正如你所看到的, 我们得到了很多关于这张照片的信息｡
现在, 前几项可能看起来不是很有趣, 例如图像的类型､ 宽度和高度｡
但如果你往下看, 你可以看到相机的类型, 这是苹果｡
你可以看到相机的型号｡
那是一部iPhone 6 SE｡
你可以看到这张照片的拍摄日期, 确切的日期和时间｡
你甚至可以看到闪光灯是否被使用过｡
现在, 这是一张图片的例子｡
如果对文档执行相同的操作, 您将看到创建者､ 操作系统､ 用于创建文档的程序等｡
因此, 所有这些信息都可以拼凑在一起, 以了解您使用的平台, 并从那里工作,
以匿名化您｡
因此, 如果您希望匿名共享文件, 最好删除所有这些信息,
以最大限度地减少可用于识别您身份的信息量｡
幸运的是, 这样做非常非常简单, 您只需右键单击要删除其元数据的文件即可｡
然后单击清除元数据｡
一次点击｡
它将首先创建映像的备份, 如您在此处所见, 以防该过程可能会破坏某些内容｡
这里是图像本身｡
清除其中的元数据后｡
因此, 现在右键单击它并转到“属性”｡
如果您转到“图像”选项卡, 如您所见, 我们不会看到任何与我相关的信息, 也不会看到与创建图像的人相关的信息｡
因此, 我们看不到字体类型､ 摄像头类型和创建时间等｡
现在, 清除图像后, 您就可以共享它了｡
所以你可以继续使用我们在clear net上已经知道的文件共享服务之一, 比如Google､ Drive､
Dropbox等等｡
唯一的问题是这些服务类似于许多clear net服务, 它们不是私有的｡
他们要记录数据｡
他们会追踪你的
而且它们不安全｡
不仅如此, 这些服务的工作方式也不是很私密, 因为它们会将你的文件上传到在线服务器或云端｡
所以你可能会想, 好吧, 我不打算用这个｡
我将使用之前展示的电子邮件服务, 因为所有这些服务都允许您发送附件, 但它们都存在相同的问题｡
您的文件将被上传到云服务器｡
让我来告诉你我的意思｡
假设大卫想向右侧的John发送一个文件｡
他们想做的是使用Google､ Dropbox, 甚至是我之前展示的电子邮件服务之一｡
因此, 要做到这一点, 文件将被上传到云服务器拥有的这些公司之一｡
然后John会从云端下载这个档案｡
因此, 最终结果是大卫和John都将拥有该文件的副本,
这很好, 但同时, 用于托管该文件的服务器也将拥有该文件的副本, 这会带来许多问题｡
任何可以访问此服务器的人都可以访问该文件｡
因此, 在该服务器上工作的员工､
设法获得服务器访问权限的黑客以及与服务器所有者达成某种协议的政府机构｡
因此, 这种方法不是很私密, 如果您要共享敏感文件, 这种方法也不太好｡
现在, Firefox的创建者试图通过提供一种使用端到端加密的文件共享服务来解决这个问题｡
因此, 它的工作方式是使用在客户端运行的代码对文件进行加密｡
这是在你本地计算机上运行的代码｡
它会先加密您要共享的文件,
然后才将您的文件上传到他们的服务器, 然后您与John共享一个包含解密密钥的特殊链接｡
John将使用此链接下载文件, 并且由于该链接包含解密密钥, John将能够解密文件并读取其内容｡
现在让我向你们展示它是如何工作的, 以便你们更好地理解它, 然后我们将讨论这种方法的缺点｡
让我们回到我的Thales计算机, 我将尝试共享我清理过的同一张图像, 它目前没有元数据｡
请记住,
这张图片存储在我的Tor浏览器目录中, 因为还记得当我们谈到Tor浏览器是如何配置的时候, 它只能上传和下载存储在Tor浏览器目录中的文件｡
所以图像的位置是正确的, 它不包含任何可以用来识别我的信息｡
唯一要做的就是上传这张照片｡
我要去我的Tor浏览器, 我已经在Firefox提供的文件共享服务｡
你可以通过发送. firefox. com来访问它｡
我将在本讲座参考资料中包括这些链接｡
如你所见, 它非常简单, 非常容易使用｡
您所要做的就是点击您想要上传的文件｡
默认情况下, 您将位于Tor浏览器目录｡
您要选择要共享的文件｡
这是我的图像, 我们将单击“打开”开始上传｡
现在, 您可以单击此处的加号来选择多个文件｡
实际上, 您可以将此文件配置为在一定数量的下载后过期, 例如, 在一次下载后｡
或者您可以设置一个到期日期｡
所以它会在5分钟､ 1小时､ 1天或7天后过期｡
您也可以勾选此方块, 以密码保护档案｡
我将保留所有内容的默认设置, 然后单击“上载”｡
而且完美｡
如您所见, 这里有下载链接, 您可以复制此链接并与您希望下载的人共享｡
我将单击“复制”以复制它, 然后转到一个新选项卡并粘贴链接｡
现在, 正如你在这里的链接中看到的, 这是解密密钥,
这是解密文件所需的密钥, 这样下载文件的人就可以看到未加密的内容｡ 如果没有这一部分,
文件就不包含任何有用的信息｡
因此, 即使是Firefox的所有者或任何有权访问其服务器的人, 如果没有此密钥,
也无法看到您文件的内容｡
请记住, 这个密钥是由运行在客户端的代码生成的, 由运行在浏览器上的代码生成的｡
因此, 在他们的服务器上运行的不是代码, 因此他们应该无法看到此键｡
现在, 如果我们按Enter键｡
如您所见, 我们将看到一个下载页面,
如果我们单击“下载”, 它将首先使用在您自己的本地计算机上的客户端上运行的代码再次解密文件, 然后您将能够下载映像｡
我们称之为22保存, 应该下载｡
所以如果我们走到这里｡
您可以看到, 我们的图像与我们上传的图像完全相同｡
那就完美了｡
现在, 这种方法可能看起来安全, 它比使用谷歌驱动器或Dropbox等上传文件更私密｡
但仍有一些事情要记住｡
首先, 链接包含解密密钥｡
因此, 任何有权访问该链接的人都可以下载您的文件并查看其内容｡
那我们就有另一个问题了
我们是否信任该服务器？
现在, 我知道我说过文件在上传到服务器之前将被加密, 加密将使用本地运行的代码完成,
因此服务器不知道解密密钥｡
但是你真的相信这个代码永远不会改变吗？
如果黑客获得了Firefox服务器的访问权限, 并修改了此代码的工作方式, 使其实际上将密钥发送到他们的服务器或自己的服务器,
会怎么样？
如果一个不喜欢Firefox的员工做了这样的事情怎么办？
政府机构呢？
因此, 即使在这种情况下使用了加密, 它仍然会遇到与普通文件共享服务相同的问题,
因为我们仍然必须信任该服务器｡
因此, 我们面临的主要问题是这些文件共享服务的实现方式, 而不是加密问题｡
我们实际上将讨论如何手动加密文件, 而不依赖于从另一个服务器提取的代码｡
我们这里的主要问题是我们的文件被存储在我们无法控制的地方｡
无论该文件是如何存储的, 是否使用加密并不重要｡
理想情况下, 我们希望将文件保存在本地, 并且只在我们可以完全控制的地方共享文件｡
这就是我下节课要给你们看的｡
现在, 还有一件事要补充｡
要使此服务正常工作, 就像我说的, 它使用客户端代码来加密和解密文件｡
因此,
您需要将安全性设置为低或中才能工作, 因为执行所有这些工作的客户端代码是JavaScript代码, 而高安全性级别（如我们所知）禁用JavaScript｡
因此, 您可能不希望使用中等或标准安全设置, 因为它不适合您的威胁模型｡
因此, 这将是使用此服务的另一个问题｡
但一般来说, 如果你有不是很敏感的东西, 那么这可能是一个很好的和快速的方式来共享文件｡