Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cryptage de db et gestion de clé pour un keypass.

Génération et gestion de la masterKey, choix de base de données.

    24 janvier 2024 à 22:31:29

    Bonjour à toutes et à tous, voila j'ai pour projet de faire un keypass avec un framework PHP, pour approfondir mes connaissance en cryptage, algorithmie ect..., et je me pose certaines questions.

    Tout d'abord je me questionne sur le choix de la base de données, SQLite3 ou la DB tient sur un seul fichier, ou mysql. Puisque je souhaite chiffrer la base de données, SQLite3 est favorable sur des projet embarqué, mysql est plus adapté au multi requete, au projet plus lourd ect...

    Ensuite pour crypter un mot de passe utilisateur, je vais devoir utiliser une masterKey :

    <?php
    
    // Les datas à chiffrer
    $data = "Bonjour, OpenClassroom !";
    
    // Clé de chiffrement
    $masterKey = "CleSecrete";
    
    // Méthode de chiffrement
    $encryptionMethod = "AES-256";
    
    // Génération du sel (Iv)
    $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($encryptionMethod));
    
    // Chiffrer les données
    $encryptedData = openssl_encrypt($data, $encryptionMethod, $masterKey, 0, $iv);
    
    ?>

    Je me question sur la façon de générer la master, devrais je faire un dérivé du password utilisateur qu'il utilise pour se connecter à l'application ? Le password de l'utilisateur récupérer, hashé avec sha-256 est stocker en session  temporairement (on pourrait me voler la session) ?

    Et ensuite ou dois-je la stocker cette master key, en base de données ? En session ? Puisque moi en tant que Owner du site je ne dois pas être en mesure de déchiffrer les mot de passe de mes utilisateurs. La masterKey est le cœur du chiffrement, elle ne doit être découvert pas personne je suppose !?

    Je vous remercie par avance pour vos réponse qui je l'espère, éclaireront toutes mes questions.

    -
    Edité par Fc_fifou 22 février 2024 à 22:12:04

    • Partager sur Facebook
    • Partager sur Twitter

    Cryptage de db et gestion de clé pour un keypass.

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    • Editeur
    • Markdown