Ret godt privatliv | |
---|---|
Type | krypteringssoftware og kommerciel software |
Forfatter | Philipp Zimmermann |
Udvikler | Philipp Zimmermann |
Skrevet i | Flersproget |
Operativ system | Linux , macOS , Windows |
Første udgave | 1991 |
nyeste version | |
Læsbare filformater | Pretty Good Privacy (PGP) Privat/Hemmelig nøglering [d] , PGP klartekst signeret besked [d] , PGP offentlig nøgleblok [d] , PGP privat nøgleblok [d] , PGP ASCII-Armor [d] , PGP Diskbillede [d] , Pretty Good Privacy (PGP) offentlig nøglering [d] og PGP-signatur [d] |
Genererede filformater | PGP-besked [d] , Pretty Good Privacy (PGP) Privat/Hemmelig nøglering [d] , PGP klartekst signeret besked [d] , PGP offentlig nøgleblok [d] , PGP privat nøgleblok [d] , PGP ASCII-Armor [ d] , PGP-diskbillede [d] , Pretty Good Privacy (PGP) Offentlig nøglering [d] og PGP-signatur [d] |
Internet side | openpgp.org |
PGP ( engelsk Pretty Good Privacy ) er et computerprogram , også et bibliotek af funktioner, der giver dig mulighed for at udføre kryptering og digital signering af meddelelser, filer og anden information præsenteret i elektronisk form, herunder transparent datakryptering på lagerenheder, såsom en hård køre.
Oprindeligt designet af Philipp Zimmermann i 1991 .
PGP har mange implementeringer, der er kompatible med hinanden og en række andre programmer ( GnuPG , FileCrypt, etc.) takket være OpenPGP-standarden ( RFC 4880 ), men med et andet sæt funktionalitet. Der er implementeringer af PGP til alle de mest almindelige operativsystemer . Ud over frit distribuerede implementeringer er der også kommercielle.
Efterhånden som PGP udvikler sig, tillader nogle systemer oprettelsen af krypterede meddelelser ved hjælp af nye funktioner, der ikke er tilgængelige på ældre systemer. Afsender og modtager skal være opmærksomme på hinandens muligheder eller i det mindste blive enige om PGP-indstillinger.
I 1996 beskrev kryptograf Bruce Schneier en tidlig version af PGP som "det tætteste på kryptosystemer af militær kvalitet". I øjeblikket er der ikke et eneste tilfælde af hacking af PGP-krypterede data ved brug af brute force eller sårbarheden af den kryptografiske algoritme.
Den kryptografiske styrke af PGP er baseret på antagelsen om, at de anvendte algoritmer er resistente over for kryptoanalyse på moderne hardware. For eksempel, i de første versioner af PGP, blev RSA-algoritmen , baseret på en envejsfunktion (faktorisering), brugt til at kryptere sessionsnøgler. I PGP version 2 kan du desuden bruge IDEA- algoritmen . Efterfølgende blev yderligere krypteringsalgoritmer tilføjet. Ingen af de anvendte algoritmer har kendte sårbarheder.
I 2010 lykkedes det for en gruppe videnskabsmænd fra Schweiz, Japan, Frankrig, Holland, Tyskland og USA at faktorisere en 768-bit, 232-cifret RSA - nøgle. At finde primfaktorer blev udført ved den generelle metode af talfeltsigten [6] . Det første trin (valg af et par polynomier af grad 6 og 1) tog omkring et halvt års beregninger på 80 processorer, hvilket var omkring 3 % af tiden brugt på hovedstadiet af algoritmen (sigtning), som blev udført på hundredvis af computere i næsten to år. Hvis vi interpolerer denne gang for driften af en enkelt 2,2 GHz AMD Opteron-processor med 2 GB RAM, så ville det være omkring 1500 år. Behandling af data efter sigtning til det næste ressourcekrævende trin (lineær algebra) tog flere uger på et lille antal processorer. Det sidste trin efter at have fundet ikke-trivielle OSLU-løsninger tog ikke mere end 12 timer.
OSLU-løsningen blev udført ved hjælp af Wiedemann-metoden på flere separate klynger og varede lidt mindre end 4 måneder. Størrelsen af den sparsomme matrix var 192.796.550×192.795.550 med 27.795.115.920 ikke-nul elementer. Det tog omkring 105 gigabyte at gemme matrixen på harddisken. Samtidig tog det omkring 5 terabyte komprimerede data at bygge denne matrix.
Til sidst var gruppen i stand til at beregne begge primfaktorer, som hver er et 384-bit, 116-cifret tal.
Forskerne er sikre på, at det vil være muligt at knække en 1024-bit RSA-nøgle ved at bruge deres faktoriseringsmetode inden for det næste årti.
Ifølge forskerne kan kun RSA-nøgler med en længde på 1024 bit eller mere efter deres arbejde betragtes som et pålideligt krypteringssystem. Desuden bør kryptering med en nøgle på 1024 bit opgives i løbet af de næste tre til fire år. [7] .
Ved at kende udvidelsen af modulet til produktet af to primtal, kan modstanderen nemt finde den hemmelige eksponent og dermed bryde RSA. Til dato tillader den hurtigste faktoriseringsalgoritme, General Number Field Sieve-sigten, hvis hastighed for et k-bit heltal for nogle er , ikke nedbrydning af et stort heltal på en acceptabel tid.
PGP- kryptering udføres sekventielt ved hashing, datakomprimering, symmetrisk nøglekryptering og endelig offentlig nøglekryptering, hvor hvert trin udføres af en af flere understøttede algoritmer. Symmetrisk kryptering udføres ved hjælp af en af syv symmetriske algoritmer ( AES , CAST5 , 3DES , IDEA , Twofish , Blowfish , Camellia ) på en sessionsnøgle. Sessionsnøglen genereres ved hjælp af en kryptografisk stærk pseudo-tilfældig talgenerator . Sessionsnøglen er krypteret med modtagerens offentlige nøgle ved hjælp af RSA- eller Elgamal-algoritmerne (afhængigt af typen af modtagerens nøgle). Hver offentlig nøgle svarer til et brugernavn eller en e-mailadresse. Den første version af systemet blev kaldt Web of Trust og var imod X.509 -systemet , som brugte en hierarkisk CA-baseret tilgang tilføjet til PGP senere . Moderne versioner af PGP inkluderer begge dele.
PGP-brugeren opretter et nøglepar: offentlig og privat nøgle . Ved generering af nøgler angives deres ejer (navn og e-mailadresse ), nøgletype, nøglelængde og dens gyldighedsperiode. Den offentlige nøgle bruges til at kryptere og verificere den digitale signatur . Privat nøgle - til afkodning og oprettelse af en digital signatur.
PGP understøtter tre typer nøgler: RSA v4, RSA legacy (v3) og Diffie-Hellman/DSS ( Elgamal i GnuPG - terminologi ).
For RSA legacy nøgler kan nøglelængden være fra 1024 til 2048 bit, og for Diffie-Hellman/DSS og RSA nøgler fra 1024 til 4096. RSA legacy nøgler indeholder ét nøglepar, mens Diffie-Hellman/DSS og RSA nøgler kan indeholde en hovednøgle og yderligere nøgler til kryptering. Samtidig har den elektroniske signaturnøgle i Diffie-Hellman/DSS nøgler altid en størrelse på 1024. Gyldighedsperioden for hver type nøgle kan defineres som ubegrænset eller indtil en bestemt dato. En hemmelig sætning bruges til at beskytte nøglebeholderen.
PGP understøtter autentificering og integritetstjek gennem en digital signatur . Som standard bruges det i forbindelse med kryptering, men kan også anvendes på almindelig tekst. Afsenderen bruger PGP til at generere RSA- eller DSA- signaturen . Dette opretter først en hash af almindelig tekst (også kendt som en digest), og signerer derefter hashen digitalt ved hjælp af afsenderens private nøgle . Algoritmerne MD5 , SHA-1 , RIPEMD-160 , SHA-256 , SHA-384 , SHA-512 kan bruges til at danne en hash . Nyere versioner af PGP understøtter MD5 for at opretholde kompatibilitet med tidligere versioner. RSA- eller DSA-algoritmer bruges til signering (afhængigt af nøgletypen).
For at reducere størrelsen af meddelelser og filer og muligvis gøre krypteringsanalyse vanskeligere, komprimerer PGP dataene før kryptering. Komprimering udføres i henhold til en af algoritmerne ZIP , ZLIB , BZIP2 . Komprimerede, korte og svagt komprimerbare filer komprimeres ikke.
Både ved kryptering af beskeder og ved verificering af en digital signatur er det nødvendigt, at den offentlige nøgle, som modtageren modtager, faktisk tilhører afsenderen. Med en simpel download af den offentlige nøgle kan den ændres. Siden de første versioner har PGP understøttet offentlige nøglecertifikater , ved hjælp af hvilke substitutioner (eller utilsigtede transmissionsfejl) let genkendes. Det er dog ikke nok blot at oprette et certifikat, der er beskyttet mod modifikation, da dette kun garanterer certifikatets integritet, efter det er oprettet. Brugere har også brug for en måde at bekræfte, at den offentlige nøgle i certifikatet virkelig tilhører afsenderen. Siden de første versioner har PGP - produkter inkluderet et internt certifikatbekræftelsesskema kaldet tillidsnettet . Det givne par "brugernavn - offentlig nøgle" kan underskrives af en tredjepart, der bekræfter korrespondancen mellem nøglen og ejeren. Sådanne signaturer kan have flere indlejrede niveauer af tillid. Selvom mange programmer læser og skriver disse oplysninger, er det meget få, der overvejer dette certifikatniveau, når de beslutter, om de skal acceptere eller afvise et certifikat.
Web of trust-protokollen blev først beskrevet af Zimmermann i 1992 i PGP version 2.0 manualen:
Med tiden vil du akkumulere andres nøgler, som du kan kalde betroede anbefalere. Alle andre kan vælge deres betroede anbefalere. Og alle vil gradvist akkumulere og distribuere et sæt af andres certificerede signaturer med deres nøgler, idet de forventer, at enhver modtager stoler på mindst en eller to signaturer. Dette giver dig mulighed for at oprette et decentraliseret fejltolerant netværk af alle offentlige nøgler.
Web of trust-mekanismen har fordele i forhold til en centraliseret infrastruktur til administration af offentlige nøgler , såsom den, der bruges i S/MIME , men er ikke blevet udbredt. Brugerne ønskede at kontrollere rigtigheden af certifikater manuelt eller slet ikke.
I de seneste OpenPGP-specifikationer kan betroede signaturer bruges til at understøtte oprettelsen af certifikatmyndigheder. Certifikattillid betyder, at nøglen virkelig tilhører den angivne ejer og kan bruges til at signere certifikater et niveau ned. Et niveau 0-certifikat betyder en normal signatur. Niveau 1 betyder, at du kan oprette niveau 0-certifikater med en signeret nøgle. Du kan oprette niveau 1-certifikater med et niveau 2-certifikat. Niveau 2 er næsten identisk med graden af tillid, som brugere stoler på listerne over betroede certifikater indbygget i browsere.
Alle versioner af PGP inkluderer en måde at tilbagekalde et certifikat på. Dette er nødvendigt, hvis du vil opretholde kommunikationssikkerheden, når den private nøgle er tabt eller kompromitteret . Tilbagekaldelse af certifikater ligner CRL'er i en centraliseret offentlig nøgleinfrastruktur. Moderne versioner af PGP understøtter også certifikatudløbsdatoer.
Problemet med korrekt at afgøre, om en offentlig nøgle tilhører ejeren, er typisk for alle kryptografiske systemer med asymmetrisk kryptering . Hun har ikke gode nok løsninger. Den originale PGP-ordning giver brugeren mulighed for at beslutte, om han vil bruge certifikatvalideringsordningen, mens de fleste andre offentlige nøgleinfrastrukturer kræver, at hvert certifikat skal valideres.
I 1991 skabte Philip Zimmerman den første version af PGP. Den første version inkluderede BassOmatic symmetrisk krypteringsalgoritme , skabt af Zimmerman selv. Zimmerman var involveret i anti-nuklear bevægelsen og skabte PGP til sikkert at bruge BBS og gemme filer og beskeder. Ingen licens var påkrævet til ikke-kommerciel brug, med alle kopier distribueret al kildekode. PGP spredte sig til Usenet og derefter til internettet .
Kort efter udgivelsen begyndte PGP at blive brugt uden for USA, og i 1993 iværksatte den amerikanske regering en undersøgelse mod Zimmerman på mistanke om overtrædelse af eksportlove, der regulerer distributionen af kryptografiske systemer med en nøglelængde på mere end 40 bit. PGP brugte nøgler på 128 bit eller mere.
Zimmerman omgik klogt begrænsningerne i amerikansk lovgivning. Han udgav kildekoden i en bog udgivet af MIT Press [8] [9] . Koden kunne scannes, genkendes og kompileres. Eksport af bøger kan ikke forbydes, fordi det er beskyttet af det første ændringsforslag til den amerikanske forfatning (en lignende ordning blev brugt i Snuffle-krypteringssystemet, se Bernstein v. USA ).
I 1996 blev undersøgelsen afsluttet [10] [11] [12] .
PGP Inc. var bekymret over patenter . Virksomheden har lavet en intern standard Unencumbered PGP ("uencumbered PGP"), som ikke bruger algoritmer, der har problemer med licenser. Da PGP blev meget brugt over hele verden, ønskede mange at skabe deres egen PGP 5-kompatibel software. I 1997, PGP Inc. foreslået en IETF- standard kaldet OpenPGP. IETF oprettede RFC 2440 (1998) og RFC 4880 (2007).
I 1999 blev en gratis implementering af OpenPGP kaldet GNU Privacy Guard (GnuPG) skabt af Free Software Foundation .
I december 1997, PGP Inc. blev overtaget af Network Associates Inc (nu McAfee ). NAI fortsatte med at eksportere gennem kildeudskrivning. Som en del af NAI udviklede PGP-teamet diskkryptering, firewall, intrusion detection og IPsec VPN . Efter at have legaliseret eksporten af kryptografisk software i 2000, stoppede NAI med at udgive kildekoden på trods af PGP-teamets indvendinger.
I 2001 forlod Zimmerman NAI, NAI annoncerede salget af PGP og standsningen af PGP-udviklingen. I 2002 indstillede NAI supporten til alle PGP PGP E-Business Server-produkter (den originale konsolversion af PGP).
I 2002 dannede flere tidligere PGP-udviklere PGP Corporation og købte PGP ud (bortset fra konsolversionen). I 2003 udviklede PGP Corporation et nyt serverprodukt, PGP Universal.
I 2010 Symantec Corp. købte PGP for 300 millioner dollars.
PGP blev oprindeligt udviklet til klient-side e-mail-kryptering, men omfatter siden 2002 også kryptering af bærbare harddiske, filer og mapper, instant messaging-sessioner, batch-filoverførsel, fil- og biblioteksbeskyttelse i netværkslager, og i moderne versioner - også kryptering af HTTP-anmodninger og -svar på serversiden (mod openpgp) og klientsiden (Enigform).
Klientprogrammer er samlet i PGP Desktop-familien (inkluderer PGP Desktop EMail , PGP Whole Disk Encryption og PGP NetShare ).
PGP Universal Server giver dig mulighed for centralt at administrere PGP Desktop -baserede klienter fra kommandolinjen .
I 2010 blev rettighederne til applikationen erhvervet af Symantec for $300 millioner [13] .
Til dato er der ingen direkte lovgivningsmæssige forbud mod brugen af PGP i Rusland. Brugen af kryptografi er kun begrænset ved lov i statslige og kommunale institutioner. FSB instruerer alle offentlige myndigheder kun at bruge certificerede kryptografiske værktøjer. Enkeltpersoner og virksomheder bestemmer selv, hvilke oplysninger der er en forretningshemmelighed for dem, metoderne til opbevaring og transmission af sådanne oplysninger [14] . Informationsressource Helpdesk24 i artiklen "Lovligheden af at bruge kryptografiske midler til informationsbeskyttelse" giver uddrag fra føderale love, der forklarer dette problem. [1] Også forfatterne af "openPGP in Russia"-projektet hævder, at der ikke er nogen love, der forbyder brugen af PGP [15] . En elektronisk signatur, der er genereret ved hjælp af PGP og dens ikke-certificerede modparter, har retskraft i Den Russiske Føderation, da den ifølge paragraf 3 i artikel 5 i 63-FZ "On Electronic Signature" [16] falder ind under definitionen af en forbedret ukvalificeret elektronisk signatur [17] . I henhold til paragraf 2 i artikel 6 i denne føderale lov er en aftale mellem deltagerne i elektronisk interaktion nødvendig for at anerkende et sådant ES.
Krypteringssoftware | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
E-mail-klienter |
| ||||||||||||||
Sikker kommunikation |
| ||||||||||||||
Diskkryptering ( sammenligning ) |
| ||||||||||||||
Anonymitet |
| ||||||||||||||
Filsystemer ( liste ) | |||||||||||||||
sikkerhedsfokuseret operativsystem | |||||||||||||||
Service-udøvere |
| ||||||||||||||
Pædagogisk | |||||||||||||||
relaterede emner |
| ||||||||||||||
|