2014年4月13日星期日

比特币之父:中本聪是何许人也?

  中本聪在密码邮件组中是一个年轻后辈(可能30岁出头),但地位十分显赫,在这个邮件组中,有菲利普·希默曼(PGP技术的开发者)、约翰·吉尔摩(太阳微系统公司的明星员工)、斯蒂文·贝洛文(美国贝尔实验室研究员,哥伦比亚大学计算机科学教授)、布拉姆·科恩(BT下载的作者)、蒂姆希·C·梅(英特尔公司前首席科学家)、阿桑奇(维基解密创始人)这样的大牛,虽然没有任何来自密码邮件组的成员对中本聪的评价,但我们可以从一些细节中了解中本聪在其中的地位。

  1、哈尔·芬尼(PGP加密的发明人之一)是中本聪的早期助手,人们亲切的称他为中本聪的“沃森”(沃森是电话发明人贝尔的助手)哈尔?芬尼(Hal Finney)

  2、2011年,维基解密宣布支持比特币捐赠,社区一片欢呼。消失已久的中本聪却在论坛发贴警告这不是一个好消息,他建议阿桑奇不要接受比特币捐赠。维基解密后来淡化处理了这件事。那也是中本聪最后一次公开露面,这暗示了他对阿桑奇的不小影响力。

  3、中本聪的地位比密码学货币的先行者大卫·乔姆要高,大卫乔姆是什么人,大家可以重温凯文·凯利20年前写的《失控》,在那本书中凯文·凯利对其浓彩重墨,宛如在为乔布斯一样的科技明星立传。两位天才不同的是,前者失败了,后者却汲取了前者的教训。可能正是由于这个原因,导致凯文·凯利对比特币持悲观态度(《技术元素,隐秘的匿名市场》),前者的失败太痛心了,凯文深爱着大卫,以致于他已经不太相信中本聪能力挽狂澜。

  中本聪不像凯文那样对密码学货币领域那些失败的前辈顶礼膜拜,相反,他对“现在更多的人对90年代感兴趣”不以为然,在与一位研究者的信件交流中(不久前被研究者公布 中本聪和某研究者的信件交流(节选)),他强调比特币的独一无二,嘲弄基于“信任第三方”系统的失败(例如电子现金)。“我希望人们能够有一种区别,即人们认为“我是第一次知道我们在尝试一个无信任第三方为基础的系统”。”中本聪的自信可见一斑。

  中本聪对这些失败者的反省是,Beenz、Flooz、E-cash、B-money等虚拟货币先驱尝试的失败主要是由其中心化的组织结构所造成的。这是因为一旦为虚拟货币信用背书的公司倒闭,或保管总账的中央服务器被黑客攻破,该虚拟货币即面临信用破产与内部崩溃的风险。2009年2月,中本聪在IRC频道写道:“政府擅长击溃Napster那样拥有中央控制的网络,但是Gnutella 和Tor 这样完全P2P的网络看起来依旧安枕无忧。” (《比特币:一个虚幻而真实的金融世界》巴比特成员合著,京东、当当已有预售)

  中本聪的密码学造诣十分精湛,许多曾经被认为是冗余设计的错误,后来被证明都是正确的,比如精心挑选的Koblitz曲线,避开了美国国安局在加密标准中暗藏的后门。比如在椭圆曲线数字签名算法加密的基础上,再哈希两次,足以应付量子计算机的威胁……中本聪的天才:比特币以意想不到的方式躲开了一些密码学子弹

  中本聪为上线比特币项目,精心准备了身份资料与域名。早在2008年8月18号就注册了bitcoin.org的域名,并保护性注册了bitcoin.net 。whois的信息都毫无价值地指向位于芬兰赫尔辛基的一家小型主机托管商。域名注册商为一家小公司anonymousspeech,为什么选择这家公司,因为这家公司的服务声称他能为用户的域名注册提供匿名性保证,确保不受人肉搜索,也不会遭到政府的检索。研究人员曾一度追踪到这家公司,结果是竹篮打水一场空。因为中本聪使用Tor网络发送邮件,而且,目前 bitcoin.org 大概已经移交了所有权,这也是为什么移到了赫尔辛基的原因。但是 bitcoin.net 这个域名一定还在Satoshi的手里。完成域名准备工作之后,中本聪这才于2009年2月11日,在p2pfoundation.ning.com发起“比特币”这一项目。

  意味深长的是,中本聪在创世区块里留下一句永不可修改的话:“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks,当时正是英国的财政大臣达林被迫考虑第二次出手纾解银行危机的时刻。”这句话是泰晤士报当天的头版文章标题。中本聪引用这句话,既是对该区块产生时间的说明,又是对金融危机中旧有的脆弱银行系统的冷嘲,还可能是一个对其身份的烟雾弹。谁是比特币背后的黑手?人们可能误解了比特币诞生的意义,在白皮书《比特币:一种点对点的电子现金系统》中,中本聪甚至提都没提“货币”这个词,而存在性证明,却在创世区块就已经暗示了。直到几年之后,社区开发者才意识到区块链的深远意义。时间戳服务与存在证明

  中本聪行事缜密细致,与任何人交流都使用PGP加密和Tor网络。加文·安德列森(比特币基金会首席科学家)曾向记者透露,有很多人都冒充中本聪写信给他,但被他轻易识破,因为他们没有使用PGP加密。中本聪哪怕与最亲密的合作伙伴交流也使用加密,而且从不透露个人信息,加文、尼克·萨博、哈尔芬尼均对他知之甚少。中本聪把项目的领导权移交给加文,仅仅是通过邮件的简短交流。联想丝绸之路站长被FBI安排的卧底钓鱼,中本聪显然要高明得多。他甚至在白皮书和社区发言中,有意的伪造一些身份信息与个性化特征,误导一些错误的猜测。比如伪装英式拼读,格林威治时间的作息规律,日本名字,论文中“WE”的第一人称,使用生僻的科技术语,模仿密码学同仁的写作风格,反复使用‘of course’无逗号隔离,不同于惯用的方法(‘the problem of course is’);使用‘preclude’一词(仅在1.5%的密码论文中出现)……他的这些障眼法取得了不错的效果,已经有无数研究者、情报人员调查过他的真实身份,候选人多达几十位,有天才数学家,有技术大牛,还可能是团队,但没有一个得到核实。分析称比特币之父中本聪或为经济学教授尼克萨博业内人士质疑中本聪或为京都大学教授望月新一929e784889fa33cf8af8fc4615e827c3_m

  前段时间两位以色列计算机专家曝料,发现比特币黑市网站“丝绸之路”站长罗斯?威廉?乌布利希与中本聪可能存在财务往来,研究称中本聪或与丝绸之路存在财务来往 这让人对中本聪捏了一把汗,所幸的是,中本聪没有犯这么愚蠢的错误。很快有人站出来,澄清那个地址是他的,不是中本聪的。与丝绸之路财务往来账户真实拥有者现身,否认自己是中本聪 中本聪从未动用早期挖矿所得的比特币,这些币就像是雅浦岛渔民不小心遗落大海里的石币一样,永久地沉默着。对此,FBI无可奈何。他们的心情就跟高效密码学组标准现任主席Dan Brown得知比特币使用secp256k1时一样,意外中夹杂着沮丧。中情局雇员斯诺登不久前披露NSA(国安局)在椭圆曲线算法(ECC)中埋了个陷阱,他们知道不为人知的方法来弱化这条曲线。但是很遗憾,比特币让他们失望了,中本聪使用的不是NSA精心挑选的伪随机曲线,而是Koblitz曲线。中本聪怎么知道国际通用加密标准ECC中有后门,恐怕只有天知道了。

  作为顶级黑客,不能在互联网隐藏自己的身份,这本身已构成一个怀疑。

  谁是中本聪并不重要

  中本聪就像是密码朋克们的字母混合体,比如乔姆、戴伟、芬尼、瑞特、拜克和萨博,也许他对比特币开发的作用比其他人更关键,但由于他的神秘,他会成为一个非常重要的难以被遗忘的历史密码。用威廉·吉布森(William Gibson)的小说来形容中本聪,他可视作数字时代的先知;用黑客帝国来形容中本聪,他就像是来自矩阵的尼奥,来自一个“政府是被永久禁止或永远不需要的”的地方,他具有赛伯空间之父的全部元素。

  由于我们处于一个明显的后宗教文化,像来自V字仇杀队的V,中本聪从数字地下世界的黑暗中浮现,领导公众对抗银行寡头和跨国公司,对抗那些利用我们对钱的属性愚昧无知来获利的利益集团。以前我们无力对抗根深蒂固的国家垄断,只能对政府与商业巨头们的相互勾结逆来顺受。

  比如说,中本聪是一个结局早就写好了的过场戏,我们从文化上来理解他,他是全球黑客和网络自由战士组成的松散联盟的象征。匿名组织,维基解密,布拉德利·曼宁,朱利安·阿桑奇和爱德华·斯诺登……他们都对网络监控深恶痛绝,宣称他们将终结腐败。

  他们是和平主义的泄密者,他们是知识分子和实用主义者,信仰非暴力,是互联网时代的诚实孩子。政府可能将他们标记为持不同政见者,但把他们定义为英雄可能更适合。他们希望挑战旧秩序,并建立更公平、平等的社会,在那儿教育可以公平地自由的分配给所有人,在那儿隐私是一种权利而不是一种特权。总而言之,对那些追求一个更公平的世界的人来说:我们都是中本聪。

  来源:投稿,作者:changjia

