WO2021106445A1 - ユーザ認証システム、ユーザ認証サーバ、およびユーザ認証方法 - Google Patents

ユーザ認証システム、ユーザ認証サーバ、およびユーザ認証方法 Download PDF

Info

Publication number
WO2021106445A1
WO2021106445A1 PCT/JP2020/039694 JP2020039694W WO2021106445A1 WO 2021106445 A1 WO2021106445 A1 WO 2021106445A1 JP 2020039694 W JP2020039694 W JP 2020039694W WO 2021106445 A1 WO2021106445 A1 WO 2021106445A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
authentication
character string
presentation pattern
pattern
Prior art date
Application number
PCT/JP2020/039694
Other languages
English (en)
French (fr)
Inventor
貴 小島
Original Assignee
株式会社シー・エス・イー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社シー・エス・イー filed Critical 株式会社シー・エス・イー
Priority to CN202080006346.6A priority Critical patent/CN113196263B/zh
Priority to EP20861998.1A priority patent/EP3855325A4/en
Priority to SG11202104640RA priority patent/SG11202104640RA/en
Priority to US17/288,236 priority patent/US20230216686A1/en
Publication of WO2021106445A1 publication Critical patent/WO2021106445A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Definitions

  • the present invention relates to a user authentication system, and more specifically, presents a plurality of pattern elements arranged in a predetermined pattern to an authenticated user as a presentation pattern, and applies the pattern elements at a specific position included in the presentation pattern.
  • the present invention relates to a user authentication system in which a one-time password derivation rule for generating a one-time password is used as the password of the user.
  • matrix authentication registered trademark
  • a matrix-shaped presentation pattern in which random numbers are arranged in a predetermined pattern is presented to a user who intends to be authenticated, and is applied to a pattern element (number of each random number) included in the presentation pattern.
  • the one-time password derivation rule for generating the one-time password is set as the password of the user.
  • the same presentation pattern is shared between the server and the client, and the one-time password that is the result of applying the one-time password derivation rule that is the password in the client to the presentation pattern and the one-time password derivation rule that is the password in the server are presented in the presentation pattern.
  • the verification code that is the result of applying to user authentication is performed without directly comparing passwords.
  • the one-time password derivation rule which is a password
  • the one-time password derivation rule which is a password
  • the one-time password derivation rule which is a password
  • FIG. 3 is a block diagram of a user authentication system 200 using a conventional typical matrix authentication (Patent Document 1).
  • the user authentication system 200 is largely composed of an authentication server 201 that authenticates a user and an authentication request client 251 that is a terminal for which the user requests authentication.
  • the authentication server 201 includes a one-time password derivation rule storage unit 202, a user ID receiving means 203, a pattern generating means 204, a pattern transmitting means 205, a verification code generating means 206, a one-time password receiving means 207, and a user. It is composed of the authentication means 208.
  • the authentication request client 251 is composed of a user ID input means 252, a user ID transmission means 253, a pattern receiving means 254, a pattern display means 255, a one-time password input means 256, and a one-time password transmission means 257. To.
  • the one-time password derivation rule storage unit 202 stores the user ID 202a and the one-time password derivation rule 202b in advance in association with each other.
  • the user ID receiving means 203 receives the user ID 281 of the user to be authenticated from the authentication request client 251 and the pattern generating means 204 is a pattern element sequence which is an array of pattern elements included in the matrix-shaped presentation pattern 291.
  • the 290 is generated according to a predetermined generation rule such as a pseudo-random number, and the pattern transmission means 205 transmits the generated pattern element string 290 to the authentication request client 251.
  • the user who intends to receive the authentication inputs his / her own user ID 281 from the user ID input means 252 such as a keyboard in the authentication request client 251.
  • the user ID transmission means 253 transmits the input user ID 281 to the authentication server 201.
  • the user ID receiving means 203 receives the user ID 281.
  • the pattern generating means 204 generates random numbers constituting the matrix-shaped presentation pattern 291 according to a predetermined generation rule.
  • the pattern transmission means 205 transmits the generated pattern element string 290 to the authentication request client 251.
  • the pattern receiving means 254 receives the pattern element string 290.
  • the pattern display means 255 arranges the received pattern element sequence 290 in a predetermined pattern 291p to generate a presentation pattern 291 and displays it on the screen.
  • FIG. 7 is a conceptual diagram of a one-time password input method in the matrix authentication method.
  • the user sequentially extracts the numbers displayed at predetermined positions on the matrix and inputs them from the one-time password input means 256. It is also possible to input a number irrelevant to the presentation pattern 291. That is, the fixed password can be included in the one-time password. Input of these numbers is typically performed by a pointing device such as a touch panel, a keyboard 296, or the like.
  • the arrows and circles shown by the broken lines in FIG. 7 indicate that the one-time password based on the presentation pattern 291 is input from the keyboard 296.
  • the one-time password transmitting means 257 transmits the entered one-time password 292 to the authentication server 201.
  • the one-time password receiving means 207 receives the one-time password 292.
  • the verification code generation means 206 generates the verification code 293 which is the result of applying the one-time password derivation rule 202b associated with the received user ID 281 to the transmitted pattern element string 290.
  • the user authentication means 208 compares the received one-time password 292 with the verification code 293, and if they are equal, the user is successfully authenticated.
  • the user ID is input on the user ID input screen on the authentication request client and transmitted to the authentication server, and then the authentication server configures the matrix shape presentation pattern to the authentication request client. Elements etc. are sent. Then, after the presentation pattern is displayed, the user inputs a one-time password that is a response to the presentation pattern. That is, after entering the user ID, it is necessary to enter the one-time password on another screen.
  • Such a conventional authentication method in which two screens must be switched and displayed for authentication does not necessarily have good user operability. There has been a need for a system that eliminates the need for a user ID input step to improve this and simultaneously performs both user ID identification and authentication with only one step of one-time password input.
  • the present invention is a one-time for generating a one-time password by applying a plurality of pattern elements arranged in a predetermined pattern to a pattern element at a specific position when presented as a presentation pattern to an authenticated user.
  • the password derivation rule is the password of the user, and includes an authentication server and an authentication request client that authenticate the user based on an authentication character string in which a user ID is embedded in a predetermined embedding position in the one-time password.
  • the authentication server is For each of the user IDs, the user ID 102a of the user, the one-time password derivation rule 102b of the user, and the user ID embedding position 102c that identifies the embedding position in which the user ID is embedded in the one-time password are provided.
  • a password storage unit 102 that is associated with each other and stored in advance,
  • the presentation pattern determination information generating means 111 that generates the presentation pattern determination information for determining the presentation pattern according to a predetermined generation rule, and For each of the user IDs, the one-time password derivation rule associated with the user ID is applied to the pattern elements constituting the presentation pattern determined based on the presentation pattern determination information.
  • Verification code generation means 106 that generates a verification code in which the user ID is embedded based on the user ID embedding position, and The presentation pattern determination information transmitting means 112 that transmits the generated presentation pattern determination information to the authentication request client of the user who receives the authentication, and Have, The authentication request client
  • the presentation pattern determination information receiving means 161 for receiving the presentation pattern determination information transmitted from the authentication server, and
  • the pattern element determining means 162 for determining the pattern elements constituting the presentation pattern based on the presentation pattern determination information, and
  • a pattern display means 155 that arranges each of the determined pattern elements in the predetermined pattern to generate a presentation pattern and displays it on the screen.
  • Authentication character string input means 156 accepted from the user to be authenticated, and The authentication character string transmitting means 157 for transmitting the input authentication character string to the authentication server, and Have
  • the authentication server is An authentication character string receiving means 107 that receives the authentication character string from the authentication request client, and The received authentication character string is compared with the verification code generated for each user ID, and if the verification code equal to the received authentication character string exists, the user corresponding to the verification code is present.
  • User authentication means 108 that succeeds in ID authentication, It is characterized by further having.
  • the presentation pattern determination information can be the pattern element constituting the presentation pattern. Further, in the present invention, the presentation pattern determination information can be a pattern seed value that generates the pattern elements constituting the presentation pattern by applying the presentation pattern element sequence generation rule. Further, in the present invention, when the equal verification code exists for any two or more of the user IDs, the verification code generation means determines the presentation pattern until the equal verification code does not exist. It can be configured to generate the new presentation pattern determination information by the information generating means and repeatedly generate the verification code for each user ID based on the new presentation pattern determination information. Further, in the present invention, the authentication character string transmitting means stores the input authentication character string, hashes it with a hash function, and transmits it to the authentication server.
  • the user authentication means compares the received hashed authentication character string with the verification code generated for each user ID hashed by the hash function, and receives the hashed result.
  • the hashed verification code equal to the authentication character string exists
  • the user ID embedding position corresponding to the verification code and the length of the user ID character string are transmitted to the authentication request client.
  • the user ID in the authentication character string is inquired, and when the user ID obtained in the inquiry and the user ID corresponding to the verification code are equal, the authentication of the user ID is successful. It can also be.
  • the present invention is also established as a user authentication method using the above user authentication system, an authentication server for realizing such a user authentication system, and a user authentication method executed by such an authentication server.
  • the present invention is a one-time password for generating a one-time password by applying a plurality of pattern elements arranged in a predetermined pattern to a pattern element at a specific position when presented as a presentation pattern to an authenticated user.
  • the derivation rule is the user's password, and the user is authenticated based on the authentication character string in which the user ID is embedded in the predetermined embedding position in the one-time password.
  • the present invention eliminates the need for a user ID input step, and has the effect that both user ID identification and authentication can be performed simultaneously with only one step of inputting a character string including a one-time password.
  • FIG. 1 is a hardware configuration diagram
  • FIG. 2 is a block diagram
  • FIGS. 4 and 5 are operation flow diagrams.
  • the user authentication method according to the present invention is matrix authentication, which is a kind of challenge-response method authentication method as described above.
  • a plurality of pattern elements arranged in a predetermined pattern are presented as a presentation pattern 191 to a user who is authenticated by the authentication request client 151, and the pattern element 190 at a specific position included in the presentation pattern 191.
  • the one-time password derivation rule 102b for generating the one-time password 192 by applying the one-time password 192 to the user is used as the password of the user.
  • the presentation pattern determination information 183 which is information used when the presentation pattern 191 presented to the user in the authentication request client 151 is generated, is generated in the authentication server 101 and transmitted to the authentication request client 151.
  • the presentation pattern determination information 183 is information that uniquely determines the presentation pattern 191 and may be the pattern element 190 itself, or may be a pattern seed value that uniquely determines the pattern element 190 by performing a predetermined operation. Good.
  • the user generates the one-time password 192 by applying the one-time password derivation rule 102b associated with the user ID 102a to the presentation pattern 191.
  • the user inputs the one-time password 192 to the authentication request client 151
  • the user generates the one-time password 192.
  • It is input as an authentication character string 192A in which the user ID 102a is embedded in a predetermined embedding position in the password 192.
  • the user determines the predetermined position in advance, and stores the user ID embedded position 102c in the authentication server 101 in association with the user ID 102a.
  • the user ID 102a is information that can uniquely identify the user, and is generally a character string that the user sets by himself / herself.
  • arbitrary information unique to the user such as my number, bank account number, employee number, member number, and e-mail address can be used.
  • the authentication character string 192A input by the user in the authentication request client 151 is transmitted from the authentication request client 151 to the authentication server 101.
  • the authentication server 101 obtains the correct one-time password 192 by applying the one-time password derivation rule 102b associated with the user ID 102a to the presentation pattern 191 displayed on the authentication request client 151 for all the user IDs 102a.
  • the verification code 193 is generated by generating and embedding the user ID 102a in the embedding position of the user ID embedding position 102c. Then, the authentication server 101 compares the authentication character string 192A transmitted from the authentication request client 151 with the verification code 193, and if they are equal, succeeds in authenticating the user.
  • the presentation pattern 191 is an array of pattern elements 190 in a predetermined pattern 191p.
  • a matrix arranged so as to form a square as a whole at each position of m vertical ⁇ n horizontal, a matrix in which a plurality of such matrices are arranged, and the like are typical. It can have any shape. In the present specification, even when a presentation pattern having a shape other than such a typical matrix shape is used, it is referred to as a matrix authentication method.
  • a regular shape or an impressive shape is suitable because it is easy for the user to remember it, and therefore the user can easily remember the one-time password derivation rule 102b which is a password.
  • the pattern element 190 is an element arranged at a predetermined position so as to form a predetermined pattern 191p in the presentation pattern 191 and is preferably a one-digit number from 0 to 9, but in addition to the alphabet, It can be any character, such as a symbol.
  • you can also use patterns such as figures, illustrations, and photographs.
  • a plurality of the same pattern elements 190 are displayed in the presentation pattern 191.
  • the one-time password derivation rule 102b which is a password
  • the one-time password 192 which is the result of applying the one-time password derivation rule 102b to the presentation pattern 191
  • the one-time password 192 It will be automatically unidirectional at the time of input. That is, when the one-time password 192 is input, the same processing as the hash function operation is automatically performed. Therefore, it is not possible to specify the one-time password derivation rule 102b from only one one-time password 192. Can not.
  • the pattern element 190 is composed of one digit numbers from 0 to 9 as shown in FIG. 7, and each pattern element 190 is a predetermined pattern composed of four 4 ⁇ 4 matrices.
  • the one arranged in 191p is defined as the presentation pattern 191.
  • the presentation pattern 191 When the screen area is small, such as in a mobile phone, it is preferable to use the presentation pattern 191 in which the number of 4 ⁇ 4 matrices is reduced to 3 or the like.
  • the presentation pattern determination information 183 is information that can uniquely determine the pattern element 190 to be arranged in the predetermined pattern 191p in order to generate the presentation pattern 191.
  • the presentation pattern determination information 183 may be data in which the pattern elements 190 themselves are arranged in order, or may be a pattern seed value capable of uniquely generating the pattern elements 190 by performing a predetermined operation.
  • the predetermined operation any operation such as hash function operation, addition, subtraction, exclusive OR, and digit number adjustment can be used.
  • the pattern seed value is typically a constant generated within a predetermined range by a predetermined generation rule.
  • the one-time password derivation rule 102b is a rule for generating a one-time password 192 by applying it to a pattern element 190 at a specific position included in the presentation pattern 191, and is data that functions as a user password. ..
  • the rule applied to the pattern element 190 is typically which position the pattern element 190 is selected in which order.
  • the one-time password derivation rule 102b is information on the combination of the respective positions of the selected pattern elements 190 included in the presentation pattern 191 and the order in which the respective pattern elements 190 are selected. Further, the one-time password derivation rule 102b may include character information such as numbers input independently of the presentation pattern 191 as a fixed password.
  • the one-time password derivation rule 102b is included in the presentation pattern 191.
  • FIG. 6 shows the structure of a typical one-time password derivation rule 102b.
  • the pattern element 190 is composed of a one-digit number from 0 to 9
  • each pattern element 190 is placed at the position of each element of a predetermined pattern 191p composed of four 4 ⁇ 4 matrices.
  • the one-time password derivation rule 102b for the arranged presentation pattern 191 is illustrated.
  • the positions of the respective elements of the predetermined pattern 191p are displayed separately by numbers from 01 to 64.
  • a one-digit number from 0 to 9 is displayed at the position of each element of the predetermined pattern 191p.
  • the one-time password 192 preferably uses a number based on the presentation pattern 191 and a number input independently of the number. Since the number of pattern elements included in the presentation pattern 191 is 64, the fact that each position of the pattern element included in the presentation pattern 191 is selected is two digits from 01 to 64 assigned to each position. It is represented by the number of. Then, for the number input regardless of the presentation pattern 191, the number "9" indicating that it is such a number is first assigned, and then the one-digit number to be input is assigned. It is represented by a two-digit number. In the example of FIG. 6, the first four numbers of the one-time password 192 are entered by selecting a pattern element at a particular position in the presentation pattern 191.
  • the numbers "01”, “16", “29”, and “20" representing their positions are arranged in that order.
  • the selected pattern element 190 is input by a pointing device such as a keyboard 196 or a touch panel.
  • the next two numbers of the one-time password 192 are input from the keyboard 196 or the like regardless of the presentation pattern 191.
  • the numbers "2" and “9” to be input are added after the number “9” indicating the direct input, respectively, "92” and “99”. "Is placed in that order.
  • the next and last digit of the one-time password 192 is entered by selecting a pattern element at a particular position in the presentation pattern 191.
  • a number "33" indicating its position is subsequently arranged, and the one-time password derivation rule 102b ends here.
  • the one-time password derivation rule 102b may be further added with an end mark that uniquely identifies the end point thereof, for example, a number such as "00", or the one-time password derivation rule 102b of the one-time password derivation rule 102b.
  • a number indicating the total length may be associated with it.
  • the one-time password 192 is a disposable password generated and input by a user who intends to receive authentication by applying his / her one-time password derivation rule 102b to the presentation pattern 191.
  • FIG. 7 is a conceptual diagram of a one-time password input method in the matrix authentication method.
  • the one-time password derivation rule 102b used in FIG. 7 is the same as that shown in FIG. According to its own one-time password derivation rule 102b, the user selects the pattern element 190 at a predetermined position included in the presentation pattern 191 and inputs a predetermined number irrelevant to the presentation pattern 191 in a predetermined order. Generates "2504290" as the one-time password 192.
  • FIG. 8 is an explanatory diagram of the structure of the authentication character string 192A.
  • the authentication character string 192A is configured by embedding the user ID 102a in a predetermined embedding position in the one-time password 192, and the user ID embedding position 102c is information for specifying the embedding position at that time.
  • a number from 0 to 7 is assigned to a position where the one-time password 192 of "2504290" can be embedded, and the user ID embedding position 102c is "5" of the one-time password 192.
  • the embedding position indicated by "2" (enclosed by a broken triangle symbol) between "0" and "0".
  • the user determines his / her user ID embedding position 102c in advance and stores it in the password storage unit 102. Since the user ID embedding position 102c is information set by the user, it also functions as a part of the password.
  • the authentication character string 192A of "25USER104290" is configured. Has been done.
  • the authentication character string 192A is both the information of the user ID 102a that identifies the user and the one-time password 192 for confirming the authenticity of the user generated according to the one-time password derivation rule 102b which is a password. It is a combination of information into a single string. That is, by verifying that the single character string 192A for authentication is valid, it is possible to confirm which user ID 102a is authenticated and the authenticity of that user. , It is possible to confirm whether the personal authentication for the user is successful.
  • FIG. 1 is a hardware configuration diagram of a user authentication system 100 according to an embodiment of the present invention.
  • the user authentication system 100 is largely composed of an authentication server 101 and an authentication request client 151.
  • the authentication server 101 is composed of a CPU 101a, a RAM 101b, a storage device 101c, a user interface (I / F) 101d, and a network interface (I / F) 101e.
  • the storage device 101c stores the OS 101c1 and the user authentication application 101c2 in the storage area, and also includes the password storage unit 102 in the storage area.
  • the password storage unit 102 stores the user ID 102a, the one-time password derivation rule 102b, and the user ID embedding position 102c.
  • the authentication request client 151 is composed of a CPU 151a, a RAM 151b, a storage device 151c, a user interface (I / F) 151d, and a network interface (I / F) 151e.
  • the storage device 151c stores the OS 151c1, the browser application 151c2, and the pattern element generation module 151c3 in the storage area.
  • the authentication server 101 is a component that authenticates a user in response to a user authentication request from an authentication request client 151 in the user authentication system 100.
  • the authentication server 101 is in the form of a computer or the like as a server on which OS101c1, user authentication application 101c2, and the like are installed. Further, the authentication server 101 may be in the form of hardware that provides user authentication in a gateway device for providing a virtual leased line network on the Internet such as an SSL-VPN gateway.
  • the CPU 101a is a processor that executes information processing related to user authentication by executing a user authentication application 101c2 or the like on the OS 101c1.
  • the RAM 101b is a memory that provides a memory space in which the software stored in the storage device 101c is read, a work area required when the read software is executed by the CPU 101a, and the like.
  • the storage device 101c is a component that stores and manages information such as software and data, and is typically in the form of a hard disk drive or the like.
  • the storage device 101c preferably stores the files of the programs of the OS 101c1 and the user authentication application 101c2, and these programs are read out on the RAM 101b and executed.
  • the user I / F 101d is a component for inputting / outputting data to / from the user, and typically includes an input means including a pointing device such as a keyboard 196 and a mouse, a display for displaying information on the screen, and the like. It is composed of the output means of the above and the hardware I / F between them.
  • the authentication server 101 and the authentication request client 151 are connected by a network.
  • the network is preferably the Internet or intranet operating on TCP / IP based protocols.
  • the network can be a Windows domain network operating on the TCP / IP-based protocol.
  • Windows registered trademark; the same applies hereinafter
  • Windows is illustrated as an OS in this specification, other OSs such as Mac OS (registered trademark), Linux (registered trademark), and Unix (registered trademark) can also be used. Is.
  • the authentication method according to the present invention can be implemented in at least the following two usage forms.
  • One usage pattern is to allow the user to use the content, SSL-VPN service, and application on the Web with a Web browser or the like while the authentication request client 151 is connected to the Web service on the network.
  • the authentication server 101 is typically arranged on a network such as the Internet or an intranet, and provides a Web page for user authentication to an authentication request client 151 accessing through the network, through which the authentication server 101 is provided.
  • Another usage pattern is a form of logon authentication for the user when the user uses the authentication request client 151 to connect to the same Windows domain network as the authentication server 101 as a proper network user. is there.
  • the authentication server 101 typically provides resources for authentication on the network, thereby making a logon authentication request to the Windows domain network using the authentication request client 151 from the user.
  • user authentication is executed, and the authentication result is transmitted to the domain controller that manages the authority of the network user of the domain network of the Windows.
  • the OS101c1 is an operating system that performs basic information processing closely related to the hardware of the authentication server 101.
  • the user authentication application 101c2 is application software for user authentication that operates on the OS 101c1.
  • the user authentication application 101c2 typically provides a web page or resource for authentication on the Internet or with an authentication program in the form of being called by CGI or in the form of a servlet. It is a Web server program provided on the Web of an intranet.
  • the password storage unit 102 is typically an area of a storage device such as a hard disk drive, and data is preferably stored in the password storage unit 102 as an encrypted file.
  • the user ID 102a is character string data for uniquely identifying the user.
  • the one-time password derivation rule 102b is a rule for generating the one-time password 192 by applying it to the pattern element 190 at a specific position included in the presentation pattern 191, and is used as a user password. It is functional data.
  • the user ID embedding position 102c is an embedding position for constructing the authentication character string 192A by embedding the user ID 102 in the one-time password 192.
  • the authentication request client 151 is a component in which the user requests authentication from the authentication server 101 in the user authentication system 100, and is an information terminal on which the OS 151c1, the browser application 151c2, the pattern element generation module 151c3, and the like are installed. Specifically, it is in the form of a PC, a smartphone, a mobile phone, or the like.
  • the CPU 151a is a processor that executes information processing related to a user authentication request by executing a browser application 151c2, a pattern element generation module 151c3, and the like on the OS 151c1.
  • the RAM 151b is a memory that provides a memory space in which the software stored in the storage device 151c is read, a work area required when the read software is executed by the CPU 151a, and the like.
  • the storage device 151c is a component that stores and manages information such as software and data, and is typically in the form of a hard disk drive or the like.
  • the storage device 151c preferably stores the files of the programs of the OS 151c1, the browser application 151c2, and the pattern element generation module 151c3, and these programs are read out on the RAM 151b and executed.
  • the storage device 151c may have a form in which the programs of the OS 151c1, the browser application 151c2, and the pattern element generation module 151c3 are stored in the ROM.
  • a ROM constitutes the firmware together with a program execution element such as the CPU 151a.
  • the user I / F 151d is a component for inputting / outputting data to / from the user, and is typically not shown, but includes an input means including a keyboard 196 and a pointing device such as a touch panel, and an input means. It consists of output means such as a display that displays information on the screen and hardware I / F between them.
  • the network I / F 151e is an I / F for connecting to a network and inputting / outputting information.
  • the OS 151c1, the browser application 151c2, and the pattern element generation module 151c3 may be in the form of a formally integrated program by combining some or all of them.
  • the browser application 151c2 may include the functions of the pattern element generation module 151c3
  • the OS 151c1 may include the functions of the browser application 151c2 and the pattern element generation module 151c3. They may also be embedded in other applications. Moreover, each of them may be divided into a plurality of programs.
  • OS 151c1 is an operating system that performs basic information processing closely related to the hardware of the authentication request client 151, and is a basic program corresponding to the hardware of the authentication request client 151.
  • OS151c1 may be in the form of firmware having a platform-based architecture.
  • the browser application 151c2 is software that operates on OS 151c1 and realizes a browser function for accessing and displaying information provided on a network and further accepting data input from a user, and is typically a software. Is a form of a web browser application for accessing a web page on the Internet or an intranet.
  • the browser application 151c2 is not limited to the Web browser application, and may be any application as long as it can access the screen for user authentication provided by the server on the network.
  • the browser application 151c2 may be in the form of firmware having a platform-based architecture that provides an API for displaying a screen when another application performs authentication.
  • the pattern element generation module 151c3 is a program that is embedded in the browser application 151c2 and executed to generate the presentation pattern 191 and display it on the browser.
  • the authentication request client 151 is a PC, it is typically Java. (Registered trademark) Applet, ActiveX (registered trademark), Flash (registered trademark), and the like.
  • the pattern element generation module 151c3 may be in the form of firmware having a platform-like architecture that provides an API for other applications to perform authentication.
  • the browser application 151c2 for authentication and the pattern element generation module 151c3 are incorporated in the OS 151c1 as the Windows OS for the client, and the authentication request client.
  • the presentation pattern 191 is displayed on the logon authentication screen of 151 Windows domain network, and the authentication procedure based on the authentication method according to the present invention is provided to the user.
  • FIG. 9 is an image diagram of the logon authentication screen 197 in the user authentication system 100.
  • This may be an authentication screen when trying to log on to a Windows domain network, or may be an authentication screen when trying to log on to a Web service by the browser application 151c2.
  • the presentation pattern 191 and the password input field are displayed on the logon authentication screen 197.
  • a character such as a number is entered in the password input field as the authentication character string 192A by a pointing device such as a keyboard 196 or a touch panel, the character or a symbol such as "*" is displayed one by one in response. ..
  • the authentication module transmits the authentication character string 192A to the authentication server 101 to execute user authentication, and outputs the authentication result. Communicate to the domain controller.
  • the authentication server 101 transmits the authentication result to the Web service to be used.
  • FIG. 2 is a functional block diagram of the user authentication system 100 according to the embodiment of the present invention.
  • FIG. 2 is a diagram representing the user authentication system 100 having the hardware configuration shown in FIG. 1 from the viewpoint of information processing performed in collaboration with software and hardware resources, and the information processing is functionally blocked. It is a figure expressed in the unit of.
  • the authentication server 101 is composed of a password storage unit 102, a verification code generation means 106, an authentication character string receiving means 107, a user authentication means 108, a presentation pattern determination information generating means 111, and a presentation pattern determination information transmitting means 112. Will be done.
  • the password storage unit 102 is a storage device for storing the user ID 102a, the one-time password derivation rule 102b which is the password of the user, and the user ID embedding position 102c in advance for each user in association with each other.
  • This is a functional block realized by the CPU 101a, the RAM 101b, the storage device 101c, and the like collaborating with the software.
  • the verification code generating means 106 embeds the user ID 102a in the result of applying the one-time password derivation rule 102b, which is the password of the user who is about to be authenticated, to the presentation pattern 191 displayed on the authentication request client 151.
  • the verification code 193 is a case where the user ID 102a is embedded in the correct one-time password 192, which is the result of applying the correct one-time password derivation rule 102b to the correct presentation pattern, at the position indicated by the correct user ID embedding position 102c. It is the same value as the authentication character string 192A of.
  • the authentication character string receiving means 107 is a component that receives the authentication character string 192A input from the authentication request client 151, and is realized by the CPU 101a, the RAM 101b, the network I / F 101e, and the like cooperating with the software. It is a functional block to be used.
  • the user authentication means 108 is a component that compares the authentication character string 192A and the verification code 193 and succeeds in user authentication when they are equal, and is realized by the CPU 101a, the RAM 101b, and the like collaborating with the software. It is a functional block.
  • the presentation pattern determination information generating means 111 is a component that generates the presentation pattern determination information 183, which is information defining the presentation pattern, according to a predetermined generation rule, and is realized by the CPU 101a, the RAM 101b, and the like cooperating with the software. It is a functional block.
  • the presentation pattern determination information transmitting means 112 is a component that transmits the presentation pattern determination information 183 generated by the presentation pattern determination information generating means 111 to the authentication request client 151, and the CPU 101a, the RAM 101b, the network I / F101e, and the like are software. It is a functional block realized by collaborating with.
  • the authentication request client 151 is composed of a pattern display means 155, an authentication character string input means 156, an authentication character string transmission means 157, a presentation pattern determination information receiving means 161 and a pattern element determination means 162. These functional blocks are read from the storage device 151c onto the RAM 151b by the necessary part of the browser application 151c2 and the pattern element generation module 151c3 together with the necessary part of the OS 151c1, and the software is executed by the CPU 151a to execute the RAM 151b and the storage device. It is realized in cooperation with hardware elements such as 151c, user I / F151d, and network I / F151e as appropriate.
  • the pattern display means 155 is a component that arranges the pattern elements 190 determined by the pattern element determination means 162, which will be described later, in a predetermined pattern 191p to generate a presentation pattern 191 and displays it on the screen.
  • This is a functional block realized by the user I / F 151d or the like collaborating with software.
  • the authentication character string input means 156 is a component that receives input from the user of the authentication character string 192A through the presentation pattern 191 displayed on the screen, and the CPU 151a, the RAM 151b, the user I / F 151d, and the like cooperate with the software. It is a functional block realized by doing.
  • the authentication character string transmitting means 157 is a component that transmits the input authentication character string 192A to the authentication server 101, and is a function realized by the CPU 151a, the RAM 151b, the network I / F 151e, and the like collaborating with software. It is a block.
  • the presentation pattern determination information receiving means 161 is a component that receives the presentation pattern determination information 183 from the authentication server 101, and is a functional block realized by the CPU 151a, the RAM 151b, the network I / F 151e, and the like cooperating with the software. is there.
  • the pattern element determination means 162 is a component that determines the pattern element 190 based on the presentation pattern determination information 183 received from the authentication server 101, and is a functional block realized by the CPU 151a, the RAM 151b, and the like collaborating with software. Is.
  • the operation of the user authentication system 100 will be described below. 4 and 5 are operation flow diagrams of the user authentication system 100.
  • the user to be authenticated by the user authentication system 100 inputs and registers the user ID 102a, the one-time password derivation rule 102b which is a password, and the user ID embedding position 102c in advance in the authentication server 101. Keep it.
  • the password storage unit 102 associates the user ID 102a of the user, the one-time password derivation rule 102b, and the user ID embedding position 102c with each other, and stores the user ID 102a in advance prior to user authentication (step S101).
  • the user who intends to receive the authentication displays the logon authentication screen 197 on the authentication request client 151 for logging on to Windows or logging on to the Web service.
  • the authentication request is sent from the authentication request client 151 to the authentication server 101 (step S102), the authentication server 101 receives the authentication request (step S103), and the process for authentication is started.
  • the authentication server 101 generates the presentation pattern determination information 183 by the presentation pattern determination information generation means 111, thereby generating the pattern element 190 constituting the presentation pattern 191 (step S104).
  • the authentication server 101 generates a pattern seed value that uniquely determines the pattern element 190 itself or the pattern element 190 by performing a predetermined operation with a random number or the like, and generates the pattern element 190 and the predetermined pattern 191p.
  • the presentation pattern 191 arranged in is generated.
  • the authentication server 101 associates the user ID 102a with the presentation pattern 191 generated based on the presentation pattern determination information 183 generated for each of all the registered user IDs 102a by the verification code generating means 106.
  • Verification code 193 correct authentication
  • Verification code 193 by embedding the user ID 102a in the user ID embedding position 102c associated with the user ID 102a as a result of applying the obtained one-time password derivation rule 102b (corresponding to the correct one-time password 192).
  • the character string 192A is generated (step S105).
  • a collision may occur in which there are a plurality of user ID 102a having the same correct authentication character string 192A for a certain presentation pattern 191. there's a possibility that.
  • the authentication character string 192A is valid, that is, the same verification code 193 as the authentication character string 192A exists, those user IDs 102a cannot be distinguished. The user cannot be uniquely identified.
  • the authentication server 101 preferably confirms whether or not the same verification code 193 exists for different user IDs 102a by the verification code generation means 106 (step S106). Then, if there is an equal verification code 193 for any two or more user IDs 102a, it is determined that a collision has occurred, and the process is returned to step S104 to return the new presentation pattern determination information 183 (that is, that is). A new presentation pattern 191) composed of the new pattern element 190 is generated, a new verification code 193 is generated in the next step S105, and whether or not there are a plurality of user IDs 102a having the verification code 193 in the next step S106. Confirm.
  • Such a check is performed for different user IDs 102a until no equal verification code 193 exists. By executing this, it is guaranteed that different verification codes 193 exist for all user IDs 102a, and by confirming the authentication character string 192A by the verification code 193, the user can be identified and the user can be identified. It will be possible to confirm the authenticity at the same time.
  • step S106 is not always necessary if a different verification code 193 is surely present for all user IDs 102a by another method. For example, if the user ID embedding position 102c is set to the same position and the length of the character string of the user ID 102a is the same for all users, the user ID 102a appears at the same position in the authentication character string 192A. Therefore, a different verification code 193 is always present for all user IDs 102a.
  • the authentication server 101 transmits the presentation pattern determination information 183 to the authentication request client 151 by the presentation pattern determination information transmission means 112 (step S107).
  • the authentication request client 151 receives the presentation pattern determination information 183 from the authentication server 101 by the presentation pattern determination information receiving means 161 (step S108).
  • the authentication request client 151 determines the pattern element 190 based on the received presentation pattern determination information 183 by the pattern element determination means 162 (step S109). That is, when the presentation pattern determination information 183 is the pattern element 190 itself, the pattern element determination means 162 sets the received presentation pattern determination information 183 as the pattern element 190, and when the presentation pattern determination information 183 is the pattern seed value, it is used.
  • the pattern element 190 is generated by performing a predetermined operation.
  • the authentication request client 151 arranges the generated pattern elements 190 in a predetermined pattern 191p (typically, a pattern consisting of four 4 ⁇ 4 matrices) by the pattern display means 155 to form the presentation pattern 191. Is included in the logon authentication screen 197 and displayed on the screen (step S110).
  • a predetermined pattern 191p typically, a pattern consisting of four 4 ⁇ 4 matrices
  • the user who intends to receive the authentication selects a pattern element displayed at a specific position of the presentation pattern 191 displayed on the screen of the authentication request client 151, or a number unrelated to the presentation pattern 191.
  • a one-time password 192 which is the result of applying one's own one-time password derivation rule 102b to the presentation pattern 191, is generated, and a predetermined one-time password 192 is set in advance.
  • the authentication character string 192A is generated and input to the authentication request client 151. That is, the authentication request client 151 accepts the input of the authentication character string 192A by the authentication character string input means 156 (step S111).
  • the authentication request client 151 transmits the input authentication character string 192A to the authentication server 101 by the authentication character string transmitting means 157 (step S112).
  • the authentication server 101 receives the authentication character string 192A transmitted from the authentication request client 151 by the authentication character string receiving means 107 (step S113).
  • the authentication server 101 compares in order with the verification code 193 generated for each user ID 102a whether or not the verification code 193 equal to the received authentication character string 192A exists by the user authentication means 108. If the same verification code 193 exists, it means that the user with the user ID 102a corresponding to the verification code 193 has been confirmed to be a genuine user, and the user authentication is successful (step S114). ). If the user authentication is successful, the user with the user ID 102a is permitted to provide the service according to the usage pattern of the user authentication as follows. That is, in the case of user authentication for permitting the use of content or the like on the Web, access to the content is permitted or use of the application is permitted.
  • the authentication server 101 transmits the authentication result to the Windows domain controller and allows the user to participate in the Windows network. If the authentication server 101 is in the form of an SSL-VPN gateway, access to the SSL-VPN is permitted.
  • the data transmitted and received in the present invention can be further enhanced in security by appropriately hashing the data. That is, the authentication request client 151 can temporarily store the input authentication character string 192A and send the hashed version of the input authentication character string 192A to the authentication server 101. Then, the authentication server 101 compares the received hashed authentication character string 192A with the verification code 193 generated for each user ID 102a hashed with a hash function. The authentication server 101 can succeed in user authentication for the user ID 102a when the hashed verification code 193 equal to the received hashed authentication character string 192A exists.
  • the hashed ones are compared with each other, there is no possibility that the hashed ones will be the same even if the authentication character string 192A and the verification code 193 are different due to the collision. is not it.
  • the following additional steps can be performed. That is, the user ID embedding position 102c associated with the user ID 102a corresponding to the verification code 193 and the length of the character string of the user ID 102a are transmitted to the authentication request client 151, and the user in the authentication character string 192A. Inquire about ID102a.
  • the authentication request client 151 receives the information and temporarily stores the character string corresponding to the length of the character string transmitted from the user ID embedding position 102c in the input authentication character string 192A. Is extracted and sent to the authentication server 101. This character string should correspond to the correct user ID 102a.
  • the authentication server 101 succeeds in authenticating the user ID 102a when the character string obtained by the inquiry is equal to the user ID 102a corresponding to the verification code 193.
  • the operation flow can be freely changed as long as there is no contradiction in the operation flow such as using data that should not be available in that step in a certain step. can do.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

