데이터베이스 보안 정리
1. 데이터베이스 보안의 개념
- 정의: 데이터베이스의 일부 또는 전체에 대해 권한이 없는 사용자가 접근하지 못하도록 하는 기술.
- 목적: 데이터 보호 및 무단 액세스를 방지하여 데이터 무결성과 기밀성을 유지.
2. 데이터베이스 보안의 주요 기술
2.1 암호화
- 정의: 평문 데이터를 암호문으로 변환하여 전송 중에 도청당해도 내용이 노출되지 않도록 하는 기술.
- 복호화: 암호문을 다시 평문으로 변환하는 과정.
- 암호화 방식:
- 개인키 암호화: 송신자와 수신자가 동일한 키를 사용.
- 공개키 암호화: 송신자가 공개키로 암호화하고, 수신자가 개인키로 복호화.
2.2 접근 통제
- 정의: 데이터베이스에 저장된 객체와 사용자(주체) 사이의 정보 흐름을 제한하는 기술.
- 구성 요소:
- 객체: 데이터베이스의 테이블, 컬럼, 행 등.
- 주체: 데이터베이스 사용자.
- 접근 통제 3요소:
- 정책: 접근 가능 여부를 정의.
- 메커니즘: 정책을 구현하는 기술적 방법.
- 보안 모델: 메커니즘을 기반으로 한 접근 제어의 구조.
3. 접근 통제 정책
3.1 접근 통제 기술
- 임의 접근 통제 (DAC):
- 데이터 소유자가 접근 통제 권한을 지정.
- 특징: 소유자가 객체에 대한 모든 권한을 가짐.
- 강제 접근 통제 (MAC):
- 시스템이 주체와 객체에 등급을 부여하여 접근 통제를 지정.
- 특징: 보안 등급 비교를 통해 접근 허용.
- 역할 기반 접근 통제 (RBAC):
- 사용자의 역할에 따라 접근 권한을 부여.
- 특징: 중앙 관리자가 권한을 관리하며, 다중 프로그래밍 환경에 적합.
3.2 접근 통제 정책 종류
- 신분 기반 정책:
- 주체의 신분(개인 또는 그룹)을 기준으로 접근 제한.
- 예: 특정 사용자 또는 그룹에게만 허용.
- 규칙 기반 정책:
- 주체의 권한 또는 속성에 따라 접근 제한.
- 예: 보안 등급에 따라 접근 허용.
- 역할 기반 정책:
- 사용자가 맡은 역할에 따라 접근 제한.
- 예: 회계 팀은 급여 테이블에만 접근 가능.
4. 접근 통제 메커니즘
- 정의: 접근 통제 정책을 구현하기 위한 기술적 방법.
- 예시:
- 접근 통제 목록 (ACL): 객체마다 접근 가능한 사용자 목록을 저장.
- 능력 리스트: 사용자마다 접근 가능한 객체 목록을 저장.
- 보안 등급: 객체와 주체에 보안 등급을 부여하여 접근 제한.
- 패스워드: 인증을 통해 접근 제한.
- 암호화: 데이터 보호를 위한 암호화 기술.
5. 접근 통제 보안 모델
- 기밀성 모델:
- 목표: 인가된 사용자만 정보에 접근하도록 제한.
- 특징: 군사 목적으로 개발됨.
- 무결성 모델:
- 목표: 불법적인 정보 변경 방지.
- 특징: 정보의 정확성과 신뢰성을 보장.
- 접근 통제 모델:
- 목표: 접근 통제 정책을 메커니즘으로 발전.
- 예: 접근 통제 행렬 (주체와 객체 간 권한 관계를 행렬로 표현).
6. 기타 데이터베이스 보안 요소
6.1 접근 통제 조건
- 값 종속 통제:
- 다중 사용자 통제:
- 컨텍스트 기반 통제:
- 시간, 위치, 인증 수준 등에 따라 접근 제한.
6.2 감사 추적
- 정의: 사용자의 데이터베이스 접근 및 활동 기록.
- 목적:
- 오류 발생 시 복구 자료로 활용.
- 부적절한 데이터 변경 추적.
- 데이터 사용 기록 확인.
7. 데이터베이스 보안의 장단점
7.1 장점
- 데이터 보호 및 무단 접근 방지.
- 데이터 무결성 및 기밀성 보장.
- 사용자 역할 기반 접근 제어 가능.
7.2 단점
- 보안 정책 설정과 유지 관리의 복잡성.
- 성능 저하 가능성 (특히 암호화 및 감사 추적 사용 시).
8. 정리
항목 | 내용 |
---|
암호화 | 데이터 송수신 시 도청 방지를 위해 평문을 암호문으로 변환. |
접근 통제 기술 | 임의 접근 통제, 강제 접근 통제, 역할 기반 접근 통제. |
접근 통제 정책 | 신분 기반, 규칙 기반, 역할 기반 정책. |
접근 통제 메커니즘 | 접근 통제 목록, 능력 리스트, 암호화 등. |
보안 모델 | 기밀성 모델, 무결성 모델, 접근 통제 모델. |
감사 추적 | 데이터베이스 활동 기록을 통해 문제 발생 시 복구 및 추적. |
데이터베이스 보안은 현대 데이터 관리 시스템의 핵심 요소로, 데이터의 안전성과 신뢰성을 보장하는 데 필수적입니다.