搬迁公告

备案号终于下来了。

从今天开始,我的BLOG正式迁移到:http://www.we8log.com

mblogger将不再更新。

Feedsky重烧的RSS已经重定向到新的站点,如果你订的是mblogger的RSS,请更新为:

bloglines或订阅此RSS:

客气话也不多说了,总之是要将八卦进行到底的。^O^

[技术评论]身份验证

(2006-11-07)

听说今年的网志年会上有一个讨论OpenID的专题。对于网站的身份验证问题不算一个新话题,自从当年MS推出并热炒passport的时候就已经开始了。即使是OpenID也出来有一阵子了。

不过我是看了前一段ZOLA对OpenID的大力推广之后,才开始去了解这个技术。虽然OpenID有自己很大的优势,但同样存在着一些目前不可克服的困难。

首先简单地把目前的身份验证手段分为三类:

1、集成验证。就是现在大多数网站所采用的方式,你要在这个网站访问,就要在这个网站注册一个用户,并且以这个用户身份登录。

2、第三方验证。如MS的Passport。服务提供网站不记录用户身份,而是通过向第三方(如MS)提请验证用户的身份。

3、分布式验证。以OpenID为例,它的验证过程要麻烦一些:用户以一个URL作为身份标识,这个URL所指向的页面包含了用户所选择的验证服务器(YADIS),当用户以这个URL登录服务提供网站时,网站从这个URL取得YADIS信息,然后转向YADIS网站,用户在YADIS网站输入密码以确认身份后,最后反馈到最初的服务提供网站。

第一类验证的优点是简单方便,并且对于网站来说,可以独占用户资源。但缺点也是很明显的:对于用户来说,要记住自己在每个网站上的用户名和密码并不是一件容易的事——因为难免碰到用户名重复的情况而不得不改变自己的用户名,或是不放心网站的用户资料管理而在不同网站用不同的密码。

第二类验证提供了一个统一的验证渠道,对于用户来说方便很多,而且由MS这样的大公司提供验证服务也感觉比较有保障。但对于网站来说就损失了自己的用户资源,特别是当这些网站与MS存在竞争的可能性时,他们就更加不愿意了。而且还有一个潜在的风险就是,一但这个第三方验证失效(比如GFW),也会受到连带的影响。

于是OpenID横空出世。用户可以自由选择YADIS服务器来记录自己的身份信息,有条件的用户甚至可以自己建立一个,避免了第三方集中验证存在的失效风险。此外分布的验证机制避免了大公司的垄断,对于网站来说也会感觉好一些。而且对于用户来说,到哪都可以用自己唯一的URL,不存在用户名被占用的问题。

貌似OpenID是最好的解决方案?

但我认为,这只是看上去很美。

首先,从使用方便性上看,URL通常太长了,除非用户拥有自己的域名,否则使用BLOG或个人主页之类的东东通常都太长了一点。而且输入URL以后还需要转到YADIS上去输入密码(当然网站也可以实现成一步完成,由网站到YADIS上去验证,但存在风险,见《安全支付》),这也是比较麻烦的。

其次,第一类验证可以在网站上完成,不需要多余的Round-trip,响应速度最快;第二类需要到第三方验证网站转一圈,会慢一点;而OpenID需要到用户URL和YADIS上各转一圈,响应速度最慢。

第三,绝大部分用户是不可能自己建立YADIS的,所以结果还是要交给第三方YADIS做验证,还是不可避免出现与第二类相似的集中情况。相当大部分用户甚至连BLOG和个人主页都没有,所以还不得不在如MyOpenID这样的网站上注册一下,取得一个OpenID专用的URL,结果就与第二类验证没什么区别了。

第四,从安全性考虑,OpenID使用的YADIS可以由用户自己选择,而各YADIS在安全性方面存在良莠不齐的情况,用户的资料安全风险还是比较大的。

第五,可靠性差。表面上OpenID将验证过程分布到很多的YADIS上,似乎会比较安全,但实际上除非用户自己能够在URL页面上作YADIS的容错备份(在页面上做几个YADIS的链接,这只是我的想法,至于OpenID是否支持这样做,我还没有找到进一步的资料),否则一旦用户所选择的YADIS失效,则用户就无法正常使用了。而最大的风险还在于用户URL页面可能失效。

从验证失效的风险上来看:

第一类验证如果失效,只是那个网站无法访问,不会影响到用户访问其它的网站。假设网站的可靠性为N(N为小于1的数,比如99%),则总的可靠性也为N。

第二类验证如果失效,则用户所有依赖这个验证的访问都将失败,但就某一个网站来说,其总可靠性为N*A(A为验证网站的可靠性,比如99.99%),比第一类的可靠性要低一些。当然因为这类验证网站都是由大公司提供,可靠性通常会很高,所以与第一类的可靠性差别可以忽略。

而对于OpenID来说,用户URL和YADIS之间,只要有一个失效,则用户的相关访问都将无法进行。以单个网站来说,其总可靠性为N*U*Y(U和Y分别是用户URL页面和YADIS的可靠性),如果是用mblogger的页面来做URL的话,假设其可靠性为80%,而所用的YADIS可靠性为95%,则总可靠性将大幅下降到:76%。当然这是一个极端的例子,我想不会有人拿mblogger这种靠不住的页面来做自己的OpenIDURL的,而且一般的YADIS可靠性应该也不致于这么低(但也还是不如MS的passport)。

但总的来说OpenID的失效风险还是要远大于前两类验证的。

基本上在我看来,OpenID在解决了前两类验证方式的缺点的同时,也带来很多的问题。

附加说明:本来我还以为GoogleAccount是一种类似于Passport的第三方验证手段,但是经过几天的研究后发现,它只提供了对部分Google服务的帐户访问功能,拒绝对第三方提供用户身份验证服务,这实在是一件很遗憾的事情,否则Google Account应该会是比OpenID更好的选择。

Tags : OpenID, Passport, Google Account

[技术评论]身份验证

(2006-11-07)

听说今年的网志年会上有一个讨论OpenID的专题。对于网站的身份验证问题不算一个新话题,自从当年MS推出并热炒passport的时候就已经开始了。即使是OpenID也出来有一阵子了。

不过我是看了前一段ZOLA对OpenID的大力推广之后,才开始去了解这个技术。虽然OpenID有自己很大的优势,但同样存在着一些目前不可克服的困难。

首先简单地把目前的身份验证手段分为三类:

1、集成验证。就是现在大多数网站所采用的方式,你要在这个网站访问,就要在这个网站注册一个用户,并且以这个用户身份登录。

2、第三方验证。如MS的Passport。服务提供网站不记录用户身份,而是通过向第三方(如MS)提请验证用户的身份。

3、
分布式验证。以OpenID为例,它的验证过程要麻烦一些:用户以一个URL作为身份标识,这个URL所指向的页面包含了用户所选择的验证服务器
(YADIS),当用户以这个URL登录服务提供网站时,网站从这个URL取得YADIS信息,然后转向YADIS网站,用户在YADIS网站输入密码以
确认身份后,最后反馈到最初的服务提供网站。

第一类验证的优点是简单方便,并且对于网站来说,可以独占用户资源。但缺点也是很明显的:对于
用户来说,要记住自己在每个网站上的用户名和密码并不是一件容易的事——因为难免碰到用户名重复的情况而不得不改变自己的用户名,或是不放心网站的用户资
料管理而在不同网站用不同的密码。

第二类验证提供了一个统一的验证渠道,对于用户来说方便很多,而且由MS这样的大公司提供验证服务也感觉
比较有保障。但对于网站来说就损失了自己的用户资源,特别是当这些网站与MS存在竞争的可能性时,他们就更加不愿意了。而且还有一个潜在的风险就是,一但
这个第三方验证失效(比如GFW),也会受到连带的影响。

于是OpenID横空出世。用户可以自由选择YADIS服务器来记录自己的身份信
息,有条件的用户甚至可以自己建立一个,避免了第三方集中验证存在的失效风险。此外分布的验证机制避免了大公司的垄断,对于网站来说也会感觉好一些。而且
对于用户来说,到哪都可以用自己唯一的URL,不存在用户名被占用的问题。

貌似OpenID是最好的解决方案?

但我认为,这只是看上去很美。

首先,从使用方便性上看,URL通常太长了,除非用户拥有自己的域名,否则使用BLOG或个人主页之类的东东通常都太长了一点。而且输入URL以后还需要转到YADIS上去输入密码(当然网站也可以实现成一步完成,由网站到YADIS上去验证,但存在风险,见《安全支付》),这也是比较麻烦的。

其次,第一类验证可以在网站上完成,不需要多余的Round-trip,响应速度最快;第二类需要到第三方验证网站转一圈,会慢一点;而OpenID需要到用户URL和YADIS上各转一圈,响应速度最慢。


三,绝大部分用户是不可能自己建立YADIS的,所以结果还是要交给第三方YADIS做验证,还是不可避免出现与第二类相似的集中情况。相当大部分用户甚
至连BLOG和个人主页都没有,所以还不得不在如MyOpenID这样的网站上注册一下,取得一个OpenID专用的URL,结果就与第二类验证没什么区
别了。

第四,从安全性考虑,OpenID使用的YADIS可以由用户自己选择,而各YADIS在安全性方面存在良莠不齐的情况,用户的资料安全风险还是比较大的。


五,可靠性差。表面上OpenID将验证过程分布到很多的YADIS上,似乎会比较安全,但实际上除非用户自己能够在URL页面上作YADIS的容错备份
(在页面上做几个YADIS的链接,这只是我的想法,至于OpenID是否支持这样做,我还没有找到进一步的资料),否则一旦用户所选择的YADIS失
效,则用户就无法正常使用了。而最大的风险还在于用户URL页面可能失效。

从验证失效的风险上来看:

第一类验证如果失效,只是那个网站无法访问,不会影响到用户访问其它的网站。假设网站的可靠性为N(N为小于1的数,比如99%),则总的可靠性也为N。

第二类验证如果失效,则用户所有依赖这个验证的访问都将失败,但就某一个网站来说,其总可靠性为N*A(A为验证网站的可靠性,比如99.99%),比第一类的可靠性要低一些。当然因为这类验证网站都是由大公司提供,可靠性通常会很高,所以与第一类的可靠性差别可以忽略。


对于OpenID来说,用户URL和YADIS之间,只要有一个失效,则用户的相关访问都将无法进行。以单个网站来说,其总可靠性为N*U*Y(U和Y分
别是用户URL页面和YADIS的可靠性),如果是用mblogger的页面来做URL的话,假设其可靠性为80%,而所用的YADIS可靠性为95%,
则总可靠性将大幅下降到:76%。当然这是一个极端的例子,我想不会有人拿mblogger这种靠不住的页面来做自己的OpenID
URL的,而且一般的YADIS可靠性应该也不致于这么低(但也还是不如MS的passport)。

但总的来说OpenID的失效风险还是要远大于前两类验证的。

基本上在我看来,OpenID在解决了前两类验证方式的缺点的同时,也带来很多的问题。


加说明:本来我还以为Google
Account是一种类似于Passport的第三方验证手段,但是经过几天的研究后发现,它只提供了对部分Google服务的帐户访问功能,拒绝对第三
方提供用户身份验证服务,这实在是一件很遗憾的事情,否则Google Account应该会是比OpenID更好的选择。

Tags : OpenID, Passport, Google Account

[上周八卦]2006-11-19

2006-11-17

2006-11-16

2006-11-15

  • 你看!你看那些丑陋的外国男人的脸–张结海 #
    根本的原因在于,为什么外国人在中国可以得到超国民待遇???
    这个世界上有一个颠扑不破的真理,如果一个人不尊重自己,他最终也不可能得到别人的尊重。一个国家、一个民族也是这样。
  • ?推荐:Blogger赚钱之另类途径 #
    总而言之,这年头有花钱写review文章的事,也有花钱删review文章的事。我相信这不是第一个案例,也不是最后一个案例。

2006-11-14

2006-11-12

365Key-天天网摘生成

小丁上大学

(2006-11-13)

前几天接线报,看了一期《撞击》,谈论的是关于丁俊辉上交大的事。

当年他初中辍学打球,谈的是读书无用论(好像是他父亲说的),现在怎么忽然又要上大学了呢?而且据说还有很多大学在抢。这次辩论的双方中,陆震是持反对态度的A方,另一个人(忘记叫什么了)是持支持态度的B方。A方认为,大学是个很神圣的地方(让我想起发哥在《侠盗高飞》中的一句台词-_-|||),哪能你想来就来。B方认为运动员年轻时为国争光,献身体育事业,现在功成名就应该满足人家的求知欲,给人家一个学习机会来弥补缺憾。辩论的结果是双方达成妥协:大学可以收这些运动员,但是不能随便给他们发文凭。

我觉得他们都是在扯淡。

还是发哥说得好:做爱是很神圣的,应该到床上去做。“上”大学也是很“神圣”的。-_-|||

我就不信哪个大学招收这些冠军学生时敢宣称自己不一定会给他们发文凭。不发文凭他们来上个P大学啊,那跟没上过有什么区别。再说你不发文凭,多的是大学抢着要给他们发。

B方的观点更加扯淡。那些“为国争光”未成的运动员有多少,他们同样为些付出年轻的时光,却不会有哪个大学会去给他们一个机会。

B方还说:像交大这么有名大学还需要小丁来锦上添花吗?交大连总书记都出过。

这个家伙最好去看看江前总书记的传记,看看那段历史实际是如何的。拉总书记来添光增色,与拉小丁来做广告,没有什么本质的不同。无非都是炒作嘛,要不那么多大学干嘛要抢这么一个鼓吹“读书无用论”的榜样。

这些大学啊,既然要当那什么就当吧,别再立那什么了,让恶心的说。

先搞清楚因果关系再说

(2006-11-09)

老鼠转了一篇《价格上不去,短缺无尽头》,文中的观点相当令人愤怒。但是在我看来,这个作者不过是刚看了几页微观经济学而已,因为他在文中所犯的错误通常只有经济学的初学者才会犯。

当然,也许每个从马克思主义经济学的框子里刚跳出来的人,都会犯类似这样的错误,因为西方经济学流派是如此丰富多彩,就像一个人从黑白的世界里突然进入一个彩色的世界时那样,容易过份激动,同时也容易犯错。^O^

回到票价的问题上。

在微观经济学说,的确有一条需求曲线,标志着需求与价格的反比关系。也就是如那个作者所说的,让市场定价(或者说通过票贩子实现“市场定价”)的结果必然导致高票价,而支付得起这样高票价的需求是不多的,也就是说需求减少了,火车票就不短缺了。

但是这个作者犯下了一个基本的错误:单就火车票这件事情来说,需求是因,票价是果。是因为对火车票的强烈需示导致了“市场定价”的票价会很高。其实他只要再多看几页书就知道,微观经济学里很快就会说到:市场定价的结果是因为需求曲线与供给曲线的共同作用。

首先,中国的铁路运力是很有限的。以上海到厦门为例,一天只有一列客车可以直达(过境的不算,因为春运时这种车基本上是上不去的),也就是说,车票的供给是刚性的。假设票价是由市场决定的话,供给曲线将表现为在某个供应量位置的直线——票价再高也就只有这么些票可以供应。

再看需求,由于中国的城乡二元结构国情决定了很多小地方的人要到大城市去工作和生活,另一方面,中国的传统又要求大家在春节的时候回家团圆。所以春节时对车票的需求量必然是巨大的,而且这种需求也是刚性的。同样假设票价是由市场决定的,那么票价的上涨对需求反作用也是不很明显的,除非涨到一定程度时,因为飞机和汽车对火车会出现“替代效应”——火车票高过飞机票(长途)或汽车票(短途)——时,这一需求刚性才会减小,表现为需求量被其它交通工具所分流。

由于二者都是刚性的,当供给与需求存在缺口的时候,必然导致市场定价的结果是:票价很高。但是实际上能买到票的人仍然只有那么一些,并没有更多。

(上面的说明如果画个图就会很简单明了,不过太麻烦,大家自己想像吧)

所以结果就是:短缺的问题根本没有解决,只不过原来那些因为不想排队所以买不到的票的人换成了没钱的人买不到票罢了。唯一赚到的只是卖票的铁路部门。

其实在经济学意义上来说,国家进行限价的目的实际上都会损害社会的总效用,但是有些时候,为了达到某到公平的目的(比如对火车票限价其实就是照顾了低收入群体),不得不这么做。