Distributed System 基础(四)隐私性(Privacy)
当我们谈到网络的隐蔽性时,我们首先会想到一个例子的是隐身浏览(或者称为私人浏览)。这是浏览器提供的确保本地用户隐私的方式,比如:不记录搜索历史等。我们分布式系统所分析的隐私性是指全局隐私,指对网络提供商,government等的匿名性。
1 TOR 匿名系统
TOR全名:The Onion Routing。其基本思路是:如果我们在全世界范围内有着大量的某种服务器(称为TOR路由器,大约有8000个),如果有人想要连入网络,浏览网页,那么他首先需要连入一个叫做Guard的路由器,之后再连入一个类似的路由器,最后连入一个叫Exit Point的路由器。为了在TOR中路由,至少需要这么三个路由器,并且每个路由器都可以在世界的不用地点。
- Guard:Guard路由器知道你是谁,从哪里来的,但它并不知道你的请求要去哪里,你要访问什么网站
- 中间部分的路由器:什么都不知道
- Exit Point:知道你这个请求要去哪里,但不知道你的信息,不知道你从哪里来的。
我们如何做到这样的呢?
我们假设有n个keys(n>=3)并且将我们的请求用首先用加密,然后用
.....直到
,建立一个类似洋葱一样的分层结构。通过这种方式,Guard将使用
解密,中介路由器用
...
。Exit Point用
解密。所以我们是如何构建这种连接的呢?
首先,我们希望确保尽可能匿名,这样我们就不能将我们的私钥(如果我们有的话)共享给Guard,相反,我们使用一个协议,使Guard和我们能够制作密钥。这种类型的协议确保了以下两件事:
- 完成后,只有我们和Guard知道key是什么
- 即使有一个恶意的过程试图看到Guard和我们之间的“对话”,这个过程也无法从被盗的数据中获得任何信息
其中一个最为有名的协议称为:Diffie-Hellman
2 Diffie-Hellman协议
有两个人,和
,他们想要分享一个秘密。他们都分别想到一个数字,a和b。
把
发送给
,
把
发送给
。所以
可以计算
,
可以计算
,并且很容易看到
=
=
。我们可以有把握地假设,从
或
等等开始,来重建一个a是非常困难的,这是由于g操作背后的复杂性。为了在用户和Guard之间选择key,我们不完全使用Diffie-Hellman,而是一个被称为:Authenticated Diffie-Hellman的扩展
3 Authenticated Diffie-Hellman
两个角色:User和Guard,user知道guard的公钥。因此,用户可以使用这个密钥发送一个加密的信息。Guard回复
,
| “Handshake”。当user得到这个消息时,我们可以计算
并且通过hash这个值来检查这个协议是否工作正常。这个版本被叫做authenticated是因为用这种方法user能确定他在于guard通信,而在初始版本里我们容易受到中间人的攻击。
4 为什么用TOR,谁在用TOR?
如果某个用户使用了TOR环境,那么它也将成为其中的一个节点,这就意味着有时他也可能是Guard或者Exit Point。因此,我们可以知道谁在建立一个连接或一个连接要连接到哪里。这意味着我们能通过研究知道,从统计的角度来看,为什么要用TOR,以及谁在用TOR
5性能
互联网中最重要的两个指标是延迟和带宽。很明显,使用这个方法会使用户失去一些性能,尤其是延迟。因为在理论上,如果所有的路由器都有良好的连接,用户就不会失去带宽,但这是不太可能的。
6 Attack
如果某人是Guard和Expoint的持有人,那么他将可以进行大量攻击,最常见的是traffic analysis。你可以检查信息的模式,比如看到一个数据包到达您的一个节点,然后在一秒钟后到达另一个节点。如果这种情况经常发生,你可以了解用户是谁,网站在哪。显然,很难同时拥有系统的起点和终点。
现在有系统能保证Guard和Exit Point在世界上的两个地方(不是100%保证,但是是很大的概率)
另一种攻击是来自website的,网站可以根据浏览器用来发送信息的方式来去匿名化信息。当浏览器连接到一个网站时,它会发送大量的信息,如果你收集了所有这些信息,你就可以定位别人了。这意味着一个网站可以找到两个浏览器以相同的方式交互,他们最有可能来自同一个人。这并不打破匿名,而是叫伪匿名(该网站不知道你,但也知道你是同一个人)
为了避免这种攻击,用户可以使用一个总是发送相同信息的浏览器,它是基于火狐浏览器的TOR浏览器。
7 服务隐私性(暗网dark web)
TOR也可以用来隐藏服务。我们已经看到了一个用户被隐藏起来的例子,但是TOR也可以确保网站的隐私。我们的想法是,我们有两个参与者,一个用户和一个隐藏的服务(hidden service)。如果用户想要连接到一个隐藏的服务,首先他必须使用TOR连接一个名为directory server的TOR路由器。隐藏的服务也同样这样做。结果是,directory server不知道我们在哪里,不知道我们是谁,也不知道我们请求的网站在哪里。目录服务现在选择另一个名为“rendez-vous point”的路由器,然后用户和隐藏服务使用TOR与rendez-vous point(像代理一样)进行通信。directory server每天都在更改。
如何定位一个隐藏服务?
一般情况下,用.onion域,只能通过与directory server通信来解决,用这种域名的被称为暗网(dark web)
8 VPN
VPN最初的创建并不是为了隐私性,而是将本地网络虚拟化为非本地网络。即,即使你没有从网络那里连接,你也能成为该网络的一个节点(举例:VPN能让你在家也能连入校园网)。如果我们想用VPN连入网络,我们与远程服务器建立连接,然后通过该远程服务器,连接网站,隐藏我们的IP地址。这意味着,中间节点能知道我们的一切信息。
Distributed System 基础(四)隐私性(Privacy)相关推荐
- 区块链100讲:加密货币隐私性概述
"在我眼中,隐私就是让我们免于言行受到外界关注的困扰,并创造出一些空间以便我们为了自身的幸福而随心所欲地进行优化,只是为了我们自己的幸福,而不是因为在意别人对我们的看法."-- V ...
- 基于RT-Thread操作系统的 基础四轮组智能车设计与实践
学 校: 同济大学 队伍名称: 智行·龙卷风 参赛队员: 杨怡,韦炳宇,许泽华 带队教师: 张志明,余有灵 §01 引言 1.1全国大学生智能车竞赛介绍 全国大学生智能汽车竞赛是以智能汽车为研究对象的 ...
- 计算机应用基础win7作业3答案,电大: 国开计算机应用基础(WIN7)形成性考核册3答案.docx...
计算机应用基础(WIN7)形成性考核册3答案 作业3 一.Excel选择题 1.在Excel环境中用来存储和处理数据的文件称为(A). A.工作簿 B 工作表 C 图表 D数据库 2.在Excel20 ...
- 智能车竞赛技术报告 | 基础四轮组 - 哈尔滨工程大学 - 济海追风5队
简 介: 本文详细介绍了哈尔滨工程大学"济海追风5队"在第十六届全国大学生智能汽车竞赛基础四轮组中的系统方案.本次比赛采用大赛组委会指定的B3型车模,以英飞凌半导体公司生产的32位 ...
- Distributed System: Lamport clock vs Vector clock | 分布式系统:Lamport clock 和 Vector clock 详解
Ref: Toutube Distributed Systems lecture series https://www.youtube.com/watch?v=x-D8iFU1d-o&list ...
- 分布式文件系统-HDFS( HDFS全称是Hadoop Distributed System)
分布式文件系统-HDFS HDFS Hadoop的核心就是HDFS与MapReduce.那么HDFS又是基于GFS的设计理念搞出来的. HDFS全称是Hadoop Distributed System ...
- 【RabbitMQ】基础四:路由模式(Routing)
[RabbitMQ]基础四:路由模式(Routing) 1. 路由模式说明 2. 代码示例 2.1 生产者 2.2 消费者1 2.3 消费者2 2.4 测试 3. 总结 1. 路由模式说明 路由模式特 ...
- 智慧城市构建的核心问题:数据信息的安全性与隐私性
人口数量变动将是我们迄今为止将面对的最大挑战之一.依照联合国的预估,到2050年,世界人口将超过95亿,这其中68%的人生活在城市环境中. 这类数亿人口将定居的城镇.城市和大都市必须适应持续增涨的人口 ...
- 分布式系统(Distributed System)资料
分布式系统(Distributed System)资料 <Reconfigurable Distributed Storage for Dynamic Networks> 介绍:这是一篇介 ...
最新文章
- Photoshop CC2018软件安装资料及教程
- 网站搭建从零开始(四) 服务器的配置
- 15、iOS开发之duplicate symbols for architecture x86_64错误
- 信息学奥赛一本通(2060:【例1.1】计算机输出)
- ThinkPHP RBAC如何自动获取所有模块的函数
- 小舅子的工作每周轮换一次
- 第一台电子计算机采用哪位科学家,计算机基础知识试题及答案解析
- Router OS 全攻略
- 【C】VC6调试器的使用
- NumPy的详细教程(官网手册翻译)
- sql 同义词使用_使用同义词简化SQL Server代码
- Xshell超250+配色方案(主题) 及其推荐
- hive concat_ws列转行排序问题
- Anaconda3 偏好设置
- 1 同业拆出,和同业拆入的定义
- Maven setting.xml 配置
- freemarker中的split字符串分割
- ESP32学习一-程序下载(windows工具)
- 软件体系结构--装饰器模式
- mLife Forum | 微生物组和数据挖掘