2011-05-24 4 views
1

J'ai été chargé de rechercher le cryptage sur nos serveurs Web pour les fichiers clients que nous recevons. Nous utilisons un environnement IIS7 et, lors du transfert de fichiers de nos clients via HTTPS, nous souhaitons les stocker sur disque de manière cryptée. Je suis un ingénieur réseau et les développeurs de logiciels m'ont poussé à trouver une implémentation du système d'exploitation. J'ai regardé BitLocker et EFS, mais je ne vois pas pourquoi ni comment j'en aurais besoin car nous ne sommes pas concernés par quelqu'un volant des disques physiques depuis notre centre de données sécurisé. Cela ne serait-il pas plus facile à la fin du logiciel avec IIS7? HTTPS cryptera les données d'un point à un autre.Cryptage des fichiers de l'application Web

Répondre

0

Le choix est assez large:

  • SGBD avec encyrption intégré des données stockées
  • des capacités de chiffrement du système de fichiers « OS (NTFS). NTFS vous permet de crypter des fichiers individuels avec un certificat de cryptage, qui est stocké dans le magasin de certificats Windows. Il est exportable, vous pouvez donc le copier à des fins de sauvegarde.
  • disque virtuel créé par un logiciel tiers (par exemple TrueCrypt). Ce logiciel prend généralement en charge les mots de passe et les certificats ou les clés PGP (selon le logiciel) pour le cryptage
  • disque virtuel créé par votre logiciel en utilisant l'un des our Virtual Storage products. Le choix des mécanismes de cryptage est presque illimité avec cette option.
+0

Merci à tous pour vos réponses. Nous avons décidé d'utiliser TrueCrypt comme chiffrement de disque (car il y a des coûts matériels supplémentaires pour les puces TPM pour BitLocker), de chiffrer TDE sur SQL Server 2008 et bien sûr de transmettre des données via HTTPS. – hexLax

1

Une fois qu'il arrive sur le serveur (et que vous le stockez), il n'est pas crypté.

Pour chiffrer en outre les données que vous avez un couple d'options: soit chiffrer le lecteur entier (de style EFS BitLocker /) ou chiffrer les fichiers individuels, auquel cas (AMHA) la solution plus simple serait de stocker simplement fichiers dans une base de données et utiliser soit intégré dans les bases de données, soit le cryptage de choix de l'API de votre langage de programmation pour crypter et décrypter les fichiers sur le stockage et la récupération.

L'inconvénient du chiffrement de l'ensemble du lecteur est que vous perdrez des performances sur un serveur de production, ce qui est généralement une mauvaise chose.

0

.Net a de bonnes API pour crypter des fichiers. Vous pouvez utiliser AES-256 (référé comme Rijndael dans .Net C#) pour crypter tous les fichiers avant de les stocker sur le disque. Chiffrez ensuite la clé AES à l'aide des clés RSA d'un certificat de machine (X509Certficate2 en C#). Stockez la clé AES cryptée (et le vecteur d'initialisation si vous utilisez CBC) avec le fichier crypté.

Lorsque vous devez déchiffrer le fichier, utilisez la clé privée du certificat de l'ordinateur pour déchiffrer la clé AES, puis utilisez cette clé AES pour déchiffrer le reste du fichier.

+0

cela n'introduirait-il pas que les fichiers ne pourraient être déchiffrés SEULEMENT sur cette machine spécifique? Semble relier l'accessibilité des données de production à une instance de serveur spécifique serait une mauvaise idée à long terme. – colinross

Questions connexes