Je souhaite chiffrer une colonne existante dans SQL Server 2005 à l'aide d'une instruction UPDATE, en déplaçant l'ancien contenu dans la nouvelle colonne chiffrée.Comment utiliser le chiffrement sécurisé d'une colonne existante dans SQL Server 2005
J'ai donc 2 choix: Symétrique et Asymétrique.
La question que j'ai est que, avec une clé symétrique, je dois intégrer le mot de passe dans un SP afin de lire la colonne comme:
-- Create key (at some earlier point)
create symmetric key sk_user_profile with algorithm = aes_192 encryption by password = '[email protected]!!';
-- Now encrypt the contents
-- open the key so that we can use it
open symmetric key sk_user_profile decryption by password = '[email protected]!!';
UPDATE users
SET password_enc = encryptbykey(key_guid('sk_user_profile'), password_plain, 1, user_id)
close symmetric key sk_user_profile
Maintenant, si je veux sélectionner les données, je reste doivent rouvrir la clé avec
open symmetric key sk_user_profile decryption by password = '[email protected]!!';
ce qui est défaisant le point est pas, comme j'Embedding un mot de passe en clair dans une procédure stockée.
Quelques questions
- Y at-il moyen de contourner cela - à savoir la création d'un certificat avec ce mot de passe, puis se référant au certificat à la place?
- Est-ce que ce certificat doit être acheté (comme SSL) ou est-ce que je peux créer le mien?
- Cette méthode est-elle évolutive dans les bases de données en cluster avec basculement, c'est-à-dire que le chiffrement n'est pas basé sur la machine, seulement le mot de passe fourni. Par conséquent, le basculement peut toujours lire les mots de passe
Merci pour votre aide
Il existe un chiffrement par certificat. –