Kryptowaluty i kryptografia #3 – Szyfrowanie OTR wiadomości

297

Szyfrowanie OTR to protokół który zdecydowanie przypadnie wam do gustu. W poprzednim artykule każdy mógł dowiedzieć się jak szyfrować tekst przy użyciu GPG. Jednak jest to użyteczne podczas wymieniania się dużymi wiadomościami albo kiedy trzeba wysłać ich jedynie parę. Co zrobić w momencie gdy chcemy z kimś coś poustalać? Wtedy ciągłe szyfrowanie i odszyfrowywanie będzie bardzo czasochłonne. W tym artykule znajdziecie rozwiązanie.

Szyfrowanie OTR (ang. Off the record) protokół kryptograficzny, zapewniający silne

szyfrowanie dla konwersacji błyskawicznych (tzw. instant messaging).

wikipedia.org

Szyfrowanie OTR, z czym to się je?

Największa moim zdaniem różnica między GPG a OTR pojawia się gdy założymy, że NSA trzyma zaszyfrowaną korespondencję do czasu kiedy kryptoanaliza osiągnie wystarczający poziom. Jeśli mówimy o wiadomościach GPG to łatwo zweryfikować kto był nadawcą, w końcu mamy wspominane podpisy cyfrowe. Co się dzieje jednak w drugim przypadku?

W przeciwieństwie do tego GPG, OTR cechuje się uwierzytelnianiem zaprzeczalnym. Wiadomości nie posiadają podpisów cyfrowych więc po zakończeniu rozmowy nie można powiązać konkretnej wiadomości z konkretną osobą. Jednak w ciągu rozmowy, można być pewnym, że wiadomości są autentyczne i niezmienione.

Mało tego, podczas używania OTR możemy cieszyć się doskonałą poufnością przekazu. Oznacza to, że przechwycenie klucza nie skutkuje przechwyceniem żadnej z poprzednich rozmów, nawet jeśli atakujący jest w posiadaniu szyfrogramu. Dzieje się tak ponieważ szyfrowanie używa tymczasowych kluczy jednorazowych AES.

Niestety nie ma możliwości tworzenia konferencji OTR, ani audio ani video, ani przesyłania plików. Chociaż rozmowy wieloosobowe jak i przesyłanie plików może będzie zaimplementowane w przyszłości.

Co będzie potrzebne?

OTR można używać za pomocą różnych programów. Ja postanowiłem przedstawić wam jak zainstalować go w postaci wtyczki w popularnym komunikatorze Pidgin.

Najpierw ściągamy niezbędne oprogramowanie. Będzie to wspomniany już komunikator z tej strony oraz wtyczka, która pozwoli na używanie OTR dostępna tutaj. Za pomocą poznanej wcześniej obsługi GPG można sprawdzić podpis cyfrowy pliku klikając na “sig”.

Po zainstalowaniu najpierw Pidgina a następnie łatki OTR uruchamiamy komunikator. Z racji tego, że obsługuje on różne platformy to od nas zależy jakiego protokołu będziemy używać. Może być to Gadu-Gadu, AIM, ICQ i wiele innych, kiedyś obsługiwał również protokół Facebooka. Było to ciekawe rozwiązanie bo mogliśmy pisać w komunikatorze a w wiadomościach na FB było widać wyłącznie szyfr. Teraz można to zmienić dodatkowymi wtyczkami do których link jest na ich fanpage. Ale trochę to psuje planowaną prywatność.

Na potrzeby artykułu wybierzemy najłatwiejszą metodę – protokół IRC.

Ustawienie konta i wtyczki OTR

Wybieramy Accounts -> Manage Accounts -> Add

Jako protokół wybieramy IRC.

Następnie tworzymy konto z nazwą, która nie będzie z nami nijak powiązana i będzie na tyle losowa aby nikt inny nie zajął nam nicku na serwerze IRC bo wtedy się zacznie to trochę sypać.

Nie trzeba wpisywać żadnego hasła.

Następny krok to uruchomienie wtyczki OTR. Wybieramy Tools -> Plugins -> Tak jak na obrazku zaznaczamy kwadracik przy “Off-the-Record messaging”

Po kliknięciu dwa razy na tekst “Off-the-Record messaging” w “Plugins” otworzy nam się okno z istotnymi informacjami. Jak widać nie mamy wygenerowanego jeszcze swojego klucza, niezwłocznie klikamy “Generate”. 

Po chwili pojawi się “Fingerprint”. Jest to krótka sekwencja bitów służąca do rozpoznania dłuższego klucza publicznego.

Weryfikacja i możemy zaczynać

Do rozpoczęcia szyfrowanej rozmowy z drugą osobą, musimy wiedzieć pod jakim pseudonimem jej szukać na IRCu (albo jaki ma numer Gadu-Gadu i tak dalej). Po otwarciu okna rozmowy rzuca się w oczy czerwony napis “Not private”. Oznacza on, że rozmowa nie jest szyfrowana.

Jeśli rozmówca również ma wszystko ustawione to powinniśmy zobaczyć:

Aby zweryfikować rozmówcę oprogramowanie daje nam 3 możliwości.

  1. Zadanie pytania na które tylko rozmówca będzie znał odpowiedź. Istotne aby wielkość liter oraz polskie znaki się zgadzały. Co do samego pytania to ograniczeniem jest tylko wyobraźnia i to jak dobrze zna się rozmówcę. “Jaki jest najtrudniejszy boss w grze X”, “Jaką pizze wczoraj zamówiliśmy” itd.
  2. Potwierdzenie przez podanie wcześniej ustalonego hasła.
  3. Weryfikacja przez sprawdzenie Fingerprintu – można chociażby zadzwonić do kogoś aby przedyktował.Potem na dole zaznaczamy, że dokonaliśmy weryfikacji tak jak widać na obrazku poniżej i klikamy „Authenticate”                                                                                

Po zweryfikowaniu napis zmieni się na zielone “Private” i możemy bezpiecznie pisać. Pamiętajcie, że domyślnie wiadomości nie zapisują się w historii.

Jak rozmówca zakończy rozmowę i wyłaczy czat to ikona zmieni się na poniższą.

Mam nadzieję, że po tym poradniku:

  • wiecie kiedy lepiej stosować GPG a kiedy OTR,
  • umiecie zainstalować wszystko co potrzebne do rozmowy OTR,
  • wiecie gdzie sprawdzić swój fingerprint,
  • umiecie zweryfikować rozmówcę

Zajęcia praktyczne dla czytelników Bithub.pl

Stworzyłem konto na protokole IRC o nazwie: bithubJZ

Zweryfikowanie przez:

  1. Fingerprint: 3C61E2A6 E68351E6 A6EBA016 6008CA12 92DF2173
  2. Hasło: bithub.pl

Po umówieniu się przez maila janusz.zielinski@bithub.pl na godzinę pojawię się online. Istotny jest tutaj fingerprint na wypadek jakby ktoś postanowił zrobić również takie konto i się podszywać.

To samo co wyżej ale z podpisem GPG znajdziecie tutaj.

Pozostałe artykuły z serii Kryptowaluty i Kryptografia:

Kryptowaluty i kryptografia #1

Kryptowaluty i kryptografia #2 – Szyfrowanie wiadomości

