1

Je suis en train de développer une application web, et je voudrais signer numériquement une certaine étape dans un processusstratégie pour signer numériquement un processus?

En d'autres termes, un utilisateur de l'application effectue une certaine action, et j'aimerais que cet événement soit signé numériquement.

L'utilisateur doit utiliser le jeton usb lorsqu'il émet l'action pour la signer numériquement.

Je voudrais savoir quelle approche recommandez-vous pour faire une telle chose.

Par exemple: (comment acomplish-vous il)

signe un enregistrement de base de données (contre: vous devez valider avec l'application elle-même, je suppose)

créer un pdf indiquant l'événement et l'utilisateur et signer numériquement le pdf (pro: le pdf est indépendant de l'application) (? comment acomplish là où ne le signe numérique est stockée)

créer et signer et xml documento

tout autre? ??

Saludos

sas

Répondre

0

Il y a de bonnes introductions à Public Key Cryptography que vous devez lire et comprendre avant même de commencer à penser à une mise en œuvre.

Selon le niveau de votre question, vous ne savez pas encore assez pour poser les bonnes questions et le moindre malentendu de votre part et tout le système de sécurité s'effondre. Vous voudrez peut-être envisager de retenir les services d'un expert, car le faire à 99,9% est juste un gaspillage d'efforts.

1

Dans votre cas, chaque utilisateur aura une clé publique et une clé privée. L'utilisateur va signer l'enregistrement de la base de données (chaîne, etc.), un document pdf ou XML en utilisant sa clé privée.

Vous obtenez un enregistrement de base de données signé (chaîne signée, etc.), un document signé en pdf ou en XML.

Vous stockez maintenant l'enregistrement de base de données signé en tant qu'enregistrement binaire dans votre base de données. Vous stockez le document pdf ou xml signé en tant que document normal dans votre emplacement de stockage. Et probablement vous devez ajouter un champ dans votre base de données pour intégrer ce fichier à votre application.

Pour la bibliothèque pour faire la signature, vous pouvez utiliser AES, ici vous allez avec la bibliothèque mise en œuvre de diverses langues: http://en.wikipedia.org/wiki/AES_implementations

Quoi qu'il en soit, je ne sais pas tout utilisateur qui se préoccupe de la sécurité donnera à votre demande son/sa clé privée pour la signature. Les gens utilisent généralement une application de confiance pour signer quelque chose avant de le transmettre.

2

Je travaille actuellement sur un projet qui a presque les mêmes exigences que vous avez énumérées dans votre question.

Nous utilisons un périphérique USB pour générer des signatures. L'appareil provient d'une société appelée IronKey, il est extrêmement sécurisé et répond à de nombreuses normes de sécurité. Le périphérique possède une paire de clés générée matériellement qui peut être utilisée pour la signature et la vérification.Lorsque l'utilisateur soumet des données en utilisant notre application, nous encapsulons les données dans un document XML, ensuite nous générons un hachage en utilisant sha256, enfin nous utilisons le périphérique via pkcs11 pour signer le hachage. La signature et les données sont ensuite stockées dans la base de données client et ensuite soumises à notre serveur où nous pouvons effectuer la vérification en utilisant la clé publique du jeton utilisateur (stockée dans notre base de données serveur au moment de l'émission du jeton).

Ce n'est pas réalisée en utilisant une application web en raison du fait qu'il est nécessaire d'effectuer un accès côté client du jeton.

Hope this helps, j'ai manqué beaucoup de détails, si vous avez d'autres questions me le faire savoir!

+0

Merci beaucoup pour votre réponse, nous savons que le processus de signature est difficile à réaliser par le biais d'une application web. Si je comprends bien, l'utilisateur final ne peut pas effectuer la vérification par leurs propres moyens, ils doivent compter sur votre application avez-vous envisagé générer un pdf et de signer numériquement? de cette façon (si je comprends bien) toute personne avec le pdf pourrait vérifier la signature ... – opensas

+0

@opensas: Nos données, y compris la signature, sont stockées dans la base de données client local en tant que rien de document XML à faire avec des documents PDF. Notre application génère également des documents PDF à partir des données du client, ce n'est pas signé, nous avons utilisé iTextSharp pour générer les documents PDF, il est possible de les signer en utilisant l'API programme Bouncy Castle. –

Questions connexes