학교수업/데이터베이스

데이터베이스 보안 - 1주차. 데이터 베이스 개요

정보보호학과 새내기 2025. 4. 11. 22:08

(세종대학교) 데이터베이스 보안 - 수업 정리 내용

1.1. 데이터베이스 (DB) 개념

1.1.1. 데이터베이스 관련 용어

  • 데이터
    • 현실 세계에서 단순하게 관찰되거나 측정되어 수집된 사실이나 값
  • 정보
    • 데이터를 처리하여 생성된 의미있는 새로운 결과물
  • 정보 시스템
    • 데이터 처리를 수행하여 의사 결정자에게 유용한 정보를 만들어주는 시스템
  • 데이터베이스
    • 정보 시스템 내에서 조직 운영에 필요한 데이터를 수집하여 저장 및 관리하는 것

1.1.2. 데이터베이스의 필요성

  • 데이터베이스
    • 정보 처리를 위해 조직 운영에 필요한 데이터 보관
    • 데이터 중복, 관리의 어려움 등의 문제 해결
  • 이유
    • 기술적 측면 이유
      • 데이터 중복으로 인한 데이터 일관성 유지 어려움
      • 데이터 접근에 대한 관리 및 통제 필요
      • 데이터 파일과 프로그램 간의 종속성으로 인해 비효율적
      • 데이터가 여기저기 흩어져 있어 보안 유지 어려움
      • → 기존 파일 시스템의 제한점 극복 위해 필요
    • 조직적 측면 이유
      • 데이터를 조직의 자산으로 관리
      • 데이터의 공유
      • 데이터의 일관성 및 무결성 유지
      • 데이터의 최신성 및 유용성 유지

1.1.3. 데이터베이스 정의

  • 데이터 베이스
    • 특정 조직의 여러 사용자가 데이터를 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합
  • 통합 데이터
    • 데이터 중복 최소화를 통해 중복으로 인한 데이터 불일치 현상 제거 및 데이터 통합
  • 저장 데이터
    • 컴퓨터를 통해 접근할 수 있는 저장 매체에 저장된 데이터
  • 공유 데이터
    • 여러 사용자가 함께 소유하고 이용할 수 있는 고용 데이터
  • 운영 데이터
    • 조직의 목적 달성을 위해 사용되는 데이터
    • 조직의 주요 기능 수행에 필요한 데이터

1.1.4. 데이터베이스 보안

  • 보안 필요성
    • 공유 데이터
      • 여러 사용자 사용 가능 → 허가된 사용자만 접근할 수 있도록 통제
    • 운영 데이터
      • 조직의 목적 달성 → 유출 및 무결성 훼손 방지
    • 저장 데이터
      • 물리적 저장 매체에 저장 → 외부 요인에 의한 물리적 손실 방지
  • 데이터 베이스 보안
    • 조직 내에 허가된 사용자만이 데이터베이스에 접근하도록 하여 데이터 유출을 방지하고, 권한이 있는 사용자로부터 데이터의 무결성이 훼손되지 않도록 통제하는 것
  • 분류
    • 물리적 환경에 대한 보안
      • 외부 요인으로 인한 데이터베이스의 물리적 손실 방지
        • ex) 백업 시스템 구축
    • 권한 관리를 통한 보안
      • 허가 받은 사용자만이 허용된 권한 내에서 데이터베이스 사용
        • ex) 접근 제어
          • 인증 (Authentication) : 데이터 사용자 확인 (누기인지)
          • 권한 부여 (Authorization) : 인증된 사용자에게 데이터 접근 범위 부여 (어디까지 가능한지)
    • 운영 관리를 통한 보안
      • 권한이 있는 사용자가 데이터베이스를 사용하는 동안 데이터의 무결성이 유지되도록 제약조건 정의, 위반하지 않도록 통제
        • DBMS를 통해 제약 조건 정의 및 설정
        • 해쉬, 맥 기술을 활용하여 보안 제공

1.2. 데이터베이스 시스템

1.2.1. 파일 시스템

  • 개념
    • 데이터를 파일 형태로 관리하는 시스템
    • 파일의 생성, 수정, 검색, 삭제 기능 제공
    • 응용 프로그램별로 필요한 데이터를 별도의 파일로 관리 (데이터 종속성)
      • → 파일 시스템의 특징이자 문제점
    • 데이터베이스가 등장하기 이전에 데이터 관리를 위해 사용
  • 데이터 종속성으로 인한 문제점
    • 데이터 파일 저장 방법, 구조 등 변경 → 응용 프로그램도 변경 필요
    • 응용 프로그램별 데이터 파일 생성 → 데이터 중복 발생
      • 중복 데이터 간의 값 불일치로 일관성 훼손
      • 중복 데이터에 대한 동등한 보안 수준 유지 불가
      • 중복 데이터의 무결성 훼손 방지 수단 부재
      • 제어 분산 → 낮은 효율성 및 정확성
      • 저장 공간 비용 증가 → 낮은 경제성

