用Matrix进行匿名加密的私聊
January 29th, 2022

Matrix是一个强加密、去中心化的即时通信协议,Matrix也有多种开源客户端和服务器实现。Matrix协议,对标的是同为即时通信软件的Telegram,Discord。比起这两者,Matrix无需邮箱和手机号就可以注册,免除个人信息泄露之忧。本文介绍Matrix协议和它的一个客户端Element(原名Riot.im)。下文为了方便起见,统称为Matrix。

Element桌面和移动客户端截图

Element桌面和移动客户端截图

Matrix有很多优点,包括:

隐私:注册Matrix不需要邮箱和手机号,只需要用户名和密码。使用Matrix无需担心手机号和邮箱泄露的危险。
安全加密:Matrix私聊和群聊是端到端加密的,即使是服务器的所有者,也无法看到用户的聊天内容。
开源:Matrix客户端和服务器软件全部开源,任何人都可以审查代码,检查代码中的漏洞。有兴趣的人也可以用开源代码搭建自己的Matrix服务器。
去中心化:Matrix是联邦式协议,Matrix网络由分布在世界各地,由不同个人和组织运营的服务器组成,因此Matrix协议不容易被单个组织垄断。

Matrix网络组成结构

Matrix网络是联邦式结构,由多个地位平等的服务器连接而成

“联邦式协议”听上去十分晦涩,事实上,电子邮件就是一种联邦式协议,每个电子邮件服务器之间的地位平等。在收发电子邮件时,只要指定一个电子邮件服务器和服务器上的用户,就可以通信。例如example@gmail.com这个电子邮件地址,example是用户名,gmail.com是服务器名。

在Telegram,微信等聊天软件中,添加好友需要指定手机号或者用户名。而Matrix非常像电子邮件,一个matrix账号ID如下:

example@matrix.org

这里example是用户名,matrix.org是服务器名。Matrix添加好友和收发电邮一样,需要填写完整的MatrixID@服务器名。在这里就是example@matrix.org

安全使用Matrix

  1. 选择服务器
    电子邮件有很多服务商,例如Gmail,Hotmail,ProtonMail。Matrix作为一种与之类似的联邦式协议,自然也有很多服务器可以选择。Matrix网站上提供了一份服务器列表,可供选择注册:

不过,本文推荐使用Matrix官方的服务器matrix.org,matrix官方服务器安全性和稳定性有保证,配置也是最容易的。

  1. 网页版客户端+Tor
    Matrix协议的主流客户端叫Element(原名Riot.im)。Element有桌面和移动客户端,提供和Telegram、Discord等聊天工具类似的体验,不过这里推荐在Tor浏览器中使用网页版(移动端)。并且账号注册和使用的全程都用网页版在Tor浏览器中完成。

Tor+网页版的优势:

隐匿IP:Element客户端配置代理比较麻烦。而在Tor浏览器中,不必费力配置客户端的代理,可以做到全程隐匿IP。
易用性:很多聊天软件网页版会比客户端少些功能。而Element和这些软件不同,Element网页版和桌面客户端的界面完全相同,功能也完全等价。
隐蔽性:网页版比App的隐蔽性更好,只要使用无痕模式登录,别人就无法发觉Matrix客户端的存在。
Tor+网页版全程匿名,注册不需要邮箱和手机,打开浏览器就能使用。全部通信高度加密,方便程度又可比论坛私信,可作为私信的加密替代。推荐用这种方式使用Matrix。

注册和使用
Element的下载页面提供网页版,也可以点以下链接直接进入注册页面。注意全过程应当用Tor浏览器完成。

首次注册如下图:

图1:首次注册

图1:首次注册

选择上面的“Free”可以选择直接在matrix.org服务器上注册(推荐)。选择“Premium”,可以使用Matrix官网提供的主机自己搭建服务器。选择“Advanced”,可以使用第三方服务器。

注册时只要提供用户名和密码即可,Email是可选的,可以不输入。

图2:邮箱

图2:邮箱

接下来会弹出提醒,如果不绑定电子邮箱,若忘记密码则无法回复。由于这里追求匿名,点continue继续。

如果用Tor注册,接下来会有Google reCaptcha验证码,点完验证码之后即完成注册,如图:

图3:注册完成

图3:注册完成的界面

以后要进入Matrix网页版,访问app.element.io就可以直接登录。

创建恢复密钥
Matrix使用端到端加密,加密后的聊天记录又(可能)保存在多个服务器上,为了能查看历史聊天记录,需要创建恢复密钥。

恢复密钥并不复杂,本质上就是给你的账户设置两道密码。登录密码用来登录Matrix账户,恢复密钥用来查看历史消息。当你在新的设备上登录时,Matrix服务器会要求验证第二道密码,没有第二密码(恢复密钥)仍然可以登录,但是无法查看历史消息。

恢复密钥的设置方法如下:

点击左上头像,选择【settings】,在右侧选择【Security & Privacy】,如图。

图4:设置

图4:设置

在左侧选择绿色的【Set up】按钮,弹出如下页面。

图5:恢复密钥选项

图5:恢复密钥选项

这里选择第二项【Enter a Security Phrase】。

接下来需要输入第二道密码,这里设置的密码就用来恢复聊天记录。设置完成后,会显示一个12组每组4个的密钥,如下图,建议把这个密钥备份并保管好。如果上面的第二道密码忘记,可以用这个密钥串解锁聊天记录:

图6:恢复密钥串

图6:恢复密钥串

如果你需要管理这些用户名、密码、密钥串,可以使用KeepassXC等密码管理器。

开始聊天
在Matrix中,知道对方的ID(类似example@matrix.org这格式),点击左边栏上边的“+”号(Start Chat)就可以私聊了。

群聊的方法类似。点击左边栏下方的“+”号(Add Room)就可以创建或加入群聊。选择explore public rooms,可以使用加群连接加入他人群聊。群ID类似于以下格式:

也可以选择Create new room自行建群。

Matrix的其它用法和主流聊天软件类似,在此不再赘述。

更多Matrix资料可见:

[1] https://matrixim.cc/sfd2017-matrix.pdf,北大Matrix兴趣社团的slides。

[2] https://matrix.org/docs/develop Matrix开发文档,可用于bot,bridge的开发参考。也描述了很多Matrix的内部细节。

Subscribe to Test
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from Test

Skeleton

Skeleton

Skeleton