데이터베이스 보안
- 데이터베이스 보안이란 데이터베이스의 권한이 없는 사용자가 액세스하는 것을 금지하기 위해 사용되는 기술이다.
암호화 (Encryption)
- 암호화는 데이터를 보낼 때 송신자가 지정한 수신자 이외에는 그 내용을 알 수 없도록 평문을 암호문으로 변환하는 것이다.
암호화 과정 : 평문을 암호문으로 바꾸는 과정
복호화 과정 : 암호문을 원래의 평문으로 바꾸는 과정
암호화 기법
- 개인키 암호 방식
- 공개키 암호 방식
접근통제
- 접근통제는 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것이다.
접근통제 3요소
- 접근통제 정책
- 접근통제 매커니즘
- 접근통제 보안모델
접근통제 기술
정책 | 특징 |
임의 접근통제 - DAC (Discretionary Access Control) |
- 데이터에 접근하는 사용자의 신원에 따라 접근 권한 부여 - 데이터 소유자가 접근통제 권한을 지정하고 제어함 - 객체를 생성한 사용자가 생성된 객체에 대한 모든 권한을 부여받고, 부여된 권한을 다른 사용자에게 허가할 수도 있음 |
강제 접근통제 - MAC (Mandatory Access Control) |
- 주체와 객체의 등급을 비교하여 접근 권한을 부여 - 시스템이 접근통제 권한을 지정함 - 데이터베이스 객체별로 보안 등급을 부여할 수 있음 - 사용자별로 인가 등급을 부여할 수 있음 |
역할기반 접근통제 - RBAC (Role Based Access Control) |
- 사용자의 역할에 따라 접근 권한을 부여 - 중앙관리자가 접근통제 권한을 지정함 - DAC와 MAC의 단점을 보완하였음 - 다중 프로그래밍 환경에 최적화된 방식 |
접근통제 정책
- 접근통제 정책은 어떤 주체가 언제, 어디서, 어떤 객체에게, 어떤 행위에 대한 허용 여부를 정의하는 것이다.
종류 | 특징 |
신분 기반 정책 | - 주체나 그룹의 신분에 근거하여 객체의 접근을 제한하는 방법으로, IBP와 GBP가 있음 - IBP (Individual-Based Policy) : 최소 권한 정책으로, 단일 주체에게 하나의 객체에 대한 허가를 부여함 - IGP (Group-Based Policy) : 복수 주체에 하나의 객체에 대한 허가르 부여함 |
규칙 기반 정책 | - 주체가 갖는 권한에 근거하여 객체의 접근을 제한하는 방법으로, MLP와 CBP가 있음 - MLP (Multi-level Policy) : 사용자나 객체별로 지정된 기밀 분류에 따른 정책 - CBP (Compartment-Based Policy) : 집단별로 지정된 기밀 허가에 따른 정책 |
역할 기반 정책 | - GBP의 변형된 정책으로, 주체의 신분이 아니라 주체가 맡은 역할에 근거하여 객체의 접근을 제한하는 방법 |
접근통제 매커니즘
- 접근통제 매커니즘은 정의된 접근통제 정책을 구현하는 기술적인 방법이다.
- 접근통제 매커니즘에는 접근통제 목록, 능력 리스트, 보안 등급, 패스워드, 암호화 등이 있다.
접근통제 보안 모델
- 접근통제 보안 모델은 보안 정책을 구현하기 위한 정형화된 모델이다.
종류 | 특징 |
기밀성 모델 | - 군사적인 목적으로 개발된 최초의 수학적 모델 - 기밀성 보장이 최우선 - 군대 시스템 등 특수 환경에서 주로 사용됨 |
무결성 모델 | - 기밀성 모델에서 발생하는 불법적인 정보 변경을 방지하기 위해 무결성을 기반으로 개발된 모델 |
접근통제 모델 | - 접근통제 매커니즘을 보안 모델로 발전시킨 것 - 대표적으로 접근통제 행렬(Access Control Matrix)이 있음 - 접근통제 행렬 : 임의적인 접근통제를 관리하기 위한 보안모델로, 행은 주체, 열은 객체 즉, 행과 열로 주체와 객체의 권한 유형을 나타냄 |
데이터베이스 백업
- 데이터베이스 백업은 전산 장비의 장애에 대비하여 DB에 저장된 데이터를 복구하고 보호하기 위한 작업이다.
- 치명적인 데이터 손실을 막기 위해 데이터베이스는 정기적으로 백업해야 한다.
로그 파일
- 로그 파일은 DB의 처리 내용, 이용 상황 등 상태 변화를 시간의 흐름에 따라 전부 기록한 파일이다.
- 데이터베이스의 복구를 위해 필요한 가장 기본적인 자료
- 로그 파일을 기반으로 DB를 과거 상태로 복귀(UNDO) 시키거나 현재 상태로 재생(REDO) 시켜 DB의 상태를 일관성 있게 유지
- 로그 파일은 트랜잭션 시작 시점, Rollback 시점, 데이터 입력, 수정 삭제 시점 등에서 기록된다.
복귀(UNDO) - 로그에 보관한 정보를 이용하여 가장 최근에 변경된 내용부터 거슬러 올라가면서 트랜잭션 작업을 취소하여 원래로 복구
재생(REDO) - 덤프와 로그를 이용하여 가장 최근의 정상적인 데이터베이스로 회복 시킨 후 트랜잭션을 재실행 시킴
데이터베이스 복구 알고리즘
NO-UNDO / REDO | - 데이터베이스 버퍼의 내용을 비동기적으로 갱신한 경우의 복구 알고리즘 - NO-UNDO : 트랜잭션 완료 전에는 변경 내용이 DB에 기록되지 않으므로 취소할 필요가 없음 - REDO : 트랜잭션 완료 후 DB 버퍼에는 기록되어 있고, 저장매체에는 기록되지 않았으므로 트랜잭션 내용을 다시 실행해야함 |
UNDO / NO-REDO | - 데이터베이스 버퍼의 내용을 동기적으로 갱신한 경우의 복구 알고리즘 - UNDO : 트랜잭션 완료 전에 시스템이 파손되었다면 변경된 내용을 취소함 - NO-REDO : 트랜잭션 완료 전에 DB 버퍼 내용을 이미 저장 매체에 기록했으므로 트랜잭션 내용을 다시 실행할 필요가 없음 |
UNDO / REDO | - 데이터베이스 버퍼의 내용을 동기 / 비동기적으로 갱신한 경우의 복구 알고리즘 - DB 기록 전에 트랜잭션이 완료될 수 있으므로 완료된 트랜잭션이 데이터베이스에 기록되지 못했다면 다시 실행해야 함 |
NO-UNDO / NO-REDO | - 데이터베이스 버퍼의 내용을 동기적으로 저장 매체에 기록하지만 데이터베이스와는 다른 영역에 기록한 경우의 복구 알고리즘 - NO-UNDO : 변경 내용은 데이터베이스와 다른 영역에 기록되어 있으므로 취소할 필요 없음 - NO-REDO : 다른 영역에 이미 기록되어 있으므로 트랜잭션을 다시 실행할 필요가 없음 |
백업 종류
- 백업 종류는 복구 수준에 따라 운영체제를 이용하는 물리 백업과 DBMS 유틸리티를 이용하는 논리 백업이 있다.
물리 백업
- 데이터베이스 파일을 백업하는 방법
- 백업 속도가 빠르고 작업이 단순하지만 문제 발생 시 원인 파악 및 문제 해결이 어렵다.
논리 백업
- DB 내의 논리적 객체들을 백업하는 방법
- 복원 시 데이터 손상을 막고 문제 발생 시 원인 파악 및 해결이 수월하지만 백업/복원 시 시간이 많이 소요된다.
'정보처리기사' 카테고리의 다른 글
[정보처리기사] - 소프트웨어 아키텍처 (0) | 2024.07.21 |
---|---|
[정보처리기사] - 자료 구조 (0) | 2024.07.15 |
[정보처리기사] - 트랜잭션 / 클러스터 (0) | 2024.07.14 |
[정보처리기사] - 정규화 / 반정규화 (1) | 2024.07.13 |
[정보처리기사] - 관계형 데이터베이스 (1) | 2024.07.13 |