WO2012063783A1 - 認証連携システム及びidプロバイダ装置 - Google Patents

認証連携システム及びidプロバイダ装置 Download PDF

Info

Publication number
WO2012063783A1
WO2012063783A1 PCT/JP2011/075611 JP2011075611W WO2012063783A1 WO 2012063783 A1 WO2012063783 A1 WO 2012063783A1 JP 2011075611 W JP2011075611 W JP 2011075611W WO 2012063783 A1 WO2012063783 A1 WO 2012063783A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
authentication
service
service provider
request
Prior art date
Application number
PCT/JP2011/075611
Other languages
English (en)
French (fr)
Inventor
実 西澤
誠一郎 田中
竜朗 池田
Original Assignee
株式会社 東芝
東芝ソリューション株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 株式会社 東芝, 東芝ソリューション株式会社 filed Critical 株式会社 東芝
Priority to CN201180044620.XA priority Critical patent/CN103109298B/zh
Priority to EP11839719.9A priority patent/EP2639727B1/en
Priority to SG2013034046A priority patent/SG190128A1/en
Publication of WO2012063783A1 publication Critical patent/WO2012063783A1/ja
Priority to US13/890,539 priority patent/US9059982B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations

Definitions

  • Embodiments of the present invention relate to an authentication collaboration system and an ID provider device.
  • Identity management is a technology that manages the entire life cycle of identities from registration to modification and deletion in various services and systems in order to ensure the safety and convenience of information about individuals and organizations.
  • identity is the total information that identifies an individual, group, organization / company in a certain situation, and includes identifiers, credentials, and attributes.
  • An identifier is information for identifying an identity, and corresponds to an account, an employee number, or the like.
  • the credential is information for indicating the validity of certain information content, and includes a password.
  • An attribute is information that characterizes an identity, such as a name, an address, or a date of birth.
  • SSO Single sign-on
  • SSO is a technology that can use a plurality of applications and services in a single authentication procedure.
  • SSO often integrates authentication provided by multiple applications in a single domain such as an intranet of a single company.
  • SSO is generally realized by a method in which an authentication result is included in an HTTP cookie and the authentication result is shared between applications. Further, such an SSO method has been individually manufactured as an access management product by an SI (System Integration) vendor or a middleware vendor.
  • SI System Integration
  • SAML Security Assertion Markup Language
  • OASIS Organization for the Advancement of Structured Information Standards
  • SAML is a specification in which a representation format of information related to authentication, authorization, and attributes, and a transmission / reception procedure are defined, and is systematically defined to enable various implementation forms according to purposes.
  • the configuration of the subject consists of an identity provider (Identity Provider, hereinafter abbreviated as IdP, referred to as ID provider), a service provider (Service Provider, hereinafter abbreviated as SP, service provider), and a user, issued by an ID provider.
  • IdP Identity Provider
  • SP Service Provider
  • SP Service Provider
  • the first point is that a trust relationship is established between the service provider and the ID provider through business and technical information exchange and consensus building.
  • the second point is that one user has an individual account for each service provider, and the individual SP account and the ID provider account are linked in advance. SSO cannot be started unless these preparations such as the construction of trust relationships and prior account linkage are completed.
  • SSO is realized according to the following procedures (1) to (6).
  • the procedure of SSO via a Web browser will be described.
  • a user requests a service provider to provide a service.
  • the service provider Since the service provider has not yet authenticated the user, the service provider sends an authentication request to the ID provider via the user's Web browser.
  • the ID provider authenticates the user by some means and creates an authentication assertion.
  • SAML does not define authentication means, but defines a mechanism for transmitting an authentication assertion to a service provider.
  • the authentication assertion includes information such as the type of authentication means and how the credentials are created in order to determine whether the service provider can trust the authentication result.
  • the ID provider returns an authentication result including the created authentication assertion to the service provider via the Web browser on the user side.
  • the service provider determines whether to provide the service based on the authentication result of the ID provider.
  • the user receives service provision from the service provider.
  • a user can use a plurality of services without performing a further authentication procedure only by performing a single authentication procedure with an ID provider.
  • middleware vendors that have implemented individual SSO methods sell access management products that implement SAML's ID provider / service provider functions and SAML service providers to ensure cross-domain interoperability. Introduction to commercial Web services that implement functions.
  • SSO based on SAML is only a part of identity “use” in the entire life cycle of identity.
  • SSO when SSO is started, it is necessary to perform account linkage.
  • To perform account linkage management of registration, change, deletion, reissue, suspension, etc. of identities is performed between the service provider and the ID provider. Technology that comprehensively collaborates is required.
  • Account provisioning is a technology that automates registration, change, deletion, reissue, suspension, etc. of identity, and SPML (Service Provisioning Markup Language) is a standard technology.
  • a data processing system that dynamically executes account linkage as a part of SSO from a state where the above-described preparation for account linkage is not completed is known. Normally, when an attempt is made to start SSO in a state where no user account is registered on the service provider side, that is, in a state where account linkage is not performed, an error has occurred.
  • account linkage can be dynamically executed as a part of SSO even in the state described above. Specifically, after the service provider receives a service request from the user, it is confirmed that the service provider does not hold sufficient information for registering the user's account. After confirmation, the service provider requests user attributes from the ID provider, and the ID provider provides the desired user attributes to the service provider. As a result, the data processing system performs account registration and cooperation during the SSO process.
  • the data processing system described above can be realized by a lightweight process of requesting and providing user attributes necessary for account registration of individual users, and does not require a large amount of pre-processing for a large number of users. .
  • the IS (Information System) department registers and links with the service provider.
  • the IS department performs a large amount of pre-processing according to a large number of users belonging to the company in a lump, or after a procedure through a series of approval flows at any timing by the user, the account registration and cooperation for the user I do.
  • a system that performs account registration and linkage during the SSO process has a seamless mechanism for determining service availability without human intervention.
  • the problem to be solved by the present invention is to provide an authentication linkage system and an ID provider device that can determine whether or not a service can be used without manual intervention when performing account registration and linkage during the SSO process.
  • the authentication linkage system of the embodiment is capable of executing login processing on a user terminal operated by a user and having an ID provider device having a first memory, and transmitting service data to the user terminal when the login processing is successful. And a plurality of service provider devices having two memories.
  • the user attribute information storage means of the ID provider device is user attribute information in which an item name of a user attribute for specifying the user and an item value of the user attribute are associated, and at least a user ID for identifying the user Is stored in the item name.
  • the service usage status storage means of the ID provider device is using the user ID, a service provider ID for identifying each service provider device, and service use indicating that transmission of the service data is permitted, or the service data Is stored in association with a service usage status indicating any service not used, which indicates a case where transmission of the service is not permitted.
  • the policy storage unit of the ID provider device stores, for each service provider ID, a plurality of policy information indicating users to whom transmission of service data by the service provider device identified by the service provider ID is permitted. .
  • the partial item name storage means of the ID provider device stores the service provider ID in association with a partial item name among the user attribute item names in the user attribute information.
  • the key storage means of the ID provider device stores its own signature generation key.
  • the ID provider device When the ID provider device receives an authentication cooperation request that is transmitted from any of the service provider devices and includes the service provider ID of the service provider device and the address information of the user terminal, the user terminal in the authentication cooperation request A user authentication request including the address information is sent.
  • the ID provider device transmits a login request to the user terminal based on the address information of the user terminal in the sent user authentication request, and receives the user ID and user authentication information received from the user terminal as the user attribute.
  • a login process for authenticating based on the user ID and the reference information in the information storage means is executed.
  • the ID provider device When the login process is successful, the ID provider device sends a policy evaluation request including the user ID used for the login process and the service provider ID in the authentication cooperation request.
  • the ID provider device reads user attribute information from the user attribute storage means based on the user ID in the transmitted policy evaluation request.
  • the ID provider device reads policy information from the policy storage unit based on the service provider ID in the transmitted policy evaluation request.
  • the transmission permission determining means of the ID provider device is configured to execute, for the read policy information, the read user attribute information, the type of service that the user wants to use, the operation to the service that the user wants to perform, and the user when executing the service. Of the service data according to whether or not the usage fee in the received usage fee response matches the upper limit value of the usage fee indicated in the read policy information. It is determined whether or not transmission is permitted.
  • the ID provider device sends a policy evaluation response including the determination result to the transmission source of the policy evaluation request.
  • the ID provider device sends an account cooperation request including the user ID and service provider ID in the policy evaluation request.
  • the ID provider device reads out some item names of the user attribute from the partial item name storage unit based on the service provider ID in the transmitted account cooperation request.
  • the ID provider device based on the read partial item name and the user ID in the account cooperation request, includes user attribute information including a user ID that matches the user ID in the user attribute storage unit
  • the user attribute partial information including the item name that matches the partial item name and the item value associated with the item name is acquired.
  • the ID provider device creates an account cooperation request message by adding an account registration instruction to the acquired user attribute partial information.
  • the ID provider device transmits the account cooperation request message to the service provider device that is the transmission source of the authentication cooperation request.
  • the ID provider apparatus When the registration completion including the service provider ID of the service provider apparatus and the user ID in the user attribute partial information is notified from the service provider apparatus that is the transmission destination of the account cooperation request message, the ID provider apparatus performs the registration Send account linkage response indicating completion.
  • the ID provider device Based on the service provider ID and user ID included in the registration completion in the transmitted account cooperation response, the ID provider device changes the service usage status in the service usage status storage unit from service unused to service usage. Update.
  • the ID provider device sends an authentication cooperation execution request including a service provider ID and a user ID included in the registration completion in the sent account cooperation response.
  • the ID provider device When the ID provider device receives the authentication cooperation execution request, the ID provider device issues an authentication cooperation ID shared between the service provider device identified by the service provider ID in the authentication cooperation execution request and the self device, and this authentication.
  • the association ID and the user ID in the authentication cooperation execution request are associated and written to the first memory.
  • the ID provider device generates a digital signature based on the signature generation key for an assertion text including the issued authentication cooperation ID and an authentication method name of the login process, and the assertion text and the digital signature Create an authentication assertion that contains.
  • the ID provider device transmits an authentication cooperation response including the created authentication assertion to the service provider device that is the transmission source of the authentication cooperation request.
  • the user attribute partial information storage means of each service provider device associates some item names and item values of the user attribute item names and item values in the user attribute information in the user attribute information storage means.
  • the user attribute partial information and the SP-side user ID for identifying the user in the own apparatus are stored in association with each other.
  • the verification policy storage unit of each service provider device includes an authentication assertion including an authentication method name of a login process that permits transmission of service data when the login process is successful, and a signature verification key corresponding to the signature generation key Store the verification policy.
  • the service data storage means of each service provider device stores the service data.
  • each service provider device When each service provider device receives a service request from the user terminal, the service provider device determines whether the service request includes an authentication token. If the service request includes the authentication token, each service provider device includes the authentication token and the service data storage unit. The service data is transmitted to the user terminal, and if not, an authentication cooperation request including the service provider ID of the own device and the address information of the user terminal is transmitted to the ID provider device.
  • each service provider device Upon receipt of the account cooperation request message, each service provider device issues a new SP-side user ID, and associates the issued SP-side user ID with the user attribute partial information in the account cooperation request message. To the user attribute partial information storage means.
  • each service provider device After the registration, each service provider device notifies the registration completion including the user ID in the registered user attribute partial information and the service provider ID of the own device to the ID provider device that is the transmission source of the account cooperation request message. .
  • each service provider device When each service provider device receives an authentication collaboration response from the ID provider device, the service provider device extracts an authentication collaboration ID from the authentication assertion in the authentication collaboration response, and the extracted authentication collaboration ID and the registered user attribute part The user ID in the information is associated and written to the second memory.
  • Each service provider device verifies the authentication method name and digital signature in the authentication assertion based on the authentication method name and signature verification key in the authentication assertion policy.
  • each service provider device issues an authentication token, and writes the authentication token in the second memory in association with the authentication cooperation ID.
  • Each service provider device sends out a service execution request including the written authentication token and a user ID associated with the authentication token in the second memory via the authentication linkage ID.
  • Each service provider device transmits an authentication token in the service execution request and service data in the service data storage unit to the user terminal based on the transmitted service execution request.
  • FIG. 1 is a schematic diagram showing an authentication collaboration system according to the first embodiment and its peripheral configuration.
  • FIG. 2 is a schematic diagram for explaining the IdP user repository in the embodiment.
  • FIG. 3 is a schematic diagram for explaining a service usage status data store according to the embodiment.
  • FIG. 4 is a schematic diagram for explaining the authentication cooperation policy store in the embodiment.
  • FIG. 5 is a schematic diagram for explaining an SP user setting rule store in the embodiment.
  • FIG. 6 is a schematic diagram for explaining a temporary storage unit in the embodiment.
  • FIG. 7 is a schematic diagram for explaining an authentication assertion in the embodiment.
  • FIG. 8 is a schematic diagram for explaining a trusted IdP store in the embodiment.
  • FIG. 9 is a schematic diagram for explaining an SP user repository in the embodiment.
  • FIG. 1 is a schematic diagram showing an authentication collaboration system according to the first embodiment and its peripheral configuration.
  • FIG. 2 is a schematic diagram for explaining the IdP user repository in the embodiment.
  • FIG. 3 is a schematic diagram for explaining
  • FIG. 10 is a schematic diagram for explaining a service data store in the embodiment.
  • FIG. 11 is a schematic diagram for explaining a usage status store in the embodiment.
  • FIG. 12 is a schematic diagram for explaining a temporary storage unit in the embodiment.
  • FIG. 13 is a schematic diagram for explaining a verification policy store in the embodiment.
  • FIG. 14 is a schematic diagram showing an outline of the overall operation in the embodiment.
  • FIG. 15 is a sequence diagram showing a process flow of user authentication in the embodiment.
  • FIG. 16 is a block diagram showing an example of components necessary for user authentication processing in the embodiment.
  • FIG. 17 is a sequence diagram showing a processing flow of authentication cooperation policy evaluation in the embodiment.
  • FIG. 18 is a block diagram illustrating an example of components necessary for the authentication cooperation policy evaluation process in the embodiment.
  • FIG. 19 is a sequence diagram showing a process flow of account cooperation in the embodiment.
  • FIG. 20 is a block diagram showing an example of components necessary for account linkage processing in the embodiment.
  • FIG. 21 is a sequence diagram showing a processing flow of authentication cooperation in the embodiment.
  • FIG. 22 is a block diagram showing an example of components necessary for authentication cooperation processing in the embodiment.
  • FIG. 23 is a schematic diagram for explaining a usage status store according to the second embodiment.
  • FIG. 24 is a schematic diagram for explaining a service usage status store in the embodiment.
  • FIG. 25 is a schematic diagram for explaining a usage status store according to the third embodiment.
  • FIG. 26 is a schematic diagram for explaining a service usage status store in the embodiment.
  • Each device can be implemented with either a hardware configuration or a combination configuration of hardware resources and software.
  • the software of the combined configuration a program that is installed in advance on a computer of a corresponding device from a network or a storage medium and that realizes the function of the corresponding device is used.
  • FIG. 1 is a schematic diagram showing an authentication collaboration system according to the first embodiment and its peripheral configuration
  • FIGS. 2 to 13 are schematic diagrams for explaining a repository, a store, a storage unit, and the like in the same embodiment.
  • This authentication collaboration system includes an ID provider device 200 that can execute a login process on a user terminal 100 operated by a user, a service provider device 300 that can transmit service data to the user terminal 100 when the login process is successful, and It has. Although there are a plurality of service provider devices 300, only one is shown here.
  • the user terminal 100 is a device having a normal computer function and capable of communicating with the ID provider device 200 and each service provider device 300. For example, a service request is sent to the service provider device 300 according to a user operation.
  • the CPU executes a function of transmitting data to the ID provider apparatus 200, a function of executing login processing with the ID provider apparatus 200, a function of receiving service data from the service provider apparatus 300, and a service use application program stored in the memory in advance. Thus, it has a function of reproducing the received service data.
  • the ID provider device 200 manages user identities, and includes an IdP user repository 201, a service usage status store 202, an authentication cooperation policy store 203, an SP user setting rule store 204, a temporary storage unit 205, a key storage unit 206, An IdP authentication cooperation unit 207, an authentication cooperation handling unit 208, an authentication cooperation policy evaluation unit 209, and an IdP account provisioning unit 210 are provided.
  • the IdP user repository 201 stores identity information (hereinafter referred to as “user attribute information”) related to a user of an organization in which the ID provider device 200 is arranged.
  • the IdP user repository (user attribute information storage unit) 201 has user attribute information 201a in which an item name of a user attribute for specifying a user is associated with an item value of the user attribute.
  • the item name includes a user ID for identifying the user, the user's name, the user's affiliation, the user's title, the user terminal address information, and the reference information referred to during the user login process.
  • the user attribute information 201a is stored.
  • the user attribute information 201a is a collection of information characterizing personal information. Examples of the user attribute information 201a include the user's name, the user's affiliation, the user's title, the user terminal address information, and the user login process. Reference information that is sometimes referred to. However, the present invention is not limited to these, and may include arbitrary item names and item locations such as a telephone number and work status. In addition, in the present embodiment, a password is used as reference information to be referred to at the time of user login processing. However, the reference information is not limited thereto, and may be biometric authentication information such as a user's fingerprint.
  • the service usage status store 202 is referred to by the authentication cooperation policy evaluation unit 209 and stores the usage status of the service. Specifically, as shown in FIG. 3, the service usage status store (service usage status storage means) 202 stores a user usage management table 202a and a usage count management table 202b.
  • the user use management table 202a includes a user ID, a service provider ID (SP (1) to SP (N)) for identifying each service provider device 300, and a service in use indicating that transmission of service data is permitted. Alternatively, it is written in association with a service usage status indicating any service not used indicating that transmission of service data is not permitted.
  • the service usage status is not limited to the service being used and the service not being used, for example, a service based on a service suspension based on a suspension request received from the user terminal 100 and / or a service based on a use termination request received from the user terminal 100 End of use may be included. Further, the service use end may include a case where the ID provider device 200 invalidates the use of the idle user when the current number of uses exceeds the upper limit value. Further, as shown in FIG. 3, the usage number management table 202b is written in association with the usage number indicating the number of services in use indicated by the service usage status in the user management table 202a and the upper limit value of the usage number.
  • the authentication collaboration policy store 203 is referred to by the authentication collaboration policy evaluation unit 209 and stores the authentication collaboration policy. Specifically, as shown in FIG. 4, the authentication cooperation policy store (policy storage unit) 203 is permitted to transmit service data by the service provider device 300 identified by the service provider ID for each service provider ID. A plurality of authentication linkage policies (policy information) 203a (203aA, 203aB, 203aC,%) Indicating the affiliation and title of the user are stored.
  • the authentication cooperation policy 203a further includes the number of service usages and usage-based charging. May include a dynamic policy (for example, C [4] in FIG. 4).
  • a policy generally defines who (subject) can perform what kind of operation (action) for which system resource (resource) (that is, permit or deny). Refers to a collection of access permission conditions. Optionally, environmental conditions and responsibilities are also defined.
  • “subject” is a name, title, affiliation, etc.
  • “resource” is a service provider ID or URL
  • “action” is the start or resumption of use
  • “environmental condition” is any request This corresponds to the IP address of the user who performs the access, the accessible period and time, and the like.
  • the “responsibility condition” is a task imposed by the authentication cooperation handling unit 208 upon execution of authentication cooperation in response to the result of policy (accessibility condition) evaluation. For example, an instruction such as “Allow a request to“ register a new user ”, but instead execute“ deleting an ID of an idle user ”without fail” (for example, in FIG. 4).
  • B [4] [Responsibility conditions]).
  • SP user setting rule store (partial item name storage means) 204 stores user setting rules 204a as shown in FIG.
  • the user setting rule 204 a is written in association with the service provider ID and some item names of the user attribute item names in the user attribute information 201 a stored in the IdP user repository 201.
  • the temporary storage unit (first memory) 205 is a temporary memory such as a RAM, and stores, for example, an authentication cooperation ID and a user ID in association with each other as shown in FIG.
  • the key storage unit 206 stores the signature generation key of the own device 200.
  • the signature generation key for example, a secret key of a key pair of a public key and a secret key in the public key cryptosystem can be used.
  • the IdP authentication linkage unit 207 has a single sign-on ID provider function. Specifically, the IdP authentication cooperation unit 207 has the following functions (f207-1) to (f207-4), for example.
  • a login request is transmitted to the user terminal 100, and the user ID received from the user terminal 100 and A function of executing login processing for authenticating user authentication information based on the user ID and reference information in the IdP user repository 201.
  • the authentication cooperation ID shared between the service provider apparatus 300 identified by the service provider ID in the authentication cooperation execution request and the self apparatus 200 Is issued, and the authentication cooperation ID and the user ID in the authentication cooperation execution request are associated with each other and written in the temporary storage unit 205.
  • a digital signature based on the signature generation key in the key storage unit 206 is generated for the assertion body including the issued authentication linkage ID and the authentication method name of the login process, as shown in FIG. A function of creating an authentication assertion 207a including the assertion text and the digital signature.
  • F207-4 A function of transmitting an authentication cooperation response including the created authentication assertion 207a to the service provider apparatus 300 that is the transmission source of the authentication cooperation request.
  • the authentication cooperation handling unit 208 After receiving the authentication cooperation request from the service provider apparatus 300, the authentication cooperation handling unit 208 handles a series of processes including policy evaluation processing, account cooperation processing, and ID provider authentication cooperation processing. Specifically, the authentication cooperation handling unit 208 has the following functions (f208-1) to (f208-5), for example.
  • (f208-4) A function to update the service usage status in the service usage status store 202 from the service not used to the service usage based on the service provider ID and the user ID included in the registration completion in the transmitted account cooperation response .
  • (F208-5) A function of sending an authentication cooperation execution request including the service provider ID and the user ID included in the registration completion in the account cooperation response sent from the IdP account provisioning unit 210 to the IdP authentication cooperation unit 207.
  • the authentication cooperation policy evaluation unit 209 receives the policy evaluation request from the authentication cooperation handling unit 208, and performs policy evaluation based on the authentication cooperation policy 203a defined in advance and the service usage status. Specifically, the authentication cooperation policy evaluation unit 209 has the following functions (f209-1) to (f209-4), for example.
  • (F209-4) A function for sending a policy evaluation response including the determination result to the authentication cooperation handling unit 208 that is the transmission source of the policy evaluation request.
  • the IdP account provisioning unit 210 receives the account cooperation request from the authentication cooperation handling unit 208 and executes account provisioning for the service provider apparatus 300. Specifically, the IdP account provisioning unit 210 has the following functions (f210-1) to (f210-5), for example.
  • (F210-1) A function to read out some item names of the user attribute from the SP user setting rule store 204 based on the service provider ID in the transmitted account cooperation request.
  • a function for acquiring user attribute partial information including an item name that matches a part of the item name and an item value associated with the item name is a function for acquiring user attribute partial information including an item name that matches a part of the item name and an item value associated with the item name.
  • F210-3 A function to create an account cooperation request message by adding an account registration instruction to the acquired user attribute partial information.
  • F210-4) A function to send an account cooperation request message to the service provider device 300 that is the source of the authentication cooperation request.
  • the service provider device 300 provides a service used by a user, and includes a trusted IdP store 301, an SP user repository 302, a service data store 303, a usage status store 304, a temporary storage unit 305, a verification policy store 306, An SP authentication cooperation unit 307, a usage status providing unit 308, an SP account provisioning unit 309, and a service data communication unit 310 are provided.
  • the trusted IdP store 301 stores an IdP list (ID provider list) 301 a including an ID provider ID list for identifying the ID provider device 200.
  • the SP user repository 302 stores identity information of users who use service data transmitted by the service data communication unit 310.
  • the SP user repository (user attribute partial information storage means) 302 is one of item names and item values of user attributes in the user attribute information 201a in the IdP user repository 201, as shown in FIG.
  • the user attribute partial information 302a in which the item name and the item value of each part are associated with each other and the SP-side user ID for identifying the user in the own apparatus 300 are stored in association with each other.
  • the service data store 303 stores service data 303a as shown in FIG.
  • the service data 303a is arbitrary data transmitted to the user terminal 100 as a target of service provision (service data transmission) by the service provider device 300.
  • the usage status store 304 stores a user usage management table 304a and a usage count management table 304b as shown in FIG.
  • the user usage management table 304a is a service that indicates either a user ID and a service that indicates that the service data 303a is permitted to be transmitted or a service that is not permitted to transmit the service data 303a.
  • the usage count management table 304b is written in association with the usage count indicating the number of services in use indicated by the service usage status in the user management table and the upper limit value of the usage count.
  • the temporary storage unit (second memory) 305 is a temporary memory such as a RAM or the like. As shown in FIG. 12, for example, the authentication linkage ID extracted from the authentication assertion 207a and the registered user attribute partial information The user ID in 302a and the issued authentication token are stored in association with each other.
  • the verification policy store 306 includes an authentication method name of the login process that permits transmission of the service data 303a when the login process is successful, and a signature verification key corresponding to the signature generation key of the ID provider device 200. And stores an authentication assertion verification policy.
  • the signature verification key for example, a public key of a key pair of a public key and a secret key in the public key cryptosystem can be used.
  • the SP authentication linkage unit 307 has a single sign-on service provider function. Specifically, the SP authentication cooperation unit 307 has the following functions (f307-1) to (f307-5), for example.
  • the authentication cooperation ID is extracted from the authentication assertion 207a in the authentication cooperation response, and the extracted authentication cooperation ID and the registered user attribute partial information 302a A function of associating a user ID in the temporary storage unit 305 with the user ID.
  • F307-3 A verification function for verifying the authentication method name and the digital signature in the authentication assertion 207a based on the authentication method name and the signature verification key in the authentication assertion verification policy in the verification policy store 306, respectively.
  • (F307-4) A function that issues an authentication token and writes the authentication token in the temporary storage unit 305 in association with the authentication linkage ID when both of the verified results are valid.
  • (F307-5) A function of sending a service execution request including the written authentication token and the user ID associated with the authentication token via the authentication linkage ID in the temporary storage unit 305 to the service data communication unit 310.
  • the usage status providing unit 308 searches the usage status store 304 based on the user ID included in the usage status transmission request, and performs the search. It has a function to transmit the service usage status obtained by.
  • the SP account provisioning unit 309 performs account provisioning for the SP user repository 302 based on the account provisioning request (account cooperation request message) received from the IdP account provisioning unit 210 of the ID provider device 200.
  • the SP account provisioning unit 309 has the following functions (f309-1) to (f309-2), for example.
  • the service data communication unit 310 transmits the authentication token in the service execution request and the service data 303a in the service data store 303 to the user terminal 100 based on the service execution request sent from the SP authentication cooperation unit 307.
  • the operation of the authentication collaboration system configured as described above will be described with reference to FIGS.
  • the following explanation is based on a situation in which the SSO is possible between the ID provider device 200 and the service provider device 300, and a user belonging to the organization on the ID provider side has no account registered in the service provider device 300. Be started. Further, in this state, when the user makes a service request, the ID provider device 200 determines whether or not the authentication cooperation policy 203a is satisfied, and if so, by registering the user account on the service provider device 300 side.
  • a typical process in which the SSO between the ID provider device 200 and the service provider device 300 is executed and the service data 303a is transmitted from the service provider device 300 will be described as an example.
  • step ST10 user authentication in step ST10 (ST11 to ST18), authentication linkage policy evaluation in step ST20 (ST21 to ST27), account linkage in step ST30 (ST31 to ST37), and authentication linkage in step ST40 (ST41) To ST49) will be described separately.
  • a user belonging to the organization on the ID provider side transmits a service request from the user terminal 100 to the service provider apparatus 300 while the user account is not registered in the service provider apparatus 300.
  • the ID provider device 200 authenticates the user on behalf of the service provider device 300.
  • step ST11 the user operates the user terminal 100 in order to use the service on the service provider device 300 side.
  • the user terminal 100 transmits a service request to the service provider apparatus 300 by a user operation.
  • the SP authentication linkage unit 307 responsible for access management catches the service request.
  • step ST12 upon receiving a service request from the user, the SP authentication cooperation unit 307 determines whether or not the service request includes an authentication token. For example, when the service request from the user is in the form of an HTTP request, it is confirmed that the authentication token issued by the service provider device 300 exists in the cookie included in the HTTP request.
  • the service provider apparatus 300 provides the user with the service requested by the service request. That is, when the SP authentication cooperation unit 307 determines that the service request includes an authentication token, the service data communication unit 310 transmits the authentication token and the service data 303a in the service data storage unit 303 to the user terminal 100. . Specifically, the SP authentication cooperation unit 307 generates a service execution request including an authentication token in the service request and a user ID associated with the authentication token via the authentication cooperation ID in the temporary storage unit 305 as service data. The data is sent to the communication unit 310.
  • step ST13 is executed. As will be described later, when steps ST13 and ST14 are omitted, step ST15 is executed.
  • the SP authentication cooperation unit 307 causes the trusted IdP store 301 to list an IdP list 301a that lists ID provider IDs indicating ID providers that have established a trust relationship in advance in order to allow the user to select an ID provider to which the user belongs. Is transmitted to the user terminal 100.
  • the IdP list 301a may be called an ID provider list.
  • step ST14 the user terminal 100 displays the IdP list 301a received from the service provider device 300 and prompts the user to select an ID provider to which the user terminal 100 belongs. Thereafter, the user terminal 100 transmits the selected ID provider ID to the service provider apparatus 300 by the user's operation. If the service request includes the designation of the ID provider, or if the service provider device 300 only cooperates with the ID provider device 200 of one ID provider, the selection of the ID provider is unnecessary. ST13 to ST14 are omitted.
  • step ST15 based on the ID provider ID received from the user terminal 100, the service provider apparatus 300 requests an authentication cooperation request from the ID provider apparatus 200 identified by the ID provider ID.
  • the authentication cooperation request may be transmitted directly from the service provider apparatus 300 toward the ID provider apparatus 200, or may be transmitted in a form of being redirected once through the user terminal 100.
  • the authentication cooperation request includes the service provider ID of the own device 300 and the address information of the user terminal 100.
  • the authentication cooperation handling unit 208 of the ID provider device 200 intercepts the message addressed to the ID provider device 200.
  • the authentication cooperation handling unit 208 analyzes the message and confirms that the message is an authentication cooperation request
  • the authentication cooperation handling unit 208 starts the authentication cooperation processing and includes a user authentication request including the address information of the user terminal 100 in the authentication cooperation request. Is sent to the IdP authentication cooperation unit 207.
  • the service provider apparatus 300 retransmits the message to a desired destination in a form mediated by the authentication cooperation handling unit 208.
  • step ST17 when receiving the user authentication request, the IdP authentication cooperation unit 207 executes login processing for user identification and authentication based on the user authentication request.
  • the IdP authentication cooperation unit 207 transmits a login request to the user terminal 100 based on the address information of the user terminal 100 in the transmitted user authentication request, and receives the user received from the user terminal 100.
  • the ID and user authentication information are authenticated based on the user ID and reference information in the IdP user repository 201.
  • step ST18 when the login process in step ST17 is successful, the IdP authentication cooperation unit 207 notifies the authentication cooperation handling unit 208 of a user authentication completion message including the user ID used for the login process and the success of the authentication. .
  • step ST10 the user authentication (ST11 to ST18) in step ST10 is completed.
  • step ST20 After the user authentication is completed, the service utilization status, the user attribute information 201a, and the authentication collaboration policy 203a are used as input values, the authentication collaboration policy evaluation is performed, and the user's service request is permitted. .
  • description will be made with reference to the sequence diagram of FIG. 17 and the schematic diagram of FIG.
  • step ST21 the authentication collaboration handling unit 208 analyzes the user authentication completion message received in step ST18 and confirms that the login process has been successful.
  • the authentication cooperation handling unit 208 sends a policy evaluation request for the user service request to the authentication cooperation policy evaluation unit 209.
  • the policy evaluation request includes the user ID acquired in the process of step ST17, that is, the user's IdP account and the service provider ID in the authentication cooperation request.
  • the authentication collaboration policy evaluation unit 208 collects information necessary for evaluation of the authentication collaboration policy 203a.
  • step ST22 the authentication cooperation policy evaluation unit 209 reads the service usage status of the user from the service usage status store 202 based on the user ID and the service provider ID in the policy evaluation request.
  • step ST22 is omitted when a static policy evaluation is executed as described later. The same applies to step ST23.
  • the service usage status store 202 manages two information groups as shown in FIG. For example, as illustrated in the upper part of FIG. 3, usage status information regarding a single or a plurality of service provider devices 300 with which the ID provider device 200 cooperates is stored for each user. For example, for the record with the user ID user_0020 in FIG. 10, SP (1) is not in service, SP (2) is in service, SP (3) is in service suspension, and SP (N) is in service. Indicates the state of end of use. As shown in the lower part of FIG. 3, the number of users who use each service provider device 300 and the upper limit value of the number of users who can use the service provider device 300 are stored for each service provider device 300.
  • the user ID is user_0001 and the service provider device 300 requested by the user is SP (1) using FIG.
  • step ST23 the authentication cooperation policy evaluation unit 209 acquires the usage status of the user managed by the service provider device 300 from the usage status providing unit 308 based on the user ID in the policy evaluation request.
  • step ST23 is not executed in the case where the usage status of all other service provider devices 300 other than the service provider device 300 desired by the user is not in use as in this embodiment. According to FIG. 3, this corresponds to the record with the user ID user_0001.
  • the user IDs in FIG. 3 are user_0020 and user_1000.
  • a situation in which such a case occurs is when it is desired to include information managed not on the ID provider side but on the other service provider apparatus 300 side as an evaluation index of the authentication cooperation policy 203a.
  • information managed on the other service provider apparatus 300 side there is a cost imposed when the user uses the service, that is, a metered charge.
  • dynamic access control not only the above-mentioned pay-per-use billing but also the current number of services used and the upper limit value thereof may be managed, for example.
  • step ST24 the authentication cooperation policy evaluation unit 209 reads the user attribute information 201a from the IdP user repository 201 based on the user ID in the policy evaluation request.
  • the attribute information of the user is as shown in FIG.
  • the authentication collaboration policy evaluation unit 209 reads the authentication collaboration policy 203a from the authentication collaboration policy store 203 based on the service provider ID in the policy evaluation request.
  • the first authentication collaboration policy (policy when using SP (1)) 203aA associated with A in the figure is read as a search result.
  • step ST26 when executing the static policy evaluation, the authentication cooperation policy evaluation unit 209 determines whether the user attribute information 201a read out in step ST24 is assigned to the affiliation and the position indicated in the authentication cooperation policy 203aA read out in step ST25. It is determined whether or not transmission of the service data 303a is permitted depending on whether or not the affiliation and position of the user are matched.
  • the policy is based on the service usage status, user attribute information 201a and authentication linkage policy 203aA acquired through steps ST22, ST24, and ST25. Perform the evaluation.
  • the service use conditions [1] to [4] are defined in advance in the authentication cooperation policy 203aA ([4] is undefined in the case of static policy evaluation), and the collected service use status, user It is confirmed as follows that the attribute information 201a satisfies all these service usage conditions. As a result, permission is granted for the user's service request.
  • the authentication collaboration policy 203a indicates that the part to which the user belongs is X.
  • the user's affiliation in the user attribute is “X department”. Therefore, the condition [1] in the authentication cooperation policy 203a is satisfied.
  • Authentication cooperation policy 203aA [2]: The authentication cooperation policy 203a indicates that the section to which the user belongs is Y. On the other hand, as shown in FIG. 2, the user's department in the user attribute is “Y section”. Therefore, the condition [2] in the authentication cooperation policy 203a is satisfied.
  • the authentication collaboration policy 203a indicates that the user's job title is Z or higher. On the other hand, as shown in FIG. 2, the title of the user in the user attribute is “Z job”. Therefore, the condition [3] in the authentication cooperation policy 203a is satisfied.
  • the authentication cooperation policy 203a indicates that the number of accounts in use does not exceed the upper limit. On the other hand, as shown in FIG. 3, the number of uses of the service is 10, which does not exceed the upper limit value 100. Therefore, the condition [4] in the authentication collaboration policy 203a is satisfied.
  • the authentication linkage policy evaluation for the user service request is performed using the collected service usage status and the user attribute information 201a. Note that if it is confirmed that even one of the above conditions is not satisfied, the result of the authentication cooperation policy evaluation is rejected.
  • step ST27 the authentication collaboration policy evaluation unit 209 sends the policy evaluation result including the determination result in step ST26 to the authentication collaboration handling unit 208 as a policy evaluation response.
  • step ST20 the authentication cooperation policy evaluation (ST21 to ST27) in step ST20 is completed.
  • a user account is created in the SP user repository 302 of the service provider apparatus 300 based on a policy evaluation response (when service data transmission permission is indicated) obtained by the authentication cooperation policy evaluation.
  • a policy evaluation response when service data transmission permission is indicated
  • step ST31 the authentication cooperation handling unit 208 confirms the policy evaluation result included in the policy evaluation response sent in step ST27, and if the service request is permitted, the user ID and the service provider ID in the policy evaluation request, An IdP account provisioning unit 210 is requested for an account cooperation request including Note that if the policy evaluation result indicates refusal to use the service, the user terminal 100 is notified of the refusal to use the service.
  • the case where the policy evaluation result is permitted is taken as an example, and the following steps ST32 to ST37 will be described.
  • the IdP account provisioning unit 210 reads the user setting rule 204a from the SP user setting rule store 204 based on the service provider ID (for example, SP (1)) in the transmitted account linkage.
  • the user setting rule 204a includes, for example, item names of necessary user attributes required for each service provider apparatus 300 (partial item names of user attributes) when performing account registration with the service provider apparatus 300.
  • the IdP account provisioning unit 210 has read out some item names of the user attribute as the user setting rule 204a.
  • the IdP account provisioning unit 210 includes a user ID that matches the user ID in the IdP user repository 201 based on the partial item name read in step ST32 and the user ID in the account cooperation request.
  • the user attribute information 201a necessary user attribute information (user attribute partial information) including an item name matching the partial item name and an item value associated with the item name is acquired.
  • the IdP account provisioning unit 210 creates an account cooperation request message by adding an account registration instruction to the acquired user attribute partial information. For example, the IdP account provisioning unit 210 associates the type of operation of the SP user repository 302 with the user attribute partial information acquired in step ST33 targeted by the operation based on the operation interface disclosed by the SP account provisioning unit 309. To create an SP account cooperation request message. In this embodiment, since the user account is not registered on the service provider apparatus 300 side, account registration is designated as the type of operation.
  • step ST35 the IdP account provisioning unit 210 transmits the created SP account cooperation request message to the service provider apparatus 300 that is the transmission source of the authentication cooperation request.
  • the SP account cooperation request message is received by the SP account provisioning unit 309 in the service provider apparatus 300.
  • the SP account provisioning unit 309 newly issues an SP-side user ID (user ID on the service provider device 300 side) based on the received SP account cooperation request message, and the SP-side user ID and the account cooperation request.
  • the user attribute partial information 302a in the message is associated and registered in the SP user repository 302.
  • the SP account provisioning unit 309 notifies the registration completion including the user ID in the registered user attribute partial information 302a and the service provider ID of the own device to the ID provider device 200 that is the transmission source of the account cooperation request message. Specifically, the completion of registration is notified to the IdP account provisioning unit 210 in the ID provider device 200.
  • step ST37 when the registration completion is notified, the IdP account provisioning unit 210 sends an account cooperation response indicating the completion of registration to the authentication cooperation handling unit 208.
  • step ST30 the account linkage (ST31 to ST37) in step ST30 is completed.
  • step ST40 after the account collaboration is completed, authentication collaboration, that is, SSO is performed between the ID provider device 200 and the service provider device 300.
  • SSO authentication collaboration
  • step ST41 the authentication cooperation handling unit 208 analyzes the result included in the account cooperation response notified in step ST37. If there is no problem in the result, the authentication linkage handling unit 208 determines the service usage status in the service usage status store 202 based on the service provider ID and the user ID included in the registration completion in the transmitted account linkage response. Update from unused to using service. As a result, in the service usage status store 202, the usage status of the service provider device 300 requested by the user is changed from a service unused status to a service usage status.
  • step ST42 the authentication cooperation handling unit 208 sends an authentication cooperation execution request including the service provider ID and the user ID included in the registration completion in the account cooperation response to the IdP authentication cooperation unit 207.
  • step ST43 when the IdP authentication cooperation unit 207 receives the authentication cooperation execution request, the authentication cooperation ID shared between the service provider apparatus 300 identified by the service provider ID in the authentication cooperation execution request and the self apparatus 200 is shared. And the authentication cooperation ID and the user ID in the authentication cooperation execution request are associated and written in the temporary storage unit 205.
  • the IdP authentication cooperation unit 207 creates an assertion body including the issued authentication cooperation ID and the authentication method name of the login process performed in step ST17. Also, the IdP authentication cooperation unit 207 generates a digital signature based on the signature generation key in the key storage unit 206 for the assertion text. Further, the IdP authentication cooperation unit 207 creates an authentication assertion 207a including the assertion text and the digital signature.
  • step ST45 the IdP authentication cooperation unit 207 transmits an authentication cooperation response including the created authentication assertion 207a to the service provider apparatus 300 that is the transmission source of the authentication cooperation request. This authentication cooperation response is received by the SP authentication cooperation unit 307 of the service provider apparatus 300.
  • step ST46 upon receiving the authentication cooperation response, the SP authentication cooperation unit 307 extracts the authentication cooperation ID from the authentication assertion 207a in the authentication cooperation response, and the extracted authentication cooperation ID and the SP user repository 302 in step ST36. Is stored in the temporary storage unit 305 in association with the user ID in the user attribute partial information 302 a registered in the temporary storage unit 305.
  • step ST47 the SP authentication cooperation unit 307 verifies the authentication method name and the digital signature in the authentication assertion 207a based on the authentication method name and the signature verification key in the authentication assertion verification policy. Accordingly, the SP authentication cooperation unit 307 determines whether or not the authentication result of the ID provider device 200 can be trusted from the authentication assertion 207a issued by the ID provider device 200, and determines whether service data transmission (service provision) to the user is possible. decide. In the present embodiment, it is determined that all the verification results are valid, and the service data transmission is permitted.
  • step ST48 the SP authentication cooperation unit 307 issues an authentication token when it is determined to be permitted in step ST47, and writes this authentication token in the temporary storage unit 305 in association with the authentication cooperation ID.
  • step ST49 the SP authentication cooperation unit 307 sends a service execution request including the written authentication token and the user ID associated with the authentication token via the authentication cooperation ID in the temporary storage unit 305 to the service data communication unit.
  • the service data communication unit 310 transmits the authentication token in the service execution request and the service data 303a in the service data store 303 to the user terminal 100 based on the transmitted service execution request.
  • the authentication collaboration handling unit 208 provided in the ID provider device 200 in response to a service request from the user to the service provider device 300, sends an authentication collaboration request from the service provider device 300. Intercept and determine whether or not the service data 303a can be transmitted based on the authentication cooperation policy 203a defined in advance. If the determination result is permission, the user attribute information 201a managed in the ID provider device 200 is used to create the user account for the SP user repository 302 managed in the service provider device 300. To do. Thereafter, each of the ID provider device 200 and the service provider device 300 performs a conventional authentication linkage process, and a desired service is provided from the service provider device 300 to the user.
  • the second embodiment is a specific example when step ST23 of the first embodiment is executed.
  • a case where the user of the user terminal 100 that transmitted the service request is already using other various service providers and newly uses another service provider will be described as an example.
  • step ST23 of the first embodiment the usage fee of each service provider being used by the user is used as an index for the authentication collaboration policy evaluation, and the upper limit value of the usage fee is set in advance for the authentication collaboration policy 203a. (For example, C [4] in FIG. 4), it is possible to refuse new use of another service provider.
  • the usage status store 304 of the service provider device 300 stores the user ID in association with the usage fee accumulated for the service usage status in the user usage management table 304a. To do.
  • the usage status providing unit 308 searches the usage status store 304 based on the user ID in the usage fee transmission request, and obtains the result of the search.
  • a usage fee response including the received usage fee and the user ID is transmitted to the ID provider device 200.
  • one of the authentication collaboration policies 203a in each authentication collaboration policy store 203 in the authentication collaboration policy store 203 is associated with the service provider ID and is identified by the service provider ID. It shows the affiliation and title of a user who is permitted to transmit the service data 303a by the apparatus 300, and the upper limit value of the user's usage fee (for example, [4] in FIG. 4C).
  • the authentication cooperation policy evaluation unit 209 determines the service provider device 300 identified by the service provider ID based on the user ID and the service provider ID in the policy evaluation request sent from the authentication cooperation handling unit 208.
  • a function of transmitting a usage fee transmission request including the user ID and receiving a usage fee response including the user ID and the usage fee from the service provider device 300 is further provided.
  • the received usage fee may be written in the user usage management table 202a in the service status store 202 in association with the user ID and the service provider ID as shown in FIG.
  • the above-described transmission permission determination function of the authentication collaboration policy evaluation unit 209 performs the read policy when the authentication collaboration policy 203a read from the authentication collaboration policy store 203 includes the user affiliation and job title and the upper limit of the usage fee. Whether the affiliation and position in the user attribute information 201a read from the IdP user repository 201 matches the affiliation and position indicated in the information, and the upper limit value of the usage fee indicated in the read policy information This function determines whether to permit transmission of the service data 303a according to whether the usage fee in the usage fee response received from the provider device 300 is appropriate.
  • Whether to permit transmission of the service data 303a may be determined according to whether the usage fee is appropriate.
  • step ST10 the user authentication (ST11 to ST18) in step ST10 is executed as described above.
  • step ST21 policy evaluation request
  • step ST22 service usage status search
  • step ST23 the authentication cooperation policy evaluation unit 209 determines the service provider apparatus 300 identified by the service provider ID based on the user ID and the service provider ID in the policy evaluation request sent from the authentication cooperation handling unit 208. On the other hand, a usage fee transmission request including the user ID is transmitted.
  • the usage status providing unit 308 of the service provider device 300 searches the usage status store 304 based on the user ID in the usage fee transmission request, and sends a usage fee response including the usage fee obtained by the search and the user ID. Transmit to the ID provider device 200.
  • the authentication cooperation policy evaluation unit 209 of the ID provider device 200 receives this usage fee response.
  • step ST24 search for user attribute information 201a
  • step ST25 search for authentication cooperation policy 203a
  • the authentication cooperation policy 203a includes the upper limit value of the usage fee.
  • step ST26 when the authentication cooperation policy 203a read from the authentication cooperation policy store 203 includes the user's affiliation, job title, and upper limit of the usage fee, the authentication cooperation policy evaluation unit 209 affiliation indicated in the read policy information. And whether or not the affiliation and position in the user attribute information 201a read from the IdP user repository 201 are compatible with the position and the upper limit of the usage fee indicated in the read policy information is received from the service provider apparatus 300 Whether or not transmission of the service data 303a is permitted is determined according to whether or not the usage fee in the usage fee response matches.
  • step ST27 (policy evaluation response), account linkage (ST31 to ST37) in step ST30, and authentication linkage (ST41 to ST49) in step ST40 are executed as described above.
  • the first embodiment smooth service use is possible, and convenience is improved.
  • useless service use is not preferable for a profit organization such as a company. Therefore, it is desirable to provide a mechanism for controlling usage management dynamically and flexibly according to the service usage status at the user or organization level.
  • the present embodiment and the third embodiment can realize an authentication linkage system having such a mechanism.
  • the third embodiment is another specific example when step ST23 of the first embodiment is executed.
  • the service provider apparatus 300 will be described by taking as an example a case where a service request is newly received in a situation where the number of users using the service is at the upper limit.
  • the usage number of the service provider is used as an index for the authentication collaboration policy evaluation, and an additional condition is defined in advance for the authentication collaboration policy 203a when the usage number exceeds the upper limit (B in FIG. 4). [4]). If there are idle users managed in the ID provider device 200 in the additional conditions defined in advance, the idle user account managed in the service provider device 300 is deleted or invalidated, and the account registration of a new user is performed. (4) [Responsibility condition] of [4] in FIG. 4B). In this way, when the number of uses exceeds the upper limit, the number of uses exceeds the upper limit by the authentication cooperation policy 203a having a duty condition of invalidating the account of the idle user and assigning a free frame to the application user account. Even in the case of exceeding, it is possible to start a quick service use as required according to the usage situation in the ID provider.
  • any one of the authentication cooperation policies 203a in the authentication cooperation policy store 203 in the authentication cooperation policy store 203 is associated with the service provider ID and service data 303a by the service provider device 300 identified by the service provider ID. If the user's affiliation and job title that are permitted to be transmitted and the number of users exceeds the upper limit, there must be a user whose period from the last use date to the present time is equal to or longer than the predetermined period. And invalidating the user attribute partial information 302a of the existing user (for example, [4] in FIG. 4B).
  • the “number of users” means a value equal to the “current number of users” in the service usage status store 202.
  • the usage status store 304 of the service provider apparatus 300 displays the user ID and the last date on which the service data 303a is transmitted in addition to the stored contents in the user usage management table 304a.
  • the last use date information including the last use date to be shown is stored.
  • the usage status providing unit 308 has a function of transmitting the last usage date information in the usage status store 304 to the ID provider device 200 when receiving the final usage date transmission request from the ID provider device 200.
  • the authentication cooperation policy evaluation unit 209 of the ID provider device 200 uses the service usage status store 202 based on the service provider ID in the policy evaluation request sent from the authentication cooperation handling unit 208, and Based on the function of reading the upper limit value and the service provider ID in the transmitted policy evaluation request, the service provider device 300 identified by the service provider ID transmits a last use date transmission request, and the service provider And a function of receiving last use date information from the device 300.
  • the received last usage date information may be written in the user usage management table 202a in the service status store 202 in association with the user ID and the service provider ID, as shown in FIG. .
  • the above-described transmission permission determination function of the authentication collaboration policy evaluation unit 209 exceeds the upper limit of the user affiliation, job title, and number of uses in the authentication collaboration policy 203a read from the authentication collaboration policy store 203.
  • the affiliation and the position indicated in the read authentication cooperation policy 203a are read from the IdP user repository 201 If the affiliation and job title in the user attribute information 201a match, and if the number of usages read from the service usage status store 202 exceeds the upper limit value read from the service usage status store 202, a final usage date transmission request is issued.
  • Transmitted to the service provider device 200 and the service provider device 2 A function for determining whether or not transmission of the service data 303a is permitted depending on whether or not the last use date in the last use date information received from 0 is longer than a predetermined period in the read-out authentication cooperation policy 203a Have
  • step ST10 the user authentication (ST11 to ST18) in step ST10 is executed as described above.
  • step ST21 policy evaluation request
  • step ST22 service usage status search
  • step ST23 the authentication cooperation policy evaluation unit 209 determines the service provider apparatus 300 identified by the service provider ID based on the user ID and the service provider ID in the policy evaluation request sent from the authentication cooperation handling unit 208. On the other hand, a request for sending the last use date is sent.
  • the usage status providing unit 308 of the service provider device 300 When the usage status providing unit 308 of the service provider device 300 receives this final usage date transmission request, it transmits the final usage date information in the usage status store 304 to the ID provider device 200.
  • the authentication cooperation policy evaluation unit 209 of the ID provider device 200 receives this last use date information.
  • step ST24 search for user attribute information 201a
  • step ST25 search for authentication cooperation policy 203a
  • the authentication cooperation policy 203a is associated with the service provider ID, and the affiliation and title of the user permitted to transmit the service data 303a by the service provider device 300 identified by the service provider ID, and the number of the users are the upper limit.
  • the value is exceeded, there exists a user whose period from the last use date to the present time is equal to or longer than a predetermined period, and invalidates the user attribute partial information 302a of the existing user (example) FIG. 4B [4]).
  • step ST26 the authentication cooperation policy evaluation unit 209 determines whether or not cooperation is possible based on the authentication cooperation policy indicated by 203aB in FIG. If the upper limit of the user's affiliation, job title, and number of uses exceeds the upper limit of the user's affiliation, job title, and number of uses in the authentication cooperation policy store 203 read from the authentication cooperation policy store 203, the user attribute partial information 302a of the existing user exists.
  • step ST27 policy evaluation response
  • SP of the user who has not used the service for more than half a year from B [4] in the authentication cooperation policy 203a of FIG.
  • the authentication cooperation policy evaluation unit 209 returns an evaluation result with the obligation condition “invalidate account” to the authentication cooperation handling unit 208.
  • the user ID of the invalidation target user is also given to the evaluation result.
  • step ST30 Subsequent account linkage (ST31 to ST37) in step ST30 and authentication linkage (ST41 to ST49) in step ST40 are executed as described above.
  • step ST34 search for user attribute information
  • step ST34 SP account cooperation request message transmission
  • step ST33 in addition to the attribute information of the user, the IdP account provisioning unit 210 searches for attribute information necessary for invalidating the account of the user to be invalidated.
  • step ST34 the IdP account provisioning unit 210 adds an account update instruction for invalidating the account of the user to be invalidated in addition to the user attribute partial information and the account registration instruction for the user, Create a request message.
  • the idle user account is invalidated and a free space is allocated to the application user account.
  • the above obligation conditions are added to the authentication cooperation policy 203a, even when the number of uses exceeds the upper limit, service use can be started quickly in accordance with the use status in the ID provider.
  • an authentication collaboration policy store 203 that stores a plurality of authentication collaboration policies 203a indicating the affiliation and job title of a user permitted to transmit the service data 303a; It is determined whether or not transmission of the service data 303a is permitted depending on whether or not the affiliation and position in the read user attribute information 201a match the affiliation and position indicated in the read authentication cooperation policy 203a.
  • the authentication cooperation policy evaluation unit 209 when performing account registration and cooperation in the SSO process, it is possible to determine whether the service can be used without human intervention.
  • the above-described configuration in which the authentication cooperation policy 203a is stored in advance eliminates the need for manual confirmation or request.
  • the storage medium can store a program and can be read by a computer
  • the storage format may be any form.
  • an OS operating system
  • MW middleware
  • database management software network software
  • the storage medium in each embodiment is not limited to a medium independent of a computer, but also includes a storage medium in which a program transmitted via a LAN, the Internet, or the like is downloaded and stored or temporarily stored.
  • the number of storage media is not limited to one, and the case where the processing in each of the above embodiments is executed from a plurality of media is also included in the storage media in the present invention, and the media configuration may be any configuration.
  • the computer in each embodiment executes each process in each of the above embodiments based on a program stored in a storage medium, and a single device such as a personal computer or a plurality of devices are connected to a network. Any configuration of the system or the like may be used.
  • the computer in each embodiment is not limited to a personal computer, and includes an arithmetic processing device, a microcomputer, and the like included in an information processing device, and is a generic term for devices and devices that can realize the functions of the present invention by a program. Yes.

Abstract

 実施形態によれば、前記IDプロバイダ装置のポリシ記憶手段は、前記サービスプロバイダID毎に、サービスデータの送信が許可されるユーザの所属及び役職を示す複数のポリシ情報を記憶する。前記IDプロバイダ装置は、前記ログイン処理が成功したとき、当該ログイン処理に用いたユーザIDと前記認証連携要求内のサービスプロバイダIDとを含むポリシ評価要求を送出する。前記IDプロバイダ装置は、ポリシ評価要求に基づいて前記ポリシ記憶手段からポリシ情報を読み出す。前記IDプロバイダ装置の送信許可判定手段は、ポリシ情報に示される所属及び役職に対しユーザ属性情報内の所属及び役職が適合するか否かに応じて、前記サービスデータの送信を許可するか否かを判定する。

Description

認証連携システム及びIDプロバイダ装置
 本発明の実施形態は、認証連携システム及びIDプロバイダ装置に関する。
 社会、経済、生活のオンラインサービスへの依存度が増す情勢を背景に、個人や組織に関する情報を管理するアイデンティティ管理の重要性が高まっている。アイデンティティ管理とは、様々なサービスやシステムにおいて、個人や組織に関する情報の安全性と利便性を図り、登録から変更、削除までのアイデンティティのライフサイクル全体を管理する技術である。
 ここで、アイデンティティとは、ある状況で個人やグループ、組織・企業を特定する情報の総体であり、識別子やクレデンシャル、属性が含まれる。識別子とは、アイデンティティを識別するための情報であり、アカウントや社員番号などに相当する。クレデンシャルとは、ある情報内容の正当性を示すための情報であり、パスワードなどがある。属性とは、アイデンティティを特徴付ける情報であり、氏名や住所、生年月日などを指す。
 このようなアイデンティティ管理を利用した技術の代表例として、シングルサインオン(Single Sign-On、以降SSOと略す)がある。SSOは、一度の認証手続きで複数のアプリケーションやサービスを利用できる技術である。SSOは、一つの企業のイントラネットのようなシングルドメインにおいて、複数のアプリケーションが備える認証を統合させる場合が多かった。この場合、SSOは、一般的にHTTP Cookieに認証結果を含め、アプリケーション間で認証結果を共有させる方式によって実現される。また、このようなSSO方式をSI(System Integration)ベンダやミドルウェアベンダが個別にアクセス管理製品として製造していた。
 近年、シングルドメインを超えた異なるドメイン間(以下、クロスドメインともいう)でのSSOが求められてきた。理由としては、企業統合や合併、海外展開などの活発化、および台頭してきたクラウドコンピューティングのSaaS(Software as a Service)等によるアウトソーシングが挙げられる。例えば、SaaS等は、使いたいときに素早く使える点がメリットの一つである。
 しかしながら、クロスドメインのSSOを実現する場合、認証結果の共有に大きな手間が発生していた。主な原因としては2点ある。1点目は、HTTP Cookieの利用がシングルドメインに限定されているため、ドメイン間でHTTP Cookieを利用して認証結果を共有できないことである。2点目は、ドメインごとに採用しているアクセス管理製品のSSO方式がベンダ間で異なるため、単純に導入できず、別途、施策を用意する必要があったためである。
 このような原因を解消するため、SSOの標準化の要望が高まるようになった。このような要望に応じた代表的な標準技術の一つとして、非営利団体OASIS(Organization for the Advancement of Structured Information Standards)が策定したSAML(Security Assertion Markup Language)がある。
 SAMLは認証・認可・属性に関する情報の表現形式、および送受信手順が定義された仕様であり、目的に応じて様々な実装形態を可能にするように体系的に規定されている。主体の構成はアイデンティティ提供者(Identity Provider、以降、IdPと略し、IDプロバイダという)、サービス提供者(Service Provider、以降SPと略し、サービスプロバイダという)、ユーザの3者であり、IDプロバイダが発行する認証結果をサービスプロバイダが信頼することでSSOを実現している。
 SAMLに基づくSSOを開始する場合、一般的に次の2点について事前に準備する必要がある。1点目は、サービスプロバイダとIDプロバイダとの間でビジネスや技術面での情報交換や合意形成を通じて、信頼関係を構築しておくことである。2点目では、一人のユーザがサービスプロバイダごとに個別のアカウントを持ち、これらの個別のSPアカウントとIDプロバイダのアカウントを事前に連携させておくことである。これら信頼関係の構築及び事前のアカウント連携といった事前準備を終えた状態でないとSSOを開始することはできない。
 このような事前準備の後、SSOは以下のような手順(1)~(6)に沿って実現される。ここでは、Webブラウザを介したSSOの手順を説明する。
 (1)ユーザがサービスプロバイダに対してサービス提供を要求する。
 (2)サービスプロバイダは、まだユーザの認証をしていないため、ユーザ側のWebブラウザを介して、認証リクエストをIDプロバイダに送る。
 (3)IDプロバイダは何らかの手段でユーザを認証し、認証アサーションを作成する。なお、SAMLは、認証手段を規定せず、認証アサーションをサービスプロバイダに伝える仕組みを規定している。認証アサーションとは、サービスプロバイダが認証結果を信用できるかを判断するため、認証手段の種類やクレデンシャルがどのように作成されたかなどの情報が含まれる。
 (4)IDプロバイダは、作成した認証アサーションを含む認証結果を、ユーザ側のWebブラウザを介してサービスプロバイダに返信する。
 (5)サービスプロバイダは、IDプロバイダの認証結果に基づき、サービス提供の可否を決定する。
 (6)ユーザは、サービスプロバイダからサービス提供を受ける。
 このように、SAMLに基づくSSOでは、ユーザが一度の認証手続きをIDプロバイダに行うだけで更なる認証手続きを実行せずに、複数のサービスが使用可能となる。現在では、個別のSSO方式を実装していたミドルウェアベンダは、クロスドメインの相互運用性を確保するために、SAMLのIDプロバイダ・サービスプロバイダ機能を実装したアクセス管理製品の販売や、SAMLのサービスプロバイダ機能を実装した商用のWebサービスへの導入を実行している。
 但し、SAMLに基づくSSOは、アイデンティティのライフサイクル全体のうち、アイデンティティの「利用」という一部分でしかない。前述したように、SSOを開始する場合、アカウント連携を行う必要があり、アカウント連携を行うには、サービスプロバイダとIDプロバイダ間にアイデンティティの登録、変更、削除、再発行、一時停止などの管理を包括的に連携する技術が求められる。
 アイデンティティの登録、変更、削除、再発行、一時停止などを自動化する技術としてアカウントプロビジョニングがあり、その標準技術としてSPML(Service Provisioning Markup Language)がある。
 ところで、前述したアカウント連携の事前準備を終えていない状態から、アカウント連携をSSOの一部として動的に実行するデータ処理システムが知られている。通常、サービスプロバイダ側にユーザのアカウントが登録されてない状態、すなわち、アカウント連携が行われてない状態でSSOを開始しようとした場合、エラーが発生することになっていた。
 しかしながら、このデータ処理システムによれば、前述した状態でもアカウント連携をSSOの一部として動的に実行できる。具体的には、サービスプロバイダがユーザからのサービス要求を受けた後、サービスプロバイダがユーザのアカウントを登録するための十分な情報を保持していないことを確認する。確認後、サービスプロバイダはIDプロバイダにユーザ属性を要求し、IDプロバイダはサービスプロバイダに所望のユーザ属性を提供する。これにより、データ処理システムは、SSOの過程でアカウント登録及び連携を実行する。
