V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
KiseXu
V2EX  ›  信息安全

可记忆的密码管理方案 —— 花密

  •  
  •   KiseXu · 2011-12-27 11:06:37 +08:00 · 7494 次点击
    这是一个创建于 4722 天前的主题,其中的信息可能已经有所发展或是发生改变。
    项目地址:http://kisexu.com/huami

    “花密”旨在提供一个可记忆、非储存的密码管理方案。使用一个记忆密码和各账号的区分代号通过基于HMAC-MD5的自定义算法为不同账号分别生成一个不同的强壮密码。介绍说明:http://kisexu.com/blog/huami

    “花密”其他版本:Greasemonkey脚本版(推荐)| 离线HTML版 | 桌面exe版 | chrome插件版

    更新记录
    12月27日: 花密更新了Lucifer同学提供的桌面exe版和@JohnnyJian 同学开发的Greasemonkey脚本版,特别是Greasemonkey脚本版极大地方便了花密的使用,欢迎尝试 http://kisexu.com/blog/22
    9月05日: “花密”推出chrome插件 http://kisexu.com/blog/20
    8月29日: “花密”使用指南 http://kisexu.com/blog/19
    8月27日: “花密”更新离线版本和自建的在线版 http://kisexu.com/blog/18
    同一密码管理不同账号的窘境
    6月份的时候月光博客的小龙被黑,许多账号被破解。随着互联网的发展,大家需要管理的账号也越来越多,邮箱、网银、社交网站……相信很多人的密码管理方式是同一个密码管理所有账号,这也意味着,如果某天你的某个账号像小龙样被黑,甚至被获取了密码,那么你所有的账号安全也将受到威胁。
    除了网站被钓鱼、小站点的信息安全不到位密码被泄露外,生活中也会有自己需要主动将密码暂时告知别人的情景。比如我妈要求我把淘宝账号给她,方便她收藏商品给我付款;老妈偷菜、女友视察需要交出QQ密码等。如果管理不当,在这种情形下,密码极易被泄露给第三人。
    目前的解决方案
    可是给每个账号设置一个不同的密码意味增加了记忆难度。于是我们开始需要一个密码管理工具,比如LastPass。可是把密码储存在人家那里,总是觉得不那么靠谱,这事可是又佐证的,今年五月份LastPass密码服务器遭入侵,LastPass建议客户修改访问其服务的密码。
    当然也有KeePass这样的不错的本地密码管理软件,可是又会遇到其他问题。比如去了网吧,想看下MySQL密码……好吧,我们还有同步工具,可以把KeePass同步到云端,然后……等等,这不是在“重蹈覆辙”么。
    还有密码强壮程度的问题,好的密码应该是大小写字母、数字、符号的混合。有很多可以生成随机密码的网站和软件,这种密码是很难被记忆的。当然也有可能吧的jasonNg32这样的“休闲”人士说自己曾记忆过随机密码。
    花密 —— 新型的密码管理方案
    “花密”旨在提供一个可记忆、非储存的密码管理方案。

    如上图:
    “记忆密码”是用户唯一需要记忆的密码,使用“记忆密码”为不同的账号计算出不同的密码。
    “区分代号”是用来区别不同账号的名称,可以用中文、英文数字等。比如淘宝账号可以用“淘宝”、“taobao”或“tb”,具体的看你自己的理解,甚至可以直接用网站账号的域名作为区分代号。
    “记忆密码”加上“区分代号”通过一个基于HMAC的算法计算出一个长度16位由大小写字母、数字组成的密码,这个密码的首位一定是一个字母。(之所以长度为16,是因为部分网站的密码长度限制在16位以下)这个算法的示意图如下:

    目前“花密”是一个网络应用,访问地址:http://kisexu.com/huami
    “花密”的特点和优势
    1.只需记忆一个密码为所有账号分配不同的强壮密码;
    2.单网页应用,获取方便,只要联网即可使用,使用javascript,密码的计算在本地浏览器内进行,无需担心网络安全;
    3.防止暴力破解、社会工程学猜解,再简单的“记忆密码”通过计算后也会变得异常强大。通过HSMP估计,单机破解16位码的时间是6万亿年……
    4.不可逆,“花密”算法具有不可逆性。某账号密码被泄露后,无法通过密码反推“记忆密码”,保证其他账号密码的安全;
    5.非储存,既不在云端也不在本地储存密码,“记忆密码”只存在你的大脑中;
    6.可扩展,通过“区分代号”可以简单设置密码版本。如将“区分代号”为“taobao1”的淘宝密码临时告知他人后,将“区分代号”改为“taobao2”即可获得新的一组密码。

    “花密”的发展计划
    1.使用单独域名推出单独站点;
    2.项目页面的使用指南;
    3.英文版本;
    4.提供高级用户版本和离线版本;
    5.移动版本。
    写在最后
    信息安全是一个长远的话题,LastPass和Keepass都为我们提供了不错的密码管理服务。其实和LastPass的理念“the last password you’ll have to remember”一样,“花密”也希望提供一个简单轻松管理密码的新思路。如果你有什么建议,可以在本页面下留言,或者直接发邮件和我联系:kisexu(at)gmail.com。
    可以访问博客看更详细的介绍:http://kisexu.com/blog/huami
    项目demo地址:http://kisexu.com/huami
    12 条回复    1970-01-01 08:00:00 +08:00
    xiee
        1
    xiee  
       2011-12-27 11:08:13 +08:00
    http://mi.quchao.net
    此网站上面也有。速度快许多~~~~
    summic
        2
    summic  
       2011-12-27 11:36:18 +08:00
    有很大的弱点,太过麻烦。这类项目必须要在安全和易用性之间做取舍
    对于无关紧要的网站,我就喜欢用123456789
    lemonda
        3
    lemonda  
       2011-12-27 12:19:10 +08:00
    注册个域名吧,好记些,比如huami.cc
    goldenlove
        4
    goldenlove  
       2011-12-27 14:21:58 +08:00
    -.-d 登录的时候会很麻烦。。每次都要先生成再复制。。。。
    xdz0611
        5
    xdz0611  
       2011-12-27 14:42:33 +08:00
    @goldenlove 简直太麻烦了。。我宁愿用lastpass。
    sd4399340
        6
    sd4399340  
       2011-12-27 15:09:02 +08:00
    这个想法很棒,很有创意,不过确实稍显麻烦,登陆的时候还要再来一遍~
    安全和易用总是不能兼得啊~
    yesmeck
        7
    yesmeck  
       2011-12-27 15:11:21 +08:00
    @goldenlove @sd4399340
    有chrome扩展和油猴脚本,很好用。
    KiseXu
        8
    KiseXu  
    OP
       2011-12-27 19:09:36 +08:00
    @xiee 嗯,O(∩_∩)O~,花密提供自行搭建的版本
    leungxh
        9
    leungxh  
       2011-12-27 20:01:48 +08:00
    终于有更新了,赞。
    leungxh
        10
    leungxh  
       2011-12-27 20:06:47 +08:00
    @KiseXu 一个小建议,创建密码时,在填写记忆密码的地方,使用星号代替,如果误输入,造成的后果不堪设想,去掉type="password"会不会比较好呢?
    leungxh
        11
    leungxh  
       2011-12-27 20:09:53 +08:00
    exe版 line 24 Error:子脚本使用了非数组变量。

    需要管理员运行。
    9hills
        12
    9hills  
       2011-12-29 19:30:29 +08:00   ❤️ 1
    @xdz0611 其实用来配合lastpass最好了,lastpass生成的随机密码坏处是没有规律,这样在某些不能或不想访问lastpass的环境下就比较麻烦,比如公共电脑,比如手机(lastpass手机版要钱啊)

    花密生成的密码用lastpass管理,这样一是方便,二是在没有lastpass的环境下也可以算出密码来
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2809 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 05:49 · PVG 13:49 · LAX 21:49 · JFK 00:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.