浏览网友博客的时候看到一个令人震惊的消息:中文版Google Talk是明文传输聊天内容,

并且博主用以下方法验证了一下,的确是明文,截图如下:

请各位Google Talk用户注意鉴别阉割版,老大哥在注视着你!

记得以前wikipedia说过,Google官方承认Google Talk的end-to-end的聊天是未加密的并不能保证一个终端到另一个终端都是加密的

[…] that the connection between the Google Talk client and the Google Talk
server is encrypted. This prevents others from seeing your mail
notifications, Friends list, and other personal settings. The
encryption also prevents others from seeing messages between your
desktop and Google’s servers. However, encryption is not end-to-end, so
there is no guarantee that the messages are encrypted when sent to
another user. IMs will not be encrypted in these scenarios:

– Sender/recipient is using Gmail’s chat features over HTTP
– Sender/recipient is on a federated network that doesn’t support
encryption
– Sender/recipient is behind IMLogic or another similar proxy

具体什么是end-to-end,我猜应该是p2p的libjingle某些情况下是直接未加密传输的吧? 也就是说,如果你用的是英文版的Google Talk,那么Google Talk从你桌面到Google服务器是加密的,但是从Google服务器出去,到你聊天对象那里加密与否,Google不能保证。

其他未加密的情况有:通过http的Gmail测栏聊天;通过IMLogic等代理登录GTalk;你所在的XMPP federation不支持加密。

下面具体说明一下我所知道的 GoogleTalk 各个版本加密与否情况:

中文版 Google Talk(安装文件URL) 1.0.0.105,使用的未加密明文传输XMPP

繁体中文版 Google Talk (

英文版 Google Talk(

Google Talk Labs Edition(

Gmail侧栏iGoogle里嵌入的Google Talk,以及Google Talk Gadget和网站连接方式和网页制作设定有关。一般来说网页是https://开头的就是加密的。普遍国内 Gmail 用户使用https的习惯还是有的吧?

第三方XMPP客户端(例如pidgin)登录GTalk的,选择TLS就算加密。

长期用英文版还没注意到这个严重的问题,直到有人说抓包发现Google Talk是明文。才发现中文版居然是未加密的。汗死!这一点谷歌算作恶了吧?明明知道国内网络环境不太好的,居然还把加密取消了,也不说明一下。

更新

根据抓包的情况来看,有一个方法估计可以屏蔽中文GTalk,Jabber ID(JID)是由 node@domain/resource 这个格式构成的,XMPP客户端可以尝试屏蔽(如果支持的话)以 Talk.v105 开头的resource。目前我也没有具体步骤,只是说这个可能实现的原理。

最后站长提醒大家的是,万事小心,如果被别有用心的人窃取了谈话内容,估计就是麻烦的开始,不是吗?