很早之前就计划写一个暗码生成东西来辅助生成暗码了。趁着最近 Lastpass Premium 到期,总算将它完成出来。网址为https://passwork.herokuapp.com/,欢迎我们运用。

规划原因
只所以写这个东西,是因为大部分用户还是习惯性的在不同的网站上设置相同的暗码,而且暗码的内容也非常简单,如用生日“19880219”或许名字缩写+电话“jzm13018923223”。这样只要一个网站的暗码被盗后,其它网站上的帐户也很简单遭到影响。

运用方法
PassworK 正是为了解决这一问题而诞生的。其用法也很简单:通过用户输入的自定义字符串,生成一个比较复杂的暗码。用户所定义的字符串能够分成两部分:固定语和改变语。前者是自己规划的短语,能够包括空格或其它的标点符号,长度也能够超越 16 位,只需要用户能够保证自己能彻底记住住(牢记一定要自己能记住,否则就算只差了一个空格,生成的暗码也会彻底不一样);后者则是跟着要登陆的网站不同而改变的信息,比方网站的域名。

例如,假设我以“MyPassworK”作为固定的密语,要登陆的网站的域名为改变语,那么能够得到如下的成果:

MyPassw0rK + facebook → fCb5ADZh2pQpK5Lq
MyPassworK + twitter → HZrqB6YYBBdW98GC
MyPassworK + google → HUL17S6dePbyriCQ
...


通过这样的设置之后,就能够在只记住自己所设定的固定语这一个暗码的情况下,为不同的网站创立简单生成而不重复的暗码。

高档用法
虽然 PassworK 的引荐用法如上所示,用户实际上彻底能够设置自己的暗码生成规则。例如将固定语中的“MyPassworK”改成“MyPassw0rK”,一起将改变语中的域名部分的第二个字母变成大写。这将得到如下的成果:

MyPassw0rK + fAcebook → M7WS5L54G6QK97F6
MyPassw0rK + tWitter → XMYCxGcEarF3sCQR
MyPassw0rK + gOogle → SwyqE4UMuMf6oTPR
...

甚至再将其倒置过来,得到如下的成果:

fAcebook + MyPassw0rK → Q9Nt24mPXTSDNFC5
tWitter + MyPassw0rK → 4K5H2YAmfxidJHyA
gOogle + MyPassw0rK → KEfqnLuGEoGf5giy
...

一个更好的方法是,用户依据自己要登陆的账号的重要程度,别离设置两到三个不同的固定语,然后能够更大程度上维护自己账号的安全。

一起,PassworK 还可将生成的暗码以 QR 码的方法显示出来,例如用户要在不安全的电脑(例如网吧或许别人可能感染了病毒的电脑)上登陆时,能够在保证自己手机在可信任状态下(例如没有越狱过的 iPhone 上面)生成暗码,再通过电脑摄像头进行读取。

完成原理
加密算法能够有很种多。 PassworK 受 Brainwallet 的启示,通过用 Bitcore 库,对用户输入的内容进行组合,然后生成一个比特币脑钱包地址。再将其秘钥所对应的字符串进行截取,用第三至第十八位字符作生成的暗码。

因为每一个确认的输入都能得到一个确认的比特币地址,所以,只要用户能保证自己记住所设定的暗语,就能够得到相同的暗码。

以 MyPassworK + facebook 为例子,这两个短语组合后能够得到字符串MyPassworKfacebook,将这作为输入,能够得到如下的成果(这一点能够在 Brainwallet 上进行验证):

Secret Exponent: f2c2d825155bb3860d80247c243c4acec2a04fc578f1ba5db350390b5e2d4379
Point Conversion: Uncompressed
Private Key: 5KfCb5ADZh2pQpK5Lqvr2P86aXj43enZ4FL78yFbF52nYY58FJf
Address: 1JnB64zCAYS6KJ4WqdsBoXU71io9193wdP

而所生成的暗码 fCb5ADZh2pQpK5Lq,便来自上面的私钥。

安全分析
虽然比特币脑钱包并不被大众引荐,脑钱包所生成的私钥在格局上与其他并无二异。问题在于假如用户所规划的暗语过于简单的话,很有可能会遭到暴力破解。换句话说,假如选择的暗语满足共同(例如 8299c2360c05bd4207014da2228b54d54db34236,PassworK 的第一个 commit ID ),被破解的概率与随机生成一个含有余额的比特币私钥其实差别不大。

一起,从生成机制上说,PassworK 所生成的暗码受比特币地址的规则所限,仅包括 Base58 所答应的字符。虽然暗码里没有标点或许会让某些高档用户觉得不行安全,但这也很好地避免了某些网站不答应设置标点作为暗码然后提高了兼容性。毕竟,PassworK 解决的问题是,提供了一种简单易记的方法生成一个较高强度的暗码。假如有更高的要求,请购买 1Password 或许 Lastpass 的服务,或许自行修改源码装备自己的字符映射表。

支持捐助

  • 假如你觉得 PassworK 对你能有所帮助,请引荐给你的朋友,网络安全的意识提升需要我们的共同努力。
  • 假如你对 PassworK 有任何的意见或主张,欢迎与我联络。
  • 假如你喜欢 PassworK,请向 1DNpE2i4H4bCRd6ezcgv3bL13Uc8GCEEPo 进行捐赠。
  • 假如你对这种方法生成的暗码的安全性还有疑虑,上面的地址便是用这种方法生成的,假如你能猜出我的暗码的话欢迎将里边的币取走,不过之后烦请告诉我一下 ┗(0)┛

弥补内容 (2015-7-26 17:10):
更多真相在 17 楼:http://8btc.com/forum.php?mod=re ... 28&fromuid=3184

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注