WO2021075187A1 - 認証システム - Google Patents

認証システム Download PDF

Info

Publication number
WO2021075187A1
WO2021075187A1 PCT/JP2020/034408 JP2020034408W WO2021075187A1 WO 2021075187 A1 WO2021075187 A1 WO 2021075187A1 JP 2020034408 W JP2020034408 W JP 2020034408W WO 2021075187 A1 WO2021075187 A1 WO 2021075187A1
Authority
WO
WIPO (PCT)
Prior art keywords
authentication
challenge
response
unit
code
Prior art date
Application number
PCT/JP2020/034408
Other languages
English (en)
French (fr)
Inventor
三宅 淳司
Original Assignee
日立Astemo株式会社
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 日立Astemo株式会社 filed Critical 日立Astemo株式会社
Priority to JP2021552272A priority Critical patent/JP7324303B2/ja
Publication of WO2021075187A1 publication Critical patent/WO2021075187A1/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/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Definitions

  • the present invention relates to an authentication system.
  • a security chip (hereinafter referred to as a security computing device) connected to a main body chip (hereinafter referred to as a main body arithmetic unit) is a fake chip (hereinafter referred to as a security computing device) that generates a signal convenient for an attacker. That is, it is replaced with an emulation chip).
  • the main unit arithmetic unit In order to prevent this (or detect this abnormality), the main unit arithmetic unit must be given the ability to confirm the authenticity of the security arithmetic unit.
  • Patent Document 1 in order to confirm the authenticity of an external authentication chip slave, it is proposed that an authentication chip master that has one connection with the main body host performs challenge-response authentication for each slave. ..
  • Patent Document 1 it is the authentication chip slave that the authentication chip master verifies the authenticity. That is, it is a challenge-response authentication of those who have the same cryptographic IP (Intellectual Property), that is, those who have the same ability.
  • cryptographic IP Intellectual Property
  • connection authentication between the main body host and the authentication chip master is not particularly performed in Patent Document 1, there is a vulnerability that the main body chip can be easily deceived if the authentication chip master is replaced with a fake chip.
  • a man-in-the-middle attack is one of the means of intercepting communications, and is a security term that expresses eavesdropping by interrupting the communication path between communications between two parties.
  • the attacker misleads the two communicating parties into thinking that it is a normal communication path, and does not notice that they are being attacked. It is possible not only to intercept the communication content but also to modify it, and it is also possible to give false information to the two parties.
  • the present invention has been made in view of the above problems, and provides an authentication system capable of easily performing challenge-response authentication with a main unit arithmetic unit whose encryption ability is inferior to that of a security computing device. To do.
  • the authentication system has a main body arithmetic unit and a security calculation device, and the main body arithmetic unit calculates in advance corresponding to a pre-calculated challenge code and this challenge code.
  • a first storage unit in which a set of the first response code is stored, a transmission unit that transmits the challenge code stored in the first storage unit to the security calculation device, and a transmission unit that is transmitted from the security calculation device.
  • the security computer has a receiving unit that receives the second response code, and an authentication unit that performs challenge-response authentication using the second response code received by the receiving unit and the first response code. It has an encryption processing unit that calculates a second response code based on the challenge code transmitted from the main unit arithmetic unit.
  • an authentication system capable of easily executing challenge-response authentication with a main body arithmetic unit whose encryption ability is inferior to that of a security computing device.
  • FIG. 1 It is a block diagram which shows the schematic structure of the authentication system which concerns on Example 1.
  • FIG. It is a sequence diagram which shows the challenge-response authentication operation by the authentication system which concerns on Example 1.
  • FIG. It is a flowchart which shows the operation of the main body arithmetic unit of the authentication system which concerns on Example 1.
  • FIG. It is a flowchart which shows the operation of the security calculation apparatus of the authentication system which concerns on Example 1.
  • FIG. It is a flowchart which shows the offline calculation procedure of the challenge-response table in the authentication system which concerns on Example 2.
  • FIG. It is a sequence diagram which shows the procedure of the external device authentication by the authentication system which concerns on Example 3.
  • FIG. It is a flowchart which shows the operation of the main body arithmetic unit of the authentication system which concerns on Example 3.
  • FIG. It is a block diagram which shows the concept of each Example.
  • the authentication system of this embodiment has the following configuration as an example.
  • challenge-response authentication is performed between the main body arithmetic unit and the security calculation device, which are asymmetrical in terms of encryption ability, in order to ensure the authenticity of the security calculation device when viewed from the main body arithmetic unit. is there.
  • the challenge code (problem) of challenge / response authentication is calculated externally offline and multiple sets are stored inside the main unit arithmetic unit in the form of a table. ..
  • the main unit arithmetic unit At the time of challenge / response authentication, the main unit arithmetic unit generates a pseudo-random number, and according to it, selects a set in the challenge / response table and sends it to the security calculation unit as a challenge code.
  • the security arithmetic unit Since the security arithmetic unit has high cryptographic processing ability in the first place, it is possible to calculate the response code from the challenge code in real time and return it to the main unit arithmetic unit. In the main unit arithmetic unit, the authenticity of the security arithmetic unit can be verified by comparing the response code returned from the security arithmetic unit with the response value of the answer described in the challenge / response table.
  • this challenge code and response code is different for each session, either value of this challenge code or response code is used as a common key for encrypted communication between the main unit arithmetic unit and the security arithmetic unit. Can be used. This prevents a signal monitor or a false signal generator from being connected to a node between the main unit arithmetic unit and the security arithmetic unit to execute a man-in-the-middle attack.
  • the challenge / response table existing inside the main unit arithmetic unit can be newly rewritten according to the software rewriting operation of the main unit arithmetic unit itself.
  • "existing inside the main unit arithmetic unit” which is the seed information of "connection authentication between the main unit arithmetic unit and the security arithmetic unit” which is the preparatory operation before that by "event using the authentication function of the security arithmetic unit called software rewriting”.
  • the challenge response is "use (eavesdropping?) ⁇ update ⁇ use (eavesdropping?) ⁇ update”. It is possible to recover from the event of reduced security strength due to the leakage of a part of the table to the outside, and maintain high security strength forever.
  • the value of the set of the challenge code and the response code is different for each challenge / response authentication, so this value is used as a common key to encrypt the communication between the main unit arithmetic unit and the security arithmetic unit. be able to.
  • the information sender encrypts the content by taking the exclusive OR of the communication content and the "common key (either the challenge code or the response code)" mentioned above bit by bit.
  • This is called the Burnham cipher (the Burnham cipher is also called a disposable pad).
  • information can be decrypted by taking an exclusive OR bit by bit with this received content and the "common key (either the challenge code or the response code) that is the same knowledge shared with the transmitting side mentioned above". Is.
  • the reproduction attack refers to a method in which an eavesdropper on a communication path records the past information flowing through the communication path as it is, and then throws this information or sequence as it is to the attack target to deceive the attack target.
  • connection authentication means can be implemented entirely by software, as can be seen from the terms “challenge-response authentication”, “challenge-response table”, and “burnham encryption” in listing its components. Only methods that can be implemented with a finite increase in procedures. Therefore, there is an effect of eliminating the vulnerability between the main unit arithmetic unit and the security arithmetic unit with almost no increase in cost.
  • the security computing device described in this embodiment is a separate security chip itself, which is generally expressed in the world. Therefore, the present invention contributes to the improvement of the commercial value of the security chip itself.
  • xxx data may be used as an example of information, but the data structure of the information may be any. That is, the "xxx data” can be referred to as a “xxx table” to show that the information does not depend on the data structure. Further, “xxx data” may be simply referred to as "xxx”. Then, in the following description, the configuration of each information is an example, and the information may be divided and held, or may be combined and held.
  • FIG. 1 is a block diagram showing a schematic configuration of the authentication system according to the first embodiment.
  • the authentication system S of this embodiment has a main body arithmetic unit 100 and a security arithmetic unit 110 connected to it by a signal.
  • the reason why the main body arithmetic unit 100 and the security calculation device 110 are separated is that, as described above, the security calculation device 110 itself ensures tamper resistance and the security calculation device 110 is concealed and protected inside the main body calculation device 100. This is to make it difficult to read the key / private key information.
  • main body arithmetic unit 100 and the security arithmetic unit 110 are stored on the same board or the same housing from the viewpoint of preventing a man-in-the-middle attack.
  • the protection against external interference of the communication path 130 on the way is ensured, they may be separated from each other as separate bodies, which does not hinder the present embodiment.
  • the main body arithmetic unit 100 is a device capable of various information processing.
  • the main body arithmetic unit 100 has an arithmetic element, a storage medium, and a communication interface.
  • the arithmetic element is, for example, a CPU (Central Processing Unit), an FPGA (Field-Programmable Gate Array), or the like.
  • the storage medium is, for example, a semiconductor storage medium such as a RAM (Random Access Memory), a ROM (Read Only Memory), or an SSD (Solid State Drive).
  • Programs such as firmware are stored in the storage medium.
  • a program such as firmware is read from this storage medium and executed to perform overall control of the main unit arithmetic unit 100.
  • the storage medium stores data and the like required for each process of the main unit arithmetic unit 100.
  • the storage medium included in the main unit arithmetic unit 100 of this embodiment preferably has a non-volatile semiconductor storage medium, and the above-mentioned programs such as firmware and the CR table 101 described later are stored in this non-volatile semiconductor storage medium. Will be done. More preferably, the non-volatile semiconductor storage medium is a rewritable semiconductor storage medium such as a flash memory.
  • the main body arithmetic unit 100 wants to verify the authenticity (authenticity) of whether the security arithmetic unit 110 connected to it is legitimate. Challenge-response authentication is performed for this, and the behavior of each functional block with respect to that operation is shown below.
  • the switcher 102 inside the main body arithmetic unit 100 selects one set of the challenge code and the response code (first response code) from the challenge / response table (described as the CR table in the figure) 101 stored inside the main body.
  • the set of the challenge code and the response code stored in the CR table 101 is simply abbreviated as "challenge / response set”. It is desirable that this selection be performed randomly based on pseudo-random numbers from the viewpoint of enhancing security strength. Specifically, it is performed by adopting the value of some time measurement timer or counter (both not shown) inside the main body arithmetic unit 100 as a random number type and appropriately generating a pseudo-random number.
  • the challenge unit 103 of the challenge / response group is sent to the question transmission unit 105 and sent to the security calculation device 110 as a challenge code 121 through the I / O 106.
  • the response (first response code) 104 of the challenge-response set means the "expected answer" returned from the legitimate security computing device 110 by the challenge-response authentication, and therefore is sent to the comparison unit 109. Be done.
  • the following operations are performed inside the security calculation device 110.
  • the entire operation is controlled by the PLC (Programmable Logic Controller) 111, but the operation is not limited to the PLC and may be implemented by software or firmware by a general CPU (Central Processing Unit).
  • PLC Process Control Controller
  • CPU Central Processing Unit
  • the challenge code 121 brought through the I / O 112 is a hash function 115 inside the encryption IP (encryption processing unit) 113, and the hash value is calculated together with the passphrase 114 which is an eigenvalue hidden inside the security computer 110.
  • the cryptographic IP 113 originally has a hash function function (generally a one-way hash function or a message digest function) that calculates a "message authentication code (MAC)" or a "message digest value that is the basis of a digital signature, etc.” It is equipped with a function called, etc.), which is also used for challenge-response authentication.
  • MAC message authentication code
  • the hash function 115 compresses data of an arbitrary length into data of a fixed length (about 128 to 512 bits), as shown below (1) to (1) to ( It is a cryptographic function having the property of 3).
  • Difficulty in calculating the second original image It is difficult to obtain another input having the same hash value as a certain input value.
  • the passphrase 114 which is an eigenvalue hidden inside the security arithmetic unit 110, can be changed for each hardware, software, or firmware of the security arithmetic unit 110, and is confidential and managed unique design information to the outside. Is. This information is also used when generating the challenge-response table 101 of the main unit arithmetic unit 100, but since it is the basis of the encryption strength of the challenge-response authentication, it must be strongly concealed from the outside.
  • the calculated hash value is sent back to the main body arithmetic unit 100 as a response code (second response code) 122 through the I / O 112.
  • This response code is taken into the response receiving unit 107 through the I / O 106 of the main body arithmetic unit 100.
  • the communication path 130 sandwiched between the I / O 106 of the main unit arithmetic unit 100 and the I / O 112 of the security calculation device 110 may be one in which serial transmission is performed or one in which parallel transmission such as a bus is performed. It may also be something like a network controlled by a more advanced protocol than serial parallel.
  • the response receiving unit 107 independently monitors the time until the response code 122 returns by the timer 108. If this time is too long, the authentication NG is determined as having a problem with the authenticity of the security calculation device 110 or the connectivity of the communication path 130.
  • the comparison unit (authentication unit) 109 compares the response 104 described in the challenge-response table 101 with the response code 122 returned from the security computer 110, and if they match, the authentication is OK, and if they do not match, the authentication is OK. The judgment of NG is made.
  • FIG. 2 is a sequence diagram showing the flow of processing shown in the block diagram of FIG.
  • a pseudo-random number is generated in the sequence SQ201, and one challenge / response set in the challenge / response table 101 is selected in the sequence SQ202 accordingly.
  • the challenge unit 103 of the challenge / response table is sent to the security computer 110 as a challenge code 121 in the sequence SQ203.
  • the encryption IP 113 performs hash function processing with the challenge code 121 and the above-mentioned passphrase 114 in the sequence SQ205, a hash value, that is, a response code 122 is calculated and sent back to the main body arithmetic unit 100 in the sequence SQ206.
  • the timer activation processing sequence SQ204 is performed immediately after the challenge code 121 is sent, and the time required for the response code 122 to be returned is measured.
  • timeout processing sequence SQ207 exits the response code return waiting process and immediately determines authentication NG.
  • the time measurement timer is stopped, and if the response code 122 is returned in the subsequent match verification sequence SQ209, the response of the response 104 described in the challenge / response table 101 and the response returned from the security computing device 110.
  • the code 122 is collated, and if they match, authentication is OK, and if they do not match, authentication is NG.
  • the CR predetermined value storage sequence SQ210 of the main unit arithmetic unit 100 and the CR predetermined value storage sequence SQ211 of the security calculation device 110 set the challenge or response value (described as the CR predetermined value in FIG. 2) used in the above challenge / response authentication. It means that the value is stored and stored in both the main unit arithmetic unit 100 and the security arithmetic unit 110 as a common key for encrypted communication after this authentication session. This is used as an encryption common key for the signal flowing through the communication path 130 described in the third embodiment.
  • FIG. 3 shows a flowchart of the process related to connection authentication in the main body arithmetic unit 100.
  • step S301 a pseudo-random number is generated, and in step S302, a set of values in the challenge / response table 101 is selected accordingly.
  • the challenge portion of this value is sent to the security calculation device 110 as a challenge code 121 in step S303, and the timer 108 for time measurement is activated in step S304.
  • the response of the response from the security computing device 110 is waited for. If the response code 122 is received, the process proceeds to step S309 and the timer 108 for timing is stopped. However, if the response code 122 is not received, the process proceeds to the determination step S306 to determine whether or not there is a long time without a response and the time-out has occurred.
  • step S307 If it seems that the timeout has occurred, the timer 108 is stopped in step S307, and it is determined that the connection authentication is NG in step S308. If the time-out has not occurred, the process returns to step S305 and waits for the arrival of the response code 122 again.
  • step S310 the answer of the response 104 stored in the challenge / response table 101 is collated with the response code 122 returned from the security computer 110. If the values match, a predetermined value of either this challenge or response is saved for encrypted communication in step S311, connection authentication is determined in step S312, and a series of processes is completed in step S313.
  • step S310 If the values do not match in step S310, the connection authentication NG is determined in step S308, and the series of processes is also completed in step S313.
  • FIG. 4 is a security calculation device 110, and shows a flowchart of the process related to connection authentication.
  • step S401 the main unit arithmetic unit 100 commands that the operation command is related to connection authentication. If it is not the connection authentication process, the process proceeds to step S406 to end a series of connection authentication processes. It is clarified that the security calculation device 110 is realized on the premise that switching of various processing variations is performed by a command coming from the main unit arithmetic unit 100.
  • step S402 the process proceeds to the following step S402, and the arrival of the challenge code 121 from the main unit arithmetic unit 100 is waited for. If the challenge code 121 is obtained, the process proceeds to the hash value calculation in step S403, and if not, step S402 is repeated to wait for the challenge code 121.
  • step S403 the hash value of the passphrase 114 and the challenge code 121 is calculated by the hash function 115 of the encryption IP 113.
  • the calculated value is returned to the main body arithmetic unit 100 as a response code 122 in step S404.
  • step S405 a predetermined value of either the challenge or the response is saved as a common key for encrypted communication (step S405) as in the flow processing of the main unit arithmetic unit 100, and the series of processing is completed in step S406.
  • the main body arithmetic unit 100 corresponds to the challenge code calculated in advance and the challenge code.
  • a challenge-response table 101 in which a set of a first response code calculated in advance is stored, a question transmission unit 105 that transmits the challenge code 121 stored in the challenge-response table 101 to the security calculation device 110, and security. It has a response receiving unit 107 that receives the response code 122 transmitted from the computing device 110, and a comparison unit 109 that performs challenge-response authentication using the response code 122 and the response 104 received by the response receiving unit 107.
  • the security calculation device 110 has a cryptographic IP 113 that calculates a response code 122 based on a challenge code 121 transmitted from the main body arithmetic unit 100.
  • FIG. 5 is a flowchart showing an offline calculation procedure of the challenge-response table 101 in the authentication system according to the second embodiment.
  • This embodiment shows an example of calculating the above-mentioned challenge / response table 101 offline.
  • offline calculation is performed on a PC (Personal Computer) that implements the same hash algorithm as the security calculation device 110, but this processing can be performed even if the actual security calculation device 110 is used like a coprocessor. good.
  • PC Personal Computer
  • a pseudo-random number is generated in step S501, and a challenge value 103 is first generated.
  • this is combined with the passphrase 114.
  • the combination method (that is, whether the passphrase character string 114 is a right combination or a left combination with respect to the challenge value 103) must be unified with the method of the security computer 110.
  • the hash value is calculated by the same algorithm as the security calculation device 110, and this is stored as the response value 104 in the corresponding row of the challenge / response table 101.
  • step S504 it is checked whether or not n pairs of the default values have been generated. If the specified number of sets (n sets) has been generated, a series of processes is completed in step S505. If it has not been generated, the process returns to step S501 to generate a new set.
  • the challenge / response table 101 created by the above flowchart is stored as program data (or with the same handling as the program data) in the non-volatile program area of the storage medium of the main unit arithmetic unit 100. This means that the challenge-response table 101 can also be rewritten (value updated) when the software of the main body arithmetic unit 100 is rewritten.
  • the main task of authenticating an external device with the help of the security calculation device 110 is to verify whether the tool to be connected for rewriting the software of the main unit arithmetic unit 100 is legitimate.
  • the external device is authenticated by using the "common key of common key cryptography” or the “private key of public key cryptography” hidden inside the security computing device 110. It is executed by verifying the digital signature issued. In another example, it may be performed by challenge-response authentication with an external device "using a passphrase as a common key” hidden inside the security computer 110, or one-time password authentication based on time synchronization. ..
  • connection authentication between the main body arithmetic unit 100 and the security arithmetic unit 110 proposed in the present invention is performed, and a set of data constituting the challenge / response table 101 is used there.
  • this data is selected with pseudo-random numbers without reproducibility, it can be monitored by a malicious man-in-the-middle inserted at the connection point between the main unit arithmetic unit 100 and the security arithmetic unit 110.
  • the software of the main unit arithmetic unit 100 is rewritten at the end of a series of external authentication procedures, and the challenge / response table 101 is also replaced with a new one. Therefore, it is possible to efficiently prevent the challenge-response table 101 from becoming obsolete due to partial information leakage of data, which contributes to the improvement of security.
  • the purpose of providing the security calculation device 110 separately from the main body arithmetic unit 100 is to perform authentication and encrypted communication of external devices such as tools connected from the outside with high encryption strength and high speed without imposing a burden on the main body arithmetic unit 100. Because I want to.
  • FIG. 6 is a block diagram showing a signal flow of external device authentication by the authentication system according to the third embodiment. Assuming that the ECU software rewriting tool 610 is trying to connect from the outside, the authentication flow is shown as an example. It is a block diagram which shows.
  • the role of the ECU software rewriting tool 610 is to rewrite the built-in program of the main body arithmetic unit 100 built in the ECU (Electronic Control Unit) 600.
  • the security calculation device 110 since the security calculation device 110 has strong independence and tamper resistance, there is no rewriting of software, firmware, or data throughout the life cycle.
  • the ECU software rewriting tool 610 sends authentication information 601 to the ECU 600 to convey its authenticity to the ECU 600.
  • the main body arithmetic unit 100 inside the ECU receives it and relays the data to the security calculation device 110 as an authentication request 602.
  • the security computer 110 performs strict verification of the authentication information (verification of digital signature, challenge / response authentication, or verification of one-time password authentication as described above), and the authentication result is 603 (OK or NG?). ?) Is encrypted and sent back to the main unit arithmetic unit 100.
  • the rewrite permission signal 604 is sent back to the ECU software rewrite tool 610.
  • the ECU software rewriting tool 610 sends the main body rewriting program 605 to the main body arithmetic unit 100 after confirming it, and the main body arithmetic unit 100 rewrites the built-in program according to the data.
  • FIG. 7 is a sequence diagram showing the procedure for external device authentication by the authentication system according to the third embodiment, and shows the above signal flow and procedure as a sequence diagram.
  • connection authentication between the main unit arithmetic unit 100 and the security arithmetic unit 110 is performed prior to the authentication of the external device, that is, the connection authentication sequence SQ701 ⁇ challenge code transmission sequence SQ702 ⁇ response code reply sequence SQ703 is performed. Is. Further, either the challenge code or the response code is stored in preparation for the subsequent encrypted communication by the CR predetermined value storage sequence SQ705 on the main body arithmetic unit 100 side and the CR predetermined value storage sequence SQ706 on the security calculation device 110 side. That is also as described above.
  • the authentication information acquisition sequence SQ707 of the external device is performed.
  • the main unit arithmetic unit 100 issues the sequence SQ708 to the security arithmetic unit 110 as an authentication request command.
  • the information of the sequence SQ709 is relayed to the security computer 110 as the external device authentication information, and verification is requested.
  • the security computing device 110 performs the authentication authenticity verification sequence SQ710, and when a result is obtained, encrypts it (authentication result encryption sequence SQ711) and returns it to the main unit arithmetic unit 100 as an encrypted authentication result sequence SQ712.
  • the main unit arithmetic unit 100 decodes the result (authentication result decoding sequence SQ713) and determines whether it is OK or NG (OK / NG recognition sequence SQ714).
  • a part that is the core part is shown as a sequence group SQ704 in close-up.
  • the procedure on the main body arithmetic unit 100 side of this part is shown as a flowchart in FIG.
  • FIG. 8 is a flowchart showing the operation of the main body arithmetic unit of the authentication system according to the third embodiment.
  • the signal protocol between the main unit arithmetic unit 100 and the security arithmetic unit 110 is assumed as follows.
  • the affirmative response that is, authentication OK
  • the return and negative response that is, authentication NG
  • the affirmative / negative response of the security arithmetic unit 110 ⁇ the main unit arithmetic unit 100 is scheduled to be encrypted after being given the above meaning, but it is the input sent by the main unit arithmetic unit 100 ⁇ the security arithmetic unit 110.
  • the authentication request information B is not particularly encrypted.
  • step S801 of FIG. 8 the response code (Ar) is saved in preparation for the subsequent communication encryption. This may be agreed with the security calculation device 110 side and the challenge code (Ac) side may be saved and used.
  • step S802 the I / O for the external device is driven, and if the external device is not connected or if it is connected, the authentication information is obtained.
  • Step S803 expresses the above-mentioned meeting, and if the authentication information is obtained, the process proceeds to step S804, and if the authentication information is not obtained, the process returns to step S802 to continue the meeting again.
  • step S804 an authentication request command is issued to the security computer 110.
  • step S805 waits for the response confirmation signal (ACK) from the security computer 110.
  • ACK response confirmation signal
  • the authentication information obtained from the external device in step S806 is continuously transmitted to the security computer 110 as the authentication request information B.
  • the verification result is converted into data according to the above-mentioned protocol and encrypted with the response code (Ar) (exclusive OR is taken and converted as Burnham encryption), and the main body calculation is performed as the encryption authentication result R. It is returned to the device 100.
  • Step S807 is a wait for the encryption authentication result R. If the result is obtained, the process proceeds to the determination in step S808.
  • step S808 the exclusive OR of the encryption authentication result R and the response code (Ar) is taken again, and decryption is performed.
  • the exclusive OR is shown as the operator xor in FIG. If the decrypted result is the authentication request information B itself, the security computer 110 has returned an affirmative response, so the process proceeds to step S809 and a determination is made that the authentication is OK. The process ends in the following step S813. (When (R xor Ar) is equal to B.)
  • step S810 a comparison is made as to whether the decrypted result in step S810 is the one's complement of the authentication request information B.
  • the one's complement of the authentication request information B is shown as (not B). If the comparison result is the one's complement of the authentication request information B itself, the security computer 110 has returned a negative response, so the process proceeds to step S811 to determine that the authentication is NG. The process ends in the following step S813. (When (R xor Ar) is equal to (not B).)
  • step S813 If the above cascade comparison is not established, that is, if the decrypted result is neither the authentication request information B itself nor the one's complement, an illegal one is connected as the security calculation device 110, or the main unit arithmetic unit 100 / security Since there is a possibility that a man-in-the-middle attack has been received between the arithmetic units 110, the response error is stored in step S812, and a series of processes is terminated in step S813.
  • the vulnerability generated by separating the security computer 110 that is, the vulnerability-type 1 (described later), the replacement of the security computer 110 itself with a fake chip, and As a vulnerability type 2 (described later), it is possible to detect an intermediate attack between the main body arithmetic unit 100 and the security arithmetic unit 110 with high sensitivity, and eliminate concerns about these vulnerabilities.
  • FIG. 9 summarizes the present embodiment described so far and the improvement points (effects) made possible by the present embodiment.
  • FIG. 9A shows a case where the security calculation device 110 is provided as a separate body as before, but nothing is done.
  • this case (b) there is a concern that the legitimate security calculation device 110 is replaced with the fake security calculation device 903, and a fake signal 904 of authentication OK is always supplied regardless of any externally connected device. This is called vulnerability type 1.
  • One of the main points of this embodiment is to perform connection authentication in (c) as a countermeasure against this vulnerability. Therefore, the challenge / response authentication is performed by the challenge code Ac905 and the response code Ar906 as described above. This is because, as described in the embodiment of the present invention, the challenge / response table 101 is stored in the main body arithmetic unit 100 even when the cryptographic calculation ability of the main body arithmetic unit 100 is inferior to that of the security calculation device 110. It can be executed with the same encryption strength as the security calculation device 110.
  • Vulnerability-Type 2 shows new vulnerabilities other than those described above.
  • the receiving port of the authentication result of the main body arithmetic unit 100 is a fixed value, it indicates that there is a possibility that a malicious man-in-the-middle will be attacked by a man-in-the-middle attack.
  • the fake OK signal generator 908 records the authentication result signal (authentication OK signal, which is a fixed value) of the security calculation device 110 ⁇ the main unit arithmetic unit 100, which has been authenticated by the external device authentication that was once executed.
  • the main body arithmetic unit 100 can be deceived by reproducing the signal for the main body arithmetic unit 100 at an appropriate timing.
  • the main unit arithmetic unit 100 and the security arithmetic unit 110 are normally connected as shown in FIG. 9 (c). However, at the timing of the subsequent external authentication, the return signal of the security calculation device 110 ⁇ the main body calculation device 100 is disconnected 907, and the false OK signal generator 908 is connected instead.
  • the solution is to eliminate the authentication result receiver with a fixed value, and this is shown as (e) authentication result encryption.
  • the fixed value of the authentication result is excluded in two steps.
  • the authentication result returned by the security computer 110 is one's complement of the authentication request information B itself in the case of an acknowledgment and the authentication request information B in the case of a negative response.
  • the pattern of the authentication result changes depending on the authentication information B of the externally connected device.
  • the second step is to encrypt the authentication result.
  • the value of either the challenge code Ac905 or the response code Ar906 used in the connection authentication of the main unit arithmetic unit 100 / security arithmetic unit 110 in the previous stage is used, and the Burnham encryption (exclusive OR is taken for each bit). ) Is encrypted.
  • the origin of the challenge code Ac905 or the response code Ar906 is the challenge / response table 101 stored in the main unit arithmetic unit 100, and it is selected by a pseudo-random number from a plurality of combination patterns in this table. , The value is completely different for each authentication session.
  • each of the above configurations, functions, processing units, processing means, etc. may be realized by hardware by designing a part or all of them by, for example, an integrated circuit.
  • PLC111 and functionally replaceable sequencers are also included in the category.
  • the present invention can also be realized by a program code of software that realizes the functions of the examples.
  • a storage medium in which the program code is recorded is provided to the computer, and the processor included in the computer reads the program code stored in the storage medium.
  • the program code itself read from the storage medium realizes the functions of the above-described embodiment, and the program code itself and the storage medium storing the program code itself constitute the present invention.
  • Examples of the storage medium for supplying such a program code include a flexible disk, a CD-ROM, a DVD-ROM, a hard disk, an SSD (Solid State Drive), an optical disk, a magneto-optical disk, a CD-R, and a magnetic tape.
  • Non-volatile memory cards, ROMs, etc. are used.
  • program code that realizes the functions described in this embodiment can be implemented in a wide range of programs or script languages such as assembler, C / C ++, perl, Shell, PHP, and Java (registered trademark).
  • the program code of the software that realizes the functions of the examples via the network it is stored in a storage means such as a hard disk or memory of a computer or a storage medium such as a CD-RW or a CD-R.
  • the processor provided in the computer may read and execute the program code stored in the storage means or the storage medium.
  • control lines and information lines indicate those that are considered necessary for explanation, and do not necessarily indicate all the control lines and information lines in the product. All configurations may be interconnected.
  • S Authentication system, 100: Main unit arithmetic unit, 101: Challenge / response table, 102: Switcher, 105: Question transmitter, 106: Main unit arithmetic unit side I / O, 107: Answer receiver, 108: Timer, 109: Comparison unit, 110: Security arithmetic unit, 111: PLC, 112: Security arithmetic unit side I / O, 113: Cryptographic IP, 114: Passphrase, 115: Hash function, 121: Challenge code, 122: Response code, 130: Communication path, 600: ECU, 610: ECU software rewriting tool.

Landscapes

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

Abstract

セキュリティ計算装置に比して暗号化能力の劣る本体演算装置との間においてチャレンジ・レスポンス認証を容易に実行する。 本体演算装置100は、予め算出されたチャレンジコード及び第1のレスポンスコードの組が格納されたCR表101と、CR表101に格納されたチャレンジコード121をセキュリティ計算装置110に送信する質問送信部105と、セキュリティ計算装置110から送信されたレスポンスコード122を受信する回答受信部107と、回答受信部107が受信したレスポンスコード122とレスポンス104とを用いてチャレンジ・レスポンス認証を行う比較部109とを有し、セキュリティ計算装置110は、本体演算装置100から送信されたチャレンジコード121に基づいてレスポンスコード122を算出する暗号IP113を有する。

Description

認証システム
 本発明は、認証システムに関する。
 従来、セキュリティに関する演算は、本体チップとは別体のチップに集約することが行われている。これはセキュリティチップに格納された秘匿すべき秘密鍵(公開鍵暗号方式で称するところの情報)、もしくは共通鍵(共通鍵暗号方式で称するところの情報)などの情報漏洩を防ぐためである。
 別体とすることでメモリ空間を本体チップからは完全に観測不能とすることが可能になり秘匿情報の漏洩が防げる。また、耐タンパー性の観点からも封止開放で情報が消えるシリコンプロセス(フローティング・キャパシタンス)などをセキュリティチップのみに採用することが可能となる。
 ただし、別体にすることによって上記の如くセキュリティ特性上得られるメリットも多いが、新たなリスクが発生する。それは正規セキュリティチップの代わりに偽チップを付けられることである。
 すなわち同一基板もしくは同一筐体のなかで、本体チップ(以下、本体演算装置と称する)と接続するセキュリティチップ(以下、セキュリティ計算装置と称する)を攻撃者にとって都合の良い信号を発生する偽チップ(すなわちエミュレーションチップ)に置き換えられることである。
 これを防ぐ(もしくはこの異常を検出する)ためには、本体演算装置にセキュリティ計算装置の真正性(authenticity)を確認する能力を付与せねばならない。
 一例として、特許文献1では外部の認証チップスレーブの真正性を確認するのに、本体ホストと接続を一にした認証チップマスタが各スレーブに対してチャレンジ・レスポンス認証を行うことが提案されている。
特開2012-174195号公報
 特許文献1では、認証チップマスタが真正性を検証するのは認証チップスレーブである。すなわち、同一暗号IP(Intellectual Property)を持ったもの同志の、即ち能力同等のもの同志のチャレンジ・レスポンス認証である。
 また、本体ホストと認証チップマスタの接続認証は特許文献1では特に行っていないので、認証チップマスタを偽チップにすり替えられると容易に本体チップを欺ける脆弱性が存在する。
 加えて、本体ホストと認証チップマスタ間の通信は特に暗号化されていないので、この接続点で信号モニタや偽信号発生器を繋いで中間者攻撃が可能となる脆弱性も存在する。
 ここで、中間者攻撃とは、通信傍受手段の一つで、二者間の通信の間の通信経路に割り込むことで盗聴などを行うことを表現するセキュリティ用語である。攻撃者は通信を傍受するだけでなく中継もすることで、通信している二者に通常の通信経路だと誤認させ、攻撃を受けていることを気がつかせない。通信内容を傍受するだけでなく改変することも可能で、偽の情報を二者に与えることもできる。
 本発明は上記の課題に鑑みてなされたもので、セキュリティ計算装置に比して暗号化能力の劣る本体演算装置との間においてチャレンジ・レスポンス認証を容易に実行することが可能な認証システムを提供することにある。
 上記課題を解決すべく、本発明の一つの観点に従う認証システムは本体演算装置とセキュリティ計算装置とを有し、本体演算装置は、予め算出されたチャレンジコードとこのチャレンジコードに対応して予め算出された第1のレスポンスコードとの組が格納された第1の記憶部と、第1の記憶部に格納されたチャレンジコードをセキュリティ計算装置に送信する送信部と、セキュリティ計算装置から送信された第2のレスポンスコードを受信する受信部と、受信部が受信した第2のレスポンスコードと第1のレスポンスコードとを用いてチャレンジ・レスポンス認証を行う認証部とを有し、セキュリティ計算装置は、本体演算装置から送信されたチャレンジコードに基づいて第2のレスポンスコードを算出する暗号化処理部を有する。
 本発明によれば、セキュリティ計算装置に比して暗号化能力の劣る本体演算装置との間においてチャレンジ・レスポンス認証を容易に実行することが可能な認証システムを実現することができる。
実施例1に係る認証システムの概略構成を示すブロック図である。 実施例1に係る認証システムによるチャレンジ・レスポンス認証動作を示すシーケンス図である。 実施例1に係る認証システムの本体演算装置の動作を示すフローチャートである。 実施例1に係る認証システムのセキュリティ計算装置の動作を示すフローチャートである。 実施例2に係る認証システムにおけるチャレンジ・レスポンス表のオフライン計算手順を示すフローチャートである。 実施例3に係る認証システムによる外部機器認証の信号の流れを示すブロック図である。 実施例3に係る認証システムによる外部機器認証の手続きを示すシーケンス図である。 実施例3に係る認証システムの本体演算装置の動作を示すフローチャートである。 各実施例の概念を示すブロック図である。
 以下、本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
 本実施形態の認証システムは、一例として次のような構成を有する。
 本実施形態では、暗号化の能力について非対称の本体演算装置とセキュリティ計算装置の間でチャレンジ・レスポンス認証を行い、本体演算装置から見た場合のセキュリティ計算装置の真正性を確保しようとするものである。
 暗号化能力自体は非対称で本体演算装置側が圧倒的に劣るので、チャレンジ・レスポンス認証のチャレンジコード(問題)はオフラインで外部計算しておいて表の形で複数組を本体演算装置内部に格納する。
 チャレンジ・レスポンス認証に際して本体演算装置は擬似乱数を発生させ、それにしたがってチャレンジ・レスポンス表中の一組を選びチャレンジコードとしてセキュリティ計算装置に送付する。
 セキュリティ計算装置はそもそも高い暗号処理能力を持っているのでリアルタイムにチャレンジコードからレスポンスコードを計算し、本体演算装置に返送することができる。本体演算装置では、セキュリティ計算装置から返送されたレスポンスコードとチャレンジ・レスポンス表中に記載された答えのレスポンス値を比較してセキュリティ計算装置の真正性を検証することができる。
 また、このチャレンジコードとレスポンスコードとの組はセッションごとに異なるので、このチャレンジコードとレスポンスコードのどちらかの値を共通鍵として用い、本体演算装置とセキュリティ計算装置との間の暗号化通信に使うことができる。これは、本体演算装置とセキュリティ計算装置との間の結節点に信号モニタや偽信号発生器を接続されて中間者攻撃を実行されることを防止する。
 本実施例によれば、暗号化能力の高いセキュリティ計算装置に対して、暗号化能力をほとんど持たない本体演算装置側からチャレンジ・レスポンス認証を容易に実行することが可能となる。
 また、本体演算装置内部に存在するチャレンジ・レスポンス表は、本体演算装置自体のソフトウェア書き換え操作にしたがって新たに書き換えることが可能である。極論すれば「ソフトウェア書き換えというセキュリティ計算装置の認証機能を使うイベント」によって、その前の準備操作である「本体演算装置とセキュリティ計算装置の接続認証」の種情報である「本体演算装置内部に存在するチャレンジ・レスポンス表」を更新することができる。
 すなわち、盗聴は前述の中間者攻撃により可能であるので、「チャレンジ・レスポンス表」それ自体に取っては「使用(盗聴?)→更新→使用(盗聴?)→更新」という具合にチャレンジ・レスポンス表の一部組が外部漏洩することによるセキュリティ強度低下のイベントから回復し、永遠に高いセキュリティ強度を保ち続けることが可能となる。
 したがって、以上述べた仕組みによって本体演算装置にセキュリティ計算装置と同等の暗号化能力を擬似的に付与することができる。
 加えて、前述のようにこのチャレンジコードとレスポンスコードとの組の値は、チャレンジ・レスポンス認証ごとに異なるので、この値を共通鍵として用いて本体演算装置とセキュリティ計算装置の通信を暗号化することができる。
 具体的には、情報の送信側からは通信内容と「前述の共通鍵(チャレンジコードかレスポンスコードのどちらか)」の排他的論理和をビット毎に取ることによって内容を暗号化する。これは、バーナム暗号と呼ばれるものである(バーナム暗号は使い捨てパッドとも呼称される。) 
 受信側ではこの受信内容と「前述の送信側と共有した同一知識である共通鍵(チャレンジコードかレスポンスコードのどちらか)」により排他的論理和をビット毎に取ることによって情報の復号化が可能である。
 したがって、毎回セッションごとに本体演算装置とセキュリティ計算装置との信号やり取りのパターンが変化し、攻撃者にとって再生攻撃を行うことが困難となる。ここで再生攻撃とは、通信路の盗聴者が通信路に流れる過去の情報をそのまま記録し、後にこの情報やシーケンスをそのまま攻撃対象に投げることで攻撃対象を騙そうとする手法を指す。
 以上述べたように、通信の暗号化によって本体演算装置とセキュリティ計算装置の間に割り入る中間者攻撃を排除することができ、認証動作におけるセキュリティ強度を高めることができる。
 さらに加えて、本発明による接続認証手段は、その構成要素を列記するに「チャレンジ・レスポンス認証」「チャレンジ・レスポンス表」「バーナム暗号」という言葉から分かるように、全てソフトウェアで実装可能であり、有限の手続きの増加で実行できる手法ばかりである。したがって、コストの増加をほとんど発生させることなく本体演算装置とセキュリティ計算装置の間の脆弱性を解消させる効果がある。
 また、本実施例で述べたセキュリティ計算装置とは、世間一般で表現するところの別体のセキュリティチップそのものである。したがって、本発明はセキュリティチップそれ自体の商品性の改善に寄与する。
 なお、実施例を説明する図において、同一の機能を有する箇所には同一の符号を付し、その繰り返しの説明は省略する。
 また、以下の説明では、情報の一例として「xxxデータ」といった表現を用いる場合があるが、情報のデータ構造はどのようなものでもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxデータ」を「xxxテーブル」と言うことができる。さらに、「xxxデータ」を単に「xxx」と言うこともある。そして、以下の説明において、各情報の構成は一例であり、情報を分割して保持したり、結合して保持したりしても良い。
 図1は、実施例1に係る認証システムの概略構成を示すブロック図である。
 本実施例の認証システムSは、本体演算装置100とそれと信号によって接続されるセキュリティ計算装置110とを有する。
 本体演算装置100とセキュリティ計算装置110を別体にした理由は、前述の通りセキュリティ計算装置110そのものによる耐タンパー性の確保と、本体演算装置100を通じてセキュリティ計算装置110内部に秘匿され保護された共通鍵・秘密鍵の情報を読み出され難くするためである。
 本体演算装置100とセキュリティ計算装置110とは、中間者攻撃を防ぐ観点から同一基板もしくは同一筐体に格納されていることが望ましい。しかしながら、途中の通信路130の外部干渉に対する防御性が確保されるならば各々別体として離れていてもよく本実施例にとって支障あるものでは無い。
 本体演算装置100は、各種情報処理が可能な装置である。本体演算装置100は、演算素子、記憶媒体及び通信インターフェースを有する。
 演算素子は、例えばCPU(Central Processing Unit)、FPGA(Field-Programmable Gate Array)等である。記憶媒体は、例えばRAM(Random Access Memory)、ROM(Read Only Memory)、SSD(Solid State Drive)などの半導体記憶媒体等である。
 記憶媒体には、ファームウェアなどのプログラムが格納されている。本体演算装置100の動作開始時(例えば電源投入時)にファームウェア等のプログラムをこの記憶媒体から読み出して実行し、本体演算装置100の全体制御を行う。また、記憶媒体には、プログラム以外にも、本体演算装置100の各処理に必要なデータ等が格納されている。
 本実施例の本体演算装置100が有する記憶媒体は、好ましくは不揮発性の半導体記憶媒体を有し、上述のファームウェア等のプログラム、また、後述するCR表101はこの不揮発性の半導体記憶媒体に格納される。さらに好ましくは、不揮発性の半導体記憶媒体はフラッシュメモリ等の書き換え可能な半導体記憶媒体である。
 本体演算装置100は、それに繋がるセキュリティ計算装置110が正規のものであるのかどうか、その真正性(authenticity)を検証したい。それには、チャレンジ・レスポンス認証が行われるが、その動作に対する各機能ブロックの挙動は以下に示すものとなる。
 本体演算装置100内部のスイッチャ102は、本体内部に格納されたチャレンジ・レスポンス表(図ではCR表と記載)101からチャレンジコードとレスポンスコード(第1のレスポンスコード)との組一つを選び出す。以下、CR表101に格納されたチャレンジコードとレスポンスコードとの組を単に「チャレンジ・レスポンスの組」と略称する。この選別はセキュリティ強度を高める観点から擬似乱数に基づきランダムに行われることが望ましい。具体的には本体演算装置100内部にある何らかの時間計測用タイマーもしくはカウンタ(いずれも図略)の値を乱数種として採用し、適宜疑似乱数を生成することで行われる。
 チャレンジ・レスポンスの組のチャレンジ部103は質問送信部105に送られI/O106を通じてチャレンジコード121としてセキュリティ計算装置110に送られる。
 一方、チャレンジ・レスポンスの組のレスポンス(第1のレスポンスコード)104は、チャレンジ・レスポンス認証により正規のセキュリティ計算装置110から帰って来る「想定された回答」を意味するので、比較部109に送られる。
 セキュリティ計算装置110内部では以下の様な動作が行われる。全体の動作はPLC(Programmable Logic Controller)111によって制御されているが、PLCに拘るものではなく、一般のCPU(Central Processing Unit)によるソフトウェアもしくはファームウェアで動作実装されてもよい。
 I/O112を通じてもたらされたチャレンジコード121は、暗号IP(暗号化処理部)113内部のハッシュ関数115で、セキュリティ計算装置110内部に秘匿された固有値であるパスフレーズ114とともにハッシュ値が計算される。
 暗号IP113には、元々「メッセージ認証コード(MAC:Message Authentication  Code)」や「デジタル署名などの元になるメッセージダイジェスト値」を計算するハッシュ関数機能(一般的に一方向性ハッシュ関数もしくはメッセージダイジェスト関数などと呼ばれる機能)が備わっており、これをチャレンジ・レスポンス認証にも流用する形を取る。
 ここで、ハッシュ関数115(数学関数としてhash()と以下記載)とは、任意の長さのデータを固定長(128~512ビット程度)のデータに圧縮する、次に示す(1)~(3)の性質を持つ暗号学的関数のことである。
(1)一方向性:出力値から入力値を発見することが困難である。すなわち、あるハッシュ値hが与えられたとき、h=hash(m)を満たす任意のmを求めることが困難でなければならない。
(2)第2原像計算困難性:ある入力値と同じハッシュ値となるような別の入力を求めることが困難である。すなわち、mが与えられたとき、hash(m)=hash(m')となるようなm'(ただし、m≠m')を求めるのが困難でなければならない。
(3)衝突困難性:同じ出力値を生成する2つの入力値を発見することが困難である。すなわち、hash(m)=hash(m')(ただし、m≠m')を満たすmとm'を求めることが困難でなければならない。
 すなわち、入力が与えられれば出力を計算することが確かな再現性をもって簡単に実行できるが、出力から入力を逆算することが困難な(はなはだしい時間コストがかかる)暗号学的関数のことである。
 セキュリティ計算装置110内部に秘匿された固有値であるパスフレーズ114とは、このセキュリティ計算装置110のハードウェア、ソフトウェア、もしくはファームウェアごとに変更可能で、外部には秘密にされ管理された固有の設計情報である。この情報は本体演算装置100のチャレンジ・レスポンス表101を生成するときにも使われるが、チャレンジ・レスポンス認証の暗号強度の基礎となるので外部に対しては強力に秘匿せねばならない。
 計算されたハッシュ値はI/O112を通じてレスポンスコード(第2のレスポンスコード)122として本体演算装置100に送り返される。このレスポンスコードは、本体演算装置100のI/O106を通じて回答受信部107に取り込まれる。
 本体演算装置100のI/O106とセキュリティ計算装置110のI/O112で挟まれた通信路130は、シリアル伝送が行われるものでもよいし、バスのようなパラレル伝送が行われるものでもよい。また、シリアル・パラレル以上の高度なプロトコルによって制御されたネットワークのようなものでもよい。
 回答受信部107はタイマー108によって独自にレスポンスコード122が帰って来るまでの時間を監視している。この時間がかかりすぎる場合は、セキュリティ計算装置110の真正性もしくは通信路130の接続性に問題があるものとして認証NGを判定する。
 比較部(認証部)109では、チャレンジ・レスポンス表101に記載されたレスポンス104とセキュリティ計算装置110から帰ってきたレスポンスコード122との比較が実行され、一致すれば認証OK、一致しなければ認証NGの判定が下される。
 図2は、図1のブロック図で示した処理の流れをシーケンス図で示したものである。
 本体演算装置100ではシーケンスSQ201で擬似乱数が発生させられ、これに従ってシーケンスSQ202でチャレンジ・レスポンス表101中の一つのチャレンジ・レスポンスの組が選択される。
 チャレンジ・レスポンス表のチャレンジ部103はシーケンスSQ203でチャレンジコード121としてセキュリティ計算装置110に送られる。
 セキュリティ計算装置110ではシーケンスSQ205でそのチャレンジコード121と前述したパスフレーズ114とで暗号IP113がハッシュ関数処理を行い、ハッシュ値、すなわちレスポンスコード122が算出されシーケンスSQ206で本体演算装置100に送り返される。
 本体演算装置100では、チャレンジコード121を送った直後にタイマー起動処理シーケンスSQ204が行われ、レスポンスコード122返送までにかかる時間を計測する。
 もし、あまりにも時間がかかっているようならばタイムアウト処理シーケンスSQ207でレスポンスコード返送待ち処理から抜け、ただちに認証NGを判定する。
 シーケンスSQ208では時間計測タイマーを停止し、続く一致検証シーケンスSQ209でレスポンスコード122の返送があったならば、チャレンジ・レスポンス表101に記載されたレスポンス104の回答とセキュリティ計算装置110から返送されたレスポンスコード122の照合が行われ、一致すれば認証OK、不一致ならば認証NGが判断される。
 本体演算装置100のCR所定値保存シーケンスSQ210とセキュリティ計算装置110のCR所定値保存シーケンスSQ211は、上記のチャレンジ・レスポンス認証で用いたチャレンジもしくはレスポンスの値(図2ではCR所定値と記載)を暗号通信の共通鍵として本体演算装置100およびセキュリティ計算装置110の両者において、この認証セッション以降で値を保存し記憶することを意味する。これは実施例3で説明する通信路130に流れる信号の暗号化共通鍵として用いられる。
 図3は本体演算装置100で、接続認証にかかる処理をフローチャートにて表したものである。
 ステップS301では擬似乱数が発生させられ、これに従ってステップS302ではチャレンジ・レスポンス表101の一組の値が選択される。
 この値のチャレンジ部分がチャレンジコード121としてステップS303でセキュリティ計算装置110に送られるとともに時間計測用のタイマー108がステップS304で起動させられる。
 判定ステップS305では、セキュリティ計算装置110からのレスポンスの返答が待ち合わせられる。レスポンスコード122を受信したならばステップS309に進み、計時用のタイマー108を停止するが、受信しない場合、判定ステップS306に進み、返答が無い時間が長くてタイムアウトしているかどうかが判断される。
 もしタイムアウトしているようならばステップS307でタイマー108を停止し、ステップS308で接続認証NGと判断される。タイムアウトしていないならば、ステップS305に戻って再びレスポンスコード122の到来を待ち合わせることになる。
 ステップS310では、チャレンジ・レスポンス表101に格納したレスポンス104の答えとセキュリティ計算装置110から戻ったレスポンスコード122との照合が行われる。値が一致すればステップS311でこのチャレンジかレスポンスどちらか所定の値を暗号化通信用に保存し、ステップS312で接続認証OKを判断しステップS313で一連の処理を終了する。
 ステップS310で値が一致しなければ、ステップS308で接続認証NGを判断し、同じくステップS313で一連の処理を終了する。
 図4はセキュリティ計算装置110で、接続認証にかかる処理をフローチャートにて表したものである。
 ステップS401では、本体演算装置100より接続認証にかかる動作コマンドである旨の司令を受ける。接続認証処理でないならばステップS406に進み一連の接続認証処理を終了する。セキュリティ計算装置110では、種々の処理バリエーションの切り替えを本体演算装置100から来るコマンドによって切り替えるという前提で実現されていることを明示しておく。
 接続認証処理ならば、続くステップS402に進んで、本体演算装置100からのチャレンジコード121到来が待ち合わせられる。チャレンジコード121を得たならば、続くステップS403のハッシュ値計算に進み、得ないならばステップS402を繰り返してチャレンジコード121の待ち合わせが行われる。
 ステップS403では、パスフレーズ114とチャレンジコード121とを併せてハッシュ値が暗号IP113のハッシュ関数115により計算される。計算された値はステップS404でレスポンスコード122として本体演算装置100に返送される。
 一連の処理の終わりで、本体演算装置100のフロー処理と同じくチャレンジもしくはレスポンスのどちらか所定の値を暗号化通信の共通鍵として保存(ステップS405)し、ステップS406で一連の処理を終了する。
 このように構成される本実施例によれば、本体演算装置100とセキュリティ計算装置110とを有する認証システムSにおいて、本体演算装置100は、予め算出されたチャレンジコードとこのチャレンジコードに対応して予め算出された第1のレスポンスコードとの組が格納されたチャレンジ・レスポンス表101と、チャレンジ・レスポンス表101に格納されたチャレンジコード121をセキュリティ計算装置110に送信する質問送信部105と、セキュリティ計算装置110から送信されたレスポンスコード122を受信する回答受信部107と、回答受信部107が受信したレスポンスコード122とレスポンス104とを用いてチャレンジ・レスポンス認証を行う比較部109とを有し、セキュリティ計算装置110は、本体演算装置100から送信されたチャレンジコード121に基づいてレスポンスコード122を算出する暗号IP113を有する。
 従って、本実施例によれば、セキュリティ計算装置に比して暗号化能力の劣る本体演算装置との間においてチャレンジ・レスポンス認証を容易に実行することが可能となる。
 図5は、実施例2に係る認証システムにおけるチャレンジ・レスポンス表101のオフライン計算手順を示すフローチャートである。
 本実施例は、前述のチャレンジ・レスポンス表101をオフラインで計算する一例を示す。図5ではセキュリティ計算装置110と同一のハッシュアルゴリズムを実装したPC(Personal Computer)でオフライン計算を行っているが、この処理は実物のセキュリティ計算装置110をコプロセッサのように用いて計算しても良い。
 オフライン計算作業ステップS500では、ステップS501で擬似乱数を発生させ先ずチャレンジ値103を生成する。ステップS502ではこれとパスフレーズ114とを結合する。結合方式(即ちチャレンジ値103に対してパスフレーズ文字列114が右結合なのか左結合なのか)はセキュリティ計算装置110の方式と統一しなければならない。
 続くステップS503では、セキュリティ計算装置110と同一アルゴリズムでハッシュ値が計算されこれをレスポンス値104としてチャレンジ・レスポンス表101の該当行に格納する。
 これで、チャレンジ・レスポンス表101の一行の組が完成したわけであるが、続くステップS504では、この行を規定値であるn組生成したかがチェックされる。規定の組数(n組)生成済みであればステップS505にて一連の処理を終了する。生成済みで無ければステップS501に戻って新たな組を生成する。
 上述のフローチャートにより作成されたチャレンジ・レスポンス表101は、本体演算装置100の記憶媒体の不揮発性のプログラムエリア上にプログラムデータとして(あるいはプログラムデータと同等の取扱で)格納される。これは、本体演算装置100のソフトウェア書き換えに際して該チャレンジ・レスポンス表101も書き換え(値の更新)が可能であることを意味する。
 セキュリティ計算装置110の力を借りて外部機器の認証を行うのは、この本体演算装置100のソフトウェア書き換えのために接続するツールが正規のものであるのかの検証が主たる任務である。
 外部機器の認証には、後述する実施例(実施例3)ではセキュリティ計算装置110内部に秘匿されている「共通鍵暗号の共通鍵」もしくは「公開鍵暗号の秘密鍵」を用いて外部機器から発するデジタル署名を検証することで実行される。また、別の例ではセキュリティ計算装置110内部に秘匿されている「パスフレーズを共通鍵として」外部機器との間のチャレンジ・レスポンス認証、もしくは時間同期ベースのワンタイムパスワード認証によって行われる場合もある。
 外部機器の認証の前段階として、本発明で提唱する本体演算装置100とセキュリティ計算装置110の接続認証が行われそこでチャレンジ・レスポンス表101を構成する一組のデータが用いられる。
 このデータはいくら擬似乱数で再現性無く選択されるとは言え、本体演算装置100とセキュリティ計算装置110の接続点に挿入された悪意の中間者からはモニタ可能である。
 しかしながら、一部でもモニタ可能であっても一連の外部認証手続きの最後に本体演算装置100のソフトウェア書き換えが行われ、チャレンジ・レスポンス表101も新たなものに置き換えられる。したがって、データの部分的情報漏洩によるチャレンジ・レスポンス表101の経年陳腐化を効率的に防止することが可能となり、セキュリティの向上に寄与する。
 セキュリティ計算装置110を本体演算装置100とは別体で設ける目的は、外から接続するツールなど外部機器の認証や暗号化通信を本体演算装置100に負担をかけること無く高暗号強度かつ高速に行いたいためである。
 図6は、実施例3に係る認証システムによる外部機器認証の信号の流れを示すブロック図であり、外部からECUソフト書き換えツール610が接続しようとしていると仮定して、一例としてその認証の流れを示すブロック図である。
 ECUソフト書き換えツール610の役目は、ECU(Electronic Control Unit)600に内蔵されている本体演算装置100の内蔵プログラムを書き換えることである。一方、セキュリティ計算装置110は強固の独立性と耐タンパー性を備えているので、ライフサイクルの全てを通じてソフト・ファームウェア・データの書き換えなどは無い。
 ここで、ECUソフト書き換えツール610がECU600にとって正規のものであるかの確認が必要になる。これは一般的に「外部機器認証」と呼ばれるもので、これを行わないと本体演算装置100に悪意のある動作プログラムを組み込まれることもあるし、意図せず本体演算装置100内部から価値あるデータを吸い出されることを許す事態も発生する。
 外部機器認証の流れを図6で示すと以下の様になる。
 ECUソフト書き換えツール610は、自分の真正性(authenticity)をECU600に伝えるための認証情報601をECU600に送る。それをECU内部の本体演算装置100が受け、セキュリティ計算装置110にそのデータごと認証依頼602としてリレーする。
 セキュリティ計算装置110では認証情報の厳密な検証が行われ(前述したようにデジタル署名の検証、もしくはチャレンジ・レスポンス認証の検証、もしくはワンタイムパスワード認証の検証)その認証結果603(OKか?NGか?)が暗号化されて本体演算装置100に送り返される。
 本体演算装置100では認証結果がOKであると書き換え許可信号604をECUソフト書き換えツール610に送り返す。
 ECUソフト書き換えツール610では、それを確認してから本体書き換えプログラム605を本体演算装置100に送り、本体演算装置100ではそのデータに従って内蔵プログラムを書き換える。
 図7は、実施例3に係る認証システムによる外部機器認証の手続きを示すシーケンス図であり、以上の信号の流れと手順をシーケンス図として示したものである。
 外部機器の認証に先立ち、本体演算装置100とセキュリティ計算装置110間の接続認証が行われること、即ち接続認証シーケンスSQ701→チャレンジコード送信シーケンスSQ702→レスポンスコード返信シーケンスSQ703が行われることは前述したとおりである。また、本体演算装置100側はCR所定値保存シーケンスSQ705によって、セキュリティ計算装置110側はCR所定値保存シーケンスSQ706によって、このチャレンジコードとレスポンスコードのどちらかが以降の暗号化通信に備えて記憶されることも前述したとおりである。
 外部機器(ECUソフト書き換えツール610等)と接続した場合のセッション開始では、外部機器の認証情報入手シーケンスSQ707が行われる。これを受信した本体演算装置100は、セキュリティ計算装置110に対して認証依頼コマンドとしてシーケンスSQ708の発行を行う。続くシーケンスで外部機器認証情報としてシーケンスSQ709の情報をセキュリティ計算装置110にリレーし、検証を依頼する。
 セキュリティ計算装置110では、その認証真正性の検証シーケンスSQ710を行い結果がでるとそれを暗号化して(認証結果暗号化シーケンスSQ711)暗号化済み認証結果シーケンスSQ712として本体演算装置100に返送する。
 本体演算装置100ではその結果を復号化し(認証結果復号化シーケンスSQ713)、OKであるのかNGであるかの判定を下す(OK/NG認識シーケンスSQ714。) 
 以上述べたシーケンス図から核心部分となる一部をクローズアップしてシーケンス群SQ704として図示する。この部分の本体演算装置100側手続きを図8にフローチャートとして示す。
 図8は、実施例3に係る認証システムの本体演算装置の動作を示すフローチャートである。
 図8では、一実施例として本体演算装置100とセキュリティ計算装置110間の信号プロトコルを以下の様に仮定している。
 暗号化前の通信内容の意味づけで、本体演算装置100からセキュリティ計算装置110に認証依頼としてBのデータを送ると、セキュリティ計算装置110側の応答として肯定応答(すなわち認証OK)はBそのものの返送、否定応答(すなわち認証NG)はBの1の補数(すなわち not B)の返送と取り決める。
 以上のようにプロトコルの一例として本実施例では取り決めてあるが、もちろん固定値(暗号化前で)を返送しOK/NGの情報伝達をしても良い。
 セキュリティ計算装置110→本体演算装置100の肯定/否定応答は以上のような意味づけを与えられてから暗号化される予定であるが、本体演算装置100→セキュリティ計算装置110で送られる入力となる認証依頼情報Bはことさら暗号化していない。
 これは、該情報は、ECUソフト書き換えツール610などの外部機器とECU600間の通信路において中間者攻撃を行えばそのままモニタ可能で、暗号化する意味が無いと判断したからである。しかしながら、セキュリティ計算装置110側の処理が(復号処理が加わるので)複雑になるが厳密さを追求する場合、本体演算装置100→セキュリティ計算装置110の情報を暗号化しても支障ない。
 図8のステップS801では以降の通信暗号化に備えてレスポンスコード(Ar)が保存される。これは、セキュリティ計算装置110側と取り決めてチャレンジコード(Ac)側を保存し用いてもよい。
 ステップS802では外部機器向けのI/Oを駆動し、外部機器が接続していないか、もし接続しているならばその認証情報の入手を行う。ステップS803は以上の待ち合わせを表現したもので、認証情報を入手したならばステップS804に進み、入手していないならばステップS802に戻って再び待ち合わせを継続する。
 ステップS804ではセキュリティ計算装置110に認証依頼コマンドの発行を行う。続くステップS805はセキュリティ計算装置110からの応答確認信号(ACK)の待ち合わせを行う。
 コマンドの応答確認があれば、引き続きステップS806で外部機器から入手した認証情報を認証依頼情報Bとしてセキュリティ計算装置110に中継送信する。
 セキュリティ計算装置110では、その検証結果を前述のプロトコルに従いデータ変換するとともにレスポンスコード(Ar)で暗号化(排他的論理和を取り、バーナム暗号として変換する)して暗号化認証結果Rとして本体演算装置100に返送する。
 ステップS807はその暗号化認証結果Rの待ち合わせである。結果を入手すればステップS808の判定に進む。
 ステップS808では、この暗号化認証結果Rと再びレスポンスコード(Ar)の排他的論理和がとられ復号化が行われる。排他的論理和は図8では演算子xorとして表記してある。復号した結果が認証依頼情報Bそのものであれば、セキュリティ計算装置110が肯定応答を返したことになるので、ステップS809に進み認証OKという判断を下す。続くステップS813で処理を終了する。((R xor Ar)がBと等しい場合。)
 以上の比較が一致しない場合は、ステップS810において復号した結果が認証依頼情報Bの1の補数であるかの比較が行われる。図8では認証依頼情報Bの1の補数を(not B)として表記してある。比較結果が認証依頼情報Bの1の補数そのものであれば、セキュリティ計算装置110が否定応答を返したことになるので、ステップS811に進み認証NGという判断を下す。続くステップS813で処理を終了する。((R xor Ar)が(not B)と等しい場合。)
 以上のカスケード比較が成立せず、すなわち復号した結果が認証依頼情報Bそのものではなく、かつ1の補数でも無い場合、セキュリティ計算装置110として不正なものが接続されているか、本体演算装置100・セキュリティ計算装置110間で中間者攻撃を受けている可能性があるのでステップS812として応答不正を記憶しステップS813で一連の処理を終了する。
 以上述べたように、本実施例では、セキュリティ計算装置110を別体とすることで発生する脆弱性、すなわち脆弱性・タイプ1(後述)としてセキュリティ計算装置110そのものの偽チップへのすり替え、および脆弱性・タイプ2(後述)として本体演算装置100とセキュリティ計算装置110間の中間者攻撃を感度良く検出し、これらの脆弱性に対する懸念を排除することができる。
 加えてこれらは現状に対する手続きの追加で対応できる。すなわち、ソフトウェアもしくはファームウェアもしくはPLCの制御ステップの追加で対応できるのでコストの増加を及ぼさない。
<本実施形態で提示する概念と改善点の纏め> 図9に、いままで述べた本実施形態とそれによって可能となる改善点(効果)をまとめて示す。
 図9の(a)は、従来通りセキュリティ計算装置110は別体として設けるが何もしない場合である。この場合(b)として、正規のセキュリティ計算装置110が偽のセキュリティ計算装置903に置き換えられ、どんな外部接続機器であろうが常に認証OKの偽の信号904を供給される懸念がある。これが脆弱性・タイプ1と称するものである。
 この脆弱性への対策として(c)の接続認証をおこなうことが本実施形態の一つの主旨である。したがって、チャレンジコードAc905とレスポンスコードAr906によってチャレンジ・レスポンス認証を行うことは前述したとおりである。これは、本発明の実施例で述べたように、例え本体演算装置100の暗号計算能力がセキュリティ計算装置110より劣る場合であっても、本体演算装置100にチャレンジ・レスポンス表101を格納することによってセキュリティ計算装置110と同等な暗号強度で実行することができる。
 (d)脆弱性・タイプ2では以上で述べたもの以外の新たな脆弱性を示したものである。外部機器の認証依頼において、本体演算装置100の認証結果の受け口が固定値であった場合、中間者攻撃によって悪意の中間者に再生攻撃をうける可能性を示したものである。
 偽OK信号発生装置908にはかつて実行された外部機器認証で、認証OKとなったセキュリティ計算装置110→本体演算装置100の認証結果信号(固定値である認証OK信号)が記録されており、適当なタイミングで本体演算装置100向けに該信号を再生することにより本体演算装置100を騙すことができる。
 接続認証までのタイミングでは、図9の(c)で示すように本体演算装置100とセキュリティ計算装置110とは正常に接続されている。しかしながら、それに引き続く外部認証のタイミングでセキュリティ計算装置110→本体演算装置100のリターン信号は切断907され、代わりに偽OK信号発生装置908が接続される。
 この脆弱性・タイプ2の懸念を解消するためには、認証結果の受け口を固定値で無くすことが解決策であり、これを(e)認証結果の暗号化として示す。
 図9(および図8の実施例)では2段階のステップで認証結果の固定値排除が行われる。まず一段階目としてセキュリティ計算装置110が返送する認証結果が、肯定応答の場合:認証依頼情報Bそのもの、否定応答の場合:認証依頼情報Bの1の補数であることである。
 これによって、外部接続する機器の認証情報Bによって認証結果のパターンが変動することになる。
 さらに第二段階目として認証結果を暗号化することである。これには前段階の本体演算装置100・セキュリティ計算装置110の接続認証で使われたチャレンジコードAc905かレスポンスコードAr906のどちらかの値が使われバーナム暗号(ビットごとに排他的論理和をとること)によって暗号化される。
 遡れば、チャレンジコードAc905もしくはレスポンスコードAr906の起源は本体演算装置100に格納されたチャレンジ・レスポンス表101であり、この表中の複数の組み合わせパターンの中から擬似乱数で選ばれたものであるので、認証セッションごとに完全に値が異なる。
 したがって、(d)脆弱性・タイプ2の再生攻撃を含む中間者攻撃から完全に認証システムを防衛することが可能となる。
 以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
 また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。実施例で示した如くPLC111や機能置換可能なシーケンサ(図示せず)もその範疇に含まれる。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
 また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラムまたはスクリプト言語で実装できる。
 さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段またはCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
 上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
 S:認証システム、100:本体演算装置、101:チャレンジ・レスポンス表、102:スイッチャ、105:質問送信部、106:本体演算装置側I/O、107:回答受信部、108:タイマー、109:比較部、110:セキュリティ計算装置、111:PLC、112:セキュリティ計算装置側I/O、113:暗号IP、114:パスフレーズ、115:ハッシュ関数、121:チャレンジコード、122:レスポンスコード、130:通信路、600:ECU、610:ECUソフト書き換えツール。

Claims (7)

  1.  本体演算装置とセキュリティ計算装置とを有する認証システムであって、
     前記本体演算装置は、
     予め算出されたチャレンジコードとこのチャレンジコードに対応して予め算出された第1のレスポンスコードとの組が格納された第1の記憶部と、
     前記第1の記憶部に格納された前記チャレンジコードを前記セキュリティ計算装置に送信する送信部と、
     前記セキュリティ計算装置から送信された第2のレスポンスコードを受信する受信部と、
     前記受信部が受信した前記第2のレスポンスコードと前記第1のレスポンスコードとを用いてチャレンジ・レスポンス認証を行う認証部とを有し、
     前記セキュリティ計算装置は、前記本体演算装置から送信された前記チャレンジコードに基づいて前記第2のレスポンスコードを算出する暗号化処理部を有する認証システム。
  2.  前記第1の記憶部に格納された前記チャレンジコードと前記第1のレスポンスコードとの組は書き換え可能であることを特徴とする請求項1に記載の認証システム。
  3.  前記暗号化処理部は、前記チャレンジコードを入力として一方向性ハッシュ関数を用いて前記第2のレスポンスコードを算出することを特徴とする請求項1に記載の認証システム。
  4.  前記暗号化処理部は、前記チャレンジコードにパスフレーズを加えて、前記一方向性ハッシュ関数を用いて前記第2のレスポンスコードを算出することを特徴とする請求項3に記載の認証システム。
  5.  前記セキュリティ計算装置は、前記パスフレーズが書き換え可能に格納された第2の記憶部を有することを特徴とする請求項4に記載の認証システム。
  6.  前記本体演算装置は、前記チャレンジコードと前記第1のレスポンスコードとの組とを擬似乱数に基づいてランダムに選択する選択部を有し、
     前記送信部は、前記選択部により選択された前記チャレンジコードを前記セキュリティ計算装置に送信し、
     前記認証部は、前記選択部により選択された前記第1のレスポンスコードを用いて前記チャレンジ・レスポンス認証を行うことを特徴とする請求項1に記載の認証システム。
  7.  前記暗号化処理部は、前記認証部による前記チャレンジ・レスポンス認証が行われたら、このチャレンジ・レスポンス認証に用いられた前記チャレンジコード、前記第1のレスポンスコード、または前記第2のレスポンスコードのいずれかを共通鍵として前記本体演算装置との間の通信を暗号化することを特徴とする請求項1に記載の認証システム。
PCT/JP2020/034408 2019-10-15 2020-09-11 認証システム WO2021075187A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021552272A JP7324303B2 (ja) 2019-10-15 2020-09-11 認証システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019188825 2019-10-15
JP2019-188825 2019-10-15

Publications (1)

Publication Number Publication Date
WO2021075187A1 true WO2021075187A1 (ja) 2021-04-22

Family

ID=75537562

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/034408 WO2021075187A1 (ja) 2019-10-15 2020-09-11 認証システム

Country Status (2)

Country Link
JP (1) JP7324303B2 (ja)
WO (1) WO2021075187A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007195155A (ja) * 2005-12-20 2007-08-02 Matsushita Electric Ind Co Ltd 認証システム、及び認証装置
JP2011066636A (ja) * 2009-09-16 2011-03-31 Sony Corp 認証装置および方法、並びに通信装置および方法
JP2016050409A (ja) * 2014-08-29 2016-04-11 株式会社東海理化電機製作所 電子キーシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007195155A (ja) * 2005-12-20 2007-08-02 Matsushita Electric Ind Co Ltd 認証システム、及び認証装置
JP2011066636A (ja) * 2009-09-16 2011-03-31 Sony Corp 認証装置および方法、並びに通信装置および方法
JP2016050409A (ja) * 2014-08-29 2016-04-11 株式会社東海理化電機製作所 電子キーシステム

Also Published As

Publication number Publication date
JPWO2021075187A1 (ja) 2021-04-22
JP7324303B2 (ja) 2023-08-09

Similar Documents

Publication Publication Date Title
US10482291B2 (en) Secure field-programmable gate array (FPGA) architecture
JP5845393B2 (ja) 暗号通信装置および暗号通信システム
Albrecht et al. Plaintext recovery attacks against SSH
CN105553951B (zh) 数据传输方法和装置
US8826015B2 (en) Portable system and method for remotely accessing data
KR100363607B1 (ko) 제1컴퓨터유니트와제2컴퓨터유니트사이에서의암호코드매니지먼트를위한프로세스
WO2016065321A1 (en) Secure communication channel with token renewal mechanism
JP2014204444A (ja) センサへの操作及び/又はセンサのセンサデータへの操作を検出するための方法及び装置
CN110072231A (zh) 用于配对的方法、配对装置以及遥控钥匙
CN107040536A (zh) 数据加密方法、装置和系统
CN107368737A (zh) 一种防止拷贝攻击的处理方法、服务器及客户端
CN111543036A (zh) 用于在第一与第二网络之间传输数据的设备和方法
JP6972145B2 (ja) プログラマブル・ハードウェア・セキュリティ・モジュール及びプログラマブル・ハードウェア・セキュリティ・モジュールに用いられる方法
CN111130775A (zh) 一种密钥协商方法、装置及设备
JPH09312643A (ja) 鍵共有方法及び暗号通信方法
JPWO2011040023A1 (ja) 暗号化装置、復号化装置、暗号化方法、復号化方法、および暗号化復号化システム
CN114915396A (zh) 一种基于国密算法的跳变密钥数字通信加密系统和方法
JP2021536712A (ja) 低電力モードにおけるIoTデバイスのメモリに格納されるデータの保護
CN110611679A (zh) 一种数据传输方法、装置、设备及系统
JP2023510002A (ja) エアギャッピングハードウェアプロトコルを使用したセキュアなデータ転送のためのシステムおよび方法
WO2021075187A1 (ja) 認証システム
CN111092860A (zh) 一种医疗数据安全交互传输模块
CN112787990B (zh) 一种电力终端可信接入认证方法和系统
CN116633530A (zh) 量子密钥传输方法、装置及系统
JP5791112B2 (ja) 通信方法及び通信システム

Legal Events

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

Ref document number: 20877307

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021552272

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20877307

Country of ref document: EP

Kind code of ref document: A1