IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2024-511253エッジデバイス用のポスト量子暗号によるセキュアな実行環境
<>
  • 特表-エッジデバイス用のポスト量子暗号によるセキュアな実行環境 図1
  • 特表-エッジデバイス用のポスト量子暗号によるセキュアな実行環境 図2
  • 特表-エッジデバイス用のポスト量子暗号によるセキュアな実行環境 図3
  • 特表-エッジデバイス用のポスト量子暗号によるセキュアな実行環境 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-13
(54)【発明の名称】エッジデバイス用のポスト量子暗号によるセキュアな実行環境
(51)【国際特許分類】
   H04L 9/10 20060101AFI20240306BHJP
   H04L 9/30 20060101ALI20240306BHJP
   G06F 21/60 20130101ALI20240306BHJP
   G06F 21/64 20130101ALI20240306BHJP
   G06N 20/00 20190101ALI20240306BHJP
【FI】
H04L9/10 A
H04L9/30 Z
G06F21/60 320
G06F21/64
G06N20/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023542928
(86)(22)【出願日】2022-02-11
(85)【翻訳文提出日】2023-07-14
(86)【国際出願番号】 CN2022075978
(87)【国際公開番号】W WO2022206183
(87)【国際公開日】2022-10-06
(31)【優先権主張番号】17/217,326
(32)【優先日】2021-03-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】リントン、ジェブ アール.
(72)【発明者】
【氏名】マツェック、サミュエル
(72)【発明者】
【氏名】ガイーダン、シヤマック
(72)【発明者】
【氏名】マーフィー、クリス マリー
(72)【発明者】
【氏名】マクニーリー、ジェフ
(57)【要約】
エッジデバイス上のポスト量子暗号化された信頼できる実行環境のための技法が開示される。エッジコンピューティングデバイスは、グラフィックス処理装置(GPU)などの、少なくとも幾つかのSIMD処理ユニットを包含する信頼できる実行環境を含む。機械学習又は人工知能モデルからの機械学習推論などのデータ記録は、信頼できる実行環境内のエッジコンピューティングデバイス上で生成され、信頼できる実行環境内のSIMD処理ユニットを用いてポスト量子暗号化(格子ベース暗号化など)により暗号化される。同じくポスト量子暗号化により暗号化された、信頼できる実行環境用に受信されたワークロードは、信頼できる実行環境内でSIMD処理ユニットを用いて復号される。
【特許請求の範囲】
【請求項1】
コンピュータ実装方法(CIM)であって、
中央処理ユニットのセットのうち少なくとも幾つかのユニット及びアクセラレータユニットのセットのうち少なくとも幾つかのユニットを包含する信頼できる実行環境を含むエッジコンピューティングデバイスで使用するためのコンピュータ実装方法であって、
前記信頼できる実行環境内で、暗号化のためのデータ記録を生成する段階;及び
前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットを用い、ポスト量子暗号化方式で前記データ記録を暗号化する段階
を備える、CIM。
【請求項2】
前記ポスト量子暗号化方式は、格子ベース暗号化である、請求項1に記載のCIM。
【請求項3】
コンピュータネットワークを介して、1つ又は複数のクラウドベースのコンピューティング環境のコンピュータに前記暗号化されたデータ記録を通信する段階を更に備える、請求項1に記載のCIM。
【請求項4】
前記暗号化されたデータ記録を、前記エッジコンピューティングデバイスのストレージメモリモジュールに通信する段階、ここで前記ストレージメモリモジュールは、前記信頼できる実行環境から除外される、を更に備える、請求項1に記載のCIM。
【請求項5】
暗号化のための前記データ記録を生成する段階は、前記信頼できる実行環境内の前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットによる機械学習アルゴリズムの実行を通じて機械学習推論を生成する段階を有する、請求項1に記載のCIM。
【請求項6】
前記エッジコンピューティングデバイスのための新たなワークロードを受信する段階、ここで前記新たなワークロードは、前記ポスト量子暗号化方式で暗号化される;
以前に指定された外部ソースにより署名された暗号証明を検証する段階;
検証された暗号証明に応答して、前記新たなワークロードを前記信頼できる実行環境に読み込む段階
を更に備え、ここで前記信頼できる実行環境に読み込む段階は:
前記新たなワークロードを、前記信頼できる実行環境内の機械可読ストレージにインポートする段階;及び
前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットを介して、前記ポスト量子暗号化方式の前記新たなワークロードを復号する段階;及び
前記信頼できる実行環境内で前記新たなワークロードを実行する段階
を有する、請求項1に記載のCIM。
【請求項7】
中央処理ユニットのセットのうち少なくとも幾つかのユニット及びアクセラレータユニットのセットのうち少なくとも幾つかのユニットを包含する信頼できる実行環境を含むエッジコンピューティングデバイスで使用するためのコンピュータプログラム製品(CPP)であって、
機械可読ストレージデバイス;及び
前記機械可読ストレージデバイス上に記憶されたコンピュータコード
を備え、前記コンピュータコードは、1つ又は複数のプロセッサのセットに、以下、すなわち:
前記信頼できる実行環境内で、暗号化のためのデータ記録を生成する手順;及び
前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットを用い、ポスト量子暗号化方式で前記データ記録を暗号化する手順
を含む動作を実行させるための命令を有する、CPP。
【請求項8】
前記ポスト量子暗号化方式は、格子ベース暗号化である、請求項7に記載のCPP。
【請求項9】
前記コンピュータコードは、前記1つ又は複数のプロセッサのセットに、以下の動作、すなわち、コンピュータネットワークを介して、1つ又は複数のクラウドベースのコンピューティング環境のコンピュータに前記暗号化されたデータ記録を通信する手順、を実行させるための命令を更に有する、請求項7に記載のCPP。
【請求項10】
前記コンピュータコードは、前記1つ又は複数のプロセッサのセットに、以下の動作、すなわち、前記暗号化されたデータ記録を、前記エッジコンピューティングデバイスのストレージメモリモジュールに通信する手順、ここで前記ストレージメモリモジュールは、前記信頼できる実行環境から除外される、を実行させるための命令を更に有する、請求項7に記載のCPP。
【請求項11】
暗号化のための前記データ記録を生成する手順は、前記信頼できる実行環境内の前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットによる機械学習アルゴリズムの実行を通じて機械学習推論を生成する手順を有する、請求項7に記載のCPP。
【請求項12】
前記コンピュータコードは、前記1つ又は複数のプロセッサのセットに、以下の動作、すなわち:
前記エッジコンピューティングデバイスのための新たなワークロードを受信する手順、ここで前記新たなワークロードは、前記ポスト量子暗号化方式で暗号化される;
以前に指定された外部ソースにより署名された暗号証明を検証する手順;
検証された暗号証明に応答して、前記新たなワークロードを前記信頼できる実行環境に読み込む手順
を実行させるための命令を更に有し、ここで前記信頼できる実行環境に読み込む手順は:
前記新たなワークロードを、前記信頼できる実行環境内の機械可読ストレージにインポートする手順;及び
前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットを介して、前記ポスト量子暗号化方式の前記新たなワークロードを復号する手順;及び
前記信頼できる実行環境内で前記新たなワークロードを実行する手順
を含む、請求項7に記載のCPP。
【請求項13】
1つ又は複数のプロセッサのセット;
アクセラレータユニットのセット;
前記1つ又は複数のプロセッサのセットのうち少なくとも幾つかの処理ユニット及び前記アクセラレータユニットのセットのうち少なくとも幾つかのユニットを包含する信頼できる実行環境;
機械可読ストレージデバイス;及び
前記機械可読ストレージデバイス上に記憶されたコンピュータコード
を備える、エッジコンピューティングデバイスのコンピュータシステムであって、
前記コンピュータコードは、前記1つ又は複数のプロセッサのセットに、以下、すなわち:
前記信頼できる実行環境内で、暗号化のためのデータ記録を生成する手順;及び
前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットを用い、ポスト量子暗号化方式で前記データ記録を暗号化する手順
を含む動作を実行させるための命令を有する、コンピュータシステム。
【請求項14】
前記ポスト量子暗号化方式は、格子ベース暗号化である、請求項13に記載のコンピュータシステム。
【請求項15】
前記コンピュータコードは、前記1つ又は複数のプロセッサのセットに、以下の動作、すなわち、コンピュータネットワークを介して、1つ又は複数のクラウドベースのコンピューティング環境のコンピュータに前記暗号化されたデータ記録を通信する手順を実行させるための命令を更に有する、請求項13に記載のコンピュータシステム。
【請求項16】
前記コンピュータコードは、前記1つ又は複数のプロセッサのセットに、以下の動作、すなわち、前記暗号化されたデータ記録を、前記エッジコンピューティングデバイスのストレージメモリモジュールに通信する手順、ここで前記ストレージメモリモジュールは、前記信頼できる実行環境から除外される、を実行させるための命令を更に有する、請求項13に記載のコンピュータシステム。
【請求項17】
暗号化のための前記データ記録を生成する手順は、前記信頼できる実行環境内の前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットによる機械学習アルゴリズムの実行を通じて機械学習推論を生成する手順を有する、請求項13に記載のコンピュータシステム。
【請求項18】
前記コンピュータコードは、前記1つ又は複数のプロセッサのセットに、以下の動作、すなわち:
前記エッジコンピューティングデバイスのための新たなワークロードを受信する手順、ここで前記新たなワークロードは、前記ポスト量子暗号化方式で暗号化される;
以前に指定された外部ソースにより署名された暗号証明を検証する手順;
検証された暗号証明に応答して、前記新たなワークロードを前記信頼できる実行環境に読み込む手順
を実行させるための命令を更に有し、ここで前記信頼できる実行環境に読み込む手順は:
前記新たなワークロードを、前記信頼できる実行環境内の機械可読ストレージにインポートする手順;及び
前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットを介して、前記ポスト量子暗号化方式の前記新たなワークロードを復号する手順;及び
前記信頼できる実行環境内で前記新たなワークロードを実行する手順
を含む、請求項13に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、信頼できる実行環境の分野に関し、より具体的には、グラフィックス処理装置により高速化された、格子暗号化された信頼できる実行環境に関する。
【背景技術】
【0002】
信頼できる実行環境(TEE)は、メインプロセッサのセキュアな計算区画である。TEEの目的は、内部にロードされたコード及びデータが、機密性及び完全性に関して保護されることを保証することである。隔離された実行環境としてのTEEは、隔離された実行、TEE内で実行されるアプリケーションの完全性、並びにそれらのアセットの機密性を含む、強化されたセキュリティ機能を提供する。言い換えると、TEEは、「セキュアエレメント(SE)」よりも多くの機能を持つ、リッチなオペレーティングシステム(OS)と比較して、TEEを有するデバイス上で実行されている信頼できるアプリケーションに対し、よりセキュリティレベルの高い実行空間を提供する。
【0003】
グラフィックス処理装置(GPU)は、ディスプレイデバイスへの出力を目的としたフレームバッファ内の画像の生成を高速化するため、メモリを迅速に操作及び改変するように設計された特殊電子回路である。GPUは、組み込みシステム、携帯電話、パーソナルコンピュータ、ワークステーション、及びゲーム機を含む多くのタイプのデバイスに使用されている。多くの最新のGPUは、コンピュータグラフィックス及び画像処理の操作において高効率である。それらの高度に並列な構造はまた、大規模なデータのブロックを並列処理するアルゴリズムにおいて、それらを汎用中央処理ユニット(CPU)よりも大幅に効率化している。パーソナルコンピュータにおいて、GPUは、ディスクリートなビデオカード上に存在するか、又はマザーボードに埋め込まれ得る。特定のCPUは、GPUがCPUダイに埋め込まれるように設計されている。
【0004】
格子ベース暗号は、構造自体又はセキュリティ証明のいずれかに格子が関与する暗号プリミティブの構造を指す。格子ベース構造は現在、ポスト量子暗号の有望な候補である。RSA、ディフィー・ヘルマン(Diffie-Hellman)、又は楕円曲線暗号など、理論的には量子コンピュータにより容易に克服され得る、より幅広く使用されている既知の公開鍵方式とは異なり、幾つかの格子ベース構造は、標準的なタイプのコンピュータ及び量子タイプのコンピュータの両方による攻撃に対して耐性があるものとみなされている。更に、多くの格子ベース構造は、特定のよく研究された計算的格子問題は効率的に解かれ得ないとの想定のもと、セキュアであると考えられている。
【0005】
エッジコンピューティングは、応答時間を改善し、ネットワーク帯域幅を節減するために、計算及びデータストレージを、それが必要とされる物理的位置に近づける分散コンピューティングパラダイムである。エッジコンピューティングは、地理的にユーザの近くに展開されたエッジサーバからウェブ及びビデオコンテンツを提供するため、1990年代後半に作成されたコンテンツデリバリネットワーク(CDN)に起源を発する。2000年代初頭に、これらのCDNは変化を遂げ、現在ではエッジサーバでアプリケーション及びアプリケーションコンポーネントをホストしており、それは結果として、ディーラーロケータ、ショッピングカート、リアルタイムデータアグリゲータ、及び広告挿入エンジンなどのアプリケーションをホストする初の商用エッジコンピューティングサービスをもたらした。最新のエッジコンピューティングは、エッジサーバ上でのより幅広いアプリケーションの展開及び実行を合理化する仮想化技術を通じ、このアプローチを更に拡張している。
【0006】
人工知能(AI)は、人間及び動物により表される、意識及び感情を伴う自然知能とは異なり、機械により発揮される知能を指す。前者及び後者のカテゴリ間の区別は、多くの場合、選択される頭字語により明らかになる。「強い」AIは通常、汎用人工知能(Artificial General Intelligence:AGI)に分類されるが、「自然」知能をエミュレートする試みは、生物学的人工知能(Artificial Biological Intelligence:ABI)と称されている。著名なAIのテキストでは、この分野を「知的エージェント」、すなわち、その環境を知覚し、その目標を首尾よく達成する可能性を最大化する行動に従事する任意のデバイスの研究と定義している。口語的には、「人工知能」という用語は、多くの場合、「学習」及び「問題解決」など、人間が人間の心と関連付ける「認知」機能を模倣する機械(又はコンピュータ)を指すものとして使用される。通常AIに分類される最新の機械機能は、人間の発話を首尾よく理解すること、戦略的ゲームシステム(チェス及び囲碁など)において最高レベルで競争すること、移動車両(自動車、トラック、船舶及び航空機など)を自律的に走行させること、コンテンツデリバリネットワークにおける知的ルーティング、及び軍事シミュレーションを含む。
【0007】
数学の分野において、テンソルは、ベクトル空間に関連する代数的オブジェクトのセット間の(多重線形)関係を指す代数的オブジェクトである。テンソルがマッピングし得るオブジェクトのタイプは、ベクトル、スカラ、及び更に他のテンソルを含む。テンソルは、例えば、(2つの最も単純なテンソルである)スカラ及びベクトル、双対ベクトル、ベクトル空間間の多重線形マップ、及び更には幾つかの演算(例えば、ドット積)などの幾つかの異なる形態を取り得る。
【発明の概要】
【0008】
本発明の一態様によれば、(必ずしも以下の順序ではない)以下の動作、すなわち、(i)信頼できる実行環境内で、暗号化のためのデータ記録を生成すること;及び(ii)アクセラレータユニットのセットのうち少なくとも幾つかのユニットを用い、ポスト量子暗号化方式でデータ記録を暗号化すること、を実行する、中央プロセッサユニットのセットのうち少なくとも幾つかのユニット及びアクセラレータユニットのセットのうち少なくとも幾つかのユニットを包含する信頼できる実行環境を含むエッジコンピューティングデバイスで使用するための方法、コンピュータプログラム製品及び/又はシステムが存在する。
【図面の簡単な説明】
【0009】
図1】本発明に係る、システムの第1の実施形態のブロック図である。
【0010】
図2】第1の実施形態システムにより、少なくとも部分的に実行される、第1の実施形態の方法を示すフローチャートである。
【0011】
図3】第1の実施形態システムのマシンロジック(例えば、ソフトウェア)部分を示すブロック図である。
【0012】
図4】第2の実施形態システムのブロック図である。
【発明を実施するための形態】
【0013】
本発明の幾つかの実施形態は、エッジデバイス上のポスト量子暗号化された信頼できる実行環境のための技法を対象としている。エッジコンピューティングデバイスは、グラフィックス処理装置(GPU)などの、少なくとも幾つかのSIMD処理ユニットを包含する信頼できる実行環境を含む。機械学習又は人工知能モデルからの機械学習推論などのデータ記録は、信頼できる実行環境内のエッジコンピューティングデバイス上で生成され、信頼できる実行環境内のSIMD処理ユニットを用いて、ポスト量子暗号化(格子ベース暗号化など)により暗号化される。同じくポスト量子暗号化により暗号化された、信頼できる実行環境用に受信されたワークロードは、信頼できる実行環境内でSIMD処理ユニットを用いて復号される。
【0014】
この発明を実施するための形態のセクションは、以下のサブセクション:(i)ハードウェア及びソフトウェア環境;(ii)例示的な実施形態;(iii)更なるコメント及び/又は実施形態;及び(iv)定義に分割されている。
I.ハードウェア及びソフトウェア環境
【0015】
本発明は、システム、方法、及び/又はコンピュータプログラム製品であり得る。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有する1つ又は複数のコンピュータ可読ストレージ媒体を含み得る。
【0016】
コンピュータ可読ストレージ媒体は、場合によっては機械可読ストレージデバイスと称され、命令実行デバイスにより使用される命令を保持及び記憶できる有形デバイスであり得る。コンピュータ可読ストレージ媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光学ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又は上述のものの任意の好適な組み合わせであり得るが、これらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の非包括的なリストは、以下、すなわち、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピディスク、パンチカード又は命令が記録されている溝内の隆起構造などの機械的に符号化されたデバイス、及び、上述のものの任意の好適な組み合わせを含む。コンピュータ可読ストレージ媒体は、本明細書において使用される場合、電波又は他の自由に伝播する電磁波、導波路又は他の伝送媒体を介して伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)又は、ワイヤを介して伝送される電気信号などの、一時的信号それ自体とは解釈されないものとする。
【0017】
「ストレージデバイス」は、これにより、コンピュータコードがコンピュータプロセッサによりアクセスされ得るような様式でコンピュータコードを記憶するように構成又は適合された任意のものと定義される。ストレージデバイスは通常、コンピュータコードのデータがその中又はその上に記憶される材料であるストレージ媒体を含む。単一の「ストレージデバイス」は、(i)間隔の空いた、又は分散した複数の個別の部分(例えば、単一のコンピュータプログラムを集合的に記憶する6台のラップトップコンピュータ内にそれぞれ位置する6つのソリッドステートストレージデバイスのセット)を有してもよく;及び/又は(ii)複数のストレージ媒体(例えば、コンピュータの不揮発性ストレージ内の磁気ドメインに部分的に記憶され、コンピュータの揮発性メモリ内の半導体スイッチのセットに部分的に記憶されたコンピュータコードのセット)を使用してもよい。「ストレージ媒体」という用語は、複数の異なるタイプのストレージ媒体が使用される状況を包含するものとして解釈されるべきである。
【0018】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされてもよく、又は、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又は無線ネットワークを介して、外部コンピュータ又は外部ストレージデバイスにダウンロードされてもよい。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又はエッジサーバを備え得る。各コンピューティング/処理デバイス内のネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、当該コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
【0019】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、C++などのようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、スタンドアロンソフトウェアパッケージとして、ユーザのコンピュータ上で部分的に且つリモートコンピュータ上で部分的に、又は、リモートコンピュータ又はサーバ上で全体的に実行し得る。後者のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得るか、又は、接続は、(例えば、インターネットサービスプロバイダを使用してインターネットを介して)外部コンピュータに行われ得る。幾つかの実施形態において、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用することによりコンピュータ可読プログラム命令を実行し、電子回路をパーソナライズしてよい。
【0020】
本発明の態様は、本明細書において、本発明の実施形態に係る方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して説明されている。フローチャート図及び/又はブロック図の各ブロック、及び、フローチャート図及び/又はブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令により実装され得ることが理解されるであろう。
【0021】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供してマシンを生成してよく、それにより、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/動作を実装するための手段を作成するようになる。コンピュータ、プログラマブルデータ処理装置、及び/又は他のデバイスに対して特定の方法で機能するよう指示できるこれらのコンピュータ可読プログラム命令を、コンピュータ可読ストレージ媒体に記憶することで、命令が記憶されたコンピュータ可読ストレージ媒体が、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定される機能/動作の態様を実装する命令を含む製造品を含むようにしてもよい。
【0022】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスにロードして、コンピュータ、他のプログラマブル装置、又は他のデバイス上で一連の操作ステップを実行させることでコンピュータ実装プロセスを作成することもでき、それにより、コンピュータ、他のプログラマブル装置、又は他のデバイス上で実行される命令は、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装する。
【0023】
図面におけるフローチャート及びブロック図は、本発明の様々な実施形態に係るシステム、方法、及びコンピュータプログラム製品の考えられる実装形態のアーキテクチャ、機能、及び動作を示している。この点で、フローチャート又はブロック図の各ブロックは、モジュール、セグメント、又は命令の一部を表すことができ、これらは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む。幾つかの代替的な実装形態において、ブロックに記載される機能は、図に記載された順序とは別の順序で生じ得る。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行され得るか、又は、関与する機能に応じてブロックが逆の順序で実行される場合もあり得る。ブロック図及び/又はフローチャート図の各ブロック、及び、ブロック図及び/又はフローチャート図におけるブロックの組み合わせが、指定された機能又は動作を実行する、又は特定用途向けハードウェア及びコンピュータ命令の組み合わせを実行する、特定用途向けハードウェアベースのシステムによって実装され得ることにも留意されたい。
【0024】
図1に示される通り、ネットワーク化されたコンピュータシステム100は、本発明の様々な実施形態で使用するためのハードウェア及びソフトウェア環境の一実施形態である。ネットワーク化されたコンピュータシステム100は、ポスト量子セキュアドエッジコンピューティングサブシステム102(本明細書においては、より簡潔に、サブシステム102と称される場合がある);クライアントサブシステム104、106、108、110、112;及び通信ネットワーク114を含む。サーバサブシステム102は、ポスト量子セキュアドエッジコンピューティングコンピュータ200;通信ユニット202;プロセッサセット204;入/出力(I/O)インタフェースセット206;メモリ208;永続的ストレージ210;ディスプレイ212;外部デバイス214;ランダムアクセスメモリ(RAM)230;キャッシュ232;及びプログラム300を含む。
【0025】
サブシステム102は、ラップトップコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、パーソナルコンピュータ(PC)、デスクトップコンピュータ、パーソナルデジタルアシスタント(PDA(登録商標))、スマートフォン、又は任意の他のタイプのコンピュータ(以下の定義の項目における「コンピュータ」の定義を参照)であり得る。プログラム300は、この発明を実施するための形態のセクションの例示的な実施形態のサブセクションにおいて以下に詳細に論述される特定のソフトウェア機能を作成、管理、及び制御するために使用される機械可読命令及び/又はデータの集合である。
【0026】
サブシステム102は、通信ネットワーク114を介して他のコンピュータサブシステムと通信することが可能である。ネットワーク114は、例えば、ローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク(WAN)、又はこれら2つの組み合わせであってよく、有線、無線、又は光ファイバ接続を含んでよい。一般に、ネットワーク114は、サーバ及びクライアントサブシステムの間の通信をサポートする接続及びプロトコルの任意の組み合わせであり得る。
【0027】
サブシステム102は、多数の二重矢印を含むブロック図として示されている。これらの二重矢印(別個の参照符号は有しない)は、サブシステム102の様々なコンポーネント間の通信を提供する通信ファブリックを表す。この通信ファブリックは、プロセッサ(例えば、マイクロプロセッサ、通信及びネットワークプロセッサなど)、システムメモリ、周辺デバイス、及びコンピュータシステム内の任意の他ハードウェアコンポーネント間で、データ及び/又は制御情報を渡すために設計された任意のアーキテクチャを用いて実装され得る。例えば、通信ファブリックは、1つ又は複数のバスを用いて少なくとも部分的に実装され得る。
【0028】
メモリ208及び永続的ストレージ210は、コンピュータ可読ストレージ媒体である。一般に、メモリ208は、任意の好適な揮発性又は不揮発性のコンピュータ可読ストレージ媒体を含み得る。現在及び/又は近い将来において、(i)外部デバイス214は、サブシステム102のための一部又は全部のメモリを供給可能であってよく;及び/又は、(ii)サブシステム102の外部にあるデバイスがサブシステム102のためのメモリを提供可能であってよいことに更に留意されたい。メモリ208及び永続的ストレージ210は両方とも、(i)伝送中の信号よりも過渡的でない形でデータを記憶し、(ii)有形媒体(例えば、磁気ドメイン又は光学ドメイン)上にデータを記憶する。この実施形態では、メモリ208は揮発性ストレージであるが、永続的ストレージ210は不揮発性ストレージを提供する。永続的ストレージ210によって使用される媒体は、リムーバブルでもあり得る。例えば、リムーバブルハードドライブは、永続的ストレージ210のために使用され得る。他の例には、光学ディスク及び磁気ディスク、サムドライブ、及び、永続的ストレージ210の一部でもある別のコンピュータ可読ストレージ媒体への転送のためにドライブ内に挿入されるスマートカードが含まれる。
【0029】
通信ユニット202は、サブシステム102の外部にある他のデータ処理システム又はデバイスとの通信を提供する。これらの例において、通信ユニット202は、1つ又は複数のネットワークインタフェースカードを含む。通信ユニット202は、物理的及び無線通信リンクのいずれか又は両方の使用を通じて通信を提供し得る。本明細書で論述される任意のソフトウェアモジュールは、通信ユニット(例えば、通信ユニット202)を介して永続的ストレージデバイス(例えば、永続的ストレージ210)にダウンロードされ得る。
【0030】
I/Oインタフェースセット206は、ポスト量子セキュアドエッジコンピューティングコンピュータ200とのデータ通信において、ローカルに接続され得る他のデバイスとのデータの入出力を可能にする。例えば、I/Oインタフェースセット206は、外部デバイス214への接続を提供する。外部デバイス214は、通常、キーボード、キーパッド、タッチスクリーン、及び/又は幾つかの他の好適な入力デバイスなどのデバイスを含む。外部デバイス214は、例えば、サムドライブ、ポータブル光学又は磁気ディスク、及びメモリカードなどのポータブルコンピュータ可読ストレージ媒体をも含み得る。本発明の実施形態を実践するために使用されるソフトウェア及びデータ、例えばプログラム300は、そのようなポータブルコンピュータ可読ストレージ媒体上に記憶され得る。I/Oインタフェースセット206はまた、データ通信においてディスプレイ212と接続する。ディスプレイ212は、データをユーザに表示するメカニズムを提供するディスプレイデバイスであり、例えば、コンピュータモニタ又はスマートフォンディスプレイスクリーンであり得る。
【0031】
GPU234は、グラフィックス処理装置のセットである。幾つかの代替的な実施形態において、GPU234は、GPUに類似したアクセラレータユニットのセットであり、そのためそれらは、ベクトル及び行列に関する演算など、より一般化されたコンピュータ処理ユニットよりも向上した効率により並列計算を実行するための高度に並列な構造の回路に特化している。
【0032】
IRカメラ236は、熱撮像カメラとしても知られる赤外線カメラであり、赤外線放射を用いて画像をキャプチャし、温度を示すエンティティ及びオブジェクトにより発せられる黒体放射を明らかにする。エンティティ又はオブジェクトが温かいほど、より多くの黒体放射が発せられる。
【0033】
この実施形態において、プログラム300は、通常、メモリ208の1つ又は複数のメモリを介して、プロセッサセット204の1つ又は複数のコンピュータプロセッサによるアクセス及び/又は実行のために永続的ストレージ210内に記憶される。当業者には、プログラム300が、その動作時間中及び/又はそれが動作していないとき、より高度に分散した形で記憶され得ることが理解されるであろう。プログラム300は、機械可読及び実行可能の両方である命令及び/又は実体データ(すなわち、データベースに記憶されるデータのタイプ)を含み得る。この特定の実施形態において、永続的ストレージ210は、磁気ハードディスクドライブを含む。幾つかの可能な変形例を挙げると、永続的ストレージ210は、ソリッドステートハードドライブ、半導体ストレージデバイス、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM)、フラッシュメモリ、又は、プログラム命令又はデジタル情報を記憶可能である任意の他のコンピュータ可読ストレージ媒体を含み得る。
【0034】
本明細書で説明されるプログラムは、本発明の特定の実施形態においてそれらが実装される用途に基づいて識別される。しかしながら、本明細書における任意の特定のプログラム名称は、単に便宜上の目的で使用され、そのため、本発明は、そのような名称によって識別及び/又は示唆される、任意の特定の用途のみにおいて使用することに限定されるべきでないことが理解されるべきである。
【0035】
本発明の様々な実施形態の説明は、例示目的で提示されてきたが、包括的であること、又は開示された実施形態に限定されることが意図されるものではない。説明される実施形態の範囲から逸脱することのない多くの修正形態及び変形形態が、当業者には明らかになるであろう。本明細書で使用される専門用語は、実施形態の原理、市場で見られる技術の実用的な適用、又は、それに対する技術的改善を最適に説明するように、又は、本明細書で開示される実施形態を他の当業者が理解することを可能にするように選択された。
II.例示的な実施形態
【0036】
図1に示される通り、ネットワーク化されたコンピュータシステム100は、本発明に係る例示的な方法が実行され得る環境である。図2に示される通り、フローチャート250は、本発明に係る例示的な方法を示している。図3に示される通り、プログラム300は、フローチャート250の方法の動作の少なくとも一部を実行する、又はそのパフォーマンスを制御する。次に、以下の段落にわたって、図1図2、及び図3のブロックを広く参照しながら、この方法及び関連付けられるソフトウェアを論述する。
【0037】
処理は動作S255で開始され、AIモデル推論生成器モジュール(「mod」)302は、信頼できる実行環境(TEE)内のGPUを用いてAIモデル推論を生成する。この簡略化された実施形態において、AIモデル推論とは、AIモデル(AIモデル推論生成器)が、図1のIRカメラ236からのセンサデータを用いて、IRカメラにより観察された真皮の温度に基づき、IRカメラ236により観察された人物が新型コロナウイルス感染症(COVID-19)にかかっているかどうかを判定するインスタンスを指し、センサデータは、AIモデル推論生成器モジュール302への入力として提供される。人々の医療及び健康に関連する情報は、多くの場合、高度な機密性をもって取り扱うことを要求される。この機密性を提供する1つの方法は、このデータの処理を、信頼できる実行環境、すなわちTEE内で行うことである。この簡略化された実施形態において、TEEは、GPU234、プロセッサセット204、及びメモリ208のコンピューティング能力の半分を包含している。TEEからのコンテンツは、永続的ストレージ210内に記憶される前に暗号化され、それらがTEEに読み込まれる際に復号される。
【0038】
GPU234などのGPUの高度に並列化された構造は、(プロセッサセット204などのより一般的なコンピュータプロセッサと比較して)多くのAI推論演算を実行するのに特に適している。GPUのユニットを包含するようにTEEを拡張することで、より効率的なGPUにより実行されるAI推論演算に対し、強化されたセキュリティ/機密性が提供される。この簡略化された実施形態の一例として、AIモデル推論生成器モジュール302は、毎秒60フレームで記録された赤外線撮像記録の10秒間にわたる発熱の温度を示す放射線を読み取ることに基づき、観察された人物「人物A」が新型コロナウイルス感染症を有するとの推論を生成し、TEE内のGPU234を介してAIモデルを処理する。幾つかの代替的な実施形態は、クラウドコンピューティング環境ベースのAIの分散型学習などの異なるエッジコンピューティングのタスクを含むがこれらに限定されない。
【0039】
処理は動作S260に進み、ポスト量子暗号モジュール304は、TEEの外部での通信のために、TEE内のGPUを用い、ポスト量子暗号でAIモデル推論を暗号化する。この簡略化された実施形態において、使用されるポスト量子暗号方式は格子ベース暗号であり、GPU234などのそのGPUは、関連する動作を実行するにあたり特に好適である。格子ベース暗号は、GPUが特に効率的に実行するように設計された計算である、ベクトルを伴う数学的演算を大きな特徴とする。以前に生成されたAI推論などの情報が(永続的ストレージ210上にローカルに記憶される、又は、ネットワーク114を介して1つ又は複数のクライアントに通信されるなどのために)TEEを離れ得る前に、それはまず、格子ベース暗号化により暗号化される必要がある。幾つかの代替的な実施形態において、使用されるポスト量子暗号方式は、(i)多変量暗号;(ii)ハッシュベース暗号;(iii)コードベース暗号;及び(iv)超特異楕円曲線同種写像暗号のうち1つである。S255で生成された、人物Aが新型コロナウイルス感染症にかかっているとのAIモデル推論は、GPU234を用いて格子ベース暗号化操作を実行するポスト量子暗号モジュール304により、格子ベース暗号化を用いて暗号化される。
【0040】
処理は動作S265に進み、暗号化データ通信モジュール306は、暗号化されたAIモデル推論をTEEの外部に通信する。この簡略化された実施形態において、S255で生成され、S260でGPU234を用いてポスト量子暗号モジュール304により格子ベース暗号化で暗号化された、人物Aが新型コロナウイルス感染症にかかっているとのAIモデル推論は、永続的ストレージ210上にローカルに記憶され、ネットワーク114を介してクライアント104に通信される。この簡略化された実施形態において、クライアント104は、S255でAIモデル推論を生成したAIモデル推論アルゴリズムを改良するためのトレーニング環境をホストする、クラウドベースのコンピューティング環境である。幾つかの代替的な実施形態において、暗号化されたAIモデル推論は、(i)ローカル機械可読ストレージデバイス;又は(ii)クラウドベースのコンピューティング環境におけるストレージのうちいずれか1つに通信される。
【0041】
処理は動作S270に進み、ポスト量子暗号化されたワークロードデータストアモジュール308は、ポスト量子暗号で暗号化されたワークロードを受信する。この簡略化された実施形態において、ワークロードは、任意の識別された個人の頭部からの、背景温度よりも高く上昇した温度を有する空気の吐き出しを識別することから個人の呼吸数を観察することに基づき、赤外線ビデオから推論を生成するための異なるAIモデルである。このワークロードは、通信時に、格子ベース暗号化で暗号化される。このようなワークロードは、アクティブ処理のために、それらがTEE内のコンポーネントのキャッシュメモリに読み込まれる際に暗号化される。幾つかの代替的な実施形態において、他のタイプのAI又は機械学習ワークロード及び/又は分散学習ワークロードなど、他のタイプのワークロードが受信される。例えば、分散人工知能に対応する分散学習ワークロードは、それらが本質的に、問題を多数の並列タスクに分割するために最小限の努力が必要とされることを示す「自明な並列性(Embarrassingly Parallel)」を有するため、特に好適である(そのGPUは、汎用プロセッサと比較して、効率的に処理する上で特に好適である)。連合学習(Federated Learning)は、実施形態の技法に係る展開によく適した別のアプローチであり、幾つかの実施形態の技法は、物理的に厳密な活動を実行する個人により装着又は携行され得るエッジデバイス上でセキュアなコンピューティング環境を提供し、各エッジデバイスは、それらの観察されたデータをローカルに保持し、集合的推論に基づきエッジアルゴリズムを更新するために、それらの推論をより中央化されたAI又は機械学習アルゴリズムに通信する。幾つかの代替的な実施形態において、受信されたワークロードは、GPU234(又は他の同様のSIMDアクセラレータユニット)を用いて検証される暗号証明を含む。
【0042】
処理は動作S275に進み、ポスト量子暗号復号器モジュール310は、TEE内のGPUを用いて、受信されたワークロードのポスト量子暗号を復号する。この簡略化された実施形態において、受信されたワークロードのポスト量子暗号は、TEE内のGPU234を用いて復号される、格子ベース暗号化方式である。ワークロードがGPU234のキャッシュ又はフレームバッファメモリ(図示せず)に読み込まれると、ポスト量子暗号復号器モジュール310は、ワークロードがTEEのセキュリティ内で復号された状態で実行され得るよう、GPU234を用いて、受信されたワークロードのポスト量子暗号を復号し、それにより、ワークロードはTEE内で復号され、TEEが関与しない場合は暗号化される。
【0043】
処理は動作S280に進み、復号されたワークロード実行モジュール312は、TEE内で復号された受信されたワークロードを実行する。この簡略化された実施形態において、復号された受信されたワークロードは、任意の識別された個人の頭部からの、背景温度よりも高く上昇した温度を有する空気の吐き出しを識別することから個人の呼吸数を観察することに基づき、赤外線ビデオから推論を生成するためのAIモデルに対応する。受信された復号されたワークロードのこのAIモデルの一態様において、より短い間隔を有するより浅い呼吸に対応する上昇した呼吸数を有する人物は、新型コロナウイルス感染症を有する人物のAI推論に対応する。TEE内でワークロードが復号されると、サブシステム102は、IRカメラ236を通じて赤外線画像の収集を継続し、それは次に、上記に従い赤外線画像から推論を生成することによりワークロードを実行するため、復号されたワークロード実行モジュール312への入力として提供される。この簡略化された実施形態において、新たな人物がIRカメラ236の観察台へと歩み入り、IRカメラ236は、10秒間の期間にわたり毎秒60フレームの速度で一連の赤外線画像(又は、10秒間にわたる600枚の赤外線画像)を収集し、当該新たな人物の頭部付近から発せられる、背景レベルよりも高く上昇した温度を有する空気の幾つかの小さな体積を示す。復号された受信されたワークロードのAIモデルは、これらの画像を入力として分析し、当該新たな人物が新型コロナウイルス感染症にかかっている可能性が高いと結論付ける。
【0044】
幾つかの代替的な実施形態において、サブシステム102は、サブシステム102に対する物理的な改ざんを阻止又は抑止するための改ざん防止ハードウェア要素(図示せず)を含む。なおも更なる代替的な実施形態において、信頼できる実行環境、及び信頼できる実行環境内でGPUにより駆動されるポスト量子暗号化/復号は、デバイス上で実行されている事柄に関して不透明な実行を提供する。更なる代替的な実施形態において、データ又は情報のいずれかが暗号化され、TEEの外部に通信された場合、又は、ワークロード又は情報が受信された(但し、受信された当該情報に対する不完全な暗号証明に起因して復号されていない)場合、閾値ベースの再試行/再伝送モジュールは、通信の再試行を試み、改ざん、又は、TEEからの、又はTEEへの通信を妨害する、又は差し挟むための、意図しない/望ましくない第三者による試みに対応する、無線通信における破損又は障害のあるパケットの予測されたレベルを上回る割合について、障害のある、又は失敗した通信を評価する。
III.更なるコメント及び/又は実施形態
【0045】
本発明の幾つかの実施形態は、現在の技術水準に関して、以下の事実、潜在的な問題、及び/又は潜在的な改善すべき領域を認識している:(i)信頼できる実行環境(TEE)は現在、CPUに限定されているが、これらの環境の信頼境界を、オフCPUアクセラレータを含むように拡張するための作業が既に実行されている;(ii)モノのインターネット(IoT)デバイスは、今後数年間において、エッジ推論及び分散機械学習用のGPU高速化機能を有するようになると予測される;(iii)例えば、連合学習を用いて;(iv)そのようなデバイスもまた、既に、未完成の信頼できる実行環境(例えば、ARM(登録商標)TrustZone(登録商標))を有するものの、SGXを搭載したIntel(登録商標)Xeon(登録商標)などのフルサーバCPUと比較すると、機能は非常に限定的である;(v)現在のTEEは、「耐量子(Quantum Safe)」である、又は、ショアのアルゴリズム(Shor's Algorithm)などの量子コンピューティング技法による将来の復号に対する耐性を有するとはみなされない楕円曲線暗号又は同様の技法を通常用いている;及び(vi)機密通信のために使用される戦場用無線通信機器は、厳重な暗号化要件を有し、且つ、敵によって捕獲された場合に、デバイスが破壊されること、又は無効化されることを可能にする戦術的メカニズムを含む(例えば、「クリッパーチップ」を参照)。
【0046】
本発明の幾つかの実施形態は、以下の動作、機能、特性及び/又は利点のうちの1つ又は複数を含み得る:(i)AI推論及び分散型学習を含む高度にセキュアなフィールド分析のためのプロセッサ設計;(ii)将来の戦場用無線エッジコンピューテーション及び同様に機密性の高い動作に好適であるよう、十分に堅牢なセキュリティを有する;(iii)デバイスは、(a)格子暗号化、及び(b)GPUなどのハードウェア高速化を包含する拡張された信頼境界を有する信頼できる実行環境、を含む技術の組み合わせに基づいている;(iv)アルゴリズムの敏捷性を可能にする高度にセキュアなIoT/エッジコンピューティング信頼できる実行環境を作成するシステム及び方法;(v)耐量子格子暗号をサポートする機能を含む;(vi)この機能が実行されるデバイスは、ARM(登録商標)CPUに匹敵するが、Intel(登録商標)SGX、AMD(登録商標)SEV、又はPower(登録商標)SMFに匹敵するより高度なTEEを有し、完全性保証のための暗号証明を有する;(vii)当該デバイスは、AI/ML推論をサポートするために、GPUと同様のSIMD実行ユニットをも含む;(viii)また、任意選択的に、連合学習及び同様の技法を用いて可能であるような分散学習;(ix)CPUの「信頼境界」は、GPU又は他のアクセラレータを含むように拡張される;(x)結果的に生じるコンピューティング環境は、軍用グレードのハードウェアが耐量子格子暗号化を現在サポートしていない点において、そのような機器が現在提供するものを上回るレベルにまで、様々な保護を可能にする方法で、IoTデバイスへの多くの異なる可能な「エッジ分析」の展開を可能にする;(xi)これらの保護は、(a)常に暗号化されたML/AIモデル、及び(b)データを含む;(xii)そのような環境において、コード及びデータは、メモリ及び/又はストレージにおいて、並びに、ネットワークを介して伝送される際に、暗号化された状態を維持する;(xiii)それらは、それらがCPU/GPUのキャッシュ及び実行ユニットに読み込まれる際にのみ復号される;(xiv)そのため、ハードウェアセキュリティモジュールにおいて現在一般的に使用されているような物理的な耐改ざん機能を物理チップパッケージに含めることも望ましい;(xv)単一命令複数データ(Single Instruction, Multiple Data:SIMD)は、フリンの分類(Flynn's taxonomy)における並列コンピュータの類であり、複数のデータポイントに対して同じ動作を同時に実行する複数の処理要素を有するコンピュータを指す;(xvi)そのようなコンピュータは、データレベルの並列性を利用するが、並行性を利用しない;及び(xvii)すなわち、複数の同時(又は並列)計算が存在するが、所与の時点では単一のプロセス(又は命令)のみが存在する。
【0047】
本発明の幾つかの実施形態は、以下の動作、機能、特性及び/又は利点のうちの1つ又は複数を含み得る:(i)暗号の完全性及び耐改ざん性;(ii)TEEは、ホワイトリスト実行の原則のみに基づき動作する;(iii)すなわち、それに展開された任意のワークロードは、展開プロセスの一部として暗号証明が実行され、適切な権限者によりハッシュに署名がなされたワークロードのみが実行される;(iv)これは、ワークロード、すなわちデータ又はプログラム/モデルが、権限者によってそれに署名がなされて以来、全く変更されていないことを保証する;(v)不透明な実行―暗号化及び展開モデルのおかげで、デバイスが実行していたタスクをユーザ(例えば、歩兵)が知らなくとも、又は識別できなくとも、適切な権限者は、エッジデバイスに分析を展開することさえできる;(vi)これは、任意選択的な機能である;(vii)コンシューマバージョンのデバイスは、ユーザが承認するための任意の分析のアイデンティティを公開する可能性が高い;(viii)レジリエンス―任意のモデル又はデータが証明ハッシュ及び署名検査に合格できない場合、又は、エッジデバイスから分析を管理する権限者に返された結果が、同様の完全性検査で不合格となる場合に備えて、システムは、再試行/再伝送メカニズムを含む;(ix)通常の無線システムが破損したパケットとして経験するものを上回る意図的な改ざんの可能性がある場合を示す、閾値エラー報告機能を有する;(x)開示されたシステムの追加的な利点は、GPU及び同様のSIMD実行ユニットが、AIワークロードのみならず、格子暗号自体の高速化にも特によく適しているという事実にある;(xi)これにより、高速化されたプロセッサは、このために理想的な環境となる;(xii)GPUの極めて高い並列性、及び、GPUによるベクトル及び行列/テンソル演算の高速実行は、GPUを格子暗号化計算の実行において理想的に好適なものにしている;(xiii)信頼できる実行環境は、それが高速テンソル演算を行うことのできるGPU又は同様のSIMD高並列実行ユニットをその中に含み、それがこれを用いてその格子ベース暗号(並びにディープニューラルネットトレーニング及び推論などの他の機密作業)を実行する以外において、構造及び機能性の面で既存のものと大きく異なって見える必要はない;(xiv)格子暗号は、行列/テンソルの形式で並列化して実行するのが特に難しくない反復的な演算操作において信じ難いほど動作が遅いため、これらのアクセラレータは、格子暗号で上手く機能する;及び(xv)多くのタイプの格子暗号は、このようにして高速化され得る。
【0048】
本発明の幾つかの実施形態は、以下の動作、機能、特性及び/又は利点のうちの1つ又は複数を含み得る:(i)戦場で見られるような非常に高セキュリティの状況においては、捕獲される差し迫ったリスクが生じた場合に、セキュアな通信デバイス及び他の機密性の高い技術が短時間で破壊又は無効化され得るという要件が従来存在する;(ii)現在の技術は、ローカル又はリモートのワークロード削除機能を有するという単純な方法により、仮想的なソフトウェアベースの意味合いにおいてこの要件を満たし得る;(iii)任意のワークロードが削除され、そのコンテンツがメモリ内に迅速に上書きされることができ、任意選択的に、蓄電器又はバッテリ電源バックアップを用いることで、電力が絶たれた場合の上書きを確実にする;(iv)本発明の別の実施形態は、製造施設又は実験施設などの環境における品質保証を監視する、規制産業におけるエッジAI推論デバイスである;(v)この実施形態において、規制機関は、署名付きAI推論ワークロードを規制対象の当事者に供給し得る;(vi)本明細書で説明される一実施形態を用い、規制機関は、規制対象の実験施設又は製造施設内に位置するデバイス上でAI推論モデルが改ざんされないことを確実にし得る;(vii)信頼できる実行環境及び格子暗号化の組み合わせは、デバイス上での実行中又は停止中に、ワークロードがイントロスペクト、又はそうでなければ改ざんされ得ないことを確実にする;及び(viii)格子暗号化された特定の信頼できる実行環境。
【0049】
図4のブロック図400は、本発明の第2の実施形態に係るエッジAI推論デバイスを示しており、以下、すなわち(i)デバイス402;(ii)ランダムアクセスメモリ404;(iii)オペレーティングシステム406;(iv)CPU408;(v)GPU410;(vi)信頼できる実行環境412;(vii)CPU格子暗号化命令セット414;(viii)GPU格子暗号化命令セット416;(ix)AIモデル418;(x)AIモデル420;(x)ストレージメモリ422;(xi)暗号化AIモデル424;(xii)クラウドコンピューティング環境426;(xiii)AIモデル提供者/署名者428;(xiv)センサセット430;(xv)カメラ432;(xvi)マイクロフォン434;(xvii)指紋リーダ436;(xviii)加速度計438;(xix)心拍パルスセンサ440;(xx)呼吸数センサ442;及び(xxi)他のセンサ444を含む。信頼できる実行環境412は、メモリ404の幾つかの部分、並びに、CPU408及びGPU410の幾つかの実行ユニットを包含する。AIモデル418及び420は、信頼できる実行環境412内のメモリ404に読み込まれ、CPU408及びGPU410により実行される。AIモデル418及び420、又はAIモデル424などの他のAIモデルの実行の結果として作成されたデータは、格子暗号化命令セット414及び416により暗号化された暗号化形式(例えば、格子ベース暗号による暗号化)でローカルストレージメモリ422に記憶される。信頼できる実行環境412内で再読み込みされると、GPU410及びCPU408は、格子暗号化命令セット414及び416により暗号化を復号する。デバイス402は、歩兵又は他の保安要員448などの個人に装着されるデバイス450などの小型のフォームファクタのエッジコンピューティングデバイスであり得る。
【0050】
本発明の幾つかの実施形態は、以下を備えるコンピューティングデバイスを対象にしている:(i)信頼できる実行環境(TEE);及び(ii)TEE内のGPU(又は他のアクセラレータ)、ここでGPUの組み込み並列化/高速化は、それを耐量子にするために必要な格子暗号操作を実行するために使用される。
IV.定義
【0051】
本発明:「本発明」という用語で説明されている主題が、出願時の特許請求の範囲、又は特許審査後に最終的に発行される可能性のある特許請求の範囲のいずれかによって包含されていることを絶対的に示すものと解釈されるべきではない。「本発明」という用語は、本明細書の開示が潜在的に新規であると考えられる一般的な感覚を読者が得るのを助けるために使用されるが、この理解は、「本発明」という用語の使用によって示されるように、一時的及び暫定的であり、関連情報が展開される場合、及び特許請求の範囲が潜在的に修正される場合、特許審査の過程にわたり変更される。
【0052】
実施形態:上記「本発明」の定義を参照のこと。同様の注意事項が、「実施形態」という用語にも適用される。
【0053】
「及び/又は」:包括的な又は;例えば、A、B、「及び/又は」Cとは、A又はB又はCのうちの少なくとも1つが真であり、適用可能であることを意味する。
【0054】
含む(including/include/includes):別途明示的に説明がない限り、「含むが、必ずしもこれに限定されない」ことを意味する。
【0055】
モジュール/サブモジュール:モジュールが、(i)シングルローカルプロキシミティにある;(ii)広域にわたり分散されている;(iii)より大きいソフトウェアコード内でシングルプロキシミティにある;(iv)シングルソフトウェアコード内に位置する;(v)シングルストレージデバイス、メモリ、又は媒体内に位置する;(vi)機械的に接続されている;(vii)電気的に接続されている;及び/又は(viii)データ通信で接続されているかどうかにかかわらず、ある種の機能を行うために動作可能に作用するハードウェア、ファームウェア、及び/又はソフトウェアの任意のセット。
【0056】
コンピュータ:かなりのデータ処理及び/又は機械可読命令読み出し能力を有する任意のデバイスであって、限定されないが、デスクトップコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、フィールドプログラマブルゲートアレイ(FPGA)ベースデバイス、スマートフォン、パーソナルデジタルアシスタント(PDA)、身体装着又は身体挿入型コンピュータ、埋め込みデバイススタイルコンピュータ、及び特定用途向け集積回路(ASIC)ベースデバイスを含む。
【0057】
実質的な人的介入を伴わない:殆ど、又は全く人間の入力を伴うことなく、自動的に(多くの場合、ソフトウェアなどのマシンロジックの動作により)生じるプロセス;「実質的な人的介入」を伴わない幾つかの例は、(i)コンピュータが複雑な処理を実行しており、グリッド電力の停電に起因して、処理が中断されることなく継続するよう、人間がコンピュータを代替電源に切り替える;(ii)コンピュータがリソースを大量に消費する処理を実行しようとしており、当該リソースを大量に消費する処理が実際に行われるべきであることを人間が確認する(この場合、確認のプロセスは、切り離して考えると、実質的な人的介入を伴うが、人間により行われることを求められる単純な「イエス」「ノー」形式の確認にかかわらず、当該リソースを大量に消費する処理は、いかなる実質的な人的介入も含まない);及び(iii)マシンロジックを用いて、コンピュータが重要な決定(例えば、悪天候を予想して全ての航空機を運航停止にする決定)を下したが、当該重要な決定を実行する前に、コンピュータは人間側から単純な「イエス」「ノー」形式の確認を得る必要がある、を含む。
【0058】
自動的:いかなる人的介入もないこと。
【0059】
我々:本文書は、「我々」という文言を使用する場合があり、これは概して、ほとんどの場合、「コンピュータシステムのマシンロジック」等を表す代名詞的な用法として理解されるべきであり;例えば、「我々がデータを処理した」は、文脈が別途示さない限り、「コンピュータシステムのマシンロジックがデータを処理した」と理解されるべきであり;文脈が別途断定的に示さない限り、本明細書において使用される場合、「我々」は通常、いかなる具体的な人間個人を指すものではなく、又は実際に、及び人間個人を一切指すものではない(むしろ、コンピュータシステムである)。
【0060】
推論:前提から論理的帰結に移行する推理の段階。推論は従来、演繹及び帰納に分類される。演繹は、論理学において研究された有効な推論の法則により、真であることが既知である、又は真であると仮定される前提から論理的帰結を導き出す推論である。帰納は、特定の前提から普遍的帰結に至る推論を指す。複数の分野において、実際に推論がどのように行われるかを研究している。人間の推論(例えば、人間がどのようにして結論を下すか)は、従来、論理学、論証学、及び認知心理学の分野内で研究されてきたものであり;AIの研究者は、人間の推論をエミュレートする自動推論システムを開発している。
図1
図2
図3
図4
【手続補正書】
【提出日】2023-10-06
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実装方法(CIM)であって、
中央処理ユニットのセットのうち少なくとも幾つかのユニット及びアクセラレータユニットのセットのうち少なくとも幾つかのユニットを包含する信頼できる実行環境を含むエッジコンピューティングデバイスで使用するためのコンピュータ実装方法であって、
前記信頼できる実行環境内で、暗号化のためのデータ記録を生成する段階;及び
前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットを用い、ポスト量子暗号化方式で前記データ記録を暗号化する段階
を備える、CIM。
【請求項2】
前記ポスト量子暗号化方式は、格子ベース暗号化である、請求項1に記載のCIM。
【請求項3】
コンピュータネットワークを介して、1つ又は複数のクラウドベースのコンピューティング環境のコンピュータに前記暗号化されたデータ記録を通信する段階を更に備える、請求項1又は2に記載のCIM。
【請求項4】
前記暗号化されたデータ記録を、前記エッジコンピューティングデバイスのストレージメモリモジュールに通信する段階、ここで前記ストレージメモリモジュールは、前記信頼できる実行環境から除外される、を更に備える、請求項1から3のいずれか一項に記載のCIM。
【請求項5】
暗号化のための前記データ記録を生成する段階は、前記信頼できる実行環境内の前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットによる機械学習アルゴリズムの実行を通じて機械学習推論を生成する段階を有する、請求項1から4のいずれか一項に記載のCIM。
【請求項6】
前記エッジコンピューティングデバイスのための新たなワークロードを受信する段階、ここで前記新たなワークロードは、前記ポスト量子暗号化方式で暗号化される;
以前に指定された外部ソースにより署名された暗号証明を検証する段階;
検証された暗号証明に応答して、前記新たなワークロードを前記信頼できる実行環境に読み込む段階
を更に備え、ここで前記信頼できる実行環境に読み込む段階は:
前記新たなワークロードを、前記信頼できる実行環境内の機械可読ストレージにインポートする段階;及び
前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットを介して、前記ポスト量子暗号化方式の前記新たなワークロードを復号する段階;及び
前記信頼できる実行環境内で前記新たなワークロードを実行する段階
を有する、請求項1から5のいずれか一項に記載のCIM。
【請求項7】
中央処理ユニットのセットのうち少なくとも幾つかのユニット及びアクセラレータユニットのセットのうち少なくとも幾つかのユニットを包含する信頼できる実行環境を含むエッジコンピューティングデバイスで使用するためのコンピュータプログラムであって
ロセッサに、
前記信頼できる実行環境内で、暗号化のためのデータ記録を生成する手順;及び
前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットを用い、ポスト量子暗号化方式で前記データ記録を暗号化する手順
を実行させるためコンピュータプログラム。
【請求項8】
前記ポスト量子暗号化方式は、格子ベース暗号化である、請求項7に記載のコンピュータプログラム。
【請求項9】
ロセッサに、コンピュータネットワークを介して、1つ又は複数のクラウドベースのコンピューティング環境のコンピュータに前記暗号化されたデータ記録を通信する手順、を実行させる、請求項7又は8に記載のコンピュータプログラム。
【請求項10】
前記プロセッサに記暗号化されたデータ記録を、前記エッジコンピューティングデバイスのストレージメモリモジュールに通信する手順、ここで前記ストレージメモリモジュールは、前記信頼できる実行環境から除外される、を更に実行させる、請求項7から9のいずれか一項に記載のコンピュータプログラム。
【請求項11】
暗号化のための前記データ記録を生成する手順は、前記信頼できる実行環境内の前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットによる機械学習アルゴリズムの実行を通じて機械学習推論を生成する手順を有する、請求項7から10のいずれか一項に記載のコンピュータプログラム。
【請求項12】
前記プロセッサに、
記エッジコンピューティングデバイスのための新たなワークロードを受信する手順、ここで前記新たなワークロードは、前記ポスト量子暗号化方式で暗号化される;
以前に指定された外部ソースにより署名された暗号証明を検証する手順;
検証された暗号証明に応答して、前記新たなワークロードを前記信頼できる実行環境に読み込む手順
を更に実行させ、ここで前記信頼できる実行環境に読み込む手順は:
前記新たなワークロードを、前記信頼できる実行環境内の機械可読ストレージにインポートする手順;及び
前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットを介して、前記ポスト量子暗号化方式の前記新たなワークロードを復号する手順;及び
前記信頼できる実行環境内で前記新たなワークロードを実行する手順
を含む、請求項7から11のいずれか一項に記載のコンピュータプログラム。
【請求項13】
1つ又は複数のプロセッサのセット;
アクセラレータユニットのセット;
前記1つ又は複数のプロセッサのセットのうち少なくとも幾つかの処理ユニット及び前記アクセラレータユニットのセットのうち少なくとも幾つかのユニットを包含する信頼できる実行環境;
機械可読ストレージデバイス;及び
前記機械可読ストレージデバイス上に記憶されたコンピュータコード
を備える、エッジコンピューティングデバイスのコンピュータシステムであって、
前記コンピュータコードは、前記1つ又は複数のプロセッサのセットに、以下、すなわち:
前記信頼できる実行環境内で、暗号化のためのデータ記録を生成する手順;及び
前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットを用い、ポスト量子暗号化方式で前記データ記録を暗号化する手順
を含む動作を実行させるための命令を有する、コンピュータシステム。
【請求項14】
前記ポスト量子暗号化方式は、格子ベース暗号化である、請求項13に記載のコンピュータシステム。
【請求項15】
前記コンピュータコードは、前記1つ又は複数のプロセッサのセットに、以下の動作、すなわち、コンピュータネットワークを介して、1つ又は複数のクラウドベースのコンピューティング環境のコンピュータに前記暗号化されたデータ記録を通信する手順を実行させるための命令を更に有する、請求項13又は14に記載のコンピュータシステム。
【請求項16】
前記コンピュータコードは、前記1つ又は複数のプロセッサのセットに、以下の動作、すなわち、前記暗号化されたデータ記録を、前記エッジコンピューティングデバイスのストレージメモリモジュールに通信する手順、ここで前記ストレージメモリモジュールは、前記信頼できる実行環境から除外される、を実行させるための命令を更に有する、請求項13から15のいずれか一項に記載のコンピュータシステム。
【請求項17】
暗号化のための前記データ記録を生成する手順は、前記信頼できる実行環境内の前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットによる機械学習アルゴリズムの実行を通じて機械学習推論を生成する手順を有する、請求項13から16のいずれか一項に記載のコンピュータシステム。
【請求項18】
前記コンピュータコードは、前記1つ又は複数のプロセッサのセットに、以下の動作、すなわち:
前記エッジコンピューティングデバイスのための新たなワークロードを受信する手順、ここで前記新たなワークロードは、前記ポスト量子暗号化方式で暗号化される;
以前に指定された外部ソースにより署名された暗号証明を検証する手順;
検証された暗号証明に応答して、前記新たなワークロードを前記信頼できる実行環境に読み込む手順
を実行させるための命令を更に有し、ここで前記信頼できる実行環境に読み込む手順は:
前記新たなワークロードを、前記信頼できる実行環境内の機械可読ストレージにインポートする手順;及び
前記アクセラレータユニットのセットのうち前記少なくとも幾つかのユニットを介して、前記ポスト量子暗号化方式の前記新たなワークロードを復号する手順;及び
前記信頼できる実行環境内で前記新たなワークロードを実行する手順
を含む、請求項13から17のいずれか一項に記載のコンピュータシステム。
【国際調査報告】