1.2.2. 데이터베이스 시스템

  • DBMS를 통해 데이터를 통합 관리하는 시스템
  • 구성 요소
    • 데이터 베이스
      • 조직에서 사용하던 데이터를 통합하여 저장한 공유 데이터
      • 실시간 서비스로 실시간 접근성 보장
        • 사용자가 데이터 요청 시, 수 초 내에 제공
      • 저장된 데이터 값은 지속적인 변화 발생
      • 파일 시스템 문제점 극복
        • 데이터 통합에 따른 데이터 중복 최소화
      • 동시 공유 보장
      • 저장된 데이터 값에 따라 참조
        • 사용자에 따라 접근할 수 있는 데이터의 속성을 다르게 관리 가능
    • Database Management System(DBMS)
      • 사용자와 데이터베이스를 연결시켜주는 소프트웨어
      • 데이터의 무결성 보장
      • 장애 발생 시 회복 기능 지원
      • 데이터베이스 통합하여 데이터 종속성 및 중복성 문제 해결
      • 데이터 관련 기능 제공
      • Oracle, mysql 등 다양한 종류
    • 데이터 모델
      • 눈에 보이지 않는 추상화된 모델
      • 데이터 저장 기법 관련
        • 데이터의 관계, 접근 및 처리 과정
      • 데이터 모델링의 결과물을 표현하는 도구
        • 개념적, 논리적, 물리적 모델로 구분

1.2.3. 파일시스템 vs DBMS

  • 특징
  • DBMS 장점
    • 데이터 복구, 보안, 동시성 제어, 데이터 관리 기능 등 제공
    • 데이터 무결성 유지 및 데이터 표준 준수 용의
      • 무결성 유지를 위한 다양한 제약 조건
      • 보안 기술 활용 데이터 저장
      • 대부분 SQL 준수

1.3. 데이터베이스 추상화 레벨

  • 추상화
    • 구축하려는 데이터베이스가 무엇인지 파악하고 도출해내는 과정

1.3.1. 스키마와 인스턴스

  • 스키마
    • 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것
      • 데이터베이스 내의 속성들의 집합
      • 릴레이션의 테이블명을 포함한 속성들의 집합
  • 인스턴스 (Instance)
    • = 튜플들의 집합
    • 스키마에 따라 데이터베이스에 실제로 저장된 값

1.3.2. 데이터베이스 추상화 레벨

  • 관점에 따라 다양하게 구축
  • 3단계 데이터베이스 구조
    • 하나의 데이터베이스에 대해 서로 다른 관점의 여러 사용자들이 효율적으로 사용할 수 있도록 만듦
    • ANSI - SPARC Architecture
  • 물리 레벨 - 내부 단계 (Internal Level)
    • 데이터베이스 추상화 레벨에서 최하위 단계
    • 저장 장치의 관점 표현
    • 하나의 내부 스키마 존재
      • 내부 스키마(= 정의 스키마)
        • 저장 장치에 실제로 데이터베이스가 저장되는 방법 정의
  • 논리 레벨 - 개념 단계 (Conceptual Level)
    • 데이터베이스의 전체 구조를 추상하여 논리적으로 정의하는 단계
    • 모든 사용자/응용프로그램의 전체적인 관점 표현
      • 테이블 내 모든 속성 포함
    • 하나의 개념 스키마 존재
      • 개념 스키마(=아키텍쳐 구조)
        • 물리적 저장 구조의 세부사항을 숨기고 데이터 유형, 속성, 관계, 제약조건 등 정의
  • 뷰 레벨 - 외부 단계 (External Level)
    • 여러 개 존재 가능 → 사용자 다양
    • 개별 사용자/프로그램 관점 표현
    • 하나의 데이터베이스에 여러 외부 스키마 존재 가능
      • 외부 스키마 (서브 스키마)
        • 관심있는 부분을 설명하고 나머지 세부사항을 모두 숨기는 특성
        • 각 사용자가 생각하는 데이터베이스 모습을 한정된 논리적 구조 표현

1.4. 데이터 모델

1.4.1. 데이터 모델

  • 데이터 모델
    • 데이터 모델링 결과물 표현 도구
  • 데이터 모델링
    • 현실에 존재하는 데이터를 컴퓨터로 표현하기 위해 단순화 및 추상화하여 데이터베이스화
    • 개념적 데이터 모델링
      • 현실 세계의 중요 데이터를 추출하여 개념세계로 옮기는 작업
      • (특징 추출)
    • 논리적 데이터 모델링
      • 개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업
      • (데이터베이스화)

