사전 신원 증명
개념

신원 증명

gabury1고친 사람 github-actions[bot]

신원 증명은 계정을 만들려는 사람이 현실에서 누구인지 처음 한 번 확인하는 일입니다. 은행 앱으로 계좌를 열 때 신분증을 찍고 얼굴을 비추는 과정이 이것입니다. 이 확인을 거쳐야 서비스는 계정을 현실의 한 사람과 묶어 둘 수 있습니다. 그 뒤의 로그인은 이 일을 되풀이하지 않습니다.

쉽고 빠른 이해

신원 증명은 가입하는 사람이 현실에 있는 그 사람이 맞는지 한 번 확인합니다. 비대면 계좌 개설에서 신분증 사진과 지금 찍은 얼굴을 견주는 것이 흔한 예입니다.

이 확인이 없으면 계정은 「이 비밀번호를 아는 누군가」일 뿐입니다. 남의 이름으로 가입해 대출을 받아도 막을 길이 없습니다.

그래서 돈이 오가거나 법적 책임이 따르는 서비스가 이 확인을 합니다. 게시판처럼 이름이 상관없는 서비스는 건너뜁니다.

어떻게 도나:

  1. 이름과 생년월일을 받아 누구를 말하는지 한 사람으로 좁힙니다
  2. 낸 신분증이 진짜이고 적힌 정보가 맞는지 확인합니다
  3. 화면 앞의 사람이 그 신분증의 주인인지 얼굴로 견줍니다

대가도 있습니다. 가입이 길어져 중간에 그만두는 사람이 늘어납니다. 신분증과 얼굴 사진을 받은 만큼 그것을 지킬 짐도 생깁니다.

상세

동네 도서관에서 처음 회원증을 만들 때는 신분증을 내밉니다. 사서는 신분증의 사진과 앞에 선 사람의 얼굴을 한 번 견주어 봅니다. 그 뒤로 책을 빌릴 때는 회원증만 보여 주면 됩니다.

사서가 처음 한 그 확인이 신원 증명입니다. 정확히는 사람이 스스로 밝힌 신원이 현실의 한 사람과 맞는지 확인하는 과정입니다. 영어로는 identity proofing 이라고 부릅니다.

여기서 신원은 한 사람을 가리키는 정보 묶음입니다. 이름, 생년월일, 주소, 신분증 번호 같은 속성이 모여 한 사람을 가리킵니다. 신원 증명은 이 정보가 지어낸 것이 아닌지, 그리고 지금 신청한 사람의 것인지를 봅니다.

신원 증명이 풀려는 문제

온라인 서비스는 가입하는 사람의 얼굴을 보지 못합니다. 이메일 주소와 비밀번호만 받으면 누구든 아무 이름으로나 계정을 만들 수 있습니다. 이렇게 만든 계정은 「이 비밀번호를 아는 누군가」일 뿐입니다. 현실의 누구와도 묶여 있지 않습니다.

게시판 같은 서비스라면 그래도 괜찮습니다. 돈이 오가거나 법적 책임이 따르는 서비스는 사정이 다릅니다. 남의 이름으로 계좌를 열어 대출을 받는 신원 도용을 막을 수 없습니다.

여러 사람의 정보를 섞어 없는 사람을 지어내는 공격도 있습니다. 이렇게 만든 가짜 신원을 합성 신원이라고 합니다. 예를 들면 이름은 한 사람에게서 가져옵니다. 신분증 번호는 다른 사람에게서 가져옵니다.

신원 증명은 계정과 현실의 한 사람 사이에 끈을 잇습니다. 이 끈이 있어야 사고가 났을 때 책임을 물을 사람이 생깁니다. 같은 사람이 계정을 여러 개 만드는 일도 가려낼 수 있습니다.

인증과 가르는 선

신원 증명과 인증은 둘 다 「누구냐」를 묻습니다. 신원 증명은 가입할 때 한 번 「당신은 현실에서 누구인가」를 묻습니다. 인증은 로그인할 때마다 「당신이 그때 가입한 그 사람인가」를 묻습니다.

가입을 마친 사람에게 서비스는 로그인에 쓸 자격증명을 내줍니다. 자격증명은 비밀번호나 보안 키처럼 「내가 그때 가입한 사람이다」를 나중에 다시 보이는 증거입니다. 인증은 로그인할 때 이 증거를 확인합니다.

둘이 쓰는 증거와 결과도 다릅니다. 아래 표가 두 일을 나란히 놓습니다.

신원 증명 인증
언제 가입할 때 · 계정을 되찾을 때 로그인할 때마다
묻는 것 현실에서 누구인가 가입한 그 사람인가
쓰는 증거 신분증 · 발급 기관 기록 · 얼굴 비밀번호 · 보안 키 · 일회용 비밀번호
끝나면 등록하고 자격증명을 내준다 세션을 연다

