http://mdsec.net/auth/172/
许多应用程序并不在用户与应用程序正常交互的过程中分配新建账户的证书(如通过邮寄或电子邮件)。有时,采用这种分配方式主要出于安全考虑,例如,确保用户提供的邮寄或电子邮件地址属于其本人。
这种分配方式有时会带来安全风险。例如,如果分配证书的邮件中同时包含用户名和密码,没有给邮件设置使用时间限制,没有要求用户在第一次登录时修改密码,那么,大多数甚至是绝大部分应用程序用户都不会修改初始证书,并且将收到的邮件保存很长一段时间,而未授权方有可能在此期间访问这些分配证书的邮件。
有时应用程序并不分配证书,而是传送一个“账户激活”URL,用户通过它设置自己的初始密码。如果发送给连续用户的URL表现出某种顺序,攻击者就可以通过注册几个紧密相连的用户 确定这种顺序,以此推断出发送给最近与后续用户的激活URL。
某些Web应用程序表现的一种相关行为是,允许新用户以看似安全的方式注册账户,然后向每个新用户发送一封包含其完整的登录证书的欢迎电子邮件。最糟糕的情况是,具有安全意识的用户决定立即修改可能已被攻破的密码,但随后又收到一封电子邮件,其中包含“以备日后参考”的新密码。这种行为相当奇怪,并且完全没有必要,因此,我们强烈建议用户停止使用表现出此类行为的Web应用程序。