많은 원격 신원 확인 솔루션은 브라우저 환경, 네트워크 지문, 카메라 텔레메트리, 이미지 통계와 같은 간접적 징후를 바탕으로 최종 판단을 내립니다. 이러한 데이터는 위험 평가에는 유용하지만, 시스템이 이를 독립적인 진위 확인으로 간주할 경우 취약한 보안 기반이 됩니다. 생성형 AI와 미디어 스트림 위조 공격이 발전함에 따라, ‘신빙성 있는’ 문서와 ‘검증된’ 문서 간의 차이는 근본적인 문제가 되었습니다. NIST와 ENISA는 이 위협을 별도로 다루고 있습니다.[1][2]

검증이 실제로 확인해야 할 사항

신뢰할 수 있는 검증 절차는 다음 세 가지 독립적인 질문을 구분합니다:

  1. 문서의 진위성: 제시된 매체 또는 디지털 증명이 권한 있는 출처에서 발급한 문서와 일치하는가?
  2. 정보의 유효성: 문서의 세부 사항, 발급 사실 및 (가능한 경우) 문서의 현재 상태가 신뢰할 수 있는 출처에 의해 확인되는가?
  3. 제시자의 소유권: 해당 문서가 발급된 당사자 자신이 검증을 받고 있다고 볼 만한 충분한 근거가 있는가?

필드의 일치 여부나 이미지 편집 흔적이 없다는 사실만으로는 첫 번째 질문의 일부만 해결될 뿐입니다. NIST SP 800-63A-4는 신원 확인, 증명서의 진위 여부 검증, 그리고 제시자와 주장된 신원 간의 연관성 확인을 명확히 구분하고 있습니다.[1]

일반적인 접근 방식의 8가지 취약점

1. JavaScript 및 브라우저 환경에 대한 신뢰

일부 시스템은 장치 유형과 세션의 ‘자연스러움’을 User-Agent, navigator.platform, 언어, 시간대, 터치 입력, 화면 매개변수, Canvas/WebGL 지문 및 기타 JavaScript 데이터를 기반으로 추론합니다.

문제는 신뢰의 출처입니다. 브라우저 환경은 요청을 시작한 측에 의해 제어됩니다. 따라서 그 주장을 하드웨어로 검증된 사실과 동일시해서는 안 됩니다. JavaScript 검사는 불일치를 찾아내고 위험 평가를 높이는 데는 유용하지만, 기기가 진짜인지, 식별이 허용되는지 여부를 단독으로 결정해서는 안 됩니다. OWASP는 별도로 서버 측에서 중요한 조건을 재확인할 것을 요구합니다.[3]

2. 정적 프록시/VPN 목록 및 유일한 네트워크 지문 p0f

IP 평판, 데이터 센터 목록, 알려진 VPN, 프록시 및 익명화 서비스 목록은 유용한 단서를 제공하지만, 문서의 출처를 입증하지는 못합니다. 정적 목록은 가능한 모든 트래픽 경로를 포괄하지 못하며, 프록시의 사용 여부가 그 자체로 사용자의 선의를 판단하는 기준이 될 수는 없습니다.

p0f p0f는 TCP/IP 스택의 수동적 특징을 분석합니다. 이는 물리적 장치를 인증하는 메커니즘이 아닙니다. 애플리케이션 프록시를 통해 작업할 경우, 네트워크 지문은 원본 클라이언트가 아닌 중간 노드에 속할 수 있습니다. p0f 개발자들은 또한 이 결과를 보조적인 신호로 해석할 것을 권장합니다.[4] IP 또는 p0f만으로 확인하는 것만으로는 요청의 배후에 특정 휴대전화가 있다는 사실을 확실하게 파악할 수 없습니다.

3. N 프레임에 대한 카메라 및 텔레메트리 매개변수 기록

촬영 과정에서 서비스는 카메라 이름(label), deviceId, groupId, 해상도, 프레임 속도, 카메라 방향, 타임스탬프 및 이미지 시퀀스를 수집할 수 있습니다. 프레임 자체를 통해 추가로 밝기(luminance), 흐림 정도(blur), 선명도, 대비, 노출 변화, 플레어, 움직임, 프레임 간 일관성 및 프레임 누락을 추가로 계산합니다. 특정 매개변수의 이용 가능 여부는 브라우저, 기기 및 권한 설정에 따라 다릅니다.[5][6]

이러한 텔레메트리는 수신된 스트림을 설명하지만, 그 자체만으로는 물리적 출처를 입증하지는 못합니다. 공격자가 수신되는 미디어를 제어하고 있다면, 예상되는 지표의 동향을 재현하려고 시도할 수 있습니다. 여러 프레임을 캡처하고, 조명 분석을 수행하며, 움직임 정보를 요청하는 것은 공격을 복잡하게 만들지만, 신호의 출처를 확인하거나 디지털 주입을 방어하는 것을 대체하지는 못합니다.[2]

