Windows에서 신뢰할 수 있는 플랫폼 모듈을 사용하는 방법

Windows 운영 체제는 하드웨어 기반 보안을 여러 기능 내부에 더 깊이 배치하여 플랫폼 보안을 극대화하면서 유용성을 높입니다. 이러한 많은 보안 향상을 달성하기 위해 Windows는 TPM(신뢰할 수 있는 플랫폼 모듈)을 광범위하게 사용합니다. 이 문서에서는 TPM에 대한 개요를 제공하고, 작동 방식을 설명하고, TPM이 Windows에 제공하는 이점과 TPM이 있는 디바이스에서 Windows를 실행하는 누적 보안 영향에 대해 설명합니다.

TPM 개요

TPM는 컴퓨터 보안 및 개인 정보 보호를 강화하는 암호화 모듈입니다. 암호화 및 암호 해독을 통한 데이터 보호, 인증 자격 증명 보호, 시스템에서 실행 중인 소프트웨어 입증 등은 컴퓨터 보안과 관련된 기본 기능입니다. TPM은 이러한 모든 시나리오와 그 외 시나리오에서 도움이 됩니다.

지금까지 TM은 컴퓨터의 마더보드에 납땜된 불연속 칩입니다. 이러한 구현을 통해 컴퓨터의 OEM(원래 장비 제조업체)은 시스템의 나머지 부분과 별도로 TPM을 평가하고 인증할 수 있습니다. 이렇게 TPM을 개별로 구현하는 방식은 여전히 일반적이지만 전력 소비가 적거나 낮은 통합 장치에는 문제가 될 수 있습니다. 몇몇 최신 TPM 구현 방식은 TPM 기능을 다른 플랫폼 구성 요소와 동일한 칩셋에 통합하면서도 개별 TPM 칩을 사용하는 것처럼 논리적인 분리 구조를 제공합니다.

TPM은 수동적임: TPM은 명령을 수신하고 응답을 반환합니다. TPM의 모든 이점을 이용하려면 OEM은 TPM에게 명령을 보내 TPM 반응에 응답하도록 시스템 하드웨어 및 펌웨어를 TPM과 신중하게 통합해야 합니다. TPM은 원래 플랫폼 소유자와 사용자에게 보안 및 개인 정보 혜택을 제공하도록 설계되었지만 최신 버전은 시스템 하드웨어 자체에 보안 및 개인 정보 혜택을 제공할 수 있습니다. 그러나 TPM을 고급 시나리오에 사용하려면 프로비전이 필요합니다. Windows는 TPM을 자동으로 프로비전하지만 운영 체제가 다시 설치되면 TPM을 명시적으로 다시 프로비전해야 TPM의 모든 기능을 사용할 수 있습니다.

TCG(신뢰할 수 있는 컴퓨팅 그룹)는 TPM 사양을 게시하고 유지 관리하는 비영리 조직입니다. TCG의 목적은 상호 운용되는 신뢰할 수 있는 컴퓨팅 플랫폼의 하드웨어 기반 신뢰 루트를 지원하는, 공급업체 중립의 글로벌 산업 표준을 정의하고 개발하여 홍보하는 것입니다. 또한 TCG는 JTC 1(합동 기술 위원회 1)이 ISO(국제 표준화 기구)와 IEC(국제 전자기술 위원회)와 함께 정의한 PAS(공개 활용 표준, Publicly Available Specification) 사양 제출 과정을 통해 TPM 사양을 국제 표준 ISO/IEC 11889로 발표했습니다.

OEM은 PC, 태블릿 또는 휴대폰과 같은 신뢰할 수 있는 컴퓨팅 플랫폼에서 TPM을 구성 요소로 구현하고 있습니다. 신뢰할 수 있는 컴퓨팅 플랫폼은 TPM을 사용하여 소프트웨어만으로는 달성할 수 없는 개인 정보 및 보안 시나리오를 지원합니다. 예를 들어 소프트웨어만으로는 시스템 시작 프로세스 중에 맬웨어가 있는지 여부를 안정적으로 보고할 수 없습니다. TPM과 플랫폼을 긴밀히 통합하면 장치를 실행하는 소프트웨어가 안정적으로 상태를 측정하여 보고하기 때문에 시작 프로세스의 투명성이 높아지고 장치 상태를 정확하게 평가합니다. 신뢰할 수 있는 컴퓨팅 플랫폼의 일부로 TPM을 구현하면 신뢰할 수 있는 방식으로 동작하는 트러스트의 하드웨어 루트가 제공됩니다. 예를 들어 TPM에 저장된 키에 키 내보내기를 허용하지 않는 속성이 있는 경우 해당 키는 실제로 TPM을 떠날 수 없습니다.

TCG는 TPM을 다양한 고객층의 요구 사항을 해결하는, 대량 판매용 저가 보안 솔루션으로 설계했습니다. 하지만 고객층이 다양하고 분야마다 규제 요구 사항이 다양한 것처럼 구현하는 TPM마다 보안 속성이 다릅니다. 예를 들어 공공 부문 조달에서 일부 정부는 TPM에 대한 보안 요구 사항을 명확하게 정의한 반면, 다른 정부는 정의하지 않습니다.

혁신 속도가 증가함에 따라 TPM 및 기술에 대한 인증 프로그램은 일반적으로 계속 발전하고 있습니다. TPM을 보유하는 것이 TPM이 없는 것보다 분명히 낫지만, Microsoft의 가장 좋은 조언은 organization 보안 요구 사항을 결정하고 업계 조달과 관련된 규제 요구 사항을 조사하는 것입니다. 그에 따라 사용 시나리오와 보증 수준, 비용, 편의성 및 가용성 간에 균형을 도모할 수 있습니다.

Windows의 TPM

Windows의 보안 기능과 TPM의 이점은 실질적인 보안 및 개인 정보 혜택을 제공합니다. 다음 섹션에서는 Windows의 주요 TPM 관련 보안 기능으로 시작하고 주요 기술이 TPM을 사용하여 보안을 활성화하거나 강화하는 방법을 설명합니다.

플랫폼 암호화 공급자

Windows에는 암호화 API: 차세대(CNG)라는 암호화 프레임워크가 포함되어 있는데, 이는 공통 응용 프로그램 프로그래밍 인터페이스(API)를 사용하면서도 다양한 방법으로 암호화 알고리즘을 구현할 수 있게 해주는 기본적인 접근 방식입니다. 암호화를 사용하는 응용 프로그램은 알고리즘 자체보다 알고리즘의 구현 방법을 세부적으로 덜 알더라도 공통 API를 사용할 수 있습니다.

CNG는 평범한 시작 지점으로 보이지만, TPM이 제공하는 이점들을 일부 보여줍니다. CNG 인터페이스에서 Windows 또는 제3자가 소프트웨어 라이브러리 단독형이나 소프트웨어와 가용 시스템 하드웨어나 타사 하드웨어를 조합한 형태로 구현된 암호화 공급자(즉, 알고리즘 구현)를 제공합니다. 하드웨어를 통해 구현된 경우, 암호 공급자는 CNG의 소프트웨어 인터페이스 뒤에서 하드웨어와 통신을 합니다.

Windows 8 도입된 플랫폼 암호화 공급자는 소프트웨어 전용 CNG 공급자가 제공할 수 없거나 효과적으로 제공할 수 없는 다음과 같은 특수 TPM 속성을 노출합니다.

  • 키 보호. 플랫폼 암호화 공급자는 용도를 제한하여 TPM에 키를 만들 수 있습니다. 운영 체제는 맬웨어에 취약한 시스템 메모리에 키를 복사하지 않고 TPM에서 키를 로드하고 사용할 수 있습니다. 플랫폼 암호화 공급자는 TPM이 이동식으로 사용할 수 없도록 보호하는 키를 구성할 수도 있습니다. TPM이 키를 만드는 경우에는 키가 고유한 값을 가지며 해당 TPM에만 상주합니다. TPM이 키를 가져오는 경우 플랫폼 암호화 공급자는 해당 TPM에서 키를 사용할 수 있지만 해당 TPM은 키의 복사본을 더 많이 만들거나 다른 곳에서 복사본을 사용하도록 설정하는 원본이 아닙니다. 이와 대조적으로 키 복사를 막는 소프트웨어 솔루션은 리버스 엔지니어링 공격에 취약합니다. 솔루션이 메모리에서 사용 중에 키를 저장하거나 키 복사본을 만드는 방법을 누군가 알아낼 수 있기 때문입니다.

  • 사전 공격 보호. TPM이 보호하는 키는 PIN 같은 인증 값이 필요할 수 있습니다. 사전 공격 차단을 통해 TPM은 PIN을 알아내기 위해 수 차례 추측을 시도하는 공격을 차단할 수 있습니다. 추측 시도가 너무 많으면 TPM은 일정 기간 동안 더 이상의 추측을 허용하지 않는다는 오류 메시지를 내보냅니다. 소프트웨어 솔루션은 비슷한 기능을 제공할 수 있지만, 특히 시스템이 다시 시작되거나, 시스템 클록이 변경되거나, 실패한 추측을 계산하는 하드 디스크의 파일이 롤백되는 경우 동일한 수준의 보호를 제공할 수 없습니다. 또한 사전 공격 차단을 통해 PIN 같은 인증 값을 더 짧게 하여 쉽게 기억할 있도록 하면서도 소프트웨어 솔루션에서 복잡한 값을 사용할 때와 같은 수준의 보호를 제공할 수 있습니다.

이러한 TPM 기능은 플랫폼 암호화 공급자에게 소프트웨어 기반 솔루션과는 다른 이점을 제공합니다. 실제로 이러한 이점을 확인할 수 있는 실용적인 방법은 Windows 디바이스에서 인증서를 사용하는 경우입니다. TPM을 포함하는 플랫폼에서 Windows는 플랫폼 암호화 공급자를 사용하여 인증서 저장소를 제공할 수 있습니다. 인증서 템플릿은 TPM이 플랫폼 암호화 공급자를 사용하여 인증서와 연결된 키를 보호하도록 지정할 수 있습니다. 일부 컴퓨터에 TPM이 없을 수 있는 혼합 환경에서 인증서 템플릿은 표준 Windows 소프트웨어 공급자보다 플랫폼 암호화 공급자를 선호할 수 있습니다. 인증서를 내보낼 수 없도록 구성된 경우 인증서의 프라이빗 키가 제한되며 TPM에서 내보낼 수 없습니다. 인증서에 PIN이 필요한 경우 PIN은 TPM의 사전 공격 보호를 자동으로 얻습니다.

가상 스마트 카드

Warning

비즈니스용 Windows Hello 및 FIDO2 보안 키는 Windows용 최신 2단계 인증 방법입니다. 가상 스마트 카드를 사용하는 고객은 비즈니스용 Windows Hello 또는 FIDO2로 이동하는 것이 좋습니다. 새 Windows 설치의 경우 비즈니스용 Windows Hello 또는 FIDO2 보안 키를 사용하는 것이 좋습니다.

스마트 카드는 일반적으로 단일 인증서와 해당 프라이빗 키를 저장하는 물리적 디바이스입니다. 사용자는 내장형 또는 USB 카드 판독기에 스마트 카드를 삽입하고 PIN을 입력해서 잠금을 해제합니다. 그런 다음 Windows는 카드 인증서에 액세스하고 인증에 프라이빗 키를 사용하거나 BitLocker로 보호된 데이터 볼륨의 잠금을 해제할 수 있습니다. 스마트 카드는 사용자가 가지고 있는 것(스마트 카드)과 사용자가 알고 있는 것(스마트 카드 PIN) 모두에 대한 2단계 인증을 제공한다는 점에서 인기가 높습니다. 그러나 스마트 카드는 스마트 카드와 스마트 카드 판독기의 구매 및 배포가 필요하기 때문에 비용이 많이 들 수 있습니다.

Windows에서 가상 스마트 카드 기능은 TPM이 영구적으로 삽입된 스마트 카드처럼 작동하도록 해줍니다. TPM은 사용자가 가지고 있지만 여전히 PIN이 필요한 항목이 됩니다. 실제 스마트 카드는 카드 잠그고 재설정을 요구하기 전에 PIN 시도 횟수를 제한하지만, 가상 스마트 카드 TPM의 사전 공격 보호에 의존하여 PIN 추측을 너무 많이 방지합니다.

TPM 기반 가상 스마트 카드의 경우 TPM은 인증서 프라이빗 키의 사용 및 스토리지를 보호하므로 다른 곳에서 사용 중이거나 저장 및 사용될 때 복사할 수 없습니다. 별도의 물리적 스마트 카드 아닌 시스템의 일부인 구성 요소를 사용하면 총 소유 비용을 줄일 수 있습니다. 홈 시나리오에 남아 있는 손실된 카드 또는 카드 적용할 수 없으며 스마트 카드 기반 다단계 인증의 이점은 유지됩니다. 가상 스마트 카드는 잠금 해제를 위해 PIN만 요청하는 등 사용이 간단합니다. 가상 스마트 카드는 Windows 로그인이나 리소스 액세스 인증 같이 물리적 스마트 카드가 지원하는 것과 똑같은 용도를 지원합니다.

비즈니스용 Windows Hello

비즈니스용 Windows Hello는 기억이 어렵고 쉽게 공격에 노출될 수 있는 암호를 대체할 수 있는 인증 방법을 제공하고 있습니다. 또한 인증을 위한 사용자 이름/암호 솔루션은 종종 여러 디바이스 및 서비스에서 동일한 자격 증명 조합을 다시 사용합니다. 이러한 자격 증명이 손상된 경우 여러 위치에서 손상됩니다. 비즈니스용 Windows Hello 각 디바이스에 프로비전된 정보(예: 암호화 키)를 사용자를 인증하기 위한 추가 정보와 결합합니다. TPM이 있는 시스템의 경우 TPM을 통해 키를 보호할 수 있습니다. 시스템에 TPM이 없는 경우에는 소프트웨어 기반 기법이 키를 보호합니다. 사용자가 제공하는 추가 정보는 PIN 값이나 지문 또는 얼굴 인식 같은 생체 인식 정보(시스템에 필요한 하드웨어 있는 경우)가 될 수 있습니다. 개인 정보 보호를 위해 생체 인식 정보는 프로비전된 키에 액세스하도록 프로비전된 장치에서만 사용되며, 장치 간 공유되지 않습니다.

