JP4538909B2 - Data storage device and information processing device - Google Patents
Data storage device and information processing device Download PDFInfo
- Publication number
- JP4538909B2 JP4538909B2 JP2000180052A JP2000180052A JP4538909B2 JP 4538909 B2 JP4538909 B2 JP 4538909B2 JP 2000180052 A JP2000180052 A JP 2000180052A JP 2000180052 A JP2000180052 A JP 2000180052A JP 4538909 B2 JP4538909 B2 JP 4538909B2
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- key
- service
- writer
- card
- 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.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、データ記憶装置および情報処理装置に関し、例えば、ICカードと、リーダライタとのデータの授受において、一枚のICカードで、共通鍵による認証を行うサービスに関するデータの授受と、公開鍵による認証を行うサービスに関するデータの授受を可能とするデータ記憶装置および情報処理装置に関する。
【0002】
【従来の技術】
電子マネーシステムや、セキュリティシステムにおいて、IC(Integrated circuit)カードの利用が増加している。ICカードは、各種処理を行うCPU(Central Processing Unit)や、処理に必要なデータなどを記憶するメモリを内蔵しており、所定のリーダライタに電気的に接触させた状態で、または電磁波を利用して非接触で、データの送受信が行われる。なお、リーダライタとの間で、電磁波を利用して非接触でデータの送受信を行うICカードには、一般に、その電磁波により、必要な電力が供給される。
【0003】
ICカードと、リーダライタの認証には、共通鍵方式もしくは公開鍵方式が用いられる。共通鍵方式では、暗号化に使用する鍵と、復号に使用する鍵が同じである。共通鍵暗号を使うには、前もって送信者と受信者の間で共通鍵を共有する必要があるため、暗号化に使用した鍵を、通信路とは別の安全な手段を使って、通信相手に届けておく必要がある(すなわち、ICカードとリーダライタが共通鍵を予め共有していなければならない)。暗号化は、基本的には、文字の順序を入れ換える「転置(転字)」と、一定の規則に従ってある文字を別の文字に置き換える「換字」を組み合わせて行われる。どのような順序で入れ換えるか、どの文字とどの文字が置き換えてあるかを示すのが暗号アルゴリズムと鍵である。暗号化において、文字をずらすための換字暗号や文字の順序を変えるための転置暗号が基本的な暗号変換であり、ずらされる文字数などが鍵となる。
【0004】
公開鍵方式は、暗号システムにおいて、「暗号化鍵」と「復号鍵」という2つの鍵をペアで使い、そのうちの暗号化鍵は公開し、復号鍵は、鍵の発行者が管理して秘密にしておくものである。データを送信する場合は、暗号化鍵を使って通信文を暗号化し、受信した側では復号鍵を使って元に戻す。2つの鍵はある数学的な関係に基づいて決められているので、暗号化鍵から復号鍵を求めるのは不可能ではないが、計算量の点から現実的ではない。
【0005】
公開鍵暗号システムは、従来の共通鍵暗号システムに比べて、暗号化鍵は秘匿する必要がないので、暗号化鍵の配布が容易であり、暗号文を復号するには、各ユーザが個々に持っている復号鍵さえあればよいので、復号鍵を配布する必要がなく、更に、デジタル署名によるメッセージの認証機能を持つ、という利点を有するが、共通鍵暗号システムに比べて、認証処理にかかる時間が長くなる。
【0006】
デジタル署名とは、電子メールやオンライン取り引きなどにおいて、そのメッセージが正当な発信者から発信され、途中で改ざんなどが行なわれていないことを示すための方法である。通常の暗号文通信では、公開鍵で暗号化を行うが、例えば、RSA(Rivest,Shamir,Adleman)公開鍵暗号システムの場合には、逆に、「復号鍵(秘密鍵)で暗号化を行う」とデジタル署名となる。また、他の暗号方式では、署名を付加したいデータに対して、ハッシュ値を取り、それを秘密鍵で暗号化している。
【0007】
この署名を検証するには、公開鍵が用いられる(すなわち、暗号化鍵と復号鍵の役割が入れ換えられる)。公開鍵は広く公開されているので、だれでもその署名の正当性を簡単に検査することができる。もし公開鍵で暗号文を正しく復元することができ、意味のある文が得られれば、それは正しい発信者であると確認することができる。なぜなら、秘密鍵(署名を行った鍵)を知っているのは正規の発信者だけであり、公開鍵で復元できるようなデジタル署名を作成するには、そのペアとなる秘密鍵を知らなければいけないからである。また、データが改ざんされた場合、データは正しく復号することができなくなるため、改ざんの防止・検出にも利用することができる。署名の検証は、公開鍵を用いて復号した値と、別途、データから計算しなおしたハッシュ値とを比較することにより実行され、一致していれば、データは改ざんされていないと判断され、一致していなければ、データの改ざんが行われたと判断される。
【0008】
また、データの発行元が信頼のおける組織であることを証明するための証明書を発行することを目的とした第3者の組織を、認証局(CA(Certificate Authority))という。
【0009】
【発明が解決しようとする課題】
従来、例えば、ICカードを用いて駅の改札を利用したり、ICカードを用いて入室許可の認証を行う場合などの、共通鍵を用いた認証を行うサービスと、例えば、ICカードを用いて、商品の代金を支払う電子マネーサービスなどの、公開鍵を用いた認証を行うサービスを受ける場合、ユーザは、異なるICカードを保有する必要があった。すなわち、認証方法が異なるサービスは、同一のICカードで利用することができなかった。
【0010】
本発明はこのような状況に鑑みてなされたものであり、所定のリーダライタとの間で、一枚のICカードで、共通鍵による認証を行うサービスに関するデータの授受と、公開鍵による認証を行うサービスに関するデータの授受を可能とするものである。
【0011】
【課題を解決するための手段】
本発明のデータ記憶装置は、接触式および非接触式のいずれの通信方式の情報処理装置にも対応可能であって、情報処理装置に対する、入出力データの変調及び復調を制御し、情報処理装置からの所定のサービスを識別するための情報の入力を制御する第1の制御手段と、所定のサービスに対応するデータであって、所定のサービスの認証に必要な認証鍵である第1の認証鍵と第2の認証鍵のうちの少なくとも一方、および、所定のサービスを識別するための情報の記憶を制御する第2の制御手段と、認証鍵のうち、第1の認証鍵を用いた認証処理を実行する第1の認証処理実行手段と、認証鍵のうち、第2の認証鍵を用いた認証処理を実行する第2の認証処理実行手段と、第1の制御手段により入力が制御された所定のサービスを識別するための情報に基づいて、第1の認証処理実行手段と第2の認証処理実行手段のいずれかを制御して、情報処理装置との認証処理を実行させる第3の制御手段と、第1の認証鍵または第2の認証鍵の所定のサービスに対するレベルを選択する選択手段とを備え、第2の制御手段により記憶が制御されたデータには、所定のサービスの認証に必要な所定のバージョンの第1の認証鍵または第2の認証鍵が、複数のレベルで用意されており、第1の制御手段は、選択手段により選択されたレベルの第1の認証鍵または第2の認証鍵のバージョンに関する第1の情報の出力を制御するとともに、情報処理装置からの、バージョンに基づいて判定されたレベルによる認証処理を許可するか否かを示す第2の情報の入力を制御し、そのレベルによる認証処理が許可されなかった場合、選択手段は、第1の認証鍵または第2の認証鍵の異なるレベルを新たに選択し、第1の制御手段は、選択手段により新たに選択されたレベルの第1の認証鍵または第2の認証鍵の前記バージョンに関する第1の情報の出力を制御し、レベルによる認証処理が許可された場合、第3の制御手段は、第1の制御手段により入力が制御された第2の情報に基づいて、第1の認証処理実行手段と第2の認証処理実行手段のいずれかを制御して、情報処理装置との認証処理を実行させることを特徴とする。
【0018】
本発明の情報処理装置は、接触式および非接触式のいずれの通信方式のデータ記憶装置にも対応可能であって、データ記憶装置に対する、入出力データの変調及び復調を制御し、データ記憶装置への所定のサービスを識別するための情報の出力を制御する第1の制御手段と、所定のサービスに対応するデータであって、所定のサービスの認証に必要な認証鍵である複数のレベルの複数のバージョンの第1の認証鍵と第2の認証鍵のうちの少なくとも一方、および、所定のサービスを識別するための情報の記憶を制御する第2の制御手段と、所定のサービスに対応する情報を表示する表示手段と、ユーザによる所定のサービスの選択を示す信号の入力を受ける入力手段と、認証鍵のうち、第1の認証鍵を用いた認証処理を実行する第1の認証処理実行手段と、認証鍵のうち、第2の認証鍵を用いた認証処理を実行する第2の認証処理実行手段と、第1の認証処理実行手段、第2の認証処理実行手段、および第2の制御手段の処理を制御する第3の制御手段と、第1の制御手段により入力が制御される、データ記憶装置からの、所定のサービスに対する所定のレベルの第1の認証鍵もしくは第2の認証鍵のバージョンに関する第1の情報に基づいて、認証処理を許可するか否かを判断する判断手段とを備え、第1の認証処理実行手段もしくは第2の認証処理実行手段により認証が可能な所定のサービスが複数ある場合、表示手段は、認証が可能な複数の所定のサービスに対応する情報を表示し、第3の制御手段は、入力手段により入力される所定のサービスの選択を示す信号に基づいて、第1の認証処理実行手段と第2の認証処理実行手段のいずれかを制御して、判断手段により認証処理が許可されたレベルのバージョンの第1の認証鍵または第2の認証鍵でデータ記憶装置との認証処理を実行させ、第1の制御手段は、判断手段による判断結果に従って、レベルによる認証処理を許可するか否かを示す第2の情報の、データ記憶装置への出力を制御することを特徴とする。
【0026】
本発明のデータ記憶装置においては、接触式および非接触式のいずれの通信方式の情報処理装置にも対応可能であって、情報処理装置に対する、入出力データの変調及び復調が制御され、情報処理装置からの所定のサービスを識別するための情報の入力が制御され、所定のサービスに対応するデータであって、所定のサービスの認証に必要な認証鍵である第1の認証鍵と第2の認証鍵のうちの少なくとも一方、および、所定のサービスを識別するための情報の記憶が制御され、認証鍵のうち、第1の認証鍵を用いた認証処理が実行され、認証鍵のうち、第2の認証鍵を用いた認証処理が実行され、入力が制御された所定のサービスを識別するための情報に基づいて、第1の認証鍵を用いた認証処理と第2の認証鍵を用いた認証処理のいずれかが制御されて、情報処理装置との認証処理が実行される。また、第1の認証鍵または第2の認証鍵の所定のサービスに対するレベルが選択され、記憶が制御されたデータには、所定のサービスの認証に必要な所定のバージョンの第1の認証鍵または第2の認証鍵が、複数のレベルで用意されており、選択されたレベルの第1の認証鍵または第2の認証鍵のバージョンに関する第1の情報の出力が制御されるとともに、情報処理装置からの、バージョンに基づいて判定されたレベルによる認証処理を許可するか否かを示す第2の情報の入力が制御され、そのレベルによる認証処理が許可されなかった場合、第1の認証鍵または第2の認証鍵の異なるレベルが新たに選択され、新たに選択されたレベルの第1の認証鍵または第2の認証鍵のバージョンに関する第1の情報の出力が制御され、そのレベルによる認証処理が許可された場合、入力が制御された第2の情報に基づいて、第1の認証鍵を用いた認証処理と第2の認証鍵を用いた認証処理のいずれかが制御されて、情報処理装置との認証処理が実行される。
【0027】
本発明の情報処理装置においては、接触式および非接触式のいずれの通信方式のデータ記憶装置にも対応可能であって、データ記憶装置に対する、入出力データの変調及び復調が制御され、データ記憶装置への所定のサービスを識別するための情報の出力が制御され、所定のサービスに対応するデータであって、所定のサービスの認証に必要な認証鍵である複数のレベルの複数のバージョンの第1の認証鍵と第2の認証鍵のうちの少なくとも一方、および、所定のサービスを識別するための情報の記憶が制御され、所定のサービスに対応する情報が表示され、ユーザによる所定のサービスの選択を示す信号の入力が受けられ、認証鍵のうち、第1の認証鍵を用いた認証処理が実行され、認証鍵のうち、第2の認証鍵を用いた認証処理が実行され、第1の認証鍵を用いた認証処理、第2の認証鍵を用いた認証処理、および所定のサービスに対応するデータであって、所定のサービスの認証に必要な第1の認証鍵と第2の認証鍵のうちの少なくとも一方、および、所定のサービスを識別するための情報の記憶が制御する制御される。また、第1の認証鍵を用いた認証処理もしくは第2の認証鍵を用いた認証処理により認証が可能な所定のサービスが複数ある場合、認証が可能な複数の所定のサービスに対応する情報が表示され、入力される所定のサービスの選択を示す信号に基づいて、第1の認証鍵を用いた認証処理と第2の認証鍵を用いた認証処理のいずれかが制御されて、データ記憶装置との認証処理が実行される。さらに、入力が制御される、データ記憶装置からの、所定のサービスに対する所定のレベルの第1の認証鍵または第2の認証鍵のバージョンに関する第1の情報に基づいて、認証処理を許可するか否かが判断され、その判断結果に従って、そのレベルによる認証処理を許可するか否かを示す第2の情報の、データ記憶装置への出力が制御される。
【0028】
【発明の実施の形態】
以下、図を参照して、本発明の実施の形態について説明する。
【0029】
図1に、ICカードとリーダライタの関係を示す。ICカード1は、共通鍵方式による認証と、公開鍵方式による認証の両方の認証サービスに対応することが可能である(それぞれの認証方法については後述する)。非接触式共通鍵対応リーダライタ2−1は、ICカード1と非接触で通信を行い、共通鍵方式で認証を行う。非接触式公開鍵対応リーダライタ2−2は、ICカード1と非接触で通信を行い、公開鍵方式で認証を行う。接触式公開鍵対応リーダライタ2−3は、接触して通信を行い、公開鍵方式で通信を行う。
【0030】
例えば、ICカード1に定期券や運賃の支払いを行うことができるプリペイドカードなどのサービスを提供する情報が含まれており、ICカード1を用いて駅の改札を利用する場合や、ICカード1に、IDカードとしての機能が含まれており、ICカード1を用いて入室許可の認証を行う場合などの、短い処理時間が求められる処理においては、非接触式共通鍵対応リーダライタ2−1を用いて、共通鍵による非接触の通信が行われる。
【0031】
例えば、ICカード1に、電子マネーのサービスを提供する情報が含まれており、店舗などでユーザが購買した商品の清算の処理を行う場合などは、公開鍵方式により認証が行われ、認証処理に時間がかかる。このため、処理時間を特に気にしないような場合は、非接触式公開鍵対応リーダライタ2−2を用いて、非接触で通信を行ってもよいし、処理時間を短縮するために、接触式公開鍵対応リーダライタ2−3を用いて、接触して通信を行うようにしてもよい。
【0032】
図1においては、非接触式共通鍵対応リーダライタ2−1乃至接触式公開鍵対応リーダライタ2−3を、個別のリーダライタとして説明しているが、必要に応じて、1つのリーダライタで、複数の通信方法や複数の認証方法を用いることができるようにしてもよい。
【0033】
次に、図2を用いて、カード発行者、サービス提供者、およびカード保持者について説明する。
【0034】
カード発行者11は、サービス提供者12に、ICカード1を保有するカード保持者13に対して、ICカード1を用いたサービスの提供を行うことを認可し、ICカード1の発行を希望したカード保持者13に対して、ICカード1を発行する。
【0035】
カード発行者11から、サービスの認可を受けたサービス提供者12は、カード発行者11が有するサービス登録用リーダライタ2−11に、自分自身がカード保持者13に提供するサービスに対応するデータ(図6を用いて後述するService Individual Info)を登録する。この登録については、例えば、サービス提供者12が有する図示しないパーソナルコンピュータなどから、インターネットなどを介して、サービス登録用リーダライタ2−11に登録するようにしてもよいし、オペレータが手動で登録するようにしてもよい。
【0036】
カード保持者13は、サービス登録用リーダライタ2−11を用いて、カード発行者11から発行されたICカード1に、希望するサービスを登録させることができる。サービス登録用リーダライタ2−11と、ICカード1のサービス登録処理については、図29および図30を用いて後述する。
【0037】
そして、カード保持者13は、自分自身のICカード1に登録されているサービスの削除を行いたい場合、カード発行者11が管理するサービス登録用リーダライタ2−11、もしくは、サービス提供者12が管理する一般リーダライタ2−12を用いて、自分自身のICカード1から、サービスを削除させることができる。ICカード1とサービス登録用リーダライタ2−11のサービス削除処理については、図31および図32、ICカード1と一般リーダライタ2−12のサービス削除処理については、図33および図34を用いて後述する。
【0038】
また、カード保持者13は、例えば、ICカード1に、電子マネーサービスとプリペイドサービスが登録されており、それぞれの価値情報が、ICカード1のそれぞれのサービスに関する情報に記録されている状況で、電子マネーの価値の一部を、プリペイドの価値へ置き換えたい場合、サービス提供者12が管理するモジュール間通信用リーダライタ2−13を用いて、自分自身のICカード1の、図13を用いて後述する公開鍵モジュールと共通鍵モジュールの間で、モジュール間通信を実行させることができる。モジュール間通信用リーダライタ2−13は、共通鍵方式と、公開鍵方式の2方式に対応するようになされている。ICカード1とモジュール間通信用リーダライタ2−13との処理については、図48乃至図51を用いて後述する。
【0039】
更に、カード保持者13は、失効してしまった認証鍵の更新(バージョンアップ)を行いたい場合、サービス提供者12が管理する一般リーダライタ2−12、もしくは、バージョンアップ用リーダライタ2−14を用いて、自分自身のICカード1に登録されている認証鍵のバージョンアップを行わせることができる。ICカード1とバージョンアップ用リーダライタ2−14との鍵バージョンアップ処理については、図43および44を用いて、ICカード1と一般リーダライタ2−12との鍵バージョンアップ処理については、図45乃至47を用いて後述する。
【0040】
図3は、ICカード1の構成を示すブロック図である。
【0041】
ICカード1は、リーダライタ2(リーダライタ2−1乃至2−3、もしくはリーダライタ2−11乃至2−14を特に区別する必要のない場合については、これらを総称して、リーダライタ2と称するものとする)との通信を行う通信部21と、データ処理を実行するICカード処理部22から構成されている。
【0042】
通信部21は、対応するICカード1が、図1を用いて説明した非接触式共通鍵対応リーダライタ2−1、もしくは非接触式公開鍵対応リーダライタ2−2である場合、非接触式共通鍵対応リーダライタ2−1、もしくは非接触式公開鍵対応リーダライタ2−2と、電磁波を用いて通信するためのコイルを備えている。また、通信部21は、ICカード1が、図1を用いて説明した非接触式共通鍵対応リーダライタ2−1、および非接触式公開鍵対応リーダライタ2−2のみならず、接触式公開鍵対応リーダライタ2−3との通信にも対応している場合、非接触式共通鍵対応リーダライタ2−1、もしくは非接触式公開鍵対応リーダライタ2−2と、電磁波を用いて通信するためのコイルと、接触式公開鍵対応リーダライタ2−3と通信するための接触端子を備えている。
【0043】
通信部21は、リーダライタ2から送信されたデータを受信し、受信したデータが、例えば、ASK(Amplitude Shift Keying)やBPSK(Binary Phase Shift Keying)を用いて変調されている場合、所定の処理により、受信したデータを復調し、ICカード処理部22の制御部31に供給するとともに、ICカード処理部22の処理により生成されたデータを、制御部31から供給され、ASKやBPSKを用いて変調し、リーダライタ2に送信する。
【0044】
ICカード処理部22は、制御部31、メモリ32、および暗号処理部33より構成されている。制御部31は、通信部21から供給されたデータに従って、暗号処理部33を制御し、リーダライタ2との認証処理等に必要な暗号処理を実行させたり、必要に応じて、メモリ32に記録されているデータを読み込んで、通信部21を介して、リーダライタ2に送信する。
【0045】
メモリ32は、カードID、サービス登録用の認証鍵Kreg、認証局の公開鍵であるCA_Pubが記録されているメモリ領域44、図8を用いて後述するService Relation Table(SRT)45、および図6を用いて後述するService Registration Area(SRA)46で構成されている。
【0046】
暗号処理部33は、公開鍵処理部41、共通鍵処理部42、その他の暗号処理部43で構成されている。公開鍵処理部41乃至その他の暗号処理部43が実行する処理に関する詳細は、図5を用いて後述する。
【0047】
次に、図4は、ICカード1の、図3と異なる構成を示すブロック図である。なお、図4のICカード1においては、図3における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する(以下、同様)。
【0048】
ICカード1は、共通鍵サービスに関するリーダライタ2との通信を実行する通信部51、通信部51の処理によって得られたデータの処理を実行する共通鍵サービス処理部52、公開鍵サービスに関するリーダライタ2との通信を実行する通信部53、通信部53の処理によって得られたデータの処理を実行する公開鍵サービス処理部54から構成されている。
【0049】
通信部51は、非接触式共通鍵対応リーダライタ2−1と通信を行うためのコイルを備えており、通信部21と同様に、例えば、ICカード1から送信されるデータが、ASKやBPSKを用いて変調されている場合、所定の処理により、受信したデータを復調し、共通鍵サービス処理部52の制御部61に供給するとともに、共通鍵サービス処理部52の処理により生成されたデータを、制御部61から供給され、ASKやBPSKを用いて変調し、リーダライタ2に送信する。
【0050】
共通鍵サービス処理部52は、制御部61、メモリ62、および暗号処理部63から構成されている。制御部61は、通信部51から供給されたデータに従って、暗号処理部63を制御し、ICカード1との認証処理等に必要な処理を実行させたり、必要に応じて、メモリ62に記録されているデータを読み込んで、通信部51を介して、リーダライタ2に送信する。
【0051】
メモリ62は、図3を用いて説明したメモリ32と同様に、メモリ領域44、SRT45、およびSRA46で構成されている。メモリ領域44には、カードID、サービス登録用の認証鍵Kreg、および、モジュール間通信で用いられる共有秘密鍵K_commonが記録されている。
【0052】
暗号処理部63は、共通鍵処理部42、その他の暗号処理部43で構成されている。すなわち、共通鍵サービス処理部52においては、公開鍵に関するサービスを処理しないため、暗号処理部63には、図3を用いて説明した公開鍵処理部41は備えられていない。
【0053】
通信部53は、非接触式公開鍵対応リーダライタ2−2、あるいは、接触式公開鍵対応リーダライタ2−3と通信を行うためのコイルもしくは接触端子を備えている。通信部53も、通信部21と同様に、例えば、ICカード1から送信されるデータが、ASKやBPSKを用いて変調されている場合、所定の処理により、受信したデータを復調し、公開鍵サービス処理部54の制御部61に供給するとともに、公開鍵サービス処理部54の処理により生成されたデータを、制御部61から供給され、ASKやBPSKを用いて変調し、リーダライタ2に送信する。
【0054】
公開鍵サービス処理部54は、制御部61、メモリ62、および暗号処理部33から構成されている。すなわち、暗号処理部63に代わって、図3を用いて説明した暗号処理部33が備えられている以外は、共通鍵サービス処理部と、基本的に同様の構成である。
【0055】
次に、図5を用いて、公開鍵処理部41乃至その他の暗号処理部43について説明する。
【0056】
図5(A)に示されるように、公開鍵処理部41には、例えば、RSA(Rivest,Shamir,Adleman)公開鍵暗号システムを利用して署名の生成および検証を行うRSA署名生成・検証部71や、DSA(Digital Signature Algorithm)方式を利用して署名の生成および検証を行うDSA署名生成・検証部72が備えられている。
【0057】
RSA署名生成・検証部71では、2つの鍵によって暗号化と復号を行う。RSA暗号系では、2つの鍵は、例えば、次のようにして決められる。
【0058】
ある2つの大きな素数pとqを選んで、その積n=pqを求める。そして、(p−1)×(q−1)以下で(p−1)×(q−1)と互いに素な整数eを選び、次の式(1)を満たす整数dを求める。
e×d = 1 mod ((p−1)×(q−1))・・・(1)
すると(e,n)が公開鍵、dが秘密鍵となる。
【0059】
文Mを暗号化して、暗号化データCを生成する場合、次の式(2)を用いる。
C=M e mod n・・・(2)
また、暗号化データCを復号する場合、次の式(3)を用いる。
M=C d mod n・・・(3)
【0060】
DSA署名生成・検証部72には、図示しない乱数生成部が備えられている。DSAは、DLP(Discrete Logarithm Problem;離散対数問題)の困難性をベースとしたElGamal署名を改良して、署名の長さを160bit×2に短縮し、署名鍵の生成等を特定の方法で運用するデジタル署名アルゴリズムである。署名生成において、ハッシュ関数(データ圧縮関数)にSHA‐1(Secure Hash Algorithm‐1)を使うことを前提としている。DSA方式は、米国政府機関であるNIST(米国商務省標準技術局:National Institute of Standards and Technology)により、電子署名の標準として開発され、米国連邦情報処理標準(Federal Information Processing Standard)FIPS PUB 186に定められた。
【0061】
また、図5(B)に示されるように、共通鍵処理部42には、例えば、DES(Data Encryption Standard)共通鍵暗号システムによる認証処理を行うDES処理部73、RC5(Rivest Cipher5)方式による認証処理を行うRC5処理部74、およびAES(Advanced Encryption Standard)方式による認証処理を行うAES処理部75が備えられている。
【0062】
DES共通鍵暗号システムは、1977年にNISTで制定され、1981年に米国規格協会(ANSI:American National Standards Institute)により標準化された共通鍵暗号システムである。DES共通鍵暗号システムの鍵の認証アルゴリズムは公開されており、共通鍵暗号システムの代表として広く普及している。
【0063】
DES共通鍵暗号システムは、データを64bit単位に区切って暗号化および復号処理を行う暗号システムである。DESアルゴリズムにおいては、暗号化と復号は対称をなしており、受信した暗号文を同じ鍵を使ってもう一度変換すれば元の文章が復元できる。また、DES共通鍵暗号システムでは、簡単なビット位置転置とXOR演算の組み合わせ論理を16回繰り返している。内部的にはデータのフィードバックや条件判断部分がなく、処理が逐次的なので、パイプライン化すれば高速に処理することができる。もともとLSI化することを前提にして決められたアルゴリズムであり、DESチップも多く作られている。
【0064】
RC5とは、RSA Data Security社と、マサチューセッツ工科大学が開発したRCシリーズの共通鍵暗号方式であり、1995年に提案された。RC5は、可変長ブロックサイズ、可変長の鍵サイズ、および可変長回数(元データや鍵によって、ビット回転の量が変わる、Data-dependent-rotations(データ依存ビット回転)アルゴリズム)のラウンドを有するブロック暗号化方式である。そのブロックサイズとしては、32、64、128ビットをとることが可能であり、ラウンド数は0から255、鍵サイズは0から2048ビットまで可変である。RC5のアルゴリズムは公開されていて、RFC2040 として入手することが可能である。
【0065】
また、AES方式は、NISTによって選定作業が行われている、米国政府の次世代標準暗号化方式である。現在標準暗号として用いられているDESが制定されたのは1977年であり、近年のコンピュータの高性能化、暗号理論の発展に伴い、その信頼性は年々低下している。そこで、NISTはDESに代わる次世代の暗号標準として、AES候補となる暗号方式を全世界から公募した。世界中から集まった15の方式が審査を受けており、21世紀初頭までに決定される予定である。
【0066】
そして、その他の暗号処理部43は、例えば、デジタル署名を用いる場合に、メッセージに対して、不可逆的なハッシュ関数を作用させることで、「メッセージダイジェスト」を作成し、メッセージダイジェストを署名鍵により暗号化することによって、デジタル署名を作成する等の、公開鍵処理部41もしくは共通鍵処理部42が処理する以外の暗号処理を実行する。その他の暗号処理部43には、図5(C)に示されるように、例えば、署名生成および署名検証に用いられるハッシュ関数SHA-1の処理を行うSHA-1処理部76、および相互認証プロトコルで利用される真性乱数を生成する真性乱数生成部77が備えられるか、あるいは、図5(D)に示されるように、署名生成および署名検証に用いられるハッシュ関数MD5の処理を行うMD5処理部78、および相互認証プロトコルで利用される擬似乱数(ある有限な桁数の数字の範囲で出来るだけランダムな数字列をもつ人工的な乱数)を生成する擬似乱数生成部79が備えられている。
【0067】
デジタル署名においては、公開鍵暗号方式を用いるため、処理速度が遅いことが問題となるが、メッセージダイジェストを作成することによって、デジタル署名作成にかかる時間が削減される。更に、ハッシュ関数は、データの改ざんに対して大きく反応する特性を有していることから、デジタル署名を検証する際に、デジタル署名を検証鍵で復号して取り出したメッセージダイジェストと、送られてきたメッセージ本文にハッシュ関数を作用させて作成したメッセージダイジェストを比較することにより、メッセージ本文が改ざんされていないかどうかを容易に確認することができる。
【0068】
SHA-1は任意の長さのメッセージから160bitのハッシュ値を生成する一方向ハッシュ関数である。DSA同様、NISTが開発したもので、NISTによってFIPS PUB 180 に定められた。標準原案(N544)は、基本的にFIPS PUB 180に準拠したものとなっている。
【0069】
そして、MD5は、広く一般に使われているメッセージダイジェスト関数アルゴリズムのうちの1つで、RFC1321で定義されている。MD5は、32bitコンピュータ上で効率よく計算できるように、アルゴリズムが決められている。ほかにMD4やMD2という、類似のアルゴリズムもある。
【0070】
次に、図6を用いて、図3および図4を用いて説明したICカード1のSRA46に格納されている情報について説明する。
【0071】
SRA46は、ICカード1を保有するユーザが、図2を用いて説明した一般リーダライタ2−12などを用いて、複数のサービスを受けることができるようにするために、それらの複数のサービスを受けるための情報(図2を用いて説明したサービス登録用リーダライタ2−11を用いて登録された情報)を記録するためのメモリ領域である。
【0072】
すなわち、SRA46には、そのICカード1に登録されているサービスの情報であるService Individual Info1乃至Nが登録されており、それぞれのService Individual Infoには、サービスの種類を識別するためのサービスID、サービス毎に予め定められた、1つ、もしくは複数の認証用鍵情報(図6におけるService Individual Info kにおいては、1乃至nのn個の認証用鍵情報)、サービスを受けるために利用されるサービスデータ、および、鍵情報をバージョンアップするための認証鍵Kake_vupと、必要に応じて、認証鍵に対する証明書などが登録されている。
【0073】
認証用鍵情報には、例えば、認証鍵ID、鍵のレベルおよびバージョン、認証方式、および、複数の認証鍵を識別するために用いられる識別用認証鍵Kake(必要に応じて、認証鍵に対する証明書)などが含まれる。また、サービスデータには、ユーザID以外に、Service Individual Info kが、例えば、電子マネーサービスである場合、電子マネーの残高情報や累積ポイント等、Service Individual Info kが、例えば、自動改札サービスである場合、有効区間情報等が格納される。
【0074】
次に、図7を用いて、図6のService Individual Infoに登録される認証用鍵情報について説明する。
【0075】
図7(A)においては、領域No.1および領域No.2のそれぞれに対応して、認証鍵ID、鍵のバージョン、認証方式、識別用認証鍵Kake、および、必要に応じて、証明書データが登録されている。図7(A)のように認証用鍵情報が登録されている場合の認証鍵識別処理については、図20乃至図24を用いて後述する。
【0076】
図7(B)においては、領域No.1乃至領域No.7のそれぞれに対応して、認証鍵ID、鍵のレベル、鍵のバージョン、認証方式、識別用認証鍵Kake、および、必要に応じて、証明書データが登録されている。図7(B)のように、鍵のレベルを含んだ認証用鍵情報が登録されている場合の認証鍵識別処理については、図27および図28を用いて後述する。
【0077】
次に、図8を用いて、図3および図4を用いて説明したICカード1のSRT45に格納されている情報について説明する。
【0078】
SRT45には、IDカード1に複数のサービスが登録されている場合に、あるサービスを行いながら別のサービスのサービスデータに対してアクセスを許可するためのデータが登録されている。SRT45は、ICカード1に登録されているサービスIDが記載されている登録サービスIDフィールド(図8においては、サービスIDA乃至Jとして記載されている)と、それぞれのサービスIDに対応するパーミッション情報が記載されているパーミッション情報フィールドで構成されている。
【0079】
パーミッション情報の登録サービスIDフィールドには、登録されているサービスのサービスIDがすべて列挙されている。そして、パーミッション情報フィールドには、対応するサービスが実行されている場合に、登録サービスIDフィールドに記載されているサービスにアクセスすることができるサービスIDと、どのような処理を行うことを許可するかを示す情報が記載されている。例えば、読み出しおよび書き込みが許可されている場合、パーミッション情報として「rw」が記載され、読み出しのみ許可されている場合、パーミッション情報として「ro」が記載され、鍵のバージョンアップが許可されている場合、パーミッション情報として「vup」が記載される。「rw」と「ro」は同じサービスIDに対して許可されないが、「rw」と「vup」および「ro」と「vup」は、同じサービスIDに対して許可され、パーミッション情報フィールドに列挙することが可能である。
【0080】
すなわち、SRT45に、図8に示されるパーミッション情報が登録されている場合、サービスIDがCで示されるサービスの実行中には、サービスIDがBで示されるサービスに対して、読み出し、および書き込みが許可され、更に、サービスIDがDで示されるサービスの実行中においても、サービスIDがBで示されるサービスに対しての読み出しが許可され、サービスIDがEで示されるサービスの実行中に、サービスIDがDで示されるサービスに対して、読み出し、書き込み、および鍵のバージョンアップが許可され、以下、サービスIDがEで示されるサービス、サービスIDがFで示されるサービス、サービスIDがGで示されるサービス、もしくは、サービスIDがIで示されるサービスにおいても、対応するパーミッション情報フィールドに記載されている情報に基づいて、他のサービスIDに対応する処理の実行中に、パーミッション情報に対応した処理が許可される。
【0081】
これらのパーミッション情報の登録は、ICカード1に、対応するサービスを登録する場合に行われる。すなわち、ユーザが、サービス登録用リーダライタ2−11を用いて、自分自身が保有するICカード1に対して、サービスIDがFで示されるサービスを登録する場合、例えば、サービスIDがGで示されるサービスがすでに登録され、サービスIDがHで示されるサービスが登録されていないならば、登録サービスIDフィールドのFに対応するパーミッション情報フィールドには、サービスIDがGで示されるサービスに対応するパーミッション情報しか登録することができない。そして、ユーザが、サービスIDがHで示されるサービスをIDカード1に登録した後、サービスIDがFで示されるサービスをアップデートすることにより、サービスIDがFで示されるサービスに対する、サービスIDがHで示されるサービスのパーミッション情報を登録することができる。
【0082】
次に、図9は、リーダライタ2の構成を示すブロック図である。
【0083】
リーダライタ2は、ICカード1との通信を行う通信部91と、データ処理を実行するリーダライタ処理部92から構成されている。
【0084】
通信部91は、ICカード1との通信方法によって(すなわち、リーダライタ2が、図1を用いて説明した非接触式と接触式のいずれの通信方式を採用しているかによって)、電磁波を用いて通信するためのコイルのみを備えるか、もしくは、電磁波を用いて通信するためのコイル、および接触式により通信するための接触端子を備える構造を有している。
【0085】
通信部91は、ICカード1から送信されたデータを受信し、受信したデータが、例えば、ASKやBPSKを用いて変調されている場合、所定の処理により、受信したデータを復調し、リーダライタ処理部92の制御部101に供給するとともに、リーダライタ処理部92の処理により生成されたデータを、制御部101から供給され、ASKやBPSKを用いて変調し、ICカード1に送信する。
【0086】
リーダライタ処理部92は、制御部101、暗号処理部102、メモリ103、通信部104、表示部105、および入力部106より構成されている。制御部101は、通信部91から供給されたデータに従って、暗号処理部102を制御し、ICカード1との認証処理等に必要な暗号処理を実行させたり、必要に応じて、メモリ103に記録されているデータを読み込んで、通信部91を介して、ICカード1に送信したり、ユーザが入力部106を用いて入力した各種操作に対応した信号や、ネットワークを介して、通信部104に入力された制御信号の入力を受け、これらの信号に従って、処理を実行し、その結果を表示部105に表示させる。
【0087】
また、通信部104には、ドライブ114も接続されており、ドライブ114に装着される磁気ディスク115、光ディスク116、光磁気ディスク117、および半導体メモリ118などとデータの授受を行ことができる。
【0088】
暗号処理部102は、図3を用いて説明した暗号処理部33と同様の構成を有しているので、その説明は省略する。
【0089】
メモリ103には、ICカード1と所定の処理を実行するための情報が記憶されている。その情報は、リーダライタ2が、図2を用いて説明した、サービス登録用リーダライタ2−11乃至バージョンアップ用リーダライタ2−14のいずれに対応するものであるかによって異なる。図10乃至図14を用いて、サービス登録用リーダライタ2−11乃至バージョンアップ用リーダライタ2−14のメモリ103に記憶されているデータについて説明する。
【0090】
図10に示される、サービス登録用リーダライタ2−11のメモリ103には、ICカード1のメモリ32のSRA46にデータを登録もしくは削除する場合に用いられる認証鍵Kregが記憶され(必要に応じて認証鍵の証明書も記憶されている)、ICカード1に登録するための各種サービスに対応するService Individual Info1乃至nが記憶されている。
【0091】
図11に示される、一般リーダライタ2−12のメモリ103には、この一般リーダライタ2−12で処理することが可能なサービスに対応するサービスIDと、それに対応する認証鍵リスト、および鍵失効情報が記憶されている。また、一般リーダライタ2−12に、鍵バージョンアップのサービスを可能とさせる場合、一般リーダライタ2−12のメモリ103には、新バージョンの鍵などの情報も、あわせて記憶される。
【0092】
図12に示される、モジュール間通信用リーダライタ2−13のメモリ103には、一般リーダライタ2−12のメモリ103に記憶されている情報と同様に、このモジュール間通信用リーダライタ2−13で処理することが可能なサービスに対応するサービスIDと、それに対応する認証鍵リスト、および鍵失効情報が記憶されている。モジュール間通信とは、図13に示されるように、共通鍵方式および公開鍵方式の2方式に対応するようになされているモジュール間通信用リーダライタ2−13に、公開鍵モジュール121(例えば、図4を用いて説明した、ICカード1の通信部53および公開鍵サービス処理部54に対応する)と、共通鍵モジュール122(例えば、図4を用いて説明したICカード1の通信部51および共通鍵サービス処理部52に対応する)を有するICカード1を装着し、公開鍵モジュール121と共通鍵モジュール122とのデータの通信を、モジュール間通信用リーダライタ2−13を介して行うことである。モジュール間通信に関する処理の詳細は、図48乃至図51を用いて後述する。
【0093】
そして、図14に示される、バージョンアップ用リーダライタ2−14のメモリ103には、装着されたICカード1に登録されているサービスの認証鍵をバージョンアップするための、サービスIDと、そのサービスIDに対応するバージョンアップ用認証鍵Kake_vupおよび認証鍵Kakeのリストが記憶されている。
【0094】
ICカード1とリーダライタ2とが通信を行う場合、いくつかの例外となる処理を除いて、はじめに、ICカード1とリーダライタ2が相互認証するために、通信を行うサービスを相互に識別し、そのサービスの認証鍵を相互に識別する必要がある。図15のフローチャートを参照して、ICカード1とリーダライタ2の相互認証処理について説明する。
【0095】
まず、ステップS1において、リーダライタ2は、必要に応じて、ICカード1と通信して必要なデータの授受を行うことにより、図16および図18を用いて後述するリーダライタ2のサービス識別処理を実行する。そして、ステップS2において、ICカード1は、必要に応じて、リーダライタ2と通信して必要なデータの授受を行うことにより、図17および図19を用いて後述するICカード1のサービス識別処理を実行する。
【0096】
そして、ステップS1のリーダライタ2のサービス識別処理およびステップS2のICカード1のサービス識別処理が正常終了した場合、ステップS3において、リーダライタ2は、必要に応じて、ICカード1と通信して必要なデータの授受を行うことにより、図20、図22および図27を用いて後述するリーダライタ2の認証鍵識別処理を実行する。そして、ステップS4において、ICカード1は、必要に応じて、リーダライタ2と通信して必要なデータの授受を行うことにより、図21、図23および図28を用いて後述するICカード1の認証鍵識別処理を実行する。
【0097】
次に、図16のフローチャートを参照して、複数のサービスに対応しているICカード1と、複数のサービスに対応しているリーダライタ2において、ユーザが所望のサービスを入力し、そのサービスの実行が可能か否かを判断することにより、図15のステップS1において実行されるリーダライタ2のサービス識別処理について説明する。
【0098】
リーダライタ2の制御部101は、ステップS11において、ICカード1に対し、通信部91を介して、ICカード検出コマンドを送信し、ステップS12において、ICカード1からACK信号(後述する図17のステップS22において、ICカード1が送信した信号)を受信したか否かを判断する。ステップS12において、ACK信号が受信されていないと判断された場合、ACK信号が受信されたと判断されるまで、ステップS12の処理が繰り返される。
【0099】
ステップS12において、ACK信号を受信したと判断された場合(すなわち、ICカード1が、リーダライタ2に装着された場合)、ステップS13において、制御部101は、ユーザが入力部106を用いて入力した操作を示す信号に従って、または、予め決められたサービスに基づいて、ユーザが希望するサービスに対応するサービスIDを、通信部91を介して、ICカード1に送信する。
【0100】
ステップS14において、制御部101は、ICカード1から送信される信号(後述する図17のステップS25もしくはステップS26において、ICカード1が送信した信号)を受信する。ステップS15において、制御部101は、ステップS14において受信したデータは、ACK信号か否かを判断する。ステップS15において、受信した信号がACK信号ではない(すなわちNACK信号である)と判断された場合、ステップS16において、制御部101は、エラーメッセージに対応するデータを表示部105に出力して表示させ、処理を終了する(すなわち、処理は、図15のステップS3には進まない)。ステップS15において、受信した信号がACK信号であると判断された場合、処理は、図15のステップS3に進む。
【0101】
次に、図17のフローチャートを参照して、図15のステップS2において、図16を用いて説明したリーダライタ2のサービス識別処理と並行して実行される、ICカード1のサービス識別処理について説明する。なお、ここでは、図3を用いて説明したICカード1において処理が行われるものとして説明するが、図4を用いて説明したICカード1によって処理が実行される場合においても、基本的に同様の処理が実行される。
【0102】
ICカード1の制御部31は、ステップS21において、図16のステップS11において、リーダライタ2が送信したICカード検出コマンドを、通信部21を介して受信し、ステップS22において、リーダライタ2にACK信号を送信する。
【0103】
制御部31は、ステップS23において、図16のステップS13において、リーダライタ2が送信したサービスIDを、通信部21を介して受信し、ステップS24において、受信したサービスIDは、ICカード1の対応するモジュール(ここでは、図3を用いて説明したICカード1における処理について説明しているので、ICカード処理部22のメモリ32に対応するが、例えば、図4を用いて説明したICカード1の場合、リーダライタ2が対応している方式により、共通鍵サービス処理部52のメモリ62あるいは、公開鍵サービス処理部のメモリ62に対応する)内に登録されているIDであるか否か、すなわち、ステップS23において受信したサービスIDが、図6を用いて説明したSRA46に登録されているか否かを判断する。
【0104】
ステップS24において、受信したサービスIDが、モジュール内に登録されていると判断された場合、ステップS25において、制御部31は、通信部21を介して、リーダライタ2にACK信号を送信し、処理は、図15のステップS4に進む。ステップS24において、受信したサービスIDが、モジュール内に登録されていないと判断された場合、ステップS26において、制御部31は、通信部21を介して、リーダライタ2にNACK信号を送信し、処理が終了される(すなわち、図15のステップS4には進まない)。
【0105】
次に、図18のフローチャートを参照して、複数のサービスに対応しているICカード1と、複数のサービスに対応しているリーダライタ2において、該当するICカード1とリーダライタ2が実行可能なサービスを抽出して、リーダライタ2の表示部105に表示させ、それらのサービスの中から、ユーザが所望するサービスを選択させることにより、サービス識別を行う場合における、図15のステップS1において実行される、リーダライタ2のサービス識別処理について説明する。
【0106】
リーダライタ2の制御部101は、ステップS31において、サービスIDリスト送信コマンドを、ICカード1に、通信部91を介して送信し、ステップS32において、後述する図19のステップS52において、ICカード1が送信した、サービスIDリストを受信したか否かを判断する。ステップS32において、サービスIDリストを受信していないと判断された場合、サービスIDリストを受信したと判断されるまで、ステップS32の処理が繰り返される。
【0107】
ステップS32において、サービスIDリストを受信したと判断された場合、ステップS33において、制御部101は、受信したサービスIDリストに記載されているサービスIDは、リーダライタ2が対応しているサービスが含まれているか否か(すなわち、リーダライタ2のメモリ103に記憶されているサービスIDを含んでいるか否か)を判断する。
【0108】
ステップS33において、受信したサービスIDリストに、リーダライタ対応サービスが含まれていると判断された場合、ステップS34において、制御部101は、サービスIDリストに含まれていた対応サービスが複数であるか否かを判断する。ステップS34において、対応サービスが複数ではない(すなわち1つだけである)と判断された場合、処理は、ステップS37に進む。
【0109】
ステップS34において、対応サービスが複数であると判断された場合、制御部101は、ステップS35において、複数の対応サービスを表示部105に表示させるためのデータを生成し、表示部105に出力して表示させ、ステップS36において、入力部106から、ユーザが希望するサービスの入力を受ける。あるいは、サービスそれぞれに、優先度情報を含ませておき、複数の対応サービスのうちから、優先度の最も高いサービスが自動的に選択されるようにしてもよい。
【0110】
ステップS37において、制御部101は、ステップS34において、対応サービスがただ1つであると判断された場合は、そのサービスに対応するサービスIDを、ステップS34において、対応サービスが複数であると判断された場合は、ステップS36において、ユーザが入力部106を用いて入力した希望するサービスに対応するサービスIDを、通信部91を介して、ICカード1に送信し、処理は、図15のステップS3に進む。
【0111】
ステップS33において、受信したサービスIDリストに、リーダライタ対応サービスが含まれていないと判断された場合、制御部101は、ステップS38において、通信部91を介して、ICカード1にNACK信号を送信し、ステップS39において、図16のステップS16と同様の処理がなされ、処理が終了される(すなわち、処理は、図15のステップS3には進まない)。
【0112】
次に、図19のフローチャートを参照して、図15のステップS2において、図18を用いて説明したリーダライタ2のサービス識別処理と並行して実行される、ICカード1のサービス識別処理について説明する。なお、ここでは、図3を用いて説明したICカード1において処理が行われるものとして説明するが、図4を用いて説明したICカード1によって処理が実行される場合においても、基本的に同様の処理が実行される。
【0113】
ICカード1の制御部31は、ステップS51において、リーダライタ2が、図18のステップS31において送信したサービスID送信コマンドを、通信部21を介して受信し、ステップS52において、自分自身が対応しているサービスIDリスト(すなわち、メモリ32のSRA46に登録されているサービスIDのリスト)を生成して、通信部21を介して、リーダライタ2に送信する。
【0114】
制御部31は、ステップS53において、リーダライタ2が、図18のステップS37もしくはステップS38において、ICカード1に送信したデータを、通信部21を介して受信し、ステップS54において、リーダライタ2から受信したデータはNACK信号か否かを判断する。ステップS54において、受信した信号がNACK信号であると判断された場合(すなわち、受信したデータが、図18のステップS38において、リーダライタ2がICカード1に送信した信号である場合)、処理が終了される(すなわち、処理は、図15のステップS4には進まない)。
【0115】
ステップS54において、リーダライタ2から受信したデータはNACK信号ではないと判断された場合(すなわち、受信したデータが、図18のステップS37において、リーダライタ2がICカード1に送信したサービスIDである場合)、ステップS55において、制御部31は、リーダライタ2から受信したサービスIDは、自分自身のメモリ32のSRA46に登録されているか否か判断する。
【0116】
ステップS55において、サービスIDが登録されていないと判断された場合、処理が終了される(すなわち、処理は、図15のステップS4には進まない)。ステップS55において、サービスIDが登録されていると判断された場合、処理は、図15のステップS4に進む。
【0117】
次に、図20のフローチャートを参照して、図7(A)を用いて説明した認証用鍵情報を用いて認証鍵識別が行われる場合、図15のステップS3において実行される、リーダライタ2の認証鍵識別処理について説明する。
【0118】
リーダライタ2の制御部101は、ステップS61において、図15のステップS1およびステップS2のサービス識別処理により識別されたサービスに対応するサービスID(ここでは、対応するサービスIDを、ID_Sとする)に属する認証鍵のうちの1つに対応する認証鍵IDを、メモリ103から読み出し、通信部91を介して、ICカード1に送信し、ステップS62において、後述する図21のステップS73もしくはステップS75において、ICカード1が送信するデータを受信する。
【0119】
ステップS63において、制御部101は、ステップS62において、ICカード1から受信したデータは、ACK信号か否かを判断する。ステップS63において、ACK信号が受信されたと判断された場合、ステップS64において、制御部101は、暗号処理部33を制御して、ステップS61において、暗号処理部102の公開鍵処理部111もしくは共通鍵処理部112のうち、ICカード1に送信した認証鍵IDに対応する認証鍵を用いて認証処理を行う処理部を選択して制御することにより、ICカード1との相互認証処理および鍵共有処理を開始し、ICカード1とセッション鍵Ksesを共有し、相互認証処理が終了した後、処理が終了される。
【0120】
ステップS63において、ACK信号が受信されていないと判断された場合(すなわち、NACK信号を受信したと判断された場合)、ステップS65において、図16のステップS16と同様の処理がなされ、処理が終了される。
【0121】
次に、図21のフローチャートを参照して、図15のステップS4において、図20のリーダライタ2の認証鍵識別処理と並行して実行される、ICカード1の認証鍵識別処理について説明する。なお、ここでも、図3を用いて説明したICカード1により、処理が実行される場合について説明するが、図4を用いて説明したICカード1によって処理が実行される場合においても、基本的に同様の処理が実行される。
【0122】
ICカード1の制御部31は、ステップS71において、図20のステップS61において、リーダライタ2が送信した認証鍵IDを、通信部21を介して受信し、ステップS72において、ステップS71において受信した認証鍵IDは、メモリ32のSRA46のID_Sに関するデータが記憶されている領域に登録されているか否かを判断する。
【0123】
ステップS72において、認証鍵IDが登録されていると判断された場合、制御部31は、ステップS73において、通信部21を介して、リーダライタ2にACK信号を送信し、ステップS74において、暗号処理部33の公開鍵処理部41もしくは共通鍵処理部42のうち、リーダライタ2に指定された認証鍵による認証処理を行う方を選択して制御することにより、相互認証処理を実行し、リーダライタ2とセッション鍵Ksesを共有し、相互認証処理の終了後、処理が終了される。ステップS72において、認証鍵IDが登録されていないと判断された場合、ステップS75において、制御部31は、通信部21を介して、リーダライタ2にNACK信号を送信し、処理が終了される。
【0124】
図20および図21を用いて説明した処理においては、ICカード1とリーダライタ2は、図15のステップS1およびステップS2の処理により識別されたサービスのサービスIDに対応する、リーダライタ2が指定した認証鍵により、相互認証を実行する。
【0125】
例えば、あるサービスに対して共通鍵および公開鍵の2種類の認証鍵が用意されている場合、共通鍵に基づく認証処理により高速な処理を行うことをデフォルトとし、共通鍵のバージョンが古い場合には、公開鍵に基づいて認証処理を実施するようにしてもよい。
【0126】
次に、図22のフローチャートを参照して、図15のステップS3において実行される、図15のステップS1およびステップS2の処理により識別されたサービスのサービスIDに対応するサービスに対して、共通鍵および公開鍵の2種類の認証鍵が用意されている場合のリーダライタ2の認証鍵識別処理について説明する。
【0127】
リーダライタ2の制御部101は、ステップS81において、図15のステップS1およびステップS2の処理により識別されたサービスのサービスIDに対応する認証鍵の、共通鍵バージョン情報要求コマンドを、通信部91を介してICカード1に送信し、ステップS82において、後述する図23のステップS92において、ICカード1が送信した共通鍵バージョン情報を、通信部91を介して受信する。
【0128】
ステップS83において、制御部101は、ステップS82において受信した共通鍵バージョン情報を基に、共通鍵バージョンが有効か否かを判断する。ステップS83において、共通鍵バージョンが有効であると判断された場合、ステップS84において、制御部101は、ICカード1に、共通鍵による相互認証開始コマンドを送信し、暗号処理部102の共通鍵処理部112を制御して、共通鍵による相互認証を開始し、ICカード1とセッション鍵Ksesを共有し、相互認証が終了した後、処理が終了される。
【0129】
ステップS83において、共通鍵バージョンが有効ではないと判断された場合、ステップS85において、制御部101は、ICカード1に、公開鍵による相互認証開始コマンドを送信し、暗号処理部102の公開鍵処理部111を制御して、公開鍵による相互認証を開始し、ICカード1とセッション鍵Ksesを共有し、相互認証が終了した後、処理が終了される。
【0130】
次に、図23のフローチャートを参照して、図15のステップS4において、図22を用いて説明したリーダライタ2の認証鍵識別処理と並行して実行される、ICカード1の認証鍵識別処理について説明する。なお、ここでも、図3を用いて説明したICカード1により、処理が実行される場合について説明するが、図4を用いて説明したICカード1によって処理が実行される場合においても、基本的に同様の処理が実行される。
【0131】
ICカード1の制御部31は、ステップS91において、図22のステップS81において、リーダライタ2が送信した共通鍵バージョン情報要求コマンドを受信し、ステップS92において、共通鍵バージョン情報を、通信部21を介して、リーダライタ2に送信する。
【0132】
制御部31は、ステップS93において、図22のステップS84もしくはステップS85において、リーダライタ2が送信した相互認証開始コマンドを受信し、ステップS94において、ステップS93において受信された相互認証開始コマンドは、共通鍵による相互認証開始コマンドであるか否かを判断する。
【0133】
ステップS94において、共通鍵による相互認証開始コマンドであると判断された場合、ステップS95において、制御部31は、暗号処理部33の共通鍵処理部42を制御して、共通鍵による相互認証を開始し、リーダライタ2とセッション鍵Ksesを共有し、相互認証が終了した後、処理が終了される。
【0134】
ステップS94において、共通鍵による相互認証開始コマンドではない(すなわち、公開鍵による相互認証開始コマンドである)と判断された場合、ステップS96において、制御部31は、暗号処理部33の公開鍵処理部41を制御して、公開鍵による相互認証を開始し、リーダライタ2とセッション鍵Ksesを共有し、相互認証が終了した後、処理が終了される。
【0135】
図22および図23を用いて説明した処理により、ICカード1とリーダライタ2は、まず、認証速度の速い共通鍵による相互認証を実行しようとし、共通鍵による相互認証が行えない場合(例えば、対応する共通鍵のバージョンが古い場合など)、公開鍵を用いて、相互認証を実行する。
【0136】
図22のステップS85および図23のステップS96の処理においては、公開鍵による相互認証が行われる。リーダライタ2のメモリ103のSRA46には、図24(A)に示されるリーダライタ2の証明書が記憶されている。また、ICカード1のメモリ32のSRA46には、図24(B)に示されるICカード1の証明書が記憶されている。
【0137】
図24(A)および図24(B)に示されるように、それぞれの証明書には、証明書のバージョン番号、認証局が割り付ける証明書の通し番号、署名に用いたアルゴリズムとパラメータ、認証局の名前、証明書の有効期限、リーダライタ2、あるいはICカード1の名前(ID)、リーダライタ2の公開鍵Kpsp、あるいはICカード1の公開鍵Kpu、およびメッセージ全体に、図5を用いて説明したような不可逆的なハッシュ関数(データ圧縮関数)を作用させることで、メッセージダイジェストを作成し、メッセージダイジェストを、認証局の秘密鍵Kscaにより暗号化することによって作成された、デジタル署名から構成される。
【0138】
次に、図25のフローチャートを参照して、署名生成処理について説明する。ここでは、楕円曲線暗号方式(楕円DSA署名)を用いて、デジタル署名を生成する場合について説明する。ここでは、ICカード1の制御部31が、公開鍵処理部41のDSA署名生成・検証部72を制御することにより実行される処理について説明するが、リーダライタ2においても、同様の処理が実行されるので、リーダライタ2の処理についての説明は省略する。
【0139】
ステップS101において、制御部31は、署名生成処理に必要なパラメータを認識する。すなわち、pを標数、aおよびbを楕円曲線の係数、楕円曲線をy2=x3+ax+b、Gを楕円曲線上のベースポイント、rをGの位数、Mをメッセージ、Ksを秘密鍵、GおよびKsGを公開鍵とする。
【0140】
公開鍵処理部41のDSA署名生成・検証部72は、ステップS102において、図示しない乱数生成部で、0<u<rとなるuを生成し、ステップS103において、ステップS102において生成された乱数uを用いて、公開鍵Gをu倍し、V=uG=(Xv,Yv)となるVを算出する。
【0141】
DSA署名生成・検証部72は、ステップS104において、c=Xv mod rを算出し、ステップS105において、S104の計算結果に基づいて、c=0であるか否かを判断する。ステップS105において、c=0であると判断された場合、処理は、ステップS102に戻り、それ以降の処理が繰り返される。
【0142】
ステップS105において、c=0ではないと判断された場合、DSA署名生成・検証部72は、ステップS106において、メッセージMのハッシュ値であるf=SHA-1(M)(ここでは、ハッシュ関数として、SHA-1が用いられる)を算出し、ステップS107において、d=[(f+cKs)/u] mod rを計算する。
【0143】
ステップS108において、DSA署名生成・検証部72は、ステップS107の計算結果に基づいて、d=0か否かを判断する。ステップS108において、d=0であると判断された場合、処理は、ステップS102に戻り、それ以降の処理が繰り返される。ステップS108において、d=0ではないと判断された場合、ステップS109において、DSA署名生成・検証部72は、署名データを(c,d)とし、処理が終了される。
【0144】
このようにしてICカード1において生成されたデジタル署名を受信したリーダライタ2は、受信したデジタル署名を検証する処理を実施する。図26のフローチャートを参照して、署名検証処理について説明する。ここでは、リーダライタ2の制御部101が、公開鍵処理部41のDSA署名生成・検証部72を制御することにより実行される処理について説明するが、ICカード1においても、同様の処理が実行されるので、ICカード1の処理についての説明は省略する。
【0145】
ステップS111において、制御部101は、署名生成処理に必要なパラメータを認識する。すなわち、pを標数、aおよびbを楕円曲線の係数、楕円曲線をy2=x3+ax+b、Gを楕円曲線上のベースポイント、rをGの位数、Mをメッセージ、Ksを秘密鍵、GおよびKsGを公開鍵とする。
【0146】
公開鍵処理部41のDSA署名生成・検証部72は、ステップS112において、受信した署名データのcおよびdの値に基づいて、0<c<rかつ0<d<rであるか否かを判断する。
【0147】
ステップS112において、0<c<rかつ0<d<rではないと判断された場合、処理はステップS120に進む。ステップS112において、0<c<rかつ0<d<rであると判断された場合、ステップS113において、DSA署名生成・検証部72は、メッセージMのハッシュ値であるf=SHA-1(M)を算出し、ステップS114において、h=1/d mod rを計算する。
【0148】
DSA署名生成・検証部72は、ステップS114において算出されたhの値を用いて、ステップS115において、h1=fh、h2=ch mod rを算出し、ステップS116において、P=(Xp,Yp)=h1G+h2KsGを算出する。
【0149】
ステップS117において、DSA署名生成・検証部72は、ステップS116の算出結果から、Pの値が無限遠点であるか否かを判断する。ここでは、Pの値が無限遠点である場合、ステップS116において、h1G+h2KsGの解を得ることができないことに基づいて、Pの値が無限遠点であるか否かを判断することが可能である。ステップS117において、Pが無限遠点であると判断された場合、処理は、ステップS120に進む。
【0150】
ステップS117において、Pの値が無限遠点ではないと判断された場合、ステップS118において、DSA署名生成・検証部72は、c=Xp mod rが成り立つか否かを判断する。ステップS118において、c=Xp mod rが成り立たないと判断された場合、処理は、ステップS120に進む。
【0151】
ステップS118において、c=Xp mod rが成り立つと判断された場合、ステップS119において、DSA署名生成・検証部72は、受信した署名は正しいと判断し、処理が終了される。
【0152】
ステップS112において、0<c<rかつ0<d<rではないと判断された場合、ステップS117において、pが無限遠点であると判断された場合、もしくは、ステップS118において、c=Xp mod rが成り立たないと判断された場合、ステップS120において、DSA署名生成・検証部72は、受信した署名は正しくないと判断し、処理が終了される。
【0153】
また、図7(B)を用いて説明した認証用鍵情報を用いて認証鍵識別が行われ、あるサービスに対してレベル分けされた複数の認証鍵が格納されているような場合、低レベルの鍵から優先的に認証処理を開始し、その鍵のバージョンを判定し、その鍵のバージョンが古いとき、より高いレベルの認証鍵を用いて認証処理を行うようにしてもよい。
【0154】
次に、図27のフローチャートを参照して、図15のステップS3において実行される、あるサービスに対してレベル分けされた複数の認証鍵が格納されている場合のリーダライタ2の認証鍵識別処理について説明する。
【0155】
リーダライタ2の制御部101は、ステップS131において、通信部91を介して、鍵レベル交渉コマンドを、ICカード1に送信し、ステップS132において、後述する図28のステップS143において、ICカード1が送信する、レベルNにおける鍵バージョン情報Vを、通信部91を介して受信する。
【0156】
ステップS133において、制御部101は、ステップS132において受信した鍵バージョン情報VのレベルNは、N>0であるか否かを判断する。ステップS133において、N>0ではないと判断された場合、処理はステップS137に進む。
【0157】
ステップS133において、N>0であると判断された場合、ステップS134において、制御部101は、ステップS132において受信した鍵バージョン情報Vに基づいて、レベルNにおける鍵バージョン情報は有効か否かを判断する。
【0158】
ステップS134において、レベルNにおける鍵バージョンが有効ではないと判断された場合(すなわち、鍵のバージョンが古いと判断された場合)、ステップS135において、制御部101は、通信部91を介して、ICカード1にNACK信号を送信し、処理はステップS132に戻り、それ以降の処理が繰り返される。
【0159】
ステップS134において、レベルNにおける鍵バージョンは有効であると判断された場合、ステップS136において、制御部101は、通信部91を介して、ICカード1にACK信号を送信し、処理が終了される。
【0160】
ステップS133において、N>0ではないと判断された場合、ステップS137において、図16のステップS16と同様の処理がなされ、処理が終了される。
【0161】
次に、図28のフローチャートを参照して、図27を用いて説明したリーダライタ2の認証鍵識別処理と並行して実行される、ICカード1の認証鍵識別処理について説明する。なお、ここでも、図3を用いて説明したICカード1により、処理が実行される場合について説明するが、図4を用いて説明したICカード1によって処理が実行される場合においても、基本的に同様の処理が実行される。
【0162】
ICカード1の制御部31は、ステップS141において、図27のステップS131において、リーダライタ2が送信した鍵レベル交渉コマンドを受信し、ステップS142において、現在の鍵レベルNを、N=1にセットする。
【0163】
制御部31は、ステップS143において、現在の鍵レベルNと、そのレベルにおける鍵バージョン情報Vを、通信部21を介して、リーダライタ2に送信し、ステップS144において、図27のステップS135もしくはステップS136において、リーダライタ2が送信したデータを受信する。
【0164】
ステップS145において、制御部31は、ステップS144において、リーダライタ2から受信した信号は、ACK信号であるか否かを判断する。ステップS145において、リーダライタ2から受信した信号はACK信号ではないと判断された場合、制御部31は、ステップS146において、N=N+1とし、ステップS147において、Nの値が所定の最大レベルを超えているか否かを判断する。
【0165】
ステップS147において、Nが最大レベルを超えていないと判断された場合、処理はステップS143に戻り、それ以降の処理が繰り返される。ステップS147において、Nが最大レベルを超えていると判断された場合、ステップS148において、制御部31は、現在のレベルをN=0(N=0は、例外状態を示すものとする)とし、処理はステップS143に戻り、それ以降の処理が繰り返される。
【0166】
ステップS145において、リーダライタ2から受信した信号はACK信号であると判断された場合、処理が終了される。
【0167】
図15乃至図28を用いて、ICカード1と、リーダライタ2のサービス識別および認証鍵識別に関する処理について説明したが、例えば、図2を用いて説明したサービス登録用リーダライタ2−11に、ICカード1を装着し、新たなサービスの登録を実行する場合、およびサービスの削除を実行する場合には、図10を用いて説明したように、サービス登録用リーダライタ2−11のメモリ103に記憶されているサービス登録用の認証鍵Kregを用いて認証処理を行うため、図15乃至図28を用いて説明したような相互認証処理を用いなくてもよい。
【0168】
次に、図29のフローチャートを参照して、サービス登録用リーダライタ2−11のサービス登録処理について説明する。
【0169】
サービス登録用リーダライタ2−11の制御部101は、ステップS151において、通信部91を介して、サービス登録コマンドを、ICカード1に送信し、ステップS152において、ICカード1と、サービス登録用鍵Kregによる相互認証を行い、セッション鍵Ksesを共有する。
【0170】
制御部101は、ステップS153において、空き領域確認コマンドを、通信部91を介してICカード1に送信し、ステップS154において、後述する図30のステップS175もしくはステップS176においてICカード1から送信されるデータを受信する。
【0171】
ステップS155において、制御部101は、ステップS154において、ICカード1から受信した信号はACK信号であるか否かを判断する。ステップS155において、ICカード1から受信した信号がACK信号であると判断された場合、制御部101は、ステップS156において、暗号処理部102の共通鍵処理部112を制御して、ICカード1のメモリ32に新たに登録する登録データを、セッション鍵Ksesで暗号化させ、ステップS157において、暗号化データを、通信部91を介して、ICカード1に送信する。
【0172】
制御部101は、ステップS158において、後述する図30のステップS180において、ICカード1が送信したデータ登録完了通知を、通信部91を介して受信し、ステップS159において、サービス認証によるサービス削除許可フラグを送信し、処理が終了される。
【0173】
ステップS155において、ICカード1から受信した信号がACK信号ではないと判断された場合、ステップS160において、図16のステップS16と同様の処理がなされ、処理が終了される。
【0174】
次に、図30のフローチャートを参照して、図29を用いて説明した、サービス登録用リーダライタ2−11のサービス登録処理と並行して実行される、ICカード1のサービス登録処理について説明する。なお、ここでも、図3を用いて説明したICカード1により、処理が実行される場合について説明するが、図4を用いて説明したICカード1によって処理が実行される場合においても、基本的に同様の処理が実行される。
【0175】
ステップS171において、ICカード1の制御部31は、通信部21を介して、図29のステップS151において、サービス登録用リーダライタ2−11が送信したサービス登録コマンドを受信する。
【0176】
制御部31は、ステップS172において、ICカード1と、サービス登録用鍵Kregによる相互認証を行い、セッション鍵Ksesを共有し、ステップS173において、通信部21を介して、図29のステップS153において、サービス登録用リーダライタ2−11が送信した、空き領域確認コマンドを受信する。
【0177】
ステップS174において、制御部31は、メモリ32のSRA46に、登録データ用の空き領域があるか否かを判断する。ステップS174において、空き領域がないと判断された場合、ステップS175において、制御部31は、サービス登録用リーダライタ2−11に、通信部21を介して、NACK信号を送信し、処理が終了される。
【0178】
ステップS174において、空き領域があると判断された場合、ステップS176において、制御部31は、サービス登録用リーダライタ2−11に、通信部21を介して、ACK信号を送信する。
【0179】
制御部31は、ステップS177において、図29のステップS157において、サービス登録用リーダライタ2−11が送信した暗号化データを、通信部21を介して受信し、ステップS178において、暗号処理部33の共通鍵処理部42を制御して、ステップS177において受信した暗号化データを、セッション鍵Ksesを用いて復号させる。
【0180】
ステップS179において、制御部31は、ステップS178において、セッション鍵Ksesにより復号されたデータを、メモリ32に供給し、SRA46のService Individual Info領域およびSRT45に登録させる。
【0181】
制御部31は、ステップS180において、データの登録完了を、通信部21を介して、サービス登録用リーダライタ2−11に通知し、ステップS181において、図29のステップS159において、サービス登録用リーダライタ2−11が送信した、サービス認証によるサービス削除許可フラグを受信し、サービス削除許可フラグを、メモリ32のSRA46のService Individual Info領域に設定し、処理が終了される。
【0182】
次に、図31のフローチャートを参照して、サービス登録用リーダライタ2−11のサービス削除処理について説明する。
【0183】
ステップS191において、サービス登録用リーダライタ2−11の制御部101は、ユーザが、入力部106を用いて入力した、削除するサービスに対応するサービスIDの入力を受ける(ここでは、対応するサービスIDが、ID_Sであるサービスが削除されるものとする)。
【0184】
ステップS192において、図29のステップS152と同様の処理がなされる。制御部101は、ステップS193において、通信部91を介して、ICカード1に、ID_S領域削除コマンドを送信し、ステップS194において、後述する図32のステップS205においてICカード1が送信した、エラーメッセージを受信したか否かを判断する。
【0185】
ステップS194において、エラーメッセージを受信したと判断された場合、ステップS195において、図16のステップS16と同様の処理がなされ、処理が終了される。ステップS194において、エラーメッセージを受信しなかったと判断された場合、処理が終了される。
【0186】
次に、図32のフローチャートを参照して、図31を用いて説明した、サービス登録用リーダライタ2−11のサービス削除処理と並行して実行される、ICカード1のサービス削除処理について説明する。なお、ここでも、図3を用いて説明したICカード1により、処理が実行される場合について説明するが、図4を用いて説明したICカード1によって処理が実行される場合においても、基本的に同様の処理が実行される。
【0187】
ステップS201において、図30のステップS172と同様の処理が実行される。ICカード1の制御部31は、ステップS202において、図31のステップS193において、サービス登録用リーダライタ2−11が送信した、ID_S領域削除コマンドを受信し、ステップS203において、ID_S領域に対応するデータがあるか否かを確認することなどにより、ステップS202において受信したID_S領域削除コマンドの正当性が検証されたか否かを判断する。
【0188】
ステップS203において、ID_S領域削除コマンドの正当性が検証されたと判断された場合、ステップS204において、制御部31は、メモリ32のSRT45およびSRA46から、ID_Sに対応する領域を削除し、処理が終了される。
【0189】
ステップS203において、ID_S領域削除コマンドの正当性が検証されなかったと判断された場合、ステップS205において、制御部31は、通信部21を介して、サービス登録用リーダライタ2−11に、エラーメッセージを送信し、処理が終了される。
【0190】
図31および図32を用いて説明したサービス削除処理は、一般リーダライタ2−12とICカード1とで実行することも可能である。図33のフローチャートを参照して、一般リーダライタ2−12のサービス削除処理について説明する。
【0191】
ステップS211において、図16、もしくは図18を用いて説明した、リーダライタ2のサービス識別処理が実行され、ステップS212において、図20、図22、もしくは図27を用いて説明したリーダライタ2の認証鍵識別処理が実行され、ステップS213において、図31のステップS193と同様の処理が実行される。
【0192】
ステップS214において、一般リーダライタ2−12の制御部101は、後述する図34のステップS226もしくはステップS227において、ICカード1が送信する信号を受信する。そして、ステップS215およびステップS216において、図16のステップS15およびステップS16と同様の処理が実行され、処理が終了される。
【0193】
次に、図34のフローチャートを参照して、図33を用いて説明した、一般リーダライタ2−12のサービス削除処理と並行して実行される、ICカード1のサービス削除処理について説明する。なお、ここでも、図3を用いて説明したICカード1により、処理が実行される場合について説明するが、図4を用いて説明したICカード1によって処理が実行される場合においても、基本的に同様の処理が実行される。
【0194】
ステップS221において、図17、もしくは図19を用いて説明した、ICカード1のサービス識別処理が実行され、ステップS232において、図21、図23、もしくは図28を用いて説明したICカード1の認証鍵識別処理が実行される。
【0195】
ステップS223において、制御部31は、図33のステップS213において、一般リーダライタ2−12が送信した、ID_S領域削除コマンドを、通信部21を介して受信する。ステップS224において、図32のステップS203と同様の処理が実行される。ステップS224において、コマンドの正当性が検証されたと判断された場合、ステップS225において、図32のステップS204と同様の処理がなされ、ステップS226において、制御部31は、通信部21を介して、一般リーダライタ2−12にACK信号を送信し、処理が終了される。
【0196】
ステップS224において、コマンドの正当性が検証されなかったと判断された場合、ステップS227において、制御部31は、通信部21を介して、一般リーダライタ2−12にNACK信号を送信し、処理が終了される。
【0197】
次に、図35のフローチャートを参照して、ユーザが、一般リーダライタ2−12で、ICカード1に登録されているサービスを受ける場合に実行される、一般リーダライタ2−12のサービス取得処理について説明する。
【0198】
ステップS231において、図16、もしくは図18を用いて説明した、リーダライタ2のサービス識別処理が実行され、ステップS232において、図20、図22、もしくは図27を用いて説明したリーダライタ2の認証鍵識別処理が実行される。
【0199】
ステップS233において、一般リーダライタ2−12の制御部101は、通信部91を介して、ICカード1に、ID_S領域のデータ要求コマンドを送信する。
【0200】
制御部101は、ステップS234において、後述する図36のステップS245において、ICカード1から送信されるデータを受信し、ステップS235において、暗号処理部102の共通鍵処理部112を制御して、ステップS234において受信した暗号化データを、セッション鍵Ksesを用いて復号させる。制御部101は、復号されたデータを用いて、例えば、電子マネーの減算や加算などの所定のデータ処理を行い、処理が終了される。
【0201】
次に、図36のフローチャートを参照して、図35を用いて説明した、一般リーダライタ2−12のサービスデータ取得処理と並行して実行される、ICカード1のサービスデータ取得処理について説明する。なお、ここでも、図3を用いて説明したICカード1により、処理が実行される場合について説明するが、図4を用いて説明したICカード1によって処理が実行される場合においても、基本的に同様の処理が実行される。
【0202】
ステップS241において、図17、もしくは図19を用いて説明した、ICカード1のサービス識別処理が実行され、ステップS232において、図21、図23、もしくは図28を用いて説明したICカード1の認証鍵識別処理が実行される。
【0203】
ステップS243において、ICカード1の制御部31は、通信部21を介して、図35のステップS233において、一般リーダライタ2−12が送信した、ID_S領域のデータ要求コマンドを受信する。制御部31は、ステップS244において、暗号処理部33の共通鍵処理部42を制御して、メモリ32のID_Sに対応する領域に登録しているデータを、セッション鍵Ksesを用いて暗号化させ、ステップS245において、通信部21を介して、暗号化したデータを一般リーダライタ2−12に送信し、処理が終了される。
【0204】
また、ICカード1と一般リーダライタ2−12において、あるサービスに関する情報の授受がなされている場合においても、図8を用いて説明したSRT45に、対応するパーミッション情報が記録されている場合、現在情報の授受がなされている以外のサービスに関する情報の授受を行うことが可能である。図37のフローチャートを参照して、ID_S以外のサービスIDに対応するサービスの実行中に行われる、一般リーダライタ2−12のサービスデータ取得処理について説明する。
【0205】
ステップS251乃至ステップS254において、図35のステップS231乃至ステップS234と同様の処理が実行される。ステップS255において、一般リーダライタ2−12の制御部101は、ステップS254において、ICカード1から受信したデータは、NACK信号か否かを判断する。
【0206】
ステップS255において、受信したデータがNACK信号ではないと判断された場合、ステップS256において、図35のステップS235と同様の処理が実行され、処理が終了される。ステップS255において、受信したデータがNACK信号であると判断された場合、図16のステップS16と同様の処理がなされ、処理が終了される。
【0207】
次に、図38のフローチャートを参照して、図37を用いて説明した、一般リーダライタ2−12のサービスデータ取得処理と並行して実行される、ICカード1のサービスデータ取得処理について説明する。なお、ここでも、図3を用いて説明したICカード1により、処理が実行される場合について説明するが、図4を用いて説明したICカード1によって処理が実行される場合においても、基本的に同様の処理が実行される。
【0208】
ステップS261乃至ステップS263において、図34のステップS241乃至ステップS243と同様の処理が実行される。なお、ステップS261では、サービスID_Sとは異なる、サービスID_Tの認証が行われるものとする。ステップS264において、ICカード1の制御部31は、メモリ32のSRT45およびSRA46に、ステップS263において受信したデータ要求コマンドに対応するID_S領域が登録されているか否かを判断する。ステップS264において、ID_S領域が登録されていないと判断された場合、処理は、ステップS269に進む。
【0209】
ステップS264において、ID_S領域が登録されていると判断された場合、制御部31は、ステップS265において、メモリ32のSRT45の、ID_Sに対応するパーミッション情報フィールドから、ID_Sのパーミッション情報を取得し、ステップS266において、ID_T認証時に、ID_Sのデータの読み込みが許可されているか否かを判断する(すなわち、SRT45のID_Sに対応するパーミッション情報フィールドに、ID_Tによる認証時に、データの読み出し許可、すなわち、roもしくはrwが記載されているか否かを判断する)。ステップS266において、データの読み込みが許可されていないと判断された場合、処理はステップS269に進む。
【0210】
ステップS266において、データの読み込みが許可されていると判断された場合、ステップS267およびステップS268において、図36のステップS244およびステップS245と同様の処理が実行され、処理が終了される。
【0211】
ステップS264において、ID_S領域が登録されていないと判断された場合、もしくは、ステップS266において、データの読み込みが許可されていないと判断された場合、ステップS269において、制御部31は、通信部21を介して、一般リーダライタ2−12にNACK信号を送信し、処理が終了される。
【0212】
図35乃至図48を用いて説明したサービスデータ取得処理によって、ICカード1から一般リーダライタ2−12にデータが取得され、所定の処理がなされたあと、一般リーダライタ2−12は、必要に応じて、ICカード1のメモリ32のSRT45もしくはSRA46の所定の領域に対して、データを書き込む処理を実行する。
【0213】
次に、図39のフローチャートを参照して、一般リーダライタ2−12のサービスデータ書き込み処理について説明する。
【0214】
ステップS281において、図16、もしくは図18を用いて説明した、リーダライタ2のサービス識別処理が実行され、ステップS282において、図20、図22、もしくは図27を用いて説明したリーダライタ2の認証鍵識別処理が実行される。
【0215】
一般リーダライタ2−12の制御部101は、ステップS283において、ICカード1のメモリ32に書き込むために、ICカード1に送信するデータを、暗号処理部102の共通鍵処理部112を制御して、セッション鍵Ksesを用いて暗号化させ、ステップS284において、ICカード1に、データ書き込みコマンドと、ステップS284において暗号化したデータを、通信部91を介して送信し、処理が終了される。
【0216】
次に、図40のフローチャートを参照して、図39を用いて説明した、一般リーダライタ2−12のサービスデータ書き込み処理と並行して実行される、ICカード1のサービスデータ書き込み処理について説明する。なお、ここでも、図3を用いて説明したICカード1により、処理が実行される場合について説明するが、図4を用いて説明したICカード1によって処理が実行される場合においても、基本的に同様の処理が実行される。
【0217】
ステップS291において、図17、もしくは図19を用いて説明した、ICカード1のサービス識別処理が実行され、ステップS232において、図21、図23、もしくは図28を用いて説明したICカード1の認証鍵識別処理が実行される。
【0218】
ステップS293において、制御部31は、通信部21を介して、図39のステップS284において、一般リーダライタ2−12が送信した、データ書き込みコマンドと暗号化データを受信する。制御部31は、ステップS294において、暗号処理部33の共通鍵処理部42を制御して、受信したデータを、セッション鍵Ksesを用いて復号させ、ステップS295において、復号したデータを、メモリ32のSRT45およびSRA46のID_Sに対応するサービス格納領域へ書き込み、処理が終了される。
【0219】
また、ICカード1と一般リーダライタ2−12において、あるサービスに関する情報の授受がなされている場合においても、図8を用いて説明したSRT45に、対応するパーミッション情報が記録されている場合、図37および図38を用いて説明したサービスデータ取得処理と同様に、現在情報の授受がなされている以外のサービスに関するサービスデータ書き込み処理を実行することが可能である。図41のフローチャートを参照して、ID_S以外のサービスIDに対応するサービスの実行中に行われる、一般リーダライタ2−12のサービスデータ書き込み処理について説明する。
【0220】
ステップS301乃至ステップS304において、図39のステップS281乃至ステップS284と同様の処理が実行される。そして、ステップS305およびステップS306において、図16のステップS15およびステップS16と同様の処理がなされ、処理が終了される。
【0221】
次に、図42のフローチャートを参照して、図41を用いて説明した、一般リーダライタ2−12のサービスデータ書き込み処理と並行して実行される、ICカード1のサービスデータ書き込み処理について説明する。なお、ここでも、図3を用いて説明したICカード1により、処理が実行される場合について説明するが、図4を用いて説明したICカード1によって処理が実行される場合においても、基本的に同様の処理が実行される。
【0222】
ステップS311乃至ステップS313において、図40のステップS291乃至ステップS293と同様の処理が実行される。なお、ステップS311では、サービスID_Sとは異なる、サービスID_Tの認証が行われるものとする。ステップS314およびステップS315において、図38のステップS264およびステップS265と同様の処理がなされ、ステップS314において、ID_S領域が登録されていないと判断された場合、処理は、ステップS320に進む。
【0223】
ステップS316において、制御部31は、ID_T認証時に、ID_Sのサービスに対して、データの書き込みが許可されているか否かを判断する(すなわち、SRT45のID_Sに対応するパーミッション情報フィールドに、ID_T認証時のデータの書き込み許可、すなわち、rwが記載されているか否かを判断する)。ステップS316において、データの書き込みが許可されていないと判断された場合、処理はステップS320に進む。
【0224】
ステップS316において、データの書き込みが許可されていると判断された場合、ステップS317およびステップS318において、図40のステップS294およびステップS295と同様の処理が実行される。ステップS319において、制御部31は、通信部21を介して、一般リーダライタ2−12にACK信号を送信し、処理が終了される。
【0225】
ステップS314において、ID_S領域が登録されていないと判断された場合、もしくは、ステップS316において、データの書き込みが許可されていないと判断された場合、ステップS320において、制御部31は、通信部21を介して、一般リーダライタ2−12にNACK信号を送信し、処理が終了される。
【0226】
以上説明したように、一般リーダライタ2−12に、ICカード1を装着し、各種サービスを受けるためには、サービス毎に定められた共通鍵、もしくは公開鍵を用いて認証処理を行わなければならない。これらの認証鍵は、セキュリティの維持のために、しばしばバージョンアップされる(すなわち、鍵が変更される)。ユーザは、図2を用いて説明したバージョンアップ用リーダライタ2−14、もしくは一般リーダライタ2−12に、ICカード1を装着し、図43乃至図47を用いて後述する鍵バージョンアップ処理を実行させることにより、自分自身が管理しているICカード1に登録されている認証鍵を、できるだけ最新に近いバージョンの認証鍵にバージョンアップするようにしなければならない。
【0227】
次に、図43を参照して、サービス毎に定められたバージョンアップ用鍵(図6および図14を用いて説明したバージョンアップ用鍵Kake_vup)を用いて実行される、バージョンアップ用リーダライタ2−14の鍵バージョンアップ処理について説明する。
【0228】
ステップS331において、図16、もしくは図18を用いて説明した、リーダライタ2のサービス識別処理が実行され、ステップS332において、図20、図22、もしくは図27を用いて説明したリーダライタ2の認証鍵識別処理が実行される。
【0229】
ステップS333において、バージョンアップ用リーダライタ2−14の制御部101は、暗号処理部102の共通鍵処理部112を制御して、バージョンアップを行う認証鍵に対応する認証鍵IDを、セッション鍵Ksesを用いて暗号化させ、ICカード1に送信する。ステップS334において、制御部101は、後述する図44のステップS355もしくはステップS360において、ICカード1が送信する信号を受信する。
【0230】
ステップS335において、制御部101は、ステップS334においてICカード1から受信した信号はACK信号であるか否かを判断する。ステップS335において、受信した信号がACK信号ではないと判断された場合、処理は、ステップS339に進む。ステップS335において、受信した信号がACK信号であると判断された場合、ステップS336において、制御部101は、バージョンアップを行う認証鍵に対応する最新バージョン情報と、認証鍵Kakeをメモリ103から読み出し、暗号処理部102の共通鍵処理部112を制御して、セッション鍵Ksesを用いて暗号化させ、通信部91を介して、ICカード1に送信する。
【0231】
そして、ステップS337において、ICカード1が、後述する44のステップS359もしくはステップS360において送信した信号を受信する。ステップS338において、ステップS335と同様の処理がなされ、ステップS338において、受信した信号がACK信号であると判断された場合、処理が終了される。ステップS335およびステップS338において、受信した信号がACK信号ではないと判断された場合、ステップS339において、図16のステップS16と同様の処理がなされ、処理が終了される。
【0232】
次に、図44のフローチャートを参照して、図43を用いて説明した、バージョンアップ用リーダライタ2−14の鍵バージョンアップ処理と並行して実行される、ICカード1の鍵バージョンアップ処理について説明する。なお、ここでも、図3を用いて説明したICカード1により、処理が実行される場合について説明するが、図4を用いて説明したICカード1によって処理が実行される場合においても、基本的に同様の処理が実行される。
【0233】
ステップS351において、図17、もしくは図19を用いて説明した、ICカード1のサービス識別処理が実行され、ステップS352において、図21、図23、もしくは図28を用いて説明したICカード1の認証鍵識別処理が実行される。
【0234】
ステップS353において、制御部31は、通信部21を介して、図43のステップS333において、バージョンアップ用リーダライタ2−14が送信した、暗号化された認証鍵IDを受信し、暗号処理部33の共通鍵処理部42を制御して、受信したデータを、セッション鍵Ksesを用いて復号させる。ステップS354において、制御部31は、復号したデータを基に、メモリ32のSRT45およびSRA46のID_Sに、対応する認証鍵IDが存在するか否かを判断する。ステップS354において、認証鍵IDが存在しないと判断された場合、処理は、ステップS360に進む。
【0235】
ステップS354において、認証鍵IDが存在すると判断された場合、制御部31は、ステップS355において、通信部21を介して、バージョンアップ用リーダライタ2−14に、ACK信号を送信し、ステップS356において、図43のステップS336において、バージョンアップ用リーダライタ2−14が送信した、暗号化された最新バージョン情報と認証鍵Kakeを、通信部21を介して受信し、暗号処理部33の共通鍵処理部42を制御して、受信したバージョン情報を、セッション鍵Ksesを用いて復号させる。
【0236】
ステップS357において、制御部31は、復号したデータを基に、受信したバージョン情報は正しいか否か(すなわち、自分自身がすでに保有している認証鍵のバージョン情報より新しいバージョンであるか否か)を判断する。ステップS357において、バージョン情報が正しくないと判断された場合、処理は、ステップS360に進む。
【0237】
ステップS357において、バージョン情報は正しいと判断された場合、制御部31は、暗号処理部33の共通鍵処理部42を制御して、認証鍵Kakeを、セッション鍵Ksesを用いて復号させ、メモリ32のSRA46における、認証鍵Kakeが記載される領域に書き込み、ステップS359において、バージョンアップ用リーダライタ2−14に、通信部21を介してACK信号を送信し、処理が終了される。
【0238】
ステップS354において、認証鍵IDが存在しないと判断された場合、およびステップS357において、バージョン情報が正しくないと判断された場合、ステップS360において、制御部31は、バージョンアップ用リーダライタ2−14に、通信部21を介してNACK信号を送信し、処理が終了される。
【0239】
また、ICカード1と一般リーダライタ2−12において、あるサービスに関する情報の授受がなされている場合において、図8を用いて説明したSRT45に、対応するパーミッション情報が記録されている場合、図37および図38を用いて説明したサービスデータ取得処理や、図41および図42を用いて説明したサービスデータ書き込み処理と同様に、現在情報の授受がなされている以外のサービスに関する鍵バージョンアップ処理を実行することが可能である。図45のフローチャートを参照して、ID_S以外のサービスIDに対応するサービスの実行中に行われる、一般リーダライタ2−12の鍵バージョンアップ処理について説明する。
【0240】
ステップS371およびステップS372において、図44のステップS331およびステップS332と同様の処理が実行される。そして、一般リーダライタ2−12の制御部101は、ステップS373において、ID_Sに対応するサービスの認証鍵のバージョンアップコマンドを、通信部91を介してICカード1に送信し、ステップS374において、後述する図46のステップS397もしくは図47のステップS405において、ICカード1が送信するデータを受信し、ステップS375において、ICカード1から受信した信号は、ACK信号か否かを判断する。
【0241】
ステップS375において、受信した信号がACK信号でないと判断された場合、処理は、ステップS382に進む。ステップS375において、受信した信号がACK信号であると判断された場合、ステップS376乃至ステップS382において、図43のステップS333乃至ステップS339と同様の処理がなされ、処理が終了される。
【0242】
次に、図46および図47のフローチャートを参照して、図45を用いて説明した、バージョンアップ用リーダライタ2−14の鍵バージョンアップ処理と並行して実行される、ICカード1の鍵バージョンアップ処理について説明する。なお、ここでも、図3を用いて説明したICカード1により、処理が実行される場合について説明するが、図4を用いて説明したICカード1によって処理が実行される場合においても、基本的に同様の処理が実行される。
【0243】
ステップS391およびステップS392において、図44のステップS351およびステップS352と同様の処理が実行される。なお、ステップS391では、サービスID_Sとは異なる、サービスID_Tの認証が行われるものとする。ステップS393において、制御部31は、図45のステップS373において、バージョンアップ用リーダライタ2−14が送信した、ID_Sの認証鍵のバージョンアップコマンドを受信する。
【0244】
ステップS394およびステップS395において、図38のステップS264およびステップS265と同様の処理がなされ、ステップS394において、ID_S領域が登録されていないと判断された場合、処理は、ステップS405に進む。
【0245】
ステップS396において、制御部31は、ID_T認証時に、ID_Sの認証鍵のバージョンアップが許可されているか否かを判断する(すなわち、SRT45のID_Sに対応するパーミッション情報フィールドに、ID_T認証時のvupの許可が記載されているか否かを判断する)。ステップS396において、認証鍵のバージョンアップが許可されていないと判断された場合、処理は、ステップS405に進む。
【0246】
ステップS396において、認証鍵のバージョンアップが許可されていると判断された場合、ステップS397において、制御部31は、通信部21を介して、バージョンアップ用リーダライタ2−14に、ACK信号を送信する。
【0247】
そして、ステップS398乃至ステップS405において、図44のステップS353乃至ステップS360と同様の処理が実行され、処理が終了される。
【0248】
次に、図48乃至図51のフローチャートを参照して、図13を用いて説明したモジュール間通信について説明する。モジュール間通信は、図4を用いて説明したICカード1と、モジュール間通信用リーダライタ2−13によって実行される。ここでは、図4を用いて説明したICカード1の通信部51および共通鍵サービス処理部52を、図13を用いて説明した共通鍵モジュール122とし、図4を用いて説明した通信部53および公開鍵サービス処理部54を、図13を用いて説明した公開鍵モジュール121として説明する。
【0249】
まず、図48のフローチャートを参照して、共通鍵モジュール122が、モジュール間通信用リーダライタ2−13と共有するセッション鍵と、公開鍵モジュール121が、モジュール間通信用リーダライタ2−13と共有するセッション鍵とが異なる場合におけるモジュール間通信について説明する。
【0250】
ステップS411において、モジュール間通信用リーダライタ2−13は、図16、もしくは図18を用いて説明した、リーダライタ2のサービス識別処理を実行し、ステップS412において、ICカード1の公開鍵モジュール121は、図17、もしくは図19を用いて説明した、ICカード1のサービス識別処理を実行し、モジュール間リーダライタ2−13と、公開鍵モジュール121の間で、セッション鍵Kses1を共有する。
【0251】
ステップS413において、モジュール間通信用リーダライタ2−13は、図16、もしくは図18を用いて説明した、リーダライタ2のサービス識別処理を実行し、ステップS414において、ICカード1の共通鍵モジュール122は、図17、もしくは図19を用いて説明した、ICカード1のサービス識別処理を実行し、モジュール間リーダライタ2−13と、共通鍵モジュール122の間で、セッション鍵Kses2を共有する。
【0252】
ステップS415において、モジュール間通信用リーダライタ2−13の制御部101は、ステップS411およびステップS413において実行されたリーダライタ2のサービス識別処理において得られたICカード1のカードIDを基に、公開鍵モジュール121と、共通鍵モジュール122の2つのカードIDが一致したか否かを判断する。ステップS415において、カードIDが一致しないと判断された場合、ステップS416において、図16のステップS16と同様の処理が実行される。
【0253】
ステップS415において、2つのカードIDが一致すると判断された場合、ステップS417において、モジュール間通信用リーダライタ2−13の制御部101は、モジュールデータ移動コマンドを公開鍵モジュール121に送信する。
【0254】
公開鍵モジュール121の制御部61は、ステップS418において、モジュールデータ移動開始コマンドをモジュール間通信用リーダライタ2−13から受信し、暗号処理部33の、共通鍵処理部42を制御して、移動するデータをセッション鍵Kses1で暗号化させ、ステップS419で、暗号化データをモジュール間通信用リーダライタ2−13に送信する。
【0255】
モジュール間通信用リーダライタ2−13の制御部101は、ステップS420において、暗号処理部102の、共通鍵処理部112を制御して、受信したデータをセッション鍵Kses1で復号し、ステップS421において、データをセッション鍵Kses2で暗号化させ、共通鍵モジュール122に送信する。共通鍵モジュール122の制御部61は、ステップS422において、暗号処理部63の、共通鍵処理部42を制御して、受信したデータをセッション鍵Kses2で復号させ、ステップS423において、復号したデータをメモリ62の対応する領域に保存して利用する。
【0256】
次に、図49のフローチャートを参照して、共通鍵モジュール122が、モジュール間通信用リーダライタ2−13と共有するセッション鍵と、公開鍵モジュール121が、モジュール間通信用リーダライタ2−13と共有するセッション鍵とが同一である場合におけるモジュール間通信について説明する。
【0257】
ステップS431において、モジュール間通信用リーダライタ2−13は、図16、もしくは図18を用いて説明した、リーダライタ2のサービス識別処理を実行し、ステップS432において、ICカード1の公開鍵モジュール121は、図17、もしくは図19を用いて説明した、ICカード1のサービス識別処理を実行し、モジュール間リーダライタ2−13と、公開鍵モジュール121の間で、セッション鍵Kses1を共有する。
【0258】
ステップS433において、モジュール間通信用リーダライタ2−13は、図16、もしくは図18を用いて説明した、リーダライタ2のサービス識別処理を実行し、ステップS434において、ICカード1の共通鍵モジュール122は、図17、もしくは図19を用いて説明した、ICカード1のサービス識別処理を実行し、モジュール間リーダライタ2−13と、共通鍵モジュール122の間で、セッション鍵Kses1を共有する。
【0259】
ステップS435乃至ステップS439において、図48のステップS415乃至ステップS419と同様の処理が実行される。そして、ステップS440において、モジュール間通信用リーダライタ2−13の制御部101は、受信したデータを、共通鍵モジュール122に送信する。図48のステップS420およびステップS421においては、受信したデータをセッション鍵Kses1で復号し、復号したデータをセッション鍵Kses2で暗号化した後に共通鍵モジュール122に送信したが、ここでは、共通鍵モジュール122も、セッション鍵Kses1を有しているため、これらの処理が必要なくなる。
【0260】
共通鍵モジュール122の制御部61は、ステップS411において、暗号処理部63を制御して、受信したデータをセッション鍵Kses1で復号し、ステップS422において、復号したデータをメモリ62の対応する領域に保存して利用する。
【0261】
次に、図50のフローチャートを参照して、共通鍵モジュール122が、モジュール間通信用リーダライタ2−13と共有するセッション鍵と、公開鍵モジュール121が、モジュール間通信用リーダライタ2−13と共有するセッション鍵とが異なるが、モジュール間通信用リーダライタ2−13が、共通鍵モジュール122が有するセッション鍵を、公開鍵モジュール121が有するもう一方のセッション鍵で暗号化し、公開鍵モジュール121に供給するようになされている場合におけるモジュール間通信について説明する。
【0262】
ステップS451乃至ステップS456において、図48のステップS411乃至ステップS416と同様の処理が実行される。すなわち、モジュール間リーダライタ2−13と、公開鍵モジュール121の間で、セッション鍵Kses1が共有され、モジュール間リーダライタ2−13と、共通鍵モジュール122の間で、セッション鍵Kses2が共有される。
【0263】
ステップS457において、モジュール間通信用リーダライタ2−13の制御部101は、暗号処理部102を制御して、セッション鍵Kses2を、セッション鍵Kses1で暗号化させ、公開鍵モジュール121に送信する。公開鍵モジュール121の制御部61は、暗号処理部33の共通鍵処理部42を制御して、受信したデータをセッション鍵Kses1で復号させることにより、セッション鍵Kses2を取り出す。
【0264】
ステップS459において、図48のステップS417と同様の処理が実行される。ステップS460において、公開鍵モジュール121の制御部61は、移動するデータをセッション鍵Kses2で暗号化し、暗号化データをモジュール間通信用リーダライタ2−13に送信する。
【0265】
ステップS461において、図49のステップS440と同様の処理が実行される。そして、ステップS462およびステップS463において、図48のステップS422およびS423と同様の処理が実行される。
【0266】
すなわち、図48のステップS420およびステップS421においては、受信したデータをセッション鍵Kses1で復号し、復号したデータをセッション鍵Kses2で暗号化した後に共通鍵モジュール122に送信したが、ここでは、図49を用いて説明した処理と同様に、共通鍵モジュール122と、公開鍵モジュール121とが、同一のセッション鍵Kses2を得ることができるため、これらの処理を行う必要がない。
【0267】
そして、図51のフローチャートを参照して、公開鍵モジュール121と共通鍵モジュール122が、共通秘密鍵K_commonを共有し、それを用いて相互認証を行い、更に、共通のセッション鍵Ksesを共有する場合の、モジュール間通信について説明する。
【0268】
ステップS471およびステップS472において、公開鍵モジュール121と共通鍵モジュール122は、共通秘密鍵K_commonにより、相互認証を行い、セッション鍵Ksesを共有する。ステップS473において、モジュール間通信用リーダライタ2−13は、ステップS471およびステップS472における相互認証の通信路のみ提供する(すなわち、公開鍵モジュール121とも共通鍵モジュール122とも、セッション鍵の共有は行われない)。
【0269】
ステップS474において、図48のステップS417と同様の処理が実行される。ステップS475において、公開鍵モジュール121の制御部61は、暗号処理部33の共通鍵処理部42を制御して、移動するデータをセッション鍵Ksesで暗号化させ、暗号化データをモジュール間通信用リーダライタ2−13に送信する。そして、ステップS476乃至ステップS478において、図49のステップS421乃至ステップS423と同様の処理が実行される。
【0270】
すなわち、図51を用いて説明したモジュール間通信においては、モジュール間通信用リーダライタ2−13は、データの通信路を提供するのみで、モジュール間通信されるデータを暗号化したり、復号することはない。
【0271】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0272】
この記録媒体は、図9に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク115(フロッピーディスクを含む)、光ディスク116(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク117(MD(Mini-Disk)を含む)、もしくは半導体メモリ118などよりなるパッケージメディアなどにより構成される。
【0273】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0274】
【発明の効果】
本発明のデータ記憶装置によれば、所定のリーダライタと一枚のICカードで、共通鍵による認証を行うサービスに関するデータの授受と、公開鍵による認証を行うサービスに関するデータの授受を可能とすることができる。
【0275】
本発明の情報処理装置によれば、所定のリーダライタと一枚のICカードで、共通鍵による認証を行うサービスに関するデータの授受と、公開鍵による認証を行うサービスに関するデータの授受を可能とすることができる。
【図面の簡単な説明】
【図1】ICカードとリーダライタの通信方式および認証方式について説明するための図である。
【図2】カード発行者、サービス提供者、およびカード保持者の関係について説明するための図である。
【図3】ICカードの構成を示すブロック図である。
【図4】ICカードの構成を示すブロック図である。
【図5】図3および図4の暗号処理部について説明するための図である。
【図6】図3および図4のSRAについて説明するための図である。
【図7】図6のSRAに格納される認証用鍵情報について説明するための図である。
【図8】図3および図4のSRTについて説明するための図である。
【図9】リーダライタの構成を示すブロック図である。
【図10】サービス登録用リーダライタのメモリ情報を説明するための図である。
【図11】一般リーダライタのメモリ情報を説明するための図である。
【図12】モジュール間通信用リーダライタのメモリ情報を説明するための図である。
【図13】モジュール間通信を説明するための図である。
【図14】バージョンアップ用リーダライタのメモリ情報を説明するための図である。
【図15】ICカードとリーダライタの認証処理について説明するためのフローチャートである。
【図16】リーダライタのサービス識別処理について説明するためのフローチャートである。
【図17】ICカードのサービス識別処理について説明するためのフローチャートである。
【図18】リーダライタのサービス識別処理について説明するためのフローチャートである。
【図19】ICカードのサービス識別処理について説明するためのフローチャートである。
【図20】リーダライタの認証鍵識別処理について説明するためのフローチャートである。
【図21】ICカードの認証鍵識別処理について説明するためのフローチャートである。
【図22】リーダライタの認証鍵識別処理について説明するためのフローチャートである。
【図23】ICカードの認証鍵識別処理について説明するためのフローチャートである。
【図24】証明書について説明するための図である。
【図25】署名生成処理について説明するためのフローチャートである。
【図26】署名検証処理について説明するためのフローチャートである。
【図27】リーダライタの認証鍵識別処理について説明するためのフローチャートである。
【図28】ICカードの認証鍵識別処理について説明するためのフローチャートである。
【図29】サービス登録用リーダライタのサービス登録処理について説明するためのフローチャートである。
【図30】ICカードのサービス登録処理について説明するためのフローチャートである。
【図31】サービス登録用リーダライタのサービス削除処理について説明するためのフローチャートである。
【図32】ICカードのサービス削除処理について説明するためのフローチャートである。
【図33】一般リーダライタのサービス削除処理について説明するためのフローチャートである。
【図34】ICカードのサービス削除処理について説明するためのフローチャートである。
【図35】一般リーダライタのサービスデータ取得処理について説明するためのフローチャートである。
【図36】ICカードのサービスデータ送信処理について説明するためのフローチャートである。
【図37】一般リーダライタのサービスデータ取得処理について説明するためのフローチャートである。
【図38】ICカードのサービスデータ送信処理について説明するためのフローチャートである。
【図39】一般リーダライタのサービスデータ書き込み処理について説明するためのフローチャートである。
【図40】ICカードのサービスデータ書き込み処理について説明するためのフローチャートである。
【図41】一般リーダライタのサービスデータ書き込み処理について説明するためのフローチャートである。
【図42】ICカードのサービスデータ書き込み処理について説明するためのフローチャートである。
【図43】バージョンアップ用リーダライタの鍵バージョンアップ処理について説明するためのフローチャートである。
【図44】ICカードの鍵バージョンアップ処理について説明するためのフローチャートである。
【図45】一般リーダライタの鍵バージョンアップ処理について説明するためのフローチャートである。
【図46】ICカードの鍵バージョンアップ処理について説明するためのフローチャートである。
【図47】ICカードの鍵バージョンアップ処理について説明するためのフローチャートである。
【図48】モジュール間通信処理について説明するためのフローチャートである。
【図49】モジュール間通信処理について説明するためのフローチャートである。
【図50】モジュール間通信処理について説明するためのフローチャートである。
【図51】モジュール間通信処理について説明するためのフローチャートである。
【符号の説明】
1 ICカード1 リーダライタ、 21 通信部、 31 制御部、 32メモリ、 33 暗号処理部、 41 公開鍵処理部、 42 共通鍵処理部、 43 その他の暗号処理部、 45 SRT、 46 SRA、 51 通信部、 52 共通鍵サービス処理部、 53 通信部、 54 公開鍵サービス処理部、 61 制御部、 62 メモリ、63 暗号処理部、 91 通信部、 101 制御部、 102 暗号処理部、 103 メモリ、 111 公開鍵処理部、 112 共通鍵処理部、 113 その他の暗号処理部、 105 表示部、 106 入力部、 121 公開鍵モジュール、 122 共通鍵モジュール[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data storage device.And information processing apparatusFor example, in the exchange of data between an IC card and a reader / writer, it is possible to exchange data related to a service that performs authentication using a common key and data related to a service that performs authentication using a public key with a single IC card. Data storage deviceAnd information processing apparatusAbout.
[0002]
[Prior art]
The use of IC (Integrated Circuit) cards is increasing in electronic money systems and security systems. The IC card has a CPU (Central Processing Unit) that performs various types of processing and a memory that stores data necessary for processing, etc., and uses electromagnetic waves while being in electrical contact with a predetermined reader / writer. Thus, data is transmitted and received without contact. In general, necessary power is supplied to an IC card that transmits and receives data without contact with a reader / writer using electromagnetic waves.
[0003]
A common key method or a public key method is used for authentication of the IC card and the reader / writer. In the common key method, the key used for encryption and the key used for decryption are the same. In order to use common key encryption, it is necessary to share the common key between the sender and the receiver in advance, so the key used for encryption must be secured using a secure means different from the communication path. (That is, the IC card and the reader / writer must share a common key in advance). The encryption is basically performed by combining “transposition (transliteration)” for changing the order of characters and “substitution” for replacing one character with another according to a certain rule. The encryption algorithm and key indicate in what order the characters are replaced and which characters are replaced. In encryption, substitution encryption for shifting characters and transposition encryption for changing the order of characters are basic encryption conversion, and the number of characters to be shifted is a key.
[0004]
The public key method uses a pair of “encryption key” and “decryption key” in an encryption system, and the encryption key is made public, and the decryption key is managed by the key issuer and kept secret. It is something to keep. When transmitting data, the communication text is encrypted using the encryption key, and the receiving side uses the decryption key to restore it. Since the two keys are determined based on a certain mathematical relationship, it is not impossible to obtain the decryption key from the encryption key, but it is not practical from the viewpoint of computational complexity.
[0005]
In the public key cryptosystem, the encryption key does not need to be concealed as compared with the conventional common key cryptosystem, so the distribution of the encryption key is easy, and each user can individually decrypt the ciphertext. Since it only needs to have the decryption key you have, there is no need to distribute the decryption key, and it has the advantage of having a message authentication function with a digital signature, but it requires authentication processing compared to a common key encryption system The time will be longer.
[0006]
The digital signature is a method for indicating that the message is transmitted from a legitimate sender and has not been altered in the middle of electronic mail or online transaction. In normal ciphertext communication, encryption is performed with a public key. For example, in the case of an RSA (Rivest, Shamir, Adleman) public key encryption system, conversely, “encryption with a decryption key (secret key)” is performed. "Will be a digital signature. In another encryption method, a hash value is obtained for data to be signed, and is encrypted with a secret key.
[0007]
To verify this signature, the public key is used (ie, the roles of encryption key and decryption key are interchanged). Since public keys are widely available, anyone can easily verify the validity of their signatures. If the ciphertext can be correctly restored with the public key and a meaningful sentence is obtained, it can be confirmed that it is the correct sender. This is because only a legitimate sender knows the private key (the one that signed it), and in order to create a digital signature that can be restored with the public key, you must know the paired private key. Because it should not. In addition, when the data has been tampered with, the data cannot be correctly decrypted, and thus can be used for prevention / detection of tampering. Signature verification is performed by comparing the value decrypted using the public key and a hash value separately calculated from the data, and if they match, it is determined that the data has not been tampered with, If they do not match, it is determined that the data has been tampered with.
[0008]
Further, a third party organization for the purpose of issuing a certificate for proving that the data issuance source is a reliable organization is called a certificate authority (CA).
[0009]
[Problems to be solved by the invention]
Conventionally, for example, when using a ticket gate of a station using an IC card or performing authentication of entry permission using an IC card, a service that performs authentication using a common key, for example, using an IC card When receiving a service that performs authentication using a public key, such as an electronic money service that pays for a product, the user needs to have a different IC card. That is, services with different authentication methods cannot be used with the same IC card.
[0010]
The present invention has been made in view of such a situation, and exchanges data related to a service for authentication using a common key and authentication using a public key with a single IC card with a predetermined reader / writer. It is possible to exchange data related to the services to be performed.
[0011]
[Means for Solving the Problems]
The data storage device of the present invention is compatible with both contact-type and non-contact-type information processing devices, and controls modulation and demodulation of input / output data for the information processing device. First control means for controlling input of information for identifying a predetermined service from the first authentication unit, and first authentication that is data corresponding to the predetermined service and is an authentication key necessary for authentication of the predetermined service Authentication using at least one of the key and the second authentication key, the second control means for controlling storage of information for identifying a predetermined service, and the first authentication key among the authentication keys Input is controlled by the first authentication processing execution means for executing the processing, the second authentication processing execution means for executing the authentication processing using the second authentication key of the authentication keys, and the first control means. Identify a given service Based on the order information, and controls one of the first authentication process execution means and the second authentication processing executing means, and a third control means for executing authentication processing with the information processing apparatusSelection means for selecting the level of the first authentication key or the second authentication key for the predetermined service, and the data controlled for storage by the second control means is necessary for authentication of the predetermined service. The first authentication key or the second authentication key of a predetermined version is prepared at a plurality of levels, and the first control means has the first authentication key or the second authentication key at the level selected by the selection means. Controls the output of the first information related to the version of the authentication key, and controls the input of the second information indicating whether or not to permit the authentication processing based on the level determined based on the version from the information processing apparatus. When the authentication processing by that level is not permitted, the selection means newly selects a different level of the first authentication key or the second authentication key, and the first control means newly selects by the selection means The When the first authentication key or the second authentication key at the same level and the output of the first information regarding the version of the second authentication key are controlled, and the authentication processing according to the level is permitted, the third control means is the first control means. Based on the second information whose input is controlled by the control, either the first authentication processing execution means or the second authentication processing execution means is controlled to execute the authentication processing with the information processing apparatus.It is characterized by that.
[0018]
The information processing apparatus according to the present invention is compatible with both a contact-type and a non-contact-type data storage apparatus, and controls the modulation and demodulation of input / output data for the data storage apparatus. First control means for controlling the output of information for identifying a predetermined service to the data, and data corresponding to the predetermined service, which is an authentication key necessary for authentication of the predetermined serviceMultiple versions of multiple levelsDisplay at least one of the first authentication key and the second authentication key, second control means for controlling storage of information for identifying a predetermined service, and information corresponding to the predetermined service Display means; input means for receiving a signal indicating selection of a predetermined service by a user; first authentication processing execution means for executing authentication processing using a first authentication key of authentication keys; Processing of second authentication processing execution means for executing authentication processing using second authentication key out of keys, first authentication processing execution means, second authentication processing execution means, and second control means Third control means for controllingAnd, based on the first information about the version of the first authentication key or the second authentication key at the predetermined level for the predetermined service from the data storage device, the input of which is controlled by the first control means, A determination means for determining whether or not to permit the authentication process;And when there are a plurality of predetermined services that can be authenticated by the first authentication processing execution means or the second authentication processing execution means, the display means displays information corresponding to the plurality of predetermined services that can be authenticated. The third control means controls either the first authentication processing execution means or the second authentication processing execution means based on the signal indicating the selection of the predetermined service input by the input means,The version of the first authentication key or the second authentication key of the level at which the authentication process is permitted by the judging meansAuthentication process with data storage deviceThe first control means controls the output to the data storage device of the second information indicating whether or not to permit the authentication processing according to the level according to the determination result by the determination means.It is characterized by that.
[0026]
In the data storage device of the present invention,It is compatible with both information processing devices of contact and non-contact communication systems, and modulation and demodulation of input / output data for the information processing device is controlled to identify a predetermined service from the information processing device Input of information for the control, data corresponding to a predetermined service, at least one of a first authentication key and a second authentication key, which is an authentication key necessary for authentication of the predetermined service, and Storage of information for identifying a predetermined service is controlled, authentication processing using a first authentication key out of authentication keys is executed, and authentication processing using a second authentication key out of the authentication keys Is executed and one of the authentication process using the first authentication key and the authentication process using the second authentication key is controlled based on the information for identifying the predetermined service whose input is controlled. Authentication with information processing equipment Management is performed.Further, the level of the first authentication key or the second authentication key for the predetermined service is selected, and the data whose storage is controlled includes a predetermined version of the first authentication key or a predetermined version necessary for authentication of the predetermined service. The second authentication key is prepared at a plurality of levels, and the output of the first information related to the first authentication key or the second authentication key at the selected level is controlled, and the information processing apparatus When the input of the second information indicating whether or not to permit the authentication process based on the level determined based on the version is controlled and the authentication process based on the level is not permitted, the first authentication key or A different level of the second authentication key is newly selected, and the output of the first information relating to the first authentication key or the second authentication key version of the newly selected level is controlled, and the level is controlled. When the authentication process is permitted, either the authentication process using the first authentication key or the authentication process using the second authentication key is controlled based on the second information whose input is controlled. An authentication process with the information processing apparatus is executed.
[0027]
In the information processing apparatus of the present invention,It can be used for data storage devices of both contact and non-contact communication systems, and modulation and demodulation of input / output data for the data storage device is controlled, and a predetermined service to the data storage device is identified. Data corresponding to a predetermined service is controlled, and is an authentication key necessary for authentication of the predetermined serviceMultiple versions of multiple levelsStorage of information for identifying at least one of the first authentication key and the second authentication key and a predetermined service is controlled, information corresponding to the predetermined service is displayed, and the predetermined service by the user is displayed. The signal indicating the selection of the authentication key is received, the authentication process using the first authentication key out of the authentication keys is executed, the authentication process using the second authentication key out of the authentication keys is executed, Authentication processing using one authentication key, authentication processing using a second authentication key, and data corresponding to a predetermined service, the first authentication key and the second data required for authentication of the predetermined service Control is performed to control storage of information for identifying at least one of the authentication keys and a predetermined service. In addition, when there are a plurality of predetermined services that can be authenticated by the authentication processing using the first authentication key or the authentication processing using the second authentication key, information corresponding to the plurality of predetermined services that can be authenticated is provided. Based on a signal indicating selection of a predetermined service to be displayed and input, either the authentication process using the first authentication key or the authentication process using the second authentication key is controlled, and the data storage device The authentication process is executed.Whether to allow the authentication process based on the first information from the data storage device whose input is controlled and the first authentication key or the second authentication key version of the predetermined level for the predetermined service. In accordance with the determination result, the output of the second information indicating whether or not to permit the authentication processing at that level to the data storage device is controlled.
[0028]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0029]
FIG. 1 shows the relationship between an IC card and a reader / writer. The
[0030]
For example, the
[0031]
For example, when the
[0032]
In FIG. 1, the reader / writer 2-1 to the contactless common key to the reader /
[0033]
Next, a card issuer, a service provider, and a card holder will be described with reference to FIG.
[0034]
The
[0035]
The
[0036]
The
[0037]
When the
[0038]
In addition, the
[0039]
Further, when the
[0040]
FIG. 3 is a block diagram showing the configuration of the
[0041]
The
[0042]
When the corresponding
[0043]
The
[0044]
The IC
[0045]
The
[0046]
The
[0047]
Next, FIG. 4 is a block diagram showing a configuration different from that of FIG. In the
[0048]
The
[0049]
The
[0050]
The common key
[0051]
Similarly to the
[0052]
The
[0053]
The
[0054]
The public key
[0055]
Next, the public
[0056]
As shown in FIG. 5A, the public
[0057]
The RSA signature generation / verification unit 71 performs encryption and decryption using two keys. In the RSA cryptosystem, two keys are determined as follows, for example.
[0058]
Choose two large primes p and q and find the product n = pq. Then, an integer e that is less than (p−1) × (q−1) and is relatively prime with (p−1) × (q−1) is selected, and an integer d that satisfies the following equation (1) is obtained.
e × d = 1 mod ((p−1) × (q−1)) (1)
Then, (e, n) is a public key and d is a secret key.
[0059]
When the encrypted data C is generated by encrypting the sentence M, the following equation (2) is used.
C = Me mod n (2)
Further, when decrypting the encrypted data C, the following equation (3) is used.
M = Cd mod n (3)
[0060]
The DSA signature generation / verification unit 72 includes a random number generation unit (not shown). DSA improves ElGamal signature based on the difficulty of DLP (Discrete Logarithm Problem), shortens the signature length to 160bit x 2, and operates signature key generation etc. in a specific way Digital signature algorithm. In signature generation, it is assumed that SHA-1 (Secure Hash Algorithm-1) is used as a hash function (data compression function). The DSA method was developed as a digital signature standard by NIST (National Institute of Standards and Technology), a US government agency, and became a Federal Information Processing Standard FIPS PUB 186. It was decided.
[0061]
5B, the common
[0062]
The DES common key cryptosystem is a common key cryptosystem established by NIST in 1977 and standardized by the American National Standards Institute (ANSI) in 1981. The authentication algorithm for the key of the DES common key encryption system has been made public and widely used as a representative of the common key encryption system.
[0063]
The DES common key encryption system is an encryption system that performs encryption and decryption processing by dividing data into 64-bit units. In the DES algorithm, encryption and decryption are symmetrical, and the original text can be restored by converting the received cipher text again using the same key. In the DES common key encryption system, a simple combination of bit position transposition and XOR operation is repeated 16 times. Internally, there is no data feedback or condition judgment part, and the processing is sequential, so if it is pipelined, it can be processed at high speed. The algorithm was originally determined on the premise of LSI, and many DES chips were made.
[0064]
RC5 is an RC series common key cryptosystem developed by RSA Data Security and Massachusetts Institute of Technology, and was proposed in 1995. RC5 is a block having a round of variable length block size, variable length key size, and variable number of times (data-dependent-rotations (data dependent bit rotation) algorithm in which the amount of bit rotation varies depending on the original data and key). It is an encryption method. The block size can be 32, 64, or 128 bits, the number of rounds is variable from 0 to 255, and the key size is variable from 0 to 2048 bits. The RC5 algorithm is publicly available and is available as RFC2040.
[0065]
The AES scheme is a US government next-generation standard encryption scheme that is being selected by NIST. DES, which is currently used as a standard cipher, was established in 1977, and its reliability has been decreasing year by year as the performance of computers and the development of cryptographic theories have increased in recent years. Therefore, NIST has solicited an encryption method from all over the world as a candidate for AES as a next-generation encryption standard to replace DES. Fifteen methods from around the world have been reviewed and will be decided by the beginning of the 21st century.
[0066]
For example, when using a digital signature, the other
[0067]
Since the digital signature uses a public key cryptosystem, the problem is that the processing speed is slow. However, by creating a message digest, the time taken to create the digital signature is reduced. Furthermore, since the hash function has a characteristic that reacts greatly to data tampering, when verifying a digital signature, it is sent with a message digest obtained by decrypting the digital signature with a verification key. By comparing the message digests created by applying a hash function to the message body, it can be easily confirmed whether the message body has been tampered with.
[0068]
SHA-1 is a one-way hash function that generates a 160-bit hash value from a message of arbitrary length. Like DSA, it was developed by NIST and was defined by FIST PUB 180 by NIST. The draft standard (N544) is basically compliant with FIPS PUB 180.
[0069]
MD5 is one of widely used message digest function algorithms, and is defined in RFC1321. The algorithm of MD5 is determined so that it can be efficiently calculated on a 32-bit computer. There are other similar algorithms, MD4 and MD2.
[0070]
Next, information stored in the
[0071]
In order to allow the user who has the
[0072]
That is, in the
[0073]
The authentication key information includes, for example, an authentication key ID, a key level and version, an authentication method, and an identification authentication key Kake used to identify a plurality of authentication keys (if necessary, a certificate for the authentication key). Etc.). In addition, in the service data, in addition to the user ID, when Service Individual Info k is an electronic money service, for example, Service Individual Info k is an automatic ticket gate service such as balance information and accumulated points of electronic money. In this case, valid section information and the like are stored.
[0074]
Next, the authentication key information registered in Service Individual Info of FIG. 6 will be described with reference to FIG.
[0075]
In FIG. 7A, the region No. 1 and region No. Corresponding to each of 2, an authentication key ID, a key version, an authentication method, an identification authentication key Kake, and certificate data as necessary are registered. The authentication key identification process when the authentication key information is registered as shown in FIG. 7A will be described later with reference to FIGS.
[0076]
In FIG. 7B, the region No. 1 to region No. Corresponding to each of 7, authentication key ID, key level, key version, authentication method, identification authentication key Kake, and certificate data as necessary are registered. As shown in FIG. 7B, authentication key identification processing when authentication key information including the key level is registered will be described later with reference to FIGS. 27 and 28.
[0077]
Next, information stored in the
[0078]
In the
[0079]
In the registered service ID field of the permission information, all service IDs of registered services are listed. In the permission information field, when the corresponding service is executed, the service ID that can access the service described in the registered service ID field and what kind of processing is permitted The information which shows is described. For example, when reading and writing are permitted, “rw” is described as permission information, and when only reading is permitted, when “ro” is described as permission information and key version upgrade is permitted “Vup” is described as permission information. “Rw” and “ro” are not allowed for the same service ID, but “rw” and “vup” and “ro” and “vup” are allowed for the same service ID and are listed in the permission information field. It is possible.
[0080]
That is, when the permission information shown in FIG. 8 is registered in the
[0081]
The permission information is registered when a corresponding service is registered in the
[0082]
Next, FIG. 9 is a block diagram showing a configuration of the reader /
[0083]
The reader /
[0084]
The
[0085]
The
[0086]
The reader /
[0087]
A
[0088]
Since the
[0089]
The
[0090]
The
[0091]
The
[0092]
In the
[0093]
Then, in the
[0094]
When the
[0095]
First, in step S1, the reader /
[0096]
When the service identification processing of the reader /
[0097]
Next, referring to the flowchart of FIG. 16, in the
[0098]
In step S11, the
[0099]
When it is determined in step S12 that an ACK signal has been received (that is, when the
[0100]
In step S14, the
[0101]
Next, the service identification process of the
[0102]
In step S21, the
[0103]
In step S23, the
[0104]
If it is determined in step S24 that the received service ID is registered in the module, in step S25, the
[0105]
Next, referring to the flowchart of FIG. 18, the corresponding
[0106]
In step S31, the
[0107]
When it is determined in step S32 that the service ID list has been received, in step S33, the
[0108]
If it is determined in step S33 that the received service ID list includes a reader / writer compatible service, in step S34, the
[0109]
If it is determined in step S34 that there are a plurality of corresponding services, the
[0110]
If it is determined in step S37 that there is only one corresponding service in step S34, the
[0111]
If it is determined in step S33 that the received service ID list does not include a reader / writer compatible service, the
[0112]
Next, the service identification process of the
[0113]
In step S51, the
[0114]
In step S53, the
[0115]
If it is determined in step S54 that the data received from the reader /
[0116]
If it is determined in step S55 that the service ID is not registered, the process ends (that is, the process does not proceed to step S4 in FIG. 15). If it is determined in step S55 that the service ID is registered, the process proceeds to step S4 in FIG.
[0117]
Next, with reference to the flowchart of FIG. 20, when authentication key identification is performed using the authentication key information described with reference to FIG. 7A, the reader /
[0118]
In step S61, the
[0119]
In step S63, the
[0120]
If it is determined in step S63 that no ACK signal has been received (that is, if it is determined that a NACK signal has been received), the same processing as step S16 in FIG. 16 is performed in step S65, and the processing ends. Is done.
[0121]
Next, the authentication key identification process of the
[0122]
In step S71, the
[0123]
When it is determined in step S72 that the authentication key ID is registered, the
[0124]
In the processing described with reference to FIGS. 20 and 21, the
[0125]
For example, when two types of authentication keys, a common key and a public key, are prepared for a service, the default is to perform high-speed processing by authentication processing based on the common key, and the version of the common key is old May perform the authentication process based on the public key.
[0126]
Next, with reference to the flowchart of FIG. 22, the common key for the service corresponding to the service ID of the service identified by the processing of step S1 and step S2 of FIG. 15 executed in step S3 of FIG. An authentication key identification process of the reader /
[0127]
In step S81, the
[0128]
In step S83, the
[0129]
If it is determined in step S83 that the common key version is not valid, in step S85, the
[0130]
Next, referring to the flowchart of FIG. 23, in step S4 of FIG. 15, the authentication key identification process of the
[0131]
In step S91, the
[0132]
In step S93, the
[0133]
If it is determined in step S94 that the command is a mutual authentication start command using a common key, in step S95, the
[0134]
If it is determined in step S94 that it is not a mutual authentication start command using a common key (that is, a mutual authentication start command using a public key), in step S96, the
[0135]
22 and 23, the
[0136]
In the processing of step S85 in FIG. 22 and step S96 in FIG. 23, mutual authentication using a public key is performed. The
[0137]
As shown in FIGS. 24A and 24B, each certificate has a certificate version number, a certificate serial number assigned by the certificate authority, an algorithm and parameters used for the signature, The name, certificate expiration date, reader /
[0138]
Next, the signature generation process will be described with reference to the flowchart of FIG. Here, a case where a digital signature is generated using an elliptic curve cryptosystem (elliptical DSA signature) will be described. Here, the processing executed by the
[0139]
In step S101, the
[0140]
In step S102, the DSA signature generation / verification unit 72 of the public
[0141]
The DSA signature generation / verification unit 72 calculates c = Xv mod r in step S104, and determines in step S105 whether c = 0 based on the calculation result in S104. If it is determined in step S105 that c = 0, the process returns to step S102, and the subsequent processes are repeated.
[0142]
If it is determined in step S105 that c = 0 is not satisfied, the DSA signature generation / verification unit 72 determines that the hash value of the message M is f = SHA-1 (M) (here, as a hash function) in step S106. , SHA-1 is used), and d = [(f + cKs) / u] mod r is calculated in step S107.
[0143]
In step S108, the DSA signature generation / verification unit 72 determines whether d = 0 based on the calculation result of step S107. If it is determined in step S108 that d = 0, the process returns to step S102, and the subsequent processes are repeated. If it is determined in step S108 that d = 0 is not satisfied, in step S109, the DSA signature generation / verification unit 72 sets the signature data to (c, d), and the process ends.
[0144]
The reader /
[0145]
In step S111, the
[0146]
In step S112, the DSA signature generation / verification unit 72 of the public
[0147]
If it is determined in step S112 that 0 <c <r and 0 <d <r, the process proceeds to step S120. If it is determined in step S112 that 0 <c <r and 0 <d <r, the DSA signature generation / verification unit 72 determines in step S113 that f = SHA-1 (M ) And h = 1 / d mod r is calculated in step S114.
[0148]
The DSA signature generation / verification unit 72 calculates h1 = fh and h2 = ch mod r in step S115 using the value of h calculated in step S114, and P = (Xp, Yp) in step S116. = H1G + h2KsG is calculated.
[0149]
In step S117, the DSA signature generation / verification unit 72 determines whether the value of P is an infinite point from the calculation result of step S116. Here, when the value of P is the infinity point, it is possible to determine whether or not the value of P is the infinity point based on the fact that the solution of h1G + h2KsG cannot be obtained in step S116. is there. If it is determined in step S117 that P is an infinite point, the process proceeds to step S120.
[0150]
If it is determined in step S117 that the value of P is not the infinity point, in step S118, the DSA signature generation / verification unit 72 determines whether c = Xp mod r holds. If it is determined in step S118 that c = Xp mod r does not hold, the process proceeds to step S120.
[0151]
If it is determined in step S118 that c = Xp mod r holds, in step S119, the DSA signature generation / verification unit 72 determines that the received signature is correct, and the process ends.
[0152]
If it is determined in step S112 that 0 <c <r and 0 <d <r are not satisfied, if it is determined in step S117 that p is an infinite point, or in step S118, c = Xp mod If it is determined that r does not hold, the DSA signature generation / verification unit 72 determines in step S120 that the received signature is not correct, and the process ends.
[0153]
In addition, when authentication key identification is performed using the authentication key information described with reference to FIG. 7B and a plurality of authentication keys classified into levels for a certain service are stored, the level is low. The authentication process may be preferentially started from the key, and the key version may be determined, and when the key version is old, the authentication process may be performed using a higher level authentication key.
[0154]
Next, referring to the flowchart of FIG. 27, the authentication key identification process of the reader /
[0155]
In step S131, the
[0156]
In step S133, the
[0157]
If it is determined in step S133 that N> 0, in step S134, the
[0158]
If it is determined in step S134 that the key version at level N is not valid (that is, if the key version is determined to be old), in step S135, the
[0159]
When it is determined in step S134 that the key version at level N is valid, in step S136, the
[0160]
If it is determined in step S133 that N> 0 is not satisfied, in step S137, processing similar to that in step S16 in FIG. 16 is performed, and the processing is terminated.
[0161]
Next, the authentication key identification process of the
[0162]
In step S141, the
[0163]
In step S143, the
[0164]
In step S145, the
[0165]
If it is determined in step S147 that N does not exceed the maximum level, the process returns to step S143, and the subsequent processes are repeated. When it is determined in step S147 that N exceeds the maximum level, in step S148, the
[0166]
If it is determined in step S145 that the signal received from the reader /
[0167]
The processing related to the service identification and authentication key identification of the
[0168]
Next, the service registration process of the service registration reader / writer 2-11 will be described with reference to the flowchart of FIG.
[0169]
In step S151, the
[0170]
In step S153, the
[0171]
In step S155, the
[0172]
In step S158, the
[0173]
If it is determined in step S155 that the signal received from the
[0174]
Next, the service registration process of the
[0175]
In step S171, the
[0176]
In step S172, the
[0177]
In step S <b> 174, the
[0178]
If it is determined in step S174 that there is a free area, the
[0179]
In step S177, the
[0180]
In step S179, the
[0181]
In step S180, the
[0182]
Next, the service deletion process of the service registration reader / writer 2-11 will be described with reference to the flowchart of FIG.
[0183]
In step S191, the
[0184]
In step S192, the same processing as in step S152 of FIG. 29 is performed. In step S193, the
[0185]
If it is determined in step S194 that an error message has been received, processing similar to that in step S16 in FIG. 16 is performed in step S195, and the processing is terminated. If it is determined in step S194 that no error message has been received, the process ends.
[0186]
Next, with reference to the flowchart of FIG. 32, the service deletion process of the
[0187]
In step S201, processing similar to that in step S172 in FIG. 30 is executed. In step S202, the
[0188]
If it is determined in step S203 that the validity of the ID_S area deletion command has been verified, in step S204, the
[0189]
If it is determined in step S203 that the validity of the ID_S area deletion command has not been verified, the
[0190]
The service deletion process described with reference to FIGS. 31 and 32 can also be executed by the general reader / writer 2-12 and the
[0191]
In step S211, the service identification process of the reader /
[0192]
In step S214, the
[0193]
Next, the service deletion process of the
[0194]
In step S221, the service identification process for the
[0195]
In step S223, the
[0196]
If it is determined in step S224 that the validity of the command has not been verified, in step S227, the
[0197]
Next, referring to the flowchart of FIG. 35, the service acquisition process of the general reader / writer 2-12 executed when the user receives the service registered in the
[0198]
In step S231, the reader /
[0199]
In step S233, the
[0200]
In step S234, the
[0201]
Next, the service data acquisition process of the
[0202]
In step S241, the service identification process of the
[0203]
In step S243, the
[0204]
Further, even when information related to a certain service is exchanged between the
[0205]
In steps S251 through S254, the same processing as in steps S231 through S234 of FIG. 35 is executed. In step S255, the
[0206]
If it is determined in step S255 that the received data is not a NACK signal, in step S256, the same process as in step S235 of FIG. 35 is executed, and the process ends. If it is determined in step S255 that the received data is a NACK signal, the same processing as step S16 in FIG. 16 is performed, and the processing is terminated.
[0207]
Next, the service data acquisition process of the
[0208]
In steps S261 through S263, the same processing as in steps S241 through S243 in FIG. 34 is executed. In step S261, authentication of service ID_T, which is different from service ID_S, is performed. In step S264, the
[0209]
If it is determined in step S264 that the ID_S area is registered, the
[0210]
If it is determined in step S266 that data reading is permitted, in steps S267 and S268, processing similar to that in steps S244 and S245 in FIG. 36 is executed, and the processing ends.
[0211]
If it is determined in step S264 that the ID_S area is not registered, or if it is determined in step S266 that data reading is not permitted, in step S269, the
[0212]
The data is acquired from the
[0213]
Next, the service data writing process of the general reader / writer 2-12 will be described with reference to the flowchart of FIG.
[0214]
In step S281, the reader /
[0215]
In step S283, the
[0216]
Next, the service data writing process of the
[0217]
In step S291, the service identification process of the
[0218]
In step S293, the
[0219]
Further, even when information related to a certain service is exchanged between the
[0220]
In steps S301 to S304, processing similar to that in steps S281 to S284 in FIG. 39 is executed. In steps S305 and S306, the same processing as in steps S15 and S16 in FIG. 16 is performed, and the processing is terminated.
[0221]
Next, the service data writing process of the
[0222]
In steps S311 to S313, processing similar to that in steps S291 to S293 in FIG. 40 is executed. Note that in step S311, authentication of service ID_T, which is different from service ID_S, is performed. In steps S314 and S315, the same processing as in steps S264 and S265 of FIG. 38 is performed. If it is determined in step S314 that the ID_S area is not registered, the processing proceeds to step S320.
[0223]
In step S316, at the time of ID_T authentication, the
[0224]
If it is determined in step S316 that data writing is permitted, the same processing as in steps S294 and S295 of FIG. 40 is executed in steps S317 and S318. In step S319, the
[0225]
If it is determined in step S314 that the ID_S area is not registered, or if it is determined in step S316 that data writing is not permitted, in step S320, the
[0226]
As described above, in order to attach the
[0227]
Next, referring to FIG. 43, the upgrade reader /
[0228]
In step S331, the service identification process of the reader /
[0229]
In step S333, the
[0230]
In step S335, the
[0231]
In step S337, the
[0232]
Next, with reference to the flowchart of FIG. 44, the key version upgrade process of the
[0233]
In step S351, the service identification process of the
[0234]
In step S353, the
[0235]
When it is determined in step S354 that the authentication key ID exists, the
[0236]
In step S357, the
[0237]
If it is determined in step S357 that the version information is correct, the
[0238]
If it is determined in step S354 that the authentication key ID does not exist, or if it is determined in step S357 that the version information is not correct, in step S360, the
[0239]
In addition, when the
[0240]
In step S371 and step S372, processing similar to that in step S331 and step S332 in FIG. 44 is executed. In step S373, the
[0241]
If it is determined in step S375 that the received signal is not an ACK signal, the process proceeds to step S382. If it is determined in step S375 that the received signal is an ACK signal, the same processing as in steps S333 to S339 in FIG. 43 is performed in steps S376 to S382, and the processing is terminated.
[0242]
Next, with reference to the flowcharts of FIGS. 46 and 47, the key version of the
[0243]
In step S391 and step S392, processing similar to that in step S351 and step S352 of FIG. 44 is executed. In step S391, authentication of service ID_T, which is different from service ID_S, is performed. In step S393, the
[0244]
In steps S394 and S395, the same processing as in steps S264 and S265 of FIG. 38 is performed. If it is determined in step S394 that the ID_S area is not registered, the processing proceeds to step S405.
[0245]
In step S396, the
[0246]
If it is determined in step S396 that the authentication key is allowed to be upgraded, the
[0247]
Then, in steps S398 to S405, processing similar to that in steps S353 to S360 in FIG. 44 is executed, and the processing is terminated.
[0248]
Next, the inter-module communication described with reference to FIG. 13 will be described with reference to the flowcharts of FIGS. The inter-module communication is executed by the
[0249]
48, the common
[0250]
In step S411, the inter-module communication reader / writer 2-13 executes the service identification process of the reader /
[0251]
In step S413, the inter-module communication reader / writer 2-13 executes the service identification process of the reader /
[0252]
In step S415, the
[0253]
If it is determined in step S415 that the two card IDs match, the
[0254]
In step S418, the
[0255]
In step S420, the
[0256]
Next, referring to the flowchart of FIG. 49, the common
[0257]
In step S431, the inter-module communication reader / writer 2-13 executes the service identification process of the reader /
[0258]
In step S433, the inter-module communication reader / writer 2-13 executes the service identification process of the reader /
[0259]
In steps S435 to S439, processing similar to that in steps S415 to S419 in FIG. 48 is executed. In step S440, the
[0260]
The
[0261]
Next, referring to the flowchart of FIG. 50, the common
[0262]
In steps S451 to S456, processing similar to that in steps S411 to S416 in FIG. 48 is executed. That is, the session key Kses1 is shared between the inter-module reader / writer 2-13 and the public
[0263]
In step S457, the
[0264]
In step S459, processing similar to that in step S417 in FIG. 48 is executed. In step S460, the
[0265]
In step S461, processing similar to that in step S440 in FIG. 49 is executed. Then, in steps S462 and S463, processing similar to that in steps S422 and S423 in FIG. 48 is executed.
[0266]
That is, in step S420 and step S421 in FIG. 48, the received data is decrypted with the session key Kses1, and the decrypted data is encrypted with the session key Kses2, and then transmitted to the common
[0267]
51, the public
[0268]
In steps S471 and S472, the public
[0269]
In step S474, processing similar to that in step S417 in FIG. 48 is executed. In step S475, the
[0270]
That is, in the inter-module communication described with reference to FIG. 51, the inter-module communication reader / writer 2-13 only provides a data communication path, and encrypts or decrypts data communicated between the modules. There is no.
[0271]
The series of processes described above can also be executed by software. The software is a computer in which the program constituting the software is incorporated in dedicated hardware, or various functions can be executed by installing various programs, for example, a general-purpose personal computer For example, it is installed from a recording medium.
[0272]
As shown in FIG. 9, this recording medium is distributed to provide a program to the user separately from the computer, and includes a magnetic disk 115 (including a floppy disk) on which the program is recorded, an optical disk 116 (CD- It is composed of a ROM (Compact Disk-Read Only Memory), DVD (including Digital Versatile Disk), a magneto-optical disk 117 (including MD (Mini-Disk)), or a package medium such as a
[0273]
Further, in the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
[0274]
【The invention's effect】
According to the data storage device of the present invention,With a predetermined reader / writer and one IC card, it is possible to exchange data related to a service that performs authentication using a common key and to exchange data related to a service that performs authentication using a public key.
[0275]
According to the information processing apparatus of the present invention,With a predetermined reader / writer and one IC card, it is possible to exchange data related to a service that performs authentication using a common key and to exchange data related to a service that performs authentication using a public key.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining a communication method and an authentication method between an IC card and a reader / writer.
FIG. 2 is a diagram for explaining a relationship between a card issuer, a service provider, and a card holder.
FIG. 3 is a block diagram showing a configuration of an IC card.
FIG. 4 is a block diagram showing a configuration of an IC card.
FIG. 5 is a diagram for explaining an encryption processing unit in FIGS. 3 and 4;
6 is a diagram for explaining the SRA of FIGS. 3 and 4. FIG.
7 is a diagram for explaining authentication key information stored in the SRA of FIG. 6; FIG.
FIG. 8 is a diagram for explaining the SRT of FIGS. 3 and 4;
FIG. 9 is a block diagram illustrating a configuration of a reader / writer.
FIG. 10 is a diagram for explaining memory information of a service registration reader / writer;
FIG. 11 is a diagram for explaining memory information of a general reader / writer.
FIG. 12 is a diagram for explaining memory information of an inter-module communication reader / writer.
FIG. 13 is a diagram for explaining inter-module communication.
FIG. 14 is a diagram for explaining memory information of a reader / writer for version upgrade.
FIG. 15 is a flowchart for explaining authentication processing of an IC card and a reader / writer.
FIG. 16 is a flowchart for explaining a service identification process of a reader / writer.
FIG. 17 is a flowchart for explaining service identification processing of an IC card.
FIG. 18 is a flowchart for explaining a service identification process of a reader / writer.
FIG. 19 is a flowchart for explaining service identification processing of an IC card.
FIG. 20 is a flowchart for explaining an authentication key identification process of a reader / writer.
FIG. 21 is a flowchart for explaining an IC card authentication key identification process;
FIG. 22 is a flowchart for explaining an authentication key identification process of a reader / writer.
FIG. 23 is a flowchart for explaining an IC card authentication key identification process;
FIG. 24 is a diagram for explaining a certificate;
FIG. 25 is a flowchart for explaining signature generation processing;
FIG. 26 is a flowchart for explaining signature verification processing;
FIG. 27 is a flowchart for explaining an authentication key identification process of a reader / writer.
FIG. 28 is a flowchart for explaining authentication key identification processing of an IC card.
FIG. 29 is a flowchart for explaining service registration processing of a service registration reader / writer;
FIG. 30 is a flowchart for explaining IC card service registration processing;
FIG. 31 is a flowchart for explaining service deletion processing of a service registration reader / writer;
FIG. 32 is a flowchart for explaining service deletion processing of an IC card.
FIG. 33 is a flowchart for explaining service deletion processing of a general reader / writer;
FIG. 34 is a flowchart for explaining service deletion processing of an IC card.
FIG. 35 is a flowchart for explaining service data acquisition processing of a general reader / writer.
FIG. 36 is a flowchart for explaining service data transmission processing of an IC card.
FIG. 37 is a flowchart for explaining service data acquisition processing of a general reader / writer;
FIG. 38 is a flowchart for explaining service data transmission processing of an IC card.
FIG. 39 is a flowchart for explaining service data write processing of a general reader / writer;
FIG. 40 is a flowchart for explaining service data write processing of an IC card.
FIG. 41 is a flowchart for explaining service data write processing of a general reader / writer;
FIG. 42 is a flowchart for explaining service data write processing of an IC card.
FIG. 43 is a flowchart for explaining key version upgrade processing of the version upgrade reader / writer;
FIG. 44 is a flowchart for explaining key version upgrade processing of an IC card.
FIG. 45 is a flowchart for explaining key version upgrade processing of a general reader / writer;
FIG. 46 is a flowchart for explaining key version upgrade processing of an IC card.
FIG. 47 is a flowchart for explaining IC card key upgrade processing;
FIG. 48 is a flowchart for explaining inter-module communication processing;
FIG. 49 is a flowchart for explaining inter-module communication processing;
FIG. 50 is a flowchart for explaining inter-module communication processing;
FIG. 51 is a flowchart for explaining inter-module communication processing;
[Explanation of symbols]
1
Claims (2)
接触式および非接触式のいずれの通信方式の前記情報処理装置にも対応可能であって、前記情報処理装置に対する、入出力データの変調及び復調を制御し、前記情報処理装置からの所定のサービスを識別するための情報の入力を制御する第1の制御手段と、
前記所定のサービスに対応するデータであって、前記所定のサービスの認証に必要な認証鍵である第1の認証鍵と第2の認証鍵のうちの少なくとも一方、および、前記所定のサービスを識別するための情報の記憶を制御する第2の制御手段と、
前記認証鍵のうち、前記第1の認証鍵を用いた認証処理を実行する第1の認証処理実行手段と、
前記認証鍵のうち、前記第2の認証鍵を用いた認証処理を実行する第2の認証処理実行手段と、
前記第1の制御手段により入力が制御された前記所定のサービスを識別するための情報に基づいて、前記第1の認証処理実行手段と前記第2の認証処理実行手段のいずれかを制御して、前記情報処理装置との認証処理を実行させる第3の制御手段と、
前記第1の認証鍵または前記第2の認証鍵の前記所定のサービスに対するレベルを選択する選択手段と
を備え、
前記第2の制御手段により記憶が制御された前記データには、前記所定のサービスの認証に必要な所定のバージョンの前記第1の認証鍵または前記第2の認証鍵が、複数のレベルで用意されており、
前記第1の制御手段は、前記選択手段により選択された前記レベルの前記第1の認証鍵または前記第2の認証鍵のバージョンに関する第1の情報の出力を制御するとともに、前記情報処理装置からの、前記バージョンに基づいて判定された前記レベルによる認証処理を許可するか否かを示す第2の情報の入力を制御し、
前記レベルによる認証処理が許可されなかった場合、前記選択手段は、前記第1の認証鍵または前記第2の認証鍵の異なるレベルを新たに選択し、前記第1の制御手段は、前記選択手段により新たに選択された前記レベルの前記第1の認証鍵または前記第2の認証鍵の前記バージョンに関する第1の情報の出力を制御し、
前記レベルによる認証処理が許可された場合、前記第3の制御手段は、前記第1の制御手段により入力が制御された前記第2の情報に基づいて、前記第1の認証処理実行手段と前記第2の認証処理実行手段のいずれかを制御して、前記情報処理装置との認証処理を実行させる
ことを特徴とするデータ記憶装置。In a data storage device that is attached to an information processing device and exchanges data with the information processing device,
The information processing apparatus of any of the contact type and non-contact type can be used, and the modulation and demodulation of input / output data for the information processing apparatus is controlled, and a predetermined service from the information processing apparatus First control means for controlling input of information for identifying
Data corresponding to the predetermined service, wherein at least one of a first authentication key and a second authentication key, which is an authentication key necessary for authentication of the predetermined service, and the predetermined service are identified Second control means for controlling storage of information for
A first authentication process executing means for executing an authentication process using the first authentication key of the authentication keys;
A second authentication process executing means for executing an authentication process using the second authentication key of the authentication keys;
Based on information for identifying the predetermined service whose input is controlled by the first control unit, either the first authentication process execution unit or the second authentication process execution unit is controlled. A third control means for executing an authentication process with the information processing apparatus ;
Selection means for selecting a level of the first authentication key or the second authentication key for the predetermined service;
With
In the data whose storage is controlled by the second control means, a predetermined version of the first authentication key or the second authentication key required for authentication of the predetermined service is prepared at a plurality of levels. Has been
The first control unit controls the output of the first information related to the version of the first authentication key or the second authentication key at the level selected by the selection unit, and from the information processing apparatus. Controlling the input of the second information indicating whether or not to permit the authentication processing based on the level determined based on the version,
When the authentication processing by the level is not permitted, the selection unit newly selects a different level of the first authentication key or the second authentication key, and the first control unit is configured to select the selection unit. Controlling the output of first information relating to the version of the first authentication key or the second authentication key of the level newly selected by
When the authentication process by the level is permitted, the third control unit, based on the second information whose input is controlled by the first control unit, Control any of the second authentication processing execution means to execute the authentication processing with the information processing apparatus
Data storage device, characterized in that.
接触式および非接触式のいずれの通信方式の前記データ記憶装置にも対応可能であって、前記データ記憶装置に対する、入出力データの変調及び復調を制御し、前記データ記憶装置への前記所定のサービスを識別するための情報の出力を制御する第1の制御手段と、
前記所定のサービスに対応するデータであって、前記所定のサービスの認証に必要な認証鍵である複数のレベルの複数のバージョンの第1の認証鍵と第2の認証鍵のうちの少なくとも一方、および、前記所定のサービスを識別するための情報の記憶を制御する第2の制御手段と、
前記所定のサービスに対応する情報を表示する表示手段と、
ユーザによる前記所定のサービスの選択を示す信号の入力を受ける入力手段と、
前記認証鍵のうち、前記第1の認証鍵を用いた認証処理を実行する第1の認証処理実行手段と、
前記認証鍵のうち、前記第2の認証鍵を用いた認証処理を実行する第2の認証処理実行手段と、
前記第1の認証処理実行手段、前記第2の認証処理実行手段、および前記第2の制御手段の処理を制御する第3の制御手段と、
前記第1の制御手段により入力が制御される、前記データ記憶装置からの、前記所定のサービスに対する所定のレベルの前記第1の認証鍵または前記第2の認証鍵のバージョンに関する第1の情報に基づいて、認証処理を許可するか否かを判断する判断手段と
を備え、
前記第1の認証処理実行手段もしくは前記第2の認証処理実行手段により認証が可能な前記所定のサービスが複数ある場合、
前記表示手段は、前記認証が可能な複数の前記所定のサービスに対応する情報を表示し、
前記第3の制御手段は、前記入力手段により入力される前記所定のサービスの選択を示す信号に基づいて、前記第1の認証処理実行手段と前記第2の認証処理実行手段のいずれかを制御して、前記判断手段により認証処理が許可された前記レベルの前記バージョンの前記第1の認証鍵または前記第2の認証鍵で前記データ記憶装置との認証処理を実行させ、
前記第1の制御手段は、前記判断手段による判断結果に従って、前記レベルによる認証処理を許可するか否かを示す第2の情報の、前記データ記憶装置への出力を制御する
ことを特徴とする情報処理装置。 In an information processing apparatus that is equipped with a data storage device and exchanges data with the data storage device,
It is possible to correspond to the data storage device of any of the contact type and the non-contact type communication method, and controls modulation and demodulation of input / output data with respect to the data storage device, and the predetermined storage to the data storage device First control means for controlling output of information for identifying a service;
Data corresponding to the predetermined service, at least one of a plurality of versions of a first authentication key and a second authentication key of a plurality of levels which are authentication keys necessary for authentication of the predetermined service; And second control means for controlling storage of information for identifying the predetermined service;
Display means for displaying information corresponding to the predetermined service;
Input means for receiving a signal indicating the selection of the predetermined service by the user;
A first authentication process executing means for executing an authentication process using the first authentication key of the authentication keys;
A second authentication process executing means for executing an authentication process using the second authentication key of the authentication keys;
Third control means for controlling processing of the first authentication processing execution means, the second authentication processing execution means, and the second control means ;
First information relating to a version of the first authentication key or the second authentication key at a predetermined level for the predetermined service from the data storage device, the input of which is controlled by the first control means. And determining means for determining whether or not to permit the authentication process based on
When there are a plurality of the predetermined services that can be authenticated by the first authentication processing execution means or the second authentication processing execution means,
The display means displays information corresponding to a plurality of the predetermined services that can be authenticated,
The third control means controls either the first authentication processing execution means or the second authentication processing execution means based on a signal indicating selection of the predetermined service input by the input means. Then, the authentication processing with the data storage device is executed with the first authentication key or the second authentication key of the version of the version at which the authentication processing is permitted by the determination means ,
The first control unit controls the output of the second information indicating whether or not to permit the authentication processing based on the level to the data storage device according to the determination result by the determination unit. Information processing device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000180052A JP4538909B2 (en) | 2000-06-15 | 2000-06-15 | Data storage device and information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000180052A JP4538909B2 (en) | 2000-06-15 | 2000-06-15 | Data storage device and information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001357370A JP2001357370A (en) | 2001-12-26 |
JP4538909B2 true JP4538909B2 (en) | 2010-09-08 |
Family
ID=18681219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000180052A Expired - Fee Related JP4538909B2 (en) | 2000-06-15 | 2000-06-15 | Data storage device and information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4538909B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4684463B2 (en) * | 2001-04-27 | 2011-05-18 | 大日本印刷株式会社 | Transmitting apparatus, receiving apparatus, and communication system |
JP4461351B2 (en) * | 2002-08-15 | 2010-05-12 | ソニー株式会社 | Non-contact IC card |
JP4567602B2 (en) * | 2003-12-26 | 2010-10-20 | 三菱電機株式会社 | Authentication device, authenticated device, and key update method |
JP4551202B2 (en) * | 2004-12-07 | 2010-09-22 | 株式会社日立製作所 | Ad hoc network authentication method and wireless communication terminal thereof |
CN111433788A (en) * | 2017-12-20 | 2020-07-17 | 凸版印刷株式会社 | Electronic label device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000036014A (en) * | 1998-07-16 | 2000-02-02 | Sony Corp | Information processor and its method |
JP2000059323A (en) * | 1998-02-13 | 2000-02-25 | Matsushita Electric Ind Co Ltd | Digital av data transmission unit, digital av data reception unit, digital av data transmission/reception system and medium |
JP2000123139A (en) * | 1998-10-20 | 2000-04-28 | Dainippon Printing Co Ltd | Ic card |
-
2000
- 2000-06-15 JP JP2000180052A patent/JP4538909B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000059323A (en) * | 1998-02-13 | 2000-02-25 | Matsushita Electric Ind Co Ltd | Digital av data transmission unit, digital av data reception unit, digital av data transmission/reception system and medium |
JP2000036014A (en) * | 1998-07-16 | 2000-02-02 | Sony Corp | Information processor and its method |
JP2000123139A (en) * | 1998-10-20 | 2000-04-28 | Dainippon Printing Co Ltd | Ic card |
Also Published As
Publication number | Publication date |
---|---|
JP2001357370A (en) | 2001-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7496756B2 (en) | Content usage-right management system and management method | |
JP4638990B2 (en) | Secure distribution and protection of cryptographic key information | |
US7661132B2 (en) | Tag privacy protection method, tag device, backend apparatus, updater, update solicitor and record medium carrying such programs in storage | |
JP4660900B2 (en) | Personal authentication application data processing system, personal authentication application data processing method, information processing apparatus, and program providing medium | |
JP4586250B2 (en) | Personal identification certificate link system, information processing apparatus, information processing method, and program providing medium | |
JP4654497B2 (en) | Personal authentication system, personal authentication method, information processing apparatus, and program providing medium | |
JP4516399B2 (en) | Information processing apparatus and method, and program | |
US20090208003A1 (en) | Authentication Method, Host Computer and Recording Medium | |
US20050262321A1 (en) | Information processing apparatus and method, and storage medium | |
JP2002169465A (en) | Public key certificate utilization system, public key certificate utilization method and information processor as well as program recording medium | |
JP2002073568A (en) | System and method for personal identification and program supply medium | |
JP2006099509A (en) | Information management device and method, and program | |
JP2002169719A (en) | System and method for contents distribution, information processor, and program providing medium | |
JP2002175279A (en) | Personal authentication system, personal authentication method, and information processing device, and program providing medium | |
JP2002077147A (en) | Individual authentication system, individual authenticating method, information processing device and program providing medium | |
JP2002175277A (en) | Information processing device and information processing method, and program providing medium | |
US20080148062A1 (en) | Method for the secure storing of program state data in an electronic device | |
JP2002073573A (en) | Contents distributing system, contents distributing method, information processor and program providing medium | |
JP2004013600A (en) | Data processing system, data processing device and method, and its computer program | |
CN115427959A (en) | Method for directly transmitting electronic coin data sets between a terminal, a payment system, a currency system and a monitoring unit | |
JP2003044436A (en) | Authentication processing method, information processor, and computer program | |
JP2002073571A (en) | Personal identification system, personal identification method and program providing medium | |
JP2001357373A (en) | Device and method for storing data, device and method for processing information and recording medium | |
JP2001357365A (en) | Data storage, data storage method and recording medium | |
JP4538909B2 (en) | Data storage device and information processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061220 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090707 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090716 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090907 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100105 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100219 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100601 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100614 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130702 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |