전형적인 Bell–LaPadula 기밀성 모델에서는 단순 보안 속성이 ‘상위 등급 읽기 금지(no read up)’를, 고전적인 *-속성이 ‘하위 등급 쓰기 금지(no write down)’를 표현합니다. 이는 특정 추상 모델과 그 운영 규칙을 전제로 한 정책이지 모든 접근통제 시스템의 보편 규칙은 아닙니다.

단순 *-속성은 쓰기를 같은 등급 또는 상위 등급으로 허용할 수 있고, strict *-속성은 주체의 등급과 같은 수준에만 쓰도록 더 제한합니다. 문제에서 선택한 변형과 읽기·쓰기 연산을 반드시 확인해야 합니다.

먼저 기밀성 모델이라는 목적을 고정합니다

Bell–LaPadula(BLP)는 보안 등급을 가진 주체와 객체의 접근을 제한해 기밀성 정책을 표현하는 고전적 모델입니다. NIST의 접근통제 자료는 Secret 주체가 Top Secret 객체를 읽지 못하는 규칙을 단순 보안 규칙, 곧 ‘no read up’으로 설명하고, Secret 주체가 Confidential 객체에 쓰지 못하는 규칙을 *-속성, 곧 ‘no write down’으로 소개합니다. 두 규칙은 목적과 연산이 다르므로 하나의 방향 화살표로 뭉뚱그리면 안 됩니다.

등급을 Unclassified < Confidential < Secret 순으로 놓고 예제를 계산해 보겠습니다. 여기서는 단일 등급만 고려하고 범주(compartment), 긴급 접근, 신뢰 주체의 예외, 구현 세부사항은 제외합니다. 또한 기본 BLP 정책 규칙에 따라 판단하며, 조직 정책이나 실제 제품이 같은 규칙을 쓴다고 가정하지 않습니다.

교육용 등급표 네 건을 풀이합니다

가상 주체와 문서의 접근 요청 판정
주체 등급·연산·객체 등급결과근거
Secret 주체가 Confidential 문서를 읽음허용주체가 객체 등급보다 낮지 않아 no read up을 위반하지 않음
Confidential 주체가 Secret 문서를 읽음거부낮은 주체가 상위 객체를 읽으려는 no read up 위반
Secret 주체가 Confidential 문서에 씀거부하위 객체에 쓰려는 no write down 위반
Confidential 주체가 Secret 문서에 씀기본 *-속성에서는 허용 가능상위 객체에 쓰며 no write down은 위반하지 않음

마지막 행은 특히 주의해야 합니다. 기본 *-속성만 보면 상위 문서에 쓰는 것을 금지하지 않지만, strict *-속성에서는 주체의 현재 등급과 같은 수준에만 쓰도록 허용하므로 이 요청을 거부할 수 있습니다. 따라서 시험 문제가 ‘*-속성’인지 ‘strict *-속성’인지 구분하고, 신뢰 주체 같은 추가 규칙이 주어졌다면 그 조건을 함께 적용해야 합니다.

표에 적용할 때는 읽기와 쓰기를 분리하세요

  1. 보안 등급의 순서를 낮음에서 높음으로 적습니다.
  2. 누가 주체이고 어느 문서가 객체인지 표시합니다.
  3. 연산이 읽기이면 주체 등급이 객체보다 낮은지 검사합니다. 낮으면 기본 규칙에서 거부합니다.
  4. 연산이 쓰기이면 객체 등급이 주체보다 낮은지 검사합니다. 낮은 객체에 쓰려 하면 기본 *-속성에서 거부합니다.
  5. strict *-속성이나 신뢰 주체 등 추가 전제가 있는지 마지막에 확인합니다.

흔한 오답은 두 규칙을 뒤집거나 ‘높은 등급은 언제나 모든 작업이 가능하다’고 결론 내리는 것입니다. BLP는 기밀성 정책을 모델링하며 무결성 목표를 자동으로 충족하지 않습니다. 또 모델이 명시한 등급 관계만으로 모든 실제 정보 흐름이나 은닉 채널까지 해결했다고 주장할 수 없습니다. 접근 정책을 실제 시스템에 적용할 때는 해당 시스템의 정책과 예외를 따로 확인해야 합니다.

이 규칙은 주체의 보안 라벨과 객체의 분류 라벨이 비교 가능하다는 단순화를 사용합니다. 범주가 추가되면 등급의 서열만으로 판단할 수 없고, 주체가 그 범주에 접근할 수 있는지도 확인해야 합니다. 신뢰 주체(trusted subject), 긴급 접근(break-glass), 정보의 승인된 하향 전달 등 정책상 예외가 문제에 명시되면 기본 규칙에 예외를 적용해 판단할 수 있습니다. 예외가 명시되지 않았다면 현실 시스템에서 가능한 절차라고 추측해 허용으로 바꾸지 마세요. 또한 BLP의 허용 판정은 기밀성 모델의 규칙 안에서 요청이 가능한지 말할 뿐, 데이터가 정확하거나 승인자가 정당하다는 무결성·업무 규칙까지 보장하지 않습니다.

회상 문제

교육용 문제입니다. ‘no read up’과 기본 ‘no write down’만 적용합니다. Secret 등급의 주체가 Unclassified 등급의 파일을 열람합니다. 이 요청은 허용될까요? 이어서 주체가 같은 파일에 내용을 기록한다면 결과가 달라질까요?

두 규칙의 차이는 데이터 흐름 방향으로도 확인할 수 있습니다. 읽기는 객체에서 주체 쪽으로 정보가 들어오고, 쓰기는 주체의 정보가 객체 쪽으로 나갈 수 있습니다. 기밀성 모델은 높은 쪽 정보가 낮은 쪽으로 흘러가는 상황을 제한하려 하므로 낮은 등급의 객체를 읽는 것은 허용될 수 있지만, 그 객체에 쓰는 것은 막습니다. 다만 이 설명은 정보 흐름을 직관적으로 기억하게 돕는 모델 해석입니다. 실제 프로그램이 어떤 경로로 정보를 처리하는지, 메타데이터·오류 메시지·시간 차이 같은 부수 채널이 있는지까지 이 두 규칙만으로 모두 판정할 수는 없습니다.

읽기는 허용될 수 있지만 쓰기는 거부됩니다. 상위 등급 주체가 낮은 등급 객체를 읽는 일은 no read up에 걸리지 않습니다. 반면 낮은 등급 파일에 쓰는 일은 Secret 정보가 낮은 등급 객체로 흐를 수 있어 기본 *-속성의 no write down을 위반합니다. 이 답은 문제에 제시된 기본 규칙과 단일 등급 가정을 따릅니다.

등급 모델을 다른 접근통제 개념과 비교하며 복습하려면 정보보호론 덱 안내를 확인할 수 있습니다. 등급표와 문항은 설명을 위해 새로 만든 교육용 예시로, 공식 기출문제나 유료 카드 인용이 아닙니다.

정답을 가리고 확인해 보세요

이 글을 위해 만든 학습 예시이며 공식 기출문제나 판매 카드의 인용이 아닙니다.

기본 BLP 규칙에서 Secret 주체가 Unclassified 파일을 읽고 쓰려 한다. 두 요청의 결과는?

정답과 해설 확인읽기는 허용될 수 있고, 쓰기는 no write down을 위반해 거부됩니다.

읽기 규칙은 상위 객체 읽기만 금지합니다. 기본 *-속성은 하위 객체 쓰기를 금지합니다. 문제에 strict *-속성이나 다른 예외가 없다는 조건을 따릅니다.