点对点网络

信息安全 数据库 网站 激流 比特流
2021-08-13 23:05:08

大家早上好,我目前正在研究 Maelstorm 项目(BitTorrent Peer-To-Peer Web Browser Project),突然想到一个问题。

当在 P2P 网络上,用户共享源自单一来源的文件时,一旦第一个用户下载了源,可以使用哈希检查来确保该用户正在传输的文件不是修改过的文件(有更多用户,这也阻止了 MITM 攻击,因为您可以在信任任何人之前比较大量的哈希值并查看它们是否匹配)。

现在是我的问题:

  • 1:服务器端脚本呢?例如,假设我有一个带有登录页面的网站,如何检查我的登录密码信息?如果这需要一个主服务器,我们就不再是对等网络,如果数据库文件也与主网站结构一起传输,那不是:

    • 答:不安全?密码可以被散列,但个人信息呢?(网站上需要哪些,例如,您在 facebook 上的地址?)。
    • B:慢?由于数据库可以不断更新(假设有 1.5k 用户不断更新他们的配置文件),这将需要不断的文件哈希重新检查,在两端消耗大量数据。
  • 2:DDoSes 和 Takedowns 会针对什么发送?P2P的本质就是把这两个都给堵住了,如果还有服务器-客户端的数据传输方式,那么对数据库服务器进行DDOS不是很容易吗?让 govnt/isps 向数据库服务器主机发送删除通知?

谢谢你,有一个美好的一天。- Fabricio20

1个回答

在过去的几年里,我对这个领域进行了很多思考,对你的两个问题的最简单的回答是,一个完全点对点的网络将引入新的方法来处理那些传统上驻留在服务器。点对点网站很可能不会使用内联数据提供服务。有点像 Meteor,您可能会使用静态网站文件的一个版本,这些文件将包含在客户端运行的脚本,以使用数据填充页面并根据需要将命令/请求发送到外部“服务器”。在对等网络中,服务器更像是一个完整的用户公共网络。

想想像 Facebook 这样的网站。通过登录并举行会话,您可以实现什么?首先,您可以访问您有权查看的所有私人信息。传统上,您的会话 cookie 是访问私有数据的请求中所需的所有身份验证。

但在真正的点对点基础设施中,谁拥有这些私有数据?嗯,应该是和你一样的其他同龄人。即使您可以向同行证明您的身份,他们也不应该以明文形式处理您的任何私人数据。因此,加密应该是任何安全对等网络的重要组成部分。当数据被正确加密并且密钥被小心处理时,身份证明就不那么重要了:如果你可以解密数据,你就被隐含地授权访问它。

回到 Facebook 的示例,可以通过将解密密钥传输给您希望授权的联系人来共享私人信息。最接近撤销访问的措施是要么完全删除数据,要么重新加密并将新密钥传输给所有剩余的授权联系人。为了加密特定联系人的数据,点对点网络可能会使用公钥加密:提取联系人的公钥,然后使用它来加密任何私人传输。通过深思熟虑的加密,消息可以存储在对等网络中,而无需担心篡改或窃听。

当然,身份验证超出了访问权限。在真实和传统的 Facebook 上,您的有效会话使您能够以自己的身份行事:如果您在墙上发布内容,任何其他用户都会隐含地相信这是您在做的。您可以复制这种事情,并且具有更大的确定性,使用数字签名进行即时消息身份验证。验证网站上任何信息是否有效的过程将在客户端发生,并且不会显示未签名的帖子,因为没有关于作者的有效信息。

因为信息会在网络上不加选择地移动,所以任何分布式文件共享系统都应该为实现这样的基础设施奠定良好的基础。理论上,拒绝服务应该是一项艰巨的任务。仅使用密码学来管理隐私有很多优点和缺点,但归根结底,它更符合生活。除了用户自己(可能是匿名的)之外,没有人可以传唤放弃或停止,而且它在每个角落都具有更高的完整性。