Sunteți pe pagina 1din 3

UNIVERSITATEA „POLITEHNICA” TIMIȘOARA

FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE

Aplicație client-server cu transmitere de date


Proiect la disciplina Securitatea informației

Darius Turcian
An III, secția IS, subgrupa 4.1
Univ. Politehnica Timișoara
Timișoara, România
darius.turcian@gmail.com

I. INTRODUCERE
„Criptografia este știința care folosește matematica pentru a codifica și decodifica
informațiile. Cu ajutorul criptografiei se pot stoca ușor informațiile sau se pot transmite de-a
lungul unor rețele (de exemplu: Internetul) și nu pot fi citite decât de aceia care posedă cheia
pentru decriptare.”[1]
Criptarea datelor este foarte importantă în multe domenii precum: militar,
guvernamental, financiar-bancar, agenții economice, televiziuni private, etc; deoarece
comunicațiile protejate au scop păstrarea confidențialității informaționale și a caracterului
secret a datelor.

II. TEMA PROIECTULUI


Tema acestui proiect presupune realizarea unei aplicații de tip client-server care permite
transmiterea de date între client și server în mod protejat.

III. ARHITECTURA APLICAȚIEI CLIENT-SERVER


Aplicația client-server este realizată din două componente:
- O componentă web (reprezintă clientul)
- O componentă desktop (reprezintă serverul)

3.1.Componenta web
Aplicația web reprezintă clientul și are posibilitatea sa transmită imagini și mesaje text
către server (aplicația desktop) în mod protejat.
Accesul la aplicația web se poate face doar prin autentificare a utilizatorului care are
posibilitatea de înregistrare în cazul în care acesta nu este înregistrat. Acest lucru se realizează

Anul universitar
2016 – 2017
UNIVERSITATEA „POLITEHNICA” TIMIȘOARA

FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE

cu ajutorul unei baze de date (locale) care memorează fiecare utilizator la înregistrare precum
și hash – ul parolei acestuia.
Pentru a realiza hash - ul parolei am ales SHA1 deoarece este mai sigur decât MD5 și
are un output mult mai mic decât SHA256.
Autentificarea unui utilizator este valabilă doar 10 minute (la logare, pentru clientul
respectiv se generează un token intern care este valabil 10 minute) după care este nevoie din
nou de autentificare.
După autentificare, aplicația pune la dispoziția utilizatorului posibilitatea realizării unei
fotografii cu camera web și trimiterii acesteia către server. De asemenea, există posibilitatea
trimiterii unui mesaj text.

3.2.Componenta desktop
Aplicația desktop reprezintă server-ul și are rolul doar de a primi imagini si mesaje de
la clienți în mod protejat.
Accesul la aplicație se realizează la fel ca și la componenta web cu diferența că
autentificarea unui utilizator nu mai expiră ci este valabilă până la delogare sau la închiderea
aplicației.

IV. COMUNICAREA ÎNTRE CLIENT ȘI SERVER


Pentru transmiterea unei imagini, de la client la server, am utilizat următorul algoritm:
- Clientul a criptat imaginea cu AES
- Clientul a primit cheia publica a unui RSA de la server (tot în mod protejat,
cu algoritmul lui Diffie Hellman)
- Clientul a criptat cheia și iv-ul cu RSA
- Clientul a transmis imaginea criptata (AES), cheia si iv-ul criptate (RSA)
- Serverul, după ce a transmis cheia publica de la RSA către client, primește
imaginea, cheia și iv-ul.
- Serverul decriptează cheia și iv-ul cu RSA, apoi decriptează imaginea cu
AES (folosit cheia și iv-ul).

Anul universitar
2016 – 2017
UNIVERSITATEA „POLITEHNICA” TIMIȘOARA

FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE

Pentru transmiterea unui mesaj text am folosit doar algoritmul lui Diffie Hellman,
criptat cu AES (si decriptat, tot cu AES de server, având aceeași cheie).

V. TRANSMITEREA CHEII ÎN MOD PROTEJAT


Pentru a transmite cheia publică de la RSA (de la server către client) și pentru a
transmite mesaje text (de la client către server) am folosit algoritmul lui Diffie Hellman
împreună cu criptarea simetrică a unui AES.
Algoritmul lui Diffie Hellman presupune:

VI. CONCLUZII
În concluzie, realizarea proiectului m-a determinat să înțeleg mai bine modul de
criptare/ decriptare a datelor, a transmiterii acestora între client și server, modul de criptare
asimetric cu RSA, precum și modul de criptare simetrică cu AES și nu în ultimul rând,
principiul de schimbare a cheii în mod sigur/protejat cu ajutorul algoritmului lui Diffie
Hellman.

VII. BIBLIOGRAFIE

 [1] Criptografia, Radu Moionescu, https://www.scribd.com/doc/32848435/Referat-


CRIPTOGRAFIA
 Cryptography, Application Notes in C, .NET and Java, Bogdan Groza, 2015
 Diffie-Hellman Key Exchange, Bishal Sapkota, 30 Oct. 2014,
https://www.youtube.com/watch?v=cM4mNVUBtHk
 ECDiffieHellmanCng Class, https://msdn.microsoft.com/en-
us/library/system.security.cryptography.ecdiffiehellmancng(v=vs.110).aspx
 Introduction to TCP client server in C#, S.Thangaraju, 1 Oct 2001,
https://www.codeproject.com/Articles/1415/Introduction-to-TCP-client-server-in-C

Anul universitar
2016 – 2017

S-ar putea să vă placă și