JP4538909B2 - Data storage device and information processing device - Google Patents

Data storage device and information processing device Download PDF

Info

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
Application number
JP2000180052A
Other languages
Japanese (ja)
Other versions
JP2001357370A (en
Inventor
太三 白井
義人 石橋
智之 浅野
賢治 吉野
誠 岡
隆太 瀧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2000180052A priority Critical patent/JP4538909B2/en
Publication of JP2001357370A publication Critical patent/JP2001357370A/en
Application granted granted Critical
Publication of JP4538909B2 publication Critical patent/JP4538909B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 IC card 1 can support both authentication services using a common key method and authentication using a public key method (each authentication method will be described later). The non-contact type common key reader / writer 2-1 communicates with the IC card 1 in a non-contact manner and performs authentication by the common key method. The non-contact type public key compatible reader / writer 2-2 communicates with the IC card 1 in a non-contact manner and performs authentication by the public key method. The contact-type public key compatible reader / writer 2-3 makes contact and performs communication, and performs communication using the public key method.
[0030]
For example, the IC card 1 includes information providing services such as a commuter pass and a fare card that can be used for payment of a fare. When the IC card 1 is used to use a ticket gate of a station, the IC card 1 In a process that requires a short processing time, such as when an IC card 1 is used to authenticate entry permission, the reader / writer 2-1 for the non-contact type common key is included. Is used for contactless communication using a common key.
[0031]
For example, when the IC card 1 includes information for providing an electronic money service, and processing for clearing a product purchased by a user at a store or the like, authentication is performed using a public key method, and authentication processing is performed. Takes time. For this reason, when the processing time is not particularly concerned, the non-contact type public key reader / writer 2-2 may be used for non-contact communication, or in order to shorten the processing time, You may make it communicate by contacting using the type | formula public key corresponding | compatible reader-writer 2-3.
[0032]
In FIG. 1, the reader / writer 2-1 to the contactless common key to the reader / writer 2 to the contact public key are described as individual reader / writers. However, if necessary, one reader / writer can be used. A plurality of communication methods and a plurality of authentication methods may be used.
[0033]
Next, a card issuer, a service provider, and a card holder will be described with reference to FIG.
[0034]
The card issuer 11 authorizes the service provider 12 to provide a service using the IC card 1 to the card holder 13 that holds the IC card 1, and wishes to issue the IC card 1. The IC card 1 is issued to the card holder 13.
[0035]
The service provider 12 that has received the service authorization from the card issuer 11 sends the data corresponding to the service that the card issuer 11 provides to the card holder 13 to the service registration reader / writer 2-11. Service Individual Info), which will be described later with reference to FIG. 6, is registered. This registration may be registered in the service registration reader / writer 2-11 via the Internet or the like from a personal computer (not shown) possessed by the service provider 12, or manually registered by the operator. You may do it.
[0036]
The card holder 13 can register the desired service in the IC card 1 issued from the card issuer 11 by using the service registration reader / writer 2-11. The service registration reader / writer 2-11 and the service registration process of the IC card 1 will be described later with reference to FIGS.
[0037]
When the card holder 13 wants to delete the service registered in his / her IC card 1, the card registration reader / writer 2-11 managed by the card issuer 11 or the service provider 12 The service can be deleted from its own IC card 1 using the general reader / writer 2-12 to be managed. The service deletion process of the IC card 1 and the service registration reader / writer 2-11 will be described with reference to FIGS. 31 and 32. The service deletion process of the IC card 1 and the general reader / writer 2-12 will be described with reference to FIGS. It will be described later.
[0038]
In addition, the card holder 13, for example, is in a situation where electronic money service and prepaid service are registered in the IC card 1, and each value information is recorded in information related to each service of the IC card 1. When it is desired to replace a part of the value of electronic money with the value of prepaid, the inter-module communication reader / writer 2-13 managed by the service provider 12 is used, and FIG. Inter-module communication can be executed between a public key module and a common key module described later. The inter-module communication reader / writer 2-13 is adapted to two systems, a common key system and a public key system. The processing of the IC card 1 and the inter-module communication reader / writer 2-13 will be described later with reference to FIGS.
[0039]
Further, when the card holder 13 wishes to update (upgrade) an expired authentication key, the general reader / writer 2-12 managed by the service provider 12 or the upgrade reader / writer 2-14. Can be used to upgrade the version of the authentication key registered in its own IC card 1. 43 and 44 for the key version upgrade process between the IC card 1 and the reader / writer 2-14 for upgrade, and FIG. 45 for the key version upgrade process between the IC card 1 and the general reader / writer 2-12. To 47 will be described later.
[0040]
FIG. 3 is a block diagram showing the configuration of the IC card 1.
[0041]
The IC card 1 is generally referred to as a reader / writer 2 when the reader / writer 2 (the reader / writers 2-1 to 2-3 or the reader / writers 2-11 to 2-14 need not be particularly distinguished from each other). And an IC card processing unit 22 that executes data processing.
[0042]
When the corresponding IC card 1 is the non-contact type common key compatible reader / writer 2-1 or the non-contact type public key compatible reader / writer 2-2 described with reference to FIG. A coil for communicating with the common key reader / writer 2-1 or the contactless public key reader / writer 2-2 using electromagnetic waves is provided. Further, the communication unit 21 is not limited to the IC card 1, which is not only the contactless common key compatible reader / writer 2-1 and the contactless public key compatible reader / writer 2-2 described with reference to FIG. When communication with the key reader / writer 2-3 is also supported, communication is performed with the non-contact type common key reader / writer 2-1 or the non-contact type public key reader / writer 2-2 using electromagnetic waves. And a contact terminal for communicating with the contact type public key reader / writer 2-3.
[0043]
The communication unit 21 receives data transmitted from the reader / writer 2, and when the received data is modulated using, for example, ASK (Amplitude Shift Keying) or BPSK (Binary Phase Shift Keying), a predetermined process is performed. The received data is demodulated and supplied to the control unit 31 of the IC card processing unit 22, and the data generated by the processing of the IC card processing unit 22 is supplied from the control unit 31, using ASK or BPSK. Modulate and transmit to the reader / writer 2.
[0044]
The IC card processing unit 22 includes a control unit 31, a memory 32, and an encryption processing unit 33. The control unit 31 controls the encryption processing unit 33 according to the data supplied from the communication unit 21 to execute encryption processing necessary for authentication processing with the reader / writer 2 or the like, and records it in the memory 32 as necessary. The read data is read and transmitted to the reader / writer 2 via the communication unit 21.
[0045]
The memory 32 includes a memory area 44 in which a card ID, an authentication key Kreg for service registration, CA_Pub, which is a public key of a certificate authority, are recorded, a service relation table (SRT) 45 described later with reference to FIG. 8, and FIG. The service registration area (SRA) 46, which will be described later, is used.
[0046]
The cryptographic processing unit 33 includes a public key processing unit 41, a common key processing unit 42, and other cryptographic processing units 43. Details regarding processing executed by the public key processing unit 41 to other cryptographic processing units 43 will be described later with reference to FIG.
[0047]
Next, FIG. 4 is a block diagram showing a configuration different from that of FIG. In the IC card 1 of FIG. 4, the same reference numerals are given to the portions corresponding to those in FIG. 3, and the description thereof will be omitted as appropriate (hereinafter the same).
[0048]
The IC card 1 includes a communication unit 51 that executes communication with the reader / writer 2 related to the common key service, a common key service processing unit 52 that executes processing of data obtained by the processing of the communication unit 51, and a reader / writer related to the public key service. 2, and a public key service processing unit 54 that executes processing of data obtained by processing of the communication unit 53.
[0049]
The communication unit 51 includes a coil for communicating with the non-contact type common key compatible reader / writer 2-1. Similarly to the communication unit 21, for example, data transmitted from the IC card 1 is ASK or BPSK. When the received data is modulated using the predetermined key, the received data is demodulated and supplied to the control unit 61 of the common key service processing unit 52, and the data generated by the processing of the common key service processing unit 52 is , Supplied from the control unit 61, modulated using ASK or BPSK, and transmitted to the reader / writer 2.
[0050]
The common key service processing unit 52 includes a control unit 61, a memory 62, and an encryption processing unit 63. The control unit 61 controls the encryption processing unit 63 according to the data supplied from the communication unit 51 to execute processing necessary for authentication processing with the IC card 1 or is recorded in the memory 62 as necessary. Data is read and transmitted to the reader / writer 2 via the communication unit 51.
[0051]
Similarly to the memory 32 described with reference to FIG. 3, the memory 62 includes a memory area 44, an SRT 45, and an SRA 46. In the memory area 44, a card ID, an authentication key Kreg for service registration, and a shared secret key K_common used for inter-module communication are recorded.
[0052]
The cryptographic processing unit 63 includes a common key processing unit 42 and other cryptographic processing units 43. That is, since the common key service processing unit 52 does not process a service related to the public key, the encryption processing unit 63 does not include the public key processing unit 41 described with reference to FIG.
[0053]
The communication unit 53 includes a coil or a contact terminal for communicating with the non-contact type public key reader / writer 2-2 or the contact type public key reader / writer 2-3. Similarly to the communication unit 21, for example, when the data transmitted from the IC card 1 is modulated using ASK or BPSK, the communication unit 53 demodulates the received data by a predetermined process, and the public key In addition to being supplied to the control unit 61 of the service processing unit 54, data generated by the processing of the public key service processing unit 54 is supplied from the control unit 61, modulated using ASK or BPSK, and transmitted to the reader / writer 2. .
[0054]
The public key service processing unit 54 includes a control unit 61, a memory 62, and an encryption processing unit 33. That is, the configuration is basically the same as that of the common key service processing unit except that the cryptographic processing unit 33 described with reference to FIG. 3 is provided instead of the cryptographic processing unit 63.
[0055]
Next, the public key processing unit 41 to the other cryptographic processing unit 43 will be described with reference to FIG.
[0056]
As shown in FIG. 5A, the public key processing unit 41 includes, for example, an RSA signature generation / verification unit that generates and verifies a signature using an RSA (Rivest, Shamir, Adleman) public key cryptosystem. 71 and a DSA signature generation / verification unit 72 that generates and verifies a signature using a DSA (Digital Signature Algorithm) method.
[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 key processing unit 42 includes, for example, a DES processing unit 73 that performs authentication processing using a DES (Data Encryption Standard) common key encryption system, and an RC5 (Rivest Cipher5) method. An RC5 processing unit 74 that performs authentication processing and an AES processing unit 75 that performs authentication processing by an AES (Advanced Encryption Standard) method are provided.
[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 cryptographic processing unit 43 creates a “message digest” by applying an irreversible hash function to the message, and encrypts the message digest with the signature key. By doing so, cryptographic processing other than processing by the public key processing unit 41 or the common key processing unit 42, such as creating a digital signature, is executed. As shown in FIG. 5C, the other cryptographic processing unit 43 includes, for example, a SHA-1 processing unit 76 that performs processing of a hash function SHA-1 used for signature generation and signature verification, and a mutual authentication protocol. Or a true random number generator 77 for generating a true random number used in or an MD5 processor for processing a hash function MD5 used for signature generation and signature verification as shown in FIG. 78 and a pseudo-random number generator 79 that generates a pseudo-random number (an artificial random number having a random number sequence within a limited number of digits) used in the mutual authentication protocol.
[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 SRA 46 of the IC card 1 described with reference to FIGS. 3 and 4 will be described with reference to FIG.
[0071]
In order to allow the user who has the IC card 1 to receive a plurality of services using the general reader / writer 2-12 described with reference to FIG. This is a memory area for recording information (information registered using the service registration reader / writer 2-11 described with reference to FIG. 2).
[0072]
That is, in the SRA 46, Service Individual Info 1 to N, which are information of services registered in the IC card 1, are registered, and each Service Individual Info includes a service ID for identifying the type of service, One or a plurality of authentication key information predetermined for each service (n pieces of authentication key information 1 to n in Service Individual Info k in FIG. 6) are used to receive the service. An authentication key Kake_vup for upgrading service data and key information, and a certificate for the authentication key, if necessary, are registered.
[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 SRT 45 of the IC card 1 described with reference to FIGS. 3 and 4 will be described with reference to FIG.
[0078]
In the SRT 45, when a plurality of services are registered in the ID card 1, data for permitting access to service data of another service while performing a certain service is registered. The SRT 45 includes a registered service ID field (indicated as service IDA to J in FIG. 8) in which a service ID registered in the IC card 1 is described, and permission information corresponding to each service ID. It consists of the described permission information field.
[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 SRT 45, during the execution of the service indicated by the service ID C, reading and writing are performed for the service indicated by the service ID B. In addition, even when the service whose service ID is indicated by D is being executed, reading of the service whose service ID is indicated by B is permitted, and during the execution of the service whose service ID is indicated by E, Reading, writing, and key version upgrade are permitted for the service whose ID is indicated by D. Hereinafter, the service whose service ID is indicated by E, the service whose service ID is indicated by F, and the service ID indicated by G. Or the corresponding permission Based on the information described in down information field, during the execution of the process corresponding to the other service ID, processing corresponding to the permission information is permitted.
[0081]
The permission information is registered when a corresponding service is registered in the IC card 1. That is, when a user registers a service whose service ID is indicated by F with respect to the IC card 1 held by the user using the service registration reader / writer 2-11, for example, the service ID is indicated by G. In the permission information field corresponding to F in the registered service ID field, the permission corresponding to the service indicated by service ID G is registered in the permission information field corresponding to F in the registered service ID field. Only information can be registered. Then, after the user registers the service indicated by service ID H in the ID card 1, the service ID indicated by F is updated by updating the service indicated by service ID F. The permission information of the service indicated by can be registered.
[0082]
Next, FIG. 9 is a block diagram showing a configuration of the reader / writer 2.
[0083]
The reader / writer 2 includes a communication unit 91 that performs communication with the IC card 1 and a reader / writer processing unit 92 that performs data processing.
[0084]
The communication unit 91 uses electromagnetic waves depending on a method of communication with the IC card 1 (that is, depending on whether the reader / writer 2 adopts the non-contact type or the contact type communication method described with reference to FIG. 1). Or a coil for communication using electromagnetic waves and a contact terminal for communication by a contact type.
[0085]
The communication unit 91 receives data transmitted from the IC card 1. When the received data is modulated using, for example, ASK or BPSK, the communication unit 91 demodulates the received data by a predetermined process, and the reader / writer In addition to being supplied to the control unit 101 of the processing unit 92, data generated by the processing of the reader / writer processing unit 92 is supplied from the control unit 101, modulated using ASK or BPSK, and transmitted to the IC card 1.
[0086]
The reader / writer processing unit 92 includes a control unit 101, an encryption processing unit 102, a memory 103, a communication unit 104, a display unit 105, and an input unit 106. The control unit 101 controls the cryptographic processing unit 102 according to the data supplied from the communication unit 91 to execute cryptographic processing necessary for authentication processing with the IC card 1 or the like, and records it in the memory 103 as necessary. The data read is transmitted to the IC card 1 via the communication unit 91, signals corresponding to various operations input by the user using the input unit 106, and the communication unit 104 via the network. In response to the input of the input control signals, processing is executed according to these signals, and the result is displayed on the display unit 105.
[0087]
A drive 114 is also connected to the communication unit 104, and data can be exchanged with the magnetic disk 115, the optical disk 116, the magneto-optical disk 117, the semiconductor memory 118, and the like mounted on the drive 114.
[0088]
Since the cryptographic processing unit 102 has the same configuration as the cryptographic processing unit 33 described with reference to FIG. 3, the description thereof is omitted.
[0089]
The memory 103 stores information for executing predetermined processing with the IC card 1. The information differs depending on which of the reader / writer 2-11 for service registration and the reader / writer 2-14 for upgrading described with reference to FIG. The data stored in the memory 103 of the service registration reader / writer 2-11 to the upgrade reader / writer 2-14 will be described with reference to FIGS.
[0090]
The memory 103 of the service registration reader / writer 2-11 shown in FIG. 10 stores an authentication key Kreg used when registering or deleting data in the SRA 46 of the memory 32 of the IC card 1 (if necessary). The certificate of the authentication key is also stored), and Service Individual Info 1 to n corresponding to various services for registration in the IC card 1 are stored.
[0091]
The memory 103 of the general reader / writer 2-12 shown in FIG. 11 has a service ID corresponding to a service that can be processed by the general reader / writer 2-12, an authentication key list corresponding to the service ID, and a key revocation. Information is stored. When the general reader / writer 2-12 is allowed to provide a key upgrade service, the memory 103 of the general reader / writer 2-12 also stores information such as a new version key.
[0092]
In the memory 103 of the inter-module communication reader / writer 2-13 shown in FIG. 12, the inter-module communication reader / writer 2-13 is similar to the information stored in the memory 103 of the general reader / writer 2-12. The service ID corresponding to the service that can be processed with the key, the authentication key list corresponding to the service ID, and the key revocation information are stored. As shown in FIG. 13, the inter-module communication means that the inter-module communication reader / writer 2-13 adapted to the two methods of the common key method and the public key method is connected to the public key module 121 (for example, The communication unit 53 and the public key service processing unit 54 of the IC card 1 described with reference to FIG. 4 and the common key module 122 (for example, the communication unit 51 of the IC card 1 described with reference to FIG. 4 and Is attached to the IC card 1 corresponding to the common key service processing unit 52, and data communication between the public key module 121 and the common key module 122 is performed via the inter-module communication reader / writer 2-13. is there. Details of processing related to inter-module communication will be described later with reference to FIGS.
[0093]
Then, in the memory 103 of the upgrade reader / writer 2-14 shown in FIG. 14, a service ID for upgrading the authentication key of the service registered in the attached IC card 1 and its service A version upgrade authentication key Kake_vup and a list of authentication keys Kake corresponding to the ID are stored.
[0094]
When the IC card 1 and the reader / writer 2 communicate with each other, the IC card 1 and the reader / writer 2 mutually identify the services to be communicated with each other, except for some exception processing. , It is necessary to mutually identify the authentication key of the service. A mutual authentication process between the IC card 1 and the reader / writer 2 will be described with reference to the flowchart of FIG.
[0095]
First, in step S1, the reader / writer 2 communicates with the IC card 1 as necessary to send and receive necessary data, whereby the reader / writer 2's service identification process described later with reference to FIGS. 16 and 18 is performed. Execute. In step S2, the IC card 1 communicates with the reader / writer 2 as necessary to send and receive necessary data, whereby service identification processing of the IC card 1 described later with reference to FIGS. 17 and 19 is performed. Execute.
[0096]
When the service identification processing of the reader / writer 2 in step S1 and the service identification processing of the IC card 1 in step S2 are normally completed, in step S3, the reader / writer 2 communicates with the IC card 1 as necessary. By exchanging necessary data, an authentication key identification process of the reader / writer 2 described later with reference to FIGS. 20, 22 and 27 is executed. In step S4, the IC card 1 communicates with the reader / writer 2 as necessary to send and receive necessary data, whereby the IC card 1 described later with reference to FIGS. 21, 23, and 28 is used. Execute authentication key identification processing.
[0097]
Next, referring to the flowchart of FIG. 16, in the IC card 1 that supports a plurality of services and the reader / writer 2 that supports a plurality of services, the user inputs a desired service, The service identification process of the reader / writer 2 executed in step S1 of FIG. 15 by determining whether or not it can be executed will be described.
[0098]
In step S11, the control unit 101 of the reader / writer 2 transmits an IC card detection command to the IC card 1 via the communication unit 91. In step S12, the control unit 101 transmits an ACK signal (described later in FIG. 17). In step S22, it is determined whether or not the signal transmitted by the IC card 1 has been received. If it is determined in step S12 that an ACK signal has not been received, the process of step S12 is repeated until it is determined that an ACK signal has been received.
[0099]
When it is determined in step S12 that an ACK signal has been received (that is, when the IC card 1 is attached to the reader / writer 2), in step S13, the control unit 101 uses the input unit 106 to input the control unit 101. The service ID corresponding to the service desired by the user is transmitted to the IC card 1 via the communication unit 91 in accordance with a signal indicating the operation performed or based on a predetermined service.
[0100]
In step S14, the control unit 101 receives a signal transmitted from the IC card 1 (a signal transmitted by the IC card 1 in step S25 or step S26 of FIG. 17 described later). In step S15, the control unit 101 determines whether the data received in step S14 is an ACK signal. If it is determined in step S15 that the received signal is not an ACK signal (that is, a NACK signal), in step S16, the control unit 101 outputs and displays data corresponding to the error message on the display unit 105. The process is terminated (that is, the process does not proceed to step S3 in FIG. 15). If it is determined in step S15 that the received signal is an ACK signal, the process proceeds to step S3 in FIG.
[0101]
Next, the service identification process of the IC card 1 executed in parallel with the service identification process of the reader / writer 2 described using FIG. 16 in step S2 of FIG. 15 will be described with reference to the flowchart of FIG. To do. Here, the description will be made on the assumption that the processing is performed in the IC card 1 described with reference to FIG. 3, but basically the same applies to the case where the processing is executed by the IC card 1 described with reference to FIG. The process is executed.
[0102]
In step S21, the control unit 31 of the IC card 1 receives the IC card detection command transmitted from the reader / writer 2 in step S11 of FIG. 16 via the communication unit 21, and in step S22, the control unit 31 ACKs the reader / writer 2. Send a signal.
[0103]
In step S23, the control unit 31 receives the service ID transmitted by the reader / writer 2 in step S13 of FIG. 16 via the communication unit 21, and in step S24, the received service ID is the correspondence of the IC card 1. The module (in this case, the processing in the IC card 1 described with reference to FIG. 3 is described, and thus corresponds to the memory 32 of the IC card processing unit 22. For example, the IC card 1 described with reference to FIG. 4 is used. In this case, whether or not the ID is registered in the memory 62 of the common key service processing unit 52 or the memory 62 of the public key service processing unit) according to the method supported by the reader / writer 2. That is, whether or not the service ID received in step S23 is registered in the SRA 46 described with reference to FIG. To cross.
[0104]
If it is determined in step S24 that the received service ID is registered in the module, in step S25, the control unit 31 transmits an ACK signal to the reader / writer 2 via the communication unit 21, and processing is performed. Advances to step S4 in FIG. If it is determined in step S24 that the received service ID is not registered in the module, in step S26, the control unit 31 transmits a NACK signal to the reader / writer 2 via the communication unit 21, and performs processing. Is completed (that is, the process does not proceed to step S4 in FIG. 15).
[0105]
Next, referring to the flowchart of FIG. 18, the corresponding IC card 1 and reader / writer 2 can be executed in the IC card 1 corresponding to a plurality of services and the reader / writer 2 corresponding to the plurality of services. 15 is executed in step S1 of FIG. 15 in the case where service identification is performed by extracting a desired service, displaying it on the display unit 105 of the reader / writer 2, and selecting a service desired by the user from those services. The reader / writer 2 service identification process will be described.
[0106]
In step S31, the control unit 101 of the reader / writer 2 transmits a service ID list transmission command to the IC card 1 via the communication unit 91. In step S32, the IC card 1 is transmitted in step S52 of FIG. It is determined whether the service ID list transmitted by is received. If it is determined in step S32 that the service ID list has not been received, the process of step S32 is repeated until it is determined that the service ID list has been received.
[0107]
When it is determined in step S32 that the service ID list has been received, in step S33, the control unit 101 includes the service corresponding to the reader / writer 2 in the service ID described in the received service ID list. (That is, whether or not the service ID stored in the memory 103 of the reader / writer 2 is included).
[0108]
If it is determined in step S33 that the received service ID list includes a reader / writer compatible service, in step S34, the control unit 101 determines whether there are a plurality of compatible services included in the service ID list. Judge whether or not. If it is determined in step S34 that there are not a plurality of corresponding services (that is, only one), the process proceeds to step S37.
[0109]
If it is determined in step S34 that there are a plurality of corresponding services, the control unit 101 generates data for displaying the plurality of corresponding services on the display unit 105 in step S35 and outputs the data to the display unit 105. In step S36, the input of the service desired by the user is received from the input unit 106. Alternatively, priority information may be included in each service, and a service with the highest priority may be automatically selected from a plurality of corresponding services.
[0110]
If it is determined in step S37 that there is only one corresponding service in step S34, the control unit 101 determines that the service ID corresponding to that service is plural, and that there are a plurality of corresponding services in step S34. In step S36, the service ID corresponding to the desired service input by the user using the input unit 106 is transmitted to the IC card 1 via the communication unit 91, and the process is performed in step S3 of FIG. Proceed to
[0111]
If it is determined in step S33 that the received service ID list does not include a reader / writer compatible service, the control unit 101 transmits a NACK signal to the IC card 1 via the communication unit 91 in step S38. In step S39, the same processing as in step S16 in FIG. 16 is performed, and the processing is terminated (that is, the processing does not proceed to step S3 in FIG. 15).
[0112]
Next, the service identification process of the IC card 1 executed in parallel with the service identification process of the reader / writer 2 described using FIG. 18 in step S2 of FIG. 15 will be described with reference to the flowchart of FIG. To do. Here, the description will be made on the assumption that the processing is performed in the IC card 1 described with reference to FIG. 3, but basically the same applies to the case where the processing is executed by the IC card 1 described with reference to FIG. The process is executed.
[0113]
In step S51, the control unit 31 of the IC card 1 receives the service ID transmission command transmitted by the reader / writer 2 in step S31 of FIG. 18 via the communication unit 21. In step S52, the control unit 31 responds to itself. The service ID list (that is, the list of service IDs registered in the SRA 46 of the memory 32) is generated and transmitted to the reader / writer 2 via the communication unit 21.
[0114]
In step S53, the control unit 31 receives the data transmitted from the reader / writer 2 to the IC card 1 in step S37 or S38 of FIG. 18 via the communication unit 21, and in step S54, the data is transmitted from the reader / writer 2. It is determined whether the received data is a NACK signal. If it is determined in step S54 that the received signal is a NACK signal (that is, the received data is a signal transmitted from the reader / writer 2 to the IC card 1 in step S38 in FIG. 18), the process is performed. The process ends (that is, the process does not proceed to step S4 in FIG. 15).
[0115]
If it is determined in step S54 that the data received from the reader / writer 2 is not a NACK signal (that is, the received data is the service ID transmitted from the reader / writer 2 to the IC card 1 in step S37 of FIG. 18). In step S55, the control unit 31 determines whether the service ID received from the reader / writer 2 is registered in the SRA 46 of its own memory 32.
[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 / writer 2 executed in step S3 of FIG. The authentication key identification process will be described.
[0118]
In step S61, the control unit 101 of the reader / writer 2 sets the service ID corresponding to the service identified by the service identification process in steps S1 and S2 in FIG. 15 (here, the corresponding service ID is ID_S). An authentication key ID corresponding to one of the belonging authentication keys is read from the memory 103 and transmitted to the IC card 1 via the communication unit 91. In step S62, in step S73 or step S75 of FIG. The data transmitted by the IC card 1 is received.
[0119]
In step S63, the control unit 101 determines whether the data received from the IC card 1 in step S62 is an ACK signal. If it is determined in step S63 that an ACK signal has been received, in step S64, the control unit 101 controls the encryption processing unit 33. In step S61, the public key processing unit 111 or the common key of the encryption processing unit 102 is controlled. By selecting and controlling a processing unit that performs authentication processing using an authentication key corresponding to the authentication key ID transmitted to the IC card 1 from the processing unit 112, mutual authentication processing and key sharing processing with the IC card 1 are performed. Is started, the session key Kses is shared with the IC card 1, the mutual authentication process is completed, and then the process is terminated.
[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 IC card 1 that is executed in parallel with the authentication key identification process of the reader / writer 2 of FIG. 20 in step S4 of FIG. 15 will be described with reference to the flowchart of FIG. Here, the case where the process is executed by the IC card 1 described with reference to FIG. 3 will also be described. However, even when the process is executed by the IC card 1 described with reference to FIG. A similar process is executed.
[0122]
In step S71, the control unit 31 of the IC card 1 receives the authentication key ID transmitted by the reader / writer 2 in step S61 of FIG. 20 via the communication unit 21, and in step S72, the authentication received in step S71. It is determined whether or not the key ID is registered in an area where data related to ID_S of the SRA 46 in the memory 32 is stored.
[0123]
When it is determined in step S72 that the authentication key ID is registered, the control unit 31 transmits an ACK signal to the reader / writer 2 via the communication unit 21 in step S73, and in step S74, the encryption process is performed. The mutual key processing is executed by selecting and controlling the public key processing unit 41 or the common key processing unit 42 of the unit 33 which performs the authentication process using the authentication key specified for the reader / writer 2, and the reader / writer 2 and the session key Kses are shared, and after the mutual authentication process is completed, the process is terminated. If it is determined in step S72 that the authentication key ID is not registered, in step S75, the control unit 31 transmits a NACK signal to the reader / writer 2 via the communication unit 21, and the process is terminated.
[0124]
In the processing described with reference to FIGS. 20 and 21, the IC card 1 and the reader / writer 2 are designated by the reader / writer 2 corresponding to the service ID of the service identified by the processing in steps S1 and S2 in FIG. Mutual authentication is executed using the authentication key.
[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 / writer 2 when two types of authentication keys, that is, a public key, are prepared will be described.
[0127]
In step S81, the control unit 101 of the reader / writer 2 sends a common key version information request command for the authentication key corresponding to the service ID of the service identified by the processing in steps S1 and S2 in FIG. In step S82, the common key version information transmitted by the IC card 1 in step S92 of FIG. 23 described later is received via the communication unit 91.
[0128]
In step S83, the control unit 101 determines whether the common key version is valid based on the common key version information received in step S82. When it is determined in step S83 that the common key version is valid, in step S84, the control unit 101 transmits a mutual authentication start command using the common key to the IC card 1, and the common key process of the encryption processing unit 102 is performed. The unit 112 is controlled to start mutual authentication using a common key, share the IC card 1 with the session key Kses, and after the mutual authentication is completed, the process is ended.
[0129]
If it is determined in step S83 that the common key version is not valid, in step S85, the control unit 101 transmits a mutual authentication start command using a public key to the IC card 1, and the public key process of the encryption processing unit 102 is performed. The unit 111 is controlled to start mutual authentication with the public key, share the IC card 1 and the session key Kses, and after the mutual authentication is completed, the process is ended.
[0130]
Next, referring to the flowchart of FIG. 23, in step S4 of FIG. 15, the authentication key identification process of the IC card 1 that is executed in parallel with the authentication key identification process of the reader / writer 2 described using FIG. Will be described. Here, the case where the process is executed by the IC card 1 described with reference to FIG. 3 will also be described. However, even when the process is executed by the IC card 1 described with reference to FIG. A similar process is executed.
[0131]
In step S91, the control unit 31 of the IC card 1 receives the common key version information request command transmitted by the reader / writer 2 in step S81 of FIG. 22. In step S92, the control unit 31 sends the common key version information to the communication unit 21. To the reader / writer 2.
[0132]
In step S93, the control unit 31 receives the mutual authentication start command transmitted by the reader / writer 2 in step S84 or step S85 of FIG. 22, and in step S94, the mutual authentication start command received in step S93 is common. It is determined whether or not the key is a mutual authentication start command.
[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 control unit 31 controls the common key processing unit 42 of the encryption processing unit 33 to start mutual authentication using the common key. Then, after sharing the session key Kses with the reader / writer 2 and completing the mutual authentication, the process is terminated.
[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 control unit 31 performs a public key processing unit of the encryption processing unit 33. 41, the mutual authentication using the public key is started, the reader / writer 2 and the session key Kses are shared, and after the mutual authentication is completed, the process is ended.
[0135]
22 and 23, the IC card 1 and the reader / writer 2 first attempt to perform mutual authentication using a common key with a high authentication speed and cannot perform mutual authentication using the common key (for example, If the corresponding common key version is old), mutual authentication is performed using the public key.
[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 SRA 46 in the memory 103 of the reader / writer 2 stores the certificate of the reader / writer 2 shown in FIG. Further, the certificate of the IC card 1 shown in FIG. 24B is stored in the SRA 46 of the memory 32 of the IC card 1.
[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 / writer 2 or IC card 1 name (ID), reader / writer 2 public key Kpsp or IC card 1 public key Kpu, and the entire message will be described with reference to FIG. It is composed of a digital signature created by creating a message digest by applying an irreversible hash function (data compression function), and encrypting the message digest with the private key Ksca of the certificate authority. The
[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 control unit 31 of the IC card 1 by controlling the DSA signature generation / verification unit 72 of the public key processing unit 41 will be described, but the same processing is executed also in the reader / writer 2. Therefore, description of the processing of the reader / writer 2 is omitted.
[0139]
In step S101, the control unit 31 recognizes parameters necessary for the signature generation process. That is, p is characteristic, a and b are elliptic curve coefficients, and elliptic curve is y2= XThree+ Ax + b, G is the base point on the elliptic curve, r is the order of G, M is the message, Ks is the secret key, and G and KsG are the public keys.
[0140]
In step S102, the DSA signature generation / verification unit 72 of the public key processing unit 41 generates u that satisfies 0 <u <r by a random number generation unit (not shown), and in step S103, the random number u generated in step S102. The public key G is multiplied by u to calculate V that satisfies V = uG = (Xv, Yv).
[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 / writer 2 that has received the digital signature generated in the IC card 1 in this way performs processing for verifying the received digital signature. The signature verification process will be described with reference to the flowchart of FIG. Here, processing executed by the control unit 101 of the reader / writer 2 by controlling the DSA signature generation / verification unit 72 of the public key processing unit 41 will be described, but the same processing is executed also in the IC card 1. Therefore, the description of the processing of the IC card 1 is omitted.
[0145]
In step S111, the control unit 101 recognizes parameters necessary for signature generation processing. That is, p is characteristic, a and b are elliptic curve coefficients, and elliptic curve is y2= XThree+ Ax + b, G is the base point on the elliptic curve, r is the order of G, M is the message, Ks is the secret key, and G and KsG are the public keys.
[0146]
In step S112, the DSA signature generation / verification unit 72 of the public key processing unit 41 determines whether 0 <c <r and 0 <d <r based on the values of c and d of the received signature data. to decide.
[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 / writer 2 in the case where a plurality of authentication keys classified into levels for a certain service are stored, which is executed in step S3 of FIG. Will be described.
[0155]
In step S131, the control unit 101 of the reader / writer 2 transmits a key level negotiation command to the IC card 1 via the communication unit 91. In step S132, in step S143 of FIG. The key version information V at level N to be transmitted is received via the communication unit 91.
[0156]
In step S133, the control unit 101 determines whether or not the level N of the key version information V received in step S132 is N> 0. If it is determined in step S133 that N> 0 is not satisfied, the process proceeds to step S137.
[0157]
If it is determined in step S133 that N> 0, in step S134, the control unit 101 determines whether or not the key version information at level N is valid based on the key version information V received in step S132. To do.
[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 control unit 101 performs IC communication via the communication unit 91. A NACK signal is transmitted to the card 1, the process returns to step S132, and the subsequent processes are repeated.
[0159]
When it is determined in step S134 that the key version at level N is valid, in step S136, the control unit 101 transmits an ACK signal to the IC card 1 via the communication unit 91, and the process is terminated. .
[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 IC card 1 executed in parallel with the authentication key identification process of the reader / writer 2 described with reference to FIG. 27 will be described with reference to the flowchart of FIG. Here, the case where the process is executed by the IC card 1 described with reference to FIG. 3 will also be described. However, even when the process is executed by the IC card 1 described with reference to FIG. A similar process is executed.
[0162]
In step S141, the control unit 31 of the IC card 1 receives the key level negotiation command transmitted by the reader / writer 2 in step S131 of FIG. 27. In step S142, the current key level N is set to N = 1. To do.
[0163]
In step S143, the control unit 31 transmits the current key level N and the key version information V at that level to the reader / writer 2 via the communication unit 21, and in step S144, either step S135 of FIG. In S136, the data transmitted by the reader / writer 2 is received.
[0164]
In step S145, the control unit 31 determines whether or not the signal received from the reader / writer 2 in step S144 is an ACK signal. If it is determined in step S145 that the signal received from the reader / writer 2 is not an ACK signal, the control unit 31 sets N = N + 1 in step S146, and the value of N exceeds a predetermined maximum level in step S147. Judge whether or not.
[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 control unit 31 sets the current level to N = 0 (N = 0 indicates an exceptional state), and The processing returns to step S143, and the subsequent processing is repeated.
[0166]
If it is determined in step S145 that the signal received from the reader / writer 2 is an ACK signal, the process ends.
[0167]
The processing related to the service identification and authentication key identification of the IC card 1 and the reader / writer 2 has been described with reference to FIGS. 15 to 28. For example, the service registration reader / writer 2-11 described with reference to FIG. When the IC card 1 is mounted and new service registration is executed and when service deletion is executed, the memory 103 of the service registration reader / writer 2-11 is used as described with reference to FIG. Since the authentication process is performed using the stored authentication key Kreg for service registration, the mutual authentication process described with reference to FIGS. 15 to 28 may not be used.
[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 control unit 101 of the service registration reader / writer 2-11 transmits a service registration command to the IC card 1 via the communication unit 91, and in step S152, the IC card 1 and the service registration key are transmitted. Perform mutual authentication with Kreg and share the session key Kses.
[0170]
In step S153, the control unit 101 transmits a free space confirmation command to the IC card 1 via the communication unit 91. In step S154, the control unit 101 transmits the empty area confirmation command from the IC card 1 in step S175 or step S176 of FIG. Receive data.
[0171]
In step S155, the control unit 101 determines whether or not the signal received from the IC card 1 in step S154 is an ACK signal. If it is determined in step S155 that the signal received from the IC card 1 is an ACK signal, the control unit 101 controls the common key processing unit 112 of the encryption processing unit 102 in step S156 to Registration data newly registered in the memory 32 is encrypted with the session key Kses, and the encrypted data is transmitted to the IC card 1 via the communication unit 91 in step S157.
[0172]
In step S158, the control unit 101 receives the data registration completion notification transmitted from the IC card 1 in step S180 of FIG. 30 to be described later via the communication unit 91. In step S159, the service deletion permission flag based on service authentication is received. Is transmitted and the process is terminated.
[0173]
If it is determined in step S155 that the signal received from the IC card 1 is not an ACK signal, the same processing as step S16 in FIG. 16 is performed in step S160, and the processing ends.
[0174]
Next, the service registration process of the IC card 1 that is executed in parallel with the service registration process of the reader / writer 2-11 for service registration described with reference to FIG. 29 will be described with reference to the flowchart of FIG. . Here, the case where the process is executed by the IC card 1 described with reference to FIG. 3 will also be described. However, even when the process is executed by the IC card 1 described with reference to FIG. A similar process is executed.
[0175]
In step S171, the control unit 31 of the IC card 1 receives the service registration command transmitted by the service registration reader / writer 2-11 in step S151 of FIG.
[0176]
In step S172, the control unit 31 performs mutual authentication with the IC card 1 and the service registration key Kreg, and shares the session key Kses. In step S173, in step S153 of FIG. The free space confirmation command transmitted by the service registration reader / writer 2-11 is received.
[0177]
In step S <b> 174, the control unit 31 determines whether or not there is a free area for registration data in the SRA 46 of the memory 32. If it is determined in step S174 that there is no free space, in step S175, the control unit 31 transmits a NACK signal to the service registration reader / writer 2-11 via the communication unit 21, and the processing is terminated. The
[0178]
If it is determined in step S174 that there is a free area, the control unit 31 transmits an ACK signal to the service registration reader / writer 2-11 via the communication unit 21 in step S176.
[0179]
In step S177, the control unit 31 receives the encrypted data transmitted by the service registration reader / writer 2-11 in step S157 of FIG. 29 via the communication unit 21, and in step S178, the encryption processing unit 33 The common key processing unit 42 is controlled to decrypt the encrypted data received in step S177 using the session key Kses.
[0180]
In step S179, the control unit 31 supplies the data decrypted with the session key Kses in step S178 to the memory 32, and registers the data in the Service Individual Info area of the SRA 46 and the SRT 45.
[0181]
In step S180, the control unit 31 notifies the registration completion of data to the service registration reader / writer 2-11 via the communication unit 21, and in step S181, in step S159 of FIG. 29, the service registration reader / writer is notified. The service deletion permission flag by service authentication transmitted by 2-11 is received, the service deletion permission flag is set in the Service Individual Info area of the SRA 46 in the memory 32, and the process is terminated.
[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 control unit 101 of the service registration reader / writer 2-11 receives the input of the service ID corresponding to the service to be deleted, which is input by the user using the input unit 106 (here, the corresponding service ID). However, it is assumed that the service with ID_S is deleted).
[0184]
In step S192, the same processing as in step S152 of FIG. 29 is performed. In step S193, the control unit 101 transmits an ID_S area deletion command to the IC card 1 via the communication unit 91. In step S194, the error message transmitted by the IC card 1 in step S205 of FIG. Is received.
[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 IC card 1 executed in parallel with the service deletion process of the service registration reader / writer 2-11 described with reference to FIG. 31 will be described. . Here, the case where the process is executed by the IC card 1 described with reference to FIG. 3 will also be described. However, even when the process is executed by the IC card 1 described with reference to FIG. A similar process is executed.
[0187]
In step S201, processing similar to that in step S172 in FIG. 30 is executed. In step S202, the control unit 31 of the IC card 1 receives the ID_S area deletion command transmitted by the service registration reader / writer 2-11 in step S193 in FIG. 31, and in step S203, data corresponding to the ID_S area. It is determined whether or not the validity of the ID_S area deletion command received in step S202 has been verified by confirming whether or not there is any.
[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 control unit 31 deletes the area corresponding to ID_S from the SRT 45 and SRA 46 of the memory 32, and the process is terminated. The
[0189]
If it is determined in step S203 that the validity of the ID_S area deletion command has not been verified, the control unit 31 sends an error message to the service registration reader / writer 2-11 via the communication unit 21 in step S205. The process is completed.
[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 IC card 1. The service deletion process of the general reader / writer 2-12 will be described with reference to the flowchart of FIG.
[0191]
In step S211, the service identification process of the reader / writer 2 described with reference to FIG. 16 or FIG. 18 is executed, and in step S212, the authentication of the reader / writer 2 described with reference to FIG. 20, FIG. Key identification processing is executed, and in step S213, processing similar to that in step S193 in FIG. 31 is executed.
[0192]
In step S214, the control unit 101 of the general reader / writer 2-12 receives a signal transmitted from the IC card 1 in step S226 or step S227 of FIG. Then, in steps S215 and S216, the same processing as in steps S15 and S16 in FIG. 16 is executed, and the processing is terminated.
[0193]
Next, the service deletion process of the IC card 1 executed in parallel with the service deletion process of the general reader / writer 2-12 described with reference to FIG. 33 will be described with reference to the flowchart of FIG. Here, the case where the process is executed by the IC card 1 described with reference to FIG. 3 will also be described. However, even when the process is executed by the IC card 1 described with reference to FIG. A similar process is executed.
[0194]
In step S221, the service identification process for the IC card 1 described with reference to FIG. 17 or 19 is executed. In step S232, the authentication for the IC card 1 described with reference to FIG. 21, FIG. 23, or FIG. A key identification process is executed.
[0195]
In step S223, the control unit 31 receives, via the communication unit 21, the ID_S area deletion command transmitted by the general reader / writer 2-12 in step S213 of FIG. In step S224, the same processing as in step S203 of FIG. 32 is executed. If it is determined in step S224 that the validity of the command has been verified, the same processing as in step S204 in FIG. 32 is performed in step S225. In step S226, the control unit 31 performs general communication via the communication unit 21. An ACK signal is transmitted to the reader / writer 2-12, and the process is terminated.
[0196]
If it is determined in step S224 that the validity of the command has not been verified, in step S227, the control unit 31 transmits a NACK signal to the general reader / writer 2-12 via the communication unit 21, and the processing is completed. Is done.
[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 IC card 1 by the general reader / writer 2-12. Will be described.
[0198]
In step S231, the reader / writer 2 service identification process described with reference to FIG. 16 or FIG. 18 is executed. In step S232, the reader / writer 2 authentication described with reference to FIG. 20, FIG. 22, or FIG. A key identification process is executed.
[0199]
In step S233, the control unit 101 of the general reader / writer 2-12 transmits a data request command for the ID_S area to the IC card 1 via the communication unit 91.
[0200]
In step S234, the control unit 101 receives data transmitted from the IC card 1 in step S245 of FIG. 36 described later. In step S235, the control unit 101 controls the common key processing unit 112 of the encryption processing unit 102 to perform step. The encrypted data received in S234 is decrypted using the session key Kses. The control unit 101 performs predetermined data processing such as subtraction or addition of electronic money, for example, using the decrypted data, and the processing ends.
[0201]
Next, the service data acquisition process of the IC card 1 executed in parallel with the service data acquisition process of the general reader / writer 2-12 described with reference to FIG. 35 will be described with reference to the flowchart of FIG. . Here, the case where the process is executed by the IC card 1 described with reference to FIG. 3 will also be described. However, even when the process is executed by the IC card 1 described with reference to FIG. A similar process is executed.
[0202]
In step S241, the service identification process of the IC card 1 described with reference to FIG. 17 or 19 is executed, and in step S232, the authentication of the IC card 1 described with reference to FIG. 21, FIG. 23, or FIG. A key identification process is executed.
[0203]
In step S243, the control unit 31 of the IC card 1 receives the data request command for the ID_S area transmitted by the general reader / writer 2-12 in step S233 of FIG. 35 via the communication unit 21. In step S244, the control unit 31 controls the common key processing unit 42 of the encryption processing unit 33 to encrypt the data registered in the area corresponding to ID_S of the memory 32 using the session key Kses, In step S245, the encrypted data is transmitted to the general reader / writer 2-12 via the communication unit 21, and the process ends.
[0204]
Further, even when information related to a certain service is exchanged between the IC card 1 and the general reader / writer 2-12, if the corresponding permission information is recorded in the SRT 45 described with reference to FIG. It is possible to exchange information related to services other than the exchange of information. With reference to the flowchart of FIG. 37, the service data acquisition process of the general reader / writer 2-12 performed during the execution of the service corresponding to the service ID other than ID_S will be described.
[0205]
In steps S251 through S254, the same processing as in steps S231 through S234 of FIG. 35 is executed. In step S255, the control unit 101 of the general reader / writer 2-12 determines whether the data received from the IC card 1 in step S254 is a NACK signal.
[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 IC card 1 that is executed in parallel with the service data acquisition process of the general reader / writer 2-12 described with reference to FIG. 37 will be described with reference to the flowchart of FIG. . Here, the case where the process is executed by the IC card 1 described with reference to FIG. 3 will also be described. However, even when the process is executed by the IC card 1 described with reference to FIG. A similar process is executed.
[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 control unit 31 of the IC card 1 determines whether the ID_S area corresponding to the data request command received in step S263 is registered in the SRT 45 and SRA 46 of the memory 32. If it is determined in step S264 that the ID_S area is not registered, the process proceeds to step S269.
[0209]
If it is determined in step S264 that the ID_S area is registered, the control unit 31 acquires permission information of ID_S from the permission information field corresponding to ID_S in the SRT 45 of the memory 32 in step S265. In S266, it is determined whether reading of ID_S data is permitted at the time of ID_T authentication (that is, the permission information field corresponding to ID_S of SRT45 is read permission of data at the time of authentication by ID_T, ie, ro or It is determined whether or not rw is described). If it is determined in step S266 that data reading is not permitted, the process proceeds to step S269.
[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 control unit 31 causes the communication unit 21 to Then, a NACK signal is transmitted to the general reader / writer 2-12, and the process is terminated.
[0212]
The data is acquired from the IC card 1 to the general reader / writer 2-12 by the service data acquisition processing described with reference to FIGS. 35 to 48, and after the predetermined processing is performed, the general reader / writer 2-12 needs to In response, a process of writing data to a predetermined area of the SRT 45 or SRA 46 of the memory 32 of the IC card 1 is executed.
[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 / writer 2 service identification process described with reference to FIG. 16 or FIG. 18 is executed. In step S282, the reader / writer 2 authentication described with reference to FIG. 20, FIG. A key identification process is executed.
[0215]
In step S283, the control unit 101 of the general reader / writer 2-12 controls the common key processing unit 112 of the encryption processing unit 102 to transmit the data to be transmitted to the IC card 1 for writing to the memory 32 of the IC card 1. In step S284, the data write command and the data encrypted in step S284 are transmitted to the IC card 1 via the communication unit 91, and the process ends.
[0216]
Next, the service data writing process of the IC card 1 executed in parallel with the service data writing process of the general reader / writer 2-12 described with reference to FIG. 39 will be described with reference to the flowchart of FIG. . Here, the case where the process is executed by the IC card 1 described with reference to FIG. 3 will also be described. However, even when the process is executed by the IC card 1 described with reference to FIG. A similar process is executed.
[0217]
In step S291, the service identification process of the IC card 1 described with reference to FIG. 17 or 19 is executed, and in step S232, the authentication of the IC card 1 described with reference to FIG. 21, FIG. 23, or FIG. A key identification process is executed.
[0218]
In step S293, the control unit 31 receives the data write command and the encrypted data transmitted by the general reader / writer 2-12 in step S284 of FIG. 39 via the communication unit 21. In step S294, the control unit 31 controls the common key processing unit 42 of the encryption processing unit 33 to decrypt the received data using the session key Kses. In step S295, the control unit 31 stores the decrypted data in the memory 32. Writing to the service storage area corresponding to ID_S of SRT 45 and SRA 46 is completed.
[0219]
Further, even when information related to a certain service is exchanged between the IC card 1 and the general reader / writer 2-12, the corresponding permission information is recorded in the SRT 45 described with reference to FIG. Similar to the service data acquisition process described with reference to FIG. 37 and FIG. 38, it is possible to execute a service data write process related to a service other than the information currently being exchanged. With reference to the flowchart of FIG. 41, the service data writing process of the general reader / writer 2-12 performed during the execution of the service corresponding to the service ID other than ID_S will be described.
[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 IC card 1 executed in parallel with the service data writing process of the general reader / writer 2-12 described with reference to FIG. 41 will be described with reference to the flowchart of FIG. . Here, the case where the process is executed by the IC card 1 described with reference to FIG. 3 will also be described. However, even when the process is executed by the IC card 1 described with reference to FIG. A similar process is executed.
[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 control unit 31 determines whether or not data writing is permitted for the ID_S service (that is, in the permission information field corresponding to ID_S of the SRT 45, at the time of ID_T authentication). (Whether or not rw is described is determined). If it is determined in step S316 that data writing is not permitted, the process proceeds to step S320.
[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 control unit 31 transmits an ACK signal to the general reader / writer 2-12 via the communication unit 21, and the process is terminated.
[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 control unit 31 causes the communication unit 21 to Then, a NACK signal is transmitted to the general reader / writer 2-12, and the process is terminated.
[0226]
As described above, in order to attach the IC card 1 to the general reader / writer 2-12 and receive various services, authentication processing must be performed using a common key or public key determined for each service. Don't be. These authentication keys are often upgraded (ie, the keys are changed) in order to maintain security. The user attaches the IC card 1 to the reader / writer 2-14 for upgrading described with reference to FIG. 2 or the general reader / writer 2-12, and performs a key upgrade process described later with reference to FIGS. By executing, it is necessary to upgrade the authentication key registered in the IC card 1 managed by itself to an authentication key having a version as close to the latest as possible.
[0227]
Next, referring to FIG. 43, the upgrade reader / writer 2 is executed using the upgrade key (version upgrade key Kake_vup described with reference to FIGS. 6 and 14) determined for each service. The key version upgrade process of -14 will be described.
[0228]
In step S331, the service identification process of the reader / writer 2 described with reference to FIG. 16 or FIG. 18 is executed. In step S332, the authentication of the reader / writer 2 described with reference to FIG. A key identification process is executed.
[0229]
In step S333, the control unit 101 of the version upgrade reader / writer 2-14 controls the common key processing unit 112 of the encryption processing unit 102 to set the authentication key ID corresponding to the authentication key to be upgraded to the session key Kses. And is transmitted to the IC card 1. In step S334, the control unit 101 receives a signal transmitted from the IC card 1 in step S355 or step S360 of FIG.
[0230]
In step S335, the control unit 101 determines whether or not the signal received from the IC card 1 in step S334 is an ACK signal. If it is determined in step S335 that the received signal is not an ACK signal, the process proceeds to step S339. If it is determined in step S335 that the received signal is an ACK signal, in step S336, the control unit 101 reads out the latest version information corresponding to the authentication key to be upgraded and the authentication key Kake from the memory 103, The common key processing unit 112 of the encryption processing unit 102 is controlled, encrypted using the session key Kses, and transmitted to the IC card 1 via the communication unit 91.
[0231]
In step S337, the IC card 1 receives the signal transmitted in 44 step S359 or S360 described later. In step S338, the same process as in step S335 is performed. If it is determined in step S338 that the received signal is an ACK signal, the process ends. If it is determined in steps S335 and S338 that the received signal is not an ACK signal, the same processing as step S16 in FIG. 16 is performed in step S339, and the processing is terminated.
[0232]
Next, with reference to the flowchart of FIG. 44, the key version upgrade process of the IC card 1 executed in parallel with the key version upgrade process of the version upgrade reader / writer 2-14 described with reference to FIG. explain. Here, the case where the process is executed by the IC card 1 described with reference to FIG. 3 will also be described. However, even when the process is executed by the IC card 1 described with reference to FIG. A similar process is executed.
[0233]
In step S351, the service identification process of the IC card 1 described with reference to FIG. 17 or 19 is executed, and in step S352, the authentication of the IC card 1 described with reference to FIG. 21, FIG. 23, or FIG. A key identification process is executed.
[0234]
In step S353, the control unit 31 receives the encrypted authentication key ID transmitted from the upgrade reader / writer 2-14 in step S333 of FIG. The common key processing unit 42 is controlled to decrypt the received data using the session key Kses. In step S354, based on the decrypted data, the control unit 31 determines whether a corresponding authentication key ID exists in the ID_S of the SRT 45 and the SRA 46 of the memory 32. If it is determined in step S354 that the authentication key ID does not exist, the process proceeds to step S360.
[0235]
When it is determined in step S354 that the authentication key ID exists, the control unit 31 transmits an ACK signal to the version upgrade reader / writer 2-14 via the communication unit 21 in step S355, and in step S356. 43, the encrypted latest version information and the authentication key Kake transmitted by the version upgrade reader / writer 2-14 are received via the communication unit 21, and the common key process of the encryption processing unit 33 is performed. The unit 42 is controlled to decrypt the received version information using the session key Kses.
[0236]
In step S357, the control unit 31 determines whether the received version information is correct based on the decrypted data (that is, whether the version information is newer than the version information of the authentication key already owned by itself). Judging. If it is determined in step S357 that the version information is not correct, the process proceeds to step S360.
[0237]
If it is determined in step S357 that the version information is correct, the control unit 31 controls the common key processing unit 42 of the encryption processing unit 33 to decrypt the authentication key Kake using the session key Kses, and the memory 32 In the SRA 46, an ACK signal is transmitted to the version upgrade reader / writer 2-14 via the communication unit 21 in step S359, and the process ends.
[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 control unit 31 sends an update reader / writer 2-14. Then, a NACK signal is transmitted via the communication unit 21, and the process is terminated.
[0239]
In addition, when the IC card 1 and the general reader / writer 2-12 exchange information about a certain service, when the corresponding permission information is recorded in the SRT 45 described with reference to FIG. As in the service data acquisition process described with reference to FIG. 38 and the service data write process described with reference to FIGS. 41 and 42, key version upgrade processing for services other than those currently being exchanged is executed. Is possible. A key version upgrade process of the general reader / writer 2-12, which is performed during execution of a service corresponding to a service ID other than ID_S, will be described with reference to the flowchart of FIG.
[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 control unit 101 of the general reader / writer 2-12 transmits an authentication key upgrade command for the service corresponding to ID_S to the IC card 1 via the communication unit 91. In step S397 in FIG. 46 or step S405 in FIG. 47, the data transmitted by the IC card 1 is received. In step S375, it is determined whether the signal received from the IC card 1 is an ACK signal.
[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 IC card 1 that is executed in parallel with the key version upgrade process of the version upgrade reader / writer 2-14 described with reference to FIG. The up process will be described. Here, the case where the process is executed by the IC card 1 described with reference to FIG. 3 will also be described. However, even when the process is executed by the IC card 1 described with reference to FIG. A similar process is executed.
[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 control unit 31 receives the ID_S authentication key upgrade command transmitted by the upgrade reader / writer 2-14 in step S373 of FIG.
[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 control unit 31 determines whether or not version upgrade of the ID_S authentication key is permitted at the time of ID_T authentication (that is, the permission information field corresponding to ID_S of the SRT 45 indicates the vup at the time of ID_T authentication). Determine if permission is listed). If it is determined in step S396 that the authentication key version upgrade is not permitted, the process proceeds to step S405.
[0246]
If it is determined in step S396 that the authentication key is allowed to be upgraded, the control unit 31 transmits an ACK signal to the upgrade reader / writer 2-14 via the communication unit 21 in step S397. To do.
[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 IC card 1 described with reference to FIG. 4 and the inter-module communication reader / writer 2-13. Here, the communication unit 51 and the common key service processing unit 52 of the IC card 1 described using FIG. 4 are the common key module 122 described using FIG. 13, and the communication unit 53 and the common key service processing unit 52 described using FIG. The public key service processing unit 54 will be described as the public key module 121 described with reference to FIG.
[0249]
48, the common key module 122 shares the session key shared with the inter-module communication reader / writer 2-13, and the public key module 121 shares the inter-module communication reader / writer 2-13. Inter-module communication when the session key to be used is different will be described.
[0250]
In step S411, the inter-module communication reader / writer 2-13 executes the service identification process of the reader / writer 2 described with reference to FIG. 16 or FIG. 18, and in step S412, the public key module 121 of the IC card 1. Executes the service identification process of the IC card 1 described with reference to FIG. 17 or 19, and shares the session key Kses 1 between the inter-module reader / writer 2-13 and the public key module 121.
[0251]
In step S413, the inter-module communication reader / writer 2-13 executes the service identification process of the reader / writer 2 described with reference to FIG. 16 or FIG. 18, and in step S414, the common key module 122 of the IC card 1 is processed. Executes the service identification processing of the IC card 1 described with reference to FIG. 17 or FIG. 19, and shares the session key Kses 2 between the inter-module reader / writer 2-13 and the common key module 122.
[0252]
In step S415, the control unit 101 of the inter-module communication reader / writer 2-13 discloses based on the card ID of the IC card 1 obtained in the service identification process of the reader / writer 2 executed in steps S411 and S413. It is determined whether or not the two card IDs of the key module 121 and the common key module 122 match. If it is determined in step S415 that the card IDs do not match, the same processing as in step S16 in FIG. 16 is executed in step S416.
[0253]
If it is determined in step S415 that the two card IDs match, the control unit 101 of the inter-module communication reader / writer 2-13 transmits a module data movement command to the public key module 121 in step S417.
[0254]
In step S418, the control unit 61 of the public key module 121 receives the module data movement start command from the inter-module communication reader / writer 2-13, and controls the common key processing unit 42 of the encryption processing unit 33 to move the module data movement start command. The data to be encrypted is encrypted with the session key Kses1, and in step S419, the encrypted data is transmitted to the inter-module communication reader / writer 2-13.
[0255]
In step S420, the control unit 101 of the inter-module communication reader / writer 2-13 controls the common key processing unit 112 of the encryption processing unit 102 to decrypt the received data with the session key Kses1, and in step S421, The data is encrypted with the session key Kses 2 and transmitted to the common key module 122. In step S422, the control unit 61 of the common key module 122 controls the common key processing unit 42 of the encryption processing unit 63 to decrypt the received data with the session key Kses2, and in step S423, the decrypted data is stored in the memory. It is stored and used in 62 corresponding areas.
[0256]
Next, referring to the flowchart of FIG. 49, the common key module 122 shares the session key shared with the inter-module communication reader / writer 2-13, and the public key module 121 communicates with the inter-module communication reader / writer 2-13. The inter-module communication when the shared session key is the same will be described.
[0257]
In step S431, the inter-module communication reader / writer 2-13 executes the service identification process of the reader / writer 2 described with reference to FIG. 16 or FIG. 18, and in step S432, the public key module 121 of the IC card 1. Executes the service identification process of the IC card 1 described with reference to FIG. 17 or 19, and shares the session key Kses 1 between the inter-module reader / writer 2-13 and the public key module 121.
[0258]
In step S433, the inter-module communication reader / writer 2-13 executes the service identification process of the reader / writer 2 described with reference to FIG. 16 or FIG. 18, and in step S434, the common key module 122 of the IC card 1 is processed. Executes the service identification process of the IC card 1 described with reference to FIG. 17 or 19, and shares the session key Kses 1 between the inter-module reader / writer 2-13 and the common key module 122.
[0259]
In steps S435 to S439, processing similar to that in steps S415 to S419 in FIG. 48 is executed. In step S440, the control unit 101 of the inter-module communication reader / writer 2-13 transmits the received data to the common key module 122. 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 key module 122. Here, the common key module 122 is used. However, since the session key Kses1 is provided, these processes are not necessary.
[0260]
The control unit 61 of the common key module 122 controls the encryption processing unit 63 in step S411 to decrypt the received data with the session key Kses1, and stores the decrypted data in a corresponding area of the memory 62 in step S422. And use it.
[0261]
Next, referring to the flowchart of FIG. 50, the common key module 122 shares the session key shared with the inter-module communication reader / writer 2-13, and the public key module 121 communicates with the inter-module communication reader / writer 2-13. Although the session key to be shared is different, the inter-module communication reader / writer 2-13 encrypts the session key included in the common key module 122 with the other session key included in the public key module 121, and stores it in the public key module 121. The inter-module communication in the case where supply is performed will be described.
[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 key module 121, and the session key Kses2 is shared between the inter-module reader / writer 2-13 and the common key module 122. .
[0263]
In step S457, the control unit 101 of the inter-module communication reader / writer 2-13 controls the encryption processing unit 102 to encrypt the session key Kses2 with the session key Kses1 and transmit it to the public key module 121. The control unit 61 of the public key module 121 takes out the session key Kses2 by controlling the common key processing unit 42 of the encryption processing unit 33 and decrypting the received data with the session key Kses1.
[0264]
In step S459, processing similar to that in step S417 in FIG. 48 is executed. In step S460, the control unit 61 of the public key module 121 encrypts the moving data with the session key Kses2, and transmits the encrypted data to the inter-module communication reader / writer 2-13.
[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 key module 122. Similarly to the processing described with reference to, since the common key module 122 and the public key module 121 can obtain the same session key Kses2, it is not necessary to perform these processing.
[0267]
51, the public key module 121 and the common key module 122 share the common secret key K_common, perform mutual authentication using the common secret key K_common, and further share the common session key Kses. The inter-module communication will be described.
[0268]
In steps S471 and S472, the public key module 121 and the common key module 122 perform mutual authentication using the common secret key K_common and share the session key Kses. In step S473, the inter-module communication reader / writer 2-13 provides only the communication path for mutual authentication in steps S471 and S472 (that is, the session key is shared by both the public key module 121 and the common key module 122). Absent).
[0269]
In step S474, processing similar to that in step S417 in FIG. 48 is executed. In step S475, the control unit 61 of the public key module 121 controls the common key processing unit 42 of the encryption processing unit 33 to encrypt the moving data with the session key Kses, and to transfer the encrypted data to the inter-module communication reader. Transmit to writer 2-13. In steps S476 to S478, processing similar to that in steps S421 to S423 in FIG. 49 is executed.
[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 semiconductor memory 118.
[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 IC card 1 reader / writer, 21 communication unit, 31 control unit, 32 memory, 33 cryptographic processing unit, 41 public key processing unit, 42 common key processing unit, 43 other cryptographic processing unit, 45 SRT, 46 SRA, 51 communication Unit, 52 common key service processing unit, 53 communication unit, 54 public key service processing unit, 61 control unit, 62 memory, 63 cryptographic processing unit, 91 communication unit, 101 control unit, 102 cryptographic processing unit, 103 memory, 111 disclosure Key processing unit, 112 common key processing unit, 113 other cryptographic processing unit, 105 display unit, 106 input unit, 121 public key module, 122 common key module

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.
JP2000180052A 2000-06-15 2000-06-15 Data storage device and information processing device Expired - Fee Related JP4538909B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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