본문 바로가기
에디의 소소한 IT

패스키 로그인. 패스키 기술적 동작 방식 및 구조로 알아보기

by Eddy's life 2025. 5. 5.
반응형

지난 포스팅에서... 에디는 찰스경 주최 파티에 입장하기 위해... 찰스경 가문 문장이 새겨진 종이(Challenge)에 지문을 날인(지문인증 및 개인키로 전자서명)하고 이를 문지기에게 제출했었다. 문지기는 미리 등록해놓은 파티 참가자들의 지문 리스트를 뒤져 에디의 지문을 찾아냈고 두 지문이 동일한 사람의 것임을 확인했다. 에디가 파티에 초대받은 사람임이 증명된 것. 에디는 아무 문제없이 찰스경 저택 안으로 입장할 수 있었다. 

 

2025.04.20 - [에디의 소소한 IT] - 패스키 로그인 원리- 지문인증 통한 개인키 전자서명 제출(PKI 인증)

 

패스키 로그인 원리- 지문인증 통한 개인키 전자서명 제출(PKI 인증)

지난 포스팅에서 패스키가 얼마나 쉽고 편리한 로그인 UX를 제공하는지 보셨다. 못보신 분들은 하단의 지난 포스팅 참조 바란다. 오늘은 간단히 패스키 로그인 원리에 대해서 내가 이해하는 방

superheroeddy.com

 

에디가 찰스경 저택에 입장하는 행위를 서비스 로그인이라 가정하고 조금 더 기술적으로 표현해보면 아래 그림과 같다. 

 

찰스경 저택은 서비스, 에디는 서비스 사용자다.  

패스키 로그인. 패스키 기술적 동작 방식 및 구조
패스키 로그인. 패스키 기술적 동작 방식 및 구조

  1. 에디는 자신의 스마트폰으로 서비스에 로그인하려 한다.
  2. 에디의 스마트폰은 서비스에 challenge를 요청한다.
  3. 서비스는 challenge를 생성해서 에디의 스마트폰에 전송한다. (이와 함께 Credential ID, RPID 등도 함께 전송한다.)          Challenge는 사용자의 접속 요청이 들어왔을 때 서비스가 생성해서 사용자에게 보내는 일종의 난수값이다. Replay 공격을 방지하기 위해 부여하기도 한다. 
  4. 에디의 스마트폰은 전송받은 challenge 등의 정보를 플랫폼 혹은 OS에서 제공하는 API(Web 환경의 경우 navigator.credentials.get())의 parameter로 설정한 다음 해당 API를 호출한다.             호출 결과로 스마트폰 OS는 사용자 검증을 요청하는데 이것이 바로 기기잠금해제 요청이며 지난 포스팅에서 예로 든 지문인증(지장 날인)이다.           기기잠금을 얼굴인식으로 설정한 사람도 있고 지문인증이나 패턴인증으로 설정한 사람도 있을 것이며 PIN 번호로 설정한 사람도 있을 것이다. 무엇으로 설정했건 간에 스마트폰은 기기잠금해제를 위한 인증을 사용자에게 요청하면서 해당 UI를 화면에 띄운다.   
  5. 에디는 사용자 검증을 수행한다. 검증에 성공하는 경우 개인키에 대한 접근 권한이 얻어지는데... 이 개인키로 전자서명을 한다. 즉 challenge를 개인키로 암호화한다.(Authenticator라는 모듈이 암호화를 수행)   
  6. 스마트폰은 전자서명된 challenge 등의 정보를 서비스로 전송한다. 
  7. 서비스는 전달 받은 정보를 에디의 public key로 복호화해 검증한다. 검증 성공 후, 에디의 서비스 로그인을 허락한다.   
반응형

 

상기 프로세스는 Passkey by SK Telecom이라는 웹사이트에 더 기술적으로 세세히 나와있으니 참고하시라.

https://www.passkey-sktelecom.com/

 

Passkey by SK Telecom

비밀번호 없는 세상, 패스키와 함께

www.passkey-sktelecom.com:443

 

 

SK Telecom도 Passkey 서비스를 출시한 모양이다. SKT는 구글이나 애플, Microsoft, 삼성전자처럼 OS 사업자나 플랫폼 사업자는 아닌 것 같은데... 어떻게 서비스를 구성했는지 궁금하다. 다음 기회에 좀 더 알아보도록 하겠다. 

 

아무쪼록 패스키가 무엇인지 궁금하신 분들에게 도움이 되길 바란다. 이상 포스팅 모두 마친다. 

반응형

댓글