JP5131378B2 - 携帯用セキュリティデバイス - Google Patents

携帯用セキュリティデバイス Download PDF

Info

Publication number
JP5131378B2
JP5131378B2 JP2011256708A JP2011256708A JP5131378B2 JP 5131378 B2 JP5131378 B2 JP 5131378B2 JP 2011256708 A JP2011256708 A JP 2011256708A JP 2011256708 A JP2011256708 A JP 2011256708A JP 5131378 B2 JP5131378 B2 JP 5131378B2
Authority
JP
Japan
Prior art keywords
function
command
flag
call
called
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.)
Active
Application number
JP2011256708A
Other languages
English (en)
Other versions
JP2012048753A (ja
Inventor
隆志 岡崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2011256708A priority Critical patent/JP5131378B2/ja
Publication of JP2012048753A publication Critical patent/JP2012048753A/ja
Application granted granted Critical
Publication of JP5131378B2 publication Critical patent/JP5131378B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、レーザ照射による不正利用を抑止する携帯用セキュリティデバイスに関するものである。
近年、ICチップのデータ蓄積能力及び処理能力の向上により、ICチップを搭載する装置類が増加する傾向にある。例えば、ICチップを搭載したICカードは、キャッシュカードやクレジットカードとしてのみならず、交通機関に支払い手段や、電子決済など様々な分野で用いられている。
このような様々な分野で利用されることに伴い、ICカードのセキュリティの重要性がさらに増大しつつある。
一方で、悪意ある第三者がICチップから情報を呼び出す攻撃の技術も存在する。このような攻撃としては、ICチップのパッケージを取り除き、電子顕微鏡等を利用して細いレーザを照射することで、レーザの照射先の回路において誤動作を生じさせるものがある。この際、ICチップ上で誤動作させたい処理を行っている位置又は経過時間などを特定した後、この当該位置又は経過時間にレーザを照射させることで当該処理において誤動作を生じさせる。
そして、このような悪意のある第三者の攻撃に対抗する技術がいくつか知られている。例えば、条件分岐命令などで使用するメモリ上のデータを改ざんし、本来の処理と異なる分岐を実行させることを防止するために、データを二重化させる手法がある。他には、条件分岐命令などのコードの読み出し時に命令バイトを改ざんし、本来行うべき処理と異なる動作をさせることを防ぐために条件分岐処理を二重化させる手法がある。これらの手法を行うことで、攻撃させる際に誤動作させたい処理を行っている位置の特定などが困難になる。
さらに他には、例えば、暗号鍵と、暗号鍵のエラーを訂正するコードを格納するメモリから暗号鍵を読み出し、当該コードを用いて暗号鍵のエラー訂正を行い、エラー訂正後の暗号鍵を用いてデータの暗号化を行う技術も提案されている(例えば、特許文献1参照)。
この特許文献1の技術を用いることで、暗号鍵に誤りが生じた場合にその誤りを訂正してから暗号化処理を施すため、暗号鍵の値に強制的に誤りを発生させて、出力値やICの挙動を観測するという暗号鍵を解読する攻撃を防止することができる。
特開2005−45760号公報
しかしながら、上記の二重化させる手法では、データ又は条件分岐命令毎に二重化を行うことが必要となり、内部プログラムのコードサイズが増大するという問題がある。
さらに、特許文献1に記載されている技術は、暗号鍵を解読する攻撃を防止する技術であるため、条件分岐や関数の呼出等に適用させるのが困難であり、セキュリティを維持するためには十分でないという問題がある。
本発明は、上記に鑑みてなされたものであって、プログラムのコードサイズの増大を抑止すると共にセキュリティを向上させることができる携帯用セキュリティデバイスを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、関数と、前記関数を呼び出すコマンドと、を含むプログラムを記憶領域に格納した携帯用セキュリティデバイスにおいて、前記コマンド毎に、前記プログラム内に格納されている関数と、当該関数が前記コマンドから使用可能か否かを示した使用可能フラグと、を対応付けて記憶する使用可能フラグ記憶部と、外部からの命令に従って、前記コマンドから関数が呼び出された場合に、当該関数と対応付けられた前記使用可能フラグにより、呼び出し先の前記コマンドが当該関数について使用可能か否かを判断する使用可能判断部と、を備えることを特徴とする。本発明によれば、携帯型セキュリティデバイスでは、使用可能フラグを用いて各関数を呼出可能か否か判断することで、外部から命令を受け付けた場合に、当該命令に従って適切に関数が呼び出しているか否かを判断できる。すなわち、条件分岐処理の二重化等によるプログラムのコードサイズの増大を抑止しながら、セキュリティを向上させることができる。
本発明によれば、携帯用セキュリティデバイスにおいてプログラムのコードサイズの増大を抑止しながらセキュリティを向上させることができるという効果を奏する。
ICカードのハードウェア構成を示した図である。 第1の実施の形態にかかるICカードの構成を示すブロック図である。 プログラム部にレーザを照射させることで、プログラム部に格納されているプログラムによる処理に誤動作させる概念を示した説明図である。 呼出確認・使用可フラグ管理テーブルの構造の例を示した図である。 呼出フラグ管理テーブルの構造の例を示した図である。 メイン処理部が行う処理手順を示すフローチャートである。 コマンドが行う処理手順を示すフローチャートである。 関数が行う処理手順を示すフローチャートである。 ICカードリーダライタからICカードに対して認証コマンドの実行を要求した場合の処理手順を示したシーケンス図である。 レーザ照射により関数の呼び出し先のアドレスが変更されるという誤動作が生じている際の、ICカードリーダライタからICカードに対して認証コマンドの実行を要求した場合の処理手順を示したシーケンス図である。 レーザ照射により関数がスキップされるという誤動作が生じている際の、ICカードリーダライタからICカードに対して認証コマンドの実行を要求した場合の処理手順を示したシーケンス図である。 第2の実施の形態に係るICカードの構成を示すブロック図である。 第2の実施の形態に係る呼出確認・使用可フラグ管理テーブルのユーザコマンドのレコードの構造の例を示した図である。 第2の実施の形態に係るメッセージ表示関数が行う処理手順を示すフローチャートである。 第2の実施の形態に係るICカードリーダライタからICカードに対してユーザコマンドの実行を要求した場合の処理手順を示したシーケンス図である。
以下に添付図面を参照して、この発明にかかる携帯用セキュリティデバイスの最良な実施の形態を詳細に説明する。なお、本実施の形態では、携帯用セキュリティデバイスとしてICカードの場合について説明するが、携帯用セキュリティデバイスをICカードに制限するものではなく、様々なデバイスに対して適用することができる。
(第1の実施の形態)
図1は、第1の実施の形態にかかるICカード100のハードウェア構成を示した図である。図1に示すように、ICカード100は、通信部11と、CPU12と、RAM(Random Access Memory)13と、ROM(Read Only Memory)14と、EEPROM(Electronically Erasable and Programmable Read Only Memory)15とを備えている。
通信部11は、ICカード100とICカードリーダライタ160との間の通信を制御する。
ROM14は、読み込みのみ可能な記憶媒体であり、プログラム及びデータの格納領域として用いられる。EEPROM15は、書込み・消去ができる不揮発性メモリであり、データの格納領域として用いられる。EEPROM15に格納するデータは、任意のデータで良く、例えば暗証番号とする。
CPU12は、ROM14に格納されたプログラムを実行して、当該プログラムの機能に基づいて様々な処理を実行する。RAM13は、CPU12の作業領域として用いられる。また、RAM13は、書き換えが必要なデータの格納領域としても用いられる。
図2は、第1の実施の形態にかかるICカードの機能的構成を示すブロック図である。図2に示すように、ICカード100は、呼出確認・使用可フラグ記憶部101と、呼出フラグ記憶部102と、プログラム部103とを備える。そして、ICカード100は、利用する際にICカードリーダライタ160とアクセスする必要がある。
プログラム部103に示した各構成は、図1に示すROM14に格納されたプログラムを、CPU12が実行することで実現される。
本実施の形態にかかる呼出確認・使用可フラグ記憶部101は、図1に示すROM14に格納する。なお、本実施の形態とは異なるが、呼出確認・使用可フラグ記憶部101に格納されるデータに更新等が行われる場合、呼出確認・使用可フラグ記憶部101をEEPROM15に格納しても良い。また、本実施の形態にかかる呼出フラグ記憶部102は、図1に示すEEPROM15に格納する。
ICカードリーダライタ160は、ICカード100に対してコマンドを送信すると共に、当該ICカード100から受信したレスポンスによる処理結果を取得する。
本実施の形態では、ICカード100は、ICカードリーダライタ160と物理的な接触を前提とする接触型ICカードとする。なお、本実施の形態は、ICカードを接触型ICカードに制限するものではなく、ICカードが無線周波の交信機構を備え、物理的な接触を必要とせずにICカードリーダライタとの間でデータを送受信する非接触型ICカードでも良い。また、非接触型ICカードを適用した場合、非接触型ICカードとアクセス可能なICカードリーダライタを使用する必要がある。
図3は、プログラム部103にレーザを照射させることで、プログラム部103に格納されているプログラムによる処理に誤動作させる攻撃の概念を示した説明図である。図3に示すように、ICカード100のプログラムを実行する領域において、「命令フェッチ」、「定数演算」、「条件分岐(True)」、「条件分岐(False)」、「入力演算」、「表示」の順で処理を行う回路構成を有しているものとする。そして、図3で示した例において、「条件分岐(True)」で条件に一致した場合、「条件分岐(False)」以降の処理を行わず、「条件分岐(True)」で指示される他の命令を実行するものとする。
これに対し、プログラム部103の「条件分岐(True)」の命令を実行した後にジャンプ命令を実行することがあるがジャンプ命令の中の実行アドレスを不正な値に変更するために該当する部分の回路に対して、悪意のある第三者がレーザ照射を行うことで、本来のプログラム処理では他の命令を行うはずであったにも係わらず、当該「条件分岐(True)」を誤動作によりスキップさせ、「条件分岐(False)」以降の処理を実行させることが可能となる。このように、条件分岐をスキップさせることで、例えば、ICカード100がコマンド実行時に、当該コマンドで実行させることが必要な関数を呼び出すことなく、全ての処理が終了する等が考えられる。
他に不正な処理が誤動作を生じさせる例としては、ICカード100のプログラムを実行する領域にレーザ照射を行うことで、コマンド実行時に、プログラム処理が本来は取得不可能な関数の呼出先のアドレスを取得して、不正に関数を呼び出すこと等も考えられる。
本実施の形態にかかるICカード100では、このような誤動作による不正利用を以下のような構成により防止している。
図2に戻り、呼出確認・使用可フラグ記憶部101は、呼出確認・使用可フラグ管理テーブル151を保持するROM14等の記憶領域である。図4は、呼出確認・使用可フラグ管理テーブル151の構造の例を示した図である。図4に示すように、呼出確認・使用可フラグ管理テーブル151では、コマンド毎に、フラグ種別と、コマンドから呼び出される関数と、が対応付けられている。
また、本実施の形態のICカード100において、外部からの命令に従って実行されるコマンドとしては、読出コマンドと、更新コマンドと、照合コマンドと、認証コマンドと、取引コマンドとを例にあげて説明する。また、本実施の形態のICカード100で、上述したコマンドから呼び出される関数は、メモリ読出関数と、メモリ更新関数と、照合関数と、認証関数と、署名関数とする。
なお、本実施の形態は、外部からの命令に従ってICカード100から実行されるコマンドを上述したコマンドに制限するものではなく、必要に応じてコマンドの追加・削除等を行ってもよい。なお、本実施の形態は、ICカード100で呼び出される関数を上述した関数に制限するものではなく、必要に応じて関数の追加・削除等を行ってもよい。
図4に示すように、呼出確認・使用可フラグ管理テーブル151におけるフラグ種別は、使用可と、呼出確認との二種類である。フラグ種別が“使用可”である、“使用可”レコードにおける各関数のフィールドは、当該関数を呼び出して良いか否かを示すフラグ(以下、使用可フラグとする)を保持する。使用可フラグに“○”が設定された関数は、当該レコードで示されるコマンドから使用でき、当該関数を呼び出して良いことを示している。
フラグ種別が“呼出確認”である、“呼出確認”レコードにおける各関数のフィールドは、実行されたコマンドから、当該関数が呼び出されたことの確認を行う必要があるか否か示すフラグ(以下、呼出確認フラグとする)を保持する。呼出確認フラグに“○”が設定された関数は、実行されたコマンドから呼び出されたか否かの確認が必要であることを示している。
なお、本実施の形態では、“使用可”レコードと“呼出確認”レコードとを一つのテーブルに格納することとした。しかしながら、本実施の形態は、このようなテーブル構造に制限するものではなく、“使用可”レコードを格納するテーブルと、“呼出確認”レコードを格納するテーブルと、を別々に設けてもよい。
呼出フラグ記憶部102は、呼出フラグ管理テーブル152を保持するEEPROM15等の記憶領域にある。図5は、呼出フラグ管理テーブル152の構造の例を示した図である。図5に示すように、呼出フラグ管理テーブル152は、関数毎に呼び出されたか否かを示すフラグ(以下、呼出フラグとする)を保持している。そして、呼出フラグの値が‘0’の場合、関数が呼び出されていないことを示している。また、呼出フラグの値が‘1’の場合、関数が呼び出されたことを示している。この呼出フラグは、後述する初期化部112で全ての関数の呼出フラグに対して‘0’を設定する。また、呼出フラグは、呼び出された関数により‘1’に更新される。
図2に戻り、プログラム部103は、メイン処理部111と、照合コマンド115と、認証コマンド116と、読出コマンド117と、更新コマンド118と、取引コマンド119と、前処理関数131と、認証関数132と、メモリ更新関数135と、メモリ読出関数138と、照合関数141と、署名関数144とを備えている。
メイン処理部111は、初期化部112、判断部113と、呼出フラグ判断部114とを備え、ICカードリーダライタ160から、外部からの命令を受信し、受信した命令に従ってコマンドを実行する処理を行う。
初期化部112は、ICカードリーダライタ160から送信されたコマンドと対応付けられた使用可フラグ及び呼出確認フラグを、図4に示す呼出確認・使用可フラグ管理テーブル151から取得する。また、初期化部112は、各種コマンドによる処理を実行する前に、図5に示す呼出フラグ管理テーブル152の初期化を行う。本実施の形態では、初期化部112は、呼出フラグ管理テーブル152に格納されている全ての呼出フラグに対して、呼び出されていないことを示す値‘0’を設定する。例えば、ICカードリーダライタ160が認証コマンドの実行を要求した場合、初期化部112は、図4に示す、認証コマンドのレコードに格納されている使用可フラグ及び呼出確認フラグを全て取得する。また取得した使用可フラグ及び呼出確認フラグは、メイン処理部111により、実行する各種コマンドに引数として受け渡される。これにより、後述する各種コマンド内で、適切に関数を呼び出すことができたのか確認することができる。
判断部113は、メイン処理部111から実行されたコマンドが終了した後、実行されたコマンドで、呼び出した関数の確認が必要か否かを判断する。例えば、照合コマンド115が実行された場合、判断部113は、初期化部112が取得した呼出確認フラグを参照して、メモリ更新関数135と、照合関数141と、が呼び出されたのか否かを確認する必要があると判断する。これは、図4に示すように、“照合コマンド”のレコードで“メモリ更新関数”と“照合関数”との呼出確認フラグが‘○’になっていることから判断できる。
呼出フラグ判断部114は、呼出の確認を行う必要があると判断された関数が、実行されたコマンドから呼び出されたか否かを判断する。例えば、判断部113がメモリ更新関数135と照合関数141とを呼び出す必要があったものと判断した場合、呼出フラグ判断部114は、呼出フラグ管理テーブル152の“メモリ更新関数”と“照合関数”との呼出フラグが‘1’に更新されているか否かを判断する。“メモリ更新関数”及び“照合関数”の呼出フラグが‘1’に更新されていた場合、呼出フラグ判断部114は、各関数がコマンドから適切に呼び出されたものと判断する。
また、呼出フラグ判断部114は、“メモリ更新関数”及び“照合関数”の呼出フラグのうちいずれか一つ以上が‘0’であると判断した場合、関数が呼び出されず、異常事態が発生したものと判断する。
そして、呼出フラグ判断部114は異常事態が発生したものと判断した場合、メイン処理部111は全ての処理を終了し、異常が発生した旨をICカードリーダライタ160に通知する。
照合コマンド115は、ICカードリーダライタ160を通じて外部より利用者が入力した暗証番号とICカード100に格納された暗証番号との照合を行う。なお、照合コマンド115が行う照合は、暗証番号に制限するものではなく、指紋などの生体認証用のデータを使用して照合を行ってもよい。
また、呼出確認・使用可フラグ管理テーブル151の使用可フラグが示すように、照合コマンド115は後述するメモリ更新関数135と、照合関数141とを使用する。本実施の形態では、照合コマンド115が、メモリ更新関数135及び照合関数141以外の関数が呼び出した場合、異常な事態が発生しているとみなす。なお、後述するコマンドも同様に、呼出確認・使用可フラグ管理テーブル151の使用可フラグを参照することで、使用可能な関数を確認できる。
認証コマンド116は、利用者の認証処理を行う。また、認証コマンド116が行う認証は、どのような認証を行ってもよい。例えば、認証コマンド116は、ICカード100内に格納された電子証明書を使用して、利用者の認証を行う等が考えられる。
読出コマンド117は、ICカード100内に格納されたデータを読み出す処理を行う。なお、読み出すデータについては、ICカード100のメモリ領域に格納されたデータであれば、特に限定するものではなく、説明を省略する。
更新コマンド118は、ICカード100内に格納されているデータの更新処理を行う。取引コマンド119は、電子決済などの取引処理を行う。
上述したように、各コマンドは、外部からの命令に従って、メイン処理部111から実行されることで様々な処理を行うことができる。また、各コマンドが使用可能な関数を、呼出確認・使用可フラグ管理テーブル151で保持しているため、各コマンドから不正に関数を呼び出した場合、当該不正な呼び出しを検出できる。
次にコマンドから呼び出される関数について説明する。また、以下に示す関数は、呼出先のコマンドがメイン処理部111から引数として渡された使用可フラグ及び呼出確認フラグを、再び引数として受け取る。
図2において、前処理関数131は、上述したコマンドが実行された際に、前処理を行う関数とする。前処理関数131が行う前処理とは、任意の処理で良く、例えばコマンドで用いられるパラメータの初期化処理等が該当する。
認証関数132は、使用可能判断部133と、更新部134とを備え、呼び出したコマンドの要求に応じて、認証処理を行うものである。なお、具体的に行われる認証処理については制限を設けるものではなく、あらゆる認証処理を用いても良い。
使用可能判断部133は、関数の呼出先のコマンドが、当該関数を使用できるか否か判断するものである。本実施の形態にかかる使用可能判断部133は、引数として渡された認証関数132の使用可フラグが‘○’か否か判断する。そして、使用可能判断部133は、当該使用フラグが‘○’と判断した場合、当該コマンドから認証関数132を使用可能と判断する。使用可能と判断された場合に、認証関数132は認証処理を行う。
また、使用可能判断部133は使用可フラグが‘○’でないと判断した場合、呼出先のコマンドでは認証関数132を使用不可能と判断する。この場合、認証関数132は、認証処理を行わず、異常事態が発生したことを呼び出し元のコマンドに対して、レスポンスとして応答する。
更新部134は、外部からの命令に従って実行された任意のコマンドから、認証関数132が呼び出された場合に、図5に示す呼出フラグ管理テーブル152における、認証関数の呼出フラグを、呼び出されたことを示す値‘1’に更新する。本実施の形態では、更新部134は、呼出フラグ管理テーブル152を更新する前に、引数として渡された認証関数の呼出確認フラグが‘○’か否かを調べることにより、当該関数が呼び出されたことの確認が必要か否かを判断する。そして、使用可能判断部133は、当該呼出確認フラグが‘○’と判断した場合、認証関数132の呼び出されたことの確認が後で行われると判断し、呼出フラグ管理テーブル152における、認証関数の呼出フラグを‘1’に更新する。また、使用可能判断部133は、当該呼出確認フラグが‘○’でないと判断した場合、呼出フラグ管理テーブル152に対して更新処理を行わない。
メモリ更新関数135は、使用可能判断部136と、更新部137とを備え、呼び出したコマンドの要求に応じて、メモリの更新処理を行う。また、更新先のメモリは図1に示すICカード100の内部に備えられているRAM13、またはEEPROM15とする。
使用可能判断部136及び更新部137は、認証関数132の代わりにメモリ更新関数135についての使用可能か否かの判断及び呼出フラグの更新処理を行うことを除けば、上述した使用可能判断部133及び更新部134と同様の処理を行うので、説明を省略する。なお、後述するメモリ読出関数138が備えている使用可能判断部139及び更新部140、照合関数141が備えている使用可能判断部142及び更新部143、署名関数144が備えている使用可能判断部145及び更新部146も同様として説明を省略する。
メモリ読出関数138は、使用可能判断部139と、更新部140とを備え、呼び出したコマンドの要求に応じて、メモリの読出処理を行う。読み出し先のメモリはICカード100の内部に備えられているEEPROM15、ROM14、又はRAM13等とする。
照合関数141は、使用可能判断部142と、更新部143とを備え、暗証番号等の照合を行う。署名関数144は、使用可能判断部145と、更新部146とを備え、電子署名による署名処理を行う。
このように、ICカード100では、各種関数が呼び出された場合に、呼出先のコマンドが当該関数を使用可能か否か判断することで、誤動作により呼び出されたのか否か判断することができる。また、ICカード100では、関数が呼び出された場合に、呼出フラグを‘0’から‘1’に更新することで、呼び出されたことの確認が容易になる。
次に、以上のように構成されたICカード100において、メイン処理部111が行う処理手順について説明する。図6は、メイン処理部111が行う処理手順を示すフローチャートである。まず、ICカードリーダライタ160を通じて、外部からの命令を受信したものとする。受信した命令に対応するコマンドとしては、プログラム部103で保持している読出コマンド117、更新コマンド118、照合コマンド115、認証コマンド116又は取引コマンド119等である。
まず、メイン処理部111の初期化部112は、呼出確認・使用可フラグ記憶部101の呼出確認・使用可フラグ管理テーブル151から、受信したコマンドと対応付けられた呼出確認フラグ及び使用可フラグを、呼出確認・使用可フラグ記憶部101から取得する(ステップS501)。
次に、メイン処理部111の初期化部112は、呼出フラグ記憶部102の呼出フラグ管理テーブル152の各呼出フラグを‘0’とする初期化処理を行う(ステップS502)。
そして、メイン処理部111は、受信したコマンドを実行させる(ステップS503)。実行されたコマンドでは、関数を呼び出した場合、呼出フラグ管理テーブル152における、当該関数の呼出フラグを‘1’に更新する。なお、コマンドが行う処理手順の詳細については後述する。
コマンドによる処理が終了した後、メイン処理部111の判断部113は、ステップS501で取得した呼出確認・使用可フラグ管理テーブル151のフラグにおいて、実行されたコマンドと対応付けられた関数毎に、当該関数の呼出確認フラグが‘○’であるか否かを調べることにより、当該関数が呼び出されたことの確認が必要であるか否かを判断する(ステップS504)。
そして、判断部113が、関数の呼出確認フラグが‘○’、つまり当該関数が呼び出されたことの確認が必要と判断した場合(ステップS504:Yes)、呼出フラグ判断部114は、呼出フラグ管理テーブル152における、当該関数の呼出フラグが‘1’か否か、すなわち当該関数が呼び出されたか否かを判断する(ステップS505)。そして、呼出フラグが‘1’ではない、つまり当該関数が呼び出されていないと判断した場合(ステップS505:No)、メイン処理部111は異常事態と判断し(ステップS506)、その旨をICカードリーダライタ160に送信して処理を終了する。
一方、ステップS505において呼出フラグ判断部114により呼出フラグが‘1’である、つまり当該関数が呼び出されたものと判断した場合(ステップS505:Yes)、又はステップS504において判断部113により呼出確認フラグが‘ ’(空白)、つまり当該関数が呼び出されたか否かの確認が必要ではないと判断した場合(ステップS504:No)、ステップS507に処理が進む。そして、ステップS507において、呼出フラグ判断部114は、呼出確認・使用可フラグ管理テーブル151で、実行されたコマンドと対応付けられた全ての関数について、呼び出されたか否かの確認が終了したか判断する(ステップS507)。終了していないと判断した場合(ステップS507:No)、メイン処理部111は再びステップS504から処理を行う。
また、メイン処理部111は、全ての関数について適切に呼び出されたか否かの確認が終了したものと判断した場合(ステップS507:Yes)、処理を終了する。
次に、メイン処理部111から実行されたコマンドが行う処理手順について説明する。図7は、コマンドが行う処理手順を示すフローチャートである。なお、このコマンドは、読出コマンド117、更新コマンド118、照合コマンド115、認証コマンド116又は取引コマンド119のうちいずれのコマンドでも良い。
まず、コマンドは、前処理関数131の呼び出しを行う(ステップS601)。前処理関数131が行う処理は、コマンドで用いられるパラメータの初期化等とする。
次に、コマンドは、当該処理に必要な関数の呼び出しを行う(ステップS602)。また、本処理手順では呼び出される関数が1つの例について説明したが、コマンドは当然に複数の関数を呼び出しても良い。つまり、コマンドが呼び出す関数は、認証関数132、メモリ更新関数135、メモリ読出関数138、照合関数141及び署名関数144のうちいずれか一つ以上とする。
そして、コマンドは関数の処理が終了した場合、処理を終了する。なお、コマンドは、関数から異常事態が発生した旨を受信した場合、その旨をメイン処理部111に送信する。この異常事態が発生した旨の例としては、コマンドで関数の使用が許可されていないにもかかわらず関数が呼び出された等が考えられる。
次に、コマンドから呼び出された関数が行う処理手順について説明する。図8は、関数が行う処理手順を示すフローチャートである。なお、この呼び出された関数は、メモリ読出関数138、メモリ更新関数135、照合関数141、認証関数132及び署名関数144のうちいずれの関数でも良い。
関数の使用可能判断部(図2参照)は、まずコマンドによって呼び出された関数に対応する、呼出確認・使用可フラグ管理テーブル151(図4参照)の当該関数の使用可フラグが‘○’か否か、すなわち当該関数が呼び出されて良いか否かを判断する(ステップS701)。そして、使用可能判断部は、‘○’ではない、つまり当該関数が呼び出されることに問題があると判断した場合(ステップS701:No)、異常事態と判断し(ステップS702)、処理を終了する。その場合、当該関数は、呼び出し元のコマンドに対して異常事態が発生した旨を送信する。
使用可能判断部が、当該関数の使用可フラグを‘○’である、つまり当該関数が呼びだされて良いと判断した場合(ステップS701:Yes)、当該関数の更新部が、呼出確認・使用可フラグ管理テーブル151の当該関数の呼出確認フラグが‘○’か否か、すなわち当該関数が呼び出されたことの確認を行う必要があるか否かを判断する(ステップS703)。なお、当該確認は、図6で説明したので省略する。
そして、当該関数の更新部が、呼出確認フラグを‘○’である、つまり当該関数が呼び出されたことの確認を行う必要があると判断した場合(ステップS703:Yes)、呼出フラグ管理テーブル152(図5参照)の、当該関数の呼出フラグを‘1’、つまり当該関数が呼び出されたことを示す値に更新する(ステップS704)。
次に、更新部が呼出確認フラグを‘○’ではない、つまり当該関数が呼び出されたことの確認を行う必要がないと判断した場合(ステップS703:No)、又はステップS704の処理が終了した後、関数が所定の処理(例えば、認証、照合、メモリ更新、メモリ読出等)を実行する(ステップS705)。
次に、ICカードリーダライタ160からコマンドが送信された場合の処理について、シーケンス図を用いて説明する。図9は、ICカードリーダライタ160からICカード100に対して認証コマンドの実行を要求した場合の処理手順を示したシーケンス図である。
まず、ICカードリーダライタ160は、ICカード100に対して外部からの命令の送信を行う(ステップS801)。なお、この例では、送信された命令に従って実行されるコマンドを、認証コマンド116とする。
次に、メイン処理部111が、呼出確認・使用可フラグ管理テーブル151(図4参照)の、認証コマンドに対応付けられた使用可フラグ及び呼出確認フラグを参照して、メモリ更新関数及び認証関数にかかる使用可フラグ(換言すれば、呼び出されて良いか否かを示す値)を、取得する(ステップS802)。なお、メモリ更新関数及び認証関数の使用可フラグを取得したのは、これらの使用可フラグが‘○’のためである。
そして、メイン処理部111が、呼出フラグ管理テーブル152に格納された各関数の呼出フラグを初期化する(ステップS803)。
次に、メイン処理部111は、認証コマンド116を呼び出して、認証コマンド116によるコマンド処理を実行させる(ステップS804)。
そして、認証コマンド116は、前処理関数131の呼び出しを行う(ステップS805)。その後、前処理関数131による処理が終了した後、処理が終了したことを示すメッセージを、認証コマンド116に送信する(ステップS806)。
次に、認証コマンド116は、メモリ更新関数135の呼び出しを行う(ステップS807)。
呼び出されたメモリ更新関数135の使用可能判断部136は、認証コマンド116から呼び出されたことが良いか否かを、引数から取得したメモリ更新関数の使用可フラグが‘○’か否かで判断する(ステップS808)。本処理手順では、使用可フラグが‘○’と判断した場合、つまり認証コマンド116からメモリ更新関数135を呼び出すことが良いと判断した場合とし、そのまま処理を続ける。
次に、メモリ更新関数135の更新部137は、当該関数が呼び出されたことの確認を行う必要があるか否かを、引数から取得した当該関数の呼出確認フラグが‘○’か否か判断する。そして、更新部137が‘○’と判断した場合に、呼出フラグ管理テーブル152のメモリ更新関数の呼出フラグを‘1’、つまり当該関数が呼びだされたことを示す値に更新する(ステップS809)。
その後、メモリ更新関数135は、メモリ更新処理を行った後、正常に処理が終了したことを、認証コマンドに送信する(ステップS810)。
次に、認証コマンド116は、認証関数132の呼び出しを行う(ステップS811)。そして、呼び出された認証関数132の使用可能判断部133は、認証コマンド116から呼び出されたことが良いか否かの判断を、引数から取得した使用可フラグから判断する(ステップS812)。本処理手順では、図4より認証コマンド116から認証関数132を呼び出すことは適切なものと判断できるため、そのまま処理を続ける。
そして、認証関数132の更新部134は、当該関数が呼び出されたことの確認を行う必要があるか否かを、引数から取得した当該関数の呼出確認フラグが‘○’か否かで判断する。そして、更新部134は呼出確認フラグが‘○’と判断した場合に、呼出フラグ管理テーブル152の認証関数の呼出フラグを‘1’、つまり当該関数が呼びだされたことを示す値に更新する(ステップS813)。
その後、認証関数132は、認証処理を行った後、正常に処理が終了したことを、認証コマンドに送信する(ステップS814)。その後、認証コマンド116がメイン処理部111に対して処理が終了した旨のメッセージを送信する(ステップS815)。
そして、メイン処理部111の判断部113は、各関数が呼び出されたことを確認する必要があるか否かを、ステップS802で取得した各関数の呼出確認フラグが‘○’か否か判断する(ステップS816)。本処理手順では、判断部113は、認証関数132と、メモリ更新関数135とについて呼び出されたか否かの確認が必要であると判断する。
次に、メイン処理部111の呼出フラグ判断部114は、認証関数132及びメモリ更新関数135について、呼出フラグが更新されているかを(つまり、呼出フラグの値が‘1’か)判断する(ステップS817)。
そして、メイン処理部111は、正常に更新されていること判断した後、認証が終了した旨を、ICカードリーダライタ160に送信する(ステップS818)。これによりICカード100を用いた認証処理が終了する。
次に、ICカード100に対するレーザ照射による攻撃により、関数の呼び出し先のアドレスが変更されるという誤動作が生じている際に、ICカードリーダライタ160からコマンドが送信された場合の処理について説明する。図10は、上述した誤動作が生じている際の、ICカードリーダライタ160からICカード100に対して認証コマンドの実行を要求した場合の処理手順を示したシーケンス図である。本実施の形態の図4に示す呼出確認・使用可フラグ管理テーブル151を参照すると、認証コマンドでは本来、メモリ更新関数と認証関数とが呼び出されるはずであるが、レーザ照射により誤動作が生じ、誤ってメモリ読出関数が呼び出される場合を説明する。
まず、ICカードリーダライタ160とICカード100とによるステップS901〜S906による処理は、ステップS801〜S806による処理と同様なので説明を省略する。
その後、認証コマンド116は、メモリ読出関数138を呼び出す(ステップS907)。なお、ステップS907に示したメモリ読出関数138の呼び出しは、レーザ照射による誤動作で、認証コマンド116が呼び出す予定だったメモリ更新関数135の格納されたアドレスが、メモリ読出関数138の格納されたアドレスに変更されたことで生じている。
そして、メモリ読出関数138の使用可能判断部139は、認証コマンド116から呼び出されたことが良いか否かを、引数から取得した使用可フラグが‘○’か否かで判断する(ステップS908)。本処理手順では、使用可能判断部139は、認証コマンド116がメモリ読出関数138を呼び出すことは許可されていないため(図4参照)、本処理は異常な事態であると判断する。
そして、メモリ読出関数138は、異常事態が生じた旨(エラー)を、認証コマンド116に対して送信する(ステップS909)。次に、認証コマンド116は、異常事態が生じた旨(エラー)を受信した場合、特に処理を行わず、異常事態が生じた旨(エラー)をメイン処理部111に対して送信する(ステップS910)。
そして、メイン処理部111は、異常事態が生じた旨(エラー)を受信した場合、認証に失敗した旨をICカードリーダライタ160に対して送信する(ステップS911)。
上述した処理手順により、ICカード100は、レーザ照射により不正な関数が呼び出された場合、異常事態が生じたものと判断することが可能となる。
次に、ICカード100に対するレーザ照射による攻撃により、関数がスキップされるという誤動作が生じている際に、ICカードリーダライタ160からコマンドが送信された場合の処理について説明する。図11は、上述した誤動作が生じている際の、ICカードリーダライタ160からICカード100に対して認証コマンドの実行を要求した場合の処理手順を示したシーケンス図である。図11に示すシーケンス図は、本来、図9に示したようにメモリ更新関数135が実行された後に、認証関数132が呼び出されるはずであったが、ICカード100に対するレーザ照射による誤動作で、認証関数132の呼び出しがスキップされた場合の処理を説明する。
まず、ICカードリーダライタ160とICカード100とによるステップS1001〜S1010による処理は、ステップS801〜S810による処理と同様なので説明を省略する。
その後、本来は認証関数132が呼び出されるはずであったが、ICカード100に対するレーザ照射による誤動作で、認証関数132の呼び出しがスキップされることとなった。
その後、レーザ照射により誤動作により、認証コマンド116から処理が終了した旨のメッセージがメイン処理部111に対して送信される(ステップS1011)。
そして、メイン処理部111の判断部113は、各関数が呼び出されたことを確認する必要があるか否かを、ステップS1002で取得した各関数の呼出確認フラグが‘○’か否かで判断する(ステップS1012)。本処理手順では、判断部113は、認証関数132と、メモリ更新関数135とについて、呼び出されたか否かの確認が必要であると判断する。
次に、呼出フラグ判断部114は、認証関数132及びメモリ更新関数135について、呼出フラグが更新されているか(つまり、それぞれの関数の呼出フラグの値が‘1’か)を判断する(ステップS1013)。この場合、呼出フラグ判断部114は、メモリ更新関数の呼出フラグは更新されていることを確認できるが、認証関数132の呼出フラグは更新されていることを確認できない(つまり、認証関数の呼出フラグの値が‘0’であることを確認した)。これは、認証関数132の処理がレーザ照射の誤動作によりスキップされたためである。
そこで、メイン処理部111は、適切に関数が呼び出されなかったものと判断し、認証に失敗した旨をICカードリーダライタ160に対して送信する(ステップS1014)。
このように本実施の形態では、ICカード100により使用可フラグによる使用可能か否かの判断処理及び呼出フラグ管理テーブル152の呼出フラグの更新処理を行うことにより、レーザ照射の攻撃による誤動作が生じたときに、当該誤動作を検出できるので、データまたは条件分岐命令ごとに二重化を行う必要がなくプログラムのコードサイズの増大を抑止しながら、セキュリティを向上させることができる。これにより、悪意ある第三者によるICカード100の不正利用を防止することができる。
なお、本実施の形態では、ICカードとアクセスする装置がICカードリーダライタの場合について説明したが、ICカードリーダライタに制限するものではなく、様々な外部装置を適用しても良い。
(第2の実施の形態)
上述した第1の実施の形態にかかるICカード100では、認証コマンド116が呼び出したメモリ更新関数135及び認証関数132が、使用可フラグによる使用可能か否かの判断処理、及び呼出フラグ管理テーブル152の呼出フラグの更新処理のいずれの処理も行っていた。しかしながら、関数は、使用可フラグによる使用可能か否かの判断処理、及び呼出フラグ管理テーブル152の呼出フラグの更新処理のうちいずれか一方の処理のみを行うことにしてもよい。
そこで、第2の実施の形態では、コマンドで関数が呼び出された場合、使用可フラグによる使用可能か否かの判断処理、及び呼出フラグ管理テーブル152の呼出フラグの更新処理のうちいずれか一方のみ処理を行う例について説明する。
図12は、本実施の形態に係るICカード1100の構成を示すブロック図である。上述した第1の実施の形態に係るICカード100とは、プログラム部1104にユーザコマンド1101と、メッセージ表示関数1102が追加された点で異なる。なお、本実施の形態のICカード1100の構成で、第1の実施の形態のICカード100と共通な構成については説明を省略する。
また、上述した構成の変更に伴い、呼出確認・使用可フラグ記憶部101に格納されている呼出確認・使用可フラグ管理テーブル1111のテーブル構造も変更される。
図13は、呼出確認・使用可フラグ管理テーブル1111のテーブル構造の例を示した図である。図13に示す呼出確認・使用可フラグ管理テーブル1111は、図4に示す呼出確認・使用可フラグ管理テーブル151と異なる点として、‘ユーザコマンド’のレコード1301が追加された点と、ICカード1100から呼出可能な関数としてメッセージ表示関数のフィールドが追加された点とする。図13に示すように、‘ユーザコマンド’のレコード1301では、メッセージ表示関数の使用可フラグに‘―’が格納されている。この‘―’は当該関数が、コマンドから呼び出された場合に、呼び出されて良いか否か判断する必要がないことを示している。
なお、図示していないが、呼出フラグ記憶部102が保持する呼出フラグ管理テーブル152においても、当然にメッセージ表示関数1102の呼出フラグを示すフィールドが追加されているものとする。
図12に戻り、ユーザコマンド1101は、ユーザによるカスタマイズで生成されたコマンドとする。当該コマンドではユーザによりメモリ読出関数138とメッセージ表示関数1102とを呼び出すように設定されている。
メッセージ表示関数1102は、更新部1103を備え、予め定められたメッセージをICカードリーダライタ等に備え付けられた表示部等に、表示する処理を行うための関数とする。なお、更新部1103が行う処理については、更新部134等と同様として説明を省略する。
なお、メッセージ表示関数1102は上述したように、コマンドから呼び出された際、当該関数が呼び出されて良いか否か判断を行わないものとする。つまり、メッセージ表示関数1102は、どこから呼び出されたとしても不正な利用に用いられることはないので、呼び出されて良いか否かの判断を行わず、ICカード1100の処理負担を軽減させるように設計されたものとする。
次に、メッセージ表示関数1102が行う処理手順について説明する。図14は、メッセージ表示関数1102が行う処理手順を示すフローチャートである。
まず、メッセージ表示関数1102がコマンドから呼び出された場合、更新部1103が、呼出確認・使用可フラグ管理テーブル1111の当該メッセージ表示関数1102の呼出確認フラグが‘○’か否か、すなわち当該関数が呼び出されたことの確認を行う必要があるか否かを判断する(ステップS1401)。
そして、更新部1103は、呼出確認フラグが‘○’である、つまり当該関数が呼び出されたことの確認を行う必要があると判断した場合(ステップS1401:Yes)、呼出フラグ管理テーブル152の、当該メッセージ表示関数1102の呼出フラグを‘1’、つまり当該関数が呼び出されたことを示す値に更新する(ステップS1402)。
次に、更新部1103は、呼出確認フラグが‘○’ではない、つまり当該関数が呼び出されたことの確認を行う必要がないと判断した場合(ステップS1401:No)、又はステップS1402の処理が終了した後、メッセージ表示関数1102が所定の処理(予め定められたメッセージの表示処理)を実行する(ステップS1403)。
次に、ICカードリーダライタ160からコマンドが送信された場合の処理について、シーケンス図を用いて説明する。図15は、ICカードリーダライタ160からICカード100に対してユーザコマンドの実行を要求した場合の処理手順を示したシーケンス図である。
まず、ICカードリーダライタ160は、ICカード100に対して外部からの命令の送信を行う(ステップS1201)。なお、この例では、送信された命令に従って実行されるコマンドを、ユーザコマンド1101とする。
次に、メイン処理部111が、呼出確認・使用可フラグ管理テーブル1111(図13参照)の、ユーザコマンドに対応付けられた使用可フラグ及び呼出確認フラグを参照して、メモリ読出関数にかかる使用可フラグと、メッセージ表示関数にかかる使用可フラグ及び呼出確認フラグを取得する(ステップS1202)。なお、メモリ更新関数及びメッセージ表示関数の使用可フラグを取得したのは、これらの使用可フラグが‘○’又は‘―’のためである。
そして、メイン処理部111が、呼出フラグ管理テーブル152に格納された各関数の呼出フラグを初期化する(ステップS1203)。
次に、メイン処理部111は、ユーザコマンド1101を呼び出して、ユーザコマンド1101によるコマンド処理を実行させる(ステップS1204)。
そして、ユーザコマンド1101は、前処理関数131の呼び出しを行う(ステップS1205)。その後、前処理関数131による処理が終了した後、処理が終了したことを示すメッセージを、ユーザコマンド1101に送信する(ステップS1206)。
次に、ユーザコマンド1101は、メモリ読出関数138の呼び出しを行う(ステップS1207)。
そして、呼び出されたメモリ読出関数138は、ユーザコマンド1101から呼び出されたことが良いか否かを、引数から取得したメモリ更新関数の使用可フラグが‘○’か否かで判断する(ステップS1208)。本処理手順では、ユーザコマンド1101からメモリ読出関数138を呼び出すことが良い場合とし、そのまま処理を続ける。
次に、メモリ読出関数138は、当該関数が呼び出されたことの確認を行う必要があるか否かを、引数から取得した呼出確認フラグが‘○’か否かで判断する。そして、メモリ読出関数138は、‘○’ではない(つまり‘ ’(空白)である)と判断した場合に、呼出フラグ管理テーブル152のメモリ読出関数138の呼出フラグの更新処理を行わず、メモリからの読出処理のみ行う。
その後、メモリ読出関数138は、メモリ読出処理を行った後、正常に処理が終了したことを、ユーザコマンド1101に送信する(ステップS1209)。
次に、ユーザコマンド1101は、メッセージ表示関数1102の呼び出しを行う(ステップS1210)。なお、メッセージ表示関数1102は呼び出された際、使用可フラグが‘―’のため、ユーザコマンド1101から呼び出されたことが適切か否かの判断を特に行わない。
そして、呼び出されたメッセージ表示関数1102の更新部1103は、当該関数が呼び出されたことの確認を行う必要があるか否かを、引数から取得したメッセージ表示関数の呼出確認フラグが‘○’か否かで判断する。そして、更新部1103は‘○’であると判断した場合、呼出フラグ管理テーブル152のメッセージ表示関数1102の呼出フラグを‘1’、つまり当該関数が呼びだされたことを示す値に更新する(ステップS1211)。
その後、メッセージ表示関数1102は、メッセージの表示処理を行った後、正常に処理が終了したことを、ユーザコマンド1101に送信する(ステップS1212)。その後、ユーザコマンド1101からもメイン処理部111に対して処理が終了した旨のメッセージを送信する(ステップS1213)。
そして、メイン処理部111の判断部113は、各関数が呼び出されたことを確認する必要があるか否かを、ステップS1202で取得した各関数の呼出確認フラグが‘○’か否かで判断する(ステップS1214)。本処理手順では、判断部113は、呼び出したメモリ読出関数138及びメッセージ表示関数1102のうち、メッセージ表示関数1102について呼び出されたか否かの確認が必要であると判断する。
次に、メイン処理部111の呼出フラグ判断部114は、メッセージ表示関数1102について、呼出フラグが更新されているか否か(つまり、呼出フラグの値が‘1’か否か)を判断する(ステップS1215)。なお、本処理手順にかかる呼出フラグ判断部114は、メッセージ表示関数1102の呼出フラグの値が‘1’に更新されていたため、全ての呼出フラグが正常に更新されているものと判断する。
そして、メイン処理部111は、全ての呼出フラグが正常に更新されていること判断した後、認証が終了した旨を、ICカードリーダライタ160に送信する(ステップS1216)。これによりICカード100を用いた認証処理が終了する。
本実施の形態では、第1の実施形態のように関数が呼び出された際に使用可能か否かの判断処理及び適切に呼び出されたか否かの確認処理のいずれも行う場合ではなく、関数が呼び出された際にいずれか一方のみ処理を行う例として、メモリ読出関数138では使用可フラグによる使用可能か否かの判断処理のみ行い、メッセージ表示関数1102では適切に呼び出されたか否かの確認処理のみ行う例について説明した。このように、関数が実行する処理は、関数の重要度等を考慮して、関数毎に変更しても良い。
上述した第2の実施の形態にかかるICカード100では、関数が呼び出された際に、使用可フラグによる使用可能か否かの判断処理、及び呼出フラグ管理テーブル152の呼出フラグの更新(つまり、関数が適切に呼び出されたか否かの確認)処理のうち、いずれか一方の処理を行うことにより、レーザ照射の攻撃による誤動作が生じたときに、当該誤動作を検出できるので、プログラムのコードサイズの増大をより効果的に抑止しながら、セキュリティを向上させることができる。
以上のように、本発明にかかる携帯用セキュリティデバイスは、ICカードの安全性を向上させる技術として有用であり、特に、レーザ照射で誤動作を生じさせて不正に利用されることを防止する技術に適している。
11 通信部
12 CPU
13 RAM
14 ROM
15 EEPROM
100、1100 ICカード
101 呼出確認・使用可フラグ記憶部
102 呼出フラグ記憶部
103、1104 プログラム部
111 メイン処理部
112 初期化部
113 判断部
114 呼出フラグ判断部
115 照合コマンド
116 認証コマンド
117 読出コマンド
131 前処理関数
132 認証関数
133、136、139 使用可能判断部
134、137、140、1103 更新部
135 メモリ更新関数
138 メモリ読出関数
160 ICカードリーダライタ
1100 ICカード
1101 ユーザコマンド
1102 メッセージ表示関数

Claims (1)

  1. 関数と、前記関数を呼び出すコマンドと、を含むプログラムを記憶領域に格納した携帯用セキュリティデバイスにおいて、
    前記コマンド毎に、前記プログラム内に格納されている関数と、当該関数が前記コマンドから使用可能か否かを示した使用可能フラグと、を対応付けて記憶する使用可能フラグ記憶部と、
    外部からの命令に従って、前記コマンドから関数が呼び出された場合に、当該関数と対応付けられた前記使用可能フラグにより、呼び出し先の前記コマンドが当該関数について使用可能か否かを判断する使用可能判断部と、を備え、
    前記使用可能判断部は、前記コマンドから呼び出される前記関数に含まれていること、
    特徴とする携帯用セキュリティデバイス。
JP2011256708A 2011-11-24 2011-11-24 携帯用セキュリティデバイス Active JP5131378B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011256708A JP5131378B2 (ja) 2011-11-24 2011-11-24 携帯用セキュリティデバイス

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011256708A JP5131378B2 (ja) 2011-11-24 2011-11-24 携帯用セキュリティデバイス

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007103137A Division JP5018199B2 (ja) 2007-04-10 2007-04-10 携帯用セキュリティデバイス

Publications (2)

Publication Number Publication Date
JP2012048753A JP2012048753A (ja) 2012-03-08
JP5131378B2 true JP5131378B2 (ja) 2013-01-30

Family

ID=45903458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011256708A Active JP5131378B2 (ja) 2011-11-24 2011-11-24 携帯用セキュリティデバイス

Country Status (1)

Country Link
JP (1) JP5131378B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041170A (ja) * 2000-07-27 2002-02-08 Matsushita Electric Ind Co Ltd プログラム実行制御装置
JP4009437B2 (ja) * 2001-05-09 2007-11-14 株式会社ルネサステクノロジ 情報処理装置
JP2007004456A (ja) * 2005-06-23 2007-01-11 Toshiba Corp 携帯可能電子装置及び携帯可能電子装置のデータ出力方法
JP2008243097A (ja) * 2007-03-29 2008-10-09 Toshiba Corp 情報記憶媒体

Also Published As

Publication number Publication date
JP2012048753A (ja) 2012-03-08

Similar Documents

Publication Publication Date Title
US8807440B1 (en) Routing secure element payment requests to an alternate application
US8567670B2 (en) Dynamic card verification values and credit transactions
JP5200664B2 (ja) メモリの内容を改竄する故障攻撃の検知方法、セキュリティデバイス及びコンピュータプログラム
US20080180212A1 (en) Settlement terminal and ic card
JP5286019B2 (ja) 半導体素子および生体認証方法、生体認証システム、携帯端末
CN110582774A (zh) 用于软件模块绑定的系统和方法
US20190139351A1 (en) Method for securing an electronic device, and corresponding electronic device
JP2009245272A (ja) カードレス決済システム、カードレス決済方法、及び記録媒体
JP2018538625A (ja) トランザクションについてのユーザ認証
CN110100410A (zh) 密码系统管理
JP2018169694A (ja) 故障利用攻撃に対しての耐タンパー性を持たせたセキュリティデバイス
KR20200060741A (ko) 오프라인 동작에서 온라인 사용자 인증 프로세스를 에뮬레이션하기 위한 장치 및 방법
JP5131378B2 (ja) 携帯用セキュリティデバイス
JP5018199B2 (ja) 携帯用セキュリティデバイス
CN101238492A (zh) Itso fvc2应用监视器
JP2009238155A (ja) データ記憶システムおよびデータ記憶方法
JP5998452B2 (ja) Icチップ、icカード、情報処理方法、情報処理プログラム及び情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4961834B2 (ja) Icカード発行方法およびicカード
US10853476B2 (en) Method for the security of an electronic operation
JP4183823B2 (ja) データ照合装置、データ照合システムおよびデータ照合プログラム記憶媒体
US20180183597A1 (en) Method for the security of an electronic operation with a chip card
JP2006293875A (ja) 生体認証連携決済システム及びそれに用いるicカード用決済端末とicカード
JP2002230511A (ja) 多重認証可搬情報処理媒体
JP4899499B2 (ja) Icカード発行方法、icカード発行システムおよびicカード
JP4859574B2 (ja) セキュリティ管理装置およびセキュリティ管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121009

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121022

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5131378

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150