'Transparent Data Encryption'에 해당되는 글 1건

  1. 2013.06.26 투명한 데이터 암호화(TDE: Transparent Data Encryption) #1
MS SQL2013.06.26 09:49

 

 

[내용]

 

TDE 개별 테이블의 열에 대한 암호화가 아닌 데이터베이스 전체를 암호화하는 데이터베이스 수준의 암호화 방법입니다. 이런 방법으로 암호화된 데이터베이스는 마스터키가 존재하지 않는 다른 서버에 연결 복원 없습니다. 그러면 이런 TDE 설정하는 방법에 대해 알아봅시다.

 

[환경]

 

OS: Windows Server 2012

Product: SQL Server 2012

 

[개요]

아래와 같은 순서로 진행합니다.

 

 

번째와 번째 단계는 master 데이터베이스에서 수행합니다.

번째와 번째 단계는 암호화할 대상 데이터베이스에서 수행 해야합니다.

 

[ACTION]

아래의 스크립트를 실행합니다.

---------------------------------------------------------------------------

-- 암호화할 데이터베이스 만들기

 

USE master

GO

 

-- 기존 데이터베이스 있으면 제거

IF DB_ID('PracticeTDE') IS NOT NULL

BEGIN

    ALTER DATABASE PracticeTDE

SET SINGLE_USER

WITH ROLLBACK IMMEDIATE

DROP DATABASE PracticeTDE

END

GO

 

-- 데이터베이스 만들기

CREATE DATABASE PracticeTDE

GO

 

USE PracticeTDE

GO

 

-- 테이블 만들기(Adventureworks2012 설치되어 있어야 )

SELECT BusinessEntityID, LoginID, JobTitle, BirthDate, HireDate, VacationHours

INTO dbo.EmpTest

FROM AdventureWorks2012.HumanResources.Employee

GO

---------------------------------------------------------------------------

 

1. Master Key 만들기

인증서를 보호하는데 사용하는 Master Key 생성합니다.

---------------------------------------------------------------------------

USE master

GO

 

CREATE MASTER KEY

ENCRYPTION BY PASSWORD = 'Pa$$w0rd' -- 복잡한 암호 지정

GO

---------------------------------------------------------------------------

 

2. 인증서 만들기

DEK(데이터베이스 암호화 ) 보호하는데 사용되는 인증서를 만듭니다.

---------------------------------------------------------------------------

USE Master

GO

 

CREATE CERTIFICATE TDECertificate

WITH SUBJECT = 'Server level certificate for TDE'

GO

---------------------------------------------------------------------------

 

3. DEK(데이터베이스 암호화 ) 만들기

인증서로 보호되는 DEK 만듭니다.

---------------------------------------------------------------------------

USE PracticeTDE

GO

 

CREATE DATABASE ENCRYPTION KEY

WITH ALGORITHM = AES_128

ENCRYPTION BY SERVER CERTIFICATE TDECertificate

GO

---------------------------------------------------------------------------

 

4. 암호화 설정

암호화할 데이터베이스에 암호화 설정을 합니다.

---------------------------------------------------------------------------

ALTER DATABASE PracticeTDE

SET ENCRYPTION ON

GO

---------------------------------------------------------------------------

 

 

[참고]

 

http://msdn.microsoft.com/ko-kr/library/bb934049.aspx

http://msdn.microsoft.com/ko-kr/library/ff773063.aspx

 

 

 

 

 

 

신고
Posted by TM ~ing