패스키(Passkey)는 비밀번호 없이 로그인할 수 있는 인증 수단으로, FIDO(Fast IDentity Online) 표준과 WebAuthn 기술을 기반으로 합니다. 쉽게 말하면, 사용자와 서비스 간에 공개키/개인키 암호화 방식을 이용해 안전하게 인증하는 방식입니다.

핵심 특징을 정리하면:

  1. 비밀번호 불필요
    • 기존 로그인에서 사용하는 텍스트 기반 비밀번호를 대체합니다.
    • 브라우저, 운영체제, 모바일 기기 내에 안전하게 저장된 패스키를 사용합니다.
  2. 공개키/개인키 기반
    • 서비스에는 **공개키(public key)**만 저장되고, 실제 인증은 기기에 저장된 **개인키(private key)**로 이루어집니다.
    • 서버 측에 비밀번호나 인증 정보가 남지 않아 탈취 위험이 거의 없습니다.
  3. 피싱 방지
    • 인증 과정이 특정 도메인과 연동되므로, 가짜 사이트에서 로그인 정보를 훔치기 어렵습니다.
  4. 멀티디바이스 지원
    • Apple, Google, Microsoft 등 주요 플랫폼에서 디바이스 간 패스키 동기화가 가능하여 여러 기기에서도 로그인 가능.
  5. 사용자 인증 방식
    • 생체인식(지문, 얼굴인식) 또는 PIN 등을 통해 사용자가 직접 기기에서 인증을 완료합니다.

 

작동 방식

패스키는 FIDO(Fast Identity Online) 표준 기술을 기반으로 합니다. 사용자가 패스키를 생성하면, 스마트폰이나 노트북 같은 기기 내에 **공개 키(Public key)**와 개인 키(Private key) 쌍이 만들어집니다.

  • 개인 키: 기기 내에 안전하게 저장되며, 외부에 절대 노출되지 않습니다.
  • 공개 키: 서비스 제공업체(구글, 애플 등) 서버에 전송되어 저장됩니다.

로그인 시, 서비스 제공업체는 사용자의 기기에 암호화된 메시지를 보냅니다. 기기는 개인 키를 이용해 이 메시지를 해독하고 서명한 뒤 다시 보냅니다. 서비스 제공업체는 저장된 공개 키로 이 서명을 확인하여 사용자를 인증합니다. 이 과정에서 비밀번호처럼 서버에 저장되어 해킹 위험이 있는 정보가 전혀 없기 때문에 훨씬 안전합니다.

장점

  • 보안성: 비밀번호는 유출되거나 피싱 공격에 취약하지만, 패스키는 기기 내에 안전하게 보관되는 개인 키를 이용하므로 피싱 공격이나 데이터 유출로부터 안전합니다.
  • 편의성: 비밀번호를 외울 필요가 없고, 복잡한 비밀번호를 만들 필요도 없습니다. 생체 인식(지문, 얼굴)이나 화면 잠금 PIN을 이용해 빠르고 간편하게 로그인할 수 있습니다.
  • 다양한 기기 연동: iCloud, 구글 비밀번호 관리자 등을 통해 여러 기기에서 패스키를 동기화하여 사용할 수 있습니다.

기술적으로 풀어보자

  1. 패스키 등록 (생성): 사용자가 패스키를 등록하면, 사용자의 기기(스마트폰, 노트북 등) 내에 **공개 키(Public Key)**와 개인 키(Private Key) 한 쌍이 생성됩니다.
    • 개인 키: 사용자의 기기 내에 안전하게 저장되며, 외부로 절대 유출되지 않습니다. 이 키는 사용자의 생체 인식 정보(지문, 얼굴)나 화면 잠금 PIN으로만 접근할 수 있습니다.
    • 공개 키: 서비스 제공업체(예: 구글, 애플, 마이크로소프트 등)의 서버에 전송되어 저장됩니다. 이 키는 누구나 알 수 있어도 보안에 문제가 없습니다.
  2. 로그인 (인증): 사용자가 패스키를 사용하여 로그인하려는 시도를 합니다.
    • 챌린지(Challenge) 전송: 서비스 제공업체는 사용자의 기기로 난수(Random Number)를 포함한 챌린지를 보냅니다.
    • 서명 및 응답: 사용자는 자신의 기기에서 생체 인식 또는 PIN으로 본인임을 인증합니다. 인증이 성공하면, 기기는 내부에 저장된 개인 키를 사용하여 서비스 제공업체가 보낸 챌린지를 **암호화(서명)**합니다. 이 서명된 데이터를 서비스 제공업체 서버로 전송합니다.
    • 서명 검증: 서비스 제공업체 서버는 이전에 저장해 두었던 공개 키를 사용하여 사용자의 기기에서 받은 서명을 복호화하여 챌린지 값이 일치하는지 확인합니다. 이 과정이 성공하면 사용자의 신원이 인증되고, 로그인이 완료됩니다.

이 과정에서 비밀번호처럼 서버에 저장되어 해킹에 취약한 정보가 전혀 없으므로, **피싱(Phishing)**이나 데이터 유출 공격에 매우 강력한 보안을 제공합니다.

패스키의 구성 요소

  • Authenticator (인증기): 패스키를 저장하고 인증을 수행하는 기기입니다. 스마트폰, 하드웨어 보안 키 등이 이에 해당합니다.
  • Relying Party (신뢰 당사자): 패스키를 통해 사용자 인증을 요청하는 웹사이트나 서비스입니다.
  • FIDO Client (클라이언트): 사용자 기기와 인증기 사이의 통신을 담당하는 소프트웨어입니다.
  • FIDO Server (서버): 신뢰 당사자 서버에 내장되어 패스키 등록 및 인증 과정을 처리하는 모듈입니다.

요약

패스키는 비밀번호의 불편함과 보안 취약점을 해결하는 차세대 로그인 기술입니다. 사용자에게는 편리한 경험을 제공하고, 서비스 제공자에게는 더 강력한 보안을 보장합니다.

+ Recent posts