무결성과 보안

데이터베이스 2014. 10. 24. 00:38

<무결성>
- 데이타 베이스의 무결성이란 데이터의 정밀성, 정확성을 의미
- 사용자가 데이터를 사용할때 무결성(깨끗)을 헤지치 않아야함

<무결성 서브 시스템>
- 데이타베이스 시스템은 무결성을 유지하기 위해 DBMS구성요소 가지고있음
- 무결성 규정을 관리 유지 하고 트랜잭션이 수행하는 갱신 연산이 무결성 규정에 위반
  되지 않는지를 검사

뮤결성 규정은 규정 이름, 검사 시기, 제약 조건, 위반 조치 등을 포함

<무결성 규정 요건>
1. 고급 언어 사용
2. 카탈로그 또는 사전에 저장(질의 할수 있음)
3. 시스템에 의해 바로 실행

<무결성 규정의 종류>
1. 상태 제약 - 일관성있는 상태 조건 명세
2. 과도 제약 - 다른상태로 변환되는 과정 조건 명세
3. 집합 제약 - 투플 집합 전체에 관한 규정
4. 투플 제약 - 처리되고 있는 투플에 적용 규정
5. 즉시 제약 - 디스크에 변경이 일어날때마다 매번 저장
6. 지연 제약 - 디스크에서 가져온 값이 모두 변경되면 디스크에 저장(로그를 둠)

<트리거>
- 무결성을 유지하는 프로그램

데이터베이스 보안 
- 불법적인 폭로, 변경, 파괴로부터 데이터 보호

<직접 접근 제어>
- 가장 쉬운 방법은 암호 사용
- 일반적인 방법은 권한 테이블 사용(사용자, 허가 데이타, 허용 연산, 허가 조건 포함)

<간접 접근 제어>
- 임의 접근 제어 방식
- 암호화 기법은 데이타를 뒤섞은뒤 다른 사람이 그대로 사용할수 없도록 하는것

 

<권한 부여 테이블>

- 시스템은 모든 사용자에 대한 권한 테이블을 하나의 테이블로 종합해서 관리

 

<보안 집행기>

- 데이터베이스를 마음대로 접근할수 있기 때문에 접근 요청이 오면 권한 테이블을 검사해 접근을 

   허가할 것인지 거부할 것인지 결정

 

<뷰 기법>

- 테이블에 직접 접근하지 못하고 view를 통해 접근

- 보안에 민감한 데이터를 권한이 없는 사용자로부터 은닉시킬수 있음, 불법적인 접근 예방 가능

- 단점 : 갱신, 삽입, 삭제 연산에 제약

 

<테이블 생성자>

- 테이블에 대한 모든 권한 가짐

- 권한 일부를 다른 사용자에게 부여 가능

- 테이블 제거 권한은 부여 불가

 

<GRANT/REVOKE 기법>

- SQL에서 권한부여는 GRANT명령문에 의해 명세됨

 DBA : GRANT INSERT, DELETE ON STUDENT TO U1;

DBA가 사용자 U1에게 STUDENT 릴레이션에 대한 삽입과 삭제 권한을 부여

 

 DBA : GRANT SELECT ON STUDENT TO U2 WITH GRANT OPTION;

DBA가 사용자 U2에게 STUDENT 릴레이션 검색 기능 부여,

GRANT OPTION은 다른 사용자에게 권한 부여할수 있음

 

 U2 : GRANT SELECT ON STUDENT TO U3;

U2가 사용자 U3에게 STUDENT 릴레이션 검색 기능 부여

 

 DBA :  REVOKE SELECT ON STUDENT FROM U2 CASCADE;

U2에게 검색 기능을 회수 시킴, CASCADE는 U2가 U3에게 부여한 권한까지 취소 시킴

 

만약 GRANT OPTION FOR가 사용되면 접근 권한을 취소하는 것이 아니라 다른 사용자에게 권한을 

부여할수 있게 한 권한 자체를 취소함

 

<데이터 암호화>

허가 받지 않은 사람이 데이터나 메세지의 내용을 알수 없도록 은폐 시키기 위해 데이타를 암호로 바꾸는것

 

'데이터베이스' 카테고리의 다른 글

데이터 종속성, 정규화  (0) 2014.10.24
데이터베이스 접근  (0) 2014.10.24
병행제어  (0) 2014.10.24
데이터베이스 정규화  (0) 2014.10.24
데이터베이스론 이석호 솔루션  (0) 2014.10.24