December 30
SQL Server 2008 è un server di database modello relazionale prodotto da Microsoft. Offre caratteristiche come permettendo ai dati di essere auto-tuning, auto-organizzazione e di auto-mantenimento. Offre inoltre tempi di fermo vicino allo zero. Esso utilizza il nuovo tipo di dati FILESTREAM, che può essere usato per aprire qualsiasi file memorizzato nel suo database. La crittografia utilizza algoritmi per proteggere i dati in modo che solo gli utenti specificati possono leggerlo. SQL Server 2008 può essere utilizzato per mantenere i dati utilizzati in transito su reti o le informazioni in un luogo sicuro. Crittografia colonne in SQL Server 2008 richiede pochi passaggi per configurare.
1 Aprire un terminale nel server SQL e digitare il seguente comando:
USE AdventureWorks2008R2;
ANDARE
Se non vi è alcuna chiave master, crearne uno ora.
SE NON ESISTE
(SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101)
Crea master chiave di crittografia
PASSWORD = '# 23987hxJKL969 ghf0% 94467GRkjg5k3fd117r $$ # 1946kcj $ n44nhdlj'
ANDARE
Crea certificato HumanResources037
Con oggetto = 'Il numero dei dipendenti di previdenza sociale';
ANDARE
CREATE chiave simmetrica SSN_Key_01
WITH ALGORITHM = AES_256
Crittografia CERTIFICATO HumanResources037;
ANDARE
USO [AdventureWorks2008R2];
ANDARE
Creare una colonna in cui memorizzare i dati crittografati.
ALTER TABLE HumanResources.Employee
ADD EncryptedNationalIDNumber varbinary(128);
ANDARE
Aprire la chiave simmetrica con cui per crittografare i dati.
APERTO chiave simmetrica SSN_Key_01
Decrittografia CERTIFICATO HumanResources037;
Crittografare il valore nella colonna NationalIDNumber con simmetrica
SSN_Key_01 chiave. Salva il risultato nella colonna EncryptedNationalIDNumber.
UPDATE HumanResources.Employee
SET EncryptedNationalIDNumber = EncryptByKey (Key_GUID ( 'SSN_Key_01'), NationalIDNumber);
ANDARE
Verificare la crittografia. In primo luogo, aprire la chiave simmetrica con cui decrittografare i dati.
APERTO chiave simmetrica SSN_Key_01
Decrittografia CERTIFICATO HumanResources037;
ANDARE
Ora elencare l'ID originale, l'ID criptato, e il testo cifrato decifrati. Se la decrittografia ha funzionato, l'originale e la ID decifrati corrisponderà.
SELEZIONARE NationalIDNumber, EncryptedNationalIDNumber
AS 'Encrypted ID Number',
CONVERT (nvarchar, DecryptByKey (EncryptedNationalIDNumber))
AS 'Numero ID decriptati'
DA HumanResources.Employee;
ANDARE.
2 Aggiungere un autenticatore alla crittografia con questo comando:
USE AdventureWorks2008R2;
Se non vi è alcuna chiave master, crearne uno ora.
SE NON ESISTE
(SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101)
Crea master chiave di crittografia
PASSWORD = '# 23987hxJKL95QYV4369 ghf0% lekjg5k3fd117r $$ # 1946kcj $ n44ncjhdlj'
ANDARE
Crea certificato Sales09
Con oggetto = 'I numeri di carta di credito del cliente';
ANDARE
CREATE chiave simmetrica CreditCards_Key11
WITH ALGORITHM = AES_256
Crittografia CERTIFICATO Sales09;
ANDARE
Creare una colonna in cui memorizzare i dati crittografati.
ALTER TABLE Sales.CreditCard
ADD CardNumber_Encrypted varbinary(128);
ANDARE
Aprire la chiave simmetrica con cui per crittografare i dati.
APERTO chiave simmetrica CreditCards_Key11
Decrittografia CERTIFICATO Sales09;
Crittografare il valore nella colonna CardNumber utilizzando il CreditCards_Key11 chiave simmetrica. Salva il risultato nella colonna CardNumber_Encrypted.
UPDATE Sales.CreditCard
SET CardNumber_Encrypted = EncryptByKey (Key_GUID ( 'CreditCards_Key11'), CardNumber, 1, HashBytes ( 'SHA1', convertire (varbinary, CreditCardID)));
ANDARE
Verificare la crittografia. In primo luogo, aprire la chiave simmetrica con cui decrittografare i dati.
APERTO chiave simmetrica CreditCards_Key11
Decrittografia CERTIFICATO Sales09;
ANDARE
Ora elencare il numero originale della carta, il numero della carta criptata, e il testo cifrato decifrati. Se la decrittografia ha funzionato, il numero originale corrisponderà al numero decifrati.
SELEZIONARE CardNumber, CardNumber_Encrypted
AS 'Encrypted card number', CONVERT(nvarchar,
DecryptByKey (CardNumber_Encrypted, 1,
HashBytes ( 'SHA1', convertire (varbinary, CreditCardID))))
AS 'il numero della carta decriptati' DA Sales.CreditCard;
ANDARE.
3 Verificare di aver inserito i comandi corretti e confermare i dati crittografati tentando di accedere senza autenticazione.