Introduction
SnowPass — second-factor MFA (2차 인증) 서비스 소개
SnowPass 는 relying party (RP, 연동 애플리케이션) 가 1차 로그인 (id/password 등) 을 자체 처리한 뒤, 2차 인증만 위임하는 second-factor MFA (2차 인증) 서비스다. 두 가지 factor (인증 수단) 를 제공한다.
| Factor | 용도 | 표준 |
|---|---|---|
| PassKey | 외부 사용자 홈페이지 — platform authenticator (플랫폼 인증기, Touch ID·Face ID·Windows Hello) | W3C WebAuthn Level 2 / FIDO2 |
| TOTP | 내부 카드관리시스템 (Card System) — Bluetooth 불가 환경, Google/Microsoft Authenticator 앱 | RFC 6238 (SHA-1 / 6자리 / 30초) |
RSA Authenticator 미지원
RSA Authenticator 앱은 RFC 6238 표준 TOTP 를 지원하지 않는다 (RSA 공식 문서 명시 —
8자리/60초 전용 알고리즘, RSA Authentication Manager 서버 필수). 표준 otpauth:// QR 는
Google Authenticator, Microsoft Authenticator, Authy 등에서 동작한다. RSA 연동이 필요하면
RADIUS / RSA REST API 연동을 별도 과제로 추진해야 한다.
Deliverables (제공물)
| 제공물 | 형태 | 설명 |
|---|---|---|
| SnowPass Server | Spring Boot 앱 | MFA ceremony·credential·recovery·audit 전담 |
| REST API | OpenAPI 3.0 | private / public / admin 3계층 — API Reference |
| Java Client Library | com.snowoncard.snowpass:snowpass-client-java | private API 래핑, 의존성 Jackson 뿐 (Spring 불요) |
| JS SDK | @snowoncard/snowpass-sdk (ESM + IIFE) | WebAuthn ceremony·base64url 변환·오류 정규화. UI 없음 (headless) |
| Admin Console | Vite + React + shadcn/ui | 테넌트·사용자·credential·감사 로그 관리 |
UI 를 포함하지 않는 headless SDK 방식은 Bitwarden Passwordless.dev, Stytch headless 모드와 같은 접근으로, RP 가 브랜드·접근성 (KWCAG) 요구에 맞춰 화면을 완전히 통제할 수 있게 한다.