페이스ID, 지문 인식은 어떻게 나를 알아볼까? 생체인증과 보안

6 분 소요

폰을 들어 화면을 보는 것만으로 잠금이 풀립니다. 결제 버튼을 누르면 지문 한 번으로 끝납니다. 하루에도 수십 번 반복하는 이 동작 뒤에서 폰은 매번 “이 사람이 주인이 맞는지"를 판정하고 있습니다. 그런데 곰곰이 생각하면 궁금한 점이 생깁니다. 내 얼굴 사진을 들이대면 뚫리지 않을까요? 내 지문은 어디에 저장돼 있고, 혹시 회사 서버로 올라가는 것은 아닐까요? 이번 글에서는 생체인증이 나를 알아보는 원리와, 생체정보가 비밀번호와 다르게 다뤄져야 하는 이유를 코드 없이 정리하겠습니다.

비밀번호와 근본적으로 다른 판정 방식 #

비밀번호 검사는 단순합니다. 입력한 문자열이 저장된 것과 한 글자도 다르지 않아야 통과입니다. 정확히 일치하거나, 아니거나 둘 중 하나입니다.

생체인증은 이 방식을 쓸 수 없습니다. 내 얼굴은 어제와 오늘이 미세하게 다릅니다. 조명이 다르고, 각도가 다르고, 안경을 썼다 벗었다 하고, 수염이 자랍니다. 지문도 손가락을 대는 위치와 누르는 힘이 매번 다릅니다. 똑같은 입력이 두 번 들어오는 일 자체가 없는 셈입니다.

그래서 생체인증은 “정확히 일치하는가"가 아니라 충분히 비슷한가를 판정합니다. 등록해 둔 기준과 지금 들어온 입력을 비교해 유사도 점수를 매기고, 그 점수가 정해진 기준선을 넘으면 본인으로 인정합니다. 생체인증의 장점과 약점은 대부분 이 “비슷함 판정"이라는 출발점에서 나옵니다.

등록할 때 일어나는 일: 사진이 아니라 수학적 요약 #

페이스ID나 지문을 등록할 때 얼굴을 이리저리 돌리고 손가락을 여러 번 대게 합니다. 이때 폰이 내 얼굴 사진이나 지문 이미지를 차곡차곡 저장한다고 생각하기 쉽지만, 실제로는 그렇지 않습니다.

폰은 입력에서 특징만 뽑아 숫자 배열로 변환합니다. 지문이라면 융선이 갈라지는 점과 끊기는 점들의 상대적인 배치, 얼굴이라면 눈·코·입 사이의 거리와 굴곡 같은 기하학적 특징입니다. 이렇게 만들어진 숫자 묶음을 수학적 템플릿이라고 부릅니다. 사람으로 비유하면 얼굴 사진을 보관하는 것이 아니라 “미간 거리 몇, 코 높이 몇” 같은 측정값 목록만 적어 두는 것에 가깝습니다.

중요한 성질이 하나 있습니다. 이 변환은 한 방향으로만 갑니다. 얼굴에서 템플릿을 만들 수는 있지만, 템플릿에서 거꾸로 얼굴 사진을 복원할 수는 없도록 설계됩니다. 혹시 템플릿이 새어 나가더라도 그것이 곧 내 얼굴이나 지문 이미지의 유출은 아니라는 뜻입니다.

그 템플릿은 어디에 있을까: 기기 안 금고 #

그러면 이 템플릿은 어디에 저장될까요? 답은 폰 안, 그것도 일반 저장 공간이 아니라 보안 전용 칩 안입니다. 애플은 이 영역을 Secure Enclave라고 부르고, 안드로이드 진영에도 같은 역할을 하는 보안 영역이 있습니다. 메인 운영체제와 분리된 작은 금고로, 폰이 해킹되더라도 이 영역까지 곧장 들어가기는 어렵게 만들어져 있습니다.

더 중요한 점은 이 템플릿이 기기 밖으로 나가지 않는다는 것입니다. 애플이나 구글의 서버로 전송되지 않고, 백업에도 포함되지 않습니다. 은행 앱이 지문 인증을 쓸 때도 앱이 내 지문 데이터를 받는 것이 아닙니다. 앱은 운영체제에 “본인 확인을 해 달라"고 요청하고, 보안 칩이 판정한 뒤 “맞음” 또는 “틀림"이라는 결과만 돌려받습니다. “생체정보가 유출되면 어쩌나"라는 걱정에 대한 답이 여기 있습니다. 폰의 생체인증에 한해서는, 유출될 중앙 서버 자체가 없는 구조입니다.

사진 한 장으로 뚫리지 않는 이유 #

얼굴 인식이라면 사진으로 속일 수 있을 것 같지만, 요즘 폰의 얼굴 인식은 평면 이미지를 보지 않습니다. 페이스ID는 적외선으로 수만 개의 점을 얼굴에 투사하고, 그 점들이 어떻게 휘는지를 읽어 얼굴의 입체 지도를 만듭니다. 사진은 아무리 선명해도 평면이므로 깊이 정보가 없고, 이 단계에서 바로 걸러집니다.

여기에 라이브니스(liveness) 감지가 더해집니다. 지금 카메라 앞에 있는 것이 살아 있는 사람인지를 확인하는 절차로, 눈을 뜨고 화면을 응시하고 있는지 같은 신호를 봅니다. 자는 사람의 얼굴에 폰을 갖다 대도 기본 설정에서는 잠금이 풀리지 않는 이유입니다. 지문 쪽도 마찬가지로, 단순히 무늬만 보는 것이 아니라 정전식이나 초음파 방식으로 실제 피부의 입체 구조를 읽기 때문에 지문을 인쇄한 종이로는 통하지 않습니다.

오인식과 오거부, 그리고 쌍둥이 #

“충분히 비슷한가"를 판정하는 시스템에는 피할 수 없는 거래가 하나 있습니다. 기준선을 엄격하게 잡으면 남이 통과할 확률(오인식)은 줄지만 정작 본인이 거부당하는 일(오거부)이 늘어납니다. 마스크를 썼을 때, 손이 젖었을 때 인식이 실패하는 경험이 바로 오거부입니다. 반대로 기준선을 느슨하게 잡으면 쓰기 편해지는 대신 닮은 남이 통과할 위험이 커집니다.

애플이 밝힌 수치로는 모르는 사람이 페이스ID를 우연히 통과할 확률이 약 100만분의 1, 지문 방식인 터치ID는 약 5만분의 1입니다. 다만 이 확률은 “모르는 사람” 기준이고, 일란성 쌍둥이나 어린 형제처럼 생김새가 가까운 경우에는 크게 올라간다고 애플 스스로 안내합니다. 쌍둥이 동생이 형의 폰을 얼굴로 열었다는 이야기가 종종 나오는 것은 시스템의 결함이라기보다 “비슷함 판정"이라는 방식의 본질적인 한계입니다.

그래서 생체인증은 혼자 서 있지 않습니다. 몇 번 실패하면 반드시 비밀번호 입력으로 넘어가고, 재부팅 직후에는 생체인증 없이 비밀번호부터 요구합니다. 구조적으로 보면 비밀번호가 여전히 바닥의 안전망이고, 생체인증은 그 위에 얹힌 빠른 출입구입니다.

비밀번호는 바꿀 수 있지만 지문은 못 바꿉니다 #

생체정보에는 비밀번호와 결정적으로 다른 성질이 하나 있습니다. 비밀번호는 유출되면 바꾸면 그만이지만, 지문은 평생 열 개뿐이고 얼굴은 하나뿐입니다. 한 번 새어 나가면 다시 발급받을 방법이 없습니다.

이 성질 때문에 “어디에 저장하느냐"가 생체인증 설계의 핵심이 됩니다. 폰의 생체인증이 템플릿을 기기 밖으로 내보내지 않는 것은 단순한 친절이 아니라, 바꿀 수 없는 정보는 애초에 모아 두지 않는다는 원칙의 결과입니다. 반대로 어떤 서비스가 생체정보를 중앙 서버에 모아 관리한다면, 그 서버의 한 번의 유출이 이용자에게는 영구적인 피해가 됩니다. 새로운 서비스가 얼굴이나 지문 등록을 요구할 때 “이 정보가 내 기기에 머무는지, 서버로 가는지"를 따져 볼 가치가 있는 이유입니다.

비밀번호 관리자, 그리고 패스키로 #

생체인증은 비밀번호를 없애는 기술이라기보다, 비밀번호 체계의 마지막 문턱을 낮춰 주는 기술에 가깝습니다. 비밀번호 관리자의 금고를 열 때 마스터 비밀번호 대신 지문 한 번으로 여는 것이 대표적입니다. 그리고 최근 확산 중인 패스키는 이 조합을 한 단계 더 밀고 나갑니다. 사이트마다 다른 암호 키를 보안 칩이 만들어 보관하고, 사람은 얼굴이나 지문으로 그 칩의 잠금만 풀면 로그인이 끝납니다. 외울 비밀번호 자체가 사라지는 방향이고, 그 입구를 지키는 것이 바로 이 글에서 본 생체인증입니다.

정리 #

마지막으로 한 번에 묶어 보겠습니다. 생체인증은 정확한 일치가 아니라 충분한 비슷함을 판정하는 시스템이고, 내 얼굴과 지문은 이미지가 아니라 복원 불가능한 수학적 템플릿으로 변환돼 기기 안 보안 칩에만 머뭅니다. 사진은 깊이 측정과 라이브니스 감지에서 걸러지고, 오인식과 오거부 사이의 거래 때문에 비밀번호라는 안전망이 항상 뒤에 받치고 있습니다. 그리고 바꿀 수 없는 정보라는 특수성 때문에, 생체정보는 기기 밖으로 내보내지 않는 설계가 무엇보다 중요합니다. 다음에 폰이 얼굴 한 번으로 열릴 때, 그 짧은 순간에 적외선 입체 지도와 보안 칩 안의 판정이 지나갔다는 것을 떠올려 보시기 바랍니다.

X