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;
GÅ
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'
GÅ
CREATE SERTIFIKAT HumanResources037
MED UNDER = 'Employee Social Security Numbers';
GÅ
CREATE symmetrisk nøkkel SSN_Key_01
WITH ALGORITHM = AES_256
Kryptering ved SERTIFIKAT HumanResources037;
GÅ
BRUK [AdventureWorks2008R2];
GÅ
Lag en kolonne der du vil lagre de krypterte dataene.
ALTER TABLE HumanResources.Employee
ADD EncryptedNationalIDNumber varbinary(128);
GÅ
Å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);
GÅ
Kontroller kryptering. Først åpner den symmetriske nøkkelen med å dekryptere dataene.
OPEN symmetrisk nøkkel SSN_Key_01
DEKRYPTERING AV SERTIFIKAT HumanResources037;
GÅ
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'
GÅ
CREATE SERTIFIKAT Sales09
MED UNDER = 'Customer kredittkortnumre';
GÅ
CREATE symmetrisk nøkkel CreditCards_Key11
WITH ALGORITHM = AES_256
Kryptering ved SERTIFIKAT Sales09;
GÅ
Lag en kolonne der du vil lagre de krypterte dataene.
ALTER TABLE Sales.CreditCard
ADD CardNumber_Encrypted varbinary(128);
GÅ
Å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)));
GÅ
Kontroller kryptering. Først åpner den symmetriske nøkkelen med å dekryptere dataene.
OPEN symmetrisk nøkkel CreditCards_Key11
DEKRYPTERING AV SERTIFIKAT Sales09;
GÅ
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.