JP2001357365A - データ記憶装置およびデータ記憶方法、並びに記録媒体 - Google Patents

データ記憶装置およびデータ記憶方法、並びに記録媒体

Info

Publication number
JP2001357365A
JP2001357365A JP2000180051A JP2000180051A JP2001357365A JP 2001357365 A JP2001357365 A JP 2001357365A JP 2000180051 A JP2000180051 A JP 2000180051A JP 2000180051 A JP2000180051 A JP 2000180051A JP 2001357365 A JP2001357365 A JP 2001357365A
Authority
JP
Japan
Prior art keywords
service
card
writer
reader
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2000180051A
Other languages
English (en)
Inventor
Taizo Shirai
太三 白井
Yoshito Ishibashi
義人 石橋
Tomoyuki Asano
智之 浅野
Kenji Yoshino
賢治 吉野
Makoto Oka
誠 岡
Ryuta Taki
隆太 瀧
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 JP2000180051A priority Critical patent/JP2001357365A/ja
Publication of JP2001357365A publication Critical patent/JP2001357365A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 1枚のICカードで、セキュリティを確保し
つつ、複数のサービスの供給を同時に受けることができ
るようにする。 【解決手段】 Service Relation Tableには、IDカー
ドに複数のサービスが登録されている場合に、あるサー
ビスを行いながら別のサービスのサービスデータに対し
てアクセスを許可するためのデータが登録されており、
ICカードに登録されているサービスIDが記載されて
いる登録サービスIDフィールドと、それぞれのサービ
スIDに対応するパーミッション情報が記載されている
パーミッション情報フィールドで構成されている。パー
ミッション情報は、対応するサービスが実行されている
場合にアクセスすることができるサービスIDと、アク
セス可能なサービスIDに対して、実行可能な処理を示
す情報が記載されている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ記憶装置お
よびデータ記憶方法に関し、例えば、ICカードと、リ
ーダライタとが、所定のサービスに関するデータの授受
を実行している場合において、セキュリティを確保しつ
つ、予め許可された他のサービスに関するデータの授受
を、並行して行うことを可能とするデータ記憶装置およ
びデータ記憶方法に関する。
【0002】
【従来の技術】電子マネーシステムや、セキュリティシ
ステムにおいて、IC(Integrated circuit)カードの
利用が増加している。ICカードは、各種処理を行うC
PU(Central Processing Unit)や、処理に必要なデ
ータなどを記憶するメモリを内蔵しており、所定のリー
ダライタに電気的に接触させた状態で、または電磁波を
利用して非接触で、データの送受信が行われる。なお、
リーダライタとの間で、電磁波を利用して非接触でデー
タの送受信を行うICカードには、一般に、その電磁波
により、必要な電力が供給される。
【0003】ICカードと、リーダライタの認証には、
共通鍵方式もしくは公開鍵方式が用いられる。共通鍵方
式では、暗号化に使用する鍵と、復号に使用する鍵が同
じである。共通鍵暗号を使うには、前もって送信者と受
信者の間で共通鍵を共有する必要があるため、暗号化に
使用した鍵を、通信路とは別の安全な手段を使って、通
信相手に届けておく必要がある(すなわち、ICカード
とリーダライタが共通鍵を予め共有していなければなら
ない)。暗号化は、基本的には、文字の順序を入れ換え
る「転置(転字)」と、一定の規則に従ってある文字を
別の文字に置き換える「換字」を組み合わせて行われ
る。どのような順序で入れ換えるか、どの文字とどの文
字が置き換えてあるかを示すのが暗号アルゴリズムと鍵
である。暗号化において、文字をずらすための換字暗号
や文字の順序を変えるための転置暗号が基本的な暗号変
換であり、ずらされる文字数などが鍵となる。
【0004】公開鍵方式は、暗号システムにおいて、
「暗号化鍵」と「復号鍵」という2つの鍵をペアで使
い、そのうちの暗号化鍵は公開し、復号鍵は、鍵の発行
者が管理して秘密にしておくものである。データを送信
する場合は、暗号化鍵を使って通信文を暗号化し、受信
した側では復号鍵を使って元に戻す。2つの鍵はある数
学的な関係に基づいて決められているので、暗号化鍵か
ら復号鍵を求めるのは不可能ではないが、計算量の点か
ら現実的ではない。
【0005】公開鍵暗号システムは、従来の共通鍵暗号
システムに比べて、暗号化鍵は秘匿する必要がないの
で、暗号化鍵の配布が容易であり、暗号文を復号するに
は、各ユーザが個々に持っている復号鍵さえあればよい
ので、復号鍵を配布する必要がなく、更に、デジタル署
名によるメッセージの認証機能を持つ、という利点を有
するが、共通鍵暗号システムに比べて、認証処理にかか
る時間が長くなる。
【0006】デジタル署名とは、電子メールやオンライ
ン取り引きなどにおいて、そのメッセージが正当な発信
者から発信され、途中で改ざんなどが行なわれていない
ことを示すための方法である。通常の暗号文通信では、
公開鍵で暗号化を行うが、例えば、RSA(Rivest,Sh
amir,Adleman)公開鍵暗号システムの場合には、逆
に、「復号鍵(秘密鍵)で暗号化を行う」とデジタル署
名となる。また、他の暗号方式では、署名を付加したい
データに対して、ハッシュ値を取り、それを秘密鍵で暗
号化している。
【0007】この署名を検証するには、公開鍵が用いら
れる(すなわち、暗号化鍵と復号鍵の役割が入れ換えら
れる)。公開鍵は広く公開されているので、だれでもそ
の署名の正当性を簡単に検査することができる。もし公
開鍵で暗号文を正しく復元することができ、意味のある
文が得られれば、それは正しい発信者であると確認する
ことができる。なぜなら、秘密鍵(署名を行った鍵)を
知っているのは正規の発信者だけであり、公開鍵で復元
できるようなデジタル署名を作成するには、そのペアと
なる秘密鍵を知らなければいけないからである。また、
データが改ざんされた場合、データは正しく復号するこ
とができなくなるため、改ざんの防止・検出にも利用す
ることができる。署名の検証は、公開鍵を用いて復号し
た値と、別途、データから計算しなおしたハッシュ値と
を比較することにより実行され、一致していれば、デー
タは改ざんされていないと判断され、一致していなけれ
ば、データの改ざんが行われたと判断される。
【0008】また、データの発行元が信頼のおける組織
であることを証明するための証明書を発行することを目
的とした第3者の組織を、認証局(CA(Certificate
Authority))という。
【0009】
【発明が解決しようとする課題】従来、ICカードを用
いて複数のサービスを受ける場合、1つのサービスを受
けている間は、他のサービスを受けることができない。
なぜならば、ICカードとリーダライタにおいて、所定
のデータを授受するためには、それぞれのデータに対す
るセキュリティを確保するために、認証処理を行う必要
があるからである。しかしながら、例えば、同一のIC
カードと同一のリーダライタを用いて、プリペイドサー
ビスと電子マネーサービスを受けることができるような
場合、プリペイドサービスに関する清算処理を行いなが
ら、電子マネーの充填を行いたいという要求がある。
【0010】本発明はこのような状況に鑑みてなされた
ものであり、所定のサービスに関するデータの授受を実
行している場合において、セキュリティを確保しつつ、
予め許可された他のサービスに関するデータの授受を、
並行して行うことを可能とするものである。
【0011】
【課題を解決するための手段】本発明のデータ記憶装置
は、情報処理装置に対する、データの入出力を制御する
入出力制御手段と、複数のサービスに対応するデータの
記憶を制御する第1の記憶制御手段と、複数のサービス
のうちの第1のサービスに対応する第1のサービスID
と、入出力制御手段により第1のサービスに関するデー
タの入出力が制御されている場合にデータの入出力が許
可される、複数のサービスのうちの第2のサービスに対
応する第2のサービスIDの記憶を制御する第2の記憶
制御手段とを備えることを特徴とする。
【0012】第2の記憶制御手段には、第2のサービス
に関するアクセス権の制限に関する情報の記憶を制御さ
せることができる。
【0013】第2の記憶制御手段には、第2のサービス
IDが、第1のサービスIDに対して複数存在する場
合、複数の第2のサービスIDの記憶を制御させ、第2
のサービスIDが、第1のサービスIDに対して1つも
存在しない場合、第2のサービスIDが空欄となるよう
に記憶を制御させることができる。
【0014】本発明のデータ記憶方法は、情報処理装置
に対する、データの入出力を制御する入出力制御ステッ
プと、複数のサービスに対応するデータの記憶を制御す
る第1の記憶制御ステップと、複数のサービスのうちの
第1のサービスに対応する第1のサービスIDと、入出
力制御ステップの処理により第1のサービスに関するデ
ータの入出力が制御されている場合にデータの入出力が
許可される、複数のサービスのうちの第2のサービスに
対応する第2のサービスIDの記憶を制御する第2の記
憶制御ステップとを含むことを特徴とする。
【0015】本発明の記録媒体に記録されているプログ
ラムは、情報処理装置に対する、データの入出力を制御
する入出力制御ステップと、複数のサービスに対応する
データの記憶を制御する第1の記憶制御ステップと、複
数のサービスのうちの第1のサービスに対応する第1の
サービスIDと、入出力制御ステップの処理により第1
のサービスに関するデータの入出力が制御されている場
合にデータの入出力が許可される、複数のサービスのう
ちの第2のサービスに対応する第2のサービスIDの記
憶を制御する第2の記憶制御ステップとを含むことを特
徴とする。
【0016】本発明のデータ記憶装置、データ記憶方法
および記録媒体に記録されているプログラムにおいて
は、情報処理装置に対するデータの入出力が制御され、
複数のサービスに対応するデータの記憶が制御され、複
数のサービスのうちの第1のサービスに対応する第1の
サービスIDと、入出力制御ステップの処理により第1
のサービスに関するデータの入出力が制御されている場
合にデータの入出力が許可される、複数のサービスのう
ちの第2のサービスに対応する第2のサービスIDの記
憶が制御される。
【0017】
【発明の実施の形態】以下、図を参照して、本発明の実
施の形態について説明する。
【0018】図1に、ICカードとリーダライタの関係
を示す。ICカード1は、共通鍵方式による認証と、公
開鍵方式による認証の両方の認証サービスに対応するこ
とが可能である(それぞれの認証方法については後述す
る)。非接触式共通鍵対応リーダライタ2−1は、IC
カード1と非接触で通信を行い、共通鍵方式で認証を行
う。非接触式公開鍵対応リーダライタ2−2は、ICカ
ード1と非接触で通信を行い、公開鍵方式で認証を行
う。接触式公開鍵対応リーダライタ2−3は、接触して
通信を行い、公開鍵方式で通信を行う。
【0019】例えば、ICカード1に定期券や運賃の支
払いを行うことができるプリペイドカードなどのサービ
スを提供する情報が含まれており、ICカード1を用い
て駅の改札を利用する場合や、ICカード1に、IDカ
ードとしての機能が含まれており、ICカード1を用い
て入室許可の認証を行う場合などの、短い処理時間が求
められる処理においては、非接触式共通鍵対応リーダラ
イタ2−1を用いて、共通鍵による非接触の通信が行わ
れる。
【0020】例えば、ICカード1に、電子マネーのサ
ービスを提供する情報が含まれており、店舗などでユー
ザが購買した商品の清算の処理を行う場合などは、公開
鍵方式により認証が行われ、認証処理に時間がかかる。
このため、処理時間を特に気にしないような場合は、非
接触式公開鍵対応リーダライタ2−2を用いて、非接触
で通信を行ってもよいし、処理時間を短縮するために、
接触式公開鍵対応リーダライタ2−3を用いて、接触し
て通信を行うようにしてもよい。
【0021】図1においては、非接触式共通鍵対応リー
ダライタ2−1乃至接触式公開鍵対応リーダライタ2−
3を、個別のリーダライタとして説明しているが、必要
に応じて、1つのリーダライタで、複数の通信方法や複
数の認証方法を用いることができるようにしてもよい。
【0022】次に、図2を用いて、カード発行者、サー
ビス提供者、およびカード保持者について説明する。
【0023】カード発行者11は、サービス提供者12
に、ICカード1を保有するカード保持者13に対し
て、ICカード1を用いたサービスの提供を行うことを
認可し、ICカード1の発行を希望したカード保持者1
3に対して、ICカード1を発行する。
【0024】カード発行者11から、サービスの認可を
受けたサービス提供者12は、カード発行者11が有す
るサービス登録用リーダライタ2−11に、自分自身が
カード保持者13に提供するサービスに対応するデータ
(図6を用いて後述するService Individual Info)を
登録する。この登録については、例えば、サービス提供
者12が有する図示しないパーソナルコンピュータなど
から、インターネットなどを介して、サービス登録用リ
ーダライタ2−11に登録するようにしてもよいし、オ
ペレータが手動で登録するようにしてもよい。
【0025】カード保持者13は、サービス登録用リー
ダライタ2−11を用いて、カード発行者11から発行
されたICカード1に、希望するサービスを登録させる
ことができる。サービス登録用リーダライタ2−11
と、ICカード1のサービス登録処理については、図2
9および図30を用いて後述する。
【0026】そして、カード保持者13は、自分自身の
ICカード1に登録されているサービスの削除を行いた
い場合、カード発行者11が管理するサービス登録用リ
ーダライタ2−11、もしくは、サービス提供者12が
管理する一般リーダライタ2−12を用いて、自分自身
のICカード1から、サービスを削除させることができ
る。ICカード1とサービス登録用リーダライタ2−1
1のサービス削除処理については、図31および図3
2、ICカード1と一般リーダライタ2−12のサービ
ス削除処理については、図33および図34を用いて後
述する。
【0027】また、カード保持者13は、例えば、IC
カード1に、電子マネーサービスとプリペイドサービス
が登録されており、それぞれの価値情報が、ICカード
1のそれぞれのサービスに関する情報に記録されている
状況で、電子マネーの価値の一部を、プリペイドの価値
へ置き換えたい場合、サービス提供者12が管理するモ
ジュール間通信用リーダライタ2−13を用いて、自分
自身のICカード1の、図13を用いて後述する公開鍵
モジュールと共通鍵モジュールの間で、モジュール間通
信を実行させることができる。モジュール間通信用リー
ダライタ2−13は、共通鍵方式と、公開鍵方式の2方
式に対応するようになされている。ICカード1とモジ
ュール間通信用リーダライタ2−13との処理について
は、図48乃至図51を用いて後述する。
【0028】更に、カード保持者13は、失効してしま
った認証鍵の更新(バージョンアップ)を行いたい場
合、サービス提供者12が管理する一般リーダライタ2
−12、もしくは、バージョンアップ用リーダライタ2
−14を用いて、自分自身のICカード1に登録されて
いる認証鍵のバージョンアップを行わせることができ
る。ICカード1とバージョンアップ用リーダライタ2
−14との鍵バージョンアップ処理については、図43
および44を用いて、ICカード1と一般リーダライタ
2−12との鍵バージョンアップ処理については、図4
5乃至47を用いて後述する。
【0029】図3は、ICカード1の構成を示すブロッ
ク図である。
【0030】ICカード1は、リーダライタ2(リーダ
ライタ2−1乃至2−3、もしくはリーダライタ2−1
1乃至2−14を特に区別する必要のない場合について
は、これらを総称して、リーダライタ2と称するものと
する)との通信を行う通信部21と、データ処理を実行
するICカード処理部22から構成されている。
【0031】通信部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と通信するための接触端子
を備えている。
【0032】通信部21は、リーダライタ2から送信さ
れたデータを受信し、受信したデータが、例えば、AS
K(Amplitude Shift Keying)やBPSK(Binary Pha
se Shift Keying)を用いて変調されている場合、所定
の処理により、受信したデータを復調し、ICカード処
理部22の制御部31に供給するとともに、ICカード
処理部22の処理により生成されたデータを、制御部3
1から供給され、ASKやBPSKを用いて変調し、リ
ーダライタ2に送信する。
【0033】ICカード処理部22は、制御部31、メ
モリ32、および暗号処理部33より構成されている。
制御部31は、通信部21から供給されたデータに従っ
て、暗号処理部33を制御し、リーダライタ2との認証
処理等に必要な暗号処理を実行させたり、必要に応じ
て、メモリ32に記録されているデータを読み込んで、
通信部21を介して、リーダライタ2に送信する。
【0034】メモリ32は、カードID、サービス登録
用の認証鍵Kreg、認証局の公開鍵であるCA_Pubが記録さ
れているメモリ領域44、図8を用いて後述するServic
e Relation Table(SRT)45、および図6を用いて
後述するService Registration Area(SRA)46で
構成されている。
【0035】暗号処理部33は、公開鍵処理部41、共
通鍵処理部42、その他の暗号処理部43で構成されて
いる。公開鍵処理部41乃至その他の暗号処理部43が
実行する処理に関する詳細は、図5を用いて後述する。
【0036】次に、図4は、ICカード1の、図3と異
なる構成を示すブロック図である。なお、図4のICカ
ード1においては、図3における場合と対応する部分に
は同一の符号を付してあり、その説明は適宜省略する
(以下、同様)。
【0037】ICカード1は、共通鍵サービスに関する
リーダライタ2との通信を実行する通信部51、通信部
51の処理によって得られたデータの処理を実行する共
通鍵サービス処理部52、公開鍵サービスに関するリー
ダライタ2との通信を実行する通信部53、通信部53
の処理によって得られたデータの処理を実行する公開鍵
サービス処理部54から構成されている。
【0038】通信部51は、非接触式共通鍵対応リーダ
ライタ2−1と通信を行うためのコイルを備えており、
通信部21と同様に、例えば、ICカード1から送信さ
れるデータが、ASKやBPSKを用いて変調されてい
る場合、所定の処理により、受信したデータを復調し、
共通鍵サービス処理部52の制御部61に供給するとと
もに、共通鍵サービス処理部52の処理により生成され
たデータを、制御部61から供給され、ASKやBPS
Kを用いて変調し、リーダライタ2に送信する。
【0039】共通鍵サービス処理部52は、制御部6
1、メモリ62、および暗号処理部63から構成されて
いる。制御部61は、通信部51から供給されたデータ
に従って、暗号処理部63を制御し、ICカード1との
認証処理等に必要な処理を実行させたり、必要に応じ
て、メモリ62に記録されているデータを読み込んで、
通信部51を介して、リーダライタ2に送信する。
【0040】メモリ62は、図3を用いて説明したメモ
リ32と同様に、メモリ領域44、SRT45、および
SRA46で構成されている。メモリ領域44には、カ
ードID、サービス登録用の認証鍵Kreg、および、モジ
ュール間通信で用いられる共有秘密鍵K_commonが記録
されている。
【0041】暗号処理部63は、共通鍵処理部42、そ
の他の暗号処理部43で構成されている。すなわち、共
通鍵サービス処理部52においては、公開鍵に関するサ
ービスを処理しないため、暗号処理部63には、図3を
用いて説明した公開鍵処理部41は備えられていない。
【0042】通信部53は、非接触式公開鍵対応リーダ
ライタ2−2、あるいは、接触式公開鍵対応リーダライ
タ2−3と通信を行うためのコイルもしくは接触端子を
備えている。通信部53も、通信部21と同様に、例え
ば、ICカード1から送信されるデータが、ASKやB
PSKを用いて変調されている場合、所定の処理によ
り、受信したデータを復調し、公開鍵サービス処理部5
4の制御部61に供給するとともに、公開鍵サービス処
理部54の処理により生成されたデータを、制御部61
から供給され、ASKやBPSKを用いて変調し、リー
ダライタ2に送信する。
【0043】公開鍵サービス処理部54は、制御部6
1、メモリ62、および暗号処理部33から構成されて
いる。すなわち、暗号処理部63に代わって、図3を用
いて説明した暗号処理部33が備えられている以外は、
共通鍵サービス処理部と、基本的に同様の構成である。
【0044】次に、図5を用いて、公開鍵処理部41乃
至その他の暗号処理部43について説明する。
【0045】図5(A)に示されるように、公開鍵処理
部41には、例えば、RSA(Rivest,Shamir,Adlema
n)公開鍵暗号システムを利用して署名の生成および検
証を行うRSA署名生成・検証部71や、DSA(Digi
tal Signature Algorithm)方式を利用して署名の生成
および検証を行うDSA署名生成・検証部72が備えら
れている。
【0046】RSA署名生成・検証部71では、2つの
鍵によって暗号化と復号を行う。RSA暗号系では、2
つの鍵は、例えば、次のようにして決められる。
【0047】ある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が秘密鍵となる。
【0048】文Mを暗号化して、暗号化データCを生成
する場合、次の式(2)を用いる。 C=M e mod n・・・(2) また、暗号化データCを復号する場合、次の式(3)を
用いる。 M=C d mod n・・・(3)
【0049】DSA署名生成・検証部72には、図示し
ない乱数生成部が備えられている。DSAは、DLP(Dis
crete Logarithm Problem;離散対数問題)の困難性をベ
ースとしたElGamal署名を改良して、署名の長さを160bi
t×2に短縮し、署名鍵の生成等を特定の方法で運用する
デジタル署名アルゴリズムである。署名生成において、
ハッシュ関数(データ圧縮関数)にSHA‐1(Secure Has
h Algorithm‐1)を使うことを前提としている。DSA
方式は、米国政府機関であるNIST(米国商務省標準技術
局:National Institute of Standards and Technolog
y)により、電子署名の標準として開発され、米国連邦
情報処理標準(Federal Information Processing Stand
ard)FIPS PUB 186に定められた。
【0050】また、図5(B)に示されるように、共通
鍵処理部42には、例えば、DES(Data Encryption
Standard)共通鍵暗号システムによる認証処理を行うD
ES処理部73、RC5(Rivest Cipher5)方式によ
る認証処理を行うRC5処理部74、およびAES(Ad
vanced Encryption Standard)方式による認証処理を行
うAES処理部75が備えられている。
【0051】DES共通鍵暗号システムは、1977年にNI
STで制定され、1981年に米国規格協会(ANSI:American
National Standards Institute)により標準化された
共通鍵暗号システムである。DES共通鍵暗号システム
の鍵の認証アルゴリズムは公開されており、共通鍵暗号
システムの代表として広く普及している。
【0052】DES共通鍵暗号システムは、データを64
bit単位に区切って暗号化および復号処理を行う暗号シ
ステムである。DESアルゴリズムにおいては、暗号化
と復号は対称をなしており、受信した暗号文を同じ鍵を
使ってもう一度変換すれば元の文章が復元できる。ま
た、DES共通鍵暗号システムでは、簡単なビット位置
転置とXOR演算の組み合わせ論理を16回繰り返してい
る。内部的にはデータのフィードバックや条件判断部分
がなく、処理が逐次的なので、パイプライン化すれば高
速に処理することができる。もともとLSI化することを
前提にして決められたアルゴリズムであり、DESチッ
プも多く作られている。
【0053】RC5とは、RSA Data Security社と、
マサチューセッツ工科大学が開発したRCシリーズの共通
鍵暗号方式であり、1995年に提案された。RC5は、可
変長ブロックサイズ、可変長の鍵サイズ、および可変長
回数(元データや鍵によって、ビット回転の量が変わ
る、Data dependent rotations(データ依存ビット回
転)アルゴリズム)のラウンドを有するブロック暗号化
方式である。そのブロックサイズとしては、32、64、12
8ビットをとることが可能であり、ラウンド数は0から25
5、鍵サイズは0から2048ビットまで可変である。RC5
のアルゴリズムは公開されていて、RFC2040として入手
することが可能である。
【0054】また、AES方式は、NISTによって選定作
業が行われている、米国政府の次世代標準暗号化方式で
ある。現在標準暗号として用いられているDESが制定
されたのは1977年であり、近年のコンピュータの高性能
化、暗号理論の発展に伴い、その信頼性は年々低下して
いる。そこで、NISTはDESに代わる次世代の暗号標準
として、AES候補となる暗号方式を全世界から公募し
た。世界中から集まった15の方式が審査を受けてお
り、21世紀初頭までに決定される予定である。
【0055】そして、その他の暗号処理部43は、例え
ば、デジタル署名を用いる場合に、メッセージに対し
て、不可逆的なハッシュ関数を作用させることで、「メ
ッセージダイジェスト」を作成し、メッセージダイジェ
ストを署名鍵により暗号化することによって、デジタル
署名を作成する等の、公開鍵処理部41もしくは共通鍵
処理部42が処理する以外の暗号処理を実行する。その
他の暗号処理部43には、図5(C)に示されるよう
に、例えば、署名生成および署名検証に用いられるハッ
シュ関数SHA-1の処理を行うSHA-1処理部76、および相
互認証プロトコルで利用される真性乱数を生成する真性
乱数生成部77が備えられるか、あるいは、図5(D)
に示されるように、署名生成および署名検証に用いられ
るハッシュ関数MD5の処理を行うMD5処理部78、
および相互認証プロトコルで利用される擬似乱数(ある
有限な桁数の数字の範囲で出来るだけランダムな数字列
をもつ人工的な乱数)を生成する擬似乱数生成部79が
備えられている。
【0056】デジタル署名においては、公開鍵暗号方式
を用いるため、処理速度が遅いことが問題となるが、メ
ッセージダイジェストを作成することによって、デジタ
ル署名作成にかかる時間が削減される。更に、ハッシュ
関数は、データの改ざんに対して大きく反応する特性を
有していることから、デジタル署名を検証する際に、デ
ジタル署名を検証鍵で復号して取り出したメッセージダ
イジェストと、送られてきたメッセージ本文にハッシュ
関数を作用させて作成したメッセージダイジェストを比
較することにより、メッセージ本文が改ざんされていな
いかどうかを容易に確認することができる。
【0057】SHA-1は任意の長さのメッセージから160bi
tのハッシュ値を生成する一方向ハッシュ関数である。
DSA同様、NISTが開発したもので、NISTによってFIPS
PUB180 に定められた。標準原案(N544)は、基本的
にFIPS PUB 180に準拠したものとなっている。
【0058】そして、MD5は、広く一般に使われてい
るメッセージダイジェスト関数アルゴリズムのうちの1
つで、RFC1321で定義されている。MD5は、32bitコン
ピュータ上で効率よく計算できるように、アルゴリズム
が決められている。ほかにMD4やMD2という、類似
のアルゴリズムもある。
【0059】次に、図6を用いて、図3および図4を用
いて説明したICカード1のSRA46に格納されてい
る情報について説明する。
【0060】SRA46は、ICカード1を保有するユ
ーザが、図2を用いて説明した一般リーダライタ2−1
2などを用いて、複数のサービスを受けることができる
ようにするために、それらの複数のサービスを受けるた
めの情報(図2を用いて説明したサービス登録用リーダ
ライタ2−11を用いて登録された情報)を記録するた
めのメモリ領域である。
【0061】すなわち、SRA46には、そのICカー
ド1に登録されているサービスの情報であるService In
dividual Info1乃至Nが登録されており、それぞれのS
ervice Individual Infoには、サービスの種類を識別す
るためのサービスID、サービス毎に予め定められた、
1つ、もしくは複数の認証用鍵情報(図6におけるServ
ice Individual Info kにおいては、1乃至nのn個の
認証用鍵情報)、サービスを受けるために利用されるサ
ービスデータ、および、鍵情報をバージョンアップする
ための認証鍵Kake_vupと、必要に応じて、認証鍵に対す
る証明書などが登録されている。
【0062】認証用鍵情報には、例えば、認証鍵ID、
鍵のレベルおよびバージョン、認証方式、および、複数
の認証鍵を識別するために用いられる識別用認証鍵Kake
(必要に応じて、認証鍵に対する証明書)などが含まれ
る。また、サービスデータには、ユーザID以外に、Se
rvice Individual Info kが、例えば、電子マネーサー
ビスである場合、電子マネーの残高情報や累積ポイント
等、Service Individual Info kが、例えば、自動改札
サービスである場合、有効区間情報等が格納される。
【0063】次に、図7を用いて、図6のService Indi
vidual Infoに登録される認証用鍵情報について説明す
る。
【0064】図7(A)においては、領域No.1および
領域No.2のそれぞれに対応して、認証鍵ID、鍵のバ
ージョン、認証方式、識別用認証鍵Kake、および、必要
に応じて、証明書データが登録されている。図7(A)
のように認証用鍵情報が登録されている場合の認証鍵識
別処理については、図20乃至図24を用いて後述す
る。
【0065】図7(B)においては、領域No.1乃至領
域No.7のそれぞれに対応して、認証鍵ID、鍵のレベ
ル、鍵のバージョン、認証方式、識別用認証鍵Kake、お
よび、必要に応じて、証明書データが登録されている。
図7(B)のように、鍵のレベルを含んだ認証用鍵情報
が登録されている場合の認証鍵識別処理については、図
27および図28を用いて後述する。
【0066】次に、図8を用いて、図3および図4を用
いて説明したICカード1のSRT45に格納されてい
る情報について説明する。
【0067】SRT45には、IDカード1に複数のサ
ービスが登録されている場合に、あるサービスを行いな
がら別のサービスのサービスデータに対してアクセスを
許可するためのデータが登録されている。SRT45
は、ICカード1に登録されているサービスIDが記載
されている登録サービスIDフィールド(図8において
は、サービスIDA乃至Jとして記載されている)と、
それぞれのサービスIDに対応するパーミッション情報
が記載されているパーミッション情報フィールドで構成
されている。
【0068】パーミッション情報の登録サービスIDフ
ィールドには、登録されているサービスのサービスID
がすべて列挙されている。そして、パーミッション情報
フィールドには、対応するサービスが実行されている場
合に、登録サービスIDフィールドに記載されているサ
ービスにアクセスすることができるサービスIDと、ど
のような処理を行うことを許可するかを示す情報が記載
されている。例えば、読み出しおよび書き込みが許可さ
れている場合、パーミッション情報として「rw」が記
載され、読み出しのみ許可されている場合、パーミッシ
ョン情報として「ro」が記載され、鍵のバージョンア
ップが許可されている場合、パーミッション情報として
「vup」が記載される。「rw」と「ro」は同じサ
ービスIDに対して許可されないが、「rw」と「vu
p」および「ro」と「vup」は、同じサービスID
に対して許可され、パーミッション情報フィールドに列
挙することが可能である。
【0069】すなわち、SRT45に、図8に示される
パーミッション情報が登録されている場合、サービスI
DがCで示されるサービスの実行中には、サービスID
がBで示されるサービスに対して、読み出し、および書
き込みが許可され、更に、サービスIDがDで示される
サービスの実行中においても、サービスIDがBで示さ
れるサービスに対しての読み出しが許可され、サービス
IDがEで示されるサービスの実行中に、サービスID
がDで示されるサービスに対して、読み出し、書き込
み、および鍵のバージョンアップが許可され、以下、サ
ービスIDがEで示されるサービス、サービスIDがF
で示されるサービス、サービスIDがGで示されるサー
ビス、もしくは、サービスIDがIで示されるサービス
においても、対応するパーミッション情報フィールドに
記載されている情報に基づいて、他のサービスIDに対
応する処理の実行中に、パーミッション情報に対応した
処理が許可される。
【0070】これらのパーミッション情報の登録は、I
Cカード1に、対応するサービスを登録する場合に行わ
れる。すなわち、ユーザが、サービス登録用リーダライ
タ2−11を用いて、自分自身が保有するICカード1
に対して、サービスIDがFで示されるサービスを登録
する場合、例えば、サービスIDがGで示されるサービ
スがすでに登録され、サービスIDがHで示されるサー
ビスが登録されていないならば、登録サービスIDフィ
ールドのFに対応するパーミッション情報フィールドに
は、サービスIDがGで示されるサービスに対応するパ
ーミッション情報しか登録することができない。そし
て、ユーザが、サービスIDがHで示されるサービスを
IDカード1に登録した後、サービスIDがFで示され
るサービスをアップデートすることにより、サービスI
DがFで示されるサービスに対する、サービスIDがH
で示されるサービスのパーミッション情報を登録するこ
とができる。
【0071】次に、図9は、リーダライタ2の構成を示
すブロック図である。
【0072】リーダライタ2は、ICカード1との通信
を行う通信部91と、データ処理を実行するリーダライ
タ処理部92から構成されている。
【0073】通信部91は、ICカード1との通信方法
によって(すなわち、リーダライタ2が、図1を用いて
説明した非接触式と接触式のいずれの通信方式を採用し
ているかによって)、電磁波を用いて通信するためのコ
イルのみを備えるか、もしくは、電磁波を用いて通信す
るためのコイル、および接触式により通信するための接
触端子を備える構造を有している。
【0074】通信部91は、ICカード1から送信され
たデータを受信し、受信したデータが、例えば、ASK
やBPSKを用いて変調されている場合、所定の処理に
より、受信したデータを復調し、リーダライタ処理部9
2の制御部101に供給するとともに、リーダライタ処
理部92の処理により生成されたデータを、制御部10
1から供給され、ASKやBPSKを用いて変調し、I
Cカード1に送信する。
【0075】リーダライタ処理部92は、制御部10
1、暗号処理部102、メモリ103、通信部104、
表示部105、および入力部106より構成されてい
る。制御部101は、通信部91から供給されたデータ
に従って、暗号処理部102を制御し、ICカード1と
の認証処理等に必要な暗号処理を実行させたり、必要に
応じて、メモリ103に記録されているデータを読み込
んで、通信部91を介して、ICカード1に送信した
り、ユーザが入力部106を用いて入力した各種操作に
対応した信号や、ネットワークを介して、通信部104
に入力された制御信号の入力を受け、これらの信号に従
って、処理を実行し、その結果を表示部105に表示さ
せる。
【0076】また、通信部104には、ドライブ114
も接続されており、ドライブ114に装着される磁気デ
ィスク115、光ディスク116、光磁気ディスク11
7、および半導体メモリ118などとデータの授受を行
ことができる。
【0077】暗号処理部102は、図3を用いて説明し
た暗号処理部33と同様の構成を有しているので、その
説明は省略する。
【0078】メモリ103には、ICカード1と所定の
処理を実行するための情報が記憶されている。その情報
は、リーダライタ2が、図2を用いて説明した、サービ
ス登録用リーダライタ2−11乃至バージョンアップ用
リーダライタ2−14のいずれに対応するものであるか
によって異なる。図10乃至図14を用いて、サービス
登録用リーダライタ2−11乃至バージョンアップ用リ
ーダライタ2−14のメモリ103に記憶されているデ
ータについて説明する。
【0079】図10に示される、サービス登録用リーダ
ライタ2−11のメモリ103には、ICカード1のメ
モリ32のSRA46にデータを登録もしくは削除する
場合に用いられる認証鍵Kregが記憶され(必要に応じて
認証鍵の証明書も記憶されている)、ICカード1に登
録するための各種サービスに対応するService Individu
al Info1乃至nが記憶されている。
【0080】図11に示される、一般リーダライタ2−
12のメモリ103には、この一般リーダライタ2−1
2で処理することが可能なサービスに対応するサービス
IDと、それに対応する認証鍵リスト、および鍵失効情
報が記憶されている。また、一般リーダライタ2−12
に、鍵バージョンアップのサービスを可能とさせる場
合、一般リーダライタ2−12のメモリ103には、新
バージョンの鍵などの情報も、あわせて記憶される。
【0081】図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を用いて後述する。
【0082】そして、図14に示される、バージョンア
ップ用リーダライタ2−14のメモリ103には、装着
されたICカード1に登録されているサービスの認証鍵
をバージョンアップするための、サービスIDと、その
サービスIDに対応するバージョンアップ用認証鍵Kake
_vupおよび認証鍵Kakeのリストが記憶されている。
【0083】ICカード1とリーダライタ2とが通信を
行う場合、いくつかの例外となる処理を除いて、はじめ
に、ICカード1とリーダライタ2が相互認証するため
に、通信を行うサービスを相互に識別し、そのサービス
の認証鍵を相互に識別する必要がある。図15のフロー
チャートを参照して、ICカード1とリーダライタ2の
相互認証処理について説明する。
【0084】まず、ステップS1において、リーダライ
タ2は、必要に応じて、ICカード1と通信して必要な
データの授受を行うことにより、図16および図18を
用いて後述するリーダライタ2のサービス識別処理を実
行する。そして、ステップS2において、ICカード1
は、必要に応じて、リーダライタ2と通信して必要なデ
ータの授受を行うことにより、図17および図19を用
いて後述するICカード1のサービス識別処理を実行す
る。
【0085】そして、ステップS1のリーダライタ2の
サービス識別処理およびステップS2のICカード1の
サービス識別処理が正常終了した場合、ステップS3に
おいて、リーダライタ2は、必要に応じて、ICカード
1と通信して必要なデータの授受を行うことにより、図
20、図22および図27を用いて後述するリーダライ
タ2の認証鍵識別処理を実行する。そして、ステップS
4において、ICカード1は、必要に応じて、リーダラ
イタ2と通信して必要なデータの授受を行うことによ
り、図21、図23および図28を用いて後述するIC
カード1の認証鍵識別処理を実行する。
【0086】次に、図16のフローチャートを参照し
て、複数のサービスに対応しているICカード1と、複
数のサービスに対応しているリーダライタ2において、
ユーザが所望のサービスを入力し、そのサービスの実行
が可能か否かを判断することにより、図15のステップ
S1において実行されるリーダライタ2のサービス識別
処理について説明する。
【0087】リーダライタ2の制御部101は、ステッ
プS11において、ICカード1に対し、通信部91を
介して、ICカード検出コマンドを送信し、ステップS
12において、ICカード1からACK信号(後述する
図17のステップS22において、ICカード1が送信
した信号)を受信したか否かを判断する。ステップS1
2において、ACK信号が受信されていないと判断され
た場合、ACK信号が受信されたと判断されるまで、ス
テップS12の処理が繰り返される。
【0088】ステップS12において、ACK信号を受
信したと判断された場合(すなわち、ICカード1が、
リーダライタ2に装着された場合)、ステップS13に
おいて、制御部101は、ユーザが入力部106を用い
て入力した操作を示す信号に従って、または、予め決め
られたサービスに基づいて、ユーザが希望するサービス
に対応するサービスIDを、通信部91を介して、IC
カード1に送信する。
【0089】ステップS14において、制御部101
は、ICカード1から送信される信号(後述する図17
のステップS25もしくはステップS26において、I
Cカード1が送信した信号)を受信する。ステップS1
5において、制御部101は、ステップS14において
受信したデータは、ACK信号か否かを判断する。ステ
ップS15において、受信した信号がACK信号ではな
い(すなわちNACK信号である)と判断された場合、
ステップS16において、制御部101は、エラーメッ
セージに対応するデータを表示部105に出力して表示
させ、処理を終了する(すなわち、処理は、図15のス
テップS3には進まない)。ステップS15において、
受信した信号がACK信号であると判断された場合、処
理は、図15のステップS3に進む。
【0090】次に、図17のフローチャートを参照し
て、図15のステップS2において、図16を用いて説
明したリーダライタ2のサービス識別処理と並行して実
行される、ICカード1のサービス識別処理について説
明する。なお、ここでは、図3を用いて説明したICカ
ード1において処理が行われるものとして説明するが、
図4を用いて説明したICカード1によって処理が実行
される場合においても、基本的に同様の処理が実行され
る。
【0091】ICカード1の制御部31は、ステップS
21において、図16のステップS11において、リー
ダライタ2が送信したICカード検出コマンドを、通信
部21を介して受信し、ステップS22において、リー
ダライタ2にACK信号を送信する。
【0092】制御部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を用いて説明したSR
A46に登録されているか否かを判断する。
【0093】ステップS24において、受信したサービ
スIDが、モジュール内に登録されていると判断された
場合、ステップS25において、制御部31は、通信部
21を介して、リーダライタ2にACK信号を送信し、
処理は、図15のステップS4に進む。ステップS24
において、受信したサービスIDが、モジュール内に登
録されていないと判断された場合、ステップS26にお
いて、制御部31は、通信部21を介して、リーダライ
タ2にNACK信号を送信し、処理が終了される(すな
わち、図15のステップS4には進まない)。
【0094】次に、図18のフローチャートを参照し
て、複数のサービスに対応しているICカード1と、複
数のサービスに対応しているリーダライタ2において、
該当するICカード1とリーダライタ2が実行可能なサ
ービスを抽出して、リーダライタ2の表示部105に表
示させ、それらのサービスの中から、ユーザが所望する
サービスを選択させることにより、サービス識別を行う
場合における、図15のステップS1において実行され
る、リーダライタ2のサービス識別処理について説明す
る。
【0095】リーダライタ2の制御部101は、ステッ
プS31において、サービスIDリスト送信コマンド
を、ICカード1に、通信部91を介して送信し、ステ
ップS32において、後述する図19のステップS52
において、ICカード1が送信した、サービスIDリス
トを受信したか否かを判断する。ステップS32におい
て、サービスIDリストを受信していないと判断された
場合、サービスIDリストを受信したと判断されるま
で、ステップS32の処理が繰り返される。
【0096】ステップS32において、サービスIDリ
ストを受信したと判断された場合、ステップS33にお
いて、制御部101は、受信したサービスIDリストに
記載されているサービスIDは、リーダライタ2が対応
しているサービスが含まれているか否か(すなわち、リ
ーダライタ2のメモリ103に記憶されているサービス
IDを含んでいるか否か)を判断する。
【0097】ステップS33において、受信したサービ
スIDリストに、リーダライタ対応サービスが含まれて
いると判断された場合、ステップS34において、制御
部101は、サービスIDリストに含まれていた対応サ
ービスが複数であるか否かを判断する。ステップS34
において、対応サービスが複数ではない(すなわち1つ
だけである)と判断された場合、処理は、ステップS3
7に進む。
【0098】ステップS34において、対応サービスが
複数であると判断された場合、制御部101は、ステッ
プS35において、複数の対応サービスを表示部105
に表示させるためのデータを生成し、表示部105に出
力して表示させ、ステップS36において、入力部10
6から、ユーザが希望するサービスの入力を受ける。あ
るいは、サービスそれぞれに、優先度情報を含ませてお
き、複数の対応サービスのうちから、優先度の最も高い
サービスが自動的に選択されるようにしてもよい。
【0099】ステップS37において、制御部101
は、ステップS34において、対応サービスがただ1つ
であると判断された場合は、そのサービスに対応するサ
ービスIDを、ステップS34において、対応サービス
が複数であると判断された場合は、ステップS36にお
いて、ユーザが入力部106を用いて入力した希望する
サービスに対応するサービスIDを、通信部91を介し
て、ICカード1に送信し、処理は、図15のステップ
S3に進む。
【0100】ステップS33において、受信したサービ
スIDリストに、リーダライタ対応サービスが含まれて
いないと判断された場合、制御部101は、ステップS
38において、通信部91を介して、ICカード1にN
ACK信号を送信し、ステップS39において、図16
のステップS16と同様の処理がなされ、処理が終了さ
れる(すなわち、処理は、図15のステップS3には進
まない)。
【0101】次に、図19のフローチャートを参照し
て、図15のステップS2において、図18を用いて説
明したリーダライタ2のサービス識別処理と並行して実
行される、ICカード1のサービス識別処理について説
明する。なお、ここでは、図3を用いて説明したICカ
ード1において処理が行われるものとして説明するが、
図4を用いて説明したICカード1によって処理が実行
される場合においても、基本的に同様の処理が実行され
る。
【0102】ICカード1の制御部31は、ステップS
51において、リーダライタ2が、図18のステップS
31において送信したサービスID送信コマンドを、通
信部21を介して受信し、ステップS52において、自
分自身が対応しているサービスIDリスト(すなわち、
メモリ32のSRA46に登録されているサービスID
のリスト)を生成して、通信部21を介して、リーダラ
イタ2に送信する。
【0103】制御部31は、ステップS53において、
リーダライタ2が、図18のステップS37もしくはス
テップS38において、ICカード1に送信したデータ
を、通信部21を介して受信し、ステップS54におい
て、リーダライタ2から受信したデータはNACK信号
か否かを判断する。ステップS54において、受信した
信号がNACK信号であると判断された場合(すなわ
ち、受信したデータが、図18のステップS38におい
て、リーダライタ2がICカード1に送信した信号であ
る場合)、処理が終了される(すなわち、処理は、図1
5のステップS4には進まない)。
【0104】ステップS54において、リーダライタ2
から受信したデータはNACK信号ではないと判断され
た場合(すなわち、受信したデータが、図18のステッ
プS37において、リーダライタ2がICカード1に送
信したサービスIDである場合)、ステップS55にお
いて、制御部31は、リーダライタ2から受信したサー
ビスIDは、自分自身のメモリ32のSRA46に登録
されているか否か判断する。
【0105】ステップS55において、サービスIDが
登録されていないと判断された場合、処理が終了される
(すなわち、処理は、図15のステップS4には進まな
い)。ステップS55において、サービスIDが登録さ
れていると判断された場合、処理は、図15のステップ
S4に進む。
【0106】次に、図20のフローチャートを参照し
て、図7(A)を用いて説明した認証用鍵情報を用いて
認証鍵識別が行われる場合、図15のステップS3にお
いて実行される、リーダライタ2の認証鍵識別処理につ
いて説明する。
【0107】リーダライタ2の制御部101は、ステッ
プS61において、図15のステップS1およびステッ
プS2のサービス識別処理により識別されたサービスに
対応するサービスID(ここでは、対応するサービスI
Dを、ID_Sとする)に属する認証鍵のうちの1つに
対応する認証鍵IDを、メモリ103から読み出し、通
信部91を介して、ICカード1に送信し、ステップS
62において、後述する図21のステップS73もしく
はステップS75において、ICカード1が送信するデ
ータを受信する。
【0108】ステップS63において、制御部101
は、ステップS62において、ICカード1から受信し
たデータは、ACK信号か否かを判断する。ステップS
63において、ACK信号が受信されたと判断された場
合、ステップS64において、制御部101は、暗号処
理部33を制御して、ステップS61において、暗号処
理部102の公開鍵処理部111もしくは共通鍵処理部
112のうち、ICカード1に送信した認証鍵IDに対
応する認証鍵を用いて認証処理を行う処理部を選択して
制御することにより、ICカード1との相互認証処理お
よび鍵共有処理を開始し、ICカード1とセッション鍵
Ksesを共有し、相互認証処理が終了した後、処理が終了
される。
【0109】ステップS63において、ACK信号が受
信されていないと判断された場合(すなわち、NACK
信号を受信したと判断された場合)、ステップS65に
おいて、図16のステップS16と同様の処理がなさ
れ、処理が終了される。
【0110】次に、図21のフローチャートを参照し
て、図15のステップS4において、図20のリーダラ
イタ2の認証鍵識別処理と並行して実行される、ICカ
ード1の認証鍵識別処理について説明する。なお、ここ
でも、図3を用いて説明したICカード1により、処理
が実行される場合について説明するが、図4を用いて説
明したICカード1によって処理が実行される場合にお
いても、基本的に同様の処理が実行される。
【0111】ICカード1の制御部31は、ステップS
71において、図20のステップS61において、リー
ダライタ2が送信した認証鍵IDを、通信部21を介し
て受信し、ステップS72において、ステップS71に
おいて受信した認証鍵IDは、メモリ32のSRA46
のID_Sに関するデータが記憶されている領域に登録
されているか否かを判断する。
【0112】ステップS72において、認証鍵IDが登
録されていると判断された場合、制御部31は、ステッ
プS73において、通信部21を介して、リーダライタ
2にACK信号を送信し、ステップS74において、暗
号処理部33の公開鍵処理部41もしくは共通鍵処理部
42のうち、リーダライタ2に指定された認証鍵による
認証処理を行う方を選択して制御することにより、相互
認証処理を実行し、リーダライタ2とセッション鍵Kses
を共有し、相互認証処理の終了後、処理が終了される。
ステップS72において、認証鍵IDが登録されていな
いと判断された場合、ステップS75において、制御部
31は、通信部21を介して、リーダライタ2にNAC
K信号を送信し、処理が終了される。
【0113】図20および図21を用いて説明した処理
においては、ICカード1とリーダライタ2は、図15
のステップS1およびステップS2の処理により識別さ
れたサービスのサービスIDに対応する、リーダライタ
2が指定した認証鍵により、相互認証を実行する。
【0114】例えば、あるサービスに対して共通鍵およ
び公開鍵の2種類の認証鍵が用意されている場合、共通
鍵に基づく認証処理により高速な処理を行うことをデフ
ォルトとし、共通鍵のバージョンが古い場合には、公開
鍵に基づいて認証処理を実施するようにしてもよい。
【0115】次に、図22のフローチャートを参照し
て、図15のステップS3において実行される、図15
のステップS1およびステップS2の処理により識別さ
れたサービスのサービスIDに対応するサービスに対し
て、共通鍵および公開鍵の2種類の認証鍵が用意されて
いる場合のリーダライタ2の認証鍵識別処理について説
明する。
【0116】リーダライタ2の制御部101は、ステッ
プS81において、図15のステップS1およびステッ
プS2の処理により識別されたサービスのサービスID
に対応する認証鍵の、共通鍵バージョン情報要求コマン
ドを、通信部91を介してICカード1に送信し、ステ
ップS82において、後述する図23のステップS92
において、ICカード1が送信した共通鍵バージョン情
報を、通信部91を介して受信する。
【0117】ステップS83において、制御部101
は、ステップS82において受信した共通鍵バージョン
情報を基に、共通鍵バージョンが有効か否かを判断す
る。ステップS83において、共通鍵バージョンが有効
であると判断された場合、ステップS84において、制
御部101は、ICカード1に、共通鍵による相互認証
開始コマンドを送信し、暗号処理部102の共通鍵処理
部112を制御して、共通鍵による相互認証を開始し、
ICカード1とセッション鍵Ksesを共有し、相互認証が
終了した後、処理が終了される。
【0118】ステップS83において、共通鍵バージョ
ンが有効ではないと判断された場合、ステップS85に
おいて、制御部101は、ICカード1に、公開鍵によ
る相互認証開始コマンドを送信し、暗号処理部102の
公開鍵処理部111を制御して、公開鍵による相互認証
を開始し、ICカード1とセッション鍵Ksesを共有し、
相互認証が終了した後、処理が終了される。
【0119】次に、図23のフローチャートを参照し
て、図15のステップS4において、図22を用いて説
明したリーダライタ2の認証鍵識別処理と並行して実行
される、ICカード1の認証鍵識別処理について説明す
る。なお、ここでも、図3を用いて説明したICカード
1により、処理が実行される場合について説明するが、
図4を用いて説明したICカード1によって処理が実行
される場合においても、基本的に同様の処理が実行され
る。
【0120】ICカード1の制御部31は、ステップS
91において、図22のステップS81において、リー
ダライタ2が送信した共通鍵バージョン情報要求コマン
ドを受信し、ステップS92において、共通鍵バージョ
ン情報を、通信部21を介して、リーダライタ2に送信
する。
【0121】制御部31は、ステップS93において、
図22のステップS84もしくはステップS85におい
て、リーダライタ2が送信した相互認証開始コマンドを
受信し、ステップS94において、ステップS93にお
いて受信された相互認証開始コマンドは、共通鍵による
相互認証開始コマンドであるか否かを判断する。
【0122】ステップS94において、共通鍵による相
互認証開始コマンドであると判断された場合、ステップ
S95において、制御部31は、暗号処理部33の共通
鍵処理部42を制御して、共通鍵による相互認証を開始
し、リーダライタ2とセッション鍵Ksesを共有し、相互
認証が終了した後、処理が終了される。
【0123】ステップS94において、共通鍵による相
互認証開始コマンドではない(すなわち、公開鍵による
相互認証開始コマンドである)と判断された場合、ステ
ップS96において、制御部31は、暗号処理部33の
公開鍵処理部41を制御して、公開鍵による相互認証を
開始し、リーダライタ2とセッション鍵Ksesを共有し、
相互認証が終了した後、処理が終了される。
【0124】図22および図23を用いて説明した処理
により、ICカード1とリーダライタ2は、まず、認証
速度の速い共通鍵による相互認証を実行しようとし、共
通鍵による相互認証が行えない場合(例えば、対応する
共通鍵のバージョンが古い場合など)、公開鍵を用い
て、相互認証を実行する。
【0125】図22のステップS85および図23のス
テップS96の処理においては、公開鍵による相互認証
が行われる。リーダライタ2のメモリ103のSRA4
6には、図24(A)に示されるリーダライタ2の証明
書が記憶されている。また、ICカード1のメモリ32
のSRA46には、図24(B)に示されるICカード
1の証明書が記憶されている。
【0126】図24(A)および図24(B)に示され
るように、それぞれの証明書には、証明書のバージョン
番号、認証局が割り付ける証明書の通し番号、署名に用
いたアルゴリズムとパラメータ、認証局の名前、証明書
の有効期限、リーダライタ2、あるいはICカード1の
名前(ID)、リーダライタ2の公開鍵Kpsp、あるいは
ICカード1の公開鍵Kpu、およびメッセージ全体に、
図5を用いて説明したような不可逆的なハッシュ関数
(データ圧縮関数)を作用させることで、メッセージダ
イジェストを作成し、メッセージダイジェストを、認証
局の秘密鍵Kscaにより暗号化することによって作成され
た、デジタル署名から構成される。
【0127】次に、図25のフローチャートを参照し
て、署名生成処理について説明する。ここでは、楕円曲
線暗号方式(楕円DSA署名)を用いて、デジタル署名
を生成する場合について説明する。ここでは、ICカー
ド1の制御部31が、公開鍵処理部41のDSA署名生
成・検証部72を制御することにより実行される処理に
ついて説明するが、リーダライタ2においても、同様の
処理が実行されるので、リーダライタ2の処理について
の説明は省略する。
【0128】ステップS101において、制御部31
は、署名生成処理に必要なパラメータを認識する。すな
わち、pを標数、aおよびbを楕円曲線の係数、楕円曲
線をy 2=x3+ax+b、Gを楕円曲線上のベースポイ
ント、rをGの位数、Mをメッセージ、Ksを秘密鍵、
GおよびKsGを公開鍵とする。
【0129】公開鍵処理部41のDSA署名生成・検証
部72は、ステップS102において、図示しない乱数
生成部で、0<u<rとなるuを生成し、ステップS1
03において、ステップS102において生成された乱
数uを用いて、公開鍵Gをu倍し、V=uG=(Xv,Y
v)となるVを算出する。
【0130】DSA署名生成・検証部72は、ステップ
S104において、c=Xv mod rを算出し、ステップ
S105において、S104の計算結果に基づいて、c
=0であるか否かを判断する。ステップS105におい
て、c=0であると判断された場合、処理は、ステップ
S102に戻り、それ以降の処理が繰り返される。
【0131】ステップS105において、c=0ではな
いと判断された場合、DSA署名生成・検証部72は、
ステップS106において、メッセージMのハッシュ値
であるf=SHA-1(M)(ここでは、ハッシュ関数とし
て、SHA-1が用いられる)を算出し、ステップS107
において、d=[(f+cKs)/u] mod rを計算す
る。
【0132】ステップS108において、DSA署名生
成・検証部72は、ステップS107の計算結果に基づ
いて、d=0か否かを判断する。ステップS108にお
いて、d=0であると判断された場合、処理は、ステッ
プS102に戻り、それ以降の処理が繰り返される。ス
テップS108において、d=0ではないと判断された
場合、ステップS109において、DSA署名生成・検
証部72は、署名データを(c,d)とし、処理が終了
される。
【0133】このようにしてICカード1において生成
されたデジタル署名を受信したリーダライタ2は、受信
したデジタル署名を検証する処理を実施する。図26の
フローチャートを参照して、署名検証処理について説明
する。ここでは、リーダライタ2の制御部101が、公
開鍵処理部41のDSA署名生成・検証部72を制御す
ることにより実行される処理について説明するが、IC
カード1においても、同様の処理が実行されるので、I
Cカード1の処理についての説明は省略する。
【0134】ステップS111において、制御部101
は、署名生成処理に必要なパラメータを認識する。すな
わち、pを標数、aおよびbを楕円曲線の係数、楕円曲
線をy2=x3+ax+b、Gを楕円曲線上のベースポイ
ント、rをGの位数、Mをメッセージ、Ksを秘密鍵、
GおよびKsGを公開鍵とする。
【0135】公開鍵処理部41のDSA署名生成・検証
部72は、ステップS112において、受信した署名デ
ータのcおよびdの値に基づいて、0<c<rかつ0<
d<rであるか否かを判断する。
【0136】ステップ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を
計算する。
【0137】DSA署名生成・検証部72は、ステップ
S114において算出されたhの値を用いて、ステップ
S115において、h1=fh、h2=ch mod rを
算出し、ステップS116において、P=(Xp,Y
p)=h1G+h2KsGを算出する。
【0138】ステップS117において、DSA署名生
成・検証部72は、ステップS116の算出結果から、
Pの値が無限遠点であるか否かを判断する。ここでは、
Pの値が無限遠点である場合、ステップS116におい
て、h1G+h2KsGの解を得ることができないこと
に基づいて、Pの値が無限遠点であるか否かを判断する
ことが可能である。ステップS117において、Pが無
限遠点であると判断された場合、処理は、ステップS1
20に進む。
【0139】ステップS117において、Pの値が無限
遠点ではないと判断された場合、ステップS118にお
いて、DSA署名生成・検証部72は、c=Xp mod
rが成り立つか否かを判断する。ステップS118にお
いて、c=Xp mod rが成り立たないと判断された場
合、処理は、ステップS120に進む。
【0140】ステップS118において、c=Xp mod
rが成り立つと判断された場合、ステップS119に
おいて、DSA署名生成・検証部72は、受信した署名
は正しいと判断し、処理が終了される。
【0141】ステップS112において、0<c<rか
つ0<d<rではないと判断された場合、ステップS1
17において、pが無限遠点であると判断された場合、
もしくは、ステップS118において、c=Xp mod
rが成り立たないと判断された場合、ステップS120
において、DSA署名生成・検証部72は、受信した署
名は正しくないと判断し、処理が終了される。
【0142】また、図7(B)を用いて説明した認証用
鍵情報を用いて認証鍵識別が行われ、あるサービスに対
してレベル分けされた複数の認証鍵が格納されているよ
うな場合、低レベルの鍵から優先的に認証処理を開始
し、その鍵のバージョンを判定し、その鍵のバージョン
が古いとき、より高いレベルの認証鍵を用いて認証処理
を行うようにしてもよい。
【0143】次に、図27のフローチャートを参照し
て、図15のステップS3において実行される、あるサ
ービスに対してレベル分けされた複数の認証鍵が格納さ
れている場合のリーダライタ2の認証鍵識別処理につい
て説明する。
【0144】リーダライタ2の制御部101は、ステッ
プS131において、通信部91を介して、鍵レベル交
渉コマンドを、ICカード1に送信し、ステップS13
2において、後述する図28のステップS143におい
て、ICカード1が送信する、レベルNにおける鍵バー
ジョン情報Vを、通信部91を介して受信する。
【0145】ステップS133において、制御部101
は、ステップS132において受信した鍵バージョン情
報VのレベルNは、N>0であるか否かを判断する。ス
テップS133において、N>0ではないと判断された
場合、処理はステップS137に進む。
【0146】ステップS133において、N>0である
と判断された場合、ステップS134において、制御部
101は、ステップS132において受信した鍵バージ
ョン情報Vに基づいて、レベルNにおける鍵バージョン
情報は有効か否かを判断する。
【0147】ステップS134において、レベルNにお
ける鍵バージョンが有効ではないと判断された場合(す
なわち、鍵のバージョンが古いと判断された場合)、ス
テップS135において、制御部101は、通信部91
を介して、ICカード1にNACK信号を送信し、処理
はステップS132に戻り、それ以降の処理が繰り返さ
れる。
【0148】ステップS134において、レベルNにお
ける鍵バージョンは有効であると判断された場合、ステ
ップS136において、制御部101は、通信部91を
介して、ICカード1にACK信号を送信し、処理が終
了される。
【0149】ステップS133において、N>0ではな
いと判断された場合、ステップS137において、図1
6のステップS16と同様の処理がなされ、処理が終了
される。
【0150】次に、図28のフローチャートを参照し
て、図27を用いて説明したリーダライタ2の認証鍵識
別処理と並行して実行される、ICカード1の認証鍵識
別処理について説明する。なお、ここでも、図3を用い
て説明したICカード1により、処理が実行される場合
について説明するが、図4を用いて説明したICカード
1によって処理が実行される場合においても、基本的に
同様の処理が実行される。
【0151】ICカード1の制御部31は、ステップS
141において、図27のステップS131において、
リーダライタ2が送信した鍵レベル交渉コマンドを受信
し、ステップS142において、現在の鍵レベルNを、
N=1にセットする。
【0152】制御部31は、ステップS143におい
て、現在の鍵レベルNと、そのレベルにおける鍵バージ
ョン情報Vを、通信部21を介して、リーダライタ2に
送信し、ステップS144において、図27のステップ
S135もしくはステップS136において、リーダラ
イタ2が送信したデータを受信する。
【0153】ステップS145において、制御部31
は、ステップS144において、リーダライタ2から受
信した信号は、ACK信号であるか否かを判断する。ス
テップS145において、リーダライタ2から受信した
信号はACK信号ではないと判断された場合、制御部3
1は、ステップS146において、N=N+1とし、ス
テップS147において、Nの値が所定の最大レベルを
超えているか否かを判断する。
【0154】ステップS147において、Nが最大レベ
ルを超えていないと判断された場合、処理はステップS
143に戻り、それ以降の処理が繰り返される。ステッ
プS147において、Nが最大レベルを超えていると判
断された場合、ステップS148において、制御部31
は、現在のレベルをN=0(N=0は、例外状態を示す
ものとする)とし、処理はステップS143に戻り、そ
れ以降の処理が繰り返される。
【0155】ステップS145において、リーダライタ
2から受信した信号はACK信号であると判断された場
合、処理が終了される。
【0156】図15乃至図28を用いて、ICカード1
と、リーダライタ2のサービス識別および認証鍵識別に
関する処理について説明したが、例えば、図2を用いて
説明したサービス登録用リーダライタ2−11に、IC
カード1を装着し、新たなサービスの登録を実行する場
合、およびサービスの削除を実行する場合には、図10
を用いて説明したように、サービス登録用リーダライタ
2−11のメモリ103に記憶されているサービス登録
用の認証鍵Kregを用いて認証処理を行うため、図15乃
至図28を用いて説明したような相互認証処理を用いな
くてもよい。
【0157】次に、図29のフローチャートを参照し
て、サービス登録用リーダライタ2−11のサービス登
録処理について説明する。
【0158】サービス登録用リーダライタ2−11の制
御部101は、ステップS151において、通信部91
を介して、サービス登録コマンドを、ICカード1に送
信し、ステップS152において、ICカード1と、サ
ービス登録用鍵Kregによる相互認証を行い、セッション
鍵Ksesを共有する。
【0159】制御部101は、ステップS153におい
て、空き領域確認コマンドを、通信部91を介してIC
カード1に送信し、ステップS154において、後述す
る図30のステップS175もしくはステップS176
においてICカード1から送信されるデータを受信す
る。
【0160】ステップS155において、制御部101
は、ステップS154において、ICカード1から受信
した信号はACK信号であるか否かを判断する。ステッ
プS155において、ICカード1から受信した信号が
ACK信号であると判断された場合、制御部101は、
ステップS156において、暗号処理部102の共通鍵
処理部112を制御して、ICカード1のメモリ32に
新たに登録する登録データを、セッション鍵Ksesで暗号
化させ、ステップS157において、暗号化データを、
通信部91を介して、ICカード1に送信する。
【0161】制御部101は、ステップS158におい
て、後述する図30のステップS180において、IC
カード1が送信したデータ登録完了通知を、通信部91
を介して受信し、ステップS159において、サービス
認証によるサービス削除許可フラグを送信し、処理が終
了される。
【0162】ステップS155において、ICカード1
から受信した信号がACK信号ではないと判断された場
合、ステップS160において、図16のステップS1
6と同様の処理がなされ、処理が終了される。
【0163】次に、図30のフローチャートを参照し
て、図29を用いて説明した、サービス登録用リーダラ
イタ2−11のサービス登録処理と並行して実行され
る、ICカード1のサービス登録処理について説明す
る。なお、ここでも、図3を用いて説明したICカード
1により、処理が実行される場合について説明するが、
図4を用いて説明したICカード1によって処理が実行
される場合においても、基本的に同様の処理が実行され
る。
【0164】ステップS171において、ICカード1
の制御部31は、通信部21を介して、図29のステッ
プS151において、サービス登録用リーダライタ2−
11が送信したサービス登録コマンドを受信する。
【0165】制御部31は、ステップS172におい
て、ICカード1と、サービス登録用鍵Kregによる相互
認証を行い、セッション鍵Ksesを共有し、ステップS1
73において、通信部21を介して、図29のステップ
S153において、サービス登録用リーダライタ2−1
1が送信した、空き領域確認コマンドを受信する。
【0166】ステップS174において、制御部31
は、メモリ32のSRA46に、登録データ用の空き領
域があるか否かを判断する。ステップS174におい
て、空き領域がないと判断された場合、ステップS17
5において、制御部31は、サービス登録用リーダライ
タ2−11に、通信部21を介して、NACK信号を送
信し、処理が終了される。
【0167】ステップS174において、空き領域があ
ると判断された場合、ステップS176において、制御
部31は、サービス登録用リーダライタ2−11に、通
信部21を介して、ACK信号を送信する。
【0168】制御部31は、ステップS177におい
て、図29のステップS157において、サービス登録
用リーダライタ2−11が送信した暗号化データを、通
信部21を介して受信し、ステップS178において、
暗号処理部33の共通鍵処理部42を制御して、ステッ
プS177において受信した暗号化データを、セッショ
ン鍵Ksesを用いて復号させる。
【0169】ステップS179において、制御部31
は、ステップS178において、セッション鍵Ksesによ
り復号されたデータを、メモリ32に供給し、SRA4
6のService Individual Info領域およびSRT45に
登録させる。
【0170】制御部31は、ステップS180におい
て、データの登録完了を、通信部21を介して、サービ
ス登録用リーダライタ2−11に通知し、ステップS1
81において、図29のステップS159において、サ
ービス登録用リーダライタ2−11が送信した、サービ
ス認証によるサービス削除許可フラグを受信し、サービ
ス削除許可フラグを、メモリ32のSRA46のServic
e Individual Info領域に設定し、処理が終了される。
【0171】次に、図31のフローチャートを参照し
て、サービス登録用リーダライタ2−11のサービス削
除処理について説明する。
【0172】ステップS191において、サービス登録
用リーダライタ2−11の制御部101は、ユーザが、
入力部106を用いて入力した、削除するサービスに対
応するサービスIDの入力を受ける(ここでは、対応す
るサービスIDが、ID_Sであるサービスが削除され
るものとする)。
【0173】ステップS192において、図29のステ
ップS152と同様の処理がなされる。制御部101
は、ステップS193において、通信部91を介して、
ICカード1に、ID_S領域削除コマンドを送信し、
ステップS194において、後述する図32のステップ
S205においてICカード1が送信した、エラーメッ
セージを受信したか否かを判断する。
【0174】ステップS194において、エラーメッセ
ージを受信したと判断された場合、ステップS195に
おいて、図16のステップS16と同様の処理がなさ
れ、処理が終了される。ステップS194において、エ
ラーメッセージを受信しなかったと判断された場合、処
理が終了される。
【0175】次に、図32のフローチャートを参照し
て、図31を用いて説明した、サービス登録用リーダラ
イタ2−11のサービス削除処理と並行して実行され
る、ICカード1のサービス削除処理について説明す
る。なお、ここでも、図3を用いて説明したICカード
1により、処理が実行される場合について説明するが、
図4を用いて説明したICカード1によって処理が実行
される場合においても、基本的に同様の処理が実行され
る。
【0176】ステップS201において、図30のステ
ップS172と同様の処理が実行される。ICカード1
の制御部31は、ステップS202において、図31の
ステップS193において、サービス登録用リーダライ
タ2−11が送信した、ID_S領域削除コマンドを受
信し、ステップS203において、ID_S領域に対応
するデータがあるか否かを確認することなどにより、ス
テップS202において受信したID_S領域削除コマ
ンドの正当性が検証されたか否かを判断する。
【0177】ステップS203において、ID_S領域
削除コマンドの正当性が検証されたと判断された場合、
ステップS204において、制御部31は、メモリ32
のSRT45およびSRA46から、ID_Sに対応す
る領域を削除し、処理が終了される。
【0178】ステップS203において、ID_S領域
削除コマンドの正当性が検証されなかったと判断された
場合、ステップS205において、制御部31は、通信
部21を介して、サービス登録用リーダライタ2−11
に、エラーメッセージを送信し、処理が終了される。
【0179】図31および図32を用いて説明したサー
ビス削除処理は、一般リーダライタ2−12とICカー
ド1とで実行することも可能である。図33のフローチ
ャートを参照して、一般リーダライタ2−12のサービ
ス削除処理について説明する。
【0180】ステップS211において、図16、もし
くは図18を用いて説明した、リーダライタ2のサービ
ス識別処理が実行され、ステップS212において、図
20、図22、もしくは図27を用いて説明したリーダ
ライタ2の認証鍵識別処理が実行され、ステップS21
3において、図31のステップS193と同様の処理が
実行される。
【0181】ステップS214において、一般リーダラ
イタ2−12の制御部101は、後述する図34のステ
ップS227もしくはステップS228において、IC
カード1が送信する信号を受信する。そして、ステップ
S215およびステップS216において、図16のス
テップS15およびステップS16と同様の処理が実行
され、処理が終了される。
【0182】次に、図34のフローチャートを参照し
て、図33を用いて説明した、一般リーダライタ2−1
2のサービス削除処理と並行して実行される、ICカー
ド1のサービス削除処理について説明する。なお、ここ
でも、図3を用いて説明したICカード1により、処理
が実行される場合について説明するが、図4を用いて説
明したICカード1によって処理が実行される場合にお
いても、基本的に同様の処理が実行される。
【0183】ステップS221において、図17、もし
くは図19を用いて説明した、ICカード1のサービス
識別処理が実行され、ステップS232において、図2
1、図23、もしくは図28を用いて説明したICカー
ド1の認証鍵識別処理が実行される。
【0184】ステップS223において、制御部31
は、図33のステップS213において、一般リーダラ
イタ2−12が送信した、ID_S領域削除コマンド
を、通信部21を介して受信する。ステップS224に
おいて、図32のステップS203と同様の処理が実行
される。
【0185】ステップS224において、コマンドの正
当性が検証されなかったと判断された場合、処理は、ス
テップS228に進む。ステップS224において、コ
マンドの正当性が検証されたと判断された場合、ステッ
プS225において、制御部31は、メモリ32のSR
A46のService Individual Info領域に、サービス削
除許可フラグが設定されているか否かを判断する。
【0186】ステップS225において、サービス削除
許可フラグが設定されていないと判断された場合、処理
は、ステップS228に進む。ステップS225におい
て、サービス削除許可フラグが設定されていると判断さ
れた場合、ステップS226において、図32のステッ
プS204と同様の処理がなされ、ステップS227に
おいて、制御部31は、通信部21を介して、一般リー
ダライタ2−12にACK信号を送信し、処理が終了さ
れる。
【0187】ステップS224において、コマンドの正
当性が検証されなかったと判断された場合、もしくは、
ステップS225において、サービス削除許可フラグが
設定されていないと判断された場合、ステップS228
において、制御部31は、通信部21を介して、一般リ
ーダライタ2−12にNACK信号を送信し、処理が終
了される。
【0188】次に、図35のフローチャートを参照し
て、ユーザが、一般リーダライタ2−12で、ICカー
ド1に登録されているサービスを受ける場合に実行され
る、一般リーダライタ2−12のサービス取得処理につ
いて説明する。
【0189】ステップS231において、図16、もし
くは図18を用いて説明した、リーダライタ2のサービ
ス識別処理が実行され、ステップS232において、図
20、図22、もしくは図27を用いて説明したリーダ
ライタ2の認証鍵識別処理が実行される。
【0190】ステップS233において、一般リーダラ
イタ2−12の制御部101は、通信部91を介して、
ICカード1に、ID_S領域のデータ要求コマンドを
送信する。
【0191】制御部101は、ステップS234におい
て、後述する図36のステップS245において、IC
カード1から送信されるデータを受信し、ステップS2
35において、暗号処理部102の共通鍵処理部112
を制御して、ステップS234において受信した暗号化
データを、セッション鍵Ksesを用いて復号させる。制御
部101は、復号されたデータを用いて、例えば、電子
マネーの減算や加算などの所定のデータ処理を行い、処
理が終了される。
【0192】次に、図36のフローチャートを参照し
て、図35を用いて説明した、一般リーダライタ2−1
2のサービスデータ取得処理と並行して実行される、I
Cカード1のサービスデータ取得処理について説明す
る。なお、ここでも、図3を用いて説明したICカード
1により、処理が実行される場合について説明するが、
図4を用いて説明したICカード1によって処理が実行
される場合においても、基本的に同様の処理が実行され
る。
【0193】ステップS241において、図17、もし
くは図19を用いて説明した、ICカード1のサービス
識別処理が実行され、ステップS232において、図2
1、図23、もしくは図28を用いて説明したICカー
ド1の認証鍵識別処理が実行される。
【0194】ステップS243において、ICカード1
の制御部31は、通信部21を介して、図35のステッ
プS233において、一般リーダライタ2−12が送信
した、ID_S領域のデータ要求コマンドを受信する。
制御部31は、ステップS244において、暗号処理部
33の共通鍵処理部42を制御して、メモリ32のID
_Sに対応する領域に登録しているデータを、セッショ
ン鍵Ksesを用いて暗号化させ、ステップS245におい
て、通信部21を介して、暗号化したデータを一般リー
ダライタ2−12に送信し、処理が終了される。
【0195】また、ICカード1と一般リーダライタ2
−12において、あるサービスに関する情報の授受がな
されている場合においても、図8を用いて説明したSR
T45に、対応するパーミッション情報が記録されてい
る場合、現在情報の授受がなされている以外のサービス
に関する情報の授受を行うことが可能である。図37の
フローチャートを参照して、ID_S以外のサービスI
Dに対応するサービスの実行中に行われる、一般リーダ
ライタ2−12のサービスデータ取得処理について説明
する。
【0196】ステップS251乃至ステップS254に
おいて、図35のステップS231乃至ステップS23
4と同様の処理が実行される。ステップS255におい
て、一般リーダライタ2−12の制御部101は、ステ
ップS254において、ICカード1から受信したデー
タは、NACK信号か否かを判断する。
【0197】ステップS255において、受信したデー
タがNACK信号ではないと判断された場合、ステップ
S256において、図35のステップS235と同様の
処理が実行され、処理が終了される。ステップS255
において、受信したデータがNACK信号であると判断
された場合、図16のステップS16と同様の処理がな
され、処理が終了される。
【0198】次に、図38のフローチャートを参照し
て、図37を用いて説明した、一般リーダライタ2−1
2のサービスデータ取得処理と並行して実行される、I
Cカード1のサービスデータ取得処理について説明す
る。なお、ここでも、図3を用いて説明したICカード
1により、処理が実行される場合について説明するが、
図4を用いて説明したICカード1によって処理が実行
される場合においても、基本的に同様の処理が実行され
る。
【0199】ステップS261乃至ステップS263に
おいて、図34のステップS241乃至ステップS24
3と同様の処理が実行される。なお、ステップS261
では、サービスID_Sとは異なる、サービスID_Tの
認証が行われるものとする。ステップS264におい
て、ICカード1の制御部31は、メモリ32のSRT
45およびSRA46に、ステップS263において受
信したデータ要求コマンドに対応するID_S領域が登
録されているか否かを判断する。ステップS264にお
いて、ID_S領域が登録されていないと判断された場
合、処理は、ステップS269に進む。
【0200】ステップ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に進む。
【0201】ステップS266において、データの読み
込みが許可されていると判断された場合、ステップS2
67およびステップS268において、図36のステッ
プS244およびステップS245と同様の処理が実行
され、処理が終了される。
【0202】ステップS264において、ID_S領域
が登録されていないと判断された場合、もしくは、ステ
ップS266において、データの読み込みが許可されて
いないと判断された場合、ステップS269において、
制御部31は、通信部21を介して、一般リーダライタ
2−12にNACK信号を送信し、処理が終了される。
【0203】図35乃至図48を用いて説明したサービ
スデータ取得処理によって、ICカード1から一般リー
ダライタ2−12にデータが取得され、所定の処理がな
されたあと、一般リーダライタ2−12は、必要に応じ
て、ICカード1のメモリ32のSRT45もしくはS
RA46の所定の領域に対して、データを書き込む処理
を実行する。
【0204】次に、図39のフローチャートを参照し
て、一般リーダライタ2−12のサービスデータ書き込
み処理について説明する。
【0205】ステップS281において、図16、もし
くは図18を用いて説明した、リーダライタ2のサービ
ス識別処理が実行され、ステップS282において、図
20、図22、もしくは図27を用いて説明したリーダ
ライタ2の認証鍵識別処理が実行される。
【0206】一般リーダライタ2−12の制御部101
は、ステップS283において、ICカード1のメモリ
32に書き込むために、ICカード1に送信するデータ
を、暗号処理部102の共通鍵処理部112を制御し
て、セッション鍵Ksesを用いて暗号化させ、ステップS
284において、ICカード1に、データ書き込みコマ
ンドと、ステップS284において暗号化したデータ
を、通信部91を介して送信し、処理が終了される。
【0207】次に、図40のフローチャートを参照し
て、図39を用いて説明した、一般リーダライタ2−1
2のサービスデータ書き込み処理と並行して実行され
る、ICカード1のサービスデータ書き込み処理につい
て説明する。なお、ここでも、図3を用いて説明したI
Cカード1により、処理が実行される場合について説明
するが、図4を用いて説明したICカード1によって処
理が実行される場合においても、基本的に同様の処理が
実行される。
【0208】ステップS291において、図17、もし
くは図19を用いて説明した、ICカード1のサービス
識別処理が実行され、ステップS232において、図2
1、図23、もしくは図28を用いて説明したICカー
ド1の認証鍵識別処理が実行される。
【0209】ステップS293において、制御部31
は、通信部21を介して、図39のステップS284に
おいて、一般リーダライタ2−12が送信した、データ
書き込みコマンドと暗号化データを受信する。制御部3
1は、ステップS294において、暗号処理部33の共
通鍵処理部42を制御して、受信したデータを、セッシ
ョン鍵Ksesを用いて復号させ、ステップS295におい
て、復号したデータを、メモリ32のSRT45および
SRA46のID_Sに対応するサービス格納領域へ書
き込み、処理が終了される。
【0210】また、ICカード1と一般リーダライタ2
−12において、あるサービスに関する情報の授受がな
されている場合においても、図8を用いて説明したSR
T45に、対応するパーミッション情報が記録されてい
る場合、図37および図38を用いて説明したサービス
データ取得処理と同様に、現在情報の授受がなされてい
る以外のサービスに関するサービスデータ書き込み処理
を実行することが可能である。図41のフローチャート
を参照して、ID_S以外のサービスIDに対応するサ
ービスの実行中に行われる、一般リーダライタ2−12
のサービスデータ書き込み処理について説明する。
【0211】ステップS301乃至ステップS304に
おいて、図39のステップS281乃至ステップS28
4と同様の処理が実行される。そして、ステップS30
5およびステップS306において、図16のステップ
S15およびステップS16と同様の処理がなされ、処
理が終了される。
【0212】次に、図42のフローチャートを参照し
て、図41を用いて説明した、一般リーダライタ2−1
2のサービスデータ書き込み処理と並行して実行され
る、ICカード1のサービスデータ書き込み処理につい
て説明する。なお、ここでも、図3を用いて説明したI
Cカード1により、処理が実行される場合について説明
するが、図4を用いて説明したICカード1によって処
理が実行される場合においても、基本的に同様の処理が
実行される。
【0213】ステップS311乃至ステップS313に
おいて、図40のステップS291乃至ステップS29
3と同様の処理が実行される。なお、ステップS311
では、サービスID_Sとは異なる、サービスID_Tの
認証が行われるものとする。ステップS314およびス
テップS315において、図38のステップS264お
よびステップS265と同様の処理がなされ、ステップ
S314において、ID_S領域が登録されていないと
判断された場合、処理は、ステップS320に進む。
【0214】ステップS316において、制御部31
は、ID_T認証時に、ID_Sのサービスに対して、デ
ータの書き込みが許可されているか否かを判断する(す
なわち、SRT45のID_Sに対応するパーミッショ
ン情報フィールドに、ID_T認証時のデータの書き込
み許可、すなわち、rwが記載されているか否かを判断
する)。ステップS316において、データの書き込み
が許可されていないと判断された場合、処理はステップ
S320に進む。
【0215】ステップS316において、データの書き
込みが許可されていると判断された場合、ステップS3
17およびステップS318において、図40のステッ
プS294およびステップS295と同様の処理が実行
される。ステップS319において、制御部31は、通
信部21を介して、一般リーダライタ2−12にACK
信号を送信し、処理が終了される。
【0216】ステップS314において、ID_S領域
が登録されていないと判断された場合、もしくは、ステ
ップS316において、データの書き込みが許可されて
いないと判断された場合、ステップS320において、
制御部31は、通信部21を介して、一般リーダライタ
2−12にNACK信号を送信し、処理が終了される。
【0217】以上説明したように、一般リーダライタ2
−12に、ICカード1を装着し、各種サービスを受け
るためには、サービス毎に定められた共通鍵、もしくは
公開鍵を用いて認証処理を行わなければならない。これ
らの認証鍵は、セキュリティの維持のために、しばしば
バージョンアップされる(すなわち、鍵が変更され
る)。ユーザは、図2を用いて説明したバージョンアッ
プ用リーダライタ2−14、もしくは一般リーダライタ
2−12に、ICカード1を装着し、図43乃至図47
を用いて後述する鍵バージョンアップ処理を実行させる
ことにより、自分自身が管理しているICカード1に登
録されている認証鍵を、できるだけ最新に近いバージョ
ンの認証鍵にバージョンアップするようにしなければな
らない。
【0218】次に、図43を参照して、サービス毎に定
められたバージョンアップ用鍵(図6および図14を用
いて説明したバージョンアップ用鍵Kake_vup)を用いて
実行される、バージョンアップ用リーダライタ2−14
の鍵バージョンアップ処理について説明する。
【0219】ステップS331において、図16、もし
くは図18を用いて説明した、リーダライタ2のサービ
ス識別処理が実行され、ステップS332において、図
20、図22、もしくは図27を用いて説明したリーダ
ライタ2の認証鍵識別処理が実行される。
【0220】ステップS333において、バージョンア
ップ用リーダライタ2−14の制御部101は、暗号処
理部102の共通鍵処理部112を制御して、バージョ
ンアップを行う認証鍵に対応する認証鍵IDを、セッシ
ョン鍵Ksesを用いて暗号化させ、ICカード1に送信す
る。ステップS334において、制御部101は、後述
する図44のステップS355もしくはステップS36
0において、ICカード1が送信する信号を受信する。
【0221】ステップS335において、制御部101
は、ステップS334においてICカード1から受信し
た信号はACK信号であるか否かを判断する。ステップ
S335において、受信した信号がACK信号ではない
と判断された場合、処理は、ステップS339に進む。
ステップS335において、受信した信号がACK信号
であると判断された場合、ステップS336において、
制御部101は、バージョンアップを行う認証鍵に対応
する最新バージョン情報と、認証鍵Kakeをメモリ103
から読み出し、暗号処理部102の共通鍵処理部112
を制御して、セッション鍵Ksesを用いて暗号化させ、通
信部91を介して、ICカード1に送信する。
【0222】そして、ステップS337において、IC
カード1が、後述する44のステップS359もしくは
ステップS360において送信した信号を受信する。ス
テップS338において、ステップS335と同様の処
理がなされ、ステップS338において、受信した信号
がACK信号であると判断された場合、処理が終了され
る。ステップS335およびステップS338におい
て、受信した信号がACK信号ではないと判断された場
合、ステップS339において、図16のステップS1
6と同様の処理がなされ、処理が終了される。
【0223】次に、図44のフローチャートを参照し
て、図43を用いて説明した、バージョンアップ用リー
ダライタ2−14の鍵バージョンアップ処理と並行して
実行される、ICカード1の鍵バージョンアップ処理に
ついて説明する。なお、ここでも、図3を用いて説明し
たICカード1により、処理が実行される場合について
説明するが、図4を用いて説明したICカード1によっ
て処理が実行される場合においても、基本的に同様の処
理が実行される。
【0224】ステップS351において、図17、もし
くは図19を用いて説明した、ICカード1のサービス
識別処理が実行され、ステップS352において、図2
1、図23、もしくは図28を用いて説明したICカー
ド1の認証鍵識別処理が実行される。
【0225】ステップS353において、制御部31
は、通信部21を介して、図43のステップS333に
おいて、バージョンアップ用リーダライタ2−14が送
信した、暗号化された認証鍵IDを受信し、暗号処理部
33の共通鍵処理部42を制御して、受信したデータ
を、セッション鍵Ksesを用いて復号させる。ステップS
354において、制御部31は、復号したデータを基
に、メモリ32のSRT45およびSRA46のID_
Sに、対応する認証鍵IDが存在するか否かを判断す
る。ステップS354において、認証鍵IDが存在しな
いと判断された場合、処理は、ステップS360に進
む。
【0226】ステップS354において、認証鍵IDが
存在すると判断された場合、制御部31は、ステップS
355において、通信部21を介して、バージョンアッ
プ用リーダライタ2−14に、ACK信号を送信し、ス
テップS356において、図43のステップS336に
おいて、バージョンアップ用リーダライタ2−14が送
信した、暗号化された最新バージョン情報と認証鍵Kake
を、通信部21を介して受信し、暗号処理部33の共通
鍵処理部42を制御して、受信したバージョン情報を、
セッション鍵Ksesを用いて復号させる。
【0227】ステップS357において、制御部31
は、復号したデータを基に、受信したバージョン情報は
正しいか否か(すなわち、自分自身がすでに保有してい
る認証鍵のバージョン情報より新しいバージョンである
か否か)を判断する。ステップS357において、バー
ジョン情報が正しくないと判断された場合、処理は、ス
テップS360に進む。
【0228】ステップS357において、バージョン情
報は正しいと判断された場合、制御部31は、暗号処理
部33の共通鍵処理部42を制御して、認証鍵Kakeを、
セッション鍵Ksesを用いて復号させ、メモリ32のSR
A46における、認証鍵Kakeが記載される領域に書き込
み、ステップS359において、バージョンアップ用リ
ーダライタ2−14に、通信部21を介してACK信号
を送信し、処理が終了される。
【0229】ステップS354において、認証鍵IDが
存在しないと判断された場合、およびステップS357
において、バージョン情報が正しくないと判断された場
合、ステップS360において、制御部31は、バージ
ョンアップ用リーダライタ2−14に、通信部21を介
してNACK信号を送信し、処理が終了される。
【0230】また、ICカード1と一般リーダライタ2
−12において、あるサービスに関する情報の授受がな
されている場合において、図8を用いて説明したSRT
45に、対応するパーミッション情報が記録されている
場合、図37および図38を用いて説明したサービスデ
ータ取得処理や、図41および図42を用いて説明した
サービスデータ書き込み処理と同様に、現在情報の授受
がなされている以外のサービスに関する鍵バージョンア
ップ処理を実行することが可能である。図45のフロー
チャートを参照して、ID_S以外のサービスIDに対
応するサービスの実行中に行われる、一般リーダライタ
2−12の鍵バージョンアップ処理について説明する。
【0231】ステップS371およびステップS372
において、図44のステップS331およびステップS
332と同様の処理が実行される。そして、一般リーダ
ライタ2−12の制御部101は、ステップS373に
おいて、ID_Sに対応するサービスの認証鍵のバージ
ョンアップコマンドを、通信部91を介してICカード
1に送信し、ステップS374において、後述する図4
6のステップS397もしくは図47のステップS40
5において、ICカード1が送信するデータを受信し、
ステップS375において、ICカード1から受信した
信号は、ACK信号か否かを判断する。
【0232】ステップS375において、受信した信号
がACK信号でないと判断された場合、処理は、ステッ
プS382に進む。ステップS375において、受信し
た信号がACK信号であると判断された場合、ステップ
S376乃至ステップS382において、図43のステ
ップS333乃至ステップS339と同様の処理がなさ
れ、処理が終了される。
【0233】次に、図46および図47のフローチャー
トを参照して、図45を用いて説明した、バージョンア
ップ用リーダライタ2−14の鍵バージョンアップ処理
と並行して実行される、ICカード1の鍵バージョンア
ップ処理について説明する。なお、ここでも、図3を用
いて説明したICカード1により、処理が実行される場
合について説明するが、図4を用いて説明したICカー
ド1によって処理が実行される場合においても、基本的
に同様の処理が実行される。
【0234】ステップS391およびステップS392
において、図44のステップS351およびステップS
352と同様の処理が実行される。なお、ステップS3
91では、サービスID_Sとは異なる、サービスID_
Tの認証が行われるものとする。ステップS393にお
いて、制御部31は、図45のステップS373におい
て、バージョンアップ用リーダライタ2−14が送信し
た、ID_Sの認証鍵のバージョンアップコマンドを受
信する。
【0235】ステップS394およびステップS395
において、図38のステップS264およびステップS
265と同様の処理がなされ、ステップS394におい
て、ID_S領域が登録されていないと判断された場
合、処理は、ステップS405に進む。
【0236】ステップS396において、制御部31
は、ID_T認証時に、ID_Sの認証鍵のバージョンア
ップが許可されているか否かを判断する(すなわち、S
RT45のID_Sに対応するパーミッション情報フィ
ールドに、ID_T認証時のvupの許可が記載されて
いるか否かを判断する)。ステップS396において、
認証鍵のバージョンアップが許可されていないと判断さ
れた場合、処理は、ステップS405に進む。
【0237】ステップS396において、認証鍵のバー
ジョンアップが許可されていると判断された場合、ステ
ップS397において、制御部31は、通信部21を介
して、バージョンアップ用リーダライタ2−14に、A
CK信号を送信する。
【0238】そして、ステップS398乃至ステップS
405において、図44のステップS353乃至ステッ
プS360と同様の処理が実行され、処理が終了され
る。
【0239】次に、図48乃至図51のフローチャート
を参照して、図13を用いて説明したモジュール間通信
について説明する。モジュール間通信は、図4を用いて
説明したICカード1と、モジュール間通信用リーダラ
イタ2−13によって実行される。ここでは、図4を用
いて説明したICカード1の通信部51および共通鍵サ
ービス処理部52を、図13を用いて説明した共通鍵モ
ジュール122とし、図4を用いて説明した通信部53
および公開鍵サービス処理部54を、図13を用いて説
明した公開鍵モジュール121として説明する。
【0240】まず、図48のフローチャートを参照し
て、共通鍵モジュール122が、モジュール間通信用リ
ーダライタ2−13と共有するセッション鍵と、公開鍵
モジュール121が、モジュール間通信用リーダライタ
2−13と共有するセッション鍵とが異なる場合におけ
るモジュール間通信について説明する。
【0241】ステップS411において、モジュール間
通信用リーダライタ2−13は、図16、もしくは図1
8を用いて説明した、リーダライタ2のサービス識別処
理を実行し、ステップS412において、ICカード1
の公開鍵モジュール121は、図17、もしくは図19
を用いて説明した、ICカード1のサービス識別処理を
実行し、モジュール間リーダライタ2−13と、公開鍵
モジュール121の間で、セッション鍵Kses1を共有す
る。
【0242】ステップS413において、モジュール間
通信用リーダライタ2−13は、図16、もしくは図1
8を用いて説明した、リーダライタ2のサービス識別処
理を実行し、ステップS414において、ICカード1
の共通鍵モジュール122は、図17、もしくは図19
を用いて説明した、ICカード1のサービス識別処理を
実行し、モジュール間リーダライタ2−13と、共通鍵
モジュール122の間で、セッション鍵Kses2を共有す
る。
【0243】ステップS415において、モジュール間
通信用リーダライタ2−13の制御部101は、ステッ
プS411およびステップS413において実行された
リーダライタ2のサービス識別処理において得られたI
Cカード1のカードIDを基に、公開鍵モジュール12
1と、共通鍵モジュール122の2つのカードIDが一
致したか否かを判断する。ステップS415において、
カードIDが一致しないと判断された場合、ステップS
416において、図16のステップS16と同様の処理
が実行される。
【0244】ステップS415において、2つのカード
IDが一致すると判断された場合、ステップS417に
おいて、モジュール間通信用リーダライタ2−13の制
御部101は、モジュールデータ移動コマンドを公開鍵
モジュール121に送信する。
【0245】公開鍵モジュール121の制御部61は、
ステップS418において、モジュールデータ移動開始
コマンドをモジュール間通信用リーダライタ2−13か
ら受信し、暗号処理部33の、共通鍵処理部42を制御
して、移動するデータをセッション鍵Kses1で暗号化さ
せ、ステップS419で、暗号化データをモジュール間
通信用リーダライタ2−13に送信する。
【0246】モジュール間通信用リーダライタ2−13
の制御部101は、ステップS420において、暗号処
理部102の、共通鍵処理部112を制御して、受信し
たデータをセッション鍵Kses1で復号し、ステップS4
21において、データをセッション鍵Kses2で暗号化さ
せ、共通鍵モジュール122に送信する。共通鍵モジュ
ール122の制御部61は、ステップS422におい
て、暗号処理部63の、共通鍵処理部42を制御して、
受信したデータをセッション鍵Kses2で復号させ、ステ
ップS423において、復号したデータをメモリ62の
対応する領域に保存して利用する。
【0247】次に、図49のフローチャートを参照し
て、共通鍵モジュール122が、モジュール間通信用リ
ーダライタ2−13と共有するセッション鍵と、公開鍵
モジュール121が、モジュール間通信用リーダライタ
2−13と共有するセッション鍵とが同一である場合に
おけるモジュール間通信について説明する。
【0248】ステップS431において、モジュール間
通信用リーダライタ2−13は、図16、もしくは図1
8を用いて説明した、リーダライタ2のサービス識別処
理を実行し、ステップS432において、ICカード1
の公開鍵モジュール121は、図17、もしくは図19
を用いて説明した、ICカード1のサービス識別処理を
実行し、モジュール間リーダライタ2−13と、公開鍵
モジュール121の間で、セッション鍵Kses1を共有す
る。
【0249】ステップS433において、モジュール間
通信用リーダライタ2−13は、図16、もしくは図1
8を用いて説明した、リーダライタ2のサービス識別処
理を実行し、ステップS434において、ICカード1
の共通鍵モジュール122は、図17、もしくは図19
を用いて説明した、ICカード1のサービス識別処理を
実行し、モジュール間リーダライタ2−13と、共通鍵
モジュール122の間で、セッション鍵Kses1を共有す
る。
【0250】ステップS435乃至ステップS439に
おいて、図48のステップS415乃至ステップS41
9と同様の処理が実行される。そして、ステップS44
0において、モジュール間通信用リーダライタ2−13
の制御部101は、受信したデータを、共通鍵モジュー
ル122に送信する。図48のステップS420および
ステップS421においては、受信したデータをセッシ
ョン鍵Kses1で復号し、復号したデータをセッション鍵
Kses2で暗号化した後に共通鍵モジュール122に送信
したが、ここでは、共通鍵モジュール122も、セッシ
ョン鍵Kses1を有しているため、これらの処理が必要な
くなる。
【0251】共通鍵モジュール122の制御部61は、
ステップS411において、暗号処理部63を制御し
て、受信したデータをセッション鍵Kses1で復号し、ス
テップS422において、復号したデータをメモリ62
の対応する領域に保存して利用する。
【0252】次に、図50のフローチャートを参照し
て、共通鍵モジュール122が、モジュール間通信用リ
ーダライタ2−13と共有するセッション鍵と、公開鍵
モジュール121が、モジュール間通信用リーダライタ
2−13と共有するセッション鍵とが異なるが、モジュ
ール間通信用リーダライタ2−13が、共通鍵モジュー
ル122が有するセッション鍵を、公開鍵モジュール1
21が有するもう一方のセッション鍵で暗号化し、公開
鍵モジュール121に供給するようになされている場合
におけるモジュール間通信について説明する。
【0253】ステップS451乃至ステップS456に
おいて、図48のステップS411乃至ステップS41
6と同様の処理が実行される。すなわち、モジュール間
リーダライタ2−13と、公開鍵モジュール121の間
で、セッション鍵Kses1が共有され、モジュール間リー
ダライタ2−13と、共通鍵モジュール122の間で、
セッション鍵Kses2が共有される。
【0254】ステップS457において、モジュール間
通信用リーダライタ2−13の制御部101は、暗号処
理部102を制御して、セッション鍵Kses2を、セッシ
ョン鍵Kses1で暗号化させ、公開鍵モジュール121に
送信する。公開鍵モジュール121の制御部61は、暗
号処理部33の共通鍵処理部42を制御して、受信した
データをセッション鍵Kses1で復号させることにより、
セッション鍵Kses2を取り出す。
【0255】ステップS459において、図48のステ
ップS417と同様の処理が実行される。ステップS4
60において、公開鍵モジュール121の制御部61
は、移動するデータをセッション鍵Kses2で暗号化し、
暗号化データをモジュール間通信用リーダライタ2−1
3に送信する。
【0256】ステップS461において、図49のステ
ップS440と同様の処理が実行される。そして、ステ
ップS462およびステップS463において、図48
のステップS422およびS423と同様の処理が実行
される。
【0257】すなわち、図48のステップS420およ
びステップS421においては、受信したデータをセッ
ション鍵Kses1で復号し、復号したデータをセッション
鍵Kses2で暗号化した後に共通鍵モジュール122に送
信したが、ここでは、図49を用いて説明した処理と同
様に、共通鍵モジュール122と、公開鍵モジュール1
21とが、同一のセッション鍵Kses2を得ることができ
るため、これらの処理を行う必要がない。
【0258】そして、図51のフローチャートを参照し
て、公開鍵モジュール121と共通鍵モジュール122
が、共通秘密鍵K_commonを共有し、それを用いて相互
認証を行い、更に、共通のセッション鍵Ksesを共有する
場合の、モジュール間通信について説明する。
【0259】ステップS471およびステップS472
において、公開鍵モジュール121と共通鍵モジュール
122は、共通秘密鍵K_commonにより、相互認証を行
い、セッション鍵Ksesを共有する。ステップS473に
おいて、モジュール間通信用リーダライタ2−13は、
ステップS471およびステップS472における相互
認証の通信路のみ提供する(すなわち、公開鍵モジュー
ル121とも共通鍵モジュール122とも、セッション
鍵の共有は行われない)。
【0260】ステップS474において、図48のステ
ップS417と同様の処理が実行される。ステップS4
75において、公開鍵モジュール121の制御部61
は、暗号処理部33の共通鍵処理部42を制御して、移
動するデータをセッション鍵Ksesで暗号化させ、暗号化
データをモジュール間通信用リーダライタ2−13に送
信する。そして、ステップS476乃至ステップS47
8において、図49のステップS421乃至ステップS
423と同様の処理が実行される。
【0261】すなわち、図51を用いて説明したモジュ
ール間通信においては、モジュール間通信用リーダライ
タ2−13は、データの通信路を提供するのみで、モジ
ュール間通信されるデータを暗号化したり、復号するこ
とはない。
【0262】上述した一連の処理は、ソフトウェアによ
り実行することもできる。そのソフトウェアは、そのソ
フトウェアを構成するプログラムが、専用のハードウェ
アに組み込まれているコンピュータ、または、各種のプ
ログラムをインストールすることで、各種の機能を実行
することが可能な、例えば汎用のパーソナルコンピュー
タなどに、記録媒体からインストールされる。
【0263】この記録媒体は、図9に示すように、コン
ピュータとは別に、ユーザにプログラムを提供するため
に配布される、プログラムが記録されている磁気ディス
ク115(フロッピー(登録商標)ディスクを含む)、
光ディスク116(CD-ROM(Compact Disk-Read Only M
emory),DVD(Digital Versatile Disk)を含む)、光
磁気ディスク117(MD(Mini-Disk)を含む)、もし
くは半導体メモリ118などよりなるパッケージメディ
アなどにより構成される。
【0264】また、本明細書において、記録媒体に記録
されるプログラムを記述するステップは、記載された順
序に沿って時系列的に行われる処理はもちろん、必ずし
も時系列的に処理されなくとも、並列的あるいは個別に
実行される処理をも含むものである。
【0265】
【発明の効果】本発明のデータ記憶装置、データ記憶方
法、および記録媒体に記録されているプログラムによれ
ば、情報処理装置に対するデータの入出力を制御し、複
数のサービスに対応するデータの記憶を制御し、複数の
サービスのうちの第1のサービスに対応する第1のサー
ビスIDと、入出力制御ステップの処理により第1のサ
ービスに関するデータの入出力が制御されている場合に
データの入出力が許可される、複数のサービスのうちの
第2のサービスに対応する第2のサービスIDの記憶を
制御するようにしたので、所定のサービスに関するデー
タの授受を実行している場合において、セキュリティを
確保しつつ、予め許可された他のサービスに関するデー
タの授受を、並行して行うことを可能とすることができ
る。
【図面の簡単な説明】
【図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 SR
A、 51 通信部、 52 共通鍵サービス処理部、
53 通信部、 54 公開鍵サービス処理部、 6
1 制御部、 62 メモリ、63 暗号処理部、 9
1 通信部、 101 制御部、 102 暗号処理
部、 103 メモリ、 111公開鍵処理部、 11
2 共通鍵処理部、 113 その他の暗号処理部、
105 表示部、 106 入力部、 121 公開鍵
モジュール、 122 共通鍵モジュール
───────────────────────────────────────────────────── フロントページの続き (72)発明者 浅野 智之 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 (72)発明者 吉野 賢治 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 (72)発明者 岡 誠 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 (72)発明者 瀧 隆太 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 Fターム(参考) 5B035 AA13 BB09 BC02 CA23 5B058 CA15 KA11 KA33 KA35 YA06 5J104 AA07 KA01 NA35 NA36 NA38 NA41

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 情報処理装置に装着され、前記情報処理
    装置とデータの授受を行うデータ記憶装置において、 前記情報処理装置に対する、前記データの入出力を制御
    する入出力制御手段と、 複数のサービスに対応するデータの記憶を制御する第1
    の記憶制御手段と、 前記複数のサービスのうちの第1のサービスに対応する
    第1のサービスIDと、前記入出力制御手段により前記
    第1のサービスに関する前記データの入出力が制御され
    ている場合に前記データの入出力が許可される、前記複
    数のサービスのうちの第2のサービスに対応する第2の
    サービスIDの記憶を制御する第2の記憶制御手段とを
    備えることを特徴とするデータ記憶装置。
  2. 【請求項2】 前記第2の記憶制御手段は、前記第2の
    サービスに関するアクセス権の制限に関する情報の記憶
    をさらに制御することを特徴とする請求項1に記載のデ
    ータ記憶装置。
  3. 【請求項3】 前記第2の記憶制御手段は、 前記第2のサービスIDが、前記第1のサービスIDに
    対して複数存在する場合、複数の前記第2のサービスI
    Dの記憶を制御し、 前記第2のサービスIDが、前記第1のサービスIDに
    対して1つも存在しない場合、前記第2のサービスID
    が空欄となるように記憶を制御することを特徴とする請
    求項1に記載のデータ記憶装置。
  4. 【請求項4】 情報処理装置に装着され、前記情報処理
    装置とデータの授受を行うデータ記憶装置のデータ記憶
    方法において、 前記情報処理装置に対する、前記データの入出力を制御
    する入出力制御ステップと、 複数のサービスに対応するデータの記憶を制御する第1
    の記憶制御ステップと、 前記複数のサービスのうちの第1のサービスに対応する
    第1のサービスIDと、前記入出力制御ステップの処理
    により前記第1のサービスに関する前記データの入出力
    が制御されている場合に前記データの入出力が許可され
    る、前記複数のサービスのうちの第2のサービスに対応
    する第2のサービスIDの記憶を制御する第2の記憶制
    御ステップとを含むことを特徴とするデータ記憶方法。
  5. 【請求項5】 情報処理装置に装着され、前記情報処理
    装置とデータの授受を行うデータ記憶装置用のプログラ
    ムであって、 前記情報処理装置に対する、前記データの入出力を制御
    する入出力制御ステップと、 複数のサービスに対応するデータの記憶を制御する第1
    の記憶制御ステップと、 前記複数のサービスのうちの第1のサービスに対応する
    第1のサービスIDと、前記入出力制御ステップの処理
    により前記第1のサービスに関する前記データの入出力
    が制御されている場合に前記データの入出力が許可され
    る、前記複数のサービスのうちの第2のサービスに対応
    する第2のサービスIDの記憶を制御する第2の記憶制
    御ステップとを含むことを特徴とするコンピュータが読
    み取り可能なプログラムが記録されている記録媒体。
JP2000180051A 2000-06-15 2000-06-15 データ記憶装置およびデータ記憶方法、並びに記録媒体 Withdrawn JP2001357365A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000180051A JP2001357365A (ja) 2000-06-15 2000-06-15 データ記憶装置およびデータ記憶方法、並びに記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000180051A JP2001357365A (ja) 2000-06-15 2000-06-15 データ記憶装置およびデータ記憶方法、並びに記録媒体

Publications (1)

Publication Number Publication Date
JP2001357365A true JP2001357365A (ja) 2001-12-26

Family

ID=18681218

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000180051A Withdrawn JP2001357365A (ja) 2000-06-15 2000-06-15 データ記憶装置およびデータ記憶方法、並びに記録媒体

Country Status (1)

Country Link
JP (1) JP2001357365A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002281009A (ja) * 2001-03-15 2002-09-27 Sony Corp 相互認証システム、相互認証方法、およびメモリ搭載デバイス、メモリアクセス機器、並びにプログラム記憶媒体
JP2006068333A (ja) * 2004-09-02 2006-03-16 Sankyo Kk 遊技用システム
JP2006108886A (ja) * 2004-10-01 2006-04-20 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2006165984A (ja) * 2004-12-07 2006-06-22 Hitachi Ltd アドホックネットワークの認証方法、および、その無線通信端末
JP2007034637A (ja) * 2005-07-26 2007-02-08 Ntt Docomo Inc 移動体端末装置及び電子決済システム
JP2007135113A (ja) * 2005-11-14 2007-05-31 Hitachi Ltd Icカードを用いたセキュア端末システムおよびその方法
US7650503B2 (en) 2002-09-11 2010-01-19 Renesas Technology Corp. Memory card
JP2011066834A (ja) * 2009-09-18 2011-03-31 Sony Corp 情報処理装置、情報処理方法、通信装置、通信方法、プログラム、及び相互認証システム
US9286603B2 (en) 2002-02-27 2016-03-15 Oneempower Pte Ltd Activity management method

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002281009A (ja) * 2001-03-15 2002-09-27 Sony Corp 相互認証システム、相互認証方法、およびメモリ搭載デバイス、メモリアクセス機器、並びにプログラム記憶媒体
US9286603B2 (en) 2002-02-27 2016-03-15 Oneempower Pte Ltd Activity management method
US7650503B2 (en) 2002-09-11 2010-01-19 Renesas Technology Corp. Memory card
JP2006068333A (ja) * 2004-09-02 2006-03-16 Sankyo Kk 遊技用システム
JP2006108886A (ja) * 2004-10-01 2006-04-20 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2006165984A (ja) * 2004-12-07 2006-06-22 Hitachi Ltd アドホックネットワークの認証方法、および、その無線通信端末
JP4551202B2 (ja) * 2004-12-07 2010-09-22 株式会社日立製作所 アドホックネットワークの認証方法、および、その無線通信端末
JP2007034637A (ja) * 2005-07-26 2007-02-08 Ntt Docomo Inc 移動体端末装置及び電子決済システム
JP4663441B2 (ja) * 2005-07-26 2011-04-06 株式会社エヌ・ティ・ティ・ドコモ 移動体端末装置及び電子決済システム
JP2007135113A (ja) * 2005-11-14 2007-05-31 Hitachi Ltd Icカードを用いたセキュア端末システムおよびその方法
JP4736729B2 (ja) * 2005-11-14 2011-07-27 株式会社日立製作所 Icカードを用いたセキュア端末システムおよびその方法
JP2011066834A (ja) * 2009-09-18 2011-03-31 Sony Corp 情報処理装置、情報処理方法、通信装置、通信方法、プログラム、及び相互認証システム

Similar Documents

Publication Publication Date Title
JP4638990B2 (ja) 暗号鍵情報の安全な配布と保護
US7496756B2 (en) Content usage-right management system and management method
CN1985466B (zh) 使用分发cd按签署组向设备传递直接证据私钥的方法
US11182783B2 (en) Electronic payment method and electronic device using ID-based public key cryptography
US20060101136A1 (en) Information management apparatus, information management method, and program
US20090208003A1 (en) Authentication Method, Host Computer and Recording Medium
JP4516399B2 (ja) 情報処理装置および方法、並びにプログラム
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
US20020010861A1 (en) Access control system, access control method, device, access control server, access-control-server registration server, data processing apparatus, and program storage medium
JP2003016397A (ja) データ処理システム、メモリデバイス、データ処理装置、およびデータ処理方法、並びにプログラム
JP2004013600A (ja) データ処理システム、データ処理装置、および方法、並びにコンピュータ・プログラム
CN109816383A (zh) 一种区块链签名方法、区块链钱包和区块链
GB2465525A (en) Terminal for strong authentification of a user
JP2003044436A (ja) 認証処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2001357373A (ja) データ記憶装置およびデータ記憶方法、情報処理装置および情報処理方法、並びに記録媒体
JP2001357365A (ja) データ記憶装置およびデータ記憶方法、並びに記録媒体
JP4538909B2 (ja) データ記憶装置および情報処理装置
KR100785275B1 (ko) 쿠폰을 이용한 컨텐츠 제공 방법 및 시스템
KR20180024389A (ko) 키 관리 장치 및 방법
JP4541740B2 (ja) 認証用鍵の更新システム、および認証用鍵の更新方法
JP2003158513A (ja) Icカード、その書き込み方法及び書き込み装置並びにicカードシステム
EP2136311A1 (en) Data storage method, client device, storage device, and program
JP2001357360A (ja) データ記憶装置およびデータ記憶方法、情報処理装置および情報処理方法、並びに記録媒体
JP2001357372A (ja) データ記憶装置およびデータ記憶方法、情報処理装置および情報処理方法、並びに記録媒体
JP2003162691A (ja) データ処理システム、メモリデバイス、データ処理装置、およびデータ処理方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070904