[논문 리뷰] TPM-FAIL: TPM meets Timing and Lattice Attacks
이 논문은 TPM 2.0 장치의 시간 측정 사이드 채널 취약성—특히 인텔의 펌웨어 기반 TPM과 ST마이크로일렉트로닉스의 하드웨어 TPM에서 발생하는 취약성—이 래티스 기반 암호분석을 통해 256비트 ECDSA 및 ECSchnorr 개인 키를 복구할 수 있음을 보여준다. 이 공격은 약 1,300회의 관측 후 인텔 fTPM에서 2분 이내에 성공하고, CC EAL 4+ 인증을 받은 하드웨어 TPM에서 40,000회 미만의 관측으로 키를 복구한다.
Trusted Platform Module (TPM) serves as a hardware-based root of trust that protects cryptographic keys from privileged system and physical adversaries. In this work, we perform a black-box timing analysis of TPM 2.0 devices deployed on commodity computers. Our analysis reveals that some of these devices feature secret-dependent execution times during signature generation based on elliptic curves. In particular, we discovered timing leakage on an Intel firmware-based TPM as well as a hardware TPM. We show how this information allows an attacker to apply lattice techniques to recover 256-bit private keys for ECDSA and ECSchnorr signatures. On Intel fTPM, our key recovery succeeds after about 1,300 observations and in less than two minutes. Similarly, we extract the private ECDSA key from a hardware TPM manufactured by STMicroelectronics, which is certified at Common Criteria (CC) EAL 4+, after fewer than 40,000 observations. We further highlight the impact of these vulnerabilities by demonstrating a remote attack against a StrongSwan IPsec VPN that uses a TPM to generate the digital signatures for authentication. In this attack, the remote client recovers the server's private authentication key by timing only 45,000 authentication handshakes via a network connection. The vulnerabilities we have uncovered emphasize the difficulty of correctly implementing known constant-time techniques, and show the importance of evolutionary testing and transparent evaluation of cryptographic implementations. Even certified devices that claim resistance against attacks require additional scrutiny by the community and industry, as we learn more about these attacks.
연구 동기 및 목표
- TPM 2.0 장치가 타원 곡선 서명 생성 중 비밀값에 따라 다른 시간이 소요되는지 여부를 조사하기 위해.
- TPM의 시간 측정 사이드 채널 유출에서 256비트 ECDSA 및 ECSchnorr 개인 키를 복구할 수 있는지 가능성 평가하기 위해.
- 네트워크 기반 시간 측정을 통해 원격에서 StrongSwan IPsec VPN을 공격하여 서버의 개인 키를 추출하는 실질적인 원격 키 복구 공격을 시연하기 위해.
- 암호화 하드웨어의 현재 일관된 시간 구현 방식과 인증 절차의 한계를 부각하기 위해.
제안 방법
- 일반 소비자 시스템에 구축된 TPM 2.0 장치를 대상으로 블랙박스 시간 측정 분석을 수행하여 서명 생성 중 실행 시간 변동을 측정하였다.
- ECDSA 및 ECSchnorr 서명 작업 동안 펌웨어 기반(인텔 fTPM) 및 하드웨어 기반(ST마이크로일렉트로닉스) TPM으로부터 시간 측정 데이터를 수집하였다.
- 수집된 시간 측정 데이터에 래티스 기반 암호분석 기법을 적용하여 관측된 시간 유출에서 개인 키를 복구하였다.
- 45,000회의 네트워크 기반 인증 핸드셰이크 시간 측정을 통해 StrongSwan IPsec VPN에 대한 원격 공격을 구축하여 서버의 개인 키를 추출하였다.
- 통계 모델링을 사용하여 타원 곡선 연산에서의 시간 변동과 비밀 스칼라 값 간의 상관관계를 분석하였다.
- 일관된 시간 구현과 공통 기준(CoE) 인증을 주장함에도 불구하고 시간 유출의 악용 가능성에 대한 효과성을 평가하였다.
실험 결과
연구 질문
- RQ1TPM 2.0 장치에서 ECDSA 및 ECSchnorr 서명 생성 중 시간 측정 사이드 채널 유출이 256비트 개인 키 복구에 활용될 수 있는가?
- RQ2CC EAL 4+에 인증된 하드웨어 TPM인 ST마이크로일렉트로닉스의 하드웨어 TPM은 시간 기반 키 복구 공격에 얼마나 취약한가?
- RQ3TPM 보호 시스템에서 개인 키를 추출하기 위해 시간 측정 사이드 채널을 활용하는 원격 네트워크 기반 공격은 얼마나 실용적인가?
- RQ4IPsec과 같은 광범위하게 배포된 암호 프rotocol의 보안에 대해 TPM의 시간 유출이 어떤 영향을 미치는가?
- RQ5실제 TPM 구현 환경에서 정밀도가 낮은 시간 측정 데이터에서 래티스 기반 기법이 비밀값을 효과적으로 복구할 수 있는가?
주요 결과
- 인텔의 펌웨어 기반 TPM(fTPM)는 ECDSA 및 ECSchnorr 서명 생성 중 비밀값에 따라 다른 시간이 소요되어 약 1,300회의 시간 관측 후 2분 이내에 키 복구가 가능했다.
- 공통 기준 EAL 4+에 인증된 ST마이크로일렉트로닉스 하드웨어 TPM은 40,000회 미만의 시간 관측 후에도 해킹되었으며, 이는 인증이 시간 공격에 대한 저항력을 보장하지 못함을 보여준다.
- 45,000회의 네트워크 기반 인증 핸드셰이크 시간 측정을 통해 StrongSwan IPsec VPN에 대한 원격 공격이 성공적으로 수행되어 전체 개인 키가 복구되었다.
- TPM의 일관된 시간 구현 주장에도 불구하고 공격이 성공했으며, 이는 공식적으로 검증되고 인증된 시스템에도 미세한 사이드 채널 누출이 존재할 수 있음을 시사한다.
- 래티스 기반 암호분석은 관측 수와 시간 해상도가 제한된 상태에서도 256비트 타원 곡선 개인 키를 성공적으로 복구하는 데 효과적이었다.
- 결과적으로 일관된 시간 코드를 정확히 구현하는 데 어려움이 있으며, 암호화 구현의 지속적인 커뮤니티 감시와 진화적 테스트의 필요성을 강조한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.