IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝電機サービス株式会社の特許一覧

<>
  • 特許-携帯可能電子装置、及びICカード 図1
  • 特許-携帯可能電子装置、及びICカード 図2
  • 特許-携帯可能電子装置、及びICカード 図3
  • 特許-携帯可能電子装置、及びICカード 図4
  • 特許-携帯可能電子装置、及びICカード 図5
  • 特許-携帯可能電子装置、及びICカード 図6
  • 特許-携帯可能電子装置、及びICカード 図7
  • 特許-携帯可能電子装置、及びICカード 図8
  • 特許-携帯可能電子装置、及びICカード 図9
  • 特許-携帯可能電子装置、及びICカード 図10
  • 特許-携帯可能電子装置、及びICカード 図11
  • 特許-携帯可能電子装置、及びICカード 図12
  • 特許-携帯可能電子装置、及びICカード 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-07
(45)【発行日】2022-02-16
(54)【発明の名称】携帯可能電子装置、及びICカード
(51)【国際特許分類】
   G06F 12/14 20060101AFI20220208BHJP
   G06F 21/62 20130101ALI20220208BHJP
   G06K 19/073 20060101ALI20220208BHJP
   G06K 19/077 20060101ALI20220208BHJP
【FI】
G06F12/14 510A
G06F21/62 318
G06K19/073 009
G06K19/077 188
【請求項の数】 7
(21)【出願番号】P 2018049680
(22)【出願日】2018-03-16
(65)【公開番号】P2019160191
(43)【公開日】2019-09-19
【審査請求日】2020-09-14
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】特許業務法人 志賀国際特許事務所
(72)【発明者】
【氏名】畠中 一成
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2012-141754(JP,A)
【文献】特開平08-044805(JP,A)
【文献】特開2007-257542(JP,A)
【文献】特開2001-097652(JP,A)
【文献】特開2010-186386(JP,A)
【文献】特開2002-024790(JP,A)
【文献】特開平09-171545(JP,A)
【文献】特開2013-196436(JP,A)
【文献】特開2008-310595(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/14
G06F 21/62
G06K 19/073
G06K 19/077
(57)【特許請求の範囲】
【請求項1】
特定のデータを所定のデータ領域に記憶する記憶部と、
前記記憶部における前記所定のデータ領域へのアクセスに関するセキュリティ状態を前記所定のデータ領域に含まれるファイルと対応付けてメモリ上で管理する状態制御部と、
前記特定のデータにアクセスする所定のコマンドを受け付けた場合に、前記状態制御部により管理された前記所定のデータ領域に対するセキュリティ状態に基づいて、受け付けた所定のコマンドが実行可能であるか否かを判定し、実行可能であると判定された場合に、前記所定のコマンドの処理を実行する実行部と、を備え、
前記所定のコマンドは、照合データを含み、
前記状態制御部は
前記所定のデータ領域へのアクセスを行い、前記ファイルに設定されている照合データと、前記所定のコマンドに含まれる照合データとが一致したときに認証が成立したとして、前記セキュリティ状態をアクセス許可状態にし、
前記セキュリティ状態に応じて前記実行部により所定のコマンドの処理が終了した場合に、前記セキュリティ状態を初期化する、
携帯可能電子装置。
【請求項2】
前記状態制御部は、前記所定のデータ領域に対するアクセス権限に基づいて、前記実行部による前記所定のコマンドの処理が終了した場合に、前記セキュリティ状態を初期化するか否かを判定する、
請求項に記載の携帯可能電子装置。
【請求項3】
前記セキュリティ状態は、前記所定のコマンドと、前記所定のデータ領域に対するアクセス権限とに対応付けられた状態である、
請求項1または2に記載の携帯可能電子装置。
【請求項4】
前記状態制御部は、前記実行部による前記所定のコマンドの処理が、正常終了したタイミングまたは異常終了したタイミングに基づいて、前記セキュリティ状態を初期化する、
請求項1からのうち何れか1項に記載の携帯可能電子装置。
【請求項5】
前記状態制御部は、前記実行部により前記所定のコマンドの処理が所定回数実行された場合に、前記セキュリティ状態を初期化する、
請求項1からのうち何れか1項に記載の携帯可能電子装置。
【請求項6】
前記状態制御部は、外部からの指示情報に基づいて、前記所定回数を設定する、
請求項に記載の携帯可能電子装置。
【請求項7】
特定のデータを所定のデータ領域に記憶する記憶部と、
前記記憶部における前記所定のデータ領域へのアクセスに関するセキュリティ状態を前記所定のデータ領域に含まれるファイルと対応付けてメモリ上で管理する状態制御部と、
前記特定のデータにアクセスするコマンドを受け付けた場合に、前記状態制御部により管理された前記所定のデータ領域に対するセキュリティ状態に基づいて、受け付けたコマンドが実行可能であるか否かを判定し、実行可能であると判定された場合に、前記所定のコマンドの処理を実行する実行部と、を備えるICモジュールと、
前記ICモジュールが埋め込まれたカード本体と、
を備え、
前記所定のコマンドは、照合データを含み、
前記状態制御部は、
前記所定のデータ領域へのアクセスを行い、前記ファイルに設定されている照合データと、前記所定のコマンドに含まれる照合データとが一致したときに認証が成立したとして、前記セキュリティ状態をアクセス許可状態にし、
前記セキュリティ状態に応じて前記実行部により所定のコマンドの処理が終了した場合に、前記セキュリティ状態を初期化する、
ICカード。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、携帯可能電子装置、及びICカードに関する。
【背景技術】
【0002】
近年、IC(Integrated Circuit)チップを内蔵したICカードなどの携帯可能電子装置が広く使用されている。従来の携帯可能電子装置では、外部装置から受信したコマンドに応じて、ICカードの記憶領域に記憶されたデータにアクセスを行っている。データに対するセキュリティステータスの更新は、VERIFYコマンド、EXTERNAL AUTHENTICATEコマンド等のセキュリティステータスを設定するコマンドに限られており、これらのコマンドによりセキュリティステータスが設定された後は、アプリケーションのリセットもしくは携帯可能電子装置の電源がオフ状態になるまでステータスが保持される。そのため、ステータスの継続中に不当にコマンドが実行され、ICカード内のデータにアクセスされる場合があった。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2013-196436号公報
【文献】特開2001-307043号公報
【文献】特開平11-306301号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、特定のデータに対して、より適切なアクセス制御を実現することができる携帯可能電子装置、及びICカードを提供することである。
【課題を解決するための手段】
【0005】
実施形態の携帯可能電子装置は、記憶部と、状態制御部と、実行部とを持つ。記憶部は、特定のデータを所定のデータ領域に記憶する。状態制御部は、前記記憶部における前記所定のデータ領域へのアクセスに関するセキュリティ状態を前記所定のデータ領域に含まれるファイルと対応付けてメモリ上で管理する。実行部は、前記特定のデータにアクセスする所定のコマンドを受け付けた場合に、前記状態制御部により管理された前記所定のデータ領域に対するセキュリティ状態に基づいて、受け付けた所定のコマンドが実行可能であるか否かを判定し、実行可能であると判定された場合に、前記所定のコマンドの処理を実行する。また、所定のコマンドは、照合データを含む。また、状態制御部は、前記所定のデータ領域へのアクセスを行い、前記ファイルに設定されている照合データと、前記所定のコマンドに含まれる照合データとが一致したときに認証が成立したとして、前記セキュリティ状態をアクセス許可状態にし、前記セキュリティ状態に応じて前記実行部により所定のコマンドの処理が終了した場合に、前記セキュリティ状態を初期化する。
【図面の簡単な説明】
【0006】
図1】第1の実施形態のICカードの一例を示す外観図。
図2】第1の実施形態のICカードのハードウェア構成例を示す図。
図3】第1の実施形態のICカードの機能構成例を示すブロック図。
図4】ファイル内に格納されているTLV形式のデータの一例を示す図。
図5】第1の実施形態の照合データ記憶部が記憶するデータ例を示す図。
図6】第1の実施形態のセキュリティステータス記憶部が記憶するデータ例を示す図。
図7】第1の実施形態のアクセス権限記憶部が記憶するデータ例を示す図。
図8】第1の実施形態のICカード1のVERIFYコマンドの処理の一例を示すフローチャート。
図9】第1の実施形態のICカードのCOMPAREコマンドの処理の一例を示すフローチャート。
図10】第2の実施形態のICカードの機能構成例を示すブロック図。
図11】第2の実施形態の回数制限付きアクセス権限記憶部が記憶するデータ例を示す図。
図12】第2の実施形態のコマンド別実行カウンタ記憶部が記憶するデータ例を示す図。
図13】第2の実施形態のICカードのCOMPAREコマンドの処理の一例を示すフローチャート。
【発明を実施するための形態】
【0007】
以下、実施形態の携帯可能電子装置、及びICカードを、図面を参照して説明する。
【0008】
(第1の実施形態)
図1は、第1の実施形態のICカード1の一例を示す外観図である。
図1に示すように、ICカード1は、ICモジュール10を備える。ICモジュール10は、コンタクト部3と、内部にICチップ100とを備える。
【0009】
ICカード1は、例えば、プラスチックのカード基材PT(カード本体の一例)に、ICモジュール10を実装して形成されている。すなわち、ICカード1は、ICモジュール10と、ICモジュール10が埋め込まれたカード基材PTとを備える。また、ICカード1は、コンタクト部3を介して外部装置2と通信可能である。
なお、第1の実施形態では、携帯可能電子装置の一例として、ICカード1について説明する。
【0010】
ICカード1は、例えば、外部装置2が送信したコマンド(処理要求)を、コンタクト部3を介して受信し、受信したコマンドに応じた処理(コマンド処理)を実行する。そして、ICカード1は、コマンド処理の実行結果であるレスポンス(処理応答)を外部装置2にコンタクト部3を介して送信する。
ここで、外部装置2は、ICカード1と通信する装置であり、例えば、リーダ/ライタ装置を含む端末装置などである。
【0011】
ICモジュール10は、コンタクト部3と、ICチップ100とを備え、例えば、テープ上にICモジュール10が複数配置されたCOT(Chip On Tape)などの形態で取引されるモジュールである。なお、テープから個片抜きして切り離した単体のICモジュール10をCOTという場合がある。
【0012】
コンタクト部3は、ICカード1が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子は、電源電圧、クロック信号、リセット信号などを外部装置2から供給を受ける端子、及び、外部装置2と通信するためのシリアルデ―タ入出力端子(SIO端子)を有する。
ICチップ100は、例えば、1チップのマイクロプロセッサなどのLSI(Large Scale Integration)である。
【0013】
次に、図2を参照して、第1の実施形態のICカード1のハードウェア構成について説明する。
図2は、第1の実施形態のICカード1のハードウェア構成例を示す図である。
図2に示すように、ICカード1は、コンタクト部3と、ICチップ100とを備えたICモジュール10を備えている。そして、ICチップ100は、UART(Universal Asynchronous Receiver Transmitter)4と、CPU5と、ROM(Read Only Memory)6と、RAM(Random Access Memory)7と、EEPROM(Electrically Erasable Programmable ROM)8とを備えている。また、各構成(4から8)は、内部バスBS1を介して接続されている。
【0014】
UART4は、上述したSIO端子を介して、外部装置2とシリアルデータ通信を行う。UART4は、SIO端子を介して受信したシリアルデータ信号をパラレル変換したデータ(例えば、1バイトのデータ)を内部バスBS1に出力する。また、UART4は、内部バスBS1を介して取得したデータをシリアル変換して、SIO端子を介して外部装置2に出力する。UART4は、例えば、SIO端子を介してコマンドを外部装置2から受信する。また、UART4は、SIO端子を介してレスポンスを外部装置2に送信する。
【0015】
CPU5は、ROM6又はEEPROM8に記憶されているプログラムを実行して、ICカード1の各種処理を行う。CPU5は、例えば、コンタクト部3を介して、UART4が受信したコマンドに応じたコマンド処理を実行する。
【0016】
ROM6は、例えば、マスクROMなどの不揮発性メモリであり、ICカード1の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。
RAM7は、例えば、SRAM(Static RAM)などの揮発性メモリであり、ICカード1の各種処理を行う際に利用されるデータを一時記憶する。
【0017】
EEPROM8は、例えば、電気的に書き換え可能な不揮発性メモリである。EEPROM8は、ICカード1が利用する各種データを記憶する。EEPROM8は、例えば、ICカード1を利用した各種サービス(アプリケーション)に使用される情報を記憶する。
【0018】
次に、図3を参照して、第1の実施形態によるICカード1の機能構成例について説明する。
図3は、第1の実施形態のICカード1の機能構成例を示すブロック図である。
図3に示すように、ICカード1は、例えば、通信部40と、制御部50と、AP(アプリケーション)データ記憶部81と、ファイル管理情報記憶部82と、照合データ記憶部83と、セキュリティステータス記憶部71と、アクセス権限記憶部84と、を備える。
ここで、図3に示されるICカード1の各部は、図2に示されるICカード1のハードウェアを用いて実現される。
【0019】
通信部40は、例えば、UART4と、CPU5と、ROM6に記憶されているプログラムとにより実現され、コンタクト部3を介して、例えば、外部装置2との間でコマンド及びレスポンスの送受信を行う。すなわち、通信部40は、所定の処理を要求するコマンド(処理要求)を外部装置2から受信するとともに、コマンドに対するレスポンス(処理応答)を外部装置2に送信する。
【0020】
APデータ記憶部81(記憶部の一例)は、例えば、EEPROM8により構成された記憶部であり、アプリケーションデータを記憶する。APデータ記憶部81は、所定のデータ領域に、MF(Master File)、DF(Dedicated File)、EF(Elementary File)などのファイルが階層構造になって記憶されている。なお、EFは、識別情報(以下、EFID)によって識別可能に管理され、それぞれのEFには、例えば、図4に示すように、TLV形式(Tag-Length-value形式)のデータ(特定のデータ)が格納される。すなわち、APデータ記憶部81は、TLV形式のデータ(特定のデータの一例)を含むファイルを記憶する。
【0021】
図4は、ファイル内に格納されているTLV形式のデータの一例を示す図である。
図4に示す例は、EF内に、複数のTLV形式のデータ(「データA」、「データB」、・・・)が格納されている例を示している。ここで、「Tag名」は、特定のデータのTagを識別する識別情報であり、「Len」は、特定のデータの長さを示している。また、「Value」には、特定のデータの内容(データ)が格納されている。
特定のデータ(「データA」、「データB」、・・・)には、例えば、「氏名」、「住所」、「生年月日」、「年齢」「電話番号」等の個人情報や、特定の権限者でなければアクセスできない情報、その他情報が含まれる。
各TLV形式のデータは、EFの先頭アドレスから「Len」に基づいて順次検索することにより、選択したいTLV形式のデータを選択することが可能である。したがって、例えば、VERIFYコマンドによりカード使用者の本人照合確認を行い、所定の認証が成立した後に、例えば、SELECT DATAコマンド等で「Tag名」を設定することで、Tag名に対応するValue(データ)を取得することができる。
【0022】
図3の説明に戻り、ファイル管理情報記憶部82は、例えば、EEPROM8により構成された記憶部であり、上述した各種ファイルを管理する管理情報(例えば、ディレクトリ情報)を記憶する。ファイル管理情報記憶部82は、例えば、ファイル名、ファイルIDなどのファイル識別情報と、ファイルの先頭のアドレス(以下、ファイルの先頭アドレスという)とを対応付けて記憶する。ここで、ファイルの先頭アドレスは、例えば、EEPROM8の物理アドレスである。ICカード1において、各ファイルの選択、又は、各ファイルにアクセス処理を実行する場合には、ファイル管理情報記憶部82が記憶するファイル管理情報に基づいて、各ファイルの選択、又は、各ファイルにアクセス処理を実行する。ここで、アクセス処理とは、データの読み出し、書き込み、更新などの処理のことである。
【0023】
照合データ記憶部83は、例えば、EEPROM8により構成された記憶部であり、例えば、VERIFYコマンド等によって、EFIDごとに設定されるセキュリティステータス(セキュリティ状態)に関する情報を記憶する。ここで、図5を参照して、照合データ記憶部83が記憶するデータ例について説明する。
【0024】
図5は、第1の実施形態の照合データ記憶部83が記憶するデータ例を示す図である。
図5に示すように、照合データ記憶部83は、は、EFIDと、照合データと、照合結果が設定される位置とを対応付けて記憶する。照合データとは、外部装置から受け付けたコマンドが、指定されたEFIDに対応するデータへアクセスするコマンドである場合に、コマンド実行部53が、コマンドによるデータへのアクセス可否を判定するためのデータである。照合データは、ICカード1の発行時に設定されていてもよく、ICカードの所有者が外部装置から任意に設定してもよい。照合結果が設定される位置とは、例えば、照合結果が設定されるセキュリティステータス情報の位置であり、それぞれをビットの値を用いて管理することができる。例えば、VERIFYコマンド等によって、指定されたEFIDに対する照合データが合致して認証が成立した場合に、セキュリティステータス記憶部71が記憶したデータの対応するビット位置に「1」に設定する。これにより、指定されたEFID内のデータにおいて、このセッション中に行われるSELECT DATAコマンドや、COMPAREコマンドによるデータのアクセスが許可される。なお、照合データ記憶部83は、例えば、APデータ記憶部81に設けられていてもよく、ファイル管理情報記憶部82に設けられてもよい。
【0025】
セキュリティステータス記憶部71は、例えば、RAM7により構成された記憶部であり、上述したファイル管理情報記憶部82により記憶されたデータごとのセキュリティステータスを記憶する。ここで、図6を参照して、セキュリティステータス記憶部71が記憶するデータ例について説明する。
【0026】
図6は、第1の実施形態のセキュリティステータス記憶部71が記憶するデータ例を示す図である。
図6に示すように、セキュリティステータス記憶部71は、アクセス権限データ(例えば、ビットb1~b8)と、セキュリティステータスとを対応付けて記憶する。アクセス権限データは、照合データ記憶部83が記憶した照合結果が設定される位置に対応する。例えば、セキュリティステータスが「ゼロ(0)」である場合には、セキュリティステータスが未設定またはセキュリティステータスがアクセスできない状態であることを示し、「1」である場合には、セキュリティステータスが設定済みまたは照合データ記憶部83に記憶されたEFIDに対応付けられたデータへのアクセスが可能であることを示している。
【0027】
アクセス権限記憶部84は、例えば、EEPROM8により構成された記憶部であり、コマンドごとのアクセス権限と、外部装置からのコマンドを受け付けた場合に、そのコマンドによりデータをアクセスできるかの権限情報と、コマンド実行後のセキュリティステータスの内容を記憶する。ここで、図7を参照して、アクセス権限記憶部84が記憶するデータ例について説明する。
【0028】
図7は、第1の実施形態のアクセス権限記憶部84が記憶するデータ例を示す図である。
図7に示すように、アクセス権限記憶部84は、対象コマンドと、アクセス権限データと、コマンド実行後のセキュリティステータスとを対応付けて記憶する。対象コマンドは、コマンド実行部53で実行可能なコマンドであり、例えば、読み出し系(GET DATA)、設定系(PUT DATA)、参照系(COMPARE)、および変更系(WRITE)が含まれる。アクセス権限データは、例えば、上述したコマンドごとに割り当てられたデータへのアクセスの許可状態を管理するデータの位置に関する情報である。コマンド実行後のセキュリティステータスとは、例えば、コマンド実行後にセキュリティステータスを初期化(クリア)するか否かを示す情報である。
【0029】
図7の例では、参照系(COMPARE)のコマンドの場合に、コマンド実行後のセキュリティステータスを初期化し、読み出し系(GET DATA)、設定系(PUT DATA)、または変更系(WRITE)のコマンドの場合に、コマンド実行後のセキュリティステータスを初期化しない。このように、アクセス権限記憶部84により対象コマンドごとに、コマンド実行後のセキュリティステータスを調整できるため、アプリケーションのリセットもしくはICカード1の電源がオフ状態になるまで待つ必要がなく、より適切にデータのアクセス制御を行うことができる。
【0030】
再び、図3の説明に戻り、制御部50は、例えば、CPU5と、RAM7と、ROM6又はEEPROM8とにより実現され、ICカード1を統括的に制御する。制御部50は、例えば、ファイル管理部51と、セキュリティステータス制御部(状態制御部の一例)52と、コマンド実行部53とを備える。
【0031】
ファイル管理部51は、ファイル管理情報記憶部82が記憶する管理情報(例えば、ディレクトリ情報)に基づいて、APデータ記憶部81内のファイルを管理する。ファイル管理部51は、例えば、ファイルへのアクセス処理を実行する際に、ファイル管理情報記憶部82が記憶する管理情報を検索して、ファイルの記憶場所を特定する。
【0032】
セキュリティステータス制御部52は、外部装置2からICカード1に送信されたコマンド(処理要求)に基づいて、コマンドのパラメータに含まれる照合データを用いて、照合データ記憶部83により記憶された照合データと照合し、照合結果に基づいて、セキュリティステータスを設定する。
【0033】
また、セキュリティステータス制御部52は、コマンド実行部53によりコマンドが実行された場合に、セキュリティステータス記憶部71が記憶したセキュリティステータスを初期化する。具体的は、セキュリティステータス制御部52は、コマンド実行部53により実行されたコマンドが正常終了した場合に、セキュリティステータスを初期化する。初期化の一例としては、ビットを「0」にすることである。また、セキュリティステータス制御部52は、コマンド実行中にエラーが発生し、異常終了した場合に、セキュリティステータスを初期化してもよい。
【0034】
コマンド実行部(実行部の一例)53は、外部装置2からICカード1に送信されたコマンド(処理要求)に応じて、各種コマンドの処理(コマンド処理)を実行する。コマンド実行部53は、例えば、通信部40を介して外部装置2から受信したコマンドに応じて、コマンド処理を実行する。また、コマンド実行部53は、コマンド処理の結果であるレスポンスを、通信部40を介して外部装置2に送信する。
【0035】
また、コマンド実行部53は、外部装置2から受信したコマンドが、特定のデータに対する特定の処理要求(特定のコマンド)であるか否かを判定し、特定のコマンドである場合のセキュリティステータスの内容に基づいて、実行の可否を判定する。特定の処理要求とは、例えば、特定のデータとの間で比較結果を取得するCOMPAREコマンドや、特定のデータ(例えば、EF内のTag名)を指定してアクセスするアクセス処理コマンドなどである。また、アクセス処理コマンドとは、例えば、データの書き込み、読み出し、及び、更新などのアクセス処理を実行するコマンドである。
【0036】
また、コマンド実行部53は、例えば、外部装置2から特定のデータに対するアクセス処理要求(アクセス処理コマンド)を受信した場合に、選択(取得)した特定のデータに対応する先頭アドレスに基づいて、特定のデータにアクセスする処理を実行する。
【0037】
次に、図面を参照して、第1の実施形態のICカード1の動作について説明する。なお、以下の処理では、最初に本人確認等の認証処理を行うVERIFYコマンドの処理を中心に説明し、その後、特定のコマンドの一例として、COMPAREコマンドを使用する例を中心に説明するものとする。
【0038】
図8は、第1の実施形態のICカード1のVERIFYコマンドの処理の一例を示すフローチャートである。
図8に示すように、外部装置2とICカード1とがコンタクト部3を介して接続され、ICカード1がアクティブ(電源供給時)な状態において、コマンド実行部53は、ICカード1がコマンドを受信すると(ステップS100)、受信したコマンドがVERIFYコマンドであるか否かを判定する(ステップS102)。受信したコマンドがVERIFYコマンドコマンドである場合(ステップS102;YES)、コマンド実行部53は、処理をステップS104に進める。また、受信したコマンドがVERIFYコマンドではない場合(ステップS102;NO)、処理をステップS114に進める。
【0039】
ステップS104の処理において、コマンド実行部53は、VERIFYコマンドのパラメータが正当なデータか否かを判定する(ステップS104)。VERIFYコマンドのパラメータとは、例えば、ICカード1のカード使用者を認証するパスワードであるPIN(Personal Identification Number)等や照合データ、参照先のデータ等の情報である。例えば、コマンド実行部53は、パラメータのデータの属性(例えば、文字列型、整数型)やデータの内容が、予め設定された条件を満たす場合に正当なデータであると判定し、条件を満たさない場合に正当なデータではないと判定する。また、コマンド実行部53は、例えば、パラメータで指定する参照先のデータが見つからない場合に、正当なデータでないと判定してもよい。コマンド実行部53は、パラメータが正当なデータであると判定した場合(ステップS104;YES)に、処理をステップS106に進め、正当なデータでないと判定した場合(ステップS104;NO)、処理をステップS116に進める。
【0040】
ステップS106の処理において、コマンド実行部53は、パラメータで指定された対象EF(EFID)に基づいて、照合データ記憶部83のEFIDに対応付けられたデータを選択し(ステップS106)、処理をステップS108に進める。
【0041】
ステップS108の処理において、コマンド実行部53は、対象EFの照合データと、コマンドで入力されたPINデータとが合致するか否かを判定する(ステップS108)。コマンド実行部53は、照合データとPINデータとが合致する場合(ステップS108;YES)、処理をステップS110に進め、合致しない場合(ステップS108;NO)、処理をステップS118に進める。
【0042】
ステップS110の処理において、セキュリティステータス制御部52は、EFIDに対応付けられたセキュリティステータスの位置を取得し、取得した位置にアクセスを許可状態にする値をセットする(ステップS110)。図6に示すセキュリティステータス記憶部71のデータにおいて、b3に「1」が設定されているのは、EFIDが「0003」の照合が成功し、アクセスが許可状態になっていることを意味している。次に、コマンド実行部53は、正常終了を意味するステータスワードを外部装置2に送信する(ステップS112)。
【0043】
ステップS114の処理において、コマンド実行部53は、VERIFコマンド以外のコマンドに対応する処理を実行する(ステップS114)。
【0044】
ステップS116の処理において、コマンド実行部53は、パラメータの異常を意味するステータスワードを外部装置2に送信する(ステップS116)。
【0045】
ステップS118の処理において、コマンド実行部53は、合致していないことを意味するステータスワードを外部装置2に送信する(ステップS118)。これにより、本フローチャートの処理は、終了する。
【0046】
図9は、第1の実施形態のICカード1のCOMPAREコマンドの処理の一例を示すフローチャートである。なお、図9の処理は、コマンドが受信されるごとに繰り返し実行されてよい。
【0047】
図9に示すように、外部装置2とICカード1とがコンタクト部3を介して接続され、ICカード1がアクティブ(電源供給時)な状態において、コマンド実行部53は、ICカード1がコマンドを受信すると(ステップS200)、受信したコマンドがCOMPAREコマンドであるか否かを判定する(ステップS202)。コマンド実行部53は、受信したコマンドがCOMPAREコマンドである場合(ステップS202;YES)に、処理をステップS204に進め、受信したコマンドがCOMPAREコマンドではない場合(ステップS202;NO)に、処理をステップS220に進める。
【0048】
ステップS204の処理において、コマンド実行部53は、COMPAREコマンドのパラメータが正当なデータか否かを判定する(ステップS204)。COMPAREコマンドのパラメータとは、例えば、比較する2つのデータ(変数)に関する情報や、対象データのバイト長、比較結果等である。パラメータが正当であるか否かの判定は、例えば、パラメータとして設定された比較対象の2つのデータの属性等を用いて行うことができる。例えば、コマンド実行部53は、パラメータとして設定された比較対象の2つのデータの一方が整数型であり、他方が文字列型である場合に、お互いの属性が異なるため、正当なデータではないと判定する。また、コマンド実行部53は、比較対象の2つのデータの双方が整数型である場合に、パラメータが正当であると判定する。コマンド実行部53は、COMPAREコマンドのパラメータが正当なデータであると判定した場合(ステップS204;YES)に、処理をステップS206に進め、正当なデータでないと判定した場合(ステップS204;NO)に、処理をステップS216に進める。
【0049】
ステップS206の処理において、コマンド実行部53は、パラメータで指定された対象EFを選択し(ステップS206)、COMPAREコマンドに対応するセキュリティステータスが設定されているか否かを判定する(ステップS208)。具体的は、コマンド実行部53は、受信したコマンドに基づいて、図7に示すアクセス権限記憶部84のデータを参照し、受信したコマンドと合致する対象コマンドに対応付けられたアクセス権限データに基づいて、コマンドに対応するセキュリティステータスが設定済み(アクセス許可状態)であるか否かを判定する。例えば、図6および図7の例において、セキュリティステータス記憶部71のデータにおいて、COMPAREコマンドに対応するデータ「b3」のセキュリティステータスが「1」になっているため、セキュリティステータスは、設定済みであると判定される。コマンド実行部53は、コマンドに対応するセキュリティステータスが設定済みであると判定した場合(ステップS208;YES)、処理をステップS210に進め、セキュリティステータスが設定済でないと判定した場合(ステップS208;NO)、処理をステップS214に進める。
【0050】
ステップS210の処理において、コマンド実行部53は、対象EFの参照されるデータと、COMPAREコマンドのパラメータで入力された比較データとを比較し(ステップS210)、比較結果と正常終了を意味するステータスワードを外部装置2に送信して(ステップS212)、処理をステップS218に進める。
【0051】
また、ステップS214の処理において、セキュリティステータス制御部52は、セキュリティステータスが設定されていないことを意味するステータスワードを外部装置2に送信し(ステップS214)、処理をステップS218に進める。
【0052】
また、ステップS216の処理において、コマンド実行部53は、パラメータの異常を意味するステータスワードを送信し(ステップS216)、処理をステップS218に進める。
【0053】
ステップS218の処理において、セキュリティステータス制御部52は、セキュリティステータス記憶部71のデータのセキュリティステータスを初期化する(ステップS218)。具体的には、セキュリティステータス制御部52は、VARIFYコマンドにより設定されたビットb3の値を「1」から「0」に初期化する。これにより、COMPAREコマンドが正常終了または異常終了の何れの場合にもセキュリティステータスがコマンド実行後に初期化されることになる。なお、セキュリティステータス制御部52は、正常終了または異常終了した直後のタイミングでセキュリティステータスを初期化してもよく、またコマンドの実行が終了してから所定時間経過後に初期化してもよい。また、セキュリティステータス制御部52は、2回目のCOMPAREコマンドを受信したタイミングでセキュリティステータスを初期化してもよい。これらのタイミングは、例えば、セキュリティステータス制御部52によって、コマンドが実行される対象のデータの種類等に基づいて可変に設定されてよい。
【0054】
また、ステップS220の処理において、コマンド実行部53は、COMPAREコマンド以外のコマンドに対する処理を実行する(ステップS220)。これにより、本フローチャートの処理は、終了する。
【0055】
上述したように第1の実施形態によれば、ICカード1(携帯可能電子装置)は、特定のデータに対して、より適切なアクセス制御を実現することができる。具体的には、第1の実施形態によれば、セキュリティステータスが確立(セッションが確立)した後(アクセス許可状態に設定された後)に、特定のコマンドの実行された場合に、コマンドが正常終了した場合または異常終了した場合の何れの場合にも、セッションの終了、アプリケーションのリセット、もしくはICカード1の電源がオフ状態になるまで待つ必要がなく、セキュリティステータスをクリアすることができる。したがって、例えば、あるサービス業者などが、カード所持者の年齢確認として、何歳以上(若しくは以下)であるかを判定する場合に、COMPAREコマンドのパラメータによって、比較対象を20歳、21歳、22歳、…と順次変えながら繰り返し実行することで、何歳以上かという情報だけでなく、何歳であるかまで不当に特定されてしまうことを抑制することができる。
【0056】
なお、第1の実施形態においては、COMPAREコマンドが正常終了した場合または異常終了した場合の何れの場合にも、セキュリティステータス情報を初期化する例について説明したが、これに限定されず、正常終了した場合に、セキュリティステータスを初期化してもよい。これにより、上述したようにCOMPAREコマンドが繰り返し実行されることを抑制することができる。また、パラメータが正当ではなく異常終了した場合には、繰り返しても異常終了が繰り返されるだけであり、パラメータを変えて正常終了となった場合には、その時点で初期化されるため、正常終了を繰り返すような処理は実行されないことになる。
【0057】
また、第1の実施形態において、セキュリティステータス制御部52は、例えば、ICカード1へのアクセス者の権限情報に基づいて、セキュリティステータスを制御してもよい。この場合、セキュリティステータス制御部52は、例えば、アクセス者が管理者レベルまたは所有者レベルの権限である場合に、データに格納された全ての情報へのアクセスを許可状態にしたり、コマンドの繰り返し使用を許可する。これにより、セキュリティステータス制御部52は、アクセス者に応じて、より適切なアクセス制御を行うことができる。
【0058】
(第2の実施形態)
次に、図面を参照して、第2の実施形態によるICカード1aについて説明する。図10は、第2の実施形態のICカード1aの機能構成例を示すブロック図である。
図10に示すように、ICカード1aは、例えば、通信部40と、制御部50と、APデータ記憶部81と、ファイル管理情報記憶部82と、照合データ記憶部83と、セキュリティステータス記憶部71と、回数制限付きアクセス権限記憶部85と、コマンド別実行カウンタ記憶部72とを備える。
【0059】
なお、第2の実施形態によるICカード1aの外観及びハードウェア構成は、図1及び図2に示す第1の実施形態と同様であるので、ここではその説明を省略する。また、図10において、図3に示す構成と同一の構成については同一の符号を付し、その説明を省略する。また、図10に示されるICカード1aの各部は、図2に示されるICカード1のハードウェアを用いて実現される。
【0060】
第2の実施形態では、第1の実施形態のICカード1に比して、セキュリティステータス制御部52およびアクセス権限記憶部84に代えて、セキュリティステータス制御部52aと、回数制限付きアクセス権限記憶部85と、コマンド別実行カウンタ記憶部72とを備える点が異なる。したがって、以下では、主にセキュリティステータス制御部52a、回数制限付きアクセス権限記憶部85、およびコマンド別実行カウンタ記憶部72を中心に説明する。
【0061】
回数制限付きアクセス権限記憶部85は、例えば、EEPROM8により構成された記憶部である。回数制限付きアクセス権限記憶部85は、対象コマンドと、アクセス権限データと、コマンド実行回数制限値と、コマンド実行後のセキュリティステータスとを対応付けて記憶する。ここで、図11を参照して、回数制限付きアクセス権限記憶部85が記憶するデータ例について説明する。
【0062】
図11は、第2の実施形態の回数制限付きアクセス権限記憶部85が記憶するデータ例を示す図である。
図11に示すように、回数制限付きアクセス権限記憶部85は、例えば、対象コマンドと、アクセス可否条件と、コマンド実行回数制限値と、コマンド実行後のセキュリティステータスとを対応付けた情報を記憶する。回数制限付きアクセス権限記憶部85のデータは、第1の実施形態のアクセス権限記憶部84のデータと比較して、コマンドを実行する回数を制限するコマンド実行回数制限値が追加されている。図11の例において、参照系(COMPARE)のコマンド実行回数制限値には、所定回数として「3」が設定されている。これは、外部装置2から連続して3回までCOMPAREコマンドを許可することを示している。
なお、コマンド実行回数制限値は、ICカード1aの発行時に設定されていてもよく、特定の外部装置(例えば、管理者端末)からの指示情報により、管理者等が任意のタイミングで実行回数を設定してもよい。
【0063】
コマンド別実行カウンタ記憶部72は、例えば、RAM7により構成された記憶部であり、コマンドごとのコマンド実行可能回数を記憶する。ここで、図12を参照して、セキュリティステータス記憶部71が記憶するデータ例について説明する。
【0064】
図12は、第2の実施形態のコマンド別実行カウンタ記憶部72が記憶するデータ例を示す図である。
図12に示すように、コマンド別実行カウンタ記憶部72は、コマンド名と、コマンド実行可能回数[回]とを対応付けて記憶する。コマンド実行可能回数は、回数制限付きアクセス権限記憶部85のコマンド実行回数制限値から得られる値である。コマンド実行可能回数は、コマンド実行部53によりコマンドを実行するごとに、セキュリティステータス制御部52aによって、実行されたコマンドの実行可能回数がデクリメントされる。
【0065】
セキュリティステータス制御部52aは、外部装置2からコマンドの入力を受け付けた場合に、コマンド別実行カウンタ記憶部72のコマンド実行可能回数を参照し、設定された範囲内でコマンド実行部53によるコマンドの繰り返しの実行を許可する。
【0066】
次に、図面を参照して、第2の実施形態のICカード1aの動作について説明する。なお、第2の実施形態におけるVERIFYコマンドの処理は、第1の実施形態と同様であるため、主にCOMPAREコマンドを使用する例を中心に説明するものとする。図13は、第2の実施形態のICカード1aのCOMPAREコマンドの処理の一例を示すフローチャートである。なお、図13の処理は、コマンドが受信されるごとに繰り返し実行されてよい。
【0067】
図13の例において、ステップS300~S308の処理は、図9に示すステップS200~S208の処理と同様であるため、ここでの説明を省略する。コマンドに対応するセキュリティステータスが設定済みである場合(ステップS308;YES)、ステップS310の処理において、セキュリティステータス制御部52aは、コマンド別実行カウンタ記憶部72のコマンド実行可能回数を参照し、コマンド実行可能回数が1以上か否かを判定する(ステップS310)。ステップS310の処理において、コマンド実行可能回数が設定されていない場合、セキュリティステータス制御部52aは、回数制限付きアクセス権限記憶部85のコマンド実行回数制限値を取得し、取得した値をコマンド実行可能回数に設定する。また、回数制限付きアクセス権限記憶部85のコマンド実行回数制限値にも回数が設定されていない場合、セキュリティステータス制御部52aは、コマンド実行可能回数を固定値(例えば、1回)に設定してもよい。セキュリティステータス制御部52aは、コマンド実行可能回数が1以上である場合に、処理をステップS312に進め、コマンド実行可能回数が0である場合に、処理をステップS320に進める。
【0068】
ステップS312の処理において、コマンド実行部53は、対象EFの参照されるデータと、コマンドで入力された比較データを比較し(ステップS312)、比較結果と正常終了を意味するステータスワードを外部装置2に送信する(ステップS314)。次に、セキュリティステータス制御部52aは、コマンド実行可能回数をデクリメントし(ステップS316)、処理をステップS318に進める。
【0069】
ステップS318の処理において、コマンド実行部53は、例えば、同一のセッション内で次のコマンドを受信したか否かを判定する(ステップS318)。コマンド実行部53は、次のコマンドを受信したと判定した場合に(ステップS318;YES)、ステップS302の処理に戻り、次のコマンドを受信していないと判定した場合に(ステップS318;NO)、処理をステップS326の処理に進める。
【0070】
また、ステップS320の処理において、セキュリティステータス制御部52aは、実行可能回数を超えたため、コマンドの実行が不可能であることを意味するステータスワードを外部装置2に送信し(ステップS320)、処理をステップS326に進める。
【0071】
また、ステップS308の処理において、コマンドに対応するセキュリティステータスが設定済みでない場合(ステップS308;NO)、セキュリティステータス制御部52aは、セキュリティステータスが設定されていないことを意味するステータスワードを外部装置2に送信し(ステップS322)、処理をステップS326に進める。
【0072】
また、ステップS304の処理において、パラメータが正当なデータでないと判定された場合(ステップS304;NO)、コマンド実行部53は、パラメータの異常を意味するステータスワードを送信し(ステップS324)、処理をステップS326に進める。
【0073】
ステップS326の処理において、セキュリティステータス制御部52aは、コマンド別実行カウンタ記憶部72のコマンド名(COMPARE)のコマンド実行可能回数を「0」に初期化し(ステップS326)、セキュリティステータスを「0」に初期化する(ステップS328)。ステップS328の処理は、ステップS218の処理と同様である。
【0074】
また、ステップS302の処理において、COMPAREコマンドでない場合(ステップS302;NO)、コマンド実行部53は、COMPAREコマンド以外のコマンドに対する処理を実行する(ステップS330)。これにより、本フローチャートの処理は、終了する。
【0075】
上述したように第2の実施形態によれば、ICカード1a(携帯可能電子装置)は、第1の実施形態におけるICカード1と同様の効果を奏する他、特定のコマンドに対する複数回の実行を許容することができる。したがって、第2の実施形態によれば、例えば、あるサービス業者などが、20歳から40歳までの年齢を対象にサービスを提供するような場合に、ICカード1aに記憶された「年齢」に対し、「20歳以上であるか」と、「40歳以下であるか」の2回のCOMPAREコマンド実行を行うことができるため、より複雑な年齢制限の認証を行うことができる。したがって、特定のデータに対して、より適切なアクセス制御を実現することができる。
【0076】
上記の各実施形態において、特定のコマンドの一例として、COMPAREコマンドを用いたが、特定のコマンドは、COMPAREコマンドおよびアクセス処理コマンドの何れか一方でもよい。また、アクセス処理コマンドは、ICカード1(1a)が有するアクセス処理コマンドのうちの一部のコマンドであってもよい。また、上記の各実施形態では、アクセスするデータの対象をEF内のデータとしたが、例えば、他の領域(例えば、DF)にアクセス可能なコマンドを用いる場合には、そのコマンドの実行に対して、上述したようにセキュリティステータスの制御を行うことができる。
【0077】
また、上記の各実施形態において、ICカード1(1a)は、コンタクト部3を介して外部装置2と通信する例を説明したが、コイルなどを用いたコンタクトレスインターフェースを介して外部装置2と通信するように構成してもよい。
【0078】
また、上記の各実施形態において、ICカード1(1a)は、書き換え可能な不揮発性メモリとして、EEPROM8を備える構成としたが、これに限定されるものではない。
例えば、ICカード1(1a)は、EEPROM8の代わりに、フラッシュメモリ、FeRAM(Ferroelectric Random Access Memory:強誘電体メモリ)などを備えてもよい。
【0079】
また、上記の各実施形態において、携帯可能電子装置の一例として、ICカード1(1a)を用いる例を説明したが、これに限定されるものではない。携帯可能電子装置は、例えば、カード形状ではないICタグなどの電子装置であってもよい。
【0080】
以上説明した少なくともひとつの実施形態によれば、特定のデータを所定のデータ領域に記憶するAPデータ記憶部81と、APデータ記憶部81における所定のデータ領域へのアクセスに関するセキュリティ状態をメモリ上で管理するセキュリティステータス制御部52と、特定のデータにアクセスするコマンドを受け付けた場合に、セキュリティステータス制御部52により管理された所定のデータ領域に対するセキュリティ状態に基づいて、受け付けたコマンドが実行可能であるか否かを判定し、実行可能であると判定された場合に、コマンドの処理を実行するコマンド実行部53と、を持ち、セキュリティステータス制御部52は、コマンド実行部53により所定のコマンドの処理が終了した場合に、前記セキュリティ状態を初期化することにより、特定のデータに対して、より適切なアクセス制御を実現することができる。
【0081】
上記実施形態は、以下のように表現することができる。
特定のデータを所定のデータ領域に記憶する記憶部と、
前記記憶部に記憶されたプログラムを実行するハードウェアプロセッサと、を備え、
前記記憶部には、前記ハードウェアプロセッサに、
前記記憶部における前記所定のデータ領域へのアクセスに関するセキュリティ状態をメモリ上で管理し、
前記特定のデータにアクセスする所定のコマンドを受け付けた場合に、管理された前記所定のデータ領域に対するセキュリティ状態に基づいて、受け付けた所定のコマンドが実行可能であるか否かを判定し、
実行可能であると判定された場合に、前記所定のコマンドの処理を実行し、
前記所定のコマンドの処理が終了した場合に、前記セキュリティ状態を初期化する処理
を実行させる前記プログラムが格納されている、携帯可能電子装置。
【0082】
なお、実施形態におけるICカード1(1a)が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したICカード1(1a)が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0083】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0084】
1,1a…ICカード、2…外部装置、3…コンタクト部、4…UART、5…CPU、6…ROM、7…RAM、8…EEPROM、10‥ICモジュール、40…通信部、50…制御部、51…ファイル管理部、52,52a…セキュリティステータス制御部、53…コマンド実行部、71…セキュリティステータス記憶部、72…コマンド別実行カウンタ記憶部、81…APデータ記憶部、82…ファイル管理情報記憶部、83…照合データ記憶部、84…アクセス権限記憶部、85…回数制限付きアクセス権限記憶部、100…ICチップ、BS1…内部バス、PT…カード基材
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13