안녕하세요.
다들 모니터랑 눈싸움 하시느라 수고하십니다 (충혈..ㅋ)
다름이 아니라 질문이 있어서 글을 남깁니다.
2005에서 인증서와 대칭키를 생성하고 암호화 데이터를
2008로 업데이트 한 이후 상기 데이터를 다시 복호화 하고자 하였으나 원할히 이루어지지 않고 있습니다.
2005에서 생성한 키로 암/복호화한 데이터는 2008에서는 사용하지 못하는건가요?
2005 Management Studio를 통해서 쿼리를 날리면 정확하게 복호화되지만
2008 Management Studio로 동일한 쿼리를 날리면 복호화되지 않는 상태입니다.
두 경우 모두 동일한 서버의 DB를 이용합니다.
왜 안되는걸까요? ㅜㅜ
open symmetric key test decryption by certificate certkey
SELECT SUBSTRING(ID_JUMIN,1,6) + '-' +
SUBSTRING(ID_JUMIN,7,1) +
dbo.fn_decdata(SUBSTRING(ID_JUMIN,8,150))
FROM A
close symmetric key test
Comment 1
-
쓸만한게없네(윤선식)
2013.09.06 16:09
결론부터 말씀드리면 두 데이터베이스간 대칭키(Symmetric Key)가 동일해야 합니다.
http://technet.microsoft.com/ko-kr/library/ms189586.aspx
위처럼 데이터는 최종적으로 대칭키에 의해 암호화가 이루어집니다.
상위의 마스터키나 인증서는 보호를 위한 용도이며, 최종 암호화 알고리즘으로 사용되지는 않습니다.
SELECT * FROM sys.symmetric_keys
WHERE name = 'TEST1Key'
와 같은 명령어로 대칭키 정보를 볼 수 있습니다.
각 데이터베이스간 대칭키 정보가 일치하는 지 확인하시기 바랍니다.
즉, 두 데이터베이스의 대칭키가 동일하게 구성되어 있다면 암/복호화 하는 데 문제가 없을 것으로 생각됩니다.
상세한 내용은 아래 "방법: 두 서버에서 동일한 대칭 키 만들기"를 참고해 주세요.
http://msdn.microsoft.com/ko-kr/library/ms366281(v=sql.105)