Криптиране и подписване на писма с GnuPG

Автор Владимир Колев | Вариант за отпечатване Вариант за отпечатване

1 Star2 Stars3 Stars4 Stars5 Stars (не е гласувано)
Loading ... Loading ...
 

Некриптираните писма могат да бъдат прихванати и прочетени с лекота. Редно е да се предпазвате от това. За щастие при повечето Linux дистрибуции криптирането на вашия E-Mail се настройва изключително лесно.

Против кражбата и манипулацията на данни може да ви помогне само добър софтуер за криптиране като GnuPG. Причината GnuPG да е толкова сигурен – GnuPG е свободен софтуер и е лицензиран под GPL лиценз. Изходния код на софтуера е отворен и може лесно да бъде проверяван за грешки. GnuPG съществува от 1999 година с версия 1.0 за Unix-съвместими операционни системи; програмата е предварително инсталирана с Ubuntu. GnuPG работи с така наречения метод за публичен ключ, при който потребителя създава един личен и един публичен ключ. С помощта на публичния ключ получателите могат да сравняват съобщенията директно от подателя. За целта с ключа можете да се сдобиете директно от изпращача или като го свалите от публичен сървър за подобни ключове.

GnuPG не е съвместим с познатия PGP версия 5.x, но с версия 2.x. Това се дължи на факта, че в последните версии на PGP се ползва патентован алгоритъм за криптиране, който не може да бъде ползван в приложения с отворен код.

Генериране на ключова двойка в GnuPG

За GnuPG се нуждаете от ключова двойка за криптиране, декриптиране и подписване. Такава можете да създадете в терминала. За целта отворете терминала и въведете следната команда:

gpg --gen-key

С тази команда ще създадете един обществен и един личен ключ. Първо програмата ще ви попита кой ключ искате да създадете. Изберете първата опция по подразбиране: RSA and RSA. Други двойки като RSA и Elgmal създават проблеми при работата с Evolution.

Следва да определите големината на ключа. Един RSA-ключ може да бъде между 1024 и 4096 Bit-а дълъг. Предложената по подразбиране големина от 2048 е един добър компромис. Ключът е достатъчно голям, за да не може да бъде разбит и толкова малък, така че криптирането и декриптирането да не отнема прекалено много време. Имайте обаче предвид, че веднъж избрана големината на ключа, не може да бъде променяна по-късно.

След избора на големината следва да изберете валидността на ключа. Първата опция 0 („Ключът не изтича никога“) е достатъчна в повечето случаи, и има предимството, че няма да се налага да изпращате нов ключ на своите кореспонденти. Тайни агенти (като James Bond 007) и други държащи на своята анонимност може би трябва да изберат време за изтичане на техния ключ: Ако зададете някакво число, толкова дни ще бъде валиден вашият ключ. Ако към числото добавите буквата „w“ – толкова седмици, буквата „m“ – месеци и „y“ за години. Въведеното от вас трябва да бъде потвърдено още веднъж.

Остава да добавите информация за потребителя (т.е. Вас). Тази информация GnuPG сформира от вашите имена, коментар при желание и вашият E-Mail адрес. Първо трябва да зададете вашите имена, след натискане на [Enter] вашият E-Mail и в третата стъпка коментар. Ако всичко е вярно потвърдете с „f“ и [Enter].

След това следва момента, в който трябва да изберете Passphrase, кодова фраза (наречена още Mantra). За потвърждение въведете паролата повторно. Изречението/фразата трябва да е достатъчно трудно, така че трети да не могат да се сетят или да достигнат до него. Естествено не трябва и да е някакъв роман, тъй като ще трябва да го запомните – ще ви трябва всеки път, когато искате достъп до своя ключ.

Имайте предвид, че вашата Mantra е единствената защита срещу разшифроване, ако някой получи достъп до вашия личен ключ. Не използвайте думи от речници. Използвайте не само азбуката, но и цифри и пунктуационни знаци. Малък съвет: Ако вмъкнете и няколко правописни грешки атаката чрез списък от речникови думи ще стане невъзможен.

След въвеждане на кодовата фраза, започва генерирането на пръстовия отпечатък и ключовете. За целта GnuPG се нуждае от огромно количество произволни стойности. Създаването на тези произволни стойности можете да подпомогнете и ускорите като отворите втори терминал и изпълните команда като ls -lR /, която ще върне достатъчно количество данни. След известно време ключовата двойка е готова.

GnuPG и Evolution

След като сте създали своята ключова двойка можете да я използвате директно в Evolution. За целта отворете настройките на акаунтите (Edit -> Preferences -> Mail Accounts), изберете своя акаунт и изберете бутона Edit. След като се отвори прозореца с настройки навигирайте до таб Security. В полето PGP/GPG Key ID: въведете осем символното ID на вашия публичен ключ. Можете да го намерите в изхода от терминала на реда започващ с „pub“ и е след наклонената черта. В случай, че вече сте затворили своя терминал, стартирайте го отново и въведете командата gpg --list-public-keys Така ще ви бъдат показани всичките ви публични ключове. При желание можете да включите или изключите някои от останалите опции в прозореца за настройка на вашия акаунт и накрая потвърдете с OK.

От този момент вие можете да изпращате подписани писма. За тази цел при създаването в прозореца с редактора изберете менюто Security и от там PGP/GPG Sign. За да криптирате писмото си с опцията „PGP/GPG Encrypt“ се нуждаете от публичния ключ на получателя. Когато изберете бутона Send, за да изпратите писмото ще бъдете попитани за Passphrase, която зададохте при създаването на ключа.

За да може получателя да прочете вашето писмо трябва да има вашият публичен ключ. Можете да му го изпратите като прикачен файл в писмо, да го качите на публичен сървър за ключове или да го насочите към вашата лична страница, където сте го публикували.

Ако използвате Thunderbird ще трябва да инсталирате добавката Enigmail. При Claws Mail опцията е включена в инсталацията по подразбиране. Под Windows можете да изтеглите пакета за GPG заедно с ClawsMail, където единственото, което трябва да направите е да генерирате ключ и всичко ще работи от само себе си :-)

Размяна на ключове

За да може друг да ви изпраща криптирани писма, той ще се нуждае от вашият публичен ключ. По този начин писмото се криптира така, че само вие да можете да го прочетете, тъй като сте единственият притежател на личния ви ключ. Същото важи, както вече разбрахте, когато изпращате писмо до друг – трябва да разполагате с публичния ключ на получателя.

Ако искате да изпратите публичния си ключ на ваш кореспондент, трябва да извлечете връзката с ключове. За целта трябва да отворите терминал и да изпълните командата:

gpg --ouput FILENAME --export USER-ID

или

gpg --armor –ouput FILENAME --export USER_ID

В първият случай създаденият файл в бинарен формат. Във втория файлът е в ASCII формат и можете много лесно да го добавите във вашето писмо или да го публикувате на вашата web страница.

Когато сте получили връзката с ключове от друг, можете да добавите чуждия ключ към вашата връзка със следната команда:

gpg --import FILENAME

Командата:

gpg --list-keys

ще ви покаже дали ключът е бил успешно вмъкнат или не. Накрая имате възможността да проверите пръстовия отпечатък на на ключа и да го подпишете с вашият собствен ключ. Ако това се случи на сървър за ключове (Keyserver) така всеки ще знае, че сте се доверили на този ключ. Ако някой има доверие на вас, така може да има доверие и на трети ключове. Този принцип се нарича още „Web of trust“ (Мрежа на доверието) и е основополагащ в отворената криптографична система GnuPG.

Използване на сървър за ключове

С вашият ключ можете да комуникирате по различни начини. Можете да го дадете на малко комуникационни партньори лично по E-Mail или на дискета, или го публикувате на вашата лична интернет страница, или го публикувате на сървър за ключове (на пример http://keyserver.ubuntu.com/). Последното има смисъл, когато сте член на пощенски списък, където всички подписват писмата. По този начин всеки може да се сдобие с вашият публичен ключ и не е необходимо на всеки да го изпращате лично. По този начин започва и за вас да функционира принципа Web of trust. За да изпратите своя ключ до подобен сървър е достатъчно да изпълните командата:

gpg --keyserver KEYSERVER --send-key USER_ID

Големите сървъри за ключове се синхронизират взаимно, така че ключа ви ще бъде записват в популярните сървъри и няма да има нужда да се притеснявате дали ключа ви ще бъде намерен.


One Trackback

  1. [...] Киптиране и подписване на писма с GnuPG [...]…

Публикувай коментар

Вашият е-мейл никога няма да бъде споделен. Задължителните полета са маркирани с *

*
*