(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-26
(45)【発行日】2025-01-10
(54)【発明の名称】信頼できる実行環境マルチノード認証方法
(51)【国際特許分類】
G06F 21/44 20130101AFI20241227BHJP
G06F 21/64 20130101ALI20241227BHJP
G06F 21/60 20130101ALI20241227BHJP
【FI】
G06F21/44
G06F21/64
G06F21/60 320
(21)【出願番号】P 2023513540
(86)(22)【出願日】2021-12-30
(86)【国際出願番号】 CN2021142976
(87)【国際公開番号】W WO2023035507
(87)【国際公開日】2023-03-16
【審査請求日】2023-02-22
(31)【優先権主張番号】202111042285.1
(32)【優先日】2021-09-07
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】523065052
【氏名又は名称】天翼電子商務有限公司
(74)【代理人】
【識別番号】100145470
【氏名又は名称】藤井 健一
(72)【発明者】
【氏名】賀偉
(72)【発明者】
【氏名】史楠迪
(72)【発明者】
【氏名】汪昌帥
(72)【発明者】
【氏名】徐潜
(72)【発明者】
【氏名】馬頌華
(72)【発明者】
【氏名】範磊
【審査官】吉田 歩
(56)【参考文献】
【文献】特表2020-527298(JP,A)
【文献】特開2020-184326(JP,A)
【文献】特表2020-522034(JP,A)
【文献】中国特許第112989319(CN,B)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
G06F 21/64
G06F 21/60
(57)【特許請求の範囲】
【請求項1】
複数のTEEコンピューティングノードから一つのコンピューティングリソースプールに構成し、且つコンピューティングリソース管理システムはコンピューティングリソースを一括で割り当てると仮定し、リソースプールに一つのユニファイドアクセスと認証ノード(AuthNode)が配置され、該ノードは、ユーザがすべての割り当てられたTEEコンピューティングノードに対するリモート認証プロセスを完了させるために支援し、技術的手段は、ユーザプログラムのセキュリティ配置とユーザデータのセキュリティコンピューティングという二つの段階を含み、流れは以下の通りであることを特徴とする信頼できる実行環境マルチノード認証方法。
(1)ユーザプログラムのセキュリティ配置
ユーザはコンピューティングプログラムをTEEクラウドコンピューティング環境にアップロードし、必要なコンピューティングリソースを申請し、コンピューティングリソースプールはユーザにTEEコンピューティングリソースを割り当て、且つセキュリティコンピューティング環境TEEにユーザプログラムを配置し、AutNodeはリモート認証プロセスを開始し、すべてのユーザプログラムを配置したTEEノードとAutNodeは、セキュリティ通信チャネルを介して次の2つの機能を完了し、
1)リモート認証レポートの生成
TEEノードは、ノード情報、メモリ状態、実行プログラムの基本情報を含むデータを要約レポートに生成し、レポートをAutNodeにアップロードし、AutNodeによりTEEノードレポートの正確性と完全性を検査し、検査に合格した後、TEEノードを信頼できるリソースリストに追加し、
2)セッション鍵の取得
AutNodeはすべてのTEEと共有する暗号化セッション鍵と認証セッション鍵を生成し、この2つの鍵をセキュリティ通信チャネルを介してすべてのTEEノードとユーザノードに共有し、
AutNodeは、自身のノード情報、メモリ状態、実行プログラムの基本情報を含むデータを要約レポートに生成してからユーザに送信し、ユーザはレポートの正確性と完全性を検査し、検査に合格した後、該コンピューティングリソースが信頼できる環境であることを確認し、
(2)ユーザデータのセキュリティコンピューティング
ユーザは、検査に合格した信頼できる環境を利用してデータのコンピューティングと結果の取得を実現し
、以下の2つの機能を
完了する、
1)データのアップロードとコンピューティング
ユーザ
ノードはコンピューティングに必要なデータをセッション鍵を使用して暗号化し、署名した後、セキュリティコンピューティング環境にアップロードし、セキュリティコンピューティング環境は、リソーススケジューリング戦略に基づいてコンピューティングタスクを対応するTEEコンピューティングリソースに割り当て、TEE
ノードクラスタはデータを復号し、署名を検証してコンピューティングを完了し、コンピューティング結果を取得し、
2)コンピューティング結果の確認
TEEコンピューティングノードは、コンピューティング結果をセッション鍵で暗号化して署名した後にユーザ
ノードに返信し、ユーザ
ノードは署名を検証して復号した後に信頼できるコンピューティング結果が得られる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は信頼できる実行環境、クラウド環境、リモート認証、プライバシー保護の分野に関し、特に信頼できる実行環境マルチノード認証方法に関する。
【背景技術】
【0002】
信頼できる実行環境(Trusted Executive Environment、TEE)は、汎用CPU内にハードウェア保護に基づくセキュリティエリアを設置することにより、データセキュリティ保護を実現するセキュリティコンピューティングフレームワークであり、そのコンピューティングプロセスおよび使用するメモリ、レジスターなどは、チップのネイティブのセキュリティ保護によって改ざんや盗み取られることはない。従来の単純なセキュリティチップとは異なり、TEEはCPUがサポートする汎用コンピューティング機能を実現することができる。従来のCPU+セキュリティチップのフレームワークにおいて、セキュリティチップは暗号化、署名、認証などの機能を提供し、CPUは汎用コンピューティングを実現するため、CPU内のデータは有効に保護されていなかった。TEEでは、汎用コンピューティングと暗号化、認証などの機能がCPU内部で完成し、メモリの暗号化とアクセス制御がTEEによって保護されているため、コンピューティングプロセス全体のデータセキュリティ保護を実現することができる。TEEによってリモートのセキュリティコンピューティングを実現することができる。典型的なTEEデバイスには、インテルCPUが提供するSGX環境やARMチップが提供するTRUST ZONEなどが含まれる。TEEにおいて、リモートアイデンティティ認証プロトコルにより、ユーザがTEEにおける実行コードに対する認証およびデータの暗号化機能をユーザが実行することができる。既存の認証はすべて単一デバイス(TEE)の認証であり、
クラウドコンピューティングは、ハードウェア仮想化を通じてクラウドにコンピューティングリソースを統合し、ユーザに動的で拡張可能なコンピューティング、ストレージ、ネットワーク管理サービスを提供し、クラウドの運用に基づいて多くのインターネット企業の成長を推進し、クラウドコンピューティングは、現在の大規模なコンピューティングリソース管理と応用の典型的なモードである。しかし、クラウドコンピューティングは多くのセキュリティ問題にも直面しており、ユーザはデータをクラウドに送信して記憶とコンピューティング処理を行う必要があり、ユーザの機密データは漏れるリスクがある。クラウドコンピューティングを実現するために、ユーザデータを暗号文でアップロードすることはできなく、つまり、クラウドサービスプロバイダは、ユーザのすべての平文データを取得することが可能である。この問題を解決するためには、準同型暗号アルゴリズムなどの暗号化ツールを使用することができるが、このようなアルゴリズムは効率的ではなく、高性能で実用的なソリューションを提供できない。TEEに基づくハードウェアセキュリティソリューションは、クラウドコンピューティング環境におけるユーザデータ保護のためにより効率的で実用的なソリューションを提供する。TEEはセキュリティ保護機能を備えた汎用コンピューティングCPUであるため、クラウドコンピューティングにおけるCPUとしてTEEを使用することで、ユーザデータのセキュリティ保護を実現することができる。
【0003】
ネイティブのTEE認証スキームでは、ユーザが単一のTEEデバイスに対するリモート認証を実現することができる。クラウドコンピューティング環境では、コンピューティングリソースには、複数のエンティティノードが含まれているため、ユーザに単一の認証インタフェースを提供してマルチノードのセキュリティ認証を完了する必要がある。本願は、クラウドコンピューティング環境に適したマルチノードの信頼できる実行環境マルチノード認証方法を提案する。
【発明の概要】
【課題を解決するための手段】
【0004】
本発明が解決しようとする技術的な課題は従来技術の欠陥を克服し、信頼できる実行環境マルチノード認証方法を提案する。
【0005】
上記技術的な課題を解決するために、本発明は以下の技術的手段を提供し、
本発明は、信頼できる実行環境マルチノード認証方法を提供し、
複数のTEEコンピューティングノードから一つのコンピューティングリソースプールに構成し、且つコンピューティングリソース管理システムはコンピューティングリソースを一括で割り当てると仮定し、リソースプールに一つのユニファイドアクセスと認証ノード(AuthNode)が配置され、該ノードは、ユーザがすべての割り当てられたTEEコンピューティングノードに対するリモート認証プロセスを完了させるために支援し、技術的手段は、ユーザプログラムのセキュリティ配置とユーザデータのセキュリティコンピューティングという二つのリンクを含み、主な流れは以下の通り、
(1)ユーザプログラムのセキュリティ配置
ユーザはコンピューティングプログラムをTEEクラウドコンピューティング環境にアップロードし、必要なコンピューティングリソースを申請し、コンピューティングリソースプールはユーザにTEEコンピューティングリソースを割り当て、且つセキュリティコンピューティング環境TEEにユーザプログラムを配置し、AutNodeはリモート認証プロセスを開始し、すべてのユーザプログラムを配置したTEEノードとAutNodeは、セキュリティ通信チャネルを介して次の2つの機能を完了し、
1)リモート認証レポートの生成
TEEノードは、ノード情報、メモリ状態、実行プログラムなどの基本情報を含むデータを要約レポートに生成し、レポートをAutNodeにアップロードし、AutNodeによりTEEノードレポートの正確性と完全性を検査し、検査に合格した後、TEEノードを信頼できるリソースリストに追加し、
2)セッション鍵の取得
AutNodeはすべてのTEEと共有する暗号化セッション鍵と認証セッション鍵を生成し、この2つの鍵をセキュリティ通信チャネルを介してすべてのTEEノードとユーザノードに共有し、
AutNodeは、自身のノード情報、メモリ状態、実行プログラムなどの基本情報を含むデータを要約レポートに生成してからユーザに送信し、ユーザはレポートの正確性と完全性を検査し、検査に合格した後、該コンピューティングリソースが信頼できる環境であることを確認し、
(2)ユーザデータのセキュリティコンピューティング
ユーザは、検査に合格した信頼できる環境を利用してデータのコンピューティングと結果の取得を実現し、主に以下の2つの機能を含み、
1)データのアップロードとコンピューティング
ユーザはコンピューティングに必要なデータをセッション鍵を使用して暗号化し、署名した後、セキュリティコンピューティング環境にアップロードし、セキュリティコンピューティング環境は、リソーススケジューリング戦略に基づいてコンピューティングタスクを対応するTEEコンピューティングリソースに割り当て、TEEはデータを復号し、署名を検証してコンピューティングを完了し、コンピューティング結果を取得し、
2)コンピューティング結果の確認
TEEコンピューティングノードは、コンピューティング結果をセッション鍵で暗号化して署名した後にユーザに返信し、ユーザは署名を検証して復号した後に信頼できるコンピューティング結果が得られる。
【発明の効果】
【0006】
従来技術と比較して、本発明の有益な効果は以下の通りであり、
第一に、ユーザはクラウドコンピューティング環境におけるコードセキュリティを認証し、TEEを通じてコンピューティングプロセスのセキュリティ保護を実現することと、
第二に、ユーザデータのプライバシー保護を実現し、ユーザデータは暗号化された状態でクラウド環境にアップロードされ、データはTEE内部のみで復号して使用されることと、
第三に、ユーザはコンピューティング結果の正確性を認証し、コンピューティング結果が改ざんされていないことを確認できることと、
第四に、プログラム配置段階のみで完全なリモート認証を行い、TEEの認証プロセスはクラウド環境内で完了しコンピューティングプロセスに、ユーザは簡単なローカル認証を行うだけでよく、実行効率が高いこと。
【図面の簡単な説明】
【0007】
図面は、本発明のさらなる理解を提供するためのものであり、本発明の実施形態とともに本発明を説明するための明細書の一部を構成するためのものであり、本発明の制限を構成するものではない。図面について、
【
図1】本発明のTEEコンピューティングリソースプールフレームワークを示す図である。
【
図2】プログラムのセキュリティ配置のフローチャート。
【
図3】データのセキュリティコンピューティングのフローチャート。
【発明を実施するための最良の形態】
【0008】
以下、添付図面を使用して本発明の好適な実施形態を説明するが、ここで説明する好適な実施形態は本発明の説明及び説明にのみ用いられ、本発明を限定するために用いられるものではないことを理解すべきである。
(実施形態1)
【0009】
図1-3に示すように、本発明は、本発明は、信頼できる実行環境マルチノード認証方法を提供し、
複数のTEEコンピューティングノードから一つのコンピューティングリソースプールに構成し、且つコンピューティングリソース管理システムはコンピューティングリソースを一括で割り当てると仮定し、リソースプールに一つのユニファイドアクセスと認証ノード(AuthNode)が配置され、該ノードは、ユーザがすべての割り当てられたTEEコンピューティングノードに対するリモート認証プロセスを完了させるために支援し、技術的手段は、ユーザプログラムのセキュリティ配置とユーザデータのセキュリティコンピューティングという二つのリンクを含み、主な流れは以下の通り、
(1)ユーザプログラムのセキュリティ配置
ユーザはコンピューティングプログラムをTEEクラウドコンピューティング環境にアップロードし、必要なコンピューティングリソースを申請し、コンピューティングリソースプールはユーザにTEEコンピューティングリソースを割り当て、且つセキュリティコンピューティング環境TEEにユーザプログラムを配置し、AutNodeはリモート認証プロセスを開始し、すべてのユーザプログラムを配置したTEEノードとAutNodeは、セキュリティ通信チャネルを介して次の2つの機能を完了し、
1)リモート認証レポートの生成
TEEノードは、ノード情報、メモリ状態、実行プログラムなどの基本情報を含むデータを要約レポートに生成し、レポートをAutNodeにアップロードし、AutNodeによりTEEノードレポートの正確性と完全性を検査し、検査に合格した後、TEEノードを信頼できるリソースリストに追加し、
2)セッション鍵の取得
AutNodeはすべてのTEEと共有する暗号化セッション鍵と認証セッション鍵を生成し、この2つの鍵をセキュリティ通信チャネルを介してすべてのTEEノードとユーザノードに共有し、
AutNodeは、自身のノード情報、メモリ状態、実行プログラムなどの基本情報を含むデータを要約レポートに生成してからユーザに送信し、ユーザはレポートの正確性と完全性を検査し、検査に合格した後、該コンピューティングリソースが信頼できる環境であることを確認し、
(2)ユーザデータのセキュリティコンピューティング
ユーザは、検査に合格した信頼できる環境を利用してデータのコンピューティングと結果の取得を実現し、主に以下の2つの機能を含み、
1)データのアップロードとコンピューティング
ユーザはコンピューティングに必要なデータをセッション鍵を使用して暗号化し、署名した後、セキュリティコンピューティング環境にアップロードし、セキュリティコンピューティング環境は、リソーススケジューリング戦略に基づいてコンピューティングタスクを対応するTEEコンピューティングリソースに割り当て、TEEはデータを復号し、署名を検証してコンピューティングを完了し、コンピューティング結果を取得し、
2)コンピューティング結果の確認
TEEコンピューティングノードは、コンピューティング結果をセッション鍵で暗号化して署名した後にユーザに返信し、ユーザは署名を検証して復号した後に信頼できるコンピューティング結果が得られる。
【0010】
具体的には、本発明はTEEに基づくセキュリティクラウドコンピューティング環境に応用し、プログラムのセキュリティ配置とデータのセキュリティコンピューティングという二つの段階を通じてユーザデータのセキュリティ保護と信頼できるコンピューティングを実現する。2つのプロセスの実施プロセスは、次の通り、
1、プログラムのセキュリティ配置
プログラムのセキュリティ配置は、ユーザがクラウドコンピューティング環境に検証可能なコードを配置し、セキュリティコンピューティング環境を初期化するために使用され、具体的な実施フローを
図2に示し、
1)ユーザノードはTEEノードクラスタにユーザプログラムの配置を申請し、ノードクラスタは対応するTEEコンピューティングリソースを起動してユーザプログラムを正しく配置する。
【0011】
2)TEEクラスタは、ユーザプログラムのノードと認証ノードAutNodeとのインタラクティブを正しく配置し、自身の実行環境の認証レポートと対応する電子署名を生成し、AutNodeに送信する。AutNodeはリモートレポートを検証、許可した後、該ノードをユーザプログラムの実行リストに追加する。
【0012】
3)AutNodeは、ユーザプログラムリスト内のすべてのノードに対して統一された認証鍵と暗号鍵Kaut、KEncを生成し、Kaut、KEncをTEEノードに送信する。
4)AutNodeは自身の実行環境をリモートレポートに生成し、リモートレポートとKaut、KEncをユーザノードに送信する。ユーザノードは、リモートレポートを検証、許可した後、セキュリティリモートコンピューティング環境として受け入れ、Kaut、KEncを保存する。
【0013】
2、データのセキュリティコンピューティング
データのセキュリティコンピューティングは、ユーザがクラウドコンピューティング環境にセキュリティで信頼性のある状態でデータコンピューティングを完成するために使用され、コンピューティングロジックはセキュリティ配置の段階で申請されたセキュリティコンピューティング環境に基づいて実現され、具体的な実施フローは
図3に示すように、
1)ユーザノードはKEncを使用してデータを暗号化し、Kautを使用してデータの署名を生成し、暗号化されたデータと署名をTEEクラスタ内にユーザプログラムが配備されたノードに送信する。
【0014】
2)TEEノードクラスタはKEncを使用してデータを復号し、Kautを使用してデータの整合性を検証する。復号後のデータはクラスタTEE内部でコンピューティングを完了し、TEEノード間で協力してコンピューティング機能を実行することができる。
【0015】
3)コンピューティングが完了したら、コンピューティング結果をKEncで暗号化し、Kautで署名してからユーザノードに送信する。ユーザノードは実行結果を復号して署名を検証し、合格した場合はコンピューティング結果を受け入れる。
【0016】
最後に、上述は本発明の好適な実施形態にすぎず、本発明を限定するためには使用されないが、上述の実施形態を参照して本発明を詳細に説明したが、当業者にとっては、上述の各実施形態に記載された技術的態様を修正したり、技術的特徴の一部を同等に置き換えたりすることができる。本発明の精神と原則の中で、行ったいかなる修正、等価置換、改良などは、本発明の保護範囲に含まれるべきである。