(57)【特許請求の範囲】
【請求項１】
情報処理装置に装着され、前記情報処理装置とデータの授受を行うデータ記憶装置において、
接触式および非接触式のいずれの通信方式の前記情報処理装置にも対応可能であって、前記情報処理装置に対する、入出力データの変調及び復調を制御し、前記情報処理装置からの所定のサービスを識別するための情報の入力を制御する第１の制御手段と、
前記所定のサービスに対応するデータであって、前記所定のサービスの認証に必要な認証鍵である第１の認証鍵と第２の認証鍵のうちの少なくとも一方、および、前記所定のサービスを識別するための情報の記憶を制御する第２の制御手段と、
前記認証鍵のうち、前記第１の認証鍵を用いた認証処理を実行する第１の認証処理実行手段と、
前記認証鍵のうち、前記第２の認証鍵を用いた認証処理を実行する第２の認証処理実行手段と、
前記第１の制御手段により入力が制御された前記所定のサービスを識別するための情報に基づいて、前記第１の認証処理実行手段と前記第２の認証処理実行手段のいずれかを制御して、前記情報処理装置との認証処理を実行させる第３の制御手段と、
前記第１の認証鍵または前記第２の認証鍵の前記所定のサービスに対するレベルを選択する選択手段と
を備え、
前記第２の制御手段により記憶が制御された前記データには、前記所定のサービスの認証に必要な所定のバージョンの前記第１の認証鍵または前記第２の認証鍵が、複数のレベルで用意されており、
前記第１の制御手段は、前記選択手段により選択された前記レベルの前記第１の認証鍵または前記第２の認証鍵のバージョンに関する第１の情報の出力を制御するとともに、前記情報処理装置からの、前記バージョンに基づいて判定された前記レベルによる認証処理を許可するか否かを示す第２の情報の入力を制御し、
前記レベルによる認証処理が許可されなかった場合、前記選択手段は、前記第１の認証鍵または前記第２の認証鍵の異なるレベルを新たに選択し、前記第１の制御手段は、前記選択手段により新たに選択された前記レベルの前記第１の認証鍵または前記第２の認証鍵の前記バージョンに関する第１の情報の出力を制御し、
前記レベルによる認証処理が許可された場合、前記第３の制御手段は、前記第１の制御手段により入力が制御された前記第２の情報に基づいて、前記第１の認証処理実行手段と前記第２の認証処理実行手段のいずれかを制御して、前記情報処理装置との認証処理を実行させる
ことを特徴とするデータ記憶装置。
【請求項２】
データ記憶装置が装着され、前記データ記憶装置とデータの授受を行う情報処理装置において、
接触式および非接触式のいずれの通信方式の前記データ記憶装置にも対応可能であって、前記データ記憶装置に対する、入出力データの変調及び復調を制御し、前記データ記憶装置への前記所定のサービスを識別するための情報の出力を制御する第１の制御手段と、
前記所定のサービスに対応するデータであって、前記所定のサービスの認証に必要な認証鍵である複数のレベルの複数のバージョンの第１の認証鍵と第２の認証鍵のうちの少なくとも一方、および、前記所定のサービスを識別するための情報の記憶を制御する第２の制御手段と、
前記所定のサービスに対応する情報を表示する表示手段と、
ユーザによる前記所定のサービスの選択を示す信号の入力を受ける入力手段と、
前記認証鍵のうち、前記第１の認証鍵を用いた認証処理を実行する第１の認証処理実行手段と、
前記認証鍵のうち、前記第２の認証鍵を用いた認証処理を実行する第２の認証処理実行手段と、
前記第１の認証処理実行手段、前記第２の認証処理実行手段、および前記第２の制御手段の処理を制御する第３の制御手段と、
前記第１の制御手段により入力が制御される、前記データ記憶装置からの、前記所定のサービスに対する所定のレベルの前記第１の認証鍵または前記第２の認証鍵のバージョンに関する第１の情報に基づいて、認証処理を許可するか否かを判断する判断手段と
を備え、
前記第１の認証処理実行手段もしくは前記第２の認証処理実行手段により認証が可能な前記所定のサービスが複数ある場合、
前記表示手段は、前記認証が可能な複数の前記所定のサービスに対応する情報を表示し、
前記第３の制御手段は、前記入力手段により入力される前記所定のサービスの選択を示す信号に基づいて、前記第１の認証処理実行手段と前記第２の認証処理実行手段のいずれかを制御して、前記判断手段により認証処理が許可された前記レベルの前記バージョンの前記第１の認証鍵または前記第２の認証鍵で前記データ記憶装置との認証処理を実行させ、
前記第１の制御手段は、前記判断手段による判断結果に従って、前記レベルによる認証処理を許可するか否かを示す第２の情報の、前記データ記憶装置への出力を制御する
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ記憶装置および情報処理装置に関し、例えば、ＩＣカードと、リーダライタとのデータの授受において、一枚のＩＣカードで、共通鍵による認証を行うサービスに関するデータの授受と、公開鍵による認証を行うサービスに関するデータの授受を可能とするデータ記憶装置および情報処理装置に関する。
【０００２】
【従来の技術】
電子マネーシステムや、セキュリティシステムにおいて、ＩＣ（Integrated circuit）カードの利用が増加している。ＩＣカードは、各種処理を行うＣＰＵ（Central Processing Unit）や、処理に必要なデータなどを記憶するメモリを内蔵しており、所定のリーダライタに電気的に接触させた状態で、または電磁波を利用して非接触で、データの送受信が行われる。なお、リーダライタとの間で、電磁波を利用して非接触でデータの送受信を行うＩＣカードには、一般に、その電磁波により、必要な電力が供給される。
【０００３】
ＩＣカードと、リーダライタの認証には、共通鍵方式もしくは公開鍵方式が用いられる。共通鍵方式では、暗号化に使用する鍵と、復号に使用する鍵が同じである。共通鍵暗号を使うには、前もって送信者と受信者の間で共通鍵を共有する必要があるため、暗号化に使用した鍵を、通信路とは別の安全な手段を使って、通信相手に届けておく必要がある（すなわち、ＩＣカードとリーダライタが共通鍵を予め共有していなければならない）。暗号化は、基本的には、文字の順序を入れ換える「転置（転字）」と、一定の規則に従ってある文字を別の文字に置き換える「換字」を組み合わせて行われる。どのような順序で入れ換えるか、どの文字とどの文字が置き換えてあるかを示すのが暗号アルゴリズムと鍵である。暗号化において、文字をずらすための換字暗号や文字の順序を変えるための転置暗号が基本的な暗号変換であり、ずらされる文字数などが鍵となる。
【０００４】
公開鍵方式は、暗号システムにおいて、「暗号化鍵」と「復号鍵」という２つの鍵をペアで使い、そのうちの暗号化鍵は公開し、復号鍵は、鍵の発行者が管理して秘密にしておくものである。データを送信する場合は、暗号化鍵を使って通信文を暗号化し、受信した側では復号鍵を使って元に戻す。２つの鍵はある数学的な関係に基づいて決められているので、暗号化鍵から復号鍵を求めるのは不可能ではないが、計算量の点から現実的ではない。
【０００５】
公開鍵暗号システムは、従来の共通鍵暗号システムに比べて、暗号化鍵は秘匿する必要がないので、暗号化鍵の配布が容易であり、暗号文を復号するには、各ユーザが個々に持っている復号鍵さえあればよいので、復号鍵を配布する必要がなく、更に、デジタル署名によるメッセージの認証機能を持つ、という利点を有するが、共通鍵暗号システムに比べて、認証処理にかかる時間が長くなる。
【０００６】
デジタル署名とは、電子メールやオンライン取り引きなどにおいて、そのメッセージが正当な発信者から発信され、途中で改ざんなどが行なわれていないことを示すための方法である。通常の暗号文通信では、公開鍵で暗号化を行うが、例えば、ＲＳＡ（Rivest，Shamir，Adleman）公開鍵暗号システムの場合には、逆に、「復号鍵（秘密鍵）で暗号化を行う」とデジタル署名となる。また、他の暗号方式では、署名を付加したいデータに対して、ハッシュ値を取り、それを秘密鍵で暗号化している。
【０００７】
この署名を検証するには、公開鍵が用いられる（すなわち、暗号化鍵と復号鍵の役割が入れ換えられる）。公開鍵は広く公開されているので、だれでもその署名の正当性を簡単に検査することができる。もし公開鍵で暗号文を正しく復元することができ、意味のある文が得られれば、それは正しい発信者であると確認することができる。なぜなら、秘密鍵（署名を行った鍵）を知っているのは正規の発信者だけであり、公開鍵で復元できるようなデジタル署名を作成するには、そのペアとなる秘密鍵を知らなければいけないからである。また、データが改ざんされた場合、データは正しく復号することができなくなるため、改ざんの防止・検出にも利用することができる。署名の検証は、公開鍵を用いて復号した値と、別途、データから計算しなおしたハッシュ値とを比較することにより実行され、一致していれば、データは改ざんされていないと判断され、一致していなければ、データの改ざんが行われたと判断される。
【０００８】
また、データの発行元が信頼のおける組織であることを証明するための証明書を発行することを目的とした第３者の組織を、認証局（ＣＡ（Certificate Authority））という。
【０００９】
【発明が解決しようとする課題】
従来、例えば、ＩＣカードを用いて駅の改札を利用したり、ＩＣカードを用いて入室許可の認証を行う場合などの、共通鍵を用いた認証を行うサービスと、例えば、ＩＣカードを用いて、商品の代金を支払う電子マネーサービスなどの、公開鍵を用いた認証を行うサービスを受ける場合、ユーザは、異なるＩＣカードを保有する必要があった。すなわち、認証方法が異なるサービスは、同一のＩＣカードで利用することができなかった。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、所定のリーダライタとの間で、一枚のＩＣカードで、共通鍵による認証を行うサービスに関するデータの授受と、公開鍵による認証を行うサービスに関するデータの授受を可能とするものである。
【００１１】
【課題を解決するための手段】
本発明のデータ記憶装置は、接触式および非接触式のいずれの通信方式の情報処理装置にも対応可能であって、情報処理装置に対する、入出力データの変調及び復調を制御し、情報処理装置からの所定のサービスを識別するための情報の入力を制御する第１の制御手段と、所定のサービスに対応するデータであって、所定のサービスの認証に必要な認証鍵である第１の認証鍵と第２の認証鍵のうちの少なくとも一方、および、所定のサービスを識別するための情報の記憶を制御する第２の制御手段と、認証鍵のうち、第１の認証鍵を用いた認証処理を実行する第１の認証処理実行手段と、認証鍵のうち、第２の認証鍵を用いた認証処理を実行する第２の認証処理実行手段と、第１の制御手段により入力が制御された所定のサービスを識別するための情報に基づいて、第１の認証処理実行手段と第２の認証処理実行手段のいずれかを制御して、情報処理装置との認証処理を実行させる第３の制御手段と、第１の認証鍵または第２の認証鍵の所定のサービスに対するレベルを選択する選択手段とを備え、第２の制御手段により記憶が制御されたデータには、所定のサービスの認証に必要な所定のバージョンの第１の認証鍵または第２の認証鍵が、複数のレベルで用意されており、第１の制御手段は、選択手段により選択されたレベルの第１の認証鍵または第２の認証鍵のバージョンに関する第１の情報の出力を制御するとともに、情報処理装置からの、バージョンに基づいて判定されたレベルによる認証処理を許可するか否かを示す第２の情報の入力を制御し、そのレベルによる認証処理が許可されなかった場合、選択手段は、第１の認証鍵または第２の認証鍵の異なるレベルを新たに選択し、第１の制御手段は、選択手段により新たに選択されたレベルの第１の認証鍵または第２の認証鍵の前記バージョンに関する第１の情報の出力を制御し、レベルによる認証処理が許可された場合、第３の制御手段は、第１の制御手段により入力が制御された第２の情報に基づいて、第１の認証処理実行手段と第２の認証処理実行手段のいずれかを制御して、情報処理装置との認証処理を実行させることを特徴とする。
【００１８】
本発明の情報処理装置は、接触式および非接触式のいずれの通信方式のデータ記憶装置にも対応可能であって、データ記憶装置に対する、入出力データの変調及び復調を制御し、データ記憶装置への所定のサービスを識別するための情報の出力を制御する第１の制御手段と、所定のサービスに対応するデータであって、所定のサービスの認証に必要な認証鍵である複数のレベルの複数のバージョンの第１の認証鍵と第２の認証鍵のうちの少なくとも一方、および、所定のサービスを識別するための情報の記憶を制御する第２の制御手段と、所定のサービスに対応する情報を表示する表示手段と、ユーザによる所定のサービスの選択を示す信号の入力を受ける入力手段と、認証鍵のうち、第１の認証鍵を用いた認証処理を実行する第１の認証処理実行手段と、認証鍵のうち、第２の認証鍵を用いた認証処理を実行する第２の認証処理実行手段と、第１の認証処理実行手段、第２の認証処理実行手段、および第２の制御手段の処理を制御する第３の制御手段と、第１の制御手段により入力が制御される、データ記憶装置からの、所定のサービスに対する所定のレベルの第１の認証鍵もしくは第２の認証鍵のバージョンに関する第１の情報に基づいて、認証処理を許可するか否かを判断する判断手段とを備え、第１の認証処理実行手段もしくは第２の認証処理実行手段により認証が可能な所定のサービスが複数ある場合、表示手段は、認証が可能な複数の所定のサービスに対応する情報を表示し、第３の制御手段は、入力手段により入力される所定のサービスの選択を示す信号に基づいて、第１の認証処理実行手段と第２の認証処理実行手段のいずれかを制御して、判断手段により認証処理が許可されたレベルのバージョンの第１の認証鍵または第２の認証鍵でデータ記憶装置との認証処理を実行させ、第１の制御手段は、判断手段による判断結果に従って、レベルによる認証処理を許可するか否かを示す第２の情報の、データ記憶装置への出力を制御することを特徴とする。
【００２６】
本発明のデータ記憶装置においては、接触式および非接触式のいずれの通信方式の情報処理装置にも対応可能であって、情報処理装置に対する、入出力データの変調及び復調が制御され、情報処理装置からの所定のサービスを識別するための情報の入力が制御され、所定のサービスに対応するデータであって、所定のサービスの認証に必要な認証鍵である第１の認証鍵と第２の認証鍵のうちの少なくとも一方、および、所定のサービスを識別するための情報の記憶が制御され、認証鍵のうち、第１の認証鍵を用いた認証処理が実行され、認証鍵のうち、第２の認証鍵を用いた認証処理が実行され、入力が制御された所定のサービスを識別するための情報に基づいて、第１の認証鍵を用いた認証処理と第２の認証鍵を用いた認証処理のいずれかが制御されて、情報処理装置との認証処理が実行される。また、第１の認証鍵または第２の認証鍵の所定のサービスに対するレベルが選択され、記憶が制御されたデータには、所定のサービスの認証に必要な所定のバージョンの第１の認証鍵または第２の認証鍵が、複数のレベルで用意されており、選択されたレベルの第１の認証鍵または第２の認証鍵のバージョンに関する第１の情報の出力が制御されるとともに、情報処理装置からの、バージョンに基づいて判定されたレベルによる認証処理を許可するか否かを示す第２の情報の入力が制御され、そのレベルによる認証処理が許可されなかった場合、第１の認証鍵または第２の認証鍵の異なるレベルが新たに選択され、新たに選択されたレベルの第１の認証鍵または第２の認証鍵のバージョンに関する第１の情報の出力が制御され、そのレベルによる認証処理が許可された場合、入力が制御された第２の情報に基づいて、第１の認証鍵を用いた認証処理と第２の認証鍵を用いた認証処理のいずれかが制御されて、情報処理装置との認証処理が実行される。
【００２７】
本発明の情報処理装置においては、接触式および非接触式のいずれの通信方式のデータ記憶装置にも対応可能であって、データ記憶装置に対する、入出力データの変調及び復調が制御され、データ記憶装置への所定のサービスを識別するための情報の出力が制御され、所定のサービスに対応するデータであって、所定のサービスの認証に必要な認証鍵である複数のレベルの複数のバージョンの第１の認証鍵と第２の認証鍵のうちの少なくとも一方、および、所定のサービスを識別するための情報の記憶が制御され、所定のサービスに対応する情報が表示され、ユーザによる所定のサービスの選択を示す信号の入力が受けられ、認証鍵のうち、第１の認証鍵を用いた認証処理が実行され、認証鍵のうち、第２の認証鍵を用いた認証処理が実行され、第１の認証鍵を用いた認証処理、第２の認証鍵を用いた認証処理、および所定のサービスに対応するデータであって、所定のサービスの認証に必要な第１の認証鍵と第２の認証鍵のうちの少なくとも一方、および、所定のサービスを識別するための情報の記憶が制御する制御される。また、第１の認証鍵を用いた認証処理もしくは第２の認証鍵を用いた認証処理により認証が可能な所定のサービスが複数ある場合、認証が可能な複数の所定のサービスに対応する情報が表示され、入力される所定のサービスの選択を示す信号に基づいて、第１の認証鍵を用いた認証処理と第２の認証鍵を用いた認証処理のいずれかが制御されて、データ記憶装置との認証処理が実行される。さらに、入力が制御される、データ記憶装置からの、所定のサービスに対する所定のレベルの第１の認証鍵または第２の認証鍵のバージョンに関する第１の情報に基づいて、認証処理を許可するか否かが判断され、その判断結果に従って、そのレベルによる認証処理を許可するか否かを示す第２の情報の、データ記憶装置への出力が制御される。
【００２８】
【発明の実施の形態】
以下、図を参照して、本発明の実施の形態について説明する。
【００２９】
図１に、ＩＣカードとリーダライタの関係を示す。ＩＣカード１は、共通鍵方式による認証と、公開鍵方式による認証の両方の認証サービスに対応することが可能である（それぞれの認証方法については後述する）。非接触式共通鍵対応リーダライタ２−１は、ＩＣカード１と非接触で通信を行い、共通鍵方式で認証を行う。非接触式公開鍵対応リーダライタ２−２は、ＩＣカード１と非接触で通信を行い、公開鍵方式で認証を行う。接触式公開鍵対応リーダライタ２−３は、接触して通信を行い、公開鍵方式で通信を行う。
【００３０】
例えば、ＩＣカード１に定期券や運賃の支払いを行うことができるプリペイドカードなどのサービスを提供する情報が含まれており、ＩＣカード１を用いて駅の改札を利用する場合や、ＩＣカード１に、ＩＤカードとしての機能が含まれており、ＩＣカード１を用いて入室許可の認証を行う場合などの、短い処理時間が求められる処理においては、非接触式共通鍵対応リーダライタ２−１を用いて、共通鍵による非接触の通信が行われる。
【００３１】
例えば、ＩＣカード１に、電子マネーのサービスを提供する情報が含まれており、店舗などでユーザが購買した商品の清算の処理を行う場合などは、公開鍵方式により認証が行われ、認証処理に時間がかかる。このため、処理時間を特に気にしないような場合は、非接触式公開鍵対応リーダライタ２−２を用いて、非接触で通信を行ってもよいし、処理時間を短縮するために、接触式公開鍵対応リーダライタ２−３を用いて、接触して通信を行うようにしてもよい。
【００３２】
図１においては、非接触式共通鍵対応リーダライタ２−１乃至接触式公開鍵対応リーダライタ２−３を、個別のリーダライタとして説明しているが、必要に応じて、１つのリーダライタで、複数の通信方法や複数の認証方法を用いることができるようにしてもよい。
【００３３】
次に、図２を用いて、カード発行者、サービス提供者、およびカード保持者について説明する。
【００３４】
カード発行者１１は、サービス提供者１２に、ＩＣカード１を保有するカード保持者１３に対して、ＩＣカード１を用いたサービスの提供を行うことを認可し、ＩＣカード１の発行を希望したカード保持者１３に対して、ＩＣカード１を発行する。
【００３５】
カード発行者１１から、サービスの認可を受けたサービス提供者１２は、カード発行者１１が有するサービス登録用リーダライタ２−１１に、自分自身がカード保持者１３に提供するサービスに対応するデータ（図６を用いて後述するService Individual Info）を登録する。この登録については、例えば、サービス提供者１２が有する図示しないパーソナルコンピュータなどから、インターネットなどを介して、サービス登録用リーダライタ２−１１に登録するようにしてもよいし、オペレータが手動で登録するようにしてもよい。
【００３６】
カード保持者１３は、サービス登録用リーダライタ２−１１を用いて、カード発行者１１から発行されたＩＣカード１に、希望するサービスを登録させることができる。サービス登録用リーダライタ２−１１と、ＩＣカード１のサービス登録処理については、図２９および図３０を用いて後述する。
【００３７】
そして、カード保持者１３は、自分自身のＩＣカード１に登録されているサービスの削除を行いたい場合、カード発行者１１が管理するサービス登録用リーダライタ２−１１、もしくは、サービス提供者１２が管理する一般リーダライタ２−１２を用いて、自分自身のＩＣカード１から、サービスを削除させることができる。ＩＣカード１とサービス登録用リーダライタ２−１１のサービス削除処理については、図３１および図３２、ＩＣカード１と一般リーダライタ２−１２のサービス削除処理については、図３３および図３４を用いて後述する。
【００３８】
また、カード保持者１３は、例えば、ＩＣカード１に、電子マネーサービスとプリペイドサービスが登録されており、それぞれの価値情報が、ＩＣカード１のそれぞれのサービスに関する情報に記録されている状況で、電子マネーの価値の一部を、プリペイドの価値へ置き換えたい場合、サービス提供者１２が管理するモジュール間通信用リーダライタ２−１３を用いて、自分自身のＩＣカード１の、図１３を用いて後述する公開鍵モジュールと共通鍵モジュールの間で、モジュール間通信を実行させることができる。モジュール間通信用リーダライタ２−１３は、共通鍵方式と、公開鍵方式の２方式に対応するようになされている。ＩＣカード１とモジュール間通信用リーダライタ２−１３との処理については、図４８乃至図５１を用いて後述する。
【００３９】
更に、カード保持者１３は、失効してしまった認証鍵の更新（バージョンアップ）を行いたい場合、サービス提供者１２が管理する一般リーダライタ２−１２、もしくは、バージョンアップ用リーダライタ２−１４を用いて、自分自身のＩＣカード１に登録されている認証鍵のバージョンアップを行わせることができる。ＩＣカード１とバージョンアップ用リーダライタ２−１４との鍵バージョンアップ処理については、図４３および４４を用いて、ＩＣカード１と一般リーダライタ２−１２との鍵バージョンアップ処理については、図４５乃至４７を用いて後述する。
【００４０】
図３は、ＩＣカード１の構成を示すブロック図である。
【００４１】
ＩＣカード１は、リーダライタ２（リーダライタ２−１乃至２−３、もしくはリーダライタ２−１１乃至２−１４を特に区別する必要のない場合については、これらを総称して、リーダライタ２と称するものとする）との通信を行う通信部２１と、データ処理を実行するＩＣカード処理部２２から構成されている。
【００４２】
通信部２１は、対応するＩＣカード１が、図１を用いて説明した非接触式共通鍵対応リーダライタ２−１、もしくは非接触式公開鍵対応リーダライタ２−２である場合、非接触式共通鍵対応リーダライタ２−１、もしくは非接触式公開鍵対応リーダライタ２−２と、電磁波を用いて通信するためのコイルを備えている。また、通信部２１は、ＩＣカード１が、図１を用いて説明した非接触式共通鍵対応リーダライタ２−１、および非接触式公開鍵対応リーダライタ２−２のみならず、接触式公開鍵対応リーダライタ２−３との通信にも対応している場合、非接触式共通鍵対応リーダライタ２−１、もしくは非接触式公開鍵対応リーダライタ２−２と、電磁波を用いて通信するためのコイルと、接触式公開鍵対応リーダライタ２−３と通信するための接触端子を備えている。
【００４３】
通信部２１は、リーダライタ２から送信されたデータを受信し、受信したデータが、例えば、ＡＳＫ（Amplitude Shift Keying）やＢＰＳＫ（Binary Phase Shift Keying）を用いて変調されている場合、所定の処理により、受信したデータを復調し、ＩＣカード処理部２２の制御部３１に供給するとともに、ＩＣカード処理部２２の処理により生成されたデータを、制御部３１から供給され、ＡＳＫやＢＰＳＫを用いて変調し、リーダライタ２に送信する。
【００４４】
ＩＣカード処理部２２は、制御部３１、メモリ３２、および暗号処理部３３より構成されている。制御部３１は、通信部２１から供給されたデータに従って、暗号処理部３３を制御し、リーダライタ２との認証処理等に必要な暗号処理を実行させたり、必要に応じて、メモリ３２に記録されているデータを読み込んで、通信部２１を介して、リーダライタ２に送信する。
【００４５】
メモリ３２は、カードＩＤ、サービス登録用の認証鍵Kreg、認証局の公開鍵であるCA_Pubが記録されているメモリ領域４４、図８を用いて後述するService Relation Table（ＳＲＴ）４５、および図６を用いて後述するService Registration Area（ＳＲＡ）４６で構成されている。
【００４６】
暗号処理部３３は、公開鍵処理部４１、共通鍵処理部４２、その他の暗号処理部４３で構成されている。公開鍵処理部４１乃至その他の暗号処理部４３が実行する処理に関する詳細は、図５を用いて後述する。
【００４７】
次に、図４は、ＩＣカード１の、図３と異なる構成を示すブロック図である。なお、図４のＩＣカード１においては、図３における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する（以下、同様）。
【００４８】
ＩＣカード１は、共通鍵サービスに関するリーダライタ２との通信を実行する通信部５１、通信部５１の処理によって得られたデータの処理を実行する共通鍵サービス処理部５２、公開鍵サービスに関するリーダライタ２との通信を実行する通信部５３、通信部５３の処理によって得られたデータの処理を実行する公開鍵サービス処理部５４から構成されている。
【００４９】
通信部５１は、非接触式共通鍵対応リーダライタ２−１と通信を行うためのコイルを備えており、通信部２１と同様に、例えば、ＩＣカード1から送信されるデータが、ＡＳＫやＢＰＳＫを用いて変調されている場合、所定の処理により、受信したデータを復調し、共通鍵サービス処理部５２の制御部６１に供給するとともに、共通鍵サービス処理部５２の処理により生成されたデータを、制御部６１から供給され、ＡＳＫやＢＰＳＫを用いて変調し、リーダライタ２に送信する。
【００５０】
共通鍵サービス処理部５２は、制御部６１、メモリ６２、および暗号処理部６３から構成されている。制御部６１は、通信部５１から供給されたデータに従って、暗号処理部６３を制御し、ＩＣカード１との認証処理等に必要な処理を実行させたり、必要に応じて、メモリ６２に記録されているデータを読み込んで、通信部５１を介して、リーダライタ２に送信する。
【００５１】
メモリ６２は、図３を用いて説明したメモリ３２と同様に、メモリ領域４４、ＳＲＴ４５、およびＳＲＡ４６で構成されている。メモリ領域４４には、カードＩＤ、サービス登録用の認証鍵Kreg、および、モジュール間通信で用いられる共有秘密鍵Ｋ_commonが記録されている。
【００５２】
暗号処理部６３は、共通鍵処理部４２、その他の暗号処理部４３で構成されている。すなわち、共通鍵サービス処理部５２においては、公開鍵に関するサービスを処理しないため、暗号処理部６３には、図３を用いて説明した公開鍵処理部４１は備えられていない。
【００５３】
通信部５３は、非接触式公開鍵対応リーダライタ２−２、あるいは、接触式公開鍵対応リーダライタ２−３と通信を行うためのコイルもしくは接触端子を備えている。通信部５３も、通信部２１と同様に、例えば、ＩＣカード1から送信されるデータが、ＡＳＫやＢＰＳＫを用いて変調されている場合、所定の処理により、受信したデータを復調し、公開鍵サービス処理部５４の制御部６１に供給するとともに、公開鍵サービス処理部５４の処理により生成されたデータを、制御部６１から供給され、ＡＳＫやＢＰＳＫを用いて変調し、リーダライタ２に送信する。
【００５４】
公開鍵サービス処理部５４は、制御部６１、メモリ６２、および暗号処理部３３から構成されている。すなわち、暗号処理部６３に代わって、図３を用いて説明した暗号処理部３３が備えられている以外は、共通鍵サービス処理部と、基本的に同様の構成である。
【００５５】
次に、図５を用いて、公開鍵処理部４１乃至その他の暗号処理部４３について説明する。
【００５６】
図５（Ａ）に示されるように、公開鍵処理部４１には、例えば、ＲＳＡ（Rivest，Shamir，Adleman）公開鍵暗号システムを利用して署名の生成および検証を行うＲＳＡ署名生成・検証部７１や、ＤＳＡ（Digital Signature Algorithm）方式を利用して署名の生成および検証を行うＤＳＡ署名生成・検証部７２が備えられている。
【００５７】
ＲＳＡ署名生成・検証部７１では、２つの鍵によって暗号化と復号を行う。ＲＳＡ暗号系では、２つの鍵は、例えば、次のようにして決められる。
【００５８】
ある２つの大きな素数pとqを選んで、その積n＝pqを求める。そして、（p−1）×（q−1）以下で（p−1）×（q−1）と互いに素な整数eを選び、次の式（１）を満たす整数ｄを求める。
ｅ×d = 1 mod （（p−1）×（q−1））・・・（１）
すると（e，ｎ）が公開鍵、ｄが秘密鍵となる。
【００５９】
文Mを暗号化して、暗号化データＣを生成する場合、次の式（２）を用いる。
Ｃ＝Ｍ e mod ｎ・・・（２）
また、暗号化データＣを復号する場合、次の式（３）を用いる。
Ｍ＝Ｃ d mod ｎ・・・（３）
【００６０】
ＤＳＡ署名生成・検証部７２には、図示しない乱数生成部が備えられている。ＤＳＡは、DLP（Discrete Logarithm Problem;離散対数問題）の困難性をベースとしたElGamal署名を改良して、署名の長さを160bit×2に短縮し、署名鍵の生成等を特定の方法で運用するデジタル署名アルゴリズムである。署名生成において、ハッシュ関数（データ圧縮関数）にSHA‐1（Secure Hash Algorithm‐1）を使うことを前提としている。ＤＳＡ方式は、米国政府機関であるNIST（米国商務省標準技術局：National Institute of Standards and Technology）により、電子署名の標準として開発され、米国連邦情報処理標準（Federal Information Processing Standard）FIPS PUB 186に定められた。
【００６１】
また、図５（Ｂ）に示されるように、共通鍵処理部４２には、例えば、ＤＥＳ（Data Encryption Standard）共通鍵暗号システムによる認証処理を行うＤＥＳ処理部７３、ＲＣ５（Rivest Cipher５）方式による認証処理を行うＲＣ５処理部７４、およびＡＥＳ（Advanced Encryption Standard）方式による認証処理を行うＡＥＳ処理部７５が備えられている。
【００６２】
ＤＥＳ共通鍵暗号システムは、1977年にNISTで制定され、1981年に米国規格協会（ANSI：American National Standards Institute）により標準化された共通鍵暗号システムである。ＤＥＳ共通鍵暗号システムの鍵の認証アルゴリズムは公開されており、共通鍵暗号システムの代表として広く普及している。
【００６３】
ＤＥＳ共通鍵暗号システムは、データを64bit単位に区切って暗号化および復号処理を行う暗号システムである。ＤＥＳアルゴリズムにおいては、暗号化と復号は対称をなしており、受信した暗号文を同じ鍵を使ってもう一度変換すれば元の文章が復元できる。また、ＤＥＳ共通鍵暗号システムでは、簡単なビット位置転置とXOR演算の組み合わせ論理を16回繰り返している。内部的にはデータのフィードバックや条件判断部分がなく、処理が逐次的なので、パイプライン化すれば高速に処理することができる。もともとLSI化することを前提にして決められたアルゴリズムであり、ＤＥＳチップも多く作られている。
【００６４】
ＲＣ５とは、ＲＳＡ Data Security社と、マサチューセッツ工科大学が開発したRCシリーズの共通鍵暗号方式であり、1995年に提案された。ＲＣ５は、可変長ブロックサイズ、可変長の鍵サイズ、および可変長回数（元データや鍵によって、ビット回転の量が変わる、Data-dependent-rotations（データ依存ビット回転）アルゴリズム）のラウンドを有するブロック暗号化方式である。そのブロックサイズとしては、32、64、128ビットをとることが可能であり、ラウンド数は0から255、鍵サイズは0から2048ビットまで可変である。ＲＣ５のアルゴリズムは公開されていて、RFC2040 として入手することが可能である。
【００６５】
また、ＡＥＳ方式は、NISTによって選定作業が行われている、米国政府の次世代標準暗号化方式である。現在標準暗号として用いられているＤＥＳが制定されたのは1977年であり、近年のコンピュータの高性能化、暗号理論の発展に伴い、その信頼性は年々低下している。そこで、NISTはＤＥＳに代わる次世代の暗号標準として、ＡＥＳ候補となる暗号方式を全世界から公募した。世界中から集まった１５の方式が審査を受けており、２１世紀初頭までに決定される予定である。
【００６６】
そして、その他の暗号処理部４３は、例えば、デジタル署名を用いる場合に、メッセージに対して、不可逆的なハッシュ関数を作用させることで、「メッセージダイジェスト」を作成し、メッセージダイジェストを署名鍵により暗号化することによって、デジタル署名を作成する等の、公開鍵処理部４１もしくは共通鍵処理部４２が処理する以外の暗号処理を実行する。その他の暗号処理部４３には、図５（Ｃ）に示されるように、例えば、署名生成および署名検証に用いられるハッシュ関数SHA-1の処理を行うSHA-1処理部７６、および相互認証プロトコルで利用される真性乱数を生成する真性乱数生成部７７が備えられるか、あるいは、図５（Ｄ）に示されるように、署名生成および署名検証に用いられるハッシュ関数ＭＤ５の処理を行うＭＤ５処理部７８、および相互認証プロトコルで利用される擬似乱数（ある有限な桁数の数字の範囲で出来るだけランダムな数字列をもつ人工的な乱数）を生成する擬似乱数生成部７９が備えられている。
【００６７】
デジタル署名においては、公開鍵暗号方式を用いるため、処理速度が遅いことが問題となるが、メッセージダイジェストを作成することによって、デジタル署名作成にかかる時間が削減される。更に、ハッシュ関数は、データの改ざんに対して大きく反応する特性を有していることから、デジタル署名を検証する際に、デジタル署名を検証鍵で復号して取り出したメッセージダイジェストと、送られてきたメッセージ本文にハッシュ関数を作用させて作成したメッセージダイジェストを比較することにより、メッセージ本文が改ざんされていないかどうかを容易に確認することができる。
【００６８】
SHA-1は任意の長さのメッセージから160bitのハッシュ値を生成する一方向ハッシュ関数である。ＤＳＡ同様、NISTが開発したもので、NISTによってFIPS PUB 180 に定められた。標準原案（Ｎ544）は、基本的にFIPS PUB 180に準拠したものとなっている。
【００６９】
そして、ＭＤ５は、広く一般に使われているメッセージダイジェスト関数アルゴリズムのうちの１つで、RFC1321で定義されている。ＭＤ５は、32bitコンピュータ上で効率よく計算できるように、アルゴリズムが決められている。ほかにＭＤ４やＭＤ２という、類似のアルゴリズムもある。
【００７０】
次に、図６を用いて、図３および図４を用いて説明したＩＣカード１のＳＲＡ４６に格納されている情報について説明する。
【００７１】
ＳＲＡ４６は、ＩＣカード１を保有するユーザが、図２を用いて説明した一般リーダライタ２−１２などを用いて、複数のサービスを受けることができるようにするために、それらの複数のサービスを受けるための情報（図２を用いて説明したサービス登録用リーダライタ２−１１を用いて登録された情報）を記録するためのメモリ領域である。
【００７２】
すなわち、ＳＲＡ４６には、そのＩＣカード１に登録されているサービスの情報であるService Individual Info１乃至Ｎが登録されており、それぞれのService Individual Infoには、サービスの種類を識別するためのサービスＩＤ、サービス毎に予め定められた、１つ、もしくは複数の認証用鍵情報（図６におけるService Individual Info kにおいては、１乃至ｎのｎ個の認証用鍵情報）、サービスを受けるために利用されるサービスデータ、および、鍵情報をバージョンアップするための認証鍵Kake_vupと、必要に応じて、認証鍵に対する証明書などが登録されている。
【００７３】
認証用鍵情報には、例えば、認証鍵ＩＤ、鍵のレベルおよびバージョン、認証方式、および、複数の認証鍵を識別するために用いられる識別用認証鍵Kake（必要に応じて、認証鍵に対する証明書）などが含まれる。また、サービスデータには、ユーザＩＤ以外に、Service Individual Info kが、例えば、電子マネーサービスである場合、電子マネーの残高情報や累積ポイント等、Service Individual Info kが、例えば、自動改札サービスである場合、有効区間情報等が格納される。
【００７４】
次に、図７を用いて、図６のService Individual Infoに登録される認証用鍵情報について説明する。
【００７５】
図７（Ａ）においては、領域No．１および領域No．２のそれぞれに対応して、認証鍵ＩＤ、鍵のバージョン、認証方式、識別用認証鍵Kake、および、必要に応じて、証明書データが登録されている。図７（Ａ）のように認証用鍵情報が登録されている場合の認証鍵識別処理については、図２０乃至図２４を用いて後述する。
【００７６】
図７（Ｂ）においては、領域No．１乃至領域No．７のそれぞれに対応して、認証鍵ＩＤ、鍵のレベル、鍵のバージョン、認証方式、識別用認証鍵Kake、および、必要に応じて、証明書データが登録されている。図７（Ｂ）のように、鍵のレベルを含んだ認証用鍵情報が登録されている場合の認証鍵識別処理については、図２７および図２８を用いて後述する。
【００７７】
次に、図８を用いて、図３および図４を用いて説明したＩＣカード１のＳＲＴ４５に格納されている情報について説明する。
【００７８】
ＳＲＴ４５には、ＩＤカード１に複数のサービスが登録されている場合に、あるサービスを行いながら別のサービスのサービスデータに対してアクセスを許可するためのデータが登録されている。ＳＲＴ４５は、ＩＣカード１に登録されているサービスＩＤが記載されている登録サービスＩＤフィールド（図８においては、サービスＩＤＡ乃至Ｊとして記載されている）と、それぞれのサービスＩＤに対応するパーミッション情報が記載されているパーミッション情報フィールドで構成されている。
【００７９】
パーミッション情報の登録サービスＩＤフィールドには、登録されているサービスのサービスＩＤがすべて列挙されている。そして、パーミッション情報フィールドには、対応するサービスが実行されている場合に、登録サービスＩＤフィールドに記載されているサービスにアクセスすることができるサービスＩＤと、どのような処理を行うことを許可するかを示す情報が記載されている。例えば、読み出しおよび書き込みが許可されている場合、パーミッション情報として「ｒｗ」が記載され、読み出しのみ許可されている場合、パーミッション情報として「ｒｏ」が記載され、鍵のバージョンアップが許可されている場合、パーミッション情報として「ｖｕｐ」が記載される。「ｒｗ」と「ｒｏ」は同じサービスＩＤに対して許可されないが、「ｒｗ」と「ｖｕｐ」および「ｒｏ」と「ｖｕｐ」は、同じサービスＩＤに対して許可され、パーミッション情報フィールドに列挙することが可能である。
【００８０】
すなわち、ＳＲＴ４５に、図８に示されるパーミッション情報が登録されている場合、サービスＩＤがＣで示されるサービスの実行中には、サービスＩＤがＢで示されるサービスに対して、読み出し、および書き込みが許可され、更に、サービスＩＤがＤで示されるサービスの実行中においても、サービスＩＤがＢで示されるサービスに対しての読み出しが許可され、サービスＩＤがＥで示されるサービスの実行中に、サービスＩＤがＤで示されるサービスに対して、読み出し、書き込み、および鍵のバージョンアップが許可され、以下、サービスＩＤがＥで示されるサービス、サービスＩＤがＦで示されるサービス、サービスＩＤがＧで示されるサービス、もしくは、サービスＩＤがＩで示されるサービスにおいても、対応するパーミッション情報フィールドに記載されている情報に基づいて、他のサービスＩＤに対応する処理の実行中に、パーミッション情報に対応した処理が許可される。
【００８１】
これらのパーミッション情報の登録は、ＩＣカード１に、対応するサービスを登録する場合に行われる。すなわち、ユーザが、サービス登録用リーダライタ２−１１を用いて、自分自身が保有するＩＣカード１に対して、サービスＩＤがＦで示されるサービスを登録する場合、例えば、サービスＩＤがＧで示されるサービスがすでに登録され、サービスＩＤがＨで示されるサービスが登録されていないならば、登録サービスＩＤフィールドのＦに対応するパーミッション情報フィールドには、サービスＩＤがＧで示されるサービスに対応するパーミッション情報しか登録することができない。そして、ユーザが、サービスＩＤがＨで示されるサービスをＩＤカード１に登録した後、サービスＩＤがＦで示されるサービスをアップデートすることにより、サービスＩＤがＦで示されるサービスに対する、サービスＩＤがＨで示されるサービスのパーミッション情報を登録することができる。
【００８２】
次に、図９は、リーダライタ２の構成を示すブロック図である。
【００８３】
リーダライタ２は、ＩＣカード１との通信を行う通信部９１と、データ処理を実行するリーダライタ処理部９２から構成されている。
【００８４】
通信部９１は、ＩＣカード１との通信方法によって（すなわち、リーダライタ２が、図１を用いて説明した非接触式と接触式のいずれの通信方式を採用しているかによって）、電磁波を用いて通信するためのコイルのみを備えるか、もしくは、電磁波を用いて通信するためのコイル、および接触式により通信するための接触端子を備える構造を有している。
【００８５】
通信部９１は、ＩＣカード１から送信されたデータを受信し、受信したデータが、例えば、ＡＳＫやＢＰＳＫを用いて変調されている場合、所定の処理により、受信したデータを復調し、リーダライタ処理部９２の制御部１０１に供給するとともに、リーダライタ処理部９２の処理により生成されたデータを、制御部１０１から供給され、ＡＳＫやＢＰＳＫを用いて変調し、ＩＣカード１に送信する。
【００８６】
リーダライタ処理部９２は、制御部１０１、暗号処理部１０２、メモリ１０３、通信部１０４、表示部１０５、および入力部１０６より構成されている。制御部１０１は、通信部９１から供給されたデータに従って、暗号処理部１０２を制御し、ＩＣカード１との認証処理等に必要な暗号処理を実行させたり、必要に応じて、メモリ１０３に記録されているデータを読み込んで、通信部９１を介して、ＩＣカード１に送信したり、ユーザが入力部１０６を用いて入力した各種操作に対応した信号や、ネットワークを介して、通信部１０４に入力された制御信号の入力を受け、これらの信号に従って、処理を実行し、その結果を表示部１０５に表示させる。
【００８７】
また、通信部１０４には、ドライブ１１４も接続されており、ドライブ１１４に装着される磁気ディスク１１５、光ディスク１１６、光磁気ディスク１１７、および半導体メモリ１１８などとデータの授受を行ことができる。
【００８８】
暗号処理部１０２は、図３を用いて説明した暗号処理部３３と同様の構成を有しているので、その説明は省略する。
【００８９】
メモリ１０３には、ＩＣカード１と所定の処理を実行するための情報が記憶されている。その情報は、リーダライタ２が、図２を用いて説明した、サービス登録用リーダライタ２−１１乃至バージョンアップ用リーダライタ２−１４のいずれに対応するものであるかによって異なる。図１０乃至図１４を用いて、サービス登録用リーダライタ２−１１乃至バージョンアップ用リーダライタ２−１４のメモリ１０３に記憶されているデータについて説明する。
【００９０】
図１０に示される、サービス登録用リーダライタ２−１１のメモリ１０３には、ＩＣカード１のメモリ３２のＳＲＡ４６にデータを登録もしくは削除する場合に用いられる認証鍵Kregが記憶され（必要に応じて認証鍵の証明書も記憶されている）、ＩＣカード１に登録するための各種サービスに対応するService Individual Info１乃至ｎが記憶されている。
【００９１】
図１１に示される、一般リーダライタ２−１２のメモリ１０３には、この一般リーダライタ２−１２で処理することが可能なサービスに対応するサービスＩＤと、それに対応する認証鍵リスト、および鍵失効情報が記憶されている。また、一般リーダライタ２−１２に、鍵バージョンアップのサービスを可能とさせる場合、一般リーダライタ２−１２のメモリ１０３には、新バージョンの鍵などの情報も、あわせて記憶される。
【００９２】
図１２に示される、モジュール間通信用リーダライタ２−１３のメモリ１０３には、一般リーダライタ２−１２のメモリ１０３に記憶されている情報と同様に、このモジュール間通信用リーダライタ２−１３で処理することが可能なサービスに対応するサービスＩＤと、それに対応する認証鍵リスト、および鍵失効情報が記憶されている。モジュール間通信とは、図１３に示されるように、共通鍵方式および公開鍵方式の２方式に対応するようになされているモジュール間通信用リーダライタ２−１３に、公開鍵モジュール１２１（例えば、図４を用いて説明した、ＩＣカード１の通信部５３および公開鍵サービス処理部５４に対応する）と、共通鍵モジュール１２２（例えば、図４を用いて説明したＩＣカード１の通信部５１および共通鍵サービス処理部５２に対応する）を有するＩＣカード１を装着し、公開鍵モジュール１２１と共通鍵モジュール１２２とのデータの通信を、モジュール間通信用リーダライタ２−１３を介して行うことである。モジュール間通信に関する処理の詳細は、図４８乃至図５１を用いて後述する。
【００９３】
そして、図１４に示される、バージョンアップ用リーダライタ２−１４のメモリ１０３には、装着されたＩＣカード１に登録されているサービスの認証鍵をバージョンアップするための、サービスＩＤと、そのサービスＩＤに対応するバージョンアップ用認証鍵Kake_vupおよび認証鍵Kakeのリストが記憶されている。
【００９４】
ＩＣカード１とリーダライタ２とが通信を行う場合、いくつかの例外となる処理を除いて、はじめに、ＩＣカード１とリーダライタ２が相互認証するために、通信を行うサービスを相互に識別し、そのサービスの認証鍵を相互に識別する必要がある。図１５のフローチャートを参照して、ＩＣカード１とリーダライタ２の相互認証処理について説明する。
【００９５】
まず、ステップＳ１において、リーダライタ２は、必要に応じて、ＩＣカード１と通信して必要なデータの授受を行うことにより、図１６および図１８を用いて後述するリーダライタ２のサービス識別処理を実行する。そして、ステップＳ２において、ＩＣカード１は、必要に応じて、リーダライタ２と通信して必要なデータの授受を行うことにより、図１７および図１９を用いて後述するＩＣカード１のサービス識別処理を実行する。
【００９６】
そして、ステップＳ１のリーダライタ２のサービス識別処理およびステップＳ２のＩＣカード１のサービス識別処理が正常終了した場合、ステップＳ３において、リーダライタ２は、必要に応じて、ＩＣカード１と通信して必要なデータの授受を行うことにより、図２０、図２２および図２７を用いて後述するリーダライタ２の認証鍵識別処理を実行する。そして、ステップＳ４において、ＩＣカード１は、必要に応じて、リーダライタ２と通信して必要なデータの授受を行うことにより、図２１、図２３および図２８を用いて後述するＩＣカード１の認証鍵識別処理を実行する。
【００９７】
次に、図１６のフローチャートを参照して、複数のサービスに対応しているＩＣカード１と、複数のサービスに対応しているリーダライタ２において、ユーザが所望のサービスを入力し、そのサービスの実行が可能か否かを判断することにより、図１５のステップＳ１において実行されるリーダライタ２のサービス識別処理について説明する。
【００９８】
リーダライタ２の制御部１０１は、ステップＳ１１において、ＩＣカード１に対し、通信部９１を介して、ＩＣカード検出コマンドを送信し、ステップＳ１２において、ＩＣカード１からＡＣＫ信号（後述する図１７のステップＳ２２において、ＩＣカード１が送信した信号）を受信したか否かを判断する。ステップＳ１２において、ＡＣＫ信号が受信されていないと判断された場合、ＡＣＫ信号が受信されたと判断されるまで、ステップＳ１２の処理が繰り返される。
【００９９】
ステップＳ１２において、ＡＣＫ信号を受信したと判断された場合（すなわち、ＩＣカード１が、リーダライタ２に装着された場合）、ステップＳ１３において、制御部１０１は、ユーザが入力部１０６を用いて入力した操作を示す信号に従って、または、予め決められたサービスに基づいて、ユーザが希望するサービスに対応するサービスＩＤを、通信部９１を介して、ＩＣカード１に送信する。
【０１００】
ステップＳ１４において、制御部１０１は、ＩＣカード１から送信される信号（後述する図１７のステップＳ２５もしくはステップＳ２６において、ＩＣカード１が送信した信号）を受信する。ステップＳ１５において、制御部１０１は、ステップＳ１４において受信したデータは、ＡＣＫ信号か否かを判断する。ステップＳ１５において、受信した信号がＡＣＫ信号ではない（すなわちＮＡＣＫ信号である）と判断された場合、ステップＳ１６において、制御部１０１は、エラーメッセージに対応するデータを表示部１０５に出力して表示させ、処理を終了する（すなわち、処理は、図１５のステップＳ３には進まない）。ステップＳ１５において、受信した信号がＡＣＫ信号であると判断された場合、処理は、図１５のステップＳ３に進む。
【０１０１】
次に、図１７のフローチャートを参照して、図１５のステップＳ２において、図１６を用いて説明したリーダライタ２のサービス識別処理と並行して実行される、ＩＣカード１のサービス識別処理について説明する。なお、ここでは、図３を用いて説明したＩＣカード１において処理が行われるものとして説明するが、図４を用いて説明したＩＣカード１によって処理が実行される場合においても、基本的に同様の処理が実行される。
【０１０２】
ＩＣカード１の制御部３１は、ステップＳ２１において、図１６のステップＳ１１において、リーダライタ２が送信したＩＣカード検出コマンドを、通信部２１を介して受信し、ステップＳ２２において、リーダライタ２にＡＣＫ信号を送信する。
【０１０３】
制御部３１は、ステップＳ２３において、図１６のステップＳ１３において、リーダライタ２が送信したサービスＩＤを、通信部２１を介して受信し、ステップＳ２４において、受信したサービスＩＤは、ＩＣカード１の対応するモジュール（ここでは、図３を用いて説明したＩＣカード1における処理について説明しているので、ＩＣカード処理部２２のメモリ３２に対応するが、例えば、図4を用いて説明したＩＣカード１の場合、リーダライタ２が対応している方式により、共通鍵サービス処理部５２のメモリ６２あるいは、公開鍵サービス処理部のメモリ６２に対応する）内に登録されているＩＤであるか否か、すなわち、ステップＳ２３において受信したサービスＩＤが、図６を用いて説明したＳＲＡ４６に登録されているか否かを判断する。
【０１０４】
ステップＳ２４において、受信したサービスＩＤが、モジュール内に登録されていると判断された場合、ステップＳ２５において、制御部３１は、通信部２１を介して、リーダライタ２にＡＣＫ信号を送信し、処理は、図１５のステップＳ４に進む。ステップＳ２４において、受信したサービスＩＤが、モジュール内に登録されていないと判断された場合、ステップＳ２６において、制御部３１は、通信部２１を介して、リーダライタ２にＮＡＣＫ信号を送信し、処理が終了される（すなわち、図１５のステップＳ４には進まない）。
【０１０５】
次に、図１８のフローチャートを参照して、複数のサービスに対応しているＩＣカード１と、複数のサービスに対応しているリーダライタ２において、該当するＩＣカード１とリーダライタ２が実行可能なサービスを抽出して、リーダライタ２の表示部１０５に表示させ、それらのサービスの中から、ユーザが所望するサービスを選択させることにより、サービス識別を行う場合における、図１５のステップＳ１において実行される、リーダライタ２のサービス識別処理について説明する。
【０１０６】
リーダライタ２の制御部１０１は、ステップＳ３１において、サービスＩＤリスト送信コマンドを、ＩＣカード１に、通信部９１を介して送信し、ステップＳ３２において、後述する図１９のステップＳ５２において、ＩＣカード１が送信した、サービスＩＤリストを受信したか否かを判断する。ステップＳ３２において、サービスＩＤリストを受信していないと判断された場合、サービスＩＤリストを受信したと判断されるまで、ステップＳ３２の処理が繰り返される。
【０１０７】
ステップＳ３２において、サービスＩＤリストを受信したと判断された場合、ステップＳ３３において、制御部１０１は、受信したサービスＩＤリストに記載されているサービスＩＤは、リーダライタ２が対応しているサービスが含まれているか否か（すなわち、リーダライタ２のメモリ１０３に記憶されているサービスＩＤを含んでいるか否か）を判断する。
【０１０８】
ステップＳ３３において、受信したサービスＩＤリストに、リーダライタ対応サービスが含まれていると判断された場合、ステップＳ３４において、制御部１０１は、サービスＩＤリストに含まれていた対応サービスが複数であるか否かを判断する。ステップＳ３４において、対応サービスが複数ではない（すなわち１つだけである）と判断された場合、処理は、ステップＳ３７に進む。
【０１０９】
ステップＳ３４において、対応サービスが複数であると判断された場合、制御部１０１は、ステップＳ３５において、複数の対応サービスを表示部１０５に表示させるためのデータを生成し、表示部１０５に出力して表示させ、ステップＳ３６において、入力部１０６から、ユーザが希望するサービスの入力を受ける。あるいは、サービスそれぞれに、優先度情報を含ませておき、複数の対応サービスのうちから、優先度の最も高いサービスが自動的に選択されるようにしてもよい。
【０１１０】
ステップＳ３７において、制御部１０１は、ステップＳ３４において、対応サービスがただ１つであると判断された場合は、そのサービスに対応するサービスＩＤを、ステップＳ３４において、対応サービスが複数であると判断された場合は、ステップＳ３６において、ユーザが入力部１０６を用いて入力した希望するサービスに対応するサービスＩＤを、通信部９１を介して、ＩＣカード１に送信し、処理は、図１５のステップＳ３に進む。
【０１１１】
ステップＳ３３において、受信したサービスＩＤリストに、リーダライタ対応サービスが含まれていないと判断された場合、制御部１０１は、ステップＳ３８において、通信部９１を介して、ＩＣカード１にＮＡＣＫ信号を送信し、ステップＳ３９において、図１６のステップＳ１６と同様の処理がなされ、処理が終了される（すなわち、処理は、図１５のステップＳ３には進まない）。
【０１１２】
次に、図１９のフローチャートを参照して、図１５のステップＳ２において、図１８を用いて説明したリーダライタ２のサービス識別処理と並行して実行される、ＩＣカード１のサービス識別処理について説明する。なお、ここでは、図３を用いて説明したＩＣカード１において処理が行われるものとして説明するが、図４を用いて説明したＩＣカード１によって処理が実行される場合においても、基本的に同様の処理が実行される。
【０１１３】
ＩＣカード１の制御部３１は、ステップＳ５１において、リーダライタ２が、図１８のステップＳ３１において送信したサービスＩＤ送信コマンドを、通信部２１を介して受信し、ステップＳ５２において、自分自身が対応しているサービスＩＤリスト（すなわち、メモリ３２のＳＲＡ４６に登録されているサービスＩＤのリスト）を生成して、通信部２１を介して、リーダライタ２に送信する。
【０１１４】
制御部３１は、ステップＳ５３において、リーダライタ２が、図１８のステップＳ３７もしくはステップＳ３８において、ＩＣカード１に送信したデータを、通信部２１を介して受信し、ステップＳ５４において、リーダライタ２から受信したデータはＮＡＣＫ信号か否かを判断する。ステップＳ５４において、受信した信号がＮＡＣＫ信号であると判断された場合（すなわち、受信したデータが、図１８のステップＳ３８において、リーダライタ２がＩＣカード１に送信した信号である場合）、処理が終了される（すなわち、処理は、図１５のステップＳ４には進まない）。
【０１１５】
ステップＳ５４において、リーダライタ２から受信したデータはＮＡＣＫ信号ではないと判断された場合（すなわち、受信したデータが、図１８のステップＳ３７において、リーダライタ２がＩＣカード１に送信したサービスＩＤである場合）、ステップＳ５５において、制御部３１は、リーダライタ２から受信したサービスＩＤは、自分自身のメモリ３２のＳＲＡ４６に登録されているか否か判断する。
【０１１６】
ステップＳ５５において、サービスＩＤが登録されていないと判断された場合、処理が終了される（すなわち、処理は、図１５のステップＳ４には進まない）。ステップＳ５５において、サービスＩＤが登録されていると判断された場合、処理は、図１５のステップＳ４に進む。
【０１１７】
次に、図２０のフローチャートを参照して、図７（Ａ）を用いて説明した認証用鍵情報を用いて認証鍵識別が行われる場合、図１５のステップＳ３において実行される、リーダライタ２の認証鍵識別処理について説明する。
【０１１８】
リーダライタ２の制御部１０１は、ステップＳ６１において、図１５のステップＳ１およびステップＳ２のサービス識別処理により識別されたサービスに対応するサービスＩＤ（ここでは、対応するサービスＩＤを、ＩＤ_Ｓとする）に属する認証鍵のうちの１つに対応する認証鍵ＩＤを、メモリ１０３から読み出し、通信部９１を介して、ＩＣカード１に送信し、ステップＳ６２において、後述する図２１のステップＳ７３もしくはステップＳ７５において、ＩＣカード１が送信するデータを受信する。
【０１１９】
ステップＳ６３において、制御部１０１は、ステップＳ６２において、ＩＣカード１から受信したデータは、ＡＣＫ信号か否かを判断する。ステップＳ６３において、ＡＣＫ信号が受信されたと判断された場合、ステップＳ６４において、制御部１０１は、暗号処理部３３を制御して、ステップＳ６１において、暗号処理部１０２の公開鍵処理部１１１もしくは共通鍵処理部１１２のうち、ＩＣカード１に送信した認証鍵ＩＤに対応する認証鍵を用いて認証処理を行う処理部を選択して制御することにより、ＩＣカード１との相互認証処理および鍵共有処理を開始し、ＩＣカード１とセッション鍵Ksesを共有し、相互認証処理が終了した後、処理が終了される。
【０１２０】
ステップＳ６３において、ＡＣＫ信号が受信されていないと判断された場合（すなわち、ＮＡＣＫ信号を受信したと判断された場合）、ステップＳ６５において、図１６のステップＳ１６と同様の処理がなされ、処理が終了される。
【０１２１】
次に、図２１のフローチャートを参照して、図１５のステップＳ４において、図２０のリーダライタ２の認証鍵識別処理と並行して実行される、ＩＣカード１の認証鍵識別処理について説明する。なお、ここでも、図３を用いて説明したＩＣカード１により、処理が実行される場合について説明するが、図４を用いて説明したＩＣカード１によって処理が実行される場合においても、基本的に同様の処理が実行される。
【０１２２】
ＩＣカード１の制御部３１は、ステップＳ７１において、図２０のステップＳ６１において、リーダライタ２が送信した認証鍵ＩＤを、通信部２１を介して受信し、ステップＳ７２において、ステップＳ７１において受信した認証鍵ＩＤは、メモリ３２のＳＲＡ４６のＩＤ_Ｓに関するデータが記憶されている領域に登録されているか否かを判断する。
【０１２３】
ステップＳ７２において、認証鍵ＩＤが登録されていると判断された場合、制御部３１は、ステップＳ７３において、通信部２１を介して、リーダライタ２にＡＣＫ信号を送信し、ステップＳ７４において、暗号処理部３３の公開鍵処理部４１もしくは共通鍵処理部４２のうち、リーダライタ２に指定された認証鍵による認証処理を行う方を選択して制御することにより、相互認証処理を実行し、リーダライタ２とセッション鍵Ksesを共有し、相互認証処理の終了後、処理が終了される。ステップＳ７２において、認証鍵ＩＤが登録されていないと判断された場合、ステップＳ７５において、制御部３１は、通信部２１を介して、リーダライタ２にＮＡＣＫ信号を送信し、処理が終了される。
【０１２４】
図２０および図２１を用いて説明した処理においては、ＩＣカード１とリーダライタ２は、図１５のステップＳ１およびステップＳ２の処理により識別されたサービスのサービスＩＤに対応する、リーダライタ２が指定した認証鍵により、相互認証を実行する。
【０１２５】
例えば、あるサービスに対して共通鍵および公開鍵の２種類の認証鍵が用意されている場合、共通鍵に基づく認証処理により高速な処理を行うことをデフォルトとし、共通鍵のバージョンが古い場合には、公開鍵に基づいて認証処理を実施するようにしてもよい。
【０１２６】
次に、図２２のフローチャートを参照して、図１５のステップＳ３において実行される、図１５のステップＳ１およびステップＳ２の処理により識別されたサービスのサービスＩＤに対応するサービスに対して、共通鍵および公開鍵の２種類の認証鍵が用意されている場合のリーダライタ２の認証鍵識別処理について説明する。
【０１２７】
リーダライタ２の制御部１０１は、ステップＳ８１において、図１５のステップＳ１およびステップＳ２の処理により識別されたサービスのサービスＩＤに対応する認証鍵の、共通鍵バージョン情報要求コマンドを、通信部９１を介してＩＣカード１に送信し、ステップＳ８２において、後述する図２３のステップＳ９２において、ＩＣカード１が送信した共通鍵バージョン情報を、通信部９１を介して受信する。
【０１２８】
ステップＳ８３において、制御部１０１は、ステップＳ８２において受信した共通鍵バージョン情報を基に、共通鍵バージョンが有効か否かを判断する。ステップＳ８３において、共通鍵バージョンが有効であると判断された場合、ステップＳ８４において、制御部１０１は、ＩＣカード１に、共通鍵による相互認証開始コマンドを送信し、暗号処理部１０２の共通鍵処理部１１２を制御して、共通鍵による相互認証を開始し、ＩＣカード１とセッション鍵Ksesを共有し、相互認証が終了した後、処理が終了される。
【０１２９】
ステップＳ８３において、共通鍵バージョンが有効ではないと判断された場合、ステップＳ８５において、制御部１０１は、ＩＣカード１に、公開鍵による相互認証開始コマンドを送信し、暗号処理部１０２の公開鍵処理部１１１を制御して、公開鍵による相互認証を開始し、ＩＣカード１とセッション鍵Ksesを共有し、相互認証が終了した後、処理が終了される。
【０１３０】
次に、図２３のフローチャートを参照して、図１５のステップＳ４において、図２２を用いて説明したリーダライタ２の認証鍵識別処理と並行して実行される、ＩＣカード１の認証鍵識別処理について説明する。なお、ここでも、図３を用いて説明したＩＣカード１により、処理が実行される場合について説明するが、図４を用いて説明したＩＣカード１によって処理が実行される場合においても、基本的に同様の処理が実行される。
【０１３１】
ＩＣカード１の制御部３１は、ステップＳ９１において、図２２のステップＳ８１において、リーダライタ２が送信した共通鍵バージョン情報要求コマンドを受信し、ステップＳ９２において、共通鍵バージョン情報を、通信部２１を介して、リーダライタ２に送信する。
【０１３２】
制御部３１は、ステップＳ９３において、図２２のステップＳ８４もしくはステップＳ８５において、リーダライタ２が送信した相互認証開始コマンドを受信し、ステップＳ９４において、ステップＳ９３において受信された相互認証開始コマンドは、共通鍵による相互認証開始コマンドであるか否かを判断する。
【０１３３】
ステップＳ９４において、共通鍵による相互認証開始コマンドであると判断された場合、ステップＳ９５において、制御部３１は、暗号処理部３３の共通鍵処理部４２を制御して、共通鍵による相互認証を開始し、リーダライタ２とセッション鍵Ksesを共有し、相互認証が終了した後、処理が終了される。
【０１３４】
ステップＳ９４において、共通鍵による相互認証開始コマンドではない（すなわち、公開鍵による相互認証開始コマンドである）と判断された場合、ステップＳ９６において、制御部３１は、暗号処理部３３の公開鍵処理部４１を制御して、公開鍵による相互認証を開始し、リーダライタ２とセッション鍵Ksesを共有し、相互認証が終了した後、処理が終了される。
【０１３５】
図２２および図２３を用いて説明した処理により、ＩＣカード１とリーダライタ２は、まず、認証速度の速い共通鍵による相互認証を実行しようとし、共通鍵による相互認証が行えない場合（例えば、対応する共通鍵のバージョンが古い場合など）、公開鍵を用いて、相互認証を実行する。
【０１３６】
図２２のステップＳ８５および図２３のステップＳ９６の処理においては、公開鍵による相互認証が行われる。リーダライタ２のメモリ１０３のＳＲＡ４６には、図２４（Ａ）に示されるリーダライタ２の証明書が記憶されている。また、ＩＣカード１のメモリ３２のＳＲＡ４６には、図２４（Ｂ）に示されるＩＣカード１の証明書が記憶されている。
【０１３７】
図２４（Ａ）および図２４（Ｂ）に示されるように、それぞれの証明書には、証明書のバージョン番号、認証局が割り付ける証明書の通し番号、署名に用いたアルゴリズムとパラメータ、認証局の名前、証明書の有効期限、リーダライタ２、あるいはＩＣカード１の名前（ＩＤ）、リーダライタ２の公開鍵Kpsp、あるいはＩＣカード１の公開鍵Kpu、およびメッセージ全体に、図５を用いて説明したような不可逆的なハッシュ関数（データ圧縮関数）を作用させることで、メッセージダイジェストを作成し、メッセージダイジェストを、認証局の秘密鍵Kscaにより暗号化することによって作成された、デジタル署名から構成される。
【０１３８】
次に、図２５のフローチャートを参照して、署名生成処理について説明する。ここでは、楕円曲線暗号方式（楕円ＤＳＡ署名）を用いて、デジタル署名を生成する場合について説明する。ここでは、ＩＣカード１の制御部３１が、公開鍵処理部４１のＤＳＡ署名生成・検証部７２を制御することにより実行される処理について説明するが、リーダライタ２においても、同様の処理が実行されるので、リーダライタ２の処理についての説明は省略する。
【０１３９】
ステップＳ１０１において、制御部３１は、署名生成処理に必要なパラメータを認識する。すなわち、ｐを標数、ａおよびｂを楕円曲線の係数、楕円曲線をｙ2＝ｘ3＋ａｘ＋ｂ、Ｇを楕円曲線上のベースポイント、ｒをＧの位数、Ｍをメッセージ、Ｋｓを秘密鍵、ＧおよびＫｓＧを公開鍵とする。
【０１４０】
公開鍵処理部４１のＤＳＡ署名生成・検証部７２は、ステップＳ１０２において、図示しない乱数生成部で、０＜ｕ＜ｒとなるｕを生成し、ステップＳ１０３において、ステップＳ１０２において生成された乱数ｕを用いて、公開鍵Ｇをｕ倍し、Ｖ＝ｕＧ＝（Xv，Yv）となるＶを算出する。
【０１４１】
ＤＳＡ署名生成・検証部７２は、ステップＳ１０４において、ｃ＝Xv mod ｒを算出し、ステップＳ１０５において、Ｓ１０４の計算結果に基づいて、ｃ＝０であるか否かを判断する。ステップＳ１０５において、ｃ＝０であると判断された場合、処理は、ステップＳ１０２に戻り、それ以降の処理が繰り返される。
【０１４２】
ステップＳ１０５において、ｃ＝０ではないと判断された場合、ＤＳＡ署名生成・検証部７２は、ステップＳ１０６において、メッセージＭのハッシュ値であるｆ＝SHA-1（Ｍ）（ここでは、ハッシュ関数として、SHA-1が用いられる）を算出し、ステップＳ１０７において、ｄ＝[（ｆ＋ｃＫｓ）／ｕ] mod rを計算する。
【０１４３】
ステップＳ１０８において、ＤＳＡ署名生成・検証部７２は、ステップＳ１０７の計算結果に基づいて、ｄ＝０か否かを判断する。ステップＳ１０８において、ｄ＝０であると判断された場合、処理は、ステップＳ１０２に戻り、それ以降の処理が繰り返される。ステップＳ１０８において、ｄ＝０ではないと判断された場合、ステップＳ１０９において、ＤＳＡ署名生成・検証部７２は、署名データを（ｃ，ｄ）とし、処理が終了される。
【０１４４】
このようにしてＩＣカード１において生成されたデジタル署名を受信したリーダライタ２は、受信したデジタル署名を検証する処理を実施する。図２６のフローチャートを参照して、署名検証処理について説明する。ここでは、リーダライタ２の制御部１０１が、公開鍵処理部４１のＤＳＡ署名生成・検証部７２を制御することにより実行される処理について説明するが、ＩＣカード１においても、同様の処理が実行されるので、ＩＣカード１の処理についての説明は省略する。
【０１４５】
ステップＳ１１１において、制御部１０１は、署名生成処理に必要なパラメータを認識する。すなわち、ｐを標数、ａおよびｂを楕円曲線の係数、楕円曲線をｙ2＝ｘ3＋ａｘ＋ｂ、Ｇを楕円曲線上のベースポイント、ｒをＧの位数、Ｍをメッセージ、Ｋｓを秘密鍵、ＧおよびＫｓＧを公開鍵とする。
【０１４６】
公開鍵処理部４１のＤＳＡ署名生成・検証部７２は、ステップＳ１１２において、受信した署名データのｃおよびｄの値に基づいて、０＜ｃ＜ｒかつ０＜ｄ＜ｒであるか否かを判断する。
【０１４７】
ステップＳ１１２において、０＜ｃ＜ｒかつ０＜ｄ＜ｒではないと判断された場合、処理はステップＳ１２０に進む。ステップＳ１１２において、０＜ｃ＜ｒかつ０＜ｄ＜ｒであると判断された場合、ステップＳ１１３において、ＤＳＡ署名生成・検証部７２は、メッセージＭのハッシュ値であるｆ＝SHA-1（Ｍ）を算出し、ステップＳ１１４において、ｈ＝１／ｄ mod ｒを計算する。
【０１４８】
ＤＳＡ署名生成・検証部７２は、ステップＳ１１４において算出されたｈの値を用いて、ステップＳ１１５において、ｈ１＝ｆｈ、ｈ２＝ｃｈ mod ｒを算出し、ステップＳ１１６において、Ｐ＝（Ｘｐ，Ｙｐ）＝ｈ１Ｇ＋ｈ２ＫｓＧを算出する。
【０１４９】
ステップＳ１１７において、ＤＳＡ署名生成・検証部７２は、ステップＳ１１６の算出結果から、Ｐの値が無限遠点であるか否かを判断する。ここでは、Ｐの値が無限遠点である場合、ステップＳ１１６において、ｈ１Ｇ＋ｈ２ＫｓＧの解を得ることができないことに基づいて、Ｐの値が無限遠点であるか否かを判断することが可能である。ステップＳ１１７において、Ｐが無限遠点であると判断された場合、処理は、ステップＳ１２０に進む。
【０１５０】
ステップＳ１１７において、Ｐの値が無限遠点ではないと判断された場合、ステップＳ１１８において、ＤＳＡ署名生成・検証部７２は、ｃ＝Ｘｐ mod ｒが成り立つか否かを判断する。ステップＳ１１８において、ｃ＝Ｘｐ mod ｒが成り立たないと判断された場合、処理は、ステップＳ１２０に進む。
【０１５１】
ステップＳ１１８において、ｃ＝Ｘｐ mod ｒが成り立つと判断された場合、ステップＳ１１９において、ＤＳＡ署名生成・検証部７２は、受信した署名は正しいと判断し、処理が終了される。
【０１５２】
ステップＳ１１２において、０＜ｃ＜ｒかつ０＜ｄ＜ｒではないと判断された場合、ステップＳ１１７において、ｐが無限遠点であると判断された場合、もしくは、ステップＳ１１８において、ｃ＝Ｘｐ mod ｒが成り立たないと判断された場合、ステップＳ１２０において、ＤＳＡ署名生成・検証部７２は、受信した署名は正しくないと判断し、処理が終了される。
【０１５３】
また、図７（Ｂ）を用いて説明した認証用鍵情報を用いて認証鍵識別が行われ、あるサービスに対してレベル分けされた複数の認証鍵が格納されているような場合、低レベルの鍵から優先的に認証処理を開始し、その鍵のバージョンを判定し、その鍵のバージョンが古いとき、より高いレベルの認証鍵を用いて認証処理を行うようにしてもよい。
【０１５４】
次に、図２７のフローチャートを参照して、図１５のステップＳ３において実行される、あるサービスに対してレベル分けされた複数の認証鍵が格納されている場合のリーダライタ２の認証鍵識別処理について説明する。
【０１５５】
リーダライタ２の制御部１０１は、ステップＳ１３１において、通信部９１を介して、鍵レベル交渉コマンドを、ＩＣカード１に送信し、ステップＳ１３２において、後述する図２８のステップＳ１４３において、ＩＣカード１が送信する、レベルＮにおける鍵バージョン情報Ｖを、通信部９１を介して受信する。
【０１５６】
ステップＳ１３３において、制御部１０１は、ステップＳ１３２において受信した鍵バージョン情報ＶのレベルＮは、Ｎ＞０であるか否かを判断する。ステップＳ１３３において、Ｎ＞０ではないと判断された場合、処理はステップＳ１３７に進む。
【０１５７】
ステップＳ１３３において、Ｎ＞０であると判断された場合、ステップＳ１３４において、制御部１０１は、ステップＳ１３２において受信した鍵バージョン情報Ｖに基づいて、レベルＮにおける鍵バージョン情報は有効か否かを判断する。
【０１５８】
ステップＳ１３４において、レベルＮにおける鍵バージョンが有効ではないと判断された場合（すなわち、鍵のバージョンが古いと判断された場合）、ステップＳ１３５において、制御部１０１は、通信部９１を介して、ＩＣカード１にＮＡＣＫ信号を送信し、処理はステップＳ１３２に戻り、それ以降の処理が繰り返される。
【０１５９】
ステップＳ１３４において、レベルＮにおける鍵バージョンは有効であると判断された場合、ステップＳ１３６において、制御部１０１は、通信部９１を介して、ＩＣカード１にＡＣＫ信号を送信し、処理が終了される。
【０１６０】
ステップＳ１３３において、Ｎ＞０ではないと判断された場合、ステップＳ１３７において、図１６のステップＳ１６と同様の処理がなされ、処理が終了される。
【０１６１】
次に、図２８のフローチャートを参照して、図２７を用いて説明したリーダライタ２の認証鍵識別処理と並行して実行される、ＩＣカード１の認証鍵識別処理について説明する。なお、ここでも、図３を用いて説明したＩＣカード１により、処理が実行される場合について説明するが、図４を用いて説明したＩＣカード１によって処理が実行される場合においても、基本的に同様の処理が実行される。
【０１６２】
ＩＣカード１の制御部３１は、ステップＳ１４１において、図２７のステップＳ１３１において、リーダライタ２が送信した鍵レベル交渉コマンドを受信し、ステップＳ１４２において、現在の鍵レベルＮを、Ｎ＝１にセットする。
【０１６３】
制御部３１は、ステップＳ１４３において、現在の鍵レベルＮと、そのレベルにおける鍵バージョン情報Ｖを、通信部２１を介して、リーダライタ２に送信し、ステップＳ１４４において、図２７のステップＳ１３５もしくはステップＳ１３６において、リーダライタ２が送信したデータを受信する。
【０１６４】
ステップＳ１４５において、制御部３１は、ステップＳ１４４において、リーダライタ２から受信した信号は、ＡＣＫ信号であるか否かを判断する。ステップＳ１４５において、リーダライタ２から受信した信号はＡＣＫ信号ではないと判断された場合、制御部３１は、ステップＳ１４６において、Ｎ＝Ｎ＋１とし、ステップＳ１４７において、Ｎの値が所定の最大レベルを超えているか否かを判断する。
【０１６５】
ステップＳ１４７において、Ｎが最大レベルを超えていないと判断された場合、処理はステップＳ１４３に戻り、それ以降の処理が繰り返される。ステップＳ１４７において、Ｎが最大レベルを超えていると判断された場合、ステップＳ１４８において、制御部３１は、現在のレベルをＮ＝０（Ｎ＝０は、例外状態を示すものとする）とし、処理はステップＳ１４３に戻り、それ以降の処理が繰り返される。
【０１６６】
ステップＳ１４５において、リーダライタ２から受信した信号はＡＣＫ信号であると判断された場合、処理が終了される。
【０１６７】
図１５乃至図２８を用いて、ＩＣカード１と、リーダライタ２のサービス識別および認証鍵識別に関する処理について説明したが、例えば、図２を用いて説明したサービス登録用リーダライタ２−１１に、ＩＣカード１を装着し、新たなサービスの登録を実行する場合、およびサービスの削除を実行する場合には、図１０を用いて説明したように、サービス登録用リーダライタ２−１１のメモリ１０３に記憶されているサービス登録用の認証鍵Kregを用いて認証処理を行うため、図１５乃至図２８を用いて説明したような相互認証処理を用いなくてもよい。
【０１６８】
次に、図２９のフローチャートを参照して、サービス登録用リーダライタ２−１１のサービス登録処理について説明する。
【０１６９】
サービス登録用リーダライタ２−１１の制御部１０１は、ステップＳ１５１において、通信部９１を介して、サービス登録コマンドを、ＩＣカード１に送信し、ステップＳ１５２において、ＩＣカード１と、サービス登録用鍵Kregによる相互認証を行い、セッション鍵Ksesを共有する。
【０１７０】
制御部１０１は、ステップＳ１５３において、空き領域確認コマンドを、通信部９１を介してＩＣカード１に送信し、ステップＳ１５４において、後述する図３０のステップＳ１７５もしくはステップＳ１７６においてＩＣカード１から送信されるデータを受信する。
【０１７１】
ステップＳ１５５において、制御部１０１は、ステップＳ１５４において、ＩＣカード１から受信した信号はＡＣＫ信号であるか否かを判断する。ステップＳ１５５において、ＩＣカード１から受信した信号がＡＣＫ信号であると判断された場合、制御部１０１は、ステップＳ１５６において、暗号処理部１０２の共通鍵処理部１１２を制御して、ＩＣカード１のメモリ３２に新たに登録する登録データを、セッション鍵Ksesで暗号化させ、ステップＳ１５７において、暗号化データを、通信部９１を介して、ＩＣカード１に送信する。
【０１７２】
制御部１０１は、ステップＳ１５８において、後述する図３０のステップＳ１８０において、ＩＣカード１が送信したデータ登録完了通知を、通信部９１を介して受信し、ステップＳ１５９において、サービス認証によるサービス削除許可フラグを送信し、処理が終了される。
【０１７３】
ステップＳ１５５において、ＩＣカード１から受信した信号がＡＣＫ信号ではないと判断された場合、ステップＳ１６０において、図１６のステップＳ１６と同様の処理がなされ、処理が終了される。
【０１７４】
次に、図３０のフローチャートを参照して、図２９を用いて説明した、サービス登録用リーダライタ２−１１のサービス登録処理と並行して実行される、ＩＣカード１のサービス登録処理について説明する。なお、ここでも、図３を用いて説明したＩＣカード１により、処理が実行される場合について説明するが、図４を用いて説明したＩＣカード１によって処理が実行される場合においても、基本的に同様の処理が実行される。
【０１７５】
ステップＳ１７１において、ＩＣカード１の制御部３１は、通信部２１を介して、図２９のステップＳ１５１において、サービス登録用リーダライタ２−１１が送信したサービス登録コマンドを受信する。
【０１７６】
制御部３１は、ステップＳ１７２において、ＩＣカード１と、サービス登録用鍵Kregによる相互認証を行い、セッション鍵Ksesを共有し、ステップＳ１７３において、通信部２１を介して、図２９のステップＳ１５３において、サービス登録用リーダライタ２−１１が送信した、空き領域確認コマンドを受信する。
【０１７７】
ステップＳ１７４において、制御部３１は、メモリ３２のＳＲＡ４６に、登録データ用の空き領域があるか否かを判断する。ステップＳ１７４において、空き領域がないと判断された場合、ステップＳ１７５において、制御部３１は、サービス登録用リーダライタ２−１１に、通信部２１を介して、ＮＡＣＫ信号を送信し、処理が終了される。
【０１７８】
ステップＳ１７４において、空き領域があると判断された場合、ステップＳ１７６において、制御部３１は、サービス登録用リーダライタ２−１１に、通信部２１を介して、ＡＣＫ信号を送信する。
【０１７９】
制御部３１は、ステップＳ１７７において、図２９のステップＳ１５７において、サービス登録用リーダライタ２−１１が送信した暗号化データを、通信部２１を介して受信し、ステップＳ１７８において、暗号処理部３３の共通鍵処理部４２を制御して、ステップＳ１７７において受信した暗号化データを、セッション鍵Ksesを用いて復号させる。
【０１８０】
ステップＳ１７９において、制御部３１は、ステップＳ１７８において、セッション鍵Ksesにより復号されたデータを、メモリ３２に供給し、ＳＲＡ４６のService Individual Info領域およびＳＲＴ４５に登録させる。
【０１８１】
制御部３１は、ステップＳ１８０において、データの登録完了を、通信部２１を介して、サービス登録用リーダライタ２−１１に通知し、ステップＳ１８１において、図２９のステップＳ１５９において、サービス登録用リーダライタ２−１１が送信した、サービス認証によるサービス削除許可フラグを受信し、サービス削除許可フラグを、メモリ３２のＳＲＡ４６のService Individual Info領域に設定し、処理が終了される。
【０１８２】
次に、図３１のフローチャートを参照して、サービス登録用リーダライタ２−１１のサービス削除処理について説明する。
【０１８３】
ステップＳ１９１において、サービス登録用リーダライタ２−１１の制御部１０１は、ユーザが、入力部１０６を用いて入力した、削除するサービスに対応するサービスＩＤの入力を受ける（ここでは、対応するサービスＩＤが、ＩＤ_Ｓであるサービスが削除されるものとする）。
【０１８４】
ステップＳ１９２において、図２９のステップＳ１５２と同様の処理がなされる。制御部１０１は、ステップＳ１９３において、通信部９１を介して、ＩＣカード１に、ＩＤ_Ｓ領域削除コマンドを送信し、ステップＳ１９４において、後述する図３２のステップＳ２０５においてＩＣカード１が送信した、エラーメッセージを受信したか否かを判断する。
【０１８５】
ステップＳ１９４において、エラーメッセージを受信したと判断された場合、ステップＳ１９５において、図１６のステップＳ１６と同様の処理がなされ、処理が終了される。ステップＳ１９４において、エラーメッセージを受信しなかったと判断された場合、処理が終了される。
【０１８６】
次に、図３２のフローチャートを参照して、図３１を用いて説明した、サービス登録用リーダライタ２−１１のサービス削除処理と並行して実行される、ＩＣカード１のサービス削除処理について説明する。なお、ここでも、図３を用いて説明したＩＣカード１により、処理が実行される場合について説明するが、図４を用いて説明したＩＣカード１によって処理が実行される場合においても、基本的に同様の処理が実行される。
【０１８７】
ステップＳ２０１において、図３０のステップＳ１７２と同様の処理が実行される。ＩＣカード１の制御部３１は、ステップＳ２０２において、図３１のステップＳ１９３において、サービス登録用リーダライタ２−１１が送信した、ＩＤ_Ｓ領域削除コマンドを受信し、ステップＳ２０３において、ＩＤ_Ｓ領域に対応するデータがあるか否かを確認することなどにより、ステップＳ２０２において受信したＩＤ_Ｓ領域削除コマンドの正当性が検証されたか否かを判断する。
【０１８８】
ステップＳ２０３において、ＩＤ_Ｓ領域削除コマンドの正当性が検証されたと判断された場合、ステップＳ２０４において、制御部３１は、メモリ３２のＳＲＴ４５およびＳＲＡ４６から、ＩＤ_Ｓに対応する領域を削除し、処理が終了される。
【０１８９】
ステップＳ２０３において、ＩＤ_Ｓ領域削除コマンドの正当性が検証されなかったと判断された場合、ステップＳ２０５において、制御部３１は、通信部２１を介して、サービス登録用リーダライタ２−１１に、エラーメッセージを送信し、処理が終了される。
【０１９０】
図３１および図３２を用いて説明したサービス削除処理は、一般リーダライタ２−１２とＩＣカード１とで実行することも可能である。図３３のフローチャートを参照して、一般リーダライタ２−１２のサービス削除処理について説明する。
【０１９１】
ステップＳ２１１において、図１６、もしくは図１８を用いて説明した、リーダライタ２のサービス識別処理が実行され、ステップＳ２１２において、図２０、図２２、もしくは図２７を用いて説明したリーダライタ２の認証鍵識別処理が実行され、ステップＳ２１３において、図３１のステップＳ１９３と同様の処理が実行される。
【０１９２】
ステップＳ２１４において、一般リーダライタ２−１２の制御部１０１は、後述する図３４のステップＳ２２６もしくはステップＳ２２７において、ＩＣカード１が送信する信号を受信する。そして、ステップＳ２１５およびステップＳ２１６において、図１６のステップＳ１５およびステップＳ１６と同様の処理が実行され、処理が終了される。
【０１９３】
次に、図３４のフローチャートを参照して、図３３を用いて説明した、一般リーダライタ２−１２のサービス削除処理と並行して実行される、ＩＣカード１のサービス削除処理について説明する。なお、ここでも、図３を用いて説明したＩＣカード１により、処理が実行される場合について説明するが、図４を用いて説明したＩＣカード１によって処理が実行される場合においても、基本的に同様の処理が実行される。
【０１９４】
ステップＳ２２１において、図１７、もしくは図１９を用いて説明した、ＩＣカード１のサービス識別処理が実行され、ステップＳ２３２において、図２１、図２３、もしくは図２８を用いて説明したＩＣカード１の認証鍵識別処理が実行される。
【０１９５】
ステップＳ２２３において、制御部３１は、図３３のステップＳ２１３において、一般リーダライタ２−１２が送信した、ＩＤ_Ｓ領域削除コマンドを、通信部２１を介して受信する。ステップＳ２２４において、図３２のステップＳ２０３と同様の処理が実行される。ステップＳ２２４において、コマンドの正当性が検証されたと判断された場合、ステップＳ２２５において、図３２のステップＳ２０４と同様の処理がなされ、ステップＳ２２６において、制御部３１は、通信部２１を介して、一般リーダライタ２−１２にＡＣＫ信号を送信し、処理が終了される。
【０１９６】
ステップＳ２２４において、コマンドの正当性が検証されなかったと判断された場合、ステップＳ２２７において、制御部３１は、通信部２１を介して、一般リーダライタ２−１２にＮＡＣＫ信号を送信し、処理が終了される。
【０１９７】
次に、図３５のフローチャートを参照して、ユーザが、一般リーダライタ２−１２で、ＩＣカード１に登録されているサービスを受ける場合に実行される、一般リーダライタ２−１２のサービス取得処理について説明する。
【０１９８】
ステップＳ２３１において、図１６、もしくは図１８を用いて説明した、リーダライタ２のサービス識別処理が実行され、ステップＳ２３２において、図２０、図２２、もしくは図２７を用いて説明したリーダライタ２の認証鍵識別処理が実行される。
【０１９９】
ステップＳ２３３において、一般リーダライタ２−１２の制御部１０１は、通信部９１を介して、ＩＣカード１に、ＩＤ_Ｓ領域のデータ要求コマンドを送信する。
【０２００】
制御部１０１は、ステップＳ２３４において、後述する図３６のステップＳ２４５において、ＩＣカード１から送信されるデータを受信し、ステップＳ２３５において、暗号処理部１０２の共通鍵処理部１１２を制御して、ステップＳ２３４において受信した暗号化データを、セッション鍵Ksesを用いて復号させる。制御部１０１は、復号されたデータを用いて、例えば、電子マネーの減算や加算などの所定のデータ処理を行い、処理が終了される。
【０２０１】
次に、図３６のフローチャートを参照して、図３５を用いて説明した、一般リーダライタ２−１２のサービスデータ取得処理と並行して実行される、ＩＣカード１のサービスデータ取得処理について説明する。なお、ここでも、図３を用いて説明したＩＣカード１により、処理が実行される場合について説明するが、図４を用いて説明したＩＣカード１によって処理が実行される場合においても、基本的に同様の処理が実行される。
【０２０２】
ステップＳ２４１において、図１７、もしくは図１９を用いて説明した、ＩＣカード１のサービス識別処理が実行され、ステップＳ２３２において、図２１、図２３、もしくは図２８を用いて説明したＩＣカード１の認証鍵識別処理が実行される。
【０２０３】
ステップＳ２４３において、ＩＣカード１の制御部３１は、通信部２１を介して、図３５のステップＳ２３３において、一般リーダライタ２−１２が送信した、ＩＤ_Ｓ領域のデータ要求コマンドを受信する。制御部３１は、ステップＳ２４４において、暗号処理部３３の共通鍵処理部４２を制御して、メモリ３２のＩＤ_Ｓに対応する領域に登録しているデータを、セッション鍵Ksesを用いて暗号化させ、ステップＳ２４５において、通信部２１を介して、暗号化したデータを一般リーダライタ２−１２に送信し、処理が終了される。
【０２０４】
また、ＩＣカード１と一般リーダライタ２−１２において、あるサービスに関する情報の授受がなされている場合においても、図８を用いて説明したＳＲＴ４５に、対応するパーミッション情報が記録されている場合、現在情報の授受がなされている以外のサービスに関する情報の授受を行うことが可能である。図３７のフローチャートを参照して、ＩＤ_Ｓ以外のサービスＩＤに対応するサービスの実行中に行われる、一般リーダライタ２−１２のサービスデータ取得処理について説明する。
【０２０５】
ステップＳ２５１乃至ステップＳ２５４において、図３５のステップＳ２３１乃至ステップＳ２３４と同様の処理が実行される。ステップＳ２５５において、一般リーダライタ２−１２の制御部１０１は、ステップＳ２５４において、ＩＣカード１から受信したデータは、ＮＡＣＫ信号か否かを判断する。
【０２０６】
ステップＳ２５５において、受信したデータがＮＡＣＫ信号ではないと判断された場合、ステップＳ２５６において、図３５のステップＳ２３５と同様の処理が実行され、処理が終了される。ステップＳ２５５において、受信したデータがＮＡＣＫ信号であると判断された場合、図１６のステップＳ１６と同様の処理がなされ、処理が終了される。
【０２０７】
次に、図３８のフローチャートを参照して、図３７を用いて説明した、一般リーダライタ２−１２のサービスデータ取得処理と並行して実行される、ＩＣカード１のサービスデータ取得処理について説明する。なお、ここでも、図３を用いて説明したＩＣカード１により、処理が実行される場合について説明するが、図４を用いて説明したＩＣカード１によって処理が実行される場合においても、基本的に同様の処理が実行される。
【０２０８】
ステップＳ２６１乃至ステップＳ２６３において、図３４のステップＳ２４１乃至ステップＳ２４３と同様の処理が実行される。なお、ステップＳ２６１では、サービスＩＤ_Ｓとは異なる、サービスＩＤ_Ｔの認証が行われるものとする。ステップＳ２６４において、ＩＣカード１の制御部３１は、メモリ３２のＳＲＴ４５およびＳＲＡ４６に、ステップＳ２６３において受信したデータ要求コマンドに対応するＩＤ_Ｓ領域が登録されているか否かを判断する。ステップＳ２６４において、ＩＤ_Ｓ領域が登録されていないと判断された場合、処理は、ステップＳ２６９に進む。
【０２０９】
ステップＳ２６４において、ＩＤ_Ｓ領域が登録されていると判断された場合、制御部３１は、ステップＳ２６５において、メモリ３２のＳＲＴ４５の、ＩＤ_Ｓに対応するパーミッション情報フィールドから、ＩＤ_Ｓのパーミッション情報を取得し、ステップＳ２６６において、ＩＤ_Ｔ認証時に、ＩＤ_Ｓのデータの読み込みが許可されているか否かを判断する（すなわち、ＳＲＴ４５のＩＤ_Ｓに対応するパーミッション情報フィールドに、ＩＤ_Ｔによる認証時に、データの読み出し許可、すなわち、ｒｏもしくはｒｗが記載されているか否かを判断する）。ステップＳ２６６において、データの読み込みが許可されていないと判断された場合、処理はステップＳ２６９に進む。
【０２１０】
ステップＳ２６６において、データの読み込みが許可されていると判断された場合、ステップＳ２６７およびステップＳ２６８において、図３６のステップＳ２４４およびステップＳ２４５と同様の処理が実行され、処理が終了される。
【０２１１】
ステップＳ２６４において、ＩＤ_Ｓ領域が登録されていないと判断された場合、もしくは、ステップＳ２６６において、データの読み込みが許可されていないと判断された場合、ステップＳ２６９において、制御部３１は、通信部２１を介して、一般リーダライタ２−１２にＮＡＣＫ信号を送信し、処理が終了される。
【０２１２】
図３５乃至図４８を用いて説明したサービスデータ取得処理によって、ＩＣカード１から一般リーダライタ２−１２にデータが取得され、所定の処理がなされたあと、一般リーダライタ２−１２は、必要に応じて、ＩＣカード１のメモリ３２のＳＲＴ４５もしくはＳＲＡ４６の所定の領域に対して、データを書き込む処理を実行する。
【０２１３】
次に、図３９のフローチャートを参照して、一般リーダライタ２−１２のサービスデータ書き込み処理について説明する。
【０２１４】
ステップＳ２８１において、図１６、もしくは図１８を用いて説明した、リーダライタ２のサービス識別処理が実行され、ステップＳ２８２において、図２０、図２２、もしくは図２７を用いて説明したリーダライタ２の認証鍵識別処理が実行される。
【０２１５】
一般リーダライタ２−１２の制御部１０１は、ステップＳ２８３において、ＩＣカード１のメモリ３２に書き込むために、ＩＣカード１に送信するデータを、暗号処理部１０２の共通鍵処理部１１２を制御して、セッション鍵Ksesを用いて暗号化させ、ステップＳ２８４において、ＩＣカード１に、データ書き込みコマンドと、ステップＳ２８４において暗号化したデータを、通信部９１を介して送信し、処理が終了される。
【０２１６】
次に、図４０のフローチャートを参照して、図３９を用いて説明した、一般リーダライタ２−１２のサービスデータ書き込み処理と並行して実行される、ＩＣカード１のサービスデータ書き込み処理について説明する。なお、ここでも、図３を用いて説明したＩＣカード１により、処理が実行される場合について説明するが、図４を用いて説明したＩＣカード１によって処理が実行される場合においても、基本的に同様の処理が実行される。
【０２１７】
ステップＳ２９１において、図１７、もしくは図１９を用いて説明した、ＩＣカード１のサービス識別処理が実行され、ステップＳ２３２において、図２１、図２３、もしくは図２８を用いて説明したＩＣカード１の認証鍵識別処理が実行される。
【０２１８】
ステップＳ２９３において、制御部３１は、通信部２１を介して、図３９のステップＳ２８４において、一般リーダライタ２−１２が送信した、データ書き込みコマンドと暗号化データを受信する。制御部３１は、ステップＳ２９４において、暗号処理部３３の共通鍵処理部４２を制御して、受信したデータを、セッション鍵Ksesを用いて復号させ、ステップＳ２９５において、復号したデータを、メモリ３２のＳＲＴ４５およびＳＲＡ４６のＩＤ_Ｓに対応するサービス格納領域へ書き込み、処理が終了される。
【０２１９】
また、ＩＣカード１と一般リーダライタ２−１２において、あるサービスに関する情報の授受がなされている場合においても、図８を用いて説明したＳＲＴ４５に、対応するパーミッション情報が記録されている場合、図３７および図３８を用いて説明したサービスデータ取得処理と同様に、現在情報の授受がなされている以外のサービスに関するサービスデータ書き込み処理を実行することが可能である。図４１のフローチャートを参照して、ＩＤ_Ｓ以外のサービスＩＤに対応するサービスの実行中に行われる、一般リーダライタ２−１２のサービスデータ書き込み処理について説明する。
【０２２０】
ステップＳ３０１乃至ステップＳ３０４において、図３９のステップＳ２８１乃至ステップＳ２８４と同様の処理が実行される。そして、ステップＳ３０５およびステップＳ３０６において、図１６のステップＳ１５およびステップＳ１６と同様の処理がなされ、処理が終了される。
【０２２１】
次に、図４２のフローチャートを参照して、図４１を用いて説明した、一般リーダライタ２−１２のサービスデータ書き込み処理と並行して実行される、ＩＣカード１のサービスデータ書き込み処理について説明する。なお、ここでも、図３を用いて説明したＩＣカード１により、処理が実行される場合について説明するが、図４を用いて説明したＩＣカード１によって処理が実行される場合においても、基本的に同様の処理が実行される。
【０２２２】
ステップＳ３１１乃至ステップＳ３１３において、図４０のステップＳ２９１乃至ステップＳ２９３と同様の処理が実行される。なお、ステップＳ３１１では、サービスＩＤ_Ｓとは異なる、サービスＩＤ_Ｔの認証が行われるものとする。ステップＳ３１４およびステップＳ３１５において、図３８のステップＳ２６４およびステップＳ２６５と同様の処理がなされ、ステップＳ３１４において、ＩＤ_Ｓ領域が登録されていないと判断された場合、処理は、ステップＳ３２０に進む。
【０２２３】
ステップＳ３１６において、制御部３１は、ＩＤ_Ｔ認証時に、ＩＤ_Ｓのサービスに対して、データの書き込みが許可されているか否かを判断する（すなわち、ＳＲＴ４５のＩＤ_Ｓに対応するパーミッション情報フィールドに、ＩＤ_Ｔ認証時のデータの書き込み許可、すなわち、ｒｗが記載されているか否かを判断する）。ステップＳ３１６において、データの書き込みが許可されていないと判断された場合、処理はステップＳ３２０に進む。
【０２２４】
ステップＳ３１６において、データの書き込みが許可されていると判断された場合、ステップＳ３１７およびステップＳ３１８において、図４０のステップＳ２９４およびステップＳ２９５と同様の処理が実行される。ステップＳ３１９において、制御部３１は、通信部２１を介して、一般リーダライタ２−１２にＡＣＫ信号を送信し、処理が終了される。
【０２２５】
ステップＳ３１４において、ＩＤ_Ｓ領域が登録されていないと判断された場合、もしくは、ステップＳ３１６において、データの書き込みが許可されていないと判断された場合、ステップＳ３２０において、制御部３１は、通信部２１を介して、一般リーダライタ２−１２にＮＡＣＫ信号を送信し、処理が終了される。
【０２２６】
以上説明したように、一般リーダライタ２−１２に、ＩＣカード１を装着し、各種サービスを受けるためには、サービス毎に定められた共通鍵、もしくは公開鍵を用いて認証処理を行わなければならない。これらの認証鍵は、セキュリティの維持のために、しばしばバージョンアップされる（すなわち、鍵が変更される）。ユーザは、図２を用いて説明したバージョンアップ用リーダライタ２−１４、もしくは一般リーダライタ２−１２に、ＩＣカード１を装着し、図４３乃至図４７を用いて後述する鍵バージョンアップ処理を実行させることにより、自分自身が管理しているＩＣカード１に登録されている認証鍵を、できるだけ最新に近いバージョンの認証鍵にバージョンアップするようにしなければならない。
【０２２７】
次に、図４３を参照して、サービス毎に定められたバージョンアップ用鍵（図６および図１４を用いて説明したバージョンアップ用鍵Kake_vup）を用いて実行される、バージョンアップ用リーダライタ２−１４の鍵バージョンアップ処理について説明する。
【０２２８】
ステップＳ３３１において、図１６、もしくは図１８を用いて説明した、リーダライタ２のサービス識別処理が実行され、ステップＳ３３２において、図２０、図２２、もしくは図２７を用いて説明したリーダライタ２の認証鍵識別処理が実行される。
【０２２９】
ステップＳ３３３において、バージョンアップ用リーダライタ２−１４の制御部１０１は、暗号処理部１０２の共通鍵処理部１１２を制御して、バージョンアップを行う認証鍵に対応する認証鍵ＩＤを、セッション鍵Ksesを用いて暗号化させ、ＩＣカード１に送信する。ステップＳ３３４において、制御部１０１は、後述する図４４のステップＳ３５５もしくはステップＳ３６０において、ＩＣカード１が送信する信号を受信する。
【０２３０】
ステップＳ３３５において、制御部１０１は、ステップＳ３３４においてＩＣカード１から受信した信号はＡＣＫ信号であるか否かを判断する。ステップＳ３３５において、受信した信号がＡＣＫ信号ではないと判断された場合、処理は、ステップＳ３３９に進む。ステップＳ３３５において、受信した信号がＡＣＫ信号であると判断された場合、ステップＳ３３６において、制御部１０１は、バージョンアップを行う認証鍵に対応する最新バージョン情報と、認証鍵Kakeをメモリ１０３から読み出し、暗号処理部１０２の共通鍵処理部１１２を制御して、セッション鍵Ksesを用いて暗号化させ、通信部９１を介して、ＩＣカード１に送信する。
【０２３１】
そして、ステップＳ３３７において、ＩＣカード１が、後述する４４のステップＳ３５９もしくはステップＳ３６０において送信した信号を受信する。ステップＳ３３８において、ステップＳ３３５と同様の処理がなされ、ステップＳ３３８において、受信した信号がＡＣＫ信号であると判断された場合、処理が終了される。ステップＳ３３５およびステップＳ３３８において、受信した信号がＡＣＫ信号ではないと判断された場合、ステップＳ３３９において、図１６のステップＳ１６と同様の処理がなされ、処理が終了される。
【０２３２】
次に、図４４のフローチャートを参照して、図４３を用いて説明した、バージョンアップ用リーダライタ２−１４の鍵バージョンアップ処理と並行して実行される、ＩＣカード１の鍵バージョンアップ処理について説明する。なお、ここでも、図３を用いて説明したＩＣカード１により、処理が実行される場合について説明するが、図４を用いて説明したＩＣカード１によって処理が実行される場合においても、基本的に同様の処理が実行される。
【０２３３】
ステップＳ３５１において、図１７、もしくは図１９を用いて説明した、ＩＣカード１のサービス識別処理が実行され、ステップＳ３５２において、図２１、図２３、もしくは図２８を用いて説明したＩＣカード１の認証鍵識別処理が実行される。
【０２３４】
ステップＳ３５３において、制御部３１は、通信部２１を介して、図４３のステップＳ３３３において、バージョンアップ用リーダライタ２−１４が送信した、暗号化された認証鍵ＩＤを受信し、暗号処理部３３の共通鍵処理部４２を制御して、受信したデータを、セッション鍵Ksesを用いて復号させる。ステップＳ３５４において、制御部３１は、復号したデータを基に、メモリ３２のＳＲＴ４５およびＳＲＡ４６のＩＤ_Ｓに、対応する認証鍵ＩＤが存在するか否かを判断する。ステップＳ３５４において、認証鍵ＩＤが存在しないと判断された場合、処理は、ステップＳ３６０に進む。
【０２３５】
ステップＳ３５４において、認証鍵ＩＤが存在すると判断された場合、制御部３１は、ステップＳ３５５において、通信部２１を介して、バージョンアップ用リーダライタ２−１４に、ＡＣＫ信号を送信し、ステップＳ３５６において、図４３のステップＳ３３６において、バージョンアップ用リーダライタ２−１４が送信した、暗号化された最新バージョン情報と認証鍵Kakeを、通信部２１を介して受信し、暗号処理部３３の共通鍵処理部４２を制御して、受信したバージョン情報を、セッション鍵Ksesを用いて復号させる。
【０２３６】
ステップＳ３５７において、制御部３１は、復号したデータを基に、受信したバージョン情報は正しいか否か（すなわち、自分自身がすでに保有している認証鍵のバージョン情報より新しいバージョンであるか否か）を判断する。ステップＳ３５７において、バージョン情報が正しくないと判断された場合、処理は、ステップＳ３６０に進む。
【０２３７】
ステップＳ３５７において、バージョン情報は正しいと判断された場合、制御部３１は、暗号処理部３３の共通鍵処理部４２を制御して、認証鍵Kakeを、セッション鍵Ksesを用いて復号させ、メモリ３２のＳＲＡ４６における、認証鍵Kakeが記載される領域に書き込み、ステップＳ３５９において、バージョンアップ用リーダライタ２−１４に、通信部２１を介してＡＣＫ信号を送信し、処理が終了される。
【０２３８】
ステップＳ３５４において、認証鍵ＩＤが存在しないと判断された場合、およびステップＳ３５７において、バージョン情報が正しくないと判断された場合、ステップＳ３６０において、制御部３１は、バージョンアップ用リーダライタ２−１４に、通信部２１を介してＮＡＣＫ信号を送信し、処理が終了される。
【０２３９】
また、ＩＣカード１と一般リーダライタ２−１２において、あるサービスに関する情報の授受がなされている場合において、図８を用いて説明したＳＲＴ４５に、対応するパーミッション情報が記録されている場合、図３７および図３８を用いて説明したサービスデータ取得処理や、図４１および図４２を用いて説明したサービスデータ書き込み処理と同様に、現在情報の授受がなされている以外のサービスに関する鍵バージョンアップ処理を実行することが可能である。図４５のフローチャートを参照して、ＩＤ_Ｓ以外のサービスＩＤに対応するサービスの実行中に行われる、一般リーダライタ２−１２の鍵バージョンアップ処理について説明する。
【０２４０】
ステップＳ３７１およびステップＳ３７２において、図４４のステップＳ３３１およびステップＳ３３２と同様の処理が実行される。そして、一般リーダライタ２−１２の制御部１０１は、ステップＳ３７３において、ＩＤ_Ｓに対応するサービスの認証鍵のバージョンアップコマンドを、通信部９１を介してＩＣカード１に送信し、ステップＳ３７４において、後述する図４６のステップＳ３９７もしくは図４７のステップＳ４０５において、ＩＣカード１が送信するデータを受信し、ステップＳ３７５において、ＩＣカード１から受信した信号は、ＡＣＫ信号か否かを判断する。
【０２４１】
ステップＳ３７５において、受信した信号がＡＣＫ信号でないと判断された場合、処理は、ステップＳ３８２に進む。ステップＳ３７５において、受信した信号がＡＣＫ信号であると判断された場合、ステップＳ３７６乃至ステップＳ３８２において、図４３のステップＳ３３３乃至ステップＳ３３９と同様の処理がなされ、処理が終了される。
【０２４２】
次に、図４６および図４７のフローチャートを参照して、図４５を用いて説明した、バージョンアップ用リーダライタ２−１４の鍵バージョンアップ処理と並行して実行される、ＩＣカード１の鍵バージョンアップ処理について説明する。なお、ここでも、図３を用いて説明したＩＣカード１により、処理が実行される場合について説明するが、図４を用いて説明したＩＣカード１によって処理が実行される場合においても、基本的に同様の処理が実行される。
【０２４３】
ステップＳ３９１およびステップＳ３９２において、図４４のステップＳ３５１およびステップＳ３５２と同様の処理が実行される。なお、ステップＳ３９１では、サービスＩＤ_Ｓとは異なる、サービスＩＤ_Ｔの認証が行われるものとする。ステップＳ３９３において、制御部３１は、図４５のステップＳ３７３において、バージョンアップ用リーダライタ２−１４が送信した、ＩＤ_Ｓの認証鍵のバージョンアップコマンドを受信する。
【０２４４】
ステップＳ３９４およびステップＳ３９５において、図３８のステップＳ２６４およびステップＳ２６５と同様の処理がなされ、ステップＳ３９４において、ＩＤ_Ｓ領域が登録されていないと判断された場合、処理は、ステップＳ４０５に進む。
【０２４５】
ステップＳ３９６において、制御部３１は、ＩＤ_Ｔ認証時に、ＩＤ_Ｓの認証鍵のバージョンアップが許可されているか否かを判断する（すなわち、ＳＲＴ４５のＩＤ_Ｓに対応するパーミッション情報フィールドに、ＩＤ_Ｔ認証時のｖｕｐの許可が記載されているか否かを判断する）。ステップＳ３９６において、認証鍵のバージョンアップが許可されていないと判断された場合、処理は、ステップＳ４０５に進む。
【０２４６】
ステップＳ３９６において、認証鍵のバージョンアップが許可されていると判断された場合、ステップＳ３９７において、制御部３１は、通信部２１を介して、バージョンアップ用リーダライタ２−１４に、ＡＣＫ信号を送信する。
【０２４７】
そして、ステップＳ３９８乃至ステップＳ４０５において、図４４のステップＳ３５３乃至ステップＳ３６０と同様の処理が実行され、処理が終了される。
【０２４８】
次に、図４８乃至図５１のフローチャートを参照して、図１３を用いて説明したモジュール間通信について説明する。モジュール間通信は、図４を用いて説明したＩＣカード１と、モジュール間通信用リーダライタ２−１３によって実行される。ここでは、図４を用いて説明したＩＣカード１の通信部５１および共通鍵サービス処理部５２を、図１３を用いて説明した共通鍵モジュール１２２とし、図４を用いて説明した通信部５３および公開鍵サービス処理部５４を、図１３を用いて説明した公開鍵モジュール１２１として説明する。
【０２４９】
まず、図４８のフローチャートを参照して、共通鍵モジュール１２２が、モジュール間通信用リーダライタ２−１３と共有するセッション鍵と、公開鍵モジュール１２１が、モジュール間通信用リーダライタ２−１３と共有するセッション鍵とが異なる場合におけるモジュール間通信について説明する。
【０２５０】
ステップＳ４１１において、モジュール間通信用リーダライタ２−１３は、図１６、もしくは図１８を用いて説明した、リーダライタ２のサービス識別処理を実行し、ステップＳ４１２において、ＩＣカード１の公開鍵モジュール１２１は、図１７、もしくは図１９を用いて説明した、ＩＣカード１のサービス識別処理を実行し、モジュール間リーダライタ２−１３と、公開鍵モジュール１２１の間で、セッション鍵Kses１を共有する。
【０２５１】
ステップＳ４１３において、モジュール間通信用リーダライタ２−１３は、図１６、もしくは図１８を用いて説明した、リーダライタ２のサービス識別処理を実行し、ステップＳ４１４において、ＩＣカード１の共通鍵モジュール１２２は、図１７、もしくは図１９を用いて説明した、ＩＣカード１のサービス識別処理を実行し、モジュール間リーダライタ２−１３と、共通鍵モジュール１２２の間で、セッション鍵Kses２を共有する。
【０２５２】
ステップＳ４１５において、モジュール間通信用リーダライタ２−１３の制御部１０１は、ステップＳ４１１およびステップＳ４１３において実行されたリーダライタ２のサービス識別処理において得られたＩＣカード１のカードＩＤを基に、公開鍵モジュール１２１と、共通鍵モジュール１２２の２つのカードＩＤが一致したか否かを判断する。ステップＳ４１５において、カードＩＤが一致しないと判断された場合、ステップＳ４１６において、図１６のステップＳ１６と同様の処理が実行される。
【０２５３】
ステップＳ４１５において、２つのカードＩＤが一致すると判断された場合、ステップＳ４１７において、モジュール間通信用リーダライタ２−１３の制御部１０１は、モジュールデータ移動コマンドを公開鍵モジュール１２１に送信する。
【０２５４】
公開鍵モジュール１２１の制御部６１は、ステップＳ４１８において、モジュールデータ移動開始コマンドをモジュール間通信用リーダライタ２−１３から受信し、暗号処理部３３の、共通鍵処理部４２を制御して、移動するデータをセッション鍵Kses１で暗号化させ、ステップＳ４１９で、暗号化データをモジュール間通信用リーダライタ２−１３に送信する。
【０２５５】
モジュール間通信用リーダライタ２−１３の制御部１０１は、ステップＳ４２０において、暗号処理部１０２の、共通鍵処理部１１２を制御して、受信したデータをセッション鍵Kses１で復号し、ステップＳ４２１において、データをセッション鍵Kses２で暗号化させ、共通鍵モジュール１２２に送信する。共通鍵モジュール１２２の制御部６１は、ステップＳ４２２において、暗号処理部６３の、共通鍵処理部４２を制御して、受信したデータをセッション鍵Kses２で復号させ、ステップＳ４２３において、復号したデータをメモリ６２の対応する領域に保存して利用する。
【０２５６】
次に、図４９のフローチャートを参照して、共通鍵モジュール１２２が、モジュール間通信用リーダライタ２−１３と共有するセッション鍵と、公開鍵モジュール１２１が、モジュール間通信用リーダライタ２−１３と共有するセッション鍵とが同一である場合におけるモジュール間通信について説明する。
【０２５７】
ステップＳ４３１において、モジュール間通信用リーダライタ２−１３は、図１６、もしくは図１８を用いて説明した、リーダライタ２のサービス識別処理を実行し、ステップＳ４３２において、ＩＣカード１の公開鍵モジュール１２１は、図１７、もしくは図１９を用いて説明した、ＩＣカード１のサービス識別処理を実行し、モジュール間リーダライタ２−１３と、公開鍵モジュール１２１の間で、セッション鍵Kses１を共有する。
【０２５８】
ステップＳ４３３において、モジュール間通信用リーダライタ２−１３は、図１６、もしくは図１８を用いて説明した、リーダライタ２のサービス識別処理を実行し、ステップＳ４３４において、ＩＣカード１の共通鍵モジュール１２２は、図１７、もしくは図１９を用いて説明した、ＩＣカード１のサービス識別処理を実行し、モジュール間リーダライタ２−１３と、共通鍵モジュール１２２の間で、セッション鍵Kses１を共有する。
【０２５９】
ステップＳ４３５乃至ステップＳ４３９において、図４８のステップＳ４１５乃至ステップＳ４１９と同様の処理が実行される。そして、ステップＳ４４０において、モジュール間通信用リーダライタ２−１３の制御部１０１は、受信したデータを、共通鍵モジュール１２２に送信する。図４８のステップＳ４２０およびステップＳ４２１においては、受信したデータをセッション鍵Kses１で復号し、復号したデータをセッション鍵Kses２で暗号化した後に共通鍵モジュール１２２に送信したが、ここでは、共通鍵モジュール１２２も、セッション鍵Kses１を有しているため、これらの処理が必要なくなる。
【０２６０】
共通鍵モジュール１２２の制御部６１は、ステップＳ４１１において、暗号処理部６３を制御して、受信したデータをセッション鍵Kses１で復号し、ステップＳ４２２において、復号したデータをメモリ６２の対応する領域に保存して利用する。
【０２６１】
次に、図５０のフローチャートを参照して、共通鍵モジュール１２２が、モジュール間通信用リーダライタ２−１３と共有するセッション鍵と、公開鍵モジュール１２１が、モジュール間通信用リーダライタ２−１３と共有するセッション鍵とが異なるが、モジュール間通信用リーダライタ２−１３が、共通鍵モジュール１２２が有するセッション鍵を、公開鍵モジュール１２１が有するもう一方のセッション鍵で暗号化し、公開鍵モジュール１２１に供給するようになされている場合におけるモジュール間通信について説明する。
【０２６２】
ステップＳ４５１乃至ステップＳ４５６において、図４８のステップＳ４１１乃至ステップＳ４１６と同様の処理が実行される。すなわち、モジュール間リーダライタ２−１３と、公開鍵モジュール１２１の間で、セッション鍵Kses１が共有され、モジュール間リーダライタ２−１３と、共通鍵モジュール１２２の間で、セッション鍵Kses２が共有される。
【０２６３】
ステップＳ４５７において、モジュール間通信用リーダライタ２−１３の制御部１０１は、暗号処理部１０２を制御して、セッション鍵Kses２を、セッション鍵Kses１で暗号化させ、公開鍵モジュール１２１に送信する。公開鍵モジュール１２１の制御部６１は、暗号処理部３３の共通鍵処理部４２を制御して、受信したデータをセッション鍵Kses１で復号させることにより、セッション鍵Kses２を取り出す。
【０２６４】
ステップS４５９において、図４８のステップＳ４１７と同様の処理が実行される。ステップＳ４６０において、公開鍵モジュール１２１の制御部６１は、移動するデータをセッション鍵Kses２で暗号化し、暗号化データをモジュール間通信用リーダライタ２−１３に送信する。
【０２６５】
ステップＳ４６１において、図４９のステップＳ４４０と同様の処理が実行される。そして、ステップＳ４６２およびステップＳ４６３において、図４８のステップＳ４２２およびＳ４２３と同様の処理が実行される。
【０２６６】
すなわち、図４８のステップＳ４２０およびステップＳ４２１においては、受信したデータをセッション鍵Kses１で復号し、復号したデータをセッション鍵Kses２で暗号化した後に共通鍵モジュール１２２に送信したが、ここでは、図４９を用いて説明した処理と同様に、共通鍵モジュール１２２と、公開鍵モジュール１２１とが、同一のセッション鍵Kses２を得ることができるため、これらの処理を行う必要がない。
【０２６７】
そして、図５１のフローチャートを参照して、公開鍵モジュール１２１と共通鍵モジュール１２２が、共通秘密鍵Ｋ_commonを共有し、それを用いて相互認証を行い、更に、共通のセッション鍵Ksesを共有する場合の、モジュール間通信について説明する。
【０２６８】
ステップＳ４７１およびステップＳ４７２において、公開鍵モジュール１２１と共通鍵モジュール１２２は、共通秘密鍵Ｋ_commonにより、相互認証を行い、セッション鍵Ksesを共有する。ステップＳ４７３において、モジュール間通信用リーダライタ２−１３は、ステップＳ４７１およびステップＳ４７２における相互認証の通信路のみ提供する（すなわち、公開鍵モジュール１２１とも共通鍵モジュール１２２とも、セッション鍵の共有は行われない）。
【０２６９】
ステップＳ４７４において、図４８のステップＳ４１７と同様の処理が実行される。ステップＳ４７５において、公開鍵モジュール１２１の制御部６１は、暗号処理部３３の共通鍵処理部４２を制御して、移動するデータをセッション鍵Ksesで暗号化させ、暗号化データをモジュール間通信用リーダライタ２−１３に送信する。そして、ステップＳ４７６乃至ステップＳ４７８において、図４９のステップＳ４２１乃至ステップＳ４２３と同様の処理が実行される。
【０２７０】
すなわち、図５１を用いて説明したモジュール間通信においては、モジュール間通信用リーダライタ２−１３は、データの通信路を提供するのみで、モジュール間通信されるデータを暗号化したり、復号することはない。
【０２７１】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０２７２】
この記録媒体は、図９に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク１１５（フロッピーディスクを含む）、光ディスク１１６（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク１１７（ＭＤ(Mini-Disk)を含む）、もしくは半導体メモリ１１８などよりなるパッケージメディアなどにより構成される。
【０２７３】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２７４】
【発明の効果】
本発明のデータ記憶装置によれば、所定のリーダライタと一枚のＩＣカードで、共通鍵による認証を行うサービスに関するデータの授受と、公開鍵による認証を行うサービスに関するデータの授受を可能とすることができる。
【０２７５】
本発明の情報処理装置によれば、所定のリーダライタと一枚のＩＣカードで、共通鍵による認証を行うサービスに関するデータの授受と、公開鍵による認証を行うサービスに関するデータの授受を可能とすることができる。
【図面の簡単な説明】
【図１】ＩＣカードとリーダライタの通信方式および認証方式について説明するための図である。
【図２】カード発行者、サービス提供者、およびカード保持者の関係について説明するための図である。
【図３】ＩＣカードの構成を示すブロック図である。
【図４】ＩＣカードの構成を示すブロック図である。
【図５】図３および図４の暗号処理部について説明するための図である。
【図６】図３および図４のＳＲＡについて説明するための図である。
【図７】図６のＳＲＡに格納される認証用鍵情報について説明するための図である。
【図８】図３および図４のＳＲＴについて説明するための図である。
【図９】リーダライタの構成を示すブロック図である。
【図１０】サービス登録用リーダライタのメモリ情報を説明するための図である。
【図１１】一般リーダライタのメモリ情報を説明するための図である。
【図１２】モジュール間通信用リーダライタのメモリ情報を説明するための図である。
【図１３】モジュール間通信を説明するための図である。
【図１４】バージョンアップ用リーダライタのメモリ情報を説明するための図である。
【図１５】ＩＣカードとリーダライタの認証処理について説明するためのフローチャートである。
【図１６】リーダライタのサービス識別処理について説明するためのフローチャートである。
【図１７】ＩＣカードのサービス識別処理について説明するためのフローチャートである。
【図１８】リーダライタのサービス識別処理について説明するためのフローチャートである。
【図１９】ＩＣカードのサービス識別処理について説明するためのフローチャートである。
【図２０】リーダライタの認証鍵識別処理について説明するためのフローチャートである。
【図２１】ＩＣカードの認証鍵識別処理について説明するためのフローチャートである。
【図２２】リーダライタの認証鍵識別処理について説明するためのフローチャートである。
【図２３】ＩＣカードの認証鍵識別処理について説明するためのフローチャートである。
【図２４】証明書について説明するための図である。
【図２５】署名生成処理について説明するためのフローチャートである。
【図２６】署名検証処理について説明するためのフローチャートである。
【図２７】リーダライタの認証鍵識別処理について説明するためのフローチャートである。
【図２８】ＩＣカードの認証鍵識別処理について説明するためのフローチャートである。
【図２９】サービス登録用リーダライタのサービス登録処理について説明するためのフローチャートである。
【図３０】ＩＣカードのサービス登録処理について説明するためのフローチャートである。
【図３１】サービス登録用リーダライタのサービス削除処理について説明するためのフローチャートである。
【図３２】ＩＣカードのサービス削除処理について説明するためのフローチャートである。
【図３３】一般リーダライタのサービス削除処理について説明するためのフローチャートである。
【図３４】ＩＣカードのサービス削除処理について説明するためのフローチャートである。
【図３５】一般リーダライタのサービスデータ取得処理について説明するためのフローチャートである。
【図３６】ＩＣカードのサービスデータ送信処理について説明するためのフローチャートである。
【図３７】一般リーダライタのサービスデータ取得処理について説明するためのフローチャートである。
【図３８】ＩＣカードのサービスデータ送信処理について説明するためのフローチャートである。
【図３９】一般リーダライタのサービスデータ書き込み処理について説明するためのフローチャートである。
【図４０】ＩＣカードのサービスデータ書き込み処理について説明するためのフローチャートである。
【図４１】一般リーダライタのサービスデータ書き込み処理について説明するためのフローチャートである。
【図４２】ＩＣカードのサービスデータ書き込み処理について説明するためのフローチャートである。
【図４３】バージョンアップ用リーダライタの鍵バージョンアップ処理について説明するためのフローチャートである。
【図４４】ＩＣカードの鍵バージョンアップ処理について説明するためのフローチャートである。
【図４５】一般リーダライタの鍵バージョンアップ処理について説明するためのフローチャートである。
【図４６】ＩＣカードの鍵バージョンアップ処理について説明するためのフローチャートである。
【図４７】ＩＣカードの鍵バージョンアップ処理について説明するためのフローチャートである。
【図４８】モジュール間通信処理について説明するためのフローチャートである。
【図４９】モジュール間通信処理について説明するためのフローチャートである。
【図５０】モジュール間通信処理について説明するためのフローチャートである。
【図５１】モジュール間通信処理について説明するためのフローチャートである。
【符号の説明】
１  ＩＣカード１  リーダライタ、  ２１  通信部、  ３１  制御部、  ３２メモリ、  ３３  暗号処理部、  ４１  公開鍵処理部、  ４２  共通鍵処理部、  ４３  その他の暗号処理部、  ４５  ＳＲＴ、  ４６  ＳＲＡ、  ５１  通信部、  ５２  共通鍵サービス処理部、  ５３  通信部、  ５４  公開鍵サービス処理部、  ６１  制御部、  ６２  メモリ、６３  暗号処理部、  ９１  通信部、  １０１  制御部、  １０２  暗号処理部、  １０３  メモリ、  １１１  公開鍵処理部、  １１２  共通鍵処理部、  １１３  その他の暗号処理部、  １０５  表示部、  １０６  入力部、  １２１  公開鍵モジュール、  １２２  共通鍵モジュール
【図１】
0004538909.tif 000002
【図２】
0004538909.tif 000003
【図３】
0004538909.tif 000004
【図４】
0004538909.tif 000005
【図５】
0004538909.tif 000006
【図６】
0004538909.tif 000007
【図７】
0004538909.tif 000008
【図８】
0004538909.tif 000009
【図９】
0004538909.tif 000010
【図１０】
0004538909.tif 000011
【図１１】
0004538909.tif 000012
【図１２】
0004538909.tif 000013
【図１３】
0004538909.tif 000014
【図１４】
0004538909.tif 000015
【図１５】
0004538909.tif 000016
【図１６】
0004538909.tif 000017
【図１７】
0004538909.tif 000018
【図１８】
0004538909.tif 000019
【図１９】
0004538909.tif 000020
【図２０】
0004538909.tif 000021
【図２１】
0004538909.tif 000022
【図２２】
0004538909.tif 000023
【図２３】
0004538909.tif 000024
【図２４】
0004538909.tif 000025
【図２５】
0004538909.tif 000026
【図２６】
0004538909.tif 000027
【図２７】
0004538909.tif 000028
【図２８】
0004538909.tif 000029
【図２９】
0004538909.tif 000030
【図３０】
0004538909.tif 000031
【図３１】
0004538909.tif 000032
【図３２】
0004538909.tif 000033
【図３３】
0004538909.tif 000034
【図３４】
0004538909.tif 000035
【図３５】
0004538909.tif 000036
【図３６】
0004538909.tif 000037
【図３７】
0004538909.tif 000038
【図３８】
0004538909.tif 000039
【図３９】
0004538909.tif 000040
【図４０】
0004538909.tif 000041
【図４１】
0004538909.tif 000042
【図４２】
0004538909.tif 000043
【図４３】
0004538909.tif 000044
【図４４】
0004538909.tif 000045
【図４５】
0004538909.tif 000046
【図４６】
0004538909.tif 000047
【図４７】
0004538909.tif 000048
【図４８】
0004538909.tif 000049
【図４９】
0004538909.tif 000050
【図５０】
0004538909.tif 000051
【図５１】
0004538909.tif 000052