Kryptowaluty i kryptografia #4 – Bitmessage

  1. 1 Analiza techniczna 23.01.2020 - BTC, Chiliz, BNB, LTC, 0x, ETC, Złoto Analiza techniczna 23.01.2020 - BTC, Chiliz, BNB, LTC, 0x, ETC, Złoto 01:17:46
  2. 2 Analiza techniczna kryptowalut 15.01.2020 - BTC, BSV, ETC, DASH, Zcash, ChainLink, BCH Analiza techniczna kryptowalut 15.01.2020 - BTC, BSV, ETC, DASH, Zcash, ChainLink, BCH 01:02:04
  3. 3 Analiza techniczna 10.01.2020 - BTC, XRP, Verge, Cosmos, Ethereum, Litecoin, BNB Analiza techniczna 10.01.2020 - BTC, XRP, Verge, Cosmos, Ethereum, Litecoin, BNB 01:10:39
  4. 4 Analiza techniczna 02.01.2020 - BTC, BNB, Cosmos, Icon, Theta Analiza techniczna 02.01.2020 - BTC, BNB, Cosmos, Icon, Theta 01:05:40
  5. 5 Świąteczna Analiza techniczna 24.12.2019 - BTC, ETH, FET, Cosmos, Harmony, Neblio, Świąteczna Analiza techniczna 24.12.2019 - BTC, ETH, FET, Cosmos, Harmony, Neblio, 01:09:52
  6. 6 Analiza techniczna 17.12.2019 - BTC, BNB, IOTA, Chiliz, Enigma, RLC, XTZ, Analiza techniczna 17.12.2019 - BTC, BNB, IOTA, Chiliz, Enigma, RLC, XTZ, 01:00:42
  7. 7 Analiza techniczna 13.12.2019 - BTC, BNB, ETH, LTC, Lisk, Chiliz, XRP Analiza techniczna 13.12.2019 - BTC, BNB, ETH, LTC, Lisk, Chiliz, XRP 55:06
  8. 8 Analiza techniczna 04.12.2019 - BTC, BNB, Nexus, Chiliz, XRP Analiza techniczna 04.12.2019 - BTC, BNB, Nexus, Chiliz, XRP 53:37
  9. 9 Analiza techniczna 28.11.2019 - BTC, BNB, TRON, GAME CREDITS, NEO, BAT Analiza techniczna 28.11.2019 - BTC, BNB, TRON, GAME CREDITS, NEO, BAT 01:02:31
  10. 10 Analiza techniczna 22.11.2019 - BTC, BNB, ETH, LTC, RVN, ETC Analiza techniczna 22.11.2019 - BTC, BNB, ETH, LTC, RVN, ETC 01:04:38
  11. 11 Analiza techniczna 12.11.2019 - BTC, ETH, XRP,  NEO, IOTA, BNB Analiza techniczna 12.11.2019 - BTC, ETH, XRP, NEO, IOTA, BNB 47:45
  12. 12 Analiza techniczna 07.11.2019 - BTC, ETH, LTC, TRON, IOTA, XRP Analiza techniczna 07.11.2019 - BTC, ETH, LTC, TRON, IOTA, XRP 53:54
  13. 13 Analiza techniczna 31.10.2019 - BTC, ETH, XRP, TRON, BNB, IOTA Analiza techniczna 31.10.2019 - BTC, ETH, XRP, TRON, BNB, IOTA 01:07:38
  14. 14 Analiza techniczna 24.10.2019 - BTC, ETH, XRP, TRON, BNB, IOTA Analiza techniczna 24.10.2019 - BTC, ETH, XRP, TRON, BNB, IOTA 58:17
  15. 15 Analiza techniczna 15.10.2019 - BTC, ETH, XRP, TRON, BNB Analiza techniczna 15.10.2019 - BTC, ETH, XRP, TRON, BNB 51:06
  16. 16 Analiza kryptowalut 7.10.2019 - BTC, ETH, LTC, XRP, TRON, NEXUS, BNB Analiza kryptowalut 7.10.2019 - BTC, ETH, LTC, XRP, TRON, NEXUS, BNB 43:50
  17. 17 Analiza kryptowalut 29.09.2019 - TRON, ETC, XRP, BNB Analiza kryptowalut 29.09.2019 - TRON, ETC, XRP, BNB 26:08
  18. 18 Analiza kryptowalut 29.09.2019 - Bitcoin, Tron Analiza kryptowalut 29.09.2019 - Bitcoin, Tron 19:00
  19. 19 Analiza kryptowalut 22.09.2019 - BTC, ETH, BNB, IOTA, LTC, XRP Analiza kryptowalut 22.09.2019 - BTC, ETH, BNB, IOTA, LTC, XRP 52:49
  20. 20 Analiza kryptowalut 16.09 - EOS, IOTA, DASH Analiza kryptowalut 16.09 - EOS, IOTA, DASH 31:44
  21. 21 Analiza kryptowalut 16.09 - Bitcoin, Litecoin, Ethereum Analiza kryptowalut 16.09 - Bitcoin, Litecoin, Ethereum 16:40
  22. 22 Analiza BNB/USD  12.09.2019 Analiza BNB/USD 12.09.2019 36:24
  23. 23 BTC - USD BTC - USD 04:17
  24. 24 BTC/USD BTC/USD 08:02
  25. 25 Dominacja BTC Dominacja BTC 30:05
  26. 26 XBT/USD XBT/USD 30:31
Komentarze