IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Signature ECDSA (ou autre)


Sujet :

C#

  1. #1
    Membre confirmé Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Points : 527
    Points
    527
    Par défaut Signature ECDSA (ou autre)
    Bonjour,

    Je cherche à implémenter une mécanique d'authentification par clé ECDSA par exemple.
    Le langage d'implémentation serait du C# ou C++ (ou autre si nécessaire)

    L'idée initiale :
    1) depuis ma clé privé (Pk) je puisse dérivé X clés publiques (disons Ka et Kb)
    2) que je puisse vérifier que Ka et Kb partagent bien la même PK d'origine (sans avoir cette fameuse PK évidemment )

    Je ne suis clairement pas un expert en crypto mais j'ai déjà utilisé ce genre d'outils (ECDSA et ECDH).

    Voila j'espère que ma demande est compréhensible, n'hésitez pas à poser vos questions.
    Merci d'avance.

    PS: Je ne savais pas dans quelle catégorie poser ce post, désolé si ce n'est pas le bon endroit.
    Je fais ce que je dis et je dis ce que je veux .

  2. #2
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Points : 10 543
    Points
    10 543
    Billets dans le blog
    21
    Par défaut
    Tout dépend exactement du besoin.

    Si c'est juste générer des paires de clé privé/publique, avec toujours la même clé privée, je crains que cela ne soit pas possible (ça l'est peut être, mais jamais entendu parlé de tels algo, en tout cas d'algo robustes utilisable à des fins cryptographiques).

    Si par contre, l'idée est de se servir de la clé publique comme d'un super mot de passe accompagné d'un login, alors oui, c'est possible. Dans ce cas, tu peux utiliser le principe de signature :
    - tu détermines une donnée à signer (par exemple, basé sur le pseudo de la personne qui cherche à se connecter)
    - tu signes la donnée avec ta clé privée (Pk)
    - tu distribues la signature (l'équivalent de ta clé publique dans ton message initial, Ka ou Kb)

    Ensuite, pour l'authentification à proprement parler :
    - tu collectes l'identifiant + le "super" mot de passe
    - tu calcules la signature à partir de l'identifiant
    - tu vérifies la signature calculée avec la signature communiquée.

    Avec ta clé publique Pp (associée à la clé privée Pk), tu peux "déchiffrer" la signature Ka ou Kb, et donc vérifier que Ka et Kb sont bien issus de Pk, simplement en connaissant Pp (mais sans avoir à connaitre Pk)

    Dernière précision : lorsque je parle de donnée à signer basé sur le pseudo, je ne dis pense pas au pseudo directement, mais un hash (via SHA2 par exemple) et former une chaine de caractère style "DATA=xxxxxx-SHA-2-xxxxx". L'avantage c'est que le login n'est pas inclus dans la signature (et donc, on a bien besoin du login ET de la signature qui joue le rôle d'un super mot de passe) et que tu peux facilement vérifier que la signature est issue de Pk (en déchiffrant via Pp et vérifiant que les données obtenues commencent bien par "DATA=").

    Tu peux aussi inclure le pseudo dans la signature (c'est tout à fait possible), mais dans ce cas, il n'y a plus besoin du couple identifiant/signature pour se connecter, juste de la signature (car l'identifiant serait retrouvable très facilement en déchiffrant la signature).

    Par contre, si l'objectif est de pouvoir procéder à un échange de données en les chiffrant via Ka ou Kb et en les déchiffrant avec Pk, là je crains que cela ne soit pas possible directement. Il faudra procéder en 2 étapes : une étape d'authentification (cf. ci-dessus), suivi d'une étape d'échange de clés.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

Discussions similaires

  1. Signature ECDSA
    Par aymmou dans le forum VHDL
    Réponses: 0
    Dernier message: 10/01/2018, 10h30
  2. Signature ECDSA avec SHA256 et courbe prime 192 r1
    Par laedit dans le forum Framework .NET
    Réponses: 0
    Dernier message: 01/06/2010, 11h17
  3. Réponses: 7
    Dernier message: 30/09/2008, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo