Tematski broj - Računalna sigurnost
Hrvatska akademska i istraživačka mreža
Naslovnica
Sigurnosni problemi
Sigurnosni alati
Nadležne službe
Korisni linkovi
Pojmovnik
Pitanja i odgovori
Tema mjeseca
Tema proslog mjeseca
Arhiva
Tema mjeseca - PGP - Pretty Good Privacy

LockPGP (Pretty Good Privacy) je računalni program za kriptografsku zaštitu podataka kojeg je još davne 1991. godine razvio Phil Zimmermann. Iako program s tim nazivom i namjenom još uvijek postoji, PGP je zbog svoje raširenosti među korisnicima u međuvremenu postao otvoreni standard pod imenom OpenPGP. Stoga, u ovom tekstu, pojmom PGP označavamo bilo koju implementaciju OpenPGP standarda, a ne samo PGP kao softver.

Elektronička pošta nije siguran način komunikacije. Poruka na svom putu do primatelja prolazi kroz barem desetak mrežnih čvorova - na svakom od njih, poruka je u opasnosti da je netko pročita ili promijeni bez znanja pošiljatelja. Suvišno je napominjati da iz tog razloga u porukama e-pošte nikako ne bismo trebali slati povjerljive informacije poput brojeva bankovnih računa i kreditnih kartica ili korisničkih oznaka i zaporki.

PGP je svojevrsna sigurnosna nadogradnja sustava elektroničke pošte, koji korisnicima omogućuje da izmjenjuju datoteke ili poruke vodeći računa o povjerljivosti, autentičnosti i praktičnosti. Povjerljivost znači da samo oni kojima je poruka namijenjena mogu poruku i pročitati, dok autentičnost znači da poruke zaista dolaze od onoga tko je naveden kao pošiljatelj. Praktičnost, koja proizlazi iz koncepta uređenog para ključeva, tzv. javnog i privatnog (tajnog) ključa, znači da su povjerljivost i autentičnost osigurani bez dodatne «gnjavaže» oko izmjenjivanja ključa za šifriranje.

Koja je razlika između tradicionalnih kriptozaštitnih sustava i sustava javnih ključeva? Pretpostavimo da imate potrebu poslati neke povjerljive informacije. Sustav javnih ključeva možemo zamisliti kao niz javno dostupnih otvorenih sefova. Potrebno je pronaći sef koji pripada željenom primatelju, staviti povjerljive informacije unutra i zatvoriti sef - primatelj zasigurno zna kombinaciju koja otvara njegov sef. Drugim riječima, dok se u tradicionalnoj (tzv. simetričnoj) kriptozaštiti koristi isti ključ za kriptiranje i dekriptiranje podataka, u asimetričnom se sustavu kriptozaštite (sustav javnih i privatnih ključeva), javni ključ koristi za kriptiranje, a privatni za dekriptiranje. To je moguće zato što su ova dva ključa funkcionalno povezana, ali je nemoguće, zahvaljujući složenim matematičkim algoritmima koji sačinjavaju tu vezu, poznavajući javni ključ doći do privatnog ključa nekog korisnika.

Dakle, da bismo na siguran način primatelju poslali poruku elektroničke pošte, moramo pronaći njegov javni ključ - javne ključeve pronalazimo na PGP poslužiteljima - i kriptirati poruku pronađenim ključem. Primatelj potom svojim privatnim ključem dekriptira poruku koju smo kriptirali njegovim javnim ključem.

Međutim, osim upravo opisane povjerljivosti koju štitimo kriptiranjem podataka, PGP nudi i funkcionalnost kojom se omogućuje provjera autentičnosti. Ova funkcionalnost prvenstveno je usmjerena primatelju, jer omogućava provjeru autentičnosti pošiljatelja. Što to znači? Kao što je na poleđinu obične omotnice moguće napisati da je pošiljatelj bilo tko - u pošti tu informaciju nitko neće provjeravati - tako je i u poruci elektroničke pošte kao pošiljatelja moguće navesti bilo koga. Kako bismo mogli uistinu provjeriti tko je pošiljatelj poruke, pošiljatelj je treba "potpisati", što čini vlastitim privatnim ključem. Primatelj, pak, koristeći javni ključ pošiljatelja i činjenicu da su privatni i javni ključ jednoznačno povezani, provjerava je li potpis valjan. Ukoliko je potpis valjan, znači da je navedeni pošiljatelj ujedno i stvarni pošiljatelj poruke, jer po definiciji, samo pošiljatelj zna svoj privatni ključ, pa njegov potpis nitko ne može krivotvoriti.

Uz navedene, potpis ima još jednu svrhu - otkrivanje neovlaštenih izmjena poruke na putu od pošiljatelja do primatelja. Ako dođe do neovlaštenog mijenjanja poruke, primatelj će prilikom provjere potpisa biti obaviješten o tome te će sa sigurnošću znati dobiva li pouzdanu informaciju ili ne.

U načinu funkcioniranja PGP-a, postoji samo jedna ranjiva točka, a to je identitet vlasnika javnog ključa. Javni ključ je, kako i ime kaže, javno dostupan, te kad pretražujemo PGP poslužitelj, nemamo jamstva da određeni ključ stvarno i pripada određenom primatelju. Da biste znali čiji je određeni javni ključ, morate na siguran način doći do potvrde vlasnika da to uistinu jest njegov ključ - u idealnom slučaju, tako da tu informaciju dobijete od primatelja osobno.

Međutim, kako to nije uvijek izvedivo, u PGP mehanizam je uveden princip tzv. mreža povjerenja (web-of-trust), koji se zasniva na tome da svaki korisnik može potpisati tuđi javni ključ i time pokazati da mu vjeruje. Ukoliko vjerujete jednom korisniku, vjerujete i svim ključevima koje on potpiše. Ovo u praksi znači da ako Ana vjeruje Branku, a Branko vjeruje Renati, onda implicitno i Ana vjeruje Renati. Za sve ove relacije, PGP softver se brine automatski, tako da korisnik o tome ne mora voditi računa. Što više korisnika potpiše određeni ključ, odnosno što je mreža povjerenja veća, veća je i vjerojatnost da će se među njima naći netko kome već vjerujete, te u tom slučaju možete lako i sigurno komunicirati putem elektroničke pošte.