K2T.eu :: Forum
WTW => Rozszerzenia => Katalog Wtyczek => Wątek zaczęty przez: mucha w Marca 22, 2012, 12:29:19 pm
-
Wtyczka szyfruje rozmowę pomiędzy 2 użytkownikami, tak żeby jej treść nie była widoczna dla serwera. Oczywiście obie osoby muszą mieć wtyczkę, szyfrowania włącza się przez Menu->Szyfruj. Jak wyglądają zaszyfrowane wiadomości można sobie podejrzeć w konsoli protokołów.
http://www.alset.pl/Maciek/wtwCrypto-Win32.zip
http://www.alset.pl/Maciek/wtwCrypto-x64.zip
Technicznie: wiadomości szyfrowane są AES-256 w trybie ECB, wymiana kluczy za pomocą algorytmu Diffie-Hellman'a o długości klucza 1024 bity lub bezpośredni import, przesyłane jako base64.
Kod wtyczki dostępny na githubie: http://github.com/mmuszkow/wtwCrypto
-
Bardzo fajna wtyczka - wielkie dzięki za nią. Mam jednak problem - jak włączę szyfrowanie przestają mi działać dźwięki i nie słychać jak ktoś pisze. Mam też pytanie czy dało by się dorobić opcjonalne szyfrowanie w oparciu o klucz podawany lokalnie (nie uzgadniany protokołem D-H). Obecna implementacja jest dobra na podsłuchiwaczy (na których wystarczy już zaimplementowane przynajmniej w gg połączenia szyfrowane z serwerem) natomiast nie zadziała na ataki typu MiM. Widziałbym to np. tak że obie strony przekazują sobie jakimś niezależnym kanałem (powiedzmy przez pendrive) dowolny plik np. jakiś jpg lub archiwum i podajemy do niego ścieżkę w preferencjach wtyczki. Teraz wystarczy zamiast protokołu D-H podawać offset w tym pliku jako klucz sesji. Może trochę paranoiczne ale należy zakładać że rozmowy są archiwizowane na serwerach, a ostatnio co chwila się słyszy o wyciekach z jakiś baz danych i miło by było żeby w razie W byle kto nie mógł poczytać sobie naszych prywatnych konwersacji. Jeszcze raz dziękuję za tę wtyczkę.
-
Okno rozmowy - oboje użytkowników protokołu GG ma włączone szyfrowanie (poprzez wtwCrypto). Wklejanie większej treści wiadomości z maila do okna rozmowy powoduje, że druga strona dostaje "krzaki" zamiast rozkodowanej treści. Wygląda to tak, jakby wtyczka nie radziła sobie ze sformatowaną w schowku treścią. Ja widzę poprawnie to co wkleiłem, ale druga strona dostaje krzaki (zahaszowaną, zakodowaną treść). Gdy wklejam mały fragment wiadomości ponownie w to samo okno, to druga strona jest w stanie ją odczytać poprawnie. Być może jakieś znaki specjalne lub formatowanie tekstu ze schowka powoduje, że druga strona dostaje nierozkodowany tekst.
Druga sprawa:
W opcjach wtyczka jest aktywna z automatycznym startem (uruchamianiem). Jest jednak istotna niedogodność w korzystaniu z wtyczki. Wybierając na liście kontaktów danego użytkownika zaznaczamy "Szyfruj", jeżeli chcemy, ażeby rozmowy z tym kontaktem były szyfrowane. Po takim ustawieniu w oknie rozmowy mamy możliwość aktywowania/deaktywowania szyfrowania za pomocą kłódki - jest ok. Restart aplikacji WTW (zamknięcie i ponowne jej uruchomienie) za każdym razem wymaga ustawienia dla wskazanego kontaktu np. za pomocą prawego przycisku myszy "Szyfruj", gdyż domyślnie szyfrowania nie ma. Czy nie można zmusić WTW do zapamiętania ustawień szyfrowania?
-
Co do 1 to strzelam, że jest to wina tego, że wtyczka/serwer GG tnie większe wiadomości na części. Wtedy zakodowany pakiet w formacie "B64-treść" zostaje ucięty i staje się nieprawidłowy.
Drugie: nie można, celowo nie zapisywałem klucza, niestety zapomniałem jaki to był cel :P Chyba chodziło o to, żeby a) nie przechowywać klucza prywatnego w pliku na dysku oraz b) nie zapisywać "chińskich krzaków" do archiwum w wypadku kiedy mamy zapisany inny klucz (np w wypadku korzystania z komunikatora na paru komputerach).
edit: a na przyszłość zgłaszaj takie błędy w dziale wtyczek, fajnie jakby się dało te posty zintegrować z tematem wtwCrypto.
-
Odświeżam temat.
Ad "Druga sprawa:"
Mucha - zastanów się, czy nie lepiej byłoby dać użytkownikowi świadomy wybór, czy chce przechowywać klucz na dysku, czy w pamięci? Największy problem dotyczy sytuacji, w której odbiorca wiadomości włącza komputer, uruchamia WTW i odbiera wiadomość od nadawcy, która była szyfrowana - nie jest w stanie jej odczytać, bo zanim kliknie w opcję "szyfruj" w odbiorcę, to już ma odebraną zaszyfrowaną wiadomość. Nie jest to przecież sporadyczna sytuacja - bardzo często odbieramy wiadomość offline, gdy podłączamy się do sieci. Dlatego byłoby lepiej, aby wtyczka miała 2 opcje - to użytkownik zdecyduje, co jest dla niego wygodniejsze/bezpieczniejsze.
Przenaszalność zaszyfrowanego archiwum na różne komputery - właśnie to załatwia klucz prywatny zapisany do pliku - wtedy nie ma problemu, że na innym kompie nie odczytasz wiadomości. Przenosisz katalog WTW z kluczem i działasz na innym komputerze.
-
Sposób w jaki działa wtyczka zmieni się w następnej wersji, będzie "ręczna" wymiana klucza (z automatyczną jest za dużo problemów) i z tego też powodu klucz będzie zapisywany do pliku.
btw: z tą wersją, możesz hibernować, a nie zamykać system, wtedy klucz się zachowa.
-
Hibernuję, ale czasami trzeba zrobić restart aplikacji lub systemu. Dzięki za szybką odpowiedź i czekam cierpliwie na nową wersję :)
p.s. Jeszcze jedno: jeżeli szyfrowanie jest wyłączone, to dochodzą powiadomienia dźwiękowe aktywnej rozmowy, gdy włączamy szyfrowanie, to powiadomienia dźwiękowego brak - przetestowane wielokrotnie.
-
Powiadomienia dźwiękowe nie są integralną częścią komunikatora, spowodowane jest pewnie tym, że "zjadam" szyfrowane wiadomości i podstawiam na ich miejsce odszyfrowane. Z historią działa (odszyfrowane wiadomości zapisują się), więc nie zamierzam nic z tym robić na razie.
edit: może spróbuję innej metody podmiany wiadomości (WTW_EVENT_CHATWND_BEFORE_MSG_DISP2), na razie zostanie tak jak jest.
-
Co do 1 to strzelam, że jest to wina tego, że wtyczka/serwer GG tnie większe wiadomości na części. Wtedy zakodowany pakiet w formacie "B64-treść" zostaje ucięty i staje się nieprawidłowy.
Czyli z tym nie da się nic zrobić? GG ma ograniczenie na ilość znaków w jednej wiadomości, ale wklejane fragmenty są znacznie poniżej tego limitu (czyli nie powinny być za długie).
-
Fajna i przydatna wtyczka. Szkoda tylko że jak prosiłem o coś takiego jakieś 3 lata temu to mnie ludzie zje...chali że "niepotrzebna, bo jest SSL". No ale cóż, widać świadomość użytkowników z czasem również ulega poprawie :)
Dzięki za dobrą robotę :)
-
to że wtyczka powstała nie znaczy że ludzie dalej podzielają Twoje zdanie, po prostu powstała bo ktoś stwierdził, że ją napisze, mi ona w żaden sposób potrzebna ;p
-
W końcu znalazłem chwilę, żeby wypuścić wersję, którą miałem od dłuższego czasu na kompie (v. 0.0.2 w pierwszym poście). Tak jak mówiłem wcześniej zrezygnowałem z automatycznej wymiany kluczy na rzecz ręcznej.
-
Wtyczka bardzo przydatna i potrzebna. Dzięki.
Mam pytanie, czy planujesz rozszerzenie funkcjonalności o szyfrowanie konferencji? Mnie bardzo na tym zależy, myślę że znajdą się również inni potrzebujący.
-
Dzień dobry,
czy można by dodać do pierwszego okienka "Przekaż ten klucz 2 stronie:" możliwość wklejania klucza?
Uzasadnieniem jest fakt używania komunikatora na więcej niż jednym komputerze, a profile są przechowywane w każdym przypadku lokalnie. Gdy zmieniam komputer muszę generować nowy klucz niszcząc połączenie szyfrowane na komputerze używanym wcześniej.
-
I ostatni update pod nowe nightly dzisiaj (re-kompilacja pod VS2013).
Wersja 0.3.0.0. Linki w pierwszym poście.
-
Mam jedno pytanie - czy mówiąc o nightly miał Pan na myśli swoją wtyczkę, czy nightly wtf.
Jeśli wtf to która wersję?
Z góry zapytam, czy aktualizacja uwzględnia moją prośbę?
-
mucha (http://forum.k2t.eu/profile/mucha/) ma na myśli ntly WTW (http://minefield.k2t.eu/wtf/0.9/), chociaż na dzień dzisiejszy polecam bete (http://minefield.k2t.eu/wtf/Beta/), bo jest aktualniejsza. Aktualizacja będzie działać na tych wersjach.
-
Coś jest nie tak z nową wersją WTW i wtwCrypto
WTW (AMD64) - Build: 4161 (0. 9. 24. 4161)
wtwCrypto 0. 3. 0 (Build: 0)
Jeżeli włączone jest szyfrowanie, to wiadomości od nadawcy do odbiorcy dochodzą zdublowane. Co jest nie tak?
-
Wiadomości są dublowane, ale tylko w wtw, na serwerze normalnie. No i nie są szyfrowane. Z konsoli:
[213534::CRPT] Expanding encryption AES key failed
[213534::CRPT] Expanding decryption AES key failed
[213534::CRPT] Expanding encryption AES key failed
[213534::CRPT] Expanding decryption AES key failed
-
Wiadomości są dublowane, ale tylko w wtw, na serwerze normalnie. No i nie są szyfrowane. Z konsoli:
[213534::CRPT] Expanding encryption AES key failed
[213534::CRPT] Expanding decryption AES key failed
[213534::CRPT] Expanding encryption AES key failed
[213534::CRPT] Expanding decryption AES key failed
Potwierdzam, u mnie też jest ten błąd w konsoli, czyli szyfrowania brak. . .
-
To co, temat zdechł i nie ma co liczyć na to, że będzie to poprawione?