JP5792573B2 - 相互認証システム及び相互認証方法 - Google Patents

相互認証システム及び相互認証方法 Download PDF

Info

Publication number
JP5792573B2
JP5792573B2 JP2011209605A JP2011209605A JP5792573B2 JP 5792573 B2 JP5792573 B2 JP 5792573B2 JP 2011209605 A JP2011209605 A JP 2011209605A JP 2011209605 A JP2011209605 A JP 2011209605A JP 5792573 B2 JP5792573 B2 JP 5792573B2
Authority
JP
Japan
Prior art keywords
host
result
data
receiving
command
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.)
Active
Application number
JP2011209605A
Other languages
English (en)
Other versions
JP2013073257A (ja
Inventor
泰治郎 伊東
泰治郎 伊東
Original Assignee
泰治郎 伊東
泰治郎 伊東
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 泰治郎 伊東, 泰治郎 伊東 filed Critical 泰治郎 伊東
Priority to JP2011209605A priority Critical patent/JP5792573B2/ja
Publication of JP2013073257A publication Critical patent/JP2013073257A/ja
Application granted granted Critical
Publication of JP5792573B2 publication Critical patent/JP5792573B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は相互認証システム及び相互認証方法に関し、特に、I2Cバスを介して接続された複数のデバイスをホストが認証するために用いて好適な技術に関する。
情報処理技術の発展に伴い、大量の情報が所定の伝送路を介して通信されている。情報が通信される伝送路には、第三者(送信者および受信者以外の者)が、通信されているデータを盗聴することが可能なものが多い。
このような伝送路を利用して、情報を第三者に漏洩させずに、通信を行う場合、しばしば、暗号が利用される。暗号を利用し、暗号化されたデータを通信することにより、暗号化されたデータを盗聴することができても、第三者が、そのデータから通信した情報の内容を読み出すことは困難である。
このような暗号を生成する暗号化方法には、所定の鍵を利用して、平文(送信する情報)から、暗号(実際に送信されるデータ)を生成するものが利用されることが多い。
このような、鍵を利用した暗号には、共通鍵暗号と公開鍵暗号の2種類がある。共通鍵暗号においては、暗号化するときの鍵(暗号化鍵データ)と、復号化するときの鍵(復号化鍵データ)が同一である。例えば、共通鍵暗号としては、Feistel暗号の1つであるDES(Data Encryption Standard)方式などがよく利用されている。一方、公開鍵暗号においては、暗号化鍵データと復号化鍵データが異なる。そして、受信者は、送信者のために、それらの鍵のうち、暗号化鍵データを公開するが、復号化鍵データは公開せずに隠しておく(即ち、復号化鍵データは、受信者のみが知っている)。
しかしながら、前述の認証方法においては、所定の送受信者が、他の送受信者を認証するだけであるので、例えば、リーダ/ライタ装置(親機)とICカードで構成されるカードシステムに、前述の認証方法を適用した場合、リーダ/ライタ装置は、通信相手が正規のICカードであるか否かを判断する(通信相手を認証する)ことができるが、ICカードは、通信相手が正規のリーダ/ライタ装置であるか否かを判断することが困難であるという問題を有している。
前述のような問題点を解消するために、例えば、特許文献1においては、複数の情報処理装置において、相互に平文を送信するとともに、送信されてきた平文を受信し、受信した平文を暗号に暗号化し、平文を送信した装置に、その暗号を送信するとともに、送信されてきた暗号を受信し、その暗号を復号化した平文と最初に送信した平文を比較することで、相互に認証を行うようにした認証方法が提案されている。
特開平10−020780号公報
特許文献1に記載の認証方法においては、リーダ/ライタ装置とICカードとで相互に認証を行うようにしている。このため、リーダ/ライタ装置に専用認証エンジンを具備する必要があった。
また、ICカードを使用する各ユーザー向けにユーザー指定の制御用CPUのソフト向けのコードの開発する負担、及び開発した同コードを開示するために発生するセキュリティ上の管理のわずらわしさ(秘密保持の負担)も大きな負担であった。
本発明は前述の問題点に鑑み、親機が認証エンジンを具備することなく、伝送路に接続されたデバイスの真偽を確認できるようにすることを目的とする。
本発明の相互認証システムは、伝送路を介して接続された複数のデバイスとホストとの間でデータの送受信を行い、前記複数のデバイスを前記ホストが順次認証する相互認証システムにおいて、
前記ホストにおいて、前記伝送路を介して接続された前記複数のデバイスのうち、相互認証させる第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のデバイスの相互認証結果を判定する認証結果判定手段とを有することを特徴とする。
本発明の相互認証方法は、伝送路を介して接続された複数のデバイスとホストとの間でデータの送受信を行い、前記複数のデバイスを前記ホストが順次認証する相互認証方法であって、
前記伝送路を介して接続された前記複数のデバイスのうち、相互認証させる第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のデバイスに指定されなかったデバイスは、相互認証動作に参加せず待機していることを特徴とする。
本発明によれば、親機が認証エンジンを具備することなく、伝送路に接続されたデバイスの真偽を確認することが可能となる。
本発明の実施形態を示し、相互認証システムの全体構成例を示す図である。 本発明の実施形態を示し、親機の構成例を示す図である。 本発明の実施形態を示し、第1のデバイスの構成例を示す図である。 本発明の実施形態を示し、第2のデバイスの構成例を示す図である。 本発明の実施形態を示し、相互認証を行う手順を説明するタイミングチャートである。
次に、図面を参照しながら本発明の実施形態を説明する。
(第1の実施形態)
図1は、本発明の実施形態を示し、相互認証システムの概略構成を示す図である。
図1に示したように、本実施形態の相互認証システムにおいては、ホスト(親機)10に対して複数のデバイスA11、デバイスB12、デバイスC13・・・がI2C(Inter-Integrated Circuit)伝送路14を介して接続されている。
ホスト10は、伝送路14に接続されたデバイス11〜13の真偽を判断し、真のデバイスに対してのみアクセス制限を開放する。伝送路14に接続されたデバイスが真のデバイスであるか否かを判断するためには、一般には、ホスト10が認証用の専用認証エンジンを備え、ホスト10と認証対象のデバイスとの間で相互認証アルゴリズムを実行する必要がある。本実施形態においては、ホスト10に認証用の専用認証エンジンを具備することなく、伝送路14に接続されたデバイスの真偽を判断できるようにしている。
図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」が記憶されている。
しかしながら、本実施形態のホスト10は伝送路14に接続されたデバイスとの間で相互認証を行わないので、メモリ10aには「第1、第2の鍵データKA、KB」が記憶されていない。図2にホスト10の概略構成例を示す。
図2に示すように、ホスト10において、制御部21は、内蔵するプログラムに応じて、各種処理を行う。例えば、制御部21は、相互認証を行うデバイスに送信するコマンドを、コマンド生成部23にて生成するように制御し、生成したコマンドを送信部24に出力するよう制御する。
メモリ22は、制御部21における処理に使用されるデータなどを記憶している。送信部24は、コマンド生成部23より供給されたコマンドを、I/F部25と伝送路14を介して相互認証を行うデバイスに送信する。
受信部26は、I/F部25を介して、相互認証を行うデバイスにより送信されたデータを認証結果判定部27に出力する。
制御部21からの制御により、認証結果判定部27は、受信部26より供給されたデータに基づいて、伝送路14に接続されたデバイスから送信された認証結果の真偽を判定し、判定結果を制御部21に出力するか、あるいは、受信部26より供給されたデータをそのまま制御部21に出力する。
図3は、本発明の実施形態である第1のデバイスの構成例を示すブロック図である。
第1のデバイスにおいて、制御部31は、ホスト10より供給されるコマンドに応じて、各種処理を行う。具体的には、ホスト10からのコマンドを受信部36から受け取り、そのコマンドに対応した処理を行い、その処理の結果に対応して生成した乱数データや演算結果や応答データやメモリ32からの読み出しデータ等を暗号部33に出力する。
メモリ32は、RAM(Random Access Memory)部(とROM(Read Only Memory)部を有している。そのうちのRAM部は、制御部31における処理に使用されるデータなどを一時的に記憶する。一方、ROM部には、デバイス固有のデバイスアドレスと暗号化または復号化において利用される「第1、第2の鍵データKA、KB」等が予め記憶されている。
暗号部33は、制御部31より供給された暗号化するべきデータを、所定の鍵で暗号化し、暗号化したデータを送信部34に出力し、制御部31より供給されたデータを暗号化しない場合はそのまま送信部34に出力する。
送信部34は、暗号部33より供給されたデータを、I/F部35を介して伝送路14に出力し、ホスト10に送信する。
受信部36は、伝送路14を介して送られてきたデータをI/F部35を介して、受信し、復号部37に出力する。
復号部37は、受信部36より供給されたデータを、制御部21の制御に応じて所定の鍵で復号化し、復号化したデータを制御部31に出力するか、そのまま制御部31に出力する。
図4は、本発明の実施形態である第2のデバイスの構成例を示すブロック図である。第2のデバイスの構成は、図3に示した第1のデバイスの構成と全く同一であるが、動作説明を判り易くするため図3、4に分けて説明する。
次に、図1を参照しながら本実施形態の相互認証システムの処理の概略を説明する。なお、図5に処理ステップを示す、各ステップで行われるデータ伝送は伝送路14を介して行われる。
(ステップS1)
ホスト10が、相互認証させる第1、第2のデバイスアドレスを指定し、さらに乱数データとして生成した第1のスクランブルデータX、を附加して、第1の相互認証コマンド1を送信部24からI/F部25を介して伝送路14に送信する。例えば、第1のデバイスA11と第2のデバイスB12とを指定して第1の相互認証コマンド1の送信を行う。
本実施形態においては、第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により認証される。デバイスアドレスを指定されなかったデバイスは相互認証動作に参加せず待機する。
第1のデバイスA11は、ホスト10が伝送路14に送信する第1の相互認証コマンド1をI/F部35を介して受信部36により受信する。
第2のデバイスB12は、ホスト10が伝送路14に送信する第1の相互認証コマンド1をI/F部45を介して受信部46により受信する。
ホスト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の暗号データを得る。
(ステップ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演算、ビットシフト、ビット順の並び変え、特定ビットのデータ反転等を組み合わせて行うのが望ましい。
(ステップS3)
第2のデバイスB12は、第2の暗号データを送信部44、I/F部45、伝送路14を介してホスト10に送信する。
第2のデバイスB12から伝送路14を介してホスト10に送信する第2の暗号データを第1のデバイスA11がI/F部35を介して受信部36により受信する。
第1のデバイスA11は、受信した第2の暗号データをメモリ11aに記憶している「第1の鍵データKA」と第1のスクランブルデータXを用いて復号部37により逆演算を行って復号した第2の復号データRb'を得る。
第1のデバイスA11は、制御部31が、第1の乱数Raと、複号部37で逆演算を行って復号した第2の復号データRb'との間で所定の論理演算を行って第1の演算結果[Ra◆Rb']を得る。
(ステップS4)
ホスト10が、相互認証させる第1、第2のデバイスアドレスを再度指定し、さらに、乱数データとして生成した第2のスクランブルデータYを附加して、第2の相互認証コマンド2をI/F部25を介して伝送路14に送信する。アドレスを指定されなかったデバイスは相互認証動作に参加せず待機する。
第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の暗号データを得る。
(ステップ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']'との一致/不一致を検出する。
(ステップ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に対するアクセスに対する所定のアクセス制限を開放しない。
第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を得る。
(ステップS7)
ホスト10が、第1のデバイスアドレスを指定しさらに、乱数データとして生成した第3のスクランブルデータZを附加して、相互認証の結果を問い合わせる第3の相互認証コマンド3をI/F部25を介して伝送路14に送信する。デバイスアドレスを指定されなかったデバイスは相互認証動作に参加せず待機する。
第1のデバイスA11は、ホスト10が伝送路14に送信する第3の相互認証コマンド3をI/F部35を介して受信部36により受信する。
(ステップ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を介して受信する。
第1のデバイスA11は、第1のデバイス側一致判定データTが一致を示している場合は、相互認証が成立したと判断し、第1のデバイスA11へのアクセスに対し所定のアクセス制限を開放する。
また、第1のデバイスA11は、第1のデバイス側一致判定データTが一致を示していない場合は相互認証が成立しなかったと判断し、第1のデバイスA11へのアクセスに対する所定のアクセス制限を開放しない。
ホスト10は、受信部26で受信したスクランブルされた第1のデバイス側一致判定データTを、認証結果判定部27に送る。
ホスト10は、認証結果判定部27でホスト10が送った第1〜第3スクランブルデータX、Y、Zを用いて第1のデバイス側一致判定データTを検出して制御部27に送る。この判定結果に応じて、第のデバイスA11と第2のデバイスB12の相互認証結果を判定し、ホスト10が第1のデバイスA11及び第2のデバイスB12の制限されたエリアにアクセスすることが可能になったか不可のままかを判断する。
前述のようにして、第1のデバイスA11と第2のデバイスB12との間で相互認証することにより、ホスト10が第2のデバイスB12の真偽を認証するための演算処理を行うことなく、第2のデバイスB12が真のデバイスであることを確実に判定することができる。
これにより、専用認証エンジンを具備する場合と比較してホスト10の開発コストの負担を軽減することができる。また、ホスト10の制御用CPUは既に開発済とか、過去の資産を引き継いでホスト10を使いたいユーザーの要求に応えることができる。さらに、ホスト10が「鍵データ」を持たないので、セキュリティ上の管理の煩わしさを不要にできる。さらに、第1のデバイスA11をバージョンアップすれば、ホスト10の制御CPUには負担をかけることなく、新しいセキュリティシステムに更新することができる等、種々の利点が得られる。
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 処理手順

Claims (4)

  1. 伝送路を介して接続された複数のデバイスとホストとの間でデータの送受信を行い、前記複数のデバイスを前記ホストが順次認証する相互認証システムにおいて、
    前記ホストにおいて、前記伝送路を介して接続された前記複数のデバイスのうち、相互認証させる第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のデバイスの相互認証結果を判定する認証結果判定手段とを有することを特徴とする相互認証システム。
  2. 前記第1のデバイスは予め認証されたデバイスであることを特徴とする請求項1に記載の相互認証システム。
  3. 前記伝送路はI2C(Inter-Integrated Circuit)伝送線であることを特徴とする請求項1または2に記載の相互認証システム。
  4. 伝送路を介して接続された複数のデバイスとホストとの間でデータの送受信を行い、前記複数のデバイスを前記ホストが順次認証する相互認証方法であって、
    前記伝送路を介して接続された前記複数のデバイスのうち、相互認証させる第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のデバイスに指定されなかったデバイスは、相互認証動作に参加せず待機していることを特徴とする相互認証方法。
JP2011209605A 2011-09-26 2011-09-26 相互認証システム及び相互認証方法 Active JP5792573B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011209605A JP5792573B2 (ja) 2011-09-26 2011-09-26 相互認証システム及び相互認証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011209605A JP5792573B2 (ja) 2011-09-26 2011-09-26 相互認証システム及び相互認証方法

Publications (2)

Publication Number Publication Date
JP2013073257A JP2013073257A (ja) 2013-04-22
JP5792573B2 true JP5792573B2 (ja) 2015-10-14

Family

ID=48477759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011209605A Active JP5792573B2 (ja) 2011-09-26 2011-09-26 相互認証システム及び相互認証方法

Country Status (1)

Country Link
JP (1) JP5792573B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073827A (zh) * 2017-12-07 2018-05-25 珠海市横琴新区龙族科技有限公司 数据线、终端、数据线加密***、数据线加密方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215480A (ja) * 2001-01-15 2002-08-02 Sony Corp マルチプロセッサ・システム及びマルチプロセッサ・システムにおけるデータ通信制御方法
JP4815715B2 (ja) * 2001-08-13 2011-11-16 ソニー株式会社 個人認証システム、個人認証方法、および認証デバイス、並びにコンピュータ・プログラム
KR20050007830A (ko) * 2003-07-11 2005-01-21 삼성전자주식회사 기기간 컨텐츠 교환을 위한 도메인 인증 방법
JP4797506B2 (ja) * 2005-08-11 2011-10-19 富士電機リテイルシステムズ株式会社 非接触通信媒体の識別方法および決済装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073827A (zh) * 2017-12-07 2018-05-25 珠海市横琴新区龙族科技有限公司 数据线、终端、数据线加密***、数据线加密方法

Also Published As

Publication number Publication date
JP2013073257A (ja) 2013-04-22

Similar Documents

Publication Publication Date Title
US10015159B2 (en) Terminal authentication system, server device, and terminal authentication method
CN113259329B (zh) 一种数据不经意传输方法、装置、电子设备及存储介质
US11075759B2 (en) Fingerprint data processing method and processing apparatus
US20170085543A1 (en) Apparatus and method for exchanging encryption key
JP2005102163A (ja) 機器認証システム、機器認証サーバ、端末機器、機器認証方法、機器認証プログラム、及び記憶媒体
CN109391468A (zh) 一种认证方法及***
CN109309566B (zh) 一种认证方法、装置、***、设备及存储介质
JP2008172736A (ja) 暗号文復号権委譲システム
JP2007173999A (ja) 認証システム及び認証対象装置
CN113708917A (zh) 基于属性加密的app用户数据访问控制***及方法
CN101296077B (zh) 一种基于总线型拓扑结构的身份认证***
JP5792573B2 (ja) 相互認証システム及び相互認証方法
CN115603891A (zh) 自主可控的密文数据安全计算方法和***
JP3897177B2 (ja) 認証方法、および情報処理装置
JP2009071481A (ja) 通信制御システム、端末、及び、プログラム
JP2002232410A (ja) 暗号化データの通信装置および通信方法
JP2006270348A (ja) 相互認証及び鍵共有システム
JP2002063139A (ja) 端末装置、サーバ装置および端末認証方法
CN114900292B (zh) 一种预计算***、预计算数据处理方法及装置
JP7170588B2 (ja) データ処理方法及びデータ処理システム
JP2000349748A (ja) 秘密情報共有方法
US10491385B2 (en) Information processing system, information processing method, and recording medium for improving security of encrypted communications
KR101006803B1 (ko) 인증 기능을 갖는 rfid 인증 장치 및 방법
JP2000307565A (ja) 通信方法、その装置およびicカード
KR101758232B1 (ko) 블록 암호화 또는 블록 복호화 방법, 그 장치 및 블록 암호화 또는 복호화 프로그램을 저장하는 저장매체

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