我想自己造个“密码管理器”的轮子,通过Web实现,不考虑类似LastPass的自动填充的功能,只用于存储密码。
我初步设想是这样的:
- 只需要记住一个密码,暂且称之为“last pass”好了。
- “last pass”通过PBKDF2函数生成一个key,这个key用于AES加密,这个key我们称之为“PBKDF2 key”
- “PBKDF2 key”用来加密(使用AES算法)另一个key,这个“另一个key”我们用来加密(也是使用AES算法)我们在各个网站的登录密码(或其它需要加密的密码),“另一个key”我们称为“password key”
- 需要一个密码(比如GitHub的登录密码)的时候,输入“last pass”,通过PBKDF2函数得到“PBKDF2 key”,然后用“PBKDF2 key”去解密加密后的“password key”,最后通过解密得到的“password key”去解密我们存储的密码
- 全站https
除了密码管理以外,还有一个想整合进去的功能,就是为每个网站生成一个唯一的用户名,增加社工的成本。
不知道这个设计有没有缺陷,想听下大家的看法。 :)
我初步设想是这样的:
- 只需要记住一个密码,暂且称之为“last pass”好了。
- “last pass”通过PBKDF2函数生成一个key,这个key用于AES加密,这个key我们称之为“PBKDF2 key”
- “PBKDF2 key”用来加密(使用AES算法)另一个key,这个“另一个key”我们用来加密(也是使用AES算法)我们在各个网站的登录密码(或其它需要加密的密码),“另一个key”我们称为“password key”
- 需要一个密码(比如GitHub的登录密码)的时候,输入“last pass”,通过PBKDF2函数得到“PBKDF2 key”,然后用“PBKDF2 key”去解密加密后的“password key”,最后通过解密得到的“password key”去解密我们存储的密码
- 全站https
除了密码管理以外,还有一个想整合进去的功能,就是为每个网站生成一个唯一的用户名,增加社工的成本。
不知道这个设计有没有缺陷,想听下大家的看法。 :)