CN106254075B - 认证服务器***以及方法 - Google Patents
认证服务器***以及方法 Download PDFInfo
- Publication number
- CN106254075B CN106254075B CN201610388353.2A CN201610388353A CN106254075B CN 106254075 B CN106254075 B CN 106254075B CN 201610388353 A CN201610388353 A CN 201610388353A CN 106254075 B CN106254075 B CN 106254075B
- Authority
- CN
- China
- Prior art keywords
- token
- authentication
- authorization
- client
- scope
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/305—Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种认证服务器***以及方法。认证服务器***发布第一类型令牌和第二类型令牌,所述第一类型令牌用于验证操作终端的用户是否为有效用户,所述第二类型令牌用于验证利用传送到与服务协作的授权客户端的权限是否能够使用所述服务;基于与验证请求和作用域一起接收到的令牌,进行验证,并且通知验证结果,而与发布的令牌的类型无关。
Description
技术领域
本发明的方面总体涉及进行认证/授权的验证的认证服务器***及方法。
背景技术
云计算的一般化给多个服务的协作提供了更多机会。在此使用的术语“服务”表示由经由网络(诸如互联网等)连接的服务器提供的功能。换言之,术语“服务”表示web应用。服务的协作能使服务提供商通过将价值添加到通常服务来向用户提供新的服务。伴随服务的协作,会出现问题。
即,存在可能在服务器之间交换比用户意图交换的信息更多信息的可能性。这可能导致用户的个人信息或用户数据的泄漏。例如,互联网上的多个服务可以彼此协作。在这种情况下,除了由用户授权的服务之外,用户的个人信息或用户数据不应当被任何服务操作。此外,从服务提供商的观点来看,期望服务协作方法能够被容易地实现。
因此,已开发称为OAuth的标准协议,以实现授权的协作。根据OAuth,例如,当某个终端中的应用访问由云服务管理的数据时,该应用被认为从用户获取了明确授权。
当用户授权访问时,应用接收证明访问授权被授予的令牌(下文中被称为访问令牌)。应用使用访问令牌,用于后续访问。在下文中,发布访问令牌的操作被称为授权操作。日本特开2015-5202号公报讨论了使用OAuth来发布访问令牌的技术。
根据OAuth的***间协作采用诸如表述性状态转移(REST)等的web服务。此外,近年来,称为RESTful模型视图控制器(MVC)的体系结构已被广泛使用。这已使得不仅针对根据OAuth的***间协作,还针对用户操作画面的情况,能够由REST来提供功能。
同时,用于提供功能的方法可以被标准化到REST。即使在这种情况下,仍当用户操作画面时使用认证令牌,而在***间协作中使用访问令牌。然而,由于认证令牌和访问令牌的验证不同,因此需要确定由REST应用编程接口(API)接收到的所有令牌的类型。因此,用于调用与接收到的令牌的各个类型相对应的验证模块的构造是必要的。
发明内容
本发明的各方面针对一种用于能够使得令牌由公用模块来验证而与令牌的类型的构造无关。
根据本发明的方面,一种认证服务器***,其能够与信息处理装置通信,所述信息处理装置包括向终端和授权客户端提供特定功能的服务,所述认证服务器***包括:发布单元,其被构造为发布第一类型令牌和第二类型令牌,所述第一类型令牌用于验证操作所述终端的用户是否为有效用户,所述第二类型令牌用于验证利用传送到与所述服务协作的授权客户端的权限是否能够使用所述服务;以及验证单元,用于基于从所述信息处理装置与验证请求和作用域一起接收到的令牌,来进行用于验证的检查,并通知验证结果,而与由所述发布单元发布的令牌的类型无关,其中,在接收到所述第一类型令牌的情况下,所述验证单元不检查与令牌相关联的权限,而在接收到所述第二类型令牌的情况下,所述验证单元检查与令牌相关联的权限,并且确定所述作用域是否在与令牌相关联的权限的范围内。
通过以下参照附图对示例性实施例的描述,本发明的各方面的其他特征将变得清楚。
附图说明
图1是例示网络构造的图。
图2是例示根据本发明的示例性实施例的服务器计算机的构造的图。
图3A、图3B和图3C是各自例示根据示例性实施例的模块构造的图。
图4A和图4B各自是例示根据示例性实施例的登录处理和访问令牌发布处理的流程图。
图5A、图5B和图5C是例示根据示例性实施例的权限验证处理的流程图。
图6A和图6B是各自例示根据示例性实施例的画面的显示示例的图。
图7A和图7B是各自例示根据本发明的第二示例性实施例的模块构造的图。
图8是例示根据第二示例性实施例的权限验证的示意图。
具体实施方式
在下文中,参照附图描述本发明的示例性实施例。
如图1中所示,根据本发明的第一示例性实施例的权限传送***配设在网络上,并且***中的组件彼此能够通信。图1中例示的***包括广域网(WAN)100和局域网(LAN)101、102及103。在本发明的示例性实施例中,WAN 100包括万维网(WWW)***,并且各个LAN 101、102及103连接***中的组件。
此外,图1中例示的***包括认证/授权服务器151、资源服务器152、由用户操作的用户终端191以及授权客户端171和172。认证/授权服务器151认证用户并发布访问令牌。在此使用的术语“访问令牌”表示如下的证明,即已由用户许可应用进行特定操作。当用户针对应用进行授权操作时,发布访问令牌。例如,如果使用用于访问由云服务管理的数据的访问令牌时,则应用提供状态,使得数据能够在由用户许可的范围内被访问。授权客户端171和授权客户端172使用从用户传送的权限,来与资源服务器152执行***间协作。
认证/授权服务器151和资源服务器152中的各个经由WAN 100和LAN 102连接。类似地,用户终端191经由WAN 100和LAN 102连接。授权客户端171和授权客户端172经由WAN100和LAN 103连接。认证/授权服务器151和资源服务器152能够被布置在单独的LAN或同一LAN上。作为选择,认证/授权服务器151和资源服务器152能够被布置在同一个人计算机(PC)或同一服务器计算机上。虽然图1中所示的***包括一个认证/授权服务器151和一个资源服务器152,但是可以布置包括多个服务器的服务器组。例如,能够布置包括多个认证/授权服务器的服务器组。因此,描述本发明的示例性实施例,而不管存在一个服务器或多个服务器。在本示例性实施例中,术语“服务器***”包括任一配置。例如,认证服务器***包括一个或多个认证服务器。
图2是示例根据本发明的示例性实施例的、用作服务器计算机的认证/授权服务器151的构造的图。用作服务器计算机的资源服务器152的构造、用户终端191的构造以及授权客户端171和授权客户端172中的各个的构造,都类似于图2中所示的。图2中所示的硬件框图对应于一般信息处理装置的硬件框图,并且一般信息处理装置的硬件构造能够应用于根据本示例性实施例的服务器计算机和移动终端。
在图2中,中央处理单元(CPU)201执行在ROM 203的程序只读存储器(程序ROM)中存储的或从硬盘211加载到随机存取存储器(RAM)202中的操作***(OS)或诸如应用等的程序。OS在计算机上运行。程序的执行能够实现下面描述的各流程图的处理。RAM 202用作CPU201的主存储器或工作区域。键盘控制器(KBC)205控制来自键盘(KB)209或指点设备(未示出)的键输入。阴极射线管控制器(CRTC)206控制阴极射线管(CRT)显示器210的显示。盘控制器(DKC)207控制对例如存储有各种数据的软盘(注册商标)(FD)和硬盘(HD)211中的数据的访问。网络控制器(NC)212连接到网络,以针对与连接到网络的其他设备的通信执行控制处理。在以下描述中,除非另有说明,否则在硬件方面,CPU 201作为主要元件运行,而在软件方面,安装在HD 211中的应用程序作为主要元件运行。
图3A、图3B和图3C是例示根据示例性实施例的认证/授权服务器151、资源服务器152和授权客户端171的各个模块构造的图。认证/授权服务器151包括认证模块301、授权模块302以及认证授权共用权限验证模块303。此外,认证/授权服务器151包括用户管理模块304、客户端管理模块305和作用域(scope)管理模块306。资源服务器152包括资源管理模块351和令牌验证请求模块352。授权客户端171包括访问令牌请求模块371和资源服务器访问模块372。授权客户端172的构造类似于授权客户端171的构造。这些模块中的各个包括安装在HD 211中的应用程序,并且当由CPU 201执行时提供服务器功能。
图4A是根据本示例性实施例的由认证/授权服务器151进行的登录处理的流程图。当认证/授权服务器151接收到来自用户终端191的登录请求时,图4A中所示的流程开始。在步骤S401中,认证/授权服务器151的认证模块301将如图6A中所示的认证画面1001发送到用户终端191。即,在用户终端191上显示登录画面。在步骤S402中,认证模块301接收在认证画面1001中输入的认证信息。在步骤S403中,认证模块301确定在步骤S402中接收到的认证信息是否是适当的。在认证模块301确定认证信息是适当的并且操作终端的用户是有效用户的情况下(在步骤S403中为是),处理前进到步骤S404。另一方面,在认证模块301确定认证信息是不适当的情况下(在步骤S403中为否),处理前进到步骤S450。
在步骤S404中,认证模块301许可用户登录并发布认证令牌。然后,流程结束。将在此发布的认证令牌与用户相关联,并在如表1中所示的认证令牌表中进行管理。
[表1]
认证令牌标识符 | 用户 |
An0011223344 | 用户X |
An5566778899 | 用户Y |
An7788990011 | 用户Z |
: | : |
在步骤S450中,认证模块301拒绝用户的登录,并且流程结束。
图4B是根据本示例性实施例的由认证/授权服务器151进行的访问令牌发布处理的流程图。当认证/授权服务器151的授权模块302接收到来自用户终端191和授权客户端171的访问令牌请求时,开始图4B中所示的流程。在步骤S501中,授权模块302接收来自用户终端191和授权客户端171的访问令牌请求。此处接收的访问令牌请求包括用户信息和客户端标识符,即,要请求的权限的范围。
在步骤S502中,授权模块302确定操作用户终端191的用户是否已登录。在授权模块302确定用户已登录的情况下(在步骤S502中为是),处理前进到步骤S505。在授权模块302确定用户尚未登录的情况下(在步骤S502中为否),处理前进到步骤S503。在步骤S503中,认证模块301将如图6A中所示的认证画面1001发送到用户终端191。即,认证模块301提示用户登录。登录处理与上面参照图4A详细描述的大致相同。在步骤S503中的处理随后,在步骤S504中,认证模块301确定用户是否已登录。在认证模块301确定用户已登录的情况下(在步骤S504中为是),处理前进到步骤S505。在认证模块301确定用户尚未登录的情况下(在步骤S504中为否),处理前进到步骤S550。
在步骤S505中,授权模块302在用户终端191上显示如图6B中所示的授权确认画面1002,以询问用户确认。响应于步骤S505中的处理,在步骤S506中,授权模块302确定是否已从用户获取授权。在授权模块302确定已获取授权的情况下(在步骤S506中为是),处理前进到步骤S507。在授权模块302确定未获取授权的情况下(在步骤S506中为否),处理前进到步骤S550。当请求授权时,用户能够在如图6B中所示的画面上选择“许可”。这种操作被称为授权操作。当用户进行授权操作时,发布访问令牌。
在步骤S507中,授权模块302发布访问令牌,并将在步骤S501中接收到的访问令牌请求中的客户端标识符、与访问令牌请求中的用户信息相关联,以将所得的关联存储在表2中的访问令牌表中。此外,授权模块302经由用户终端191将发布的访问令牌返回到授权客户端171,并且流程结束。
[表2]
在步骤S550中,授权模块302向资源管理模块351通知不能发布访问令牌,并且流程结束。
图5A是例示由认证/授权服务器151进行的认证令牌和访问令牌的验证处理的流程图。当认证/授权服务器151的认证授权共用权限验证模块303接收到来自资源服务器152的令牌验证请求模块352的权限验证请求时,开始图5A中所示的流程。在此,权限验证请求是当接收到来自用户终端191或授权客户端171的资源请求时、由资源服务器152的资源管理模块351做出的。
在步骤S601中,认证授权共用权限验证模块303接收来自资源服务器152的令牌验证请求模块352的权限验证请求。在此,权限验证请求包括由资源服务器152的资源管理模块351从用户终端191接收到的认证令牌,或由资源服务器152的资源管理模块351从授权客户端171接收到的访问令牌。此外,权限验证请求包括使用由用户终端191或授权客户端171请求的资源所需的作用域列表。即,认证授权共用权限验证模块303不断地接收关于作用域的信息,而与令牌类型无关。认证授权共用权限验证模块303能够接收认证令牌和关于作用域的信息。即使在这种情况下,认证授权共用权限验证模块303在针对验证进行检查时,仍不使用关于作用域的信息,这将在下面描述。
使用资源所需的作用域列表,包括要由用户和客户端中的各个所请求的作用域,而与由资源管理模块351已接收到的令牌是否为认证令牌或访问令牌无关。因此,资源服务器152能够将同一作用域列表传递到认证/授权服务器151以请求权限验证,而与由资源管理模块351接收到的令牌的类型无关。
在步骤S602中,认证授权共用权限验证模块303从在步骤S601接收到的权限验证请求中,提取认证令牌或访问令牌以及使用资源所需的作用域列表。在步骤S603中,认证授权共用权限验证模块303确定在步骤S602中提取的令牌的类型是否为访问令牌。在认证授权共用权限验证模块303确定在步骤S602中提取的令牌为认证令牌的情况下(在步骤S603中为否),处理前进到步骤S606。另一方面,在认证授权共用权限验证模块303确定在步骤S602中提取的令牌为访问令牌的情况下(在步骤S603中为是),处理前进到步骤S604。
在步骤S604中,认证授权共用权限验证模块303参照由授权模块302管理的如表2中所示的访问令牌表,来获取与在步骤S602中提取的访问令牌相关联的作用域。在步骤S605中,认证授权共用权限验证模块303确定在步骤S604中获取的与访问令牌相关联的作用域,是否包括在步骤S602中提取的作用域列表的所有的作用域,作用域列表是使用资源所需的。换言之,认证授权共用权限验证模块303确定作用域是否在由访问令牌授予的权限的特定范围内。在认证授权共用权限验证模块303确定包括所有的所需的作用域的情况下(在步骤S605中为是),处理前进到步骤S606。在认证授权共用权限验证模块303确定不包括至少一个所需的作用域的情况下(在步骤S605中为否),处理前进到步骤S650。
在步骤S606中,认证授权共用权限验证模块303确定客户端是否与在步骤S602中提取的令牌相关联。如表1中所示,在令牌的类型为认证令牌的情况下,客户端不相关联。此外,如表2中所示,在令牌的类型为访问令牌的情况下,客户端与令牌相关联。在认证授权共用权限验证模块303确定客户端与令牌相关联的情况下(在步骤S606中为是),处理前进到步骤S607。另一方面,在认证授权共用权限验证模块303确定客户端不与令牌相关联的情况下(在步骤S606中否),处理前进到步骤S609。
在步骤S607中,认证授权共用权限验证模块303进行与令牌相关联的客户端的权限的验证。在步骤S608中,认证授权共用权限验证模块303,基于在步骤S607中获取的权限验证结果,检查与令牌相关联的客户端是否已被确定为具有使用资源所需的权限。在认证授权共用权限验证模块303确定客户端具有所需的权限的情况下(在步骤S608中为是),处理前进到步骤S609。在认证授权共用权限验证模块303确定客户端不具有所需的权限的情况下(在步骤S608中为否),处理前进到步骤S650。
在步骤S609中,认证授权共用权限验证模块303进行与令牌相关联的用户的权限的验证。在步骤S610中,认证授权共用权限验证模块303,基于在步骤S609中获取的权限验证结果,检查与令牌相关联的用户是否已被确定为具有使用资源所需的权限。在认证授权共用权限验证模块303确定用户具有所需的权限的情况下(在步骤S610中为是),处理前进到步骤S611。在认证授权共用权限验证模块303确定用户不具有所需的权限的情况下(在步骤S610中为否),处理前进到步骤S650。在步骤S611中,认证授权共用权限验证模块303,基于权限验证结果,向资源服务器通知,在步骤S601中由认证授权共用权限验证模块303接收到的令牌已被确定为具有使用资源的权限,并且流程结束。在步骤S650中,认证授权共用权限验证模块303向资源服务器通知,在步骤S601中由认证授权共用权限验证模块303接收到的令牌已被确定为不具有使用资源的权限,并且流程结束。
图5B是例示根据本示例性实施例的由认证/授权服务器151进行的客户端权限验证处理的流程图。图5B中所示的流程是图5A中描述的步骤S607的详细处理。在步骤S701中,认证授权共用权限验证模块303参照由授权模块302管理的访问令牌表,以获取与访问令牌相关联的客户端。例如,在此,访问令牌可以是表2中示出的Az99887766。在这种情况下,认证授权共用权限验证模块303确定与访问令牌相关联的客户端为AppAm001。
在步骤S702中,认证授权共用权限验证模块303参照由客户端管理模块305管理的客户端权限表,以获取由在步骤S701中获取的客户端所保持的权限。表3例示了客户端权限表的示例。
[表3]
客户端标识符 | 权限 |
AppAm001 | App-A-Integration |
AppAm002 | App-B-Integration |
: | : |
在此,如果客户端标识符为AppAm001,则客户端被确定为具有App-A-Integration的权限。
在步骤S703中,认证授权共用权限验证模块303参照由作用域管理模块306管理的作用域表,以获取要由在步骤S602中提取的作用域列表中的各个作用域请求的客户端权限。表4例示了作用域列表的表的示例。
[表4]
作用域 | 权限 |
owner.App-A-ReadWrite | App-A-ReadWrite |
client.App-A-Integration | App-A-Integration |
: | : |
在此,使用资源所需的作用域可以是owner.App-A-ReadWrite和client.App-A-Integration。在这种情况下,由于要由客户端请求的作用域为client.App-A-Integration,其中,“client”为前缀,因此要请求的客户端权限被确定为App-A-Integration。
在步骤S704中,认证授权共用权限验证模块303确定在步骤S702中获取的客户端权限是否包括在步骤S703中获取的所有的所请求的客户端权限。在认证授权共用权限验证模块303确定包括所有的所请求的权限的情况下(在步骤S704中为是),处理前进到步骤S705。在认证授权共用权限验证模块303确定不包括至少一个所请求的权限的情况下(在步骤S704中为否),处理前进到步骤S750。例如,在此,访问令牌可以是表2中所示的Az99887766,资源使用所需的作用域可以是owner.App-A-ReadWrite和client.App-A-Integration。在这种情况下,由客户端保持的权限为App-A-Integration,并且要请求的客户端权限也是App-A-Integration。因此,客户端被确定为具有所有的所请求的权限。
在步骤S705中,认证授权共用权限验证模块303确定客户端具有所请求的权限,并且流程结束。在步骤S750中,认证授权共用权限验证模块303确定客户端不具有所请求的权限,并且流程结束。
图5C是例示根据本示例性实施例的由认证/授权服务器151进行的用户权限验证处理的流程图。图5C中所示的流程是图5A中描述的步骤S609的详细处理。在步骤S801中,认证授权共用权限验证模块303确定在步骤S602中提取的令牌的类型是否为访问令牌。在证授权共用权限验证模块303确定令牌为认证令牌的情况下(在步骤S801中为否),处理前进到步骤S803。在认证授权共用权限验证模块303确定令牌为访问令牌的情况下(在步骤S801中为是),处理前进到步骤S802。
在步骤S802中,认证授权共用权限验证模块303参照由授权模块302管理的访问令牌表,以获取与访问令牌相关联的用户。例如,在此,访问令牌可以是表2中示出的Az99887766。在这种情况下,认证授权共用权限验证模块303确定与访问令牌相关联的用户为用户X。
在步骤S803中,认证授权共用权限验证模块303参照由认证模块301管理的认证令牌表,以获取与认证令牌相关联的用户。例如,在此,认证令牌可以是表1中示出的An0011223344。在这种情况下,认证授权共用权限验证模块303确定与访问令牌相关联的用户为用户X。
在步骤S804中,认证授权共用权限验证模块303参照由用户管理模块304管理的用户权限表,以获取在步骤S802或步骤S803中获取的用户的权限。表5例示了用户权限表的示例。
[表5]
在此,如果在步骤S802或步骤S803中获取的用户为用户X,则该用户被确定为具有App-A-ReadWrite权限和App-B-Read权限。
在步骤S805中,认证授权共用权限验证模块303参照由作用域管理模块306管理的作用域表,以获取要由在步骤S602中提取的作用域列表中的各个作用域请求的用户权限。
在此,使用资源所需的作用域可以是owner.App-A-ReadWrite和client.App-A-Integration。在这种情况下,由于要由用户请求的作用域为owner.App-A-ReadWrite,其中,“owner”为前缀,因此要请求的用户权限被确定为App-A-ReadWrite。
在步骤S806中,认证授权共用权限验证模块303确定在步骤S804中获取的用户权限是否包括在步骤S805中获取的所有的所请求的用户权限。在认证授权共用权限验证模块303确定包括所有的所请求的权限的情况下(在步骤S806中为是),处理前进到步骤S807。另一方面,在认证授权共用权限验证模块303确定不包括至少一个所请求的权限的情况下(在步骤S806中为否),处理前进到步骤S850。例如,在此,令牌的类型可以是表1中示出的An0011223344的认证令牌,并且使用资源所需的作用域可以是owner.App-A-ReadWrite和client.App-A-Integration。在这种情况下,用户具有App-A-ReadWrite的权限,并且要请求的用户权限也是App-A-ReadWrite。因此,客户端被确定为具有所有的所请求的权限。
在步骤S807中,认证授权共用权限验证模块303确定用户具有所请求的权限,并且流程结束。在步骤S850中,认证授权共用权限验证模块303确定用户不具有所请求的权限,并且流程结束。
图6A和图6B是各自例示根据本示例性实施例的画面的显示示例的图。图6A例示了当用户登录时、要操作的认证画面1001的示例。图6B例示了当用户授权客户端模块以许可访问令牌的发布时、要使用的授权确认画面1002的示例。
根据本示例性实施例,资源服务器152能够将同一作用域列表传递到认证/授权服务器151以请求权限验证,而与由资源管理模块351接收到的令牌的类型无关。这使得共用权限验证模块能够被调用,而不依赖于令牌类型,因而提高了资源服务器152的开发效率。
接下来,参照附图描述本发明的第二示例性实施例。在下文中,仅通过参照第一示例性实施例与第二示例性实施例之间的差异,来提供描述。对第一示例性实施例和第二示例性实施例的共通的组件及构造的描述将被省略。
在第一示例性实施例中,资源服务器152能够向认证/授权服务器151请求令牌验证,而不考虑令牌类型。然而,对于资源服务器152的某些资源,可以想到的是,可能针对认证令牌许可使用资源,但可能针对访问令牌不许可。在这种情况下,认证/授权服务器151需要依据令牌类型来改变权限验证的确定,而资源服务器152不应当考虑令牌类型。
此外,某些资源可能最初未被许可利用访问令牌使用。然而,可以想到的是,当资源服务器152升级时,这种资源能够被许可利用访问令牌使用。在这种情况下,在利用访问令牌的使用资源的正式公开之前,需要针对仅特定的授权客户端172的功能的公开,使得能够对功能进行测试。鉴于上述内容,做出本发明的第二示例性实施例。
图7A和图7B各自是例示根据本发明的第二示例性实施例的认证/授权服务器151的模块构造以及资源服务器152的模块构造的图。认证/授权服务器151包括认证模块301、授权模块302以及认证授权共用权限验证模块303。此外,认证/授权服务器151包括用户管理模块304、第二客户端管理模块320以及第二作用域管理模块321。资源服务器152包括资源管理模块351和令牌验证请求模块352。此外,资源服务器152包括第二资源管理模块361和第二令牌验证请求模块362。
表6例示了第二客户端权限表的示例,并且表7例示了第二作用域列表的表的示例。第二客户端权限表和第二作用域列表的表分别由第二客户端管理模块320和第二作用域管理模块321管理。
[表6]
客户端标识符 | 权限 |
AppAm001 | App-A-Integration |
AppAm002 | App-B-Integration |
AppAmDebug | App-A-ReadWrite |
AppAmDebug | closedBeta-LimitedIntegration |
: | : |
[表7]
作用域 | 权限 |
owner.App-A-ReadWrite | App-A-ReadWrite |
client.App-A-Integration | App-A-Integration |
client.notAllowed | closedBeta-LimitedIntegration |
: | : |
在此,使用图5B中所示的客户端权限验证流程的示例来提供描述。在步骤S704中,认证授权共用权限验证模块303确定在步骤S702中获取的客户端权限是否包括在步骤S703中获取的所有的所请求的客户端权限。例如,在此,与访问令牌相关联的客户端标识符可以是AppAmDebug,使用资源所需的作用域可以是owner.App-A-读写和client.notAllowed。在这种情况下,客户端具有包括closedBeta-LimitedIntegration的权限,从而满足要请求的客户端权限,即,closedBeta-LimitedIntegration。因此,客户端被确定为具有所有的所请求的权限,并且处理前进到步骤S705。
在步骤S705中,认证授权共用权限验证模块303确定客户端具有所请求的权限,并且流程结束。由于第二示例性实施例中的访问令牌是与client.notAllowed的作用域相关联地发布的令牌,因此处理从步骤S605前进到步骤S606。因此,将确定作用域没有问题。然而,如上所述,只要客户端不具有权限,授权客户端171就不被授权使用服务。
图8是例示根据第二示例性实施例的、响应于来自用户操作和不同的授权客户端的资源请求,从资源服务器152到认证/授权服务器151的权限验证请求的示意图。
在此,假设授权客户端171用作通常的授权客户端,并且仅能够使用一般的公共REST API。因此,授权客户端171不具有closedBeta-LimitedIntegration角色。此外,假设授权客户端172用作特殊的授权客户端,该特殊的授权客户端在公开用于访问令牌的RESTAPI之前,对资源服务器152的REST API进行测试。由于授权客户端172能够使用并非通常利用访问令牌使用的REST API,因此授权客户端172具有closedBeta-LimitedIntegration角色。
此外,资源服务器152的REST API-1用作与资源管理模块351和令牌验证请求模块352相对应的REST API。不从使用REST API-1的授权客户端请求client.notAllowed作用域。此外,资源服务器152的REST API-2用作与第二资源管理模块361和第二令牌验证请求模块362相对应的REST API。从使用REST API-2的授权客户端请求client.notAllowed作用域。
在图8中,箭头2001表示当授权客户端171调用REST API-1时进行的处理。在由箭头2001表示的处理中,授权客户端171使用预先获取的访问令牌来调用REST API-1。在此,由于未针对REST API-1的使用而请求client.notAllowed,因此没有closedBeta-LimitedIntegraion角色的授权客户端171也能够使用REST API-1。
箭头2101表示当授权客户端171调用REST API-2时进行的处理。在由箭头2101表示的处理中,授权客户端171使用预先获取的访问令牌来调用REST API-2。在此,由于针对REST API-2的使用而请求client.notAllowed,因此没有closedBeta-limitedIntegration角色的授权客户端171不能使用REST API-2。
箭头2102表示当用户终端191调用REST API-2时进行的处理。在由箭头2102表示的处理中,用户终端191从画面库获取画面资源。此外,用户终端191使用预先获取的认证令牌经由获取的画面资源来调用REST API-2。在此,针对REST API-2的使用而请求client.notAllowed。然而,如果使用认证令牌,则在由认证授权共用权限验证模块303进行权限验证时,不进行客户端权限验证。因此,用户终端191能够使用REST API-2,而与closedBeta-LimitedIntegration角色的有无无关。
箭头2201表示当授权客户端172调用REST API-2时进行的处理。在由箭头2201表示的处理中,授权客户端172使用预先获取的访问令牌来调用REST API-2。在此,针对RESTAPI-2的使用而请求client.notAllowed。然而,由于授权客户端172具有closedBeta-LimitedIntegration角色,因此授权客户端172能够使用REST API-2。
根据第二示例性实施例,例如在诸如***间协作那样,使用了用户不直接参与的访问令牌的使用情况下,能够禁止使用资源。即使在这种情况下,例如在使用了用户直接操作画面那样的认证令牌的使用情况下,通过控制操作能够许可使用资源。在这种情况下,资源服务器152指定预定作用域的client.notAllowed,以向认证/授权服务器151仅请求权限验证,并且资源服务器152不需要考虑令牌类型。因此,能够有效地进行资源服务器152的开发。
根据第二示例性实施例,此外,能够禁止授权客户端171使用资源服务器152的特定资源,并且仅预定的授权客户端172能够使用在资源的正式释放之前的资源。
在授权客户端172执行适当的测试之后,能够升级资源服务器152,以不请求client.notAllowed作为针对使用上述资源的作用域。因此,能够针对授权客户端171做出这种资源的公开。
其他实施例
还可以通过读出并执行记录在存储介质(即,“非暂时性计算机可读存储介质”)上的计算机可执行指令以执行本发明的一个或更多个上述实施例中的功能的***或装置的计算机,来实现本发明的实施例,并且,可以利用通过由***或装置的计算机例如读出并执行来自存储介质的计算机可执行指令以执行一个或更多个上述实施例中的功能的方法,来实现本发明的实施例。计算机可以包括中央处理单元(CPU)、微处理单元(MPU)或其他电路中的一者或更多,并且可以包括分开的计算机或分开的处理器的网络。计算机可执行指令可以例如从网络或存储介质被提供给计算机。存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算***的存储器、光盘(诸如压缩光盘(CD)、数字通用光盘(DVD)或蓝光光盘(BD)TM)、闪存装置以及存储卡等中的一者或更多。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给***或装置,该***或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然参照示例性实施例对本发明的各方面进行了描述,但是应当理解,本发明的各方面不限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构和功能。
Claims (8)
1.一种认证服务器***,其能够与信息处理装置通信,所述信息处理装置包括向终端和授权客户端提供特定功能的服务,所述认证服务器***包括:
发布单元,用于发布第一类型令牌和第二类型令牌,所述第一类型令牌用于验证操作所述终端的用户是否为有效用户,所述第二类型令牌用于验证:利用传送到与所述服务协作的授权客户端的权限,是否能够使用所述服务;以及
验证单元,用于基于从所述信息处理装置与验证请求和作用域一起接收到的由发布单元发布的令牌,而与由所述发布单元发布的令牌的类型无关,来进行用于验证的检查,并通知验证结果,
其中,在接收到所述第一类型令牌的情况下,所述验证单元不检查与令牌相关联的权限,而在接收到所述第二类型令牌的情况下,所述验证单元检查与令牌相关联的权限,并且确定所述作用域是否在与该令牌相关联的权限的范围内。
2.根据权利要求1所述的认证服务器***,其中,由所述验证单元从所述信息处理装置接收到的作用域,包括用于由所述授权客户端向所述信息处理装置请求的服务的使用的作用域。
3.根据权利要求1或2所述的认证服务器***,其中,由所述验证单元从所述信息处理装置接收到的作用域,包括用于禁止使用所述第二类型令牌来利用所述服务的作用域。
4.根据权利要求1或2所述的认证服务器***,其中,在接收到所述第二类型令牌的情况下,所述验证单元基于该令牌来检查与所述授权客户端相关联的权限,并且确定所述作用域是否在与所述授权客户端相关联的权限的范围内,并且
其中,在所述作用域被确定为在与令牌相关联的权限的范围内,并且所述作用域被确定为在与授权客户端相关联的权限的范围内的情况下,所述验证单元通知利用传送到与所述服务协作的所述授权客户端的权限能够使用所述服务,作为验证结果。
5.根据权利要求1或2所述的认证服务器***,其中,在与所述授权客户端相关联的权限被确定为特定权限的情况下,即使从所述信息处理装置接收到的作用域包括用于禁止使用所述第二类型令牌来利用所述服务的作用域,所述验证单元仍通知利用传送到与所述服务协作的授权客户端的权限能够使用所述服务,作为验证结果。
6.根据权利要求1或2所述的认证服务器***,其中,在经由认证画面输入的认证信息被确定为适当的情况下,所述发布单元发布所述第一类型令牌,而在所述服务中的用户权限到所述授权客户端的传送被确定为经由授权确认画面授权的情况下,所述发布单元发布所述第二类型令牌。
7.根据权利要求1或2所述的认证服务器***,其中,在接收到所述第一类型令牌的情况下,所述验证单元确定操作所述终端的用户的用户信息是否被登记在所述认证服务器***中。
8.一种由认证服务器***执行的方法,所述认证服务器***能够与信息处理装置通信,所述信息处理装置包括向终端和授权客户端提供特定功能的服务,所述方法包括:
发布步骤,发布第一类型令牌和第二类型令牌,所述第一类型令牌用于验证操作所述终端的用户是否为有效用户,所述第二类型令牌用于验证:利用传送到与所述服务协作的授权客户端的权限,是否能够使用所述服务;以及
验证步骤,基于从所述信息处理装置与验证请求和作用域一起接收到的发布的令牌,来进行用于验证的检查,并通知验证结果,而与在所述发布步骤中发布的令牌的类型无关,
其中,在接收到所述第一类型令牌的情况下,不检查与令牌相关联的权限,而在接收到所述第二类型令牌的情况下,检查与令牌相关联的权限,并且确定作用域是否在与令牌相关联的权限的范围内。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015-118353 | 2015-06-11 | ||
JP2015118353A JP2017004301A (ja) | 2015-06-11 | 2015-06-11 | 認証サーバーシステム、方法、プログラムおよび記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106254075A CN106254075A (zh) | 2016-12-21 |
CN106254075B true CN106254075B (zh) | 2020-02-28 |
Family
ID=57517488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610388353.2A Active CN106254075B (zh) | 2015-06-11 | 2016-06-02 | 认证服务器***以及方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10148638B2 (zh) |
JP (1) | JP2017004301A (zh) |
KR (1) | KR101983544B1 (zh) |
CN (1) | CN106254075B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656514B (zh) * | 2017-03-02 | 2019-05-31 | 北京搜狐新媒体信息技术有限公司 | kerberos认证集群访问方法、SparkStandalone集群及其驱动节点 |
JP6857065B2 (ja) * | 2017-03-27 | 2021-04-14 | キヤノン株式会社 | 認証認可サーバー、リソースサーバー、認証認可システム、認証方法及びプログラム |
US10673831B2 (en) * | 2017-08-11 | 2020-06-02 | Mastercard International Incorporated | Systems and methods for automating security controls between computer networks |
JP2019046059A (ja) * | 2017-08-31 | 2019-03-22 | キヤノン株式会社 | 権限委譲システム、制御方法、およびプログラム |
US11457014B2 (en) | 2017-10-26 | 2022-09-27 | International Business Machines Corporation | Access control in microservice architectures |
US10572367B2 (en) * | 2017-11-21 | 2020-02-25 | Accenture Global Solutions Limited | Intelligent code quality monitoring |
JP7029051B2 (ja) * | 2017-12-22 | 2022-03-03 | 富士通株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
CN109462595A (zh) * | 2018-11-29 | 2019-03-12 | 甘肃万维信息科技有限责任公司 | 基于RestFul的数据接口安全交换方法 |
EP3699782A1 (en) * | 2019-02-21 | 2020-08-26 | CoreMedia AG | Method and apparatus for managing data in a content management system |
CN110086813A (zh) * | 2019-04-30 | 2019-08-02 | 新华三大数据技术有限公司 | 访问权限控制方法和装置 |
JP7301669B2 (ja) * | 2019-08-07 | 2023-07-03 | キヤノン株式会社 | システム、認可サーバー、制御方法、プログラム |
JP7301668B2 (ja) * | 2019-08-07 | 2023-07-03 | キヤノン株式会社 | システム、制御方法、プログラム |
CN111586030B (zh) * | 2020-04-30 | 2022-06-17 | 武汉时波网络技术有限公司 | 一种基于微服务多租户的接口鉴权、权限验证方法及*** |
FR3110262B1 (fr) * | 2020-05-18 | 2023-06-23 | The Ring Io | Procédé et système d’authentification d’un utilisateur auprès d’un serveur d’authentification |
CN112380517B (zh) * | 2020-11-17 | 2022-09-16 | 上海福君基因生物科技有限公司 | 基于生物信息统一认证的云平台管理方法及*** |
CN112612770B (zh) * | 2020-12-28 | 2024-05-14 | 深圳市科创思科技有限公司 | 一种分布式文件上传方法及*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101990183A (zh) * | 2009-07-31 | 2011-03-23 | 国际商业机器公司 | 保护用户信息的方法、装置及*** |
CN102217277A (zh) * | 2008-11-28 | 2011-10-12 | 国际商业机器公司 | 基于令牌进行认证的方法和*** |
CN102624739A (zh) * | 2012-03-30 | 2012-08-01 | 奇智软件(北京)有限公司 | 一种适用于客户端平台的认证授权方法和*** |
CN103685204A (zh) * | 2012-09-24 | 2014-03-26 | 中国科学院声学研究所 | 基于物联网资源共享平台的资源鉴权方法 |
CN103685139A (zh) * | 2012-08-30 | 2014-03-26 | 中兴通讯股份有限公司 | 认证授权处理方法及装置 |
CN104350501A (zh) * | 2012-05-25 | 2015-02-11 | 佳能株式会社 | 授权服务器和客户端设备、服务器协作***和令牌管理方法 |
WO2015042349A1 (en) * | 2013-09-20 | 2015-03-26 | Oracle International Corporation | Multiple resource servers with single, flexible, pluggable oauth server and oauth-protected restful oauth consent management service, and mobile application single sign on oauth service |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6198477B2 (ja) | 2013-06-21 | 2017-09-20 | キヤノン株式会社 | 権限移譲システム、認可サーバーシステム、制御方法、およびプログラム |
US9202031B2 (en) * | 2014-02-10 | 2015-12-01 | Level 3 Communications, Llc | Authentication system and method |
-
2015
- 2015-06-11 JP JP2015118353A patent/JP2017004301A/ja active Pending
-
2016
- 2016-06-02 CN CN201610388353.2A patent/CN106254075B/zh active Active
- 2016-06-07 US US15/175,988 patent/US10148638B2/en active Active
- 2016-06-08 KR KR1020160070716A patent/KR101983544B1/ko active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102217277A (zh) * | 2008-11-28 | 2011-10-12 | 国际商业机器公司 | 基于令牌进行认证的方法和*** |
CN101990183A (zh) * | 2009-07-31 | 2011-03-23 | 国际商业机器公司 | 保护用户信息的方法、装置及*** |
CN102624739A (zh) * | 2012-03-30 | 2012-08-01 | 奇智软件(北京)有限公司 | 一种适用于客户端平台的认证授权方法和*** |
CN104350501A (zh) * | 2012-05-25 | 2015-02-11 | 佳能株式会社 | 授权服务器和客户端设备、服务器协作***和令牌管理方法 |
CN103685139A (zh) * | 2012-08-30 | 2014-03-26 | 中兴通讯股份有限公司 | 认证授权处理方法及装置 |
CN103685204A (zh) * | 2012-09-24 | 2014-03-26 | 中国科学院声学研究所 | 基于物联网资源共享平台的资源鉴权方法 |
WO2015042349A1 (en) * | 2013-09-20 | 2015-03-26 | Oracle International Corporation | Multiple resource servers with single, flexible, pluggable oauth server and oauth-protected restful oauth consent management service, and mobile application single sign on oauth service |
Also Published As
Publication number | Publication date |
---|---|
JP2017004301A (ja) | 2017-01-05 |
CN106254075A (zh) | 2016-12-21 |
KR20160146541A (ko) | 2016-12-21 |
US10148638B2 (en) | 2018-12-04 |
KR101983544B1 (ko) | 2019-05-29 |
US20160366151A1 (en) | 2016-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106254075B (zh) | 认证服务器***以及方法 | |
US10616211B2 (en) | System and method for authenticating clients | |
US20190173871A1 (en) | Using application level authentication for network login | |
US9626137B2 (en) | Image forming apparatus, server device, information processing method, and computer-readable storage medium | |
US9578015B2 (en) | Step-up authentication for single sign-on | |
US9781116B2 (en) | Authority transfer system, method that is executed by authority transfer system, and storage medium | |
US9154504B2 (en) | Device apparatus, control method, and relating storage medium | |
US9967253B2 (en) | Authority delegation system, method, authentication server system, and storage medium therefor | |
US20190156008A1 (en) | Access control system, control method of access control system, and storage medium | |
CN113239377B (zh) | 权限控制方法、装置、设备以及存储介质 | |
CN110365684B (zh) | 应用集群的访问控制方法、装置和电子设备 | |
US9686257B2 (en) | Authorization server system, control method thereof, and storage medium | |
US9916308B2 (en) | Information processing system, document managing server, document managing method, and storage medium | |
JP6985268B2 (ja) | リソース処理方法及び装置 | |
KR20190134135A (ko) | 클라우드 플랫폼에 기반한 서비스 제공 방법 및 그 시스템 | |
WO2016191376A1 (en) | Initial provisioning through shared proofs of knowledge and crowdsourced identification | |
JP2020035079A (ja) | システム、及びデータ処理方法 | |
US11956228B2 (en) | Method and apparatus for securely managing computer process access to network resources through delegated system credentials | |
US11956233B2 (en) | Pervasive resource identification | |
JP2023524173A (ja) | 共有化されたリソース識別 | |
US20180241748A1 (en) | Authentication server, authentication method, and program | |
KR102243627B1 (ko) | IoT 디바이스 권한 관리 방법 및 장치 | |
US10033721B2 (en) | Credential translation | |
JP2023111226A (ja) | データ管理システム、ボリュームアクセス制御方法、及びプログラム | |
CN118018248A (zh) | 访问控制方法、***、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |