BIOS의 SGX란 무엇입니까?

青灯夜游
풀어 주다: 2023-01-13 00:39:13
원래의
36525명이 탐색했습니다.

BIOS에서 SGX의 전체 이름은 "Intel Software Guard Extensions"입니다. 이는 Intel Architecture(IA)의 확장으로, 하드웨어 보안을 필수 보증으로 사용하는 것을 목표로 하며 펌웨어 및 소프트웨어의 보안 상태에 의존하지 않습니다. 사용자 공간을 제공하기 위해 신뢰할 수 있는 실행 환경을 통해 소프트웨어 보안을 강화할 수 있습니다.

BIOS의 SGX란 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.

SGX 기술 정의

SGX는 이름에서 알 수 있듯이 소프트웨어 보안을 강화하기 위한 Intel Architecture(IA)의 확장입니다.

SGX 명령어 세트 확장은 펌웨어 및 소프트웨어의 보안 상태와 관계없이 하드웨어 보안을 필수 보장으로 삼고 사용자 공간에 대한 신뢰할 수 있는 실행 환경을 제공하는 것을 목표로 합니다. 이는 새로운 명령어 세트 확장 및 액세스 제어 세트를 통해 구현됩니다. 메커니즘 서로 다른 프로그램 간의 격리된 작동은 사용자의 키 코드와 데이터가 악성 코드에 의해 파괴되는 것을 방지합니다.

이 방법은 플랫폼의 모든 맬웨어를 식별하고 격리하지는 않지만, 권한이 있는 소프트웨어나 권한이 없는 소프트웨어는 엔클레이브에 액세스할 수 없도록 합법적인 소프트웨어의 보안 작업을 엔클레이브에 캡슐화합니다. 소프트웨어와 데이터가 엔클레이브에 있으면 운영 체제나 VMM(하이퍼바이저)도 엔클레이브의 코드와 데이터에 영향을 미칠 수 없습니다.

Enclave의 보안 경계에는 CPU와 자체만 포함됩니다. SGX가 생성한 엔클레이브는 Trusted Execution Environment TEE(Trusted Execution Environment)로도 이해될 수 있습니다.

그러나 TZ(TrustZone)와는 약간 다릅니다. TZ는 CPU를 통해 두 개의 격리 환경(안전한 세계와 일반 세계)으로 나뉘며, 두 환경은 SMC 명령을 통해 통신하지만, SGX에서는 하나의 CPU가 여러 개를 실행할 수 있습니다. 보안 엔클레이브는 동시에 실행될 수 있습니다.

물론 TZ 보안 세계 내에서 상호 격리된 여러 보안 서비스를 구현해도 동일한 효과를 얻을 수 있습니다.

SGX Enclave 생성

BIOS의 SGX란 무엇입니까?

Intel 프로세서의 SGX 기술을 사용하면 CPU의 하드웨어 모드 전환을 통해 시스템이 신뢰 모드 실행에 들어가고 필요한 하드웨어만 사용하여 완전히 격리된 특권 모드를 형성합니다. , 로딩 최소 마이크로커널 운영 체제는 작업 스케줄링을 지원하고, 신원 인증을 완료하며, 인증된 사용자 신원을 기반으로 합니다.

Intel SGX 기술을 사용하여 완전히 격리된 권한 모드로 Enclave를 구축하기 위한 구체적인 구현 계획은 다음과 같습니다.
(1) 실행해야 하는 가상 머신 이미지를 디스크에 로드합니다.
(2) 애플리케이션 코드 및 데이터를 암호화하기 위한 비밀 키 인증서를 생성합니다. SGX 기술은 더욱 발전된 비밀 키 암호화 방법을 제공합니다. 비밀 키는 SGX 버전 비밀 키, CPU 시스템 비밀 키 및 Intel 공식 배포 키로 구성됩니다. 비밀 키는 키 생성 알고리즘에 따라 생성된 새로운 키입니다. 이 키를 사용하여 로드해야 하는 애플리케이션의 코드와 데이터를 암호화합니다.
(3) 먼저 SGX Loader에 로드해야 하는 애플리케이션 또는 이미지의 코드와 데이터를 로드하여 Enclave에 로드할 준비를 합니다.
(4) Intel SGX 신뢰 모드에서 엔클레이브 구축을 동적으로 적용합니다.
(5) 먼저 EPC(Enclave Page Cache) 형식의 비밀 키 인증서를 통해 로드해야 하는 프로그램과 데이터를 복호화합니다.
(6) SGX 명령을 사용하여 해독된 프로그램과 데이터가 신뢰할 수 있음을 증명하고 이를 Enclave에 로드한 다음 로드된 각 EPC 콘텐츠를 Enclave에 복사합니다.
(7) 하드웨어 격리를 사용하면 엔클레이브의 기밀성과 무결성이 더욱 보장되어 서로 다른 엔클레이브가 서로 충돌하지 않고 서로 액세스할 수 없도록 보장됩니다.
(8) Enclave 초기화 프로그램을 시작하고, EPC 추가 로드 및 검증을 금지하고, Enclave ID 인증서를 생성하고, 인증서를 암호화하고, 이를 Enclave의 TCS(Thread Control Structure)에 Enclave ID로 저장하여 복원 및 검증합니다. . 신원.
(9) SGX의 격리가 완료되고, 하드웨어 격리를 통한 Enclave의 미러 프로그램이 실행되기 시작하며, SGX 기술을 기반으로 한 하드웨어 격리 구축이 완료됩니다.

SGX Enclave 시작 및 파기

Enclave 구성을 완료한 후 Enclave가 종료되거나 중단된 후 Enclave 내의 정보가 유출되는 것을 방지하기 위해 Enclave 내 애플리케이션이 시스템 문제로 인해 중단될 수 있습니다. 이러한 문제를 해결하기 위해 SGX 기술을 사용하여 동기 종료 및 비동기 종료에 대해 서로 다른 처리 방법을 설정합니다. Enclave에서 실행되는 데이터 및 코드는 이에 따라 맞춤화됩니다. EEE(엔클레이브 이벤트 종료) 설정된 처리방법에 따라 처리됩니다. 비동기식 종료의 경우 Enclave의 데이터 및 실행 상태 정보는 키 인증서로 암호화되어 Enclave 외부에 저장됩니다. 중단된 Enclave는 다음에 시스템이 시작될 때 선택적으로 복원될 수 있습니다.

SGX는 Enclave의 신뢰할 수 있는 통신 채널을 만듭니다

SGX의 경우 Enclave의 액세스 요청은 제한할 감지 메커니즘을 구축하고 먼저 Enclave 모드가 시작되었는지 여부를 확인한 다음 액세스 요청이 Enclave 내부에서 오는지 여부를 확인하고, 그렇다면 계속해서 확인하고, 그렇지 않은 경우 액세스 실패를 반환한 다음 생성합니다. 주어진 자격 증명에 따라 Enclave 앞의 신원은 액세스 요청이 동일한 Enclave에서 발생하는지 여부를 확인하는 데 사용됩니다. 그렇다면 액세스 감지가 통과되고, Enclave의 신원 자격 증명에 따라 다음 Enclave ID 자격 증명이 대체됩니다. 실행 중인 Enclave가 모두 일치할 때까지 일치를 위한 기록 테이블이 일치하지 않으면 액세스 실패가 반환됩니다.

더 많은 관련 지식을 알고 싶다면 FAQ 칼럼을 방문해주세요!

위 내용은 BIOS의 SGX란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!