Implementacja szyfrowania danych socketa (RSA?)

Implementacja szyfrowania danych socketa (RSA?)
lipkerson
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 2 lata
0

Witam

Przymierzam się do implementacji szyfrowania danych wysyłanych przez socket. Normalnie gdyby np. klient i serwer był w Javie to bym skorzystał z biblioteki kryptograficznej i tyle.
Problem jest taki, że łącze z jednej strony stand alone Java app a z drugiej zrobioną we flexie(fleszu) webową aplikację. Jest to koniecznie rozwiązanie ponieważ flaszka ma bardzo ograniczone możliwości integracyjne z nietypowym sprzętem.
Reasumując: aplikacja webowa komunikuje się przez socket z Java na komputerze lokalnym. Aplikacja webowa nie moze nic zapisac na komputerze lokalnym. Cały socketconnection jest na localhost.

I teraz moje pytanie:

Czy taki "wewnętrzny" socket powinien być szyfrowany? Czy nie wystarczy ochrona z Windows?
Jeżeli szyfrowany to czy jest konieczne szyfrowanie asymetryczne-inaczej: czy jest algorytm symetryczny który skutecznie mi zaszyfruje przesyłane bajty?

na razie zrobiłem sobie własne RSA z generacją kluczy i szyf/deszyfr. Skoro te klucze moge wewnetrznie umieścic w skompilowanym pliku-czyli nie ma nic publicznego-e,d i nawet n jest tylko do mojej wiedzy to czy dalej wymagane jest tak duży bitowy klucz jak 1024? Czy np 32bitowe by wystarczyły?
Co z inżynierią wsteczną-czy ktoś moze podsunać mi coś na temat "ukrywania" ważnych danych i ochrony ich przez RE?

Czy ktoś mogłby mi wskazać przejrzysty przykład implementacji szyfrowania logarytmem dyskretnym?

Dziękuję z góry:-)

PS: A mozę ktoś coś wie o jakieś kryptograficznej bibliotece we flaszce albo przynajmniej bibliotece odpowiadajaćej BigInteger z Javy?

Pozdro


Another jam from the world for the jam from the voices of the world......
Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:19 dni
  • Lokalizacja:Stacktrace
  • Postów:6821
0

Rzuć okiem na as3crypto, które podobno wspiera RSA we flaszce. Ułatwi życie.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
lipkerson
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 2 lata
0

Dzieki- też na to trafiłem nim napisałem na forum. Jednak bardziej przemawia za mną rozwiązanie, które sam napiszę ... nikt kogo znam i pisał coś nie korzystał z tego-na stronie falszki nie ma żadnej wzmianki o tym-a jedynie posty ludzi którzy sami jak ja chcą cos sami implementować.


Another jam from the world for the jam from the voices of the world......
Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:19 dni
  • Lokalizacja:Stacktrace
  • Postów:6821
0

Tak mi jeszcze na szybko przyszło do głowy czy ty korzystasz z HTTP do połączenia czy z bezczelnego połączenia na socketach? Flaszka na pewno ma wbudowaną obsługę HTTPS. Może z tego korzystać?


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
lipkerson
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 2 lata
0

Bezczelny socket - mam własny protokół interakcji sekwencyjnej i chodzi mi wszystko. wingroza pyta sie jedynie czy aby na pewno uruchamiany jar ma mieć dostęp do sieci i tyle:-)
Widzisz jakieś przeciwskazania?
Czym bedzie mi się tak naprawdę różnił mój program jakbym użył http?
Chyba tylko tym, że utrudniło by mi to napisanie protokołu interkacji.
Te dane które wysyłam to na pojedyńczych bajtach operują....


Another jam from the world for the jam from the voices of the world......
Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:19 dni
  • Lokalizacja:Stacktrace
  • Postów:6821
0

Przeciwwskazania... raczej nazwałbym to alternatywnym rozwiązaniem. Czy utrudniło by komunikację? Chyba na jedno by wyszło. Z drugiej strony wysyłasz małe ilości danych zatem własny protokół ma tą zaletę, że kontrolujesz narzut w postaci nagłówków. Jedyne co to szyfrowanie, które w przypadku http dostałbyś od ręki, a tak musisz pisać własne rozwiązanie i je potem utrzymywać (im mniej kodu tym lepiej). To są takie niuanse, które zależą od tego co tobie jest wygodniej zrobić.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.