1. #1
    Membre du Club
    Femme Profil pro
    PL/SQL
    Inscrit en
    septembre 2016
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Arabie Saoudite

    Informations professionnelles :
    Activité : PL/SQL
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : septembre 2016
    Messages : 77
    Points : 40
    Points
    40

    Par défaut l’utilité d'avoir un master key

    bonjour a tous

    je pose une question SVP sur l’utilité d'avoir du password au niveau du master key

    En faite ce qui je trouve un peut bizar c'est que si je crée un master key qui est crypté par un password et puis je crée un certificat qui est crypté par le master key puis je procède a une suppression du mon certificate

    et puis a une suppression du master key (bien sur avant la suppresion j'ai fait du backup pour le certificat)

    je trouve que je suis capable de restaurer mon ancien certificat même avec un nouveau password crée au niveau du master key

    Qui a une idée dans ce cas sur l’utilité du master key

    j'ai trouvé cette discutions qui parle de ce sujet sur https://www.sqlservercentral.com/For...-key-necessary

    Qui peut m'expliquer en plus cette point ?

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    août 2005
    Messages
    5 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : août 2005
    Messages : 5 070
    Points : 11 797
    Points
    11 797

    Par défaut

    Hello sihem_info,

    Pour comprendre ce mécanisme il faut que tu aies bien en tête la hiérarchie de chiffrement pour TDE.

    Service master key (SQL master) --> Database Master Key (SQL master) --> Certificat (SQL master) --> Database encryption key (SQL user BD).

    - La master key est une clé symétrique qui est protégée (=chiffrée) dans master par un mot de passe.
    - La clé privée du certificat sera quant à lui protégé par la master key.
    - Le certificat sert à protéger la clé de chiffrement de la base de données concernée

    La relation mot de passe - certificat n'existe pas en réalité. Le mot de passe ne concerne que la master key dans la base de données master.
    Ainsi il est tout à fait possible de restaurer une base de données avec TDE sans la même master key. La seule chose importante c'est le certificat (relation directe avec la Database Encryption Key) qui devra être restauré sur la nouvelle instance. A partir de là la clé privée du certificat pourra être protégée par la nouvelle master key qui aura ou non un nouveau mot de passe.

    ++

  3. #3
    Membre du Club
    Femme Profil pro
    PL/SQL
    Inscrit en
    septembre 2016
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Arabie Saoudite

    Informations professionnelles :
    Activité : PL/SQL
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : septembre 2016
    Messages : 77
    Points : 40
    Points
    40

    Par défaut

    merci mikedavem pour votre réponse

    donc si je comprend bien et selon votre réponse je peut restaurer un backup crypté sur plusieurs serveur a condition que le certificat soit présent sur ces serveur et quelque soit le password

    définit au niveau du master key

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    août 2005
    Messages
    5 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : août 2005
    Messages : 5 070
    Points : 11 797
    Points
    11 797

    Par défaut

    Citation Envoyé par sihem_info Voir le message
    donc si je comprend bien et selon votre réponse je peut restaurer un backup crypté sur plusieurs serveur a condition que le certificat soit présent sur ces serveur et quelque soit le password définit au niveau du master key
    Exactement

    ++

  5. #5
    Membre du Club
    Femme Profil pro
    PL/SQL
    Inscrit en
    septembre 2016
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Arabie Saoudite

    Informations professionnelles :
    Activité : PL/SQL
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : septembre 2016
    Messages : 77
    Points : 40
    Points
    40

    Par défaut

    désoler David

    mais dans le site MSDN ici il parle d'une autre chose et il dit qu il faut utlisée OPEN MASTER KEY pour déchiffrer la clé principale de la base de données

    https://docs.microsoft.com/fr-fr/sql...ql-server-2017

    Si non j'aurai ce type d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Msg 15581, Level 16, State 7, Line 137
    Please create a master key in the database or open the master key in the session before performing this operation.
    Msg 3013, Level 16, State 1, Line 137
    VERIFY DATABASE is terminating abnormally
    merci pour vos aides

  6. #6
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    août 2005
    Messages
    5 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : août 2005
    Messages : 5 070
    Points : 11 797
    Points
    11 797

    Par défaut

    mais dans le site MSDN ici il parle d'une autre chose et il dit qu il faut utlisée OPEN MASTER KEY pour déchiffrer la clé principale de la base de données
    Restauration d'une base TDE sur une autre instance qui avait déjà une master key dans master.
    Oui si tu dois restaurer la service master key sur une autre instance.
    Celle-ci est chiffrée via le compte de service de l'instance SQL Server et la clé locale du serveur (Windows).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RESTORE SERVICE MASTER KEY FROM FILE = 'B:\SQL2014\service_master_key'   
    DECRYPTION BY PASSWORD = 'P@$$w0rd1'
    Si maintenant tu lances la requête suivante tu verras qu'elle n'est pas protégée par le serveur (is_master_key_encrypted_by_server = 0). Dans ce cas SQL Server n'a aucun moyen de l'ouvrir et ouvrir les éléments du bas.
    Il faut donc appliquer les étapes que tu mentionnes dans ton post.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select 
    	name, 
    	is_master_key_encrypted_by_server
    from sys.databases

    En revanche si tu crées ta propre master key sur l'instance où tu restaures ta base TDE cela fonctionne sans avoir à faire autre chose que de restaurer le certificat + la base.

    ++

Discussions similaires

  1. Développement jeux vidéo : quelles bases à avoir absolument ?
    Par Ezechiel dans le forum Développement 2D, 3D et Jeux
    Réponses: 175
    Dernier message: 20/02/2018, 16h14
  2. git push heroku master : Permission denied (public key)
    Par metal971 dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 17/12/2014, 17h33
  3. Réponses: 1
    Dernier message: 23/05/2014, 08h20
  4. [SQL Server 2005] Mais où se cache le MASTER KEY ?
    Par Chauve souris dans le forum MS SQL-Server
    Réponses: 2
    Dernier message: 04/06/2007, 18h40
  5. [réseaux] Bench en Perl pour avoir le débit entre 2 pc
    Par Frich dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 22/05/2002, 17h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo