Android와 호환되는 것으로 간주되려면 기기 구현이 Android 호환성 정의 문서(CDD)에 제시된 요구사항을 충족해야 합니다. Android CDD는 아키텍처 보안 및 스푸핑 가능성을 사용하여 생체 인식 구현의 보안을 평가합니다.
- 아키텍처 보안: 커널 또는 플랫폼 보안 침해에 대한 생체 인식 파이프라인의 탄력성입니다. 커널 및 플랫폼 보안 침해를 통해 원시 생체 인식 데이터가 유출되거나 합성 데이터가 파이프라인에 주입되어 인증 결정에 영향을 미친 경우가 아니라면 파이프라인은 안전한 것으로 간주됩니다.
- 생체 인식 보안 성능: 생체 인식 보안 성능은 생체 인식의 스푸핑 허용률(SAR), 거짓 허용률(FAR), 사기 허용률(IAR)(해당하는 경우)을 기준으로 측정됩니다. SAR은 Android 9에서 도입된 측정항목이며, 실제 프레젠테이션 공격에 대한 생체 인식의 탄력성을 측정합니다. 생체 인식을 측정할 때는 아래에 설명된 프로토콜을 따라야 합니다.
Android는 세 가지 유형의 측정항목을 사용하여 생체 인식 보안 성능을 측정합니다.
- Spoof Acceptance Rate (SAR, 스푸핑 허용률): 생체 인식 모델이 이전에 기록된 정상으로 알려진 샘플을 허용할 확률을 측정하는 항목을 정의합니다. 예를 들어 음성 잠금 해제를 사용하면 'Hey, Google'이 녹음된 샘플을 사용하여 사용자의 휴대전화를 해제할 가능성을 측정합니다. 이러한 공격을 스푸핑 공격이라고 합니다. 사기 공격 프레젠테이션 일치율(IAPMR)이라고도 합니다.
- Imposter Acceptance Rate (IAR, 사기 허용률): 생체 인식 모델이 정상으로 알려진 샘플을 모방하는 입력을 허용할 확률을 측정하는 항목을 정의합니다. 예를 들어 Smart Lock 음성 인식 잠금 해제(음성 잠금 해제) 메커니즘에서는 유사한 어조와 억양을 사용하여 사용자의 음성을 모방하려는 사용자가 기기를 잠금 해제할 수 있는 빈도를 측정합니다. 이러한 공격을 사기 공격이라고 합니다.
- 거짓 허용률 (FAR): 모델이 무작위로 선택된 잘못된 입력을 실수로 허용하는 빈도를 측정하는 항목을 정의합니다. 이는 유용한 측정 방법이지만, 모델이 표적 공격에 얼마나 잘 대처하는지 평가할 수 있는 충분한 정보를 제공하지는 않습니다.
Trust Agent
Android 10에서는 Trust Agent의 작동 방식이 변경되었습니다. Trust Agent는 기기를 잠금 해제할 수 없으며 이미 잠금 해제된 기기의 잠금 해제 기간만 연장할 수 있습니다. 얼굴 인식 잠금 해제는 Android 10에서 더 이상 지원되지 않습니다.
생체 인식 클래스
생체 인식 보안은 아키텍처 보안 및 스푸핑 가능성 테스트 결과를 사용하여 분류됩니다. 생체 인식 구현은 Class 3(이전의 Strong), Class 2(이전의 Weak), Class 1(이전의 Convenience) 중의 하나로 분류할 수 있습니다. 아래 표에는 각 생체 인식 클래스의 일반적인 요구사항이 설명되어 있습니다.
자세한 내용은 현재 Android CDD를 참고하세요.
생체 인식 클래스 | 측정항목 | 생체 인식 파이프라인 | 제약 조건 |
---|---|---|---|
Class 3 (이전의 Strong) |
모든 PAI 종의 SAR: 0~7% A등급 PAI 종의 SAR: <=7% B등급 PAI 종의 SAR: <=20% 개별 PAI 종의 SAR <= 40% (7% 이하 권장) FAR: 1/5만 FRR: 10% |
보안 |
|
Class 2 (이전의 Weak) |
모든 PAI 종의 SAR: 7~20% A등급 PAI 종의 SAR: <=20% B등급 PAI 종의 SAR: <=30% 개별 PAI 종의 SAR <= 40% (20% 미만 권장) FAR: 1/50,000 FRR: 10% |
보안 |
|
Class 1 (이전의 편의성) |
모든 PAI 종의 SAR: 20~30% A등급 PAI 종의 SAR: <=30% B등급 PAI 종의 SAR: <=40% 개별 PAI 종의 SAR <= 40% (30% 미만 권장) FAR: 1/50,000 FRR: 10% |
안전하지 않음 또는 안전함 |
|
Class 3, Class 2, Class 1 모달리티 비교
생체 인식 보안 클래스는 보안 파이프라인의 존재 여부와 3가지 허용률(FAR, IAR, SAR)에 따라 할당됩니다. 사기 공격이 존재하지 않는 경우 FAR과 SAR만 고려합니다.
모든 잠금 해제 모달리티와 관련하여 취해야 할 조치는 Android 호환성 정의 문서(CDD)를 참고하세요.
얼굴 및 홍채 인증
평가 절차
평가 절차는 두 단계로 구성됩니다. 보정 단계는 주어진 인증 솔루션(보정된 위치)에 있어 최적의 프레젠테이션 공격을 결정합니다. 테스트 단계는 보정된 위치를 사용하여 공격을 여러 번 실행하고 공격이 성공한 횟수를 평가합니다. Android 기기 및 생체 인식 시스템 제조업체는 이 양식을 제출하여 최신 테스트 안내를 Android에 문의해야 합니다.
SAR은 시스템에서 가장 큰 취약점에 관련된 공격만 사용하여 측정되어야 하므로 먼저 보정된 위치를 결정하는 것이 중요합니다.
보정 단계
얼굴 및 홍채 인증에는 프레젠테이션 공격 도구(PAI), 프레젠테이션 형식, 대상 다양성 성능, 세 가지 매개변수가 있습니다. 이러한 매개변수는 보정 단계에서 최적화하여 테스트 단계에서 최적값을 보장해야 합니다.
얼굴
|
홍채
|
다양성 테스트
얼굴과 홍채 모델은 성별, 연령대, 인종/민족에 따라 다르게 작동할 수 있습니다. 다양한 얼굴에서 프레젠테이션 공격을 보정하여 성능 격차가 나타날 확률을 최대화합니다.
테스트 단계
테스트 단계는 이전 단계의 최적화에서 프레젠테이션 공격을 사용하여 생체 인식 보안 성능을 측정하는 단계입니다.
테스트 단계에서 시도 수 집계
단일 시도는 얼굴(실제 얼굴이나 위장된 얼굴) 표시와 휴대전화에서 피드백 수신(잠금 해제 이벤트 또는 사용자에게 표시되는 메시지) 사이의 기간으로 집계됩니다. 휴대전화가 일치를 시도하기에 충분한 데이터를 얻을 수 없다면 그 시도는 SAR을 계산하는 데 사용된 시도로 집계되어서는 안 됩니다.
평가 프로토콜
등록
얼굴 또는 홍채 인증에서 보정 단계를 시작하기 전에 기기 설정으로 이동하여 기존 생체 인식 프로필을 모두 삭제합니다. 기존 프로필이 모두 삭제되면 보정 및 테스트에 사용할 수 있도록 대상 얼굴이나 홍채가 있는 새 프로필을 등록합니다. 새 얼굴이나 홍채 프로필을 추가할 때는 밝은 조명을 사용하고 기기는 20cm~80cm의 거리를 두고 대상 얼굴 정면에 두어야 합니다.
보정 단계
각각의 PAI 종마다 보정 단계를 수행합니다. 종마다 크기가 다르고 특성도 달라 테스트의 광학적 조건에 영향을 줄 수 있기 때문입니다. PAI를 준비합니다.
얼굴
|
홍채
|
보정 단계 실행
기준 위치
- 기준 위치: 기준 위치는 PAI를 기기 앞면에 적절한 거리 (20~80cm)를 두고 배치하여 결정됩니다. 이때 PAI는 기기의 시야에서 명확하게 보이지만 그 외 사용되는 물품 (예: PAI 스탠드)은 보이지 않습니다.
- 수평 기준 평면: PAI가 기준 위치에 있는 동안 기기와 PAI 사이의 수평 평면은 수평 기준 평면입니다.
- 수직 기준 평면: PAI가 기준 위치에 있는 동안 기기와 PAI 사이의 수직 평면은 수직 기준 평면입니다.

그림 1. 참조 평면
수직 원호
기준 위치를 결정한 후 기기로부터의 거리를 기준 위치와 동일하게 유지하면서 수직 원호를 따라 PAI를 테스트합니다. 기기와 수평 기준 평면 사이를 10도 각도로 만들고 같은 수직 평면에서 PAI를 들어 올린 다음 얼굴 인식 잠금 해제를 테스트합니다.
PAI가 기기의 시야에서 더 이상 보이지 않을 때까지 PAI를 10도 단위로 들어 올리면서 테스트합니다. 기기가 잠금 해제된 위치를 기록합니다. 이 과정을 반복하면서 하향하는 원호를 따라 PAI를 수평 기준 평면 아래로 이동합니다. 원호 테스트의 예는 아래 그림 2를 참고하세요.
수평 원호
PAI를 기준 위치로 되돌리고 수평 평면을 따라 이동하여 수직 기준 평면과 10도 각도를 이루도록 합니다. 새로운 위치에서 PAI를 사용하여 수직 원호 테스트를 실행합니다. 수평 평면을 따라 PAI를 10도씩 증가하여 이동시키면서 각각의 새로운 위치에서 수직 원호 테스트를 실행합니다.
그림 2. 수직 및 수평 원호를 따라 테스트
원호 테스트는 기기의 왼쪽과 오른쪽 및 위쪽과 아래쪽에서 10도 단위로 반복해야 합니다.
가장 신뢰할 수 있는 잠금 해제 결과를 얻을 수 있는 위치는 PAI 종 유형(예: 2D 또는 3D PAI 종)의 보정된 위치입니다.
테스트 단계
보정 단계가 끝나면 PAI 종마다 보정된 위치가 하나씩 있어야 합니다. 보정된 위치를 설정할 수 없는 경우 기준 위치를 사용해야 합니다. 테스트 방법은 2D 및 3D PAI 종을 모두 테스트하는 것이 일반적입니다.
- E>=10인 등록 얼굴에서는 최소 10개의 고유 얼굴을 포함합니다.
- 얼굴 또는 홍채 등록
- 이전 단계의 조정된 위치를 통해 U회의 잠금 해제 시도를 실행합니다. 시도 횟수는 이전 섹션에서 설명한 대로 집계하고 U >= 10여야 합니다. 성공한 잠금 해제 횟수(S)를 기록합니다.
- SAR은 다음과 같이 측정할 수 있습니다.
여기서
- E = 등록 수
- U = 등록별 잠금 해제 시도 횟수
- Si = 등록 i의 성공한 잠금 해제 횟수
통계적으로 유효한 오류율 샘플을 얻는 데 필요한 반복 횟수: 아래 모두에 95% 신뢰도 가정, 대집단 N
오차 범위 | 대상별 테스트 반복 필요 |
---|---|
1% | 9595 |
2% | 2401 |
3% | 1067 |
5% | 385 |
10% | 97 |
필요한 시간: 시도당 30초, 대상 10개
오차 범위 | 총시간 |
---|---|
1% | 799.6 시간 |
2% | 200.1 시간 |
3% | 88.9 시간 |
5% | 32.1 시간 |
10% | 8.1 시간 |
오차 범위를 5%로 맞추는 것이 좋습니다. 이때 오류율은 모집단의 2~12%입니다.
범위
테스트 단계에서는 주로 대상 사용자 얼굴 복제를 기준으로 얼굴 인증의 탄력성을 측정합니다. LED 또는 마스터 인쇄처럼 작동하는 패턴을 사용하는 비복제 기반 공격은 지원하지 않습니다. 심도 기반 얼굴 인증 시스템에서는 아직 효과적이지 않지만 개념적으로는 충분히 가능합니다. 가능성과 타당성이 있으며 향후 연구가 이를 뒷받침할 것입니다. 이제 이 프로토콜은 이러한 공격에 대처하는 탄력성을 측정하는 기능을 포함하도록 수정될 것입니다.
지문 인증
Android 9에서는 7% 이하의 Spoof Accept Rate(SAR, 스푸핑 허용률)에 따라 측정된 대로 PAI에 대한 최소한의 탄력성이 기준으로 설정되었습니다. 특히 7%로 설정한 간단한 근거를 이 블로그 게시물에서 알아볼 수 있습니다.
평가 절차
평가 절차는 두 단계로 구성됩니다. 보정 단계는 주어진 지문 인증 솔루션(보정된 위치)에 있어 최적의 프레젠테이션 공격을 결정합니다. 테스트 단계는 보정된 위치를 사용하여 공격을 여러 번 실행하고 공격이 성공한 횟수를 평가합니다. Android 기기 및 생체 인식 시스템 제조업체는 이 양식을 제출하여 최신 테스트 안내를 Android에 문의해야 합니다.
보정 단계
지문 인증에는 프레젠테이션 공격 도구(PAI), 프레젠테이션 형식, 대상 다양성 성능, 세 가지 매개변수가 있습니다. 이러한 매개변수는 최적화하여 테스트 단계에서 최적값을 보장해야 합니다.
- 인쇄된 지문이나 복제 모형이 프레젠테이션 매체의 모든 예인 것처럼 PAI는 물리적 스푸핑입니다. 다음과 같은 스푸핑 재료를 적극 권장합니다.
- 광학 지문 센서(FPS)
- 비전도성 잉크로 인쇄된 복사 용지/투명 용지
- 녹스 젤라틴
- 라텍스 페인트
- 엘머스 글루 올
- 정전식 FPS
- 녹스 젤라틴
- 엘머스 목공용 인테리어 목재 접착제
- 엘머스 글루 올
- 라텍스 페인트
- 초음파 FPS
- 녹스 젤라틴
- 엘머스 목공용 인테리어 목재 접착제
- 엘머스 글루 올
- 라텍스 페인트
- 광학 지문 센서(FPS)
- 프레젠테이션 형식은 스푸핑을 돕는 방식으로 PAI나 환경을 추가로 조작하는 것과 관련이 있습니다. 예를 들어 3D 복제본을 만들기 전에 고해상도 지문 이미지를 보정하거나 수정합니다.
- 대상 다양성 성능은 알고리즘 미세 조정에 특히 중요합니다. 대상 성별과 연령대, 인종/민족 전반에서 보정 흐름을 테스트하면 전체 인구의 일부에서 성능이 크게 저하되는 것을 알 수 있으며 테스트는 이 단계에서 보정하기 위한 중요한 매개변수가 됩니다.
다양성 테스트
지문 판독기는 성별, 연령대, 인종/민족에 따라 다르게 작동할 수 있습니다. 소수의 사람은 인식하기 어려운 지문을 가지고 있기 때문에 인식 및 스푸핑 테스트에 최적의 매개변수를 결정하기 위해 다양한 지문을 사용해야 합니다.
테스트 단계
테스트 단계는 생체 인식 보안 성능이 측정되는 단계입니다. 테스트는 최소한 비협력적인 방식으로 진행해야 합니다. 즉, 수집된 지문은 대상 손가락의 협력적인 복제본을 만드는 것과 같이 대상을 적극적으로 지문 수집에 참여하게 하는 것과는 대조적으로 다른 표면에서 지문을 들어서 완료해야 합니다. 후자는 허용되지만 필수는 아닙니다.
테스트 단계에서 시도 수 집계
단일 시도는 센서에 지문(실제 지문이나 위장된 지문) 표시와 휴대전화에서 피드백 수신(잠금 해제 이벤트 또는 사용자에게 표시되는 메시지) 사이의 기간으로 집계됩니다.
휴대전화가 일치를 시도하기에 충분한 데이터를 얻을 수 없다면 그 시도는 SAR을 계산하는 데 사용된 시도로 집계되어서는 안 됩니다.
평가 프로토콜
등록
지문 인증을 위한 보정 단계를 시작하기 전에 기기 설정으로 이동하여 기존 생체 인식 프로필을 모두 삭제합니다. 기존 프로필이 모두 삭제되면 보정 및 테스트에 사용할 대상 지문과 함께 새 프로필을 등록합니다. 프로필이 등록될 때까지 화면에 나오는 안내를 따릅니다.
보정 단계
광학 FPS
광학 FPS는 초음파 및 정전식 보정 단계와 유사하지만, 대상 사용자 지문의 2D 및 2.5D PAI 종을 모두 사용합니다.
- 표면에서 지문을 들어 올려 잠재 사본 만들기
- 2D PAI 종으로 테스트하기
- 지문을 센서에 올려놓기
- 2.5D PAI 종으로 테스트하기
- 지문의 PAI 만들기
- 센서에 PAI 배치하기
초음파 FPS
초음파 보정에는 대상 지문의 잠재 사본을 들어 올리는 것이 포함됩니다. 예를 들어 지문 식별 가루를 사용하여 들어 올린 지문이나 지문 인쇄본을 사용할 수 있습니다. 지문 이미지를 직접 보정하면 더 나은 위장 지문을 얻을 수 있습니다.
대상 지문의 잠재 사본을 확보하면 PAI가 생성됩니다.
정전식 FPS
정전식 보정에는 위에서 설명한 초음파 보정과 동일한 단계가 포함됩니다.
테스트 단계
- FRR/FAR을 계산할 때 사용한 것과 동일한 매개변수를 사용하여 최소 10명의 고유 사용자가 하나의 지문을 등록하도록 합니다.
- 사용자별로 PAI를 만듭니다.
- SAR은 다음과 같이 측정할 수 있습니다.
통계적으로 유효한 오류율 샘플을 얻는 데 필요한 반복 횟수: 아래 모두에 95% 신뢰도 가정, 대집단 N
오차 범위 | 대상별 테스트 반복 필요 |
---|---|
1% | 9595 |
2% | 2401 |
3% | 1067 |
5% | 385 |
10% | 97 |
필요한 시간: 시도당 30초, 대상 10개
오차 범위 | 총시간 |
---|---|
1% | 799.6 시간 |
2% | 200.1 시간 |
3% | 88.9 시간 |
5% | 32.1 시간 |
10% | 8.1 시간 |
오차 범위를 5%로 맞추는 것이 좋습니다. 이때 오류율은 모집단의 2~12%입니다.
범위
이 절차는 지문 인증이 대상 사용자 지문 복제에 대처하는 탄력성을 테스트하도록 설정됩니다. 테스트 방법은 현재 자재 비용, 재고 및 기술을 기반으로 합니다. 이 프로토콜은 새로운 재료 및 기법을 실제로 활용할 수 있을 때 그에 대처하는 탄력성을 측정하도록 수정됩니다.
일반적인 고려사항
모달리티마다 다른 테스트 설정이 필요하지만, 모두 공통적으로 적용되는 몇 가지 측면이 있습니다.
실제 하드웨어 테스트하기
수집된 SAR/IAR 측정항목은 생체 인식 모델이 휴대기기에 실제로 표시되는 것과 다른 하드웨어 및 이상적인 조건에서 테스트하면 정확하지 않을 수 있습니다. 예를 들어 다중 마이크 설정을 사용하여 무향실에서 보정된 음성 잠금 해제 모델은 잡음이 많은 환경의 단일 마이크 기기에 사용될 때 매우 다르게 작동합니다. 정확한 측정항목을 수집하려면 하드웨어가 설치된 실제 기기에서 테스트를 실행하고 기기에 표시되는 것과 마찬가지로 하드웨어에서 테스트에 실패해야 합니다.
알려진 공격 사용하기
오늘날 사용되는 대부분의 생체 인식 모달리티는 위장 처리되어 있으며 공격 방법에 대한 공개 문서가 존재합니다. 아래에서는 알려진 공격이 있는 모달리티에 대한 테스트 설정을 간략하게 설명합니다. 가능한 경우 여기에 설명된 설정을 사용하는 것이 좋습니다.
새로운 공격 예측하기
크게 향상된 모달리티의 경우 테스트 설정 문서에 적합한 설정이 나와 있지 않고 알려진 공개 공격이 없을 수도 있습니다. 기존 모달리티도 새롭게 발견된 공격에 따라 테스트 설정을 조정해야 할 수 있습니다. 두 경우 모두 합당한 테스트 설정을 찾아야 합니다. 이 페이지 하단의 사이트 의견 링크를 사용하여 추가할 수 있는 합리적인 메커니즘을 설정했는지 알려주시기 바랍니다.
다양한 모달리티에 대한 설정
지문
IAR | 필요하지 않습니다. |
SAR |
|
얼굴 및 홍채
IAR | 하한값은 SAR에 의해 캡처되므로 별도로 측정할 필요가 없습니다. |
SAR |
|
음성
IAR |
|
SAR |
|