(57)【要約】【課題】不正アクセスがあった可能性の高い状況に対応して、迅速にセキュリティレベルを高くすることができる携帯可能電子装置を提供することである。【解決手段】  実施形態の携帯可能電子装置は、通信部と、処理部とを持つ。通信部は、外部機器と通信を行う。処理部は、前記通信部が受信したコマンドに応答する処理を行う処理部であって、特定の処理を高頻度に実行するのに応じて高いセキュリティレベルで処理を行う。【選択図】図９
2016085520.tif 000002
【特許請求の範囲】
【請求項１】
外部機器と通信を行う通信部と、
前記通信部が受信したコマンドに応答する処理を行う処理部であって、特定の処理を高頻度に実行するのに応じて高いセキュリティレベルで処理を行う処理部と、
を備える携帯可能電子装置。
【請求項２】
前記外部機器から供給された電力によって充電されるコンデンサを備え、
前記処理部は、前記コンデンサに蓄えられた電荷が増加するのに応じて高いセキュリティレベルで処理を行う、
請求項１記載の携帯可能電子装置。
【請求項３】
前記処理部は、前記特定の処理を実行する度に前記コンデンサが充電されるように、前記コンデンサと前記外部機器との接続を制御する、
請求項２記載の携帯可能電子装置。
【請求項４】
前記処理部は、ウォームリセットがされた回数が増加するのに応じてセキュリティレベルを高くする、
請求項１から３のうちいずれか１項記載の携帯可能電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、携帯可能電子装置に関する。
【背景技術】
【０００２】
ＩＣ（Integrated  Circuit）カード等の携帯可能電子装置が普及している。携帯可能電子装置は、内部に保持する情報の漏えいや改ざん等を目的とした不正アクセスを妨害するための機能を備える場合がある。この機能の使用に際しては、セキュリティレベルを高めるほど処理時間が長くなってしまうというトレードオフの関係が生じる。このため、無制限に高いセキュリティレベルで処理を行うと、処理時間が長くなり利便性が低下する場合がある。従来の技術では、状況に対応したセキュリティレベルの変更が困難であった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２０３８００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、不正アクセスがあった可能性の高い状況に対応して、迅速にセキュリティレベルを高くすることができる携帯可能電子装置を提供することである。
【課題を解決するための手段】
【０００５】
実施形態の携帯可能電子装置は、通信部と、処理部とを持つ。通信部は、外部機器と通信を行う。処理部は、前記通信部が受信したコマンドに応答する処理を行う処理部であって、特定の処理を高頻度に実行するのに応じて高いセキュリティレベルで処理を行う。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態のＩＣカード１の外観構成の一例を示す図。
【図２】第１の実施形態のＩＣカード１の機能構成例を示す図。
【図３】ＩＣカード１がＡＴＲ等のデータを送信する処理の流れの一例を示すフローチャート。
【図４】ＩＣカード１が重要データをＥＥＰＲＯＭ１５に書き込む処理の流れの一例を示すフローチャート。
【図５】ＩＣカード１が機密データをＲＡＭ１４上から上書き削除する処理の流れの一例を示すフローチャート。
【図６】コンデンサ１１Ａを中心とした回路構成を例示した図。
【図７】コンデンサ１１Ａを中心とした回路構成の他の例を示す図。
【図８】スイッチ３０の状態制御と、コンデンサ１１Ａの電圧Ｖの推移との関係の一例を示す図である。
【図９】ＩＣカード１が起動してからの処理の流れの一例を示すフローチャート。
【図１０】第２の実施形態のＩＣカード１ａの機能構成例を示す図。
【図１１】特定の処理が高頻度に行われない場合における、コンデンサ１１Ａの電圧Ｖの推移を示す図。
【図１２】特定の処理が高頻度に行われた場合における、コンデンサ１１Ａの電圧Ｖの推移を示す図。
【発明を実施するための形態】
【０００７】
以下、実施形態の携帯可能電子装置を、図面を参照して説明する。
【０００８】
（第１の実施形態）
図１は、第１の実施形態のＩＣカード１の外観構成の一例を示す図である。図示するように、ＩＣカード１は、ＩＣモジュール１０を備える。ＩＣモジュール１０は、コンタクト部３と、内部にＩＣチップ１００とを備える。ＩＣカード１は、例えば、プラスチックのカード基材９に、ＩＣモジュール１０を実装して形成されている。また、ＩＣカード１は、コンタクト部３を介して外部装置２と通信可能である。以下、携帯可能電子装置の一例としてＩＣカード１について説明するが、携帯可能電子装置は、携帯電話等の電子デバイスであってもよい。また、ＩＣカード１は、非接触式のＩＣカードであってもよい。
【０００９】
ＩＣカード１は、例えば、外部装置２が送信したコマンド（処理要求）を、コンタクト部３を介して受信し、受信したコマンドに応じた処理（コマンド処理）を実行する。そして、ＩＣカード１は、コマンド処理の実行結果であるレスポンス（処理応答）を外部装置２にコンタクト部３を介して送信する。ここで、外部装置２は、ＩＣカード１と通信する上位装置であり、例えば、リーダ／ライタ装置などを含む。
【００１０】
ＩＣモジュール１０は、例えば、テープ上にＩＣモジュール１００が複数配置されたＣＯＴ（Chip  On  Tape）などの形態で取引されるモジュールである。コンタクト部３は、ＩＣカード１が動作するために必要な各種信号の端子を有する。コンタクト部３は、各種信号の端子として、電源電圧、クロック信号、リセット信号などを外部装置２から供給を受ける端子、及び、外部装置２と通信するためのシリアルデ―タ入出力端子（ＳＩＯ端子）を有する。外部装置２から供給を受ける端子には、電源端子（ＶＤＤ端子、ＧＮＤ端子）、クロック信号端子（ＣＬＫ端子）、及びリセット信号端子（ＲＳＴ端子）が含まれる。ＩＣチップ１００は、例えば、１チップのマイクロプロセッサなどのＬＳＩ（Large  Scale  Integration）である。
【００１１】
図２は、第１の実施形態のＩＣカード１の機能構成例を示す図である。図示するように、ＩＣカード１は、ＣＰＵ（Central  Processing  Unit）１１と、ＵＡＲＴ（Universal  Asynchronous  Receiver  Transmitter）１２と、ＲＯＭ（Read  Only  Memory）１３と、ＲＡＭ（Random  Access  Memory）１４と、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  ROM）１５と、コプロセッサ１６とを備える。これらの構成は、システムバス１７を介して相互に通信可能に接続されている。また、ＩＣカード１は、セキュリティ機能部２０を備える。ＣＰＵ１１とセキュリティ機能部２０を合わせたものが、「処理部」の一例である。セキュリティ機能部２０の機能については後述する。
【００１２】
ＣＰＵ１１は、ＲＯＭ１３又はＥＥＰＲＯＭ１５に記憶されているプログラムを実行して、ＩＣカード１の各種処理を行う。ＣＰＵ１１は、例えば、コンタクト部３を介して、ＵＡＲＴ１２が受信したコマンドに応じたコマンド処理を実行する。ＣＰＵ１１には、コンデンサ１１Ａが内蔵または付設されている。
【００１３】
ＵＡＲＴ１２は、外部装置２と通信する通信部として機能する。ＵＡＲＴ１２は、シリアル信号とパラレル信号の相互変換を行う集積回路を含む。ＵＡＲＴ１２は、外部装置２からＩＣカード１に送信されたコマンドの情報を受信して受け取る。また、ＵＡＲＴ１２は、受け取ったコマンドの処理をＣＰＵ１１により実行した結果の情報を、レスポンスの情報として外部装置２に送信する。なお、ＵＡＲＴ１２が受信したコマンドの情報は、ＲＡＭ１２に設けられた専用領域に一旦記憶された後に、当該専用領域を監視するＣＰＵ１１により読み出される。なお、ＵＡＲＴ１２には、コンタクト部３を介して、電源電圧、クロック信号、リセット信号が供給され、これらの信号は、ＵＡＲＴ１２を介して各機能部に供給される。
【００１４】
ＲＯＭ１３は、例えば、マスクＲＯＭなどの不揮発性メモリである。ＲＯＭ１３は、ＩＣカード１の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。ＲＡＭ１４は、例えば、ＳＲＡＭ（Static  RAM）などの揮発性メモリである。ＲＡＭ１４は、ＩＣカード１の各種処理を行う際に利用されるデータを一時記憶する。ＥＥＰＲＯＭ１５は、電気的に書き換え可能な不揮発性メモリである。
【００１５】
コプロセッサ１６は、暗号処理や復号処理を高速に行うための補助的な回路である。コプロセッサ１６は、例えば、ＡＥＳ（Advanced  Encryption  Standard）暗号やＲＳＡ暗号などの処理、又は当該処理の一部を実行する。コプロセッサ１６は、例えば、ＣＰＵ１１により指示されて、暗号処理や復号処理に関する処理を実行する。
【００１６】
セキュリティ機能部２０は、ＩＣカード１のセキュリティ性を高めるための機能部である。セキュリティ機能部２０は、内部解析（リバースエンジニアリング）や改変に対する防護力（耐タンパ性）を実現し、外部からの非正規な手段による機密データの読み取りや解析を抑制する。ＩＣカード１を攻撃する手法としては、例えば、電力解析攻撃などのサイドチャネル攻撃や故障利用解析攻撃などがあり、セキュリティ機能部２０は、これらの攻撃からＩＣカード１の機密データを防護する。
【００１７】
セキュリティ機能部２０の機能は、セキュリティレベルに応じて程度または作動の有無が変更される。セキュリティレベルは、ＣＰＵ１１により設定される。セキュリティレベルの設定情報は、ＲＡＭ１４またはＥＥＰＲＯＭ１５に格納される。セキュリティレベルの設定手法については後述する。
【００１８】
セキュリティ機能部２０の機能としては、例えば、以下の機能が挙げられる。セキュリティ機能部２０は、ＣＰＵ１１がソフトウェアを実行することにより実現されるソフトウェア機能部であってもよいし、ハードウェア機能部であってもよい。また、セキュリティ機能部２０ソフトウェア機能部とハードウェア機能部の双方を含んでもよい。セキュリティ機能部２０は、ソフトウェアまたはハードウェアによって、以下の機能のうち一部または全部の機能を実現する。
【００１９】
（ａ）ランダムウエイト機能
セキュリティ機能部２０は、例えば、ＣＰＵ１１の実行サイクルの中にダミーサイクルを挿入することにより、ＣＰＵ１１の実行クロック数（マシンサイクル数）を特定の範囲内でランダムに変動させる。ランダムウエイト機能は、ハードウェアによって実現されてもよいし、ソフトウェアによって実現されてもよい。
（ｂ）ランダムカレント機能
セキュリティ機能部２０は、ＩＣカード１の電力消費量をランダムに変動させる。
（ｃ）ＭＰＵ（Memory  Protection  Unit）機能
セキュリティ機能部２０は、意図しないメモリ領域へのアクセスを禁止するなどにより、メモリ領域の保護を行う。
（ｄ）完全性検証機能
セキュリティ機能部２０は、重要データに対して冗長データを付与し、処理の前後で検証を行う。
（ｅ）プログラムフロー検証機能
セキュリティ機能部２０は、プログラムスキップを検知する。
（ｆ）重要処理の検算処理機能
セキュリティ機能部２０は、重要な処理について検算処理を行う。
（ｇ）機密データの漏洩対策機能
セキュリティ機能部２０は、機密データが外部に直接的または間接的に出力されることがないようにする。
【００２０】
セキュリティレベルは、例えば１（最も低い）、２、３（最も高い）の３段階で設定される。また、セキュリティレベルに応じてセキュリティ機能部２０が実行する機能は、ＣＰＵ１１が実行する処理の種類に応じて異なるものとなる。
【００２１】
ＣＰＵ１１がＡＴＲ（Answer  To  Reset）等のデータをＵＡＲＴ１２に送信させる処理において、セキュリティ機能部２０が有効化する機能は、例えば以下のように設定される。
・セキュリティレベル１：有効化機能なし。
・セキュリティレベル２：（ｃ）ＭＰＵ機能、および（ｄ）完全性検証機能を有効化。
・セキュリティレベル３：（ａ）ランダムウエイト機能、（ｂ）ランダムカレント機能、（ｃ）ＭＰＵ機能、および（ｄ）完全性検証機能を有効化。
【００２２】
図３は、ＩＣカード１がＡＴＲ等のデータを送信する処理の流れの一例を示すフローチャートである。まず、ＣＰＵ１１は、セキュリティレベルが３であるか否かを判定する（ステップＳ２００）。セキュリティレベルが３でない、すなわちセキュリティレベルが１または２である場合（ステップＳ２００のＮｏ）、ＣＰＵ１１は、ＥＥＰＲＯＭ１５に格納されたＡＴＲ等のデータをＲＡＭ１４に読み出す（ステップＳ２０２）。
【００２３】
一方、セキュリティレベルが３である場合（ステップＳ２００のＹｅｓ）、ＣＰＵ１１は、（ａ）ランダムウエイト機能、および（ｂ）ランダムカレント機能を有効化し（ステップＳ２０４）、ＥＥＰＲＯＭ１５に格納されたＡＴＲ等のデータをＲＡＭ１４に読み出し（ステップＳ２０６）、（ａ）ランダムウエイト機能、および（ｂ）ランダムカレント機能を無効化する（ステップＳ２０８）。なお、「有効化する」とは、ＣＰＵ１１が、該当機能を有効化するようにセキュリティ機能部２０に指示することを意味するものとする。無効化についても同様である。
【００２４】
次に、ＣＰＵ１１は、ステップＳ２０２またはＳ２０６においてＲＡＭ１４に読み出されたデータからレスポンスデータのフォーマットを整形し、ＵＡＲＴ１２に入力するためのＲＡＭ１４の別領域にデータ転送する（ステップＳ２１０）。次に、ＣＰＵ１１は、セキュリティレベルが２または３であるか否かを判定する（ステップＳ２１２）。
【００２５】
セキュリティレベルが２または３でない、すなわちセキュリティレベルが１である場合（ステップＳ２１２のＮｏ）、ＣＰＵ１１は、ＵＡＲＴ１２にレスポンスデータを送信させ（ステップＳ２１４）、本フローチャートの処理を終了する。
【００２６】
一方、セキュリティレベルが２または３である場合（ステップＳ２１２のＹｅｓ）、ＣＰＵ１１は、ステップＳ２１０のデータ転送が正しく行われたかどうかを検証する、すなわち別領域へのデータ転送について（ｄ）完全性検証を行う（ステップＳ２１６）。次に、ＣＰＵ１１は、レスポンスデータの送信前に、（ｃ）ＭＰＵ機能により意図しないメモリ領域へのアクセスを禁止し（ステップＳ２１８）、ＵＡＲＴ１２にレスポンスデータを送信させ（ステップＳ２２０）、ＭＰＵ機能を無効化する（ステップＳ２２２）。そして、ＣＰＵ１１は、本フローチャートの処理を終了する。
【００２７】
ＣＰＵ１１が重要データをＥＥＰＲＯＭ１５に書き込む処理において、セキュリティ機能部２０が実行する処理は、例えば以下のように設定される。
・セキュリティレベル１：（ｄ）完全性検証機能を有効化。
・セキュリティレベル２：（ｂ）ランダムカレント機能、および（ｄ）完全性検証機能を有効化。
・セキュリティレベル３：（ａ）ランダムウエイト機能、（ｂ）ランダムカレント機能、（ｄ）完全性検証機能、および（ｅ）プログラムフロー検証機能を有効化。
【００２８】
図４は、ＩＣカード１が重要データをＥＥＰＲＯＭ１５に書き込む処理の流れの一例を示すフローチャートである。まず、ＣＰＵ１１は、セキュリティレベルが２または３であるか否かを判定する（ステップＳ３００）。セキュリティレベルが２または３でない、すなわち、セキュリティレベルが１である場合（ステップＳ３００のＮｏ）、ＣＰＵ１１は、ステップＳ３１０に処理を進める。セキュリティレベルが２または３である場合（ステップＳ３００のＹｅｓ）、ＣＰＵ１１は、ランダムカレント機能を有効化し（ステップＳ３０２）、セキュリティレベルが３であるか否かを判定する（ステップＳ３０４）。セキュリティレベルが３でない場合、すなわちセキュリティレベルが２である場合（ステップＳ３０４のＮｏ）、ＣＰＵ１１は、ステップＳ３１０に処理を進める。
【００２９】
セキュリティレベルが３である場合（ステップＳ３０４のＹｅｓ）、ＣＰＵ１１は、（ソフトウェアによって（ａ）ランダムウエイトを行い（ステップＳ３０６）、ソフトウェアによって（ａ）ランダムウエイトが行われたことを（ｅ）プログラムフロー検証機能により確認する（ステップＳ３０８）。
【００３０】
次に、ＣＰＵ１１は、書込み元メモリアドレス等の（ｄ）完全性検証を行い（ステップＳ３１０）、ＲＡＭ１４からＥＥＰＲＯＭ１５にデータを書き込む（ステップＳ３１２）。そして、ＣＰＵ１１は、セキュリティレベルが２または３であるか否かを判定する（ステップＳ３１４）。セキュリティレベルが２または３でない、すなわち、セキュリティレベルが１である場合（ステップＳ３１４のＮｏ）、本フローチャートの処理が終了する。一方、セキュリティレベルが２または３である場合（ステップＳ３１４のＹｅｓ）、ＣＰＵ１１は、ランダムカレントを無効化し（ステップＳ３１６）、本フローチャートの処理を終了する。
【００３１】
ＣＰＵ１１が機密データをＲＡＭ１４上から上書き削除する処理において、セキュリティ機能部２０が実行する処理は、上記（ａ）〜（ｇ）とは異なる処理となる。図５は、ＩＣカード１が機密データをＲＡＭ１４上から上書き削除する処理の流れの一例を示すフローチャートである。まず、ＣＰＵ１１は、機密データの管理データを削除する（ステップＳ４００）。次にＣＰＵ１１は、セキュリティレベルが２または３であるか否かを判定する（ステップＳ４０２）。セキュリティレベルが２または３でない、すなわち、セキュリティレベルが１である場合（ステップＳ４０２のＮｏ）、ＣＰＵ１１は、本フローチャートの処理を終了する。
【００３２】
セキュリティレベルが２または３である場合（ステップＳ４０２のＹｅｓ）、ＣＰＵ１１は、セキュリティレベルが３であるか否かを判定する（ステップＳ４０４）。セキュリティレベルが３でない、すなわちセキュリティレベルが２である場合（ステップＳ４０４のＮｏ）、ＣＰＵ１１は、機密データの本体データを固定値で上書き削除し（ステップＳ４０６）、本フローチャートの処理を終了する。
【００３３】
セキュリティレベルが３である場合（ステップＳ４０４のＹｅｓ）、ＣＰＵ１１は、機密データの本体データを乱数で上書き削除し（ステップＳ４０８）、上書き削除されていることを、ＲＡＭ１４から読み出して確認する（ステップＳ４１０）。そして、ＣＰＵ１１は、本フローチャートの処理を終了する。
【００３４】
なお、これまでの説明では、セキュリティレベルに応じてセキュリティ機能の有効／無効を切り替えることについて説明したが、セキュリティレベルに応じてセキュリティ機能の程度を調整するようにしてもよい。例えば、（ａ）ランダムウエイト機能を例にとると、セキュリティ機能部２０は、セキュリティレベルが高くなるのに応じてダミーサイクルを挿入する頻度を高くし、あるいはダミーサイクルの長さを長くするようにしてもよい。
【００３５】
以下、セキュリティレベルの設定手法について説明する。セキュリティレベルの設定は、コンデンサ１１Ａの充電状態に基づいて行われる。コンデンサ１１Ａは、コンタクト部３が外部装置２から受けた電力によって充電される。図６は、コンデンサ１１Ａを中心とした回路構成を例示した図である。コンタクト部３が受けた電力は、例えば、レギュレータ３２によって一定電圧に制御され、各機能部に供給される。レギュレータ３２からコンデンサ１１Ａに至る電力経路には、スイッチ３０が設けられている。スイッチ３０は、リレーやトランジスタなどで構成される。スイッチ３０とコンデンサ１１Ａの間には、例えば、充電時間調整用の定電流回路１１Ｂが設けられている。コンデンサ１１Ａの電圧Ｖは、コンパレータ１１Ｃによって、レギュレータ３２の出力電圧を分圧抵抗Ｒ１、Ｒ２で分圧した基準電圧Ｔｈと比較される。コンパレータ１１Ｃは、コンデンサ１１Ａの電圧Ｖが基準電圧Ｔｈを超えると所定の信号をＣＰＵ１１に出力する。コンデンサ１１Ａの電圧Ｖは、コンデンサ１１Ａに蓄えられた電荷と比例する関係にある。従って、図６に例示した構成によって、コンデンサ１１Ａに蓄えられた電荷が一定以上増加すると、コンデンサ１１Ａの電圧Ｖが基準電圧Ｔｈを超え、コンパレータ１１Ｃが所定の信号を出力するようになっている。また、図６に例示した定電流回路１１Ｂに代えて、抵抗Ｒ３を備える構成を採用してもよい。図７は、コンデンサ１１Ａを中心とした回路構成の他の例を示す図である。
【００３６】
ＣＰＵ１１は、特定の処理を行う度に、所定時間、スイッチ３０をオン状態（導通状態）にし、それ以外の時にはスイッチ３０をオフ状態（遮断状態）に維持する。これによって、特定の処理が高頻度に行われた場合、コンデンサ１１Ａに蓄えられた電荷は徐々に増加し、これに伴ってコンデンサ１１Ａの電圧Ｖが基準電圧Ｔｈを超えることになる。図８は、スイッチ３０の状態制御と、コンデンサ１１Ａの電圧Ｖの推移との関係の一例を示す図である。ここで、どのような処理を特定の処理として扱うかは任意に設定してよく、例えば、ＡＴＲを外部装置２に送信する処理やピンの照合処理などを特定の処理として扱ってよい。
【００３７】
ここで、特定の処理が高頻度に行われる場面とは、通常の使用では起こりにくい場面であり、攻撃者がＩＣカード１に対して不正アクセスを試みている可能性が高い場面と言える。従って、本実施形態のＩＣカード１では、コンデンサ１１Ａの電圧Ｖが基準電圧Ｔｈを超えた場合に、特定の処理が高頻度に行われたと判断し、セキュリティレベルを高くする。これによって、実際に不正アクセスがあったかどうかを特定する前にセキュリティレベルを高くするため、攻撃が成功する可能性を低減することができる。すなわち、ＩＣカード１は、不正アクセスがあった可能性の高い状況に対応して、迅速にセキュリティレベルを高くすることができる。
【００３８】
なお、電圧を基準電圧Ｔｈと比較する手法はあくまで一例であり、コンデンサ１１Ａの充放電する電流を監視してコンデンサ１１Ａに蓄えられた電荷を測定してもよいし、他の手法によってコンデンサ１１Ａに蓄えられた電荷を検知してもよい。
【００３９】
以下、セキュリティレベルの設定処理について説明する。図９は、ＩＣカード１が起動してからの処理の流れの一例を示すフローチャートである。本フローチャートの処理は、ＩＣカード１がコールドリセット（パワーオンリセット）される度に実行される。
【００４０】
まず、ＣＰＵ１１は、例えばコンパレータ１１Ｃの出力する信号を参照し、コンデンサ１１Ａの電圧が閾値Ｔｈを超えるか否かを判定する（ステップＳ５００）。ＣＰＵ１１は、コンデンサ１１Ａの電圧が閾値Ｔｈを超えない場合（ステップＳ５００のＮｏ）、セキュリティレベルを１に設定し（ステップＳ５０２）、コンデンサ１１Ａの電圧が閾値Ｔｈを超える場合（ステップＳ５００のＹｅｓ）、セキュリティレベルを２に設定する（ステップＳ５０４）。
【００４１】
次に、ＣＰＵ１１は、ＵＡＲＴ１２を用いて、ＡＴＲ等の初期データを外部装置２に送信し（ステップＳ５０６）、コマンド待ち受け状態に移行する（ステップＳ５０８）。
【００４２】
次に、ＣＰＵ１１は、外部装置２からコマンドを受信したか否かを判定する（ステップＳ５１０）。外部装置２からコマンドを受信すると（ステップＳ５１０のＹｅｓ）、ＣＰＵ１１は、ＵＡＲＴ１２を用いて、レスポンスを外部装置２に送信する（ステップＳ５１２）。
【００４３】
外部装置２からコマンドを受信しない場合（ステップＳ５１０のＮｏ）、ＣＰＵ１１は、外部装置２からリセット信号（ウォームリセット信号）を受信したか否かを判定する（ステップＳ５１４）。外部装置２からリセット信号を受信しない場合（ステップＳ５１４のＮｏ）、ＣＰＵ１１は、ステップＳ５０８に処理を戻す。
【００４４】
外部装置２からリセット信号を受信すると（ステップＳ５１４のＹｅｓ）、ＣＰＵ１１は、コンデンサ１１Ａの電圧が閾値Ｔｈを超えるか否かを判定する（ステップＳ５１６）。コンデンサ１１Ａの電圧が閾値Ｔｈを超えない場合（ステップＳ５１６のＮｏ）、ＣＰＵ１１は、ステップＳ５０８に処理を戻す。
【００４５】
一方、コンデンサ１１Ａの電圧が閾値Ｔｈを超える場合（ステップＳ５１６のＹｅｓ）、ＣＰＵ１１は、リセット回数カウンタのカウンタ値Ｃをインクリメントする（ステップＳ５１８）。このカウンタ値Ｃは、コールドリセット（パワーオンリセット）時にゼロクリアされる。
【００４６】
そして、ＣＰＵ１１は、カウンタ値Ｃが基準値Ｃ１以上となったか否かを判定する（ステップＳ５２０）。カウンタ値Ｃが基準値Ｃ１未満である場合（ステップＳ５２０のＮｏ）、ＣＰＵ１１は、ステップＳ５０６に処理を戻す。一方、カウンタ値Ｃが基準値Ｃ１以上である場合（ステップＳ５２０のＹｅｓ）、ＣＰＵ１１は、セキュリティレベルを１高くする（ステップＳ５２２）。これによって、ウォームリセットが頻繁に行わるといった、ＩＣカード１に対する不正アクセスがあった可能性の高い状況において、セキュリティレベルを高めることができる。
【００４７】
以上説明した処理によって、本実施形態のＩＣカード１は、不正アクセスがあった可能性の高い状況に対応して、迅速にセキュリティレベルを高くすることができる。前述したように、ＩＣカードのセキュリティ機能においては、セキュリティレベルを高めるほど処理時間が長くなってしまうというトレードオフの関係がある。従って、無制限に高いセキュリティレベルで保護を行うと、利便性が低下してしまう。このため、状況に応じて機動的にセキュリティレベルを変更することが望まれる。
【００４８】
ここで、一般的にＩＣカードは時計を内蔵しておらず、また時刻情報を外部装置から受信しないことが多い。このため、何らかのイベントが生じた頻度を把握するのが困難である。これに対し、本実施形態のＩＣカード１は、コンデンサ１１Ａの自然放電を利用して、高頻度に特定の処理が行われるとコンデンサ１１Ａに蓄えられた電荷が多くなるように構成されている。これによって、直接的に時刻や時間を把握しなくても、特定の処理が行われた頻度を推定することができ、上記した機動的なセキュリティレベルの変更を実現することができる。
【００４９】
なお、図９のフローチャートでは、コンデンサ１１Ａの電圧Ｖ（電荷）に基づいてセキュリティレベルを１または２の２段階で設定するものとしたが、コンデンサ１１Ａの電圧Ｖ（電荷）を複数の閾値と比較する等して、コンデンサ１１Ａの電圧Ｖ（電荷）に基づいてセキュリティレベルを３段階以上で設定してもよい。
【００５０】
（第２の実施形態）
以下、第２の実施形態について説明する。第１の実施形態では、ＣＰＵ１１が、特定の処理を行う度に、所定時間、スイッチ３０をオン状態（導通状態）にし、それ以外の時にはスイッチ３０をオフ状態（遮断状態）に維持するものとしたが、第２の実施形態では、外部装置２からの電力供給が継続している間、コンデンサ１１Ａが継続的に充電される。図１０は、第２の実施形態のＩＣカード１ａの機能構成例を示す図である。図示するように、第２の実施形態に係るＩＣカード１ａは、第１の実施形態に係るＩＣカード１と比較すると、スイッチ３０を省略したものとなっている。
【００５１】
ここで、外部装置２からの電力供給は、コマンド応答が一定時間無ければスリープモードになることを前提とする。なお、この点については、第１の実施形態も同様であってよい。第２の実施形態に係るＩＣカード１ａは、このような外部装置２の制御を利用して、特定の処理が高頻度に行われたことを検知する。
【００５２】
図１１は、特定の処理が高頻度に行われない場合における、コンデンサ１１Ａの電圧Ｖの推移を示す図である。この場合、外部装置２からの電力供給は、最後のコマンド応答から一定時間Ｔが経過すると停止される。この結果、コンデンサ１１Ａの電圧Ｖは、閾値Ｔｈに至らず、セキュリティレベルは変更されない。
【００５３】
一方、図１２は、特定の処理が高頻度に行われた場合における、コンデンサ１１Ａの電圧Ｖの推移を示す図である。この場合、最後のコマンド応答が行われるまでの間にコンデンサ１１Ａの電圧Ｖが閾値Ｔｈを超えるため、セキュリティレベルは高く変更される。
【００５４】
その他については、第１の実施形態と同様である。第２の実施形態は、図１の外観図、図３−５、９のフローチャート、スイッチ３０を除き図６または７の回路図を援用することができる。
【００５５】
以上説明した第２の実施形態に係るＩＣカード１ａは、第１の実施形態と同様、不正アクセスがあった可能性の高い状況に対応して、迅速にセキュリティレベルを高くすることができる。また、第１の実施形態と比較すると、スイッチ３０を省略することができるため、コストや重量を低減することができる。なお、特定の処理が高頻度に行われたことを高精度に検知できるという点では、第１の実施形態の方に優位性がある。
【００５６】
以上説明した少なくともひとつの実施形態によれば、通信部（ＵＡＲＴ１２）が受信したコマンドに応答する処理を行う処理部（ＣＰＵ１１、セキュリティ機能部２０）であって、特定の処理を高頻度に実行するのに応じて高いセキュリティレベルで処理を行う処理部を持つことにより、不正アクセスがあった可能性の高い状況に対応して、迅速にセキュリティレベルを高くすることができる。
【００５７】
上記実施形態は、以下のように表現することができる。
コンタクトまたはアンテナを介して外部機器と通信を行う通信部と、
前記外部機器から供給された電力によって充電されるコンデンサと、
前記通信部が受信したコマンドに応答する処理を、設定したセキュリティレベルに基づいて行う処理部であって、前記コンデンサの電圧が閾値を超えると所定の信号を出力する検出部を有し、前記検出部により前記所定の信号が出力された場合に前記セキュリティレベルを高くする処理部と、
を備える携帯可能電子装置。
【００５８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００５９】
１…ＩＣカード、２…外部装置、３…コンタクト部、１０…ＩＣモジュール、１１…ＣＰＵ、１１Ａ…コンデンサ、１１Ｂ…定電流回路、１１Ｃ…コンパレータ、１２…ＵＡＲＴ、１３…ＲＯＭ、１４…ＲＡＭ、１５…ＥＥＰＲＯＭ、１６…コプロセッサ、１７…システムバス、２０…セキュリティ機能部、３０…スイッチ、３２…レギュレータ、１００…ＩＣチップ
【図１】
2016085520.tif 000003
【図２】
2016085520.tif 000004
【図３】
2016085520.tif 000005
【図４】
2016085520.tif 000006
【図５】
2016085520.tif 000007
【図６】
2016085520.tif 000008
【図７】
2016085520.tif 000009
【図８】
2016085520.tif 000010
【図９】
2016085520.tif 000011
【図１０】
2016085520.tif 000012
【図１１】
2016085520.tif 000013
【図１２】
2016085520.tif 000014