ユーザID入力ステップを不要とし、ワンタイムパスワード入力の1ステップのみでユーザIDの識別と認証の両方を同時に行うシステムを提供する。所定パターンに配列した複数のパターン要素を認証を受けるユーザに提示パターンとして提示したときの特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを前記ユーザのパスワードとし、ワンタイムパスワード内の所定の埋込位置にユーザIDを埋め込んだ認証用文字列に基づいてユーザの認証を行う。その際に、すべてのユーザIDに対して、提示している提示パターンに対する正しい認証用文字列を生成して検証コードとし、ユーザから入力された認証用文字列と等しい検証コードが存在する場合、その検証コードに対応するユーザIDのユーザ認証を成功させる。

Description

ユーザ認証システム、ユーザ認証サーバ、およびユーザ認証方法
 本発明はユーザ認証システムに関し、より詳しくは、所定パターンに配列した複数のパターン要素を認証を受けるユーザに提示パターンとして提示し、当該提示パターンに含まれる特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを当該ユーザのパスワードとするユーザ認証システムに関する。
 従来のチャレンジ・レスポンス方式の問題を改善したユーザ認証方式として、いわゆるマトリクス認証(登録商標)方式のユーザ認証システムが使用されるようになってきた(例えば、特許文献1参照)。マトリクス認証においては、乱数を所定パターンに配列したマトリクス形状の提示パターンを認証を受けようとするユーザに提示し、当該提示パターンに含まれるパターン要素(それぞれの乱数の数字)に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールが当該ユーザのパスワードとされる。そして、サーバとクライアントで同じ提示パターンを共有し、クライアントにおいてパスワードであるワンタイムパスワード導出ルールを提示パターンに適用した結果であるワンタイムパスワードと、サーバにおいてパスワードであるワンタイムパスワード導出ルールを提示パターンに適用した結果である検証コードとを比較することによって、パスワードを直接比較することなく、ユーザ認証が実施される。マトリクス認証においては、パスワードであるワンタイムパスワード導出ルールは、マトリクス上で選択されるパターン要素の位置と順番であって、イメージとして記憶しやすいものであり、また、パスワード入力時に盗み見されてもパスワードを特定することはできないという特徴がある。
 図3は、従来の代表的なマトリクス認証を使用したユーザ認証システム200のブロック図である(特許文献1)。ユーザ認証システム200は、大きく、ユーザの認証を行う認証サーバ201と、ユーザが認証を要求する端末である認証要求クライアント251とから構成される。認証サーバ201は、ワンタイムパスワード導出ルール記憶部202と、ユーザID受信手段203と、パターン発生手段204と、パターン送信手段205と、検証コード生成手段206と、ワンタイムパスワード受信手段207と、ユーザ認証手段208とから構成される。
 認証要求クライアント251は、ユーザID入力手段252と、ユーザID送信手段253と、パターン受信手段254と、パターン表示手段255と、ワンタイムパスワード入力手段256と、ワンタイムパスワード送信手段257とから構成される。
 認証サーバ201において、ワンタイムパスワード導出ルール記憶部202は、ユーザID202aおよびワンタイムパスワード導出ルール202bをお互いに関連付けてあらかじめ記憶している。ユーザID受信手段203は、認証を受けようとするユーザのユーザID281を認証要求クライアント251から受信し、パターン発生手段204は、マトリクス形状の提示パターン291に含まれるパターン要素の配列であるパターン要素列290を擬似乱数などの所定の発生規則により発生させ、パターン送信手段205は、発生させられたパターン要素列290を認証要求クライアント251に送信するものである。
 認証に当たっては、まず、認証を受けようとするユーザが、認証要求クライアント251において、キーボードなどのユーザID入力手段252から自己のユーザID281を入力する。ユーザID送信手段253が入力されたユーザID281を認証サーバ201に送信する。認証サーバ201において、ユーザID受信手段203がユーザID281を受信する。パターン発生手段204が、マトリクス形状の提示パターン291を構成する乱数を所定の発生規則により発生する。パターン送信手段205は、発生させられたパターン要素列290を認証要求クライアント251に送信する。認証要求クライアント251において、パターン受信手段254がパターン要素列290を受信する。パターン表示手段255が、受信したパターン要素列290を所定パターン291pに配列して提示パターン291を生成し、それを画面に表示させる。
 図7は、マトリクス認証方式におけるワンタイムパスワード入力方法の概念図である。ユーザは、提示パターン291に対してワンタイムパスワード導出ルール202bを適用することによって、マトリクス上の所定の位置に表示された数字を順番に抽出し、ワンタイムパスワード入力手段256から入力する。また、提示パターン291に無関係な数字を入力することも可能である。すなわち、固定パスワードをワンタイムパスワードに含めることもできる。それらの数字の入力は、典型的にはタッチパネルなどのポインティングデバイスやキーボード296などで行われる。図7において破線で示した矢印と丸は、提示パターン291に基づくワンタイムパスワードをキーボード296から入力することを表わしている。ワンタイムパスワード送信手段257は、入力されたワンタイムパスワード292を認証サーバ201に送信する。認証サーバ201において、ワンタイムパスワード受信手段207がワンタイムパスワード292を受信する。検証コード生成手段206が、受信したユーザID281に関連付けられたワンタイムパスワード導出ルール202bを、送信したパターン要素列290に適用した結果である検証コード293を生成する。ユーザ認証手段208が、受信したワンタイムパスワード292と、検証コード293とを比較し、それらが等しい場合に当該ユーザの認証を成功させる。
