Det avhenger av definisjonen din av "kompromiss". Det viktigste er privatliv, som parcimonie og tor er løsninger for, som nevnt nedenfor.
Men la oss først se på dataintegritet.
Begrepet "ende-til-ende" sikkerhet er mest nyttig når det dekker den faktiske applikasjonen du har i tankene for dataene. Siden objektene flyttes rundt av OpenPGP HTTP Keyserver Protocol (HKP) er dekket av signaturer basert på offentlig nøkkelteknologi, kan de sjekkes av applikasjonen din (f.eks. Gpg) selv. Det vil avgjøre om signaturene er gyldige, om de gjelder andre nøkler og personer du stoler på osv. ( Oppdater: Så bare gpg (valgfritt) får sertifikatene fra nøkleserveren, det stoler ikke på at noen nøkleserver oppretter gyldigheten til nøklene. )
Anta for eksempel at du bruker gpg for å sjekke signaturer på e-post. Hvis gpg forteller deg at en gitt nøkkel ikke er kjent, henter du den fra en nøkleserver. Kanskje e-posten din forteller deg at nøkkelen er kjent, men ikke klarert, siden det ikke er en klarert bane (f.eks. Utnytte wotsap) fra de til slutt pålitelige nøklene til den som signerte e-posten ( som denne). Så du ser på signaturene, og finner nøkkelen til noen som er kjent med noen du kjenner, og som stoler på den gitte nøkkelen og laster ned den også. Hvis du ender opp med en vei du stoler på, er alt bra. Hvis noen mukker med nøklene mens du laster dem ned, får du enten ikke en klarert bane (på grunn av ødelagte eller uhjelpelige nøkler), eller (og dette vil være ganske uvanlig) får du en annen bane som kan eller kan fungerer ikke for deg. Poenget er imidlertid at du fortsatt må bruke gpg for å sjekke stiene, og evaluere "immaterielle eiendeler" i tillitsveien selv (hvor mye du stoler på folk og deres forståelse av signaturer osv.) . Men du må alltid gjøre det med PGP. Det er således "ende-til-ende" i den forstand at det er sikret hele veien fra personen som laget signaturen, til programvaren din som sjekker signaturen og dine konfigurerte tillitsrøtter, og er dermed ganske mye ideell. / p>
Sikkerheten ved transporten er ikke spesielt viktig, og bruk av TLS og tilhørende PKI og sertifikater vil legge til ekstra kompleksitet, kostnad og sprøhet i PGP-nøklerserverinfrastrukturen uten å forbedre dataintegriteten. Hvis noen rotet med transporten, kan de nekte deg service, eller gjøre noe sånt som et phishing-angrep, men du må nesten alltid takle slike problemer uansett.
Se f.eks. delen "Sikkerhetshensyn" i (utløpt, men antagelig fortsatt nyttig) Internett-utkast om emnet: draft-shaw-openpgp-hkp-00 - OpenPGP HTTP Keyserver Protocol (HKP)
Et mye mer viktig dataintegritetsproblem vil være risikoen for å bli matet med et nøye utformet "malware-sertifikat" som kan utnytte et bufferoverløpssårbarhet i gpg-klienten, eller noe sånt. Jeg har ikke hørt om noen slike utnyttelser i gpg, men de har skjedd for SSL: yaSSL Certificate Processing Buffer Overflow Sårbarhet - CNET. Dette utforskes mer på Hvilke risikoer er forbundet med å koble til en ikke-klarert server for offentlig nøkkel?
Oppdatering : En mer problematisk bekymring er personvern . Hvis du ikke vil at folk skal kunne se hvilke nøkler du søker etter, eller å rote med nøkkeloverføringene dine, vil bruk av TLS være et alternativ. Men det beskytter deg ikke mot serveren og vet hva du er interessert i.
@ teris-riel utvider personvernproblemet: Se for deg at noen sender deg en signert og deretter kryptert e-post. E-postklienten henter gjerne nøkkelen til signaturen. Evan ser på trafikken og ser nøkkelen fly forbi. Nå vet han 1) at du kan lese meldinger kryptert med nøkkelen han sendte til, 2) at du har lest den aktuelle meldingen, og 3) den omtrentlige tiden du leser den. Hvis denne typen bekreftelsesangrep bekymrer deg, bruk hkps og Tor for å hente nøkler, og ikke gjør det automatisk. parcimonie er et verktøy som fungerer for å løse dette problemet.
Og som en parcimonie-implementering i bash bemerker: gpg - -refresh-keys avslører hele listen over PGP-nøkler til nøkleserveren du bruker, så vel som den som hører på avlyttingen din hvis du bruker en ukryptert protokoll som HKP (som er standard for de fleste oppsett). Det er dårlig.
Så bruk noe som parcimonie.
Det er noen alternative protokoller, men å finne servere for de som inneholder nøklene du vil synes vanskelig:
Se også