在不安全的网络环境下安全上网
偶尔,我会在公众场合上网。但是不敢以自己的身份登陆任何网站。这年头,自己家的机器都不安全了(使用非 Windows 平台的除外),哪敢信任不知底细的机器啊。
话说,我是没买过没用过笔记本的,对这个东西比较抵触。之前已经极大的挖掘了 Palm 手机的功能,比如可以用 ssh 登陆远程自己的机器。可以用浏览器访问一些简单的控制界面等等。只要在自己放在公网上的服务器配置好了,问题都不大。记得有一天,我想看一个网站上的图片,但是手机浏览器对那个网站的页面罢工。我是先 ssh 登陆到自己服务器,用 wget 下载下页面,再用 grep 分析 html ,然后 wget 下图片。并用 ImageMagick 缩小,压缩转换格式。最后放到自己的 web server 上,让手机浏览器可以顺利观看的。(顺便节约了许多 GRPS 流量)
这套方案用起来过于繁琐,也有很大的局限性。
昨天睡觉的时候胡思乱想。如果能弄一套通用的东西,或许就可以让我放心的去用别人的机器了。比如出差的时候突然需要上网,光靠手机又不够的时候,可以冲到网吧里暂时用一下。
当然一切技术方案都不是完美的,只能尽可能的做到安全了。另外需要使用方便,不需要安装额外的软件。在大多数可以连接互联网的桌面系统上,最低软件配置应该至少有个浏览器吧,只能打这个的主意了。
为了防止被人在本机之外截走网络包(例如网吧的网关被动了手脚),应该做一个 https 连接的 proxy 。我想会有现成的软件的。
通过 https 的 proxy 访问自己想访问的网站,大多数线路上的安全问题可以放心了。这个 proxy 应该可以帮我保存所有的 cookie 在 proxy server 端,保证不泄露隐私。
第二步,我不能在非自己的机器上输入任何的用户名、密码。因为无法确认键盘是否被监听。不光是键盘输入,其实,无论以任何方式的输入,都不应该让密码存在于陌生的机器内存中。使用 usb key 或许是一个好办法,但是不是所有的机器都有 usb 接口,有的话也不一定允许插入。
所以我想,最好的办法是,把自己的各组密码全部事先在安全的环境放在 proxy server 上。通过 proxy server 转发提交就可以了。如果需要管理的密码太多(比如我,每个地方用的密码全部不一样),就可以为每组密码设置一个自己明白的字符串标识,下拉选择。
第三,这个 https 的 web proxy 系统如何安全登陆呢?
最简单的方法是事先生成一组一次性密码(OTP),用掉一个就销毁一个。出门前抄在本子上,或放在手机里。
btw, OTP 其实是个很廉价且安全的方案,建议游戏里用 :D 比如允许用户在安全环境下索取一组 OTP 自己打印出来放着。然后在自己不放心的环境下使用。这里面会有些设计上的细节,不展开分析了。
嗯,不知道做上面这样一套东西麻不麻烦。是不是有开源的东西改吧改吧,拼拼凑凑就能做出来。 :D
Comments
Posted by: jimmy | (41) April 19, 2009 04:18 PM
Posted by: snnn | (40) April 14, 2009 12:13 AM
Posted by: wanfuwu | (39) February 26, 2009 11:31 AM
Posted by: icer1 | (38) February 26, 2009 09:32 AM
Posted by: 雷勇 | (37) February 10, 2009 09:08 AM
Posted by: Terry Wang | (36) February 6, 2009 08:02 PM
Posted by: qdk0901 | (35) February 1, 2009 02:25 AM
Posted by: Cloud | (34) January 31, 2009 09:12 PM
Posted by: fancy | (33) January 31, 2009 02:53 AM
Posted by: 燕仰 | (32) January 22, 2009 11:13 AM
Posted by: 5 | (31) January 17, 2009 06:20 PM
Posted by: leesoft | (30) January 17, 2009 03:34 AM
Posted by: xLight | (29) January 17, 2009 12:09 AM
Posted by: 又见小飞鱼 | (28) January 16, 2009 09:29 AM
Posted by: jason | (27) January 15, 2009 10:44 AM
Posted by: 红色警戒 | (26) January 15, 2009 10:23 AM
Posted by: jimmy | (25) January 15, 2009 09:58 AM
Posted by: Victor | (24) January 14, 2009 06:46 PM
Posted by: 大刘 | (23) January 14, 2009 05:47 PM
Posted by: snnn | (22) January 14, 2009 05:36 PM
Posted by: 红色警戒 | (21) January 14, 2009 04:52 PM
Posted by: Cloud | (20) January 14, 2009 03:19 PM
Posted by: 又见小飞鱼 | (19) January 14, 2009 01:53 PM
Posted by: fcicq | (18) January 13, 2009 06:18 PM
Posted by: aa | (17) January 13, 2009 05:50 PM
Posted by: zuhd | (16) January 13, 2009 05:50 PM
Posted by: sbilly | (15) January 13, 2009 02:06 PM
Posted by: Cloud | (14) January 13, 2009 02:03 PM
Posted by: bennie | (13) January 13, 2009 01:15 PM
Posted by: macro | (12) January 13, 2009 12:38 PM
Posted by: sirius | (11) January 13, 2009 11:38 AM
Posted by: blacktear | (10) January 13, 2009 11:19 AM
Posted by: peter | (9) January 13, 2009 11:06 AM
Posted by: www | (8) January 13, 2009 10:25 AM
Posted by: 刘鑫 | (7) January 13, 2009 09:50 AM
Posted by: hacker47 | (6) January 13, 2009 09:40 AM
Posted by: ithink | (5) January 13, 2009 09:19 AM
Posted by: wangyingqi | (4) January 13, 2009 09:06 AM
Posted by: bennie | (3) January 13, 2009 08:59 AM
Posted by: charlie | (2) January 13, 2009 08:15 AM
Posted by: flyhorse | (1) January 13, 2009 12:42 AM