可不可以只有密码没有用户名?
很多网上服务都需要用户注册,而注册的过程往往降低了用户体验。已经有许多人在做一些尝试,简化注册的过程。最简洁的莫过于第一次使用即注册,但是这依然有用户名以存在的麻烦。
很早以前有过一个想法,如果大家都用自己使用的 email 地址做用户名登陆,通常就不会有用户名冲突的情况了,甚至可以选择不使用密码。反正许多网上服务,并不需要密码保护个人身份或者个人数据。而且等到需要的时候,完全可以通过 email 设定一个密码。
一旦用户选择给 email 用户名加一个 nickname 或者由系统自动产生一个名字,而 email 地址不可见,那么 email 地址就成了一个密码的作用,只不过密码强度太低罢了。
这个方法的好处是显而易见的:用户的记忆量下降了。注册的难度也降低了许多。而提供服务的网站,却可以得以区分用户。
那么如何识别出伪用户,让真用户不因为有人可以对他冒名顶替而失去网上唯一身份的安全感呢。除了用户自己要求加一层密码保护外,我想可以让系统智能一些的判断。比如挑选出异常的登陆 ip 发 email 通知,或者在长时间不登陆的时期,对于突然的新一次登陆发 email 提醒。我认为做一些合适的手段,这个方案会更容易让用户接受。
今天突然又想到另一个问题,能不能取消用户名,而只有密码呢?在我们的网络游戏的论坛上,有这样的告示提醒玩家,不要轻易的暴露自己的用户名。也就是说,用户名其实也是用户个人身份安全保障的一部分。如果我们把用户名和密码连在一起输入,对于每个人,其实就是一个全局唯一串用来识别身份。把这个串切分成用户名和密码两部分,只是一种惯例而已(当然还有实现上的方便)。
我们何不尝试破除这个惯例,直接让用户在注册的时候完整的输入一个唯一字符串?
我们在用户注册的时候就检查出一些不安全的密码设定,保护用户的帐号安全。比如,要求密码至少 8 位,且包含字母和数字(甚至要求大小写混用或是外加标点)。一旦不符合基本安全要求,就拒绝注册。这样可以极大的避免两个人使用相同密码。
而一旦某人使用了一个前人已经用过的密码串注册,可以直接提示他密码不安全,不准注册。然后封存前一个人的帐号,并 email 通知他修改密码(如果没有留 email 则直接封一段时间帐号即可,并在他下次登陆的时候提示修改密码)。
如果这样做,当然有可能被人撞上一组可以进入系统的别人的密码。但是我认为传统的用户名密码设计不会更安全。相反,我们可以得到这样一个好处:让用户用更安全的密码。这来自于非恶意的猜测。而对于恶意的攻击,可以想出更多的方法来阻挡。比如提示正常用户,当密码失效的时候,即时检查自己的 email ,或者等待一段时间(解冻期)再试。而当自己的密码不太安全时,系统可以协助用户重设密码(可以是自动的)。对于恶意暴力尝试进入系统的 ip ,则可以直接让他短时间内不能用任何密码登陆。
暂时就想了这么多,写出来只为留住思维的火花。
Comments
Posted by: Jack | (34) November 21, 2012 06:05 PM
Posted by: 清风剑 | (33) March 7, 2010 09:33 PM
Posted by: 偶尔路过 | (32) January 31, 2007 01:00 PM
Posted by: oo | (31) January 18, 2007 04:34 PM
Posted by: KJLCN | (30) January 9, 2007 11:11 PM
Posted by: kuery | (29) January 6, 2007 01:50 PM
Posted by: Anonymous | (28) December 13, 2006 11:58 AM
Posted by: Anonymous | (27) November 19, 2006 10:18 PM
Posted by: gothree | (26) November 8, 2006 07:23 PM
Posted by: Cloud | (25) October 27, 2006 11:50 AM
Posted by: wangdali | (24) October 26, 2006 11:12 PM
Posted by: wangdali | (23) October 15, 2006 08:12 PM
Posted by: Atry | (22) October 15, 2006 05:20 PM
Posted by: wangdali | (21) October 15, 2006 07:47 AM
Posted by: wangdali | (20) October 15, 2006 06:53 AM
Posted by: wangdali | (19) October 15, 2006 06:46 AM
Posted by: wangdali | (18) October 15, 2006 06:28 AM
Posted by: wangdali | (17) October 15, 2006 06:16 AM
Posted by: wangdali | (16) October 15, 2006 02:52 AM
Posted by: 杰 | (15) October 10, 2006 03:59 PM
Posted by: Cloud | (14) October 6, 2006 08:25 PM
Posted by: Gawain | (13) October 6, 2006 06:07 PM
Posted by: Cloud | (12) October 3, 2006 10:55 PM
Posted by: Anonymous | (11) October 3, 2006 09:49 PM
Posted by: Cloud | (10) October 2, 2006 10:49 PM
Posted by: Anonymous | (9) October 2, 2006 10:35 PM
Posted by: Cloud | (8) October 2, 2006 09:58 PM
Posted by: Anonymous | (7) October 2, 2006 07:45 PM
Posted by: Cloud | (6) October 2, 2006 01:32 PM
Posted by: Anonymous | (5) October 1, 2006 10:09 PM
Posted by: cat | (4) October 1, 2006 01:57 PM
Posted by: Cloud | (3) October 1, 2006 01:45 PM
Posted by: joecen | (2) October 1, 2006 01:18 PM
Posted by: Wesley | (1) October 1, 2006 08:07 AM