Recentemente, ho avuto il compito di fare qualche ricerca sulla crittografia dei dati a livello di cella. Ho provato a usare il tasto Symmetric (per passphrase) & la seconda opzione che ho preso è la chiave simmetrica (per certificato). Ho bisogno che la crittografia venga eseguita solo su 3 colonne all'interno della tabella dei dati relativa al cliente.
Esempio: -
ColumnX1 - Char(9) datatype
ColumnX2 - Char(9) datatype
ColumnX3 - Char(9) datatype
Tre nuove colonne: -
ColumnX1Crypt - varbinary(200) datatype
ColumnX2Crypt - varbinary(200) datatype
ColumnX3Crypt - varbinary(200) datatype
Finora, ha funzionato bene quando ho usato l'opzione di usare i certificati. Ma ho alcuni dubbi e domande sull'uso dei certificati.
Le mie domande: -
a) Come eseguo la creazione di una chiave master, certificato e amp; il simmetrico in varie regioni di test come DEV, UAT, QA e infine alla produzione? Se preparo lo script sql & chiedere al DBA di eseguirlo in varie regioni, andrà bene o ho bisogno di trasmettere alcune informazioni aggiuntive insieme ad esso. ? Si prega di suggerire.
b) Devo mantenere i backup della chiave principale, certificato e amp; la chiave simmetrica per ogni regione come DEV, UAT, QA ecc.? Se creo una chiave principale con la stessa password in tutte le regioni. Andrà bene? I file di backup dei vari oggetti presi nel file Prod db funzioneranno nelle regioni inferiori db?
c) Ci sono degli svantaggi nell'utilizzare l'opzione Certificato con la chiave simmetrica?
d) Quale algoritmo è meglio scegliere? Nel mio caso, la lunghezza massima dei dati è di 9 caratteri per la crittografia.
Alcune istruzioni Misc utilizzate in MS SQL Server: -
CREATE MASTER KEY ENCRYPTION BY
PASSWORD = '23987hxJKL#1946kcj$n44ncjhdlj'
CREATE CERTIFICATE Partner_Cert
WITH SUBJECT = 'Certificate For Encryption',
Expiry_Date = '20180101';
CREATE SYMMETRIC KEY PARTNER_ENCR_KEY
WITH ALGORITHM = TRIPLE_DES
ENCRYPTION BY CERTIFICATE [Partner_Cert]
Per favore suggerisci le tue opinioni per l'approccio soln.