컬럼 대칭키 암호화 작업(SQL 2008) ① 마스터 키 생성 ② 인증서 생성 초기 한번만 실행 ③ 대칭키 생성

Slides:



Advertisements
Similar presentations
Python Essential 세미나 1 Python Databases Module - Part 2 (MySQL Module) 발표자 : 박영국 ( 화 )
Advertisements

CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
널 (null) 의 처리 널을 검색하는 방법 형식 예 ) takes 테이블에서 아직 학점이 부여되지 않은 학생의 학번을 검색 is null is not null ( 질의 64) select stu_id from takes where grade is null.
SQL Server 2000 트랜잭션과 잠금 데브피아 세미나
Allow reverse scans allow reverse scnas. allow reverse scans allow reverse scnas.
SQL 0613.
웹 프로그래밍 HTML, 자바스크립트, ASP를 중심으로
소리가 작으면 이어폰 사용 권장!.
12 프로젝트 실습.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
C#에서 데이터베이스 연동 방법.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
JDBC 프로그래밍 이수지 이동주 1.
You YoungSEok 고급 SQL You YoungSEok
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
17장. 데이터를 안전하게 보관하자. (백업, 복원, 스냅숏)
DB 구축과 프로그래밍 CASE 도구인 ERwin을 설치하고 셋업하는 방법을 익힌다.
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
Chapter 01 데이터베이스 시스템.
11장. 데이터베이스 서버 구축과 운영.
kHS 데이터베이스 테이블 및 인덱스 kHS.
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
기초 T-SQL.
MySQL 기본 사용법.
트랜잭션과 잠금 트랜잭션 처리 메커니즘을 자세히 이해한다. 트랜잭션의 종류를 파악한다.
Chapter 05 데이터베이스 프로그래밍.
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
ER-Win 사용 방법.
SQL Server 2000 세미나 Profiler를 이용한 문제해결
차례 튜닝 - 프로필러를 이용한 튜닝 프로필러 친해지기 프로필러 결과 테이블로 만들기 프로필러 결과 분석하기
단일 테이블 조회를 위한 SELECT 문을 이해한다. 열 제약조건과 행 제약조건을 이해한다. 결과 집합 변경 방법을 이해한다.
14 뷰(View) 뷰의 개념 뷰 관리.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
8 데이터베이스 사용하기.
12 데이터베이스 사용하기.
SQL.
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
강사: 이종인 다우 교육원 전임강사 / 온디멘드 수석 컨설턴트 / FMG 수석 컨설턴트
SQL (structured query language)
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
고급 T-SQL.
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
13장 무결성 제약조건.
SQL Query in the SSMS : DB, Table
정보보안.
JSP 게시판 구현.
데이터베이스 (Database) SQL 추가 기능: 주장, 뷰, 프로그래밍 기법 문양세 강원대학교 IT대학 컴퓨터과학전공.
인터넷응용프로그래밍 과제 실습.
3장. SQL Server 2008전체 운영 실습 및 DB와 프로그램의 연동
2. CONCEPTS 컴퓨터 네트워크 실험실 석사 1학기 강 동 호.
15 사용자 권한 제어 데이터베이스 보안 권한 롤 동의어.
MS-SQL7.0 Implementation 강의 노트
13장 자바빈과 데이터베이스를 연동한 게시판 시스템
SQL Server 2000 세미나 View, SP &Trigger
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
Chapter 3. Public Key Infrastructure
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
Stored program 2 장종원
컬럼 대칭키 암호화 작업(SQL 2008) ① 마스터 키 생성 ② 인증서 생성 초기 한번만 실행 ③ 대칭키 생성
Stored program 장종원
Data Base Mysql.
제 5 장 MariaDB인덱스 생성 및 관리.
Presentation transcript:

컬럼 대칭키 암호화 작업(SQL 2008) ① 마스터 키 생성 ② 인증서 생성 초기 한번만 실행 ③ 대칭키 생성 ④ 대칭키 OPEN ⑤ 암/복호화 암/복호화시 ④⑤⑥ 세트로 실행 ⑥ 대칭키 CLOSE

① 마스터 키 생성 1. 명령문 2. 기타 -- 마스터 키 생성 USE TESTDB CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Pwd_Create_Master' -- ⓐ 데이터베이스의 마스터키를 암호화하는데 사용되는 암호입니다 2. 기타 -- 마스터 키 백업 OPEN MASTER KEY DECRYPTION BY PASSWORD = 'Pwd_Create_Master'; BACKUP MASTER KEY TO FILE = 'C:\MasterKey' -- 생성된 파일을 잘 보관해 두어야 한다.(★) ENCRYPTION BY PASSWORD = 'Pwd_Backup_Master' -- ⓑ 파일의 마스터키를 암호화하는데 사용되는 암호입니다. -- 마스터 키 삭제 DROP MASTER KEY -- 마스터 키 복원 RESTORE MASTER KEY FROM FILE = 'C:\MasterKey' -- 생성된 파일을 잘 보관해 두어야 한다.(★) DECRYPTION BY PASSWORD = 'Pwd_Backup_Master' -- ⓑ ENCRYPTION BY PASSWORD = 'Pwd_Create_Master' -- ⓐ -- 마스터키조회 SELECT * FROM TESTDB.sys.symmetric_keys

② 인증서 생성 1. 명령문 2. 기타 -- 인증서초기생성 CREATE CERTIFICATE Cert_JUMIN -- 인증서이름 ENCRYPTION BY PASSWORD = 'Pwd_Create_Cert' -- ⓒ인증서비밀번호 WITH SUBJECT = '주민번호인증서', -- 인증서제목 EXPIRY_DATE = '12/31/2050' -- 인증서유효기간('mm/dd/yyyy') 2. 기타 -- 인증서조회 SELECT * FROM TESTDB.sys.certificates -- 인증서백업 BACKUP CERTIFICATE Cert_JUMIN TO FILE = 'C:\CERT' -- 인증서, 생성된 파일을 잘 보관해 두어야 한다.(★) WITH PRIVATE KEY ( FILE = 'C:\PRI' , -- 개인키, 생성된 파일을 잘 보관해 두어야 한다.(★) ENCRYPTION BY PASSWORD = 'Pwd_Backup_Cert', -- ⓓ키를 백업파일에 작성하기 전에 개인키를 암호화하는데 사용되는 암호입니다. DECRYPTION BY PASSWORD = 'Pwd_Create_Cert' -- ⓒ키를 백업하기전에 개인키의 암호를 해독하는데 사용되는 암호입니다 ) -- 인증서삭제 DROP CERTIFICATE Cert_JUMIN -- 인증서복구 CREATE CERTIFICATE Cert_JUMIN FROM FILE = 'C:\CERT' WITH PRIVATE KEY ( FILE = 'C:\PRI', ENCRYPTION BY PASSWORD = 'Pwd_Create_Cert', -- ⓒ개인키를 암호화 하는데 사용되는 암호를 지정합니다 DECRYPTION BY PASSWORD = 'Pwd_Backup_Cert' -- ⓓ파일에서 검색한 개인키의 암호를 해독하는데 필요한 암호를 지정합니다 );

③ 대칭키 생성 1. 명령문 CREATE SYMMETRIC KEY Sym_KEY -- 대칭키이름 WITH ALGORITHM = AES_128, -- 암호알골리즘 선택 IDENTITY_VALUE = 'Data encryption key 03/29/2010', -- 사용자 형식에 맞게 수정 KEY_SOURCE = 'ORGA WHOLE FOODS SYMMETRIC KEY‘ -- 사용자 형식에 맞게 수정 ENCRYPTION BY CERTIFICATE Cert_JUMIN -- 대칭키를 암호화하는데 사용되는 인증서 이름을 지정합니다 -- 대칭키조회 SELECT * FROM TESTDB.sys.symmetric_keys 2. 암호 알고리즘 DES | TRIPLE_DES | TRIPLE_DES_3KEY | RC2 | RC4 | RC4_128 | DESX | AES_128 | AES_192 | AES_256 3. 기타 대칭키는 백업과 복원이 없다. 생성시에 IDENTITY_VALUE, KEY_SOURCE 항목을 지정하고 만들어야 추후 삭제 되었을때 대칭키를 다시 만들어도 이전 대칭키로 암호화 된 데이터를 복호화 할 수 있다.

④ 대칭키 OPEN 1. 명령문 2. 기타 OPEN SYMMETRIC KEY Sym_KEY -- 대칭키이름 DECRYPTION BY CERTIFICATE Cert_JUMIN -- 인증서이름 WITH PASSWORD = 'Pwd_Create_Cert' -- ⓒ인증서비밀번호(대/소문자 같아야 함.) 2. 기타 (암/복호화 할 때 항상 먼저 열어야 함.) -- 조회 SELECT * FROM TESTDB.sys.symmetric_keys

⑤ 암/복호화 1. 명령문 2. 암호화 컬럼 관련 -- 테이블 생성 CREATE TABLE 고객( 고객번호 INT IDENTITY PRIMARY KEY, 고객이름 VARCHAR(20) NOT NULL, 주민번호 VARBINARY(128) NOT NULL -- 대칭키가Open되어있지 않으면 NULL값으로 대체된다. ) GO -- 암호화 INSERT INTO 고객(고객이름, 주민번호) VALUES('지현명', EncryptByKey(Key_GUID('JUMIN_KEY'), ‘7905219925487')) --복호화 SELECT CONVERT(VARCHAR, DecryptbyKey(주민번호)) FROM 고객 2. 암호화 컬럼 관련 -- varbinary(128) 암호화 컬럼을 128byte로 지정할 경우 입력문자열 제한 1). ascii 1234567890123456789012345678901234567890123456789012345678901234567890 2). unicode 무궁화꽃이피었습니다무궁화꽃이피었습니다무궁화꽃이피었습니다무궁화꽃이

⑥ 대칭키 CLOSE 1. 명령문 IF EXISTS (SELECT * FROM TESTDB.sys.openkeys WHERE KEY_NAME = 'Sym_KEY') BEGIN CLOSE SYMMETRIC KEY Sym_KEY PRINT 'CLOSE' END ELSE PRINT 'NOTHING' 2. 기타 - 해당 세션에서 여러개의 대칭키를 사용하고 이를 모두 닫아야 한다면 CLOSE ALL SYMMETRIC KEYS

※ 참고 http://msdn.microsoft.com/en-us/library/bb326115.aspx http://msdn.microsoft.com/ko-kr/library/bb326115.aspx http://msdn.microsoft.com/ko-kr/library/ms366281.aspx