이 블로그에서는 CLE(Cell Level Encryption)가 구현될 때 데이터베이스를 복원하고 암호화된 데이터를 검색하는 데 필요한 단계에 대해 논의했습니다.
데이터 보안은 데이터베이스 관리에서 중요한 측면 중 하나입니다. 민감한 데이터를 암호화할 때 CLE, TDE 및 Always Encrypted와 같은 MS SQL Server에서 이를 달성하는 여러 가지 방법이 있습니다. 인증서 또는 키를 사용하여 셀 내의 데이터를 암호화하는 경우 이를 CLE(셀 수준 암호화)라고 합니다.
문제:
- 오류:- 볼 수 있는 문제 중 하나는 애플리케이션 또는 데이터를 해독하는 일부 TSQL 코드가 다음 오류를 표시하기 시작하는 것입니다.
솔루션
데이터베이스 마스터 키를 열지 않았기 때문에 데이터의 암호 해독이 불가능하고 DMK도 현재 인스턴스 서비스 마스터 키로 암호화되지 않아 이러한 문제가 표시됩니다. 이 문제를 해결할 수 있는 많은 솔루션이 있으므로 하나씩 이야기해 보겠습니다. .
사례 1 - 데이터베이스 마스터 키 암호화 암호를 알고 있는 경우
1단계:- 암호를 사용하여 데이터베이스 마스터 키를 열고 데이터를 해독합니다.
2단계:- 생각나는 질문 중 하나는 모든 세션에서 암호로 키를 열 수 있는지 아니면 이것을 하드코딩할 수 있느냐는 것입니다. 대답은 아니오입니다. 이러한 경우 현재 인스턴스 서비스 마스터 키로 데이터베이스 마스터 키를 다시 암호화하고 스냅샷에 표시된 대로 다음 명령을 실행합니다.
3단계:- 키가 현재 서비스 마스터 키로 암호화되어 있기 때문에 암호로 키를 열지 않고도 데이터를 해독할 수 있는지 확인하고 대답은 yes입니다.
4단계:- 데이터베이스 마스터 키 암호화 암호를 변경하려면 다음 단계를 완료해야 합니다.
사례 2:데이터베이스 마스터 키 암호화 암호를 알 수 없는 경우
비밀번호와 출처를 모르는 경우 접근 가능합니다. case1의 4단계를 사용하여 비밀번호를 변경하고 1단계의 절차를 따르십시오. 그렇지 않으면 다음 단계를 대안으로 사용하십시오.
이것은 데이터베이스가 복원되는 인스턴스가 인스턴스 서비스 마스터 키를 복원하는 단계이므로 다른 키를 사용하지 않는 경우에만 가능합니다.
예시:- 인스턴스 서비스 마스터 키 백업 방법
– 서비스 마스터 키 백업 가져오기BACKUP SERVICE MASTER KEY TO FILE = 'C:\Shared\service_master_key.key'
ENCRYPTION BY PASSWORD = 'key_P@ssw0rdGqw0956565’
참고:- 키 백업 파일은 보안 관점에서 매우 민감하므로 보안 탭에서 SQL 서비스 계정을 추가하여 SQL 서버가 파일에 액세스할 수 있도록 하십시오. 그렇지 않으면 복원 프로세스 중에 다음 오류가 발생할 수 있습니다.
Msg 15317, Level 16, State 2, Line 53
The master key file does not exist or has invalid format
1단계:- 데이터베이스를 복원하기 전에 서비스 마스터 키를 복원합니다.
2단계:- 데이터베이스를 복원합니다.
3단계:- 암호로 키를 열지 않고 데이터를 해독할 수 있는지 확인하고 키가 인스턴스 서비스 키와 이에 의해 암호화된 데이터베이스를 복원할 때 동일한 서비스 마스터 키를 사용하고 있기 때문에 예라고 대답합니다.
결론
암호화에 사용되는 MS SQL Server의 각 개체는 인스턴스 수준 서비스 마스터 키로 보호됩니다. 암호화를 관리하려면 암호화와 관련된 개체가 암호, 키 또는 인증서에 의해 추가로 암호화된다는 점을 이해하는 것이 중요합니다.
셀 수준 데이터 암호화로 데이터베이스를 마이그레이션할 때마다 키를 해독하고 대상 인스턴스 서비스 마스터 키로 다시 암호화하거나 원본 인스턴스 마스터 키를 복원해야 합니다.
피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 저희와 대화를 시작할 수도 있습니다.