Off-the-record messaging

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

OTR, skrót od ang. "Off-the-Record Messaging", czyli komunikacja "poza nagraniem, nieoficjalna, prywatna", to protokół kryptograficzny, który zapewnia silne szyfrowanie dla konwersacji błyskawicznych (tzw. instant messaging). OTR używa kombinacji algorytmu klucza symetrycznego AES, protokołu Diffiego-Hellmana i funkcji skrótu SHA-1. Poza uwierzytelnianiem i szyfrowaniem, OTR zapewnia doskonałą poufność przesyłania i szyfrowanie z możliwością zaprzeczania.

Podstawową inspiracją dla protokołu było zapewnienie możliwości kontroli dostępu do uczestników rozmowy, przy zachowaniu jej poufności, tak jak w przypadku prywatnej rozmowy w prawdziwym życiu, czy w dziennikarstwie przy rozmowie poza nagraniem. Ta metoda szyfrowania różni się od większości narzędzi szyfrujących, które bardziej przypominają pisanie i podpisywanie tekstu na papierze, który może być później użyty do zademonstrowania faktu, że nastąpiła komunikacja, zidentyfikowania jej uczestników i tematu rozmowy. Niestety, w większości przypadków, osoby używające zwyczajnego oprogramowania szyfrującego nie są tego świadome i nie zdają sobie sprawy, że do celów prywatnej rozmowy bardziej nadają się narzędzia OTR. Dlatego też pierwszy dokument stanowiący wprowadzenie został nazwany "Off-the-Record Communication, or, Why Not To Use PGP"[1]. (Komunikacja Off-the-Record, albo czemu nie używać PGP).

Protokół OTR został zaprojektowany przez kryptografów Iana Goldberga i Nikitę Borisova. Udostępnili otwartą bibliotekę dla komunikatorów internetowych wspierającą programistów aplikacji klienckich Instant Messaging, którzy chcą zaimplementować protokół OTR oraz specjalne proxy OTR dla klientów AIM, ICQ, and .Mac, które obsługują proxy.

Implementacja[edytuj | edytuj kod]

Poza szyfrowaniem i uwierzytelnianiem, które obecne są także w typowych aplikacjach kryptograficznych, jak PGP, GnuPG i X.509 (S/MIME), OTR oferuje także dwie dodatkowe funkcjonalności: zaprzeczalność i idealną poufność przekazu.

Szyfrowanie[edytuj | edytuj kod]

Nikt spoza rozmowy nie może przeczytać wiadomości.

Uwierzytelnianie[edytuj | edytuj kod]

Można być pewnym, że odbiorca jest tym, za kogo go uważamy.

Od wersji OTR 3.1 protokół obsługuje obopólne uwierzytelnienie użytkowników przy użyciu wspólnego sekretu poprzez protokół socialist millionaire. Ta funkcjonalność umożliwia użytkownikom weryfikację tożsamości drugiej strony i uniknięcie ataku typu man in the middle bez niewygody ręcznego porównywania odcisku klucza publicznego przez zewnętrzny kanał.

Zaprzeczalność (Deniability)[edytuj | edytuj kod]

  • Deniable authentication: uwierzytelnianie zaprzeczalne – wiadomości w rozmowie nie posiadają podpisów cyfrowych (kluczy elektronicznych), zatem po zakończeniu rozmowy, każdy może sfałszować wiadomość tak, aby wyglądała na pochodzącą od jednego z uczestników rozmowy, co zapewnia, że niemożliwym jest udowodnić, że konkretna wiadomość pochodzi od konkretnej osoby. Jednak podczas rozmowy jest pewność, że przesyłane wiadomości są autentyczne i niezmienione.

Poufność[edytuj | edytuj kod]

  • Perfect forward secrecy: Doskonała poufność przekazu – Wiadomości są szyfrowane jedynie tymczasowymi kluczami jednorazowymi AES, negocjowanymi przy użyciu protokołu Diffiego-Hellmana. Przechwycenie jakiegokolwiek długotrwałego klucza nie skutkuje przechwyceniem żadnej z poprzednich rozmów nawet, jeśli atakujący jest w posiadaniu Szyfru.

Ograniczenia[edytuj | edytuj kod]

Protokół nie obsługuje obecnie czatu wieloosobowego ani szyfrowanego transferu plików, ale może to zostać zaimplementowane w przyszłości. Wsparcie dla szyfrowanego audio ani video nie jest planowane.

Klienty obsługujące OTR[edytuj | edytuj kod]

Natywnie[edytuj | edytuj kod]

Te klienty mają wbudowane wsparcie komunikacji Off-the-Record.

Poprzez plug-in[edytuj | edytuj kod]

Te klienty wymagają plug-inu do funkcjonowania Off-the-Record Messaging. Użycie pluginu pozwala na komunikację OTR przy użyciu wszystkich protokołów danego klienta (np. OSCAR, Jabber, MSN, YIM/YMSG itd.).

Proxy[edytuj | edytuj kod]

Dla klientów, które nie mają natywnego wsparcia OTR dostępne jest proxy GUI. Oznacza to, że wiadomości są wysyłane do proxy niezaszyfrowane i zostają zaszyfrowane podczas przechodzenia przez lokalnie zainstalowany i uruchomiony program pośredniczący. Obecnie proxy rozwijane przez projekt OTR obsługuje tylko protokół OSCAR, zatem może być używane z .Mac, ICQ, i AIM. Proxy OTR używa protokołów SOCKS5, HTTPS i HTTP.

Niektóre klienty .Mac, ICQ i AIM, które obsługują proxy, ale nie obsługują OTR natywnie:

Linki zewnętrzne[edytuj | edytuj kod]

Przypisy