2012-08-15 3 views
1

Bonjour les gars, j'ai une question de sécurité concernant le cryptage/décryptage des informations personnelles sensibles: Identité (Nom, Adresse, Numéro de téléphone), Détails bancaires (Code de tri et numéro de compte) presque tout est crypté et accessible seulement par la personne elle-même et par la personne autorisée à utiliser des données personnelles. Et maintenant les questions principales sont: 1. Est-ce que ma méthode est assez sûre?
2. Y a-t-il une meilleure façon de le faire? ?
3. Où dois-je utiliser les clés de la base de données ou de $ _SESSION (Où est la meilleure plase les utiliser pour le déchiffrement pour l'utilisateur d'examiner les détails hes)
Cryptage des données sensibles avec mcrypt

Voici le code:
$iv = mcrypt_create_iv(32, MCRYPT_RAND);
$key = mcrypt_create_iv(32, MCRYPT_RAND);
$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $unencrypted, MCRYPT_MODE_CBC, $iv);

C'est pour chiffrer les données avant de l'envoyer à la DB

$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $encrypted, MCRYPT_MODE_CBC, $iv);

Et c'est la méthode de déchiffrage. (Utilisation de l'une, clé $ cryptée $ d $ iv de l'échantillon ci-dessus).

+0

Où vous stockez clé générée et IV? –

+0

Dans la base de données –

Répondre

3

Il n'y a aucun avantage de sécurité pour crypter des informations sensibles et stocker des clés dans la base de données. C'est la même chose que de verrouiller en sécurité et de laisser les clés dans le trou de la serrure. Au moins, vous devez stocker les clés sur le système de fichiers, pas dans la base de données. Dans ce cas, si votre base de données est divulguée (par exemple à cause d'une attaque par injection SQL), l'attaquant ne pourra pas la décrypter car il n'a pas de clé.

Modifier Il n'existe aucun moyen de sécuriser un fichier contenant la clé, car PHP doit le lire pour effectuer les opérations requises. Cependant, vous pouvez utiliser le périphérique HSM (Hardware Security Module) pour y stocker des clés. Regardez YubiHSM par exemple.

+0

Oui, c'est un bon point en fait. OK comment dois-je sécuriser les fichiers? –

+0

Voir la modification pour plus de détails. –

Questions connexes