펌웨어 기반 TPM (fTPM)과 함께 제공되는 PC의 수가 증가하고 있습니다 (예 : Intel NUC .
내가 이해하는 한 이러한 솔루션은 CPU 특수 명령 ( ARM TrustZone 또는 Intel SGX ). 이것은 시스템에 다른 칩이 필요하지 않기 때문에 fTPM을 더 저렴하고 간단한 솔루션으로 만듭니다.
그러나 개별 TPM 칩은 물리적 공격에 대해 어느 정도의 보호 기능을 가지고 있지만 방법은 모르겠습니다. 이것은 현재 fTPM 구현으로 가능합니다.
예를 들어 이 주제에 대한이 문서 에서 저자는 이러한 공격 형태가 고려되지 않음 :
[…] 그러나 하드웨어 또는 하드웨어 수정에 대한 물리적 액세스가 필요한 전력 분석 또는 기타 부 채널 공격은 방어하지 않습니다. .
또한이 문서에는 Intel SGX 기반 접근 방식의 여러 단점이 나열되어 있습니다. 이러한 제한 사항이 향후 개발에서 해결됩니까? PTT (Platform Trust Technology), 아마도?
아니면 내가 뭔가를 놓치고 있고, fTPM에서 생성 된 개인 키는 물리적 액세스로도 읽을 수 없습니까?
댓글
- 많은 어머니 하드웨어 TPM이있는 보드도 물리적 공격에 취약합니다. TPM 자체가 강화 된 경우 (AFAIK 대부분이 ' t) CPU와 TPM 간의 버스는 일반적으로 ' t, 따라서 공격자가 ' TPM에서 키를 추출 할 수 없더라도 CPU가 양호한 상태라고 믿고 TPM에 서명을 할 수 있습니다.
- @Gilles이 질문은 소프트웨어와 하드웨어 TPM 구현의 비교가 아니라 fTPM 구현에 대한 가능한 오프라인 공격에 대한 것입니다.
답변
모든 소프트웨어 구현은 하드웨어 구현보다 약합니다. tpm 용 실제 칩이 물리적 변조에도 견디도록 처리 된 경우 CPU는 범용 칩이며 쉽게 추적 할 수 있습니다.
댓글
- 소프트웨어 구현이 하드웨어 구현보다 반드시 약한 것은 아닙니다. 소프트웨어 및 하드웨어 모두에 잘못된 솔루션이 있습니다. fTPM 솔루션이 이러한 형태의 공격에 저항하지 않는다고 주장하는 출처가 있습니까?
- @AlexeyVesnin OP는 에뮬레이션 할 수있는 일반적인 지침이 아닌 TrustZone 및 SGX를 언급합니다. TPM 펌웨어는 간단하지만 여전히 HW 기반의 신뢰 기반을 제공합니다. 즉, fTPM은 소프트웨어에서 순수 수행되지 않습니다.
- SGX 및 여러 TZ 구현은 메모리 버스를 암호화합니다. 도청은 정보를 유도하지 않습니다. 사실, 이것은 마더 보드의 별도 칩을 통해 TPM을 구현하는 것보다 잠재적으로 더 안전합니다.
- 무슨 의미 "는 쉽게 추적 됨 "? 이것은 말이되지 않습니다. 말할 것도없이 dTPM (특히 1.2 이전 버전)은 fTPM에 영향을주지 않는 플랫폼 재설정 공격에 취약합니다.
- 하지만 CPU 내부에 저장 됩니다. 기술적으로는 칩셋에 저장되지만 (CPU는 칩셋의 특정 부분이므로) 물리적 구성 요소 자체에 저장되어 변조 방지 기능이 있습니다. PCH와 CPU 사이에서 데이터를 가로 챌 수있는 것보다 더 이상 키를 얻기 위해 추적을 모니터링 할 수 ' 할 수 없습니다. 키를 얻으려면 1) CPU를 공격하여 손상 시키거나 (글리치 등), 2) JTAG로 디버그하거나, 3) 물리적으로 디캡을 제거하고 내부의 미세한 트레이스를 얻어야합니다. dTPM의 LPC처럼 키를 운반하는 노출 된 버스가 없습니다.