
영상 링크: How to Secure Agents using OAuth — Jared Hanson (Keycard, Passport.js)
채널명: AI Engineer
OAuth를 활용한 에이전트 보안 방법 핵심 요약
- OAuth는 AI 에이전트와 시스템 간 보안 연결을 위한 핵심 표준 프로토콜임을 강조함
- 에이전트가 더 많은 시스템에 연결될수록 유용성이 커지지만, 그만큼 보안 위협도 증대함
- 기존에는 장기 유효·광범위 권한의 API 키 사용이 일반적이나, 이는 대규모에서 심각한 보안 문제를 야기함
- OAuth는 정적 비밀 정보 대신 동적 토큰 기반 인증·권한 관리로의 전환을 가능하게 함
- OAuth 구조(클라이언트, 리소스 서버, 권한 서버)와 실제 서비스(예: 구글 달력 연동) 구현 사례를 구체적으로 설명함
- MCP 프로토콜의 초창기 권한 관리 부재, OAuth 적용의 잘못된 시도 및 커뮤니티 내 개선 논의 과정을 소개함
- 최신 MCP 초안은 OAuth 구조를 올바르게 반영하여 서버의 보안책임을 간소화하고 신뢰성 높임
- 향후 보안을 위해 에이전트-에이전트 통신, 동적 클라이언트 등록, 에이전트 인증 방식, 트랜잭션 기반 권한 관리 등 추가 과제를 강조함
- 히트 토픽: 동적 접근 제어, 인증의 범위 확장, 체인 오브 커스터디(데이터 경로 추적), 실시간 및 비동기 사용자 상호작용 보안
- Keycard사는 표준 기반(ADA, MCP, OAuth) 플랫폼으로 다양한 AI 에이전트·앱·인프라 보안을 지원하며, 협업 및 채용을 알림
세부 요약 - 주제별 정리
OAuth 구조를 통해 AI 에이전트 보안 문제를 해결할 수 있음을 밝힘
- AI 및 LLM 기반 에이전트의 대중화로 점점 더 많은 시스템 연결이 필요해짐
- 에이전트 보안은 매우 중요하며, 안전과 가치 제공 사이의 균형이 필요함
- 기존 방식(API 키 기반 접근)은 복사·붙여넣기 및 환경 변수 관리 등으로 보안에 취약함
- 수백~수천의 에이전트에서 동일 패턴을 적용하면 대규모 보안 위협이 발생함
- 해결책으로 정적 키 대신 OAUTH 등 동적 권한 부여 방식이 제시됨
OAuth는 어플리케이션·API 간 보안 통신을 표준화한 프로토콜임을 실사례로 설명함
- OAuth는 애플리케이션(클라이언트)이 API(리소스 서버)에 접근할 때 권한 서버가 중개하는 구조임
- 실제 예: Calendly가 Google Calendar와 연동시 OAuth가 사용됨
- Calendly가 Google에 접근 권한 요청, 사용자가 로그인·동의, Google이 액세스 토큰 발급, Calendly가 토큰으로 캘린더 사용
- Refresh 토큰 등으로 단기 토큰 관리를 자동화해 보안성을 높임
- 사용자 위임이 개입된 기본 플로우는 Authorization Code Flow로 명명됨
OAuth가 소셜 로그인·인증에도 사용되는 혼동스러운 구조를 OpenID Connect로 설명함
- OAuth는 ‘권한 위임 프로토콜’이지만, “구글로 로그인” 등 인증(Authenticate) 역할도 자주 수행함
- 이는 UserInfo API(사용자 정보 반환 API)를 통해 인증에 활용된 특수 케이스임
- 흔히 혼동을 유발해 OpenID Connect라는 표준이 오피셜하게 정의됨
- 사용자 정보의 리턴 포맷(Claims), ID Token(JWT 형식) 추가
- OAuth의 용어(Authorization Server→Identity Provider, Application→Relying Party) 확장
OAuth 역할 3분 구조가 API 기반 시스템의 보안체계에 이득을 주는 방식을 설명함
- 클라이언트(요청자), 리소스 서버(응답자)가 기존 아키텍처와 동일
- 중간에 Authorization Server(토큰 발급·인증·동의 관리) 추가됨
- API 입장에서는 인증·승인 부문을 위임받아 개발·운영 부담이 줄어듬
- 정책의 중앙 집중화, 생태계 확장, 다양한 앱·API 간 협업이 용이해짐
MCP 프로토콜의 초창기 권한 관리 미비와 개선 논의 과정을 상세하게 다룸
- MCP는 약 7개월밖에 안 된 새로운 프로토콜로, 첫 버전은 ‘N-OAUTH 버전’(권한 관리 부재)
- 초기 목표는 로컬 MCP 서버 활성화였으며, 원격 서버까지 고려는 되었으나 권한 제어 없음
- 이후 March 말 최신 초안에서는 OAuth를 도입하려 했으나, 설계 미스 발생
- MCP 서버가 리소스 서버와 권한 서버 역할을 함께 맡음(역할 분리 실패)
- 커뮤니티에서 이 문제를 적극적으로 비판(Christian Posta, Aaron Perkey 등 블로그로 확산)
- 수백 개의 코멘트가 달린 PR(이슈 수정 제안)로 서버 역할 분리 필요성 논의
- 발표자(Jared Hanson)도 1월에 사전 리뷰로 올바른 역할 분리 제안함을 언급
최신 MCP 초안은 OAuth 구조를 올바르게 적용하여 보안성과 운영 효율을 높임
- 권한 서버는 완전히 별도의 엔터티로 분리됨
- MCP 서버는 리소스 서버로서 들어온 토큰을 검증하는 역할만 남음
- 토큰 관리·사용자 인증·정책 판단은 권한 서버에 위임됨
- 초안이 발전하면서, MCP 표준이 보안적으로 강해지고, 운영 부담 역시 감소함
보안 강화를 위해 미래에는 에이전트-에이전트 통신 방안이 추가적으로 필요함을 강조함
- 전통적인 OAuth 플로우는 사용자 위임에 초점(Authorization Code Flow)
- 그러나 에이전트-에이전트, 에이전트-서버 통신에는 클라이언트 자격 증명(Clinent Credentials) 플로우가 더 적합
- 사용자가 직접 개입하지 않는 자동화된 통신을 실현하기 위함
동적 클라이언트 등록과 에이전트 인증 방식이 실용적 대안으로 제안됨
- 기존 OAuth API 연동은 매번 개발자 포털에서 수동 등록·클라이언트 ID/시크릿 획득 필요(높은 진입 장벽)
- MCP 표준은 상호 인식 없는 다양한 툴·에이전트 조합을 위해 동적 클라이언트 등록(Dynamic Client Registration) 도입
- 어플리케이션·에이전트가 런타임에 자격 획득 요청
- 10년 전 정의된 사양이나 실제 채택은 거의 없고, 익명성 이슈로 신뢰성 낮음
- 대안1: 공개 클라이언트(Public Client)용 Push Client Registration(정해진 문자열로 신속 인식)
- 대안2: 신뢰가 필요한 경우 URL(공개키 PKI) 방식의 클라이언트 인증·식별 제안
- URL(예: agent.com)을 OAUTH 클라이언트 ID로 사용, 공개키 서명으로 신뢰 확보
에이전트 신뢰성 확보(Attestation)와 공급망 안전성이 시스템적으로 필요함을 강조함
- 에이전트가 외부 리소스 접근 후 LLM 등에 정보를 넘길 때, 데이터 경로에 대한 가시성·통제가 필요
- LLM을 API로 취급할 수 있으나, 엔드 유저 컴퓨터/모바일 배포 등 소프트웨어 환경이 불확실한 경우 한계 존재
- IETF 내에서 원격 attestation·공급망 보안을 위한 논의 활발히 진행
- 기기 및 소프트웨어 상태 증명으로 데이터가 어떤 AI 환경에 전달되는지 추적·통제 가능
트랜잭션별, 미세 권한 제어 등 동적·미세화된 접근통제의 도입이 시급함을 설명함
- OAuth의 Scope 기반 접근 방향은 기존 패스워드 방식보다 세분화·보안면에서 진일보
- 실제 업무에서는 목적별·트랜잭션별 접근(예: 금전·상거래 별도 허가)이 필요
- Rich Authorization Requests(RAR)와 같이 요청별로 조건이 다른 권한을 부여할 수 있는 사양이 부상 중
- AI 에이전트가 예산·거래 금액 등 세부 정보를 포함해 쿼리/명령 시 동적 권한이 필수
체인 오브 커스터디: 다중 시스템·에이전트가 협력 시 권한·추적의 연속성이 중요함을 지적함
- MCP의 역할은 에이전트-MCP 서버 연결까지만 규정, 이후 단계(서버가 다른 API 호출)는 명확치 않음
- OAuth Token Exchange를 활용해 권한을 다단계로 위임·이전할 수 있고, 서드파티 API 연동에도 활용
- 도메인 간 권한·신원 연쇄(Identity Chaining) 필요성이 대두, Identity Assertion Grant 등이 대표적 사양
실시간·비동기·멀티채널 환경에서 상호작용과 인증·권한 추가 요청이 새로운 과제로 등장함
- OAuth는 전통적 웹-브라우저-사용자 패턴을 가정하나, AI 에이전트는 백그라운드·비동기 작업 빈번함
- 사용자가 없거나 부재 중일 때 추가 권한 요청을 SMS·푸시 등 실시간 채널로 보완하는 방식 필요
- Voice, Video 등 새로운 인터페이스에서 실시간 인증·보안 문제(예: SIP, XMPP, WebRTC) 연구도 중요
Keycard사는 표준 기반 통합 플랫폼으로 다양한 AI 에이전트 보안을 실현하며 파트너십과 채용을 진행함
- Keycard는 인증 및 접근관리(Identity & Access Management) 전문 스타트업임을 소개
- Co-pilots, 커스텀/서드파티 에이전트와 앱, 인프라를 ADA, MCP, OAUTH 등 표준 기반으로 안전하게 연결 지원
- 플랫폼·소프트웨어 설계 및 보안에 관심 있는 인재, 함께 구축할 파트너 기업을 적극 모집
- keycard.ai에서 자세한 정보 제공 및 연락 가능함