In SQL Server 2016, qual è la differenza tra crittografia dei dati sempre crittografata e trasparente?


40

Mentre scrivo sto ancora aspettando il rilascio ufficiale di SQL Server 2016 in modo che possiamo esplorare l'utilità della sua funzionalità "Sempre crittografata".

Vorrei solo sapere quali saranno le differenze specifiche tra Always Encrypted e la crittografia trasparente dei dati attualmente disponibile in SQL Server 2016 in modo da poter prendere la decisione corretta per i progetti futuri.


Con Always Encrypted, i driver client crittografano / decrittografano i dati prima che colpiscano SQL Server mentre TDE viene eseguito su SQL Server stesso. IMHO TDE è per lo più inutile in scenari cloud / data center sicuri (scorrere fino a "TDE non è molto utile nel cloud"). Se sei interessato alla sicurezza avanzata dei dati, dai un'occhiata anche a Crypteron . Informativa completa: ci lavoro
DeepSpace101

Risposte:


48

Svantaggi della crittografia dei dati trasparente rispetto a Always Encrypted:

  • Protegge solo i dati a riposo: backup e file di dati sono "sicuri" ma i dati in movimento o in memoria sono vulnerabili
  • Solo intero database
  • Tutti i dati sono crittografati allo stesso modo
  • La compressione del backup può richiedere più tempo ed essere controproducente

    • Bene, in realtà, ci sono alcuni miglioramenti qui in SQL Server 2016 che sfidano ciò che abbiamo generalmente saputo sul tentativo di comprimere i dati crittografati: è molto meglio delle versioni precedenti, ma presumibilmente ancora peggio che crittografare solo una manciata di colonne (non testato)
  • tempdb eredita anche la crittografia: rimane anche dopo aver disabilitato TDE
  • Richiede Enterprise Edition
  • Dati sempre accessibili a amministratore di sistema

Always Encrypted risolve tutti questi problemi in parte o per intero:

  • I dati sono protetti a riposo, in movimento e in memoria: molto più controllo su certificati, chiavi ed esattamente chi può decodificare i dati
  • Può essere solo una singola colonna
  • Il tipo di crittografia è una scelta:
    • Può usare la crittografia deterministica per supportare indici e ricerche di punti (ad esempio SSN)
    • Può utilizzare la crittografia casuale per una maggiore protezione (ad esempio, numero di carta di credito)
  • Dal momento che non è esteso a tutto il database, la compressione del backup non è necessariamente interessata - ovviamente più colonne crittografate, maggiore sarà la vostra fortuna
  • tempdb non è coinvolto
  • A partire da SQL Server 2016 Service Pack 1, Always Encrypted ora funziona in tutte le edizioni
  • I dati possono essere protetti da sysadmin (ma non da sysadmin e dagli amministratori di sicurezza / cert / key di Windows, in altre parole è possibile separare la responsabilità purché questi due gruppi non colludano)

C'è una limitazione, tuttavia, e cioè che non tutti i driver e le applicazioni possono gestire direttamente i dati crittografati, quindi in alcuni casi ciò richiederà l'aggiornamento / la modifica dei driver e / o la modifica del codice.


Potresti spiegarmi, come crittografare sempre i dati in memoria? Ho provato a trovare queste informazioni in MSDN, ma dice solo dei dati a riposo e dei dati nella crittografia in movimento. Grazie :)
Victoria Malaya,

1
@Victoria i dati vengono crittografati dal provider prima che SQL Server li veda. Quindi SQL Server riceve un valore crittografato, inserisce tale valore crittografato sul disco e carica il valore crittografato in memoria quando quella pagina è in memoria. La crittografia non avviene in memoria nel modo in cui pensi, e la decrittografia si verifica solo quando un client possiede un certificato con la capacità di decrittografare ...
Aaron Bertrand

2
Per quanto ne so, una delle maggiori differenze è quando si tratta di interrogare i dati. Con TDE puoi eseguire qualsiasi query come faresti normalmente, con AE sei molto limitato quando si tratta di interrogare le colonne crittografate, cioè puoi fare solo confronti di uguaglianza (e ciò richiede di optare per la crittografia deterministica). Non ci sono intervalli di date di controllo, nessuna query LIKE, ecc.
musefan,

3

In poche parole, TDE è dati crittografati a riposo (su disco) e AE è inoltre dati crittografati sul filo.


Penso che potresti averlo al contrario, no?
zwerdlds,

Non dovrebbe essere: TDE è dati crittografati a riposo mentre AE è crittografato dati sul filo, a riposo e in memoria?
RoastBeast,

AFAIK: È possibile combinare TDE e Force Protocol Encryption sul server MS SQL per farlo crittografare anche sul cavo.
TiloBunt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.