본문으로 바로가기

Face ID — Secure Enclave 인증 경로

얼굴을 들이대는 순간부터 클래스 키가 언래핑되기까지 — 주시 감지, 30,000+ 도트 투사, Secure Neural Engine 매칭, 키 래핑/언래핑, 5회 실패와 강제 암호를 Apple 보안 문서 기반 22단계로 따라간다.

1 / 22Face ID 등록: 사용자가 얼굴을 여러 각도로 돌리는 동안 TrueDepth 카메라가 여러 포즈를 캡처합니다.여러 포즈의 데이터가 있어야 일상의 다양한 각도에서도 같은 얼굴로 판정할 수 있습니다.
TrueDepth 카메라AP 영역 (Application Processor)Secure Enclave (신뢰 경계)사용자얼굴 · 시선Flood Illuminator적외선 조명Dot Projector적외선 도트 30,000+적외선 카메라depth map + 2D IRApplication ProcessoriOS · 생체 원본 판독 불가서드파티 앱성공/실패만 통지받음SEPsepOS · 격리 프로세서Secure Neural Engine표현 변환 · 매칭등록 템플릿수학적 표현 · 암호화클래스 키 보관소Data Protection · 래핑Secure Storage시도 카운터 락박스도트 투사IR + depth
단계 목록 · 키보드 ←/→ 이동, Space 재생

출처: Apple Platform Security — The Secure Enclave · Apple Platform Security — Biometric security · Apple — Face ID Security Guide

Face ID는 얼굴 사진을 어딘가로 보내 확인하는 시스템이 아니라, Secure Enclave 안의 수학적 표현 매칭으로 '래핑해 둔 암호화 키를 풀 권한'을 심사하는 시스템이다.

왜 헷갈리는가

'생체 인증이 암호를 대체한다'가 가장 흔한 오해다. 실제로는 암호가 근간이고 생체는 편의 계층이다 — 기기가 잠길 때 Data Protection 클래스 키를 폐기하는 대신 Face ID 서브시스템 키로 래핑해 두고, 매칭이 성공하면 그 래핑을 풀 뿐이다. 그래서 재시작 직후에는 생체가 아예 안 통한다. 래핑을 풀 생체용 키 자체를 Secure Enclave가 폐기했기 때문에, 얼굴이 일치해도 열 키가 없다.

애니메이션이 보여주는 것

등록에서 시작한다 — 여러 포즈의 캡처가 Secure Neural Engine을 거쳐 수학적 표현이 되고, 암호화되어 Secure Enclave 안에만 저장된다. Apple로 전송되지 않고 백업에도 포함되지 않는다. 이어서 잠금 순간의 키 래핑, 그리고 해피 패스: 주시 감지 → flood illuminator 조명 → 30,000+ 적외선 도트 투사 → depth map + 2D IR 생성 → 서명된 캡처가 AP를 '통과'해 Secure Enclave로 → 매칭 성공 → 클래스 키 언래핑 → 잠금 해제.

후반부는 방어 국면이다. 임계값에 근접한 실패 직후 올바른 암호가 오면 등록 데이터를 증강하는 적응 동작, 5회 연속 실패 시 생체 차단, Secure Storage Component의 하드웨어 시도 카운터, 그리고 재시작·48시간 미해제 같은 조건에서 생체용 키를 폐기해 암호를 강제하는 마지막 안전판까지 이어진다.

사진이나 마스크로 뚫리지 않나

여러 겹의 장치가 있다. 우선 평면 사진은 depth map에서 걸린다 — 도트 패턴의 왜곡으로 얼굴의 3차원 지형을 재는데, 사진에는 지형이 없다. 2D와 깊이 캡처의 순서는 무작위화되고 도트 패턴은 기기마다 고유해서, 캡처 데이터를 위조해 주입하기도 어렵다. 캡처는 디지털 서명되어 Secure Enclave로 가므로 경로상의 AP가 조작할 수도 없다.

마지막으로 매칭 신경망과는 별개의 스푸핑 탐지 신경망이 사진·마스크류를 걸러낸다. 다만 Apple 문서 스스로 밝히는 한계도 있다 — 쌍둥이나 13세 미만처럼 얼굴 구분이 어려운 경우 오인식 확률(기준치 약 1/1,000,000)이 올라간다. 걱정되면 암호를 쓰라는 것이 공식 안내다.

  • depth map — 평면 사진 차단
  • 캡처 순서 무작위화 + 기기 고유 도트 패턴 — 위조 주입 차단
  • 디지털 서명 — AP 경유 중 조작 차단
  • 별도 스푸핑 탐지 신경망 — 마스크류 차단

신뢰 경계 — AP도 앱도 원본을 못 본다

Secure Enclave는 AP와 격리된 전용 보안 서브시스템이다. 자체 Boot ROM(하드웨어 신뢰 루트)에서 sepOS를 검증해 부팅하고, 메모리는 Memory Protection Engine이 암호화·인증하며, 암호 시도 카운터는 격리된 I2C 버스 위의 Secure Storage Component에 있다. 생체 데이터의 처리·저장·평가가 전부 이 경계 안에서 일어난다.

그래서 서드파티 앱이 받는 것은 '성공/실패' 결과뿐이다. iOS조차 얼굴 원본이나 수학적 표현에 접근할 경로가 없고, 캡처 이미지는 표현 계산 직후 폐기된다. '얼굴이 Apple 서버로 가는가'라는 질문의 답이 구조적으로 '갈 수 없다'인 이유다.

기억할 것

  • 얼굴은 수학적 표현으로 변환되어 Secure Enclave 안에만 저장된다 — Apple 전송·백업 제외, 원본 즉시 폐기.
  • 잠금 해제의 실체는 키 언래핑이다 — 잠금 시 클래스 키를 폐기하지 않고 Face ID 서브시스템 키로 래핑해 둔다.
  • 재시작 후 암호가 필수인 이유: 생체로 래핑을 풀 키 자체를 Secure Enclave가 폐기했기 때문.
  • 스푸핑 방어는 다층이다 — depth map, 캡처 순서 무작위화, 기기 고유 도트 패턴, 디지털 서명, 별도 탐지 신경망.
  • 5회 실패면 생체 차단·암호 강제, 암호 시도는 Secure Storage Component 카운터가 하드웨어로 제한한다.
Face ID — Secure Enclave 인증 경로 | KIE