特開2007-264839号公報
 従来のマトリクス認証システムにおいては、まず、認証要求クライアントにおいてユーザIDの入力画面でユーザIDを入力して認証サーバに伝達した後に、認証サーバから認証要求クライアントに、マトリクス形状の提示パターンを構成するパターン要素などが送信される。そしてユーザは、提示パターンが表示されてから、その提示パターンに対するレスポンスであるワンタイムパスワードを入力する。すなわち、ユーザIDを入力した後、別の画面でワンタイムパスワードを入力する必要がある。このような、認証のために2画面を切り替えて表示させなければならない従来の認証方法は、ユーザの操作性が必ずしもいいとは言えない。これを改善するような、ユーザID入力ステップを不要とし、ワンタイムパスワード入力の1ステップのみでユーザIDの識別と認証の両方を同時に行なうシステムの必要性が存在していた。
 本発明は上記の課題に鑑みてなされたものであり、以下のような特徴を有している。すなわち本発明は、所定パターンに配列した複数のパターン要素を認証を受けるユーザに提示パターンとして提示したときの特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを前記ユーザのパスワードとし、前記ワンタイムパスワード内の所定の埋込位置にユーザIDを埋め込んだ認証用文字列に基づいて前記ユーザの認証を行う、認証サーバと認証要求クライアントとを含むユーザ認証システムにおいて、
 前記認証サーバは、
 それぞれの前記ユーザID毎に、前記ユーザのユーザID102aと、前記ユーザのワンタイムパスワード導出ルール102bと、前記ユーザIDを前記ワンタイムパスワード内に埋め込む埋込位置を識別するユーザID埋込位置102cをお互いに関連付けてあらかじめ記憶するパスワード記憶部102と、
 前記提示パターンを決定する提示パターン決定情報を所定の発生規則により発生する提示パターン決定情報発生手段111と、
 それぞれの前記ユーザID毎に、前記提示パターン決定情報に基づいて決定される前記提示パターンを構成する前記パターン要素に前記ユーザIDに関連付けられた前記ワンタイムパスワード導出ルールを適用した結果に対して、前記ユーザIDを前記ユーザID埋込位置に基づいて埋め込んだ検証コードを生成する検証コード生成手段106と、
 発生させられた前記提示パターン決定情報を、前記認証を受けるユーザの前記認証要求クライアントに送信する提示パターン決定情報送信手段112と、
 を有し、
 前記認証要求クライアントは、
 前記認証サーバから送信された前記提示パターン決定情報を受信する提示パターン決定情報受信手段161と、
 前記提示パターン決定情報に基づいて前記提示パターンを構成するパターン要素を決定するパターン要素決定手段162と、
 決定されたそれぞれの前記パターン要素を前記所定パターンに配列して提示パターンを生成し、それを画面に表示させるパターン表示手段155と、
 前記提示パターンに含まれる前記パターン要素に前記ワンタイムパスワード導出ルールを適用した結果であるワンタイムパスワードに対して、前記ユーザIDを前記ユーザID埋込位置に埋め込んだ認証用文字列の入力を前記認証を受けるユーザから受け付ける認証用文字列入力手段156と、
 入力された前記認証用文字列を前記認証サーバに送信する認証用文字列送信手段157と、
 を有し、
 前記認証サーバは、
 前記認証用文字列を前記認証要求クライアントから受信する認証用文字列受信手段107と、
 受信した前記認証用文字列と前記ユーザID毎に生成された前記検証コードとを比較し、受信した前記認証用文字列に等しい前記検証コードが存在する場合に、その検証コードに対応する前記ユーザIDの認証を成功させるユーザ認証手段108と、
をさらに有することを特徴とする。
 本発明においては、前記提示パターン決定情報は、前記提示パターンを構成する前記パターン要素とすることができる。また本発明においては、前記提示パターン決定情報は、所定のパターン要素列生成規則に適用することにより前記提示パターンを構成する前記パターン要素を発生するパターンシード値とすることができる。また本発明においては、前記検証コード生成手段は、いずれかの2つ以上の前記ユーザIDに対して等しい前記検証コードが存在する場合は、等しい前記検証コードが存在しなくなるまで、前記提示パターン決定情報発生手段によって新しい前記提示パターン決定情報を発生させ、それに基づいてそれぞれの前記ユーザIDに対して前記検証コードを生成することを反復する、ように構成できる。また本発明においては、前記認証用文字列送信手段は、入力された前記認証用文字列を記憶するとともに、ハッシュ関数でハッシュ化して前記認証サーバに送信するものであり、
 前記ユーザ認証手段は、受信したハッシュ化された前記認証用文字列と、前記ユーザID毎に生成された前記検証コードを前記ハッシュ関数でハッシュ化したものとを比較し、受信したハッシュ化された前記認証用文字列に等しいハッシュ化された前記検証コードが存在する場合に、その検証コードに対応する前記ユーザID埋込位置及び前記ユーザIDの文字列の長さを前記認証要求クライアントに送信して前記認証用文字列の中の前記ユーザIDの問い合わせを行い、前記問い合わせで得られた前記ユーザIDと前記検証コードに対応する前記ユーザIDが等しい場合に前記ユーザIDの認証を成功させるものであるようにすることもできる。
 本発明は、上記のユーザ認証システムを使用したユーザ認証方法や、そのようなユーザ認証システムを実現するための認証サーバや、そのような認証サーバで実行されるユーザ認証方法としても成立する。
 上記あるいは特許請求の範囲に記載の発明において、サーバ、クライアントなどの用語は、装置の具体的形態や具体的呼称を限定するものではなく、その一般的な機能を備えた装置を表わすためのものである。1つの構成要素が有する機能が2つ以上の物理的構成によって実現されてもよく、2つ以上の構成要素が有する機能が1つの物理的構成によって実現されてもよい。システムの発明は、それぞれの構成要素の有する機能が逐次的に実行される方法の発明として把握することもできるし、その逆も成り立つ。方法の発明においては、各ステップは記載された順序に実行されるものに限定されるものではなく、全体としての機能が矛盾なく実行され得る限りにおいて、自由な順序でそれを実行することができる。これらの発明は、所定のハードウェアと協働して所定の機能を実現させるプログラムとしても成立し、それを記録した記録媒体としても成立する。
 本発明は、所定パターンに配列した複数のパターン要素を認証を受けるユーザに提示パターンとして提示したときの特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを前記ユーザのパスワードとし、ワンタイムパスワード内の所定の埋込位置にユーザIDを埋め込んだ認証用文字列に基づいてユーザの認証を行い、その際に、すべてのユーザIDに対して、提示している提示パターンに対する正しい認証用文字列を生成して検証コードとし、ユーザから入力された認証用文字列と等しい検証コードが存在する場合、その検証コードに対応するユーザIDのユーザ認証を成功させるという構成を採用したことにより、認証の開始時にユーザIDを認証システムに入力してユーザを特定する必要がなく、認証時に単一の認証用文字列を入力することにより、ユーザの特定とユーザの真正性の確認の両方を行うことができ、認証の際にパスワードの入力の前にユーザIDを入力する必要がなく、認証のために2画面を切り替えて表示させる必要がないという効果を有する。すなわち、本発明は、ユーザID入力ステップが不要となり、ワンタイムパスワードを含む文字列の入力の1ステップのみでユーザIDの識別と認証の両方を同時に行なうことができるという効果を有するものである。
本発明の一実施形態に係るユーザ認証システム100のハードウェア構成図である。 本発明の一実施形態に係るユーザ認証システム100の機能ブロック図である。 従来のマトリクス認証方式のユーザ認証システム200のブロック図である。 本発明の一実施形態に係るユーザ認証システム100の動作フロー図である。 本発明の一実施形態に係るユーザ認証システム100の動作フロー図であり、図4に示した動作フローの続きである。 マトリクス認証方式におけるワンタイムパスワード導出ルールの概念図である。 マトリクス認証方式におけるワンタイムパスワード入力方法の概念図である。 認証用文字列の構造の説明図である。 ユーザ認証システム100におけるログオン認証画面のイメージ図である。
[本発明に係るユーザ認証方法]
 これから図面を参照して本発明の実施形態に係るユーザ認証システム100の説明を行う。図面においては、従来のユーザ認証システム200と本発明に係るユーザ認証システム100との間で対応する構成要素に関しては、付している参照番号の下2桁は同じ番号としている。図1はハードウェア構成図、図2はブロック図、図4および5は動作フロー図である。まず、本発明に係るユーザ認証方法の概要について説明する。本発明に係るユーザ認証方法は、上述したような、チャレンジ・レスポンス方式の認証方法の一種であるマトリクス認証である。本発明に係るユーザ認証方法では、所定パターンに配列した複数のパターン要素を認証要求クライアント151において認証を受けるユーザに提示パターン191として提示し、当該提示パターン191に含まれる特定の位置のパターン要素190に対してユーザが適用することによりワンタイムパスワード192を生成するためのワンタイムパスワード導出ルール102bを当該ユーザのパスワードとするものである。認証要求クライアント151においてユーザに提示される提示パターン191を生成する際に使用される情報である提示パターン決定情報183は、認証サーバ101において生成され、認証要求クライアント151に送信される。提示パターン決定情報183は、提示パターン191を一意的に定める情報であり、パターン要素190そのものでもよく、また、所定の演算を行なうことによりパターン要素190を一意的に定めるパターンシード値であってもよい。
 ユーザは、自分のユーザID102aに対応付けられたワンタイムパスワード導出ルール102bを提示パターン191に適用することによってワンタイムパスワード192を生成するが、それを認証要求クライアント151に入力する際に、ワンタイムパスワード192内の所定の埋込位置にユーザID102aを埋め込んだ認証用文字列192Aとして入力する。ユーザは、その所定の位置をあらかじめ決めており、ユーザID埋込位置102cとしてユーザID102aと対応付けて認証サーバ101に記憶させておく。ユーザID102aは、ユーザを一意的に特定することができる情報であり、一般的には、ユーザが自分で設定する文字列である。ユーザID102aとしては、ユーザが設定した文字列以外に、マイナンバー、銀行口座番号、社員番号、会員番号、メールアドレスなどのユーザに固有の任意の情報を使用することができる。
 認証要求クライアント151においてユーザから入力された認証用文字列192Aは、認証要求クライアント151から認証サーバ101に送信される。認証サーバ101は、すべてのユーザID102aに対して、認証要求クライアント151に表示させている提示パターン191にユーザID102aに対応付けられたワンタイムパスワード導出ルール102bを適用することによって正しいワンタイムパスワード192を生成し、ユーザID埋込位置102cの埋込位置にユーザID102aを埋め込むことによって検証コード193を生成しておく。そして認証サーバ101は、認証要求クライアント151から送信された認証用文字列192Aを検証コード193と比較し、それらが等しければ当該ユーザに対する認証を成功させる。
[提示パターンとパターン要素]
 提示パターン191とは、パターン要素190を所定パターン191pに配列したものである。所定パターン191pとしては、縦m個×横n個のそれぞれの位置に全体が方形を形成するように配置したマトリクス、そのようなマトリクスを複数並べたもの、などが典型的であるが、その他に任意の図形の形状とすることができる。本明細書では、そのような典型的なマトリクス形状以外の形状の提示パターンを使用した場合も、マトリクス認証方式と呼ぶことにする。所定パターン191pとしては、規則的な形状や印象的な形状が、ユーザの記憶に残りやすく、従ってユーザがパスワードであるワンタイムパスワード導出ルール102bを記憶しやすいために好適である。
 パターン要素190とは、提示パターン191内において所定パターン191pを構成するように所定位置に配置される要素であり、好適には0から9までの1桁の数字であるが、他に、アルファベット、記号、などの任意のキャラクターとすることができる。なお、記号としては、PCの標準のキーボードに割り当てられている「+」、「-」、「*」、「=」、「_」、「!」、「?」、「#」、「$」、「&」などの記号が特に好適である。キャラクターとして、図形、イラスト、写真などの図柄を使用することもできる。好適には、同じパターン要素190は、提示パターン191内において、複数個表示される。このようにすると、パスワードであるワンタイムパスワード導出ルール102bと、ワンタイムパスワード導出ルール102bを提示パターン191に適用した結果であるワンタイムパスワード192とは多対1の対応となり、ワンタイムパスワード192の入力時に自動的に一方向化がなされることになる。すなわち、ワンタイムパスワード192の入力時に、自動的にハッシュ関数演算と同様の処理がなされることになり、そのため、1つのワンタイムパスワード192だけからは、ワンタイムパスワード導出ルール102bを特定することはできない。
 本実施例では、図7などに示すような、0から9までの1桁の数字でパターン要素190が構成されるものとし、それぞれのパターン要素190を4つの4×4のマトリクスからなる所定パターン191pに配列したものを提示パターン191とする。なお、携帯電話機などのように画面の面積が小さい場合は、4×4のマトリクスの数を3つなどに減少させた提示パターン191を使用すると好適である。
[提示パターン決定情報]
 提示パターン決定情報183は、提示パターン191を生成するために所定パターン191pに配置するパターン要素190を一意的に定めることができる情報である。提示パターン決定情報183は、パターン要素190そのものを順番に並べたデータでもよく、また、所定の演算を行なうことによりパターン要素190を一意的に発生させることができるパターンシード値であってもよい。所定の演算としては、ハッシュ関数演算、加算、減算、排他的論理和、桁数調整などのあらゆる演算を使用することができる。パターンシード値は、典型的には、所定の発生規則により所定の範囲内において発生されられた定数である。
[ワンタイムパスワード導出ルール]
 ワンタイムパスワード導出ルール102bは、提示パターン191に含まれる特定の位置のパターン要素190に対して適用することによりワンタイムパスワード192を生成するためのルールであり、ユーザのパスワードとして機能するデータである。パターン要素190に対して適用するルールとは、典型的には、どの位置のパターン要素190をどの順番で選択するのかということである。この場合、ワンタイムパスワード導出ルール102bは、提示パターン191に含まれる選択されるパターン要素190のそれぞれの位置と、当該それぞれのパターン要素190が選択される順番との組み合わせの情報である。またワンタイムパスワード導出ルール102bは、提示パターン191と無関係に入力される数字などのキャラクターの情報を固定パスワードとして含んでいてもよく、この場合、ワンタイムパスワード導出ルール102bは、提示パターン191に含まれる選択されるパターン要素190のそれぞれの位置および当該提示パターン191に無関係な固定パスワードのキャラクターのそれぞれと、当該それぞれのパターン要素190の位置および当該それぞれのキャラクターが選択あるいは入力される順番との組み合わせの情報である。
 図6に典型的なワンタイムパスワード導出ルール102bの構造を示す。本実施例では、0から9までの1桁の数字でパターン要素190が構成されるものとし、それぞれのパターン要素190を4つの4×4のマトリクスからなる所定パターン191pのそれぞれの要素の位置に配置した提示パターン191に対するワンタイムパスワード導出ルール102bが例示されている。図6においては、所定パターン191pのそれぞれの要素の位置は、01から64までの数字で区別されて表示されている。提示パターン191が認証を受けようとするユーザに対して表示されるときには、所定パターン191pのそれぞれの要素の位置には0から9までの1桁の数字が表示される。
 ワンタイムパスワード192は、好適には、提示パターン191に基づく数字と、それとは無関係に入力される数字とを使用するものである。提示パターン191に含まれるパターン要素の数は64個であるため、提示パターン191に含まれるパターン要素のそれぞれの位置が選択されたことは、それぞれの位置に割り当てられた01から64までの2桁の数字によって表わされる。そして、提示パターン191とは無関係に入力される数字については、最初にそのような数字であることを示す「9」の数字が割り当てられ、次に入力される1桁の数字が割り当てられた、2桁の数字によって表わされる。図6の例では、ワンタイムパスワード192の最初の4つの数字は、提示パターン191の特定の位置のパターン要素を選択することによって入力されるものである。ワンタイムパスワード導出ルール102bのそれらに対応する部分として、それらの位置を表わす数字である「01」、「16」、「29」、「20」がその順番に配置される。選択されたパターン要素190は、キーボード196や、タッチパネルなどのポインティングデバイスによって入力される。ワンタイムパスワード192のその次の2つの数字は、提示パターン191とは無関係に、キーボード196などから入力されるものである。ワンタイムパスワード導出ルール102bのそれらに対応する部分として、直接入力を表わす「9」の数字の後に、入力される数字である「2」および「9」がそれぞれ付加された「92」、「99」が続いてその順番に配置される。ワンタイムパスワード192のその次の1つの最後の数字は、提示パターン191の特定の位置のパターン要素を選択することによって入力されるものである。ワンタイムパスワード導出ルール102bのそれに対応する部分として、それの位置を表わす数字である「33」が続いて配置され、ワンタイムパスワード導出ルール102bはここで終了する。ワンタイムパスワード導出ルール102bには、それの終了点を一意的に特定するエンドマーク、例えば「00」などの数字をその最後にさらに付加してもよいし、あるいは、ワンタイムパスワード導出ルール102bの全体の長さを示す数値をそれに関連付けていてもよい。
[ワンタイムパスワード]
 ワンタイムパスワード192は、認証を受けようとするユーザが提示パターン191に対して自己のワンタイムパスワード導出ルール102bを適用することによって生成・入力される使い捨てのパスワードである。図7は、マトリクス認証方式におけるワンタイムパスワード入力方法の概念図である。図7において使用されているワンタイムパスワード導出ルール102bは、図6において示したものと同じである。ユーザは、自己のワンタイムパスワード導出ルール102bに従って、提示パターン191に含まれる所定の位置のパターン要素190の選択、および提示パターン191とは無関係な所定の数字の入力を所定の順番で実施することによって、ワンタイムパスワード192として「2504290」を生成する。
[ユーザID埋込位置と認証用文字列]
 図8は、認証用文字列192Aの構造の説明図である。ワンタイムパスワード192内の所定の埋込位置にユーザID102aを埋め込むことによって認証用文字列192Aを構成するが、ユーザID埋込位置102cは、その際の埋込位置を特定する情報である。図8の例では、「2504290」というワンタイムパスワード192に対して埋込が可能な位置に0から7の数字を割り当てており、ユーザID埋込位置102cは、ワンタイムパスワード192の「5」と「0」の間の「2」(破線の三角形のシンボルで囲んだもの)で示された埋込位置である。ユーザは自分のユーザID埋込位置102cをあらかじめ決めておき、パスワード記憶部102に記憶させておく。ユーザID埋込位置102cは、ユーザが設定する情報であるため、パスワードの一部として機能することにもなる。図8の例では、ワンタイムパスワード192である「2504290」において「2」のユーザID埋込位置102cに、「USER1」というユーザID102aを埋め込むことによって、「25USER104290」という認証用文字列192Aが構成されている。このように、認証用文字列192Aは、ユーザを特定するユーザID102aの情報と、パスワードであるワンタイムパスワード導出ルール102bに従って生成されたユーザの真正性を確認するためのワンタイムパスワード192の両方の情報を単一の文字列に統合したものである。すなわち、認証用文字列192Aという単一の文字列が正当なものであることを検証することによって、どのユーザID102aのユーザが認証を受けているか、及びそのユーザの真正性が確認されることとなり、そのユーザに対する本人認証が成功したかを確認することができる。
