今天腾讯滔滔今日发布公告称,自1月26日起,滔滔业务将会开始和QQ空间心情整合。这一业务调整或许表明腾讯滔滔业务的关闭。
腾讯滔滔于2007年8月上线公测,属于最早的一批中文微博客服务。但是该服务运营存在很大问题,以腾讯庞大的用户群,腾讯滔滔居然运营的不如饭否等微博客,实在说不过去。
腾讯其实早就该关闭滔滔这个怪胎了,我最开始试用了几下,就没有继续使用了,滔滔的服务功能很少,只支持绑定QQ,不支持绑定MSN和GTalk,又不支持API,用户数又少,界面和UI也不行,其实腾讯要是将微博客功能集成到IM里的话,那样效果会好一些,但又可能会影响原有的IM功能,处于进退两难的境地。
腾讯在微博客上规划的比较乱,滔滔和QQ信箱都有涉及到这个业务,但又都不支持API,使得其更新并不方便。不支持API有可能是因为安全问题,如果怕密码泄漏,可以使用一个单独的微博密码来更新。
腾讯的QQ空间实际上是类似Facebook、人人网、开心网这样的SNS社区,本质上并不属于微博客,如果腾讯将滔滔的业务集成到QQ空间里,实际属于放弃了微博客市场的运营。实际上这种策略也属正常,因为QQ的用户都比较草根,无法像新浪微博那样依靠名人效应炒作微博,既然吸引不了高端用户,那就不如把精力放在SNS上,抢占开心、人人的市场,这也是一种不错的战略。
附录:[b]腾讯公司关于滔滔业务调整公告[/b]
尊敬的滔滔用户:
大家好,由于业务调整。2010年1月26日滔滔业务将会开始和QQ空间心情整合。整合期间将影响滔滔的所有写操作、以及相关设置。但还可以查看以前发表的滔滔。请大家放心,历史所保存的滔滔内容不会丢失,将逐步迁移到QQ空间心情模块。请大家打开空间选择心情模块中查看或发表新内容。
QQ空间项目组 2010年1月26日
存档在 2010年1月
腾讯关闭滔滔微博业务
2010年1月27日Twitter实时同步到Ping.fm和Hellotxt
2010年1月27日 我很早就开始使用Ping.fm和Hellotxt的同步功能,这两个服务都是微博客的分发平台,用户通过将自己的不同的微博客账号或者社会化网络帐号绑定在Ping.FM和HelloTXT上,便可以通过这个平台同步发布信息到各类微博客上和社交网络上。
不过,我在使用这两个服务的时候产生了一些困惑,Ping.fm和Hellotxt的本质在于平台化,将自己当做一个发布平台,可以将信息同步出去,但这并不是真正的社会化网络设计,因为用户只能发布,无法得到反馈,信息交流也不方便,是一个典型的单向信息流模式。
因此,我认为真正的社会化网络传播模式应该是,将信息从Twitter传送到Ping.fm或Hellotxt,然后再由Ping.fm和Hellotxt同步信息出去,而用户的的反馈可以在Twitter上实时获得。
但是由于利益的关系,Ping.fm和Hellotxt都不提供接收Twitter信息的功能,只提供发布信息到Twitter的功能,因此,我就自己动手,将前段日子写的那个基于GAE的Twitter同步程序增加支持从Twitter同步信息到Ping.fm和Hellotxt的功能,也就是说,在Twitter发布的信息,可以自动同步到Ping.fm和Hellotxt,然后再由这两个服务传播到更多的社会化网络中。
整个系统的流程图如下所示:
这个程序的使用方法和微博客同步有些不同,Ping.fm和Hellotxt的架构和功能类似,其API调用并不是使用用户名和密码调用,而是使用developer API key和user application key来实现认证,不会出现用户名和密码,因此也较为安全,这里介绍一下各个key的获取方法。
Ping.fm的user application key可以在这个地址 http://ping.fm/key/ 获取。
Ping.fm的API Key可以在这里 http://ping.fm/developers/request/ 创建。
Hellotxt的user_key在这里获取 http://hellotxt.com/settings/api 获取。
Hellotxt的application key在这里 http://hellotxt.com/api/dev 创建。
每个人的key都不同,自己的key用来更新自己的帐号,通常自己使用的话直接申请即可得到。
Ping.fm和Hellotxt两者的功能重合度相当高,不必两个服务都使用,只要使用其中一个服务即可,Ping.fm支持同步37个服务,Hellotxt支持59项服务,不过Hellotxt支持的很多服务同步都有些问题,而Ping.fm支持各个IM的状态更新是Hellotxt所没有的。
[b]应用的安装部署方法[/b]
下载方法,使用TortoiseSVN检出这个SVN地址,然后,编辑app.yaml,修改为自己的appspot应用名,接着,修改twitter.py文件的最后一行,将自己的Twitter用户名填入,修改 ret = send_pingfm_msgs("api_key","user_app_key",text) 或 ret = send_hellotxt_msgs("user_key","app_key",text) 里的key值,不需要同步的服务请使用#号注释掉,cron.yaml文件里是计划任务设置,然后就可以按照此文的方法进行发布,执行 appcfg.py update 目录名,使用Gmail帐号和密码,就可以发布了。
发布之后,GAE就可以定时执行twitter.py程序,由于定时执行可以设置最短为1分钟,因此同步速度很快,基本可以实现即时自动同步的效果。
[b]注意事项[/b]
Ping.fm和Hellotxt需要翻墙访问。使用前需要先申请key。
如果在Ping.fm或Hellotxt中绑定了Twitter帐号,需要将Ping.fm和Hellotxt中关联的Twitter帐号删除,否则会造成死循环。
Google AdSense被挂马?
2010年1月27日 今天我博客上有网友爆料,所有包含Google AdSense广告的网站都会被卡巴斯基报病毒Trojan.JS.Redirector.ar,经过搜索可知,这个问题从今天下午3点到5点期间普遍存在,所有挂了Google AdSense广告的网站都会被卡巴斯基报Trojan.JS.Redirector.ar木马病毒提示。
AdSense中文博客已经发布了一则公告,标题是:“Google AdSense引起杀毒软件报警问题的反馈”,称“AdSense 中文小组今天陆续收到一些用户关于Google AdSense代码引起杀毒软件报警的反馈,目前我们正在与相关方进行沟通,争取使问题尽快得以解决”。AdSense英文博客至今未有说明。
如果Google AdSense的服务器真的被挂了木马病毒,那将是令人震惊的,因为Google AdSense的使用如此的广泛,连新浪网都在使用,真是病毒的话那对用户来说将是一场灾难,对于Google来说也同样道理。
Google有两样服务的代码在全球的网站都很普及,一个是Google AdSense,一个是Google Analytics,Google应该尽最大努力确保这两项服务不被黑客攻破,否则后果不堪设想。
晚间时分,卡巴斯基中国公司证实,这是一起病毒误报事件,Google Adsense代码正常。卡巴斯基用户在下次升级病毒后即可解决,不同用户升级病毒库的时间不同,所以故障的恢复时间不一。
Blogger将不再支持FTP发布
2010年1月27日 据Blogger官方博客报道,Blogger宣布将在2010年3月26日起不再支持以FTP的方式发布Blogger,对于中国用户来说,这意味着将无法继续通过FTP发布的方式直接访问自己的Blogspot博客。
Blogger给出的理由是,FTP发布大量耗费着Blogger的资源,但仅仅有0.5%的活跃用户在使用FTP发布,除此以外,Blogger即将完全重写一些代码,也无法提供FTP支持。
我也进行过一些测试,如果博客文章达到数千篇的时候,使用FTP发布博客会耗费相当长的时间,而且中间很容易中断,可以想象这样的服务的确很耗费Google自身的资源。
因此,用户必须放弃继续使用FTP发布Blogspot,而切换到blogspot域名或者自定义域,可惜的是,这两个选择均无法从中国境内访问。
以前,中国用户可以在国内购买一个FTP服务器,然后使用FTP发布的方式将Blogger发布过来,可以在国内快速的访问Blogger,这样的日子将不存在了。
据Alexa统计,Google旗下的Blogger网站是目前全球第七大流量的网站,但自去年五月份起就无法从中国访问,世界流量最大的20个网站中,有6个网站在中国访问异常,分别是Facebook,Youtube,Blogger,Twitter,Wordpress(二级域名无法访问),Myspace(部分二级域名无法访问),其中YouTube和Blogger都是Google旗下的网站。
探索新浪微博的盈利模式
2010年1月27日 我们现在如果认为微博客很难获得盈利(或者说是可观的收入),是因为我们的思考陷入思维定势,认为Twitter现在的盈利是怎样的,中国的微博客也是如此。
微博客网站要实现盈利,就要有勇气打破“C2C”,不能全盘做法都是复制到中国,一定要有中国模式。
这种中国模式就是走微世纪和微商业之路。
如果微博客是在一个微商业的环境,一个大型微博客网站要实现商业收入是很容易的事情。
例如按新浪微博来探索商业模式,简哲运用微世纪的微社会和微商业的理念来创意一个微博游戏,它不是一个单纯的游戏,也不是一种单一的商业模式,而是一种社会形态和商业形态的结合,它能让一个微博客网站通过这个游戏实现可持续化发展。
[b]一、新浪微博的商业模式[/b]
现在中国最有影响力的微博客网站是新浪微博。我认为新浪微博要创收几十亿的收入,不是难事!如果能实现“围脖约会+品牌部落+用户收费”的商业模式,那么新浪微博要赚一百亿是很有可能发生的。
新浪微博最突出的资源和优势就是名人和娱乐圈明星。这种资源一盘活,创收就很容易了。
做在线游戏,通过虚拟交易获得盈利。这种商业模式很简单,只需要一个创意。
这个在线游戏叫做围脖约会,游戏的引爆点是“名人约会”。
1.游戏的玩法,用围脖竞价来和名人约会。
2.约会是指官方网站每天推出活动,搞名人微博交流会,让微博客竞价向名人提问题。每次活动限定发问人数。要取得这个名额,就要用围脖来竞价,如别人出10条,你出11条,你就能入选。
3.为了有更多的围脖去竞价,微博客可以去种棉花、织布、招聘织围脖的工人、开围脖工厂、炒卖名人围脖。每个微博客都能免费领取一亩地种棉花。如果想要更多土地去种棉花,可以付费购买土地。可以偷菜,也可以偷棉花。但是,围脖能用来和名人对话,粉丝对偶像对话,这是一般游戏不能创造的!
4.围脖分为普通围脖、名人围脖、极品围脖。碰到当日名人的交流会,名人围脖可以当10条普通围脖竞投,极品围脖可以当100条。
5.名人约会,不是让微博客去抢名人发言的沙发,而让名人坐微博客的沙发,这个话题的所有转发和回应是源自微博客的信息。这条信息可以在首页推荐。这个机制确保微博客会主动参与竞价,取得约会名额。
6.第二个机制是转发最多、评论最多的问题能得到名人的礼物,比如李开复就送本签名书,李宇春就送签名CD.
7.第三个机制是参与转发和评论的微博客,会随机得到围脖。
8.微博可以视作为一个即时媒体。名人可以借交流会作公关宣传,例如《锦衣卫》的电影宣传,可以用微博宣传,让甄子丹和微博客在线交流。依新浪的影响力,做这些微博客在线交流会是可以的。微博是在线交流,比传统的新闻发布会更方便。更容易让名人安排时间。甚至名人在家里或酒店就能上网进行。
9.围脖约会能直接实现营销活动,例如一个作家的交流会,在活动页面设置购书订单。也就是说新产品发布会也能做,那些团购活动亦能直接发起。
[b]二、围脖约会和品牌部落会发展什么[/b]
微广告。当品牌在微博客网站建立品牌部落,就会借围脖约会来做广告推广,要加入来玩的还会有B2C、C2C的卖家。
品牌部落会用商品作为广告交换,这样微博客网站就能在游戏里面推出一个竞投频道,让微博客用围脖来兑换或竞投这些商品。
在竞投商品的旁边,会有订单链接,如果一个微博客竞投失败,但是他又喜欢这件商品,可以选择付钱购买该商品。从商业学来说,如果是参与竞投而没成功的微博客可以在竞投结束的一个小时内用九折优惠价格购买,会更利于广告促销。
当这种微广告出现,会让围脖约会通过口碑宣传迅速传遍世界,也就是会有越来越多的参与围脖约会的游戏。
[b]三、围脖约会游戏带来多方共赢,实现可持续的发展[/b]
1.名人约会——这是一种社交心理需求,对微博客有强烈的吸引力!让微博客有机会能和名人、偶像巨星对话。让名人在微博客发布的信息回应问题。
2.游戏能让微博客用户付费,一是购买会员服务,二是购买虚拟道具,三是购买品牌部落的产品或服务。
3.品牌部落要想加入推广,首先会购买品牌部落的功能服务。为了推广,品牌商会为游戏提供礼品作为广告宣传,让微博客网站获得礼品资源,微博客用游戏中的围脖来竞投实物礼品。这样,具有两种不同的竞投目标,就能包含最广阔范围的人群。
4.名人可以宣传自己;品牌商可以通过赞助礼品来进行广告宣传;微博客可以获得对话、竞投礼品和推广自己的微博;新浪微博可以实现多赢(人气、口碑、盈利和微博发展)。
5.将来,这个游戏还能向公益事业发展,例如名人拿出物品来慈善拍卖。通过微支付来竞投。
即时信息,可以是服务,也可以是商业模式的平台。能赢得口碑,又能获得盈利走向健康发展,这种事情就值得做!
要了解微社会和微商业,请下载我写的电子书《微世纪》。
这可能是全民围博的引爆点!
投递人:简哲
博客网址:创意商业
谷歌中国发布广告澄清不实传言
2010年1月27日 继谷歌中国前些天通过中文官方博客发布了辟谣声明后,谷歌中国开始在Google关键字搜索中投放AdWords广告的形式来加大辟谣力度。
现在,使用谷歌搜索引擎搜索“谷歌退出中国”、“Google退出中国”、“中国谷歌”等关键词,显示的第一位是一条谷歌发布的AdWords赞助商链接,标题是“谷歌官方:澄清不实的传言”,内容链接到谷歌中文官方博客的声明文章。
在早先,多个中文媒体曾经发布了类似“谷歌中国已经正式解散”、“谷歌中国员工离职”、“离职员工有半年带薪年假”等不实传言。
不过,在谷歌中国并没有在百度搜索引擎也投放类似的广告,下面是百度搜索“谷歌中国”显示的搜索建议。
另外,据新华网报道,中国外交部副部长昨天表示, “谷歌事件”不应与中美两国政府和两国关系挂钩,否则就是过度解读。
目前,国内的网络整顿活动并没有因为谷歌退出事件而停止,就在昨天,知名的IT技术媒体网站techweb.com.cn就被停止域名解析了。通过域名查询可知其域名状态Domain Status为clientHold,techweb的域名注册商是厦门三五互联科技股份有限公司。
如同我在一年前发布的文章“不要在国内注册和使用CN域名”里说的一样,现在中国的互联网企业已经没有什么选择余地和退路了,CN域名实在是太不保险了,随便一个域名商都能停止大型企业网站的域名,而且屡试不爽,除了像谷歌一样退出中国,使用法律健全的美国提供的COM域名之外,中国的互联网企业还有什么方法能避免这种不确定的政策性因素带来的运营风险吗?为什么在美国运营企业网站就从来这么多的风险呢?
中国改革开放30多年了,虽然在传统经济上对外提供的优惠政策吸引了大量的国外投资,但随着世界经济逐步向新经济模式转型,美国可能将取代中国成为全世界新经济投资的中心。
Z-Blog性能优化和评论IP显示
2010年1月27日 前些天的一些突发事件,使得我发现了Z-Blog存在的一个很严重的性能问题,就是当单篇文章日访问量数万的时候,会有大量并发用户同时写Access数据库,会导致数据库死锁,之后的外在表现就是CPU占用猛增。
经过对Z-Blog的代码进行分析,我发现其原因是大并发用户同时写数据库产生的原因。
我这里想到了一个针对这个问题的解决方案,就是时间缓存,定时写数据库,在一定时间内,数据只写入内存,不写入数据库,当缓存时间到了以后,再把内存的数据写入数据库。这样,即使再大的并发量,也不会再发生数据库死锁的问题了。
经过初步的代码修改和测试,发现修改完了以后就没有这个问题了。
修改方法是,打开FUNCTION目录下的c_html_js.asp文件,修改UpdateCountInfo函数为以下代码即可。
Function UpdateCountInfo(id)
Dim strLastUpdate
Dim intArticleCount
Dim aryArticleCount
Dim objRS
Application.Lock
strLastUpdate=Application(ZC_BLOG_CLSID&"LAST_UPDATE")
aryArticleCount=Application(ZC_BLOG_CLSID&"CACHE_ARTICLE_VIEWCOUNT")
aryArticleCount(id)=aryArticleCount(id)+1
Application(ZC_BLOG_CLSID&"CACHE_ARTICLE_VIEWCOUNT")=aryArticleCount
Application.UnLock
If IsEmpty(strLastUpdate) Or Not IsDate(strLastUpdate) Then
Application.Lock
Application(ZC_BLOG_CLSID&"LAST_UPDATE") = Now()
strLastUpdate = Application(ZC_BLOG_CLSID&"LAST_UPDATE")
Application.UnLock
End If
If DateDiff("s",strLastUpdate,Now()) > 30 Then
‘如果当前时间与上次保存计数值的时间差大于设定的时间间隔,则把计数值重新写入数据库
Call OpenConnect()
Set objRS=objConn.Execute("SELECT [log_ID],[log_ViewNums] FROM [blog_Article] WHERE [log_ID] =" & id)
If (not objRS.bof) And (not objRS.eof) Then
intArticleCount=objRS("log_ViewNums")
Else
intArticleCount=0
End If
objRS.Close
Set objRS=Nothing
If aryArticleCount(id) > intArticleCount Then
objConn.Execute("UPDATE [blog_Article] SET [log_ViewNums]=" & CStr(aryArticleCount(id)) & " WHERE [log_ID] =" & id)
Application.Lock
Application(ZC_BLOG_CLSID&"LAST_UPDATE") = Now()
Application.UnLock
Else
aryArticleCount(id) = intArticleCount
Application.Lock
Application(ZC_BLOG_CLSID&"CACHE_ARTICLE_VIEWCOUNT")=aryArticleCount
Application.UnLock
End If
Call CloseConnect()
End If
End Function
另外,默认的Z-Blog留言评论是没有用户IP地址显示的,通过一些修改,可以在留言中增加用户IP地址前三位的显示功能,具体实现方法如下。
修改c_system_lib.asp文件的Public Function MakeTemplate(strC)函数,加入下面语句:
ReDim aryTemplateTagsName(12)
ReDim aryTemplateTagsValue(12)
aryTemplateTagsName( 12)="article/comment/ip"
if AuthorID=1 then
aryTemplateTagsValue(12)=""
else
aryTemplateTagsValue(12)="ip: " + Left(IP, InStrRev(IP, ".")) + "*"
end if
修改TArticle的Function Export_CMTandTB()函数,将 objComment.LoadInfoByArray(Array(objRS("comm_ID"),objRS("log_ID"),objRS("comm_AuthorID"),objRS("comm_Author"),objRS("comm_Content"),objRS("comm_Email"),objRS("comm_HomePage"),objRS("comm_PostTime"),"","")) 改为 objComment.LoadInfoByArray(Array(objRS("comm_ID"),objRS("log_ID"),objRS("comm_AuthorID"),objRS("comm_Author"),objRS("comm_Content"),objRS("comm_Email"),objRS("comm_HomePage"),objRS("comm_PostTime"),objRS("comm_IP"),""))
修改 b_article_comment.html ,增加 标签。
之后,文章评论就会出现评论者的IP地址栏,不过有个问题是,当评论有人回复的是时候,只能留下最后一个回复者的IP地址。解决的方法是:
修改c_system_lib.asp文件,找到
IP=Request.ServerVariables("REMOTE_ADDR")
Agent=Request.ServerVariables("HTTP_USER_AGENT")
修改为
if IP="" Then
IP=Request.ServerVariables("REMOTE_ADDR")
Agent=Request.ServerVariables("HTTP_USER_AGENT")
End If
这样就不会覆盖掉留言回复者的IP了。
谷歌中国官方辟谣——没有关闭和解散
2010年1月21日 今天,谷歌官方博客发布了一则辟谣声明,首次对这次“退出门”事件做出了官方回应,表示谷歌中国并没有关闭,员工也没有离职,谷歌仍然一如既往地为用户和合作伙伴提供最好的产品和服务。虽然这个辟谣的声明来的有点晚,但也澄清了早前各种各样的不实谣言,让谷歌中国的客户群心里有了底。
效法一周前Google首席法务官大卫·德拉蒙德(David Drummond)通过博客表示考虑退出中国,谷歌中国分公司最高负责人刘允和杨文洛联名对外发布博客,表示日前某些中文媒体所报道的“Google已经关闭中国办公室”“部分员工已接通知将于近期离职”均为不实报道。而在一周前,Google总部的德拉蒙德在Google的官方博客发表了题为“对中国的新策略”的署名文章,表示Google要重新评估在中国商业运营的可行性,并决定不再继续审查中文网站Google.cn上的搜索结果。德拉蒙德称,“这很可能意味着公司将不得不关闭谷歌中文网站,甚至可能包括我们在中国的办事处”。
谷歌中国发布的辟谣声明全文如下:
[b]澄清不实的传言[/b]
发表者:刘允 杨文洛
过去几天里,我们看到有很多关于谷歌中国以及谷歌员工的不真实的传言,一些报道称我们已经关闭了在中国的办公室,还有一些报道称我们在中国的员工已经接到通知将于近期离职。这些都是不真实的。目前,谷歌中国的员工同过去一样在办公室正常工作,讨论产品开发,与客户进行沟通。尽管谷歌总部管理层近期宣布他们将会在未来的几个星期与中国政府就一些事宜进行商讨,谷歌中国的员工们仍在一如既往地努力向我们的用户和合作伙伴提供最好的产品和服务,用户和合作伙伴对谷歌是非常重要的。
关于Google辱华谣言的分析
2010年1月21日 最近一段时间在海外华人圈里流行着一则攻击Google的帖子,说Google发飙,利用搜索关键字报复中国,输入关键字“chinese people”就会出现“chinese people eat babies”这样的辱华建议。
据Google搜索建议的官方说明,Google Suggest(搜索建议)是利用是最近一段时间内相关搜索的相对热门的信息进行自动排名的,整个搜索建议的词语都是自动生成,通常情况下是按照搜索次数由大到小排列的,没有任何人工干预。
而根据Google Trends(谷歌趋势)上分析,“Chinese people eating babies”这个词在最近一个月的搜索量不断上升,搜索次数的增加使得这个词自动成为chinese people的搜索建议词。
这个词出现的原因,大概是因为几年前网上曾经流传过一组四川籍行为艺术家朱昱的吃死婴的行为艺术照片,有人曾经利用这组照片丑化日本人,说是日本人吃婴儿,因此导致美国人会误以为中国人或日本人有吃婴儿的行为。
而有人为了丑化Google,故意在最近一段时间传播这样的谣言,导致“Chinese people eat babies”的搜索量越来越大,而Google搜索引擎的Google Suggest如实反应了这样的事实,反而证明了Google搜索引擎的公正和客观。
另外,这个搜索建议并非仅仅只在Google中出现,如果说Google利用“Chinese people eat babies”来辱华,那么就请解释一下百度搜索“Chinese people”后出现的这张图是怎么回事。不要说百度也联合Google一起辱华哦。
英文Yahoo搜索引擎搜索“Chinese people”也会出现类似建议。
因此可以认为,Google的搜索结果是根据用户的搜索频率自动调整的,不存在Google故意利用搜索建议的关键词进行辱华的行为。
破解Google Gmail的https新思路
2010年1月21日 最近,Google针对Gmail被攻击事件,全面默认启用了始终以https访问Gmail的方式了。但是,对于可以动用整个国家力量的黑客来说,从网络通讯数据中(在此不讨论对用户电脑种木马破解https的情况,只讨论在网络通讯数据中破解https的方法)破解https除了暴力破解(暴力破解https即使按照现在的集群计算能力仍旧需要几百至几万年不等)之外真的别无他法了吗?事实并非如此。
我们知道,https的安全性主要是由SSL证书中的公钥和私钥来保证的。浏览器与服务器经过https建立通讯的时候(不考虑SSL代理方式需要用户提交证书的情况,因为我们现在讨论的是浏览器访问网站,和SSL代理无关)会按照以下步骤保证通讯的安全性:
1、浏览器连接服务器,服务器把SSL证书的公钥发送给浏览器
2、浏览器验证此证书中的域是否和访问的域一致(比如用户访问https://mail.google.com/时,浏览器验证服务器发送过来的SSL证书的公钥中的域是否为mail.google.com或*.google.com)并没有过期
3、如果浏览器验证失败,浏览器通知用户证书有问题,让用户选择是否继续
4、如果浏览器验证成功,那么浏览器随机生成一个对称密钥并使用接收到的SSL证书的公钥进行加密并发送给服务器
5、服务器通过SSL证书的私钥对收到的信息进行解密并得到浏览器随机生成的对称密钥
6、最后服务器和浏览器都通过这个对称密钥进行通讯了(为什么不直接使用公钥和私钥进行通讯?因为非对称加密比对称加密效率低)
这个方案看似完美,却无法抵御中间人攻击,攻击者可以按以下步骤实施攻击截取https通讯中的所有数据:
1、攻击者伪造一个Gmail的SSL证书,使其中的域为mail.google.com或*.google.com,并设置合适的证书过期时间
2、攻击者等待访问者的浏览器访问Gmail时,通过DNS劫持或IP伪造(对于有路由器控制权限的黑客来说简直轻而易举)的方法使其访问到攻击者的服务器上
3、攻击者把伪造的SSL证书公钥发送给浏览器
4、浏览器验证SSL证书的域和过期时间都没错,认为访问到的就是Gmail本身,从而把对称密钥发送给黑客服务器
5、黑客服务器把伪造的Gmail网页通过收到的对称密钥加密后发送给浏览器
6、访问者通过浏览器输入Gmail帐户,发送给黑客服务器,黑客服务器通过收到的对称密钥解密后成功获得访问者的Gmail密码
为了抵御这种中间人攻击,SSL证书需要由可信的SSL证书颁发机构颁发,形成一个证书链(比如Gmail的证书链为:最底层为网域mail.google.com,上一层为Thawte SGC CA证书颁发机构,最顶层为很有名的VeriSign证书颁发机构)。那么,浏览器除了需要验证域和有效期外,还要检查证书链中的上级证书公钥是否有效,上级的上级证书公钥是否有效,直至根证书公钥为止。这样就可以有效避免中间人攻击了,因为根证书公钥都是预装在操作系统中的,黑客如果不是暴力破解,无法得到根证书的私钥,如果黑客自己生成一个私钥,浏览器验证根证书公钥的时候发现无法通过操作系统中预装的公钥加密数据后使用这个私钥进行解密,从而判定这个公钥是无效的。这个方案也是现在https通讯通常的方案。
那么,这个现在所有的浏览器正在使用的https通讯方案就无懈可击了吗?答案仍是否定的。我们可以看到,在后一个方案中,https的安全性需要在证书颁发机构公信力的强有力保障前提下才能发挥作用。如果证书颁发机构在没有验证黑客为mail.google.com的持游者的情况下,给黑客颁发了网域为mail.google.com的证书,那么黑客的中间人攻击又可以顺利实施:
1、攻击者从一家不验证mail.google.com持有者的SSL证书颁发机构WoSign那里得到了网域为mail.google.com的证书,此证书的证书链为:最底层为网域mail.google.com,上一层证书颁发机构为WoSign,顶层证书颁发机构为VeriSign
2/3、第二、第三个步骤同上一个方案的中间人攻击的第二、第三个步骤
4、浏览器验证SSL证书的域和过期时间都没错,继续验证证书链:
4.1、最底层的网域mail.google.com证书公钥不在操作系统中,无法验证其访问到的就是Gmail本身,继续验证上一层证书颁发机构
4.2、上一层证书颁发机构WoSign的公钥也不在操作系统中,仍旧无法验证其有效性,继续验证上一层证书颁发机构
4.3、浏览器看到顶层证书颁发机构VeriSign的公钥在操作系统中,认为证书链有效,从而把对称密钥发送给黑客服务器
5/6、第五、第六个步骤同上一个方案的中间人攻击的第五、第六个步骤。黑客成功获得访问者的Gmail密码
然而,不验证域名持有者就颁发证书的情况在国外几乎不会发生,但是在国内就不一定了。针对破解目标,国内证书颁发机构WoSign(在此只是举例国内比较有名的证书颁发机构WoSign,并不代表WoSign今后一定会这么做)很有可能为了上级要求颁发了证书给非域名持有者的黑客,从而使得破解目标的Gmail密码被黑客截取。
那么,国内的破解目标是不是使用https的Gmail也无法保证安全了呢?欢迎与我进行探讨。
来源:读者lehui99投稿,投稿人Email为:lehui99@gmail.com,Google Wave为:lehui99@googlewave.com。