📌 데이터 베이스 보안이란 데이버베이스의 일부분 또는 전체에 대하여 권한이 없는 사용자가 액세스하는 것을 금지하기 위해 사용되는 기술이다.
📌 암호화는 데이터를 보낼 때 송신자가 지정한 수신자 이외에는 그 내용을 알 수 없도록 평문을 암호문으로 변환하는 것이다.
💡 무결성(Integrity)과 보안(Security)
- 무결성은 권한이 있는 사용자로부터 데이터베이스를 보호하는 것이고, 보안은 권한이 없는 사용자로부터 데이터베이스를 보호하는 것이다.
- 보안은 데이터베이스 사용자들이 데이터베이스를 사용하고자 할 때 언제든지 사용할 수 있도록 보장하는 것이고, 무결성은 정확하게 사용할 수 있도록 보장하는 것이다.
📌 비밀키 암호화 기법은 동일한 키로 데이터를 암호화하고 복호화 한다.
📌 공개키 암호화 기법은 서로 다른 키로 데이터를 암호화하고 복호화 한다.
💡 DES(Data Encryption Standard) 기법 : DES 기법은 개인키 암호 방식의 대표적인 알고리즘으로 64Bit의 평문 블록을 56Bit의 16개 키를 이용하여 16회의 암호 계산 단계를 거쳐 64Bit 의 암호문을 얻습니다.
💡 루시퍼(Lucifer0는 민간에서 개발한 최초의 블록 암호들에 붙은 이름으로, 19870년대 IBM 소속의 호르스트 파이스텔 등에 의해 제작되었다.
💡 RSA 암호는 공개키 암호 시스템의 하나로, 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리즘으로 알려져 있다. RSA가 갖는 전자서명 기능은 인증을 요구하는 전자 상거래 등에 RSA의 광범위한 활용을 가능하게 하였다.
📌 접근 통제는 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것이다.
임의 접근 통제 (DAC; Discretionary Access Control) |
- 임의 접근통제는 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하는 방식이다. - 데이터 소유자가 접근 통제 권한을 지정하고 제어한다. - 객체를 생성한 사용자가 생성된 객체에 대한 모든 권한을 부여 받고, 부여된 권한을 다른 사용자에게 허가할 수도 있다. - 임의 접근 통제에 사용되는 SQL 명령어에는 GRANT와 REVOKE가 있다. |
강제 접근통제 (MAC; Mandatory Access Control) |
- 강제 접근 통제는 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식이다. - 시스템이 접근 통제 권한을 지정한다. - 데이터베이스 객체별로 보안 등급을 부여할 수 있고, 사용자 별로 인가 등급을 부여할 수 있다. - 주체는 자신보다 보안 등급이 높은 객체에 대해 읽기, 수정, 등록이 모두 불가능하고, 보안 등급이 같은 객체에 대해서는 읽기, 수정, 등록이 가능하고, 보안 등급이 낮은 객체는 읽기가 가능하다. |
역할기반 접근통제 (RBAC; Role Based Access Control) |
- 역할 기반 접근 통제는 사용자의 역할에 따라 접근 권한을 부여하는 방식이다. - 중앙관리자가 접근 통제 권한을 지정한다. - 임의 접근 통제와 강제 접근 통제의 단점을 보완하였으며, 다중 프로그래밍 환경에 최적화된 방식이다. - 중앙관리자가 역할마다 권한을 부여하면, 책임과 자질에 따라 역할을 할당 받은 사용자들은 역할에 해당하는 권한을 사용할 수 있다. |
💡 객체 : 테이블, 컬럼 등과 같은 데이터베이스 개체들을 의미한다.
💡 주체 : 일반적으로 객체를 사용하기 위해 접근을 시도하는 사용자를 의미한다.
💡 GRANT : 객체에 대한 권한을 부여하는 명령이다.
예) GRANT RESOURCE TO KORA; : 사용자가 ID가 KORA인 사람에게 데이터베이스 및 테이블을 생성할 수 있는 권한을 부여한다.
💡 REVOKE : 객체에 부여된 권한을 취소하는 명령이다.
예) REVOKE UPDATE ON 고객 FROM JULIA; : 사용자 ID가 JULIA인 사람에게 부여한 권한 중 갱신(UPDATE)권한을 취소한다.
벨 라파듈라 모델 (Bell-LaPadula Model) |
- 군대의 보안 레벨처럼 정보의 기밀성에 따라 상하 관계가 구분된 정보를 보호하기 위해 사용한다. - 보안 취급자의 등급을 기준으로 읽기 권한과 쓰기 권한이 제한된다. - 자신의 보안 레벨 이상의 문서를 작성할 수 있고, 자신의 보안 레벨 이하의 문서를 읽을 수 있다. 예) 보안 레벨이 2급인 보안 취급자의 읽기 권한과 쓰기 권한 - 2, 3급 비밀 문서를 조회할 수 있다. - 1, 2급 비밀 문서를 작성할 수 있다. |
비바 무결성 모델 (Biba Integrity Model) |
- 벨 라파듈라 모델을 보완한 수학적 모델로, 무결성을 보장하는 최초의 모델이다. - 비인가자에 의한 데이터 변형을 방지한다. |
클락-윌슨 무결성 모델 (Clark-Wilson Integrity Model) |
무결성 중심의 상업용 모델로 사용자가 직접 객체에 접근할 수 없고 프로그램에 의해 접근이 가능한 보안 모델이다. |
만리장성 모델 (Chinese Wall Model) |
서로 이해 충돌 관계에 있는 객체 간의 정보 접근으 통제하는 모델이다. |
📌 접근 통제 정책은 어떤 주체가(Who)가 언제(When), 어디서(Where), 어떤 객체(What)에게, 어떤 행위(How)에 대한 허용 여부를 정의하는 것으로, 신분 기반 정책, 규칙 기반 정책, 역할 기반 정책이 있다.
신분 기반 정책 | - 주체나 그룹의 신분에 근거하여 객체의 제한하는 방법으로, IBP와 GBP가 있다. - IBP(Individual-Based Policy) : 최소 권한 정책으로, 단일 주체에게 하나의 객체에 대한 허가를 부여한다. - GBP(Group-Based Policy) : 복수 주체에 하나의 객체에 대한 허가를 부여한다. |
규칙 기반 정책 | - 주체가 갖는 권한에 근거하여 객체의 접근을 제한하는 방법으로, MLP와 CBP가 있다. - MLP(Multi-Level Policy) : 사용자 및 객체별로 지정된 기밀 분류에 따른 정책 - CBP(Compartment-Based Policy) : 집단별로 지정된 기밀 허가에 따른 정책 |
역할 기반 정책 | GBP의 변형된 정책으로, 주체의 신분이 아니라 주체가 맡은 역할에 근거하여 객체의 접근을 제한하는 방법이다. 예) 인사 담당자, DBA 등 |
📌 접근 통제 매커니즘은 정의된 접근 통제 정책을 구현하는 기술적인 방법으로, 접근 통제 목록, 능력 리스트, 보안 등급, 패스워드, 암호화 등이 있다.
📌 접근 통제 보안 모델은 보안 정책을 구현하기 위한 정형화된 모델로, 기밀성 모델, 무결성 모델, 접근 통제 모델이 있다.
Level | 단순 보안 규칙 | ★(스타)-보안 규칙 | 강한 ★(스타) 보안 규칙 |
읽기 권한 | 쓰기 권한 | 읽기/쓰기 권한 | |
높은 등급 | 통제 | 가능 | 통제 |
같은 등급 | 가능 | 가능 | 가능 |
낮은 등급 | 가능 | 통제 | 통제 |
💡 기밀성(Confidentiality) : 기밀성은 시스템 내의 정보와 자원은 인가된 사용자에게만 접근이 허용되는 것으로 정보가 전송 중에 노출되더라도 데이터를 읽을 수 없는 것을 의미한다.
💡 ★(스타)-보안 규칙 : ★스타-보안 규칙은 높은 등급의 주체가 자신이 접근 가능한 정보를 낮은 등급으로 복사하여 유출하는 행위를 방지하기 위한 것으로 정보의 기밀성 보호를 위한 제약이다.
Level | 단순 무결성 규칙 | ★(스타)-무결성 규칙 |
읽기 권한 | 쓰기 권한 | |
높은 등급 | 가능 | 통제 |
같은 등급 | 가능 | 가능 |
낮은 등급 | 통제 | 가능 |
이름 | 사원 | 부서 | 상품 | 판매현황 | 거래업체 |
사쿠라 | ALL | ALL | R | R | R |
김채원 | R/W | R/W | R | R | R |
허윤진 | R | R | R | R/W | R/W |
카즈하 | R | R | R/W |
📌 접근 통제 조건은 접근통제 매커니즘의 취약점을 보완하기 위해 접근통제 정책에 부가하여 적용할 수 있는 조건이다.
📌 감사 추적은 사용자나 애플리케이션이 데이터베이스에 접근하여 수행한 모든 활동을 기록하는 기능이다.
📌 [정보처리기사] 물리 데이터베이스 설계 - 스토리지 (0) | 2024.02.15 |
---|---|
📌 [정보처리기사] 데이터베이스 백업 (0) | 2024.02.15 |
📌 [정보처리기사] 데이터베이스 이중화/서버 클러스터링 (0) | 2024.02.15 |
📌 [정보처리기사] 물리 데이터베이스 설계 - 분산 데이터베이스 설계 (0) | 2024.02.15 |
📌 [정보처리기사] 물리 데이터베이스 설계 - 뷰(View) 설계/클러스터 설계/파티션 설계/용량 설계 (2) | 2024.02.15 |