The disclosure of Japanese Patent Application No. 2017-100845 filed on May 22, 2017 including the specification and drawings and abstract is incorporated herein by reference in its entirety.
The present invention relates to an authentication method and an authentication system and, for example, relates to an authentication method and an authentication system using an authentication proxy client.
Particularly, when a network coupling device is coupled to a public line network such as the Internet, the device is always under security attack which is invisible and undetectable. Actually, in advanced research of security, discussion is being made how to detect an attack by malware or the like which cannot be detected prior to occurrence of an incident by behavior abnormality detection. There is incomparably higher security risk in the public line network than before, and it is to be considered that coupling means infection.
Japanese Unexamined Patent Application Publication No. 2015-36257 (patent literature 1) discloses a mechanism of using a device to be authenticated which has the PUF (Physical Uncloanable Function) in a challenge response authenticating process of a vehicle antitheft system. Concretely, information necessary for authentication information configuration is transmitted from an electronic key to a key registration server, and the key registration server generates an offline authentication challenge code and transmits it to a vehicle antitheft device. The vehicle antitheft device sends a UID request to the electronic key, receives a UID from the electronic key, and transmits the offline authentication. challenge code to the electronic key. The electronic key generates a response code and transmits it to the vehicle antitheft device. The vehicle antitheft device performs an electronic key offline authenticating process and, when the authentication succeeds, unlocks the doors of the vehicle.
The vehicle antitheft system described in the Japanese Unexamined Patent Application Publication No. 2015-36257 (patent literature 1) has a problem that, when an attack such as falsification occurs, a server or the like cannot grasp the details of the attack.
The other problems and novel features will become apparent from the description of the specification and the appended drawings.
According to an embodiment, in an authentication method executed in an authentication system including an authentication target device, an authentication proxy client, and a server, the authentication target device checks validity of first authentication information generated in the server and, further, the authentication device generates second authentication information and transmits the generated second authentication information to the authentication proxy client.
A device or system expressed by replacing the method of the embodiment, a program making a computer execute processes of the device or a part of the device, and the like are effective as modes of the present invention.
According to the embodiment, when an attack such as falsification occurs, authentication information including information regarding to the details of the attack can be generated.
With reference to the sequence chart of
A security parameter is set as k and a server receives 1̂k. The server selects a symmetric key ski←{0,1}̂k for an authentication target device to which an authentication identifier Idi∈{0,1}̂k is assigned, and transmits (ski,IDi). The authentication target device stores (ski,IDi) into a nonvolatile memory and sends a set ID of the authentication identifier ID to an authentication proxy client. The total number of authentication target devices is set to N and it is set that i∈[1,N]. For example, by performing those processes prior to shipment of authentication target devices, a unique key is set in each of the authentication target devices, and the key may be stored in the server. It is assumed that the authentication proxy client collects the ID of an authentication target device in advance.
The authentication proxy client receives the ID from the authentication target device (S1), selects rp∈{0,1}̂k for session management (S2), and transmits (1,rp,ID) to the server (S3). When (1,rp,ID) is received, the server executes the following procedure (S4).
1. The server verifies whether rp,ID∈{0,1}̂k is satisfied or not and whether ID∈ is satisfied or not. If not satisfied, the server finishes the process. If satisfied, the server executes the following.
2. The server selects the present time as tss←TimeStamp.
3. The server selects a random number as rh←{0,1}̂k.
4. The server calculates r1:=PRF(sk,tss∥ID∥rh). The server sets Data1:=(tss,ID,rh,r1) and transmits (1,rp,Data1) to the authentication proxy client (S5). PRF denotes a Pseudo Random Function, and an operator ‘∥’ expresses a bit conjunction.
The authentication proxy client selects the present time as tsp←TimeStamp (S6) and transmits (rp,tsp,Data1) to the authentication target device (S7). The authentication target device receives (rp,tsp,Data1=(tss,ID,rh,r1)) and executes the following procedure (S8).
1. The authentication target device verifies whether rp,tsp,tss,ID,rh,r1∈{0,1}̂k is satisfied or not, that is, whether the length of each of data is length as a specified value or not, and checks whether the ID matches that of itself. It is assumed here that data is properly padded as necessary. If not satisfied, the authentication target device sets result1:=00,rc←{0,1}̂(k−2),rc:=rc∥result1,r2←{0,1}̂k. If satisfied, the authentication target device executes the following operation.
2. The authentication target device verifies whether r1=PRF(sk,tss∥ID∥rh) satisfied or not. If satisfied, the authentication target device sets result1:=01. If not, the authentication target device sets that result1:=10.
3. The authentication target device selects a random number as rc←{0,1}̂(k−2) and sets that rc:=∥result1∈{0,1}̂k.
4. The authentication target device obtains r2:=PRF(ski,tss∥tsp∥ID∥rh∥rc). The authentication target device sends (rp,tsp,Data2) as Data2:=(tss,ID,rh,rc,r2) to the authentication proxy client (S9).
When there s a time restriction in transmission from the server to the authentication proxy client and tsp is reliable, by comparing tss and tsp at the time of the size check of 1, the check may be performed. When there is a time restriction in the authenticating process in the authentication target device and the clock of the authentication proxy client is reliable, the server may execute the check by comparing tsp and time of reception of the authentication result (hereinbelow, written as tsp2) from the authentication target device.
The authentication proxy client transmits (2,rp,tsp,Data2) to the server (S10). The server receives 2,rp,tsp,Data2=(tss,ID,rh,rc,r2)) and verifies whether rp,tss,tsp,ID,rh,rc,r2∈{0,1}̂k is satisfied, that is, the length of each of the data is the length as the specific value or not. If not satisfied, the server sets that result2:=00. It is assumed here that the data is properly padded as necessary. If satisfied, the server verifies whether r2=PRF(sk,tss∥tsp∥ID∥rh∥rc is satisfied or not. If correct, the server sets the lower two bits of result2:=rc. If not, the server sets that result2:=00. The server outputs result2 as the authentication result and records it (S11).
When result2 is 01, authentication success in the authentication target device is recorded. When result2 is 10, authentication failure is recorded. When result2 is 00, a reception error (possibility of message falsification) is recorded.
When there is a time restriction since transmission of authentication information from the server to the authentication proxy client until the server obtains an authentication result from the client, the size check may be performed by comparing tss with present time in the server. When there is a time restriction in transmission of an authentication result from the authentication proxy client to the server and the clock of the authentication proxy client is reliable, the check may be performed by additionally transmitting tsp2 from the authentication proxy client to the server and comparing tsp and tss in the server.
In the protocol, when rp is falsified, a corresponding session becomes non-existing. Even a corresponding session exists, authentication in an authentication target device is executed in a different session and fails, so that it is fail-safe. Also in the case of falsification of rh, verification of an authentication result in a server fails, so that it is fail-safe. By authentication result verifying means in a server, even when an attacker falsifies the value of rc, the result does not pass the verification in the server. Also in the case where tsp is falsified, by the authentication result verifying means in the server, the result does not pass the verification in the server.
That is, even when any of rp, rc, and tsp is falsified, the attacker cannot obtain authentication success and verification pass on the authentication result of the authentication target device. When all or any of rp, rh, and rc are/is falsified, for example, the server can detect the falsification.
For the purpose of efficiently detecting authentication failure and verification failure by falsification, a hash value may be added to tsp.
The above-described operations (1), (2), and (3) are repetitively executed in the sequence illustrated in
There are a man-in-the-middle (MITM) attack and a replay attack for safety to be considered at the time of authenticating process.
1. Collection of the ID of an authentication target device by an in-vehicle gateway or the like
2. Transmission of the ID collected by the in-vehicle gateway or the like to an authentication server 2′. An MITM attacker falsifies the ID and transmits the falsified ID to the authentication server
3′. The authentication server sends as a response genuine authentication information to the received falsified ID
3. The MITM attacker replaces the genuine authentication information with false authentication information and sends the false authentication information to the in-vehicle gateway or the like
4. Device authentication using the false authentication information by the in-vehicle gateway or the like
5. Transmission of a device authentication result by the in-vehicle gateway or the like to the authentication server
5′. The MITM attacker falsifies the device authentication result and transmits the falsified result to the authentication server
In the above case, when the authentication server recognizes the device authentication as verification pass, the attack of the MITM attacker succeeds. For example, the authentication target device can be replaced to a non-genuine device. Also in the case where authentication of an authentication target device succeeds and the authentication server recognizes the device authentication as verification pass, the attack of the MITM attacker succeeds. For example, an unauthorized user can use the device.
1 Malware authenticates the authentication target device by using false authentication information
2 The malware transmits the false authentication information to the authentication server
Whether an attack of a MITM attacker succeeds or not is similar to that in
Case 1. Change of the length of a message transmitted to an authentication target device
Case 2. Change of the content of a message transmitted to an authentication target device
Case 3. Change of the length of a message transmitted to an authentication target device
Case 4. Change of the content of a message transmitted to an authentication server
1. Collection of the ID of AAA of an authentication target device by an in-vehicle gateway or the like
2. Transmission of the collected ID AAA to an authentication server by the in-vehicle gateway or the like
2′. Transmission of the ID of AAA from a MITM attacker to the authentication server
3. Response of genuine authentication information to the ID of AAA from the authentication server
3′. The MITM attacker replaces the authentication information with false authentication information and sends the false authentication information to the in-vehicle gateway or the like
4. Authentication of a device having the ID of BBB using the replaced authentication information by the in-vehicle gateway or the like
5. Transmission of a device authentication result of the device having the ID of BBB to the authentication server by the in-vehicle gateway or the like
5′. Transmission of the device authentication result of the ID of BBB to the authentication server by the MITM attacker
In the above case, when the authentication server recognizes the device authentication as verification pass, the attack of the MITM attacker succeeds. For example, the authentication target device can be replaced to a non-genuine device.
As a scenario to be considered for safety, the following can be mentioned as an attacking method using a replay attack (a destination change).
Case 5. Transmission to a different authentication target device
The case of the offline authentication protocol illustrated in
Hereinbelow, change points from
Although a monotonic counter is introduced implicitly in
An authentication proxy client receives the ID from an authentication target device (S21), selects rp∈{0,1}̂k for session management (S22), and transmits (1,rp,ID) to a server (S23). The server receives (1,rp,ID) and executes the following procedure (S24).
1. The server verifies whether rp,ID∈{0,1}̂k is satisfied or not and whether ID∈ID is satisfied or not. If not satisfied, the server finishes the process. If satisfied, the server executes the following.
2. The server selects the present time as tss←TimeStamp.
3. The server selects a random number as rh←{0,1}̂k−m, rh:=rh∥cnt[ID]. cnt[ID] denotes a monotonic counter value of the initial value zero corresponding to the ID.
4. The server calculates r1:=PRF(sk,tss∥ID∥rh). The server transmits (1,rp,Data1) as Data1:=(tss,ID,rh,r1) to the authentication proxy client (S25). After the transmission, the server increments cnt[ID]. PRF denotes a pseudo random function, and the operator ‘∥’ expresses bit conjunction.
The authentication proxy client selects the present time as tsp←TimeStamp (S26) and transmits (rp,tsp,Data1) to the authentication target device (327). The authentication target device receives (rp,tsp,Data1=(tss,ID,rh,r1)) and executes the following procedure (S28).
1. The authentication target device verifies whether rp,tsp,tss,ID,rh,r1∈{0,1}̂k is satisfied or not, that is, whether the length of each of the data is equal to the length of a specified value or not and checks if the ID matches that of itself. It is assumed here that data is properly padded as necessary. If not satisfied, the authentication target device sets that result1:=00,rc←{0,1}̂(k−2), rc:=rc∥result1,r2←{0,1}̂k. If satisfied, the authentication target device executes the following operations.
2. The authentication target device verifies whether r1=PRF(sk,tss∥ID∥rh) satisfied or not. If satisfied, the authentication target device executes the following processes. If not satisfied, the authentication target device sets that result1:=10 and shifts the process to 4.
3. The authentication target device checks whether cnt[ID]>pre_cnt[ID] or cnt[ID]==0̂pre_cnt[ID]+1==0 is satisfied or not and, if satisfied, sets that result1:=01 and pre_cnt[ID]:=cnt[ID]. If not satisfied, the authentication target device sets that result1:=11. pre_cnt[ID] denotes a monotonic counter whose initial value is zero, held by an authentication target device corresponding to the ID.
4. The authentication target device selects a random number as rc←{0,1}̂(k−2) and sets that rc:=rc∥result1∈{0,1}̂k.
5. r2:=PRF(ski,tss∥tsp∥ID∥rh∥rc) is obtained. The authentication target device transmits (rp,tsp,Data2) using Data2:=(tss,ID,rh,rc,r2) to the authentication proxy client (S29).
When there is a time restriction in transmission from the server to the authentication proxy client and tsp is reliable, the size check in the above-described operation 1 may be executed by comparing tss and tsp. When there is a time restriction for the authenticating process in the authentication target device and the clock of the authentication proxy client is reliable, the server may execute the check by comparing tsp and time of reception of the authentication result from the authentication target device (hereinbelow, described as tsp2).
The authentication proxy client transmits (2,rp,tsp,Data2) to the server (S30). The server receives (2,rp,tsp, Data2=(tss,ID,rh,rc,r2)) and verifies whether rp,tss,tsp,ID,rh,rc,r2∈{0,1}̂k is satisfied or not, that is, whether the length of each of data is the length as the specified value or not. If not satisfied, the server sets that result2:=00. It is assumed that the data is properly padded as necessary. If satisfied, the server verifies whether r2=PRE(sk,tss∥tsp∥ID∥rh∥rc) is satisfied or not and, if correct, sets the lower two bits of result2:=rc. If not, the server sets that result2:=00. The server outputs result2 as the authentication result and records it (S31).
When result2 is 01, authentication success in the authentication target device is recorded. When result2 is 11, authentication failure due to reuse of authentication information is recorded. When result2 is 10,authentication failure due to pseudo random function value mismatch is recorded. When result2 is 00, a reception error (possibility of message falsification) is recorded.
When there is a time restriction since transmission of authentication information from the server to the authentication proxy client until the server obtains an authentication result from the authentication proxy client, the size check may be performed by comparing tss and present time in the server. When there is a time restriction in transmission of an authentication result from the authentication proxy client to the server and the clock of the authentication proxy client is reliable, the check may be performed by additionally transmitting tsp2 from the authentication proxy client to the server and comparing tsp2 and tss in the server.
In the protocol, when rp is falsified, a corresponding session becomes non-existing. Even a corresponding session exists, authentication in an authentication target device is executed in a different session and fails, so that it is fail-safe. Also in the case of falsification of rh, verification of an authentication result in a server fails, so that it is fail-safe. By authentication result verifying means in a server, even when an attacker falsifies the value of rc, the result does not pass the verification in the server. Also in the case where tsp is falsified, by the authentication result verifying means in the server, the result does not pass the verification in the server.
Even any of rp, rc, and tsp is falsified, the attacker cannot obtain authentication success and verification pass on the authentication result of the authentication target device. When all or any of rp, rh, and rc are/is falsified, for example, the falsification can be detected.
For the purpose of efficiently detecting authentication failure and verification failure by falsification, a hash value may be added to tsp.
Repetitive execution of the above-described operations (1), (2), and (3) is defined in a manner similar to that in the sequence illustrated in
It is obvious from the way how the protocol is configured that the one-time offline authentication protocol illustrated in
A scenario example of the attack is that an MITM attacker repetitively uses genuine authentication information CCC obtained by ID authentication and executes an operation which can be executed with the authentication information CCC at any timing.
In a scenario to be considered for safety, there is the following attacking method using a replay attack (repetitive use of the same data).
Case 6. A plurality of times of transmission to the authentication target device using the same data
By executing the offline authentication protocol described an the first embodiment as described above, the following effects can be obtained.
1) On precondition that a server and an authentication target device have a common key in advance, an authentication proxy (authentication proxy client) transmits a session identifier for recognizing a corresponding relation between identifier information of the authentication target device corrected and communication to the server, and authentication information is configured from the identifier of the authentication target device and the common key in the server. The server sends back the authentication information to the authentication proxy, and the authentication proxy authenticates the authentication target device by using the identification information. Regardless of the result of the authentication executed after confirming that there is no defect in the authentication information, the authentication proxy transmits an authentication result constructed by a pseudo random function using the common key as a response to the server. By verifying the authentication result in the server, authentication of the authentication target device can be securely realized.
2) In a server, coding/decoding process becomes unnecessary in the authentication result verification.
3) Without accompanying signature issuance verification targeted at a communication path, in authentication result verification in a server, falsification can be detected not only by the result of authentication of authentication target device but also transmission of an authentication result from the authentication target device to the server.
4) An attack by repetitive use of authentication information can be suppressed.
With reference to the sequence chart of
A security parameter is set as k and a server receives 1̂k. The server selects a symmetric key ski←{0,1}̂k for an authentication target device to which an authentication identifier Idi∈{0,1}̂k is assigned, and transmits (ski,IDi). The authentication target device stores (ski,IDi) into a nonvolatile memory and sends a set ID of the authentication identifier ID to an authentication proxy client. The total number of authentication target devices is set to N and i∈[1,N] is set. For example, by performing those processes prior to shipment of authentication target devices, a unique key is set in each of the authentication target devices, and the key may be stored in the server. It is assumed that the authentication proxy client collects the ID of an authentication target device in advance.
The authentication proxy client receives the ID from the authentication target device (S41) selects rp∈{0,1}̂k for session management (S42), and transmits (1,rp, {IDi; i∈[1,N]}) together with the set {IDi; i∈[1,N]} of IDs of an authentication target device group to the server (S43). The transmission may be realized not via a network but by delivering a storage medium in which information is written.
The server receives (1,rp, {IDi; i∈[1,N]}) and executes the following procedure (S44).
1. The server selects the present time as tss←TimeStamp and sets that cnt:=1 and Data1:Φ (empty set).
2. The server performs the following operations 3, 4, 5, and 6 for each of i∈[1,N].
3. The server verifies whether rp,IDi∈{0,1}̂k is satisfied or not and whether IDi∈ID is satisfied or not. If not, the server increments cnt and shifts the process to 6. If satisfied, the server executes the following.
4. The server selects a random number as rhi←{0,1}̂k.
5. The server calculates r1i:=PRF(ski,tss∥Idi∥rhi).
6. The server sets that Data1:=(IDi,rhi,r1i)∪Data1 and increments “i”. The operator ‘∥’ expresses a bit conjunction.
7. If cnt==N, the server finishes the process. If not, the server sets that Data1:=(tss)∪Data1 and transmits (1,rp,Data1) to the authentication proxy client (S45). The transmission may not be performed via a network but may be realized by delivering a storage medium in which information is written.
The authentication proxy client selects the present time as tsp←TimeStamp (S46) and transmits (rp,tsp,Data1) to the authentication target device (S47).
The authentication target device receives (rp,tsp,Data1={(tss,IDi,rhi,r1); i∈[1,N]}) and executes the following procedure (S48). The reception may be realized not via a network but by receiving a storage medium in which information is written.
1. Data2:=Φ (empty set)
2. The authentication target device executes the following operations 3, 4, 5, 6, and 7 for each i∈[1,N].
3. The authentication target device verifies whether rp,tsp,tss,IDi,rhi,r1∈{0,1}̂k is satisfied or not, that is, whether the length of each data becomes the length as a specified value or not, and checks whether IDi matches the ID of itself. It is assumed that data is properly padded as necessary. If not satisfied, the authentication target device sets that result1:=00,rc←{0,1}̂(k−2), rci:=rc∥result1,r2i←{0,1}̂k, and shifts the process to 7. If satisfied, the authentication target device executes the following operations.
4. The authentication target device verifies whether r1i=PRF(ski,tss∥ID∥rhi) is satisfied or not. If satisfied, the authentication target device sets that result1:=01. If not satisfied, the authentication target device sets that result1:=10.
5. The authentication target device selects a random number as rc←{0,1}̂(k−2) and sets that rci:=rc∥result1∈{0,1}̂k.
6. The authentication target device obtains r2i:=PRF(ski,tss∥tsp∥IDi∥rhi∥rci).
7. The authentication target device sets that Data2:=(tss,IDi,rhi,rci,r2)∪Data2, and increments “i”.
8. The authentication target device sets that Data2:=(tss)∪Data2, and transmits (rp,tsp,Data2) to the authentication proxy client (S49). The transmission may be realized not via a network but by transmitting a storage medium in which information is written.
When there is a time restriction in transmission from the server to the authentication proxy client and tsp is reliable, by comparing tss and tsp at the time of the verification of 1, the check may be executed. When there is a time restriction in the authenticating process in the authentication target device and the clock of the authentication proxy client is reliable, the server may execute the check by comparing tsp and time of reception of the authentication result (hereinbelow, written as tsp2) from the authentication target device.
The authentication proxy client transmits (2,rp,tsp, Data2) to the server (S50). The server receives (2,rp,tsp,Data2={(tss,IDi,rhi,rci,r2i); i∈[1,N]} and executes the following procedure (S51).
1. result:=∪
2. The server executes the following operations 3, 4, and 5 for each i∈[1,N].
3. The server verifies whether rp,tss,tsp,IDi,rhi,rci,r2i∈{0,1}̂k is satisfied or not, that is, whether the length of each data is the length as a specified value or not. If not satisfied, the server sets that result2:=00 and shifts the process to 5. It is assumed here that data is properly padded as necessary. If satisfied, the following is executed.
4. The server verifies whether r2i=PRF(sk,tss∥tsp∥IDi∥rhi∥rci) is satisfied or not. If correct, the server sets the lower two bits of result2:=rc. If not, the server sets that result2:=00. When result2 is 01, authentication success in the authentication target device is recorded. When result2 is 10, authentication failure is recorded. When result2 is 00, a reception error (possibility of message falsification) is recorded.
5. result:=result∪result2 is set and “i” is incremented.
6. result is output as an authentication result and recorded.
When there is a time restriction since transmission of authentication information from a server to an authentication proxy client until the server obtains an authentication result from the authentication proxy client, the server may execute the size check in the above operation 3 by comparing tss with present time in the server.
When there is a time restriction in transmission of an authentication result from the authentication proxy client to the server and the clock of the authentication proxy client is reliable, the check may be performed by additionally transmitting tsp2 from the authentication proxy client to the server and comparing tsp2 and tss in the server.
In a manner similar to the case of
That is, even when any of rp, rc, and tsp is falsified, the attacker cannot obtain authentication success and verification pass on the authentication result of the authentication target device. When all or any of rp, rh, and rc are/is falsified, the server can detect the falsification. For the purpose of efficiently detecting authentication failure and verification failure by falsification, a hash value may be added to tsp.
Repetitive execution of the above-described operations (1), (2), and (3) is defined in a manner similar to that in the sequence illustrated in
As obvious from the way of the configuration, the authentication protocol in the second embodiment has resistance to attacks of the cases 1 to 5.
The case of
Although a monotonic counter is introduced implicitly in
A security parameter is set as k and a server receives 1̂k. The server selects a symmetric key ski←{0,1}̂k for an authentication target device to which an authentication identifier Idi∈{0,1}̂k is assigned, and transmits (ski,IDi). The authentication target device stores (ski,IDi) into a nonvolatile memory and sends a set ID of the authentication identifier IDi to an authentication proxy client.
The total number of authentication target devices is set to N and i∈[1,N] is set. For example, by performing those processes prior to shipment of authentication target devices, a unique key is set in each of the authentication target devices, and the key may be stored in the server.
An authentication proxy client receives {IDi; i∈[1,N]} from an authentication target device (S61), selects rp∈{0,1}̂k for session management (S62), and transmits (1,rp,{IDi; i∈[1,N]}) together with the set of IDs {IDi; i∈[1,N]} of the authentication target device group to a server (S63). The transmission may be realized not via a network but by delivering a storage medium in which information is written.
The server receives (1,rp,{IDi; i∈[1,N]}) and executes the following procedure (S64).
1. The server selects the present time as tss TimeStamp. The server sets that cnt:=1 and Data1:=Φ (empty set)
2. The server executes the following operations 3, 4, 5, and 6 for each of i∈[1,N].
3. The server verifies whether rp,Idi∈{0,1}̂k is satisfied or not and whether Idi∈ID is satisfied or not. If not, the server increments cnt and shifts the process to 6. If satisfied, the server executes the following.
4. The server selects a random number as rh←{0,1}̂k−m, rh:=rh∥cnt[i]. cnt[i] indicates a monotonic counter value of the initial value zero corresponding to IDi.
5. The server calculates r1i:=PRF(ski,tss∥IDi∥rhi).
6. The server sets that Data1:=(IDi,rhi,r1i)∪Data1 and increments “i”. After that, the server increments cnt[i]. The operator ‘∥’ expresses a bit conjunction.
7. If cnt==N, the server finishes the process. If not, the server sets that Data1:=(tss)∪Data1, and transmits (1,rp,Data) to the authentication proxy client (S65). The transmission may not be performed via a network but may be realized by delivering a storage medium in which information is written.
The authentication proxy client selects the present time as tsp←TimeStamp (S66) and transmits (rp,tsp,Data1) to the authentication target device (S67).
The authentication target device receives (rp,tsp,Data1={(tss,IDi,rhi,r1i); i∈[1,N]}) and executes the following procedure (S68). The reception may be realized not via a network but by receiving a storage medium in which information is written.
1. Data2:=Φ (empty set)
2. The authentication target device executes the following operations 3, 4, 5, 6, and 7 for each i∈[1,N].
3. The authentication target device verifies whether rp,tsp,tss,IDi,rhi,r1i{0,1}̂k is satisfied or not, that, is, whether the length of each data becomes the length as a specified value or not, and checks whether IDi matches that of itself. It is assumed that data is properly padded as necessary. If not satisfied, the authentication target device sets that result1:=00,rc←{0,1}̂(k−2),rci:=rc∥result1,r2i←{0,1}̂k, and shifts the process to 7. If satisfied, the authentication target device executes the following operations.
4. The authentication target device verifies whether r1i=PRF(ski,tss∥IDi∥rhi) is satisfied or not. If satisfied, the authentication target device executes the following processes. If not satisfied, the authentication target device sets that result1:=10, and shifts the process to 4.
5. The authentication target device checks whether cnt[i]>pre_cnt[i] or cnt[i]==0̂pre_cnt[i]+1−−0 is satisfied or not. If satisfied, the authentication target device sets that result1:=01 and pre_cnt[i]:=cnt[i]. If not satisfied, the authentication target device sets that result1:=11. pre_cnt[i] indicates a monotonic counter having an initial value of zero of the authentication target device corresponding to IDi.
6. The authentication target device selects a random number as rc←{0,1}̂(k−2), and sets that rci:=rc∥result1∈{0,1}̂k.
7. The authentication target device obtains r2i:=PRF(ski,tss∥tsp∥IDi∥rhi∥rci).
8. The authentication target device sets that Data2:=(tss,IDi,rhi,rci,r2)∪Data2, and increments “i”.
9. The authentication target device sets that Data2:=(tss)∪Data2, and transmits (rp,tsp,Data2) to the authentication proxy client (S69). The transmission may be realized not via a network but by transmitting a storage medium in which information is written.
When there is a time restriction in transmission from the server to the authentication proxy client and tsp is reliable, by comparing tss and tsp in the verification 1, the check may be executed. When there is a time restriction in the authenticating process in the authentication target device and the clock of the authentication proxy client is reliable, the server may execute the check by comparing tsp and time of reception of the authentication result (hereinbelow, written as tsp2) from the authentication target device.
The authentication proxy client transmits (2,rp,tsp,Data2) to the server (S70). The server receives (2,rp,tsp,Data2={(tss,IDi,rhi,rci,r2i); i∈[1,N]}) and executes the following procedure (S71).
1. result:=Φ
2. The server executes the following operations 3, 4, and 5 for each i∈[1, N].
3. The server verifies whether rp,tss,tsp,IDi,rhi,rci,r2i∈{0,1}̂k is satisfied or not, that is, whether the length of each data is the length as a specified value or not. If not satisfied, the server sets that result2:=00 and shifts the process to 5. It is assumed here that data is properly padded as necessary. If satisfied, the server executes the following.
4. The server verifies whether r2i=PRF(sk,tss∥tsp∥IDi∥rhi∥rci) is satisfied or not. If correct, the server sets the lower two bits of result2:=rc. If not, the server sets that result2:=00. When result2 is 01, authentication success in the authentication target device is recorded. When result2 is 11, authentication failure due to reuse of authentication information is recorded. When result2 is 10, authentication failure due to mismatch of a pseudo random function value is recorded. When result2 is 00, a reception error (possibility of message falsification) is recorded.
5. The server sets that result:=result∪result2 and increments “i”.
6. The server outputs “result” as an authentication result and records it.
When there is a time restriction since transmission of authentication information from a server to an authentication proxy client until the server obtains an authentication result from the authentication proxy client, the server may execute the size check in the above operation 3 by comparing tss with present time in the server.
When there is a time restriction in transmission of an authentication result from the authentication proxy client to the server and the clock of the authentication proxy client is reliable, the check may be performed by additionally transmitting tsp2 from the authentication proxy lent to the server and comparing tsp2 and tss in the server.
In a manner similar to the case of
That is, even when any of rp, rc, and tsp is falsified, the attacker cannot obtain authentication success and verification pass on the authentication result of the authentication target device. When all or any of rp, rh, and rc are/is falsified, the server can detect the falsification. For the purpose of efficiently detecting authentication failure and verification failure by falsification, a hash value may be added to tsp.
Repetitive execution of the above-described operations (1), (2), and (3) is defined in a manner similar to that in the sequence illustrated in
It is obvious from the way how the protocol is configured that the offline authentication protocol according to the second embodiment has resistance to the attacks of the cases 1 to 5. As obvious from the way of the configuration, the offline authentication protocol according to the second embodiment has resistance to the attack of the case 6.
As described above, by executing the offline authentication protocol described in the second embodiment as described above, the following effects can be obtained.
1) On precondition that a server and an authentication target device hold a common key in advance, by delivering a storage medium in which information is written not via a network but between the server and the authentication proxy (authentication proxy client) and/or between the authentication proxy and the authentication target device, authentication of the authentication target device can be securely realized.
2) Coding/decoding process becomes unnecessary in the authentication result verification in the server.
3) Without accompanying signature issuance verification targeted at a communication path, in authentication result verification in a server, falsification can be detected not only by the result of authentication of an authentication target device, but also by transmission of an authentication result from the authentication target device to the server.
4) An attack by repetitive use of authentication information can be suppressed.
In the protocols of the first and second embodiments, a situation that a clock is not mounted in an authentication target device is assumed, and a clock of an authentication proxy client is used in place of using a clock of the authentication target device.
The value of the clock of the authentication proxy client can be protected by adding a hash value or the like. However, when a hash function is not used, falsification becomes possible. An attacker can realize failure in verification by falsification and failure in time restriction verification.
With reference to the sequence chart of
A security parameter is set as k and a server receives 1̂k. The server selects a symmetric key ski←{0,1}̂k for an authentication target device to which an authentication identifier IDi∈{0,1}̂k is assigned, and transmits (ski,IDi). The authentication target device stores (ski,IDi) into a nonvolatile memory and sends a set ID of the authentication identifier ID to an authentication proxy client.
The total number of authentication target devices is set to N and i∈[1,N] is set. For example, by performing those processes prior to shipment of authentication target devices, a unique key is set in each of the authentication target devices, and the key may be stored in the server. It is assumed that the authentication proxy client collects the ID of an authentication target device in advance.
The authentication proxy client receives the ID from the authentication target device (S81), selects rp∈{0,1}̂k for session management (S82), and transmits (1,rp,ID) to the server (S83). The server receives (1,rp,ID) and executes the following procedure (S84).
1. The server verifies whether rp,ID∈{0,1}̂k is satisfied or not and whether ID∈ID is satisfied or not. If not, the server finishes the process. If satisfied, the server executes the following.
2. The server selects the present time as tss←TimeStamp.
3. The server selects a random number as rh←{0,1}̂k.
4. The server calculates r1:=PRF(sk,tss∥ID∥rh). The server sets that Data1:=(tss,ID,rh,r1) and transmits (1,rp,Data1) to the authentication proxy client (S85). The operator ‘∥’ expresses a bit conjunction.
The authentication proxy client transmits (rp,Data1) to the authentication target device (S86). The authentication target device receives (rp,Data1=(tss,ID,rh,r1)) and executes the following procedure (S87).
1. The authentication target device selects the present time as tsd←TimeStamp.
2. The authentication target device verifies whether rp,tss,ID,rh,r1∈{0,1}̂k is satisfied or not, that is, whether the length of each of data is length of a specified value or not, and checks whether the ID matches the ID of itself. It is assumed here that data is properly padded as necessary. If not satisfied, the authentication target device sets that result:=00,rc←{0,1}(k−2),rc:=rc∥result1,r2←{0,1}̂k. If satisfied, the authentication target device executes the following operations.
3. The authentication target device verifies whether r1=PRF(sk,tss∥ID∥rh) is satisfied or not. If satisfied, the authentication target device sets that result1:=01. If not, the authentication target device sets that result1:=10.
4. The authentication target device selects a random number as rc←{0,1}̂(k−2), and sets that rc:=rc∥result1∈{0,1}̂k.
5. The authentication target device obtains r2:=PRF(ski,tss∥tsp∥ID∥rh∥rc). The authentication target device sends (rp,Data2) as Data2:=(tss,tsd,ID,rh,rc,r2) to the authentication proxy client (S88).
When there is a time restriction in transmission of authentication information from the server to the authentication target device and tsd is reliable, by comparing tss and tsd at the time of the size check of 2, the authentication target device may perform the check.
The authentication proxy client transmits (2,rp, Data2) to the server (S89). The server receives (2,rp, Data2=(tss,tsd,ID,rh,rc,r2)) and verifies whether rp,tss,tsp,ID,rh,rc,r2∈{0,1}̂k is satisfied, that, the length of each of the data is the length as the specific value or not. If not satisfied, the server sets that result2:=00. It is assumed here that the data is properly padded as necessary. If satisfied, the server verifies whether r2=PRF(sk,tss∥tsd∥tsd∥ID∥rh∥rc is satisfied or not. If correct, the server sets the lower two bits of result2:=rc. If not, the server sets that result2:=00. The server outputs result2 as an authentication result, and records it (S90). When result2 is 01, authentication success in the authentication target device is recorded. When result is 10, authentication failure is recorded. When result2 is 00, a reception error (possibility of message falsification) is recorded.
When there is a time restriction since transmission of authentication information from a server to an authentication target device via an authentication proxy client until the server obtains an authentication result from the authentication proxy client, the server may perform the size check by comparing tss with present time in the server.
When there is a time restriction in transmission of an authentication result from the authentication target device to the server and the clock of the authentication target device is reliable, the server may perform the check by comparing tsd and tss.
In the protocol, when rp is falsified, a corresponding session becomes non-existing. Even a corresponding session exists, authentication in an authentication target device is executed in a different session and fails, so that it is fail-safe. Also in the case of falsification of rh, verification of an authentication result in a server fails, so that it is fail-safe. By authentication result verifying means in a server, even when an attacker falsifies the value of rc, the result does not pass the verification in the server. Also in the case where tsd is falsified, by the authentication result verifying means in the server, the result does not pass the verification in the server.
That is, even when any of rp, rc, and tsd is falsified, the attacker cannot obtain authentication success and verification pass on the authentication result of the authentication target device. When all or any of rp, rh, rc and tsd are/is falsified, for example, the server can detect the falsification. Therefore, it is unnecessary to add a hash value to tsd. One-time use of authentication information may be realized by the monotonic counter introducing method described in the first embodiment.
Repetitive execution of the above-described operations (1), (2), and (3) is defined in a manner similar to that in the sequence illustrated in
As obvious from the way of the configuration of the offline authentication protocol of
With reference to the sequence chart of
A security parameter is set as k and a server receives 1̂k. The server selects a symmetric key ski←{0,1}̂k for an authentication target device to which an authentication identifier Idi∈{0,1}̂k is assigned, and transmits (ski,IDi). The authentication target device stores (ski,IDi) into a nonvolatile memory and sends a set ID of the authentication identifier IDi to an authentication proxy client.
The total number of authentication target devices is set to N and i∈[1,N] is set. For example, by performing those processes prior to shipment of authentication target devices, a unique key is set in each of the authentication target devices, and the key may be stored in the server. It is assumed that the authentication proxy client collects the IDs of authentication target devices in advance.
An authentication proxy client receives {IDi; i∈[1,N]} from an authentication target device (S91), selects rp∈{0,1}̂k for session management (S92), and transmits 1,rp,{IDi; i∈[1,N]}) together with the set of IDs {IDi; i∈[1,N]} of the authentication target device group to a server (S93). The transmission may be realized not via a network but by delivering a storage medium in which information is written.
The server receives (1,rp,{IDi; i∈[1, N]}) and executes the following procedure (S94).
1. The server selects the present time as tss TimeStamp and sets that cnt:=1 and Data1:=Φ (empty set).
2. The server executes the following operations 3, 4, 5, and 6 for each of i∈[1, N].
3. The server verifies whether rp,Idi∈{0,1}̂k is satisfied or not and whether IDi∈ID is satisfied or not. If not, the server increments cnt and shifts the process to 6. If satisfied, the server executes the following.
4. The server selects a random number as rhi←{0.1}̂k.
5. The server calculates r1i:=PRF(ski,tss∥IDi∥rhi)
6. The server sets that Data1:=(IDi,rhi,r1i)∪Data1 and increments “i”. The operator ‘∥’ expresses a bit conjunction.
7. If cnt==N, the server finishes the process. If not, the server sets that Data1:=(tss)∪Data1, and transmits (1,rp, Data) to the authentication proxy client (S95). The transmission may not be performed via a network but may be realized by delivering a storage medium in which information is written.
The authentication proxy client transmits (rp,tsp,Data1) to the authentication target device (S96). The authentication target device receives (rp,tsp,Data1={(tss,IDi,rhi,r1i); i∈[1,N]}) and executes the following procedure (S97). The reception may be realized not via a network but by receiving a storage medium in which information is written.
1. The authentication target device selects the present time information tsd←TimeStamp.
2. Data2:=Φ (empty set)
3. For each i∈[1,N], the authentication target device executes the following operations 4, 5, 6, 7 and 8.
4. The authentication target device verifies whether rp,tsp,tss,IDi,rhi,r1i∈{0,1}̂k is satisfied or not, that is, whether the length of each data becomes the length as a specified value or not and checks whether IDi matches that of itself. It is assumed that data is properly padded as necessary. If not satisfied, the authentication target device sets that result1:=00, rc←{0,1}̂(k−2), rci:=rc∥result1,r2i←{0,1}̂k, and shifts the process to 7. If satisfied, the authentication target device executes the following operations.
5. The authentication target device verifies whether r1i=PRF(ski,tss∥IDi∥rhi) is satisfied or not. If satisfied, the authentication target device sets that result1:=01 and, if not, sets that result1:=10.
6. The authentication target device selects a random number as rc←{0,1}̂(k−2), and sets that rci:=rc∥result1∈{0,1}̂k.
7. The authentication target device obtains r2i:=PRE(ski,tss∥tsp∥IDi∥rhi∥rci).
8. The authentication target device sets that Data2:=(tss,IDi,rhi,rci,r2)∪Data2, and increments “i”.
9. The authentication target device transmits (rp,Data2) as Data2:=(tss,tsd)∪Data2 to the authentication proxy client (S98). The transmission may be realized not via a network but by transmitting a storage medium in which information is written. When there is a time restriction in transmission from the server to the authentication target device and tsd is reliable, the authentication target device may perform the size check in the above-described process 4 by comparing tss and tsd.
The authentication proxy client transmits (2,rp,Data2) to the server (S99). The server receives (2,rp, Data2={(tss,tsd,IDi,rhi,rci,r2i); i∈[1,N]}) and executes the following procedure (S100).
1. result:=Φ
2. The server executes the following operations 3, 4, and 5 for each i∈[1,N].
3. The server verifies whether rp,tss,tsd,IDi,rhi,rci,r2i∈{0,1}̂k is satisfied or not, that is, whether the length of each data is the length as a specified value or not. If not satisfied, the server sets that result2:=00 and shifts the process to 5. It is assumed here that data is properly padded as necessary. If satisfied, the server executes the following.
4. The server verifies whether r2i=PRF(sk,tss∥tsd∥IDi∥rhi∥rci) is satisfied or not. If correct, the server sets the lower two bits of result2:=rc. If not, the server sets that result2:=00. When result2 is 01, authentication success in the authentication target device is recorded. When result2 is 10, authentication failure is recorded. When result2 is 00, a reception error (possibility of message falsification) is recorded.
5. The server sets that result:=result∪result2 and increments “i”.
6. The server outputs “result” as an authentication result and records it.
When there is a time restriction since transmission of authentication information from a server to an authentication proxy client until the server obtains an authentication result from the authentication proxy client, the server may execute the size check by comparing tss with present time in the server.
When there is a time restriction in transmission of an authentication result from the authentication target device to the server and the clock of the authentication target device is reliable, the server may perform the check by comparing tsd and tss.
In the protocol, when rp is falsified, a corresponding session becomes non-existing. Even a corresponding session exists, authentication in an authentication target device is executed in a different session and fails, so that it is fail-safe. Also in the case of falsification of rh, verification of an authentication result in a server fails, so that it is fail-safe.
By authentication result verifying means in a server, even when an attacker falsifies the value of rc, the result does not pass the verification in the server. Also in the case where tsd is falsified, by the authentication result verifying means in the server, the result does not pass the verification in the server.
That is, when any of rp, rc, and tsd is falsified, the attacker cannot obtain authentication success and verification pass on the authentication result of the authentication target device. When all or any of rp, rh, rc and tsd are/is falsified, the falsification can be detected. Therefore, it is unnecessary to add a hash value to tsd.
One-time use of authentication information may be realized by the monotonic counter introducing method described in the second embodiment. Repetitive execution of the above-described operations (1), (2), and (3) is defined in a mariner similar to that in the sequence illustrated in
As obvious from the way of the configuration of the offline authentication protocol of the third embodiment, the offline authentication protocol of the third embodiment has resistance to the attacks of the cases 1 to 5.
In a manner similar to the configuration method described in the first embodiment, a protocol can be defined.
It is obvious from the way how the protocol is configured that there is resistance to the attacks of the cases 1 to 5. As obvious from the way of the configuration, there is resistance to the attack of the case 6.
In a manner similar to the configuration method described in the first embodiment, a protocol can be defined.
It is obvious from the way how the protocol is configured that there is resistance to the attacks of the cases 1 to 5. As obvious from the way of the configuration, there is resistance to the attack of the case 6.
There is a method such that a memory space is divided into A and B, A can be accessed from B but an access from A to B is allowed only via an API (Application Programming Interface) constructed in B, thereby protecting programs and resources in B. Actual product development is made in a state where (an API for erasing the resources in B for the purpose of debugging or the like and an API which enables execution of a program which can become a security risk are added.
When the API added for the purpose of debugging is eliminated at the time of product shipment, protection of the programs and resources in B is realized. However, products are often shipped without eliminating the API added for the purpose of debugging for reasons such as a measure to a trouble after shipment.
As a measure to this problem, a method is considered such that a pre-shared key with an authentication server is securely disposed in B and, at the time of executing the API in B from A, whether an execute authority is given or not is authenticated. However, the method has problems. Communication with the server is necessary each time the API is executed, so that execution time becomes longer and power consumption increases due to the communication. Further, when there is no communication environment, the API cannot be executed, so that convenience largely decreases.
By using the authentication methods described in the first to third embodiments in API execution, such problems are solved and API execution can be realized by which aimed protection of resources and programs can be achieved only by an overhead necessary for the authenticating process in a terminal even when there is no communication environment. Hereinafter, with reference to the sequence charts of
An authentication proxy client receives IDd from an authentication target device (S101), selects rp∈{0,1}̂k for session management (S102), and transmits (1,rp,IDd,IDp) to a server (S103). IDd is an ID assigned to the authentication target device IDp is an ID assigned to the authentication proxy client. The server receives (1,rp,IDd,IDp) and executes the following procedure (S104).
1. The server verifies whether rp,IDd,IDp∈{0,1}̂k is satisfied or not and whether ID∈ID is satisfied or not. If no, the server finishes the process. If satisfied, the server executes the following.
2. The server selects the present time as tss←TimeStamp.
3. The server selects a random number as rh←{0,1}̂k and k1←{0,1}̂k.
4. The server calculates r1dd:=PRF(ski,tss∥IDd∥rh∥1), r1′d:=PRF(ski,tss∥IDd∥rh∥2), r1p:=PRF(ski,tss∥IDp∥rh∥1), r1′p:=PRF(ski,tss∥IDp∥rh∥2), c1d:=AE.Enc(r1′d,
k1), c1p:=AE.Enc(r1′p, k1). The server transmits (1,rp,Data1) as Data1:=(tss,IDd,rh,
r1d,c1d,IDp,r1p,c1p) to the authentication proxy client (S105). PRF denotes a Pseudo Random Function, AE.Enc denotes encryption by an authenticated Encryption method, and the operator ‘∥’ expresses a bit conjunction.
The authentication proxy client receives (rp,Data1=rp,tss,IDd,rh,r1,c1d,IDp,r1p,c1p) and executes the following procedure (S106)
1. The authentication proxy client selects the present time as tsp←TimeStamp and selects a random number as r3p←{0,1}̂k.
2. The authentication proxy client verifies whether rp,tss,IDd,rh,r1d,c1d,IDp,r1p,c1p∈{0,1}̂k is satisfied, that is, whether the length of each data is length as a specified value and checks whether IDd and IDp match that of itself. It is assumed here that data is properly padded as necessary. If not satisfied, the authentication proxy client sets that result1p:=00, rcp:=rcp∥result1p,r2p←{0,1}̂k. If satisfied, the authentication proxy client executes the following operations.
3. The authentication proxy client verifies whether r1p=PRF(skp,tss∥IDp∥rh∥1) is satisfied or not. If satisfied, the authentication proxy client sets that result1p:=01,r1′p:=PRF(skp,tss∥IDp∥rh∥2), k1:=AE.Dec(r1′p, c1p). If not satisfied, the authentication proxy client sets that result1p:=11 .AE.Dec expresses decoding in the authenticated encryption method.
4. The authentication proxy client sets that rcp:=rc∥result1p and obtains r2p:=PRF(skp,tss∥IDp∥rh∥rcp∥1).
5. When result1p:=01, the authentication proxy client obtains r3p:=PRF(k1,tss∥IDp∥rh∥1). The authentication proxy client sets that Data2:=(tss,IDd,rh,r1d,c1d,IDp,r1p,c1p,rcp,r2p,r3p) and transmits (rp,tsp,Data2) to the authentication target device (S107).
The authentication target device receives (rp,tsp,Data2=rp, tss, IDd, rh, r1d, c1d, IDp, r1p, c1p, rcp, r2p, r3p) and executes the following procedure (S108).
1. The authentication target device selects a random number as r3d←{0,1}̂k, rcd←{0,1}̂k, rcdp←{0,1}̂k.
2. The authentication target device verifies whether rp, tss, IDd, rh, r1d, c1d, IDp, r1p, c1p, rcp, r2p, r3p∈{0,1}̂k is satisfied or not, that is, whether the length of each data is length as a specific value or not and checks whether IDd matches that of itself. It is assumed here that data is properly padded as necessary. If not satisfied, the authentication target device sets that result1d:=00,rcd:=rcd∥result1d,r2d←{0,1}̂k, result1dp:=00,rcdp:=rcdp∥result1dp,r3d←{0,1}̂k. If satisfied, the authentication target device executes the following operations.
3. The authentication target device verifies whether r1d=PRF(skd,tss∥IDd∥rh∥1) is satisfied or not. If satisfied, the authentication target device sets that result1d:=01,r1′d:=PRE(skd,tss∥IDd∥rh∥2), k1:=AE.Dec(r1′d,c1d). If not satisfied, the authentication target device sets that result1d:=11.
4. The authentication target device sets that rcd:=rcd∥result1d, and obtains r2d:=PRF(skd,tss∥IDd∥rh∥IDd∥rh∥1).
5. The authentication target device sets that result1dp:=01 when result1d:=01 and r3d:=PRF(k1,tss∥IDd∥rh∥1) is satisfied and, when not satisfied, sets that result1dp:=11.
6. The authentication target device sets that rcdp:=rcdp∥result1dp, and obtains r3d:=PRE(k1,tss∥tsp∥IDd∥rh∥rcdp∥1). The authentication target device transmits (rp,tsp,Data3) as Data:=(tss, IDd, rh, r1d, c1d, IDp, r1p, c1p, r
cp, r2p, r3p, rcd, r2d, rcdp, r3d) to the authentication proxy client (S109).
The authentication proxy client receives (rp,tsp,Data3=(tss, IDd, rh, r1d, c1d, IDp, r1p, c1p, rcp, r2p, r3p, rcd, r2d, rcdp, r3d)) and executes the following procedure (S110).
1. The authentication proxy client verifies whether tss, IDd, rh, r1d, c1d, IDp, r1p, c1p, rcp, r2p, r3p, rcd, r2d, rcdp, r3d∈{0,1}̂k is satisfied or not, that is, whether the length of each of data is length as a specified value or not and checks whether IDd matches that of itself. It is assumed that data is properly padded as necessary. If not satisfied, the authentication proxy client sets that result1pd:=000. If satisfied, the authentication proxy client verifies whether r1d=PRF(skd,tss∥IDp∥rh∥1) is satisfied or not. If correct, the authentication proxy client sets that result1p:=001, r1′p:=PRF(skp,tss∥IDp∥rh∥2), k1:=AE,Dec (r1′p, c1p) and, if not, sets that result1pd:=110.
2. When result1pd:=001, the authentication proxy client verifies whether r3d=PRF(k1,tss∥tsp∥IDd∥rh∥rcdp∥1) is satisfied or not. The authentication proxy client sets that result1pd:=001 when satisfied and, when not satisfied, sets that result:=100.
3. The authentication proxy client sets lower two bits of result2pd:=rcdp when result1pd:=001 and, if not, sets that result2pd:=00. The authentication proxy client outputs result2 as an authentication result and records it. The authentication proxy client transmits (rp,tsp,Data3) as Data3:=(tss, IDd, rh, r1d, c1d, IDp, r1p, c1p, rcp, r2p, r3p, rcd, r2d, rcdp, r3d) to the server (S111).
The authentication proxy client receives (rp,tsp,Data3=(tss, IDd, rh, r1dd, c1d, IDp, r1p, c1p, rcp, r2p, r3p, rcd, r2d, rcdp, r3d)) and executes the following procedure (S112).
1. The authentication proxy client selects a random number as r3d←{0,1}̂k, rcd←{0,1}̂k, rcdp←{0,1}̂k.
2. The authentication proxy client verifies whether tss, IDd, rh, r1d, c1d, IDp, r1p c1p, rcp, r2p, r3p, rcd, r2d, rcdp, r3d∈{0,1}̂k or not, that is, whether the length of each of data is length as a specified value or not and checks whether IDd matches that of itself. It is assumed that data is properly padded as necessary. If not satisfied, the authentication proxy client sets that result2p:=00 and result2d:=00. If satisfied, the authentication proxy client verifies whether r2p=PRF(skp,tss∥tsp∥IDp∥rh∥rcp∥1), r2d=PRF(skd,tss∥tsp∥IDd∥rh∥rcd∥1) is satisfied or not. If correct, the authentication proxy client sets the lower two bits of result2p:=rcp and lower two bits of result2d:=rcd.
As described above, by using the protocol according to the third embodiment, even there is no communication environment, API execution which can achieve aimed protection of resources and programs only by the overhead necessary for the authenticating process in a terminal can be realized.
Hereinbelow, a configuration example of an authentication target device, an authentication proxy client, and a server described in the foregoing first to fourth embodiments will be described with reference to
The processor 1202 reads software (computer program) from the memory 1203 and executes it, thereby performing processes of the processes of the authentication target device, the authentication proxy client, and the server described with reference to the sequence charts and the flowcharts in the foregoing embodiments. The processor 1202 may be, for example, a microprocessor, an MPU (Micro Processing Unit), or a CPU (Central Processing Unit). The processor 1202 may include a plurality of processors.
The memory 1203 is configured by a combination of a volatile memory and a nonvolatile memory. The memory 1203 may include a storage disposed apart from the processor 1202. In this case, the processor 1202 may access the memory 1203 via a not-illustrated I/O interface.
In the example of
As described with reference to
Elements illustrated in the drawings as function blocks performing various processes can be configured by a CPU, a memory, and other circuits as hardware and realized by a program loaded to the memory as software. Therefore, a person skilled in the art understands that those function blocks can be realized in various forms by only hardware, only software, or combination of hardware and software and are not limited to any of them. In the drawings, the same reference numeral is assigned to the same component and repetitive description is omitted as necessary.
The above-described program is stored by using non-transitory computer readable media of various types and can be supplied to a computer. The non-transitory computer readable media include
tangible storage media of various types. Examples of the non-transitory computer readable media include magnetic recording media (for example, flexible disk, magnetic tape, and hard disk drive), magnet-optic recording media (for example, magnet-optic disk), CD-ROM (Read Only Memory), CD-R, CD-R/W, and semiconductor memories (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, and RAM (Random Access Memory)). The program may be supplied to a computer by any of transitory computer readable media of various types. Examples of the transitory computer readable media include an electric signal, an optical signal, and an electromagnetic wave. The transitory computer readable medium can supply a program to a computer via a wired communication path such as an electric wire or an optical fiber or a wireless communication path.
Although the present invention achieved by the inventors herein has been concretely described above on the basis of the embodiments, obviously, the present invention is not limited to the foregoing embodiments but can be variously changed without departing from the gist.
Number | Date | Country | Kind |
---|---|---|---|
2017-100845 | May 2017 | JP | national |