1.4.2. 데이터 모델 종류

  • 물리적 데이터 모델
    • 컴퓨터의 저장 장치에 데이터가 어떠한 형태로 저장되는지에 대한 물리적 구조
    • 저수준 데이터 모델
    • 데이터베이스가 최적의 성능 내도록 DBMS 특성에 맞게 구성
  • 개념적 데이터 모델
    • 사용자들이 데이터를 인식하는 방식에 대한 개념 제공
    • 개체, 속성, 관계로 구성
    • 고수준 데이터 모델
    • 엔티티-관계 모델(E-R model) 사용
  • 논리적 데이터 모델
    • 저수준 데이터 모델과 고수준 데이터 모델의 중간
    • 일반 사용자가 생각하는 데이터베이스 구조
      • 관계형 데이터 모델
      • 계층형 데이터 모델
      • 네트워크형 데이터 모델

1.4.3. 관계형 데이터 모델

  • 개념
    • 널리 사용되고 있는 논리적 데이터 모델
    • 2차원 테이블 형태로 데이터 표현
  • 구성 요소
    • 릴레이션 (=테이블)
      • 하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장한 것
      • 파일 관리 시스템 관점에서 파일에 대응
      • 릴레이션 스키마와 릴레이션 인스턴스로 구성
    • 속성 (=스키마)
      • 릴레이션의 열의 해당
      • 파일 관리 시스템 관점에서 필드에 대응
      • 데이터베이스를 구성하는 가장 작은 논리적 단위
    • 튜플 (=인스턴스)
      • 릴레이션의 행에 해당
      • 파일 관리 시스템 관점에서 레코드에 대응
  • 용어
    • 도메인
      • 하나의 속성이 가질 수 있는 값의 집합
      • 나중에 값의 적합성 판단
    • NULL
      • 속성 값이 존재하지 않거나 모르는 상태
    • 차수
      • 릴레이션 내 속성의 전체 개수
    • 카디널리티
      • 릴레이션 내 튜플의 전체 개수

1.5. 데이터베이스 설계

1.5.1. 데이터베이스 설계

  • 사용자의 다양한 요구사항 고려하여 데이터베이스를 설계하는 과정
  • 요구사항 분석 → 개념적 모델링 → 논리적 모델링
  • 데이터베이스 설계
    • 정규화를 이용한 설계
    • E-R모델과 릴레이션 변환 규칙을 이용한 설계
  • E-R 다이어그램
    • 개념적 데이터 모델링의 결과물
    • 기호를 사용하여 현실세계의 데이터 및 관계 표현
    • 표기법 : 피터첸, Barker

1.5.2. E-R 모델 기반 데이터베이스 설계

  • 설계 단계
    1. 요구사항 분석
      • 데이터베이스 용도 파악 → 요구사항 명세서
    2. 개념적 설계
      • DBMS에 독립적인 개념적 구조 설계 → 개념적 스키마 (E-R 다이어그램)
    3. 논리적 설계
      • DBMS에 적합한 논리적 구조 설계 → 논리적 스키마 (릴레이션 스키마)
    4. 물리적 설계
      • DBMS로 구현 가능한 물리적 구조 설계 (물리적 스키마)
    5. 구현
      • SQL문을 작성한 후 이를 DBMS에서 실행하여 생성
  • 1단계 - 요구사항 분석
    • 사용자의 요구사항을 수집 및 분석하여 개발할 데이터베이스의 용도 파악
    • 필요한 데이터 식별 및 처리 방법 고려 후 요구사항 명세서 산출
    • 식별 가능한 개체의 구성 확인!!
  • 2단계 - 개념적 설계
    • DBMS에 독립적인 개념 스키마를 설계하는 단계
    • 요구사항 분석 결과물을 개념적 데이터 모델링 수행, 개념적 구조로 표현
      • 개체와 속성 추출 → 관계 추출 → E-R 다이어그램 작성
  • 3단계 - 논리적 설계
    • 개념적 설계 단계에서 생성한 E-R 다이어 그램을 논리적 구조로 표현하여 DBMS에 적합한 릴레이션 스키마로 변환하는 단계
      • E-R 모델과 관계 데이터 모델과 표현 차이 존재로 쉽지 않음
    • 5가지 변환 규칙
      1. 모든 개체는 릴레이션으로 변환
      2. 다대다 관계는 릴레이션으로 변환
      3. ex) 주문 (상품과 고객 다대다 관계)
      4. 일대다 관계는 외래키로 표현
      5. 일대일 관계는 외래키로 표현
      6. 다중 값 속성은 릴레이션으로 변환