티스토리 뷰

TDE 기능은 아래 버전에서만 사용가능 (2013-12-16 기준)

- SQL Server 2008 Enterprise Edition

- SQL Server 2008 R2 Datacenter, Enterprise Edition

- SQL Server 2012 Enterprise Edition

   

기능 설명

주요 기능은 데이터 및 로그파일의 실시간 I/O 암호화 및 해독이다. mdf, ldf와 같은 파일을 물리적으로 암호화하는 것이며 파일을 통째로 도난(?) 당했을 경우 TDE가 설정되어 있으면 이를 복원할 수 없게 한다. 투명한 데이터 암호화라고 부르는 이유는 파일 자체는 암호화 되어 상태이지만 실제 데이터 쿼리 시 암호화되어 알아볼 수 없는 데이터를 출력하는 것이 아니고 원하는 데이터를 바로 (투명하게) 볼 수 있도록 출력해주기 때문이다. 페이지 수준으로 암호화하여 디스크에 저장하고 필요한 데이터를 메모리에 올릴 때 암호를 해독하는 방식을 사용한다.

   

↓TDE 암호화의 아키텍처

SQL Server 암호화 계층 (http://tempdb.tistory.com/39) 참조

   

From <http://technet.microsoft.com/ko-kr/library/bb934049.aspx>

   

   

구현

   

1. 버전 확인

SQL Server의 버전과 에디션을 확인하여 TDE 기능을 지원하는지 점검한다.

   

2. DMK 생성

-- master DB에 마스터 키가 없으면 키 생성

USE master;

GO

IF NOT EXISTS

(SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101)

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'P@ssw0rd';

GO

   

DMK 생성 스크립트를 실행하기 전과 후 sys.databases 시스템 카탈로그를 확인하면 값이 0에서 1로 바뀐 것을 확인할 수 있다.

   

DMK 암호화 수행 전

   

DMK 암호화 수행 후

   

   

3. 인증서 생성

-- master DB에 인증서 생성

CREATE CERTIFICATE MyServerCert WITH SUBJECT = 'My DEK Certificate';

GO

   

   

4. DEK 생성

-- TDE 설정 대상 사용자 DB에 DEK 생성

USE AdventureWorks2008R2;

GO

CREATE DATABASE ENCRYPTION KEY

WITH ALGORITHM = AES_128

ENCRYPTION BY SERVER CERTIFICATE MyServerCert;

GO

   

경고 발생

백업을 하지 않은 상태에서 인증서나 개인키에 문제가 발생하면…?

/*

경고: 데이터베이스 암호화 키를 암호화하는 데 사용된 인증서가 백업되지 않았습니다.

인증서와 인증서에 연결된 개인 키를 즉시 백업해야 합니다.

인증서를 사용할 수 없게 되거나 다른 서버에서 데이터베이스를 복원하거나 연결해야 할 경우 인증서와

개인 키의 백업본이 있어야 합니다. 그렇지 않으면 데이터베이스를 열 수 없습니다.

*/

   

   

5. 인증서 & 개인키 백업

   

-- 백업 파일 확인

   

   

6. 사용자 DB 암호화 설정

ALTER DATABASE AdventureWorks2008R2

SET ENCRYPTION ON

GO

   

   

   

7. 암호화 상태 확인

tempdb도 동시에 암호화된다.

SQL Server 인스턴스에 TDE를 사용하여 암호화된 다른 데이터베이스가 있으면 tempdb 시스템 데이터베이스가 암호화됩니다. 이로 인해 동일한 SQL Server 인스턴스의 암호화되지 않은 데이터베이스의 성능에 영향을 미칠 수 있습니다.

   

참조

투명한 데이터 암호화 (http://technet.microsoft.com/ko-kr/library/bb934049.aspx)

sys.dm_database_encryption_keys(Transact-SQL) (http://technet.microsoft.com/ko-kr/library/bb677274.aspx)

다른 SQL Server로 TDE 보호 데이터베이스 이동 (http://technet.microsoft.com/ko-kr/library/ff773063.aspx)

댓글
글 보관함
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total
Today
Yesterday