WO2023187970A1 - キャッシュ制御方法、キャッシュ制御装置、及びキャッシュ制御プログラム - Google Patents
キャッシュ制御方法、キャッシュ制御装置、及びキャッシュ制御プログラム Download PDFInfo
- Publication number
- WO2023187970A1 WO2023187970A1 PCT/JP2022/015386 JP2022015386W WO2023187970A1 WO 2023187970 A1 WO2023187970 A1 WO 2023187970A1 JP 2022015386 W JP2022015386 W JP 2022015386W WO 2023187970 A1 WO2023187970 A1 WO 2023187970A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cache
- time
- authentication
- date
- biometric information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 282
- 230000008569 process Effects 0.000 claims description 256
- 238000012545 processing Methods 0.000 claims description 53
- 238000003860 storage Methods 0.000 claims description 45
- 238000012217 deletion Methods 0.000 claims description 16
- 230000037430 deletion Effects 0.000 claims description 16
- 230000003111 delayed effect Effects 0.000 description 43
- 238000004891 communication Methods 0.000 description 25
- 210000003462 vein Anatomy 0.000 description 22
- 238000013500 data storage Methods 0.000 description 15
- 238000007726 management method Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008520 organization Effects 0.000 description 7
- 230000007423 decrease Effects 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000004904 shortening Methods 0.000 description 5
- 230000001815 facial effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003292 diminished effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
Definitions
- the present invention relates to cache control technology.
- multi-authentication which combines multiple types of authentication techniques.
- authentication that is performed by combining multiple types of biometric authentications that use various types of biometric information such as fingerprints, veins, and facial information as characteristic quantities of each individual is called multi-biometric authentication.
- Improving authentication accuracy is a constant requirement for authentication technology.
- multi-authentication improving the authentication accuracy of the individual authentication techniques combined results in an increase in the number of people who can use authentication.
- biometric authentication there is a method to improve authentication accuracy by increasing the type and amount of biometric features for each user used for verification, but this method may lengthen the time required for authentication. .
- cache authentication is known as one of the techniques for reducing the time required for authentication. This technology registers in a cache information about each person extracted from all users based on specific conditions such as high frequency of use or high similarity of attributes/characteristics, and then stores the information registered in the cache. It is used with priority for authentication.
- template information of multiple authentication subjects is stored in advance in a storage device, and when entering an office, etc., input of biometric information from the authentication subject is accepted, and the biometric information is Authentication processing is performed by comparing the template information with the template information. If a positive determination is made as a result of the authentication process, template information used in this determination is stored in the cache database. For subsequent authentication, biometric information is accepted through a different input from that used for authentication at the time of entry, and this information is compared with template information stored in the cache database. Further, when a predetermined operation such as logging off a predetermined device is performed (for example, assuming that the user is leaving the office), the corresponding template information is deleted from the cache database.
- a predetermined operation such as logging off a predetermined device is performed (for example, assuming that the user is leaving the office)
- the corresponding template information is deleted from the cache database.
- Cache authentication enables identification of a person in a short time when information about the person to be authenticated is stored in a cache at the time of authentication. On the other hand, if information about too many people is stored in the cache, it will take time to find the necessary information from the cache, so using cache authentication reduces the time required to identify the expected person. The effect of this will be weakened. Therefore, controlling the storage period of information about each person in the cache is important from the viewpoint of authentication speed.
- the present invention aims to reduce the time required to identify a person.
- the cache control method is performed by a computer.
- this computer acquires the biometric information of a person
- the computer selects the relevant one among the plurality of registrants according to the degree of similarity between the biometric information of the person and the biometric information of each of the plurality of registrants stored in the cache. Performs processing to identify the registrant corresponding to the person. Further, after the identification, this computer performs a process of deleting the biometric information of the registrant from the cache. Further, this computer performs a process of storing the biometric information of the identified registrant in the cache at a date and time determined based on the identification history including information on each date and time when the identification was performed.
- the time required to identify a person can be reduced.
- FIG. 3 is a diagram showing an example of the configuration of an authentication system.
- FIG. 3 is a diagram showing an example of personal information data.
- FIG. 3 is a diagram showing an example of cache data.
- FIG. 3 is a diagram showing an example of authentication log data.
- 1 is a diagram showing an example of a hardware configuration of a computer.
- 3 is a flowchart showing the processing contents of cache control processing.
- 3 is a flowchart showing the processing contents of cache delay registration processing. It is a figure showing an example of a registration date table.
- 3 is a flowchart showing the processing contents of delayed registration date determination processing. It is a flowchart which shows the processing content of cache registration processing.
- FIG. 7 is a diagram illustrating a specific example of cache delay registration.
- FIG. 3 is a flowchart showing the processing contents of coefficient value changing processing.
- FIG. 3 is a diagram showing the relationship between cache rate/cache hit rate and cache efficiency.
- 3 is a flowchart showing the processing contents of cache data organization processing.
- 3 is a flowchart showing the processing contents of cache data deletion processing.
- the ATM authenticates users who visit the branch for the first time, but the biometric information of such users is not registered in the cache, so the cache authentication fails. In this case, the ATM performs normal authentication, not cache authentication, on the user. If normal authentication is successful, the ATM registers biometric information about the user in its cache. Since biometric information about the user is registered in the cache, when the ATM authenticates the user who visits the store again, the cache authentication is successful this time.
- the cache authentication In cache authentication, if information about too many people is stored in the cache, the cache authentication itself will take time, and the effect of shortening the time required to identify a person will be diminished. In other words, in order to fully enjoy the effect of shortening the time required for authentication by using cache authentication, it is also desirable not to make the cache rate excessively high.
- the cash rate is the number of users whose information is stored in the cache relative to the number of all authenticated users (for example, the total number of users who have transaction accounts at the bank).
- biometric information about users who have been authenticated and will not be authenticated again for a while is not immediately registered in the cache, but the registration time is delayed and the biometric information is re-authenticated again. It is recommended that you register before the authentication is performed. In this way, cache authentication will be successful in re-authenticating the user. Furthermore, during the period during which registration is delayed, the user's biometric information is not stored in the cache, so the caching rate decreases and the time required to authenticate other users is shortened.
- the biometric information of the user registered in the cache at the time of authentication will be Deleting data from the cache is also effective in reducing the cache rate. In this way, the time required for cache authentication for other users after the deletion is shorter than when the cache is not deleted. However, if the cache rate is excessively reduced by executing such deletion, the effect of the decrease in the cache hit rate will become greater. Note that the cache hit rate is the ratio of the number of successful cache authentications to the total number of cache authentications ((number of successful cache authentications)/(total number of authentications)). If the cache hit rate decreases, the possibility that cache authentication will fail increases, and the effect of shortening authentication time by cache authentication will diminish.
- the length of the period for delaying the registration of biometric information in the cache and the length of the period until the biometric information registered in the cache at the time of authentication is deleted from the cache are appropriately set.
- FIG. 1 is a diagram showing an example of the configuration of an authentication system 1. As shown in FIG. 1
- the authentication system 1 is configured by a client device 10 and a server device 20 connected via a communication network 30.
- the client device 10 is an ATM installed at a bank branch. In order to simplify the explanation, it is assumed here that one client device 10 is installed in each branch office.
- the client device 10 includes a camera 11, a vein sensor 12, a sensor control section 13, an authentication request section 14, an input section 15, a client control section 16, a communication section 17, and a display section 18.
- the camera 11 acquires an image of the face of a person (person to be authenticated) who visits the branch.
- the vein sensor 12 acquires an image of the veins of the person to be authenticated.
- the sensor control unit 13 controls the camera 11 and the vein sensor 12 to obtain images of the face and veins of the person to be authenticated, and outputs the obtained images.
- the authentication request unit 14 creates and outputs an authentication request including image data representing images of the face and veins of the person to be authenticated received from the sensor control unit 13.
- the input unit 15 is, for example, a card reader, and reads and acquires identification information (hereinafter referred to as "ID") about the person to be authenticated from an IC card carried by the person to be authenticated.
- ID identification information
- the client control unit 16 controls the entire client device 10.
- the client control unit 16 outputs, for example, an authentication request sent from the authentication request unit 14.
- the communication unit 17 performs data communication with the server device 20 via the communication network 30. For example, the communication unit 17 sends an authentication request output from the client control unit 16 to the server device 20. Further, the communication unit 17 receives various information sent from the server device 20, for example, information indicating the result of authentication performed based on the sent authentication request, and outputs it to the client control unit 16.
- the client control unit 16 controls the display unit 18 to display the authentication result information received from the communication unit 17 on the display unit 18.
- the display unit 18 is, for example, a display device, and displays the authentication result under the control of the client control unit 16.
- the server device 20 includes a communication section 21, an authentication control section 22, a cache authentication section 23, a cache 24, a normal authentication section 25, a personal information storage section 26, a log data storage section 27, and a cache management section 28.
- the communication unit 21 performs data communication with the client device 10 via the communication network 30.
- the communication unit 17 receives an authentication request from the client device 10. Further, for example, the communication unit 17 sends, to the client device 10, information output from the authentication control unit 22 and indicating the result of authentication performed in response to the authentication request.
- the authentication control unit 22 controls the entire server device 20.
- the authentication control unit 22 controls, for example, cache authentication by the cache authentication unit 23 and normal authentication by the normal authentication unit 25, records authentication logs in the log data storage unit 27, and outputs authentication results to the communication unit 21. conduct.
- the cache authentication unit 23 stores in the cache 24 the multi-biometric authentication for each image of the face and veins included in the authentication request sent from the client device 10. This is the first identification part that is performed using the cache data that is currently available. In this embodiment, such authentication performed using data in the cache 24 is referred to as "cache authentication.”
- the cache authentication section 23 outputs the result of this cache authentication to the authentication control section 22.
- the cache 24 is a storage unit with high access speed.
- the biometric information of the successful authentication target is registered in the cache 24 after a predetermined date and time has elapsed from the time of the success, and is then stored for a predetermined period of time. Ru.
- a cash 24 is prepared for each branch.
- the plurality of client devices 10 ie, ATMs
- the plurality of client devices 10 share one cache 24.
- one cache 24 may be used for each client device 10, or one cache 24 may be shared by all client devices 10 in all branches.
- the normal authentication unit 25 Under the control of the authentication control unit 22, the normal authentication unit 25 stores the multi-biometric authentication of the face and vein images included in the authentication request sent from the client device 10 in the personal information storage unit 26. This is a second identifying section that uses stored biological information. In this embodiment, such authentication performed without using data in the cache 24 is referred to as "normal authentication.” The normal authentication section 25 outputs the result of this normal authentication to the authentication control section 22.
- the personal information storage unit 26 is a storage unit whose access speed is slower than that of the cache 24.
- the personal information storage unit 26 stores biometric information about all users who have transaction accounts at this bank.
- the log data storage unit 27 is a storage unit that stores the history (specific history) of the results of authentication performed by the server device 20 as an authentication log.
- the cache management unit 28 is a control unit that uses the log data stored in the log data storage unit 27 to control delayed registration of cache data in the cache 24 and deletion after the cache expiration date.
- the cache management unit 28 also uses the log data to manage the number of days for delayed registration of cache data and the cache expiration date.
- the cache management unit 28 reads the biometric information stored in the personal information storage unit 26 and registers the biometric information in the cache 24 as cache data.
- FIG. 2 shows an example of personal information data stored in the personal information storage section 26.
- the personal information data is data in which biometric information for each registrant registered in the personal information storage unit 26 is associated with the ID of the registrant. Note that the facial and vein feature data for each registrant is stored in the personal information storage unit 26 as biometric information.
- FIG. 3 shows an example of cache data registered in the cache 24.
- biometric information about the person to be authenticated is registered in the cache 24 after a predetermined date and time has elapsed from the time of the success.
- the cache management unit 28 reads the biometric information of the registrant whose ID matches that of the person to be authenticated from the personal information storage unit 26, and associates the biometric information and the date and time information of the authentication with the ID.
- the attached data is registered in the cache 24 as cache data.
- FIG. 4 shows an example of authentication log data registered in the log data storage unit 27.
- the authentication control unit 22 registers an authentication log representing the status of the authentication in the log data storage unit 27.
- the authentication log includes information on the date and time of authentication, the ID of the registrant, the success or failure of cache authentication by the cache authentication unit 23, the success or failure of the normal authentication if the normal authentication was performed by the normal authentication unit 25, and the time required for authentication processing (authentication time).
- the registrant ID is included in the authentication log when the authentication result is successful in either cache authentication or normal authentication.
- success in authentication is represented by a circle mark ("O")
- failure in authentication is represented by a penalty mark ("x").
- the authentication system 1 in FIG. 1 is configured as described above.
- server device 20 in the authentication system 1 may be configured by a combination of a computer and software.
- FIG. 5 shows an example of the hardware configuration of the computer 40.
- the computer 40 includes hardware components such as a processor 41, a memory 42, a storage device 43, a reading device 44, a communication interface 46, and an input/output interface 47, for example. These components are connected via a bus 48, and data can be exchanged between the components.
- the processor 41 may be, for example, a single processor, or a multiprocessor and multicore.
- the processor 41 uses the memory 42 to execute, for example, a correction program that describes the procedure of a correction process to be described later.
- the memory 42 is, for example, a semiconductor memory, and includes a RAM area and a ROM area. Note that RAM is an abbreviation for Random Access Memory. Further, ROM is an abbreviation for Read Only Memory. When configuring the server device 20 using the computer 40, the memory 42 provides the function of the cache 24, for example.
- the storage device 43 is, for example, a hard disk, a semiconductor memory such as a flash memory, or an external storage device.
- the storage device 43 provides the functions of the personal information storage section 26 and the log data storage section 27, for example.
- the reading device 44 accesses the removable storage medium 45 according to instructions from the processor 41.
- the removable storage medium 45 is, for example, a semiconductor device (such as a USB memory), a medium in which information is input/output by magnetic action (such as a magnetic disk), or a medium in which information is input/output by optical action (CD-ROM, etc.). DVD, etc.).
- a semiconductor device such as a USB memory
- CD-ROM Compact Disc
- DVD is an abbreviation for Digital Versatile Disk.
- the communication interface 46 transmits and receives data via the communication network 30 according to instructions from the processor 41, for example.
- the communication interface 46 provides the functions of the communication section 21.
- the input/output interface 47 provides an interface with input devices such as a keyboard and mouse device, and output devices such as a display device.
- the program executed by the processor 41 of this computer 40 is provided, for example, in the following format.
- the hardware configuration of the computer 40 is an example, and the embodiment is not limited to this.
- some or all of the functions of the above-described functional units may be implemented as hardware such as FPGA and SoC.
- FPGA is an abbreviation for Field Programmable Gate Array.
- SoC is an abbreviation for System-on-a-chip.
- the processor 41 is made to execute a control program in which the control processing described below is written. By doing so, the cache control method performed by the server device 20 is performed by the computer 40.
- FIG. 6 is a flowchart showing the contents of the cache control process.
- processing is performed to determine whether an authentication request has been obtained from the client device 10. This process is performed by the authentication control unit 22. In this process, when it is determined that the authentication request has been obtained (when the judgment result is YES), the process advances to S103, and when it is judged that the authentication request has not been obtained (when the judgment result is NO) Then, the process advances to S108.
- the authentication process using cache authentication is a process performed by the cache authentication unit 23, and is a first specific example.
- the process of acquiring cache data from the cache 24 is performed.
- processing is performed to acquire feature amounts from the respective image data of the face and veins of the person to be authenticated, which are included in the acquired authentication request.
- multi-biometric authentication is performed on the face and veins of the person to be authenticated.
- the similarity between the face and vein features of the person to be authenticated and the facial feature data and vein feature data of the registrant included as biometric information in the acquired cache data. is calculated. Then, by comparing the degree of similarity with a predetermined similarity threshold for each of the face and veins, it is determined whether the person to be authenticated is the same person as the registrant.
- a process is performed to determine whether the authentication process using cache authentication in S103 was successful and the registrant corresponding to the person to be authenticated was identified. This process is performed by the authentication control unit 22. In this process, when it is determined that the registrant corresponding to the person to be authenticated has been identified (when the determination result is YES), the process advances to S106. On the other hand, in the authentication process using cache authentication in S103, when it is determined that the person to be authenticated and the registrant are not the same person (when the determination result is NO), the process advances to S105.
- authentication processing using normal authentication is performed.
- This authentication process is normally performed by the authentication unit 25, and is a second specific example.
- a process of acquiring personal information data from the personal information storage section 26 is performed.
- processing is performed to acquire feature amounts from the image data of the face and veins of the person to be authenticated, which are included in the acquired authentication request.
- multi-biometric authentication is performed on the face and veins of the person to be authenticated.
- the similarity between the face and vein features of the person to be authenticated and the facial feature data and vein feature data of the registrant included as biometric information in the acquired personal information data is determined. Calculated.
- a process is performed in which the result of the authentication performed in response to the authentication request determined to have been obtained in the process of S102 is recorded in the log data storage unit 27 as an authentication log.
- This process is performed by the authentication control unit 22.
- the authentication log recorded by this process includes information on the date and time of authentication, the registrant's ID, the success or failure of cache authentication, and if normal authentication was performed. This includes the success or failure of the normal authentication and the authentication time.
- the registrant ID is included in the authentication log if the authentication result is successful in either the cache authentication authentication process in S103 or the normal authentication process in S105.
- the authentication time is the time from when the result of the determination process in S102 becomes YES until the execution of the process in S106 is started.
- S108 the date at the time of execution of this process is checked, and it is determined whether this date has changed, that is, whether this date has changed from the date confirmed when the process of S108 was previously executed and is now the next day. will be held.
- This process is performed by the cache management unit 28. In this process, when it is determined that the date has changed (when the determination result is YES), the process advances to S200. On the other hand, in this process, when it is determined that the date has not changed (when the determination result is NO), the process returns to S102 and the process described above is performed again.
- cache delay registration processing is performed, and in subsequent S300, cache data organization processing is performed. These processes are performed by the cache management unit 28. Details of these processes will be described later.
- the processing up to this point is cache control processing.
- FIG. 7 is a flowchart showing the contents of the cache delay registration process.
- the result of the authentication process is determined to be successful at the authentication date and time of the previous day, that is, at the authentication date and time of the day before the most recently executed process of S108 in FIG.
- a process is performed to obtain one ID of the registrant who has become a registrant.
- the log data storage unit 27 is referred to, and the authentication log whose "authentication date and time" is the date and time representing the previous day is checked to see if the authentication result was successful in either of the authentication processes in S103 or S105 in FIG. As a result, processing is performed to obtain one of the included IDs.
- a delayed registration date determination process is performed in S210.
- This process is a process for determining the delayed registration date.
- the delayed registration date is the date on which cache data including biometric information about a registrant who was successfully authenticated through the authentication process performed on the previous day's authentication date and time is registered in the cache 24, and is an example of the first date and time. . Details of this delayed registration date determination process will be described later.
- a process is performed to create registration date data including the delayed registration date determined by the delayed registration date determination process in S210 and register it in the registration date table.
- FIG. 8 shows an example of the registration date table.
- the registration date table manages the delayed registration date in the cache 24 of biometric information for each registrant who has been successfully authenticated in either the authentication process by cache authentication in S103 or the authentication process by normal authentication in S105 in FIG.
- This is a table used for Registration date data for each registrant is registered in the registration date table.
- the registration date data is data in which the ID of the registrant who has been successfully authenticated, the authentication date and time of the authentication process, and the delayed registration date determined for the registrant by the delayed registration date determination process in S210.
- the registration date table is held by, for example, the cache management unit 28 itself.
- processing is performed to obtain one piece of registration date data from the registration date table.
- the cache registration process is a process of registering biometric information about a registrant who has been successfully authenticated in the cache 24 based on the delayed registration date indicated by the registration date data obtained in the process of S204. Details of this cache registration process will be described later.
- a process is performed to determine whether or not the cache registration process in S220 has been executed for all registration date data registered in the registration date table.
- the process advances to S230.
- the process returns to S204 and the process described so far is performed. , is performed on the remaining registration date data.
- coefficient value changing processing is performed.
- the coefficient value changing process is a process of changing the value of the coefficient k described above. Note that the coefficient k is used to determine the delayed registration date in the delayed registration date determination process of S210. Details of this coefficient value changing process will be described later.
- FIG. 9 is a flowchart showing the details of the delayed registration date determination process.
- a process is performed to calculate the average visit interval for the registrant whose ID was acquired by the most recently executed process in S201 of FIG.
- the average visit interval is the average interval at which the registrant visits the bank branch where the client device 10 of FIG. 1 is installed as an ATM.
- the execution of cache authentication by the server device 20 in FIG. 1 in response to an authentication request regarding the registrant sent from the client device 10 is treated as the registrant's visit to the branch. That's it. Therefore, in this process, the authentication log for the registrant is extracted from the log data storage unit 27, and based on the authentication date and time information included in each extracted authentication log, the authentication date and time from the previous authentication to the current authentication are determined.
- the interval is calculated for each authentication, and the average value of the interval is calculated.
- the following equation (1) is a mathematical expression for calculating the average store visit interval.
- AVI in this formula (1) is the average visit interval.
- n is the number of times the server device 20 performs cache authentication in response to an authentication request for the registrant sent from the client device 10, and it does not matter whether the cache authentication is successful or not.
- m is the number of times the calculation is started. For example, when calculating the average visit interval for store visits over the past year, the value of m is calculated by counting the number of cache authentications executed immediately after the day one year ago from today, starting from the first cache authentication. The value obtained by Further, for example, when calculating the average visit interval for all visits after the first visit, the value of m is set to "1".
- a process is performed to calculate the number of days of late registration by multiplying the average visit interval calculated in the process of S211 by the value of the coefficient k described above.
- the number of delayed registration days is the number of days by which registration of cache data including biometric information about the registrant in the cache 24 is delayed. Since the number of days of late registration is calculated in this way, the larger the value of coefficient k, the longer the number of days of late registration, and the smaller the value of coefficient k, the shorter the number of days of late registration.
- the result of multiplying the average visit interval by the value of the coefficient k, rounded down to the decimal point may be used as the calculation result of the number of days of late registration.
- a process is performed to determine the date on which the number of delayed registration days calculated in S212 has elapsed from the date of the most recent successful authentication for the registrant as the delayed registration date for the registrant. be exposed.
- the process of S213 is executed in the cache delay registration process of S200 in the process shown in FIG. , the day before the execution date of the process of S213.
- FIG. 10 is a flowchart showing the contents of the cache registration process.
- a process is performed to determine whether or not today is the delayed registration date included in the registration date data acquired in the most recently executed process of S204 in FIG.
- the process advances to S222.
- this cache registration process is ended and the process returns to the cache delayed registration process in FIG. .
- a process is performed to read the biometric information of the registrant associated with the registrant's ID included in the registration date data obtained in the process of S204 from the personal information storage unit 26.
- the cache 24 stores cache data in which the registrant's ID and authentication date and time information included in the registration date data obtained in the process of S204 are associated with the biometric information of the registrant read out in the process of S222. The process of registering and storing the information is performed.
- the value of the coefficient k is always 0.5. Furthermore, in this example, deletion of cache data from the cache 24 based on a cache expiration date, which will be described later, is not considered.
- a first authentication is performed. At this time, the biometric information of the user is not stored in the cache 24, so cache authentication fails. If the subsequent normal authentication is successful, the user's biometric information is registered in the cache 24 as cache data.
- the cache authentication is successful.
- the biometric information of the user is temporarily deleted from the cache 24.
- the cache authentication is successful, and the user's biometric information is temporarily deleted from the cache 24.
- the cache authentication is successful, and the biometric information of the user is temporarily deleted from the cache 24.
- the reason why all cache authentications from the second time onwards were successful is because the value of the coefficient k was a value preferable to the user. For example, if the value of the coefficient k is 0.6, the number of delayed registration days calculated at the third authentication is 3. In this case, the cache authentication fails in the fourth authentication for the user and the normal Since authentication will be performed, it will take time for authentication.
- the value of the coefficient k affects the authentication time. Therefore, the value of the coefficient k is evaluated based on the authentication time, and optimization is attempted by dynamically changing the value of the coefficient k so that the authentication time is shortened. Processing for this purpose is coefficient value changing processing.
- FIG. 12 is a flowchart showing the contents of the coefficient value changing process.
- the average authentication time Ta is the average value of the authentication time for each authentication performed over all executions. Note that the average authentication time Ta may be calculated using the following equation (2).
- the log data storage unit 27 is referred to, and the total number of stored authentication log data is counted as the total number of times cache authentication has been performed. In addition, the number of pieces of authentication log data in which the cache authentication success/failure is set as "success" is counted as the number of successful cache authentications. Then, a cache hit rate is calculated based on these counted values.
- the total value of the authentication time included in each piece of authentication log data in which the success or failure of cache authentication is determined to be "success" is divided by the number of pieces of authentication log data, so that when cache authentication is successful, The average value of the authentication time is calculated. Furthermore, by dividing the total value of the authentication time included in each piece of authentication log data in which the success or failure of cache authentication is marked as "failure" and normal authentication is performed, by the number of pieces of authentication log data, the cache The average value of authentication time when authentication fails is calculated.
- the average value of authentication time when cache authentication is successful and the average value of authentication time when cache authentication fails are examples of the first specific time and the second specific time, respectively.
- the average authentication time Ta which is an example of the average specific time, is calculated by substituting each value calculated in this way into the above equation (2).
- the current value of the coefficient k is the value of the coefficient k used to calculate the number of delayed registration days in the most recently executed process of S212 in FIG. This is the value of the average authentication time Ta calculated by the process of S231.
- the first case is a case where the current value of the coefficient k is smaller than the previous value, and the current average authentication time Ta is shorter than the previous one.
- the case where the current value of the coefficient k is smaller than the previous value means that the value of the coefficient k when the biometric information was most recently stored in the cache 24 is the same as the value of the coefficient k when the biometric information was stored in the cache 24 most recently. This is the case when the value is smaller than the value when
- the current average authentication time Ta is shorter than the previous time, it means that the average authentication time Ta when the storage was performed most recently based on the current value of the coefficient k is shorter than the previous value of the coefficient k.
- the first case is a case where the authentication time is shortened by shortening the number of days of delayed registration.
- the second case is a case where the current value of the coefficient k is larger than the previous value, and the current average authentication time Ta is longer than the previous one.
- the value of the coefficient k when the biometric information was most recently stored in the cache 24 is the same as the value of the coefficient k when the biometric information was stored in the cache 24 one time before. This is the case when the value is larger than the value at the time.
- the current average authentication time Ta is longer than the previous time, it means that the average authentication time Ta when the storage was performed most recently based on the current value of the coefficient k is longer than the previous value of the coefficient k. This is a case where the memory becomes longer than the previous memory based on the previous memory.
- the second case is a case where the authentication time becomes longer due to the longer number of delayed registration days.
- processing in S234 is based on the assumption that if the number of delayed registration days is further shortened, the authentication time will be further shortened.
- the value of the coefficient k is decreased by .
- the value of the coefficient k is increased in the process of S235 based on the estimation that the authentication time will be shorter if the number of delayed registration days is increased.
- the second case that is, if the authentication time becomes longer by increasing the number of delayed registration days, it is estimated that the authentication time will be shorter if the number of delayed registration days is shortened. Based on this, the value of the coefficient k is decreased through the process of S234. On the other hand, if the second case is not met, the value of the coefficient k is increased in the process of S235 based on the estimation that the authentication time can be expected to be further shortened by further increasing the number of delayed registration days.
- the amount of change in the value of the coefficient k when decreasing or increasing the value may be determined in advance.
- the amount of change in the value of coefficient k will be changed. It may be the same as the previous change amount.
- the value of the coefficient k that was increased when the coefficient value change process was executed last time is decreased this time, or the value of the coefficient k that was decreased when the coefficient value change process was executed last time is increased this time.
- the amount of change in the value of coefficient k may be set to 1/2 of the previous amount of change. In this way, it becomes possible to converge the value of the coefficient k to a good value.
- the cache data organizing process is a process that organizes the cache data stored in the cache 24, and stores biometric information about registrants who have not been re-authenticated forever after being authenticated after a predetermined cache period has passed. This is a process of deleting from the cache 24. Since such deletion reduces the cache rate, it is expected that the authentication time will be shortened. However, in the cache data organization process, the cache expiration date is dynamically changed according to the usage status of the cache 24 to suppress an excessive decrease in the cache hit rate that would make the authentication time excessively long.
- Cache efficiency is a value obtained by dividing the cache hit rate by the cache rate ((cache hit rate)/(cache rate)). Therefore, the higher the cache hit rate, the higher the cache efficiency, and the lower the cache rate, the higher the cache efficiency.
- the table shown in FIG. 13 represents the relationship between cache rate/cache hit rate and cache efficiency.
- each row represents the same cache rate
- each column represents the same cache hit rate.
- Each cell represents a cache efficiency value calculated from the cache rate of each row and the cache hit rate of each column. In this table, cache efficiency increases toward the bottom right.
- the cache efficiency value shown in this table is smaller than "1.00" (in the upper left direction), it is determined that the cache efficiency is low. Then, it is determined whether the cause of such low cache efficiency is the cache rate or the cache hit rate, and if it can be determined, the cache efficiency is improved by changing the cache deadline.
- FIG. 14 is a flowchart showing the contents of the cache data organization process.
- a process is performed to calculate the cache rate and cache hit rate of the cache 24 at the time of execution of this process.
- the log data storage unit 27 is referred to, and the total number of stored authentication log data is counted as the total number of cache authentication executions.
- the number of pieces of authentication log data in which the cache authentication success/failure is set as "success" is counted as the number of successful cache authentications. Then, based on these counted values, a cache hit rate is calculated as a first ratio.
- the personal information storage unit 26 is referred to, and the number of personal information data stored in the personal information storage unit 26 is counted as the number of all users for authentication.
- the cache 24 is referred to, and the number of cache data stored in the cache 24 is counted as the number of users whose information is stored in the cache 24. Then, based on these counted values, a cache rate is calculated as a second rate.
- a process is performed to determine whether the cache efficiency value calculated in the process in S302 is equal to or greater than a predetermined efficiency threshold. .
- the process advances to S310.
- the process advances to S304.
- a process is performed to determine whether the value of the cache rate calculated in the process of S301 is smaller than a predetermined cache rate threshold. be exposed.
- the process advances to S305.
- the process advances to S307.
- a process is performed to determine whether the value of the cache hit rate calculated in the process of S301 is smaller than a predetermined hit rate threshold. will be held.
- the process in S306 is performed when it is determined that the cache rate is good but the cache hit rate is not good, and the cache deadline is extended from the current number of days in order to improve the cache hit rate. Processing takes place. Thereafter, the process advances to S310.
- a process is performed to determine whether the value of the cache hit rate calculated in the process of S301 is smaller than a predetermined hit rate threshold. will be held. This process is similar to the process in S305.
- the client device 10 is installed at, for example, a major station, an airport, a tourist spot, etc. where many people come and go.
- the process of S308 is a process that is performed when the cache rate is not good but the cache hit rate is good, and the cache deadline is shortened from the current number of days (for example, by one day) in order to improve the cache rate. Processing takes place. Thereafter, the process advances to S310.
- the three thresholds used in the cache data organization process that is, the first threshold, which is the efficiency threshold, the second threshold, which is the hit rate threshold, and the third threshold, which is the cache rate threshold, are, for example, It may be determined from each value in operation of 1. For example, if the current value of cache efficiency exceeds 1.0, a value intermediate between this value and 1.0 may be set as the subsequent efficiency threshold. Further, regarding the hit rate threshold and the cache rate threshold, values obtained by multiplying the current values of the cache hit rate and cache rate by 1/2 may be set as the subsequent values of the hit rate threshold and the cache rate threshold, respectively.
- the number of days to extend the cache deadline by the process in S306 and the number of days to shorten the cache deadline by the process in S308 may be set to be more than one day (for example, seven days corresponding to one week). Furthermore, depending on the size of the cache efficiency value, these days may be set to be shorter as the cache efficiency value is closer to the efficiency threshold, and may be set as longer as the cache efficiency value is closer to 0.
- FIG. 15 is a flowchart showing the contents of cache data deletion processing.
- S314 a process is performed to determine whether all cache data stored in the cache 24 has been read from the cache 24 through the process in S311.
- the authentication request unit 14 in the client device 10 of FIG. I was trying to output it as follows.
- the authentication requesting unit 14 may acquire feature amounts from image data of the face and veins of the person to be authenticated, create and output an authentication request including these feature amounts.
- cache authentication or normal All you need to do is to perform authentication.
- the deletion of cache data from the cache 24 by the process of S107 in FIG. 6 is performed immediately after the authentication process of S103 or S105.
- the above determination result can be obtained in consideration of the case where, for example, a user who visits a bank branch performs authentication multiple times in succession in order to deposit and withdraw money at an ATM.
- the processing in S107 may be performed after a predetermined period of time has elapsed.
- cache data for a registrant who has been successfully authenticated in the normal authentication process in S105 is temporarily registered in the cache 24 and stored. Then, similarly to the case where the authentication process using cache authentication is successful, the cache data that has been registered will be updated after the predetermined period of time has passed after the authentication process using normal authentication has resulted in a successful authentication. The process of deleting the data from the cache 24 is performed.
- the cache expiration date is handled as the number of days that have passed since the authentication date and time included in the cache data.
- the cache expiration date may be handled as the number of days that have passed since the day the cache data was registered in the cache 24.
- the registration date data is left in the registration date table without being deleted even after delayed registration of cache data. Then, it is preferable to delete cache data whose cache time limit has passed from the registration date indicated by the registration date data from the cache 24, and also delete the registration date data from the registration date table.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Collating Specific Patterns (AREA)
Abstract
人物の特定に要する時間を減らすキャッシュ制御方法が提供される。コンピュータが実行するこの方法は、人物の生体情報を取得した場合に、当該人物の生体情報とキャッシュに記憶された複数の登録者それぞれの生体情報との類似度に応じて、当該複数の登録者のうちの当該人物に対応する登録者を特定する。また、この方法は、当該特定後、当該登録者の生体情報を当該キャッシュから削除する。更に、この方法は、当該特定が行われた各日時の情報を含む履歴に基づいて決定する日時に、当該特定した登録者の生体情報を当該キャッシュに記憶する。
Description
本発明は、キャッシュ(Cache)の制御の技術に関する。
複数種類の認証技術を組み合わせて行うマルチ認証という技術が知られている。マルチ認証のうちで、指紋、静脈、顔情報などの各種の生体情報を各個人の特徴量として用いる生体認証を複数種類組み合わせて行う認証はマルチ生体認証と称されている。
認証技術では認証精度の向上は不変の要請である。マルチ認証では、組み合わせる個々の認証技術の認証精度の向上は認証の利用可能人数の増加をもたらす。生体認証において、照合に用いる利用者毎の生体特徴量の種類やデータ量を増加させることで認証精度を向上させる手法があるが、この手法は、認証に要する時間を長くしてしまうことがある。
認証に要する時間を短縮する技術のひとつとしてキャッシュ認証という技術が知られている。この技術は、例えば、利用頻度の高さや属性・特徴の類似性の高さなどといった特定の条件によって全利用者から抽出した各人物の情報をキャッシュに登録し、キャッシュに登録されている情報を優先して用いて認証を行うというものである。
このキャッシュ認証に関して幾つかの技術が知られている(例えば、特許文献1~特許文献6参照)。
これらの技術のうちのひとつでは、予め複数の認証対象者のテンプレート情報を記憶装置に記憶しておき、オフィス等への入場の際に、認証対象者から生体情報の入力を受付け、当該生体情報とテンプレート情報を照合することで認証処理を実行する。認証処理の結果、肯定的な判断がされた場合、この判断に用いられたテンプレート情報をキャッシュデータベースに格納しておく。そして、以降の認証については、入場の際の認証とは相違する入力で生体情報を受付け、これとキャッシュデータベースに格納されたテンプレート情報と照合する。更に、所定の機器のログオフ等予め定められた操作を行った際には(例えば、オフィスから退場するとみなして)、キャッシュデータベースから対応するテンプレート情報を削除する。
キャッシュ認証は、認証対象者についての情報が認証時にキャッシュに保存されている場合に短時間での人物の特定を可能にするというものである。その一方で、余りに多数の人物についての情報をキャッシュに保存すると、必要な情報をキャッシュから探し出すために時間を要することになり、キャッシュ認証を用いることで期待される人物の特定に要する時間の短縮の効果が薄れてしまう。従って、人物それぞれについての情報のキャッシュでの保存期間をコントロールすることは、認証の速度の観点からは重要である。
1つの側面において、本発明は、人物の特定に要する時間を減らすことを目的とする。
1つの案では、キャッシュ制御方法がコンピュータによって行われる。このコンピュータは、人物の生体情報を取得した場合に、当該人物の生体情報とキャッシュに記憶された複数の登録者それぞれの生体情報との類似度に応じて、当該複数の登録者のうちの当該人物に対応する登録者を特定する処理を行う。また、このコンピュータは、当該特定後、当該登録者の生体情報を当該キャッシュから削除する処理を行う。更に、このコンピュータは、当該特定が行われた各日時の情報を含む特定履歴に基づいて決定する日時に、当該特定した登録者の生体情報を当該キャッシュに記憶する処理を行う。
1つの側面によれば、人物の特定に要する時間を減らすことができる。
以下、図面を参照しながら、実施形態を詳細に説明する。
ここでは、銀行の支店に設置されているATM(Automated Teller Machine)において、キャッシュ認証を用いる生体認証を実施する形態について説明する。
ATMは、支店に初めて来店したユーザについて認証を行うが、このようなユーザについての生体情報はキャッシュには登録されていないため、キャッシュ認証には失敗する。この場合、ATMは、キャッシュ認証ではない通常の認証を当該ユーザに対して行う。通常の認証に成功すると、ATMは当該ユーザについての生体情報をキャッシュに登録する。当該ユーザについての生体情報がキャッシュに登録されているので、再度来店した当該ユーザについてATMが認証を行うと、今度はキャッシュ認証に成功する。
キャッシュ認証において、あまりに多数の人物についての情報をキャッシュに保存すると、今度はキャッシュ認証自体に時間を要することになり、人物の特定に要する時間の短縮の効果が薄れてしまう。つまり、キャッシュ認証を利用することで認証に要する時間の短縮の効果を十分に享受するには、キャッシュ率を過度に高くしないことも望まれる。なお、キャッシュ率とは、認証の利用者全員の人数(例えば、当該銀行に取引口座を有するユーザの総人数)に対する、キャッシュに情報が保存されている利用者の人数である。
キャッシュ率を低下させるには、例えば、一旦認証が行われた後暫くは再度の認証が行われない利用者についての生体情報を、キャッシュに直ちには登録せずに、登録時期を遅延させて再度の認証が行われるまでに登録するようにするとよい。このようにすれば、当該利用者についての再度の認証ではキャッシュ認証に成功する。しかも、登録を遅延させている期間は当該利用者の生体情報がキャッシュには保存されていないのでキャッシュ率が低下し、他の利用者についての認証に要する時間が短縮される。
また、認証を行った後いつまでも再度の認証が行われない利用者について、認証後所定の期限を過ぎた場合には、認証を行った際にキャッシュに登録された当該利用者についての生体情報をキャッシュから削除することも、キャッシュ率の低下には効果的である。このようにすると、当該削除後における他の利用者についてのキャッシュ認証に要する時間が、削除しない場合と比べて短くなる。但し、このような削除の実行によってキャッシュ率を過度に低下させると、今度はキャッシュヒット率の低下の影響が大きくなってしまう。なお、キャッシュヒット率とは、キャッシュ認証の成功回数についてのキャッシュ認証の総実施回数に対する割合((キャッシュ認証成功回数)/(総認証回数))である。キャッシュヒット率が低下すれば、キャッシュ認証に失敗する可能性が高くなり、キャッシュ認証よる認証時間の短縮の効果が薄れてしまう。
以上の点を踏まえ、本実施形態では、キャッシュへの生体情報の登録を遅延させる期間の長さと、認証の際にキャッシュに登録した生体情報をキャッシュから削除するまでの期間の長さとを適切に制御することによって、人物の特定に要する時間の短縮化を目指す。
図1について説明する。図1は認証システム1の構成例を示す図である。
認証システム1は、クライアント装置10とサーバ装置20とが通信ネットワーク30を経由して接続されて構成されている。
クライアント装置10は銀行の支店に設置されているATMである。ここでは説明を簡単にするため、クライアント装置10が支店毎に1台ずつ設置されているものとする。
クライアント装置10は、カメラ11、静脈センサ12、センサ制御部13、認証要求部14、入力部15、クライアント制御部16、通信部17、及び表示部18を備えている。
カメラ11は、支店に来店した人物(認証対象者)の顔の画像を取得する。
静脈センサ12は、認証対象者の静脈の画像を取得する。
センサ制御部13は、カメラ11及び静脈センサ12を制御して、認証対象者の顔と静脈とのそれぞれの画像の取得を行わせ、得られた画像を出力する。
認証要求部14は、センサ制御部13から受け取った認証対象者の顔及び静脈それぞれの画像を表している画像データを含む認証要求を作成して出力する。
入力部15は例えばカード読み取り機であり、認証対象者が携帯しているICカードから、認証対象者についての識別情報(Identification、以下「ID」と記す)を読み出して取得する。
クライアント制御部16は、クライアント装置10全体の制御を行う。クライアント制御部16は、例えば、認証要求部14から送られてくる認証要求を出力する。
通信部17は、通信ネットワーク30を介してサーバ装置20との間でデータ通信を行う。例えば、通信部17は、クライアント制御部16から出力される認証要求を、サーバ装置20へ宛てて送出する。また、通信部17は、サーバ装置20から送られてくる各種の情報、例えば、送出した認証要求に基づいて行われた認証の結果を示す情報を受信してクライアント制御部16へ出力する。
クライアント制御部16は、表示部18を制御して、通信部17から受け取った認証結果の情報を表示部18に表示させる。
表示部18は例えばディスプレイ装置であり、クライアント制御部16による制御の下で認証結果の表示を行う。
サーバ装置20は、通信部21、認証制御部22、キャッシュ認証部23、キャッシュ24、通常認証部25、個人情報記憶部26、ログデータ記憶部27、及びキャッシュ管理部28を備えている。
通信部21は、通信ネットワーク30を介してクライアント装置10との間でデータ通信を行う。例えば、通信部17は、認証要求をクライアント装置10から受信する。また、例えば、通信部17は、認証制御部22から出力される、認証要求に応じて行われた認証の結果を示す情報を、クライアント装置10へ宛てて送出する。
認証制御部22は、サーバ装置20全体の制御を行う。認証制御部22は、例えば、キャッシュ認証部23によるキャッシュ認証と通常認証部25による通常の認証との制御、ログデータ記憶部27への認証ログの記録、認証結果の通信部21への出力を行う。
キャッシュ認証部23は、認証制御部22の制御の下で、クライアント装置10から送られてきた認証要求に含まれている顔及び静脈それぞれの画像についてのマルチ生体認証を、キャッシュ24に記憶されているキャッシュデータを用いて行う第1特定部である。本実施形態では、このような、キャッシュ24内のデータを用いて行う認証を「キャッシュ認証」と称している。キャッシュ認証部23は、このキャッシュ認証の結果を認証制御部22へ出力する。
キャッシュ24はアクセス速度が高速な記憶部である。キャッシュ24には、サーバ装置20で実行される認証が成功した場合に、成功した認証対象者についての生体情報が、当該成功の時から所定の日時の経過後に登録され、その後所定の期間保存される。
キャッシュ24は支店毎に用意される。例えば複数台のクライアント装置10(すなわちATM)が設置されている支店の場合には、当該複数台のクライアント装置10が1つのキャッシュ24を共用する。但し、クライアント装置10毎に1台のキャッシュ24を用いるようにしてもよく、また、全支店の全てのクライアント装置10で1台のキャッシュ24を共用するようにしてもよい。
通常認証部25は、認証制御部22の制御の下で、クライアント装置10から送られてくる認証要求に含まれている顔及び静脈それぞれの画像についてのマルチ生体認証を、個人情報記憶部26に記憶されている生体情報を用いて行う第2の特定部である。本実施形態では、このような、キャッシュ24内のデータを用いないで行う認証を、「通常の認証」と称している。通常認証部25は、この通常の認証の結果を認証制御部22へ出力する。
個人情報記憶部26は、アクセス速度がキャッシュ24よりも遅い記憶部である。個人情報記憶部26には、この銀行に取引口座を有する全てのユーザについての生体情報が登録されている。
ログデータ記憶部27は、サーバ装置20で実施された認証の結果の履歴(特定履歴)を認証ログとして記憶する記憶部である。
キャッシュ管理部28は、ログデータ記憶部27に記憶されているログデータを用いて、キャッシュ24に対するキャッシュデータの遅延登録・キャッシュ期限経過後の削除の制御を行う制御部である。また、キャッシュ管理部28は、当該ログデータを用いて、キャッシュデータの遅延登録日数及びキャッシュ期限の管理も行う。キャッシュ管理部28は、個人情報記憶部26に記憶されている生体情報を読み出し、当該生体情報をキャッシュデータとしてキャッシュ24に登録する。
ここで、個人情報記憶部26、キャッシュ24、及びログデータ記憶部27のそれぞれに記憶されるデータの構造について説明する。
図2は、個人情報記憶部26に記憶されている個人情報データの例を表している。
個人情報データは、個人情報記憶部26に登録されている登録者それぞれについての生体情報と当該登録者のIDとが対応付けられたデータである。なお、登録者それぞれについての顔及び静脈それぞれの特徴量データが、生体情報として個人情報記憶部26に記憶されている。
図3は、キャッシュ24に登録されるキャッシュデータの例を表している。
キャッシュ24には、サーバ装置20で実行される認証が成功する度に、当該認証対象者についての生体情報が、当該成功の時から所定の日時の経過後に登録される。キャッシュ管理部28は、当該認証対象者とIDが一致している登録者についての生体情報を個人情報記憶部26から読み出し、当該生体情報と当該認証を行った日時の情報とを当該IDに対応付けたデータをキャッシュデータとしてキャッシュ24に登録する。
図4は、ログデータ記憶部27に登録される認証ログデータの例を表している。
認証制御部22は、サーバ装置20において認証の処理が行われる度に、当該認証の状況を表している認証ログをログデータ記憶部27に登録する。認証ログには、認証を行った日時の情報、登録者のID、キャッシュ認証部23によるキャッシュ認証の成否、通常認証部25による通常の認証が行われた場合には当該通常の認証の成否、及び認証の処理に要した時間(認証時間)が含まれる。但し、登録者のIDは、キャッシュ認証と通常の認証とのどちらかで認証結果が成功であった場合に認証ログに含まれる。なお、図4においては、認証の成功が丸印(「〇」)で表されており、また、認証の失敗が罰印(「×」)で表されている。
図1の認証システム1は以上のように構成されている。
なお、認証システム1におけるサーバ装置20を、コンピュータとソフトウェアとの組合せにより構成するようにしてもよい。
図5はコンピュータ40のハードウェア構成例を示している。
コンピュータ40は、構成要素として、例えば、プロセッサ41、メモリ42、記憶装置43、読取装置44、通信インタフェース46、及び入出力インタフェース47の各ハードウェアを備えている。これらの構成要素はバス48を介して接続されており、構成要素間で相互にデータの授受を行える。
プロセッサ41は、例えば、シングルプロセッサであっても、マルチプロセッサ及びマルチコアであってもよい。プロセッサ41は、メモリ42を利用して、例えば、後述する補正処理の手順を記述した補正プログラムを実行する。
メモリ42は、例えば半導体メモリであり、RAM領域及びROM領域を含む。なお、RAMは、Random Access Memoryの略称である。また、ROMは、Read Only Memoryの略称である。コンピュータ40を用いてサーバ装置20を構成する場合には、例えばメモリ42がキャッシュ24の機能を提供する。
記憶装置43は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、または外部記憶装置である。コンピュータ40を用いてサーバ装置20を構成する場合には、例えば記憶装置43が個人情報記憶部26及びログデータ記憶部27の機能を提供する。
読取装置44は、プロセッサ41の指示に従って着脱可能記憶媒体45にアクセスする。着脱可能記憶媒体45は、例えば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD-ROM、DVD等)などにより実現される。なお、USBは、Universal Serial Busの略称である。CDは、Compact Discの略称である。DVDは、Digital Versatile Diskの略称である。
通信インタフェース46は、例えば、プロセッサ41の指示に従って通信ネットワーク30を介してデータを送受信する。コンピュータ40を用いてサーバ装置20を構成する場合には、通信インタフェース46が通信部21の機能を提供する。
入出力インタフェース47は、例えばキーボードやマウス装置等の入力デバイスやディスプレイ装置等の出力デバイスとのインタフェースを提供する。
このコンピュータ40のプロセッサ41により実行されるプログラムは、例えば、下記の形態で提供される。
(1)記憶装置43に予めインストールされている。
(2)着脱可能記憶媒体45により提供される。
(3)プログラムサーバなどから通信網を介して通信インタフェース46へ提供される。
(2)着脱可能記憶媒体45により提供される。
(3)プログラムサーバなどから通信網を介して通信インタフェース46へ提供される。
なお、コンピュータ40のハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、上述の機能部の一部または全部の機能がFPGA及びSoCなどによるハードウェアとして実装されてもよい。なお、FPGAは、Field Programmable Gate Arrayの略称である。SoCは、System-on-a-chipの略称である。
次に、図1の認証システム1におけるサーバ装置20が行う、キャッシュ制御方法について説明する。
図5のコンピュータ40とソフトウェアとの組合せによりサーバ装置20を構成する場合には、これより説明する制御処理を記述した制御プログラムをプロセッサ41に実行させるようにする。このようにすることで、サーバ装置20が行うキャッシュ制御方法がコンピュータ40により行われる。
まず、図6について説明する。図6はキャッシュ制御処理の処理内容を示したフローチャートである。
図6の処理が開始されると、まず、S101において、係数kとキャッシュ期限とのそれぞれに初期値を設定する処理が行われる。この処理はキャッシュ管理部28により行われる処理である。なお、係数k及びキャッシュ期限については後に説明する。
次に、S102では、認証要求をクライアント装置10から取得したか否かを判定する処理が行われる。この処理は認証制御部22により行われる処理である。この処理において、認証要求を取得したと判定されたとき(判定結果がYESのとき)にはS103に処理を進め、認証要求を取得していないと判定されたとき(判定結果がNOのとき)にはS108に処理を進める。
S103では、キャッシュ認証による認証処理が行われる。キャッシュ認証による認証処理はキャッシュ認証部23により行われる処理であって、第1の特定の一例である。キャッシュ認証による認証処理では、まず、キャッシュデータをキャッシュ24から取得する処理が行われる。次に、取得した認証要求に含まれている認証対象者の顔と静脈とのそれぞれの画像データから特徴量を取得する処理が行われる。次に、認証対象者の顔と静脈とについてマルチ生体認証が行われる。認証では、認証対象者についての顔と静脈とのそれぞれの特徴量と、取得したキャッシュデータに生体情報として含まれている登録者の顔特徴量データ及び静脈特徴量データのそれぞれとについての類似度が算出される。そして、顔と静脈とのそれぞれについて、類似度と所定の類似度閾値との大小比較が行われることによって、認証対象者が登録者と同一人物であるか否かの判定が行われる。
S104では、S103のキャッシュ認証による認証処理が成功し、認証対象者に対応する登録者の特定ができたか否かを判定する処理が行われる。この処理は認証制御部22により行われる処理である。この処理において、認証対象者に対応する登録者の特定ができたと判定されたとき(判定結果がYESのとき)にはS106に処理を進める。一方、S103のキャッシュ認証による認証処理において、認証対象者と登録者とが同一人ではないと判定されたとき(判定結果がNOのとき)にはS105に処理を進める。
S105では、通常の認証による認証処理が行われる。この認証処理は通常認証部25により行われる処理であって、第2の特定の一例である。通常の認証による認証処理では、まず、個人情報データを個人情報記憶部26から取得する処理が行われる。次に、取得した認証要求に含まれている認証対象者の顔及び静脈それぞれの画像データから特徴量を取得する処理が行われる。次に、認証対象者の顔と静脈とについてマルチ生体認証が行われる。認証では、認証対象者についての顔及び静脈それぞれの特徴量と、取得した個人情報データに生体情報として含まれている登録者の顔特徴量データ及び静脈特徴量データのそれぞれとについての類似度が算出される。そして、顔及び静脈それぞれについて、類似度と所定の類似度閾値との大小比較が行われることによって、認証対象者が登録者と同一人物であるか否かの判定が行われる。このS105の処理を終えるとS106に処理を進める。
S106では、S102の処理により取得したと判定された認証要求に応じて行われた認証の結果を、認証ログとしてログデータ記憶部27に記録する処理が行われる。この処理は認証制御部22により行われる処理である。この処理により記録される認証ログには、図4に示したように、認証を行った日時の情報、登録者のID、実行されたキャッシュ認証の成否、通常の認証が行われた場合には当該通常の認証の成否、及び、認証時間が含まれる。但し、登録者のIDは、S103のキャッシュ認証による認証処理とS105の通常の認証による認証処理とのどちらかで認証結果が成功であった場合に認証ログに含まれる。図6の処理において、認証時間は、S102の判定処理の結果がYESとなってからS106の処理の実行が開始されるまでの時間である。
S107では、S103とS105とのどちらかの認証処理の結果が成功であった認証対象者に対応する登録者についての生体情報が含まれているキャッシュデータがキャッシュ24に存在する場合に、当該キャッシュデータを削除する処理が行われる。この処理はキャッシュ管理部28により行われる処理であって、第1の削除の一例である。
S108では、この処理の実行時の日付を確認し、この日付が変わった否か、すなわち、この日付がS108の処理の前回実行時に確認した日付から変わって翌日となったか否かを判定する処理が行われる。この処理はキャッシュ管理部28により行われる処理である。この処理において、日付が変わったと判定されたとき(判定結果がYESのとき)にはS200に処理を進める。一方、この処理において、日付が変わっていないと判定されたとき(判定結果がNOのとき)にはS102へ処理を戻して、これまでに説明した処理が再度行われる。
S200ではキャッシュ遅延登録処理が行われ、続くS300ではキャッシュデータ整理処理が行われる。これらの処理はキャッシュ管理部28により行われる処理である。これらの処理の詳細については後述する。
S300の処理が完了したときにはS102へ処理を戻して、これまでに説明した処理が再度行われる。
以上までの処理がキャッシュ制御処理である。
次に、図6においてS200として表されているキャッシュ遅延登録処理の詳細について説明する。図7はキャッシュ遅延登録処理の処理内容を示したフローチャートである。
図7において、まず、S201では、前日の認証日時に、すなわち、直近に実行された図6のS108の処理により判定結果がYESとなる前の日の認証日時に、認証処理の結果が成功となった登録者のIDを1つ取得する処理が行われる。この処理では、ログデータ記憶部27を参照して、「認証日時」が前日を表す日時とされている認証ログに、図6のS103とS105とのどちらかの認証処理で認証結果が成功であったことにより含まれているIDを1つ取得する処理が行われる。
S201の処理に続き、S210では遅延登録日決定処理が行われる。この処理は遅延登録日を決定する処理である。遅延登録日とは、前日の認証日時に行われた認証処理により認証が成功した登録者についての生体情報を含むキャッシュデータをキャッシュ24に登録する日付であって、第1の日時の一例である。この遅延登録日決定処理の詳細は後述する。
S210の処理に続き、S202では、S210の遅延登録日決定処理により決定された遅延登録日を含む登録日データを作成して登録日テーブルに登録する処理が行われる。
ここで登録日データ及び登録日テーブルについて説明する。
図8は登録日テーブルの例を示している。登録日テーブルは、図6におけるS103のキャッシュ認証による認証処理とS105の通常の認証による認証処理とのどちらかで認証が成功した登録者それぞれについての生体情報のキャッシュ24への遅延登録日を管理するために用いられるテーブルである。登録日テーブルには、当該登録者毎の登録日データが登録される。登録日データは、認証が成功した登録者のIDと、当該認証処理の認証日時と、S210の遅延登録日決定処理により当該登録者について決定された遅延登録日とが対応付けられたデータである。なお、登録日テーブルは、例えば、キャッシュ管理部28が自身で保持する。
S203では、ログデータ記憶部27を参照して、前日の認証日時に実行された認証処理の結果が成功となった登録者の全てについての登録日データを登録日テーブルに登録したか否かを判定する処理が行われる。この処理において、当該登録者の全てについての登録日データを登録したと判定されたとき(判定結果がYESのとき)にはS204に処理を進める。一方、この処理において、登録日データが未登録である登録者が残っていると判定されたとき(判定結果がNOのとき)にはS201へ処理を戻して、これまでに説明した処理が、登録日データが未登録の登録者について行われる。
S204では、登録日テーブルから登録日データを1つ取得する処理が行われる。
S204の処理に続き、S220ではキャッシュ登録処理が行われる。キャッシュ登録処理は、S204の処理により取得した登録日データで示されている遅延登録日に基づいて、認証が成功した登録者についての生体情報をキャッシュ24に登録する処理である。このキャッシュ登録処理の詳細は後述する。
S220の処理に続き、S205では、登録日テーブルに登録されている全ての登録日データについて、S220のキャッシュ登録処理を実行したか否かを判定する処理が行われる。この処理において、全ての登録日データについてキャッシュ登録処理を実行したと判定されたとき(判定結果がYESのとき)にはS230に処理を進める。一方、この処理において、キャッシュ登録処理を実行していない登録日データが残っていると判定されたとき(判定結果がNOのとき)にはS204へ処理を戻して、これまでに説明した処理が、残余の登録日データについて行われる。
S230では係数値変更処理が行われる。係数値変更処理は、前述した係数kの値を変更する処理である。なお、係数kは、S210の遅延登録日決定処理による遅延登録日の決定に用いられる。この係数値変更処理の詳細については後述する。
S230の処理を終えると図7のキャッシュ遅延登録処理が終了し、図6のキャッシュ制御処理に処理が戻る。
次に、図7においてS210として表されている遅延登録日決定処理の詳細について説明する。図9は遅延登録日決定処理の処理内容を示したフローチャートである。
図9において、まず、S211では、直近に実行された図7のS201の処理によりIDが取得された登録者についての平均来店間隔を算出する処理が行われる。平均来店間隔とは、図1のクライアント装置10がATMとして設置されている銀行の支店に当該登録者が来店する間隔の平均値である。本実施形態では、クライアント装置10から送られてくる当該登録者についての認証要求に応じたキャッシュ認証が図1のサーバ装置20で実行されたことを、当該登録者の当該支店への来店として扱うこととする。従って、この処理では、当該登録者についての認証ログをログデータ記憶部27から抽出し、抽出した認証ログそれぞれに含まれている認証日時の情報から、前回の認証から今回の認証までの認証日時の間隔を各回の認証毎に算出し、当該間隔の平均値を算出する。この平均来店間隔の算出を数式で表現したものが下記の式(1)である。
この式(1)におけるAVIが平均来店間隔である。なお、式(1)において、nは、クライアント装置10から送られる当該登録者についての認証要求に応じてサーバ装置20が実行したキャッシュ認証の回数であり、キャッシュ認証の成否は問わない。また、mは計算開始回数である。例えば、直近の1年間の来店についての平均来店間隔の算出を行う場合には、mの値を、本日から1年前の日の直後に実行されたキャッシュ認証の回数を初回のキャッシュ認証から数えて得られる値とする。また、例えば、初回の来店以降の全ての来店についての平均来店間隔の算出を行う場合には、mの値を「1」とする。
次に、S212において、S211の処理により算出された平均来店間隔に、前述した係数kの値を乗算することによって、遅延登録日数を算出する処理が行われる。遅延登録日数とは、当該登録者についての生体情報を含むキャッシュデータについてのキャッシュ24への登録を遅延させる日数である。遅延登録日数の算出がこのようにして行われるので、係数kの値が大きいほど遅延登録日数は長くなり、係数kの値が小さいほど遅延登録日数は短くなる。なお、このS212の処理においては、平均来店間隔と係数kの値との乗算結果の小数点以下を切り捨てた値を遅延登録日数の算出結果としてもよい。
次に、S213において、当該登録者についての認証が直近に成功した日付から、S212の処理により算出された遅延登録日数が経過した日付を、当該登録者についての遅延登録日として決定する処理が行われる。このS213の処理は、図6に示した処理におけるS200のキャッシュ遅延登録処理において実行されるので、認証が直近に成功した日付とは、S108の処理の判定結果がYESとなる前の日、すなわち、S213の処理の実行日の前日である。
S213の処理を終えると図9の遅延登録日決定処理が終了し、図7のキャッシュ遅延登録処理に処理が戻る。
次に、図7においてS220として表されているキャッシュ登録処理の詳細について説明する。図10はキャッシュ登録処理の処理内容を示したフローチャートである。
図9において、まず、S221では、本日が、直近に実行された図7のS204の処理により取得した登録日データに含まれている遅延登録日であるか否かを判定する処理が行われる。この処理において、本日が遅延登録日であると判定されたとき(判定結果がYESのとき)にはS222に処理を進める。一方、この処理において、本日はまだ遅延登録日ではないと判定されたとき(判定結果がNOのとき)には、このキャッシュ登録処理を終了して、図7のキャッシュ遅延登録処理に処理を戻す。
S222では、S204の処理により取得した登録日データに含まれている登録者のIDに対応付けられている当該登録者の生体情報を個人情報記憶部26から読み出す処理が行われる。
S223では、S204の処理により取得した登録日データに含まれている登録者のID及び認証日時の情報と、S222の処理により読み出した当該登録者の生体情報とを対応付けたキャッシュデータをキャッシュ24に登録して記憶する処理が行われる。
S224では、S204の処理により登録日テーブルから取得した登録日データに基づいたキャッシュデータのキャッシュ24への登録がS223の処理により完了したので、当該登録日データを当該登録日テーブルから削除する処理が行われる。
S224の処理を終えると図10のキャッシュ登録処理が終了し、図7のキャッシュ遅延登録処理に処理が戻る。
次に、図7においてS230として表されている係数値変更処理の詳細について説明する。
まず、生体情報のキャッシュ24への遅延登録について、図11に示した具体例を用いて説明する。
図11の例においては、係数kの値は常に0.5とする。また、この例においては、後述するキャッシュ期限に基づいたキャッシュデータのキャッシュ24からの削除は考えないこととする。
まず、ユーザが支店に初めて来店すると、1回目の認証が行われる。このときには当該ユーザの生体情報がキャッシュ24には記憶されていないので、キャッシュ認証は失敗する。その後の通常の認証に成功すると、当該ユーザの生体情報がキャッシュデータとしてキャッシュ24に登録される。
次に、初回の来店から3日後に当該ユーザが来店し、2回目の認証が行われたとする。このときには当該ユーザの生体情報がキャッシュ24には記憶されているので、キャッシュ認証は成功する。このとき当該ユーザの生体情報がキャッシュ24から一旦削除される。このときまでの来店間隔の平均値は3-1=3日であり、係数kの値が0.5であるので、遅延登録日数は3×0.5=1(小数点以下は切り捨てとする。以下同様)となり、2回目の認証の実施日の1日後に当該ユーザの生体情報がキャッシュ24に改めて登録される。
次に、2回目の来店から7日後に当該ユーザが来店し、3回目の認証が行われたとする。このときキャッシュ認証は成功し、当該ユーザの生体情報がキャッシュ24から一旦削除される。このときまでの来店間隔の平均値は(3+7)/2=5日であり、係数kの値が0.5であるので、遅延登録日数は5×0.5=2となり、3回目の認証の実施日の2日後に当該ユーザの生体情報がキャッシュ24に改めて登録される。従って、3回目の認証の実施日翌日の1日間は当該ユーザの生体情報がキャッシュ24に含まれていない状態となる。
次に、3回目の来店から2日後に当該ユーザが来店し、4回目の認証が行われたとする。このときもキャッシュ認証は成功し、このとき当該ユーザの生体情報がキャッシュ24から一旦削除される。このときまでの来店間隔の平均値は(3+7+2)/3=4日であり、係数kの値が0.5であるので、遅延登録日数は4×0.5=2となり、4回目の認証の実施日の2日後に当該ユーザの生体情報がキャッシュ24に改めて登録される。従って、4回目の認証の実施日翌日の1日間は当該ユーザの生体情報がキャッシュ24に含まれていない状態となる。
以上の状況では、平均して4日間隔で来店する当該ユーザに対し、当該ユーザの生体情報がキャッシュ24に含まれていない期間を設けても、2回目以降のキャッシュ認証は全て成功する。また、当該期間内は、当該利用者の生体情報がキャッシュ24には保存されていないので、キャッシュ率が低下し、当該期間内に当該ユーザ以外の人物に対して行われるキャッシュ認証に要する時間が短縮される。
但し、2回目以降のキャッシュ認証が全て成功したのは係数kの値が当該ユーザにとって好ましい値であったからである。例えば係数kの値が0.6であったとすると、3回目の認証時に算出される遅延登録日数は3となり、この場合には、当該ユーザに対する4回目の認証ではキャッシュ認証に失敗して通常の認証が行われることとなるため、認証に時間を要することとなる。
このように、係数kの値は認証時間に影響を及ぼす。そこで、係数kの値を認証時間で評価するようにして、認証時間が短くなるように係数kの値を動的に変更して最適化を試みる。このための処理が係数値変更処理である。
図12は係数値変更処理の処理内容を示したフローチャートである。
図12において、まず、S231では、平均認証時間Taを算出する処理が行われる。
平均認証時間Taは認証を実施した各回における認証時間についての全実施回での平均値である。なお、平均認証時間Taを、下記の式(2)により算出するようにしてもよい。
Ta=キャッシュ認証成功時の認証時間の平均値×キャッシュヒット率+
キャッシュ認証失敗時の認証時間の平均値×(1-キャッシュヒット率)
………(2)
キャッシュ認証失敗時の認証時間の平均値×(1-キャッシュヒット率)
………(2)
S231の処理では、ログデータ記憶部27が参照されて、記憶されている認証ログデータの総数がキャッシュ認証の総実施回数として計数される。また、キャッシュ認証の成否が「成功」とされている認証ログデータの数がキャッシュ認証の成功回数として計数される。そして、これらの計数値に基づいてキャッシュヒット率が算出される。
また、S231の処理では、キャッシュ認証の成否が「成功」とされている認証ログデータそれぞれに含まれている認証時間の合計値を当該認証ログデータの数で除算することによって、キャッシュ認証成功時の認証時間の平均値が算出される。更に、キャッシュ認証の成否が「失敗」とされていて通常の認証が実施されている認証ログデータそれぞれに含まれている認証時間の合計値を当該認証ログデータの数で除算することによって、キャッシュ認証失敗時の認証時間の平均値が算出される。これらの、キャッシュ認証成功時の認証時間平均値とキャッシュ認証失敗時の認証時間平均値とは、それぞれ、第1特定時間及び第2特定時間の一例である。
S231の処理では、このようにして算出された各値を上記の式(2)に代入して計算することによって、平均特定時間の一例である平均認証時間Taが算出される。
次に、S232において、係数kと平均認証時間Taとのそれぞれの現在の値を保存しておく処理が行われる。係数kの現在の値とは、直近に実行された図9のS212の処理において遅延登録日数の算出に用いられた係数kの値であり、平均認証時間Taの現在の値とは、直前のS231の処理により算出された平均認証時間Taの値である。
次に、S233において、係数kと平均認証時間Taとのそれぞれについての、現在の値と、現在よりも1回前に実行されたS232の処理により保存されていた値との関係が第1の場合及び第2の場合のどちらかに合致するか否かを判定する処理が行われる。
第1の場合とは、係数kの現在の値が前回の値よりも小さい場合であって、且つ、現在の平均認証時間Taが前回よりも短くなった場合である。ここで、係数kの現在の値が前回の値よりも小さい場合とは、生体情報のキャッシュ24への記憶を直近に行ったときの係数kの値が、当該記憶が1回前に行われたときの値よりも小さい場合である。また、現在の平均認証時間Taが前回よりも短くなった場合とは、係数kの現在の値に基づいて当該記憶を直近に行ったときの平均認証時間Taが、係数kの前回の値に基づいて行われた1回前の当該記憶のときよりも短くなった場合である。つまり、第1の場合とは、遅延登録日数を短くしたことで認証時間が短くなった場合である。
また、第2の場合とは、係数kの現在の値が前回の値よりも大きい場合であって、且つ、現在の平均認証時間Taが前回よりも長くなった場合である。ここで、係数kの現在の値が前回の値よりも大きい場合とは、生体情報のキャッシュ24への記憶を直近に行ったときの係数kの値が、当該記憶が1回前に行われたときの値よりも大きい場合である。また、現在の平均認証時間Taが前回よりも長くなった場合とは、係数kの現在の値に基づいて当該記憶を直近に行ったときの平均認証時間Taが、係数kの前回の値に基づいて行われた1回前の当該記憶のときよりも長くなってしまった場合である。つまり、第2の場合とは、遅延登録日数を長くしたことで認証時間が長くなってしまった場合である。
S233の処理において、第1の場合及び第2の場合のどちらかに合致すると判定されたとき(判定結果がYESのとき)には、S234に処理を進めて係数kの値を小さくする処理が行われる。一方、S233の処理において、第1の場合及び第2の場合のどちらにも合致しないと判定されたとき(判定結果がNOのとき)には、S235に処理を進めて係数kの値を大きくする処理が行われる。
第1の場合に合致する場合、すなわち、遅延登録日数を短くしたことで認証時間が短くなった場合には、遅延登録日数を更に短くすると認証時間が更に短くなるとの推定に基づき、S234の処理により係数kの値を小さくする。一方、第1の場合に合致しない場合には、遅延登録日数を寧ろ長くした方が認証時間は短くなるとの推定に基づき、S235の処理により係数kの値を大きくする。
また、第2の場合に合致する場合、すなわち、遅延登録日数を長くしたことで認証時間が長くなってしまった場合には、遅延登録日数を寧ろ短くした方が認証時間は短くなるとの推定に基づき、S234の処理により係数kの値を小さくする。一方、第2の場合に合致しない場合には、遅延登録日数を更に長くすると認証時間が更に短くなることが期待できるとの推定に基づき、S235の処理により係数kの値を大きくする。
なお、係数kの値を小さくする場合若しくは大きくする場合における当該値の変更量を予め定めておくようにしてもよい。
また、係数値変更処理を前回に実行した場合に続けて、係数kの値を今回も再度小さくする場合若しくは係数kの値を今回も再度大きくする場合には、係数kの値の変更量を前回の変更量と同一としてもよい。一方で、係数値変更処理を前回実行した場合には大きくした係数kの値を今回は小さくする場合、若しくは、係数値変更処理を前回実行した場合には小さくした係数kの値を今回は大きくする場合には、係数kの値の変更量を前回の変更量の1/2としてもよい。このようにすると、係数kの値を良好な値に収束させることが可能になる。
S234若しくはS235の処理を終えると図12の係数値変更処理が終了し、図7のキャッシュ遅延登録処理に処理が戻る。
次に、図6においてS300として表されているキャッシュデータ整理処理の詳細について説明する。
キャッシュデータ整理処理は、キャッシュ24に保存されているキャッシュデータを整理する処理であって、認証後いつまでも再度の認証が行われない登録者についての生体情報を、所定のキャッシュ期限を過ぎた場合にキャッシュ24から削除する処理である。このような削除を行うことでキャッシュ率が低減するので、認証時間の短縮化が期待される。但し、キャッシュデータ整理処理では、キャッシュ24の利用状況に応じてキャッシュ期限を動的に変更するようにして、認証時間を過度に長くしてしまうようなキャッシュヒット率の過度の低下を抑制する。
キャッシュデータ整理処理では、キャッシュ24のキャッシュ効率の算出が行われる。キャッシュ効率とは、キャッシュヒット率をキャッシュ率で除算して得られる値((キャッシュヒット率)/(キャッシュ率))である。従って、キャッシュヒット率が高いほどキャッシュ効率は高くなり、また、キャッシュ率が低いほどキャッシュ効率は高くなる。
図13に示したテーブルは、キャッシュ率・キャッシュヒット率とキャッシュ効率との関係を表している。このテーブルにおいて、各行が同一のキャッシュ率を表しており、各列が同一のキャッシュヒット率を表している。そして、各セルには、各行のキャッシュ率と各列のキャッシュヒット率とから算出されるキャッシュ効率の値が表されている。このテーブルでは、右下方向ほどキャッシュ効率が高くなっている。
キャッシュデータ整理処理では、例えば、このテーブルに示されているキャッシュ効率の値が「1.00」よりも小さい場合(左上方向の場合)をキャッシュ効率が低いと判定するようにする。そして、このような低いキャッシュ効率の原因がキャッシュ率とキャッシュヒット率とのどちらかであるかを判定し、判定できた場合にはキャッシュ期限を変更することによって、キャッシュ効率の向上を図る。
ここで図14について説明する。図14はキャッシュデータ整理処理の処理内容を示したフローチャートである。
図14において、まず、S301では、この処理の実行時点におけるキャッシュ24のキャッシュ率とキャッシュヒット率とを算出する処理が行われる。
このS301の処理では、ログデータ記憶部27が参照されて、記憶されている認証ログデータの総数がキャッシュ認証の総実施回数として計数される。また、キャッシュ認証の成否が「成功」とされている認証ログデータの数がキャッシュ認証の成功回数として計数される。そして、これらの計数値に基づいて、キャッシュヒット率が第1の割合として算出される。
また、S301の処理では、まず、個人情報記憶部26が参照されて、個人情報記憶部26に記憶されている個人情報データのデータ数が、認証の利用者全員の人数として計数される。また、キャッシュ24が参照されて、キャッシュ24に保存されているキャッシュデータのデータ数が、キャッシュ24に情報が保存されている利用者の人数として計数される。そして、これらの計数値に基づいて、キャッシュ率が第2の割合として算出される。
次に、S302では、S301の処理により算出された第1の割合と第2の割合とに基づき、第1の割合を第2の割合で除算することによってキャッシュ効率を算出する処理が行われる。
S303では、キャッシュ24のキャッシュ効率が良好か否かの判定として、S302の処理により算出されたキャッシュ効率の値が、予め定めておいた効率閾値以上であるか否かを判定する処理が行われる。この処理において、キャッシュ効率が効率閾値以上であることによりキャッシュ効率は良好であると判定されたとき(判定結果がYESのとき)にはS310に処理を進める。一方、この処理において、キャッシュ効率が効率閾値に満たないことによりキャッシュ効率は良好とはいえないと判定されたとき(判定結果がYESのとき)にはS304に処理を進める。
S304では、キャッシュ24のキャッシュ率が良好か否かの判定として、S301の処理により算出されたキャッシュ率の値が、予め定めておいたキャッシュ率閾値よりも小さいか否かを判定する処理が行われる。この処理において、キャッシュ率がキャッシュ率閾値よりも小さいことによりキャッシュ率は良好であると判定されたとき(判定結果がYESのとき)にはS305に処理を進める。一方、この処理において、キャッシュ率がキャッシュ率閾値以上であることによりキャッシュ率は良好とはいえないと判定されたとき(判定結果がNOのとき)にはS307に処理を進める。
S305では、キャッシュ24のキャッシュヒット率が良好か否かの判定として、S301の処理により算出されたキャッシュヒット率の値が、予め定めておいたヒット率閾値よりも小さいか否かを判定する処理が行われる。
このS305の処理において、キャッシュヒット率がヒット率閾値よりも小さいことによりキャッシュヒット率は良好ではないと判定されたとき(判定結果がYESのとき)にはS306に処理を進める。
S306の処理は、キャッシュ率は良好であるがキャッシュヒット率は良好とはいえないと判定されたときに行われる処理であり、キャッシュヒット率を向上させるためにキャッシュ期限を現在の日数から延長する処理が行われる。その後はS310に処理を進める。
一方、S305の処理において、キャッシュヒット率がヒット率閾値以上であることによりキャッシュヒット率は良好であると判定されたとき(判定結果がNOのとき)にはS310処理を進める。従って、このときにはS306の処理は行われない。
なお、S305の処理の判定結果がNOとなる場合、すなわちキャッシュ率及びキャッシュヒット率が共に良好である場合とは、本来は、キャッシュ効率が良好である場合である。従って、この場合が生じる可能性は低い。クライアント装置10の設置場所が、例えば、ある企業のオフィス内に設けられたコンビニエンスストアなどといった、利用者が少人数に限定されているが同一の利用者が頻繁に利用する場所である場合には、良好なキャッシュ効率が期待できる。
S307では、キャッシュ24のキャッシュヒット率が良好か否かの判定として、S301の処理により算出されたキャッシュヒット率の値が、予め定めておいたヒット率閾値よりも小さいか否かを判定する処理が行われる。この処理はS305の処理と同様の処理である。
このS307の処理において、キャッシュヒット率がヒット率閾値よりも小さいことによりキャッシュヒット率は良好ではないと判定されたとき(判定結果がYESのとき)にはS310に処理を進める。従って、このときにはS308の処理は行われない。
なお、S307の処理の判定結果がYESとなる場合、すなわちキャッシュ率及びキャッシュヒット率がどちらも良好とはいえない場合とは、そもそもキャッシュ認証には向いていない場合が考えられる。このような場合は、例えば、クライアント装置10の設置場所が、例えば、多くの人々が行き交う主要駅や空港、観光地などである場合が想定される。
一方、S307の処理において、キャッシュヒット率がヒット率閾値以上であることによりキャッシュヒット率は良好であると判定されたとき(判定結果がNOのとき)にはS308に処理を進める。
S308の処理は、キャッシュ率は良好とはいえないがキャッシュヒット率は良好であるときに行われる処理であり、キャッシュ率を向上させるためにキャッシュ期限を現在の日数から(例えば1日)短縮する処理が行われる。その後はS310に処理を進める。
S310ではキャッシュデータ削除処理が行われる。この処理の詳細は後述する。
S310の処理を終えると図14のキャッシュデータ整理処理が終了し、図6のキャッシュ制御処理に処理が戻る。
なお、キャッシュデータ整理処理において用いられる3つの閾値、すなわち、第1の閾値である効率閾値、第2の閾値であるヒット率閾値、及び第3の閾値であるキャッシュ率閾値は、例えば、認証システム1の運用中のそれぞれの値から決めるようにしてもよい。例えば、現時点でのキャッシュ効率の値が1.0を超えている場合には、当該値と1.0との中間の値をその後の効率閾値としてもよい。また、ヒット率閾値及びキャッシュ率閾値については、キャッシュヒット率及びキャッシュ率それぞれの現時点での値を1/2倍した値をその後のヒット率閾値及びキャッシュ率閾値それぞれの値としてもよい。
また、S306の処理によるキャッシュ期限の延長日数、及び、S308の処理によるキャッシュ期限の短縮日数を、1日よりも多い日数(例えば、1週間に相当する7日)としてもよい。また、これらの日数を、キャッシュ効率の値の大きさに応じて、キャッシュ効率の値が効率閾値に近いほど短い日数とし、キャッシュ効率の値が0に近いほど長い日数としてもよい。
次に、図14においてS310として表されているキャッシュデータ削除処理の詳細について説明する。図15はキャッシュデータ削除処理の処理内容を示したフローチャートである。
図15にいて、まず、S311では、キャッシュ24からキャッシュデータを1つ読み出して取得する処理が行われる。
S312では、本日が、S311の処理により取得したキャッシュデータに含まれている認証日時の日付から、現在設定されているキャッシュ期限の日数を経過した日である第2の日時であるか否かを判定する処理が行われる。
このS312の処理において、本日が上述した第2の日時であると判定されたとき(判定結果がYESのとき)にはS313に処理を進める。このS313の処理では、S311の処理により読み出されたキャッシュデータをキャッシュ24から削除する処理が行われる。この処理は第2の削除の一例である。その後はS314に処理を進める。
一方、S312の処理において、本日はまだ第2の日時ではないと判定されたとき(判定結果がNOのとき)にはS314に処理を進める。従って、このときにはS312の処理によるキャッシュデータの削除は行われない。
S314では、キャッシュ24で保存されている全てのキャッシュデータについて、S311の処理によるキャッシュ24からの読み出しを行ったか否かを判定する処理が行われる。
このS314の処理において、キャッシュ24で保存されている全てのキャッシュデータについての読み出しを行ったと判定されたとき(判定結果がYESのとき)には図15のキャッシュデータ削除処理を終了して図14のキャッシュデータ整理処理に処理を戻す。従って、この後、キャッシュデータ整理処理から図6のキャッシュ制御処理へと処理が戻る。
一方、S314の処理において、読み出しが行われていないキャッシュデータがキャッシュ24に残っていると判定されたとき(判定結果がNOのとき)にはS311へ処理を戻して、これまでに説明した処理が、残余のキャッシュデータについて行われる。
以上、開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
例えば、前述した説明では、図1のクライアント装置10における認証要求部14は、センサ制御部13から受け取った認証対象者の顔及び静脈それぞれの画像を表している画像データを含む認証要求を作成して出力するようにしていた。この代わりに、認証要求部14が、認証対象者の顔と静脈とのそれぞれの画像データから特徴量を取得し、これらの特徴量を含む認証要求を作成して出力するようにしてもよい。なお、このようにする場合には、図6におけるS103及びS105のそれぞれの認証処理において、取得した認証要求に含まれている認証対象者の顔及び静脈それぞれの特徴量を対象としてキャッシュ認証若しくは通常の認証を行うようにすればよい。
また、例えば、図6のS107の処理によるキャッシュデータのキャッシュ24からの削除は、S103若しくはS105の認証処理の直後に実行されるようにしている。この代わりに、例えば、銀行の支店に来店したユーザが、ATMでの入金と出金とを続けて行うために認証が複数回連続して行われる場合に配慮して、上記の判定結果が得られてから所定の時間の経過後にS107の処理を行うようにしてもよい。なお、このようにする場合には、通常の認証による認証処理により認証が成功した登録者についても、その後の認証が複数回連続して行われる場合に配慮した処理を行うようにするとよい。このためには、例えば、S105の通常の認証による認証処理により認証が成功した登録者についてのキャッシュデータをキャッシュ24に一旦登録して記憶する処理をS105の認証処理に続けて直ちに行う。そして、その後、キャッシュ認証による認証処理が成功した場合と同様に、通常の認証による認証処理により認証が成功したとの結果が得られてから当該所定の時間の経過後に、一旦登録したキャッシュデータをキャッシュ24から削除する処理を行うようにする。
また、例えば、図15の処理では、キャッシュ期限を、キャッシュデータに含まれている認証日時からの経過日数として扱うようにしている。この代わりに、キャッシュ期限を、キャッシュデータがキャッシュ24に登録された日からの経過日数として扱うようにしてもよい。このようにするには、例えば、図8に例示した登録日テーブルを利用して、キャッシュデータの遅延登録後も登録日データを削除せずに登録日テーブルに残すようにする。そして、登録日データで示される登録日からキャッシュ期限を経過したキャッシュデータをキャッシュ24から削除し、併せて当該登録日データを登録日テーブルから削除するようにするとよい。
1 認証システム
10 クライアント装置
11 カメラ
12 静脈センサ
13 センサ制御部
14 認証要求部
15 入力部
16 表示部
17、21 通信部
20 サーバ装置
22 認証制御部
23 キャッシュ認証部
24 キャッシュ
25 通常認証部
26 個人情報記憶部
27 ログデータ記憶部
28 キャッシュ管理部
30 通信ネットワーク
40 コンピュータ
41 プロセッサ
42 メモリ
43 記憶装置
44 読取装置
45 着脱可能記憶媒体
46 通信インタフェース
47 入出力インタフェース
48 バス
10 クライアント装置
11 カメラ
12 静脈センサ
13 センサ制御部
14 認証要求部
15 入力部
16 表示部
17、21 通信部
20 サーバ装置
22 認証制御部
23 キャッシュ認証部
24 キャッシュ
25 通常認証部
26 個人情報記憶部
27 ログデータ記憶部
28 キャッシュ管理部
30 通信ネットワーク
40 コンピュータ
41 プロセッサ
42 メモリ
43 記憶装置
44 読取装置
45 着脱可能記憶媒体
46 通信インタフェース
47 入出力インタフェース
48 バス
Claims (12)
- 人物の生体情報を取得した場合に、前記人物の生体情報とキャッシュに記憶された複数の登録者それぞれの生体情報との類似度に応じて、前記複数の登録者のうちの前記人物に対応する登録者を特定する第1の特定を行い、
前記第1の特定後、前記登録者の生体情報を前記キャッシュから削除する第1の削除を行い、
前記第1の特定が行われた各日時の情報を含む履歴に基づいて決定する第1の日時に、特定した前記登録者の生体情報を前記キャッシュに記憶する、
処理をコンピュータが行うことを特徴とするキャッシュ制御方法。 - 前記履歴に含まれている前記第1の特定が行われた各日時の情報に基づいて算出される、前記第1の特定が行われた間隔の平均値に基づいて、前記第1の日時を決定する処理を前記コンピュータが更に行うことを特徴とする請求項1に記載のキャッシュ制御方法。
- 前記キャッシュには、アクセス速度が前記キャッシュよりも遅い記憶部に生体情報が記憶されている複数の登録者のうちの一部の登録者それぞれの生体情報が記憶され、
前記第1の特定により前記登録者の特定ができなかった場合に、前記人物についての生体情報と前記記憶部に記憶された複数の登録者それぞれの生体情報との類似度に応じて、前記人物に対応する登録者を特定する第2の特定を行う処理を前記コンピュータが更に行い、
前記第1の特定の実施に要した時間についての前記第1の特定の実施回数での平均値である第1特定時間と、前記第2の特定が実施された場合における前記第1の特定と前記第2の特定との実施に要した時間についての前記第2の特定の実施回数での平均値である第2特定時間とに基づいて設定される係数値を前記間隔の平均値に乗算して得られる値に基づいて、前記第1の日時が決定される、
ことを特徴とする請求項2に記載のキャッシュ制御方法。 - 前記第1の特定によって前記人物に対応する登録者を特定できた回数についての前記第1の特定の実施回数に対する割合を前記第1特定時間に乗算して得られる値と、前記第1の特定では前記人物に対応する登録者を特定できなかった回数についての前記第1の特定の実施回数に対する割合を前記第2特定時間に乗算して得られる値との和を平均特定時間として算出し、
前記平均特定時間に基づいて前記係数値を設定する、
処理を前記コンピュータが更に行うことを特徴とする請求項3に記載のキャッシュ制御方法。 - 前記特定した登録者の生体情報の前記キャッシュへの記憶を行ったときの今回の前記係数値が、前記記憶が1回前に行われたときの前記係数値よりも小さく、且つ、前記記憶を行ったときの今回の前記平均特定時間が、前記記憶が1回前に行われたときの前記平均特定時間よりも短い第1の場合と、前記今回の前記係数値が、前記記憶が1回前に行われたときの前記係数値よりも大きく、且つ、前記今回の前記平均特定時間が、前記記憶が1回前に行われたときの前記平均特定時間よりも長い第2の場合とのどちらかの場合、前記今回の次の回の前記記憶が行われる前記第1の日時の決定に用いる前記係数値を、前記今回の前記係数値よりも小さい値に設定し、
前記第1の場合及び前記第2の場合のどちらでもない場合、前記次の回の前記記憶が行われる前記第1の日時の決定に用いる前記係数値を、前記今回の前記係数値よりも大きい値に設定する、
ことを特徴とする請求項4に記載のキャッシュ制御方法。 - 前記第1の特定を行った日時に前記第1の削除を行うことを特徴とする請求項1から5のうちのいずれか1項に記載のキャッシュ制御方法。
- 前記キャッシュには、アクセス速度が前記キャッシュよりも遅い記憶部に記憶されている複数の登録者それぞれについての生体情報のうちの一部が記憶され、
前記記憶部に生体情報が記憶されている登録者の人数と前記キャッシュに記憶された登録者の人数とに基づいて決定される第2の日時に、前記第1の特定により特定した登録者についての生体情報が前記キャッシュに記憶されている場合、前記第1の特定により特定した登録者についての生体情報を前記キャッシュから削除する第2の削除を行う、
処理を前記コンピュータが更に行うことを特徴とする請求項1から5のうちのいずれか1項に記載のキャッシュ制御方法。 - 前記第1の特定の実施回数に対する前記第1の特定によって前記人物に対応する登録者を特定できた回数の割合である第1の割合を、前記記憶部に生体情報が記憶されている登録者の人数に対する前記キャッシュに記憶された登録者の人数の割合である第2の割合で除算した値を、キャッシュ効率として算出し、
前記キャッシュ効率に基づいて前記第2の日時を決定する、
処理を前記コンピュータが更に行うことを特徴とする請求項7に記載のキャッシュ制御方法。 - 前記キャッシュ効率が第1の閾値以下の場合であって、前記第1の割合が第2の閾値よりも低く、且つ、前記第2の割合が第3の閾値よりも低い場合には、前記第2の日時の決定において、該決定がされる前における前記第2の日時よりも後の日時に前記第2の日時が決定されることを特徴とする請求項8に記載のキャッシュ制御方法。
- 前記キャッシュ効率が第1の閾値以下の場合であって、前記第1の割合が第2の閾値以上であり、且つ、前記第2の割合が第3の閾値以上である場合には、前記第2の日時の決定において、該決定がされる前における前記第2の日時よりも前の日時に前記第2の日時が決定されることを特徴とする請求項8に記載のキャッシュ制御方法。
- 人物についての生体情報を取得した場合に、前記人物の生体情報とキャッシュに記憶された複数の登録者それぞれの生体情報との類似度に応じて、前記複数の登録者のうちの前記人物に対応する登録者を特定する特定部と、
前記第1の特定後、前記登録者の生体情報を前記キャッシュから削除すると共に、前記特定が行われた各日時の情報を含む履歴に基づいて決定する日時に、特定した前記登録者の生体情報を前記キャッシュに記憶する制御部と、
を備えることを特徴とするキャッシュ制御装置。 - 人物の生体情報を取得した場合に、前記人物の生体情報とキャッシュに記憶された複数の登録者それぞれの生体情報との類似度に応じて、前記複数の登録者のうちの前記人物に対応する登録者を特定し、
前記第1の特定後、前記登録者の生体情報を前記キャッシュから削除し、
前記特定が行われた各日時の情報を含む履歴に基づいて決定する日時に、特定した前記登録者の生体情報を前記キャッシュに記憶する、
処理をコンピュータに実行させることを特徴とするキャッシュ制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/015386 WO2023187970A1 (ja) | 2022-03-29 | 2022-03-29 | キャッシュ制御方法、キャッシュ制御装置、及びキャッシュ制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/015386 WO2023187970A1 (ja) | 2022-03-29 | 2022-03-29 | キャッシュ制御方法、キャッシュ制御装置、及びキャッシュ制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023187970A1 true WO2023187970A1 (ja) | 2023-10-05 |
Family
ID=88199960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/015386 WO2023187970A1 (ja) | 2022-03-29 | 2022-03-29 | キャッシュ制御方法、キャッシュ制御装置、及びキャッシュ制御プログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023187970A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009008051A1 (ja) * | 2007-07-09 | 2009-01-15 | Fujitsu Limited | 利用者認証装置、利用者認証方法および利用者認証プログラム |
US20170308694A1 (en) * | 2016-04-22 | 2017-10-26 | Securax Tech Solutions (I) Pvt. Ltd | Real-time biometric authentication through remote server |
-
2022
- 2022-03-29 WO PCT/JP2022/015386 patent/WO2023187970A1/ja unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009008051A1 (ja) * | 2007-07-09 | 2009-01-15 | Fujitsu Limited | 利用者認証装置、利用者認証方法および利用者認証プログラム |
US20170308694A1 (en) * | 2016-04-22 | 2017-10-26 | Securax Tech Solutions (I) Pvt. Ltd | Real-time biometric authentication through remote server |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10777030B2 (en) | Conditional and situational biometric authentication and enrollment | |
US7676069B2 (en) | Method and apparatus for rolling enrollment for signature verification | |
US11197155B2 (en) | Distributed ledger verification system using proof-of-life | |
US8600869B1 (en) | System and method for assigning a line of credit to a credit card account | |
US8751397B2 (en) | Card-less financial transaction | |
JP7147860B2 (ja) | 生体認証装置、生体認証方法、及び生体認証プログラム | |
US8561173B2 (en) | Authentication processing apparatus, authentication processing method, recording medium storing authentication processing program, recording medium storing information processing program and information processing system | |
JP2011154415A (ja) | 生体認証システム | |
US20230316263A1 (en) | Metaverse authentication | |
JP2007156790A (ja) | 複数種の生体情報による認証をおこなう認証技術 | |
CN106878344A (zh) | 一种生物特征认证、注册方法及装置 | |
JP2010170439A (ja) | 生体認証システム | |
US10645075B1 (en) | Automated system to perform penetration testing on domains of related internet-enabled services | |
JP7177303B1 (ja) | サービス提供システム、サービス提供方法、及びプログラム | |
US20220036356A1 (en) | Biometric tokenized networks | |
WO2023187970A1 (ja) | キャッシュ制御方法、キャッシュ制御装置、及びキャッシュ制御プログラム | |
CN111027978A (zh) | 支付方法、装置、计算机可读存储介质和计算机设备 | |
JP7176158B1 (ja) | 学習モデル評価システム、学習モデル評価方法、及びプログラム | |
JP2009123039A (ja) | 取引認証方法 | |
JP2007183798A (ja) | 生体情報処理装置および自動取引装置 | |
CN110675242A (zh) | 一种信贷请求的处理方法和装置 | |
WO2023233504A1 (ja) | 情報処理方法、情報処理装置、及び情報処理プログラム | |
CN111324879A (zh) | 一种登录状态控制方法、装置和设备 | |
RU143823U1 (ru) | Электронный терминал | |
US20240007472A1 (en) | Authorization level unlock for matching authorization categories |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22935122 Country of ref document: EP Kind code of ref document: A1 |