Hvordan Krypter kolonner i SQL Server 2008

Hvordan Krypter kolonner i SQL Server 2008


SQL Server 2008 er en relasjonsmodellen databaseserver produsert av Microsoft. Det tilbyr slike funksjoner som tillater data å være selvjusterende, selvorganiserende og selvopprettholde. Det tilbyr også nær null nedetid. Den bruker den nye FILESTREAM datatype, som kan brukes for å få opp alle filer som er lagret i sin database. Kryptering bruker algoritmer for å beskytte data slik at bare spesifiserte brukere kan lese den. SQL Server 2008 kan brukes til å holde data som brukes i transitt over nettverk eller informasjon i lagring sikker. Kryptering av kolonner i SQL Server 2008 krever et par trinn for å konfigurere.

Bruksanvisning

1 Åpne en terminal i din SQL server og skriv inn denne kommandoen:

BRUK AdventureWorks2008R2;

Hvis det ikke er noen hovednøkkel, opprette en nå.

HVIS IKKE eksisterer

(SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101)

CREATE MASTER nøkkel kryptering BY

PASSORD = '23987hxJKL969 # ghf0% 94467GRkjg5k3fd117r $$ # 1946kcj $ n44nhdlj'

CREATE SERTIFIKAT HumanResources037

MED UNDER = 'Employee Social Security Numbers';

CREATE symmetrisk nøkkel SSN_Key_01

WITH ALGORITHM = AES_256

Kryptering ved SERTIFIKAT HumanResources037;

BRUK [AdventureWorks2008R2];

Lag en kolonne der du vil lagre de krypterte dataene.

ALTER TABLE HumanResources.Employee

ADD EncryptedNationalIDNumber varbinary(128);

Åpne symmetrisk nøkkel som brukes til å kryptere dataene.

OPEN symmetrisk nøkkel SSN_Key_01

DEKRYPTERING AV SERTIFIKAT HumanResources037;

Krypter verdien i kolonne NationalIDNumber med symmetrisk

Nøkkelen SSN_Key_01. Lagre resultatet i kolonnen EncryptedNationalIDNumber.

UPDATE HumanResources.Employee

SET EncryptedNationalIDNumber = EncryptByKey (Key_GUID ( 'SSN_Key_01'), NationalIDNumber);

Kontroller kryptering. Først åpner den symmetriske nøkkelen med å dekryptere dataene.

OPEN symmetrisk nøkkel SSN_Key_01

DEKRYPTERING AV SERTIFIKAT HumanResources037;

Nå liste opprinnelige ID, den krypterte ID, og ​​dekrypteres krypterte teksten. Dersom dekryptering arbeidet, vil den opprinnelige og den dekrypterte ID matche.

VELG NationalIDNumber, EncryptedNationalIDNumber

AS 'Encrypted ID Number',

KONVERTER (nvarchar, DecryptByKey (EncryptedNationalIDNumber))

AS 'dekryptert ID-nummer'

Fra HumanResources.Employee;

GÅ.

2 Legg en autentifikatoren til kryptering med denne kommandoen:

BRUK AdventureWorks2008R2;

Hvis det ikke er noen hovednøkkel, opprette en nå.

HVIS IKKE eksisterer

(SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101)

CREATE MASTER nøkkel kryptering BY

PASSORD = '23987hxJKL95QYV4369 # ghf0% lekjg5k3fd117r $$ # 1946kcj $ n44ncjhdlj'

CREATE SERTIFIKAT Sales09

MED UNDER = 'Customer kredittkortnumre';

CREATE symmetrisk nøkkel CreditCards_Key11

WITH ALGORITHM = AES_256

Kryptering ved SERTIFIKAT Sales09;

Lag en kolonne der du vil lagre de krypterte dataene.

ALTER TABLE Sales.CreditCard

ADD CardNumber_Encrypted varbinary(128);

Åpne symmetrisk nøkkel som brukes til å kryptere dataene.

OPEN symmetrisk nøkkel CreditCards_Key11

DEKRYPTERING AV SERTIFIKAT Sales09;

Krypter verdien i kolonne cardnumber bruker symmetrisk nøkkel CreditCards_Key11. Lagre resultatet i kolonnen CardNumber_Encrypted.

UPDATE Sales.CreditCard

SET CardNumber_Encrypted = EncryptByKey (Key_GUID ( 'CreditCards_Key11'), cardnumber, 1, HashBytes ( 'SHA1 ", konvertere (VARBINARY, CreditCardID)));

Kontroller kryptering. Først åpner den symmetriske nøkkelen med å dekryptere dataene.

OPEN symmetrisk nøkkel CreditCards_Key11

DEKRYPTERING AV SERTIFIKAT Sales09;

Nå liste opprinnelige kortnummer, den krypterte kortnummer, og dekrypteres krypterte teksten. Dersom dekryptering arbeidet, vil det opprinnelige antallet matche dekryptert nummeret.

VELG cardnumber, CardNumber_Encrypted

AS 'Encrypted card number', CONVERT(nvarchar,

DecryptByKey (CardNumber_Encrypted, 1,

HashBytes ( 'SHA1 ", konvertere (VARBINARY, CreditCardID))))

AS 'dekryptert kortnummer' Fra Sales.CreditCard;

GÅ.

3 Kontroller at du har angitt riktige kommandoer og bekrefte dine krypterte data ved å forsøke å få tilgang til det uten godkjenning.