一个标记

你不应该浪费你宝贵的时间来看, 我也不应该写.

这篇是倒着写, 正着的读.

认真去想, 心情很不稳定. 事情也一样. 相信过几个月再来看这个标记感受肯定不一样.

每年开始时, 都会想些东西, 然后在一年中慢慢忘掉.  今年, 我决定将它记下来.

我不知道是有信仰简单, 还是没有信仰简单.

多年来情况没怎么变化, 我也没怎么长大. 小变化的是我不怎么思考. 多年来, 我慢慢接受了一个事实, 人, 是物质上的人. 有人将这看作可耻的事. 我慢慢接受了这种可耻.

年少时, 我比较轻狂, 以为人可以是精神上的人. 我不是一个机械决定论者, 更不是唯心论者, 也不信被迫学了很多年的死了很多年的马克思. 我什么都不是, 我也不需要谁给我一个信仰. 虽然那时的我还偶尔思考活着.

在北大待了这么多年, 变的可能是对事物比较宽容, 但不代表不极端. 我喜欢极端,  因为它简单.

看看天上的月亮, 想起不久前, 父母的生日还是它提醒我的. 月亮不知道我们的新年.

蒋作延
2009-01-01

关于密码管理及软件

需要密码的地方太多了. 记这么多密码是件困难的事, 且有好记性不如烂笔头之说.

如是, 有两种解决方案, 一是所有密码用同一个, 二是将密码记下来.

用同一个密码最大的问题是安全性, 一个密码泄露, 则所有帐户都十分危险. 这个方法的一个折中是弄个简单的生成的规则. 但问题是, 这个规则或者太简单, 别人可以从你的一个密码知道其它的所有密码. 或者太复杂, 至于你也记不住或得不到.

一个简单的例子的是对所有网站, 使用相应的一个字符串, 如 "private_key_such_as_name+URL" 的映射, 如md5, sha. 这样, 一个密码的泄露, 不会太影响其它密码的安全性. 你所有密码的安全性, 依赖于你所选用的私密字符串及HASH函数的逆向困难性.

以上方案对不需要改动密码的地方很好. 但实际情况上是, 你应该周期性的改动密码. 以上方案无法适应这种情况. 如果记录每个网站对应的私密字符串, 不如记录密码.

这样, 另一个方案是, 明文记录所有密码, 将记录文件整个加密. 不少 PasswordManager是这样做的, 他们大多使用AES和Blowfish. 但我想使用 GnuPG.
而且我希望这个文件的明文是可阅读的, 这样在密码管理软件不可运行时, 依然可以查看密码. 或者说, 我希望加密功能与管理功能分开, 并且这个文件的明文可以手动管理.

我没有找到这样的软件. 有人提议直接用GnuPG+编辑器的方式, 这是个好主意. 但设想在你后面有人时, 你如何调出密码登录网站? 所以一个简单的查询界面还是要的.

将密码放在文件里, 这样, 你不需要记密码因而可以使用随机密码. 这样, 密码是你有的, 而不是知道的, 从而极大的提高了密码与个人信息的无关性.

这样做法, 最大的不足是, 查询密码有时不方便. 设想你在网吧, 想查看一下邮件, 却不知道自己邮箱的密码. 想查看一下加密文件, 却没有相应的运行程序.

这是为什么需要将加密与密码明文管理分开的原因之一. 加密软件如 GnuPG是有跨平台的, 明文格式有最小的平台问题.

这些思考的结果, 是练习Python写了一个密码管理脚本, 方便添加, 查看, 编辑, 及密码到Clipboard的应用, 基于 pyme 扩展.

将每个密码项用空行分隔, 每项定义为:

ID:
Username:
Password:
Url:
Notes:
Tags:

这些密码项存储在GPG文件里