У SQL Server 2016, яка різниця між Завжди зашифрованим та Прозорим шифруванням даних?


40

Коли я пишу це, я все ще чекаю офіційного випуску SQL Server 2016, щоб ми могли вивчити корисність його функції "Завжди зашифровані".

Я просто хотів би знати, які конкретні відмінності будуть між Завжди зашифрованим та наявним на даний момент прозорим шифруванням даних у SQL Server 2016, щоб ми могли прийняти правильне рішення для майбутніх проектів.


Завдяки Завжди зашифрованому, клієнтські драйвери шифрують / дешифрують дані, перш ніж вони потрапляють на SQL Server, а TDE працює на самому SQL сервері. IMHO TDE здебільшого марний у хмарних / захищених сценаріях центру обробки даних (прокрутіть до "TDE не дуже корисно у хмарі"). Якщо вас цікавить розширена безпека даних, також перевірте Crypteron . Повне розкриття інформації: Я працюю там
DeepSpace101,

Відповіді:


48

Недоліки прозорого шифрування даних порівняно із Завжди зашифрованими:

  • Захищає дані лише в стані спокою - резервні копії та файли даних є "безпечними", але дані в русі або в пам'яті вразливі
  • Ціла база даних
  • Всі дані шифруються однаково
  • Стиснення резервного копіювання може зайняти більше часу і бути контрпродуктивним

    • Ну, насправді, в SQL Server 2016 є деякі вдосконалення, які не піддаються тому, що ми зазвичай знаємо про спробу стиснення зашифрованих даних - це набагато краще, ніж попередні версії, але, мабуть, все ж гірше, ніж лише шифрування жменьки стовпців (неперевірене)
  • tempdb також успадковує шифрування - залишається навіть після відключення TDE
  • Потрібна Enterprise Edition
  • Дані завжди доступні для sysadmin

Завжди зашифрований вирішує всі ці проблеми частково або повністю:

  • Дані захищені в спокої, в русі та в пам'яті - набагато більше контролю над сертами, клавішами і саме тим, хто може розшифрувати дані
  • Може бути лише одна колонка
  • Тип шифрування - це вибір:
    • Може використовувати детерміноване шифрування для підтримки індексів і пошуку точок (скажімо, SSN)
    • Можна використовувати випадкове шифрування для більш високого захисту (скажімо, номер кредитної картки)
  • Оскільки це не на всій базі даних, на стиснення резервного копіювання не обов'язково впливає - звичайно, чим більше стовпців ви шифруєте, тим гірше буде вам удача
  • tempdb не залучений
  • Станом на сервісний пакет 1 SQL Server 2016, Always Encrypted тепер працює у всіх виданнях
  • Дані можна захистити від sysadmin (але не sysadmin І безпека Windows / cert / key admins; іншими словами, ви можете розділити відповідальність, доки ці дві групи не змовляться)

Однак є обмеження, і це не те, що не всі драйвери та програми можуть безпосередньо працювати з зашифрованими даними, тому в деяких випадках це потребує оновлення / зміни драйверів та / або зміни коду.


Чи можете ви поясніть мені, як завжди зашифрований шифрує дані в пам'яті? Я намагався знайти цю інформацію в MSDN, але вона просто говорить про дані в спокої та дані в процесі шифрування. Дякую :)
Вікторія Малая

1
@Victoria дані шифруються постачальником ще до того, як SQL Server коли-небудь бачить їх. Таким чином, SQL Server отримує зашифроване значення, ставить це зашифроване значення на диск і завантажує зашифроване значення в пам'ять, коли ця сторінка знаходиться в пам'яті. Шифрування не відбувається в пам'яті так, як ви думаєте, а розшифровка відбувається лише тоді, коли клієнт має сертифікат із можливістю розшифровувати ...
Аарон Бертран

2
Наскільки я знаю, одна з найбільших відмінностей полягає в запиті даних. За допомогою TDE ви можете запускати будь-який запит, як зазвичай, з AE ви дуже обмежені, коли мова заходить про запит зашифрованих стовпців, тобто ви можете робити лише порівняння рівності (а це вимагає вибору детермінованого шифрування). Немає перевірок діапазонів дат, запитів LIKE тощо.
musefan

3

Простіше кажучи, TDE - це дані, зашифровані в спокої (на диску), а AE - додатково зашифровані дані на дроті.


Я думаю, ти можеш це мати назад, ні?
zwerdlds

Чи не повинно бути: TDE шифруються в спокої, тоді як AE - це зашифровані дані на дроті, в спокої та в пам'яті?
RoastBeast

AFAIK: Ви можете поєднувати шифрування TDE та протоколу Force на сервері MS SQL, щоб також його було зашифровано.
TiloBunt
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.