Вашите гласници, сајтови со протокол HTTPS, овластување во услугите на Интернет, безбедно складирање на датотеки, а понекогаш дури и будилници - сите овие работи користат PGP. Но, што е тоа сепак? Википедија ја дава следната дефиниција:
Pretty Good Privacy ( PGP ) е програма за шифрирање која обезбедува криптографска приватност и автентикација за комуникација на податоци . PGP се користи за потпишување , шифрирање и дешифрирање текстови, е-пошта , датотеки, директориуми и партиции на цели дискови и за зголемување на безбедноста на е-пошта комуникациите. Фил Цимерман разви PGP во 1991 година.
PGP и сличниот софтвер го следат стандардот OpenPGP (RFC 4880), отворен стандард за шифрирање и дешифрирање податоци . Модерните верзии на PGP се интероперабилни со GnuPG и други системи кои се во согласност со OpenPGP.
Јасно е со зборови, но да видиме како функционира.
Да замислиме дека имаме корисник А и корисник Б. Тие треба да почнат да комуницираат, но на таков начин што никој не може да дознае за содржината на нивната кореспонденција. Тука влегува шифрирањето.
Современите системи користат Rjindael (моментално AES), DES, RC4 и некои други алгоритми.
Нема да навлегувам во детали за нивната работа. Сè што треба да знаете за нив е дека ако им дадете влезни податоци и клуч, добивате шифрирана низа бајти, која може да се преврти со истиот клуч. Како катанец, тие се отвораат и затвораат, но без клуч, тоа е речиси невозможно (не постојат ефективни начини да се скршат овие алгоритми). Ваквите алгоритми за шифрирање се нарекуваат симетрични алгоритми за шифрирање.
И тоа е одговорот, нели? Дозволете му на корисникот А да му го даде својот клуч на корисникот Б. Потоа можете да ја шифрирате вашата кореспонденција од двете страни, и никој нема да знае што пишува еден на друг.
Се разбира, ако и двајцата корисници се познаваат во реалниот живот, едниот може да му даде на другиот флеш диск со клучот на него.
Но, на Интернет е невозможно да се направи ова, корисниците се далеку од двајца, а една услуга може да опслужува милиони различни корисници дневно. Исто така, не е секогаш можно да го дадете вашиот личен клуч за шифрирање на сите со кои се допишувате лично за време на состанок.
Бидејќи предавањето на вашиот приватен клуч од истиот AES е исто како да ја загрозувате вашата безбедност, се поставува прашањето - како корисникот А може безбедно да го предаде својот клуч на корисникот Б?
Решението е да потпишете клучеви и е-пошта со друг клуч! Но, само овој втор клуч ќе биде од асиметричен алгоритам за шифрирање. Суштината е иста како и во симетрична, но сега, нема ниту еден клуч од бравата - има два. Едниот е „јавен“, податоците може да се шифрираат само со него, а вториот е „приватен“, кој може да ги дешифрира податоците обработени од јавниот клуч на својот пар.
Таквиот процес ви овозможува слободно да го објавите вашиот јавен клуч без да ја загрозите вашата безбедност.
Ова е основата на принципот на работа на „Електронски потписи“.
Тие се потребни за да може корисникот Б од податоците да биде сигурен дека податоците се шифрирани со клучот што му припаѓа на корисникот А, и обратно.
Потписот се креира од хашот на оригиналните податоци и е прикачен на испратениот пакет.
Примачот го дешифрира потписот со јавниот клуч, го споредува со хашот на примените податоци и доколку тие се совпаѓаат, испраќачот е вистински корисник, а не измамник.
Во ред, сфативме како да извршиме ракување (ракувањето е процес на формирање безбеден канал за комуникација).
Сега, замислете дека помеѓу корисниците А и Б, има друг корисник, Ц.
„Ц“ е напаѓач кој треба да знае за деталите за комуникацијата на А и Б.
Тој создава два пара клучеви за потпишување и уште два клуча за шифрирање на податоците.
На корисникот А, тој се претставува како корисник Б, а на корисникот Б како корисник А. Реалноста е дека во реалноста на Интернет, не може да биде 100% сигурен дека добиениот електронски потпис и клуч се оригинални.
Значи, ако ваквото сценарио е навистина возможно, дали нашите А и Б нема да бидат безбедни?
Има спас! Сега, стигнавме до главната тема - „Мрежата на довербата“.
Оваа мрежа се состои од тоа што сите корисници ги знаат јавните клучеви на електронските потписи на едни со други, а секој член на мрежата може да се праша: „Дали овој клуч што ми го испрати корисникот Б му припаѓа нему, а не на некој натрапник?“
Во овој случај, мрежата на доверба може да биде многу ефикасна дури и со мал број учесници, бидејќи ако едниот го познава другиот, третиот, прашувајќи го првиот, ќе го знае јавниот клуч на вториот. Како корените на дабово дрво, мрежата на довербата е испреплетена, овозможувајќи им на корисниците да споделуваат податоци.
Сега, нашиот корисник C повеќе не може да се претставува како други корисници. Само ако се обиде, корисникот А, прашувајќи некој од членовите на мрежата, ќе сфати дека некој стои меѓу него и корисникот Б и пресретнува пораки.
Сега, ајде да ги комбинираме сите овие концепти во една едноставна шема.
Корисникот А и корисникот Б се во иста мрежа на доверба и сакаат да започнат безбедна комуникација.
„A“ бара од повеќе членови на мрежата јавниот клуч „B“. Користејќи го овој клуч, тој испраќа барање за ракување до корисникот Б. „Б“, пак, го учи јавниот клуч на корисникот А, генерира симетричен клуч за понатамошна комуникација и, користејќи го јавниот клуч на корисникот А, го испраќа симетричниот клуч. назад.
Сите пораки во оваа шема се исто така потпишани со електронски потписи.
Со оваа комуникација, не е можно надворешно мешање и нашите корисници конечно можат да почнат да се допишуваат.
Нема смисла рачно да ја користите оваа шема - таа е веќе вградена во сите можни протоколи за интернет комуникација од вашите прелистувачи и апликации.
Ниту еден систем не е совршен. Нападите на MITM (Човек во средината, во нашиот случај - начин за фалсификување сертификати преку проверка на лажни клучеви со потписи доверливи од прелистувачот на жртвата) се вршат и денес.
Но, ако ја видите таа „зелена брава“ во близина на лентата за адреси на вашиот прелистувач, вашите податоци се во сигурни раце на алгоритмот PGP.