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

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

Info

Publication number
JP3517680B2
JP3517680B2 JP51893595A JP51893595A JP3517680B2 JP 3517680 B2 JP3517680 B2 JP 3517680B2 JP 51893595 A JP51893595 A JP 51893595A JP 51893595 A JP51893595 A JP 51893595A JP 3517680 B2 JP3517680 B2 JP 3517680B2
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.)
Expired - Fee Related
Application number
JP51893595A
Other languages
English (en)
Other versions
JP2002509624A (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)

Description

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

Claims (20)

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

Families Citing this family (148)

* 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
EP1058216B1 (en) 1999-06-04 2002-12-11 D'Udekem D'Acoz, Xavier Guy Bernard Memory card
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

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
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
JP2002509624A (ja) 2002-03-26
EP0689701B1 (en) 2001-12-12
CN1122163A (zh) 1996-05-08

Similar Documents

Publication Publication Date Title
JP3517680B2 (ja) プログラム制御方式セキュリティ・アクセス制御を有する安全メモリ・カード
KR100205740B1 (ko) 복수의 마이크로 프로세서들간에 애플리케이션 데이터 및 절차들을 공유하기 위한 보안성 애플리케이션 카드
JP3493047B2 (ja) メモリー・カード
CN100565454C (zh) 用于从非易失性应用程序和文件存储设备启动的系统和方法
US5912453A (en) Multiple application chip card with decoupled programs
US7281101B2 (en) Memory device storing data relating to specific application programs
US7318129B1 (en) Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
US6243809B1 (en) Method of flash programming or reading a ROM of a computer system independently of its operating system
US4959860A (en) Power-on password functions for computer system
US20060184799A1 (en) Security circuit and method to secure information in a device
US20020129195A1 (en) Microcomputer with built-in programmable nonvolatile memory
US5553144A (en) Method and system for selectively altering data processing system functional characteristics without mechanical manipulation
JPH0440587A (ja) 携帯可能電子装置
US20030225962A1 (en) Memory card and memory card system
JP4489915B2 (ja) 暗証コード照合機能をもった携帯型情報処理装置
EP1295200A2 (en) Data processing method and device for protected execution of instructions
WO1995024698A1 (en) A secure memory card
KR100232086B1 (ko) 보안성 메모리 카드
JP2003141481A (ja) セキュリティー機能を備えたリムーバブルストレージカードおよびその認証方法
JP2002278934A (ja) セキュリティ管理装置およびセキュリティ管理方法
JP2004054904A (ja) メモリカード、システム、半導体処理装置および不揮発性メモリ装置
CA2010069A1 (en) Lock for register data in computer systems

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