黑客眼中的OpenSSL:强大的密码工具

豆豆网   技术应用频道   2008年03月28日  【字号: 收藏本文

内容摘要:enSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具。

  更糟糕的是,你可能不信任那个管理员,当然,管理员通常就是root,但是其他人可能知道你的密码,或许你象在其他机器上使用相同的密码,并且你也不信任那些机器的管理员。

  因此,使用下面的方法:

  $ openssl passwd -1

  Password:

  Verifying - Password:

  $1$zmUy5lry$aG45DkcaJwM/GNlpBLTDy0

  输入2次密码,它不会回显的,如果你有多个帐户,就运行多次上面的命令,输出的内容就是密码加密后的结果,由于采用的是随机加密,每次运行结果都是不一样的,即使密码是相同的。

  在我的例子中,密码打乱后是这样的:

  $1$zmUy5lry$aG45DkcaJwM/GNlpBLTDy0

  你的密码打乱后可能与这里完全不同,除了开头的$1$。

  打乱后的密码【译者注:实际上通常我们叫做hash值】就能用于电子邮件、传真、文本消息甚至通过电话交谈传输给管理员了,管理员据此可以重新设置你的密码hash值。

  在管理员收到你的密码hash值后,它可以手动修改/etc/shadow或使用chpasswd命令,后面需要一个临时的新文件,叫做newpassword,你的登陆Id和密码hash值象这样:

  LoginidHere:$1$ywrU2ttf$yjm9OXTIBnoKJLQK2Fw5c/

  这个文件可以包括多行,为其他帐户提供类似的功能。

  然后,管理员作为root登陆运行:

  chpasswd --encrypted < newpassword

  现在,新密码已经设置好了,一旦你登陆后立即修改你的密码是个好主意,除非你使用的是一个强壮的密语,这是因为密码hash值,一旦暴露,就成为离线强制破解的对象,除非这个密码是真的很长。

  这个设置密码的方法是相当安全的,例如:使用这个技术,某个人能获取到密码hash值,创建一个账号,并知道登陆id和主机名,但是只有原先创建这个用户的人才知道密码,即使这个账号的密码hash值发布在杂志上也不用担心。

来源:51CTO    作者:黄永兵    责编:豆豆技术应用

正在加载评论...