인증은 신원 증명의 결과에 기대어 섭니다. 인증은 로그인한 사람이 가입 때 받은 자격증명을 가졌는지만 확인합니다. 가입 때 확인이 허술했다면 인증이 아무리 튼튼해도 그 계정의 주인이 누구인지는 모릅니다.

일상 말에서는 접속할 때 자기를 밝히는 일도 신원 증명이라고 부르곤 합니다. 보안 용어로는 그 일을 인증이라 부릅니다. 신원 증명은 처음에 신원을 세우는 일만 가리킵니다.

세 단계로 나뉘는 확인

신원 증명은 보통 세 단계로 나눕니다. 이 절은 한 사람이 은행 앱으로 계좌를 여는 과정을 따라가며 각 단계가 무엇을 묻는지 봅니다.

이렇게 신원 증명을 받는 사람을 신청자라고 합니다. 계좌를 열겠다고 신청한 사람이라는 뜻입니다. 이 시점의 은행은 신청자가 누구인지 아직 모릅니다.

첫 단계는 신원 확정(resolution)입니다. 신청자는 앱에 이름, 생년월일, 주소를 넣습니다. 은행은 이 정보로 신청자가 누구를 말하는지 한 사람으로 좁힙니다.

동명이인이 있으면 정보를 더 받아 좁힙니다. 이미 가입한 사람인지도 봅니다.

둘째 단계는 증거 검증(validation)입니다. 신청자는 운전면허증을 휴대폰 카메라로 찍어 올립니다. 이 신분증이 신원을 뒷받침하는 증거입니다. 은행은 이 증거가 진짜이고 아직 유효한지 확인합니다.

위조 흔적과 유효 기간을 봅니다. 적힌 정보는 발급 기관의 기록과 맞춰 봅니다.

셋째 단계는 본인 대조(verification)입니다. 운전면허증이 진짜여도 남의 것일 수 있습니다. 그래서 지금 신청하는 사람이 그 면허증의 주인인지 확인합니다.

이 계좌 개설은 비대면이라 본인 대조를 얼굴로 합니다. 신청자가 앱 카메라에 얼굴을 비춥니다. 은행은 이 얼굴을 면허증 사진과 견줍니다.

남의 사진을 카메라에 들이미는 속임수도 있습니다. 그래서 카메라 앞에 살아 있는 사람이 있는지 따로 봅니다. 이 검사를 라이브니스 탐지라고 합니다.

세 단계 가운데 하나라도 통과하지 못하면 등록하지 않습니다. 끝까지 통과한 신청자는 서비스의 가입자가 됩니다. 가입자는 서비스에 등록된 사람이라는 뜻입니다. 은행은 가입자에게 자격증명을 내줍니다.

flowchart TD
    subgraph JOIN["가입할 때 한 번"]
        A["신청자가 이름과 신분증을 낸다"] --> B["신원 확정 · 한 사람으로 좁힌다"]
        B --> C["증거 검증 · 신분증이 진짜인가"]
        C --> D["본인 대조 · 신청자가 그 주인인가"]
        D --> E["가입자로 등록하고 자격증명을 내준다"]
    end
    E --> F["로그인할 때마다 인증"]

그림에서 「가입할 때 한 번」으로 묶은 다섯 칸은 가입할 때 한 번만 지납니다. 묶음 밖의 맨 아래 칸만 로그인마다 되풀이됩니다. 로그인 때는 세 단계를 다시 하지 않습니다. 인증만 합니다.

대면과 비대면

신원 증명은 사람이 지켜보느냐, 신청자가 어디에 있느냐로 갈립니다. 흔히 세 방식으로 나눕니다.

방식 신청자가 있는 곳 지켜보는 사람
비대면 자동 자기 집, 자기 휴대폰 없다. 소프트웨어가 판정한다
비대면 화상 자기 집, 자기 휴대폰 상담원이 영상 통화로 본다
대면 서비스가 정한 창구 직원이 곁에서 본다

비대면 자동은 빠르고 한밤에도 돕니다. 대신 위조 신분증과 사진 속임수를 소프트웨어가 전부 걸러야 합니다. 대면은 직원이 신분증을 손으로 만져 보고 얼굴을 직접 봅니다. 그만큼 신청자가 창구까지 와야 합니다.

확인의 세기

모든 서비스가 같은 세기로 확인하지는 않습니다. 확인이 틀렸을 때 잃는 것이 클수록 더 많은 증거를 받고 더 꼼꼼히 봅니다. 게시판은 확인을 건너뜁니다. 은행은 신분증과 얼굴까지 봅니다.

이 세기를 등급으로 나눈 것이 신원 보증 수준(IAL, Identity Assurance Level)입니다. 미국 정부의 디지털 신원 지침에서 쓰는 등급입니다.

등급은 셋입니다. 이름은 IAL 뒤에 숫자를 붙여 부릅니다. 숫자가 클수록 엄격합니다. 아래 표가 등급마다 무엇을 받고 어떻게 보는지 나란히 놓습니다.

등급 받는 증거 본인 대조
1등급 신분증 같은 증거를 한두 개 받아 진짜인지 본다 증거와 묶인 전화번호로 확인 코드를 보내는 정도로도 된다
2등급 사진이 붙은 신분증처럼 위조하기 어려운 증거를 받는다 신청자가 그 증거의 주인인지 꼭 확인한다. 남의 신분증을 들고 오는 공격을 막으려는 것이다
3등급 가장 위조하기 어려운 증거를 받는다 훈련받은 직원이 대면으로 보고 생체 정보를 하나 이상 받는다

은행 앱이 신분증 사진과 얼굴을 견주는 비대면 확인은 대개 2등급을 겨냥합니다. 게시판처럼 확인을 건너뛰는 서비스는 어느 등급에도 들지 않습니다.

이메일 주소로 확인 링크만 보내는 것은 신원 증명이 아닙니다. 그 주소를 쓸 수 있다는 것만 알려 줍니다. 그 사람이 누구인지는 알려 주지 않습니다.

계정 복구

가입자가 비밀번호와 휴대폰을 모두 잃으면 로그인할 방법이 없습니다. 그러면 서비스는 이 사람이 누구인지를 다시 세워야 합니다. 이 계정 복구는 신원 증명을 한 번 더 하는 일입니다.

복구 절차가 가입 때보다 허술하면 공격자는 로그인 대신 복구를 노립니다. 상담원에게 전화해 생년월일만 대고 계정을 넘겨받는 식입니다. 그래서 복구는 가입 때와 같은 세기로 확인해야 계정 전체의 세기가 유지됩니다.

백엔드에서 챙길 것

신원 증명의 결과는 계정에 남겨 둡니다. 누가 어떤 방식으로, 어느 등급까지, 언제 확인했는지를 적어 둡니다. 송금 한도처럼 뒤에 오는 판단이 이 값을 읽습니다.

남길 값 쓰는 곳
확인한 등급 이 등급이 있어야 열리는 기능을 가른다
확인한 방식 대면인지 비대면인지에 따라 한도를 달리한다
확인한 시각 오래된 확인을 다시 하게 할 때 쓴다
확인한 곳 외부 업체에 맡겼다면 어느 업체의 결과인지

신원 증명만 전문 업체에 맡기고 결과를 받아 쓰는 서비스도 많습니다. 그럴 때 확인한 곳을 남겨 두어야 나중에 어느 업체의 판정인지 따질 수 있습니다.

증거 원본은 필요한 만큼만 보관합니다. 신분증 사진과 얼굴 사진은 새면 되돌릴 수 없는 민감 정보입니다. 확인이 끝나면 결과만 남기고 원본은 지우는 편이 새는 양을 줄입니다. 이 원칙을 데이터 최소화라고 합니다.

엄격한 확인에는 값이 따릅니다. 확인 단계가 하나 늘 때마다 가입을 그만두는 사람이 생깁니다. 그래서 가입 때는 가볍게 확인하는 구성도 흔합니다. 돈을 보내는 기능처럼 위험한 기능을 처음 쓸 때 더 높은 등급을 요구합니다.

관련 항목

신원 증명 다음에 이어지는 절차

등록 · 자격증명 · 인증 · 인증과 인가 · 인가 · 계정 복구

신원 증명에 관여하는 역할·참여자

신청자 · 가입자 · 자격증명 서비스 제공자 · 검증자 · 신뢰 당사자 · 신원 제공자

신원 증명이 받는 증거와 확인 수단

신분증 · 여권 · 운전면허증 · 모바일 신분증 · 얼굴 인식 · 생체 인증 · 라이브니스 탐지 · 일회용 비밀번호

신원 증명의 세기를 나누는 등급

신원 보증 수준 · 인증 보증 수준 · 연합 보증 수준 · 보증 수준

신원 증명이 막으려는 공격

신원 도용 · 합성 신원 · 계정 탈취 · 위조 신분증 · 프레젠테이션 공격 · 딥페이크

신원 증명을 요구하는 규칙과 표준

고객 확인 · 자금 세탁 방지 · NIST SP 800-63 · eIDAS · 디지털 신원

신원 증명 결과를 담아 나르는 수단

속성 · 클레임 · 단언 · 검증 가능한 자격증명 · 탈중앙 식별자

증거를 받을 때 적용되는 규칙

개인정보 보호 · 민감 정보 · 데이터 최소화

다른 이름: identity proofing · ID proofing · 신원증명