TeknologjiSiguriWeb

Siguria e Shtresës së Transportit

Siguria e Shtresës së Transportit (TLS) është një protokoll kriptografik i projektuar për të ofruar komunikime të sigurta përmes një rrjeti kompjuterik, siç është interneti.

O

Oltion Elezi

·7 min lexim

1 shikime
Siguria e Shtresës së Transportit

Siguria e Shtresës së Transportit (TLS) është një protokoll kriptografik i projektuar për të ofruar komunikime të sigurta përmes një rrjeti kompjuterik, siç është interneti. Protokolli përdoret gjerësisht në aplikacione të tilla si emaili, mesazhet e menjëhershme dhe zëri përmes IP-së, por përdorimi i tij në sigurimin e HTTPS mbetet më i dukshmi publikisht.

Protokolli TLS synon kryesisht të ofrojë siguri, duke përfshirë privatësinë (konfidencialitetin), integritetin dhe autenticitetin përmes përdorimit të kriptografisë, siç është përdorimi i certifikatave, midis dy ose më shumë aplikacioneve kompjuterike që komunikojnë. Ai funksionon në shtresën e prezantimit dhe vetë përbëhet nga dy shtresa: regjistrimi TLS dhe protokollet e shtrëngimit të dorës TLS.

Siguria e Shtresës së Transportit të Datagramit (DTLS) e lidhur ngushtë me të është një protokoll komunikimi që ofron siguri për aplikacionet e bazuara në datagrame. Në shkrimin teknik, referencat për "(D)TLS" shihen shpesh kur zbatohet për të dy versionet.

TLS është një standard i propozuar i Task Forcës për Inxhinierinë e Internetit (IETF), i përcaktuar për herë të parë në vitin 1999, dhe versioni aktual është TLS 1.3, i përcaktuar në gusht 2018. TLS ndërtohet mbi specifikimet SSL (Secure Sockets Layer) tani të vjetruara (1994, 1995, 1996) të zhvilluara nga Netscape Communications për shtimin e protokollit HTTPS në shfletuesin e tyre të internetit Netscape Navigator.

Përshkrimi

Aplikacionet klient-server përdorin protokollin TLS për të komunikuar nëpër një rrjet në një mënyrë të projektuar për të parandaluar përgjimin dhe ndërhyrjen.

Meqenëse aplikacionet mund të komunikojnë me ose pa TLS (ose SSL), është e nevojshme që klienti të kërkojë që serveri të konfigurojë një lidhje TLS. Një nga mënyrat kryesore për ta arritur këtë është përdorimi i një numri porti të ndryshëm për lidhjet TLS. Porta 80 përdoret zakonisht për trafikun HTTP të pakriptuar, ndërsa porta 443 është porta e zakonshme e përdorur për trafikun HTTPS të koduar. Një mekanizëm tjetër është të bësh një kërkesë STARTTLS specifike për protokollin te serveri për të kaluar lidhjen në TLS - për shembull, kur përdoren disa protokolle poste dhe lajmesh.

Pasi klienti dhe serveri të kenë rënë dakord të përdorin TLS, ata negociojnë një lidhje me gjendje duke përdorur një procedurë handshaking (shih § TLS handshake). Protokollet përdorin një handshake me një shifër asimetrike për të vendosur jo vetëm cilësimet e shifrës, por edhe një çelës të përbashkët specifik për sesionin me të cilin komunikimi i mëtejshëm është i koduar duke përdorur një shifër simetrike. Gjatë kësaj handshake, klienti dhe serveri bien dakord për parametra të ndryshëm të përdorur për të vendosur sigurinë e lidhjes:

Shtrëngimi i dorës fillon kur një klient lidhet me një server të aktivizuar nga TLS duke kërkuar një lidhje të sigurt dhe klienti paraqet një listë të grupeve të shifrave të mbështetura (shifrat dhe funksionet hash).

Nga kjo listë, serveri zgjedh një funksion shifrimi dhe hash që e mbështet gjithashtu dhe njofton klientin për vendimin.

Serveri zakonisht ofron identifikim në formën e një certifikate dixhitale. Certifikata përmban emrin e serverit, autoritetin e besuar të certifikimit (CA) që garanton vërtetësinë e certifikatës dhe çelësin publik të enkriptimit të serverit.

Klienti konfirmon vlefshmërinë e certifikatës përpara se të vazhdojë.

Për të gjeneruar çelësat e sesionit të përdorur për lidhjen e sigurt, klienti ose:

Enkripton një numër të rastësishëm (PreMasterSecret) me çelësin publik të serverit dhe dërgon rezultatin në server (të cilin vetëm serveri duhet të jetë në gjendje ta dekriptojë me çelësin e tij privat); të dyja palët më pas përdorin numrin e rastësishëm për të gjeneruar një çelës unik sesioni për enkriptimin dhe dekriptimin pasues të të dhënave gjatë sesionit, ose

përdor shkëmbimin e çelësave Diffie-Hellman (ose variantin e tij DH me kurbë eliptike) për të gjeneruar në mënyrë të sigurt një çelës sesioni të rastësishëm dhe unik për enkriptim dhe dekriptim që ka veçorinë shtesë të sekretit të përparshëm: nëse çelësi privat i serverit zbulohet në të ardhmen, ai nuk mund të përdoret për të dekriptuar sesionin aktual, edhe nëse sesioni përgjohet dhe regjistrohet nga një palë e tretë.

Kjo përfundon lidhjen e sigurt dhe fillon lidhjen e siguruar, e cila është e enkriptuar dhe e deshifruar me çelësin e sesionit derisa lidhja të mbyllet. Nëse ndonjë nga hapat e mësipërm dështon, atëherë edhe lidhjet e TLS dështojnë dhe lidhja nuk krijohet.

Versionet më të vjetra të TLS dhe SSL lejonin krijimin e seancave nëpërmjet një PreMasterSecret duke përdorur çelësin publik dhe privat të serverit. Këto algoritme u eliminuan në TLS1.3 kur ai urdhëroi sekretin e mëtejshëm.

TLS dhe SSL nuk përshtaten mirë në asnjë shtresë të vetme të modelit OSI ose modelit TCP/IP. TLS funksionon "mbi një protokoll transporti të besueshëm (p.sh., TCP)", që do të nënkuptonte se është mbi shtresën e transportit. Ai i shërben enkriptimit shtresave më të larta, që normalisht është funksioni i shtresës së prezantimit. Megjithatë, aplikacionet në përgjithësi përdorin TLS sikur të ishte një shtresë transporti, edhe pse aplikacionet që përdorin TLS duhet të kontrollojnë në mënyrë aktive inicimin e shtrëngimeve të dorës TLS dhe trajtimin e certifikatave të shkëmbyera të vërtetimit.

Kur sigurohen nga TLS, lidhjet midis një klienti (p.sh., një shfletuesi uebi) dhe një serveri (p.sh., wikipedia.org) do të kenë të gjitha vetitë e mëposhtme:

Lidhja është private (ose ka konfidencialitet) sepse përdoret një algoritëm me çelës simetrik për të enkriptuar të dhënat e transmetuara. Çelësat për këtë enkriptim simetrik gjenerohen në mënyrë unike për secilën lidhje dhe bazohen në një sekret të përbashkët që është negociuar në fillim të seancës. Serveri dhe klienti negociojnë detajet se cilin algoritëm enkriptimi dhe çelësat kriptografikë do të përdorin përpara se të transmetohet bajti i parë i të dhënave (shih më poshtë). Negocimi i një sekreti të përbashkët është si i sigurt (sekreti i negociuar nuk është i disponueshëm për përgjuesit dhe nuk mund të merret, madje as nga një sulmues që e vendos veten në mes të lidhjes) ashtu edhe i besueshëm (asnjë sulmues nuk mund të modifikojë komunikimet gjatë negociatave pa u zbuluar).

Identiteti i palëve që komunikojnë mund të autentifikohet duke përdorur kriptografinë me çelës publik. Ky autentifikim është i detyrueshëm për serverin dhe opsional për klientin.

Lidhja është e besueshme (ose ka integritet) sepse çdo mesazh i transmetuar përfshin një kontroll të integritetit të mesazhit duke përdorur një kod vërtetimi të mesazhit për të parandaluar humbjen ose ndryshimin e pazbuluar të të dhënave gjatë transmetimit.

TLS mbështet shumë metoda të ndryshme për shkëmbimin e çelësave, enkriptimin e të dhënave dhe vërtetimin e integritetit të mesazhit. Si rezultat, konfigurimi i sigurt i TLS përfshin shumë parametra të konfigurueshëm dhe jo të gjitha zgjedhjet ofrojnë të gjitha vetitë e lidhura me privatësinë të përshkruara në listën e mësipërme (shih tabelat më poshtë § Shkëmbimi i çelësave, § Siguria e shifrës dhe § Integriteti i të dhënave).

Janë bërë përpjekje për të përmbysur aspekte të sigurisë së komunikimeve që TLS kërkon të ofrojë, dhe protokolli është rishikuar disa herë për të adresuar këto kërcënime sigurie. Zhvilluesit e shfletuesve të internetit i kanë rishikuar vazhdimisht produktet e tyre për t'u mbrojtur nga dobësitë e mundshme të sigurisë pasi këto janë zbuluar (shih historikun e mbështetjes TLS/SSL të shfletuesve të internetit).

Siguria e Shtresës së Transportit të Datagramit

Siguria e Shtresës së Transportit të Datagramit, shkurt DTLS, është një protokoll komunikimi i lidhur që ofron siguri për aplikacionet e bazuara në datagram duke i lejuar ato të komunikojnë në një mënyrë të projektuar për të parandaluar përgjimin, ndërhyrjen ose falsifikimin e mesazheve. Protokolli DTLS bazohet në protokollin e Sigurisë së Shtresës së Transportit (TLS) të orientuar drejt rrjedhës dhe ka për qëllim të ofrojë garanci të ngjashme sigurie. Megjithatë, ndryshe nga TLS, ai mund të përdoret me shumicën e protokolleve të orientuara drejt datagramit, duke përfshirë Protokollin e Datagramit të Përdoruesit (UDP), Protokollin e Kontrollit të Kongjestionit të Datagramit (DCCP), Kontrollin dhe Sigurimin e Pikave të Qasjes Pa Tel (CAPWAP), Enkapsulimin e Protokollit të Transmetimit të Kontrollit të Rrjedhës (SCTP) dhe Protokollin e Transportit të Sigurt në Kohë Reale (SRTP).


Lexoni më tej

Kriptografia me çelës publik

Kriptografia me çelës publik, ose kriptografia asimetrike, është fusha e sistemeve kriptografike që përdorin çifte çelësash të lidhur. Çdo çift çelësash përbëhet nga një çelës publik dhe një çelës privat përkatës.

Enkriptimi

Në kriptografi, enkriptimi është procesi i transformimit të informacionit në një mënyrë që, idealisht, vetëm palët e autorizuara mund ta deshifrojnë.

AI nuk do t'ju zëvendësojë. Kolegu që e përdor, po.

Pesë detyra që mund t'ia jepni AI-së që nesër, si ta pyesni që të merrni diçka të dobishme, ku gabon dhe çfarë nuk duhet ngjitur kurrë në chat.

O

Shkruar nga

Oltion Elezi

Founder & CEO of Elei Soft