[ユーザ認証システム100のハードウェア構成]
 次に、ユーザ認証システム100の構成の説明をする。図1は、本発明の一実施形態に係るユーザ認証システム100のハードウェア構成図である。図1を参照すると、ユーザ認証システム100は、大きく、認証サーバ101と認証要求クライアント151とから構成される。認証サーバ101は、CPU101a、RAM101b、記憶装置101c、ユーザインターフェース(I/F)101d、ネットワークインターフェース(I/F)101eから構成される。記憶装置101cは、その記憶領域にOS101c1、ユーザ認証アプリケーション101c2を記憶し、またその記憶領域にパスワード記憶部102を含む。パスワード記憶部102は、ユーザID102a、ワンタイムパスワード導出ルール102b、ユーザID埋込位置102cを記憶する。認証要求クライアント151は、CPU151a、RAM151b、記憶装置151c、ユーザインターフェース(I/F)151d、ネットワークインターフェース(I/F)151eから構成される。記憶装置151cは、その記憶領域にOS151c1、ブラウザアプリケーション151c2、パターン要素生成モジュール151c3を記憶する。
 認証サーバ101は、ユーザ認証システム100において、認証要求クライアント151からのユーザ認証要求に応答して、ユーザの認証を行う構成要素である。認証サーバ101は、OS101c1、ユーザ認証アプリケーション101c2などがインストールされた、サーバとしてのコンピュータなどの形態である。また、認証サーバ101は、SSL-VPNゲートウェイのようなインターネット上に仮想専用線ネットワークを提供するためのゲートウェイ装置などにおけるユーザ認証を提供するハードウェアの形態とすることもできる。CPU101aは、ユーザ認証アプリケーション101c2などをOS101c1上で実行してユーザ認証に関する情報処理を行うプロセッサである。RAM101bは、記憶装置101cに記憶されたソフトウェアがその上に読み込まれるメモリ空間と、読み込まれたソフトウェアがCPU101aによって実行される際に必要となるワークエリア等を提供するメモリである。記憶装置101cは、ソフトウェアやデータなどの情報を記憶・管理する構成要素であり、典型的にはハードディスクドライブなどの形態である。記憶装置101cは、好適には、OS101c1、ユーザ認証アプリケーション101c2のプログラムのファイルを記憶しており、それらのプログラムはRAM101b上に読み出されて実行される。ユーザI/F101dは、ユーザとの間でデータの入出力を行うための構成要素であり、典型的にはキーボード196、マウスなどのポインティングデバイスからなる入力手段と、画面に情報を表示するディスプレイなどの出力手段と、それらとの間のハードウェアI/Fとから構成される。
 認証サーバ101と認証要求クライアント151とはネットワークで接続される。ネットワークは、好適には、TCP/IPベースのプロトコルで動作するインターネットあるいはイントラネットである。イントラネットにおいて、認証要求クライアント151がクライアント用Windows(登録商標。以下、同じ) OSで動作している場合には、ネットワークはTCP/IPベースのプロトコルで動作するWindowsのドメインネットワークとすることができる。なお、本明細書ではOSとしてWindowsを例示して説明しているが、他のOS、例えば、Mac OS(登録商標)、Linux(登録商標)、Unix(登録商標)などを使用することも可能である。
 本発明に係る認証方法は、少なくとも以下の2つの利用形態で実施することが可能である。1つの利用形態は、認証要求クライアント151をネットワーク上のWebサービスに接続した状態で、WebブラウザなどによってWeb上のコンテンツ、SSL-VPNサービス、アプリケーションを使用する際の、当該ユーザに対する使用許可のための認証の形態である。この場合、認証サーバ101は、典型的には、インターネットまたはイントラネットなどのネットワーク上に配置され、当該ネットワークを通じてアクセスしてきた認証要求クライアント151に対してユーザ認証のためのWebページを提供し、それを通じてユーザ認証のためのデータの送受信を行うようなWebサーバの形態や、RADIUSサーバと連携して認証・アカウンティング管理を実施する、SSL-VPNゲートウェイのようなインターネット上に仮想専用線ネットワークを提供する装置の形態である。
 もう1つの利用形態は、ユーザが認証要求クライアント151を使用して、認証サーバ101と同じWindowsのドメインネットワークに適正なネットワークユーザとして接続する際の、当該ユーザのそのネットワークへのログオン認証の形態である。この場合、認証サーバ101は、典型的には、認証のためのリソースをネットワーク上に提供しており、それによって、ユーザからの認証要求クライアント151を使用したWindowsのドメインネットワークへのログオン認証要求に応答してユーザ認証を実行し、その認証結果を当該Windowsのドメインネットワークのネットワークユーザの権限を管理するドメインコントローラに伝達する。
 OS101c1は、認証サーバ101のハードウェアに密接な基本的な情報処理を行うオペレーティングシステムである。ユーザ認証アプリケーション101c2は、OS101c1上で動作するユーザ認証のためのアプリケーションソフトウェアである。認証サーバ101がWebサーバの形態である場合、ユーザ認証アプリケーション101c2は、典型的には、CGIで呼び出される形態かサーブレットの形態の認証プログラムを備えた、認証のためのWebページまたはリソースをインターネットまたはイントラネットのWeb上に提供するWebサーバプログラムである。パスワード記憶部102は、典型的にはハードディスクドライブなどの記憶装置の一領域であり、好適にはデータは暗号化ファイルとしてパスワード記憶部102に記憶される。ユーザID102aは、ユーザを一意的に識別するための文字列のデータである。ワンタイムパスワード導出ルール102bは、上述したように、提示パターン191に含まれる特定の位置のパターン要素190に対して適用することによりワンタイムパスワード192を生成するためのルールであり、ユーザのパスワードとして機能するデータである。ユーザID埋込位置102cは、ワンタイムパスワード192内にユーザID102を埋め込むことによって認証用文字列192Aを構成するための埋込位置である。
 認証要求クライアント151は、ユーザ認証システム100において、ユーザが認証サーバ101に対して認証を要求する構成要素であり、OS151c1、ブラウザアプリケーション151c2、パターン要素生成モジュール151c3などがインストールされた情報端末であり、具体的には、PC、スマートフォン、携帯電話機などの形態である。CPU151aは、ブラウザアプリケーション151c2、パターン要素生成モジュール151c3などをOS151c1上で実行して、ユーザ認証要求に関する情報処理を行うプロセッサである。RAM151bは、記憶装置151cに記憶されたソフトウェアがその上に読み込まれるメモリ空間と、読み込まれたソフトウェアがCPU151aによって実行される際に必要となるワークエリア等を提供するメモリである。記憶装置151cは、ソフトウェアやデータなどの情報を記憶・管理する構成要素であり、典型的にはハードディスクドライブなどの形態である。記憶装置151cは、好適には、OS151c1、ブラウザアプリケーション151c2、パターン要素生成モジュール151c3のプログラムのファイルを記憶しており、それらのプログラムはRAM151b上に読み出されて実行される。なお、記憶装置151cは、OS151c1、ブラウザアプリケーション151c2、パターン要素生成モジュール151c3に関しては、そのプログラムをROMに記憶した形態であってもよい。この場合、そのようなROMはCPU151aなどのプログラム実行要素とともにファームウェアを構成することになる。ユーザI/F151dは、ユーザとの間でデータの入出力を行うための構成要素であり、典型的には、図示していないが、キーボード196や、タッチパネルなどのポインティングデバイスからなる入力手段と、画面に情報を表示するディスプレイなどの出力手段と、それらとの間のハードウェアI/Fとから構成される。ネットワークI/F151eは、ネットワークに接続して情報の入出力を行うためのI/Fである。
 OS151c1、ブラウザアプリケーション151c2、パターン要素生成モジュール151c3は、それらの一部または全部が組み合わされて形式的には一体のプログラムの形態となっていてもよい。例えば、ブラウザアプリケーション151c2がパターン要素生成モジュール151c3の機能を包含していてもよく、OS151c1がブラウザアプリケーション151c2およびパターン要素生成モジュール151c3の機能を包含していてもよい。また、それらが他のアプリケーションに組み込まれていてもよい。また、それらがそれぞれ複数のプログラムに分割されていてもよい。
 OS151c1は、認証要求クライアント151のハードウェアに密接な基本的な情報処理を行うオペレーティングシステムであり、認証要求クライアント151のハードウェアに応じた基本プログラムである。OS151c1は、プラットフォームに準じたアーキテクチャのファームウェアの形態であってもよい。ブラウザアプリケーション151c2は、OS151c1上で動作する、ネットワーク上に提供されている情報にアクセスして表示させ、さらにユーザからのデータの入力を受け付けるためのブラウザの機能を実現させるソフトウェアであり、典型的には、インターネットまたはイントラネット上のWebページにアクセスするためのWebブラウザアプリケーションの形態である。なお、ブラウザアプリケーション151c2は、Webブラウザアプリケーションに限られることはなく、サーバがネットワーク上に提供するユーザ認証用の画面にアクセスすることができるアプリケーションであれば、どのようなアプリケーションであってもよい。ブラウザアプリケーション151c2は、他のアプリケーションが認証を実施する際の画面表示のためのAPIを提供するプラットフォームに準じたアーキテクチャのファームウェアの形態であってもよい。パターン要素生成モジュール151c3は、ブラウザアプリケーション151c2に組み込まれて実行される、提示パターン191を生成してブラウザに表示させるためのプログラムであり、認証要求クライアント151がPCの場合、典型的には、Java(登録商標)アプレット、ActiveX(登録商標)、Flash(登録商標)などの形態である。パターン要素生成モジュール151c3は、他のアプリケーションが認証を実施するためのAPIを提供するプラットフォームに準じたアーキテクチャのファームウェアの形態であってもよい。
 認証サーバ101がWindowsのドメインネットワークへのログオン認証を実施する場合には、認証のためのブラウザアプリケーション151c2およびパターン要素生成モジュール151c3は、クライアント用Windows OSとしてのOS151c1に組み込まれており、認証要求クライアント151のWindowsのドメインネットワークへのログオン認証画面に提示パターン191を表示させ、本願発明に係る認証方法に基づいた認証手続をユーザに提供する。
 図9は、ユーザ認証システム100におけるログオン認証画面197のイメージ図である。これは、Windowsのドメインネットワークへのログオンしようとする時の認証画面であってもよいし、ブラウザアプリケーション151c2によるWebサービスへログオンしようとする時の認証画面であってもよい。ログオン認証画面197には、提示パターン191、パスワード入力フィールドが表示される。キーボード196やタッチパネルなどのポインティングデバイスによって認証用文字列192Aとして数字などのキャラクターがパスワード入力フィールドに入力されると、それに応答して当該キャラクターあるいは「*」のような記号が1つずつ表示される。Windowsのドメインネットワークへのログオンの場合は、認証用文字列192Aの入力が完了すると、当該認証モジュールは、認証サーバ101に認証用文字列192Aを伝達してユーザ認証を実行させ、その認証結果をドメインコントローラに伝達する。ブラウザアプリケーション151c2によるWebベースのログオンの場合は、認証サーバ101は、使用しようとしているWebサービスに認証結果を伝達する。
[ユーザ認証システム100の機能ブロック構成]
 図2は、本発明の一実施形態に係るユーザ認証システム100の機能ブロック図である。図2は、図1に示したハードウェア構成のユーザ認証システム100を、ソフトウェアとハードウェア資源とが協働して実施される情報処理の観点から表現した図であり、当該情報処理を機能ブロックの単位で表わした図である。図2において、認証サーバ101は、パスワード記憶部102、検証コード生成手段106、認証用文字列受信手段107、ユーザ認証手段108、提示パターン決定情報発生手段111、提示パターン決定情報送信手段112から構成される。これらの機能ブロックは、ユーザ認証アプリケーション101c2がOS101c1とともに記憶装置101cからRAM101b上に読み込まれ、それらのソフトウェアがCPU101aによって実行されることによって、RAM101b、記憶装置101c、ユーザI/F101d、ネットワークI/F101eなどのハードウェア要素とも適宜協働して実現されるものである。
 パスワード記憶部102は、それぞれのユーザに関して、ユーザID102aと、当該ユーザのパスワードであるワンタイムパスワード導出ルール102bと、ユーザID埋込位置102cとをお互いに関連付けてあらかじめ記憶させておくための記憶装置であり、CPU101a、RAM101b、記憶装置101cなどがソフトウェアと協働することによって実現される機能ブロックである。検証コード生成手段106は、認証を受けようとしているユーザのパスワードであるワンタイムパスワード導出ルール102bを、認証要求クライアント151に表示されている提示パターン191に適用した結果にユーザID102aをユーザID埋込位置102cで示される位置に埋め込んだものである検証コード193を生成する構成要素であり、CPU101a、RAM101bなどがソフトウェアと協働することによって実現される機能ブロックである。ここで、検証コード193は、正しいワンタイムパスワード導出ルール102bが正しい提示パターンに適用された結果である正しいワンタイムパスワード192にユーザID102aを正しいユーザID埋込位置102cで示される位置に埋め込んだ場合の認証用文字列192Aと同じ値である。認証用文字列受信手段107は、認証要求クライアント151から、そこで入力された認証用文字列192Aを受信する構成要素であり、CPU101a、RAM101b、ネットワークI/F101eなどがソフトウェアと協働することによって実現される機能ブロックである。ユーザ認証手段108は、認証用文字列192Aと検証コード193とを比較して、それらが等しいときにユーザ認証を成功させる構成要素であり、CPU101a、RAM101bなどがソフトウェアと協働することによって実現される機能ブロックである。提示パターン決定情報発生手段111は、提示パターンを規定する情報である提示パターン決定情報183を所定の発生規則により発生する構成要素であり、CPU101a、RAM101bなどがソフトウェアと協働することによって実現される機能ブロックである。提示パターン決定情報送信手段112は、提示パターン決定情報発生手段111によって発生させられた提示パターン決定情報183を認証要求クライアント151に送信する構成要素であり、CPU101a、RAM101b、ネットワークI/F101eなどがソフトウェアと協働することによって実現される機能ブロックである。
 認証要求クライアント151は、パターン表示手段155、認証用文字列入力手段156、認証用文字列送信手段157、提示パターン決定情報受信手段161、パターン要素決定手段162から構成される。これらの機能ブロックは、ブラウザアプリケーション151c2の必要部分、パターン要素生成モジュール151c3がOS151c1の必要部分とともに記憶装置151cからRAM151b上に読み込まれ、それらのソフトウェアがCPU151aによって実行されることによって、RAM151b、記憶装置151c、ユーザI/F151d、ネットワークI/F151eなどのハードウェア要素とも適宜協働して実現されるものである。
 パターン表示手段155は、後述のパターン要素決定手段162によって決定されたパターン要素190を所定パターン191pに配列して提示パターン191を生成し、それを画面に表示させる構成要素であり、CPU151a、RAM151b、ユーザI/F151dなどがソフトウェアと協働することによって実現される機能ブロックである。認証用文字列入力手段156は、画面に表示させた提示パターン191などを通じて認証用文字列192Aのユーザからの入力を受け付ける構成要素であり、CPU151a、RAM151b、ユーザI/F151dなどがソフトウェアと協働することによって実現される機能ブロックである。認証用文字列送信手段157は、入力された認証用文字列192Aを認証サーバ101に送信する構成要素であり、CPU151a、RAM151b、ネットワークI/F151eなどがソフトウェアと協働することによって実現される機能ブロックである。提示パターン決定情報受信手段161は、認証サーバ101から、提示パターン決定情報183を受信する構成要素であり、CPU151a、RAM151b、ネットワークI/F151eなどがソフトウェアと協働することによって実現される機能ブロックである。パターン要素決定手段162は、認証サーバ101から受信した提示パターン決定情報183に基づいて、パターン要素190を決定する構成要素であり、CPU151a、RAM151bなどがソフトウェアと協働することによって実現される機能ブロックである。
