서명은 누가 받았는지 증명할 뿐, 영수증 자체가 진실인지는 증명하지 못한다. 그 차이를 테스트하는 방법
요약
본문은 '에이전트 영수증(agent receipts)'의 신뢰성 문제점을 지적하며, 단순한 서명 확인을 넘어선 진정한 검증 시스템 구축의 중요성을 강조합니다. 특히 요청된 액션과 권한 바인딩 실패, 인정된 액션과 실행 승인 실패 등 복잡한 '페이즈 쌍' 테스트가 필요하다고 설명합니다.
핵심 포인트
- 영수증은 서명만으로는 진실임을 증명할 수 없다.
- 단순 서명 확인기(plain signature checker)와 검증기(verifier)는 다르다.
- 진정한 신뢰도는 클레임 재계산에 비례한다.
- 서명된 벡터를 사용하여 시스템을 테스트해야 한다.
업계는 에이전트 영수증(agent receipts)을 표준화하고 있습니다. 이는 특정 행동이 승인되었거나, 검사가 실행되었거나, 결제가 완료되었다는 것을 기록한 서명된 기록입니다. 서명을 하는 것은 쉬운 부분입니다. 어려운 부분은 올바르게 서명된 영수증이라 할지라도 거짓일 수 있다는 것입니다.
실제 영수증 검증기(receipt verifier)와 단순 서명 확인기(plain signature checker)는 겉보기에는 완전히 동일합니다. 둘 다 유효한 영수증을 입력받으면
가장 어려운 벡터는 페이즈 쌍(phase pair)입니다. 하나는 요청된 액션과 다른 파라미터에 바인딩된 권한을 담고 있어, 아무것도 실행되기 전에 입장에서 실패합니다. 다른 하나는 인정된 액션과 다른 액션에 연결된 실행 승인(execution acknowledgment)을 담고 있어, 나중에 링크 과정에서 실패합니다. 동일한 신뢰 실패지만, 서로 다른 페이즈, 다른 불변량입니다. 서명만 확인하는 검증기(verifier)는 이 두 가지 모두를 받아들입니다.
영수증 검증 시스템을 구축하거나 구매하고 있다면, 질문은 '서명을 확인하는가'가 아닙니다. 모든 구현체는 서명을 확인합니다. 질문은 '클레임(claim)을 재계산하는가'이며, 이에 대해 정직하게 답할 수 있는 유일한 방법은 서명되어 틀리도록 설계된 벡터들을 사용하여 실행해보는 것입니다.
영수증의 신뢰도는 검증기가 재계산하려는 바인딩에 비례합니다.
재계산하지 않는 모든 것은 발급자(emitter)의 말에 의존하는 것입니다.
이 벡터들은 공개적이고, 재현 가능하며, 수작업으로 작성된 것이 아니라 작동하는 검증기에서 생성되었습니다. 만약 영수증 또는 신뢰-봉투(trust-envelope) 구현체가 있다면, 이 벡터들을 사용하여 테스트해보세요. 만약 이것들 중 하나를 받아들인다면, 당신은 검증기가 아니라 서명 확인기만을 가지고 있는 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기