Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

정보 보안 모델이란? 개념부터 핵심 구성 요소까지 한눈에

정보 보안에서 보안 모델(security model)은 보안 정책을 식별하고 적용하기 위해 사용되는 컴퓨터 모델을 의미합니다. 보안 모델은 반드시 특정한 선행 형태를 가져야 하는 것은 아니며, 접근 권한 모델, 분석적 컴퓨팅 모델, 계산(computation) 모델 등 다양한 기반 위에서 구축될 수 있습니다.

보안 모델과 보안 정책의 관계

보안 모델은 보안 정책이 개발되는 구조적 틀입니다. 보안 정책은 특정 환경이나 정책 사례에 맞추어 발전되며, 인증을 기반으로 하되 보안 모델이라는 틀 안에서 구축됩니다.

4대 보안 요소

예를 들어 인증과 권한 부여를 중심으로 보안 모델을 설계할 때는 다음과 같은 4대 보안 요소를 종합적으로 고려하게 됩니다.

  • 인증(Authentication): 사용자나 시스템의 신원을 확인하는 과정
  • 권한 부여(Authorization): 인증된 주체에게 접근 권한을 부여하는 과정
  • 가용성(Availability): 필요할 때 자원에 접근 가능하도록 보장하는 속성
  • 진본성(Authenticity): 데이터나 통신이 위조·변조되지 않았음을 보장하는 속성

보안 정책이 결정하는 사항

보안 정책은 데이터에 어떤 방식으로 접근할 수 있는지, 어느 수준의 보안이 필요한지, 그리고 이러한 요구 사항이 충족되지 않을 경우 어떤 절차를 밟아야 하는지를 결정합니다. 즉, 보안 정책은 컴퓨터 시스템이나 장치에 대한 기대치를 규정하는 역할을 합니다.

보안 모델의 실제 적용 예시

보안 모델은 특정 보안 정책을 올바르게 제공하고 구현하는 데 필요한 요구 사항을 체계화한 명세라고 할 수 있습니다. 몇 가지 대표적인 예시를 통해 그 역할을 살펴보겠습니다.

1. 접근 통제 행렬(Access Control Matrix)

보안 정책이 "네트워크 자원에 접근하기 전에 사용자가 식별되고, 신뢰할 수 있으며, 검증되어야 한다"고 명시한다면, 보안 모델은 이러한 요구 사항을 충족하도록 접근 통제 행렬을 어떻게 구성해야 하는지 구체적으로 제시할 수 있습니다.

2. 보안 등급 기반 접근 제한

보안 정책이 "낮은 보안 등급의 사용자는 높은 보안 등급의 데이터를 열람하거나 변경할 수 없다"고 규정한다면, 이를 뒷받침하는 보안 모델은 어떠한 경우에도 낮은 등급의 주체(subject)가 높은 등급의 객체(object)에 허가받지 않은 방식으로 접근할 수 없음을 보장하기 위해 구현해야 할 필수 논리와 규칙을 정의합니다. 대표적인 예로 군사 및 정부 시스템에서 널리 활용되는 벨라파둘라(Bell-LaPadula) 모델이 있으며, 이 모델은 기밀성 유지를 위해 상위 등급 정보에 대한 비인가 접근을 엄격히 차단합니다.

결국 보안 모델은 특정 보안 정책을 제대로 지원하기 위해 컴퓨터 운영체제를 어떻게 설계해야 하는지에 대한 상위 수준의 설명을 제공하는 역할을 합니다.

정책과 운영체제 구현 사이의 다리 역할

정보 보안 모델은 보안 정책 선언(어떤 사용자가 데이터에 접근해야 하는지 정의)과 운영체제 구현(관리자가 접근 통제를 조직화할 수 있도록 허용) 사이의 간극을 메워 주는 징검다리 역할을 합니다. 이러한 모델은 이론적 목표를 수학적 관계로 사상(mapping)함으로써, 최종적으로 선택된 어떤 구현 방식이든 더욱 견고하게 뒷받침합니다.

추상적·이론적 모델로서의 성격

모델의 가장 적절한 표현은 '추상적' 또는 '이론적' 모델입니다. 이는 물리적, 생물학적 또는 사회적 과정을 나타내는 가설적 구조물로서, 변수들의 집합과 그 변수들 간의 논리적·정량적 관계들로 구성됩니다.

이러한 분류의 관점에서 보면, 모델이란 프로세스, 변수, 관계를 보여주는 상위 수준의 구조물입니다. 모델은 본질적으로 이론적이고 추상적이기 때문에, 실제 시스템에서 어떻게 구현될지에 대한 세부적인 방법까지는 일반적으로 다루지 않습니다. 구체적인 구현은 모델이 제시하는 원칙과 규칙을 바탕으로 운영체제나 보안 시스템 설계 단계에서 이루어지는 것이 일반적입니다.