Total Pageviews

Sunday 29 November 2015

Cryptocat——安全易用的即时通讯软件

敏感人士使用被严密监控的国内网络服务,有可能会出现以下两种局面:一种是毫无自我保护意识地在其中“畅所欲言”,在未能发挥自己应有的能量之前,就先被党国“绳之以法”,被党国从肉体上消灭;另一种是已经意识到了国内网络服务的不安全性,转而开始自我审查,被党国从精神上消灭 。由此看来,为了避免以上两种局面的出现,维权/活动/异议人士必须学会一些保护自己的必要手段。而实际上,任何一个想要在全监控时代活得有尊严的人,都须要了解一些保护自己隐私的必要手段。那么今天我就来给大家介绍一款安全、易用的即时通讯软件——Cryptocat。  

0 事先声明

因为这是我的第一篇博文,手还很生,所以参考了编程随想在介绍TrueCrypt时的一篇博文的整体结构,希望他不要介意。另外,如果文中有任何错误或者不足之处,都欢迎你在下面留言告诉我,因为这样才能帮助我把之后的博文写得更好。  

1 Cryptocat是啥玩意儿?

简单来说,Cryptocat是一款用来保护人们在安全、加密的情况下进行在线交流的即时通讯类应用程序。其官方网站在这里。如果想大致看看它长啥样子,请看维基百科上的截图。   

2 挑选即时通讯软件的注意事项

下面是挑选即时通讯类软件的几个注意事项。咱们首先来对照一下,Cryptocat 是否符合这些要求。

2.1 从安全性的角度来考虑:

2.1.1 从社会工程学角度来看:

2.1.1.1 知名度高不高?

要判断某个软件的知名度高不高,至少有以下两种办法:
  1. 到 Google 里搜索一下该软件。(除非碰到同名的情况)通常 Google 的搜索结果数,可以大致反映出该软件的知名度。截至到目前来看Cryptocat拥有13K以上的搜索结果,应该说知名度还算是不错的。
  2. 是否有它自己的维基百科。通常一款有名气的软件都会有其相应的维基百科。Cryptocat的英文维基百科在这里

2.1.1.2 使用的用户多不多?

据Cryptocat的官方博客透露,其在全球范围内拥有20万左右的常用用户,并且每时每刻都有约300名聊天者使用它进行在线通讯。下面给出一张官方的全球用户数量实时(每12小时)统计地图

2.1.1.3 用户的口碑如何?

Cryptocat在2014年的11月电子前哨基金会发布的安全通讯积分榜中和"ChatSecure + Orbot", TextSecure, "Signal / RedPhone", Silent Phone, and Silent Text一起获得了并列第一的好成绩。顺便说一句,QQ在这个积分榜中荣获倒数第一。
说到Cryptocat的口碑,可以补充一个小八卦:记者Glenn Greenwald在香港第一次与斯诺登会面之前,就是用Cryptocat与斯诺登联系的。(具体英文报道在这里

2.1.1.4 它是免费的吗?

如果一款软件是免费的,那么就不会涉及到支付环节,从而也就大大降低了匿名用户暴露的风险。Cryptocat在这一点上,一下子就把"Signal / RedPhone"和Silent Text两款与之并列第一的软件比了下去。

2.1.1.5 它有没有审查机构的“认可”?

2.1.1.5.1 在天朝
基于我党对于互联网产品“不配合(审查)就封杀的”一贯作风,我们可以做出如下推论:如果一款互联网产品/服务遭到了GFW的认(ping)证(bi),又或者“大炮”的轰击,那么我们就可以认为它是比较值得信赖的,因为这至少说明以下两点:
  1. 审查机构没能与产品/服务提供者达成“合作”;
  2. 从技术上,审查机构至少无法对其进行大规模监控审查。
目前,Cryptocat尚未能获得GFW认证,这可能是因为Cryptocat在中国不够普及的缘故(以目前的数据估算下来,中国每时每刻仅有3人在线)。
2.1.1.5.2 在伊朗
早在2013年11月就获得了伊朗审查机构的认证。
2.1.1.5.3 在美国
2012年6月,Cryptocat的开发者在twitter上声称,他们在路过美国时,美国边境安检人员拿走了他的护照并审问他关于该应用软件的细节,要求他说出“Cryptocat所采用的加密算法以及该应用的安全强度。” (具体英文报道在这里

2.1.1.6 服务提供者的“人品”如何?

2013年,Cryptocat将服务器转移到Bahnhof下托管,同样在这个瑞典ISP托管下的还有维基解密和海盗湾的服务器。这样看来Cryptocat面对来自法律等方面的压力时,承受能力要比一般的聊天软件更强。  

2.1.2 从信息安全技术角度来看:

2.1.2.1 通讯数据传输过程是加密的吗?

对于两个人之间的私人聊天,Cryptocat使用OTR加密协议来确保聊天信息不受到监控和过滤,对于群聊(也就是程序中所说的“会话”),Cryptocat也采用了Curve25519, AES-256和 HMAC-SHA512这样的强加密算法。

2.1.2.2 服务提供者能看我的通讯内容吗?

对于所有的聊天信息,包括群聊信息和发送的图片、文件,Cryptocat均采用端对端加密技术(end-to-end encrypted),这就是说所有的数据在离开你的屏幕之前就已经经过了加密,即使是Cryptocat服务的提供者也只能看到加密后的乱码。(具体的实现原理可以在博文的评论区中找到,因为不是这篇博文的重点所以就不贴在正文里了)

2.1.2.3 我能够辨别通讯者的身份吗?

Cryptocat支持对与你聊天的人的身份进行验证,具体做法下文会提到。

2.1.2.4 如果我的口令被盗取,我之前的聊天记录还安全吗?

Cryptocat没有注册环节,口令被盗的问题无从谈起。Cryptocat的网络是基于XMPP BOSH协议的,也就是说它只传送经过加密的信息并且不会记录任何的数据。

2.1.2.5 软件之前出现过严重漏洞吗?

遗憾的是,Cryptocat在2013年6月和2014年2月分别被指出在群聊加密和验证机制上存在问题,不过好在现在都已经修复和解决了:)

2.1.2.6 这个程序是开源的吗?

Cryptocat不仅是免费开源的,更是一款在GPLv3协议下发布的自由软件。

2.2 从易用性的角度来考虑:

2.2.1 最好支持多种操作系统

Cryptocat目前支持作为Google Chrome, Mozilla Firefox, Apple Safari, Opera这四大主流浏览器的扩展程序来使用,同时也推出了Mac OS X和iPhone上的应用,但遗憾的是,其安卓版尚在开发之中:(

2.2.2 最好支持中文

Cryptocat目前支持35种语言文字,当然也一定包括了简体字和繁体字选项:)

2.2.3 无需注册

无需注册这一点既提升了它的易用性,也降低了匿名使用者暴露的风险。

2.2.4 不必翻墙

前面提到,由于Cryptocat在 中国使用人数太少,所以还未能引起审查机构的重视,使用它暂时是不用翻墙的,这也为那些手头没有强加密代理又需要安全的通讯环境的人提供了便利(下文会提 到,这种情况非常普遍)。不过二翔子还是强烈建议你,如果有条件的话,一定要在强加密代理的环境下使用它,因为虽然审查机构不知道你用它聊了些什么,但是你使用Cryptocat这一点本身就很值得怀疑。另外,相较于在积分榜中与之并列第一的"ChatSecure + Orbot",后者虽然有IOS、Android两大移动平台,但须要在移动端连接到Tor网络,从实际情况看,这对于中国使用者来说太过勉强。  

2.3 总结

从上面列举的可以看出,Cryptocat 几乎完全满足挑选即时通讯软件的要求,可以说相较于其他优秀的同类软件而言,在方方面面都有着较大的优势。  

3 Cryptocat 的几个特色

除了上述的种种优点之外,Cryptocat 还有另外几个很不错的特色。

3.1 短小精悍

Cryptocat作为浏览器扩展程序,仅有900Kb不到的大小,非常便于下载传播:)

3.2 支持发送加密文件

Cryptocat支持发送ZIP 或图像文件,文件最大体积:5 MB。  

4 如何使用 Cryptocat

4.1 下载

4.1.1 PC平台

  1. 如果你想在PC上运行它,那么首先你需要安装Google Chrome, Mozilla Firefox, Apple Safari, Opera这四种Cryptocat支持的浏览器之一。对于翻墙不便的人,建议使用Firefox。
  2. 打开浏览器之后,进入官网,注意不要禁用JS,点击"Download For XXX"按钮,之后按照提示安装并重启浏览器即可。

4.1.2 IOS平台

你只需要在手机/平板的“App Store”中搜索cryptocat,如何下载安装即可。

4.2 切换语言

对于英语不好的人来说,首次打开Cryptocat之后看到满屏的洋文请不要慌,看到边框的右下角有一个“English”按钮(如图),点击一下,这时你就会看到“简体”二字,点击一下,这时软件的界面就换为了简体字:)

4.3 切换服务器

