WO2019188251A1 - 認証システム、認証装置、被認証装置、認証方法、被認証方法、およびプログラム - Google Patents
認証システム、認証装置、被認証装置、認証方法、被認証方法、およびプログラム Download PDFInfo
- Publication number
- WO2019188251A1 WO2019188251A1 PCT/JP2019/009992 JP2019009992W WO2019188251A1 WO 2019188251 A1 WO2019188251 A1 WO 2019188251A1 JP 2019009992 W JP2019009992 W JP 2019009992W WO 2019188251 A1 WO2019188251 A1 WO 2019188251A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- authentication
- unit
- authentication information
- data
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Definitions
- the present invention relates to an authentication device for authenticating a device to be authenticated.
- the authentication method SAS-2 (Simple Secure password authentication protocol ver.2) is an example of a one-time password authentication method, and the authentication device authenticates the device to be authenticated by the following procedure (for example, non-authentication) Patent Document 1).
- the user identifier is omitted from the algorithm described in Non-Patent Document 1, and the one-way conversion function is simplified to one type.
- the symbol “ ⁇ ” used in the following description is assigned to the left side of the right side, the symbol “S” is a password secretly held by the user, the symbol “XOR” is an exclusive OR operation, and the symbol “n” is The number of times of authentication, the symbol “N n ” indicates a random number (n is a natural number of 1 or more, and is used for identifying the random number).
- the symbol “H” indicates a one-way conversion function.
- the one-way conversion function may be called a one-way function.
- the one-way conversion function is a function that can be easily calculated, but the inverse function is very difficult to calculate.
- the one-way conversion function is, for example, a cryptographic hash function, but the type thereof is not limited.
- FIG. 14 is a flowchart showing the procedure of the initial registration process of the device to be authenticated according to the prior art. It is assumed that the device to be authenticated holds a secret password S in advance.
- the prover generates a random number N 1, accumulates the recording medium (step S1101). Then, using the random number N 1 and the secretly held password S, the device to be authenticated calculates and stores initial authentication information A 1 shown in Equation 1 below (step S1102).
- the authentication device sends the A 1 to the prover (step S1103).
- the device to be authenticated sends A 1 to the device to be authenticated by a secure means.
- the safe means is, for example, transmission of the information by a dedicated line, sending by mail of a storage medium storing the information, or writing the information in a device that becomes an authenticator in advance at the time of factory shipment, etc. It is.
- the authentication device keep the initial authentication information A 1 which is sent from the prover in step S1103 to the recording medium (step S1104).
- the above is the procedure of the initial registration work of the device to be authenticated.
- the device to be authenticated stores the password S and the random number N n in a recording medium.
- the prover is from a random number N n are stored to calculate the A n shown in Equation 2 below (step S1201).
- the device to be authenticated generates and stores a new random number N n + 1 (step S1202). Then, the device to be authenticated generates A n + 1 by the following Equation 3 using the N n + 1 .
- the authentication device by using the the A n + 1 and A n, to calculate the data ⁇ by Equation 4 below.
- the prover uses the the A n + 1 and A n, to calculate the data ⁇ by Equation 5 below (step S1203).
- the device to be authenticated sends the calculated ⁇ and ⁇ to the authentication device (step S1204).
- An is the current authentication information used for the current authentication process
- An + 1 is the next authentication information used for the next authentication process.
- the authentication device receives ⁇ and ⁇ from the device to be authenticated. Then, the authentication device, by using the the alpha receiving beta, calculating run "H ( ⁇ XOR A n) XOR ⁇ ", the operation result to verify if it matches the current authentication information A n ( Step S1205).
- the authentication device determines that authentication of the device to be authenticated or the user's qualification has been established, and stores An + 1 as authentication information used for the next (n + 1) authentication in the recording medium (step S1206).
- the authentication device determines that the authentication has not been established, and performs processing such as sending an error message (step S1207). And the process by this flowchart is complete
- the authentication device authenticates the device to be authenticated or the user who has requested authentication.
- the one-time password authentication method When the one-time password authentication method is used in an upper layer, the authentication needs to be performed only once at the beginning of the process, so that speed performance is not so necessary.
- the case where the one-time password authentication method is used in the upper layer is, for example, a case where the one-time password authentication method is used for authentication at the time of login to the cloud service system or the application providing service system.
- the lower layer for cryptographic communication, when using it as a key distribution means such as generating an encryption key based on authentication information, if a relatively large amount of ciphertext is generated using the set key, key distribution is performed.
- the authentication method used in the above method does not require so much speed performance. Note that “high speed performance” in the authentication method is a feature that is almost equivalent to “low processing load”.
- SAS-2 authentication method described in the background art above is a method having the highest speed performance in the currently known technology in the one-time password authentication method.
- the speed performance of the one-time password authentication method is determined by the operation used, the one-way conversion function is usually realized by combining many operations such as exclusive OR and addition.
- the processing load of the conversion function is large. Therefore, the load of each operation of exclusive OR and addition can be almost ignored as compared with the load of the operation by the one-way conversion function. Therefore, the speed performance of the one-time password authentication method can be evaluated by the number of application of the one-way conversion function.
- the number of times that the one-way conversion function “H” is applied in the device to be authenticated is three (see steps S1201 and S1203).
- the authentication apparatus can be a number of applications of the one-way conversion function twice.
- the number of applications of the one-way conversion function in the authentication device is one (see step S1205). That is, the number of applications of the one-way conversion function of the SAS-2 authentication method is 3 times for the device to be authenticated and 1 time for the authentication device. If the previously calculated current authentication information is stored, the number of times the unidirectional conversion function is applied is 2 for the authenticated device and 1 for the authentication device.
- At least one unidirectional conversion function needs to be applied to both the authentication device and the device to be authenticated, and a terminal with low processing capability is used in accordance with the progress of the IoT technology or the like.
- the speed of the one-time password authentication process is not sufficient, and the processing load may be too large.
- the present invention realizes a safe one-time password authentication method that can increase the processing speed and reduce the processing load as compared with the conventional SAS-2 authentication method that has been said to be extremely fast. Accordingly, it is an object to realize addition of a security function to a wider technical field such as IoT.
- An authentication system is an authentication system comprising an authenticated device that is an authenticated device and an authentication device that is a device that authenticates the authenticated device.
- First data in which first data ( ⁇ ) acquired by using an exclusive OR operation (A n XOR A n + 1 ) of authentication information (A n ) and n + 1 th authentication information (A n + 1 ) is stored
- a storage unit a first transmission unit that transmits the first data ( ⁇ ) to the device to be authenticated; first data ( ⁇ ) and the nth authentication information (A n ) transmitted by the first transmission unit;
- the first operation is performed using the ( n + 1 ) th authentication information (A n + 1 ) acquired using the exclusive OR operation ( ⁇ XOR A n ) and the nth authentication information (A n ).
- the first receiving unit that receives the acquired second data ( ⁇ ) from the device to be authenticated It said first transmission section is turned from which the first data transmitted (alpha) is acquired, the first operation using the authentication information of the n (A n) and (n + 1) th authentication information (A n + 1) And the first authentication unit that determines whether or not the second data ( ⁇ ) received by the first receiving unit has a predetermined relationship, and the determination result of the first authentication unit is used.
- a first authentication result processing unit that performs processing, wherein the device to be authenticated includes a second authentication information storage unit that stores nth authentication information (A n ), and the first data ( ⁇ )
- An n + 1-th authentication is performed by performing an exclusive OR operation ( ⁇ XOR A n ) of the second reception unit received from the authentication device, the first data ( ⁇ ), and the n-th authentication information (A n ).
- a second exclusive OR part for acquiring information (A n + 1 ) and the n + 1th authentication acquired by the second exclusive OR part Using the information (A n + 1 ) and the nth authentication information (A n ), the second calculation unit that performs the first calculation and obtains the second data ( ⁇ ), and the second data ( ⁇ ) To the authentication device.
- the authentication system further includes a first symbol storage unit in which the symbol n is stored in the authentication device, as compared with the first invention.
- the second receiving unit receives the n and the first data ( ⁇ ) from the authentication device, and the second exclusive logic
- the sum unit performs an exclusive OR operation ( ⁇ XOR A n ) of the first data ( ⁇ ) and the n-th authentication information (A n ) corresponding to n received by the second receiving unit.
- the authentication device in contrast to the first or second aspect of the invention, includes a first password storage unit in which a password (S) is stored, an n + 1th random number (N n + 1). ) And a first random number generator for generating an operation result (S XOR N n + 1 ) of the password (S) and the n + 1-th random number (N n + 1 ) An exclusive OR part, and a first conversion part that performs a one-way conversion function H on the operation result obtained by the first exclusive OR part and obtains ( n + 1 ) th authentication information (A n + 1 ).
- the first exclusive OR unit further includes an exclusive OR of the nth authentication information (A n ) and the ( n + 1 ) th authentication information (A n + 1 ) acquired by the first conversion unit. calculation performed (a n XOR a n + 1 ), collected by a first data (alpha) And, wherein the first data to which the first transmission unit transmits (alpha), the a first exclusive first data sum unit obtains (alpha), the authentication information of the n and (A n)
- the first calculation unit further includes a first calculation unit that performs the first calculation using the n + 1-th authentication information (A n + 1 ) and obtains a first calculation result, and the first authentication unit includes the first calculation unit. Is an authentication system that determines whether or not the first calculation result acquired by the first receiving unit and the second data ( ⁇ ) received by the first receiving unit have a predetermined relationship.
- the first random number generation unit generates a first random number (N 1 ), and the first exclusive OR unit is An exclusive OR operation (S XOR N 1 ) of the password (S) and the first random number (N 1 ) is performed to obtain a first operation result, and the first converter
- the first operation result obtained by the exclusive OR part is subjected to a one-way conversion function H to obtain first authentication information (A 1 ), and the first transmission part is configured to obtain the first authentication information.
- (A 1 ) is transmitted to the device to be authenticated, and the second receiving unit is an authentication system constituting an authentication system that receives the first authentication information (A 1 ).
- the authentication system of the fifth aspect of the present invention provides the authentication apparatus according to any one of the first to fourth aspects, wherein the first data ( ⁇ ) stored in the first data storage unit is: Using the n + 1-th authentication information (A n + 1 ), the n-th authentication information (A n ), and the n-th secret information (M n ), an exclusive OR operation (A n + 1 XOR An XOR M n ), and the second exclusive OR unit performs the first data ( ⁇ ), the n-th authentication information (A n ), and the n-th secret information (M n).
- the first data ( ⁇ ) stored in the first data storage unit is: Using the n + 1-th authentication information (A n + 1 ), the n-th authentication information (A n ), and the n-th secret information (M n ), an exclusive OR operation (A n + 1 XOR An XOR M n ), and the second exclusive OR unit performs the first data ( ⁇ ), the n-th authentication
- the one-time password authentication process can be fast and robust.
- the first calculation unit in any one of the first to fifth aspects, includes the nth authentication information (A n ) and the n + 1th authentication information (A n + 1 ) and the n-th secret information (M n ), the first calculation is performed and the first calculation result is acquired.
- the second calculation unit is the n + 1th acquired by the second exclusive OR unit. Using the authentication information (A n + 1 ), the n-th authentication information (A n ), and the n-th secret information (M n ), the first calculation is performed to obtain the second data ( ⁇ )
- the authentication system provides a method for generating first confidential information (M 1 ), which is secret information used for authentication, in the authentication apparatus, in the fifth or sixth aspect.
- a first secret information generation unit wherein the first transmission unit transmits first authentication information (A 1 ) and the first secret information (M 1 ) to the device to be authenticated;
- the receiving unit is an authentication system that receives the first authentication information (A 1 ) and the first confidential information (M 1 ).
- the one-time password authentication process can be fast and robust.
- the authentication system according to the eighth aspect of the present invention is the authentication system according to any one of the fifth to seventh aspects, wherein, in the authentication apparatus, the n + 1th authentication information (A n + 1 ) and the nth authentication information (A n). ) And the n-th secret information (M n ), an exclusive OR operation (A n + 1 XOR A n XOR M n ) is performed to obtain first data ( ⁇ ).
- the first transmission unit transmits the first data ( ⁇ ) acquired by the first exclusive OR unit to the authentication target device, and the n-th authentication information (A n ) and the first
- the authentication system further includes a first calculation unit that performs a second calculation using n secret information (M n ) and obtains ( n + 1 ) th secret information (M n + 1 ).
- the authentication apparatus can perform one-time password authentication processing at high speed.
- FIG. Block diagram of authentication system A Block diagram of the device 2 to be authenticated constituting the authentication system A
- a flowchart showing an example of an initial registration process in the authentication system A The flowchart which shows the example of the authentication process at the time of the nth authentication in the authentication system A Block diagram of authentication system B in the second embodiment
- the flowchart which shows the example of the initial registration process of the authentication system B The flowchart which shows the example of the authentication process at the time of the nth authentication in the authentication system B Block diagram of authentication system C in the third embodiment Block diagram of the device to be authenticated 6 constituting the authentication system C
- the flowchart which shows the example of the authentication process at the time of the nth authentication in the authentication system C Overview of the computer system in the above embodiment Block diagram of the computer system Flow chart showing an example of initial registration processing in the prior art
- Emodiment 1 an authentication system that performs authentication processing at high speed in order to reduce the number of executions of the one-way conversion function will be described.
- an authentication system will be described in which the number of executions of the one-way conversion function in the device to be authenticated during authentication processing is 0, so that the load on the device to be authenticated can be extremely small.
- FIG. 1 is a conceptual diagram of the authentication system A in the present embodiment.
- the authentication system A includes an authentication device 1 and one or more devices to be authenticated 2.
- the authentication device 1 and the one or more devices to be authenticated 2 can communicate with each other via a network such as the Internet.
- the authentication device 1 is a device that authenticates the device 2 to be authenticated.
- the authentication device 1 is an information processing device that can communicate with the device to be authenticated 2 and is, for example, a so-called cloud server, ASP server, or the like, but the type thereof is not limited.
- the device to be authenticated 2 is a device to be authenticated.
- the device to be authenticated 2 may be any device such as a so-called personal computer, tablet terminal, smartphone, mobile phone, television, automobile, etc., and the type thereof is not limited. Needless to say, the type of communication means and network between the authentication device 1 and one or more devices to be authenticated 2 are not limited.
- FIG. 2 is a block diagram of the authentication system A in the present embodiment.
- FIG. 3 is a block diagram of the device to be authenticated 2 constituting the authentication system A in the present embodiment.
- the authentication system A includes an authentication device 1, 1 or 2 or more devices to be authenticated 2. Note that the authentication system A may include two or more authentication devices 1.
- the authentication device 1 includes a first storage unit 11, a first processing unit 12, a first transmission unit 13, and a first reception unit 14.
- the first storage unit 11 includes a first password storage unit 111, a first random number storage unit 112, a first authentication information storage unit 113, a first secret information storage unit 114, a first symbol storage unit 115, and a first data storage unit.
- the first processing unit 12 includes a first random number generation unit 121, a first exclusive OR unit 122, a first conversion unit 123, a first secret information generation unit 124, a first calculation unit 125, a first authentication unit 126, and A first authentication result processing unit 127 is provided.
- the authenticated device 2 includes a second storage unit 21, a second reception unit 22, a second processing unit 23, and a second transmission unit 24.
- the second storage unit 21 includes a second authentication information storage unit 211 and a second secret information storage unit 212.
- the second processing unit 23 includes a second exclusive OR unit 231 and a second calculation unit 232.
- the various information includes, for example, a password described later, a random number described later, authentication information described later, confidential information described later, a symbol described later, first data described later, and the like.
- the first password storage unit 111 stores a password (S).
- the password (S) is arbitrary information and may be anything. S is, for example, “ABC”, “125XYZ”, “Aiueo Q!”, Or the like.
- the password (S) may be used as an identifier of the device 2 to be authenticated, for example.
- the first random number storage unit 112 stores the nth random number (N n ). Note that n is a natural number of 1 or more.
- the first random number storage unit 112 may store a large number of random numbers such as a first random number (N 1 ), a second random number (N 2 ),... An nth random number (N n ). Only the nth random number (N n ) which is the latest random number may be stored.
- the authentication device 1 normally generates the nth random number (N n ) in the first random number storage unit 112, but one or two or more random numbers may be stored in the first random number storage unit 112 in advance.
- the first authentication information storage unit 113 stores nth authentication information (A n ).
- the authentication information is information used for authentication, and is information obtained as a result of applying a one-way conversion function described later.
- the first authentication information storage unit 113 stores a large number of authentication information such as first authentication information (A 1 ), second authentication information (A 2 ),... N-th authentication information (A n ).
- first authentication information A 1
- second authentication information A 2
- N-th authentication information A n
- only the authentication information of the nth authentication information (A n ) and the ( n + 1 ) th authentication information (A n + 1 ) used in the nth authentication may be stored.
- the n-th authentication information (A n ) in the first authentication information storage unit 113 is normally generated by the authentication device 1, but the first authentication information storage unit 113 has one or more authentication information (A 1 , A 2). ,..., A n ) may be stored in advance.
- the first secret information storage unit 114 stores n-th secret information (M n ).
- the secret information is secret information used for authentication. There are no restrictions on the content or type of confidential information.
- the first confidential information storage unit 114 stores a large number of confidential information such as first confidential information (M 1 ), second confidential information (M 2 ),... Nth confidential information (M n ).
- M 1 first confidential information
- M 2 second confidential information
- M n Nth confidential information
- only the secret information of the n-th secret information (M n ) and the ( n + 1 ) -th secret information (M n + 1 ) used in the n-th authentication may be stored.
- the n-th confidential information (M n ) of the first confidential information storage unit 114 is normally generated by the authentication device 1, but the first confidential information storage unit 114 has one or more confidential information (M 1 , M 2). ,..., M n ) may be stored in advance.
- the first symbol storage unit 115 stores the nth symbol.
- the symbol is preferably information having order.
- the symbol is, for example, one or more natural numbers (1, 2,..., N).
- the symbol is, for example, a character string composed of one or more alphabets.
- N in the n- th random number (N n ), the n-th authentication information (A n ), and the n-th secret information (M n ) is a symbol.
- the authentication apparatus 1 normally generates the nth symbol in the first symbol storage unit 115, but one or more symbols may be stored in the first symbol storage unit 115 in advance. Note that the generation of a symbol in the authentication device 1 is, for example, an increment of a numerical value.
- the first data storage unit 116 stores the first data ( ⁇ ).
- the first data ( ⁇ ) is obtained by performing an exclusive OR operation (A n XOR A n + 1 ) of the n-th authentication information (A n ) and the n + 1-th authentication information (A n + 1 ). is there.
- the first data ( ⁇ ) is obtained by calculating an exclusive OR of the nth authentication information (A n ), the ( n + 1 ) th authentication information (A n + 1 ), and the nth secret information (M n ) (A n).
- XOR A n + 1 XOR M n ) is preferably obtained.
- Exclusive-OR operation between the A n and A n + 1 and M n is the exclusive-OR operation using the A n and A n + 1.
- This calculation is normally performed by the authentication device 1, but may be performed by another device.
- the first data ( ⁇ ) in the first data storage unit 116 is normally generated by the authentication device 1, but may be stored in advance.
- the first data storage unit 116 may store one or more first data ( ⁇ ) in advance.
- Each of the two or more pieces of first data ( ⁇ ) is data in which n of the exclusive OR operation “(A n XOR A n + 1 ) or (A n XOR A n + 1 XOR M n )” is different.
- the n pieces of first data ( ⁇ ) are, for example, data obtained as a result of performing an exclusive OR operation while shifting the subscript n by 1 from 1 to n.
- the first processing unit 12 performs various processes.
- the various processes include, for example, a first random number generation unit 121, a first exclusive OR unit 122, a first conversion unit 123, a first secret information generation unit 124, a first calculation unit 125, a first authentication unit 126, This is processing performed by the first authentication result processing unit 127.
- the first random number generation unit 121 generates an ( n + 1 ) th random number (N n + 1 ) and stores at least temporarily in the first random number storage unit 112.
- the first random number generation unit 121 generates a first random number (N 1 ) and accumulates at least temporarily in the first random number storage unit 112.
- the first random number generation unit 121 generates an ( n + 1 ) th random number (N n + 1 ) and at least temporarily stores it in the first random number storage unit 112.
- the timing at which the first random number generation unit 121 generates a random number does not matter.
- the first random number generation unit 121 generates a random number in response to an instruction from the user.
- the first random number generation unit 121 generates a random number when an instruction is received from an external device.
- the first random number generation unit 121 generates a random number when a predetermined time comes.
- the first exclusive OR unit 122 performs an exclusive OR operation on two or more pieces of information, and obtains an operation result.
- the first exclusive OR unit 122 performs, for example, an exclusive OR operation (S XOR N 1 ) of the password (S) and the first random number (N 1 ), and acquires the operation result.
- the first exclusive OR unit 122 performs, for example, an exclusive OR operation (S XOR N n + 1 ) of the password (S) and the ( n + 1 ) th random number (N n + 1 ), and acquires the operation result.
- the first exclusive OR unit 122 uses, for example, the ( n + 1 ) th authentication information (A n + 1 ) and the nth authentication information (A n ) to perform an exclusive OR operation (A n + 1 XOR A n). ) To obtain the first data ( ⁇ ).
- the first exclusive OR unit 122 uses, for example, the ( n + 1 ) th authentication information (A n + 1 ), the nth authentication information (A n ), and the nth secret information (M n ) to perform exclusive An OR operation (A n + 1 XOR A n XOR M n ) is performed to obtain first data ( ⁇ ).
- the first exclusive OR unit 122 performs, for example, an operation using the ( n + 1 ) th authentication information (A n + 1 ), the nth authentication information (A n ), and the nth secret information (M n ). (A n + 1 XOR A n ) + M n )) to obtain the first data ( ⁇ ).
- “+” may be another calculation (for example, “ ⁇ ”, “ ⁇ ”, etc.). That is, the first exclusive OR unit 122 may execute operations including operations other than exclusive OR.
- the first conversion unit 123 performs a one-way conversion function H on the calculation result acquired by the first exclusive OR unit 122, acquires first authentication information (A 1 ), and stores the first authentication information. Stored in the unit 113.
- the one-way conversion function H is, for example, a hash function, but the type thereof is not limited.
- the calculation result here is the result of the exclusive OR operation (S XOR N 1 ) of the password (S) and the first random number (N 1 ).
- the first conversion unit 123 operation result subjected to one-way conversion function H with respect to, the (n + 1) of the authentication information (A n + 1) obtains, stores the (n + 1) th authentication information (A n + 1) first authentication information Stored in the unit 113.
- applying the unidirectional conversion function H may be referred to as executing the unidirectional conversion function.
- the accumulation may be overwriting the n + 1th authentication information (A n + 1 ) with the nth authentication information (A n ) or may be additionally written.
- the calculation result used by the first conversion unit 123 is information acquired by the first exclusive OR unit 122, for example.
- the first secret information generation unit 124 generates first secret information (M 1 ) that is secret information used for authentication, and sends the first secret information (M 1 ) to the first secret information storage unit 114. , At least temporarily accumulate.
- the first secret information (M 1 ) is arbitrary information and may be anything. It is preferable that the number of bits of the password (S), the random number (N), and the authentication information (A) is the same as the number of bits of the confidential information (M).
- the first confidential information generation unit 124 is no limitation on the method for generating a first encryption information (M 1).
- generation part 124 should just acquire 1st confidential information (M1).
- the first secret information generation unit 124 selects information from secret information candidates stored in the first storage unit 11.
- the first secret information generation unit 124 performs, for example, a predetermined process on previously stored original information (information that is a source for generating secret information), and acquires new secret information.
- the predetermined processing is, for example, that the original information is given as a parameter to a function stored in advance and the function is executed.
- the first calculation unit 125 performs a first calculation using the nth authentication information (A n ) and the ( n + 1 ) th authentication information (A n + 1 ), and obtains a first calculation result.
- the first calculation is, for example, sum, difference, multiplication, division, average value calculation, and the type of calculation is not limited.
- the first calculation unit 125 performs the first calculation using the nth authentication information (A n ), the n + 1th authentication information (A n + 1 ), and the nth secret information (M n ), Get one operation result.
- the first calculation unit 125 uses, for example, one or more pieces of information among n- th confidential information (M n ), n + 1-th authentication information (A n + 1 ), and n-th authentication information (A n ).
- the n + 1-th secret information (M n + 1 ) is acquired, and the n + 1-th secret information (M n + 1 ) is at least temporarily stored in the first secret information storage unit 114.
- the kind of this calculation is not ask
- M n + 1 M n + A n
- M n + 1 A n + 1 + A n + M n
- M n + 1 M n + A n + 1
- M n + 1 M n + x (x is Constant) ”.
- “+” may be another calculation.
- the first calculation unit 125 performs, for example, the second calculation using the nth authentication information (A n ) and the nth confidential information (M n ), and the ( n + 1 ) th confidential information (M n + 1 ). And the n + 1-th secret information (M n + 1 ) is at least temporarily stored in the first secret-information storage unit 114.
- the confidential information (M) Is preferably used.
- the secret information (M) may be used both when the first exclusive OR unit 122 calculates the first data ( ⁇ ) and when the first calculation unit 125 calculates the first calculation result. .
- the first authentication unit 126 determines whether or not the first calculation result and the second data ( ⁇ ) have a predetermined relationship.
- the predetermined relationship is usually coincidence.
- the predetermined relationship may be a relationship in which the first calculation result matches the data derived from the second data ( ⁇ ).
- the device 2 to be authenticated does not transmit the result of the first calculation using the ( n + 1 ) th authentication information (A n + 1 ) and the nth authentication information (A n ), but the ( n + 1 ) th authentication information (A n ).
- the second data ( ⁇ ) derived from the result of the first calculation using the authentication information (A n + 1 ) and the nth authentication information (A n ) is transmitted to the authentication device 1.
- the second data ( ⁇ ) derived from the calculation result obtained by performing the first calculation using (A n + 1 ) and (A n ) is, for example, data acquired by the function f (calculation result). .
- the first authentication unit 126 determines, for example, whether or not the first calculation result matches the second data ( ⁇ ).
- the first calculation result is obtained by performing a first calculation (for example, a sum calculation) using the nth authentication information (A n ) and the n + 1th authentication information (A n + 1 ). is there.
- the nth authentication information (A n ) and the ( n + 1 ) th authentication information (A n + 1 ) are information from which the first data ( ⁇ ) is acquired.
- the second data ( ⁇ ) is information received by the first receiving unit 14 described later.
- the first authentication unit 126 determines whether or not the first calculation result acquired by the first calculation unit 125 matches the second data ( ⁇ ) received by the first reception unit 14.
- the first calculation result may be stored in advance in the first storage unit 11.
- the first authentication result processing unit 127 performs processing using the determination result of the first authentication unit 126. For example, the first authentication result processing unit 127 transmits the determination result of the first authentication unit 126 to the device 2 to be authenticated. The first authentication result processing unit 127 permits the authenticated device 2 or the user to log in, for example, when the determination result is authentication permission. Further, the first authentication result processing unit 127 enables the device to be authenticated 2 to operate when, for example, the determination result is authentication permission. The first authentication result processing unit 127 transmits an error message to the device to be authenticated 2 when, for example, the determination result is that authentication is not permitted.
- the first transmission unit 13 transmits the first data ( ⁇ ) to the device 2 to be authenticated.
- the first transmission unit 13 transmits the symbol n and the first data ( ⁇ ) to the device 2 to be authenticated.
- the symbol n is, for example, a natural number that is incremented for each authentication.
- the first transmission unit 13 transmits the first authentication information (A 1 ) to the device to be authenticated 2.
- the first transmission unit 13 may transmit the first authentication information (A 1 ) and the first confidential information (M 1 ) to the device to be authenticated 2.
- the first receiving unit 14 receives the second data ( ⁇ ) from the device to be authenticated 2.
- the second data ( ⁇ ) is the result of the first calculation using, for example, the ( n + 1 ) th authentication information (A n + 1 ) and the nth authentication information (A n ).
- the ( n + 1 ) th authentication information (A n + 1 ) is, for example, an exclusive OR operation ( ⁇ XOR A n ) between the first data ( ⁇ ) transmitted by the first transmission unit 13 and the nth authentication information (A n ).
- the second data ( ⁇ ) is a result of calculation using, for example, the first data ( ⁇ ), the nth authentication information (A n ), and the nth secret information (M n ).
- the second data ( ⁇ ) is determined in advance by performing a first calculation using the ( n + 1 ) th authentication information (A n + 1 ) and the nth authentication information (A n ). The result of the calculation may be used.
- the first receiving unit 14 normally receives the second data ( ⁇ ) from the device to be authenticated 2 in response to the transmission of the first data ( ⁇ ) in the first transmitting unit 13.
- the trigger for starting the authentication process of the authentication device 1 does not matter. For example, upon receiving an instruction from the device to be authenticated 2, the authentication device 1 starts an authentication process. Further, for example, the authentication device 1 starts an authentication process in response to a reception unit (not shown) receiving an instruction from the user. For example, when a reception unit (not shown) receives a command from an external device, the authentication device 1 starts an authentication process. For example, when the first processing unit 12 detects that a predetermined time has come, the authentication device 1 starts an authentication process.
- Various information is stored in the second storage unit 21 constituting the device to be authenticated 2.
- the various types of information are, for example, authentication information and confidential information.
- the second authentication information storage unit 211 stores nth authentication information (A n ).
- the first authentication information (A 1 ) is usually information received from the authentication device 1.
- the second and subsequent authentication information (A 2 , A 3 ,..., A n ) is usually information generated by the device to be authenticated 2.
- the second authentication information storage unit 211 stores a large number of authentication information such as first authentication information (A 1 ), second authentication information (A 2 ),... N-th authentication information (A n ). May be.
- the second secret information storage unit 212 stores n-th secret information (M n ).
- the first confidential information (M 1 ) is usually information received from the authentication device 1.
- the second and subsequent confidential information (M 2 , M 3 ,..., M n ) is usually information generated by the device to be authenticated 2.
- the second secret information storage unit 212 stores a large number of secret information such as first secret information (M 1 ), second secret information (M 2 ),... Nth secret information (M n ).
- M 1 first secret information
- M 2 second secret information
- M n secret information
- Nth secret information M n
- only the secret information of the n-th secret information (M n ) and the ( n + 1 ) -th secret information (M n + 1 ) used in the n-th authentication may be stored.
- the second receiving unit 22 receives the first data ( ⁇ ) from the authentication device 1. For example, the second receiving unit 22 receives the symbol n and the first data ( ⁇ ) from the authentication device 1.
- the second receiving unit 22 receives the first authentication information (A 1 ), and at least temporarily accumulates the first authentication information (A 1 ) in the second authentication information storage unit 211.
- the second receiving unit 22 receives the first confidential information (M 1 ), and at least temporarily accumulates the first confidential information (M 1 ) in the second confidential information storage unit 212.
- the second processing unit 23 performs various processes.
- the various processes are processes performed by the second exclusive OR unit 231 and the second calculation unit 232, for example.
- the second exclusive OR unit 231 performs, for example, an exclusive OR operation ( ⁇ XOR A n ) using the first data ( ⁇ ) and the nth authentication information (A n ), and the (n + 1) th Authentication information (A n + 1 ) is acquired.
- the second exclusive OR unit 231 uses the first data ( ⁇ ), the nth authentication information (A n ), and the nth secret information (M n ) to calculate an exclusive OR ( ⁇ XOR A n XOR M n ) to obtain ( n + 1 ) th authentication information (A n + 1 ).
- the second computing unit 232 performs the first computation using the ( n + 1 ) th authentication information (A n + 1 ) and the nth authentication information (A n ) acquired by the second exclusive OR unit 231, Two data ( ⁇ ) is acquired.
- the first calculation is, for example, “+”, but “ ⁇ ”, “*”, etc. may be used.
- the second calculation unit 232 performs calculation using one or more pieces of information among n- th confidential information (M n ), n + 1-th authentication information (A n + 1 ), and n-th authentication information (A n ). performed to obtain the (n + 1) th secret information (M n + 1), the (n + 1) th secret information (M n + 1) in the second confidential information housed unit 212 stores at least occasionally. In addition, the kind of this calculation is not ask
- M n + 1 M n + A n
- M n + 1 A n + 1 + A n + M n
- M n + 1 M n + A n + 1
- M n + 1 M n + x (x is Constant) ”.
- “+” may be another calculation.
- the second calculation unit 232 performs, for example, the second calculation using the nth authentication information (A n ) and the nth secret information (M n ), and obtains the ( n + 1 ) th secret information (M n + 1 ). And stored in the second secret information storage unit 212.
- the second operation is, for example, sum, difference, multiplication, division, average value calculation, or the like.
- the type of the second calculation is not limited.
- the first operation and the second operation may be the same type of operation (for example, both are +) or different types of operations (for example, one is + and the other is-).
- the second calculation unit 232 performs, for example, the second calculation using the ( n + 1 ) th authentication information (A n + 1 ) and the nth secret information (M n ), and the ( n + 1 ) th secret information (M n + 1 ). May be acquired and stored in the second secret information storage unit 212.
- the type of the second calculation in such a case is not limited.
- the second transmission unit 24 transmits the second data ( ⁇ ) to the authentication device 1.
- the second data ( ⁇ ) is usually information acquired by the second calculation unit 232.
- the second storage unit 21, the second authentication information storage unit 211, and the second secret information storage unit 212 are preferably non-volatile recording media, but can also be realized by volatile recording media.
- the process in which information is stored in the first storage unit 11 or the like does not matter.
- information may be stored in the first storage unit 11 or the like via a recording medium, and information transmitted via a communication line or the like is stored in the first storage unit 11 or the like.
- information input via the input device may be stored in the first storage unit 11 or the like.
- First processing unit 12 first random number generation unit 121, first exclusive OR unit 122, first conversion unit 123, first secret information generation unit 124, first calculation unit 125, first authentication unit 126, first
- the authentication result processing unit 127, the second processing unit 23, the second exclusive OR unit 231, and the second calculation unit 232 can be usually realized by an MPU, a memory, or the like.
- the processing procedure of the first processing unit 12 or the like is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
- the first transmission unit 13 and the second transmission unit 24 are usually realized by wireless or wired communication means, but may be realized by broadcasting means.
- the first receiving unit 14 and the second receiving unit 22 are usually realized by wireless or wired communication means, but may be realized by means for receiving broadcasts.
- Step S401 The first random number generation unit 121 of the authentication device 1 generates a first random number (N 1 ) and stores it in the first random number storage unit 112.
- the first exclusive OR unit 122 calculates an exclusive OR (S XOR N 1 ) between the stored password (S) and the first random number (N 1 ) acquired in Step S401. ) To obtain the first calculation result.
- the first conversion unit 123 performs a one-way converting function H to the first operation result by the first exclusive-OR unit 122 obtains, acquires the first authentication information (A 1).
- the first confidential information generation unit 124 generates a first confidential information which is secret information to be used for authentication (M 1).
- Step S ⁇ b> 403 The first conversion unit 123 stores the acquired first authentication information (A 1 ) in the first authentication information storage unit 113.
- the first secret information generation unit 124 stores the generated first secret information (M 1 ) in the first secret information storage unit 114.
- the first transmission unit 13 transmits the acquired first authentication information (A 1 ) and first confidential information (M 1 ) to the authentication device 2 by a secure means. Here, the initial registration process of the authentication device 1 is completed.
- the second receiver 22 of (step S405) prover 2 receives the first authentication information (A 1), and accumulates the first authentication information (A 1) to the second authentication information storage unit 211 .
- the second receiving unit 22 receives the first encryption information (M 1), and accumulates the first confidential information (M 1) to the second confidential information paid unit 212.
- the initial registration process of the device to be authenticated 2 is completed.
- the second receiving unit 22 normally receives the first authentication information (A 1 ) and the first confidential information (M 1 ) together, but may receive them separately.
- the authentication device 1 stores first authentication information (A 1 ) and first confidential information (M 1 ) in advance, and the first authentication information (A 1 ). And the first secret information (M 1 ) may be transmitted to the device 2 to be authenticated. In such a case, the processing from step S401 to step S403 is not necessary.
- the authentication device 1 may transmit only the first authentication information (A 1 ) to the device to be authenticated 2.
- the authentication device 1 holds the password (S) in the first password storage unit 111 and holds the random number (N n ) in the first random number storage unit 112.
- the device to be authenticated 2 holds the n-th authentication information (A n ) in the second authentication information storage unit 211 and stores the n-th confidential information (M n ). It is assumed that the second secret information storage unit 212 holds the information.
- Step S501 The first exclusive OR unit 122 performs an exclusive OR operation (S XOR N n ) of the stored password (S) and the stored nth random number (N n ). To obtain the calculation result.
- the 1st conversion part 123 performs the one-way conversion function H with respect to the calculation result which the 1st exclusive OR part 122 acquired, and acquires nth authentication information ( An ).
- Step S ⁇ b> 502 The first random number generation unit 121 generates an ( n + 1 ) th random number (N n + 1 ) and stores it in the first random number storage unit 112.
- the first exclusive OR unit 122 performs an exclusive OR operation (S XOR N n + 1 ) of the password (S) and the ( n + 1 ) th random number (N n + 1 ), and acquires the operation result.
- the first conversion unit 123 performs a one-way conversion function H on the calculation result, and obtains ( n + 1 ) th authentication information (A n + 1 ).
- the first exclusive OR unit 122 uses the n + 1-th authentication information (A n + 1 ), the n-th authentication information (A n ), and the n-th secret information (M n ) for exclusive use.
- An OR operation (A n + 1 XOR A n XOR M n ) is performed to obtain first data ( ⁇ ).
- the first transmission unit 13 transmits the first data ( ⁇ ) acquired in step S503 to the device 2 to be authenticated by a secure means.
- the first transmission unit 13 transmits n to the device 2 to be authenticated for example, it is possible to cope with an error occurring in the past processing, which is preferable.
- the second receiving unit 22 of the device to be authenticated 2 receives the first data ( ⁇ ) from the authentication device 1. Then, the second exclusive OR unit 231 uses the first data ( ⁇ ), the nth authentication information (A n ), and the nth secret information (M n ) to calculate the exclusive OR ( ⁇ XOR A n XOR M n ) is performed, and a calculation result (usually information corresponding to the ( n + 1 ) th authentication information (A n + 1 )) is acquired. Next, the second calculation unit 232 performs the first calculation using the calculation result acquired by the second exclusive OR unit 231 and the nth authentication information (A n ), and outputs the second data ( ⁇ ) To get. The first calculation here is, for example, “sum”.
- Step S506 The second transmission unit 24 of the device to be authenticated 2 transmits the second data ( ⁇ ) acquired in Step S505 to the authentication device 1.
- Step S507 The second computing unit 232 of the device to be authenticated 2 performs the second computation using the nth authentication information (A n ) and the nth confidential information (M n ), and the (n + 1) th confidentiality is performed.
- Information (M n + 1 ) is acquired, and the ( n + 1 ) th secret information (M n + 1 ) is stored in the second secret information storage unit 212.
- the process for the n-th authentication of the device 2 to be authenticated is completed.
- Step S508 The first receiver 14 of the authentication device 1 receives the second data ( ⁇ ) from the device to be authenticated 2. And the 1st calculating part 125 performs a 1st calculation using the nth authentication information ( An ) and the n + 1th authentication information ( An + 1 ), and acquires a 1st calculation result. Next, the first authentication unit 126 determines whether or not the acquired first calculation result matches the received second data ( ⁇ ). If the first authentication unit 126 determines that they match, the process goes to step S509, and if it does not match, the process goes to step S510.
- the first calculation is, for example, a sum calculation.
- Step S509 The case where the control shifts to Step S509 is a case where the authentication is established. Then, the first conversion unit 123 accumulates the ( n + 1 ) th authentication information (A n + 1 ) acquired in step S503 in the first authentication information storage unit 113. In addition, the first calculation unit 125 performs a second calculation using the nth authentication information (A n ) and the nth secret information (M n ), and acquires the ( n + 1 ) th secret information (M n + 1 ). Then, the n + 1-th secret information (M n + 1 ) is stored in the first secret information storage unit 114. Further, the first calculation unit 125 increments the symbol n. Note that the first authentication result processing unit 127 may perform processing corresponding to authentication permission. In addition, the second calculation here is, for example, a sum calculation.
- Step S510 The case where the control is transferred to Step S510 is a case where authentication is not established. And the 1st authentication result process part 127 performs the process corresponding to authentication non-permission. Such processing is, for example, sending an error message or the like to the authentication device 1.
- the n-th authentication process of the authentication device 1 is completed.
- the authentication device 1 the first data (alpha) (first authentication information (A 1) second authentication information corresponding to the first authentication information (A 1) (A 2 ) and alpha acquired using), a first data corresponding to the second authentication information (a 2) ( ⁇ ) (second authentication information (a 2) and the third authentication information (a 3) alpha) obtained using, ..., (first data (alpha) (authentication information of the n (a n corresponding to a n)) and (n + 1) th authentication information authentication information of the n (a n + 1 ) And the like acquired using) may be stored in advance.
- the processing from step S501 to step S503 can be omitted.
- the process of acquiring the first calculation result in step S508 can be omitted.
- the authentication device 1 may store the first n-th confidential information (M 1 ),..., The n-th confidential information (M n ) in advance. In such a case, the process of acquiring and accumulating the ( n + 1 ) th secret information (M n + 1 ) in step S509 can be omitted.
- the first data ( ⁇ ) is information calculated without using the confidential information (M n ). If the authentication system A does not use the confidential information (M n), the n + need not processing for calculating 1 of confidential information (M n + 1) at step S509.
- the authentication process can be performed at high speed. Note that authentication processing can be performed at high speed because the load on the authentication processing can be reduced.
- the authentication apparatus 1 At the time of authentication, the authentication apparatus 1 generates the authentication information twice in the first calculation ( For example, one addition), four exclusive ORs, and one second operation (for example, addition) are required. Since the processing load of each operation of the first operation (for example, addition), exclusive OR, and second operation can be ignored as compared with the one-way conversion function, the processing load in the authentication processing is substantially one. It can be said that the load is due to the application of the directional conversion function twice. If the authentication information An is stored, the one-way conversion function is applied once in the authentication process, and the authentication process can be performed at a very high speed.
- the authentication information An is stored, the one-way conversion function is applied once in the authentication process, and the authentication process can be performed at a very high speed.
- the processing load in the device 2 to be authenticated is the processing load of the exclusive OR twice, the first operation (for example, addition) once, and the second operation (for example, addition) once.
- the processing load is negligible.
- the fusion operation of the next authentication information and the current authentication information (the first operation) is mainly added, but the fusion operation of the next authentication information and the current authentication information is excluded. All operations can be used except for logical OR. The addition of confidential information and arbitrary constants is also permitted this time. Variations are conceivable in which the combination information of the fusion operation is concealed with the authentication information this time and sent from the authentication apparatus 1 to the authenticated apparatus 2 and shared.
- the next secret information is mainly calculated by adding the current authentication information and the current secret information.
- the next authentication information and the current secret information are added, or the current authentication information and the next authentication information are added. It may be calculated by adding secret information this time. Further, the next time secret information may be calculated by a calculation other than addition or a combination of a plurality of calculations.
- the authentication device 1 after the authentication completion, the authentication device 1 generates H (A n) from the current authentication information A n, sends it to the prover 2, the prover in the authenticated apparatus 2 compared with the similarly generated from a n to hold the apparatus 2 H (a n), may also be realized such additional functions mutual authentication is established if the same.
- the processing in the present embodiment may be realized by software. Then, this software may be distributed by software download or the like. Further, this software may be recorded on a recording medium such as a CD-ROM and distributed. This also applies to other embodiments in this specification.
- achieves the authentication apparatus 1 in this Embodiment is the following programs. That is, this program uses the first data ( ⁇ ) acquired by the exclusive OR operation (A n XOR A n + 1 ) of the n-th authentication information (A n ) and the n + 1-th authentication information (A n + 1 ).
- a computer that can access the first data storage unit in which the first data ( ⁇ ) is stored, the first transmission unit that transmits the first data ( ⁇ ) to the device to be authenticated, and the first data ( ⁇ ) transmitted by the first transmission unit.
- the n-th authentication information (a n) and exclusive (n + 1) th authentication information acquired by the calculation of the logical sum (alpha XOR a n) of the (a n + 1), the authentication information of the first n and (a n)
- the first calculation is performed using the first receiving unit that receives the second data ( ⁇ ) acquired from the device to be authenticated, and the first data ( ⁇ ) transmitted by the first transmitting unit is was the source acquired, the authentication information of the n (a n) and (n + 1) th authentication information Result of the first operation on the (A n + 1), a first authentication unit that the second data (beta) to the first receiver has received to determine whether having a predetermined relationship, said first It is a program for functioning as a first authentication result
- the first data ( ⁇ ) stored in the first data storage unit includes the n + 1th authentication information (A n + 1 ), the nth authentication information (A n ), and the nth authentication information. It is preferable that the data is obtained by performing an exclusive OR operation (A n + 1 XOR An XOR M n ) using the confidential information (M n ).
- the software that realizes the device to be authenticated 2 in the present embodiment is the following program. That is, the program includes a computer that can access the second authentication information storage unit in which the nth authentication information (A n ) is stored, a second reception unit that receives the first data ( ⁇ ) from the authentication device, Second exclusive to obtain the ( n + 1 ) th authentication information (A n + 1 ) by performing an exclusive OR operation ( ⁇ XOR A n ) of the first data ( ⁇ ) and the nth authentication information (A n ) Using the logical OR part, the ( n + 1 ) th authentication information (A n + 1 ) acquired by the second exclusive OR part, and the nth authentication information (A n ), It is a program for functioning as a second calculation unit that acquires second data ( ⁇ ) and a second transmission unit that transmits the second data ( ⁇ ) to the authentication device.
- the program includes a computer that can access the second authentication information storage unit in which the nth authentication information (A n
- the second exclusive OR unit uses the first data ( ⁇ ), the n-th authentication information (A n ), and the n-th secret information (M n ), An exclusive OR operation ( ⁇ XOR A n XOR M n ) is performed to obtain ( n + 1 ) th authentication information (A n + 1 ), and the second calculation unit includes the nth authentication information (A n ) and the above by using the confidential information of the n (M n), carried out the second operational, as to obtain the (n + 1) th secret information (M n + 1), it is preferably a program for causing a computer to function.
- the conceptual diagram of the authentication system B in the present embodiment is the same as the conceptual diagram of the authentication system A except for the difference in reference numerals.
- the authentication system B includes an authentication device 3 and one or more devices to be authenticated 4.
- the authentication device 3 is a device that authenticates the device to be authenticated 4.
- the authentication device 3 may be anything as long as it can communicate with the device to be authenticated 4.
- the authentication device 3 is an information processing device that can communicate with the device to be authenticated 4, and is, for example, a so-called cloud server, ASP server, or the like, but the type thereof is not limited.
- the device to be authenticated 4 is a device to be authenticated.
- the device to be authenticated 4 may be any device such as a so-called personal computer, tablet terminal, smartphone, mobile phone, television, car, etc., and the type thereof is not limited. Needless to say, the type of communication means and network between the authentication device 3 and each of the one or more devices to be authenticated 4 is not limited.
- FIG. 6 is a block diagram of the authentication system B in the present embodiment.
- the authentication system B includes an authentication device 3 and one or more devices to be authenticated 4. Note that the authentication system B may include two or more authentication devices 3.
- the authentication device 3 includes a first storage unit 31, a first processing unit 32, a first transmission unit 13, and a first reception unit 14.
- the first storage unit 31 includes a first password storage unit 111, a first random number storage unit 112, a first authentication information storage unit 113, a first symbol storage unit 115, and a first data storage unit 116.
- the first processing unit 32 includes a first random number generation unit 121, a first exclusive OR unit 122, a first conversion unit 123, a first calculation unit 125, a first authentication unit 126, and a first authentication result processing unit 127. Prepare.
- the authenticated device 4 includes a second storage unit 41, a second reception unit 22, a second processing unit 43, and a second transmission unit 24.
- the second storage unit 41 includes a second authentication information storage unit 211.
- Various information is stored in the first storage unit 31 constituting the authentication device 3.
- Various types of information include, for example, passwords, random numbers, authentication information, and the like.
- the various kinds of information are stored in the second storage unit 41 constituting the device to be authenticated 4.
- the various information is, for example, authentication information.
- the operation of the authentication system B will be described. First, an example of the initial registration process of the authentication system B will be described with reference to the flowchart of FIG. It is assumed that the authentication device 3 holds the password (S) in the first password storage unit 111 at the start of the operation.
- Step S701 The first random number generator 121 of the authentication device 3 generates a first random number (N 1), and accumulates the first random number (N 1) to the first random number storage unit 112.
- Step S702 The first exclusive OR unit 122 calculates an exclusive OR (S XOR N 1 ) between the stored password (S) and the first random number (N 1 ) acquired in Step S701. ) To obtain the calculation result.
- the first conversion unit 123 performs a one-way converting function H with respect to the operation result of the first exclusive-OR unit 122 obtains, acquires the first authentication information (A 1).
- Step S703 The first conversion unit 123 stores the first authentication information (A 1 ) acquired in step S702 in the first authentication information storage unit 113.
- Step S ⁇ b> 704 The first transmission unit 13 transmits the acquired first authentication information (A 1 ) to the device to be authenticated 4. Here, the initial registration process of the authentication device 3 is completed.
- the second receiver 22 of (step S705) prover 4 receives the first authentication information (A 1), and accumulates the first authentication information (A 1) to the second authentication information storage unit 211 .
- the initial registration processing of the device to be authenticated 4 is completed.
- the authentication device 1 may store the first authentication information (A 1 ) in advance and transmit the first authentication information (A 1 ) to the device to be authenticated 2. . In such a case, the processing from step S701 to step S703 is not necessary.
- the authentication device 3 holds the password (S) in the first password storage unit 111 and holds the random number (N n ) in the first random number storage unit 112.
- the authentication target device 4 holds the n-th authentication information (A n ) in the second authentication information storage unit 211 at the start of the n-th authentication process.
- Step S801 The first exclusive OR unit 122 calculates an exclusive OR (S XOR N n ) of the stored password (S) and the stored n-th random number (N n ). To obtain the calculation result.
- the 1st conversion part 123 performs the one-way conversion function H with respect to the calculation result which the 1st exclusive OR part 122 acquired, and acquires nth authentication information ( An ).
- Step S ⁇ b> 802 The first random number generation unit 121 generates an ( n + 1 ) th random number (N n + 1 ) and stores it in the first random number storage unit 112.
- Step S803 The first exclusive OR unit 122 performs an exclusive OR operation (S XOR N n + 1 ) of the password (S) and the ( n + 1 ) th random number (N n + 1 ), and acquires the operation result.
- the first conversion unit 123 performs a one-way conversion function H on the calculation result, and obtains ( n + 1 ) th authentication information (A n + 1 ).
- the first exclusive OR unit 122 uses the n + 1 th authentication information (A n + 1 ) and the n th authentication information (A n ) to perform an exclusive OR operation (A n + 1 XOR A n ). To obtain the first data ( ⁇ ).
- the first transmission unit 13 transmits the first data ( ⁇ ) acquired in Step S803 to the device 2 to be authenticated by a secure means.
- Step S ⁇ b> 805 The second receiving unit 22 of the device to be authenticated 2 receives the first data ( ⁇ ) from the authentication device 3. Then, the second exclusive OR unit 231 performs an exclusive OR operation ( ⁇ XOR A n ) using the first data ( ⁇ ) and the nth authentication information (A n ), and the (n + 1) th Authentication information (A n + 1 ) is acquired. Next, the second calculation unit 232 performs the first calculation using the ( n + 1 ) th authentication information (A n + 1 ) and the nth authentication information (A n ) acquired by the second exclusive OR unit 231. To obtain second data ( ⁇ ). The first calculation here is, for example, “sum”.
- Step S806 The second transmission unit 24 of the device to be authenticated 2 transmits the second data ( ⁇ ) acquired in Step S805 to the authentication device 3.
- Step S807 The first receiver 14 of the authentication device 1 receives the second data ( ⁇ ) from the device to be authenticated 2. Then, the first calculation unit 125 uses the nth authentication information (A n ) and the ( n + 1 ) th authentication information (A n + 1 ), which are the sources of the first data ( ⁇ ), to perform the first calculation. To obtain the first calculation result. Next, the 1st authentication part 126 judges whether the acquired 1st calculation result corresponds with the received 2nd data ((beta)). If the first authentication unit 126 determines that they match, the process goes to step S808, and if it does not match, the process goes to step S809.
- the first calculation is, for example, a sum calculation.
- Step S808 The case where the control moves to Step S808 is a case where the authentication is established. Then, the first conversion unit 123 accumulates the ( n + 1 ) th authentication information (A n + 1 ) acquired in step S803 in the first authentication information storage unit 113. Further, the first calculation unit 125 increments the symbol n. Note that the first authentication result processing unit 127 may perform processing corresponding to authentication permission. In addition, the second calculation here is, for example, a sum calculation.
- Step S809 The case where the control is transferred to Step S809 is a case where the authentication is not established. And the 1st authentication result process part 127 performs the process corresponding to authentication non-permission. Such processing is, for example, sending an error message or the like to the authentication device 1.
- the n-th authentication process of the authentication device 3 is completed.
- the authentication device 1 the first data (alpha) (first authentication information (A 1) second authentication information corresponding to the first authentication information (A 1) (A 2 ) and alpha acquired using), a first data corresponding to the second authentication information (a 2) ( ⁇ ) (second authentication information (a 2) and the third authentication information (a 3) alpha) obtained using, ..., (first data (alpha) (authentication information of the n (a n corresponding to a n)) and (n + 1) th authentication information authentication information of the n (a n + 1 ) And the like acquired using) may be stored in advance. In such a case, the processing from step S801 to step S803 can be omitted.
- the authentication process can be performed at high speed.
- the software that implements the authentication device 3 in the present embodiment is the following program. That is, this program uses the first data ( ⁇ ) acquired by the exclusive OR operation (A n XOR A n + 1 ) of the n-th authentication information (A n ) and the n + 1-th authentication information (A n + 1 ).
- a computer that can access the first data storage unit in which the first data ( ⁇ ) is stored, the first transmission unit that transmits the first data ( ⁇ ) to the device to be authenticated, and the first data ( ⁇ ) transmitted by the first transmission unit.
- the first calculation is performed using the first receiving unit that receives the second data ( ⁇ ) acquired from the device to be authenticated, and the first data ( ⁇ ) transmitted by the first transmitting unit is was the source acquired, the authentication information of the n (a n) and (n + 1) th authentication information Result of the first operation on the (A n + 1), a first authentication unit that the second data (beta) to the first receiver has received to determine whether having a predetermined relationship, said first It is a program for functioning as a first authentication result processing unit that performs processing using a determination result of one authentication unit.
- achieves the to-be-authenticated apparatus 4 in this Embodiment is the following programs. That is, the program includes a computer that can access the second authentication information storage unit in which the nth authentication information (A n ) is stored, a second reception unit that receives the first data ( ⁇ ) from the authentication device, Second exclusive to obtain the ( n + 1 ) th authentication information (A n + 1 ) by performing an exclusive OR operation ( ⁇ XOR A n ) of the first data ( ⁇ ) and the nth authentication information (A n ) Using the logical OR part, the ( n + 1 ) th authentication information (A n + 1 ) acquired by the second exclusive OR part, and the nth authentication information (A n ), It is a program for functioning as a second calculation unit that acquires second data ( ⁇ ) and a second transmission unit that transmits the second data ( ⁇ ) to the authentication device.
- the program includes a computer that can access the second authentication information storage unit in which the nth
- the conceptual diagram of the authentication system C in the present embodiment is the same as the conceptual diagram of the authentication system A except for the difference in reference numerals.
- the authentication system C includes an authentication device 5 and one or more devices to be authenticated 6.
- the authentication device 5 and one or more devices to be authenticated 6 can communicate with each other via a network such as the Internet.
- the authentication device 5 is a device that authenticates the device to be authenticated 6.
- the authentication device 5 is an information processing device that can communicate with the device to be authenticated 6.
- the authentication device 5 is a so-called cloud server, ASP server, or the like.
- the device to be authenticated 6 is a device to be authenticated.
- the device to be authenticated 6 may be any device such as a so-called personal computer, tablet terminal, smartphone, mobile phone, television, automobile, etc., and the type thereof is not limited. Needless to say, the type of communication means and network between the authentication device 5 and the one or more devices to be authenticated 6 are not limited.
- FIG. 9 is a block diagram of the authentication system C in the present embodiment.
- FIG. 10 is a block diagram of the device to be authenticated 6 constituting the authentication system C in the present embodiment.
- the authentication device 5 includes a first storage unit 11, a first processing unit 52, a first transmission unit 13, and a first reception unit 14.
- the first processing unit 52 includes a first random number generation unit 121, a first exclusive OR unit 122, a first conversion unit 123, a first secret information generation unit 124, a first calculation unit 525, a first authentication unit 126, and A first authentication result processing unit 127 is provided.
- the authenticated device 6 includes a second storage unit 21, a second reception unit 22, a second processing unit 63, and a second transmission unit 24.
- the second processing unit 63 includes a second exclusive OR unit 231 and a second calculation unit 632.
- the first calculation unit 525 performs a first calculation using the nth authentication information (A n ) and the ( n + 1 ) th authentication information (A n + 1 ), and obtains a first calculation result.
- the first calculation is, for example, sum, difference, multiplication, division, average value calculation, and the type of calculation is not limited.
- the first calculation unit 525 performs the first calculation using the nth authentication information (A n ), the ( n + 1 ) th authentication information (A n + 1 ), and the nth secret information (M n ). Get one operation result.
- the first calculation unit 525 uses, for example, one or more pieces of information among n- th confidential information (M n ), n + 1-th authentication information (A n + 1 ), and n-th authentication information (A n ).
- the n + 1-th secret information (M n + 1 ) is acquired, and the n + 1-th secret information (M n + 1 ) is at least temporarily stored in the first secret information storage unit 114.
- the kind of this calculation is not ask
- M n + 1 M n + A n
- M n + 1 A n + 1 + A n + M n
- M n + 1 M n + A n + 1
- M n + 1 M n + x (x is Constant) ”.
- “+” may be another calculation.
- the first calculation unit 525 performs, for example, the second calculation using the ( n + 1 ) th authentication information (A n + 1 ) and the nth secret information (M n ), and the ( n + 1 ) th secret information (M n + 1 ). And the n + 1-th secret information (M n + 1 ) is at least temporarily stored in the first secret-information storage unit 114.
- the confidential information (M) is at least either when the first exclusive OR unit 122 calculates the first data ( ⁇ ) or when the first calculation unit 525 calculates the first calculation result. Is preferably used.
- the secret information (M) may be used both when the first exclusive OR unit 122 calculates the first data ( ⁇ ) and when the first calculation unit 525 calculates the first calculation result. .
- the second arithmetic unit 632 includes the ( n + 1 ) th authentication information (A n + 1 ), the nth authentication information (A n ), and the nth confidential information (M n ) acquired by the second exclusive OR unit 231. )
- the first calculation is, for example, “+”, but “ ⁇ ”, “*”, etc. may be used.
- the second calculation unit 632 performs a first calculation using the ( n + 1 ) th authentication information (A n + 1 ) and the nth authentication information (A n ) acquired by the second exclusive OR unit 231, Two data ( ⁇ ) is acquired.
- the first calculation is, for example, “+”, but “ ⁇ ”, “*”, etc. may be used.
- the second calculation unit 632 performs calculation using one or more pieces of information among the n- th confidential information (M n ), the ( n + 1 ) th authentication information (A n + 1 ), and the n-th authentication information (A n ). performed to obtain the (n + 1) th secret information (M n + 1), the (n + 1) th secret information (M n + 1) in the second confidential information housed unit 212 stores at least occasionally. In addition, the kind of this calculation is not ask
- the second calculation unit 632 performs, for example, the second calculation using the ( n + 1 ) th authentication information (A n + 1 ) and the nth secret information (M n ) to obtain the ( n + 1 ) th secret information (M n + 1 ). And stored in the second secret information storage unit 212.
- the second operation is, for example, sum, difference, multiplication, division, average value calculation, or the like.
- the type of the second calculation is not limited.
- the first operation and the second operation may be the same type of operation (for example, both are +) or different types of operations (for example, one is + and the other is-).
- the first processing unit 52, the first calculation unit 525, the second processing unit 63, and the second calculation unit 632 can be usually realized by an MPU, a memory, or the like.
- the processing procedure of the first processing unit 52 and the like is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
- the authentication device 5 holds the password (S) in the first password storage unit 111 and holds the random number (N n ) in the first random number storage unit 112.
- the device to be authenticated 6 holds the n-th authentication information (A n ) in the second authentication information storage unit 211 and stores the n-th confidential information (M n ). It is assumed that the second secret information storage unit 212 holds the information.
- Step S1101 The first exclusive OR unit 122 performs an exclusive OR operation (S XOR N n ) of the stored password (S) and the stored nth random number (N n ). To obtain the calculation result.
- the 1st conversion part 123 performs the one-way conversion function H with respect to the calculation result which the 1st exclusive OR part 122 acquired, and acquires nth authentication information ( An ).
- Step S ⁇ b> 1102 The first random number generation unit 121 generates an ( n + 1 ) th random number (N n + 1 ) and stores it in the first random number storage unit 112.
- the first exclusive OR unit 122 performs an exclusive OR operation (S XOR N n + 1 ) of the password (S) and the ( n + 1 ) th random number (N n + 1 ), and acquires the operation result.
- the first conversion unit 523 performs a one-way conversion function H on the calculation result, and obtains ( n + 1 ) th authentication information (A n + 1 ).
- the first exclusive OR unit 122 uses the n + 1-th authentication information (A n + 1 ), the n-th authentication information (A n ), and the n-th secret information (M n ) for exclusive use.
- An OR operation (A n + 1 XOR A n XOR M n ) is performed to obtain first data ( ⁇ ).
- the first transmission unit 13 transmits the first data ( ⁇ ) acquired in step S1103 to the device 2 to be authenticated by a secure means.
- the first transmission unit 13 transmits n to the device 2 to be authenticated for example, it is possible to cope with an error occurring in the past processing, which is preferable.
- Step S1105) The second receiving unit 22 of the device to be authenticated 6 receives the first data ( ⁇ ) from the authentication device 1. It is preferable that the second receiving unit 22 receives the first data ( ⁇ ) and n from the authentication device 1.
- the second exclusive OR unit 231 uses the first data ( ⁇ ), the nth authentication information (A n ), and the nth secret information (M n ) to calculate the exclusive OR ( ⁇ XOR A n XOR M n ) is performed, and a calculation result (usually information corresponding to the ( n + 1 ) th authentication information (A n + 1 )) is acquired.
- the second calculation unit 632 uses the calculation result obtained by the second exclusive OR unit 231, the n-th authentication information (A n ), and the n-th secret information (M n ).
- One calculation is performed to obtain second data ( ⁇ ).
- Step S1106 The second transmission unit 24 of the device to be authenticated 6 transmits the second data ( ⁇ ) acquired in Step S1105 to the authentication device 1.
- Step S1107) The second computing unit 632 of the device 6 to be authenticated performs the second computation using the ( n + 1 ) th authentication information (A n + 1 ) and the nth secret information (M n ), and the ( n + 1 ) th secret Information (M n + 1 ) is acquired, and the ( n + 1 ) th secret information (M n + 1 ) is stored in the second secret information storage unit 212.
- the second calculation unit 632 increments the symbol n.
- the process for the n-th authentication of the device 2 to be authenticated is completed.
- the first receiver 14 of the authentication device 5 receives the second data ( ⁇ ) from the device to be authenticated 6.
- the first authentication unit 126 determines whether or not the acquired first calculation result matches the received second data ( ⁇ ). If the first authentication unit 126 determines that they match, the process goes to step S1109, and if it does not match, the process goes to step S1110.
- the first calculation is, for example, a sum calculation.
- Step S1109) The case where control is transferred to step S1109 is a case where authentication is established. Then, the first conversion unit 123 accumulates the ( n + 1 ) th authentication information (A n + 1 ) acquired in step S1103 in the first authentication information storage unit 113. Further, the first calculation unit 525 performs a second calculation using the ( n + 1 ) th authentication information (A n + 1 ) and the nth secret information (M n ) to obtain the ( n + 1 ) th secret information (M n + 1 ). Then, the n + 1-th secret information (M n + 1 ) is stored in the first secret information storage unit 114. The first calculation unit 525 increments the symbol n. Note that the first authentication result processing unit 127 may perform processing corresponding to authentication permission. In addition, the second calculation here is, for example, a sum calculation.
- Step S1110 The case where the control is transferred to Step S1110 is a case where the authentication is not established. And the 1st authentication result process part 127 performs the process corresponding to authentication non-permission. Such processing is, for example, sending an error message or the like to the authentication device 1.
- the n-th authentication process of the authentication device 1 is completed.
- the authentication apparatus 5 the first data (alpha) (first authentication information (A 1) second authentication information corresponding to the first authentication information (A 1) (A 2 ) and alpha acquired using), a first data corresponding to the second authentication information (a 2) ( ⁇ ) (second authentication information (a 2) and the third authentication information (a 3) alpha) obtained using, ..., (first data (alpha) (authentication information of the n (a n corresponding to a n)) and (n + 1) th authentication information authentication information of the n (a n + 1 ) And the like acquired using) may be stored in advance.
- the processing from step S1101 to step S1103 can be omitted.
- the process of acquiring the first calculation result in step S1108 can be omitted.
- the authentication device 5 may store first n-th confidential information (M 1 ),..., N-th confidential information (M n ) in advance. In such a case, the process of acquiring and accumulating the ( n + 1 ) th secret information (M n + 1 ) in step S1109 can be omitted.
- the first data ( ⁇ ) is information calculated without using the confidential information (M n ). If the authentication system A does not use the confidential information (M n), need not processing for calculating the (n + 1) th secret information in step S1109 (M n + 1).
- the authentication process can be performed at high speed. Note that authentication processing can be performed at high speed because the load on the authentication processing can be reduced.
- the authentication device 5 At the time of authentication, the authentication device 5 generates the authentication information twice in the first calculation ( For example, one addition), four exclusive ORs, and one second operation (for example, addition) are required. Since the processing load of each operation of the first operation (for example, addition), exclusive OR, and second operation can be ignored as compared with the one-way conversion function, the processing load in the authentication processing is substantially one. It can be said that the load is due to the application of the directional conversion function twice. If the authentication information An is stored, the one-way conversion function is applied once in the authentication process, and the authentication process can be performed at a very high speed.
- the authentication information An is stored, the one-way conversion function is applied once in the authentication process, and the authentication process can be performed at a very high speed.
- the processing load in the device 6 to be authenticated is the processing load of the exclusive OR twice, the first operation (for example, addition) once, and the second operation (for example, addition) once.
- the processing load is negligible.
- the fusion operation of the next authentication information and the current authentication information (the first operation) is mainly added, but the fusion operation of the next authentication information and the current authentication information is excluded. All operations can be used except for logical OR. The addition of confidential information and arbitrary constants is also permitted this time. Variations are conceivable in which the combination information of the fusion operation is concealed with the authentication information this time and sent from the authentication apparatus 1 to the authenticated apparatus 2 and shared.
- the next secret information is mainly calculated by adding the next authentication information and the current secret information, but the addition of the current authentication information and the current secret information, or the current authentication information and the next authentication information, It may be calculated by adding secret information this time. Further, the next time secret information may be calculated by a calculation other than addition or a combination of a plurality of calculations.
- the authentication device 5 after the authentication completion, the authentication device 5 generates H (A n) from the current authentication information A n, sends it to the prover 6, the prover in the authenticated apparatus 6 compared with the similarly generated from a n to hold the apparatus 2 H (a n), may also be realized such additional functions mutual authentication is established if the same.
- the authentication system described in the above embodiment generates an encryption key using, for example, qualification authentication of a user or a communication partner or authentication information that changes for each authentication in an information communication system, and uses the encryption key.
- the present invention relates to a one-time password authentication processing method for realizing encrypted communication.
- the authentication processing method in the authentication system described in the above embodiment can be applied to authentication at the time of login of a cloud system or an application providing service system as a general one-time password authentication method. From the advantage that the authentication information can be updated, an encryption key is generated using the authentication information as a seed, and encryption communication can be realized with a different key for each information transmission unit. This can be realized even in low-layer communication, and application such as realizing encryption communication with a different key for each packet in layer 3 becomes possible.
- this authentication processing method is extremely fast, for example, when the authentication information is 64 bits, if the Vernam encryption that adds the authentication information to the 64-bit plaintext by exclusive OR is used, 64 bits are used. It is also possible to realize encrypted communication with a different key for each information transmission unit.
- the processing load on the authenticated unit is almost zero. Can be realized.
- an encryption communication function can be added to a network of devices with limited processing capabilities such as a sensor network and an IC tag / RFID network.
- IoT security measures can be implemented in various aspects by combining appropriate encryption methods. can do.
- FIG. 12 shows an example of the external appearance of a computer that implements the authentication devices 1, 3, 5 and the devices to be authenticated 2, 4, 6 according to the various embodiments described above by executing the program described in this specification. Indicates.
- the above-described embodiments can be realized by computer hardware and a computer program executed thereon.
- FIG. 12 is an overview diagram of the computer system 300
- FIG. 13 is a block diagram of the system 300.
- the computer system 300 includes a computer 301 including a CD-ROM drive, a keyboard 302, a mouse 303, and a monitor 304.
- the computer 301 stores an MPU 3013, a bus 3014 connected to the CD-ROM drive 3012, a ROM 3015 for storing programs such as a bootup program, and the MPU 3013. It includes a RAM 3016 for temporarily storing application program instructions and providing a temporary storage space, and a hard disk 3017 for storing application programs, system programs, and data.
- the computer 301 may further include a network card that provides connection to a LAN.
- a program that causes the computer system 300 to execute the functions of the authentication device 1 and the like of the above-described embodiment may be stored in the CD-ROM 3101, inserted into the CD-ROM drive 3012, and further transferred to the hard disk 3017.
- the program may be transmitted to the computer 301 via a network (not shown) and stored in the hard disk 3017.
- the program is loaded into the RAM 3016 at the time of execution.
- the program may be loaded directly from the CD-ROM 3101 or the network.
- the program does not necessarily include an operating system (OS) or a third-party program that causes the computer 301 to execute the functions of the authentication device 1 according to the above-described embodiment.
- the program only needs to include an instruction portion that calls an appropriate function (module) in a controlled manner and obtains a desired result. How the computer system 300 operates is well known and will not be described in detail.
- processing performed by hardware for example, processing performed by a modem or an interface card in the transmission step (only performed by hardware) Processing is not included.
- the computer that executes the program may be singular or plural. That is, centralized processing may be performed, or distributed processing may be performed.
- each process may be realized by centralized processing by a single device, or may be realized by distributed processing by a plurality of devices.
- the authentication system according to the present invention has an effect that the one-time password authentication process can be performed at high speed, and is useful as an authentication system or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
【課題】従来、被認証装置での一方向性変換関数の適用回数が3回、認証装置での一方向性変換関数の適用回数が1回である、従来最高速と言われてきたSAS-2認証方式が存在するが、かかる認証方式では、ワンタイムパスワード認証処理が十分に高速ではなく、処理負荷も十分に小さいとは言えず、IoT等の一層幅広い技術領域へのセキュリティ機能の付加を実現することが困難であった。 【解決手段】認証される装置である被認証装置と被認証装置を認証する装置である認証装置とを具備する認証システムであって、一方向性変換関数の実行回数を減らすアルゴリズムにより、処理速度を高速化する安全なワンタイムパスワード認証方式を実現することによって、センサやICタグ等、IoTの一層幅広い技術領域へのセキュリティ機能の付加を実現することができる。
Description
本発明は、被認証装置を認証する認証装置等に関するものである。
従来、認証装置が、被認証装置またはユーザを認証する際に、ユーザにパスワードの入力を要求し、入力されたパスワードの正当性をもってユーザを認証するパスワード認証方式が広く用いられている。
また、パスワード認証方式において、パスワードによる認証の安全性を担保するため、認証ごとに使い捨てのパスワードを用いるワンタイムパスワード方式や、パスワードそのものではなくパスワードから生成した認証情報を用いて認証を行う方式が知られている。
例えば、SAS-2(Simple And Secure password authentication protocol ver.2)という認証方式は、ワンタイムパスワード認証方式の一例であり、認証装置は以下のような手順によって被認証装置を認証する(例えば、非特許文献1参照)。以下において、SAS-2の本質を理解しやすくするため、非特許文献1に記載のアルゴリズムからユーザ識別子を省略し、一方向性変換関数も一種類に簡略化して説明する。
図14および図15は、SAS-2認証方式におけるユーザ認証の処理工程を示すフローチャートである。
なお、以下の説明において用いる記号「←」は右辺の左辺への代入、記号「S」はユーザが秘密に保持しているパスワード、記号「XOR」は排他的論理和演算、記号「n」は認証回数、記号「Nn」は乱数(nは1以上の自然数で、乱数を識別するために用いる)、をそれぞれ示している。また、記号「H」は一方向性変換関数を示す。一方向性変換関数とは、一方向性関数と言っても良い。一方向性変換関数は、簡単に計算できるが逆関数の計算は非常に困難である関数である。一方向性変換関数は、例えば、暗号学的ハッシュ関数であるが、その種類は問わない。
まず、ユーザは、認証を受けたい認証装置にあらかじめ登録を行っておく(以下、この登録作業を「初期登録」という。)。以下、ユーザの被認証装置における初期登録処理の手順を、図14を参照して説明する。図14は、従来技術による被認証装置の初期登録処理の手順を示すフローチャートである。なお、被認証装置は、あらかじめ秘密のパスワードSを保持している、とする。
まず、被認証装置は、乱数N1を生成し、記録媒体に蓄積する(ステップS1101)。そして,被認証装置は、乱数N1と秘密に保持しているパスワードSを用いて,下記の数式1に示す初回認証情報A1を算出して保存し(ステップS1102)。
次に、被認証装置は、A1を被認証装置に送付する(ステップS1103)。なお、被認証装置は、できれば、安全な手段で、A1を被認証装置に送付する。安全な手段とは、例えば、専用線による当該情報の送信、または当該情報を記憶した記憶媒体の郵送による送付、または工場出荷時等にあらかじめ認証者となる装置等に当該情報を書き込んでおく等である。初回認証情報A1は,初回(認証回数n=1)の認証に用いる認証情報である。
そして、認証装置は、ステップS1103で被認証装置から送付された初回認証情報A1を記録媒体に保存しておく(ステップS1104)。以上が被認証装置の初期登録作業の手順である。
次に、初回(n=1)以降、n回目の認証時の認証処理について、図15を参照して説明する。図15は、初回(n=1)以降、n回目の認証時の認証処理の手順を示すフローチャートである。この時、被認証装置は、パスワードS、乱数Nnを記録媒体に保存している。また、認証装置はAn(初回認証時はn=1)を記録媒体に保存している。まず、被認証装置は保存している乱数Nnから,下記の数式2に示すAnを算出する(ステップS1201)。
次に、被認証装置は、新しい乱数Nn+1を生成し、保存する(ステップS1202)。そして、被認証装置は、当該Nn+1を用いて、下記の数式3によりAn+1を生成する。次に、被認証装置は、当該An+1とAnとを用いて、下記の数式4によってデータαを算出する。また、被認証装置は、当該An+1とAnとを用いて、下記の数式5によってデータβを算出する(ステップS1203)。
次に、被認証装置は、算出したαとβとを認証装置に送付する(ステップS1204)。このとき、Anは今回の認証処理に用いる今回認証情報、An+1は次回の認証処理に用いる次回認証情報である。
認証装置は、被認証装置からαおよびβを受信する。そして、認証装置は、受信したαとβとを用いて、演算「H(β XOR An) XOR α」を実行し、当該演算結果が今回認証情報Anと一致するかどうかを検証する(ステップS1205)。
そして、認証装置は、両者が一致する場合、被認証装置またはユーザの資格の認証が成立したと判断し、次回(n+1回目)の認証に用いる認証情報としてAn+1を記録媒体に保存する(ステップS1206)。一方、認証装置は、両者が一致しない場合、認証は不成立であると判断し、エラーメッセージを送付する等の処理を行う(ステップS1207)。そして、本フローチャートによる処理が終了する。以上のような処理によって、認証装置は,認証を求めてきた被認証装置またはユーザに対して認証を行う。
辻貴介(Takasuke Tsuji),他2名,「シンプル アンド セキュア パスワード オーセンティケイション プロトコル バージョン2(Simple And Secure password authentication protocol, ver. 2 (SAS-2))」,電子情報通信学会技術研究報告書,2002年,OIS2002-30, Vol. 102, No. 314, p7-11
ワンタイムパスワード認証方式が上位レイヤで用いられる場合、認証はプロセスの最初に一回だけ行えば良いため、それほど速度性能を必要としない。なお、ワンタイムパスワード認証方式が上位レイヤで用いられる場合は、例えば、クラウドサービスシステムやアプリケーション提供サービスシステムへのログイン時の認証に、ワンタイムパスワード認証方式が用いられる場合である。
また、下位レイヤにおいて、暗号通信のため、認証情報をシーズに暗号鍵を生成するといった鍵配送の手段に用いる場合、設定した鍵を使って比較的大量の暗号文を生成するのであれば鍵配送に用いられる認証方式にはそれほどの速度性能が求められない。なお、認証方式における「速度性能が高い」ことは、「処理負荷が小さい」ことと概ね等価の特徴である。
しかしながら、IoT技術の発展等に伴い、低いレイアにおいて、処理性能がそれほど高くない機器とのセキュアな通信の実現においては、認証あるいは鍵配送に用いるワンタイムパスワード認証方式の速度性能は高いほど、すなわち処理負荷が小さいほど、その応用範囲が広がる。
なお、上記の背景技術で示したSAS-2認証方式は、ワンタイムパスワード認証方式において、現在の公知技術における最高速の速度性能を有する方式である。
ワンタイムパスワード認証方式の速度性能は、使用されている演算によって決まるが、通常、一方向性変換関数は、排他的論理和や加算等の演算を数多く組み合わせて実現されることから、一方向性変換関数の処理の負荷は大きい。そのため、排他的論理和および加算の各演算の負荷は、一方向性変換関数による演算の負荷に比較してほとんど無視できる。したがって、ワンタイムパスワード認証方式の速度性能は、一方向性変換関数の適用回数によって評価することができる。
従来、極めて高速と言われるSAS-2認証方式は、被認証装置における一方向性変換関数「H」の適用回数は3回である(ステップS1201、S1203参照)。ステップS1201で生成されるAnを記憶しておいて再利用すれば、被認証装置は、一方向性変換関数の適用回数を2回にすることができる。認証装置における一方向性変換関数の適用回数は1回である(ステップS1205参照)。すなわち、SAS-2認証方式の一方向性変換関数の適用回数は、被認証装置で3回、認証装置で1回である。なお、前回計算済の今回認証情報を記憶しておけば、この一方向性変換関数の適用回数は、被認証装置で2回、認証装置で1回となる。
つまり、従来技術においては、認証装置と被認証装置の双方において、最低でも一方向性変換関数1回の適用が必要であり、IoT技術等の進展に対応して、処理能力の低い端末を用いる場合等においては、ワンタイムパスワードの認証処理の速度が十分でなく、わ処理負荷が大きすぎる場合がある。
かかることに鑑み、本発明は、極めて高速と言われてきた従来のSAS-2認証方式と比較して、処理速度を高速化でき、処理負荷を小さくできる安全なワンタイムパスワード認証方式を実現することによって、IoT等の一層幅広い技術領域へのセキュリティ機能の付加を実現することを目的とする。
本第一の発明の認証システムは、認証される装置である被認証装置と当該被認証装置を認証する装置である認証装置とを具備する認証システムであって、前記認証装置は、第nの認証情報(An)と第n+1の認証情報(An+1)との排他的論理和の演算(An XOR An+1)を用いて取得された第一データ(α)が格納される第一データ格納部と、前記第一データ(α)を前記被認証装置に送信する第一送信部と、前記第一送信部が送信した第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)を用いて取得された第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信部と、前記第一送信部が送信した第一データ(α)が取得される元になった、第nの認証情報(An)と第n+1の認証情報(An+1)とを用いた第一演算の結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証部と、前記第一認証部の判断結果を用いた処理を行う第一認証結果処理部とを具備し、前記被認証装置は、第nの認証情報(An)が格納される第二認証情報格納部と、前記第一データ(α)を前記認証装置から受信する第二受信部と、前記第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)を行い、第n+1の認証情報(An+1)を取得する第二排他的論理和部と、前記第二排他的論理和部が取得した前記第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて、前記第一演算を行い、第二データ(β)を取得する第二演算部と、前記第二データ(β)を前記認証装置に送信する第二送信部とを具備する認証システムである。
かかる構成により、ワンタイムパスワードの認証処理が高速にできる。
また、本第二の発明の認証システムは、第一の発明に対して、前記認証装置において、記号nが格納される第一記号格納部をさらに具備し、前記第一送信部は、前記nと前記第一データ(α)とを前記被認証装置に送信し、前記第二受信部は、前記nと前記第一データ(α)とを前記認証装置から受信し、前記第二排他的論理和部は、前記第一データ(α)と、前記第二受信部が受信したnに対応する第nの認証情報(An)との排他的論理和の演算(α XOR An)を行い、第n+1の認証情報(An+1)を取得する認証システムである。
かかる構成により、ワンタイムパスワードの認証処理が高速にできる。
また、本第三の発明の認証システムは、第一または第二の発明に対して、前記認証装置は、パスワード(S)が格納される第一パスワード格納部と、第n+1の乱数(Nn+1)を生成する第一乱数生成部と、前記パスワード(S)と前記第n+1の乱数(Nn+1)との排他的論理和の演算(S XOR Nn+1)を行い、演算結果を取得する第一排他的論理和部と、前記第一排他的論理和部が取得した演算結果に対して一方向性変換関数Hを施し、第n+1の認証情報(An+1)を取得する第一変換部とをさらに具備し、前記第一排他的論理和部は、前記第nの認証情報(An)と、前記第一変換部が取得した第n+1の認証情報(An+1)との排他的論理和の演算(An XOR An+1)を行い、第一データ(α)を取得し、前記第一送信部が送信する前記第一データ(α)は、前記第一排他的論理和部が取得した第一データ(α)であり、前記第nの認証情報(An)と前記第n+1の認証情報(An+1)とを用いて、前記第一演算を行い、第一演算結果を取得する第一演算部をさらに具備し、前記第一認証部は、前記第一演算部が取得した第一演算結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する認証システムである。
かかる構成により、ワンタイムパスワードの認証処理が高速にできる。
また、本第四の発明の認証装置は、第三の発明に対して、前記第一乱数生成部は、第一の乱数(N1)を生成し、前記第一排他的論理和部は、前記パスワード(S)と前記第一の乱数(N1)との排他的論理和の演算(S XOR N1)を行い、第一演算結果を取得し、前記第一変換部は、前記第一排他的論理和部が取得した第一演算結果に対して一方向性変換関数Hを施し、第一の認証情報(A1)を取得し、前記第一送信部は、前記第一の認証情報(A1)を前記被認証装置に送信し、前記第二受信部は、前記第一の認証情報(A1)を受信する、認証システムを構成する認証システムである。
かかる構成により、ワンタイムパスワードの認証処理が高速にできる。
また、本第五の発明の認証システムは、第一から第四いずれか1つの発明に対して、前記認証装置において、前記第一データ格納部に格納されている第一データ(α)は、前記第n+1の認証情報(An+1)と前記第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、排他的論理和の演算(An+1 XOR An XOR Mn)を行い、取得されたデータであり、前記第二排他的論理和部は、前記第一データ(α)と前記第nの認証情報(An)と前記第nの秘匿情報(Mn)とを用いて、排他的論理和の演算(α XOR An XOR Mn)を行い、第n+1の認証情報(An+1)を取得し、前記第二演算部は、前記第n+1の認証情報(An+1)と前記第nの秘匿情報(Mn)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得する認証システムである。
かかる構成により、ワンタイムパスワードの認証処理が高速かつ頑強にできる。
また、本第六の発明の認証システムは、第一から第五のいずれかの発明に対して、第一演算部は、第nの認証情報(An)と、第n+1の認証情報(An+1)と、第nの秘匿情報(Mn)とを用いて、第一演算を行い、第一演算結果を取得し、第二演算部は、第二排他的論理和部が取得した第n+1の認証情報(An+1)と、第nの認証情報(An)と、第nの秘匿情報(Mn)とを用いて、第一演算を行い、第二データ(β)を取得する
また、本第七の発明の認証システムは、第五または第六の発明に対して、前記認証装置において、認証に使用する秘密の情報である第一の秘匿情報(M1)を生成する第一秘匿情報生成部をさらに具備し、前記第一送信部は、第一の認証情報(A1)と前記第一の秘匿情報(M1)とを前記被認証装置に送信し、前記第二受信部は、前記第一の認証情報(A1)と前記第一の秘匿情報(M1)とを受信する認証システムである。
かかる構成により、ワンタイムパスワードの認証処理が高速かつ頑強にできる。
また、本第八の発明の認証システムは、第五から第七いずれかの発明に対して、前記認証装置において、前記第n+1の認証情報(An+1)と前記第nの認証情報(An)と前記第nの秘匿情報(Mn)との排他的論理和の演算(An+1 XOR An XOR Mn)を行い、第一データ(α)を取得する第一排他的論理和部をさらに具備し、前記第一送信部は、前記第一排他的論理和部が取得した第一データ(α)を前記被認証装置に送信し、前記第nの認証情報(An)と前記第nの秘匿情報(Mn)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得する第一演算部をさらに具備する認証システムである。
かかる構成により、ワンタイムパスワードの認証処理が高速にできる。
本発明による認証装置によれば、ワンタイムパスワードの認証処理が高速にできる。
以下、認証装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、一方向性変換関数の実行回数を少なくできるために、認証処理を高速に行う認証システムについて説明する。特に、認証処理の際の被認証装置における一方向性変換関数の実行回数が0となるため、被認証装置の負荷が極めて小さくて良い認証システムについて説明する。
本実施の形態において、一方向性変換関数の実行回数を少なくできるために、認証処理を高速に行う認証システムについて説明する。特に、認証処理の際の被認証装置における一方向性変換関数の実行回数が0となるため、被認証装置の負荷が極めて小さくて良い認証システムについて説明する。
図1は、本実施の形態における認証システムAの概念図である。認証システムAは、認証装置1、および1または2以上の被認証装置2を備える。認証装置1と1以上の各被認証装置2とは、インターネット等のネットワークを介して、通信可能である。認証装置1は、被認証装置2を認証する装置である。認証装置1は、被認証装置2と通信可能な情報処理装置であり、例えば、いわゆるクラウドサーバ、ASPサーバ等であるが、その種類は問わない。被認証装置2は、認証される装置である。被認証装置2は、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン、携帯電話、テレビ、自動車等のあらゆる機器が考えられ、その種類は問わない。また、認証装置1と1以上の各被認証装置2との通信手段やネットワークの種類は問わないことは言うまでもない。
図2は、本実施の形態における認証システムAのブロック図である。図3は、本実施の形態における認証システムAを構成する被認証装置2のブロック図である。
認証システムAは、認証装置1、1または2以上の被認証装置2を備える。なお、認証システムAは、2以上の認証装置1を備えても良い。
認証装置1は、第一格納部11、第一処理部12、第一送信部13、および第一受信部14を備える。第一格納部11は、第一パスワード格納部111、第一乱数格納部112、第一認証情報格納部113、第一秘匿情報納部114、第一記号格納部115、および第一データ格納部116を備える。第一処理部12は、第一乱数生成部121、第一排他的論理和部122、第一変換部123、第一秘匿情報生成部124、第一演算部125、第一認証部126、および第一認証結果処理部127を備える。
被認証装置2は、第二格納部21、第二受信部22、第二処理部23、および第二送信部24を備える。第二格納部21は、第二認証情報格納部211、および第二秘匿情報納部212を備える。第二処理部23は、第二排他的論理和部231、および第二演算部232を備える。
認証装置1を構成する第一格納部11には、各種の情報が格納される。各種の情報とは、例えば、後述するパスワード、後述する乱数、後述する認証情報、後述する秘匿情報、後述する記号、後述する第一データ等である。
第一パスワード格納部111には、パスワード(S)が格納される。なお、パスワード(S)は、任意の情報であり、何でも良い。Sは、例えば、「ABC」「125XYZ」「あいうえおQ!」等である。なお、パスワード(S)は、例えば、被認証装置2の識別子として利用されても良い。
第一乱数格納部112には、第nの乱数(Nn)が格納される。なお、nは1以上の自然数である。第一乱数格納部112には、第1の乱数(N1)、第2の乱数(N2)、・・・第nの乱数(Nn)等の多数の乱数が格納されても良いし、最新の乱数である第nの乱数(Nn)のみ格納されても良い。第一乱数格納部112の第nの乱数(Nn)は、通常、認証装置1が生成するが、予め1または2以上の乱数が第一乱数格納部112に格納されていても良い。
第一認証情報格納部113には、第nの認証情報(An)が格納される。認証情報とは、認証に利用される情報であり、後述する一方向性変換関数が適用された結果の情報である。第一認証情報格納部113には、第1の認証情報(A1)、第2の認証情報(A2)、・・・第nの認証情報(An)等の多数の認証情報が格納されても良いし、第n回目の認証で使用する第nの認証情報(An)と第n+1の認証情報(An+1)の認証情報のみが格納されても良い。第一認証情報格納部113の第nの認証情報(An)は、通常、認証装置1が生成するが、第一認証情報格納部113に1または2以上の認証情報(A1,A2,・・・,An)が予め格納されていても良い。
第一秘匿情報納部114には、第nの秘匿情報(Mn)が格納される。秘匿情報は、認証に使用する秘密の情報である。秘匿情報の内容や種類等は問わない。第一秘匿情報納部114には、第1の秘匿情報(M1)、第2の秘匿情報(M2)、・・・第nの秘匿情報(Mn)等の多数の秘匿情報が格納されても良いし、第n回目の認証で使用する第nの秘匿情報(Mn)と第n+1の秘匿情報(Mn+1)の秘匿情報のみが格納されても良い。第一秘匿情報納部114の第nの秘匿情報(Mn)は、通常、認証装置1が生成するが、第一秘匿情報納部114に1または2以上の秘匿情報(M1,M2,・・・,Mn)が予め格納されていても良い。
第一記号格納部115には、第nの記号が格納される。一の記号は、他の記号と識別可能であれば良い。記号は、順序性を有する情報であることは好適である。記号は、例えば、1以上の自然数(1,2,・・・,n)である。記号は、例えば、1以上のアルファベットから構成する文字列である。第nの乱数(Nn)、第nの認証情報(An)、第nの秘匿情報(Mn)のnは、記号である。第一記号格納部115の第nの記号は、通常、認証装置1が生成するが、第一記号格納部115に1または2以上の記号が予め格納されていても良い。なお、認証装置1における記号の生成とは、例えば、数値のインクリメントである。
第一データ格納部116には、第一データ(α)が格納される。第一データ(α)は、第nの認証情報(An)と第n+1の認証情報(An+1)との排他的論理和の演算(An XOR An+1)を行い、取得されたデータである。また、第一データ(α)は、第nの認証情報(An)と第n+1の認証情報(An+1)と第nの秘匿情報(Mn)との排他的論理和の演算(An XOR An+1 XOR Mn)を行い、取得されたデータであることは好適である。AnとAn+1とMnとの排他的論理和の演算は、AnとAn+1とを用いた排他的論理和の演算である。なお、かかる演算は、通常、認証装置1が行うが、他の装置で行われても良い。第一データ格納部116の第一データ(α)は、通常、認証装置1が生成するが、予め格納されていても良い。第一データ格納部116には、1または2以上の第一データ(α)が、予め格納されていても良い。2以上の各第一データ(α)は、排他的論理和の演算「(An XOR An+1)または(An XOR An+1 XOR Mn)」のnが異なるデータである。また、n個の第一データ(α)は、例えば、添字のnを、1からnまで1ずつずらしながら排他的論理和の演算を行った結果のデータである。
第一処理部12は、各種の処理を行う。各種の処理とは、例えば、第一乱数生成部121、第一排他的論理和部122、第一変換部123、第一秘匿情報生成部124、第一演算部125、第一認証部126、第一認証結果処理部127が行う処理である。
第一乱数生成部121は、第n+1の乱数(Nn+1)を生成し、第一乱数格納部112に、少なくとも一時蓄積する。
第一乱数生成部121は、第一の乱数(N1)を生成し、第一乱数格納部112に、少なくとも一時蓄積する。また、第一乱数生成部121は、第n+1の乱数(Nn+1)を生成し、第一乱数格納部112に、少なくとも一時蓄積する。
なお、乱数を発生するアルゴリズムは問わない。また、乱数を発生する処理は公知技術であるので、詳細な説明は省略する。
また、第一乱数生成部121が乱数を生成するタイミングは問わない。例えば、第一乱数生成部121は、ユーザからの指示に応じて、乱数を生成する。例えば、第一乱数生成部121は、外部の装置から命令が受信されたことにより、乱数を生成する。例えば、第一乱数生成部121は、予め決められた時刻になった場合に、乱数を生成する。
第一排他的論理和部122は、2以上の情報に対して排他的論理和の演算を行い、演算結果を取得する。
第一排他的論理和部122は、例えば、パスワード(S)と第一の乱数(N1)との排他的論理和の演算(S XOR N1)を行い、演算結果を取得する。また、第一排他的論理和部122は、例えば、パスワード(S)と第n+1の乱数(Nn+1)との排他的論理和の演算(S XOR Nn+1)を行い、演算結果を取得する。
また、第一排他的論理和部122は、例えば、第n+1の認証情報(An+1)と第nの認証情報(An)とを用いて、排他的論理和の演算(An+1 XOR An)を行い、第一データ(α)を取得する。
また、第一排他的論理和部122は、例えば、第n+1の認証情報(An+1)と第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、排他的論理和の演算(An+1 XOR An XOR Mn)を行い、第一データ(α)を取得する。
また、第一排他的論理和部122は、例えば、第n+1の認証情報(An+1)と第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、演算((An+1 XOR An) + Mn))を行い、第一データ(α)を取得する。なお、ここでの「+」は他の演算(例えば、「-」「×」等)でも良い。つまり、第一排他的論理和部122は、排他的論理和以外の演算を含めて、演算を実行しても良い。
第一変換部123は、第一排他的論理和部122が取得した演算結果に対して一方向性変換関数Hを施し、第一の認証情報(A1)を取得し、第一認証情報格納部113に蓄積する。上述したように、一方向性変換関数Hは、例えば、ハッシュ関数であるが、その種類は問わない。なお、ここでの演算結果は、パスワード(S)と第一の乱数(N1)との排他的論理和の演算(S XOR N1)の結果である。
第一変換部123は、演算結果に対して一方向性変換関数Hを施し、第n+1の認証情報(An+1)を取得し、当該第n+1の認証情報(An+1)を第一認証情報格納部113に蓄積する。なお、一方向性変換関数Hを施すことは、一方向性変換関数を実行することと言っても良い。ここで、蓄積とは、第n+1の認証情報(An+1)を第nの認証情報(An)に上書きすることでも良いし、追記することでも良い。
なお、第一変換部123が使用する演算結果は、例えば、第一排他的論理和部122が取得した情報である。
第一秘匿情報生成部124は、認証に使用する秘密の情報である第一の秘匿情報(M1)を生成し、当該第一の秘匿情報(M1)を第一秘匿情報納部114に、少なくとも一時蓄積する。ここで、第一の秘匿情報(M1)は、任意の情報であり、何でも良い。なお、パスワード(S)、乱数(N)、認証情報(A)のビット数と、秘匿情報(M)のビット数とは同じであることは好適である。
また、第一秘匿情報生成部124が第一の秘匿情報(M1)を生成する方法は問わない。第一秘匿情報生成部124は、第一の秘匿情報(M1)が取得できれば良い。第一秘匿情報生成部124は、例えば、第一格納部11に格納されている秘匿情報の候補の中から情報を選択する。第一秘匿情報生成部124は、例えば、予め格納されている元情報(秘匿情報を生成するための元になる情報)に対して予め決められた処理を行い、新しい秘匿情報を取得する。なお、予め決められた処理とは、例えば、予め格納されている関数に元情報をパラメータとして与えて、当該関数の実行することである。
第一演算部125は、第nの認証情報(An)と第n+1の認証情報(An+1)とを用いて、第一演算を行い、第一演算結果を取得する。ここで、第一演算は、例えば、和、差、乗算、除算、平均値算出等であり、演算の種類は問わない。第一演算部125は、例えば、和演算「β=An+An+1」により、βを取得する。
第一演算部125は、例えば、第nの認証情報(An)と第n+1の認証情報(An+1)と第nの秘匿情報(Mn)とを用いて、第一演算を行い、第一演算結果を取得する。第一演算部125は、例えば、「β=An+An+1+Mn」、「β=An+An+1-Mn」、「β=(An-An+1)×Mn」により、第一演算結果を取得する。
また、第一演算部125は、例えば、第nの秘匿情報(Mn)、第n+1の認証情報(An+1)と、第nの認証情報(An)のうちの1以上の情報を用いて演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第一秘匿情報納部114に、少なくとも一時蓄積する。なお、かかる演算の種類は問わない。また、かかる演算は、例えば、「Mn+1=Mn+An」、「Mn+1=An+1+An+Mn」、「Mn+1=Mn+An+1」、「Mn+1=Mn+x(xは定数)」である。なお、「+」は他の演算でも良いことは言うまでもない。
また、第一演算部125は、例えば、第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第一秘匿情報納部114に、少なくとも一時蓄積する。
なお、第一排他的論理和部122が第一データ(α)を算出する際、または第一演算部125が第一演算結果を算出する際の、少なくともどちらか一方では、秘匿情報(M)が使用されることは好適である。なお、第一排他的論理和部122が第一データ(α)を算出する際と第一演算部125が第一演算結果を算出する際の両方、秘匿情報(M)が使用されても良い。
第一認証部126は、第一演算結果と第二データ(β)とが予め決められた関係を有するか否かを判断する。予め決められた関係とは、通常、一致である。ただし、予め決められた関係は、第一演算結果と、第二データ(β)から導出されるデータとが一致する関係でも良い。かかる場合、被認証装置2は、第n+1の認証情報(An+1)と第nの認証情報(An)とを用いて第一演算が行われた結果を送信するのではなく、第n+1の認証情報(An+1)と第nの認証情報(An)とを用いて第一演算が行われた結果から導出した第二データ(β)を認証装置1に送信する。
また、(An+1)と(An)とを用いて第一演算が行われた演算結果から導出した第二データ(β)は、例えば、関数f(演算結果)により取得されるデータである。かかる場合、予め決められた関係は、「関数f(第一演算結果)=第二データ(β)」である。
第一認証部126は、例えば、第一演算結果と第二データ(β)とが一致するか否かを判断する。
ここで、第一演算結果は、第nの認証情報(An)と第n+1の認証情報(An+1)とを用いて、第一演算(例えば、和演算)を行い、取得された情報である。第nの認証情報(An)と第n+1の認証情報(An+1)とは、第一データ(α)が取得される元になった情報である。第二データ(β)は、後述する第一受信部14が受信した情報である。
第一認証部126は、例えば、第一演算部125が取得した第一演算結果と、第一受信部14が受信した第二データ(β)とが一致するか否かを判断する。なお、第一演算結果は、第一格納部11に予め格納されていても良い。
第一認証結果処理部127は、第一認証部126の判断結果を用いた処理を行う。第一認証結果処理部127は、例えば、第一認証部126の判断結果を被認証装置2に送信する。また、第一認証結果処理部127は、例えば、判断結果が認証許可である場合、被認証装置2またはユーザのログインを許可する。また、第一認証結果処理部127は、例えば、判断結果が認証許可である場合、被認証装置2を動作可能にする。また、第一認証結果処理部127は、例えば、判断結果が認証不許可である場合、被認証装置2にエラーメッセージを送信する。
第一送信部13は、第一データ(α)を被認証装置2に送信する。第一送信部13は、例えば、記号nと第一データ(α)とを被認証装置2に送信する。なお、記号nは、例えば、認証の毎にインクリメントされる自然数である。
第一送信部13は、第一の認証情報(A1)を被認証装置2に送信する。第一送信部13は、第一の認証情報(A1)と第一の秘匿情報(M1)とを被認証装置2に送信しても良い。
第一受信部14は、第二データ(β)を被認証装置2から受信する。第二データ(β)は、例えば、第n+1の認証情報(An+1)と、第nの認証情報(An)とを用いて第一演算が行われた結果である。第n+1の認証情報(An+1)は、例えば、第一送信部13が送信した第一データ(α)と第nの認証情報(An)との排他的論理和の演算(α XOR An)により取得された情報である。第二データ(β)は、例えば、第一データ(α)と第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、演算が行われた結果である。第二データ(β)は、例えば、第n+1の認証情報(An+1)と、第nの認証情報(An)とを用いて第一演算を行い、その演算結果に対して予め決められた演算を行った結果でも良い。
第一受信部14は、通常、第一送信部13における第一データ(α)の送信に応じて、第二データ(β)を被認証装置2から受信する。
認証装置1の認証処理の開始のトリガーは問わない。例えば、被認証装置2からの指示を受信したことにより、認証装置1は認証処理を開始する。また、例えば、図示しない受付部がユーザからの指示を受け付けたことに応じて、認証装置1は認証処理を開始する。例えば、図示しない受付部が外部の装置からの命令を受信したことにより、認証装置1は認証処理を開始する。例えば、第一処理部12が予め決められた時刻になったことを検知した場合に、認証装置1は認証処理を開始する。
被認証装置2を構成する第二格納部21には、各種の情報が格納される。各種の情報とは、例えば、認証情報、秘匿情報である。
第二認証情報格納部211には、第nの認証情報(An)が格納される。なお、第1の認証情報(A1)は、通常、認証装置1から受信された情報である。第二以降の認証情報(A2,A3,・・・,An)は、通常、被認証装置2で生成された情報である。第二認証情報格納部211には、第1の認証情報(A1)、第2の認証情報(A2)、・・・第nの認証情報(An)等の多数の認証情報が格納されても良い。
第二秘匿情報納部212には、第nの秘匿情報(Mn)が格納される。なお、第1の秘匿情報(M1)は、通常、認証装置1から受信された情報である。第二以降の秘匿情報(M2, M3,・・・,Mn)は、通常、被認証装置2で生成された情報である。第二秘匿情報納部212には、第1の秘匿情報(M1)、第2の秘匿情報(M2)、・・・第nの秘匿情報(Mn)等の多数の秘匿情報が格納されても良いし、第n回目の認証で使用する第nの秘匿情報(Mn)と第n+1の秘匿情報(Mn+1)の秘匿情報のみが格納されても良い。
第二受信部22は、第一データ(α)を認証装置1から受信する。第二受信部22は、例えば、記号nと第一データ(α)とを認証装置1から受信する。
第二受信部22は、例えば、第一の認証情報(A1)を受信し、当該第一の認証情報(A1)を第二認証情報格納部211に、少なくとも一時蓄積する。また、第二受信部22は、例えば、第一の秘匿情報(M1)を受信し、当該第一の秘匿情報(M1)を第二秘匿情報納部212に、少なくとも一時蓄積する。
第二処理部23は、各種の処理を行う。各種の処理とは、例えば、第二排他的論理和部231、第二演算部232が行う処理である。
第二排他的論理和部231は、例えば、第一データ(α)と第nの認証情報(An)とを用いて、排他的論理和の演算(α XOR An)を行い、第n+1の認証情報(An+1)を取得する。
第二排他的論理和部231は、例えば、第一データ(α)と第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、排他的論理和の演算(α XOR An XOR Mn)を行い、第n+1の認証情報(An+1)を取得する。
第二演算部232は、第二排他的論理和部231が取得した第n+1の認証情報(An+1)と、第nの認証情報(An)とを用いて、第一演算を行い、第二データ(β)を取得する。なお、第一演算は、上述したように、例えば、「+」であるが、「-」「*」等、問わない。
第二演算部232は、例えば、第nの秘匿情報(Mn)、第n+1の認証情報(An+1)、第nの認証情報(An)のうちの1以上の情報を用いて演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第二秘匿情報納部212に、少なくとも一時蓄積する。なお、かかる演算の種類は問わない。また、かかる演算は、例えば、「Mn+1=Mn+An」、「Mn+1=An+1+An+Mn」、「Mn+1=Mn+An+1」、「Mn+1=Mn+x(xは定数)」である。なお、「+」は他の演算でも良いことは言うまでもない。
第二演算部232は、例えば、第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、第二秘匿情報納部212に蓄積する。ここで、第二演算は、例えば、和、差、乗算、除算、平均値算出等である。ただし、第二演算の種類は問わない。第二演算部232は、例えば、和演算「Mn+1=An+Mn」により、βを取得する。また、第一演算と第二演算とは、同じ種類の演算でも(例えば、両方とも+)良いし、異なる種類の演算(例えば、一方が+、他方が-)でも良い。なお、第二演算部232は、例えば、第n+1の認証情報(An+1)と第nの秘匿情報(Mn)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、第二秘匿情報納部212に蓄積しても良い。かかる場合の第二演算の種類も問わない。
第二送信部24は、第二データ(β)を認証装置1に送信する。なお、第二データ(β)は、通常、第二演算部232が取得した情報である。
第一格納部11、第一パスワード格納部111、第一乱数格納部112、第一認証情報格納部113、第一秘匿情報納部114、第一記号格納部115、第一データ格納部116、第二格納部21、第二認証情報格納部211、および第二秘匿情報納部212は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
第一格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が第一格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が第一格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が第一格納部11等で記憶されるようになってもよい。
第一処理部12、第一乱数生成部121、第一排他的論理和部122、第一変換部123、第一秘匿情報生成部124、第一演算部125、第一認証部126、第一認証結果処理部127、第二処理部23、第二排他的論理和部231、および第二演算部232は、通常、MPUやメモリ等から実現され得る。第一処理部12等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
第一送信部13、および第二送信部24は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
第一受信部14、および第二受信部22は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
次に、認証システムAの動作について説明する。まず、認証システムAにおける初期登録処理の例を、図4のフローチャートを用いて説明する。なお、動作開始時に、認証装置1は、第一パスワード格納部111にパスワード(S)を保持している、とする。
(ステップS401)認証装置1の第一乱数生成部121は、第一の乱数(N1)を生成し、第一乱数格納部112に蓄積する。
(ステップS402)第一排他的論理和部122は、格納されているパスワード(S)とステップS401で取得された第一の乱数(N1)との排他的論理和の演算(S XOR N1)を行い、第一演算結果を取得する。また、第一変換部123は、第一排他的論理和部122が取得した第一演算結果に対して一方向性変換関数Hを施し、第一の認証情報(A1)を取得する。また、第一秘匿情報生成部124は、認証に使用する秘密の情報である第一の秘匿情報(M1)を生成する。
(ステップS403)第一変換部123は、取得した第一の認証情報(A1)を第一認証情報格納部113に保存する。また、第一秘匿情報生成部124は、生成した第一の秘匿情報(M1)を第一秘匿情報納部114に保存する。
(ステップS404)第一送信部13は、取得された第一の認証情報(A1)と第一の秘匿情報(M1)とを認証装置2に安全な手段で送信する。ここで、認証装置1の初期登録処理は完了する。
(ステップS405)被認証装置2の第二受信部22は、第一の認証情報(A1)を受信し、当該第一の認証情報(A1)を第二認証情報格納部211に蓄積する。また、第二受信部22は、第一の秘匿情報(M1)を受信し、当該第一の秘匿情報(M1)を第二秘匿情報納部212に蓄積する。ここで、被認証装置2の初期登録処理は完了する。なお、第二受信部22は、通常、第一の認証情報(A1)と第一の秘匿情報(M1)とを一緒に受信するが、別々に受信しても良い。
なお、図4のフローチャートにおいて、認証装置1は、第一の認証情報(A1)と第一の秘匿情報(M1)とを予め格納しており、かかる第一の認証情報(A1)と第一の秘匿情報(M1)とを被認証装置2に送信しても良い。かかる場合、ステップS401からステップS403の処理は不要である。
また、認証システムAが秘匿情報(Mn)を用いない場合、認証装置1は、第一の認証情報(A1)のみを被認証装置2に送信しても良い。
次に、認証システムAにおけるn回目の認証時の認証処理の例を、図5のフローチャートを用いて説明する。なお、n回目の認証処理の開始時に、認証装置1は、パスワード(S)を第一パスワード格納部111に保持しており、かつ乱数(Nn)を第一乱数格納部112に保持している、とする。また、n回目の認証処理の開始時に、被認証装置2は、第nの認証情報(An)を第二認証情報格納部211に保持しており、第nの秘匿情報(Mn)を第二秘匿情報納部212に保持している、とする。
(ステップS501)第一排他的論理和部122は、格納されているパスワード(S)と格納されている第nの乱数(Nn)との排他的論理和の演算(S XOR Nn)を行い、演算結果を取得する。次に、第一変換部123は、第一排他的論理和部122が取得した演算結果に対して一方向性変換関数Hを施し、第nの認証情報(An)を取得する。
(ステップS502)第一乱数生成部121は、第n+1の乱数(Nn+1)を生成し、第一乱数格納部112に保存する。
(ステップS503)第一排他的論理和部122は、パスワード(S)と第n+1の乱数(Nn+1)との排他的論理和の演算(S XOR Nn+1)を行い、演算結果を取得する。次に、第一変換部123は、当該演算結果に対して一方向性変換関数Hを施し、第n+1の認証情報(An+1)を取得する。次に、第一排他的論理和部122は、当該第n+1の認証情報(An+1)と第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、排他的論理和の演算(An+1 XOR An XOR Mn)を行い、第一データ(α)を取得する。
(ステップS504)第一送信部13は、ステップS503で取得された第一データ(α)を安全な手段で被認証装置2に送信する。なお、ここで、第一送信部13は、nをも被認証装置2に送信することは好適である。第一送信部13がnをも被認証装置2に送信する場合、例えば、過去の処理においてエラーが発生した場合にも対応でき、好適である。
(ステップS505)被認証装置2の第二受信部22は、第一データ(α)を認証装置1から受信する。そして、第二排他的論理和部231は、第一データ(α)と第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、排他的論理和の演算(α XOR An XOR Mn)を行い、演算結果(通常、第n+1の認証情報(An+1)に相当する情報)を取得する。次に、第二演算部232は、第二排他的論理和部231が取得した演算結果と、第nの認証情報(An)とを用いて、第一演算を行い、第二データ(β)を取得する。なお、ここでの第一演算は、例えば、「和」である。
(ステップS506)被認証装置2の第二送信部24は、ステップS505で取得された第二データ(β)を認証装置1に送信する。
(ステップS507)被認証装置2の第二演算部232は、第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第二秘匿情報納部212に蓄積する。ここで、被認証装置2のn回目の認証のための処理は完了する。
(ステップS508)認証装置1の第一受信部14は、被認証装置2から第二データ(β)を受信する。そして、第一演算部125は、第nの認証情報(An)と第n+1の認証情報(An+1)とを用いて、第一演算を行い、第一演算結果を取得する。次に、第一認証部126は、取得した第一演算結果が受信された第二データ(β)と一致するか否かを判断する。第一認証部126が一致すると判断した場合はステップS509に行き、一致しないと判断した場合はステップS510に行く。なお、第一演算は、ここでは、例えば、和演算である。
(ステップS509)ステップS509に制御が移る場合は、認証が成立した場合である。そして、第一変換部123は、ステップS503で取得した第n+1の認証情報(An+1)を第一認証情報格納部113に蓄積する。また、第一演算部125は、第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第一秘匿情報納部114に蓄積する。また、第一演算部125は、記号nをインクリメントする。なお、第一認証結果処理部127は、認証許可に対応する処理を行っても良い。また、第二演算は、ここでは、例えば、和演算である。
(ステップS510)ステップS510に制御が移る場合は、認証が不成立である場合である。そして、第一認証結果処理部127は、認証不許可に対応する処理を行う。かかる処理は、例えば、エラーメッセージ等の認証装置1への送付である。
ここで、認証装置1のn回目の認証処理は完了する。
なお、図5のフローチャートにおいて、n+1回以降の認証処理時にも、同様に動作が行われる。
また、図5のフローチャートにおいて、認証装置1は、第一の認証情報(A1)に対応する第一データ(α)(第一の認証情報(A1)と第二の認証情報(A2)とを用いて取得されたα)、第二の認証情報(A2)に対応する第一データ(α)(第二の認証情報(A2)と第三の認証情報(A3)とを用いて取得されたα)、・・・、第nの認証情報(An)に対応する第一データ(α)(第nの認証情報(An)と第n+1の認証情報(An+1)とを用いて取得されたα)等を予め格納していても良い。かかる場合、ステップS501からステップS503の処理は省略可能である。また、かかる場合、ステップS508の第一演算結果を取得する処理は省略可能である。
また、図5のフローチャートにおいて、認証装置1は、第一の第nの秘匿情報(M1)、・・・、第nの秘匿情報(Mn)を予め格納していても良い。かかる場合、ステップS509における第n+1の秘匿情報(Mn+1)を取得し、蓄積する処理は省略可能である。
また、認証システムAが秘匿情報(Mn)を用いない場合、第一データ(α)は秘匿情報(Mn)を用いずに算出された情報である。認証システムAが秘匿情報(Mn)を用いない場合、ステップS509で第n+1の秘匿情報(Mn+1)を算出する処理は必要ない。
以上、本実施の形態によれば、ワンタイムパスワードの認証処理において、一方向性変換関数の実行回数を少なくできるために、認証処理が高速に行える。なお、認証処理が高速に行えることは、認証処理の負荷を小さくできることである。
さらに具体的には、上記の図4、図5のフローチャートで示した通り、本認証方式では、認証時、認証装置1では認証情報の生成に、一方向性変換関数2回、第一演算(例えば、加算)1回、排他的論理和4回、第二演算(例えば、加算)1回を必要とする。そして、第一演算(例えば、加算)と排他的論理和と第二演算の各演算の処理負荷は、一方向性変換関数に比較して無視できるため、認証処理における処理負荷は、実質、一方向性変換関数の2回分の適用による負荷である、と言える。また、認証情報Anを保存しておけば、認証処理において、一方向性変換関数の適用は1回であり、極めて高速に認証処理が行える。
また、被認証装置2での処理負荷は、排他的論理和2回、第一演算(例えば、加算)1回、第二演算(例えば、加算)1回の処理の負荷であり、実質、それらの処理負荷は無視できる。
なお、上述した通り、本実施の形態において、次回認証情報と今回認証情報の融合演算(上記の第一演算)を、主として、加算としたが、次回認証情報と今回認証情報の融合演算を排他的論理和とする以外はあらゆる演算の使用が可能である。今回秘匿情報や任意の定数を付加する等も認められる。融合演算の組み合わせ情報を、今回認証情報によって秘匿化して認証装置1から被認証装置2へ送付し共有するなどのバリエーションも考えられる。
また、本実施の形態において、主として、次回秘匿情報を、今回認証情報と今回秘匿情報を加算することで算出したが、次回認証情報と今回秘匿情報の加算、あるいは今回認証情報と次回認証情報と今回秘匿情報の加算で算出しても良い。また、加算以外の演算、あるいは複数の演算の組み合わせにより次回秘匿情報を算出するようにしても良い。
また、上記の実施の形態において、認証終了後、認証装置1において、今回認証情報AnからH(An)を生成し、これを被認証装置2へ送付し、被認証装置2において被認証装置2で保持するAnから同様に生成したH(An)と比較し、同じであれば相互認証が成立するといった付加機能も実現でき得る。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における認証装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、第nの認証情報(An)と第n+1の認証情報(An+1)との排他的論理和の演算(An XOR An+1)により取得された第一データ(α)が格納される第一データ格納部にアクセス可能なコンピュータを、前記第一データ(α)を被認証装置に送信する第一送信部と、前記第一送信部が送信した第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)により取得された第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信部と、前記第一送信部が送信した第一データ(α)が取得される元になった、第nの認証情報(An)と第n+1の認証情報(An+1)との第一演算の結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証部と、前記第一認証部の判断結果を用いた処理を行う第一認証結果処理部として機能させるためのプログラムである。
また、上記プログラムにおいて、前記第一データ格納部に格納されている第一データ(α)は、前記第n+1の認証情報(An+1)と前記第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、排他的論理和の演算(An+1 XOR An XOR Mn)を行い、取得されたデータであることは好適である。
また、本実施の形態における被認証装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、第nの認証情報(An)が格納される第二認証情報格納部にアクセス可能なコンピュータを、第一データ(α)を認証装置から受信する第二受信部と、前記第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)を行い、第n+1の認証情報(An+1)を取得する第二排他的論理和部と、前記第二排他的論理和部が取得した前記第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて、第一演算を行い、第二データ(β)を取得する第二演算部と、前記第二データ(β)を前記認証装置に送信する第二送信部として機能させるためのプログラムである。
また、上記プログラムにおいて、前記第二排他的論理和部は、前記第一データ(α)と前記第nの認証情報(An)と前記第nの秘匿情報(Mn)とを用いて、排他的論理和の演算(α XOR An XOR Mn)を行い、第n+1の認証情報(An+1)を取得し、前記第二演算部は、前記第nの認証情報(An)と前記第nの秘匿情報(Mn)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
(実施の形態2)
本実施の形態において、実施の形態1と比較して秘匿情報を用いずに認証処理を行う点が異なる認証システムについて説明する。
本実施の形態において、実施の形態1と比較して秘匿情報を用いずに認証処理を行う点が異なる認証システムについて説明する。
本実施の形態における認証システムBの概念図は、符号の違いを除いて、認証システムAの概念図と同様である。認証システムBは、認証装置3、および1または2以上の被認証装置4を備える。認証装置3は、被認証装置4を認証する装置である。認証装置3は、被認証装置4と通信可能であれば何でも良い。認証装置3は、被認証装置4と通信可能な情報処理装置であり、例えば、いわゆるクラウドサーバ、ASPサーバ等であるが、その種類は問わない。被認証装置4は、認証される装置である。被認証装置4は、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン、携帯電話、テレビ、自動車等のあらゆる機器が考えられ、その種類は問わない。また、認証装置3と1以上の各被認証装置4との通信手段やネットワークの種類は問わないことは言うまでもない。
図6は、本実施の形態における認証システムBのブロック図である。
認証システムBは、認証装置3、および1または2以上の被認証装置4を備える。なお、認証システムBは、2以上の認証装置3を備えても良い。
認証装置3は、第一格納部31、第一処理部32、第一送信部13、および第一受信部14を備える。第一格納部31は、第一パスワード格納部111、第一乱数格納部112、第一認証情報格納部113、第一記号格納部115、および第一データ格納部116を備える。第一処理部32は、第一乱数生成部121、第一排他的論理和部122、第一変換部123、第一演算部125、第一認証部126、および第一認証結果処理部127を備える。
被認証装置4は、第二格納部41、第二受信部22、第二処理部43、および第二送信部24を備える。第二格納部41は、第二認証情報格納部211を備える。
認証装置3を構成する第一格納部31には、各種の情報が格納される。各種の情報とは、例えば、パスワード、乱数、認証情報等である。
被認証装置4を構成する第二格納部41には、各種の情報が格納される。各種の情報とは、例えば、認証情報等である。
次に、認証システムBの動作について説明する。まず、認証システムBの初期登録処理の例を図7のフローチャートを用いて説明する。なお、動作開始時に、認証装置3は、第一パスワード格納部111にパスワード(S)を保持している、とする。
(ステップS701)認証装置3の第一乱数生成部121は、第一の乱数(N1)を生成し、当該第一の乱数(N1)を第一乱数格納部112に蓄積する。
(ステップS702)第一排他的論理和部122は、格納されているパスワード(S)とステップS701で取得された第一の乱数(N1)との排他的論理和の演算(S XOR N1)を行い、演算結果を取得する。また、第一変換部123は、第一排他的論理和部122が取得した演算結果に対して一方向性変換関数Hを施し、第一の認証情報(A1)を取得する。
(ステップS703)第一変換部123は、ステップS702で取得した第一の認証情報(A1)を第一認証情報格納部113に保存する。
(ステップS704)第一送信部13は、取得された第一の認証情報(A1)を被認証装置4に送信する。ここで、認証装置3の初期登録処理は完了する。
(ステップS705)被認証装置4の第二受信部22は、第一の認証情報(A1)を受信し、当該第一の認証情報(A1)を第二認証情報格納部211に蓄積する。ここで、被認証装置4の初期登録処理は完了する。
なお、図7のフローチャートにおいて、認証装置1は、第一の認証情報(A1)を予め格納しており、かかる第一の認証情報(A1)を被認証装置2に送信しても良い。かかる場合、ステップS701からステップS703の処理は不要である。
次に、認証システムBにおけるn回目の認証時の認証処理の例を、図8のフローチャートを用いて説明する。なお、n回目の認証処理の開始時に、認証装置3は、パスワード(S)を第一パスワード格納部111に保持しており、かつ乱数(Nn)を第一乱数格納部112に保持している、とする。また、n回目の認証処理の開始時に、被認証装置4は、第nの認証情報(An)を第二認証情報格納部211に保持している、とする。
(ステップS801)第一排他的論理和部122は、格納されているパスワード(S)と格納されている第nの乱数(Nn)との排他的論理和の演算(S XOR Nn)を行い、演算結果を取得する。次に、第一変換部123は、第一排他的論理和部122が取得した演算結果に対して一方向性変換関数Hを施し、第nの認証情報(An)を取得する。
(ステップS802)第一乱数生成部121は、第n+1の乱数(Nn+1)を生成し、第一乱数格納部112に保存する。
(ステップS803)第一排他的論理和部122は、パスワード(S)と第n+1の乱数(Nn+1)との排他的論理和の演算(S XOR Nn+1)を行い、演算結果を取得する。次に、第一変換部123は、演算結果に対して一方向性変換関数Hを施し、第n+1の認証情報(An+1)を取得する。次に、第一排他的論理和部122は、第n+1の認証情報(An+1)と第nの認証情報(An)とを用いて、排他的論理和の演算(An+1 XOR An)を行い、第一データ(α)を取得する。
(ステップS804)第一送信部13は、ステップS803で取得された第一データ(α)を安全な手段で被認証装置2に送信する。なお、ここで、第一送信部13は、nをも被認証装置2に送信することは好適である。
(ステップS805)被認証装置2の第二受信部22は、第一データ(α)を認証装置3から受信する。そして、第二排他的論理和部231は、第一データ(α)と第nの認証情報(An)とを用いて、排他的論理和の演算(α XOR An)を行い、第n+1の認証情報(An+1)を取得する。次に、第二演算部232は、第二排他的論理和部231が取得した第n+1の認証情報(An+1)と、第nの認証情報(An)とを用いて、第一演算を行い、第二データ(β)を取得する。なお、ここでの第一演算は、例えば、「和」である。
(ステップS806)被認証装置2の第二送信部24は、ステップS805で取得された第二データ(β)を認証装置3に送信する。
(ステップS807)認証装置1の第一受信部14は、被認証装置2から第二データ(β)を受信する。そして、第一演算部125は、第一データ(α)の取得の元になった、第nの認証情報(An)と第n+1の認証情報(An+1)とを用いて、第一演算を行い、第一演算結果を取得する。次に、第一認証部126は、取得した第一演算結果が、受信された第二データ(β)と一致するか否かを判断する。第一認証部126が一致すると判断した場合はステップS808に行き、一致しないと判断した場合はステップS809に行く。なお、第一演算は、ここでは、例えば、和演算である。
(ステップS808)ステップS808に制御が移る場合は、認証が成立した場合である。そして、第一変換部123は、ステップS803で取得した第n+1の認証情報(An+1)を第一認証情報格納部113に蓄積する。また、第一演算部125は、記号nをインクリメントする。なお、第一認証結果処理部127は、認証許可に対応する処理を行っても良い。また、第二演算は、ここでは、例えば、和演算である。
(ステップS809)ステップS809に制御が移る場合は、認証が不成立である場合である。そして、第一認証結果処理部127は、認証不許可に対応する処理を行う。かかる処理は、例えば、エラーメッセージ等の認証装置1への送付である。
ここで、認証装置3のn回目の認証処理は完了する。
なお、図8のフローチャートにおいて、n+1回以降の認証処理時にも、同様に動作が行われる。
また、図8のフローチャートにおいて、認証装置1は、第一の認証情報(A1)に対応する第一データ(α)(第一の認証情報(A1)と第二の認証情報(A2)とを用いて取得されたα)、第二の認証情報(A2)に対応する第一データ(α)(第二の認証情報(A2)と第三の認証情報(A3)とを用いて取得されたα)、・・・、第nの認証情報(An)に対応する第一データ(α)(第nの認証情報(An)と第n+1の認証情報(An+1)とを用いて取得されたα)等を予め格納していても良い。かかる場合、ステップS801からステップS803の処理は省略可能である。
以上、本実施の形態によれば、ワンタイムパスワードの認証処理において、一方向性変換関数の実行回数を少なくできるために、認証処理が高速に行える。
さらに、本実施の形態における認証装置3を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、第nの認証情報(An)と第n+1の認証情報(An+1)との排他的論理和の演算(An XOR An+1)により取得された第一データ(α)が格納される第一データ格納部にアクセス可能なコンピュータを、前記第一データ(α)を被認証装置に送信する第一送信部と、前記第一送信部が送信した第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)により取得された第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信部と、前記第一送信部が送信した第一データ(α)が取得される元になった、第nの認証情報(An)と第n+1の認証情報(An+1)との第一演算の結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証部と、前記第一認証部の判断結果を用いた処理を行う第一認証結果処理部として機能させるためのプログラムである。
また、本実施の形態における被認証装置4を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、第nの認証情報(An)が格納される第二認証情報格納部にアクセス可能なコンピュータを、第一データ(α)を認証装置から受信する第二受信部と、前記第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)を行い、第n+1の認証情報(An+1)を取得する第二排他的論理和部と、前記第二排他的論理和部が取得した前記第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて、第一演算を行い、第二データ(β)を取得する第二演算部と、前記第二データ(β)を前記認証装置に送信する第二送信部として機能させるためのプログラムである。
(実施の形態3)
本実施の形態において、一方向性変換関数の実行回数を少なくできるために、認証処理を高速に行う認証システムについて説明する。特に、認証処理の際の被認証装置における一方向性変換関数の実行回数が0となるため、被認証装置の負荷が極めて小さくて良い認証システムについて説明する。
本実施の形態において、一方向性変換関数の実行回数を少なくできるために、認証処理を高速に行う認証システムについて説明する。特に、認証処理の際の被認証装置における一方向性変換関数の実行回数が0となるため、被認証装置の負荷が極めて小さくて良い認証システムについて説明する。
本実施の形態における認証システムCの概念図は、符号の違いを除いて、認証システムAの概念図と同様である。認証システムCは、認証装置5、および1または2以上の被認証装置6を備える。認証装置5と1以上の各被認証装置6は、インターネット等のネットワークを介して、通信可能である。認証装置5は、被認証装置6を認証する装置である。認証装置5は、被認証装置6と通信可能な情報処理装置であり、例えば、いわゆるクラウドサーバ、ASPサーバ等であるが、その種類は問わない。被認証装置6は、認証される装置である。被認証装置6は、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン、携帯電話、テレビ、自動車等のあらゆる機器が考えられ、その種類は問わない。また、認証装置5と1以上の各被認証装置6との通信手段やネットワークの種類は問わないことは言うまでもない。
図9は、本実施の形態における認証システムCのブロック図である。図10は、本実施の形態における認証システムCを構成する被認証装置6のブロック図である。
認証装置5は、第一格納部11、第一処理部52、第一送信部13、および第一受信部14を備える。第一処理部52は、第一乱数生成部121、第一排他的論理和部122、第一変換部123、第一秘匿情報生成部124、第一演算部525、第一認証部126、および第一認証結果処理部127を備える。
被認証装置6は、第二格納部21、第二受信部22、第二処理部63、および第二送信部24を備える。第二処理部63は、第二排他的論理和部231、および第二演算部632を備える。
第一演算部525は、第nの認証情報(An)と第n+1の認証情報(An+1)とを用いて、第一演算を行い、第一演算結果を取得する。ここで、第一演算は、例えば、和、差、乗算、除算、平均値算出等であり、演算の種類は問わない。第一演算部525は、例えば、和演算「第一演算結果=An+An+1」により、第一演算結果を取得する。
第一演算部525は、例えば、第nの認証情報(An)と第n+1の認証情報(An+1)と第nの秘匿情報(Mn)とを用いて、第一演算を行い、第一演算結果を取得する。第一演算部125は、例えば、「第一演算結果=An+An+1+Mn」により、第一演算結果を取得する。第一演算部125は、例えば、「第一演算結果=An+An+1-Mn」、「第一演算結果=(An-An+1)×Mn」により、第一演算結果を取得する。
また、第一演算部525は、例えば、第nの秘匿情報(Mn)、第n+1の認証情報(An+1)と、第nの認証情報(An)のうちの1以上の情報を用いて演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第一秘匿情報納部114に、少なくとも一時蓄積する。なお、かかる演算の種類は問わない。また、かかる演算は、例えば、「Mn+1=Mn+An」、「Mn+1=An+1+An+Mn」、「Mn+1=Mn+An+1」、「Mn+1=Mn+x(xは定数)」である。なお、「+」は他の演算でも良いことは言うまでもない。
また、第一演算部525は、例えば、第n+1の認証情報(An+1)と第nの秘匿情報(Mn)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第一秘匿情報納部114に、少なくとも一時蓄積する。
なお、第一排他的論理和部122が第一データ(α)を算出する際、または第一演算部525が第一演算結果を算出する際の、少なくともどちらか一方では、秘匿情報(M)が使用されることは好適である。なお、第一排他的論理和部122が第一データ(α)を算出する際と第一演算部525が第一演算結果を算出する際の両方、秘匿情報(M)が使用されても良い。
第二演算部632は、例えば、第二排他的論理和部231が取得した第n+1の認証情報(An+1)と、第nの認証情報(An)と、第nの秘匿情報(Mn)とを用いて、第一演算を行い、第二データ(β)を取得する。なお、第一演算は、上述したように、例えば、「+」であるが、「-」「*」等、問わない。第二演算部632は、例えば、演算式「β=An+1+An+Mn」により、第二データ(β)を取得する。
第二演算部632は、第二排他的論理和部231が取得した第n+1の認証情報(An+1)と、第nの認証情報(An)とを用いて、第一演算を行い、第二データ(β)を取得する。なお、第一演算は、上述したように、例えば、「+」であるが、「-」「*」等、問わない。
第二演算部632は、例えば、第nの秘匿情報(Mn)、第n+1の認証情報(An+1)、第nの認証情報(An)のうちの1以上の情報を用いて演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第二秘匿情報納部212に、少なくとも一時蓄積する。なお、かかる演算の種類は問わない。また、かかる演算は、例えば、「Mn+1=Mn+An」、「Mn+1=An+1+An+Mn」、「Mn+1=Mn+An+1」、「Mn+1=Mn+x(xは定数)」である。なお、「+」は他の演算でも良いことは言うまでもない。 第二演算部632は、例えば、第n+1の認証情報(An+1)と第nの秘匿情報(Mn)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、第二秘匿情報納部212に蓄積する。ここで、第二演算は、例えば、和、差、乗算、除算、平均値算出等である。ただし、第二演算の種類は問わない。第二演算部632は、例えば、和演算「Mn+1=An+1+Mn」により、βを取得する。また、第一演算と第二演算とは、同じ種類の演算でも(例えば、両方とも+)良いし、異なる種類の演算(例えば、一方が+、他方が-)でも良い。
第一処理部52、第一演算部525、第二処理部63、および第二演算部632は、通常、MPUやメモリ等から実現され得る。第一処理部52等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、認証システムCの動作について説明する。まず、認証システムCにおける認証装置5、被認証装置6の初期登録処理は、各々認証装置1、被認証装置2の初期登録処理と同様であるので、説明を省略する。
次に、認証システムCにおけるn回目の認証時の認証処理の例を、図11のフローチャートを用いて説明する。なお、n回目の認証処理の開始時に、認証装置5は、パスワード(S)を第一パスワード格納部111に保持しており、かつ乱数(Nn)を第一乱数格納部112に保持している、とする。また、n回目の認証処理の開始時に、被認証装置6は、第nの認証情報(An)を第二認証情報格納部211に保持しており、第nの秘匿情報(Mn)を第二秘匿情報納部212に保持している、とする。
(ステップS1101)第一排他的論理和部122は、格納されているパスワード(S)と格納されている第nの乱数(Nn)との排他的論理和の演算(S XOR Nn)を行い、演算結果を取得する。次に、第一変換部123は、第一排他的論理和部122が取得した演算結果に対して一方向性変換関数Hを施し、第nの認証情報(An)を取得する。
(ステップS1102)第一乱数生成部121は、第n+1の乱数(Nn+1)を生成し、第一乱数格納部112に保存する。
(ステップS1103)第一排他的論理和部122は、パスワード(S)と第n+1の乱数(Nn+1)との排他的論理和の演算(S XOR Nn+1)を行い、演算結果を取得する。次に、第一変換部523は、当該演算結果に対して一方向性変換関数Hを施し、第n+1の認証情報(An+1)を取得する。次に、第一排他的論理和部122は、当該第n+1の認証情報(An+1)と第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、排他的論理和の演算(An+1 XOR An XOR Mn)を行い、第一データ(α)を取得する。
(ステップS1104)第一送信部13は、ステップS1103で取得された第一データ(α)を安全な手段で被認証装置2に送信する。なお、ここで、第一送信部13は、nをも被認証装置2に送信することは好適である。第一送信部13がnをも被認証装置2に送信する場合、例えば、過去の処理においてエラーが発生した場合にも対応でき、好適である。
(ステップS1105)被認証装置6の第二受信部22は、第一データ(α)を認証装置1から受信する。なお、第二受信部22は、第一データ(α)とnとを認証装置1から受信することは好適である。
そして、第二排他的論理和部231は、第一データ(α)と第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、排他的論理和の演算(α XOR An XOR Mn)を行い、演算結果(通常、第n+1の認証情報(An+1)に相当する情報)を取得する。次に、第二演算部632は、第二排他的論理和部231が取得した演算結果と、第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、第一演算を行い、第二データ(β)を取得する。なお、ここでの第一演算は、例えば、「和」である。つまり、例えば、演算式「β=(α XOR An XOR Mn)+An+Mn」により第二データ(β)が得られる。
(ステップS1106)被認証装置6の第二送信部24は、ステップS1105で取得された第二データ(β)を認証装置1に送信する。
(ステップS1107)被認証装置6の第二演算部632は、第n+1の認証情報(An+1)と第nの秘匿情報(Mn)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第二秘匿情報納部212に蓄積する。また、第二演算部632は、記号nをインクリメントする。ここで、被認証装置2のn回目の認証のための処理は完了する。
(ステップS1108)認証装置5の第一受信部14は、被認証装置6から第二データ(β)を受信する。そして、第一演算部525は、第nの認証情報(An)と第n+1の認証情報(An+1)と第nの秘匿情報(Mn)とを用いて、第一演算を行い、第一演算結果を取得する。つまり、第一演算部525は、演算式「第一演算結果=An+An+1+Mn」により、第一演算結果を取得する。
次に、第一認証部126は、取得した第一演算結果が受信された第二データ(β)と一致するか否かを判断する。第一認証部126が一致すると判断した場合はステップS1109に行き、一致しないと判断した場合はステップS1110に行く。なお、第一演算は、ここでは、例えば、和演算である。
(ステップS1109)ステップS1109に制御が移る場合は、認証が成立した場合である。そして、第一変換部123は、ステップS1103で取得した第n+1の認証情報(An+1)を第一認証情報格納部113に蓄積する。また、第一演算部525は、第n+1の認証情報(An+1)と第nの秘匿情報(Mn)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第一秘匿情報納部114に蓄積する。また、第一演算部525は、記号nをインクリメントする。なお、第一認証結果処理部127は、認証許可に対応する処理を行っても良い。また、第二演算は、ここでは、例えば、和演算である。
(ステップS1110)ステップS1110に制御が移る場合は、認証が不成立である場合である。そして、第一認証結果処理部127は、認証不許可に対応する処理を行う。かかる処理は、例えば、エラーメッセージ等の認証装置1への送付である。
ここで、認証装置1のn回目の認証処理は完了する。
なお、図11のフローチャートにおいて、n+1回以降の認証処理時にも、同様に動作が行われる。
また、図11のフローチャートにおいて、認証装置5は、第一の認証情報(A1)に対応する第一データ(α)(第一の認証情報(A1)と第二の認証情報(A2)とを用いて取得されたα)、第二の認証情報(A2)に対応する第一データ(α)(第二の認証情報(A2)と第三の認証情報(A3)とを用いて取得されたα)、・・・、第nの認証情報(An)に対応する第一データ(α)(第nの認証情報(An)と第n+1の認証情報(An+1)とを用いて取得されたα)等を予め格納していても良い。かかる場合、ステップS1101からステップS1103の処理は省略可能である。また、かかる場合、ステップS1108の第一演算結果を取得する処理は省略可能である。
また、図11のフローチャートにおいて、認証装置5は、第一の第nの秘匿情報(M1)、・・・、第nの秘匿情報(Mn)を予め格納していても良い。かかる場合、ステップS1109における第n+1の秘匿情報(Mn+1)を取得し、蓄積する処理は省略可能である。
また、認証システムCが秘匿情報(Mn)を用いない場合、第一データ(α)は秘匿情報(Mn)を用いずに算出された情報である。認証システムAが秘匿情報(Mn)を用いない場合、ステップS1109で第n+1の秘匿情報(Mn+1)を算出する処理は必要ない。
以上、本実施の形態によれば、ワンタイムパスワードの認証処理において、一方向性変換関数の実行回数を少なくできるために、認証処理が高速に行える。なお、認証処理が高速に行えることは、認証処理の負荷を小さくできることである。
さらに具体的には、上記の図4、図11のフローチャートで示した通り、本認証方式では、認証時、認証装置5では認証情報の生成に、一方向性変換関数2回、第一演算(例えば、加算)1回、排他的論理和4回、第二演算(例えば、加算)1回を必要とする。そして、第一演算(例えば、加算)と排他的論理和と第二演算の各演算の処理負荷は、一方向性変換関数に比較して無視できるため、認証処理における処理負荷は、実質、一方向性変換関数の2回分の適用による負荷である、と言える。また、認証情報Anを保存しておけば、認証処理において、一方向性変換関数の適用は1回であり、極めて高速に認証処理が行える。
また、被認証装置6での処理負荷は、排他的論理和2回、第一演算(例えば、加算)1回、第二演算(例えば、加算)1回の処理の負荷であり、実質、それらの処理負荷は無視できる。
なお、上述した通り、本実施の形態において、次回認証情報と今回認証情報の融合演算(上記の第一演算)を、主として、加算としたが、次回認証情報と今回認証情報の融合演算を排他的論理和とする以外はあらゆる演算の使用が可能である。今回秘匿情報や任意の定数を付加する等も認められる。融合演算の組み合わせ情報を、今回認証情報によって秘匿化して認証装置1から被認証装置2へ送付し共有するなどのバリエーションも考えられる。
また、本実施の形態において、主として、次回秘匿情報を、次回認証情報と今回秘匿情報を加算することで算出したが、今回認証情報と今回秘匿情報の加算、あるいは今回認証情報と次回認証情報と今回秘匿情報の加算で算出しても良い。また、加算以外の演算、あるいは複数の演算の組み合わせにより次回秘匿情報を算出するようにしても良い。
また、上記の実施の形態において、認証終了後、認証装置5において、今回認証情報AnからH(An)を生成し、これを被認証装置6へ送付し、被認証装置6において被認証装置2で保持するAnから同様に生成したH(An)と比較し、同じであれば相互認証が成立するといった付加機能も実現でき得る。
上記の実施の形態で説明した認証システムは、情報通信システム等において,例えば、利用者や通信相手の資格認証、あるいは認証毎に変わる認証情報を用いて暗号鍵を生成し、当該暗号鍵を用いた暗号通信を実現するワンタイムパスワード認証処理方式に関するものである。
そして、上記の実施の形態で説明した認証システムにおける認証処理方法は、一般的なワンタイムパスワード認証方法として、クラウドシステムやアプリケーション提供サービスシステム等のログイン時の認証に適用できることはもちろんのこと、高速に認証情報を更新できる利点から、その認証情報をシーズにして暗号鍵を生成し、情報送信単位毎に異なる鍵で暗号通信を実現することができる。これは、低レイヤの通信においても実現可能で、レイヤ3においてパケット毎に違う鍵での暗号通信を実現する等の応用が可能となる。
また、本認証処理方法は、極めて高速であるため、例えば、認証情報が64ビットの場合、64ビットの平文に対して当該認証情報を排他的論理和で加え合わせるバーナム暗号を用いれば、64ビットの情報送信単位毎に異なる鍵で暗号通信を実現することも可能となる。
例えば、IoTにおいて端末側を被認証部、端末収容装置を認証部とすれば、被認証部の処理負荷はほぼ0であるので、前記バーナム暗号を用いれば暗号化・復号の処理なしに暗号通信を実現することができる。これは、センサネットワークやICタグ・RFIDのネットワーク等の処理能力が限られた装置のネットワークに対して、暗号通信の機能を付加できるということを意味している。
今後、IoTのインフラが普及してくることに伴い、家電、コネクティッドカー、スマートグリッドのみならず、センサネットワークやICタグ等、処理能力の低い装置も含んだ処理系においてセキュリティ通信の実現が求められる場合が増加してくると予想される。本認証処理方法により、このような環境においても、簡易に高速な認証と鍵配送、および高速な暗号通信を実現できるため、適当な暗号方法を組み合わせれば様々な局面でIoTのセキュリティ対策を実現することができる。
また、図12は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の認証装置1,3,5、被認証装置2,4,6を実現するコンピュータの外観の例を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図12は、このコンピュータシステム300の概観図であり、図13は、システム300のブロック図である。
図12において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図13において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の認証装置1等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の認証装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上のように、本発明にかかる認証システムは、ワンタイムパスワードの認証処理が高速にできるという効果を有し、認証システム等として有用である。
Claims (15)
- 認証される装置である被認証装置と当該被認証装置を認証する装置である認証装置とを具備する認証システムであって、
前記認証装置は、
第nの認証情報(An)と第n+1の認証情報(An+1)との排他的論理和の演算(An XOR An+1)を用いて取得された第一データ(α)が格納される第一データ格納部と、
前記第一データ(α)を前記被認証装置に送信する第一送信部と、
前記第一送信部が送信した第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)を用いて取得された第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信部と、
前記第一送信部が送信した第一データ(α)が取得される元になった、第nの認証情報(An)と第n+1の認証情報(An+1)とを用いた第一演算の結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証部と、
前記第一認証部の判断結果を用いた処理を行う第一認証結果処理部とを具備し、
前記被認証装置は、
第nの認証情報(An)が格納される第二認証情報格納部と、
前記第一データ(α)を前記認証装置から受信する第二受信部と、
前記第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)を行い、第n+1の認証情報(An+1)を取得する第二排他的論理和部と、
前記第二排他的論理和部が取得した前記第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて、前記第一演算を行い、第二データ(β)を取得する第二演算部と、
前記第二データ(β)を前記認証装置に送信する第二送信部とを具備する認証システム。 - 前記認証装置において、
記号nが格納される第一記号格納部をさらに具備し、
前記第一送信部は、
前記nと前記第一データ(α)とを前記被認証装置に送信し、
前記第二受信部は、
前記nと前記第一データ(α)とを前記認証装置から受信し、
前記第二排他的論理和部は、
前記第一データ(α)と、前記第二受信部が受信したnに対応する第nの認証情報(An)との排他的論理和の演算(α XOR An)を行い、第n+1の認証情報(An+1)を取得する請求項1記載の認証システム。 - 前記認証装置は、
パスワード(S)が格納される第一パスワード格納部と、
第n+1の乱数(Nn+1)を生成する第一乱数生成部と、
前記パスワード(S)と前記第n+1の乱数(Nn+1)との排他的論理和の演算(S XOR Nn+1)を行い、演算結果を取得する第一排他的論理和部と、
前記第一排他的論理和部が取得した演算結果に対して一方向性変換関数Hを施し、第n+1の認証情報(An+1)を取得する第一変換部とをさらに具備し、
前記第一排他的論理和部は、
前記第nの認証情報(An)と、前記第一変換部が取得した第n+1の認証情報(An+1)との排他的論理和の演算(An XOR An+1)を行い、第一データ(α)を取得し、
前記第一送信部が送信する前記第一データ(α)は、前記第一排他的論理和部が取得した第一データ(α)であり、
前記第nの認証情報(An)と前記第n+1の認証情報(An+1)とを用いて、前記第一演算を行い、第一演算結果を取得する第一演算部をさらに具備し、
前記第一認証部は、
前記第一演算部が取得した第一演算結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する請求項1または請求項2記載の認証装置。 - 前記第一乱数生成部は、
第一の乱数(N1)を生成し、
前記第一排他的論理和部は、
前記パスワード(S)と前記第一の乱数(N1)との排他的論理和の演算(S XOR N1)を行い、第一演算結果を取得し、
前記第一変換部は、
前記第一排他的論理和部が取得した第一演算結果に対して一方向性変換関数Hを施し、第一の認証情報(A1)を取得し、
前記第一送信部は、
前記第一の認証情報(A1)を前記被認証装置に送信し、
前記第二受信部は、
前記第一の認証情報(A1)を受信する、認証システムを構成する請求項3記載の認証装置。 - 前記認証装置において、
前記第一データ格納部に格納されている第一データ(α)は、前記第n+1の認証情報(An+1)と前記第nの認証情報(An)と第nの秘匿情報(Mn)とを用いて、排他的論理和の演算(An+1 XOR An XOR Mn)を行い、取得されたデータであり、
前記第二排他的論理和部は、
前記第一データ(α)と前記第nの認証情報(An)と前記第nの秘匿情報(Mn)とを用いて、排他的論理和の演算(α XOR An XOR Mn)を行い、第n+1の認証情報(An+1)を取得し、
前記第二演算部は、
前記第n+1の認証情報(An+1)と前記第nの秘匿情報(Mn)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得する請求項1から請求項4いずれか一項に記載の認証システム。 - 前記第一演算部は、
前記第nの認証情報(An)と、前記第n+1の認証情報(An+1)と、前記第nの秘匿情報(Mn)とを用いて、前記第一演算を行い、第一演算結果を取得し、
前記第二演算部は、
前記第二排他的論理和部が取得した前記第n+1の認証情報(An+1)と、前記第nの認証情報(An)と、前記第nの秘匿情報(Mn)とを用いて、前記第一演算を行い、第二データ(β)を取得する請求項1から請求項5いずれか一項に記載の認証システム。 - 前記認証装置において、
認証に使用する秘密の情報である第一の秘匿情報(M1)を生成する第一秘匿情報生成部をさらに具備し、
前記第一送信部は、
第一の認証情報(A1)と前記第一の秘匿情報(M1)とを前記被認証装置に送信し、
前記第二受信部は、
前記第一の認証情報(A1)と前記第一の秘匿情報(M1)とを受信する請求項5または請求項6記載の認証システム。 - 前記認証装置において、
前記第n+1の認証情報(An+1)と前記第nの認証情報(An)と前記第nの秘匿情報(Mn)との排他的論理和の演算(An+1 XOR An XOR Mn)を行い、第一データ(α)を取得する第一排他的論理和部をさらに具備し、
前記第一送信部は、
前記第一排他的論理和部が取得した第一データ(α)を前記被認証装置に送信し、
前記第nの認証情報(An)と前記第nの秘匿情報(Mn)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得する第一演算部をさらに具備する請求項5から請求項7いずれか一項に記載の認証システム。 - 第nの認証情報(An)と第n+1の認証情報(An+1)との排他的論理和の演算(An XOR An+1)を用いて取得された第一データ(α)が格納される第一データ格納部と、
前記第一データ(α)を被認証装置に送信する第一送信部と、
前記第一送信部が送信した第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)を用いて取得された第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信部と、
前記第一送信部が送信した第一データ(α)が取得される元になった、第nの認証情報(An)と第n+1の認証情報(An+1)とを用いた第一演算の結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証部と、
前記第一認証部の判断結果を用いた処理を行う第一認証結果処理部とを具備する認証装置。 - 第nの認証情報(An)が格納される第二認証情報格納部と、
第一データ(α)を認証装置から受信する第二受信部と、
前記第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)を行い、第n+1の認証情報(An+1)を取得する第二排他的論理和部と、
前記第二排他的論理和部が取得した前記第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて、第一演算を行い、第二データ(β)を取得する第二演算部と、
前記第二データ(β)を前記認証装置に送信する第二送信部とを具備する被認証装置。 - 被認証装置を認証する認証装置における、第nの認証情報(An)と第n+1の認証情報(An+1)との排他的論理和の演算(An XOR An+1)を用いて取得された第一データ(α)が格納される第一データ格納部と、第一送信部と、第一受信部と、第一認証部と、第一認証結果処理部と、および前記被認証装置における、第nの認証情報(An)が格納される第二認証情報格納部と、第二受信部と、第二排他的論理和部と、第二演算部と、第二送信部とにより実現される認証方法であって、
前記第一送信部が、前記第一データ(α)を前記被認証装置に送信する第一送信ステップと、
前記第二受信部が、第一データ(α)を前記認証装置から受信する第二受信ステップと、
前記第二排他的論理和部が、前記第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)を行い、第n+1の認証情報(An+1)を取得する第二排他的論理和ステップと、
前記第二演算部が、前記第二排他的論理和ステップで取得された前記第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて、第一演算を行い、第二データ(β)を取得する第二演算ステップと、
前記第二送信部が、前記第二データ(β)を前記認証装置に送信する第二送信ステップと、
前記第一受信部が、前記第一送信ステップで送信された第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)を用いて取得された第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信ステップと、
前記第一認証部が、前記第一送信ステップで送信された第一データ(α)が取得される元になった、第nの認証情報(An)と第n+1の認証情報(An+1)とを用いた第一演算の結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証ステップと、
前記第一認証結果処理部が、前記第一認証ステップにおける判断結果を用いた処理を行う第一認証結果処理ステップとを具備する認証方法。 - 第nの認証情報(An)と第n+1の認証情報(An+1)との排他的論理和の演算(An XOR An+1)を用いて取得された第一データ(α)が格納される第一データ格納部と、第一送信部と、第一受信部と、第一認証部と、第一認証結果処理部とにより実現される認証方法であって、
前記第一送信部が、前記第一データ(α)を被認証装置に送信する第一送信ステップと、
前記第一受信部が、前記第一送信ステップで送信された第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)を用いて取得された第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信ステップと、
前記第一認証部が、前記第一送信ステップで送信された第一データ(α)が取得される元になった、第nの認証情報(An)と第n+1の認証情報(An+1)との第一演算の結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証ステップと、
前記第一認証結果処理部が、前記第一認証ステップにおける判断結果を用いた処理を行う第一認証結果処理ステップとを具備する認証方法。 - 第nの認証情報(An)が格納される第二認証情報格納部と、第二受信部と、第二排他的論理和部と、第二演算部と、第二送信部とにより実現される被認証方法であって、
前記第二受信部が、第一データ(α)を認証装置から受信する第二受信ステップと、
前記第二排他的論理和部が、前記第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)を行い、第n+1の認証情報(An+1)を取得する第二排他的論理和ステップと、
前記第二演算部が、前記第二排他的論理和ステップで取得された前記第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて、第一演算を行い、第二データ(β)を取得する第二演算ステップと、
前記第二送信部が、前記第二データ(β)を前記認証装置に送信する第二送信ステップとを具備する被認証方法。 - 第nの認証情報(An)と第n+1の認証情報(An+1)との排他的論理和の演算(An XOR An+1)を用いて取得された第一データ(α)が格納される第一データ格納部にアクセス可能なコンピュータを、
前記第一データ(α)を被認証装置に送信する第一送信部と、
前記第一送信部が送信した第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)を用いて取得された第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信部と、
前記第一送信部が送信した第一データ(α)が取得される元になった、第nの認証情報(An)と第n+1の認証情報(An+1)とを用いた第一演算の結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証部と、
前記第一認証部の判断結果を用いた処理を行う第一認証結果処理部として機能させるためのプログラム。 - 第nの認証情報(An)が格納される第二認証情報格納部にアクセス可能なコンピュータを、
第一データ(α)を認証装置から受信する第二受信部と、
前記第一データ(α)と前記第nの認証情報(An)との排他的論理和の演算(α XOR An)を行い、第n+1の認証情報(An+1)を取得する第二排他的論理和部と、
前記第二排他的論理和部が取得した前記第n+1の認証情報(An+1)と、前記第nの認証情報(An)とを用いて、第一演算を行い、第二データ(β)を取得する第二演算部と、
前記第二データ(β)を前記認証装置に送信する第二送信部として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020509849A JP7119071B2 (ja) | 2018-03-30 | 2019-03-12 | 認証システム、認証装置、認証方法、およびプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-067464 | 2018-03-30 | ||
JP2018067464 | 2018-03-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019188251A1 true WO2019188251A1 (ja) | 2019-10-03 |
Family
ID=68061697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/009992 WO2019188251A1 (ja) | 2018-03-30 | 2019-03-12 | 認証システム、認証装置、被認証装置、認証方法、被認証方法、およびプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7119071B2 (ja) |
WO (1) | WO2019188251A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07162950A (ja) * | 1993-12-02 | 1995-06-23 | Matsushita Electric Ind Co Ltd | 無線電話装置 |
JPH11212850A (ja) * | 1998-01-29 | 1999-08-06 | Hitachi Ltd | 暗号化共有ファイル送受信システム |
WO2005057372A2 (en) * | 2003-12-09 | 2005-06-23 | Intelleflex Corporation | Security system and method |
JP2007226545A (ja) * | 2006-02-23 | 2007-09-06 | Trinity Security Systems Inc | 情報管理装置、情報管理方法および情報管理プログラム |
-
2019
- 2019-03-12 JP JP2020509849A patent/JP7119071B2/ja active Active
- 2019-03-12 WO PCT/JP2019/009992 patent/WO2019188251A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07162950A (ja) * | 1993-12-02 | 1995-06-23 | Matsushita Electric Ind Co Ltd | 無線電話装置 |
JPH11212850A (ja) * | 1998-01-29 | 1999-08-06 | Hitachi Ltd | 暗号化共有ファイル送受信システム |
WO2005057372A2 (en) * | 2003-12-09 | 2005-06-23 | Intelleflex Corporation | Security system and method |
JP2007226545A (ja) * | 2006-02-23 | 2007-09-06 | Trinity Security Systems Inc | 情報管理装置、情報管理方法および情報管理プログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019188251A1 (ja) | 2021-04-01 |
JP7119071B2 (ja) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101130415B1 (ko) | 비밀 데이터의 노출 없이 통신 네트워크를 통해 패스워드 보호된 비밀 데이터를 복구하는 방법 및 시스템 | |
US8675864B2 (en) | Apparatus for encrypting data | |
EP3299990A1 (en) | Electronic device server and method for communicating with server | |
KR20180066048A (ko) | 컴퓨터 네트워크를 개선하기 위한 컴퓨터로-구현되는 암호화 방법, 및 단말, 시스템 및 이를 위한 컴퓨터-판독 가능한 매체 | |
JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
KR20170057549A (ko) | 해시함수 기반의 대규모 동시 전자서명 서비스 시스템 및 그 방법 | |
US20180063105A1 (en) | Management of enciphered data sharing | |
US9917695B2 (en) | Authenticated encryption method using working blocks | |
CN108632031B (zh) | 密钥生成装置及方法、加密装置及方法 | |
JP6473876B2 (ja) | セキュアネットワーク通信方法 | |
US11290277B2 (en) | Data processing system | |
KR20180113688A (ko) | 장치 인증키를 이용한 데이터 암호화 방법 및 시스템 | |
JP7193184B2 (ja) | マルチキャストグループ内の購読者にキーデータを伝送するデバイス | |
CN111277605B (zh) | 数据分享方法、装置、计算机设备以及存储介质 | |
CN116599719A (zh) | 一种用户登录认证方法、装置、设备、存储介质 | |
WO2019188251A1 (ja) | 認証システム、認証装置、被認証装置、認証方法、被認証方法、およびプログラム | |
JP7161416B2 (ja) | 認証システム、被認証装置、認証装置、認証方法、およびプログラム | |
WO2017030117A1 (ja) | 通信データの暗号化/復号方法及びシステム | |
JP5691549B2 (ja) | ポリシ管理サーバ装置、サーバ装置、クライアント装置、及びこれらを有する暗号アルゴリズム切換システム | |
KR102526114B1 (ko) | 암호화 및 복호화를 위한 장치 및 방법 | |
KR101865703B1 (ko) | 키 생성 방법 및 장치, 암호화 장치 및 방법 | |
KR20200088595A (ko) | 세션 키를 생성하는 방법 및 그 전자장치 | |
KR20150034591A (ko) | 암호화된 데이터를 재암호화하는 클라우드 서버 및 그것의 재암호화 방법 | |
JP6353548B2 (ja) | エンティティの識別方法、装置及びシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19776856 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020509849 Country of ref document: JP Kind code of ref document: A |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19776856 Country of ref document: EP Kind code of ref document: A1 |