본문으로 건너뛰기

iPhone의 Secure Enclave란 무엇일까?

결코 내주지 않는 키를 지키는 것이 임무인, iPhone 안의 작고 독립된 컴퓨터입니다.

2 분 분량최종 검토

요약

Secure Enclave는 iPhone 5s부터 iPhone 칩에 내장된 전용 보안 하위 시스템으로, 메인 프로세서와 격리되어 있습니다. Face ID와 Touch ID 데이터, 그리고 iPhone 암호화의 바탕이 되는 키를 보호하며, 메인 운영체제가 침해되더라도 이를 안전하게 지키도록 설계되었습니다. 앱은 키를 만들고 쓰도록 요청할 수 있지만, 그 키를 꺼내 읽을 수는 없습니다.

핵심 정리

  • 자체 프로세서, 보호된 메모리, 보안 부팅을 갖췄습니다.
  • 암호 입력 시도 횟수 제한을 강제하는 데 관여합니다.
  • 앱은 그 안의 키를 쓸 수 있지만 꺼낼 수는 없습니다.

컴퓨터 안의 컴퓨터

iPhone의 메인 프로세서는 iOS와 모든 앱을 실행합니다. Secure Enclave는 그 모든 것과 떨어져 있습니다. 자체의 작은 운영체제를 실행하는 전용 프로세서이며, 메모리는 암호화되고 인증되어 칩의 나머지 부분이 읽거나 조작할 수 없습니다. Apple은 iOS 커널이 침해되더라도 민감한 데이터를 안전하게 지키도록 설계되었다고 설명합니다.

iPhone 5s 이후의 모든 iPhone, 그리고 iPad, Apple 실리콘 Mac, Apple Watch 등 다른 Apple 기기에도 들어 있습니다.

보호하는 것

  • Face ID와 Touch ID 데이터. Secure Enclave 안에서 처리되고 보호되며, 당신의 기기에 묶여 있습니다.
  • 데이터 보호의 바탕이 되는 키. iPhone 파일 암호화의 키 계층에는 제조 시 칩에 새겨지는 고유한 키가 포함되며, Apple은 이 키를 Apple도 공급업체도 이용할 수 없다고 말합니다.
  • 암호. 잠금 해제 시도는 Secure Enclave를 거칩니다. 최신 기기에서는 전용 보안 저장 구성 요소가 시도 횟수를 세고, 한도를 넘으면 보호된 데이터를 지웁니다. 예를 들어 iPhone에서는 10번입니다.

쓸 수는 있지만 볼 수는 없는 키

핵심 개념은 간단합니다. Secure Enclave에는 자체 암호화 엔진이 있고, 그 하드웨어 키는 Secure Enclave 자신의 소프트웨어조차 닿지 않는 곳에 머뭅니다. 시스템의 나머지는 암호화나 복호화를 요청하고 결과를 받을 수 있지만, 키 자체를 요청할 수는 결코 없습니다.

앱이 할 수 있는 것

앱은 Secure Enclave에 개인 키를 만들어 보관하도록 요청할 수 있습니다. 앱은 그 키를 평문으로 갖지 않습니다. 데이터를 넣고, 서명이나 암호화에 쓰는 키 교환 결과 같은 출력을 받을 뿐입니다. 앱은 키를 쓰기 전에 Face ID, Touch ID 또는 암호를 요구하게 할 수도 있습니다. Apple의 개발자 문서는 다음과 같은 제약을 밝히고 있습니다.

  • 키 종류는 하나: 서명과 키 합의에, 그리고 이를 통해 암호화에 쓰는 256비트 타원 곡선 키(NIST P-256).
  • 가져오기 불가: 키는 Secure Enclave 안에서 만들어야 합니다. 평문 키를 넣거나 꺼낼 방법은 없습니다.
  • 기기 하나: 키를 만든 Secure Enclave만 그 키를 쓸 수 있습니다.

하지 않는 것

Secure Enclave는 키를 보호할 뿐, 화면에 보이는 것을 보호하지는 않습니다. iPhone이 잠금 해제되면 앱은 평소처럼 데이터를 읽고, 잠금 해제된 휴대폰을 든 사람은 앱이 보여 주는 것을 봅니다. 또한 키가 기기를 떠나지 않으므로, 그 키로만 보호된 데이터는 새 iPhone으로 따라갈 수 없습니다. Secure Enclave에 기대는 앱에는 안전한 별도의 복원 방법이 필요합니다.

Latent가 활용하는 방식

Latent는 각 금고 키를 Secure Enclave에 보관된 키로 보호하며, 이 키는 당신의 패턴이나 암호로 잠금 해제됩니다. 앱의 파일을 휴대폰 밖으로 복사해도 얻는 것은 암호화된 데이터뿐입니다. 이 키는 iPhone을 떠날 수 없으므로, 새 iPhone에 금고를 복원할 때는 대신 9단어 복구 문구를 씁니다.

출처

  1. Apple — The Secure Enclave
  2. Apple — Protecting keys with the Secure Enclave

당신의 것은 당신만의 것으로.

자유롭게 써 보고, 자유롭게 떠나세요.