[ユーザ認証システム100の動作]
 これから、ユーザ認証システム100の動作について説明する。図4および図5は、ユーザ認証システム100の動作フロー図である。まず、ユーザ認証システム100で認証を受けることになるユーザは、そのユーザID102aと、パスワードであるワンタイムパスワード導出ルール102bと、ユーザID埋込位置102cとをあらかじめ認証サーバ101に入力して登録しておく。パスワード記憶部102は、そのユーザのユーザID102aとワンタイムパスワード導出ルール102bとユーザID埋込位置102cとをお互いに関連付けてユーザの認証に先立ってあらかじめ記憶する(ステップS101)。
 次に、認証を受けようとするユーザは、認証要求クライアント151において、WindowsへのログオンやWebサービスへログオンのために、ログオン認証画面197を表示させる。この際には、認証要求クライアント151から認証要求が認証サーバ101に送られ(ステップS102)、認証サーバ101が認証要求を受信して(ステップS103)、認証のためのプロセスを開始する。認証サーバ101は、まず、提示パターン決定情報発生手段111によって、提示パターン決定情報183を発生し、それによって提示パターン191を構成するパターン要素190を発生する(ステップS104)。すなわち、認証サーバ101は、パターン要素190そのもの、あるいは、所定の演算を行なうことによりパターン要素190を一意的に決定するパターンシード値を乱数などで発生させ、パターン要素190、及びそれを所定パターン191pに配列した提示パターン191を発生させる。
 認証サーバ101は、検証コード生成手段106によって、すべての登録されているユーザID102aのそれぞれに対して、発生させた提示パターン決定情報183に基づいて生成される提示パターン191に、そのユーザID102aに関連付けられたワンタイムパスワード導出ルール102bを適用した結果(正しいワンタイムパスワード192に相当する)に、そのユーザID102aに関連付けられたユーザID埋込位置102cにユーザID102aを埋め込むことによって検証コード193(正しい認証用文字列192Aに相当する)を生成する(ステップS105)。この検証コード193と比較することによって、認証の際に正しい認証用文字列192Aが認証要求クライアント151から送られてきたかどうかを確認することができる。
 ここで、認証用文字列192A内に埋め込まれるユーザID102aの内容やその埋込位置によっては、ある提示パターン191に対する正しい認証用文字列192Aが等しいようなユーザID102aが複数存在するような衝突が発生する可能性がある。この場合、認証用文字列192Aが正当なものであること、すなわち、認証用文字列192Aと同じ検証コード193が存在することが確認できても、それらのユーザID102aを区別することはできず、ユーザを一意的に特定することができない。
 上述のような不都合を防止するために、好適には、認証サーバ101は、検証コード生成手段106によって、異なるユーザID102aに対して等しい検証コード193が存在するかどうかを確認する(ステップS106)。そして、いずれかの2つ以上のユーザID102aに対して等しい検証コード193が存在する場合は、衝突が発生していると判断し、ステップS104にプロセスを戻して新しい提示パターン決定情報183(すなわち、新しいパターン要素190で構成される新しい提示パターン191)を発生させ、次のステップS105で新しい検証コード193を生成させ、次のステップS106でその検証コード193を有するユーザID102aが複数存在するかどうかを確認する。このような確認を、異なるユーザID102aに対して等しい検証コード193が存在しなくなるまで実行する。これを実行することにより、すべてのユーザID102aに対して異なる検証コード193が存在することが保証されることとなり、検証コード193による認証用文字列192Aの確認により、ユーザの特定と、そのユーザの真正性の確認とを同時に行うことができるようになる。
 なお、別の方法により、すべてのユーザID102aに対して確実に異なる検証コード193が存在するようにしていれば、ステップS106は必ずしも必要ない。例えば、すべてのユーザに対して、ユーザID埋込位置102cを同じ位置とし、また、ユーザID102aの文字列の長さを同じにすると、認証用文字列192A内の同じ位置にユーザID102aが現れることになるため、すべてのユーザID102aに対して必ず異なる検証コード193が存在することになる。
 認証サーバ101は、提示パターン決定情報送信手段112によって、提示パターン決定情報183を認証要求クライアント151に送信する(ステップS107)。認証要求クライアント151は、提示パターン決定情報受信手段161によって、認証サーバ101から提示パターン決定情報183を受信する(ステップS108)。認証要求クライアント151は、パターン要素決定手段162によって、受信した提示パターン決定情報183に基いて、パターン要素190を決定する(ステップS109)。すなわち、パターン要素決定手段162は、提示パターン決定情報183がパターン要素190そのものの場合は、受信した提示パターン決定情報183をパターン要素190とし、提示パターン決定情報183がパターンシード値の場合は、それに所定の演算を行なうことによりパターン要素190を生成する。認証要求クライアント151は、パターン表示手段155によって、生成したパターン要素190を所定パターン191p(典型的には、4つの4×4のマトリクスからなるパターン)に配列して提示パターン191を構成し、それをログオン認証画面197に含めて画面に表示させる(ステップS110)。
 次に、認証を受けようとするユーザは、認証要求クライアント151の画面に表示された提示パターン191の特定の位置に表示されたパターン要素を選択したり、提示パターン191とは無関係な数字などのキャラクターを入力したりすることを順番に実施することによって、自分のワンタイムパスワード導出ルール102bを提示パターン191に適用した結果であるワンタイムパスワード192を生成し、ワンタイムパスワード192内の予め定めたユーザID埋込位置102cに自己のユーザID102aを含めることによって認証用文字列192Aを生成し、認証要求クライアント151に入力する。すなわち、認証要求クライアント151は、認証用文字列入力手段156によって、認証用文字列192Aの入力を受け付ける(ステップS111)。次に、認証要求クライアント151は、認証用文字列送信手段157によって、入力された認証用文字列192Aを認証サーバ101に送信する(ステップS112)。次に、認証サーバ101は、認証用文字列受信手段107によって、認証要求クライアント151から送信された認証用文字列192Aを受信する(ステップS113)。
 次に、認証サーバ101は、ユーザ認証手段108によって、受信した認証用文字列192Aと等しい検証コード193が存在するかを、それぞれのユーザID102aに対して生成された検証コード193と順番に比較することによって確認し、等しい検証コード193が存在していれば、その検証コード193に対応するユーザID102aのユーザが真正のユーザであることが確認できたことになり、ユーザ認証を成功させる(ステップS114)。ユーザ認証が成功すると、以下のように、そのユーザID102aのユーザに対して、ユーザ認証の利用形態に応じたサービスを許可することになる。すなわち、Web上のコンテンツ等の使用許可のためのユーザ認証の場合は、コンテンツへのアクセスが許可されたり、アプリケーションの利用が許可されたりする。Windowsのドメインネットワークへのログオン認証の場合は、認証サーバ101は、認証結果をWindowsのドメインコントローラに伝達し、Windowsネットワークへの参加を許可させる。認証サーバ101が、SSL-VPNゲートウェイの形態であれば、当該SSL-VPNへのアクセスが許可される。
 なお、本発明において送受信するデータは、適宜ハッシュ化することによって、さらにセキュリティを高めることもできる。すなわち、認証要求クライアント151は、入力された認証用文字列192Aを一時的に記憶するとともに、それをハッシュ関数でハッシュ化したものを認証サーバ101に送信するようにできる。そして、認証サーバ101は、受信したハッシュ化された認証用文字列192Aと、ユーザID102a毎に生成された検証コード193のそれぞれをハッシュ関数でハッシュ化したものとを比較する。認証サーバ101は、受信したハッシュ化された認証用文字列192Aに等しいハッシュ化された検証コード193が存在する場合に、当該ユーザID102aに対するユーザ認証を成功させることができる。ただし、この場合、ハッシュ化したもの同士を比較しているため、衝突により、認証用文字列192Aと検証コード193が異なる場合であっても、ハッシュ化されたもの同士が等しくなる可能性がゼロではない。そのような可能性をなくすために、以下のような手順を追加的に実行することもできる。すなわち、その検証コード193に対応するユーザID102aに関連付けられたユーザID埋込位置102c及び前記ユーザID102aの文字列の長さを認証要求クライアント151に送信して、認証用文字列192Aの中のユーザID102aの問い合わせを行う。認証要求クライアント151は、それらの情報を受信し、一時的に記憶している入力された認証用文字列192A内のユーザID埋込位置102cから、送信された文字列の長さ分の文字列を抽出して、認証サーバ101に送る。この文字列は正しいユーザID102aに相当するはずのものである。認証サーバ101は、問い合わせで得られた文字列が、検証コード193に対応するユーザID102aに等しい場合に、そのユーザID102aの認証を成功させる。
 なお、以上に説明した動作フローにおいて、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの動作フロー上の矛盾が生じない限りにおいて、動作フローを自由に変更することができる。
 以上に説明してきた各実施形態は、本発明を説明するための例示であり、本発明はこれらの実施形態に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。
100    :ユーザ認証システム
101    :認証サーバ
101a   :CPU
101b   :RAM
101c   :記憶装置
101c2  :ユーザ認証アプリケーション
101d   :ユーザI/F
101e   :ネットワークI/F
102    :パスワード記憶部
102a   :ユーザID
102b   :ワンタイムパスワード導出ルール
102c   :ユーザID埋込位置
106    :検証コード生成手段
107    :認証用文字列受信手段
108    :ユーザ認証手段
111    :提示パターン決定情報発生手段
112    :提示パターン決定情報送信手段
151    :認証要求クライアント
151a   :CPU
151b   :RAM
151c   :記憶装置
151c2  :ブラウザアプリケーション
151c3  :パターン要素生成モジュール
151d   :ユーザI/F
151e   :ネットワークI/F
155    :パターン表示手段
156    :認証用文字列入力手段
157    :認証用文字列送信手段
161    :提示パターン決定情報受信手段
162    :パターン要素決定手段
183    :提示パターン決定情報
190    :パターン要素
191    :提示パターン
191p   :所定パターン
192    :ワンタイムパスワード
192A   :認証用文字列
193    :検証コード
196    :キーボード
197    :ログオン認証画面
200    :ユーザ認証システム
201    :認証サーバ
202    :ワンタイムパスワード導出ルール記憶部
202b   :ワンタイムパスワード導出ルール
203    :ユーザID受信手段
204    :パターン発生手段
205    :パターン送信手段
206    :検証コード生成手段
207    :ワンタイムパスワード受信手段
208    :ユーザ認証手段
251    :認証要求クライアント
252    :ユーザID入力手段
253    :ユーザID送信手段
254    :パターン受信手段
255    :パターン表示手段
256    :ワンタイムパスワード入力手段
257    :ワンタイムパスワード送信手段
290    :パターン要素列
291    :提示パターン
291p   :所定パターン
292    :ワンタイムパスワード
296    :キーボード

Claims (12)

  1.  所定パターンに配列した複数のパターン要素を認証を受けるユーザに提示パターンとして提示したときの特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを前記ユーザのパスワードとし、前記ワンタイムパスワード内の所定の埋込位置にユーザIDを埋め込んだ認証用文字列に基づいて前記ユーザの認証を行う、認証サーバと認証要求クライアントとを含むユーザ認証システムであって、
     前記認証サーバは、
     それぞれの前記ユーザID毎に、前記ユーザのユーザIDと、前記ユーザのワンタイムパスワード導出ルールと、前記ユーザIDを前記ワンタイムパスワード内に埋め込む埋込位置を識別するユーザID埋込位置とをお互いに関連付けてあらかじめ記憶するパスワード記憶部と、
     前記提示パターンを決定する提示パターン決定情報を所定の発生規則により発生する提示パターン決定情報発生手段と、
     それぞれの前記ユーザID毎に、前記提示パターン決定情報に基づいて決定される前記提示パターンを構成する前記パターン要素に前記ユーザIDに関連付けられた前記ワンタイムパスワード導出ルールを適用した結果に対して、前記ユーザIDを前記ユーザID埋込位置に基づいて埋め込んだ検証コードを生成する検証コード生成手段と、
     発生させられた前記提示パターン決定情報を、前記認証を受けるユーザの前記認証要求クライアントに送信する提示パターン決定情報送信手段と、
     を有し、
     前記認証要求クライアントは、
     前記認証サーバから送信された前記提示パターン決定情報を受信する提示パターン決定情報受信手段と、
     前記提示パターン決定情報に基づいて前記提示パターンを構成するパターン要素を決定するパターン要素決定手段と、
     決定されたそれぞれの前記パターン要素を前記所定パターンに配列して提示パターンを生成し、それを画面に表示させるパターン表示手段と、
     前記提示パターンに含まれる前記パターン要素に前記ワンタイムパスワード導出ルールを適用した結果であるワンタイムパスワードに対して、前記ユーザIDを前記ユーザID埋込位置に埋め込んだ認証用文字列の入力を前記認証を受けるユーザから受け付ける認証用文字列入力手段と、
     入力された前記認証用文字列を前記認証サーバに送信する認証用文字列送信手段と、
     を有し、
     前記認証サーバは、
     前記認証用文字列を前記認証要求クライアントから受信する認証用文字列受信手段と、
     受信した前記認証用文字列と前記ユーザID毎に生成された前記検証コードとを比較し、受信した前記認証用文字列に等しい前記検証コードが存在する場合に、その検証コードに対応する前記ユーザIDの認証を成功させるユーザ認証手段と、
    をさらに有することを特徴とするユーザ認証システム。
  2.  前記提示パターン決定情報は、前記提示パターンを構成する前記パターン要素である、請求項1に記載のユーザ認証システム。
  3.  前記提示パターン決定情報は、所定のパターン要素列生成規則に適用することにより前記提示パターンを構成する前記パターン要素を発生するパターンシード値である、請求項1に記載のユーザ認証システム。
  4.  前記検証コード生成手段は、いずれかの2つ以上の前記ユーザIDに対して等しい前記検証コードが存在する場合は、等しい前記検証コードが存在しなくなるまで、前記提示パターン決定情報発生手段によって新しい前記提示パターン決定情報を発生させ、それに基づいてそれぞれの前記ユーザIDに対して前記検証コードを生成することを反復する、請求項1から3のいずれか1項に記載のユーザ認証システム。
  5.  前記認証用文字列送信手段は、入力された前記認証用文字列を記憶するとともに、ハッシュ関数でハッシュ化して前記認証サーバに送信するものであり、
     前記ユーザ認証手段は、受信したハッシュ化された前記認証用文字列と、前記ユーザID毎に生成された前記検証コードを前記ハッシュ関数でハッシュ化したものとを比較し、受信したハッシュ化された前記認証用文字列に等しいハッシュ化された前記検証コードが存在する場合に、その検証コードに対応する前記ユーザID埋込位置を前記認証要求クライアントに送信して前記認証用文字列の中の前記ユーザIDの問い合わせを行い、前記問い合わせで得られた前記ユーザIDと前記検証コードに対応する前記ユーザIDが等しい場合に前記ユーザIDの認証を成功させるものであることを特徴とする、請求項4に記載のユーザ認証システム。
  6.  所定パターンに配列した複数のパターン要素を認証を受けるユーザに提示パターンとして提示したときの特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを前記ユーザのパスワードとし、前記ワンタイムパスワード内の所定の埋込位置にユーザIDを埋め込んだ認証用文字列に基づいて前記ユーザの認証を行う、認証サーバと認証要求クライアントによって実行されるユーザ認証方法であって、
     前記認証サーバが、
     それぞれの前記ユーザID毎に、前記ユーザのユーザIDと、前記ユーザのワンタイムパスワード導出ルールと、前記ユーザIDを前記ワンタイムパスワード内に埋め込む埋込位置を識別するユーザID埋込位置とをお互いに関連付けてあらかじめ記憶するステップと、
     前記提示パターンを決定する提示パターン決定情報を所定の発生規則により発生するステップと、
     それぞれの前記ユーザID毎に、前記提示パターン決定情報に基づいて決定される前記提示パターンを構成する前記パターン要素に前記ユーザIDに関連付けられた前記ワンタイムパスワード導出ルールを適用した結果に対して、前記ユーザIDを前記ユーザID埋込位置に基づいて埋め込んだ検証コードを生成するステップと、
     発生させられた前記提示パターン決定情報を、前記認証を受けるユーザの前記認証要求クライアントに送信するステップと、
     を有し、
     前記認証要求クライアントが、
     前記認証サーバから送信された前記提示パターン決定情報を受信するステップと、
     受信した前記提示パターン決定情報に基づいて前記提示パターンを構成するパターン要素を決定するステップと、
     決定されたそれぞれの前記パターン要素を前記所定パターンに配列して提示パターンを生成し、それを画面に表示させるステップと、
     前記提示パターンに含まれる前記パターン要素に前記ワンタイムパスワード導出ルールを適用した結果であるワンタイムパスワードに対して、前記ユーザIDを前記ユーザID埋込位置に埋め込んだ認証用文字列の入力を前記認証を受けるユーザから受け付けるステップと、
     入力された前記認証用文字列を前記認証サーバに送信するステップと、
     を有し、
     前記認証サーバが、
     前記認証用文字列を前記認証要求クライアントから受信するステップと、
     受信した前記認証用文字列と前記ユーザID毎に生成された前記検証コードとを比較し、受信した前記認証用文字列に等しい前記検証コードが存在する場合に、その検証コードに対応する前記ユーザIDの認証を成功させるステップと、
    を有することを特徴とするユーザ認証方法。
  7.  前記提示パターン決定情報は、前記提示パターンを構成する前記パターン要素である、請求項6に記載のユーザ認証方法。
  8.  前記提示パターン決定情報は、所定のパターン要素列生成規則に適用することにより前記提示パターンを構成する前記パターン要素を発生するパターンシード値である、請求項6に記載のユーザ認証方法。
  9.  前記検証コードを生成するステップは、いずれかの2つ以上の前記ユーザIDに対して等しい前記検証コードが存在する場合は、等しい前記検証コードが存在しなくなるまで、前記提示パターン決定情報を発生するステップによって新しい前記提示パターン決定情報を発生させ、それに基づいてそれぞれの前記ユーザIDに対して前記検証コードを生成することを反復する、請求項6から8のいずれか1項に記載のユーザ認証方法。
  10.  入力された前記認証用文字列を前記認証サーバに送信する前記ステップは、入力された前記認証用文字列を記憶するとともに、ハッシュ関数でハッシュ化して前記認証サーバに送信することを含み、
     受信した前記認証用文字列と前記ユーザID毎に生成された前記検証コードとを比較し、受信した前記認証用文字列に等しい前記検証コードが存在する場合に、その検証コードに対応する前記ユーザIDの認証を成功させる前記ステップは、受信したハッシュ化された前記認証用文字列と、前記ユーザID毎に生成された前記検証コードを前記ハッシュ関数でハッシュ化したものとを比較し、受信したハッシュ化された前記認証用文字列に等しいハッシュ化された前記検証コードが存在する場合に、その検証コードに対応する前記ユーザID埋込位置及び前記ユーザIDの文字列の長さを前記認証要求クライアントに送信して前記認証用文字列の中の前記ユーザIDの問い合わせを行い、前記問い合わせで得られた前記ユーザIDと前記検証コードに対応する前記ユーザIDが等しい場合に前記ユーザIDの認証を成功させることを含む、ことを特徴とする、請求項9に記載のユーザ認証方法。
  11.  所定パターンに配列した複数のパターン要素を認証を受けるユーザに提示パターンとして提示したときの特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを前記ユーザのパスワードとし、前記ワンタイムパスワード内の所定の埋込位置にユーザIDを埋め込んだ認証用文字列に基づいて前記ユーザの認証を行う、認証要求クライアントに接続された認証サーバであって、
     それぞれの前記ユーザID毎に、前記ユーザのユーザIDと、前記ユーザのワンタイムパスワード導出ルールと、前記ユーザIDを前記ワンタイムパスワード内に埋め込む埋込位置を識別するユーザID埋込位置とをお互いに関連付けてあらかじめ記憶するパスワード記憶部と、
     前記提示パターンを決定する提示パターン決定情報を所定の発生規則により発生する提示パターン決定情報発生手段と、
     それぞれの前記ユーザID毎に、前記提示パターン決定情報に基づいて決定される前記提示パターンを構成する前記パターン要素に前記ユーザIDに関連付けられた前記ワンタイムパスワード導出ルールを適用した結果に対して、前記ユーザIDを前記ユーザID埋込位置に基づいて埋め込んだ検証コードを生成する検証コード生成手段と、
     発生させられた前記提示パターン決定情報を、前記認証を受けるユーザの前記認証要求クライアントに送信する提示パターン決定情報送信手段と、
     前記認証要求クライアントから送信した、前記提示パターン決定情報に基づいて決定された前記提示パターンに含まれるパターン要素に前記ワンタイムパスワード導出ルールを適用した結果であるワンタイムパスワードに対して、前記ユーザIDを前記ユーザID埋込位置に埋め込んだ認証用文字列を受信する認証用文字列受信手段と、
     受信した前記認証用文字列と前記ユーザID毎に生成された前記検証コードとを比較し、受信した前記認証用文字列に等しい前記検証コードが存在する場合に、その検証コードに対応する前記ユーザIDの認証を成功させるユーザ認証手段と、
    を有することを特徴とする認証サーバ。
  12.  所定パターンに配列した複数のパターン要素を認証を受けるユーザに提示パターンとして提示したときの特定の位置のパターン要素に対して適用することによりワンタイムパスワードを生成するためのワンタイムパスワード導出ルールを前記ユーザのパスワードとし、前記ワンタイムパスワード内の所定の埋込位置にユーザIDを埋め込んだ認証用文字列に基づいて前記ユーザの認証を行う、認証要求クライアントに接続された認証サーバによって実行されるユーザ認証方法であって、
     それぞれの前記ユーザID毎に、前記ユーザのユーザIDと、前記ユーザのワンタイムパスワード導出ルールと、前記ユーザIDを前記ワンタイムパスワード内に埋め込む埋込位置を識別するユーザID埋込位置とをお互いに関連付けてあらかじめ記憶するステップと、
     前記提示パターンを決定する提示パターン決定情報を所定の発生規則により発生するステップと、
     それぞれの前記ユーザID毎に、前記提示パターン決定情報に基づいて決定される前記提示パターンを構成する前記パターン要素に前記ユーザIDに関連付けられた前記ワンタイムパスワード導出ルールを適用した結果に対して、前記ユーザIDを前記ユーザID埋込位置に基づいて埋め込んだ検証コードを生成するステップと、
     発生させられた前記提示パターン決定情報を、前記認証を受けるユーザの前記認証要求クライアントに送信するステップと、
     前記認証要求クライアントから送信した、前記提示パターン決定情報に基づいて決定された前記提示パターンに含まれるパターン要素に前記ワンタイムパスワード導出ルールを適用した結果であるワンタイムパスワードに対して、前記ユーザIDを前記ユーザID埋込位置に埋め込んだ認証用文字列を受信するステップと、
     受信した前記認証用文字列と前記ユーザID毎に生成された前記検証コードとを比較し、受信した前記認証用文字列に等しい前記検証コードが存在する場合に、その検証コードに対応する前記ユーザIDの認証を成功させるステップと、
    を有することを特徴とするユーザ認証方法。
PCT/JP2020/039694 2019-11-28 2020-10-22 ユーザ認証システム、ユーザ認証サーバ、およびユーザ認証方法 WO2021106445A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202080006346.6A CN113196263B (zh) 2019-11-28 2020-10-22 用户认证系统、用户认证服务器及用户认证方法
EP20861998.1A EP3855325A4 (en) 2019-11-28 2020-10-22 USER AUTHENTICATION SYSTEM, USER AUTHENTICATION SERVER AND USER AUTHENTICATION METHOD
SG11202104640RA SG11202104640RA (en) 2019-11-28 2020-10-22 User authentication system, user authentication server, and user authentication method
US17/288,236 US20230216686A1 (en) 2019-11-28 2020-10-22 User authentication system, user authentication server, and user authentication method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019215185A JP6721225B1 (ja) 2019-11-28 2019-11-28 ユーザ認証システム、ユーザ認証サーバ、およびユーザ認証方法
JP2019-215185 2019-11-28

Publications (1)

Publication Number Publication Date
WO2021106445A1 true WO2021106445A1 (ja) 2021-06-03

Family

ID=71402441

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/039694 WO2021106445A1 (ja) 2019-11-28 2020-10-22 ユーザ認証システム、ユーザ認証サーバ、およびユーザ認証方法

Country Status (6)

Country Link
US (1) US20230216686A1 (ja)
EP (1) EP3855325A4 (ja)
JP (1) JP6721225B1 (ja)
CN (1) CN113196263B (ja)
SG (1) SG11202104640RA (ja)
WO (1) WO2021106445A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242558B (zh) * 2022-09-22 2022-12-09 城云科技(中国)有限公司 Api接口安全加密方法和认证方法及装置、可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001358683A (ja) * 2000-06-12 2001-12-26 Nippon Telegr & Teleph Corp <Ntt> 利用者識別方法,放送受信装置および利用者識別のためのプログラム記録媒体
JP2007264839A (ja) 2006-03-27 2007-10-11 Cse:Kk ユーザ認証システム、およびその方法
JP2008097170A (ja) * 2006-10-10 2008-04-24 Fuji Xerox Co Ltd 暗号化機能付き処理装置、暗号化装置、および暗号化機能付き処理プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8224887B2 (en) * 2003-03-26 2012-07-17 Authenticatid, Llc System, method and computer program product for authenticating a client
US8041954B2 (en) * 2006-12-07 2011-10-18 Paul Plesman Method and system for providing a secure login solution using one-time passwords
EP2626807B8 (en) * 2010-10-05 2018-02-07 CSE Co., Ltd. Two- factor user authentication system, and method therefor
JP5985894B2 (ja) * 2012-06-06 2016-09-06 株式会社東海理化電機製作所 電子キー登録方法
WO2017115427A1 (ja) * 2015-12-28 2017-07-06 パスロジ株式会社 ユーザ認証方法及びかかる方法を実現するためのシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001358683A (ja) * 2000-06-12 2001-12-26 Nippon Telegr & Teleph Corp <Ntt> 利用者識別方法,放送受信装置および利用者識別のためのプログラム記録媒体
JP2007264839A (ja) 2006-03-27 2007-10-11 Cse:Kk ユーザ認証システム、およびその方法
JP2008097170A (ja) * 2006-10-10 2008-04-24 Fuji Xerox Co Ltd 暗号化機能付き処理装置、暗号化装置、および暗号化機能付き処理プログラム

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
CN113196263A (zh) 2021-07-30
SG11202104640RA (en) 2021-07-29
JP2021086413A (ja) 2021-06-03
CN113196263B (zh) 2022-07-01
EP3855325A1 (en) 2021-07-28
EP3855325A4 (en) 2022-05-04
US20230216686A1 (en) 2023-07-06
JP6721225B1 (ja) 2020-07-08

Similar Documents

Publication Publication Date Title
JP4713694B1 (ja) 二要素ユーザ認証システム、およびその方法
JP4713693B1 (ja) オフライン二要素ユーザ認証システム、その方法、およびそのプログラム
JP3996939B2 (ja) オフラインユーザ認証システム、その方法、およびそのプログラム
JP3939736B1 (ja) ユーザ認証システム、およびその方法
JP4960883B2 (ja) 認証デバイスおよび/または方法
US20140041005A1 (en) Method and system of login authentication
EP2645338A1 (en) System and method for secure voting
US10326758B2 (en) Service provision system, information processing system, information processing apparatus, and service provision method
US20210234858A1 (en) Authentication system, authentication method and authentication apparatus
JP4960738B2 (ja) 認証システム、認証方法および認証プログラム
JP2011128771A (ja) 情報処理装置、情報処理方法および情報処理プログラム
WO2021106445A1 (ja) ユーザ認証システム、ユーザ認証サーバ、およびユーザ認証方法
JP5602054B2 (ja) オフライン二要素ユーザ認証システム、その方法、およびそのプログラム
JP2022113037A (ja) 多要素認証機能を備えた画像形成装置
JP2007249344A (ja) ユーザ認証システムおよび方法
JP5602055B2 (ja) 二要素ユーザ認証システム、およびその方法
JP4882463B2 (ja) ユーザ認証システムおよび方法
JP2005078371A (ja) 情報処理サーバ及び情報処理方法
JP7200776B2 (ja) 情報処理システム及びプログラム
JP6315080B2 (ja) 認証装置、認証システム及びプログラム
JP7476738B2 (ja) 情報処理装置及び情報処理プログラム
JP2022087192A (ja) 認証システムおよびその方法、並びにそのプログラム
JP2023030785A (ja) 多要素認証機能を備えたモバイル端末、制御方法、およびそのプログラム
JP2005275894A (ja) パスワード認証装置及びパスワード認証プログラム
JP2005078270A (ja) 個人認証システム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2020861998

Country of ref document: EP

Effective date: 20210318

NENP Non-entry into the national phase

Ref country code: DE