2009-06-09 7 views
4

J'ai une base de données et une clé de décryptage incrustées. Comment garder la clé de décryptage loin du piratage (piratage de la base de données et accès non autorisé PC.)?Quelle est la meilleure façon de garder la clé de déchiffrement pour décrypter la base de données cryptée?

  1. Code fixe dans l'assemblage.
  2. conserver dans le registre.
  3. conserver en RAM.

De plus, j'ai besoin algorithme de données encryted. Quel est le meilleur algorithme pour faire cela en sécurité par période de décryptage?

  1. RSA
  2. AES
  3. Twofish

RSA vs AES

Merci,

Répondre

4

Vous posez les mauvaises questions: tout d'abord vous devez décider comment vous sûr besoin choses à être. Ensuite, vous devez décider si vous voulez symétrique (pensez à DES, clé partagée) ou asymétrique (pensez RSA, clés publiques et privées), et pensez aussi à la gestion des clés, car c'est souvent le point faible.

algorithmes asymétriques sont des ordres de grandeur plus lent que les symétriques; ils sont souvent utilisés pour protéger une clé symétrique, plutôt que pour l'ensemble des données.

0

J'interprète votre description qu'il est nécessaire de maintenir la clé de déchiffrement SOMEWHERE sur la machine de base de données pour effectuer votre travail.

Compte tenu d'un accès suffisant et savoirfaire au matériel que vous ne pouvez pas protéger votre base de données qu'il est impossible de briser votre cryptage.

Pour tous les autres cas où l'accès physique n'est pas possible, vous devez vous référer aux directives de chiffrement qui existent pour toutes les principales bases de données en utilisant les technologies spécifiques uniques à la plupart des plates-formes.

4

Il est impossible de "garder la clé de décryptage à l'abri du piratage" si vous la stockez avec les données cryptées. Période. La gestion des clés est souvent la partie la plus difficile de toute politique de sécurité. En ce qui concerne l'algorithme de chiffrement, RSA est un type d'algorithme très différent de AES et Twofish (voir http://en.wikipedia.org/wiki/Symmetric-key_algorithm#Symmetric_vs._asymmetric_algorithms).

Pour répondre à ces deux questions, il faudra plus d'informations. Exactement pourquoi essayez-vous de crypter la base de données? Quelle menace essayez-vous de gérer?

1

Il ne sera jamais parfaitement sécurisé, surtout compte tenu de l'accès physique aux machines, mais vous pouvez le rendre difficile.

Utilisez 3DES pour chiffrer les champs de base de données que vous souhaitez protéger. Notez que vous n'aurez pas besoin de crypter tous les champs, et vous ne devriez pas. (à la fois pour la vitesse, et parce que si vous perdez la clé, vous aurez au moins une idée de ce que vous devez faire)

Ne stockez pas la clé sur le serveur de base de données. Si vous devez le faire, stockez-le sur un lecteur différent de celui de la base de données ou de l'application Web.Gardez une sauvegarde de la clé sur une clé USB ou quelque chose. Ne passez pas cette étape.

Divisez le fichier de clés en plusieurs fichiers différents, répartis sur différents dossiers et différents lecteurs. N'utilisez pas de noms qui indiquent le but des fichiers. Stocker les emplacements dans le registre. Utilisez le code pour lire le registre, récupérer les pièces de la clé et les assembler. Écrivez ce code vous-même, et n'utilisez pas un nom qui indique le but du programme.

+0

Bon tour! Avez-vous une idée professionnelle plus que cela? –

+0

Ce que j'ai également vu est la clé utilisée pour chiffrer les entrées db étant changées tous les jours, toutes les heures, peu importe. Cette clé a été cryptée par la clé décrite ci-dessus et stockée dans la même ligne avec les entrées cryptées. Pour déchiffrer, vous avez récupéré la ligne, décrypté le champ clé, puis l'avez utilisé pour déchiffrer les entrées. Cela n'améliore pas la force cryptographique, mais cela rend plus difficile de comprendre ce qui se passe. –

Questions connexes