JP2002509624A - プログラム制御方式セキュリティ・アクセス制御を有する安全メモリ・カード - Google Patents

プログラム制御方式セキュリティ・アクセス制御を有する安全メモリ・カード

Info

Publication number
JP2002509624A
JP2002509624A JP51893595A JP51893595A JP2002509624A JP 2002509624 A JP2002509624 A JP 2002509624A JP 51893595 A JP51893595 A JP 51893595A JP 51893595 A JP51893595 A JP 51893595A JP 2002509624 A JP2002509624 A JP 2002509624A
Authority
JP
Japan
Prior art keywords
memory
bit
command
block
memory 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.)
Granted
Application number
JP51893595A
Other languages
English (en)
Other versions
JP3517680B2 (ja
Inventor
ホルテイ,トーマス・オー
Original Assignee
セー・ペー・8・トランザツク
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 セー・ペー・8・トランザツク filed Critical セー・ペー・8・トランザツク
Publication of JP2002509624A publication Critical patent/JP2002509624A/ja
Application granted granted Critical
Publication of JP3517680B2 publication Critical patent/JP3517680B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)
  • Burglar Alarm Systems (AREA)
  • Selective Calling Equipment (AREA)
  • Fire Alarms (AREA)

Abstract

(57)【要約】 安全メモリ・カードは、いくつかのアドレス可能な不揮発性メモリ・チップ(103a、103b、...103n)と内部バスを介して相互接続された単一の半導体チップ上のマイクロプロセッサを含む。マイクロプロセッサは、いくつかのキー値を記憶するアドレス可能な不揮発性メモリを含む。各チップのメモリ(54)は、それぞれ、いくつかのバイト位置行を含む、ブロックとして構成される。各行は、総数がロック値用の記憶域を提供する、ロック・ビット位置を含む。各メモリ・チップ(103a、103b、...103n)は、ホスト・コンピュータとの確認手順時にロック・ビット位置のビット内容とキー値を比較することによって所定のキー検証動作を実行するように構成されたセキュリティ制御論理回路(30)を含むように構成される。

Description

【発明の詳細な説明】 プログラム制御方式セキュリティ・アクセス制御を有する安全メモリ・カード [技術分野] 本発明は、ポータブル・パーソナル・コンピュータ分野に関し、詳細には、ポ ータブル・ディジタル情報環境でデータ・セキュリティを維持するシステムに関 する。 [背景技術] 個人情報のセキュリティは常に重要である。歴史的に見ると、個人情報のセキ ュリティは、署名、証明書、および写真を使用することによって保護されている 。自動バンキング・システムなど電子装置によって、コード化カードおよび個人 識別番号(PIN)がセキュリティ・ツールの範疇に加えられている。 最近では、「スマート・カード」がセキュリティ・ツールとして使用されてい る。「スマート・カード」とは、書込み可能な不揮発性メモリと簡単な入出力イ ンタフェースとを有する小型マイクロコンピュータであり、単一のチップとして 製造され、プラスチック製「クレジット・カード」に埋め込まれる。「スマート ・カード」は、特別に設計された機器にそれ自体を 接続できるようにする外部ピンを有する。このカードのマイクロコンピュータに 含まれるプログラムは、この機器と相互作用して、任意選択としてパスワード交 換を含むことができる所望のアルゴリズムに応じて不揮発性メモリのデータを読 み取り、あるいは修正できるようにする。メモリのデータを保護して、状況に応 じて許可を変更できるようにする特殊な技法が実施されている。たとえば、「Si ngle Chip Microprocessor with On-Chip Modiliable Memory」と題する米国特 許第4382279号は、処理・制御装置と同じチップ上に含まれる不揮発性メ モリの自動プログラミングを可能にするアーキテクチャを開示している。他のシ ステムの場合と同様に、マイクロプロセッサは同じチップ上のメモリしか保護し ない。 「スマート・カード」は、識別プロセスを迅速化するために使用されると共に 、価値ある情報を実際に有するものとしても使用されている。この状況では、大 部分の従来の状況と同様に、「キー」の物理的存在とある特殊な知識が、検証プ ロセスまたは確認プロセスの一部として使用される。そのような場合、識別では 、アクセスを希望する人間と、セキュリティ・ガードや銀行用端末装置など一定 のエージェントとの間で対話が行わ れている。 フリースタンディング計算装置の現状の可搬性のために、物理的キーも確認エ ージェントも、小型で可搬性の高いものとすることができ、したがって紛失しや すく、あるいは盗まれやすくなっている。さらに、計算装置によって、識別プロ セスに関連する特殊な知識またはパスワードの推測または演鐸を繰り返して試み ることができるようになった。これは特に、確認エージェントまたは確認装置が 、窃盗者の制御下にある場合にもそうである。さらに悪いことには、現在の技術 では、大量の重大な情報を持ち運ぶことができ、かつそうすることが奨励されて おり、そのため災難に会いやすい。 今日のノート・サイズおよび準ノート・サイズのコンピュータは、顕著な計算 能力を有するフリースタンディング環境を提供し、そのため追加データ記憶機能 が必要になっている。このニーズは最初、プログラムとデータの両方を保持でき る小型ハード・ディスク装置によって満たされた。このようなシステムではパス ワード保護が使用されることが多いが、第1に、確認エージェントが害を被りや すいので、パスワード保護は重要なデータを完全に保護するわけではない。しか し、さらに重大な こととして、データを含むディスク装置は、より分析を容易にする設定では物理 的に取り外してアクセスすることができる。この場合、データは、ある形の暗号 を使用して保護されている。ディスク・アクセスの性質のために、不当なコスト または性能上の障害を受けずに、これができるようになった。このタイプのシス テムの一例は、「Integrated Circuit Card」と題する米国特許第498592 0号に記載されている。 最近、フラッシュ・メモリおよび取外し可能な「メモリ・カード」が現れたた め、ポータブル・コンピュータの寸法要件および電力要件を大幅に低減させるこ とができるようになった。フラッシュ・メモリとは、ランダム・アクセス・メモ リ(RAM)の柔軟性とディスクの性能を組み合わせたものである。今日、この ような技法を組み合わせることによって、クレジット・カード・サイズの取外し 可能なパッケージに最大で2000万データ・バイトを電力なしで記憶すること ができる。このデータは、ホスト・システムから、従来型のディスク・ドライブ に記憶されているように見えるようにすることも、あるいはホスト・システムの メモリの拡張機能に記憶されているように見えるようにすることもできる。 このような技術の開発によって、システムおよびデータを持ち運ぶことができ る程度にシステムの寸法をさらに減少させることができるようになった。このた め、データとそのホスト・システムは、紛失しやすく、あるいは盗まれやすくな り、かっこれによって、コストおよび性能上の大きな障害がもたらされるので、 暗号によってメモリ・データを保護することもより困難になった。 [発明の開示] したがって、本発明の主要な目的は、安全メモリ・サブシステムを有するポー タブル・ディジタル・システムを提供することである。 本発明の他の目的は、ポータブル・ディジタル・システムから取り外された場 合に内容を保護できるメモリ・カードを提供することである。 本発明の他の目的は、カードから取り外された場合にそのようなカードのチッ プのデータ内容が保護されるメモリ・カードを提供することである。 本発明のより具体的な目的は、設計が簡単なために容易に製造できる安全メモ リ・サブシステムを提供することである。 [発明の概要] 本発明の上記およびその他の目的は、関連米国特許出願(米国特許出願第96 0.748号)に記載された安全メモリ・カードの好ましい実施例で満たされる 。この安全メモリ・カードは、単一の半導体チップ上のマイクロプロセッサと、 1つまたは複数のアドレス可能な不揮発性メモリ・チップとを含む。マイクロプ ロセッサ・チップおよび不揮発性メモリ・チップは、アドレス、データ、および 制御情報をそのような不揮発性メモリ・チップへ送るために、共通に内部バスに 接続される。マイクロプロセッサは、いくつかのキー値を含む情報と、アドレス 、データ、および制御情報の内部バス上での転送を制御するプログラム命令情報 を記憶するアドレス可能な不揮発性メモリを含む。 本発明の開示によれば、チップ・メモリは、それぞれ、各行が、アドレス可能 な複数のバイト位置を含む、いくつかの行を有する、いくつかのブロックとして 構成される。各行はさらに、集合的に他の行ロック・ビット位置と共に、チップ ・メモリのサイズをほとんど増加させずに、各ブロック内の多数のロック・ビッ ト用の記憶域を提供する単一のロック・ビット位置を含 む。ロック・ビットは、データ保護を保証する不揮発性メモリの所定の特性を使 用するように固有にコード化される。 本発明によれば、各メモリ・チップは、複数のアクセス制御記憶要素を有する 揮発性アクセス制御メモリと、キー検証動作を実行する小数の回路を含むプログ ラム可能なセキュリティ・アクセス制御装置とを含むセキュリティ制御論理回路 も含むように構成される。さらに具体的には、セキュリティ・アクセス制御装置 は、所定の1組の命令の制御下で、そのような命令に応答して読み取られるメモ リ・ブロックのロック・ビット位置のビット内容とキー値のビットを順次比較す ることによって、保護されたブロック用の所定のキー検証動作を実行する。 この検証動作は、所定の確認手順の一部としてホスト・コンピュータによって 実行される。そのような手順が首尾良く実行されない限り、マイクロプロセッサ が、そのブロックの関連する揮発性アクセス制御メモリ・アクセス制御要素をセ ットして、保護されたブロックから情報を読み取るためのユーザ・アクセスをイ ネーブルすることはできない。 関連特許出願の場合と同様に、周期的に、ホスト・コンピュータとの確認手順 を首尾良く実行するようユーザに求めること ができ、アクセス制御メモリの許可に応じて情報の読取りの継続をユーザに許可 することができる。好ましい実施例では、ホスト・コンピュータは、国際パーソ ナル・コンピュータ・メモリ・カード協会(Personal Computer Memory Card In ternational Association(PCMCIA))規格を満たすインタフェースなど 標準インタフェースを介してメモリ・カードに結合される。 好ましい実施例のセキュリティ論理回路は、各ブロックのメモリ行に対応する いくつかのロック・ビット位置と、エンド・カウンタと、比較器と、比較累積フ リップフロップとを含む最小量の論理回路と、各メモリ・ブロックごとに1つの ビット位置またはフリップフロップを含むアクセス制御メモリとを含む。エンド ・カウンタは、記憶されているキー値の終りを検出するためにブロックのロック ・ビット位置中の連続1ビットをカウントするために使用される。比較器および 比較累積フリップフロップはそれぞれ、対応する1つのロック・ビット位置に記 憶されているロック・ビットと、命令によって提供された各データ・ビットを比 較して、これらのビット間の一連の連続比較の結果を累積する。 本発明は、並列データ経路、並列データ比較器、および推測に対するより強力 な保護を与えるように選択された長いキー値を記憶するための大きなレジスタ幅 を不要にする。好ましい実施例では、各ブロックは、8キロビットの最大キー長 を提供することができる。これは、より広い並列経路や大きなレジスタ幅を提供 するという問題に関わることなく行われる。さらに、今日のマイクロプロセッサ の速度では、大きなキー長を処理するのに必要な時間は、1秒よりもかなり短い 。さらに、そのような処理は通常、システム初期設定時にしか行われない。 本発明の開示によれば、キー値は、あらゆるキー値の第1ビットが、メモリ・ チップの所定の特性を使用する所定の状態にセットされるように選択される。さ らに具体的には、好ましい実施例のメモリでは、メモリが消去されると、すべて のビットが1にセットされ、メモリに書込みを行っても、1を0に変更すること しかできず、0を1に戻すことはできない。本発明は、各ブロックごとの保護ビ ットとして働くこの所定の状態(すなわち0)にあらゆるキーの第1ビットをセ ットすることを要求することによって、この特性を使用する。さらに、キーは、 さらに保護を保証する所定のプロトコルに従ってコード化される。 好ましい実施例では、このプロトコルは、ハイレベル・データ・リンク制御(H DLC)通信プロトコルなど周知の通信プロトコルで使用される規則に類似の規 則を使用する。すなわち、各キー値ビット・シーケンスは、所定数の連続1ビッ トを含むフラグ・フィールドを除き、所定数よりも少ない連続1ビットを含むよ うにコード化される。エンド・コードのあるビットが操作場合、キー値の終りを 検出して特定のブロックにアクセスすることはできなくなる。キー値の他のビッ トが操作場合、ロック値とキー値の間に不一致が生じてアクセスが妨げられる。 また、本発明によれば、少数の異なるタイプの命令を使用してキー検証動作が 実行される。これらの命令には、キー検証動作を開始するためにマイクロプロセ ッサによって1度だけ実行される第1のタイプの命令が含まれる。メモリ・ブロ ックが保護されていない場合、実行する必要がある命令はこれだけである。マイ クロプロセッサは、キー・ビットのシーケンス中の各ビットごとに1つずつ、第 2のタイプの命令を実行する。第2のタイプの各命令によって、キー・ビット・ シーケンスの1ビットが、ブロック・ロック・ビット位置に記憶されているロッ ク・ビット・シーケンスの対応するロック・ビットと比較され る。マイクロプロセッサは、第3のタイプの命令を実行することによってキー検 証動作を完了する。この命令によって、累積比較フリップフロップに記憶されて いる累積された比較結果がサンプリングされ、エンド・カウンタが試験され、結 果が正しいとき(すなわちカウンタおよび累積比較フリップフロップが正しい状 態であるとき)だけブロック・アクセス制御メモリ・ビットがセットされる。 好ましい実施例では、メモリ・カードの製造時または選択的なブロック消去動 作時に、必要に応じて同じ1組の命令を修正することもできる。すなわち、キー 値のビットを読み取るのではなく、命令を使用して、消去動作の後に、メモリ・ ブロックのロック・ビット位置にキー値ビット・シーケンスを書き込ませること ができる。 本発明は、各メモリ・ブロックごとに独立のロックを提供することによって、 関連特許出願の安全カードの機能を拡張する。本発明では、保護すべき情報に与 えるべき保護の量の関数として可変長キー値を使用することができる。さらに、 本発明では、回路が少なくて済み、構成がより容易であり、コストがより低い。 本発明は、関連特許出願の場合と同様に、「スマート・カ ード」技法と「メモリ・カード」技法を融合させたものであり、このことは、電 子機器の小型化によってもたらされる「セキュリティが困難な」環境でフラッシ ュ・メモリ技法によって可能になる大量のデータの保護を可能にするうえで重要 である。 本発明は、安全モードでも非安全モードでも動作し、データを暗号化し非暗号 化することを不要にし、カードまたはそのホスト・プロセッサが紛失し、盗まれ 、オフにされ、あるいは放置された場合にメモリ・データを保護する機能に対し て関連特許出願の安全カードの特徴を保持する。盗まれた場合、メモリ・カード が開かれて電子的に調べられ、あるいはメモリ・チップが取り外されて他の装置 中に置かれた場合でも、メモリ・データはアクセスから保護される。 本発明の上記の目的および利点は、以下の説明を添付の図面と共に検討したと きによりよく理解されよう。 [図面の簡単な説明] 第1図は、本発明によって構成されたメモリ・カードを組み込んだシステムの ブロック図である。 第2図は、不揮発性メモリの構成を含む第1図のアクセス制御プロセッサ(A CP)をより詳しく示した図である。 第3図は、本発明の開示によって修正された第1図の標準フラッシュ・メモリ をブロックで示した図である。 第4図は、本発明の開示によって構成された第3図のフラッシュ・メモリをよ り詳しく示した図である。 第5図は、本発明のメモリ・カードの動作を説明するために使用される表であ る。 第6a図は、本発明のメモリ・カードの動作モードを説明するために使用され るフローチャートである。 第6b図は、本発明のメモリ・カードの動作モードを説明するために使用され るフローチャートである。 第6c図は、本発明のメモリ・カードの動作モードを説明するために使用され るフローチャートである。 [発明の好ましい実施例] 第1図は、パーソナル・コンピュータまたはトランザクション・コンピュータ として使用できる安全ポータブルハンドヘルド計算システム1のブロック図であ る。システム1は、バス102によってホスト・プロセッサ5に接続された、本 発明によって構成されたメモリ・カード3を含む。ホスト・プロセッサ5は、ヒ ューレット・パッカード社(Hewlett-Packard Company)製のHP95LXなどパーム・トップ・パーソナル・コンピュータの 形をとることができる。ホスト・プロセッサ5は、液晶ディスプレイ(LCD) 5−2と、キーボード5−4と、メモリ5−8と、直列インタフェース5−10 とを含み、これらはすべて、バス106に共通に結合される。メモリ5−8は、 1メガバイトの読取り専用メモリ(ROM)と512キロバイトのランダム・ア クセス・メモリ(RAM)とを含む。 メモリ・カード3とホスト・プロセッサ5の間の接続は、標準バス・インタフ ェースを介して確立される。好ましい実施例では、バス102は、国際パーソナ ル・コンピュータ・メモリ・カード協会(PCMCIA)規格を満たす。インタ フェース102は、標準インタフェース・チップ104およびメモリ・カード・ バス105を介してホスト・プロセッサ5とメモリ・カード・システム3の間で アドレス、制御情報、およびデータ情報を転送するための経路を提供する。各バ ス102、105および106はデータ・バス、制御バスおよびアドレス・バス を含み、これらのようなバスを介する連続信号経路を提供する。たとえば、バス 105は、アドレス・バス105aと、データ・バス105bと、制御バス10 5cとを含む。 PCMCIAバス規格は、メモリ・カード上のディスク・エミュレーションを サポートする規格から、メモリ・データへのランダム・アクセスを可能にする大 幅に異なる規格へ進歩している。本発明のメモリ・カードは、暗号化技法を使用 せずにランダム・メモリ位置に高速アクセスできるようにすることによってこの 新しい規格をサポートする保護技法を提供する。本発明のメモリ・カードは、メ モリ・アレイからホストへデータを送るデータ経路を制御することによって、こ の経路での時間のかかるバッファリングも、暗号化も、その他の順次処理も課さ ずにデータを保護する。 通常、ユーザは、キーボード5−4からシステム1を操作して、ディスプレイ 5−2上に情報を表示して、メモリ・カード3中のファイルに記憶されている情 報を更新するスプレッドシート機能やデータベース機能など典型的な動作を実行 する。ホスト・プロセッサ5は、アドレス情報をバス102を介して送信して情 報を検索し、必要に応じて情報を更新して、必要なアドレスおよび制御情報と共 にメモリ・カード3へ送り返す。 第1図に示したように、本発明のメモリ・カード3は、バス105に結合され たアクセス制御プロセッサ(ACP)10と、 それぞれ、バス105に結合された、いくつか(n個)のCMOSフラッシュ・ メモリ・チップ103aないし103nとを含む。ACP10は通常、「スマー ト・カード」に使用されるのと同じタイプの処理要素である。CMOSフラッシ ュ・メモリ103aないし103nは、インテル社(Intel Corporation)製の フラッシュ・メモリ・チップの形をとることができる。たとえば、CMOSフラ ッシュ・メモリ・チップは、8個の128キロバイト×8ビットCMOSフラッ シュ・メモリを含むインテル28F001BXと呼ばれるインテル・フラッシュ ・メモリ・チップの形をとることができる。したがって、4メガバイト・フラッ シュ・メモリ・カードは、32個のそのようなフラッシュ・メモリ(すなわちn =32)を含むことができる。フラッシュ・メモリ構成要素に関する詳細につい ては、IEEE Spectrumの1993年10月号で発表された「Flash Memory Goes M ainstream」と題する論文を参照することができる。 アクセス制御プロセッサ10 第2図は、好ましい実施例のアクセス制御プロセッサ(ACP)10をブロッ ク図形で示したものである。図のよう に、ACP10は、保護された不揮発性メモリ10−2と、ランダム・アクセス ・メモリ(RAM)10−4と、マイクロプロセッサ10−6と、間隔カウンタ 10−8と、インタフェース・ブロック10−10とを含み、これらはすべてバ ス105に接続される。不揮発性メモリ10−2は、確認情報および確認プログ ラムを記憶すべきアドレスされるいくつかの位置を提供する。さらに具体的には 、メモリ位置10−2aは、ユーザがシステムにアクセスできることを検証して 、再確認に使用される時間間隔値の他にユーザがアクセスできるフラッシュ・メ モリ103aないし103n中のブロックを識別するために、1つまたは複数の 個人識別番号(PIN)、プロトコル・シーケンス、またはその他の確認情報を 記憶する。 メモリ位置10−2bは、各フラッシュ・メモリ103aないし103nを保 護するために使用されるキー値、または各フラッシュ・メモリ103aないし1 03nの個別のブロックを保護するために使用されるコードを記憶する。メモリ 位置10−2cは、必要な確認動作を実行し、事前に設定された障害条件が満た された場合にシステムをクリアするプログラム命令シーケンスを記憶する。 ある種のプログラム命令によって、ユーザは、ユーザ再確認が行われるときに 確立される間隔カウンタ10−8の設定を制御することができる。再確認間隔は 、ユーザにPINまたはその他のパスワードを再入力させることによってユーザ のIDの検証を要求する割込みをホスト・プロセッサ5に送るための割込み間の 時間を定義する。間隔カウンタ10−8は、バス102を介してホスト・プロセ ッサ5からクロック・パルスを受け取り、作業環境に応じてユーザによって設定 することができる。たとえば、家庭では、ユーザはタイマをオフにすることも( すなわち最大値に設定する)、あるいは時間間隔を1時間に設定することもでき る。飛行機上では、ユーザは、保護を増大させるために10分間に設定すること ができる。あらゆる「電源オン」時にこの間隔の設定を再検査するようユーザに 指示し、それによって周期的な再確認を強制的に行い、セキュリティを実行する ことができる。 フラッシュ・メモリ103aないし103n 第3図は、フラッシュ・メモリ103aをブロック図形で示したものである。 フラッシュ・メモリ103aは、残りのフラッシュ・メモリ103bないし10 3nと構成が同じである。 図のように、メモリ103aは、本発明によって構成されたメモリ・セクション 103Mと、本発明のセキュリティ・アクセス制御回路を含むセキュリティ論理 セクション103Sの2つのセクションを含む。両方のセクションを第4図にさ らに詳しく示す。 メモリ・セクション103M 第3図から分かるように、セクション103Mは、第4図に示したように16 個のブロックとして構成されたメモリ・アレイ54と、コマンド・レジスタ50 と、入出力論理回路60と、アドレス・カウンタ56と、書込み状態マシン61 と、消去電圧システム62と、出力マルチプレクサ53と、データ・レジスタ5 5と、入力バッファ51と、出力バッファ52と、状況レジスタ58とを含み、 これらは図のように構成される。上述のフラッシュ・メモリ103aの基本論理 回路は、インテル社製のフラッシュ・メモリに含まれる回路タイプの形をとる。 そのような回路は、設計が従来型のものとみなすことができるので、必要な程度 にしか説明しない。そのような回路に関する詳細については、1992年にイン テル社が発行したオーダー・番号210830の「Memory Products」と題する 文献とイン テル社の他の文献を参照することができる。 第3図に示したように、フラッシュ・メモリ回路は、複数の入力アドレス信号 A0ないしA16、データ信号D00ないしD07、およびチップ・イネーブル (chip enable)信号CE、書込みイネーブル(write ena ble)信号WE、出力イネーブル(output enable)信号OE、 電源遮断(power down)信号PWD、消去/プログラム電源(era se/program power supply)信号VPPから成る制御信 号を受け取る。これらの信号が実行する機能を付録Iに記載する。 CE信号、WE信号、およびOE信号は、バス102および制御バス105b を介してホスト・プロセッサ5からコマンド・レジスタ50および入出力論理ブ ロック60に印加され、先に指摘した論理ブロックを制御するために分散される 。PWD信号も、コマンド・レジスタ50に印加され、フラッシュ・メモリが、 付録Iに記載した動作を実行できるようにする。この信号を使用して、必要に応 じてセクション103Sの揮発性記憶要素をクリアし、それによって通常の動作 を再開するときにユーザ再確認を行うことができる。 一般に、セクション103Mの基本論理要素は以下のように動作する。情報は 、データ・バス105a、入力バッファ51、およびデータ・レジスタ55を介 して、アドレス・カウンタ56がアドレス・バス105cから受け取ったアドレ スによって指定されたメモリ・アレイ54中の1つのメモリ・ブロックのアドレ スされた位置に記憶される。情報は、メモリ・アレイ54のブロックの指定され アドレスされた位置から読み取られ、出力マルチプレクサ53、出力バッファ5 2、データ・バス105a、およびバス102を介してホスト・プロセッサ5へ 送られる。状況レジスタ58は、書込み状態マシンの状況、エラー中断状況、消 去状況、プログラム状況、およびVPP状況を記憶するために使用される。 書込み状態マシン61は、ブロック消去・プログラム・アルゴリズムを制御す る。プログラム/消去電圧システム62は、メモリ・アレイ54のブロックを消 去し、あるいは各ブロックのバイトをVPPの電圧レベルの関数としてプログラ ムするために使用される。 セキュリティ・セクション103B 第3図から分かるように、セクション103Sは、第4図に さらに詳しく示したセキュリティ・アクセス制御装置30と、ロック書込み許可 記憶要素32と、揮発性アクセス制御制御メモリ43とを含み、これらは図のよ うに相互接続される。アクセス制御メモリ43の出力は、各メモリ読取りサイク ル中に、メモリ・アレイ53の任意のブロックのあるバイト位置の内容が読み取 られているとき、出力バッファ52へのイネーブリング入力として印加される。 すなわち、読取りサイクルを実行することはできるが、適当なブロックのアクセ ス制御メモリ・ゲーティング信号がないときに、読み取られたデータが出力バッ ファ52を通過することはできない。 さらに具体的には、好ましい実施例では、アクセス制御メモリ43は、個別に アドレス可能な16個のビット記憶要素と、各記憶要素の入力に接続された入力 アドレス4ないし16ビット・デコーダと、各記憶要素の出力に接続された1な いし16出力マルチプレクサ回路とを含む。本明細書に記載した1組のメモリ・ コマンドに追加されるある種の命令の各アドレスの最上位4ビットは、復号され 、内容を変更すべきブロック用の記憶要素を選択するために使用される。同様に 、同じ4ビットを使用して、読み取り中のメモリ位置を含む当該のブロック用の 記憶要素の出力が選択される。 このセクションが、様々な16進値(すなわち31Hないし33H)によって 指定されたコマンド制御信号をセクション103Mのコマンド・レジスタ50か ら受け取ることに留意されたい。このような信号は、コマンド・レジスタ50が データ・バス105bを介してACP10から受け取る1組のコマンドの様々な データ値を示す。本明細書で以下に説明するように、このようなコマンドは、フ ラッシュ・メモリが使用する数組のコマンドの重要な拡張機能である。標準フラ ッシュ・メモリ・コマンドは、インテル社製フラッシュ・メモリが使用するコマ ンドの形をとる。 セクション103Mおよび103Sの詳細な説明−第4図 第4図は、セクション103Mおよび103Sの構成をさらに詳しく示したも のである。図のように、メモリ・アレイ54は、ロック・ビット・セクション5 4aとデータ・セクション54bの2つのセクションを有する。詳細には、メモ リ54は、1メガバイトの記憶域を含み、先に指摘したように、16個のブロッ クとして構成される。各ブロックは8K個の行を含み、各行は8バイト位置を含 む。本発明によれば、各行に1ビット 位置が追加されてロック・ビット位置54aが形成される。各行中のビット位置 の数を64ビットから65ビットに拡張することによって、メモリ・アレイ54 は、データと、本明細書に記載したようにそのようなデータを保護するための関 連するロック・ビット情報を共に記憶することができる。 図のように、2つのセクションは共に、3つのセクションとして構成されたア ドレス・ラッチ・カウンタ56を介してアドレスすることができる。第1のレジ スタ・セクションは、どのブロックをアドレスすべきかを指定する最上位アドレ ス・ビット群を記憶するために使用される。第2のセクションは、レジスタとし てもカウンタとしても動作するように構成され、ブロックのどの行をアドレスす べきかを指定する中位アドレス・ビット群を記憶し1だけ増分するために使用さ れる。第3のレジスタ・セクションは、行のどのバイトをアドレスすべきかを指 定する最下位アドレス・ビット群を記憶するために使用される。ブロック53の 回路を含むマルチプレクサ/デマルチプレクサ回路53aは、アドレス・ラッチ ・カウンタ56に記憶されている最下位アドレス・ビットの関数として、書き込 み、あるいは読み取るべきバイト位置を選択するために使用される。 また、第4図に示したように、セクション103Sのセキュリティ・アクセス 制御装置30は、ビット比較器回路30−1と、アキュムレータ比較フリップフ ロップ30−2と、エンド・カウンタ30−3とを含み、これらは図のように構 成される。ビット比較器回路30−1は、セクション54aのロック・ビット位 置のロック・ビット内容、およびACP10がバス105bを介して印加するキ ー・ビットを入力として受け取るように接続される。比較器回路30−1は、ロ ック・ビット・セクション54aから読み取られた対応するロック・ビットと、 ACP10から提供された各キー・ビットを比較して、図のように、アキュムレ ータ比較フリップフロップ30−2への入力として比較の結果を印加する。フリ ップフロップ30−2は、連続比較の結果を累積する。エンド・カウンタ30− 3は、小型のカウンタ(たとえば3ビット)であり、記憶されているキー値の終 りを検出するために使用されるロック・ビット・ストリングで発生する連続1ビ ットの数をカウントする。 ロック書込み許可フリップフロップ要素32は、コマンド・レジスタ50およ びプログラム/消去電圧システムに接続される。本明細書で論じるように、ブロ ック消去動作が実行された ときはいつでも、消去動作の完了時にフリップフロップ32が2進1状態にセッ トされる。フリップフロップ32の出力は、メモリ・ブロックのロック・ビット 位置に情報を書き込むことが許可されたとき、コマンド・レジスタ50への入力 として印加され確立される。 先に指摘したように、セキュリティ・アクセス制御装置30の様々な要素は、 コマンド・レジスタ50からコマンドを受け取る。上述のように、このようなコ マンドは、フラッシュ・メモリ54が通常使用する数組のコマンドの重要な拡張 機能である。次に、本発明で使用されるコマンドについて説明する。このような 命令については、付録11に詳しく記載し、以下で論じる。 第1のタイプの命令またはコマンドは、開始コマンドであり、所与のブロック に関するキー検証動作の始めにACP10によって実行される。この命令によっ て、ブロックの第1ビット(LMB0)が、アクセス制御メモリ43のアクセス 制御記憶要素に記憶される。開始命令では、エンド・カウンタ30−3も、0に リセットされ、かつ比較が失敗しなかったことを示すために累積比較フリップフ ロップ30−2を所定の状態(2進 1状態)にセットする。開始命令では、アドレス・バス105aを介して印加さ れた最上位アドレス・ビットおよび中位アドレス・ビットも、アドレス・カウン タ56にロードされ、ブロック内の第1ビット(ロック・ビット)にアドレスで きるように中位アドレス・ビットはすべて0になる。最下位アドレス・ビットは 無視される。 第2のタイプの命令は、ステップ命令であり、キー・ビット・シーケンス中の 各ビットごとに1度だけブロック・キー検証動作中に実行される。保護された各 ブロック中にn個のキー・ビットがある場合、ACP10は各キー検証動作ごと にn個の第2の命令を実行する。各ステップ命令ごとに、アドレス・カウンタ5 6の中位ビットは、ブロックのロック・ビット位置から次のロック・ビットを読 み取れるように1だけ増分される。したがって、各ステップ命令によって提供さ れるアドレスは無視される。 ステップ命令では、メモリ・ブロックから次に読み取られたロック・ビットと 、ACP10から提供されたキー・ビットを比較した結果を記憶するために、ビ ット比較論理回路30−1の出力もサンプリングされる。さらに、ステップ命令 では、メ モリ・ブロックから読み取られたロック・ビットが、1を含み、かつACP10 から提供されたキー・ビットに一致したとき、エンド・カウンタ30−3が1だ け増分される。メモリ・ブロックから読み取られたロック・ビットが0であると き、ステップ命令は、エンド・カウンタ30−3を0にリセットさせる。また、 不一致のとき、ステップ命令は、累積比較フリップフロップを0にリセットする 。 第3のタイプの命令は、終了命令であり、キー検証動作を終了するためにAC P10によって1度だけ実行される。この命令によって、累積比較フリップフロ ップ30−2およびエンド・カウンタ30−3の状態がサンプリングされる。2 つの状態が共に正しい状態であるとき、終了命令は、メモリ43の当該のブロッ クの当該のアクセス制御要素をセットする。さらに具体的には、エンド・カウン タ30−3が最大カウントに達して、そのことが、オーバフロー出力信号が生成 されることによって通知され、累積比較フリップフロップ30−2が2進1状態 のままであり、不一致でなかったことが通知されたとき、終了命令は、アドレス ・カウンタ56の最上位アドレス・ビット内容によって指定されたメモリ43の アクセス制御要素をセットさ せる。 上述の命令が、カードの最初のローディングまたは製造時、および選択された ブロックの消去時に実行されるブロック消去動作に関しても使用されることに留 意されたい。このような動作モード時に開始される動作は、第5図の処置表およ び付録IIにも記載されている。このような動作について、以下で第6a図ない し第6c図に関して論じる。 動作の説明 次に、特に第5図の処置表および第6a図ないし第6c図の流れ図を参照して 本発明の安全メモリ・カードの動作について説明する。メモリ・カードの製造ま たは最初のローディングで実行されるステップのシーケンスを第6a図に示す。 このシーケンスを使用して、所与の応用例用にカードがカスタマイズされる。こ の動作について詳しく説明する前にまず、キー値の選択とメモリ消去プロセスに ついて説明する。 ACP10は、カード製造時に、あるいは最初のローディング動作の一部とし て、メモリ・カード上の各メモリ・チップごとにロック値をセットする。ACP 10は、第4図の各メモリ54の各ブロックのロック・ビット位置にキー値をロ ードする ことによってこれを行う。この値は、ACPの保護された不揮発性メモリ10− 2に記憶される(第2図中のキー1−n)。ACP10には、メモリの構造に関 する構成情報と、各メモリ・ブロックに適用すべき保護レベルもロードされる。 前述のように、保護されたメモリ・ブロック用のキー値は、HDLCプロトコ ルの規則に類似の規則に従って選択される。各キー値は、割り振られたブロック ・ロック・メモリ領域内に記憶できる任意の長さのものでよく、2進0値で始ま り、その後に1および0の選択されたシーケンスが続き、7個の1ビットのスト リングまたはシーケンスで終わる。したがって、最後の7個の1を除くシーケン スは、6つよりも多い連続1ビットを含まないようにコード化される。 キー書込みまたはローディングを行う前にまず、フラッシュ・メモリ43を消 去しておかなければならない。これは、フラッシュ・メモリの固有の書込み特性 を使用して、フラッシュ・メモリに記憶されているデータを保護するために行わ れる。すなわち、これによって、保護すべき各ブロックの各ロック・ビット位置 群中の第1ビット(0番目)を0状態にセットすることができる。このような要 素は、0状態から1状態に変更でき ないという点で不揮発性であり、ブロックの内容を変更するにはブロック全体を 消去しなければならない。 消去プロセス 好ましい実施例では、フラッシュ・メモリ43はブロックごとに消去される。 これによって、メモリ・カードの製造またはローディング時に類似の消去プロセ スを使用し、かつカード動作時に選択的なブロック消去動作を実行することがで きる。ブロックを消去すると、ロック記憶領域に記憶されているロック・ビット を含め前記ブロックのすべてのデータが1にセットされる。このブロックを保護 したい場合、この時点で新しいロック値を書き込まなければならない。すなわち 、ロック・ビットを任意の時間に書き込めるようにすることはセキュリティ違反 である。したがって、ロック・ビットがブロック消去動作の直後にしか書き込ま れないように、ロック書込み許可フリップフロップ32が含まれている。 ブロック消去時に、アドレス・レジスタ・カウンタ56の最上位ビット位置は 、消去中のブロックのアドレスを保持する。消去動作の完了時に、フリップフロ ップ32は2進1状態にセットされる。このフリップフロップは、セットされる と、開始 命令およびステップ命令から提供されたビットを、比較するのでなくロック・ビ ット位置に書き込ませるように、そのような命令の動作を修正させる。開始命令 およびストップ命令を除くどの命令もフリップフロップ32をリセットさせるこ とになる。したがって、終了命令は、ロック書込み許可フリップフロップ32を リセットして、ロック・ビット書込み動作を終了するために使用される。この場 合、終了命令は、そのブロック用のACM記憶要素も2進1状態にセットし、し たがってそのブロックにアクセスできるようにする。 ブロックを、ACP10メモリに保持された構成情報に従って保護しない場合 、開始命令およびステップ命令を除くどの命令を実行しても、ロック書込み許可 フリップフロップ32をリセットすることによってロック・ビット書込みが禁止 される。その場合、開始命令を実行すると、1に等しい0番目のロック・ビット がACM記憶要素へ送られ、したがってアクセスがイネーブルされる。 カードの製造 第6a図は、ACP10がどのように、メモリ・カード上の各メモリ・チップ ごとにロック値をセットするかを示す。 ACPは、第4図の各メモリの各ブロックのロック・ビット位置にキー値をロー ドすることによってこれを行う。第6a図の論理ブロック600および602に 示したように、カード製造時に実行されるキー書込み/ローディング動作は、第 1のフラッシュ・メモリ・ブロックをアドレスすることによって始まり、その後 そのメモリ・ブロックが消去される。ACP10は、メモリの保護レベルを定義 する構成情報から、そのブロックを保護すべきかどうかを判定する。保護すべき でない場合、ACP10は単に、第6a図の論理ブロック614に示したように 、そのブロックの内容をロードする。 しかし、そのブロックを保護すべきである場合、ACP10は、ブロック用の キー値のビットをブロックのロック・ビット位置に書き込むために、開始命令、 ステップ命令、および終了命令のシーケンス(すなわち論理ブロック606ない し610)を実行させる。すなわち、開始命令を実行することによって、第6a 図の論理ブロック606で示したように、2進0が、第1のメモリ・ブロックの ロック・ビット位置LMB0に書き込まれる。第6a図の論理ブロック608に 示したように、各ステップ命令を実行することによって、ACP10メモリに記 憶 されているキー値の次のビットが、第1のブロックの次のロック・ビット位置( たとえばLMB1)に書き込まれる。第1のブロックのロック・ビット位置に書 き込むべきキー・ビットがまだある場合、ACP10は、別のステップ命令を実 行させる。ステップ命令は、記憶されているキー値のすべてのビットが第1のメ モリ・ブロック用のロック・メモリ領域のロック・ビット位置に書き込まれたと ACP10が判定するまで実行される。ACP10は、キー値の終りを通知する 7つの連続1が発生したことを検出することによってこの判定を下す。 第6a図の論理ブロック612に示したように、キー値の書込みの完了時に、 ACP10は、第1のブロック用の対応するACM記憶要素を2進1状態にセッ トする終了命令を実行して、そのブロックにアクセスできるようにする。次に、 特定の応用例に関する妥当なデータまたは手順情報が第1のブロックにロードさ れる。第6a図に示したように、すべてのチップのすべてのメモリ・ブロックが 処理されるまで、論理ブロック602ないし614の動作が各ブロックごとに繰 り返される。 関連特許出願の場合と同様に、ユーザ・カストマイズ時に、ユーザは確認の頻 度およびモード用のパラメータと必要な特定 のデータ(たとえば個人識別番号(PIN))を確立する。この情報は、ACP のメモリにも記憶される。この時点で、安全メモリ・カードは、電力の供給を受 けて確認手順を実行する準備ができている。 関連特許出願の場合と同様に、第1の確認対話はACP10によって開始する ことができる。すなわち、ホスト・プロセッサ5のサービスを使用するACP1 0は、ユーザに指示を出して、PINなどの識別情報またはその他の識別情報を ユーザから受け取る。確認が失敗した場合、動作は実行されない。確認が成功し た場合、保護すべき各ブロックごとにACP10によって第1のキー検証動作が 実行される。検証動作が首尾良く実行されると、ACP10は、アクセス制御メ モリ43中の対応するアクセス制御記憶要素をセットすることによってブロック へのアクセスをイネーブルする。 次のステップとして、ACP10は周期的に、ユーザの構成に応じて、追加ユ ーザ確認(再確認)を指示することができる。失敗した場合、ACP10は、す べてのメモリ・チップを強制的にその電源オン状態にして、したがってアクセス 制御メモリ43の内容をクリアすることによってメモリのデータへのアク セスを禁止する。 電源供給プロセス 次に、本発明のキー検証動作を第6b図に関して説明する。図のように、検証 プロセスは通常の電源供給動作の一部として実行される。論理ブロック620に 示したように、電源供給シーケンスでは、セキュリティ・セクション103sの 様々な要素、そのようなアクセス制御メモリ43、累積比較フリップフロップ3 0−2、およびエンド・カウンタ30−3が初期設定される。キー検証動作を実 行するには、第5図の表に示した一連の処置を実行させる第6b図に示した命令 および動作のシーケンスを実行する。 第6b図を参照すると、ACP10が初期設定の後、第1のメモリ・ブロック にアドレスして、まず開始命令を実行することによって論理ブロック624の動 作を実行することが分かる。第5図の表に示したように、これによって、開始命 令の最上位アドレス・ビットがアドレス・ラッチ・カウンタ56にロードされる 。同時に、ビットLMB0に対応する第1のビット位置の内容を読み取れるよう に中位アドレス・ビットが強制的にすべて0にされる。ビットLMB0の内容は 、第1のブロックに 関連する制御メモリ43の制御アクセス記憶要素にロードされる。第1のブロッ クを保護すべきである場合、制御アクセス記憶要素が2進0状態にセットされる 。これによって、このブロックのデータ内容はキー検証プロセス中、保護された ままになる。しかし、このブロックが保護されていない場合、制御アクセス記憶 要素は2進1状態にセットされる。エンド・カウンタ30−3も0にリセットさ れ、同時に累積比較フリップフロップ30−2が2進1状態にセットされる。 ブロックが保護されていない場合、実行する必要がある命令は開始命令だけで ある。すなわち、開始命令によって指定されたACMブロック記憶フリップフロ ップは、第1のビット位置(LMB0)の2進1状態をそのフリップフロップ自 体にストローブした結果として2進1にセットされる。第1のブロックが保護さ れていると仮定すると、ACP10は次いで、数が、キー・シーケンス中のビッ トの数に対応する、複数のステップ命令を実行する。ACP10は、上述のよう に不揮発性メモリに記憶されているこのブロック用のキー値のビットを調べるこ とによって、キー・シーケンス中のビット数を求めることができる。 第5図の表から分かるように、各ステップ命令によって、次のロック・ビット 位置LMB1を読み取るために、アドレス・ラッチ・カウンタ30−3に記憶さ れている中位アドレス・ビットが1だけ増分される。位置LBM1の内容は、A CP10から提供されたキー・ビット、すなわち比較すべきシーケンスの第1の キー・ビットと比較される。この2つが同じであることが判明した場合、累積比 較フリップフロップ30−2の状態を変更する処置は取られず、このフリップフ ロップは、セット状態のままである。しかし、不一致の場合、フリップフロップ 30−2は2進0にリセットされる。ステップ命令では、読み取られたロック・ メモリ・ビット(LMB1)が2進1であり、提供されたキー・ビットに一致す る場合、エンド・カウンタ30−3も1だけ増分される。不一致を示す比較がな い場合、エンド・カウンタ30−3は0にリセットされる。 エンド・カウンタ30−3が最大カウントを超えてオーバフローが発生した場 合、それによって、比較フリップフロップ30−2も2進0状態にリセットされ る。エンド・カウンタ30−3が増分されてその最大値を超えたとき、これは、 ACP10がロック・ビットの範囲を超えた比較を試みている ことを示す。これは通常の動作時に発生してはならないので、比較累積フリップ フロップ30−2が0にリセットされてその後の一致の発生が禁止され、より高 いセキュリティが保証される。 不一致がないと仮定すると、ACP10は、上述の一連の処置を繰り返す次の ステップ命令を実行することによって継続する。そのような実行時には、各連続 1ビットによってエンド・カウンタ30−3が1だけ増分される。したがって、 n回目のステップ命令が実行される直前に、エンド・カウンタ30−3は6つの 連続1ビットをカウントしているはずである。不一致もオーバフローもないとき にn回目のステップ命令を実行すると、エンド・カウンタがその最大カウントの 7に増分され、その結果出力が生成される。 n回目のステップ命令が実行された後、ACP10は、キー検証動作を完了す る終了命令を実行する。この命令では、結果が正しいかどうかを判定するために 、エンド・カウンタ30−3および累積比較フリップフロップ30−2の状態が サンプリングされる。これらの状態が共に2進1状態である場合、ACP10は 、当該のブロック用のアクセス制御要素を2進1 にセットさせる。結果が正しくない場合、ACP10はアクセス制御要素を2進 0状態にリセットする。第5図に示したように、終了命令では、エンド・カウン タ30−3と累積比較フリップフロップ30−2も共にリセットされる。 第6b図に示したように、上述のキー検証動作は、保護すべき残りの各ブロッ クごとに繰り返される。キー検証プロセスの終了時に、安全メモリ・カードは、 上述のようにメモリ動作を開始する準備ができている。このような動作中に、ユ ーザがメモリ・ブロック内に新しい情報を記憶したい場合、ACP10は、第6 c図に示した動作のシーケンスを実行する。図のように、選択されたブロックの アドレスが、アドレス・レジスタ・カウンタ56にロードされる。カウンタ56 に含まれる最上位アドレス・ビットによって指定されたブロックに対して、消去 が従来どおりに実行される。第3図のブロック62の回路によって通知される消 去動作の完了時に、出力信号が生成され、ロック書込み許可フリップフロップ3 2が2進1状態にセットされる。 次に、第6c図の論理ブロック644で示したように、ACP10は、消去し たブロックを保護すべきかどうかを、記 憶されている構成情報から判定する。そのブロックを保護すべきである場合、A CP10は開始命令を実行する。書込みロック許可フリップフロップ32がセッ トされているので、フリップフロップ32は、比較動作を実行せずに、開始命令 によって、選択されたブロックのロック・メモリ領域の第1のビット位置(LM B0)に2進0が書き込まれるように、開始命令の動作を修正する。次に、論理 ブロック648および650で示したように、ACP10は、いくつかのステッ プ命令を実行して、ステップ命令から提供されたキー値のビットを、選択された ブロックのロック・ビット位置に書き込み続ける。最終的に、すべてのビットが 書き込まれ、そのことが、7つの連続1ビットの検出によって通知される。書込 み動作の終了時に、ACP10が終了命令を実行し、それによって、ロック書込 み許可フリップフロップ32が2進0状態にリセットされる。終了命令では、当 該のブロックに関連するACM記憶要素が2進1状態にセットされ、アクセスが 可能になる。ブロックを構成情報に関して保護しない場合、任意の命令を実行す ると、ロック書込み許可フリップフロップ32がリセットされることによってロ ック・ビットの書込みが禁止される。次に、第6c図の論理ブ ロック654で示したように、ACP10が開始命令を実行し、前記開始命令が 、通常どおりに動作して、選択されたブロックから読み取られた0番目のロック ・ビットを送り、そのブロックに関連するACM記憶要素にストローブする。 上記は、本発明によって、どのように、生産可能性およびプログラム可能性の 高いキー検証システムを提供できるかを説明したものである。当業者には、本発 明の開示から逸脱せずに本発明の好ましい実施例に多数の変更を加えられること が理解されよう。たとえば、本発明は様々なタイプの不揮発性メモリや様々なイ ンタフェースなどと共に使用することができる。本発明は、非常に小さなブロッ ク・サイズを有するメモリと共に使用することもでき、その場合、セキュリティ ・アクセス制御装置の複雑さをそれほど増大させずに十分に大きなキーを提供す るために、メモリ当り1ビットよりも多くのロック・ビットを有することが好ま しい。付録 付録I 信号の説明 付録II 拡張された命令の表 (1)LWEとは、ロック書込みイネーブル(Lock Write Enab le)である。 (2)アドレスの最上位ビットはブロック・アドレスであり、残りのビットは無 視される。 (3)LMB0は、ロック・メモリ・アレイ中の第1ビットである。 (4)比較のために提供されるキー・データの1ビット (5)書込みのために提供されるロック・データの1ビット 開始命令(31H) このコマンドは、キー検証動作を開始するためにACP10によって1度だけ 実行される。ブロックが保護されていない(すなわち第1ロック・ビットが1で ある)場合、検証に必要なのはこの1つの命令だけである。この命令が実行され 、ロック書込みイネーブル・フリップフロップが、セット状態であるとき、この 命令から提供されたビットが、メモリ・ブロックの指定された第1ロック・ビッ ト位置(0番目)に書き込まれる。この場合、アドレスされるブロックが、前の 消去動作でアドレスされたブロックと同じなので、アドレスのMSBは、アドレ ス・レジスタにロードされない。 ステップ命令(32H) このコマンドは、キー・ビット・シーケンス中の各ビットごとに1度だけ実行 される。各コマンドは、次の順次ロック・ビットと比較される、キー・ビット・ シーケンスの1ビットを提供する。消去動作の後に、この命令が実行され、ロッ ク書込みイネーブル・フリップフロップがセット状態であるとき、この命令から 提供されたビットが、メモリ・ブロックの指定されたロック・ビット位置に書き 込まれる。 終了命令(33H) このコマンドは、キー検証動作を終了または完了するためにACP10によっ て1度だけ実行される。このコマンドは、累積比較フリップフロップの状態をサ ンプリングし、エンド・カウンタを試験し、結果が正しい場合にブロックのアク セス制御記憶要素をセットすることをイネーブルする。この命令が実行され、書 込みロック・ビット・イネーブル・フリップフロップがセット状態であるとき、 ロック書込みイネーブル・フリップフロップが2進0状態にリセットされ、ロッ ク・ビット書込み動作が終了し、かつブロックのアクセス制御記憶要素がセット されてアクセスが与えられる。 規定および規則に従って本発明の最適な形を図示し説明したが、添付の請求の 範囲に記載した本発明の趣旨から逸脱せずにある種の変更を加えることができ、 場合によっては、本発明のある態様を、他の態様を使用せずに効果的に使用する ことができる。

Claims (1)

  1. 【特許請求の範囲】 1.ホスト・ポータブル・コンピュータと共に使用される安全メモリ・カードで あって、 前記ホスト・コンピュータとの間でアドレス、データ、および制御情報を送受 信するように接続されたマイクロプロセッサを備え、前記マイクロプロセッサが 、 それぞれ、所定のビット数よりも少ない長さを有する、事前に確立されたいく つかのキー値を含む情報を記憶するアドレス可能な不揮発性メモリと、 前記カードによって実行すべきメモリ動作を定義するアドレス、データ、およ び制御情報を送信するために前記マイクロプロセッサに接続された内部バスと、 前記アドレス、データ、および制御情報を受信するために前記マイクロプロセ ッサと共通に前記内部バスに接続され、メモリ・セクションとセキュリティ・セ クションとを含む、少なくとも1つのアドレス可能な不揮発性メモリとを含み、 前記メモリ・セクションがいくつかのブロックとして構成された不揮発性メモリ ・アレイを含み、各ブロックが、複数のアドレス可能 なマルチビット位置を有し、少くとも、所定数の前記複数の前記位置の各1つの 所定のビット位置が、キー値の異なるビットを記憶するロック・ビット位置とし て指定されて、集合的に、前記所定数のビットを記憶するために使用できる順次 アドレス可能な一群のロック・ビット位置と、前記メモリ動作を実行する制御論 理手段とを提供し、前記セキュリティ・セクションが、前記制御論理手段および 前記メモリ・セクションに接続され、前記セキュリティ・セクションが、 それぞれ、前記不揮発性アレイの前記いくつかのブロックのそれぞれに割り当 てられた、複数のアドレス可能な記憶要素を有するアクセス制御メモリと、 前記アクセス制御メモリ、前記内部バス、および前記制御論理手段に結合され たセキュリティ・アクセス制御装置とを含み、前記セキュリティ・アクセス制御 装置が、前記制御論理手段から受け取った信号に応答して、1つの前記キー値の 各キー・ビットを、指定されたブロックの前記ロック・ビット位置群に記憶され ている対応する各ビットと順次比較して出力信号を生成することによってキー検 証動作を実行し、前記キー検証動作が首尾良く実行されたときに限り、対応する 前記ブロックからの 情報の読取りをイネーブルするように前記複数のアドレス可能な記憶要素のうち の1つを切り替えることを特徴とする安全メモリ・カード。 2.前記セキュリティ手段が、 前記1つのキー値のキー・ビットを、前記ロック・ビット位置群に記憶されて いる対応する各ビットと順次比較するために前記不揮発性メモリ・アレイ、前記 制御論理手段、および前記内部バスに結合され、各比較の結果を通知する第1の 出力信号を生成する、ビット比較論理手段と、 前記出力信号を受信するために前記ビット比較論理手段に結合され、かつ前記 制御論理手段および前記アクセス制御メモリに結合され、前記ビット比較論理手 段によって首尾良く行われたビット比較に比較ミスがないことを示す第2の出力 信号を生成する、累積比較記憶要素と、 前記不揮発性メモリ・アレイ、前記制御論理手段、および前記アクセス制御メ モリに結合され、前記ロック・ビット位置群に記憶されているすべての前記ビッ トが前記メモリから読み取られたことを示す第3の出力信号を生成する、エンド ・カウンタとを備え、前記第2および第3の出力信号が共同で、前記複 数の記憶要素のうちの1つの前記切替えを実行させることを特徴とする請求項1 に記載のメモリ・カード。 3.前記制御論理手段が、前記内部バスから受け取ったアドレスおよびコマンド を記憶するためにそれぞれ、前記メモリ・アレイおよび前記内部バスに結合され たアドレス・ラッチ・カウンタおよびコマンド・レジスタを含み、前記レジスタ が、第1のタイプのコマンドに応答して、前記累積比較記憶要素を所定の状態に セットし、前記エンド・カウンタを0にリセットし、前記コマンドに関連するア ドレスの最上位ビットを前記アドレス・ラッチ・カウンタにロードし、前記アド レスの中位ビットを0にする信号を生成することを特徴とする請求項2に記載の メモリ・カード。 4.前記第1のコマンドが開始命令であり、前記所定の状態が2進1状態であり 、前記アドレス・ラッチ・カウンタが、前記開始命令から得られた前記アドレス の前記最上位ビット、中位ビット、および最下位ビットを記憶する複数の記憶セ クションを有することを特徴とする請求項3に記載のメモリ・カード。 5.前記コマンド・レジスタが、各第2のタイプのコマンドに応答して、前記ビ ット比較論理手段によって前記第1の出力信 号が生成されたときに限り前記エンド・カウンタを1だけ増分し、前記第1の出 力信号がないときに前記累積比較記憶要素を前記所定の状態から他の状態に切り 替え、前記エンド・カウンタが所定の最大カウントを超えてオーバフロー状態を 発生させたときに前記エンド・カウンタをリセットすることを特徴とする請求項 3に記載のメモリ・カード。 6.前記第2のタイプのコマンドが、ステップ命令に対応し、前記最大カウント が、キー値で発生する所定数の1ビットに対応し、前記キー値の終りを通知する ものであることを特徴とする請求項5に記載のメモリ・カード。 7.前記コマンド・レジスタが、第3のタイプのコマンドに応答して、前記エン ド・カウンタが最大カウントに達し、前記累積比較記憶要素が前記所定の状態で あるとき、前記最上位アドレス・ビットによって指定された1つの前記アクセス 制御記憶要素を所定の状態にセットすることを特徴とする請求項3に記載のメモ リ・カード。 8.前記第3のタイプのコマンドが、終了命令に対応し、前記信号が、前記エン ド・カウンタが前記最大カウントに達しておらず、あるいは前記アキュムレータ 比較記憶要素が前記所定の 状態でないとき、前記エンド・カウンタおよび累積比較記憶要素を0にリセット することを特徴とする請求項7に記載のメモリ・カード。 9.前記メモリ・セクションがさらに、前記不揮発性メモリ・アレイの前記いく つかのブロックのうちの1つに対して選択的なブロック消去動作を実行するため に前記メモリに結合された消去制御手段を含み、前記セキュリティ・セクション がさらに、前記消去制御手段および前記制御論理手段に結合されたロック書込み 許可記憶要素を含み、前記ロック書込み許可記憶要素が、各選択的ブロック消去 動作の完了時に所定の状態に切り替えられ、所定の状態のときに、前記ロック書 込み許可記憶要素自体が前記所定の状態である期間中、前記制御論理手段が前記 不揮発性メモリ・アレイに対して書込み動作を実行することを禁止することを特 徴とする請求項1に記載のメモリ・カード。 10.前記ロック書込み許可記憶要素が、前記マイクロプロセッサが所定のタイ プのコマンドを前記内部バスに印加したことに応答して前記所定の状態から他の 状態に切り替えられることを特徴とする請求項9に記載の安全メモリ・カード。 11.前記所定のタイプのコマンドが、前記選択的消去動作の 完了を示すために使用される終了命令に対応することを特徴とする請求項10に 記載の安全メモリ・カード。 12.前記マイクロプロセッサの前記アドレス可能な不揮発性メモリに記憶され ている前記情報がさらに、前記不揮発性メモリの前記いくつかのブロックのうち のどれを保護すべきかを指定するようにコード化された構成情報を含み、前記マ イクロプロセッサが、前記構成情報によって保護すべきブロックとして指定され た消去済みブロックの前記順次アドレス可能なロック・ビット位置群に、1つの 前記事前に確立されたキー値のビットを書き込むコマンド・シーケンスを実行す ることを特徴とする請求項9に記載の安全メモリ・カード。 13.前記所定のコマンド・シーケンスが、前記消去済みブロックの前記ロック ・ビット位置群の第1のロック・ビット位置を所定の状態にセットして、前記消 去済みブロックの前記アドレス可能なマルチビット位置に順次ロードされる情報 を保護する第1のタイプのコマンドを含むことを特徴とする請求項12に記載の 安全メモリ・カード。 14.前記所定の状態が、前記消去済みブロックに順次ロードされる情報を消去 し、前記第1のロック・ビット位置をリセッ トして前記情報へのアクセスをイネーブルすることを必要とする2進0状態であ り、前記第1のタイプのコマンドが開始コマンドであることを特徴とする請求項 13に記載の安全メモリ・カード。 15.前記所定のコマンド・シーケンスが、いくつかの第2のタイプのコマンド を含み、各第2のタイプのコマンドが、1つの前記キー値のすべての前記ビット が記憶されるまで、1つの前記キー値の異なる1つの前記ビットを前記群の他の ロック・ビット位置に書き込ませることを特徴とする請求項13に記載の安全メ モリ・カード。 16.各前記キー値が、所定のプロトコル・パターンに従ってコード化されるこ とを特徴とする請求項15に記載の安全メモリ・カード。 17.前記第2のタイプのコマンドがステップ命令であり、前記いくつかの前記 第2のタイプのコマンドが、前記キー値に含まれるいくつかのビットに対応する ことを特徴とする請求項15に記載の安全メモリ・カード。 18.前記所定のコマンド・シーケンスが、前記シーケンス中の最後のコマンド として前記所定のコマンドを含み、前記所定 のコマンドが、前記アクセス制御メモリの前記複数のアドレス可能な記憶要素の うちの1つを、前記消去済みブロックへのアクセスをイネーブルして前記記憶位 置に情報をロードし、それによって前記選択的ブロック消去動作を完了する所定 の状態にセットすることを特徴とする請求項15に記載の安全メモリ・カード。 19.前記所定のプロトコル・パターンが、前記キー値の終りを通知する所定数 の連続2進1ビットを含むことを特徴とする請求項16に記載の安全メモリ・カ ード。 20.前記マイクロプロセッサの前記アドレス可能な不揮発性メモリに記憶され ている前記情報がさらに、前記不揮発性メモリの前記いくつかのブロックのうち のどれを保護すべきかを指定するようにコード化された構成情報を含み、前記マ イクロプロセッサがさらに、前記構成情報に従って前記不揮発性メモリ・アレイ を構成するコマンドを含み、前記コマンドによって、前記制御論理手段が、前記 構成情報によって保護すべきブロックとして指定されたすべての前記ブロックの 第1のロック・ビット位置をセットし、保護すべきブロックとして指定されたす べての前記ブロックの前記ロック・ビット位置群に、対応する 前記キー値のビットを書き込み、保護されるブロックに割り当てられた前記アク セス制御メモリのすべての前記記憶要素を所定の状態にセットし、それによって 前記記憶要素に情報をロードできるようにして前記不揮発性メモリ・アレイの最 初の構成を完了することを特徴とする請求項1に記載の安全メモリ・カード。
JP51893595A 1994-01-14 1995-01-12 プログラム制御方式セキュリティ・アクセス制御を有する安全メモリ・カード Expired - Fee Related JP3517680B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/181,691 US5442704A (en) 1994-01-14 1994-01-14 Secure memory card with programmed controlled security access control
US08/181,691 1994-01-14
PCT/IB1995/000027 WO1995019607A1 (en) 1994-01-14 1995-01-12 A secure memory card with programmed controlled security access control

Publications (2)

Publication Number Publication Date
JP2002509624A true JP2002509624A (ja) 2002-03-26
JP3517680B2 JP3517680B2 (ja) 2004-04-12

Family

ID=22665370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51893595A Expired - Fee Related JP3517680B2 (ja) 1994-01-14 1995-01-12 プログラム制御方式セキュリティ・アクセス制御を有する安全メモリ・カード

Country Status (16)

Country Link
US (1) US5442704A (ja)
EP (1) EP0689701B1 (ja)
JP (1) JP3517680B2 (ja)
KR (1) KR100232087B1 (ja)
CN (1) CN1082215C (ja)
AT (1) ATE210863T1 (ja)
CA (1) CA2158264C (ja)
DE (1) DE69524482T2 (ja)
DK (1) DK0689701T3 (ja)
ES (1) ES2169120T3 (ja)
FI (1) FI112713B (ja)
NO (1) NO953615L (ja)
PT (1) PT689701E (ja)
SG (1) SG50590A1 (ja)
TW (1) TW323359B (ja)
WO (1) WO1995019607A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003501758A (ja) * 1999-06-04 2003-01-14 ドゥデケム・ダコズ,ザビエール・ギィ・ベルナール カードメモリ装置

Families Citing this family (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2693575B1 (fr) * 1992-07-09 1994-08-19 Gemplus Card Int Carte à mémoire de masse avec fonction entrée/sortie.
US5490077A (en) * 1993-01-20 1996-02-06 Francotyp-Postalia Gmbh Method for data input into a postage meter machine, arrangement for franking postal matter and for producing an advert mark respectively allocated to a cost allocation account
FR2716280B1 (fr) * 1994-02-11 1996-04-12 Solaic Sa Procédé de protection des composants de cartes à mémoire contre des utilisations frauduleuses.
CN1080905C (zh) * 1994-06-15 2002-03-13 汤姆森消费电子有限公司 不需微处理器介入的智能卡消息传送
US6058478A (en) * 1994-09-30 2000-05-02 Intel Corporation Apparatus and method for a vetted field upgrade
US5761609A (en) * 1995-03-09 1998-06-02 United Microelectronics Corporation Limited use circuit
JP2986375B2 (ja) * 1995-06-22 1999-12-06 インターナショナル・ビジネス・マシーンズ・コーポレイション 情報処理装置及びその制御方法
US5640002A (en) * 1995-08-15 1997-06-17 Ruppert; Jonathan Paul Portable RF ID tag and barcode reader
JPH0962583A (ja) * 1995-08-24 1997-03-07 Mitsubishi Electric Corp データ処理装置
US5835594A (en) * 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US6587949B1 (en) 1998-06-26 2003-07-01 Fotonation Holdings, Llc Secure storage device for transfer of data via removable storage
US6510520B1 (en) * 1998-06-26 2003-01-21 Fotonation, Inc. Secure storage device for transfer of digital camera data
US6750902B1 (en) 1996-02-13 2004-06-15 Fotonation Holdings Llc Camera network communication device
US5778070A (en) * 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory
US6073243A (en) * 1997-02-03 2000-06-06 Intel Corporation Block locking and passcode scheme for flash memory
US5954818A (en) * 1997-02-03 1999-09-21 Intel Corporation Method of programming, erasing, and reading block lock-bits and a master lock-bit in a flash memory device
US6035401A (en) * 1997-02-03 2000-03-07 Intel Corporation Block locking apparatus for flash memory
EP0874334A1 (en) * 1997-04-21 1998-10-28 Koninklijke KPN N.V. Secure application module for multiservice applications and a terminal provided with such a secure application module
US6078985A (en) * 1997-04-23 2000-06-20 Micron Technology, Inc. Memory system having flexible addressing and method using tag and data bus communication
US6003135A (en) * 1997-06-04 1999-12-14 Spyrus, Inc. Modular security device
US6088802A (en) * 1997-06-04 2000-07-11 Spyrus, Inc. Peripheral device with integrated security functionality
JPH1165936A (ja) * 1997-06-12 1999-03-09 Oki Micro Design Miyazaki:Kk メモリ装置
FR2771875B1 (fr) 1997-11-04 2000-04-14 Gilles Jean Antoine Kremer Procede de transmission d'information et serveur informatique le mettant en oeuvre
FR2774196B1 (fr) * 1998-01-27 2000-03-17 Gemplus Card Int Carte a memoire asynchrone
US6209069B1 (en) 1998-05-11 2001-03-27 Intel Corporation Method and apparatus using volatile lock architecture for individual block locking on flash memory
US6026016A (en) * 1998-05-11 2000-02-15 Intel Corporation Methods and apparatus for hardware block locking in a nonvolatile memory
US6173405B1 (en) 1998-05-29 2001-01-09 3Com Corporation Secure communications card modem and method of using same
US6393565B1 (en) * 1998-08-03 2002-05-21 Entrust Technologies Limited Data management system and method for a limited capacity cryptographic storage unit
JP3743173B2 (ja) * 1998-09-08 2006-02-08 富士通株式会社 半導体集積回路
JP3553387B2 (ja) * 1998-09-11 2004-08-11 オムロン株式会社 相互認証システム
US6279114B1 (en) * 1998-11-04 2001-08-21 Sandisk Corporation Voltage negotiation in a single host multiple cards system
US7324133B2 (en) * 1998-11-06 2008-01-29 Fotomedia Technologies, Llc Method and apparatus for controlled camera useability
JP2000181898A (ja) * 1998-12-14 2000-06-30 Nec Corp フラッシュメモリ搭載型シングルチップマイクロコンピュータ
GB9905056D0 (en) * 1999-03-05 1999-04-28 Hewlett Packard Co Computing apparatus & methods of operating computer apparatus
US7810152B2 (en) * 2002-05-08 2010-10-05 Broadcom Corporation System and method for securely controlling access to device functions
US7681043B1 (en) * 2002-05-08 2010-03-16 Broadcom Corporation System and method for configuring device features via programmable memory
US7549056B2 (en) 1999-03-19 2009-06-16 Broadcom Corporation System and method for processing and protecting content
US6618789B1 (en) * 1999-04-07 2003-09-09 Sony Corporation Security memory card compatible with secure and non-secure data processing systems
US6820203B1 (en) 1999-04-07 2004-11-16 Sony Corporation Security unit for use in memory card
US6510501B1 (en) 1999-05-11 2003-01-21 National Semiconductor Corporation Non-volatile memory read/write security protection feature selection through non-volatile memory bits
FR2795838B1 (fr) * 1999-06-30 2001-08-31 Bull Cp8 Procede de securisation du traitement d'une information sensible dans un module de securite monolithique, et module de securite associe
US6289455B1 (en) 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
GB9925227D0 (en) 1999-10-25 1999-12-22 Internet Limited Data storage retrieval and access system
US6615324B1 (en) * 2000-01-07 2003-09-02 Cygnal Integrated Products, Inc. Embedded microprocessor multi-level security system in flash memory
PL355475A1 (en) * 2000-02-21 2004-05-04 Trek 2000 International Ltd. A portable data storage device
JP2001283594A (ja) * 2000-03-29 2001-10-12 Sharp Corp 不揮発性半導体記憶装置
US6795905B1 (en) * 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
AU2001247941B2 (en) * 2000-04-11 2007-09-06 Mathis, Richard M. Method and apparatus for computer memory protection and verification
US7103782B1 (en) * 2000-09-27 2006-09-05 Motorola, Inc. Secure memory and processing system having laser-scribed encryption key
US7089427B1 (en) * 2000-11-28 2006-08-08 Nintendo Co., Ltd. Security system method and apparatus for preventing application program unauthorized use
US6996721B2 (en) * 2001-03-27 2006-02-07 Micron Technology, Inc. Flash device security method utilizing a check register
US7149854B2 (en) * 2001-05-10 2006-12-12 Advanced Micro Devices, Inc. External locking mechanism for personal computer memory locations
US20030056116A1 (en) * 2001-05-18 2003-03-20 Bunker Nelson Waldo Reporter
US6772307B1 (en) 2001-06-11 2004-08-03 Intel Corporation Firmware memory having multiple protected blocks
CN100432962C (zh) * 2001-06-28 2008-11-12 特科2000国际有限公司 数据传送的方法与装置
WO2003003295A1 (en) * 2001-06-28 2003-01-09 Trek 2000 International Ltd. A portable device having biometrics-based authentication capabilities
TWI246028B (en) * 2001-06-28 2005-12-21 Trek 2000 Int Ltd A portable device having biometrics-based authentication capabilities
EP1276033B1 (de) 2001-07-10 2012-03-14 Trident Microsystems (Far East) Ltd. Speichereinrichtung mit Datenschutz in einem Prozessor
US7024532B2 (en) * 2001-08-09 2006-04-04 Matsushita Electric Industrial Co., Ltd. File management method, and memory card and terminal apparatus that make use of the method
KR100428786B1 (ko) * 2001-08-30 2004-04-30 삼성전자주식회사 내부 버스 입출력 데이터를 보호할 수 있는 집적 회로
US7779267B2 (en) * 2001-09-04 2010-08-17 Hewlett-Packard Development Company, L.P. Method and apparatus for using a secret in a distributed computing system
US7426644B1 (en) * 2001-12-05 2008-09-16 Advanced Micro Devices, Inc. System and method for handling device accesses to a memory providing increased memory access security
AU2002233912B2 (en) * 2002-02-07 2006-01-05 Trek 2000 International Ltd A portable data storage and image recording device capable of direct connection to a computer USB port
US7162644B1 (en) 2002-03-29 2007-01-09 Xilinx, Inc. Methods and circuits for protecting proprietary configuration data for programmable logic devices
US7398554B1 (en) * 2002-04-02 2008-07-08 Winbond Electronics Corporation Secure lock mechanism based on a lock word
JP3673274B1 (ja) 2002-05-13 2005-07-20 トレック・2000・インターナショナル・リミテッド ポータブルデータ記憶デバイスに記憶されたデータを圧縮および解凍するためのシステムおよび装置
KR100505106B1 (ko) * 2002-05-29 2005-07-29 삼성전자주식회사 강화된 보안 기능을 갖춘 스마트 카드
JP2004072718A (ja) * 2002-06-12 2004-03-04 Fuji Photo Film Co Ltd デジタルカメラ用メモリーカード
US7444682B2 (en) * 2002-07-03 2008-10-28 Macronix International Co., Ltd. Security memory device and method for making same
JP2004038569A (ja) * 2002-07-03 2004-02-05 Toshiba Lsi System Support Kk 不揮発性メモリのデータ保護システム
TW588243B (en) * 2002-07-31 2004-05-21 Trek 2000 Int Ltd System and method for authentication
GB0301726D0 (en) * 2003-01-24 2003-02-26 Ecebs Ltd Improved smartcard
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US7146477B1 (en) * 2003-04-18 2006-12-05 Advanced Micro Devices, Inc. Mechanism for selectively blocking peripheral device accesses to system memory
JP2004348801A (ja) * 2003-05-20 2004-12-09 Sharp Corp 半導体記憶装置、予め定められたメモリ素子を保護するための方法及び携帯電子機器
US8122215B1 (en) 2003-09-15 2012-02-21 The Directv Group, Inc. Method and apparatus for verifying memory contents
US7496958B2 (en) * 2003-10-29 2009-02-24 Qualcomm Incorporated System for selectively enabling operating modes of a device
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US7493487B2 (en) * 2004-10-15 2009-02-17 Microsoft Corporation Portable computing environment
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8464348B2 (en) 2004-11-15 2013-06-11 Microsoft Corporation Isolated computing environment anchored into CPU and motherboard
US8176564B2 (en) 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US8321686B2 (en) 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8108691B2 (en) 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
US8423788B2 (en) 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
US20060194603A1 (en) * 2005-02-28 2006-08-31 Rudelic John C Architecture partitioning of a nonvolatile memory
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US9436804B2 (en) * 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
FR2886027A1 (fr) * 2005-05-20 2006-11-24 Proton World Internatinal Nv Detection d'erreur de sequencement dans l'execution d'un programme
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US8353046B2 (en) 2005-06-08 2013-01-08 Microsoft Corporation System and method for delivery of a modular operating system
JP4584044B2 (ja) * 2005-06-20 2010-11-17 ルネサスエレクトロニクス株式会社 半導体装置
US7743409B2 (en) 2005-07-08 2010-06-22 Sandisk Corporation Methods used in a mass storage device with automated credentials loading
US7934049B2 (en) 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
US7536540B2 (en) 2005-09-14 2009-05-19 Sandisk Corporation Method of hardware driver integrity check of memory card controller firmware
US7865740B2 (en) * 2005-09-27 2011-01-04 Intel Corporation Logging changes to blocks in a non-volatile memory
US7788499B2 (en) * 2005-12-19 2010-08-31 Microsoft Corporation Security tokens including displayable claims
US20070203852A1 (en) * 2006-02-24 2007-08-30 Microsoft Corporation Identity information including reputation information
US8104074B2 (en) * 2006-02-24 2012-01-24 Microsoft Corporation Identity providers in digital identity system
US8117459B2 (en) * 2006-02-24 2012-02-14 Microsoft Corporation Personal identification information schemas
US7500095B2 (en) * 2006-03-15 2009-03-03 Dell Products L.P. Chipset-independent method for locally and remotely updating and configuring system BIOS
US8108692B1 (en) 2006-06-27 2012-01-31 Siliconsystems, Inc. Solid-state storage subsystem security solution
US8078880B2 (en) * 2006-07-28 2011-12-13 Microsoft Corporation Portable personal identity information
KR100816750B1 (ko) * 2006-08-11 2008-03-27 삼성전자주식회사 공유 블록 및 고유 블록을 갖는 스마트 카드, 검출기 및반도체 집적 회로
US20080052524A1 (en) * 2006-08-24 2008-02-28 Yoram Cedar Reader for one time password generating device
US20080072058A1 (en) * 2006-08-24 2008-03-20 Yoram Cedar Methods in a reader for one time password generating device
US8607070B2 (en) * 2006-12-20 2013-12-10 Kingston Technology Corporation Secure storage system and method of use
US8423794B2 (en) 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
US8087072B2 (en) * 2007-01-18 2011-12-27 Microsoft Corporation Provisioning of digital identity representations
US8407767B2 (en) * 2007-01-18 2013-03-26 Microsoft Corporation Provisioning of digital identity representations
US8689296B2 (en) * 2007-01-26 2014-04-01 Microsoft Corporation Remote access of digital identities
US8010768B2 (en) * 2007-05-09 2011-08-30 Kingston Technology Corporation Secure and scalable solid state disk system
US8527781B2 (en) * 2007-05-09 2013-09-03 Kingston Technology Corporation Secure and scalable solid state disk system
US8499168B2 (en) * 2007-05-09 2013-07-30 Kingston Technology Corporation Secure and scalable solid state disk system
US8006095B2 (en) * 2007-08-31 2011-08-23 Standard Microsystems Corporation Configurable signature for authenticating data or program code
US20090094678A1 (en) * 2007-10-05 2009-04-09 Nokia Corporation Mulimode device
KR101239767B1 (ko) * 2007-11-12 2013-03-06 삼성전자주식회사 화상형성장치 및 그 제어방법
CN101196877B (zh) * 2007-12-29 2012-01-04 大唐微电子技术有限公司 一种多存储单元操作隔离的智能卡及其实现方法
US8694737B2 (en) 2010-06-09 2014-04-08 Micron Technology, Inc. Persistent memory for processor main memory
US9448938B2 (en) 2010-06-09 2016-09-20 Micron Technology, Inc. Cache coherence protocol for persistent memories
US8613074B2 (en) * 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
CN102164304B (zh) * 2011-02-23 2013-08-14 中国电子科技集团公司第三十六研究所 基于卫星传输的广播节目加密识别防插播方法
CN102123001B (zh) * 2011-02-23 2012-11-21 浙江广播电视集团 数字卫星广播传输防插播系统
JP2012252416A (ja) * 2011-05-31 2012-12-20 Toshiba Corp 記憶装置、データ制御方法、及びデータコントローラ
US9305142B1 (en) * 2011-12-19 2016-04-05 Western Digital Technologies, Inc. Buffer memory protection unit
CN104520801B (zh) * 2012-08-07 2019-10-18 诺基亚技术有限公司 对于无线存储器的访问控制
US9647838B2 (en) * 2013-01-25 2017-05-09 Ralph John Hilla Restructuring the computer and its association with the internet
CN103150524B (zh) * 2013-01-30 2016-01-13 华中科技大学 一种安全存储器芯片、系统及其认证方法
US10079676B2 (en) 2013-07-12 2018-09-18 The Board Of Regents Of The University Of Oklahoma Optical cryptography systems and methods
US9940048B2 (en) 2014-02-26 2018-04-10 Macronix International Co., Ltd. Nonvolatile memory data protection using nonvolatile protection codes and volatile protection codes
US9606939B2 (en) * 2015-02-26 2017-03-28 International Business Machines Corporation Memory data security
US10127485B2 (en) 2015-07-01 2018-11-13 Carrier Corporation Onion layer encryption scheme for secure multi-access with single card
US10162694B2 (en) * 2015-12-21 2018-12-25 Intel Corporation Hardware apparatuses and methods for memory corruption detection
US10715340B2 (en) * 2016-08-04 2020-07-14 Macronix International Co., Ltd. Non-volatile memory with security key storage
US10911229B2 (en) 2016-08-04 2021-02-02 Macronix International Co., Ltd. Unchangeable physical unclonable function in non-volatile memory
US10855477B2 (en) 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US10680809B2 (en) 2016-08-04 2020-06-09 Macronix International Co., Ltd. Physical unclonable function for security key
US11258599B2 (en) * 2016-08-04 2022-02-22 Macronix International Co., Ltd. Stable physically unclonable function
US10296738B2 (en) * 2017-05-03 2019-05-21 Nuvoton Technology Corporation Secure integrated-circuit state management
TWI758697B (zh) * 2019-03-22 2022-03-21 旺宏電子股份有限公司 積體電路、記憶體電路以及用於操作積體電路的方法
EP3966989A1 (en) 2019-05-10 2022-03-16 QRC AAA Sàrl Quantum-resistant sim card
US11380379B2 (en) 2020-11-02 2022-07-05 Macronix International Co., Ltd. PUF applications in memories
US11593275B2 (en) 2021-06-01 2023-02-28 International Business Machines Corporation Operating system deactivation of storage block write protection absent quiescing of processors
CN115794686B (zh) * 2023-02-08 2023-04-11 量子芯云(北京)微电子科技有限公司 一种安全存储芯片控制系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59138151A (ja) * 1983-01-28 1984-08-08 Nec Corp ロ−カルエリアネツトワ−クにおける初期化方式
ATE65632T1 (de) * 1985-07-08 1991-08-15 Siemens Ag Verfahren zum kontrollieren eines speicherzugriffs auf einer chipkarte und anordnung zur durchfuehrung des verfahrens.
JPH0632102B2 (ja) * 1985-08-22 1994-04-27 カシオ計算機株式会社 Icカ−ドの照合方式
US4800520A (en) * 1985-10-29 1989-01-24 Kabushiki Kaisha Toshiba Portable electronic device with garbage collection function
JPH0754536B2 (ja) * 1986-02-17 1995-06-07 株式会社日立製作所 Icカ−ド利用システム
US4816653A (en) * 1986-05-16 1989-03-28 American Telephone And Telegraph Company Security file system for a portable data carrier
JPH087720B2 (ja) * 1986-09-16 1996-01-29 富士通株式会社 複数サービス用icカードの領域アクセス方法
JPH0758500B2 (ja) * 1987-02-20 1995-06-21 株式会社東芝 携帯可能電子装置
KR0146067B1 (ko) * 1990-03-09 1998-09-15 문정환 롬 데이타 보호방법 및 장치
US5285200A (en) * 1990-11-29 1994-02-08 Kabushiki Kaisha Toshiba Portable electronic device and a method for processing data therefore
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003501758A (ja) * 1999-06-04 2003-01-14 ドゥデケム・ダコズ,ザビエール・ギィ・ベルナール カードメモリ装置

Also Published As

Publication number Publication date
CA2158264A1 (en) 1995-07-20
KR100232087B1 (ko) 1999-12-01
ES2169120T3 (es) 2002-07-01
FI954298A0 (fi) 1995-09-13
SG50590A1 (en) 1998-07-20
US5442704A (en) 1995-08-15
CA2158264C (en) 1997-01-14
TW323359B (ja) 1997-12-21
DE69524482T2 (de) 2002-08-01
JP3517680B2 (ja) 2004-04-12
ATE210863T1 (de) 2001-12-15
PT689701E (pt) 2002-06-28
FI954298A (fi) 1995-09-13
NO953615D0 (no) 1995-09-13
EP0689701A1 (en) 1996-01-03
DE69524482D1 (de) 2002-01-24
DK0689701T3 (da) 2002-03-11
KR960701415A (ko) 1996-02-24
FI112713B (fi) 2003-12-31
WO1995019607A1 (en) 1995-07-20
CN1082215C (zh) 2002-04-03
NO953615L (no) 1995-11-14
EP0689701B1 (en) 2001-12-12
CN1122163A (zh) 1996-05-08

Similar Documents

Publication Publication Date Title
JP2002509624A (ja) プログラム制御方式セキュリティ・アクセス制御を有する安全メモリ・カード
CN100565454C (zh) 用于从非易失性应用程序和文件存储设备启动的系统和方法
JP3493047B2 (ja) メモリー・カード
US7275128B2 (en) Selectable block protection for non-volatile memory
US6209069B1 (en) Method and apparatus using volatile lock architecture for individual block locking on flash memory
KR100375217B1 (ko) 전기적으로 재기입 가능한 불휘발성 메모리를 구비하는마이크로컨트롤러
US6154819A (en) Apparatus and method using volatile lock and lock-down registers and for protecting memory blocks
US6587916B2 (en) Microcomputer with built-in programmable nonvolatile memory
US20060184799A1 (en) Security circuit and method to secure information in a device
JPH05143319A (ja) コンピユータ
JPS6138519B2 (ja)
JPH08115266A (ja) スマートカード
JP4489915B2 (ja) 暗証コード照合機能をもった携帯型情報処理装置
US20030225962A1 (en) Memory card and memory card system
TW577084B (en) Method and apparatus for testing a semiconductor memory
JPS63106996A (ja) 半導体集積回路装置
WO1995024698A1 (en) A secure memory card
CN1129098C (zh) 一种安全存储卡
US20060282683A1 (en) Flash array read, erase, and program security
JP2002278934A (ja) セキュリティ管理装置およびセキュリティ管理方法
JP2003141481A (ja) セキュリティー機能を備えたリムーバブルストレージカードおよびその認証方法
JPH10207780A (ja) 度数計数装置

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031226

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20031225

A72 Notification of change in name of applicant

Free format text: JAPANESE INTERMEDIATE CODE: A721

Effective date: 20031225

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090206

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100206

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110206

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120206

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120206

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees