Zero Trust — logi 보안 모델
한 줄 요약: logi는 "정문에서 한 번 인증"이 아니라 세션 내내 지속적으로 검증하는 패스워드리스 OIDC IdP입니다. 비밀번호가 없고(passkey), 토큰은 짧고(15분), 모든 접근은 매번 다시 확인됩니다.
왜 Zero Trust인가
전통적 보안은 "네트워크 안쪽이면 믿는다"였습니다. Zero Trust는 그 가정을 버립니다 — 네트워크 위치는 신뢰의 근거가 아니며, 모든 요청은 그 자체로 증명되어야 한다.
logi는 이 원칙을 마케팅 용어가 아니라 실제 동작으로 구현합니다:
- 🔑 비밀번호 없음 — passkey(WebAuthn)는 피싱 사이트에서 서명 자체를 거부합니다 (origin 바인딩).
- ⏱️ 짧은 토큰 — Access Token은 15분만 유효합니다. 탈취돼도 수명이 짧습니다.
- 🔁 매 요청 재검증 — 세션은 로그인 시 한 번이 아니라 모든 요청마다 유효성을 다시 확인합니다.
- 📱 디바이스 신뢰 — iOS App Attest / Android Play Integrity로 앱이 진짜인지 증명합니다.
NIST Zero Trust 7원칙 ↔ logi
NIST SP 800-207은 Zero Trust를 7가지 원칙(tenet)으로 정의합니다. logi가 각 원칙을 어떻게 충족하는지:
| # | NIST 원칙 | logi 구현 |
|---|---|---|
| 1 | 모든 데이터/서비스를 보호 대상 리소스로 본다 | RP·scope·resource를 명시 리소스로 모델링 (resource indicator, RFC 8707) |
| 2 | 네트워크 위치와 무관하게 모든 통신을 보안한다 | 모든 OAuth 엔드포인트 HTTPS 강제 + HSTS preload |
| 3 | 리소스 접근은 세션 단위로 부여한다 | Access Token 15분 단명 + 세션을 매 요청 재검증 (탈퇴·정지 사용자 즉시 차단) |
| 4 | 접근은 동적 정책으로 결정한다 | step-up 재인증, scope 동의, 로그인 방법 제한 |
| 5 | 자산의 무결성·보안 태세를 모니터링한다 | App Attest / Play Integrity, 의심 로그인 탐지, 변조 불가 감사 로그(hash chain) |
| 6 | 모든 인증·인가는 동적이고 접근 허용 전 엄격히 집행한다 | JWKS 서명 검증, introspection(opt-in), 미등록 client·redirect_uri 거부(fail-closed) |
| 7 | 자산·통신 상태 정보를 최대한 수집해 보안을 개선한다 | Panopticon 관측, 로그인 로그, 감사 로그 |
핵심 메시지: 지속 검증 (Continuous Verification)
Zero Trust의 심장은 "한 번 통과 = 끝"이 아니라는 것입니다. logi에서 인증은 이벤트가 아니라 상태입니다:
로그인 → [세션] → 요청1 재검증 → 요청2 재검증 → ... → 민감 작업? → step-up 재인증
↑ ↑ ↑
매 요청 세션 유효성 탈퇴/정지 즉시 반영 OTP·passkey UV 다시 요구- 세션 재검증: 모든 요청에서 사용자가 여전히 유효한지(탈퇴·정지 여부) 확인합니다.
- 권한 확장 모니터링: RP가 이전에 쓰지 않던 scope를 요청하면 (scope drift) 기록·통지합니다.
- 이상 신호 감지: 국가 변경·처음 보는 기기 등 의심 신호를 탐지합니다.
- 민감 작업 재인증: 보안 설정 변경 등은 최근 OTP/passkey 확인을 다시 요구합니다(step-up).
더 알아보기
- logi가 검증하는 방법 — RP 개발자를 위한 실전 가이드 (토큰 검증·디바이스 신뢰·step-up)
- 보안 Best Practices (RP 측) — 통합 체크리스트
- Threat Model — 위협 분석
- Panopticon · AI Guard — AI 에이전트 접근 관측·통제