반응형
-
데이터베이스 보안의 개념
-
데이터베이스 보안의 정의
- 조직의 데이터베이스 내의 데이터를 불법적인 폭로, 변경 또는 파괴하는 행위로부터 데이터베이스를 보호하는 것
- 조직의 데이터베이스에 대해 권한이 없는 사용자가 무단으로 사용하거나 변경 또는 파괴하는 행위로부터 보호하는 것
-
데이터베이스 보안의 요구 사항
- 데이터베이스 사용자를 유일하게 식별하는 사용자 인증
- 부장한 접근으로부터 보호 및 정당한 사용자의 데이터베이스 접근 지원
- 기밀 데이터의 관리 및 보호, 비기밀 데이터에서 기밀 정보를 얻어내는 집계 및 추론 방지
-
집계(Aggregation)
- 낮은 보안 등급의 정보 조각을 조합하여 높은 등급의 정보를 알아냄
- 개별 데이터 항목보다 종합 데이터의 보안 등급이 높은 경우 심각한 문제를 야기
-
추론(Inference)
- 비인가자인 일반 사용자가 보안으로 분류되지 않은 정보에 정당하게 접근하여 기밀정보를 유추하는 행위
-
데이터 분할 또는 단위별로 중요 데이터 은폐, 추론 교란(무관한 데이터 포함), 기술적으로는 다중사례화(Polyinstantiation)를 통해 방지
- 다중 사례화[Polyinstantiation] - 인가 등급에 따라 보안과 무결성 법칙을 만족하는 다중 튜플을 생성하는 것
- 모든 접근에 대한 기록을 유지하여 시스템을 감사
- 데이터베이스 가용성 유지
-
데이터베이스 보안 기술 목표
- 정보 보호 : 정보의 불법적인 노출을 방지
- 정보 인증: 고의적으로 정보를 수정하거나 허위 정보를 저장 시키려는 것을 방지
- 사용자 인증 : 패스워드나 음성, 지문 등을 대조하여 데이터베이스를 이용하는 사람의 신원을 확인
- 데이터베이스 보안 관리 방안
-
구분 | 주요 기능 |
접근 제어 (Access Control) |
|
정보 흐름 제어 (Information Flow Control) |
|
추론제어 (Inference Control) |
|
암호화 (Encryption) |
|
- 보안 구현을 위한 주요 구성 요소
구성요소 | 주요 개념 |
주체(Subject) |
|
객체(Object) |
|
행위(Action) |
|
권한 제약 (Authorization Constraint) |
|
-
데이터베이스 보안 모델의 유형
- 임의적 보안 모델
구분 | 내용 |
정의 |
|
특징 |
|
방법 |
|
- 강제적 보안 모델
구분 | 내용 |
정의 |
|
주요 내용 |
|
방법 |
- 역할(Role) 기반 보안 모델
구분 | 내용 |
정의 |
|
주요 내용 |
|
특징 |
|
장점 |
|
방법 |
-
데이터베이스 보안 구현 방법
-
암호화 기법
- 평문의 데이터를 암호문으로 변경하는 암호화 과정과 암호문을 다시 평문으로 바꾸는 복호화 과정이 필요
- 장점 : 네트워크의 취약점을 이용한 공격 또는 내부자에 의한 데이터 유출 시에 데이터를 활용하지 못하도록 방지
- 단점 : 적용 가능한 DBMS 종류가 한정적이고, 시스템에 부하가 발생하고, 시스템 구축시 실패 위험이 높음
- 암호화 알고리즘 : 개인키 암호화 알고리즘, 공개키 암호화 알고리즘 등
-
개인키 암호화(Private Key Encryption) 방식
- 동일한 키로 데이터를 암호화 하고 복호화 함
- 데이터베이스 사용자는 평문의 정보 M을 암호화 알고리즘 E와 암호키(Encryption Key) K를 이용하여 암호문 C로 바꾸어 저장 시켜 놓고, 또한 사용자가 그 데이터베이스에 접근하기 위해 복호화 알고리즘 D와 암호키 K를 이용하여 다시 평문의 정보 M으로 바꾸어 이용하는 방법
- 대칭 암호화 방식 또는 단일키 암호화 방식이라고 하며, 대표적으로 DES(Data Encryption Standard)와 AES(Advanced Encryption Standard) 기법이 있음
- 장점 : 암호화/복호화 속도가 빠르며, 알고리즘이 단순하고, 파일의 크기가 공개키 암호 방식보다 작음
- 단점 : 사용자의 증가에 따라 관리해야 할 키의 수가 상대적으로 많아짐
-
공개키 암호화(Public Key Encryption) 방식
- 서로 다른 키를 사용해 데이터를 암호화하고 복호화 함
- 데이터를 암호화할 때 사용하는 공개키(Public Key)는 제3자인 데이터베이스 사용자들에게 공개하고, 복호화 할때 사용하는 개인키(Private Key)는 데이터베이스 사용권한이 있는 각 사용자가 비밀리에 관리하는 방법
- 비대칭 암호 방식이라고도 하며, 대표적으로 RSA(Rivest Shamir Adleman) 기법이 있음
- 장점 : 키의 분배가 용이하고, 관리해야 할 키의 개수가 적음
- 단점 : 암호화/복호화 속도가 느리며, 알고리즘이 복잡하고, 개인키 암호 방식보다 파일의 크기가 큼
-
권한 부여 기법
- 권한 부여를 위한 GRANT, 권한 철회를 위한 REVOK 구문을 활용
- 권한은 시스템 관리 차원에서 데이터베이스 자체에 대한 접근 권한(시스템 권한)과 사용자마다의 객체 조작에 관한 접근 권한(객체 권한)으로 분류
-
뷰사용
- 일반 사용자에게 보여주지 않아야 하는 데이터 값은 그 열을 제외한 뷰를 생성하여 데이터에 대한 접근을 막는 방법
- 뷰에 권한을 명시하고 뷰를 제공함으로써 간접적인 보안 관리 지원이 가능
-
보안 데이터베이스 구축 : 다중사례화(Polyinstantiation)
- 다중사례화 : 인가 등급에 따라 보안과 무결성 법칙을 만족하는 다중 튜플을 생성
- 추론으로 인한 정보 유출을 막기 위한 데이터베이스 보안 기술
- 하나의 데이터 객체(기본키)에 대하여 보안 등급별로 다른 데이터를 가질 수 있도록 허용하는 기술
-
프로그램 이용 제약
- 특정 객체에 대한 특정 조치 시 사용자 프로그램 호출
- 제약 준수를 위한 논리는 프로그램에서 제공
- 장점 : DBMS의 기능보조, 취약점 보완
- 단점 : 사용자 루틴의 작성, 테스트 필요, 시스템에 부하 발생
-
반응형
'밥벌이 > 데이터베이스' 카테고리의 다른 글
동시성(병행) 제어 (0) | 2011.03.01 |
---|---|
데이터 무결성 (0) | 2011.02.20 |
질의(Query) 처리의 개요 (0) | 2011.01.31 |
셀렉션(Selection) 연산 (0) | 2011.01.31 |
정렬(Sorting) (0) | 2011.01.31 |