Domanda

Voglio crittografare una colonna esistente in SQL Server 2005, utilizzando un'istruzione UPDATE, spostando il vecchio contenuto nella nuova colonna crittografata.

Così ho 2 scelte:. Simmetrici e asimmetrici

Il problema che ho è che con una chiave simmetrica, devo incorporare la password in un SP per leggere la colonna come:

-- Create key (at some earlier point)
create symmetric key sk_user_profile with algorithm = aes_192 encryption by password = 'P@ssword!!';

-- Now encrypt the contents
-- open the key so that we can use it
open symmetric key sk_user_profile decryption by password = 'P@ssword!!';

UPDATE users
SET password_enc = encryptbykey(key_guid('sk_user_profile'), password_plain, 1, user_id)

close symmetric key sk_user_profile

Ora, se voglio selezionare i dati, ho ancora a riaprire la chiave con

open symmetric key sk_user_profile decryption by password = 'P@ssword!!';

Che è sconfiggere il punto non è vero, come sto embedding una password di testo semplice all'interno di una stored procedure.

Alcune domande

  1. C'è un modo per aggirare questo? - vale a dire la creazione di un certificato con questa password e quindi facendo riferimento al certificato invece
  2. Sarebbe questo certificato devono essere acquistati (come SSL), o posso creare il mio?
  3. Questo metodo è scalabile su database fail-over in cluster, vale a dire la crittografia non si basa sulla macchina, solo la password fornita. Pertanto il failover può ancora leggere le password

Grazie per il vostro aiuto

È stato utile?

Soluzione

In sostanza ciò che devi fare è questo:

create certificate MyEncryptionCertificate with subject = 'MyCertificate'

create symmetric key MySymmetricKey with algorithm = aes_256 encryption by certificate MyEncryptionCertificate

E poi:

open symmetric key MySymmetricKey decryption by certificate MyEncryptionCertificate

select encryptbykey(key_guid('MySymmetricKey'), 'tada')) EncryptedMessage

Spero che questo blog vi aiuterà a lungo la strada.

SQL SERVER - Introduzione a SQL Server di crittografia simmetrica e chiave di crittografia tutorial con script

E anche questo blog, che si occupa specificamente di certificati in un ambiente di failover.

soluzione che utilizza certificati di autenticazione sul server di produzione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top