이 콘텐츠는 2025년 1월에 마지막으로 업데이트되었으며 작성 당시의 상황을 나타냅니다. Google이 지속적으로 고객 보호를 개선함에 따라 Google의 보안 정책 및 시스템은 향후 변경될 수 있습니다.
Titan 칩은 Google Cloud 데이터 센터의 플랫폼에 대한 신뢰할 수 있는 하드웨어 루트를 설정하기 위해 빌드된 칩입니다. Titan 칩은 서버, 네트워크 인프라, 기타 데이터 센터 주변기기와 같은 플랫폼에 배포되는 저전력 마이크로컨트롤러입니다.
Titan 칩은 Titanium 하드웨어 보안 아키텍처의 중요한 구성요소로, 물리적 공격 및 사용자 데이터 위협으로부터 보호하는 데 도움이 되는 기본 보안 계층을 제공합니다. Titan 칩을 사용하면 Google에서 플랫폼 펌웨어와 구성을 안전하게 식별하고 측정할 수 있습니다. 머신 부팅 프로세스부터 권한이 있는 소프트웨어 공격과 루트킷으로부터 보호되도록 설계되었습니다.
이 문서에서는 Titan 칩의 칩 아키텍처와 보안 이점을 설명합니다. Titan 칩은 칩이 다음과 같은 이점을 제공할 수 있는 최소 신뢰할 수 있는 컴퓨팅 기반(TCB)을 지원합니다.
- 머신의 강력한 ID를 생성하는 신뢰할 수 있는 하드웨어 루트
- 부팅 및 업데이트 시 플랫폼 펌웨어 무결성 확인
- Google의 머신 사용자 인증 정보 관리 시스템을 지원하는 원격 사용자 인증 정보 봉인 흐름
Titan 칩 제품군
최초의 Titan 칩은 2014년에 설계되었습니다. 이후 세대에는 제조, 통합, 배포 프로세스를 반복하는 과정에서 얻은 경험이 통합되었습니다. Google이 Titan 칩에 대한 지식을 오픈소스 하드웨어 보안 커뮤니티에 제공한 방법에 대한 자세한 내용은 opentitan.org를 참조하세요.
Titan 칩에는 다음 구성요소가 포함되어 있습니다.
- 보안 프로세서
- AES 및 SHA 암호화 코프로세서
- 하드웨어 난수 생성기
- 정교한 키 계층 구조
- 삽입된 정적 RAM(SRAM), 플래시, ROM
Titan 제조 ID
Titan 칩 제조 프로세스에서 Titan 칩마다 고유한 키 자료를 생성합니다. 이 키 자료는 인증을 받고 보증 레코드를 생성하는 데 사용됩니다. 이러한 보증 레코드는 레지스트리 데이터베이스 하나 이상에 저장되며 에어갭 적용과 다자간 컨트롤을 통해 암호화로 보호됩니다.
Titan 지원 플랫폼이 Google 프로덕션 네트워크에 통합되면 백엔드 시스템에서 이러한 플랫폼에 정품 Titan 칩이 장착되어 있는지 확인할 수 있습니다. 정품 Titan 칩은 Titan 제조 프로세스에서 등록 및 인증된 키로 프로비저닝됩니다. 서비스에서 Titan ID 시스템을 사용하는 방법에 대한 자세한 내용은 사용자 인증 정보 봉인 프로세스를 참조하세요.
최신 세대 Titan 칩 ID는 기기 식별자 구성 엔진(DICE)과 같은 업계 표준에 따라 생성되고 인증됩니다. 원래 Titan 칩은 관련 업계 표준이 도입되기 전에 제조되었으므로 커스텀 Google 설계를 통해 인증되었습니다. Google은 안전한 하드웨어 제조 및 배포 경험을 바탕으로 계속해서 표준 프로세스에 참여하고 있으며 DICE, 신뢰 플랫폼 모듈(TPM), 보안 프로토콜 및 데이터 모드(SPDM)와 같은 최신 표준에는 Google의 경험이 반영된 변경사항이 포함되어 있습니다.
Titan 통합
Titan 칩이 플랫폼에 통합되면 애플리케이션 프로세서(AP)에 보안 보호 기능이 제공됩니다. 예를 들어 Titan은 워크로드를 실행하는 CPU, 베이스보드 관리 컨트롤러(BMC) 또는 워크로드용 가속기(예: 머신러닝)와 페어링될 수 있습니다.
Titan은 직렬 주변기기 인터페이스(SPI) 버스를 사용하여 AP와 통신합니다. Titan은 AP와 AP의 부팅 펌웨어 플래시 칩 사이에 개입하므로 Titan에서 펌웨어가 부팅 시 실행되기 전에 Titan이 해당 펌웨어의 모든 바이트를 읽고 측정할 수 있습니다.
Titan 지원 플랫폼 전원이 켜지면 다음 단계가 진행됩니다.
- Titan은 Titan 내부 애플리케이션 프로세서가 삽입된 읽기 전용 메모리에서 변경 불가능한 코드(부팅 ROM)를 실행하는 동안에 CPU를 재설정 모드로 유지합니다.
- Titan은 기본 제공 자동 테스트를 실행하여 ROM을 포함한 모든 메모리가 조작되지 않았는지 확인합니다.
- Titan 부팅 ROM은 공개 키 암호화를 사용하여 Titan 펌웨어를 확인하고 확인된 펌웨어의 ID를 Titan 키 계층 구조에 혼합합니다.
- Titan 부팅 ROM은 Titan의 확인된 펌웨어를 로드합니다.
- Titan 펌웨어는 공개 키 암호화를 사용하여 AP의 부팅 펌웨어 플래시 콘텐츠를 확인합니다. Titan은 인증 절차가 완료될 때까지 AP의 부팅 펌웨어 플래시 액세스를 차단합니다.
- 확인 후 Titan 칩은 AP를 재설정 모드에서 해제하여 AP가 부팅되도록 합니다.
- AP 펌웨어는 추가 구성을 수행하며 이 구성에는 추가 부팅 이미지 실행이 포함될 수 있습니다. AP는 이러한 부팅 이미지의 측정값을 캡처하고 안전한 모니터링할 수 있도록 측정값을 Titan으로 전송할 수 있습니다.
Google이 시작 주기 중에 실행되는 첫 번째 명령어를 통해 머신에서 부팅된 부팅 펌웨어와 OS를 식별할 수 있으므로 이러한 단계는 첫 번째 명령어 무결성을 달성합니다. 마이크로코드 업데이트를 수락하는 CPU가 있는 AP의 경우 Google은 부팅 프로세스를 통해 부팅 펌웨어의 첫 번째 명령어 전에 가져온 마이크로코드 패치를 알 수 있습니다. 자세한 내용은 측정된 부팅 프로세스를 참조하세요.
이 흐름은 TPM이 장착된 플랫폼에서 수행되는 부팅 프로세스와 유사합니다. 그러나 Titan 칩에는 다음 섹션의 설명처럼 Titan 내부 펌웨어 자동 증명 또는 AP 펌웨어 업그레이드 보안과 같은 표준 TPM에서 일반적으로 사용할 수 없는 기능이 포함되어 있습니다.
표준 TPM 통합은 물리적 인터포저 공격에 취약할 수 있습니다. Google의 최신 Titan 통합은 통합된 신뢰할 수 있는 루트를 사용하여 이러한 공격을 완화합니다. 자세한 내용은 TPM 전송 보안: DICE를 사용하여 활성 인터포저 무력화(YouTube)를 참조하세요.
안전한 Titan 펌웨어 업그레이드
Titan 칩 펌웨어는 쿼럼 기반 제어로 보호되는 오프라인 HSM에 보관된 키로 서명됩니다. Titan 부팅 ROM은 칩이 부팅될 때마다 Titan 펌웨어 서명을 확인합니다.
Titan 펌웨어는 이미지의 보안 상태를 전달하는 보안 버전 번호(SVN)로 서명됩니다. 펌웨어 이미지에 취약점 수정사항이 포함되어 있으면 이미지의 SVN이 증가합니다. Titan 하드웨어를 사용하면 이전 펌웨어에 취약점이 있더라도 프로덕션 네트워크에서 Titan 펌웨어의 SVN을 강력하게 증명할 수 있습니다. Google은 업그레이드 프로세스를 통해 이러한 취약점이 Titan 자체 펌웨어에 영향을 미치더라도 취약점을 대규모로 복구할 수 있습니다. 자세한 내용은 신뢰할 수 있는 루트 펌웨어 취약점 복구를 참조하세요.
Google은 최신 버전의 TPM 라이브러리 사양에 기여했으며 이제 이 사양에는 다른 TPM에서 유사한 자동 증명 보장을 제공할 수 있는 기능이 포함되어 있습니다. 자세한 내용은 TPM 아키텍처 사양 버전 1.83의 TPM 펌웨어 제한 및 SVN 제한 객체 섹션(PDF)을 참조하세요. 이러한 TPM 기능은 최신 Titan 칩에 구현 및 배포되었습니다.
안전한 AP 펌웨어 업그레이드
Google은 Titan 펌웨어 외에도 AP에서 실행되는 펌웨어도 암호화 서명합니다. Titan은 플랫폼 부팅 프로세스의 일부로 이 서명을 확인합니다. 또한 AP 펌웨어가 업데이트될 때마다 이 서명을 확인하므로 AP의 부팅 펌웨어 플래시 칩에 인증된 AP 펌웨어 이미지만 쓸 수 있습니다. 이 확인 프로세스는 영구 백도어를 설치하거나 플랫폼을 부팅할 수 없게 렌더링하는 공격을 완화합니다. 서명 확인은 CPU 자체 마이크로코드 인증 메커니즘에 취약점이 있는 경우 Google 플랫폼 심층 방어를 제공합니다.
다음 단계
부팅 무결성 프로세스 자세히 알아보기