小白用户可以跳过此小节。切换到简体字之后,你会看到旁边有自定义服务器的字样。高级用户可以选择其中的暗网服务器 (Tor Hidden Service),或者用自己的私人服务器。顺便说一句,如果你为了方便,把Cryptocat直接安装在了Tor浏览器上,虽然Tor官网不建议在该浏览器上加装任何插件或扩展,但是据说,扩展自身漏洞给浏览器带来的影响应该并不大。

4.4 建立聊天室

假如小黑现在想跟小白用cryptocat聊天那么他应该怎么做呢?
  1. 小黑先在【会话名称】处随便输入一个聊天室的名称,比如:abc123
  2. 然后在【昵称】处输入一个它在这个聊天室的昵称,比如:xh
  3. 接着小黑按下【连接】按钮。这时程序开始建立一对使用非对称式加密的公钥与私钥。
  4. 然后小黑把【会话名称】(也就是:abc123)告诉小白
  5. 小白于是在【会话名称】处输入(abc123),在【昵称】处输入自己的昵称(xb),然后点击【连接】按钮。这样他们就可以在同一个聊天室中聊天了:)
  6. 如果还也想邀请小花参加,就把【会话名称】告诉小花就好了。
另外值得说明的一点是,一个人可以同时创建/加入多个聊天室。

4.5 身份验证

光是看到有小伙伴加入了群聊还不够,因为你必须知道这个人确实是你的小伙伴,而不是国保 :( 在这里,Cryptocat提供了两种验证对方身份的方法:
  1. 向对方提一个只有你俩知道的问题,对方的答案必须与你给出的答案完全相符。但是这种方法有两点局限:一个是验证者与被验证者均须使用浏览器运行Cryptocat,而有一方使用手机移动端就不能用此方法。另一个限制是,问题的答案只可以是英文或数字,而不可是中文。
  2. 用其他渠道联系对方(比如:打电话),让他们读出自己的数字指纹,然后看看与你在你自己屏幕上看到的他们所显示的指纹是否一致,如果一致,你就可以在屏幕上点击“√”,如果不一致,则代表会话和聊天者很有可能受到了监控和冒充。  

5 Cryptocat的适用与不适用场景

5.1 适用场景1:教授翻墙软件的使用

假设你的技术小白朋友想要在自己家中的电脑上翻墙(你俩现在都在外面),那么作为懂得用技术保护自己和他人的你,就不应该说:“好,我一会儿把软件发你qq邮箱。”又或者“好,晚上在qq上教你。”,而是应该告诉他先下载一个火狐浏览器,再在官网下载一个Cryptocat(这两个的获取渠道都未被墙),会话名称就叫:XXX,在那个上面我教你。

5.2 适用场景2:活动/维权/异议人士在线讨论

前几天看王政教授关于前一段时间女权活动人士被扣押的采访报道,里面有这样一段话:   
王:……我们都在一个微信群。这么多年我在中国教学生,我的学生又有自己的学生,我们有一个很大的网络……在微信群中有各种各样的专业人士,有律师有教授,有记者,还有学生,非常有行动能力。有的在 公众视野下,有的不希望露面。策略不同。我们有不同的微信群,比如我去年教的学生,她们有一个微信群。去年发生了厦门大学教师性骚扰事件后,大家为了联 络、商讨方便,又组成一个专门投入犯性骚扰行动的微信群。她们非常有能力,在教师节前发起联署,动员高校老师、学生联名签署,给教育部发信,全部都是在微 信上做起来的。年轻的行动派,包括这次被抓的人,在大学生当中做了大量工作,散发小册子,告诉他们如果受到老师侵犯,应该怎么办等等。今年三八节来临前, 大家都在群里说,今年三八节做什么啊?七嘴八舌,很热闹。她们说她们要搞小贴子,反对公车性骚扰。大家说,好啊,很有创意。都很支持。然后突然有消息说, 这些人被抓了。……不仅没有办法联系了,而且我们在微信上的讨论全部一目了然了。 
曹:微信本来就是在政府严密监控下的。
王:大家都知道警察在读我们群的微信,都不说话了。这个时候我就觉得我需要说话,我就不断地在微信上发言,……她们其他人就很担心,跟我说,“王老师,不要再说了,警察在看着呢。”。……这几个一抓,其他很多人就转入地下了,躲起来了,因为警察确实是想抓很多人的,不光是这几个。  
上面提到,自从3月7号, 那几名女权活动人士被带走之后,其他女权活动人士也因为担心微信监控而不敢再在讨论组里说话了。这实际上正中了朝廷的下怀,因为从现在来看,朝廷之所以拘 捕这几名女权活动人士,目的就在于“杀鸡儆猴”,让其他社会活动人士都“给它老实点”,从而达到钳制活动人士自由表达权的目的。但实际上,活动人士们完全可以使用Cryptocat之类的软件来保护自己免遭监控,用技术的力量捍卫自己的自由表达权。

5.3 不适用场景1:离线消息

Cryptocat没有办法发送离线消息给你的好友,因此它无法让你拥有一个像其他主流即时通讯软件的长期联系人名单(long-term contact lists),虽然它推出了从Facebook Messenger好友列表中,向也使用cryptocat的好友发起会话的功能,来弥补这一缺陷,但是对于国内用户来说并不算实用。

6 使用 Cryptocat的注意事项

最后再讲几个注意事项,以免大伙儿走弯路。

6.1 Cryptocat不能防范什么

6.1.1 键盘记录程序的监控

这一点可以通过使用杀毒软件查杀间谍程序,或者使用软键盘来防范。

6.1.2 危险的输入法软件窃取对话内容

这一点不难理解,因为那些危险的国产输入法本身就是一个“键盘记录程序”。这里可以考虑用google、bing、小狼毫等输入法替代之。

6.1.3 聊天人本身居心不良

假如前一段时间的上海金山人民一起组建了一个cryptocat群聊室(不知道上海金山发生了什么的同学请看这里 ),由于互相不一定都认识,那么就有可能有国保伪装成一起讨论问题的市民来窃听聊天内容。尽管如此,由于你使用的是化名来聊天,国保依然不知道你是谁

6.2 告知聊天室名称时要小心

在你建好房间后,告诉别人聊天室的名称的时候,仍必须透过其他方式来告知,例如电话、email、微信,而这些过程充满被窃听的风险。如果被窃听到加密聊天室的名称,别人(比如国保)一样可以加入聊天室中,而在此之后的群聊内容就不再安全了。
不过不用担心,二翔子想出了一个非常简便的解决方法,那就是你大可以在受到审查和监控的通信软件(比如微信)中告知你的朋友聊天室的名称,但是要在两个人一进入到这个聊天室之后就立即重新约定换到一个新聊天室(这时使用的是cryptocat,因此别人看不到你们的聊天内容)
当然,还可以在有机会见面时便定好群聊名称,又或者使用监控人员触角伸不到的互联网服务告知对方聊天室的名称(比如用gmail)。

6.3 面对监控人员闯入群聊

如果你和几位朋友讨论的正欢,突然有陌生人闯入了你们的聊天群,由于Cryptocat没有“踢人”的功能,所以这时你们唯一能做的就是退出群聊,换一个聊天室。这就需要你们在还没有陌生人闯入之前(最好是刚一建立聊天室)就在聊天室约定好“这个聊天室要是被人闯入了,就换成XXX聊天室”。  

7 其他的选择

如果看完本文之后,你觉得Cryptocat不够适合你,没关系,我把上文提到的,由电子前哨基金会发布的,安全通讯软件积分榜做了翻译,又加了几项更符合国情的考察标准(比如:“是否被墙”、“是否需要付费”),然后做成了一个电子表格,感兴趣的同学可以在这里下载。 另外这个表格还不算完善,很多数据需要补充,因此希望和热心人一起完善这个表格,从而帮助大家更好地选择出最适合自己的那一款安全的通讯软件.
from https://2xiangzi.blogspot.com/2015/04/recommend-cryptocat.html
------------

如何使用CryptoCat进行加密聊天

著名的EFF发布了一篇关于通信工具的安全性调查报告,其中CryptoCat等工具获得了满分...下面来介绍一下CryptoCat的使用方法....
首先这个调查报告从 传输过程中是否加密?数据已加密服务提供者也看不到?你能验证联系人的身份么?在你的key被偷取的情况下过去的通信还是否安全?是开源的软件么?安全性设计是否正确记录?源代码被审计过么? 这些角度来评测了各类通信软件的安全性..不过其中比较有意思的一点是QQ只在传输过程中加密这一项得分了(传输过程中加密不等于服务提供者(腾讯公司)无法看到你的聊天内容)..你懂的!...
在好久之前的一篇文章上我们介绍过使用Pidgin+OTR进行加密通信
首先Cryptocat并不是一个传统意义上的软件,而是一个浏览器插件...
其官方网站是: https://crypto.cat
支持的平台有: Chrome , Firefox , Safari , Opera , OS X , iPhone
不过貌似没有安卓,应该在接下来的一段时间内会开发出来...
安装的方法就是点击安装浏览器插件即可...这个不用说了吧...
使用方法:
在安装好之后,浏览器会有一只喵的图标
点击之后,我们来打开主界面
然后点击右下角的English将语言修改为中文...
修改为中文后的界面
到这里来解释一下会话名称,昵称等是什么意思..
举个栗子吧,假设这是个旅馆,你要到旅馆开房,会话名称就是你的房间号,昵称就是你的名字(网名)..
好的我们来开个房...
这个会话名称可以自定义,只要两个人的会话名称相同就可进入同一房间..昵称也可以随意..这里我们取名叫bluecat(蓝喵)...
在首次使用同一个会话名称和房间号的时候需要生成一对加密key,如下图
如果一直卡在最后请检查网络是否已联通..
将房间号告诉要聊天的对方后,对方可以采用输入同一个会话名称的方式加入链接
假设对方叫whitecat(白喵)待对方加入之后,我们就可以在会话列表看到对方了
当点击会话那一栏目时是群聊,点击具体的人的时候将是私聊..但是在此之前我们需要确认一下对方的身份,否则聊天的时候对方的名字前面将会有惊叹号,如下图
点击会话栏目的对方昵称的小三角显示更多选项
10
点击“显示信息”
如果你能确定对方就是你要聊天的人,直接点击已验证的对钩即可..否则请提出一个问题并让对方回答..我们来举个栗子
假设小王和小李到了参加蒙面聚会,小王发起了一个私人聊天请求(到旅馆我们好好谈谈),但是无法知道谁是小李,这时一个自称小李的人走进来了,小王就可以问他一个问题,如:小白家里的喵有多少根毛? 这个问题一定是只有小李本人才能知道答案的问题,而不是1+1=? ..
点击提问后,对方将会收到一个提示验证的框(如图)
对方回答完毕后,就可以知道是李逵还是李鬼了..
cryptocat不仅能支持文字聊天,还能加密发送文件..(仅支持 ZIP 或图像文件。文件最大体积:5 MB。)
最后是安全性提示,来跟我默念233遍...一定要记住下面的内容:
Cryptocat 不是神器。您也不应该把生命托付给任何一款软件。对于靠不住的人或者是键盘记录器,Cryptocat 也无能为力保护您,并且也不能让您以匿名形式连接。
from http://web.archive.org/web/20160720144258/https://xiaolan.me/how-to-use-cryptocat.html
------------------------------------------------------------------------------------------

Cryptocat:最安全的聊天工具

Cryptocat 是啥?Cryptocat,俗称 “加密猫”,是一款非常注重安全的聊天软件。美国前中情局员工斯诺登在躲避美国政府追捕过程中,就是使用 Cryptocat 与记者联系。Cryptocat 加密猫一举成名。

当然,Cryptocat 加密猫并非浪得虚名,其在 “电子前沿基金会 EEF” 的多款聊天软件安全测试中,荣获第一名,Cryptocat 加密猫目前支持 Linux、Windows、Mac

Cryptocat 由于聊天消息无法被侦测,所以自然被中国互联网和谐,无法打开官方网站,如果你要下载 Cryptocat 以及注册成功请先实现成功上网.

下载对应平台的客户端,然后点击注册帐号。

Cryptocat 加密猫的注册不需要用户任何信息,手机号码、邮箱都不需要。点击 “Create Account” 链接到 Cryptocat 加密猫官网注册页面。输入账户名和密码(最少 12 位),注册会有人机认证,勾选人机验证 “I'm not a robot”。

Cryptocat 是一个简单的使命的免费软件:每个人都应该能够与他们的朋友在隐私中聊天。

  • 开源。所有 Cryptocat 软件都是透明的。
  • 默认加密。每个消息都是加密的。
  • 前进安全 聊天是安全的,即使你的钥匙被盗。
  • 多个设备 即使离线,设备也会收到消息。
  • 文件共享 安全地与朋友共享文件。

添加新朋友

在您可以与 Cryptocat 上的朋友聊天之前,您必须先向他们发送好友请求,或者接受他们发送给您的好友请求。这确认您都希望彼此沟通,并将每个人添加到其他用户的好友列表中,他们可以看到您是否在线。为了发送好友请求:

Windows 和 Linux:右键单击系统托盘中的 Cryptocat 图标,然后选择添加好友,或从好友列表窗口中打开帐户菜单,然后选择添加好友。您还可以使用好友列表窗口中的 Alt + A 键盘快捷方式。
Mac:右键单击 Dock 中的 Cryptocat 图标,然后选择 Add Buddy,或者打开 Account 菜单并选择 Add Buddy。您还可以使用好友列表窗口中的 Alt + A 键盘快捷方式。
请记住,您的好友将需要接受您的请求,才能相互聊天。