Titan 하드웨어 칩

이 콘텐츠는 2025년 1월에 마지막으로 업데이트되었으며 작성된 당시의 상황을 나타냅니다. Google이 지속적으로 고객 보호를 개선함에 따라 Google의 보안 정책 및 시스템은 향후 변경될 수 있습니다.

타이탄 칩은 Google Cloud 데이터 센터의 플랫폼에 대한 신뢰의 하드웨어 루트를 설정하는 특수 목적용 칩입니다. Titan 칩은 서버, 네트워크 인프라, 기타 데이터 센터 주변기기와 같은 플랫폼에 배포되는 저전력 마이크로컨트롤러입니다.

Titan 칩은 사용자 데이터에 대한 물리적 공격 및 위협으로부터 보호하는 데 도움이 되는 기본 보안 레이어를 제공하는 티타늄 하드웨어 보안 아키텍처의 중요한 구성요소입니다. 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 지원 플랫폼의 전원이 켜지면 다음 단계가 실행됩니다.

  1. Titan은 CPU를 재설정 모드로 유지하는 동안 Titan의 내부 애플리케이션 프로세서가 삽입된 읽기 전용 메모리에서 변경 불가능한 코드 (부팅 ROM)를 실행합니다.
  2. Titan은 내장된 자체 테스트를 실행하여 모든 메모리 (ROM 포함)가 조작되지 않았는지 확인합니다.
  3. Titan의 부팅 ROM은 공개 키 암호화를 사용하여 Titan의 펌웨어를 확인하고 확인된 펌웨어의 ID를 Titan의 키 계층 구조에 혼합합니다.
  4. Titan의 부팅 ROM은 Titan의 확인된 펌웨어를 로드합니다.
  5. 타이탄 펌웨어는 공개 키 암호화를 사용하여 AP의 부팅 펌웨어 플래시의 콘텐츠를 확인합니다. Titan은 인증 절차가 완료될 때까지 AP의 부팅 펌웨어 플래시 액세스를 차단합니다.
  6. 확인 후 Titan 칩은 AP를 재설정 상태에서 해제하여 AP가 부팅되도록 합니다.
  7. AP 펌웨어는 추가 구성을 실행하며 여기에는 추가 부팅 이미지 실행이 포함될 수 있습니다. AP는 이러한 부팅 이미지의 측정값을 캡처하고 보안 모니터링을 위해 측정값을 Titan으로 전송할 수 있습니다.

이러한 단계는 첫 번째 명령어 무결성을 달성합니다. Google이 시작 주기 중에 실행되는 첫 번째 명령어에서 머신에서 부팅된 부팅 펌웨어와 OS를 식별할 수 있기 때문입니다. 마이크로코드 업데이트를 수락하는 CPU가 있는 AP의 경우 부팅 프로세스를 통해 Google에 부팅 펌웨어의 첫 번째 명령어 전에 가져온 마이크로코드 패치도 알릴 수 있습니다. 자세한 내용은 측정된 부팅 프로세스를 참고하세요.

이 흐름은 TPM이 장착된 플랫폼에서 실행되는 부팅 프로세스와 유사합니다. 그러나 Titan 칩에는 다음 섹션에 설명된 대로 Titan의 내부 펌웨어 자체 증명 또는 AP 펌웨어 업그레이드 보안과 같이 표준 TPM에서 일반적으로 사용할 수 없는 기능이 포함되어 있습니다.

표준 TPM 통합은 물리적 인터포저 공격에 취약할 수 있습니다. Google의 최신 타이탄 통합은 통합된 신뢰 루트를 사용하여 이러한 공격을 완화합니다. 자세한 내용은 TPM 전송 보안: DICE를 사용하여 활성 인터포저 무력화 (YouTube)를 참고하세요.

안전한 Titan 펌웨어 업그레이드

Titan 칩의 펌웨어는 과반수 기반 제어로 보호되는 오프라인 HSM에 보관된 키로 서명됩니다. Titan의 부팅 ROM은 칩이 부팅될 때마다 Titan 펌웨어의 서명을 확인합니다.

Titan 펌웨어는 이미지의 보안 상태를 전달하는 보안 버전 번호 (SVN)로 서명됩니다. 펌웨어 이미지에 취약점 수정사항이 포함된 경우 이미지의 SVN이 증가합니다. Titan 하드웨어를 사용하면 이전 펌웨어에 취약점이 있더라도 프로덕션 네트워크가 Titan 펌웨어의 SVN을 강력하게 증명할 수 있습니다. 업그레이드 프로세스를 통해 이러한 취약점이 Titan 자체 펌웨어에 영향을 미치더라도 대규모로 복구할 수 있습니다. 자세한 내용은 신뢰할 수 있는 루트의 취약점 복구를 참고하세요.

Google은 최신 버전의 TPM 라이브러리 사양에 기여했으며, 이제 이 사양에는 다른 TPM이 유사한 자체 증명 보장을 제공할 수 있는 기능이 포함되어 있습니다. 자세한 내용은 TPM 아키텍처 사양 버전 1.83의 TPM 펌웨어 제한 및 SVN 제한 객체 섹션(PDF)을 참고하세요. 이러한 TPM 기능은 최신 Titan 칩에 구현 및 배포되었습니다.

AP 펌웨어 업그레이드 보안

Google은 Titan의 펌웨어 외에도 AP에서 실행되는 펌웨어에 암호화 서명을 합니다. Titan은 플랫폼 부팅 프로세스의 일부로 이 서명을 확인합니다. 또한 AP 펌웨어가 업데이트될 때마다 이 서명을 확인하여 AP의 부팅 펌웨어 플래시 칩에 유효한 AP 펌웨어 이미지만 쓸 수 있도록 합니다. 이 확인 프로세스는 영구 백도어를 설치하거나 플랫폼을 부팅할 수 없도록 만드는 공격을 완화합니다. 서명 확인은 CPU에 자체 마이크로코드 인증 메커니즘에 취약점이 있는 경우 Google 플랫폼을 위한 심층적 방어도 제공합니다.

다음 단계

부팅 무결성 프로세스에 대해 자세히 알아보세요.