2009-12-29 20 views
1

Désolé de continuer à poser tant de questions, mais vous les gars semblent toujours être très gentil et serviable ...intégrité et l'authenticité

je dois faire une application qui importe données d'un fichier. Par exemple, l'utilisateur sélectionne un fichier et l'application importe des données dans la base de données.

Mais j'ai pensé, et ce genre d'application conduit à un problème d'intégrité et d'authenticité des fichiers. Si un utilisateur modifie le fichier, l'application n'est pas autorisée à utiliser cette information. Et si un fichier ne provient pas d'une source bien connue, l'application ne peut pas utiliser ce fichier.

Comment faire ce genre de chose?

P.S .: J'utilise C# .NET

+0

vous pouvez signer le fichier juste après sa création, si vous avez la possibilité de le faire. Je suppose qu'il y a beaucoup de tuto sur la signature d'un fichier ... – Atmocreations

+0

Cela ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire sous son article. –

Répondre

2

Si vous pouvez contrôler le format de fichier source, vous pouvez intégrer une signature numérique. Si vous basez la signature sur un hachage du contenu du fichier, vous pouvez être sûr que le fichier provient d'une source fiable, et qu'il n'a pas été falsifié.

0

Cela dépend de la force que vous voulez cette protection. Par exemple, vous pouvez avoir un fichier xml (pour la lisibilité humaine) qui a un noeud de hachage quelque part qui contient le hachage du fichier d'origine (+ sel). Cela peut être mis à jour par le programme, mais l'utilisateur peut avoir du mal à comprendre ce que cette clé signifie. Lorsque le programme ouvre le fichier, il calcule le hachage et vérifie s'il est le même que celui écrit dans le fichier.

Vous pouvez même aller plus loin et utiliser des signatures numériques, mais c'est beaucoup plus compliqué.

+0

Juste un hachage ajoute seulement l'obscurité, pas l'assurance réelle. Les utilisateurs peuvent toujours régénérer un hachage. Là encore, ils peuvent toujours déchiffrer le binaire (en supposant qu'il ne s'agit pas d'une application web) et désactiver complètement le contrôle d'intégrité. – Novelocrat

+0

Une fonction de hachage est impossible à inverser, la seule façon est d'utiliser des tables arc-en-ciel. Mais si vous mettez du sel sur l'entrée, cela rend les tables arc-en-ciel inutilisables. –