Arhitectura de bază a serviciilor IM
Serviciul de mesaje instantanee sau mesagerie instant (mesagerie instant engleză, IM.) - servicii de mesagerie instantanee (Instant Messaging Service, IMS), consultanții on-line de program (OnlineSaler) și software-ul client (Instant Messenger, IM) pentru mesaje în timp real, prin intermediul internetului.
Caracteristicile IM includ:
Formularea sarcinilor de securitate a informațiilor
Scopul acestei lucrări este de a studia protocoale moderne de serviciu de securitate „Instant Messaging“.
Următoarele au fost determinate sarcinile secundare pentru a-și atinge obiectivele:
- Luați în considerare principiul serviciului, „mesagerie instantă“;
- Luați în considerare protocoalele de securitate „Instant Messaging“.
Istoria dezvoltării
Logo XMPP Fundația pentru Standarde
Principiul de funcționare al mesagerie instant
Comunicarea se realizează simultan între cei doi interlocutori, în același timp, alți utilizatori lista lor de contacte sau doar ceilalți participanți la rețea poate trimite un mesaj care va fi afișat în client de chat software-ul Windows.
În unele programe (de exemplu, Skype) a permis chat-ul multiplayer. Mod de a afișa alte elemente de interfață variază de la client, ci ca o regulă din listă în loc de numărul de contact poate fi afișat, sau numele atribuit celeilalte părți utilizator IM-client sau porecla pe care utilizatorul a indicat în înregistrarea sau modificarea datelor cu caracter personal.
La sfârșitul conversației, utilizatorul poate închide fereastra de chat activă, și în afara rețelei. Serverul schimbă automat starea în lista de contacte a altor participanți, dar continuă să primească mesaje text.
De obicei, mesagerii nu funcționează în mod independent și sunt conectate la o rețea de mesagerie computer central, numit un server. De aceea, mesageri și numit client (software client). Termenul este conceptul de tehnologie client-server.
O gamă largă de utilizatori cunoscuți unui număr de mesaje populare de rețea (și client), cum ar fi IRC. Skype. ooVoo. AIM. ICQ. MSN. Yahoo!. Jitsi. XMPP. Fiecare dintre aceste rețele pentru a dezvolta o echipa de dezvoltare separata, are servere individuale și protocoale, are propriile sale reguli și caracteristici. Între rețele diferite, de obicei, nu au o legătură directă (numai în gateway-ul XMPP există conceptul de transport), astfel, un utilizator Skype pe rețeaua nu poate comunica cu utilizatorii ICQ pe rețea, dar nu este nimic de oprire în același timp, să fie mai mult de un utilizator de rețea.
Cele mai multe IM-rețele utilizează protocoale proprietare, astfel încât clienții alternative ar putea avea, teoretic, mai puține funcții de bază decât oficial, cu toate că, în practică mai des invers. Cu toate acestea, dacă modificați protocolul pe serverul de rețea din partea clienților alternative pot opri brusc de lucru.
Protocolul Extensible Messaging și Protocolul Prezență (XMPP)
Spre deosebire de sistemele comerciale de mesagerie instant, cum ar fi AIM. ICQ, și Yahoo!. XMPP este un sistem descentralizat, scalabilă și deschisă. Oricine poate deschide serverul de mesagerie instantanee, înregistrați-l pe utilizatorii și să interacționeze cu alte servere XMPP. Bazat pe protocolul XMPP a deschis multe servere private si corporate XMPP. Printre acestea sunt proiecte destul de mari, cum ar fi Facebook. Google Talk. Odnoklassniki. QIP. LiveJournal, Juick și colab.
Descriere protocol
Schema dispozitivului XMPP
Familia protocolului XMPP adoptat ca RFC-ul standard de 3920. 3921.
Pentru acest protocolul implicit foloseste portul 5222, puteți utiliza, de asemenea, portul 80 și / sau 443, atunci când apar probleme de un firewall.
Beneficiile protocolului
- Descentralizare: Arhitectura retelei XMPP este similar cu e-mail. Puteți crea propria-the server de XMPP și nu există nici nici un server central specific [11].
- Standard deschis: Există mai multe implementări de servere și clienți, precum și biblioteci de software open source [11].
- Securitate: Serverele XMPP pot fi izolate din rețelele XMPP publice (cum ar fi rețeaua intranet a companiei) și bine protejate (prin utilizarea SASL și TLS) construit în specificațiile de bază XMPP. Pentru a sprijini utilizarea de criptare canal XMPP Standarde Foundation, de asemenea, utilizat în auxiliar xmpp.net autoritate de certificare, oferind certificate digitale pentru administratorii de server XMPP asistat autoritate de certificare StartCom (care este faza principală a certificatelor pentru toate auxiliare). Multe servere folosesc implementarea SSL în schimbul între client și server, și mulți clienți acceptă criptarea folosind PGP / GPG în interiorul protocolului [11].
- Flexibilitate: funcționalitate personalizată poate fi stratificat pe partea de sus a XMPP; pentru a sprijini interoperabilitatea diferite de expansiune standard de rețea acceptă XMPP Software Foundation. aplicarea XMPP, în plus față de rețele sociale funcționalități client includ administrarea rețelei, alocarea de resurse, instrumente de colaborare, partajarea de fișiere, jocuri de noroc, precum și sisteme de monitorizare la distanță. [11]
Puncte slabe de protocol
Protocolul Off-the-record de mesaje (OTR)
Off-the-record Mesaje (OTR) - un protocol de codificare, care oferă criptarea datelor, prin utilizarea de mesagerie instantanee. OTR folosește o combinație de taste AES pe 128 de biți, schimbul de chei Diffie-Hellman cu chei de 1536 de biți și SHA-1. În plus față de autentificare și criptare, OTR oferă o siguranță aruncîndu.
acord cheie
Pentru a trimite mesaje folosind un protocol de participanți OTR trebuie să stabilească o cheie secretă partajată. În acest scop, protocolul autentificat cheie de distribuție (Engl Authenticated Key Exchange.), Pe baza protocolului Diffie - Hellman [3].
La începutul protocolului, este selectat participanții A și B și un grup de un generator de număr prim. A alege un număr aleator și trimite rezultatul calculului B. B alege un număr aleatoriu și trimite rezultatul calculului. Apoi, participanții folosesc o cheie comună efemeră. în care: - criptografic SHA-1 [1] o funcție hash.
actualizare cheie
Pentru a asigura utilizatorilor perfecte înainte de secretizare să actualizeze în mod constant în timpul cheie de mesaje [1] [3]. Atunci când transmiterea unui prim mesaj dintr-o parte (de exemplu, partea A) criptează un mesaj utilizând o funcție cheie de criptare. alege un număr aleator și transmite perechea valoarea B. Pentru a cripta un mesaj utilizând următoarea cheie. În viitor, de fiecare dată când trimiteți mesaje Un număr de modificări. și B este numărul de modificări. iar cheia este actualizată.
În practică, mesajele nu ajung instantaneu, astfel încât după trimiterea mesajului de la A la B și cheia de reîmprospătare pe partea A, A poate obține în continuare mesajul de la B, criptat cu cheia veche. Un participant poate fi sigur că B-cheie reînnoită numai atunci când primește de la B mesajul criptat cu noua cheie. Deci, A deține un număr suficient de chei vechi pentru a putea descifra toate mesajele care încă nu au ajuns. Pentru toate cheile sunt actualizate suficient de frecvent, partea care nu are nici un mesaj pentru a trimite, din când în când trimite un mesaj de e-mail gol. [1]
autentificarea cu cheie
Autentificarea cheilor efemere, cu excepția. realizat împreună cu autentificarea mesajului [1]. chei pe termen lung utilizate pentru cheia de autentificare. În prima versiune a OTR nu este schema de autentificare complet sigure, care a fost modificată ulterior [3].
Versiunea originală a protocolului
În prima versiune a protocolului OTR pentru a autentifica părțile semnează un mesaje-cheie corespunzătoare [1]. De asemenea, în aceste mesaje sunt transmise fiecare mână alte chei publice ale acestora, așa cum se arată în schema de mai jos.
Aici - semnătura digitală, și - cheile publice ale părților A și B, respectiv.
Această versiune a protocolului este vulnerabil [2] [3]. partea E se poate executa simultan autentificarea cu laturile A și B, dă drept astfel o parte (de exemplu, B) pentru cealaltă parte (de exemplu, A), așa cum se arată mai jos.
protocoale mai sigure, cum ar fi SKEME. luate în considerare în implementarea primei versiuni a protocolului OTR, ci un protocol de proprietate [1] a fost efectuat în schimb.
A doua versiune a protocolului
SIGMA Protocol Option, numit SIGMA-R, funcționează după cum urmează: [2].
Aici, A și B - ID-uri, și - semnături digitale, și - cheile publice ale părților A și B, respectiv, și H - o funcție hash criptografice.
autentificarea mesajelor
Spre deosebire de sistemele, cum ar fi PGP, OTR nu utilizează semnături digitale pentru autentificarea mesajelor, deoarece acestea nu oferă o modalitate de a nega de autentificare. În schimb, un HMAC.
Pentru autentificarea mesajelor folosind cheia K, obținut prin cheie utilizată pentru a cripta mesajul hashing.
Când Partea A trimite mesajul M altă parte B, împreună cu mesajul pe care îl transmite calculat folosind o valoare HMAC cheie comună (M, K). Partea B, care primește mesajul poate calcula HMAC (M, K). În cazul în care coincide cu această valoare, partea B știe că mesajul a fost trimis de către o parte A, o parte B, dar B partea știe că acesta este mesajul nu este trimis, acesta poate fi sigur că mesajul a fost trimis de fapt de către Partea A . în același timp, utilizarea HMAC prevede negat, că, chiar și deschiderea cheii K, B nu poate dovedi o terță parte că mesajul a fost trimis la partid A. comunicare ar putea fi, de asemenea, modificat cu B-partid și orice parte care cunoaște cheia K.
criptarea mesajului
Folosit pentru algoritm de criptare AES mesaj în modul contor [2]. Folosind construit astfel, oferă o criptare cifru flux controversat (Engl. Criptare maleabilă). Acest lucru înseamnă că orice persoană care interceptează mesajul poate modifica selectiv orice biți în mesaj. În special, în cazul în care un mesaj a învățat, acesta poate fi schimbat la orice alt mesaj de aceeași lungime. [1]
criptare Controversate este necesară pentru criptare a negat, [2]. Datorită protocolului controversat participanții de criptare OTR poate argumenta că oricare dintre mesajele transmise au fost modificate de către o terță parte.
Prezentare generală a serviciilor de securitate, mesagerie instant
Open License Source
Descrierea tabelul de criterii
Tabelul de mai sus oferă o imagine de ansamblu asupra clienți de mesagerie instant care trimit mesaje criptate. Să luăm în considerare câteva criterii.
studiu de caz
aplicație descărcabilă care demonstrează activitatea socialist milionar Protocolul (SMP), care este utilizat în protocolul de off-the-record de mesaje (OTR), pentru a verifica autenticitatea partea opusă, cunoscând un secret partajat. Acest protocol vă permite să vă asigurați că participanții cunosc câteva informații generale (parola, răspunsul este cunoscut doar pentru a le), fără a dezvălui în mod direct.
Codul sursă al programului demo: Fișier: SMP.zip
fișiere executabile demo: Fișier: SMP (.exe) .zip