WO2017033267A1 - なりすまし検知システム - Google Patents

なりすまし検知システム Download PDF

Info

Publication number
WO2017033267A1
WO2017033267A1 PCT/JP2015/073764 JP2015073764W WO2017033267A1 WO 2017033267 A1 WO2017033267 A1 WO 2017033267A1 JP 2015073764 W JP2015073764 W JP 2015073764W WO 2017033267 A1 WO2017033267 A1 WO 2017033267A1
Authority
WO
WIPO (PCT)
Prior art keywords
phase
authentication
server
time
mutual authentication
Prior art date
Application number
PCT/JP2015/073764
Other languages
English (en)
French (fr)
Inventor
大河 克好
Original Assignee
株式会社Pips
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Pips filed Critical 株式会社Pips
Priority to PCT/JP2015/073764 priority Critical patent/WO2017033267A1/ja
Priority to JP2016502822A priority patent/JP5939728B1/ja
Priority to CN201580060504.5A priority patent/CN107111709B/zh
Publication of WO2017033267A1 publication Critical patent/WO2017033267A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication

Definitions

  • the present invention relates to an impersonation detection system.
  • the present invention has been made in view of the above problems, and an object thereof is to obtain a spoofing detection system that detects spoofing in a relatively short time.
  • the computer program according to the present invention executes a phase 1 mutual authentication between a computer in a terminal device and an authentication server when logging in to the predetermined service from the terminal device, and at least from logout from the predetermined service to the predetermined service.
  • the authentication server is operated as an authentication processing unit that repeatedly performs mutual authentication in phase 2 with the authentication server.
  • the authentication processing unit executes the mutual authentication of the phase 1 immediately after detecting the failure of the mutual authentication of the phase 2, and determines that the impersonation has occurred when the mutual authentication of the phase 1 fails.
  • an impersonation detection system that detects impersonation in a relatively short time can be obtained.
  • FIG. 9 is a sequence diagram illustrating details of the initial mutual authentication (step S8a) in phase 2 in FIG.
  • FIG. 10 is a sequence diagram illustrating details of the second and subsequent mutual authentications (step S8) in phase 2 in FIG.
  • FIG. 11 is a diagram illustrating an example of the structure of the seed table 71 according to the second embodiment.
  • FIG. 12 is a diagram showing an example of the authenticator table 72 (phase 1 table 72a, phase 2 table 72b) in the second embodiment.
  • FIG. 13 is a flowchart for explaining data processing by the authentication server 3 in the second embodiment (1/2).
  • FIG. 14 is a flowchart for explaining data processing by the authentication server 3 in the second embodiment (2/2).
  • Embodiment 1 FIG.
  • FIG. 1 is a block diagram showing a configuration of a spoofing detection system according to an embodiment of the present invention.
  • a terminal device 1 as a client is connected to a network 2 such as the Internet, and an authentication server 3 and a service server 4 are connected to the network 2.
  • a network 2 such as the Internet
  • an authentication server 3 and a service server 4 are connected to the network 2.
  • the terminal device 1 is a user terminal device for enjoying a predetermined network service provided by the service server 4 via the network 2.
  • the terminal device 1 is a device incorporating a computer such as a personal computer.
  • the network 2 includes a wired and / or wireless LAN (Local Area Network) and / or a WAN (Wide Area Network) such as the Internet.
  • LAN Local Area Network
  • WAN Wide Area Network
  • the one-time authenticator is a one-time ID, but may be a one-time password. In that case, a fixed terminal ID is used together with the one-time password.
  • the terminal device 1 derives the initial authentication seed for Phase 2 from the next authentication seed in Phase 1, generates a one-time authenticator from the initial authentication seed, and performs one-time authentication. If the authentication is successful for the child, the next authentication seed in phase 2 is generated, and a one-time authenticator is generated based on the next authentication seed.
  • the terminal device 1 When the log-out from the predetermined service is detected, the terminal device 1 starts the mutual authentication of the phase 2 immediately, repeats the mutual authentication of the phase 2 at predetermined time intervals, and the mutual authentication of the phase 2 fails. Immediately after detecting (i.e., regardless of service login), the mutual authentication of phase 1 is executed. When the mutual authentication of phase 1 fails, it is determined that impersonation has occurred.
  • the authentication server 3 notifies the service server 4 of the authentication result of the mutual authentication in phase 1 but does not notify the service server 4 of the authentication result of the mutual authentication in phase 2. By doing so, the load caused by the mutual authentication in phase 2 is not applied to the service server 4.
  • FIG. 1 only one terminal device 1 is provided. However, it is also possible to hold different seeds in each of the plurality of terminal devices 1 and perform authentication with different one-time authenticators. In that case, the authentication server 3 performs mutual authentication based on the one-time authentication independently with each of the plurality of terminal devices 1.
  • FIG. 2 is a block diagram showing a configuration of the terminal device 1 in FIG.
  • the interface 14 is an interface circuit to which the storage device 15 can be connected.
  • the storage device 15 is connected to the interface 14 and has a recording medium that stores an operating system (not shown), a one-time authentication program 31, an application program for enjoying a predetermined service, and the like.
  • a hard disk drive, SSD (Solid State Disk), or the like is used as the storage device 15.
  • the interface 16 is an interface circuit to which the communication device 17 can be connected.
  • the communication device 17 is a device that can be connected to the network 2 such as a network interface or a modem.
  • the interface 18 is a peripheral device interface such as IEEE1394 or USB (Universal Serial Bus).
  • the interface 20 is an interface circuit to which the input device 21 can be connected.
  • the input device 21 is a device that receives a user operation such as a keyboard and a mouse and outputs a signal corresponding to the user operation.
  • the image processing circuit 22 is a circuit that outputs an image signal corresponding to the data when the image data is written.
  • a display device 23 that displays an image based on the image signal can be connected to the image processing circuit 22.
  • FIG. 3 is a block diagram showing a processing unit realized in the terminal device 1 shown in FIG. As illustrated in FIG. 3, in the terminal device 1, a communication processing unit 41, an authentication processing unit 42, and an application 43 are realized by executing the above-described program.
  • the communication processing unit 41 uses the communication device 17 to perform data communication with the authentication server 3, the service server 4 and the like via the network 2 using a predetermined communication protocol.
  • the authentication processing unit 42 is realized by the CPU 11 executing the one-time authentication program 31, and uses the communication processing unit 41 to perform phase 1 and phase 2 based on the one-time authentication with the authentication server 3. Perform mutual authentication. At that time, the authentication processing unit 42 executes client-side processing in mutual authentication.
  • the application 43 uses the communication processing unit 41 to execute data communication with the service server 4 and enjoy a predetermined service provided by the service server 4. Note that provision of a predetermined service to the application 43 is started after successful mutual authentication in Phase 1.
  • FIG. 4 is a block diagram showing a configuration of the authentication server 3 in FIG.
  • a CPU 51 is an arithmetic processing unit that executes a program and executes a process described in the program.
  • the ROM 52 is a nonvolatile memory that stores programs and data in advance.
  • the RAM 53 is a memory that temporarily stores the program and data when the program is executed.
  • the interface 54 is an interface circuit to which the storage device 55 can be connected.
  • the storage device 55 is a device that is connected to the interface 54 and has a recording medium that stores an operating system (not shown), a one-time authentication program 61, data used for authentication, and the like.
  • As the storage device 55 a hard disk drive, SSD, or the like is used.
  • the storage device 55 holds a seed table 71, an authenticator table 72, and a terminal attribute table 73 as data used for authentication.
  • the seed table 71 includes a next authentication seed and a next authentication common encryption key for each of the phase 1 and the phase 2 that are updated at the time of the last authentication.
  • the next authentication seed and the next authentication common encryption key are held separately for each of one or a plurality of terminal devices 1 (that is, client-side devices).
  • the authenticator table 72 has a client-side one-time authenticator for next authentication for each of the phase 1 and the phase 2 updated at the last authentication.
  • the authenticator table 72 includes a phase 1 table 72a and a phase 2 table 72b.
  • the phase 1 table 72a has a client-side one-time authenticator for the next authentication for phase 1
  • the phase 2 table 72b has a client-side one-time authenticator for the next authentication for phase 2.
  • the client-side one-time authenticator for next authentication is held separately for each of one or a plurality of terminal devices 1.
  • FIG. 5 is a block diagram showing a processing unit realized in the authentication server 3 shown in FIG. As shown in FIG. 5, in this authentication server 3, a communication processing unit 81 and a server side authentication processing unit 82 are realized.
  • the communication processing unit 81 uses the communication device 57 to perform data communication with the terminal device 1, the service server 4 and the like via the network 2 using a predetermined communication protocol.
  • the server-side authentication processing unit 82 is realized by the CPU 51 executing the one-time authentication program 61 and uses the communication processing unit 81 to perform a phase based on one-time authentication with one or a plurality of terminal devices 1.
  • the server side processing in the mutual authentication of 1 and phase 2 is executed.
  • the authentication process part 42 sets the value (here 1) which shows the phase 1 to the phase flag P (step S2).
  • the phase flag P is data indicating an authentication phase.
  • the current phase is identified from the value of the phase flag P.
  • one-time authentication in phase 1 is executed between the authentication processing unit 42 of the terminal device 1 and the server side authentication processing unit 82 of the authentication server 3 (step S3).
  • the authentication processing unit 42 generates a client-side one-time authenticator from the held client-side and server-side seeds, generates a next authentication seed, encrypts it, and generates the generated one-time authentication.
  • the child and the encrypted seed for next authentication are transmitted to the authentication server 3.
  • the server-side authentication processing unit 82 receives the one-time authenticator and the encrypted seed for next authentication, and determines whether or not the one-time authenticator is valid. If the one-time authenticator is valid, the server-side authentication processing unit 82 decrypts and holds the next-side authentication seed on the client side.
  • the initial value of the client-side seed, the initial value of the server-side seed, and the initial value of the common encryption key in the phase 1 are preset in the terminal device 1 and the authentication server 3. In the authentication server 3, their initial values are set in association with the terminal device 1.
  • the same seed as the seed of the terminal device 1 (that is, the seed on the client side and the server side) is held in the seed table 71, and the client side one-time authenticator for next authentication in the phase 1 is stored. Are stored in the authenticator table 72.
  • the next authentication client-side one-time authenticator is generated at the previous authentication and written in the authenticator table 72.
  • This next authentication client-side one-time authenticator is used to determine the validity of the one-time authenticator transmitted from the terminal device 1. That is, when the one-time authenticator transmitted from the terminal device 1 matches the one-time authenticator stored in the authenticator table 72, it is determined that the one-time authenticator is valid.
  • the authentication server 3 transmits an authentication result indicating that the authentication of the terminal device 1 is successful to the service server 4.
  • the service server 4 permits service login from the terminal device 1.
  • the application 43 of the terminal device 1 transmits a service login request to the service server 4 to log in the service (step 5), and receives a predetermined service from the service server 4.
  • the server-side authentication processing unit 82 When the one-time authentication in phase 1 is successful, in the authentication server 3, the server-side authentication processing unit 82 generates a client-side one-time authenticator from the next authentication seed, and in the authenticator table 72, the terminal device 1 The one-time authenticator on the client side for the next authentication in phase 1 is updated.
  • a predetermined service is provided, and the authentication processing unit 42 detects service logout of the application 43 (step S6). For example, when a logout request is explicitly transmitted from the application 43 to the service server 4, when the application 43 is terminated, and when a user operation on the application 43 is not detected for a predetermined period, the application 43 generates a service logout. It is determined that
  • the authentication processing unit 42 sets a value (here, 2) indicating the phase 2 in the phase flag P (step S7).
  • step S8a the first authentication in phase 2 is executed at a timing when authentication is required.
  • the initial value of the seed for Phase 2 is derived from the seed updated in the authentication in Phase 1 (that is, the seed for next authentication in Phase 1).
  • the seed value updated by the authentication in phase 1 is set as the initial value of the seed for phase 2.
  • step S8 one-time authentication (step S8) in phase 2 is repeatedly executed between the authentication processing unit 42 of the terminal device 1 and the server-side authentication processing unit 82 of the authentication server 3.
  • the authentication processing unit 42 In the first one-time authentication in phase 2 (step S8a), the authentication processing unit 42 generates a one-time authenticator from the seed having the initial value, and also generates and encrypts the next authentication seed in phase 2. The one-time authenticator and the encrypted seed for next authentication are transmitted to the authentication server 3.
  • Step S8 the authentication processing unit 42 of the terminal device 1 generates a next authentication seed on the client side, and the client The one-time authenticator generated from the side and server side seeds and the encrypted next authentication seed are transmitted to the authentication server 3.
  • the server-side authentication processing unit 82 determines the current one-time authenticator on the client side based on the next authentication seed transmitted during the previous authentication. Then, when the one-time authenticator and the encrypted next-time authentication seed are received from the terminal device 1, the calculated one-time authenticator determines whether or not the received one-time authenticator is valid. Determine based on. If the one-time authenticator is valid, the server-side authentication processing unit 82 decrypts and holds the next authentication seed (that is, updates the next authentication seed in phase 2).
  • FIG. 7 is a sequence diagram for explaining impersonation detection processing in the system shown in FIG.
  • step S8a and S8 the mutual authentication of phase 2 is repeatedly executed.
  • the authentication processing unit 42 of the terminal device 1 detects the failure of the mutual authentication in phase 2, the value of the phase flag P is set to 1 (step S205), and the mutual authentication in phase 1 is executed (step S206).
  • the authentication processing unit 42 of the terminal device 1 fails in the mutual authentication in phase 1.
  • the authentication server 3 fails in the one-time authentication of the terminal device 1 in the phase 1, and as a result, the terminal device 1 also fails in the one-time authentication of the authentication server 3 in the phase 1.
  • the terminal device 1 holds a common encryption key for phase 1 in addition to the seed.
  • the authentication server 3 holds the same common encryption key as a common encryption key for phase 1. That is, the initial value of the common encryption key for phase 1 is set in advance in the terminal device 1 and the authentication server 3. As will be described later, the value of the common encryption key in phase 1 is updated each time authentication in phase 1 succeeds.
  • seed R1 (n-1) is a phase 1 client-side seed for the current (n-1) one-time authentication.
  • the seed Q1 (n-1) is a phase 1 server-side seed for the one-time authentication of this time (n-1).
  • the common encryption key K1 (n-1) is transmitted when the next authentication phase 1 client-side seed R1 (n) is transmitted to the authentication server 3 during the next time (n-1) one-time authentication. ) Is a phase 1 common encryption key for encrypting.
  • the authentication processing unit 42 generates a random number R, and sets the random number R in the phase 1 client-side seed R1 (n) for the next authentication (step S21).
  • the authentication processing unit 42 generates a phase 1 client side one-time authenticator C1 (n-1) for the current one-time authentication (step S22).
  • R1 (n-1) is used as the first argument of the hash function hc
  • Q1 (n-1) is used as the second argument.
  • the authentication processing unit 42 uses the communication processing unit 41 to transmit the one-time authenticators C1 (n-1) and K1 (n-1) * R1 (n) to the authentication server 3 (step S23). .
  • the communication processing unit 41 transmits the one-time authenticators C1 (n ⁇ 1) and K1 (n ⁇ 1) * R1 (n) as one message.
  • the server-side authentication processing unit 82 uses the communication processing unit 81 to receive the message, and from the message, the one-time authenticators C1 (n-1) and K1 (n-1) * R1 (N) is extracted, and it is determined whether or not the received one-time authenticator C1 (n ⁇ 1) matches the held client-side one-time authenticator for phase 1 (step S24).
  • phase 1 client-side one-time authenticator and the phase 2 client-side one-time authenticator have the same data format (that is, the same data length), and the encrypted phase 1 client-side seed and the encrypted Since the phase 2 client-side seed has the same data format (that is, the same data length), it cannot be distinguished from the received data alone whether it is a phase 1 one-time authenticator or a phase 2 one-time authenticator.
  • the server-side authentication processing unit 82 determines whether or not the received one-time authenticator matches the one-time authenticator stored in the phase 1 table 72a, and whether the received one-time authenticator is the phase 2 It is determined whether or not the one-time authenticator stored in the table 72b matches, and the received one-time authenticator is a valid one-time authenticator of phase 1, a valid one-time authenticator of phase 2, and Determine whether it is an invalid one-time authenticator.
  • the server-side authentication processing unit 82 determines that the authentication has failed and ends the process.
  • the server-side authentication processing unit 82 determines that the authentication is successful. First, a random number Q is generated, and the random number Q is set in the next authentication phase 1 server-side seed Q1 (n) (step S25).
  • the one-time authenticator S1 (n-1) is calculated with a one-way function.
  • This one-way function is a function that takes two arguments and has different function values depending on the order of the arguments.
  • the one-way function is a hash function hs.
  • the one-time authenticator S1 (n-1) is calculated according to the following formula.
  • R1 (n) is used as the first argument of the hash function hs
  • Q1 (n-1) is used as the second argument.
  • the hash function hs may be the same function as the hash function hc or a different function.
  • phase 1 server-side one-time authenticator and the phase 2 server-side one-time authenticator have the same data format (that is, the same data length), and the encrypted phase 1 server-side seed and the encrypted one-time authenticator Since the phase 2 server-side seed has the same data for waiting (that is, the same data length), it can be distinguished only from the received data whether it is a phase 1 one-time authenticator or a phase 2 one-time authenticator. Absent. For this reason, the authentication processing unit 42 of the terminal device 1 specifies the phase by the value of the phase flag P, and handles the received one-time authenticator as the specified one-time authenticator.
  • the authentication processing unit 42 uses the communication processing unit 41 to receive the message and extract the one-time authenticators S1 (n-1) and K1 (n-1) * Q1 (n) To do. Then, based on the value of the phase flag P, the authentication processing unit 42 specifies that the received one-time authenticator is a phase 1 one-time authenticator (step S28).
  • the authentication processing unit 42 determines that the authentication has failed and ends the process.
  • the authentication processing unit 42 determines that the authentication is successful, and first holds K1 (n-1) * Q1 (n).
  • K1 (n-1) is decrypted to Q1 (n), and this value is set as the seed for the next authentication phase 1 server.
  • the authentication processing unit 42 calculates the next authentication phase 1 common encryption key K1 (n) according to the following equation, and updates the phase 1 common encryption key (step S30).
  • K1 (n) hk (K1 (n-1), R1 (n), Q1 (n))
  • hk is a one-way function and a hash function.
  • the authentication processing unit 42 uses the seed and common encryption key held in the terminal device 1 as R1 (n), Q1 (n), and K1 ( Update in n).
  • the server-side authentication processing unit 82 calculates the next authentication phase 1 common encryption key K1 (n) according to the above formula, Similarly, the phase 1 common encryption key is updated (step S31).
  • the server side authentication processing unit 82 sets the values of the seeds R1 (n) and Q1 (n) of the phase 1 as initial values to the client side seed R2 (0) and the server side seed Q2 (0) of the phase 2. It is set (step S32), and the value of the common encryption key K1 (n) of phase 1 is set as the initial value to the common encryption key K2 (0) of phase 2 (step S33). At this time, the server-side authentication processing unit 82 calculates the initial client-side one-time authenticator C2 (0) of phase 2 from R2 (0) and Q2 (0) according to the formula described later, and the phase 2 table Write to 72b and hold.
  • the server-side authentication processing unit 82 calculates a client-side one-time authenticator C1 (n) to be used at the next one-time authentication in Phase 1 from R1 (n) and Q1 (n) according to the above formula. . And the server side authentication process part 82 updates the data of the phase 1 about the terminal device 1 in the seed table 71 with R1 (n), Q1 (n), and K1 (n), and C1 (n), The one-time authenticator for the terminal device 1 in the phase 1 table 72a is updated. As a result, these values are held until the next session (that is, the next phase 1 authentication).
  • FIG. 9 is a sequence diagram illustrating details of the initial mutual authentication (step S8a) in phase 2 in FIG.
  • FIG. 10 is a sequence diagram illustrating details of the second and subsequent mutual authentications (step S8) in phase 2 in FIG.
  • the initial values of the seed and the common encryption key are derived from the seed and the common encryption key in phase 1 (steps S41 and S42 in FIG. 9).
  • the seed and the common encryption key used in the phase 2 mutual authentication started at the previous service logout are discarded at the current service log-in, and the initial values are set again at the current service logout.
  • the authentication processing unit 42 of the terminal device 1 first uses the values of the seeds R1 (n) and Q1 (n) of the phase 1 as initial values, and the client-side seed R2 (0) and the server-side seed of the phase 2 Q2 (0) is set (step S41), and the value of the phase 1 common encryption key K1 (n) is set to the phase 2 common encryption key K2 (0) as an initial value (step S42).
  • the client-side seed R1, the server-side seed Q2, and the common encryption key K2 of the phase 2 are held in the RAM 13 and are not held in the storage device 15.
  • the authentication processing unit 42 erases the seeds R1 (n) and Q1 (n) and the common encryption key K1 (n) of the phase 1 from the RAM 13. Note that the seeds R1 (n) and Q1 (n) of the phase 1 and the common encryption key K1 (n) are held in the storage device 15.
  • the one-time authenticator C2 (n-1) is calculated with a one-way function.
  • This one-way function is a function that takes two arguments and has different function values depending on the order of the arguments.
  • this one-way function is the hash function hc described above.
  • the one-time authenticator C2 (n-1) is calculated according to the following formula.
  • Q2 (n-1) is used as the first argument of the hash function hc
  • R2 (n-1) is used as the second argument.
  • the authentication processing unit 42 uses the communication processing unit 41 to transmit the one-time authenticators C2 (n ⁇ 1) and K2 (n ⁇ 1) * R2 (n) to the authentication server 3 (step S45). .
  • the communication processing unit 41 transmits the one-time authenticators C2 (n ⁇ 1) and K2 (n ⁇ 1) * R2 (n) as one message.
  • the server-side authentication processing unit 82 receives the reception as described above. If the one-time authenticator C2 (n-1) is not a phase 1 one-time authenticator, it is determined that the authentication has failed, and the process ends.
  • the server-side authentication processing unit 82 determines that the authentication is successful, Q is generated, and the random number Q is set in the next authentication phase 2 server-side seed Q2 (n) (step S47).
  • the server-side authentication processing unit 82 decrypts K2 (n ⁇ 1) * R2 (n) into R2 (n) using the common encryption key K2 (n ⁇ 1) that is held. Then, the server-side authentication processing unit 82 generates the current (n-1) one-time authentication phase 2 server-side one-time authenticator S2 (n-1) (step S48).
  • the one-time authenticator S2 (n-1) is calculated with a one-way function.
  • This one-way function is a function that takes two arguments and has different function values depending on the order of the arguments.
  • this one-way function is the hash function hs described above.
  • the one-time authenticator S2 (n-1) is calculated according to the following formula.
  • the server side authentication processing unit 82 encrypts Q2 (n) with the common encryption key K2 (n-1) according to a predetermined encryption method.
  • Q2 (n) after encryption with the common encryption key K2 (n-1) is expressed as K2 (n-1) * Q2 (n).
  • Server-side authentication processing unit 82 uses communication processing unit 81 to transmit one-time authenticators S2 (n ⁇ 1) and K2 (n ⁇ 1) * Q2 (n) to terminal device 1 (step S1). S49). At this time, the communication processing unit 81 transmits the one-time authenticators S2 (n-1) and K2 (n-1) * Q2 (n) as one message. Therefore, when the authentication server 3 fails in the one-time authentication of the terminal device 1, this message is not transmitted. Therefore, if the terminal device 1 does not receive this message, it determines that the one-time authentication of the terminal device 1 in the authentication server 3 has failed.
  • the authentication processing unit 42 uses the communication processing unit 41 to receive the message and extract one-time authenticators S2 (n-1) and K2 (n-1) * Q2 (n) To do. Based on the value of the phase flag P, the authentication processing unit 42 specifies that the received one-time authenticator is a one-time authenticator of phase 2 (step S50).
  • the authentication processing unit 42 calculates the value of the valid one-time authenticator S2 (n-1) according to the above formula, and receives the received one-time authenticator S2 It is determined whether (n-1) matches the calculated value (step S51).
  • the authentication processing unit 42 determines that the authentication has failed and ends the process.
  • the authentication processing unit 42 determines that the authentication is successful, and first holds K2 (n-1) * Q2 (n).
  • K2 (n-1) is decrypted to Q2 (n), and this value is set in the next authentication phase 2 server side seed.
  • the authentication processing unit 42 calculates the next authentication phase 2 common encryption key K2 (n) according to the following equation and updates the phase 2 common encryption key (step S52).
  • K2 (n) hk (K2 (n-1), R2 (n), Q2 (n))
  • the authentication processing unit 42 stores on the RAM 13 R2 (n), Q2 (n), and K2 (n) until the next phase 2 one-time authentication. ).
  • this time interval is preferably as short as possible, but is determined based on the number of terminal devices 1 and the processing capability of the authentication server 3.
  • the authentication server 3 performs phase 1 mutual authentication with the terminal device 1 when logging in to the predetermined service, and logs out of the predetermined service to change to the predetermined service. During the period until the next login, the mutual authentication in the phase 2 is repeatedly performed with the terminal device 1.
  • the terminal device 1 executes the mutual authentication of the phase 1 immediately when detecting the failure of the mutual authentication of the phase 2, and determines that the impersonation has occurred when the mutual authentication of the phase 1 fails.
  • phase 1 table 72a (a) the phase 1 client-side one-time authenticator C1 (n) for the next authentication is held in association with the management number.
  • phase 2 table 72b (b) a phase 2 client-side one-time authenticator C2 (n) for next authentication is held in association with the management number.
  • FIG. 11 is a diagram illustrating an example of the structure of the seed table 71 according to the second embodiment.
  • FIG. 12 is a diagram showing an example of the authenticator table 72 (phase 1 table 72a, phase 2 table 72b) in the second embodiment.
  • the phase 1 address in FIG. 11 is data indicating the position of the record having the same management number as the management number associated with the phase 1 address in the phase 1 table 72a.
  • the phase 2 address in FIG. 11 is data indicating the position of a record having the same management number as the management number associated with the phase 2 address in the phase 2 table 72b.
  • the server-side authentication processing unit 82 sorts the records (one-time authenticator and management number pair) in the phase 1 table 72a in ascending order of the values of the one-time authenticator. Similarly, the records in the phase 2 table 72b (one-time authenticator and management number pair) are sorted in ascending order of the one-time authenticator values. Thereby, it is possible to quickly determine whether or not the one-time authenticator received from the client is registered in the tables 72a and 72b during the one-time authentication.
  • the seed table 71, the phase 1 table 72a, and the phase 2 table 72b have a predetermined number of records (that is, the number of terminal devices) in advance, and fields other than the management number in the record have initial values. Is set.
  • FIGS. 13 and 14 are flowcharts for explaining data processing by the authentication server 3 in the second embodiment.
  • the server-side authentication processing unit 82 receives a message including the one-time authenticator C (phase 1 or phase 2 one-time authenticator) from the terminal device 1, the one-time authenticator C It is determined whether or not any of the phase 1 client-side one-time authenticators C1 (n ⁇ 1) registered in the 1 table 72a (step S101).
  • the server-side authentication processing unit 82 reads Q1 (n-1) and K1 (n-1) associated with the specified management number from the seed table 71 (step S103).
  • the server-side authentication processing unit 82 decrypts the received K1 (n ⁇ 1) * R1 (n) to R1 (n) with the read K1 (n ⁇ 1), and R1 (n) Write to the seed table 71 in association with the management number (step S104).
  • the server side authentication processing unit 82 generates a server side seed for next authentication.
  • the server-side authentication processing unit 82 uses this random number Q as the next-authentication server-side seed
  • the phase-one client-side one-time authenticator for the next authentication becomes another phase 1
  • the initial phase-two client-side one-time authenticator is another phase-two client.
  • it is determined whether or not it matches either the side one-time authenticator or the phase 1 client-side one-time authenticator (step S107). That is, it is determined whether or not the uniqueness of the client-side one-time authenticator (that is, that there is no other one-time authenticator having the same value) when the generated random number Q is used is determined.
  • the server-side authentication processing unit 82 uses the random number Q as the next authentication server-side seed according to the following formula, and the next-time authentication phase 1 client-side one-time authenticator X1 and the first-time phase 2 client-side
  • the one-time authenticator X2 is calculated, and it is determined whether or not these one-time authenticators X1 and X2 are registered in the phase 1 table 72a and the phase 2 table 72b.
  • the server-side authentication processing unit 82 regenerates the random number Q until the uniqueness is ensured.
  • the server-side authentication processing unit 82 sets the random number Q to the next authentication phase 1 server-side seed Q1 (n), and the seed Q1 ( n) is written in the seed table 71 in association with the management number (step S108).
  • the server-side authentication processing unit 82 generates the phase 1 server-side one-time authenticator S1 (n-1) and the next authentication phase 1 server-side seed K1 (n-1) * Q1 (n) after encryption. And it transmits to the terminal device 1 (step S109).
  • the server side authentication processing unit 82 sets X1 calculated at the time of the determination in step S106 as the next authentication phase 1 client side one-time identifier C1 (n), and in C1 (n), in the phase 1 table 72a,
  • the one-time identifier associated with the management number is updated (step S110).
  • the server-side authentication processing unit 82 reads the phase 1 address associated with the management number from the seed table 71, identifies the record of the management number in the phase 1 table 72a with the phase 1 address, Update the one-time identifier in the record.
  • the server-side authentication processing unit 82 sorts the records in the phase 1 table 72a so that the values of the one-time identifiers are in ascending order, and records that have been changed in position by the sort in the seed table 71.
  • the phase 1 address associated with the management number is updated (step S111).
  • the server-side authentication processing unit 82 sets X2 calculated at the time of determination in step S107 as the initial authentication phase 2 client-side one-time identifier C2 (0), and in C2 (0), in the phase 2 table 72b,
  • the one-time identifier associated with the management number is updated (step S112).
  • the server-side authentication processing unit 82 reads the phase 2 address associated with the management number from the seed table 71, identifies the record of the management number in the phase 2 table 72b with the phase 2 address, Update the one-time identifier in the record.
  • the server-side authentication processing unit 82 sorts the records in the phase 2 table 72b so that the values of the one-time identifiers are in ascending order.
  • the phase 2 address associated with the management number is updated (step S113).
  • the server-side authentication processing unit 82 generates a phase 1 common encryption key K1 (n) for next authentication, and writes it in the seed table 71 in association with the management number (step S114).
  • the server-side authentication processing unit 82 uses the seed for the next authentication of the management number and the common encryption key R1 (n), Q1 (n), K1 (n) in the seed table 71 and the seed for the current authentication.
  • the common encryption keys R1 (n-1), Q1 (n-1), and K1 (n-1) are updated (step S115).
  • step S101 determines whether the received one-time authenticator C is not registered in the phase 1 table 72a. If it is determined in step S101 that the received one-time authenticator C is not registered in the phase 1 table 72a, the server-side authentication processing unit 82 stores the received one-time authenticator C in the phase 2 table 72b. It is determined whether it is any of the registered phase 2 client-side one-time authenticators C2 (n-1) (step S121).
  • the server-side authentication processing unit 82 In step S122, the management number associated with the received one-time authenticator C is specified. In this case, phase 2 one-time authentication is performed.
  • the server-side authentication processing unit 82 reads Q2 (n-1) and K2 (n-1) associated with the specified management number from the seed table 71 (step S123).
  • the server-side authentication processing unit 82 decrypts the received K2 (n ⁇ 1) * R2 (n) to R2 (n) with the read K2 (n ⁇ 1), and R2 (n) Write to the seed table 71 in association with the management number (step S124).
  • the server side authentication processing unit 82 generates a server side seed for next authentication.
  • the server side authentication processing unit 82 uses this random number Q as the next authentication server side seed
  • the next authentication phase 2 client side one-time authenticator is changed to another phase 2. It is determined whether the client-side one-time authenticator and the phase-one client-side one-time authenticator are matched (step S126). That is, it is determined whether or not the uniqueness of the client-side one-time authenticator (that is, that there is no other one-time authenticator having the same value) when the generated random number Q is used is determined.
  • the server-side authentication processing unit 82 calculates the next-time authentication phase 2 client-side one-time authenticator X2 when this random number Q is used as the next-authentication server-side seed according to the following equation. It is determined whether or not the authenticator X2 is registered in the phase 2 table 72b.
  • the server-side authentication processing unit 82 regenerates the random number Q until the uniqueness is ensured.
  • the server-side authentication processing unit 82 sets the random number Q to the next authentication phase 2 server-side seed Q2 (n), and the seed Q2 ( n) is written in the seed table 71 in association with the management number (step S127).
  • the server side authentication processing unit 82 generates the phase 2 server side one-time authenticator S2 (n-1) and the next authentication phase 2 server side seed K2 (n-1) * Q2 (n) after encryption. And it transmits to the terminal device 1 (step S128).
  • the server side authentication processing unit 82 sets X2 calculated at the time of determination in step S126 as the next authentication phase 2 client side one-time identifier C2 (n), and in C2 (n), in the phase 2 table 72b,
  • the one-time identifier associated with the management number is updated (step S129).
  • the server-side authentication processing unit 82 reads the phase 2 address associated with the management number from the seed table 71, identifies the record of the management number in the phase 2 table 72b with the phase 2 address, Update the one-time identifier in the record.
  • the server-side authentication processing unit 82 sorts the records in the phase 2 table 72b so that the values of the one-time identifiers are in ascending order.
  • the phase 2 address associated with the management number is updated (step S130).
  • the server-side authentication processing unit 82 generates a phase 2 common encryption key K2 (n) for next authentication, and writes it in the seed table 71 in association with the management number (step S131).
  • the server side authentication processing unit 82 uses the seed for the next authentication of the management number and the common encryption key R2 (n), Q2 (n), K2 (n) in the seed table 71 and the seed for the current authentication.
  • the common encryption keys R2 (n-1), Q2 (n-1), and K2 (n-1) are updated (step S132).
  • a plurality of terminal devices 1 can be managed with a management number, and one-time authentication can be performed independently for each terminal device 1.
  • the phase 1 seed and the common encryption key are directly used as the initial values of the phase 2 seed and the common encryption key.
  • a predetermined function for example, a hash function or one In the terminal function 1 and the authentication server 3, the initial values of the phase 2 seed and the common encryption key may be derived from the phase 1 seed and the common encryption key.
  • the timing for setting the phase flag P to 2 is after the end of the one-time authentication in the phase 1, and the first server-side one-time authenticator S2 (0) in the phase 2 is set. Any timing may be used before reception.
  • phase 2 mutual authentication is started immediately after service logout. Instead, phase 2 mutual authentication is started immediately after service login. Good. Even in such a case, the mutual authentication in phase 2 is temporarily terminated at the next service r login, a new initial value is set, and the mutual authentication in phase 2 is started.
  • an authentication method other than one-time authentication may be used for mutual authentication.
  • the authentication server 3 may be a front-end server and the service server 4 may be a back-end server.
  • the service login request, the service logout request, and the data communication regarding the service are executed between the terminal device 1 and the service server 4 via the authentication server 3.
  • the present invention can be applied to impersonation detection in a network service, for example.

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 And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

認証サーバ3は、所定サービスへのログイン時に端末装置1との間でフェーズ1の相互認証を実行し、少なくとも所定サービスからのログアウトから所定サービスへの次のログインまでの期間において、端末装置1との間で、フェーズ2の相互認証を繰り返し行う。端末装置1は、フェーズ2の相互認証の失敗を検出したときにただちにフェーズ1の相互認証を実行し、当該フェーズ1の相互認証に失敗したときには、なりすましが発生したと判定する。

Description

なりすまし検知システム
 本発明は、なりすまし検知システムに関するものである。
 クライアントおよびサーバのそれぞれにおいて乱数などのシードを認証に成功するたびに更新し、次回認証時に、それらのシードからワンタイムIDを生成し、クライアントとサーバとの間で相互に認証を行うシステムがある(例えば、特許文献1参照)。
特開2004-282295号公報
 しかしながら、上述のシステムでは、サーバ側に保持されている認証に使用されるクライアント側の情報(クライアント側のシードなど)が内部流出した場合、なりすましによって、不正に、認証に成功してしまう可能性がある。その場合、クライアントとサーバとの間で次回の相互認証の際に、相互認証に失敗するため、なりすましが発覚するが、クライアントとサーバとの間で次の相互認証の時間間隔が長い場合、なりすましを短時間で検知することは困難である。
 本発明は、上記の問題に鑑みてなされたものであり、比較的短時間でなりすましを検知するなりすまし検知システムを得ることを目的とする。
 本発明に係るなりすまし検知システムは、認証サーバと、端末装置とを備える。認証サーバは、所定サービスへのログイン時に端末装置との間でフェーズ1の相互認証を実行し、少なくとも所定サービスからのログアウトから所定サービスへの次のログインまでの期間において、端末装置との間で、フェーズ2の相互認証を繰り返し行う。端末装置は、フェーズ2の相互認証の失敗を検出したときにただちにフェーズ1の相互認証を実行し、当該フェーズ1の相互認証に失敗したときには、なりすましが発生したと判定する。
 本発明に係るコンピュータプログラムは、端末装置内のコンピュータを、端末装置から所定サービスへのログイン時に認証サーバとの間でフェーズ1の相互認証を実行し、少なくとも所定サービスからのログアウトから所定サービスへの次のログインまでの期間において、認証サーバとの間で、フェーズ2の相互認証を繰り返し行う認証処理部として動作させる。そして、認証処理部は、フェーズ2の相互認証の失敗を検出したときにただちにフェーズ1の相互認証を実行し、当該フェーズ1の相互認証に失敗したときには、なりすましが発生したと判定する。
 本発明によれば、比較的短時間でなりすましを検知するなりすまし検知システムが得られる。
 本発明の上記又は他の目的、特徴および優位性は、添付の図面とともに以下の詳細な説明から更に明らかになる。
図1は、本発明の実施の形態に係るなりすまし検知システムの構成を示すブロック図である。 図2は、図1における端末装置1の構成を示すブロック図である。 図3は、図2に示す端末装置1において実現される処理部を示すブロック図である。 図4は、図1における認証サーバ3の構成を示すブロック図である。 図5は、図2に示す認証サーバ3において実現される処理部を示すブロック図である。 図6は、図1に示すシステムにおいて実行されるフェーズ1およびフェーズ2の相互認証について説明するシーケンス図である。 図7は、図1に示すシステムにおけるなりすまし検知の処理について説明するシーケンス図である。 図8は、図6におけるフェーズ1の相互認証(ステップS3)の詳細について説明するシーケンス図である。 図9は、図6におけるフェーズ2の初回の相互認証(ステップS8a)の詳細について説明するシーケンス図である。 図10は、図6におけるフェーズ2の2回目以降の相互認証(ステップS8)の詳細について説明するシーケンス図である。 図11は、実施の形態2におけるシードテーブル71の構造の一例を示す図である。 図12は、実施の形態2における認証子テーブル72(フェーズ1テーブル72a,フェーズ2テーブル72b)の一例を示す図である。 図13は、実施の形態2における認証サーバ3によるデータ処理について説明するフローチャートである(1/2)。 図14は、実施の形態2における認証サーバ3によるデータ処理について説明するフローチャートである(2/2)。
 以下、図に基づいて本発明の実施の形態を説明する。
