New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Transport Layer Security - Wikipedia

Transport Layer Security

De la Wikipedia, enciclopedia liberă

Secure Sockets Layer (SSL) şi Transport Layer Security (TLS), succesorul său, sunt protocoale criptografice care permit comunicaţii sigure pe Internet. Există anumite diferenţe între SSL 3.0 şi TLS 1.0, dar protocolul rămâne aproximativ acelaşi. Termenul "SSL" folosit aici se poate referi la ambele protocoale, excepţie făcând cazurile specificate prin detalierea contextului.

Cuprins

[modifică] Descriere

SSL asigură autentificarea endpoint-urilor şi confidenţialitatea comunicaţiei prin Internet folosind criptografia. În utilizările uzuale, numai server-ul este autentificat (identitatea sa este certificată) în timp ce clientul rămâne neautentificat; autentificarea mutuală presupune existenţa unei mecanism de distribuţie a cheie publică (PKI) către clienţi. Protocolul permite aplicaţiilor client/server să comunice securizat pentru a împiedica eavesdropping, tampering şi message forgery.

SSL implică mai multe faze intermediare:

  • Verificarea mutuală de suportare a protocolului
  • Schimbarea cheilor prin intermediul criptării prin metoda cu chei publice şi autenficare pe baza de certificate
  • Trasmiterea de trafic criptat prin sistemul cheilor simetrice

În timpul primei faze a protocolului serverul şi clientul negocieză asupra algoritmului de criptare ce va fi folosit. Implementările curente permit următoarele posibilităţi:

  • criptografia bazată pe chei publice: RSA, Diffie-Hellman, DSA sau Fortezza;
  • pentru codări simetrice: RC2, RC4, IDEA, DES, Triple DES sau AES;
  • pentru funcţii de hash unidirecţional: MD5 sau SHA.

[modifică] Mecanismul de funcţionare

Protocolul SSL permite schimbul de înregistrări; fiecare înregistrare poate fi, în mod opţional, compresată, criptată şi împachetată cu un cod de autentificare al mesajului (engleză: message authentication code - MAC). Fiecare înregistrare are un câmp numit content_type care specifică care protocol superior este folosit.

Când conexiunea demarează, niveul înregistrare încapsulează un alt protocol, de tip handshake protocol, pentru care câmpul content_type are valoarea 22.

Clientul trimite şi primeşte mai multe structuri de handshake:

  • Trimte un mesaj ClientHello în care specifică lista de motode de criptare care sunt suportate, metodele de compresie şi cea mai actuală verisiune a procolului cunoscută. De asemenea transmite o secvenţă aleatoare de biţi care va fi folosită ulterior.
  • Primeşte mai apoi un ServerHello, în care sererul alege parametrii conexiunii din mulţimea de opţiuni oferită de client mai devreme.
  • Când parametrii conexiunii sunt cunoscuţi, clientul şi serverul schimbă certificatele (în funcţie de algoritmul de codare pentru chei publice ales). Aceste certificate sunt în prezent de tip X.509, dar exista de asemenea un document care specifică utilizarea certificatelor bazate pe OpenPGP.
  • Serverul poate solicita un cerificat clientului, astfel încât conexiunea să fie mutual autentificată.
  • Clientul şi serverul negociază un secret comuni numit "master secret", existând aici opţiunea folosirii rezultatului schimbului Diffie-Hellman, sau mai simplu prin criptarea secretului cu cheia privată şi decriptarea acesteia cu cheia privata a partenerului. Toate datele legate de chei sunt derivate din acest "master secret" (şi de valori generate aleator de către client sau de către server), care sunt schimbate atent prin funcţia atent proiectată de "Funcţii pseudoaleatore".

TLS/SSL au o varietate de măsuri de securitate:

  • Numeroarea tuturor înregistrărilor cu numere de secvenţă în MAC-uri.
  • Folosirea unui mecanism de sumarizare a mesajului extins prin folosirea unei chei (ca numai dacă se cunoaşte cheia să poţi verifica MAC. Acest lucru este specificat în RFC 2104).
  • Protecţie împotriva unor tipuri cunoscute de atacuri (incluzând atacuri de tip "man in the middle"), precum cele de tip forţare la folosirea a unor versiuni mai vechi (şi mai puţin sigure) ale protocolului, sau versiuni mai puţin sigure ale algoritmilor de codare.
  • Mesajul care încheie handshake ("Finished") care trimite un hash all tuturor datelor schimbate între cele două părţi.
  • Funcţiile pseudoaleatore împart datele în două jumătăţi şi le procesează cu doi algortmi diferiţi de hash (MD5 şi SHA), şi apoi face un XOR între ele. În acest fel se potejează şi în cazul în care pentru unul dintre aceste două algortmuri se găseşte o vulnerabilite.

[modifică] Aplicaţii

SSL runs on layers beneath application protocols such as HTTP, SMTP and NNTP and above the TCP or UDP transport protocol, which form part of the TCP/IP protocol suite. While it can add security to any protocol that uses reliable connections (such as TCP), it is most commonly used with HTTP to form HTTPS. HTTPS is used to secure World Wide Web pages for applications such as electronic commerce. It uses public key certificates to verify the identity of endpoints.

While an increasing number of client and server products can support SSL natively, many still do not. In these cases, a user may wish to use standalone SSL products like Stunnel to provide encryption. However, the Internet Engineering Task Force recommended in 1997 that application protocols offer a way to upgrade to TLS from a plaintext connection, rather than use a separate port for encrypted communications - this prevents use of wrappers such as Stunnel.

SSL poate fi folosit de asemenea pentru tunelare creând astfel o nouă retea privată (VPN, precum [OpenVPN].

[modifică] Istoria şi dezvoltarea

Dezvoltat de către Netscape, versiunea SSL 3.0 a fost lansată în 1996, care mai apoi a devenit baza dezvoltării versinii 1.0 a TLS, un protocol standard IETF definit pentru prima dată în RFC 2246. Visa, MasterCard, American Express şi alte câteva insitituţii financiare au susţinut utilizarea SSL pentru comerţul prin Internet.

SSL este conceput modular: autorii săi l-au proiectat pentru a fi extins şi pentru a suporta compatibilitatea înainte şi înapoi, precum şi cu negociere între enpoint-urile aflate în conversaţie.

[modifică] Chei slabe mai vechi

Câteva implementări iniţiale ale SSL putea folosi o cheie cu o lungime maximă a cheiei simetice de 40 de biţi datorată restricţiei guvernului american de export a tehnologiei criptografice. Guvernul america a impus în mod explicit o cheie maxima de 40 de biţi care putea fi spartă prin brute-force de către agenţiile care impunere a legilor care doreau să intercepteze traficul criptat şi care totuşi împiedicau atacatorii cu motive mai puţin întemeiate. O limitare asemanătoare a fost impusă şi pentru Lotus Notes în versiunile pentru export. După ani de controverse publice, o serie de procese şi evemntuala recunoaştere a guvernului pentru cererea pieţei de produse criptografice mai performante produse în afara Statelor Unite, autorităţile americane au relaxat legislaţia pentru restricţiile de export. Limitarea lungimii cheii la 40 de biţi a dispărut în acest fel. Impementările moderne folosesc o lungime a cheii de 128 de biţi (sau chiar mai mare de atât) pentru algoritmurile de criptare cu chei simetrice.

[modifică] Utilizări incorecte

Anumite pagini web au fost criticate pentru folosirea incorectă a SSL şi prin urmare a tuturor beneficiilor care decurg din comunicaţiile securizate[1]. Astfel de utilizări increcte inlcud:

  • Securizarea numai a paginilor care presupun completarea de formulare, dar nesecurizarea paginii de autentificare a utilizatorilor[2]
  • Afişarea de pagini securizate împreună cu conţinut nesecurizat [3]

Aceste scăpări se regăsesc în multe pagini cu carater comercial, precum ce a Bank of America şi Washington Mutual [4].

[modifică] Standarde

Prima definire a TLS-ului a apărut în RFC 2246: "The TLS Protocol Version 1.0". Versiunea apobată în mod curent este 1.1, care este specificată de RFC 4346: "The Transport Layer Security (TLS) Protocol Version 1.1".

Alte RFC suplimenare care extind TLS-ul sunt:

  • RFC 2712: "Addition of Kerberos Cipher Suites to Transport Layer Security (TLS)". The 40-bit ciphersuites defined in this memo appear only for the purpose of documenting the fact that those ciphersuite codes have already been assigned.
  • RFC 2817: "Upgrading to TLS Within HTTP/1.1", explains how to use the Upgrade mechanism in HTTP/1.1 to initiate Transport Layer Security (TLS) over an existing TCP connection. This allows unsecured and secured HTTP traffic to share the same well known port (in this case, http: at 80 rather than https: at 443).
  • RFC 2818: "HTTP Over TLS", distinguishes secured traffic from insecure traffic by the use of a different 'server port'.
  • RFC 3268: "AES Ciphersuites for TLS". Adds Advanced Encryption Standard (AES) ciphersuites to the previously existing symmetric ciphers.
  • RFC 3546: "Transport Layer Security (TLS) Extensions", adds a mechanism for negotiating protocol extensions during session initialisation and defines some extensions.
  • RFC 4279: "Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)", adds three sets of new ciphersuites for the TLS protocol to support authentication based on pre-shared keys.
  • RFC 4347: "Datagram Transport Layer Security" specifies a TLS variant that works over datagram protocols (such as UDP).
  • RFC 4366: "Transport Layer Security (TLS) Extensions" describes both a set of specific extensions, and a generic extension mechanism.

[modifică] Implementări

Programatorii pot folosi librăriile OpenSSL, NSS sau GnuTLS pentru funcţionalităţile SSL / TLS. Programatorii care utilizează Delphi pot folosi o librărie numită Indy, care are metode de conectare a componentelor cu o întrerupere SSL folosind librăriile OpenSSL. Acest lucru permite dezvoltarea de aplicaţi folosind. Protocoalele suportate sunt SSLv2 SSLv3 şi TLS v1.

[modifică] TLS 1.1

După cum s-a spus si mai înainte, TLS 1.1 este versiunea curenta aprobată a protocolului TLS. TLS 1.1 clarifică anumite ambiguităţi şi adaugă un număr de recomandări. TLS 1.1 este foarte similar cu TLS 1.0. Motivul principal pentru care s-a moficat numărul care descrie versiunea de protocol este modificarea formatului pentru pentru secretul pre-master RSA , care face parte din mesajul de schimbare a cheii clientului (dacă se foloseşte RSA), pentru a se folosi PKCS#1 v 2.1, spre deosebire de PKCS#1 v 1.5 din TLS 1.0. Acest lucru s-a făcut pentru a fi protejate contra atacului descoperit de Daniel Bleichenbacher care se poate lansa asupra serverelor TLS 1.0, care folosesc PKCS#1 v 1.5, care pot să ajungă nefuncţionale dacă formatul decriptat este corect sau nu. Include de asemenea şi recomandări pentru a evita atacuri de sincronizare de la depărtare. O listă completă a diferenţelor dintre TLS 1.0 şi TLS 1.1 se găseşte în RFC 4346 (Secţiunea 1.1).

TLS 1.1 este suportat în momentul de faţă de Opera şi GnuTLS.

[modifică] Vezi de asemenea

  • SSL acceleration
  • OpenSSL: a free (and very popular) implementation.
  • GnuTLS: a free implementation whose licensing is compatible with the GPL.
  • JSSE: a Java implementation included in the Java Runtime Environment
  • Network Security Services (NSS): FIPS 140 validated open source library
  • Datagram Transport Layer Security
  • VeriSign
  • Comodo
  • Thawte
  • X.509

[modifică] Legături externe

[modifică] Referinţe

  • David Wagner and Bruce Schneier, Analysis of the SSL 3.0 Protocol, The Second USENIX Workshop on Electronic Commerce Proceedings, USENIX Press, November 1996, pp29–40.

Format:FOLDOC

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu