(57)【要約】【課題】ＩＣカードがサポートする暗号アルゴリズムの切替えの際の追加的な手続を不要とすること。【解決手段】互いに異なる暗号方式又は暗号鍵を用いてそれぞれ外部装置との間で相互認証可能な複数の暗号アルゴリズム部と、前記暗号アルゴリズム部ごとに与えられる暗号別情報であって、各暗号アルゴリズム部により用いられる暗号方式を特定する暗号種別を含む複数の暗号別情報、及び、前記複数の暗号アルゴリズム部のうち少なくとも１つの暗号アルゴリズム部を無効化させるための無効化制御情報を記憶しているデータ記憶部と、を備える情報処理装置であって、前記複数の暗号アルゴリズム部のうち少なくとも第１の暗号アルゴリズム部は、前記外部装置との間で相互認証に成功すると、前記データ記憶部に記憶されている前記無効化制御情報に応じて他の暗号アルゴリズム部を無効化する、情報処理装置を提供する。【選択図】図５
2010098367.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なる暗号方式又は暗号鍵を用いてそれぞれ外部装置との間で相互認証可能な複数の暗号アルゴリズム部と；
前記暗号アルゴリズム部ごとに与えられる暗号別情報であって、各暗号アルゴリズム部により用いられる暗号方式を特定する暗号種別を含む複数の暗号別情報、及び、前記複数の暗号アルゴリズム部のうち少なくとも１つの暗号アルゴリズム部を無効化させるための無効化制御情報を記憶しているデータ記憶部と；
を備える情報処理装置であって、
前記複数の暗号アルゴリズム部のうち少なくとも第１の暗号アルゴリズム部は、前記外部装置との間で相互認証に成功すると、前記データ記憶部に記憶されている前記無効化制御情報に応じて他の暗号アルゴリズム部を無効化する、
情報処理装置。
【請求項２】
前記無効化制御情報は、前記複数の暗号アルゴリズム部により用いられる暗号方式のうち有効な暗号方式を識別するための有効暗号種別を含み、
各暗号アルゴリズム部は、前記外部装置から受信した認証要求により指定された暗号種別が前記データ記憶部に記憶されている前記有効暗号種別に含まれている場合にのみ、当該外部装置との間で相互認証を行う、
請求項１に記載の情報処理装置。
【請求項３】
前記無効化制御情報は、自動的な無効化の対象とする暗号方式を識別するための無効化暗号種別をさらに含み、
前記第１の暗号アルゴリズム部は、外部装置との間で相互認証に成功すると、前記データ記憶部に記憶されている前記有効暗号種別の中から前記無効化暗号種別と一致する暗号種別を消去する、
請求項２に記載の情報処理装置。
【請求項４】
前記暗号別情報は、各暗号アルゴリズム部により用いられる暗号鍵の世代を特定する世代番号をさらに含み、
前記第１の暗号アルゴリズム部は、外部装置との間で相互認証に成功すると、当該外部装置から受信した認証要求により指定された世代番号よりも古い世代番号に対応する他の暗号アルゴリズム部を無効化する、
請求項１に記載の情報処理装置。
【請求項５】
前記無効化制御情報は、前記複数の暗号アルゴリズム部のうち有効な暗号アルゴリズム部を識別するための有効世代番号を含み、
前記第１の暗号アルゴリズム部は、前記有効世代番号を更新することにより前記他の暗号アルゴリズム部を無効化する、
請求項４に記載の情報処理装置。
【請求項６】
前記第１の暗号アルゴリズム部は、無効化の実行を指示する特別な認証要求を前記外部装置から受信した場合にのみ、前記データ記憶部に記憶されている前記無効化制御情報に応じて他の暗号アルゴリズム部を無効化する、請求項１に記載の情報処理装置。
【請求項７】
前記データ記憶部は、各暗号アルゴリズム部のセキュリティ強度に応じて予め定義される優先順位を記憶しており、
前記第１の暗号アルゴリズム部は、外部装置との間で相互認証に成功すると、当該第１の暗号アルゴリズム部よりも前記優先順位の低い他の暗号アルゴリズム部を無効化する、  請求項１に記載の情報処理装置。
【請求項８】
互いに異なる暗号方式又は暗号鍵を用いてそれぞれ外部装置との間で相互認証可能な複数の暗号アルゴリズム部を備える情報処理装置の記憶領域に、前記暗号アルゴリズム部ごとに与えられる暗号別情報であって各暗号アルゴリズム部により用いられる暗号方式を特定する暗号種別を含む複数の暗号別情報、及び、前記複数の暗号アルゴリズム部のうち少なくとも１つの暗号アルゴリズム部を無効化させるための無効化制御情報を記憶させるステップと；
前記複数の暗号アルゴリズム部のうち第１の暗号アルゴリズム部において、前記外部装置との間で相互認証するステップと；
前記第１の暗号アルゴリズム部による相互認証が成功した場合に、当該第１の暗号アルゴリズム部において、前記記憶領域に記憶されている前記無効化制御情報に応じて他の暗号アルゴリズム部を無効化するステップと；
を含む暗号切替方法。
【請求項９】
情報処理装置を制御するコンピュータを、
互いに異なる暗号方式又は暗号鍵を用いてそれぞれ外部装置との間で相互認証可能な複数の暗号アルゴリズム部、
として機能させ、
前記複数の暗号アルゴリズム部のうち少なくとも第１の暗号アルゴリズム部が前記外部装置との間で相互認証に成功した場合には、自装置のデータ記憶部に記憶されている前記複数の暗号アルゴリズム部のうち少なくとも１つの暗号アルゴリズム部を無効化させるための無効化制御情報に応じて、前記第１の暗号アルゴリズム部により他の暗号アルゴリズム部を無効化させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、暗号切替方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、情報の記録や演算を行うことのできる集積回路を組み込んだＩＣ（Integrated  Circuit）カードが実用化されている。中でも、集積回路内にプロセッサを備え、高度な情報処理を実現するスマートカードとも呼ばれるＩＣカードは、日常生活における決済手段や個人識別手段として近年様々な用途に広く用いられている。
【０００３】
ＩＣカードの利用場面の拡大に伴い、ＩＣカードを用いて各種サービスを利用する際のセキュリティをより高度なものとするための技術開発も進められている。例えば、データを暗号化するための暗号アルゴリズムについては、旧来広く用いられてきた６４ビットブロック暗号方式のＤＥＳ（Data  Encryption  Standard）方式に代わり、１２８ビット、１９２ビット又は２５６ビットの３種類の鍵長を選択可能なＡＥＳ（Advanced  Encryption  Standard）方式が様々な機関により採用され始めている。
【０００４】
こうした暗号化技術をＩＣカード向けに応用した技術を開示した文献としては、例えば下記特許文献１〜５が挙げられる。このうち、下記特許文献１では、ユーザデータを管理するためにＩＣカード内に記憶される管理情報の改竄や盗聴等を防止するために、当該管理情報を暗号化してＩＣカードに送信することが提案されている。また、下記特許文献２では、ユーザデータの記憶領域を管理するためのエリア定義領域及びサービス定義領域を階層構造化し、各定義領域に鍵をかけることにより、データの秘匿性等のセキュリティを向上させることが提案されている。また、下記特許文献３では、ＩＣカード内のデータへのアクセスを制御するために、ユーザブロックの利用を定義する複数の領域定義ブロックにアクセス権を与えることが提案されている。さらに、下記特許文献４、５では、複数の認証鍵と乱数を用いて、ＩＣカードとリーダ／ライタ間で相互認証する方法が提案されている。
【０００５】
【特許文献１】特開２０００−３６０１４号公報
【特許文献２】特開２０００−３６０２１号公報
【特許文献３】特許第３８９０６０２号公報
【特許文献４】特開平１０−０２０７８０号公報
【特許文献５】特開平１０−３２７１４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、暗号アルゴリズムのセキュリティ強度が高められる一方、市場に広く頒布されたＩＣカードがサポートする暗号アルゴリズムを置換える際にユーザやサービス提供者が負担するコストも無視できない程度に大きくなっている。
【０００７】
図１は、ＩＣカードとＩＣカードのデータを読み書きするためのリーダ／ライタとを置換える際の移行手順を簡単に示している。即ち、図１（ａ）では、ＩＣカードとリーダ／ライタは共に、置換え前の古い暗号アルゴリズム（以下、旧暗号アルゴリズムという）のみをサポートしている。その後、図１（ｂ）において、まずリーダ／ライタが新たな暗号アルゴリズム（以下、新暗号アルゴリズムという）と旧暗号アルゴリズムの双方をサポートするものに置換えられる。そして、リーダ／ライタの置換えが完了した後、図１（ｃ）において、ＩＣカードが新暗号アルゴリズムをサポートするものに置換えられる。
【０００８】
図２は、図１に示した移行手順に沿って、市場に頒布されたＩＣカードの発行枚数が変化する様子を示している。図２を参照すると、リーダ／ライタの置換えが開始された時点Ｔ１からリーダ／ライタの置換えが完了する時点Ｔ２までの間、旧暗号アルゴリズムをサポートするＩＣカード（以下、旧ＩＣカードという）が発行され続けている。これは、新暗号アルゴリズムに対応していないリーダ／ライタが一部にまだ残っており、それらリーダ／ライタをユーザが利用する可能性があるためである。その後、リーダ／ライタの置換えが完了した時点Ｔ２から、新暗号アルゴリズムをサポートするＩＣカード（以下、新ＩＣカードという）の発行が開始される。
【０００９】
図２に示した移行手順において、Ｔ１〜Ｔ２までの期間に旧ＩＣカードを購入したユーザは、Ｔ２の後で旧ＩＣカードを新ＩＣカードに切替える手続をとる必要がある。また、サービス提供者は、旧ＩＣカードを発行した数に相当するカード交換の業務を負担しなければならない。これに対し、新ＩＣカードの発行開始時期をリーダ／ライタの置換え完了時（図２のＴ２）よりも早め、なおかつ新旧ＩＣカードの切替え手続を自動化することができれば、ユーザとサービス提供者の双方の負担が軽減される。
【００１０】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、ＩＣカードがサポートする暗号アルゴリズムの切替えの際の追加的な手続を不要とする、新規かつ改良された情報処理装置、暗号切替方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明のある観点によれば、互いに異なる暗号方式又は暗号鍵を用いてそれぞれ外部装置との間で相互認証可能な複数の暗号アルゴリズム部と、前記暗号アルゴリズム部ごとに与えられる暗号別情報であって、各暗号アルゴリズム部により用いられる暗号方式を特定する暗号種別を含む複数の暗号別情報、及び、前記複数の暗号アルゴリズム部のうち少なくとも１つの暗号アルゴリズム部を無効化させるための無効化制御情報を記憶しているデータ記憶部と、を備える情報処理装置であって、前記複数の暗号アルゴリズム部のうち少なくとも第１の暗号アルゴリズム部は、前記外部装置との間で相互認証に成功すると、前記データ記憶部に記憶されている前記無効化制御情報に応じて他の暗号アルゴリズム部を無効化する、情報処理装置が提供される。
【００１２】
かかる構成によれば、当該情報処理装置において、例えば、（新暗号アルゴリズムをサポートする）第１の暗号アルゴリズム部による最初の相互認証が成功するまでは、（旧暗号アルゴリズムをサポートする）第２の暗号アルゴリズム部による相互認証が可能である。そして、第１の暗号アルゴリズム部による最初の相互認証が成功すると、データ記憶部に記憶されている無効化制御情報に応じて、例えば第２の暗号アルゴリズム部が無効化される。
【００１３】
また、前記無効化制御情報は、前記複数の暗号アルゴリズム部により用いられる暗号方式のうち有効な暗号方式を識別するための有効暗号種別を含み、各暗号アルゴリズム部は、前記外部装置から受信した認証要求により指定された暗号種別が前記データ記憶部に記憶されている前記有効暗号種別に含まれている場合にのみ、当該外部装置との間で相互認証を行ってもよい。
【００１４】
また、前記無効化制御情報は、自動的な無効化の対象とする暗号方式を識別するための無効化暗号種別をさらに含み、前記第１の暗号アルゴリズム部は、外部装置との間で相互認証に成功すると、前記データ記憶部に記憶されている前記有効暗号種別の中から前記無効化暗号種別と一致する暗号種別を消去してもよい。
【００１５】
また、前記暗号別情報は、各暗号アルゴリズム部により用いられる暗号鍵の世代を特定する世代番号をさらに含み、前記第１の暗号アルゴリズム部は、外部装置との間で相互認証に成功すると、当該外部装置から受信した認証要求により指定された世代番号よりも古い世代番号に対応する他の暗号アルゴリズム部を無効化してもよい。
【００１６】
また、前記無効化制御情報は、前記複数の暗号アルゴリズム部のうち有効な暗号アルゴリズム部を識別するための有効世代番号を含み、前記第１の暗号アルゴリズム部は、前記有効世代番号を更新することにより前記他の暗号アルゴリズム部を無効化してもよい。
【００１７】
また、前記第１の暗号アルゴリズム部は、無効化の実行を指示する特別な認証要求を前記外部装置から受信した場合にのみ、前記データ記憶部に記憶されている前記無効化制御情報に応じて他の暗号アルゴリズム部を無効化してもよい。
【００１８】
また、前記データ記憶部は、各暗号アルゴリズム部のセキュリティ強度に応じて予め定義される優先順位を記憶しており、前記第１の暗号アルゴリズム部は、外部装置との間で相互認証に成功すると、当該第１の暗号アルゴリズム部よりも前記優先順位の低い他の暗号アルゴリズム部を無効化してもよい。
【００１９】
上記課題を解決するために、本発明の別の観点によれば、互いに異なる暗号方式又は暗号鍵を用いてそれぞれ外部装置との間で相互認証可能な複数の暗号アルゴリズム部を備える情報処理装置の記憶領域に、前記暗号アルゴリズム部ごとに与えられる暗号別情報であって各暗号アルゴリズム部により用いられる暗号方式を特定する暗号種別を含む複数の暗号別情報、及び、前記複数の暗号アルゴリズム部のうち少なくとも１つの暗号アルゴリズム部を無効化させるための無効化制御情報を記憶させるステップと、前記複数の暗号アルゴリズム部のうち第１の暗号アルゴリズム部において、前記外部装置との間で相互認証するステップと、前記第１の暗号アルゴリズム部による相互認証が成功した場合に、当該第１の暗号アルゴリズム部において、前記記憶領域に記憶されている前記無効化制御情報に応じて他の暗号アルゴリズム部を無効化するステップと、を含む暗号切替方法が提供される。
【００２０】
上記課題を解決するために、本発明のある観点によれば、情報処理装置を制御するコンピュータを、互いに異なる暗号方式又は暗号鍵を用いてそれぞれ外部装置との間で相互認証可能な複数の暗号アルゴリズム部、として機能させ、前記複数の暗号アルゴリズム部のうち少なくとも第１の暗号アルゴリズム部が前記外部装置との間で相互認証に成功した場合には、自装置のデータ記憶部に記憶されている前記複数の暗号アルゴリズム部のうち少なくとも１つの暗号アルゴリズム部を無効化させるための無効化制御情報に応じて、前記第１の暗号アルゴリズム部により他の暗号アルゴリズム部を無効化させるプログラムが提供される。
【発明の効果】
【００２１】
以上説明したように、本発明に係る情報処理装置、暗号切替方法、及びプログラムによれば、ＩＣカードがサポートする暗号アルゴリズムの切替えの際の追加的な手続を不要とすることができる。
【発明を実施するための最良の形態】
【００２２】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２３】
また、以下の順序にしたがって当該「発明を実施するための最良の形態」を説明する。
１．通信システムの概要
２．第１の実施形態の説明
３．変形例の説明
４．第２の実施形態の説明
【００２４】
＜１．通信システムの概要＞
まず、図３を参照して、本発明の一実施形態に係る通信システム１の概要について説明する。
【００２５】
図３は、本発明の一実施形態に係る通信システム１の概要を示す模式図である。図３に示すように、通信システム１は、情報処理装置１０（例えば、ＩＣカード１０Ａ、携帯端末１０Ｂなど）、サービス提供装置１２、及びリーダ／ライタ１４を含む。
【００２６】
情報処理装置１０は、例えば、外部装置であるリーダ／ライタ１４（データ読書装置）と非接触通信するための電子回路であるＩＣチップを内蔵する非接触型のＩＣカード１０Ａであってもよい。ＩＣカード１０Ａは、薄型のカード外装内にリーダ／ライタ１４と非接触通信するためのアンテナと所定の演算処理を実行するＩＣが搭載されたＩＣチップとを備えた情報処理装置である。ＩＣカード１０Ａは、リーダ／ライタ１４との間で非接触方式で無線通信可能であり、例えばＩＣカード１０Ａをリーダ／ライタ１４が発する電磁波の有効範囲内にかざすだけで、リーダ／ライタ１４によってＩＣカード１０Ａ内のデータを読み書きすることができる。なお、ＩＣカード１０Ａは、かかる例に限定されず、接触型のＩＣカードであってもよい。
【００２７】
ＩＣカード１０Ａは、各種のサービスを提供するＩＣカードシステムに適用されている。例えば、ＩＣカード１０Ａは、電子マネーシステム、交通機関の改札システム、建造物への入館・入室用やコンピュータへのログイン用等のセキュリティシステム、電子決済システムなどに適用され得る。より具体的には、ＩＣカード１０Ａは、例えば、次の各種の用途（１）〜（６）などに利用される。また、１枚のＩＣカード１０Ａでこれら複数の機能を併せ持ったマルチアプリケーションタイプのカードも開発されており、ＩＣカード１０Ａの種類は益々多様化している
【００２８】
（１）電子マネー、ポイント、クーポン等の電子バリュー値（貨幣又は貨幣に準じた価値を有するデータ）を記憶した電子マネーカード
（２）電車、バス、高速道路等の交通機関の定期券又は指定券、プリペイド式の運賃のデータなどを記憶した交通機関カード
（３）身分確認や、出退勤の管理、建造物への入退出、ＰＣへのログイン等の鍵として使用される社員証、学生証等の身分証として用いられる個人認証用カード
（４）各種の店舗や施設の会員証、ポイントカード、クーポンカード
（５）映画館、コンサート会場、スポーツ競技場、アミューズメント施設等の電子チケットを記憶した電子チケットカード
（６）インターネット上でのショッピングや、動画・音楽コンテンツの配信、有価証券・預金等の金融商品の売買などといった電子商取引に用いる電子決済カード
【００２９】
また、情報処理装置１０は、例えば、上記ＩＣチップが搭載された携帯型の情報処理装置としての携帯端末１０Ｂであってもよい。携帯端末１０Ｂは、例えば、携帯電話端末、腕時計、ＰＤＡ（Personal  Digital  Assistant）、携帯型ゲーム端末、携帯型映像／音声プレーヤなどとして実現される。かかる携帯端末１０Ｂもまた、上記ＩＣカード１０Ａと同様、リーダ／ライタ１４と非接触通信して上述した各種サービスを利用するために用いられる。
【００３０】
サービス提供装置１２は、ＩＣカード１０Ａ、携帯端末１０Ｂなどの情報処理装置１０を介してユーザにサービスを提供するためのホスト装置である。かかるサービス提供装置１２は、例えば、交通機関の自動改札機や、コンビニエンスストア等の店舗に設けられるレジスター装置、インターネット等を介した電子商取引に用いられる端末装置（例えばＰＣ等）、各種の商品や乗車券等の自動販売機、ＰＯＳ端末、キオスク端末、金融機関のＡＴＭなどで具現される。サービス提供装置１２は、情報処理装置１０と非接触通信するためのリーダ／ライタ１４を備えている。なお、リーダ／ライタ１４は、サービス提供装置１２に内蔵されて一体化されてもよいし、サービス提供装置１２に対して有線又は無線通信可能に接続された別の装置で構成されてもよい。
【００３１】
リーダ／ライタ１４は、情報処理装置１０との間で、例えば、「ＩＳＯ／ＩＥＣ  １８０９２」などの所定の通信方式に従い、無線又は有線で通信を行う。より具体的には、リーダ／ライタ１４は、例えば、サービス提供装置１２から出力された命令を情報処理装置１０へ送信し、当該命令に対する応答を情報処理装置１０から受信してサービス提供装置１２へ入力する。
【００３２】
図３に示した通信システム１の構成において、情報処理装置１０に搭載されるＩＣチップには、互いに異なる暗号方式又は暗号鍵を用いる複数の暗号アルゴリズムをサポートする暗号処理回路（例えばプロセッサ）が実装される。暗号方式とは、例えば、ＤＥＳ、ＡＥＳ、Ｃａｍｅｌｌｉａ、ＣＬＥＦＩＡなどの共通鍵暗号方式や、ＲＳＡ（Rivest  Shamir  Adleman）などの公開鍵暗号方式といった任意の暗号方式を指す。従って、複数の暗号アルゴリズムとは、例えば、ＤＥＳ、１２８ビットのＡＥＳ（以下、ＡＥＳ１２８という）、又は２５６ビットのＡＥＳ（以下、ＡＥＳ２５６という）から選択された互いに異なる暗号方式を用いる複数の暗号アルゴリズムであってもよい。また、複数の暗号アルゴリズムとは、例えば、暗号方式は同一（例えばＡＥＳ１２８など）であって、暗号鍵の世代が異なる複数の暗号アルゴリズムであってもよい。それぞれの暗号アルゴリズムは、セキュリティ面での信頼性や、暗号処理負荷などに優劣がある。
【００３３】
かかる複数の暗号アルゴリズムとは、例えば、図１及び図２を用いて説明した旧暗号アルゴリズムと新暗号アルゴリズムとに相当する。情報処理装置１０がこのように新旧の暗号アルゴリズムをサポートすることで、情報処理装置１０は、例えば、リーダ／ライタ１４が未だ旧暗号アルゴリズムのみをサポートしている場合には、旧暗号アルゴリズムを用いてリーダ／ライタ１４と通信する。また、情報処理装置１０は、リーダ／ライタ１４が新暗号アルゴリズムをサポートしている場合には、ＩＣチップを交換することなく新暗号アルゴリズムを用いて通信することができる。
【００３４】
しかし、リーダ／ライタ１４との間で新暗号アルゴリズムを用いた通信が可能となったとしても、情報処理装置１０において旧暗号アルゴリズムが有効であれば、情報処理装置１０のセキュリティ強度は旧暗号アルゴリズムのセキュリティ強度のままである。これは例えば旧暗号アルゴリズムの暗号鍵を解読した上での不正アクセスやデータ改竄などの脅威が残っているためである。そのため、情報処理装置１０において、旧暗号アルゴリズムを用いる必要が無くなった時点で、望ましくはユーザやサービス提供者に追加的な手続を課すことなく、旧暗号アルゴリズムを無効化する仕組みの実現が求められる。
【００３５】
そこで、次節より、使用をする必要の無くなった暗号アルゴリズムを自動的に無効化する機能を有する情報処理装置の２つの実施形態及びそれらの変形例について、詳細に説明する。
【００３６】
＜２．第１の実施形態の説明＞
［２−１．情報処理装置の構成例］
図４は、第１の実施形態に係る情報処理装置１０の物理的な構成例を示すブロック図である。図４を参照すると、情報処理装置１０は、アンテナ部２０、送信部３０、受信部４０、暗号部５０、復号部６０、制御部７０、及びメモリ部８０を備える。
【００３７】
アンテナ部２０は、リーダ／ライタ１４と非接触式に通信を行うためのアンテナである。即ち、本実施形態では、情報処理装置１０が非接触型のＩＣカード等である場合の例を示している。受信部４０は、リーダ／ライタ１４からの受信データを復調する。復号部６０は、受信部４０により復調された受信データを復号（ｄｅｃｒｙｐｔ）する。暗号部５０は、リーダ／ライタ１４への送信データを暗号化（ｅｎｃｒｙｐｔ）する。送信部３０は、暗号部５０により暗号化された送信データを変調する。制御部７０は、情報処理装置１０内の各部を制御する。メモリ部８０は、ユーザデータ、管理情報などのデータを保持するメモリである。
【００３８】
上記送信部３０、受信部４０、暗号部５０、復号部６０、制御部７０及びメモリ部８０は、例えば、所定の回路で構成されて、小型のＩＣチップに搭載される。
【００３９】
アンテナ部２０は、例えば、情報処理装置１０がＩＣカード１０Ａである場合には、ＩＣカード１０Ａの外縁に沿って配置されるコイルアンテナなどで構成され、送信部３０及び受信部４０に接続される。
【００４０】
送信部３０及び受信部４０（通信部）は、例えば、図示しない変復調回路、フロントエンド回路及び電源再生回路等から構成される。変復調回路は、例えばＡＳＫ変調方式などでデータを変調／復調する。電源再生回路は、アンテナ部２０を用いてリーダ／ライタ１４から受信した搬送波のＲＦ動作磁界から誘導起電力を発生させ、情報処理装置１０の電力として取り込む。また、フロントエンド回路は、リーダ／ライタ１４が発信した搬送波をアンテナ部２０を用いて受信し、当該搬送波を復調し、リーダ／ライタ１４からの命令又はデータを取得し、制御部７０に供給する。また、フロントエンド回路は、当該搬送波を分周して情報処理装置１０を駆動させるためのクロックを再生する。さらに、フロントエンド回路は、制御部７０により生成された所定のサービスに関連する命令やデータに応じて上記搬送波を変調し、この変調した搬送波を、アンテナ部２０からリーダ／ライタ１４に送信する。
【００４１】
暗号部５０及び復号部６０は、暗号処理部を構成し、例えば、暗号処理機能を有する暗号化コプロセッサ（ｃｏ−ｐｒｏｃｅｓｓｏｒ）などの専用ハードウェアで構成される。本実施形態に係る暗号部５０及び復号部６０は、それぞれが互いに異なる複数の暗号アルゴリズムに対応可能なプロセッサである。かかるプロセッサを搭載することで、情報処理装置１０が、外部装置であるリーダ／ライタ１４と複数の暗号アルゴリズムを用いて相互認証可能となる。ただし、暗号部５０及び復号部６０が対応可能な暗号アルゴリズムで通信するためには、その暗号アルゴリズムに対応する暗号別情報などを、メモリ部８０の所定の記憶領域に保持する必要がある。
【００４２】
制御部７０は、マイクロプロセッサ等の演算処理装置、ＲＯＭ、ＲＡＭ等で構成され、情報処理装置１０内の各部を制御するとともに、所定の演算処理を行う。かかる制御部７０は、メモリ部８０又は図示しないＲＯＭ等の記憶媒体に記憶されたプログラムに従って動作し、所定の演算処理や、コマンド生成、各種情報の送受信及び読み書きの制御などを実行する。例えば、制御部７０は、所定のサービスに関してリーダ／ライタ１４と通信するときに、当該サービスに関するユーザデータを、メモリ部８０に読み書きする。かかる制御部７０は、上記暗号部５０又は復号部６０によるデータの暗号／復号処理を制御する。このとき、制御部７０は、暗号／復号処理の有無も制御し、全ての送受信データを暗号／復号する訳ではない。
【００４３】
メモリ部８０は、例えば、フラッシュメモリ、ＥＥＰＲＯＭ（Electrically  Erasable  and  Programmable  ROM）又はＦｅＲＡＭ（Ferroelectric  RAM）等の半導体メモリで構成される。メモリ部８０は、次の図５に示すように、データ記憶部１８０及び鍵記憶部１９０として機能し、サービス提供装置１２によりユーザへ提供されるサービスに関するユーザデータや制御データ、及び各暗号アルゴリズムに用いられる暗号鍵などを記憶する。なお、半導体メモリ以外にも、例えば、ＨＤＤ（Hard  Disk  Drive）等の他の記憶装置を用いてメモリ部８０を構成してもよい。
【００４４】
次に、図５は、本実施形態に係る情報処理装置１０の論理的な構成を示すブロック図である。図５を参照すると、情報処理装置１０は、応答検知部１１０、第１暗号アルゴリズム部１２０Ａ、第２暗号アルゴリズム部１２０Ｂ、リードライト部１７０、データ記憶部１８０、及び鍵記憶部１９０を備える。また、各暗号アルゴリズム部１２０はそれぞれ、認証鍵生成部１３０、相互認証部１４０、通信路暗号部１５０、及び発行情報復号部１６０を含む。なお、第１暗号アルゴリズム部１２０Ａと第２暗号アルゴリズム部１２０Ｂとを区別する必要がない場合には、暗号アルゴリズム部１２０と総称する（その他、１３０〜１７０の各部についても同様とする）。
【００４５】
応答検知部１１０は、例えば、「ＩＳＯ／ＩＥＣ  １８０９２」で提案されている「ポーリング（Ｐｏｌｌｉｎｇ）コマンド」などに対応する機能を有する。応答検知部１１０は、リーダ／ライタ１４から、所定のＩＣカードシステム（又はサービス）に関するポーリングコマンドを受信すると、その応答として、該当するＩＣカードシステムのレスポンスコマンドを生成して、リーダ／ライタ１４に返信する。この応答検知部１１０は、複数の暗号アルゴリズムに対して共通に設けられている。
【００４６】
第１暗号アルゴリズム部１２０Ａ及び第２暗号アルゴリズム部１２０Ｂは、互いに異なる暗号方式又は暗号鍵を用いて、それぞれ外部装置（例えばリーダ／ライタ１４）との間で相互認証をすることができる。以下、各暗号アルゴリズム部１２０に共通して含まれる認証鍵生成部１３０、相互認証部１４０、通信路暗号部１５０、及び発行情報復号部１６０について説明する。
【００４７】
認証鍵生成部１３０は、情報処理装置１０とリーダ／ライタ１４との間の相互認証に必要な認証鍵を生成する。認証鍵の生成方法は、例えば、上記特許文献５（特開平１０−３２７１４２号公報）に記載の方法を利用でき、その概要は次の通りである。認証鍵生成部１３０は、利用対象のサービスで使用される記憶領域のサービス鍵と、情報処理装置１０ごとに固有に割り当てられたＩＤ（以下、「カードＩＤ」という。）とから、認証鍵を生成する。複数のサービスを同時に利用するときには、複数のサービス鍵から縮退鍵を生成し、縮退鍵とカードＩＤとから認証鍵が生成される。この認証鍵を用いて、相互認証部１４０による相互認証がなされる。
【００４８】
相互認証部１４０は、情報処理装置１０とリーダ／ライタ１４との間の相互認証を実行する。この相互認証方法としては、例えば、上記特許文献４（特開平１０−０２０７８０号公報）に記載の方法や、「ＩＳＯ／ＩＥＣ９７９８」で提案されている方法を使用でき、その概要は次の通りである。相互認証部１４０は、上記認証鍵生成部１３０により生成された認証鍵で、リーダ／ライタ１４から受信した第１の乱数を復号し、再び暗号化して返信する。また、情報処理装置１０でも、相互認証部１４０は、第２の乱数を生成して同じ認証鍵で暗号化したものをリーダ／ライタ１４に送信し、その返信をリーダ／ライタ１４から受信して、送信した第２の乱数と一致するかを確認する。このようにして、リーダ／ライタ１４と情報処理装置１０とが、相互に生成した乱数が正しいかどうかを確認し合うことで、相互認証が行われる。この相互認証処理は、リーダ／ライタ１４から指定されたいずれかの暗号アルゴリズムによって行われる。
【００４９】
また、複数の暗号アルゴリズム部１２０の相互認証部１４０のうち少なくとも１つ（例えば第１暗号アルゴリズム部１２０Ａの相互認証部１４０Ａ）は、外部装置との間で相互認証に成功すると、データ記憶部１８０に記憶されている無効化制御情報１８４に応じて、他の暗号アルゴリズム部１２０（例えば第２暗号アルゴリズム部１２０Ｂ）を無効化する。
かかる無効化処理については、後にさらに詳しく説明する。
【００５０】
通信路暗号部１５０は、例えば、「ＮＩＳＴ  ＳＰ  ８００−３８」で示されているブロック暗号方式などを利用して、情報処理装置１０とリーダ／ライタ１４との間の通信路を暗号化する。詳細には、上記相互認証後に、通信路暗号部１５０は、相互に確認された乱数を用いて生成されたセッション鍵を通信路暗号鍵として用いて、当該通信路を暗号化して送受信される通信データを送受信する。
【００５１】
発行情報復号部１６０は、情報処理装置１０に搭載されるＩＣチップの発行時に、例えば発行装置から受信する暗号化された発行情報（暗号化発行情報）を復号部６０を制御して復号させ、発行情報を取得する。この発行情報の復号処理には、データ記憶部１８０又は鍵記憶部１９０に記憶されたシステム鍵などの権限鍵が使用される。
【００５２】
リードライト部１７０は、図４に示したメモリ部８０に各種データを書き込み、又はメモリ部８０から各種データを読み出す処理を行う。例えば、リーダ／ライタ１４から所定のサービスのユーザデータの読み出し要求を受信すると、リードライト部１７０は、データ記憶部１８０の所定のサービス定義領域から当該ユーザデータを読み出す。また、例えば、リーダ／ライタ１４から所定のサービスのユーザデータの書き込み要求を受信すると、リードライト部１７０は、データ記憶部１８０の所定のサービス定義領域に当該ユーザデータを書き込む。なお、リードライト部１７０は、本実施形態では複数の暗号アルゴリズム部１２０に対して共通に設けられているが、その代わりに暗号アルゴリズム部１２０ごとに１つのリードライト部１７０が設けられてもよい。
【００５３】
なお、上記応答検知部１１０、第１暗号アルゴリズム部１２０Ａ、第２暗号アルゴリズム部１２０Ｂ、及びリードライト部１７０の各機能は、例えばコンピュータプログラムを用いて実現され得る。その場合、例えば各機能を実行させるためのプログラムが図４に示したメモリ部８０に格納され、制御部７０を構成するプロセッサが当該プログラムを実行する。その代わりに、当該プログラムは、メモリ部８０以外の記憶媒体に格納され、又は通信媒体を介して情報処理装置１０に提供されてもよい。また、上記応答検知部１１０、第１暗号アルゴリズム部１２０Ａ、第２暗号アルゴリズム部１２０Ｂ、及びリードライト部１７０の各機能は、専用のハードウェア（プロセッサ、回路等）を用いて実現されてもよい。
【００５４】
これに対し、データ記憶部１８０及び鍵記憶部１９０は、図４に示したメモリ部８０を用いて実現される。データ記憶部１８０は、各種サービスの提供に用いられるユーザデータ、並びに暗号アルゴリズム部１２０の無効化処理に用いられる無効化制御情報１８４及び暗号別情報１８６を、階層構造化して記憶する。データ記憶部１８０における論理ファイル構造は、例えば上記特許文献２（特開２０００−３６０２１号公報）で提案されているように、管理情報の記憶領域である定義領域を論理的に階層構造化したものである。一方、鍵記憶部１９０は、各暗号アルゴリズム部１２０により用いられる権限鍵などの暗号鍵をセキュアに記憶する。
【００５５】
ここまで、図４及び図５を用いて、本実施形態に係る情報処理装置１０の構成について説明した。次に、かかる情報処理装置１０のデータ記憶部１８０に記憶されるデータ構造の一例について説明する。
【００５６】
［２−２．データ構造の一例］
図６は、データ記憶部１８０に記憶されるユーザデータ１８２、無効化制御情報１８４及び暗号別情報１８６の論理的なデータ構造の一例を示す説明図である。なお、図６の表記には「ＵＭＬ２．０」のクラス図を用いている。
【００５７】
図６を参照すると、データ記憶部１８０において、無効化制御情報１８４及び暗号別情報１８６は論理的な階層構造をなしている。より具体的には、無効化制御情報１８４と暗号別情報１８６とは１対多の関係にある。即ち、１つの無効化制御情報１８４に対して暗号別情報１８６は１つ又は複数存在し得る。また、無効化制御情報１８４とユーザデータ１８２とは多対多の関係にある。即ち、１つの無効化制御情報１８４に対してユーザデータ１８２は１つ又は複数することができ、また、１つのユーザデータ１８２に対して無効化制御情報１８４は１つ又は複数存在することができる。
【００５８】
無効化制御情報１８４は、複数の暗号アルゴリズム部１２０のうち少なくとも１つの暗号アルゴリズム部を無効化させるための制御情報である。無効化制御情報１８４には、例えば、論理アドレス、有効暗号種別、及び無効化暗号種別が含まれる。このうち、論理アドレスは、図４に示したメモリ部８０内で無効化制御情報１８４にアクセスするために用いられる。有効暗号種別は、複数の暗号アルゴリズム部１２０により用いられる暗号方式のうち有効な暗号方式を識別するためのデータである。ここで、有効な暗号方式とは、情報処理装置１０が外部装置との間の認証を許可する暗号方式を意味する。即ち、各暗号アルゴリズム部１２０は、外部装置から受信した認証要求により指定された暗号種別が無効化制御情報１８４の中の有効暗号種別に含まれている場合にのみ、当該外部装置との間で相互認証を行う。無効化暗号種別は、情報処理装置１０において自動的な無効化の対象とする暗号方式を識別するためのデータである。例えば、上記第１暗号アルゴリズム部１２０Ａの相互認証部１４０Ａは、外部装置との間で相互認証に成功すると、データ記憶部１８０から無効化暗号種別を取得し、取得した無効化暗号種別と一致する暗号種別を上記有効暗号種別の中から消去する。それにより、消去された暗号種別により表される暗号方式を用いた外部装置との間の相互認証が不可能となり、情報処理装置１０における他のいずれかの暗号アルゴリズム部１２０が無効化される。
【００５９】
暗号別情報１８６は、無効化制御情報１８４の下位に位置し、例えば暗号アルゴリズム部１２０ごとに与えられる情報である。暗号別情報１８６は、例えば、暗号鍵、鍵バージョン、及び暗号種別を含む。このうち、暗号鍵は、データ記憶部１８０の所定の範囲の記憶領域にアクセスするために必要な鍵である。また、鍵バージョンは、上記暗号鍵のバージョンを表すデータである。暗号種別は、各暗号アルゴリズム部１２０により用いられる暗号方式を特定するためのデータであって、例えば予め定義される暗号方式ごとのコード値により表される。
【００６０】
図７は、本実施形態に係るユーザデータ１８２、無効化制御情報１８４及び暗号別情報１８６の具体的なデータ例を示す説明図である。
【００６１】
図７を参照すると、論理アドレス“１００８ｈ”の無効化制御情報１８４の有効暗号種別には、“ＤＥＳ”及び“ＡＥＳ１２８”の２種類の暗号種別が含まれている。また、無効化暗号種別には、“ＤＥＳ”が含まれている。
【００６２】
これに対し、上記無効化制御情報１８４の下位に、第１暗号アルゴリズム部１２０Ａに対応する暗号別情報１８６Ａと、第２暗号アルゴリズム部１２０Ｂに対応する暗号別情報１８６Ｂとが定義されている。このうち、暗号別情報１８６Ａの暗号鍵は“２３４５６７８９．．．ｈ”、鍵バージョンは“１１１１ｈ”、暗号種別は“ＡＥＳ１２８”である。また、暗号別情報１８６Ｂの暗号鍵は“１２３４５６７８．．．ｈ”、鍵バージョンは“１０００ｈ”、暗号種別は“ＤＥＳ”である。これは、第１暗号アルゴリズム部１２０ＡがＡＥＳ１２８方式による相互認証をサポートし、第２暗号アルゴリズム部１２０ＢがＤＥＳ方式による相互認証をサポートしていることを表している。
【００６３】
また、ユーザデータ１８２には、任意のデータの一例として、金額データ“￥１００，０００”が含まれている。
【００６４】
かかるデータ例において、例えば第１暗号アルゴリズム部１２０Ａの相互認証部１４０Ａは、上述したように、外部装置との間で相互認証に成功すると、無効化制御情報１８４の有効暗号種別の中から、無効化暗号種別として指定されている“ＤＥＳ”を消去する。すると、その後ＤＥＳ方式をサポートする第２暗号アルゴリズム部１２０Ｂによる外部装置との間の相互認証は不可能となり、第２暗号アルゴリズム部１２０Ｂは無効化される。
【００６５】
なお、ＩＣカード内のファイルシステムは、典型的には、複数のサービス事業者がＩＣカードを円滑に共用し、及び様々なサービスを効率的に管理できるように、論理的に階層化されたデータ構造を実現可能となっている。例えば、上記特許文献２では、記憶領域をシステム、エリア、サービスの３つの階層の単位で管理可能なファイルシステムが開示されている。このような論理的に階層化されたデータ構造において、図６及び図７に示した無効化制御情報１８４及び暗号別情報１８６は、１対多の親子関係が維持される限り、それぞれいずれの階層に位置していてもよい。
【００６６】
［２−３．処理の流れ］
次に、図８〜図１２を参照して、本実施形態に係る情報処理装置１０が外部装置からアクセスを受ける際の処理の流れについて説明する。
【００６７】
図８は、情報処理装置１０がリーダ／ライタ１４からアクセスを受ける際のアクセスシーケンスを示すシーケンス図である。
【００６８】
情報処理装置１０に対するアクセスは、例えばユーザが情報処理装置１０をサービス提供装置１２のリーダ／ライタ１４の通信範囲内にかざすことにより開始される。ユーザが情報処理装置１０をリーダ／ライタ１４の通信範囲内にかざすと、まず、リーダ／ライタ１４からのポーリングにより情報処理装置１０が捕捉される（Ｓ１〜Ｓ１０）。その後、リーダ／ライタ１４と情報処理装置１０とが相互認証を行って通信路を暗号化する（Ｓ２０〜Ｓ５０）。その後、リーダ／ライタ１４と情報処理装置１０とがサービスに関する所定の命令や応答をやり取りする（Ｓ６０〜Ｓ７０）。
【００６９】
より詳細には、図８に示すように、まず、リーダ／ライタ１４は、情報処理装置１０を捕捉するために、システムコード「０ｘ０００１」を指定したポーリング要求を継続的に送信し続ける（Ｓ１）。そして、当該システムコードに対応するＩＣカードシステムを有する情報処理装置１０は、上記ポーリング要求を受信すると、ポーリング応答をリーダ／ライタ１４に送信する（Ｓ１０）。
【００７０】
次いで、リーダ／ライタ１４は、情報処理装置１０からポーリング応答を受信すると、第１認証要求を作成して、情報処理装置１０に送信する（Ｓ２０）。この第１認証要求では、例えば、使用する暗号アルゴリズムの暗号方式を指定する暗号種別と、サービスを識別する論理アドレス「１００８」とが指定される。情報処理装置１０は、リーダ／ライタ１４から第１認証要求を受信すると、まず、受信した第１認証要求により指定された暗号種別がデータ記憶部１８０に記憶されている有効暗号種別に含まれているか否かを確認する。そして、情報処理装置１０は、指定された暗号種別が有効暗号種別に含まれていた場合には、第１認証応答を作成してリーダ／ライタ１４に送信する（Ｓ３０）。
【００７１】
さらに、リーダ／ライタ１４は、情報処理装置１０から第１認証応答を受信すると、指定した暗号方式の暗号アルゴリズムにより第２認証要求を作成して、情報処理装置１０に送信する（Ｓ４０）。情報処理装置１０は、リーダ／ライタ１４から第２認証要求の受信に成功すると、まず、指定された暗号種別が無効化暗号種別に含まれていないかを確認する。そして、情報処理装置１０は、指定された暗号種別が無効化暗号種別に含まれていなければ、データ記憶部１８０に記憶されている無効化暗号種別と一致する暗号種別を有効暗号種別の中から消去する。その後、情報処理装置１０は、第２認証応答を作成してリーダ／ライタ１４に送信する（Ｓ５０）。この結果、リーダ／ライタ１４と情報処理装置１０間で相互認証が完了すると共に、例えば新暗号アルゴリズムでの最初の認証成功時に、旧暗号アルゴリズムが無効化される。そして、両者間の通信路を暗号化するためのセッション鍵が生成される。
【００７２】
その後、リーダ／ライタ１４は、サービスを利用するために必要な所定のコマンド（例えば、データ読み出し要求）を、上記セッション鍵を用いて暗号化して、情報処理装置１０に送信する（Ｓ６０）。情報処理装置１０は、リーダ／ライタ１４からデータ読み出し要求を受信すると、上記セッション鍵を用いて、暗号化されたデータ読み出し要求を復号し、当該データ読み出し要求で指定されたユーザデータをメモリ部８０から読み出す。そして、情報処理装置１０は、読み出したユーザデータを上記セッション鍵で暗号化して、リーダ／ライタ１４に送信する（Ｓ７０）。
【００７３】
次に、図９〜図１１を参照して、上記図８に示した情報処理装置１０によるポーリング応答処理（Ｓ１０）、第１認証応答処理（Ｓ３０）、第２認証応答処理（Ｓ５０）の各処理について、より詳細に説明する。
【００７４】
まず、図９は、情報処理装置１０によるポーリング応答処理（図８のＳ１０の処理）の詳細な流れの一例を示すフローチャートである。
【００７５】
図９に示すように、情報処理装置１０がリーダ／ライタ１４にかざされると、情報処理装置１０は、リーダ／ライタ１４からポーリング要求を受信する（Ｓ１１）。次いで、情報処理装置１０は、例えばポーリング要求で指定されたシステムコード「０ｘ０００１」を保持するシステム定義情報が、データ記憶部１８０に存在するか否かを判定する（Ｓ１２）。かかるシステムコードは、第１暗号アルゴリズム部１２０Ａ及び第２暗号アルゴリズム部１２０Ｂに共通するコードである。
【００７６】
この判定の結果、システムコードに対応するシステム定義情報が存在しない場合には、情報処理装置１０はポーリング応答処理をエラー終了させ、リーダ／ライタ１４には応答しない（Ｓ１４）。一方、システムコードに対応するシステム定義情報が存在する場合には、情報処理装置１０は、ポーリング応答として、情報処理装置１０を識別するためのカード識別子及び有効暗号種別をリーダ／ライタ１４に送信する（Ｓ１３）。これにより、情報処理装置１０は、自装置が使用可能な暗号種別をリーダ／ライタ１４に通知することができる。
【００７７】
次に、図１０は、情報処理装置１０による第１認証応答処理（図８のＳ３０の処理）の詳細な流れの一例を示すフローチャートである。
【００７８】
図１０に示すように、まず、情報処理装置１０は、リーダ／ライタ１４から第１認証要求を受信する（Ｓ３１）。すると、情報処理装置１０は、受信した第１認証要求から、リーダ／ライタ１４により指定された暗号種別及び論理アドレスを取得する。
【００７９】
次いで、情報処理装置１０は、指定された暗号種別がデータ記憶部１８０に記憶されている有効暗号種別に含まれているか否かを判定する（Ｓ３２）。さらに、情報処理装置１０は、リーダ／ライタ１４から受信した第１認証要求が正常であるか否かを検証する（Ｓ３３）。ここで、指定された暗号種別が有効暗号種別に含まれていない場合、又は受信した第１認証要求が正常でない場合には、無応答処理が行われる（Ｓ３７）。一方、指定された暗号種別が有効暗号種別に含まれており、かつ受信した第１認証要求が正常である場合には、処理はＳ３４へ進む。
【００８０】
Ｓ３４では、情報処理装置１０は、リーダ／ライタ１４により指定された暗号種別で表される暗号方式を用いて、第１認証応答を作成する（Ｓ３４）。例えば、第１暗号アルゴリズム部１２０Ａ及び第２暗号アルゴリズム部１２０ＢがそれぞれＡＥＳ１２８及びＤＥＳに対応し、暗号種別としてＡＥＳ１２８が指定された場合には、第１暗号アルゴリズム部１２０Ａの相互認証部１４０Ａが第１認証応答を作成する。ここで作成される第１認証応答には、図５に関連して説明した相互認証のための第１の乱数と第２の乱数とが含まれる。そして、情報処理装置１０は、作成された第１認証応答をリーダ／ライタ１４へ送信する（Ｓ３５）。
【００８１】
その後、例えば第１暗号アルゴリズム部１２０Ａの相互認証部１４０Ａは、情報処理装置１０の内部状態として、リーダ／ライタ１４により指定されたカード識別子、暗号種別及び論理アドレスを、メモリ部８０等の記憶領域に一時的に保持する（Ｓ３６）。以下、これらカード識別子、暗号種別及び論理アドレスを含む一時的に記憶される情報を、「カレント認証情報」という。
【００８２】
なお、例えば、情報処理装置１０の電源が切れたとき、又は、情報処理装置１０がリーダ／ライタ１４からリセットコマンドを受けたときには、保持された指定されたカレント認証情報は消去される。情報処理装置１０とリーダ／ライタ１４との間で提供されるサービスを変更するときには、情報処理装置１０は、リーダ／ライタ１４から、既に保持した内容をリセットするためのリセット命令を受ける。
【００８３】
次に、図１１は、情報処理装置１０による第２認証応答処理（図８のＳ５０の処理）の詳細な流れの一例を示すフローチャートである。
【００８４】
図１１に示すように、まず、情報処理装置１０は、リーダ／ライタ１４から、上記第２認証要求（再暗号化された第２の乱数を含む）を、指定されたカード識別子及び暗号種別と共に受信する（Ｓ５１）。
【００８５】
次いで、情報処理装置１０は、受信したカード識別子及び暗号種別が、上記Ｓ３６で保持しておいたカレント認証情報に含まれる内容と同一であるか否かを判定する（Ｓ５２）。さらに、情報処理装置１０は、受信した第２認証要求が正常であるか否かを検証する（Ｓ５３）。ここで、受信したカード識別子及び暗号種別がカレント認証情報に含まれるカード識別子及び暗号種別と同一でない場合、又は受信した第２認証要求が正常でない場合には、無応答処理が行われる（Ｓ５９）。一方、受信したカード識別子及び暗号種別がカレント認証情報に含まれるカード識別子及び暗号種別と同一であり、かつ受信した第２認証要求が正常である場合には、処理はＳ５４へ進む。
【００８６】
なお、第２認証要求が正常か否かの検証は、例えば、リーダ／ライタ１４により再暗号化された第２の乱数を復号し、その第２の乱数と当初情報処理装置１０で生成した第２の乱数とを突合することにより行われる。
【００８７】
次いでＳ５４では、指定された暗号種別に対応する暗号アルゴリズム部１２０の相互認証部１４０により、データ記憶部１８０に記憶されている無効化制御情報１８４に応じた無効化処理が行われる（Ｓ５４）。
【００８８】
図１２は、暗号アルゴリズム部１２０の相互認証部１４０による無効化処理の詳細な流れの一例を示すフローチャートである。
【００８９】
図１２を参照すると、まず、第１認証要求で指定された暗号種別がデータ記憶部１８０に記憶されている無効化暗号種別に含まれるか否かが判定される（Ｓ１０１）。ここで第１認証要求で指定された暗号種別が無効化暗号種別に含まれている場合には、当該暗号種別に対応する暗号アルゴリズム部１２０が自らを無効化しないように、以降の無効化処理はスキップされる。一方、第１認証要求で指定された暗号種別が無効化暗号種別に含まれていなければ、処理はＳ１０２へ進む。
【００９０】
なお、例えば、無効化制御情報１８４内に無効化処理を行う暗号アルゴリズム部１２０を指定する代表暗号種別を定義しておき、Ｓ１０１において、第１認証要求で指定された暗号種別が当該代表暗号種別に一致する場合に後続の処理へ進むようにしてもよい。
【００９１】
次いでＳ１０２では、無効化暗号種別に設定された暗号種別が無効化制御情報１８４に含まれる有効暗号種別に含まれるか否かが判定される（Ｓ１０２）。ここで無効化暗号種別に設定された暗号種別が有効暗号種別に含まれていない場合には、既に無効化の対象となる暗号アルゴリズム部１２０は無効化されている。そのため、以降の無効化処理はスキップされる。一方、無効化暗号種別に設定された暗号種別が有効暗号種別に含まれている場合には、処理はＳ１０３へ進む。
【００９２】
次いでＳ１０３では、上記有効暗号種別の中から、無効化暗号種別に設定された暗号種別と一致する暗号種別が消去される（Ｓ１０３）。それにより、その後消去された暗号種別で表される暗号方式をサポートする暗号アルゴリズム部１２０による外部装置との間の相互認証は不可能となり、図１２の無効化処理は終了する。
【００９３】
なお、図１２を用いて説明した無効化処理は、必ずしも全ての暗号アルゴリズム部１２０に実装されなくてよい。例えば、情報処理装置１０に新暗号アルゴリズムをサポートする第１暗号アルゴリズム部１２０Ａ及び旧暗号アルゴリズムをサポートする第２暗号アルゴリズム部１２０Ｂが設けられているとする。その場合、図１２の無効化処理は、旧暗号アルゴリズムをサポートする第２暗号アルゴリズム部１２０Ｂに実装する必要はない。即ち、情報処理装置１０が旧暗号アルゴリズムの暗号方式を表す暗号種別をリーダ／ライタ１４から指定されたときには、図１１における第２認証応答処理のうちＳ５４は実行されなくてよい。
【００９４】
図１１に戻り、情報処理装置１０による第２認証応答処理の説明を継続する。情報処理装置１０は、無効化処理が終了すると、リーダ／ライタ１４により指定された暗号種別で表される暗号方式を用いて、第２認証応答を作成する（Ｓ５５）。この第２認証応答は、リーダ／ライタ１４に相互認証の完了を通知するためのメッセージである。さらに、情報処理装置１０は、内部状態として、リーダ／ライタ１４との相互認証が完了したことを表す情報をメモリ部８０等の記憶領域に一時的に保持する（Ｓ５６）。
【００９５】
次いで、情報処理装置１０は、上記相互認証時に生成した鍵（セッション鍵）を通信路暗号鍵として保持する（Ｓ５７）。その後、情報処理装置１０は、Ｓ５５で作成した第２認証応答をセッション鍵で暗号化した上で、リーダ／ライタ１４に送信する（Ｓ５８）。
【００９６】
［２−４．本実施形態により実現し得る移行手順］
ここまで、図４〜図１２を用いて、本発明の第１の実施形態に係る情報処理装置１０について説明した。本実施形態によれば、情報処理装置１０には、例えば、新暗号アルゴリズムをサポートする第１暗号アルゴリズム部１２０Ａと旧暗号アルゴリズムをサポートする第２暗号アルゴリズム部１２０Ｂが設けられる。そして、新暗号アルゴリズムを用いて外部装置との間で初めて相互認証に成功したときに、第１暗号アルゴリズム部１２０Ａにより、旧暗号アルゴリズムをサポートする第２暗号アルゴリズム部１２０Ｂを自動的に無効化することができる。
【００９７】
これは、例えば、図１３に示したようなＩＣカードの暗号アルゴリズムの移行手順を可能にする。即ち、サービス提供者が使用する全てのリーダ／ライタの新たな装置への置換えが完了するＴ２の以前から、サービス提供者は新ＩＣカード（情報処理装置１０に相当）をユーザに発行することができる。新ＩＣカードの発行開始時点Ｔ３は、リーダ／ライタとＩＣカードの間の新たな暗号アルゴリズムに関する仕様が確定した後の任意の時点であってよい。その後、リーダ／ライタの置換えが完了した時点Ｔ２以降、リーダ／ライタによる新暗号アルゴリズムを用いた相互認証が開始される。そうすると、ユーザがＴ２以降に始めて新ＩＣカードを用いて相互認証を行ったときに、追加的な手続を要することなく、相互認証に成功した新ＩＣカードの内部において旧暗号アルゴリズムが無効化される。その結果、新ＩＣカードのセキュリティ強度は、新暗号アルゴリズムのセキュリティ強度まで引き上げられ、ＩＣカードの暗号アルゴリズムの切替えが完了する。なお、新暗号アルゴリズムを用いた相互認証が行われるまでは新ＩＣカード内の旧暗号アルゴリズムは有効であるため、ユーザは旧暗号アルゴリズムをサポートするリーダ／ライタを使用することができる。
【００９８】
このような移行手順が実現されれば、新ＩＣカードの発行開始時期を図２に示した移行手順よりも早めることができる。それにより、例えば図１３のＴ３からＴ２までの期間にＩＣカードを購入したユーザは、暗号アルゴリズムの切替えのためにＩＣカードを交換しなくてよい。また、サービス提供者にとっては、カード交換業務の対象となる旧ＩＣカードの枚数が抑制され、また新ＩＣカードの暗号アルゴリズムを切替える手続が不要となることで、暗号アルゴリズムの移行に伴う業務的な負担が軽減されるというメリットを享受できる。
【００９９】
＜３．変形例の説明＞
［３−１．第１の変形例］
第１の実施形態では、図６及び図７において、有効暗号種別と無効化暗号種別を同じ階層で保持する例について説明したが、有効暗号種別と無効化暗号種別は必ずしも同じ階層に位置していなくてよい。本項では、第１の変形例として、有効暗号種別を無効化暗号種別よりも下位の階層で保持する例について説明する。
【０１００】
図１４は、データ記憶部１８０に記憶されるユーザデータ１８２、無効化制御情報１８４及び暗号別情報１８６の本変形例に係る論理的なデータ構造を示す説明図である。
【０１０１】
図１４を参照すると、データ記憶部１８０において、無効化制御情報１８４はさらに２つの階層に分けられ、無効化暗号種別と有効暗号種別は１対多の関係をなしている。即ち、１つの無効化暗号種別に対して有効暗号種別は１つ又は複数存在し得る。そして、各有効暗号種別に対して、それぞれ１つ又は複数の暗号別情報及びユーザデータが定義される。このようなデータ構造は、例えば、１つのＩＣカードシステム内（又は１サービス事業者内）でサービスごとに許容する暗号アルゴリズムの強度を別々に管理する場合などに有効である。
【０１０２】
図１５は、本変形例に係る暗号アルゴリズム部１２０の相互認証部１４０による無効化処理の詳細な流れの一例を示すフローチャートである。
【０１０３】
図１５を参照すると、まず、第１認証要求で指定された暗号種別がデータ記憶部１８０に記憶されている無効化暗号種別に含まれるか否かが判定される（Ｓ１１１）。ここで第１認証要求で指定された暗号種別が無効化暗号種別に含まれている場合には、当該暗号種別に対応する暗号アルゴリズム部１２０が自らを無効化しないように、以降の無効化処理はスキップされる。一方、第１認証要求で指定された暗号種別が無効化暗号種別に含まれていなければ、処理はＳ１１２へ進む。
【０１０４】
次いでＳ１１２では、無効化暗号種別に設定された暗号種別が下位のいずれかの有効暗号種別に含まれるか否かが判定される（Ｓ１１２）。ここで無効化暗号種別に設定された暗号種別が下位のいずれの有効暗号種別にも含まれていない場合には、以降の無効化処理はスキップされる。一方、無効化暗号種別に設定された暗号種別がいずれかの有効暗号種別に含まれている場合には、処理はＳ１１３へ進む。
【０１０５】
次いでＳ１１３では、下位の無効化制御情報１８４の各有効暗号種別の中から、無効化暗号種別に設定された暗号種別と一致する暗号種別が消去される（Ｓ１１３）。それにより、その後消去された暗号種別で表される暗号方式をサポートする暗号アルゴリズム部１２０による外部装置との間の相互認証は不可能となる。
【０１０６】
次いでＳ１１４では、有効暗号種別から消去した暗号種別が、無効化制御情報１８４の無効化暗号種別から消去される。それにより、既に有効暗号種別から消去済みの暗号種別を下位の無効化制御情報１８４に検索しにいく処理（図１５のＳ１１２に該当）をその後回避することができる。その後、本変形例に係る無効化処理は終了する。
【０１０７】
［３−２．第２の変形例］
第１の実施形態では、第１暗号アルゴリズム部１２０Ａと第２暗号アルゴリズム部１２０Ｂとの間で外部装置との相互認証に用いる暗号方式が互いに異なる例について説明した。しかしながら、例えば、第１暗号アルゴリズム部１２０Ａと第２暗号アルゴリズム部１２０Ｂとの間で、外部装置との相互認証に用いる暗号方式は共通しており、せだい鍵の世代のみが異なる場合であっても、本発明を適用することができる。そこで、第２の変形例として、暗号鍵の世代が互いに異なる２つの暗号アルゴリズムをサポートする例について説明する。
【０１０８】
図１６は、データ記憶部１８０に記憶されるユーザデータ１８２、無効化制御情報１８４及び暗号別情報１８６の本変形例に係る論理的なデータ構造を示す説明図である。
【０１０９】
図１６を参照すると、無効化制御情報１８４には、例えば、論理アドレス、無効化暗号種別、及び有効世代番号が含まれる。このうち、論理アドレスは、図４に示したメモリ部８０内で無効化制御情報１８４にアクセスするために用いられる。無効化暗号種別は、情報処理装置１０において自動的な無効化の対象とする暗号方式を識別するためのデータである。有効世代番号は、複数の暗号アルゴリズム部１２０により用いられる暗号鍵の中で世代の最も古い（世代番号の最も小さい）有効な暗号鍵の世代番号を識別するためのデータである。
【０１１０】
また、図１６を参照すると、暗号別情報１８６には、例えば、暗号鍵、鍵バージョン、暗号種別、及び世代番号が含まれる。このうち、世代番号は、本変形例において追加的に含まれるデータであって、各暗号アルゴリズム部１２０により用いられる暗号鍵の世代を特定する。
【０１１１】
図１７は、本変形例に係るユーザデータ１８２、無効化制御情報１８４及び暗号別情報１８６の具体的なデータ例を示す説明図である。
【０１１２】
図１７を参照すると、論理アドレス“１００８ｈ”の無効化制御情報１８４の無効化暗号種別には、“ＡＥＳ１２８”が含まれている。また、有効世代番号は、“１”を示している。
【０１１３】
これに対し、上記無効化制御情報１８４の下位に、第１暗号アルゴリズム部１２０Ａに対応する暗号別情報１８６Ａと、第２暗号アルゴリズム部１２０Ｂに対応する暗号別情報１８６Ｂとが定義されている。このうち、暗号別情報１８６Ａの暗号鍵は“ａａａ．．．ｈ”、鍵バージョンは“１１１１ｈ”、暗号種別は“ＡＥＳ１２８”、世代番号は“１”である。また、暗号別情報１８６Ｂの暗号鍵は“ｂｂｂ．．．ｈ”、鍵バージョンは“１１１２ｈ”、暗号種別は“ＡＥＳ１２８”、世代番号は“２”である。これは、第１暗号アルゴリズム部１２０Ａ及び第２暗号アルゴリズム部１２０Ｂが共にＡＥＳ１２８方式による相互認証をサポートしているが、第２暗号アルゴリズム部１２０Ｂに用いられる暗号鍵の方が鍵の世代が新しいことを表している。
【０１１４】
本変形例の場合、情報処理装置１０にアクセスするリーダ／ライタ１４等の外部装置は、第１認証要求において、図８に示した暗号種別と論理アドレスに加えて、使用すべき暗号鍵の世代番号を指定する。そして、各暗号アルゴリズム部１２０は、当該第１認証要求により指定された世代番号が無効化制御情報１８４の中の有効世代番号よりも小さくない場合（世代が古くない場合）にのみ、リーダ／ライタ１４との間で相互認証を行う。例えば、図１７のデータ例では、有効世代番号が“１”であるため、世代番号“１”の第１暗号アルゴリズム部１２０Ａ及び世代番号“２”の第２暗号アルゴリズム部１２０Ｂは共に有効である。これに対し、次に説明する無効化処理により有効世代番号が“２”に更新された場合には、世代番号“１”の第１暗号アルゴリズム部１２０Ａは無効となる。
【０１１５】
図１８は、本変形例に係る暗号アルゴリズム部１２０の相互認証部１４０による無効化処理の詳細な流れの一例を示すフローチャートである。
【０１１６】
図１８を参照すると、まず、第１認証要求で指定された暗号種別がデータ記憶部１８０に記憶されている無効化暗号種別に含まれるか否かが判定される（Ｓ１２１）。ここで第１認証要求で指定された暗号種別が無効化暗号種別に含まれていない場合には、以降の世代番号に基づく無効化処理はスキップされる。一方、第１認証要求で指定された暗号種別が無効化暗号種別に含まれていれば、処理はＳ１２２へ進む。
【０１１７】
次いでＳ１２２では、第１認証要求で指定された世代番号が無効化制御情報１８４に含まれる有効世代番号よりも大きいか否かが判定される（Ｓ１２２）。ここで第１認証要求で指定された世代番号が有効世代番号よりも大きくない場合には、以降の無効化処理はスキップされる。一方、第１認証要求で指定された世代番号が有効世代番号よりも大きい場合には、処理はＳ１２３へ進む。
【０１１８】
次いでＳ１２３では、有効世代番号が、第１認証要求で指定された世代番号に更新される（Ｓ１２３）。例えば、図１７に示したデータ例において、新たに暗号種別“ＡＥＳ１２８”及び世代番号“２”が指定され、相互認証が成功した場合、無効化制御情報１８４の有効世代番号は“２”に更新される。それにより、その後世代番号“１”の暗号鍵を使用する第１暗号アルゴリズム部１２０Ａによる外部装置との間の相互認証は不可能となる。その後、本変形例に係る無効化処理は終了する。
【０１１９】
なお、本変形例では、暗号鍵の世代を特定する数値を世代番号として用いたが、数値の代わりに鍵バージョンを用いてもよい。
【０１２０】
［３−３．第３の変形例］
第１の実施形態並びに第１及び第２の変形例では、新暗号アルゴリズムを用いた通常の初回の相互認証が成功した場合に、情報処理装置１０において無効化処理を実行する例について説明した。これに対し、無効化処理を実行させるための認証要求を通常の認証要求とは区別し、特別な認証要求を受信したときにのみ情報処理装置１０において無効化処理を実行してもよい。そこで、第３の変形例として、特別な認証要求を受信したときにのみ無効化処理を実行する例について説明する。
【０１２１】
本変形例では、例えば図４に示したメモリ部８０に、第１認証要求で指定される論理アドレスを変換するためのアドレス変換テーブルが予め保持される。図１９は、本変形例に係るアドレス変換テーブル８２の一例を示す説明図である。
【０１２２】
図１９を参照すると、アドレス変換テーブル８２は、通常の認証要求用の論理アドレスを定義する第１列と、当該第１列に定義された論理アドレスに対して無効化処理の実行を求める論理アドレスを定義する第２列とを有している。例えば、図１９において、通常の認証要求のための論理アドレス“００００”に対する無効化処理用の論理アドレスは“０１８０”である。また、通常の認証要求のための論理アドレス“０００１”に対する無効化処理用の論理アドレスは“０１８１”である。また、通常の認証要求のための論理アドレス“１００８”に対する無効化処理用の論理アドレスは“１１８２”である。
【０１２３】
かかるアドレス変換テーブル８２を用いて、情報処理装置１０は、例えば無効化処理用の論理アドレスを指定する認証要求を受信した場合には、論理アドレスを通常の認証要求用の論理アドレスに読み替えて、図８に示したアクセスシーケンスを実行する。但し、図１１に示した情報処理装置１０による第２認証応答処理（図８のＳ５０の処理）では、Ｓ５４の無効化処理の前に、認証要求により指定された論理アドレスが無効化処理用の論理アドレスであったか否かが追加的に判定される。そして、認証要求により指定された論理アドレスが無効化処理用の論理アドレスであった場合にのみ、図１２等を用いて説明した無効化処理が実行される。
【０１２４】
このような無効化処理用の特別な論理アドレス（サービス識別子）を用意することで、サービス提供者は、ＩＣカードの暗号アルゴリズムの切替えのタイミングを、リーダ／ライタの新暗号アルゴリズムへの対応後の任意の時点に調整することが可能となる。
【０１２５】
＜４．第２の実施形態の説明＞
第１の実施形態では、ＩＣカード等に相当する情報処理装置１０において２つの暗号アルゴリズムをサポートする例について説明した。これに対し、本発明の第２の実施形態では、より多くの暗号アルゴリズムをサポートする例について説明する。
【０１２６】
［４−１．情報処理装置の構成例］
本実施形態に係る情報処理装置２０の物理的な構成は、図４に示した第１の実施形態に係る情報処理装置１０の構成と同様である。また、情報処理装置２０は、第１の実施形態に係る情報処理装置１０と同様、例えば図３に示したＩＣチップを搭載したＩＣカード又は携帯端末等に相当する。
【０１２７】
図２０は、本実施形態に係る情報処理装置２０の論理的な構成を示すブロック図である。図２０を参照すると、情報処理装置２０は、応答検知部１１０、第１暗号アルゴリズム部２２０Ａ、第２暗号アルゴリズム部２２０Ｂ、第３暗号アルゴリズム部２２０Ｃ、リードライト部１７０、データ記憶部２８０、及び鍵記憶部１９０を備える。また、各暗号アルゴリズム部２２０はそれぞれ、認証鍵生成部１３０、相互認証部２４０、通信路暗号部１５０、及び発行情報復号部１６０を含む。
【０１２８】
本実施形態において、各暗号アルゴリズム部２２０の相互認証部２４０は、外部装置との間の相互認証を実行する。この相互認証方法としては、前述した第１の実施形態に係る相互認証部１４０と同様、例えば、上記特許文献４（特開平１０−０２０７８０号公報）に記載の方法や、「ＩＳＯ／ＩＥＣ９７９８」で提案されている方法を使用することができる。また、相互認証部２４０による相互認証処理は、外部装置から認証要求により指定される暗号種別又は世代番号に応じて、いずれかの暗号アルゴリズム部２２０によって行われる。
【０１２９】
また、複数の暗号アルゴリズム部２２０の相互認証部２４０のうち少なくとも１つは、外部装置との間で相互認証に成功すると、データ記憶部２８０に記憶されている無効化制御情報２８４に応じて、他の暗号アルゴリズム部２２０を無効化する。例えば、本実施形態では、第１暗号アルゴリズム部２２０Ａの相互認証部２４０Ａ及び第２暗号アルゴリズム部２２０Ｂの相互認証部２４０Ｂが後述の無効化処理を実行し得る。かかる無効化処理については、後にさらに詳しく説明する。
【０１３０】
［４−２．データ構造の一例］
図２１は、データ記憶部２８０に記憶されるユーザデータ１８２、無効化制御情報２８４及び暗号別情報２８６の論理的なデータ構造の一例を示す説明図である。
【０１３１】
図２１を参照すると、データ記憶部２８０において、無効化制御情報２８４及び暗号別情報２８６は論理的な階層構造をなしている。より具体的には、無効化制御情報２８４と暗号別情報２８６とは１対多の関係にある。即ち、１つの無効化制御情報２８４に対して暗号別情報２８６は１つ又は複数存在し得る。また、無効化制御情報２８４とユーザデータ１８２とは多対多の関係にある。
【０１３２】
無効化制御情報２８４には、例えば、論理アドレス、有効暗号種別、及び優先順位が含まれる。このうち、論理アドレスは、無効化制御情報２８４にアクセスするために用いられる。有効暗号種別は、複数の暗号アルゴリズム部２２０により用いられる暗号方式のうち有効な暗号方式を識別するためのデータである。各暗号アルゴリズム部２２０は、外部装置から受信した認証要求により指定された暗号種別が無効化制御情報２８４の中の有効暗号種別に含まれている場合にのみ、当該外部装置との間で相互認証を行う。優先順位は、各暗号アルゴリズム部２２０のセキュリティ強度に応じて予め定義されるデータであって、後述する暗号アルゴリズムの無効化処理に用いられる。
【０１３３】
暗号別情報２８６には、例えば、暗号鍵、鍵バージョン、及び暗号種別が含まれる。このうち、暗号鍵は、データ記憶部２８０の所定の範囲の記憶領域にアクセスするために必要な鍵である。また、鍵バージョンは、上記暗号鍵のバージョンを表すデータである。暗号種別は、各暗号アルゴリズム部２２０により用いられる暗号方式を特定するためのデータであって、例えば予め定義される暗号方式ごとのコード値により表される。
【０１３４】
図２２は、本実施形態に係るユーザデータ１８２、無効化制御情報２８４及び暗号別情報２８６の具体的なデータ例を示す説明図である。
【０１３５】
図２２を参照すると、論理アドレス“１００８ｈ”の無効化制御情報２８４の有効暗号種別には、“ＤＥＳ”、“ＡＥＳ１２８”及び“ＡＥＳ２５６”の３種類の暗号種別が含まれている。また、優先順位は、“ＡＥＳ２５６”＞“ＡＥＳ１２８”＞“ＤＥＳ”である。
【０１３６】
また、無効化制御情報２８４の下位に、第１暗号アルゴリズム部１２０Ａに対応する暗号別情報２８６Ａと、第２暗号アルゴリズム部１２０Ｂに対応する暗号別情報２８６Ｂと、第３暗号アルゴリズム部２２０Ｃに対応する暗号別情報２８６Ｃとが定義されている。このうち、暗号別情報２８６Ａの暗号鍵は“３４５６７８９０．．．ｈ”、鍵バージョンは“１１１１ｈ”、暗号種別は“ＡＥＳ２５６”である。また、暗号別情報２８６Ｂの暗号鍵は“２３４５６７８９．．．ｈ”、鍵バージョンは“１１００ｈ”、暗号種別は“ＡＥＳ１２８”である。また、暗号別情報２８６Ｃの暗号鍵は“１２３４５６７８．．．ｈ”、鍵バージョンは“１０００ｈ”、暗号種別は“ＤＥＳ”である。
【０１３７】
かかるデータ例において、例えば第２暗号アルゴリズム部２２０Ｂの相互認証部２４０Ｂは、外部装置との間で相互認証に成功すると、無効化制御情報２８４の有効暗号種別の中から、自らの暗号種別“ＡＥＳ１２８”よりも優先順位の低い“ＤＥＳ”を消去する。すると、その後ＤＥＳ方式をサポートする第３暗号アルゴリズム部２２０Ｃによる外部装置との間の相互認証は不可能となり、第３暗号アルゴリズム部２２０Ｃは無効化される。また、例えば第１暗号アルゴリズム部２２０Ａの相互認証部２４０Ａは、外部装置との間で相互認証に成功すると、有効暗号種別の中から、自らの暗号種別“ＡＥＳ２５６”よりも優先順位の低い“ＡＥＳ１２８”及び“ＤＥＳ”を消去する。すると、その後第２暗号アルゴリズム部２２０Ｂ及び第３暗号アルゴリズム部２２０Ｃによる外部装置との間の相互認証は不可能となり、当該２つの暗号アルゴリズム部２２０は無効化される。
【０１３８】
［４−３．処理の流れ］
本実施形態に係る情報処理装置２０が外部装置からアクセスを受ける際の処理内容は、相互認証部２４０による無効化処理を除き、図８から図１１を用いて説明した第１の実施形態に係る情報処理装置１０による処理内容と同様である。
【０１３９】
図２３は、本実施形態に係る暗号アルゴリズム部２２０の相互認証部２４０による無効化処理の詳細な流れの一例を示すフローチャートである。
【０１４０】
図２３を参照すると、まず、データ記憶部１８０に記憶されている優先順位を参照し、第１認証要求で指定された暗号種別よりも優先順位の低い暗号種別が取得される（Ｓ２０１）。
【０１４１】
次いでＳ２０２では、Ｓ２０１において取得された暗号種別が１つ以上存在するか否かが判定される（Ｓ２０２）。ここで取得された暗号種別が存在しない場合には、以降の無効化処理はスキップされる。一方、取得された暗号種別が１つ以上存在する場合には、処理はＳ２０３へ進む。
【０１４２】
次いでＳ２０３では、Ｓ２０１において取得された優先順位の低い暗号種別が、データ記憶部１８０に記憶されている有効暗号種別から消去される（Ｓ２０３）。例えば、図２２に示したデータ例において、暗号種別“ＡＥＳ１２８”が指定され、相互認証が成功した場合、有効暗号種別から“ＤＥＳ”が消去される。それにより、その後ＤＥＳ方式を使用する第３暗号アルゴリズム部２２０Ｃによる外部装置との間の相互認証は不可能となる。その後、本実施形態に係る無効化処理は終了する。
【０１４３】
なお、無効化制御情報２８４に含まれる優先順位において、例えば等号（“＝”）を部分的に用いて、一部の暗号種別間の優先順位が同等であるものとして定義されてもよい。例えば、優先順位を“ＡＥＳ２５６”＞“ＡＥＳ１２８”＝“ＣＬＥＦＩＡ１２８”＞“ＤＥＳ”と定義したと仮定する。そうすると、“ＡＥＳ１２８”で相互認証が成功した場合には“ＣＬＥＦＩＡ１２８”は無効化されず、“ＣＬＥＦＩＡ１２８”で相互認証が成功した場合には“ＡＥＳ１２８”は無効化されない。
【０１４４】
ここまで、図２０〜図２３を用いて、本発明の第２の実施形態に係る情報処理装置２０について説明した。本実施形態によれば、情報処理装置２０には、例えば、３種類の暗号方式をそれぞれサポートする３つの暗号アルゴリズム部２２０が設けられる。また、各暗号アルゴリズム部２２０のセキュリティ強度に応じて予め定義された優先順位が、情報処理装置２０のデータ記憶部１８０に保持される。そして、例えばセキュリティの高い暗号アルゴリズムを用いて外部装置との間で初めて相互認証に成功したときに、当該優先順位に応じて、セキュリティ強度の低い他のアルゴリズム部２２０を自動的に無効化することができる。
【０１４５】
なお、第１の実施形態に関連して説明した第１〜第３の変形例を上記第２の実施形態と組み合わせることも可能である。また、本実施形態では、優先順位を表すデータを無効化制御情報２８４の中に保持する例について説明した。しかしながら、例えば暗号アルゴリズム部２２０ごとにセキュリティ強度に基づいて優先度を数値によって定義し、かかる優先度を暗号別情報２８６の中に保持することにより、優先度の大小に応じた優先順位を実現してもよい。
【０１４６】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１４７】
例えば、フローチャートを用いて説明した第１及び第２の実施形態に係る各処理を、必ずしもフローチャートに記載された順序に沿って実行しなくてもよい。各処理ステップは、並列的あるいは個別に独立して実行される処理を含んでもよい。
【図面の簡単な説明】
【０１４８】
【図１】ＩＣカードの暗号アルゴリズムの移行手順の概要を示す説明図である。
【図２】図１に示した移行手順とＩＣカードの発行枚数との関係を示す説明図である。
【図３】本発明の一実施形態に係る通信システムの概要を示す模式図である。
【図４】第１の実施形態に係る情報処理装置の物理的構成を示すブロック図である。
【図５】第１の実施形態に係る情報処理装置の論理的構成を示すブロック図である。
【図６】第１の実施形態に係るデータ記憶部に記憶されるデータ構造の一例を示す説明図である。
【図７】図６のデータ構造における具体的なデータ例を示す説明図である。
【図８】情報処理装置とリーダ／ライタとの間のアクセスシーケンスの一例を示すシーケンス図である。
【図９】ポーリング応答処理の詳細な流れの一例を示すフローチャートである。
【図１０】第１認証応答処理の詳細な流れの一例を示すフローチャートである。
【図１１】第２認証応答処理の詳細な流れの一例を示すフローチャートである。
【図１２】第１の実施形態に係る無効化処理の詳細な流れの一例を示すフローチャートである。
【図１３】ＩＣカードの暗号アルゴリズムの新たな移行手順とＩＣカードの発行枚数の関係を示す説明図である。
【図１４】データ記憶部に記憶されるデータ構造の他の例を示す説明図である。
【図１５】無効化処理の詳細な流れの他の例を示すフローチャートである。
【図１６】データ記憶部に記憶されるデータ構造のまた別の例を示す説明図である。
【図１７】図１６のデータ構造における具体的なデータ例を示す説明図である。
【図１８】無効化処理の詳細な流れのまた別の例を示すフローチャートである。
【図１９】アドレス変換テーブルの一例を示す説明図である。
【図２０】第２の実施形態に係る情報処理装置の論理的構成を示すブロック図である。
【図２１】第２の実施形態に係るデータ記憶部に記憶されるデータ構造の一例を示す説明図である。
【図２２】図２０のデータ構造における具体的なデータ例を示す説明図である。
【図２３】第２の実施形態に係る無効化処理の詳細な流れの一例を示すフローチャートである。
【符号の説明】
【０１４９】
１０、２０          情報処理装置（ＩＣカード等）
１４                外部装置（リーダ／ライタ等）
１１０              応答検知部
１２０、２２０      暗号アルゴリズム部
１３０              認証鍵生成部
１４０、２４０      相互認証部
１５０              通信路暗号部
１６０              発行情報復号部
１７０              リードライト部
１８０、２８０      データ記憶部
１８２              ユーザデータ
１８４、２８４      無効化制御情報
１８６、２８６      暗号別情報
１９０              鍵記憶部
【図１】
2010098367.tif 000003
【図２】
2010098367.tif 000004
【図３】
2010098367.tif 000005
【図４】
2010098367.tif 000006
【図５】
2010098367.tif 000007
【図６】
2010098367.tif 000008
【図７】
2010098367.tif 000009
【図８】
2010098367.tif 000010
【図９】
2010098367.tif 000011
【図１０】
2010098367.tif 000012
【図１１】
2010098367.tif 000013
【図１２】
2010098367.tif 000014
【図１３】
2010098367.tif 000015
【図１４】
2010098367.tif 000016
【図１５】
2010098367.tif 000017
【図１６】
2010098367.tif 000018
【図１７】
2010098367.tif 000019
【図１８】
2010098367.tif 000020
【図１９】
2010098367.tif 000021
【図２０】
2010098367.tif 000022
【図２１】
2010098367.tif 000023
【図２２】
2010098367.tif 000024
【図２３】
2010098367.tif 000025