JP5786702B2 - セキュリティトークン、セキュリティトークンにおける命令の実行方法及びコンピュータプログラム - Google Patents

セキュリティトークン、セキュリティトークンにおける命令の実行方法及びコンピュータプログラム Download PDF

Info

Publication number
JP5786702B2
JP5786702B2 JP2011276494A JP2011276494A JP5786702B2 JP 5786702 B2 JP5786702 B2 JP 5786702B2 JP 2011276494 A JP2011276494 A JP 2011276494A JP 2011276494 A JP2011276494 A JP 2011276494A JP 5786702 B2 JP5786702 B2 JP 5786702B2
Authority
JP
Japan
Prior art keywords
data
nvm
ecc
block
stored
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
JP2011276494A
Other languages
English (en)
Other versions
JP2013127682A (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 JP2011276494A priority Critical patent/JP5786702B2/ja
Publication of JP2013127682A publication Critical patent/JP2013127682A/ja
Application granted granted Critical
Publication of JP5786702B2 publication Critical patent/JP5786702B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ICカードやUSBキーに代表され認証用途に用いられるセキュリティトークンに関し、更に詳しくは、セキュリティトークンに実装された電気的に書き換え可能な不揮発性メモリに発生するメモリエラーに対する信頼性を向上させるための技術に関する。
電気的に書き換え可能な不揮発性メモリ(以下、「NVM」と記す。NVM:Non-Volatile Memory) を使用してデータを記憶し認証用途に用いられるセキュリティトークンには、半導体製造技術の進歩によって大容量のNVMが実装されるようになった。
一般的にNVMの故障は大きく分けて初期故障、偶発故障及び摩耗故障の3つに分類され、セキュリティトークンに実装されているNVMのメモリ容量が比較的小さければ、製品出荷前の段階で、NVMに対して読み書きを繰り返すメモリテストを全数実施し、NVMに初期故障が発生するセキュリティトークンをスクリーニングことが可能であるが、NVMが大容量の場合、生産コストの観点から十分なメモリテストを全数実施することが困難なため、NVMに初期故障が発生するセキュリティトークンが出荷されてしまう危険性がある。
セキュリティトークンには演算結果の信頼性が要求されるため、初期故障、偶発故障及び摩耗故障を問わず、NVMに発生するメモリエラーを検出できるように、NVMに記憶されるデータにEDC(Error Detection Code)を付加することが一般的に行われているが、特許文献1に記載があるように、メモリエラーがNVMに発生するとセキュリティトークンの演算は停止するため、NVMに初期故障が発生するセキュリティトークンが出荷されてしまうと、システムの信頼性や稼働率を下げる原因となってしまう。
NVMにメモリエラーが発生しても、あたかもNVMにメモリエラーが発生していないかのように取り扱うことができるように、NVMに記憶されたデータの誤りを検出し自動的に訂正できるECC(Error Correction Code) が開発され(例えば、特許文献2、3)、ECCを利用することで、2ビットまでのデータの誤りを検出でき、更に、1ビットまでのデータの誤りを訂正できるようになる。
なお、1ビットまでのデータの誤りを訂正できるだけでは不十分に思われるかも知れないが、ECCは所定ビット数(例えば、64ビットや32ビット)毎に設けられるため、NVMの故障率を考慮すると、1ビットまでのデータの誤りを訂正できるだけで十分な効果が得られる。
特開2011−24091号公報 特開平7−122087号公報 特開平9−330273号公報
このように、ECCを利用することで、セキュリティトークンのNVMにメモリエラーが発生しても、あたかもNVMにメモリエラーが発生していないかのようにセキュリティトークンを取り扱うことができるようになるが、ECCを利用してデータの誤りを訂正できたとしても、このままの状態でセキュリティトークンを利用し続けると、メモリエラーが発生した箇所の付近で新たなメモリエラーが発生してしまい、データの誤りを訂正できなくなることがあるため、ECCを利用してデータの誤りを訂正した際、データの誤りを訂正したデータを故障が発生していない領域へ移設できることが望ましい。
そこで、本発明は、ECCを利用してデータの誤りを訂正した際、データの誤りを訂正したデータを他の領域へ移設することのできるセキュリティトークン、方法及びコンピュータプログラムを提供することを目的とする。
上述した課題を解決する第1の発明は、所定ビット長のブロック単位でデータを記憶する電気的に書き換え可能な不揮発性メモリ(NVM)と、前記NVMにデータを書き込む際に、該データの記憶に利用するブロック毎にECC(Error Correction Code)を演算し、該データの記憶に利用する前記ブロックに対応付けてECCを前記NVMに記憶し、電源が投入されて活性化されると、前記NVMに記憶されているECCを前記ブロック毎に検証し、前記ブロックに対応付けて検証結果を記憶するECC制御手段と、前記NVMに記憶されているデータにアクセスするアクセス命令を受信すると、アクセス対象となるデータの記憶に利用されている前記ブロックに対応するECCの検証結果を参照し、該検証結果によりデータの誤りを訂正したことが示されていた場合、アクセス対象となるデータを前記NVMの空き領域に移設してから前記アクセス命令を実行する命令実行手段を備えていることを特徴とするセキュリティトークンである。
更に、第2の発明は、第1の発明に記載したセキュリティトークンにおいて、前記NVMに書き込むデータにはEDCが付加され、前記セキュリティトークンの前記命令実行手段は、前記アクセス命令を実行する前に、データに付加されたEDCを検証し、EDCが異常の場合、前記アクセス命令の実行を中止することを特徴とする。
更に、第3の発明は、第1の発明または第2の発明に記載したセキュリティトークンにおいて、アクセス対象となるデータは、前記NVMに配置されたファイル内に記憶されているレコードであって、前記命令実行手段は、アクセス対象となるレコードの記憶に利用されている前記ブロックに対応するECCの検証結果によってデータの誤りを訂正したことが示されていた場合、アクセス対象となるレコードを該レコードが記憶されているファイル内の空き領域に移設することを特徴とする。
更に、第4の発明は、電源が投入されて活性化されると、所定ビット長のブロック単位でデータを記憶する電気的に書き換え可能な不揮発性メモリ(NVM)に記憶されているECCをブロック毎に検証し、前記ブロックに対応付けて検証結果を記憶するECC検証工程と、前記NVMに記憶されているデータにアクセスするアクセス命令を受信すると、アクセス対象となるデータの記憶に利用されている前記ブロックに対応するECCの検証結果を参照し、該検証結果によりデータの誤りを訂正したことが示されていた場合、アクセス対象となるデータを前記NVMの空き領域に移設してから前記アクセス命令を実行する命令実行工程が少なくとも実行されることを特徴とするセキュリティトークンにおける命令の実行方法である。
更に、第5の発明は、電源が投入されて活性化されると、所定ビット長のブロック単位でデータを記憶する電気的に書き換え可能な不揮発性メモリ(NVM)に記憶されているECCをブロック毎に検証し、前記ブロックに対応付けて検証結果を記憶するECC検証工程と、前記NVMに記憶されているデータにアクセスするアクセス命令を受信すると、アクセス対象となるデータの記憶に利用されている前記ブロックに対応するECCの検証結果を参照し、該検証結果によりデータの誤りを訂正したことが示されていた場合、アクセス対象となるデータを前記NVMの空き領域に移設してから前記アクセス命令を実行する命令実行工程をセキュリティトークンに実行させるためのコンピュータプログラムである。
このように、本発明によれば、アクセス対象となるデータの記憶に利用されているブロックに対応するECCの検証結果によりデータの誤りを訂正したことが示されていた場合、アクセス対象となるデータをNVMの空き領域に移設してからアクセス命令が実行されるため、ECCを利用してデータの誤りを訂正した際、データの誤りを訂正したデータを故障が発生していない領域へ移設することができるようになる。
本実施形態に係るICカードの構造を説明する図。 ICモジュールに実装されているICチップの構造を説明する図。 ICチップのNVMに記憶されるデータを説明する図。 ファイル管理データを説明する図。 ファイルを説明する図。 レコード管理データを説明する図。 ICカードに備えられた機能を説明する図。 ICカードの動作を説明する図。 ECC検証工程を説明する図。 命令実行工程を説明する第1図。 命令実行工程を説明する第2図。
ここから、本発明にかかるセキュリティトークンの好適な実施形態について、図面を参照しながら詳細に説明する。なお、これから説明する実施形態は本発明の一実施形態にしか過ぎず、本発明は,これから説明する実施形態に限定されることなく、種々の変形や変更が可能である。
図1は、本実施形態に係るICカード1の構造を説明する図である。本実施形態に係るICカード1にはICモジュール2が実装され、このICモジュール2には、ISO/IEC 7816-1に準じて接触端子2bが設けられた接続基板2a上にICチップ3がモールドされた状態で実装され、ICチップ3のそれぞれ入出力端子は、ICチップ3の入出力端子に対応する接続基板2a上の接触端子2bとワイヤボンディング2cで接続している。
なお、本実施形態では、本発明にかかるセキュリティトークンをICカード1にしているが、セキュリティトークンの他の形態としては、USBキーや、携帯電話・スマートフォンに実装されるモバイル用非接触ICモジュールなどが考えられる。
また、図1において、ICカード1の形状をISO/IEC 7816-2で規格化されているIDカード型として図示しているが、ICカード1の形状は、ISO/IEC 7816-2で規格化されているPlug-in型でもよく、また、Mini型であってもよい。
図2は、ICモジュール2に実装されているICチップ3の構造を説明する図で、図2では本発明に係る内容のみを記載している。
図2に示したようにICチップ3には、演算機能等を有するCPU33(Central Processing Unit)、データの転送経路となるデータバス34及びアドレスを指定するためのアドレスバス35に加え、所定ビット長のブロック単位でデータを記憶する電気的に書換え可能な不揮発性メモリ30(以下、単に「NVM」と記す。NVM: Non Volatile Memory)と、NVM30にデータを書き込む際に、該データの記憶に利用するブロック毎にECC(Error Correction Code)を演算し、該データの記憶に利用するブロックに対応付けてECCをNVM30に記憶し、電源が投入されて活性化されると、NVM30に記憶されているECCをブロック毎に検証し、ブロックに対応付けて検証結果を記憶するECCコントローラ31と、ECCの検証結果を読み出す際に利用されるECCレジスタ32を備え、NVM30はECCコントローラ31を介してデータバス34に接続している。
NVM30とは、EEPOM(Electrically Erasable & Programmable Read Only Memory)のように、電気的にデータの書き込み/消去が可能で、かつ、データの保持に電力を必要としないメモリで、本実施形態のNVM30は、データを記憶するデータ領域30a、ECCを記憶するECC領域30b及びECCの検証結果を記憶する検出結果領域30cを有する。
NVM30のデータ領域30aは、所定ビット長のブロックに分割されて管理され、ECC領域30bには、ブロック内のデータから演算された所定ビット長のECCがブロックに対応するように記憶される。ブロックのビット長はデータバス34のビット長と同じであることが一般的で、ECCのビット長はブロックのビット長に対応した値になる。例えば、データバス34のビット長が32ビットならばECCのビット長は7ビットになる。
また、NVM30の検出結果領域30cには、ECC領域30bに記憶されたECCがECCコントローラ31により検証された際、ECCの検証結果がブロックに対応付けられて記憶される。ブロック内のデータに1ビットの誤りがある場合、誤りのある1ビットが訂正されるため、1ビットを訂正したことを示す検証結果が検出結果領域30cに記憶される。また、ブロック内のデータに2ビット以上の誤りがある場合、誤りは訂正されず、2ビット以上の誤りがあることを示す検証結果が検出結果領域30cに記憶される。
本実施形態において、ECCコントローラ31は、NVM30のデータ領域30aにデータを書き込む際、該データをブロックのビット長に分割し、指定されたアドレスに対応するブロックから順にブロック単位でデータを書き込む処理を実行し、ブロックにデータを書き込む毎に、ブロック内のデータからECCを演算し、データを書き込んだブロックに対応付けてECCをECC領域30bに書き込む処理を実行する。
また、ECCコントローラ31は、電源が投入されて活性化されると、NVM30のデータ領域30aのブロック毎にECCを検証する動作を行い、ECCの検証結果をブロックに対応付けて検出結果領域30cに記憶する。NVM30の検出結果領域30cに記憶されたECCの検証結果は、アドレスを指定することで読み取ることができ、ECCコントローラ31は、アドレスが指定されてECCの検証結果を読み出す指示を受けると、指定されたアドレスで特定されるブロックに対応したECCの検証結果をECCレジスタ32に格納する。
図3は、ICチップのNVM30に記憶されるデータを説明する図である。本実施形態において、ICカード1に実装されたICチップのNVM30には、データを格納するためのファイル302が配置されるファイル領域300と、そのファイル302を管理するためのファイル管理データ303が配置されるディレクトリ領域301に分割される。
図4は、ディレクトリ領域301に配置されるファイル管理データ303を説明する図である。ファイル管理データ303は、ファイル領域300に配置された個々のファイル302に対してそれぞれ割り当てられて配置され、ファイル管理データ303には、ファイル識別子、アクセス権設定データ、ファイル開始アドレス、ファイルサイズ及びレコード数が含まれている。
ファイル識別子は、ファイル領域300に配置されたそれぞれのファイル302を識別するためのデータで、ファイル302を選択する際に用いられる。また、アクセス権設定データは、ファイル302へのアクセスが許可される条件を示すデータで、ファイル302へのアクセスが許可される条件としては、ユーザ認証の成功に代表されるセキュリティに係る条件や所定の通信プロコルによる動作に代表されるICカード1の通信に係る条件が利用されることが多い。また、ファイル開始アドレスは、ファイル302が記憶されている領域の先頭のアドレスを、ファイルサイズはファイル302のサイズを、そして、レコード数は、ファイル302に含まれるレコードの数をそれぞれ示している。
図5は、ファイル領域300に配置されるファイル302を説明する図である。ファイル302には、1つもしくは複数のデータをまとめて格納でき、レコード番号により識別可能なレコード304と、レコード304を管理するためのレコード管理データ305によって少なくとも構成され、レコード304及びレコード管理データ305には、データの誤りを検出するためのEDC(Error Detection Code)が付加されている。また、本実施形態では、1つのレコード304よりもサイズの大きい空き領域をファイル302に設け、データの誤りが発生したレコード304を空き領域に移設できるようにしている。
図6は、ファイル302に配置されるレコード管理データ305を説明する図である。図6に図示したように、レコード管理データ305は、レコード304が記憶されていない空き領域の先頭のアドレスである空き領域アドレスと、レコード304が記憶されている領域の先頭のアドレスであるレコード開始アドレスと、これらのデータの正当性を検証するためのEDCによって構成されている。
図7は、ICカード1に備えられた機能を説明する図である。図7に図示したように、ICカード1は、所定ビット長のブロック単位でデータを記憶するNVM30と、NVM30にデータを書き込む際に、該データの記憶に利用するブロック毎にECCを演算し、該データの記憶に利用するブロックに対応付けてECCをNVM30に記憶し、電源が投入されて活性化されると、NVM30に記憶されているECCをブロック毎に検証し、ブロックに対応付けて検証結果を記憶するECC制御手段11と、NVM30に記憶されているデータ(ここでは、レコード304)にアクセスするアクセス命令を実行する前に、アクセス対象となるデータ(ここでは、レコード304)の記憶に利用されているブロックに対応するECCの検証結果を参照し、該ECCの検証結果によりデータの誤りを訂正したことが示されていた場合、データをNVM30の空き領域に移設してからアクセス命令を実行する命令実行手段10を備えている。
ICカード1に備えられたNVM30についてはすでに説明しているため説明を省く。また、ICカード1に備えられたECC制御手段11は、本実施形態では、これまでに説明したICチップのECCコントローラ31によりハードウェア的に実現しているが、ソフトウェア的に実現することも可能である。
ICカード1に備えられた命令実行手段10とは、ICチップ3のCPU22を動作させるコンピュータプログラムにより実現され、NVM30に記憶されているデータを利用するアクセス命令に対応するモジュールを呼び出してアクセス命令を実行する手段で、アクセス命令とは、NVM30に記憶されているデータを読み出す命令や、NVM30にデータを書き込む命令を意味する。
ここから、ICカード1の動作について説明する。図8は、ICカード1の動作を説明する図である。図8に図示したように、ターミナル(図示していない)によりICカード1に電源が投入されてICカード1が活性化されると(S1)、NVM30のECC領域30bに記憶されているECCを検証するECC検証工程(S2)が実行され、ECC検証工程(S2)を実行した後にICカード1はターミナルからの命令待ちになり(S3)、ターミナルからアクセス命令を受信すると、受信したアクセス命令を実行する命令実行工程(S4)を実行した後に命令待ちになる。
図9は、ECC検証工程(S2)を説明する図である。ECC検証工程(S2)において作動する手段はECC制御手段11で、ICカード1のECC制御手段11は、ICカード1が活性化されると、NVM30のブロック毎に、ブロック内のデータからECCを演算した後(S10)、ブロックに対応付けられたECCと演算したECCを照合することで、ブロックに対応付けられたECCを検証し(S11)、検証結果をブロックに対応付けて検出結果領域30cに記憶する処理(S12)を行う。
なお、ブロック内のデータに1ビットの誤りがある場合、誤りのある1ビットを訂正した後、1ビットを訂正したことを示す検証結果が検出結果領域30cに記憶され、ブロック内のデータに2ビット以上の誤りがある場合、2ビット以上の誤りがあることを示す検証結果が検出結果領域30cに記憶される。
図10は、命令実行工程(S4)を説明する第1図、図11は、命令実行工程(S4)を説明する第2図である。ファイル302内のレコード304にアクセスするアクセス命令をターミナルから受信すると(S20)、ICカード1の命令実行手段10は、アクセス対象となるファイル302のファイル識別子と、レコード304のレコード番号をアクセス命令から抽出する(S21)。
そして、ICカード1の命令実行手段10は、ターミナルから受信したアクセス命令から抽出したファイル識別子を含むファイル管理データ303をNVM30のディレクトリ領域301から検索し(S22)、このファイル管理データ303が検索できたか確認する(S23)。ファイル管理データ303が検索できなかった場合には、図11のS37に進み、異常終了メッセージを応答して処理を終了し、次の命令を待つ。
次に、ICカード1の命令実行手段10は、NVM30のディレクトリ領域301から検索したファイル管理データ303からアクセス権設定データを取得し(S24)、この時点のICカード1の状態が、ファイル管理データ303から取得したアクセス権設定データで示される条件を満たしているか判定し(S25)、アクセス権設定データで示される条件を満たしていない場合には、図11のS37に進み、異常終了メッセージを応答して処理を終了し、次の命令を待つ。
この時点のICカード1の状態が、アクセス命令から抽出したファイル識別子を含むファイル管理データ303から取得したアクセス権設定データで示される条件を満たしていれば、ICカード1の命令実行手段10は、該ファイル管理データ303からファイル開始アドレスとファイルサイズを抽出し(S26)、アクセス対象となるファイル302の領域を特定する(S27)。
次に、ICカード1の命令実行手段10は、アクセス対象となるファイル302の領域と、アクセス命令から抽出したファイル識別子を含むファイル管理データ303から取得したレコード数を参照し、アクセス対象となるファイル302のレコード管理データ305を取得する(S28)。
次に、ICカード1の命令実行手段10は、アクセス対象となるファイル302のレコード管理データ305に付加されているEDCが正常であることを確認し(S29)、該EDCが異常であれば、図11のS37に進み、異常終了メッセージを応答して処理を終了し、次の命令を待つ。
ここから、図11の説明になる。アクセス対象となるファイル302のレコード管理データ305に付加されているEDCが正常であったなら、ICカード1の命令実行手段10は、アクセス命令から抽出したレコード番号に該当するレコード304のレコード開始アドレスをレコード管理データ305から抽出することで、アクセス対象となるレコード304のレコード開始アドレスを特定する(S30)。
ICカード1の命令実行手段10は、アクセス対象となるレコード304にアクセスする前に、アクセス対象となるレコード304のレコード開始アドレスとレコード長に対応したオフセット値を指定して、ECCの検証結果を読み出す指示をECC制御手段11に出すことで、レコード304の記憶に利用されているブロックに対応するECCの検証結果を読み取る動作を行った後(S31)、ECCレジスタ32の内容を確認し(S32)、アクセス対象となるレコード304に発生したデータの誤りが訂正されたことを示されている場合、アクセス対象となったレコード304を、該レコード304が格納されているファイル302内の空き領域へコピーした後、該ファイル302のレコード管理データ305内にある該レコード304のレコード開始アドレスをコピー先のアドレスへ変更することで、アクセス対象となるレコード304を空き領域に移設する(S33)。
このように、本実施形態のセキュリティトークンによれば、アクセス対象となるデータの記憶に利用されているブロックに対応するECCの検証結果によりデータの誤りを訂正したことが示されていた場合、アクセス対象となるデータをNVM30の空き領域に移設してからアクセス命令が実行されるため、ECCを利用してデータの誤りを訂正した際、データの誤りを訂正したデータを故障が発生していない領域へ移設することができるようになる。
アクセス対象となるレコード304を空き領域に移設した後、または、ICチップ3のECCレジスタ32により、アクセス対象となるレコード304に発生したデータの誤りが訂正されたことを示されていない場合、ICカード1の命令実行手段10は、アクセス対象となるレコード304のEDCを検証する(S34)。なお、ここで、アクセス対象となるレコード304のEDCを検証するのは、ECCの能力を超えた数のビット(ここでは、2ビット)に誤りが発生していないか確認するためである。
ICカード1の命令実行手段10は、アクセス対象となるレコード304のEDCを検証し、EDCが異常ならば、図11のS37に進み、異常終了メッセージを応答して処理を終了し、次の命令を待ち、EDCが正常ならば、アクセス対象となるレコード304にアクセスし、アクセス命令に対応する処理を実行した後(S35)、正常終了メッセージを応答して(S36)、次の命令を待つ。
なお、アクセス命令が書き込み命令の場合、NVM30にレコード304の内容を書き込む際に、レコード304の記憶に利用するブロック毎にECC(Error Correction Code)がECC制御手段11により演算され、レコード304の記憶に利用するブロックに対応付けてECCがNVM30のECC領域30bに記憶される。
また、アクセス命令が読み出し命令の場合、NVM30からレコード304の内容を読み出す際に、レコード304の記憶に利用するブロック毎にECC(Error Correction Code)がECC制御手段11により検証され、レコード304の記憶に利用するブロックに対応付けてECCの検証結果がNVM30の検出結果領域30cに記憶される。
1 ICカード
10 命令実行手段
11 ECC制御手段
3 ICチップ
30 NVM
30a データ領域
30b ECC領域
30c 検証結果領域
31 ECCコントローラ
32 ECCレジスタ
302 ファイル
303 ファイル管理データ
304 レコード
305 レコード管理データ

Claims (5)

  1. 所定ビット長のブロック単位でデータを記憶する電気的に書き換え可能な不揮発性メモリ(NVM)と、
    前記NVMにデータを書き込む際に、該データの記憶に利用するブロック毎にECC(Error Correction Code)を演算し、該データの記憶に利用する前記ブロックに対応付けてECCを前記NVMに記憶し、電源が投入されて活性化されると、前記NVMに記憶されているECCを前記ブロック毎に検証し、前記ブロックに対応付けて検証結果を記憶するECC制御手段と、
    前記NVMに記憶されているデータにアクセスするアクセス命令を受信すると、アクセス対象となるデータの記憶に利用されている前記ブロックに対応するECCの検証結果を参照し、該検証結果によりデータの誤りを訂正したことが示されていた場合、アクセス対象となるデータを前記NVMの空き領域に移設してから前記アクセス命令を実行する命令実行手段を、
    備えていることを特徴とするセキュリティトークン。
  2. 前記NVMに書き込むデータにはEDCが付加され、前記セキュリティトークンの前記命令実行手段は、前記アクセス命令を実行する前に、データに付加されたEDCを検証し、EDCが異常の場合、前記アクセス命令の実行を中止することを特徴とする、請求項1に記載したセキュリティトークン。
  3. アクセス対象となるデータは、前記NVMに配置されたファイル内に記憶されているレコードであって、前記命令実行手段は、アクセス対象となるレコードの記憶に利用されている前記ブロックに対応するECCの検証結果によってデータの誤りを訂正したことが示されていた場合、アクセス対象となるレコードを該レコードが記憶されているファイル内の空き領域に移設することを特徴とする、請求項1または請求項2に記載したセキュリティトークン。
  4. 電源が投入されて活性化されると、所定ビット長のブロック単位でデータを記憶する電気的に書き換え可能な不揮発性メモリ(NVM)に記憶されているECCをブロック毎に検証し、前記ブロックに対応付けて検証結果を記憶するECC検証工程と、
    前記NVMに記憶されているデータにアクセスするアクセス命令を受信すると、アクセス対象となるデータの記憶に利用されている前記ブロックに対応するECCの検証結果を参照し、該検証結果によりデータの誤りを訂正したことが示されていた場合、アクセス対象となるデータを前記NVMの空き領域に移設してから前記アクセス命令を実行する命令実行工程が、
    少なくとも実行されることを特徴とするセキュリティトークンにおける命令の実行方法。
  5. 電源が投入されて活性化されると、所定ビット長のブロック単位でデータを記憶する電気的に書き換え可能な不揮発性メモリ(NVM)に記憶されているECCをブロック毎に検証し、前記ブロックに対応付けて検証結果を記憶するECC検証工程と、
    前記NVMに記憶されているデータにアクセスするアクセス命令を受信すると、アクセス対象となるデータの記憶に利用されている前記ブロックに対応するECCの検証結果を参照し、該検証結果によりデータの誤りを訂正したことが示されていた場合、アクセス対象となるデータを前記NVMの空き領域に移設してから前記アクセス命令を実行する命令実行工程を、
    セキュリティトークンに実行させるためのコンピュータプログラム。
JP2011276494A 2011-12-16 2011-12-16 セキュリティトークン、セキュリティトークンにおける命令の実行方法及びコンピュータプログラム Active JP5786702B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011276494A JP5786702B2 (ja) 2011-12-16 2011-12-16 セキュリティトークン、セキュリティトークンにおける命令の実行方法及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011276494A JP5786702B2 (ja) 2011-12-16 2011-12-16 セキュリティトークン、セキュリティトークンにおける命令の実行方法及びコンピュータプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015150317A Division JP2015187896A (ja) 2015-07-30 2015-07-30 セキュリティトークン、セキュリティトークンにおける命令の実行方法、及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2013127682A JP2013127682A (ja) 2013-06-27
JP5786702B2 true JP5786702B2 (ja) 2015-09-30

Family

ID=48778191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011276494A Active JP5786702B2 (ja) 2011-12-16 2011-12-16 セキュリティトークン、セキュリティトークンにおける命令の実行方法及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP5786702B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013222348A (ja) * 2012-04-17 2013-10-28 Dainippon Printing Co Ltd Icカード及びコンピュータプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100802059B1 (ko) * 2006-09-06 2008-02-12 삼성전자주식회사 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법
JP2008090778A (ja) * 2006-10-05 2008-04-17 Matsushita Electric Ind Co Ltd 不揮発性メモリ用メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、不揮発性メモリのメモリ制御方法
JP2008198310A (ja) * 2007-02-15 2008-08-28 Megachips Lsi Solutions Inc ビットエラーの修復方法および情報処理装置
JP4775969B2 (ja) * 2007-09-03 2011-09-21 ルネサスエレクトロニクス株式会社 不揮発性記憶装置
US20090327581A1 (en) * 2008-06-30 2009-12-31 Coulson Richard L Nand memory

Also Published As

Publication number Publication date
JP2013127682A (ja) 2013-06-27

Similar Documents

Publication Publication Date Title
US9817749B2 (en) Apparatus and method of offloading processing from a data storage device to a host device
US8392797B2 (en) Error correcting controller, flash memory chip system, and error correcting method thereof
US20070170268A1 (en) Memory cards, nonvolatile memories and methods for copy-back operations thereof
JP6157637B2 (ja) リードライトメモリデバイスのデータイメージ中の仮想境界コード
US9235534B2 (en) Data protecting method, memory controller and memory storage apparatus
KR20040076589A (ko) 메모리 카드
CN101727401B (zh) 连接表的回复方法
US9552287B2 (en) Data management method, memory controller and embedded memory storage apparatus using the same
US20080072119A1 (en) Allowable bit errors per sector in memory devices
JP2010079856A (ja) 記憶装置およびメモリ制御方法
US20140173187A1 (en) Virtual boundary codes in a data image of a read-write memory device
KR20180096660A (ko) 참조값을 이용한 메모리 디바이스 액션의 유효성 확인
JP5786702B2 (ja) セキュリティトークン、セキュリティトークンにおける命令の実行方法及びコンピュータプログラム
JP4863472B2 (ja) メモリ管理方法
CN105354107A (zh) NOR Flash的数据传输方法及系统
JP2015187896A (ja) セキュリティトークン、セキュリティトークンにおける命令の実行方法、及びコンピュータプログラム
JP5259507B2 (ja) 携帯可能電子装置、および、携帯可能電子装置におけるデータ処理方法
JP6040895B2 (ja) マイクロコンピュータ及び不揮発性メモリのブロック管理方法
US7353348B2 (en) Nonvolatile memory and card reader provided with the same
JP4888862B2 (ja) メモリ管理方法
JP4868979B2 (ja) 携帯可能電子装置およびicカード
JP7438432B1 (ja) 電子情報記憶媒体、icチップ、icカード、レコード書き込み方法、及びプログラム
JP5903945B2 (ja) Icカード及びコンピュータプログラム
CN107769919B (zh) 一种密钥的写入方法
US20200251174A1 (en) Semiconductor integrated circuit with a nonvolatile semiconductor memory device

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20130823

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150528

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: 20150630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150713

R150 Certificate of patent or registration of utility model

Ref document number: 5786702

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150