用于控制资源访问的方法和装置的制造方法_2

文档序号:9380185阅读:来源:国知局
发明的实施例。根据本发明的示例实施例,访问令牌不仅可被用来指示允许或者拒绝资源访问请求,而且还可以利用一个或多个访问约束而被定制。如下文所述,这样的访问约束可以基于用户和/或资源的特性等各种因素生成,并且可以被事先或者动态地提供给认证和授权方。以此方式,可以借助于访问令牌而实现对资源访问的更精细粒度和更多维度的控制。而且,在某些实施例中,还可以实现对用户和/或客户端应用的定制认证。这种自适应的定制认证有利于进一步增强认证和授权的灵活性。
[0029]特别地,在下文描述中,可能借助于OAuth架构来讨论本发明的若干示例性实施例。然而应当理解,这仅仅是出于讨论和说明之目的,并非有意以任何方式限制本发明的范围。相反,本发明的实施例可适用于任何由独立于资源提供方的认证和授权方对资源访问请求进行认证和授权的场景。
[0030]首先参考图2,其示出了本发明的实施例可实现于其中的系统200的示意性框图。如图2所示,系统200包括用于负责认证和授权的计算设备/服务器201,以及负责提供资源的计算设备/服务器202。在本发明的上下文中,为讨论方便起见,将设备201称为“第一设备”,而将设备202称为“第二设备”。
[0031 ] 在此使用的术语“资源”是指可被访问和使用的任何类型的数据或信息,包括但不限于文本、图像、多媒体、位置信息,等等。根据本发明的实施例,资源由第二设备202提供。在某些实施例中,资源的所有者可以将资源存储在第二设备202处,使得资源由第二设备202托管和提供。备选地或附加地,第二设备202也可以从任何其他来源获得资源。此后,用户可以请求使用客户端应用203 (例如,Web应用)访问由第二设备202提供的资源。此时,客户端应用203可以向负责认证和授权的第一设备201发送认证请求。在某些实施例中,客户端应用203可以借助于用户代理204(例如,Web浏览器)来发送该请求,但这并不是必须的。
[0032]响应于接收到认证请求,第一设备201可以对用户身份进行认证,以确认他/她是否有权访问所请求的资源。如果用户通过认证,在某些实施例中,第一设备201还可以对用户使用的客户端应用203进行认证。如果客户端认证也获得通过,则第一设备201可以做出授权决策并且向客户端应用提供访问令牌。继而,客户端应用可以使用访问令牌访问由第二设备202提供的请求资源。如已知的,访问令牌被用于控制对资源的访问,它是客户端应用203被许可获得所请求资源的凭证。特别地,在某些实施例中,第二设备202可以在提供资源之前向第一设备201再次确认访问令牌的有效性。
[0033]根据本发明的实施例,系统200中的各个设备可以借助于各种通信介质彼此通信。例如,这样的通信介质包括但不限于计算机网络,例如局域网(LAN)、广域网(WAN)或者因特网;电信网络;近场通信网络;或其任意组合。
[0034]下面现在参考图3,其示出了根据本发明实施例的用于控制资源访问的方法300的流程图。根据本发明的实施例,方法300在负责认证和授权的第一设备(例如,图1中所示的第一设备201)处执行。例如,在某些实施例中,用于执行方法300的主体可以是第一设备201本身或其部件,是被部署至第一设备201的插件(plug-1n),或者是独立于第一设备201并且可与第一设备201协同工作的任何适当装置。
[0035]如图3所示,在方法300的步骤S301,响应于针对资源的访问的请求,利用第一设备201确定是否授权对资源的访问。
[0036]如上所述,当用户例如试图使用客户端应用203访问由第二设备202提供的资源时,可以产生向第一设备201认证请求。认证请求例如经由用户代理204发送给第一设备201。特别地,在本发明的某些实施例中,认证请求不仅可以指明待访问的资源,而且还可以包含与资源访问有关的要求或限制。这方面的实施例将在下文详述。
[0037]响应于认证请求,第一设备201可以确认是否允许访问所请求的资源。例如,在某些实施例中,在步骤S301处可以认证请求资源访问的用户的身份。例如,可以确认用户是否是所请求资源的所有者。特别地,在某些实施例中,不同于已知的方案,在步骤S301处可以基于各种因素来定制对用户身份的认证过程。
[0038]例如,在某些实施例中,可以基于用户本人的信息来定制用户身份认证。关于用户的信息可以包括用户的人口统计信息、工作简档、先前访问资源的历史、个人信用记录,等等。作为示例,在某些实施例中,如果确定请求访问资源的用户先前曾经存在过违反资源使用规定的记录,则可以提升安全级别以便对该用户进行更为严格的认证。
[0039]备选地或附加地,还可以基于用户当前所使用的用户设备的信息来定制用户身份认证。用户设备的信息例如可以包括但不限于:设备的类型、处理能力、网络状况、存储容量、电池续航情况,等等。例如,在某些实施例中,如果确定用户当前使用的是桌面型计算机之类的固定设备,则可以使用传统的用户界面元素(例如,对话框)要求用户输入用户名、口令之类的信息以用于身份认证。反之,如果确定用户当前使用的是智能电话、平台式计算机、个人数字助理(PDA)之类的移动设备,则可以使用适合移动设备特点的认证方式来执行认证过程。例如,如果确定用户设备具有触敏屏幕,则可以利用图形化密码、语音输入、指纹识别、红膜识别等方式来确认用户的身份。
[0040]备选地或附加地,在某些实施例中,可以根据关于资源的信息来定制用户身份认证。例如,不同的资源可以具有不同的安全级别。相应地,对于具有不同安全级别的资源,可以采用不同的技术来认证用户的身份。例如,在某些实施例中,如果所请求资源的安全级别较低,则可以仅要求用户输入口令。反之,如果所请求资源的安全级别较高,除口令之外还可以要求用户输入图形验证码之类的附加信息。在某些实施中,可以允许用户指定针对一个或多个资源的身份认证要求。例如,用户可以向第二设备202托管资源时指明访问该资源需要完成的身份认证。
[0041]应当注意,根据本发明的实施例,关于用户、用户设备和/或资源的信息可以被预先获取和存储,并且在使用中可由第一设备201访问和参考。备选地,这些信息中的一项或多项也可以被动态地采集,并且随同认证请求被发送给第一设备201。本发明的范围在此方面不受限制。
[0042]继续参考图3,在某些实施例中,步骤S301处的授权决策还可以包括对用户所使用的客户端应用(例如,图1中所示的客户端应用203)进行认证。例如,在某些实施例中,响应于用户身份通过认证,客户端应用203可以向第一设备201请求访问令牌以用于访问由第二设备202提供的资源。此时,可以对客户端应用203进行认证。
[0043]传统上,例如在OAuth规范中,响应于用户身份认证的成功,第一设备201可以生成一个编码(code)并且将其提供给客户端应用203。客户端应用203可以使用该编码完成认证。不同于现有技术,在本发明的某些实施例中,对客户端应用203的认证同样可以被自适应地定制。
[0044]例如,对客户端应用的认证过程的定制可以基于任何预定义的协议或规则(例如,服务水平协议SLA,等等)来完成。例如,在某些实施例中,客户端应用203的证书、签名或者任何其他认证信息可以基于预定协议而被添加到从客户端应用203发往第一设备201的针对访问令牌的请求中。由此,第一设备201可以至少部分地基于此类认证信息来认证客户端应用203。备选地或附加地,在针对访问令牌的请求中可以包含利用公钥加密的数据段。在接收到针对访问令牌的请求之后,第一设备201可以使用对应的私钥对加密数据段进行解密。如果解密成功,则客户端应用203通过认证。
[0045]应当理解,根据本发明的实施例,在步骤S301处对用户身份和/或客户端应用的定制化认证是可选的。换言之,在某些实施例中,可以按照传统的认证标准或者规范(例如,OAuth规范)来执行认证,而不对认证进行任何定制。
[0046]如果在步骤S301处确定授权对所请求资源的访问,则第一设备201可以生成访问令牌。该访问令牌指示允许客户端应用203访问由第二设备202提供的设备。如已知的,访问令牌可被第一设备201提供给客户端应用203,客户端应用203转而可以使用访问令牌向第二设备202请求对资源的访问。
[0047]根据本发明的实施例
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1