JP2013073257A - Mutual authentication system and mutual authentication method - Google Patents
Mutual authentication system and mutual authentication method Download PDFInfo
- Publication number
- JP2013073257A JP2013073257A JP2011209605A JP2011209605A JP2013073257A JP 2013073257 A JP2013073257 A JP 2013073257A JP 2011209605 A JP2011209605 A JP 2011209605A JP 2011209605 A JP2011209605 A JP 2011209605A JP 2013073257 A JP2013073257 A JP 2013073257A
- Authority
- JP
- Japan
- Prior art keywords
- host
- result
- data
- receiving
- encrypted data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Abstract
Description
本発明は相互認証システム及び相互認証方法に関し、特に、I2Cバスを介して接続された複数のデバイスをホストが認証するために用いて好適な技術に関する。 The present invention relates to a mutual authentication system and a mutual authentication method, and more particularly to a technique suitable for use by a host to authenticate a plurality of devices connected via an I2C bus.
情報処理技術の発展に伴い、大量の情報が所定の伝送路を介して通信されている。情報が通信される伝送路には、第三者(送信者および受信者以外の者)が、通信されているデータを盗聴することが可能なものが多い。 With the development of information processing technology, a large amount of information is communicated via a predetermined transmission path. In many transmission paths through which information is communicated, a third party (a person other than the sender and the receiver) can eavesdrop on the data being communicated.
このような伝送路を利用して、情報を第三者に漏洩させずに、通信を行う場合、しばしば、暗号が利用される。暗号を利用し、暗号化されたデータを通信することにより、暗号化されたデータを盗聴することができても、第三者が、そのデータから通信した情報の内容を読み出すことは困難である。 When communication is performed using such a transmission line without leaking information to a third party, encryption is often used. Even if the encrypted data can be eavesdropped by communicating the encrypted data using encryption, it is difficult for a third party to read the content of the communicated information from the data. .
このような暗号を生成する暗号化方法には、所定の鍵を利用して、平文(送信する情報)から、暗号(実際に送信されるデータ)を生成するものが利用されることが多い。 As an encryption method for generating such a cipher, a method for generating a cipher (data to be actually transmitted) from plain text (information to be transmitted) using a predetermined key is often used.
このような、鍵を利用した暗号には、共通鍵暗号と公開鍵暗号の2種類がある。共通鍵暗号においては、暗号化するときの鍵(暗号化鍵データ)と、復号化するときの鍵(復号化鍵データ)が同一である。例えば、共通鍵暗号としては、Feistel暗号の1つであるDES(Data Encryption Standard)方式などがよく利用されている。一方、公開鍵暗号においては、暗号化鍵データと復号化鍵データが異なる。そして、受信者は、送信者のために、それらの鍵のうち、暗号化鍵データを公開するが、復号化鍵データは公開せずに隠しておく(即ち、復号化鍵データは、受信者のみが知っている)。 There are two types of encryption using a key, common key encryption and public key encryption. In common key cryptography, the key for encryption (encryption key data) and the key for decryption (decryption key data) are the same. For example, a DES (Data Encryption Standard) method, which is one of Feistel ciphers, is often used as a common key cipher. On the other hand, in public key cryptography, encryption key data and decryption key data are different. Then, for the sender, the receiver publishes the encryption key data out of those keys, but hides the decryption key data without revealing it (that is, the decryption key data is stored in the receiver). Only know).
しかしながら、前述の認証方法においては、所定の送受信者が、他の送受信者を認証するだけであるので、例えば、リーダ/ライタ装置(親機)とICカードで構成されるカードシステムに、前述の認証方法を適用した場合、リーダ/ライタ装置は、通信相手が正規のICカードであるか否かを判断する(通信相手を認証する)ことができるが、ICカードは、通信相手が正規のリーダ/ライタ装置であるか否かを判断することが困難であるという問題を有している。 However, in the above-described authentication method, a predetermined transmitter / receiver only authenticates other transmitter / receivers, and therefore, for example, the above-described authentication method is applied to a card system including a reader / writer device (master device) and an IC card. When the authentication method is applied, the reader / writer device can determine whether or not the communication partner is a regular IC card (authenticate the communication partner). / It has a problem that it is difficult to determine whether or not it is a writer device.
前述のような問題点を解消するために、例えば、特許文献1においては、複数の情報処理装置において、相互に平文を送信するとともに、送信されてきた平文を受信し、受信した平文を暗号に暗号化し、平文を送信した装置に、その暗号を送信するとともに、送信されてきた暗号を受信し、その暗号を復号化した平文と最初に送信した平文を比較することで、相互に認証を行うようにした認証方法が提案されている。
In order to solve the above-described problems, for example, in
特許文献1に記載の認証方法においては、リーダ/ライタ装置とICカードとで相互に認証を行うようにしている。このため、リーダ/ライタ装置に専用認証エンジンを具備する必要があった。
In the authentication method described in
また、ICカードを使用する各ユーザー向けにユーザー指定の制御用CPUのソフト向けのコードの開発する負担、及び開発した同コードを開示するために発生するセキュリティ上の管理のわずらわしさ(秘密保持の負担)も大きな負担であった。
本発明は前述の問題点に鑑み、親機が認証エンジンを具備することなく、伝送路に接続されたデバイスの真偽を確認できるようにすることを目的とする。
In addition, the burden of developing the code for the control CPU software designated by the user for each user who uses the IC card, and the troublesome security management that occurs to disclose the developed code (confidentiality protection) Burden) was also a heavy burden.
In view of the above-described problems, an object of the present invention is to make it possible to confirm the authenticity of a device connected to a transmission path without the master unit having an authentication engine.
本発明の相互認証システムは、伝送路を介して接続された複数のデバイスとホストとの間でデータの送受信を行い、前記複数のデバイスを前記ホストが順次認証する相互認証システムであって、
前記ホストにおいて、前記伝送路を介して接続された前記複数のデバイスのうち、相互認証させる第1のデバイスと第2のデバイスとを決定するデバイス決定手段と、
前記ホストにおいて、前記デバイス決定手段により決定された、第1及び第2のデバイスを指定して、相互認証を行うように命令する第1、第2のコマンドと、前記第1のデバイスから相互認証結果を読み出すように命令する第3のコマンドを生成するコマンド生成手段と、
前記ホストにおいて、前記コマンド生成手段により生成された、前記第1のコマンドを前記伝送路を介して前記第1、第2のデバイスに送信するホスト側送信手段と、
前記第1のデバイスにおいて、前記ホストが送信する、前記第1のコマンドを受信する第1のデバイス側受信手段と、
前記第2のデバイスにおいて、前記ホストが送信する、前記第1のコマンドを受信する第2のデバイス側受信手段と、
前記第1のデバイスにおいて、第1の乱数データを生成する第1のデバイス側乱数データ生成手段と、
前記第2のデバイスにおいて、第2の乱数データを生成する第2のデバイス側乱数データ生成手段と、
前記第1のデバイスにおいて、前記第1のデバイス側受信手段により受信された前記第1のコマンドに応じて、前記第1の乱数データを、前記第1、第2のデバイスが共通に保持する第1の鍵データを用いて暗号化して、第1の暗号データを生成する第1のデバイス側暗号化手段と、
前記第2のデバイスにおいて、前記第2のデバイス側受信手段により受信された前記第1のコマンドに応じて、前記第2の乱数データを、前記第1の鍵データを用いて第2の暗号データを生成する第2のデバイス側暗号化手段と、
前記第1のデバイスにおいて、前記第1の暗号データを、前記伝送路を介して前記ホストに送信する第1のデバイス側送信手段と、
前記第2のデバイスにおいて、前記第1のデバイスが送信する、前記第1の暗号データを受信する第2のデバイス側受信手段と、
前記第2のデバイスにおいて、前記第2のデバイス側受信手段により受信した、前記第1の暗号データを、前記第1の鍵データを用いて、第1の復号結果を得る第2のデバイス側復号化手段と、
前記第2のデバイスにおいて、前記第2のデバイス側復号化手段により得た前記第1の復号結果と、前記第2の乱数データとの間で演算を行い、第2の演算結果を得る第2のデバイス側演算手段と、
前記第2のデバイスにおいて、前記第2のデバイス側暗号化手段により生成された、前記第2の暗号データを、前記伝送路を介して前記ホストに送信する第2のデバイス側送信手段と、
前記第1のデバイスにおいて、前記第2のデバイスが送信する、前記第2の暗号データを受信する第1のデバイス側受信手段と、
前記第1のデバイスにおいて、前記第1のデバイス側受信手段により受信した、前記第2の暗号データを、前記第1の鍵データを用いて復号し、第2の復号結果を得る第1のデバイス側復号化手段と、
前記第1のデバイスにおいて、前記第1のデバイス側復号化手段により得た、前記第2の復号結果と、前記第1の乱数データとの間で演算を行い、第1の演算結果を得る第1のデバイス側演算手段と、
前記ホストにおいて、前記コマンド生成手段により生成された、前記第2のコマンドを、前記伝送路を介して前記第1、第2のデバイスに送信するホスト側送信手段と、
前記第1のデバイスにおいて、前記ホストが送信する、前記第2のコマンドを受信する第1のデバイス側受信手段と、
前記第2のデバイスにおいて、前記ホストが送信する、前記第2のコマンドを受信する第2のデバイス側受信手段と、
前記第1のデバイスにおいて、前記第1のデバイス側受信手段により受信した、前記第2のコマンドに応じて前記第1の演算結果を、前記第1、第2のデバイスが共通に保持する第2の鍵データを用いて暗号化して、第3の暗号データを生成する第1のデバイス側暗号化手段と、
前記第2のデバイスにおいて、前記第2のデバイス側受信手段により受信した、前記第2のコマンドに応じて、前記第2の演算結果を、前記第2の鍵データにより暗号化して、第4の暗号データを生成する第2のデバイス側暗号化手段と、
前記第1のデバイスにおいて、前記第1のデバイス側受信手段により受信した、前記第2のコマンドに応じて、前記第3の暗号データを、前記伝送路を介して前記ホストに送信する第1のデバイス側送信手段と、
前記第2のデバイスにおいて、前記第1のデバイスが送信する、前記第3の暗号データを受信する第2のデバイス側受信手段と、
前記第2のデバイスにおいて、前記第2のデバイス側受信手段で受信した、前記第3の暗号データを、前記第2の鍵データを用いて復号して第3の復号結果を得る第2のデバイス側復号化手段と、
前記第2のデバイスにおいて、前記第3の復号結果と、前記第2の演算結果との一致/不一致を判定して、前記第1のデバイスを認証する第2のデバイス側認証手段と、
前記第2のデバイスにおいて、前記第2のデバイス側認証手段による判定結果が一致の場合は、前記第1のデバイスが認証されたと判断して、前記第4の暗号データを前記伝送路を介して前記ホストに送信し、
不一致の場合は、前記第1のデバイスは認証されなかったと判断して、前記第2の演算結果とは異なる第3の乱数データを、前記第2のデバイス側乱数データ生成手段で生成し、前記第3の乱数データを、前記第2の鍵データを用いて、前記第2のデバイス側受信手段で受信した前記第2のコマンドに応じて、前記第2のデバイス側暗号化手段で暗号化して第5の暗号データを生成し、前記伝送路を介して前記ホストに送信する第2のデバイス側認証結果送信手段と、
前記第1のデバイスにおいて、前記第2のデバイスが送信する、前記第4の暗号データあるいは、前記第5の暗号データを受信する第1のデバイス側受信手段と、
前記第1のデバイスにおいて、前記第1のデバイス側受信手段で受信した、前記第4の暗号データあるいは、前記第5の暗号データを、前記第2の鍵データを用いて復号して第4の復号結果を得る第1のデバイス側復号化手段と、
前記第1のデバイスにおいて、前記第4の復号結果と、前記第1の演算結果との一致/不一致を判定する第1のデバイス側一致判定手段と、
前記ホストにおいて、前記コマンド生成手段により生成された、前記第3のコマンドを前記伝送路を介して前記第1のデバイスに送信するホスト側送信手段と、
前記第1のデバイスにおいて、前記ホストが送信する前記第3のコマンドを受信する第1のデバイス側受信手段と、
前記第1のデバイスにおいて、前記第1のデバイス側受信手段で受信した、前記第3のコマンドに応じて、前記第1のデバイス側一致判定段で判定した結果を、前記伝送路を介して前記ホストに送信する第1のデバイス側一致判定結果送信手段と、
前記ホストにおいて、前記第1のデバイスから送信された、前記第1のデバイス側一致判定手段での判定結果を受信するホスト側受信手段と、
第1のデバイスにおいて、前記第1のデバイス側一致判定手段で判定した結果により、前記第2のデバイスとの相互認証結果を判定する第1のデバイス側相互認証手段と、
前記ホストにおいて、前記ホスト側受信手段により受信された、前記第1のデバイス側一致判定手段での判定結果に基づいて、前記第1及び第2のデバイスの相互認証結果を判定する認証結果判定手段とを有することを特徴とする。
The mutual authentication system of the present invention is a mutual authentication system in which data is transmitted and received between a plurality of devices and a host connected via a transmission path, and the plurality of devices are sequentially authenticated by the host,
In the host, device determination means for determining a first device and a second device to be mutually authenticated among the plurality of devices connected via the transmission path;
In the host, first and second commands for instructing mutual authentication by designating the first and second devices determined by the device determination means, and mutual authentication from the first device Command generating means for generating a third command for instructing to read the result;
In the host, host side transmission means for transmitting the first command generated by the command generation means to the first and second devices via the transmission path;
In the first device, first device-side receiving means for receiving the first command transmitted by the host;
Second device-side receiving means for receiving the first command transmitted by the host in the second device;
First device-side random number data generating means for generating first random number data in the first device;
In the second device, second device-side random number data generating means for generating second random number data;
In the first device, the first and second devices commonly hold the first random number data in accordance with the first command received by the first device-side receiving means. First device side encryption means for generating first encrypted data by encrypting using one key data;
In the second device, in response to the first command received by the second device-side receiving means, the second random number data is converted into second encrypted data using the first key data. Second device side encryption means for generating
In the first device, first device-side transmission means for transmitting the first encrypted data to the host via the transmission path;
In the second device, second device side receiving means for receiving the first encrypted data transmitted by the first device;
In the second device, a second device-side decryption that obtains a first decryption result from the first encrypted data received by the second device-side receiving means using the first key data And
In the second device, a calculation is performed between the first decryption result obtained by the second device-side decryption means and the second random number data, and a second computation result is obtained. Device side computing means,
In the second device, second device-side transmission means for transmitting the second encrypted data generated by the second device-side encryption means to the host via the transmission path;
A first device-side receiving means for receiving the second encrypted data transmitted by the second device in the first device;
In the first device, the first device that decrypts the second encrypted data received by the first device-side receiving means using the first key data and obtains a second decryption result. Side decryption means;
In the first device, a calculation is performed between the second decoding result obtained by the first device-side decoding means and the first random number data, and a first calculation result is obtained. 1 device side computing means;
Host side transmission means for transmitting the second command generated by the command generation means in the host to the first and second devices via the transmission path;
First device-side receiving means for receiving the second command transmitted by the host in the first device;
Second device-side receiving means for receiving the second command transmitted by the host in the second device;
In the first device, the first and second devices commonly hold the first calculation result according to the second command received by the first device-side receiving unit. First device-side encryption means for generating third encrypted data by encrypting using the key data of
In the second device, in accordance with the second command received by the second device-side receiving means, the second calculation result is encrypted with the second key data, and the fourth device Second device side encryption means for generating encrypted data;
The first device transmits the third encrypted data to the host via the transmission path according to the second command received by the first device-side receiving unit. A device-side transmission means;
In the second device, second device-side receiving means for receiving the third encrypted data transmitted by the first device;
In the second device, a second device that obtains a third decryption result by decrypting the third encrypted data received by the second device-side receiving means using the second key data Side decryption means;
In the second device, a second device-side authentication unit that authenticates the first device by determining whether the third decryption result and the second calculation result match / mismatch,
In the second device, if the determination result by the second device-side authentication means is coincident, it is determined that the first device has been authenticated, and the fourth encrypted data is transmitted via the transmission path. To the host,
In the case of mismatch, it is determined that the first device has not been authenticated, and third random number data different from the second calculation result is generated by the second device-side random number data generation means, Using the second key data, the third random number data is encrypted by the second device side encryption unit according to the second command received by the second device side reception unit. Second device-side authentication result transmitting means for generating fifth encrypted data and transmitting the fifth encrypted data to the host via the transmission path;
In the first device, first device-side receiving means for receiving the fourth encrypted data or the fifth encrypted data transmitted by the second device;
In the first device, the fourth encrypted data or the fifth encrypted data received by the first device-side receiving means is decrypted by using the second key data to obtain a fourth First device side decoding means for obtaining a decoding result;
In the first device, first device side coincidence determining means for determining whether the fourth decoding result and the first calculation result match / do not match;
In the host, host-side transmission means for transmitting the third command generated by the command generation means to the first device via the transmission path;
In the first device, first device-side receiving means for receiving the third command transmitted by the host;
In the first device, the result determined in the first device-side coincidence determination stage in accordance with the third command received by the first device-side receiving means is transmitted via the transmission path. First device-side coincidence determination result transmission means for transmitting to the host;
In the host, host-side receiving means for receiving the determination result in the first device-side coincidence determining means transmitted from the first device;
A first device-side mutual authentication means for determining a mutual authentication result with the second device based on a result determined by the first device-side match determination means in the first device;
In the host, an authentication result determination unit that determines a mutual authentication result of the first and second devices based on a determination result of the first device side match determination unit received by the host side reception unit. It is characterized by having.
本発明の相互認証方法は、伝送路を介して接続された複数のデバイスとホストとの間でデータの送受信を行い、前記複数のデバイスを前記ホストが順次認証する相互認証方法であって、
前記伝送路を介して接続された前記複数のデバイスのうち、相互認証させる第1のデバイスと第2のデバイスとを、前記デバイス決定手段により決定するデバイス決定工程と、
前記ホストにおいて、前記デバイス決定工程で決定した、前記第1、第2のデバイスを指定して、相互認証を行うように命令する、前記第1、第2のコマンドと、前記第1のデバイスから相互認証結果を読み出すように命令する、前記第3のコマンドを、前記コマンド生成手段で生成するコマンド生成工程と、
前記ホストにおいて、前記コマンド生成工程で生成した、前記第1のコマンドを、前記ホスト側送信手段で、前記伝送路を介して前記第1、第2のデバイスとに送信するホスト側送信工程と、
前記第1のデバイスにおいて、前記ホスト側送信工程にて、前記ホストが送信する、前記第1のコマンドを、前記第1のデバイス側受信手段で受信する第1のデバイス側受信工程と、
前記第2のデバイスにおいて、前記ホスト側送信工程にて、前記ホストが送信する、前記第1のコマンドを、前記第2のデバイス側受信手段で受信する第2のデバイス側受信工程と、
前記第1のデバイスにおいて、前記第1の乱数データを、前記第1のデバイス側乱数データ生成手段で生成する第1のデバイス側乱数データ生成工程と、
前記第2のデバイスにおいて、前記第2の乱数データを、前記第2のデバイス側乱数データ生成手段で生成する第2のデバイス側乱数データ生成工程と、
前記第1のデバイスにおいて、前記第1のデバイス側受信工程にて受信した、前記第1のコマンドに応じて、前記第1の乱数データを、前記第1、第2のデバイスが共通に保持する、前記第1の鍵データを用いて、前記第1のデバイス側暗号化手段で、前記第1の暗号データを生成する第1のデバイス側暗号化工程と、
前記第2のデバイスにおいて、前記第2のデバイス側受信工程にて受信した、前記第1のコマンドに応じて、前記第2の乱数データを、前記第1の鍵データを用いて、前記第2のデバイス側暗号化手段で、前記第2の暗号データを生成する第2のデバイス側暗号化工程と、
前記第1のデバイスにおいて、前記第1の暗号データを、前記第1のデバイス側送信手段で、前記伝送路を介して前記ホストに送信する第1のデバイス側送信工程と、
前記第2のデバイスにおいて、前記第1のデバイス側送信工程にて前記第1のデバイスが送信する、前記第1の暗号データを、前記第2のデバイス側受信手段で受信する第2のデバイス側受信工程と、
前記第2のデバイスにおいて、前記第2のデバイス側受信工程にて受信した、前記第1の暗号データを、前記第1の鍵データを用いて、前記第2のデバイス側復号化手段で前記第1の復号結果を得る第2のデバイス側復号化工程と、
前記第2のデバイスにおいて、前記第2のデバイス側復号化工程で得た、前記第1の復号結果と、前記第2の乱数データとの間で、前記第2のデバイス側演算手段で演算を行い、前記第2の演算結果を得る第2のデバイス側演算工程と、
前記第2のデバイスにおいて、前記第2の暗号データを、前記第2のデバイス側送信手段で、前記伝送路を介して前記ホストに送信する第2のデバイス側送信工程と、
前記第1のデバイスにおいて、前記第2のデバイス側送信工程にて、前記第2のデバイスが送信する、前記第2の暗号データを、前記第1のデバイス側受信手段で受信する第1のデバイス側受信工程と、
前記第1のデバイスにおいて、前記第1のデバイス側受信工程にて受信した、前記第2の暗号データを、前記第1の鍵データを用いて、前記第1のデバイス側復号化手段で復号し、前記第2の復号結果を得る第1のデバイス側復号化工程と、
前記第1のデバイスにおいて、前記第1のデバイス側復号化工程にて得た、前記第2の復号結果と、前記第1の乱数データとの間で、前記第1のデバイス側演算手段で演算を行い、前記第1の演算結果を得る第1のデバイス側演算工程と、
ホストにおいて、前記コマンド生成工程で生成した、前記第2のコマンドを、前記ホスト側送信手段で、前記伝送路を介して前記第1、第2のデバイスに送信するホスト側送信工程と、
前記第1のデバイスにおいて、前記ホスト側送信工程にて、前記ホストが送信する、前記第2のコマンドを、前記第1のデバイス側受信手段で受信する第1のデバイス側受信工程と、
前記第2のデバイスにおいて、前記ホスト側送信工程にて、前記ホストが送信する、前記第2のコマンドを、前記第2のデバイス側受信手段で受信する第2のデバイス側受信工程と、
前記第1のデバイスにおいて、前記第1のデバイス側受信工程にて受信した、前記第2のコマンドに応じて、前記第1の演算結果を、前記第1、第2のデバイスが共通に保持する、前記第2の鍵データを用いて、前記第1のデバイス側暗号化手段にて、前記第3の暗号データを生成する第1のデバイス側暗号化工程と、
前記第2のデバイスにおいて、前記第2のデバイス側受信工程にて受信した、前記第2のコマンドに応じて、前記第2の演算結果を、前記第2の鍵データにより、前記第2のデバイス側暗号化手段で暗号化して、前記第4の暗号データを生成する第2のデバイス側暗号化工程と、
前記第1のデバイスにおいて、前記第1のデバイス側暗号化工程にて生成された、前記第3の暗号データを、前記第1のデバイス側送信手段で、前記伝送路を介して前記ホストに送信する第1のデバイス側送信工程と、
前記第2のデバイスにおいて、前記第1のデバイス側送信工程にて、前記第1のデバイスが送信する、前記第3の暗号データを、前記第2のデバイス側受信手段で受信する第2のデバイス側受信工程と、
前記第2のデバイスにおいて、前記第2のデバイス側受信工程にて受信した第3の暗号データを、前記第2の鍵データを用いて、前記第2のデバイス側復号化手段にて復号して前記第3の復号結果を得る第2のデバイス側復号化工程と、
前記第2のデバイスにおいて、前記第2のデバイス側復号化工程で得た、前記第3の復号結果と、前記第2の演算結果の一致/不一致を、前記第2のデバイス側認証手段で判定して、前記第1のデバイスを認証する第2のデバイス側認証工程と、
前記第2のデバイスにおいて、前記第2のデバイス側認証工程での、前記第2のデバイス側認証手段による判定結果が一致の場合は、前記第1のデバイスが認証されたと判断して、前記第4の暗号データを前記伝送路を介して前記ホストに送信し、
不一致の場合は、前記第1のデバイスは認証されなかったと判断して、前記第2の演算結果とは異なる前記第3の乱数データを、前記第2のデバイス側乱数データ生成手段で生成し、前記第3の乱数データを、前記第2の鍵データを用いて、前記第2のデバイス側受信工程にて受信した前記第2のコマンドに応じて、前記第2のデバイス側暗号化手段で、前記第5の暗号データを生成して、前記第2のデバイス側認証結果送信手段により、前記伝送路を介して前記ホストに送信する第2のデバイス側認証結果送信工程と、
前記第1のデバイスにおいて、前記第2のデバイス側認証結果送信工程にて、前記第2のデバイスが生成して、前記伝送路を介して前記ホストに送信する、前記第4の暗号データあるいは、前記第5の暗号データを、前記第1のデバイス側受信手段で受信する第1のデバイス側受信工程と、
前記第1のデバイスにおいて、前記第1のデバイス側受信工程で受信した、前記第4の暗号データあるいは前記第5の暗号データを、前記第2の鍵データを用いて、前記第1のデバイス側復号化手段で復号して、前記第4の復号結果を得る第1のデバイス側復号化工程と、
前記第1のデバイスにおいて、前記第1のデバイス側復号化工程にて得た、前記第4の復号結果と、前記第1の演算結果との一致/不一致を、前記第1のデバイス側一致判定手段で判定する第1のデバイス側一致判定工程と、
前記ホストにおいて、前記コマンド生成工程で生成した、前記第3のコマンドを、前記ホスト側送信手段で、前記伝送路を介して前記第1のデバイスに送信するホスト側送信工程と、
前記第1のデバイスにおいて、前記ホスト側送信工程にて前記ホストが送信する、前記第3のコマンドを、前記第1のデバイス側受信手段で受信する第1のデバイス側受信工程と、
前記第1のデバイスにおいて、前記第1のデバイス側受信工程にて受信した、前記第3のコマンドに応じて、前記第1のデバイス側一致判定手段での判定結果を、前記第1のデバイス側一致結果送信手段で、前記伝送路を介して前記ホストに送信する第1のデバイス側一致判定結果送信工程と、
前記ホストにおいて、前記第1のデバイス側一致判定結果送信工程にて、前記第1のデバイスから送信される、前記第1のデバイス側一致判定手段での判定結果を、前記ホスト側受信手段で受信するホスト側受信工程と、
前記第1のデバイスにおいて、前記第1のデバイス側一致判定手段での判定結果により、前記第2のデバイスとの相互認証結果を判定する第1のデバイス側相互認証結果工程と、
前記ホストにおいて、前記ホスト側受信工程にて受信された前記第1のデバイス側一致判定手段での判定結果に基づいて、前記第1、第2のデバイスの相互認証結果を前記認証結果判定手段で判定する認証結果判定工程とを有し、
前記ホストから送信された第1、第2のコマンドにより第1、第2のデバイスに指定されなかったデバイスは、相互認証動作に参加せず待機していることを特徴とする。
The mutual authentication method of the present invention is a mutual authentication method in which data is transmitted / received between a plurality of devices and a host connected via a transmission path, and the plurality of devices are sequentially authenticated by the host,
A device determining step of determining, by the device determining means, a first device and a second device to be mutually authenticated among the plurality of devices connected via the transmission path;
The host designates the first and second devices determined in the device determination step, and instructs to perform mutual authentication. From the first and second commands and the first device A command generation step of generating the third command by the command generation means, instructing to read a mutual authentication result;
In the host, the host-side transmission step of transmitting the first command generated in the command generation step to the first and second devices via the transmission path by the host-side transmission unit;
In the first device, in the host side transmission step, the first device side reception step of receiving the first command transmitted by the host by the first device side reception unit;
In the second device, in the host-side transmission step, the second device-side reception step of receiving the first command transmitted by the host by the second device-side reception unit;
In the first device, a first device-side random number data generation step of generating the first random number data by the first device-side random number data generation unit;
In the second device, a second device-side random number data generating step of generating the second random number data by the second device-side random number data generating means;
In the first device, the first and second devices commonly hold the first random number data according to the first command received in the first device-side receiving step. A first device-side encryption step of generating the first encrypted data by the first device-side encryption means using the first key data;
In the second device, in response to the first command received in the second device-side receiving step, the second random number data is converted into the second key data using the first key data. A second device side encryption step of generating the second encrypted data by the device side encryption means of
In the first device, a first device-side transmission step of transmitting the first encrypted data to the host via the transmission path by the first device-side transmission unit;
In the second device, the second device side that receives the first encrypted data transmitted by the first device in the first device-side transmission step by the second device-side receiving unit. Receiving process;
In the second device, the first encrypted data received in the second device-side receiving step is processed by the second device-side decrypting means using the first key data. A second device side decoding step of obtaining a decoding result of 1;
In the second device, calculation is performed by the second device side calculation means between the first decoding result obtained in the second device side decoding step and the second random number data. Performing a second device-side calculation step to obtain the second calculation result;
In the second device, a second device-side transmission step of transmitting the second encrypted data to the host via the transmission path by the second device-side transmission unit;
In the first device, in the second device-side transmission step, the first device receives the second encrypted data transmitted by the second device by the first device-side receiving unit. Side reception process;
In the first device, the second encrypted data received in the first device-side receiving step is decrypted by the first device-side decryption means using the first key data. A first device side decoding step for obtaining the second decoding result;
In the first device, calculation is performed by the first device-side calculation means between the second decoding result obtained in the first device-side decoding step and the first random number data. Performing a first device side calculation step for obtaining the first calculation result;
In the host, the host side transmission step of transmitting the second command generated in the command generation step to the first and second devices via the transmission path by the host side transmission means;
In the first device, in the host-side transmission step, the first device-side reception step of receiving the second command transmitted by the host by the first device-side reception unit;
In the second device, in the host-side transmission step, the second device-side reception step of receiving the second command transmitted by the host by the second device-side reception unit;
In the first device, the first and second devices commonly hold the first calculation result according to the second command received in the first device-side receiving step. A first device-side encryption step of generating the third encrypted data by the first device-side encryption means using the second key data;
In the second device, in accordance with the second command received in the second device side receiving step, the second operation result is converted into the second device by the second key data. A second device-side encryption step of generating the fourth encrypted data by encrypting with the side encryption means;
In the first device, the third encrypted data generated in the first device side encryption step is transmitted to the host via the transmission path by the first device side transmission means. A first device side transmission step to perform,
In the second device, the second device that receives the third encrypted data transmitted by the first device in the first device-side transmission step by the second device-side receiving unit. Side reception process;
In the second device, the second device-side decrypting means decrypts the third encrypted data received in the second device-side receiving step by using the second key data. A second device side decoding step for obtaining the third decoding result;
In the second device, the second device-side authentication means determines whether the third decryption result obtained in the second device-side decryption step matches or does not match the second calculation result. A second device-side authentication step for authenticating the first device;
In the second device, if the determination result by the second device-side authentication means in the second device-side authentication step is the same, it is determined that the first device has been authenticated, 4 encrypted data is transmitted to the host via the transmission path,
In the case of mismatch, it is determined that the first device has not been authenticated, and the third random number data different from the second calculation result is generated by the second device-side random number data generation means, In response to the second command received in the second device-side receiving step using the second key data, the third random number data is received by the second device-side encryption means, A second device-side authentication result transmitting step of generating the fifth encrypted data and transmitting the fifth encrypted data to the host via the transmission path by the second device-side authentication result transmitting means;
In the first device, in the second device-side authentication result transmission step, the second device generates and transmits the fourth encrypted data to the host via the transmission path, or A first device-side receiving step of receiving the fifth encrypted data by the first device-side receiving means;
In the first device, the fourth encrypted data or the fifth encrypted data received in the first device side receiving step is converted into the first device side by using the second key data. A first device side decoding step of decoding by a decoding means to obtain the fourth decoding result;
In the first device, whether or not the fourth decoding result obtained in the first device-side decoding step matches the first operation result is determined as the first device-side matching determination. A first device side coincidence determining step determined by means;
In the host, a host-side transmission step of transmitting the third command generated in the command generation step to the first device via the transmission path by the host-side transmission unit;
In the first device, a first device-side receiving step of receiving the third command transmitted by the host in the host-side transmitting step by the first device-side receiving unit;
In the first device, in accordance with the third command received in the first device-side receiving step, the determination result in the first device-side coincidence determining means is displayed on the first device side. A first device-side coincidence determination result transmission step of transmitting to the host via the transmission path by a coincidence result transmission unit;
In the host, in the first device side coincidence determination result transmission step, the determination result in the first device side coincidence determination unit that is transmitted from the first device is received by the host side reception unit. A host-side receiving process,
In the first device, a first device-side mutual authentication result step of determining a mutual authentication result with the second device based on a determination result in the first device-side coincidence determining unit;
In the host, based on the determination result in the first device-side coincidence determining unit received in the host-side receiving step, the mutual authentication result of the first and second devices is determined by the authentication result determining unit. An authentication result determination step for determining,
Devices that are not designated as the first and second devices by the first and second commands transmitted from the host do not participate in the mutual authentication operation and are on standby.
本発明によれば、親機が認証エンジンを具備することなく、伝送路に接続されたデバイスの真偽を確認することが可能となる。 According to the present invention, it is possible to confirm the authenticity of a device connected to a transmission path without the master unit having an authentication engine.
次に、図面を参照しながら本発明の実施形態を説明する。
(第1の実施形態)
図1は、本発明の実施形態を示し、相互認証システムの概略構成を示す図である。
図1に示したように、本実施形態の相互認証システムにおいては、ホスト(親機)10に対して複数のデバイスA11、デバイスB12、デバイスC13・・・がI2C(Inter-Integrated Circuit)伝送路14を介して接続されている。
Next, embodiments of the present invention will be described with reference to the drawings.
(First embodiment)
FIG. 1 is a diagram showing a schematic configuration of a mutual authentication system according to an embodiment of the present invention.
As shown in FIG. 1, in the mutual authentication system of the present embodiment, a plurality of devices A11, B12, C13... Are connected to a host (master unit) 10 through an I2C (Inter-Integrated Circuit) transmission path. 14 is connected.
ホスト10は、伝送路14に接続されたデバイス11〜13の真偽を判断し、真のデバイスに対してのみアクセス制限を開放する。伝送路14に接続されたデバイスが真のデバイスであるか否かを判断するためには、一般には、ホスト10が認証用の専用認証エンジンを備え、ホスト10と認証対象のデバイスとの間で相互認証アルゴリズムを実行する必要がある。本実施形態においては、ホスト10に認証用の専用認証エンジンを具備することなく、伝送路14に接続されたデバイスの真偽を判断できるようにしている。
The
図1に示したように、本実施形態の第1のデバイスA11にはメモリ11aが配設されており、メモリ11aに「第1、第2の鍵データKA、KB」が記憶されている。また、第2のデバイスB12にはメモリ12aが配設されており、メモリ12aに「第1、第2の鍵データKA、KB」が記憶されている。また、第3のデバイスC13にはメモリ13aが配設されており、メモリ13aに「第1、第2の鍵データKA、KB」が記憶されている。
As shown in FIG. 1, a
しかしながら、本実施形態のホスト10は伝送路14に接続されたデバイスとの間で相互認証を行わないので、メモリ10aには「第1、第2の鍵データKA、KB」が記憶されていない。図2にホスト10の概略構成例を示す。
However, since the
図2に示すように、ホスト10において、制御部21は、内蔵するプログラムに応じて、各種処理を行う。例えば、制御部21は、相互認証を行うデバイスに送信するコマンドを、コマンド生成部23にて生成するように制御し、生成したコマンドを送信部24に出力するよう制御する。
As shown in FIG. 2, in the
メモリ22は、制御部21における処理に使用されるデータなどを記憶している。送信部24は、コマンド生成部23より供給されたコマンドを、I/F部25と伝送路14を介して相互認証を行うデバイスに送信する。
The
受信部26は、I/F部25を介して、相互認証を行うデバイスにより送信されたデータを認証結果判定部27に出力する。
The
制御部21からの制御により、認証結果判定部27は、受信部26より供給されたデータに基づいて、伝送路14に接続されたデバイスから送信された認証結果の真偽を判定し、判定結果を制御部21に出力するか、あるいは、受信部26より供給されたデータをそのまま制御部21に出力する。
Under the control of the
図3は、本発明の実施形態である第1のデバイスの構成例を示すブロック図である。
第1のデバイスにおいて、制御部31は、ホスト10より供給されるコマンドに応じて、各種処理を行う。具体的には、ホスト10からのコマンドを受信部36から受け取り、そのコマンドに対応した処理を行い、その処理の結果に対応して生成した乱数データや演算結果や応答データやメモリ32からの読み出しデータ等を暗号部33に出力する。
FIG. 3 is a block diagram illustrating a configuration example of the first device according to the embodiment of the present invention.
In the first device, the
メモリ32は、RAM(Random Access Memory)部(とROM(Read Only Memory)部を有している。そのうちのRAM部は、制御部31における処理に使用されるデータなどを一時的に記憶する。一方、ROM部には、デバイス固有のデバイスアドレスと暗号化または復号化において利用される「第1、第2の鍵データKA、KB」等が予め記憶されている。
The
暗号部33は、制御部31より供給された暗号化するべきデータを、所定の鍵で暗号化し、暗号化したデータを送信部34に出力し、制御部31より供給されたデータを暗号化しない場合はそのまま送信部34に出力する。
送信部34は、暗号部33より供給されたデータを、I/F部35を介して伝送路14に出力し、ホスト10に送信する。
The
The
受信部36は、伝送路14を介して送られてきたデータをI/F部35を介して、受信し、復号部37に出力する。
復号部37は、受信部36より供給されたデータを、制御部21の制御に応じて所定の鍵で復号化し、復号化したデータを制御部31に出力するか、そのまま制御部31に出力する。
The receiving
The
図4は、本発明の実施形態である第2のデバイスの構成例を示すブロック図である。第2のデバイスの構成は、図3に示した第1のデバイスの構成と全く同一であるが、動作説明を判り易くするため図3、4に分けて説明する。 FIG. 4 is a block diagram showing a configuration example of the second device according to the embodiment of the present invention. The configuration of the second device is exactly the same as the configuration of the first device shown in FIG. 3, but will be described separately in FIGS. 3 and 4 for easy understanding of the operation.
次に、図1を参照しながら本実施形態の相互認証システムの処理の概略を説明する。なお、図5に処理ステップを示す、各ステップで行われるデータ伝送は伝送路14を介して行われる。
Next, the outline of the process of the mutual authentication system of this embodiment will be described with reference to FIG. Note that data transmission performed in each step, which shows processing steps in FIG. 5, is performed via the
(ステップS1)
ホスト10が、相互認証させる第1、第2のデバイスアドレスを指定し、さらに乱数データとして生成した第1のスクランブルデータX、を附加して、第1の相互認証コマンド1を送信部24からI/F部25を介して伝送路14に送信する。例えば、第1のデバイスA11と第2のデバイスB12とを指定して第1の相互認証コマンド1の送信を行う。
(Step S1)
The
本実施形態においては、第1のデバイスA11が真のデバイスであることが予め確認されている。したがって、第1〜第3の相互認証コマンド1〜3に従って第1のデバイスA11と第2のデバイスB12との間で相互認証を行い、第1のデバイスA11のメモリ11aに記憶されている「第1、第2の鍵データKA、KB」と、第2のデバイスB12のメモリ12aに記憶されている「第1、第2の鍵データKA、KB」とが一致し、相互認証アルゴリズム計算が同じで、動作制御に正しく応答した場合には、第2のデバイスB12は真のデバイスであるとホスト10により認証される。デバイスアドレスを指定されなかったデバイスは相互認証動作に参加せず待機する。
In the present embodiment, it is confirmed in advance that the first device A11 is a true device. Therefore, mutual authentication is performed between the first device A11 and the second device B12 in accordance with the first to third mutual authentication commands 1 to 3, and the “first” stored in the
第1のデバイスA11は、ホスト10が伝送路14に送信する第1の相互認証コマンド1をI/F部35を介して受信部36により受信する。
第2のデバイスB12は、ホスト10が伝送路14に送信する第1の相互認証コマンド1をI/F部45を介して受信部46により受信する。
The first device A <b> 11 receives the first
The
ホスト10から送信された第1の相互認証コマンド1で第1のデバイスとしてデバイスアドレスを指定された第1のデバイスA11は、制御部31が第1の乱数Raを生成する。
ホスト10から送信された第1の相互認証コマンド1で第2のデバイスとしてデバイスアドレスを指定された第2のデバイスB12は、制御部41が第2の乱数Rbを生成する。
第1のデバイスA11は、メモリ11aに記憶している「第1の鍵データKA」とホスト10から送られてきた第1の相互認証コマンド1に附加されて来た第1のスクランブルデータX用いて、第1の乱数Raを暗号部33により暗号化して第1の暗号データを得る。
第2のデバイスB12は、メモリ12aに記憶している「第1の鍵データKA」とホスト10から送られてきた第1の相互認証コマンド1に附加されて来た第1のスクランブルデータXを用いて、第2の乱数Rbを暗号部43により暗号化して第2の暗号データを得る。
In the first device A11 whose device address is designated as the first device by the first
In the second device B12 whose device address is designated as the second device by the first
The first device A11 uses the “first key data KA” stored in the
The
(ステップ2)
第1のデバイスA11は、第1の暗号データを送信部34、I/F部35、伝送路14を介してホスト10に送信する。
第2のデバイスB12は、第1のデバイスA11が伝送路14を介してホスト10に送信している第1の暗号データをI/F部45を介して受信部46により受信する。
第2のデバイスB12は、受信した第1の暗号データを自身のメモリ12aに記憶している「第1の鍵データKA」と第1のスクランブルデータXを用いて複号部47で逆演算を行って復号して第1の復号データRa'を得る。
第2のデバイスB12は、制御部41で、第2の乱数Rbと、複号部47で逆演算を行って復号した第1の復号データRa'との間で所定の論理演算を行って第2の演算結果[Rb◆Ra']を得る。
さらに、説明を補足すると論理演算であるので交換の法則が成り立つので、[Rb◆Ra']=[Ra'◆Rb]の関係がある。
論理演算は、排他的OR演算、ビットシフト、ビット順の並び変え、特定ビットのデータ反転等を組み合わせて行うのが望ましい。
(Step 2)
The first device A11 transmits the first encrypted data to the
The
The second device B12 performs a reverse operation in the
In the second device B12, the
Furthermore, since the explanation is supplemented by a logical operation, an exchange law is established, and therefore there is a relation of [Rb ◆ Ra ′] = [Ra ′ ◆ Rb].
The logical operation is preferably performed by combining exclusive OR operation, bit shift, bit order rearrangement, data inversion of specific bits, and the like.
(ステップS3)
第2のデバイスB12は、第2の暗号データを送信部44、I/F部45、伝送路14を介してホスト10に送信する。
第2のデバイスB12から伝送路14を介してホスト10に送信する第2の暗号データを第1のデバイスA11がI/F部35を介して受信部36により受信する。
(Step S3)
The
The first device A11 receives the second encrypted data transmitted from the second device B12 to the
第1のデバイスA11は、受信した第2の暗号データをメモリ11aに記憶している「第1の鍵データKA」と第1のスクランブルデータXを用いて復号部37により逆演算を行って復号した第2の復号データRb'を得る。
第1のデバイスA11は、制御部31が、第1の乱数Raと、複号部37で逆演算を行って復号した第2の復号データRb'との間で所定の論理演算を行って第1の演算結果[Ra◆Rb']を得る。
The first device A11 decrypts the received second encrypted data using the “first key data KA” stored in the
In the first device A11, the
(ステップS4)
ホスト10が、相互認証させる第1、第2のデバイスアドレスを再度指定し、さらに、乱数データとして生成した第2のスクランブルデータYを附加して、第2の相互認証コマンド2をI/F部25を介して伝送路14に送信する。アドレスを指定されなかったデバイスは相互認証動作に参加せず待機する。
(Step S4)
The
第1のデバイスA11はホスト10が伝送路14に送信する第2の相互認証コマンド2をI/F部35を介して受信部36により受信する。
第2のデバイスB12はホスト10が伝送路14に送信する第2の相互認証コマンド2をI/F部45を介して受信部46により受信する。
第1のデバイスA11は、論理演算を行って得た第1の演算結果[Ra◆Rb']を、メモリ11aに記憶している「第2の鍵データKB」とホスト10から送られてきた第1、第2の相互認証コマンド1、2に附加されて来た第1、第2のスクランブルデータX、Yを用いて、暗号部33により暗号化して第3の暗号データを得る。
第2のデバイスB12は、論理演算を行って得た第2の演算結果[Rb◆Ra']を、メモリ12aに記憶している「第2の鍵データKB」とホスト10から送られてきた第1、第2の相互認証コマンド1、2に附加されて来た第1、第2のスクランブルデータX、Yを用いて、暗号部43により暗号化して第4の暗号データを得る。
The first device A11 receives the second mutual authentication command 2 transmitted from the
The
The first device A11 has sent the first operation result [Ra ◆ Rb ′] obtained by performing the logical operation from the
The second device B12 has received the second operation result [Rb ◆ Ra ′] obtained by performing the logical operation from the
(ステップS5)
第1のデバイスA11は、第3の暗号データを送信部34、I/F部35、伝送路14を介してホスト10に送信する。
第2のデバイスB12は、第1のデバイスA11が伝送路14を介してホスト10に送信する第3の暗号データをI/F部45を介して受信部46により受信する。
第2のデバイスB12は、受信した第3の暗号データを自身のメモリ12aに記憶している「第2の鍵データKB」と第1、第2のスクランブルデータX、Yを用いて復号部37で逆演算を行って復号して第3の復号データ[Ra◆Rb']'を得る。
第2のデバイスB12は、第2の演算結果[Rb◆Ra']と第3の復号データ [Ra◆Rb']'との一致/不一致を検出する。
(Step S5)
The first device A11 transmits the third encrypted data to the
The
The second device B12 uses the “second key data KB” stored in its
The second device B12 detects a match / mismatch between the second calculation result [Rb ◆ Ra ′] and the third decoded data [Ra ◆ Rb ′] ′.
(ステップS6)
第2のデバイスB12は、第2の演算結果[Rb◆Ra']と第3の復号データ [Ra◆Rb']'が一致している場合は、第4の暗号データを送信部34、I/F部35、伝送路14を介してホスト10に送信する。
さらに第2のデバイスB12は相互認証が成立したと判断し、第2のデバイスB12に対するアクセスに対する所定のアクセス制限を開放する。
第2のデバイスB12は、第2の演算結果[Rb◆Ra']と第3の復号データ [Ra◆Rb']'が一致していない場合は第3の乱数Rcを生成する。
また、第3の乱数Rc=第2の演算結果[Rb◆Ra']になった場合、あるいは、第3の乱数Rc=第3の復号データ[Ra◆Rb']'になった場合は、第3の乱数Rcを再度生成する。
第2のデバイスB12は、メモリ12aに記憶している「第2の鍵データKB」とホスト10から送られてきた第1、第2の相互認証コマンド1、2に附加されて送られて来た第1、第2のスクランブルデータX、Y用いて、第3の乱数Rcを暗号部43により暗号化して第5の暗号データを得る、そして、第5の暗号データを送信部44、I/F部45、伝送路14を介してホスト10に送信する。
この場合は、第2のデバイスB12は相互認証が成立しなかったと判断し、第2のデバイスB12に対するアクセスに対する所定のアクセス制限を開放しない。
(Step S6)
When the second operation result [Rb ◆ Ra ′] and the third decrypted data [Ra ◆ Rb ′] ′ match, the second device B12 sends the fourth encrypted data to the
Further, the second device B12 determines that mutual authentication has been established, and releases a predetermined access restriction for access to the second device B12.
The second device B12 generates a third random number Rc when the second calculation result [Rb ◆ Ra ′] and the third decrypted data [Ra ◆ Rb ′] ′ do not match.
Further, when the third random number Rc = second calculation result [Rb ◆ Ra ′] or when the third random number Rc = third decrypted data [Ra ◆ Rb ′] ′, The third random number Rc is generated again.
The second device B12 is sent in addition to the “second key data KB” stored in the
In this case, the second device B12 determines that mutual authentication has not been established, and does not release a predetermined access restriction for access to the second device B12.
第1のデバイスA11は、第2のデバイスB12から送信部44、I/F部45伝送路14を介してホスト10に送信する、第4の暗号データ、あるいは第5の暗号データを、I/F部35を介して受信部36により受信している。
第1のデバイスA11は、受信した第4の暗号データ、あるいは第5の暗号データをメモリ11aに記憶している「第2の鍵データKB」と第1、第2のスクランブルデータX、Yを用いて復号部37で逆演算して復号して第4の復号データ [Rb◆Ra']'、あるいは、Rc'を得る。
第1のデバイスA11は、第4の復号データ[Rb'◆Ra]'、あるいはRc'と第1の演算結果[Ra◆Rb']との一致/不一致を判定し第1のデバイス側一致判定データTを得る。
The first device A11 transmits the fourth encrypted data or the fifth encrypted data to be transmitted from the second device B12 to the
The first device A11 uses the received second encrypted data or fifth encrypted data in the
The first device A11 determines whether or not the fourth decoded data [Rb ′ ◆ Ra] ′ or Rc ′ and the first calculation result [Ra ◆ Rb ′] match or do not match to determine whether the first device matches. Data T is obtained.
(ステップS7)
ホスト10が、第1のデバイスアドレスを指定しさらに、乱数データとして生成した第3のスクランブルデータZを附加して、相互認証の結果を問い合わせる第3の相互認証コマンド3をI/F部25を介して伝送路14に送信する。デバイスアドレスを指定されなかったデバイスは相互認証動作に参加せず待機する。
第1のデバイスA11は、ホスト10が伝送路14に送信する第3の相互認証コマンド3をI/F部35を介して受信部36により受信する。
(Step S7)
The
The first device A11 receives the third
(ステップS8)
第1のデバイスA11は、ホスト10から送られてきた第1、第2、第3相互認証コマンド1,2,3に附加されて来た第1〜第3のスクランブルデータX、Y、Zを用いて第1のデバイス側一致判定データTをスクランブルして送信部34、I/F部35、伝送路14を介してホスト10に送信する。
ホスト10は、第1のデバイスA11がスクランブルして送信する第1のデバイス側一致判定データTを、I/F部25、受信部26を介して受信する。
(Step S8)
The first device A11 receives the first to third scrambled data X, Y, and Z added to the first, second, and third mutual authentication commands 1, 2, and 3 sent from the
The
第1のデバイスA11は、第1のデバイス側一致判定データTが一致を示している場合は、相互認証が成立したと判断し、第1のデバイスA11へのアクセスに対し所定のアクセス制限を開放する。
また、第1のデバイスA11は、第1のデバイス側一致判定データTが一致を示していない場合は相互認証が成立しなかったと判断し、第1のデバイスA11へのアクセスに対する所定のアクセス制限を開放しない。
If the first device-side match determination data T indicates a match, the first device A11 determines that mutual authentication has been established, and releases a predetermined access restriction for access to the first device A11. To do.
Further, the first device A11 determines that mutual authentication has not been established when the first device-side match determination data T does not indicate a match, and restricts the predetermined access restriction for access to the first device A11. Do not open.
ホスト10は、受信部26で受信したスクランブルされた第1のデバイス側一致判定データTを、認証結果判定部27に送る。
ホスト10は、認証結果判定部27でホスト10が送った第1〜第3スクランブルデータX、Y、Zを用いて第1のデバイス側一致判定データTを検出して制御部27に送る。この判定結果に応じて、第のデバイスA11と第2のデバイスB12の相互認証結果を判定し、ホスト10が第1のデバイスA11及び第2のデバイスB12の制限されたエリアにアクセスすることが可能になったか不可のままかを判断する。
The
The
前述のようにして、第1のデバイスA11と第2のデバイスB12との間で相互認証することにより、ホスト10が第2のデバイスB12の真偽を認証するための演算処理を行うことなく、第2のデバイスB12が真のデバイスであることを確実に判定することができる。
As described above, by performing mutual authentication between the first device A11 and the second device B12, the
これにより、専用認証エンジンを具備する場合と比較してホスト10の開発コストの負担を軽減することができる。また、ホスト10の制御用CPUは既に開発済とか、過去の資産を引き継いでホスト10を使いたいユーザーの要求に応えることができる。さらに、ホスト10が「鍵データ」を持たないので、セキュリティ上の管理の煩わしさを不要にできる。さらに、第1のデバイスA11をバージョンアップすれば、ホスト10の制御CPUには負担をかけることなく、新しいセキュリティシステムに更新することができる等、種々の利点が得られる。
Thereby, the burden of the development cost of the
10 ホスト
10a メモリ
11 第1のデバイスA
11a メモリ
12 第2のデバイスB
12a メモリ
13 第3のデバイスC
13aメモリ
14 伝送路
21 ホスト側の制御部
22 ホスト側のメモリ
23 ホスト側のコマンド生成部
24 ホスト側の送信部
25 ホスト側のI/F部
26 ホスト側の受信部
27 ホスト側の認証結果判定部
31,41 デバイス側の制御部
32、42 デバイス側のメモリ
33、43 デバイス側の暗号部
34、44 デバイス側の送信部
35、45 デバイス側のI/F部
36、46 デバイス側の受信部
37、47 デバイス側の復号部
S1〜S8 処理手順
10
Claims (4)
前記ホストにおいて、前記伝送路を介して接続された前記複数のデバイスのうち、相互認証させる第1のデバイスと第2のデバイスとを決定するデバイス決定手段と、
前記ホストにおいて、前記デバイス決定手段により決定された、第1及び第2のデバイスを指定して、相互認証を行うように命令する第1、第2のコマンドと、前記第1のデバイスから相互認証結果を読み出すように命令する第3のコマンドを生成するコマンド生成手段と、
前記ホストにおいて、前記コマンド生成手段により生成された、前記第1のコマンドを前記伝送路を介して前記第1、第2のデバイスに送信するホスト側送信手段と、
前記第1のデバイスにおいて、前記ホストが送信する、前記第1のコマンドを受信する第1のデバイス側受信手段と、
前記第2のデバイスにおいて、前記ホストが送信する、前記第1のコマンドを受信する第2のデバイス側受信手段と
前記第1のデバイスにおいて、第1の乱数データを生成する第1のデバイス側乱数データ生成手段と、
前記第2のデバイスにおいて、第2の乱数データを生成する第2のデバイス側乱数データ生成手段と、
前記第1のデバイスにおいて、前記第1のデバイス側受信手段により受信された前記第1のコマンドに応じて、前記第1の乱数データを、前記第1、第2のデバイスが共通に保持する第1の鍵データを用いて暗号化して、第1の暗号データを生成する第1のデバイス側暗号化手段と、
前記第2のデバイスにおいて、前記第2のデバイス側受信手段により受信された前記第1のコマンドに応じて、前記第2の乱数データを、前記第1の鍵データを用いて第2の暗号データを生成する第2のデバイス側暗号化手段と、
前記第1のデバイスにおいて、前記第1の暗号データを、前記伝送路を介して前記ホストに送信する第1のデバイス側送信手段と、
前記第2のデバイスにおいて、前記第1のデバイスが送信する、前記第1の暗号データを受信する第2のデバイス側受信手段と、
前記第2のデバイスにおいて、前記第2のデバイス側受信手段により受信した、前記第1の暗号データを、前記第1の鍵データを用いて、第1の復号結果を得る第2のデバイス側復号化手段と、
前記第2のデバイスにおいて、前記第2のデバイス側復号化手段により得た前記第1の復号結果と、前記第2の乱数データとの間で演算を行い、第2の演算結果を得る第2のデバイス側演算手段と、
前記第2のデバイスにおいて、前記第2のデバイス側暗号化手段により生成された、前記第2の暗号データを、前記伝送路を介して前記ホストに送信する第2のデバイス側送信手段と、
前記第1のデバイスにおいて、前記第2のデバイスが送信する、前記第2の暗号データを受信する第1のデバイス側受信手段と、
前記第1のデバイスにおいて、前記第1のデバイス側受信手段により受信した、前記第2の暗号データを、前記第1の鍵データを用いて復号し、第2の復号結果を得る第1のデバイス側復号化手段と、
前記第1のデバイスにおいて、前記第1のデバイス側復号化手段により得た、前記第2の復号結果と、前記第1の乱数データとの間で演算を行い、第1の演算結果を得る第1のデバイス側演算手段と、
前記ホストにおいて、前記コマンド生成手段により生成された、前記第2のコマンドを、前記伝送路を介して前記第1、第2のデバイスに送信するホスト側送信手段と、
前記第1のデバイスにおいて、前記ホストが送信する、前記第2のコマンドを受信する第1のデバイス側受信手段と、
前記第2のデバイスにおいて、前記ホストが送信する、前記第2のコマンドを受信する第2のデバイス側受信手段と、
前記第1のデバイスにおいて、前記第1のデバイス側受信手段により受信した、前記第2のコマンドに応じて前記第1の演算結果を、前記第1、第2のデバイスが共通に保持する第2の鍵データを用いて暗号化して、第3の暗号データを生成する第1のデバイス側暗号化手段と、
前記第2のデバイスにおいて、前記第2のデバイス側受信手段により受信した、前記第2のコマンドに応じて、前記第2の演算結果を、前記第2の鍵データにより暗号化して、第4の暗号データを生成する第2のデバイス側暗号化手段と、
前記第1のデバイスにおいて、前記第1のデバイス側受信手段により受信した、前記第2のコマンドに応じて、前記第3の暗号データを、前記伝送路を介して前記ホストに送信する第1のデバイス側送信手段と、
前記第2のデバイスにおいて、前記第1のデバイスが送信する、前記第3の暗号データを受信する第2のデバイス側受信手段と、
前記第2のデバイスにおいて、前記第2のデバイス側受信手段で受信した、前記第3の暗号データを、前記第2の鍵データを用いて復号して第3の復号結果を得る第2のデバイス側復号化手段と、
前記第2のデバイスにおいて、前記第3の復号結果と、前記第2の演算結果との一致/不一致を判定して、前記第1のデバイスを認証する第2のデバイス側認証手段と、
前記第2のデバイスにおいて、前記第2のデバイス側認証手段による判定結果が一致の場合は、前記第1のデバイスが認証されたと判断して、前記第4の暗号データを前記伝送路を介して前記ホストに送信し、
不一致の場合は、前記第1のデバイスは認証されなかったと判断して、前記第2の演算結果とは異なる第3の乱数データを、前記第2のデバイス側乱数データ生成手段で生成し、前記第3の乱数データを、前記第2の鍵データを用いて、前記第2のデバイス側受信手段で受信した前記第2のコマンドに応じて、前記第2のデバイス側暗号化手段で暗号化して第5の暗号データを生成し、前記伝送路を介して前記ホストに送信する第2のデバイス側認証結果送信手段と、
前記第1のデバイスにおいて、前記第2のデバイスが送信する、前記第4の暗号データあるいは、前記第5の暗号データを受信する第1のデバイス側受信手段と、
前記第1のデバイスにおいて、前記第1のデバイス側受信手段で受信した、前記第4の暗号データあるいは、前記第5の暗号データを、前記第2の鍵データを用いて復号して第4の復号結果を得る第1のデバイス側復号化手段と、
前記第1のデバイスにおいて、前記第4の復号結果と、前記第1の演算結果との一致/不一致を判定する第1のデバイス側一致判定手段と、
前記ホストにおいて、前記コマンド生成手段により生成された、前記第3のコマンドを前記伝送路を介して前記第1のデバイスに送信するホスト側送信手段と、
前記第1のデバイスにおいて、前記ホストが送信する前記第3のコマンドを受信する第1のデバイス側受信手段と、
前記第1のデバイスにおいて、前記第1のデバイス側受信手段で受信した、前記第3のコマンドに応じて、前記第1のデバイス側一致判定段で判定した結果を、前記伝送路を介して前記ホストに送信する第1のデバイス側一致判定結果送信手段と、
前記ホストにおいて、前記第1のデバイスから送信された、前記第1のデバイス側一致判定手段での判定結果を受信するホスト側受信手段と、
第1のデバイスにおいて、前記第1のデバイス側一致判定手段で判定した結果により、前記第2のデバイスとの相互認証結果を判定する第1のデバイス側相互認証手段と、
前記ホストにおいて、前記ホスト側受信手段により受信された、前記第1のデバイス側一致判定手段での判定結果に基づいて、前記第1及び第2のデバイスの相互認証結果を判定する認証結果判定手段とを有することを特徴とする相互認証システム。 In a mutual authentication system in which data is transmitted and received between a plurality of devices and a host connected via a transmission path, and the plurality of devices are sequentially authenticated by the host,
In the host, device determination means for determining a first device and a second device to be mutually authenticated among the plurality of devices connected via the transmission path;
In the host, first and second commands for instructing mutual authentication by designating the first and second devices determined by the device determination means, and mutual authentication from the first device Command generating means for generating a third command for instructing to read the result;
In the host, host side transmission means for transmitting the first command generated by the command generation means to the first and second devices via the transmission path;
In the first device, first device-side receiving means for receiving the first command transmitted by the host;
A second device-side receiving means for receiving the first command transmitted by the host in the second device; and a first device-side random number for generating first random number data in the first device. Data generation means;
In the second device, second device-side random number data generating means for generating second random number data;
In the first device, the first and second devices commonly hold the first random number data in accordance with the first command received by the first device-side receiving means. First device side encryption means for generating first encrypted data by encrypting using one key data;
In the second device, in response to the first command received by the second device-side receiving means, the second random number data is converted into second encrypted data using the first key data. Second device side encryption means for generating
In the first device, first device-side transmission means for transmitting the first encrypted data to the host via the transmission path;
In the second device, second device side receiving means for receiving the first encrypted data transmitted by the first device;
In the second device, a second device-side decryption that obtains a first decryption result from the first encrypted data received by the second device-side receiving means using the first key data And
In the second device, a calculation is performed between the first decryption result obtained by the second device-side decryption means and the second random number data, and a second computation result is obtained. Device side computing means,
In the second device, second device-side transmission means for transmitting the second encrypted data generated by the second device-side encryption means to the host via the transmission path;
A first device-side receiving means for receiving the second encrypted data transmitted by the second device in the first device;
In the first device, the first device that decrypts the second encrypted data received by the first device-side receiving means using the first key data and obtains a second decryption result. Side decryption means;
In the first device, a calculation is performed between the second decoding result obtained by the first device-side decoding means and the first random number data, and a first calculation result is obtained. 1 device side computing means;
Host side transmission means for transmitting the second command generated by the command generation means in the host to the first and second devices via the transmission path;
First device-side receiving means for receiving the second command transmitted by the host in the first device;
Second device-side receiving means for receiving the second command transmitted by the host in the second device;
In the first device, the first and second devices commonly hold the first calculation result according to the second command received by the first device-side receiving unit. First device-side encryption means for generating third encrypted data by encrypting using the key data of
In the second device, in accordance with the second command received by the second device-side receiving means, the second calculation result is encrypted with the second key data, and the fourth device Second device side encryption means for generating encrypted data;
The first device transmits the third encrypted data to the host via the transmission path according to the second command received by the first device-side receiving unit. A device-side transmission means;
In the second device, second device-side receiving means for receiving the third encrypted data transmitted by the first device;
In the second device, a second device that obtains a third decryption result by decrypting the third encrypted data received by the second device-side receiving means using the second key data Side decryption means;
In the second device, a second device-side authentication unit that authenticates the first device by determining whether the third decryption result and the second calculation result match / mismatch,
In the second device, if the determination result by the second device-side authentication means is coincident, it is determined that the first device has been authenticated, and the fourth encrypted data is transmitted via the transmission path. To the host,
In the case of mismatch, it is determined that the first device has not been authenticated, and third random number data different from the second calculation result is generated by the second device-side random number data generation means, Using the second key data, the third random number data is encrypted by the second device side encryption unit according to the second command received by the second device side reception unit. Second device-side authentication result transmitting means for generating fifth encrypted data and transmitting the fifth encrypted data to the host via the transmission path;
In the first device, first device-side receiving means for receiving the fourth encrypted data or the fifth encrypted data transmitted by the second device;
In the first device, the fourth encrypted data or the fifth encrypted data received by the first device-side receiving means is decrypted by using the second key data to obtain a fourth First device side decoding means for obtaining a decoding result;
In the first device, first device side coincidence determining means for determining whether the fourth decoding result and the first calculation result match / do not match;
In the host, host-side transmission means for transmitting the third command generated by the command generation means to the first device via the transmission path;
In the first device, first device-side receiving means for receiving the third command transmitted by the host;
In the first device, the result determined in the first device-side coincidence determination stage in accordance with the third command received by the first device-side receiving means is transmitted via the transmission path. First device-side coincidence determination result transmission means for transmitting to the host;
In the host, host-side receiving means for receiving the determination result in the first device-side coincidence determining means transmitted from the first device;
A first device-side mutual authentication means for determining a mutual authentication result with the second device based on a result determined by the first device-side match determination means in the first device;
In the host, an authentication result determination unit that determines a mutual authentication result of the first and second devices based on a determination result of the first device side match determination unit received by the host side reception unit. And a mutual authentication system.
前記伝送路を介して接続された前記複数のデバイスのうち、相互認証させる第1のデバイスと第2のデバイスとを、前記デバイス決定手段により決定するデバイス決定工程と、
前記ホストにおいて、前記デバイス決定工程で決定した、前記第1、第2のデバイスを指定して、相互認証を行うように命令する、前記第1、第2のコマンドと、前記第1のデバイスから相互認証結果を読み出すように命令する、前記第3のコマンドを、前記コマンド生成手段で生成するコマンド生成工程と、
前記ホストにおいて、前記コマンド生成工程で生成した、前記第1のコマンドを、前記ホスト側送信手段で、前記伝送路を介して前記第1、第2のデバイスとに送信するホスト側送信工程と、
前記第1のデバイスにおいて、前記ホスト側送信工程にて、前記ホストが送信する、前記第1のコマンドを、前記第1のデバイス側受信手段で受信する第1のデバイス側受信工程と、
前記第2のデバイスにおいて、前記ホスト側送信工程にて、前記ホストが送信する、前記第1のコマンドを、前記第2のデバイス側受信手段で受信する第2のデバイス側受信工程と、
前記第1のデバイスにおいて、前記第1の乱数データを、前記第1のデバイス側乱数データ生成手段で生成する第1のデバイス側乱数データ生成工程と、
前記第2のデバイスにおいて、前記第2の乱数データを、前記第2のデバイス側乱数データ生成手段で生成する第2のデバイス側乱数データ生成工程と、
前記第1のデバイスにおいて、前記第1のデバイス側受信工程にて受信した、前記第1のコマンドに応じて、前記第1の乱数データを、前記第1、第2のデバイスが共通に保持する、前記第1の鍵データを用いて、前記第1のデバイス側暗号化手段で、前記第1の暗号データを生成する第1のデバイス側暗号化工程と、
前記第2のデバイスにおいて、前記第2のデバイス側受信工程にて受信した、前記第1のコマンドに応じて、前記第2の乱数データを、前記第1の鍵データを用いて、前記第2のデバイス側暗号化手段で、前記第2の暗号データを生成する第2のデバイス側暗号化工程と、
前記第1のデバイスにおいて、前記第1の暗号データを、前記第1のデバイス側送信手段で、前記伝送路を介して前記ホストに送信する第1のデバイス側送信工程と、
前記第2のデバイスにおいて、前記第1のデバイス側送信工程にて前記第1のデバイスが送信する、前記第1の暗号データを、前記第2のデバイス側受信手段で受信する第2のデバイス側受信工程と、
前記第2のデバイスにおいて、前記第2のデバイス側受信工程にて受信した、前記第1の暗号データを、前記第1の鍵データを用いて、前記第2のデバイス側復号化手段で前記第1の復号結果を得る第2のデバイス側復号化工程と、
前記第2のデバイスにおいて、前記第2のデバイス側復号化工程で得た、前記第1の復号結果と、前記第2の乱数データとの間で、前記第2のデバイス側演算手段で演算を行い、前記第2の演算結果を得る第2のデバイス側演算工程と、
前記第2のデバイスにおいて、前記第2の暗号データを、前記第2のデバイス側送信手段で、前記伝送路を介して前記ホストに送信する第2のデバイス側送信工程と、
前記第1のデバイスにおいて、前記第2のデバイス側送信工程にて、前記第2のデバイスが送信する、前記第2の暗号データを、前記第1のデバイス側受信手段で受信する第1のデバイス側受信工程と、
前記第1のデバイスにおいて、前記第1のデバイス側受信工程にて受信した、前記第2の暗号データを、前記第1の鍵データを用いて、前記第1のデバイス側復号化手段で復号し、前記第2の復号結果を得る第1のデバイス側復号化工程と、
前記第1のデバイスにおいて、前記第1のデバイス側復号化工程にて得た、前記第2の復号結果と、前記第1の乱数データとの間で、前記第1のデバイス側演算手段で演算を行い、前記第1の演算結果を得る第1のデバイス側演算工程と、
ホストにおいて、前記コマンド生成工程で生成した、前記第2のコマンドを、前記ホスト側送信手段で、前記伝送路を介して前記第1、第2のデバイスに送信するホスト側送信工程と、
前記第1のデバイスにおいて、前記ホスト側送信工程にて、前記ホストが送信する、前記第2のコマンドを、前記第1のデバイス側受信手段で受信する第1のデバイス側受信工程と、
前記第2のデバイスにおいて、前記ホスト側送信工程にて、前記ホストが送信する、前記第2のコマンドを、前記第2のデバイス側受信手段で受信する第2のデバイス側受信工程と、
前記第1のデバイスにおいて、前記第1のデバイス側受信工程にて受信した、前記第2のコマンドに応じて、前記第1の演算結果を、前記第1、第2のデバイスが共通に保持する、前記第2の鍵データを用いて、前記第1のデバイス側暗号化手段にて、前記第3の暗号データを生成する第1のデバイス側暗号化工程と、
前記第2のデバイスにおいて、前記第2のデバイス側受信工程にて受信した、前記第2のコマンドに応じて、前記第2の演算結果を、前記第2の鍵データにより、前記第2のデバイス側暗号化手段で暗号化して、前記第4の暗号データを生成する第2のデバイス側暗号化工程と、
前記第1のデバイスにおいて、前記第1のデバイス側暗号化工程にて生成された、前記第3の暗号データを、前記第1のデバイス側送信手段で、前記伝送路を介して前記ホストに送信する第1のデバイス側送信工程と、
前記第2のデバイスにおいて、前記第1のデバイス側送信工程にて、前記第1のデバイスが送信する、前記第3の暗号データを、前記第2のデバイス側受信手段で受信する第2のデバイス側受信工程と、
前記第2のデバイスにおいて、前記第2のデバイス側受信工程にて受信した第3の暗号データを、前記第2の鍵データを用いて、前記第2のデバイス側復号化手段にて復号して前記第3の復号結果を得る第2のデバイス側復号化工程と、
前記第2のデバイスにおいて、前記第2のデバイス側復号化工程で得た、前記第3の復号結果と、前記第2の演算結果の一致/不一致を、前記第2のデバイス側認証手段で判定して、前記第1のデバイスを認証する第2のデバイス側認証工程と、
前記第2のデバイスにおいて、前記第2のデバイス側認証工程での、前記第2のデバイス側認証手段による判定結果が一致の場合は、前記第1のデバイスが認証されたと判断して、前記第4の暗号データを前記伝送路を介して前記ホストに送信し、
不一致の場合は、前記第1のデバイスは認証されなかったと判断して、前記第2の演算結果とは異なる前記第3の乱数データを、前記第2のデバイス側乱数データ生成手段で生成し、前記第3の乱数データを、前記第2の鍵データを用いて、前記第2のデバイス側受信工程にて受信した前記第2のコマンドに応じて、前記第2のデバイス側暗号化手段で、前記第5の暗号データを生成して、前記第2のデバイス側認証結果送信手段により、前記伝送路を介して前記ホストに送信する第2のデバイス側認証結果送信工程と、
前記第1のデバイスにおいて、前記第2のデバイス側認証結果送信工程にて、前記第2のデバイスが生成して、前記伝送路を介して前記ホストに送信する、前記第4の暗号データあるいは、前記第5の暗号データを、前記第1のデバイス側受信手段で受信する第1のデバイス側受信工程と、
前記第1のデバイスにおいて、前記第1のデバイス側受信工程で受信した、前記第4の暗号データあるいは前記第5の暗号データを、前記第2の鍵データを用いて、前記第1のデバイス側復号化手段で復号して、前記第4の復号結果を得る第1のデバイス側復号化工程と、
前記第1のデバイスにおいて、前記第1のデバイス側復号化工程にて得た、前記第4の復号結果と、前記第1の演算結果との一致/不一致を、前記第1のデバイス側相互認証手段で判定する第1のデバイス側一致判定工程と、
前記ホストにおいて、前記コマンド生成工程で生成した、前記第3のコマンドを、前記ホスト側送信手段で、前記伝送路を介して前記第1のデバイスに送信するホスト側送信工程と、
前記第1のデバイスにおいて、前記ホスト側送信工程にて前記ホストが送信する、前記第3のコマンドを、前記第1のデバイス側受信手段で受信する第1のデバイス側受信工程と、
前記第1のデバイスにおいて、前記第1のデバイス側受信工程にて受信した、前記第3のコマンドに応じて、前記第1のデバイス側一致判定手段での判定結果を、前記第1のデバイス側一致結果送信手段で、前記伝送路を介して前記ホストに送信する第1のデバイス側一致判定結果送信工程と、
前記ホストにおいて、前記第1のデバイス側一致判定結果送信工程にて、前記第1のデバイスから送信される、前記第1のデバイス側一致判定手段での判定結果を、前記ホスト側受信手段で受信するホスト側受信工程と、
前記第1のデバイスにおいて、前記第1のデバイス側一致判定手段での判定結果により、前記第2のデバイスとの相互認証結果を判定する第1のデバイス側相互認証結果工程と、
前記ホストにおいて、前記ホスト側受信工程にて受信された前記第1のデバイス側一致判定手段での判定結果に基づいて、前記第1、第2のデバイスの相互認証結果を前記認証結果判定手段で判定する認証結果判定工程とを有し、
前記ホストから送信された第1、第2のコマンドにより第1、第2のデバイスに指定されなかったデバイスは、相互認証動作に参加せず待機していることを特徴とする相互認証方法。 A mutual authentication method in which data is transmitted and received between a plurality of devices and a host connected via a transmission path, and the host sequentially authenticates the plurality of devices,
A device determining step of determining, by the device determining means, a first device and a second device to be mutually authenticated among the plurality of devices connected via the transmission path;
The host designates the first and second devices determined in the device determination step, and instructs to perform mutual authentication. From the first and second commands and the first device A command generation step of generating the third command by the command generation means, instructing to read a mutual authentication result;
In the host, the host-side transmission step of transmitting the first command generated in the command generation step to the first and second devices via the transmission path by the host-side transmission unit;
In the first device, in the host side transmission step, the first device side reception step of receiving the first command transmitted by the host by the first device side reception unit;
In the second device, in the host-side transmission step, the second device-side reception step of receiving the first command transmitted by the host by the second device-side reception unit;
In the first device, a first device-side random number data generation step of generating the first random number data by the first device-side random number data generation unit;
In the second device, a second device-side random number data generating step of generating the second random number data by the second device-side random number data generating means;
In the first device, the first and second devices commonly hold the first random number data according to the first command received in the first device-side receiving step. A first device-side encryption step of generating the first encrypted data by the first device-side encryption means using the first key data;
In the second device, in response to the first command received in the second device-side receiving step, the second random number data is converted into the second key data using the first key data. A second device side encryption step of generating the second encrypted data by the device side encryption means of
In the first device, a first device-side transmission step of transmitting the first encrypted data to the host via the transmission path by the first device-side transmission unit;
In the second device, the second device side that receives the first encrypted data transmitted by the first device in the first device-side transmission step by the second device-side receiving unit. Receiving process;
In the second device, the first encrypted data received in the second device-side receiving step is processed by the second device-side decrypting means using the first key data. A second device side decoding step of obtaining a decoding result of 1;
In the second device, calculation is performed by the second device side calculation means between the first decoding result obtained in the second device side decoding step and the second random number data. Performing a second device-side calculation step to obtain the second calculation result;
In the second device, a second device-side transmission step of transmitting the second encrypted data to the host via the transmission path by the second device-side transmission unit;
In the first device, in the second device-side transmission step, the first device receives the second encrypted data transmitted by the second device by the first device-side receiving unit. Side reception process;
In the first device, the second encrypted data received in the first device-side receiving step is decrypted by the first device-side decryption means using the first key data. A first device side decoding step for obtaining the second decoding result;
In the first device, calculation is performed by the first device-side calculation means between the second decoding result obtained in the first device-side decoding step and the first random number data. Performing a first device side calculation step for obtaining the first calculation result;
In the host, the host side transmission step of transmitting the second command generated in the command generation step to the first and second devices via the transmission path by the host side transmission means;
In the first device, in the host-side transmission step, the first device-side reception step of receiving the second command transmitted by the host by the first device-side reception unit;
In the second device, in the host-side transmission step, the second device-side reception step of receiving the second command transmitted by the host by the second device-side reception unit;
In the first device, the first and second devices commonly hold the first calculation result according to the second command received in the first device-side receiving step. A first device-side encryption step of generating the third encrypted data by the first device-side encryption means using the second key data;
In the second device, in accordance with the second command received in the second device side receiving step, the second operation result is converted into the second device by the second key data. A second device-side encryption step of generating the fourth encrypted data by encrypting with the side encryption means;
In the first device, the third encrypted data generated in the first device side encryption step is transmitted to the host via the transmission path by the first device side transmission means. A first device side transmission step to perform,
In the second device, the second device that receives the third encrypted data transmitted by the first device in the first device-side transmission step by the second device-side receiving unit. Side reception process;
In the second device, the second device-side decrypting means decrypts the third encrypted data received in the second device-side receiving step by using the second key data. A second device side decoding step for obtaining the third decoding result;
In the second device, the second device-side authentication means determines whether the third decryption result obtained in the second device-side decryption step matches or does not match the second calculation result. A second device-side authentication step for authenticating the first device;
In the second device, if the determination result by the second device-side authentication means in the second device-side authentication step is the same, it is determined that the first device has been authenticated, 4 encrypted data is transmitted to the host via the transmission path,
In the case of mismatch, it is determined that the first device has not been authenticated, and the third random number data different from the second calculation result is generated by the second device-side random number data generation means, In response to the second command received in the second device-side receiving step using the second key data, the third random number data is received by the second device-side encryption means, A second device-side authentication result transmitting step of generating the fifth encrypted data and transmitting the fifth encrypted data to the host via the transmission path by the second device-side authentication result transmitting means;
In the first device, in the second device-side authentication result transmission step, the second device generates and transmits the fourth encrypted data to the host via the transmission path, or A first device-side receiving step of receiving the fifth encrypted data by the first device-side receiving means;
In the first device, the fourth encrypted data or the fifth encrypted data received in the first device side receiving step is converted into the first device side by using the second key data. A first device side decoding step of decoding by a decoding means to obtain the fourth decoding result;
In the first device, a match / mismatch between the fourth decryption result and the first calculation result obtained in the first device-side decryption step is determined as the first device-side mutual authentication. A first device side coincidence determining step determined by means;
In the host, a host-side transmission step of transmitting the third command generated in the command generation step to the first device via the transmission path by the host-side transmission unit;
In the first device, a first device-side receiving step of receiving the third command transmitted by the host in the host-side transmitting step by the first device-side receiving unit;
In the first device, in accordance with the third command received in the first device-side receiving step, the determination result in the first device-side coincidence determining means is displayed on the first device side. A first device-side coincidence determination result transmission step of transmitting to the host via the transmission path by a coincidence result transmission unit;
In the host, in the first device side coincidence determination result transmission step, the determination result in the first device side coincidence determination unit that is transmitted from the first device is received by the host side reception unit. A host-side receiving process,
In the first device, a first device-side mutual authentication result step of determining a mutual authentication result with the second device based on a determination result in the first device-side coincidence determining unit;
In the host, based on the determination result in the first device-side coincidence determining unit received in the host-side receiving step, the mutual authentication result of the first and second devices is determined by the authentication result determining unit. An authentication result determination step for determining,
A mutual authentication method characterized in that devices that are not designated as the first and second devices by the first and second commands transmitted from the host do not participate in the mutual authentication operation and are on standby.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011209605A JP5792573B2 (en) | 2011-09-26 | 2011-09-26 | Mutual authentication system and mutual authentication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011209605A JP5792573B2 (en) | 2011-09-26 | 2011-09-26 | Mutual authentication system and mutual authentication method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013073257A true JP2013073257A (en) | 2013-04-22 |
JP5792573B2 JP5792573B2 (en) | 2015-10-14 |
Family
ID=48477759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011209605A Active JP5792573B2 (en) | 2011-09-26 | 2011-09-26 | Mutual authentication system and mutual authentication method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5792573B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073827A (en) * | 2017-12-07 | 2018-05-25 | 珠海市横琴新区龙族科技有限公司 | Data cable, terminal, data cable encryption system, data cable encryption method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002215480A (en) * | 2001-01-15 | 2002-08-02 | Sony Corp | Multiprocessor system and data communication control method in the system |
JP2003060635A (en) * | 2001-08-13 | 2003-02-28 | Sony Corp | Personal authentication system, method therefor, authentication device and computer program |
US20050010769A1 (en) * | 2003-07-11 | 2005-01-13 | Samsung Electronics Co., Ltd. | Domain authentication method for exchanging content between devices |
JP2007048103A (en) * | 2005-08-11 | 2007-02-22 | Fuji Electric Retail Systems Co Ltd | Identification method for non-contact communication medium, and settlement device |
-
2011
- 2011-09-26 JP JP2011209605A patent/JP5792573B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002215480A (en) * | 2001-01-15 | 2002-08-02 | Sony Corp | Multiprocessor system and data communication control method in the system |
JP2003060635A (en) * | 2001-08-13 | 2003-02-28 | Sony Corp | Personal authentication system, method therefor, authentication device and computer program |
US20050010769A1 (en) * | 2003-07-11 | 2005-01-13 | Samsung Electronics Co., Ltd. | Domain authentication method for exchanging content between devices |
JP2007048103A (en) * | 2005-08-11 | 2007-02-22 | Fuji Electric Retail Systems Co Ltd | Identification method for non-contact communication medium, and settlement device |
Also Published As
Publication number | Publication date |
---|---|
JP5792573B2 (en) | 2015-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10015159B2 (en) | Terminal authentication system, server device, and terminal authentication method | |
US8396218B2 (en) | Cryptographic module distribution system, apparatus, and program | |
CN113259329B (en) | Method and device for data careless transmission, electronic equipment and storage medium | |
US20070189517A1 (en) | Pseudo public key encryption | |
JP2010226336A (en) | Authentication method and authentication apparatus | |
KR20170035665A (en) | Apparatus and method for exchanging encryption key | |
EP3664360A1 (en) | Certificateless public key encryption using pairings | |
CN109309566B (en) | Authentication method, device, system, equipment and storage medium | |
WO2018048411A1 (en) | Establishing shared key data for wireless pairing | |
CN101296077B (en) | Identity authentication system based on bus type topological structure | |
JP2003101528A (en) | Encrypted data transmission/reception method, and system and transmitter for implementing the method | |
US20220038267A1 (en) | Methods and devices for secured identity-based encryption systems with two trusted centers | |
US20230027010A1 (en) | Secret code verification protocol | |
JP5792573B2 (en) | Mutual authentication system and mutual authentication method | |
JP3897177B2 (en) | Authentication method and information processing apparatus | |
JP2009071481A (en) | Communication control system, terminal, and program | |
US7327845B1 (en) | Transmission of encrypted messages between a transmitter and a receiver utilizing a one-time cryptographic pad | |
JP2006270348A (en) | Mutual authentication and key sharing system | |
JP2000349748A (en) | Secret information sharing method | |
CN108141361B (en) | Method and apparatus for establishing a common secret | |
CN117040825A (en) | Authentication method of Internet of things equipment and storage medium | |
JP2000307565A (en) | Communication method, its device and ic card | |
KR101758232B1 (en) | method of encryption or decryption a data block, apparatus for encryption or decryption a data block, and storage medium for storing a program for encryption or decryption a data block | |
JP2007521525A (en) | System for authenticating and authorizing a party in a secure communication network | |
US20190222417A1 (en) | Information processing system, information processing method, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140822 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150511 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150519 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150619 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150728 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150806 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5792573 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |