목록

2019년 2월 22일 금요일

[데이터베이스] 18. DB의 보안과 무결성(Integrity and Security)







1. 무결성과 보안(Integrity and Security)

  • 보안 : 권한이 없는 사용자로부터 데이터베이스를 보호하는 것.
  • 무결성 : 은 권한이 있는 사용자로부터 데이터베이스를 보호하는 것.
  • 보안은 데이터베이스 사용자들이 데이터베이스를 사용하고자 할 때 언제든지 사용할 수 있도록 보장하는 것이며 무결성은 정확하게 사용할 수 있도록 보장하는 것을 말한다.



2. 보안(Security)


2-1 DB 보안의 의미
  • 데이터베이스 사용자들은 일반적으로 서로 다른 객체에 대하여 다른 접근 권리 또는 권한을 갖게된다.
  • 데이터베이스의 일부분 또는 전체에 대해서 권한이 없는 사용자가 액세스를 수행하는 것을 금지하기 위해 사용되는 기술이다.


2-2. 보안의 목표
  • 정보 보호
  • 정보 인증
  • 사용자 인증


2-3. 암호화 기법
  • 개인의 암호 방식(Private Key Encryption) = 비밀키 암호 방식
- 동일한 키로 데이터를 암호화하고 복호화한다.
- 비밀키는 제3자에게는 노출시키지 않고 데이터베이스 사용 권한이 있는 사용자만 나눠 가진다.
- 대칭 암호 방식 또는 단일키 암호화 기법이라고도 한다.
- 대표적으로 DES(Data Encryption Standard)가 있다.
- DES는 56Bit의 16개 키를 이용하여 64Bit의 평문 블록을 16회의 암호 계산 단계를 거쳐 64Bit의 암호문을 얻는다.
- 장점 : 암호화/복호화 속도가 빠르며, 알고리즘이 단순하고 파일 크기가 작다.
- 단점 : 사용자의 증가에 따라 관리해야 할 키의 수가 상대적으로 많아진다.


  • 공개키 암호 방식(Public Key Encryption)
- 서로 다른 키로 데이터를 암호화하고 복호화한다.
- 데이터를 암호화할 때 사용하는 키(공개키, Public Key)는 데이터베이스 사용자에게 공개하고, 복호화할 때의 키(비밀키, Secret Key)는 관리자가 비밀리에 관리하는 방법이다.
- 비대칭 암호 방식이라고도 한다.
- 대표적으로 RSA(Rivest Shamir Adleman)가 있다.
- 장점 : 키의 분배가 용이하고, 관리해야 할 키의 개수가 적다.
- 단점 : 암호화/복호화 속도가 느리며 알고리즘이 복잡하고 파일 크기가 크다.



3. 무결성(Integrity)


3-1. 무결성의 의미
  • 데이터베이스에 들어있는 통합 데이터의 정확성을 보장하기 위해 정확한 자료가 데이터베이스 내에 저장되는 것을 방지하기 위한 제약조건이다.



3-2. 무결성의 종류
  • 널 무결성 : 관계의 특정 속성 값이 NULL이 될 수 없도록 하는 규정.
  • 키 무결성 : 하나의 테이블에는 적어도 하나의 키가 존재해야 한다는 규정.
  • 개체 무결성 : 기본 테이블의 기본키를 구성하는 어떤 속성도 NULL 값을 가질 수 없다는 규정.
  • 관계 무결성 : 릴레이션에 어느 한 튜플의 삽입 가능 여부 또는, 한 릴레이션과 다른 릴레이션의 튜플들 사이의 관계에 대한 적절성 여부를 지정한 규정.
  • 참조 무결성 : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다는 규정.
  • 도메인 무결성 : 특정 속성의 값이 그 속성이 정의된 도메인에 속한 값이어야 한다는 규정.





댓글 없음:

댓글 쓰기