제 23 장 데이타베이스 보안의 소개 Fundamentals of Database Systems

Slides:



Advertisements
Similar presentations
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
Advertisements

You YOungseok 데이터베이스 테이블 및 인덱스 You YOungseok.
Statistical database Security
SQL Injection Member 최병희, 김상우, 조용준, 유창열.
Entity Relationship Diagram
4.2 SQL 개요 SQL 개요 SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는데 중요한 요인의 하나
JSP Programming with a Workbook
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
8장. 뷰와 시스템 카탈로그 뷰와 시스템 카탈로그 관계 데이터베이스 시스템의 뷰(view)는 다른 릴레이션으로부터 유도된 릴레이션(derived relation)으로서 ANSI/SPARC 3단계 아키텍처의 외부 뷰와 다름 뷰는 관계 데이터베이스 시스템에서 데이터베이스의.
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
6장 Mysql 명령어 한빛미디어(주).
MySQL 및 Workbench 설치 데이터 베이스.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
6 장. ER-관계 사상에 의한 관계 데이터베이스 설계
11 테이블 관리와 데이터 딕셔너리 데이터베이스 응용 프로젝트 개발 테이블 구조 변경 데이터 딕셔너리.
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
5장 Mysql 데이터베이스 한빛미디어(주).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
6장 그룹 함수.
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소의 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS 시제품은.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어 어느것을 기본으로 만들것인가
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
정보화 사회와 컴퓨터 보안.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
23장. 구조체와 사용자 정의 자료형 2.
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
KHS JDBC Programming 4 KHS
01 데이타베이스 개론 데이타베이스의 등장 배경 데이타베이스의 발전 과정 데이타베이스의 정의 데이타베이스의 특징
5장 Mysql 데이터베이스 한빛미디어(주).
KIM HEESANG PL/SQL 2 KIM HEESANG
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
You YoungSEok Oracle 설치 You YoungSEok
CHAP 12. 리소스와 보안.
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
JDBC Lecture 004 By MINIO.
View(뷰) 1 가상 테이블(Virtual Relation)
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
ER-관계 사상에 의한 관계 데이터베이스 설계
Chapter 03. 관계 데이터베이스 설계.
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
Database Management System
데이터 베이스 DB2 관계형 데이터 모델 권준영.
CHAP 21. 전화, SMS, 주소록.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
문성우 SQL 실습 Part Ⅰ 문성우.
오라클 11g 보안.
제 8 장 ER-관계 사상에 의한 관계 데이타베이스 설계
14 뷰(View) 뷰의 개념 뷰 관리.
제 23 장 오라클에서 보안 기능.
Chapter 10 데이터 검색1.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
제 4 장 Record.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
07. DB 설계 명지대학교 ICT 융합대학 김정호.
ER-관계 사상에 의한 관계 데이터베이스 설계
14 뷰(View) 뷰의 개념 뷰 관리.
 6장. SQL 쿼리.
11장. 보안과 권한 관리 보안 권한 관리. 11장. 보안과 권한 관리 보안 권한 관리.
7 생성자 함수.
6 객체.
교과서 78쪽 학습 목표 정보 관리의 필요성을 이해할 수 있다. 데이터베이스의 개념과 필요성을 이해할 수 있다.
Ⅰ. 데이터베이스 정의 Ⅱ. MS SQL 서버 Ⅲ. 데이터베이스 인터페이스
Presentation transcript:

제 23 장 데이타베이스 보안의 소개 Fundamentals of Database Systems 제 23 장 데이타베이스 보안의 소개 Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe Copyright© 2011 황규영 홍의경 음두헌 박영철 김진호 조완섭

Fundatmetals of Database Systems 목 차 23.1 데이타베이스 보안의 쟁점들의 소개 23.2 권한의 부여/취소를 기반으로 한 임의 접근제어 23.3 다단계 보안을 위한 강제 접근제어와 역할기반 접근제어 23.4 SQL 주입 23.5 통계 데이터베이스 보안의 소개 23.6 흐름 제어의 소개 23.7 암호화와 공개치 기반 구조 23.8 프라이버시의 쟁점들과 보존 23.9 데이터베이스 보안에 대한 난제들 23.10 오라클 레이블-기반 보안 23.11 요약 Ch23 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.1 데이타베이스 보안의 쟁점들에 대한 개요 23.1.1 보안의 유형 23.1.2 제어 수단들 23.1.3 데이터베이스 보안과 데이터베이스 관리자 23.1.4 접근 제어, 사용자 계정, 데이터베이스 감사 23.1.5 민감한 데이터와 공개의 유형 23.1.6 정보 보안과 정보 프라이버시의 관계 Ch23 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.1.1 보안의 유형 주요 쟁점들 특정 정보에 접근할 수 있는 권한에 관한 법적, 윤리적 쟁점들 예: 정보의 프라이버시(privacy)를 통제하는 법규 어떤 종류의 정보를 공개하지 않을 지에 관한 행정적, 제도적, 기업 수준의 정책에 관한 쟁점들 예: 신용 등급과 개인의 의료 기록. 다양한 보안 기능을 수행해야 하는 시스템 수준의 쟁점들 예: 보안 기능을 물리적인 하드웨어 수준, 운영체제 수준, 또는 DBMS 수준에서 처리 조직에 따라서는 여러 단계의 보안 등급을 정하고 데이타와 사용자를 이러한 분류 기준에 따라 분류할 필요성 이 있음 예: 1급 비밀(top secret), 2급 비밀(secret), 3급 비밀(confidential), 일반 정보(unclassified)와 같이 4등급으로 분류 Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.1.1 보안의 유형 (cont.) 데이터베이스에 대한 위협 무결성의 상실 : 권한을 갖지 않은 사람이 데이터를 수정 가용성의 상실 : 권한을 가진 사람이 사용하지 못함 기밀성의 상실 : 권한을 갖지 않은 사람에게 데이터가 노출됨 데이터베이스 보안 기업의 유형 임의 보안 기법 (Discretionary security mechanisms) 사용자들에게 특정 데이타 화일들, 레코드들, 또는 필드들을 지정된 모드(예를 들어, 읽기, 삽입, 삭제, 또는 수정)로 접근할 수 있는 권한을 부여함 강제 보안 기법 (Mandatory security mechanisms) 데이타와 사용자들을 다양한 보안 등급으로 분류하고 해당 조직에 적합한 보안 정책을 적용하여 다단계 보안을 시행하기 위해 사용됨 이의 확장으로 역할-기반 보안 기법이 있음 Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.1.2 제어 수단들 접근 제어 (access control) 권한 없는 검색/수정 방지하기 위해 시스템 자체에 접근하는 것을 방지함 예) 사용자 계정과 비밀번호 사용 추론 제어 (inference control) 통계 데이터베이스에서 개인 정보 추론을 제어 흐름 제어 (flow control) 권한을 갖지 않는 사람에게 정보가 흘러가는 것을 방지 데이터 암호화 (data encryption) 권한을 갖지 않는 사용자가 데이터를 해독할 수 없도록 데이터 내용을 보호 Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.1.3 데이타베이스 보안과 데이타베이스 관리자 데이타베이스 관리자는 시스템 전체에 대한 보안을 관리하며, 이를 위한 모든 권한을 소유함 보안을 위한 데이타베이스 관리자의 작업 계정 생성 (전체적인 접근 제어) 사용자 또는 사용자들의 그룹에 대해 새로운 계정과 암호를 생성한다. 권한 부여와 취소 (임의 데이타베이스 권한관리의 부여와 취소) 특정 계정에 특정 권한의 부여와 취소 보안등급 지정 (강제 데이타베이스 권한관리의 지정) 사용자 계정에 적절한 보안분류등급을 지정 Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 20.1.4 접근 제어, 사용자 계정, 데이터베이스 감사 접근 보호 계정 번호와 암호 입력을 통한 DBMS의 접근 사용자 계정과 암호의 관리 Account_Number, Password필드를 가진 암호화된 테이블에 기록하여 관리 데이타베이스 감사 (audit) 각 로그인 세션 동안 사용자가 데이타베이스에 가한 모든 연산들을 기록한다. 데이타베이스가 불법적으로 갱신되었다는 의심이 들면 데이타베이스 감사를 실시한다. 데이타베이스 감사는 특정 기간 동안 데이타베이스에 적용된 모든 연산들을 검사하기 위해서 시스템 로그를 조사하는 것이다. 주로 보안 목적으로 사용되는 데이타베이스 로그를 추적 감사(audit trail)라 한다. Ch20 Fundatmetals of Database Systems

23.2 권한의 부여/취소를 기반으로 한 임의 접근제어 23.2.1 임의 권한의 유형 23.2.2 뷰를 사용한 권한 명시 23.2.3 권한 취소 23.2.4 GRANT OPTION을 사용한 권한의 전파(propagation) 23.2.5 권한의 부여와 취소를 나타내는 예 Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.2.1 임의 권한의 유형 데이타베이스 시스템 사용의 권한 할당에서 두가지 수준 계정 수준 (account level) 이 수준에서, 데이타베이스 관리자는 각 계정이 보유할 특정 권한들을 지정한다. 이 권한들은 데이타베이스의 릴레이션들과는 독립적이다. 릴레이션 (혹은 테이블) 수준(relation or table level) 이 수준에서, 데이타베이스의 각 릴레이션 또는 뷰에 접근하는 사용자의 권한을 제어할 수 있다. Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.2.1 임의 권한의 유형 (cont.) 계정 수준의 권한 스키마를 생성하기 위한 CREATE SCHEMA 권한 기본 릴레이션을 생성하기 위한 CREATE TABLE 권한 뷰 생성을 위한 CREATE VIEW 권한 릴레이션의 속성을 추가하거나 삭제하기 위한 ALTER 권한 릴레이션 또는 뷰를 삭제하기 위한 DROP 권한 레코드를 생성, 삭제, 수정하기 위한 MODIFY 권한 SELECT문을 사용하여 데이타베이스의 정보를 읽기 위한 SELECT 권한 Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.2.1 임의 권한의 유형 (cont.) 릴레이션 수준의 권한 : 아래에 명시한 종류의 권한들이 각 개별 릴레이션 R에 부여될 수 있음 R에 대한 SELECT 권한 그 계정에게 읽기 권한을 부여 R에 대한 MODIFY 권한 (UPDATE, DELETE, INSERT) 그 계정에게 R의 투플들을 변경할 수 있는 권한을 부여 INSERT와 UPDATE 권한은 특정 애트리뷰트로 지정 가능함 R에 대한 REFERENCES 권한 무결성 제약조건 (integrity constraints)을 지정할 때 릴레이션 R을 참조할 수 있는 권한을 그 계정에게 부여 특정 애트리뷰트로 지정 가능 Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.2.2 뷰를 사용한 권한 명시 뷰를 이용한 읽기 권한 릴레이션의 소유자가 릴레이션의 일부 속성들만을 다른 계정에서 읽을 수 있는 권한을 주고 싶다면 릴레이션의 일부 속성들만으로 이루어진 뷰를 생성하여 다른 계정에 SELECT 권한을 준다. Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.2.3 권한 취소 SQL에는 권한 소멸의 목적으로 REVOKE 명령이 포함되어 있음 Ch20 Fundatmetals of Database Systems

23.2.4 GRANT OPTION을 사용한 권한의 전파 릴레이션 R의 소유자 A가 R에 대한 권한을 다른 계정 B에게 부여할 때마다, 그 권한은 GRANT OPTION과 함께 또는 GRANT OPTION 없이 B에게 부여될 수 있다. GRANT OPTION이 주어지면 B 또한 R에 대한 그 권한을 다른 계정들에게 부여할 수 있다는 의미이다. 두개 이상의 공급원으로부터 권한 부여 사용자가 특정 권한을 두 개 이상의 공급원들로부터 받는 것이 가능하다. 예를 들어, A4는 A2와 A3 모두로부터 어떤 UPDATE R 권한을 받을 수 있다. 이 경우, 만일 A2가 이 권한을 A4로부터 취소한다면, A4는 그 권한을 A3으로부터 부여받은 덕택으로 여전히 계속해서 그 권한을 가진다. 이후에 A3이 그 권한을 A4로부터 취소하면, A4는 그 권한을 완전히 잃게 된다. Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.2.5 권한의 부여와 취소를 나타내는 예 CREATE SCHEMA EXAMPLE AUTHORIZATION A1; GRANT INSERT, DELETE ON EMPLOYEE, DEPARTMENT TO A2; GRANT SELECT ON EMPLOYEE, DEPARTMENT TO A3 WITH GRANT OPTION; GRANT SELECT ON EMPLOYEE TO A4; REVOKE SELECT ON EMPLOYEE FROM A3; CREATE VIEW A3EMPLOYEE AS SELECT  NAME, BDATE, ADDRESS FROM  EMPLOYEE WHERE  DNO = 5; GRANT SELECT ON A3EMPLOYEE TO A3 WITH GRANT OPTION; GRANT UPDATE ON EMPLOYEE(SALARY) TO A4; Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.2.6 권한의 전파에 대한 제한의 명시 권한의 전파를 제한하는 기법들 이미 개발되었으나 아직 대부분의 DBMS에서 구현되지 않았으며 SQL의 일부분으로도 채택되지 않았음 수평전파(horizontal propagation)의 제한 수평 전파를 i로 제한한다는 것은 GRANT OPTION을 받은 계정 B가 최대한 i개의 계정들에게만 권한을 부여할 수 있음을 의미함 수직전파(vertical propagation)의 제한 수직 전파의 제한은 권한 부여의 깊이를 제한하는 것임 계정 A가 0보다 큰 정수 j인 수직전파로 계정 B에게 권한을 부여하면 계정 B는 GRANT OPTION을 갖지만, B는 j값 미만의 수직전파로만 다른 계정들에게 권한을 부여할 수 있다. 수직전파는 최초의 권한 부여에 근거하여 GRANT OPTION이 한 계정에서 다른 계정으로 전달되는 일련의 순서를 제한한다. Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.3 다단계 보안을 위한 강제 접근제어와 역할 기반 접근 제어 강제 접근제어 보안 등급에 바탕을 두고 데이타와 사용자들을 분류하는 보안 정책 현재 대부분의 상용 DBMS는 임의 접근제어만을 제공함 다단계 보안에 대한 요구는 많은 산업체와 기업의 응용들을 비롯하여 정부기관, 군, 정보기관의 응용들에 존재함 보안등급 (4단계) 1급 비밀(top secret: TS), 2급 비밀(secret: S), 3급 비밀(confidential: C), 일반 정보(unclassified: U) TS ≥ S ≥ C ≥ U Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.3 다단계 보안을 위한 강제 접근제어와 역할 기반 접근 제어 (cont.) Bell-LaPadula 모델 : 다단계 보안을 위해 흔히 사용되는 모델 각 주체(사용자, 계정, 프로그램)와 객체(릴레이션, 투플, 열, 뷰, 연산)를 보안 등급인 TS, S, C, U 중의 하나로 분류함 주체 S의 등급은 class(S)로, 객체 O의 등급은 class(O)라고 표시함 두 가지 제약조건 class(S) ≥ class(O)가 아니면 주체 S는 객체 O에 읽기 접근을 할 수 없다. 이 조건을 단순 보안 특성(simple security property)이라고 한다. class(S) ≤ class(O)가 아니면 주체 S는 객체 O에 쓰기 접근을 할 수 없다. 이 조건을 스타 특성(star property 또는 *-property)이라고 한다. Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.3 다단계 보안을 위한 강제 접근제어와 역할 기반 접근 제어 (cont.) 다단계 관계형 스키마 R R ( A1, C1, A2, C2, ..., An, Cn, Tc ) n : 속성의 수, Ai : 각 애트리뷰트 Ci : Ai와 연관된 등급 애트리뷰트 Tc : 각 투플 t가 가진 Tc 값은 t 내의 모든 애트리뷰트 등급 값들 중에서 가장 높은 것으로서, 투플 자체에 대한 일반적인 등급을 제공함 다단계 릴레이션에서 외관상 키(apparent key)는 보통의 단일단계 릴레이션에서 기본키를 구성하는 애트리뷰트들의 집합이다. 다단계 릴레이션은 다른 등급에 속한 주체(사용자)들에게 다른 데이타를 가지고 있는 것으로 보인다. 여과 ( filtering ) 다개체화 ( polyinstantiation ): 여러 개의 투플들이 동일한 외관상 키값을 가지지만 다른 등급 수준에 있는 사용자들에 대해서 다른 애트리뷰트 값들을 가질 수 있게 됨 Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.3 다단계 보안을 위한 강제 접근제어와 역할 기반 접근 제어 (cont.) (a) EMPLOYEE Name Salary JobPerformance TC Smith U 40000 C Fair S S Brown C 80000 S Good C S (b) EMPLOYEE Smith U 40000 C Fair S C Brown C null C Good C C 그림 20.2 다단계 보안을 예시하기 위한 다단계 릴레이션. 원래의 EMPLOYEE 투플들. 보안등급이 C인 사용자에 대하여 여과 후의 EMPLOYEE의 모습. Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.3 다단계 보안을 위한 강제 접근제어와 역할 기반 접근 제어 (cont.) (c) EMPLOYEE Name Salary JobPerformance TC Smith U null C null U U (d) EMPLOYEE Smith U 40000 C Fair S S Smith U 40000 C Excellent C C Brown C 80000 S Good C S 그림 20.2 다단계 보안을 예시하기 위한 다단계 릴레이션 (cont.). (c) 보안등급이 U인 사용자에 대하여 여과 후의 EMPLOYEE의 모습. (d) Smith 투플의 다개체화. Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.3 다단계 보안을 위한 강제 접근제어와 역할 기반 접근 제어 (cont.) 역할-기반 접근 제어 Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.3 다단계 보안을 위한 강제 접근제어와 역할 기반 접근 제어 (cont.) Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.3 다단계 보안을 위한 강제 접근제어와 역할 기반 접근 제어 (cont.) Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.3 다단계 보안을 위한 강제 접근제어와 역할 기반 접근 제어 (cont.) 역할-기반 접근 제어 Create role: 역할 생성 Create role role2 identified by oracle4u; //oracle4u는 role2의 암호 Grant create session to role2; //role2가 할 수 있는 권한 지정 Grant select on hr.departments to role1; Distroy/Alter role: 역할 삭제/변경 Grant/Revoke Role : 역할을 임의의 사용자에게 부여/취소 Grant role2 to roleuser; 역할 계층(Role hierarchy) Grant role full_time to employee_type1 Grant role intern to employee_type2 Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.4 SQL 주입 (SQL Injection) SQL 주입의 방법들 SQL 조작 데이터베이스 로그인시 WHERE 절에 조건 추가하여 부정 로그인 SELECT * FROM users WHERE u=‘jake’ and passwd=‘xxxx’; SELECT * FROM users WHERE u=‘jake’ and passwd=‘yyy’ or ‘1’= ‘1’; 코드 주입 프로그램의 버그를 이용하여 새로운 SQL문 추가 또는 기존 SQL문 변경 함수 호출 주입 SELECT translate(‘user input’, ‘from_string’, ‘to_string’) FROM dual; SELECT translate(“|| UTL_HTTP.REQUEST (‘http://129.107.2.1/’) || “, ‘98765432’, ‘9876’); 사용자가 입력한 사이트의 데이터를 반환함 Ch20 Fundatmetals of Database Systems

23.4 SQL 주입 (SQL Injection) (cont’d) 데이터베이스 감식법 Backend에서 사용되는 데이터베이스의 유형, 제품, 버전을 파악함 서비스 거부 인증 생략하기 주입할 수 있는 매개 변수 식별하기 원격 명령 실행하기 권한 확대 수행하기 Ch20 Fundatmetals of Database Systems

23.4 SQL 주입 (SQL Injection) (cont’d) 바인드 변수들(매개 변수화한 문들의 사용) 바인드 변수(매개 변수)를 사용함 PreparedStatement stmt = conn.prepareStatement(“SELECT * FROM EMPLOYEE WHERE EMP_ID = ? AND PASSWD = ?”); stmt.setString(1, emp_id); stmt.setString(2, passwd); 입력 여과하기 (입력 확인) 입력에 따옴표(‘)가 있는지 확인함 함수 보안 함수 사용을 자제함 Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.5 통계 데이터베이스 보안의 소개 통계 데이타베이스 다양한 집단에 대한 통계를 산출하기 위해서 사용 통계 데이타베이스 보안(statistical database security) 개인 데이타에 대한 검색을 금지해야 한다. 이는 애트리뷰트 값들을 검색하는 질의를 금지하고 COUNT, SUM, MIN, MAX, AVERAGE, STANDARD DEVIATION과 같은 통계적인 집단함수를 포함하는 질의만을 허용함으로써 제어될 수 있다. 이러한 질의를 통계질의(statistical query)라 한다. 통계집합 함수를 통한 개인정보 추측 불허 투플 갯수 < 경계값 : 통계질의 불허 통계질의 결과에 약간의 부정확한 값 추가 Ch20 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.7 암호화와 공개키 기반 구조 23.7.1 데이터 암호화와 고급 암호화 표준 23.7.2 대칭키 알고리즘들 23.7.3 공개(비대칭)키 암호화 23.7.4 전자 서명 23.7.5 전자 인증서 Ch23 Fundatmetals of Database Systems

Fundatmetals of Database Systems 23.9 데이터베이스 보안에 대한 난제들 23.9.1 데이터 품질 23.9.2 지적 재산권 23.9.3 데이터베이스 생존성 Ch23 Fundatmetals of Database Systems

Fundatmetals of Database Systems 요 약 데이타베이스 보안의 쟁점 소개 권한의 부여/취소를 기반으로 한 임의 접근제어 임의 권한의 유형 뷰를 사용한 권한 지정 권한의 전파와 취소 다단계 보안을 위한 강제 접근제어 군대나 정부기관 등에서 주로 사용 통계 데이타베이스 보안의 개요 개인 데이터의 보호가 핵심 사항임 Ch20 Fundatmetals of Database Systems