Qualcuno potrebbe aiutarmi a capire la crittografia del database SQL TDE?

1

Non seguo abbastanza come funziona. Secondo l' articolo MSDN esiste una grande gerarchia di chiavi proteggere altre chiavi e password. Ad un certo punto il database è crittografato. Esegui una query sul database che è crittografato e funziona perfettamente.

Se sei in grado di collegarti semplicemente al database come di consueto e non devi preoccuparti della crittografia dal punto di vista dello sviluppatore, in che misura è esattamente sicuro? Sicuramente chiunque può semplicemente connettersi e fare select * from x e i dati vengono rivelati.

Scusa la mia domanda è un po 'sparsa, sono solo molto confuso dall'articolo.

    
posta SLC 05.11.2013 - 14:18
fonte

2 risposte

1

Hai ragione, il punto di crittografia del database non è quello di proteggere i dati dagli utenti del database - questo è il compito dei livelli di accesso e privilegio basati sui ruoli.

La crittografia protegge da chi ruba fisicamente il server dal suo rack, estraendo il disco rigido e quindi leggendo i dati riservati dal file system. È un po 'più complicato di così - ovviamente non si può semplicemente tenere la chiave di decifrazione in giro, in particolare non sullo stesso disco in cui si archivia il DB crittografato, altrimenti il ladro potrebbe solo decrittografare i dati - ma fatto bene, può aggiungi un livello funzionale di sicurezza dei dati e la sicurezza è tutta una questione di difesa in profondità.

    
risposta data 05.11.2013 - 14:26
fonte
0

Sì, puoi ancora interrogare select * from x

Ho poca esperienza con Transparent Data Encryption, ma come afferma lo stesso articolo:

TDE works at the file level, which is similar to two Windows® features: the Encrypting File System (EFS) and BitLocker™ Drive Encryption, the new volume-level encryption introduced in Windows Vista®

Nota che:

TDE does not replace cell-level encryption, EFS, or BitLocker.

Inoltre afferma:

TDE operates at the I/O level through the buffer pool. Thus, any data that is written into the database file (*.mdf) is encrypted.

Per darti un'idea dell'estensione:

Encrypting at the I/O level also allows the snapshots and backups to be encrypted, thus all snapshots and backups created by the database will be encrypted by TDE.

Come per la crittografia delle celle:

Cell-level encryption is implemented as a series of built-ins and a key management hierarchy.

Si richiama essenzialmente una funzione aggiuntiva en / decifratura per ogni cella di accesso, e richiede lo schema di modifica della cella 'varbinary' e ri-colata nel tipo di dati appropriato alla lettura.

Vedi anche:

risposta data 05.11.2013 - 17:18
fonte

Leggi altre domande sui tag