토큰인증 / 제로트러스트

CWT(Crowny Web Token) + TOTP 다중인증 + IP바인딩 + API키 관리. 4단계 강화 검증으로 매 요청마다 신뢰를 증명합니다.

CWT MFA 제로트러스트 API키

🔑 CWT 토큰

JWT를 대체하는 Crowny Web Token. 4상균형3진법 서명 기반의 헤더, 페이로드, 서명 3파트 구조로 2진법 도구로는 역분석이 불가능합니다.

🔒 TOTP 다중인증

30초 주기 시간 기반 일회용 비밀번호(OTP) 생성. 6자리 코드로 2차 인증을 수행하며, 시간 동기화는 WebRTC 합의 시간을 사용합니다.

🚫 세션 블랙리스트

탈취가 의심되는 토큰을 즉시 무효화합니다. 사용자 단위 전체 세션 무효화도 지원하여 계정 침해 시 한 번에 모든 세션을 종료합니다.

📡 IP/디바이스 바인딩

토큰 발급 시 IP와 디바이스 정보를 바인딩합니다. 다른 환경에서 동일 토큰 사용 시 세션 탈취로 간주하여 자동 무효화합니다.

🔐 API 키 관리

API 키 생성, 검증, 비활성화를 관리합니다. 키별 일일 사용량 한도를 설정하여 남용을 방지하고, 만료일 기반 자동 회전을 지원합니다.

속도 제한

IP별 초당 요청 수를 제한합니다. 슬라이딩 윈도우 알고리즘으로 버스트 트래픽을 정밀하게 제어하며, 한도 초과 시 429 응답을 반환합니다.

🛡 4단계 강화 검증

모든 요청에 대해 블랙리스트 확인 → 서명 검증 → IP/디바이스 바인딩 확인 → 속도 제한 검사를 순차적으로 수행합니다. 어느 한 단계라도 실패하면 즉시 거부합니다.

🔄 리프레시 토큰

장기 세션을 위한 리프레시 토큰을 지원합니다. 액세스 토큰 만료 시 리프레시 토큰으로 재발급하여 사용자 경험을 해치지 않으면서 보안을 유지합니다.

한선씨 auth-example.한선
가져오기 "인증.한선"
가져오기 "셀코어"

// CWT 토큰 발급
변수 페이로드 = 맵생성()
맵넣어(페이로드, "사용자", "admin")
맵넣어(페이로드, "권한", "관리자")
변수 토큰 = CWT생성(페이로드, "비밀키", 3600)

// 4단계 강화 검증
변수 결과 = CWT검증(토큰, "비밀키")
만약 (결과 == 1) {
    출력값("인증 성공")
} 아니면 {
    출력값("인증 실패 — 접근 거부")
}
항목 사양
토큰 형식 CWT (Crowny Web Token) — 3진 서명
다중인증 TOTP 30초 OTP + CWT
검증 단계 4단계 (블랙리스트 → 서명 → 바인딩 → 속도제한)
IP 바인딩 토큰 발급 시 IP + 디바이스 고정
API 키 한도 키별 일일 사용량 제한
세션 무효화 즉시 / 전체 세션 일괄 무효화
속도 제한 IP별 초당 요청 한도 (슬라이딩 윈도우)