신뢰할 수 있는 실행 테크놀로지

Trusted Execution Technology

인텔 트러스티드 이그제큐션 테크놀로지(인텔 TXT, 이전 명칭: LaGrande 테크놀로지)는 컴퓨터 하드웨어 테크놀로지입니다.주목적은 다음과 같습니다.

  • 플랫폼 및 해당 운영 체제의 신뢰성을 증명합니다.
  • 신뢰할 수 있는 환경에서 진정한 운영 체제가 시작되도록 보장하고 신뢰할 수 있는 환경으로 간주할 수 있습니다.
  • 실적이 없는 operating system에서는 이용할 수 없는 추가 보안 기능을 갖춘 신뢰할 수 있는 operating system의 프로비저닝.

인텔 TXT는 Trusted Platform Module (TPM)과 암호화 기술을 사용하여 소프트웨어 및 플랫폼컴포넌트 측정을 제공하고 시스템 소프트웨어, 로컬 및 리모트 관리 어플리케이션이 이들 측정을 사용하여 신뢰를 결정할 수 있도록 합니다.인텔 매니지먼트 엔진을 보완합니다.이 테크놀로지는 안전한 컴퓨팅을 촉진하기 위해 Trusted Computing Group(TCG)의 업계 이니셔티브를 기반으로 합니다.시스템 또는 BIOS 코드를 손상시키거나 플랫폼 구성을 수정하여 중요한 정보를 훔치는 것을 목적으로 하는 소프트웨어 기반 공격으로부터 보호합니다.

세부 사항

TCG에 의해 지정된 Trusted Platform Module(TPM; Trusted Platform Module)은 특수 레지스터(플랫폼컨피규레이션레지스터(PCR)라고 함)를 포함한 많은 보안 기능을 제공합니다.이 레지스터는 스푸핑을 방지하는 방식으로 차폐된 위치에서 다양한 측정치를 보관합니다.측정은 Secure Hashing Algorithm(SHA)을 사용한 암호화 해시로 구성됩니다.TPM v1.0 사양에서는 SHA-1 해시 알고리즘을 사용합니다.최신 TPM 버전(v2.0+)에서는 SHA-2[1][2]필요합니다.

암호화 해시 알고리즘의 바람직한 특성은 (실용적인 모든 목적을 위해) 모듈이 동일한 경우에만 두 모듈의 해시 결과(해시 다이제스트 또는 해시라고 함)가 동일한 해시 값을 생성하는 것입니다.

측정값

측정은 코드, 데이터 구조, 구성, 정보 또는 메모리에 로드할 수 있는 모든 것으로 할 수 있습니다.TCG는 측정이 완료될 때까지 코드를 실행하지 않도록 요구합니다.특정 측정 시퀀스를 보장하기 위해 시퀀스의 해시 측정은 다른 PCR에 기록되지 않고 측정을 통해 PCR을 "확장"합니다.즉, TPM은 PCR의 현재 값과 확장되는 측정값을 취합하여 해시하고 PCR의 내용을 해당 해시 결과로 바꿉니다.그 결과 PCR에서 특정 측정에 도달하는 유일한 방법은 정확히 동일한 순서로 동일한 측정을 확장하는 것이다.따라서 측정 대상 모듈이 변경된 경우 PCR 측정 결과가 달라지므로 측정된 코드, 구성, 데이터 등이 변경되었는지 여부를 쉽게 감지할 수 있습니다.PCR 확장 메커니즘은 소프트웨어 층에 대한 신뢰 체인을 확립하기 위해 중요합니다(아래 참조).

신뢰의 사슬

이 기술은 정적 신뢰 사슬과 동적 신뢰 사슬을 모두 지원합니다.스태틱 신뢰 체인은 플랫폼의 전원이 켜졌을 때(또는 플랫폼이 리셋되었을 때), 모든 PCR이 기본값으로 리셋됩니다.서버 플랫폼의 경우 첫 번째 측정은 하드웨어(프로세서)에 의해 이루어지며 칩셋 제조원이 제공하는 디지털 서명 모듈(ACM)을 측정합니다.프로세서는 서명된 모듈을 실행하기 전에 서명된 모듈의 서명과 무결성을 검증합니다.다음으로 ACM은 추가 측정을 수행할 수 있는 첫 번째 BIOS 코드 모듈을 측정합니다.

ACM 및 BIOS 코드 모듈의 측정은 PCR0까지 확장됩니다.PCR0은 신뢰의 정적 코어 루트 측정(CRTM) 및 BIOS Trusted Computing Base(TCB) 측정을 보유하고 있는 것으로 알려져 있습니다.BIOS는 PCR의 추가 컴포넌트를 다음과 같이 측정합니다.

  • PCR0 CRTM, BIOS 코드 및 호스트 플랫폼 확장[a]
  • PCR1 – 호스트 플랫폼 설정
  • PCR2옵션 ROM 코드
  • PCR3 – 옵션 ROM 구성 및 데이터
  • PCR4 – IPL(Initial Program Loader) 코드(일반적으로 마스터 부트 레코드 - MBR)
  • PCR5 – IPL 코드 설정 및 데이터(IPL 코드에서 사용)
  • PCR6 – 상태 이행 및 웨이크업 이벤트
  • PCR7 – 호스트 플랫폼 제조원 관리

다이내믹 트러스트 체인은 운영시스템이 특별한 보안 명령을 호출하면 시작됩니다.이 명령어는 다이내믹 PCR(PCR17–22)을 기본값으로 리셋하고 측정된 기동을 시작합니다.첫 번째 동적 측정은 하드웨어(프로세서)에 의해 이루어지며 디지털 서명된 다른 모듈(SINIT ACM)도 측정됩니다.이 모듈(SINIT ACM)은 칩셋 제조업체에서 제공되며 프로세서에 의해 서명과 무결성이 검증됩니다.이것은 Dynamic Root of Trust Measurement(DRTM)라고 불립니다.

다음으로 SINIT ACM은 첫 번째 운영 체제 코드 모듈(측정된 시작 환경 - MLE)을 측정합니다.MLE의 실행이 허가되기 전에 SINIT ACM은 플랫폼이 플랫폼 소유자가 설정한 Launch Control Policy(LCP) 요건을 충족하는지 확인합니다.LCP는 다음 3가지 부분으로 구성됩니다.

  1. SINIT 버전이 지정된 값보다 같거나 최신인지 확인
  2. PCR0 ~7을 기존의 정상적인 값과 비교하여 Platform Configuration(PCON; 플랫폼컨피규레이션)이 유효한지 확인합니다(플랫폼 소유자가 포함하는 PCR을 결정합니다).
  3. MLE의 측정을 알려진 정상적인 측정 목록과 비교하여 MLE가 유효한지 확인합니다.

LCP의 무결성 및 기존 측정 목록은 플랫폼의 소유자만 변경할 수 있는 보호된 비휘발성 위치에 정책의 해시 측정을 TPM에 저장함으로써 보호됩니다.

신뢰할 수 있는 OS로서의 실행

LCP가 충족되면 SINIT ACM은 특수 보안 레지스터에 대한 액세스 및 TPM Locality 2 수준 액세스를 활성화함으로써 MLE를 신뢰할 수 있는 OS로 실행할 수 있습니다.이제 MLE는 다이내믹 PCR을 추가로 측정할 수 있습니다.다이내믹 PCR에는 다음 측정이 포함됩니다.

  • PCR17 – DRTM 및 기동 제어 정책
  • PCR18 – 신뢰할 수 있는 OS 부팅 코드(MLE)
  • PCR19 – 신뢰할 수 있는 OS (OS 구성 등)
  • PCR20 – 신뢰할 수 있는 OS (OS 커널 및 기타 코드 등)
  • PCR21 – Trusted OS에서 정의
  • PCR22 – Trusted OS에 의해 정의

