• Intel SGX(1)——概述


    简介

    Intel SGX 是一种为满足可信计算行业的需求而开发的技术,它与ARM TrustZone 技术类似,但 SGX 是针对台式机和服务器平台的。SGX 允许用户空间代码创建私有内存区域,称为 enclave,以与相同或更高权限级别运行的其他进程隔离。在 enclave 内运行的代码与其他应用程序、操作系统、管理程序等有效隔离。

    Intel SGX 于 2015 年推出,基于 Skylake 微架构的第六代英特尔酷睿处理器。通过执行设置了 Structured Extended Feature Leaf 标志位的 CPUID 指令,并检查 EBX 寄存器的第二位是否设置来确认是否支持 SGX 功能。

    为了能够使用 SGX,它必须由 BIOS 启用,只有少数 BIOS 真正支持该技术,这是它没有被广泛使用的原因之一。

    概览

    Intel SGX的实现可以总结为几点:

    • 应用程序分为两部分:安全部分和非安全部分
    • 应用程序启动 enclave,它被放置在受保护的内存中
    • 当 enclave 函数被调用时,只有 enclave 内的代码可以看到它的数据,外部访问总是被拒绝;当它返回时,enclave 数据保留在受保护的内存中

    安全执行环境是宿主进程的一部分,这意味着:

    • 应用程序包含自己的代码、数据和 enclave
    • enclave 也包含自己的代码和自己的数据
    • SGX 保护 enclave 代码和数据的机密性和完整性
    • enclave 入口点是在编译期间预定义的
    • 支持多线程(但正确实施并非易事)
    • enclave 可以访问其应用程序的内存,但反过来不行

    指令集

    Intel SGX 定义了 18 条新指令:13 条由特权级别使用,5 条由用户级别使用。所有这些指令都在微代码中实现。

    数据结构

    Intel SGX 还定义了 13 个新的数据结构:8 个用于 enclave 管理,3 个用于内存页管理,2 个用于资源管理。

    SGX Enclave Control Structure (SECS)
    Thread Control Structure (TCS)
    State Save Area (SSA)
    Page Information (PAGEINFO)
    Security Information (SECINFO)
    Paging Crypto MetaData (PCMD)
    Version Array (VA)
    Enclave Page Cache Map (EPCM)
    Enclave Signature Structure (SIGSTRUCT)
    EINIT Token Structure (EINITTOKEN)
    Report (REPORT)
    Report Target Info (TARGETINFO)
    Key Request (KEYREQUEST)

     

     

  • 相关阅读:
    2.SpringBoot之返回json数据
    1.SpringBoot之Helloword 快速搭建一个web项目
    Jquery获取radio单选按钮的value与后面的文字
    JS点击事件的重叠处理(多个点击事件出现冲突)
    table中的td等长(不随内容大小变化)
    使用ocupload和POI一键上传Excel并解析导入数据库
    将博客搬至CSDN
    【解决方案】SSL证书报错:X509_check_private_key:key values mismatch
    如何设置开机自动重启脚本
    [Linux命令] Top命令详解
  • 原文地址:https://www.cnblogs.com/caidi/p/15464436.html
Copyright © 2020-2023  润新知