TPM 기반 신뢰 호스트 환경 Ethemba: 인증·원격 측정 프레임워크
초록
Ethemba는 TPM을 활용한 신뢰 호스트 환경을 구현하기 위한 프레임워크와 시연 도구이다. 소유권 관리, AIK 인증(PCA), 원격 측정(RA) 등 핵심 TPM 기능을 Java 기반 모듈로 제공하고, 측정값·해시 관리, 암호화 유틸리티, 네트워크 통신 인터페이스 등을 포함한다.
상세 분석
Ethemba 프로젝트는 TPM(Trusted Platform Module)의 핵심 보안 기능을 응용 프로그램 수준에서 손쉽게 활용하도록 설계된 종합적인 툴킷이다. 먼저 ‘apps’ 패키지는 TPM 소유권 초기화(ClearOwnership)와 소유권 획득(TakeOwnership)을 jTpmtools를 기반으로 구현하여, TPM을 초기 상태로 복구하거나 새로운 소유자를 설정하는 과정을 자동화한다. 특히 고정 모드(/f)를 지원해 테스트 환경에서 전역 설정된 비밀번호를 재사용하도록 함으로, 개발·디버깅 효율을 높인다.
‘ManageKnownHashesList’는 IMA(Integrity Measurement Architecture) 형식의 측정 파일을 파싱해 알려진 해시 데이터베이스를 구축·관리한다. 추가·덮어쓰기·검색·삭제 기능을 제공하며, 명령줄 옵션에 따라 인터랙티브 콘솔을 띄워 사용자가 직접 엔트리를 검토할 수 있다. 이는 원격 측정(RA) 단계에서 신뢰할 수 있는 애플리케이션 목록을 검증하는 기반을 제공한다.
AIK 인증을 담당하는 PCAclient와 PCAserver는 TPM_CollateIdentityRequest와 TPM_ActivateIdentity 명령을 연계해 AIK(Attestation Identity Key)를 생성·인증한다. 클라이언트는 AIK 공개키와 EK(Endorsement Key) 인증서를 서버에 전송하고, 서버는 EK 공개키로 암호화된 세션키와 nonce를 반환한다. 클라이언트는 TPM 내부에서 nonce를 복호화해 서버에 회신함으로 AIK 소유자를 증명한다. 최종적으로 서버는 AIK 인증서를 AES‑키로 암호화해 전달하고, 클라이언트는 이를 복호화·저장한다. 이 흐름은 TPM 내부 키와 외부 인증서 간의 신뢰 경계를 명확히 하며, 중간자 공격을 방지한다.
RAclient와 RAserver는 원격 측정 프로토콜을 구현한다. 서버는 사전에 정의된 ‘KnownHashesList’를 기반으로 클라이언트가 제공한 PCR(Platform Configuration Register) 값과 측정 로그를 검증한다. 검증 성공 시 서버는 인증된 상태를 반환하고, 실패 시 상세 오류를 보고한다. 이 과정에서 ‘QuoteRetrieval’ 모듈이 TPM Quote(Nonce‑signed PCR 값)를 획득하고, ‘QuoteValidation’이 서명을 검증한다.
모듈 구조는 크게 ‘client’, ‘server’, ‘net’, ‘utils’, ‘types’ 네 영역으로 구분된다. ‘client’ 패키지는 인증·키 생성·데이터 바인딩·언바인딩 등 TPM 기능을 래핑한 클래스들을 제공하고, ‘server’ 패키지는 해당 기능을 원격 서비스 형태로 노출한다. ‘net’은 NetEntity와 NetCommand를 통해 TCP 기반 메시징을 추상화하며, 전송된 객체는 직렬화·암호화 과정을 거친다. ‘utils’는 AES 암호화, SHA‑1 해시, 바이트↔헥스 변환, 객체 직렬화·역직렬화 등 보조 기능을 제공한다. ‘types’는 측정 리스트와 알려진 해시 리스트와 같은 도메인 객체를 정의하고, 파일 입출력·검색·저장 메서드를 구현한다.
전체 설계는 Java 기반 jTSS(TPM Software Stack)를 활용해 TPM 명령어를 추상화하고, 각 모듈은 독립적인 JAR 형태로 배포 가능하도록 설계되었다. 또한, 설정 파일을 통해 기본 비밀번호·포트·IP 등을 중앙 관리함으로, 실제 운영 환경에서의 배포와 테스트를 용이하게 만든다. 보안 측면에서는 비대칭 키(EK)와 대칭 키(AES) 조합을 이용한 하이브리드 암호화를 적용해 전송 중 데이터 기밀성을 확보하고, TPM 내부 키는 외부에 노출되지 않도록 설계했다.
Ethemba는 TPM 기반 신뢰 컴퓨팅을 실험·교육·프로토타입 개발에 바로 사용할 수 있는 완전한 스택을 제공한다는 점에서 의미가 크다. 특히 AIK 인증·원격 측정 흐름을 상세히 구현하고, 측정값 관리 도구까지 포함함으로써, 연구자와 개발자가 TPM의 전반적인 보안 메커니즘을 손쉽게 체험하고 확장할 수 있는 기반을 마련한다.
댓글 및 학술 토론
Loading comments...
의견 남기기