JP2006080642A - 情報処理装置および方法、プログラム並びに記録媒体 - Google Patents

情報処理装置および方法、プログラム並びに記録媒体 Download PDF

Info

Publication number
JP2006080642A
JP2006080642A JP2004259857A JP2004259857A JP2006080642A JP 2006080642 A JP2006080642 A JP 2006080642A JP 2004259857 A JP2004259857 A JP 2004259857A JP 2004259857 A JP2004259857 A JP 2004259857A JP 2006080642 A JP2006080642 A JP 2006080642A
Authority
JP
Japan
Prior art keywords
authentication data
information processing
processing apparatus
authentication
random number
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.)
Withdrawn
Application number
JP2004259857A
Other languages
English (en)
Inventor
Mitsuhiro Nakamura
光宏 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2004259857A priority Critical patent/JP2006080642A/ja
Priority to US11/210,940 priority patent/US20060050877A1/en
Priority to EP05291840A priority patent/EP1632836A2/en
Priority to CNA2005100992258A priority patent/CN1746941A/zh
Priority to SG200505676A priority patent/SG120321A1/en
Publication of JP2006080642A publication Critical patent/JP2006080642A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user

Landscapes

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

Abstract

【課題】通信する機器同士が確実に相互認証することができるようにする。
【解決手段】 機器Aが乱数RanAに基づいて認証用データ1を生成し、機器Bに送信する。機器Bは、認証用データ1の乱数RanAを複数の暗号アルゴリズムで暗号化し、認証用データ2を生成し、機器Aに送信する。機器Aは、認証用データ2を、複数の暗号アルゴリズムに対応する復号方法で復号し、乱数RanAが得られた場合、機器Bを認証する。機器Bも同様に機器Aを認証することにより機器Aと機器Bとが相互認証を行う。本発明は、非接触型ICカードに適用することができる。
【選択図】図9

Description

本発明は、情報処理装置および方法、プログラム並びに記録媒体に関し、特に、通信する機器同士が確実に相互認証することができるようにする情報処理装置および方法、プログラム並びに記録媒体に関する。
ICカードを用いた各種のトランザクション処理などを行う場合、セキュリティを強化するため、トランザクション処理の実行に先立って、ICカードとリーダライタとが相互に認証(相互認証)を行うことが一般的である(例えば、特許文献1参照)。
従来の相互認証は、図1と図2に示されるようにして行われていた。すなわち、リーダライタがICカードを認証する場合、図1に示されるように、リーダライタが、乱数Aを発生し、乱数AをICカードに送信する。ICカードは、乱数Aを、鍵1を用いて所定の暗号アルゴリズムで暗号化し、さらに、鍵2を用いて同じ暗号アルゴリズムで暗号化し、認証用データ1を生成し、認証用データ1をリーダライタに送信する。ここで、鍵1と鍵2は、予めリーダライタとICカードとにより共有されており、暗号アルゴリズムも予めリーダライタとICカードとにより同じ暗号アルゴリズムが実装されている。
次に、リーダライタは、認証用データ1を受信し、鍵2を用いて上述した暗号アルゴリズムに則って復号し、さらに鍵1を用いて同じ暗号アルゴリズムに則って復号する。この処理の結果、乱数Aが得られれば、リーダライタはICカードを(正当なICカードとして)認証する。
一方、ICカードがリーダライタを認証する場合、図2に示されるように、ICカードが、乱数Bを発生し、乱数Bをリーダライタに送信する。リーダライタは、乱数Bを、鍵1を用いて所定の暗号アルゴリズムで暗号化し、さらに、鍵2を用いて同じ暗号アルゴリズムで暗号化し、認証用データ2を生成し、認証用データ2をICカードに送信する。
次に、ICカードは、認証用データ2を受信し、鍵2を用いて上述した暗号アルゴリズムに則って復号し、さらに鍵1を用いて同じ暗号アルゴリズムに則って復号する。この処理の結果、乱数Bが得られれば、ICカードはリーダライタを(正当なリーダライタとして)認証する。
また、相互認証の確実性を高めるために、予めリーダライタとICカードとにより共有されている鍵(鍵1と鍵2)を利用する代わりに、アクセスするデータの種類などに応じて定まる鍵を利用して相互認証用の鍵を生成する方法も提案されている。この場合、相互認証用の鍵は、図3に示されるようにして生成される。
すなわち、例えば、トランザクションでアクセスするデータがデータD1乃至D5である場合、リーダライタまたはICカードは、互いに共有するテキストデータなどの平文を、データD1乃至D5に対応付けられた鍵I乃至鍵Vにより暗号化し、相互認証用の暗号鍵を生成する。この場合、アクセスするデータと鍵を対応付けるテーブルが、予めリーダライタとICカードとにより共有されていることになる。
特開平10−20780号公報
しかしながら、従来の技術では、相互認証に用いられる暗号アルゴリズムが、予め定められたものに限られるため、例えば、その暗号アルゴリズムの解読方法が発見された場合に、相互認証の確実性が低くなるという課題があった。
本発明はこのような状況に鑑みてなされたものであり、通信する機器同士が確実に相互認証することができるようにするものである。
本発明の情報処理装置は、有線または無線により、他の情報処理装置と通信を行う情報処理装置であって、乱数を発生する乱数発生手段と、乱数発生手段により発生された乱数に基づいて、他の情報処理装置の認証に関する第1の認証データを生成する第1の認証データ生成手段と、第1の認証データを他の情報処理装置に送信する認証データ送信手段と、第1の認証データに基づいて、他の情報処理装置により生成された他の情報処理装置の認証に関する第2の認証データを受信する認証データ受信手段と、第2の認証データを、複数または単数の暗号化方式に対応する復号方式を用いて復号する復号手段と、復号手段により復号された第2の認証データと、乱数発生手段により発生された乱数に基づいて、他の情報処理装置が正当な通信相手か否かを認証する認証手段とを備えることを特徴とする。
前記複数または単数の暗号化方式に関する情報を記憶し、復号手段に供給する暗号化方式管理手段をさらに備えるようにすることができる。
前記暗号化方式に関する情報は、暗号アルゴリズムを特定する情報と、暗号アルゴリズム、または暗号アルゴリズムに対応する復号方法によりデータの暗号化、または復号を行う場合に用いられる鍵の情報とを含み、暗号化方式管理手段は、それぞれ異なる複数の暗号化方式の情報を、復号手段に、予め設定された順番で供給するようにすることができる。
前記暗号化方式に関する情報は、他の情報処理装置により共有され、第2の認証データは、他の情報処理装置により、第1の認証データの前記乱数が、それぞれ異なる複数の暗号化方式で暗号化され、生成されるようにすることができる。
前記復号手段は、第2の認証データを、他の情報処理装置が用いた複数の暗号化方式に対応する復号方法で復号し、認証手段は、復号手段により復号された第2の認証データが、乱数と一致した場合、他の情報処理装置を、正当な通信相手として認証するようにすることができる。
前記暗号化方式管理手段は、鍵を生成するために必要となる情報をさらに記憶し、情報に基づいて、鍵を生成するようにすることができる。
前記鍵を生成するために必要となる情報には、利用されるデータの種類に対応付けられた、異なる複数の暗号化方式の情報が含まれ、暗号化方式管理手段は、利用される複数または単数のデータの種類に対応する暗号化方式により、他の情報処理装置と共有する平文を暗号化することにより、鍵を生成するようにすることができる。
前記暗号化方式に関する情報は、暗号アルゴリズムを特定する情報と、暗号アルゴリズムによりデータの暗号化を行う場合に用いられる鍵の情報とを含むようにすることができる。
前記他の情報処理装置により、自分が認証されるために発生される乱数に基づいて生成される第3の認証データをさらに受信し、第3の認証データの乱数を、複数または単数の暗号化方式を用いて暗号化し、第4の認証データを生成し、他の情報処理装置に送信するようにすることができる。
前記第4の認証データに基づいて、他の情報処理装置により認証されるようにすることができる。
本発明の情報処理方法は、有線または無線により、他の情報処理装置と通信を行う情報処理装置の情報処理方法であって、乱数を発生する乱数発生ステップと、乱数発生ステップの処理により発生された乱数に基づいて、他の情報処理装置の認証に関する第1の認証データを生成する第1の認証データ生成ステップと、第1の認証データを他の情報処理装置に送信する認証データ送信ステップと、第1の認証データに基づいて、他の情報処理装置により生成された他の情報処理装置の認証に関する第2の認証データを受信する認証データ受信ステップと、第2の認証データを、複数または単数の暗号化方式に対応する復号方式を用いて復号する復号ステップと、復号ステップの処理により復号された第2の認証データと、乱数発生ステップの処理により発生された乱数に基づいて、他の情報処理装置が正当な通信相手か否かを認証する認証ステップとを含むことを特徴とする。
本発明のプログラムは、有線または無線により、他の情報処理装置と通信を行う情報処理装置のプログラムであって、乱数の発生を制御する乱数発生制御ステップと、乱数発生制御ステップの処理により発生された乱数に基づいて、他の情報処理装置の認証に関する第1の認証データの生成を制御する第1の認証データ生成制御ステップと、第1の認証データの他の情報処理装置への送信を制御する認証データ送信制御ステップと、第1の認証データに基づいて、他の情報処理装置により生成された他の情報処理装置の認証に関する第2の認証データの受信を制御する認証データ受信制御ステップと、第2の認証データを、複数または単数の暗号化方式に対応する復号方式を用いて復号するように制御する復号制御ステップと、復号制御ステップの処理により復号された第2の認証データと、乱数発生制御ステップの処理により発生された乱数に基づいて、他の情報処理装置が正当な通信相手か否かの認証を制御する認証制御ステップとをコンピュータに実行させることを特徴とする。
本発明の記録媒体は、有線または無線により、他の情報処理装置と通信を行う情報処理装置のプログラムが記録されている記録媒体であって、乱数の発生を制御する乱数発生制御ステップと、乱数発生制御ステップの処理により発生された乱数に基づいて、他の情報処理装置の認証に関する第1の認証データの生成を制御する第1の認証データ生成制御ステップと、第1の認証データの他の情報処理装置への送信を制御する認証データ送信制御ステップと、第1の認証データに基づいて、他の情報処理装置により生成された他の情報処理装置の認証に関する第2の認証データの受信を制御する認証データ受信制御ステップと、第2の認証データを、複数または単数の暗号化方式に対応する復号方式を用いて復号するように制御する復号制御ステップと、復号制御ステップの処理により復号された第2の認証データと、乱数発生制御ステップの処理により発生された乱数に基づいて、他の情報処理装置が正当な通信相手か否かの認証を制御する認証制御ステップとをコンピュータに実行させるプログラムが記録されることを特徴とする。
本発明の情報処理装置および方法、並びにプログラムにおいては、乱数が発生され、発生された乱数に基づいて、他の情報処理装置の認証に関する第1の認証データが生成され、第1の認証データが他の情報処理装置に送信され、第1の認証データに基づいて、他の情報処理装置により生成された他の情報処理装置の認証に関する第2の認証データが受信される。また、第2の認証データが、複数または単数の暗号化方式に対応する復号方式を用いて復号され、復号された第2の認証データと、発生された乱数に基づいて、他の情報処理装置が正当な通信相手か否かが認証される。
本発明によれば、通信する機器同士が確実に相互認証することができる。
以下に本発明の実施の形態を説明するが、本明細書に記載した発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が明細書に記載されていることを確認するためのものである。従って、明細書には記載されているが、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
さらに、この記載は、明細書に記載されている発明が、全て請求されていることを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出願、または追加される発明の存在を否定するものではない。
請求項1に記載の情報処理装置は、有線または無線により、他の情報処理装置と通信を行う情報処理装置(例えば、図4の機器B)であって、乱数(例えば、乱数RanB)を発生する乱数発生手段(例えば、図16のステップS201の処理を実行する図8の乱数発生部411)と、前記乱数発生手段により発生された乱数に基づいて、前記他の情報処理装置の認証に関する第1の認証データ(例えば、認証データ3)を生成する第1の認証データ生成手段(例えば、図16のステップS204の処理を実行する図8の認証データ生成部418)と、前記第1の認証データを前記他の情報処理装置に送信する認証データ送信手段(例えば、図9のステップS26の処理を実行する図8のデータ送信部417)と、前記第1の認証データに基づいて、前記他の情報処理装置により生成された前記他の情報処理装置の認証に関する第2の認証データ(例えば、認証データ4)を受信する認証データ受信手段(例えば、図9のステップS28の処理を実行する図8のデータ受信部416)と、前記第2の認証データを、複数または単数の暗号化方式(例えば、図12の暗号化方式1乃至暗号化方式3)に対応する復号方式を用いて復号する復号手段(例えば、図23のステップS341の処理を実行する図8の復号実行部413)と、前記復号手段により復号された前記第2の認証データと、前記乱数発生手段により発生された乱数に基づいて、前記他の情報処理装置が正当な通信相手か否かを認証する認証手段(例えば、図23のステップS343の処理を実行する図8の認証部414)とを備える。
請求項2に記載の情報処理装置は、前記複数または単数の暗号化方式に関する情報を記憶し、前記復号手段に供給する暗号化方式管理手段(例えば、図8のアルゴリズム/鍵情報管理部415)をさらに備えるようにすることができる。
請求項3に記載の情報処理装置は、前記暗号化方式に関する情報が、暗号アルゴリズムを特定する情報(例えば、図12のアルゴリズム1乃至アルゴリズム3)と、前記暗号アルゴリズム、または前記暗号アルゴリズムに対応する復号方法によりデータの暗号化、または復号を行う場合に用いられる鍵(例えば、図12の鍵1乃至鍵3)の情報とを含み、前記暗号化方式管理手段は、それぞれ異なる複数の暗号化方式の情報を、前記復号手段に、予め設定された順番で供給するようにすることができる。
請求項4に記載の情報処理装置は、前記暗号化方式に関する情報は、前記他の情報処理装置により共有され、前記第2の認証データは、前記他の情報処理装置により、前記第1の認証データの前記乱数(例えば、乱数RanB)が、それぞれ異なる複数の暗号化方式で暗号化され(例えば、図22のステップS321乃至S323の処理により暗号されて)、生成されるようにすることができる。
請求項5に記載の情報処理装置は、前記復号手段が、前記第2の認証データを、前記他の情報処理装置が用いた複数の前記暗号化方式に対応する復号方法で復号し(例えば、図24のステップS361乃至S363の処理により復号し)、前記認証手段は、前記復号手段により復号された前記第2の認証データが、前記乱数と一致した場合、前記他の情報処理装置を、正当な通信相手として認証するようにすることができる。
請求項6に記載の情報処理装置は、前記暗号化方式管理手段は、前記鍵を生成するために必要となる情報(例えば、図25の情報)をさらに記憶し、前記情報に基づいて、前記鍵を生成する(例えば、図26の処理により生成する)ようにすることができる。
請求項7に記載の情報処理装置は、前記鍵を生成するために必要となる情報には、利用されるデータ(例えば、図25のデータ1乃至データ5)の種類に対応付けられた、異なる複数の暗号化方式(例えば、図25の暗号化方式A乃至暗号化方式E)の情報が含まれ、前記暗号化方式管理手段は、利用される複数または単数のデータの種類に対応する暗号化方式により、前記他の情報処理装置と共有する平文を暗号化する(例えば、図26のステップS381乃至387の処理により暗号化する)ことにより、前記鍵を生成するようにすることができる。
請求項8に記載の情報処理装置は、前記暗号化方式に関する情報は、暗号アルゴリズムを特定する情報(例えば、図25のアルゴリズムA乃至アルゴリズムD)と、前記暗号アルゴリズムによりデータの暗号化を行う場合に用いられる鍵(例えば、図25の鍵A乃至鍵E)の情報とを含むようにすることができる。
請求項9に記載の情報処理装置は、前記他の情報処理装置により、自分が認証されるために発生される乱数(例えば、乱数RanA)に基づいて生成される第3の認証データ(例えば、認証用データ1)をさらに受信し(例えば、図9のステップS23の処理により受信し)、前記第3の認証データの前記乱数を、複数または単数の暗号化方式(例えば、図12の暗号化方式1乃至暗号化方式3)を用いて暗号化し、第4の認証データ(例えば、認証用データ2)を生成し(例えば、図9のステップS24の処理により生成し)、前記他の情報処理装置に送信する(例えば、例えば、図9のステップS26の処理により送信する)ようにすることができる。
請求項10に記載の情報処理装置は、前記第4の認証データに基づいて、前記他の情報処理装置により認証される(例えば、図9のステップS6の処理により認証される)ようにすることができる。
請求項11に記載の情報処理方法は、有線または無線により、他の情報処理装置と通信を行う情報処理装置(例えば、図4の機器B)の情報処理方法であって、乱数(例えば、乱数RanB)を発生する乱数発生ステップ(例えば、図16のステップS201の処理)と、前記乱数発生ステップの処理により発生された乱数に基づいて、前記他の情報処理装置の認証に関する第1の認証データ(例えば、認証データ3)を生成する第1の認証データ生成ステップ(例えば、図16のステップS204の処理)と、前記第1の認証データを前記他の情報処理装置に送信する認証データ送信ステップ(例えば、図9のステップS26の処理)と、前記第1の認証データに基づいて、前記他の情報処理装置により生成された前記他の情報処理装置の認証に関する第2の認証データ(例えば、認証データ4)を受信する認証データ受信ステップ(例えば、図9のステップS28の処理)と、前記第2の認証データを、複数または単数の暗号化方式(例えば、図12の暗号化方式1乃至暗号化方式3)に対応する復号方式を用いて復号する復号ステップ(例えば、図23のステップS341の処理)と、前記復号ステップの処理により復号された前記第2の認証データと、前記乱数発生ステップの処理により発生された乱数に基づいて、前記他の情報処理装置が正当な通信相手か否かを認証する認証ステップ(例えば、図23のステップS343の処理)とを含む。
請求項12に記載のプログラムは、有線または無線により、他の情報処理装置と通信を行う情報処理装置(例えば、図4の機器B)のプログラムであって、乱数(例えば、乱数RanB)の発生を制御する乱数発生制御ステップ(例えば、図16のステップS201の処理)と、前記乱数発生制御ステップの処理により発生された乱数に基づいて、前記他の情報処理装置の認証に関する第1の認証データ(例えば、認証データ3)の生成を制御する第1の認証データ生成制御ステップ(例えば、図16のステップS204の処理)と、前記第1の認証データの前記他の情報処理装置への送信を制御する認証データ送信制御ステップ(例えば、図9のステップS26の処理)と、前記第1の認証データに基づいて、前記他の情報処理装置により生成された前記他の情報処理装置の認証に関する第2の認証データ(例えば、認証データ4)の受信を制御する認証データ受信制御ステップ(例えば、図9のステップS28の処理)と、前記第2の認証データを、複数または単数の暗号化方式(例えば、図12の暗号化方式1乃至暗号化方式3)に対応する復号方式を用いて復号するように制御する復号制御ステップ(例えば、図23のステップS341の処理)と、前記復号制御ステップの処理により復号された前記第2の認証データと、前記乱数発生制御ステップの処理により発生された乱数に基づいて、前記他の情報処理装置が正当な通信相手か否かの認証を制御する認証制御ステップ(例えば、図23のステップS343の処理)とをコンピュータに実行させる。
請求項13に記載の記録媒体は、有線または無線により、他の情報処理装置と通信を行う情報処理装置(例えば、図4の機器B)のプログラムが記録されている記録媒体であって、乱数(例えば、乱数RanB)の発生を制御する乱数発生制御ステップ(例えば、図16のステップS201の処理)と、前記乱数発生制御ステップの処理により発生された乱数に基づいて、前記他の情報処理装置の認証に関する第1の認証データ(例えば、認証データ3)の生成を制御する第1の認証データ生成制御ステップ(例えば、図16のステップS204の処理)と、前記第1の認証データの前記他の情報処理装置への送信を制御する認証データ送信制御ステップ(例えば、図9のステップS26の処理)と、前記第1の認証データに基づいて、前記他の情報処理装置により生成された前記他の情報処理装置の認証に関する第2の認証データ(例えば、認証データ4)の受信を制御する認証データ受信制御ステップ(例えば、図9のステップS28の処理)と、前記第2の認証データを、複数または単数の暗号化方式(例えば、図12の暗号化方式1乃至暗号化方式3)に対応する復号方式を用いて復号するように制御する復号制御ステップ(例えば、図23のステップS341の処理)と、前記復号制御ステップの処理により復号された前記第2の認証データと、前記乱数発生制御ステップの処理により発生された乱数に基づいて、前記他の情報処理装置が正当な通信相手か否かの認証を制御する認証制御ステップ(例えば、図23のステップS343の処理)とをコンピュータに実行させるプログラムが記録される。
以下、図面を参照して、本発明の実施の形態について説明する。図4は、本発明に係る情報処理システムの一実施の形態を示す図である。同図に示されるように、機器Aと機器Bとが通信を行い、機器Aと機器Bとがお互いに認証し合う相互認証を行ったあと、トランザクション処理が行われる。ここで、機器Aは、例えば、非接触ICカード用のリーダライタなどの機器を想定しており、機器Bは、例えば、非接触ICカードなどの機器を想定している。機器Aと機器Bは、例えば、それぞれが有するアンテナなどを介して無線による通信を行う。
図5は、機器A(リーダライタ)の内部構成例を示すブロック図である。
制御部201は、CPU211、ROM212、RAM213、SCC(Serial Communication Controller)214、SPU(Signal Processing Unit)216、並びに、これらのCPU211乃至SPU216を相互に接続するバス215から構成されている。
CPU211は、ROM212に格納されている制御プログラムをRAM213に展開し、例えば、非接触ICカード(機器B)から送信されてきた応答データや、外部のプロセッサなどから供給されてきた制御信号に基づいて、各種の処理を実行する。例えば、CPU211は、非接触ICカード(機器B)に送信するコマンドを生成し、それを、バス215を介してSPU216に出力したり、非接触ICカード(機器B)から送信されてきたデータの認証処理などを行ったりする。
SCC214は、バス200を介して接続される外部のプロセッサなどから供給されてきたデータを、バス215を介してCPU211に供給したり、CPU211から、バス215を介して供給されてきたデータを、バス200を介して接続される外部のプロセッサなどに出力したりする。
SPU216は、非接触ICカード(機器B)からの応答データが復調部204から供給されてきたとき、そのデータに対して、例えば、BPSK復調(マンチェスターコードのデコード)などを施し、取得したデータをCPU211に供給する。また、SPU216は、非接触ICカード(機器B)に送信するコマンドがバス215を介して供給されてきたとき、そのコマンドにBPSK(Binary Phase Shift Keying)変調(マンチェスターコードへのコーディング)を施し、取得したデータを変調部202に出力する。
変調部202は、発振回路(OSC)203から供給される所定の周波数の搬送波を、SPU216より供給されるデータに基づいて、ASK(Amplitude Shift Keying)変調し、生成された変調波を、電磁波としてアンテナ205から出力する。一方、復調部204は、アンテナ205を介して取得した変調波(ASK変調波)を復調し、復調されたデータをSPU206に出力する。
アンテナ205は、所定の電磁波を輻射し、それに対する負荷の変化に基づいて、非接触ICカード(機器B)が近接されたか否かを検出する。そして、例えば、非接触ICカード(機器B)が近接されたとき、アンテナ205は、非接触ICカード(機器B)と各種のデータを送受信する。
図6は、機器B(非接触ICカード)の内部構成例を示すブロック図である。
非接触ICカード(機器B)は、例えば、図に示すアンテナ(ループアンテナ)230およびコンデンサ231と、それ以外の構成が1チップに格納されたICから構成され、電磁誘導を利用してリーダライタ(機器A)などと各種のデータを半二重通信するものであって、必ずしもカード状のものとして構成されるわけではない。
CPU221は、ROM222に格納されている制御プログラムをRAM223に展開し、非接触ICカードの全体の動作を制御する。例えば、CPU221は、リーダライタ(機器A)から輻射されている電磁波がアンテナ230において受信されたとき、それに応じて、非接触ICカード(機器B)に設定されているカード識別番号等を含むICカード情報をリーダライタ(機器A)に通知したり、リーダライタ(機器A)からの要求に応じて、トランザクション処理に必要となる情報をリーダライタ(機器A)に供給したりする。
アンテナ230とコンデンサ231により構成されるLC回路は、近傍に配置されたリーダライタ(機器A)から輻射される所定の周波数の電磁波と共振する。インタフェース部229は、ASK復調部243において、アンテナ230を介して受信した変調波(ASK変調波)を包絡線検波して復調し、復調後のデータをBPSK(Binary Phase Shift Keying)復調部232に出力する。
また、インタフェース部229は、アンテナ230において励起された交流磁界をASK復調部243により整流し、それを電圧レギュレータ241において安定化し、各部に直流電源として供給する。リーダライタ(機器A)から輻射される電磁波の電力は、後述するように非接触ICカード(機器B)に必要な電力を賄う磁界を発生させるように調整されている。
また、インタフェース部229の発振回路244はPLL(Phase Locked Loop)回路を内蔵し、受信信号のクロック周波数と同一の周波数のクロック信号を発生する。
さらに、インタフェース部229は、所定の情報をリーダライタ(機器A)に送信する場合、BPSK変調部228から供給されるデータに対応して、例えば、所定のスイッチング素子(図示せず)をオン/オフさせ、スイッチング素子がオン状態であるときだけ、所定の負荷をアンテナ230に並列に接続させることにより、アンテナ230の負荷を変動させる。
ASK変調部242は、アンテナ230の負荷の変動により、BPSK変調部228より供給されたBPSK変調波をASK変調し、その変調成分を、アンテナ230を介してリーダライタ(機器A)に送信する。
BPSK復調部232は、ASK復調部243で復調されたデータがBPSK変調されている場合、図示せぬPLL回路から供給されるクロック信号に基づいて、そのデータの復調(マンチェスターコードのデコード)を行い、復調したデータをデータ受信部233に出力する。データ受信部233は、供給されてきたデータをCPU221に適宜出力する。CPU221はこのデータをRAM223またはEEPROM224に記憶させる。
EEPROM224に記憶されたデータは、CPU221により読み出され、データ送信部227に供給される。BPSK変調部228は、データ送信部227から供給されてきたデータにBPSK変調(マンチェスターコードへのコーディング)を行い、それをASK変調部242に出力する。
EEPROM224には、例えば、相互認証において必要となる情報、トランザクション処理において必要となる情報などが適宜記憶される。
ここでは、機器Aを非接触ICカード用のリーダライタ、機器Bを非接触ICカードにより構成し、機器Aと機器Bとが無線により通信する例について説明したが、機器Aを接触型ICカード用のリーダライタ、機器Bを接触型ICカードにより構成し、有線の通信を行うようにすることも勿論可能である。さらに、機器Aと機器Bとが、それぞれパーソナルコンピュータ、PDA(Personal Digital Assistants)などの情報処理装置として構成される場合であっても、本発明を適用することが可能である。
図7は、図5のCPU211により実行されるソフトウェアの機能的構成例を示すブロック図である。
乱数発生部311は、通信相手(いまの場合機器B)と相互認証を行うとき必要となる乱数を発生し、発生した乱数を暗号化実行部312に供給するとともに、RAM213などにより構成される記憶部に記憶する。
暗号化実行部312は、アルゴリズム/鍵情報管理部315から供給される情報に基づいて特定される、所定の暗号アルゴリズムと鍵により乱数発生部311が発生した乱数、または後述する復号実行部313から出力されるデータを暗号化する。暗号化実行部312は、例えば、DES(Data Encryption Standard)、トリプルDES、AES(Advanced Encryption Standard)などの暗号アルゴリズムに対応しており、例えば、アルゴリズム/鍵情報管理部315からDESを特定する情報と所定の鍵が供給された場合、DESとその鍵により乱数またはデータを暗号化する。
復号実行部313は、データ受信部316から受信されたデータを、アルゴリズム/鍵情報管理部315から供給される情報に基づいて特定される、所定の暗号アルゴリズムと鍵により復号する。復号実行部313は、例えば、DES、トリプルDES、AESなどの暗号アルゴリズムに対応しており、例えば、アルゴリズム/鍵情報管理部315からDESを特定する情報と所定の鍵が供給された場合、DESとその鍵によりデータを復号する。
認証部314は、復号実行部313から出力されたデータと、記憶部に記憶されている乱数を比較し、その比較結果に基づいて、通信相手(いまの場合機器B)を認証し、認証結果をデータ送信部317に出力する。
アルゴリズム/鍵情報管理部315は、予め設定された複数(または単数)の暗号アルゴリズムを特定する情報と、それらの暗号アルゴリズムによりデータ(例えば、乱数)を暗号化する場合に用いられる鍵の情報を対応付けて記憶しており、その情報を必要に応じて暗号化実行部312と復号実行部313に供給する。また、アルゴリズム/鍵情報管理部315は、それぞれ種類の異なる暗号アルゴリズムを特定する情報、および鍵を、暗号化実行部312、または復号実行部313に順次供給することにより、暗号化実行部312、または復号実行部313によるデータの暗号化または復号の処理を、それぞれ種類の異なる暗号アルゴリズムにより多段階に実行させることができる。
認証データ生成部318は、暗号化実行部312、または復号実行部313から出力されるデータに基づいて、後述する認証データを生成する。
データ送信部316とデータ受信部317は、それぞれ通信相手(いまの場合機器B)とのデータの送受信を制御する。
図8は、図6のCPU221により実行されるソフトウェアの機能的構成例を示すブロック図である。
同図において、乱数発生部411乃至認証データ生成部418は、図7の乱数発生部311乃至認証データ生成部318に対応する機能ブロックであり、それぞれ同様の機能を有するものなので、詳細な説明は省略するが、図8のアルゴリズム/鍵情報管理部415は、図7のアルゴリズム/鍵情報管理部315に対応するアルゴリズム/鍵情報管理部とされ、相互認証を行う通信相手である機器Aとの間で、予め設定された複数(または単数)の暗号アルゴリズムを特定する情報と、それらの暗号アルゴリズムによりデータ(例えば、乱数)を暗号化する場合に用いられる鍵の情報を共有して記憶している。
すなわち、機器Aにより暗号化されて送信された情報を機器Bが正しく復号できるように、また、機器Bが暗号化して送信した情報を機器Aが正しく復号できるように、暗号アルゴリズムを特定する情報と、それらの暗号アルゴリズムによりデータを暗号化する場合に用いられる鍵の情報とが、アルゴリズム/鍵情報管理部315とアルゴリズム/鍵情報管理部415との間で予め共有されており、アルゴリズム/鍵情報管理部415は、暗号アルゴリズムを特定する情報と、それらの暗号アルゴリズムによりデータを暗号化する場合に用いられる鍵の情報とを、必要に応じて暗号化実行部412と復号実行部413に供給する。
また、アルゴリズム/鍵情報管理部415は、上述したアルゴリズム/鍵情報管理部315と同様に、それぞれ種類の異なる暗号アルゴリズムを特定する情報、および鍵を、暗号化実行部412、または復号実行部413に順次供給することにより、暗号化実行部412、または復号実行部413によるデータの暗号化または復号の処理を、それぞれ種類の異なる暗号アルゴリズムにより多段階に実行させることができる。
次に、機器Aと機器Bにおいて行われる相互認証の処理の流れについて、図9のアローチャートを参照して説明する。この処理は、例えば、非接触ICカード用のリーダライタとして構成される機器Aにおいて、アンテナ205が、所定の電磁波を輻射し、それに対する負荷の変化に基づいて、非接触ICカードとして構成される機器Bが近接されたことが検出されたとき、トランザクション処理の実行に先立って実行される。
ステップS1において、機器Aは、機器Bに対してポーリングを送信し、ステップS21において、機器Bによりこれが受信される。ステップS22において機器Bは、ステップS21で受信したポーリングに対する応答を機器Aに対して送信し、ステップS2において、機器Aによりこれが受信される。これにより、機器Aと機器Bにおいて相互認証の処理が開始される。
ステップS3において、機器Aは、図3を参照して後述する認証用データ1生成処理を実行する。これにより、機器Aが機器Bを認証するためのデータであって、乱数が暗号化された認証用データ1が生成される。そして、ステップS4において、機器Aは、ステップS3の処理で生成した認証用データ1、および機器Aと機器Bとの間で利用されるデータを特定する情報であるアクセス対象リストを機器Bに対して送信し、ステップS23において、機器Bによりこれが受信される。なお、認証用データ1として、乱数を、暗号化せず、そのまま送信するようにしてもよい。
ステップS24において、機器Bは、ステップS23で受信した認証用データ1に基づいて、図13を参照して後述する認証用データ2生成処理を実行する。これにより、ステップS23で受信した認証用データ1が復号され、復号されたた認証用データ1が、機器Bにより暗号され、認証用データ2が生成される。なお、認証用データ1として、乱数が、暗号化されずにそのまま送信される場合、認証用データ1の復号は不要となる。
ステップS25において、機器Bは、図16を参照して後述する認証用データ3生成処理を実行する。これにより、機器Bが機器Aを認証するためのデータであって、乱数が暗号化された認証用データ3が生成される。そして、ステップS26において、機器Bは、ステップS24の処理で生成した認証用データ2、およびステップS25の処理で生成した認証用データ3を機器Aに対して送信し、ステップS5において、機器Aによりこれが受信される。なお、認証用データ3として、乱数を、暗号化せず、そのまま送信するようにしてもよい。
ステップS6において、機器Aは、ステップS5で受信した認証用データ2と認証用データ3のうち、認証用データ2に基づいて、図18を参照して後述する機器Bの認証処理を実行する。これにより、機器Aにより機器Bの認証(機器Bが正当な通信相手であるか否かの認証)が行われ、その認証結果が出力される。
ステップS7において、機器Aは、ステップS6の処理による認証結果を判定する。ステップS7において、機器Aにより機器B(機器Bの正当性)が認証されたと判定された場合、処理は、ステップS8に進む。
一方、ステップS7において、機器Aにより機器B(機器Bの正当性)が認証されなかったと判定された場合、機器Aから機器Bに対してエラーが送信され、ステップS27において、機器Bによりこれが受信される。この場合、機器Aと機器Bとの相互認証の処理は、失敗したことになり、処理はここで終了する。
ステップS8において、機器Aは、ステップS5で受信した認証用データ2と認証用データ3のうち、認証用データ3に基づいて、図20を参照して後述する認証用データ4生成処理を実行する。これにより、ステップS5で受信した認証用データ3が復号され、復号されたた認証用データ3が、機器Aにより暗号され、認証用データ4が生成される。なお、認証用データ3として、乱数が、暗号化されずにそのまま送信される場合、認証用データ3の復号は不要となる。そして、ステップS9において、機器Aは、ステップS8の処理で生成した認証用データ4を機器Bに対して送信し、ステップS28において、機器Bによりこれが受信される。
ステップS29において、機器Bは、図23を参照して後述する機器Aの認証処理を実行する。これにより、機器Bにより機器Aの認証(機器Aが正当な通信相手であるか否かの認証)が行われ、その認証結果が出力される。
ステップS30において、機器Bは、ステップS29の処理による認証結果を判定する。ステップS30において、機器Bにより機器A(機器Aの正当性)が認証されたと判定された場合、機器Aと機器Bとの相互認証の処理は成功したことになり、これ以後、例えば、トランザクションなどの処理が、機器Aと機器Bにより行われる。
一方、ステップS30において、機器Bにより機器A(機器Aの正当性)が認証されなかったと判定された場合、機器Bから機器Aに対してエラーが送信され、ステップS10において、機器Aによりこれが受信される。この場合、機器Aと機器Bとの相互認証の処理は、失敗したことになり、処理はここで終了する。
次に、図10のフローチャートを参照して、図9のステップS3の認証用データ1生成処理の詳細について説明する。
ステップS101において、機器Aの乱数発生部311は、機器Bを認証するための乱数(以下、乱数RanAと称する)を発生し、ステップS102において、ステップS101で発生した乱数RanAを、RAM213などにより構成される記憶部に記憶する。
ステップS103において、暗号化実行部312は、図11を参照して後述する乱数RanA暗号化処理を実行する。これにより乱数RanAが暗号化される。そして、ステップS104において、暗号化された乱数RanAに基づいて(例えば、所定の制御情報等が付加されて)認証用データ1が生成される。
なお、乱数RanAを暗号化せず、所定の制御情報等を付加して認証用データ1を生成するようにしてもよい。この場合、ステップS103の処理は、スキップされる。
ここで、図11のフローチャートを参照して、図10のステップS103のRanA暗号化処理の詳細について説明する。
このとき暗号化実行部312は、乱数RanAの暗号化を行うが、上述したように、暗号化実行部312は、アルゴリズム/鍵情報管理部315から供給される、予め設定された複数(または単数)の暗号アルゴリズムを特定する情報と、それらの暗号アルゴリズムによりデータ(例えば、乱数)を暗号化する場合に用いられる鍵の情報に基づいて、暗号化を実行する。
図12は、アルゴリズム/鍵情報管理部315により記憶されている暗号アルゴリズムを特定する情報と、それらの暗号アルゴリズムによりデータ(例えば、乱数)を暗号化(または復号)する場合に用いられる鍵の情報の例を示す図である。なお、図12に示される情報は、上述したように、機器Aと機器Bにより共有され、アルゴリズム/鍵情報管理部415にも記憶されている。
同図において、暗号化方式1は、64ビットのデータ長の鍵1とアルゴリズム1により構成されている。ここでアルゴリズム1は、予め設定された複数の暗号アルゴリズムのうちの第1番目の暗号アルゴリズム(例えばDES)を特定する情報となり、鍵1は、この暗号アルゴリズムによりデータを暗号化する場合に用いられる鍵となる。
同様に、暗号化方式2は、128ビットのデータ長の鍵2とアルゴリズム2により構成されている。ここでアルゴリズム2は、予め設定された複数の暗号アルゴリズムのうちの第2番目の暗号アルゴリズム(例えばAES)を特定する情報となり、鍵2は、この暗号アルゴリズムによりデータを暗号化する場合に用いられる鍵となる。
さらに、暗号化方式3は、128ビットのデータ長の鍵3とアルゴリズム3により構成されている。ここでアルゴリズム3は、予め設定された複数の暗号アルゴリズムのうちの第3番目の暗号アルゴリズム(例えばトリプルDES)を特定する情報となり、鍵3は、この暗号アルゴリズムによりデータを暗号化する場合に用いられる鍵となる。
なお、アルゴリズム1乃至アルゴリズム3に対応する暗号アルゴリズムは、例えば、秘密鍵(共通鍵)方式の暗号アルゴリズムとし、鍵1乃至鍵3は、データの暗号化とともに、その暗号アルゴリズムに対応する復号方法で、暗号化されたデータを復号する場合にも用いられるものとする。
機器Aにおいては、アルゴリズム/鍵情報管理部315から、暗号化方式1乃至暗号化方式3の情報が、暗号化方式1乃至暗号化方式3の順に、暗号化実行部312に供給され、暗号化が行われるものとする。
すなわち、図11のステップS121において、暗号化実行部312は、乱数RanAを、アルゴリズム1に対応する暗号アルゴリズムと、鍵1で暗号化する。
次に、ステップS122において、暗号化実行部312は、ステップS121の処理により暗号化されたデータを、アルゴリズム2に対応する暗号アルゴリズムと、鍵2で暗号化する。
さらに、ステップS123において、暗号化実行部312は、ステップS122の処理により暗号化されたデータを、アルゴリズム3に対応する暗号アルゴリズムと、鍵3で暗号化する。
このようにして、乱数RanAに基づいて、認証用データ1が生成される。
次に、図13のフローチャートを参照して、図9のステップS24の認証用データ2生成処理の詳細について説明する。
ステップS141において、機器Bの復号実行部413は、図14を参照して後述する認証用データ1復号処理を実行する。これにより、認証用データ1が復号され、復号された認証用データ1(すなわち、乱数RanA)が、その処理結果のデータとして、ステップS142で取得される。なお、認証用データ1として、乱数RanAが暗号化されず、そのまま送信されている場合、ステップS141における復号の処理は不要となる。
ステップS143において、暗号化実行部412は、図15を参照して後述する処理結果データ暗号化処理を実行する。これにより、ステップS142で取得された処理結果のデータ(すなわち、乱数RanA)が機器Bにおいて、再び暗号化される。そして、ステップS144において、暗号化された処理結果のデータに基づいて(例えば、所定の制御情報等が付加されて)認証用データ2が生成される。
ここで、図14のフローチャートを参照して、図13のステップS141の認証用データ1復号処理の詳細について説明する。
このとき復号実行部413は、認証用データ1の復号を行うが、上述したように、復号実行部413は、アルゴリズム/鍵情報管理部415から供給される、予め設定された複数(または単数)の暗号アルゴリズムを特定する情報と、それらの暗号アルゴリズムによりデータ(例えば、乱数)を暗号化(または復号)する場合に用いられる鍵の情報に基づいて、復号を実行する。
機器Bにおいては、アルゴリズム/鍵情報管理部415から、図12を参照して上述した暗号化方式1乃至暗号化方式3の情報が、暗号化方式3乃至暗号化方式1の順に、復号実行部413に供給され、復号が行われるものとする。
すなわち、図14のステップS161において、復号実行部413は、認証用データ1を、アルゴリズム3に対応する暗号アルゴリズム(に対応する復号のアルゴリズム)と、鍵3で復号する。
次に、ステップS162において、復号実行部413は、ステップS161の処理により暗号化されたデータを、アルゴリズム2に対応する暗号アルゴリズム(に対応する復号のアルゴリズム)と、鍵2で復号する。
さらに、ステップS163において、復号実行部413は、ステップS162の処理により暗号化されたデータを、アルゴリズム1に対応する暗号アルゴリズム(に対応する復号のアルゴリズム)と、鍵1で復号する。
図11を参照して上述したように、認証用データ1は、乱数RanAが、アルゴリズム1と鍵1、アルゴリズム2と鍵2、アルゴリズム3と鍵3の順番で暗号化されることにより生成されている。したがって、認証用データ1を、アルゴリズム3と鍵3、アルゴリズム2と鍵2、アルゴリズム1と鍵1の順番で復号すれば、乱数RanAが取得されることになる。すなわち、アルゴリズム/鍵情報管理部315と、アルゴリズム/鍵情報管理部415が予め設定された、暗号アルゴリズムを特定する情報と、それらの暗号アルゴリズムによりデータを暗号化する場合に用いられる鍵の情報を、暗号化実行部312と、復号実行部413に正しく供給することにより、機器Aで発生した乱数RanAが機器Bで取得されることになる。
次に、図15のフローチャートを参照して、図13のステップS143の処理結果データ暗号化処理の詳細について説明する。
ステップS181において、暗号化実行部412は、図13のステップS142の処理で取得された処理結果データ(すなわち、乱数RanA)を、アルゴリズム3に対応する暗号アルゴリズムと、鍵3で暗号化する。
次に、ステップS182において、暗号化実行部412は、ステップS181の処理により暗号化されたデータを、アルゴリズム2に対応する暗号アルゴリズムと、鍵2で暗号化する。
さらに、ステップS183において、暗号化実行部412は、ステップS182の処理により暗号化されたデータを、アルゴリズム1に対応する暗号アルゴリズムと、鍵1で暗号化する。
このようにして、処理結果データ(乱数RanA)が再び暗号化され、暗号化された処理結果データに基づいて、認証用データ2が生成される。
次に、図16のフローチャートを参照して、図9のステップS25の認証用データ3生成処理の詳細について説明する。
ステップS201において、機器Bの乱数発生部411は、機器Aを認証するための乱数(以下、乱数RanBと称する)を発生し、ステップS202において、ステップS201で発生した乱数RanBを、RAM223などにより構成される記憶部に記憶する。
ステップS203において、暗号化実行部412は、図17を参照して後述する乱数RanB暗号化処理を実行する。これによりRanBが暗号化される。そして、ステップS204において、暗号化された乱数RanBに基づいて(例えば、所定の制御情報等が付加されて)認証用データ3が生成される。
なお、乱数RanBを暗号化せず、所定の制御情報等を付加して認証用データ3を生成するようにしてもよい。この場合、ステップS203の処理は、スキップされる。
ここで、図17のフローチャートを参照して、図16のステップS203のRanB暗号化処理の詳細について説明する。
このとき暗号化実行部412は、乱数RanBの暗号化を行うが、上述したように、暗号化実行部412は、アルゴリズム/鍵情報管理部415から供給される、予め設定された複数(または単数)の暗号アルゴリズムを特定する情報と、それらの暗号アルゴリズムによりデータを暗号化する場合に用いられる鍵の情報に基づいて、暗号化を実行する。
機器Bにおいては、アルゴリズム/鍵情報管理部415から、図12を参照して上述した暗号化方式1乃至暗号化方式3の情報が、暗号化方式3乃至暗号化方式1の順に、暗号化実行部412に供給され、暗号化が行われるものとする。
すなわち、ステップS221において、暗号化実行部412は、乱数RanBを、アルゴリズム3に対応する暗号アルゴリズムと、鍵3で暗号化する。
次に、ステップS222において、暗号化実行部412は、ステップS221の処理により暗号化されたデータを、アルゴリズム2に対応する暗号アルゴリズムと、鍵2で暗号化する。
さらに、ステップS223において、暗号化実行部412は、ステップS222の処理により暗号化されたデータを、アルゴリズム1に対応する暗号アルゴリズムと、鍵1で暗号化する。
このようにして、乱数RanBに基づいて、認証用データ3が生成される。
次に、図18のフローチャートを参照して、図9のステップS6の機器Bの認証処理の詳細について説明する。
ステップS241において、復号実行部313は、図19を参照して後述する認証用データ2復号処理を実行する。これにより、認証用データ2が復号され、復号された認証用データ2(すなわち、乱数RanA)が、その処理結果のデータとして、認証部314に取得される。
ここで、図19のフローチャートを参照して、図18のステップS241の認証用データ2復号処理の詳細について説明する。
このとき復号実行部313は、認証用データ2の復号を行うが、上述したように、復号実行部313は、アルゴリズム/鍵情報管理部315から供給される、予め設定された複数(または単数)の暗号アルゴリズムを特定する情報と、それらの暗号アルゴリズムによりデータを暗号化(または復号)する場合に用いられる鍵の情報に基づいて、復号を実行する。
機器Aにおいては、アルゴリズム/鍵情報管理部315から、図12を参照して上述した暗号化方式1乃至暗号化方式3の情報が、暗号化方式1乃至暗号化方式3の順に、復号実行部313に供給され、復号が行われるものとする。
すなわち、図19のステップS261において、復号実行部313は、認証用データ2を、アルゴリズム1に対応する暗号アルゴリズム(に対応する復号のアルゴリズム)と、鍵1で復号する。
次に、ステップS262において、復号実行部313は、ステップS261の処理により暗号化されたデータを、アルゴリズム2に対応する暗号アルゴリズム(に対応する復号のアルゴリズム)と、鍵2で復号する。
さらに、ステップS263において、復号実行部313は、ステップS262の処理により暗号化されたデータを、アルゴリズム3に対応する暗号アルゴリズム(に対応する復号のアルゴリズム)と、鍵3で復号する。
図15を参照して上述したように、認証用データ2は、機器Bにより復号された認証用データ1(すなわち乱数RanA)が、アルゴリズム3と鍵3、アルゴリズム2と鍵2、アルゴリズム1と鍵1の順番で暗号化されることにより生成されている。したがって、認証用データ2を、アルゴリズム1と鍵1、アルゴリズム2と鍵2、アルゴリズム3と鍵3の順番で復号すれば、乱数RanAが取得されることになる。すなわち、アルゴリズム/鍵情報管理部315と、アルゴリズム/鍵情報管理部415が予め設定された、暗号アルゴリズムを特定する情報と、それらの暗号アルゴリズムによりデータを暗号化する場合に用いられる鍵の情報を、暗号化実行部412と、復号実行部313に正しく供給することにより、機器Bで暗号化した乱数RanAが機器Aで復号されて取得されることになる。
図18に戻って、ステップS242において、認証部314は、処理結果のデータ(ステップS241の処理に復号された認証用データ2)と、図10のステップS102の処理により、記憶部に記憶された乱数RanAを比較する。
ここで、図10のステップS102の処理により、記憶部に記憶された乱数RanAは、機器Aが機器Bを認証するために発生した乱数であり、機器A以外の機器が乱数RanAを事前に取得することはできない。
また、処理結果のデータは、通信相手(いまの場合、機器B)から取得されたデータであり、機器Aでの復号の方法(図12を参照して上述した暗号化方式1乃至暗号化方式3の情報が、暗号化方式1乃至暗号化方式3の順に、復号実行部313に供給され、復号が行われること)を知らなければ、通信相手は、復号されるデータを想定して暗号化することができない。
もし、ステップS241の処理により復号された認証用データ2と、図10のステップS102の処理により、記憶部に記憶された乱数RanAが一致していれば、通信相手は、機器Aのアルゴリズム/鍵情報管理部315に対応する、アルゴリズム/鍵情報管理部415を実装しているものと考えられる。
仮に、アルゴリズム/鍵情報管理部415を実装していない第3者が、機器Bに成りすましているとすれば、その第3者は、機器Aにおいて認証用データ2が、アルゴリズム1、アルゴリズム2、アルゴリズム3の順番で復号されていることをつきとめて、さらに、鍵1、鍵2、および鍵3を解読して認証用データ2を生成していたことになり、このような暗号の解読作業を行うことは事実上不可能に近い。
したがって、ステップS242の処理による、処理結果のデータ(ステップS241の処理に復号された認証用データ2)と、図10のステップS102の処理により、記憶部に記憶された乱数RanAの比較の結果、両者の値が一致していれば、機器Bが正当な通信相手として認証されたことになる。
ステップS243において、認証部314は、ステップS242の処理による比較の結果、両者の値が一致したか否かを判定する。
ステップS243において、値が一致したと判定された場合、処理は、ステップS244に進み、認証部314は、機器Bが認証されたことを表す認証フラグをオンに設定する。
一方、ステップS243において、値が一致しなかったと判定された場合、処理は、ステップS245に進み、認証部314は、上述した認証フラグをオフに設定する。
このようにして、機器Bの認証が行われる。ここで、認証フラグがオンに設定された場合、図9のステップS7の処理では、機器Bが認証されたと判定され、処理は、ステップS8に進む。認証フラグがオフに設定された場合、図9のステップS7の処理では、機器Bが認証されなかったと判定され、機器Aから機器Bにエラーが送信される。
次に、図20のフローチャートを参照して、図9のステップS8の認証用データ4生成処理の詳細について説明する。
ステップS281において、機器Aの復号実行部313は、図21を参照して後述する認証用データ3復号処理を実行する。これにより、認証用データ3が復号され、復号された認証用データ3(すなわち、乱数RanB)が、その処理結果のデータとして、ステップS282で取得される。なお、認証用データ3として、乱数RanBが暗号化されず、そのまま送信されている場合、ステップS281における復号の処理は不要となる。
ステップS283において、暗号化実行部312は、図22を参照して後述する処理結果データ暗号化処理を実行する。これにより、ステップS282で取得された処理結果のデータ(すなわち、乱数RanB)が機器Aにおいて、再び暗号化される。そして、ステップS284において、暗号化された処理結果のデータに基づいて(例えば、所定の制御情報等が付加されて)認証用データ4が生成される。
ここで、図21のフローチャートを参照して、図20のステップS281の認証用データ3復号処理の詳細について説明する。上述したように、機器Aにおいては、アルゴリズム/鍵情報管理部315から、図12を参照して上述した暗号化方式1乃至暗号化方式3の情報が、暗号化方式1乃至暗号化方式3の順に、復号実行部313に供給され、復号が行われる。
すなわち、図21のステップS301において、復号実行部313は、認証用データ3を、アルゴリズム1に対応する暗号アルゴリズム(に対応する復号のアルゴリズム)と、鍵1で復号する。
次に、ステップS302において、復号実行部313は、ステップS301の処理により暗号化されたデータを、アルゴリズム2に対応する暗号アルゴリズム(に対応する復号のアルゴリズム)と、鍵2で復号する。
さらに、ステップS303において、復号実行部313は、ステップS302の処理により暗号化されたデータを、アルゴリズム3に対応する暗号アルゴリズム(に対応する復号のアルゴリズム)と、鍵3で復号する。
図17を参照して上述したように、認証用データ3は、乱数RanBが、アルゴリズム3と鍵3、アルゴリズム2と鍵2、アルゴリズム1と鍵1の順番で暗号化されることにより生成されている。したがって、認証用データ3を、アルゴリズム1と鍵1、アルゴリズム2と鍵2、アルゴリズム3と鍵3の順番で復号すれば、乱数RanBが取得されることになる。すなわち、アルゴリズム/鍵情報管理部315と、アルゴリズム/鍵情報管理部415が予め設定された、暗号アルゴリズムを特定する情報と、それらの暗号アルゴリズムによりデータを暗号化する場合に用いられる鍵の情報を、暗号化実行部412と、復号実行部313に正しく供給することにより、機器Bで発生した乱数RanBが機器Aで取得されることになる。
次に、図22のフローチャートを参照して、図20のステップS283の処理結果データ暗号化処理の詳細について説明する。
ステップS321において、暗号化実行部312は、図20のステップS282の処理で取得された処理結果データ(すなわち、乱数RanB)を、アルゴリズム1に対応する暗号アルゴリズムと、鍵1で暗号化する。
次に、ステップS322において、暗号化実行部312は、ステップS321の処理により暗号化されたデータを、アルゴリズム2に対応する暗号アルゴリズムと、鍵2で暗号化する。
さらに、ステップS323において、暗号化実行部412は、ステップS322の処理により暗号化されたデータを、アルゴリズム3に対応する暗号アルゴリズムと、鍵2で暗号化する。
このようにして、処理結果データ(乱数RanB)が再び暗号化され、暗号化された処理結果データに基づいて、認証用データ4が生成される。
次に、図23のフローチャートを参照して、図9のステップS29の機器Aの認証処理の詳細について説明する。
ステップS341において、復号実行部413は、図24を参照して後述する認証用データ4復号処理を実行する。これにより、認証用データ4が復号され、復号された認証用データ2(すなわち、乱数RanB)が、その処理結果のデータとして、認証部414に取得される。
ここで、図24のフローチャートを参照して、図23のステップS341の認証用データ4復号処理の詳細について説明する。上述したように、機器Bにおいては、アルゴリズム/鍵情報管理部415から、図12を参照して上述した暗号化方式1乃至暗号化方式3の情報が、暗号化方式3乃至暗号化方式1の順に、復号実行部413に供給され、復号が行われる。
すなわち、図24のステップS361において、復号実行部413は、認証用データ4を、アルゴリズム3に対応する暗号アルゴリズム(に対応する復号のアルゴリズム)と、鍵3で復号する。
次に、ステップS362において、復号実行部413は、ステップS361の処理により暗号化されたデータを、アルゴリズム2に対応する暗号アルゴリズム(に対応する復号のアルゴリズム)と、鍵2で復号する。
さらに、ステップS363において、復号実行部413は、ステップS362の処理により暗号化されたデータを、アルゴリズム1に対応する暗号アルゴリズム(に対応する復号のアルゴリズム)と、鍵1で復号する。
図22を参照して上述したように、認証用データ4は、機器Bにより復号された認証用データ3(すなわち乱数RanB)が、アルゴリズム1と鍵1、アルゴリズム2と鍵2、アルゴリズム3と鍵3の順番で暗号化されることにより生成されている。したがって、認証用データ4を、アルゴリズム3と鍵3、アルゴリズム2と鍵2、アルゴリズム1と鍵1の順番で復号すれば、乱数RanBが取得されることになる。すなわち、アルゴリズム/鍵情報管理部315と、アルゴリズム/鍵情報管理部415が予め設定された、暗号アルゴリズムを特定する情報と、それらの暗号アルゴリズムによりデータを暗号化する場合に用いられる鍵の情報を、暗号化実行部312と、復号実行部413に正しく供給することにより、機器Aで暗号化した乱数RanBが機器Bで復号されて取得されることになる。
図23に戻って、ステップS342において、認証部414は、処理結果のデータ(ステップS341の処理に復号された認証用データ4)と、図16のステップS202の処理により、記憶部に記憶された乱数RanBを比較する。
ここで、図16のステップS202の処理により、記憶部に記憶された乱数RanBは、機器Bが機器Aを認証するために発生した乱数であり、機器B以外の機器が乱数RanBを事前に取得することはできない。
また、処理結果のデータは、通信相手(いまの場合、機器A)から取得されたデータであり、機器Bでの復号の方法(図12を参照して上述した暗号化方式1乃至暗号化方式3の情報が、暗号化方式3乃至暗号化方式1の順に、復号実行部413に供給され、復号が行われること)を知らなければ、通信相手は、復号されるデータを想定して暗号化することができない。
もし、ステップS341の処理により復号された認証用データ4と、図16のステップS202の処理により、記憶部に記憶された乱数RanBが一致していれば、通信相手は、機器Bのアルゴリズム/鍵情報管理部415に対応する、アルゴリズム/鍵情報管理部315を実装しているものと考えられる。
仮に、アルゴリズム/鍵情報管理部315を実装していない第3者が、機器Aに成りすましているとすれば、その第3者は、機器Bにおいて認証用データ4が、アルゴリズム3、アルゴリズム2、アルゴリズム1の順番で復号されていることをつきとめて、さらに、鍵3、鍵2、および鍵1を解読して認証用データ4を生成していたことになり、このような暗号の解読作業を行うことは事実上不可能に近い。
したがって、ステップS342の処理による、処理結果のデータ(ステップS341の処理に復号された認証用データ4)と、図16のステップS202の処理により、記憶部に記憶された乱数RanBの比較の結果、両者の値が一致していれば、機器Aが正当な通信相手として認証されたことになる。
ステップS343において、認証部414は、ステップS342の処理による比較の結果、両者の値が一致したか否かを判定する。
ステップS343において、値が一致したと判定された場合、処理は、ステップS344に進み、認証部414は、機器Aが認証されたことを表す認証フラグをオンに設定する。
一方、ステップS343において、値が一致しなかったと判定された場合、処理は、ステップS345に進み、認証部414は、上述した認証フラグをオフに設定する。
このようにして、機器Bによる機器Aの認証が行われる。ここで、認証フラグがオンに設定された場合、図9のステップS30の処理では、機器Aが認証されたと判定され、トランザクション処理などの実行が行われる。認証フラグがオフに設定された場合、図9のステップS30の処理では、機器Aが認証されなかったと判定され、機器Bから機器Aにエラーが送信される。
このようにして、機器Aと機器Bの間で相互認証が行われる。機器Aと機器Bとでは、相互認証に用いる相互認証用データ1乃至4が、複数の異なる暗号アルゴリズムと鍵により暗号化または復号されるようにしたので、第3者による成りすましが防止され、相互認証の確実性を高めることができる。
ここでは、認証用データ1乃至認証用データ4の生成において、図12を参照して上述した暗号化方式1乃至暗号化方式3に対応する暗号アルゴリズムと鍵が用いられる例について説明したが、暗号アルゴリズムと鍵の組み合わせの数はこれに限られるものではない。
また、この例では、機器Aのアルゴリズム/鍵情報管理部315では、図12を参照して上述した暗号化方式1乃至暗号化方式3の情報が、暗号化方式1乃至暗号化方式3の順に、暗号化実行部312、または復号実行部313に供給され、機器Bのアルゴリズム/鍵情報管理部415では、暗号化方式1乃至暗号化方式3の情報が、暗号化方式3乃至暗号化方式1の順に、暗号化実行部312、または復号実行部313に供給されることとしたが、例えば、機器Aのアルゴリズム/鍵情報管理部315では、暗号化方式1乃至暗号化方式3の情報が、暗号化方式2、暗号化方式1、暗号化方式3の順に、暗号化実行部312、または復号実行部313に供給され、機器Bのアルゴリズム/鍵情報管理部415では、暗号化方式1乃至暗号化方式3の情報が、暗号化方式3、暗号化方式1、暗号化方式2の順に、暗号化実行部312、または復号実行部313に供給されるようにしても構わない。
さらに、相互認証用データ1乃至4を生成する場合、必ずしも暗号化方式1乃至暗号化方式3が全て用いられる必要はなく、例えば、認証用データ1の暗号化または復号化には、暗号化方式1が用いられ、認証用データ2の暗号化または復号化には、暗号化方式2が用いられ、・・・のように、機器Aと機器Bで、予めそれぞれの認証用データに対応する暗号化方式を定めておいてもよい。
また、この例では、相互認証において用いられる鍵(例えば、図12の鍵1乃至鍵3)として、予め定められたものを利用する場合の例について説明したが、相互認証を行う都度、異なる鍵が生成されて、利用されるようにすることも可能である。
このような場合、アルゴリズム/鍵情報管理部315および415においては、図12を参照して上述した情報に加えて、例えば、図25に示されるような情報が記憶されることになる。
図25は、アルゴリズム/鍵情報管理部315および415により記憶されている暗号アルゴリズムを特定する情報と、それらの暗号アルゴリズムによりデータを暗号化する場合に用いられる鍵の情報の別の例を示す図である。同図において、データ1と、64ビットのデータ長の鍵AとアルゴリズムAにより構成される暗号化方式Aとが対応付けられている。また、データ2と、128ビットのデータ長の鍵BとアルゴリズムBにより構成される暗号化方式Bとが対応付けられている。
同様に、データ3乃至5と、暗号化方式C乃至暗号化方式Eとがそれぞれ対応付けられている。
データ1乃至データ5は、例えば、機器BのEEPROM224に記憶されトランザクション処理などで利用されるデータであり、例えば、リーダライタ(機器A)の種類、ユーザが指定するトランザクションの種類などに応じて、データ1乃至データ5のうち、機器Aと機器Bとの間で利用されるデータが特定されるものとする。なお、利用されるデータを特定する情報は、上述した図9のステップS4で送信されるアクセス対象リストに基づいて、機器Aと機器Bの間で、予め通知される。
例えば、機器Aから機器Bに対して、利用するデータとして、データ1乃至データ5が通知された場合、アルゴリズム/鍵情報管理部415は、例えば、図26に示されるようにして、相互認証に用いられる暗号鍵を生成する。
図26は、アルゴリズム/鍵情報管理部415による暗号鍵生成処理を説明するフローチャートである。
ステップS381において、アルゴリズム/鍵情報管理部415は、機器Aと機器Bとで予め共有されている、テキストデータなどの平文を抽出する。そして、アルゴリズム/鍵情報管理部415は、暗号化実行部412に、図25を参照して上述した、暗号化方式A乃至暗号化方式Eの情報を、例えば、暗号化方式A乃至暗号化方式Eの順に、暗号化実行部412に供給する。
すなわち、ステップS382において、暗号化実行部412は、ステップS381の処理で抽出された平文を、アルゴリズムAに対応する暗号アルゴリズムと、鍵Aにより暗号化する。
次に、ステップS383において、暗号化実行部412は、ステップS382の処理で暗号化されたデータを、アルゴリズムBに対応する暗号アルゴリズムと、鍵Bにより暗号化する。
さらに、ステップS384において、暗号化実行部412は、ステップS383の処理で暗号化されたデータを、アルゴリズムCに対応する暗号アルゴリズムと、鍵Cにより暗号化する。
ステップS384の処理の後、ステップS385において、暗号化実行部412は、ステップS384の処理で暗号化されたデータを、アルゴリズムDに対応する暗号アルゴリズムと、鍵Dにより暗号化する。
ステップS385の処理の後、ステップS386において、暗号化実行部412は、ステップS385の処理で暗号化されたデータを、アルゴリズムAに対応する暗号アルゴリズムと、鍵Eにより暗号化する。
そして、ステップS387において、アルゴリズム/鍵情報管理部415は、ステップS386の処理の結果出力されたデータを、相互認証に用いる鍵として(例えば、図12の鍵1として)、記憶する。
なお、例えば、機器Aから機器Bに対して、利用するデータとして、データ1乃至データ3が通知された場合、ステップS385とS386の処理は、省略されることになる。また、複数の鍵が必要な場合は、ステップS381において、機器Aと機器Bとで共有される複数の異なる平文が抽出されるようにして、それ以後の処理において、それぞれの平文が暗号化されるようにすればよい。この平文は、ステップS382乃至386の処理により多段階に暗号化されることにより、第3者による解読は極めて困難になるため、例えば、データの秘匿性を高めるために、特に長文のテキストデータを選択するなどの考慮は必要なく、機器Aと機器Bが共有する平文を適宜選択して抽出させるようにすることができる。
もちろん、機器Aにおいても、アルゴリズム/鍵情報管理部315と、暗号化実行部312により、図26と同様の処理が実行され、相互認証に用いる鍵が生成されるが、その詳細な説明は省略する。
このようにして、相互認証において用いられる鍵が生成される。このようにすることで、相互認証に用いられる鍵が、相互認証の都度(いまの場合、利用するデータに応じて)、変化することになり、より強固なセキュリティが実現され、相互認証確実性をさらに高めることができる。さらに、相互認証に用いられる鍵は、平文に対して、複数の暗号アルゴリズムと鍵による暗号化が多段階に実行されることにより生成されるので、従来の鍵の生成の方法と比較して、より強固なセキュリティを実現することができる。
また、機器Aと機器Bの間で相互認証をする場合、例えば、それぞれの機器の暗号化または復号を制御する機能において、公開鍵方式の暗号アルゴリズムを実装させ、機器Aの秘密鍵で暗号化された乱数を、機器Bが機器Aの公開鍵で復号して乱数を取得し、その乱数を機器Bの秘密鍵で暗号化して機器Aに送信し、機器Aが自身の秘密鍵で復号して、乱数を取得することにより機器同士を認証する方法も考えられる。しかし、公開鍵方式での暗号化または復号の実行は、CPUなどでの演算処理に関わる負荷が大きく、例えば、ICカードなど、極めて小型であって、省電力性能が要求される機器においては、公開鍵暗号方式での暗号化または復号の実行を短時間で処理することができるように、機器を構成することが難しい。本発明においては、比較的演算処理に関わる負荷が小さい、秘密鍵方式の暗号アルゴリズムを採用しているので、例えば、ICカードなど、極めて小型であって、省電力性能が要求される機器であっても、確実性の高い相互認証を短時間に実行することができる。
なお、上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、例えば、そのソフトウェアを構成するプログラムが、バス200を介して、インターネットなどのネットワークや、リムーバブルメディアなどからなる記録媒体からインストールされる。
なお、この記録媒体は、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フロッピディスク(登録商標)を含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディアにより構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信され、プログラムが記録されている、例えば、ROM212または222などで構成されるものも含む。
なお、本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
従来の相互認証の例を示す図である。 従来の相互認証の例を示す図である。 従来の相互認証における鍵の生成の例を示す図である。 本発明に係る情報処理システムの一実施の形態を示す図である。 機器Aの内部構成例を示すブロック図である。 機器Bの内部構成例を示すブロック図である。 図5のCPUにより実行されるソフトウェアの機能的構成例を示すブロック図である。 図6のCPUにより実行されるソフトウェアの機能的構成例を示すブロック図である。 機器Aと機器Bの相互認証の処理の流れを説明するアローチャートである。 認証用データ1生成処理を説明するフローチャートである。 RanA暗号化処理を説明するフローチャートである。 アルゴリズム/鍵情報管理部に記憶されている情報の例を示す図である。 認証用データ2生成処理を説明するフローチャートである。 認証用データ1復号処理を説明するフローチャートである。 処理結果データ暗号化処理を説明するフローチャートである。 認証用データ3生成処理を説明するフローチャートである。 RanB暗号化処理を説明するフローチャートである。 機器Bの認証処理を説明するフローチャートである。 認証用データ2復号処理を説明するフローチャートである。 認証用データ4生成処理を説明するフローチャートである。 認証用データ3復号処理を説明するフローチャートである。 処理結果データ暗号化処理を説明するフローチャートである。 機器Aの認証処理を説明するフローチャートである。 認証用データ4生成処理を説明するフローチャートである。 アルゴリズム/鍵情報管理部に記憶されている情報の別の例を示す図である。 暗号鍵生成処理を説明するフローチャートである。
符号の説明
211 CPU, 212 ROM, 213 RAM, 221 CPU, 222 ROM, 223 RAM, 224 EEPROM, 311 乱数発生部, 312 暗号化実行部, 313 復号実行部, 314 認証部, 315 アルゴリズム/鍵情報管理部, 411 乱数発生部, 412 暗号化実行部, 413 復号実行部, 414 認証部, 415 アルゴリズム/鍵情報管理部

Claims (13)

  1. 有線または無線により、他の情報処理装置と通信を行う情報処理装置であって、
    乱数を発生する乱数発生手段と、
    前記乱数発生手段により発生された乱数に基づいて、前記他の情報処理装置の認証に関する第1の認証データを生成する第1の認証データ生成手段と、
    前記第1の認証データを前記他の情報処理装置に送信する認証データ送信手段と、
    前記第1の認証データに基づいて、前記他の情報処理装置により生成された前記他の情報処理装置の認証に関する第2の認証データを受信する認証データ受信手段と、
    前記第2の認証データを、複数または単数の暗号化方式に対応する復号方式を用いて復号する復号手段と、
    前記復号手段により復号された前記第2の認証データと、前記乱数発生手段により発生された乱数に基づいて、前記他の情報処理装置が正当な通信相手か否かを認証する認証手段と
    を備えることを特徴とする情報処理装置。
  2. 前記複数または単数の暗号化方式に関する情報を記憶し、前記復号手段に供給する暗号化方式管理手段をさらに備える
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記暗号化方式に関する情報は、暗号アルゴリズムを特定する情報と、前記暗号アルゴリズム、または前記暗号アルゴリズムに対応する復号方法によりデータの暗号化、または復号を行う場合に用いられる鍵の情報とを含み、
    前記暗号化方式管理手段は、それぞれ異なる複数の暗号化方式の情報を、前記復号手段に、予め設定された順番で供給する
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記暗号化方式に関する情報は、前記他の情報処理装置により共有され、
    前記第2の認証データは、前記他の情報処理装置により、前記第1の認証データの前記乱数が、それぞれ異なる複数の暗号化方式で暗号化され、生成される
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記復号手段は、
    前記第2の認証データを、前記他の情報処理装置が用いた複数の前記暗号化方式に対応する復号方法で復号し、
    前記認証手段は、
    前記復号手段により復号された前記第2の認証データが、前記乱数と一致した場合、前記他の情報処理装置を、正当な通信相手として認証する
    ことを特徴とする請求項5に記載の情報処理装置。
  6. 前記暗号化方式管理手段は、前記鍵を生成するために必要となる情報をさらに記憶し、
    前記情報に基づいて、前記鍵を生成する
    ことを特徴とする請求項2に記載の情報処理装置。
  7. 前記鍵を生成するために必要となる情報には、利用されるデータの種類に対応付けられた、異なる複数の暗号化方式の情報が含まれ、
    前記暗号化方式管理手段は、
    利用される複数または単数のデータの種類に対応する暗号化方式により、前記他の情報処理装置と共有する平文を暗号化することにより、前記鍵を生成する
    ことを特徴とする請求項6に記載の情報処理装置。
  8. 前記暗号化方式に関する情報は、暗号アルゴリズムを特定する情報と、前記暗号アルゴリズムによりデータの暗号化を行う場合に用いられる鍵の情報とを含む
    ことを特徴とする請求項7に記載の情報処理装置。
  9. 前記他の情報処理装置により、自分が認証されるために発生される乱数に基づいて生成される第3の認証データをさらに受信し、
    前記第3の認証データの前記乱数を、複数または単数の暗号化方式を用いて暗号化し、第4の認証データを生成し、前記他の情報処理装置に送信する
    ことを特徴とする請求項1に記載の情報処理装置。
  10. 前記第4の認証データに基づいて、前記他の情報処理装置により認証される
    ことを特徴とする請求項9に記載の情報処理装置。
  11. 有線または無線により、他の情報処理装置と通信を行う情報処理装置の情報処理方法であって、
    乱数を発生する乱数発生ステップと、
    前記乱数発生ステップの処理により発生された乱数に基づいて、前記他の情報処理装置の認証に関する第1の認証データを生成する第1の認証データ生成ステップと、
    前記第1の認証データを前記他の情報処理装置に送信する認証データ送信ステップと、
    前記第1の認証データに基づいて、前記他の情報処理装置により生成された前記他の情報処理装置の認証に関する第2の認証データを受信する認証データ受信ステップと、
    前記第2の認証データを、複数または単数の暗号化方式に対応する復号方式を用いて復号する復号ステップと、
    前記復号ステップの処理により復号された前記第2の認証データと、前記乱数発生ステップの処理により発生された乱数に基づいて、前記他の情報処理装置が正当な通信相手か否かを認証する認証ステップと
    を含むことを特徴とする情報処理方法。
  12. 有線または無線により、他の情報処理装置と通信を行う情報処理装置のプログラムであって、
    乱数の発生を制御する乱数発生制御ステップと、
    前記乱数発生制御ステップの処理により発生された乱数に基づいて、前記他の情報処理装置の認証に関する第1の認証データの生成を制御する第1の認証データ生成制御ステップと、
    前記第1の認証データの前記他の情報処理装置への送信を制御する認証データ送信制御ステップと、
    前記第1の認証データに基づいて、前記他の情報処理装置により生成された前記他の情報処理装置の認証に関する第2の認証データの受信を制御する認証データ受信制御ステップと、
    前記第2の認証データを、複数または単数の暗号化方式に対応する復号方式を用いて復号するように制御する復号制御ステップと、
    前記復号制御ステップの処理により復号された前記第2の認証データと、前記乱数発生制御ステップの処理により発生された乱数に基づいて、前記他の情報処理装置が正当な通信相手か否かの認証を制御する認証制御ステップと
    をコンピュータに実行させることを特徴とするプログラム。
  13. 有線または無線により、他の情報処理装置と通信を行う情報処理装置のプログラムが記録されている記録媒体であって、
    乱数の発生を制御する乱数発生制御ステップと、
    前記乱数発生制御ステップの処理により発生された乱数に基づいて、前記他の情報処理装置の認証に関する第1の認証データの生成を制御する第1の認証データ生成制御ステップと、
    前記第1の認証データの前記他の情報処理装置への送信を制御する認証データ送信制御ステップと、
    前記第1の認証データに基づいて、前記他の情報処理装置により生成された前記他の情報処理装置の認証に関する第2の認証データの受信を制御する認証データ受信制御ステップと、
    前記第2の認証データを、複数または単数の暗号化方式に対応する復号方式を用いて復号するように制御する復号制御ステップと、
    前記復号制御ステップの処理により復号された前記第2の認証データと、前記乱数発生制御ステップの処理により発生された乱数に基づいて、前記他の情報処理装置が正当な通信相手か否かの認証を制御する認証制御ステップと
    をコンピュータに実行させるプログラムが記録されることを特徴とする記録媒体。
JP2004259857A 2004-09-07 2004-09-07 情報処理装置および方法、プログラム並びに記録媒体 Withdrawn JP2006080642A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004259857A JP2006080642A (ja) 2004-09-07 2004-09-07 情報処理装置および方法、プログラム並びに記録媒体
US11/210,940 US20060050877A1 (en) 2004-09-07 2005-08-24 Information processing apparatus and method, program, and recording medium
EP05291840A EP1632836A2 (en) 2004-09-07 2005-09-07 Information processing apparatus and method, program, and recording medium
CNA2005100992258A CN1746941A (zh) 2004-09-07 2005-09-07 信息处理设备和方法、程序、和记录介质
SG200505676A SG120321A1 (en) 2004-09-07 2005-09-07 Information processing apparatus and method program and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004259857A JP2006080642A (ja) 2004-09-07 2004-09-07 情報処理装置および方法、プログラム並びに記録媒体

Publications (1)

Publication Number Publication Date
JP2006080642A true JP2006080642A (ja) 2006-03-23

Family

ID=35520857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004259857A Withdrawn JP2006080642A (ja) 2004-09-07 2004-09-07 情報処理装置および方法、プログラム並びに記録媒体

Country Status (5)

Country Link
US (1) US20060050877A1 (ja)
EP (1) EP1632836A2 (ja)
JP (1) JP2006080642A (ja)
CN (1) CN1746941A (ja)
SG (1) SG120321A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011071758A (ja) * 2009-09-25 2011-04-07 Sony Corp 通信装置、通信方法、情報処理装置、情報処理方法、プログラム、および通信システム
KR20140061365A (ko) 2011-07-15 2014-05-21 고쿠리쓰다이가쿠호진 규슈다이가쿠 유기 일렉트로 루미네선스 소자 및 그것에 사용하는 화합물
JP2015121978A (ja) * 2013-12-24 2015-07-02 セコム株式会社 通信装置、情報管理システム、情報管理方法及び情報管理プログラム

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005117153A (ja) * 2003-10-03 2005-04-28 Toshiba Corp 無線通信装置、無線通信方法、及び無線通信媒体
US7994915B2 (en) * 2004-11-08 2011-08-09 Sony Corporation Information processing system and information processing apparatus
US7688976B2 (en) * 2005-07-14 2010-03-30 Tara Chand Singhal Random wave envelope derived random numbers and their use in generating transient keys in communication security application part I
US7783041B2 (en) * 2005-10-03 2010-08-24 Nokia Corporation System, method and computer program product for authenticating a data agreement between network entities
US7450010B1 (en) 2006-04-17 2008-11-11 Tc License Ltd. RFID mutual authentication verification session
JP2008015802A (ja) * 2006-07-06 2008-01-24 Sony Corp 情報処理システム、情報処理装置および方法
EP3522050A1 (en) 2007-05-18 2019-08-07 Verimatrix, Inc. System and method for defining programmable processing steps applied when protecting the data
US8595274B2 (en) * 2007-12-31 2013-11-26 Intel Corporation Random number generator
US20090206165A1 (en) * 2008-02-15 2009-08-20 Infineon Technologies Ag Contactless chip module, contactless device, contactless system, and method for contactless communication
US9003197B2 (en) * 2008-03-27 2015-04-07 General Instrument Corporation Methods, apparatus and system for authenticating a programmable hardware device and for authenticating commands received in the programmable hardware device from a secure processor
EP2301188B1 (fr) * 2008-06-16 2019-04-10 Orange Procédé d'authentification d'une entité auprès d'un vérifieur
CA2790788C (en) * 2009-02-24 2015-06-30 Beyond Broadband Technology, Llc Cable television secure communication system for one way restricted access
US20100278338A1 (en) * 2009-05-04 2010-11-04 Mediatek Singapore Pte. Ltd. Coding device and method with reconfigurable and scalable encryption/decryption modules
US9082127B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating datasets for analysis
US9317572B2 (en) 2010-03-31 2016-04-19 Cloudera, Inc. Configuring a system to collect and aggregate datasets
US9081888B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating log data with fault tolerance
US8874526B2 (en) 2010-03-31 2014-10-28 Cloudera, Inc. Dynamically processing an event using an extensible data model
US8667267B1 (en) * 2011-01-31 2014-03-04 Gazzang, Inc. System and method for communicating with a key management system
US8880592B2 (en) 2011-03-31 2014-11-04 Cloudera, Inc. User interface implementation for partial display update
JP5824849B2 (ja) * 2011-04-22 2015-12-02 ソニー株式会社 情報処理装置および情報処理方法
JP2013047727A (ja) * 2011-08-29 2013-03-07 Sony Corp 情報処理装置、情報処理方法、プログラム、及び記録媒体
US9128949B2 (en) 2012-01-18 2015-09-08 Cloudera, Inc. Memory allocation buffer for reduction of heap fragmentation
US9172608B2 (en) 2012-02-07 2015-10-27 Cloudera, Inc. Centralized configuration and monitoring of a distributed computing cluster
US9405692B2 (en) 2012-03-21 2016-08-02 Cloudera, Inc. Data processing performance enhancement in a distributed file system
US9338008B1 (en) 2012-04-02 2016-05-10 Cloudera, Inc. System and method for secure release of secret information over a network
US9842126B2 (en) 2012-04-20 2017-12-12 Cloudera, Inc. Automatic repair of corrupt HBases
US9753954B2 (en) 2012-09-14 2017-09-05 Cloudera, Inc. Data node fencing in a distributed file system
US9342557B2 (en) 2013-03-13 2016-05-17 Cloudera, Inc. Low latency query engine for Apache Hadoop
US9477731B2 (en) 2013-10-01 2016-10-25 Cloudera, Inc. Background format optimization for enhanced SQL-like queries in Hadoop
US9934382B2 (en) 2013-10-28 2018-04-03 Cloudera, Inc. Virtual machine image encryption
US9690671B2 (en) 2013-11-01 2017-06-27 Cloudera, Inc. Manifest-based snapshots in distributed computing environments
US10171635B2 (en) 2013-12-04 2019-01-01 Cloudera, Inc. Ensuring properly ordered events in a distributed computing environment
US10291329B2 (en) * 2013-12-20 2019-05-14 Infineon Technologies Ag Exchanging information between time-of-flight ranging devices
US9747333B2 (en) 2014-10-08 2017-08-29 Cloudera, Inc. Querying operating system state on multiple machines declaratively
US10120904B2 (en) 2014-12-31 2018-11-06 Cloudera, Inc. Resource management in a distributed computing environment
CN105656935A (zh) * 2016-03-09 2016-06-08 成都爆米花信息技术有限公司 云端数据安全修改方法
CN105812362A (zh) * 2016-03-09 2016-07-27 成都爆米花信息技术有限公司 云盘数据安全修改方法
CN105812361A (zh) * 2016-03-09 2016-07-27 成都爆米花信息技术有限公司 云端数据修改方法
CN105656934A (zh) * 2016-03-09 2016-06-08 成都爆米花信息技术有限公司 云存储空间的数据修改方法
CN105812366B (zh) * 2016-03-14 2019-09-24 携程计算机技术(上海)有限公司 服务器、反爬虫系统和反爬虫验证方法
FR3052279B1 (fr) * 2016-06-03 2019-06-21 Proton World International N.V. Authentification d'une carte par lecture sans contact
FR3052280A1 (ja) * 2016-06-03 2017-12-08 Proton World Int Nv
TWI631481B (zh) * 2016-12-02 2018-08-01 柯呈翰 供產生多重因數認證碼的方法與系統
CN109784032B (zh) * 2018-12-25 2022-02-11 深圳市江波龙电子股份有限公司 测试设备验证方法、测试设备、验证设备和存储装置
CN112738052B (zh) * 2020-12-24 2021-11-23 北京深思数盾科技股份有限公司 一种设备间的认证方法、存储介质及电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319710A (en) * 1986-08-22 1994-06-07 Tandem Computers Incorporated Method and means for combining and managing personal verification and message authentication encrytions for network transmission
US6785813B1 (en) * 1997-11-07 2004-08-31 Certicom Corp. Key agreement and transport protocol with implicit signatures
US6073236A (en) * 1996-06-28 2000-06-06 Sony Corporation Authentication method, communication method, and information processing apparatus
AU2003246823A1 (en) * 2002-04-12 2003-10-27 Thomson Licensing S.A. Method for the anonymous authentication of a data transmitter

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011071758A (ja) * 2009-09-25 2011-04-07 Sony Corp 通信装置、通信方法、情報処理装置、情報処理方法、プログラム、および通信システム
KR20140061365A (ko) 2011-07-15 2014-05-21 고쿠리쓰다이가쿠호진 규슈다이가쿠 유기 일렉트로 루미네선스 소자 및 그것에 사용하는 화합물
JP2015121978A (ja) * 2013-12-24 2015-07-02 セコム株式会社 通信装置、情報管理システム、情報管理方法及び情報管理プログラム

Also Published As

Publication number Publication date
US20060050877A1 (en) 2006-03-09
EP1632836A2 (en) 2006-03-08
CN1746941A (zh) 2006-03-15
SG120321A1 (en) 2006-03-28

Similar Documents

Publication Publication Date Title
JP2006080642A (ja) 情報処理装置および方法、プログラム並びに記録媒体
JP5205720B2 (ja) 通信システムおよび通信方法、デバイス、情報処理装置、並びにプログラム
JP4622951B2 (ja) 通信システムおよび通信方法、情報処理装置および方法、デバイス、プログラム、並びに記録媒体
US20100001840A1 (en) Method and system for authenticating rfid tag
US7363448B2 (en) Data storage apparatus, data processing method, recording medium, and program
US20080258864A1 (en) Communication Apparatus and Communication Method
CN101582125B (zh) 通信装置、通信方法、读写器和通信系统
JP4987939B2 (ja) 保安モードに応じる手動型rfid保安方法
JP2008066834A (ja) 通信システムおよび通信方法、情報処理装置および方法、デバイス、プログラム、並びに記録媒体
JP2008015802A (ja) 情報処理システム、情報処理装置および方法
JP2006295234A (ja) 認証システム、認証方法および入退場管理システム
JP2010211515A (ja) 情報記憶媒体、認証用データ生成方法、及び媒体認証システム
US20110279235A1 (en) Radio frequency identification (rfid) tag and interrogator for supporting normal mode and secure mode, and operation method thereof
KR20100031354A (ko) Otp를 이용한 태그 보안 처리 방법
US20100014673A1 (en) Radio frequency identification (rfid) authentication apparatus having authentication function and method thereof
US20210295009A1 (en) Electric Lock and Control Method Thereof
JP2011066636A (ja) 認証装置および方法、並びに通信装置および方法
KR20090037219A (ko) 단계별로 보안 수준 조절이 가능한 고주파 식별 시스템 및상기 시스템을 이용한 정보 보안 방법
JP4774907B2 (ja) カード通信システム,リーダライタ及びicカード
JP2006108886A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP2006340287A (ja) 通信システム、情報端末、制御装置、情報処理方法、並びにプログラムおよび記録媒体
JP2006101213A (ja) 情報処理装置および方法、プログラム並びに記録媒体
KR101470053B1 (ko) 일반모드 및 보안모드를 지원하는 rfid 태그, 인터로게이터, 및 그의 동작 방법
KR101006803B1 (ko) 인증 기능을 갖는 rfid 인증 장치 및 방법
JP5908869B2 (ja) 通信装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071204