begin process at 2012 02 08 03:57:34
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseaux & Internet

 > SAUVEGARDE DE FICHIERS CRYPTÉS SUR SERVEURS DISTANTS

SAUVEGARDE DE FICHIERS CRYPTÉS SUR SERVEURS DISTANTS


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseaux & Internet Source .NET ( DotNet ) Classé sous :socket, cryptography, rijndaelmanaged, tcp Niveau :Initié Date de création :22/03/2007 Vu / téléchargé :9 901 / 1 015

Auteur : Vallorbain

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Il y a 3 programmes:
- Serveur
- Client
- Gestion des utilisateurs

Ces logiciels utilise la classe Socket du .NET Framework en mode asynchrone.

Les algorithmes de cryptage suivants sont utilisés :
- AES (Rijndael) pour le cryptage et le décryptage.
- SHA512 pour l’authentification des fichiers transmis.

Pour utiliser le logiciel client, l’utilisateur doit disposer de :
- Un login et un password valide (existant dans la table des utilisateurs de la
base de données SQL server).
- Une clé secrète de 32 octets (256 bits). Cette clé ne devra en aucun cas être
transmise par Internet. Si l’utilisateur perd cette clé tous les fichiers transmis
seront perdus. Pratiquement, cette clé est stockée dans un fichier…


Login.
------
Sur demande de connection par le client au serveur, le login et le password sont
envoyés à l’adresse IP et au port du serveur.
Le serveur cherche dans la table des utilisateurs de la base de données SQL server
l’existence et la correspondance du login et du password.
Si l’authentification de l’utilisateur est correcte, le serveur signale au client un accès
valide et crée une session ; autrement l’accès est refusé.

Upload.
--------------------------------- ---------
Client :
Crypte le fichier et le charge dans un fichier temporaire.
Hache le fichier temporaire crypté avec SHA512 pour obtenir sa signature de
hachage.
Envoie un message au serveur, contenant :
- Une demande d’autorisation d’envoi de fichier.
- Le nom du fichier.
- La date de dernière modification du fichier.
- Le nombre d’octets du fichier.
- La signature de hachage du fichier (64 octets).

Serveur:
Vérifie l’autorisation d’accès de l’utilisateur et que le nombre d’octets alloués à
l’utilisateur n’est pas dépassé.
Si OK : Enregistre les infos précédemment transmises dans la session de
l’utilisateur et envoie un message au client signalant qu’il a suffisamment d’infos
pour recevoir le fichier.
Si pas OK : Envoie un message d’erreur au client.

Client :
Sur réception de l’autorisation d’envoi : envoie le fichier temporaire crypté (8kb
par 8kb), l’efface puis attend la confirmation de réception.

Serveur:
Enregistre les octets du fichier crypté dans un fichier temporaire (8kb par 8kb).
Dés que le nombre d’octets du fichier est atteint effectue les opérations
suivantes :
- Calcule la signature de hachage.
- Compare la signature de hachage obtenue avec celle envoyée par le
client. Si les signatures ne sont pas identiques, envoie un message
d’erreur au client.
- Vérifie l’existence du fichier. Si le fichier existe, remplace le fichier. Si le
fichier n’existe pas, le fichier est ajouté.
- Enregistre les infos du fichier reçu dans la DB.
- Envoie un message de succès de transfert au client.
- Efface le fichier temporaire.
Si le nombre d’octets reçu est plus grand que celui attendu, envoie un message
d’erreur au client.
Si le client arrête la transmission avant que le nombre d’octets à transférer soit
atteint, attend un certain temps (à fixer) puis envoie un message d’erreur au
client.

Client :
Affiche le succès ou l’échec du transfert.


Download
--------
Client :
Envoie un message de demande transfert, accompagné du nom du fichier.

Serveur :
Vérifie l’autorisation d’accès de l’utilisateur et l’existence du fichier dans la base
de données.
Si pas OK, envoie un message d’erreur au client.
Si OK, hache le fichier crypté avec SHA512 pour obtenir sa signature.
Envoie un message au client, contenant :
- Une demande d’autorisation d’envoi de fichier.
- La date de dernière modification du fichier.
- Le nombre d’octets du fichier.
- La signature de hachage du fichier (64 octets).

Client :
Sur confirmation du serveur:
Enregistre les octets du fichier crypté dans un fichier temporaire (8kb par 8kb).
Dés que le nombre d’octets du fichier est atteint effectue les opérations
suivantes :
Calcule la signature de hachage.
Compare la signature de hachage obtenue avec celle envoyée par le serveur.
Si les signatures ne sont pas identiques, affiche un message d’erreur.
Décrypte le fichier temporaire en le copiant à sa destination.
Affiche un message de succès.
Efface le fichier temporaire.
Si le nombre d’octets reçu est plus grand que celui attendu, affiche un message
d’erreur. Efface le fichier temporaire.
Si le serveur arrête la transmission avant que le nombre d’octets à transférer
soit atteint, attend un certain temps (à fixer) puis affiche un message d’erreur.
Efface le fichier temporaire.


File list
---------
Client :
Envoie un message demandant la liste des fichiers de l’utilisateur.

Serveur :
Exécute une requête SQL pour obtenir la liste des fichiers.
Envoie un message contenant la liste.

Client :
Affiche la liste.




Delete file
-----------
Client :
Envoie un message contenant une demande de suppression accompagnée du
nom du fichier.

Serveur :
Exécute une requête SQL pour vérifier l’existence du fichier.
Si le fichier existe, efface le fichier et envoie un message de confirmation.
Si le fichier n’existe pas, envoie un message d’erreur.

Client :
Affiche le message.







 Conclusion

Installation.

SQL server 2005.
Avec le Management Studio:
- Ouvrir le fichier CreateDB.sql
- Ajuster les paramètres de création de la DB pour votre système
- Executer le script


Créer le répertoire qui contiendra les fichiers cryptés des utilisateurs. (Côté serveur)


Visual Studio 2005.
- Ouvrir la solution SecureFiles
- Dans le projet SFServer, ouvrir le fichier app.config
- Remplacer "GLARDSOFT" par le nom de votre Data Source dans la connectionString
- Remplacer "F:\SecureFiles\" par le nom du répertoire que vous venez de créer
- Dans le projet SFUser, ouvrir le fichier app.config
- Effectuer les mèmes remplacements
- Compiler... Tester...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) CRYPTOGRAPHIE DE RÉPERTOIRE (AES 256)
Source avec Zip Source avec une capture Source .NET (Dotnet) CRYPTAGE COMBINÉ RSA – AES (RIJNDAEL) POUR TRANSMISSION DE F...
Source avec Zip Source avec une capture Source .NET (Dotnet) TRI ET GROUPEMENT DE FICHIERS .MP3 SELON LE CONTENU DE LEURS...
Source avec Zip Source avec une capture Source .NET (Dotnet) XNA FRAMEWORK : JEU "LÉGITIME DÉFENSE". UTILISATION DE AUDI...
Source avec Zip Source avec une capture Source .NET (Dotnet) BALISTIQUE EXTÉRIEURE

 Sources de la même categorie

Source avec Zip Source avec une capture MODIFIER ADRESSE MAC (WINDOWS) par maxou561
Source avec Zip Source avec une capture FTPROG - CLIENT FTP TRÈS BASIQUE par Jukuso
Source avec Zip Source .NET (Dotnet) WIFIKEYVIEWER : LISTE DES PROFILES WIFI AVEC LEURS CLÉS/MOTS... par ShareVB
Source avec Zip Source .NET (Dotnet) TRANSFERT DE FICHIER par VinceMonkeyz
Source avec Zip Source .NET (Dotnet) NET (SCAN D'URL) par VinceMonkeyz

 Sources en rapport avec celle ci

Source .NET (Dotnet) CONNAITRE LE PROCESS CONNECTÉ À VOS SOCKET par Renfield
Source avec Zip Source avec une capture Source .NET (Dotnet) FUZZER TCP par matad0r
Source avec Zip Source .NET (Dotnet) MODULE RÉSEAU AVANCÉ : SOCKET TCP. par djine
Source avec Zip Source .NET (Dotnet) NETACCESS 2.0 RC2 : LIBRAIRIE POUR APPLICATION CLIENTS/SERVE... par wizad
Source avec Zip Source avec une capture Source .NET (Dotnet) CRYPTAGE COMBINÉ RSA – AES (RIJNDAEL) POUR TRANSMISSION DE F... par Vallorbain

Commentaires et avis

Commentaire de wizad le 23/03/2007 14:23:27

ça a l'air intérréssant. Peut-tu détaillé aussi le système client serveur que tu as implémenté dans ta description. Le projet étant conséquent ça pourrait aider ceux intérrésser par ton code.

Commentaire de Vallorbain le 23/03/2007 17:15:31

La description contient les spécifications de trafic client - serveur.
Ces programmes ont été testé au travers d'Internet : OK
Le facteur limitant est la taille des fichiers...
Les firewalls sont peut-être à paramètrer pour accepter serveur et client...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

C#.Net Socket tcp pour ping? icmp impossible. [ par troukatruc ]    Bonjour,Je suis actuellement en stage et je developpe des appli pour pocket pc en c# avec .Net.( Je sais qu'il existe un forum pdafr tcp socket + envoi d'objet [ par Blacknight91 ] bonjour,voilà je voudrais créer une connexion tcp client/serveur pour envoyer des données. Ces données sont dans des objets (une datatable par exemple Socket TCP [ par DCWeb ] Bonjour,Dans le cadre d'un serveur acceptant des connections TCP sur plusieurs ports, est il possible de connaitre le port sur lequel l'appli client s envoi de fichier sur socket UDP ou TCP [ par jackachi ] Bonjour, J'ai trouvé beaucoup de code pour envoyer des datas "txt" sur une socket UDP ou TCP. Pourtant je ne trouve rien sur comment envoyé communication tcp socket [ par rmimih ] bonjour à tous, Est-il possible de faire un logiciel de communication tcp socket, et que ce logiciel est un serveur losqu'il envoi des données, et un Envoie "passage à la ligne" dans socket TCP/IP [ par nicompx ] Bonjour,Comment faire pour envoyer une passage à la ligne dans un socket   exeple : socket.Send(...);   ???????????Je met simplement un " \n " mais ce Socket URL [ par nicompx ] Bonjour, Je veux ouvrire un socket mais je ne connais pas l'adresse IP du serveur et bien son URL.Comment passer l'URL à la place de l'adresse IP. Connection site internet sécurisé avec les socket [ par Plugman ] Bonjour,J'aimerais savoir comment je peux naviguer dans un site sécurisé par une page avec login et mot de passe grâce aux socket (httpWebRequest) ?J' Erreur lors du test [ par H0gS ] Bonjour à vous tous, J'essaie lentement, mais sûrement de créer un chat à l'aide des sockets en mode connecté (TCP). Comme vous le remarquerez, je su Probleme de Socket C# [ par Dropsys ] Bonjour, depuis quelques jours, j'essaye de réaliser un salon de discussion un peu compliqué, avec la possibilité de changer de pseudo/image, avec pl


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 1,498 sec (3)

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