実施の形態1.
 図1は、本発明の実施の形態に係るなりすまし検知システムの構成を示すブロック図である。図1に示すシステムでは、クライアントとしての端末装置1は、インターネットなどのネットワーク2に接続されており、そのネットワーク2には認証サーバ3およびサービスサーバ4が接続されている。
 端末装置1は、ネットワーク2を介して、サービスサーバ4により提供される所定のネットワークサービスを享受するためのユーザ端末装置である。端末装置1は、パーソナルコンピュータなどのコンピュータを内蔵した装置である。
 ネットワーク2は、有線および/または無線のLAN(Local Area Network)、および/またはインターネットなどのWAN(Wide Area Network)を含んでいる。
 認証サーバ3は、サービスサーバ4により提供される所定のネットワークサービスにログインする前に端末装置1の認証を行う認証サーバである。
 サービスサーバ4は、認証サーバ3による認証が成功した端末装置1に対して所定のネットワークサービス(例えばネットバンキング、イーコマースなど)を提供するサーバである。
 認証サーバ3および端末装置1は、各相互認証セッションにおいて相互認証を行う。認証サーバ3および端末装置1は、それぞれシードを生成し、相手側装置の認証に成功するたびに自己のシードおよび暗号鍵を更新していき、その自己のシードを暗号化して相互に送受し、両者のシードからワンタイム認証子を生成し、両者のシードに基づいて、相手側装置のワンタイム認証子についての認証をそれぞれ行う。なお、以下では、ワンタイム認証子に基づく認証のことを、ワンタイム認証という。
 なお、ここでは、ワンタイム認証子は、ワンタイムIDであるが、ワンタイムパスワードとしてもよい。その場合、ワンタイムパスワードとともに固定的な端末IDが使用される。
 認証サーバ3および端末装置1は、フェーズ1の相互認証とフェーズ2の相互認証とを互いに独立にそれぞれ繰り返し実行する。つまり、フェーズ1の相互認証用のシードとフェーズ2の相互認証用のシードが、互いに異なる別々の系列として、生成され更新されていき、フェーズ1の相互認証用のワンタイム認証子とフェーズ2の相互認証用のワンタイム認証子とが別々に生成される。
 そして、フェーズ1の相互認証は、所定サービスのログイン可否決定のために実行される。フェーズ2の相互認証は、ログインしていない期間におけるなりすましの検知のために実行される。つまり、フェーズ1の相互認証は、ユーザーが所定サービスにログインしたいときに実行され、フェーズ2の相互認証は、ログアウトが検出されたときに開始され、次回のログインまで継続して繰り返し実行される。すなわち、フェーズ2の相互認証は、フェーズ1の相互認証が実行されると終了する。
 フェーズ2の初回の相互認証では、端末装置1は、フェーズ1の次回認証用シードから当該フェーズ2の初回認証用シードを導出し、初回認証用シードからワンタイム認証子を生成し、ワンタイム認証子について認証に成功すると、フェーズ2での次回認証用シードを生成し次回認証用シードに基づいてワンタイム認証子を生成する。
 一方、認証サーバ3は、フェーズ1の次回認証用シードを次回のフェーズ1での認証時まで保持するとともに、その次回認証用シードからフェーズ2の初回認証用シードを導出し、ワンタイム認証子について認証に成功すると、フェーズ2での次回認証用シードを生成し次回認証用シードに基づいてワンタイム認証子を生成する。
 端末装置1は、所定サービスからのログアウトが検出されると、フェーズ2の相互認証をただちに開始し、フェーズ2の相互認証を所定の時間間隔で繰り返し実行していき、フェーズ2の相互認証の失敗を検出したときにただちに(つまり、サービスログインとは関係なく)フェーズ1の相互認証を実行し、当該フェーズ1の相互認証に失敗したときには、なりすましが発生したと判定する。
 また、認証サーバ3は、フェーズ1の相互認証に成功した場合、フェーズ1の相互認証の認証結果をサービスサーバ4へ通知するが、フェーズ2の相互認証の認証結果をサービスサーバ4へ通知しない。このようにすることで、フェーズ2の相互認証に起因する負荷が、サービスサーバ4に掛からない。
 なお、図1では、端末装置1は、1台だけであるが、複数の端末装置1のそれぞれに異なるシードを保持させて、それぞれ異なるワンタイム認証子で認証を行うことも可能である。その場合、認証サーバ3は、複数の端末装置1のそれぞれとの間で独立してワンタイム認証に基づく相互認証を行う。
 以下、上記システムにおける各装置の構成および動作について説明する。
(1)各装置の構成
 図2は、図1における端末装置1の構成を示すブロック図である。
 図2に示すように、端末装置1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13などを有するコンピュータを内蔵する。
 CPU11は、プログラムを実行し、プログラムに記述された処理を実行する演算処理装置である。また、ROM12は、プログラムおよびデータを予め記憶した不揮発性のメモリである。また、RAM13は、プログラムを実行する際にそのプログラムおよびデータを一時的に記憶する揮発性のメモリである。
 また、インターフェイス14は、記憶装置15を接続可能なインターフェイス回路である。また、記憶装置15は、インターフェイス14に接続され、図示せぬオペレーティングシステム、ワンタイム認証プログラム31、所定サービスを享受するためのアプリケーションプログラムなどを格納する記録媒体を有する装置である。記憶装置15としては、ハードディスクドライブ、SSD(Solid State Disk)などが使用される。
 また、インターフェイス16は、通信装置17を接続可能なインターフェイス回路である。通信装置17は、ネットワークインターフェイス、モデムなどといったネットワーク2に接続可能な装置である。
 また、インターフェイス18は、IEEE1394、USB(Universal Serial Bus)などといった周辺機器インターフェイスである。また、インターフェイス20は、入力装置21を接続可能なインターフェイス回路である。入力装置21は、キーボード、マウスなどといったユーザ操作を受け付けてそのユーザ操作に応じた信号を出力する装置である。また、画像処理回路22は、画像データを書き込まれると、そのデータに対応する画像信号を出力する回路である。この画像処理回路22には、その画像信号に基づいて画像を表示する表示装置23が接続可能である。
 CPU11、ROM12、RAM13、インターフェイス14,16,18,20および画像処理回路22は、バスやコントローラチップによって相互にデータ通信可能に接続されている。
 図3は、図2に示す端末装置1において実現される処理部を示すブロック図である。図3に示すように、端末装置1では、上述のプログラムが実行されることで、通信処理部41、認証処理部42、およびアプリケーション43が実現される。
 通信処理部41は、通信装置17を使用して、所定の通信プロトコルで認証サーバ3、サービスサーバ4などとネットワーク2を介してデータ通信を行う。
 認証処理部42は、CPU11でワンタイム認証プログラム31が実行されることにより実現され、通信処理部41を使用して、認証サーバ3との間で、ワンタイム認証に基づくフェーズ1およびフェーズ2の相互認証を行う。そのとき、認証処理部42は、相互認証におけるクライアント側の処理を実行する。
 アプリケーション43は、通信処理部41を使用して、サービスサーバ4との間でデータ通信を実行し、サービスサーバ4により提供される所定のサービスを享受する。なお、フェーズ1の相互認証が成功した後に、アプリケーション43に対する所定サービスの提供が開始される。
 図4は、図1における認証サーバ3の構成を示すブロック図である。
 図4において、CPU51は、プログラムを実行し、プログラムに記述された処理を実行する演算処理装置である。また、ROM52は、プログラムおよびデータを予め記憶した不揮発性のメモリである。また、RAM53は、プログラムを実行する際にそのプログラムおよびデータを一時的に記憶するメモリである。
 また、インターフェイス54は、記憶装置55を接続可能なインターフェイス回路である。記憶装置55は、インターフェイス54に接続され、図示せぬオペレーティングシステム、ワンタイム認証プログラム61、認証に使用されるデータなどを格納する記録媒体を有する装置である。記憶装置55としては、ハードディスクドライブ、SSDなどが使用される。記憶装置55には、認証に使用されるデータとして、シードテーブル71、認証子テーブル72、および端末属性テーブル73が保持されている。
 シードテーブル71は、最後の認証時に更新された、フェーズ1およびフェーズ2のそれぞれについての次回認証用シードおよび次回認証用共通暗号鍵を有する。次回認証用シードおよび次回認証用共通暗号鍵は、1または複数の端末装置1(つまり、クライアント側装置)のそれぞれについて別々に保持される。
 認証子テーブル72は、最後の認証時に更新された、フェーズ1およびフェーズ2のそれぞれについての次回認証用のクライアント側ワンタイム認証子を有する。認証子テーブル72は、フェーズ1テーブル72aとフェーズ2テーブル72bとを含む。フェーズ1テーブル72aは、フェーズ1についての次回認証用のクライアント側ワンタイム認証子を有し、フェーズ2テーブル72bは、フェーズ2についての次回認証用のクライアント側ワンタイム認証子を有する。次回認証用のクライアント側ワンタイム認証子は、1または複数の端末装置1のそれぞれについて別々に保持される。
 端末属性テーブル73は、端末装置1の端末ID、およびその端末IDに関連付けられている属性情報(所有者情報など)を有するテーブルである。端末属性テーブル73は、ワンタイム認証子がワンタイムパスワードであるときに、端末装置1からワンタイム認証子とともに受信される端末IDの正当性を判定する際に参照される。
 また、インターフェイス56は、通信装置57を接続可能なインターフェイス回路である。通信装置57は、ネットワークインターフェイス、モデムなどといったネットワーク2に接続可能な装置である。
 CPU51、ROM52、RAM53、およびインターフェイス54,56は、バスやコントローラチップによって相互にデータ通信可能に接続されている。
 図5は、図2に示す認証サーバ3において実現される処理部を示すブロック図である。図5に示すように、この認証サーバ3において、通信処理部81、およびサーバ側認証処理部82が実現される。
 通信処理部81は、通信装置57を使用して、所定の通信プロトコルで端末装置1、サービスサーバ4などとネットワーク2を介してデータ通信を行う。
 サーバ側認証処理部82は、CPU51でワンタイム認証プログラム61が実行されることにより実現され、通信処理部81を使用して、1または複数の端末装置1との間でワンタイム認証に基づくフェーズ1およびフェーズ2の相互認証におけるサーバ側の処理を実行する。