2014年4月11日星期五

购买4K电视时机未到

  近日,在传统家电企业纷纷推出4K电视之后,国内的互联网电视企业也推出了4K电视机产品,而对于4K电视这个话题,想必也有不少网友在质疑:4K电视到底值不值得购买?

  什么是4K电视

  在2012年8月ITU-R国际电信联盟无线电部门颁布的4K分辨率标准,定义3840(水平分辨率)×2160(垂直分辨率)为4K超高清分辨率。4K分辨率水平具有3840个像素点,垂直有2160个像素点,整块屏幕具有八百万之多像素点,其像素点数量四倍于1920×1080分辨率的两百万个像素点。

  4K电视机的优点很明显,四倍全高清,让画面的每一处细节都分毫毕现。普通全高清电视机,尺寸越大,在较近距离观看节目时,人眼会看到像素点,也就是俗说的颗粒感;4K电视机则能基本解决该问题,在同样距离下看4K电视,其超高清的分辨率让人眼根本看不到像素点,提供给消费者无比细腻的画面效果。

购买4K电视毫无意义

  目前4K电视机的起跳尺寸一般都在65英寸以上,比较常见的尺寸在65英寸~110英寸之间,其中65英寸~80英寸左右的产品比较集中,也是目前市场上主流的产品。

  4K电视值得买吗?

  虽然4K电视有种种优点,但我这里还是要给4K电视泼泼冷水:

  1、看电视?浪费。

  电视机主要用来看电视的,但目前国内电视台基本都是标清节目,分辨率大概在400线左右,少数电视台提供的高清节目,也仅仅达到720P(1280×720);电视台连高清都还没普及的情况下,4K电视节目源更还在“概念”阶段。

  2、看网络视频?带宽不够。

  4K电视需要的带宽是1080P的四倍,至少需要20M以上者能顺利实时传输节目,大部分电信运营商提供的ADSL宽带无法支持4K所需带宽;即使用户升级到100M光纤线路,还要遇到网站服务器的带宽限制,视频网站本身的带宽是有限的,往往难以向大量用户提供20M以上的带宽,即使用户有足够的带宽,观看视频网站的内容往往会被限制到10M以下,难以达到4K所需带宽。

  3、看硬盘视频?容量不够。

  一部4K电影容量轻松超过100G,目前存储条件难以适应,一个1T的硬盘连10部电影都放不下,显然4K电影已经超越了目前存储设备的发展速度,或许未来几年,当硬盘能达到数百T之后,4K电影才能在硬盘里有用武之地。

  4、玩游戏?看蓝光?多余。

  目前大部分游戏机输出最多1080P,而蓝光高清视频也只有1080P;这样的分辨率使用4K电视实在多余,用价廉物美的1080P的电视完全可以达到一模一样的显示效果。

  结论:购买4K电视的时机未到

  根据上面的分析,目前4K电视基本没有什么可观看的资源,外部的设备也少有支持4K电视的,这种环境下,4K跟普通1080P的观看效果差不多,而且电视和电脑屏幕不同,电视的观看距离比较远,远距离观看的时候,人眼就无法分辨出2K和4K,而对于65寸以下的电视,更没有必要购买4K电视。

  可见,目前4K还处于概念期,购买4K电视的时机未到,目前用户购买4K电视毫无意义,等4K普及的时候再来购买更为理智。

2014年4月9日星期三

OpenSSL曝重大安全漏洞

  安全协议OpenSSL今日爆出本年度最严重的安全漏洞。此漏洞在黑客社区中被命名为“心脏出血”,利用该漏洞,黑客坐在自己家里电脑前,就可以实时获取到用户登录账号密码,或欺骗用户访问钓鱼网站。

  OpenSSL是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,目前正在各大网银、在线支付、电商网站、门户网站、电子邮件等重要网站上广泛使用。美国新闻网站Vox撰文,对当天公布的OpenSSL“心脏流血”漏洞进行了全面解读。以下为文章全文:

  什么是SSL?

  SSL是一种流行的加密技术,可以保护用户通过互联网传输的隐私信息。当用户访问Gmail.com等安全网站时,就会在URL地址旁看到一个“锁”,表明你在该网站上的通讯信息都被加密。

  这个“锁”表明,第三方无法读取你与该网站之间的任何通讯信息。在后台,通过SSL加密的数据只有接收者才能解密。如果不法分子监听了用户的对话,也只能看到一串随机字符串,而无法了解电子邮件、Facebook帖子、信用卡账号或其他隐私信息的具体内容。

  SSL最早在1994年由网景推出,1990年代以来已经被所有主流浏览器采纳。最近几年,很多大型网络服务都已经默认利用这项技术加密数据。如今,谷歌、雅虎和Facebook都在使用SSL默认对其网站和网络服务进行加密。

  什么是“心脏出血”漏洞?

  多数SSL加密的网站都使用名为OpenSSL的开源软件包。本周一,研究人员宣布这款软件存在严重漏洞,可能导致用户的通讯信息暴露给监听者。OpenSSL大约两年前就已经存在这一缺陷。

  工作原理:SSL标准包含一个心跳选项,允许SSL连接一端的电脑发出一条简短的信息,确认另一端的电脑仍然在线,并获取反馈。研究人员发现,可以通过巧妙的手段发出恶意心跳信息,欺骗另一端的电脑泄露机密信息。受影响的电脑可能会因此而被骗,并发送服务器内存中的信息。

  该漏洞的影响大不大?

  很大,因为有很多隐私信息都存储在服务器内存中。普林斯顿大学计算机科学家艾德·菲尔腾(Ed Felten)表示,使用这项技术的攻击者可以通过模式匹配对信息进行分类整理,从而找出密钥、密码,以及信用卡号等个人信息。

  丢失了信用卡号和密码的危害有多大,相信已经不言而喻。但密钥被盗的后果可能更加严重。这是是信息服务器用于整理加密信息的一组代码。如果攻击者获取了服务器的私钥,便可读取其收到的任何信息,甚至能够利用密钥假冒服务器,欺骗用户泄露密码和其他敏感信息。

  谁发现的这个问题?

  该漏洞是由Codenomicon和谷歌安全部门的研究人员独立发现的。为了将影响降到最低,研究人员已经与OpenSSL团队和其他关键的内部人士展开了合作,在公布该问题前就已经准备好修复方案。

  谁能利用“心脏流血”漏洞?

  “对于了解这项漏洞的人,要对其加以利用并不困难。”菲尔腾说。利用这项漏洞的软件在网上有很多,虽然这些软件并不像iPad应用那么容易使用,但任何拥有基本编程技能的人都能学会它的使用方法。

  当然,这项漏洞对情报机构的价值或许最大,他们拥有足够的基础设施来对用户流量展开大规模拦截。我们知道,美国国家安全局(以下简称“NSA”)已经与美国电信运营商签订了秘密协议,可以进入到互联网的骨干网中。用户或许认为,Gmail和Facebook等网站上的SSL加密技术可以保护他们不受监听,但NSA 却可以借助“心脏流血”漏洞获取解密通讯信息的私钥。

  虽然现在还不能确定,但如果NSA在“心脏流血”漏洞公之于众前就已经发现这一漏洞,也并不出人意料。OpenSSL是当今应用最广泛的加密软件之一,所以可以肯定的是,NSA的安全专家已经非常细致地研究过它的源代码。

  有多少网站受到影响?

  目前还没有具体的统计数据,但发现该漏洞的研究人员指出,当今最热门的两大网络服务器Apache和nginx都使用OpenSSL。总体来看,这两种服务器约占全球网站总数的三分之二。SSL还被用在其他互联网软件中,比如桌面电子邮件客户端和聊天软件。

  发现该漏洞的研究人员几天前就已经通知OpenSSL团队和重要的利益相关者。这让OpenSSL得以在漏洞公布当天就发布了修复版本。为了解决该问题,各大网站需要尽快安装最新版OpenSSL。

  雅虎发言人表示:“我们的团队已经在雅虎的主要资产中(包括雅虎主页、雅虎搜索、雅虎电邮、雅虎财经、雅虎体育、雅虎美食、雅虎科技、Flickr和Tumblr)成功部署了适当的修复措施,我们目前正在努力为旗下的其他网站部署修复措施。”

  谷歌表示:“我们已经评估了SSL漏洞,并且给谷歌的关键服务打上了补丁。”Facebook称,在该漏洞公开时,该公司已经解决了这一问题。

  微软发言人也表示:“我们正在关注OpenSSL问题的报道。如果确实对我们的设备和服务有影响,我们会采取必要措施保护用户。”

  用户应当如何应对该问题?

  不幸的是,如果访问了受影响的网站,用户无法采取任何自保措施。受影响的网站的管理员需要升级软件,才能为用户提供适当的保护。

  不过,一旦受影响的网站修复了这一问题,用户便可以通过修改密码来保护自己。攻击者或许已经拦截了用户的密码,但用户无法知道自己的密码是否已被他人窃取。

微软Windows XP为什么不免费

  摘要:Windows XP退役后,微软为什么不采取流行的“免费增值服务”策略,推出一个“免费版Windows”?这个免费版Windows功能受到一些限制,有广告显示,如果用户想要去除广告并使用完整版Windows需付费购买。估计微软觉得,免费策略对于个人用户来说效果明显,但对于企业用户来说并没有太大的意义,难以带来大量装机量,吸引用户购买付费版本。

  微软从今天起将正式停止对Windows XP操作系统的技术支持,这意味着在此日期之后,XP操作系统出现任何漏洞,微软将不会再提供任何系统更新修补漏洞,这意味着继续使用XP的用户,将面临前所未有的安全威胁。

  为什么微软要结束对Windows XP的支持?微软表示,2002年,微软根据客户反馈引入了生命周期策略。根据此策略,微软开发的产品受支持的服务级别获得至少10年的支持 (5年主流支持和5年扩展支持)。“诞生于2001年的Windows XP至今有13年的时间,她是有史以来服务最长的操作系统,但随着科技的发展,云计算、移动、社交、大数据等新信息技术的快速发展,XP已经很难满足现代办公和娱乐的需求,也不足以应对当前的安全威胁。”

  因此,Windows XP在2014年4月8日后会结束支持,不再提供新的安全更新、非安全性修复程序、免费或付费辅助支持选项或在线技术内容更新。

  而据CNNIC(中国互联网信息中心)调查显示,在中国办公电脑中,55.5%的在使用XP系统,26.25%在使用Win7系统,只有5.57%的用户在使用其他系统;而在家庭个人电脑中,48.68%的用户在使用XP系统,40.58%用户使用Win7系统,5.33%用户使用其他系统。

微软Windows XP为什么不免费

  可见,已经退役的Windows XP依然有大量用户在使用,既然如此,微软为什么不采取流行的“免费增值服务”策略,推出一个“免费版Windows”?这个免费版Windows具有家庭版的大部分功能,默认捆绑Windows应用商店,微软将大部分软件通过应用商店分发,利用商店里的软件销售获得分成收入。免费版Windows的功能受到一些限制,有广告显示,如果用户想要去除广告并使用完整版Windows,则需要付费购买。

  我相信这个想法微软并不是没有想过,目前Office for iPad正是使用了这样的策略,提供了免费下载和免费浏览功能,如果用户想编辑的话则需要付费,在上架短短一周后,iPad版Office获得了巨大的成功,下载量超过1200万次,并迅速霸占了App Store免费应用排行榜前四名的位置。

  然而,微软的Windows却难以采取这样的免费模式,虽然其竞争对手Linux和Mac OS都是免费的,但Windows依然在桌面操作系统市场占有绝对的优势,虽然很多中国的个人用户“免费”使用着盗版Windows,但企业用户使用的正版Windows依然给微软带来巨大的收益,如果这些企业正版Windows XP用户升级到正版Windows 8,那无疑又会给微软带来大量收入,如果提供免费版Windows的话,反而会对微软的正常收益造成冲击。微软也做过实验,曾经提供过免费的Office 2010入门版(Office Starter 2010),但这却是一次失败的尝试,Office Starter没有获得大量的装机量,也没有吸引用户购买付费版本,推动销量提升,因此微软不得不中止了这个版本的免费版Office,想必微软已经发现,免费策略对于个人用户来说效果明显,但对于企业用户来说并没有太大的意义。

  即使针对个人用户来说,微软提供免费的Windows也困难重重。

  苹果可以将Mac OS免费,但苹果依靠卖硬件的收入来补贴软件,而微软自己并不销售桌面电脑硬件,没有收入进行补贴。谷歌也可以免费,因为谷歌可以通过广告收入来补贴软件,谷歌Adwords具有成熟的生态系统、精准的广告定位和强大的数据跟踪功能,可以给用户提供最佳的投资回报率,而微软并没有一个成熟的广告系统,难以和谷歌的系统进行竞争。

  Windows要免费,就必须在市场占有率不高的时候免费,例如4月3日微软宣布将对9寸以下设备免收Windows授权费,这不过是将免费当成了一种手段。根据IDC提供的数据,2013年的智能手机市场,谷歌Android市场占有率为78.1%,苹果iOS的市场占有率为17.6%,排名第三的Windows Phone市场占有率为3%。免费减少不了多少收益,却可能带来用户。而大部分Windows笔记本和平板电脑都是10寸以上,这些就不适合免费。

  无法从硬件上赚取利润,也难以从广告上获得收入,那么软件就很难免费,这会是一个不可持续的商业模式。因此,对于退役的Windows XP来说,虽然其海量的用户资源流失对于微软来说很可惜,但微软也不可能采取“杀鸡取卵”的免费模式来留住这些用户。
 

2014年4月8日星期二

谷歌将推出智能电视Android TV

  导语:美国科技博客The Verge周末刊文称,谷歌最新的智能电视平台Android TV已经曝光。与此前遭遇失败的Google TV不同,谷歌此次将专注于简单的电视界面、应用和游戏。

  以下为文章全文:

  一些企业计算公司常常会宣称,已经解决了电视机产品存在的问题。这些公司会说,它们已将枯燥的电视终端变成了智能计算平台,将你的工作和游戏转移至尺寸更大的屏幕。然而,这样的产品往往难以获得成功。这要么是因为缺乏内容,要么是因为带来的体验令人迷惑。这就是Google TV的故事。谷歌原本希望Google TV成为新的电视机平台,但最终却沦为行业笑柄。

  这些公司从失败中获得的经验似乎是,目前没有必要去“解决”电视机存在的问题。而正确的做法是以与过去一样的方式向用户提供他们想要的内容。

  因此,Android TV应运而生。

谷歌将推出智能电视Android TV

  更加简洁

  根据The Verge获得的文件,谷歌即将推出新的智能电视平台Android TV。目前,主流视频应用开发商正在这一平台上进行开发。Android TV听起来仅仅是用词不同,毕竟Google TV也基于Android系统。但实际上,Android TV与此前的产品有很大差别,不再尝试将用户的电视机变成大尺寸智能手机。谷歌表示:“Android TV是一个娱乐界面,而非计算平台。其目的是帮助用户无障碍地寻找并享受内容。”这款产品“能带来电影的感受,充满乐趣,流畅且速度很快”。

  那么这意味着什么?这意味着,Android TV的界面和用户体验将类似于市场上的其他机顶盒产品,包括苹果公司的Apple TV、亚马逊的Fire TV和Roku。

  谷歌对Android TV的目标不再像以往一样远大,因此更容易被用户理解。在一个极简的机顶盒界面中,谷歌正吸引开发者开发简单的电视应用。这一界面仍采用Android系统,包含了一系列滚动“卡片”,代表电影、电视剧、应用和游戏。用户可以使用遥控器四方向键的左右按键选择不同建议,或使用上下按键选择不同类型的内容。与其他机顶盒类似,每个条目都像是缩小的电影海报或图书封面,用户可以在其中选择。遥控器还提供了“确定”、“主页”和“后退”按钮,帮助用户导航。此外,Android TV还将提供“可选”的游戏手柄。

  Android TV还将支持语音输入和通知功能。不过,谷歌希望开发者只在有限的场景中使用通知。整体而言,Android TV非常类似亚马逊刚刚发布的、同样基于Android系统的Fire TV。

  专注于内容

  Android TV的不同之处在于,这一平台将在主页屏幕上推荐内容。尽管用户可以在不同的应用和游戏进行选择,但Android TV的目的并不是让用户打开Hulu等应用,并在应用中寻找想要的内容。在用户打开Android TV后,谷歌希望更积极地向用户推荐内容,甚至包括继续观看此前在Android手机和平板电脑上没有看完的视频。

  谷歌的一份文件显示:“内容的获取应当简单而具有魔力。”而从打开主页屏幕到开始播放内容不应当超过3次点击。对于直观地理解操作以及尽快地获得内容而言,搜索也不是最好的方式。不过,搜索仍将是Android TV的主要工具。除了通用搜索之外,点击遥控器上的“搜索”按钮也可以实现单独应用中的搜索。

  如果这些文件中的信息是准确的,那么谷歌正在与多家应用开发商合作,为Android TV开发应用和游戏,并鼓励开发者采用更具一致性的界面。我们获得的屏幕截图显示了谷歌的自主应用,例如Play Movies、YouTube和Hangouts,以及多款第三方应用,包括Vevo、Netflix、Hulu、Pandora,以及一些游戏。

  谷歌表示:“Android TV就是针对客厅电视观看体验而优化的Android。”但目前的关注重点在于简洁性。谷歌移除了Android系统中一些不必要的功能,包括电话、摄像头、对触摸屏的支持,以及近场通信,向开发者提供了一个准备好的界面,帮助他们在其上提供电视剧、游戏、照片、音乐和电影服务。或许仍有一些创新方式去利用大尺寸屏幕,不过出发点仍是用户躺在沙发上看电视。

  与Chromecast共存

  不过,Android TV奇怪的一点是,谷歌已拥有了一款类似的产品,即售价35美元的Chromecast电视棒。谷歌曾传达了这样的信息:开发者没有必要专门为电视机开发应用,特殊的电视版网页将可以接收来自手机的指令。The Verge认为,Chromecast电视棒不会就此消失,这意味着开发者可能需要同时开发两个界面,分别针对Chromecast和Android TV。

  Android TV或许也向谷歌的硬件合作伙伴传达了消息,例如目前正使用webOS系统开发智能电视的LG。早些时候有报道称,谷歌将自主开发Android TV,这意味着该公司将直接与硬件合作伙伴竞争。因此,谷歌的合作伙伴将需要选择是继续与谷歌合作,还是尝试自己的客厅解决方案。

  目前,Android TV听起来似乎并没有胜过Roku、Apple TV和Fire TV,以及Xbox One和PS 4。在Google TV遭遇失败之后,许多人都开始对谷歌提出质疑。不过正如亚马逊所证明的,市场对能提供优秀内容的简单机顶盒仍有巨大的需求。谷歌仍希望开拓客厅市场,而Android TV将是又一次尝试。

DD-WRT刷机完整教程

DD-WRT(简称DD)是一个Linux开源操作系统,实质它是第三方的路由器固件。路由和网管功能非常强大,通常我们使用的路由器设备,都具有一个独立的操作系统(英文简称OS),用于对路由器设备进行各种功能设置和管理。其实我们通常所说的升级路由器固件,也就是指升级刷新路由设备里面的操作系统,以使得路由器设备的功能更加强大。常见的第三方路由器固件还有番茄(Tomato)等。

DD-WRT固件刷机流程如下。

一、为什么要刷DD-WRT?

DD-WRT固件可以实现中继、AP、VPN、VOIP、UPNP、DHCP、端口映射、DDNS、IPv6、SNMP、SSH、计费功能、封杀BT、VLAN划分、调整无线信号发射功率等扩展功能。

二、DD-WRT收费吗?

常规版本都不用收费,但也是特别版需要付费。付费版功能更加强大。如:PPPoE验证、ARP欺骗等。

三、哪些路由器可以刷DD-WRT固件

1、支持刷DD-WRT的路由器种类很多,可以参考官方的硬件支持列表。主要是Broadcom芯片方案的路由器,其他的的也有支持,但是并不是很多。

2、首先要了解自己的路由器是否支持DD-WRT、支持那种版本的DD-WRT。其次刷固件方式,如有特殊说明,一般都会有提示。如有一些路由器就提到只能使用TFTP方法刷,否则有可能不成功!

3、DD-WRT的MINI(迷你版)和STD(标准版)固件大小差不多,Flash(闪存)通常在4M或8M就可以刷标准版或增强版的固件。如果你FLASH(闪存)有8MB的话当然是刷MEGA(完整版)好。对于新手你可以先刷好MINI(迷你版)再升级到其他版本,STD(标准版)固件支持的功能要比MINI(迷你版)的多。

版本介绍:
Micro(最小版) 需要 2MB FLASH
Mini(迷你版) 需要 4MB FLASH
Standard(STD标准版) 需要 4MB FLASH
VOIP(VOIP功能版) 需要4MB FLASH
Mega(完整版) 需要 8MB FLASH

四、需要哪些设备或工具

刷路由器通常不需要特殊设备,电脑一台、网线一根、路由器一台即可。而且大部分路由器刷固件都可以在Web界面进行。

五、固件刷新方法种类

1、路由器自带的Web配置界面刷固件。

2、使用TFTP方法刷。

具体使用那种方法新,请参照DD-WRT硬件支持列表的方法。不过一旦升级到了DD-WRT,以后更新的时候可以通过Web界面进行。

六、采用Web方法刷

确认自己的路由器可否使用Web方式刷新,当然大部分路由器都可以这样做。Web方式刷新其实就是路由器设置菜单里面的“更新路由器固件”功能。虽然不是更新同厂的固件,但是也是可以用的,这种升级方式最为方便。

1、确认路由器支持DD、没有特别刷新方法的说明。本教程是以Linksys WRT150N V1 无线路由器为例。

2、下载适合路由器的固件版本。通常都会支持中文或其他网友发布的汉化。最好准备一份路由器的原厂固件,以备恢复时使用。

注意:如果想要下载最新版本,可以进入Feko目录下载,不过这个目录里的固件不是最终版,属于SVN(Subversion)。如果不是为了尝新或者路由器有兼容问题,建议还是不要这么做了。

3、登录Linksys的管理界面→固件升级,点击“浏览”找到下载的DD-WRT固件。这款路由器提供两种升级方式,一种是常规的“升级”,一种是“安全升级”。

4、后者将进入Boot模式将新的固件加载到路由器上,优点是可以避免内存不足而造成的失败。

5、如果提示刷新失败,建议重启路由器再进行刷新。如果重启后还是失败,那么就得分析具体原因了,看看是不是版本不合适引起的。例如是不是固件太大了,超过路由器的容量等。

七、采用TFTP方法刷

TFTP是Windows内置的一个命令。在命令提示符下进行操作。使用TFTP刷新请用网线把电脑和路由器的LAN口相连接。

1、确认路由器支持DD,且只能用TFTP的刷新方法。然后根据路由器型号、下载对应的DD固件版本。某些路由器刷DD使用TFTP有特别说明,一定要看仔细。

2、在开始菜单中选运行然后输入CMD并回车进入命令提示符。输入ipconfig /all了解当前的路由器的IP地址,一般默认都是192.168.1.1。建议手动分配一个地址。防止重启后IP发生变化。请设置电脑和路由器在同一个网段,例如192.168.1.2。然来将dd-wrt.bin固件文件放到C盘的根目录。

3、假设路由器IP是192.168.1.1,输入命令ping 192.168.1.1 -t并回车看通不通得了,通了就OK。然后重启路由器(通过Web界面)。

4、因为需要在启动的时候刷新,所以先输入tftp -i 192.168.1.1 put dd-wrt.bin,但是先不要敲下回车键。

5、重启路由器(有的路由器非要使用Reset按钮才能进入TFTP模式),按下回车。也有一种说法是看路由器指示灯,当所有指示灯一闪而灭的瞬间,按下回车输入命令。成功之后会出现successful的提示,如果失败就再来一次。出现successful之后,还需要你耐心等待几分钟,不要进行任何操作。

八、刷新失败怎么办?

先断开电源重启、按复位(Reset)键等操作看有没有变化。如果没有变化,试试看用TFTP法刷新。如果还不行,可以去买一条路由器相配套的JTAG线,通过它可以把路由器救活。淘宝有些卖家在质保期内也会提供免费救活服务。

PS: DD-WRT里不要盲目加大功率,毕竟信号太强会对身体有伤害。如果信号够用还可以适当降低标准信号功率,从而减少无线信号对人体的辐射。对有些路由器作用并不大,反而是增加无线干扰或导致无线网卡损坏导致经常断线和无信号,而且这种损害是不可逆的和不能修复的,坏了就成砖头,有可能导致路由报废。请大家切记。

OpenVPN的配置和使用

  OpenVPN是一个用于创建虚拟专用网络加密通道的软件包,允许创建的VPN使用公开密钥、数字证书、或者用户名/密码来进行身份验证。OpenVPN能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Windows 2000/XP/Vista/7以及Android和iOS上运行,并包含了许多安全性的功能。

  配置OpenVPN 2.0的第一步是建立一个PKI(public key infrastructure 公钥基础设施)。PKI包括:

  • 服务端和每个客户端都有一个证书(也称做公钥)和私钥
  • 一个认证机构(CA)的证书和私钥,用来为每一个服务端和客户端颁发证书(sign each of the server and client certificates)。

  OpenVPN 支持基于证书的双向认证,也就是说客户端需认证服务端,服务端也要认证客户端,

  服务端和客户端验证对方的第一步是验证对方提供的证书是由认证机构(CA)颁发的。然后测试第一步认证通过的证书的头部信息,如:证书的common name,证书的类型(客户端还是服务端)。

  从VPN的观点来看,这一安全模式满足一系列要求:

  • 服务端仅仅需要它自己的证书/私钥对 -- 它不需要知道客户端的证书。
  • 服务端仅仅接受拥有CA颁发的证书的客户端。因为服务端检查证书是否由CA颁发时并不需要访问 CA的私钥,这样就可以将CA的私钥(整个PKI中最重要的私钥)放在另一台机子上。
  • 如果一个私钥(is compromised),通过将它的证书加入CRL(证书吊销列表)可以禁止这一私钥。 CRL允许有选择地拒绝compromised 证书而不需要重建整个PKI。
  • 基于嵌入的证书域比如Vommon Name,服务端能够加强客户端待定(client-specific)访问权限 (access fights)。

生成认证机构(master Certificate Authority(CA))证书 & 私钥

  在这一节我们生成一个认证机构(master CA)证书/私钥,一个服务端证书/私钥,两个客户端的证书/私钥。

  我们使用OpenVPN捆绑的一组脚本。

  在Linux下打开一个Sehll,进入OpenVPN下的easy-rsa目录。如果OpenVPN是从RPM包安装的,easy-rsa目录通常在/usr/share/doc/packages/openvpn或/usr/share/doc/openvpn-2.0目录下(最好在改动之前将这一目录拷到别的地方,比如/etc/openvpn,以免以后OpenVPN的升级覆盖所做的改动)。

  在Windows下,打开一个命令行窗口进入\Program Files\OpenVPN\easy-rsa目录,运行下面的批处理文件将配置文件拷到正确的位置(这一命令会覆盖先前存在的vars.bat和openssl.cnf文件)。

init-config

  编辑vars文件(在Windows下是vars.bat)设置KEY_COUNTRY、KEY_PROVINCE、 KEY_CITY, KEY_ORG和KEY_EMAIL参数,这些参数不能有一个是空白。

  下一步,初始化PKI,Linux下:

. ./vars
./clean-all
./build-ca

  Windows下:

vars
clean-all
build-ca

  最后命令(build-ca)通过调用交互地openssl命令生成认证机构(CA)的证书和私钥。

ai:easy-rsa # ./build-ca
Generating a 1024 bit RSA private key
............++++++
...........++++++
writing new private key to ''ca.key''
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ''.'', the field will be left blank.
-----
Country Name (2 letter code) [KG]:
State or Province Name (full name) [NA]:
Locality Name (eg, city) [BISHKEK]:
Organization Name (eg, company) [OpenVPN-TEST]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server''s hostname) []:OpenVPN-CA
Email Address [me@myhost.mydomain]:

  上面的序列中,大多数询问参数的默认值是在vars或vars.bat文件中设定的值。唯一一个需要明确输入的参数是Common Name,上面的例子中输入的是"OpenVPN-CA"。

为服务端生成证书&私钥

  为服务端生成证书和私钥。Linux/BSD/Unix:

./build-key-server server

  Windows:

build-key-server server

  和前面的一步类似,大多数参数可以保持默认值。当询问Common Name时,输入"server" 。另外两个回答"y"的问题,"Sign the certificate? [y/n]"和"1 out of 1 certificate requests certified, commit? [y/n]"。
Two other queries require positive responses, "Sign the certificate? [y/n]" and "1 out of 1 certificate requests certified, commit? [y/n]".

为3个客户端生成证书&私钥

  生成客户端证书和前一步类似。Linux/BSD/Unix:

./build-key client1
./build-key client2
./build-key client3

  Windows:

build-key client1
build-key client2
build-key client3

  如果你想使用口令保护你的客户端私钥,则使用build-key-pass脚本而不是build-key。

  为每个客户端输入适合的Common Name,也就是"client1", "client2", "client3"。总是为每个客户端指定一个独一无二的名字。

生成 Diffie Hellman 参数

  必须为OpenVPN服务端生成 Diffie Hellman 参数。Linux/BSD/Unix:

./build-dh

  Windows:

build-dh

  输出:

ai:easy-rsa # ./build-dh
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
.................+...........................................
...................+.............+.................+.........
......................................

密钥文件

  在keys目录下生成的私钥和证书。下面是这些文件的解释:

  

文件名 需要者
Needed By
说明
Purpose
秘密
Secret
ca.crt 服务端和所有客户端
server + all clients
根证书
Root CA certificate

NO
ca.key 签发私钥的机器 
key signing machine only
根私钥 
Root CA key

YES
dh{n}.pem 服务器
server only
Diffie Hellman parameters
NO
server.crt 服务器
server only
服务器证书
Server Certificate

NO
server.key 服务器
server only
服务器私钥
Server Key

YES
client1.crt client1 only Clinet1的证书
Client1 Certificate

NO
client1.key client1 only Clinet1的私钥
Client1 Key

YES
client2.crt client2 only Client2的证书
Client2 Certificate

NO
client2.key client2 only Client2的私钥
Client2 Key

YES
client3.crt client3 only Client3的证书
Client3 Certificate

NO
client3.key client3 only Client3的私钥
Client3 Key

YES

  生成密钥的最后一步是将密钥文件拷到需要它们的机器上。


为服务端和客户端创建配置文件

得到例子配置文件 Getting the sample config files

  最好用OpenVPN的例子配置文件作为你自己配置文件的起点。 这些文件在以下目录

  • OpenVPN源代码包的sample-config-files目录
  • 如果从RPM安装,/usr/share/doc/packages/openvpn 或 /usr/share/doc/openvpn-2.0目录下的 sample-config-files目录
  • Windows,Start Menu -> All Programs -> OpenVPN -> OpenVPN Sample Configuration Files

  在Linux, BSD, or unix操作系统中,样例配置文件是server.conf和client.conf。 在Windows下是server.ovpn and client.ovpn。

编写服务端配置文件

  样例配置文件使用虚拟TUN网络接口(路由模式for routing)创建一个VPN,它在 UDP端口1194(OpenVPN的官方端口)上监听客户端连接请求,并且从10.8.0.0/24 子网为连接的客户端分配虚拟地址。

  使用样例配置文件之前,首先要编辑ca、cert、key 和dh 参数,使之指向你在上一节PKI中生成的文件。

  这时服务端配置文件就可以使用了,也可以进一步修改它:

  • 如果你使用以太网桥,则必须使用 server-bridge和dev tap而不是 server和dev tun。
  • 如果想让OpenVPN服务端监听一个TCP端口而不是UDP端口, 使用proto tcp而不是proto udp
  • 如果你想使用不同于10.8.0.0/24的一个虚拟IP地址范围,则修改 server项。记住这一虚拟IP地址范围必须是在你的网络上没有使用的。
  • 如果想让连接的客户端可以通过VPN互相访问,将client-to-client的注释去掉。 默认情况下客户端只能访问服务端。
  • 如果你使用的是Linux、BSD或Unix,则可以将user nobody和group nobody 的注释去掉以增强安全性。

  如果想在同一台机器上运行多个OpenVPN,每个VPN使用一个不同的配置文件, 是可以做到的:

  • 每个VPN实例使用一个不同的port号(UDP和TCP使用不同的端口空间,所以 可以让一个VPN监听UDP-1194,另一个监听TCP-1194)。
  • 如果在Windows下运行,则每一个OpenVPN配置都需要有一个自己的TAP-Win32虚拟网卡。可以使用Start Menu -> All Programs -> OpenVPN -> Add a new TAP-Win32 virtual ethernet adapter来增加TAP-Win32虚拟网卡。
  • 如果你运行了多个OpenVPN,记住编辑指定输出文件的指令,避免一个VPN覆盖另一个VPN 的输出文件。这些指令包括log、log-append、 status和ifconfig-pool-persist。

