生活、学习、牢骚

Chloe Rei 的人参笔记

互联网通讯方式设想

2010-01-04 16:03:09

分类 技术 Tags IM 设想

0 腾讯的霸权与安全问题

中国网民的网上通讯被腾讯统治很久了。很多人已经不单把QQ当做聊天工具,某些场合已经把QQ当做工作用的正式通讯方式。

某天我走进某老师的办公室,该老师正在跟某个网络设备商的人聊设备购买问题,见我来了也不好让我多等,就跟电话里的人说:”把你QQ告诉我,待会跟你详谈“

使用QQ工作已经不是个别了,4年前我就在某个兼容机店里看到老板娘拿货的时候使用QQ和供货商联系。而早前我联系一家小广告商喷绘背景布也是通过QQ完 成。中国网民的生活、学习、工作,都有QQ的身影。中国没有为互联网做出什么创新,但即时通讯倒是领先国际,MSN跟Gtalk等外国IM其实都无力跟 QQ竞争:形式一样,但是扩展功能跟QQ差太远。QQ的文件传输,群聊,远程协助等等都是MSN和Gtalk没有或者领先很多的。在和传统Email绑定 后,QQ几乎没有死角,一般人的网上通讯都可以通过QQ一个客户端”一站完成“。

但我一直以来都对腾讯QQ心存芥蒂,先不谈腾讯的抄袭史和它对跨平台的漠视,单就一点足以让 腾讯蒙上阴影:腾讯是在中华人民共和国内运营的一家企业,服务器在中国大陆。服务器在大陆,隐私和安全性就有了很大的风险。这个问题其实就是某人被警察请去喝茶之后才意识到的。某人一向在网上对政事少言,平时也没见谈论什么价值观,但为什么平平安安会找他喝茶。思索之后,想到大概是因为在QQ邮箱传了一份 文件。虽然他本人现在还是说”该用的就用“,但我觉得这始终很恐怖。幽游白书里面有一段情节,在一个特定的空间,如果说了禁止说的话,就会被夺取灵魂。我 不想置身于这种环境之中。

最近我一直在思索能有什么通讯方法可以提高信息的安全性,但是又不输于 IM + Email 的组合。要探索未知,需要掌握已知,我整理了一下我已知的计算机网络之上的通讯方式。

1 基于IP地址的简单通讯

互联网未兴起前,计算机之间就有一些通过局域网直传的通讯工具。比如windows下的 net send指令,可以通过指定特定的IP发送一条信息到远程主机(理论上非局域网也可以,但我不知道是否有人这样用)。目标主机收到信息后,会用弹出框的形 式显示信息。但这种工具没有用户验证机制,通常也不加密,到后来导致了spam弹出框的问题,现在的windows一般都直接禁用了这个功能。


图1 基于IP地址的简单通讯工作方式

这种方式可以称为”史前通讯方式“。因为发送信息的时候需要用户知道对方IP,并且没有好友管理、用户验证等功能,已经没有多少应用场合。

2 Email和Google Wave

这里把传统的Email和新潮的Google Wave放在一起,是因为他们的传输方式是相近的。


图1 Email式服务工作方式

Email 式的通讯,引入了服务商的概念。这个服务商可以是自己搭建的服务器,可以是公司部门的服务器,也可以是专业邮件服务提供的服务(比如Gmail)。每个服 务商各自提供用户验证机制,并且可以在服务端提供垃圾过滤功能。每个服务商独立搭建,但是遵循统一的协议,所以可以互相通信。Google Wave的传输方式也大致如此,只是在Email的方式增加了编辑、协作之类的功能。Email为互联网服务了几十年,目前还是一种重要的通讯方式。

在这种工作方式上,信息的保密很大程度取决于服务商。不单要看自己的服务商的可信度,还要看目标服务商的可信度,因为邮件在双方服务商都会备份的。所以如果从Gmail向QQmail发一封邮箱,像水桶原理那样,保密性取决QQmail。

传 统的Email的即时性较差,以往Email被看作是传输严肃认真的文档类信息的载体。在娱乐之上的时代,Email多少有些受冷落。Google Wave是带着改造Email的目的被开发出来的。相比Email,Wave添加了即时性(其实这取决于客户端而已)和多媒体性质。但目前处于试验性质, 因为没有公布Client-Server端的协议,我对Wave的一些设想无法实施。

3 即时通讯工具(IM)

对于即时通讯工具的历史和描述可以去看wiki百科。这里说下我对腾讯的IM,也就是QQ的一些看法。


图3 假想的腾讯中心式IM工作方式


腾讯QQ是一个闭源、闭协议的IM软件,所以注定QQ的工作是以腾讯服务器为中心运作的,客户端无法独立于服务器运作。用户A和用户B的通讯需要通过至少两 步:1)用户A与腾讯服务进行登录验证,并且取回用户B的主机信息(IP等)。2)用户A的客户端与用户B的客户端进行直连,进行即时通讯。

实际上IM是可以去中心化的,比如XMPP就是一个去中心化的开发通讯协议。但是去中心化与腾讯的”绑定用户在自己平台以赚取暴利“的策略冲突,所以腾讯不会开放协议。也是由于商业支持的原因,XMPP的发展一直趋于停滞,比如XMPP的实现之一的Gtalk至今不支持群聊。

回到QQ的话题,如果按照假想式的工作方式,QQ可以保证一定程度的安全。因为私聊的情况下,信息直接在两个客户端间传输,不经第三方。并且一些人验 证,QQ客户端在发送信息的时候是加密传输,防止了监听。但现实往往是残酷的,由于QQ是闭源软件,所以我无法验证QQ客户端是否在内部就设置了监听代 码,以配合公安的审查工作,一但发现敏感词眼即上传该信息到服务器。

所以,腾讯QQ在保密方面是很不靠谱的。而XMPP的功能太弱(至少给个群聊功能好不),而且缺乏发展动力。

4 改进通讯方式

4.1 等待Google Wave变强

Google Wave目前的表现看来,作为下一代通讯协议是很有希望的。但是这终究是Google一家人弄的玩意,目前还看不到别人鸟它。而且这东西现在弄得太高端, 一堆人试用了之后还是不明白这玩意是干麻用的。比如协作编辑这一重要特性,估计需要用的也就是程序员一类专业人员。

对于Wave,我没啥发言权。因为即使是想写一个IM式的客户端,也由于Google根本没把Client-Server协议公布而搁置。

4.2 改进类XMPP开放协议

改进类XMPP开放协议是一个平缓的改良路线,况且XMPP本身就是鼓励二次开发的,同时XMPP类客户端比较充足。

但是改良XMPP协议,别的服务商不认这套,那就又卡住了。一个协议需要通过各家认可,并且作为标准公布,是需要时间和财力的。

4.3 完全去中心化的通讯设想

一切依赖服务器的应用在中国都面临两种情况——被审查或者被墙。

我设想这样一种情况:打开一个客户端,也许是网页应用,也许是桌面GUI程序,也许是手机软件。然后它会提供我的好友列表。我可以跟对方进行各种形式的通 讯,文字、视频、语音、多媒体、文件传输。等等,这不就是QQ吗?不,接着我要确保这个好友检索与信息传输过程不经过任何中心服务器,并且是安全保密的。

信息直传是客户端的事,而检索过程如何摈弃服务器需要斟酌。

说到底为什么IM通常需要一个服务器呢?因为网络应用是基于网络层以上的,在把好友ID和真实IP之间需要一个转换,客户端才能建立链接。而现在这个转换是由服务器完成的:1)用户A登录,给服务器发送自己的网络信息。2)好友用户B登录,给服务器发送自己的网络信息。3)服务器查询发现A和B是好友,于是 给各自的客户端发去对方的真实网络信息。4)A和B的客户端显示对方在线,并且可以建立链接。

那么这个过程是否可以去掉服务器呢?是可以的。过去一周时间我在看eMule的kad网络(Kademlia) 方面的资料。kad网络是一个分布式哈希表,网络中的节点拥有一个ID,并且可以用ID作为key,和一个资源信息构成一个key-value对其他节点提供检索。资源信息可以是一个文件,或者是——物理IP。eMule就是通过kad网络实现了去中心化,同时继续提供检索功能(但是没有模糊查找)。

建立物理链接之后,客户端链接可以做到直连、加密。不过也有一些因素要考虑,比如没有服务器之后,离线信息怎么办?个人资料怎么保存?这个可以在kad网 络中加入第3方服务来做到,这个第3方服务可以是商业服务商,也可以是用户自己搭建的服务器。完全去中心化也会带来很多额外需要考虑的因素。

类似kad这样的覆盖网络被提议用于改善当前的网络质量(疲弱的DNS机制等),还有很大探索空间。

5 结语

Google Wave之前,即时聊天已经沉寂了很久。国内的QQ一家独大,和国外并不热衷IM形成鲜明对比(国外大概流行skype类语音服务)。但是网民对通讯工具 的便捷性和安全性需求会不断推进,QQ的封闭给小众人群带来不便和安全隐患,Wave一时半会又做不了主流。即时聊天有得搞。

2010年

2010-01-01 11:06:14

分类 生活 Tags 元旦 Perfume

踏进2010年,我大四的上学期快过去了,时间真快,我还记得我拖着行李走进宿舍的场景。

接着元旦的机会,跟好几个久不联络的朋友打了招呼。招呼完毕,照例是问长问短,比如前途怎么样阿,工作怎么样阿。其实我的大脑是典型的单线程设计,在一个时间周期里面只能思考一件事情,所以只要有事想做,其余的比如工作阿什么的都思考不了。

今年的上半年是我在大学里最后一段时光,我估计我的大部分时间都会花在毕业设计上。虽然现在这个教育制度,不会有多少人对一个本科生的毕业设计有什么期待,但是我还是想做一个能对得起我四年大学生活的毕业设计。

有了Twitter之后blog真是少了很多牢骚,放图好了,最近喜欢Perfume。

Konachan

党的政策亚克西,一支红杏出墙来

2009-12-25 19:06:45

分类 牢骚 Tags twitter GFW

政策亚克西

最近广电发疯,插手互联网。口舌cctv不断拿涉黄来找互联网企业和IDC的碴,搞到民不聊生、哀鸿遍野。工信部竟然随便就让人给插了,老实帮广电打下手,封了一大堆网站逐个排查,然后正式禁止了个人在国内搭建互联网应用。现在个人已经不用犹豫到底是国内服务器还是国外服务器,只有出国这条路。而企业唯有妥协,签生死状。

三门说,这只是上层利益争端,不涉及价值观。但我不知道党的下限在哪里,以后估计民不聊生的状况很难改变。

User5_middling

Twitter的坚挺

Twtiter经历了伊朗和天朝的傲娇,但事实上证明Twitter这种成功去中心化的网络应用是封杀不了的。大部分人已经不能接触国外的先进应用,少数派还是能畅通无阻的穿行国内外互联网。我乐观的认为,即使大部分人被圈养了,社会进步却往往是少部分人促进的。

Twitter的起点很简单,只是让网民多了一条传递信息的渠道。天朝的Twitter用户发的推中,敏感成分比其他国家高出很多,不得不说,这都是被逼的。

翻墙费成为基本支出

经历了在线代理、tor、免费门等各式各样的翻墙训练之后,不少人感觉无休止的斗智斗勇有些疲惫,急需一个稳定的翻墙方案。

此时VPN和SSH这类本来阳春白雪的应用走进非技术人群的眼里。VPN是什么?VPN是商业公司在互联网上搭建公司内部网的应用。SSH是什么?SSH是类Unix操作系统管理员用于远程登录服务器以便管理的应用。这些应用本来不是非技术人群需要了解的,但是它们的“加密”特性此时成了很好的翻墙工具。当今,天朝懂得VPN和SSH这两个词的网民比率绝对是世界前列的。

早前网上有一些免费的VPN和SSH服务发布,但是它们和tor、免费门一样不稳定,也许什么时候就失效了。现在更靠谱的,是个人自己买国外的服务器搭建VPN或SSH服务。

购买服务器花费不小,便宜的VPS要500RMB/年,但是跟国内大城市一年过千的上网费相比,也只是占了一半而已。此时除了上网费外,部分网民已经可以接受把翻墙费作为基础支出了。

红杏出墙

墙搭得再高,也挡不住日益茁壮的红杏要出墙。Twitter这只叽叽喳喳的小鸟,偶尔飞上枝头,偶尔越过长城,吟唱向往自由者的福音。