特表2008-538247号公報
"Assertions and Protocols for the OASIS Security Assertion Markup Language(SAML) V2.0",OASIS Standard,15 March 2005, http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf "OASIS Service Provisioning Markup Language (SPML) Version 2", OASIS Standard,1 April 2006, http://www.oasis-open.org/committees/provision/docs/pstc-spml2-os.pdf
 以上説明したデータ処理システムは、個々のユーザのアカウント登録に必要なユーザ属性の要求及び提供という軽量な処理で実現でき、多数のユーザに対する大量の事前処理を必要としないことから、通常、問題ない。
 しかしながら、本発明者の検討によれば、以下に述べるように、改良の余地がある。
 通常、企業において、サービスプロバイダが提供するサービスを利用する場合、IS(Information System)部門がサービスプロバイダに対して、アカウント登録及び連携を行う。
 IS部門は、企業に所属する多数のユーザに応じた大量の事前処理を一括して行うか、又はユーザによる任意のタイミングで一連の承認フローを通した手続きを経た後に当該ユーザに対するアカウント登録及び連携を行う。
 ここで、前者の事前処理を行う場合は、SSOの過程でアカウント登録及び連携を実行する必要がないので、前述したデータ処理システムとは無関係である。
 一方、後者の承認フローを通す場合は、ユーザだけでなく、ユーザが所属する組織階層ごとの上長や調達部門、IS部門など多くの人手を介すことになり、大量の手間暇を要する。更に、IS部門が事前処理を一括して行わないことから、人手による作業が発生し、負担が大きい上、効率や利便性も悪い。例えば、SaaS等における素早く使えるメリットを生かすことができない。
 従って、SSOの過程でアカウント登録及び連携を実行するシステムでは、人手を介さずにサービス利用可否を決定するシームレスな仕組みを備えていることが望ましい。
 本発明が解決しようとする課題は、SSOの過程でアカウント登録及び連携を実行する際に、人手を介さずにサービス利用可否を決定し得る認証連携システム及びIDプロバイダ装置を提供することである。
 実施形態の認証連携システムは、ユーザが操作するユーザ端末にログイン処理を実行可能で第1メモリを有するIDプロバイダ装置と、前記ログイン処理が成功した場合に前記ユーザ端末にサービスデータを送信可能で第2メモリを有する複数のサービスプロバイダ装置とを備えている。
 前記IDプロバイダ装置のユーザ属性情報記憶手段は、前記ユーザを特定するためのユーザ属性の項目名と前記ユーザ属性の項目値とを関連付けたユーザ属性情報であって、少なくとも前記ユーザを識別するユーザIDを前記項目名に含む複数の前記ユーザ属性情報を記憶する。
 前記IDプロバイダ装置のサービス利用状況記憶手段は、前記ユーザIDと、前記各サービスプロバイダ装置を識別するサービスプロバイダIDと、前記サービスデータの送信が許可された場合を示すサービス利用中、又は前記サービスデータの送信が許可されていない場合を示すサービス未利用のいずれかを示すサービス利用状況とを関連付けて記憶する。
 前記IDプロバイダ装置のポリシ記憶手段は、前記サービスプロバイダID毎に、当該サービスプロバイダIDで識別されるサービスプロバイダ装置によるサービスデータの送信が許可される対象となるユーザを示す複数のポリシ情報を記憶する。
 前記IDプロバイダ装置の一部項目名記憶手段は、前記サービスプロバイダIDと、前記ユーザ属性情報内のユーザ属性の項目名のうち、一部の項目名とを関連付けて記憶する。
 前記IDプロバイダ装置の鍵記憶手段は、自装置の署名生成鍵を記憶する。
 前記IDプロバイダ装置は、いずれかの前記サービスプロバイダ装置から送信されて当該サービスプロバイダ装置のサービスプロバイダIDと前記ユーザ端末のアドレス情報とを含む認証連携要求を受けると、当該認証連携要求内のユーザ端末のアドレス情報を含むユーザ認証要求を送出する。
 前記IDプロバイダ装置は、前記送出されたユーザ認証要求内のユーザ端末のアドレス情報に基づいて、当該ユーザ端末にログイン要求を送信し、当該ユーザ端末から受けたユーザID及びユーザ認証情報を前記ユーザ属性情報記憶手段内のユーザID及び参照情報に基づいて認証するログイン処理を実行する。
 前記IDプロバイダ装置は、前記ログイン処理が成功したとき、当該ログイン処理に用いたユーザIDと前記認証連携要求内のサービスプロバイダIDとを含むポリシ評価要求を送出する。
 前記IDプロバイダ装置は、前記送出されたポリシ評価要求内のユーザIDに基づいて前記ユーザ属性記憶手段からユーザ属性情報を読み出す。
 前記IDプロバイダ装置は、前記送出されたポリシ評価要求内のサービスプロバイダIDに基づいて前記ポリシ記憶手段からポリシ情報を読み出す。
 前記IDプロバイダ装置の送信許可判定手段は、前記読み出したポリシ情報に対し、前記読み出したユーザ属性情報、ユーザが利用したいサービスの種類、ユーザが行いたいサービスへの操作、サービスを実行するに際してのユーザの環境条件に適合するか否かと、当該読み出したポリシ情報に示される利用料金の上限値に対して前記受信した利用料金応答内の利用料金が適合するか否かとに応じて、前記サービスデータの送信を許可するか否かを判定する。
 前記IDプロバイダ装置は、この判定結果を含むポリシ評価応答を前記ポリシ評価要求の送信元に送出する。
 前記IDプロバイダ装置は、前記ポリシ評価応答内の判定結果が許可を示す場合、前記ポリシ評価要求内のユーザIDとサービスプロバイダIDとを含むアカウント連携要求を送出する。
 前記IDプロバイダ装置は、前記送出されたアカウント連携要求内のサービスプロバイダIDに基づいて、前記一部項目名記憶手段からユーザ属性の一部の項目名を読み出す。
 前記IDプロバイダ装置は、当該読み出した一部の項目名と前記アカウント連携要求内のユーザIDとに基づいて、前記ユーザ属性記憶手段内で当該ユーザIDに一致するユーザIDを含むユーザ属性情報のうち、当該一部の項目名に一致する項目名及びこの項目名に関連付けられた項目値からなるユーザ属性部分情報を取得する。
 前記IDプロバイダ装置は、前記取得したユーザ属性部分情報にアカウント登録指示を付加してアカウント連携要求メッセージを作成する。
 前記IDプロバイダ装置は、前記アカウント連携要求メッセージを前記認証連携要求の送信元のサービスプロバイダ装置に送信する。
 前記IDプロバイダ装置は、前記アカウント連携要求メッセージの送信先のサービスプロバイダ装置から当該サービスプロバイダ装置のサービスプロバイダIDと前記ユーザ属性部分情報内のユーザIDとを含む登録完了が通知されると、当該登録完了を示すアカウント連携応答を送出する。
 前記IDプロバイダ装置は、前記送出されたアカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDに基づいて、前記サービス利用状況記憶手段内のサービス利用状況をサービス未利用からサービス利用中に更新する。
 前記IDプロバイダ装置は、前記送出されたアカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDを含む認証連携実行要求を送出する。
 前記IDプロバイダ装置は、前記認証連携実行要求を受けると、当該認証連携実行要求内のサービスプロバイダIDで識別されるサービスプロバイダ装置と自装置との間で共有する認証連携IDを発行し、この認証連携IDと当該認証連携実行要求内のユーザIDとを関連付けて前記第1メモリに書き込む。
 前記IDプロバイダ装置は、前記発行した認証連携IDと、前記ログイン処理の認証方式名とを含むアサーション本文に対して前記署名生成鍵に基づくデジタル署名を生成し、当該アサーション本文と当該デジタル署名とを含む認証アサーションを作成する。
 前記IDプロバイダ装置は、前記作成した認証アサーションを含む認証連携応答を前記認証連携要求の送信元のサービスプロバイダ装置に送信する。
 前記各サービスプロバイダ装置のユーザ属性部分情報記憶手段は、前記ユーザ属性情報記憶手段内のユーザ属性情報内のユーザ属性の項目名及び項目値のうちの一部の項目名と項目値とを関連付けたユーザ属性部分情報と、自装置内でユーザを識別するSP側ユーザIDとを関連付けて記憶する。
 前記各サービスプロバイダ装置の検証ポリシ記憶手段は、前記ログイン処理が成功した場合にサービスデータの送信を許可するログイン処理の認証方式名と、前記署名生成鍵に対応する署名検証鍵とを含む認証アサーション検証ポリシを記憶する。
 前記各サービスプロバイダ装置のサービスデータ記憶手段は、前記サービスデータを記憶する。
 前記各サービスプロバイダ装置は、前記ユーザ端末からサービス要求を受けると、当該サービス要求が認証トークンを含むか否かを判定し、前記認証トークンを含む場合には当該認証トークンと前記サービスデータ記憶手段内のサービスデータとを当該ユーザ端末に送信し、否の場合には自装置のサービスプロバイダIDと当該ユーザ端末のアドレス情報とを含む認証連携要求を前記IDプロバイダ装置に送信する。
 前記各サービスプロバイダ装置は、前記アカウント連携要求メッセージを受信すると、新規の前記SP側ユーザIDを発行し、当該発行したSP側ユーザIDと、当該アカウント連携要求メッセージ内のユーザ属性部分情報とを関連付けて前記ユーザ属性部分情報記憶手段に登録する。
 前記各サービスプロバイダ装置は、この登録の後、登録したユーザ属性部分情報内のユーザIDと自装置のサービスプロバイダIDとを含む登録完了を前記アカウント連携要求メッセージの送信元のIDプロバイダ装置に通知する。
 前記各サービスプロバイダ装置は、前記IDプロバイダ装置から認証連携応答を受けると、当該認証連携応答内の認証アサーションから認証連携IDを抽出し、当該抽出した認証連携IDと、前記登録されたユーザ属性部分情報内のユーザIDとを関連付けて前記第2メモリに書き込む。
 前記各サービスプロバイダ装置は、前記認証アサーション検証ポリシ内の認証方式名と署名検証鍵とに基づいて、前記認証アサーション内の認証方式名とデジタル署名とをそれぞれ検証する。
 前記各サービスプロバイダ装置は、前記検証した結果がいずれも正当のとき、認証トークンを発行し、この認証トークンを前記認証連携IDに関連付けて前記第2メモリに書き込む。
 前記各サービスプロバイダ装置は、前記書き込まれた認証トークンと、当該認証トークンに前記第2メモリ内で前記認証連携IDを介して関連付けられたユーザIDとを含むサービス実行要求を送出する。
 前記各サービスプロバイダ装置は、前記送出されたサービス実行要求に基づいて、当該サービス実行要求内の認証トークンと前記サービスデータ記憶手段内のサービスデータとを前記ユーザ端末に送信する。
図1は、第1の実施形態に係る認証連携システム及びその周辺構成を示す模式図である。 図2は、同実施形態におけるIdPユーザリポジトリを説明するための模式図である。 図3は、同実施形態におけるサービス利用状況データストアを説明するための模式図である。 図4は、同実施形態における認証連携ポリシストアを説明するための模式図である。 図5は、同実施形態におけるSPユーザ設定ルールストアを説明するための模式図である。 図6は、同実施形態における一時記憶部を説明するための模式図である。 図7は、同実施形態における認証アサーションを説明するための模式図である。 図8は、同実施形態における信頼IdPストアを説明するための模式図である。 図9は、同実施形態におけるSPユーザリポジトリを説明するための模式図である。 図10は、同実施形態におけるサービスデータストアを説明するための模式図である。 図11は、同実施形態における利用状況ストアを説明するための模式図である。 図12は、同実施形態における一時記憶部を説明するための模式図である。 図13は、同実施形態における検証ポリシストアを説明するための模式図である。 図14は、同実施形態における全体動作の概要を示す模式図である。 図15は、同実施形態におけるユーザ認証の処理フローを示すシーケンス図である。 図16は、同実施形態におけるユーザ認証の処理に必要な構成要素の一例を示すブロック図である。 図17は、同実施形態における認証連携ポリシ評価の処理フローを示すシーケンス図である。 図18は、同実施形態における認証連携ポリシ評価の処理に必要な構成要素の一例を示すブロック図である。 図19は、同実施形態におけるアカウント連携の処理フローを示すシーケンス図である。 図20は、同実施形態におけるアカウント連携の処理に必要な構成要素の一例を示すブロック図である。 図21は、同実施形態における認証連携の処理フローを示すシーケンス図である。 図22は、同実施形態における認証連携の処理に必要な構成要素の一例を示すブロック図である。 図23は、第2の実施形態における利用状況ストアを説明するための模式図である。 図24は、同実施形態におけるサービス利用状況ストアを説明するための模式図である。 図25は、第3の実施形態における利用状況ストアを説明するための模式図である。 図26は、同実施形態におけるサービス利用状況ストアを説明するための模式図である。
 以下、各実施形態について図面を用いて説明する。なお、各実施形態では、既にIDプロバイダとサービスプロバイダ間で信頼関係が確立された状態、ユーザはIDプロバイダ側の組織に所属する状態、認証連携ポリシは事前に定義済みであることを前提条件としている。また、各装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
 <第1の実施形態>
 図1は第1の実施形態に係る認証連携システム及びその周辺構成を示す模式図であり、図2乃至図13は同実施形態におけるリポジトリ、ストア又は記憶部等を説明するための模式図である。この認証連携システムは、ユーザが操作するユーザ端末100に対してログイン処理を実行可能なIDプロバイダ装置200と、ログイン処理が成功した場合にユーザ端末100にサービスデータを送信可能なサービスプロバイダ装置300とを備えている。なお、サービスプロバイダ装置300は、複数台あるが、ここでは1台のみを図示している。
 ここで、ユーザ端末100は、通常のコンピュータ機能を有してIDプロバイダ装置200及び各サービスプロバイダ装置300と通信可能な装置であり、例えば、ユーザの操作に応じて、サービス要求をサービスプロバイダ装置300に送信する機能と、IDプロバイダ装置200との間でログイン処理を実行する機能と、サービスプロバイダ装置300からサービスデータを受信する機能と、予めメモリに記憶したサービス利用アプリケーションプログラムをCPUが実行することにより、当該受信したサービスデータを再生する機能とをもっている。
 IDプロバイダ装置200は、ユーザのアイデンティティを管理するものであり、IdPユーザリポジトリ201、サービス利用状況ストア202、認証連携ポリシストア203、SPユーザ設定ルールストア204、一時記憶部205、鍵記憶部206、IdP認証連携部207、認証連携ハンドリング部208、認証連携ポリシ評価部209及びIdPアカウントプロビジョニング部210を備えている。
 ここで、IdPユーザリポジトリ201は、IDプロバイダ装置200が配置される組織のユーザに関するアイデンティティ情報(以下、「ユーザ属性情報」という)を記憶する。具体的には、IdPユーザリポジトリ(ユーザ属性情報記憶手段)201は、図2に示すように、ユーザを特定するためのユーザ属性の項目名とユーザ属性の項目値とを関連付けたユーザ属性情報201aであって、ユーザを識別するユーザIDと、ユーザの氏名と、ユーザの所属と、ユーザの役職と、ユーザ端末のアドレス情報と、ユーザのログイン処理時に参照する参照情報とを項目名に含む複数のユーザ属性情報201aを記憶する。
 なお、ユーザ属性情報201aは個人の情報を特徴付ける情報の集合体であり、ユーザ属性情報201aの例としては、ユーザの氏名、ユーザの所属、ユーザの役職、ユーザ端末のアドレス情報、ユーザのログイン処理時に参照する参照情報などが挙げられる。しかし、これらには限られず、例えば電話番号や勤務状態といった任意の項目名と項目地とを更に含んでもよい。また、ユーザのログイン処理時に参照する参照情報は、本実施形態ではパスワードを用いるが、これには限られず、例えばユーザの指紋等の生体認証情報であってもよい。
 サービス利用状況ストア202は、認証連携ポリシ評価部209から参照され、サービスの利用状況を記憶する。具体的には、サービス利用状況ストア(サービス利用状況記憶手段)202は、図3に示すように、ユーザ利用管理テーブル202aと、利用数管理テーブル202bとを記憶している。ユーザ利用管理テーブル202aは、ユーザIDと、各サービスプロバイダ装置300を識別するサービスプロバイダID(SP(1)~SP(N))と、サービスデータの送信が許可された場合を示すサービス利用中、又はサービスデータの送信が許可されていない場合を示すサービス未利用のいずれかを示すサービス利用状況とを関連付けて書き込まれる。なお、サービス利用状況は、サービス利用中及びサービス未利用に限らず、例えばユーザ端末100から受けた一時停止要求に基づくサービス一時停止中、及び/又はユーザ端末100から受けた利用終了要求に基づくサービス利用終了を含んでもよい。また、サービス利用終了は、現在の利用数が上限値を超えた場合に、IDプロバイダ装置200が遊休ユーザの利用を無効化した場合を含んでもよい。さらに、利用数管理テーブル202bは、図3に示すように、ユーザ管理テーブル202a内のサービス利用状況が示すサービス利用中の個数を示す利用数と、利用数の上限値とを関連付けて書き込まれる。
 認証連携ポリシストア203は、認証連携ポリシ評価部209から参照され、認証連携ポリシを記憶する。具体的には、認証連携ポリシストア(ポリシ記憶手段)203は、図4に示すように、サービスプロバイダID毎に、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300によるサービスデータの送信が許可されるユーザの所属及び役職を示す複数の認証連携ポリシ(ポリシ情報)203a(203aA,203aB,203aC,…)を記憶する。
 なお、認証連携ポリシ203aは、ユーザの所属及び役職といった静的なポリシ(例えば、図4中のA~Cの[1]~[3])に加え、更に、サービスの利用数、従量制課金の合計といった動的なポリシ(例えば、図4中のCの[4])を含んでもよい。
 ここでポリシとは、一般的に誰(サブジェクト)が、どのシステム資源(リソース)に対して、どのような操作(アクション)を行うことができるか否か(つまり、許可または拒否)が定義されたアクセス可否条件の集合体を指す。またオプションで、環境条件や責務条件についても定義されるものである。
 例えば、上述したポリシの各要素について、「サブジェクト」は氏名や役職、所属など、「リソース」はサービスプロバイダIDやURLなど、「アクション」は利用開始や利用再開など、「環境条件」は何らかの要求を行なうユーザのIPアドレスやアクセス可能な期間や時刻などが該当する。また、「責務条件」はポリシ(アクセス可否条件)評価の結果を受けて、認証連携ハンドリング部208が認証連携の実行に際して課す作業になる。例えば、“「新規利用者を登録する」要求は許可するが、その代わりに「遊休者のIDを削除する」ことは確実に実行せよ”というような指示になるのである(例えば、図4中のBの[4]の[責務条件])。
 SPユーザ設定ルールストア(一部項目名記憶手段)204は、図5に示すように、ユーザ設定ルール204aを記憶する。ユーザ設定ルール204aは、サービスプロバイダIDと、IdPユーザリポジトリ201に記憶されたユーザ属性情報201a内のユーザ属性の項目名のうち、一部の項目名とを関連付けて書き込まれている。
 一時記憶部(第1メモリ)205は、RAM等のような一時的なメモリであり、図6に示すように、例えば、認証連携IDとユーザIDとを関連付けて記憶する。
 鍵記憶部206は、自装置200の署名生成鍵を記憶する。署名生成鍵としては、例えば、公開鍵暗号方式における公開鍵と秘密鍵との鍵ペアのうちの秘密鍵が使用可能となっている。
 IdP認証連携部207は、シングルサインオンのIDプロバイダ機能を有する。IdP認証連携部207は、具体的には例えば、以下の機能(f207-1)~(f207-4)をもっている。
 (f207-1) 認証連携ハンドリング部208から送出されたユーザ認証要求内のユーザ端末100のアドレス情報に基づいて、当該ユーザ端末100にログイン要求を送信し、当該ユーザ端末100から受けたユーザID及びユーザ認証情報をIdPユーザリポジトリ201内のユーザID及び参照情報に基づいて認証するログイン処理を実行する機能。
 (f207-2) 認証連携ハンドリング部208から認証連携実行要求を受けると、当該認証連携実行要求内のサービスプロバイダIDで識別されるサービスプロバイダ装置300と自装置200との間で共有する認証連携IDを発行し、この認証連携IDと当該認証連携実行要求内のユーザIDとを関連付けて一時記憶部205に書き込む機能。
 (f207-4) 発行した認証連携IDと、ログイン処理の認証方式名とを含むアサーション本文に対して鍵記憶部206内の署名生成鍵に基づくデジタル署名を生成し、図7に示すように、当該アサーション本文と当該デジタル署名とを含む認証アサーション207aを作成する機能。
 (f207-4) 作成した認証アサーション207aを含む認証連携応答を認証連携要求の送信元のサービスプロバイダ装置300に送信する機能。
 認証連携ハンドリング部208は、サービスプロバイダ装置300からの認証連携要求を受信した後、ポリシ評価処理とアカウント連携処理とIDプロバイダ認証連携処理で構成される一連の処理をハンドリングする。認証連携ハンドリング部208は、具体的には例えば、以下の機能(f208-1)~(f208-5)をもっている。
 (f208-1) いずれかのサービスプロバイダ装置300から送信されて当該サービスプロバイダ装置300のサービスプロバイダIDとユーザ端末100のアドレス情報とを含む認証連携要求を受けると、当該認証連携要求内のユーザ端末100のアドレス情報を含むユーザ認証要求をIdP認証連携部207に送出する機能。
 (f208-2) IdP認証連携部207によるログイン処理が成功したとき、当該ログイン処理に用いたユーザIDと認証連携要求内のサービスプロバイダIDとを含むポリシ評価要求を認証連携ポリシ評価部209に送出する機能。
 (f208-3) 認証連携ポリシ評価部209から受けたポリシ評価応答内の判定結果が許可を示す場合、ポリシ評価要求内のユーザIDとサービスプロバイダIDとを含むアカウント連携要求をIdPアカウントプロビジョニング部210に送出する機能。
 (f208-4) 送出されたアカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDに基づいて、サービス利用状況ストア202内のサービス利用状況をサービス未利用からサービス利用中に更新する機能。
 (f208-5) IdPアカウントプロビジョニング部210から送出されたアカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDを含む認証連携実行要求をIdP認証連携部207に送出する機能。
 認証連携ポリシ評価部209は、認証連携ハンドリング部208からのポリシ評価要求を受けて、事前に定義された認証連携ポリシ203aとサービス利用状況に基づいてポリシ評価を行う。認証連携ポリシ評価部209は、具体的には例えば、以下の機能(f209-1)~(f209-4)をもっている。
 (f209-1) 認証連携ハンドリング部208から送出されたポリシ評価要求内のユーザIDに基づいてIdPユーザリポジトリ201からユーザ属性情報201aを読み出す機能。
 (f209-2) 認証連携ハンドリング部208から送出されたポリシ評価要求内のサービスプロバイダIDに基づいて認証連携ポリシストア203から認証連携ポリシ(ポリシ情報)203aを読み出す機能。
 (f209-3) 読み出した認証連携ポリシ203aに示される所属及び役職に対し、当該読み出したユーザ属性情報201a内の所属及び役職が適合するか否かに応じて、サービスデータの送信を許可するか否かを判定する送信許可判定機能。
 (f209-4) この判定結果を含むポリシ評価応答をポリシ評価要求の送信元の認証連携ハンドリング部208に送出する機能。
 IdPアカウントプロビジョニング部210は、認証連携ハンドリング部208からのアカウント連携要求を受けて、サービスプロバイダ装置300に対してアカウントプロビジョニングを実行する。IdPアカウントプロビジョニング部210は、具体的には例えば、以下の機能(f210-1)~(f210-5)をもっている。
 (f210-1) 送出されたアカウント連携要求内のサービスプロバイダIDに基づいて、SPユーザ設定ルールストア204からユーザ属性の一部の項目名を読み出す機能。
 (f210-2) 当該読み出した一部の項目名とアカウント連携要求内のユーザIDとに基づいて、IdPユーザリポジトリ201内で当該ユーザIDに一致するユーザIDを含むユーザ属性情報201aのうち、当該一部の項目名に一致する項目名及びこの項目名に関連付けられた項目値からなるユーザ属性部分情報を取得する機能。
 (f210-3) 取得したユーザ属性部分情報にアカウント登録指示を付加してアカウント連携要求メッセージを作成する機能。
 (f210-4) アカウント連携要求メッセージを認証連携要求の送信元のサービスプロバイダ装置300に送信する機能。
 (f210-5) アカウント連携要求メッセージの送信先のサービスプロバイダ装置300から当該サービスプロバイダ装置のサービスプロバイダIDとユーザ属性部分情報内のユーザIDとを含む登録完了が通知されると、当該登録完了を示すアカウント連携応答を認証連携ハンドリング部208に送出する機能。
 一方、サービスプロバイダ装置300は、ユーザが利用するサービスを提供するものであり、信頼IdPストア301、SPユーザリポジトリ302、サービスデータストア303、利用状況ストア304、一時記憶部305、検証ポリシストア306、SP認証連携部307、利用状況提供部308、SPアカウントプロビジョニング部309及びサービスデータ通信部310を備えている。
 信頼IdPストア301は、図8に示すように、IDプロバイダ装置200を識別するIDプロバイダIDのリストからなるIdPリスト(IDプロバイダリスト)301aを記憶する。
 SPユーザリポジトリ302は、サービスデータ通信部310が送信するサービスデータを利用するユーザのアイデンティティ情報を記憶する。具体的には、SPユーザリポジトリ(ユーザ属性部分情報記憶手段)302は、図9に示すように、IdPユーザリポジトリ201内のユーザ属性情報201a内のユーザ属性の項目名及び項目値のうちの一部の項目名と項目値とを関連付けたユーザ属性部分情報302aと、自装置300内でユーザを識別するSP側ユーザIDとを関連付けて記憶している。
 サービスデータストア303は、図10に示すように、サービスデータ303aを記憶している。サービスデータ303aは、サービスプロバイダ装置300によるサービス提供(サービスデータ送信)の対象として、ユーザ端末100に送信される任意のデータである。
 利用状況ストア304は、図11に示すように、ユーザ利用管理テーブル304aと、利用数管理テーブル304bとを記憶している。ユーザ利用管理テーブル304aは、ユーザIDと、サービスデータ303aの送信が許可された場合を示すサービス利用中、又はサービスデータ303aの送信が許可されていない場合を示すサービス未利用のいずれかを示すサービス利用状況とを関連付けて書き込まれる。利用数管理テーブル304bは、ユーザ管理テーブル内のサービス利用状況が示すサービス利用中の個数を示す利用数と、利用数の上限値とを関連付けて書き込まれる。
 一時記憶部(第2メモリ)305は、RAM等のような一時的なメモリであり、図12に示すように、例えば、認証アサーション207aから抽出した認証連携IDと、登録されたユーザ属性部分情報302a内のユーザIDと、発行された認証トークンとを関連付けて記憶する。
 検証ポリシストア306は、図13に示すように、ログイン処理が成功した場合にサービスデータ303aの送信を許可するログイン処理の認証方式名と、IDプロバイダ装置200の署名生成鍵に対応する署名検証鍵とを含む認証アサーション検証ポリシを記憶する。署名検証鍵としては、例えば、公開鍵暗号方式における公開鍵と秘密鍵との鍵ペアのうちの公開鍵が使用可能となっている。
 SP認証連携部307は、シングルサインオンのサービスプロバイダ機能を有する。SP認証連携部307は、具体的には例えば、以下の機能(f307-1)~(f307-5)をもっている。
 (f307-1) ユーザ端末100からサービス要求を受けると、当該サービス要求が認証トークンを含むか否かを判定し、認証トークンを含む場合には当該認証トークンとサービスデータストア303内のサービスデータ303aとを当該ユーザ端末100に送信し、否の場合には自装置300のサービスプロバイダIDと当該ユーザ端末100のアドレス情報とを含む認証連携要求をIDプロバイダ装置200に送信する機能。
 (f307-2) IDプロバイダ装置200から認証連携応答を受けると、当該認証連携応答内の認証アサーション207aから認証連携IDを抽出し、当該抽出した認証連携IDと、登録されたユーザ属性部分情報302a内のユーザIDとを関連付けて一時記憶部305に書き込む機能。
 (f307-3) 検証ポリシストア306内の認証アサーション検証ポリシ内の認証方式名と署名検証鍵とに基づいて、当該認証アサーション207a内の認証方式名とデジタル署名とをそれぞれ検証する検証機能。
 (f307-4) 検証した結果がいずれも正当のとき、認証トークンを発行し、この認証トークンを認証連携IDに関連付けて一時記憶部305に書き込む機能。
 (f307-5) 書き込まれた認証トークンと、当該認証トークンに一時記憶部305内で認証連携IDを介して関連付けられたユーザIDとを含むサービス実行要求をサービスデータ通信部310に送出する機能。
 利用状況提供部308は、IDプロバイダ装置200の認証連携ポリシ評価部209から利用状況送信要求を受けると、この利用状況送信要求に含まれるユーザIDに基づいて利用状況ストア304を検索し、当該検索により得られたサービス利用状況を送信する機能をもっている。
 SPアカウントプロビジョニング部309は、IDプロバイダ装置200のIdPアカウントプロビジョニング部210から受けたアカウントプロビジョニング要求(アカウント連携要求メッセージ)に基づき、SPユーザリポジトリ302に対してアカウントプロビジョニングを行う。SPアカウントプロビジョニング部309は、具体的には例えば、以下の機能(f309-1)~(f309-2)をもっている。
 (f309-1) IDプロバイダ装置200のIdPアカウントプロビジョニング部210からアカウント連携要求メッセージを受信すると、新規のSP側ユーザIDを発行し、当該発行したSP側ユーザIDと、当該アカウント連携要求メッセージ内のユーザ属性部分情報302aとを関連付けてSPユーザリポジトリ302に登録する機能。
 (f309-2) この登録の後、登録したユーザ属性部分情報302a内のユーザIDと自装置300のサービスプロバイダIDとを含む登録完了をアカウント連携要求メッセージの送信元のIDプロバイダ装置200に通知する機能。
 サービスデータ通信部310は、SP認証連携部307から送出されたサービス実行要求に基づいて、当該サービス実行要求内の認証トークンとサービスデータストア303内のサービスデータ303aとをユーザ端末100に送信する機能をもっている。
 次に、以上のように構成された認証連携システムの動作について図14乃至図22を参照して説明する。以下の説明は、IDプロバイダ装置200とサービスプロバイダ装置300間でSSOが可能なシステム環境にあり、且つIDプロバイダ側の組織に所属するユーザが当該サービスプロバイダ装置300にアカウントが登録されてない状態から開始される。また、この状態において、ユーザがサービス要求をした時に、IDプロバイダ装置200が認証連携ポリシ203aを満たすか否かを判定し、満たす場合にサービスプロバイダ装置300側へのユーザのアカウント登録を行うことにより、IDプロバイダ装置200とサービスプロバイダ装置300間のSSOが実行され、サービスプロバイダ装置300からサービスデータ303aが送信される典型的な処理を例に挙げて述べる。
 以降、図14に示す如き、ステップST10のユーザ認証(ST11~ST18)、ステップST20の認証連携ポリシ評価(ST21~ST27)、ステップST30のアカウント連携(ST31~ST37)及びステップST40の認証連携(ST41~ST49)に分けて説明する。
 ステップST10のユーザ認証の処理においては、IDプロバイダ側の組織に所属するユーザが、ユーザのアカウントがサービスプロバイダ装置300に未登録の状態で、ユーザ端末100からサービス要求をサービスプロバイダ装置300に送信し、IDプロバイダ装置200がサービスプロバイダ装置300に代わってユーザの認証を行う。以下、図15のシーケンス図及び図16の模式図を用いて述べる。
 ステップST11では、ユーザは、サービスプロバイダ装置300側のサービスを利用するために、ユーザ端末100を操作する。ユーザ端末100は、ユーザの操作により、サービス要求をサービスプロバイダ装置300に送信する。サービスプロバイダ装置300は、アクセス管理を担うSP認証連携部307がサービス要求をキャッチする。
 ステップST12では、SP認証連携部307は、ユーザからのサービス要求を受けると、そのサービス要求が認証トークンを含むか否かを判定する。例えば、ユーザからのサービス要求がHTTPリクエストの形態の場合、そのHTTPリクエストに含まれるCookieの中に、サービスプロバイダ装置300が発行した認証トークンが存在することを確認する。
 認証トークンの存在が確認できたら、サービスプロバイダ装置300は、サービス要求により要求されたサービスをユーザに対して提供する。すなわち、SP認証連携部307は、サービス要求が認証トークンを含む旨を判定すると、サービスデータ通信部310により、当該認証トークンとサービスデータ記憶部303内のサービスデータ303aとをユーザ端末100に送信する。具体的には、SP認証連携部307は、サービス要求内の認証トークンと、当該認証トークンに一時記憶部305内で認証連携IDを介して関連付けられたユーザIDとを含むサービス実行要求をサービスデータ通信部310に送出する。
 一方、判定の結果、サービス要求が認証トークンを含まない場合には、ステップST13を実行する。なお、後述するようにステップST13,ST14が省略される場合にはステップST15を実行する。
 ステップST13では、SP認証連携部307は、ユーザが所属するIDプロバイダを当該ユーザに選択させるため、事前に信頼関係を確立したIDプロバイダを示すIDプロバイダIDを列挙したIdPリスト301aを信頼IdPストア301から読み出してユーザ端末100に送信する。なお、IdPリスト301aはIDプロバイダリストと呼んでもよい。
 ステップST14では、ユーザ端末100は、サービスプロバイダ装置300から受信したIdPリスト301aを表示し、ユーザに対して、自身が所属するIDプロバイダの選択を促す。しかる後、ユーザ端末100は、ユーザの操作により、選択されたIDプロバイダIDをサービスプロバイダ装置300に送信する。なお、サービス要求がIDプロバイダの指定を含む場合や、サービスプロバイダ装置300が一つのIDプロバイダのIDプロバイダ装置200としか連携しない場合などのように、IDプロバイダの選択が不要な場合には、ステップST13~ST14が省略される。
 ステップST15では、サービスプロバイダ装置300は、ユーザ端末100から受信したIDプロバイダIDに基づいて、当該IDプロバイダIDに識別されるIDプロバイダ装置200に認証連携要求を依頼する。このとき、認証連携要求は、サービスプロバイダ装置300から直接IDプロバイダ装置200に向けて送信してもよいし、ユーザ端末100を一旦経由して、リダイレクトする形で送信されてもよい。認証連携要求は、自装置300のサービスプロバイダIDとユーザ端末100のアドレス情報とを含んでいる。
 ステップST16では、IDプロバイダ装置200の認証連携ハンドリング部208が、IDプロバイダ装置200宛のメッセージをインターセプトする。認証連携ハンドリング部208は、メッセージを解析し、そのメッセージが認証連携要求であることを確認した場合、認証連携の処理を開始し、認証連携要求内のユーザ端末100のアドレス情報を含むユーザ認証要求をIdP認証連携部207に送出する。なお、認証連携要求以外のメッセージであることを確認した場合は、認証連携ハンドリング部208が仲介する形で、サービスプロバイダ装置300が所望する宛先へ再送信する。
 ステップST17では、IdP認証連携部207は、ユーザ認証要求を受けると、このユーザ認証要求に基づいて、ユーザの識別と認証のためのログイン処理を実行する。このログイン処理においては、IdP認証連携部207は、送出されたユーザ認証要求内のユーザ端末100のアドレス情報に基づいて、当該ユーザ端末100にログイン要求を送信し、当該ユーザ端末100から受けたユーザID及びユーザ認証情報をIdPユーザリポジトリ201内のユーザID及び参照情報に基づいて認証する。
 ステップST18では、IdP認証連携部207は、ステップST17のログイン処理が成功したとき、ログイン処理に用いたユーザIDと認証成功の旨とを含むユーザ認証完了のメッセージを認証連携ハンドリング部208に通知する。
 以上により、ステップST10のユーザ認証(ST11~ST18)が終了する。
 ステップST20の認証連携ポリシ評価においては、ユーザ認証終了後、サービス利用状況やユーザ属性情報201a、認証連携ポリシ203aを入力値として、認証連携ポリシ評価を行い、ユーザのサービス要求に対して許可を下す。以下、図17のシーケンス図及び図18の模式図を用いて述べる。
 ステップST21では、認証連携ハンドリング部208は、ステップST18にて受信したユーザ認証完了のメッセージを解析し、ログイン処理が成功したことを確認する。ログイン処理が成功したとき、認証連携ハンドリング部208は、ユーザのサービス要求に対するポリシ評価要求を認証連携ポリシ評価部209に送出する。ポリシ評価要求は、ステップST17の過程で取得したユーザID、すなわちユーザのIdPアカウントと、認証連携要求内のサービスプロバイダIDとを含んでいる。
 以降、ステップST22~ST25を通じて、認証連携ポリシ評価部208は、認証連携ポリシ203aの評価に必要な情報を収集する。
 ステップST22では、認証連携ポリシ評価部209は、ポリシ評価要求内のユーザIDとサービスプロバイダIDに基づいてサービス利用状況ストア202からユーザのサービス利用状況を読み出す。但し、ステップST22は、後述するように静的なポリシ評価を実行する場合には省略される。このことは、ステップST23も同様である。
 ここで、サービス利用状況ストア202は、図3に示すような2つの情報群を管理している。例えば、図3の上段に示すように、ユーザ単位でIDプロバイダ装置200が連携する単一もしくは複数のサービスプロバイダ装置300に関する利用状況の情報が記憶されている。例えば、図10のユーザIDがuser_0020のレコードについては、SP(1)はサービス未利用の状態、SP(2)はサービス利用中、SP(3)はサービス一時停止中、SP(N)はサービス利用終了の状態を表している。また、図3の下段に示すように、サービスプロバイダ装置300単位で、それぞれのサービスプロバイダ装置300を利用するユーザ数、およびそのサービスプロバイダ装置300を利用できるユーザ数の上限値が記憶されている。
 以降、本実施形態では、図3を使って、ユーザIDはuser_0001、ユーザが要求するサービスプロバイダ装置300はSP(1)と仮定する。
 ステップST23では、認証連携ポリシ評価部209は、ポリシ評価要求内のユーザIDに基づいて、利用状況提供部308から、サービスプロバイダ装置300が管理するユーザの利用状況を取得する。
 ただし、ステップST23は、ユーザが希望するサービスプロバイダ装置300以外に、本実施形態のような他の全サービスプロバイダ装置300の利用状況がサービス未利用のケースでは実行されない。図3によると、ユーザIDがuser_0001のレコードがこれに該当する。
 ステップST23が実行されるケースは、図3のユーザIDが、user_0020とuser_1000である。このようなケースが起こる状況は、認証連携ポリシ203aの評価指標として、IDプロバイダ側でなく、他のサービスプロバイダ装置300側で管理する情報も含めたいときである。他のサービスプロバイダ装置300側で管理する情報の一例としては、ユーザがサービス利用時に課される費用、つまり従量制課金がある。このように、時間に応じてに変化する情報をも認証連携ポリシ203aの評価指標として含めることで、ユーザのサービス利用に関してダイナミックなアクセス制御(=動的なポリシ評価)が可能となる。なお、ダイナミックなアクセス制御を実行する場合には、前述した従量制課金に限らず、例えば、サービスの現在の利用数とその上限値とを管理してもよい。
 ステップST24では、認証連携ポリシ評価部209は、ポリシ評価要求内のユーザIDに基づいてIdPユーザリポジトリ201からユーザ属性情報201aを読み出す。本実施形態では、図2に示すようなユーザの属性情報となる。
 ステップST25では、認証連携ポリシ評価部209は、ポリシ評価要求内のサービスプロバイダIDに基づいて認証連携ポリシストア203から認証連携ポリシ203aを読み出す。本実施形態では、図4の各認証連携ポリシ203aのうち、図中Aに関連付けられた第1の認証連携ポリシ(SP(1)利用時のポリシ)203aAが検索結果として読み出される。
 ステップST26では、認証連携ポリシ評価部209は、静的なポリシ評価を実行する場合、ステップST25で読み出した認証連携ポリシ203aAに示される所属及び役職に対し、ステップST24で読み出したユーザ属性情報201a内の所属及び役職が適合するか否かに応じて、サービスデータ303aの送信を許可するか否かを判定する。
 但し、ステップST22のサービス利用状況をも用いる動的なポリシ評価を実行する場合には、ステップST22,ST24,ST25を通じて取得したサービス利用状況、ユーザ属性情報201a及び認証連携ポリシ203aAに基づいて、ポリシ評価を実行する。
 例えば、認証連携ポリシ203aAに示すSP(1)の利用に関するポリシ評価を例に説明する。認証連携ポリシ203aAには、事前に[1]~[4]のサービス利用条件が定義されており(静的なポリシ評価の場合には[4]は未定義)、収集したサービス利用状況、ユーザ属性情報201aが、これらのサービス利用条件を全て満たすことを以下のように確認する。その結果として、ユーザのサービス要求に対して、許可を下す。
 認証連携ポリシ203aAの[1]:認証連携ポリシ203aは、ユーザの所属する部がXであることを示す。これに対し、図2に示すように、ユーザ属性における当該ユーザの所属部が「X部門」である。従って、認証連携ポリシ203aにおける[1]の条件を満たす。
 認証連携ポリシ203aAの[2]:認証連携ポリシ203aは、ユーザの所属する課がYであることを示す。これに対し、図2に示すように、ユーザ属性における当該ユーザの所属課が「Y課」である。従って、認証連携ポリシ203aにおける[2]の条件を満たす。
 認証連携ポリシ203aAの[3]:認証連携ポリシ203aは、ユーザの役職がZ以上の役職であることを示す。これに対し、図2に示すように、ユーザ属性における当該ユーザの役職が「Z職」である。従って、認証連携ポリシ203aにおける[3]の条件を満たす。
 認証連携ポリシ203aAの[4]:認証連携ポリシ203aは、利用中のアカウント数が上限値を超えないことを示す。これに対し、図3に示すように、当該サービスの利用数が10であり、上限値100を超えていない。従って、認証連携ポリシ203aにおける[4]の条件を満たす。
 以上のように、事前に定義した認証連携ポリシ203aに基づき、収集したサービス利用状況とユーザ属性情報201aを使って、ユーザのサービス要求に対する認証連携ポリシ評価を行う。なお、上記の条件において、一つでも条件を満たさないことが確認できたら、認証連携ポリシ評価の結果は拒否となる。
 ステップST27では、認証連携ポリシ評価部209は、ステップST26の判定結果からなるポリシ評価結果をポリシ評価応答として、認証連携ハンドリング部208に送出する。
 以上により、ステップST20の認証連携ポリシ評価(ST21~ST27)が終了する。
 ステップST30のアカウント連携では、認証連携ポリシ評価により得られたポリシ評価応答(サービスデータ送信の許可を示す場合)に基づき、サービスプロバイダ装置300のSPユーザリポジトリ302に対して、ユーザのアカウントを作成することで、SSOの事前準備として必要なIDプロバイダ装置200とサービスプロバイダ装置300間でのアカウント連携を実現する。以下、図19のシーケンス図及び図20の模式図を用いて述べる。
 ステップST31では、認証連携ハンドリング部208は、ステップST27で送出されたポリシ評価応答に含まれるポリシ評価結果を確認し、サービス要求を許可する場合は、ポリシ評価要求内のユーザIDとサービスプロバイダIDとを含むアカウント連携要求をIdPアカウントプロビジョニング部210に依頼する。なお、ポリシ評価結果がサービス利用の拒否を示す場合、サービス利用拒否の旨をユーザ端末100に通知する。ここでは、ポリシ評価結果が許可の場合を例に挙げ、以降のステップST32~37を説明する。
 ステップST32では、IdPアカウントプロビジョニング部210は、送出されたアカウント連携内のサービスプロバイダID(例、SP(1))に基づいて、SPユーザ設定ルールストア204からユーザ設定ルール204aを読み出す。ユーザ設定ルール204aは、例えば、サービスプロバイダ装置300に対してアカウント登録を行う際、サービスプロバイダ装置300ごとに求められる必要なユーザ属性の項目名(ユーザ属性の一部の項目名)などがある。ここでは、IdPアカウントプロビジョニング部210は、ユーザ設定ルール204aとして、ユーザ属性の一部の項目名を読み出したものとする。
 ステップST33では、IdPアカウントプロビジョニング部210は、ステップST32で読み出した一部の項目名とアカウント連携要求内のユーザIDとに基づいて、IdPユーザリポジトリ201内で当該ユーザIDに一致するユーザIDを含むユーザ属性情報201aのうち、当該一部の項目名に一致する項目名及びこの項目名に関連付けられた項目値からなる必要なユーザ属性情報(ユーザ属性部分情報)を取得する。
 ステップST34では、IdPアカウントプロビジョニング部210は、取得したユーザ属性部分情報にアカウント登録指示を付加してアカウント連携要求メッセージを作成する。例えば、IdPアカウントプロビジョニング部210は、SPアカウントプロビジョニング部309が公開する操作インタフェースに基づき、SPユーザリポジトリ302の操作の種類と、その操作が対象とするステップST33で取得したユーザ属性部分情報を対応付けて、SPアカウント連携要求メッセージを作成する。なお、本実施形態では、サービスプロバイダ装置300側にユーザのアカウントが登録されてないため、操作の種類としてアカウント登録を指定する。
 ステップST35では、IdPアカウントプロビジョニング部210は、作成したSPアカウント連携要求メッセージを、認証連携要求の送信元のサービスプロバイダ装置300に送信する。SPアカウント連携要求メッセージは、サービスプロバイダ装置300内のSPアカウントプロビジョニング部309に受信される。
 ステップST36では、SPアカウントプロビジョニング部309は、受信したSPアカウント連携要求メッセージに基づき、SP側ユーザID(サービスプロバイダ装置300側のユーザID)を新規発行し、当該SP側ユーザIDと、アカウント連携要求メッセージ内のユーザ属性部分情報302aとを関連付けてSPユーザリポジトリ302に登録する。登録後、SPアカウントプロビジョニング部309は、登録したユーザ属性部分情報302a内のユーザIDと自装置のサービスプロバイダIDとを含む登録完了をアカウント連携要求メッセージの送信元のIDプロバイダ装置200に通知する。具体的には、登録完了は、IDプロバイダ装置200内のIdPアカウントプロビジョニング部210に通知される。
 ステップST37では、IdPアカウントプロビジョニング部210は、登録完了が通知されると、当該登録完了を示すアカウント連携応答を認証連携ハンドリング部208に送出する。
 以上により、ステップST30のアカウント連携(ST31~ST37)が終了する。
 ステップST40の認証連携では、アカウント連携終了後、IDプロバイダ装置200とサービスプロバイダ装置300との間で認証連携、すなわちSSOを行う。以下、図21のシーケンス図及び図22の模式図を用いて述べる。
 ステップST41では、認証連携ハンドリング部208は、ステップST37にて通知されたアカウント連携応答に含まれる結果を解析する。その結果に問題がなければ、認証連携ハンドリング部208は、送出されたアカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDに基づいて、サービス利用状況ストア202内のサービス利用状況をサービス未利用からサービス利用中に更新する。これにより、サービス利用状況ストア202において、当該ユーザが要求したサービスプロバイダ装置300の利用状況がサービス未利用の状態からサービス利用中の状態に変更される。
 ステップST42では、認証連携ハンドリング部208は、アカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDを含む認証連携実行要求をIdP認証連携部207に送出する。
 ステップST43では、IdP認証連携部207は、認証連携実行要求を受けると、当該認証連携実行要求内のサービスプロバイダIDで識別されるサービスプロバイダ装置300と自装置200との間で共有する認証連携IDを発行し、この認証連携IDと当該認証連携実行要求内のユーザIDとを関連付けて一時記憶部205に書き込む。
 ステップST44では、IdP認証連携部207は、発行した認証連携IDと、ステップST17で行ったログイン処理の認証方式名とを含むアサーション本文を作成する。また、IdP認証連携部207は、アサーション本文に対して鍵記憶部206内の署名生成鍵に基づくデジタル署名を生成する。さらに、IdP認証連携部207は、当該アサーション本文と当該デジタル署名とを含む認証アサーション207aを作成する。
 ステップST45では、IdP認証連携部207は、作成した認証アサーション207aを含む認証連携応答を、認証連携要求の送信元のサービスプロバイダ装置300に送信する。この認証連携応答は、当該サービスプロバイダ装置300のSP認証連携部307に受信される。
 ステップST46では、SP認証連携部307は、認証連携応答を受けると、当該認証連携応答内の認証アサーション207aから認証連携IDを抽出し、当該抽出した認証連携IDと、ステップST36でSPユーザリポジトリ302に登録されたユーザ属性部分情報302a内のユーザIDとを関連付けて一時記憶部305に書き込む。
 ステップST47では、SP認証連携部307は、認証アサーション検証ポリシ内の認証方式名と署名検証鍵とに基づいて、認証アサーション207a内の認証方式名とデジタル署名とをそれぞれ検証する。これにより、SP認証連携部307は、IDプロバイダ装置200が発行した認証アサーション207aから、IDプロバイダ装置200の認証結果を信頼できるかを判断し、ユーザへのサービスデータ送信(サービス提供)の可否を決定する。本実施形態では、検証した結果がいずれも正当であるとし、サービスデータ送信を許可として決定する。
 ステップST48では、SP認証連携部307は、ステップST47で許可と決定されたとき、認証トークンを発行し、この認証トークンを認証連携IDに関連付けて一時記憶部305に書き込む。
 ステップST49では、SP認証連携部307は、書き込まれた認証トークンと、当該認証トークンに一時記憶部305内で認証連携IDを介して関連付けられたユーザIDとを含むサービス実行要求をサービスデータ通信部310に送出する。サービスデータ通信部310は、送出されたサービス実行要求に基づいて、当該サービス実行要求内の認証トークンとサービスデータストア303内のサービスデータ303aとをユーザ端末100に送信する。
 上述したように本実施形態によれば、ユーザからのサービスプロバイダ装置300へのサービス要求に対し、IDプロバイダ装置200内に配備された認証連携ハンドリング部208がサービスプロバイダ装置300からの認証連携要求をインターセプトし、事前に定義された認証連携ポリシ203aに基づき、サービスデータ303aの送信可否を判定する。そして、判定結果が許可の場合、IDプロバイダ装置200内で管理される当該ユーザ属性情報201aを使って、サービスプロバイダ装置300内で管理されるSPユーザリポジトリ302に対して、当該ユーザのアカウントを作成する。その後、IDプロバイダ装置200とサービスプロバイダ装置300の各々が、従来の認証連携処理を行い、当該ユーザに対してサービスプロバイダ装置300から所望のサービスが提供される。
 従って、サービスプロバイダ装置300側に当該ユーザのアカウントが登録されてない状態でも、当該ユーザのサービス要求、すなわちSSOの実施タイミングで、IDプロバイダ装置200側に事前に定義した認証連携ポリシ203aに基づき、サービスデータ303aの送信可否を自動判定することで、人手を介すことなく、且つ時間を要することなく、当該ユーザに対してシームレスなサービス利用を提供することができる。
 また、インターネットなどの分散環境下で提供されるサービス利用において、事前に定義したサービス利用のポリシとサービスの利用状況に基づいて、サービスの利用申請からシングルサインオンまでの一連の処理を自動化し、ユーザのスムーズなサービス利用の開始を実現することができる。
 <第2の実施形態>
 次に、第2の実施形態について前述した図面を参照しながら説明する。
 第2の実施形態は、第1の実施形態のステップST23を実行する場合の具体例である。ここでは、サービス要求を送信したユーザ端末100のユーザが、既に他の様々なサービスプロバイダを利用している状況下にあって、別のサービスプロバイダを新規利用する場合を例に挙げて述べる。
 この場合、第1の実施形態のステップST23において、ユーザが利用中の各サービスプロバイダの利用料金を認証連携ポリシ評価の指標として利用し、認証連携ポリシ203aに対して、利用料金の上限値を事前に定義することで(例、図4のCの[4])、別のサービスプロバイダの新規利用を拒否可能としている。
 これに伴い、サービスプロバイダ装置300の利用状況ストア304は、図23に示すように、ユーザ利用管理テーブル304aにおいて、ユーザIDと、サービス利用中の状態に対して累積した利用料金とを関連付けて記憶する。
 また、利用状況提供部308は、IDプロバイダ装置200からユーザIDを含む利用料金送信要求を受けると、この利用料金送信要求内のユーザIDに基づいて利用状況ストア304を検索し、当該検索により得られた利用料金及び当該ユーザIDを含む利用料金応答を当該IDプロバイダ装置200に送信する機能をもっている。
 一方、IDプロバイダ装置200においては、認証連携ポリシストア203内の各認証連携ポリシ203aのうちのいずれかの認証連携ポリシ203aは、サービスプロバイダIDに関連付けて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300によるサービスデータ303aの送信が許可されるユーザの所属及び役職と、当該ユーザの利用料金の上限値(例、図4のCの[4])とを示している。
 また、認証連携ポリシ評価部209は、認証連携ハンドリング部208から送出されたポリシ評価要求内のユーザIDとサービスプロバイダIDとに基づいて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300に対し、当該ユーザIDを含む利用料金送信要求を送信し、当該サービスプロバイダ装置300から当該ユーザID及び利用料金を含む利用料金応答を受信する機能を更に備えている。なお、受信した利用料金は、図24に示すように、ユーザIDとサービスプロバイダIDとに関連付けてサービス状況ストア202内のユーザ利用管理テーブル202aに書き込んでもよいが、必ずしも書き込まなくてもよい。
 また、認証連携ポリシ評価部209の前述した送信許可判定機能は、認証連携ポリシストア203から読み出した認証連携ポリシ203aにユーザの所属及び役職と利用料金の上限値とが含まれる場合、読み出したポリシ情報に示される所属及び役職に対してIdPユーザリポジトリ201から読み出したユーザ属性情報201a内の所属及び役職が適合するか否かと、当該読み出したポリシ情報に示される利用料金の上限値に対してサービスプロバイダ装置300から受信した利用料金応答内の利用料金が適合するか否かとに応じて、サービスデータ303aの送信を許可するか否かを判定する機能となっている。
 ここで、本明細書においては、上述したような読み出したポリシ情報に示される所属及び役職には限られず、読み出したポリシ情報に対して、読み出したユーザ属性情報、ユーザが利用したいサービスの種類、ユーザが行いたいサービスへの操作、サービスを実行するに際してのユーザの環境条件に適合するか否かと、当該読み出したポリシ情報に示される利用料金の上限値に対して、受信した利用料金応答内の利用料金が適合するか否かとに応じて、サービスデータ303aの送信を許可するか否かを判定しても良い。
 次に、以上のように構成された認証連携システムの動作について前述した図17を主に参照して説明する。
 今、ステップST10のユーザ認証(ST11~ST18)は、前述した通りに実行される。
 続いて、ステップST20の認証連携ポリシ評価においては、ステップST21(ポリシ評価要求)及びステップST22(サービス利用状況の検索)が前述した通りに実行される。
 ステップST23では、認証連携ポリシ評価部209は、認証連携ハンドリング部208から送出されたポリシ評価要求内のユーザIDとサービスプロバイダIDとに基づいて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300に対し、当該ユーザIDを含む利用料金送信要求を送信する。
 サービスプロバイダ装置300の利用状況提供部308は、この利用料金送信要求内のユーザIDに基づいて利用状況ストア304を検索し、当該検索により得られた利用料金及び当該ユーザIDを含む利用料金応答を当該IDプロバイダ装置200に送信する。
 IDプロバイダ装置200の認証連携ポリシ評価部209は、この利用料金応答を受信する。
 次に、ステップST24(ユーザ属性情報201aの検索)及びステップST25(認証連携ポリシ203aの検索)が前述同様に実行される。但し、認証連携ポリシ203aは、利用料金の上限値を含んでいるものとする。
 ステップST26では、認証連携ポリシ評価部209は、認証連携ポリシストア203から読み出した認証連携ポリシ203aにユーザの所属及び役職と利用料金の上限値とが含まれる場合、読み出したポリシ情報に示される所属及び役職に対してIdPユーザリポジトリ201から読み出したユーザ属性情報201a内の所属及び役職が適合するか否かと、当該読み出したポリシ情報に示される利用料金の上限値に対してサービスプロバイダ装置300から受信した利用料金応答内の利用料金が適合するか否かとに応じて、サービスデータ303aの送信を許可するか否かを判定する。
 以降のステップST27(ポリシ評価応答)、ステップST30のアカウント連携(ST31~ST37)及びステップST40の認証連携(ST41~ST49)の処理は、前述した通りに実行される。
 上述したように本実施形態によれば、第1の実施形態の効果に加え、ユーザの利用料金にも応じて、サービスデータ送信の可否を判定することができる。
 従って、認証連携ポリシ203aを導入し、IDプロバイダ装置200やサービスプロバイダ装置300側で管理する動的に変化するサービス利用状況も、ユーザ単位でなく、IDプロバイダ単位で取り扱うことで、厳密な認証連携およびサービス利用の制御が可能となる。
 補足すると、第1の実施形態においてスムーズなサービス利用が可能になることで利便性が向上する反面、企業などの営利組織にとって無駄なサービス利用は好ましくない。従って、ユーザや組織レベルでのサービス利用状況に応じて、ダイナミック且つ柔軟に利用管理をコントロールする仕組みを備えていることが望ましい。本実施形態及び第3の実施形態はこのような仕組みを備えた認証連携システムを実現することができる。
 <第3の実施形態>
 次に、第3の実施形態について前述した図面を参照しながら説明する。
 第3の実施形態は、第1の実施形態のステップST23を実行する場合の他の具体例である。ここでは、サービスプロバイダ装置300では、サービスを利用するユーザの数が上限値にある状況において、新たにサービス要求を受けた場合を例に挙げて述べる。
 すなわち、サービスプロバイダの利用数を認証連携ポリシ評価の指標として利用し、認証連携ポリシ203aに対して、利用数が上限値を超過した場合の追加条件を事前に定義しておく(図4のBの[4])。事前に定義する追加条件には、IDプロバイダ装置200内で管理する遊休状態のユーザが存在すれば、サービスプロバイダ装置300内で管理する遊休状態ユーザのアカウントを削除もしくは無効化し、新規ユーザのアカウント登録の責務条件を定義する(図4のBの[4]の[責務条件])。このように、利用数が上限を超えた場合に、遊休ユーザのアカウントを無効化して空いた枠を申請ユーザのアカウントに割り当てる旨の責務条件を備えた認証連携ポリシ203aにより、利用数が上限を超えた場合でも、IDプロバイダ内の利用状況に合わせて、必要に応じた素早いサービス利用が開始可能となっている。
 換言すると、認証連携ポリシストア203内の各認証連携ポリシ203aのうちのいずれかの認証連携ポリシ203aは、サービスプロバイダIDに関連付けて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300によるサービスデータ303aの送信が許可されるユーザの所属及び役職と、当該ユーザの人数が上限値を超えた場合には当該ユーザの中で最終利用日から現在までの期間が所定期間以上であるユーザが存在することと、当該存在するユーザのユーザ属性部分情報302aを無効化すること(例、図4のBの[4])とを示している。なお、ここでいう「ユーザの人数」は、サービス利用状況ストア202内の「現在の利用数」に等しい値を意味している。
 これに伴い、サービスプロバイダ装置300の利用状況ストア304は、図25に示すように、ユーザ利用管理テーブル304aにおいて、前述した記憶内容に加え、ユーザIDと、サービスデータ303aを送信した最終の日付を示す最終利用日とを含む最終利用日情報とを記憶する。
 また、利用状況提供部308は、IDプロバイダ装置200から最終利用日送信要求を受けると、利用状況ストア304内の最終利用日情報を当該IDプロバイダ装置200に送信する機能をもっている。 
 一方、IDプロバイダ装置200の認証連携ポリシ評価部209は、前述した機能に加え、認証連携ハンドリング部208から送出されたポリシ評価要求内のサービスプロバイダIDに基づいてサービス利用状況ストア202から利用数及び上限値を読み出す機能と、当該送出されたポリシ評価要求内のサービスプロバイダIDに基づいて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300に対し、最終利用日送信要求を送信し、当該サービスプロバイダ装置300から最終利用日情報を受信する機能とをもっている。なお、受信した最終利用日情報は、図26に示すように、ユーザIDとサービスプロバイダIDとに関連付けてサービス状況ストア202内のユーザ利用管理テーブル202aに書き込んでもよいが、必ずしも書き込まなくてもよい。
 また、認証連携ポリシ評価部209の前述した送信許可判定機能は、認証連携ポリシストア203から読み出した認証連携ポリシ203aにユーザの所属及び役職と利用数の上限値を超えた場合に所定期間以上であるユーザが存在することと当該存在するユーザのユーザ属性部分情報302aを無効化することとが含まれる場合、当該読み出した認証連携ポリシ203aに示される所属及び役職に対してIdPユーザリポジトリ201から読み出したユーザ属性情報201a内の所属及び役職が適合するか否かと、サービス利用状況ストア202から読み出した利用数が当該サービス利用状況ストア202から読み出した上限値を超えた場合に最終利用日送信要求をサービスプロバイダ装置200に送信して当該サービスプロバイダ装置200から受けた最終利用日情報内の最終利用日が読み出した認証連携ポリシ203a内の所定期間以上に適合するか否かとに応じてサービスデータ303aの送信を許可するか否かを判定する機能とをもっている。
 次に、以上のように構成された認証連携システムの動作について前述した図17を主に参照して説明する。
 今、ステップST10のユーザ認証(ST11~ST18)は、前述した通りに実行される。
 続いて、ステップST20の認証連携ポリシ評価においては、ステップST21(ポリシ評価要求)及びステップST22(サービス利用状況の検索)が前述同様に実行される。このステップST22では、ポリシ評価要求内のサービスプロバイダIDに基づいてサービス利用状況ストア202から利用数及び上限値が読み出される。
 ステップST23では、認証連携ポリシ評価部209は、認証連携ハンドリング部208から送出されたポリシ評価要求内のユーザIDとサービスプロバイダIDとに基づいて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300に対し、最終利用日送信要求を送信する。
 サービスプロバイダ装置300の利用状況提供部308は、この最終利用日送信要求を受けると、利用状況ストア304内の最終利用日情報をIDプロバイダ装置200に送信する。
 IDプロバイダ装置200の認証連携ポリシ評価部209は、この最終利用日情報を受信する。
 次に、ステップST24(ユーザ属性情報201aの検索)及びステップST25(認証連携ポリシ203aの検索)が前述同様に実行される。但し、認証連携ポリシ203aは、サービスプロバイダIDに関連付けて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300によるサービスデータ303aの送信が許可されるユーザの所属及び役職と、当該ユーザの人数が上限値を超えた場合には当該ユーザの中で最終利用日から現在までの期間が所定期間以上であるユーザが存在することと、当該存在するユーザのユーザ属性部分情報302aを無効化すること(例、図4のBの[4])とを示しているものとする。
 ステップST26では、認証連携ポリシ評価部209が、図4の203aBで示す認証連携ポリシに基づいて、連携の可否を決定する。認証連携ポリシストア203から読み出した認証連携ポリシ203aにユーザの所属及び役職と利用数の上限値を超えた場合に所定期間以上であるユーザが存在することと当該存在するユーザのユーザ属性部分情報302aを無効化することとが含まれる場合、当該読み出した認証連携ポリシ203aに示される所属及び役職に対してIdPユーザリポジトリ201から読み出したユーザ属性情報201a内の所属及び役職が適合するか否かと、サービス利用状況ストア202から読み出した利用数が当該サービス利用状況ストア202から読み出した上限値を超えた場合に最終利用日送信要求をサービスプロバイダ装置200に送信して当該サービスプロバイダ装置200から受けた最終利用日情報内の最終利用日が読み出した認証連携ポリシ203a内の所定期間以上に適合するか否かとに応じてサービスデータ303aの送信を許可するか否かを判定する。
 ステップST27(ポリシ評価応答)では、認証連携ポリシ評価部209が下した許可に加えて、図4の認証連携ポリシ203aにおけるB[4]からの「半年以上に渡ってサービス未使用のユーザのSPアカウントを無効化する」との責務条件付きの評価結果を、認証連携ポリシ評価部209が認証連携ハンドリング部208に返す。このとき、無効化対象ユーザのユーザIDも当該評価結果には付与される。
 以降のステップST30のアカウント連携(ST31~ST37)及びステップST40の認証連携(ST41~ST49)の処理は、前述した通りに実行される。なお、本実施形態では、認証連携ポリシの評価結果として条件が含まれるため、ステップST33(ユーザ属性情報の検索)とステップST34(SPアカウント連携要求メッセージ送信)において、次のような処理が加わる。
 まず、ステップST33においては、IdPアカウントプロビジョニング部210が、当該ユーザの属性情報に加えて、無効化対象ユーザのアカウントを無効化するために必要な属性情報も検索する。また、ステップST34においては、IdPアカウントプロビジョニング部210が、当該ユーザのユーザ属性部分情報とアカウント登録指示に加えて、更に無効化対象ユーザのアカウントを無効化するアカウント更新指示も付加して、アカウント連携要求メッセージを作成する。
 上述したように本実施形態によれば、第1の実施形態の効果に加え、利用数が上限を超えた場合に、遊休ユーザのアカウントを無効化して空いた枠を申請ユーザのアカウントに割り当てる旨の責務条件を認証連携ポリシ203aに加えた構成により、利用数が上限を超えた場合でも、IDプロバイダ内の利用状況に合わせて、素早くサービス利用を開始することができる。
 以上説明した少なくとも一つの実施形態によれば、サービスプロバイダID毎に、サービスデータ303aの送信が許可されるユーザの所属及び役職を示す複数の認証連携ポリシ203aを記憶する認証連携ポリシストア203と、読み出した認証連携ポリシ203aに示される所属及び役職に対し、読み出したユーザ属性情報201a内の所属及び役職が適合するか否かに応じて、サービスデータ303aの送信を許可するか否かを判定する認証連携ポリシ評価部209とを備えた構成により、SSOの過程でアカウント登録及び連携を実行する際に、人手を介さずにサービス利用可否を決定することができる。
 補足すると、従来のデータ処理システムにおいては、サービスプロバイダがアカウントを登録するための十分な情報を保持していないことを確認し、不足したユーザ属性をIDプロバイダに要求する手間がかかり、このような確認や要求に人手を介していた。
 一方、少なくとも一つの実施形態では、前述した予め認証連携ポリシ203aを記憶した構成により、従来のような確認や要求に人手を介することがない。
 なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD-ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
 また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
 また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
 さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
 また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
 なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
 また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
 なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。

Claims (4)

  1.  ユーザが操作するユーザ端末にログイン処理を実行可能で第1メモリを有するIDプロバイダ装置と、前記ログイン処理が成功した場合に前記ユーザ端末にサービスデータを送信可能で第2メモリを有する複数のサービスプロバイダ装置とを備えた認証連携システムであって、
     前記IDプロバイダ装置は、
     前記ユーザを特定するためのユーザ属性の項目名と前記ユーザ属性の項目値とを関連付けたユーザ属性情報であって、少なくとも前記ユーザを識別するユーザIDを前記項目名に含む複数の前記ユーザ属性情報を記憶するユーザ属性情報記憶手段と、
     前記ユーザIDと、前記各サービスプロバイダ装置を識別するサービスプロバイダIDと、前記サービスデータの送信が許可された場合を示すサービス利用中、又は前記サービスデータの送信が許可されていない場合を示すサービス未利用のいずれかを示すサービス利用状況とを関連付けて記憶するサービス利用状況記憶手段と、
     前記サービスプロバイダID毎に、当該サービスプロバイダIDで識別されるサービスプロバイダ装置によるサービスデータの送信が許可される対象となるユーザを示す複数のポリシ情報を記憶するポリシ記憶手段と、
     前記サービスプロバイダIDと、前記ユーザ属性情報内のユーザ属性の項目名のうち、一部の項目名とを関連付けて記憶する一部項目名記憶手段と、
     自装置の署名生成鍵を記憶する鍵記憶手段と、
     いずれかの前記サービスプロバイダ装置から送信されて当該サービスプロバイダ装置のサービスプロバイダIDと前記ユーザ端末のアドレス情報とを含む認証連携要求を受けると、当該認証連携要求内のユーザ端末のアドレス情報を含むユーザ認証要求を送出する手段と、
     前記送出されたユーザ認証要求内のユーザ端末のアドレス情報に基づいて、当該ユーザ端末にログイン要求を送信し、当該ユーザ端末から受けたユーザID及びユーザ認証情報を前記ユーザ属性情報記憶手段内のユーザID及び参照情報に基づいて認証するログイン処理を実行する手段と、
     前記ログイン処理が成功したとき、当該ログイン処理に用いたユーザIDと前記認証連携要求内のサービスプロバイダIDとを含むポリシ評価要求を送出する手段と、
     前記送出されたポリシ評価要求内のユーザIDに基づいて前記ユーザ属性記憶手段からユーザ属性情報を読み出す手段と、
     前記送出されたポリシ評価要求内のサービスプロバイダIDに基づいて前記ポリシ記憶手段からポリシ情報を読み出す手段と、
     前記読み出したポリシ情報に対して、前記読み出したユーザ属性情報、ユーザが利用したいサービスの種類、ユーザが行いたいサービスへの操作、サービスを実行するに際してのユーザの環境条件に適合するか否かに応じて、前記サービスデータの送信を許可するか否かを判定する送信許可判定手段と、
     この判定結果を含むポリシ評価応答を前記ポリシ評価要求の送信元に送出する手段と、
     前記ポリシ評価応答内の判定結果が許可を示す場合、前記ポリシ評価要求内のユーザIDとサービスプロバイダIDとを含むアカウント連携要求を送出する手段と、
     前記送出されたアカウント連携要求内のサービスプロバイダIDに基づいて、前記一部項目名記憶手段からユーザ属性の一部の項目名を読み出す手段と、
     当該読み出した一部の項目名と前記アカウント連携要求内のユーザIDとに基づいて、前記ユーザ属性記憶手段内で当該ユーザIDに一致するユーザIDを含むユーザ属性情報のうち、当該一部の項目名に一致する項目名及びこの項目名に関連付けられた項目値からなるユーザ属性部分情報を取得する手段と、
     前記取得したユーザ属性部分情報にアカウント登録指示を付加してアカウント連携要求メッセージを作成する手段と、
     前記アカウント連携要求メッセージを前記認証連携要求の送信元のサービスプロバイダ装置に送信する手段と、
     前記アカウント連携要求メッセージの送信先のサービスプロバイダ装置から当該サービスプロバイダ装置のサービスプロバイダIDと前記ユーザ属性部分情報内のユーザIDとを含む登録完了が通知されると、当該登録完了を示すアカウント連携応答を送出する手段と、
     前記送出されたアカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDに基づいて、前記サービス利用状況記憶手段内のサービス利用状況をサービス未利用からサービス利用中に更新する手段と、
     前記送出されたアカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDを含む認証連携実行要求を送出する手段と、
     前記認証連携実行要求を受けると、当該認証連携実行要求内のサービスプロバイダIDで識別されるサービスプロバイダ装置と自装置との間で共有する認証連携IDを発行し、この認証連携IDと当該認証連携実行要求内のユーザIDとを関連付けて前記第1メモリに書き込む手段と、
     前記発行した認証連携IDと、前記ログイン処理の認証方式名とを含むアサーション本文に対して前記署名生成鍵に基づくデジタル署名を生成し、当該アサーション本文と当該デジタル署名とを含む認証アサーションを作成する手段と、
     前記作成した認証アサーションを含む認証連携応答を前記認証連携要求の送信元のサービスプロバイダ装置に送信する手段と
     を備え、
     前記各サービスプロバイダ装置は、
     前記ユーザ属性情報記憶手段内のユーザ属性情報内のユーザ属性の項目名及び項目値のうちの一部の項目名と項目値とを関連付けたユーザ属性部分情報と、自装置内でユーザを識別するSP側ユーザIDとを関連付けて記憶するユーザ属性部分情報記憶手段と、
     前記ログイン処理が成功した場合にサービスデータの送信を許可するログイン処理の認証方式名と、前記署名生成鍵に対応する署名検証鍵とを含む認証アサーション検証ポリシを記憶する検証ポリシ記憶手段と、
     前記サービスデータを記憶するサービスデータ記憶手段と、
     前記ユーザ端末からサービス要求を受けると、当該サービス要求が認証トークンを含むか否かを判定し、前記認証トークンを含む場合には当該認証トークンと前記サービスデータ記憶手段内のサービスデータとを当該ユーザ端末に送信し、否の場合には自装置のサービスプロバイダIDと当該ユーザ端末のアドレス情報とを含む認証連携要求を前記IDプロバイダ装置に送信する手段と、
     前記アカウント連携要求メッセージを受信すると、新規の前記SP側ユーザIDを発行し、当該発行したSP側ユーザIDと、当該アカウント連携要求メッセージ内のユーザ属性部分情報とを関連付けて前記ユーザ属性部分情報記憶手段に登録する手段と、
     この登録の後、登録したユーザ属性部分情報内のユーザIDと自装置のサービスプロバイダIDとを含む登録完了を前記アカウント連携要求メッセージの送信元のIDプロバイダ装置に通知する手段と、
     前記IDプロバイダ装置から認証連携応答を受けると、当該認証連携応答内の認証アサーションから認証連携IDを抽出し、当該抽出した認証連携IDと、前記登録されたユーザ属性部分情報内のユーザIDとを関連付けて前記第2メモリに書き込む手段と、
     前記認証アサーション検証ポリシ内の認証方式名と署名検証鍵とに基づいて、前記認証アサーション内の認証方式名とデジタル署名とをそれぞれ検証する検証手段と、
     前記検証した結果がいずれも正当のとき、認証トークンを発行し、この認証トークンを前記認証連携IDに関連付けて前記第2メモリに書き込む手段と、
     前記書き込まれた認証トークンと、当該認証トークンに前記第2メモリ内で前記認証連携IDを介して関連付けられたユーザIDとを含むサービス実行要求を送出する手段と、
     前記送出されたサービス実行要求に基づいて、当該サービス実行要求内の認証トークンと前記サービスデータ記憶手段内のサービスデータとを前記ユーザ端末に送信する手段と
     を備えたことを特徴とする認証連携システム。
  2.  請求項1に記載の認証連携システムにおいて、
     前記各サービスプロバイダ装置は、
     前記ユーザIDと、前記サービス利用中の状態に対して累積した利用料金とを関連付けて記憶する利用料金記憶手段と、
     前記IDプロバイダ装置からユーザIDを含む利用料金送信要求を受けると、この利用料金送信要求内のユーザIDに基づいて前記利用料金記憶手段を検索し、当該検索により得られた利用料金及び当該ユーザIDを含む利用料金応答を当該IDプロバイダ装置に送信する手段と
     を更に備え、
     前記IDプロバイダ装置は、
     前記各ポリシ情報のうちのいずれかのポリシ情報は、前記サービスプロバイダIDに関連付けて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置によるサービスデータの送信が許可される対象となるユーザの環境条件と、当該ユーザの利用料金の上限値とを示しており、
     前記送出されたポリシ評価要求内のユーザIDとサービスプロバイダIDとに基づいて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置に対し、当該ユーザIDを含む利用料金送信要求を送信し、当該サービスプロバイダ装置から当該ユーザID及び利用料金を含む利用料金応答を受信する手段と
     を更に備え、
     前記送信許可判定手段は、前記読み出したポリシ情報に対して前記読み出したユーザ属性情報、ユーザが利用したいサービスの種類、ユーザが行いたいサービスへの操作、サービスを実行するに際してのユーザの環境条件に適合するか否かと、当該読み出したポリシ情報に示される利用料金の上限値に対して前記受信した利用料金応答内の利用料金が適合するか否かとに応じて、前記サービスデータの送信を許可するか否かを判定することを特徴とする認証連携システム。
  3.  請求項1に記載の認証連携システムにおいて、
     前記各ポリシ情報のうちのいずれかのポリシ情報は、前記サービスプロバイダIDに関連付けて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置によるサービスデータの送信が許可される対象となるユーザの環境条件と、当該ユーザの人数が上限値を超えた場合には当該ユーザの中で最終利用日から現在までの期間が所定期間以上であるユーザが存在することと、当該存在するユーザのユーザ属性部分情報を無効化することとを示しており、
     前記各サービスプロバイダ装置は、
     前記ユーザIDと、前記サービスデータを送信した最終の日付を示す最終利用日とを含む最終利用日情報を記憶する最終利用日記憶手段と、
     前記IDプロバイダ装置から最終利用日送信要求を受けると、前記最終利用日記憶手段内の最終利用日情報を当該IDプロバイダ装置に送信する手段と、
     を更に備え、
     前記IDプロバイダ装置は、
     前記サービスプロバイダIDと、当該サービスプロバイダIDに関連付けられた前記サービス利用状況が示す前記サービス利用中の個数を示していて前記ユーザの人数に等しい利用数と、前記利用数の上限値とを関連付けて記憶するサービス利用数記憶手段と、
     前記送出されたポリシ評価要求内のサービスプロバイダIDに基づいて前記サービス利用数記憶手段から利用数及び上限値を読み出す手段と、
     前記送出されたポリシ評価要求内のサービスプロバイダIDに基づいて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置に対し、前記最終利用日送信要求を送信し、当該サービスプロバイダ装置から前記最終利用日情報を受信する手段と
     を更に備え、
     前記送信許可判定手段は、
     前記読み出したポリシ情報にユーザの利用数の上限値を超えた場合に前記所定期間以上であるユーザが存在することと当該存在するユーザのユーザ属性部分情報を無効化することとが含まれる場合、前記読み出したポリシ情報に対して前記読み出したユーザ属性情報、ユーザが利用したいサービスの種類、ユーザが行いたいサービスへの操作、サービスを実行するに際してのユーザの環境条件に適合するか否かと、前記サービス利用数記憶手段から読み出した利用数が当該サービス利用数記憶手段から読み出した上限値を超えた場合に前記最終利用日送信要求をサービスプロバイダ装置に送信して当該サービスプロバイダ装置から受けた最終利用日情報内の最終利用日が前記読み出したポリシ情報内の所定期間以上に適合するか否かとに応じて、前記サービスデータの送信を許可するか否かを判定する手段と、
     この判定の結果が許可を示す場合、当該判定に用いた所定期間以上のユーザのユーザIDを含む無効化要求を前記サービスプロバイダ装置に送信する手段と
     を備えたことを特徴とする認証連携システム。
  4.  ユーザが操作するユーザ端末にログイン処理を実行可能で第1メモリを有するIDプロバイダ装置における前記ログイン処理が成功した場合に前記ユーザ端末にサービスデータを送信可能で第2メモリを有する複数のサービスプロバイダ装置に通信可能な前記IDプロバイダ装置であって、
     前記ユーザを特定するためのユーザ属性の項目名と前記ユーザ属性の項目値とを関連付けたユーザ属性情報であって、少なくとも前記ユーザを識別するユーザIDを前記項目名に含む複数の前記ユーザ属性情報を記憶するユーザ属性情報記憶手段と、
     前記ユーザIDと、前記各サービスプロバイダ装置を識別するサービスプロバイダIDと、前記サービスデータの送信が許可された場合を示すサービス利用中、又は前記サービスデータの送信が許可されていない場合を示すサービス未利用のいずれかを示すサービス利用状況とを関連付けて記憶するサービス利用状況記憶手段と、
     前記サービスプロバイダID毎に、当該サービスプロバイダIDで識別されるサービスプロバイダ装置によるサービスデータの送信が許可される対象となるユーザの環境条件を示す複数のポリシ情報を記憶するポリシ記憶手段と、
     前記サービスプロバイダIDと、前記ユーザ属性情報内のユーザ属性の項目名のうち、一部の項目名とを関連付けて記憶する一部項目名記憶手段と、
     自装置の署名生成鍵を記憶する鍵記憶手段と、
     いずれかの前記サービスプロバイダ装置から送信されて当該サービスプロバイダ装置のサービスプロバイダIDと前記ユーザ端末のアドレス情報とを含む認証連携要求を受けると、当該認証連携要求内のユーザ端末のアドレス情報を含むユーザ認証要求を送出する手段と、
     前記送出されたユーザ認証要求内のユーザ端末のアドレス情報に基づいて、当該ユーザ端末にログイン要求を送信し、当該ユーザ端末から受けたユーザID及びユーザ認証情報を前記ユーザ属性情報記憶手段内のユーザID及び参照情報に基づいて認証するログイン処理を実行する手段と、
     前記ログイン処理が成功したとき、当該ログイン処理に用いたユーザIDと前記認証連携要求内のサービスプロバイダIDとを含むポリシ評価要求を送出する手段と、
     前記送出されたポリシ評価要求内のユーザIDに基づいて前記ユーザ属性記憶手段からユーザ属性情報を読み出す手段と、
     前記送出されたポリシ評価要求内のサービスプロバイダIDに基づいて前記ポリシ記憶手段からポリシ情報を読み出す手段と、
     前記読み出したポリシ情報に対し、前記読み出したユーザ属性情報、ユーザが利用したいサービスの種類、ユーザが行いたいサービスへの操作、サービスを実行するに際してのユーザの環境条件に適合するか否かに応じて、前記サービスデータの送信を許可するか否かを判定する送信許可判定手段と、
     この判定結果を含むポリシ評価応答を前記ポリシ評価要求の送信元に送出する手段と、
     前記ポリシ評価応答内の判定結果が許可を示す場合、前記ポリシ評価要求内のユーザIDとサービスプロバイダIDとを含むアカウント連携要求を送出する手段と、
     前記送出されたアカウント連携要求内のサービスプロバイダIDに基づいて、前記一部項目名記憶手段からユーザ属性の一部の項目名を読み出す手段と、
     当該読み出した一部の項目名と前記アカウント連携要求内のユーザIDとに基づいて、前記ユーザ属性記憶手段内で当該ユーザIDに一致するユーザIDを含むユーザ属性情報のうち、当該一部の項目名に一致する項目名及びこの項目名に関連付けられた項目値からなるユーザ属性部分情報を取得する手段と、
     前記取得したユーザ属性部分情報にアカウント登録指示を付加してアカウント連携要求メッセージを作成する手段と、
     前記アカウント連携要求メッセージを前記認証連携要求の送信元のサービスプロバイダ装置に送信する手段と、
     前記アカウント連携要求メッセージの送信先のサービスプロバイダ装置から当該サービスプロバイダ装置のサービスプロバイダIDと前記ユーザ属性部分情報内のユーザIDとを含む登録完了が通知されると、当該登録完了を示すアカウント連携応答を送出する手段と、
     前記送出されたアカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDに基づいて、前記サービス利用状況記憶手段内のサービス利用状況をサービス未利用からサービス利用中に更新する手段と、
     前記送出されたアカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDを含む認証連携実行要求を送出する手段と、
     前記認証連携実行要求を受けると、当該認証連携実行要求内のサービスプロバイダIDで識別されるサービスプロバイダ装置と自装置との間で共有する認証連携IDを発行し、この認証連携IDと当該認証連携実行要求内のユーザIDとを関連付けて前記第1メモリに書き込む手段と、
     前記発行した認証連携IDと、前記ログイン処理の認証方式名とを含むアサーション本文に対して前記署名生成鍵に基づくデジタル署名を生成し、当該アサーション本文と当該デジタル署名とを含む認証アサーションを作成する手段と、
     前記作成した認証アサーションを含む認証連携応答を前記認証連携要求の送信元のサービスプロバイダ装置に送信する手段と
     を備え、
     前記各サービスプロバイダ装置は、
     前記ユーザ端末からサービス要求を受けると、当該サービス要求が認証トークンを含むか否かを判定し、前記認証トークンを含む場合には当該認証トークンと前記サービスデータ記憶手段内のサービスデータとを当該ユーザ端末に送信し、否の場合には自装置のサービスプロバイダIDと当該ユーザ端末のアドレス情報とを含む認証連携要求を前記IDプロバイダ装置に送信し、
     前記アカウント連携要求メッセージを受信すると、新規の前記SP側ユーザIDを発行し、当該発行したSP側ユーザIDと、当該アカウント連携要求メッセージ内のユーザ属性部分情報とを関連付けて登録し、
     この登録の後、登録したユーザ属性部分情報内のユーザIDと自装置のサービスプロバイダIDとを含む登録完了を前記アカウント連携要求メッセージの送信元のIDプロバイダ装置に通知し、
     前記IDプロバイダ装置から認証連携応答を受けると、当該認証連携応答内の認証アサーションから認証連携IDを抽出し、当該抽出した認証連携IDと、前記登録されたユーザ属性部分情報内のユーザIDとを関連付けて前記第2メモリに書き込むと、予め記憶した認証アサーション検証ポリシ内の認証方式名と署名検証鍵とに基づいて、前記認証アサーション内の認証方式名とデジタル署名とをそれぞれ検証し、
     前記検証した結果がいずれも正当のとき、認証トークンを発行し、この認証トークンを前記認証連携IDに関連付けて前記第2メモリに書き込むと、前記書き込まれた認証トークンと、当該認証トークンに前記第2メモリ内で前記認証連携IDを介して関連付けられたユーザIDとを含むサービス実行要求を送出し、前記送出されたサービス実行要求に基づいて、当該サービス実行要求内の認証トークンと予め記憶したサービスデータとを前記ユーザ端末に送信することを特徴とするIDプロバイダ装置。
PCT/JP2011/075611 2010-11-09 2011-11-07 認証連携システム及びidプロバイダ装置 WO2012063783A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201180044620.XA CN103109298B (zh) 2010-11-09 2011-11-07 认证协作系统以及id提供商装置
EP11839719.9A EP2639727B1 (en) 2010-11-09 2011-11-07 Authentication collaboration system and id provider device
SG2013034046A SG190128A1 (en) 2010-11-09 2011-11-07 Authentication federation system and id provider device
US13/890,539 US9059982B2 (en) 2010-11-09 2013-05-09 Authentication federation system and ID provider device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010250903A JP4892093B1 (ja) 2010-11-09 2010-11-09 認証連携システム及びidプロバイダ装置
JP2010-250903 2010-11-09

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/890,539 Continuation US9059982B2 (en) 2010-11-09 2013-05-09 Authentication federation system and ID provider device

Publications (1)

Publication Number Publication Date
WO2012063783A1 true WO2012063783A1 (ja) 2012-05-18

Family

ID=45907904

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/075611 WO2012063783A1 (ja) 2010-11-09 2011-11-07 認証連携システム及びidプロバイダ装置

Country Status (6)

Country Link
US (1) US9059982B2 (ja)
EP (1) EP2639727B1 (ja)
JP (1) JP4892093B1 (ja)
CN (1) CN103109298B (ja)
SG (1) SG190128A1 (ja)
WO (1) WO2012063783A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9571525B2 (en) 2012-09-26 2017-02-14 Kabushiki Kaisha Toshiba Policy management system, id provider system, and policy evaluation device

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5197843B1 (ja) 2011-12-27 2013-05-15 株式会社東芝 認証連携システムおよびidプロバイダ装置
US8955041B2 (en) 2012-02-17 2015-02-10 Kabushiki Kaisha Toshiba Authentication collaboration system, ID provider device, and program
JP5383838B2 (ja) * 2012-02-17 2014-01-08 株式会社東芝 認証連携システム、idプロバイダ装置およびプログラム
US10176335B2 (en) 2012-03-20 2019-01-08 Microsoft Technology Licensing, Llc Identity services for organizations transparently hosted in the cloud
JP6066586B2 (ja) * 2012-05-22 2017-01-25 キヤノン株式会社 情報処理システム、その制御方法、およびそのプログラム。
US9779260B1 (en) 2012-06-11 2017-10-03 Dell Software Inc. Aggregation and classification of secure data
US9838370B2 (en) 2012-09-07 2017-12-05 Oracle International Corporation Business attribute driven sizing algorithms
SG11201502307PA (en) 2012-09-26 2015-05-28 Toshiba Kk Policy update system and policy update apparatus
WO2014065720A1 (en) * 2012-10-22 2014-05-01 Telefonaktiebolaget Lm Ericsson (Publ) Methods and nodes for handling usage policy
GB2508173A (en) * 2012-11-22 2014-05-28 Barclays Bank Plc Identity verification systems and methods
JP6064636B2 (ja) * 2013-02-06 2017-01-25 株式会社リコー 情報処理システム、情報処理装置、認証方法及びプログラム
US9325632B2 (en) * 2013-03-15 2016-04-26 International Business Machines Corporation Multi-tenancy support for enterprise social business computing
JP6106484B2 (ja) * 2013-03-25 2017-03-29 株式会社野村総合研究所 サービス利用支援システム及びクライアント端末
US10193878B2 (en) 2013-10-31 2019-01-29 Hewlett Packard Enterprise Development Lp Using application level authentication for network login
US9420007B1 (en) * 2013-12-04 2016-08-16 Amazon Technologies, Inc. Access control using impersonization
US20160021143A1 (en) * 2014-07-21 2016-01-21 David Browning Device federation
WO2016014120A1 (en) * 2014-07-24 2016-01-28 Hewlett-Packard Development Company, L.P. Device authentication agent
US9461983B2 (en) * 2014-08-12 2016-10-04 Danal Inc. Multi-dimensional framework for defining criteria that indicate when authentication should be revoked
US9998446B2 (en) * 2014-08-29 2018-06-12 Box, Inc. Accessing a cloud-based service platform using enterprise application authentication
US9148408B1 (en) * 2014-10-06 2015-09-29 Cryptzone North America, Inc. Systems and methods for protecting network devices
US9906497B2 (en) 2014-10-06 2018-02-27 Cryptzone North America, Inc. Multi-tunneling virtual network adapter
US10924904B2 (en) * 2014-12-02 2021-02-16 Lg Electronics Inc. Method and apparatus for performing object transfer service by using bluetooth communication in wireless communication system
US10218700B2 (en) * 2015-02-23 2019-02-26 Ca, Inc. Authorizations for computing devices to access a protected resource
US10326748B1 (en) 2015-02-25 2019-06-18 Quest Software Inc. Systems and methods for event-based authentication
US10630686B2 (en) 2015-03-12 2020-04-21 Fornetix Llc Systems and methods for organizing devices in a policy hierarchy
US10560440B2 (en) 2015-03-12 2020-02-11 Fornetix Llc Server-client PKI for applied key management system and process
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US10417613B1 (en) 2015-03-17 2019-09-17 Quest Software Inc. Systems and methods of patternizing logged user-initiated events for scheduling functions
US9990506B1 (en) 2015-03-30 2018-06-05 Quest Software Inc. Systems and methods of securing network-accessible peripheral devices
US9842220B1 (en) 2015-04-10 2017-12-12 Dell Software Inc. Systems and methods of secure self-service access to content
US9842218B1 (en) * 2015-04-10 2017-12-12 Dell Software Inc. Systems and methods of secure self-service access to content
JP6250595B2 (ja) * 2015-07-01 2017-12-20 e−Janネットワークス株式会社 通信システム及びプログラム
US10536352B1 (en) 2015-08-05 2020-01-14 Quest Software Inc. Systems and methods for tuning cross-platform data collection
US10157358B1 (en) 2015-10-05 2018-12-18 Quest Software Inc. Systems and methods for multi-stream performance patternization and interval-based prediction
US10218588B1 (en) 2015-10-05 2019-02-26 Quest Software Inc. Systems and methods for multi-stream performance patternization and optimization of virtual meetings
US9866519B2 (en) 2015-10-16 2018-01-09 Cryptzone North America, Inc. Name resolving in segmented networks
US9736120B2 (en) 2015-10-16 2017-08-15 Cryptzone North America, Inc. Client network access provision by a network traffic manager
US10749854B2 (en) 2015-11-12 2020-08-18 Microsoft Technology Licensing, Llc Single sign-on identity management between local and remote systems
CN105391734B (zh) * 2015-12-10 2019-01-11 布比(北京)网络技术有限公司 一种安全登录系统及方法、登录服务器和认证服务器
US10721232B2 (en) 2016-01-29 2020-07-21 Docusign, Inc. Cloud-based coordination of remote service appliances
US11102188B2 (en) * 2016-02-01 2021-08-24 Red Hat, Inc. Multi-tenant enterprise application management
US9628444B1 (en) 2016-02-08 2017-04-18 Cryptzone North America, Inc. Protecting network devices by a firewall
US10412048B2 (en) 2016-02-08 2019-09-10 Cryptzone North America, Inc. Protecting network devices by a firewall
US11063980B2 (en) 2016-02-26 2021-07-13 Fornetix Llc System and method for associating encryption key management policy with device activity
US10931653B2 (en) 2016-02-26 2021-02-23 Fornetix Llc System and method for hierarchy manipulation in an encryption key management system
US10860086B2 (en) * 2016-02-26 2020-12-08 Fornetix Llc Policy-enabled encryption keys having complex logical operations
US10917239B2 (en) 2016-02-26 2021-02-09 Fornetix Llc Policy-enabled encryption keys having ephemeral policies
US10142391B1 (en) 2016-03-25 2018-11-27 Quest Software Inc. Systems and methods of diagnosing down-layer performance problems via multi-stream performance patternization
US9560015B1 (en) 2016-04-12 2017-01-31 Cryptzone North America, Inc. Systems and methods for protecting network devices by a firewall
KR102624700B1 (ko) 2016-08-30 2024-01-12 비자 인터네셔널 서비스 어소시에이션 IoT 장치와 애플리케이션 간의 생체 식별 및 검증
US10484382B2 (en) * 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
EP3513542B1 (en) * 2016-09-16 2021-05-19 Oracle International Corporation Tenant and service management for a multi-tenant identity and data security management cloud service
US10397199B2 (en) * 2016-12-09 2019-08-27 Microsoft Technology Licensing, Llc Integrated consent system
WO2019040044A1 (en) * 2017-08-21 2019-02-28 Google Llc PRESERVING SESSION IDENTIFIERS IN MULTIPLE WEB PAGES FOR CONTENT SELECTION
US10831789B2 (en) 2017-09-27 2020-11-10 Oracle International Corporation Reference attribute query processing for a multi-tenant cloud service
US10079832B1 (en) * 2017-10-18 2018-09-18 Palantir Technologies Inc. Controlling user creation of data resources on a data processing platform
GB201716170D0 (en) * 2017-10-04 2017-11-15 Palantir Technologies Inc Controlling user creation of data resources on a data processing platform
US10812495B2 (en) * 2017-10-06 2020-10-20 Uvic Industry Partnerships Inc. Secure personalized trust-based messages classification system and method
US10642967B2 (en) * 2017-11-28 2020-05-05 American Express Travel Related Services Company, Inc. Single sign-on solution using blockchain
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
CN109274681B (zh) * 2018-10-25 2021-11-16 深圳壹账通智能科技有限公司 一种信息同步方法、装置、存储介质和服务器
US10324763B1 (en) 2018-12-11 2019-06-18 Palantir Technologies Inc. Systems and methods for terminating instances and autoscaling instance groups of computing platforms
EP4123973A1 (en) 2019-02-08 2023-01-25 Palantir Technologies Inc. Isolating applications associated with multiple tenants within a computing platform
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
JP6721932B1 (ja) * 2019-02-26 2020-07-15 株式会社ビットキー 利用制御システムおよび利用制御方法
US10771242B2 (en) * 2019-07-09 2020-09-08 Alibaba Group Holding Limited Blockchain-based data processing
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
EP3796165A1 (en) 2019-09-18 2021-03-24 Palantir Technologies Inc. Systems and methods for autoscaling instance groups of computing platforms
US20230015789A1 (en) * 2021-07-08 2023-01-19 Vmware, Inc. Aggregation of user authorizations from different providers in a hybrid cloud environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002123491A (ja) * 2000-10-13 2002-04-26 Nippon Telegr & Teleph Corp <Ntt> 認証代行方法、認証代行装置、及び認証代行システム
JP2008538247A (ja) 2005-04-01 2008-10-16 インターナショナル・ビジネス・マシーンズ・コーポレーション ランタイム・ユーザ・アカウント作成オペレーションのための方法、装置、およびコンピュータ・プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610390B2 (en) * 2001-12-04 2009-10-27 Sun Microsystems, Inc. Distributed network identity
US8452881B2 (en) * 2004-09-28 2013-05-28 Toufic Boubez System and method for bridging identities in a service oriented architecture
JP2006227814A (ja) * 2005-02-16 2006-08-31 Toshiba Corp 匿名サービス提供システム、装置及びプログラム
US8151317B2 (en) * 2006-07-07 2012-04-03 International Business Machines Corporation Method and system for policy-based initiation of federation management
JP5179298B2 (ja) * 2007-09-27 2013-04-10 株式会社日立製作所 アクセス認可システム、アクセス制御サーバ、およびビジネスプロセス実行システム
JP5177505B2 (ja) * 2008-02-26 2013-04-03 日本電信電話株式会社 シングルサインオンによるグループ内サービス認可方法と、その方法を用いたグループ内サービス提供システムと、それを構成する各サーバ
JP5253921B2 (ja) * 2008-08-19 2013-07-31 Kddi株式会社 属性認証システム、同システムにおける属性認証方法およびプログラム
US9836702B2 (en) * 2008-10-16 2017-12-05 International Business Machines Corporation Digital rights management (DRM)-enabled policy management for an identity provider in a federated environment
JP5153591B2 (ja) * 2008-11-26 2013-02-27 株式会社日立製作所 認証仲介サーバ、プログラム、認証システム及び選択方法
JP5102799B2 (ja) 2009-04-13 2012-12-19 株式会社日立製作所 認証連携システム、認証連携方法、移動端末、中継端末装置、およびサービス装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002123491A (ja) * 2000-10-13 2002-04-26 Nippon Telegr & Teleph Corp <Ntt> 認証代行方法、認証代行装置、及び認証代行システム
JP2008538247A (ja) 2005-04-01 2008-10-16 インターナショナル・ビジネス・マシーンズ・コーポレーション ランタイム・ユーザ・アカウント作成オペレーションのための方法、装置、およびコンピュータ・プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2639727A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9571525B2 (en) 2012-09-26 2017-02-14 Kabushiki Kaisha Toshiba Policy management system, id provider system, and policy evaluation device

Also Published As

Publication number Publication date
EP2639727A1 (en) 2013-09-18
JP2012103846A (ja) 2012-05-31
EP2639727A4 (en) 2017-03-01
US9059982B2 (en) 2015-06-16
CN103109298B (zh) 2015-12-09
SG190128A1 (en) 2013-06-28
CN103109298A (zh) 2013-05-15
JP4892093B1 (ja) 2012-03-07
US20130247142A1 (en) 2013-09-19
EP2639727B1 (en) 2018-02-28

Similar Documents

Publication Publication Date Title
JP4892093B1 (ja) 認証連携システム及びidプロバイダ装置
US8955041B2 (en) Authentication collaboration system, ID provider device, and program
US8635679B2 (en) Networked identity framework
EP1764978B1 (en) Attested identities
JP5383838B2 (ja) 認証連携システム、idプロバイダ装置およびプログラム
JP5422753B1 (ja) ポリシ管理システム、idプロバイダシステム及びポリシ評価装置
US8990896B2 (en) Extensible mechanism for securing objects using claims
JP3576008B2 (ja) アクセス制御設定システム及び記憶媒体
WO2013099065A1 (ja) 認証連携システムおよびidプロバイダ装置
JP6140735B2 (ja) アクセス制御装置、アクセス制御方法、およびプログラム
CN116415217A (zh) 基于零信任架构的即时授权系统
US9600655B2 (en) Policy update system and policy update apparatus
JP2003242119A (ja) ユーザ認証サーバおよびその制御プログラム
JP2012027691A (ja) 情報管理システムおよび情報管理方法
KR20050070520A (ko) 워크플로우 기반의 그리드 사용자 권한 위임과 인증시스템 및 그 방법
US20230088787A1 (en) User information management system, user information management method, user agent and program
JP5100356B2 (ja) ポリシ生成装置、ポリシ評価装置、認証サーバ装置及びプログラム
KR20100073884A (ko) Id 연계 기반의 고객정보 중개 및 동기화 방법
JP2011059981A (ja) 情報処理装置及び情報処理プログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180044620.X

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11839719

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011839719

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE