JP2009100394A - 情報処理装置および方法、記録媒体、プログラム、並びに情報処理システム - Google Patents
情報処理装置および方法、記録媒体、プログラム、並びに情報処理システム Download PDFInfo
- Publication number
- JP2009100394A JP2009100394A JP2007272093A JP2007272093A JP2009100394A JP 2009100394 A JP2009100394 A JP 2009100394A JP 2007272093 A JP2007272093 A JP 2007272093A JP 2007272093 A JP2007272093 A JP 2007272093A JP 2009100394 A JP2009100394 A JP 2009100394A
- Authority
- JP
- Japan
- Prior art keywords
- key
- information processing
- processing apparatus
- information
- 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
Links
Images
Abstract
【課題】安全かつ迅速に相互認証を行うことができるようにする。
【解決手段】第一の相互認証開始コマンドを取得すると、認証処理部のマスタ鍵生成部は、ステップS32において、相互認証の相手となる情報処理端末固有の鍵を生成するための鍵情報であるマスタ鍵を、第一のデータ、ルート鍵、および、アクセス先に指定されたディレクトリのディレクトリ鍵を縮退することにより生成する。マスタ鍵が生成されると認証処理部は、ステップS33において、暗号化部を制御し、情報処理端末のIDを、ステップS32の処理により生成されたマスタ鍵を用いて暗号化させ、情報処理端末固有の鍵を生成する。本発明は、例えば、通信システムに適用することができる。
【選択図】図7
【解決手段】第一の相互認証開始コマンドを取得すると、認証処理部のマスタ鍵生成部は、ステップS32において、相互認証の相手となる情報処理端末固有の鍵を生成するための鍵情報であるマスタ鍵を、第一のデータ、ルート鍵、および、アクセス先に指定されたディレクトリのディレクトリ鍵を縮退することにより生成する。マスタ鍵が生成されると認証処理部は、ステップS33において、暗号化部を制御し、情報処理端末のIDを、ステップS32の処理により生成されたマスタ鍵を用いて暗号化させ、情報処理端末固有の鍵を生成する。本発明は、例えば、通信システムに適用することができる。
【選択図】図7
Description
本発明は、情報処理装置および方法、記録媒体、プログラム、並びに情報処理システムに関し、特に、安全かつ迅速に相互認証を行うことができるようにした情報処理装置および方法、記録媒体、プログラム、並びに情報処理システムに関する。
近年、電子マネーに代表される、非接触IC(Integrated Circuit)カードが多方面で利用されるようになってきている。この非接触ICカードには、種々のアプリケーションが搭載されることが普通であり、それぞれ要求される情報セキュリティのレベルが異なっているのが普通である。そこで、必要の都度、アプリケーション毎に認証処理、暗号化処理を行うことが想定されるが、複数のアプリケーションに(同時もしくは個別に)アクセスするために、何度も相互認証処理を行う必要性が発生してしまう。しかしながら、一般的に非接触ICカードは、通信速度が数百Kbps程度と比較的遅いため、効率が非常に悪くなってしまう。
そこで、アクセスするファイル(のアクセス方式)毎にアクセス鍵を設定し、それらアクセス鍵を縮退させて1つの縮退鍵を生成し、その縮退鍵で相互認証するという方法が提案されている(例えば、特許文献1参照)。また、比較的安全度の高い相互認証方式としては、例えばDES(Data Encryption Standard)等の共通鍵暗号を用いて相互認証を行う個別鍵認証方式がある。
しかしながら、鍵を縮退化させて相互認証を行うだけの場合、縮退化させた縮退鍵がリーダ・ライタ内に残ってしまう。このため、仮にリーダ・ライタの内部が解析されて鍵が露見した場合、その縮退鍵が悪用されセキュリティが破られてしまう可能性がある。
また、個別鍵相互認証を行うだけの場合、アクセスファイル毎の認証を行わなければならず、効率が低下する恐れがあった。
さらに、例えば、非接触ICカードの場合、各カードを互いに識別するためのIDが設定されているが、このIDが第三者に容易に読み出すことができる構造となっている。そのため、このIDが不正に読み出され、個人のプライバシーが侵害される恐れがあった。
本発明はこのような状況に鑑みてなされたものであり、安全かつ迅速に相互認証を行うことができるようにするものである。
本発明の第一の側面は、他の情報処理装置より、自分自身が保持するデータに対してアクセスを要求される情報処理装置であって、前記他の情報処理装置より送信された、前記他の情報処理装置が生成した第一の乱数、前記他の情報処理装置がアクセスするディレクトリを示すアクセス先情報、および前記他の情報処理装置のIDを受信する第一の受信手段と、予め保持する第一のデータ、ルートディレクトリに対応する鍵情報であるルート鍵、並びに、前記アクセス先情報により前記他の情報処理装置のアクセス先として指定されたディレクトリに対応する鍵情報であるディレクトリ鍵を使用して、前記他の情報処理装置固有の鍵情報を生成するための鍵情報であるマスタ鍵を生成するマスタ鍵生成手段と、前記第一の受信手段により受信された前記他の情報処理装置のIDを、前記マスタ鍵生成手段により生成された前記マスタ鍵を用いて演算処理して、前記他の情報処理装置固有の鍵情報を生成する鍵情報生成手段と、前記鍵情報生成手段により生成された前記他の情報処理装置固有の鍵情報と、前記他の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵を使用して、認証用の鍵情報である認証鍵を生成する認証鍵生成手段と、第二の乱数を生成する第二の乱数生成手段と、前記第二の乱数を、前記認証鍵生成手段で生成された前記認証鍵を用いて暗号化する第二の乱数暗号化手段と、前記第二の乱数暗号化手段にて暗号化された前記第二の乱数を、前記他の情報処理装置に送信する送信手段と、前記他の情報処理装置より供給される、前記他の情報処理装置において、認証用の鍵情報である認証鍵を用いて演算処理された第二の乱数を受信する第二の受信手段と、前記第二の受信手段により受信された、演算処理された前記第二の乱数を、前記認証鍵生成手段により生成された前記認証鍵を用いて演算処理する演算処理手段と、前記演算処理手段により演算処理されて得られた値と、前記第二の乱数生成手段により生成された前記第二の乱数により前記他の情報処理装置を検証する検証手段とを備える情報処理装置である。
前記第一のデータは、システム管理者により設定されるシステム全体に対応する鍵情報であることができる。
前記マスタ鍵生成手段は、前記第一のデータを前記ルート鍵で暗号化する第一の暗号化手段と、前記第一の暗号化手段により得られた暗号化結果を、前記ディレクトリ鍵で暗号化する第二の暗号化手段とを備えることができる。
前記第二の暗号化手段は、前記ディレクトリ鍵が複数存在する場合、各ディレクトリ鍵を1つずつ用いて前回の暗号化結果をさらに暗号化することができる。
前記認証鍵生成手段は、前記他の情報処理装置固有の鍵情報を、前記アプリケーション鍵で暗号化する鍵情報暗号化手段を備えることができる。
前記鍵情報暗号化手段は、前記アプリケーション鍵が複数存在する場合、各アプリケーション鍵を1つずつ用いて前回の暗号化結果をさらに暗号化することができる。
本発明の第一の側面は、また、他の情報処理装置より、自分自身が保持するデータに対してアクセスを要求される情報処理装置の情報処理方法であって、前記他の情報処理装置より送信された、前記他の情報処理装置が生成した第一の乱数、前記他の情報処理装置がアクセスするディレクトリを示すアクセス先情報、および前記他の情報処理装置のIDを受信し、予め保持する第一のデータ、ルートディレクトリに対応する鍵情報であるルート鍵、並びに、前記アクセス先情報により前記他の情報処理装置のアクセス先として指定されたディレクトリに対応する鍵情報であるディレクトリ鍵を使用して、前記他の情報処理装置固有の鍵情報を生成するための鍵情報であるマスタ鍵を生成し、前記他の情報処理装置のIDを、前記マスタ鍵を用いて演算処理して、前記他の情報処理装置固有の鍵情報を生成し、前記他の情報処理装置固有の鍵情報と、前記他の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵を使用して、認証用の鍵情報である認証鍵を生成し、第二の乱数を生成し、前記第二の乱数を、前記認証鍵を用いて暗号化し、暗号化された前記第二の乱数を、前記他の情報処理装置に送信し、前記他の情報処理装置より供給される、前記他の情報処理装置において、認証用の鍵情報である認証鍵を用いて演算処理された第二の乱数を受信し、演算処理された前記第二の乱数を、生成した前記認証鍵を用いて演算処理し、演算処理されて得られた値と、生成された前記第二の乱数により前記他の情報処理装置を検証するステップを含む情報処理方法である。
本発明の第一の側面は、さらに、他の情報処理装置より、自分自身が保持するデータに対してアクセスを要求される情報処理装置を制御するプログラムであって、前記他の情報処理装置より送信された、前記他の情報処理装置が生成した第一の乱数、前記他の情報処理装置がアクセスするディレクトリを示すアクセス先情報、および前記他の情報処理装置のIDを受信し、予め保持する第一のデータ、ルートディレクトリに対応する鍵情報であるルート鍵、並びに、前記アクセス先情報により前記他の情報処理装置のアクセス先として指定されたディレクトリに対応する鍵情報であるディレクトリ鍵を使用して、前記他の情報処理装置固有の鍵情報を生成するための鍵情報であるマスタ鍵を生成し、前記他の情報処理装置のIDを、前記マスタ鍵を用いて演算処理して、前記他の情報処理装置固有の鍵情報を生成し、前記他の情報処理装置固有の鍵情報と、前記他の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵を使用して、認証用の鍵情報である認証鍵を生成し、第二の乱数を生成し、前記第二の乱数を、前記認証鍵を用いて暗号化し、暗号化された前記第二の乱数を、前記他の情報処理装置に送信し、前記他の情報処理装置より供給される、前記他の情報処理装置において、認証用の鍵情報である認証鍵を用いて演算処理された第二の乱数を受信し、演算処理された前記第二の乱数を、生成した前記認証鍵を用いて演算処理し、演算処理されて得られた値と、生成された前記第二の乱数により前記他の情報処理装置を検証するステップを含むコンピュータが読み取り可能なプログラムが記録されている記録媒体である。
本発明の第一の側面は、また、他の情報処理装置より、自分自身が保持するデータに対してアクセスを要求されるコンピュータに実行させるプログラムにおいて、前記他の情報処理装置より送信された、前記他の情報処理装置が生成した第一の乱数、前記他の情報処理装置がアクセスするディレクトリを示すアクセス先情報、および前記他の情報処理装置のIDを受信し、予め保持する第一のデータ、ルートディレクトリに対応する鍵情報であるルート鍵、並びに、前記アクセス先情報により前記他の情報処理装置のアクセス先として指定されたディレクトリに対応する鍵情報であるディレクトリ鍵を使用して、前記他の情報処理装置固有の鍵情報を生成するための鍵情報であるマスタ鍵を生成し、前記他の情報処理装置のIDを、前記マスタ鍵を用いて演算処理して、前記他の情報処理装置固有の鍵情報を生成し、前記他の情報処理装置固有の鍵情報と、前記他の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵を使用して、認証用の鍵情報である認証鍵を生成し、第二の乱数を生成し、前記第二の乱数を、前記認証鍵を用いて暗号化し、暗号化された前記第二の乱数を、前記他の情報処理装置に送信し、前記他の情報処理装置より供給される、前記他の情報処理装置において、認証用の鍵情報である認証鍵を用いて演算処理された第二の乱数を受信し、演算処理された前記第二の乱数を、生成した前記認証鍵を用いて演算処理し、演算処理されて得られた値と、生成された前記第二の乱数により前記他の情報処理装置を検証するステップを含む情報処理をコンピュータに実行させるプログラムである。
本発明の第二の側面は、第一の情報処理装置が第二の情報処理装置にアクセスする際に、前記第一の情報処理装置と前記第二の情報処理装置が相互認証を行う情報処理システムであって、前記第一の情報処理装置が、第一の乱数を生成する第一の乱数生成手段と、前記第一の乱数生成手段により生成された前記第一の乱数、前記第一の情報処理装置がアクセスするディレクトリを示すアクセス先情報、および前記第一の情報処理装置のIDを送信する第一の送信手段と、前記第二の情報処理装置より供給される第一の返信文と第二の返信文を受信する第一の受信手段と、前記第一の受信手段により受信された前記第一の返信文を前記第一の情報処理装置固有の鍵情報で復号する第一の復号手段と、前記第一の復号手段により前記第一の返信文が復号されて得られた、前記第一の情報処理装置がアクセスするディレクトリのIDであるアプリケーションIDを、前記第一の情報処理装置が保持する鍵情報であるマスタ鍵を用いて演算処理して、前記第一の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵を生成するアプリケーション鍵生成手段と、前記第一の情報処理装置固有の鍵情報と、前記アプリケーション鍵生成手段により生成された前記アプリケーション鍵を使用して、認証用の鍵情報である認証鍵を生成する第一の認証鍵生成手段と、前記第一の受信手段により受信された前記第二の返信文を、前記第一の認証鍵生成手段により生成された前記認証鍵で復号する第二の復号手段と、前記第二の復号手段により復号されて得られた前記第一の乱数と、前記第一の乱数生成手段により生成された前記第一の乱数により前記第二の情報処理装置を検証する第一の検証手段と、セッション鍵を生成するセッション鍵生成手段と、前記第二の復号手段により復号されて得られた前記第一の乱数および前記第二の乱数、並びに、前記セッション鍵生成手段により生成された前記セッション鍵を、前記第一の認証鍵生成手段により生成された前記認証鍵を用いて演算処理する第一の演算処理手段と、前記第一の演算処理手段により前記認証鍵を用いて演算処理された前記第一の乱数、前記第二の乱数、および前記セッション鍵を前記第二の情報処理装置に送信する第二の送信手段とを備え、前記第二の情報処理装置が、前記第一の送信手段により送信された前記第一の乱数、前記アクセス先情報、および前記第一の情報処理装置のIDを受信する第二の受信手段と、予め保持する第一のデータ、ルートディレクトリに対応する鍵情報であるルート鍵、前記アクセス先情報により、前記第一の情報処理装置のアクセス先として指定されたディレクトリに対応する鍵情報であるディレクトリ鍵を使用して前記マスタ鍵を生成するマスタ鍵生成手段と、前記第二の受信手段により受信された前記第一の情報処理装置のIDを、前記マスタ鍵生成手段により生成された前記マスタ鍵を用いて演算処理して、前記第一の情報処理装置固有の鍵情報を生成する鍵情報生成手段と、前記第一の情報処理装置がアクセスするディレクトリのIDであるアプリケーションIDを、前記鍵情報生成手段により生成された前記第一の情報処理装置固有の鍵情報で暗号化して前記第一の返信文を生成する第一の返信文生成手段と、前記鍵情報生成手段により生成された前記第一の情報処理装置固有の鍵情報と、前記第一の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵を使用して、認証用の鍵情報である認証鍵を生成する第二の認証鍵生成手段と、第二の乱数を生成する第二の乱数生成手段と、前記第二の乱数生成手段により生成された前記第二の乱数、並びに、前記第二の受信手段により受信された前記第一の乱数および前記第一の情報処理装置のIDを、前記第二の認証鍵生成手段により生成された前記認証鍵を用いて暗号化して第二の返信文を生成する第二の返信文生成手段と、前記第一の返信文生成手段により生成された前記第一の返信文、および、前記第二の返信文生成手段により生成された前記第二の返信文を前記第一の情報処理装置に送信する第三の送信手段と、前記第一の情報処理装置より供給される、前記認証鍵を用いて演算処理された前記第一の乱数、前記第二の乱数、および前記セッション鍵を受信する第三の受信手段と、前記第三の受信手段により受信された、前記認証鍵を用いて演算処理された前記第一の乱数、前記第二の乱数、および前記セッション鍵を、前記第二の認証鍵生成手段により生成された前記認証鍵を用いて演算処理する第二の演算処理手段と、前記第二の演算処理手段により演算処理されて得られた値と、前記第二の乱数生成手段により生成された前記第二の乱数により前記第一の情報処理装置を検証する第二の検証手段とを備える情報処理システムである。
本発明の第一の側面においては、他の情報処理装置より送信された、他の情報処理装置が生成した第一の乱数、他の情報処理装置がアクセスするディレクトリを示すアクセス先情報、および他の情報処理装置のIDが受信され、予め保持する第一のデータ、ルートディレクトリに対応する鍵情報であるルート鍵、並びに、アクセス先情報により、他の情報処理装置のアクセス先として指定されたディレクトリに対応する鍵情報であるディレクトリ鍵が使用されて、他の情報処理装置固有の鍵情報を生成するための鍵情報であるマスタ鍵が生成され、他の情報処理装置のIDが、マスタ鍵を用いて演算処理され、他の情報処理装置固有の鍵情報が生成され、他の情報処理装置固有の鍵情報と、他の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵が使用されて、認証用の鍵情報である認証鍵が生成され、第二の乱数が生成され、前記第二の乱数が、生成された前記認証鍵を用いて暗号化され、暗号化された第二の乱数が他の情報処理装置に送信され、他の情報処理装置より供給される、他の情報処理装置において、認証用の鍵情報である認証鍵を用いて演算処理された第二の乱数が受信され、演算処理された第二の乱数が、生成した認証鍵を用いて演算処理され、演算処理されて得られた第二の乱数と、生成された第二の乱数により他の情報処理装置が検証される。
本発明の第二の側面においては、第一の情報処理装置において、第一の乱数が生成され第一の乱数、第一の情報処理装置がアクセスするディレクトリを示すアクセス先情報、および第一の情報処理装置のIDが送信され、第一の返信文と第二の返信文が受信され、第一の返信文が第一の情報処理装置固有の鍵情報で復号され、第一の情報処理装置がアクセスするディレクトリのIDであるアプリケーションIDが、第一の情報処理装置が保持する鍵情報であるマスタ鍵を用いて演算処理され、第一の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵が生成され、第一の情報処理装置固有の鍵情報と、アプリケーション鍵が使用されて認証鍵が生成され、第二の返信文が、前記認証鍵で復号され、第一の乱数により第二の情報処理装置が検証され、セッション鍵が生成され、第一の乱数および第二の乱数、並びに、セッション鍵が認証鍵を用いて演算処理されて送信され、第二の情報処理装置において、第一の乱数、アクセス先情報、および第一の情報処理装置のIDが受信され、第一のデータ、ルート鍵、ディレクトリ鍵を使用してマスタ鍵が生成され、第一の情報処理装置のIDがマスタ鍵を用いて演算処理されて、第一の情報処理装置固有の鍵情報が生成され、アプリケーションIDが第一の情報処理装置固有の鍵情報で暗号化されて第一の返信文が生成され、第一の情報処理装置固有の鍵情報とアプリケーション鍵が使用されて認証鍵が生成され、第二の乱数が生成され、第二の乱数、第一の乱数、および第一の情報処理装置のIDが、認証鍵を用いて暗号化されて第二の返信文が生成され、第一の返信文と第二の返信文が第一の情報処理装置に送信され、認証鍵を用いて暗号化された第一の乱数、第二の乱数、およびセッション鍵が受信され、その認証鍵を用いて暗号化された第一の乱数、第二の乱数、およびセッション鍵が認証鍵で演算処理され、得られた値と第二の乱数により第一の情報処理装置が検証される。
本発明によれば、認証処理を行うことができる。特に、安全かつ迅速に相互認証を行うことができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の第一の側面は、他の情報処理装置(例えば、図1の情報処理端末11)より、自分自身が保持するデータに対してアクセスを要求される情報処理装置(例えば、図1のICカード12)であって、前記他の情報処理装置より送信された、前記他の情報処理装置が生成した第一の乱数、前記他の情報処理装置がアクセスするディレクトリを示すアクセス先情報、および前記他の情報処理装置のIDを受信する第一の受信手段(例えば、図7のステップS31の処理を実行する図1の通信部38)と、予め保持する第一のデータ、ルートディレクトリに対応する鍵情報であるルート鍵、並びに、前記アクセス先情報により前記他の情報処理装置のアクセス先として指定されたディレクトリに対応する鍵情報であるディレクトリ鍵を使用して、前記他の情報処理装置固有の鍵情報を生成するための鍵情報であるマスタ鍵を生成するマスタ鍵生成手段(例えば、図7のステップS32の処理を実行する図1のマスタ鍵生成部41)と、前記第一の受信手段により受信された前記他の情報処理装置のIDを、前記マスタ鍵生成手段により生成された前記マスタ鍵を用いて演算処理して、前記他の情報処理装置固有の鍵情報を生成する鍵情報生成手段(例えば、図7のステップS33の処理を実行する図1の認証処理部33)と、前記鍵情報生成手段により生成された前記他の情報処理装置固有の鍵情報と、前記他の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵を使用して、認証用の鍵情報である認証鍵を生成する認証鍵生成手段(例えば、図7のステップS35の処理を実行する図1の認証処理部33)と、第二の乱数を生成する第二の乱数生成手段(例えば、図7のステップS36の処理を実行する図1の認証処理部33)と、前記第二の乱数を、前記認証鍵生成手段で生成された前記認証鍵を用いて暗号化する第二の乱数暗号化手段(例えば、図7のステップS37の処理を実行する図1の認証処理部33)と、前記第二の乱数暗号化手段にて暗号化された前記第二の乱数を、前記他の情報処理装置に送信する送信手段(例えば、図7のステップS38の処理を実行する図1の認証処理部33)と、前記他の情報処理装置より供給される、前記他の情報処理装置において、認証用の鍵情報である認証鍵を用いて演算処理された第二の乱数を受信する第二の受信手段(例えば、図8のステップS51の処理を実行する図1の通信部38)と、前記第二の受信手段により受信された、演算処理された前記第二の乱数を、前記認証鍵生成手段により生成された前記認証鍵を用いて演算処理する演算処理手段(例えば、図8のステップS52の処理を実行する図1の認証処理部33)と、前記演算処理手段により演算処理されて得られた値と、前記第二の乱数生成手段により生成された前記第二の乱数により前記他の情報処理装置を検証する検証手段(例えば、図8のステップS53の処理を実行する図1の認証処理部33)とを備える情報処理装置である。
前記マスタ鍵生成手段は、前記第一のデータを前記ルート鍵で暗号化する第一の暗号化手段(例えば、図13のステップS73の処理を実行する図1のマスタ鍵生成部41)と、前記第一の暗号化手段により得られた暗号化結果を、前記ディレクトリ鍵で暗号化する第二の暗号化手段(例えば、図13のステップS75の処理を実行する図1のマスタ鍵生成部41)とを備えることができる。
前記認証鍵生成手段は、前記他の情報処理装置固有の鍵情報を、前記アプリケーション鍵で暗号化する鍵情報暗号化手段(例えば、図11の暗号化処理部81および暗号化処理部82)を備えることができる。
本発明の第一の側面は、また、他の情報処理装置(例えば、図1の情報処理端末11)より、自分自身が保持するデータに対してアクセスを要求される情報処理装置(例えば、図1のICカード12)の情報処理方法、記録媒体、またはプログラムであって、前記他の情報処理装置より送信された、前記他の情報処理装置が生成した第一の乱数、前記他の情報処理装置がアクセスするディレクトリを示すアクセス先情報、および前記他の情報処理装置のIDを受信し(例えば、図7のステップS31)、予め保持する第一のデータ、ルートディレクトリに対応する鍵情報であるルート鍵、並びに、前記アクセス先情報により、前記他の情報処理装置のアクセス先として指定されたディレクトリに対応する鍵情報であるディレクトリ鍵を使用して、前記他の情報処理装置固有の鍵情報を生成するための鍵情報であるマスタ鍵を生成し(例えば、図7のステップS32)、前記他の情報処理装置のIDを、前記マスタ鍵を用いて演算処理して、前記他の情報処理装置固有の鍵情報を生成し(例えば、図7のステップS33)、前記他の情報処理装置固有の鍵情報と、前記他の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵を使用して、認証用の鍵情報である認証鍵を生成し(例えば、図7のステップS35)、第二の乱数を生成し(例えば、図7のステップS36)、前記第二の乱数を、前記認証鍵を用いて暗号化し、暗号化された前記第二の乱数を、前記他の情報処理装置に送信し(例えば、図7のステップS38)、前記他の情報処理装置より供給される、前記他の情報処理装置において、認証用の鍵情報である認証鍵を用いて演算処理された第二の乱数を受信し(例えば、図8のステップS51)、演算処理された前記第二の乱数を、生成した前記認証鍵を用いて演算処理し(例えば、図8のステップS52)、演算処理されて得られた値と、生成された前記第二の乱数により前記他の情報処理装置を検証する(例えば、図8のステップS53)ステップを含む。
以下、本発明の実施の形態について説明する。
図1は、本発明を適用した通信システムの主な構成例を示すブロック図である。
図1に示される通信システム1は、通信機能を有する情報処理端末11およびIC(Integrated Circuit)カード12の2つのデバイスよりなり、情報処理端末11とICカード12が互いに通信を行い、情報を授受するシステムである。情報処理端末11は、例えば改札機や自動販売機等のような、ICカード12のリーダ・ライタ機能を有する情報処理装置であり、ICカード12に情報を供給して記憶させたり、ICカード12に記憶されている情報を読み出したりする。ICカード12は、例えば不揮発性メモリや通信回路を内蔵するICチップやループアンテナ等が埋め込まれたカード型のデバイスであり、情報処理端末11と、通信可能範囲が約10cm程度の近距離無線通信を行い、情報の授受を行う、所謂、非接触型のICカードである。
図1に示されるように、情報処理端末11は、記憶部21、認証処理部23、乱数生成部25、暗号化部26、復号部27、および通信部28の機能ブロックを有する。記憶部21は、例えばフラッシュメモリやハードディスク等の不揮発性のメモリデバイスよりなり、IDや暗号化用の鍵情報等各種情報を記憶する。認証処理部23は、例えばCPU(Central Processing Unit)等の演算処理デバイスよりなり、情報処理端末11とICカード12との通信を開始する際に互いを認証させる認証処理を行う。乱数生成部25は、例えばCPU等の演算処理デバイスよりなり、認証処理等に必要な乱数を生成する。暗号化部26は、例えばCPU等の演算処理デバイスよりなり、通信部28を介してICカード12に供給する情報を必要に応じて暗号化する。復号部27は、例えばCPU等の演算処理デバイスよりなり、通信部28を介してICカード12より供給された、暗号化された情報を必要に応じて復号する。通信部28は、例えば、通信回路等を含むICチップやループアンテナ等よりなり、通信可能範囲内に位置するICカード12との近距離無線通信を行い、情報を授受する。もちろん、情報処理端末11がこれら以外の機能ブロックを有していてもよい。
なお、図1においては矢印の記載を省略しているが、認証処理部23は、乱数生成部25、暗号化部26、および復号部27とも情報の授受を適宜行う。
ICカード12は、記憶部31、データ設定処理部32、認証処理部33、乱数生成部35、暗号化部36、および復号部37の機能ブロックを有する。記憶部31は、例えばフラッシュメモリやハードディスク等の不揮発性のメモリデバイスよりなり、情報処理端末11等外部の機器より供給される情報等、各種情報を記憶する。データ設定処理部32は、ICカード12の外部の機器より供給される命令や情報等に基づいて、記憶部31の記憶領域にディレクトリやファイルを作成したり、鍵情報やID等の設定情報を書き込んだりするデータ設定処理を行う。認証処理部33は、例えばCPU等の演算処理デバイスよりなり、情報処理端末11とICカード12との通信を開始する際に互いを認証させる認証処理を行う。認証処理部33は、情報処理端末11固有の鍵を生成する情報処理端末11用のマスタ鍵を生成するマスタ鍵生成部41を有する。乱数生成部35は、例えばCPU等の演算処理デバイスよりなり、認証処理等に必要な乱数を生成する。暗号化部36は、例えばCPU等の演算処理デバイスよりなり、通信部38を介して情報処理端末11に供給する情報を必要に応じて暗号化する。復号部37は、例えばCPU等の演算処理デバイスよりなり、通信部38を介して情報処理端末11より供給された、暗号化された情報を必要に応じて復号する。通信部38は、例えば、通信回路等を含むICチップやループアンテナ等よりなり、通信可能範囲内に位置する情報処理端末11との近距離無線通信を行い、情報を授受する。もちろん、ICカード12がこれら以外の機能ブロックを有していてもよい。
なお、図1においては矢印の記載を省略しているが、データ設定処理部32および認証処理部33は、それぞれ、乱数生成部35、暗号化部36、および復号部37とも情報の授受を適宜行う。
以上の通信システム1に関わる存在(エンティティ)について説明する。以下においては、ICカード12をユーザに提供する(あるいは販売し、管理する)エンティティをシステム管理者と称し、そのシステム管理者の許諾を得て、ICカード12の記憶部31の記憶領域の中にディレクトリを生成し、サービスを提供するエンティティを事業者と称する。当然、システム管理者も一事業者となり得る。
システム管理者は、ICカード12に第一のデータと、ルートディレクトリを管理する鍵情報であるルート鍵を書き込み、ユーザにICカード12を提供する。従って、同一のシステム管理者配下のICカード12の記憶部31には、全て同じ第一のデータおよびルート鍵が書かれている。換言するに、互いに異なるシステム管理者のICカードには、互いに異なる第一のデータおよびルート鍵がそれぞれ記憶される。
図2は、情報処理端末11の記憶部21、および、ICカード12の記憶部31に記憶される情報の例を示す図である。
図2に示される例においては、通信システム1は、3台の情報処理端末11と2枚のICカード12により構成される。通信システム1を提供するシステム管理者(企業や団体等も含む)は1人(1社または1団体等)存在し(つまり、唯一のシステム管理者が存在し)、通信システム1を用いたサービスを提供する事業者(企業や団体等も含む)は2人(2社または2団体)存在し(つまり、2単位の事業者が存在し)、通信システム1を用いたサービスを享受するユーザは2人(2社または2団体)存在する(つまり、2単位のユーザが存在する)。事業者1は、情報処理端末11−1−1および情報処理端末11−1−2を所有し、事業者2は、情報処理端末11−2−1を所有する。ICカード12−1は、図示せぬ一方のユーザにより所有され、ICカード12−2は、図示せぬ他方のユーザにより所有される。なお、情報処理端末11−1−1、情報処理端末11−1−2、および情報処理端末11−2−1を互いに区別して説明する必要の無い場合、単に情報処理端末11と称する。同様に、ICカード12−1およびICカード12−2を互いに区別して説明する必要の無い場合、単にICカード12と称する。
システム管理者は、例えば出荷時に、ICカード12−1の記憶部31−1に第一のデータ(KSystem)とルート鍵(KRoot)を書き込む。同様に、システム管理者は、例えば出荷時に、ICカード12−2の記憶部31−2に第一のデータ(KSystem)とルート鍵(KRoot)を書き込む。
事業者1は、システム管理者の許諾を得てICカード12−1の記憶部31−1に、提供するサービス毎にディレクトリ(ディレクトリ1−1、ディレクトリ1−2、ディレクトリ1−3、およびディレクトリ1−3−2)を作成する。なお、本例ではディレクトリ1−3にはアクセスしないこととする。また、ディレクトリ1−3−2はディレクトリ1−3の下にある下位ディレクトリである(つまり、ルート直下ではない)。
同様に、事業者2は、システム管理者の許諾を得てICカード12−2の記憶部31−2に、提供するサービス毎にディレクトリ(ディレクトリ2−1、ディレクトリ2−2、ディレクトリ2−3、およびディレクトリ2−3−2)を作成する。なお、本例ではディレクトリ2−3にはアクセスしないこととする。また、ディレクトリ2−3−2はディレクトリ2−3の下にある下位ディレクトリである(つまり、ルート直下ではない)。
ディレクトリを作成する際、事業者は、そのサービスのディレクトリを管理する、サービス毎の鍵情報であるディレクトリ鍵(DirK)、そのICカード12のそのディレクトリを識別するためのアプリケーションID(AppID)と、そのICカード12のそのディレクトリを管理する鍵情報であるアプリケーション鍵(AppK)を、そのディレクトリに書き込む。
例えば、事業者1は、ディレクトリ1−1を作成すると、そのディレクトリ1−1に、ディレクトリ鍵(DirK1−1)、アプリケーションID(AppID1−1)、およびアプリケーション鍵(AppK1−1)を書き込む。同様に、事業者1は、ディレクトリ1−2を作成すると、そのディレクトリ1−2に、ディレクトリ鍵(DirK1−2)、アプリケーションID(AppID1−2)、およびアプリケーション鍵(AppK1−2)を書き込む。
同様に、事業者2は、ディレクトリ2−1を作成すると、そのディレクトリ2−1に、ディレクトリ鍵(DirK2−1)、アプリケーションID(AppID2−1)、およびアプリケーション鍵(AppK2−1)を書き込む。同様に、事業者2は、ディレクトリ2−2を作成すると、そのディレクトリ2−2に、ディレクトリ鍵(DirK2−2)、アプリケーションID(AppID2−2)、およびアプリケーション鍵(AppK2−2)を書き込む。
ディレクトリ鍵DirKの場合、書き込み先のICカード12が異なっていても(つまり、異なるユーザが持つカードという意味)(例えば、ICカード12−1の場合も、ICカード12−2の場合も)、提供されるサービスが同一のディレクトリであれば、互いに同一の鍵が書き込まれる。これに対して、アプリケーションID(AppID)やアプリケーション鍵(AppK)の場合、サービスが同一のディレクトリであってもICカードが異なれば値が異なる。
また、例えば、ディレクトリ1−1のアプリケーション鍵AppK1−1は、情報処理端末11−1−1の記憶部21−1−1に保持されているマスタ鍵MK1−ICとアプリケーションID(AppID1−1)から生成できるものとする。つまり、ここには図示されていないが、事業者1が他のICカード12(つまり、異なるユーザが持つカードという意味)に生成するディレクトリには、異なるアプリケーションID(AppID)(これがユーザIDとなる)とアプリケーション鍵(AppK)が書き込まれる。ただし、ディレクトリ鍵(DirK)は共通である。
同様に、事業者2によって各ディレクトリにディレクトリ鍵(DirK)、アプリケーションID(AppID)、およびアプリケーション鍵(AppK)が書き込まれる。
情報処理端末11−1−1の記憶部21−1−1には、情報処理端末11−1−1固有の識別情報(ID1−1)、情報処理端末11−1−1固有の鍵(K1−1)、ICカード12−1の記憶部31−1に記憶されるアプリケーション鍵(AppK)を生成するためのマスタ鍵(MK1−IC)が書き込まれている。この鍵は、事業者毎に異なるだけであるため、同一事業者内では同じ鍵となる。なお、マスタ鍵をディレクトリ毎に変えるようにしても良い(本例では、事業者につき固有としている)。その場合、アクセスするディレクトリ分のマスタ鍵を保持している必要がある。
同様に、情報処理端末11−1−2の記憶部21−1−2には、情報処理端末11−1−2固有の識別情報(ID1−2)、情報処理端末11−1−2固有の鍵(K1−2)、ICカード12−1の記憶部(31−1)に記憶されるアプリケーション鍵(AppK)を生成するためのマスタ鍵(MK1−IC)が書き込まれている。同様に、情報処理端末11−2−1の記憶部21−2−1には、情報処理端末11−2−1固有の識別情報(ID2−1)、情報処理端末11−2−1固有の鍵(K2−1)、ICカード12−2の記憶部31−2に記憶されるアプリケーション鍵(AppK)を生成するためのマスタ鍵(MK2−IC)が書き込まれている。
次に、ICカード12の記憶部31内に記憶されるデータの具体的な構成例を説明する。
図3は、記憶部31の記憶領域内に書き込まれる情報の構成例(アドレスマップ)を示す図である。
図3において、まず、1ブロックのバイト数であるが、鍵長が16バイト以上になることに伴い、32バイトを想定している。もちろん、鍵長を8バイトとして、1ブロックを16バイトとしてもよいし、1ブロックを64バイトとしてもよい。記憶部31には、鍵データ等のシステムデータが、メモリの上位アドレスから書き込まれる。逆に、ユーザデータは下位アドレスから書き込まれる。結果として、記憶部31の中央領域が常に空き領域となるようになる。これらのデータを保持するICチップ(記憶部31を含むICチップ)を、以降セキュリティICと呼称する。
記憶部31の論理アドレスFFFFhのブロック(32バイト)には、デバイスID(Device ID)と、デバイスパラメータ(Device Parameter)が記憶される。デバイスID(Device ID)は、デバイス固有のID、すなわちICカード12のIDを示す。このデータは、ICベンダーによって書き込まれるか、システム管理者によって書き込まれる。このデータは、所定の手続きを取らない限り読み出すことができないようになされており、通常のアプリケーションでは使用することができない。これにより、プライバシー等の侵害を防ぐことが期待される。また、デバイスパラメータ(Device Parameter)は、返答時間など、種々のパラメータを規定する。
各ブロックの先頭の2バイト(FF FFhとFF FEh)は、それぞれ、ブロック種別を規定するデータである。この先頭の2バイトがFF FFhまたはFF FEhで始まるシステムブロック(論理アドレスFFFEhおよび論理アドレスFFFDhの2ブロック)は、システム管理者によって記憶部31に最初に割り当てられ、システム全体を管理する鍵情報であるシステム鍵(System Key)の情報を格納している。このシステム鍵(System Key)はシステムデータ(System Data)を生成するための元になるデータである認証鍵用(System Key for Authentication)(後述する第一のデータ)とアクセス許諾チケット生成鍵用(System Key for Access Control Ticket)(後述する第三のデータ)の2つが設けられる。なお、このシステム鍵は、いずれか一方のみを設定し、その一方を用いて所定のロジックによって他方が生成されるようにしてもよいし、両者を同一としてもよい。
この2ブロックに含まれるキーフォーマット(Key Format)は、システム鍵(System Key)を暗号鍵として使用する場合の共通鍵暗号アルゴリズム/鍵長を規定するものであり、システム鍵(System Key)をデータとして使用する場合には適応しない。また、キーバージョン(Key Version)は、そのブロックのシステム鍵(System Key)のバージョン情報を示す。
先頭の2バイトが00 00hで始まるシステムブロックは、ルートディレクトリ(Root Directory)の情報を格納している。3バイト目乃至6バイト目(00 00 00 00h)は、ルートディレクトリ(Root Directory)のディレクトリコード(Directory Code)(Directoryの名前)を示している。スタートアドレス(Start Address)は、通常00 00hから始まり、エンドアドレス(End Address)は、システムブロックの1つ手前を表す。なお、このアドレスは物理アドレスではなく、論理ブロック番号に該当する。トータルブロック数(Total Block)は、スタートアドレス(Start Address)とエンドアドレス(End Address)から計算できるため必要性はないが、メモリ上は確保しておく。キーフォーマット(Key Format)は、使用される共通鍵暗号アルゴリズム/鍵長を規定するもので、他の領域に保存されている共通鍵全てに適応する。キーバージョン(Key Version)は、ルート鍵(Root Directory Symmetric Key)の鍵のバージョンを示す。
先頭の2バイトが00 01hで始まるシステムブロックは、下位にサブディレクトリ(Sub-Directory)を構成することが可能なディレクトリ(Directory)に関する情報を格納し、先頭の2バイトが00 02hで始まるシステムブロックは、下位にサブディレクトリ(Sub-Directory)を構成することが不可能なディレクトリ(Directory)に関する情報を格納する。これらのシステムブロックのディレクトリコード(Directory Code)は、このディレクトリ(Directory)の名前を示し、他のコード(Code)と異なっている必要がある。ただし、このコード(Code)に値「FF FF FF FFh」および「00 00 00 00h」は使用することができないようになされている。また、これらのシステムブロックのスタートアドレス(Start Address)とエンドアドレス(End Address)は、上述したルートディレクトリ(Root Directory)に関するシステムブロックの場合と同様である。2回目に出てくるディレクトリコード(Directory Code)は、親ディレクトリのディレクトリコード(Directory Code)を示す。通常は、ルートディレクトリ(Root Directory)に属するため、このディレクトリコードには「00 00 00 00h」が書き込まれるが、それより下段のディレクトリでは、親ディレクトリのディレクトリコードが記述される。また、これらのシステムブロックのキーバージョン(Key Version)は、上述したルートディレクトリ(Root Directory)に関するシステムブロックの場合と同様である。先頭の2バイトが00 01hで始まるシステムブロックのディレクトリ鍵(Directory Symmetric Key with Sub-Directory)は、下位にサブディレクトリ(Sub-Directory)を構成することが可能なディレクトリ(Directory)のディレクトリ鍵のことである。また、先頭の2バイトが00 02hで始まるシステムブロックのディレクトリ鍵(Directory Symmetric Key without Sub-Directory)は、下位にサブディレクトリ(Sub-Directory)を構成することが不可能なディレクトリ(Directory)のディレクトリ鍵のことである。
先頭の2バイトが00 FFhで始まるシステムブロックは、ディレクトリ(Directory)に対するアプリケーション情報(Application Information)を示している。このシステムブロックのアプリケーションID(Application ID)は、そのディレクトリ(Directory)を管理する事業者がICカード12に割り振った識別情報(ID)を示し、アプリケーション鍵(Application Symmetric Key)は、アプリケーションID(Application ID)とマスタ鍵(Master Application Key)とから算出される鍵を示す。またディレクトリコード(Directory Code)は、このアプリケーション情報(Application Information)に対応するディレクトリコード(Directory Code)を示す。
先頭の2バイト(ブロック種別)が01 00h乃至FE FFhの場合、それらの値はアクセスモード(Access Mode)、すなわち、ファイル(File)へのアクセス方法を示している。このブロックのアクセスコード(Access Code)はファイル(File)の名前を示している。ただし、他のコード(Code)と値が異なっている必要がある。また、このブロックのスタートアドレス(Start Address)とエンドアドレス(End Address)は、上述したルートディレクトリ(Root Directory)に関するシステムブロックの場合と同様である。このブロックのディレクトリコード(Directory Code)は、アクセス対象のファイル(File)が所属するディレクトリ(Directory)の名前を示す。さらに、このブロックのキーバージョン(Key Version)の値が「FF FFh」以外である場合、アクセス制御のための鍵であるアクセス制御鍵(Access Control Symmetric Key)が有効である。これに対して、キーバージョン(Key Version)の値が「FF FFh」である場合、このブロックの鍵情報、すなわちアクセス制御鍵(Access Control Symmetric Key)が無効である。つまり、キーバージョン(Key Version)の値が「FF FFh」であることは、暗号処理機能を使用しないことを示す。
なお、先頭の2バイトが00 FEhで始まるシステムブロックを、リボケーションリスト(Revocation List)とすることができる。この時、通常は鍵が書かれている領域にリボーク(Revoke)される情報処理端末のIDを記載する。
次に、このようなセキュリティIC内部のデータ(記憶部31に書き込まれるデータ)の設定方法を規定する。このデータ設定を行うデータ設定処理の流れの例を図4のフローチャートを参照して説明する。必要に応じて図5および図6を参照して説明する。
ステップS1において、データ設定処理部32は、チップベンダ(ICカード12を作成する製品製造メーカを含む)より指示を受けると、記憶部31の記憶領域を初期化する。つまり、チップ製造直後、チップベンダは、ICカード12以外のデバイス(例えば、セキュリティIC検査装置など)を用いて全てのメモリデータをFFhに初期化するようセキュリティICに要求する。その後、このセキュリティICを組み込んだICカードを製造する。
ステップS2において、データ設定処理部32は、チップベンダの指示(特別なコマンド)に基づいて、ICカード12の外部の装置より供給されるデバイスIDおよびパラメータを記憶部31に書き込む。なお、デバイスIDおよびパラメータの書き込みは、記憶部31の全てのメモリエリアがFFh(もしくは、デバイスID(Device ID)およびパラメータ(Device Parameter)の領域のみがFFh)である場合のみ可能である。なお、この時点では値の読み出し(特別なコマンド)は自由に行えるようにしておく。また、何度でも変更ができるようにしておく。さらに、変更する場合には、上記書き込みシーケンスと同様のものを用い、それによって、以前のデータは消去され、上書きされるものとする。また、もしデバイスID(Device ID)およびパラメータ(Device Parameter)の領域のみがFFhであった場合、データ設定処理部32は、ここで他の領域をFFhに初期化する。
ステップS3において、データ設定処理部32は、システム管理者の指示に基づいてICカード12の外部の装置より供給されるシステム鍵を記憶部31に書き込む。なお、システム管理者がシステム管理者固有のシステム鍵(System Key)を書き込むために、チップベンダは、出荷時に仮のシステム鍵を記憶部31に書き込む。このシステム鍵の書き込みは、デバイスID(Device ID)とパラメータ(Device Parameter)が書き込まれていることが条件となっている。また、通常の場合、システム鍵(System Key)の書き込みは一度しか行えず、書き替えるためには所定の変更手順に従って行う必要がある。ただし、その場合も、システム鍵(System Key)を書き替えるためには、デバイスID(Device ID)、パラメータ(Device Parameter)が書き込まれていること、およびシステム鍵(System Key)領域以外のデータが初期化されている(FFhになっている)ことが条件となる。また、この更新に使う、古いシステム鍵の暗号方式は、メモリに書き込まれているキーフォーマット(Key Format)に従う。キーフォーマット(Key Format)には、暗号アルゴリズムや鍵ビット長の他に、例えば、所定の値をExor(排他的論理和)してから暗号化する、所定回数の暗号化を繰り返す、1回だけ暗号化する等といった暗号方法が記述されている。
これ以降の書き込み処理が進んだ状態においては、システム鍵(System Key)の変更は一切できないようになされている。実際の書き込み方法は、外部から所定のフォーマットに従ったデータをセキュリティICに送り込み、それに基づいてシステム鍵(System Key)、システムコード(System Code)、キーフォーマット(Key Format)、およびキーバージョン(Key Version)を書き込ませる。書き込みシーケンスは、上述したデバイスIDおよびパラメータの場合と同様であるが、適宜最適な方法を設定して良い。なお、このときの送信データは暗号化されていない。
ステップS4において、データ設定処理部32は、システム管理者の指示に基づいて、ICカード12の外部の装置より供給されるルート鍵を記憶部31に書き込む。なお、このルート鍵(Root Key)の書き込みは、システム鍵(System Key)が書き込まれている場合のみ可能である。これは、ルート鍵(Root Key)の初期書き込みには、システム鍵(System Key)が使用されからである。実際の書き込み方法は、ICカード12の外部の装置から所定のフォーマットに従ったデータをICカード12のセキュリティICに送り込み、それに基づいてルート鍵(Root Key)を書き込ませる。コマンドは上述した他のステップの場合と同じであるが、図5に示されるように、コマンドに含まれるデータ列51は、システム鍵(System Key)で暗号化したルート鍵(Root Key)を含む。暗号化方法は、システム鍵(System Key)のキーフォーマット(Key Format)に従うものとする。なお、ルート鍵(Root Key)を更新する場合には、更新される前のルート鍵(Root Key)だけが必要となる。つまり、ルート鍵(Root Key)の更新時にはシステム鍵(System Key)は(鍵としては)使用されない。
ここまでの処理は、システム管理者またはチップベンダ等が指示することになっていることと、ここまで処理が進まない間は、これを組み込んだ製品そのものが動作しないことから、比較的安全なところで処理が行えることが期待できる(仮に、ルート鍵(Root Key)を未実装で製品に組み込む場合も、その後、安全な場所でルート鍵(Root Key)の書き込みを確実に行うことができるものとする)。このため、鍵の書き込みメカニズムは比較的簡易にしてある。
ステップS5において、ディレクトリを作成したい事業者は、システム管理者に依頼してディレクトリ生成チケットを作成してもらう。このディレクトリ生成チケットには、ディレクトリ情報及びアプリケーション情報を設定するのに必要なデータをルート鍵で暗号化したものと、システム鍵(System Key)を用いて生成されたICV(Integrity Check Value)が含まれている。このようになされる理由は、この時点では相互認証ができないことと、システム管理者の許諾なく、ルート直下にディレクトリを作成させないためである。なお、キーバージョン(Key Version)は00 00hとされ、ディレクトリ鍵(DirectoryKey)、アプリケーションID(Application ID)及びアプリケーション鍵(Application Key)は固定データとなる。必要に応じてステップS7で事業者が書き換えるものとする。
ステップS6において、サービスを提供したい事業者は、ステップS5でシステム管理者が生成したディレクトリ生成チケットを受領し、このディレクトリ生成チケットをデータ設定処理部32に送ってディレクトリを仮作成する。これにより、自身のサービスを提供するためのディレクトリがICカード12に仮作成される。
データ設定処理部32は、受領したディレクトリ生成チケットのICVをシステム鍵で検証し、ICVが正当か否かを判定する。正当でないと判定された場合には、ディレクトリの生成は行われない。ICVが正当と判断された場合、ディレクトリ生成チケットに書かれているディレクトリ情報及びアプリケーション情報をルート鍵で復号化し、これらのデータを記憶部31に書き込む。
ステップS7において、サービスを提供したい事業者は、仮作成されたディレクトリの内、必要な情報(ディレクトリ鍵(DirectoryKey)、アプリケーションID(Application ID)及びアプリケーション鍵(Application Key))を書き換える処理を行う。
このために、まず、情報処理端末11とICカード12間で相互認証を行う。相互認証の方法に関しては後述する。相互認証が終了した後、情報処理端末11からICカード12に対し、ディレクトリ鍵(Directory Key)変更コマンドを送信する。ディレクトリ鍵(Directory Key)変更コマンドには、付随データとして、新しい鍵のキーバージョン(Key Version)と、古いディレクトリ鍵(Directory Key)で暗号化された、新しいディレクトリ鍵(Directory Key)が含まれている。これを受信したICカード12は、変更するディレクトリのディレクトリ鍵(Directory Key)を読み出し、この鍵でコマンドに添付されてきたデータを復号化する。そして、得られた新しいディレクトリ鍵(Directory Key)で古いディレクトリ鍵(Directory Key)を書き換え、キーバージョン(Key Version)を更新する。
同様に、情報処理端末11とICカード12間で相互認証を行い、相互認証が終了した後、情報処理端末11からICカード12に対し、アプリケーション情報変更コマンドを送信する。アプリケーション情報変更コマンドには、付随データとして新しい鍵のキーバージョン(Key Version)、アプリケーションID(Application ID)及びアプリケーション鍵(Application Key)が含まれている。ただし、アプリケーションID(Application ID)は、情報処理端末11で新たに割り振ることとし、このIDとアプリケーション鍵(Application Key)を生成するためのマスタ鍵とからアプリケーションID(Application ID)に対応するアプリケーション鍵(Application Key)を生成することとする。
次に、これを受信したICカード12は、受信したアプリケーションID(Application ID)及びアプリケーション鍵(Application Key)を書き換え、キーバージョン(Key Version)を更新する。
なお、通常、この情報処理端末11は鍵変更処理専門の端末であり、複数のICカードの鍵を変更し、これらの情報を管理している。従って、この情報処理端末11は、アプリケーションID(Application ID)を系統的に割り振って管理することが可能である。
また、アプリケーション情報変更処理時に別途相互認証すると説明したが、上記ディレクトリ鍵(Directory Key)変更処理に引き続き行う場合には不要である。
一方、後述するように、相互認証を終了した情報処理端末11とICカード12は、以降の通信路をセッション鍵で暗号化して秘匿化することができ、かつメッセージを改ざん防止できるよう整合性チェックを行っている。このため、更新するための新しいディレクトリ鍵を情報処理端末11内部に保持していても、通信路上で漏洩する心配はない。しかし、情報処理端末11が安全に管理される保証はないため、念のため古いディレクトリ鍵で更新する新しいディレクトリ鍵を暗号化しておくこととする。一方で、新しいアプリケーション鍵は古いアプリケーション鍵で暗号化しておくことはしていない。これは、情報処理端末11にアプリケーション鍵を生成するためのマスタ鍵が記憶されており、鍵更新時にアプリケーション鍵の生成を行っていることと(あらかじめ古いアプリケーション鍵で暗号化しておくことができない)、仮に情報処理端末11が安全に管理されなかった場合、このマスタ鍵が漏洩することになり、そこまで対策しても効果が薄いからである。
また、事業者は、上位ディレクトリ(Directory)が生成されている場合、ルートディレクトリ直下でなくても、その上位ディレクトリの下に新規サブディレクトリ(Sub-Directory)を生成することができる。この時、サブディレクトリ(Sub-Directory)のディレクトリ鍵(Directory Key)とアプリケーションID(Application ID)、およびアプリケーション鍵(Application Key)も書き込まれる。実際の書き込み方法は、システム鍵(System Key)、ルート鍵(Root Key)、および上位のディレクトリのディレクトリ鍵(Directory Key)、上位のディレクトリのアプリケーション鍵(Application Key)で相互認証を行い、所定のフォーマットに従ったデータをセキュリティICに送り込んで行う。サブディレクトリのディレクトリ鍵(Sub-Directory Key)は、上位のディレクトリのディレクトリ鍵(Dirctory Key)で暗号化されているため、比較的安全である。サブディレクトリのアプリケーションID(Application ID)とアプリケーション鍵(Application Key)は、予め設定しておくことが困難であるため、事前に上位ディレクトリのディレクトリ鍵(Directory Key)で暗号化しておくことができない。そのため、セッション鍵で保護するものとする。
なお、本例ではサブディレクトリ生成のための所定フォーマットコマンドを使用するとしたが、必要に応じてサブディレクトリ生成のためのアクセス許諾チケットを定義し、それを用いて行うようにしても良い。ただし、アクセス許諾チケットは事前生成が前提にもかかわらず、アプリケーション鍵が事前に生成することは難しく、所定のフォーマットコマンドを使用する方法の方が容易に実現可能である。
所定のフォーマットコマンドを使用する場合、相互認証後、アプリケーションIDを生成し、マスタ鍵でアプリケーション鍵を生成し、上位ディレクトリの鍵で暗号化されたサブディレクトリのディレクトリ鍵とアプリケーションID、アプリケーション鍵、その他必要な情報(バージョン等)をセッション鍵で秘匿化してICカードに送るようにする。
これに対して、アクセスチケットを使用する場合、予めアプリケーションIDを生成しておき、それに対するアプリケーション鍵もマスタ鍵から作っておく。これら一連のデータとサブディレクトリのディレクトリ鍵を上位ディレクトリのディレクトリ鍵で暗号化し、これを包含したアクセス許諾チケットを作るようにする。ただし、アクセス許諾チケットに付けるICVを生成する鍵を何にするか、検討する必要がある。通常は、アクセス制御鍵を使うのだが、ディレクトリにはその鍵はない(ファイルに対して作られているため)。そのため、暫定的にICVも上位ディレクトリのディレクトリ鍵で生成する方法が考えられる。
ステップS8において、データ設定処理部32は、事業者の指示に基づいて、ディレクトリ内にファイル(File)を作成する。ディレクトリが作成されていれば、事業者は、ファイルアクセス方法を規定し、それに対応するデータをファイルとして記憶部31に書き込ませることができる。実際のファイル生成方法は、事業者が、システム鍵(System Key)、ルート鍵(Root Key)、ディレクトリ鍵(Directory Key)、およびアプリケーション鍵(Application Key)を用いて相互認証を行い、所定のフォーマットに従ったデータをセキュリティICに送り込んで行う。なお、アクセス制御鍵はディレクトリ鍵で暗号化されているため、比較的安全である。また、ディレクトリ鍵で暗号化されたアクセス制御鍵を含む、システムブロック情報(アクセスモード、アクセスコード、スタート・エンドアドレス、ディレクトリコード等)は、セッション鍵で暗号化されて送り込まれる。
なお、サブディレクトリの生成時と同様に、必要に応じてファイル生成のためのアクセス許諾チケットを定義し、それを用いて行うようにしても良い。
ステップS9において、データ設定処理部32は、事業者の指示に基づいて、アクセス制御鍵を書き込む。ステップS8で説明したように、アクセス制御鍵(Access Control Key)は、生成されるファイルが所属するディレクトリのディレクトリ鍵(Directory Key)で暗号化しておくものとする。
以上のようにして、例えば、図2に示されるように、記憶部31内に各種データが書き込まれる。
図1の通信システム1において、情報処理端末11およびICカード12は、通信を行うためにセッションを確立する。情報処理端末11およびICカード12は、通信開始時において、そのセッションの確立のために、お互いを認証させる相互認証処理を行う。
図7および図8のフローチャートを参照して、その相互認証処理の流れの例を説明する。なお、必要に応じて、図9乃至図12を参照して説明する。また、ここでは、説明の便宜上、図2の情報処理端末11−1−1およびICカード12−1が相互認証処理を行う場合を例に説明する。
相互認証処理が開始されると、情報処理端末11−1−1の認証処理部23は、ステップS21において、乱数生成部25を制御して第一の乱数を生成する。
ステップS22において、認証処理部23は、通信部28を制御して、第一の相互認証開始コマンドを、情報処理端末11−1−1のID(ID1−1)、アクセスするディレクトリを示すアクセス先ディレクトリ情報、および、ステップS21の処理において生成された第一の乱数とともに、ICカード12−1に送信させる。なお、アクセス先ディレクトリ情報においては、アクセス先のディレクトリが例えばディレクトリコード(Directory Code)によって示される。もちろん、アクセス先のディレクトリを特定することができる情報であれば、ディレクトリコード(Directory Code)以外の情報を用いるようにしてもよい。なお、ここではアクセス先ディレクトリの一例として、ディレクトリ1−1とディレクトリ1−2が指定されたものとして説明する。
ステップS31において、ICカード12−1の通信部38は、この第一の相互認証開始コマンド等を取得する。第一の相互認証開始コマンドを取得すると、認証処理部33のマスタ鍵生成部41は、ステップS32において、相互認証の相手となる情報処理端末11(この場合、情報処理端末11−1−1)固有の鍵(この場合、鍵K1−1)を生成するための鍵情報であるマスタ鍵(この場合、マスタ鍵MK1−IT)を生成する処理を行う。マスタ鍵の生成は、第一のデータ、ルート鍵、および、アクセス先に指定されたディレクトリのディレクトリ鍵を縮退することにより生成される。
より具体的な例は、図9に示される。図9に示されるように、マスタ鍵生成部41は、暗号化処理部(AES)61乃至暗号化処理部(AES)63の機能ブロックを有する。暗号化処理部(AES)61は、暗号化部36を制御し、第一のデータであるシステム鍵(KSystem)をルート鍵(KRoot)を用いてAES(Advanced Encryption Standard)方式で暗号化させ、第二のデータを生成する。暗号化処理部(AES)62は、暗号化部36を制御し、その第二のデータをディレクトリ1−1のディレクトリ鍵(DirK1−1)を用いてAES方式で暗号化させる。暗号化処理部(AES)63は、暗号化部36を制御し、暗号化処理部(AES)62による暗号化結果をディレクトリ1−2のディレクトリ鍵(DirK1−2)を用いてAES方式で暗号化させ、マスタ鍵(MK1−IT)を生成する。なお、AESの代わりに、DES(Data Encryption Standard)等、その他の共通鍵暗号化方式を用いるようにしてもよい。
このマスタ鍵生成処理の詳細な流れについては、後述する。マスタ鍵が生成されると認証処理部33は、ステップS33において、暗号化部36を制御し、情報処理端末11−1−1のID(ID1−1)を、ステップS32の処理により生成されたマスタ鍵(MK1−IT)を用いて暗号化させ、情報処理端末11−1−1固有の鍵(K1−1)を生成する。
具体的な例を図10に示す。図10に示されるように、認証処理部33は、暗号化処理部(AES)71の機能ブロックを有する。暗号化処理部(AES)71は、暗号化部36を制御し、情報処理端末11−1−1のID(ID1−1)をマスタ鍵(MK1−IT)を用いてAES方式で暗号化させ、情報処理端末11−1−1固有の鍵(K1−1)を生成する。
なお、この場合も、AESの代わりに、DES等、その他の共通鍵暗号化方式を用いるようにしてもよい。また、本例では暗号化する例で説明したが、ステップS32の処理により生成されたマスタ鍵(MK1−IT)を用いて情報処理端末11−1−1のID(ID1−1)を復号化し、情報処理端末11−1−1固有の鍵(K1−1)を生成しても良い。あるいは、所定の固定値を情報処理端末11−1−1のID(ID1−1)に対してEXORするなどして演算した後、ステップS32の処理により生成されたマスタ鍵(MK1−IT)を用いて暗号化させて生成するようにしても良い。このように、情報処理端末11−1−1に保持されている固有の鍵(K1-1)が復元できさえすれば、どのような演算方法を用いてもかまわない。
この鍵K1−1は、情報処理端末11−1−1固有の鍵である。図2の例において、事業者1の情報処理端末11−1−2には、情報処理端末11−1−1に割り当てられたID(ID1−1)と異なるID(ID1−2)が書き込まれているため、同じ情報処理端末用マスタ鍵(MK1−IT)を用いても、情報処理端末11−1−1固有の鍵(K1−1)とは異なる情報処理端末11−1−2固有の鍵(K1−2)が生成される。
ステップS34において、認証処理部33は、暗号化部36を制御し、アクセス先に指定されたディレクトリに書き込まれたアプリケーションID(AppID1−1とAppID1−2)を情報処理端末11−1−1固有の鍵(K1−1)で暗号化させ、第一の返信文を作成する。このとき、アプリケーションID(AppID)の使用順は、情報処理端末11−1−1より供給されたアクセス先ディレクトリ情報に従う。なお、このときの暗号化方法は、CBC(Cipher Block Chaining)モード等の暗号利用モードを用いることとする。また、本例では暗号化することを示していたが、復号するようにしてもよい。この場合、この第一の返信文を受け取った情報処理端末11−1−1側では、同一の鍵を用いて暗号化する必要がある。
第一の返信文を生成した後、認証処理部33は、ステップS35において、相互認証に利用される認証鍵(KAuth)の生成を行う。認証処理部33は、暗号化部36を制御し、情報処理端末11−1−1固有の鍵(K1−1)を、アクセス先に指定されたディレクトリに書き込まれたアプリケーション鍵(AppK1−1およびAppK1−2)を用いて暗号化させて認証鍵(KAuth)を生成する。このような処理を鍵の縮退化とする。
具体的な例を図11に示す。図11に示されるように、認証処理部33は、暗号化処理部(AES)81および暗号化処理部(AES)82の機能ブロックを有する。暗号化処理部(AES)81は、暗号化部36を制御し、情報処理端末11−1−1固有の鍵(K1−1)を、アクセス先に指定されたディレクトリ1−1に書き込まれているアプリケーション鍵(AppK1−1)を用いてAES方式で暗号化させる。暗号化処理部(AES)82は、暗号化部36を制御し、暗号化処理部(AES)81による暗号化結果を、アクセス先に指定されたディレクトリ1−2に書き込まれているアプリケーション鍵(AppK1−2)を用いてさらにAES方式で暗号化させる。この暗号化処理部(AES)82による暗号化結果が認証鍵(KAuth)とされる。
なお、アプリケーション鍵(AppK)の使用順は、情報処理端末11−1−1より供給されたアクセス先ディレクトリ情報に従う。また、この場合も、AESの代わりに、DES等、その他の共通鍵暗号化方式を用いるようにしてもよい。
ステップS36において、認証処理部33は、乱数生成部35を制御して第二の乱数を生成する。ステップS37において、認証処理部33は、認証鍵(KAuth)を暗号鍵とし、暗号化部36を制御して、この第二の乱数、情報処理端末11−1−1から送られてきた第一の乱数、および、情報処理端末11−1−1のID(ID1−1)を所定の暗号利用モードで暗号化し、第二の返信文を生成する。なお、第二の乱数、第一の乱数、および、情報処理端末11−1−1のID(ID1−1)は、予め定められた所定の順序で暗号化される。
ここで、本例では第一の返信文は情報処理端末11−1−1固有の鍵(K1−1)で暗号化させて生成し、第二の返信文は認証鍵(KAuth)で暗号化させて生成していたが、暗号化された第一の返信文及び暗号化前の第二の返信文を、認証鍵(KAuth)を用いて、所定の暗号利用モードで一括して暗号化するようにしても良い。更にまた、第二の返信文に情報処理端末11−1−1のID(ID1-1)を含ませていたが、これ(情報処理端末11−1−1のID)以外のデータを利用するようにしても良い。
ステップS38において、認証処理部33は、通信部38を制御し、相互認証開始コマンドに対するレスポンスとして、第一の返信文と第二の返信文を、情報処理端末11−1−1に返信させる。ステップS38の処理を終了すると、ICカード12−1の認証処理部33は、図8のステップS51に処理を進める。
また、情報処理端末11−1−1の通信部28は、ステップS23においてそのレスポンス(第一の返信文と第二の返信文)を受信すると、処理を図8のステップS41に進める。
図8のステップS41において、情報処理端末11−1−1の認証処理部23は、復号部27を制御し、予め記憶部21に記憶されている情報処理端末11−1−1固有の鍵(K1−1)を用いて第一の返信文を、利用された暗号化方法に対応する復号方法で復号させ、アプリケーションID(AppID1−1とAppID1−2)を取り出す。ステップS42において、認証処理部23は、予め記憶部21に記憶されているマスタ鍵(MK1−IC)を用いてアプリケーションID(AppID1−1)暗号化することによりアプリケーション鍵(AppK1−1)を生成し、さらに、マスタ鍵(MK1−IC)を用いてアプリケーションID(AppID1−2)を暗号化することによりアプリケーション鍵(AppK1−2)を生成する。
具体的な例を図12に示す。図12に示されるように、認証処理部33は、暗号化処理部(AES)91の機能ブロックを有する。暗号化処理部(AES)91は、暗号化部26を制御し、ディレクトリ1−1のアプリケーションID(AppID1−1)を、マスタ鍵(MK1−IC)を用いてAES方式で暗号化してアプリケーション鍵(AppK1−1)を生成する。なお、図示は省略するが、この暗号化処理部(AES)91は、アプリケーション鍵(AppK1−1)の場合と同様に、暗号化部36を制御し、ディレクトリ1−2のアプリケーションID(AppID1−2)を、マスタ鍵(MK1−IC)を用いてAES方式で暗号化してアプリケーション鍵(AppK1−2)を生成する。
なお、この場合も、AESの代わりに、DES等、その他の共通鍵暗号化方式を用いるようにしてもよい。また、例えば、ディレクトリ毎にマスタ鍵が異なる場合、各アプリケーションIDの暗号化は、それぞれのアプリケーションIDが対応するディレクトリのマスタ鍵を用いて行われるようにする。つまり、ディレクトリ1−1のアプリケーション鍵(AppK1−1)は、ディレクトリ1−1のアプリケーションID(AppID1−1)を、ディレクトリ1−1用のマスタ鍵(MK1−IC1)を用いて生成し、ディレクトリ1−2のアプリケーション鍵(AppK1−2)は、ディレクトリ1−2のアプリケーションID(AppID1−2)を、ディレクトリ1−2用のマスタ鍵(MK1−IC2)を用いて生成する、などの方法である。
ステップS43において、認証処理部23は、暗号化部26を制御して、情報処理端末11−1−1固有の鍵(K1−1)を、ステップS42で生成したアプリケーション鍵(AppK1−1およびAppK1−2を用いて暗号化させ、認証鍵(KAuth)を生成する。この認証鍵(KAuth)の生成方法は、ICカード12において実行されるステップS35の処理の場合と同様に実行される。つまり、図11を参照して行った説明は、このステップS43における認証鍵生成の説明にも適用することができる。つまり、認証処理部23も、図11に示されるように、暗号化処理部(AES)81および暗号化処理部(AES)82の機能ブロックを有し、その暗号化処理部(AES)81は、暗号化部26を制御し、情報処理端末11−1−1固有の鍵(K1−1)をアプリケーション鍵(AppK1−1)を用いてAES方式で暗号化させ、暗号化処理部(AES)82は、暗号化部26を制御し、暗号化処理部(AES)81による暗号化結果をアプリケーション鍵(AppK1−2)を用いてさらにAES方式で暗号化させる。この暗号化処理部(AES)82による暗号化結果が認証鍵(KAuth)とされる。
なお、アプリケーション鍵(AppK)の使用順は、アクセス先ディレクトリ情報において定義されるとおり(復号されたディレクトリID順)とする。また、この場合も、AESの代わりに、DES等、その他の共通鍵暗号化方式を用いるようにしてもよい。
ステップS44において、認証処理部23は、復号部27を制御し、ICカード12−1より取得した第二の返信文を復号させ、第二の乱数、第一の乱数、および情報処理端末11−1−1固有のID(ID1−1)を取り出す。
ステップS45において、認証処理部23は、取り出した第一の乱数によりICカード12−1の認証を行う。仮に、ICカード12−1より取得した第二の返信文を復号して得られた第一の乱数が、ICカード12−1に供給した第一の乱数と一致する(同一である)場合、ICカード12−1においても同一の認証鍵が生成されていることになる。つまり、ICカード12−1が、第一のデータ、ルート鍵(KRoot)、ディレクトリ鍵(DirK1−1およびDirK1−2)、アプリケーション鍵(AppK1−1およびAppK1−2)を保持している蓋然性が高い。従って、認証処理部23は、相手(ICカード12−1)を認証してもよいと判断することができる。逆に、第一の乱数が正しくない(一致しない)場合、認証処理部23は、ICカード12−1は不正であると判定することとなる。
つまり、認証処理部23は、第二の返信文より取り出した第一の乱数が図7のステップS21において生成した第一の乱数と一致するか否かを判定することにより、ICカード12−1を認証するか否かを判定する。そして、2つの第一の乱数の値が互いに一致した場合、認証処理部23は、ICカード12−1を認証する。逆に、2つの第一の乱数の値が互いに一致しなかった場合、認証処理部23は、ICカード12−1が不正であると判定し、相互認証処理をエラー終了する。つまり、この場合、情報処理端末11−1−1とICカード12−1との間の相互認証が行われないので、通信の確立に失敗する。
2つの第一の乱数の値が互いに一致し、ICカード12−1が認証されると、認証処理部23は、ステップS46において、乱数生成部25を制御して乱数を生成させ、その乱数をセッション鍵とする。このセッション鍵は、相互認証完了後の通信路の秘匿化に使用される。
ステップS47において、認証処理部23は、第一の乱数、第二の乱数、および、生成したセッション鍵を、認証鍵(KAuth)で暗号化する。暗号化は所定の暗号利用モードで行うこととする。なお、暗号化の順はこれに限らず任意である。
ステップS48において、認証処理部23は、通信部28を制御し、第二の相互認証コマンドを、認証鍵(KAuth)で暗号化された第一の乱数、第二の乱数、およびセッション鍵と共にICカード12−1に送信させる。ICカード12−1の通信部38は、ステップS51において、この第二の相互認証コマンドと、認証鍵(KAuth)で暗号化された第一の乱数、第二の乱数、およびセッション鍵を取得する。
ステップS52において、ICカード12−1の認証処理部33は、復号部37を制御し、認証鍵(KAuth)を用いて認証鍵(KAuth)で暗号化された第一の乱数、第二の乱数、およびセッション鍵を復号させる。
ステップS53において、認証処理部33は、取り出した第二の乱数により情報処理端末11−1−1の認証を行う。仮に、情報処理端末11−1−1より取得した第二の乱数が、図7のステップS36の処理において生成された第二の乱数と一致する(同一である)場合、情報処理端末11−1−1においても同一の認証鍵が生成されていることになる。つまり、情報処理端末11−1−1が情報処理端末11−1−1固有の鍵K1−1と、ICカード12−1用のマスタ鍵(MK1−IC)を保持している蓋然性が高い。従って、認証処理部33は、相手(情報処理端末11−1−1)を認証してもよいと判断することができる。逆に、第二の乱数が正しくない(一致しない)場合、認証処理部33は、情報処理端末11−1−1が不正であると判定することとなる。
つまり、認証処理部33は、第二の相互認証コマンドともに供給された第二の乱数が、図7のステップS36において生成した第二の乱数と一致するか否かを判定することにより、情報処理端末11−1−1を認証するか否かを判定する。そして、2つの第二の乱数の値が互いに一致した場合、認証処理部33は、情報処理端末11−1−1を認証する。逆に、2つの第二の乱数の値が互いに一致しなかった場合、認証処理部33は、情報処理端末11−1−1が不正であると判定し、相互認証処理をエラー終了する。つまり、この場合、情報処理端末11−1−1とICカード12−1との間の相互認証が行われないので、通信の確立に失敗する。
2つの第二の乱数の値が互いに一致し、情報処理端末11−1−1が認証されると、認証処理部33は、ステップS54において、通信部38を制御し、その認証結果をレスポンスとして送信し、相互認証処理を正常終了する。
ステップS49において、情報処理端末11−1−1の通信部28は、そのレスポンス取得し、相互に認証されたことを把握し、相互認証処理を正常終了する。
以上のようにして、相互に相手が認証されると、それ以降の電文は、全てセッション鍵により暗号化されて送受信される。
次に、図7のステップS32において実行されるマスタ鍵生成処理の詳細な流れの例を図13のフローチャートを参照して説明する。
マスタ鍵生成処理が開始されると、マスタ鍵生成部41は、ステップS71において、情報処理端末11−1−1より供給されたアクセス先ディレクトリ情報に基づいて、マスタ鍵(MK1−IT)の生成に使用するディレクトリ鍵(DirK1−1およびDirK1−2)を取得する。ステップS72において、マスタ鍵生成部41は、アクセス先ディレクトリ情報に示される順に、マスタ鍵(MK1−IT)の生成に使用するディレクトリ鍵(DirK1−1およびDirK1−2)を整列させる。整列が完了すると、マスタ鍵生成部41は、ステップS73において、まず、第一のデータ(KSystem)をルート鍵(KRoot)で暗号化する。
ステップS74において、マスタ鍵生成部41は、ステップS71において取得したディレクトリ鍵(DirK)の中に未使用のディレクトリ鍵(DirK)が存在するか否かを判定し、存在すると判定した場合、ステップS75に処理を進め、次の順のディレクトリ鍵を用いて前回の暗号化結果を暗号化する。暗号化が終了すると、マスタ鍵生成部41は、処理をステップS74に戻す。
以上のように、マスタ鍵生成部41は、ステップS74およびステップS75の処理を繰り返し、取得した全てのディレクトリ鍵を用いて暗号化を繰り返す。そして、ステップS74において全てのディレクトリ鍵を使用したと判定した場合、マスタ鍵生成部41は、マスタ鍵生成処理を終了する。
つまり、マスタ鍵生成部41は、以上のように暗号化を繰り返すことにより、第一のデータとして利用されるシステム鍵(KSystem)、ルート鍵(KRoot)、取得したディレクトリ鍵を縮退化させてマスタ鍵(MK1−IT)を生成する。
なお、以上においては、情報処理端末11−1−1とICカード12−1の間の相互認証処理について説明したが、情報処理端末11−1−2、情報処理端末11−2−1、ICカード12−2等、通信システム1の他のデバイス間の相互認証処理も同様に実行される。
以上のように、ICカード12の記憶部31には、ディレクトリ毎にアプリケーションIDが設けられており、各IDは、それぞれが対応する正当な事業者にしか提示されないようになされている。これにより、ユーザのプライバシーを守ることができるようになる。
つまり、例えばICカード固有のIDが一つしかない場合、正当な情報処理端末では(事業者によらず)全て同一IDを読み出せてしまい、そのIDをトラッキングすることでユーザの居場所を追跡できてしまうという弊害があった。
しかしながら、通信システム1においては、事業者毎にユーザに(ディレクトリ内に)IDを割り振る方式とし、更に、このIDは割り振った事業者のみが知り得る鍵で暗号化して返信することとした。このため、他の事業者ではIDを復号することができなくなった。つまり、自分のお客であるユーザは認識できるが、他のお客は認識できないことになり、他のお客までを含めてトラッキングされることを防止できるようにした。
また、共通鍵認証よりも強度的に優れる個別鍵認証技術を導入すると共に、複数のディレクトリにアクセスすることを想定し、アクセス先ディレクトリに応じてディレクトリ鍵等を縮退化させたマスタ鍵を用いることにより、それらを一回の認証手順で処理できるようにした。これにより、認証処理時間を大幅に減らすことができるようになった。
さらに、通信システム1においては、認証処理に情報処理端末11のIDを用いるため、仮に情報処理端末11が解析されて不正な情報処理端末11’が作成されたとしても、情報処理端末11’のIDは情報処理端末11のIDと同一になるので、ICカード12側においてそのIDをリボーク(Revoke)用のIDとして保持させておくことにより、ICカード12は、情報処理端末11’によるアクセスを阻止することができる。
すなわち、通信システム1(情報処理端末11およびICカード12)は、安全かつ迅速に相互認証処理を行うことができる。
なお、情報処理端末11とICカード12と間の通信の、通信可能範囲の広さは任意であり、例えば、数メートル以上であってもよいし、数センチメートル以下であってもよい。また、通信方式も任意であり、無線通信ではなく有線通信としてもよい。その場合、ICカードは所謂接触型のICカードであり、情報処理端末11とICカード12には、ループアンテナの代わりに、互いを電気的に接続するための外部接続端子が設けられる。
また、以上においては、通信システム1の装置としてICカードと情報処理端末を例にして説明したが、互いに通信可能なデバイスなら何でもよい。例えば、ICカード12は、カード形状のデバイスでなくてもよく、例えば、切手形状のものや、500円玉形状のものでもよい。また、例えば、ICカード機能を搭載する携帯電話機、音楽プレーヤ、デジタルカメラ、ノート型パーソナルコンピュータ、またはPDA(Personal Digital Assistants)などであってもよい。さらに、例えばデスクトップ型のパーソナルコンピュータのように、携帯型デバイスでなくてもよい。また、ICカード12は、ユーザ(人)が携帯するものであってもよいし、機器等に組み込まれ、その機器の移動処理などに活用するものであってもよい。
同様に、情報処理端末11も、上述した機能を有し、ICカード12と通信可能なものであればどのようなデバイスであってもよい。例えば、自動改札機、自動販売機、施錠ドア等に組み込まれているリーダ・ライタ等であってもよいし、ノート型パーソナルコンピュータ、PDA、デスクトップ型のパーソナルコンピュータ等に組み込まれたカードアクセスポートや、USB(Universal Serial Bus)接続された簡易リーダ・ライタなどの他に、リーダ・ライタ機能を搭載した携帯電話機等でもよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図14に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図14において、パーソナルコンピュータ100のCPU101は、ROM(Read Only Memory)102に記憶されているプログラム、または記憶部113からRAM(Random Access Memory)103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU101、ROM102、およびRAM103は、バス104を介して相互に接続されている。このバス104にはまた、入出力インタフェース110も接続されている。
入出力インタフェース110には、キーボード、マウスなどよりなる入力部111、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部112、ハードディスクなどより構成される記憶部113、モデムなどより構成される通信部114が接続されている。通信部114は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース110にはまた、必要に応じてドライブ115が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア121が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部113にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図14に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア121により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM102や、記憶部113に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表わすものである。
なお、以上において、一つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて一つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 通信システム, 11 情報処理端末, 12 ICカード, 21 記憶部, 23 認証処理部, 25 乱数生成部, 26 暗号化部, 27 復号部, 28 通信部, 31 記憶部, 32 データ設定処理部, 33 認証処理部, 35 乱数生成部, 36 暗号化部, 37 復号部, 38 通信部, 41 マスタ鍵生成部
Claims (10)
- 他の情報処理装置より、自分自身が保持するデータに対してアクセスを要求される情報処理装置であって、
前記他の情報処理装置より送信された、前記他の情報処理装置が生成した第一の乱数、前記他の情報処理装置がアクセスするディレクトリを示すアクセス先情報、および前記他の情報処理装置のIDを受信する第一の受信手段と、
予め保持する第一のデータ、ルートディレクトリに対応する鍵情報であるルート鍵、並びに、前記アクセス先情報により前記他の情報処理装置のアクセス先として指定されたディレクトリに対応する鍵情報であるディレクトリ鍵を使用して、前記他の情報処理装置固有の鍵情報を生成するための鍵情報であるマスタ鍵を生成するマスタ鍵生成手段と、
前記第一の受信手段により受信された前記他の情報処理装置のIDを、前記マスタ鍵生成手段により生成された前記マスタ鍵を用いて演算処理して、前記他の情報処理装置固有の鍵情報を生成する鍵情報生成手段と、
前記鍵情報生成手段により生成された前記他の情報処理装置固有の鍵情報と、前記他の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵を使用して、認証用の鍵情報である認証鍵を生成する認証鍵生成手段と、
第二の乱数を生成する第二の乱数生成手段と、
前記第二の乱数を、前記認証鍵生成手段で生成された前記認証鍵を用いて暗号化する第二の乱数暗号化手段と、
前記第二の乱数暗号化手段にて暗号化された前記第二の乱数を、前記他の情報処理装置に送信する送信手段と、
前記他の情報処理装置より供給される、前記他の情報処理装置において、認証用の鍵情報である認証鍵を用いて演算処理された第二の乱数を受信する第二の受信手段と、
前記第二の受信手段により受信された、演算処理された前記第二の乱数を、前記認証鍵生成手段により生成された前記認証鍵を用いて演算処理する演算処理手段と、
前記演算処理手段により演算処理されて得られた値と、前記第二の乱数生成手段により生成された前記第二の乱数により前記他の情報処理装置を検証する検証手段と
を備える情報処理装置。 - 前記第一のデータは、システム管理者により設定されるシステム全体に対応する鍵情報である
請求項1に記載の情報処理装置。 - 前記マスタ鍵生成手段は、
前記第一のデータを前記ルート鍵で暗号化する第一の暗号化手段と、
前記第一の暗号化手段により得られた暗号化結果を、前記ディレクトリ鍵で暗号化する第二の暗号化手段と
を備える請求項1に記載の情報処理装置。 - 前記第二の暗号化手段は、前記ディレクトリ鍵が複数存在する場合、各ディレクトリ鍵を1つずつ用いて前回の暗号化結果をさらに暗号化する
請求項3に記載の情報処理装置。 - 前記認証鍵生成手段は、前記他の情報処理装置固有の鍵情報を、前記アプリケーション鍵で暗号化する鍵情報暗号化手段を備える
請求項1に記載の情報処理装置。 - 前記鍵情報暗号化手段は、前記アプリケーション鍵が複数存在する場合、各アプリケーション鍵を1つずつ用いて前回の暗号化結果をさらに暗号化する
請求項5に記載の情報処理装置。 - 他の情報処理装置より、自分自身が保持するデータに対してアクセスを要求される情報処理装置の情報処理方法であって、
前記他の情報処理装置より送信された、前記他の情報処理装置が生成した第一の乱数、前記他の情報処理装置がアクセスするディレクトリを示すアクセス先情報、および前記他の情報処理装置のIDを受信し、
予め保持する第一のデータ、ルートディレクトリに対応する鍵情報であるルート鍵、並びに、前記アクセス先情報により前記他の情報処理装置のアクセス先として指定されたディレクトリに対応する鍵情報であるディレクトリ鍵を使用して、前記他の情報処理装置固有の鍵情報を生成するための鍵情報であるマスタ鍵を生成し、
前記他の情報処理装置のIDを、前記マスタ鍵を用いて演算処理して、前記他の情報処理装置固有の鍵情報を生成し、
前記他の情報処理装置固有の鍵情報と、前記他の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵を使用して、認証用の鍵情報である認証鍵を生成し、
第二の乱数を生成し、
前記第二の乱数を、前記認証鍵を用いて暗号化し、
暗号化された前記第二の乱数を、前記他の情報処理装置に送信し、
前記他の情報処理装置より供給される、前記他の情報処理装置において、認証用の鍵情報である認証鍵を用いて演算処理された第二の乱数を受信し、
演算処理された前記第二の乱数を、生成した前記認証鍵を用いて演算処理し、
演算処理されて得られた値と、生成された前記第二の乱数により前記他の情報処理装置を検証する
ステップを含む情報処理方法。 - 他の情報処理装置より、自分自身が保持するデータに対してアクセスを要求される情報処理装置を制御するプログラムであって、
前記他の情報処理装置より送信された、前記他の情報処理装置が生成した第一の乱数、前記他の情報処理装置がアクセスするディレクトリを示すアクセス先情報、および前記他の情報処理装置のIDを受信し、
予め保持する第一のデータ、ルートディレクトリに対応する鍵情報であるルート鍵、並びに、前記アクセス先情報により前記他の情報処理装置のアクセス先として指定されたディレクトリに対応する鍵情報であるディレクトリ鍵を使用して、前記他の情報処理装置固有の鍵情報を生成するための鍵情報であるマスタ鍵を生成し、
前記他の情報処理装置のIDを、前記マスタ鍵を用いて演算処理して、前記他の情報処理装置固有の鍵情報を生成し、
前記他の情報処理装置固有の鍵情報と、前記他の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵を使用して、認証用の鍵情報である認証鍵を生成し、
第二の乱数を生成し、
前記第二の乱数を、前記認証鍵を用いて暗号化し、
暗号化された前記第二の乱数を、前記他の情報処理装置に送信し、
前記他の情報処理装置より供給される、前記他の情報処理装置において、認証用の鍵情報である認証鍵を用いて演算処理された第二の乱数を受信し、
演算処理された前記第二の乱数を、生成した前記認証鍵を用いて演算処理し、
演算処理されて得られた値と、生成された前記第二の乱数により前記他の情報処理装置を検証する
ステップを含むコンピュータが読み取り可能なプログラムが記録されている記録媒体。 - 他の情報処理装置より、自分自身が保持するデータに対してアクセスを要求されるコンピュータに実行させるプログラムにおいて、
前記他の情報処理装置より送信された、前記他の情報処理装置が生成した第一の乱数、前記他の情報処理装置がアクセスするディレクトリを示すアクセス先情報、および前記他の情報処理装置のIDを受信し、
予め保持する第一のデータ、ルートディレクトリに対応する鍵情報であるルート鍵、並びに、前記アクセス先情報により前記他の情報処理装置のアクセス先として指定されたディレクトリに対応する鍵情報であるディレクトリ鍵を使用して、前記他の情報処理装置固有の鍵情報を生成するための鍵情報であるマスタ鍵を生成し、
前記他の情報処理装置のIDを、前記マスタ鍵を用いて演算処理して、前記他の情報処理装置固有の鍵情報を生成し、
前記他の情報処理装置固有の鍵情報と、前記他の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵を使用して、認証用の鍵情報である認証鍵を生成し、
第二の乱数を生成し、
前記第二の乱数を、前記認証鍵を用いて暗号化し、
暗号化された前記第二の乱数を、前記他の情報処理装置に送信し、
前記他の情報処理装置より供給される、前記他の情報処理装置において、認証用の鍵情報である認証鍵を用いて演算処理された第二の乱数を受信し、
演算処理された前記第二の乱数を、生成した前記認証鍵を用いて演算処理し、
演算処理されて得られた値と、生成された前記第二の乱数により前記他の情報処理装置を検証する
ステップを含む情報処理をコンピュータに実行させるプログラム。 - 第一の情報処理装置が第二の情報処理装置にアクセスする際に、前記第一の情報処理装置と前記第二の情報処理装置が相互認証を行う情報処理システムであって、
前記第一の情報処理装置が、
第一の乱数を生成する第一の乱数生成手段と、
前記第一の乱数生成手段により生成された前記第一の乱数、前記第一の情報処理装置がアクセスするディレクトリを示すアクセス先情報、および前記第一の情報処理装置のIDを送信する第一の送信手段と、
前記第二の情報処理装置より供給される第一の返信文と第二の返信文を受信する第一の受信手段と、
前記第一の受信手段により受信された前記第一の返信文を前記第一の情報処理装置固有の鍵情報で復号する第一の復号手段と、
前記第一の復号手段により前記第一の返信文が復号されて得られた、前記第一の情報処理装置がアクセスするディレクトリのIDであるアプリケーションIDを、前記第一の情報処理装置が保持する鍵情報であるマスタ鍵を用いて演算処理して、前記第一の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵を生成するアプリケーション鍵生成手段と、
前記第一の情報処理装置固有の鍵情報と、前記アプリケーション鍵生成手段により生成された前記アプリケーション鍵を使用して、認証用の鍵情報である認証鍵を生成する第一の認証鍵生成手段と、
前記第一の受信手段により受信された前記第二の返信文を、前記第一の認証鍵生成手段により生成された前記認証鍵で復号する第二の復号手段と、
前記第二の復号手段により復号されて得られた前記第一の乱数と、前記第一の乱数生成手段により生成された前記第一の乱数により前記第二の情報処理装置を検証する第一の検証手段と、
セッション鍵を生成するセッション鍵生成手段と、
前記第二の復号手段により復号されて得られた前記第一の乱数および前記第二の乱数、並びに、前記セッション鍵生成手段により生成された前記セッション鍵を、前記第一の認証鍵生成手段により生成された前記認証鍵を用いて演算処理する第一の演算処理手段と、
前記第一の演算処理手段により前記認証鍵を用いて演算処理された前記第一の乱数、前記第二の乱数、および前記セッション鍵を前記第二の情報処理装置に送信する第二の送信手段と
を備え、
前記第二の情報処理装置が、
前記第一の送信手段により送信された前記第一の乱数、前記アクセス先情報、および前記第一の情報処理装置のIDを受信する第二の受信手段と、
予め保持する第一のデータ、ルートディレクトリに対応する鍵情報であるルート鍵、前記アクセス先情報により、前記第一の情報処理装置のアクセス先として指定されたディレクトリに対応する鍵情報であるディレクトリ鍵を使用して前記マスタ鍵を生成するマスタ鍵生成手段と、
前記第二の受信手段により受信された前記第一の情報処理装置のIDを、前記マスタ鍵生成手段により生成された前記マスタ鍵を用いて演算処理して、前記第一の情報処理装置固有の鍵情報を生成する鍵情報生成手段と、
前記第一の情報処理装置がアクセスするディレクトリのIDであるアプリケーションIDを、前記鍵情報生成手段により生成された前記第一の情報処理装置固有の鍵情報で暗号化して前記第一の返信文を生成する第一の返信文生成手段と、
前記鍵情報生成手段により生成された前記第一の情報処理装置固有の鍵情報と、前記第一の情報処理装置がアクセスするディレクトリに対応する鍵情報であるアプリケーション鍵を使用して、認証用の鍵情報である認証鍵を生成する第二の認証鍵生成手段と、
第二の乱数を生成する第二の乱数生成手段と、
前記第二の乱数生成手段により生成された前記第二の乱数、並びに、前記第二の受信手段により受信された前記第一の乱数および前記第一の情報処理装置のIDを、前記第二の認証鍵生成手段により生成された前記認証鍵を用いて暗号化して第二の返信文を生成する第二の返信文生成手段と、
前記第一の返信文生成手段により生成された前記第一の返信文、および、前記第二の返信文生成手段により生成された前記第二の返信文を前記第一の情報処理装置に送信する第三の送信手段と、
前記第一の情報処理装置より供給される、前記認証鍵を用いて演算処理された前記第一の乱数、前記第二の乱数、および前記セッション鍵を受信する第三の受信手段と、
前記第三の受信手段により受信された、前記認証鍵を用いて演算処理された前記第一の乱数、前記第二の乱数、および前記セッション鍵を、前記第二の認証鍵生成手段により生成された前記認証鍵を用いて演算処理する第二の演算処理手段と、
前記第二の演算処理手段により演算処理されて得られた値と、前記第二の乱数生成手段により生成された前記第二の乱数により前記第一の情報処理装置を検証する第二の検証手段と
を備える情報処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007272093A JP2009100394A (ja) | 2007-10-19 | 2007-10-19 | 情報処理装置および方法、記録媒体、プログラム、並びに情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007272093A JP2009100394A (ja) | 2007-10-19 | 2007-10-19 | 情報処理装置および方法、記録媒体、プログラム、並びに情報処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009100394A true JP2009100394A (ja) | 2009-05-07 |
Family
ID=40702946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007272093A Withdrawn JP2009100394A (ja) | 2007-10-19 | 2007-10-19 | 情報処理装置および方法、記録媒体、プログラム、並びに情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009100394A (ja) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011170530A (ja) * | 2010-02-17 | 2011-09-01 | Tokai Rika Co Ltd | 認証システムの暗号演算式設定装置 |
JP2012235513A (ja) * | 2012-07-20 | 2012-11-29 | Toshiba Corp | メディア |
JP2013055370A (ja) * | 2011-08-31 | 2013-03-21 | Toshiba Corp | メモリ装置、装置、ホスト装置、及びシステム |
JP2013062867A (ja) * | 2012-11-30 | 2013-04-04 | Toshiba Corp | 認証システム、及びメディア |
JP2013106162A (ja) * | 2011-11-11 | 2013-05-30 | Toshiba Corp | ストレージメディア、ホスト装置、メモリ装置、及びシステム |
JP2013117882A (ja) * | 2011-12-02 | 2013-06-13 | Toshiba Corp | ホスト装置、装置、システム |
JP2013117880A (ja) * | 2011-12-02 | 2013-06-13 | Toshiba Corp | ホスト装置、システム、及び装置 |
JP2013118616A (ja) * | 2012-09-24 | 2013-06-13 | Toshiba Corp | メモリ装置 |
JP2013138491A (ja) * | 2013-02-21 | 2013-07-11 | Toshiba Corp | メモリ装置、ストレージメディア、ホスト装置、及びシステム |
JP2013145998A (ja) * | 2012-01-16 | 2013-07-25 | Toshiba Corp | ストレージメディア、ホスト装置、メモリ装置、及びシステム |
JP2013544003A (ja) * | 2010-10-29 | 2013-12-09 | サムスン エレクトロニクス カンパニー リミテッド | 記憶装置、記憶装置の認証方法及び認証装置 |
US8634557B2 (en) | 2011-12-02 | 2014-01-21 | Kabushiki Kaisha Toshiba | Semiconductor storage device |
US8661527B2 (en) | 2011-08-31 | 2014-02-25 | Kabushiki Kaisha Toshiba | Authenticator, authenticatee and authentication method |
US8855297B2 (en) | 2011-12-02 | 2014-10-07 | Kabushiki Kaisha Toshiba | Device and authentication method therefor |
WO2015001600A1 (ja) * | 2013-07-01 | 2015-01-08 | 三菱電機株式会社 | 機器認証システム、メーカ鍵生成装置、機器鍵生成装置、製造機器、連携認証装置、機器再生鍵生成装置、機器認証方法および機器認証プログラム |
US8984294B2 (en) | 2013-02-15 | 2015-03-17 | Kabushiki Kaisha Toshiba | System of authenticating an individual memory device via reading data including prohibited data and readable data |
US9166783B2 (en) | 2010-10-14 | 2015-10-20 | Kabushiki Kaisha Toshiba | Protection method, decryption method, player, storage medium, and encryption apparatus of digital content |
US9201811B2 (en) | 2013-02-14 | 2015-12-01 | Kabushiki Kaisha Toshiba | Device and authentication method therefor |
JP2016005274A (ja) * | 2014-06-12 | 2016-01-12 | エヌエックスピー ビー ヴィNxp B.V. | セキュアエレメントの設定方法、鍵導出プログラム、コンピュータプログラムプロダクト及び設定可能なセキュアエレメント |
JP2017085225A (ja) * | 2015-10-23 | 2017-05-18 | ソニーモバイルコミュニケーションズ株式会社 | 通信装置、通信方法および通信システム |
JP2019050507A (ja) * | 2017-09-11 | 2019-03-28 | 株式会社東芝 | 情報処理装置、情報処理方法およびプログラム |
CN110023937A (zh) * | 2016-12-09 | 2019-07-16 | 飞力凯网路股份有限公司 | 信息处理设备和信息处理方法 |
JP2022502891A (ja) * | 2018-10-02 | 2022-01-11 | キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニーCapital One Services, LLC | 非接触カードの暗号化認証のためのシステムおよび方法 |
-
2007
- 2007-10-19 JP JP2007272093A patent/JP2009100394A/ja not_active Withdrawn
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011170530A (ja) * | 2010-02-17 | 2011-09-01 | Tokai Rika Co Ltd | 認証システムの暗号演算式設定装置 |
US9166783B2 (en) | 2010-10-14 | 2015-10-20 | Kabushiki Kaisha Toshiba | Protection method, decryption method, player, storage medium, and encryption apparatus of digital content |
JP2013544003A (ja) * | 2010-10-29 | 2013-12-09 | サムスン エレクトロニクス カンパニー リミテッド | 記憶装置、記憶装置の認証方法及び認証装置 |
US10361851B2 (en) | 2011-08-31 | 2019-07-23 | Toshiba Memory Corporation | Authenticator, authenticatee and authentication method |
US8661527B2 (en) | 2011-08-31 | 2014-02-25 | Kabushiki Kaisha Toshiba | Authenticator, authenticatee and authentication method |
KR101536086B1 (ko) * | 2011-08-31 | 2015-07-24 | 가부시끼가이샤 도시바 | 인증장치, 피인증장치, 및 인증 방법 |
US9887841B2 (en) | 2011-08-31 | 2018-02-06 | Toshiba Memory Corporation | Authenticator, authenticatee and authentication method |
US9225513B2 (en) | 2011-08-31 | 2015-12-29 | Kabushiki Kaisha Toshiba | Authenticator, authenticatee and authentication method |
JP2013055370A (ja) * | 2011-08-31 | 2013-03-21 | Toshiba Corp | メモリ装置、装置、ホスト装置、及びシステム |
US10361850B2 (en) | 2011-08-31 | 2019-07-23 | Toshiba Memory Corporation | Authenticator, authenticatee and authentication method |
JP2013106162A (ja) * | 2011-11-11 | 2013-05-30 | Toshiba Corp | ストレージメディア、ホスト装置、メモリ装置、及びシステム |
US9100187B2 (en) | 2011-11-11 | 2015-08-04 | Kabushiki Kaisha Toshiba | Authenticator |
US8650393B2 (en) | 2011-11-11 | 2014-02-11 | Kabushiki Kaisha Toshiba | Authenticator |
JP2013117882A (ja) * | 2011-12-02 | 2013-06-13 | Toshiba Corp | ホスト装置、装置、システム |
KR101553790B1 (ko) | 2011-12-02 | 2015-09-16 | 가부시끼가이샤 도시바 | 메모리 |
US8732466B2 (en) | 2011-12-02 | 2014-05-20 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
US8761389B2 (en) | 2011-12-02 | 2014-06-24 | Kabushiki Kaisha Toshiba | Memory |
US8855297B2 (en) | 2011-12-02 | 2014-10-07 | Kabushiki Kaisha Toshiba | Device and authentication method therefor |
US8634557B2 (en) | 2011-12-02 | 2014-01-21 | Kabushiki Kaisha Toshiba | Semiconductor storage device |
JP2013117880A (ja) * | 2011-12-02 | 2013-06-13 | Toshiba Corp | ホスト装置、システム、及び装置 |
KR101517337B1 (ko) | 2011-12-02 | 2015-05-04 | 가부시끼가이샤 도시바 | 반도체 메모리 장치 |
US8990571B2 (en) | 2012-01-16 | 2015-03-24 | Kabushiki Kaisha Toshiba | Host device, semiconductor memory device, and authentication method |
US8667286B2 (en) | 2012-01-16 | 2014-03-04 | Kabushiki Kaisha Toshiba | Host device, semiconductor memory device, and authentication method |
US9160531B2 (en) | 2012-01-16 | 2015-10-13 | Kabushiki Kaisha Toshiba | Host device, semiconductor memory device, and authentication method |
JP2013145998A (ja) * | 2012-01-16 | 2013-07-25 | Toshiba Corp | ストレージメディア、ホスト装置、メモリ装置、及びシステム |
JP2012235513A (ja) * | 2012-07-20 | 2012-11-29 | Toshiba Corp | メディア |
JP2013118616A (ja) * | 2012-09-24 | 2013-06-13 | Toshiba Corp | メモリ装置 |
JP2013062867A (ja) * | 2012-11-30 | 2013-04-04 | Toshiba Corp | 認証システム、及びメディア |
US9201811B2 (en) | 2013-02-14 | 2015-12-01 | Kabushiki Kaisha Toshiba | Device and authentication method therefor |
US8984294B2 (en) | 2013-02-15 | 2015-03-17 | Kabushiki Kaisha Toshiba | System of authenticating an individual memory device via reading data including prohibited data and readable data |
JP2013138491A (ja) * | 2013-02-21 | 2013-07-11 | Toshiba Corp | メモリ装置、ストレージメディア、ホスト装置、及びシステム |
JP5992104B2 (ja) * | 2013-07-01 | 2016-09-14 | 三菱電機株式会社 | 機器認証システム、メーカ鍵生成装置、機器鍵生成装置、製造機器、連携認証装置、機器再生鍵生成装置、機器認証方法および機器認証プログラム |
WO2015001600A1 (ja) * | 2013-07-01 | 2015-01-08 | 三菱電機株式会社 | 機器認証システム、メーカ鍵生成装置、機器鍵生成装置、製造機器、連携認証装置、機器再生鍵生成装置、機器認証方法および機器認証プログラム |
JP2016005274A (ja) * | 2014-06-12 | 2016-01-12 | エヌエックスピー ビー ヴィNxp B.V. | セキュアエレメントの設定方法、鍵導出プログラム、コンピュータプログラムプロダクト及び設定可能なセキュアエレメント |
JP2017085225A (ja) * | 2015-10-23 | 2017-05-18 | ソニーモバイルコミュニケーションズ株式会社 | 通信装置、通信方法および通信システム |
CN110023937A (zh) * | 2016-12-09 | 2019-07-16 | 飞力凯网路股份有限公司 | 信息处理设备和信息处理方法 |
CN110023937B (zh) * | 2016-12-09 | 2023-09-05 | 飞力凯网路股份有限公司 | 信息处理设备和信息处理方法 |
JP2019050507A (ja) * | 2017-09-11 | 2019-03-28 | 株式会社東芝 | 情報処理装置、情報処理方法およびプログラム |
US10963543B2 (en) | 2017-09-11 | 2021-03-30 | Kabushiki Kaisha Toshiba | Secure communication between operating system and processes |
JP2022502891A (ja) * | 2018-10-02 | 2022-01-11 | キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニーCapital One Services, LLC | 非接触カードの暗号化認証のためのシステムおよび方法 |
US12010238B2 (en) | 2018-10-02 | 2024-06-11 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009100394A (ja) | 情報処理装置および方法、記録媒体、プログラム、並びに情報処理システム | |
US8239681B2 (en) | Information processing device and method, recording medium, program and information processing system | |
ES2970201T3 (es) | Sistema de identificación personal con tarjeta sin contacto | |
JP5625137B2 (ja) | 移動体装置上の個人情報およびサービスプロバイダ情報の安全なリセット | |
KR102205654B1 (ko) | 분산 환경에서의 신원 인증 방법 | |
US10826893B2 (en) | One-time-password generated on reader device using key read from personal security device | |
US9306954B2 (en) | Apparatus, systems and method for virtual desktop access and management | |
JP5521803B2 (ja) | 通信装置、通信方法、及び、通信システム | |
JP4360422B2 (ja) | 認証情報管理システム、認証情報管理サーバ、認証情報管理方法及びプログラム | |
JP4326443B2 (ja) | 情報処理装置および情報処理方法、並びにプログラム | |
JP2004021755A (ja) | 記憶装置 | |
JP4804042B2 (ja) | データ送受信システム、非接触icチップ、非接触通信装置、携帯端末、情報処理方法、並びにプログラム | |
CN103988464A (zh) | 利用全球平台规范对发行者安全域进行密钥管理的系统和方法 | |
CN104868998A (zh) | 一种向电子设备供应加密数据的系统、设备和方法 | |
JP2005196412A (ja) | データ通信装置及びデータ通信装置のメモリ管理方法 | |
KR101873828B1 (ko) | 신뢰된 실행 환경 기반의 사용자 단말을 이용한 무선 도어키 공유 서비스 방법 및 시스템 | |
JP5391743B2 (ja) | 決済処理セキュリティ情報配信方法、決済処理セキュリティ情報配信システム、そのセンタ装置、サーバ装置、決済端末、及びプログラム | |
JP2009086884A (ja) | Rfidタグ管理システムおよびrfidタグ | |
JP2004139242A (ja) | Icカード、icカード発行システム及びicカード発行方法 | |
KR20200090490A (ko) | 디지털 키 공유 시스템에서 이모빌라이저 토큰을 업데이트하는 장치 및 방법 | |
JP2009105856A (ja) | 情報処理装置および方法、記録媒体、プログラム、並びに情報処理システム | |
KR100562255B1 (ko) | 시큐리티 도메인의 키 초기화 방법 | |
JP2011004317A (ja) | 認証システム、記憶媒体、認定装置、および検証装置 | |
KR20200134187A (ko) | 분산 환경에서의 신원 인증 방법 | |
JP5692441B2 (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: 20110104 |