Autenticatori

Data creazione: 14 aprile 2006

Un autenticatore consente di impedire la sostituzione di valori interi dei campi crittografati. Si consideri, ad esempio, la tabella seguente contenente dati relativi alle retribuzioni.

Employee_ID Standard_Title Base_Pay

345

Copy Room Assistant

Fskj%7^edhn00

697

Chief Financial Officer

M0x8900f56543

694

Data Entry Supervisor

Cvc97824%^34f

Senza violare la crittografia, un pirata informatico è in grado di dedurre informazioni significative dal contesto in cui è archiviato il testo crittografato. Poiché la retribuzione del ruolo Chief Financial Officer è maggiore di quella del ruolo Copy Room Assistant, il valore crittografato come M0x8900f56543 è pertanto maggiore di quello crittografato come Fskj%7^edhn00. In questo caso, qualsiasi utente che dispone dell'autorizzazione ALTER per la tabella è potenzialmente in grado di aumentare la retribuzione del ruolo Copy Room Assistant sostituendo i dati nel campo Base_Pay corrispondente con una copia dei dati archiviati nel campo Base_Pay relativo al ruolo Chief Financial Officer. Questo attacco di sostituzione dell'intero valore è quindi in grado di agire nonostante la crittografia. Gli attacchi basati sulla sostituzione dell'intero valore possono essere ostacolati tramite l'aggiunta di informazioni contestuali al testo normale prima di procedere alla sua crittografia. Tali informazioni vengono utilizzate per verificare che i dati in formato testo normale non siano stati spostati.

Se per la crittografia dei dati viene specificato un parametro autenticatore, per decrittografare i dati sarà necessario lo stesso autenticatore. Al momento dell'esecuzione della crittografia, un hash dell'autenticatore viene crittografato insieme al testo normale. Durante la fase di decrittografia sarà necessario passare lo stesso autenticatore alla funzione che esegue la decrittografia. Se gli autenticatori non corrispondono, la decrittografia avrà esito negativo, indicando che il valore è stato spostato successivamente all'esecuzione della crittografia. È consigliabile utilizzare come autenticatore la chiave primaria della tabella in cui verranno archiviati i risultati.

Vedere anche

Concetti

Scelta di un algoritmo di crittografia

Altre risorse

EncryptByKey (Transact-SQL)
DecryptByKey (Transact-SQL)
Gerarchia di crittografia
Procedure per la crittografia

Guida in linea e informazioni

Assistenza su SQL Server 2005