DB데이터 암호화
- 용어 정리
- 서비스 마스터 키 (SMK) : SQL Server 인스턴스가 시작되고 각 데이터베이스에서 연결된 서버 암호, 자격 증명 및 데이터베이스 마스터 키를 암호화하는 데 사용될 때 처음으로 자동 생성
- 데이터베이스 마스터 키 (DMK) : 데이터베이스에 있는 비대칭 키와 인증서의 프라이빗 키를 보호하는 데 사용되는 대칭 키
- SMK - DMK - 인증서 - 대칭키 로 암호화
-- 암호로 마스터 키 생성
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '암호'
GO
--자동으로 SMK로 DMK가 암호화 됨
SELECT NAME, IS_MASTER_KEY_ENCRYPTED_BY_SERVER FROM SYS.DATABASE WHERE NAME LIEK 'DB명%'
--인증서 생성
CREATE CERTIFICATE 인증서명 WITH SUBJECT = '인증서제목'
--생성된 인증서 조회
SELECT * FROM DB명.SYS.CERTIFICATES;
--대칭키 생성
CREATE SYMMETRIC KEY 대칭키명 WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE 인증서명
--생성된 대칭키 조회
SELECT * FROM DB명.SYS.SYMMETRIC_KEYS
- 데이터 암호화 및 복호화
--대칭키 OPEN
OPEN SYMMETRIC KEY 대칭키명 DECRYPTION BY CERTIFICATE 인증서명
GO
-- 테스트용 테이블 생성 및 데이터 추가
CREATE TABLE TBL_TEST (NAME VARCHAR(50), ENC_NAME VARBINARY(256))
GO
INSERT INTO TBL_TEST
VALUES ('HELLO WORLD', EncryptByKey(Key_GUID('대칭키명'), 'HELLO WORLD'))
GO
-- 데이터 확인
SELECT NAME, DecryptByKey(ENC_NAME) FROM TBL_TEST
GO
--대칭키 CLOSE
CLOSE SYMMETRIC KEY 대칭키명
GO
Author And Source
이 문제에 관하여(DB데이터 암호화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sidohigar/DB데이터-암호화저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)