SQL Server 2016에서 Always Encrypted와 Transparent Data Encryption의 차이점은 무엇입니까?


40

이 기사를 작성하면서 "Always Encrypted"기능의 유용성을 탐색 할 수 있도록 SQL Server 2016의 공식 릴리스를 계속 기다리고 있습니다.

앞으로의 프로젝트에 대한 올바른 결정을 내릴 수 있도록 Always Encrypted와 SQL Server 2016에서 현재 사용 가능한 투명한 데이터 암호화의 차이점이 무엇인지 알고 싶습니다.


Always Encrypted를 사용하면 클라이언트 드라이버가 TDE가 SQL Server 자체에서 실행되는 동안 SQL Server에 도달하기 전에 데이터 암호화 / 암호 해독 합니다. IMHO TDE는 클라우드 / 보안 데이터 센터 시나리오에서 주로 쓸모 가 없습니다 ( "클라우드에서 TDE는 그다지 유용하지 않습니다"로 스크롤). 고급 데이터 보안에 관심이 있다면 Crypteron out 도 확인하십시오 . 전체 공개 : 저는 거기서 일합니다
DeepSpace101

답변:


48

상시 암호화와 비교 한 투명한 데이터 암호화의 단점 :

  • 유휴 상태의 데이터 만 보호-백업 및 데이터 파일은 "안전"하지만 이동 중이거나 메모리에있는 데이터는 취약합니다
  • 전체 데이터베이스 만
  • 모든 데이터는 동일한 방식으로 암호화됩니다
  • 백업 압축은 시간이 오래 걸리고 비생산적 일 수 있습니다

    • 실제로 SQL Server 2016 에는 암호화 된 데이터를 압축하려고 시도하는 것과 관련하여 일반적으로 알려진 것을 무시하는 몇 가지 개선 사항이 있습니다. 이전 버전보다 훨씬 우수하지만 소수의 열을 암호화하는 것 (아마도)
  • tempdb는 또한 암호화를 상속합니다. TDE를 비활성화 한 후에도 유지됩니다.
  • Enterprise Edition 필요
  • sysadmin이 항상 액세스 할 수있는 데이터

상시 암호화는 이러한 모든 문제를 부분적으로 또는 전체적으로 해결합니다.

  • 데이터는 저장, 이동 및 메모리에서 보호되므로 인증서, 키 및 데이터를 해독 할 수있는 사람을 훨씬 더 효과적으로 제어 할 수 있습니다.
  • 단 하나의 열일 수 있음
  • 암호화 유형이 선택됩니다.
    • 결정적 암호화를 사용하여 인덱스 및 포인트 조회 (예 : SSN) 지원
    • 더 높은 보호를 위해 임의 암호화를 사용할 수 있습니다 (예 : 신용 카드 번호)
  • 데이터베이스 전체가 아니기 때문에 백업 압축이 반드시 영향을받는 것은 아닙니다. 물론 암호화하는 열이 많을수록 운이 나빠질 수 있습니다.
  • tempdb는 관련이 없습니다
  • SQL Server 2016 서비스 팩 1부터 Always Encrypted는 이제 모든 에디션에서 작동합니다.
  • sysadmin으로부터 데이터를 보호 할 수 있습니다 (sysadmin 및 Windows 보안 / 인증서 / 키 관리자는 아님). 즉, 두 그룹이 충돌하지 않는 한 책임을 분리 할 수 ​​있습니다.

그러나 제한 사항이 있으며 모든 드라이버와 응용 프로그램이 암호화 된 데이터를 직접 처리 할 수있는 것은 아니므로 일부 경우 드라이버 업데이트 / 변경 및 / 또는 코드 수정이 필요합니다.


Always Encrypted가 메모리의 데이터를 암호화하는 방법을 설명해 주시겠습니까? MSDN에서이 정보를 찾으려고했지만 미사용 데이터 및 모션 암호화 데이터에 대해서만 알려줍니다. 감사합니다 :)
빅토리아 말라야

1
@Victoria SQL Server가 데이터를보기 전에 공급자가 데이터를 암호화합니다. 따라서 SQL Server는 암호화 된 값을 받고 해당 암호화 된 값을 디스크에 넣고 해당 페이지가 메모리에있을 때 암호화 된 값을 메모리에로드합니다. 암호화는 메모리에서 생각하는 방식으로 발생하지 않으며, 해독은 클라이언트가 해독 할 수있는 인증서를 보유한 경우에만 발생합니다.
Aaron Bertrand

2
내가 아는 한, 가장 큰 차이점 중 하나는 데이터 쿼리와 관련이 있습니다. TDE를 사용하면 평상시처럼 모든 쿼리를 실행할 수 있습니다. AE를 사용하면 암호화 된 열을 쿼리 할 때 매우 제한적입니다. 즉, 동등 비교 만 수행 할 수 있습니다 (결정 론적 암호화를 선택해야 함). 확인 날짜 범위, LIKE 쿼리 등이 없습니다.
musefan

3

간단히 말해, TDE는 유휴 상태로 암호화 된 데이터 (디스크에서)이고 AE는 유선으로 암호화 된 데이터입니다.


나는 당신이 그것을 거꾸로 가질 수 있다고 생각합니다.
zwerdlds

해서는 안되는 일 : TDE는 유휴 상태에서 데이터를 암호화하는 반면 AE는 유선, 유휴 상태 및 메모리에서 데이터를 암호화합니까?
RoastBeast

AFAIK : MS SQL 서버에서 TDEForce Protocol Encryption 을 결합 하여 유선에서도 암호화 할 수 있습니다.
TiloBunt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.