APP下载

登录易,一种基于可信用户代理的多方闭环网络身份认证及管理机制

2018-07-16刘文印吴鸿文张启翔巫家宏沈治恒

信息安全研究 2018年7期
关键词:用户名代理密码

刘文印 吴鸿文 李 昕 凡 帅 张启翔 巫家宏 沈治恒

(广东工业大学计算机学院 广州 510006)

(广东工业大学网络身份安全实验室 广州 510006)(liuwy@gdut.edu.cn)

网络已日渐成为我们日常生活中不可或缺的一部分.与现实生活中的身份证、护照一样,人们在使用各种网络服务时,如收发邮件、网上购物、网上聊天等,都需要进行网络身份的注册、登录、认证等操作,可以说,网络身份已经成为人们获取个性化网络服务的必备条件.

然而,随着互联网规模的扩张及用户使用需求的增大,网络空间发展给我们带来方便快捷的同时,也为个人及国家安全和社会稳定带来新的挑战,网络身份也面临着包括密码疲劳、钓鱼和撞库等在内的严重网络安全问题,给广大网络用户造成了严重的损失,成为社会关注的热点问题之一.因此,如何安全地使用、管理、保护我们的网络身份成为亟待解决的课题.

本文首先从网络身份及网络身份管理的基本概念着手,分析了网络身份管理面临的问题和现有的网络身份认证管理技术,然后提出了一种创新的、但兼容传统密码的、基于可信用户代理的、以用户为中心[1-3]的多方闭环网络身份认证管理机制,来实现既安全又方便地使用和管理网络身份的目标.

1 相关工作及分析

1.1 网络身份

在人类现实社会中的“身份”一般指的是谁、是怎样的人、与他人处于什么关系,是个体成员交往中识别、区分、认定个体差异的标志和象征.“网络身份”与之类似,是由人们在访问和使用各种网络服务时所使用的身份标识(通常是网络账号和密码?口令)构成.网络空间中的身份管理就是对各单个实体成员身份的生命周期进行管理,包括身份的建立、身份的描述与定义、身份的注销等基本过程[4].

1.2 网络身份管理中存在的问题

传统基于字符型“用户名-密码”的网络身份认证管理机制因其使用简单、可靠性强、易于部署、成本低廉而成为当前主流的网络身份认证管理机制.然而如今单个用户需要面对在多个网站上注册网络身份、同时管理多个网络身份的场景,由此可能遭受到如密码疲劳、钓鱼诈骗、撞库攻击等一系列严重的网络安全威胁.

例如,某用户在多个网站上注册了网络身份,为了提高安全性,不同网络身份需要设置不同的账号(或用户名)和密码?口令.为此该用户需同时记忆很多账号、密码,易造成多个账号及密码混淆不清,用户体验很差.这就是所谓密码疲劳问题.

为方便起见,大多数用户选择相同的或近似的用户名且共享1个密码(密码重用),或设置弱密码.这样虽然易于记忆,但安全性较低.一旦1个账号被盗,所有账号都有被泄露的风险.黑客可以通过尝试使用已经泄露的身份信息或常用密码去登录,非法获得大量的用户网络身份信息.这就是所谓的撞库攻击.

即使用户能够记住自己设置的、安全性较强的密码,泛滥的钓鱼网站可以凭借几可乱真的假冒网页,诱骗用户输入自己的网络身份信息,从而完成对用户网络身份信息的盗取.

1.3 研究现状

由于基于传统密码的网络身份认证管理机制受到了空前的挑战,去密码化(passwordless,即取消或减少使用输入密码)已然成为网络身份认证管理机制的新趋势.在此背景下,越来越多的新型身份认证方案问世.目前较成熟的去密码化身份认证管理策略主要可分为以下几大类:密码管理器[5]、联 合 (单 点)登 录[6]、图 形 密 码[7]、硬 件 令牌[8]、生物特征[9]及安全密钥[10]等.

1)图形密码

图形密码与传统密码不同,使用图形作为认证媒介,通过用户对图形的点击、识别、重现或与图形进行互动等方式进行认证.由于图形密码的密码空间较大,应用方式灵活,不使用单词等特点,使得它对暴力破解和字典攻击免疫,此外,一些图形密码系统可以完全防止肩窥[11].

2)密码管理器

密码管理器可视为一种第三方网络身份信息寄存软件,它可以是智能移动终端上的应用(App),也可以是PC上的软件,亦可是网络浏览器插件.目前流行的密码管理器有True Key,1Password等.McAfee公司推出的基于Android?iOS平台的True Key软件,及浏览器上同名插件(称为浏览器扩展或上网终端扩展)[12]实现了对用户网络身份信息最基本的存储功能.该软件通过一个用户自定义的主密码(master password,MP)进行加密,用户在该软件中可个性化添加自己在某网站上已经注册好的身份信息,该软件会自动加密保存和同步.用户需要登录该网站时,只需要点击已经录入的其在该网站上的网络身份信息,即可登录到该网站.Silver等人[13]虽然指出了密码管理器的一些安全方面的弱点,但也提出了补救措施.其在易用性方面总体有提高,且在很多方面能兼容传统密码(特别是服务器兼容性),因此,在市场上受到广大用户的欢迎.

3)联合(单点)登录

联合(单点)登录技术是目前比较流行的企业业务整合的解决方案之一,其核心思想是通过某种方式使得各种提供服务的网站事先建立起联系,用户只需要再在其中一个受认证的网站登录之后,就可以实现全局登录,即用户的一次登录能得到其他所有网站的信任.单点登录一方面使得用户不用记忆多个网站的不同用户名和密码,免除了多次登录的困扰;另一方面为开发人员提供了一个通用的身份验证框架,提高了开发人员的开发效率.

4)硬件令牌

硬件令牌存储了一个“密码种子”,并以此为基础,结合其他因素(如时间戳等),根据专门的算法生成1个不可预测的随机数字组合作为口令,1个口令至多使用1次.每个“密码种子”都需要在服务器端注册登记,以认证一特定口令是否由特定令牌生成.由我国“公安部公民网络身份识别系统”签发给公民的、以智能安全芯片为载体的网络电子身份标识eID[14],也属于一种硬件令牌,能够在不泄露身份信息的前提下在线远程识别身份.eID不使用用户名和密码作为身份信息,而是使用用户个人信息和随机数计算出1个唯一的用户标识符来进行网络身份真实性和有效性的验证核实.该标识符不包含任何个人身份信息,因此能够有效保护公民身份信息.与eID类似,王鹃等人[1]提出了基于虚拟卡技术的移动互联网身份认证系统ID-Vcar d,同样不再依赖用户名和密码等身份信息,而是将虚拟卡作为一种身份管理的形式,从而更好地保护用户的身份隐私.

硬件令牌不易被直接破解,因此被广泛运用在网银、网游、电信运营商、电子政务、企业等领域.虽然硬件口令是一种安全便捷的账号防盗技术,可以有效保护交易和登录的认证安全,但其安全性也不是绝对的.2011年就发生RSA的“密码种子”被盗事件,黑客因此可以猜测其生成的所有密码?口令[15].同时其需要在所有网站注册“密码种子”(例如,每个银行都给用户发1个硬件令牌),在可用性及可部署性方面也是非常不方便的.

5)生物特征识别技术

生物特征识别技术使用了计算机及相关设备,利用人体特有的生物特征(如虹膜、指纹、人脸等)以及行为特征(如声音、笔记、步态、击键等),通过图像处理和模式识别等方法进行身份识别认证.由于人的生物特征具有稳定性和唯一性,目前最安全的身份认证技术是生物特征识别.但是仍然存在大量拒识的情况,近年破解指纹认证和刷脸认证的案例也越来越多.

6)安全密钥(security key)

安全密钥基于U2F开放标准构建,由线上快速身份验证联盟(fast identity online,FIDO)开发.它依赖实体USB key硬件,提供了一种更加安全的双因子认证模式.其最新技术标准为由FIDO和万维网联盟(World Wide Web Consortium,W3C)共同推出的 Web Authn[10].Web Authn旨在消除口令?密码,让用户无需输入密码,而是使用内部?内置身份验证器(例如PC、笔记本电脑中的指纹或面部特征)或外部身份验证器(如USB key或智能手机)作为第一因子或第二因子来认证登录.

Bonneau等人[16]从易用性(usability,即认证策略是否便于用户学习、使用)、可部署性(deployability,即认证策略是否具有低成本、兼容性高、可大规模投放等特点)和安全性(security,即认证策略是否对恶意攻击、信息丢失、设备损毁等极端情况具有抵抗能力)这3方面共25个指标对现有的主流身份认证策略进行了全面的评估和比较,得出以下结论:

1)图形密码(包括其他基于感官认知方案)虽在安全性上比传统密码有一些提高,但在易用性及可部署性方面性能下降很多,在网络身份认证领域暂不可能取代传统密码.

2)诸如密码管理器和联合登录等类似(或属于广义)单点登录方案在安全性和易用性方面比传统密码有较大提高,但可部署性指标显著下降.

3)基于生物特征的认证策略在安全性和易用性上较传统密码没有明显优势,且可部署性很差.再加上用户对个人隐私的担忧,绝大部分用户不会用自己的生物特征在所有(特别是可信度未知的)网站注册.大部分网站限于成本及兼容性,亦不会提供相应认证接口,用户规模受到极大限制.

4)硬件令牌的安全性虽好,但部分易用性及几乎所有的可部署性指标都较差,难以单独用作网络身份认证机制.

5)以Web Authn为代表的安全密钥方案易用性及安全性都较高,但要提高可部署性仍需完成大量工作.

总体来说,在不牺牲安全性的前提下,在易用性和可部署性方面,现在还没有任何一个方案比传统密码更好,这也是密码暂时还不能被取代的重要原因,故类似密码管理器等能兼容传统密码的方案有可取之处.与Bonneau等人[16]的结论不同的是,我们认为联合(单点)登录(例如Microsoft Passport和 OpenID[17]等第三方认证)在安全性方面存在致命缺陷:联合(单点)登录不能解除(“de-link”)同一用户在不同网站注册的网络身份之间的“关联”关系(也属于一种网络身份隐私信息),因此容易遭到撞库攻击和钓鱼攻击.各种以手机号和邮箱作为用户名的网站都面临这些严重威胁.其次,类似 O’Gor man[8]的建议,我们认为结合多种方案的认证机制,取长补短,最有希望成为既方便又安全的网络身份认证机制.

综上所述,我们认为目前网络身份认证的发展机制仍然是以用户为中心和去密码化.为了同时满足既方便又安全的要求,多种机制协同“组合”也应该是新的发展趋势.为了保护隐私和应对愈演愈烈的数据泄露威胁,应尽快采用“前台匿名、后台实名”的网络身份管理策略.

2 基于可信用户代理的多方闭环网络身份认证管理机制

2.1 整体架构

为了应对当前网络身份认证机制中存在的密码疲劳、撞库攻击、钓鱼欺诈这3个严重安全威胁,为找到一种既方便又安全的以用户为中心的网络身份认证机制,我们遵循“以用户为中心”、“去密码化”、“de-link”、“组合式”等趋势展开研究.本文提出了“可信用户代理”的概念,并以此为基础设计了一种创新的、但兼容传统“用户名-密码”机制的网络身份注册、登录、认证及管理机制.我们为该机制申请了国家发明专利并获得批准.其整体结构如图1(a)所示.与传统身份认证机制中只包括上网终端(通常指浏览器)和网站服务器不同(即图1(a)中虚线部分),该机制还增加了可信用户代理、可信服务器代理这2个模块.用户的网络身份信息由其用户代理自动创建、存储并直接发送至其目的网站服务器端进行认证,认证成功后授权给用户的上网终端.这样形成一个包含用户、用户代理、上网终端及服务器等多方参与、安全闭合的身份认证环路.

为了适应更加复杂的网站服务器后台环境,如网站服务器不想因部署服务器代理而作任何改变,我们同时设计了该机制的变形,其整体结构如图1(b)所示.在此结构中,我们移除了可信服务器代理这一模块,取而代之的是上网终端扩展及扩展服务器(并命名为“插件版”).上网终端扩展与扩展服务器不直接与网站服务器通信,因此能够忽略网站服务器的影响,真正做到与传统认证机制完美兼容.

图1 多方闭环网络身份认证机制整体结构

图1的这2种结构可以根据网站服务器后台环境单独使用,也可以同时部署.

使用该机制后,用户无需记忆众多复杂的“用户名-密码”,避免了密码疲劳.用户代理帮用户在不同网站注册时自动生成不同的随机复杂账号?用户名和密码,从而可以规避被撞库的风险.无需在上网终端输入身份信息,大大降低网络身份信息被钓鱼网站或木马窃取的风险,同时也避免了在输入密码时被偷窥或被日益智能的读心术(脑电波分析)窃取.

下面重点介绍该机制中的2个重要模块.

2.2 可信用户代理

在网络身份认证过程中,用户永远是主角.目前几乎所有网站部署的网络身份认证策略都需要用户全程参与,包括使用前的身份?账号信息注册,使用中的账号登录、账号信息记忆、账号信息找回等等.我们认为密码管理器、硬件令牌、生物特征、eID等在一定程度上都是用户的代理(agent),都是以用户为中心的.我们从缓解用户使用网络账号时的压力出发,在兼顾安全性的基础上,提出可信用户代理概念.可信用户代理是一个由用户授权信任的、可以替用户完成账号注册、认证及管理其众多网络身份的计算机系统.可信用户代理可以实现以下几个主要功能:

1)实现用户代理与用户身份的绑定.用户可以通过设置主密码或利用生物特征(如指纹)实现用户代理的激活,1位用户可以对应多个用户代理,但1个用户代理只能为1位用户服务.

2)实现网络身份(用户名和密码等)自动注册.用户期望在目标网站注册时,可信用户代理可以通过调用自带的信息捕获设备(例如以扫码或鼠标点击推送的方式)获取待注册的目标网站信息,自动为用户生成、存储,并发送给该目标网站服务器1对随机的、安全性强的、且符合该网站服务器要求的用户名?密码,从而自动为用户完成注册.

3)实现用户在目标网站自动登录.可信用户代理可以存储该用户的所有网络身份.用户需要再次登录某网站时,从上网终端上获取目标网站信息后,可信用户代理即可把存储的相应用户名和密码自动发送给该网站服务器请求登录认证.网站认证成功后,授权给用户希望的上网终端,用户即可在该上网终端成功登录该网站并进行后续操作.用户拥有一个可信用户代理后,再也不需记忆和输入众多密码就能在各种终端自动登录各个网站,既方便又安全.

4)实现用户已注册的网络身份的管理.用户代理负责安全地存储已经注册的网络身份信息.用户可以随时添加新注册的账号或是删除曾经注册过的旧账号,并在云端及多个用户代理之间备份和同步.

2.3 可信服务器代理

在用户端,用户代理代替用户创建、管理网络身份,减轻了用户负担.在服务器端,为了配合所提出的可信用户代理,该机制引入与之相对应的可信服务器代理,用于代替服务器完成对用户代理(或用户本人)提交的注册、登录(甚至注销账户)请求的核查与过滤,特别是对恶意(如撞库)请求的自动监测.

作为服务器与用户代理之间的防火墙,可信服务器代理首先检查并过滤来自用户代理的注册、登录等请求,以此达到提高服务器效率,减轻服务器压力的目的.某些登录请求集中高发的网站(例如“12306”等)可能会存在某些用户通过频繁登录、注册多个账号来从事不法行为(例如“黄牛”刷票等)的情况.此外,频繁的登录尝试也是攻击者实施撞库攻击的常用手段.在这些情况下,目标服务器会在短时间内收到大量来自用户代理的注册、登录请求.通过分析这些请求信息中自带的信息源参数,服务器代理可辨别这些请求是否来自同一用户代理.如果服务器代理发现同一个用户代理在一定时间段内多次请求在该站点服务器登录或是创建新账号,则服务器代理将会自动过滤掉来自该用户代理的一切请求并暂时封禁该用户代理.经由服务器代理传递过来的注册、登录请求都将被服务器端视为合法有效的,并被服务器悉数响应处理.被处理后的请求结果将被反馈至用户代理处和用户上网终端供用户进行下一步的操作.

相对于用户和可信用户代理这2个相互独立的概念,服务器和可信服务器代理之间的关系更为紧密.可信服务器代理可以部署在已经架设好的服务器群中或是与新的站点服务器一同部署.

2.4 多方闭环网络身份认证机制

以上可信用户代理和可信服务器代理应具备的核心功能的实现还需要一个创新的认证机制的支持和配合.图2为该机制通信过程.

首次使用时,用户激活可信用户代理,包括设置主密码(常规PIN或生物特征等密码)及将其必要的身份信息登记在用户代理中,用于后续在各个网站上自动注册用.

图2 多方闭环网络身份认证机制通信过程

步骤1.用户在上网终端(例如PC端浏览器或手机App)访问想要登录的目标网站,上网终端显示该网站的登录页及以二维码或其他形式显示的该网站的身份信息,包括该网站的网址及当前的session信息;

步骤2.用户代理从上网终端处扫码(或通过其他形式,如鼠标点击推送)获取该网站的身份信息;

步骤3.用户代理根据用户需求及用户的确认将自动注册请求或登录请求以及用户在该网站的身份信息发送给服务器代理;

步骤4.服务器代理和服务器交互并将用户代理传过来的身份信息转发给服务器;

步骤5.网站服务器对身份信息进行认证;

步骤6.服务器认证成功后,授权上网终端,上网终端页面从登录页跳转至登录成功后的界面,用户进行后续操作;如认证失败,将认证失败状态返回给服务器代理和用户代理.

由于涉及到网络身份等敏感信息,数据存储与传输的安全性尤为重要,以上各模块之间的通信链路均采用HTTPS安全连接,并且使用双向认证技术,从而保证用户代理、服务器代理、网站服务器之间通信信道的安全性及各通信方身份的合法性.此外,用户的网络身份信息只保存在由用户控制的可信用户代理本地,并且通过SHA-256和加盐哈希方法实施AES-256位及Bcrypt加密处理.

该创新机制需要与现有的基于传统密码的机制兼容,不需要对已经部署好的服务器做大的改动.

2.5 网络身份管理

可信用户代理可以代替用户自动完成网络身份(用户名和密码)的生成、注册是本机制的一个亮点,也是其区别其他密码管理器的一项重要指标.其自动为用户完成网络身份的建立、注册的流程如下:

1)用户代理通过上网终端(例如通过扫描注册页上的二维码)获得服务器信息(包括网址及sessionID);

2)服务器端需将注册时所需的信息(如电子邮箱、手机号等)和对用户名及密码的规则要求以约定的(如JSON)格式告知用户代理;

3)如有必要,用户代理可以根据服务器端的要求从其他途径获取所需信息(可以包括用户代理的软硬件的序列号等),自动生成注册表单;

4)用户代理按服务器要求的规则生成用户名和密码,并自动填在注册表单的相应位置,由用户确认填写完整的注册表单并发送给服务器,服务器即为用户注册新的网络身份.为了增加通信的安全性,用户代理与服务器代理之间可以增加握手次数才建立安全的通信通道.

可信用户代理还可以代替用户自动完成网络身份的登录过程,流程如下:

1)用户在上网终端打开网站的登录页,用户代理(可以通过扫码或点击推送的方式)获取该网站的身份信息(如网址及sessionID);

2)用户代理查找用户在该网站的网络身份,如果有,则把身份信息、sessionID和登录请求信息一起发至可信服务器代理;

3)可信服务器代理分析处理并认为该登录请求合法后,接受该请求,发给服务器进行认证,成功后,服务器授权给拥有该sessionID的上网终端,网页重新加载,显示登录后的界面.

该机制提出的自动注册及自动登录方法,不仅解除了不同网络账号之间的关联关系(de-link),使得用户的各种网络身份免于遭受撞库攻击,而且解决了密码疲劳问题,将用户从记忆、输入账号密码信息的沉重负担中解放出来,大大提高了用户使用网络资源的效率.

3 性能分析

我们在Android,iOS,Chrome平台上开发了名为登录易[18-19]的实用系统,实现了该机制.我们主要在可用性或效率方面(因为安全性及可部署性还不好客观衡量,其实最主要的用户体验是登录时不再“烧脑”)进行用户体验测试.我们选取了10位能熟练使用计算机和手机的用户,收集了他们分别使用传统人工输入身份信息的方法和使用登录易来登录4个常用网站(体现在账号密码都记得住,输入也流畅)和3个不常用网站(账号密码已经记不住了,需要事先把账户密码写出来,书写过程的耗时不算在内,只记录在网页输入账号密码的耗时.测试发现使用登录易辅助登录确实比传统手工输入用户名-密码的方式的效率有所提高.特别是在不常用网站上,使用登录易登录与手工输入登录对比优势更加明显.

此外,根据Bonneau等人[16]提出的评价身份认证方案性能的标准,我们也为本文提出的认证机制在操作性、可部署性及安全性3方面的性能作了如下初步理论评估(见表1~3):

表1 可信用户代理操作性(usability)性能

表2 可信用户代理可部署性(deployability)性能

表3 可信用户代理安全性(security)性能

4 结 论

本文提出了一种基于可信用户代理的多方闭环网络身份认证机制,介绍了其系统结构、流程、核心模块及主要功能,并且对该机制在操作性(可用性)、可部署性、安全性等方面进行了理论上评估分析,也实测了其可用性.该机制能够在用户授权下实现自动注册及自动登录网络身份的功能,无需用户记忆与输入身份信息,避免了密码疲劳与被撞库的风险;去除了网络身份之间的关联关系,有效保护了用户隐私;绕过上网终端、密码直发网站服务器,从而无需在上网终端输入身份信息,可以大大降低网络身份信息被钓鱼网站或木马窃取的风险,同时也避免了在输入密码时被偷窥窃取,提升了服务器安全性.该机制对于提升我国网络空间总体安全水平,对个人(提升用户体验,包括提高身份认证效率等便捷性和网络身份安全性)、企业及网络服务商(提升服务水平,包括信誉和总体系统安全,降低部署难度和费用)都将具有重大意义.

致谢感谢在登录易系统的开发和测试过程中也作出了贡献的下列人员:周小静(开发)、梁达勇(开发)、李勇(用户测试)、赖阳文(用户测试)、陈超雄(渗透测试)、程天艺(渗透测试)、罗泽伟(渗透测试)、莫铭棋(渗透测试)、陈健航(渗透测试).同时感谢参与用户测试实验的其他同事们和同学们.

猜你喜欢

用户名代理密码
《护士进修杂志》投稿程序
密码里的爱
《护士进修杂志》投稿程序
《护士进修杂志》投稿程序
密码抗倭立奇功
代理圣诞老人
机智的快递员
密码藏在何处
夺命密码
108名特困生有了“代理妈妈”