begin process at 2012 02 10 12:02:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Algorithme

 > 

Compression, Split et Cryptage

 > 

Sécurité assurée par CspProvider


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Sécurité assurée par CspProvider

lundi 14 avril 2008 à 04:24:01 | Sécurité assurée par CspProvider

taupe4

Bonjour,

Je développe présentement une application possédant des données sensibles cryptées via AES, et elle fonctionne bien.

Notre client nous a informés qu'il voudrait avoir une case "Se rappeler du mot de passe" dans le formulaire de connexion qui apparaît présentement à chaque démarrage du programme. Il faut donc que je crypte un mot de passe, en puissant le décrypter, de manière sécuritaire.

D'après ce que j'ai vu sur MSDN, ils recommandent d'utiliser l'algorithme RSA avec un conteneur de clé. Mais ils ne spécifient rien sur la sécurité du conteneur de clé et sur son accès.

J'ai le code suivant pour enregistrer et récupérer une clé (notez que la classe HexEncoding ne fait que convertir un byte[] en la chaîne en hexadécimal le représentant (cette chaîne est ensuite enregistrée dans les settings de l'application)). Il semble fonctionner (les tests unitaires passent).

///

<summary>

/// Transforme une cl, en le cryptant via RSA.

///</summary>

///<param name="key">La cl, . prot,ger</param>

///<returns>Le Hex-string repr,sentant les donn,es crypt,es.</returns>

publicstaticstring TransformKey(string key)

{

CspParameters csp = newCspParameters();

csp.KeyContainerName =

"MyContainer2003";

byte[] bytes = Encoding.UTF8.GetBytes(key);

MemoryStream source = newMemoryStream(bytes);

RSACryptoServiceProvider rcsp = newRSACryptoServiceProvider(csp);

string hexstring = HexEncoding.ToString(rcsp.Encrypt(bytes, false));

return hexstring;

}

///<summary>

/// D,crypte le contenu crypt, en RSA sous le format HEX-string en la cl, de base.

///</summary>

///<param name="hexstring">Le HEX-string contenant les donn,es crypt,es.</param>

///<returns>La cl, une fois d,crypt,e.</returns>

publicstaticstring GetKeyBack(string hexstring)

{

CspParameters csp = newCspParameters();

csp.KeyContainerName =

"MyContainer2003";

RSACryptoServiceProvider rcsp = newRSACryptoServiceProvider(csp);

byte[] bytes = rcsp.Decrypt(HexEncoding.GetBytes(hexstring), false);

returnEncoding.UTF8.GetString(bytes);

}

Notez que le nom du containeur a été modifié.

J'aimerais savoir qui peut avoir accès au conteneur de clé. Est-ce seulement mon application ou toute application connaissant son nom?

Si cela a une influence, mon programme .NET est signé.


«L'erreur est humaine mais un véritable désastre nécessite un ordinateur.»
«Selon les derniers chiffres, 43 % des statistiques sont fausses»
lundi 14 avril 2008 à 14:49:43 | Re : Sécurité assurée par CspProvider

sebmafate

Membre Club Administrateur CodeS-SourceS
si ton assembly (dll ou exe) n'est pas obfuscé (brouillé) toute personne peut lire ton code source et donc lire ton container.



Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
lundi 14 avril 2008 à 23:40:37 | Re : Sécurité assurée par CspProvider

taupe4

Cela veut donc dire que le nom du conteneur de clé est important car tout le monde peut avoir accès à la clé?

Quant à l'obfuscation, je vais utiliser dotfuscator, mais cela va protégé mon application en cryptant le nom de mon container?

Merci d'avance.

P.S si quelqu'un a de la documentation sur les conteneurs de clé ou sur une méthode plus sécuritaire je suis preneur . MSDN semble très vague et donne peu d'informations à ce sujet.


«L'erreur est humaine mais un véritable désastre nécessite un ordinateur.»
«Selon les derniers chiffres, 43 % des statistiques sont fausses»


Cette discussion est classée dans : application, string, bytes, clé, csp


Répondre à ce message

Sujets en rapport avec ce message

application C# scriptée ? [ par sbulliffon ] Bonjour, Je souhaite réaliser une application en C# dont le déroulement serait contrôlé par un script très simple. Par exemple : Fonctions codée en C# [SPS2003] Connection distante [ par FREESLY ] Bonjour, débutant en C# et ayant un projet d'application un peu poussé j'ai décidé de m'y prendre par étape. La premiere est juste de faire une Appli application console + object reference [ par jimmy69 ] salut salut,J'ai une p'tite application console que je suis en train de faire elle ne fait que de lister les fichiers dans un repertoire mais lorsque Protection [ par fdouieb ] Bonjour, J'ai une application qui réside sur une clé USB classique. Je branche ma clé et mon appli tourne. Je souhaite faire profiter mon application Dotfuscator [ par Jackboy ] Bonjour!J'aimerai savoir si quelqu'un à déjà fais l'utilisation de l'application dotfustator inclus dans vs2005 et à implémenté le tout à une applicat Question sur le traitement d'une base de données dont les colonnes sont inconnues [ par Finality ] Bonjour (ou bonsoir) tout le monde,Alors voilà, je développe une application et je butte sur un certain point.  Mon application (client / serveur) est Evenements : interet du mot clé Event ?? [ par olivgiov ] Bonjour à tous !!je suis nouveau venu dans le monde du C# et donc sur ce site.j'ai cherché sur le forum mais j'ai pas trouvé de réponse à ma question. Comment lire, un Index et clé Primaire dans une table [ par drcmomo ] J'ai deux fonction que j'ai un peu de mal a réaliser .Au niveau des requettes  je vois pas trop comment posseder.Quelqu'un a une petite idée?Merci d'a Manipuler une application externe [ par madkeyboard ] Bonjour ! Je vous présente mon problème : je réalise une application qui doit, entre autre, ouvrir un logiciel et permettre quelques manipulations av Array - Dictionary - Structure - LIST [ par electro ] Bonjour tout le monde. Dans une de mes applics, j'utilise les Dictionary, l'avantage, est d'avoir une clé unique. Par contre, pour pouvoir avoir plu


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,042 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales