다음을 통해 공유


얼굴 활동성 감지

이 문서에서는 얼굴 활동성 감지의 개념, 입력 및 출력 스키마 및 관련 개념을 설명합니다.

소개

Microsoft Azure Face Liveness에 대한 비디오 소개에 연결되는 스크린샷.

얼굴 활동성 감지를 사용하여 입력 동영상 스트림의 얼굴이 실제(라이브) 또는 가짜(스푸핑됨)인지 확인할 수 있습니다. 사기꾼이 다른 사람을 사칭하기 위해 사진, 동영상, 마스크 또는 기타 수단을 사용하여 시스템에 액세스하는 것을 방지하는 것은 생체 인식 인증 시스템의 중요한 구성 요소입니다.

활동성 감지 목표는 시스템이 인증 시 실제로 존재하는 살아 있는 사용자와 상호 작용하도록 하는 것입니다. 이러한 시스템은 디지털 재무, 원격 액세스 제어 및 온라인 ID 검증 프로세스의 증가로 인해 점점 더 중요해지고 있습니다.

Azure AI Face 활동성 감지 솔루션은 종이 인쇄물, 2D/3D 마스크 및 휴대폰과 노트북의 스푸핑 프레젠테이션에 이르기까지 다양한 스푸핑 형식으로부터 성공적으로 방어합니다. 활동성 탐지는 연구의 활성 영역으로, 점점 더 정교한 스푸핑 공격에 대응하기 위해 지속적으로 개선되고 있습니다. 전체 솔루션이 새로운 형식의 공격에 대해 더 강력해짐에 따라 시간이 지남에 따라 클라이언트와 서비스 구성 요소가 지속적으로 개선됩니다.

Azure AI Face 활동성 감지 API는 NIST/NVLAP 공인 실험실에서 수행하고 ISO/IEC 30107-3 PAD 국제 표준을 준수하는 iBeta Level 1 및 Level 2 PAD(Presentation Attack Detection) 테스트에서 0% 침투율을 달성했습니다.

작동 방식

활성 솔루션 통합에는 프런트 엔드 모바일/웹 애플리케이션과 앱 서버/오케스트레이터라는 두 가지 개별 구성 요소가 포함됩니다.

Azure AI Face의 활성 워크플로 다이어그램.

  • 앱 서버에서 Azure AI Face 서비스 오케스트레이션: 앱 서버는 활동성 검색 세션을 만들고, 각 세션에 대한 Azure AI Face 서비스에서 수명이 짧은 권한 부여 토큰을 가져오고, 프런트 엔드 애플리케이션에 활동성 검색을 수행하도록 권한을 부여하고, 활동성 검색 결과를 검색하고 보는 백 엔드 역할을 합니다. 이 디자인은 프런트 엔드에 대한 보안 세션 관리 및 제어된 액세스를 보장합니다.
  • 프런트 엔드에 Foundry Tools Face SDK의 Azure Vision 통합: 프런트 엔드 애플리케이션에 Vision Face SDK(iOS, Android 또는 웹)를 포함합니다. SDK는 카메라를 열고, 수동 또는 수동-활성 흐름을 통해 사용자를 안내하고, 이미지를 캡처하고, Azure AI Face 엔드포인트로 전송하여 활동성 분류를 수행합니다. Microsoft는 여기에 설명된 대로 엄격한 데이터 개인 정보 보호 표준을 따릅니다. Face의 데이터 및 개인 정보 보호.
  • 선택 사항: Microsoft가 호스팅하는 실시간 확인 빠른 링크 사용: 개발자 통합 작업을 줄이기 위해 SDK 임베딩을 생략하고 Microsoft가 호스팅하는 서비스를 대신 사용할 수 있습니다. 일회성 생체 인증 빠른 링크: 생체 인증 빠른 링크(https://liveness.face.azure.com/?s=…)를 위해 세션 토큰을 교환합니다. 사용자를 이 URL로 리디렉션하고 Azure는 브라우저에서 전체 캡처 흐름을 호스트합니다. 완료 상태는 선택적 콜백을 통해 수신할 수 있습니다. 이 옵션을 사용하면 모든 업데이트를 자동으로 받도록 하면서 SDK를 애플리케이션에 통합할 필요가 없으므로 Azure의 최신 향상된 기능과 계속 일치합니다.

활동성 감지 모드

Azure Face 생체 감지 API에는 패시브 감지 모드와 Passive-Active 감지 모드 두 가지 옵션이 포함되어 있습니다.

수동 모드는 사용자의 추가 작업이 필요하지 않은 수동 활동성 기술을 활용합니다. 성공하려면 어두운 조명 환경이 필요하며 밝은 조명 환경에서는 "지원되지 않는 환경" 오류가 발생하여 실패할 수 있습니다. 또한 최적의 성능을 위해 높은 화면 밝기를 필요로 하며, 모바일(iOS 및 Android) 솔루션에서 자동으로 구성됩니다. 최소 최종 사용자 상호 작용을 선호하고 최종 사용자가 주로 밝지 않은 환경에 있을 것으로 예상하는 경우 이 모드를 선택할 수 있습니다. 수동 모드 검사를 완료하는 데 평균 약 12초가 걸립니다.

Passive-Active 모드는 밝지 않은 조명 환경에서 수동 모드와 동일하게 동작하며 밝은 조명 환경에서만 활성 모드를 트리거합니다. 이 모드는 브라우저에서 사용할 수 있는 자동 화면 밝기 컨트롤이 없기 때문에 웹 브라우저 솔루션에서 선호되며, 이는 수동 모드의 작동 봉투를 방해합니다. 모든 조명 환경에서 활동성 검사를 수행하려면 이 모드를 선택할 수 있습니다. 밝은 조명 환경으로 인해 활성 검사가 트리거되는 경우 총 완료 시간은 평균 20초까지 걸릴 수 있습니다.

세션 생성 단계 중에 검색 모드를 설정할 수 있습니다( 활동성 검색 수행 참조).

선택적 얼굴 확인

얼굴 확인을 활동성 감지와 결합하여 문제의 얼굴이 지정된 특정 사용자에게 속하는지 확인할 수 있습니다. 다음 표는 활동성 감지 기능에 대한 세부 정보를 설명합니다.

특징 설명
활동성 감지 입력이 진짜인지 가짜인지 판단하고, 앱 서버만이 활성 확인을 시작하고 결과를 쿼리할 수 있는 권한을 갖습니다.
얼굴 인증을 사용하여 활동성 감지 입력 내용이 진짜인지 가짜인지 판단하고 제공한 참조 이미지를 기반으로 사람의 ID를 확인합니다. 앱 서버 또는 프런트 엔드 애플리케이션이 참조 이미지를 제공할 수 있습니다. 앱 서버만이 활성 확인을 초기화하고 결과를 쿼리할 수 있는 권한을 갖습니다.

출력 형식

활동성 검색 API는 다음 정보를 사용하여 JSON 개체를 반환합니다.

  • 실제 얼굴 또는 스푸핑 얼굴 활동성 결정. 기본 정확도 및 임계값을 처리하므로 "신뢰도 점수"를 해석하거나 추론을 직접 만드는 것에 대해 걱정할 필요가 없습니다. 이 방법을 사용하면 개발자가 보다 쉽고 원활하게 통합할 수 있습니다.
  • 선택적으로 활동성 확인이 검증과 함께 수행되는 경우 얼굴 검증 결과를 가져올 수 있습니다(얼굴 검증으로 활동성 감지 수행 참조).
  • Face 서비스 API를 사용하여 감사 또는 사용자 검토를 위해 저장하거나 추가 분석을 수행하는 데 사용할 수 있는 품질 필터링된 "세션 이미지"입니다.

개인 정보 보호

Face Liveness Check의 이미지나 비디오는 저장하지 않습니다. 활동성 세션이 종료되면 이미지 또는 비디오 데이터가 서비스에 남아 있지 않습니다. 검사 중에 업로드된 이미지 또는 비디오는 활동성 분류를 수행하여 사용자가 실제인지 아니면 스푸핑인지를 확인하는 데만 사용되며 liveness-with-verify 시나리오에서 참조 이미지와 일치하도록 사용할 수도 있습니다. 이러한 파일은 사람이 볼 수 없으며 AI 모델을 학습하거나 개선하는 데 사용되지 않습니다.

안전

중요합니다

개발자는 올바른 솔루션(웹 또는 모바일)을 선택할 때 보안에 미치는 영향을 인식하는 것이 중요합니다. 웹 및 모바일 솔루션은 모두 iBeta 수준 1 및 수준 2 ISO/IEC 30107-3 PAD 표준을 준수하지만 모바일 솔루션에는 웹 솔루션에서 사용할 수 없는 GuardSquare에서 제공하는 추가 RASP(런타임 애플리케이션 Self-Protections)가 포함됩니다.

특히 웹 솔루션에는 브라우저 환경에서 실행되는 데 내재된 제한 사항이 있으며 특정 유형의 공격에 더 취약할 수 있습니다. 따라서 가능한 한 모바일 솔루션을 사용하는 것이 좋습니다.

웹 솔루션을 선택하는 경우 공유 책임 모범 사례를 면밀히 따르고, 사용 중인 카메라가 신뢰할 수 있는 물리적 디바이스인지 확인하고, 잠재적인 런타임 공격을 완화하기 위해 추가 보호 장치 및 모니터링을 구현하는 것이 중요합니다.

남용 감지

개발자가 사기 또는 악의적인 활동의 위험이 높은 활동성 세션을 식별할 수 있도록 설계된 기본 제공 남용 탐지 기능이 포함되어 있습니다. 남용 탐지 기능은 IP 기반 위험 평가를 포함하여 여러 검사를 수행하여 사용자 고유의 애플리케이션 논리 또는 검토 워크플로에서 사용할 수 있는 실행 가능한 신호를 제공합니다.

이 기능은 높은 보안 환경 또는 사기 위험이 높은 시나리오(예: 계정 온보딩, ID 확인 또는 원격 인증)에서 유용합니다. 이를 통해 확인 단계를 완료하기 전에 의심스러운 활동 패턴을 사전에 검색할 수 있습니다.

학대 감지 결과를 해석하고 조치를 수행하는 방법에 대한 자세한 지침은 라이브니스 학대 모니터링을 참조하십시오.

네트워크 격리

필요에 따라 네트워크 격리 기능을 통해 개발자가 프런트 엔드 클라이언트에서 생체 감지 호출을 더 잘 제어할 수 있도록 합니다. 이 옵션을 사용하면 Liveness Detection API 호출에 대해 공용 네트워크 액세스를 완전히 사용하지 않도록 설정하여 정의된 프라이빗 네트워크 경계 내에서만 액세스할 수 있도록 할 수 있습니다.

이 기능은 규정 준수 정책에서 모든 서비스 호출이 제어된 네트워크 경계 내에 유지되어야 하는 규제 또는 엔터프라이즈 환경에서 특히 유용합니다. 또한 신뢰할 수 없거나 알 수 없는 네트워크에서 직접 호출을 방지하여 공격 노출 영역을 줄이는 데 도움이 됩니다. 자세히 알아보기

지원 옵션

기본 Foundry 도구 지원 옵션을 사용하는 것 외에도 SDK 리포지토리의 문제 섹션에 질문을 게시할 수도 있습니다.

다음 단계

이제 활동성 감지 개념에 익숙해졌으므로 앱에서 활동성 감지를 구현하세요.