CWT(Crowny Web Token) + TOTP 다중인증 + IP바인딩 + API키 관리. 4단계 강화 검증으로 매 요청마다 신뢰를 증명합니다.
JWT를 대체하는 Crowny Web Token. 4상균형3진법 서명 기반의 헤더, 페이로드, 서명 3파트 구조로 2진법 도구로는 역분석이 불가능합니다.
30초 주기 시간 기반 일회용 비밀번호(OTP) 생성. 6자리 코드로 2차 인증을 수행하며, 시간 동기화는 WebRTC 합의 시간을 사용합니다.
탈취가 의심되는 토큰을 즉시 무효화합니다. 사용자 단위 전체 세션 무효화도 지원하여 계정 침해 시 한 번에 모든 세션을 종료합니다.
토큰 발급 시 IP와 디바이스 정보를 바인딩합니다. 다른 환경에서 동일 토큰 사용 시 세션 탈취로 간주하여 자동 무효화합니다.
API 키 생성, 검증, 비활성화를 관리합니다. 키별 일일 사용량 한도를 설정하여 남용을 방지하고, 만료일 기반 자동 회전을 지원합니다.
IP별 초당 요청 수를 제한합니다. 슬라이딩 윈도우 알고리즘으로 버스트 트래픽을 정밀하게 제어하며, 한도 초과 시 429 응답을 반환합니다.
모든 요청에 대해 블랙리스트 확인 → 서명 검증 → IP/디바이스 바인딩 확인 → 속도 제한 검사를 순차적으로 수행합니다. 어느 한 단계라도 실패하면 즉시 거부합니다.
장기 세션을 위한 리프레시 토큰을 지원합니다. 액세스 토큰 만료 시 리프레시 토큰으로 재발급하여 사용자 경험을 해치지 않으면서 보안을 유지합니다.
가져오기 "인증.한선" 가져오기 "셀코어" // CWT 토큰 발급 변수 페이로드 = 맵생성() 맵넣어(페이로드, "사용자", "admin") 맵넣어(페이로드, "권한", "관리자") 변수 토큰 = CWT생성(페이로드, "비밀키", 3600) // 4단계 강화 검증 변수 결과 = CWT검증(토큰, "비밀키") 만약 (결과 == 1) { 출력값("인증 성공") } 아니면 { 출력값("인증 실패 — 접근 거부") }
| 항목 | 사양 |
|---|---|
| 토큰 형식 | CWT (Crowny Web Token) — 3진 서명 |
| 다중인증 | TOTP 30초 OTP + CWT |
| 검증 단계 | 4단계 (블랙리스트 → 서명 → 바인딩 → 속도제한) |
| IP 바인딩 | 토큰 발급 시 IP + 디바이스 고정 |
| API 키 한도 | 키별 일일 사용량 제한 |
| 세션 무효화 | 즉시 / 전체 세션 일괄 무효화 |
| 속도 제한 | IP별 초당 요청 한도 (슬라이딩 윈도우) |