경계는 유지되었다. 콘텐츠가 위조되었을 때조차. *AI 메모리 판단 — CLAIM-27: 콘텐츠 무결성(content-integrity)이
요약
AI 에이전트 메모리 검증 스택에서 콘텐츠 무결성(content-integrity)이 신선도 및 출처 검증에 미치는 영향을 분석합니다. 실험 결과, 콘텐츠가 위조되더라도 시스템의 핵심 보안 속성인 신선도와 출처 검증 기능은 독립적으로 유지됨을 증명했습니다.
핵심 포인트
- AI 에이전트 메모리 검증을 위한 'signed-AND-fresh' 게이트 구조 제안
- 콘텐츠 위조(content-forgery) 공격에도 보안 속성 유지 확인
- 신선도 및 출처 검증이 콘텐츠 무결성에 의존하지 않음을 입증
- Ablation 테스트를 통한 보안 속성별 독립적 기능 검증
저는 AI 에이전트 메모리(AI agent memory)를 위한 검증 스택(verification stack)을 구축해 왔습니다. 핵심 질문은 에이전트가 행동의 근거로 삼는 메모리가 여전히 그 행동을 규정할 권한을 가지고 있는가 하는 점입니다. 즉, 단순히 관련이 있거나 최근의 것이 아니라, 진정으로 권한이 부여된 것인지에 대한 문제입니다. 이 스택의 일부는 네 가지 속성을 가진 '서명되었고 신선한(signed-AND-fresh)' 게이트(gate)입니다: 고정된 소스 주소(pinned source address), 응답에 대한 서명(signature over the response), 콜드 스타트(cold-start) 구간을 차단하기 위한 권한 전달 시퀀스 하한선(grant-carried sequence floor), 그리고 변조 방지 마크(tamper-evident mark)입니다.
이 게이트는 (source_address, sequence)에 대해서만 서명합니다. 콘텐츠 필드인 역할(role), 범위 상한(scope_ceiling)은 포함되지 않습니다.
CLAIM-25가 발표된 후, ANP2라는 이름의 댓글 작성자가 제가 먼저 물었어야 할 질문을 던졌습니다:
표에서 명확히 읽어야 할 한 가지는 다음과 같습니다: 각 행의 ALLOW는 ablation attack (제거 공격)이 성공했음을 의미합니다 — 즉, 제거된 속성이 해당 동작을 허용했다는 뜻입니다. 이것이 ablation (제거 실험)이 보여주어야 하는 바입니다. CLAIM-27이 묻는 질문은 content-forgery (콘텐츠 위조) 적대자가 추가되었을 때 그 결과가 변하는지 여부입니다. 결과는 변하지 않았습니다.
| Ablation | Baseline verdict (기준 판결) | With forgery (위조 포함) | Verdict changed (판결 변경 여부) |
|---|---|---|---|
| A1 — no grant-carried floor | ALLOW (attack succeeded) | ALLOW | No |
| ... |
content-forgery 적대자는 아무것도 바꾸지 못했습니다. 각 ablation은 제거된 특정 속성을 드러냈습니다. 그 위에 콘텐츠 오염 (content corruption)이 추가되어도 무엇이 실패하고 무엇이 유지되는지는 변하지 않았습니다.
이 패킷에 대해, 네 가지 CLAIM-25 경계 테스트는 판결을 내리는 데 있어 content-integrity (콘텐츠 무결성)에 의존하지 않았습니다.
이것이 동의어 반복(Tautology)이 아닌 발견(Finding)인 이유
합리적인 반론이 있을 수 있습니다: 게이트(gate)가 콘텐츠를 무시하도록 설계되었으므로, 당연히 콘텐츠 위조가 결과를 바꾸지 못하는 것 아니냐는 것입니다. 그렇다면 여기서 무엇을 증명하고 있는 것일까요?
scope-soundness (범위 건전성) 질문의 핵심은 freshness (신선도) 및 source (출처) 속성이 유지되기 위해 비밀리에 content-integrity를 필요로 했는지 여부입니다. A1은 cold-start replay protection (콜드 스타트 재전송 공격 방지)을 테스트합니다. 만약 sequence floor check (시퀀스 하한선 확인)가 기능하기 위해 콘텐츠가 온전해야 한다는 점에 우연히 의존하고 있었다면, 위조된 역할(role)이 이를 드러냈을 것입니다. 하지만 그렇지 않았습니다. 각 판결은 위조된 콘텐츠가 아니라, 의도적으로 제거된 속성으로 거슬러 올라갔습니다.
"게이트는 콘텐츠를 무시한다"와 "게이트의 다른 속성들은 콘텐츠에 의존하지 않는다"는 서로 다른 주장입니다. CLAIM-27은 이 패킷에서 두 번째 주장을 뒷받침합니다.
이것은 위조된 콘텐츠가 안전하다는 뜻이 아닙니다. freshness 및 source 게이트가 콘텐츠의 정직성에 비밀리에 의존하지 않았음을 말하는 것입니다.
외부 확인
CLAIM-24 스레드 도중, FIPSign에서 근무하는 댓글 작성자인 German은 자신의 CA (인증 기관) 아키텍처 내 관련 설계 결정 사항을 언급했습니다: 인증서의 scope (범위)는 설계상 발행 후에는 불변(immutable)입니다. 왜냐하면 가변적인(mutable) scope는 서명이 보호하는 범위를 깨뜨리기 때문입니다. 만약 scope를 변경해야 한다면, 올바른 작업은 revoke (폐기) 후 reissue (재발행)하는 것입니다.
콘텐츠 무결성 (Content-integrity)은 freshness gate (신선도 게이트)를 통해서가 아니라, CA 레이어의 구조적 불변성 (structural immutability)을 통해 처리됩니다. freshness gate는 다른 레이어를 처리합니다. CLAIM-27은 이들이 비밀스럽게 결합된 것이 아니라, 진정으로 분리된 관심사 (separate concerns)임을 확인합니다.
이 테스트가 주장하는 바
서명 결정이 (source_address, sequence)에만 고정되어 있고, 콘텐츠 위조 공격자 (content-forgery adversary)가 전체 과정 동안 활성화된 상태에서 작성된 이 4단계 ablation (절제) 내부 작성 패킷에 대해:
- 콘텐츠 필드가 위조되었을 때도 4가지 ablation 판결 중 어느 것도 변경되지 않았습니다.
- 각 실패는 여전히 해당 ablation에서 의도적으로 제거된 속성으로 추적되었습니다.
- 이 패킷에서 콘텐츠 무결성은 signed-AND-fresh (서명됨 및 신선함) 레이어의 숨겨진 종속성 (hidden dependency)이 아니었습니다.
- 콘텐츠 무결성은 이 게이트가 조용히 제공하는 것이 아닌, 별개의 속성으로 남아 있습니다.
이 테스트가 주장하지 않는 바
이것은 4단계 ablation 내부 작성 패킷입니다. 시나리오, 공격자, 그리고 평가자는 동일한 연구 프로그램 내부에서 구축되었습니다. 이 결과는 명시된 서명 가정 하에 이 패킷에 대한 scope-soundness (범위 건전성)를 입증합니다. 이는 다른 서명 구현이나 다른 ablation 설계로 일반화되지 않습니다.
콘텐츠 무결성이 중요하지 않다는 뜻은 아닙니다. CLAIM-27은 콘텐츠 무결성이 signed-AND-fresh 속성의 숨겨진 종속성이 아니라, 별개의 레이어에 속한다는 것을 확립합니다. 만약 배포 시 콘텐츠 무결성이 필요하다면, 자체적인 속성이 필요합니다. FIPSign은 이를 구조적 불변성 (structural immutability)을 통해 처리합니다. 다른 아키텍처는 이를 다르게 처리할 것입니다.
이 테스트는 signed-AND-fresh 게이트가 프로덕션 준비가 되었다고 주장하지 않습니다. 독립적인 소스 유형 및 독립적인 ablation 작성자를 통한 외부 검증이 다음 단계로 요구됩니다.
이 결과는 명시된 서명 결정 — 즉, 서명이 (source_address, sequence)만을 커버한다는 조건 하에 유효합니다. 서명 범위 (signing scope)가 달라지면 공격자 모델이 변경되며 별도의 테스트가 필요합니다.
이 시리즈의 이전 내용: CLAIM-26 — 액션 이벤트 (action events)는 해당 액션 이전에 또는 동시에 작성된 불변의 권한 증거 (immutable authority evidence)와 쌍을 이루어야 합니다. CLAIM-27은 이러한 이벤트들을 신뢰할 수 있게 만드는 서명되었고 최신인 (signed-AND-fresh) 계층에 숨겨진 다섯 번째 종속성 (dependency)이 있는지 테스트합니다.
전체 시리즈: 여기서 시작하세요 — 지금까지의 나의 AI 메모리 연구 (Start Here — My AI Memory Research So Far)
_클레임 원장 (Claim ledger): github.com/keniel13-ui/ai-memory-judgment-demo
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기