(57)【要約】【課題】利便性を向上させることができる携帯可能電子装置、及びＩＣカードを提供することである。【解決手段】実施形態の携帯可能電子装置は、秘密データ記憶部と、開示方法選択部と、開示処理部とを持つ。秘密データ記憶部は、秘密データを記憶する。開示方法選択部は、外部装置から受信した使用者を識別する使用者識別情報に基づいて、前記秘密データ記憶部が記憶する前記秘密データを開示するデータ開示方法を選択する。開示処理部は、前記開示方法選択部によって選択された前記データ開示方法により前記秘密データの少なくとも一部を隠ぺいして前記外部装置に送信する。【選択図】図３
2017097838.tif 000002
【特許請求の範囲】
【請求項１】
秘密データを記憶する秘密データ記憶部と、
外部装置から受信した使用者を識別する使用者識別情報に基づいて、前記秘密データ記憶部が記憶する前記秘密データを開示するデータ開示方法を選択する開示方法選択部と、
前記開示方法選択部によって選択された前記データ開示方法により前記秘密データの少なくとも一部を隠ぺいして前記外部装置に送信する開示処理部と
を備える携帯可能電子装置。
【請求項２】
前記開示処理部は、前記開示方法選択部によって選択された前記データ開示方法により、共通する前記秘密データから、前記使用者に応じて異なる範囲の情報を開示して送信する
請求項１に記載の携帯可能電子装置。
【請求項３】
前記使用者識別情報と、前記データ開示方法を示す開示方法情報とを対応付けて記憶する開示方法記憶部を備え、
前記開示方法選択部は、前記開示方法記憶部から前記使用者識別情報に対応する前記開示方法情報を取得し、
前記開示処理部は、前記開示方法選択部によって取得された前記開示方法情報に基づいて、前記秘密データの少なくとも一部を隠ぺいして前記外部装置に送信する
請求項１又は請求項２に記載の携帯可能電子装置。
【請求項４】
前記外部装置から受信した登録要求に応じて、前記使用者識別情報と、前記開示方法情報とを対応付けて前記開示方法記憶部に記憶させる登録処理部を備える
請求項３に記載の携帯可能電子装置。
【請求項５】
前記開示方法記憶部は、前記秘密データの開示する範囲を示す情報、又は、前記秘密データの隠ぺいする範囲を示す情報が含まれる前記開示方法情報を記憶する
請求項３又は請求項４に記載の携帯可能電子装置。
【請求項６】
前記開示方法記憶部は、前記秘密データの開示するデータ項目を示す情報、又は、前記秘密データの隠ぺいするデータ項目を示す情報が含まれる前記開示方法情報を記憶する
請求項３から請求項５のいずれか一項に記載の携帯可能電子装置。
【請求項７】
前記開示処理部は、前記外部装置から受信した前記使用者識別情報が前記開示方法記憶部に記憶されていない場合に、前記秘密データの開示不可を示す状態情報を前記外部装置に送信する
請求項３から請求項６のいずれか一項に記載の携帯可能電子装置。
【請求項８】
前記開示処理部は、前記外部装置から受信した前記使用者識別情報が前記開示方法記憶部に記憶されていない場合に、前記秘密データの全体を隠ぺいして前記外部装置に送信する
請求項７に記載の携帯可能電子装置。
【請求項９】
前記開示方法記憶部は、複数の前記使用者識別情報と、前記開示方法情報とを対応付けて記憶し、
前記開示方法選択部は、前記開示方法記憶部から複数の前記使用者識別情報に対応する前記開示方法情報を取得する
請求項３から請求項８のいずれか一項に記載の携帯可能電子装置。
【請求項１０】
前記外部装置から受信した前記使用者識別情報の数が、前記開示方法記憶部が前記開示方法情報に対応付けて記憶する複数の前記使用者識別情報の数に達している場合に、前記開示方法選択部に、前記開示方法記憶部から複数の前記使用者識別情報に対応する前記開示方法情報を取得させ、前記受信した前記使用者識別情報の数が、前記複数の前記使用者識別情報の数に達していない場合に、前記複数の前記使用者識別情報の数に達するために必要な残りの受信数を示す受信数情報を、前記外部装置に送信する受信数判定部を備える
請求項９に記載の携帯可能電子装置。
【請求項１１】
前記使用者を認証する認証処理部を備え、
前記開示処理部は、前記認証処理部によって前記使用者が認証された場合に、前記開示方法選択部によって選択された前記データ開示方法により前記秘密データの少なくとも一部を隠ぺいして前記外部装置に送信する
請求項１から請求項１０のいずれか一項に記載の携帯可能電子装置。
【請求項１２】
前記開示処理部は、前記認証処理部によって認証された使用者と、前記使用者識別情報に対応する使用者とが一致する場合に、前記開示方法選択部によって選択された前記データ開示方法により前記秘密データの少なくとも一部を隠ぺいして前記外部装置に送信する
請求項１１に記載の携帯可能電子装置。
【請求項１３】
前記認証処理部によって前記使用者が認証されたか否かを示す認証結果情報と、前記使用者識別情報とを対応付けて記憶する認証結果記憶部を備え、
前記開示処理部は、前記外部装置から受信した前記使用者識別情報に対応付けて前記認証結果記憶部に記憶されている前記認証結果情報が、前記使用者が認証されたことを示す情報である場合に、前記開示方法選択部によって選択された前記データ開示方法により前記秘密データの少なくとも一部を隠ぺいして前記外部装置に送信する
請求項１１又は請求項１２に記載の携帯可能電子装置。
【請求項１４】
秘密データを記憶する秘密データ記憶部と、
外部装置から受信した使用者を識別する使用者識別情報に基づいて、前記秘密データ記憶部が記憶する前記秘密データを開示するデータ開示方法を選択する開示方法選択部と、
前記開示方法選択部によって選択された前記データ開示方法により前記秘密データの少なくとも一部を隠ぺいして前記外部装置に送信する開示処理部と
を備えるＩＣモジュールと、
前記ＩＣモジュールが埋め込まれたカード本体と
を備えるＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、携帯可能電子装置、及びＩＣカードに関する。
【背景技術】
【０００２】
近年、ＩＣ（Integrated Circuit）チップを内蔵したＩＣカードなどの携帯可能電子装置が広く使用されている。従来の携帯可能電子装置では、使用者に対応させて、例えば、個人情報などの秘密データを出力させるか否かを変更可能な技術が知られている。しかしながら、従来の携帯可能電子装置は、同一の秘密データのうちの開示するデータを使用者に対応させて変更させる必要がある場合に対応できずに、利便性が低下する場合があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−５４４７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、利便性を向上させることができる携帯可能電子装置、及びＩＣカードを提供することである。
【課題を解決するための手段】
【０００５】
実施形態の携帯可能電子装置は、秘密データ記憶部と、開示方法選択部と、開示処理部とを持つ。秘密データ記憶部は、秘密データを記憶する。開示方法選択部は、外部装置から受信した使用者を識別する使用者識別情報に基づいて、前記秘密データ記憶部が記憶する前記秘密データを開示するデータ開示方法を選択する。開示処理部は、前記開示方法選択部によって選択された前記データ開示方法により前記秘密データの少なくとも一部を隠ぺいして前記外部装置に送信する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態のＩＣカードの一例を示す外観図。
【図２】第１の実施形態のＩＣカードのハードウェア構成例を示す図。
【図３】第１の実施形態のＩＣカードの機能構成例を示すブロック図。
【図４】第１の実施形態の開示方法記憶部のデータ例を示す図。
【図５】第１の実施形態のデータ開示要求コマンドのデータフォーマット例を示す図。
【図６】第１の実施形態のデータ開示要求コマンドに対する正常レスポンスの一例を示す図。
【図７】第１の実施形態のデータ開示要求コマンドに対する異常レスポンスの一例を示す図。
【図８】第１の実施形態のデータ開示要求コマンドの動作の一例を示す図。
【図９】第１の実施形態のデータ開示要求コマンドの動作の別の一例を示す図。
【図１０】第１の実施形態のデータ開示要求コマンドの動作の一例を示すフローチャート。
【図１１】第２の実施形態のＩＣカードの機能構成例を示すブロック図。
【図１２】第２の実施形態のデータ開示要求コマンドに対する異常レスポンスの一例を示す図。
【図１３】第２の実施形態のデータ開示要求コマンドの動作の一例を示す図。
【図１４】第２の実施形態のデータ開示要求コマンドの動作の一例を示すフローチャート。
【図１５】第３の実施形態のＩＣカードの機能構成例を示すブロック図。
【図１６】第３の実施形態のデータ開示方法登録コマンドのデータフォーマット例を示す図。
【図１７】第３の実施形態のデータ開示方法登録コマンドの動作の一例を示す図。
【図１８】第３の実施形態のデータ開示方法登録コマンドの動作の一例を示すフローチャート。
【図１９】第４の実施形態のＩＣカードの機能構成例を示すブロック図。
【図２０】第４の実施形態の開示方法記憶部のデータ例を示す図。
【図２１】第４の実施形態のデータ開示要求コマンドに対する正常レスポンスの一例を示す図。
【図２２】第４の実施形態のデータ開示要求コマンドの動作の一例を示す図。
【図２３】第４の実施形態のデータ開示要求コマンドの動作の一例を示すフローチャート。
【図２４】第５の実施形態のＩＣカードの機能構成例を示すブロック図。
【図２５】第５の実施形態のデータ開示要求コマンドのデータフォーマット例を示す図。
【図２６】第５の実施形態のデータ開示要求コマンドの動作の一例を示す図。
【図２７】第５の実施形態のデータ開示要求コマンドの動作の一例を示すフローチャート。
【図２８】第６の実施形態のＩＣカードの機能構成例を示すブロック図。
【図２９】第６の実施形態の認証コマンドのデータフォーマット例を示す図。
【図３０】第６の実施形態の認証コマンド及びデータ開示要求コマンドの動作の一例を示す図。
【図３１】第６の実施形態の認証コマンドの動作の一例を示すフローチャート。
【図３２】第６の実施形態のデータ開示要求コマンドの動作の一例を示すフローチャート。
【図３３】第７の実施形態のＩＣカードの機能構成例を示すブロック図。
【図３４】第７の実施形態の認証情報記憶部のデータ例を示す図。
【図３５】第７の実施形態の認証結果記憶部のデータ例を示す図。
【図３６】第７の実施形態の認証コマンドの動作の一例を示すフローチャート。
【図３７】第７の実施形態のデータ開示要求コマンドの動作の一例を示すフローチャート。
【図３８】第８の実施形態のＩＣカードの機能構成例を示すブロック図。
【図３９】第８の実施形態の認証情報記憶部のデータ例を示す図。
【発明を実施するための形態】
【０００７】
以下、実施形態の携帯可能電子装置、及びＩＣカードを、図面を参照して説明する。
【０００８】
（第１の実施形態）
図１は、第１の実施形態のＩＣカード１の一例を示す外観図である。
図１に示すように、ＩＣカード１は、ＩＣモジュール１０を備える。ＩＣモジュール１０は、ＩＣカード１が接触式ＩＣカードの場合は、コンタクト部３と、内部にＩＣチップ１００とを備える。
【０００９】
なお、ＩＣカード１が非接触式ＩＣカードの場合は、ＩＣモジュール１０は、内部にアンテナ部とＩＣチップ１００とを備える。ＩＣカード１は、例えば、プラスチックのカード基材ＰＴ（カード本体の一例）に、ＩＣモジュール１０を実装して形成されている。すなわち、ＩＣカード１は、ＩＣモジュール１０と、ＩＣモジュール１０が埋め込まれたカード基材ＰＴとを備えている。また、ＩＣカード１は、コンタクト部３を介して外部装置２と通信可能である。
なお、本実施形態では、携帯可能電子装置の一例として、ＩＣカード１について説明する。
【００１０】
ＩＣカード１は、例えば、外部装置２が送信したコマンド（処理要求）を、コンタクト部３を介して受信し、受信したコマンドに応じた処理（コマンド処理）を実行する。そして、ＩＣカード１は、コマンド処理の実行結果であるレスポンス（処理応答）を外部装置２にコンタクト部３を介して送信する。
ここで、外部装置２は、ＩＣカード１と通信する装置であり、例えば、リーダ／ライタ装置を含む端末装置などである。
【００１１】
ＩＣモジュール１０は、コンタクト部３と、ＩＣチップ１００とを備え、例えば、テープ上にＩＣモジュール１０が複数配置されたＣＯＴ（Chip On Tape）などの形態で取引されるモジュールである。
【００１２】
ＩＣモジュール１０は、コンタクト部３と、ＩＣチップ１００とを備え、例えば、テープ上にＩＣモジュール１０が複数配置されたＣＯＴ（Chip On Tape）などの形態で取引されるモジュールである。なお、テープから個片抜きして切り離した単体のＩＣモジュール１０をＣＯＴという場合がある。
【００１３】
コンタクト部３は、ＩＣカード１が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子は、電源電圧、クロック信号、リセット信号などを外部装置２から供給を受ける端子、及び、外部装置２と通信するためのシリアルデ―タ入出力端子（ＳＩＯ端子）を有する。
ＩＣチップ１００は、例えば、１チップのマイクロプロセッサなどのＬＳＩ（Large Scale Integration）である。
【００１４】
次に、図２を参照して、本実施形態のＩＣカード１のハードウェア構成について説明する。
図２は、本実施形態のＩＣカード１のハードウェア構成例を示す図である。
図２に示すように、ＩＣカード１は、コンタクト部３と、ＩＣチップ１００とを備えたＩＣモジュール１０を備えている。そして、ＩＣチップ１００は、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）４と、ＣＰＵ５と、ＲＯＭ（Read Only Memory）６と、ＲＡＭ（Random Access Memory）７と、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）８とを備えている。また、各構成（４乃至８）は、内部バスＢＳ１を介して接続されている。
【００１５】
ＵＡＲＴ４は、上述したＳＩＯ端子を介して、外部装置２とシリアルデータ通信を行う。ＵＡＲＴ４は、ＳＩＯ端子を介して受信したシリアルデータ信号をパラレル変換したデータ（例えば、１バイトのデータ）を内部バスＢＳ１に出力する。また、ＵＡＲＴ４は、内部バスＢＳ１を介して取得したデータをシリアル変換して、ＳＩＯ端子を介して外部装置２に出力する。ＵＡＲＴ４は、例えば、ＳＩＯ端子を介してコマンドを外部装置２から受信する。また、ＵＡＲＴ４は、ＳＩＯ端子を介してレスポンスを外部装置２に送信する。
【００１６】
ＣＰＵ５は、ＲＯＭ６又はＥＥＰＲＯＭ８に記憶されているプログラムを実行して、ＩＣカード１の各種処理を行う。ＣＰＵ５は、例えば、コンタクト部３を介して、ＵＡＲＴ４が受信したコマンドに応じたコマンド処理を実行する。
【００１７】
ＲＯＭ６は、例えば、マスクＲＯＭなどの不揮発性メモリであり、ＩＣカード１の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。
ＥＥＰＲＯＭ８は、例えば、電気的に書き換え可能な不揮発性メモリである。ＥＥＰＲＯＭ８は、ＩＣカード１が利用する各種データを記憶する。ＥＥＰＲＯＭ８は、例えば、ＩＣカード１を利用した各種サービス（アプリケーション）に使用される情報を記憶する。
ＲＡＭ７は、例えば、ＳＲＡＭ（Static RAM）などの揮発性メモリであり、ＩＣカード１の各種処理を行う際に利用されるデータを一時記憶する。
【００１８】
次に、図３を参照して、本実施形態によるＩＣカード１の機能構成例について説明する。
図３は、本実施形態のＩＣカード１の機能構成例を示すブロック図である。
図３に示すように、ＩＣカード１は、通信部４０と、制御部５０と、秘密データ記憶部８１と、開示方法記憶部８２とを備えている。
ここで、図３に示されるＩＣカード１の各部は、図２に示されるＩＣカード１のハードウェアを用いて実現される。
【００１９】
通信部４０は、例えば、ＵＡＲＴ４と、ＣＰＵ５と、ＲＯＭ６に記憶されているプログラムとにより実現され、コンタクト部３を介して、例えば、外部装置２との間でコマンド及びレスポンスの送受信を行う。すなわち、通信部４０は、所定の処理を要求するコマンド（処理要求）を外部装置２から受信するとともに、コマンドに対するレスポンス（処理応答）を外部装置２に送信する。
【００２０】
秘密データ記憶部８１は、例えば、ＥＥＰＲＯＭ８により構成された記憶部である。秘密データ記憶部８１は、秘密データを記憶する。ここで、秘密データには、例えば、カード所有者（カードホルダ）の国籍、住所、氏名、性別、生年月日、年齢、電話番号などの個人情報などが含まれる。秘密データ記憶部８１は、例えば、複数の秘密データを記憶しており、各秘密データには、データ識別子（データ識別情報の一例）が付与されている。秘密データ記憶部８１は、例えば、データ識別子と秘密データとを対応付けて記憶している。
【００２１】
開示方法記憶部８２は、例えば、ＥＥＰＲＯＭ８又はＲＯＭ６により構成された記憶部である。開示方法記憶部８２は、上述した秘密データを外部装置２に送信する際のデータ開示方法を示す開示方法情報を記憶する。ここで、図４を参照して、開示方法記憶部８２が記憶するデータ例について説明する。
【００２２】
図４は、本実施形態の開示方法記憶部８２のデータ例を示す図である。
図４に示すように、開示方法記憶部８２は、「ユーザ識別子」と、「データ識別子」に対応する開示方法情報とを対応付けて記憶する。ここで、「ユーザ識別子」は、ＩＣカード１の使用者を識別する使用者識別情報である。「ユーザ識別子」は、例えば、使用者の氏名、使用者の識別コードなどであってもよい。なお、使用者には、例えば、カード所有者、及びカード所有者の関係者（例えば、家族など）の他に、ＩＣカード１を利用するサービスを提供する企業、行政機関、団体などが含まれる。
【００２３】
また、データ識別子は、秘密データを識別するデータ識別情報であり、例えば、秘密データの識別データ、秘密データに対応するＤＧＩ（Data Grouping Identifier）、秘密データが記憶されているＥＦ（Elementary File）を示すファイルＩＤなどであってもよい。
開示方法記憶部８２は、「ユーザ識別子」と、「データ識別子」に対応する開示方法情報との組を複数有する開示方法テーブルを記憶する。なお、本実施形態において、開示方法テーブルは、予め開示方法記憶部８２に記憶されているものとする。
【００２４】
また、開示方法情報は、例えば、秘密データのうちの開示する範囲を示す情報、又はマスク（隠ぺい）する範囲を示す情報である。例えば、開示方法情報は、秘密データのうちの開示する（又はマスクする）先頭位置及びデータ長を示す情報であってもよいし、秘密データのうちの開示する（又はマスクする）データ項目を示す情報であってもよい。ここで、例えば、秘密データが住所である場合には、都道府県、市町村などがデータ項目に相当し、秘密データが生年月日である場合には、誕生年（西暦）、誕生月などがデータ項目に相当する。すなわち、開示方法情報は、例えば、住所のうちの都道府県を開示し、その他の項目をマスクする開示方法を示す情報や、生年月日のうちの誕生年（西暦）を開示し、その他の項目をマスクする開示方法を示す情報などであってもよい。
【００２５】
また、秘密データが、例えば、ＴＬＶ（Tag Length Value）形式により各データ項目に分かれて秘密データ記憶部８１に記憶されている場合には、開示方法情報は、例えば、秘密データのうちの開示する（又はマスクする）タグ（Tag）を示す情報であってもよい。このように、開示方法情報は、後述する開示処理部５２による秘密データの開示処理（マスク処理）をするためのパラメータ情報である。
例えば、図４に示す例では、「ユーザ識別子」が“Ａ”及び「データ識別子」が“０１”に対応する開示方法情報が、“開示方法情報Ａ０１”であることを示している。また、例えば、「ユーザ識別子」が“Ａ”及び「データ識別子」が“０２”に対応する開示方法情報が、“開示方法情報Ａ０２”であることを示している。ここで、“開示方法情報Ａ０１”及び“開示方法情報Ａ０２”は、上述したように、秘密データのうちの開示する範囲、又はマスク（隠ぺい）する範囲を示す情報である。
【００２６】
図３に戻り、制御部５０は、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１を統括的に制御する。制御部５０は、例えば、外部装置２からＩＣカード１に送信されたコマンド（処理要求）に応じて、各種コマンドの処理（コマンド処理）を実行する。制御部５０は、例えば、秘密データ記憶部８１が記憶する秘密データの少なくとも一部を隠ぺい（マスク）して外部装置２に送信するデータ開示要求コマンドの処理を実行する。データ開示要求コマンドは、図５に示すようなデータフォーマットである。
【００２７】
図５は、本実施形態のデータ開示要求コマンドのデータフォーマット例を示す図である。データ開示要求コマンドのコマンド電文のＡＰＤＵ（Application Protocol Data Unit）のフォーマットは、ヘッダ部とデータ部とを有している。データ開示要求コマンドのヘッダ部は、「ＣＬＡ」（クラスバイト）、「ＩＮＳ」（命令バイト）、「Ｐ１」（パラメータ１）、「Ｐ２」（パラメータ２）、「Ｌｃ」（データ長）を有している。また、データ開示要求コマンドのデータ部は、「ユーザ識別子」と、「データ識別子」とを有している。図５に示す例では、「ユーザ識別子」が“Ａ”であり、「データ識別子」が“０１”であるデータ開示要求コマンドを示している。
【００２８】
また、制御部５０は、データ開示要求コマンドを正常に実行した場合に、図６に示すような正常レスポンスを、通信部４０を介して外部装置２に送信する。また、制御部５０は、データ開示要求コマンドを正常に実行できなかった場合に、図７に示すような異常レスポンスを、通信部４０を介して外部装置２に送信する。
図６は、本実施形態のデータ開示要求コマンドに対する正常レスポンスの一例を示す図である。制御部５０は、データ開示要求コマンドを正常に実行した場合に、図６に示すように、少なくとも一部をマスクした秘密データ（例えば、“１２３４５ＸＸＸＸＸ”）と、正常終了を示すステータスバイト（例えば、“９０００”）とを含むレスポンスを、通信部４０を介して外部装置２に送信する。なお、図６に示す例では、秘密データは、例えば、“１２３４５６７８９０”であり、当該秘密データのうちの“１２３４５”を開示し、“６７８９０”を“Ｘ”によりマスクした例を示している。また、以下の説明において、正常終了を示すステータスバイトを正常終了ステータスバイトという。
【００２９】
また、図７は、本実施形態のデータ開示要求コマンドに対する異常レスポンスの一例を示す図である。制御部５０は、データ開示要求コマンドを正常に実行できなかった場合に、図７に示すように、異常終了を示すステータスバイト（例えば、“ｚｚｚｚ”）を含むレスポンスを、通信部４０を介して外部装置２に送信する。
また、図３の説明に戻り、制御部５０は、開示方法選択部５１と、開示処理部５２とを備えている。
【００３０】
開示方法選択部５１は、外部装置２から通信部４０を介して受信したユーザ識別子に基づいて、秘密データ記憶部８１が記憶する秘密データを開示するデータ開示方法を選択する。開示方法選択部５１は、例えば、開示方法記憶部８２の開示方法テーブルからユーザ識別子に対応する開示方法情報を取得する。すなわち、開示方法選択部５１は、データ開示要求コマンドに含まれるユーザ識別子及びデータ識別子に対応する開示方法情報を、開示方法記憶部８２の開示方法テーブルから取得し、開示処理部５２に出力する。なお、開示方法選択部５１は、データ開示要求コマンドに含まれるユーザ識別子及びデータ識別子に対応する開示方法情報が開示方法テーブルに存在しない場合に、対応する開示方法情報が存在しないことを示す情報を開示処理部５２に出力する。
【００３１】
開示処理部５２は、開示方法選択部５１によって選択されたデータ開示方法により秘密データの少なくとも一部を隠ぺい（マスク）して外部装置２に送信する。すなわち、開示処理部５２は、開示方法選択部５１によって選択されたデータ開示方法により、共通する秘密データに対して、使用者に応じて異なる範囲の情報を開示して通信部４０を介して外部装置２に送信する。開示処理部５２は、例えば、開示方法選択部５１によって取得された開示方法情報に基づいて、データ識別子に対応する秘密データの少なくとも一部をマスクして外部装置２に送信する。
【００３２】
開示処理部５２は、例えば、データ開示要求コマンドに含まれるデータ識別子に対応する秘密データを秘密データ記憶部８１から取得する。開示処理部５２は、取得した秘密データを、開示方法選択部５１から取得した開示方法情報により、少なくとも一部をマスクする。ここで、開示処理部５２は、開示方法情報が示すマスク範囲（隠ぺいする範囲）を所定のデータ（固定のデータ）によりマスクしてもよいし、乱数などのランダムなデータによりマスクしてもよい。開示処理部５２は、例えば、図６に示すような、少なくとも一部をマスクした秘密データと、正常終了ステータスバイトを含むレスポンスを、通信部４０を介して外部装置２に送信する。また、開示処理部５２は、データ開示要求コマンドに含まれるユーザ識別子が開示方法テーブルに存在しない場合に、図７に示すようなエラーステータスバイト（異常終了を示すステータスバイト）を含むレスポンスを、通信部４０を介して外部装置２に送信する。
【００３３】
次に、図面を参照して、本実施形態のＩＣカード１の動作について説明する。
図８は、本実施形態のＩＣカード１におけるデータ開示要求コマンドの動作の一例を示す図である。なお、図８に示す例は、データ開示要求コマンドが正常に実行された場合の一例を示している。
図８に示すように、まず、外部装置２が、データ開示要求コマンドをＩＣカード１に送信する（ステップＳ１１）。すなわち、外部装置２が、図５に示すようなユーザ識別子及びデータ識別子を含むデータ開示要求コマンドを送信する。これにより、ＩＣカード１の制御部５０は、通信部４０を介して、当該データ開示要求コマンドを受信する。
【００３４】
次に、ＩＣカード１は、データ開示要求コマンドに対する内部処理を実行する（ステップＳ１２）。すなわち、制御部５０の開示方法選択部５１は、ユーザ識別子及びデータ識別子に対応する開示方法情報を、開示方法記憶部８２の開示方法テーブルから取得し、開示処理部５２に出力する。そして、開示処理部５２は、データ識別子に対応する秘密データを秘密データ記憶部８１から取得し、取得した当該秘密データを、開示方法選択部５１によって取得された開示方法情報に基づいて、一部のデータをマスクする。
【００３５】
次に、ＩＣカード１は、データ開示要求コマンドに対するレスポンスを外部装置２に送信する（ステップＳ１３）。すなわち、開示処理部５２は、一部をマスクした秘密データと、正常終了ステータスバイトを含むレスポンスを、通信部４０を介して、外部装置２に送信する。
【００３６】
図９は、本実施形態のＩＣカード１におけるデータ開示要求コマンドの動作の別の一例を示す図である。なお、図９に示す例は、データ開示要求コマンドが正常に実行されなかった場合（ユーザ識別子が開示方法テーブルに存在しない場合）の一例を示している。
図９に示すように、まず、外部装置２が、データ開示要求コマンドをＩＣカード１に送信する（ステップＳ１４）。この処理は、上述した図８に示すステップＳ１１の処理と同様である。
【００３７】
次に、ＩＣカード１は、データ開示要求コマンドに対する内部処理を実行する（ステップＳ１５）。ここで、制御部５０の開示方法選択部５１は、ユーザ識別子及びデータ識別子に対応する開示方法情報を、開示方法記憶部８２の開示方法テーブルから検索するが、ユーザ識別子が開示方法テーブルに存在しないため、対応する開示方法情報が存在しないことを示す情報を開示処理部５２に出力する。開示処理部５２は、エラーステータスバイトを含むレスポンスを生成する。
【００３８】
次に、ＩＣカード１は、データ開示要求コマンドに対するレスポンスを外部装置２に送信する（ステップＳ１６）。すなわち、開示処理部５２は、エラーステータスバイトを含むレスポンスを、通信部４０を介して外部装置２に送信する。
【００３９】
次に、図１０を参照して、ＩＣカード１のデータ開示要求コマンドの処理について説明する。
図１０は、本実施形態のデータ開示要求コマンドの動作の一例を示すフローチャートである。
図１０に示すように、まず、ＩＣカード１の制御部５０は、コマンドを受信したか否かを判定する（ステップＳ１０１）。制御部５０は、通信部４０によってコマンドが受信されたか否かを判定する。制御部５０は、コマンドを受信した場合（ステップＳ１０１：ＹＥＳ）に、処理をステップＳ１０２に進める。また、制御部５０は、コマンドを受信していない場合（ステップＳ１０１：ＮＯ）に、処理をステップＳ１０１に戻す。
【００４０】
ステップＳ１０２において、制御部５０は、コマンドを取得する。すなわち、制御部５０は、通信部４０によって受信されたコマンド電文を取得する。
次に、制御部５０は、受信したコマンドがデータ開示要求コマンドであるか否かを判定する（ステップＳ１０３）。制御部５０は、受信したコマンドがデータ開示要求コマンドである場合（ステップＳ１０３：ＹＥＳ）に、処理をステップＳ１０４に進める。また、制御部５０は、受信したコマンドがデータ開示要求コマンドでない場合（ステップＳ１０３：ＮＯ）に、処理をステップＳ１０９に進める。
【００４１】
ステップＳ１０４において、制御部５０の開示方法選択部５１は、開示方法記憶部８２の開示方法テーブルに、受信したユーザ識別子が存在するか否かを判定する。開示方法選択部５１は、例えば、受信したデータ開示要求コマンドに含まれるユーザ識別子及びデータ識別子に対応する開示方法情報が開示方法テーブルに存在するか否かを判定する。開示方法選択部５１は、受信したユーザ識別子（開示方法情報）が開示方法テーブルに存在する場合（ステップＳ１０４：ＹＥＳ）に、処理をステップＳ１０５に進める。また、開示方法選択部５１は、受信したユーザ識別子（開示方法情報）が開示方法テーブルに存在しない場合（ステップＳ１０４：ＮＯ）に、処理をステップＳ１０８に進める。
【００４２】
ステップＳ１０５において、開示方法選択部５１は、開示方法テーブルから受信したユーザ識別子に対応する開示方法情報を取得する。すなわち、開示方法選択部５１は、受信したデータ開示要求コマンドに含まれるユーザ識別子及びデータ識別子に対応する開示方法情報を、開示方法記憶部８２の開示方法テーブルから取得する。
【００４３】
次に、制御部５０の開示処理部５２は、開示方法選択部５１によって取得された開示方法情報に基づいて、秘密データの一部をマスクする（ステップＳ１０６）。開示処理部５２は、受信したデータ開示要求コマンドに含まれるデータ識別子に対応する秘密データを秘密データ記憶部８１から取得する。そして、開示処理部５２は、取得した当該秘密データを、開示方法選択部５１によって取得された開示方法情報に基づいて、一部をマスクする。
【００４４】
次に、開示処理部５２は、一部をマスクした秘密データを含むレスポンスを外部装置２に送信する（ステップＳ１０７）。開示処理部５２は、例えば、図６に示すような、一部をマスクした秘密データ及び正常終了ステータスバイトを含むレスポンスを、通信部４０を介して外部装置２に送信する。ステップＳ１０７の処理後に、開示処理部５２は、処理をステップＳ１０１に戻す。
【００４５】
また、ステップＳ１０８において、開示処理部５２は、エラーステータスバイトを含むレスポンスを外部装置２に送信する。すなわち、開示処理部５２は、外部装置２から受信したユーザ識別子が開示方法記憶部８２に記憶されていない場合に、図７に示すような、秘密データの開示不可を示す状態情報（エラーステータスバイト）を、通信部４０を介して外部装置２に送信する。ステップＳ１０８の処理後に、開示処理部５２は、処理をステップＳ１０１に戻す。
【００４６】
また、ステップＳ１０９において、制御部５０は、他のコマンド処理（データ開示要求コマンド以外のコマンド処理）を実行する。
次に、制御部５０は、レスポンスを外部装置２に送信する（ステップＳ１１０）。すなわち、制御部５０は、他のコマンド処理の実行結果を含むレスポンスを、通信部４０を介して外部装置２に送信する。ステップＳ１１０の処理後に、制御部５０は、処理をステップＳ１０１に戻す。
【００４７】
以上説明したように、本実施形態によるＩＣカード１（携帯可能電子装置）は、秘密データ記憶部８１と、開示方法選択部５１と、開示処理部５２とを備えている。秘密データ記憶部８１は、秘密データを記憶する。開示方法選択部５１は、外部装置２から受信した使用者を識別するユーザ識別子（使用者識別情報）に基づいて、秘密データ記憶部８１が記憶する秘密データを開示するデータ開示方法を選択する。開示処理部５２は、開示方法選択部５１によって選択されたデータ開示方法により秘密データの少なくとも一部を隠ぺい（マスク）して外部装置２に送信する。開示処理部５２は、開示方法選択部５１によって選択されたデータ開示方法により、共通する秘密データから、使用者に応じて異なる範囲の情報を開示して送信する。
これにより、本実施形態によるＩＣカード１は、秘密データのうちの開示するデータを使用者に対応させて変更することができる。すなわち、本実施形態によるＩＣカード１は、例えば、同一の秘密データのうちの開示するデータを使用者に対応させて変更させる必要がある場合に、対応させることができる。よって、本実施形態によるＩＣカード１は、利便性を向上させることができる。
【００４８】
以下、実施形態の適用例について説明する。例えば、特定の企業が、秘密データである住所のうちの都道府県を開示させて集計を取りたい場合に、特定の企業を示すユーザ識別子と、都道府県を開示し、その他のデータ項目をマスクする開示方法情報とを対応付けて開示方法記憶部８２に予め記憶させておく。ＩＣカード１は、当該特定の企業を示すユーザ識別子を受信することにより、住所のうちの都道府県を開示し、その他のデータ項目をマスクした秘密データを外部装置２に送信することが可能になる。また、例えば、酒屋やたばこ屋などで、カード所有者の年齢を取得した場合、特定の企業がカード所有者の性別を取得した場合など、本実施形態によるＩＣカード１は、同様に、対応することが可能になる。
【００４９】
また、本実施形態によるＩＣカード１は、共通する秘密データから、使用者に応じて異なる範囲の情報を開示して送信するため、同一の領域に記憶させた秘密データを様々な形式で出力することができる。そのため、本実施形態によるＩＣカード１は、使用者に応じて秘密データを様々な形式で出力するために、様々な形式の秘密データを秘密データ記憶部８１に記憶させる必要がない。よって、本実施形態によるＩＣカード１は、様々な形式の秘密データを秘密データ記憶部８１に記憶させる場合に比べて、秘密データ記憶部８１の記憶容量を低減することができる。
【００５０】
また、本実施形態によるＩＣカード１は、ユーザ識別子と、データ開示方法を示す開示方法情報とを対応付けて記憶する開示方法記憶部８２を備えている。開示方法選択部５１は、開示方法記憶部８２からユーザ識別子に対応する開示方法情報を取得する。そして、開示処理部５２は、開示方法選択部５１によって取得された開示方法情報に基づいて、秘密データの少なくとも一部を隠ぺいして外部装置２に送信する。
これにより、本実施形態によるＩＣカード１は、開示方法記憶部８２を備えるという簡易な手段により、秘密データのうちの開示するデータを使用者に対応させて変更することができる。
【００５１】
また、本実施形態では、開示方法情報には、秘密データの開示する範囲を示す情報、又は、秘密データの隠ぺいする範囲を示す情報が含まれる。すなわち、開示方法記憶部８２は、秘密データの開示する範囲を示す情報、又は、秘密データの隠ぺいする範囲を示す情報が含まれる開示方法情報を記憶する。
これにより、本実施形態によるＩＣカード１は、使用者に対応させて、秘密データの所定の範囲のデータを適切に開示又は隠ぺいして外部装置２に送信させることができる。
【００５２】
また、本実施形態では、開示方法情報には、秘密データの開示するデータ項目を示す情報、又は、秘密データの隠ぺいするデータ項目を示す情報が含まれる。すなわち、開示方法記憶部８２は、秘密データの開示するデータ項目を示す情報、又は、秘密データの隠ぺいするデータ項目を示す情報が含まれる開示方法情報を記憶する。
これにより、本実施形態によるＩＣカード１は、使用者に対応させて、データ項目単位で秘密データを適切に開示又は隠ぺいして外部装置２に送信させることができる。
【００５３】
また、本実施形態では、開示処理部５２は、外部装置２から受信したユーザ識別子が開示方法記憶部８２に記憶されていない場合に、秘密データの開示不可を示す状態情報（例えば、エラーステータスバイト）を外部装置２に送信する。
これにより、本実施形態によるＩＣカード１は、秘密データを開示不可である使用者に対して、開示不可であることを明確に通知することができる。
【００５４】
なお、上述した本実施形態では、開示処理部５２が、開示方法情報に基づいて、秘密データの一部を隠ぺいする例を説明したが、開示方法情報に基づいて、秘密データの全部を隠ぺいする場合が含まれていてもよい。
また、上述した本実施形態では、開示方法情報が、秘密データの開示処理（マスク処理）をするためのパラメータ情報である例を説明したが、予め定められた開示方法のうちの１つの方法を選択する選択データであってもよい。
【００５５】
（第２の実施形態）
次に、図面を参照して、第２の実施形態のＩＣカード１ａについて説明する。
図１１は、本実施形態のＩＣカード１ａの機能構成例を示すブロック図である。
なお、本実施形態のＩＣカード１ａの外観図及びハード構成は、図１及び図２に示す第１の実施形態と同様であるのでその説明を省略する。また、図１１において、図３に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
【００５６】
図１１に示すように、ＩＣカード１ａは、通信部４０と、制御部５０ａと、秘密データ記憶部８１と、開示方法記憶部８２とを備えている。また、制御部５０ａは、開示方法選択部５１と、開示処理部５２ａとを備えている。
本実施形態では、制御部５０ａの開示処理部５２ａの処理が、第１の実施形態と異なる。
【００５７】
制御部５０ａは、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１ａを統括的に制御する。制御部５０ａは、開示処理部５２ａを備える点を除いて第１の実施形態の制御部５０と同様である。
【００５８】
開示処理部５２ａは、データ開示要求コマンドに含まれるユーザ識別子が開示方法テーブルに存在しない場合に、図１２に示すような全体をマスクした秘密データ及びエラーステータスバイトを含むレスポンスを送信する。
図１２は、本実施形態のデータ開示要求コマンドに対する異常レスポンスの一例を示す図である。制御部５０ａの開示処理部５２ａは、データ開示要求コマンドを正常に実行できなかった場合に、図１２に示すように、全体をマスクした秘密データ（例えば、“ＸＸＸＸＸＸＸＸＸＸ”）と、エラーステータスバイト（例えば、“ｚｚｚｚ”）を含むレスポンスを、通信部４０を介して外部装置２に送信する。
なお、開示処理部５２ａのその他の処理は、第１の実施形態の開示処理部５２と同様である。
【００５９】
次に、図面を参照して、本実施形態のＩＣカード１ａの動作について説明する。
図１３は、本実施形態のＩＣカード１ａにおけるデータ開示要求コマンドの動作の一例を示す図である。なお、図１３に示す例は、データ開示要求コマンドが正常に実行されなかった場合（ユーザ識別子が開示方法テーブルに存在しない場合）の一例を示している。また、本実施形態において、データ開示要求コマンドが正常に実行された場合の動作は、図８に示す第１の実施形態と同様であるので、ここではその説明を省略する。
【００６０】
図１３に示すように、まず、外部装置２が、データ開示要求コマンドをＩＣカード１ａに送信する（ステップＳ２１）。この処理は、上述した図９に示すステップＳ１４の処理と同様である。
【００６１】
次に、ＩＣカード１ａは、データ開示要求コマンドに対する内部処理を実行する（ステップＳ２２）。ここで、制御部５０ａの開示方法選択部５１は、ユーザ識別子及びデータ識別子に対応する開示方法情報を、開示方法記憶部８２の開示方法テーブルから検索するが、ユーザ識別子が開示方法テーブルに存在しないため、対応する開示方法情報が存在しないことを示す情報を開示処理部５２ａに出力する。開示処理部５２ａは、全体をマスクした秘密データ及びエラーステータスバイトを含むレスポンスを生成する。
【００６２】
次に、ＩＣカード１ａは、データ開示要求コマンドに対するレスポンスを外部装置２に送信する（ステップＳ２３）。すなわち、開示処理部５２ａは、全体をマスクした秘密データ及びエラーステータスバイトを含むレスポンスを、通信部４０を介して外部装置２に送信する。
【００６３】
次に、図１４を参照して、ＩＣカード１ａのデータ開示要求コマンドの処理について説明する。
図１４は、本実施形態のデータ開示要求コマンドの動作の一例を示すフローチャートである。
図１４に示すように、まず、ＩＣカード１ａの制御部５０ａは、コマンドを受信したか否かを判定する（ステップＳ２０１）。なお、ステップＳ２０１からステップＳ２０７までの処理は、図１０に示すステップＳ１０１からステップＳ１０７までの処理と同様であるので、ここではその説明を省略する。
【００６４】
ステップＳ２０８において、開示処理部５２ａは、秘密データの全体をマスクする。開示処理部５２ａは、例えば、受信したデータ開示要求コマンドに含まれるデータ識別子に対応する秘密データを秘密データ記憶部８１から取得する。そして、開示処理部５２ａは、取得した当該秘密データの全体を、図１２に示すようにマスクする。
【００６５】
次に、開示処理部５２ａは、全体をマスクした秘密データ、及びエラーステータスバイトを含むレスポンスを外部装置２に送信する（ステップＳ２０９）。すなわち、開示処理部５２ａは、外部装置２から受信したユーザ識別子が開示方法記憶部８２に記憶されていない場合に、図１２に示すような、レスポンスを、通信部４０を介して外部装置２に送信する。ステップＳ２０９の処理後に、開示処理部５２ａは、処理をステップＳ１０１に戻す。
また、ステップＳ２１０及びステップＳ２１１の処理は、図１０に示すステップＳ１０９及びステップＳ１１０の処理と同様であるので、ここではその説明を省略する。
【００６６】
以上説明したように、本実施形態によるＩＣカード１ａでは、開示処理部５２ａは、外部装置２から受信したユーザ識別子が開示方法記憶部８２に記憶されていない場合に、秘密データの全体を隠ぺい（マスク）して外部装置２に送信する。
これにより、本実施形態によるＩＣカード１ａは、秘密データを開示不可である使用者に対して、開示不可であることを明確に通知することができる。また、本実施形態によるＩＣカード１ａは、秘密データの一部を開示可能である場合と、秘密データを開示不可である場合とで、レスポンスのデータ長を同一にすることができるため、例えば、外部装置２におけるレスポンスのデータ処理を共通化することができる。よって、本実施形態によるＩＣカード１ａは、外部装置２におけるレスポンスのデータ処理を第１の実施形態に比べて簡略化することができる。
【００６７】
また、上述した本実施形態では、受信したユーザ識別子が開示方法記憶部８２に記憶されていない場合に、秘密データの全体を隠ぺい（マスク）する例を説明したが、所定のデータ項目を開示するようにしてもよい。すなわち、開示処理部５２ａは、外部装置２から受信したユーザ識別子が開示方法記憶部８２に記憶されていない場合に、秘密データのうちの所定のデータを開示し、所定のデータ以外を隠ぺいして外部装置２に送信するようにしてもよい。
これにより、本実施形態によるＩＣカード１ａは、秘密データのうちの使用者に依存せずに開示可能なデータ項目を適切に開示することができる。使用者に依存せずに、例えば、国籍や国情報を開示するようにした場合には、ＩＣカード１ａを遺失した際に、国籍や国情報を知ることが可能になり、該当する国の大使館などに遺失物として届けられるなどが可能になる。
【００６８】
（第３の実施形態）
次に、図面を参照して、第３の実施形態のＩＣカード１ｂについて説明する。
図１５は、本実施形態のＩＣカード１ｂの機能構成例を示すブロック図である。
なお、本実施形態のＩＣカード１ｂの外観図及びハード構成は、図１及び図２に示す第１の実施形態と同様であるのでその説明を省略する。また、図１５において、図３に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
【００６９】
図１５に示すように、ＩＣカード１ｂは、通信部４０と、制御部５０ｂと、秘密データ記憶部８１と、開示方法記憶部８２と、署名データ記憶部８３とを備えている。また、制御部５０ｂは、開示方法選択部５１と、開示処理部５２と、登録処理部５３とを備えている。
本実施形態では、ＩＣカード１ｂが、署名データ記憶部８３と、登録処理部５３とを備え、署名データの正当性を確認した上で、開示方法記憶部８２に開示方法情報を登録する点が、第１の実施形態と異なる。
【００７０】
署名データ記憶部８３は、例えば、ＥＥＰＲＯＭ８又はＲＡＭ７により構成された記憶部である。署名データ記憶部８３には、予め署名データが記憶されている。なお、署名データは、ＩＣカード１ｂの外部で生成されたデータであってもよいし、ＩＣカード１ｂの内部で生成されたデータであってもよい。
【００７１】
制御部５０ｂは、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１ｂを統括的に制御する。制御部５０ｂは、登録処理部５３を備える点を除いて第１の実施形態の制御部５０と同様である。
なお、本実施形態において、開示方法記憶部８２は、ＥＥＰＲＯＭ８により構成されているものとする。
【００７２】
登録処理部５３は、開示方法情報を開示方法記憶部８２に登録するデータ開示方法登録コマンドの処理を実行する。すなわち、登録処理部５３は、外部装置２から受信したデータ開示方法登録コマンド（登録要求の一例）に応じて、ユーザ識別子と、開示方法情報とを対応付けて開示方法記憶部８２に記憶させる。なお、登録処理部５３は、データ開示方法登録コマンドに含まれる署名データによる正当性が確認（保証）された場合に、開示方法情報を開示方法記憶部８２に登録する。ここで、データ開示方法登録コマンドは、図１６に示すようなデータフォーマットである。
【００７３】
図１６は、本実施形態のデータ開示方法登録コマンドのデータフォーマット例を示す図である。データ開示方法登録コマンドのコマンド電文のＡＰＤＵのフォーマットは、ヘッダ部とデータ部とを有している。データ開示方法登録コマンドのデータ部は、「データ開示方法」と、「署名データ」とを有している。ここで、「データ開示方法」には、例えば、ユーザ識別子、データ識別子、及び開示方法情報などが含まれている。
【００７４】
次に、図面を参照して、本実施形態のＩＣカード１ｂの動作について説明する。
図１７は、本実施形態のＩＣカード１ｂにおけるデータ開示方法登録コマンドの動作の一例を示す図である。なお、図１７に示す例は、データ開示方法登録コマンドが正常に実行された場合（署名データによる正当性が確認（保証）された場合）の一例を示している。
【００７５】
図１７に示すように、まず、外部装置２が、データ開示方法登録コマンドをＩＣカード１ｂに送信する（ステップＳ３１）。すなわち、外部装置２が、図１６に示すようなデータ開示方法と署名データとを含むデータ開示方法登録コマンドを送信する。これにより、ＩＣカード１ｂの制御部５０ｂは、通信部４０を介して、当該データ開示方法登録コマンドを受信する。
【００７６】
次に、ＩＣカード１ｂは、データ開示方法登録コマンドに対する内部処理を実行する（ステップＳ３２）。ここで、制御部５０ｂの登録処理部５３は、受信した署名データによる正当性の確認を実行する。登録処理部５３は、例えば、受信した署名データと、署名データ記憶部８３が記憶する署名データとを比較し、当該２つのデータが一致した場合に、署名データが正当であると判定する。登録処理部５３は、署名データによる正当性の確認された場合に、受信したデータ開示方法を開示方法記憶部８２に登録する。すなわち、登録処理部５３は、開示方法記憶部８２の開示方法テーブルに受信したデータ開示方法を追加する。そして、登録処理部５３は、正常終了ステータスバイトを含むレスポンスを生成する。
【００７７】
次に、ＩＣカード１ｂは、データ開示方法登録コマンドに対するレスポンスを外部装置２に送信する（ステップＳ３３）。すなわち、登録処理部５３は、正常終了ステータスバイトを含むレスポンスを、通信部４０を介して外部装置２に送信する。
【００７８】
本実施形態のＩＣカード１ｂは、このようにデータ開示方法登録コマンドを利用して開示方法記憶部８２にデータ開示方法を登録した後、ステップＳ３４からステップＳ３６に示すように、データ開示要求コマンドが実行可能になる。なお、ステップＳ３４からステップＳ３６までの処理は、図８に示すステップＳ１１からステップＳ１３までの処理と同様であるため、ここではその説明を省略する。
【００７９】
次に、図１８を参照して、ＩＣカード１ｂのデータ開示方法登録コマンドの処理について説明する。
図１８は、本実施形態のデータ開示方法登録コマンドの動作の一例を示すフローチャートである。
図１８に示すように、まず、ＩＣカード１ｂの制御部５０ｂは、コマンドを受信したか否かを判定する（ステップＳ３０１）。制御部５０ｂは、コマンドを受信した場合（ステップＳ３０１：ＹＥＳ）に、処理をステップＳ３０２に進める。また、制御部５０ｂは、コマンドを受信していない場合（ステップＳ３０１：ＮＯ）に、処理をステップＳ３０１に戻す。
【００８０】
ステップＳ３０２において、制御部５０ｂは、コマンドを取得する。すなわち、制御部５０ｂは、通信部４０によって受信されたコマンド電文を取得する。
次に、制御部５０ｂは、受信したコマンドがデータ開示方法登録コマンドであるか否かを判定する（ステップＳ３０３）。制御部５０ｂは、受信したコマンドがデータ開示方法登録コマンドである場合（ステップＳ３０３：ＹＥＳ）に、処理をステップＳ３０４に進める。また、制御部５０ｂは、受信したコマンドがデータ開示方法登録コマンドでない場合（ステップＳ３０３：ＮＯ）に、処理をステップＳ３０９に進める。
【００８１】
ステップＳ３０４において、制御部５０ｂの登録処理部５３は、署名データの検証処理を実行する。すなわち、登録処理部５３は、データ開示方法登録コマンドに含まれる署名データと、署名データ記憶部８３が記憶する署名データとを比較する。
次に、登録処理部５３は、署名データの正当性が検証されたか否かを判定する（ステップＳ３０５）。登録処理部５３は、例えば、データ開示方法登録コマンドに含まれる署名データと、署名データ記憶部８３が記憶する署名データとが一致した場合に、署名データの正当性が検証されたと判定する。登録処理部５３は、署名データの正当性が検証された場合（ステップＳ３０５：ＹＥＳ）に、処理をステップＳ３０６に進める。また、登録処理部５３は、署名データの正当性が検証されていない場合（ステップＳ３０５：ＮＯ）に、処理をステップＳ３０８に進める。
【００８２】
ステップＳ３０６において、登録処理部５３は、受信したデータ開示方法を開示方法記憶部８２に記憶させる。登録処理部５３は、例えば、図４に示すように、ユーザ識別子及びデータ識別子と、開示方法情報とを対応付けて開示方法記憶部８２に記憶させる。
次に、登録処理部５３は、正常終了ステータスバイトを含むレスポンスを外部装置２に送信する（ステップＳ３０７）。すなわち、登録処理部５３は、正常終了ステータスバイトを含むレスポンスを、通信部４０を介して外部装置２に送信する。ステップＳ３０７の処理後に、登録処理部５３は、処理をステップＳ３０１に戻す。
【００８３】
また、ステップＳ３０８において、登録処理部５３は、エラーステータスバイトを含むレスポンスを外部装置２に送信する。すなわち、登録処理部５３は、データ開示方法の登録が実行不可能であることを示すエラーステータスバイトを含むレスポンスを、通信部４０を介して外部装置２に送信する。ステップＳ３０８の処理後に、登録処理部５３は、処理をステップＳ３０１に戻す。
【００８４】
また、ステップＳ３０９において、制御部５０ｂは、他のコマンド処理（データ開示方法登録コマンド以外のコマンド処理）を実行する。
次に、制御部５０ｂは、レスポンスを外部装置２に送信する（ステップＳ３１０）。すなわち、制御部５０ｂは、他のコマンド処理の実行結果を含むレスポンスを、通信部４０を介して外部装置２に送信する。ステップＳ３１０の処理後に、制御部５０ｂは、処理をステップＳ３０１に戻す。
【００８５】
以上説明したように、本実施形態によるＩＣカード１ｂは、外部装置２から受信したデータ開示方法登録コマンド（登録要求）に応じて、ユーザ識別子と、開示方法情報とを対応付けて開示方法記憶部８２に記憶させる登録処理部５３を備えている。
これにより、本実施形態によるＩＣカード１ｂは、発行時に登録処理部５３によってデータ開示方法を開示方法記憶部８２に記憶させることにより、カードごとに異なるデータ開示方法を設定することができる。また、本実施形態によるＩＣカード１ｂは、データ開示方法の追加、及び変更を行うことが可能になる。
【００８６】
（第４の実施形態）
次に、図面を参照して、第４の実施形態のＩＣカード１ｃについて説明する。
本実施形態では、ＩＣカード１ｃが、複数の使用者の組合せに応じて、秘密データの開示する範囲を変更する場合の一例について説明する。
図１９は、本実施形態のＩＣカード１ｃの機能構成例を示すブロック図である。
なお、本実施形態のＩＣカード１ｃの外観図及びハード構成は、図１及び図２に示す第１の実施形態と同様であるのでその説明を省略する。また、図１９において、図３に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
【００８７】
図１９に示すように、ＩＣカード１ｃは、通信部４０と、制御部５０ｃと、秘密データ記憶部８１と、開示方法記憶部８２ａとを備えている。また、制御部５０ｃは、開示方法選択部５１ａと、開示処理部５２と、受信数判定部５４とを備えている。
本実施形態では、ＩＣカード１ｃが、複数の使用者の組合せに対応した開示方法記憶部８２ａ及び開示方法選択部５１ａと、受信数判定部５４とを備え、複数の使用者の組合せに応じて、秘密データの開示する範囲を変更する点が、第１の実施形態と異なる。
【００８８】
開示方法記憶部８２ａは、図２０に示すように、複数（例えば、２つ）のユーザ識別子（例えば、「ユーザ識別子１」、「ユーザ識別子２」）と、「データ識別子」に対応する開示方法情報とを対応付けて記憶する。
図２０は、本実施形態の開示方法記憶部８２ａのデータ例を示す図である。
開示方法記憶部８２ａは、「ユーザ識別子１」及び「ユーザ識別子２」の組合せと、「データ識別子」に対応する開示方法情報との組を複数有する開示方法テーブルを記憶する。
【００８９】
例えば、図２０に示す例では、「ユーザ識別子１」が“Ａ”及び「ユーザ識別子２」が“Ｖ”の組合せと、「データ識別子」が“０１”とに対応する開示方法情報が、“開示方法情報ＡＶ０１”であることを示している。また、例えば、「ユーザ識別子１」が“Ａ”及び「ユーザ識別子２」が“Ｖ”の組と、「データ識別子」が“０２”とに対応する開示方法情報が、“開示方法情報ＡＶ０２”であることを示している。ここで、“開示方法情報ＡＶ０１”及び“開示方法情報ＡＶ０２”は、秘密データのうちの開示する範囲、又はマスク（隠ぺい）する範囲を示す情報である。
【００９０】
制御部５０ｃは、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１ｃを統括的に制御する。制御部５０ｃは、開示方法選択部５１の代わりに開示方法選択部５１ａを備えるとともに、受信数判定部５４を備えるい点を除いて第１の実施形態の制御部５０と同様である。
【００９１】
開示方法選択部５１ａは、外部装置２から通信部４０を介して受信した２つのユーザ識別子に基づいて、秘密データ記憶部８１が記憶する秘密データを開示するデータ開示方法を選択する。開示方法選択部５１ａは、例えば、開示方法記憶部８２ａの開示方法テーブルから２つのユーザ識別子に対応する開示方法情報を取得する。すなわち、開示方法選択部５１ａは、データ開示要求コマンドにより受信した「ユーザ識別子１」及び「ユーザ識別子２」の組と、データ識別子とに対応する開示方法情報を、開示方法記憶部８２ａの開示方法テーブルから取得し、開示処理部５２に出力する。なお、開示方法選択部５１ａは、データ開示要求コマンドにより受信した「ユーザ識別子１」及び「ユーザ識別子２」の組に対応する開示方法情報が開示方法テーブルに存在しない場合に、対応する開示方法情報が存在しないことを示す情報を開示処理部５２に出力する。
【００９２】
受信数判定部５４は、データ開示要求コマンドにより外部装置２から受信したユーザ識別子の数を判定する。受信数判定部５４は、例えば、外部装置２から受信したユーザ識別子の数をカウントし、例えば、受信したユーザ識別子の数が、開示方法記憶部８２ａが開示方法情報に対応付けて記憶する複数のユーザ識別子の数（例えば、“２”）に達しているか否かを判定する。受信数判定部５４は、例えば、受信したユーザ識別子の数が、開示方法記憶部８２ａが開示方法情報に対応付けて記憶する複数のユーザ識別子の数（例えば、“２”）に達していない場合に、複数のユーザ識別子の数に達するために必要な残りの受信数を示す受信数情報を外部装置２に送信する。すなわち、受信数判定部５４は、受信したユーザ識別子の数が、例えば、“２”に達していない場合に、図２１に示すような受信数情報及び正常ステータスバイトを含むレスポンスを、通信部４０を介して外部装置２に送信する。
【００９３】
図２１は、本実施形態のデータ開示要求コマンドに対する正常レスポンスの一例を示す図である。図２１に示す例は、上述したように受信したユーザ識別子の数が、例えば、“２”に達していない場合の一例である。
受信したユーザ識別子の数が、例えば、“２”に達していない場合には、レスポンスには、図２１に示すように、「残りの受入可能数」（受信数情報）と、「ステータスバイト」（正常終了ステータスバイト）を含んでいる。図２１に示す例では、受信数判定部５４は、「残りの受入可能数」が“１”及び「ステータスバイト」が“９０００”を含むレスポンスを、通信部４０を介して外部装置２に送信する。
【００９４】
また、受信数判定部５４は、外部装置２から受信したユーザ識別子の数が、例えば、“２”に達している場合に、開示方法選択部５１ａに、開示方法記憶部８２ａから２つのユーザ識別子に対応する開示方法情報を取得させる。
なお、開示処理部５２は、開示方法選択部５１ａによって取得された開示方法情報に基づいて、データ識別子に対応する秘密データの少なくとも一部をマスクして外部装置２に送信する。また、外部装置２から受信したユーザ識別子の数をカウントは、例えば、秘密データの少なくとも一部をマスクして外部装置２に送信した場合に、クリア（リセット）する。
【００９５】
次に、図面を参照して、本実施形態のＩＣカード１ｃの動作について説明する。
図２２は、本実施形態のＩＣカード１ｃにおけるデータ開示要求コマンドの動作の一例を示す図である。なお、図２２に示す例は、データ開示要求コマンドが正常に実行された場合の一例を示している。また、この図において、カード使用者Ｕ１は、ユーザ識別子が“Ａ”に対応するＩＣカード１ｃの使用者を示し、カード使用者Ｕ２は、ユーザ識別子が“Ｖ”に対応するＩＣカード１ｃの使用者を示している。
【００９６】
図２２に示すように、まず、外部装置２が、ユーザ情報の入力要求をする（ステップＳ４１）。外部装置２は、例えば、カード使用者Ｕ１に対して、ユーザ情報の入力を促す表示を行う。
次に、カード使用者Ｕ１が、ユーザ情報及びデータ指定情報を外部装置２に入力する（ステップＳ４２）。外部装置２は、カード使用者Ｕ１からユーザ情報及びデータ指定情報を受け付けて、ユーザ認証を行うとともに、カード使用者Ｕ１に対応するユーザ識別子（Ａ）、及びデータ指定情報に対応するデータ識別子を含むデータ開示要求コマンドを生成する。
【００９７】
次に、外部装置２は、ユーザ識別子（Ａ）及びデータ識別子を含むデータ開示要求コマンドをＩＣカード１ｃに送信する（ステップＳ４３）。これにより、ＩＣカード１ｃの制御部５０ｃは、通信部４０を介して、当該データ開示要求コマンドを受信する。
【００９８】
次に、ＩＣカード１ｃは、データ開示要求コマンドに対する内部処理を実行する（ステップＳ４４）。すなわち、制御部５０ｃの受信数判定部５４は、外部装置２から受信したユーザ識別子の数をカウントし、例えば、受信したユーザ識別子の数が、“２”に達しているか否かを判定する。この場合、受信したユーザ識別子の数が、“２”に達していないため、受信数判定部５４は、図２１に示すように、「残りの受入可能数」が“１”及び「ステータスバイト」が“９０００”を含むレスポンスを生成する。
【００９９】
次に、ＩＣカード１ｃは、残りの受入可能数（１）及び正常ステータスバイトを含むレスポンスを外部装置２に送信する（ステップＳ４５）。すなわち、受信数判定部５４は、図２１に示すように、「残りの受入可能数」が“１”及び「ステータスバイト」が“９０００”を含むレスポンスを、通信部４０を介して外部装置２に送信する。
【０１００】
次に、外部装置２が、ユーザ情報の入力要求をする（ステップＳ４６）。外部装置２は、例えば、カード使用者Ｕ２に対して、ユーザ情報の入力を促す表示を行う。
次に、カード使用者Ｕ２が、ユーザ情報及びデータ指定情報を外部装置２に入力する（ステップＳ４７）。外部装置２は、カード使用者Ｕ２からユーザ情報及びデータ指定情報を受け付けて、ユーザ認証を行うとともに、カード使用者Ｕ２に対応するユーザ識別子（Ｖ）、及びデータ指定情報に対応するデータ識別子を含むデータ開示要求コマンドを生成する。
【０１０１】
次に、外部装置２は、ユーザ識別子（Ｖ）及びデータ識別子を含むデータ開示要求コマンドをＩＣカード１ｃに送信する（ステップＳ４８）。これにより、ＩＣカード１ｃの制御部５０ｃは、通信部４０を介して、当該データ開示要求コマンドを受信する。
【０１０２】
次に、ＩＣカード１ｃは、データ開示要求コマンドに対する内部処理を実行する（ステップＳ４９）。すなわち、受信数判定部５４は、外部装置２から受信したユーザ識別子の数をカウントし、例えば、受信したユーザ識別子の数が、“２”に達しているか否かを判定する。この場合、受信したユーザ識別子の数が、“２”に達しているため、受信数判定部５４は、開示方法選択部５１ａに、開示方法記憶部８２ａから２つのユーザ識別子に対応する開示方法情報を取得させる。開示方法選択部５１ａは、２つのユーザ識別子（ユーザ識別子（Ａ）及びユーザ識別子（Ｖ））と、受信したデータ識別子とに対応する開示方法情報を開示方法記憶部８２ａの開示方法テーブルから取得し、開示処理部５２に出力する。そして、開示処理部５２は、データ識別子に対応する秘密データを秘密データ記憶部８１から取得し、取得した当該秘密データを、開示方法選択部５１ａによって取得された開示方法情報に基づいて、一部のデータをマスクする。
【０１０３】
次に、ＩＣカード１ｃは、データ開示要求コマンドに対するレスポンスを外部装置２に送信する（ステップＳ５０）。すなわち、開示処理部５２は、一部をマスクした秘密データと、正常終了ステータスバイトを含むレスポンスを、通信部４０を介して、外部装置２に送信する。
次に、外部装置２は、一部がマスクされた秘密データを表示する（ステップＳ５１）。これにより、一部がマスクされた秘密データが開示され、カード使用者Ｕ１及びカード使用者Ｕ２は、例えば、外部装置２の表示により、一部がマスクされた秘密データを確認する。
【０１０４】
次に、図２３を参照して、ＩＣカード１ｃのデータ開示要求コマンドの処理について説明する。
図２３は、本実施形態のデータ開示要求コマンドの動作の一例を示すフローチャートである。
図２３に示すように、まず、ＩＣカード１ｃの制御部５０ｃは、コマンドを受信したか否かを判定する（ステップＳ４０１）。なお、ステップＳ４０１からステップＳ４０３までの処理は、図１０に示すステップＳ１０１からステップＳ１０３までの処理と同様であるので、ここではその説明を省略する。また、ステップＳ４０３において、制御部５０ｃは、受信したコマンドが開示要求コマンドである場合（ステップＳ４０３：ＹＥＳ）に、処理をステップＳ４０４に進める。また、制御部５０ｃは、受信したコマンドが開示要求コマンドでない場合（ステップＳ４０３：ＮＯ）に、処理をステップＳ４１２に進める。
【０１０５】
ステップＳ４０４において、制御部５０ｃの受信数判定部５４は、受入コマンド数が、最大値（例えば、ｎ＝２）に達したか否かを判定する。すなわち、受信数判定部５４は、外部装置２から受信したユーザ識別子の数をカウントし、例えば、受信したユーザ識別子の数が、“２”に達しているか否かを判定する。受信数判定部５４は、受入コマンド数が、最大値（例えば、ｎ＝２）に達した場合（ステップＳ４０４：ＹＥＳ）に、処理をステップＳ４０６に進める。また、受信数判定部５４は、受入コマンド数が、最大値（例えば、ｎ＝２）に達していない場合（ステップＳ４０４：ＮＯ）に、処理をステップＳ４０５に進める。
【０１０６】
ステップＳ４０５において、受信数判定部５４は、残りの受入可能数を含むレスポンスを外部装置２に送信する。すなわち、受信数判定部５４は、図２１に示すように、「残りの受入可能数」及び「ステータスバイト」を含むレスポンスを、通信部４０を介して外部装置２に送信する。ステップＳ４０５の処理後に、受信数判定部５４は、処理をステップＳ４０１に戻す。
【０１０７】
ステップＳ４０６において、受信数判定部５４は、受信した全コマンド（全データ開示要求コマンド）のデータ識別子が一致しているか否かを判定する。受信数判定部５４は、全コマンドのデータ識別子が一致している場合（ステップＳ４０６：ＹＥＳ）に、処理をステップＳ４０７に進める。また、受信数判定部５４は、全コマンドのデータ識別子が一致していない場合（ステップＳ４０６：ＮＯ）に、処理をステップＳ４１１に進める。
【０１０８】
ステップＳ４０７において、制御部５０ｃの開示方法選択部５１ａは、開示方法記憶部８２ａの開示方法テーブルに、受信したユーザ識別子の組が存在するか否かを判定する。開示方法選択部５１ａは、例えば、受信した２つのユーザ識別子及びデータ識別子に対応する開示方法情報が開示方法テーブルに存在するか否かを判定する。開示方法選択部５１ａは、受信したユーザ識別子の組が開示方法テーブルに存在する場合（ステップＳ４０７：ＹＥＳ）に、処理をステップＳ４０８に進める。また、開示方法選択部５１ａは、受信したユーザ識別子の組が開示方法テーブルに存在しない場合（ステップＳ４０７：ＮＯ）に、処理をステップＳ４１１に進める。
【０１０９】
ステップＳ４０８において、開示方法選択部５１ａは、開示方法テーブルから受信したユーザ識別子の組に対応する開示方法情報を取得する。すなわち、開示方法選択部５１ａは、受信した２つのユーザ識別子及びデータ識別子に対応する開示方法情報を、開示方法記憶部８２ａの開示方法テーブルから取得する。
続くステップＳ４０９からステップＳ４１３までの処理は、図１０に示すステップＳ１０６からステップＳ１１０までの処理と同様であるので、ここではその説明を省略する。
なお、上述した本実施形態では、開示方法テーブルが、２つのユーザ識別子に対応する場合の一例について説明したが、開示方法テーブルは、３つ以上のユーザ識別子に対応するようにしてもよい。
【０１１０】
以上説明したように、本実施形態によるＩＣカード１ｃは、開示方法記憶部８２ａと、開示方法選択部５１ａとを備えている。開示方法記憶部８２ａは、複数（例えば、２つ）のユーザ識別子と、開示方法情報とを対応付けて記憶する。開示方法選択部５１ａは、開示方法記憶部８２ａから複数（例えば、２つ）のユーザ識別子に対応する開示方法情報を取得する。
これにより、本実施形態によるＩＣカード１ｃは、秘密データのうちの開示するデータを複数の使用者の組合せに対応させて変更することができる。すなわち、本実施形態によるＩＣカード１ｃは、例えば、予め定められた複数の使用者が揃った場合に、秘密データの一部を開示する等の使用に対応することができる。
【０１１１】
また、本実施形態によるＩＣカード１ｃは、さらに、受信数判定部５４を備えている。受信数判定部５４は、外部装置２から受信したユーザ識別子の数が、開示方法記憶部８２ａが開示方法情報に対応付けて記憶する複数のユーザ識別子の数（例えば、“２”）に達している場合に、開示方法選択部５１ａに、開示方法記憶部８２ａから複数のユーザ識別子に対応する開示方法情報を取得させる。そして、受信数判定部５４は、受信したユーザ識別子の数が、複数のユーザ識別子の数（例えば、“２”）に達していない場合に、複数のユーザ識別子の数（例えば、“２”）に達するために必要な残りの受信数を示す受信数情報（例えば、「残りの受入可能数」）を、外部装置２に送信する。
これにより、本実施形態によるＩＣカード１ｃは、簡易な手段により、複数のユーザ識別子を適切に取得することができる。また、本実施形態によるＩＣカード１ｃは、必要なユーザ識別子の数が不明な場合に、必要なユーザ識別子の数を外部装置２に通知することができる。
【０１１２】
（第５の実施形態）
次に、図面を参照して、第５の実施形態のＩＣカード１ｄについて説明する。
本実施形態では、ＩＣカード１ｄが、複数の使用者の組合せに応じて、秘密データの開示する範囲を変更する場合の別の一例について説明する。
図２４は、本実施形態のＩＣカード１ｄの機能構成例を示すブロック図である。
なお、本実施形態のＩＣカード１ｄの外観図及びハード構成は、図１及び図２に示す第１の実施形態と同様であるのでその説明を省略する。また、図２４において、図３及び図１９に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
【０１１３】
図２４に示すように、ＩＣカード１ｄは、通信部４０と、制御部５０ｄと、秘密データ記憶部８１と、開示方法記憶部８２ａとを備えている。また、制御部５０ｄは、開示方法選択部５１ａと、開示処理部５２とを備えている。
本実施形態では、ＩＣカード１ｄが、受信数判定部５４を備えずに、１回のデータ開示要求コマンドにより複数のユーザ識別子を受信する点が、第４の実施形態と異なる。
【０１１４】
なお、本実施形態において、データ開示要求コマンドは、図２５に示すようなデータフォーマットである。
【０１１５】
図２５は、本実施形態のデータ開示要求コマンドのデータフォーマット例を示す図である。データ開示要求コマンドのコマンド電文のＡＰＤＵのフォーマットは、ヘッダ部とデータ部とを有している。また、データ開示要求コマンドのデータ部は、「ユーザ識別子１」と、「ユーザ識別子２」と、「データ識別子」とを有している。図２５に示す例では、「ユーザ識別子１」が“Ａ”であり、「ユーザ識別子２」が“Ｖ”であり、「データ識別子」が“０１”であるデータ開示要求コマンドを示している。
このように、本実施形態では、ＩＣカード１ｄは、１回のデータ開示要求コマンドによって、複数のユーザ識別子を受信する。
【０１１６】
制御部５０ｄは、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１ｄを統括的に制御する。制御部５０ｄは、受信数判定部５４を備えていない点を除いて第４の実施形態の制御部５０ｃと同様である。
なお、本実施形態では、開示方法選択部５１ａは、図２５に示すようなデータ開示要求コマンドに含まれる２つのユーザ識別子に対応する開示方法情報を開示方法記憶部８２ａの開示方法テーブルから取得する。
【０１１７】
次に、図面を参照して、本実施形態のＩＣカード１ｄの動作について説明する。
図２６は、本実施形態のＩＣカード１ｄにおけるデータ開示要求コマンドの動作の一例を示す図である。なお、図２６に示す例は、データ開示要求コマンドが正常に実行された場合の一例を示している。また、この図において、カード使用者Ｕ１及びカード使用者Ｕ２は、上述した図２２と同様である。
【０１１８】
図２６に示すように、まず、外部装置２が、ユーザ情報の入力要求をする（ステップＳ６１）。外部装置２は、例えば、カード使用者Ｕ１に対して、ユーザ情報の入力を促す表示を行う。
次に、カード使用者Ｕ１が、ユーザ情報及びデータ指定情報を外部装置２に入力する（ステップＳ６２）。外部装置２は、カード使用者Ｕ１からユーザ情報及びデータ指定情報を受け付けて、ユーザ認証を行う。
【０１１９】
次に、外部装置２が、ユーザ情報の入力要求をする（ステップＳ６３）。外部装置２は、例えば、カード使用者Ｕ２に対して、ユーザ情報の入力を促す表示を行う。
次に、カード使用者Ｕ２が、ユーザ情報及びデータ指定情報を外部装置２に入力する（ステップＳ６４）。外部装置２は、カード使用者Ｕ１からユーザ情報及びデータ指定情報を受け付けて、ユーザ認証を行う。外部装置２は、カード使用者Ｕ１に対応するユーザ識別子（Ａ）、カード使用者Ｕ２に対応するユーザ識別子（Ｖ）、及びデータ指定情報に対応するデータ識別子を含むデータ開示要求コマンドを生成する。
【０１２０】
次に、外部装置２は、ユーザ識別子（Ａ）、ユーザ識別子（Ｖ）及びデータ識別子を含むデータ開示要求コマンドをＩＣカード１ｄに送信する（ステップＳ４８）。これにより、ＩＣカード１ｄの制御部５０ｄは、通信部４０を介して、当該データ開示要求コマンドを受信する。
【０１２１】
次に、ＩＣカード１ｄは、データ開示要求コマンドに対する内部処理を実行する（ステップＳ４９）。すなわち、制御部５０ｄの開示方法選択部５１ａは、２つのユーザ識別子（ユーザ識別子（Ａ）及びユーザ識別子（Ｖ））と、受信したデータ識別子とに対応する開示方法情報を開示方法記憶部８２ａの開示方法テーブルから取得し、開示処理部５２に出力する。そして、開示処理部５２は、データ識別子に対応する秘密データを秘密データ記憶部８１から取得し、取得した当該秘密データを、開示方法選択部５１ａによって取得された開示方法情報に基づいて、一部のデータをマスクする。
続くステップＳ６７及びステップＳ６８の処理は、図２２に示すステップＳ５０及びステップＳ５１の処理と同様であるので、ここではその説明を省略する。
【０１２２】
次に、図２７を参照して、ＩＣカード１ｄのデータ開示要求コマンドの処理について説明する。
図２７は、本実施形態のデータ開示要求コマンドの動作の一例を示すフローチャートである。
図２７に示すように、まず、ＩＣカード１ｄの制御部５０ｄは、コマンドを受信したか否かを判定する（ステップＳ５０１）。なお、ステップＳ５０１からステップＳ５０３までの処理は、図１０に示すステップＳ１０１からステップＳ１０３までの処理と同様であるので、ここではその説明を省略する。また、ステップＳ５０３において、制御部５０ｄは、受信したコマンドが開示要求コマンドである場合（ステップＳ５０３：ＹＥＳ）に、処理をステップＳ５０４に進める。また、制御部５０ｄは、受信したコマンドが開示要求コマンドでない場合（ステップＳ５０３：ＮＯ）に、処理をステップＳ５０９に進める。ここで、コマンドが開示要求コマンドには、図２５に示すように、２つのユーザ識別子（例えば、「ユーザ識別子１」及び「ユーザ識別子２」）が含まれる。
【０１２３】
また、続くステップＳ５０４からステップＳ５１０までの処理は、図２３に示すステップＳ４０７からステップＳ４１３までの処理と同様であるので、その説明を省略する。
【０１２４】
以上説明したように、本実施形態によるＩＣカード１ｄは、開示方法記憶部８２ａと、開示方法選択部５１ａとを備えている。開示方法記憶部８２ａは、複数（例えば、２つ）のユーザ識別子と、開示方法情報とを対応付けて記憶する。開示方法選択部５１ａは、開示方法記憶部８２ａから複数（例えば、２つ）のユーザ識別子に対応する開示方法情報を取得する。
これにより、本実施形態によるＩＣカード１ｄは、第４の実施形態と同様に、秘密データのうちの開示するデータを複数の使用者の組合せに対応させて変更することができる。
【０１２５】
（第６の実施形態）
次に、図面を参照して、第６の実施形態のＩＣカード１ｅについて説明する。
本実施形態では、ＩＣカード１ｅが、コマンドが開示要求コマンドを実行する前に、使用者の認証処理を必要とする場合の一例について説明する。
図２８は、本実施形態のＩＣカード１ｅの機能構成例を示すブロック図である。
なお、本実施形態のＩＣカード１ｅの外観図及びハード構成は、図１及び図２に示す第１の実施形態と同様であるのでその説明を省略する。また、図２８において、図３に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
【０１２６】
図２８に示すように、ＩＣカード１ｅは、通信部４０と、制御部５０ｅと、秘密データ記憶部８１と、開示方法記憶部８２と、認証情報記憶部８４とを備えている。また、制御部５０ｅは、開示方法選択部５１と、開示処理部５２と、認証処理部５５とを備えている。
本実施形態では、ＩＣカード１ｅが、認証情報記憶部８４と、認証処理部５５とを備える点が、第１の実施形態と異なる。
【０１２７】
認証情報記憶部８４は、例えば、ＥＥＰＲＯＭ８により構成された記憶部である。認証情報記憶部８４は、パスワード、ＰＩＮ（Personal Identification Number）、認証キーなどの使用者を認証する認証情報を予め記憶する。
【０１２８】
制御部５０ｅは、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１ｅを統括的に制御する。制御部５０ｅは、認証処理部５５を備える点を除いて第１の実施形態の制御部５０と同様である。
認証処理部５５は、認証コマンドに応じて、使用者を認証する認証処理を実行する。認証処理部５５は、外部装置２から受信した認証コマンドに応じて、例えば、受信した認証情報と、認証情報記憶部８４が記憶する認証情報とが一致するか否かを判定する。認証処理部５５は、受信した認証情報と、認証情報記憶部８４が記憶する認証情報とが一致する場合に、認証が成功したと判定し、認証成功フラグに“１”を記憶させる。ここで、認証成功フラグは、例えば、ＲＡＭ７により構成され、認証コマンドが実行される前の状態は、“０”である。また、認証処理部５５は、認証が成功した場合に、正常終了ステータスバイトを含むレスポンスを、通信部４０を介して外部装置２に送信する。また、認証処理部５５は、受信した認証情報と、認証情報記憶部８４が記憶する認証情報とが一致しない場合に、認証が失敗したと判定する。認証処理部５５は、認証が失敗した場合に、エラーステータスバイトを含むレスポンスを、通信部４０を介して外部装置２に送信する。
【０１２９】
ここで、認証コマンドは、図２９に示すようなデータフォーマットである。
図２９は、本実施形態の認証コマンドのデータフォーマット例を示す図である。認証コマンドのコマンド電文のＡＰＤＵのフォーマットは、ヘッダ部とデータ部とを有している。認証コマンドのデータ部は、「認証情報」を有している。
【０１３０】
なお、本実施形態の開示方法選択部５１は、上述した認証成功フラグが“１”である場合に、開示方法記憶部８２から開示方法情報を取得する。また、本実施形態の開示処理部５２は、上述した認証成功フラグが“１”である場合に、開示方法選択部５１によって取得された開示方法情報に基づいて、秘密データの少なくとも一部をマスクして外部装置２に送信する。すなわち、開示処理部５２は、認証処理部５５によって使用者が認証された場合に、開示方法選択部５１によって選択されたデータ開示方法により秘密データの少なくとも一部を隠ぺい（マスク）して外部装置２に送信する。
【０１３１】
次に、図面を参照して、本実施形態のＩＣカード１ｅの動作について説明する。
図３０は、本実施形態のＩＣカード１ｅにおける認証コマンド及びデータ開示要求コマンドの動作の一例を示す図である。なお、図３０に示す例は、認証コマンド及びデータ開示要求コマンドが正常に実行された場合の一例を示している。
【０１３２】
図３０に示すように、まず、外部装置２が、認証コマンドをＩＣカード１ｅに送信する（ステップＳ７１）。すなわち、外部装置２が、図２９に示すような認証情報を含む認証コマンドを送信する。これにより、ＩＣカード１ｅの制御部５０ｅは、通信部４０を介して、当該認証コマンドを受信する。
【０１３３】
次に、ＩＣカード１ｅは、認証コマンドに対する内部処理を実行する（ステップＳ７２）。ここで、制御部５０ｅの認証処理部５５は、受信した認証情報による認証処理を実行する。認証処理部５５は、例えば、受信した認証情報と、認証情報記憶部８４が記憶する認証情報とを比較し、当該２つのデータが一致した場合に、認証成功フラグに“１”を記憶させる。そして、認証処理部５５は、正常終了ステータスバイトを含むレスポンスを生成する。
【０１３４】
次に、ＩＣカード１ｅは、認証コマンドに対するレスポンスを外部装置２に送信する（ステップＳ７３）。すなわち、認証処理部５５は、正常終了ステータスバイトを含むレスポンスを、通信部４０を介して外部装置２に送信する。
【０１３５】
本実施形態のＩＣカード１ｅは、このように認証コマンドを利用して使用者を認証した後、ステップＳ７４からステップＳ７６に示すように、データ開示要求コマンドが実行可能になる。なお、ステップＳ７４からステップＳ７６までの処理は、図８に示すステップＳ１１からステップＳ１３までの処理と同様であるため、ここではその説明を省略する。
【０１３６】
次に、図３１を参照して、ＩＣカード１ｅの認証コマンドの処理について説明する。
図３１は、本実施形態の認証コマンドの動作の一例を示すフローチャートである。
図３１に示すように、まず、ＩＣカード１ｅの制御部５０ｅは、コマンドを受信したか否かを判定する（ステップＳ６０１）。制御部５０ｅは、コマンドを受信した場合（ステップＳ６０１：ＹＥＳ）に、処理をステップＳ６０２に進める。また、制御部５０ｅは、コマンドを受信していない場合（ステップＳ６０１：ＮＯ）に、処理をステップＳ６０１に戻す。
【０１３７】
ステップＳ６０２において、制御部５０ｅは、コマンドを取得する。すなわち、制御部５０ｅは、通信部４０によって受信されたコマンド電文を取得する。
次に、制御部５０ｅは、受信したコマンドが認証コマンドであるか否かを判定する（ステップＳ６０３）。制御部５０ｅは、受信したコマンドが認証コマンドである場合（ステップＳ６０３：ＹＥＳ）に、処理をステップＳ６０４に進める。また、制御部５０ｅは、受信したコマンドが認証コマンドでない場合（ステップＳ６０３：ＮＯ）に、処理をステップＳ６０９に進める。
【０１３８】
ステップＳ６０４において、制御部５０ｅの認証処理部５５は、認証処理を実行する。認証処理部５５は、受信した認証情報と、認証情報記憶部８４が記憶する認証情報とが一致するか否かを判定する。
次に、認証処理部５５は、使用者の認証が成功したか否かを判定する（ステップＳ６０５）。認証処理部５５は、受信した認証情報と、認証情報記憶部８４が記憶する認証情報とが一致したか否かに応じて、使用者の認証が成功したか否かを判定する。認証処理部５５は、受信した認証情報と、認証情報記憶部８４が記憶する認証情報とが一致する場合に、使用者の認証が成功したと判定する。認証処理部５５は、使用者の認証が成功した場合（ステップＳ６０５：ＹＥＳ）に、処理をステップＳ６０６に進める。また、認証処理部５５は、使用者の認証が失敗した場合（ステップＳ６０５：ＮＯ）に、処理をステップＳ６０８に進める。
【０１３９】
ステップＳ６０６において、認証処理部５５は、認証成功フラグを“１”にする。すなわち、認証処理部５５は、認証成功フラグに“１”を記憶させる。
次に、認証処理部５５は、正常終了ステータスバイトを含むレスポンスを外部装置２に送信する（ステップＳ６０７）。すなわち、認証処理部５５は、正常終了ステータスバイトを含むレスポンスを、通信部４０を介して外部装置２に送信する。ステップＳ６０７の処理後に、認証処理部５５は、処理をステップＳ６０１に戻す。
【０１４０】
また、ステップＳ６０８において、認証処理部５５は、エラーステータスバイトを含むレスポンスを外部装置２に送信する。すなわち、認証処理部５５は、使用者の認証に失敗したことを示すエラーステータスバイトを含むレスポンスを、通信部４０を介して外部装置２に送信する。ステップＳ６０８の処理後に、認証処理部５５は、処理をステップＳ６０１に戻す。
【０１４１】
また、ステップＳ６０９において、制御部５０ｅは、他のコマンド処理（認証コマンド以外のコマンド処理）を実行する。
次に、制御部５０ｅは、レスポンスを外部装置２に送信する（ステップＳ６１０）。すなわち、制御部５０ｅは、他のコマンド処理の実行結果を含むレスポンスを、通信部４０を介して外部装置２に送信する。ステップＳ６１０の処理後に、制御部５０ｅは、処理をステップＳ６０１に戻す。
【０１４２】
次に、図３２を参照して、ＩＣカード１ｅのデータ開示要求コマンドの処理について説明する。
図３２は、本実施形態のデータ開示要求コマンドの動作の一例を示すフローチャートである。
図３２に示すように、まず、ＩＣカード１ｅの制御部５０ｅは、コマンドを受信したか否かを判定する（ステップＳ７０１）。なお、ステップＳ７０１からステップＳ７０３までの処理は、図１０に示すステップＳ１０１からステップＳ１０３までの処理と同様であるので、ここではその説明を省略する。また、ステップＳ７０３において、制御部５０ｅは、受信したコマンドが開示要求コマンドである場合（ステップＳ７０３：ＹＥＳ）に、処理をステップＳ７０４に進める。また、制御部５０ｅは、受信したコマンドが開示要求コマンドでない場合（ステップＳ７０３：ＮＯ）に、処理をステップＳ７１０に進める。
【０１４３】
ステップＳ７０４において、制御部５０ｅは、認証成功フラグが“１”であるか否かを判定する。制御部５０ｅは、認証成功フラグが“１”である場合（ステップＳ７０４：ＹＥＳ）に、処理をステップＳ７０５に進める。また、制御部５０ｅは、認証成功フラグが“１”でない場合（ステップＳ７０４：ＮＯ）に、処理をステップＳ７０９に進める。
また、続くステップＳ７０５からステップＳ７１１までの処理は、図１０に示すステップＳ１０４からステップＳ１１０までの処理と同様であるので、その説明を省略する。
【０１４４】
以上説明したように、本実施形態によるＩＣカード１ｅは、使用者を認証する認証処理部５５を備えている。開示処理部５２は、認証処理部５５によって使用者が認証された場合（使用者の認証が成功した場合）に、開示方法選択部５１によって選択されたデータ開示方法により秘密データの少なくとも一部を隠ぺいして外部装置２に送信する。
これにより、本実施形態によるＩＣカード１ｅは、よりセキュリティを確保しつつ、秘密データのうちの開示するデータを使用者に対応させて変更することができる。
【０１４５】
（第７の実施形態）
次に、図面を参照して、第７の実施形態のＩＣカード１ｆについて説明する。
本実施形態では、ＩＣカード１ｆが、コマンドが開示要求コマンドを実行する前に、使用者の認証処理を必要とする場合の別の一例について説明する。
図３３は、本実施形態のＩＣカード１ｆの機能構成例を示すブロック図である。
なお、本実施形態のＩＣカード１ｆの外観図及びハード構成は、図１及び図２に示す第１の実施形態と同様であるのでその説明を省略する。また、図３３において、図２８に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
【０１４６】
図３３に示すように、ＩＣカード１ｆは、通信部４０と、制御部５０ｆと、秘密データ記憶部８１と、開示方法記憶部８２と、認証情報記憶部８４ａと、認証結果記憶部７１とを備えている。また、制御部５０ｆは、開示方法選択部５１と、開示処理部５２ｂと、認証処理部５５ａとを備えている。
本実施形態では、ＩＣカード１ｆが、認証結果記憶部７１を備え、認証情報記憶部８４ａが記憶する情報と、認証処理部５５ａ及び開示処理部５２ｂの処理とが第６の実施形態と異なる。
【０１４７】
認証情報記憶部８４ａは、例えば、ＥＥＰＲＯＭ８により構成された記憶部である。認証情報記憶部８４ａは、パスワード、ＰＩＮ、認証キーなどの使用者を認証する認証情報と、ユーザ識別子とを対応付けて記憶する。
図３４は、本実施形態の認証情報記憶部８４ａのデータ例を示す図である。
認証情報記憶部８４ａは、図３４に示すように、例えば、「ユーザ識別子」と、「識別情報」とを対応付けて記憶する。
例えば、図３４に示す例では、「ユーザ識別子」が“Ａ”であり、当該「ユーザ識別子」に対応する「識別情報」が“ＹＹＹＹＹＹＹＹ”であることを示している。
【０１４８】
認証結果記憶部７１は、例えば、ＲＡＭ７により構成された記憶部である。認証結果記憶部７１は、認証処理部５５ａによって使用者が認証されたか否かを示す認証成功フラグ（認証結果情報）と、ユーザ識別子とを対応付けて記憶する。
図３５は、本実施形態の認証結果記憶部７１のデータ例を示す図である。
図３５に示すように、認証結果記憶部７１は、例えば、「ユーザ識別子」と、「認証成功フラグ」とを対応付けて記憶する。
【０１４９】
例えば、図３５に示す例では、「ユーザ識別子」が“Ａ”であり、当該「ユーザ識別子」に対応する「認証成功フラグ」が“１”であることを示している。ここで、「認証成功フラグ」は、“１”である場合に、認証処理部５５ａによって使用者が認証されたことを示す。また、「認証成功フラグ」は、“０”である場合に、認証処理部５５ａによって使用者が認証されていないことを示す。
なお、認証結果記憶部７１が記憶する情報は、ＩＣカード１ｆの起動、又はコールドリセットの実行により初期化される。
【０１５０】
認証処理部５５ａは、認証コマンドに応じて、使用者を認証する認証処理を実行する。認証処理部５５ａは、外部装置２から受信した認証コマンドに応じて、例えば、受信した認証情報と、認証情報記憶部８４ａが記憶する認証情報とが一致するか否かを判定する。認証処理部５５ａは、受信した認証情報と、認証情報記憶部８４ａが記憶する認証情報とが一致する場合に、認証が成功したと判定する。この場合、認証処理部５５ａは、認証が成功した認証情報と対応付けられて認証情報記憶部８４ａに記憶されているユーザ識別子を取得し、取得した当該ユーザ識別子と対応付けて、認証成功フラグに“１”を記憶させる。すなわち、認証処理部５５ａは、ユーザ識別子と、認証成功フラグの“１”とを対応付けて、認証結果記憶部７１に記憶させる。
【０１５１】
また、認証処理部５５ａは、認証が成功した場合に、正常終了ステータスバイトを含むレスポンスを、通信部４０を介して外部装置２に送信する。また、認証処理部５５ａは、受信した認証情報と、認証情報記憶部８４ａが記憶する認証情報とが一致しない場合に、認証が失敗したと判定する。認証処理部５５ａは、認証が失敗した場合に、エラーステータスバイトを含むレスポンスを、通信部４０を介して外部装置２に送信する。この場合、認証処理部５５ａは、ユーザ識別子に対応する認証結果記憶部７１の認証成功フラグを“０”にしてもよい。
【０１５２】
開示処理部５２ｂは、認証処理部５５ａによって認証された使用者と、ユーザ識別子に対応する使用者とが一致する場合に、開示方法選択部５１によって選択されたデータ開示方法により秘密データの少なくとも一部を隠ぺいして外部装置２に送信する。開示処理部５２ｂは、例えば、外部装置２から受信したユーザ識別子に対応付けて認証結果記憶部７１に記憶されている認証成功フラグが、使用者が認証されたことを示す情報（例えば、“１”）である場合に、開示処理を実行する。すなわち、開示処理部５２ｂは、受信したユーザ識別子に対応付けて認証結果記憶部７１に記憶されている認証成功フラグが“１”である場合に、開示方法選択部５１によって選択されたデータ開示方法により秘密データの少なくとも一部を隠ぺいして外部装置２に送信する。
【０１５３】
次に、図面を参照して、本実施形態のＩＣカード１ｆの動作について説明する。
本実施形態のＩＣカード１ｆにおける認証コマンド及びデータ開示要求コマンドの動作は、基本的には、図３０に示す第６の実施形態と同様である。
【０１５４】
次に、図３６を参照して、ＩＣカード１ｆの認証コマンドの処理について説明する。
図３６は、本実施形態の認証コマンドの動作の一例を示すフローチャートである。
図３６において、ステップＳ８０１からステップＳ８０５までの処理は、図３１に示すステップＳ６０１からステップＳ６０５までの処理と同様であるので、ここではその説明を省略する。
【０１５５】
使用者の認証が成功した場合（ステップＳ８０５：ＹＥＳ）のステップＳ８０６において、ＩＣカード１ｆの認証処理部５５ａは、ユーザ識別子と対応付けて認証成功フラグを“１”にする。例えば、認証処理部５５ａは、認証が成功した認証情報と対応付けられて認証情報記憶部８４ａに記憶されているユーザ識別子を取得し、取得した当該ユーザ識別子と、認証成功フラグの“１”とを対応付けて認証結果記憶部７１に記憶させる。
また、ステップＳ８０６からステップＳ８１０までの処理は、図３１に示すステップＳ６０６からステップＳ６１０までの処理と同様であるので、ここではその説明を省略する。
【０１５６】
次に、図３７を参照して、ＩＣカード１ｆのデータ開示要求コマンドの処理について説明する。
図３７は、本実施形態のデータ開示要求コマンドの動作の一例を示すフローチャートである。
図３７において、ステップＳ９０１からステップＳ９０３までの処理は、図３２に示すステップＳ７０１からステップＳ７０３までの処理と同様であるので、ここではその説明を省略する。なお、ステップＳ９０３において、制御部５０ｆは、受信したコマンドが開示要求コマンドである場合（ステップＳ９０３：ＹＥＳ）に、処理をステップＳ９０４に進める。また、制御部５０ｆは、受信したコマンドが開示要求コマンドでない場合（ステップＳ９０３：ＮＯ）に、処理をステップＳ９１０に進める。
【０１５７】
ステップＳ９０４において、制御部５０ｆの開示処理部５２ｂは、受信したユーザ識別子に対応する認証成功フラグが“１”であるか否かを判定する。すなわち、開示処理部５２ｂは、認証結果記憶部７１に記憶されている認証成功フラグのうちの、開示要求コマンドに含まれるユーザ識別子に対応する認証成功フラグが“１”であるか否かを判定する。開示処理部５２ｂは、当該認証成功フラグが“１”である場合（ステップＳ９０４：ＹＥＳ）に、処理をステップＳ９０５に進める。また、開示処理部５２ｂは、当該認証成功フラグが“１”でない場合（ステップＳ９０４：ＮＯ）に、処理をステップＳ９０９に進める。
また、続くステップＳ９０５からステップＳ９１１までの処理は、図３２に示すＳ７０５からステップＳ７１１までの処理と同様であるので、その説明を省略する。
【０１５８】
以上説明したように、本実施形態によるＩＣカード１ｆは、認証処理部５５ａと、開示処理部５２ｂとを備えている。開示処理部５２ｂは、認証処理部５５ａによって認証された使用者と、ユーザ識別子に対応する使用者とが一致する場合に、開示方法選択部５１によって選択されたデータ開示方法により秘密データの少なくとも一部を隠ぺいして外部装置２に送信する。
これにより、本実施形態によるＩＣカード１ｆは、認証処理部５５ａによって認証された使用者と、ユーザ識別子に対応する使用者とが一致する場合に、データ開示要求コマンドの処理を実行するので、さらにセキュリティを確保しつつ、秘密データのうちの開示するデータを使用者に対応させて変更することができる。本実施形態によるＩＣカード１ｆは、例えば、認証処理部５５ａによって認証された使用者と、受信したユーザ識別子に対応する使用者とが一致しない場合に、データ開示要求コマンドの処理を実行させないようにすることができる。
【０１５９】
また、本実施形態によるＩＣカード１ｆは、認証処理部５５ａによって使用者が認証されたか否かを示す認証成功フラグ（認証結果情報）と、ユーザ識別子（使用者識別情報）とを対応付けて記憶する認証結果記憶部７１を備える。開示処理部５２ｂは、外部装置２から受信したユーザ識別子に対応付けて認証結果記憶部７１に記憶されている認証成功フラグが、使用者が認証されたことを示す情報（例えば、“１”）である場合に、開示方法選択部５１によって選択されたデータ開示方法により秘密データの少なくとも一部を隠ぺいして外部装置２に送信する。
これにより、本実施形態によるＩＣカード１ｆは、認証結果記憶部７１を利用した簡易な手段によりセキュリティを確保しつつ、秘密データのうちの開示するデータを使用者に対応させて変更することができる。
【０１６０】
なお、上述した本実施形態において、認証結果記憶部７１をＲＡＭ７により構成する一例を説明したが、ＥＥＰＲＯＭ８により構成してもよい。また、本実施形態では、開示処理部５２ｂが、受信したユーザ識別子に対応する認証成功フラグが“１”であるか否かを判定する処理を実行する例を説明したが、当該処理を制御部５０ｆ（開示処理部５２ｂの他の機能部）が実行するようにしてもよい。
【０１６１】
（第８の実施形態）
次に、図面を参照して、第８の実施形態のＩＣカード１ｇについて説明する。
本実施形態では、上述した第７の実施形態と同様に、コマンドが開示要求コマンドを実行する前に、使用者の認証処理を必要とする場合の別の一例であり、第７の実施形態の変形例について説明する。
【０１６２】
図３８は、本実施形態のＩＣカード１ｇの機能構成例を示すブロック図である。
なお、本実施形態のＩＣカード１ｇの外観図及びハード構成は、図１及び図２に示す第１の実施形態と同様であるのでその説明を省略する。また、図３８において、図２８及び図３３に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
【０１６３】
図３８に示すように、ＩＣカード１ｇは、通信部４０と、制御部５０ｆと、秘密データ記憶部８１と、開示方法記憶部８２と、認証情報記憶部８４ｂとを備えている。また、制御部５０ｆは、開示方法選択部５１と、開示処理部５２ｂと、認証処理部５５ａとを備えている。
本実施形態では、ＩＣカード１ｇが、上述した認証結果記憶部７１と認証情報記憶部８４ａとを統合した認証情報記憶部８４ｂを備える点が、第７の実施形態と異なる。
【０１６４】
認証情報記憶部８４ｂ（認証結果記憶部の一例）は、例えば、ＥＥＰＲＯＭ８により構成された記憶部である。認証情報記憶部８４ｂは、パスワード、ＰＩＮ、認証キーなどの使用者を認証する認証情報と、ユーザ識別子と、認証処理部５５ａによって使用者が認証されたか否かを示す認証成功フラグ（認証結果情報）とを対応付けて記憶する。
図３９は、本実施形態の認証情報記憶部８４ｂのデータ例を示す図である。
認証情報記憶部８４ｂは、図３９に示すように、例えば、「ユーザ識別子」と、「識別情報」と、「認証成功フラグ」とを対応付けて記憶する。
例えば、図３９に示す例では、「ユーザ識別子」が“Ａ”であり、当該「ユーザ識別子」に対応する「識別情報」が“ＹＹＹＹＹＹＹＹ”であることを示している。また、当該「ユーザ識別子」及び「識別情報」に対応する「認証成功フラグ」が“１”であることを示している。
【０１６５】
次に、本実施形態のＩＣカード１ｇの動作について説明する。
本実施形態のＩＣカード１ｇにおける認証コマンド及びデータ開示要求コマンドの動作は、基本的には、図３０に示す第６の実施形態と同様である。
また、本実施形態の認証コマンドの動作は、ステップＳ８０６の処理が異なる点を除いて、図３６に示す認証コマンドの動作と同様である。ステップＳ８０６において、ＩＣカード１ｇの認証処理部５５ａは、認証情報記憶部８４ｂが記憶する認証成功フラグのうちの、当該認証情報及びユーザ識別子に対応する認証成功フラグを“１”にする。
【０１６６】
また、本実施形態のデータ開示要求コマンドの動作は、図３７に示す認証コマンドの動作と同様であるので、ここではその説明を省略する。なお、本実施形態において、開示処理部５２ｂは、認証情報記憶部８４ｂに記憶されている認証成功フラグのうちの、開示要求コマンドに含まれるユーザ識別子に対応する認証成功フラグが“１”であるか否かを判定する。
【０１６７】
以上説明したように、本実施形態によるＩＣカード１ｇは、使用者を認証するための認証情報と、認証処理部５５ａによって使用者が認証されたか否かを示す認証成功フラグ（認証結果情報）と、ユーザ識別子（使用者識別情報）とを対応付けて記憶する認証情報記憶部８４ｂを備える。開示処理部５２ｂは、外部装置２から受信したユーザ識別子に対応付けて認証情報記憶部８４ｂに記憶されている認証成功フラグが、使用者が認証されたことを示す情報（例えば、“１”）である場合に、開示方法選択部５１によって選択されたデータ開示方法により秘密データの少なくとも一部を隠ぺいして外部装置２に送信する。
これにより、本実施形態によるＩＣカード１ｇは、認証情報記憶部８４ｂを利用した簡易な手段によりセキュリティを確保しつつ、秘密データのうちの開示するデータを使用者に対応させて変更することができる。
【０１６８】
上記の各実施形態は、単独で実施される例を説明したが、各実施形態の全部又は一部を組み合わせて実施してもよい。例えば、第２の実施形態と、第３〜第６の実施形態のいずれかとを組み合わせて実施してもよいし、第３〜第５の実施形態のいずれかと、第６〜第８の実施形態のいずれかとを組み合わせて実施してもよい。
また、例えば、ＩＣカード１は、第１の実施形態の１つのユーザ識別子に対応した開示方法テーブルと、第４の実施形態の複数のユーザ識別子に対応した開示方法テーブルとの両方を備えて、例えば、データ識別子などに応じて、２つの開示方法テーブルを切り替えて利用するようにしてもよい。
【０１６９】
また、上記の各実施形態において、ＩＣカード１（１ａ〜１ｇ）は、書き換え可能な不揮発性メモリとして、ＥＥＰＲＯＭ８を備える構成としたが、これに限定されるものではない。例えば、ＩＣカード１（１ａ〜１ｇ）は、ＥＥＰＲＯＭ８の代わりに、フラッシュメモリ、ＦｅＲＡＭ（Ferroelectric Random Access Memory：強誘電体メモリ）などを備えてもよい。
また、上記の各実施形態において、ＩＣカード１（１ａ〜１ｇ）は、コンタクト部３を介して外部装置２と通信する例を説明したが、コイルなどを用いたコンタクトレスインターフェースを介して外部装置２と通信するように構成してもよい。
【０１７０】
また、上記の各実施形態において、携帯可能電子装置の一例として、ＩＣカード１（１ａ〜１ｇ）を用いる例を説明したが、これに限定されるものではない。携帯可能電子装置は、例えば、カード形状ではないＩＣタグなどの電子装置であってもよい。
また、上記の第６〜第８の実施形態において、認証処理は、固定の認証情報に基づいて、使用者を認証する例を説明したが、例えば、相互認証などの乱数を利用した動的な認証であってもよい。
【０１７１】
以上説明した少なくともひとつの実施形態によれば、秘密データを記憶する秘密データ記憶部８１と、外部装置２から受信した使用者を識別するユーザ識別子に基づいて、秘密データ記憶部８１が記憶する秘密データを開示するデータ開示方法を選択する開示方法選択部５１と、開示方法選択部５１によって選択されたデータ開示方法により秘密データの少なくとも一部を隠ぺいして外部装置２に送信する開示処理部５２とを持つことにより、利便性を向上させることができる。
【０１７２】
上記実施形態は、以下のように表現することができる。
コンタクト部又はコイルを介して外部装置と通信する通信部と、
秘密データを記憶する秘密データ記憶部と、前記秘密データ記憶部が記憶する前記秘密データを開示するデータ開示方法を示す開示方法情報とを対応付けて記憶する開示方法記憶部と、
外部装置から前記通信部を介して受信した前記使用者識別情報に対応する前記開示方法情報を、前記開示方法記憶部から取得することで前記データ開示方法を選択する開示方法選択部と、
前記開示方法選択部によって前記開示方法記憶部から取得された前記開示方法情報に基づいて、前記秘密データの少なくとも一部を隠ぺいして前記外部装置に前記通信部を介して送信する開示処理部と
を備える携帯可能電子装置。
【０１７３】
なお、実施形態におけるＩＣカード１（１ａ〜１ｇ）が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したＩＣカード１（１ａ〜１ｇ）が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１７４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１７５】
１，１ａ，１ｂ，１ｃ，１ｄ，１ｅ，１ｆ，１ｇ…ＩＣカード、２…外部装置、３…コンタクト部、４…ＵＡＲＴ、５…ＣＰＵ、６…ＲＯＭ、７…ＲＡＭ、８…ＥＥＰＲＯＭ、１０…ＩＣモジュール、４０…通信部、５０，５０ａ，５０ｂ，５０ｃ，５０ｄ，５０ｅ，５０ｆ…制御部、５１，５１ａ…開示方法選択部、５２，５２ａ，５２ｂ…開示処理部、５３…登録処理部、５４…受信数判定部、５５，５５ａ…認証処理部、７１…認証結果記憶部、８１…秘密データ記憶部、８２，８２ａ…開示方法記憶部、８３…署名データ記憶部、８４，８４ａ…認証情報記憶部、１００…ＩＣチップ、ＢＳ１…内部バス、ＰＴ…カード基材
【図１】
2017097838.tif 000003
【図２】
2017097838.tif 000004
【図３】
2017097838.tif 000005
【図４】
2017097838.tif 000006
【図５】
2017097838.tif 000007
【図６】
2017097838.tif 000008
【図７】
2017097838.tif 000009
【図８】
2017097838.tif 000010
【図９】
2017097838.tif 000011
【図１０】
2017097838.tif 000012
【図１１】
2017097838.tif 000013
【図１２】
2017097838.tif 000014
【図１３】
2017097838.tif 000015
【図１４】
2017097838.tif 000016
【図１５】
2017097838.tif 000017
【図１６】
2017097838.tif 000018
【図１７】
2017097838.tif 000019
【図１８】
2017097838.tif 000020
【図１９】
2017097838.tif 000021
【図２０】
2017097838.tif 000022
【図２１】
2017097838.tif 000023
【図２２】
2017097838.tif 000024
【図２３】
2017097838.tif 000025
【図２４】
2017097838.tif 000026
【図２５】
2017097838.tif 000027
【図２６】
2017097838.tif 000028
【図２７】
2017097838.tif 000029
【図２８】
2017097838.tif 000030
【図２９】
2017097838.tif 000031
【図３０】
2017097838.tif 000032
【図３１】
2017097838.tif 000033
【図３２】
2017097838.tif 000034
【図３３】
2017097838.tif 000035
【図３４】
2017097838.tif 000036
【図３５】
2017097838.tif 000037
【図３６】
2017097838.tif 000038
【図３７】
2017097838.tif 000039
【図３８】
2017097838.tif 000040
【図３９】
2017097838.tif 000041