JP2009032282A - データ・アクセス制御機能を使用した、統合システム内でのセキュア動作の初期化、維持、更新および回復 - Google Patents

データ・アクセス制御機能を使用した、統合システム内でのセキュア動作の初期化、維持、更新および回復 Download PDF

Info

Publication number
JP2009032282A
JP2009032282A JP2008258322A JP2008258322A JP2009032282A JP 2009032282 A JP2009032282 A JP 2009032282A JP 2008258322 A JP2008258322 A JP 2008258322A JP 2008258322 A JP2008258322 A JP 2008258322A JP 2009032282 A JP2009032282 A JP 2009032282A
Authority
JP
Japan
Prior art keywords
integrated system
control function
access control
data
software
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
JP2008258322A
Other languages
English (en)
Other versions
JP4473330B2 (ja
Inventor
Eric M Foster
フォスター、エリック、エム
William E Hall
ホール、ウイリアムズ、イー
Marcel-Catalin Rosu
ロス、マーセルカタリン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2009032282A publication Critical patent/JP2009032282A/ja
Application granted granted Critical
Publication of JP4473330B2 publication Critical patent/JP4473330B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】複数のソフトウェア・レベルを持つ統合システムのセキュア動作を容易にすること。
【解決手段】(1)暗号化して保存された初期化コードを復号化することによってシステム初期化を開始するステップであって、前記復号化は前記統合システムのデータ・アクセス制御機能にて発生する、ステップと、(2)前記複数のソフトウェア・レベルのうちの次のソフトウェア・レベルを、前記統合システムの制御を前記次のソフトウェア・レベルに渡す前に認証するステップと、(3)前記次ソフトウェア・レベルが前記統合システムの動作特性を修正する能力を制限するステップであって、前記制限は前記統合システムの前記データ・アクセス制御機能にあるハードウェア・コンポーネント内で実施される、ステップと、を備える方法を提供する。
【選択図】図2

Description

本発明は、一般に統合システム内でのデータ要求処理およびデータ転送に関し、より詳細には、少なくとも部分的には統合システムのデータ・アクセス制御機能によって実施される、統合システムのセキュア(安全確実)な動作を初期化し、維持し、更新し、および回復するための技術に関する。
本出願は、それぞれが本出願と同一の譲受人に譲渡され、本出願と同日に出願された以下の出願の主要部分と関連する主要部分を含む。下記の各出願を、この参照により本明細書全体に組み込む。
−米国特許出願第10/125803号、「要求元マスタIDおよびデータ・アドレスを用いて、統合システム内のデータ・アクセスを制限する制御機能(Control Function Employing a Requesting Master ID and a DataAddressto Qualify Data Access Within anIntegrated System)」、エバンズ(Evans)他、2002年4月18日出願−米国特許出願第10/125115号、「複数のセキュリティ状態を有し、統合システムのセキュアな動作を容易にするための制御機能(ControlFunction with Multiple Security States for FacilitatingSecure Operation of anIntegrated System)」、フォスター(Foster)他、2002年4月18日出願−米国特許出願第10/125708号、「統合システム内で、選択的トランスペアレント・データ認証を実施する制御機能(ControlFunction Implementing Selective Transparent Data AuthenticationWithin anIntegrated System)」、フォスター(Foster)他、2002年4月18日出願
今日、複数のマスタ機能が、単一のシステム・チップ上に統合されることも多い。複数の別個の部品を単一のチップ上に統合するためのアーキテクチャを最初に定義するとき、外部装置へのアクセスが問題になることがあり得る。例えば、MPEGビデオ・デコーダ・システムでは、様々なデータ領域用の外部メモリ、あるいはフレーム・バッファなどのバッファをしばしば使用する。この外部メモリは通常、DRAMまたはSDRAM技術を使用して実装される。
チップ外の装置にアクセスするための方法として、当技術分野には2つの代表的なアプローチがある。第1のアプローチでは、各オン・チップ機能ユニットは、その特定のユニット専用のデータ・バスを介して必要な外部装置にアクセスすることができる。このアプローチは、ローカルには外部装置へのアクセスに有効であるが、統合システム内でグローバルには決して最適ではない。例えば各機能は、それ自体の外部メモリ領域には完全にアクセスできるが、その統合システムの各機能間でのアクセスの共用は存在しない。したがって、このシステムのあるメモリ領域から他のメモリ領域にデータを転送することがしばしば必要になる。この場合には、明らかにデータ転送が増加し、共用メモリ・システムと比べて全体システムの性能が低下する恐れがある。
もう1つのアプローチは、統合システム内で単一の共通バスを使用するものであり、それによって、システムの1つまたは複数の機能ユニットが、単一のポートを介して各外部装置と通信することが可能になる。装置の共用を可能にするが、このアプローチの1つの難点は、この統合システムのコンテンツまたは他の機密データへのアクセスを制御することに関するものである。例えば、統合設計において大規模な共通メモリ・プールを使用すると、転送デマルチプレクサからセットトップ・ボックスのデコーダに供給される圧縮データなど、保護されたメモリ空間への無許可アクセスを防止することが困難になる。プログラミング・インタフェースがオープンで、外部開発が奨励されているシステムの場合には、特に困難となる。機能のマスタはそれぞれメモリ空間にアクセスできる必要があり、あるアクセスが信頼できるマスタからのものか、それとも例えば信頼できないマスタもしくはオープン・マスタなどの外部要求からのものかを識別することは不可能である。
さらに、共用メモリを使用して複数の機能マスタを有するシステム・オン・チップ設計を行うときは、データを無許可アクセスから保護する機構を提供することが望ましく、特にデータが装置のシステム・プログラム・コードを含むときには望ましい。より詳細には、セキュアな動作環境の初期化を容易にするには、まずシステム・コードがセキュアでありかつ意図した機能をうまく実施することを保証することから始める。したがって、セキュアな動作環境を保証するためには、統合システムをセキュアなモードで起動またはブートする必要がある。
米国特許出願第10/125803号 米国特許出願第10/125115号 米国特許出願第10/125708号
上記のことを考慮すると、当技術分野では統合システムのデータ・アクセス制御アプローチに関して様々な機能拡張が求められていることが分かる。より詳細には、統合システムのセキュアな動作を初期化し、維持し、更新し、および回復するための技術が求められている。
複数のソフトウェア・レベルを有する統合装置のセキュアな動作を容易にする方法を提供することによって、従来技術の欠点が克服され、追加の利点が提供される。この方法は、統合システムの制御を次ソフトウェア・レベルに渡す前に、複数のソフトウェア・レベルのうちの次ソフトウェア・レベルを現ソフトウェア・レベルによって認証すること、および次ソフトウェア・レベルが統合システムの動作特性を修正する能力を制限し、その制限を統合システムのデータ・アクセス制御機能によって実施することを含む。
他の態様では、統合システムのセキュアな動作を初期化する方法が提供される。この方法は、統合システム用の少なくとも1つのキーを生成すること、その少なくとも1つのキーを使用して、統合システムのデータ・アクセス制御機能によって暗号化された初期コードを統合システムにロードすること、およびその暗号化された初期コードを使用して前記統合システムを再初期化することを含む。
他の態様では、第1のキー・セットを使用して暗号化されたデータを第2のキー・セットを使用して暗号化されたデータに移行させる方法が提供される。この方法は、第1のキー・セットを使用して暗号化されたデータを復号化すること、および第2のキー・セットを使用して、統合システムのデータ・アクセス制御機能によってそのデータを再暗号化することを含む。有利なことには、データ・アクセス制御機能を使用して再暗号化することによって、データの暗号化がその統合システムに固有のものとなる。
他の態様では、トリガ・イベントに続いて統合システムの機能を回復させる方法が提供される。この方法は、改ざん検出トリガ・イベントに続いて統合システム内で機能レベルを自動的に縮小すること、および、信頼できる回復手順を選択的に使用することによってユーザが統合システムの全機能の回復を可能にすることを含む。
本明細書は、上記に要約した方法に対応するシステムおよびコンピュータ・プログラムも開示する。
有利なことには、本明細書で開示するセキュア動作技術は、統合システム内でセキュアな動作環境を初期化し、維持し、更新し、および回復するために、あるいはその任意の組合せを実施するために使用できる。より詳細には、提示する技術は、データ・アクセス制御機能によって維持される動作特性の更新を制限する能力を提供する。この動作特性は、統合システム内の様々なソフトウェア・レベルによって使用されるキー・セット、アクセス・テーブル、アクセス・レベルおよびアクセス・パラメータのうちの1つまたは複数を含むことができる。更新を制限するこの能力によって、階層的セキュリティ特権を備えた様々なソフトウェア・レベルが提供される。
本明細書で提示される技術はさらに、旧バージョンのソフトウェアまたは他のデータの再使用を防止するためのバージョン番号の使用などのセキュアな方法で、現場で更新を行う能力を提供する。キー管理プロセスの一部として暗号化されたデータを第1のキー・セットから第2のキー・セットに移行させる能力、または保護されたデータを他のシステムからインポートする能力あるいはその両方についても提示する。さらに、統合システムが改ざんトリガ状態に入ったにもかかわらず機能を提供する能力についても記述する。詳細には、機密のデータおよびアプリケーションにアクセスできない制限された機能を自動的に提供することができ、またサービス機能にあまり依存せずに全機能を回復するための機構も自動的に提供できる。
本発明の技術によって追加の特徴および利点が実現される。本発明のその他の実施形態および態様についても本明細書に詳細に記載されており、それらは特許請求の範囲に記載した本発明の一部と見なされる。
本発明として見なされる主要部分については、別添の特許請求の範囲の中で詳細に指摘し、明確に主張する。本発明の、前記その他の目的、特徴、および利点は、以下の詳細な説明を添付の図面と併せて読めば明らかである。
図1は、一般に100で示され、複数の内部機能マスタ1101、1102、1103、...、110nを有する従来の統合装置を示す。マスタ1101は、プロセッサ・コア112およびメモリ管理ユニット114を有するプロセッサとして示されている。この例では、内部マスタ1101、1102、1103、...110nは、共用バスのバス制御論理機構130を含むメモリ・サブシステム120に接続される。バス制御機構130は、メモリ・サブシステム内部に示されているが、別法としてサブシステム120の外側に置くこともできることが当業者には理解されよう。
バス制御ユニット130は、統合装置のスレーブへの要求を調整し統合する。例えば、第1のスレーブは、オープンなメモリ部分155を有する、フラッシュ・メモリなどの外部不揮発性メモリ150に接続された外部バス・コントローラ140を含むことができる。第2のスレーブは、SDRAMやDRAMなどの外部揮発性メモリ170に接続されたメモリ・コントローラ160を含むことができる。メモリ170は、オープンなメモリ部分175を含む。一般に、メモリ・コストを最小にし、かつ各機能間でのデータ転送を容易にするために、この統合設計では各機能が共通メモリ・プールを共用する。したがって、すべての内部マスタは不揮発性メモリにも揮発性メモリにも等しくアクセスでき、しかもどちらの記憶空間もオープンとラベル付けされており、データ・アクセスに制限がないことを意味している。
一般に不揮発性メモリは、電源を切ったときでもデータが保持される永続記憶装置に使用される。このメモリには、ブート・コード、オペレーティング・システムやドライバなどのオペレーティング・コード、および任意の永続的データ構造を含めることができる。揮発性メモリは、セッション指向の記憶装置に使用され、通常はアプリケーション・データおよび他のマスタのデータ構造を含む。揮発性メモリは不揮発性メモリより高速なので、統合装置の動作中は、オペレーティング・コードを揮発性メモリに移動させ、そこから命令を実行するのが一般的である。
例えば図1に示したような典型的なシステムには、いくつかのセキュリティ・リスクがあることに留意されたい。すなわち、
1. オペレーティング・コードまたはデータ構造を修正することによってプロセッサの挙動を制御できるので、内部データ、または動作が損なわれる可能性がある。
2. 通信コントローラといった、特定の場合には、内部マスタが外部ソースによって制御されることがあり、また、メモリが共用されているので、当該内部マスタが使用された結果内部コードまたは内部データを損傷する可能性がある。
3. ソフトウェア開発に使用されるデバッグ・ツールおよび開発ツールを、プロセッサの挙動を修正または監視するために使用することができる。
4. メモリが共用されているので、所与のマスタは、意図せずに他の内部マスタの動作を破壊または損傷する可能性がある。
上記のセキュリティ・リスクに対して本明細書で提示する解決策は、データ経路内のバス制御とスレーブ装置との間に配置されるアクセス制御機能を提供するものである。このアクセス制御機能は、(一実施形態では)機能マスタをスレーブ装置に接続している内部バスの特性を利用して、各アクセス要求を1組のセキュア制御情報に基づいてさらに制限し、また必要な場合にはそれを阻止できるようにすることができる。有利なことには、このアクセス制御機能は、マスタがデータを要求する各アクセスを区別する能力を提供し、さらにデータが格納されている場合には、次いでそれに従ってアクセスを許可または制限し、データが格納されていない場合には、そのアクセスを制限する機能を提供する。本発明の他の態様による追加のアクセス制御機能についても本明細書に記載されている。
図2は、一般に200で示され、本発明の一態様によるアクセス制御機能240を含むシステムの一実施形態を示す。システム200はまた、バス制御230を介して1つまたは複数のスレーブ250/270と通信する複数の機能マスタ2101、...、210nを含む。この場合には、アクセス制御機能240は、データ経路中でバス制御230とスレーブ250/270との間を仲介する。代替実施形態として、バス制御ユニット230をセキュア・メモリ・サブシステム・ユニットの外側に置くこともできる。図示のように、第1のスレーブ装置は外部バス制御装置250を含み、第2のスレーブ装置はメモリ制御装置270を含む。この状況で、バス制御ユニット、アクセス制御ユニット、外部制御装置を組合せてセキュア・メモリ・サブシステム220を形成する。その結果、不揮発性メモリ260および揮発性メモリ280として定義された外部アドレス空間はさらに、オープン・エリア262およびセキュア・エリア264、ならびにオープン・エリア282およびセキュア・エリア284にそれぞれ分割される。この場合「セキュア」とは、マスタ2101、...、210nがアクセス制御ユニット240中で定義された空間だけにアクセスできることを意味する。アクセス制御機能が、オープン・エリアおよびセキュア・エリア双方へのすべてのアクセスを制御していることに留意されたい。
ユニット240のアクセス制御機能についての詳細な説明は、上で組み込んだ「要求元マスタIDおよびデータ・アドレスを用いて、統合システム内のデータ・アクセスを制限する制御機能(Control Function Employing A Requesting Master ID And A DataAddressTo Qualify Data Access Within An Integrated System)」に含まれている。さらに、上で組み込んだ出願は、必要とされるデータおよびそのデータのアドレス、を要求する機能マスタのアクセス・レベルに基づいて各データ要求を制限する際の、アクセス・テーブル248および暗号化/復号化機能249の使用についても詳述している。
要約すると、バス制御ユニットによって制御が与えられたマスタからの要求は、要求されたアドレスおよび関連した制御(例えば、読出しまたは書込みなど)とともにアクセス制御ユニットに送られる。アクセス・テーブルは、要求されたアドレス、マスタID、ならびに読出しまたは書込みの指示を、そのマスタに許可されているアクセス機能と比較するために、アクセス制御機能によって使用される。所与の要求は、遮断(終了)されることも、平文の状態で許可されることも、あるいは暗号化/復号化付きで許可されることもあり得る。要求された転送が許可される場合には、バス信号がスレーブに伝播され、その要求に関連するアクセス・パラメータが、アクセス・テーブルに基づいて、例えば、暗号化/復号化が適用できる場合には暗号化/復号化エンジンに送られる。暗号化/復号化エンジンは、関連するアクセス・パラメータを用いてデータが所与のスレーブに転送されるときはその書込みデータを暗号化するために、あるいは所与のスレーブから返送されるときはその読出しデータを復号化するために、使用することができる。
要求元のマスタIDおよび要求のアドレスに基づいてデータ・アクセスを制限する機能に加えて、そのアクセス制御機能にセキュリティ状態マシン242を追加して、例えばアクセス・テーブル248および暗号化/復号化機能249の動作を制御する概念が、上で組み込んだ「複数のセキュリティ状態を有し、統合システムのセキュアな動作を容易にするための制御機能(Control Function With Multiple Security States ForFacilitatingSecure Operation Of An Integrated System)」という名称の出願に記載されている。代替ブート・アドレス245およびマスタ・キー・セット246を保持するために、オン・チップの記憶装置243もセキュリティ状態マシン242と併せて使用される。この記憶装置は、全体の電源を落としたときでも値が保持されるという意味で永続的である。したがって、その値は、初期化されたあと、セキュリティ状態の変化にともなって特にリセットまたは消去されるまでは、セッションを越えて使用することができる。このことについては、後で説明する。
データ・アクセス制御機能のセキュリティ状態マシンは、ヌル状態やセキュア状態を含む可能な複数のセキュリティ状態のうちの1つの状態をとることができる。セキュア状態では、制御機能は、ブート・コードの要求に使用される標準ブート・コード・アドレスを代用ブート・コード・アドレスで置き換える。代用ブート・コード・アドレスは暗号化バージョンのブート・コードのアドレスを指定し、次いで制御機能が、永続記憶装置に保持されたマスタ・キー・セットを使用してそのコードを復号化する。ヌル状態のときは、そのマスタ・キー・セットは消去される。
上記のデータ・アクセス制御機能の他の拡張として、要求データを選択的に認証する制御機能を追加する概念が、上で組み込んだ「統合システム内で、選択的トランスペアレント・データ認証を実施する制御機能(Control Function Implementing Selective TransparentDataAuthentication Within An Integrated System)」という名称の出願に記載されている。この選択的認証は、データ要求を開始する統合装置の機能マスタにとってトランスペアレントであってもよい。要求データは、外部メモリに暗号化された形で格納されたコードまたはデータのどちらをも含むことができる。(特許請求の範囲も含めた本明細書の各所で、コードまたはデータの意味で総称的に「データ」という用語を使用していることに留意されたい。)上記のデータ・アクセス制御機能の暗号化機能により、データが直接観察または修正されることが防止されるとともに、完全性チェック機能により、暗号化された値が元々メモリに書き込まれていた値と同一であることをさらに検証するための能力が追加される。
一実施形態では、本発明の一態様による完全性チェック機能は、上で組み込んだ出願に記載のアクセス・テーブルおよびアクセス・パラメータと共に動作する。認証されるデータに関連するアドレス範囲は、アクセス・テーブル内の追加のパラメータによって指示できる。完全性チェック機能245は、要求されたデータ転送に基づき、メモリ中の完全性値の位置を確定する。また、下記のように完全性値を計算し比較する。
要約すると、このプロセスはプリストレージ・ステップとポストストレージ・ステップに分割できる。例えば、
プリストレージ:
セキュアである必要があり、かつ認証されるべきデータを数学的に圧縮したバージョンである、第1の完全性チェック値を生成する。
そのデータを暗号化し、第1の完全性チェック値を暗号化する。
暗号化された完全性値をメモリに格納し、暗号化されたデータをメモリに格納する。
ポストストレージ:
メモリから完全性値を取り出し復号化し、暗号化されたデータを取り出し復号化する。
第1の完全性チェック値に使用したのと同じ機能を使用して第2の完全性チェック値を生成する。
第1と第2の完全性チェック値を比較する。それらが一致した場合には、そのデータを認証する。一致しなかった場合には、データが破壊されているので訂正アクションを取る必要がある。
完全性チェック機能245はオプションで、以下で説明する、統合システムの拡張されたセキュア動作の概念と組合せて使用することもできる。
図3は典型的な統合装置で使用されるソフトウェア・レベルを表す。図示のように、装置のハードウェア300は、その上で各ソフトウェア・レベルが動作するベースとなる。ブート・コード310は、装置に最初に電源が投入され、初期化データ312を使用して初期化機能が実施されるときに動作する。カーネル320は、レベル1と抽象化されているが、初期化の後でブート・コードによってコールされる。カーネル320は、一般的なシステム設定322や登録324を含むオペレーティング・システムのサービスおよびリソースを提供する。次いで、ミドルウェアおよびサービスの機能330を含む1つまたは複数のソフトウェア・レベルが順次コールされる。ミドルウェアおよびサービスの機能には、ソフトウェア・アクセス制御あるいはパスワード332やキー334とともに動作するネットワーク・サービス、ファイル管理、メディア・ハンドリングなどがある。アプリケーション・ソフトウェア340は、ミドルウェアおよびサービスのソフトウェア・レベル330の上に存在し、個人情報342などのユーザ・データおよび他のコンテンツ344とともに動作する。
図3は、統合装置またはシステムにセキュリティを提供する際の、1つの課題を示している。一般的な法則として、ソフトウェアのレベルが、ベースとなるハードウェアに近づけば近づくほど、ソフトウェアはそれだけセキュアになり信頼性が高くなる。しかし一方、ソフトウェアのレベルが、アプリケーションなどのようにユーザに近づけば近づくほど、それだけデータの価値が高まる。その結果、最もセキュアでないソフトウェアが最も価値のあるデータを保護することになる。
図4は、統合システムにセキュリティを提供する方法を示す。ハードウェア(400)から始めて、各ソフトウェア・レベルは、すぐ下のレベルによって認証される。ブート・コード(410)の場合は、上で組み込んだ出願に定義されているように、復号およびマスタ・キー・セットをハードウェアで使用して認証され、その際ブート・コード(または初期化コード)は外部メモリに暗号化された形で格納される。また認証の後で、かつ次のソフトウェア・レベル(420,430,440など)に制御を渡す前に、先行の各レベルは、次レベルがシステムを制御または修正する能力を制限することもできる。したがって、各レベルがロードされるとき、各レベルは検証され、システムのセキュリティに影響を与える能力がさらに制限されることがある。
図5は、例えば図2で説明したような統合システムの状況で、図4に示した方法を実装した例を示す。より詳細には、この実装は、先に述べた、上で組み込んだ出願に記載のアクセス制御機能を使用して行われる。ブート・コード(400)は、上記のようにハードウェアによって認証され、したがって最も信頼できるソフトウェア・レベルであると考えられる。ブート・コードは、復号化で使用されるキー・セットと、アドレスがどのように変換されるかを定義するアドレス・テーブルと、マスタIDおよびアドレス範囲に基づいて可能なトランザクションを指定するアクセス・レベルと、更に、要求がどのように処理されるかを定義したアクセス・パラメータと、を含むアクセス制御機能を完全に構成することができる。この場合も、これらの情報はすべて上記のアクセス制御機能によって維持される。
次のソフトウェア・レベル、すなわちレベル1(410)に制御を渡す前に、この例では、ブート・コードは、キー値をソフトウェアから直接には見えなくなるようにするために、それらキー値を隠蔽し、また、(どちらもアクセス・テーブルに含まれる)アドレス・テーブルおよびアクセス・レベル・エントリが、次ソフトウェア・レベルによって修正できないようにするために、それらをロックする。しかしこの例では、アクセス・パラメータは、この次レベルにおいてもやはり更新されることがあり得る。隠蔽はハードウェアで読出しアクセスを阻止することによって達成でき、ロックはハードウェアで書込みアクセスを阻止することによって達成できることに留意されたい。アクセス制御ユニットのレジスタへのアクセスを制御(またはロック)するのに、複数の方法があることを当業者は理解されよう。例えば、特権命令を使用すること、そのレジスタをオン・チップのプライベート・バスだけに接続すること、そのレジスタをメモリマッピングしアクセス制御ユニットの既存の設定を使用してそのレジスタへのアクセスを制限することなどである。
図示のように、最も信頼度の低いソフトウェア・レベル440に制御を渡す前に、アクセス制御機能の末尾に図示されている動作特性、すなわちアクセス・パラメータ、を修正できないようにロックする。
図6は、コンピュータ・システムの形に組み立てられた統合装置のセキュアな動作環境を初期化するプロセスの一実施形態を示す。図示のように、統合装置はより大きなシステムの形に組み立てられ(605)、電源が投入される(610)。全体システムまたはコンピュータ環境は、システム製造業者に関連する物理的にセキュアな環境(600)に移され、その環境で統合装置はセキュアな動作用に構成される。詳細には、セキュリティ・モードに進み(612)、秘密キーを生成し(615)、そのキーおよび代用ブート・アドレスを装置のデータ・アクセス制御機能に関連する永続記憶装置にロードする(620)。秘密キーは、メーカから提供することもできるし、統合装置自体で生成することもできることに留意されたい。後者の場合は、好ましくはキーは第三者の所で保持する。
次に、図7および8に関して以下で説明するように、揮発性メモリに書き込まれたデータをマスタ・キー・セットを用いて暗号化し、ホワイトニングのために不揮発性メモリのアドレスを使用するようにアクセス・テーブルが構成される(625)。揮発性メモリから読み込まれたデータは暗号化処理が行われず、そのままの状態である。アクセス・テーブルはまた、不揮発性メモリに書き込まれたデータが変更されないように構成される。
次に、ブート・コードがデバッグ・インタフェースによってロードされ(図7および8参照)、そのデータは、揮発性メモリに書き込まれるときに、データ・アクセス制御機能によってマスタ・キー・セットを使用して暗号化される(630)。次いでこのコードは、以下で詳細に説明するように、揮発性メモリから不揮発性メモリに復号化せずにコピーされる(635)。最後に統合装置は、上で組み込んだ出願に記載のように、セキュア・モード用に構成される(640)。この処理の結果、個々の統合システムについて暗号化が一意になることに留意されたい。
この時点で、コンピュータ・システムはセキュアな物理位置(600)から移動させることができる。次にシステムは、ロードされたセキュアなブート・コードを使用してリブートされる(645)。そのシステムは、必要ならば追加のコードを、自己生成したキー値による暗号化を使用してセキュアな方法でロードすることができる(650)。図6のプロセスの最終ステップは、そのコンピュータ・システムを試験し出荷することである(655)。
図7は、図6の処理(630)を図示したものである。(図7および後続のいくつかの図面は、図2の統合システムを簡略化した図であり、見やすいようにバス制御要素およびスレーブ要素が省略されていることに留意されたい。)図示のように、デバッグ・インタフェースまたは統合開発環境(IDE)を使用して、暗号化されていないブート・コードをセキュアな動作用に構成された統合装置にロードすることができる。統合装置(200)は、アクセス制御機能(240)の永続記憶装置(243)に記憶された内部マスタ・キーを使用してブート・コードを暗号化し(249)、暗号化したブート・コード(700)を揮発性メモリ(280)の定義された位置に書き込む。暗号化されたブート・コードは、まず揮発性メモリに書き込まれることに留意されたい。その理由は、フラッシュ・メモリなどの不揮発性メモリは、所与のデータ値を書き込むのに複数の動作を必要とし、したがって1つのブロック動作として実施できないからである。暗号化されたブート・コード(700)は、後に外部メモリの他の位置にコピーされるので、暗号化動作に関するアクセス・テーブル(248)のエントリは、ホワイトニング用の値として不揮発メモリ内の最終的なアドレス位置を使用するように構成される。ホワイトニングについては、上で組み込んだ出願の1つまたは複数に詳細に記載されている。
図8は、暗号化されたブート・コードを、例えばプロセッサ(2101)によって、揮発性メモリから不揮発性メモリ(260)にコピーするためのプロセス(635)を示す。ブート・コードは、マスタ・キー・セット及びホワイトニング用の不揮発性メモリ・アドレスですでに暗号化されているので、ブート・コードはいかなる暗号変換も必要とせず、復号化されずに不揮発メモリに直接コピーされる。
図9は、本発明の一態様による、ある初期化プロセスの流れ図を示す。ブート手順(800)から開始し、統合装置の電源を投入し(805)、ブート要求を発行する。この要求は、データ・アクセス制御機能によって代用ブート・アドレスを使用してリダイレクトされる(810)。メモリからフェッチされた暗号化コードは、データ・アクセス制御機能によってマスタ・キー・セットを使用して復号化される(815)。実行される最初の各命令の中で、更新されたブート・コード・イメージが使用可能かどうかが検査される(820)。この検査は、ブート手順自体の動作中に実施する必要がある。その理由は、他のどのソフトウェア・レベルもブート・コードの変更を許可されていないからである。
更新がない場合には、ブート・コードは、開始している所与のセッションで使用されるランタイム・キーを生成する(825)。使用しなければならない、以前のセッションからのデータ構造がある場合には、ブート・コードは、以前のセッションによって格納された暗号化されたキー値を取り出すこともできる。次にブート・コードは、メモリ中のソフトウェア・イメージを数学的に処理して一意のダイジェストまたはハッシュ値に到達し、次いでその結果を予想値と比較する確立された技術を使用して次のソフトウェア・レベルを認証する(830)。この処理は、セキュアなブート・コードを使用してソフトウェアで実施できる。認証に加えて、このブート・コードは、次ソフトウェア・レベルがアクセス制御機能に関するセキュリティ設定および動作特性を修正する能力を制限し、さらには観察する能力さえも制限することができる。認証、およびセキュリティ機能のロックが完了した状態で、制御は次のソフトウェア・レベルに渡される(835)。このレベルが最終レベルの場合には(840)、ソフトウェアをロードするプロセスが完了し、装置のセキュア動作を開始することができる(845)。追加のレベルがある場合には、次のレベルを認証するタスク、およびオプションでセキュリティ機能をロックするタスクが再度実行され、すべてのレベルがロードされるまでループが継続する。
ブート・コードの更新がある場合には、照会(820)の後にブート更新手順に従う(850)。まず、現ブート・コード(すなわち、装置に最初に電源が投入されたとき動作していたコード)を使用して新ブート・コード・イメージを認証し、復号化する(855)。新イメージは、統合装置が内部で使用する暗号化形式とは異なる形式でシステムに転送しておくことができることに留意されたい。その場合、ブート・コードがソフトウェアで復号化ステップを実施する。次に、動作中のブート・コードは、アクセス制御機能を使用してその統合装置のマスタ・キー・セットで新コードを暗号化し、システムが最初に組み立てられたときと同じ方法で新ブート・コードをメモリに書き込む(860)。しかし、その手順の途中にシステムが不意に中断された場合でも、動作中のブート・コードがメモリ中に完全な形で存在し動作できるように、新ブート・コード・イメージは動作中のブート・コードとは別の場所に書き込まれる。新ブート・コード・イメージが完全に認証され不揮発性メモリに書き込まれた後、動作中のブート・コードは、代用ブート・アドレスを、新ブート・コード・イメージを指し示すように更新する(865)。更新が完了したあと、システムを再スタートし(870)、ブート手続きの最初に戻る(800)。このプロセスの拡張では、上位のセキュリティ特権を有するソフトウェア・レベルによって、必要に応じてブート・コードまたは初期化コード以外の、1つまたは複数コード・レベルを追加することができる。例えば、ブート・コードを使用してカーネルを更新することができる。
ブート更新手続き(850)の拡張として、新バージョン番号を新ブート・コード・イメージに関連付けることができる(860)。そのためには、上で組み込んだ出願の1つまたは複数に記載したように、データ・アクセス制御機能に関連するオン・チップの永続メモリに記憶された値にバージョン番号パラメータを追加する必要がある。この場合にも、バージョン番号を使用して、最初の命令の復号化の一環としてホワイトニング手順を実施する。ブート・コード・イメージにバージョン番号を含める利点は、アタッカが旧ブート・コード・イメージを単にコピーし再実行することによってそれを再使用することを防止することである。
図10は、図9のブート処理を使用して起動された統合システム内部の処理を示す。統合装置の主電源が投入されたとき、プロセッサ(2101)の最初のアクションは既定のアドレスのデータ(ブート・コード)を要求することである。この外部データ要求は、データ・アクセス制御機能(240)に渡され、その機能により、アドレスに基づいてその要求がブート・コード要求であると識別され、そのアドレスのすべてまたは一部が、その制御機能の永続記憶装置(243)に含まれる代用ブート・アドレスで置き換えられる。次いで、修正された要求は外部メモリ(260)まで進む。代用ブート・アドレスは、マスタ・キー・セットを使用して先に暗号化されたコードを含むメモリの区分を指し示すように定義されている。この暗号化されたコード(710)は、不揮発性メモリ(260)のセキュア領域に在る。暗号化されたコードは、戻されたデータを、代用ブート・アドレスに基づいて、マスタ・キー・セットを使用して復号化するように構成されたアクセス制御ユニットに戻される。次に、復号化された(セキュアな)ブート・コードは、実行のためにプロセッサに戻される。上記のステップは、プロセッサがブート・コード・シーケンスを実行するときに繰り返される。
図11は、統合システムの動作中にコード更新を受け入れるためのプロセスを示す。この更新チェック手順(1000)は、セキュアな動作モード(1005)で動作中のシステムで始まる。内部の周期的トリガ(internal periodic time trigger)や外部通知などの条件イベントに基づき、システムは、チェック(1010)を実施して更新が使用可能かどうか(1015)を調べる。「No」の場合は、統合システムは前のセキュアな動作状態に戻り続行する。更新が使用可能な場合は、当業界で確立されたセキュアなネットワーク・プロトコルを使用して更新をダウンロードすることができる(1020)。あるいは、更新を固定メディアから読み込むこともできる。次いで、要求された更新を行う許可を現ソフトウェア・レベルが受けているかどうかが判断される(1025)。上記のように、所与のソフトウェア・レベルは、同等またはより高い権限レベルのソフトウェアによってのみ認証され得る。
現ソフトウェア・レベルが更新を行う許可を受けていない場合は、そのソフトウェアは更新が可能であるとマークし、ソフトウェア・レベルが統合装置の制御における次レベルであるとき、その適切なソフトウェア・レベルによって使用できるようにその更新を記憶する。通常この場合は、更新が次セッションでも可能であるように、不揮発性メモリに記憶する必要があることに留意されたい。
現ソフトウェア・レベルが許可を受けている場合には、更新手順(1050)に従う。この手順は、ブート・コードの更新に関して前述したプロセスを使用して更新を認証し復号化することを含む。しかし、更新をマスタ・キー・セットで暗号化する必要はない。その代わりとして、ランタイム・キーが使用できる。また、更新のバージョン番号は、ブート・コードによってロードされるので、必ずしもオン・チップの永続メモリに格納する必要はなく、暗号化し外部のセキュア・メモリに格納することができる(1060)。次に、システムの初期化中に更新されたコードをロードするに先立ち、検証する際に使用される認証値が更新される。
図12は、キーを管理し、必要に応じてキーを更新するプロセスを示す。一般に、このプロセスでは、ある暗号化形式から別の暗号化形式へ移行させる手段としてデータ・アクセス制御機能を使用する。
1つのデータ・ブロック上で秘密キーを使用し過ぎると、暗号解読に使用し得るサンプルの数が増加する。したがって、秘密キーを保護するためには、そのキーを使用するサンプルの数を制限する必要がある。その限度は、アタッカが使用できる分析のタイプ、ならびに使用される暗号化アルゴリズム、キー、および物理的シールドの強度に依存する。現在の技術では、1つのデータ・ブロック上で秘密キーが使用された回数を正確にカウントすることは非現実的である。このカウントの正確な近似としては、キー・セットごとに一定の記憶量を必要とすることにもなるが、各キー・セットごとの書込み動作の数を記録するカウンタを使用することもある。ただし、そのカウント値は、生成されたサンプル固有の数より大きいかまたは等しくなる。効率の劣る近似として、読出し動作および書込み動作の両方をカウントすることもできるが、この場合にカウント閾値を増加できることを意味している訳ではない。
キー管理手順(1100)に示したように、(ブート手順に関連して上述したような)ランタイム・キーが生成されて、単一のセッション中に、またはセッションを越えて、使用される(1105)。同時に、キー使用カウンタが所与の閾値で初期化される。このカウンタはソフトウェアで実装することもできるが、より有利には、アクセス制御機能の一部としてハードウェアで実装される。その理由は、カウンタの駆動に必要な情報が使用できるからである。さらに、セッション間でカウント値が維持されるように、すなわちソフトウェアを使用して、システムの電源が切断されるときに結果を取り込み、それを暗号化し、その結果を格納し、次いでシステムが再起動されるときにそのカウント値がロードされるように、そのカウンタをオン・チップの永続記憶装置に関連付けることもできる。
制御は、オプションで次ソフトウェア・レベルに渡される(1110)。あるいは、現ソフトウェア・レベルを継続し、そのキーを直接使用することもできることに留意されたい。キー使用カウンタは、暗号化されたデータを書き込むためにキーが使用されるたびにインクリメント(増分)される(1120)。オプションで読出しイベントの監視を使用することもできるが、書込みイベントに追加して使用されるだけであり、その代わりに使用できる訳ではない。
ある時点で、キー使用カウンタが閾値を超える(1125)。このイベントが発生したとき、最初にそのキーが生成されたときと同じソフトウェア・レベルが動作している場合には、キー更新手順(1150)がコールされる(1130)。現ソフトウェア・レベルが異なっている場合には、システムは当初キーを生成したソフトウェア・レベルに戻り、そのレベルからキー更新手順をコールする(1135)。
キー更新手順(1150)では、あるキー・セットから別のキー・セットへの移行を容易にするためにアクセス制御機能を使用する。旧キー・セットを使用して復号化される移行すべきデータの現位置を定義し、新キー・セットを用いて暗号化されるそのデータの新位置を定義するために、アクセス制御機能のアクセス・テーブルがまず修正される(1155)。アクセス・テーブルを使用してアドレス変換が実施できるので、統合システムの内部マスタは現データ位置と新データ位置をメモリ中の別々のアドレス範囲として認識できるが、一方アドレス変換後の外部要求では、両方の位置が同じアドレス範囲になるように定義できることに留意されたい。このことにより、所与のブロックを現在存在する位置から読み出し、次いで同じ位置に書き戻すことが可能になる。
次に、新アクセス・テーブル定義を使用して、データを現位置から読み出し、新キー・セットでそのデータを実際に再暗号化するとともに新位置に書き込む(1160)。次いで、新キー・セットを用いた暗号化および復号化のための新位置が定義され(1165)、旧キー・セットおよび関連するデータ位置への参照がすべて削除される(1170)ようにアクセス・テーブルが再度修正される。
図13〜15は、外部ソースによって提供されるデータを、ある暗号化形式から別の暗号化形式に移行させるための関連技術を示す。この場合、外部の暗号化形式は、内部の暗号化方法と異なるアルゴリズムおよびキー・セットであってもよい。図13に示したように、外部のソースから外部のアルゴリズムで暗号化されたデータが、この場合は通信ポート(1200)を介して受信される。アクセス制御機能(240)は、この外部データを外部メモリ(280)に直接、修正なしで格納するように定義されている。次に、図14に示したように、プロセッサ(2101)は、外部データをブロック単位でそのキャッシュに読み込み、復号化用のソフトウェアを使用して所与のブロックを復号化する。復号化した後、図15に示したように、クリア・ブロックを外部メモリ(280)に書き込む。また一方、アクセス制御機能は、内部のアルゴリズムおよびキー・セットを使用してそのデータを暗号化するように構成されている。この処理の結果、外部から受信したデータはすべて、一意であってかつこの唯一の統合装置によって制御される暗号化形式に変換される。このことにより、アクセス制御機能のハードウェア加速を利用しながら、暗号化されたデータのセキュリティを維持するという利点が提供されることになる。
図16は、上で組み込んだ1つまたは複数の出願に記載したように、統合システムがフィールドで使用され、改ざんイベントによりセキュア状態からヌル状態へのシステムの遷移がトリガされた後で、統合システムのセキュア動作を回復するために使用されるプロセスの一実施形態を示す。図示のように、トリガ後のブート手順(1300)によると、改ざんイベント後に統合システムに電源が投入されても(1305)、ブート要求はもはやリダイレクトされない(1310)。標準のブート・アドレスから、暗号化されていないコードが起動されてシステムを初期化する(1315)。初期化されたシステムは、もはやセキュアなデータまたはアプリケーションにアクセスできない縮小機能レベルで動作する(1325)。あるいは、元の統合システムの機能を回復させるよう試みることもできる(1320)。
統合システムの所有者が完全回復を図る選択をした場合には、その統合システムをセキュアな物理位置(1350)を備えた正規サービス・センタに持ち込む。そのサービス・センタでは、デバッグ・ツール(図7参照)を使用して、暗号化されていない初期化コードをロードする(1355)。このコードは、回復ブート・コードを含み、さらにメーカの公開キーも含む。
次に、初期化コードを実行するために統合システムを再起動する。初期化コードは、まず新マスタ・キー・セットを生成し、次いでそのマスタ・キー・セットをデータ・アクセス制御機能に関連するオン・チップの永続記憶装置に書き込む(1360)。次に、上で図7に絡めて説明したように、そのマスタ・キー・セットを使用して回復ブート・コードを暗号化するようにアクセス制御機能が構成される。新ブート・コード位置は代用ブート・アドレス・フィールドに書き込まれる。次にブート・コードは、内部で公開/秘密キー・ペアを生成し、秘密キーを不揮発性メモリ内にセキュアに格納する。生成された公開キーは(以前に初期化コードとともに提供された)製造業者の公開キーを使用して暗号化され、サービス・センタに戻され、次いでサービス・センタはそのキーを製造業者に転送する(1365)。この時点で、統合システムはセキュアな物理位置から移動させることができる(1350)。
システムが再起動され、回復ブート・コードが実行される(1370)。初期化されたシステムは、製造業者へのセキュアなネットワーク接続を確立し(1375)、次いで既知の技術を使用して、システムの元の機能を再構築するために必要なデータおよびコードをダウンロードし、統合システムにインストールすることができる(1380)。
要約すると、本明細書には統合システム内でセキュアな動作を初期化し、維持し、更新し、かつ回復するための方法、システム、およびコンピュータ・プログラムが記載されている。これらの技術は、統合システム内のデータ・アクセス制御機能を使用する。システムおよびコンピュータ・プログラムは、概して下記のように要約される。
本発明の一態様では、複数のソフトウェア・レベルを有する統合システムのセキュアな動作を容易にするシステムが提供される。このシステムは、統合システムの制御を次ソフトウェア・レベルに渡す前に、複数のソフトウェア・レベルのうちの次のソフトウェア・レベルを現ソフトウェア・レベルによって認証する手段を含む。統合システムの動作特性を次ソフトウェア・レベルが修正する能力を制限する手段を含むデータ・アクセス制御装置もまた提供される。
他の態様では、統合システムのセキュアな動作を初期化するためのシステムも提供される。このシステムは、統合システム用の少なくとも1つのキーを生成する手段、および統合システム内のデータ・アクセス制御機能を含む。データ・アクセス制御機能は、統合システム内で初期コードを受信し、その初期コードを少なくとも1つのキーを用いて暗号化する。初期化システムはさらに、暗号化された初期コードを使用して統合システムを再初期化する手段も含む。
第1のキー・セットを使用して暗号化されたデータを第2のキー・セットを使用して暗号化されたデータに移行させるためのシステムもさらに提供される。このシステムは、第1のキー・セットを使用して暗号化されたデータを統合システム内で復号化する手段と、第2のキー・セットを使用してそのデータを再暗号化する手段を含んだ、統合システム内データ・アクセス制御機能とを含む。
他の態様における、トリガ・イベントに続いて統合システムの機能を回復させるためのシステムが本明細書に記載されている。このシステムは、統合システム内で自動的に機能レベルを縮小する手段、および指定された回復手順を選択的に使用することによって統合システムの全機能回復を可能にする手段を含む。
他の態様では、複数のソフトウェア・レベルを有する統合システムのセキュアな動作を容易にする方法を実施するための、マシン実行可能な命令からなる少なくとも1つのプログラムを有形に実施する、マシン可読の少なくとも1つのプログラム記憶装置が提供される。この方法は、統合システムの制御を次のソフトウェア・レベルに渡す前に、複数のソフトウェア・レベルのうちの次ソフトウェア・レベルを現ソフトウェア・レベルによって認証するステップ、および次ソフトウェア・レベルが統合システムの動作特性を修正する能力を、統合システムのデータ・アクセス制御機能によって制限するステップを含む。
他の態様では、統合システムのセキュアな動作を初期化する方法を実施するための、マシン実行可能な命令からなる少なくとも1つのプログラムを有形に実施する、マシン可読の少なくとも1つのプログラム記憶装置が提供される。この方法は、統合システム用の少なくとも1つのキーを生成するステップ、少なくとも1つのキーを使用して、統合システムのデータ・アクセス制御機能によって暗号化された初期コードを統合システムにロードするステップ、およびその暗号化された初期コードを使用して統合システムを再初期化するステップを含む。
他の態様では、第1のキー・セットを使用して暗号化されたデータを第2のキー・セットを使用して暗号化されたデータに移行させる方法を実施するための、マシン実行可能な命令からなる少なくとも1つのプログラムを有形に実施する、マシン可読の少なくとも1つのプログラム記憶装置が提供される。この方法は、第1のキー・セットを使用して暗号化されたデータを復号化するステップ、および第2のキー・セットを使用して、統合システム内のデータ・アクセス制御機能によってそのデータを再暗号化するステップを含む。
他の態様では、トリガ・イベントに続いて統合システムの機能を回復させる方法を実施するための、マシン実行可能な命令からなる少なくとも1つのプログラムを有形に実施する、マシン可読の少なくとも1つのプログラム記憶装置が提供される。この方法は、統合システム内で自動的に機能レベルを縮小するステップ、および選択的回復手順を使用して統合システムの全機能回復を可能にするステップを含む。
当業者なら、上記の議論から本発明を例えばコンピュータ使用可能の媒体を有する製品(例えば、1つまたは複数のコンピュータ・プログラム製品)に含めることができることに気づくであろう。この媒体は、例えば本発明の機能を提供しかつその機能を容易にするコンピュータ可読のプログラム・コード手段をその上で実施したものである。この製品は、コンピュータ・システムの一部に含めること、または単独で販売することができる。
さらに、本発明の機能を実施するための、マシン実行可能な命令からなる少なくとも1つのプログラムを有形に実施する、マシン可読の少なくとも1つのプログラム記憶装置を提供することもできる。
本明細書で示した流れ図は例示に過ぎない。そこで示したこれら各流れ図または諸ステップ(もしくは諸動作)には、本発明の趣旨を逸脱することなく多数の変形形態が存在し得る。例えば、各ステップを異なる順序で実施すること、あるいはステップを追加、削除または修正することもできる。これらの変形形態はすべて特許請求の範囲に記載した本発明の一部と見なされる。
本明細書において、好ましい実施形態を詳細に図示し説明してきた。当業者にとって、本発明の趣旨を逸脱することなく様々な修正、追加、代用などを実施し得ることは明らかであろう。したがって、それらは添付の特許請求の範囲で定義した本発明の範囲に含まれるものと見なされる。
本発明は、処理し移行する前に暗号化する必要がある機密データを処理するセキュアな統合システムに広範に適用できる。
メモリ・サブシステムを介して共通メモリ・アクセスを採用する代表的な統合装置の一例を示す図である。 本発明の一態様による、統合装置のセキュアなメモリ・サブシステム内に実装されるアクセス制御機能の一実施形態を示す図である。 本発明の一態様による、本明細書に記載のセキュアな動作技術によって認識され対処される問題を示す図である。 本発明の一態様による、複数のソフトウェア・レベルを有する統合装置のセキュアな動作を容易にする技術の一実施形態を示す図である。 本発明の一態様による、図4の技術を統合システムのデータ・アクセス制御機能に関連するアクセス・テーブルに適用するプロセスの一実施形態を示す図である。 本発明の一態様による、統合システムにコードをロードするプロセスの一実施形態を示す図である。 本発明の一態様による、統合システムに暗号化されたブート・コードを最初に格納するプロセスの一例を示す図である。 本発明の一態様による、図7のプロセスによって格納された暗号化されたコードを揮発性メモリから不揮発性メモリにコピーするプロセスの一例を示す図である。 本発明の一態様による、各ソフトウェア・レベルを認証し各ソフトウェア・レベル間で制御を渡すとともに、ブート・コードの更新が使用可能なときはブート・コードを更新するプロセスの一実施形態を示す図である。 本発明の一態様による、セキュアな状態でアクセス制御機能によって統合システムの各コンポーネントに渡される初期化信号の一実施形態を示す図である。 本発明の一態様による、複数のソフトウェア・レベルを有する統合システム内でソフトウェア・レベルをセキュアに更新するプロセスの一実施形態を示す図である。 本発明の一態様による、統合システムのデータ・アクセス制御機能によって使用されるキー・セットを管理し更新するプロセスの一実施形態を示す図である。 本発明の一態様による、暗号化されたデータを統合システム内で受信して格納するプロセスの一実施形態を示す図である。 本発明の一態様による、図13で格納した暗号化されたデータを取り出し、セキュアなコードを使用してソフトウェアの形でそのデータを復号化するプロセスの一実施形態を示す図である。 本発明の一態様による、復号化されたデータをアクセス制御ハードウェアを使用して再暗号化してセキュアなメモリに格納するプロセスの一実施形態を示す図である。 本発明の一態様による、統合システムのコンピューティング環境内で発生する改ざんトリガ・イベントに続いて統合回路機能を回復するプロセスの一実施形態を示す図である。

Claims (13)

  1. 複数のソフトウェア・レベルを有する統合システムのセキュアな動作を容易にする方法であって、
    暗号化して保存された初期化コードを復号化することによってシステム初期化を開始するステップであって、前記復号化は前記統合システムのデータ・アクセス制御機能にて発生する、ステップと、
    前記複数のソフトウェア・レベルのうちの次のソフトウェア・レベルを、前記統合システムの制御を前記次のソフトウェア・レベルに渡す前に認証するステップと、
    前記次ソフトウェア・レベルが前記統合システムの動作特性を修正する能力を制限するステップであって、前記制限は前記統合システムの前記データ・アクセス制御機能にあるハードウェア・コンポーネント内で実施される、ステップと、
    を備える方法。
  2. 前記制限するステップは、前記データ・アクセス制御機能によって維持される
    キー・セット、
    アクセス・テーブル、
    アクセス・レベル、および
    アクセス・パラメータ、
    のうちの少なくとも1つを前記次ソフトウェア・レベルが修正する能力を限定するステップを備える、請求項1に記載の方法。
  3. 前記限定するステップが、
    前記キー・セットを隠蔽するステップ、または
    前記データ・アクセス制御機能によって維持される前記アクセス・テーブル、前記アクセス・レベル、もしくは前記アクセス・パラメータへのアクセスをロックするステップ、
    の少なくとも一方を備える、請求項2に記載の方法。
  4. 前記統合システムのセキュアな動作を初期化する際に使用される前記初期化コードを認証するステップをさらに有し、前記初期化コードの前記認証は、前記統合システムの前記データ・アクセス制御機能によって実行される、請求項1に記載の方法。
  5. ソフトウェア・レベルを更新する方法であって、
    ソフトウェア・レベル更新が可能かどうかを判断するステップと、
    現ソフトウェア・レベルが前記更新されるソフトウェア・レベルを認証することを許可されているかどうかを判断し、許可されている場合には、前記データ・アクセス制御機能を使用して前記統合システム内で前記ソフトウェア・レベル更新を受け入れるように進むステップと、
    を備える方法、と組み合わされる、請求項1に記載の方法。
  6. 前記更新されるソフトウェア・レベルが初期化コード更新を含み、
    前記初期化コード更新を認証し復号化するステップと、
    前記復号化された初期化コード更新を、前記データ・アクセス制御機能によって維持されるマスタ・キー・セットと新バージョン番号とを用いて暗号化するステップと、
    前記データ・アクセス制御機能によって維持される初期化リダイレクト・アドレスを、新しい、更新された初期化位置アドレスに更新するステップと、
    をさらに備える、
    請求項5に記載の方法。
  7. 現ソフトウェア・レベルが前記ソフトウェア・レベル更新を認証することができない場合には、適切なレベルのソフトウェアが動作し前記ソフトウェア・レベル更新を認証できるようになるまで、前記ソフトウェア・レベル更新が前記統合システムで保留される、請求項5に記載の方法。
  8. 前記統合システム内で前記ソフトウェア・レベル更新を受け入れるように進む前記ステップが、前記ソフトウェア・レベル更新を格納するために暗号化するステップを備え、前記暗号化するステップは、前記ソフトウェア・レベル更新を暗号化するときに新バージョン番号を使用するステップを備える、請求項5に記載の方法。
  9. 暗号化された初期化コードをロードして統合システムのセキュアな動作を初期化する方法であって、
    前記統合システム用に少なくとも1つのキーを生成するステップと、
    初期化コードを前記統合システムにロードするステップであって、前記統合システムのデータ・アクセス制御機能を介して前記初期化コードを暗号化するために前記少なくとも1つのキーを使用することを含む、ステップと、
    を備える方法、とさらに組み合わされる、請求項1に記載の方法。
  10. 前記生成するステップが、前記統合システム内で前記少なくとも1つのキーを生成するステップを備える、請求項9に記載の方法。
  11. 前記暗号化された初期化コードを使用して追加コードを前記統合システムにロードするステップをさらに備える、請求項9に記載の方法。
  12. 追加コードをロードする前記ステップが、前記データ・アクセス制御機能によって前記追加コードを暗号化する際に使用するために、前記統合システム内にランダム・キーの生成を実現するよう前記初期化コードを利用するステップを含む、請求項11に記載の方法。
  13. 前記ロードするステップが、ホワイトニングのために前記少なくとも1つのキーとメモリ・アドレスとを使用して前記初期化コードを暗号化するステップをさらに含む、請求項9に記載の方法。
JP2008258322A 2002-04-18 2008-10-03 データ・アクセス制御機能を使用した、統合システム内でのセキュア動作の初期化、維持、更新および回復 Expired - Fee Related JP4473330B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/125,803 US6715085B2 (en) 2002-04-18 2002-04-18 Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003587052A Division JP4464689B2 (ja) 2002-04-18 2003-04-16 データ・アクセス制御機能を使用した、統合システム内でのセキュア動作の初期化、維持、更新および回復

Publications (2)

Publication Number Publication Date
JP2009032282A true JP2009032282A (ja) 2009-02-12
JP4473330B2 JP4473330B2 (ja) 2010-06-02

Family

ID=29214852

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2003587052A Expired - Fee Related JP4464689B2 (ja) 2002-04-18 2003-04-16 データ・アクセス制御機能を使用した、統合システム内でのセキュア動作の初期化、維持、更新および回復
JP2008258322A Expired - Fee Related JP4473330B2 (ja) 2002-04-18 2008-10-03 データ・アクセス制御機能を使用した、統合システム内でのセキュア動作の初期化、維持、更新および回復

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2003587052A Expired - Fee Related JP4464689B2 (ja) 2002-04-18 2003-04-16 データ・アクセス制御機能を使用した、統合システム内でのセキュア動作の初期化、維持、更新および回復

Country Status (11)

Country Link
US (3) US6715085B2 (ja)
EP (2) EP1500225A4 (ja)
JP (2) JP4464689B2 (ja)
KR (1) KR100809977B1 (ja)
CN (1) CN1647443B (ja)
AU (1) AU2003223671A1 (ja)
CA (1) CA2481569C (ja)
IL (1) IL164718A (ja)
PL (1) PL372374A1 (ja)
RU (1) RU2295834C2 (ja)
WO (1) WO2003090402A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018508063A (ja) * 2014-12-30 2018-03-22 ジエマルト・エス・アー セキュア素子

Families Citing this family (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7600131B1 (en) 1999-07-08 2009-10-06 Broadcom Corporation Distributed processing in a cryptography acceleration chip
US6993007B2 (en) * 1999-10-27 2006-01-31 Broadcom Corporation System and method for suppressing silence in voice traffic over an asynchronous communication medium
EP1338939A1 (en) * 2002-02-22 2003-08-27 Hewlett-Packard Company State validation device for a computer
US7444682B2 (en) * 2002-07-03 2008-10-28 Macronix International Co., Ltd. Security memory device and method for making same
JP2004054834A (ja) * 2002-07-24 2004-02-19 Matsushita Electric Ind Co Ltd プログラム開発方法、プログラム開発支援装置およびプログラム実装方法
CA2421825C (en) * 2002-09-20 2012-07-10 Mks Inc. Version control system for software development
US7266786B2 (en) * 2002-11-05 2007-09-04 Sonics, Inc. Method and apparatus for configurable address mapping and protection architecture and hardware for on-chip systems
JP4099039B2 (ja) * 2002-11-15 2008-06-11 松下電器産業株式会社 プログラム更新方法
US7194626B2 (en) * 2002-11-21 2007-03-20 International Business Machines Corporation Hardware-based secure code authentication
US8140824B2 (en) * 2002-11-21 2012-03-20 International Business Machines Corporation Secure code authentication
US7974416B2 (en) * 2002-11-27 2011-07-05 Intel Corporation Providing a secure execution mode in a pre-boot environment
US7137109B2 (en) * 2002-12-17 2006-11-14 Hewlett-Packard Development Company, L.P. System and method for managing access to a controlled space in a simulator environment
US20040123120A1 (en) * 2002-12-18 2004-06-24 Broadcom Corporation Cryptography accelerator input interface data handling
US20040123123A1 (en) * 2002-12-18 2004-06-24 Buer Mark L. Methods and apparatus for accessing security association information in a cryptography accelerator
US7434043B2 (en) 2002-12-18 2008-10-07 Broadcom Corporation Cryptography accelerator data routing unit
US7568110B2 (en) 2002-12-18 2009-07-28 Broadcom Corporation Cryptography accelerator interface decoupling from cryptography processing cores
US7392404B2 (en) * 2002-12-20 2008-06-24 Gemalto, Inc. Enhancing data integrity and security in a processor-based system
KR100670723B1 (ko) * 2003-02-21 2007-01-19 리서치 인 모션 리미티드 전자 장치들의 다중-레벨 제어 시스템 및 방법
US7509644B2 (en) * 2003-03-04 2009-03-24 Secure 64 Software Corp. Operating system capable of supporting a customized execution environment
JP2004287590A (ja) * 2003-03-19 2004-10-14 Matsushita Electric Ind Co Ltd デバッグシステム、マイクロプロセッサ及びデバッガ
US7171563B2 (en) * 2003-05-15 2007-01-30 International Business Machines Corporation Method and system for ensuring security of code in a system on a chip
US7478433B2 (en) * 2003-06-19 2009-01-13 Panasonic Corporation Program execution system having authentication function
US7469346B2 (en) * 2003-06-27 2008-12-23 Disney Enterprises, Inc. Dual virtual machine architecture for media devices
US7900250B1 (en) * 2003-09-12 2011-03-01 Nortel Networks Limited Method of providing secure groups using a combination of group and pair-wise keying
US7369815B2 (en) * 2003-09-19 2008-05-06 Qualcomm Incorporated Power collapse for a wireless terminal
US7571484B2 (en) * 2003-12-04 2009-08-04 Microsoft Corporation System and method for image authentication of a resource-sparing operating system
JP4574994B2 (ja) * 2004-01-26 2010-11-04 東芝マイクロエレクトロニクス株式会社 メモリ外付けマイコン
US8112618B2 (en) * 2004-04-08 2012-02-07 Texas Instruments Incorporated Less-secure processors, integrated circuits, wireless communications apparatus, methods and processes of making
JP2005332221A (ja) * 2004-05-20 2005-12-02 Renesas Technology Corp 記憶装置
JP4612461B2 (ja) * 2004-06-24 2011-01-12 株式会社東芝 マイクロプロセッサ
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
US20060026417A1 (en) * 2004-07-30 2006-02-02 Information Assurance Systems L.L.C. High-assurance secure boot content protection
US8954751B2 (en) 2004-10-08 2015-02-10 International Business Machines Corporation Secure memory control parameters in table look aside buffer data fields and support memory array
US8332653B2 (en) * 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
US7958369B2 (en) * 2004-10-22 2011-06-07 Hewlett-Packard Development Company, L.P. Systems and methods for multiple level control of access of privileges to protected media content
EP1659472A1 (en) * 2004-11-22 2006-05-24 Research In Motion Limited Method and Device for Authenticating Software
US20060136717A1 (en) 2004-12-20 2006-06-22 Mark Buer System and method for authentication via a proximate device
US8295484B2 (en) 2004-12-21 2012-10-23 Broadcom Corporation System and method for securing data from a remote input device
US20100131729A1 (en) * 2004-12-21 2010-05-27 Koninklijke Philips Electronics N.V. Integrated circuit with improved device security
US20060136705A1 (en) * 2004-12-21 2006-06-22 Motorola, Inc. Multiple stage software verification
JP4522372B2 (ja) * 2005-02-07 2010-08-11 株式会社ソニー・コンピュータエンタテインメント プロセッサと外部のデバイスとの間にセキュアセッションを実現する方法および装置
JP4606339B2 (ja) * 2005-02-07 2011-01-05 株式会社ソニー・コンピュータエンタテインメント セキュアなプロセッサの処理の移行を実施する方法および装置
WO2006082985A2 (en) * 2005-02-07 2006-08-10 Sony Computer Entertainment Inc. Methods and apparatus for providing a secure booting sequence in a processor
JP4669708B2 (ja) * 2005-02-16 2011-04-13 株式会社日立製作所 ストレージシステム、データ移動方法及び管理計算機
CN1703004B (zh) * 2005-02-28 2010-08-25 联想(北京)有限公司 一种实现网络接入认证的方法
CN100358303C (zh) * 2005-02-28 2007-12-26 联想(北京)有限公司 一种对被管理设备进行监控的方法
US8364792B2 (en) * 2005-03-09 2013-01-29 Vudu, Inc. Method and system for distributing restricted media to consumers
US7509250B2 (en) * 2005-04-20 2009-03-24 Honeywell International Inc. Hardware key control of debug interface
US20070005987A1 (en) * 2005-06-30 2007-01-04 Durham Lenitra M Wireless detection and/or containment of compromised electronic devices in multiple power states
JP4728060B2 (ja) * 2005-07-21 2011-07-20 株式会社日立製作所 ストレージ装置
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US20070055862A1 (en) * 2005-09-08 2007-03-08 Interdigital Technology Corporation Method and system for distributing data
US8656487B2 (en) * 2005-09-23 2014-02-18 Intel Corporation System and method for filtering write requests to selected output ports
KR100746012B1 (ko) * 2005-11-07 2007-08-06 삼성전자주식회사 코드 이미지를 안전하게 갱신하고 부팅하는 방법 및 장치
US8627109B2 (en) * 2005-11-23 2014-01-07 Hewlett-Packard Development Company, L.P. Method of securing access to a hard disk drive of a computer system with an enhanced security mode
US20070136609A1 (en) * 2005-12-13 2007-06-14 Rudelic John C Methods and apparatus for providing a secure channel associated with a flash device
US7900060B2 (en) * 2006-02-17 2011-03-01 Vudu, Inc. Method and system for securing a disk key
EP1826697A1 (en) * 2006-02-24 2007-08-29 Giga Games System, SL Method for booting and using software for AWP and B type amusing gaming machines, and for C type casino machines
US8239686B1 (en) 2006-04-27 2012-08-07 Vudu, Inc. Method and system for protecting against the execution of unauthorized software
GB0615392D0 (en) * 2006-08-03 2006-09-13 Wivenhoe Technology Ltd Pseudo random number circuitry
US8032940B1 (en) * 2006-10-25 2011-10-04 Chaperon, LLC Method and system for generating and employing a secure integrated development environment
US8254568B2 (en) * 2007-01-07 2012-08-28 Apple Inc. Secure booting a computing device
US8239688B2 (en) 2007-01-07 2012-08-07 Apple Inc. Securely recovering a computing device
CA2676289C (en) 2007-01-19 2018-01-02 Research In Motion Limited Selectively wiping a remote device
US8615665B2 (en) * 2007-01-26 2013-12-24 Harris Corporation Method for providing high assurance integrity of installed software images in a software defined radio
EA200700455A1 (ru) * 2007-02-13 2008-08-29 Общество С Ограниченной Ответственностью "Крипто-Про" Способ обновления средства обеспечения безопасности программного средства
ATE478367T1 (de) * 2007-03-12 2010-09-15 Secunet Security Networks Ag Schutzeinrichtung für eine programmierbare datenverarbeitende einheit
JP4903071B2 (ja) * 2007-03-15 2012-03-21 株式会社リコー 情報処理装置、ソフトウェア更新方法及び画像処理装置
US8095816B1 (en) 2007-04-05 2012-01-10 Marvell International Ltd. Processor management using a buffer
US8443187B1 (en) 2007-04-12 2013-05-14 Marvell International Ltd. Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device
US8145903B2 (en) * 2007-05-25 2012-03-27 Red Hat, Inc. Method and system for a kernel lock validator
US8332635B2 (en) * 2007-05-29 2012-12-11 International Business Machines Corporation Updateable secure kernel extensions
US8433927B2 (en) * 2007-05-29 2013-04-30 International Business Machines Corporation Cryptographically-enabled privileged mode execution
US8422674B2 (en) * 2007-05-29 2013-04-16 International Business Machines Corporation Application-specific secret generation
US8522043B2 (en) * 2007-06-21 2013-08-27 Microsoft Corporation Hardware-based computer theft deterrence
JP4956292B2 (ja) * 2007-06-25 2012-06-20 パナソニック株式会社 情報セキュリティ装置およびカウンタ制御方法
US8321706B2 (en) 2007-07-23 2012-11-27 Marvell World Trade Ltd. USB self-idling techniques
JP2009032038A (ja) * 2007-07-27 2009-02-12 Hitachi Ltd リムーバブルな暗号化/復号化モジュールが接続されるストレージシステム
US20090055639A1 (en) * 2007-08-20 2009-02-26 Kimmo Kuusilinna Methods and system for modular device booting
JP2009053901A (ja) * 2007-08-27 2009-03-12 Seiko Epson Corp プリンタ
US8332636B2 (en) * 2007-10-02 2012-12-11 International Business Machines Corporation Secure policy differentiation by secure kernel design
WO2009044533A1 (ja) * 2007-10-05 2009-04-09 Panasonic Corporation セキュアブート端末、セキュアブート方法、セキュアブートプログラム、記録媒体及び集積回路
US20090119503A1 (en) * 2007-11-06 2009-05-07 L3 Communications Corporation Secure programmable hardware component
US8171309B1 (en) * 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
US8661234B2 (en) * 2008-01-31 2014-02-25 Microsoft Corporation Individualized per device initialization of computing devices in avoidance of mass exploitation of vulnerabilities
US8656190B2 (en) * 2008-01-31 2014-02-18 Microsoft Corporation One time settable tamper resistant software repository
US8090108B2 (en) * 2008-04-15 2012-01-03 Adaptive Chips, Inc. Secure debug interface and memory of a media security circuit and method
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
KR101595043B1 (ko) * 2008-09-18 2016-02-17 마벨 월드 트레이드 리미티드 적어도 부분적으로 부팅 동안에 어플리케이션들을 메모리에 프리로딩하는 방법
US10255463B2 (en) * 2008-11-17 2019-04-09 International Business Machines Corporation Secure computer architecture
US10452844B2 (en) * 2008-11-26 2019-10-22 International Business Machines Corporation Protecting isolated secret data of integrated circuit devices
JPWO2010073444A1 (ja) * 2008-12-24 2012-05-31 パナソニック株式会社 バスコントローラ及び初期ブートプログラムのパッチ方法
CN102272734B (zh) * 2009-01-05 2014-09-10 马维尔国际贸易有限公司 使用非易失性存储器设备用于休眠或挂起的方法和系统
US8589700B2 (en) * 2009-03-04 2013-11-19 Apple Inc. Data whitening for writing and reading data to and from a non-volatile memory
US9058491B1 (en) * 2009-03-26 2015-06-16 Micron Technology, Inc. Enabling a secure boot from non-volatile memory
JP4747288B2 (ja) * 2009-04-03 2011-08-17 株式会社バッファロー 外付け記憶装置及びその制御方法
US8424071B2 (en) 2009-04-15 2013-04-16 International Business Machines Corporation Method and apparatus for secure and reliable computing
GB2474250B (en) * 2009-10-07 2015-05-06 Advanced Risc Mach Ltd Video reference frame retrieval
US8589302B2 (en) * 2009-11-30 2013-11-19 Intel Corporation Automated modular and secure boot firmware update
US9336410B2 (en) 2009-12-15 2016-05-10 Micron Technology, Inc. Nonvolatile memory internal signature generation
US8442235B2 (en) * 2010-04-14 2013-05-14 Microsoft Corporation Extensible management of self-encrypting storage devices
US8555059B2 (en) * 2010-04-16 2013-10-08 Microsoft Corporation Secure local update of content management software
JP5616528B2 (ja) * 2010-07-22 2014-10-29 ナグラビジョン エス アー ソフトウェアの完全性を保証するためのプロセッサにより実施される方法
CA2759971A1 (en) * 2010-11-29 2012-05-29 Groupe Cgi Inc. Method for storing (hiding) a key in a table and corresponding method for retrieving the key from the table
US8862902B2 (en) * 2011-04-29 2014-10-14 Seagate Technology Llc Cascaded data encryption dependent on attributes of physical memory
US9465755B2 (en) * 2011-07-18 2016-10-11 Hewlett Packard Enterprise Development Lp Security parameter zeroization
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US8732527B2 (en) 2011-08-16 2014-05-20 Google Inc. Secure recovery apparatus and method
US9021246B2 (en) * 2011-10-28 2015-04-28 GM Global Technology Operations LLC Method to replace bootloader public key
US8756594B2 (en) * 2011-10-28 2014-06-17 Microsoft Corporation Reactive anti-tampering system for protected services in an enterprise computing system
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
KR101301609B1 (ko) 2012-05-31 2013-08-29 서울대학교산학협력단 비밀키 생성 장치 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9798901B2 (en) 2013-04-30 2017-10-24 Nxp Usa, Inc. Device having a security module
US20140344581A1 (en) * 2013-05-16 2014-11-20 Cisco Technology, Inc. Secure Upgrades for Field Programmable Devices
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9521635B1 (en) 2013-05-21 2016-12-13 Marvell International Ltd. Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system
US9836306B2 (en) 2013-07-31 2017-12-05 Marvell World Trade Ltd. Parallelizing boot operations
US9497221B2 (en) * 2013-09-12 2016-11-15 The Boeing Company Mobile communication device and method of operating thereof
US9607177B2 (en) * 2013-09-30 2017-03-28 Qualcomm Incorporated Method for securing content in dynamically allocated memory using different domain-specific keys
EP3087471A4 (en) * 2013-12-27 2017-10-11 Intel Corporation Controlled customization of silicon initialization
US20150286823A1 (en) * 2014-04-07 2015-10-08 Qualcomm Incorporated System and method for boot sequence modification using chip-restricted instructions residing on an external memory device
US10169618B2 (en) 2014-06-20 2019-01-01 Cypress Semiconductor Corporation Encryption method for execute-in-place memories
US10192062B2 (en) * 2014-06-20 2019-01-29 Cypress Semiconductor Corporation Encryption for XIP and MMIO external memories
US10691838B2 (en) 2014-06-20 2020-06-23 Cypress Semiconductor Corporation Encryption for XIP and MMIO external memories
CN104320248A (zh) * 2014-11-14 2015-01-28 中国建设银行股份有限公司 一种系统间密钥同步的方法及系统
US10541811B2 (en) * 2015-03-02 2020-01-21 Salesforce.Com, Inc. Systems and methods for securing data
US10114958B2 (en) * 2015-06-16 2018-10-30 Microsoft Technology Licensing, Llc Protected regions
US20160378151A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Rack scale architecture (rsa) and shared memory controller (smc) techniques of fast zeroing
US9996479B2 (en) * 2015-08-17 2018-06-12 Micron Technology, Inc. Encryption of executables in computational memory
US9917687B2 (en) * 2015-10-12 2018-03-13 Microsoft Technology Licensing, Llc Migrating secrets using hardware roots of trust for devices
US10979412B2 (en) 2016-03-08 2021-04-13 Nxp Usa, Inc. Methods and apparatus for secure device authentication
SG10201602449PA (en) * 2016-03-29 2017-10-30 Huawei Int Pte Ltd System and method for verifying integrity of an electronic device
CN107808099B (zh) * 2016-09-08 2021-03-16 北京自动化控制设备研究所 嵌入式软件加密/解密系统及方法
US10896267B2 (en) * 2017-01-31 2021-01-19 Hewlett Packard Enterprise Development Lp Input/output data encryption
US10872043B2 (en) * 2017-08-17 2020-12-22 Microchip Technology Incorporated Systems and methods for integrity checking of code or data in a mixed security system while preserving confidentiality
CN108108631A (zh) * 2017-11-29 2018-06-01 晨星半导体股份有限公司 一种根密钥处理方法及相关装置
US10757087B2 (en) 2018-01-02 2020-08-25 Winbond Electronics Corporation Secure client authentication based on conditional provisioning of code signature
US11314858B2 (en) * 2018-10-10 2022-04-26 Comcast Cable Communications, Llc Event monitoring
FR3098613A1 (fr) * 2019-07-09 2021-01-15 STMicroelectronics (Grand Ouest) SAS Procede de gestion du fonctionnement d’au moins un logiciel applicatif chiffre et circuit integre correspondant
CN112241272B (zh) * 2019-07-17 2023-08-01 宇通客车股份有限公司 一种车载仪表及其升级方法、系统
CN113496016A (zh) * 2020-04-08 2021-10-12 深圳市中兴微电子技术有限公司 一种内存的访问方法、系统级芯片和电子设备
US11416621B2 (en) * 2020-06-18 2022-08-16 Micron Technology, Inc. Authenticating software images
US11728997B2 (en) * 2020-09-08 2023-08-15 Micron Technology, Inc. Cloud-based creation of a customer-specific symmetric key activation database
JP7391802B2 (ja) * 2020-09-11 2023-12-05 株式会社東芝 情報処理装置、情報処理方法及びコンピュータプログラム
US11580215B2 (en) * 2020-09-14 2023-02-14 Micron Technology, Inc. Authenticating software images

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4168396A (en) 1977-10-31 1979-09-18 Best Robert M Microprocessor for executing enciphered programs
US4465901A (en) 1979-06-04 1984-08-14 Best Robert M Crypto microprocessor that executes enciphered programs
US6822553B1 (en) 1985-10-16 2004-11-23 Ge Interlogix, Inc. Secure entry system with radio reprogramming
US4920483A (en) 1985-11-15 1990-04-24 Data General Corporation A computer memory for accessing any word-sized group of contiguous bits
US4797853A (en) 1985-11-15 1989-01-10 Unisys Corporation Direct memory access controller for improved system security, memory to memory transfers, and interrupt processing
US4951249A (en) * 1986-10-24 1990-08-21 Harcom Security Systems Corp. Method and apparatus for controlled access to a computer system
US5144659A (en) 1989-04-19 1992-09-01 Richard P. Jones Computer file protection system
DE69130519T2 (de) * 1990-06-29 1999-06-10 Digital Equipment Corp Hochleistungsfähiger Multiprozessor mit Gleitkommaeinheit und Verfahren zu seinem Betrieb
GB2255260B (en) 1991-04-24 1995-06-14 Mars Inc Transaction systems
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5918007A (en) 1992-05-27 1999-06-29 International Business Machines Corporation Trusted personal computer system with limited accessibility
US5440713A (en) 1992-05-29 1995-08-08 Industrial Technology Research Institute M-way N-port paged-interleaved memory system
US5603081A (en) 1993-11-01 1997-02-11 Telefonaktiebolaget Lm Ericsson Method for communicating in a wireless communication system
SG48838A1 (en) 1992-12-30 1998-05-18 Telstra Corp Ltd A method and apparatus for generating a cipher
US5561817A (en) 1993-08-16 1996-10-01 Thermo King Corporation Method of securely controlling direct memory access (DMA) of a shared memory by a DMA device on an expansion board
US5841868A (en) 1993-09-21 1998-11-24 Helbig, Sr.; Walter Allen Trusted computer system
US5491827A (en) 1994-01-14 1996-02-13 Bull Hn Information Systems Inc. Secure application card for sharing application data and procedures among a plurality of microprocessors
US5805706A (en) * 1996-04-17 1998-09-08 Intel Corporation Apparatus and method for re-encrypting data without unsecured exposure of its non-encrypted format
US5564054A (en) * 1994-08-25 1996-10-08 International Business Machines Corporation Fail-safe computer boot apparatus and method
US5544255A (en) 1994-08-31 1996-08-06 Peripheral Vision Limited Method and system for the capture, storage, transport and authentication of handwritten signatures
US5893921A (en) 1995-02-10 1999-04-13 International Business Machines Corporation Method for maintaining memory coherency in a computer system having a cache utilizing snoop address injection during a read transaction by a dual memory bus controller
US5610980A (en) * 1995-02-13 1997-03-11 Eta Technologies Corporation Method and apparatus for re-initializing a processing device and a storage device
US5757915A (en) 1995-08-25 1998-05-26 Intel Corporation Parameterized hash functions for access control
DE19536169A1 (de) 1995-09-29 1997-04-03 Ibm Multifunktionale Chipkarte
US6577734B1 (en) * 1995-10-31 2003-06-10 Lucent Technologies Inc. Data encryption key management system
US5809230A (en) 1996-01-16 1998-09-15 Mclellan Software International, Llc System and method for controlling access to personal computer system resources
US5825878A (en) 1996-09-20 1998-10-20 Vlsi Technology, Inc. Secure memory management unit for microprocessor
US5937063A (en) * 1996-09-30 1999-08-10 Intel Corporation Secure boot
US6101543A (en) 1996-10-25 2000-08-08 Digital Equipment Corporation Pseudo network adapter for frame capture, encapsulation and encryption
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
JPH10177560A (ja) 1996-12-17 1998-06-30 Ricoh Co Ltd 記憶装置
US5887131A (en) 1996-12-31 1999-03-23 Compaq Computer Corporation Method for controlling access to a computer system by utilizing an external device containing a hash value representation of a user password
US5930824A (en) * 1997-02-04 1999-07-27 International Business Machines Corporation System and method for demand-base data recovery
DE19708616C2 (de) 1997-03-03 1999-09-02 Siemens Ag Elektronische Datenverarbeitungseinrichtung und -system
GB2325061B (en) 1997-04-30 2001-06-06 Advanced Risc Mach Ltd Memory access protection
US5935247A (en) 1997-09-18 1999-08-10 Geneticware Co., Ltd. Computer system having a genetic code that cannot be directly accessed and a method of maintaining the same
US6438666B2 (en) * 1997-09-26 2002-08-20 Hughes Electronics Corporation Method and apparatus for controlling access to confidential data by analyzing property inherent in data
US6023510A (en) 1997-12-24 2000-02-08 Philips Electronics North America Corporation Method of secure anonymous query by electronic messages transported via a public network and method of response
US6230269B1 (en) 1998-03-04 2001-05-08 Microsoft Corporation Distributed authentication system and method
US6226742B1 (en) 1998-04-20 2001-05-01 Microsoft Corporation Cryptographic technique that provides fast encryption and decryption and assures integrity of a ciphertext message through use of a message authentication code formed through cipher block chaining of the plaintext message
US6141756A (en) * 1998-04-27 2000-10-31 Motorola, Inc. Apparatus and method of reading a program into a processor
US6775778B1 (en) * 1998-05-29 2004-08-10 Texas Instruments Incorporated Secure computing device having boot read only memory verification of program code
EP0961193B1 (en) * 1998-05-29 2010-09-01 Texas Instruments Incorporated Secure computing device
US6182142B1 (en) 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
US6385727B1 (en) * 1998-09-25 2002-05-07 Hughes Electronics Corporation Apparatus for providing a secure processing environment
US6116402A (en) 1998-10-23 2000-09-12 Coinstar, Inc. Voucher coding for self-service coin discriminator
US20020013911A1 (en) * 1998-11-24 2002-01-31 Cordella Robert H. Compact hardware architecture for secure exchange of information and advanced computing
WO2003012614A1 (en) * 1998-11-24 2003-02-13 Cyberdfnz, Inc. A multi-system architecture using general purpose active-backplane and expansion-bus compatible single board computers and their peripherals for secure exchange of information and advanced computing
US6408387B1 (en) * 1999-01-22 2002-06-18 Intel Corporation Preventing unauthorized updates to a non-volatile memory
US6311255B1 (en) 1999-04-29 2001-10-30 International Business Machines Corporation System and method for selectively restricting access to memory for bus attached unit IDs
US6711684B1 (en) * 1999-06-08 2004-03-23 General Instrument Corporation Variable security code download for an embedded processor
US6609169B1 (en) * 1999-06-14 2003-08-19 Jay Powell Solid-state audio-video playback system
US20020042882A1 (en) * 2000-10-10 2002-04-11 Dervan R. Donald Computer security system
US7055038B2 (en) * 2001-05-07 2006-05-30 Ati International Srl Method and apparatus for maintaining secure and nonsecure data in a shared memory system
US20020184512A1 (en) * 2001-05-31 2002-12-05 Cardoso Augusto C. Method and apparatus for supporting remote configuration to facilitate subscriber management
US6971051B2 (en) * 2002-01-10 2005-11-29 Agilent Technologies, Inc. System and method of recovering from soft memory errors

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018508063A (ja) * 2014-12-30 2018-03-22 ジエマルト・エス・アー セキュア素子

Also Published As

Publication number Publication date
EP1648109B1 (en) 2013-03-27
KR20040101342A (ko) 2004-12-02
IL164718A0 (en) 2005-12-18
WO2003090402A1 (en) 2003-10-30
AU2003223671A1 (en) 2003-11-03
CA2481569A1 (en) 2003-10-30
IL164718A (en) 2009-11-18
US6957335B2 (en) 2005-10-18
JP4473330B2 (ja) 2010-06-02
RU2295834C2 (ru) 2007-03-20
CN1647443B (zh) 2010-05-05
CA2481569C (en) 2008-10-07
JP2005523537A (ja) 2005-08-04
CN1647443A (zh) 2005-07-27
WO2003090402A8 (en) 2004-12-29
US20030200454A1 (en) 2003-10-23
US20040088559A1 (en) 2004-05-06
RU2004133759A (ru) 2005-08-27
US7356707B2 (en) 2008-04-08
EP1500225A4 (en) 2007-12-12
EP1648109A2 (en) 2006-04-19
US20040083375A1 (en) 2004-04-29
US6715085B2 (en) 2004-03-30
EP1500225A1 (en) 2005-01-26
PL372374A1 (en) 2005-07-25
JP4464689B2 (ja) 2010-05-19
KR100809977B1 (ko) 2008-03-07
EP1648109A3 (en) 2007-12-26

Similar Documents

Publication Publication Date Title
JP4473330B2 (ja) データ・アクセス制御機能を使用した、統合システム内でのセキュア動作の初期化、維持、更新および回復
US8190917B2 (en) System and method for securely saving and restoring a context of a secure program loader
JP5643318B2 (ja) 一時的な機密のセキュアストレージ方法
JP4099039B2 (ja) プログラム更新方法
US7089419B2 (en) Control function with multiple security states for facilitating secure operation of an integrated system
US7945789B2 (en) System and method for securely restoring a program context from a shared memory
JP5636371B2 (ja) 汎用コンピューティングデバイスにおけるコード実行制御および再帰的セキュリティプロトコルでのコード実行制御のための方法およびシステム
US8095802B2 (en) System and method for securely saving a program context to a shared memory
US20070237325A1 (en) Method and apparatus to improve security of cryptographic systems
WO2000010283A1 (en) Digital content protection using a secure booting method and apparatus
AU1062399A (en) An apparatus for providing a secure processing environment
WO2006136881A1 (en) Device and method for securing software
JP2009253490A (ja) メモリシステムの暗号化方式
CA2638955C (en) Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
JP2007272923A5 (ja)
MXPA00005081A (en) An apparatus for providing a secure processing environment

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091118

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100216

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100304

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

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4473330

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees