This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2014-128660, filed on Jun. 23, 2014, the entire contents of which are incorporated herein by reference.
The embodiment discussed herein is related to a method, a system, and an authentication device.
Virtualization infrastructures are known in which a plurality of physical resources for processing information are virtualized. Virtual resources in a predetermined unit are assigned from a virtualization infrastructure to the user of the virtualization infrastructure. This assignment allows the user to construct a virtual system and use the virtual infrastructure. However, before virtual resources are assigned to the user, an authorization process for determining whether or not to authorize the user to use the virtualization infrastructure is performed. When the authorization process succeeds, the user may receive an assignment of virtual resources. Note that authorization information used for the authorization process has a definite term of validity in order to maintain the security strength.
A technique for causing the duration of validity of a temporary password issued by an authentication service provider to be different for every service user identifier is known. A technique for setting the duration of validity of a one-time password in consideration of a time period taken for a financial transaction is also known. A proxy service that vicariously performs authentication using a security token is also known.
International Publication Pamphlet No. WO 2006/068998, Japanese Laid-open Patent Publication No. 2007-226763, and Japanese Laid-open Patent Publication No. 2005-062556 are known examples of the related art techniques.
According to an aspect of the invention, a method includes: receiving a request for processing, the processing having to be preceded by an authorization process for a source of the request, the authorization process being performed based on authorization information which a term of validity is set; storing historical information indicative of a history of a request for the processing from the source; and setting, by a processor, the term of validity of the authorization information based on the historical information.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
In a virtual system constructed using a virtualization infrastructure, the configuration and specifications may be easily changed owing to the advantage of using virtual resources. For this reason, the user of a virtualization infrastructure may, for example, not only provide services using a virtual system, but also evaluate a plurality of systems while repeatedly changing the configuration and specifications of the virtual system.
However, changing the configuration and specifications of a virtual system involves changing usage details of virtual resources in the virtualization infrastructure. Before changing the configuration and specifications, an authorization process is therefore performed for determining whether or not to authorize the user to use the virtualization infrastructure.
Authorization information used for the authorization process has a term of validity for maintaining the security strength. For example, authorization information is registered in a database and is deleted from the database after the term of validity has expired.
Supposing that a plan for changing the configuration and specifications of a virtual system is known, the term of validity of the authorization information may be set longer so that the term of validity has not expired until the completion of changing the configuration and specifications. As a result, the authorization information is unlikely to be deleted from the database. This removes the necessity to reacquire the authorization information, and therefore the convenience of the authorization information may be increased.
However, if the term of validity of authorization information is set too long, the authorization information will be continuously registered in a database even during a period when no authorization process occurs. The risk that the authorization information will be acquired by a malicious user would therefore be increased. Additionally, the term of validity being set too long makes it unlikely that the authorization information will be deleted from the database. When an authorization process is performed for another user, an increased amount of authorization information in the database would therefore have to be collated.
On the other hand, if the term of validity of authorization information is set rather short, a user who changes the configuration and specifications of a virtual system relatively frequently has to acquire authorization information again because the term of validity of the existing authorization information has expired at the time of changing. This would decrease convenience of authorization information.
As such, the term of validity of authorization information used for an authorization process for a user has a trade-off relationship between the convenience and the security strength, as well as the load of the authorization process.
An object of the present application is to provide authorization information that is easy to use.
According to one aspect of the present disclosure, the expiration date of authorization information having a term of validity used for an authorization process for a user is updated in accordance with the situation in which the authorization process for the user concerned occurs.
The user device 120 requests, via the network 110, one or more server devices among the server device 140, the server device 142, the server device 144, the server device 146, and the server device 148 included within the data center 100 to perform specific processing. The server device requested for the specific processing performs the requested specific processing and sends the result of the specific processing via the network 110 to the user device 120.
Note that, as described below, a plurality of physical resources included in the data center 100 are virtualized. The user device 120 and the user device 130 access the data center 100 and construct a virtual system using virtualized physical resources. One user provides a service utilizing the virtual system. Another user artificially constructs a specific system in the form of a virtual system and evaluates the specific system using the virtual system.
A management server device 210 manages these resource pools. The management server device 210 is, for example, implemented when a particular program is loaded into memory included in the server device 140 illustrated in
The virtual machine management component 212, the virtual network management component 214, and the virtual storage management component 216 have functions of managing a plurality of physical resources within the data center 100 so that the plurality of physical resources may be used as virtual resources in a predetermined unit. These management components accept a request from a user of the virtualization infrastructure 200 and assign virtual resources in the predetermined unit from the plurality of physical resources to the user in response to the request. These management components manage virtual resources so as to avoid a conflict among a plurality of users for use of virtual resources.
Note that virtual resources are collected in accordance with their kind and, as a result, are managed as the CPU resource pool 202, the memory resource pool 204, the network resource pool 206, and the storage resource pool 208 described above. The virtual machine management component 212 manages the CPU resource pool 202 and the memory resource pool 204, the virtual network management component 214 manages the network resource pool 206, and the virtual storage management component 216 manages the storage resource pool 208.
The user who is assigned virtual resources in the predetermined unit from the plurality of physical resources by the management components constructs a virtual system using the virtual resources. Although the usage ways of a virtual system will be described in conjunction with
First, the user registers their user account in order to use the virtualization infrastructure 200. Through this account registration, the user acquires a user identifier (ID) and a password associated with the user ID.
Then, the user performs system construction of a virtual system. In this system construction, tenant creation, virtual network creation, virtual machine creation, and so forth are performed based on a configuration file in which usage of virtual machines and so forth using virtual resources is specified. The tenant used here has a purpose of managing, in the virtualization infrastructure 200, that the user is authorized to access what virtual resource. Basically, the user creates a virtual system on the tenant basis.
Then, the user makes changes to the virtual system as desired. With the changes made to the virtual system, the number of virtual machines and the usage states of virtual machines are changed, and the configuration of the virtual network is changed. Next, when the use of the virtual system is stopped, the user removes the virtual system. When the user no longer uses the virtualization infrastructure 200, the user deletes their account.
Note that these operations are performed in such a way that the user device 120 and the user device 130 request an acceptance server device 230 to perform processing, and, in accordance with the details of the processing, the acceptance server 230 requests one or more management components of the virtual machine management component 212, the virtual network management component 214, and the virtual storage management component 216 to perform the processing. At this point, the acceptance server device 230 may specify a suitable management component and request the specified management component to perform processing, by running a program in accordance with the processing details. In the embodiment section, a description will be given of an example in which a program is run in accordance with the processing details. Note that the acceptance server device 230 is, for example, implemented when a specific program is loaded into memory included in the server device 144 illustrated in
The virtual machine management component 212, the virtual network management component 214, and the virtual storage management component 216, upon reception of the request for processing, do not immediately perform the requested processing. As described in detail below in conjunction with
Note that this token is authorization information having a term of validity that is issued when, after creating an account, the user requests the authentication server device 220 to perform a login authentication process after which the login authentication process succeeds. When requesting, through the acceptance server device 230, one or more management components to perform processing, the user provides a notification of the token and the user ID as well as the request for processing. Using the notified token and user ID, the management components request the authentication server device 220 to perform a token authorization process.
In the embodiment, to deal with the processing requested by the user, when the token authorization process is requested, the authentication server device 220 is notified, through the one or more management components, of a program ID identifying a program run by the acceptance server device 230. Thus, the authentication server device 220 is able to identify the process requested by the user.
As illustrated in
As described in detail below, the authentication server device 220, upon accepting the request for login authentication, performs a login authentication process 300, and, when the login authentication is successful, performs processing 310 of generating a token, which is authorization information having a term of validity, and registers the token in a database. Note that, when the token is registered in the database, the user ID and the token are registered in association with each other. Then, the generated token is issued to the user device 120 that has made the request ((2) in
After the token is issued, using the issued token, the user device 120 requests the management server 210 to perform processing for using the virtualization infrastructure 200 ((3) in
Upon acceptance of this request, the management server device 210 assigns processing to one or more management components of the virtual machine management component 212, the virtual network management component 214, and the virtual storage management component 216, in accordance with the details of the processing. The management components to which processing is assigned check, prior to performing the assigned processing, whether or not the processing may be performed for the user. For the checking, using the user ID and the token, the one or more management components issue inquiries about the authority of the user to the authentication server device 220 ((4) in
The authentication server device 220 that has accepted the inquiries performs a token authorization process 320 by collating the sent user ID and token with the user ID and token already registered in the database. If the term of validity of the sent token has already expired, there is in the database no token that matches the sent token, and therefore the token authorization process fails. On the other hand, if it is determined in the token collation processing that the sent token is registered in the database, it is determined that the authorization process using the token for the user in question is successful. Then, the management components that have made inquiries about the authority are notified that authorization using the token is successful ((5) in
Upon reception of the notification that authorization using the token is successful, the management components perform processing 330 for using the virtualization infrastructure 200 requested by the user device 120 and notify the user device 120 of the processing result ((6) in
When the issued token is within the term of validity, the user device 120 may request the management server device 210 to perform another processing for using the virtualization infrastructure 200, without making a request for the login authentication process ((7) in
Upon acceptance of this request, the management server device 210 assigns processing to one or more management components of the virtual machine management component 212, the virtual network management component 214, and the virtual storage management component 216, in accordance with the details of the processing. The management components to which processing is assigned check again, prior to performing the assigned processing, whether or not the processing may be performed for the user. For the checking, using the user ID and the token, the one or more management components issue inquiries about the authority of the user to the authentication server device 220 ((8) in
The authentication server device 220 that has accepted the inquiries performs a token authorization process 340 by collating the user ID and token sent with the user ID and token already registered in the database. Note that if the term of validity of the sent token has already expired, there is in the database no token that matches the sent token, and therefore the token authorization process fails. On the other hand, as illustrated in the drawing, when it is determined in this token collation processing that the sent token is registered in the database, it is determined that the authorization process using the token for the user in question is successful. Then, the management components that have made inquiries about the authority are notified that the authorization using the token is successful ((9) in
Upon reception of the notification that authorization using the token is successful, the management components perform processing 350 for using the virtualization infrastructure 200 requested from the user device 120 and notify the user device 120 of the processing result ((10) in
Note that, as described above, if the term of validity of the token has expired at the time at which the processing is requested, authorization is unsuccessful in the token collation of the processing 340. The user device 120 therefore has to receive a new token by repeating the login authentication process. Then, using the new token, the processing described above is requested again.
Note that the token generated when login authentication is successful is information generated in such a way that an attempt is made so that the information can be used to uniquely identify the user. By way of example, assuming that the time at which a request for login authentication is accepted is an input of a specific function, a symbol string obtained by execution of the function is included, in addition to the user ID and the password, in the token. Then, compared with an authorization process using a token described below, the login authentication process is higher in terms of processing load since the login authentication process includes the processing of generating a token in addition to the processing of collating a token with information within the database.
Additionally, as described above, a token is deleted from the database after the term of validity has expired. A token is also deleted when the account of the user is deleted. This is because the fact that the account of the user is deleted makes it possible to determine that the user concerned no longer has the intention to use the virtualization infrastructure 200 and the token does not have to be registered. However, if the user does not delete the account but removes the virtual system, the token may not be deleted. This is because even if the user stops using the virtual resource by removing the virtual system, the account of the user that has not been deleted indicates the possibility that the user has an intention of using the virtualization infrastructure again, and thus the token may remain in the database until the expiration date of the token. Note that one reason why the user does not delete the account while removing the virtual system could be that, in the case where the virtualization infrastructure 200 is used, the user removes assignment of virtual resources by removing the virtual system so that the user will not be charged for the assignment.
As illustrated in
The system construction A11 and the system changes B11 and B12 involve using virtual resources of the virtualization infrastructure 200. For this reason, when performing the system construction A11 and the system changes B11 and B12, using a configuration file describing specifications of virtual machines, the user 1 requests the management server device 210 to create a user account, to create a tenant for specifying the virtual system, and to arrange the virtual network and the virtual machine. For the processing mentioned, the login authentication process and the token authorization process described above are to be used.
However, once provision of the web service is started, the virtual system configuration itself is not changed, and thus the token authorization process is not performed. That is, during the period from the system construction A11 to the system change B12, the token is continuously registered in the database despite no token authorization process having occurred.
This will increase the opportunities for a malicious user to acquire the token concerned. In the token authorization process, at the worst, the collation processing occurs for all the tokens registered in the database. It is therefore desirable to delete from the database as many as possible of the tokens that are unlikely to be used.
In contrast, as illustrated in
Note that, when performing the system construction A21 and the system changes B21 to B24, which involve using virtual resources of the virtualization infrastructure 200, the user 2 has to perform the login authentication process and the token authorization process described above. However, during analysis of test results, no token authorization process occurs. That is, during this period, it is conceivable to delete the token from the database.
For the user 2, however, the system changes B21 to B24 are performed relatively frequently except during analysis periods. For this reason, if the token is deleted from the database during an analysis period in spite of an occurrence of a system change, the user 2 has to receive a new token by repeating the login authentication process. This results in less convenience. Since, as described above, the login authentication process is higher than the token authorization process in terms of processing load, repeating the login authentication process many times imposes a high load on the authentication server device 220.
In such a situation in which the usage manners of the user who uses the virtualization infrastructure 200 are diversified, it is desirable to balance the convenience for the user and the processing load to stop a token from being exposed to a malicious user.
To address this, according to the embodiment, the expiration date of authorization information having a term of validity used for an authorization process of the user is updated in accordance with a situation in which the authorization process for the user is requested. Therefore, authorization information registered in the database is maintained and deleted in accordance with this situation.
Processing 602 of performing login authentication by using the user ID and the password is performed. In processing 602, the login authentication is performed by collating the user ID and the password that are notified along with a request for the login authentication process when the user device 120 or the user device 130 makes the request to the authentication server device 220, with a user ID and a password that are registered in a database when the account of the user is created.
Processing 604 of determining whether or not the login authentication is successful is performed. In processing 604, it is determined whether or not the notified user ID and password and the user ID and password registered in the database at the time of creating the account of the user, which are collated in processing 602, match.
When, in processing 604, it is determined that the login authentication fails, processing 606 of providing a notification of the failure of the login authentication is performed. Through processing 606, the user device 120 or the user device 130 that has made a request for the login authentication process is notified of the failure of the login authentication.
When, in processing 604, it is determined that the login authentication is successful, processing 608 of generating a token, which is authorization information having a term of validity, is performed. In processing 608, a token is generated in such a way that an attempt is made so that the information can be used to uniquely identify the user. For example, assuming that the time at which a request for login authentication is accepted is an input of a specific function, a symbol string obtained by execution of the function is included, in addition to the user ID and the password, in the token. Note that an example of the symbol string is a KEY described below in conjunction with
Processing 610 of setting the expiration date of the token, which is authorization information having a term of validity, is performed. In processing 610, the expiration date is set based on an update rule described below in conjunction with
Processing 612 of registering the expiration date of the token, which is authorization information having a term of validity is performed. In processing 612, the expiration date set in processing 610 and the user ID are associated with the KEY generated in processing 608 and are registered in a database.
Processing 614 of issuing a notification that login authentication is successful is performed. Through processing 614, the user device 120 or the user device 130 that has made a request for the login authentication process is notified that login authentication is successful.
Processing 616 of issuing the token, which is authorization information having the term of validity, is performed. Through processing 616, the token, which is authorization information having a term of validity, is issued to the user device 120 or the user device 130 that has made a request for the login authentication process. In processing 618, the login authentication process is completed.
The token includes a user ID, an expiration date, a KEY, and an attribute, which are mutually associated. For example, a KEY generated in processing 608 and the expiration date set in processing 610 are associated with the user ID. In
Processing 802 of accepting a request from a user for processing related to a virtual system is performed. In processing 802, processing related to a virtual system requested by the user device 120 or the user device 130 illustrated in
Processing 804 of specifying operations for the virtualization infrastructure 200 that correspond to the requested processing is performed. In processing 804, one or more operations for the virtualization infrastructure 200 that are desired to implement the processing requested in processing 802 are specified. Then, in the subsequent processing 806, one or more management components of the virtual machine management component 212, the virtual network management component 214, and the virtual storage management component 216 in the management server device 210 are requested to perform the specified one or more operations.
For example, when, in processing 802, the user makes a request for a system change such as increasing the number of virtual machines, in processing 804, an operation of newly arranging a virtual machine and an operation of coupling the new arranged virtual machine to the virtual network are specified as desired operations.
Processing 806 of providing a request for the specified operations to a management device, together with identification information for identifying the requested processing concerned, is performed. In processing 806, for example, when, in processing 802, the user makes a request for a system change such as increasing the number of virtual machines, a request for operations of newly arranging virtual machines is provided, together with identification information indicating that the requested processing is the system change, to the virtual management component 212. For an operation of coupling the newly arranged virtual machine to the virtual network, a request for the operation is provided, together with identification information indicating that the requested processing is the system change, to the virtual network management component 214. Note that, for these operation requests, one or more management components are notified of information for the token authorization process and the user ID described below in conjunction with
Note that processing 804 and processing 806 may be performed by a particular program corresponding to the specified one or more operations, but the embodiment is not limited to this. The existence of the program enables the user to use the virtual system merely by designating specifications expected for the virtual system. Then, in the case where processing requested by the user is able to be associated with the program, using a program ID identifying the program as identification information for identifying the requested processing, a request for operations may be provided together with the program ID to one or more management components.
Processing 808 of receiving operation results from a management device is performed. In processing 808, the management server device 210 receives results of the operations requested in processing 806. Note that the operations carried out by the management server device 210 will be described below in conjunction with
Processing 810 of notifying the user of a processing result is performed. In processing 810, based on the operation results received in processing 808, the user is notified of a result of processing. The notification tells the user that the requested processing has been performed as expected and thus the desired virtual system becomes available, or the desired virtual system is not available. Then, in processing 812, the process illustrated in
As depicted in
Processing 1002 of accepting operations for the virtualization infrastructure from the acceptance server device is performed. In processing 1002, one or more operations for the virtualization infrastructure requested by the acceptance server device 230 in processing 806 mentioned above are accepted.
Processing 1004 of dividing the accepted operations among management components is performed. In processing 1004, one or more operations accepted in processing 1002 are divided among the corresponding one or more management components of the virtual machine management component 212, the virtual network management component 214, and the virtual storage management component 216.
Processing 1006 is performed in which one or more management components individually provide requests for the token authorization process of the user, together with identification information for identifying processing requested by the user, to an authentication server device. In processing 1006, before the operations divided in processing 1004 are carried out, the authentication server device 220 is requested to perform the token authorization process in order to determine whether or not the user is to be authorized to use the virtualization infrastructure 200. The request for this token authorization process is provided together with information for the token authorization process provided by the user, which is described above in conjunction with
Processing 1008 of determining whether or not the token authorization is successful is performed. In processing 1008, a result of the token authorization process requested in processing 1006 is received from the authentication server device 220, and, based on the result, it is determined whether or not the token authorization is successful.
When, in processing 1008, it is determined that the token authorization fails, processing 1010 of providing a notification of the failure of the token authorization is performed. Through processing 1010, the user is notified of the failure of the token authorization via the acceptance server device 230.
When, in processing 1008, it is determined that the token authorization is successful, processing 1012 of carrying out the divided operations is performed. In processing 1012, the operations divided in processing 1004 are carried out by management components.
Processing 1014 of notifying the acceptance server device of operation results is performed. Through processing 1014, the acceptance server device 230 is notified of results of operations carried out in processing 1012. Then, in processing 1016, the process illustrated in
Processing of accepting a request for a token authorization process is performed in processing 1102. Through processing 1102, a token authorization process requested by the virtual machine management component 212, the virtual network management component 214, or the virtual storage management component 216 is accepted. Note that the request for the token authorization process is, as described above on the processing 1006 illustrated in
Processing 1104 of determining whether or not a token is registered is performed. In processing 1104, it is determined whether or not a token including a KEY that matches a KEY in the information for the token authorization process provided from the user is registered in the database. More specifically, it is determined whether or not the token concerned is registered in the database by, for a plurality of tokens registered in the database, sequentially collating a KEY included in each token with the KEY in the provided information.
When, in processing 1104, it is determined that the token is not registered, processing 1106 of providing a notification of the failure of token authorization is performed. Through processing 1106, the virtual machine management component 212, the virtual network management component 214, or the virtual storage management component 216 that has made a request for the token authorization process is notified of the failure of the token authorization process.
When, in processing 1104, it is determined that the token is registered, processing 1108 of updating the expiration date of the token is performed. In processing 1108, the expiration date is updated in compliance with the update rule depicted in
Processing 1110 of registering the token having an updated expiration date is performed. In processing 1110, the existing expiration date is overwritten with the updated expiration date through processing 1108, and the token having the updated expiration date is newly registered in the database.
Processing 1112 of storing, in a log, the time at which the token authorization process has been accepted, the user ID, and the identification information for identifying processing requested by the user in association with one another is performed. Through processing 1112, a log described below in conjunction with
Processing 1114 of providing a notification that the token authorization is successful is performed. Through processing 1114, the virtual machine management component 212, the virtual network management component 214, or the virtual storage management component 216 that has made a request for the authorization process is notified that the token authorization process is successful. Then, in processing 1116, the process illustrated in
For example, use of the virtualization infrastructure 200 by a user having a user ID “2” at a time “2014-4-1 9:00” is recorded using a log message of a token authorization process that has occurred in association with the use. It is also recorded that the token authorization process at this time has arisen from processing identified by the processing ID “A”. That is, it is recognizable that the token authorization process arising from the system construction A of the virtual system made by the user having the user ID “2” has occurred at the time “2014-4-1 9:00”.
Note that, as described below, through a process illustrated in
Processing 1302 of designating a specific user is performed. In processing 1302, designation of a specific user is made by designating the user ID. For example, in description of an example with reference to
Processing 1304 of extracting a history including the ID of the designated user from the log of the token authorization process is performed. In processing 1304, the history of the token authorization process for the user concerned is extracted by collecting records related to the user ID designated in processing 1302 in the log depicted in
Processing 1306 of designating the ID of specific processing is performed. In processing 1306, for example, in the records of the user ID “2” depicted in
In each token authorization process associated with the ID of the designated processing, processing 1308 of extracting the time period taken after a token authorization process in question until performing the next token authorization process is performed. In processing 1308, the time period taken after the token authorization process that has arisen from specific processing of a user until a token authorization process that has arisen from the next processing requested by the same user is extracted. Note that the next processing may be another kind of processing, independently of the specific processing.
An example will be described with reference to
In the log depicted in
Processing 1310 of computing an average time period from extracted time periods is performed. In processing 1310, the average time period of time periods extracted through processing 1308 is computed. In the example mentioned above, the time periods are “2 hours and 50 minutes” and “10 minutes”, and thus the average time period is “1 hour and 30 minutes”.
In this embodiment, when a token authorization process arising from processing having the processing ID “A” requested by the user having the user ID “2” is performed, this average time period is estimated as a time period taken until a token authorization process arising from processing requested next by the user having the user ID “2” will occur.
Here, prior to describing processing 1312, the determination criterion depicted in
Turning now to
For example, in the example described above, when a token authorization process arising from processing having the processing ID “A” requested by the user having the user ID “2” is performed, the average time period taken until a token authorization process arising from processing requested next by the user having the user ID “2” occurs is “1 hour and 30 minutes”. In processing 1312, this average time period is compared with the threshold “3 days” set in the determination criterion of
Thus, when a token authorization process arising from processing having the processing ID “A” requested by the user having the user ID “2” is successful, the update rule is referred to in processing 1108 described above, so that the expiration date of the token is updated to a time obtained by adding “10 days” to the time at which the token authorization process has succeeded.
The average time period described above being short implies that the user tends to immediately make a request for some processing for a virtual system, and thus implies that a token authorization process is very likely to immediately occur. If, despite of such a usage tendency of the user, the token is deleted from the database, the user has to perform a login authentication process and receive a token once again. This results in less convenience. On the other hand, as described below, the average time period being long implies that the period taken until the next processing for a virtual system is requested is long, and thus implies that a token authorization process is less likely to occur. With such a usage tendency, it is considered that although a login authentication process will occur again, the token may be deleted from the database in order to alleviate the load of a token authorization process for other users and reduce the risk that a token will be stolen by a malicious user.
As such, according to the embodiment, attention is focused on specific processing of some user. The average time period taken until the next processing requested following the specific processing is computed from the history of token authorization processes that have arisen from these stages of processing. Then, using the average time period, the usage tendency of the user after the specific processing is estimated. Thus, the duration for which the term of validity of a token is to extend is decided. The duration will be applied in the future when a token authorization process that has arisen from the same kind of processing as the specific processing is successful.
Processing 1314 of registering the decided period in association with the user and processing in question is performed. In processing 1314, the period estimated through processing 1312 is associated with the designated user and the designated processing and is registered as an update rule. For example, the period “10 days” is associated with the user ID “2” and the processing ID “A” and is registered as an update rule. Note that the update rule will be described below in conjunction with
Processing 1316 of determining whether or not to designate another processing is performed. In processing 1316, for the user designated in processing 1302, it is determined whether or not to designate another processing, in order to estimate the usage tendency for the other processing. When it is determined that the other processing is not to be designated, the process proceeds to processing 1320.
When, in processing 1316, it is determined that the other processing is to be designated, processing 1318 of designating another processing ID is performed. Here, the case where the processing ID “B” is designated as another processing ID and subsequently processing 1308 is performed is described with reference to
In the log depicted in
In the log depicted in
In the log depicted in
In the log depicted in
Subsequently, for the processing ID “B” of the user having the user ID “2”, processing 1310 of computing an average time period from the extracted time periods is performed. The average time period in this example is “20 hours and 36 minutes”. Then, when a token authorization process arising from processing having the processing ID “B” requested by the user having the user ID “2” is performed, this average time period is estimated as a time period taken until the occurrence of a token authorization process arising from processing requested next by the user having the user ID “2”. Note that, for processing that occurs very frequently, like processing having the processing ID “B”, a token authorization process also occurs very frequently. For this reason, in order to make a token unlikely to be deleted from the database, the time period obtained by multiplying the computed average time period by a coefficient less than or equal to one in accordance with the occurrence frequency may be dealt with anew as an average time period.
Subsequently, for the processing ID “B” of the user having the user ID “2”, processing 1312 of deciding, in accordance with the average time period, a period applied at the time of updating the expiration date of a token is performed. In the case of this example, when a token authorization process arising from processing having the processing ID “B” requested by the user having the user ID “2” is performed, this average time period taken until a token authorization process arising from processing requested next by the user having the user ID “2” is “20 hours and 36 minutes”. In processing 1312, this average time period is compared with the threshold “3 days” set in the determination criterion of
Thus, when a token authorization process arising from processing having the processing ID “B” requested by the user having the user ID “2” is successful, the update rule is referred to in processing 1108 described above, so that the expiration date of the token is updated to a time obtained by adding “10 days” to the time at which the token authorization process has succeeded.
When processing 1318 of designating another processing ID is performed, the case where a processing ID “C” is designated and subsequently processing 1308 is performed will be described with reference to
In this case, the token authorization process that has arisen at the time “2014-4-5 18:50” from processing having the ID “C” requested by the user having the user ID “2” is followed by the token authorization process that has arisen at the time “2014-4-12 9:11” from the next processing requested by the user having the user ID “2”. In this case, in the token authorization process associated with the ID of the designated processing, the time period taken after the token authorization process in question until the next token authorization process is “158 hours and 21 minutes”.
Subsequently, processing 1310 of computing an average time period from extracted time periods is performed for the processing ID “C” of the user having the user ID “2”. The average time period of this example is “158 hours and 21 minutes”. Then, when a token authorization process arising from processing having the processing ID “C” requested by the user having the user ID “2” is performed, this average time period is estimated as a time period taken until the occurrence of a token authorization process arising from processing requested next by the user having the user ID “2”.
Subsequently, for the processing ID “C” of the user having the user ID “2”, processing 1312 of deciding, in accordance with the average time period, a period applied at the time of updating the expiration date of a token is performed. In the case of this example, when a token authorization process arising from processing having the processing ID “C” requested by the user having the user ID “2” is performed, this average time period taken until a token authorization process arising from processing requested next by the user having the user ID “2” is “158 hours and 21 minutes”. In processing 1312, this average time period is compared with the threshold “3 days” set in the determination criterion of
Thus, when a token authorization process arising from processing having the processing ID “C” requested by the user having the user ID “2” is successful, the update rule is referred to in processing 1108 described above, so that the expiration date of the token is updated to a time obtained by adding “0.1 days” to the time at which the token authorization process has succeeded.
In such a manner, the average time period being long implies that the period taken until the next processing for a virtual system is long, and thus implies that a token authorization process is less likely to immediately occur. With such a usage tendency, it is considered that although a login authentication process will occur again, the token may be deleted from the database in order to alleviate the load of a token authorization process for other users and reduce the risk that a token will be stolen by a malicious user. That is, when a token authorization process that has arisen from processing having the processing ID “C” requested by the user having the user ID “2” is successful, the period that will elapse before processing requested next is estimated to be long. In order to facilitate deleting the token from the database, the expiration date is updated so that the duration of validity of the token is rather short.
When, in processing 1316, it is determined that another processing is not to be designated, processing 1320 of determining whether to designate another user is performed. The determining of processing 1320 is processing for deciding whether or not to create an update rule applied to another user. If update rules are to be created for all the users, the user designation may be repeated until no user who has not been designated remains.
When, in processing 1320, it is determined that another user is to be designated, processing 1322 of designating another user is performed. Upon performing processing 1322, the process proceeds to processing 1304.
When, in processing 1320, it is determined that another user is not to be designated, the process proceeds to processing 1324 and the process illustrated in
For example, when a token authorization process arising from processing having the processing ID “A” requested by the user having the user ID “1” is successful, mutual information is associated with each other so that the period applied at the time of updating the expiration date of the token is “0.1 days”. This is, for example, an example applied to the token of the user 1 whose usage tendency is illustrated in
In the update rule, in contrast, when a token authorization process arising from processing having the processing ID “A” requested by the user having the user ID “2” is successful, mutual information is associated with each other so that the period applied at the time of updating the expiration date of the token is “10 days”. This is, for example, an example applied to the token of the user 2 whose usage tendency is illustrated in
Note that, in this update rule, the period applied at the time of updating the expiration date of a token may be set using the dependence between processing and processing requested by the user. For example, if processing A is performed and subsequently processing B related to the processing A is performed as a series of processing, the update rule may be set in such a manner that, after an authorization process arising from the processing A has succeeded, the expiration date of the token is updated so that the extended duration of validity is rather long, and, as a result, the token is maintained in the database until an authorization process arising from the processing B occurs.
Processing 1602 of determining whether or not there is a token that has passed the expiration date. In processing 1602, using the expiration date of the token registered in the database, it is determined whether or not there is a token that has passed the expiration date. When there is no token that has passed the expiration date, processing 1602 is repeated.
Processing 1604 of deleting, from the database, the token that has passed the expiration date is performed. When, as a result of determination of processing 1602, there is a token that has passed the expiration date, the token is deleted from the database through processing 1604.
In the memory 1710, programs for performing various kinds of processing are stored. The CPU 1700 reads programs from the memory 1710 and performs various kind of processing. As various kinds of processing to be performed by the CPU 1700 are performed, data is written to and read from the memory 1710.
The CPU 1700 transfers data to the communication interface 1730. The CPU 1700 reads data from the storage 1720 and also writes data to the storage 1720.
The CPU 1700 may include one or more CPU cores for performing various kinds of processing. Each CPU core may include one or more processors. Note that, in the case where the CPU 1700 includes a plurality of CPU cores, the various kinds of processing may be performed by the plurality of CPU cores in cooperation with one another, or may be performed by one CPU core among them. In the case where each CPU core includes a plurality of processors, the various kinds of processing may be performed by a plurality of processors in cooperation with one another, or may be performed by one processor among them.
The memory 1710 is a random access memory (RAM) such as, for example, a dynamic RAM (DRAM). The storage 1720 is, for example, a nonvolatile memory such as a read only memory (ROM) or a flash memory, or a magnetic disk device such as a solid stage drive (SSD) or a hard disk drive (HDD). The communication interface 1730 is, for example, a network interface card (NIC). The input-output device 1740 is, for example, a keyboard, a mouse, a display, or the like.
The functional blocks illustrated in
According to the embodiment described above, the expiration date of authorization information having a term of validity used for an authorization process of the user is updated using a period decided based on the history of authorization processes, thereby being updated in accordance with a situation in which the authorization process for the user is requested. Therefore, authorization information registered in the database is maintained and deleted in accordance with the situation.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiment of the present invention has been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2014-128660 | Jun 2014 | JP | national |