개요
Trusted platform module (TPM)은 software attestation을 위해서 도입되었다. TPM은 추가적인 chip을 메인보드에 심어서 작동한다. TPM은 암호화 알고리즘 엔진, 암호화키 생성, 해시 엔진, 난수 생성과 같은 기능을 제공하고 암호화 키 저장을 위한 비휘발성 메모리를 제공한다.
TPM은 다음과 같은 기능을 제공한다.
- 하드웨어 난수 생성
- 암호화 키 생성
- Remote attestation제공: 하드웨어와 소프트웨어 설정에 대한 해시키를 생성시킬 수 가 있기때문에, Remote의 사용자는 하드웨어나 소프트웨어의 변경이 있는지 없는지 검사할수 있다.
- 데이터 암호화
Use cases
Platform integrity
TPM은 하드웨어 그리고 소프트웨어의 무결성을 증명할 수 있다. UEFI는 TPM을 통해서 Root of trust를 획든한다. TPM은 하드웨어의 특정 부분에 Modificaton이 있는지 검출할 수 있기 떄문에, UEFI가 수정되었는지 확인할 수 있고, UEFI의 무결성을 증명할 수 있다. 그후, Trusted execution technology를 통해서 Trust chain을 형성, Computer의 하드웨어와 소프트웨어의 무결성을 증명할 수 있다.
Disk encryption
TPM을 통해서 Disk를 암호화 하기 위해서 사용된 key를 TPM을 통해서 생성함으로써, 안전한 디스크 암호화를 수행할 수 있다.