요약

  • IETF 개인 초안의 새 사례는 에이전트가 음식, 이동, 생활용품을 하루 동안 주문하되 건당 30달러, 하루 합계 100달러를 넘기지 않도록 한다. 38달러짜리 이동은 사람이 그 주문을 명시적으로 예외 승인할 때까지 멈춘다.
  • 각 서비스는 자기 주문 금액만 알 수 있다. 공통 하루 한도를 집행하려면 같은 허가를 식별하고 누적 사용액을 확인하며 허가 전체를 철회할 수 있어야 한다. 초안은 그 공백을 지적하지만 여러 서비스가 함께 쓸 완성된 계산 방식을 제시하지 않는다.

계산대는 세 개, 지갑은 하나

저녁 식사 24달러. 이동 서비스 38달러. 집에서 쓸 물건 18달러. 이동 주문은 건당 30달러라는 선을 넘어 사람의 별도 허가를 기다린다. 에이전트 권한 사례 초안의 제5판에 새로 들어간 하루 소액 주문 장면이다. 실제로 벌어진 구매 기록은 아니다. 그런데 세 숫자만 놓아도 설계의 빈칸이 보인다. 세 번째 계산대는 앞선 두 계산대가 같은 100달러에서 얼마를 썼는지 어떻게 아는가.

한 번의 주문을 30달러 이하로 묶는 일은 각 가게가 할 수 있다. 자기 가격표를 보면 된다. 하루 전체를 100달러 이하로 묶는 일은 다르다. 음식 배달, 이동, 생활용품 서비스가 독립적으로 운영된다면 각자의 영수증만으로 공통 잔액을 알 수 없다. 모두가 같은 허가를 알아보고 결제가 확정되기 전에 믿을 수 있는 현재 합계를 확인해야 한다. 숫자를 실제 순서에 놓아 보면 더 선명하다. 24달러 식사와 18달러 생활용품만 확정됐다면 사용액은 42달러, 남은 하루 한도는 58달러다. 38달러 이동은 이 잔액 안에 들어와도 건당 30달러 선에서 멈춘다. 사람이 그 이동만 예외로 승인해 결제까지 이뤄지면 합계는 80달러, 하루 잔액은 20달러가 된다. 각 가게가 자기 영수증만 보면 이 두 장부를 동시에 맞출 수 없다. 동의 화면의 숫자는 고객에게 약속을 보여준다. 계산은 화면 밖에서 일어난다.

IETF Datatracker 기록과 10월 27일 발표는 이 문서를 개인 인터넷 초안으로 기록한다. 제4판에는 하루 소액 주문 사례가 없다. 새 사례가 바라는 사용 경험은 명료하다. 사람이 처음에 강하게 인증하고 기간과 조건을 정해 주면, 에이전트가 허용 범위의 작은 주문마다 다시 사람을 부르지 않는다. 한 번의 동의로 시간을 아끼려면 하루 내내 돌아가는 공통 장부가 필요하다.

예외는 한 번의 주문에만 붙는다

초안은 허가를 여러 조건으로 나누라고 요구한다. 선택지를 보는 권한, 주문안을 만드는 권한, 주문을 실행하며 돈을 쓰는 권한은 서로 다르다. 허용할 애플리케이션, 건당 금액, 하루 합계, 끝나는 시각도 적어야 한다. 에이전트는 자기 권한을 스스로 늘리거나 연장할 수 없다. 실행된 행동마다 어느 허가에서 나온 것인지 암호학적으로 확인할 수 있어야 한다. 그렇지 않으면 카드 청구서에 ‘에이전트가 샀다’는 말만 남고, 누가 정한 어느 조건으로 샀는지는 흐려진다.

38달러 이동 주문은 두 상한이 별개라는 사실을 드러낸다. 저녁 식사 뒤 하루 잔액이 충분해도 건당 30달러를 넘기므로 멈춰야 한다. 초안의 예시는 데이브의 명시적인 예외 승인을 기다린다. 승인 화면은 이 이동, 이 금액, 이 허가를 특정해야 한다. ‘앞으로 이동 주문 허용’ 같은 넓은 선택지는 한 번의 예외가 아니라 새 권한에 가깝다. 에이전트가 친절한 문장으로 차이를 지울 수 있게 해서는 안 된다.

이 허가는 자정에 끝나고 사용자는 그보다 앞서 한 번의 행동으로 허가 전체와 거기서 파생된 권한을 철회할 수 있어야 한다. 음식 서비스의 토큰만 막고 이동 서비스의 토큰을 남겨 둔다면 철회 단추는 반쪽이다. 모든 주문을 원래 허가에 연결해야 하는 이유가 여기에 있다. 그 연결이 공통 한도를 계산하는 데도, 종료 신호를 모든 가지에 전달하는 데도 쓰인다.

작성자들은 기존 OAuth 수단의 역할을 열거한다. authorization code flow는 최초 허가에, Rich Authorization Requests는 구조화된 조건에, DPoP는 토큰을 제시하는 주체와의 결합에, 토큰 철회는 개별 토큰 중지에 쓸 수 있다. 그러나 지출 상한의 표준 의미, 허가 전체의 철회, 독립 서비스가 실행 시점에 조건을 적용할 상호운용 경로는 남아 있다고 적었다. 이 사례에는 운영 중인 공동 장부나 측정 결과가 없다. 누구의 장부를 쓸지 정하는 일이 다음 단계다.

원본 자료