Autor Wątek: [wtwCrypto] Szyfrowanie rozmów pomiędzy 2 użytkownikami  (Przeczytany 20367 razy)

0 Użytkowników i 1 Gość przegląda ten wątek.

Offline mucha

  • Senior Developer
  • Młodzież
  • *
[wtwCrypto] Szyfrowanie rozmów pomiędzy 2 użytkownikami
« dnia: 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
« Ostatnia zmiana: Kwietnia 03, 2014, 20:25:10 pm wysłana przez mucha »

Offline kruca

  • Narybek
  • *
Odp: [wtwCrypto] Szyfrowanie rozmów pomiędzy 2 użytkownikami
« Odpowiedź #1 dnia: Kwietnia 09, 2012, 17:42:39 pm »
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ę.

Offline bzzzz

  • Narybek
  • *
wtwCrypto-x64 - problem szyfrowania przy kopiowaniu ze schowka
« Odpowiedź #2 dnia: Września 21, 2012, 17:24:34 pm »
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?

Offline mucha

  • Senior Developer
  • Młodzież
  • *
Odp: wtwCrypto-x64 - problem szyfrowania przy kopiowaniu ze schowka
« Odpowiedź #3 dnia: Września 21, 2012, 17:45:00 pm »
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.

Offline bzzzz

  • Narybek
  • *
Odp: wtwCrypto-x64 - problem szyfrowania przy kopiowaniu ze schowka
« Odpowiedź #4 dnia: Października 12, 2012, 10:15:52 am »
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.

Offline mucha

  • Senior Developer
  • Młodzież
  • *
Odp: wtwCrypto-x64 - problem szyfrowania przy kopiowaniu ze schowka
« Odpowiedź #5 dnia: Października 12, 2012, 10:28:19 am »
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.
« Ostatnia zmiana: Października 13, 2012, 12:11:54 pm wysłana przez mucha »

Offline bzzzz

  • Narybek
  • *
Odp: wtwCrypto-x64 - problem szyfrowania przy kopiowaniu ze schowka
« Odpowiedź #6 dnia: Października 12, 2012, 10:48:50 am »
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.
« Ostatnia zmiana: Października 12, 2012, 12:23:08 pm wysłana przez bzzzz »

Offline mucha

  • Senior Developer
  • Młodzież
  • *
Odp: wtwCrypto-x64 - problem szyfrowania przy kopiowaniu ze schowka
« Odpowiedź #7 dnia: Października 12, 2012, 13:51:59 pm »
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.
« Ostatnia zmiana: Października 12, 2012, 14:10:01 pm wysłana przez mucha »

Offline bzzzz

  • Narybek
  • *
Odp: wtwCrypto-x64 - problem szyfrowania przy kopiowaniu ze schowka
« Odpowiedź #8 dnia: Października 13, 2012, 12:37:42 pm »
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).

Offline kosilapci

  • Narybek
  • *
Odp: [wtwCrypto] Szyfrowanie rozmów pomiędzy 2 użytkownikami
« Odpowiedź #9 dnia: Października 15, 2012, 10:52:16 am »
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ę :)
It's time to kick ass and chew bubblegum... and I'm all out of gum.
---
Your face, your ass... what's the difference.

Offline refresh

  • Grammarnazi
  • Global Moderator
  • Starszyzna
  • *
  • Ciasteczkowy Potwór :3
Odp: [wtwCrypto] Szyfrowanie rozmów pomiędzy 2 użytkownikami
« Odpowiedź #10 dnia: Października 15, 2012, 11:59:33 am »
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

Offline mucha

  • Senior Developer
  • Młodzież
  • *
Odp: [wtwCrypto] Szyfrowanie rozmów pomiędzy 2 użytkownikami
« Odpowiedź #11 dnia: Grudnia 03, 2012, 13:16:24 pm »
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.

Offline telesfor

  • Narybek
  • *
Odp: [wtwCrypto] Szyfrowanie rozmów pomiędzy 2 użytkownikami
« Odpowiedź #12 dnia: Lipca 09, 2013, 11:03:55 am »
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.

Offline Joachim

  • Narybek
  • *
Odp: [wtwCrypto] Szyfrowanie rozmów pomiędzy 2 użytkownikami
« Odpowiedź #13 dnia: Sierpnia 23, 2013, 05:48:58 am »
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.

Offline mucha

  • Senior Developer
  • Młodzież
  • *
Odp: [wtwCrypto] Szyfrowanie rozmów pomiędzy 2 użytkownikami
« Odpowiedź #14 dnia: Kwietnia 03, 2014, 20:25:24 pm »
I ostatni update pod nowe nightly dzisiaj (re-kompilacja pod VS2013).

Wersja 0.3.0.0. Linki w pierwszym poście.

Offline Joachim

  • Narybek
  • *
Odp: [wtwCrypto] Szyfrowanie rozmów pomiędzy 2 użytkownikami
« Odpowiedź #15 dnia: Kwietnia 17, 2014, 06:24:19 am »
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ę?

Offline ba2

  • Live Chat Support
  • Młodzież
  • *
  • #wtw Live Chat Resident
    • #wtw @ QuakeNet^IRC
Odp: [wtwCrypto] Szyfrowanie rozmów pomiędzy 2 użytkownikami
« Odpowiedź #16 dnia: Kwietnia 17, 2014, 07:39:14 am »
mucha ma na myśli ntly WTW, chociaż na dzień dzisiejszy polecam bete, bo jest aktualniejsza. Aktualizacja będzie działać na tych wersjach.
#wtw Live Chat Resident

Offline bzzzz

  • Narybek
  • *
Odp: [wtwCrypto] Szyfrowanie rozmów pomiędzy 2 użytkownikami
« Odpowiedź #17 dnia: Maja 30, 2014, 13:18:29 pm »
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?

Offline hoopak

  • Narybek
  • *
Odp: [wtwCrypto] Szyfrowanie rozmów pomiędzy 2 użytkownikami
« Odpowiedź #18 dnia: Maja 31, 2014, 19:40:50 pm »
Wiadomości są dublowane, ale tylko w wtw, na serwerze normalnie.  No i nie są szyfrowane.  Z konsoli:
Cytuj
[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

Offline bzzzz

  • Narybek
  • *
Odp: [wtwCrypto] Szyfrowanie rozmów pomiędzy 2 użytkownikami
« Odpowiedź #19 dnia: Czerwca 01, 2014, 08:00:53 am »
Cytat: hoopak link=topic=4172. msg35554#msg35554 date=1401565250
Wiadomości są dublowane, ale tylko w wtw, na serwerze normalnie.   No i nie są szyfrowane.   Z konsoli:
Cytuj
[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. . .