LinPass:跨平台密码安全工具(通用密码+情景密码=复杂密码)

2015-08-11 12:25:17 +08:00
 lzhtony

为什么写LinPass

这几天看到至今尚未明朗的"某大厂"脱库事件,顿时觉得有些惶恐.之前还不觉得什么,现在想一想密码还是需要一站一密比较稳妥.

于是就开始尝试各种密码管理: LastPass,KeePass...都挺不错的.然而有一些共同的问题:

  1. 跨平台的支持不够简单方便.
  2. 需要一个数据库,如果丢了就完蛋了.
  3. 超级密码又产生新的安全隐患(尽管小得多).
  4. 你真的放心把密码存在别人的服务器里吗?即使是本地数据库大多数人也是把数据库传网盘的吧.

后来又看到了一个叫"花密"的网站: http://www.flowerpassword.com
诶!这思路不错啊,用一个通用密码一个情景密码生成一个复杂密码,就可以保证你的密码安全.

然而观察之后发现它的算法并不尽如人意,比如只有16位,没有符号,字母不是26个等等.

LinPass简介

自己写了一个简陋的密码工具"LinPass"用来改善以上问题,测试地址:http://www.lxpark.com/pass/

主要优点有:

  1. 生成8,16,20,32位的四种密码.
  2. 可以自定义字符表(Key Map),添加特殊符号.(如果加入更多的特殊符号可以让它们出现的概率更大些)
  3. JS加密,可离线使用,安全性高.
  4. 使用html+js开发,天然开源,可以自由改动算法和默认Key Map.
  5. 使用html+js开发,可以放进U盘里,只要有浏览器就能用,也解决了跨平台的问题.
  6. 密码,情景,字符表三者缺一不可,其中两个被盗都无法还原密码.

git查看地址:https://github.com/Viclis/LinPass

zip下载地址:http://pan.baidu.com/s/1i3iwyWH

tips:

  1. 自定义默认字符表: 只需将红色方框中的value属性改为你的字符表即可!

结语

欢迎提出你的建议!

5022 次点击
所在节点    分享创造
56 条回复
line
2015-08-11 12:42:16 +08:00
还是lastpass好
lonelygo
2015-08-11 12:43:51 +08:00
LZ,目测这是一个不归路啊,浏览器支持了,客户端呢,手机,🍎呢,嘎嘎。。。
lzhtony
2015-08-11 12:45:13 +08:00
@line 这个见仁见智啦.LP的自动登录还是很方便的.不过如果说用软件的话还是觉得KeePass好,因为有些时候不能随便装东西(比如别人家的电脑),KeePass只要U盘一个就行了.
lzhtony
2015-08-11 12:46:05 +08:00
@lonelygo 手机直接浏览器也行啊 ^_^
lonelygo
2015-08-11 12:47:14 +08:00
@lzhtony 手机有大量APP啊,1pass主要就是这个问题解决的算好吧。
omi4399
2015-08-11 12:50:29 +08:00
各种插件等你来开坑
lzhtony
2015-08-11 12:57:23 +08:00
@lonelygo
@omi4399
手机的有时间了就做,插件不会,如果以后学会就填了这坑.
如果各位有时间可以帮忙写啊.
faceair
2015-08-11 13:05:17 +08:00
据说是因为有的网站密码不支持特殊字符,所以为了通用性花密就没加
EchoChan
2015-08-11 13:07:42 +08:00
你这样跨平台就简单了?
yyork
2015-08-11 13:22:21 +08:00
我也曾想过,也想到两个问题1.不记得情景密码或者情景密码更改。比如QQ的密码,写tengxun还是qq呢(这个比喻可能不太恰当),区不区分大小写呢。如果有三个qq那是不是都得一样的密码呢,qq密码泄露了,再次更改密码就不能用原先的情景密码。2.每次输密码需要去生成有点嫌烦。
Gandum
2015-08-11 13:22:58 +08:00
@lonelygo HTML+JS直接打包下,iOS,Android和PC的客户端就全齐了
lonelygo
2015-08-11 13:38:10 +08:00
@faceair 不是据说,是肯定,我记忆中12360和58不支持。
sengxian
2015-08-11 13:49:54 +08:00
干不过1p
Ellison
2015-08-11 13:54:41 +08:00
@yyork 3 个 QQ 就按 QQ 号来啊
phoenixlzx
2015-08-11 13:59:24 +08:00
来参赛吧
https://v2ex.com/t/202742

虽然已经开始了不过还可以报个名然后提交作品
yyfearth
2015-08-11 14:34:22 +08:00
@lzhtony 几年前 CSDN 我的老的密码被盗后就写了一个这样的东西了
选项比你这个多 而且我还做了 Chrome 扩展

其实这个思路还是有问题的
我坚持用了2年后放弃改用Chrome或者1p自动生成的密码了

主要的问题还是需要记忆或者保存某些东西不能丢失
当然一个Master Key是问题不大
首先 你这个情况 这个 Key Map 你怎么记 万一丢了怎么办

更重要的原因是当你要用密码的时候怎么办
把密码直接记录到1pass keepass lastpass 那不如直接随机密码来的方便
不记得话 就要重新生成
但是你重新生成怎么保证一致性 你记得规则吗 你的 Map Pass Salt 是什么
不要想象的那么简单 等你生成的密码多了 就算是那个 salt 你都会记不住
然后 万一自动生成的密码还被泄露的怎么办?再生成一个又要怎么办?

另外一个非常非常麻烦的可用性问题就是
不同的网站规则不同
有些网站必须8-16 位 可以有特殊字符/不可以有特殊字符/必须要特殊字符 之类
你如何处理?

另外你要的话我可以把我做的功能截图发上来
不过源代码我可能已经丢了
功能上我比你这个考虑的功能多 而且当年还为这个写过paper来着
而且我那个所有参数都可以记忆 没有那个map必须保存在电脑上面
yyfearth
2015-08-11 14:42:01 +08:00
@yyork 我已经付诸实践了
你这些问题确实是最大的问题
基本上没办法解决
还是得靠1p或者lastpass
这样一来 就显得完全没有必要了

问题按重要性排序

1. 记不住场景 (尤其当不得不更换场景 或者有多个场景 的时候)
2. 每个网站密码要求不同 (有的要求短密码不能有特殊字符 有的要求长复杂密码 而且还会变)
3. 保存密码意义不大 重新生成密码又不方便
4. 不得不修改密码的时候太麻烦
gaohongyuan
2015-08-11 14:43:56 +08:00
百度帐号这种只支持最多14位密码的就只能用8位了
yyfearth
2015-08-11 14:45:41 +08:00
忘了说一个 5. 某些情况使用及其不方便

尤其是有些时候需要输入密码 但是又不方便打开这个网页重新生成密码
比如手机上面的app 或者你到别人的电脑上用的时候

就算是你可以用这个重新生成
用手输入的时候 简直想撞墙
eae29qvc
2015-08-11 14:59:55 +08:00
ios平台怎么搞

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/212337

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX