본문으로 건너뛰기
learncave공동인증서·OTP·패스키: 인증의 원리
Chapter 03주소에 묶인 열쇠, 기기에 남는 지문

패스키가 피싱에 강한 이유와 인증을 둘러싼 착각

패스키로 로그인하면 비밀번호도 인증번호도 입력하지 않습니다. 무엇을 보내길래 가짜 사이트에 속지 않을까요? 패스키가 피싱에 강한 원리와, '지문이 은행 서버에 저장된다', '문자 인증이면 안전하다' 같은 착각을 짚어 봅니다.

읽는 시간 5분선행 챕터 01, 02핵심 개념 3개

패스키는 숫자 대신 서명을 보낸다

2장에서 본 약점은 사람이 옮겨 적는 숫자였습니다. FIDO 표준에 바탕을 둔 인증 수단입니다. 기기에 둔 개인 키로 서명해 로그인하고, 사이트에는 공개 키만 등록합니다.는 아무것도 옮겨 적지 않습니다. 패스키는 업계 연합이 만든 FIDO 표준에 바탕을 둔 인증 수단으로, 휴대폰·컴퓨터나 보안키에 저장됩니다.[1] 휴대폰 잠금을 풀 때처럼 지문, 얼굴, PIN으로 로그인합니다.[1]

처음 등록할 때 기기는 열쇠 한 쌍을 만듭니다.[3] 비밀로 지키는 서명을 만드는 데 쓰는 비밀 값입니다. 패스키에서는 내 기기나 보안키에 남습니다.와, 남에게 알려져도 되는 개인 키와 짝을 이루어 서명을 확인하는 값입니다. 남에게 알려져도 개인 키를 알아낼 수 없습니다.입니다. 개인 키는 기기에 남고, 공개 키만 사이트에 등록됩니다.[2] 로그인할 때 사이트는 매번 새 무작위 값을 보냅니다. 기기는 그 값에 개인 키로 서명해 돌려주고, 사이트는 공개 키로 서명을 확인합니다.[2]

쉽게 말하면

자물쇠와 열쇠를 떠올려 보세요. 사이트는 내 자물쇠만 갖고 있고, 그 자물쇠의 열쇠는 내 휴대폰 안에만 있습니다. 로그인할 때 사이트가 내 자물쇠로 잠근 새 상자를 보내면, 열쇠를 가진 나만 열어 보일 수 있습니다. 자물쇠가 공개 키, 열쇠가 개인 키, 매번 새로 오는 상자가 무작위 값입니다. 다만 실제로는 상자를 여는 대신 수학적인 서명을 만들어 보냅니다. 그리고 진짜 자물쇠와 달리 공개 키를 아무리 들여다봐도 개인 키를 알아낼 수 없습니다.[2]

그래서 사이트 서버가 털려도 훔쳐 갈 비밀이 없습니다. 서버에는 공개 키만 있기 때문입니다.[1][3] 2장의 일회용 비밀번호입니다. 한 번 또는 짧은 시간만 쓰이는 숫자로 '가진 것'을 확인합니다.OTP는 어떻게 숫자를 맞추고, 문자 인증은 어디가 약한가 챕터에서 보기는 서버도 나와 같은 OTP 기기와 은행 서버가 처음에 나눠 갖는 같은 비밀값입니다. 이것이 새면 누구나 같은 숫자를 만들 수 있습니다.OTP는 어떻게 숫자를 맞추고, 문자 인증은 어디가 약한가 챕터에서 보기을 갖고 있어야 했던 것과 다릅니다.

주소에 묶인 열쇠라서 피싱에 강하다

패스키는 만든 사이트에 묶입니다. 등록한 사이트의 도메인에서만 인증에 쓸 수 있습니다.[3] 브라우저는 지금 접속한 주소가 그 범위에 맞는지 확인하고, 기기는 그 사이트용 패스키만 꺼냅니다.[3] 그래서 진짜와 똑같이 꾸민 가짜 사이트에서는 꺼낼 패스키가 아예 없습니다. 사용자가 실수로 가짜 사이트에 패스키를 건넬 방법도 없습니다.[2]

닮은 작은 집 두 채가 나란히 서 있다. 얼굴 없는 사람이 왼쪽 집 문의 집 모양 열쇠 구멍에 열쇠를 꽂아 돌리자 초록빛이 난다. 오른쪽 집 문에는 손잡이만 있고 지붕 아래에 주황 경고 삼각형이 걸려 있다.
열쇠는 그 열쇠를 만든 집의 문에만 맞습니다. 패스키도 등록한 사이트 주소에서만 쓰이므로, 겉모습만 닮은 가짜 사이트에서는 꺼낼 열쇠가 없습니다.

NIST는 패스키가 쓰는 웹 표준을, 인증 결과를 사이트 이름에 묶어 피싱을 막는 예로 듭니다.[4] 미국 CISA는 2022년 안내에서 널리 쓸 수 있는 사용자가 조심하지 않아도 가짜 사이트에 인증 정보가 넘어가지 않게 막는 성질입니다. 인증이 FIDO·웹 표준 방식뿐이라고 설명합니다.[5] 2장까지의 방식과 나란히 놓으면 이렇습니다.

구분 문자 인증번호 OTP 기기·앱 패스키
사이트가 가진 것 내 전화번호 나와 같은 공유 비밀 내 공개 키
내가 옮겨 적는가 예 예 아니요
가짜 사이트에서[5] 숫자가 그대로 넘어갑니다 숫자가 그대로 넘어갑니다 쓸 수 있는 패스키가 없습니다
범죄자가 통신사를 속이거나 유심을 복제해 남의 전화번호를 자기 기기로 옮기는 수법입니다. 심 스와핑이라고도 합니다.OTP는 어떻게 숫자를 맞추고, 문자 인증은 어디가 약한가 챕터에서 보기[5] 약합니다 기기·앱이 만드는 숫자는 상관없습니다(문자로 받는 번호는 왼쪽과 같습니다) 상관없습니다

패스키에는 두 종류가 있습니다. 클라우드 계정을 거쳐 내 여러 기기로 복사되는 동기화 패스키와, 보안키처럼 한 기기를 떠나지 않는 패스키입니다.[1] 동기화는 끝에서 끝까지 암호화됩니다.[1] 그만큼 그 계정을 지키는 일이 중요해서, NIST도 동기화 저장소에 들어가는 길을 서로 다른 종류의 인증 요소를 둘 이상 요구하는 인증입니다. 비밀번호와 휴대폰을 함께 쓰는 식입니다.인증의 세 요소와 공인인증서 이후의 인증서 챕터에서 보기으로 지키라고 요구합니다.[4]

착각 둘: 지문은 서버에, 문자는 안전하다

'지문이 은행 서버에 저장된다'

패스키로 로그인할 때 지문이나 얼굴 정보는 기기에 머물고 서버로 가지 않습니다.[1] 서버가 받는 것은 기기에서 확인이 성공했다는 결과와 서명뿐입니다.[1] 지문은 휴대폰 안의 개인 키를 꺼내 쓰게 해 주는 손잡이이고, 확인도 기기 안에서 끝납니다.[3] NIST도 서버에서 한꺼번에 비교하면 대규모 공격 위험이 커진다며 생체 비교는 기기 안에서 하라고 권합니다.[4]

다만 모든 생체 인증이 이렇지는 않습니다. 2019년 금융위원회가 소개한 창구·ATM 정맥 인증은 금융권 공동의 분산관리 방식을 씁니다.[6] 생체정보를 따로는 쓸 수 없는 두 조각으로 나눠 금융회사와 금융결제원 분산관리센터에 둡니다.[6] 원본이 아니라 패턴으로 바꿔 암호화한 정보입니다.[6] 그러니 ’지문이 서버에 저장된다’는 패스키에는 틀린 말이고, 다른 생체 인증은 서비스마다 방식이 다릅니다.

NIST는 생체정보가 비밀이 아니라고 봅니다.[4] 그래서 생체정보만으로는 인증으로 치지 않고, 휴대폰 같은 ’가진 것’과 함께만 쓰게 합니다.[4] 누가 내 지문을 본떠도 내 휴대폰이 없으면 패스키를 쓸 수 없는 이유입니다.

’문자 인증이면 안전하다’는 생각도 위의 표 앞에서 무너집니다. CISA는 다중 인증 방식을 강한 것부터 늘어놓고 문자·음성 인증을 맨 끝에 둡니다.[5] 다른 방법이 없을 때만 쓰는 마지막 수단으로 보라고 합니다.[5] 2장에서 본 유심 바꿔치기, 악성 앱, 피싱에 모두 약하기 때문입니다.

패스키도 막지 못하는 것

인증은 버튼을 ‘누가’ 누르는지 확인할 뿐, ‘왜’ 누르는지는 묻지 않습니다. 사칭 사기에 속아 내가 직접 송금하면, 패스키는 그 송금도 나라고 확인합니다. 가장 강한 인증도 의심 하나와 전화를 끊는 행동 하나를 대신하지 못합니다.

세 챕터를 한 줄로

인증은 아는 것, 가진 것, 나 자신을 겹쳐 ’이 사람이 나’임을 보이는 일입니다. OTP와 문자 인증은 숫자를 옮겨 적기 때문에 그 숫자가 가짜 사이트로도 갈 수 있습니다. 패스키는 사이트 주소에 묶인 개인 키로 서명해, 숫자도 비밀도 넘기지 않습니다. 어느 방식이든 인증 수단을 남에게 넘기거나 속아서 쓰면 보호는 거기서 멈춥니다.

용어 정리

패스키
FIDO 표준에 바탕을 둔 인증 수단입니다. 기기에 둔 개인 키로 서명해 로그인하고, 사이트에는 공개 키만 등록합니다.
개인 키
서명을 만드는 데 쓰는 비밀 값입니다. 패스키에서는 내 기기나 보안키에 남습니다.
공개 키
개인 키와 짝을 이루어 서명을 확인하는 값입니다. 남에게 알려져도 개인 키를 알아낼 수 없습니다.
피싱 저항
사용자가 조심하지 않아도 가짜 사이트에 인증 정보가 넘어가지 않게 막는 성질입니다.

용어 사전 전체 보기

정답 0 / 3

Q1진짜 은행 사이트와 똑같이 꾸몄지만 주소가 한 글자 다른 가짜 사이트에서 패스키 로그인을 눌렀습니다. 어떻게 됩니까?

Q2휴대폰 지문으로 패스키 로그인을 할 때 지문 정보는 어떻게 됩니까?

Q3어느 사이트의 서버가 해킹당해 저장된 패스키 정보가 모두 새어 나갔습니다. 내 계정은 어떻게 됩니까?

  • 패스키는 개인 키는 내 기기에, 공개 키만 사이트에 두고 매번 서명으로 로그인합니다.
  • 패스키는 등록한 사이트 주소에 묶여 있어 가짜 사이트에서는 쓸 수 없습니다.
  • 패스키의 지문 확인은 기기 안에서 끝나고, 문자 인증은 여러 방식 가운데 가장 약한 축입니다.
진도는 이 브라우저에 저장되고, 로그인하면 다른 브라우저에서도 이어집니다.
  1. APasskeys · FIDO Alliance패스키 표준을 만든 산업 연합의 공식 설명입니다. 패스키의 정의(FIDO 표준 기반, 기기 잠금을 푸는 방식으로 로그인), 피싱에 강하다는 설명, 서버에서 민감한 비밀을 없앤다는 설명, 생체정보와 그 처리는 기기에 머물고 서버는 확인이 성공했다는 보증만 받는다는 답변, 동기화 패스키와 기기 고정 패스키의 구분과 동기화가 종단간 암호화된다는 답변을 가져왔습니다. 2026년 10월 조회 기준입니다.본문으로
  2. AHow Passkeys Work · FIDO Alliance (Passkey Central)패스키 표준을 만든 산업 연합이 운영하는 안내 사이트의 공식 설명입니다(FIDO Alliance의 'How FIDO Works' 주소가 이곳으로 옮겨 왔습니다). 개인 키는 기기나 보안키에 남고 공개 키만 서비스에 등록된다는 점, 로그인할 때 서버가 보낸 무작위 값에 개인 키로 서명하고 서버가 공개 키로 확인한다는 흐름, 패스키는 등록한 사이트에만 제시되어 사용자가 공격자 사이트에 실수로 입력할 방법이 없다는 점, 공개 키에서 개인 키를 뽑아내는 것이 계산상 불가능하다는 점을 가져왔습니다. 2026년 10월 조회 기준입니다.본문으로
  3. AWeb Authentication: An API for accessing Public Key Credentials, Level 3 (W3C 권고안, 2026. 8. 25.) · World Wide Web Consortium(W3C)패스키가 브라우저에서 쓰는 웹 표준의 원문입니다. 등록 때 인증기가 열쇠 쌍을 만들어 공개 키만 사이트에 돌려준다는 점, 자격 증명은 등록한 사이트(RP ID)에서만 인증에 쓸 수 있다는 4장, 클라이언트가 접속한 주소가 RP ID 범위에 맞는지 확인해야 한다는 5.5절, 사용자 확인과 개인 키 사용은 인증기 안에서 이루어진다는 4장, 사이트가 따로 비밀을 저장할 필요가 없다는 13.4.1절을 가져왔습니다.본문으로
  4. ASP 800-63B-4: Digital Identity Guidelines, Authentication and Authenticator Management (2025. 7.) · 미국 국립표준기술연구소(NIST)미국 연방 인증 지침의 최종판입니다. WebAuthn을 검증자 이름 결합(verifier name binding)으로 피싱 저항을 제공하는 예로 든 3.2.5.2절, 생체정보는 비밀이 아니며 물리적 인증기와 함께하는 다중 인증의 일부로만 쓰고, 중앙 검증자는 대규모 공격 위험이 크므로 비교는 기기 안에서 하라는 3.2.3절, 동기화 저장소에 들어가는 길을 다중 인증으로 지키라는 부록 B를 가져왔습니다.본문으로
  5. AImplementing Phishing-Resistant MFA (팩트시트, 2022. 10.) · 미국 사이버보안·인프라보안청(CISA)미국 정부 보안기관의 안내입니다. 널리 쓸 수 있는 피싱 저항 인증은 FIDO/WebAuthn뿐이라는 설명, 다중 인증 방식을 강한 것부터 약한 것 순으로 놓은 표 1(FIDO/WebAuthn은 피싱에 강하고 유심 바꿔치기와 무관, 앱·토큰 OTP는 피싱에 약하고 유심 바꿔치기와 무관, 문자·음성은 피싱·유심 바꿔치기에 약해 마지막 수단으로만 쓸 것)을 가져왔습니다.본문으로
  6. A정맥인증 서비스로 은행거래가 편리해집니다! (보도자료, 2019. 4. 15.) · 금융위원회금융당국이 한 은행의 창구·ATM 정맥인증 서비스를 소개한 발표와 붙임 참고1 '바이오정보 분산관리 개요'입니다. 금융권 공동의 바이오정보 분산관리(2016년 12월 서비스 시작)가 고객 바이오정보를 따로 쓸 수 없는 두 조각으로 나눠 금융회사와 금융결제원 분산관리센터에 보관한다는 설명과, 원본은 수집하지 않고 패턴으로 바꿔 두 번 암호화해 수집한다는 설명을 가져왔습니다.본문으로