1. Passkeys 개요
대부분의 제품 혹은 사용자는 ID/PW의 로그인 방식을 사용합니다. ID/PW 로그인 방식은 악의적인 공격자에 의해 관리자 계정 혹은 사용자 계정 ID/PW 탈취되는 경우 제품 운영에 전반적인 위협이 될 수 있습니다.
생체인증은 기존 ID/PW 방식과 달리 악의적인 공격자에 의해 추측 혹은 누군가에 의해 재사용 될 수 없기때문에 보안에 강력합니다. 무엇보다 더 이상 비밀번호를 분실하거나 외부에 노출될 문제가 없습니다.
Passkeys는 FIDO Alliance에서 개발한 앱과 웹사이트를 위한 정교한 비밀번호 없는 로그인 옵션이며, 또한 FIDO 2.0(WebAuthn 및 CTAP2) 표준을 기반으로 합니다.
Passkeys 의 주요 특징은 다음과 같습니다.
- 개인키/공개키 암호화방식
개인키는 사용자 장치에서 유출되지 않으며, 공개키만 서버에 저장되므로 높은 보안성을 보장합니다. - 비밀번호 없는 인증
Passkeys는 비밀번호 없이도 안전하게 인증할 수 있는 방식을 제공합니다. 사용자는 생체 인식 또는 PIN을 사용하여 간편하게 인증할 수 있습니다.
※ 참고: FIDO 개요
FIDO는 Password를 서로 공유하여 인증하는, 공유방식 인증 방식 대신, 사람의 생체정보(지문, 얼굴모양, 홍채 등)나 외부 인증장치(Yubikey, Titan Security key 등)을 사용하여, “Public-Key Cryptography(공개키 암호기술)” 방식으로 보다 편리하고 안전하게 인증 기능을 제공하는 인증(Authentication) 프로토콜 표준입니다.
2. Passkeys 동작 방식
Passkeys 의 동작은 등록과정(Registration Flow)과 인증과정(Authentication Flow)으로 구분됩니다.
- 등록과정(Registration Flow)
관리자/사용자 로그인 시 최초 1회 Passkeys를 등록하는 과정입니다. 등록요청, 클라이언트 공개키/개인키 생성, 서버 검증 등의 과정을 통해 Passkeys 생체인증 서비스를 사용하기 전에 생체 Data와 클라이언트의 공개키를 서버에 등록하기 위한 프로세스입니다. - 인증과정(Authentication Flow)
관리자/사용자 로그인 시 등록과정에서 진행한 서버에 등록된 정보를 활용하여 인증요청, 서명 생성, 서명 검증 등의 과정을 통해 Passkeys 생체 인증을 수행하기 위한 프로세스 입니다.
2.1. Passkeys 상세 동작 방식 개요
아래 Flow 는 Genian ZTNA 가 설치된 상황에서 관리자/사용자가 Passkeys 를 사용하여 인증을 수행하는 절차입니다. 본 항목에서 설명하는 동작방식은 클라이언트가 관리자/사용자 인증 시 1단계 인증으로 ID/PW를 사용하고, Passkeys 를 2단계인증으로 사용하여 진행하는 과정을 설명합니다.
[그림 1] 등록/인증 과정 Flow
Passkeys 등록과정은 인증 요청, 상호인증을 위한 정보 요청, 인증정보 생성 및 전달, 인증정보 검증 및 인증 결과 전달 4단계로 되며, 등록과정은 다음과 같습니다.
1 | 관리자/사용자 Passkeys 인증 요청 | 클라이언트 → 정책서버 |
2 | 정책서버(FIDO2 Server)와 단말 간 FIDO 상호인증을 위한 정보 요청 | 정책서버 → 클라이언트 |
3 | 관리자/사용자 Passkeys 인증정보 생성 및 FIDO 상호인증 정보 전달 | 클라이언트 → 정책서버 |
4 | FIDO 상호인증 정보 검증 및 관리자/사용자 Passkeys 인증 결과 전달 | 정책서버 → 클라이언트 |
[표 1] Passkeys 등록과정
Passkeys 인증과정은 인증 요청, 상호인증을 위한 정보 요청, 인증정보 인증 및 전달, 인증정보 검증 및 인증 결과 전달 4단계로 되며, 등록과정은 다음과 같습니다.
1 | 관리자/사용자 Passkeys 인증 요청 | 클라이언트 → 정책서버 |
2 | 정책서버(FIDO2 Server)와 단말 간 FIDO 상호인증을 위한 정보 요청 | 정책서버 → 클라이언트 |
3 | 관리자/사용자 Passkeys 인증 및 FIDO 상호인증 정보 전달 | 클라이언트 → 정책서버 |
4 | FIDO 상호인증 정보 검증 및 관리자/사용자 Passkeys 인증 결과 전달 | 정책서버 → 클라이언트 |
[표 2] Passkeys 인증과정
Passkeys 구성요소의 설명은 다음과 같습니다.
- 클라이언트
클라이언트는 인증 프로세스의 중심이자 인증과정에서 신원을 증명하고, 인증 요청을 승인하는 주체입니다. 또한 사용자의 인증을 실제로 수행하는 장치나 소프트웨어를 의미합니다. - 정책서버
정책서버는 클라이언트가 인증 절차를 시작하고, 진행하며, 결과를 확인할 수 있는 인터페이스를 제공합니다. 또한 클라이언트의 인증 정보를 등록하고, 인증 요청을 처리하며, 인증 데이터의 검증을 수행합니다.
3. Genian ZTNA 의 Passkeys 사용 방법
본 Passkeys 사용 방법은 클라우드에 Genian ZTNA 정책서버가 있는 환경에서 관리자 혹은 사용자가 Passkeys를 사용하기 위한 방법입니다. Passkeys를 사용하기 위해서는 브라우저로 로그인 페이지 접속 시 도메인으로 접속해야 합니다. 클라우드 환경에서 Genian ZTNA 정책서버는 관리자 로그인 페이지와 사용자 인증 페이지에 대해 도메인 환경을 기본적으로 지원합니다.
정책서버 로그인 페이지 접속 시 도메인을 사용하지 않고, IP 로만 접근되는 경우 Passkeys 사용에 제약이 있을 수 있습니다. 자세한 설명은 5.1.Passkeys 관련 정책서버 도메인 설정(온프레미스 환경) 페이지를 참고하시기 바랍니다.
3.1. Genian ZTNA 사전 준비 사항
Passkeys 사용을 위한 사전 준비사항은 다음과 같습니다.
- Genian ZTNA 권장 버전 : Genian ZTNA V6.0.7 이상
- 접속환경 : 관리자/사용자 로그인 시 https 환경 필수
- 관리자/사용자 로그인 시 생체인증 가능한 PC 준비 필요
OS | 상세버전 | 비고 |
Windows | Windows 10 이상 | Window Hello 지원 |
macOS | macOS Ventura (13) 이상 | Touch ID 지원 |
[표3] 생체인증 가능한 PC 버전
- 온프레미스 환경인 경우 사내 도메인 서버 필요
3.2. 관리자 로그인 Passkeys 설정 및 사용 방법
● 관리자 로그인 단계별 인증 설정 방법
-
Genian ZTNA 관리콘솔 접속 후 [설정 > 환경설정 > 관리콘솔] 메뉴로 이동
-
[인증 > 2단계 인증 설정방식] 셀렉트박스에서 [개별설정] 선택
-
[인증 > 2단계 인증 설정방식 > 2단계 인증 기능활성화] 체크박스에서 [Passkeys] 체크
-
하단 [수정] 버튼 클릭하여 설정 저장
-
[관리 > 사용자] 메뉴로 이동
-
Passkeys를 적용할 계정 클릭
-
[기본정보 > 관리콘솔 로그인 설정 > 2단계 인증] 셀렉트박스에서 [Passkeys] 선택
-
하단 [수정] 버튼 클릭하여 설정 저장
● 관리자 로그인 인증 단계별 로그인 방법
3.3. 사용자 인증 Passkeys 설정 및 사용 방법
● 사용자 인증 단계별 설정 방법
● 사용자 인증 단계별 로그인 방법
4. Passkeys 적용 후 기대효과
Genian ZTNA 제품에 Passkeys 적용 후 기대효과는 다음과 같습니다.
○ 보안 향상
- 비밀번호 탈취 취약성 감소
Passkeys는 사용자가 쉽게 추측할 수 있는 비밀번호나 여러 서비스에서 동일하게 사용하는 비밀번호와 관련된 문제의 취약성을 감소시킬 수 있습니다. - 피싱 방지
생체인증은 사용자의 생체 데이터를 기반으로 하기 때문에 피싱 공격으로부터 보호됩니다. - 데이터 유출 방지
생체 정보는 서버에 저장되지 않고, 디바이스 내에서 처리되므로 해킹 시에도 개인정보 유출 위험이 낮습니다. - 다중 요소 인증
FIDO 2.0은 비밀번호 없이도 안전하게 인증할 수 있는 다중 요소 인증(Multi-factor Authentication, MFA)으로 활용될 수 있습니다.
○ 사용자 편의성 증대
- 로그인 간소화
생체인증을 통해 비밀번호를 입력할 필요 없이 빠르고 간편하게 로그인할 수 있습니다. - 사용자 편의성 향상
생체인증은 지문, 얼굴 인식 등으로 빠르게 인증이 가능하여 사용자가 더 편리하게 서비스를 이용할 수 있습니다.
○ 관리 비용 절감
- 비밀번호 재설정 비용 절감
비밀번호 분실 시 발생하는 재설정 비용과 번거로움이 절감됩니다. - 고객 지원 비용 절감
비밀번호 관련 문제로 고객 지원 센터에 문의하는 사례가 감소하여 운영 비용을 절감할 수 있습니다.
5. 참고
5.1. Passkeys 관련 정책서버 도메인 설정(온프레미스 환경)
정책서버 로그인 페이지 접속 시 도메인을 사용하지 않고, IP 로만 접근되는 경우 Passkeys 사용에 제약이 있을 수 있습니다. 온프레미스 경우 도메인이 별도로 존재하지 않을 시 정책서버 도메인 설정이 필수입니다.
Passkeys 사용 시 정책서버 도메인이 필요한 이유
- 도메인 기반 신뢰
WebAuthn은 RP 서버의 도메인에 기반하여 인증을 수행합니다. - 피싱 방지
도메인 사용을 통해 피싱 공격을 방지할 수 있습니다. WebAuthn은 등록된 도메인에서만 작동하도록 설계되어 있기 때문입니다. - 공개 키의 도메인 연계
FIDO2 인증에서는 사용자 장치에 저장된 공개 키가 특정 도메인과 연결됩니다. 이는 다른 도메인에서 해당 키를 사용할 수 없도록 보장합니다. 예를 들어, 사용자가 example.com에 대해 등록한 공개 키는 example.com에서만 유효하며, 다른 도메인에서는 사용할 수 없습니다.
정책서버 도메인 설정 방법
정책서버에서 도메인 설정 방법은 다음과 같습니다. (사내 도메인 서버가 존재하는 경우)
- Genian ZTNA 관리콘솔 접속 후 [설정 > 환경설정 > 에이전트] 메뉴로 이동
- [동작옵션 > 센터 CA 인증 설치] 항목 라디오 버튼 [On] 으로 설정
- 하단 [수정] 버튼 클릭하여 설정 저장
- [설정 > 접속 인증 페이지(CWP) > CWP 설정] 메뉴로 이동
- [CWP 도메인 설정] 입력칸에 변경할 도메인 입력 (ex. cc.genianslab.com)
- 하단 [수정] 버튼 클릭하여 설정 저장
- 정상 적용을 위해 정책서버 재부팅 수행
글쓴이. 김용학
지니언스 GRC연구실 보안인증기획팀에서 보안인증 관련 업무를 담당하고 있습니다.