-
接上次那篇《轻易不要使用NTFS的加密》 ,今天突然又蹦出来一个想法:存储设备加密的时候难道就不能提供找回密码或者密码保护的功能吗?仅仅依靠密钥和硬件相关的数字是安全健壮的存储吗?
大学上完,大家的电脑上都多多少少存了一些具有纪念意义的资料,照片,视频,图片,情书,电子纪念册。。。大多数人就这么搁在电脑的某一个分区里,某一天硬盘挂了,傻眼了。部分人有安全意识,统统刻盘或者找个大容量的硬盘存起来。可是这样有私密性的问题,于是为了防止隐私外泄,少部分人对这些资料进行了加密。这下隐私是不可能暴露了,可是危险性也增大了。过了好几年,想翻翻青春的记忆,结果密码怎么都想不起来了,这回可真是肠子都悔青了。
有些砖家总提倡大家更换密码,最好是随机没有任何意义的密码,我不赞成这样的观点。记着本科时候的白云同学,他的机器密码是Windows自动生成的随机字符,30天更新一次。每次看到白云大哥进一次系统,需要输入几十个字符的随机密码,我心里佩服的都五体投地:这多练记忆力啊。事实上,大部分人是懒得用这么复杂的密码去保护数据的,而且越是复杂没有规律的密码越容易忘记,这无疑使数据更不安全。
好多年前上网的时候,大多数网站还没有“找回密码”这种功能的。后来渐渐地网站的开发者发现这种功能很实用,于是演变成了今天的标准配置。国内在这一方面,我觉得腾讯是做的最好的,大家看看QQ密码的保护就知道了。这一方面可能是由于腾讯在这方面考虑的比较多,另一方面,QQ号总被盗也确实逼迫着他们努力去改进安全机制。既要有足够强的密码系统去保护用户数据不被人窥探破坏,同时还要考虑如何在密码被盗的情况下不损害用户的利益。
安全领域里很多东西都具有相似性。好比CA这种东西就是从人类社会的信任机制里发展来的。无论如何,你总要信任什么,才能被保护。现实社会我们信任各种证件,大多数时候是因为这些证件是凭更有效的证件才能办理的,例如身份证。而信任身份证的基础正是因为我们信任公安局,更远了说是信任政府,信任国家。归根结底,我们信任的根,在于是我们信任我们的体制,相信政府能够依靠法制去保证我们的各项权益。我们的安全感其实是一环套一环紧紧相扣的,而数据的安全也正应该如此。网站能够让你登录你是因为你有正确的密码;当你的密码丢失了,可以通过邮箱找回,这是因为网站信任你的邮箱,相信只有你才能进入这个邮箱;再进一步邮箱也忘了,我们还可以回答问题,还是因为我们相信问题是你写的,你就应该能回答出来;要是问题答案也忘了呢?没关系,还可以找客服。带上你的有效证件,证明你的合法身份和你注册时填写的资料一致,网站还是会把密码还给你。到这里,虚拟世界最终还是跟现实社会联系上了。
说了半天好像跑题了,好,我们兜回来。在数据安全上,只要是会造成单点失效的机制,都是差劲的机制。设置密码是很好,可是密码忘了就大大不好了。我认为对于个人使用的数据产品,应该有更好的,更健壮的机制去保护数据。最起码的,它应该是一条足够健壮的安全链,而不是仅仅依靠加密和访问控制。试想一下,把几十G的个人数据安全都寄托在一串6-20的字符密码上,是不是有点太疯狂了呢?应该有这样一种软件机制,或许它应该成为驱动程序的一部分,它能够从底层支持多层次的身份认证的方式。存储设备第一次被使用或者转让的时候,能够记录或者更改这些认证信息的数据。当初级的认证方式失败的时候,能够通过更高级的认证信息来验证用户的身份,而且这些高级的认证信息最好是社会化的,是跟现实社会有关联的。能够实现上述机制的存储,我认为,是比仅仅依赖于各种数字符号的安全机制存储,更加安全,更加健壮的。
恩,脑子热了一下,写了一堆废话
-
2009-06-30
轻易不要使用NTFS的加密 - [技术&趋势]
昨天,女朋友告诉我,她的机器上图片都打不开,让我帮他修修。我接过来一看,JPG的照片在Windows Picture Manager里全部显示红色的小叉。一开始我觉得可能是他最近用Ghost恢复系统后Office的安装有什么问题,于是在网上下载了ACDSee,结果依旧无法打开。随后试了试昨天刚刚照的照片,存在同一个目录下,却能够正常显示。看来问题跟软件没有关系,跟Ghost恢复系统有关系。
将文件夹选项中的“用彩色显示加密或压缩文件”选项打上勾之后,果然,整个目录名和文件名变成了淡绿色,说明确实是NTFS加密或者压缩过的。仔细检查了文件的属性之后发现,所有的文件和目录的高级属性里,都选择了“加密内容以便保护数据”一项。看来果然是加密的问题。
可问题是,用Ghost恢复了之后,系统应该完全回复到了最初的样子,为什么这些图片具有读写的权限,却不能被打开呢?上网搜了一下,心里顿时凉了半截。原来NTFS文件系统自带的EFS加密并不是以口令的方法加密的,而是以非对称加密方法加密的。第一次选择加密的时候Windows会自动帮你生成证书和私钥,用证书里的公钥加密文件,然后将原始文件删除。这和一般的保护软件使用的口令方法本质不同,一般的保护软件只是做了访问控制,对没有权限的用户拒绝访问,不会改变文件本身的数据。因此,即使忘了密码,一般也有方法能够绕开或者破解。而EFS显然已经将原始文件变成了密文,如果没有私钥的话,是断然不可能破解的。
想到这里,事情已经清楚了:系统刚安装不久的时候,用Ghost做了备份。中间的某个时候,选中了加密选项,于是系统生成了证书和私钥存储在系统分区。前一阵子,用该备份恢复了系统。然而,关键的关键是,加密是在备份做完之后才启动的。换句话说,备份的映像里根本没有证书和私钥,而恢复前也没有将证书和私钥导出。最终的结果是,证书丢失,数据永远也打不开了。至于为什么仍然有访问和读写权限,那是因为用Ghost恢复后,账户的SID没有改变。如果是重装系统,SID已经改变,就不一定有读写权限了。
事情的经过就是这样,结果就是两年来一些经历的照片永远也找不回来了,教训不可不谓惨痛也。非对称加密现在虽然被广泛使用在安全领域里,可是它是否真的适合普通用户去操作,我觉得确实还有待研究。加密手段的强力,确实能够安全的保护数据,然后一旦密钥丢失,却也完全没有办法恢复。对于普通用户来说,相比于隐私数据被他人访问,数据永远无法找回也许是更大的损失。(当然,对于cgx君,可能不一定正确)
最后给大家点建议:轻易不要使用加密的方法来保护你不想让别人看到的数据,因为密码很容易忘记,密钥也会常常因为疏忽而丢失。现代的加密算法都非常强力,一旦没有密钥,数据将用于无法取回。可以使用改名,隐藏,设置访问权限等其他方法来保护数据。同时还要注意,数据放置在一个地方,永远是不安全的,多多备份,分开存储才是王道。
-
2009-04-20
网摘的Cache问题 - [技术&趋势]
除了Cloud,今天还回忆起了一个问题,是关于网摘的。两年前的时候吧,delicious等一批2.0的网摘应用开始流行,现在已经深入人心。我之前用yahoo网摘,后来转到diigo,用起来还是蛮方便的。借助于浏览器的插件或者booklet,可以将上网时找到的一些文章方便的收藏到自己的网摘中。通过搜索引擎或者tag,也可以很方便的查找。借助于群组和兴趣聚合,分享也不是那么太难。曾经看到一片评价网摘的博文,提出了评价2.0网摘的三个评价指标:便于收藏,便于查找,便于分享。那么,我认为,至少便于查找这一方面目前做的还不是很好。
其实问题不在于他们的服务做得不好,而是跟人的意识和行为有关。就像计算机里的Cache一样,我对网摘的理解,就跟Cache一样。计算机教材中关于Cache的原理是这么个意思:处于某一存储区域附近的区域更加可能被命中,多次被命中的内容更有可能命中。也就是说时间上和空间上接近的内容被访问的概率更大。基于这个原理,人们在计算机很多地方运用了Cache,大大提高了访问速度。转回到网摘的问题上来,网摘可以看作是一个大的Cache,人的大脑可以被看作是CPU。对于那些用户已经访问过而且放入网摘中的内容(页面)来说,用户再次访问的概率显然很高(否则也用不着把它放在网摘里吧)。因此,当用户用同样的或者相似的检索关键字去检索网络时,这些已经被收藏的页面对用户的价值应该更大。从另一个角度来说,当我用我网摘中某个已经存在的tag或关键字去检索互联网时,我更可能更倾向于寻找我曾经读过的那篇文章,而不是去查找其他内容。
很多使用网摘的人现在都跟我有了一样的毛病。对,的确,我们很乐意将看到的好的网页收藏起来,或者分享给朋友。但是,当我们下次遇到同样的问题的时候,我们却不能在第一时间首先去检索我的网摘去寻求答案,而是直接在Google的搜索栏里输入了关键字。怎么说呢,可以说这是google的胜利,因为他的粘性更大;也可以说是那些提供网摘的Web 2.0的网站的不足之处。但是无论如何,这降低了用户的效率,因此它不是最好的方式,它应该被解决。
想来想去,这事儿还是更适合Google来做。要么,Google直接将delicious收购了,统一在Google旗下,帐号和Google的帐号绑定。每当我在Google的搜索栏里输入关键字的时候,页面的最上部列出我的收藏中与之匹配的网页。要么,干脆Google自己做这么一个个人的网摘系统,直接用Google现有的帐号和资源(比如用Gmail分享),集成到现有的搜索引擎中,绝对地提高用户效率。
PS:我觉得我这想法还是靠谱的,哪天Google真的做了这产品,咱也不讲只是版权了,署上俺的名就可以了。
PS2:原来Google也有网络历史记录的服务,不仅没有和搜索结果集成,而且只有安装工具栏之后才能索引所有访问过的网页,不然只记录搜索历史。怎么看怎么不方便。
-
Cloud这个概念,听说了已经有好几年了,现在终于开始火了起来。相比于前几年热炒的什么Web Service,SOA,我最近觉得这个东西还是更靠谱一些。借着Web以及无线的的大潮,现在瘦客户端的趋势已经越来越明显了,从去年市场上开始出现的上网本就是一例。大概十年前的时候,我还觉得电脑主要是用来办公,游戏的,那时候似乎OS和Office才是正统的东西;大概三四年前的时候,我渐渐的觉得电脑离了网线已经变得什么也不是了;而现在,几乎所有PC上可以实现的功能,都被搬到了网络上,用瘦客户端的手机,PDA,上网本都可以完成。今天看到李开复说,摩尔定律在现在的条件下已经开始渐渐不适用了。PC功能的转移正在导致作为PC核心的芯片的发展速度逐渐变慢。在云计算的背景下,PC的内存,CPU,磁盘容量已经不需要那么大了。一个400MHz的ARM,256M的Flash,2G的SD,再加上一个功能完善的浏览器,除了游戏,我们还有什么不能做呢?
任何事物的发展总免不了交替反复的轮回,计算机这几十年来的发展也是这样。胖瘦之争其实代表了服务集中在哪一端的争论。计算机刚出现的时候,由于成本等原因,不可能普及到每个家庭。那时候的机器多半是以大型机+n个终端的形式出现的。后来,大规模集成电路的出现,使得PC的处理能力越来与强,造价越来越低,于是功能越来越集中到了PC端,大型机的角色被形形色色的服务器所替代。而到了现在,随着Web,无线网络和手持式客户端的进步,服务又一次集中到了远端,只不过这一次,服务端变得更大,更强劲,变成了云。
不像政治家那样直接靠制度去改变人们的生产生活方式,科学家和技术人员通过技术的变革去改变人们的生产生活方式。而这种改变,我觉得更加深刻,也更加持久。伴随着每一次的技术革命,都会催生出新的社会阶层。青铜制品催生出奴隶,铁质农具催生出封建农民,蒸汽机催生出技术工人,电脑催生出白领阶层。这几十年来,虽然技术的进步每一天都在发生,但并没有划时代的革新出现。但就是这样,人们的生活方式在这几十年也是不断地在变化,而且变化的速度是前所未有的。身处在计算机这个行业,有时候会感到跟不上时代的发展,常常有一种已经被时代所抛弃的感觉。这种新鲜感和速度感吸引了一批又一批的年轻人投身其中,进而又保证了其告诉发展的智力来源。所以我想,IT这个行业,如果什么时候对年轻人没有了吸引力,那么这个行业也就要开始衰落了。
-
2008-11-18
EyeSaver 小程序 - [技术&趋势]
这个是我大四的时候写的一个小程序,专门防治长时间盯着电脑屏幕的坏毛病。前两天实验室开始闹颈椎疼的毛病,于是想起来了这个玩意。昨天对代码做了一些小改动,功能更加完善了一点。
功能如下:
1.设置多长时间休息一次。(0.5 ~ 3 h,个人以为3h是必须休息的下线,不然颈椎肯定是要有问题的)
2.设置休息时间的长度。(3 ~ 30 min)
3.休息时间到达时,屏幕,键盘,鼠标被锁定。(被锁定的情况下,除了离开电脑,做点伸展运动我想你也没什么好干的了)
4.休息时间到达1min前,托盘区图标闪烁。这个主要是为了避免做某项工作正兴奋的时候(看电影,玩游戏,跟MM聊天...)被锁定,会带来很大不爽。所以先提示一下,让你有个被锁定的心理准备。
5.开机自动启动。(没这个功能也就达不到强制让你休息的目的了)
6.设置系统空闲达到一定时间时,停止计时。(这个主要用来避免人离开电脑后,软件还在计时造成不必要的锁定)
总体来说,功能上非常类似gnome下的gnome-typing-monitor那个小软件(ubuntu中自带),某些地方略有加强。
截图如下(锁定的图片没办法截了,自己运行着看吧):

下载使用点这里 ,绿色的,解压后用就可以了。网速太慢,源码发上来太麻烦,有兴趣找我就行








