발표 개요
웹 환경의 인증과 인가부터 OAuth 1.0·2.0·2.1, 인증 계층 OpenID Connect, 그리고 미래 스펙 GNAP까지 다룰 것임을 예고한다. 각 스펙을 그것이 나온 시대의 인터넷 상황과 함께 보자고 제안한다.
인증(어센티케이션)은 경찰에게 신분증을 보여 신원을 확인하는 것, 인가는 대리운전 기사에게 차 키를 위임하는 것에 비유한다. 인터넷에서 사용자의 신원 확인과 권한 위임이 어떻게 다른지 직관적으로 설명한다.
여러 사이트의 소셜 로그인 버튼, 여러 SNS 사진을 모아 편집하는 앱 등 거의 모든 서비스가 OAuth의 한 버전을 쓴다고 설명한다. 국어 소설을 시대상과 함께 배우듯 OAuth도 시대 맥락으로 보자는 관점을 다시 제시한다.
리소스 오너·OAuth 클라이언트·OAuth 서버 3역할과 302 리다이렉트 기반 인증·인가 플로우를 설명한다. 아이디/비번이 클라이언트로 가지 않는 장점과, 스코프 부재·복잡한 클라이언트 구현·역할 모호·제한적 사용 환경 같은 문제점을 정리한다.
IETF 워킹그룹이 1.0의 약점을 보완한 2.0을 만든 배경을 설명한다. 스코프 도입, 서명 원문 대신 베어러 토큰+TLS(HTTPS), 리소스 서버 분리, 짧은 억세스 토큰과 리프레시 토큰, 그리고 네 가지 그랜트 타입을 차례로 다룬다.
금융·의료 등 민감한 클라이언트가 늘며 볼트온 보안 RFC가 난립한 상황에서, 2.1이 이를 하나로 스펙화했음을 설명한다. 임플리시트/패스워드 그랜트 폐지, 디바이스 그랜트 추가, PKCE, 리프레시 토큰 일회성 회전 방식을 소개한다.
OAuth만으로 인증하면 권한(마스터키)만 증명할 뿐 신원 확인이 아니라는 호텔 직원 비유를 든다. OAuth 2.0에 JWT 기반 ID 토큰을 더해 API 콜 없이 서명 검증만으로 사용자 정보를 얻는 OpenID Connect의 원리를 설명한다.
IETF가 OAuth 3.0 개발을 접고 하위호환을 버린 GNAP 워킹그룹을 만든 소식을 전한다. 그랜트가 동적 JSON 인터랙션으로 확장되고, 정밀한 스코프 제어, JWK·PKI 내장, DID 등 신기술 연동을 지향하는 방향을 소개하며 요약으로 마무리한다.