(2)各装置の動作
 図6は、図1に示すシステムにおいて実行されるフェーズ1およびフェーズ2の相互認証について説明するシーケンス図である。
 端末装置1では、アプリケーション43の起動、所定のユーザ操作などといった所定のイベントが発生すると、認証処理部42は、そのイベントをサービスログイン要求として検出する(ステップS1)。
 そして、認証処理部42は、フェーズフラグPに、フェーズ1を示す値(ここでは1)をセットする(ステップS2)。フェーズフラグPは、認証のフェーズを示すデータである。フェーズフラグPの値から現時点のフェーズが識別される。
 次に、端末装置1の認証処理部42と認証サーバ3のサーバ側認証処理部82との間で、フェーズ1でのワンタイム認証が実行される(ステップS3)。このとき、認証処理部42は、保持しているクライアント側およびサーバ側のシードからクライアント側のワンタイム認証子を生成し、また、次回認証用シードを生成して暗号化し、生成したワンタイム認証子および暗号化された次回認証用シードを認証サーバ3へ送信する。サーバ側認証処理部82は、そのワンタイム認証子および暗号化された次回認証用シードを受信し、そのワンタイム認証子が正当なものであるか否かを判定する。サーバ側認証処理部82は、そのワンタイム認証子が正当なものであれば、クライアント側の次回認証用シードを復号して保持する。
 なお、フェーズ1のクライアント側シードの初期値、サーバ側シードの初期値、および共通暗号鍵の初期値は、端末装置1と認証サーバ3に予めセットされる。認証サーバ3には、端末装置1に関連付けて、それらの初期値がセットされる。
 認証サーバ3では、シードテーブル71に端末装置1のシードと同一のシード(つまり、クライアント側およびサーバ側のシード)が保持されており、また、フェーズ1の次回認証用クライアント側ワンタイム認証子が、認証子テーブル72に保持されている。次回認証用クライアント側ワンタイム認証子は、前回の認証時に生成され、認証子テーブル72に書き込まれたものである。この次回認証用クライアント側ワンタイム認証子は、端末装置1から送信されてくるワンタイム認証子の正当性判定に使用される。つまり、端末装置1から送信されてきたワンタイム認証子が、認証子テーブル72に保持されているワンタイム認証子と一致すると、そのワンタイム認証子は正当なものであると判定される。
 サーバ側認証処理部82は、クライアント側およびサーバ側のシードから、端末装置1に対するサーバ側のワンタイム認証子を生成し、また、次回認証用シードを生成して暗号化し、生成したワンタイム認証子および暗号化された次回認証用シードを端末装置1へ送信する。認証処理部42は、そのワンタイム認証子および暗号化された次回認証用シードを受信し、そのワンタイム認証子が正当なものであるか否かを判定する。認証処理部42は、そのワンタイム認証子が正当なものであれば、サーバ側の次回認証用シードを復号して保持する。
 このようにして、フェーズ1の相互認証が成功するたびに、端末装置1および認証サーバ3において、それぞれ、フェーズ1のシードの値が更新されていく。
 フェーズ1でのワンタイム認証が成功すると、認証サーバ3は、端末装置1の認証に成功した旨を示す認証結果をサービスサーバ4へ送信する。サービスサーバ4は、その認証結果を受信すると、端末装置1からのサービスログインを許可する。
 そして、端末装置1のアプリケーション43は、サービスログイン要求をサービスサーバ4へ送信しサービスログインして(ステップ5)、サービスサーバ4から所定のサービスを享受する。
 例えば、認証サーバ3は、この認証結果に端末装置1のワンタイム認証子を含めておき、端末装置1は、サービスログイン時に、サービスサーバ4へワンタイム認証子を送信する。サービスサーバ4は、認証サーバ3から受信したワンタイム認証子に一致するワンタイム認証子を送信してきた端末装置1からのサービスログインを許可すればよい。
 また、フェーズ1でのワンタイム認証が成功すると、認証サーバ3では、サーバ側認証処理部82は、次回認証用シードからクライアント側ワンタイム認証子を生成し、認証子テーブル72において、端末装置1についてのフェーズ1の次回認証用クライアント側ワンタイム認証子を更新する。
 サービスログイン後、所定サービスが提供され、認証処理部42は、アプリケーション43のサービスログアウトを検出する(ステップS6)。例えば、アプリケーション43からサービスサーバ4へ明示的にログアウト要求が送信された場合、アプリケーション43が終了した場合、およびアプリケーション43に対するユーザ操作が所定期間検出されなかった場合、アプリケーション43は、サービスログアウトが発生したと判定する。
 そして、サービスログアウトを検出すると、認証処理部42は、フェーズフラグPに、フェーズ2を示す値(ここでは2)をセットする(ステップS7)。
 次に、認証が必要なタイミングでフェーズ2における初回の認証が実行される(ステップS8a)。
 フェーズ2における初回の認証では、フェーズ1での認証で更新されたシード(つまり、フェーズ1の次回認証用シード)からフェーズ2用のシードの初期値が導出される。この実施の形態1では、フェーズ1での認証で更新されたシードの値が、フェーズ2用のシードの初期値とされる。
 その後、端末装置1の認証処理部42と認証サーバ3のサーバ側認証処理部82との間で、フェーズ2でのワンタイム認証(ステップS8)が繰り返し実行される。
 フェーズ2の初回のワンタイム認証(ステップS8a)では、認証処理部42は、その初期値を有するシードからワンタイム認証子を生成し、また、フェーズ2の次回認証用シードを生成して暗号化し、ワンタイム認証子と暗号化された次回認証用シードを認証サーバ3へ送信する。
 一方、サーバ側認証処理部82は、フェーズ1の次回認証用シードからフェーズ2のシードの初期値を計算し、その初期値からフェーズ2の初回のワンタイム認証子を計算する。そして、フェーズ2の初回のワンタイム認証(ステップS8a)において、サーバ側認証処理部82は、端末装置1からワンタイム認証子および暗号化された次回認証用シードを受信すると、受信したワンタイム認証子が正当なものであるか否かを、計算したワンタイム認証子に基づいて判定する。サーバ側認証処理部82は、そのワンタイム認証子が正当なものであれば、次回認証用シードを復号し保持する。
 フェーズ2の初回のワンタイム認証に成功すると、フェーズ2の2回目以降のワンタイム認証(ステップS8)において、端末装置1の認証処理部42は、クライアント側の次回認証用シードを生成し、クライアント側およびサーバ側のシードから生成したワンタイム認証子と、暗号化された次回認証用シードとを認証サーバ3へ送信する。
 一方、フェーズ2の2回目以降のワンタイム認証(ステップS8)において、サーバ側認証処理部82は、前回の認証時に送信されてきた次回認証用シードに基づいて今回のクライアント側のワンタイム認証子を計算し、その後、端末装置1からワンタイム認証子および暗号化された次回認証用シードを受信すると、受信したワンタイム認証子が正当なものであるか否かを、計算したワンタイム認証子に基づいて判定する。サーバ側認証処理部82は、そのワンタイム認証子が正当なものであれば、次回認証用シードを復号し保持する(つまり、フェーズ2の次回認証用シードを更新する)。
 以後、次回のフェーズ1の相互認証が実行されるまで、フェーズ2の相互認証が所定の時間間隔で繰り返し実行される(ステップS8)。なりすましが発生しない場合、図6に示すように処理が進行していく。
 図7は、図1に示すシステムにおけるなりすまし検知の処理について説明するシーケンス図である。
 端末装置1について、サービスログインからサービスログアウトまでの期間におけるなりすましは、二重ログインとなるため、通常の方法で検知される。
 他方、サービスログアウトから次回のサービスログインまでの期間におけるなりすましは、次のように検知される。
 サービスログアウトから次回のサービスログインまでの期間においては、フェーズ2の相互認証が繰り返し実行されている(ステップS8a,S8)。
 認証サーバ3に直接的にアクセスしてフェーズ1のシード、暗号鍵などが不正に取得され、不正に入手されたシード、暗号鍵などに基づいて、なりすましによっ不正な端末装置との間でフェーズ1の相互認証に不正に成功し、サービスログインが実行された場合(ステップS201)、認証サーバ3のサーバ側認証処理部82は、フェーズ2の相互認証を終了するとともに(ステップS202)、フェーズ1の更新処理(シードなどの更新)を実行する(ステップS203)。
 そのため、正規の端末装置1の認証処理部42が、次回のフェーズ2の相互認証を実行したとき、その相互認証に失敗する(ステップS204)。具体的には、認証サーバ3では既にフェーズ2の相互認証が終了しているため、認証サーバ3では、フェーズ2での端末装置1のワンタイム認証に失敗し、その結果、端末装置1でも、フェーズ2での認証サーバ3のワンタイム認証に失敗する。
 端末装置1の認証処理部42は、フェーズ2の相互認証の失敗を検出すると、フェーズフラグPの値を1にセットし(ステップS205)、フェーズ1の相互認証を実行する(ステップS206)。この時点で、認証サーバ3における、端末装置1についてのシードなどは、なりすましによる更新処理で変更されているため、端末装置1の認証処理部42は、フェーズ1の相互認証に失敗する。具体的には、認証サーバ3では、フェーズ1での端末装置1のワンタイム認証に失敗し、その結果、端末装置1でも、フェーズ1での認証サーバ3のワンタイム認証に失敗する。
 このように、フェーズ2の相互認証の失敗後のフェーズ1の相互認証に失敗した場合、端末装置1の認証処理部42は、なりすましが発生したものと判定する(ステップS207)。
 このようにしてなりすましを検知することで、なりすましが発生してから、フェーズ2の相互認証の時間間隔以下の時間で、なりすましを検知することができる。なお、一時的な通信障害などでフェーズ2の相互認証に失敗した場合には、その後のフェーズ1の相互認証には成功するので、なりすましの誤検出は発生しない。
 ここで、フェーズ1の相互認証(ステップS3)の詳細について説明する。図8は、図6におけるフェーズ1の相互認証(ステップS3)の詳細について説明するシーケンス図である。なお、以下において、フェーズ1の説明中のnとフェーズ2の説明中のnとは無関係である。
 端末装置1には、シードの他に、フェーズ1用の共通暗号鍵も保持されている。また、認証サーバ3にも、シードの他に、同一の共通暗号鍵がフェーズ1用の共通暗号鍵として保持されている。つまり、フェーズ1の共通暗号鍵の初期値は、予め端末装置1および認証サーバ3にセットされている。そして、後述のように、フェーズ1の認証が成功するたびに、フェーズ1の共通暗号鍵の値は更新されていく。
 ここで、シードR1(n-1)は、今回(n-1)のワンタイム認証についてのフェーズ1クライアント側シードである。シードQ1(n-1)は、今回(n-1)のワンタイム認証についてのフェーズ1サーバ側シードである。共通暗号鍵K1(n-1)は、今回(n-1)のワンタイム認証時に、次回認証用のフェーズ1クライアント側シードR1(n)を認証サーバ3へ送信する際に、そのR1(n)を暗号化するためのフェーズ1共通暗号鍵である。
 そして、まず、認証処理部42は、乱数Rを生成し、その乱数Rを、次回認証用のフェーズ1クライアント側シードR1(n)にセットする(ステップS21)。
 そして、認証処理部42は、今回のワンタイム認証についての、フェーズ1クライアント側ワンタイム認証子C1(n-1)を生成する(ステップS22)。
 ワンタイム認証子C1(n-1)は、一方向性関数で計算される。この一方向性関数は、2つの引数をとり、引数の順序によって関数値の異なる関数である。この実施の形態では、この一方向性関数は、ハッシュ関数hcである。
 ワンタイム認証子C1(n-1)は、次式に従って計算される。
 C1(n-1)=hc(R1(n-1),Q1(n-1))
 ここで、ハッシュ関数hcの第1引数には、R1(n-1)が使用され、第2引数には、Q1(n-1)が使用される。
 また、認証処理部42は、所定の暗号化方式に従って、共通暗号鍵K1(n-1)で、R1(n)を暗号化する。なお、共通暗号鍵K1(n-1)での暗号化後のR1(n)を、K1(n-1)*R1(n)と表現する。
 そして、認証処理部42は、通信処理部41を使用して、ワンタイム認証子C1(n-1)およびK1(n-1)*R1(n)を認証サーバ3へ送信する(ステップS23)。このとき、通信処理部41は、ワンタイム認証子C1(n-1)およびK1(n-1)*R1(n)を1つのメッセージとして送信する。
 認証サーバ3では、サーバ側認証処理部82は、通信処理部81を使用して、そのメッセージを受信し、そのメッセージからワンタイム認証子C1(n-1)およびK1(n-1)*R1(n)を抽出し、受信したワンタイム認証子C1(n-1)が、保持しているフェーズ1用のクライアント側ワンタイム認証子に一致するか否かを判定する(ステップS24)。
 なお、端末装置1から認証サーバ3へのメッセージのデータフォーマット(ワンタイム認証子のサイズと位置、および暗号化されたシードのサイズと位置)は、フェーズ1とフェーズ2で同一である。
 また、フェーズ1クライアント側ワンタイム認証子とフェーズ2クライアント側ワンタイム認証子は同一のデータフォーマット(つまり、同一データ長)を有し、暗号化後のフェーズ1クライアント側シードと、暗号化後のフェーズ2クライアント側シードとは同一のデータフォーマット(つまり、同一データ長)を有するため、受信データのみからでは、フェーズ1のワンタイム認証子かフェーズ2のワンタイム認証子かの区別がつかない。このため、サーバ側認証処理部82は、受信したワンタイム認証子が、フェーズ1テーブル72aに保持されているワンタイム認証子に一致するか否か、および受信したワンタイム認証子が、フェーズ2テーブル72bに保持されているワンタイム認証子に一致するか否かを判定し、受信したワンタイム認証子が、フェーズ1の正当なワンタイム認証子、フェーズ2の正当なワンタイム認証子、および不正なワンタイム認証子のいずれかであるかを判定する。
 したがって、受信したワンタイム認証子C1(n-1)が、不正なワンタイム認証子であると判定した場合、サーバ側認証処理部82は、認証失敗と判定し、処理を終了する。
 受信したワンタイム認証子C1(n-1)が、フェーズ1テーブル72aに保持しているフェーズ1用のクライアント側ワンタイム認証子に一致した場合、サーバ側認証処理部82は、認証成功と判定し、まず、乱数Qを生成し、その乱数Qを、次回認証用フェーズ1サーバ側シードQ1(n)にセットする(ステップS25)。
 また、サーバ側認証処理部82は、K1(n-1)*R1(n)を、シードテーブル71に保持している共通暗号鍵K1(n-1)で、R1(n)へ復号する。そして、サーバ側認証処理部82は、今回(n-1)のワンタイム認証用のフェーズ1サーバ側ワンタイム認証子S1(n-1)を生成する(ステップS26)。
 ワンタイム認証子S1(n-1)は、一方向性関数で計算される。この一方向性関数は、2つの引数をとり、引数の順序によって関数値の異なる関数である。この実施の形態では、この一方向性関数は、ハッシュ関数hsである。
 ワンタイム認証子S1(n-1)は、次式に従って計算される。
 S1(n-1)=hs(R1(n),Q1(n-1))
 ここで、ハッシュ関数hsの第1引数には、R1(n)が使用され、第2引数には、Q1(n-1)が使用される。なお、ハッシュ関数hsは、ハッシュ関数hcと同一の関数でもよいし、異なる関数でもよい。
 また、サーバ側認証処理部82は、所定の暗号化方式に従って、共通暗号鍵K1(n-1)で、Q1(n)を暗号化する。なお、共通暗号鍵K1(n-1)での暗号化後のQ1(n)を、K1(n-1)*Q1(n)と表現する。
 そして、サーバ側認証処理部82は、通信処理部81を使用して、ワンタイム認証子S1(n-1)およびK1(n-1)*Q1(n)を端末装置1へ送信する(ステップS27)。このとき、通信処理部81は、ワンタイム認証子S1(n-1)およびK1(n-1)*Q1(n)を1つのメッセージとして送信する。したがって、認証サーバ3において、端末装置1のワンタイム認証に失敗した場合には、このメッセージは送信されない。そのため、端末装置1は、このメッセージを受信しない場合には、認証サーバ3における端末装置1のワンタイム認証に失敗したと判定する。
 なお、認証サーバ3から端末装置1へのメッセージのデータフォーマット(ワンタイム認証子のサイズと位置、および暗号化されたシードのサイズと位置)は、フェーズ1とフェーズ2とで同一である。
 また、フェーズ1サーバ側ワンタイム認証子とフェーズ2サーバ側ワンタイム認証子は、同一のデータフォーマット(つまり、同一データ長)を有し、暗号化後のフェーズ1サーバ側シードと暗号化後のフェーズ2サーバ側シードは、同一のデータフォー待つ(つまり、同一データ長)を有するため、受信データのみからでは、フェーズ1のワンタイム認証子か、フェーズ2のワンタイム認証子かの区別がつかない。このため、端末装置1の認証処理部42は、フェーズフラグPの値でフェーズを特定し、受信したワンタイム認証子を、特定したフェーズのワンタイム認証子として取り扱う。
 端末装置1では、認証処理部42は、通信処理部41を使用して、そのメッセージを受信し、ワンタイム認証子S1(n-1)およびK1(n-1)*Q1(n)を抽出する。そして、認証処理部42は、フェーズフラグPの値に基づいて、受信したワンタイム認証子がフェーズ1のワンタイム認証子であることを特定する(ステップS28)。
 そして、認証処理部42は、R1(n)およびQ1(n-1)に基づいて、上述の式に従って正当なワンタイム認証子S1(n-1)の値を計算し、受信したワンタイム認証子S1(n-1)が、計算した値に一致するか否かを判定する(ステップS29)。
 このとき、受信したワンタイム認証子S1(n-1)が、計算した値に一致しない場合、認証処理部42は、認証失敗と判定し、処理を終了する。
 受信したワンタイム認証子S1(n-1)が、計算した値に一致した場合、認証処理部42は、認証成功と判定し、まず、K1(n-1)*Q1(n)を、保持している共通暗号鍵K1(n-1)で、Q1(n)へ復号し、この値を、次回認証用フェーズ1サーバ側シードにセットする。
 そして、認証処理部42は、次回認証用フェーズ1共通暗号鍵K1(n)を次式に従って計算し、フェーズ1共通暗号鍵を更新する(ステップS30)。
 K1(n)=hk(K1(n-1),R1(n),Q1(n))
 ここで、hkは、一方向性関数であって、かつハッシュ関数である。
 このようにして、フェーズ1のワンタイム認証に成功した後、認証処理部42は、端末装置1において保持しているシードおよび共通暗号鍵を、R1(n)およびQ1(n)、並びにK1(n)で更新する。
 一方、認証サーバ3においても、ワンタイム認証子S1(n-1)の送信後、サーバ側認証処理部82は、次回認証用フェーズ1共通暗号鍵K1(n)を上述の式に従って計算し、フェーズ1共通暗号鍵を同様に更新する(ステップS31)。
 そして、サーバ側認証処理部82は、フェーズ1のシードR1(n),Q1(n)の値を、初期値として、フェーズ2のクライアント側シードR2(0)およびサーバ側シードQ2(0)にセットし(ステップS32)、フェーズ1の共通暗号鍵K1(n)の値を、初期値として、フェーズ2の共通暗号鍵K2(0)にセットする(ステップS33)。また、このとき、サーバ側認証処理部82は、R2(0)およびQ2(0)から後述の式に従って、フェーズ2の初回のクライアント側ワンタイム認証子C2(0)を計算し、フェーズ2テーブル72bに書き込んで保持する。
 さらに、サーバ側認証処理部82は、フェーズ1の次回のワンタイム認証時に使用するクライアント側ワンタイム認証子C1(n)を、R1(n)およびQ1(n)から、上述の式に従って計算する。そして、サーバ側認証処理部82は、R1(n)、Q1(n)およびK1(n)で、シードテーブル71における、端末装置1についてのフェーズ1のデータを更新し、C1(n)で、フェーズ1テーブル72aにおける、端末装置1についてのワンタイム認証子を更新する。これにより、これらの値が、次回のセッション(つまり、次回のフェーズ1認証)まで保持される。
 このようにして、フェーズ1での相互認証が実行される。
 次に、ここで、フェーズ2の相互認証(ステップS8a,S8)の詳細について説明する。図9は、図6におけるフェーズ2の初回の相互認証(ステップS8a)の詳細について説明するシーケンス図である。図10は、図6におけるフェーズ2の2回目以降の相互認証(ステップS8)の詳細について説明するシーケンス図である。
 フェーズ2の相互認証では、初回のみ、シードおよび共通暗号鍵の初期値がフェーズ1でのシードおよび共通暗号鍵から導出される(図9におけるステップS41,S42)。
 つまり、前回のサービスログアウト時に開始されたフェーズ2の相互認証において使用されたシードおよび共通暗号鍵は、今回のサービスログイン時に破棄されており、今回のサービスログアウト時に、改めて、初期値が設定される。
 初回のみ、端末装置1の認証処理部42は、まず、フェーズ1のシードR1(n),Q1(n)の値を、初期値として、フェーズ2のクライアント側シードR2(0)およびサーバ側シードQ2(0)にセットし(ステップS41)、フェーズ1の共通暗号鍵K1(n)の値を、初期値として、フェーズ2の共通暗号鍵K2(0)にセットする(ステップS42)。なお、フェーズ2のクライアント側シードR1、サーバ側シードQ2、および共通暗号鍵K2は、RAM13に保持され、記憶装置15には保持されない。この時点で、認証処理部42は、フェーズ1のシードR1(n),Q1(n)および共通暗号鍵K1(n)をRAM13から消去する。なお、フェーズ1のシードR1(n),Q1(n)および共通暗号鍵K1(n)は、記憶装置15に保持されている。
 そして、認証処理部42は、乱数Rを生成し、次回認証用フェーズ2クライアント側シードR2(n)(初回の場合、n=1)にセットする(ステップS43)。
 次に、認証処理部42は、今回のワンタイム認証についての、フェーズ2クライアント側ワンタイム認証子C2(n-1)を生成する(ステップS44)。
 ワンタイム認証子C2(n-1)は、一方向性関数で計算される。この一方向性関数は、2つの引数をとり、引数の順序によって関数値の異なる関数である。この実施の形態では、この一方向性関数は、上述のハッシュ関数hcである。
 ワンタイム認証子C2(n-1)は、次式に従って計算される。
 C2(n-1)=hc(Q2(n-1),R2(n-1))
 ここで、ハッシュ関数hcの第1引数には、Q2(n-1)が使用され、第2引数には、R2(n-1)が使用される。
 また、認証処理部42は、所定の暗号化方式に従って、共通暗号鍵K2(n-1)で、R2(n)を暗号化する。なお、共通暗号鍵K2(n-1)での暗号化後のR2(n)を、K2(n-1)*R2(n)と表現する。
 そして、認証処理部42は、通信処理部41を使用して、ワンタイム認証子C2(n-1)およびK2(n-1)*R2(n)を認証サーバ3へ送信する(ステップS45)。このとき、通信処理部41は、ワンタイム認証子C2(n-1)およびK2(n-1)*R2(n)を1つのメッセージとして送信する。
 認証サーバ3では、サーバ側認証処理部82は、通信処理部81を使用して、そのメッセージを受信し、ワンタイム認証子C2(n-1)およびK2(n-1)*R2(n)を抽出し、受信したワンタイム認証子C2(n-1)が、フェーズ2テーブル72bに保持しているフェーズ2用のクライアント側ワンタイム認証子に一致するか否かを判定する(ステップS46)。
 このとき、受信したワンタイム認証子C2(n-1)が、保持しているフェーズ2用のクライアント側ワンタイム認証子に一致しない場合、サーバ側認証処理部82は、上述のように、受信したワンタイム認証子C2(n-1)がフェーズ1のワンタイム認証子でもなければ、認証失敗と判定し、処理を終了する。
 受信したワンタイム認証子C2(n-1)が、保持しているフェーズ2用のクライアント側ワンタイム認証子に一致した場合、サーバ側認証処理部82は、認証成功と判定し、まず、乱数Qを生成し、その乱数Qを、次回認証用フェーズ2サーバ側シードQ2(n)にセットする(ステップS47)。
 また、サーバ側認証処理部82は、K2(n-1)*R2(n)を、保持している共通暗号鍵K2(n-1)で、R2(n)へ復号する。そして、サーバ側認証処理部82は、今回(n-1)のワンタイム認証用のフェーズ2サーバ側ワンタイム認証子S2(n-1)を生成する(ステップS48)。
 ワンタイム認証子S2(n-1)は、一方向性関数で計算される。この一方向性関数は、2つの引数をとり、引数の順序によって関数値の異なる関数である。この実施の形態では、この一方向性関数は、上述のハッシュ関数hsである。
 ワンタイム認証子S2(n-1)は、次式に従って計算される。
 S2(n-1)=hs(Q2(n-1),R2(n))
 ここで、ハッシュ関数hsの第1引数には、Q2(n-1)が使用され、第2引数には、R2(n)が使用される。
 また、サーバ側認証処理部82は、所定の暗号化方式に従って、共通暗号鍵K2(n-1)で、Q2(n)を暗号化する。なお、共通暗号鍵K2(n-1)での暗号化後のQ2(n)を、K2(n-1)*Q2(n)と表現する。
 そして、サーバ側認証処理部82は、通信処理部81を使用して、ワンタイム認証子S2(n-1)およびK2(n-1)*Q2(n)を端末装置1へ送信する(ステップS49)。このとき、通信処理部81は、ワンタイム認証子S2(n-1)およびK2(n-1)*Q2(n)を1つのメッセージとして送信する。したがって、認証サーバ3において、端末装置1のワンタイム認証に失敗した場合には、このメッセージは送信されない。そのため、端末装置1は、このメッセージを受信しない場合には、認証サーバ3における端末装置1のワンタイム認証に失敗したと判定する。
 端末装置1では、認証処理部42は、通信処理部41を使用して、そのメッセージを受信し、ワンタイム認証子S2(n-1)およびK2(n-1)*Q2(n)を抽出する。そして、認証処理部42は、フェーズフラグPの値に基づいて、受信したワンタイム認証子がフェーズ2のワンタイム認証子であることを特定する(ステップS50)。
 認証処理部42は、R2(n)およびQ2(n-1)に基づいて、上述の式に従って正当なワンタイム認証子S2(n-1)の値を計算し、受信したワンタイム認証子S2(n-1)が、計算した値に一致するか否かを判定する(ステップS51)。
 このとき、受信したワンタイム認証子S2(n-1)が、計算した値に一致しない場合、認証処理部42は、認証失敗と判定し、処理を終了する。
 受信したワンタイム認証子S2(n-1)が、計算した値に一致した場合、認証処理部42は、認証成功と判定し、まず、K2(n-1)*Q2(n)を、保持している共通暗号鍵K2(n-1)で、Q2(n)へ復号し、この値を、次回認証用フェーズ2サーバ側シードにセットする。
 そして、認証処理部42は、次回認証用フェーズ2共通暗号鍵K2(n)を次式に従って計算し、フェーズ2共通暗号鍵を更新する(ステップS52)。
 K2(n)=hk(K2(n-1),R2(n),Q2(n))
 ここで、hkは、一方向性関数であって、かつハッシュ関数である。
 このようにして、フェーズ2のワンタイム認証に成功した後、認証処理部42は、RAM13上に、次のフェーズ2のワンタイム認証まで、R2(n)、Q2(n)、およびK2(n)を保持する。
 一方、認証サーバ3においても、ワンタイム認証子S2(n-1)の送信後、サーバ側認証処理部82は、次回認証用フェーズ2共通暗号鍵K2(n)を上述の式に従って計算し、フェーズ2共通暗号鍵を更新する(ステップS53)。
 さらに、サーバ側認証処理部82は、R2(n)およびQ2(n)から後述の式に従って、フェーズ2の次回認証用クライアント側ワンタイム認証子C2(n)を計算する。そして、サーバ側認証処理部82は、R2(n)、Q2(n)およびK2(n)で、シードテーブル71における、端末装置1についてのフェーズ2のデータを更新し、C2(n)で、フェーズ2テーブル72bにおける、端末装置1についてのワンタイム認証子を更新する。これにより、今回のシードR2(n-1),Q2(n-1)および共通暗号鍵K2(n-1)は消去され、次回のシードR2(n),Q2(n)および共通暗号鍵K2(n)が、次回のフェーズ2認証まで保持される。次回のフェーズ2のワンタイム認証では、上述の初期値の代わりに次回のシードR2(n),Q2(n)および共通暗号鍵K2(n)が使用される。
 このようにして、フェーズ2の相互認証(1回の相互認証セッション)が実行される。そして、フェーズ2では、端末装置1は、1回の相互認証セッションが完了してから所定の時間間隔(例えば15分)で次回の相互認証セッションを開始する。
 なお、この時間間隔は、短いほど好ましいが、端末装置1の数、認証サーバ3の処理能力などに基づいて決定される。
 以上のように、上記実施の形態1によれば、認証サーバ3は、所定サービスへのログイン時に端末装置1との間でフェーズ1の相互認証を実行し、所定サービスからのログアウトから所定サービスへの次のログインまでの期間において、端末装置1との間で、フェーズ2の相互認証を繰り返し行う。端末装置1は、フェーズ2の相互認証の失敗を検出したときにただちにフェーズ1の相互認証を実行し、当該フェーズ1の相互認証に失敗したときには、なりすましが発生したと判定する。
 これにより、サービスサーバ4に負荷をかけずに、比較的短時間でなりすましが検知される。
