JP7027664B2 - ハッキング耐性のあるコンピュータ設計 - Google Patents
ハッキング耐性のあるコンピュータ設計 Download PDFInfo
- Publication number
- JP7027664B2 JP7027664B2 JP2017540073A JP2017540073A JP7027664B2 JP 7027664 B2 JP7027664 B2 JP 7027664B2 JP 2017540073 A JP2017540073 A JP 2017540073A JP 2017540073 A JP2017540073 A JP 2017540073A JP 7027664 B2 JP7027664 B2 JP 7027664B2
- Authority
- JP
- Japan
- Prior art keywords
- partition
- computer
- data
- memory
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
も、達成され得る。重要なデータ・ファイルを保護するために、第2のパーティションは、第1のパーティションのメモリ・アドレッシングから読み取る、又は第1のパーティションのメモリ・アドレッシングに書き込むことを、ハードウェア的に制限される。第2のパーティションのデータは、第1のパーティションのオペレーティング・システムによって実行される「プル」コマンドを通して、第1のパーティションに転送される。さらに、第2のパーティションは、第1のパーティションにデータを「プッシュ」すること、又は「プル」コマンドを送るように第1のパーティションを制御することはできない。第1のパーティションによって第2のパーティションからプルされるすべてのデータは、ハードウェア設計によって、第2のパーティションから読み取られたデータ・ファイル専用の第1のパーティションのメモリ・セクション内に記憶される。さらに、第1のパーティションは、ハードウェア制限によって、第2のパーティションから読み取られたデータ・ファイルが実行されることを防止する。結果として、第1のパーティション上に記憶された重要なプログラム及び重要なデータ・ファイルは、第2のパーティションに悪影響を及ぼすインターネット又は他の任意のソースからの悪意あるコードから保護される。
第1のCPUと、
第1のメモリ・モジュールであって、
プログラム・コード用の少なくとも1つのメモリ・アドレス範囲であって、前記プログラム・コードが、コンピュータ実行可能コードを含み、プログラム・コード用の前記少なくとも1つのメモリ・アドレス範囲が、ハードウェア回路によって改変から保護されるように構成される、プログラム・コード用の少なくとも1つのメモリ・アドレス範囲と、
第2のパーティションから読み取られたデータを含む、他のデータ用の少なくとも1つのメモリ・アドレス範囲と
を備える第1のメモリ・モジュールと
からなり、
前記第1のCPUが、プログラム・コード用の前記メモリ・アドレス範囲内の前記コンピュータ実行可能コードだけを実行するようにハードウェア的に構成される、
第1のパーティションと、
第2のパーティションであって、
第2のCPUと、
第2のメモリ・モジュールと、
ネットワークに結合するように構成された少なくとも1つの通信モジュールと
からなる第2のパーティションと
からなり、
前記第1のCPUが、前記第2のCPU及び前記第2のメモリ・モジュールにアクセスすることができ、
前記第2のCPUが、前記第1のCPU又は前記第1のメモリ・モジュールにアクセスすることを制限される、
コンピュータ・システムを要旨とする。
第2の態様は、第1の態様のコンピュータ・システムにおいて、メモリ・アドレッシング構造が、
プログラム・コード用の前記少なくとも1つのメモリ・アドレス範囲のための第1のメモリ・ユニットと、
他のデータ用の前記少なくとも1つのメモリ・アドレス範囲のための第2のメモリ・ユニットと
からなることを要旨とする。
第3の態様は、第1の態様のコンピュータ・システムにおいて、プログラム・コード用の前記メモリ・アドレッシング構造をマッピングする前記ハードウェア回路が、少なくとも1つのフィールド・プログラマブル・ゲート・アレイからなる、ことを要旨とする。
第4の態様は、第1の態様のコンピュータ・システムにおいて、他のデータ用の前記少なくとも1つのメモリ・アドレス範囲が、
前記第2のパーティションから読み取られたデータ用の少なくとも1つのメモリ・アドレス範囲と、
他の第1のパーティション・データ用の少なくとも1つのメモリ・アドレス範囲と
を備えることを要旨とする。
第5の態様は、第1の態様のコンピュータ・システムにおいて、前記メモリ・アドレッシング構造が、
プログラム・コード用の前記少なくとも1つのメモリ・アドレス範囲のための第1のメモリ・ユニットと、
前記第2のパーティションから読み取られたデータ用の第2のメモリ・ユニットと、
他の第1のパーティション・データ用の第3のメモリ・ユニットと
からなることを要旨とする。
第6の態様は、第1の態様のコンピュータ・システムにおいて、オン又はオフにすることができる少なくとも1つの外部物理スイッチを備え、前記外部物理スイッチがオンのときだけ、前記第1のCPUが、プログラム・コード用の前記少なくとも1つのアドレス範囲内に記憶されたデータを変更することができることを要旨とする。
第7の態様は、第1の態様のコンピュータ・システムにおいて、オン又はオフにすることができる少なくとも1つの外部物理スイッチを備え、
前記外部物理スイッチがオンのときだけ、前記第1のCPUが、プログラム・コード用の前記少なくとも1つのアドレス範囲内に記憶されたデータを変更することができ、
前記少なくとも1つの外部物理スイッチがオンの間、前記第1のCPUが前記第2のCPU及び前記第2のメモリ・モジュールにアクセスする能力が、無効化されることを要旨とする。
第8の態様は、第1の態様のコンピュータ・システムにおいて、前記第1のパーティションに直接的に接続された外部デバイスを利用するハードウェア機能が、ユーザが、前記第2のパーティションの1つ又は複数の入力/出力デバイスの制御を行うように、前記第1のCPUに命令することを可能にするように構成されることを要旨とする。
第9の態様は、第1の態様のコンピュータ・システムにおいて、プログラム・コード用の前記少なくとも1つのアドレス範囲が、オペレーティング・システムを含むことを要旨とする。
第10の態様は、第1の態様のコンピュータ・システムにおいて、少なくとも1つのデータ・ストアを備えることを要旨とする。
第11の態様は、第1の態様のコンピュータ・システムにおいて、複数の入力/出力デバイスが、少なくとも1つのI/Oモジュールに結合されることを要旨とする。
第12の態様は、第1の態様のコンピュータ・システムにおいて、前記第1のパーティション及び第2のパーティションからなるチップをさらに備えることを要旨とする。
第13の態様は、第1の態様のコンピュータ・システムにおいて、前記第1のパーティションからなる第1のチップと、前記第2のパーティションからなる第2のチップとをさらに備えることを要旨とする。
第14の態様は、第1の態様のコンピュータ・システムにおいて、前記第1のCPUが前記第2のメモリ・モジュール及び前記第2のCPUにアクセスする前記能力が、ハードウェア回路によって実施され、
前記第1のCPUが、前記第2のパーティションから他のデータ用の前記少なくとも1つのメモリ・アドレス範囲内だけに読み取ることができ、
前記第1のCPU又は前記第1のメモリ・モジュールへのアクセスについての前記第2のCPUに対する制限が、ハードウェア回路によって実施されることを要旨とする。
第15の態様は、第1の態様のコンピュータ・システムにおいて、バスをさらに備え、
前記第1のパーティションが、前記バスを通して、前記第2のパーティションに相互接続され、
前記第1のパーティションが、前記バスを通して、プル・コマンドを実行して、データを前記第2のパーティションから読み取り、前記データを前記第2のパーティションから読み取られたデータに適用可能な前記少なくとも1つのメモリ・アドレス範囲だけに書き込むように構成され、
前記第1のパーティションが、前記バスを通して、プッシュ・コマンドを実行して、データを前記第2のパーティションに書き込むように構成されることを要旨とする。
第16の態様は、第1の態様のコンピュータ・システムにおいて、ハードウェア・ユニットを備え、
前記ユニットが、インターネットを通して、1つ又は複数の事前に定められたサービスだけに接続されて、新しい重要なアプリケーションをダウンロードするように、又は既存の重要なアプリケーションを更新するように構成され、
前記ユニットが、前記第1のパーティションに接続するように、又は更新データを不揮発性メモリ上に書き込むように構成され、
前記第1のパーティションが、ハードウェア・スイッチがオンのときだけ、前記ユニット又は前記不揮発性メモリからデータを受け入れるように構成されることを要旨とする。
第17の態様は、第1の態様のコンピュータ・システムにおいて、前記システムに組み込まれたハードウェア・ユニットを備え、
前記ユニットが、インターネットを通して、1つ又は複数の事前に定められたサービスだけに接続するように構成された、固定されたハードウェア又はファームウェアを備え、
前記第1のパーティションが、ハードウェア・スイッチがオンのときだけ、前記ユニットからデータを受け入れるように構成されることを要旨とする。
第18の態様は、第1の態様のコンピュータ・システムにおいて、インターネットなどのネットワーク上で、又は限定することなく、Bluetooth及びRFID送信を含む、ローカル無線通信を通して、通信することができるデバイスに接続され、前記デバイス又は前記コンピュータ・システムが、流通前に、製造業者によって、保護されたメモリ内に1つ又は複数のセキュリティ・キーを入れて準備されることを要旨とする。
第19の態様は、第1の態様のコンピュータ・システムにおいて、2つ以上の第1のパーティション、又は2つ以上の第2のパーティション、又は2つ以上の第1及び第2のパーティションを備えるように構成され、
各第2のパーティションの前記CPUが、各第1のパーティションの前記CPU又はメモリ・モジュールにアクセスすることをハードウェア的に制限されることを要旨とする。
第20の態様は、第1の態様のコンピュータ・システムにおいて、前記第1のパーティションが、1つ又は複数の仮想サブパーティションからなり、
前記第2のパーティションが、1つ又は複数の仮想サブパーティションからなることを要旨とする。
第21の態様は、第1の仮想パーティション・ファミリであって、
少なくとも1つのパーティションと、
少なくとも1つのCPUと、
少なくとも1つのメモリ・モジュールであって、
プログラム・コード用の少なくとも1つのアドレス範囲であって、前記プログラム・コードが、コンピュータ実行可能コードを含み、プログラム・コード用の前記少なくとも1つのアドレス範囲が、通常の動作状態では、読み取り専用として構成される、プログラム・コード用の少なくとも1つのアドレス範囲と、
第2のパーティションから読み取られたデータを含む、他のデータ用の少なくとも1つのメモリ・アドレス範囲と
を備える少なくとも1つのメモリ・モジュールと
からなり、
前記第1の仮想パーティション・ファミリの前記少なくとも1つのCPUが、プログラム・コード用の前記少なくとも1つのアドレス範囲内に記憶された前記コンピュータ実行可能コードだけを実行するように構成される、
第1の仮想パーティション・ファミリと、
第2の仮想パーティション・ファミリであって、
少なくとも1つのパーティションと、
少なくとも1つのCPUと、
少なくとも1つのメモリ・モジュールと、
ネットワークに結合することが可能な少なくとも1つの通信モジュールと
からなる第2の仮想パーティション・ファミリと
からなり、
前記第1の仮想パーティション・ファミリの前記少なくとも1つのCPUが、前記第2の仮想パーティション・ファミリの前記少なくとも1つのCPU及び前記少なくとも1つのメモリ・モジュールにアクセスすることができるように構成され、
前記第2の仮想パーティション・ファミリの前記少なくとも1つのCPUが、前記第1の仮想パーティション・ファミリの前記少なくとも1つのCPU又は前記第1の仮想パーティション・ファミリの前記少なくとも1つのメモリ・モジュールにアクセスすることができないように構成される、
コンピュータ・システムを要旨とする。
第22の態様は、第21の態様のコンピュータ・システムにおいて、前記コンピュータに接続された少なくとも1つのデバイスを利用し、オン又はオフにすることができるハードウェア機能を備え、前記ハードウェア・デバイスがオンでない限り、前記第1の仮想パーティション・ファミリの前記少なくとも1つのCPUが、プログラム・コード用の前記第1の仮想パーティション・ファミリ・アドレス範囲内のデータを変更することはできないことを要旨とする。
第23の態様は、第21の態様のコンピュータ・システムにおいて、前記コンピュータに接続された少なくとも1つのデバイスからなり、オン位置及びオフ位置を含むハードウェア機能
を備え、
前記ハードウェア・デバイスが前記オン位置にない限り、前記第1の仮想パーティション・ファミリの前記少なくとも1つのCPUが、プログラム・コード用の前記第1の仮想パーティション・ファミリ・アドレス範囲内のデータを変更することはできず、
前記少なくとも1つのハードウェア・デバイスが前記オン位置にある間、前記第1の仮想パーティション・ファミリの前記少なくとも1つのCPUが前記第2の仮想パーティション・ファミリにアクセスする能力が、無効化されることを要旨とする。
第24の態様は、第21の態様のコンピュータ・システムにおいて、ハードウェア・デバイスが、仮想サーバをホストするサーバ・バンクと、インターネットなどのネットワークに接続するために使用されるルータとの間に配置され、
前記第1のパーティションによって開始された場合、又はハードウェア・スイッチによって許可された場合を除いて、コード又はデータが前記第1のパーティションに書き込まれ得ないように、前記デバイスが、前記パーティション間、又は前記パーティションに接続された外部ユニットもしくはコンピュータ間のすべてのトラフィックを管理し、
前記デバイス自体が、それの構成スイッチがオン位置にあるときだけ、トラフィックをそれの3つの別個の進路(読み取り及び書き込み、読み取り専用、ならびに接続なし/要求の拒否)に向かわせるように構成されてよいことを要旨とする。
第25の態様は、第21の態様のコンピュータ・システムにおいて、前記コンピュータに接続された少なくとも1つのハードウェア・デバイスを備え、前記少なくとも1つのハードウェア・デバイスは、オン又はオフにすることができ、前記少なくとも1つのハードウェア・デバイスがオンでない限り、前記第1の仮想パーティション・ファミリの仮想構成が、変更され得ないことを要旨とする。
第26の態様は、第1のコンピュータであって、
CPUと、
メモリ・モジュールであって、
プログラム・コード用の少なくとも1つのメモリ・アドレス範囲であって、前記プログラム・コードが、コンピュータ実行可能コードを含み、プログラム・コード用の前記少なくとも1つのメモリ・アドレス範囲が、ハードウェア回路によって改変から保護されるように構成される、プログラム・コード用の少なくとも1つのメモリ・アドレス範囲と、
第2のコンピュータから読み取られたデータを含む、他のデータ用の少なくとも1つのメモリ・アドレス範囲と
を備えるメモリ・モジュールと
からなり、
前記少なくとも1つのCPUが、プログラム・コード用の前記メモリ・アドレス範囲内の前記コンピュータ実行可能コードだけを実行するようにハードウェア的に構成される、
第1のコンピュータと、
第2のコンピュータであって、
CPUと、
ネットワークに結合するように構成された少なくとも1つの通信モジュールと
からなる第2のコンピュータと、
バスと
からなり、
前記第1のコンピュータと前記第2のコンピュータとが、前記バスを通してだけ相互接続され、
前記第1のコンピュータが、前記バスを通して、プル・コマンドを実行して、データを前記第2のコンピュータから読み取り、前記データを前記第2のコンピュータから読み取られたデータに適用可能な前記少なくとも1つのメモリ・アドレス範囲だけに書き込むように、前記バスが、構成され、
前記第1のコンピュータが、前記バスを通して、プッシュ・コマンドを実行して、データを前記第2のコンピュータに送るように、前記バスが、構成され、
前記バスが、前記第2のコンピュータからのプッシュ・コマンド、又は前記第2のコンピュータからのプル・コマンドを受け入れることはできず、
前記バスのハードウェア回路が、前記第2のコンピュータが、前記第1のコンピュータの前記CPU又は前記メモリ・モジュールにアクセスすることを許可しない、
コンピュータ・システムを要旨とする。
第27の態様は、第26の態様のコンピュータ・システムにおいて、メモリ・アドレッシング構造が、
プログラム・コード用の前記少なくとも1つのメモリ・アドレス範囲のための第1のメモリ・ユニットと、
他のデータ用の前記少なくとも1つのメモリ・アドレス範囲のための第2のメモリ・ユニットと
からなることを要旨とする。
第28の態様は、第26の態様のコンピュータ・システムにおいて、プログラム・コード用の前記メモリ・アドレッシング構造をマッピングする前記ハードウェア回路が、少なくとも1つのフィールド・プログラマブル・ゲート・アレイからなることを要旨とする。
第29の態様は、第26の態様のコンピュータ・システムにおいて、他のデータ用の前記少なくとも1つのメモリ・アドレス範囲が、
前記第2のコンピュータから読み取られたデータ用の少なくとも1つのメモリ・アドレス範囲と、
他の第1のコンピュータ・データ用の少なくとも1つのメモリ・アドレス範囲と
を備えることを要旨とする。
第30の態様は、第26の態様のコンピュータ・システムにおいて、前記メモリ・アドレッシング構造が、
プログラム・コード用の前記少なくとも1つのメモリ・アドレス範囲のための第1のメモリ・ユニットと、
前記第2のコンピュータから読み取られたデータ用の第2のメモリ・ユニットと、
他の第1のコンピュータ・データ用の第3のメモリ・ユニットと
からなることを要旨とする。
第31の態様は、第26の態様のコンピュータ・システムにおいて、オン又はオフにすることができる少なくとも1つの外部物理スイッチを備え、前記外部物理スイッチがオンのときだけ、前記第1のコンピュータの前記CPUが、プログラム・コード用の前記少なくとも1つのアドレス範囲内に記憶されたデータを変更することができることを要旨とする。
第32の態様は、第26の態様のコンピュータ・システムにおいて、プログラム・コード用の前記少なくとも1つのアドレス範囲が、オペレーティング・システムを含むことを要旨とする。
第33の態様は、第26の態様のコンピュータ・システムにおいて、少なくとも1つのデータ・ストアを備えることを要旨とする。
第34の態様は、第26の態様のコンピュータ・システムにおいて、前記第1のコンピュータが、少なくとも1つの入力/出力モジュールを備え、
複数の入力/出力デバイスが、少なくとも1つのI/Oモジュールに結合されることを要旨とする。
第35の態様は、2つのコンピュータを接続するように設計されたバスであって、
第1のコンピュータが、前記バスを通して、プル・コマンドを実行して、データを第2のコンピュータから読み取り、それを前記第1のコンピュータに配送するように、前記バスが、構成され、
前記第1のコンピュータが、前記バスを通して、プッシュ・コマンドを実行して、データを前記第2のコンピュータに送るように、前記バスが、構成され、
前記バスが、前記第2のコンピュータからのプッシュ・コマンド、又は前記第2のコンピュータからのプル・コマンドを許可せず、
前記バスのハードウェア回路が、前記第2のコンピュータが、前記第1のコンピュータのCPU又はメモリ・モジュールにアクセスすることを許可しない、
バスを要旨とする。
詳細な説明は、添付の図を参照する。
れてよく、それらのいくつかは、開示された実施形態におけるそれらと全く異なってよい。結果として、本明細書で開示される特定の構造的及び機能的詳細は、代表的なものにすぎないが、それでも、その点において、それらは、開示の目的で最良の実施形態を提供すると見なされる。
。
ーブルを含む。したがって、バス・コントローラ512は、比較器を利用して、バス510を通してメッセージを送るコンポーネントのアドレスを比較して、メッセージの発生元を決定することができる。第1のパーティション502から発生したことが認証されたメッセージだけが、メッセージ待ち行列514内に記憶される。バス・コントローラ512は、メッセージ待ち行列514内に待ち行列化されたメッセージを送信するように構成される。結果として、バス・コントローラ512は、第2のパーティション516のコンポーネントが、メッセージ待ち行列514にメッセージを追加することを防止するので、バス・コントローラ512のハードウェア回路は、第2のパーティション516のコンポーネントが、第1のパーティション502のコンポーネント(例えば、CPU504及びメモリ506)と通信すること、又はそれらにアクセスすることを制限する。
るために、3つの別個のメモリを利用することも可能であることは、当業者に明らかである。
・コントローラは、制限された動作の送信先メモリ・アドレスへのマッピングを用いて、送信元アドレスと要求された動作(読み取り、書き込み、読み取り、リセット)とを比較することができる。結果として、メモリ・コントローラは、制限された動作が要求された場合、プログラム・コード・アドレスにマッピングするメモリ・ユニット又はメモリ・ユニットの一部を無効化することができる。プログラム・コード・アドレスが、単一のメモリ・ユニットにマッピングされる、実施形態では、メモリ・ユニットの書き込み制御線は、その線をグランド又はスイッチに接続することによって、無効化され得る。
ョンが、悪意あるコンピュータ実行可能コードによって悪影響を及ぼされた第2のパーティションのデータ・ファイルを回復することを可能にすることができる。悪意あるコンピュータ実行可能コードは、第2のパーティション、ならびにスクリーン及びキーボードに対するそれの制御を混乱させることができ、それによって、ユーザが、第2のパーティションを通してリモート端末にアクセスすることを妨げる。1実施形態では、第1のパーティションは、キーストローク・シーケンスを利用して、第1のパーティションに直接的に接続されたユーザが、悪意あるコンピュータ実行可能コードによって悪影響を及ぼされたセカンダリ・パーティションのスクリーン及びキーボードの制御ならびにプログラム制御を行うように、第1のパーティションのCPUに命令することを可能にする、ハードウェア機能を含む。第1のパーティションに直接的に接続された権限を与えられたユーザは、第1のパーティションを通して、第2のパーティション上の保護ソフトウェアを開始することができる。ユーザは、第2のパーティションのメモリ及び/もしくはデータ・ファイルを完全に消去して、悪意あるコンピュータ実行可能コードを削除するように、又は第2のパーティションを、そのような悪意あるコードのない以前にセーブされた状態に回復するように、第1のパーティションに命令することもできる。この実施形態では、第2のパーティションのオペレーティング・システム及びアプリケーションは、第1のパーティションによって記録される。結果として、第1のパーティションは、悪意あるコンピュータ実行可能コードを削除した後、第2のパーティションのオペレーティング・システム及びアプリケーションを回復することができる。第2のパーティションは、悪意あるコードの削除後、動作可能になり、それによって、コンピューティング・デバイスのための、リモート端末へのアクセスを可能にする。
のコンピュータ1300は、図6Aを参照して以下で詳細に説明されるように、オペレーティング・システム手法の使用を通して、ある程度の保護を達成することができる。しかしながら、そのような保護は、限定的であり、巧妙なハッカによるセキュリティ侵害を受けやすい。好適な本実施形態のハードウェア設計及び技法を使用して、第2のコンピュータ1400に悪影響を及ぼすいかなる悪意あるコンピュータ実行可能コードからも第1のコンピュータ1300を保護する、コンピューティング・デバイス1000も利用したほうが、はるかに高度な保護が得られる。コンピューティング・デバイス1000は、上で説明された完全に統合されたシステムのアーキテクチャの多くを具体化して、第1のコンピュータ1300が、第2のコンピュータ1400によってインターネットから受け取られたデータ及び要求を、第1のコンピュータ1300上でのハッキングの試みに耐える方法で、取り扱うことを可能にする。
、又はコンピューティング・デバイス1000を第1のコンピュータ1300に接続するための任意の知られた通信インターフェースとすることができる。第1のパーティション1100は、CPU1104と、メモリ1106と、少なくとも1つのデータ・ストア1108とをさらに備え、それらは、バス1102によって相互接続される。図3Aを参照して上で詳細に説明されたように、CPU1104は、メモリ1106のプログラム・コード用アドレス範囲、及びデータ・ストア1108上に記憶されたコンピュータ実行可能コードだけを実行することができる。これは、(本実施形態によって、それ自体がマルウェアから保護された)CPU1104のオペレーティング・システムによる、及びハードウェア回路による制御を通して達成される。
は、コンピューティング・デバイス1000が、データを第1のコンピュータ1300に送ることを防止する。対照的に、イネーブル更新スイッチ1004のオフ位置は、コンピューティング・デバイス1000が、第1のコンピュータ1300上で動作するソフトウェアにデータを送ることを許可する。イネーブル更新スイッチ1004のオフ位置は、書き込みモジュール1112のハードウェア回路に対する権限なしの変更を防止する。コンピューティング・デバイス1000及びコンピュータ1300は、上で説明された追加の保護スイッチ及び保護ソフトウェアも利用することができる。
ョンに接続され得る。ユニットは、新しい重要なアプリケーションのダウンロード、又は既存のアプリケーションの更新という特定の目的のために、イーサネット・ケーブル、Wi-Fi、又は類似の手段を通して、インターネットに接続されることが可能である。ユニットは、それが、この目的のために、1つ又は複数の事前に定められたサービスだけにインターネットを通して接続することを可能にする、固定されたハードウェア又はファームウェアを有することができる。そのような事前に設定されたアドレスは、例えば、コンピュータ及びソフトウェアの主要なサプライヤの公式な更新アドレスを含んでよい。インターネット・アドレスがタイプ入力されること、又はソフトウェアによって設定されることを許可する、通常のコンピュータと対照的に、このデバイスは、それのハードウェア又はファームウェアで事前に設定されたもの以外の、いかなるインターネット・アドレスに対しても、接続要求を送ることはできない。これは、デバイスによるアクセスを、事前に承認されたアドレスだけに制限する。
ューションは、悪意ある実行可能コンピュータ・コードの影響を受けやすいことがあるが、それは、重要なデータ・ファイルへのアクセスを制限すること、第1のコンピュータへのプログラム実行アクセスを制限すること、及び第2のコンピュータからのいかなる入力にもプログラム制御を与えないようにすることを含む、上で説明されたハードウェア・ソリューションの有益性のいくつかを提供することができる。この実施形態では、第1のコンピュータ1500は、知られた通信インターフェース、例えば、USB、eSATA、WiFi、又はイーサネットを利用して、第2のコンピュータ1600に接続される。第1のコンピュータ1500及び第2のコンピュータ1600は、当技術分野において知られたコンピュータ・アーキテクチャ、例えば、x86、ARM、及びPowerPCを利用する。そのため、第1のコンピュータ1500及び第2のコンピュータ1600は、コンピュータ実行可能コードを実行するためのオペレーティング・システムを含む。重要なファイル及びシステムは、第1のコンピュータ1500上に存在し、一方、第2のコンピュータ1600は、インターネットに接続するために使用される。この設計は、第1のコンピュータ1500のソフトウェアが、第1のコンピュータ1500のハッキングのリスクを低減する方法で、第2のコンピュータ1600と対話することを可能にする。第2のコンピュータ1600によってインターネットから受け取られることがあるマルウェアは、第1のコンピュータ1500上で動作するソフトウェアによって、第1のコンピュータ1500上の実行可能コードのポイントに達することを阻止される。
できる。しかしながら、第2のコンピュータ1600から読み取られたいかなるデータも、第1のコンピュータ1500の第2のパーティション・データ用アドレス・ブロック1508内に記憶され、第1のコンピュータ1500のオペレーティング・システムは、第2のパーティション・データ用アドレス・ブロック1508上に記憶されたデータ・ファイルを実行することを制限されるので、第1のコンピュータ1500は、第2のコンピュータ1600から転送されたいかなる悪意ある実行可能コードも実行しない。
いかなる入力にもプログラム制御を与えないようにするソフトウェア)は、仮想パーティションを使用せずに、第1及び第2のコンピュータのオペレーティング・システムに直接的に適用されてよい。いずれのケースでも、そのような実施形態は、ハッキングのリスクを低減することができるが、ソフトウェア保護ばかりでなくハードウェアも利用することができる、好適な実施形態における完全に統合されたシステムによって与えられる、より高度な保護を提供することはできない。
コンピュータにとって一般的な追加の機能性を有してよい。重要なファイル及びシステムは、FVPファミリ内に存在し、一方、SVPファミリは、インターネットなどのネットワーク上で通信することができる。対照的に、FVPファミリは、SVPファミリ、又はFVPファミリに直接的に接続されたI/Oデバイスとだけ、直接的に通信することができる。仮想パーティショニングは、FVPファミリが、インターネット、又はインターネットに接続されたサーバなどの他の任意のデバイスに接続されないように構成される。重要なデータ・ファイルを保護するために、SVPファミリ全体は、FVPファミリのいかなるメモリからの読み取りも、又はそれへの書き込みも禁止されるように構成される。
は、FVP1701と、FVP1702と、FVP1703とを含む。FVP1701は、実行可能コード及び非常に重要なデータを含み、FVP1702は、SVP1800から読み取られたデータを含み、FVP1703は、他のFVPデータを含む。FVP1700のオペレーティング・システムは、FVP1701内のプログラム・コード・アドレスに配置されたプログラム・コードだけを実行するように構成される。SVP1801は、SVP1800によって利用されるデータを含む。SVP1801からFVP1700によって読み取られるすべてのデータは、サブパーティションFVP1702内に記憶される。この実施形態では、ハイパーバイザ1910は、SVP1801のコンピューティング・デバイス1900のCPU1902へのアクセスを制限してある。
れたメモリを、読み取り専用として構成する。FVP1701上において重要なプログラムがインストール又は更新される、更新モードの場合、ハイパーバイザは、FVPファミリの動作を一時的に中断することができる。その後、ハイパーバイザは、FVP1701上において重要なプログラムをインストール又は更新するために、書き込みを許可するように、FVP1701を再構成する。重要なプログラムの更新が完了した後、ハイパーバイザは、FVP1701を読み取り専用として再構成し、FVP1700が通常の動作を再開することを可能にする。代替として、更新モードを可能にするために、FVP1701に書き込むことができるかどうかを制御するスイッチの形態を取るハードウェア変更が、システム内に導入され得る。このスイッチは、SVPファミリにアクセスするFVPファミリの能力も、オン又はオフにすることができる。加えて、そのスイッチ又は別個のスイッチは、FVPファミリに関して改変される仮想構成の能力を制限することができる。そのようなスイッチは、図5を参照して上で説明されたスイッチと同様に、論理ゲート、ファームウェア、フィールド・プログラマブル・ゲート・アレイ、又は他の類似の既存の技術を利用することができる。
ョン、又は2つ以上の第2のパーティションと組み合わされる2つ以上の第1のパーティションを用いても構成され得る。第1のパーティションの各々は、保護された実行可能コード及び非常に重要なデータを含む、メモリ構造を含む、単一の第1のパーティションの実施形態の基本的な特性を有し、各第1のパーティションは、論理ゲートなどのハードウェア回路を使用して、第2のパーティションのいずれによるアクセスからも、ハードウェア的に制限される。これは、例えば、単一のシステム上で複数のクライアントを動作させ、各クライアントの重要なファイルが、別個の保護された第1のパーティション上に保持されることを可能にする。それは、システムが、2つ以上の第2のパーティションを通して通信することも可能にし、それは、1つの第2のパーティションが、マルウェアによって悪影響を及ぼされた場合に、特に役立ち得る。
Claims (35)
- 第1のパーティションであって、
第1のCPUと、
第1のメモリ・モジュールであって、
プログラム・コード用の少なくとも1つのメモリ・アドレス範囲であって、前記プログラム・コードが、コンピュータ実行可能コードを含み、プログラム・コード用の前記少なくとも1つのメモリ・アドレス範囲が、ハードウェア回路によって改変から保護されるように構成される、プログラム・コード用の少なくとも1つのメモリ・アドレス範囲と、
第2のパーティションから読み取られたデータを含む、他のデータ用の少なくとも1つのメモリ・アドレス範囲と
を備える第1のメモリ・モジュールと
からなり、
前記第1のCPUが、プログラム・コード用の前記メモリ・アドレス範囲内の前記コンピュータ実行可能コードだけを実行するようにハードウェア的に構成される、
第1のパーティションと、
第2のパーティションであって、
第2のCPUと、
第2のメモリ・モジュールと、
ネットワークに結合するように構成された少なくとも1つの通信モジュールと
からなる第2のパーティションと
からなり、
前記第1のCPUが、前記第2のCPU及び前記第2のメモリ・モジュールにアクセスすることができ、
前記第2のCPUが、前記第1のCPU又は前記第1のメモリ・モジュールにアクセスすることを制限される、
コンピュータ・システム。 - メモリ・アドレッシング構造が、
プログラム・コード用の前記少なくとも1つのメモリ・アドレス範囲のための第1のメモリ・ユニットと、
他のデータ用の前記少なくとも1つのメモリ・アドレス範囲のための第2のメモリ・ユニットと
からなる、請求項1に記載のコンピュータ・システム。 - プログラム・コード用のメモリ・アドレッシング構造をマッピングする前記ハードウェア回路が、少なくとも1つのフィールド・プログラマブル・ゲート・アレイからなる、請求項1に記載のコンピュータ・システム。
- 他のデータ用の前記少なくとも1つのメモリ・アドレス範囲が、
前記第2のパーティションから読み取られたデータ用の少なくとも1つのメモリ・アドレス範囲と、
他の第1のパーティション・データ用の少なくとも1つのメモリ・アドレス範囲と
を備える、請求項1に記載のコンピュータ・システム。 - メモリ・アドレッシング構造が、
プログラム・コード用の前記少なくとも1つのメモリ・アドレス範囲のための第1のメモリ・ユニットと、
前記第2のパーティションから読み取られたデータ用の第2のメモリ・ユニットと、
他の第1のパーティション・データ用の第3のメモリ・ユニットと
からなる、請求項1に記載のコンピュータ・システム。 - オン又はオフにすることができる少なくとも1つの外部物理スイッチを備え、前記外部物理スイッチがオンのときだけ、前記第1のCPUが、プログラム・コード用の前記少なくとも1つのアドレス範囲内に記憶されたデータを変更することができる、請求項1に記載のコンピュータ・システム。
- オン又はオフにすることができる少なくとも1つの外部物理スイッチを備え、
前記外部物理スイッチがオンのときだけ、前記第1のCPUが、プログラム・コード用の前記少なくとも1つのアドレス範囲内に記憶されたデータを変更することができ、
前記少なくとも1つの外部物理スイッチがオンの間、前記第1のCPUが前記第2のCPU及び前記第2のメモリ・モジュールにアクセスする能力が、無効化される、
請求項1に記載のコンピュータ・システム。 - 前記第1のパーティションに直接的に接続された外部デバイスを利用するハードウェア機能が、ユーザが、前記第2のパーティションの1つ又は複数の入力/出力デバイスの制御を行うように、前記第1のCPUに命令することを可能にするように構成される、請求項1に記載のコンピュータ・システム。
- プログラム・コード用の前記少なくとも1つのアドレス範囲が、オペレーティング・システムを含む、請求項1に記載のコンピュータ・システム。
- 少なくとも1つのデータ・ストアを備える、請求項1に記載のコンピュータ・システム。
- 複数の入力/出力デバイスが、少なくとも1つのI/Oモジュールに結合される、請求項1に記載のコンピュータ・システム。
- 前記第1のパーティション及び第2のパーティションからなるチップをさらに備える、請求項1に記載のコンピュータ・システム。
- 前記第1のパーティションからなる第1のチップと、前記第2のパーティションからなる第2のチップとをさらに備える、請求項1に記載のコンピュータ・システム。
- 前記第1のCPUが前記第2のメモリ・モジュール及び前記第2のCPUにアクセスする能力が、ハードウェア回路によって実施され、
前記第1のCPUが、前記第2のパーティションから他のデータ用の前記少なくとも1つのメモリ・アドレス範囲内だけに読み取ることができ、
前記第1のCPU又は前記第1のメモリ・モジュールへのアクセスについての前記第2のCPUに対する制限が、ハードウェア回路によって実施される、
請求項1に記載のコンピュータ・システム。 - バスをさらに備え、
前記第1のパーティションが、前記バスを通して、前記第2のパーティションに相互接続され、
前記第1のパーティションが、前記バスを通して、プル・コマンドを実行して、データを前記第2のパーティションから読み取り、前記データを前記第2のパーティションから読み取られたデータに適用可能な前記少なくとも1つのメモリ・アドレス範囲だけに書き込むように構成され、
前記第1のパーティションが、前記バスを通して、プッシュ・コマンドを実行して、データを前記第2のパーティションに書き込むように構成される、
請求項1に記載のコンピュータ・システム。 - ハードウェア・ユニットを備え、
前記ユニットが、インターネットを通して、1つ又は複数の事前に定められたサービスだけに接続されて、新しい重要なアプリケーションをダウンロードするように、又は既存の重要なアプリケーションを更新するように構成され、
前記ユニットが、前記第1のパーティションに接続するように、又は更新データを不揮発性メモリ上に書き込むように構成され、
前記第1のパーティションが、ハードウェア・スイッチがオンのときだけ、前記ユニット又は前記不揮発性メモリからデータを受け入れるように構成される、
請求項1に記載のコンピュータ・システム。 - 前記システムに組み込まれたハードウェア・ユニットを備え、
前記ユニットが、インターネットを通して、1つ又は複数の事前に定められたサービスだけに接続するように構成された、固定されたハードウェア又はファームウェアを備え、
前記第1のパーティションが、ハードウェア・スイッチがオンのときだけ、前記ユニットからデータを受け入れるように構成される、
請求項1に記載のコンピュータ・システム。 - ネットワーク上で、又は限定することなく、Bluetooth及びRFID送信を含む、ローカル無線通信を通して、通信することができるデバイスに接続され、前記デバイス又は前記コンピュータ・システムが、流通前に、製造業者によって、保護されたメモリ内に1つ又は複数のセキュリティ・キーを入れて準備される、請求項1に記載のコンピュータ・システム。
- 2つ以上の第1のパーティション、又は2つ以上の第2のパーティション、又は2つ以上の第1及び第2のパーティションを備えるように構成され、
各第2のパーティションの前記CPUが、各第1のパーティションの前記CPU又はメモリ・モジュールにアクセスすることをハードウェア的に制限される、
請求項1に記載のコンピュータ・システム。 - 前記第1のパーティションが、1つ又は複数の仮想サブパーティションからなり、
前記第2のパーティションが、1つ又は複数の仮想サブパーティションからなる、
請求項1に記載のコンピュータ・システム。 - 第1の仮想パーティション・ファミリであって、
少なくとも1つのパーティションと、
少なくとも1つのCPUと、
少なくとも1つのメモリ・モジュールであって、
プログラム・コード用の少なくとも1つのアドレス範囲であって、前記プログラム・コードが、コンピュータ実行可能コードを含み、プログラム・コード用の前記少なくとも1つのアドレス範囲が、通常の動作状態では、読み取り専用として構成される、プログラム・コード用の少なくとも1つのアドレス範囲と、
第2のパーティションから読み取られたデータを含む、他のデータ用の少なくとも1つのメモリ・アドレス範囲と
を備える少なくとも1つのメモリ・モジュールと
からなり、
前記第1の仮想パーティション・ファミリの前記少なくとも1つのCPUが、プログラム・コード用の前記少なくとも1つのアドレス範囲内に記憶された前記コンピュータ実行可能コードだけを実行するように構成される、
第1の仮想パーティション・ファミリと、
第2の仮想パーティション・ファミリであって、
少なくとも1つのパーティションと、
少なくとも1つのCPUと、
少なくとも1つのメモリ・モジュールと、
ネットワークに結合することが可能な少なくとも1つの通信モジュールと
からなる第2の仮想パーティション・ファミリと
からなり、
前記第1の仮想パーティション・ファミリの前記少なくとも1つのCPUが、前記第2の仮想パーティション・ファミリの前記少なくとも1つのCPU及び前記少なくとも1つのメモリ・モジュールにアクセスすることができるように構成され、
前記第2の仮想パーティション・ファミリの前記少なくとも1つのCPUが、前記第1の仮想パーティション・ファミリの前記少なくとも1つのCPU又は前記第1の仮想パーティション・ファミリの前記少なくとも1つのメモリ・モジュールにアクセスすることができないように構成される、
コンピュータ・システム。 - 前記コンピュータ・システムに接続された少なくとも1つのデバイスを利用し、オン又はオフにすることができるハードウェア機能を備え、前記ハードウェア・デバイスがオンでない限り、前記第1の仮想パーティション・ファミリの前記少なくとも1つのCPUが、第1の仮想パーティション・ファミリの前記プログラム・コード用の少なくとも1つのアドレス範囲内のデータを変更することはできない、請求項21に記載のコンピュータ・システム。
- 前記コンピュータ・システムに接続された少なくとも1つのデバイスからなり、オン位置及びオフ位置を含むハードウェア機能
を備え、
前記ハードウェア・デバイスが前記オン位置にない限り、前記第1の仮想パーティション・ファミリの前記少なくとも1つのCPUが、プログラム・コード用の前記第1の仮想パーティション・ファミリ・アドレス範囲内のデータを変更することはできず、
前記少なくとも1つのハードウェア・デバイスが前記オン位置にある間、前記第1の仮想パーティション・ファミリの前記少なくとも1つのCPUが前記第2の仮想パーティション・ファミリにアクセスする能力が、無効化される、
請求項21に記載のコンピュータ・システム。 - ハードウェア・デバイスが、仮想サーバをホストするサーバ・バンクと、インターネットなどのネットワークに接続するために使用されるルータとの間に配置され、
書き込みが第1のパーティションによって開始された場合、又はハードウェア・スイッチによって許可された場合を除いて、コード又はデータが前記第1のパーティションに書き込まれ得ないように、前記ハードウェア・デバイスが、前記パーティション間、又は前記パーティションに接続された外部ユニットもしくはコンピュータ間のすべてのトラフィックを管理し、
前記ハードウェア・デバイス自体が、前記ハードウェア・デバイスの構成スイッチがオン位置にあるときだけ、トラフィックに、3つの別個の動作である、読み取り及び書き込みと、読み取り専用と、接続なし又は要求の拒否とのうちのいずれかを可能とさせる、
請求項21に記載のコンピュータ・システム。 - 前記コンピュータ・システムに接続された少なくとも1つのハードウェア・デバイスを備え、前記少なくとも1つのハードウェア・デバイスは、オン又はオフにすることができ、前記少なくとも1つのハードウェア・デバイスがオンでない限り、前記第1の仮想パーティション・ファミリの仮想構成が、変更され得ない、請求項21に記載のコンピュータ・システム。
- 第1のコンピュータであって、
CPUと、
メモリ・モジュールであって、
プログラム・コード用の少なくとも1つのメモリ・アドレス範囲であって、前記プログラム・コードが、コンピュータ実行可能コードを含み、プログラム・コード用の前記少なくとも1つのメモリ・アドレス範囲が、ハードウェア回路によって改変から保護されるように構成される、プログラム・コード用の少なくとも1つのメモリ・アドレス範囲と、
第2のコンピュータから読み取られたデータを含む、他のデータ用の少なくとも1つのメモリ・アドレス範囲と
を備えるメモリ・モジュールと
からなり、
前記少なくとも1つのCPUが、プログラム・コード用の前記メモリ・アドレス範囲内の前記コンピュータ実行可能コードだけを実行するようにハードウェア的に構成される、
第1のコンピュータと、
第2のコンピュータであって、
CPUと、
ネットワークに結合するように構成された少なくとも1つの通信モジュールと
からなる第2のコンピュータと、
バスと
からなり、
前記第1のコンピュータと前記第2のコンピュータとが、前記バスを通してだけ相互接続され、
前記第1のコンピュータが、前記バスを通して、プル・コマンドを実行して、データを前記第2のコンピュータから読み取り、前記データを前記第2のコンピュータから読み取られたデータに適用可能な前記少なくとも1つのメモリ・アドレス範囲だけに書き込むように、前記バスが、構成され、
前記第1のコンピュータが、前記バスを通して、プッシュ・コマンドを実行して、データを前記第2のコンピュータに送るように、前記バスが、構成され、
前記バスが、前記第2のコンピュータからのプッシュ・コマンド、又は前記第2のコンピュータからのプル・コマンドを受け入れることはできず、
前記バスのハードウェア回路が、前記第2のコンピュータが、前記第1のコンピュータの前記CPU又は前記メモリ・モジュールにアクセスすることを許可しない、
コンピュータ・システム。 - メモリ・アドレッシング構造が、
プログラム・コード用の前記少なくとも1つのメモリ・アドレス範囲のための第1のメモリ・ユニットと、
他のデータ用の前記少なくとも1つのメモリ・アドレス範囲のための第2のメモリ・ユニットと
からなる、請求項26に記載のコンピュータ・システム。 - プログラム・コード用のメモリ・アドレッシング構造をマッピングする前記ハードウェア回路が、少なくとも1つのフィールド・プログラマブル・ゲート・アレイからなる、請求項26に記載のコンピュータ・システム。
- 他のデータ用の前記少なくとも1つのメモリ・アドレス範囲が、
前記第2のコンピュータから読み取られたデータ用の少なくとも1つのメモリ・アドレス範囲と、
他の第1のコンピュータ・データ用の少なくとも1つのメモリ・アドレス範囲と
を備える、請求項26に記載のコンピュータ・システム。 - メモリ・アドレッシング構造が、
プログラム・コード用の前記少なくとも1つのメモリ・アドレス範囲のための第1のメモリ・ユニットと、
前記第2のコンピュータから読み取られたデータ用の第2のメモリ・ユニットと、
他の第1のコンピュータ・データ用の第3のメモリ・ユニットと
からなる、請求項26に記載のコンピュータ・システム。 - オン又はオフにすることができる少なくとも1つの外部物理スイッチを備え、前記外部物理スイッチがオンのときだけ、前記第1のコンピュータの前記CPUが、プログラム・コード用の前記少なくとも1つのアドレス範囲内に記憶されたデータを変更することができる、請求項26に記載のコンピュータ・システム。
- プログラム・コード用の前記少なくとも1つのアドレス範囲が、オペレーティング・システムを含む、請求項26に記載のコンピュータ・システム。
- 少なくとも1つのデータ・ストアを備える、請求項26に記載のコンピュータ・システム。
- 前記第1のコンピュータが、少なくとも1つの入力/出力モジュールを備え、
複数の入力/出力デバイスが、少なくとも1つのI/Oモジュールに結合される、
請求項26に記載のコンピュータ・システム。 - 2つのコンピュータを接続するように設計されたバスであって、
第1のコンピュータが、前記バスを通して、プル・コマンドを実行して、データを第2のコンピュータから読み取り、それを前記第1のコンピュータに配送するように、前記バスが、構成され、
前記第1のコンピュータが、前記バスを通して、プッシュ・コマンドを実行して、データを前記第2のコンピュータに送るように、前記バスが、構成され、
前記バスが、前記第2のコンピュータからのプッシュ・コマンド、又は前記第2のコンピュータからのプル・コマンドを許可せず、
前記バスのハードウェア回路が、前記第2のコンピュータが、前記第1のコンピュータのCPU又はメモリ・モジュールにアクセスすることを許可しない、
バス。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2017/018578 WO2018151735A1 (en) | 2017-02-20 | 2017-02-20 | Hacking-resistant computer design |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020508499A JP2020508499A (ja) | 2020-03-19 |
JP7027664B2 true JP7027664B2 (ja) | 2022-03-02 |
Family
ID=63170619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017540073A Active JP7027664B2 (ja) | 2017-02-20 | 2017-02-20 | ハッキング耐性のあるコンピュータ設計 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP3583538A4 (ja) |
JP (1) | JP7027664B2 (ja) |
CN (1) | CN110337651A (ja) |
SG (1) | SG11201706338WA (ja) |
WO (1) | WO2018151735A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428235A (zh) * | 2020-02-21 | 2020-07-17 | 华东师范大学 | 一种面向类mil-std-1553b的总线控制器决策防护方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007304954A (ja) | 2006-05-12 | 2007-11-22 | Sharp Corp | メモリ保護機能を有するコンピュータシステム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3873260B2 (ja) * | 1996-04-08 | 2007-01-24 | ソニー株式会社 | 情報処理システム、並びに情報処理装置および方法 |
US6986052B1 (en) * | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US7845005B2 (en) * | 2006-02-07 | 2010-11-30 | International Business Machines Corporation | Method for preventing malicious software installation on an internet-connected computer |
US8571598B2 (en) * | 2006-12-18 | 2013-10-29 | Intel Corporation | Method and apparatus for location-based wireless connection and pairing |
CN101632083A (zh) * | 2007-05-09 | 2010-01-20 | 国际商业机器公司 | 用于防止计算机系统被操控的方法和数据处理系统 |
US9152200B2 (en) * | 2009-06-23 | 2015-10-06 | Hewlett-Packard Development Company, L.P. | Resource and power management using nested heterogeneous hypervisors |
US8429735B2 (en) * | 2010-01-26 | 2013-04-23 | Frampton E. Ellis | Method of using one or more secure private networks to actively configure the hardware of a computer or microchip |
US11228427B2 (en) * | 2014-02-11 | 2022-01-18 | Ericsson Ab | System and method for securing content keys delivered in manifest files |
US9479331B2 (en) * | 2014-08-20 | 2016-10-25 | Apple Inc. | Managing security in a system on a chip (SOC) that powers down a secure processor |
US10063375B2 (en) * | 2015-04-20 | 2018-08-28 | Microsoft Technology Licensing, Llc | Isolation of trusted input/output devices |
-
2017
- 2017-02-20 CN CN201780002517.6A patent/CN110337651A/zh active Pending
- 2017-02-20 SG SG11201706338WA patent/SG11201706338WA/en unknown
- 2017-02-20 EP EP17896907.7A patent/EP3583538A4/en not_active Withdrawn
- 2017-02-20 JP JP2017540073A patent/JP7027664B2/ja active Active
- 2017-02-20 WO PCT/US2017/018578 patent/WO2018151735A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007304954A (ja) | 2006-05-12 | 2007-11-22 | Sharp Corp | メモリ保護機能を有するコンピュータシステム |
Also Published As
Publication number | Publication date |
---|---|
EP3583538A1 (en) | 2019-12-25 |
SG11201706338WA (en) | 2018-09-27 |
WO2018151735A1 (en) | 2018-08-23 |
CN110337651A (zh) | 2019-10-15 |
EP3583538A4 (en) | 2020-11-04 |
JP2020508499A (ja) | 2020-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11061832B2 (en) | Hacking-resistant computer design | |
US11507654B2 (en) | Secure environment in a non-secure microcontroller | |
CN106605233B (zh) | 使用处理器提供可信执行环境 | |
US10972449B1 (en) | Communication with components of secure environment | |
KR102465738B1 (ko) | 하드웨어-가속화된 암호 기법을 위한 키들의 스레드 소유권 | |
US10474589B1 (en) | Method and apparatus for side-band management of security for a server computer | |
US9830457B2 (en) | Unified extensible firmware interface (UEFI) credential-based access of hardware resources | |
EP3329416B1 (en) | Secure input/output device management | |
US9886408B2 (en) | Data access protection for computer systems | |
US20210397700A1 (en) | Method and apparatus for isolating sensitive untrusted program code on mobile device | |
US10250595B2 (en) | Embedded trusted network security perimeter in computing systems based on ARM processors | |
RU130429U1 (ru) | Терминал и защищенная компьютерная система, включающая терминал | |
JP7027664B2 (ja) | ハッキング耐性のあるコンピュータ設計 | |
CN116881987A (zh) | Pcie设备直通虚拟机的方法、装置及相关设备 | |
CN112181860B (zh) | 具有快闪存储器仿真功能的控制器及其控制方法 | |
US10938857B2 (en) | Management of a distributed universally secure execution environment | |
JP7244527B2 (ja) | ストレージリソースの安全な共用 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200219 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210331 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210406 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210705 |
|
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: 20211201 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20211227 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20220124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20220124 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7027664 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |