git - Bittorrent Sync 密码是如何工作的?

标签 git sync bittorrent-sync

我在想,基本上我们拥有所有元素,可以用开源软件创建一个 Bittorrent Sync 替代方案,除了通过 secret 的链接机制......(我会使用 Sparkleshare,然后实现一个类似 btsync secret 的链接机制作为“新的”Git 连接协议(protocol)或在本地主机 ssh 连接的路径中,最后一个提供的优势是您可以通过共享 secret 来允许访问您的计算机,这使得隧道之类的事情变得容易得多......)

那么它是如何工作的,和/或您将如何实现类似的系统(因为 btsync 是封闭软件)?

(如果您阅读本文并想实现它,请继续,想法是免费的)

最佳答案

作为stated by BitTorrent (另请参见 the user guide), secret 是随机生成的 20 字节或更多字节的 key 。简单的概率法则几乎不可能猜测。 secret 有四种:

  • (主)读/写访问的 secret
  • 只读 secret
  • 一次性 secret (完全访问权限和只读权限)
  • 具有加密对等支持的 secret ,支持只读加密访问

据我了解(并在 this thread 中陈述,有人在 2013 年 7 月试图对 BitTorrent Sync 协议(protocol)进行逆向工程)后三种类型的 secret 可以从主 secret 中导出。特别是,这包括用于加密文件以在对等方之间传输的 key 。对于节点发现, secret 是散列的,因此散列可用于查找具有匹配 secret 的节点,而不必公开 secret 。

在进一步对 BitTorrent Sync 进行逆向工程之前,请记住该软件是封闭源代码,并且它包含从 bittorrent.com 自动更新的例程。这意味着该公司可能会更改实现细节(并安装任意后门)。除非打开完整的客户端源代码,否则没有人可以保证没有 stash 的方法将您的主要 secret 发送给 NSA。

关于git - Bittorrent Sync 密码是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20594302/

相关文章:

linux - BitTorrent Sync 在重启时重置设备名称

git - 从 TeamCity 中的分支名称中删除斜线

git - 如何忽略 .gitignore 文件中的 dist 文件夹?

android - 在 Android 和 iOS 应用程序与用户日历之间同步日历事件?

c# - 无论如何提供一个 ics 日历文件,它将自动与更新保持同步

amazon-s3 - 排除 s3cmd 同步的文件夹

sql - 构建分布式 bittorrent-SQL 数据库

synchronization - 是否有任何 BitTorrent Sync 协议(protocol)的详细信息?

Git 推送在 fork 存储库上失败

git - Team Foundation Server 和 Team Services 之间的区别