개요
Intel software guard extensions는 특정 애플리케이션 코드 및 데이터를 메모리 내에 격리하는 하드웨어 기반 메모리 암호호를 제공한다. Intel SGX를 사용하는 프로세스는 자식 프로세스를 생성할때 특정한 boundary안에서만 메모리를 작동할 수 있도록 "하드웨어 적으로" 제공하게 된다. 즉 이 boundary안에서 작동하는 메모리 영역을 다른 프로세스가 침범할시 메모리 에러를 CPU가 발생시킨다. Intel SGX는 메모리의 일부분에 대한 CPU암호화를 제공한다. Enclave에서 실행되는 데이터 영역, 코드 영역은 CPU에 의해서 즉시 암호화가 되어, 운영체제나, 하이퍼바이저와 같은 다른 시스템이 Enclave내부의 데이터에 접근할 수 없도록 한다.
SGX와 같은 hardware based방식의 Isolation기법은 가장 강력한 보호 방법을 제공하지만, 기존 애플리케이션의 변경과 무시할 수 없는 성능저하를 가져온다는 단점이 있다.