반응형

/********************************************************************************************
-- Title : [SQL2008] Transparent Database Enctyption 아키텍처
-- Reference : 웹서핑, purumae.tistory.com
-- Key word : master key certificate key symmetric key encryption decryption 암호화 복호화
********************************************************************************************/



Reference : purumae.tistory.com
1. 인증서를 생성합니다. (기간을 정의하지 않으면, 오늘 ~ 1년 후가 됩니다.)

CREATE CERTIFICATE CertKeyProtection

    WITH SUBJECT = 'Key Protection'

    , START_DATE = '2009/07/15'

    , EXPIRY_DATE = '2012/07/14';


2. 인증서로 암호화한 대칭키를 생성합니다.

CREATE SYMMETRIC KEY KeyUserData

    WITH ALGORITHM = AES_256

    ENCRYPTION BY CERTIFICATE CertKeyProtection;


3. 대칭키로 데이터를 암호화합니다.

OPEN SYMMETRIC KEY KeyUserData
    DECRYPTION BY CERTIFICATE CertKeyProtection;


SELECT
 EncryptByKey(Key_GUID('KeyUserData'), N'암호화할 문자열');

4. 대칭키로 데이터를 복호화합니다.

SELECT CAST(DecryptByKey(<암호화된 바이너리>) AS nvarchar(max));

 

CLOSE SYMMETRIC KEY KeyUserData;


반응형

+ Recent posts