[Ph4nt0m]口令跟Master Key完全没关系吗?+兼问大企业是如何保护我们的口令安全的?

48 views
Skip to first unread message

吴道远

unread,
May 18, 2010, 12:37:42 AM5/18/10
to ph4...@googlegroups.com
这里的Password就是指口令,即用户输入的密码。

就SSL通信方式而言,口令跟Master Key到底有啥关系呢?Master Key的生成到底需不需要有口令的参与呢?

根据这篇文章(HTTPS连接最初的若干毫秒),SSL传输中的Master Key是这样生成的:(服务端和客户端分别各自生成)

master_secret = PRF(pre_master_secret, "master secret", ClientHello.random + ServerHello.random)

其中:
1) pre_master_secret是客户端随机生成,并通过密钥共享告诉服务端的。
2) ClientHello.random,ServerHello.random在Client Hello和Server Hello过程中,客户端和服务端都知道了。

我好奇的是,这个"master secret"到底是什么东东?还是那篇文章(HTTPS连接最初的若干毫秒),它说,“master secret”用的是一个字符串的ASCII值(例如:“6d 61 73 74 65 72 ...”)

我最初的感觉,"master secret"跟口令或许有啥关系的。但是,立马又被我否定了。因为即使没有登录验证的web通信,也是可以用SSL的,显然这些过程是没有用户口令的。那么,这个"master secret"到底是什么呢?

不管怎么说,我觉得口令跟Master Key是完全没关系的!不知,我这样的理解对否?

----------------------第二个问题----------------------------

像Google这样的大企业,它如何保证用户的口令安全呢?

整个场景叙述一下(按照我的理解):用户在gmail注册时,客户端将用户的口令Hash后,通过建立的SSL传输通道,将口令的Hash值(或者在传输前,已经加密了,但是密钥分配又是问题,不太可取!)保存到Google的服务器上。可是,Google应该不会假设黑客无法取得口令的Hash值。一旦黑客取得口令的Hash值,通过彩虹表之类的就很容易能还原出用户的口令明文。

所以,这种方式跟直接保存用户的口令明文,效果是差不多的。我想,Google应该不会采取这样低的保护措施。那么,Google到底是怎么做的呢?

再或者:Google用私钥对所有的口令的Hash值加密保存。每次要认证用户时,就对客户端传来的口令的Hash值做同样的加密运算,然后再匹配。

但总觉得不会这么简单!有相关经验的同学能说说吗?有美妙的方法不?

--
要向邮件组发送邮件,请发到 ph4...@googlegroups.com
要退订此邮件,请发邮件至 ph4nt0m-u...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages