ホームページ 運用・保守 Linuxの運用と保守 CPU は、悪意のあるコードによるデータとプライバシーの盗難をどのようにして保護できるのでしょうか?インテル SGX の基本的な紹介

CPU は、悪意のあるコードによるデータとプライバシーの盗難をどのようにして保護できるのでしょうか?インテル SGX の基本的な紹介

Sep 29, 2018 am 11:42 AM
linux

この記事では、Intel SGX の基本的な概要を説明します。必要な方は参考にしていただければ幸いです。

インテル SGX の基本概要

インテル SGX (インテル ソフトウェア ガード エクステンション) は、インテル命令セット アーキテクチャの拡張機能です。 SGX は、メモリ内の暗号化された信頼できる実行領域である Enclave を提供し、CPU が悪意のあるコードによるデータとプライバシーの盗難を防ぎます。

原理

SGX は、新しいプロセッサ命令を使用して、メモリ内の領域 EPC (Enclave Page Cache) の一部を割り当てます。 CPU 暗号化エンジン MEE (Memory Encryption Engine) が内部のデータを暗号化します。 EPC 内の暗号化されたコンテンツは、CPU に入力されるまで平文に復号されません。したがって、SGX では、オペレーティング システム、VMM、さらには BIOS を信頼する必要はなく、個人データが漏洩しないようにするために CPU のみを信頼する必要があります。

アプリケーション

実際のアプリケーションでは、プライベートデータを暗号化し、暗号文の形式でクラウド上のサークルに転送できます。対応する秘密鍵もリモート認証を通じてサークルに送信されます。その後、データは CPU の暗号化保護の下で計算を実行するために使用され、結果は暗号文で返されます。このモードでは、データ漏洩を心配することなく、クラウド コンピューティングの強力なコンピューティング能力を活用できます。

CPU は、悪意のあるコードによるデータとプライバシーの盗難をどのようにして保護できるのでしょうか?インテル SGX の基本的な紹介

EDL (エンクレーブ定義言語)

EDL は SGX プログラミングの中核であり、すべての機能を定義します。サークル内のデータの読み取り、書き込み、および処理を行うための関数。コンパイル段階で、SDK によって提供される Edger8r ツールは、EDL で定義された関数に基づいて包囲と通常のメモリ間のブリッジ関数を生成し、対応するセキュリティ検出を実行します。

関数は、信頼できる関数 (ecall) と信頼できない関数 (ocall) に分けられます。

ecall: 信頼できる領域 (信頼できる) で定義され、サークルの外側で呼び出され、サークルの実装内で呼び出されます。

ocall: 信頼できない領域 (untrusted) で定義され、サークル内で呼び出され、サークルの外で実行されます。

// demo.edl
enclave {
        // Add your definition of "secret_t" here
        trusted {
                 public void get_secret([out] secret_t* secret);
        };
        untrusted {
        // This OCALL is for illustration purposes only.
        // It should not be used in a real enclave,
        // unless it is during the development phase
        // for debugging purposes.
        void dump_secret([in] const secret_t* secret);
        };
};
ログイン後にコピー

SGX のインストール

SGX は、ドライバー、PSW、SDK などを含むインストール ファイルまたはソース コードを通じてインストールできます。どちらのインストール方法でも、Linux カーネルのバージョンに対応するヘッダー ファイルをインストールする必要があります。

以上がCPU は、悪意のあるコードによるデータとプライバシーの盗難をどのようにして保護できるのでしょうか?インテル SGX の基本的な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

VSCODEに必要なコンピューター構成 VSCODEに必要なコンピューター構成 Apr 15, 2025 pm 09:48 PM

VSコードシステムの要件:オペレーティングシステム:オペレーティングシステム:Windows 10以降、MACOS 10.12以上、Linux Distributionプロセッサ:最小1.6 GHz、推奨2.0 GHz以上のメモリ:最小512 MB、推奨4 GB以上のストレージスペース:最低250 MB以上:その他の要件を推奨:安定ネットワーク接続、XORG/WAYLAND(Linux)

Linuxアーキテクチャ:5つの基本コンポーネントを発表します Linuxアーキテクチャ:5つの基本コンポーネントを発表します Apr 20, 2025 am 12:04 AM

Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

Apr 16, 2025 pm 07:39 PM

NotePadはJavaコードを直接実行することはできませんが、他のツールを使用することで実現できます。コマンドラインコンパイラ(Javac)を使用してByteCodeファイル(filename.class)を生成します。 Javaインタープリター(Java)を使用して、バイトコードを解釈し、コードを実行し、結果を出力します。

VSCODEは拡張子をインストールできません VSCODEは拡張子をインストールできません Apr 15, 2025 pm 07:18 PM

VSコード拡張機能のインストールの理由は、ネットワークの不安定性、許可不足、システム互換性の問題、VSコードバージョンが古すぎる、ウイルス対策ソフトウェアまたはファイアウォール干渉です。ネットワーク接続、許可、ログファイル、およびコードの更新、セキュリティソフトウェアの無効化、およびコードまたはコンピューターの再起動を確認することにより、問題を徐々にトラブルシューティングと解決できます。

GITの倉庫アドレスを確認する方法 GITの倉庫アドレスを確認する方法 Apr 17, 2025 pm 01:54 PM

gitリポジトリアドレスを表示するには、次の手順を実行します。1。コマンドラインを開き、リポジトリディレクトリに移動します。 2。「git remote -v」コマンドを実行します。 3.出力と対応するアドレスでリポジトリ名を表示します。

vscode端子使用チュートリアル vscode端子使用チュートリアル Apr 15, 2025 pm 10:09 PM

VSCODEビルトインターミナルは、エディター内でコマンドとスクリプトを実行して開発プロセスを簡素化できるようにする開発ツールです。 VSCODE端子の使用方法:ショートカットキー(CTRL/CMD)で端子を開きます。コマンドを入力するか、スクリプトを実行します。 Hotkeys(Ctrl Lなどの端子をクリアするなど)を使用します。作業ディレクトリ(CDコマンドなど)を変更します。高度な機能には、デバッグモード、自動コードスニペット完了、およびインタラクティブコマンド履歴が含まれます。

vscodeでコードを書く場所 vscodeでコードを書く場所 Apr 15, 2025 pm 09:54 PM

Visual Studioコード(VSCODE)でコードを作成するのはシンプルで使いやすいです。 VSCODEをインストールし、プロジェクトの作成、言語の選択、ファイルの作成、コードの書き込み、保存して実行します。 VSCODEの利点には、クロスプラットフォーム、フリーおよびオープンソース、強力な機能、リッチエクステンション、軽量で高速が含まれます。

vscodeはMacに使用できますか vscodeはMacに使用できますか Apr 15, 2025 pm 07:36 PM

VSコードはMacで利用できます。強力な拡張機能、GIT統合、ターミナル、デバッガーがあり、豊富なセットアップオプションも提供しています。ただし、特に大規模なプロジェクトまたは非常に専門的な開発の場合、コードと機能的な制限がある場合があります。

See all articles