(57)【特許請求の範囲】
【請求項１】
半導体記憶デバイスの半導体メモリーセル内にデータを保存する方法であって、
捕捉すべき電荷を生じさせる電圧を印加して、前記半導体メモリーセルにデータを保存するデータ保存工程と、
前記データを前記半導体メモリーセルに保存した後、当該半導体メモリーセルの捕捉電荷レベルのアナログ測定値を測定する測定工程と、
前記データへのアクセスを認証するために用いられる前記半導体メモリーセルの基準指紋として、前記測定工程により測定された前記捕捉電荷レベルのアナログ測定値をディジタル化して変換した第１の数値を生成する生成工程と、
前記生成工程により生成された前記第１の数値を保存する数値保存工程と
を含むことを特徴とする方法。
【請求項２】
前記第１の数値は前記半導体記憶デバイスに書き込まれることを特徴とする請求項１に記載の方法。
【請求項３】
前記第１の数値は外部装置に書き込まれることを特徴とする請求項１に記載の方法。
【請求項４】
前記外部装置はデータベースであることを特徴とする請求項３に記載の方法。
【請求項５】
前記生成工程は、前記第１の数値を暗号化する工程を更に含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記データ保存工程は、意図的なランダムオフセット電圧を印加電圧に加える工程を更に含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記保存された基準指紋としての第１の数値と、前記測定工程により測定された捕捉電荷レベルのその後のアナログ測定値に基づき前記生成工程により生成された第２の数値と、を比較する比較工程と、
前記比較工程の比較結果に基づき、前記保存された基準指紋としての第１の数値が前記第２の数値と一致する場合、前記半導体メモリーセルに保存された前記データへのアクセスを認証する認証工程と
を更に含むことを特徴とする請求項１に記載の方法。
【請求項８】
半導体記憶デバイスの複数の半導体メモリーセルに保存されたデータを認証する方法であって、
各半導体メモリーセルで電荷が捕捉されるように、複数の電圧を印加することにより前記複数の半導体メモリーセルにデータを保存するデータ保存工程と、
前記データを前記半導体メモリーセルに保存した後、前記複数のメモリーセルの捕捉電荷レベルのアナログ測定値を測定する測定工程と、
前記データへのアクセスを認証するために用いられる前記半導体メモリーセルの基準指紋として、前記測定工程により測定された前記捕捉電荷レベルのアナログ測定値をディジタル化して変換した数値を生成する生成工程と、
前記生成工程により生成された前記基準指紋としての前記数値を保存する数値保存工程と、
前記半導体メモリーセルに保存された前記データへのアクセスを認証するか否かを判定するために、前記数値保存工程で保存された前記基準指紋としての前記数値と、前記測定工程により測定された捕捉電荷レベルのその後のアナログ測定値に基づき前記生成工程により生成された認証指紋としての数値と、を比較する比較工程と
を含むことを特徴とする方法。
【請求項９】
環境およびハードウエアに関連付けられた要因により生じる、前記半導体メモリーセルの捕捉電荷レベルの測定値の変化を補償するためにファジー理論技術が、前記基準指紋と前記認証指紋の生成に利用されることを特徴とする請求項８に記載の方法。
【請求項１０】
前記基準指紋としての前記数値が前記半導体記憶デバイスに書き込まれることを特徴とする請求項８に記載の方法。
【請求項１１】
前記基準指紋としての前記数値が外部装置に書き込まれることを特徴とする請求項８に記載の方法。
【請求項１２】
前記外部装置がデータベースであることを特徴とする請求項11に記載の方法。
【請求項１３】
前記生成工程は、前記基準指紋としての前記数値を暗号化する工程を更に含むことを特徴とする請求項８に記載の方法。
【請求項１４】
前記データ保存工程は、印加された複数の電圧それぞれに、意図的なランダムオフセット電圧を加える工程を更に含むことを特徴とする請求項８に記載の方法。
【請求項１５】
データを保存する半導体メモリーセル装置であって、
第１及び第２の半導体メモリーセルと、
前記第１の半導体メモリーセルと前記第２の半導体メモリーセルに対して選択的に接続され、前記第１の半導体メモリーセルと前記第２の半導体メモリーセルにデータを保存し、前記第１の半導体メモリーセルと第２の半導体メモリーセルに捕捉すべき電荷を生じさせるために電圧が印加されるデータ出力線と、
前記第１の半導体メモリーセルと前記第２の半導体メモリーセルにおいて捕捉された電荷レベルのアナログ測定を行う測定装置と接続するために、前記第１及び第２の半導体メモリーに対して選択的に接続されるアナログ出力線とを含み、
前記第２の半導体メモリーセルは、前記第１の半導体メモリーに保存されたデータへのアクセスを認証するために用いられる基準指紋として、前記第１の半導体メモリーセルにおいて測定された捕捉電荷レベルのアナログ測定値をディジタル化した数値を保存するために利用され、保存された前記基準指紋としての数値と、前記第１の半導体メモリーで測定された捕捉電荷レベルのその後のアナログ測定値をディジタル化した数値との比較結果を、前記第１の半導体メモリーセルに保存されたデータへのアクセスを認証するために提供することを特徴とする半導体メモリーセル装置。
【請求項１６】
前記第１の半導体メモリーセルと前記第２の半導体メモリーセルが１つの集積回路に含まれることを特徴とする請求項15に記載の装置。
【請求項１７】
入力ポートと出力ポートを含むアナログディジタル変換器を更に含み、
前記アナログ出力線は、前記第１の半導体メモリーセル及び前記第２の半導体メモリーセルと、前記入力ポートとを接続し、
前記アナログディジタル変換器は、前記アナログ出力線を介して、検出された捕捉電荷レベルのアナログ信号を、ディジタル化した数値に変換し、前記数値を前記出力ポートに供給することを特徴とする請求項15に記載の装置。
【請求項１８】
マイクロコントローラと前記アナログディジタル変換器が１つの集積回路上に構成されることを特徴とする請求項17に記載の装置。
【請求項１９】
前記第１の半導体メモリーセルと前記第２の半導体メモリーセルにデータを保存するために、前記データ出力線に印加電圧を供給するマイクロコントローラを更に含み、
前記マイクロコントローラは、プロセッサとメモリーを更に含み、
前記プロセッサは、前記第１の半導体メモリーセルで測定された捕捉電荷レベルのアナログ測定値をディジタル化した数値を前記メモリーに保存し、さらに、
前記プロセッサは、前記第１の半導体メモリーセルに関するアナログ測定値より求められ、前記メモリーに保存されている数値から前記第１の半導体メモリーに保存されたデータへのアクセスを認証するために用いられる基準指紋としての数値を生成し、前記基準指紋が前記第２の半導体メモリーセルで保存されている場合、前記第２の半導体メモリーセルのアナログ測定値から基準指紋を再生成することを特徴とする請求項17に記載の装置。
【請求項２０】
前記プロセッサは、前記第２の半導体メモリーセルに前記基準指紋を書き込むために、前記データ出力線に電圧信号を供給することを特徴とする請求項19に記載の装置。
【請求項２１】
前記プロセッサは外部装置に前記基準指紋を保存するために、前記マイクロコントローラの入出力ポートに電圧信号を供給することを特徴とする請求項19に記載の装置。
【請求項２２】
前記外部装置がデータベースであることを特徴とする請求項21に記載の装置。
【請求項２３】
前記プロセッサは、前記第１の半導体メモリーセルに保存されたデータへのアクセスを認証するために、前記基準指紋としての数値と、前記第１の半導体メモリーセルにおける捕捉電荷レベルのその後のアナログ測定値をディジタル化した数値とを比較することを特徴とする請求項19に記載の装置。
【請求項２４】
前記プロセッサは、前記第１の半導体メモリーセルにデータを保存するために、印加する個々の電圧に対し、意図的なランダムオフセット電圧を加えることを特徴とする請求項19に記載の装置。
【請求項２５】
前記プロセッサは、前記基準指紋を暗号化して保存することを特徴とする請求項19に記載の装置。
【請求項２６】
前記プロセッサは、前記第２の半導体メモリーセルに前記基準指紋を書き込むために、前記データ出力線に電圧信号を供給することを特徴とする請求項25に記載の装置。
【請求項２７】
前記プロセッサは、外部装置に前記基準指紋を保存するため、前記マイクロコントローラの入出力ポートに電圧信号を供給することを特徴とする請求項25に記載の装置。
【請求項２８】
前記マイクロコントローラ、前記アナログディジタル変換器、及び前記第１及び第２の半導体メモリーセルが１つの集積回路上に構成されることを特徴とする請求項19に記載の装置。
【請求項２９】
偽造防止のために、第１の半導体記憶デバイス内の複数の第１半導体メモリーセルに保存されたデータを認証する方法であって、
前記複数の第１半導体メモリーセルに捕捉すべき電荷を生じさせるために、複数の電圧をそれぞれ印加することにより、前記複数の第１半導体メモリーセルにデータを保存するデータ保存工程と、
前記データを前記複数の第１半導体メモリーセルに保存した後、前記複数の第１半導体メモリーセルの捕捉電荷レベルのアナログ測定値を測定する第１測定工程と、
前記データへのアクセスを認証するために用いられる前記複数の第１半導体メモリーセルの基準指紋として、前記第１測定工程により測定された前記捕捉電荷レベルのアナログ測定値をディジタル化して変換した数値を生成する第１生成工程と、
前記第１生成工程により生成された前記基準指紋としての前記数値を保存する数値保存工程と、
半導体記憶デバイス読取り機に提供される、第２の半導体記憶デバイスにおける複数の第２半導体メモリーセルの捕捉電荷レベルのアナログ測定値を測定する第２測定工程と、
前記複数の第２半導体メモリーセルの認証指紋として、前記第２測定工程により前記第２半導体メモリーセルで測定された前記捕捉電荷レベルのアナログ測定値をディジタル化して変換した数値を生成する第２生成工程と、
前記数値保存工程により保存された前記基準指紋としての前記数値を検索する検索工程と、
前記第２半導体メモリーセルに保存されたデータに対するアクセスを認証するか否かを判定するために、前記検索工程により検索された前記基準指紋としての前記数値と、前記認証指紋としての数値と、を比較する比較工程と
を含むことを特徴とする方法。
【請求項３０】
前記基準指紋が前記第１の半導体記憶デバイスに書き込まれることを特徴とする請求項29に記載の方法。
【請求項３１】
前記基準指紋が外部装置に書き込まれることを特徴とする請求項29に記載の方法。
【請求項３２】
前記外部装置がデータベースであることを特徴とする請求項31に記載の方法。
【請求項３３】
前記生成工程は、前記基準指紋としての前記数値を暗号化する工程を更に含むことを特徴とする請求項29に記載の方法。
【請求項３４】
前記データ保存工程は、複数の印加電圧に対し、意図的にランダムオフセット電圧を加える工程を更に含むことを特徴とする請求項29に記載の方法。
【発明の詳細な説明】
発明の分野
本発明は半導体記憶デバイス（記憶素子）に保存されたデータを保護すること全般に関するものである。特に本発明は、半導体記憶素子に保存されたデータを保護するための、半導体メモリーの物理的な構造と、半導体メモリーセルの材料特性とを利用した技術に関するものである。
発明の背景
半導体メモリーセルに保存されているデータは容易に読書きが可能であり、また一方の半導体記憶素子から他のメモリーセルへのアクセス制限のために保護機能が付加されていない限り、素子への複製も容易である。
半導体チップ上に構成された、半導体記憶素子に保存されたデータの保護が試みられている。例えば、マイクロプロセッサはメモリーセルのメモリー配列とチップ上の入出力ポート（I/O）との間のデータパス内に置かれている。初期的に認められた保護コードがマイクロプロセッサに与えられる場合に限り、メモリーの配列に保存されているデータへのアクセスを許可することにより、保存されたデータは保護される。しかしながら、このデータ保護技術は、集積された半導体チップがリバースエンジニアリング可能な有限な状態の素子であるため、打ち破られ得る。従って、データベースを攻撃する者は、I/Oポートを迂回し、直接メモリー配列にアクセスすることが可能であろう。
メモリーセルの適用例において、半導体メモリーセルを含む集積回路カードあるいは、チップカードといった、メモリーセルに保存されたデータが絶対的に安全であるということを保証することは、極めて重要なことである。このことは、中央のデータベースで検証システムを有さないデータベースを利用する事例に関して特に重要である。他の事例では、コンピュータがリンクした、あるいはオンラインの支払いシステムにおけるメモリーセルの使用に関するものがある。しかしながら、チップカードに保存されたデータの認証されていない修正及び、偽造を目的とする他のチツプカードへの認証されていない複製は、現在の技術の利用では容易に検出できない。例えば、チップカード上にホログラムを施す現在の保護技術は、比較的容易ではあるが、ほとんど検出できないであろう。
それゆえ、半導体記憶素子のメモリーセルに保存されたデータを保護するための技術の改良が必要となる。
発明の要約
本発明は、半導体記憶デバイス（記憶素子）のメモリーセルに保存されたデータを、基準指紋と呼ばれる、メモリーセルに保存されたデータを表す数値データ列を生成することより保護する。その基準指紋は、データがプログラムされたときにメモリーセルで捕捉される電荷レベルの正確な数値表示と関連している。
本発明によれば、メモリーセルの捕捉電荷レベルの測定値がメモリーセルのプログラミングの後、直ちに得られることになる。この測定値に基づき、基準指紋は生成され、後の処理のため保存される。メモリーセルに保存されているデータへのアクセスが、その後求められた場合、メモリーセル内の捕捉電荷のレベルが数値データ、すなわち認証指紋の取得のために測定される。基準指紋と認証指紋は比較され、一致した場合、データは認証される。もし、一致しない場合、保存されたデータは認められていない方法により修正されている可能性がある。さらなる実施の形態において、メモリーセルに保存されたデータの保護を、メモリーセル内の捕捉電荷レベルに対する、意図的なランダム変動の導入を考慮した方法で、メモリーセルへデータを書込むことによりさらに強化してもよい。
さらなる実施の形態として、基準指紋は、保存前に暗号化してもよい。
本発明のさらなる実施の態様として、基準指紋と認証指紋の比較に信頼性があることを保証するために、ファジー理論技術を、基準指紋と認証指紋の取得のために利用してもよい。ファジー理論の使用は、プログラムされたメモリーセル内の捕捉電荷レベルの測定で生成される数値表現の値の変動を引き起こし得る環境およびハードウエアに関連付けられる要因を補償する。
さらに、本発明の特徴と利点は、以下に記載する詳細な説明により明らかになるだろう。
図面の説明
図１は、半導体メモリーセルの断面を図示し、
図２は、本発明の技術により、半導体メモリーセルに保存されているデータを保護するための装置の実施例の要素のブロック線図であり、
図３は、本発明により半導体メモリーセルにデータを書込むための方法に関するフローチャートを示し、
図４は、本発明により半導体メモリーセルからデータを読取るための方法に関するフローチャートを示し、
図５は、本発明により半導体メモリーセルに保存されたデータの基準指紋を生成するための方法のフローチャートを示し、そして、
図６は、本発明によりメモリーセルに関して生成された基準指紋の利用により、半導体記憶デバイスの半導体メモリーセルに保存されたデータを認証するための方法のフローチャートを示す。
詳細な説明
本発明は、半導体記憶デバイス（記憶素子）のメモリーセルに保存されたデータを保護するための技術に関連するものである。その方法は、メモリーセルの基準指紋を生成するために、半導体材料の物理的な特性と、個々のメモリーセルに特有の配列とを利用する。以下に示す詳細で記述されるように、データをプログラムされた後のメモリーセル内の捕捉電荷レベルは本来変動するものである。これらのレベル変動が、基準指紋生成のために利用され、そして、基準指紋は、その後保存されたデータが信頼できるか否かを決定するために使用される。
図１は、標準的な電気的プログラム可能な読取り専用メモリー（EPROM）セル10の断面で、特にデータ保存を目的とした一般的な半導体記憶素子に典型的に含まれるであろうものを示している。本発明を記述するためにEPROMメモリーセルを用いることは、例示的なものであり、EPROMと同様の電荷保存構造を有する他のメモリーセルに対して、本保存データの保護の方法を利用できることは理解されるはずである。さらに、以下に記述される、本発明にかかる技術が、集積回路カードやEPROMや電気的に消去．プログラム可能な読取り専用メモリー（EEPROM）を含むチップカードのような、記憶装置や、ROMやボード上にEPROMやROMを有するマイクロコントローラを利用したその他同様な素子について同様に適用されることは理解されるはずである。
図１において、メモリーセル10は公知の素子で、その構造と動作は、ここで援用する文献であるAltera Corporationの1991年９月発行の“Data Book”ページ11〜14に詳細に記述されている。明確化のため、メモリーセル10は、本発明を説明するために必要となるEPROM構造とその動作に関してのみ記載されている。
図１では、メモリーセル10はｐ型の基板11上に集積されたトランジスタを含む。そのトランジスタはソース(Ｓ)12とドレイン(Ｄ)14を含み、それらは基板11上のＮ＋の不純物の拡散による公知の手法を用いることにより構成される。そのトランジスタは、ソース12とドレイン14を覆うフィールド酸化層16と、酸化層16を覆うポリシリコンの第１層から構成される浮動ゲート18とを含む。さらにトランジスタは、浮動ゲート18を覆うポリシリコンの第２層から構成されるゲート20を含む。
公知の技術である浮動ゲートの電荷接合により、メモリーセル10にデータ保存の目的でデータがプログラムできる。例えば、強電場を生成するために電子をドレイン14領域から浮動ゲート18領域にジャンプするよう励起することは、一般的には12ボルト以上のあるポテンシャルを、ドレイン14に印加しなければならない。浮動ゲート18に引付けられた電子は、ポテンシャルがドレイン14から取除かれると、浮動ゲート18に捕捉されるようになる。
浮動ゲート18で電荷が捕捉されたとき、EPROMメモリーセル10のしきい値は、電荷が存在しない場合にはメモリーセル10に関連し、消去状態と呼ばれる、相対的に低い値から、メモリーセル10のプログラミングが行われたことを示すより高い値に変わる。メモリーセル10における、論理レベルLowすなわち”0”のプログラミングのために、低い電圧ポテンシャルがゲート20に加えられたならば、電子は浮動ゲート18に引付けられず、浮動ゲート18は帯電しない。一方、論理レベルHighすなわち”1”のプログラミングのために、高い電圧ポテンシャルがゲート20に加えられたならば、多数の電子が浮動ゲート18に引付けられ、それにより浮動ゲート１８は帯電する。HighとLowの論理レベルのプログラミングのための特有の電圧が、半導体記憶素子の型と設計に依存するということは、当業者にとって公知なことである。
プログラミングの結果として、メモリーセル10に捕捉される電荷レベルは半導体の材料特性と、メモリーセル10の構造配列に依存する。例えば、不純物の添加レベル、不純物の純度、そして半導体基板の不純物添加層の厚さの変化が、プログラミング中の特定時間の間、特定の電圧レベルが印加されたときに、メモリーセルで捕捉された電荷レベルに固有のランダム変動をもたらす。これら固有のランダム変動は、第２のメモリーセルにおける、同一の捕捉電荷レベルを取得するために、第２のメモリーセルにおいて、同じ捕捉電荷の相対レベルの再生あるいは複製を不可能でないとしても、極めて困難にしている。以下に説明するように、本発明は、プログラムされたメモリーセルに捕捉された電荷レベルがプログラミング直後に正確に測定され、保存され、後にプログラムされたメモリーセルに保存されたデータの認証のために使用され得るという事実を活用するものである。
メモリーセルで捕捉される電荷レベルは、メモリーセルにプログラムされる時点での環境的な条件、例えば、温度や漂遊静電気の存在にも依存する。加えて、メモリーセルの以前の捕捉電荷レベル及び、メモリーセルの履歴として知られているメモリーセルへの書込みサイクルの総数が、メモリーセルで捕捉される電荷レベルに対して影響する。それゆえ、たとえ同一のメモリーセルに同一のデータでプログラムされているときであっても、メモリーアレイのメモリーセル中の捕捉電荷のパターンは、それぞれプログラミングの行為によりランダムに変化するであろう。
本発明は、半導体記憶素子に保存されたデータを保護するために、プログラム化されたそれぞれのメモリーセルの捕捉電荷レベルにおいて、固有で、唯一で、そしてランダムな変化を利用するものである。半導体メモリーアレイのメモリーセルに保存されたデータは、それが、正式に認められていない方法で修正されていない保存データであるということを確認するために解析される。この認証手続きは、メモリーセルの捕捉電荷レベルの現在の測定値と、メモリーセルのプログラミング後にただちに測定されるメモリーセルの捕捉電荷の基準値との比較により実行される。
例として、本発明による技術を、図２に示す半導体記憶素子50へのデータの保存に関して説明する。明確化のため、素子50はEEPROMとして具体化される。その理由は、そのような素子は、メモリーアレイのメモリーセルに対する、消去や再書込みのためのアナログの入出力線といった、本発明の技術と利点を説明するために有益な付加的な手段を一般に含むためである。不揮発性の浮動ゲート式EEPROMセルの技術を利用したメモリーチップはInformation Storage Device（登録商標）により開発されており、そのような素子を発明の実施のために用いてもよい。しかしながら、記憶素子50は、上述した図１のEPROMメモリーセル10と構造的にも動作的にも同様なメモリーセルを含むいかなる適切な素子でもよいことと、本発明はほとんどの半導体記憶素子に対して適用できることは了解されるはずである。素子50は今後、EEPROM 50として参照することにする。
望ましい、実施の形態として、EEPROM 50は、因襲的な方法を用いてメモリーセルにプログラミングするために加えられる電圧信号の絶対的あるいは相対的な、不均衡レベルあるいは差分レベルがメモリーセルの浮動ゲートにより、捕捉された電荷レベルに対して予測可能な関係、望ましくは、線形関係にあるように構成される。同様に、記憶素子50でメモリーセルの浮動ゲートに捕捉される電荷レベルは因襲的な読取り方法を用いることによりメモリーセルが読まれるときに生じる電圧レベルに対して予測可能な、望ましくは、比例関係にある。EEPROM 50のメモリーセルで、読取り処理と書込み処理の両方が、印加された電圧と、測定された電圧に関して同一の予測可能な関係をそれぞれ示すことが望ましい。さらに、フィルター、自動ゲイン制御コンポーネント、そして、電圧信号の歪み補償や、等化コンポーネントを、EEPROM 50に対するデータ読取り、書込みに関する入力あるいは出力の電圧信号処理のために使用しないことが望ましい。
図２において、データは、標準的なマイクロコントローラ42の使用により、EEPROM 50に書込まれ、データは標準的なアナログディジタル変換器(ADC)46を経由して、マイクロコントローラへと読取られる。一つの実施形態として、本発明が提供する技術により、コスト的に見合う方法でデータを保護するために、EEPROM 50は単一の半導体素子あるいは集積回路に含まれる。例えば、本発明は、標準的なISD1000A集積回路上に構築されたメモリーセルを用いることによって実施されるものであるが、大部分の半導体記憶素子でも、この発明の適用は可能である。
一般的には、マイクロコントローラ42とADC46とが、例えば、銀行のカードマシンや自動支払い機のようにEEPROM 50から分離した装置に含まれることが望ましい。例えば、その場合、EEPROM 50はチップカード上に置かれることになる。その代わりに、マイクロコントローラ42とADC46の両方若しくは１方が、単一の半導体素子におけるEEPROM 50に含まれてもよい。図示の便宜のため、図２の要素は、標準的な集積回路上に実施されるEEPROM 50に関して記述している。
図２においては、マイクロコントローラ42は、ROM45とRAM43に接続された標準的なマイクロプロセッサのようなプロセッサ44を適宜含み、それら全ては１つの集積回路上にある。その代わりに、プロセッサ44、RAM43そしてROM45は適宜離散的な素子を構成してもよい。データ出力線52、コントロールバス54、そしてアドレスバス56全ては、一般的な方法により適切にプロセッサ44からEEPROM 50に接続されている。マイクロプロセッサ44はまた、入出力(I/O)ポート58を備えている。標準的なインターフェース、その入出力ポート58は、RS−232，I2C，あるいはISO/IEC781 S3規格のチップカードインタフェースを含むが、それに限定されないどのような標準インターフェースを備えていてもよい。I/Oバスポート58は、マイクロコントローラ42を銀行のカード読取り機や非同期のカード読取り機のような外部装置に接続するために用いられる全ての標準的なインタフェースである。コントロールバス54は一般的に、チップイネーブル、読取り/書込みの選択、出力イネーブルといった信号線を含んでもよい。EEPROM 50からのアナログ出力線60は、ADC46のアナログ入力ポートに接続され、データ入力線62はプロセッサ44へのADC46のディジタル出力ポートに接続される。
電源、信号接地、信号の調整コンポーネントは、EEPROM 50、マイクロコントローラ42とADC46の一般的な設計に通常含まれるコンポーネントであり、図２には示されていない。
マイクロコントローラ42のマイクロプロセッサ44は、EEPROM 50に関する読み書き動作の実行を制御するために、コントロールバス54上に制御信号を送信する。プロセッサ44は、１ビットあるいは、ビット群を読むかあるいは書こうとしているEEPROM 50内の特定のメモリーセルまたはメモリーアレイを選択するためにアドレスバス56上に適切なデータを送信する。プロセッサ44は、書込まれるデータビットの論理レベルに関連した強さの電圧信号をデータ出力線52に供給することにより、EEPROM 50にデータを書込む。一般的に、”0”と”1”のビットデータの値を書込むためにマイクロプロセッサがデータ出力線に供給する電圧信号レベルは、それぞれ、．５ボルト±10％、4.5ボルト±10％である。
本発明によりメモリーセルに保存されているデータを保護する技術は、図３と４にそれぞれ示されるように、EEPROM 50へのデータの書込み、読取り処理の検討により記述される。次に、EEPROM 50に対して書込まれるデータの基準値の生成プロセスが図５の参照により説明される。また先に生成された基準値に基づき、EEPROM 50に保存されたデータを認証するためのプロセスが図６の参照により説明される。
図３は、本発明により、マイクロコントローラ42からEEPROM 50に対して１ブロックのデータを書込むためのプロセス100を示している。特にステップ102で、プロセッサ44は、データ１ブロックの１ビットあるいはビットのグループを書込むために、EEPROM50のメモリーセルのアドレスをアドレスバス56に出力する。明確化のため、プロセス100は、EEPROM 50の１つのメモリーセルにおける、データ１ビットの保存に関して説明したものである。
ステップ104で，プロセッサ44は，書込まれるデータビットが，論理値”1”もしくは”0”であるか否かを判定する。もし，そのビットが”0”である場合，プロセッサ44は処理をステップ106に進める。そうでない場合，もし，データビットが，論理値”1”である場合，プロセッサ44はステップ108に処理を進める。ステッフ106で、プロセッサ44は，公称”0”レベルの電圧信号、例えば0.5ボルトをデータ出力線52に供給する。同様にステップ108で，プロセッサ44は公称”1”レベルの電圧信号、例えば4.5ボルトをデータ出力線52に供給する。ステップ110は，ステップ106あるいはステップ108の処理の後，実行される。
ステップ110で，プロセッサ44は，データ出力線52に意図的なランダム電圧オフセットを加える。このわずかなランダム誤差は，ステップ106，108で生成された公称電圧信号の±10％のオーダーに適したものである。EEPROM 50にデータを書込むために用いる公称電圧信号レベルに意図的なオフセット誤差を導入することは，保存されたデータに対して，安全性を付加することになる。何故ならその導入により、偽造者にとって，プログラムしたメモリーセルの捕捉電荷レベルを予測することはより困難なものとなるからである。メモリーセルの捕捉電荷の特定レベルを数値表現する困難の度合いは，プログラミングされたときに，メモリーセルで捕捉される電荷レベルに付加的な変動を導入することで増加する。
データ出力線52に加えられる意図的なランダム誤差電圧は、一般的な技術により適切に生成される。このような技術として例えば，生成された公称電圧レベルのおよそ±10％の変動を引き起こすノイズを生成するトンネルダイオードを基にする回路に、公称電圧信号レベルをデータ出力線52上に作り出す電流を通すことがある。この例において，論理値”1”としてデータ出力線52に加えられる信号の電圧レベルは，意図的なオフセットを含んで4.05から4.95ボルトの範囲にある。同様な方法により，論理値”0”として加えられる電圧信号は.45から.55ボルトの範囲にある。
再び図３において、ステップ112で、プロセッサ44は書込み動作の実行のために、コントロールバス56に制御信号を出力する。ステップ114で、データのビットは、データ出力線52に加えられる電圧レベルに従って、EEPROM 50に書込まれる。プログラムされたメモリーセルの捕捉電荷レベルは、図示のため、印加電圧に関して線形の関係にある。ステップ116で、プロセッサ44は、保存されるべきデータブロックの全てのビットがEEPROM 50に書込まれたか否かを判断する。もし、データブロックの全ビットがEEPROM 50に対して完全に書込まれた場合、プロセス100は終了する。そうでない場合、プロセッサ44はステップ102に処理を進め、ブロックデータ全てが書込まれるまで、EEPROM 50にデータの書込みを続ける。
図４は、マイクロコントローラ42を用いてEEPROM 50からデータブロックを読取り、本発明により、プログラムされたメモリーセルの捕捉電荷レベルの測定値を保存するためのプロセス150を示す。図示のため、読取りの間においては、図３のプロセス100の処理に従いEEPROM 50に前もって書込まれたデータは、プロセッサ44に対して読み返しされ、プロセス150により、その後の処理のためにROM45に保存されるものとしている。更に、明確化のため、プロセス150は、１つのメモリーセルに保存されたデータ、すなわち、データ１ビットの読取りに関して記述している。
ステップ152で、マイクロプロセッサ44は、EEPROM 50のメモリーセルに保存されたデータブロックのビット情報を読取る読取り動作を可能とするため、コントロールバス54に制御信号を出力する。ステップ154で、プロセッサ44は、読取られるEEPROM 50のメモリーセルアドレスをアドレスバス56に出力する。コントロールバス54の読取り信号と、アドレスバス56のアドレスに基づいて、EEPROM 50内でアドレスされたメモリーセルデータが読取られる。この読取り処理の結果として、強さが、EEPROM 50のメモリーセルの捕捉電荷レベルに対して線形の関係にある電圧信号がアナログ出力線60に供給される。メモリーセルの捕捉電荷レベルに対応した電圧値は、プログラムされたメモリーセルを非破壊的に調べることにより、間接的に適切に求められる。例えば、間接的に電圧値を得るために用いることができる、保存された捕捉電荷レベルに対応したメモリーセルの導電率の測定値を得ることができる。
ステップ156で、ADC46は、アナログ出力線60によって供給される電圧信号レベルを検出し、電圧信号のアナログ値をディジタル化した数値に正確に変換する。電圧信号をディジタル化した数値は、マイクロコントローラ42に送るためデータ入力線62出力され、プロセッサ44により、ROM45に保存される。
ステップ158で、プロセッサ44はステップ156でROM45に保存された数値を検索し、それぞれの数値を２進数に翻訳する。言い換えると、プロセッサ44はメモリーセルに保存された捕捉電荷レベルを表す数値から、プログラムされたデータビットが論理的に”0”であるか”1”であるかを判定する。そうではなく、EEPROM 50の１つを超えるメモリーセルが一度に読取られると、プロセッサ44は対応する保存された数値の列を、２進データの数列に翻訳する。プロセッサ44は、特定の半導体記憶素子への適用で必要となるI/Oポート58を介する送信のために、２進データの数列をバイトの書式に変換してもよい。
ステップ160で、プロセッサ44は後の認証処理で用いるために、RAM43に捕捉電荷レベルのアナログ値を表す数値あるいは、数値の列を保存する。データの論理”0”ビットと”1”ビットそれぞれに対する数値は、プログラミングの時点において存在する条件と、図３のステップ110で導入された意図的なランダム誤差電圧に応じて変化する。例えば、論理的な数列”1010110”に対して、対応した数値は電圧値4.10、.5、4.05、.45、4.75、4.90そして.55ボルトの電圧と線形に関係付けられるとする。この数値は、それぞれのデータブロックに対して、唯一のものであり、以下で説明する、データを認証するための基準となる「指紋」として用いられる。その指紋はディジタル的に保存される。プロセッサ44はまたI/Oポート58を介して送信し、外部のデータベースに保存するため、その数値をフォーマットしてもよい。
ステップ162で、プロセッサ44は、EEPROM 50に保存されたデータ１ブロックの全ビット情報が読まれたか否かを判定する。もし、データブロックが完全に読取られた場合、プロセス150は終了する。そうでない場合、プロセッサ44は処理をステップ154に進め、データブロックの全ビットデータが読取られるまで、EEPROM 50からデータの読取りを続ける。
このように、プロセス150は、間接的に決められた電圧値を用いて、メモリーセルの捕捉電荷レベルのグループまたはサンプリング値を正確に測定し、さらに、それぞれの電圧信号レベルを表すの数値を求めるために、記憶素子において、複数のメモリーセルが読取られることを示す。
図５は、プログラムされたメモリーセルの捕捉電荷レベルを表す数値を含むデータ列で、指紋と呼ばれるものを生成するために、EEPROM 50ヘデータを書込み、その後で読取る技術を例示するプロセス200を示す。EEPROM 50にデータが書込まれた直後に生成された指紋は基準として用いられ、さらに、そのような基準指紋はEEPROM 50に保存されるデータを認証するために用いられる。ステップ202で、マイクロコントローラ42は、図３のプロセス100の工程に従い、EEPROM 50にデータ１ブロックを書込む。ステップ204は直ちに実行され、マイクロコントローラ42は図４のプロセス150の処理に従いステップ202でEEPROM 50に書込まれたばかりのデータブロックを読取る。ステップ206で、プロセッサ44はステップ204で読取られたデータブロックに関し、RAM 43に保存された数値列を検索し、数値の集合から基準指紋を生成する。基準指紋は、データが保存された記憶素子と、書込みの特性の両方に関して特定のデータを唯一的に識別する。例えば、”0101”の数列に関する基準指紋は、特定の記憶素子に関して、数値的に4.6、.5、4.75そして.45として表わされる。基準指紋は、ステップ204で得られた数値を代表する、順番付けられたデータ列を含んでもよい。その代わりに基準指紋は、圧縮列として知られる、ステップ204で求められた捕捉電荷の測定レベルを表す選択された数値データを含む順番付けられたデータ列を含んでもよい。
さらなる代案として、ステップ204で読取られたメモリーセルを表す数値を、指紋に包含するために、ファジー理論を用いて選択してもよい。例えば、ファジー理論技術は、データのファジー集合を生成するために用いられる。データのファジー集合は、ステップ204で求められる数値の集合の部分集合として定義される。ファジー集合は主として重要な数値で、ファジー集合に対して最も価値のある数値として定義されるものを包含する。データのファジー集合を処理し、解析するためには、一般的な数学的手法を用いればよい。例えば、同一にプログラムされたデータビットを含む半導体記憶素子で、隣接したメモリーセルの捕捉電荷レベルの比率は、基準指紋に含まれる重要な数値として使用してもよい。加えて、ファジー理論は、例えば、ステップ204で求めた数値を歪める温度変化を補償するために用いることができる。隣接したセルの温度の影響を補償する経験的な数値を包含するファジー集合を生成できれば、そのような効果を得られるだろう。ファジー理論を利用した他の補償の形態も利用することができる。さらに圧縮化された数値データ列はファジー理論技術を用い、基準指紋として保存される。
ステップ208で、プロセッサ44は基準指紋に含まれる数値で、EEPROM 50に保存されたデータを引き続き認証するために用いるものを保存する。例えば、プロセッサ44は図３のプロセス100の処理により、EEPROM 50上の分離したエリアに基準指紋のデータを書込む。その代わりに、プロセッサ44は外部データベースに保存のため、基準指紋のデータをI/Oポート58に出力してもよい。
EEPROM 50に保存されたデータ保護を更に強化するために、基準指紋はEEPROM 50に書込まれる前、あるいは外部のデータベースに保存される前に暗号化されてもよい。暗号化は、指紋生成処理の詳細が偽造者に公知となった場合に、許可されない方法による基準指紋の複製に対する保護のために行われる。例えば、許可されていない者達に指紋生成技術が公知となったなら、メモリーセルのデータは第２の半導体記憶素子に複製され、もう１つの一見有効な基準指紋が、第２の記憶素子上に複製されたデータに関して生成されるかもしれない。安全上、保存前に基準指紋を暗号化することは、この潜在的な問題を解決する。
図６は、プロセス250が、例えばカード読取り機に提供された、EEPROM 50からのデータブロックの読取り処理を示す。認証指紋と呼ばれる指紋はこのデータの読取りに基いて生成され、EEPROM 50に保存されたデータの認証目的のため保存されたデータの基準指紋と比較される。ステップ252で、マイクロコントローラ42は、プロセス150で記述された方法によりEEPROM 50からデータブロックを読取る。ステップ254で、プロセッサ44は、プロセス200のステップ206で実行された指紋生成と同様な方法で、ステップ252で、RAM43に保存されたデータから認証指紋を生成する。先に説明されたように、基準指紋生成技術が、本発明によりメモリーセルに保存されたデータの認証を目的とした認証指紋の生成法を制御することは重要である。
ステップ256で、プロセッサ44はちょうど読込まれたメモリーセルに関連した基準指紋の情報を検索する。先に説明したように、この基準指紋は、これを含むEEPROM 50のメモリーアレイの読取りによりアクセスされる。その代わりに基準指紋はI/Oポート58を介して、外部のデータベースからもアクセスされることもある。もし、基準指紋が保存前に暗号化されている場合、基準指紋はステップ256で翻訳される。
ステップ258で、プロセッサ44は基準指紋と認証指紋を比較する。もし、認証指紋がユーザの定めた比較パラメータの範囲内で基準指紋と一致した場合、EEPROM 50に保存されたデータは認証される。一致しない場合、EEPROM 50に保存されたデータは認証されない。つまり、そのデータは正しいと認められない方法でアクセスされ、修正された可能性がある。
他の実施の形態として、本発明による技術を、データが他の記憶素子に複製されたものか否かを検出する目的として使用してもよい。上記のように、プログラムした第１メモリーセルの捕捉電荷レベルと同じ数値を求められれば、結果として基準指紋の複製を作れるが、そのように、プログラムした第１のメモリーセルの捕捉電荷レベルと同じ数値を、第２のメモリーセルに複製することは極めて困難である。当業者は、本発明の教示を、第１の半導体記憶素子のプログラムしたメモリーセルに保存されたデータが、第２の半導体記憶素子に複製されたか否かを判定するために適用してもよい。このことは、第１の記憶素子のメモリーセルに保存されたデータに関して生成される基準指紋と、第２の記憶素子のメモリーセルの読取りから生成された認証指紋の比較により行われる。
それゆえ、例えば真正のチップカード上のメモリーセルのブロックデータが“10101”であることを知る偽造者は、偽物のチップカード上で数列の再生を試みるだろう。しかしながら、真正のチップカードが、本発明により認証され、偽造者が真正チップカードの指紋を知ることがなければ、失敗に終わる。例えば、真正チップカードの基準指紋が4.5、.5、4.75、.45そして4.9で、偽造者が4.75、.45、4.2、.55そして4.15の論理列をプログラムした場合、不一致が生じ偽物のカードは認証されないことになる。加えて、指紋を知る偽造者でさえも、各素子固有の物理的特性の特有性により、他の半導体記憶素子上にその指紋を複製することはこと実上不可能となる。さらに環境的な条件も１つの要因になる。従って、本発明により半導体記憶素子に保存されたデータの保護を打ち破るためには、多くの障害物が存在していることになる。
上述した実施の形態と変形例は、本発明の原理を単に例示したものであり、本発明の範囲と趣旨から外れることなく、当業者により様々な変形を施され得ることは理解されるはずである。
【図１】
0003941964.tif 000002
【図２】
0003941964.tif 000003
【図３】
0003941964.tif 000004
【図４】
0003941964.tif 000005
【図５】
0003941964.tif 000006
【図６】
0003941964.tif 000007