May 13th, 2010 | Tags:

今天发现关于HTTPS安全方面的问题,很多推友们都比较迷惑,本人在这里简单介绍一下相关的问题,并做一下汇总。欢迎留言提问!

Q: 什么是https?
A: https是Secure Hyper Text Transfer Protocol(安全超文本传输协议)的缩写,是一种安全性很高的传输协议,远比普通的http协议安全得多。

Q: 为什么https协议更安全?安全在哪里?
A: https协议对所有的传输内容进行身份验证、加密和完整性验证,如果https连接成功,则能够保证:

  1. 如果你的线路被黑客、ISP或者GFW窃听,窃听者也得不到你的传输内容,甚至得不到你所访问的具体地址。
  2. GFW和ISP既不能篡改你发送的内容,也不能篡改你接收的内容,最多只能掐断你的连接。
  3. 你所访问的主机被不怀好意者冒充。
  4. 撞墙(IP封禁除外)

而传统的http协议可以窃听,篡改,撞墙等等。不过https保证:

  1. 计算机自身的安全,如抗病毒等。即使使用了https也不能保证传输的内容是无毒的。但是能够保证如果有都的话一定是对方主机传送给你的。
  2. 窃听者不知道你在与哪个主机通信。因为直接建立连接必须要知道对方主机的IP。
  3. 连接到被block的IP。
  4. 你的身份不暴露。比如你在推上叽叽喳喳的吧家底都翻出来,这个不是https能控制的。。。

Q: https的原理是什么?对信息安全不感兴趣的童鞋请无视此问题。
A: 一般来说,安全性分三个部分:

  1. 保密性——免于被窃听。https的保密性是通过使用不可能破解的加密算法对通讯内容进行加密而实现的。
  2. 完整性——免于被篡改。https的完整性是通过数字签名来实现的。这也不可能破解
  3. 身份验证——保证与你通信的对方是其所声称的。比如你通过https访问www.google.com,https协议保证你访问的主机确实是www.google.com的主机。然而,这一点上,https的设计(或者说PKI的设计)有缺陷

PKI是负责进行身份验证的体系。 要讨论http的身份验证,我么不妨复习一下非对称密码体制。 非对称密钥对有一个神奇的性质就是: 原文 –通过私钥处理–> 签名 –通过公钥处理–> 原文 不同的私钥处理同样的原文得到的是不同的签名。比如主机h有一个原文P 想要发布,不想被人篡改,方法是h产生一对非对称密钥,妥善保管私钥,并让所有人得到公钥。然后用私钥处理P得到签名S。向所有人发送P和S。如果想验证P是不是h所发,那么只要用h的公钥处理S,如果结果与P相等就表示没有被篡改,如果不等就说明有问题了。 但是这里问题在于,怎样安全的向每个人发布h的公钥呢?这需要PKI,即公钥基础设施的协助。

Q: https的身份验证功能有什么缺陷?
A: 现在已经知道有一种很综合的方法来进行https的身份验证攻击,也称“SSL中间人攻击”,他使用了PKI的管理上的漏洞来进行攻击,还必须伴有DNS欺骗等。 主要的方法是,首先,正常的主机www.google.com在CA1(顺便一提,mail.google.com现在的证书提供这是Thawte SGC CA)上面有一张完好的证书。攻击者跑到CA2上说,“你必须承认四项基本原则,承认台湾是中国不可分割的一部分,以及我就是www.google.com”。结果CA2信以为真,并给攻击者签署了证书。这之后攻击者拿着这份证书给受害者看,受害者的机器一看是CA2签署的,就也信以为真。之后的杯具大家就都知道了。

Q: 那怎么保证https的安全性?
A: 实际上,https现有的全部安全问题基本都集中在PKI和CA的管理上,也就是我们所说的CA机构的权威性和可信性上。因此解决方法也很简单,如果你信任一个网站的话,就要记得签署该网站证书的CA。如果你发现CA是中国的,那么你就要提高警惕了,有可能会有问题。注意将根本没法信任的CA如CNNIC剔除出去。另外,DNS劫持也是SSL中间人攻击的必要一环,因此尽量使用第三方的DNS服务如8.8.8.8或者OpenDNS等,在DNS污染遍地开花的时代,这是非常有必要的。

欢迎大家继续提问!

March 28th, 2010 | Tags:

空间被墙后,空间商发来威胁。本着自由主义的原则,北京老张进行了反抗。下为其内容:

<空间商>:

WopusIDC北京BGP主机更换IP通知

各位,

这个主机联系两次被封IP,Wopus的主机,从来没这样过。所以,需要各位都想想,是想写博客,还是想传播那些影响其他人的内容。

各位也都检查一下自己的博客,如果再发现有人在博客上有Twitter的内容,各种翻墙工具的内容,时政评论内容(国内各种灾难,Google退出等事件),色情内容,我会继续毫不客气的删除帐户。

哪怕是一篇文章有问题,我也会毫不客气的删除整个帐户。

新的IP地址:174.37.46.158

只要在域名解析的地方,更换一下即可。

记住,一人方便,于己方便

<北京老张>:

虽然我已经没有在做Twitter的东西(这个主机就是过去Twibase的主机),在你那里买的主机也已经废置不用,但是我得说人家做的是正义的事情,你还威胁人家。这不是为虎作伥吗?记住:人人求自保,大家都不保。如果你真的因为有人发布时事评论而删号,那我也威胁你一句:我会替健忘者记住你的。

<空间商>:

什么是正义的事情?

什么为虎作伥?

在你无力反抗的时候,请不要伤及无辜。

我不高尚,但我知道,当有人因为主机被封,而失去一些机会的时候,我觉得,作为他们的提供商,我有必要保证他们的正当权益。

不是都写博客的,有些是企业在用。他们选择了信任,我必须承担我的责任。

所以,别给我说这些!如果你真要记住我,需要我给你一张照片吗?

<北京老张>:

我能理解作为服务提供商的责任,但是请你也理解作为一个人的责任。我觉得你应该能分辨出是非来,不用我告诉你什么是正义。协助打压真相怎么看也不是正义。

请你明白:所有的自由都是抗争得来的。有多少企业受到影响?如果他们都起来抗争,就不会是现在的样子。你现在避而不谈政府的打压,而给每个人发信进行威胁,这是什么行为呢?

你可以删号,你可以拒绝提供服务,但是你不要以为自己是对的并且洋洋得意!看看你信中颐指气使的样子吧

我这边的原则是,人家客气,我也客气。

真相,什么事情?没有永远的朋友,也没有永远的敌人,而只有永远的利益。

至于真相如何理解,这个我们就不强求对方了。

至于你说的第二段话,我就直接无视了,我不知道你在说什么,思想没这么高唱。

我没删除你的QQ,也没删除你的空间帐户,而且,最重要的是,在过往的这两年间,很多用户都把我当成一面镜子,我这边不会有任何的变化,变化的是你以及你的遭遇和环境。

我没有得意,这本身也不值得得意,但我知道,我不会只服务于某一个用户,也不会只在意极个别人的“真相”和“利益”。

<北京老张>:

毒奶粉、毒疫苗、豆腐渣校舍、google退出、国家受难,这些是极个别人的真相吗?
高智晟、刘晓波、谭作人、游精右追求的是极个别人的利益吗?

言论自由对中国而言何其重要!
在没有新闻自由的社会里,博客是一条战线。请不要诋毁这种价值,它不是“极少数人的”!

反而是中国被“极少数人”控制,被“极少数人”审查,被“极少数人”封锁,而这“极少数人”正是麻烦的来源,是中国的毒瘤。如果你帮助“极少数人”,那你只是为虎作伥而已。

如果你认同我所说的,请你再发一封信告诉大家,请不要与捍卫真相与价值者为敌。你们的敌人只是极少数人而已。

<空间商>:

在允许的范围内,我想说,不要高估了某些人,更不要低估了更多数人。

到此结束吧。我极力在避免一个方向,你却在一直往这方向,这样会使讨论没太多的价值。

<北京老张>:

不用说这么暧昧不清的话。不要高估谁?不要低估谁?

我也不多说了,说多了你也听不进去。你知道你这样做是不正确的就好。

March 16th, 2010 | Tags:

开放API对于公共性质、基于言论自由能力的网站具有深刻的意义。一来网站可以通过API Proxy来绕过审查,二来可以让第三方发布者帮助扩大自己的市场,甚至有时可以通过提供收费的开放API服务来获得利润,产生一种共赢的局面。推特基地现已经完成了初步的API接口以及一个建议的客户端。现在公布于此:
Read more…

March 14th, 2010 | Tags:

北京老张是学生,今年22岁。空有技术,没有才能。若干年前幡然醒悟,打算从最原始的逻辑开始重新理解这个世界。
北京老张有自己的价值观,所有价值观的根本就是人权。由此推得,反对民族主义,反对民粹主义,反对极权主义。

北京老张的博客内容包括并不限于:

  1. [行]党国内的各类运动会趣闻。
  2. [智]逼你思考的口水文。
  3. [推]推特基地情况以及国内推特推广情况。
  4. [段]不解释。
  5. [太]技术文章。

本人怀着对国家的感激建立此博客!欢迎各界人士前来砸场,感谢老大哥的小弟们的职务行为。
请大家随意回复,言论内容本人不做限制。硬性广告一律封杀。

两点六十了,我们正式开会,谢谢合作!

2010年3月14日 于 北京

March 14th, 2010 | Tags:

从2009年12月中旬开始,我开始使用Twitter。起因是GR无法满足我的需要。我要找我需要找的人,说我想说的话,做我该做的事。在@hopone同学的敦促下,开始用起Twitter。所以算起来,到现在为止,我只用过三个月的Twitter而已,算是个新用户。

可是,短短的三个月来,到底发生了什么呢?冯正虎、刘晓波、伊朗绿色革命、谷歌退出中国、谭作人、薛明凯、艾未未的游行、两会、老虎庙…… 这让我越来越重视Twitter,并且把这个岌岌可危的国家的希望寄托在Twitter上。

美好的Twitter

我们知道,Twitter的核心理念是“去中心化”和“信息流动性”。Twitter本身所应用的技术并不复杂,关键的问题是在于怎样让信息流动起来,防止信息结块(像新浪微薄那样,产生信息寡头)。Twitter做了很多事情来防止信息结块,并提高信息流动性:

  1. 开放API。这使得任何人可以为自己的硬件编写自己的客户段。API使得移动设备上推泛滥,API Proxy还有助于打破网络审查。
  2. 限制字数。140个字的限制来自于手机。但是技术上,超越140个字根本不是难事。之所以要限制140个字,是因为要提高信息的流动性,防止用户过度斟酌文字。写一点发一点即可。少的文字不会过分的侵入Follower的界面,防止不刻意地Spam。如果想要大段文字,大可以写在博客上,放一个短网址链接。
  3. Retweet。大大提高了信息的流动性。老式retweet注重评论,新式retweet注重推动,这都可以用很少的代价将一个信息发送出去。
  4. 不进行名人推荐。Twitter体验的好坏,取决于你所Follow的用户发推的质量。这样,质量高的用户会得到更高的关注,关注者多的用户通常也会更加负责人的发推。这就形成了马太效应。Twitter不需要或者不想向用户进行推荐,因为这可能会加剧马太效应盛行,而这是与“去中心化”概念相左的。真正流动的东西不应该是某些人的,而是重要的。这可以称为对事不对人原则
  5. Unfollow时不会提示对方。这一点让用户可以更好地控制Twitter的体验。类似于方便离婚的政策。
  6. 将推发送到Mention的人那里去。这可以解决中心化问题。在Twitter中,使用@符号附带发送个这个人的代价是非常小的。每个人不会跟踪自己的推,因此也不会介意别人不回复自己。用户的Follow行为是由对方的言论是否和自己的口味决定的,而不是由对方的名气决定的
  7. Geo-Tagging。这让Twitter从虚拟走到了现实。
  8. 大量的短网址服务出现,包括图片和声音短网址。这写服务无疑增强了Twitter的信息承载量。由于短网址服务,Twitter已经超越了一个会话平台,变为了一个信息定向推荐、检索的平台了。

由于Twitter的这些努力,使得去中心化和信息流动性得以实现,这两者可以产生一个自发修正的去谣言系统,这类系统还会迫使用户更加深入地思考,这正好是中国百姓所需要的,同时也是Twitter被封的原因。

Twitter从默默无闻一直发展到现在(前几天刚刚庆祝了100亿推)这是由于去中心化系统是“literally”亲民的系统,也是人类对于言论自由作为普世价值的证明。

服务于中国新用户的Twibase

我之所以罗列Twitter的措施,是为了使大家看到一个成熟的微博环境应该要做的事情。很多该做的国内的微博都没有做到(还多了一个可恶的审查),Twitter在这方面要比国内的服务优雅的多。但是Twitter也有一些不尽如人意的地方:

  1. 中文支持。虽然发推支持Unicode,但是搜索不支持。至今也没有提供汉语界面,当然这个问题可以用客户端来解决。
  2. 没有关于兴趣的推荐。我们不需要推荐名人,但总应该为谁也不认识的新人着想,来帮他们寻找高质量用户,提高其TWitter体验。更何况,我们已经说了名人推荐不会造成太强的马太效应。
  3. 同城搜索。我想找我同城的推友,怎么办。这需要Geo-Tagging的结合。
  4. 对中国的推友门槛太高、不能吸引人。一方面讲解Twitter的中文文献太少,另一方面,找不到有效的高质量用户(这是由于推友太少造成的)。

为了解决这些问题,二月底我编写了一个爬虫,从@duanzi(一个我认为倾向性不明显的用户)开始,搜索出所有的中文用户,并且作出一个排名。这是为了解决第4条缺陷而做出来的,这就是本站。

本站的主要目的是,1.让新人尽快找到组织,2.提高中文用户的Twitter体验

我打算这样解决这些问题:

  1. 根据对事不对人原则,挖掘中文用户发推的内容,产生中文的Trend。之后可以在Twibase上直接看到响应关键字的推。
  2. 按照不同取向提供自由的可一键Follow列表。
  3. 同城搜索。通过Geo-Tagging来得到同城的推友,之后就是你们的事了。这里有隐私问题,但是这个问题不会比Twitter本身更严重,因为这个资料本身就是你通过Twitter发布的(现在使用Geo-Tagging的中国用户很少)。
  4. 提供一个影响力榜,并给出Twitter的使用方法和其他事宜的介绍。

其中第4条已经基本完成,前三条会逐步加入到本站中。为了防止党国封锁本站,还提供了一个API和一个客户端(已完成,但还未公布)。

关于一键Follow服务

这一点受到了推友@xiange质疑1质疑2 ……(需翻墙)。我非常同意这些质疑中大部分的看法。我认为虽然一键Follow功能没有达到专制化的层次,但是必须承认的一点是,为了提高Twitter体验,是不应当盲目提供破坏去中心化效果的服务的。这个问题在我来看就是: 1. 不能破坏对事不对人原则,按照只与人的性质有关、与事的性质无关的特性(如Follower数、影响力)提供一键Follow功能。 2. 不能鼓励用户不按照自己的意愿,傻瓜地Follow大量的人。推友@adeyso通过tweepml服务建立了一个列表,是基于本站3月11日的影响力榜排名的,抽取了前200位。这实际上破坏了对事不对人原则。并不是说一键Follow不好,而是这个列表的标准有待商榷。另外其实也不是公平的问题,因为我们从排名的结果来看,靠前的用户确实是更加有影响力的用户,这样多关注他们是公平的。主要的问题是对去中心化的破坏。

所以经过再三考虑,我现在大致决定:

  1. 不对Follower榜和影响力榜提供一键Follow服务。
  2. 对用户分类列表提供一键Follow服务。
  3. 对根据个人喜好推荐用户提供一键Follow服务。
  4. 对所有的一键Follow服务提供撤销机制。以防止盲目follow。

这几点可以在不破坏去中心化的条件下,最大化用户的Twitter体验。

关于影响力榜

很多推友向我询问影响力榜是怎样决定出来的。影响力的本质是Page Rank,其数学基础是把跳转当作随机过程,有一定的参考价值。必须要提到的是,这个榜到现在为止还不稳定。这是由于数据不完整造成的。最重要的例子是@keso,由于在扫描@keso的过程中,其follower列表发生了cursor断裂(这是Twitter服务器的问题),因此较早前Follow @keso的人以前无法得到,也无法归类到中文用户。现在通过各种方法已经基本找出了大多数的中文用户,这样一修正,可以看到keso从第19位跑到第3位来了。这并不是说keso的影响力迅速提升,只能说明现在的算法还不稳定。我只能保证,排在前1000位的用户,绝大部分都是有影响力的。

2010年3月15日 于 北京(内容还会更新)

TOP