본문 바로가기

CS?/데이터베이스보안실습

(7)
[복습]데이터베이스 보안-2 이번 포스팅은 데이터 베이스 보호 방법 중 하나인 '접근제어'이다. 1. 접근제어 -접근제어는 크게 사용자 계정 생성, 계정 및 비밀번호 관리, 로그인 세션, 데이터베이스 감사로 구성된다. 1)사용자 계정 생성 -사용자 계정 승인 -로그인 할 때 계정번호와 비밀번호가 유효한지를 검사 2)계정 및 비밀번호 관리 -DBMS에 의해 유지되고 계정 생성, 삭제 시, 레코드가 알맞게 변동되는 암호화된 계정과 비밀번호 파일관리 3)로그인 세션 -사용자가 데이터베이스에 접속한 로그인 세션동안 데이터베이스에서 수행한 모든 연산 기록 4)데이터베이스 감사 -데이터베이스 불법 갱신이 의심될 경우 추적 감사(로그를 이용한 감사) 수행 2. 임의 접근 제어(DAC) "권한 부여" "권한 취소" -데이터베이스 시스템에서 임의 ..
[복습] 데이터베이스 보안 -1 1. 데이터 베이스 보안 Intro 데이터 베이스 보안 쟁점은 다음과 같다. -특정 정보에 접근할 수 있는 권한 관련 쟁점 -어떤 종류의 정보가 공개되지 않아야 하는지에 대한 정책 쟁점 -보안기능 구현되어야 하는 시스템 수준 -다수 보안 등급 설정 시, 데이터와 사용자 분류 데이터 베이스에 대한 위협은 "무결성(intergrity), 가용성(availability), 기밀성(confidentiality)이라는 보편적으로 인정된 보안목표를 달성하지 못하거나 저하되는 것"을 의미한다. 각 보안목표가 상실되었을 경우는 다음을 나타낸다. 무결성 상실 가용성 상실 기밀성 상실 "정보가 부적절한 변경으로부터 보호되어야 한다는 필요 조건을 의미"한다. 즉, 권한 없는 수정 연산이 데이터에 가해지면 무결성이 상실된다...
[복습] 고급 SQL 프로그래밍 1. SQL 프로그래밍 -SQL 에서도 다른 일반적인 프로그래밍 언어처럼 변수를 선언하고 사용할 수 있음 -SQL에서도 다른 프로그래밍 언어와 비슷한 분기, 흐름제어, 반복의 기능이 있음 2. MySQL 데이터 형식 1) 숫자 자료형 바이트 크기 TINYINT 1 2=2=256 SMALLINT 2 2=2=65536 MEDIUMINT 3 2=2=약1600만 INT 4 2=2=약40억 BIGINT 8 2=2=약1800경 DECIMAL 가변 최대 65자리 수 FLOAT 4바이트 유효숫자 10자리 DOUBLE 8바이트 유효숫자 17자리 BIT 가변 최대 64비트 REAL DOUBLE이 적용됨 BOOL BOOLEAN TINIYINT(1)이 적용됨 SERIAL BIGINT(20)이 적용됨 2)문자 데이터 형식 바이..
[복습]데이터베이스 정규화 -4 (4NF, 5NF) 이번 포스팅은 데이터베이스 정규화의 남은 단계인 제4정규형과 제5정규형을 다룬다. 1.제4정규형(4NF) -종속성들의 집합에 의해 암시되는 모든 종속성들에 대해 모든 의미있는 다치 종속성 X↠Y에서, X가 릴레이션 스키마 R의 슈퍼키이면 릴레이션 스키마는 종속성들의 집합에 대한 제 4정규형이다. 이 때 종속성들의 집합은 함수적 종속성과 디치 종속성을 포함한다. 즉, 애트리뷰트가 값이 원자값이 아닌 값을 여러개 갖는 릴레이션을 분해하여 애트리뷰트가 원자값을 갖도록 하는 정규형이다. (제4규형은 이전 단계인 BCNF를 만족한 상태여야 한다.) 여기서 다치 종속성은 무엇일까? -다치종속: 두개의 독립된 애트리뷰트가 1:N 관계로 대응하는 관계로, '↠'화살표로 종속성을 표시한다. 여기 인터넷 서점 회원정보 릴..
[복습]데이터베이스 정규화 -3 (3NF, BCNF) 이번 포스팅은 지난시간에 이어 데이터베이스 정규형인 3NF, BCNF를 다룬다. 1. 제3정규형 (3NF) -릴레이션 스키마가 제2정규형이고, 릴레이션 스키마의 어떤 비주요 애트리뷰트도 기본키에 이행적으로 종속하지 않으면 릴레이션 스키마 R이 제3정규형이다. 즉, 후보키가 아닌 애트리뷰트에 다른 애트리뷰트들이 함수적 종속성을 가지면 안된다는 뜻이다. 여기 인터넷 서점 회원정보 릴레이션이 있다. 기본키인 회원번호 애트리뷰트는 '주소', '이름', '주문번호'와 함수적 종속성 관계에 있다. 하지만 '주문권수', '가격' 애트리뷰트는 기본키가 아닌 '주문번호' 애트리뷰트와 함수적 종속성 관계에 있다는 것을 볼 수 있다. 이 릴레이션에선 각 회원의 '주문권수'나 '가격'을 알기 위해 '주문번호'애트리뷰트가 중간..
[복습]데이터베이스 정규화 -2 (1NF, 2NF) 이번 포스팅은 데이터베이스 정규형인 1NF, 2NF를 다룬다. 1. 제1정규형(1NF) -애트리뷰트의 도메인이 오직 원자값(atomic value)만 포함하고, 투플에 모든 애트리뷰트 값은 그 애트리뷰트 도메인에 속하는 하나의 값이어야 함 제1정규형을 한마디로 정의하면 "중복되거나 테이블 한 칸에 값이 두개 이상 들어가면 안된다"가 되겠다. 예를 들어, 학생 정보 릴레이션이 있다 하자. 이름 학번 전공 전화번호 김애용 20190001 고양이학과, 호랑이학과 010-1234-1234 박꿀꿀 20190002 돼지학과 010-1234-5678 이 때, 김애용의 전공 애트리뷰트 값은 {고양이학과, 호랑이학과}로 두개를 갖는다. 하지만 제1정규형은 "원자값"을 가지는 경우이기 때문에 김애용의 전공 애트리뷰트 상태..
[복습]데이터베이스 정규화 -1 (Intro) 1. 데이터베이스 정규화란? 1)데이터의 중복을 최소화 2)삽입, 삭제, 수정 시 발생하는 이상 현상을 최소화 두 현상을 최소화 하기 위해 함수적 종속성과 기본키를 기반으로주어진 릴레이션 스키마를 분석하는 과정이다. 정규화 과정을 거치게 되면, 효율적으로 저장공간을 활용할 수 있고, 논리적으로 데이터를 저장하는 등의 릴레이션 스키마를 잘 설계했다는 의미를 지닐 수 있다. 정규화 과정은 어떤 릴레이션 스키마가 어떤 정규형을 만족하는지 확인하는 일련의 테스트이다. 정규형에는 다음과 같은 종류가 있다. (각 정규형은 숫자가 커질 수록 중복 데이터가 줄어든다.) 1. 제 1정규형 (1NF) 2. 제 2정규형 (2NF) 3. 제 3정규형 (3NF) 4. 보이스코드 정규형 (BCNF) 5. 제 4정규형 (4NF) ..