実施の形態2.
 本発明の実施の形態2では、実施の形態1における認証サーバ3内のデータ構造およびそのデータ構造に沿ったデータ処理の一例について説明する。なお、システムの基本的な構成および動作は、実施の形態1と同様であるので、その説明は省略する。なお、この実施の形態2において、ワンタイム認証子はワンタイムIDである。
 まず、データ構造について説明する。
 実施の形態2では、認証サーバ3において、端末装置1と同様の、1または複数の端末装置のそれぞれに対して固有の管理番号が割り当てられ、その管理番号に関連付けて、(a)次回認証用のフェーズ1クライアント側ワンタイム認証子C1(n)、(b)次回認証用のフェーズ2クライアント側ワンタイム認証子C2(n)、(c)フェーズ1についての現時点(n-1)でのシードR1(n-1),Q1(n-1)および共通暗号鍵K1(n-1)並びに次回認証用のシードR1(n),Q1(n)および共通暗号鍵K1(n)、並びに(d)フェーズ2についての現時点(n-1)でのシードR2(n-1),Q2(n-1)および共通暗号鍵K2(n-1)並びに次回認証用のシードR2(n),Q2(n)および共通暗号鍵K2(n)が保持される。
 つまり、フェーズ1テーブル72aにおいて、管理番号に関連付けて、(a)次回認証用のフェーズ1クライアント側ワンタイム認証子C1(n)が保持される。また、フェーズ2テーブル72bにおいて、管理番号に関連付けて、(b)次回認証用のフェーズ2クライアント側ワンタイム認証子C2(n)が保持される。また、シードテーブル71において、管理番号に関連付けて、(c)フェーズ1についての現時点(n-1)でのシードR1(n-1),Q1(n-1)および共通暗号鍵K1(n-1)並びに次回認証用のシードR1(n),Q1(n)および共通暗号鍵K1(n)、並びに(d)フェーズ2についての現時点(n-1)でのシードR2(n-1),Q2(n-1)および共通暗号鍵K2(n-1)並びに次回認証用のシードR2(n),Q2(n)および共通暗号鍵K2(n)が保持される。
 図11は、実施の形態2におけるシードテーブル71の構造の一例を示す図である。図12は、実施の形態2における認証子テーブル72(フェーズ1テーブル72a,フェーズ2テーブル72b)の一例を示す図である。
 図11におけるフェーズ1アドレスは、フェーズ1テーブル72a内で、当該フェーズ1アドレスに関連付けられている管理番号と同一の管理番号を有するレコードの位置を示すデータである。同様に、図11におけるフェーズ2アドレスは、フェーズ2テーブル72b内で、当該フェーズ2アドレスに関連付けられている管理番号と同一の管理番号を有するレコードの位置を示すデータである。
 また、図12において、サーバ側認証処理部82により、フェーズ1テーブル72a内のレコード(ワンタイム認証子と管理番号の組)は、ワンタイム認証子の値について昇順にソートされる。同様に、フェーズ2テーブル72b内のレコード(ワンタイム認証子と管理番号の組)は、ワンタイム認証子の値について昇順にソートされる。これにより、ワンタイム認証時に迅速に、クライアントから受信したワンタイム認証子がテーブル72a,72bに登録されているか否かを判定することができる。
 なお、シードテーブル71、フェーズ1テーブル72a、およびフェーズ2テーブル72bは、予め、所定数(つまり、端末装置の数)のレコードを有しており、レコード内の管理番号以外のフィールドには初期値がセットされる。
 次に、データ処理について説明する。
 図13および図14は、実施の形態2における認証サーバ3によるデータ処理について説明するフローチャートである。
 認証サーバ3では、サーバ側認証処理部82は、端末装置1から、ワンタイム認証子C(フェーズ1またはフェーズ2のワンタイム認証子)を含むメッセージを受信すると、そのワンタイム認証子Cがフェーズ1テーブル72aに登録されているフェーズ1クライアント側ワンタイム認証子C1(n-1)のいずれかであるか否かを判定する(ステップS101)。
 受信したワンタイム認証子Cがフェーズ1テーブル72aに登録されているフェーズ1クライアント側ワンタイム認証子C1(n-1)のいずれかである場合、サーバ側認証処理部82は、フェーズ1テーブル72aにおいて、受信したワンタイム認証子Cに関連付けられている管理番号を特定する(ステップS102)。この場合、フェーズ1のワンタイム認証が実行される。
 サーバ側認証処理部82は、特定した管理番号に関連付けられているQ1(n-1)およびK1(n-1)をシードテーブル71から読み出す(ステップS103)。
 そして、サーバ側認証処理部82は、受信したK1(n-1)*R1(n)からR1(n)を、読み出したK1(n-1)で復号し、そのR1(n)を、その管理番号に関連付けてシードテーブル71に書き込む(ステップS104)。
 次に、サーバ側認証処理部82は、次回認証用サーバ側シードの生成を行う。まず、サーバ側認証処理部82は、乱数Qを生成し、この乱数Qを次回認証用サーバ側シードに使用した場合に、次回認証用のフェーズ1クライアント側ワンタイム認証子が、別のフェーズ1クライアント側ワンタイム認証子およびフェーズ2クライアント側ワンタイム認証子のいずれかに一致するか否かを判定するとともに(ステップS106)、初回のフェーズ2クライアント側ワンタイム認証子が、別のフェーズ2クライアント側ワンタイム認証子およびフェーズ1クライアント側ワンタイム認証子のいずれかに一致するか否かを判定する(ステップS107)。つまり、生成した乱数Qを使用した場合のクライアント側ワンタイム認証子の一意性(つまり、同値の別のワンタイム認証子が存在しないこと)が確保されるか否かが判定される。
 このとき、サーバ側認証処理部82は、次式に従って、この乱数Qを次回認証用サーバ側シードに使用した場合の次回認証用のフェーズ1クライアント側ワンタイム認証子X1および初回のフェーズ2クライアント側ワンタイム認証子X2を計算し、これらのワンタイム認証子X1,X2がフェーズ1テーブル72aおよびフェーズ2テーブル72bに登録されているか否かを判定する。
 X1=hc(R1(n),Q)
 X2=hc(Q,R2(0)),R2(0)=R1(n)
 そして、生成した乱数Qで一意性が確保されないと判定した場合、サーバ側認証処理部82は、一意性が確保されるまで、乱数Qを再生成する。
 一方、生成した乱数Qでは一意性が確保されると判定した場合、サーバ側認証処理部82は、乱数Qを、次回認証用フェーズ1サーバ側シードQ1(n)にセットし、そのシードQ1(n)を、その管理番号に関連付けてシードテーブル71に書き込む(ステップS108)。
 そして、サーバ側認証処理部82は、フェーズ1サーバ側ワンタイム認証子S1(n-1)および暗号化後の次回認証用フェーズ1サーバ側シードK1(n-1)*Q1(n)を生成し、端末装置1へ送信する(ステップS109)。
 また、サーバ側認証処理部82は、ステップS106での判定時に計算したX1を、次回認証用フェーズ1クライアント側ワンタイム識別子C1(n)とし、そのC1(n)で、フェーズ1テーブル72aにおいてその管理番号に関連付けられているワンタイム識別子を更新する(ステップS110)。このとき、サーバ側認証処理部82は、その管理番号に関連付けられているフェーズ1アドレスをシードテーブル71から読み出し、そのフェーズ1アドレスで、フェーズ1テーブル72aにおけるその管理番号のレコードを特定し、そのレコード内のワンタイム識別子を更新する。
 その後、サーバ側認証処理部82は、フェーズ1テーブル72a内のレコードを、ワンタイム識別子の値が昇順になるようにソートし、ソートにより位置に変更のあったレコードについて、シードテーブル71においてそのレコードの管理番号に関連付けられているフェーズ1アドレスを更新する(ステップS111)。
 また、サーバ側認証処理部82は、ステップS107での判定時に計算したX2を、初回認証用フェーズ2クライアント側ワンタイム識別子C2(0)とし、そのC2(0)で、フェーズ2テーブル72bにおいてその管理番号に関連付けられているワンタイム識別子を更新する(ステップS112)。このとき、サーバ側認証処理部82は、その管理番号に関連付けられているフェーズ2アドレスをシードテーブル71から読み出し、そのフェーズ2アドレスで、フェーズ2テーブル72bにおけるその管理番号のレコードを特定し、そのレコード内のワンタイム識別子を更新する。
 その後、サーバ側認証処理部82は、フェーズ2テーブル72b内のレコードを、ワンタイム識別子の値が昇順になるようにソートし、ソートにより位置に変更のあったレコードについて、シードテーブル71においてそのレコードの管理番号に関連付けられているフェーズ2アドレスを更新する(ステップS113)。
 そして、サーバ側認証処理部82は、次回認証用のフェーズ1共通暗号鍵K1(n)を生成し、その管理番号に関連付けてシードテーブル71に書き込む(ステップS114)。
 さらに、サーバ側認証処理部82は、シードテーブル71において、その管理番号の次回認証用のシードおよび共通暗号鍵R1(n),Q1(n),K1(n)で、今回認証用のシードおよび共通暗号鍵R1(n-1),Q1(n-1),K1(n-1)を更新する(ステップS115)。
 このようにして、フェーズ1のワンタイム認証についてのデータ処理が実行される。
 一方、ステップS101において、受信したワンタイム認証子Cがフェーズ1テーブル72aに登録されていないと判定した場合、サーバ側認証処理部82は、受信したワンタイム認証子Cが、フェーズ2テーブル72bに登録されているフェーズ2クライアント側ワンタイム認証子C2(n-1)のいずれかであるか否かを判定する(ステップS121)。
 受信したワンタイム認証子Cがフェーズ2テーブル72bに登録されているフェーズ2クライアント側ワンタイム認証子C2(n-1)のいずれかである場合、サーバ側認証処理部82は、フェーズ2テーブル72bにおいて、受信したワンタイム認証子Cに関連付けられている管理番号を特定する(ステップS122)。この場合、フェーズ2のワンタイム認証が実行される。
 サーバ側認証処理部82は、特定した管理番号に関連付けられているQ2(n-1)およびK2(n-1)をシードテーブル71から読み出す(ステップS123)。
 そして、サーバ側認証処理部82は、受信したK2(n-1)*R2(n)からR2(n)を、読み出したK2(n-1)で復号し、そのR2(n)を、その管理番号に関連付けてシードテーブル71に書き込む(ステップS124)。
 次に、サーバ側認証処理部82は、次回認証用サーバ側シードの生成を行う。まず、サーバ側認証処理部82は、乱数Qを生成し、この乱数Qを次回認証用サーバ側シードに使用した場合に、次回認証用のフェーズ2クライアント側ワンタイム認証子が、別のフェーズ2クライアント側ワンタイム認証子およびフェーズ1クライアント側ワンタイム認証子のいずれかに一致するか否かを判定する(ステップS126)。つまり、生成した乱数Qを使用した場合のクライアント側ワンタイム認証子の一意性(つまり、同値の別のワンタイム認証子が存在しないこと)が確保されるか否かが判定される。
 このとき、サーバ側認証処理部82は、次式に従って、この乱数Qを次回認証用サーバ側シードに使用した場合の次回認証用のフェーズ2クライアント側ワンタイム認証子X2を計算し、このワンタイム認証子X2がフェーズ2テーブル72bに登録されているか否かを判定する。
 X2=hc(Q,R2(n))
 そして、生成した乱数Qでは一意性が確保されないと判定した場合、サーバ側認証処理部82は、一意性が確保されるまで、乱数Qを再生成する。
 一方、生成した乱数Qでは一意性が確保されると判定した場合、サーバ側認証処理部82は、乱数Qを、次回認証用フェーズ2サーバ側シードQ2(n)にセットし、そのシードQ2(n)を、その管理番号に関連付けてシードテーブル71に書き込む(ステップS127)。
 そして、サーバ側認証処理部82は、フェーズ2サーバ側ワンタイム認証子S2(n-1)および暗号化後の次回認証用フェーズ2サーバ側シードK2(n-1)*Q2(n)を生成し、端末装置1へ送信する(ステップS128)。
 また、サーバ側認証処理部82は、ステップS126での判定時に計算したX2を、次回認証用フェーズ2クライアント側ワンタイム識別子C2(n)とし、そのC2(n)で、フェーズ2テーブル72bにおいてその管理番号に関連付けられているワンタイム識別子を更新する(ステップS129)。このとき、サーバ側認証処理部82は、その管理番号に関連付けられているフェーズ2アドレスをシードテーブル71から読み出し、そのフェーズ2アドレスで、フェーズ2テーブル72bにおけるその管理番号のレコードを特定し、そのレコード内のワンタイム識別子を更新する。
 その後、サーバ側認証処理部82は、フェーズ2テーブル72b内のレコードを、ワンタイム識別子の値が昇順になるようにソートし、ソートにより位置に変更のあったレコードについて、シードテーブル71においてそのレコードの管理番号に関連付けられているフェーズ2アドレスを更新する(ステップS130)。
 そして、サーバ側認証処理部82は、次回認証用のフェーズ2共通暗号鍵K2(n)を生成し、その管理番号に関連付けてシードテーブル71に書き込む(ステップS131)。
 さらに、サーバ側認証処理部82は、シードテーブル71において、その管理番号の次回認証用のシードおよび共通暗号鍵R2(n),Q2(n),K2(n)で、今回認証用のシードおよび共通暗号鍵R2(n-1),Q2(n-1),K2(n-1)を更新する(ステップS132)。
 このようにして、フェーズ2のワンタイム認証についてのデータ処理が実行される。
 以上のように、上記実施の形態2によれば、管理番号で複数の端末装置1を管理し、端末装置1についてそれぞれ独立してワンタイム認証を行うことができる。
 なお、上述の実施の形態に対する様々な変更および修正については、当業者には明らかである。そのような変更および修正は、その主題の趣旨および範囲から離れることなく、かつ、意図された利点を弱めることなく行われてもよい。つまり、そのような変更および修正が請求の範囲に含まれることを意図している。
 例えば、上記実施の形態1,2において、フェーズ1のシードおよび共通暗号鍵をそのままフェーズ2のシードおよび共通暗号鍵の初期値としているが、その代わりに、所定の関数(例えば、ハッシュ関数や一方向性関数)で、端末装置1および認証サーバ3のそれぞれにおいて、フェーズ1のシードおよび共通暗号鍵から、フェーズ2のシードおよび共通暗号鍵の初期値を導出するようにしてもよい。
 また、上記実施の形態1,2において、フェーズフラグPに2をセットするタイミングは、フェーズ1のワンタイム認証終了後であって、フェーズ2の初回のサーバ側ワンタイム認証子S2(0)を受信する前であれば、どのタイミングでもよい。
 また、上記実施の形態1,2においては、サービスログアウト後、ただちにフェーズ2の相互認証を開始しているが、その代わりに、サービスログイン後、ただちにフェーズ2の相互認証を開始するようにしてもよい。その場合においても、次回のサービスrログイン時にフェーズ2の相互認証は一旦終了し、新たに初期値がセットされて、フェーズ2の相互認証が開始される。
 また、上記実施の形態1,2において、相互認証に、ワンタイム認証以外の認証方法を使用してもよい。
 また、上記実施の形態1,2において、認証サーバ3をフロントエンドサーバとし、サービスサーバ4をバックエンドサーバとしてもよい。その場合、サービスログイン要求、サービスログアウト要求、およびサービスに関するデータ通信は、認証サーバ3を介して、端末装置1とサービスサーバ4との間で実行される。
 本発明は、例えば、ネットワークサービスにおける、なりすましの検知に適用可能である。

