메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

Trusted platform module

noriwiki


개요

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을 통해서 생성함으로써, 안전한 디스크 암호화를 수행할 수 있다.

Limitations

  1. TPM이 제공하는 소프트웨어 Attestation은 소프트웨어가 업데이트하는 경우 사용할 수 없다. 대부분의 경우에, 소프트웨어는 계속해서 업데이트가 이루어지기 때문에, 이 기능을 Pratical하게 사용하는 예시는 별로 없다.
  2. TPM은 Physical access가 가능한 경우에는 공격을 막지 못한다. 예를 들어서 공격자는 CPU와 TPM모듈 사이의 Bus를 공격함으로써 정보를 탈취할 수 있다.
  3. TPM이 제공하는 Secure booting (TXT))는 Initial platform이 안전하다는 가정으로 이루어지지만, 대부분의 경우 Initial platform은 비용절감을 위하여 ROM이 아닌 Reprogrammable ROM, Flash memory에 저장되기 때문에, platform을 다시 프로그래밍하면 무결성을 공격할 수 있다.

참고

  1. https://en.wikipedia.org/wiki/Trusted_Platform_Module