이 기사를 작성하면서 “Always Encrypted”기능의 유용성을 탐색 할 수 있도록 SQL Server 2016의 공식 릴리스를 계속 기다리고 있습니다.
앞으로의 프로젝트에 대한 올바른 결정을 내릴 수 있도록 Always Encrypted와 SQL Server 2016에서 현재 사용 가능한 투명한 데이터 암호화의 차이점이 무엇인지 알고 싶습니다.
답변
상시 암호화와 비교 한 투명한 데이터 암호화의 단점 :
- 유휴 상태의 데이터 만 보호-백업 및 데이터 파일은 “안전”하지만 이동 중이거나 메모리에있는 데이터는 취약합니다
- 전체 데이터베이스 만
- 모든 데이터는 동일한 방식으로 암호화됩니다
-
백업 압축은 시간이 오래 걸리고 비생산적 일 수 있습니다
- 실제로 SQL Server 2016 에는 암호화 된 데이터를 압축하려고 시도하는 것과 관련하여 일반적으로 알려진 것을 무시하는 몇 가지 개선 사항이 있습니다. 이전 버전보다 훨씬 우수하지만 소수의 열을 암호화하는 것 (아마도)
tempdb는 또한 암호화를 상속합니다. TDE를 비활성화 한 후에도 유지됩니다.- Enterprise Edition 필요
- sysadmin이 항상 액세스 할 수있는 데이터
상시 암호화는 이러한 모든 문제를 부분적으로 또는 전체적으로 해결합니다.
- 데이터는 저장, 이동 및 메모리에서 보호되므로 인증서, 키 및 데이터를 해독 할 수있는 사람을 훨씬 더 효과적으로 제어 할 수 있습니다.
- 단 하나의 열일 수 있음
- 암호화 유형이 선택됩니다.
- 결정적 암호화를 사용하여 인덱스 및 포인트 조회 (예 : SSN) 지원
- 더 높은 보호를 위해 임의 암호화를 사용할 수 있습니다 (예 : 신용 카드 번호)
- 데이터베이스 전체가 아니기 때문에 백업 압축이 반드시 영향을받는 것은 아닙니다. 물론 암호화하는 열이 많을수록 운이 나빠질 수 있습니다.
- tempdb는 관련이 없습니다
- SQL Server 2016 서비스 팩 1부터 Always Encrypted는 이제 모든 에디션에서 작동합니다.
- sysadmin으로부터 데이터를 보호 할 수 있습니다 (sysadmin 및 Windows 보안 / 인증서 / 키 관리자는 아님). 즉, 두 그룹이 충돌하지 않는 한 책임을 분리 할 수 있습니다.
그러나 제한 사항이 있으며 모든 드라이버와 응용 프로그램이 암호화 된 데이터를 직접 처리 할 수있는 것은 아니므로 일부 경우 드라이버 업데이트 / 변경 및 / 또는 코드 수정이 필요합니다.
답변
간단히 말해, TDE는 유휴 상태로 암호화 된 데이터 (디스크에서)이고 AE는 유선으로 암호화 된 데이터입니다.