有人用过 XMPP 协议通信么?
看到今天 Solidot 推送的为什么俄罗斯网络犯罪分子流行用 Jabber:
俄罗斯网络犯罪世界充斥着谜团,但有一种技术 充当了主要的通信工具:有 18 年历史的分布式开源即时通讯协议 Jabber。根据安全公司 Flashpoint 的研究,黑客做交易、分享情报和对恶意程序提供技术支持都是通过 Jabber 完成。该公司资深研究员 Leroy Terrelonge III 称,在网络犯罪经济中,Jabber 是通信的黄金标准。Jabber(或又叫 XMPP)通信系统由数千个独立服务器构成,在全世界有大约一千万用户。有 10 亿用户的 WhatsApp 使用的是一个 XMPP 变体。ICQ 曾经统治了俄罗斯 IM 市场长达 20 年,在 2013 年 Edward Snowden 披露美国的大规模监视之后俄罗斯人开始转向了 Jabber。Jabber 加上它的加密插件 OTR(off-the-record)能为通信提供强加密支持。Jabber 的联邦式架构允许任何人运营服务器,这对犯罪分子有巨大的吸引力,他们担心企业与政府之间合作过于紧密。
XMPP 客户端也支持各种平台
| Project Name | Platforms |
|---|---|
| AstraChat | Android / iOS / Linux / macOS / Windows |
| BeagleIM by Tigase, Inc. | macOS |
| Bruno the Jabber™ Bear | Android |
| ChatSecure | iOS / macOS |
| Conversations | Android |
| Converse | Browser |
| Dino | Linux |
| eM Client | macOS / Windows |
| Gajim | Linux / Windows |
| Monal IM | iOS / macOS |
| Movim | Android / Browser / Linux / macOS / Windows |
| Poezio | Linux / macOS |
| Profanity | Linux / macOS / Windows |
| Salut à Toi | Android / Browser / Linux / Other |
| Simple IoT Client | Windows |
| SiskinIM by Tigase, Inc. | iOS |
| Spark | Linux / macOS / Windows |
| StorkIM by Tigase, Inc. (Tigase Messenger for Android) | Android |
| Swift | Linux / macOS / Windows |
| txmmp | Linux |
| UWPX | Windows |
| yaxim | Android |
之前广场君写过用Matrix进行匿名加密的私聊,好奇两者的区别是?
沉默的广场 XMPP的加密算法和Matrix的算法有本质的不同。XMPP使用OTR(Off-the-record)加密,加密过程类似于TLS。OTR加密可以提供端到端加密,但是缺点也很明显,必须双方同时在线才能发起加密对话;OTR加密的另一个缺点是,加密的内容只能保存在本地,没法上传到服务器漫游。但是由于发送异步消息以及漫游聊天记录是用户的刚性需求,不提供加密的商业IM几乎都可以做到。因此早期的端到端加密IM体验非常差,这是它没有推广的原因之一。
Telegram的加密聊天就类似于OTR,必须双方同时在线才能发起端到端加密对话,聊天记录不会保存到服务器,当然技术上也做不到。异步端到端加密的另一种方法是PGP,但是PGP不能做到前向保密,也不支持消息漫游。
Matrix用一种更先进的加密法,叫做双棘轮算法(Double Ratchet Algorithm)。这个算法能够以不可信服务器为存储中介,进行异步端到端加密通信。简单来说,用双棘轮算法的IM可以在一方不在线的时候发起端到端加密对话,还可以把加密后的聊天记录保存到第三方服务器上(因此可以漫游消息)。这样端到端加密能达到传统无加密IM的体验。
双棘轮算法最先用在Signal上,后来Matrix和Wired也实现了一套,WhatsApp似乎也是此算法。因为XMPP是一个开放协议,目前也有把双棘轮算法加入XMPP的提案
这个网址上有Signal协议中双棘轮算法工作原理的翻译,Double Ratchet Algorithm比起TLS还复杂了不少:
天下无贼 老了,曾经使用XMPP的IM工具相当繁荣,主要就是Jabber,另外谷歌以前有个官方IM工具,叫啥来着忘记了,后来改名叫hangout,再后来就没有然后了…………被砍掉了。
Misaki习帝,习帝,我要Diss你! solidsÑøñë 啊
https://web.archive.org/web/20160301033435/http://im.nekonazo.com/
猫聊NekoIM的目的是什么?
- 在天朝普及XMPP,让更多需要即时聊天功能的游戏制作者、常用IRC的文字游戏玩家,体验到XMPP的便利性 —— 服务器与服务器之间是没有隔阂的,并且共同搭建服务器
- 开发者 / 主催 / Geek 可以利用此平台来测试自制应用,并由自己全权维护。例如,利用此平台的ucat作后端来管理微博账号以推广自己或团队的同人游戏。
- 提供一种安全聊天的途径——不被任何人,程序,乃至服务器所监视。总有人有需要的时候
Project Oekakisoli 项目都没了
NullPointer 这是最早的互联网协议之一,是 IM 的标准开源实现。
最早的互联网基础设施的设计都是跨平台(跨越不同服务器)的,是真正的“互联网”。电子邮件和 XMPP 都具有这种特性。
在当代,它们败给了中心化服务。或者说,败给了商业化私有服务。中国境内架设这个的服务器会有风险。
solidsÑøñë @沉默的广场 <#122367> 目前XMPP的OMEMO加密方式也使用双棘轮算法,可以替代 OTR 。
可以到 https://omemo.top/ 查看各客户端对OMEMO的支持。
lindarico y libre 选择大于改变 机会大于努力 认知决定财富 XMPP比Matrix更成熟
Google Talk