나중에 해보기 위해 적어둠.
MSSQL 2005 이상(?) 암호화 사용 방법 스크립트.
성능상 이슈로 비대칭키보다는 대칭키로 암호화 권장.
비대칭 키 및 대칭 키는 SQL Server 외부의 EKM(확장 가능 키 관리) 모듈에 저장 가능.
CREATE CERTIFICATE CertKeyProtection
WITH SUBJECT = 'Key Protection'
, START_DATE = '2012/03/30'
, EXPIRY_DATE = '2015/03/30';
CREATE SYMMETRIC KEY KeyUserData
WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE CertKeyProtection
CREATE ASYMMETRIC KEY KeyUserDataSymmetric
WITH ALGORITHM = RSA_2048
ENCRYPTION BY PASSWORD = 'C1CF0166-B2BD-47FE-8352-34EC31428545';
GO
DECLARE @ENCSYNC varbinary(MAX)
DECLARE @ENCAsm varbinary(MAX)
DECLARE @section_value XML
SET @section_value = N'<appSettings>
<add key="Setting" value="1" />
<add key="ClientSettingsProvider.ServiceUri" value="" />
<add key="LoginFailCountTerm" value="1" />
</appSettings>';
OPEN SYMMETRIC KEY KeyUserData
DECRYPTION BY CERTIFICATE CertKeyProtection;
SELECT @ENCSYNC = EncryptByKey(Key_GUID('KeyUserData'), N'silver test');
SELECT @ENCSYNC, CAST(DecryptByKey(@ENCSYNC) AS nvarchar(max));
CLOSE SYMMETRIC KEY KeyUserData;
SELECT EncryptByAsymKey(AsymKey_ID('KeyUserDataSymmetric'), N'silver test')
'DB' 카테고리의 다른 글
고속 insert (0) | 2013.04.03 |
---|---|
플랜 캐시 (실행계획 캐시) (0) | 2012.10.30 |
WITH(NOLOCK) (0) | 2012.09.12 |
문자열 입력받아 split 하기.. (0) | 2012.09.06 |
백업/복구 (0) | 2012.04.12 |
MSSQL SET 명령(옵션) 모음 (0) | 2011.02.02 |
MSSQL (0) | 2011.01.29 |
RAID (0) | 2011.01.29 |