본문 바로가기
IT Basic/Data

[DB] 무결성(Integrity)과 보안(security)

by HouseDust 2022. 1. 25.
반응형

무결성(Integrity)과 보안(security)의 차이

더보기

보안은 권한이 없는 사용자로부터 데이터베이스를 보호하는 것이고,

무결성은 권한이 있는 사용자로부터 데이터베이스를 보호하는 것이다

 

무결성(Integrity)

무결성은 데이터가 정확하고 유효한 상태로 유지되는 것을 의미한다.

 

무결성의 종류 

  • 개체 무결성(Entity Integrity)
    모든 인스턴스는 고유한 값이어야 하며, 기본키를 구성하는 속성은 널 값을 가질 수 없다.

  • 참조 무결성(Referential Integrity)
    외래키는 참조할 수 없는 값을 가질 수 없다.

  • 도메인 무결성(Domain Integrity)
    속성 값은 그 속성에 정의된 도메인에 속한 값이어야 한다.

  • 사용자 정의 무결성(User-Defined Integrity)
    • NULL 무결성(Null Integrity)
      특정 속성 값이 NULL이 올 수 없다는 조건이 주어진 경우, 그 속성 값은 NULL이 될 수 없다.
    • 키 무결성(Key Integrity)
      한 릴레이션에는 최소한 하나의 키가 존재해야한다.
    • 고유 무결성(Unique Integrity)
      특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우, 그 속성 값은 모두 고유한 값을 가진다.
    • 관계 무결성(Relationship Integrity)
      한 튜플이 릴레이션에 삽입될 수 있는 지 또는 한 릴레이션과 다른 릴레이션의 튜플들의 관계가 적합한지 확인하는 것
    • 업무 무결성(Business Integrity)
      기업에서 업무를 수행하는 방법이나 데이터를 처리하는 규칙을 지키는 것
      업무 무결성을 강제하는 대표적인 방법 : 트리거(Trigger)

 

보안(security)

권한이 없는 사용자로부터 데이터를 보호하는 기법.

 

데이터베이스 보안의 세가지 유형

1. 물리적 측면 : 자연 재해 및 시스템의 직·간접적인 손상을 주는 위험으로부터 데이터베이스를 보호하는 것

2. 권한 관리 측면 : 허가된 특정 사용자만이 허가된 권한을 가지고 데이터베이스에 접근할 수 있도록 통제하는 것

   → GRANT, REVOKE, CREATE ROLE

3. 운영 관리 측면 : 데이터베이스의 무결성을 최대한 보호하기 위하여 무결성 규정을 정의하는 것

 

암호화 기법

  • 개인키 / 비밀키 암호 방식 (Private key Encryption)
    동일한 키로 데이터를 암호화하고, 복호화한다. 
    비밀키는 제 3자에게 노출시키지 않고, 권한이 있는 사용자만 나눠가진다.
    대칭 암호 방식 또는 단일키 암호화 기법이라고도 불린다.
    장점 : 암호화/복호화 속도가 빠르며 알고리즘이 단순하고 파일 크기가 작다.
    단점 : 사용자의 증가에 따라 관리해야 할 키의 수가 많아진다.
  • 공개키 암호 방식 (Public key Encryption)
    서로 다른 키로 데이터를 암호화하고 복호화한다.
    데이터를 암호화할 때 사용하는 공개키(Public Key)는 데이터베이스 사용자에게 공개하고, 복호화할 때의 비밀키(Secret Key)는 관리자가 관리하는 방법이다.
    비대칭 암호 방식이라고도 한다.
    장점 : 키의 분배가 용이하고, 관리해야할 키의 개수가 적다.
    : 암호화/복호화 속도가 느리며 알고리즘이 복잡하고 파일 크기가 크다.

A와 B가 각자의 공개키를 공유한다.

A는 B의 공개키를, B는 A의 공개키를 가져온다.

A가 B의 공개키로 암호화한 문서를 전송하면, B는 B의 개인키로 복호화한다.

 

B가 A의 공개키로 암호화한 문서를 전송하면, A는 A의 비밀키로 복호화한다.

 

 

공개키 관련 유용한 영상 ↓

Youtube 얄팍한  코딩사전 - HTTPS가 뭐고 왜 쓰나요? (Feat. 대칭키 vs. 비대칭키)


참고 자료

김연희, 『데이터베이스 개론 2판』, 한빛문화원(2019), p146-p150

피아노치는 개발자 - Database 면접 질문 요약

언제나 휴일 - [데이터베이스] 무결성(Integrity)과 보안(Security)

HI! XD - [데이터베이스] 18. DB의 보안과 무결성(integrity and Security)

커뮤니티 구루비, 구루비스터디 - 관계형 데이터 모델링 프리미엄 가이드 DB구축(2017년)

DATAINSIDER - DATA PROTECTION 101 What is Data Integrity? Definition, Best Practices & More

반응형

댓글