Claims (5)

  1.  認証サーバと、
     端末装置とを備え、
     前記認証サーバは、所定サービスへのログイン時に前記端末装置との間でフェーズ1の相互認証を実行し、少なくとも前記所定サービスからのログアウトから前記所定サービスへの次のログインまでの期間において、前記端末装置との間で、フェーズ2の相互認証を繰り返し行い、
     前記端末装置は、前記フェーズ2の相互認証の失敗を検出したときにただちに前記フェーズ1の相互認証を実行し、当該フェーズ1の相互認証に失敗したときには、なりすましが発生したと判定すること、
     を特徴とするなりすまし検知システム。
  2.  前記端末装置へ前記所定サービスを提供するサービスサーバをさらに備え、
     前記認証サーバは、(a)前記フェーズ1の相互認証に成功した場合、前記フェーズ1の相互認証の認証結果を前記サービスサーバへ通知して前記端末装置から前記サービスサーバへのログインを許可し、(b)前記フェーズ2の相互認証に成功した場合、前記フェーズ2の相互認証の認証結果を前記サービスサーバへ通知せず、
     前記端末装置は、前記ログアウトまたは前記ログインが検出されると、前記フェーズ2の相互認証をただちに開始すること、
     を特徴とする請求項1記載のなりすまし検知システム。
  3.  前記端末装置および前記認証サーバは、(a)前記フェーズ1の相互認証において、相互認証セッションで交換した情報に基づいて次回の相互認証セッションで使用するフェーズ1のワンタイム認証子をそれぞれ生成し、相互認証セッションでは、それぞれ生成したフェーズ1のワンタイム認証子で相互認証し、(b)前記フェーズ2の相互認証において、相互認証セッションで交換した情報に基づいて次回の相互認証セッションで使用するフェーズ2のワンタイム認証子をそれぞれ生成し、相互認証セッションでは、それぞれ生成したフェーズ2のワンタイム認証子で相互認証し、
     前記端末装置および前記認証サーバは、前記所定サービスへのログイン時に前記端末装置との間で実行された前記フェーズ1の相互認証セッションで交換して情報に基づいて、前記フェーズ2のワンタイム認証子の初期値をセットすること、
     を特徴とする請求項1記載のなりすまし検知システム。
  4.  前記端末装置および前記認証サーバは、所定時間間隔で前記フェーズ2の相互認証を実行することを特徴とする請求項1記載のなりすまし検知システム。
  5.  端末装置内のコンピュータを、
     前記端末装置から所定サービスへのログイン時に認証サーバとの間でフェーズ1の相互認証を実行し、前記所定サービスからのログアウトから前記所定サービスへの次のログインまでの期間において、前記認証サーバとの間で、フェーズ2の相互認証を繰り返し行う認証処理部として動作させ、
     前記認証処理部は、前記フェーズ2の相互認証の失敗を検出したときにただちに前記フェーズ1の相互認証を実行し、当該フェーズ1の相互認証に失敗したときには、なりすましが発生したと判定すること、
     を特徴とするコンピュータプログラム。
PCT/JP2015/073764 2015-08-24 2015-08-24 なりすまし検知システム WO2017033267A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2015/073764 WO2017033267A1 (ja) 2015-08-24 2015-08-24 なりすまし検知システム
JP2016502822A JP5939728B1 (ja) 2015-08-24 2015-08-24 なりすまし検知システム
CN201580060504.5A CN107111709B (zh) 2015-08-24 2015-08-24 欺骗检测系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/073764 WO2017033267A1 (ja) 2015-08-24 2015-08-24 なりすまし検知システム

Publications (1)

Publication Number Publication Date
WO2017033267A1 true WO2017033267A1 (ja) 2017-03-02

Family

ID=56184743

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/073764 WO2017033267A1 (ja) 2015-08-24 2015-08-24 なりすまし検知システム

Country Status (3)

Country Link
JP (1) JP5939728B1 (ja)
CN (1) CN107111709B (ja)
WO (1) WO2017033267A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099466A (ja) * 1998-09-17 2000-04-07 Ntt Data Corp 不正アクセス防止システム及び方法
JP2007226763A (ja) * 2006-01-25 2007-09-06 Japan Net Bank Ltd ユーザ情報管理方法及びユーザ情報管理システム
JP2012034292A (ja) * 2010-08-02 2012-02-16 Osamu Arakawa ワンタイム認証システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100525310C (zh) * 2006-01-04 2009-08-05 华为技术有限公司 一种可运营的安全p2p业务系统及实现方法
JP2008033652A (ja) * 2006-07-28 2008-02-14 Nec Infrontia Corp クライアント・サーバ型分散システム、クライアント装置、サーバ装置及びそれらに用いる相互認証方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099466A (ja) * 1998-09-17 2000-04-07 Ntt Data Corp 不正アクセス防止システム及び方法
JP2007226763A (ja) * 2006-01-25 2007-09-06 Japan Net Bank Ltd ユーザ情報管理方法及びユーザ情報管理システム
JP2012034292A (ja) * 2010-08-02 2012-02-16 Osamu Arakawa ワンタイム認証システム

Also Published As

Publication number Publication date
CN107111709A (zh) 2017-08-29
CN107111709B (zh) 2018-07-27
JPWO2017033267A1 (ja) 2017-08-24
JP5939728B1 (ja) 2016-06-22

Similar Documents

Publication Publication Date Title
JP6571250B2 (ja) ある装置を使用して別の装置をアンロックする方法
US10666642B2 (en) System and method for service assisted mobile pairing of password-less computer login
US20190245839A1 (en) Password-less authentication system and method
US10176310B2 (en) System and method for privacy-enhanced data synchronization
WO2016107333A1 (zh) 一种在线激活移动终端令牌的设备和系统的工作方法
JP4235676B2 (ja) 認証システム及び認証方法
US8914866B2 (en) System and method for user authentication by means of web-enabled personal trusted device
US9553858B2 (en) Hardware-based credential distribution
JP7202688B2 (ja) 認証システム、認証方法、アプリケーション提供装置、認証装置、及び認証用プログラム
JP2020523664A (ja) 身元認証
US20140101738A1 (en) Applying a partial password in a multi-factor authentication scheme
CN109510802B (zh) 鉴权方法、装置及系统
JP6012888B2 (ja) 機器証明書提供装置、機器証明書提供システムおよび機器証明書提供プログラム
JPWO2008035450A1 (ja) ワンタイムidによる認証
CN113591059B (zh) 一种用户登录认证方法
CN110933675A (zh) 一种无线传感器网络认证方法、系统与电子设备
JP2009193336A (ja) 処理分散システム、認証サーバ、分散サーバ及び処理分散方法
CN111901303A (zh) 设备认证方法和装置、存储介质及电子装置
JP5616156B2 (ja) ワンタイム認証システム
WO2017029708A1 (ja) 個人認証システム
JP5963382B1 (ja) ワンタイム認証システム
JP5939728B1 (ja) なりすまし検知システム
JP5793593B2 (ja) ユーザ識別情報を安全に検証するためのネットワーク認証方法
JP2017103710A (ja) 端末装置認証用のプログラム、端末装置認証方法、サーバ装置、および、認証システム
Yadav et al. A Security and Usability Analysis of Local Attacks Against FIDO2

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2016502822

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 15902237

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15902237

Country of ref document: EP

Kind code of ref document: A1