编写客户端配置文件

  客户端配置文件的例子(client.conf Linux/BSD/Unix或client.ovpn Windows) 和服务端配置文件的例子相对应。

  •   象服务端配置文件一样,首先编辑ca、cert和key 参数使之指向你在上一节PKI生成的文件。每一个客户端有自己的cert/key对。只有ca文件在服务端和所有客户端之间是通用的。

  •   下一步,编辑remote指令使之指向服务端的主机名/IP地址和端口号。 (如果OpenVPN服务端运行在firewall/NAT-gateway之后的一台单网卡机子上,则使用网关的公用IP地址,和你在网关上配置的向OpenVPN服务端转发的端口)。

  •   最后,确保客户端配置文件和服务端配置文件中指令的的一致性。主要检查的是 dev(tun/tap)和proto(udp/tcp)。还有comp-lzo和 fragment(如果使用了)则在客户端和服务端的配置文件中都必须提供。


启动并测试VPN的初始连接

启动服务端

  首先,确保OpenVPN服务端能从internet访问。这意味着:

  • 防火墙打开UDP端口1194(或者你配置的任意TCP/UDP端口)。
  • 设置一个端口转发规则,将UDP端口1194从防火墙/网关转发到运行OpenVPN服务端的机子。 
     

  下一步,确保TUN/TAP虚拟网卡没有被屏蔽。 

  为了减少错误,最好从命令行启动OpenVPN服务端(或者在Windows下,右击.ovpn文件), 不要将其作为后台或服务运行。 

一个服务端的启动过程:
Sun Feb  6 20:46:38 2005 OpenVPN 2.0_rc12 i686-suse-linux [SSL] [LZO] [EPOLL] built on Feb  5 2005
Sun Feb 6 20:46:38 2005 Diffie-Hellman initialized with 1024 bit key
Sun Feb 6 20:46:38 2005 TLS-Auth MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Sun Feb 6 20:46:38 2005 TUN/TAP device tun1 opened
Sun Feb 6 20:46:38 2005 /sbin/ifconfig tun1 10.8.0.1 pointopoint 10.8.0.2 mtu 1500
Sun Feb 6 20:46:38 2005 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.2
Sun Feb 6 20:46:38 2005 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:23 ET:0 EL:0 AF:3/1 ]
Sun Feb 6 20:46:38 2005 UDPv4 link local (bound): [undef]:1194
Sun Feb 6 20:46:38 2005 UDPv4 link remote: [undef]
Sun Feb 6 20:46:38 2005 MULTI: multi_init called, r=256 v=256
Sun Feb 6 20:46:38 2005 IFCONFIG POOL: base=10.8.0.4 size=62
Sun Feb 6 20:46:38 2005 IFCONFIG POOL LIST
Sun Feb 6 20:46:38 2005 Initialization Sequence Completed

启动客户端

  和服务端一样,最好从命令行(或在Windows下右击client.ovpn文件)启动OpenVPN。

Windows下客户端的启动和上面的服务端启动类似,并且最后以 Initialization Sequence Completed 消息结束。

  现在,从客户端通过VPN发送ping包,如果你使用路由模式(服务端配置文件里是dev tun),输入下面命令: 

  如果使用桥接模式(服务端配置文件是dev tap),尝试ping服务端所在子网的某台机子的IP地址。 

  如果ping成功,祝贺你!你已经有了一个能正常工作的VPN。  

常见问题

  如果ping失败,或者OpenVPN客户端初始化失败,请检查下列现象和解决办法:  

  •   错误信息: TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity). 这个错误表示客户端不能和服务端建立网络连接。

      解决方法:

    • 保证客户端使用允许其访问到OpenVPN服务端的主机名/IP地址和端口号。
    • 如果OpenVPN服务端是受保护的LAN内的单网卡机子,确保在服务端网关防火墙上使用了正确的端口转发规则。假如你的OpenVPN的IP地址是防火墙内的192.168.4.4,在UDP端口1194上监听客户端连接。服务于192.168.4.x子网上的NAT网关应该有一条端口转发规则: forward UDP port 1194 from my public IP address to 192.168.4.4。 
       
    • 打开服务端的防火墙允许到UDP端口1194(或者别的你在服务端配置文件中指定的TCP/UDP端口)的连接。 
       
  •   错误信息: Initialization Sequence Completed with errors -- 这一错误可能出现在windows 下,(a)DHCP客户端服务没有运行,(b)在XP SP2上使用了第三方的个人防火墙。  

      解决办法: 启动DHCP客户端服务,确保使用的个人防火墙和XP SP2能正常工作。  

  •   得到了Initialization Sequence Completed消息,但是ping失败了 -- 这通常是服务端或客户端上的防火墙过滤了TUN/TAP网络接口从而阻止了VPN网络的流量。  

      解决办法: 禁止客户端的防火墙(如果有的话)过滤TUN/TAP网络接口。例如在Windows下,你可以到Windows Security Center -> Windows Firewall -> Advanced取消对应于TAP-Win32网卡的选择(禁止客户端防火墙过滤TUN/TAP网卡从安全角度来看通常是合理的,因为你本来已经告诉防火墙不要阻止授权的VPN流量)。同样确保服务端TUN/TAP接口没有被防火墙过滤,  

  •   当使用proto udp时,连接在启动时停止,服务端的日志文件中有如下一行:  

    TLS: Initial packet from x.x.x.x:x, sid=xxxxxxxx xxxxxxxx

      但是在客户端的日志中却并没有等价的一行。   

      解决办法: 你有客户端到服务端的单向连接。服务端到客户端的连接被防火墙(通常是在客户端一侧)阻止了。防火墙可能是(a)客户端上运行个人软件防火墙,或者(b)是对客户端的NAT路由网关。修改防火墙设置允许服务端返回的UDP包到达客户端。 

  来源:guest_server投稿。