JP5815717B2 - マルチプロセッサシステムにおける通信の無効化 - Google Patents
マルチプロセッサシステムにおける通信の無効化 Download PDFInfo
- Publication number
- JP5815717B2 JP5815717B2 JP2013534050A JP2013534050A JP5815717B2 JP 5815717 B2 JP5815717 B2 JP 5815717B2 JP 2013534050 A JP2013534050 A JP 2013534050A JP 2013534050 A JP2013534050 A JP 2013534050A JP 5815717 B2 JP5815717 B2 JP 5815717B2
- Authority
- JP
- Japan
- Prior art keywords
- communication
- configuration
- multiprocessor
- memory
- processors
- 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17337—Direct connection machines, e.g. completely connected computers, point to point communication networks
- G06F15/17343—Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- 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
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
Description
以下に、本願で使用する用語集を示す。
単独で情報のセキュリティを提供する特長又は機能はない。セキュリティは、システムのプロパティであり、ユーザ、プロトコル、ソフトウェア及びハードウェアの組合せである。情報セキュリティの全体的な目標は、許可ユーザ間で情報を処理し、通信すること、及びその情報の不正アクセスを防ぐことである。
図1は、本発明の実施形態を実装する例示的なコンピュータシステムを示している。本発明の実施形態は、標準デスクトップコンピューティングプラットホーム(例えば、PC又はMac)等の多様なコンピュータシステム、サーバ、移動通信装置、スマートホンのいずれかで使用することができる。コンピュータシステムは、好ましくはHyperX(登録商標)技術に基づいたプロセッサを含む。HyperXプロセッサは、参照することによって援用される上記米国特許第7,415,594号に説明されている。
図2は、「HyperXアーキテクチャ」と呼ばれることがあるマルチプロセッサシステムの例示的な実施形態を示している。マルチプロセッサシステム又はファブリックは、複数のプロセッサ、メモリ(統一型及び/又は分散型)、及び通信(又は通信ネットワーク)リソースを含む並列計算プラットホームである。例示的なマルチプロセッサシステムは、プロセッサのそれぞれが少なくとも1台の他のプロセッサに結合され、それぞれのプロセッサ間に複数の通信機構がある複数のプロセッサを含む。マルチプロセッサシステムは、プロセッサに結合された複数のメモリを含んでよい。例えば、メモリはプロセッサの間に点在してよい。更に詳細には、マルチプロセッサシステムは、プロセッサの間に点在する複数の通信装置を含んでよく、通信装置のそれぞれはメモリ及びルーティングロジックを含む。本明細書において、用語「結合される」は、直接的に又は間接的に接続されていることを意味する。マルチプロセッサシステムは、単一の集積回路、単一のプリント基板、又は単一のシステム上で実現されることもあれば、実現されないこともある。例えば、マルチプロセッサシステムは、複数の集積回路、複数のプリント基板、複数のシステム、又はそのいずれの組合せとして実現されることがある。
図7は、マルチプロセッサシステムでの通信を無効にするための方法を示す。図6に示す方法は、他の装置の中で、上記の図に示すコンピュータシステム又は装置のいずれかと併せて使用され得る。多様な実施形態では、図示した方法要素のいくつかは、示されているのとは異なる順序で並行して実行されてよい、又は省略されてよい。追加の方法要素も所望されるように実行されてよい。図示したように、この方法は以下の通りに動作してよい。
図8は、マルチプロセッサシステムでの通信を無効にするための方法を示す。図6に示す方法は、他の装置の中で上記の図に示すコンピュータシステム又は装置のいずれかと併せて使用され得る。更に詳細には、図7の方法に関して上述した多様な詳細はこの方法に適用されてもよい。ただし、上述の静的な構成の代わりに、マルチプロセッサシステムの構成は、後述されるように動的な方法で実行されてよい。多様な実施形態では、図示した方法要素のいくつかは、示されているのとは異なる順序で並行して実行されてよい又は省略されてよい。追加の方法要素も、所望されるように実行されてよい。図示したように、この方法は以下の通りに動作してよい。
以下に、上述の詳細のような、マルチプロセッサシステムを保護するための例示的な詳細を示す。これらの詳細は単なる例として示され、本明細書に説明される実施形態の範囲を制限することを意図していない。以下の説明は、図9から図15に対応する。
情報が安全な処理を実現するために必要とされることがあるいくつかの概念がある。以下の副項は、情報セキュリティの概念のためのツールボックスのいくつかを説明する。
セキュリティバリアは、それに対するアクセスがバリアの内部で制御される物理的な隔離/バリア又は論理的な隔離/バリアを通して、チップの断面を保護し、検証する能力を提供してよい。これによって、保護されていないエージェントによる外部アクセスを妨げるように、チップ上に常駐し、チップ上で実行するために復号されたコード及びデータが可能になる。それは、チップリセット時、電源投入時、又はセキュリティ違反時にメモリをクリアすること、もしくはこれらの事象の発生時に保護されているデータの周辺に同じ安全なウォールを構築し直すことをサポートし、よって保護されたコード/データが、装置へのプログラミングアクセスが認証されていないだれかによるアクセスのための安全ではない領域に決して残されないことを保証できる。
キーの生成と管理は、システムレベルで認証されていないユーザが読み取る又は修正することができない揮発性メモリ又は不揮発性メモリ内のチップ上に復号キーを記憶することを含んでよい。キーの生成と管理は、システムインテグレータが生産時にこれらのキーを作成又はロードし、それらを保護する能力を提供してよい。再プログラミングを行わずに安全な記憶域内にこれらのキーを恒久的にロックするための、又はこれらのキーが一時的にロックされ、後に認証された安全なユーザによって修正できるようにするための方法が提供されてよい。本明細書の説明では、ワンタイムプログラマブル(OTP)タイプのメモリ、つまりハードウェア又はハードウェアリング発振器に基づいた乱数発生器(RNG)の物理特性に基づいて、適切な反復可能な一意のエントロピーを生成できる、物理的にクローン不可能な機能(PUF)に基づいた乱数発生が、追加説明のための詳細が必要な場合の参考資料として参照される。乱数発生は、両方のハードウェアで、及びソフトウェアを通してサポートされてよい。
コードとデータの両方とも、暗号化されたストリームでチップ上にロードし、使用するためにチップ上で復号することができる。コードとデータはいったん復号されると、チップリセット後でも外部からのアクセス又は修正から保護できる。これは、ハードウェアエンジンを通して行うことができるが、完全ソフトウェア定義を維持するために、プログラマブルブート機構を通してロードされるソフトウェアエンジンが使用できる。これによって、実装はハードウェア支援ソフトウェアモデル方法論との一貫性を保つ。
ある種の公開キータイプ情報(例えば、ソフトウェアキー、ハードウェアキー、バイオメトリック情報等)を提供することによって、保護されているコードを使用して、ユーザを認証して、既存のプログラミングを使用する、又はより高いセキュリティレベルでそれを修正することのどちらかを可能にできる。これは、プログラマブルブートを通してアクセス可能なソフトウェア実装又はハードウェア実装となることがある。この機能は、例えばデジタル著作権管理機能性を実装するために使用できる。
セキュアブートは、チップ(及びシステム)が完全に保護され、守られるようにチップ(及びシステム)を起動するためのカスタマイズ可能でソフトウェアによって定義可能なブートシーケンスを提供する。いったんセキュアブートが有効になると、チップのピンに対する物理的なアクセスは可能ではなくなることがある。チップ上又は(チップ上にロードする)システム内の保護されているコード又はデータのアクセス及び変更には認証が必要となることがある。システムリセット又は出力サイクルによって、チップはこのモードを実行し、いずれのユーザレベルのアクセスも許可される前にすべての必要とされるコード及びデータを保護する。ブートコードを恒久的にロックできる又は認証されたユーザによって変更できるモードをプログラミングすることができる。
(別の又は別個のものと多重化される)不正操作検出入力は、不正操作が検出されたことを信号で知らせてよい。これは、所望される機能であることを信号で知らせるために、チップ内部で使用されてよい。ユーザプログラミングに基づき、それは、メモリ(又は確定できない状態にされたメモリ)の「帰零」を引き起こし、任意選択でブートモードを、セキュアコードがもはやOTPから読み取られず、よって装置がオンボードセキュアコードに関して機能しなくなる状態に変換できる。この時点で、セキュアコードを見る唯一の方法は、使用のために選ばれる不揮発性メモリの安全な性質によって純粋に制御され得るビット位置を物理的に読み取ることである場合がある。他の機能は、プログラム制御を介してこの信号で有効又は無効にされてよい。このピンに加えて、パッケージの蓋も、取り除かれた場合に不正操作検出を提供してよい。
図10は、SDS2方法論及びシステムをサポートする例示的なHyperX開発システムを示す。ソフトウェア開発プロセスは、図10に示す基本的な機能を基礎としてよく、システム制約は各段階でのセキュリティ要件、選ばれた実装方法(ソフトウェア機能及びハードウェア機能)、保証を証明する正式な方法、完全にプログラム可能かつカスタマイズ可能なセキュリティ開発環境のソリューションを通じた完全なシミュレーション及び試験によってサポートされるシステムの機能性及び性能の検証を識別するために拡張する。
HyperXシステムは、ソフトウェアベースのソリューションを含んでよい。従って、セキュリティ実装(バリア、キー管理、認証、復号等)は、このモデルと一貫性があり、このモデルをHyperXプラットホーム上で実行中のソフトウェアとして保つように実装されてよい。これによって、考えられるソリューションの小さなサブセットをせいぜい提供できるカスタムハードウェアの設計及び実装が防がれてよい。
PE_0_0(又は特定の処理要素(複数の場合がある))は、セキュリティ実装のための開始点として選択することができる。追加のPE又は異なるPEは、設計の意図を変更しないで他の設計考慮事項に基づいて使用するために選択することができる。ワンタイムプログラマブル(OTP)タイプのメモリは、プログラミングのためにPE_0_及び(ブートコントローラを介して)DAPによって(デフォルトで)アクセス可能である関連ヌルルータレジスタバスに接続される。これが2つの考えられる読取り/書込み経路であることに留意されたい。これは、設計を2つの経路だけに制限することを意味するのではなく、現在の設計点のために2つ選ばれるだけである。すべての場合、そのアクセスする各経路は、プログラミング構造の内部で個別に保護されてよい。いったんそれがプログラミングされると、OTPは、それがPE_0_0又はDAPによって書き込み可能又は読み取り可能にならないようにロックされてよい。この挙動は、システム設計者によってプログラミングできる。これによって、それは安全な領域として保護され、安全な暗号化されていないコードだけではなく、両方の復号キー(キー暗号化キーつまりKEK及び暗号化されたマスターキーの両方)もここに記憶できるようになる。OTPのこのプログラミング及び保護は、ページ単位で行うことができる。ページは、そのセキュリティ情報が構成されるまで、PE又はブートコントローラによって書き込み、読み取ることができる。これは、ページを正しく検証できるようにする。選択可能なセキュリティビットを書き込むことで、すべてのユーザのために、又は認証されていないユーザだけのために、読取り/書込みアクセスを完全にロックする、又は部分的にロックすることができるようになる。これは、どのページからブートを開始するのかのプログラム可能な値とともに、OTPの新しいページを使用することによってブートコードを新しいコードで交換できるようにする。
以下の機能、つまりツールは、静的なセキュリティ操作ニーズをサポートするためのベースラインとなる。説明は、以下を明確にするために必要であるとして提供される。
これは、プログラミングでブート順序付けを制御する能力である。これはOTP内のビットで制御できるが、最小設計がOTPなしで実現されなければならない場合、これは、特別なリセット論理を有するいくつかのレジスタビットで制御できる。それは、チップが起動し、そのブートシーケンスを再プログラミングし、次いでそれを再起動できる能力をサポートしてよい。これは、いくつかの安全なエミュレーションがチップ上で不揮発性ビットなしで発生できるようにしてよい。
図12は、例のメモリ区分化/アドレス指定レジスタマップを示す。図12は、256KワードのOTPメモリ空間のための例のメモリマップを示す。これらのレジスタは、アドレス0x30000で開始する。これらはプログラミングを必要とする最初のことであるので、10ビットポインタレジスタをこれらのレジスタの高位アドレスつまり0x300に初期化させることには意味がある。
IO無効化は、SPIポート用の信号、及び他のすべてのポート用の信号を有する。これがエミュレーションをサポートする。「エミュレーション」ビットがセットされ、ブートがOTPの代わりにオフチップから発生するとき。いったんOTPブートが有効になると、SPI無効化はIO無効化の残りをトグルする。
DAPとPE_00_00制御の両方を含む/サポートする。
NRレジスタバスインタフェースは、利用可能な8ビットアドレスバスを有する。DMRは、これらのすべてのアドレスを0x1Exx空間の中にマップする。プログラマブルブート用のブートコントローラへの拡張のために使用するための0x40から0xFFへのマップ全体だけではなく、必要に応じてそのスペース内にもいくつかのホールがある。NRレジスタバスを介してバンク内の新しいメモリにアクセスするために使用するための利用可能な25ワード(8ビット)の連続アドレス空間が必要である。これを行うために、0x1D00から0x1DFFの空間を活用してよい。この部分のための1Eから1Dは、これらがOTPメモリトランザクションであることをハードウェアに信号で知らせることができる。
コマンド、つまりNR、SB、及びDAP等は、ブート機能をサポートするためのものである。コマンドの型は、NRcmds、SBcmds、DAPcmdsを含む。
不正操作検出及びアクション
不正操作検出は、メモリを帰零し、ブート、動作等を停止するためのアクションをサポートする。
OTP部は、OTPが機能せず、依然として安全ではないブートモードでチップを使用する場合に遮断できる。
セキュアブートモードは、標準ブートモードを使用してエミュレートされる。これによって、コードを非常に限られた再プログラム可能OPTメモリの中にプログラムし、セキュアブートを最終化する前に、プログラム全体を開発システム上で開発し、デバッグすることが可能になる。
ハードウェアでサポートされている真の乱数発生器(RNG)は、高いセキュリティレベルを提供する。キー生成も提供される。
フルスキャンの無効化
構成レジスタ(OTP)内のビットは、それをセキュアモードで無効にできるようにチップのフルスキャン機能性を制御する。
破壊されると不正操作を信号で知らせ、安全な機能性を無効にする(チップはデフォルト3100モードである)上層金属内で送られる信号があるチップ上の不正操作ピン。つまりセキュアコードを見る唯一の方法はOTP内のビットを物理的に読み取ることである。存在する場合、「帰零」コードにセットアップされてもよい。
プログラム可能であり、従ってパッケージ蓋が取り除かれると、やはり不正操作が信号で知らされ、必要な無効化が行われる(他の不正操作情報を参照すること)。
ブートコードのある部分を強制的に常に実行させ、何か他のことが起こる前にメインチップメモリのすべてをゼロにする能力(複数のブートシーケンスを使用する)を提供する。この機能は、他の目的にも使用できる。
OTP内での構成ビットの一部としてプログラマ制御を通してのものである。
万一システム設計者がこの機能性を有効にしたい場合に、フィル度での装置の再プログラム化をサポートする。これは、説明された認証技法を通して制御できる。
任意による読取り/書込みアクセスからデータを保護するが、認証されたユーザによって制御されるプロセッサを保護するスクラッチパッドOTP領域をサポートする。
JTAG
JTAGは、アクセスを獲得して、チップ上でセキュリティを無効にするために使用できないことがある。又は、JTAGは完全に無効にすることができる。
ソフトウェアが、アクションを講じることができるようにセキュアブートコントローラに「不正操作」を信号で知らせることができる方法を提供する。各不正操作信号は、プログラム可能なアクションで個別に選択可能である(不正操作のタイプの重大性に基づいて、異なるセキュリティレベル)。
セキュリティのある、及びセキュリティのないチップの部分的なリセットをサポートする。例示したものは、動的に出力可能な四分円である。
以下の機能、つまりツールは、動的なセキュリティ操作ニーズのサポートに対する焦点を与える(サポートに焦点を当てる)。説明は、明確にするために必要であるとして提供される。
チップの実行中に、バリアを移動する、取り除く、構築する、又はそれ以外の場合修正することを可能にするための方法。これは、より多くのOSタイプの動作を可能にする。
実行中のプロセッサが信頼できるものであると宣言し、その命令を、セキュリティパーティション修正のような、信頼されていないプロセッサが行うことができないことに対するアクセスを可能にするいずれの種類の「監督者」モードで実行させるように、実行中のプロセッサにマークを付ける方法。PEを信頼されているとマークするセキュアトークンを(プログラム制御下で)PEに送る能力を有するセキュアブート完了によるもの含む、これを行う多くの方法。
何らかの種類のセキュリティ侵害(不正操作又は他)が検出される(又は単にソフトウェア制御下)の場合に、セキュアブートコードを再実行してチップのその部分を保護し直す方法を提供する。これには、おそらく動的バリアと同じ論理の多くが必要となる。
ブートコード(内部と外部両方)がコードに対して変更が発生したかどうかを識別できる方法を提供する。方法は、次いでブートがエラーなしで完了しているかどうか等を信号で知らせる。
安全な領域を再プログラミングするためには、1つの方法は、信頼/セキュアコマンドモードでシリアルバスを使用することである。これは、実行時/動的再構成のためのセキュリティ設定値のリアルタイム編集を可能にする。これは、信頼されているプロセッサによってだけ発行されることが意図される。DAP/SPI(外部)コマンドは、この例では信頼されていない。
コードセグメントに、それがチップの安全な領域内で安全な/信頼されたプロセッサ上でのみ実行できると述べるマークを何らかの形で付けるという考え。
マルチキャスト/マルチオープン/一斉送信タイプの機能性をサポートして、コードのより効率的な帰零を提供する方法。シリアルバスを使用できる。すべてのメモリは、一度に書き込むために開くことができ、ゼロは一度に送信できる。シーケンス例としては、以下のものがある:すべてを開く、4Kブロックの9をDMに送信する、2Kブロックの0をIMに送信する、すべてを閉じる。これは、500MHzで発生するのに約210マイクロ秒を要する。
これは、安全な/信頼されるプロセッサに、ブートフローを制御する能力を与える。さまざまなレベルのセキュリティが、きわめて高いレベルの認証に基づいたフィールド修正を可能にする目的でサポートされる、2つ以上のレベルのブートプロセスを可能にする。複数の暗号化/復号レベル等を提供できる。
ブートコントローラが新しいアドレスにジャンプして、ロードを続行できるようにする。マルチ/セキュアブートコードのいくつかの効率を改善する。
豊富な潜在的な用途
セキュリティアルゴリズム加速
並列性がセキュリティアルゴリズムのいくつかの態様の犠牲とならない場合に、根本的なレベルで追加の加速を提供する。
コードが不正操作されていない、又はブートロード中に間違いがなかったことを確証できる、(ハードウェア内での)コードロード中の処理をサポートする方法(チェックサム、ハッシュアルゴリズム、又は何か同様のもの)。
セキュアブートプロセスをより安全にする方法。例は、シリアルバス論理の部分を複製し、通常のプログラミング切り替えの「ネゲート」バージョンを発生させ、よってパワーフットプリントを分かりにくくし、オフチップからのプログラミングを検知するのを更に困難にする。方法は、安全ではないアプリケーションでは節電するためにオフにすることができ、機能によって提供されるセキュリティに関して容易なバリデーションを可能にする。他の例は、シリアルバスを広げること等を含む。
サードパーティIP保護
IP所有者の所有権とIPの機密性の両方を保護する一方で、サードパーティ知的所有権(IP)アプリケーションを開発し、HyperXハードウェアを使用するシステム開発者に販売できるように機構を提供するニーズがある。ニーズがある場合がある、かかるシステムに対する2つの主要な要件は、IPの購入者によるシステムソフトウェア開発中にIPをシミュレーションする方法、及び(例えば実行時にだけ、及びライセンストークンに基づいた実行制御で復号される暗号化されたバイナリを通して)アクセスを保護しつつも、IPを送達し、認証された実行中のシステム内にインストールする方法である。
この状況の場合、IPは、HyperXチップの不揮発性メモリの中に事前にプログラミングされて送達される、又はシステム/ソフトウェア開発者に対するファイルで暗号化されたバイナリ形式で提供される。
この状況の場合、IPは、協調シミュレーションバージョンについて上述したものとほぼ同じように製作のために送達される。ただし、開発中のシミュレーションの場合、暗号化されたシミュレーションバイナリ(依然として同じものを使用することが可能である可能性がある)が提供される。シミュレータは、シミュレーションの間このIPを復号し、保護することをサポートする。保護は、まさにチップのようにシミュレータ内で有効にされて、いったん復号され、ロードされたIPコード内でのダンピング、逆アセンブリ、トレーシング、ブレイクポイント等を防ぐ。復号されたコードは、安全ではない領域に絶対に常駐してはならない。
これらの状況下では、暗号化されたバイナリファイルはIPにとって主要な送達機構であり、IPの機密性及び認証の要件を維持しつつ、この暗号化されたバイナリ画像をアプリケーションコードオブジェクトファイルの中にリンクさせる方法がある場合がある。これらの方法は、同じオブジェクトファイル(及び1つのIPモジュールが別のIPモジュールに基づいている場合、おそらくネスト化されたIP)の中の複数のベンダからIPモジュールをサポートする必要がある場合がある。システム内のHyperXプロセッサのブートシーケンスは、前の項に説明されるシミュレーション中に使用される同じキーを使用して復号及び認証のプロセスを処理してよい。これらのキーは、DRMに関する以下の項に説明されるように、オンチップで記憶できる。
HyperXのあらゆるピン上で暗号化されていない形式でブートストリームを読み取ることができないシステムをブートする方法が必要がある場合がある。これは、プログラマブルブートを通して実行される。この機能を用いると、コードは、チップのピンを完全に無効にした状態でブート時にロードできる。いったんロードされると、コードはその周りに提供されたハードウェアフックを用いてセキュリティバリアを構築することによって保護できる。平文ビットストリームは、いったんアレイ内でその周りにセキュアバリアが形成されると装置のピン上に絶対に存在し得ず、読み直すこともできない。保護された領域の中へのアクセス及び保護された領域の中からのアクセスは、セキュリティバリアの内部でのプログラミングによって完全に制御できる。
チップは、構成可能なプログラミング又はセキュアブートエミュレーションモードを介してセキュアブートのために構成され得る。セキュアブートのために使用されるデータは、オフチップFLASHからであってよい。
デジタル著作権管理は、ここではパスワード、バイオメトリックデータ、スマートカード、セキュアid、ダウンロード可能ライセンスキー等のタイプの認証のような任意のタイプの動的なユーザ認証のためのキャッチオールカテゴリとして使用される。チップの断面には認証コードがロードされ、セキュアブート方法を介してブート時に保護され得る。チップ上の不揮発性メモリは、加えて静的キー記憶を提供するために使用できる。静的キーが、不揮発性記憶用のマルチプログラムエミュレーションを介して更新できる機構が提供される。キー暗号化キーが安全な記憶領域に提供され、他の著作権管理キーが後の復号のために暗号化された形式でチップに送信される複層的な認証も可能である。これは、DRMキーの大きなオフチップ記憶を可能にする。
上述の状況から、チップの部分が「周りに壁を築く」ことができ、認証されていないアクセスから保護できることがすでに明らかになっている。これらの領域の内の1つ又は複数を使用して、チップは、データが(安全な領域の外部では)暗号化された形式だけで、又は保護されている領域では復号された形式で移動でき、よって完全なシステム設計者の制御によって単一チップ上でブラック及びレッド両方の領域処理を提供する部分に分けることができる。
以下の図は、概略された機能を使用する例示的なシステムを示す。
本明細書に説明される情報セキュリティソリューションは、完全にソフトウェアベースであり、設計者/及び開発者に対して以下の完全な制御及びカスタマイズ:
1.(使用目的のためだけのシステム及びデータの)可用性
2.(システム及びデータの)完全性
3.(データ及びシステム情報の)機密性
4.(個人レベルに対する)説明責任
5.(他の4つの目的が適切に達成されたという)保証
を実現してよい。これに基づいて、HyperXプロセッサチップ及び関連システムのセキュリティレベルは、FIPSレベルをはるかに上回って強化できる。
以下の番号が付けられた段落は、上述したシステム及び方法の実施形態を説明する。
Claims (12)
- マルチプロセッサファブリックでの通信を無効にするための方法であって、前記方法は:
前記マルチプロセッサファブリックの構成を受け取ることであって、前記マルチプロセッサファブリックが複数のプロセッサ及び複数の通信要素を含み、前記複数の通信要素のそれぞれがメモリを含み、
前記プロセッサのそれぞれについて、複数のプロセッサポートが複数の前記通信要素の第1のサブセットに結合するために構成され、前記通信要素のそれぞれについて、前記通信ポートの第1のサブセットが複数の前記プロセッサのサブセットに結合するために構成されてよく、前記通信ポートの第2のサブセットが複数の前記通信要素の第2のサブセットに結合するために構成され、
前記構成は、
1つ若しくは複数の前記プロセッサと1つ若しくは複数の前記通信要素、
1つ若しくは複数の前記プロセッサと1つ若しくは複数の他の前記プロセッサ、又は
1つ若しくは複数の前記通信要素と1つ若しくは複数の他の前記通信要素
の内の1つ又は複数の間の通信経路の無効化を指定することによって、マルチプロセッサファブリックの第1の部分とマルチプロセッサファブリックの第2の部分の間の通信の無効化を指定する、受け取ること;
ハードウェア内の前記マルチプロセッサシステムを、前記構成によって指定される前記通信経路を無効にするように自動的に構成することであって、
前記構成によって指定された前記通信経路の無効化は、対応する1つ若しくは複数の前記プロセッサ及び/又は1つ若しくは複数の前記通信要素の通信ポートの無効化を含む、自動的に構成すること;並びに
ソフトウェアアプリケーションを実行するために前記マルチプロセッサファブリックを操作することであって、
前記マルチプロセッサファブリックは前記構成に従って動作し、
動作中、前記マルチプロセッサファブリックの前記第1の部分は、前記マルチプロセッサファブリックの前記第2の部分から隔離される、操作すること
を含む、方法。 - 前記マルチプロセッサシステムファブリックを自動的に構成することが、1つ若しくは複数の前記プロセッサ及び/又は1つ若しくは複数の前記通信要素に対応するレジスタ値を設定して、前記構成によって指定される前記通信経路を無効にすることを含む、請求項1に記載の方法。
- 前記自動的に構成した後に、無効にされた前記通信経路が前記ソフトウェアを介して回復可能ではない、請求項1又は2に記載の方法。
- 前記構成が、前記マルチプロセッサファブリックの前記第1の部分の、前記マルチプロセッサシステムの前記第2の部分によるメモリアクセスの無効化を指定し、動作中、前記第2の部分が前記第1の部分に含まれるメモリにアクセスできない、請求項1〜3のいずれか1項に記載の方法。
- 前記マルチプロセッサファブリックの中に認証されたコードをロードすることであって、前記構成が前記認証されたコードから受け取られる、ロードすること;
前記認証されたコードから前記第2の構成を受け取ること;及び
前記第2の構成に基づいて自動的に構成することを実行すること
を更に含む、請求項1及び3〜4のいずれか1項に記載の方法。 - 前記受け取ることが、前記マルチプロセッサファブリックのブートプロセスの間に自動的に実行される、請求項1〜5のいずれか1項に記載の方法。
- 複数の前記通信要素が、動的に構成可能な前記通信要素を含み、前記通信要素のそれぞれが、複数の通信ポート、第1のメモリ、及びルーティングエンジンを含む、請求項1〜6のいずれか1項に記載の方法。
- 複数の前記プロセッサ及び複数の前記通信要素が点在的な構成でともに結合される、請求項1〜7のいずれか1項に記載の方法。
- 請求項1〜8のいずれかを実装するように構成されるコンピュータプログラム。
- 複数のプロセッサ及び複数の通信要素を含むマルチプロセッサシステムを含むシステムであって、
複数の前記通信要素のそれぞれは、メモリを含み、
前記マルチプロセッサファブリックは、請求項1〜6のいずれかを実行するように構成される、システム。 - 各前記プロセッサは、少なくとも1つの算術論理演算ユニット、命令処理ユニット、及び複数のプロセッサポートを含む、請求項10に記載のシステム。
- 各前記通信要素は、動的に構成可能な通信要素を含み、
前記通信要素のそれぞれは、複数の通信ポート、第1のメモリ、及びルーティングエンジンを含む、請求項10又は11に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US39359410P | 2010-10-15 | 2010-10-15 | |
US61/393,594 | 2010-10-15 | ||
PCT/US2011/056438 WO2012051577A1 (en) | 2010-10-15 | 2011-10-14 | Disabling communication in a multiprocessor system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013543183A JP2013543183A (ja) | 2013-11-28 |
JP5815717B2 true JP5815717B2 (ja) | 2015-11-17 |
Family
ID=44872628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013534050A Active JP5815717B2 (ja) | 2010-10-15 | 2011-10-14 | マルチプロセッサシステムにおける通信の無効化 |
Country Status (5)
Country | Link |
---|---|
US (5) | US8880866B2 (ja) |
EP (2) | EP2628090B1 (ja) |
JP (1) | JP5815717B2 (ja) |
CN (2) | CN106227693B (ja) |
WO (1) | WO2012051577A1 (ja) |
Families Citing this family (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8989705B1 (en) | 2009-06-18 | 2015-03-24 | Sprint Communications Company L.P. | Secure placement of centralized media controller application in mobile access terminal |
US8782434B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
US8782435B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time using control flow signatures |
JP5815717B2 (ja) | 2010-10-15 | 2015-11-17 | コーヒレント・ロジックス・インコーポレーテッド | マルチプロセッサシステムにおける通信の無効化 |
DE102011081421A1 (de) * | 2011-08-23 | 2013-02-28 | Siemens Ag | System zur sicheren Übertragung von Daten und Verfahren |
US9027102B2 (en) | 2012-05-11 | 2015-05-05 | Sprint Communications Company L.P. | Web server bypass of backend process on near field communications and secure element chips |
US8862181B1 (en) | 2012-05-29 | 2014-10-14 | Sprint Communications Company L.P. | Electronic purchase transaction trust infrastructure |
US9282898B2 (en) | 2012-06-25 | 2016-03-15 | Sprint Communications Company L.P. | End-to-end trusted communications infrastructure |
US9066230B1 (en) | 2012-06-27 | 2015-06-23 | Sprint Communications Company L.P. | Trusted policy and charging enforcement function |
US8649770B1 (en) | 2012-07-02 | 2014-02-11 | Sprint Communications Company, L.P. | Extended trusted security zone radio modem |
US8667607B2 (en) | 2012-07-24 | 2014-03-04 | Sprint Communications Company L.P. | Trusted security zone access to peripheral devices |
US8863252B1 (en) | 2012-07-25 | 2014-10-14 | Sprint Communications Company L.P. | Trusted access to third party applications systems and methods |
US9183412B2 (en) | 2012-08-10 | 2015-11-10 | Sprint Communications Company L.P. | Systems and methods for provisioning and using multiple trusted security zones on an electronic device |
US9215180B1 (en) | 2012-08-25 | 2015-12-15 | Sprint Communications Company L.P. | File retrieval in real-time brokering of digital content |
US8954588B1 (en) | 2012-08-25 | 2015-02-10 | Sprint Communications Company L.P. | Reservations in real-time brokering of digital content delivery |
US9015068B1 (en) | 2012-08-25 | 2015-04-21 | Sprint Communications Company L.P. | Framework for real-time brokering of digital content delivery |
US9122873B2 (en) | 2012-09-14 | 2015-09-01 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
US9235732B2 (en) * | 2012-10-16 | 2016-01-12 | Truedata Systems, Inc. | Secure communication methods |
CN109240704B (zh) | 2012-11-06 | 2022-06-14 | 相干逻辑公司 | 用于设计重用的多处理器编程工具包 |
CN104813306B (zh) * | 2012-11-21 | 2017-07-04 | 相干逻辑公司 | 具有散布处理器dma‑fifo的处理系统 |
JP6317365B2 (ja) * | 2012-12-06 | 2018-04-25 | コーヒレント・ロジックス・インコーポレーテッド | 同期命令を含む処理システム |
WO2014093862A1 (en) | 2012-12-13 | 2014-06-19 | Coherent Logix, Incorporated | Reconfiguration of clock generation circuitry |
WO2014092968A1 (en) | 2012-12-13 | 2014-06-19 | Coherent Logix, Incorporated | Multiprocessor system with improved secondary interconnection network |
US9578664B1 (en) | 2013-02-07 | 2017-02-21 | Sprint Communications Company L.P. | Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system |
US9161227B1 (en) | 2013-02-07 | 2015-10-13 | Sprint Communications Company L.P. | Trusted signaling in long term evolution (LTE) 4G wireless communication |
US9104840B1 (en) | 2013-03-05 | 2015-08-11 | Sprint Communications Company L.P. | Trusted security zone watermark |
US9613208B1 (en) | 2013-03-13 | 2017-04-04 | Sprint Communications Company L.P. | Trusted security zone enhanced with trusted hardware drivers |
US8881977B1 (en) | 2013-03-13 | 2014-11-11 | Sprint Communications Company L.P. | Point-of-sale and automated teller machine transactions using trusted mobile access device |
US9049013B2 (en) | 2013-03-14 | 2015-06-02 | Sprint Communications Company L.P. | Trusted security zone containers for the protection and confidentiality of trusted service manager data |
US9049186B1 (en) | 2013-03-14 | 2015-06-02 | Sprint Communications Company L.P. | Trusted security zone re-provisioning and re-use capability for refurbished mobile devices |
US9191388B1 (en) | 2013-03-15 | 2015-11-17 | Sprint Communications Company L.P. | Trusted security zone communication addressing on an electronic device |
US9374363B1 (en) | 2013-03-15 | 2016-06-21 | Sprint Communications Company L.P. | Restricting access of a portable communication device to confidential data or applications via a remote network based on event triggers generated by the portable communication device |
US8984592B1 (en) | 2013-03-15 | 2015-03-17 | Sprint Communications Company L.P. | Enablement of a trusted security zone authentication for remote mobile device management systems and methods |
US9021585B1 (en) | 2013-03-15 | 2015-04-28 | Sprint Communications Company L.P. | JTAG fuse vulnerability determination and protection using a trusted execution environment |
US9324016B1 (en) | 2013-04-04 | 2016-04-26 | Sprint Communications Company L.P. | Digest of biographical information for an electronic device with static and dynamic portions |
US9454723B1 (en) | 2013-04-04 | 2016-09-27 | Sprint Communications Company L.P. | Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device |
US9171243B1 (en) | 2013-04-04 | 2015-10-27 | Sprint Communications Company L.P. | System for managing a digest of biographical information stored in a radio frequency identity chip coupled to a mobile communication device |
US9838869B1 (en) | 2013-04-10 | 2017-12-05 | Sprint Communications Company L.P. | Delivering digital content to a mobile device via a digital rights clearing house |
US9443088B1 (en) | 2013-04-15 | 2016-09-13 | Sprint Communications Company L.P. | Protection for multimedia files pre-downloaded to a mobile device |
WO2014178854A1 (en) | 2013-04-30 | 2014-11-06 | Hewlett-Packard Development Company, L.P. | Memory network to route memory traffic and i/o traffic |
US9195575B2 (en) | 2013-05-17 | 2015-11-24 | Coherent Logix, Incorporated | Dynamic reconfiguration of applications on a multi-processor embedded system |
US9069952B1 (en) | 2013-05-20 | 2015-06-30 | Sprint Communications Company L.P. | Method for enabling hardware assisted operating system region for safe execution of untrusted code using trusted transitional memory |
US9560519B1 (en) | 2013-06-06 | 2017-01-31 | Sprint Communications Company L.P. | Mobile communication device profound identity brokering framework |
US9183606B1 (en) | 2013-07-10 | 2015-11-10 | Sprint Communications Company L.P. | Trusted processing location within a graphics processing unit |
US10761155B2 (en) * | 2013-07-16 | 2020-09-01 | Siemens Aktiengesellschaft | Hybrid averaging method for specific absorption rate supervision |
US9208339B1 (en) | 2013-08-12 | 2015-12-08 | Sprint Communications Company L.P. | Verifying Applications in Virtual Environments Using a Trusted Security Zone |
US9436844B2 (en) * | 2013-08-29 | 2016-09-06 | Microsoft Technology Licensing, Llc | Access enablement security circuit |
US9716708B2 (en) | 2013-09-13 | 2017-07-25 | Microsoft Technology Licensing, Llc | Security certificates for system-on-chip security |
US9185626B1 (en) | 2013-10-29 | 2015-11-10 | Sprint Communications Company L.P. | Secure peer-to-peer call forking facilitated by trusted 3rd party voice server provisioning |
US9191522B1 (en) | 2013-11-08 | 2015-11-17 | Sprint Communications Company L.P. | Billing varied service based on tier |
US9161325B1 (en) | 2013-11-20 | 2015-10-13 | Sprint Communications Company L.P. | Subscriber identity module virtualization |
US9118655B1 (en) | 2014-01-24 | 2015-08-25 | Sprint Communications Company L.P. | Trusted display and transmission of digital ticket documentation |
US9226145B1 (en) | 2014-03-28 | 2015-12-29 | Sprint Communications Company L.P. | Verification of mobile device integrity during activation |
US10432409B2 (en) | 2014-05-05 | 2019-10-01 | Analog Devices, Inc. | Authentication system and device including physical unclonable function and threshold cryptography |
US9230085B1 (en) | 2014-07-29 | 2016-01-05 | Sprint Communications Company L.P. | Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services |
US9779232B1 (en) | 2015-01-14 | 2017-10-03 | Sprint Communications Company L.P. | Trusted code generation and verification to prevent fraud from maleficent external devices that capture data |
US9838868B1 (en) | 2015-01-26 | 2017-12-05 | Sprint Communications Company L.P. | Mated universal serial bus (USB) wireless dongles configured with destination addresses |
EP3265943B1 (en) * | 2015-03-05 | 2021-04-28 | Analog Devices, Inc. | Authentication system and device including physical unclonable function and threshold cryptography |
US9473945B1 (en) | 2015-04-07 | 2016-10-18 | Sprint Communications Company L.P. | Infrastructure for secure short message transmission |
US9819679B1 (en) | 2015-09-14 | 2017-11-14 | Sprint Communications Company L.P. | Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers |
US10044514B1 (en) * | 2015-09-25 | 2018-08-07 | Xilinx, Inc. | Secure external key storage for programmable ICS |
US10282719B1 (en) | 2015-11-12 | 2019-05-07 | Sprint Communications Company L.P. | Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit |
US9817992B1 (en) | 2015-11-20 | 2017-11-14 | Sprint Communications Company Lp. | System and method for secure USIM wireless network access |
EP3381128B1 (en) | 2015-11-24 | 2020-01-01 | Coherent Logix, Incorporated | Memory management and path sorting in a polar code successive cancellation list decoder |
JP6933648B2 (ja) | 2015-12-28 | 2021-09-08 | コーヒレント・ロジックス・インコーポレーテッド | Fecの符号化および復号を加速するプロセッサ命令 |
US10586048B2 (en) * | 2016-06-23 | 2020-03-10 | Vmware, Inc. | Efficient reboot of an operating system |
US10534935B2 (en) * | 2016-07-01 | 2020-01-14 | Intel Corporation | Migration of trusted security attributes to a security engine co-processor |
US11797994B2 (en) * | 2016-07-15 | 2023-10-24 | Maxim Integrated Products, Inc. | Systems and methods for a secure payment terminal without batteries |
US10700968B2 (en) * | 2016-10-19 | 2020-06-30 | Rex Computing, Inc. | Optimized function assignment in a multi-core processor |
US10355975B2 (en) | 2016-10-19 | 2019-07-16 | Rex Computing, Inc. | Latency guaranteed network on chip |
DE102016120768A1 (de) * | 2016-10-31 | 2018-05-03 | HTV Cyperion GmbH | Serversystemanordnung und Verfahren zum Betrieb einer Serversystemanordnung |
DE102016120767A1 (de) * | 2016-10-31 | 2018-05-03 | HTV Cyperion GmbH | Computersystemanordnung, Verfahren zum Betrieb einer Computersystemanordnung und Verfahren zur Übertragung von Daten bei einer Computersystemanordnung |
US10699189B2 (en) | 2017-02-23 | 2020-06-30 | Cerebras Systems Inc. | Accelerated deep learning |
EP3376482B1 (en) * | 2017-03-17 | 2022-06-22 | Wincor Nixdorf International GmbH | Document of value processing device and method for operating a document of value processing device |
WO2018193370A1 (en) | 2017-04-17 | 2018-10-25 | Cerebras Systems Inc. | Task activating for accelerated deep learning |
US11488004B2 (en) | 2017-04-17 | 2022-11-01 | Cerebras Systems Inc. | Neuron smearing for accelerated deep learning |
US10614357B2 (en) | 2017-04-17 | 2020-04-07 | Cerebras Systems Inc. | Dataflow triggered tasks for accelerated deep learning |
US10958452B2 (en) | 2017-06-06 | 2021-03-23 | Analog Devices, Inc. | System and device including reconfigurable physical unclonable functions and threshold cryptography |
US10499249B1 (en) | 2017-07-11 | 2019-12-03 | Sprint Communications Company L.P. | Data link layer trust signaling in communication network |
KR20200052277A (ko) | 2017-08-03 | 2020-05-14 | 넥스트 실리콘 리미티드 | 설정가능한 하드웨어 런타임 최적화 |
US10817344B2 (en) | 2017-09-13 | 2020-10-27 | Next Silicon Ltd | Directed and interconnected grid dataflow architecture |
WO2019090032A1 (en) | 2017-11-03 | 2019-05-09 | Coherent Logix, Inc. | Memory network processor |
DE102017220764A1 (de) * | 2017-11-21 | 2019-05-23 | Audi Ag | Ein-Chip-System für ein Fahrzeug |
US10873754B2 (en) | 2017-12-12 | 2020-12-22 | Coherent Logix, Incorporated | Low latency video codec and transmission with parallel processing |
US10706179B2 (en) * | 2018-01-10 | 2020-07-07 | General Electric Company | Secure provisioning of secrets into MPSoC devices using untrusted third-party systems |
US10755201B2 (en) | 2018-02-14 | 2020-08-25 | Lucid Circuit, Inc. | Systems and methods for data collection and analysis at the edge |
US11245520B2 (en) | 2018-02-14 | 2022-02-08 | Lucid Circuit, Inc. | Systems and methods for generating identifying information based on semiconductor manufacturing process variations |
AU2019287432A1 (en) * | 2018-06-11 | 2021-01-07 | Lucid Circuit, Inc. | Systems and methods for autonomous hardware compute resiliency |
WO2020044152A1 (en) | 2018-08-28 | 2020-03-05 | Cerebras Systems Inc. | Scaled compute fabric for accelerated deep learning |
WO2020044208A1 (en) | 2018-08-29 | 2020-03-05 | Cerebras Systems Inc. | Isa enhancements for accelerated deep learning |
US11328208B2 (en) | 2018-08-29 | 2022-05-10 | Cerebras Systems Inc. | Processor element redundancy for accelerated deep learning |
WO2020163287A1 (en) | 2019-02-04 | 2020-08-13 | Coherent Logix, Inc. | A comprehensive system design to address the needs for virtual segmentation of the coaxial cable plant |
US10839121B1 (en) * | 2019-04-30 | 2020-11-17 | Xilinx, Inc. | Data processing engine (DPE) array detailed mapping |
US11456855B2 (en) * | 2019-10-17 | 2022-09-27 | Arm Limited | Obfuscating data at-transit |
US11803643B2 (en) * | 2020-02-07 | 2023-10-31 | Intel Corporation | Boot code load system |
US11269526B2 (en) | 2020-04-23 | 2022-03-08 | Next Silicon Ltd | Interconnected memory grid with bypassable units |
US20220100504A1 (en) * | 2020-09-25 | 2022-03-31 | Advanced Micro Devices, Inc. | Shared data fabric processing client reset system and method |
CN112306782B (zh) * | 2020-11-24 | 2022-04-26 | 中国人民解放军军事科学院国防科技创新研究院 | 面向调测试的操作系统内核引导与加载硬件及方法 |
US20230078058A1 (en) * | 2021-09-10 | 2023-03-16 | Ampere Computing Llc | Computing systems employing a secure boot processing system that disallows inbound access when performing immutable boot-up tasks for enhanced security, and related methods |
Family Cites Families (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5459846A (en) | 1988-12-02 | 1995-10-17 | Hyatt; Gilbert P. | Computer architecture system having an imporved memory |
US4493048A (en) | 1982-02-26 | 1985-01-08 | Carnegie-Mellon University | Systolic array apparatuses for matrix computations |
US4873630A (en) | 1985-07-31 | 1989-10-10 | Unisys Corporation | Scientific processor to support a host processor referencing common memory |
US4945479A (en) | 1985-07-31 | 1990-07-31 | Unisys Corporation | Tightly coupled scientific processing system |
US4739476A (en) | 1985-08-01 | 1988-04-19 | General Electric Company | Local interconnection scheme for parallel processing architectures |
US4720780A (en) | 1985-09-17 | 1988-01-19 | The Johns Hopkins University | Memory-linked wavefront array processor |
US4807183A (en) | 1985-09-27 | 1989-02-21 | Carnegie-Mellon University | Programmable interconnection chip for computer system functional modules |
US4933836A (en) | 1986-10-29 | 1990-06-12 | United Technologies Corporation | n-Dimensional modular multiprocessor lattice architecture |
DE3750839T2 (de) | 1986-10-29 | 1995-05-04 | United Technologies Corp | Modulare Multiprozessor-N-Dimensionsgitterarchitektur. |
US5963746A (en) | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | Fully distributed processing memory element |
US5630162A (en) | 1990-11-13 | 1997-05-13 | International Business Machines Corporation | Array processor dotted communication network based on H-DOTs |
US5689719A (en) | 1991-06-28 | 1997-11-18 | Sanyo Electric O., Ltd. | Parallel computer system including processing elements |
JPH05257709A (ja) | 1992-03-16 | 1993-10-08 | Hitachi Ltd | 並列化判別方法およびそれを用いた並列化支援方法 |
JP2642039B2 (ja) | 1992-05-22 | 1997-08-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | アレイ・プロセッサ |
GB9305263D0 (en) | 1993-03-15 | 1993-05-05 | Univ Westminster | Parrallel computation |
US5634043A (en) | 1994-08-25 | 1997-05-27 | Intel Corporation | Microprocessor point-to-point communication |
US5903466A (en) | 1995-12-29 | 1999-05-11 | Synopsys, Inc. | Constraint driven insertion of scan logic for implementing design for test within an integrated circuit design |
US5944779A (en) | 1996-07-02 | 1999-08-31 | Compbionics, Inc. | Cluster of workstations for solving compute-intensive applications by exchanging interim computation results using a two phase communication protocol |
US5966534A (en) | 1997-06-27 | 1999-10-12 | Cooke; Laurence H. | Method for compiling high level programming languages into an integrated processor with reconfigurable logic |
US6226776B1 (en) | 1997-09-16 | 2001-05-01 | Synetry Corporation | System for converting hardware designs in high-level programming language to hardware implementations |
US6145117A (en) | 1998-01-30 | 2000-11-07 | Tera Systems Incorporated | Creating optimized physical implementations from high-level descriptions of electronic design using placement based information |
US6106575A (en) | 1998-05-13 | 2000-08-22 | Microsoft Corporation | Nested parallel language preprocessor for converting parallel language programs into sequential code |
JPH11353288A (ja) | 1998-06-04 | 1999-12-24 | Toshiba Corp | 並列計算機及びメモリ装置 |
US6433802B1 (en) | 1998-12-29 | 2002-08-13 | Ncr Corporation | Parallel programming development environment |
US6466898B1 (en) | 1999-01-12 | 2002-10-15 | Terence Chan | Multithreaded, mixed hardware description languages logic simulation on engineering workstations |
US20020138244A1 (en) | 1999-09-30 | 2002-09-26 | Meyer Steven J. | Simulator independent object code HDL simulation using PLI |
US20010042138A1 (en) | 1999-12-23 | 2001-11-15 | Reinhard Buendgen | Method and system for parallel and procedural computing |
US6578133B1 (en) | 2000-02-24 | 2003-06-10 | Stanley M. Hyduke | MIMD array of single bit processors for processing logic equations in strict sequential order |
US6766437B1 (en) | 2000-02-28 | 2004-07-20 | International Business Machines Corporation | Composite uniprocessor |
US6725317B1 (en) * | 2000-04-29 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | System and method for managing a computer system having a plurality of partitions |
DE60237433D1 (de) | 2001-02-24 | 2010-10-07 | Ibm | Neuartiger massivparalleler supercomputer |
US6968447B1 (en) | 2001-04-13 | 2005-11-22 | The United States Of America As Represented By The Secretary Of The Navy | System and method for data forwarding in a programmable multiple network processor environment |
US7152151B2 (en) * | 2002-07-18 | 2006-12-19 | Ge Fanuc Embedded Systems, Inc. | Signal processing resource for selective series processing of data in transit on communications paths in multi-processor arrangements |
US7130457B2 (en) | 2001-07-17 | 2006-10-31 | Accuimage Diagnostics Corp. | Systems and graphical user interface for analyzing body images |
US8412915B2 (en) * | 2001-11-30 | 2013-04-02 | Altera Corporation | Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements |
JP4322119B2 (ja) | 2001-12-14 | 2009-08-26 | エヌエックスピー ビー ヴィ | データ処理システム |
US7206732B2 (en) | 2002-04-04 | 2007-04-17 | International Business Machines Corporation | C-API instrumentation for HDL models |
US7415594B2 (en) | 2002-06-26 | 2008-08-19 | Coherent Logix, Incorporated | Processing system with interspersed stall propagating processors and communication elements |
GB2394389B (en) | 2002-10-15 | 2005-05-18 | Toshiba Res Europ Ltd | Equalisation apparatus and methods |
GB0224023D0 (en) * | 2002-10-16 | 2002-11-27 | Roysmith Graeme | Reconfigurable integrated circuit |
US7000092B2 (en) | 2002-12-12 | 2006-02-14 | Lsi Logic Corporation | Heterogeneous multi-processor reference design |
JP3923920B2 (ja) | 2003-03-31 | 2007-06-06 | 株式会社東芝 | 集積回路の設計システム及び集積回路の設計方法 |
EP1625489A2 (en) * | 2003-04-21 | 2006-02-15 | Netcell Corp. | Disk array controller with reconfigurable data path |
US6981232B1 (en) | 2003-05-23 | 2005-12-27 | Xilinx, Inc. | Method and system for integrating a program and a processor into an application specific processor |
US7577727B2 (en) * | 2003-06-27 | 2009-08-18 | Newisys, Inc. | Dynamic multiple cluster system reconfiguration |
US7353362B2 (en) | 2003-07-25 | 2008-04-01 | International Business Machines Corporation | Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus |
GB2408898B (en) | 2003-12-02 | 2006-08-16 | Toshiba Res Europ Ltd | Improved communications apparatus and methods |
CN100543753C (zh) | 2004-06-30 | 2009-09-23 | 相干逻辑公司 | 硬件描述语言(hdl)程序的执行 |
JP4594666B2 (ja) * | 2004-07-12 | 2010-12-08 | 富士通株式会社 | 再構成可能な演算装置 |
US7814462B2 (en) | 2004-10-29 | 2010-10-12 | Massachusetts Institute Of Technology | Methods and apparatus for parallel execution of a process |
AU2005302145A1 (en) | 2004-10-29 | 2006-05-11 | Interactive Supercomputing, Inc. | Methods and apparatus for parallel execution of a process |
TW200617703A (en) * | 2004-11-30 | 2006-06-01 | Tokyo Electron Ltd | Dynamically reconfigurable processor |
WO2006082985A2 (en) * | 2005-02-07 | 2006-08-10 | Sony Computer Entertainment Inc. | Methods and apparatus for providing a secure booting sequence in a processor |
US7437500B2 (en) | 2005-08-05 | 2008-10-14 | Lsi Corporation | Configurable high-speed memory interface subsystem |
EP1783604A3 (en) | 2005-11-07 | 2007-10-03 | Slawomir Adam Janczewski | Object-oriented, parallel language, method of programming and multi-processor computer |
US7486111B2 (en) * | 2006-03-08 | 2009-02-03 | Tier Logic, Inc. | Programmable logic devices comprising time multiplexed programmable interconnect |
DE602007006467D1 (de) | 2006-03-27 | 2010-06-24 | Coherent Logix Inc | Programmierung eines multiprozessorsystems |
JP4878487B2 (ja) * | 2006-03-30 | 2012-02-15 | キヤノン株式会社 | 情報配信装置、情報配信システム、情報処理方法、およびプログラム |
US7487229B2 (en) | 2006-03-30 | 2009-02-03 | Intel Corporation | Methods and apparatus to synchronize local times at nodes in a computer network |
US20070245122A1 (en) * | 2006-04-13 | 2007-10-18 | Archer Charles J | Executing an Allgather Operation on a Parallel Computer |
US7761817B2 (en) | 2006-05-22 | 2010-07-20 | Coherent Logix, Incorporated | Designing an ASIC based on execution of a software program on a processing system |
US8099583B2 (en) * | 2006-08-23 | 2012-01-17 | Axis Semiconductor, Inc. | Method of and apparatus and architecture for real time signal processing by switch-controlled programmable processor configuring and flexible pipeline and parallel processing |
US7752385B2 (en) * | 2006-09-07 | 2010-07-06 | International Business Machines Corporation | Flexible disk storage enclosure |
US20080062634A1 (en) * | 2006-09-07 | 2008-03-13 | International Business Machines Corporation | logical partitioning of disk storage enclosure |
US8522309B2 (en) | 2007-01-22 | 2013-08-27 | Simon Yoffe | Security switch |
JP2010532588A (ja) | 2007-01-22 | 2010-10-07 | シモン ヨフェ | セキュリティ・スイッチ |
US8898653B2 (en) * | 2007-06-27 | 2014-11-25 | International Business Machines Corporation | Non-disruptive code update of a single processor in a multi-processor computing system |
KR20090008519A (ko) * | 2007-07-18 | 2009-01-22 | 삼성전자주식회사 | 공유 레지스터를 갖는 멀티패쓰 억세스블 반도체 메모리장치 및 그에 따른 공유 레지스터 운영방법 |
CN102804609B (zh) | 2009-06-17 | 2015-04-01 | 相干逻辑公司 | 基于格式结构方法的并行执行 |
US8370605B2 (en) * | 2009-11-11 | 2013-02-05 | Sunman Engineering, Inc. | Computer architecture for a mobile communication platform |
US9013991B2 (en) * | 2009-12-21 | 2015-04-21 | Empire Technology Development Llc | Multicore processor including two or more collision domain networks |
US8930713B2 (en) * | 2010-03-10 | 2015-01-06 | Dell Products L.P. | System and method for general purpose encryption of data |
JP5815717B2 (ja) | 2010-10-15 | 2015-11-17 | コーヒレント・ロジックス・インコーポレーテッド | マルチプロセッサシステムにおける通信の無効化 |
-
2011
- 2011-10-14 JP JP2013534050A patent/JP5815717B2/ja active Active
- 2011-10-14 EP EP11776050.4A patent/EP2628090B1/en active Active
- 2011-10-14 US US13/274,138 patent/US8880866B2/en active Active
- 2011-10-14 WO PCT/US2011/056438 patent/WO2012051577A1/en active Application Filing
- 2011-10-14 EP EP18168964.7A patent/EP3432152B1/en active Active
- 2011-10-14 CN CN201610565613.9A patent/CN106227693B/zh active Active
- 2011-10-14 CN CN201180049630.2A patent/CN103154925B/zh active Active
-
2014
- 2014-10-02 US US14/504,960 patent/US9424441B2/en active Active
-
2016
- 2016-04-14 US US15/099,275 patent/US10007806B2/en active Active
-
2018
- 2018-06-04 US US15/996,709 patent/US10685143B2/en active Active
-
2020
- 2020-06-10 US US16/897,564 patent/US20200302090A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP3432152A1 (en) | 2019-01-23 |
US20160232357A1 (en) | 2016-08-11 |
JP2013543183A (ja) | 2013-11-28 |
WO2012051577A1 (en) | 2012-04-19 |
US10007806B2 (en) | 2018-06-26 |
EP3432152B1 (en) | 2020-03-18 |
US20200302090A1 (en) | 2020-09-24 |
US8880866B2 (en) | 2014-11-04 |
US20150026451A1 (en) | 2015-01-22 |
US20120137119A1 (en) | 2012-05-31 |
EP2628090B1 (en) | 2018-05-30 |
CN106227693A (zh) | 2016-12-14 |
US10685143B2 (en) | 2020-06-16 |
CN103154925B (zh) | 2016-08-24 |
US20180276416A1 (en) | 2018-09-27 |
CN106227693B (zh) | 2019-06-04 |
US9424441B2 (en) | 2016-08-23 |
EP2628090A1 (en) | 2013-08-21 |
CN103154925A (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200302090A1 (en) | Selectively Disabling Configurable Communication Paths of a Multiprocessor Fabric | |
US11956220B2 (en) | Logic repository service using encrypted configuration data | |
US9230112B1 (en) | Secured booting of a field programmable system-on-chip including authentication of a first stage boot loader to mitigate against differential power analysis | |
US9165143B1 (en) | Image file generation and loading | |
Jacob et al. | How to break secure boot on fpga socs through malicious hardware | |
KR20170095161A (ko) | 시큐어 시스템 온 칩 | |
Shimizu et al. | Cell broadband engine processor vault security architecture | |
Khan et al. | Utilizing and extending trusted execution environment in heterogeneous SoCs for a pay-per-device IP licensing scheme | |
Armanuzzaman et al. | Byotee: Towards building your own trusted execution environments using fpga | |
McNeil et al. | Isolation Methods in Zynq UltraScale+ MPSoCs | |
González | Operating Security System Support for Run-Time Security with a Trusted Execution Environment | |
Kepa et al. | SeReCon: a secure reconfiguration controller for self-reconfigurable systems | |
Donnini | Integration of the DICE specification into the Keystone framework | |
Cetola | A Method for Comparative Analysis of Trusted Execution Environments | |
CN112437924A (zh) | 用于可编程逻辑器件的安全引导系统和方法 | |
Coughlin | Enabling User Space Secure Hardware | |
Kępa et al. | Secure Intellectual Property Management in Reconfigurable Computing Systems | |
Glapa | Pull the Rug from Under: Malicious Reconfiguration Of Executing Program In FPGA and its Defense | |
Hutchings | 3rd Party IP Encryption from Netlist to Bitstream for Xilinx 7-Series FPGAs | |
Vuillermoz | Analysis of TEE technologies as trust anchors | |
Kepa et al. | SeReCon: A trusted environment for SoPC design | |
Yao et al. | White Paper A Tour Beyond BIOS Implementing UEFI Authenticated Variables in SMM with EDKII | |
CN116830110A (zh) | 多芯片安全可编程系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141006 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150812 |
|
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: 20150825 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150924 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5815717 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |