用于用户认证的系统及方法

文档序号:9650877阅读:532来源:国知局
用于用户认证的系统及方法
【专利说明】用于用户认证的系统及方法
[0001]介绍
[0002]本申请涉及当用户希望访问远程服务时用于用户认证的系统或方法。
[0003]背景
[0004]在用户希望访问在线服务的私用部分时,很多在线服务需要用户识别及认证,例如访问它的Facebook?空间或能够阅读它的消息。为了做到这点,所述服务的服务器需要用户给出识别符和密码。
[0005]使用由服务器所存储的参考数据来验证这些数据,一方面用于检查识别符在服务器中被很好地索引,并且另一方面检查密码对应于参考密码。一旦已经完成这些验证,服务器授权所述用户访问服务。
现有技术
[0006]当前的解决方案已经考虑到在数据库中存储明文信息的风险,即使上述信息受到保护。这就是为什么第一种方案包括对识别符和密码执行诸如为SHA-1或MD5的哈希函数(单向函数),并且用这种形式存储两个信息:应当注意的是,这些哈希函数被视为是单向的,即,不可能使用哈希值计算原始值。
[0007]然而,已经发现在窃取数据期间,通过连续尝试使得一些专用工具(例如强力破解、字典破解)能够发现明文的密码。有待评价的更昂贵的加密函数的使用,例如标准NISTPBKDF2,已经致使这些破解更不有效。
[0008]另一种方案是以加密形式在材料安全元件中存储这些敏感数据。黑客的想象力和判断力是无限的,并且甚至这样的安全元件不能免遭窃取。
[0009]在这些不同的方案中,敏感数据被存储在唯一位置,因此这将吸引怀着非法获取关于用户的私人信息的目的的黑客的注意力。
[0010]另一个问题是本发明提出解决关于更新密码的安全性。的确,如果服务器希望用提供有更多安全性的新函数来修改哈希函数,则有必要警告每个用户以用它的密码识别本人,所述密码因第一哈希函数而得到验证。然后,邀请用户输入将由第二哈希函数编码并且接下来被存储的新密码。这种更新典型地由对适应黑客及合法用户的计算能力的需求促起。
[0011]文献US 2007/0234408描述了一种在访问目标资源(第二要素)时认证第一用户(第一要素)的方法。根据实施例,认证服务接收诸如为用户名和密码的第一组证书。在成功验证第一组证书后,目标资源能够识别请求者并访问它的私人数据。认证服务接下来请求关于从第一组证书得到的识别的第二组证书。
[0012]文献US 2003/0131264描述了一种允许在非LDAP区域(用于轻量目录访问协议)内订户漫游和密码认证的系统及方法。用户在依次连接到区域LDAP RADIUS服务器的网络接入服务器上签名。密码认证通过哈希被发送的密码并将它与LDAP数据库中已经被以与被发送的密码相同的方式哈希的明文文本密码相比较来发生。当订户在非LDAP区域时,密码经由代理服务器传送到连接到非LDAP服务器的区域RADIUS服务器。非LDAP服务器连接到SMS数据库并且检索与非LDFSAP用户相关联的明文文本密码,根据与被发送的已被哈希的密码相同的方法哈希它并且格式化密码以用于区域RADIUS服务器中的比较。如果被哈希的密码匹配,则允许访问。
[0013]文献US2004/0123159描述了一种在使用无线技术来远程提供网络管理服务给被管理的实体时避免使用网页服务器或一般安全性的方法、系统和装置。替代地,不操作为网页服务器的真实代理设备被用于预处理来自无线输入设备(WID)的全部命令业务量。在WID与代理的受管理的实体之间进行介入,实现了包括能够跨互联网和在防火墙后传递TELNET服务的多个带宽和安全性优点,该介入隔离受管理的实体和WID,通过使用新的消息协议进行编码来增强,进一步通过基于多个预分享的密钥和算法结合未发送的识别符和密码的新的安全性模型来增强。

【发明内容】

[0014]本发明有两个目的,S卩,一方面,加强对密码和用户识别符保护的安全性;以及另一方面,允许无需用户介入的安全性的更新。这些目的能够被单独或组合实现。
[0015]本发明提出一种用户认证方法,实现连接到公共网络的第一服务器和连接到第一服务器但不连接到公共网络的第二服务器,该方法包括注册步骤,所述注册步骤包括:
[0016]-由所述第一服务器接收参考识别符U和参考密码P,
[0017]-将参考识别符U和参考密码P发送到所述第二服务器,
[0018]-由第二服务器加载安全参数R,
[0019]-由第二服务器通过对参考识别符U、参考密码P和安全参数R执行单向函数Hash来计算第一密文H,
[0020]-通过使用非对称加密方法以公钥作为参数至少对参考识别符U和密码P加密,并且存储由第二服务器加密的数据,
[0021]-向第一服务器返回第一密文Η并由第一服务器存储所述密文,
[0022]以及用户验证步骤,包括:
[0023]-由第一服务器接收当前识别符U'和当前密码Ρ,
[0024]-将当前识别符U'和当前密码Ρ发送到第二服务器,
[0025]-由第二服务器对当前识别符U'、当前密码Ρ和安全参数R执行单向函数Hash来计算第二密文屮,
[0026]-向第一服务器返回第二密文H'并验证数据库中是否包括第一密文,如果不包括,则生成错误消息。
[0027]本发明基于使用两个服务器,每个服务器都不具有关于用户的完整的数据。第一服务器包括第一数据库并且第二服务器包括第二数据库。
[0028]具体地,与公网通信的前端服务器(或第一服务器)不处理那些如果被盗对恶意第三方有用的敏感信息。
[0029]第一服务器在第一受保护的数据库中存储每个用户的记录,根据第一版本,该记录仅包括第一密文H。
[0030]第二服务器在第二受保护的数据库中存储安全参数R和三重识别符、密码和安全参数的加密。
[0031]应当注意的是,单向函数仅被第二服务器知晓,该函数能够被仅由第二服务器知晓的密钥初始化。
【附图说明】
[0032]本发明因附图而得到更好的理解,其中:
[0033]-图1示出注册的步骤,
[0034]-图2示出验证的步骤。
【具体实施方式】
[0035]本发明的系统包括至少两个服务器,第一服务器S1 (前端)可由一个或多个用户访问,第二服务器S2(后端)本地连接到第一服务器S1。第一服务器和第二服务器之间的连接受到保护,即,确保交换数据的机密性和完整性。这些服务器中的每一个具有存储用于用户认证的数据的数据库。
[0036]系统一旦被执行,第二服务器就初始化将被存储在所述服务器的第二受保护的数据库中的安全参数R。应当注意的是,在第一服务器提供多于一个服务的情况下,该参数可以取决于请求的应用。例如对于提供对私人账户或交易账户的管理访问的银行而言,为此情况。在该情况下,这些服务中的每一个可以对应于不同的安全参数。
[0037]为了允许第二服务器选择正确的参数,如果第二服务器控制多个服务,则从第一服务器向第二服务器发送的第一消息还将包括请求认证的服务的类型。
[0038]注册
[0039]第一步骤是在诸如图1所示的系统中注册用户。在传统的方式中,邀请该用户在第一服务器S1的接口中引入参考识别符U和参考密码P。这两个信息被通过安全连接发送给第二服务器S2。第一服务器能够添加诸如为服务类型和/或为所提出的服务而分配给该用户的系统ID识别符的附加信息。参考识别符U为用户知晓的参考识别符,而系统ID识别符是提供服务的系统的数字或字母数字序列。系统识别符对用户来讲是唯一的。
[0040]一旦第二服务器S2接收到这个信息,第二服务器S2就确定安全参数R并且对参考识别符U和密码P执行单向函数Hash。结果为密文!1 =他通(1],?,1?)。这个结果Η被发送到第一服务器S1,第一服务器S1将它存储在它的安全数据库中。
[0041]第二服务器S2还使用非对称加密方法采用所述服务器S2存储的公钥作为变量对参考识别符U和密码Ρ加密,对应的私钥被以安全方式存储在网络外部(例如在物理的保险柜内)。可选地,被加密的单元能够包括安全参数R,因而允许知晓哪个参数已经被这个用户
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1