TPM 칩의 진정한 난수 생성기 성능 평가와 보안 함의

본 논문은 최신 마더보드에 탑재되는 TPM(Trusted Platform Module) 칩의 진정 난수 생성기(TRNG)를 다중 칩에 대해 품질과 출력 속도를 동시에 벤치마킹한다. NIST SP 800‑22, Dieharder, TestU01와 같은 표준 통계 테스트와 초당 비트 수 측정을 결합해, 제조사별 엔트로피 소스 활용 차이와 설계상의 변동이 난수

TPM 칩의 진정한 난수 생성기 성능 평가와 보안 함의

초록

본 논문은 최신 마더보드에 탑재되는 TPM(Trusted Platform Module) 칩의 진정 난수 생성기(TRNG)를 다중 칩에 대해 품질과 출력 속도를 동시에 벤치마킹한다. NIST SP 800‑22, Dieharder, TestU01와 같은 표준 통계 테스트와 초당 비트 수 측정을 결합해, 제조사별 엔트로피 소스 활용 차이와 설계상의 변동이 난수 품질에 미치는 영향을 규명한다. 결과는 대부분의 TPM이 통계적 기준을 만족하지만, 특정 모델은 출력 속도와 엔트로피 수집 전략에서 제한을 보이며, 보안 응용 시 설계 검증 필요성을 강조한다.

상세 요약

논문은 먼저 TPM 사양서에서 정의된 TRNG 구조를 상세히 해석한다. TPM은 내부 상태 머신에 비예측성 데이터를 주입하고, 이를 단방향 해시(보통 SHA‑1 또는 SHA‑256)와 결합해 최종 난수를 생성한다. 엔트로피 소스는 칩 내부의 클럭 지터, 열 잡음, 전압 변동 등 물리적 현상을 활용하며, 제조사마다 수집 회로와 필터링 알고리즘이 다르게 구현된다. 연구팀은 대표적인 4가지 TPM 모델(Infineon SLB 9670, STMicroelectronics TPM 2.0, Intel fTPM, AMD PSP)을 선정하고, 동일한 테스트 환경(PCIe 3.0 슬롯, Windows 10 64‑bit, OpenSSL 1.1.1 기반 API)에서 난수 시퀀스를 추출했다.

품질 평가는 NIST SP 800‑22(15개 테스트), Dieharder(28개 테스트), 그리고 TestU01 Rabbit/Crush/BigCrush(총 106개 테스트)를 적용했으며, 각 테스트는 1 GB 이상의 데이터에 대해 0.01 수준의 p‑값 임계값을 사용했다. 결과는 대부분의 모델이 전체 테스트에서 합격했지만, Infineon 모델은 Dieharder의 “rgb_bitdist”와 “rgb_lagged_sum”에서 경계값에 근접했으며, Intel fTPM은 “sts_monobit”와 “sts_runs”에서 약간의 편향을 보였다. 이러한 차이는 엔트로피 수집 주기와 내부 버퍼 크기의 차이에서 기인한다는 저자들의 해석이 설득력을 얻는다.

속도 측정은 1 초당 생성 가능한 비트 수(bit/s)를 측정하는 방식으로, 각 TPM에 대해 10 회 반복 측정 후 평균값을 산출했다. Infineon은 최대 120 Mbps, ST는 95 Mbps, Intel fTPM은 78 Mbps, AMD PSP는 65 Mbps를 기록했다. 여기서 주목할 점은 고속 출력이 반드시 높은 엔트로피 품질과 직결되지 않으며, 특히 AMD PSP는 낮은 속도에도 불구하고 통계 테스트에서는 가장 안정적인 결과를 보였다.

논문은 또한 TPM 내부 펌웨어 업데이트와 온도 변화에 따른 엔트로피 변동을 실험했다. 0 °C~70 °C 구간에서 출력 품질은 크게 변하지 않았지만, 펌웨어 버전 2.1에서 2.2로 업그레이드된 Infineon 모델은 엔트로피 수집 회로의 보정 파라미터가 변경되어 Dieharder 테스트 합격률이 5 % 상승했다. 이는 제조사가 펌웨어 레벨에서 엔트로피 관리 로직을 조정할 수 있음을 시사한다.

결론적으로, TPM TRNG은 대부분의 상용 암호 애플리케이션에 충분한 품질을 제공하지만, 특정 모델은 속도와 엔트로피 수집 전략에서 제한이 존재한다. 보안 설계자는 TPM 선택 시 단순히 “TPM 2.0 인증”만을 기준으로 삼지 말고, 실제 난수 품질 테스트와 출력 속도 요구사항을 검증해야 한다. 또한, 펌웨어 업데이트와 환경 변화에 대한 지속적인 모니터링이 필요함을 강조한다.


📜 논문 원문 (영문)

🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...