JP7080897B2 - セキュアメモリ装置 - Google Patents

セキュアメモリ装置 Download PDF

Info

Publication number
JP7080897B2
JP7080897B2 JP2019552568A JP2019552568A JP7080897B2 JP 7080897 B2 JP7080897 B2 JP 7080897B2 JP 2019552568 A JP2019552568 A JP 2019552568A JP 2019552568 A JP2019552568 A JP 2019552568A JP 7080897 B2 JP7080897 B2 JP 7080897B2
Authority
JP
Japan
Prior art keywords
system controller
gateway device
symmetric
message
access data
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
Application number
JP2019552568A
Other languages
English (en)
Other versions
JP2020512763A (ja
Inventor
ダブリュ. ドーバー,ランス
Original Assignee
マイクロン テクノロジー,インク.
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 マイクロン テクノロジー,インク. filed Critical マイクロン テクノロジー,インク.
Publication of JP2020512763A publication Critical patent/JP2020512763A/ja
Priority to JP2022016236A priority Critical patent/JP2022062190A/ja
Application granted granted Critical
Publication of JP7080897B2 publication Critical patent/JP7080897B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Description

関連出願の相互参照
本出願は、2017年3月24日に出願された米国特許仮出願シリアル番号62/476,598に対する優先権の利益を主張する2017年8月31日に出願された米国特許出願シリアル番号15/692,802に対する優先権の利益を主張し、それらの全体が参照により本明細書に組み込まれている。
本明細書に記載の例は、一般に不正アクセスからコンピューティングシステムメモリを保護するためのシステム及び方法に関する。
処理システムに対する攻撃の一般的な形態には、システムのメモリデバイスに悪意のあるコードをインストールすることが含まれる。悪意のあるコードは、次いで処理システムによって実行される。実行されると、悪意のあるコードはデータの窃盗、処理システムの不正制御、及びその他の悪い結果が生じることを可能にする。
図面は、必ずしも縮尺通りに描かれておらず、同様の数字は、異なる図において同様の構成要素を説明することができる。異なる接尾文字を有する同じ数字は、類似の構成要素の異なるインスタンスを表すことができる。いくつかの例は、以下の添付図面の図において、例示として示されており、限定するものではない。
セキュアコンピューティングシステムを実装するための環境の一例を示す図である。 ゲートウェイデバイス及びシステムコントローラの追加的詳細を含むセキュアコンピューティングシステムの一部を示す図である。 図1の外部システム、ゲートウェイデバイス、及びシステムコントローラにより実行され得る着信メッセージを処理するためのプロセスフローの一例を示すフローチャートである。 図1の外部システム、ゲートウェイデバイス、及びシステムコントローラにより実行され得る発信メッセージを処理するためのプロセスフローの一例を示すフローチャートである。 1つ以上の装置の一部としてメモリ装置を備えた例示的な処理システムを示す。 コンピューティングデバイスのソフトウェアアーキテクチャの一例を示すブロック図である。 本明細書に記載の方法のいずれか1つの例をマシンに実行させるために命令のセットまたはシーケンスが実行され得る、コンピューティングデバイスのハードウェアアーキテクチャを示すブロック図である。
以下の記載では、説明の目的で、いくつかの例を完全に理解できるようにするために、多くの具体的な詳細が説明されている。しかし、これらの具体的な詳細を伴わずに本開示が実施され得ることは当業者には明らかになるであろう。
本明細書に記載の様々な例は、データ処理システム(本明細書では処理システムとも呼ばれる)の様々な形態に見られるメモリ装置を保護するためのシステム及び方法に関する
。いくつかの例では、本明細書に記載のセキュアメモリ装置は、例えば、家電製品、車両、産業用機器、モノのインターネット(IoT)デバイスなどの様々な装置に組み込まれた処理システムで使用されている。そのような処理システムは、例えば、埋め込みシステム、もしくは制御または通信のための他のシステムを含み得る。本明細書に記載のメモリ装置を利用することができる処理システムの他の例には、ラップトップコンピュータ、デスクトップコンピュータ、モバイルコンピューティングデバイス、サーバーなどが含まれる。
いくつかの例では、本明細書に記載のシステム及び方法は、アクセス制御を利用して、処理システムにおいてメモリ装置を保護している。例えば、本明細書に記載のセキュアメモリ装置を利用する処理システムは、送信側が暗号キーを所有していることを示すアクセスデータが書き込みに付随しない限り、関連するメモリの保存場所のすべてまたは一部への書き込みを防ぐことができる。いくつかの例では、暗号化キーの代わりに任意の他のタイプの共有された秘密が使用され得る。いくつかの例では、メモリ装置のすべての保存場所へのアクセスは、この方法で制御され得る。他の例では、ブートコードやその他の重要なソフトウェアを含む保存場所など、保存場所の一部のみがアクセス制御されている。
アクセス制御された1つまたは複数の保存場所への書き込みリクエストは、ペイロードデータ及びアクセスデータを含み得る。書き込みリクエストを受信すると、メモリ装置は、例えば、アクセスデータ及びペイロードデータに基づいて暗号化オペレーションを実行することにより、アクセスデータを確証するために暗号化キー及びペイロードデータを使用することができる。暗号化オペレーション(例えば、その1つまたは複数の結果)がアクセスデータと一致する場合、アクセスデータが確証され、処理システムはペイロードデータをストレージデバイスに書き込むことによって、書き込みリクエストを実行する。暗号化オペレーションがアクセスデータと一致しない場合、アクセスデータは確証されず、処理システムは書き込みリクエストを拒否する。
本明細書に記載のアクセス制御は、メモリデバイスとは異なるプロセッサユニットによって実行されるソフトウェアに実装され得るが、本明細書に記載のいくつかの例は、メモリデバイスレベルでアクセス制御を実装する。例えば、セキュアメモリデバイスは、暗号化キーなどの共有された秘密を保存するためのキーレジスタ、並びにアクセスデータを生成及び/または確証するための暗号化エンジンを含み得る。書き込みリクエストが受信されると、メモリデバイスは、暗号エンジンのキーレジスタから書き込みリクエストペイロードデータ、及び暗号キーを提供することにより、アクセスデータを確証する。暗号化エンジンは、ハッシュ、復号化などの1つ以上の暗号化オペレーションを実行することができ、アクセスデータを確証する。アクセスデータが確証される場合、メモリデバイスはリクエストされた書き込みを完了する。アクセスデータが確証されない場合、メモリデバイスは書き込みリクエストを拒否する。
本明細書に記載のアクセス制御は、対称キーまたは非対称キーを用いて実装され得る。対称キーが使用されるとき、送信側と受信側の両方は、同一の対称キーのコピーを有する。送信側は、対称キーを使用してアクセスデータを生成する。例えば、送信側は、対称キーを使用してハッシュ関数をペイロードデータに適用することにより、アクセスデータを生成することができる。得られたハッシュは、アクセスデータのすべてまたは一部を構成する。得られたハッシュは、いくつかの例ではメッセージ認証コード(MAC)と呼ばれ、一部の例ではハッシュメッセージ認証コード(HMAC)と呼ばれる。
送信側は、ペイロードデータ及びアクセスデータを含む書き込みリクエストを受信側に送信する。同様に対称キーのコピーを有している受信側は、アクセスデータコピーを生成する。例えば、受信者は、受信者自身の対称キーのコピーでペイロードデータを独自にハ
ッシングすることによって、アクセスデータコピーを生成することができる。アクセスデータコピーが受信したアクセスデータと同等である場合、メッセージは確証される。
非対称キーが使用される場合、送信側には秘密であるプライベートキーと秘密ではないパブリックキーがある。送信側は、認証局または他の信頼できる第三者を利用して、パブリックキーの受信側に対する信頼性を確証する場合がある。送信側のプライベートキー及びパブリックキーは数学的に関連しており、プライベートキーで実行される特定の暗号化オペレーションはパブリックキーを使用して反転され得る。
送信側はペイロードデータ及び送信側自身のプライベートキーを利用してアクセスデータを生成する。例えば、送信側はペイロードデータにハッシュ関数を適用することができ、次いで得られたハッシュに送信側のプライベートキーを署名することができる。その結果は、暗号署名であり、アクセスデータの全体または一部を構成し得る。受信側は、送信側のパブリックキーを用いて署名を復号することができ、次いで受信したペイロードデータに同じハッシュ関数を適用してアクセスデータコピーを生成することができる。アクセスデータコピーが復号化された署名と同等である場合、続いてメッセージが確証される。
対称及び非対称のアクセス制御には、いずれも長所と短所がある。例えば、対称構成では、両者が対称キーを互いに安全に通信する必要がある。いくつかの例では、通信する両者間で対称キーを通信するプロセスは、プロビジョニングと呼ばれる。対称キーを秘密に保ちながら、両者に単一の対称キーをプロビジョニングすることは課題となり得る。一方で、非対称構成はプロビジョニングすることが容易になり得る。例えば、送信側のパブリックキーは秘密ではなく、対称キーに関連付けられたセキュリティ上の懸念のない平文で送信され得る。同様に、非対称キーを用いて生成されたアクセスデータを確証するための暗号化オペレーションは、多くの場合より複雑である。例えば、一部の非対称構成は、同様に安全な対称構成で使用されるキーよりも桁違いに大きい暗号キーを使用する。非対称構成において暗号化オペレーションの複雑さが増すと、実装するためにより多くのハードウェア及び/またはソフトウェアのリソースが必要になり得る。
大型のコンピューティングデバイスなどの一部の処理システムでは、非対称アクセス制御に関連付けられた追加の部品表(BOM)及び/またはその他のコストはわずかである。他の処理システムでは、非対称アクセス制御の追加コストはより大きなものである。例えば、埋め込みシステム、IoTデバイス、及びその他の同様の処理システムまたは構成要素は、十分に低い全体コストを有することができ、非対称アクセス制御の追加は各構成要素の価格に大きく付与する。各埋め込みシステムメモリデバイスに非対称アクセス制御を追加する自動車、セキュリティシステムなどの大規模システムでは、大幅なコストを追加し得る。
本明細書に記載の様々な例は、ゲートウェイデバイス及び1つ以上のシステムコントローラを含む処理システム及びメモリ装置を対象としている。ゲートウェイデバイスは、非対称アクセス制御、及び対称アクセス制御の両方をサポートする1つ以上のメモリデバイスを含む。システムコントローラは、対称アクセス制御をサポートするメモリデバイスを含む。しかし、いくつかの例では、システムコントローラの1つ以上のメモリデバイスは、非対称アクセス制御をサポートする必要がない。このように、非対称アクセス制御の追加費用は、各システムコントローラに必要でなくなり得る。
対称及び非対称の両方のアクセス制御をサポートするゲートウェイデバイスメモリデバイスは、様々なコントローラシステムにおいてメモリデバイスの対称キーのキーストアとして機能することができる。例えば、外部システムは、システムコントローラの1つ(受信者システムコントローラ)に向けられた外部メッセージを生成することができる。外部
メッセージは、外部システムのプライベートキーで生成されたペイロードデータ及び非対称アクセスデータを含むことができる。ゲートウェイデバイスはメッセージを受信し、外部システムのパブリックキーを使用してそれを確証する。ゲートウェイデバイスは、次いで、メッセージが送信されるシステムコントローラの適切な対称キーを抽出し、受信者システムコントローラに固有であり得る対称アクセスデータを生成する。ゲートウェイデバイスは、ペイロードデータ及び対称アクセスデータを含む内部メッセージを受信者システムコントローラに送信する。受信者システムコントローラ、またはシステムコントローラにあるシステムメモリデバイスは、対称アクセスデータを確証し、ペイロードデータをメモリに書き込む。
図1は、ネットワーク116を介して例示的な外部システム118A、118Bと通信するセキュア処理システム101を実装するための環境100の一例を示す図である。セキュア処理システム101は、ゲートウェイデバイス102及び多数のシステムコントローラ104A、104B、104C、104Nを含む。ゲートウェイデバイス102及びシステムコントローラ104A、104B、104C、104Nは、バス120を介して通信しており、バス120は、有線バスまたは無線バスの任意の適切な形態であり得る。例示的な環境100には4つのシステムコントローラ104A、104B、104C、104Nが示されているが、例えば、図1に示されているよりも多いか、または少ないシステムコントローラを含む任意の適切な数のシステムコントローラが使用され得る。
システムコントローラ104A、104B、104C、104Nは、いくつかの例では、機械式または電気式システム、もしくはサブシステムを任意の適切な設定で制御するための埋め込み型システムであり得る。いくつかの例では、セキュア処理システム101は、自動車または他の車両に実装され得る。各システムコントローラ104A、104B、104C、104Nは、自動車の構成要素を管理することができる。例えば、システムコントローラ104Aはアンチロックブレーキシステムを管理することができ、システムコントローラ104Bはフライバイワイヤースロットルシステムを管理することができ、システムコントローラ104Cはバックアップカメラを管理することができ、システムコントローラ104Nはエンターテイメントシステムを管理することができる、などである。セキュア処理システム101が自動車または他の車両に実装される例では、バス120は、コントローラエリアネットワーク(CAN)車両用バス規格に従って構成され得る。別の例では、セキュア処理システム101はセキュリティシステムに実装され得る。各システムコントローラ104A、104B、104C、104Nは、セキュリティシステムの様々なカメラ、センサーなどを管理することができる。更に別の例では、セキュア処理システム101は、冷蔵庫などの家電製品の一部として実装され得る。各システムコントローラ104A、104B、104C、104Nは、家電製品の様々なディスプレイ、サーモスタットなどを管理することができる。
システムコントローラ104A、104B、104C、104Nは、それぞれのプロセッサユニット112A、112B、112C、112N、及びそれぞれの対称メモリデバイス114A、114B、114C、114Nを含むことができる。対称メモリデバイス114A、114B、114C、114Nは、例えば、図2により詳細に示されるように、対称アクセス制御をサポートするように構成され得る。対称メモリデバイス114A、114B、114C、114Nは、いくつかの例では、プロセッサユニット112A、112B、112C、112Nによって実行されるコードを格納する。対称メモリデバイス114A、114B、114C、114Nは、いくつかの例では、例えばフラッシュデバイスなどのソリッドステートメモリデバイスなどの永続的メモリデバイスである。
ゲートウェイデバイス102は、対称/非対称メモリデバイス108を含む。対称/非対称メモリデバイス108は、例えば、本明細書に記載のように、対称及び非対称の両方
のアクセス制御をサポートするメモリデバイスである。いくつかの例では、ゲートウェイデバイス102はまた、プロセッサユニット106も備える。
対称/非対称メモリデバイス108は、それぞれの対称メモリデバイス114A、114B、114C、114Nの対称キーを格納するための1つ以上の保存場所を含むキーストア領域110を含む。対称/非対称メモリデバイス108は、非対称アクセス制御によりキーストア領域110へのアクセスを管理することができる。従って、キーストア領域110は、それぞれの対称メモリデバイス114A、114B、114C、114Nの対称キーを含むが、キーストア領域110自体は、本明細で説明されるように、対称/非対称メモリデバイス108の非対称キーペアでアクセス制御される。
対称/非対称メモリデバイス108は、例えば、外部システム118A、118Bとの通信において、非対称アクセスデータを受信及び処理するように構成され得る。対称/非対称メモリデバイス108はまた、例えば、キーストア領域110に格納された対称キーを利用して、対称アクセスデータを受信及び処理するようにも構成され得る。
ゲートウェイデバイス102は、ネットワーク116を介して外部システム118A、118Bと通信することができる。ネットワーク116は、任意の適切なネットワークプロトコルに従って動作する任意の適切なネットワーク要素であることができるか、またはそれを含み得る。例えば、ネットワーク116の1つ以上の部分は、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、ローカルエリアネットワーク(LAN)、無線LAN(WLAN)、ワイドエリアネットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部、公衆交換電話網(PSTN)の一部、携帯電話ネットワーク、ワイヤレスネットワーク、Wi-Fiネットワーク、WiMaxネットワーク、別の種類のネットワーク、またはそのようなネットワークのうち2つ以上の組み合わせであり得る。
図2は、ゲートウェイデバイス102及びシステムコントローラ104Aの追加的詳細を含むセキュア処理システム101の一部を示す図である。ここで、ゲートウェイデバイス102を参照すると、図2は、対称/非対称メモリデバイス108の追加的詳細を示している。例えば、対称/非対称メモリデバイス108は、コントローラ132及びストレージ130を含む。いくつかの例では、対称/非対称メモリデバイス108は、フラッシュまたは他の同様のソリッドステートメモリであるか、それを含むことができる。いくつかの例では、ストレージ130及びコントローラ132を含む対称/非対称メモリデバイス108は、共通の半導体(例えば、シリコン)ダイ上の埋め込み型マルチメディアコントローラ(eMMC)デバイス上で実装され得る。
ストレージ130は、キーストア110を含み、キーストア110は、システムコントローラ104A、104B、104C、104Nのうち1つ以上の対称キーを格納することができる。いくつかの例では、キーストア110は、例えば本明細書に記載のように、非対称にアクセス制御されている。コントローラ132は、例えば、アドレス指定、データの読み取り及び書き込みなどを実行するためのハードウェアを含む、ストレージ130を管理するための様々なハードウェアを含むことができる。
コントローラ132は、いくつかの例では、非対称エンジン134及び対称エンジン136を含む。非対称エンジン134は、キーストア110の非対称アクセス制御を実装するために使用され得る。非対称エンジン134は、1つ以上のキーレジスタ140及び数学処理エンジン138を含むことができる。キーレジスタ140は非対称エンジン134の構成要素として示されているが、いくつかの例では、キーレジスタ140は他の場所、例
えばストレージ130内の安全な場所に配置されてもよい。いくつかの例では、キーレジスタ140は、対称/非対称メモリデバイス108のプライベートキーを格納し得る。数学処理エンジン138は、本明細書に記載のように、非対称アクセス制御を実装するための暗号オペレーションを実行するように構成され得る。例えば、数学処理エンジン138は、ペイロードデータ(またはペイロードデータのハッシュ)及びプライベートキーを受信して、例えば、本明細書に記載のように、デジタル署名を含むアクセスデータを生成するように構成されてもよい。数学処理エンジン138はまた、暗号化されたデータ及びパブリックキーを受信して、復号化されたデータまたはクリアなデータを生成するようにも構成され得る。いくつかの例では、非対称エンジン134は、RSAエンジンであることができるか、RSAエンジンを含むことができる。
対称エンジン136は、キーレジスタ146及び数学処理エンジン142を含むことができる。キーレジスタ146は、例えば、対称/非対称メモリデバイス108の対称キーを格納してもよい。キーレジスタ146は対称エンジン136の一部として示されているが、いくつかの例では、それは他の場所、例えばストレージ130内の安全な場所に配置されている。数学処理エンジン142は、本明細書に記載のように、対称アクセス制御を実装するための暗号オペレーションを実行するように構成されている。例えば、数学処理エンジン142は、ペイロードデータ及び対称キーを受信し、ペイロードデータ及び対称キーに基づいてハッシュを返すように構成され得る。
システムコントローラ104Aは、上で紹介した対称メモリデバイス114Aを含むことができる。対称メモリデバイス114Aは、ストレージ152A及びコントローラ150Aを含むことができる。いくつかの例では、対称メモリデバイス114Aは、コントローラ150A及びストレージ152Aが同じ半導体ダイ上に実装されたNORデバイスであってもよい。ストレージ152Aは、いくつかの例では、システムを制御するためにプロセッサユニット112Aによって実行可能な命令を格納してもよい。例えば、保護された処理システム101が自動車または他の車両に実装される場合、ストレージ152Aは、プロセッサユニット112Aによって実行されると、プロセッサユニット112Aにアンチロックブレーキシステム、フライバイワイヤースロットルシステムなどの車両サブシステムのオペレーションを制御させる命令を含み得る。本明細書に記載のように、ストレージ152Aのすべてまたは一部がアクセス制御され得る。いくつかの例では、プロセッサユニット112A、ミッションクリティカルなソフトウェアなどのブート命令を含むストレージ152Aの一部は、アクセス制御され、一方でストレージ152Aの他の部分はアクセス制御されない。
コントローラ150Aは、コントローラ132と同様に、例えば、アドレス指定、データの読み取り及び書き込みなどを実行するためのハードウェアを含むストレージ152Aを管理するための様々なハードウェアを含むことができる。コントローラ132はまた、対称エンジン154Aを含むことができ、対称エンジン154Aは、本明細書に記載の対称/非対称メモリデバイス108の数学処理エンジン138及びキーレジスタ140と同様の数学処理エンジン160A及びキーレジスタ156Aを含むことができる。
図2はまた、システムコントローラ104A及びその対称メモリデバイス114Aとの間でメッセージを送受信するためのワークフローを示している。図2の例では、非対称メッセージ162は、外部システム118A、118Bのうち1つのような外部システムから受信される。非対称メッセージ162は、ペイロードデータ及び非対称アクセスデータを含む。プロセッサユニット106は、非対称メッセージ162が対称/非対称メモリデバイス108に書き込まれることをリクエストする。対称/非対称メモリデバイス108のコントローラ132は、非対称エンジン134を利用して、非対称アクセスデータを確証する。非対称アクセスデータが確証される場合、コントローラ132は、キーストア1
10からシステムコントローラ104Aの対称キーにアクセスし、対称キーを使用して対称アクセスデータを生成する。対称アクセスデータ及びペイロードデータは、システムコントローラ104Aに送信される対称メッセージ164の一部であり得る。
対称コントローラ104Aは、対称メッセージ164を受信し、それが対称メモリデバイス114Aに書き込まれることをリクエストする。対称メモリデバイス114Aのコントローラ150Aは、対称エンジン154Aを利用して対称アクセスデータを確証する。対称アクセスデータが確証されると、コントローラ150Aはペイロードデータをストレージ152Aに書き込む。
同様に、システムコントローラ104Aは、外部システム118A、118Bのうちの1つなどの外部システムに向けられたメッセージを生成する。プロセッサユニット112Aは、例えば、リクエストされたペイロードデータが外部システムに送信されるという指標と共に、対称メモリデバイス114Aに読み取りリクエストを行う。コントローラ150Aは、ストレージ152Aからリクエストされたデータを抽出し、対称メモリデバイス114Aの対称キーに基づいて対称アクセスデータを生成する。システムコントローラは、対称メッセージ166をゲートウェイデバイス102に向ける。
ゲートウェイデバイス102は、対称エンジン136を利用して対称アクセスデータ、及び非対称エンジン134を確証し、対称/非対称メモリデバイス108のプライベートキーを備えた新しい非対称アクセスデータを生成する。非対称アクセスデータ及びペイロードデータは、外部システムに送信される非対称メッセージ168を形成し得る。
図3は、着信メッセージを処理するために外部システム、ゲートウェイデバイス102、及びシステムコントローラ104Aによって実行され得るプロセスフロー300の一例を示すフローチャートである。プロセスフロー300は、3つのカラム301、303、305を含む。カラム301は、外部システム118Aによって実行され得るオペレーションを含む。カラム303は、ゲートウェイデバイス102によって実行され得るオペレーションを含む。カラム305は、システムコントローラ104Aによって実行され得るオペレーションを含む。プロセスフロー300は、特定の外部システム118A、ゲートウェイデバイス102、及び特定のシステムコントローラ104Aを参照して説明されているが、いくつかの例では、他の外部システム118A、他のシステムコントローラ104B、104C、104N、及び他のゲートウェイデバイスが代用され得ることを理解されたい。
オペレーション304において、システムコントローラ104Aは、対称キーメッセージ307をゲートウェイデバイス102に送信し、ゲートウェイデバイス102は、オペレーション302で対称キーメッセージを受信する。オペレーション302及び304は、プロビジョニングと呼ばれることもあり、様々な異なる方法で実施され得る。いくつかの例では、プロビジョニングは、処理システム101の初期構成中、例えば、処理システム101または処理システム101によって管理される装置(例えば、車両、セキュリティシステムなど)の製造中または製造後に生じる。例えば、各システムコントローラ104A、104B、104C、104Nは、初期構成中にそれぞれの対称キーをゲートウェイデバイス102に送信するように構成され得る。例えば、システムコントローラ104Aは、ゲートウェイデバイス102または別のデバイスからプロビジョニング信号を受信することができる。プロビジョニング信号に応答して、システムコントローラ104Aは、対称キーメッセージ307をゲートウェイデバイス102に送信することができる。いくつかの例では、プロビジョニングメッセージがゲートウェイデバイス102以外の構成要素によって送信された場合、ゲートウェイデバイス102は、システムコントローラ104Aに送信されたプロビジョニング信号と同時にまたは近い時間内にゲートウェイデバ
イスプロビジョニング信号を受信することができる。ゲートウェイデバイスプロビジョニング信号は、対称キーメッセージ307を予期するようゲートウェイデバイス102に促すことができる。別の例では、処理システム101のシーケンスのブートシーケンス中にプロビジョニングが生じ得る。(例えば、処理システム101の電源がオンになったとき、処理システム101がリセットされたときなどを含む様々な時間にブートシーケンスが生じ得る。)例えば、ゲートウェイデバイス102は、プロビジョニング信号をブートシーケンス中のシステムコントローラ104A、104B、104C、104Nに送信するように構成されることができる。いくつかの例では、処理システム101は、プロビジョニング中にネットワーク116から切断されることができ、第3者が通信バス120を介して送信された対称キーを傍受するのを防ぐようになっている。
更に別の例では、システムコントローラ104A、104B、104C、104Nの対称キーは、セキュアデータベースまたは他のセキュアストレージにおいて、例えば、セキュア処理システム101の外部に格納され得る。システムコントローラ104A、104B、104Nから対称キーを受信する代わりに(またはそれに加えて)、ゲートウェイデバイス102は、セキュアデータベースまたは他のセキュアストレージから対称キーを受信してもよい。例えば、ゲートウェイデバイス102は、対称キーリクエストメッセージをセキュアデータベースに送信するように構成され得る。いくつかの例では、対称キーリクエストメッセージは、本明細書に記載のように生成された対称または非対称のアクセスデータを含み得る。セキュアデータベース(及び/またはその関連システム)は、対称キーリクエストを確証することができ、確証した場合、システムコントローラ104A、104B、104C、104Nのリクエストされた1つ以上の対称キーをゲートウェイデバイス102に送信することができる。
図3に戻り参照すると、オペレーション306において、外部システム118Aは、非対称メッセージ309をゲートウェイデバイス102に送信することができる。非対称メッセージ309は、外部システム118Aのプライベートキーを備えた外部システム118Aによって生成されたペイロードデータ及び非対称アクセスデータを含む。非対称メッセージ309は、システムコントローラ104Aにアドレス指定され得る。一例では、システムコントローラ104Aは、車両のアンチロックブレーキシステムを管理し、非対称メッセージ309は、アンチロックブレーキシステムからの現在のファームウェアバージョン、ステータス、または他の情報をリクエストするステータスリクエストメッセージを含むペイロードデータを含む。別の例では、非対称メッセージ309は、システムコントローラ104Aのファームウェアまたは他のソフトウェア更新を含むペイロードデータを含み得る。非対称メッセージ309は、具体的にシステムコントローラ104Aにアドレス指定されてよく、または、いくつかの例では、システムコントローラ104A、104B、104C、104Nのうちの2つ以上にアドレス指定されてもよい。例えば、非対称メッセージ309は、セキュアコンピューティングシステムのシステムコントローラ104A、104B、104C、104Nのすべて、またはそれらのサブセットからの情報をリクエストすること、またはそれらに情報またはデータを提供することができる。
オペレーション308において、ゲートウェイデバイス102は、非対称メッセージ309またはその一部を対称/非対称メモリデバイス108に書き込むことができる。いくつかの例では、ゲートウェイデバイス102は、メッセージ309をシステムコントローラ104Aに転送するという命令とともに非対称メッセージ309を対称/非対称メモリデバイス108に書き込む。非対称メッセージ309がシステムコントローラ104A、104B、104C、104Nのうちの2つ以上にアドレス指定されている例では、ゲートウェイデバイス102は、メッセージ309が複数のシステムコントローラ104A、104B、104C、104Nに送信されるという命令とともに非対称メッセージ309を対称/非対称メモリデバイス108に書き込むことができる。いくつかの例では、完全
なペイロードデータが、各受信者システムコントローラ104A、104B、104C、104Nに提供されている。他の例では、ゲートウェイデバイス102は、ペイロードデータを分割し、部分的なペイロードデータを各受信者システムコントローラ104A、104B、104C、104Nに送信する。例えば、システムコントローラ104Aのファームウェアアップデートを含むペイロードデータは、システムコントローラ104Aに送信されてもよく、一方で、別のシステムコントローラ104B、104C、104Nなどのファームウェアアップデートを含むペイロードデータは、システムコントローラ104Aに送信されなくてもよい。
オペレーション310において、ゲートウェイデバイス102(例えば、対称/非対称メモリデバイス108)は、非対称メッセージ309を確証することができる。例えば、対称/非対称メモリデバイス108は、非対称エンジン134を利用して、非対称メッセージ309に含まれる非対称アクセスデータがペイロードデータと一致するかを照合することができる。いくつかの例では、対称/非対称メモリデバイス108は、例えば、認証局または他の信頼できる第三者から外部システム118Aのパブリックキーを取得する。いくつかの例では、対称/非対称メモリデバイス108は、外部システム118A、118Bの限られたセットからのメッセージを確証するように構成されている。例えば、非対称アクセスデータが、外部システム118A、118Bの限定されたセットの外部システム118A、118Bのプライベートキーに結び付けられない場合、確証されないことがある。(図1には2つの外部システム118A、118Bが示されているが、ゲートウェイデバイス102は、異なる数の外部システム118A、118Bを含む外部システムの限られたセットを利用することができる。)
対称/非対称メモリデバイス108は、非対称アクセスデータ及びパブリックキーを非対称エンジン134(例えば、その数学処理エンジン138)に提供することができる。非対称エンジン134は、復号化されたアクセスデータを返すことができる。復号化されたアクセスデータは、非対称メッセージのペイロードデータを参照するか、そうでなければ記述することができる。例えば、復号化されたメッセージは、ペイロードデータのハッシュであることができる。対称/非対称メモリデバイス108は、非対称メッセージ309(アクセスデータコピーと呼ばれることもある)とともに受信されたペイロードデータのハッシュを独立して生成することができる。アクセスデータコピーが復号化されたアクセスデータと同等である場合、非対称メッセージ309が確証される。例えば、RSA暗号化技術など、任意の適切な非対称暗号化技術が使用され得る。また、非対称アクセスデータが外部システムのプライベートキーで暗号化されたペイロードデータのハッシュである、本明細書で説明するこの例は、非対称アクセスデータを生成する単なる一例である。他の適切な技術が使用されてもよい。
非対称メッセージ309が確証されない場合(例えば、アクセスデータコピーが復号化されたアクセスデータと同等でない場合)、対称/非対称メモリデバイス108は、オペレーション312においてメッセージを拒否することができる。オペレーション310において非対称メッセージ309が確証される場合、オペレーション314において、対称/非対称メモリデバイス108はシステムコントローラ104Aの対称アクセスデータを生成することができる。例えば、対称/非対称メモリデバイス108は、対称/非対称メモリデバイス108のストレージ130にあるキーストア110からシステムコントローラ104Aの対称キーを抽出することができる。いくつかの例では、対称/非対称メモリデバイスは、対称エンジン136を利用して対称アクセスデータを生成することができる。例えば、対称/非対称メモリデバイス108は、システムコントローラ104Aの抽出された対称キー及びペイロードデータを対称エンジン136に提供することができ、対称エンジン136は、システムコントローラ104Aの対称キーで生成されたペイロードデータのハッシュを返すことができる。メッセージ309の全ペイロードデータ未満がシス
テムコントローラ104Aに送信される場合、システムコントローラ104Aに送信されるペイロードデータの部分を考慮して対称アクセスデータが生成され得る。例えば、SHA-2シリーズ、SHA-3シリーズ、SHA-5シリーズなどを含むセキュアハッシュアルゴリズム(SHA)アルゴリズムなど、任意の適切なハッシュアルゴリズムが使用され得る。
オペレーション316において、ゲートウェイデバイス102(例えば、対称/非対称メモリデバイス108)は、対称メッセージ311をシステムコントローラ104Aに送信することができる。例えば、対称メッセージ311は、ペイロードデータ(またはシステムコントローラ104Aに提供されるペイロードデータの一部)及びオペレーション314で生成された対称アクセスデータを含み得る。
システムコントローラ104Aは、対称メッセージ311を受信することができ、それをオペレーション318において、対称メモリデバイス114Aに書き込むことができる。オペレーション320において、システムコントローラ104A(例えば、対称メモリデバイス114A)は、対称メッセージ311を確証することができる。例えば、対称メモリデバイス114Aは、対称アクセスデータがペイロードデータと一致するかどうかを判断することができる。対称メモリデバイス114Aは、対称アクセスデータを対称エンジン154Aに供給することにより、オペレーション318からの書き込みを処理することができる。対称エンジン154Aは、対称メッセージ311に含まれるペイロードデータ、及び対称メモリデバイス114Aの対称キーに基づいて、例えば、対称/非対称メモリデバイス108によって使用される同一のハッシュアルゴリズムを利用してハッシュを生成することができる。
生成されたハッシュが対称アクセスデータと同等である場合、対称メッセージ311が確証される。生成されたハッシュが対称アクセスデータと同等でない場合、対称メッセージ311は確証されなくてもよい。対称メッセージ311が確証されない場合、対称メモリデバイス114Aは、オペレーション322においてメッセージ311を拒否することができる(例えば、ペイロードデータがストレージ152Aにロードされなくてもよい)。対称メッセージ311が確証された場合、対称メモリデバイス114Aは、オペレーション324において、例えば、ペイロードデータをストレージ152Aに書き込むことにより、メッセージ311を処理することができる。
図4は、発信メッセージを処理するために、外部システム118A、ゲートウェイデバイス102、及びシステムコントローラ104Aによって実行され得るプロセスフロー400の一例を示すフローチャートである。プロセスフロー400は、3つのカラム401、403、405を含む。カラム401は、外部システム118Aによって実行され得るオペレーションを含む。カラム403は、ゲートウェイデバイス102によって実行され得るオペレーションを含む。カラム405は、システムコントローラ104Aによって実行され得るオペレーションを含む。プロセスフロー400は、特定の外部システム118A、ゲートウェイデバイス102、及び特定のシステムコントローラ104Aを参照して説明されているが、いくつかの例では、他の外部システム118A、他のシステムコントローラ104B、104C、104N、及び他のゲートウェイデバイスが代用され得ることを理解されたい。プロセスフロー400の実行前に、システムコントローラ104Aの対称キーは、例えば、本明細書に記載のように、ゲートウェイデバイス102にプロビジョニングされていてもよい。
オペレーション402において、システムコントローラ104Aは、外部システム118Aに向けられた対称メッセージ407を生成することができる。対称メッセージ407は、ペイロードデータ及び対称アクセスデータを含み得る。ペイロードデータは、例えば
、システムコントローラ104Aのステータスレポート、システムコントローラ104Aと通信する1つ以上のセンサーからのデータなどの任意の適切なデータであり得る。いくつかの例では、システムコントローラ104Aは、対称メモリデバイス114Aの対称エンジン154Aを利用して対称アクセスデータを生成する。例えば、システムコントローラ104Aは、対称メモリデバイス114Aからのペイロードデータをリクエストすることができる。対称メモリデバイス114Aは、ストレージ152Aからペイロードデータを抽出することができ、ペイロードデータを対称エンジン154Aに供給することができる。対称エンジン154Aは、例えば、システムコントローラ104Aの対称キーに基づいて、キーレジスタ156Aに格納され得るペイロードデータのハッシュを生成することができる。ハッシュは、対称アクセスデータのすべてまたは一部であり得る。
オペレーション404において、システムコントローラ104Aは、対称メッセージ407をゲートウェイデバイス102に送信することができる。ゲートウェイデバイス102は、オペレーション406において、対称メッセージ407を対称/非対称メモリデバイス108に書き込むことができる。オペレーション408において、ゲートウェイデバイス102(例えば、対称/非対称メモリデバイス108)は、例えば本明細書に記載のように、対称メッセージを確証することができる。例えば、ゲートウェイデバイス102は、キーストア110からシステムコントローラ104Aの対称キーを抽出することができ、対称エンジン136を利用して、ペイロードデータのハッシュを生成することができる。対称エンジン136によって生成されたペイロードデータのハッシュが対称メッセージ407のアクセスデータと同等である場合、メッセージは確証され得る。一致しない場合、ゲートウェイデバイス102は、オペレーション410において、対称メッセージ407を拒否することができる。
対称メッセージ407が確証される場合、ゲートウェイ装置102は、メッセージを外部システム118Aに転送することができる。いくつかの例では、非対称アクセスデータが使用され得る。例えば、オペレーション412において、ゲートウェイデバイス102(例えば、対称/非対称メモリデバイス108)は、対称メッセージ407のペイロードデータを含む非対称メッセージ409を生成することができる。例えば、対称/非対称メモリデバイス108は、ペイロードデータを非対称エンジン134に供給することができる。非対称エンジン134は、例えば、ゲートウェイデバイス102のペイロードデータ及びプライベートキーに基づいて、非対称アクセスデータを生成することができる。例えば、対称/非対称メモリデバイス108は、ペイロードデータのハッシュを生成することができ、次いで、プライベートキーでハッシュを暗号化することができる。暗号化されたハッシュは、非対称アクセスデータのすべてまたは一部であり得る。オペレーション414において、ゲートウェイデバイス102は、非対称メッセージ409を外部システム118Aに送信することができる。
外部システム118Aは、オペレーション416において非対称メッセージ409を受信することができ、例えば、非対称アクセスデータがペイロードデータに一致するかどうかを判断することにより、オペレーション418において、メッセージ409を確証することができる。メッセージが確証されると、外部システムはオペレーション422においてメッセージを処理することができる。メッセージが確証されない場合、外部システム118Aは、オペレーション420においてメッセージを拒否することができる。
本明細書に記載の例示的なセキュア処理システム101は、アクセス制御を利用して、ゲートウェイデバイス102のメモリデバイス、及びシステムコントローラ104A、104B、104C、104Nを保護する。例えば、ゲートウェイデバイス102は、説明したように、システムコントローラ104A、104B、104C、104Nのために非対称アクセス制御を有利に実装する。このように、システムコントローラ104A、10
4B、104C、104Nは、非対称システムコントローラではなく対称システムコントローラとともに実装され得る。
様々な例では、ゲートウェイデバイス102及び様々なシステムコントローラ104A、104B、104C、104Nを含むセキュア処理システム101は、例えば暗号測定、暗号保護及び/または自動回復などの他のセキュリティ機能を実装することができる。
暗号測定によれば、メモリデバイス108、114A、114B、114C、114Nの一部またはすべては、それぞれの対称エンジン(または追加の対称エンジン)を利用して、信頼性測定のコアルート(CRTM)を実装する。例えば、メモリデバイスが(例えば、本明細書に記載のように確証された)確証されたペイロードデータを受信すると、メモリデバイスはペイロードデータのハッシュを生成するために適切な暗号キー(例えば、デバイスの対称キー)を利用することができる。ハッシュはメモリデバイスにおいて、安全な場所に書き込まれることができる。いくつかの例では、暗号化キーはCRTMのすべてまたは一部であり、そこから派生したハッシュを備えている。メモリデバイスのストレージからデータが読み取られると、メモリデバイスコントローラは、例えば、読み取られたデータをハッシュし、データが書き込まれたときに生成された格納されたハッシュとそのハッシュを比較することによって、読み取られたデータをCRTMと比較することができる。一致する場合、プロセスは続行することができる(例えば、読み取りデータがコードの場合、プロセッサユニットは読み取りコードを実行することができる)。一致しない場合、メモリデバイスストレージの破損を示すことができる。メモリデバイスはエラーを返すことができ、または、そうでない場合、リクエストデータが使用されることを防ぐことができる。
自動回復によれば、メモリデバイスは、システムのデータ及び/またはコードのすべてまたは一部の安全で回復可能なコピーを含む安全な(例えば、読み取り専用)保管場所を含む。例えば、CRTMを参照してデータ破損が検出された場合、セキュアコピーがロードされる(例えば、実行される)ことができる。暗号保護によれば、対称及び/または非対称暗号化エンジンが使用され通信(例えば、ゲートウェイデバイス102と外部システム118A、118Bとの間の通信、システムコントローラ104A、104B、104C、104Nとゲートウェイデバイスとの間の通信102など)を暗号化する。
図5は、1つ以上の装置5030~5050の一部としてメモリ装置5020(例えば、本明細書に記載のメモリ装置のいずれか)を備えた例示的な処理システム5010(例えば、処理システム101)を示している。装置は、処理システム5010などの処理システムを含むことができる任意のデバイスを含む。前述のように、処理システム5010は、命令を(連続的に、またはそうでない方法で)実行できる任意のデバイスであり得る。例示的な装置は、車両5030(例えば、インフォテインメントシステム、制御システムなどの一部として)、ドローン5050(例えば、制御システムの一部として)、家具または家電製品5040(例えば、センサーシステム、エンターテイメントシステム、インフォテインメントシステムなどの一部として)などを含む。他の例では、図示されていないが、装置は、航空用、海洋用、モノのインターネット(IOT)、及び他のデバイスを含んでもよい。
図6は、処理デバイスのソフトウェアアーキテクチャ602の一例を示すブロック図600である。アーキテクチャ602は、様々なハードウェアアーキテクチャと組み合わせて使用され得る。例えば、ソフトウェアアーキテクチャ602は、本明細書に記載のゲートウェイデバイス102、及び/または様々なシステムコントローラ104A、104B、104C、104Nのうちの1つ以上を記述することができる。図6は、単にソフトウェアアーキテクチャ602の非限定的な例であり、本明細書に記載の機能を容易にするた
めに他の多くのアーキテクチャが実装されることができる。代表的なハードウェア層604が示されており、例えば、上記で参照されたコンピューティングデバイスのいずれかを表すことができる。いくつかの例では、ハードウェア層604は、図6のアーキテクチャ602、図7のアーキテクチャ700、及び/または本明細書に記載のセキュア処理システム101のアーキテクチャに従って実装され得る。
代表的なハードウェア層604は、関連する実行可能命令608を有する1つ以上の処理ユニット606を含む。実行可能命令608は、図1~図4の方法、モジュール、構成要素などの実装を含むソフトウェアアーキテクチャ602の実行可能命令を表す。ハードウェア層604はまた、実行可能命令608も有するメモリ及び/またはストレージモジュール610を含む。ハードウェア層604はまた、ハードウェアアーキテクチャ700の一部として示される他のハードウェアのような、ハードウェア層604の他のハードウェアを表す他のハードウェア612によって示されるような他のハードウェアも含み得る。
図6の例示的なアーキテクチャでは、ソフトウェア602は、各層が特定の機能を提供する層のスタックとして概念化されてもよい。例えば、ソフトウェア602は、オペレーティングシステム614、ライブラリ616、フレームワーク/ミドルウェア618、アプリケーション620及びプレゼンテーション層644などの層を含むことができる。動作上、アプリケーション620及び/または層内の他の構成要素は、ソフトウェアスタックを介したアプリケーションプログラミングインターフェース(API)コール624を呼び出すことができ、APIコール624に応答するメッセージ626として示される応答、戻り値などを受信することができる。図示されている層は、本質的に代表的なものであり、すべてのソフトウェアアーキテクチャにすべての層があるわけではない。例えば、一部のモバイルまたは専用オペレーティングシステムは、フレームワーク/ミドルウェア層618を提供することができず、一方で、それ以外はそのような層を提供することができる。他のソフトウェアアーキテクチャは、追加の、または異なる層を含むことができる。
オペレーティングシステム614は、ハードウェアリソースを管理することができ、共通のサービスを提供することができる。オペレーティングシステム614は、例えば、カーネル628、サービス630、及びドライバ632を含み得る。カーネル628は、ハードウェア層と他のソフトウェア層との間の抽象化層として機能することができる。例えば、カーネル628は、メモリ管理、プロセッサ管理(例えば、スケジューリング)、構成要素管理、ネットワーキング、セキュリティ設定などを担当することができる。サービス630は、他のソフトウェア層に他の共通サービスを提供することができる。いくつかの例では、サービス630は割り込みサービスを含む。割り込みサービスは、ハードウェアまたはソフトウェアの割り込みの受信を検出することができ、それに応答してアーキテクチャ602に現在の処理を一時停止させることができ、割り込みが受信されると、割り込みサービスルーチン(ISR)を実行することができる。
ドライバ632は、基礎となるハードウェアを制御またはインターフェースする役割を果たし得る。例えば、ドライバ632は、ハードウェア構成に応じて、ディスプレイドライバ、カメラドライバ、Bluetooth(登録商標)ドライバ、フラッシュメモリドライバ、シリアル通信ドライバ(例えば、ユニバーサルシリアルバス(USB)ドライバ)、Wi-Fi(登録商標)ドライバ、NFCドライバ、オーディオドライバ、電力管理ドライバなどを含み得る。
ライブラリ616は、アプリケーション620、及び/または他の構成要素、及び/または層によって利用され得る共通インフラストラクチャを提供することができる。ライブ
ラリ616は通常、他のソフトウェアモジュールが、基礎となるオペレーティングシステム614の機能(例えば、カーネル628、サービス630及び/またはドライバ632)と直接インターフェースするよりも簡単な方法でタスクを実行できる機能を提供する。ライブラリ616は、メモリ割り当て関数、文字列操作関数、数学関数などの関数を提供し得るシステム634ライブラリ(例えば、C標準ライブラリ)を含み得る。加えて、ライブラリ616は、メディアライブラリ(例えば、MPEG4、H.264、MP3、AAC、AMR、JPG、PNGなどの様々なメディアフォーマットのプレゼンテーション及び操作をサポートするライブラリ)、グラフィックライブラリ(例えば、ディスプレイ上のグラフィックコンテンツの2D及び9Dをレンダリングするために使用され得るOpenGLフレームワーク)、データベースライブラリ(例えば、様々なリレーショナルデータベース機能を提供するSQLite)、Webライブラリ(例えば、Webブラウジング機能を提供することができるWebKit)などのAPIライブラリ636を含み得る。ライブラリ616はまた、多くの他のAPIをアプリケーション620及び他のソフトウェアコンポーネント/モジュールに提供するために、多種多様な他のライブラリ638を含むこともできる。
フレームワーク618(ミドルウェアとも呼ばれることがある)は、アプリケーション620及び/または他のソフトウェア構成要素/モジュールによって利用され得る、より高レベルの共通インフラストラクチャを提供し得る。例えば、フレームワーク618は、様々なグラフィックユーザーインターフェース(GUI)機能、高レベルのリソース管理、高レベルの位置特定サービスなどを提供することができる。フレームワーク618は、アプリケーション620及び/または他のソフトウェア構成要素/モジュールによって利用され得る他のAPIの広いスペクトルを提供することができ、それらのいくつかは、特定のオペレーティングシステムまたはプラットフォームに特有のものであり得る。
アプリケーション620は、組み込みアプリケーション640、及び/またはサードパーティアプリケーション642を含む。代表的な組み込みアプリケーション640の例として、連絡先アプリケーション、ブラウザアプリケーション、ブックリーダーアプリケーション、ロケーションアプリケーション、メディアアプリケーション、メッセージングアプリケーション、及び/またはゲームアプリケーションが含まれ得るが、これらに限定されない。サードパーティアプリケーション642は、組み込みアプリケーションのいずれか、及び広範な他のアプリケーションを含むことができる。特定の例では、サードパーティアプリケーション642(例えば、特定のプラットフォームのベンダー以外のエンティティによってAndroid(商標)またはiOS(商標)ソフトウェア開発キット(SDK)を使用して開発されたアプリケーション)は、iOS(商標)、Android(商標)、Windows(登録商標)Phone、または他のモバイルコンピューティングデバイスのオペレーティングシステムなどのモバイルオペレーティング上で実行されるモバイルソフトウェアであることができる。この例では、サードパーティアプリケーション642は、本明細書で説明する機能を促進するためのオペレーティングシステム614などのモバイルオペレーティングシステムによって提供されるAPIコール624を呼び出すことができる。
アプリケーション620は、システムのユーザーと対話するインターフェースを生成するために、組み込みオペレーティングシステム機能(例えば、カーネル628、サービス630、及び/またはドライバ632)、ライブラリ(例えば、システム634、API636、及び他のライブラリ638)、フレームワーク/ミドルウェア618を利用することができる。代替的または追加的に、一部のシステムでは、プレゼンテーション層644などのプレゼンテーション層を介してユーザーとの対話が生じることがある。これらのシステムでは、アプリケーション/モジュールの「ロジック」は、ユーザーと対話するアプリケーション/モジュールの態様から分離され得る。
一部のソフトウェアアーキテクチャは仮想マシンを利用している。例えば、本明細書に記載のシステムは、1つ以上のサーバーコンピューティングマシンで動作される1つ以上の仮想マシンを利用して動作され得る。図6の例では、これは仮想マシン648によって示されている。仮想マシンは、アプリケーション/モジュールがハードウェアコンピューティングデバイスで動作しているかのように動作することができるソフトウェア環境を形成する。仮想マシンは、ホストオペレーティングシステム(オペレーティングシステム614)によってホストされ、通常、常にではないが、仮想マシンの動作、及びホストオペレーティングシステム(すなわち、オペレーティングシステム614)とのインターフェースを管理する仮想マシンモニター646を有する。ソフトウェアアーキテクチャは、オペレーティングシステム650、ライブラリ652、フレームワーク/ミドルウェア654、アプリケーション656、及び/またはプレゼンテーション層658などの仮想マシン内で動作する。仮想マシン648内で動作しているソフトウェアアーキテクチャのこれらの層は、前述の対応する層と同一であっても、異なっていてもよい。
図7は、処理システムのハードウェアアーキテクチャ700を示すブロック図であり、その中では、命令のセットまたはシーケンスが実行されることができ、マシンに本明細書に記載の方法のいずれかを実行させることができる。例えば、アーキテクチャ700は、図6に関して説明されたソフトウェアアーキテクチャ602を実行することができる。アーキテクチャ700は、スタンドアロンデバイスとして動作することができるか、または他のマシンに接続(例えば、ネットワーク化)されることができる。ネットワーク化された展開では、アーキテクチャ700は、サーバー/クライアントネットワーク環境のサーバーまたはクライアントマシンのいずれかの容量で動作することができるか、または、ピアツーピア(または分散)ネットワーク環境でピアマシンとして機能することができる。アーキテクチャ700は、パーソナルコンピュータ(PC)、タブレットPC、ハイブリッドタブレット、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、ウェブアプライアンス、ネットワークルーター、ネットワークスイッチ、またはネットワークブリッジ、もしくは、そのマシンで実行する動作を指定する(連続的またはそれ以外の)命令を実行することが可能な任意のマシンに実装されることができる。
例示的なアーキテクチャ700は、少なくとも1つのプロセッサ(例えば、中央処理装置(CPU)、グラフィック処理装置(GPU)またはそれら両方、プロセッサコア、計算ノードなど)を含むプロセッサユニット702を含んでいる。アーキテクチャ700は、メインメモリ704及び静的メモリ706を更に含むことができ、これらはリンク708(例えばバス)を介して互いに通信する。アーキテクチャ700は、ビデオディスプレイユニット710、英数字入力装置712(例えば、キーボード)、及びユーザーインターフェース(UI)ナビゲーション装置714(例えば、マウス)を更に含むことができる。いくつかの例では、ビデオディスプレイユニット710、入力装置712及びUIナビゲーション装置714は、タッチスクリーンディスプレイに組み込まれている。アーキテクチャ700は、ストレージ装置716(例えば、駆動ユニット)、信号生成装置718(例えば、スピーカー)、ネットワークインターフェース装置720、及び全地球測位システム(GPS)センサー、コンパス、加速度計、またはその他のセンサーなどの1つ以上のセンサー(図示せず)を追加的に含むことができる。
いくつかの例では、プロセッサユニット702または他の適切なハードウェア構成要素は、ハードウェア割り込みをサポートすることができる。ハードウェア割り込みに応答して、プロセッサユニット702はその処理を一時停止することができ、例えば本明細書に記載のように割り込みサービスルーチン(ISR)を実行することができる。
ストレージ装置716は、本明細書に記載の方法または機能のいずれか1つ以上を実行
または利用するデータ構造及び命令724(例えば、ソフトウェア)の1つ以上のセットが格納されるコンピュータ可読媒体722を含む。命令724はまた、完全にまたは少なくとも部分的に、メインメモリ704の中、静的メモリ706の中に、及び/またはアーキテクチャ700による実行中のプロセッサ702の中に、メインメモリ704、静的メモリ706、及びコンピュータ可読媒体を構成するプロセッサ702とともに常駐することができる。コンピュータ可読媒体722に格納された命令は、例えば、ソフトウェアアーキテクチャ602を実装するための命令、本明細書に記載の機能のいずれかを実行するための命令などを含み得る。
コンピュータ可読媒体722は、単一の媒体である例で示されているが、用語「コンピュータ可読媒体」は、1つ以上の命令724を格納する単一の媒体または複数の媒体(例えば、集中型または分散型データベース、及び/または関連するキャッシュ及びサーバー)を含み得る。用語「コンピュータ可読媒体」はまた、機械による実行のための命令を格納すること、符号化すること、または携帯することが可能で、本開示の方法の1つ以上のいずれかを機械に実行させ、そのような命令によって利用され、またはそのような命令に関連するデータ構造を格納すること、符号化すること、または携帯することが可能である有形媒体も含むものと解釈されるものとする。従って、用語「コンピュータ可読媒体」は、ソリッドステートメモリ、光学及び磁気媒体を含むが、これらに限定されないものと解釈されるものとする。コンピュータ可読媒体の具体例は、不揮発性メモリを含み、例として、半導体メモリデバイス(例えば、電気的にプログラム可能な読み取り専用メモリ(EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM))、及びフラッシュメモリデバイス、内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROM及びDVD-ROMディスクが挙げられるが、これらに限定されるものではない。
命令724は、伝送媒体を使用して、いくつかの周知の転送プロトコル(例えば、HTTP)のいずれか1つを利用するネットワークインターフェースデバイス720を介して通信ネットワーク726を通じて更に送受信され得る。通信ネットワークの例には、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、携帯電話ネットワーク、プレインオールドテレフォン(POTS)ネットワーク、ワイヤレスデータネットワーク(例えば、Wi-Fi、3G、及び5G LTE/LTE-AまたはWiMAXネットワーク)が挙げられる。用語「伝送媒体」は、機械による実行のための命令を保存すること、符号化すること、携帯することが可能で、そのようなソフトウェアの通信を促進するためのデジタルまたはアナログ通信信号、または他の無形媒体を含む、いずれかの無形媒体を含むものと解釈されるものとする。
本明細書に記載の例は、一貫性のために回路と呼ばれる、ロジック、または多数の構成要素、エンジン、モジュール、回路を含むことができ、またはそれらの上で動作することができるが、これらの用語は互換可能に使用できることを理解されたい。回路は、本明細書に記載の動作を実行するために、1つ以上のプロセッサに通信可能に連結されたハードウェア、ソフトウェア、またはファームウェアであり得る。回路は、ハードウェア回路であることができ、そのような回路は、特定の動作を実行できる有形のエンティティと解釈されることができ、特定の方法で構成または配置されることができる。一例では、回路は、回路として指定された方法で(例えば、内向きに、または他の回路などの外部エンティティに向けて)配置されることができる。一例では、1つ以上のコンピューティングプラットフォーム(例えば、スタンドアロン、クライアントまたはサーバーコンピューティングプラットフォーム)または1つ以上のハードウェアプロセッサの全体または一部は、ファームウェアまたはソフトウェア(例えば、命令、アプリケーション部分、またはアプリケーション)によって指定された動作を実行するために動作する回路として構成され得る。一例では、ソフトウェアはコンピュータ可読媒体上に存在し得る。一例では、ソフトウ
ェアは、回路の基礎となるハードウェアによって実行されると、指定された動作をハードウェアに実行させる。従って、ハードウェア回路という用語は、有形のエンティティを包含し、物理的に構築され、具体的に構成(例えば、ハードワイヤード)され、または一時的に(例えば、暫時的に)構成(例えば、プログラム)され、特定の方法で動作し、または本明細書に記載の任意の動作の一部またはすべてを実行するエンティティであると理解される。
回路が一時的に構成されているこれらの例を考慮すると、回路のそれぞれは、いずれかの時点でインスタンス化される必要はない。例えば、回路がソフトウェアを使用するように構成された汎用ハードウェアプロセッサを備える場合、汎用ハードウェアプロセッサは、異なる時間にそれぞれ異なる回路として構成され得る。従って、ソフトウェアは、例えば、ある時点で特定の回路を構成し、異なる時点で異なる回路を構成するように、ハードウェアプロセッサを構成する。
上記の詳細な説明には、詳細な説明の一部を形成する添付図面への参照が含まれている。図面は、実例として、実施され得る特定の例を示している。これらの例は、本明細書では「実施例」とも呼ばれる。そのような実施例は、図示または説明されたものに加えて要素を含み得る。しかし、図示または説明された要素を含む実施例もまた考えられる。さらに、特定の実施例(またはその1つ以上の態様)に関して、または本明細書に示され、または説明された他の実施例(またはその1つ以上の態様)に関して、図示または説明されたこれら要素(またはその1つ以上の態様)の任意の組み合わせ、または順列を使用する実施例も考慮されている。
本明細書では、特許明細書で一般的な「a」または「an」という用語は、「at least one」または「one or more」の他の事例または使用法とは無関係に、1つ以上を含むために使用される。本文書では、「or」という用語は、非排他的なものを指すために使用され、また、指示なき場合、「A or B」には、「AであるがBではない」、「BであるがAではない」、及び「A及びB」が含まれるようになっている。添付の特許請求の範囲では、用語「including」及び「in which」は、それぞれ用語「comprising」及び「wherein」の平易な英語の同等物として使用されている。また、以下の特許請求の範囲において、用語「including」及び「comprising」は、無制限であり、つまり、請求項のそのような用語の後に列挙された要素に加えて、要素を含むシステム、デバイス、物品、またはプロセスが、依然としてその特許請求の範囲内にあると見なされる。更に、以下の特許請求の範囲では、用語「第1」、「第2」、「第3」などは、単に標示として使用され、それらの対象の番号順序を示唆することを意図したものではない。
上記の説明は例示を意図したものであり、限定を意図したものではない。例えば、上述の例(またはその1つ以上の態様)は、他のものと組み合わせて使用されることができる。上述の説明を参照して当業者などによって他の例が使用され得る。要約書は、読者が技術的開示の性質を迅速に確認できるようになっている。請求項の範囲または意味を解釈または制限するために使用されないことを理解して提示されている。また、上述の「発明を実施するための形態」では、本開示を合理化するために様々な特徴がグループ化され得る。しかし、例は特徴のサブセットを特徴とし得ることから、特許請求の範囲は本明細書で開示されるすべての特徴を説明し得ない。更に、例は、特定の例で開示されたものよりも少ない特徴を含み得る。従って、以下の特許請求の範囲は、別個の例として独立して請求項とともに、ここで「発明を実施するための形態」に組み込まれている。本明細書に開示される実施例の範囲は、添付の特許請求の範囲を参照して決定されるものであり、そのような特許請求の範囲が権利を有する同等物の全範囲も含まれる。

Claims (20)

  1. 第1のシステムコントローラ対称メモリデバイスを含む第1のシステムコントローラと、
    通信バスを介して前記第1のシステムコントローラと通信するゲートウェイデバイスとを含むシステムであって、
    前記ゲートウェイデバイスがゲートウェイデバイスメモリデバイスを含み、前記ゲートウェイデバイスメモリデバイスが、ゲートウェイデバイスストレージ、ゲートウェイデバイス非対称エンジン、及びゲートウェイデバイス対称エンジンを含み、前記ゲートウェイデバイスが、
    第1のメッセージペイロードデータ、及び第1の非対称アクセスデータを含む第1のメッセージをネットワークを介して外部システムから受信することと、
    前記ゲートウェイデバイス非対称エンジンを用いて、外部システムパブリックキーに少なくとも部分的に基づいて、前記第1の非対称アクセスデータが前記第1のメッセージペイロードデータと一致するかを判断することと、
    前記ゲートウェイデバイスと通信する前記第1のシステムコントローラの前記第1のシステムコントローラ対称メモリデバイスに関連付けられた第1のシステムコントローラ対称キーを前記ゲートウェイデバイスストレージから抽出することと、
    前記ゲートウェイデバイス対称エンジンを用いて、前記第1のシステムコントローラ対称キー、及び前記第1のメッセージペイロードデータに少なくとも部分的に基づいて第1の対称アクセスデータを生成することと、
    前記第1のメッセージペイロードデータ、及び前記第1の対称アクセスデータを前記通信バスを介して前記第1のシステムコントローラに送信することと、
    を含むオペレーションを実行するように構成されている前記システム。
  2. 前記ゲートウェイデバイスが、
    前記第1のシステムコントローラから第2のメッセージを受信することであって、前記第2のメッセージが、第2のメッセージペイロードデータ、第2の対称アクセスデータ、及び外部システムの指標を含むことと、
    前記ゲートウェイデバイス対称エンジンを用いて、前記第1のシステムコントローラ対称キーに少なくとも部分的に基づいて前記第2のメッセージペイロードデータが前記第2の対称アクセスデータに一致するかを判断することと、
    前記ゲートウェイデバイス非対称エンジンを用いて、ゲートウェイデバイスプライベートキーに少なくとも部分的に基づいて第2の非対称アクセスデータを生成することと、
    前記第2のメッセージペイロードデータ、及び前記第2の非対称アクセスデータを前記外部システムに送信することと、
    を含むオペレーションを実行するように更に構成されている、請求項1に記載のシステム。
  3. 前記第1のシステムコントローラが第1のシステムコントローラメモリデバイスを含み、前記第1のシステムコントローラメモリデバイスが、
    第1のシステムコントローラストレージと、
    前記第1のシステムコントローラ、及び前記ゲートウェイデバイスに連結された通信バスと、
    を含む、請求項1~2のいずれか1項に記載のシステム。
  4. 前記第1のシステムコントローラが、
    前記第1のメッセージペイロードデータ、及び前記第1の対称アクセスデータを受信することと、
    第1のシステムコントローラ対称エンジンを用いて、前記第1のシステムコントローラ対称キーに少なくとも部分的に基づいて前記第1のメッセージペイロードデータが前記第1の対称アクセスデータに一致するかを判断することと、
    前記第1のメッセージペイロードデータの少なくとも一部を前記第1のシステムコントローラストレージに書き込むことと、
    を含むオペレーションを実行するように構成されている、請求項3に記載のシステム。
  5. 前記第1のシステムコントローラが、
    前記第1のシステムコントローラ対称エンジンを用いて、第2の対称アクセスデータを生成することと、
    第2のメッセージペイロードデータ、前記第2の対称アクセスデータ、及び前記外部システムの指標を含む第2のメッセージを生成することと、
    前記第2のメッセージを前記ゲートウェイデバイスに送信することと、
    を含むオペレーションを実行するように構成されている、請求項3に記載のシステム。
  6. 前記第1のシステムコントローラが、
    前記第1のシステムコントローラ対称キーのプロビジョニングを示すプロビジョニング信号を受信することと、
    前記通信バスを介して前記第1のシステムコントローラ対称キーを前記ゲートウェイデバイスに送信することと、
    を含むオペレーションを実行するように構成されている、請求項3に記載のシステム。
  7. 前記プロビジョニング信号が、電力が前記システムに供給されていることを示す、請求項6に記載のシステム。
  8. 前記ゲートウェイデバイスが、
    外部データベースに対称キーリクエストを送信することと、
    前記外部データベースから前記第1のシステムコントローラ対称キーを含む対称キーメッセージを受信することと、
    を含むオペレーションを実行するように更に構成されている、請求項1~2のいずれか1項に記載のシステム。
  9. 前記ゲートウェイデバイスが、
    第2の外部システムから、第2のメッセージペイロードデータ、第2の非対称アクセスデータ、及び第2のシステムコントローラの指標を含む第2のメッセージを受信することと、
    前記ゲートウェイデバイス非対称エンジンを用いて、第2の外部システムパブリックキーに少なくとも部分的に基づいて前記第2の非対称アクセスデータが前記第2のメッセージペイロードデータに一致するかを判断することと、
    前記ゲートウェイデバイスストレージから前記第2のシステムコントローラに関連付けられた第2のシステムコントローラ対称キーを受信することと、
    前記ゲートウェイデバイス対称エンジンを用いて、前記第2のシステムコントローラ対称キー、及び前記第2のメッセージペイロードデータに少なくとも部分的に基づいて第2の対称アクセスデータを生成することと、
    前記第2のメッセージペイロードデータ、及び前記第2の対称アクセスデータを前記第2のシステムコントローラに送信することと、
    を含むオペレーションを実行するように更に構成されている、請求項1~2のいずれか1項に記載のシステム。
  10. セキュア処理システムのゲートウェイデバイスにより、ネットワークを介して外部システムから第1のメッセージを受信することであって、前記第1のメッセージが、第1のメッセージペイロードデータ、及び第1の非対称アクセスデータを含むことと、
    前記ゲートウェイデバイスにより、外部システムパブリックキーに少なくとも部分的に基づいて、前記第1の非対称アクセスデータが前記第1のメッセージペイロードデータに一致するかを判断することと、
    前記ゲートウェイデバイスにより、通信バスを介して前記ゲートウェイデバイスと通信する第1のシステムコントローラの第1のシステムコントローラ対称メモリデバイスに関連付けられた第1のシステムコントローラ対称キーにアクセスすることと、
    前記ゲートウェイデバイスにより、前記第1のシステムコントローラ対称キー、及び前記第1のメッセージペイロードデータに少なくとも部分的に基づいて第1の対称アクセスデータを生成することと、
    前記ゲートウェイデバイスにより、前記第1のメッセージペイロードデータ、及び前記第1の対称アクセスデータを前記通信バスを介して前記第1のシステムコントローラに送信することと、
    を含む、方法。
  11. 前記ゲートウェイデバイスにより、前記第1のシステムコントローラから第2のメッセージを受信することであって、前記第2のメッセージが、第2のメッセージペイロードデータ、第2の対称アクセスデータ、及び前記外部システムの指標を含むことと、
    ゲートウェイデバイス対称エンジンを備える前記ゲートウェイデバイスにより、前記第1のシステムコントローラ対称キーに少なくとも部分的に基づいて前記第2のメッセージペイロードデータが前記第2の対称アクセスデータに一致するかを判断することと、
    前記ゲートウェイデバイス非対称エンジンを備える前記ゲートウェイデバイスにより、ゲートウェイデバイスプライベートキーに少なくとも部分的に基づいて、第2の非対称アクセスデータを生成することと、
    前記第2のメッセージペイロードデータ、及び前記第2の非対称アクセスデータを前記外部システムに送信することと、
    を更に含む、請求項10に記載の方法。
  12. 前記第1のシステムコントローラにより、前記第1のメッセージペイロードデータ、及び前記第1の対称アクセスデータを受信することと、
    第1のシステムコントローラ対称エンジンを備える前記第1のシステムコントローラにより、前記第1のシステムコントローラ対称キーに少なくとも部分的に基づいて、前記第1のメッセージペイロードデータが前記第1の対称アクセスデータに一致するかを判断することと、
    前記第1のシステムコントローラにより、前記第1のメッセージペイロードデータの少なくとも一部を第1のシステムコントローラストレージに書き込むことと、
    を更に含む、請求項10~11のいずれか1項に記載の方法。
  13. 前記第1のシステムコントローラ対称エンジンを備える前記第1のシステムコントローラにより、第2の対称アクセスデータを生成することと、
    前記第1のシステムコントローラにより、第2のメッセージペイロードデータ、前記第2の対称アクセスデータ、及び前記外部システムの指標を含む第2のメッセージを生成することと、
    前記第1のシステムコントローラにより、前記第2のメッセージを前記ゲートウェイデバイスに送信することと、
    を更に含む、請求項10~11のいずれか1項に記載の方法。
  14. 前記第1のシステムコントローラにより、前記第1のシステムコントローラ対称キーのプロビジョニングを示すプロビジョニング信号を受信することと、
    前記第1のシステムコントローラにより、前記第1のシステムコントローラ対称キーを前記ゲートウェイデバイスに送信することと、
    を更に含む、請求項10~11のいずれか1項に記載の方法。
  15. 前記プロビジョニング信号が、電力が前記システムに供給されていることを示す、請求項14に記載の方法。
  16. 前記ゲートウェイデバイスにより、対称キーリクエストを外部データベースへ送信することと、
    前記ゲートウェイデバイスにより、前記外部データベースから前記第1のシステムコントローラ対称キーを含む対称キーメッセージを受信することと、
    を更に含む、請求項10~11のいずれか1項に記載の方法。
  17. 前記ゲートウェイデバイスにより、第2の外部システムから第2のメッセージを受信することであって、前記第2のメッセージが、第2のメッセージペイロードデータ、第2の非対称アクセスデータ、及び第2のシステムコントローラの指標を含むことと、
    前記ゲートウェイデバイスにより、またゲートウェイデバイス非対称エンジンを用いて、第2の外部システムパブリックキーに少なくとも部分的に基づいて前記第2の非対称アクセスデータが前記第2のメッセージペイロードデータに一致するかを判断することと、
    前記ゲートウェイデバイスにより、ゲートウェイデバイスストレージから前記第2のシステムコントローラに関連付けられた第2のシステムコントローラ対称キーを受信することと、
    ゲートウェイデバイス対称エンジンを用いて、前記第2のシステムコントローラ対称キー、及び前記第2のメッセージペイロードデータに少なくとも部分的に基づいて第2の対称アクセスデータを生成することと、
    前記第2のメッセージペイロードデータ、及び前記第2の対称アクセスデータを前記第2のシステムコントローラに送信することと、
    を更に含む、請求項10~11のいずれか1項に記載の方法。
  18. 少なくとも1つのコンピュータ可読媒体であって、コンピューティングデバイスによって実行されると、コンピューティングデバイスに、
    セキュアコンピューティングシステムのゲートウェイデバイスにより、ネットワークを介して外部システムから第1のメッセージを受信することであって、前記第1のメッセージが、第1のメッセージペイロードデータ、及び第1の非対称アクセスデータを含むことと、
    ゲートウェイデバイス非対称エンジンを備える前記ゲートウェイデバイスにより、外部システムパブリックキーに少なくとも部分的に基づいて、前記第1の非対称アクセスデータが、前記第1のメッセージペイロードデータに一致するかを判断することと、
    前記ゲートウェイデバイスにより、通信バスを介して前記ゲートウェイデバイスと通信する第1のシステムコントローラの第1のシステムコントローラ対称メモリデバイスに関連付けられた第1のシステムコントローラ対称キーにアクセスすることと、
    ゲートウェイデバイス対称エンジンを備える前記ゲートウェイデバイスにより、前記第1のシステムコントローラ対称キー、及び前記第1のメッセージペイロードデータに少なくとも部分的に基づいて第1の対称アクセスデータを生成することと、
    前記ゲートウェイデバイスにより、前記第1のメッセージペイロードデータ、及び前記第1の対称アクセスデータを前記通信バスを介して前記第1のシステムコントローラに送信することと、
    を含むオペレーションを実行させる命令を含む、少なくとも1つのコンピュータ可読媒体。
  19. 前記第1のシステムコントローラにより、前記第1のメッセージペイロードデータ、及び前記第1の対称アクセスデータを受信することと、
    前記第1のシステムコントローラ対称エンジンを備える前記第1のシステムコントローラにより、前記第1のシステムコントローラ対称キーに少なくとも部分的に基づいて、前記第1のメッセージペイロードデータが前記第1の対称アクセスデータに一致するかを判断することと、
    前記第1のシステムコントローラにより、前記第1のメッセージペイロードデータの少なくとも一部を第1のシステムコントローラストレージに書き込むことと、
    を更に含む、請求項18に記載の少なくとも1つのコンピュータ可読媒体。
  20. 前記第1のシステムコントローラにより、前記第1のシステムコントローラ対称キーのプロビジョニングを示すプロビジョニング信号を受信することと、
    前記第1のシステムコントローラにより、前記第1のシステムコントローラ対称キーを前記ゲートウェイデバイスに送信することと、
    を更に含む、請求項18~19のいずれか1項に記載の少なくとも1つのコンピュータ可読媒体。
JP2019552568A 2017-03-24 2018-03-23 セキュアメモリ装置 Active JP7080897B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022016236A JP2022062190A (ja) 2017-03-24 2022-02-04 セキュアメモリ装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762476598P 2017-03-24 2017-03-24
US62/476,598 2017-03-24
US15/692,802 US10560263B2 (en) 2017-03-24 2017-08-31 Secure memory arrangements
US15/692,802 2017-08-31
PCT/US2018/024084 WO2018175925A1 (en) 2017-03-24 2018-03-23 Secure memory arrangements

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022016236A Division JP2022062190A (ja) 2017-03-24 2022-02-04 セキュアメモリ装置

Publications (2)

Publication Number Publication Date
JP2020512763A JP2020512763A (ja) 2020-04-23
JP7080897B2 true JP7080897B2 (ja) 2022-06-06

Family

ID=63582996

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019552568A Active JP7080897B2 (ja) 2017-03-24 2018-03-23 セキュアメモリ装置
JP2022016236A Ceased JP2022062190A (ja) 2017-03-24 2022-02-04 セキュアメモリ装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022016236A Ceased JP2022062190A (ja) 2017-03-24 2022-02-04 セキュアメモリ装置

Country Status (6)

Country Link
US (2) US10560263B2 (ja)
EP (1) EP3602953A4 (ja)
JP (2) JP7080897B2 (ja)
KR (1) KR102390810B1 (ja)
CN (2) CN115495395A (ja)
WO (1) WO2018175925A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10560263B2 (en) 2017-03-24 2020-02-11 Micron Technology, Inc. Secure memory arrangements
TWI734314B (zh) 2018-12-31 2021-07-21 美商美光科技公司 用於將數位指紋提供至主機裝置之系統、方法及非暫時性電腦可讀媒體
US10868679B1 (en) * 2019-07-25 2020-12-15 Cypress Semiconductor Corporation Nonvolatile memory device with regions having separately programmable secure access features and related methods and systems
US12034860B2 (en) * 2020-08-26 2024-07-09 Micron Technology, Inc. Memory write access control
KR20220041586A (ko) 2020-09-25 2022-04-01 에스케이하이닉스 주식회사 컨트롤러 및 이를 포함하는 전자 시스템
US11501027B2 (en) * 2021-02-08 2022-11-15 Micron Technology, Inc. Mechanism to support writing files into a file system mounted in a secure memory device
US12003642B2 (en) * 2021-10-21 2024-06-04 Stephen Mayne System and method for authentication using non-fungible tokens
US20230126605A1 (en) * 2021-10-22 2023-04-27 Micron Technology, Inc. Authenticated reading of memory system data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172401A1 (en) 2007-11-01 2009-07-02 Infineon Technologies North America Corp. Method and system for controlling a device
US20160344715A1 (en) 2015-05-18 2016-11-24 128 Technology, Inc. Network Device and Method for Processing a Session Using a Packet Signature

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009173A (en) * 1997-01-31 1999-12-28 Motorola, Inc. Encryption and decryption method and apparatus
JP2002024147A (ja) 2000-07-05 2002-01-25 Nec Corp セキュアメールプロキシシステム及び方法並びに記録媒体
GB0114317D0 (en) * 2001-06-13 2001-08-01 Kean Thomas A Method of protecting intellectual property cores on field programmable gate array
WO2004075477A1 (en) * 2003-02-21 2004-09-02 Telecom Italia S.P.A. Method and system for managing network access device using a smart card
US9105027B2 (en) * 2009-05-15 2015-08-11 Visa International Service Association Verification of portable consumer device for secure services
US10748146B2 (en) * 2009-06-16 2020-08-18 Heartland Payment Systems, Llc Tamper-resistant secure methods, systems and apparatuses for credit and debit transactions
US8826035B2 (en) 2009-12-23 2014-09-02 Intel Corporation Cumulative integrity check value (ICV) processor based memory content protection
US8863256B1 (en) * 2011-01-14 2014-10-14 Cisco Technology, Inc. System and method for enabling secure transactions using flexible identity management in a vehicular environment
JP5763943B2 (ja) * 2011-03-24 2015-08-12 株式会社東芝 情報処理装置及びプログラム
WO2012161980A1 (en) * 2011-05-20 2012-11-29 Citrix Systems, Inc. Providing multiple layers of security to file storage by an external storage provider
US9106632B2 (en) * 2011-05-26 2015-08-11 First Data Corporation Provisioning by delivered items
US9294564B2 (en) * 2011-06-30 2016-03-22 Amazon Technologies, Inc. Shadowing storage gateway
US9559845B2 (en) * 2012-03-01 2017-01-31 Ologn Technologies Ag Systems, methods and apparatuses for the secure transmission of media content
US8826432B2 (en) * 2012-12-06 2014-09-02 Airwatch, Llc Systems and methods for controlling email access
US9425963B2 (en) 2014-03-21 2016-08-23 GM Global Technology Operations LLC Securing electronic control units using message authentication codes
CA2953144C (en) * 2014-07-11 2023-10-24 Entrust, Inc. Method and apparatus for providing vehicle security
US9380044B2 (en) * 2014-09-10 2016-06-28 Cisco Technology, Inc. Supporting differentiated secure communications among heterogeneous electronic devices
EP3605943B1 (en) * 2014-11-13 2021-02-17 Panasonic Intellectual Property Corporation of America Key management method, vehicle-mounted network system, and key management device
DE102015209116A1 (de) * 2015-05-19 2016-11-24 Robert Bosch Gmbh Verfahren und Aktualisierungsgateway zum Aktualisieren eines eingebetteten Steuergerätes
WO2017015153A1 (en) 2015-07-17 2017-01-26 Robert Bosch Gmbh Method and system for secure key generation over an insecure shared communication medium
WO2017051170A1 (en) * 2015-09-22 2017-03-30 Bae Systems Plc Cryptographic key distribution
JP6217728B2 (ja) * 2015-10-19 2017-10-25 トヨタ自動車株式会社 車両システムおよび認証方法
EP3896899A1 (en) * 2015-11-20 2021-10-20 Genetec Inc. Secure layered encryption of data streams
US9660970B1 (en) * 2015-12-03 2017-05-23 Amazon Technologies, Inc. Cryptographic key distribution
US9705859B2 (en) * 2015-12-11 2017-07-11 Amazon Technologies, Inc. Key exchange through partially trusted third party
WO2017147207A1 (en) * 2016-02-22 2017-08-31 Continental Automotive Systems, Inc. Method to establish and update keys for secure in-vehicle network communication
US10880281B2 (en) * 2016-02-26 2020-12-29 Fornetix Llc Structure of policies for evaluating key attributes of encryption keys
KR101831134B1 (ko) * 2016-05-17 2018-02-26 현대자동차주식회사 암호화를 적용한 제어기 보안 방법 및 그 장치
KR101838511B1 (ko) * 2016-05-17 2018-03-14 현대자동차주식회사 암호화를 적용한 제어기 보안 방법 및 그 장치
US11146401B2 (en) * 2016-08-10 2021-10-12 Ford Global Technologies, Llc Software authentication before software update
JP2018042203A (ja) * 2016-09-09 2018-03-15 株式会社東芝 情報処理装置、サーバ装置、情報処理システム、移動体、および情報処理方法
US10560263B2 (en) 2017-03-24 2020-02-11 Micron Technology, Inc. Secure memory arrangements

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172401A1 (en) 2007-11-01 2009-07-02 Infineon Technologies North America Corp. Method and system for controlling a device
US20160344715A1 (en) 2015-05-18 2016-11-24 128 Technology, Inc. Network Device and Method for Processing a Session Using a Packet Signature

Also Published As

Publication number Publication date
US20180278413A1 (en) 2018-09-27
US20200235916A1 (en) 2020-07-23
JP2022062190A (ja) 2022-04-19
US11611433B2 (en) 2023-03-21
EP3602953A1 (en) 2020-02-05
JP2020512763A (ja) 2020-04-23
KR102390810B1 (ko) 2022-04-26
CN110612699A (zh) 2019-12-24
US10560263B2 (en) 2020-02-11
CN115495395A (zh) 2022-12-20
EP3602953A4 (en) 2020-12-09
KR20190133208A (ko) 2019-12-02
CN110612699B (zh) 2022-08-19
WO2018175925A1 (en) 2018-09-27

Similar Documents

Publication Publication Date Title
JP7080897B2 (ja) セキュアメモリ装置
RU2693313C2 (ru) Безопасный транспорт зашифрованных виртуальных машин с непрерывным доступом владельца
JP6165883B2 (ja) 安全な仮想マシン移行
JP5940159B2 (ja) 非トラステッド・ユーザ端末にオペレーティング・システム・イメージをプロビジョニングするための方法、コンピュータ・プログラム、デバイス、装置
US11251942B2 (en) Secure communication channel between encryption/decryption component and trusted execution environment
JP5576983B2 (ja) 非ローカル記憶装置からのサブシステムのセキュアなブート及び構成
US10193690B1 (en) Systems and methods to secure data using computer system attributes
KR20180069856A (ko) 체인 보안 시스템들
EP3207488B1 (en) Identifying security boundaries on computing devices
US10229272B2 (en) Identifying security boundaries on computing devices
WO2015003308A1 (en) Trusted virtual computing system
US11019033B1 (en) Trust domain secure enclaves in cloud infrastructure
EP3736718B1 (en) A tpm-based secure multiparty computing system using a non-bypassable gateway
JP2022099256A (ja) 信頼された実行環境のためのスケーラブルな証明
CN112948139B (zh) 使用交换机向加速器安全地广播消息的系统和方法
US20170099267A1 (en) Systems and methods for pkcs #8 private file key support
KR102565414B1 (ko) 데이터 처리 가속기에 사용되는, 난독화 유닛에 의해 난독화 를 진행하는 데이터 전송
WO2015196525A1 (zh) 加密方法及装置、内核加密数据的操作方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210423

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220204

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220204

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220215

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220222

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: 20220426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220525

R150 Certificate of patent or registration of utility model

Ref document number: 7080897

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150