4. 정적 이미지 분석: 히트맵, 노이즈 및 아티팩트

알고리즘은 이상 지도(heat maps), 오류 레벨 분석(Error Level Analysis), 잔여 노이즈, PRNU 징후, JPEG 양자화, DCT 계수, 삽입 경계, 국소적 선명도 변화, 조명의 불균일성, 기호의 기하학적 구조 및 문서 템플릿과의 일치 여부를 분석합니다.

이러한 방법은 통계적 편차를 탐지할 뿐, 정부 발급 사실 자체를 입증하지는 않습니다. 결과는 인코딩 방식, 재촬영 여부, 센서 품질 및 학습 데이터의 분포에 따라 달라집니다. 눈에 띄는 아티팩트가 없다고 해서 진위성이 입증되는 것은 아니며, 이상 현상이 발견되었다고 해서 항상 위조임을 의미하는 것은 아닙니다. NIST는 이러한 알고리즘을 진품 및 공격용 샘플에 대해 검증하고, 오탐지 및 누락을 고려할 것을 요구합니다.[2]

5. MRZ, 바코드 및 인쇄 데이터의 형식적 일치

시각적 영역(VIZ)과 기계 판독 가능 영역(MRZ) 간의 비교, 검사자리수, 날짜 및 2차원 코드의 구조 검사는 필수적이다. 그러나 올바른 검사자리수는 데이터의 일관성을 확인해 줄 뿐, 정부 기관이 해당 정보를 포함한 문서를 실제로 발행했음을 증명하는 것은 아니다.

반대의 오류는 더욱 위험합니다: 시스템이 MRZ와 앞면 간의 불일치를 감지하지만, 승인 판정을 차단하지 않는 경우입니다. NIST SP 800-63A-4에서는 MRZ 또는 바코드를 인쇄된 데이터와 비교하는 것이 자동화된 광학 검증 요건에 명시적으로 포함되어 있다.[2]

6. 재사용 방지 기능이 없는 ‘동적’ 토큰

nonce, 작업 식별자 및 일회용 챌린지는 서버가 유효 기간, 세션 및 프로세스 단계와의 연동, 그리고 이전 사용 여부를 확인할 때만 유용합니다. 무작위로 생성된 문자열은 서로 다른 검증에 대해 반복적으로 제시될 수 있다면 보안 수단이 될 수 없습니다.

재사용 방지 기능은 서버 측 로직을 통해 보장되어야 하며, 해당되는 경우 결과를 특정 작업에 암호학적으로 연동해야 합니다. OWASP는 토큰의 재사용 및 프로세스 단계 생략을 API 비즈니스 로직의 위험 요소로 간주합니다.[7]

7. Liveness 및 얼굴 인식: 문서 확인의 대체 수단

사람의 존재 확인(liveness / PAD) 및 얼굴과 사진의 대조는 중요하지만 제한적인 과제를 해결합니다. 생체 인식 대조가 성공하더라도 문서 발급 사실이나, 문서에 있는 얼굴의 소유자가 자신이 주장하는 인물과 동일하다는 사실을 입증하지는 못합니다. 또한, PAD 테스트와 전체 체인의 디지털 위조에 대한 내성은 서로 다른 유형의 평가입니다. ISO/IEC 30107-3:2023은 PAD 시험에 초점을 맞추고 있으나, 원격 신원 확인 시스템 전체의 보안 평가를 명시하지는 않습니다.[8]

8. 데이터 중독에 대한 보호 기능이 없는 자가 학습 모델

시스템이 사용자 업로드 결과나 검증 수준이 낮은 피드백을 자동으로 활용하여 모델의 가중치를 변경할 때 특별한 위험이 발생합니다. 신뢰할 수 있는 라벨링, 새로운 예제의 격리, 버전 관리 및 독립적인 검증이 없다면, 공격자는 향후 결정에 영향을 미칠 수 있는 기회를 얻게 된다.

이러한 유형의 위협은 data poisoning 로 알려져 있으며, NIST는 기계 학습 시스템에 대한 공격 분류 체계에서 이를 상세히 다루고 있습니다.[9]

왜 생성형 AI 시대에 이 문제가 더욱 심각해졌는가

예상되는 관측 시퀀스에만 기반한 방어 체계는 재현에 취약합니다. 서버가 이미 생성된 스트림을 수신하면, 측정된 blur, luminance, 움직임 및 지연 시간을 실제 촬영의 독립적인 증거로 간주할 수 없습니다. 입력 데이터에 대한 충분한 통제가 이루어지는 경우, 결정론적 클라이언트 검증은 여러 시나리오에서 높은 정확도로 재현될 수 있습니다.

이는 어떤 알고리즘이든 우회될 가능성이 보장된다는 뜻도 아니고, 모든 활성성(liveness) 메커니즘이 무용지물이라는 뜻도 아닙니다. 예측 불가능한 검증, 센서 진위 확인, 서버 기반 세션 바인딩, 독립적인 데이터 소스 및 암호학적 검증을 통해 보안은 더욱 강화됩니다. 그러나 이러한 요소 중 어느 하나만으로는 실제 신원을 증명할 수 없습니다. ENISA는 디지털 주입 및 위조 미디어를 통한 공격을 원격 신원 확인에 대한 중대한 위협으로 지목하고 있습니다.[10]

고객의 허가를 받아 수행한 검증에서 발견한 사항

시스템 소유자와 협의하여 진행한 조사 과정에서, 우리 팀은 다음과 같은 유형의 오류를 확인했습니다:

  1. User-Agent에 대한 신뢰. 일부 구현에서는 연결 및 기기 특성에 대한 충분한 독립적 검증 없이 모바일 브라우저라는 주장을 그대로 받아들였습니다.
  2. 보안 매개변수의 재사용. “동적”으로 선언된 매개변수가 적절한 수명 주기 관리 없이 서버에 의해 반복적으로 수용되었습니다.
  3. 라이브 러닝(live-learning) 오염. 한 자체 개발 시스템에서 업로드된 위조 문서가 학습 루프에 영향을 미쳤으며, 이러한 샘플의 특징이 이전에 기록된 기준보다 우선시되기 시작했습니다.
  4. 모순 무시. 한 구현 사례에서 기계 판독 가능 영역의 데이터와 문서의 시각적 부분 간의 불일치가 긍정적 판정을 방해하지 않았습니다.

발견된 결함에 대해 책임 당사자와 제조사들에게 통보되었습니다. 제시된 사례들은 당사의 비공개 감사 결과일 뿐, 공개된 시장 통계 자료가 아닙니다. 시스템명, 표본 규모 및 재현 자료는 여기에서 공개되지 않습니다. 이 사례들은 구체적인 설계 오류를 보여주는 것이며, 모든 공급업체가 동일한 취약점을 가지고 있음을 의미하지는 않습니다.

신뢰의 핵심 기준은 이미지 자체가 아니라 발급 출처입니다

문서는 겉보기에는 완벽해 보이고 내부적으로 일관성이 있어도, 존재하지 않거나 권한 있는 출처에 의해 확인되지 않은 신원 정보를 포함할 수 있습니다. 따라서 “조작 흔적 미확인”이라는 판정을 “신원 확인됨”이라는 판정으로 대체해서는 안 됩니다.

합법적 및 기술적 접근 권한이 있는 경우, 검증 과정에서는 문서의 핵심 속성과 상태를 국가 등록부, 발급 기관 또는 기타 권위 있는 출처 혹은 검증 가능한 신뢰할 수 있는 출처와 대조해야 한다. 전자 여권의 경우 별도의 암호학적 검증 절차가 존재합니다. 즉, 칩 데이터의 디지털 서명 및 ICAO가 설명한 신뢰 체인 DSC → CSCA. 이는 서명된 데이터의 출처와 무결성을 확인해 주지만, 그 자체만으로는 문서의 최신 상태 및 제시자와의 연관성에 대한 검증을 대체할 수는 없다.[1][11]

신뢰할 수 있는 출처에 접근할 수 없는 경우, 올바른 결과는 “발급 진위성 또는 현재 상태가 확인되지 않음”이지, 무조건적인 “문서가 진품임”이 아닙니다. 이 경우 등록 기관으로부터 응답이 없다고 해서 위조임을 증명하는 것은 아닙니다. 시스템은 검증 실패와 검증 불가능을 구분해야 합니다.

다양한 검증 수준을 통해 도출할 수 있는 결론
검증 수준무엇을 나타내는가무엇을 증명하지 않는가
브라우저 환경 및 네트워크연결 및 세션에 위험 징후가 있는지 여부기기, 문서 또는 신원의 진위 여부
카메라, 생체 인식 및 미디어 분석관찰된 데이터 스트림의 일관성 및 변조 징후문서의 정부 발급 여부
OCR, MRZ, 코드 및 템플릿서식 및 기재 사항의 내부 일관성발행 기관에 기록의 존재 여부
디지털 서명 및 신뢰 체인올바른 유효성 검증을 거친 서명된 데이터의 출처 및 무결성현재 상태 및 제시자의 사용 적법성
신뢰할 수 있는 출처 및 제시자 검증이용 가능한 속성, 상태 및 신원과의 연관성 확인향후 어떤 시나리오에서도 사기 행위가 전혀 발생하지 않음

당사의 접근 방식: 간접적인 징후뿐만 아니라 실질적인 신뢰 근거를 검증

저희는 프레젠테이션에 제시된 센서, 서명 및 알고리즘의 수로 시스템을 평가하지 않고, 각 검증 단계가 구체적으로 어떤 주장을 입증할 수 있는지, 그리고 표적 공격 시 어떻게 대응하는지를 기준으로 평가합니다. 고객을 위해 문서, 관할권, 사용 시나리오 및 허용 가능한 위험 수준에 맞춰 방어 모델을 구축합니다.

  • 독립적인 통제 수준. 브라우저, 네트워크 및 시각적 징후는 독립적인 증거가 아닌 추가적인 위험 신호로 간주됩니다.
  • 보안된 검증 프로세스. 서버 기반 단계별 제어, 일회성 적용 및 챌린지 연동, 중복 탐지, 데이터 스트림의 디지털 변조 방지.
  • 문서 출처 검증. 허용 가능한 암호학적 증거를 확인하고, 법적 및 기술적으로 가능한 경우 공식 또는 기타 신뢰할 수 있는 출처와 통합합니다.
  • 학습 루프 보호. 사용자 데이터와 기준 라벨의 분리 저장, 모델 업데이트 제어, 품질 편차 검증 및 롤백 기능.
  • 측정 가능한 안정성. 오탐지 및 오차 평가( DFAR/DFRR 문서 분석 포함), 스트림 대체 테스트, 반복, 모순되는 필드 및 새로운 유형의 합성 이미지.

저희에게 강력한 검증이란 ‘100% 보호’를 약속하는 것이 아니라, 명확한 신뢰 출처와 검증 가능한 지표, 그리고 ‘확인됨’, ‘미확인’ 및 ‘모순 감지’ 상태 간의 명확한 구분으로 이루어진 재현 가능한 절차입니다.

귀사의 과제에 맞는 위조 문서 방지 솔루션이 필요하신가요?

모든 문서와 검증 채널에 대해 동일하게 신뢰할 수 있는 범용 필터는 존재하지 않습니다. 가짜 문서를 이용한 남용을 줄이거나, 현재 운영 중인 KYC 프로세스의 견고성을 검증하거나, 특정 관할권 및 위협 모델에 맞춘 맞춤형 솔루션을 구축하는 것이 목표라면 저희에게 문의해 주십시오.

저희는 시스템이 모방된 신호에 의존하는 부분을 파악하고, 필요한 신뢰 출처를 정의하며, 마케팅상의 약속이 아닌 기술적 테스트를 통해 그 견고성을 입증할 수 있는 검증 체계를 설계하는 데 도움을 드리겠습니다.

기술적 출처

다음 출처들은 일반적인 기술적 특성, 위협 모델 및 표준을 뒷받침합니다. 당사의 감사 결과 중 특정 사례에 대한 내용은 위에서 별도로 설명되어 있습니다.

  1. NIST SP 800-63A-4 — 신원 증명 개요. 신원 확립, 증명서 검증 및 제시자 확인의 구분; 권위 있고 신뢰할 수 있는 출처.
  2. NIST SP 800-63A-4 — 신원 증명 요구사항. 광학 분석, MRZ, 미디어 스트림 변조, 생성형 AI를 이용한 공격 및 테스트 요구사항.
  3. OWASP — 입력 유효성 검사 요약표. 클라이언트 측 검사에 대한 불신 및 서버 측 필수 유효성 검사.
  4. p0f — 프로젝트 문서. 수동 TCP/IP 지문 인식의 용도와 이 방법의 한계.
  5. MDN — MediaDevices.enumerateDevices(). 미디어 장치 목록 및 해당 메타데이터에 대한 접근 제한.
  6. MDN — MediaStreamTrack.getSettings(). 사용 가능한 미디어 스트림 매개변수.
  7. OWASP — REST 보안 치트 시트. API 상태, 단계 순서 및 토큰의 재사용 방지.
  8. ISO/IEC 30107-3:2023. 생체 인식 제시 공격(PAD) 탐지를 위한 시험 및 보고 방법.
  9. NIST AI 100-2e2025 — 적대적 기계 학습. 데이터 및 모델 중독을 포함한 공격 분류.
  10. ENISA — 원격 신원 확인: 모범 사례(2024). 제시 공격 및 디지털 주입을 포함한 원격 신원 확인의 위협.
  11. ICAO — ePassport Basics. 전자 여권의 디지털 서명 및 DSC/CSCA 신뢰 체인.