JP2016085520A - 携帯可能電子装置 - Google Patents
携帯可能電子装置 Download PDFInfo
- Publication number
- JP2016085520A JP2016085520A JP2014216307A JP2014216307A JP2016085520A JP 2016085520 A JP2016085520 A JP 2016085520A JP 2014216307 A JP2014216307 A JP 2014216307A JP 2014216307 A JP2014216307 A JP 2014216307A JP 2016085520 A JP2016085520 A JP 2016085520A
- Authority
- JP
- Japan
- Prior art keywords
- security level
- processing
- capacitor
- cpu
- card
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】不正アクセスがあった可能性の高い状況に対応して、迅速にセキュリティレベルを高くすることができる携帯可能電子装置を提供することである。【解決手段】実施形態の携帯可能電子装置は、通信部と、処理部とを持つ。通信部は、外部機器と通信を行う。処理部は、前記通信部が受信したコマンドに応答する処理を行う処理部であって、特定の処理を高頻度に実行するのに応じて高いセキュリティレベルで処理を行う。【選択図】図9
Description
本発明の実施形態は、携帯可能電子装置に関する。
IC(Integrated Circuit)カード等の携帯可能電子装置が普及している。携帯可能電子装置は、内部に保持する情報の漏えいや改ざん等を目的とした不正アクセスを妨害するための機能を備える場合がある。この機能の使用に際しては、セキュリティレベルを高めるほど処理時間が長くなってしまうというトレードオフの関係が生じる。このため、無制限に高いセキュリティレベルで処理を行うと、処理時間が長くなり利便性が低下する場合がある。従来の技術では、状況に対応したセキュリティレベルの変更が困難であった。
本発明が解決しようとする課題は、不正アクセスがあった可能性の高い状況に対応して、迅速にセキュリティレベルを高くすることができる携帯可能電子装置を提供することである。
実施形態の携帯可能電子装置は、通信部と、処理部とを持つ。通信部は、外部機器と通信を行う。処理部は、前記通信部が受信したコマンドに応答する処理を行う処理部であって、特定の処理を高頻度に実行するのに応じて高いセキュリティレベルで処理を行う。
以下、実施形態の携帯可能電子装置を、図面を参照して説明する。
(第1の実施形態)
図1は、第1の実施形態のICカード1の外観構成の一例を示す図である。図示するように、ICカード1は、ICモジュール10を備える。ICモジュール10は、コンタクト部3と、内部にICチップ100とを備える。ICカード1は、例えば、プラスチックのカード基材9に、ICモジュール10を実装して形成されている。また、ICカード1は、コンタクト部3を介して外部装置2と通信可能である。以下、携帯可能電子装置の一例としてICカード1について説明するが、携帯可能電子装置は、携帯電話等の電子デバイスであってもよい。また、ICカード1は、非接触式のICカードであってもよい。
図1は、第1の実施形態のICカード1の外観構成の一例を示す図である。図示するように、ICカード1は、ICモジュール10を備える。ICモジュール10は、コンタクト部3と、内部にICチップ100とを備える。ICカード1は、例えば、プラスチックのカード基材9に、ICモジュール10を実装して形成されている。また、ICカード1は、コンタクト部3を介して外部装置2と通信可能である。以下、携帯可能電子装置の一例としてICカード1について説明するが、携帯可能電子装置は、携帯電話等の電子デバイスであってもよい。また、ICカード1は、非接触式のICカードであってもよい。
ICカード1は、例えば、外部装置2が送信したコマンド(処理要求)を、コンタクト部3を介して受信し、受信したコマンドに応じた処理(コマンド処理)を実行する。そして、ICカード1は、コマンド処理の実行結果であるレスポンス(処理応答)を外部装置2にコンタクト部3を介して送信する。ここで、外部装置2は、ICカード1と通信する上位装置であり、例えば、リーダ/ライタ装置などを含む。
ICモジュール10は、例えば、テープ上にICモジュール100が複数配置されたCOT(Chip On Tape)などの形態で取引されるモジュールである。コンタクト部3は、ICカード1が動作するために必要な各種信号の端子を有する。コンタクト部3は、各種信号の端子として、電源電圧、クロック信号、リセット信号などを外部装置2から供給を受ける端子、及び、外部装置2と通信するためのシリアルデ―タ入出力端子(SIO端子)を有する。外部装置2から供給を受ける端子には、電源端子(VDD端子、GND端子)、クロック信号端子(CLK端子)、及びリセット信号端子(RST端子)が含まれる。ICチップ100は、例えば、1チップのマイクロプロセッサなどのLSI(Large Scale Integration)である。
図2は、第1の実施形態のICカード1の機能構成例を示す図である。図示するように、ICカード1は、CPU(Central Processing Unit)11と、UART(Universal Asynchronous Receiver Transmitter)12と、ROM(Read Only Memory)13と、RAM(Random Access Memory)14と、EEPROM(Electrically Erasable Programmable ROM)15と、コプロセッサ16とを備える。これらの構成は、システムバス17を介して相互に通信可能に接続されている。また、ICカード1は、セキュリティ機能部20を備える。CPU11とセキュリティ機能部20を合わせたものが、「処理部」の一例である。セキュリティ機能部20の機能については後述する。
CPU11は、ROM13又はEEPROM15に記憶されているプログラムを実行して、ICカード1の各種処理を行う。CPU11は、例えば、コンタクト部3を介して、UART12が受信したコマンドに応じたコマンド処理を実行する。CPU11には、コンデンサ11Aが内蔵または付設されている。
UART12は、外部装置2と通信する通信部として機能する。UART12は、シリアル信号とパラレル信号の相互変換を行う集積回路を含む。UART12は、外部装置2からICカード1に送信されたコマンドの情報を受信して受け取る。また、UART12は、受け取ったコマンドの処理をCPU11により実行した結果の情報を、レスポンスの情報として外部装置2に送信する。なお、UART12が受信したコマンドの情報は、RAM12に設けられた専用領域に一旦記憶された後に、当該専用領域を監視するCPU11により読み出される。なお、UART12には、コンタクト部3を介して、電源電圧、クロック信号、リセット信号が供給され、これらの信号は、UART12を介して各機能部に供給される。
ROM13は、例えば、マスクROMなどの不揮発性メモリである。ROM13は、ICカード1の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。RAM14は、例えば、SRAM(Static RAM)などの揮発性メモリである。RAM14は、ICカード1の各種処理を行う際に利用されるデータを一時記憶する。EEPROM15は、電気的に書き換え可能な不揮発性メモリである。
コプロセッサ16は、暗号処理や復号処理を高速に行うための補助的な回路である。コプロセッサ16は、例えば、AES(Advanced Encryption Standard)暗号やRSA暗号などの処理、又は当該処理の一部を実行する。コプロセッサ16は、例えば、CPU11により指示されて、暗号処理や復号処理に関する処理を実行する。
セキュリティ機能部20は、ICカード1のセキュリティ性を高めるための機能部である。セキュリティ機能部20は、内部解析(リバースエンジニアリング)や改変に対する防護力(耐タンパ性)を実現し、外部からの非正規な手段による機密データの読み取りや解析を抑制する。ICカード1を攻撃する手法としては、例えば、電力解析攻撃などのサイドチャネル攻撃や故障利用解析攻撃などがあり、セキュリティ機能部20は、これらの攻撃からICカード1の機密データを防護する。
セキュリティ機能部20の機能は、セキュリティレベルに応じて程度または作動の有無が変更される。セキュリティレベルは、CPU11により設定される。セキュリティレベルの設定情報は、RAM14またはEEPROM15に格納される。セキュリティレベルの設定手法については後述する。
セキュリティ機能部20の機能としては、例えば、以下の機能が挙げられる。セキュリティ機能部20は、CPU11がソフトウェアを実行することにより実現されるソフトウェア機能部であってもよいし、ハードウェア機能部であってもよい。また、セキュリティ機能部20ソフトウェア機能部とハードウェア機能部の双方を含んでもよい。セキュリティ機能部20は、ソフトウェアまたはハードウェアによって、以下の機能のうち一部または全部の機能を実現する。
(a)ランダムウエイト機能
セキュリティ機能部20は、例えば、CPU11の実行サイクルの中にダミーサイクルを挿入することにより、CPU11の実行クロック数(マシンサイクル数)を特定の範囲内でランダムに変動させる。ランダムウエイト機能は、ハードウェアによって実現されてもよいし、ソフトウェアによって実現されてもよい。
(b)ランダムカレント機能
セキュリティ機能部20は、ICカード1の電力消費量をランダムに変動させる。
(c)MPU(Memory Protection Unit)機能
セキュリティ機能部20は、意図しないメモリ領域へのアクセスを禁止するなどにより、メモリ領域の保護を行う。
(d)完全性検証機能
セキュリティ機能部20は、重要データに対して冗長データを付与し、処理の前後で検証を行う。
(e)プログラムフロー検証機能
セキュリティ機能部20は、プログラムスキップを検知する。
(f)重要処理の検算処理機能
セキュリティ機能部20は、重要な処理について検算処理を行う。
(g)機密データの漏洩対策機能
セキュリティ機能部20は、機密データが外部に直接的または間接的に出力されることがないようにする。
セキュリティ機能部20は、例えば、CPU11の実行サイクルの中にダミーサイクルを挿入することにより、CPU11の実行クロック数(マシンサイクル数)を特定の範囲内でランダムに変動させる。ランダムウエイト機能は、ハードウェアによって実現されてもよいし、ソフトウェアによって実現されてもよい。
(b)ランダムカレント機能
セキュリティ機能部20は、ICカード1の電力消費量をランダムに変動させる。
(c)MPU(Memory Protection Unit)機能
セキュリティ機能部20は、意図しないメモリ領域へのアクセスを禁止するなどにより、メモリ領域の保護を行う。
(d)完全性検証機能
セキュリティ機能部20は、重要データに対して冗長データを付与し、処理の前後で検証を行う。
(e)プログラムフロー検証機能
セキュリティ機能部20は、プログラムスキップを検知する。
(f)重要処理の検算処理機能
セキュリティ機能部20は、重要な処理について検算処理を行う。
(g)機密データの漏洩対策機能
セキュリティ機能部20は、機密データが外部に直接的または間接的に出力されることがないようにする。
セキュリティレベルは、例えば1(最も低い)、2、3(最も高い)の3段階で設定される。また、セキュリティレベルに応じてセキュリティ機能部20が実行する機能は、CPU11が実行する処理の種類に応じて異なるものとなる。
CPU11がATR(Answer To Reset)等のデータをUART12に送信させる処理において、セキュリティ機能部20が有効化する機能は、例えば以下のように設定される。
・セキュリティレベル1:有効化機能なし。
・セキュリティレベル2:(c)MPU機能、および(d)完全性検証機能を有効化。
・セキュリティレベル3:(a)ランダムウエイト機能、(b)ランダムカレント機能、(c)MPU機能、および(d)完全性検証機能を有効化。
・セキュリティレベル1:有効化機能なし。
・セキュリティレベル2:(c)MPU機能、および(d)完全性検証機能を有効化。
・セキュリティレベル3:(a)ランダムウエイト機能、(b)ランダムカレント機能、(c)MPU機能、および(d)完全性検証機能を有効化。
図3は、ICカード1がATR等のデータを送信する処理の流れの一例を示すフローチャートである。まず、CPU11は、セキュリティレベルが3であるか否かを判定する(ステップS200)。セキュリティレベルが3でない、すなわちセキュリティレベルが1または2である場合(ステップS200のNo)、CPU11は、EEPROM15に格納されたATR等のデータをRAM14に読み出す(ステップS202)。
一方、セキュリティレベルが3である場合(ステップS200のYes)、CPU11は、(a)ランダムウエイト機能、および(b)ランダムカレント機能を有効化し(ステップS204)、EEPROM15に格納されたATR等のデータをRAM14に読み出し(ステップS206)、(a)ランダムウエイト機能、および(b)ランダムカレント機能を無効化する(ステップS208)。なお、「有効化する」とは、CPU11が、該当機能を有効化するようにセキュリティ機能部20に指示することを意味するものとする。無効化についても同様である。
次に、CPU11は、ステップS202またはS206においてRAM14に読み出されたデータからレスポンスデータのフォーマットを整形し、UART12に入力するためのRAM14の別領域にデータ転送する(ステップS210)。次に、CPU11は、セキュリティレベルが2または3であるか否かを判定する(ステップS212)。
セキュリティレベルが2または3でない、すなわちセキュリティレベルが1である場合(ステップS212のNo)、CPU11は、UART12にレスポンスデータを送信させ(ステップS214)、本フローチャートの処理を終了する。
一方、セキュリティレベルが2または3である場合(ステップS212のYes)、CPU11は、ステップS210のデータ転送が正しく行われたかどうかを検証する、すなわち別領域へのデータ転送について(d)完全性検証を行う(ステップS216)。次に、CPU11は、レスポンスデータの送信前に、(c)MPU機能により意図しないメモリ領域へのアクセスを禁止し(ステップS218)、UART12にレスポンスデータを送信させ(ステップS220)、MPU機能を無効化する(ステップS222)。そして、CPU11は、本フローチャートの処理を終了する。
CPU11が重要データをEEPROM15に書き込む処理において、セキュリティ機能部20が実行する処理は、例えば以下のように設定される。
・セキュリティレベル1:(d)完全性検証機能を有効化。
・セキュリティレベル2:(b)ランダムカレント機能、および(d)完全性検証機能を有効化。
・セキュリティレベル3:(a)ランダムウエイト機能、(b)ランダムカレント機能、(d)完全性検証機能、および(e)プログラムフロー検証機能を有効化。
・セキュリティレベル1:(d)完全性検証機能を有効化。
・セキュリティレベル2:(b)ランダムカレント機能、および(d)完全性検証機能を有効化。
・セキュリティレベル3:(a)ランダムウエイト機能、(b)ランダムカレント機能、(d)完全性検証機能、および(e)プログラムフロー検証機能を有効化。
図4は、ICカード1が重要データをEEPROM15に書き込む処理の流れの一例を示すフローチャートである。まず、CPU11は、セキュリティレベルが2または3であるか否かを判定する(ステップS300)。セキュリティレベルが2または3でない、すなわち、セキュリティレベルが1である場合(ステップS300のNo)、CPU11は、ステップS310に処理を進める。セキュリティレベルが2または3である場合(ステップS300のYes)、CPU11は、ランダムカレント機能を有効化し(ステップS302)、セキュリティレベルが3であるか否かを判定する(ステップS304)。セキュリティレベルが3でない場合、すなわちセキュリティレベルが2である場合(ステップS304のNo)、CPU11は、ステップS310に処理を進める。
セキュリティレベルが3である場合(ステップS304のYes)、CPU11は、(ソフトウェアによって(a)ランダムウエイトを行い(ステップS306)、ソフトウェアによって(a)ランダムウエイトが行われたことを(e)プログラムフロー検証機能により確認する(ステップS308)。
次に、CPU11は、書込み元メモリアドレス等の(d)完全性検証を行い(ステップS310)、RAM14からEEPROM15にデータを書き込む(ステップS312)。そして、CPU11は、セキュリティレベルが2または3であるか否かを判定する(ステップS314)。セキュリティレベルが2または3でない、すなわち、セキュリティレベルが1である場合(ステップS314のNo)、本フローチャートの処理が終了する。一方、セキュリティレベルが2または3である場合(ステップS314のYes)、CPU11は、ランダムカレントを無効化し(ステップS316)、本フローチャートの処理を終了する。
CPU11が機密データをRAM14上から上書き削除する処理において、セキュリティ機能部20が実行する処理は、上記(a)〜(g)とは異なる処理となる。図5は、ICカード1が機密データをRAM14上から上書き削除する処理の流れの一例を示すフローチャートである。まず、CPU11は、機密データの管理データを削除する(ステップS400)。次にCPU11は、セキュリティレベルが2または3であるか否かを判定する(ステップS402)。セキュリティレベルが2または3でない、すなわち、セキュリティレベルが1である場合(ステップS402のNo)、CPU11は、本フローチャートの処理を終了する。
セキュリティレベルが2または3である場合(ステップS402のYes)、CPU11は、セキュリティレベルが3であるか否かを判定する(ステップS404)。セキュリティレベルが3でない、すなわちセキュリティレベルが2である場合(ステップS404のNo)、CPU11は、機密データの本体データを固定値で上書き削除し(ステップS406)、本フローチャートの処理を終了する。
セキュリティレベルが3である場合(ステップS404のYes)、CPU11は、機密データの本体データを乱数で上書き削除し(ステップS408)、上書き削除されていることを、RAM14から読み出して確認する(ステップS410)。そして、CPU11は、本フローチャートの処理を終了する。
なお、これまでの説明では、セキュリティレベルに応じてセキュリティ機能の有効/無効を切り替えることについて説明したが、セキュリティレベルに応じてセキュリティ機能の程度を調整するようにしてもよい。例えば、(a)ランダムウエイト機能を例にとると、セキュリティ機能部20は、セキュリティレベルが高くなるのに応じてダミーサイクルを挿入する頻度を高くし、あるいはダミーサイクルの長さを長くするようにしてもよい。
以下、セキュリティレベルの設定手法について説明する。セキュリティレベルの設定は、コンデンサ11Aの充電状態に基づいて行われる。コンデンサ11Aは、コンタクト部3が外部装置2から受けた電力によって充電される。図6は、コンデンサ11Aを中心とした回路構成を例示した図である。コンタクト部3が受けた電力は、例えば、レギュレータ32によって一定電圧に制御され、各機能部に供給される。レギュレータ32からコンデンサ11Aに至る電力経路には、スイッチ30が設けられている。スイッチ30は、リレーやトランジスタなどで構成される。スイッチ30とコンデンサ11Aの間には、例えば、充電時間調整用の定電流回路11Bが設けられている。コンデンサ11Aの電圧Vは、コンパレータ11Cによって、レギュレータ32の出力電圧を分圧抵抗R1、R2で分圧した基準電圧Thと比較される。コンパレータ11Cは、コンデンサ11Aの電圧Vが基準電圧Thを超えると所定の信号をCPU11に出力する。コンデンサ11Aの電圧Vは、コンデンサ11Aに蓄えられた電荷と比例する関係にある。従って、図6に例示した構成によって、コンデンサ11Aに蓄えられた電荷が一定以上増加すると、コンデンサ11Aの電圧Vが基準電圧Thを超え、コンパレータ11Cが所定の信号を出力するようになっている。また、図6に例示した定電流回路11Bに代えて、抵抗R3を備える構成を採用してもよい。図7は、コンデンサ11Aを中心とした回路構成の他の例を示す図である。
CPU11は、特定の処理を行う度に、所定時間、スイッチ30をオン状態(導通状態)にし、それ以外の時にはスイッチ30をオフ状態(遮断状態)に維持する。これによって、特定の処理が高頻度に行われた場合、コンデンサ11Aに蓄えられた電荷は徐々に増加し、これに伴ってコンデンサ11Aの電圧Vが基準電圧Thを超えることになる。図8は、スイッチ30の状態制御と、コンデンサ11Aの電圧Vの推移との関係の一例を示す図である。ここで、どのような処理を特定の処理として扱うかは任意に設定してよく、例えば、ATRを外部装置2に送信する処理やピンの照合処理などを特定の処理として扱ってよい。
ここで、特定の処理が高頻度に行われる場面とは、通常の使用では起こりにくい場面であり、攻撃者がICカード1に対して不正アクセスを試みている可能性が高い場面と言える。従って、本実施形態のICカード1では、コンデンサ11Aの電圧Vが基準電圧Thを超えた場合に、特定の処理が高頻度に行われたと判断し、セキュリティレベルを高くする。これによって、実際に不正アクセスがあったかどうかを特定する前にセキュリティレベルを高くするため、攻撃が成功する可能性を低減することができる。すなわち、ICカード1は、不正アクセスがあった可能性の高い状況に対応して、迅速にセキュリティレベルを高くすることができる。
なお、電圧を基準電圧Thと比較する手法はあくまで一例であり、コンデンサ11Aの充放電する電流を監視してコンデンサ11Aに蓄えられた電荷を測定してもよいし、他の手法によってコンデンサ11Aに蓄えられた電荷を検知してもよい。
以下、セキュリティレベルの設定処理について説明する。図9は、ICカード1が起動してからの処理の流れの一例を示すフローチャートである。本フローチャートの処理は、ICカード1がコールドリセット(パワーオンリセット)される度に実行される。
まず、CPU11は、例えばコンパレータ11Cの出力する信号を参照し、コンデンサ11Aの電圧が閾値Thを超えるか否かを判定する(ステップS500)。CPU11は、コンデンサ11Aの電圧が閾値Thを超えない場合(ステップS500のNo)、セキュリティレベルを1に設定し(ステップS502)、コンデンサ11Aの電圧が閾値Thを超える場合(ステップS500のYes)、セキュリティレベルを2に設定する(ステップS504)。
次に、CPU11は、UART12を用いて、ATR等の初期データを外部装置2に送信し(ステップS506)、コマンド待ち受け状態に移行する(ステップS508)。
次に、CPU11は、外部装置2からコマンドを受信したか否かを判定する(ステップS510)。外部装置2からコマンドを受信すると(ステップS510のYes)、CPU11は、UART12を用いて、レスポンスを外部装置2に送信する(ステップS512)。
外部装置2からコマンドを受信しない場合(ステップS510のNo)、CPU11は、外部装置2からリセット信号(ウォームリセット信号)を受信したか否かを判定する(ステップS514)。外部装置2からリセット信号を受信しない場合(ステップS514のNo)、CPU11は、ステップS508に処理を戻す。
外部装置2からリセット信号を受信すると(ステップS514のYes)、CPU11は、コンデンサ11Aの電圧が閾値Thを超えるか否かを判定する(ステップS516)。コンデンサ11Aの電圧が閾値Thを超えない場合(ステップS516のNo)、CPU11は、ステップS508に処理を戻す。
一方、コンデンサ11Aの電圧が閾値Thを超える場合(ステップS516のYes)、CPU11は、リセット回数カウンタのカウンタ値Cをインクリメントする(ステップS518)。このカウンタ値Cは、コールドリセット(パワーオンリセット)時にゼロクリアされる。
そして、CPU11は、カウンタ値Cが基準値C1以上となったか否かを判定する(ステップS520)。カウンタ値Cが基準値C1未満である場合(ステップS520のNo)、CPU11は、ステップS506に処理を戻す。一方、カウンタ値Cが基準値C1以上である場合(ステップS520のYes)、CPU11は、セキュリティレベルを1高くする(ステップS522)。これによって、ウォームリセットが頻繁に行わるといった、ICカード1に対する不正アクセスがあった可能性の高い状況において、セキュリティレベルを高めることができる。
以上説明した処理によって、本実施形態のICカード1は、不正アクセスがあった可能性の高い状況に対応して、迅速にセキュリティレベルを高くすることができる。前述したように、ICカードのセキュリティ機能においては、セキュリティレベルを高めるほど処理時間が長くなってしまうというトレードオフの関係がある。従って、無制限に高いセキュリティレベルで保護を行うと、利便性が低下してしまう。このため、状況に応じて機動的にセキュリティレベルを変更することが望まれる。
ここで、一般的にICカードは時計を内蔵しておらず、また時刻情報を外部装置から受信しないことが多い。このため、何らかのイベントが生じた頻度を把握するのが困難である。これに対し、本実施形態のICカード1は、コンデンサ11Aの自然放電を利用して、高頻度に特定の処理が行われるとコンデンサ11Aに蓄えられた電荷が多くなるように構成されている。これによって、直接的に時刻や時間を把握しなくても、特定の処理が行われた頻度を推定することができ、上記した機動的なセキュリティレベルの変更を実現することができる。
なお、図9のフローチャートでは、コンデンサ11Aの電圧V(電荷)に基づいてセキュリティレベルを1または2の2段階で設定するものとしたが、コンデンサ11Aの電圧V(電荷)を複数の閾値と比較する等して、コンデンサ11Aの電圧V(電荷)に基づいてセキュリティレベルを3段階以上で設定してもよい。
(第2の実施形態)
以下、第2の実施形態について説明する。第1の実施形態では、CPU11が、特定の処理を行う度に、所定時間、スイッチ30をオン状態(導通状態)にし、それ以外の時にはスイッチ30をオフ状態(遮断状態)に維持するものとしたが、第2の実施形態では、外部装置2からの電力供給が継続している間、コンデンサ11Aが継続的に充電される。図10は、第2の実施形態のICカード1aの機能構成例を示す図である。図示するように、第2の実施形態に係るICカード1aは、第1の実施形態に係るICカード1と比較すると、スイッチ30を省略したものとなっている。
以下、第2の実施形態について説明する。第1の実施形態では、CPU11が、特定の処理を行う度に、所定時間、スイッチ30をオン状態(導通状態)にし、それ以外の時にはスイッチ30をオフ状態(遮断状態)に維持するものとしたが、第2の実施形態では、外部装置2からの電力供給が継続している間、コンデンサ11Aが継続的に充電される。図10は、第2の実施形態のICカード1aの機能構成例を示す図である。図示するように、第2の実施形態に係るICカード1aは、第1の実施形態に係るICカード1と比較すると、スイッチ30を省略したものとなっている。
ここで、外部装置2からの電力供給は、コマンド応答が一定時間無ければスリープモードになることを前提とする。なお、この点については、第1の実施形態も同様であってよい。第2の実施形態に係るICカード1aは、このような外部装置2の制御を利用して、特定の処理が高頻度に行われたことを検知する。
図11は、特定の処理が高頻度に行われない場合における、コンデンサ11Aの電圧Vの推移を示す図である。この場合、外部装置2からの電力供給は、最後のコマンド応答から一定時間Tが経過すると停止される。この結果、コンデンサ11Aの電圧Vは、閾値Thに至らず、セキュリティレベルは変更されない。
一方、図12は、特定の処理が高頻度に行われた場合における、コンデンサ11Aの電圧Vの推移を示す図である。この場合、最後のコマンド応答が行われるまでの間にコンデンサ11Aの電圧Vが閾値Thを超えるため、セキュリティレベルは高く変更される。
その他については、第1の実施形態と同様である。第2の実施形態は、図1の外観図、図3−5、9のフローチャート、スイッチ30を除き図6または7の回路図を援用することができる。
以上説明した第2の実施形態に係るICカード1aは、第1の実施形態と同様、不正アクセスがあった可能性の高い状況に対応して、迅速にセキュリティレベルを高くすることができる。また、第1の実施形態と比較すると、スイッチ30を省略することができるため、コストや重量を低減することができる。なお、特定の処理が高頻度に行われたことを高精度に検知できるという点では、第1の実施形態の方に優位性がある。
以上説明した少なくともひとつの実施形態によれば、通信部(UART12)が受信したコマンドに応答する処理を行う処理部(CPU11、セキュリティ機能部20)であって、特定の処理を高頻度に実行するのに応じて高いセキュリティレベルで処理を行う処理部を持つことにより、不正アクセスがあった可能性の高い状況に対応して、迅速にセキュリティレベルを高くすることができる。
上記実施形態は、以下のように表現することができる。
コンタクトまたはアンテナを介して外部機器と通信を行う通信部と、
前記外部機器から供給された電力によって充電されるコンデンサと、
前記通信部が受信したコマンドに応答する処理を、設定したセキュリティレベルに基づいて行う処理部であって、前記コンデンサの電圧が閾値を超えると所定の信号を出力する検出部を有し、前記検出部により前記所定の信号が出力された場合に前記セキュリティレベルを高くする処理部と、
を備える携帯可能電子装置。
コンタクトまたはアンテナを介して外部機器と通信を行う通信部と、
前記外部機器から供給された電力によって充電されるコンデンサと、
前記通信部が受信したコマンドに応答する処理を、設定したセキュリティレベルに基づいて行う処理部であって、前記コンデンサの電圧が閾値を超えると所定の信号を出力する検出部を有し、前記検出部により前記所定の信号が出力された場合に前記セキュリティレベルを高くする処理部と、
を備える携帯可能電子装置。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…ICカード、2…外部装置、3…コンタクト部、10…ICモジュール、11…CPU、11A…コンデンサ、11B…定電流回路、11C…コンパレータ、12…UART、13…ROM、14…RAM、15…EEPROM、16…コプロセッサ、17…システムバス、20…セキュリティ機能部、30…スイッチ、32…レギュレータ、100…ICチップ
Claims (4)
- 外部機器と通信を行う通信部と、
前記通信部が受信したコマンドに応答する処理を行う処理部であって、特定の処理を高頻度に実行するのに応じて高いセキュリティレベルで処理を行う処理部と、
を備える携帯可能電子装置。 - 前記外部機器から供給された電力によって充電されるコンデンサを備え、
前記処理部は、前記コンデンサに蓄えられた電荷が増加するのに応じて高いセキュリティレベルで処理を行う、
請求項1記載の携帯可能電子装置。 - 前記処理部は、前記特定の処理を実行する度に前記コンデンサが充電されるように、前記コンデンサと前記外部機器との接続を制御する、
請求項2記載の携帯可能電子装置。 - 前記処理部は、ウォームリセットがされた回数が増加するのに応じてセキュリティレベルを高くする、
請求項1から3のうちいずれか1項記載の携帯可能電子装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014216307A JP2016085520A (ja) | 2014-10-23 | 2014-10-23 | 携帯可能電子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014216307A JP2016085520A (ja) | 2014-10-23 | 2014-10-23 | 携帯可能電子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016085520A true JP2016085520A (ja) | 2016-05-19 |
Family
ID=55972619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014216307A Pending JP2016085520A (ja) | 2014-10-23 | 2014-10-23 | 携帯可能電子装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016085520A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018157367A (ja) * | 2017-03-17 | 2018-10-04 | 大日本印刷株式会社 | 電子情報記憶装置、icカード、演算決定方法、及び演算決定プログラム |
JP2020009305A (ja) * | 2018-07-11 | 2020-01-16 | 凸版印刷株式会社 | Icチップ、icカード及びプログラム |
JP2020013249A (ja) * | 2018-07-17 | 2020-01-23 | 凸版印刷株式会社 | Icチップ及びicカード |
-
2014
- 2014-10-23 JP JP2014216307A patent/JP2016085520A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018157367A (ja) * | 2017-03-17 | 2018-10-04 | 大日本印刷株式会社 | 電子情報記憶装置、icカード、演算決定方法、及び演算決定プログラム |
JP2020009305A (ja) * | 2018-07-11 | 2020-01-16 | 凸版印刷株式会社 | Icチップ、icカード及びプログラム |
JP2020013249A (ja) * | 2018-07-17 | 2020-01-23 | 凸版印刷株式会社 | Icチップ及びicカード |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10552604B2 (en) | Hardware isolated secure processing system within a secure element | |
US9628146B2 (en) | Data access in a mobile device with NFC | |
US8341758B2 (en) | Secure device and method for preventing side channel attack | |
JP5891274B2 (ja) | データ記憶装置とその異常電圧からの保護方法 | |
TWI405211B (zh) | 快閃記憶體儲存系統、控制器與資料保護方法 | |
WO2015157277A1 (en) | Apparatuses and methods for securing an access protection scheme | |
JP2015032317A (ja) | データ記憶装置とアクセス制御方法 | |
US20090113546A1 (en) | Memory system for sensing attack | |
US20140359312A1 (en) | Power on with near field communication | |
JP2016085520A (ja) | 携帯可能電子装置 | |
US20160154745A1 (en) | Memory device and host device | |
CN107729775B (zh) | 实现智能密钥设备模式间切换的方法和装置 | |
CN106683703B (zh) | 一种数据读取方法、集成电路及芯片 | |
US10373037B2 (en) | RFID transponder, RFID transponder arrangement and method for communication between an RFID transponder and a reading device | |
CN109359571B (zh) | 基于状态监视和握手的指纹传感器的闩锁恢复机制 | |
CN101918952B (zh) | 电子系统以及操作电子系统的方法 | |
CN103389922B (zh) | 用于随机存储器的总线ecc校验系统 | |
US8332662B2 (en) | Semiconductor integrated circuit and testing method thereof | |
JP2018101193A (ja) | 携帯可能電子装置、及びicカード | |
JP2016045864A (ja) | Icモジュール、icカード、及びicカードの製造方法 | |
KR20230133060A (ko) | 보안 기능을 제공하는 전자 장치 및 그의 동작 방법 | |
WO2009080502A1 (en) | Portable electronic system with power consumption control | |
JP6686725B2 (ja) | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム | |
JP2017072932A (ja) | Icカード、icモジュール、及びプログラム | |
KR20160014464A (ko) | 메모리 시스템 및 이의 데이터 보호 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20170911 Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20170911 |