WEBVTT

00:00.750 --> 00:06.720
现在, 在我们讨论可以用来发送文件的方法之前, 让我们先来讨论一下元数据｡ 

00:07.320 --> 00:14.400
因此, 每个文件, 无论是图像､ PDF还是文档, 任何数字文件都有元数据｡ 

00:14.430 --> 00:24.610
我们的意思是, 附加到文件的信息可以揭示有关文件本身的更多信息, 如创建者｡

00:24.630 --> 00:30.450
用于创建此应用程序的程序､ 创建时间等｡ 

00:30.990 --> 00:32.580
让我给你们看一个例子｡ 

00:33.490 --> 00:41.860
这里我有一张用旧手机拍的我的车的旧照片, 如果我右键单击这张照片并查看其属性｡

00:42.780 --> 00:44.730
然后转到图像选项卡｡ 

00:45.270 --> 00:48.850
正如你所看到的, 我们得到了很多关于这张照片的信息｡ 

00:48.870 --> 00:56.640
现在, 前几项可能看起来不是很有趣, 例如图像的类型､ 宽度和高度｡

00:56.760 --> 01:00.690
但如果你往下看, 你可以看到相机的类型, 这是苹果｡ 

01:00.720 --> 01:02.220
你可以看到相机的型号｡ 

01:02.250 --> 01:03.960
那是一部iPhone 6 SE｡ 

01:03.990 --> 01:09.090
你可以看到这张照片的拍摄日期, 确切的日期和时间｡ 

01:09.510 --> 01:12.540
你甚至可以看到闪光灯是否被使用过｡ 

01:13.230 --> 01:15.320
现在, 这是一张图片的例子｡ 

01:15.330 --> 01:22.290
如果对文档执行相同的操作, 您将看到创建者､ 操作系统､ 用于创建文档的程序等｡

01:22.680 --> 01:29.190
因此, 所有这些信息都可以拼凑在一起, 以了解您使用的平台, 并从那里工作,

01:29.190 --> 01:31.560
以匿名化您｡

01:31.980 --> 01:38.790
因此, 如果您希望匿名共享文件, 最好删除所有这些信息,

01:38.790 --> 01:43.710
以最大限度地减少可用于识别您身份的信息量｡

01:44.010 --> 01:52.470
幸运的是, 这样做非常非常简单, 您只需右键单击要删除其元数据的文件即可｡

01:53.440 --> 01:56.290
然后单击清除元数据｡ 

01:56.740 --> 01:58.330
一次点击｡ 

01:58.360 --> 02:04.620
它将首先创建映像的备份, 如您在此处所见, 以防该过程可能会破坏某些内容｡

02:04.630 --> 02:08.200
这里是图像本身｡ 

02:08.230 --> 02:11.200
清除其中的元数据后｡ 

02:11.200 --> 02:14.260
因此, 现在右键单击它并转到“属性”｡ 

02:14.470 --> 02:22.540
如果您转到“图像”选项卡, 如您所见, 我们不会看到任何与我相关的信息, 也不会看到与创建图像的人相关的信息｡

02:22.540 --> 02:27.940
因此, 我们看不到字体类型､ 摄像头类型和创建时间等｡ 

02:29.780 --> 02:33.060
现在, 清除图像后, 您就可以共享它了｡ 

02:33.080 --> 02:38.900
所以你可以继续使用我们在clear net上已经知道的文件共享服务之一, 比如Google､ Drive､

02:38.900 --> 02:41.900
Dropbox等等｡

02:42.110 --> 02:49.050
唯一的问题是这些服务类似于许多clear net服务, 它们不是私有的｡ 

02:49.070 --> 02:50.510
他们要记录数据｡ 

02:50.540 --> 02:51.830
他们会追踪你的

02:51.830 --> 02:53.300
而且它们不安全｡ 

02:53.960 --> 03:03.020
不仅如此, 这些服务的工作方式也不是很私密, 因为它们会将你的文件上传到在线服务器或云端｡

03:03.830 --> 03:06.740
所以你可能会想, 好吧, 我不打算用这个｡ 

03:06.740 --> 03:14.710
我将使用之前展示的电子邮件服务, 因为所有这些服务都允许您发送附件, 但它们都存在相同的问题｡

03:14.720 --> 03:18.770
您的文件将被上传到云服务器｡ 

03:18.890 --> 03:20.600
让我来告诉你我的意思｡ 

03:21.230 --> 03:25.700
假设大卫想向右侧的John发送一个文件｡ 

03:25.760 --> 03:32.870
他们想做的是使用Google､ Dropbox, 甚至是我之前展示的电子邮件服务之一｡

03:33.110 --> 03:40.310
因此, 要做到这一点, 文件将被上传到云服务器拥有的这些公司之一｡ 

03:40.580 --> 03:44.930
然后John会从云端下载这个档案｡ 

03:45.500 --> 03:52.640
因此, 最终结果是大卫和John都将拥有该文件的副本,

03:52.640 --> 04:00.980
这很好, 但同时, 用于托管该文件的服务器也将拥有该文件的副本, 这会带来许多问题｡

04:01.280 --> 04:05.450
任何可以访问此服务器的人都可以访问该文件｡ 

04:05.450 --> 04:11.900
因此, 在该服务器上工作的员工､

04:11.900 --> 04:17.960
设法获得服务器访问权限的黑客以及与服务器所有者达成某种协议的政府机构｡

04:18.440 --> 04:25.100
因此, 这种方法不是很私密, 如果您要共享敏感文件, 这种方法也不太好｡ 

04:25.960 --> 04:35.530
现在, Firefox的创建者试图通过提供一种使用端到端加密的文件共享服务来解决这个问题｡

04:36.100 --> 04:43.310
因此, 它的工作方式是使用在客户端运行的代码对文件进行加密｡ 

04:43.330 --> 04:48.770
这是在你本地计算机上运行的代码｡ 

04:48.790 --> 04:55.720
它会先加密您要共享的文件,

04:55.720 --> 05:02.920
然后才将您的文件上传到他们的服务器, 然后您与John共享一个包含解密密钥的特殊链接｡

05:03.100 --> 05:13.330
John将使用此链接下载文件, 并且由于该链接包含解密密钥, John将能够解密文件并读取其内容｡

05:13.810 --> 05:21.370
现在让我向你们展示它是如何工作的, 以便你们更好地理解它, 然后我们将讨论这种方法的缺点｡

05:22.000 --> 05:30.670
让我们回到我的Thales计算机, 我将尝试共享我清理过的同一张图像, 它目前没有元数据｡

05:30.760 --> 05:36.730
请记住,

05:36.730 --> 05:45.310
这张图片存储在我的Tor浏览器目录中, 因为还记得当我们谈到Tor浏览器是如何配置的时候, 它只能上传和下载存储在Tor浏览器目录中的文件｡

05:45.790 --> 05:52.210
所以图像的位置是正确的, 它不包含任何可以用来识别我的信息｡ 

05:52.240 --> 05:55.720
唯一要做的就是上传这张照片｡ 

05:56.110 --> 06:02.750
我要去我的Tor浏览器, 我已经在Firefox提供的文件共享服务｡ 

06:02.770 --> 06:07.100
你可以通过发送. firefox. com来访问它｡ 

06:07.120 --> 06:10.300
我将在本讲座参考资料中包括这些链接｡ 

06:10.450 --> 06:13.580
如你所见, 它非常简单, 非常容易使用｡ 

06:13.600 --> 06:17.230
您所要做的就是点击您想要上传的文件｡ 

06:17.620 --> 06:21.110
默认情况下, 您将位于Tor浏览器目录｡ 

06:21.130 --> 06:23.730
您要选择要共享的文件｡ 

06:23.740 --> 06:28.270
这是我的图像, 我们将单击“打开”开始上传｡ 

06:29.120 --> 06:33.200
现在, 您可以单击此处的加号来选择多个文件｡ 

06:33.350 --> 06:40.570
实际上, 您可以将此文件配置为在一定数量的下载后过期, 例如, 在一次下载后｡

06:40.580 --> 06:42.620
或者您可以设置一个到期日期｡ 

06:42.620 --> 06:47.060
所以它会在5分钟､ 1小时､ 1天或7天后过期｡ 

06:47.750 --> 06:51.710
您也可以勾选此方块, 以密码保护档案｡ 

06:52.040 --> 06:55.670
我将保留所有内容的默认设置, 然后单击“上载”｡ 

06:56.970 --> 06:57.750
而且完美｡ 

06:57.750 --> 07:05.490
如您所见, 这里有下载链接, 您可以复制此链接并与您希望下载的人共享｡

07:05.490 --> 07:12.030
我将单击“复制”以复制它, 然后转到一个新选项卡并粘贴链接｡ 

07:12.750 --> 07:19.710
现在, 正如你在这里的链接中看到的, 这是解密密钥,

07:19.710 --> 07:27.240
这是解密文件所需的密钥, 这样下载文件的人就可以看到未加密的内容｡ 如果没有这一部分,

07:27.510 --> 07:33.480
文件就不包含任何有用的信息｡

07:33.480 --> 07:40.440
因此, 即使是Firefox的所有者或任何有权访问其服务器的人, 如果没有此密钥,

07:40.440 --> 07:43.590
也无法看到您文件的内容｡

07:43.710 --> 07:51.120
请记住, 这个密钥是由运行在客户端的代码生成的, 由运行在浏览器上的代码生成的｡

07:51.120 --> 07:57.240
因此, 在他们的服务器上运行的不是代码, 因此他们应该无法看到此键｡ 

07:57.660 --> 07:59.490
现在, 如果我们按Enter键｡ 

08:00.360 --> 08:07.050
如您所见, 我们将看到一个下载页面,

08:07.050 --> 08:14.700
如果我们单击“下载”, 它将首先使用在您自己的本地计算机上的客户端上运行的代码再次解密文件, 然后您将能够下载映像｡

08:14.910 --> 08:20.700
我们称之为22保存, 应该下载｡ 

08:20.700 --> 08:22.470
所以如果我们走到这里｡ 

08:23.580 --> 08:28.830
您可以看到, 我们的图像与我们上传的图像完全相同｡ 

08:29.010 --> 08:30.510
那就完美了｡ 

08:31.340 --> 08:40.970
现在, 这种方法可能看起来安全, 它比使用谷歌驱动器或Dropbox等上传文件更私密｡

08:40.970 --> 08:44.960
但仍有一些事情要记住｡ 

08:45.440 --> 08:48.700
首先, 链接包含解密密钥｡ 

08:48.710 --> 08:56.360
因此, 任何有权访问该链接的人都可以下载您的文件并查看其内容｡ 

08:56.390 --> 08:58.140
那我们就有另一个问题了

08:58.160 --> 08:59.900
我们是否信任该服务器？

08:59.930 --> 09:05.810
现在, 我知道我说过文件在上传到服务器之前将被加密, 加密将使用本地运行的代码完成,

09:05.810 --> 09:11.610
因此服务器不知道解密密钥｡

09:11.630 --> 09:15.410
但是你真的相信这个代码永远不会改变吗？

09:15.440 --> 09:21.470
如果黑客获得了Firefox服务器的访问权限, 并修改了此代码的工作方式, 使其实际上将密钥发送到他们的服务器或自己的服务器,

09:21.470 --> 09:24.380
会怎么样？

09:24.890 --> 09:30.110
如果一个不喜欢Firefox的员工做了这样的事情怎么办？

09:30.140 --> 09:32.090
政府机构呢？

09:32.360 --> 09:39.590
因此, 即使在这种情况下使用了加密, 它仍然会遇到与普通文件共享服务相同的问题,

09:39.590 --> 09:44.750
因为我们仍然必须信任该服务器｡

09:45.350 --> 09:54.140
因此, 我们面临的主要问题是这些文件共享服务的实现方式, 而不是加密问题｡

09:54.140 --> 10:01.520
我们实际上将讨论如何手动加密文件, 而不依赖于从另一个服务器提取的代码｡

10:02.000 --> 10:08.470
我们这里的主要问题是我们的文件被存储在我们无法控制的地方｡ 

10:08.480 --> 10:13.910
无论该文件是如何存储的, 是否使用加密并不重要｡ 

10:14.060 --> 10:21.380
理想情况下, 我们希望将文件保存在本地, 并且只在我们可以完全控制的地方共享文件｡ 

10:21.500 --> 10:24.770
这就是我下节课要给你们看的｡ 

10:25.640 --> 10:27.510
现在, 还有一件事要补充｡ 

10:27.530 --> 10:34.430
要使此服务正常工作, 就像我说的, 它使用客户端代码来加密和解密文件｡ 

10:34.430 --> 10:41.090
因此,

10:41.090 --> 10:49.010
您需要将安全性设置为低或中才能工作, 因为执行所有这些工作的客户端代码是JavaScript代码, 而高安全性级别（如我们所知）禁用JavaScript｡

10:49.040 --> 10:56.250
因此, 您可能不希望使用中等或标准安全设置, 因为它不适合您的威胁模型｡

10:56.270 --> 11:00.770
因此, 这将是使用此服务的另一个问题｡ 

11:01.640 --> 11:09.230
但一般来说, 如果你有不是很敏感的东西, 那么这可能是一个很好的和快速的方式来共享文件｡
