Clark-Wilson 모델로 상업 시스템의 데이터 무결성 지키기

Clark-Wilson 모델의 CDI·UDI, TP·IVP, 직무 분리 원칙과 상업 시스템 데이터 무결성 보호 방식을 정리한다.

2026-08-14 · 최초 발행 2025-06-15

상업 환경의 데이터는 기밀성만으로 보호되지 않는다. 누가 어떤 절차로 값을 바꾸고, 변경 뒤에도 데이터가 유효한 상태인지가 함께 관리되어야 한다. Clark-Wilson 모델은 이런 데이터 무결성 문제를 다루기 위해 1987년 David Clark과 David Wilson이 제안한 형식적 보안 모델이다.

군사 보안 환경보다 비즈니스 환경에 초점을 맞춘 초기 모델 가운데 하나이며, 내부자에 의한 사기와 데이터 조작을 막는 데 무게를 둔다. 모델이 겨냥하는 목표는 인가된 사용자만 데이터를 수정하게 하고, 조작 과정의 내부·외부 일관성을 지키며, 충돌 가능한 업무를 분리하는 것이다.

데이터와 변경 절차를 분리해 다루는 방식

Clark-Wilson 모델은 보호 대상 데이터와 외부 입력을 구분한다.

제한된 데이터 항목(CDI, Constrained Data Items)은 무결성이 유지되어야 하는 데이터다. 금융 기록, 재고 데이터, 인사 정보가 여기에 해당한다. 반대로 제한되지 않은 데이터 항목(UDI, Unconstrained Data Items)은 사용자 입력이나 외부 소스에서 가져온 원시 데이터처럼, 아직 무결성 검증이 필요하지 않은 입력이다.

CDI는 변환 프로시저(TP, Transformation Procedures)로만 변경한다. TP는 데이터 무결성을 지키는 상태 전환을 수행하는 유일한 경로다. 무결성 검증 프로시저(IVP, Integrity Verification Procedures)는 CDI가 유효한 상태인지 확인하며, 시스템 시작 시와 주요 변경 뒤에 실행된다.

무결성을 강제하는 인증과 시행 규칙

이 모델은 9가지 규칙으로 무결성 보장을 구성한다. 인증 규칙(C)은 데이터와 프로시저 자체가 유효한지 다룬다.

  • C1: 모든 IVP는 모든 CDI가 유효한 상태에 있음을 확인해야 한다.
  • C2: 모든 TP는 유효한 CDI 상태에서 다른 유효한 CDI 상태로 변환을 보장해야 한다.

시행 규칙(E)은 실제 시스템이 사용자, TP, CDI의 관계를 어떻게 제한할지를 규정한다.

  • E1: 시스템은 인증된 사용자만 TP를 실행할 수 있도록 보장해야 한다.
  • E2: 시스템은 사용자가 지정된 TP 집합만 실행할 수 있도록 제한해야 한다.
  • E3: 시스템은 인증된 사용자 식별을 보장해야 한다.
  • E4: 시스템은 모든 TP가 인증된 사용자에 의해서만 변경될 수 있도록 보장해야 한다.
  • E5: 시스템은 특정 TP 집합만 특정 CDI에 접근할 수 있도록 제한해야 한다.
  • E6: 시스템은 각 사용자의 인증 정보 목록을 유지해야 한다.
  • E7: 시스템은 특정 사용자가 특정 CDI 집합에 대해 특정 TP 집합을 실행할 수 있도록 허용해야 한다.

사용자 인증만 통과하면 데이터를 직접 수정할 수 있는 구조와 달리, Clark-Wilson 모델은 인가된 사용자라도 정해진 TP와 CDI의 조합 안에서만 작업하게 한다.

인증E1, E2, E3 적용권한 있음권한 없음입력CDI 수정검증유효함유효하지 않음사용자시스템권한 확인TP 실행접근 거부UDICDIIVP정상 상태오류 처리

한 사람이 충돌하는 업무를 끝까지 처리하지 못하게 한다

직무 분리는 Clark-Wilson 모델의 핵심이다. 정적 직무 분리에서는 사용자가 잠재적으로 충돌하는 작업 권한을 동시에 가질 수 없다. 예를 들어 동일한 사용자가 구매 주문 생성과 승인을 모두 수행할 수 없다.

동적 직무 분리는 특정 트랜잭션 인스턴스에 적용된다. 구매 주문을 생성한 사용자는 같은 주문을 승인할 수 없으며, 권한이 있더라도 해당 트랜잭션에서는 충돌 작업이 거부된다.

주문 생성주문 승인X거부됨사용자 A주문 #1234사용자 B사용자 A승인 시도

금융과 ERP에서의 적용 형태

은행 송금 시스템에서는 계좌 잔액과 거래 기록이 CDI가 된다. 고객의 송금 요청은 UDI이며, 송금 처리 프로시저가 TP 역할을 한다. 송금 뒤 계좌 잔액을 확인하는 과정은 IVP에 해당한다. 대규모 송금에 두 명의 직원 승인을 요구하는 방식은 직무 분리의 적용 사례다.

ERP 시스템에서는 재고 수준, 주문 데이터, 재무 기록을 CDI로 관리할 수 있다. 공급업체 송장과 고객 주문은 UDI이며, 주문 처리와 재고 업데이트가 TP가 된다. 재고와 회계 기록 사이의 일관성을 검사하는 절차는 IVP에 해당한다. 구매 요청, 승인, 수령, 지불 기능을 분리하는 것도 같은 원리를 따른다.

Bell-LaPadula와 Biba가 다루는 지점

Bell-LaPadula 모델은 군사 환경에서 기밀성을 중심으로 정보 흐름과 읽기·쓰기 접근을 제어한다. Clark-Wilson 모델은 상업 환경의 무결성을 중심에 두고, 데이터 조작 방법과 프로세스를 통제한다.

Clark-Wilson Model무결성 중심프로세스 제어데이터 조작 방법 제한Bell-LaPadula Model기밀성 중심정보 흐름 제어읽기/쓰기 접근 제한

Biba 역시 무결성에 중점을 두지만 다단계 무결성 수준을 사용한다. Clark-Wilson은 트랜잭션 기반 접근과 직무 분리를 통해 무결성을 보호한다는 점에서 다르다.

설계와 운영에서 남는 부담

이 모델을 완전하게 구현하려면 상세한 규칙과 구성 요소를 설계해야 하므로 복잡성이 커진다. 모든 데이터 접근에 무결성 검증을 적용하면 성능에도 영향을 줄 수 있다.

TP와 IVP를 올바르게 설계하는 일도 쉽지 않다. 직무 분리는 통제 수준을 높이지만, 사용자의 업무 경험을 저하시킬 가능성도 있다. 따라서 보호할 CDI, 허용할 TP, 검증 시점, 분리할 업무 경계를 함께 설계해야 한다.

현재 보안 관행에 남아 있는 원칙

Clark-Wilson 모델의 관점은 트랜잭션 처리 시스템의 ACID(원자성, 일관성, 격리성, 지속성) 속성, 모든 데이터 변경을 남기는 감사 추적, 세분화된 권한을 관리하는 접근 제어 목록(ACL)에 영향을 미쳤다.

SOX, PCI DSS 등의 컴플라이언스 프레임워크와 개발 파이프라인에서 무결성을 검증하는 DevSecOps에도 연결된다. 35년이 넘은 모델이지만, 금융·의료·기업 자원 관리처럼 데이터 무결성이 중요한 시스템에서 여전히 설계 기준으로 읽을 수 있다.

Clark-Wilson 모델데이터 무결성직무 분리접근 통제정보보안