Puncte:2

De ce folosesc oamenii protocoale precum PGP, când TLS există deja?

drapel bv

TLS este protocolul standard de criptare pe internet și multe site-uri web îl folosesc pentru a-și securiza comunicațiile. Cu toate acestea, pentru uz personal, majoritatea oamenilor folosesc alte protocoale precum PGP, în loc să folosească chei/certificate TLS.

Nu pare să existe niciun motiv pentru a nu folosi TLS pentru aceste lucruri, sau cel puțin partea de criptare/semnare. Partea de transport a TLS nu este întotdeauna necesară, deoarece oamenii au nevoi diferite.

Deci, de ce folosesc oamenii PGP (și alte protocoale/instrumente precum age/signify) în loc să utilizeze direct cheile TLS? Există vreun motiv tehnic pentru care nu fac asta?

kelalaka avatar
drapel in
Din infosec; [Ce beneficii în lumea reală are PGP față de trimiterea de e-mailuri cu SSL/TLS, cum ar fi HTTPS?](https://security.stackexchange.com/q/74728/86735) O mulțime de detalii sunt și în comentarii.
Agniva Chaudhuri avatar
drapel bv
@kelalaka Pagina aia nu o rezolvă.Întreb despre criptarea end-to-end cu chei TLS folosind protocolul TLS acolo unde este cazul, nu un sistem în care o parte din afara poate vedea în continuare comunicațiile în text clar. De asemenea, o mulțime de lucruri menționate în acea pagină implică extensii ale protocolului TLS/implementări specifice; de exemplu, nu văd de ce cineva nu poate dezactiva pur și simplu revenirea la SSL dacă TLS nu este acceptat.
dave_thompson_085 avatar
drapel cn
O bună parte din utilizarea PGP (în special GPG) și, probabil, toată semnificația, este pentru **distribuția de software**, pe care nu o numesc personal. Serverele TLS suficiente pentru a furniza descărcări de gigabyte pentru multe milioane sau miliarde de utilizatori pot fi permise doar de monopolurile gigantice, dar alți autori doresc să folosească și să partajeze o mulțime de servere diferite (oglinzi) pentru a oferi descărcări paralele distribuite ieftin și eficient, în timp ce utilizatorii doresc să știu că descărcarea lor nu a fost modificată de o oglindă. TLS nu poate face asta. Plus că unele sisteme nu au deloc acces la rețea și au nevoie de date pe discuri; din nou fără TLS.
dave_thompson_085 avatar
drapel cn
Pentru a clarifica, nu puteți face TLS fără „partea de transport”; TLS este un protocol interactiv și nu poate funcționa fără comunicare în timp real, bidirecțională.
Agniva Chaudhuri avatar
drapel bv
@dave_thompson_085 este posibil să scoți partea de criptare/semnare și să o folosești ca PGP?
Swashbuckler avatar
drapel mc
TLS este conceput pentru două părți care comunică activ între ele. PGP este conceput pentru ca o parte să cripteze datele și apoi alte părți să decripteze acele date într-un moment necunoscut în viitor. Probleme diferite care nu sunt surprinzător care au ca rezultat soluții diferite.
Maarten Bodewes avatar
drapel in
De fapt, puteți utiliza PGP și pentru criptarea locală sau criptați pentru mai multe părți în același timp. Depinde și de un alt PKI (pentru care există unele probleme, dar PKIX are cu siguranță propriile probleme).
Agniva Chaudhuri avatar
drapel bv
De fapt, acum că mă gândesc la asta, are sens ca TLS să nu fie folosit pentru asta. TLS implică combinarea cheii publice a uneia dintre părți și a celeilalte chei private pentru ambele părți, lucru care nu ar trebui să fie făcut pentru utilizarea PGP-esque.
Puncte:6
drapel fr

Acestea sunt protocoale diferite și servesc unor scopuri diferite.

TLS este un protocol online între două părți diferite. Este conceput pentru a asigura securitatea unei conexiuni între două puncte finale ale unei conexiuni. Conexiunea este efemeră și ambele părți trebuie să fie online în același moment cu o lățime de bandă suficientă.

OpenPGP este un protocol offline. Poate fi folosit pentru a cripta datele între două părți care nu pot fi niciodată online în același timp. Mai frecvent, este folosit pentru a semna date pentru distribuția de software (sau alte utilizări) de către o parte, care sunt apoi primite de alte părți și verificate ulterior.

Dacă doriți să utilizați cheile și certificatele X.509 care sunt utilizate pentru TLS, puteți utiliza CMS, care este și un protocol offline. Este substanțial mai puțin popular în comunitatea open source, deoarece, de obicei, certificatele necesare au un interval de timp mai scurt și costă adesea bani, ceea ce duce la scăderea adoptării.

În multe cazuri, răspunsul este că ambele sunt o idee bună. În general, ar trebui să deserviți toate conexiunile HTTP prin TLS în zilele noastre, iar dacă distribuiți software, probabil că veți dori să utilizați un fel de semnătură digitală pentru a verifica integritatea acestuia. TLS este important pentru a preveni dezvăluirea datelor care sunt transferate în cazul în care acestea sunt sensibile (din motive legale sau altfel) și o semnătură digitală (de exemplu, prin OpenPGP) înseamnă că un atacator care poate compromite stocarea serverului la distanță nu poate distribui software-ul modificat. , cu condiția ca cheia să fie stocată în altă parte.

dave_thompson_085 avatar
drapel cn
CMS/PKCS7 este folosit pentru semnarea codului în Microsoft, Apple și Java (ultimele sunt mai rar necesare acum că applet-urile și „implementarea” au fost abandonate). De asemenea, pentru PDF-uri (care pot fi un fel de cod, dar de obicei nu). Și, desigur, S/MIME (CMS încorporat în MIME) este folosit pentru e-mailul securizat, în special de către Microsoft (Outlook/Exchange). Nu știu dacă acestea sunt considerate „ca PGP”.
bk2204 avatar
drapel fr
Am editat pentru a reflecta că situația este că ambele sunt protocoale offline.
Maarten Bodewes avatar
drapel in
Cred că ați încercat să ajungeți la partea cu mai mulți receptori din a treia secțiune a răspunsului dvs., dar apoi ați renunțat la ea din nou când ați scris „primit de o altă parte”. Aceste semnături pot fi validate de orice parte, în timp ce TLS este strict end-to-end, adică 1:1 în loc de 1:N. Cred că asta este o diferență importantă. În mod similar, puteți cripta pentru mai mulți destinatari.
Puncte:0
drapel in

bk2204 a dat un răspuns corect detaliat explicând că sunt protocoale diferite pentru scopuri diferite. TLS fiind online și PGP/GPG offline.

Cu toate acestea, aș susține că în multe cazuri TLS face de fapt PGP redundant. PGP a fost conceput inițial pentru a securiza e-mailul, dar este rar folosit pentru asta și este văzut în primul rând astăzi pentru a verifica autenticitatea și integritatea software-ului.

Motivul pentru care PGP nu este foarte eficient este că majoritatea utilizatorilor nu stabilesc o rețea de încredere. Nu mergem la părțile care semnează cheile și nu verificăm cheile folosite pentru a verifica cheile utilizate pentru verificarea software-ului. Majoritatea utilizatorilor obțin cheile PGP în care au încredere pentru software-ul de semnare prin descărcarea cheii de pe un site web de încredere. Acest lucru în sine este securizat cu TLS și autentificat folosind un CA de încredere.

Când distribuiți software ad-hoc, PGP nu oferă în esență nicio securitate dacă tocmai ați descărcat cheia de pe același site web. Site-urile Web Dome publică pur și simplu hash al fișierelor. Deci, puteți verifica chiar dacă este servit separat. Ai încredere în hash pentru că ai încredere în TLS, nu în

Cu managerii de pachete, PGP pe deasupra TLS oferă o oarecare siguranță pe măsură ce ne amintim cheile. Utilizatorii adaugă software cu o cheie existentă mai des decât adaugă o cheie nouă. Chiar dacă cheile au fost de fapt primite prin TLS.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.