새로운 인증 기술을 채택하기 위해서는 ID 공급자와 조직이 해당 기술을 배포하고 사용해야 합니다. 비즈니스용 Windows Hello 사용자가 기존 Microsoft 계정, Active Directory 계정, Microsoft Entra 계정 또는 빠른 ID Online V2.0 인증을 지원하는 타사 ID 공급자 서비스 또는 신뢰 당사자 서비스로 인증할 수 있습니다.

ID 공급자는 클라이언트 장치에 자격 증명을 프로비전하는 방법에 있어 유연성을 발휘합니다. 예를 들어, 조직은 TPM이 자격 증명을 보호한다는 것을 알고 있기 때문에 TPM이 포함된 장치에서만 프로비전할 것입니다. TPM과 TPM 행세를 하는 맬웨어를 구분하기 위해서는 다음과 같은 TPM 기능이 필요합니다(그림 1 참조).

  • 인증 키. TPM 제조업체는 승인 키라는 특수 키를 TPM에 만들 수 있습니다. 제조업체에서 서명한 인증 키 인증서는 인증 키가 제조업체가 만든 TPM에 있다고 말합니다. 솔루션은 인증 키가 포함된 TPM과 함께 인증서를 사용하여 TPM처럼 작동하는 맬웨어 대신 특정 TPM 제조업체의 TPM을 실제로 포함하는 시나리오를 확인할 수 있습니다.

  • 증명 ID 키입니다. 개인 정보 보호를 위해 대부분의 TPM 시나리오에서는 실제 승인 키를 직접 사용하지 않습니다. 대신에 증명 확인 키를 사용하는데, ID 인증 기관(CA)은 승인 키와 자격 증명을 사용하여 실제 TPM에 하나 이상의 증명 확인 키가 실제로 존재한다는 것을 증명합니다. ID CA는 증명 확인 키 자격 증명을 발급합니다. 보통은 하나 이상의 ID CA가 동일한 승인 키 자격 증명을 확인하여 TPM를 식별할 수 있지만, 다수의 증명 확인 키 자격 증명을 만들어서 다른 시나리오에서 공유되는 정보를 제한할 수 있습니다.

TPM 기능.그림 1: TPM 암호화 키 관리

비즈니스용 Windows Hello에서 Microsoft는 ID CA의 역할을 수행할 수 있습니다. Microsoft 서비스는 각 장치, 사용자 및 ID 공급자를 위한 증명 확인 키 자격 증명을 발급하여 개인 정보를 보호하고 ID 공급자가 비즈니스용 Windows Hello 자격 증명을 프로비전하기 앞서 장치 TPM 요구 사항을 충족하도록 도울 수 있습니다.

BitLocker 드라이브 암호화

BitLocker는 나머지 데이터를 보호하기 위해 전체 볼륨 암호화를 제공합니다. 가장 일반적인 장치 구성에서 하드 드라이브는 여러 볼륨으로 분할됩니다. 운영 체제와 사용자 데이터는 기밀 정보가 저장되는 볼륨에 상주하게 되며, 다른 볼륨에는 부팅 구성 요소, 시스템 정보, 복구 도구 같은 공개 정보가 저장되어 있습니다 (이러한 다른 볼륨은 사용자에게 표시될 필요가 없을 정도로 자주 사용되지 않습니다.) 더 많은 보호를 제공하지 않으면 운영 체제 및 사용자 데이터가 포함된 볼륨이 암호화되지 않은 경우 다른 운영 체제를 부팅하고 의도한 운영 체제의 파일 권한 적용을 쉽게 우회하여 사용자 데이터를 읽을 수 있습니다.

가장 일반적인 구성에서 BitLocker는 운영 체제 볼륨을 암호화하기 때문에 전원이 꺼진 상태에서 컴퓨터나 하드 디스크를 분실하거나 도난 당해도 볼륨의 데이터가 기밀로 유지됩니다. 컴퓨터의 전원이 켜지고 정상적으로 작동을 시작하여 Windows 로그인 프롬프트가 나타날 때 사용자가 자신의 자격 증명으로 로그인을 해야만 운영 체제가 정상적인 파일 권한을 적용합니다. 그러나 부팅 프로세스에 대한 내용이 변경되는 경우 예를 들어 다른 운영 체제가 USB 디바이스에서 부팅됩니다. 운영 체제 볼륨 및 사용자 데이터를 읽을 수 없고 액세스할 수 없습니다. TPM과 시스템 펌웨어가 협력하여 로드된 소프트웨어 및 구성 세부 정보(예: 하드 드라이브나 USB 장치에서의 부팅 수행 여부)를 포함하여 시스템이 어떻게 시작되었는지 측정하여 기록합니다. BitLocker는 TPM을 활용하여 예상된 방식으로 프로그램이 시작하는 경우에만 키를 사용할 수 있도록 허용합니다. 시스템 펌웨어와 TPM은 서로 협력하여 다음과 같은 기능을 제공할 수 있도록 설계되었습니다.

  • 측정을 위한 하드웨어 신뢰 루트입니다. TPM은 소프트웨어가 소프트웨어나 구성 정보를 측정하여 기록하라는 명령을 전송하도록 합니다. 이 정보는 해시 알고리즘을 사용해 계산할 수 있기 때문에 기본적으로 대량의 데이터가 작고 통계적으로 고유한 해시 값으로 변환됩니다. 시스템 펌웨어는 암묵적으로 신뢰할 수 있는 CRTM(Core Root of Trust for Measurement)이라는 구성 요소를 가지고 있습니다. CRTM은 무조건적으로 다음 소프트웨어 구성 요소를 해시하고 TPM에 명령을 전송하여 측정 값을 기록합니다. 시스템 펌웨어냐 운영 체제 로더냐에 관계 없이 연속 구성 요소는 실행에 앞서 로드한 소프트웨어 구성 요소를 측정하여 프로세스를 계속 진행합니다. 각 구성 요소의 측정값은 실행되기 전에 TPM으로 전송되므로 구성 요소는 TPM에서 측정값을 지울 수 없습니다. (그러나 시스템이 다시 시작될 때 측정 값이 삭제됨). 따라서 시스템 시작 프로세스의 간 단계에서 TPM은 부팅 소프트웨어 및 구성 정보에 대한 측정 값을 저장합니다. 부팅 소프트웨어 또는 구성이 변경되면 해당 단계와 이후 단계에서 TPM 측정 값이 달라집니다. 시스템 펌웨어는 무조건적으로 측정 체인을 시작하여 TPM 측정을 위한 하드웨어 기반 신뢰 루트를 제공합니다. 시작 프로세스의 일부 지점에서 로드된 모든 소프트웨어 및 구성 정보를 기록한 값이 줄어들고 측정 체인이 중지됩니다. TPM에서 측정 값이 저장된 플랫폼 구성 레지스트리가 특정 값을 가지고 있을 때만 사용할 수 있는 키를 만들 수 있습니다.

  • 부팅 측정이 정확한 경우에만 사용되는 키입니다. BitLocker는 부팅 측정 값이 예상값과 일치하는 경우에만 사용할 수 있는 키를 TPM에 만듭니다. Windows 부팅 관리자가 시스템 하드 드라이브의 운영 체제 볼륨에서 실행될 때 시작 프로세스의 해당 단계에서 예상값이 계산됩니다. 부팅 볼륨에 암호화되지 않은 상태로 저장된 Windows 부팅 관리자는 반드시 TPM 키를 사용해야 합니다. 그래야만 운영 체제 볼륨에서 메모리로 읽어온 데이터의 암호를 해독할 수 있고 암호화된 운영 체제 볼륨을 사용하여 시작 프로세스를 계속 진행할 수 있습니다. 다른 운영 체제가 부팅되거나 구성이 변경되면 TPM의 측정 값이 다르고, TPM에서 Windows 부팅 관리자가 키를 사용할 수 없으며, 운영 체제의 데이터를 암호 해독할 수 없기 때문에 시작 프로세스가 정상적으로 진행되지 않습니다. 누군가 다른 운영 체제나 다른 장치에서 시스템 부팅을 시도하면 TPM의 소프트웨어 또는 구성 측정 값이 잘못되면서 TPM이 운영 체제 볼륨의 암호를 해독하는 데 필요한 키를 사용할 수 없게 됩니다. 비상 안전을 위해 예기치 않게 측정 값이 변경된 경우, 사용자는 언제라도 BitLocker 복구 키를 사용하여 볼륨 데이터에 액세스할 수 있습니다. 조직은 AD DS(복구 키 입력 Active Directory Domain Services)를 저장하도록 BitLocker를 구성할 수 있습니다.

장치 하드웨어가 특성은 BitLocker와 BitLocker의 데이터 보호 기능에 중요합니다. 하나 고려할 것은 시스템이 로그인 화면에 있을 때 해당 장치가 공격 벡터를 제공하는지 여부입니다. 예를 들어 누군가가 하드웨어를 연결하고 메모리를 읽을 수 있도록 직접 메모리 액세스를 허용하는 포트가 Windows 디바이스에 있는 경우 공격자는 Windows 로그온 화면에서 메모리에서 운영 체제 볼륨의 암호 해독 키를 읽을 수 있습니다. 이러한 위험을 줄이려면 TPM 키가 올바른 소프트웨어 측정 값과 인증 값을 모두 요구하도록 BitLocker를 구성할 수 있습니다. 시스템 시작 프로세스가 Windows 부팅 관리자에서 중지되면 사용자에게 TPM 키에 대한 인증 값을 입력하거나 그 값과 함께 USB 장치를 삽입하라는 메시지가 표시됩니다. 이러한 프로세스는 BitLocker가 공격에 취약할 수 있는 메모리로 키를 자동 로드하는 것을 막아주지만, 바람직한 사용자 경험을 제공하지는 못합니다.

최신 하드웨어와 Windows는 함께 작동하여 포트를 통한 직접 메모리 액세스를 사용하지 않도록 설정하고 공격 벡터를 줄입니다. 그 결과, 조직은 시작 프로세스가 진행되는 동안 사용자에게 추가 인증 정보를 입력하도록 요구하지 않고도 더 많은 시스템을 배포할 수 있습니다. 올바른 하드웨어를 사용하면 부팅하는 동안 PIN 또는 USB 키를 입력하지 않고도 사용자에게 Single Sign-On 환경을 제공하는 "TPM 전용" 구성과 함께 BitLocker를 사용할 수 있습니다.

장치 암호화

장치 암호화는 BitLocker의 소비자 버전으로, 동일한 기반 기술을 사용합니다. 작동 방식은 고객이 Microsoft 계정으로 로그온하고 시스템이 최신 대기 하드웨어 요구 사항을 충족하는 경우 Windows에서 BitLocker 드라이브 암호화를 자동으로 사용하도록 설정하는 것입니다. 복구 키는 Microsoft 클라우드에 백업되고 소비자는 자신의 Microsoft 계정을 통해 이에 액세스할 수 있습니다. 최신 대기 하드웨어 요구 사항은 하드웨어가 디바이스 암호화를 배포하는 데 적합하며 간단한 소비자 환경을 위해 "TPM 전용" 구성을 사용할 수 있음을 Windows에 알립니다. 또한 최신 대기 상태 하드웨어는 측정 값이 변경될 가능성을 줄이고 고객에게 복구 키에 대한 메시지를 표시하도록 설계되었습니다.

소프트웨어 측정을 위해 장치 암호화는 소프트웨어 구성 요소 자체의 정확한 해시가 아닌 소프트웨어 구성 요소를 제공하는 인증 기관의 측정 값(OEM이나 Microsoft 같은 제조업체의 코드 서명에 따라)을 사용합니다. 이렇게 하면 결과로 나온 측정 값을 변경하지 않고도 구성 요소를 서비스할 수 있습니다. 구성 측정에 사용되는 값은 시작 중에 기록된 기타 구성 설정이 아니라 부팅 보안 정책을 기반으로 합니다. 이 값은 변경 빈도가 낮습니다. 따라서 장치 암호화를 사용자에게 친숙한 방식으로 해당 하드웨어에서 활성화하여 데이터를 보호할 수 있습니다.

계획 부팅

Windows 8에서는 Windows 운영 체제 초기화를 통해 TPM에 소프트웨어 구성 요소 및 구성 정보 체인을 기록할 수 있도록 계획 부팅을 도입했습니다. 이전 버전의 Windows에서는 Windows 부팅 관리자 구성 요소 자체에서 측정 체인이 중지되었기 때문에 TPM의 측정 값이 Windows의 시작 상태를 이해하는 데 도움이 되지 못했습니다.

Windows 부팅 프로세스는 단계적으로 진행이 되고 벤더별 하드웨어와 통신하거나 맬웨어 방지 솔루션을 구현하기 위한 타사 드라이버가 필요한 경우가 종종 있습니다. 소프트웨어에 있어 계획 부팅은 Windows 커널, 맬웨어 방지 조기 실행(ELAM) 드라이버, TPM의 부팅 드라이버를 측정해서 기록합니다. 구성 설정에 있어 계획 부팅은 맬웨어 방지 드라이버가 사용하는 서명 데이터나 Windows 보안 기능에 대한 구성 데이터(예: BitLocker의 활성화/비활성화 여부)와 같은 보안 관련 정보를 기록합니다.

계획 부팅은 TPM 측정 값에 Windows 소프트웨어 및 구성 설정의 시작 상태가 완벽하게 반영되도록 보장합니다. 보안 설정 및 기타 보호 기능이 올바르게 설정되면 이들을 신뢰하여 그 이후에 실행 중인 운영 체제의 보안을 유지할 수 있습니다. 다른 시나리오에서는 운영 체제의 시작 상태를 사용하여 실행 중인 운영 체제를 신뢰할 수 있는지 여부를 결정할 수 있습니다.

TPM 측정은 개인 정보 보호에 민감한 정보를 측정 값으로 기록하지 않도록 설계되었습니다. 계획 부팅은 하나의 추가적인 개인 정보 보호 기능으로서 Windows의 초기 시작 상태에서 측정 체인을 중지합니다. 따라서 측정 집합에 어떤 응용 프로그램이 사용 중인지, Windows가 어떻게 사용되고 있는지에 대한 세부 정보가 포함되지 않습니다. 측정 정보를 외부 엔터티와 공유하여 장치가 적절한 보안 정책을 적용하고 있으며 맬웨어로 시작되지 않았음을 보여줄 수 있습니다.

TPM은 다음과 같이 부팅 동안 TPM에 기록되는 측정 값을 사용할 수 있는 방법을 제공합니다.

  • 원격 증명. TPM은 증명 확인 키를 사용하여 TPM의 현재 측정 값에 대한 문(또는 인용)을 생성하고 암호 방식으로 서명할 수 있습니다. Windows는 다양한 시나리오에 대한 고유한 증명 ID 키를 만들어 별도의 평가자가 동일한 디바이스를 추적하기 위해 공동 작업하지 못하도록 할 수 있습니다. 인용의 추가 정보는 정보 공유를 제한하고 개인 정보를 엄격하게 보호할 수 있도록 암호 방식으로 스크램블됩니다. 장치는 원격 엔터티에 인용을 전송하여 장치 부팅과 운영 체제 초기화를 위해 어떤 소프트웨어 및 구성 설정이 사용되었는지 증명할 수 있습니다. 증명 확인 키 인증서는 실제 TPM에서 인용이 들어오도록 추가로 보장할 수 있습니다. 원격 증명은 TPM에 측정 값을 기록하고 인용을 생성하며 인용 정보를 측정 값을 평가하는 또 다른 시스템에 전송하여 장치에 신뢰를 구축하는 프로세스입니다. 그림 2는 이 프로세스를 보여줍니다.

새로운 보안 기능이 Windows에 추가되면 계획 부팅은 TPM에 기록된 측정 값에 보안 관련 구성 정보를 추가합니다. 계획 부팅은 시스템 펌웨어 및 Windows 초기화 상태를 반영하는 원격 증명 시나리오를 지원합니다.

TPM을 사용하여 부팅 소프트웨어 및 구성의 증거를 만드는 프로세스입니다.그림 2: TPM을 사용하여 부팅 소프트웨어 및 구성의 증거를 만드는 데 사용되는 프로세스

상태 증명

일부 Windows 개선 사항은 보안 솔루션이 원격 증명 시나리오를 구현하는 데 도움이 됩니다. Microsoft는 다른 제조업체의 TPM에 대한 증명 확인 키 인증서를 만들고 측정된 부팅 정보를 구문 분석하여 BitLocker의 활성화/비활성화 여부 같이 간단한 보안 어설션을 추출할 수 있도록 상태 증명 서비스를 제공합니다. 간단한 보안 어설션을 사용하여 장치 상태를 평가할 수 있습니다.

모바일 장치 관리(MDM) 솔루션은 복잡한 인용이나 세부적인 TPM 측정 값을 처리할 필요 없이 Microsoft 상태 증명 서비스(HAS)로부터 클라이언트에 대한 간단한 보안 어설션을 수신할 수 있습니다. MDM 솔루션은 비정상적인 장치를 격리하고 Microsoft Office 365 같은 클라우드 서비스에 대한 액세스를 차단하여 보안 정보를 처리할 수 있습니다.

Credential Guard

Credential Guard는 AD DS를 배포한 조직에서 Windows 자격 증명을 보호하는 데 도움이 되는 Windows의 새로운 기능입니다. 지금까지 사용자의 자격 증명(예: 로그온 암호)은 권한 부여 토큰을 생성하기 위해 해시되었습니다. 사용자는 해당 토큰을 사용하여 사용이 허용된 리소스에 액세스했습니다. 토큰 모델의 한 가지 약점은 운영 체제 커널에 액세스할 수 있는 맬웨어가 컴퓨터의 메모리를 살펴보고 현재 사용 중인 모든 액세스 토큰을 수집할 수 있다는 것입니다. 이제 공격자는 수집된 토큰을 사용하여 다른 컴퓨터에 로그인하여 더 많은 자격 증명을 수집할 수 있었습니다. 이러한 종류의 공격을 "해시 전달" 공격이라고 하며, 한 컴퓨터를 감염하여 organization 걸쳐 많은 컴퓨터를 감염시키는 맬웨어 기술입니다.

Microsoft Hyper-V VM(가상 머신)을 서로 분리하는 방식과 마찬가지로 Credential Guard는 가상화를 사용하여 운영 체제 커널이 액세스할 수 없는 메모리 영역에서 자격 증명을 해시하는 프로세스를 격리합니다. 이 격리된 메모리 영역은 부팅 프로세스 중에 초기화되고 보호되므로 더 큰 운영 체제 환경의 구성 요소가 변조할 수 없습니다. Credential Guard는 TPM을 사용하여 TPM 측정을 통해 키를 보호하기 때문에 별도의 리전이 초기화될 때 부팅 프로세스 단계에서만 키에 액세스할 수 있고 정상적인 운영 체제 커널에서는 키를 사용할 수 없습니다. Windows 커널의 로컬 보안 기관 코드는 자격 증명을 전달하고 반환되는 1회용 인증 토큰을 수신하여 격리된 메모리 영역과 상호 작용합니다.

결과 솔루션은 운영 체제 커널에서 맬웨어가 실행되더라도 실제로 권한 부여 토큰을 생성하는 격리된 메모리 영역 내의 비밀에 액세스할 수 없으므로 심층 방어를 제공합니다. 이 솔루션은 이러한 로거 캡처 암호가 실제로 일반 Windows 커널을 통과하기 때문에 키 로거 문제를 해결하지 못하지만 인증을 위한 스마트 카드와 같은 다른 솔루션과 결합하면 Credential Guard가 Windows에서 자격 증명 보호를 크게 향상시킵니다.

결론

TPM은 Windows에 하드웨어 기반 보안 이점을 추가합니다. TPM을 포함하는 하드웨어에 설치된 경우 Window는 현저하게 향상된 보안 이점을 제공합니다. 다음 표에는 TPM의 주요 기능의 주요 이점이 요약되어 있습니다.


기능 TPM이 포함된 시스템에서 사용할 때 이점
플랫폼 암호화 공급자 - 컴퓨터가 손상된 경우 인증서와 연결된 프라이빗 키를 디바이스에서 복사할 수 없습니다.
- TPM의 사전 공격 메커니즘은 인증서를 사용하도록 PIN 값을 보호합니다.
가상 스마트 카드 실제 스마트 카드 또는 카드 판독기를 배포하지 않고 실제 스마트 카드와 유사한 보안을 달성합니다.
비즈니스용 Windows Hello - 디바이스에서 프로비전된 자격 증명은 다른 곳에서는 복사할 수 없습니다.
- 자격 증명이 프로비전되기 전에 디바이스의 TPM을 확인합니다.
BitLocker 드라이브 암호화 기업은 보안 요구 사항과 다른 디바이스 하드웨어의 균형을 맞추면서 미사용 데이터를 보호하는 여러 옵션을 사용할 수 있습니다.
장치 암호화 Microsoft 계정과 올바른 하드웨어를 통해 소비자의 디바이스는 미사용 데이터 보호 기능을 원활하게 활용할 수 있습니다.
계획 부팅 하드웨어 신뢰 루트에는 원격 증명 중에 맬웨어를 검색하는 데 도움이 되는 부팅 측정값이 포함되어 있습니다.
상태 증명 MDM 솔루션은 리소스 또는 클라우드 서비스(예: Office 365)에 대한 액세스 권한을 부여하기 전에 원격 증명을 쉽게 수행하고 클라이언트 상태를 평가할 수 있습니다.
Credential Guard 한 컴퓨터에서 맬웨어에 대한 관리 권한이 있더라도 organization 추가 컴퓨터를 손상시키는 것이 훨씬 더 어려워지도록 심층 방어가 증가합니다.

앞서 언급한 기능 중 일부에는 추가 하드웨어 요구 사항(예: 가상화 지원)이 있지만 TPM은 Windows 보안의 초석입니다. Microsoft와 기타 업계 관계자들은 TPM과 관련된 글로벌 표준을 계속해서 개선하고 있으며, 이를 사용하여 고객에게 실질적인 이점을 제공하는 응용 프로그램들이 점차 증가하고 있습니다. Microsoft는 Windows IoT Core라는 IoT(사물 인터넷)용 Windows 버전에서 대부분의 TPM 기능에 대한 지원을 포함하고 있습니다. IoT 장치는 안전하지 않은 물리적 위치에 배포되고 관리를 위해 Azure IoT Hub 같은 클라우드 서비스에 연결될 수 있기 때문에 TPM을 사용하여 혁신적으로 방법으로 새롭게 떠오르는 보안 요구 사항을 충족할 수 있습니다.