I am maker

MSSQL Server 데이터베이스 대칭키 Symmetric Key 암호화 본문

DataBaseManagementSystem/MSSQL

MSSQL Server 데이터베이스 대칭키 Symmetric Key 암호화

코딩하는고릴라 2016. 6. 3. 16:14
반응형

대칭 키 암호화방식은

하나의 키로 암호화 복호화 할 수 있는 암호화방식이다.



예를들어, 

물건이 데이터라고 할 때,

사물함에 물건을 넣을때는 안전하게 열쇠나 비밀번호로 잠근다.

그리고 다시 그 물건을 찾으려고 할때는 동일한 하나의 열쇠나 비밀번호로 연다.


이것이 바로 대칭키 암호화방식이다.

대칭키 암호화방식에도 종류가 좀 있는걸로 알고 있는데

, 최근쓰는건 AES라고 향상된 대칭암호화알고리즘 방식이 쓰인다.

그중에서도 mssql 에서는 AES_256방식을 사용한다고한다. XP나 server2000에서는 AES암호화 알고리즘 지원이안된다니 주의!



--열쇠를 만든다

--데이터베이스 마스터 키 생성

CREATE MASTER KEY ENCRYPTION BY PASSWORD='비밀번호';

GO

--인증서 생성

CREATE CERTIFICATE 인증서이름

--키 생성

CREATE SYMMETRIC KEY 키이름

ENCRYPTION BY CERTIFICATE 인증서이름



--암호화 키와 인증서 준비한다.

OPEN SYMMETRIC KEY 키이름

DECRYPTION BY CERTIFICATE 인증서이름 WITH PASSWORD ='비밀번호';


DECLARE @물건 NVARCHAR(100)


--암호화

SELECT @물건 = ENCRYPTBYKEY (key_guid('키이름'), '과자, 스테이크, 오만원짜리 돈뭉치들')


--복호화

SELECT CONVERT(nvarchar(100), DECRYPTBYKEY(@물건))


--결과값

-----'과자, 스테이크, 오만원짜리 돈뭉치들'

반응형