由CPU保护您的数据和隐私不被恶意代码窃取的方法-创新互联

这篇文章给大家分享的是有关由CPU保护您的数据和隐私不被恶意代码窃取的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

“只有客户发展了,才有我们的生存与发展!”这是成都创新互联公司的服务宗旨!把网站当作互联网产品,产品思维更注重全局思维、需求分析和迭代思维,在网站建设中就是为了建设一个不仅审美在线,而且实用性极高的网站。创新互联对成都网站制作、成都网站建设、网站制作、网站开发、网页设计、网站优化、网络推广、探索永无止境。

英特尔 SGX 基础介绍

英特尔 SGX(Intel Software Guard Extension)是英特尔指令集架构的一个扩展。SGX 为您提供了围圈(Enclave),即内存中一个加密的可信执行区域,由 CPU 保护您的数据和隐私不被恶意代码窃取。

原理

SGX 利用新增的处理器指令,在内存中分配一部分区域 EPC(Enclave Page Cache),通过 CPU 内的加密引擎 MEE(Memory Encryption Engine)对其中的数据进行加密。EPC 中加密的内容只有进入 CPU 后才会被解密成明文。因此,在 SGX 中,您可以不信任操作系统、VMM、甚至 BIOS,只需要信任 CPU 便能确保隐私数据不会泄漏。

应用

实际应用中,您可以把隐私数据加密后以密文形式传递至云上的围圈中,并通过远程证明把对应的秘钥也传入围圈。然后在 CPU 的加密保护下利用数据进行运算,结果会以密文形式返回给您。这种模式下,您既可以利用云计算强大的计算力,又不用担心数据泄漏。

由CPU保护您的数据和隐私不被恶意代码窃取的方法

EDL(Enclave Definition Language)

EDL 是 SGX 编程的核心,其中定义了所有围圈里对外读写、处理数据的函数。在编译阶段,SDK 提供的 Edger8r 工具会根据 EDL 中定义的函数生成围圈和普通内存的桥接函数,并做相应的安全检测。

函数分为信任函数(ecall)和不可信函数(ocall):

ecall:定义在信任区域(trusted),在围圈外被调用,并在围圈内执行。

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保护您的数据和隐私不被恶意代码窃取的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!


当前名称:由CPU保护您的数据和隐私不被恶意代码窃取的方法-创新互联
本文来源:http://ybzwz.com/article/iepep.html