또, 이 테크놀로지에 의해서, operating system이 플랫폼을 초기화하는 보다 안전한 방법이 실현됩니다.통상적인 프로세서의 초기화(부트스트랩 프로세서(BSP)가 각 애플리케이션 프로세서에 기동 프로세서간 인터럽트(SIPI)를 송신해, 각 프로세서를 「실제 모드」로 기동해, 「가상 모드」로 이행해, 최종적으로 「보호 모드」로 이행하는 것을 포함한다)와는 달리, operating system은, 이러한 취약성에 의한 취약성을 회피합니다.시큐어 기동(일명, 측정 기동)을 실행합니다.이 기동에서는, 애플리케이션 프로세서는, 페이징 온으로 보호 모드로 직접 기동해, 이 [3]상태를 종료할 수 없습니다.

응용 프로그램

PCR 값은 로컬과 리모트 모두에서 사용할 수 있습니다.또한 TPM은 PCR 값(PCR 견적서)에 디지털 서명할 수 있으므로 모든 엔티티가 TPM에서 측정값이 전송되고 그에 의해 보호되는 것을 확인할 수 있으므로 원격 증명에서 조작, 손상 및 악성 소프트웨어를 탐지할 수 있습니다.또한 이러한 값을 사용하여 실행 환경(특정 BIOS 버전, OS 레벨, 구성 등)을 식별하고 이를 기존의 정상적인 값 목록과 비교하여 플랫폼을 더욱 분류할 수 있습니다.플랫폼을 평가하고 신뢰 수준을 할당하는 이 기능을 신뢰할 수 있는 컴퓨팅 풀이라고 합니다.

Trusted Compute Pool의 사용 예를 다음에 나타냅니다.

  • 격리 – 플랫폼이 실제 가동 네트워크에 접속할 것인지, 신뢰수준에 따라 격리될 것인지 또는 기동제어 정책을 통과시키지 못할 것인지를 제어할 수 있습니다.
  • 신뢰 기반 정책 – 지정된 신뢰 수준을 충족하는 플랫폼에서만 실행되도록 중요한 애플리케이션을 제한합니다.
  • 컴플라이언스 및 감사– 중요한 데이터, 개인 데이터 또는 기밀 데이터가 신뢰 요건을 충족하는 플랫폼에서만 처리되었음을 나타냅니다.

많은 서버 플랫폼에는 인텔 TXT가 있으며, TXT 기능은 HyTrust, PrivateCore, Citrix, VMware 등의 소프트웨어 벤더가 활용하고 있습니다.오픈 소스 프로젝트에서도 TXT 기능을 사용합니다.예를 들어 tbootLinux 커널 및 Xen [4][5]하이퍼바이저용 TXT 기반의 무결성 시스템을 제공합니다.

PCR7 바인딩을 탑재한 Windows 10 PC 에는,[6] 완전한 디바이스 암호화를 유효 또는 무효로 하는 기능이 있습니다.

「 」를 참조해 주세요.

메모들

  1. ^ CRTM은 프로세서에 의해 측정되며 초기 BIOS 코드는 ACM(BIOS 또는 기타 펌웨어 코드에 의해 측정됨)에 의해 측정됩니다.단, 이 코드가 측정된 후에만 측정됩니다.

레퍼런스

  1. ^ "SHA-1 Uses in TPM v1.2". Trusted Computing Group. Retrieved 2014-03-14.
  2. ^ "TPM 2.0 Library Specification FAQ". Trusted Computing Group. Retrieved 2014-03-14.
  3. ^ "Chapter 2.2: MLE Launch". Intel Trusted Execution Technology (Intel® TXT) Software Development Guide (PDF). Intel.
  4. ^ "tboot (Trusted Boot)". sourceforge.net. October 6, 2014. Retrieved November 16, 2014.
  5. ^ Joseph Cihula (February 28, 2011). "Trusted Boot: Verifying the Xen Launch" (PDF). xenproject.org. Retrieved November 16, 2014.
  6. ^ "Windows 8.1 includes seamless, automatic disk encryption—if your PC supports it". Ars Technica. Retrieved 18 October 2013.

외부 링크