Zabespieczanie połączenia klient-serwer

0

Witam

Chciałbym poruszyć temat dotyczący zabezpieczania połączenia pomiędzy klientem a serwerem (nie używając SSL) a konkretniej sposobu szyfrowania danych od i do klienta. Zależy mi na stworzeniu takiego skryptu w PHP lub PHP + JS który zabezpieczał by w jakiś sposób dane odbierane i wysyłane do klienta. Czy ktoś podpowie jak się do tego zabrać i jakiej metody zabezpieczania danych na stronach www użyć?

0

Skreslajac SSL, eliminujesz najbezpieczniejsza i najwygodniejsza metode rozwiazania problemu... bo sprawdzona a nie domowej roboty. JS przed niczym nie zabezpieczy, bo po stronie klienta mozna bez jakiegokolwiek wysilku obejzec kod skryptow.

0

Skreślam SSL dlatego iż instalacja SSL nie jest łatwa i nie zawsze jest możliwa(jeśli się np używa bezpłatnego hostingu) A skrypt JS można napisać na każdym serwerze i przy dobrym stworzeniu takiego skryptu strona będzie bezpieczna(Choć nie tak bezpieczna jak SSL) A jeszcze jednym argumentem skreślającym SSL jest certyfikat (A dokładnie koszta) bo SSL nie ma sensu bez certyfikatu

0

Certyfikat możesz sobie sam wygenerować wcale nie trzeba go kupowac... Instalacja jest banalnie prosta (są wersje np Apacha z wbudowanym SSL), hosting udostępniający SSL też nie tak cięzko znaleŹć (zawsze można też ponegocjować z adminiami hostingu).
Jeżeli chcesz już kodować jakoś dane to bez użycia mechanizmów wbudowanych w przeglądarki będzie to trudne. Stosowanie JS do zabezpieczeń mija się z celem bo jak zauwazyl kolega Szczawik skrypt mozna w kazdej chwili podejrzec i nici z tajemnicy.
Szczerze cięzko widzę takie zabezpieczanie.

0

Taki wlasny certifikat jest przez przegladarki jako nie wiarygodny widziany. Trzeba specjalnie go sciagnac i zaakceptowac. Dla osob nie doswiadczonych jest to moze problem, pomysla sobie ze im strona sie nie zaladowala albo nie dziala.
Nie uwazam ze stosowanie JS mija sie scelem. Co Ci da ze skrypt sobie podejrzysz?. Problem zlamania opiera sie na matematyce a nie kodzie. Jest przeciez mozliwe zrobienie skryptu, ktory wysle sie klientowi. Skrypt wygeneruje odpowiednie klucze po stronie klienta i za pomaca Diffie-Hellman zostanie ustalony wspolny klucz sesyjny, ktory np. zapisze sie w cookie, zeby za kazdym polaczeniem nie ustalac tego od nowa. W skrypcie bedzie zaimplementowany algorytm np. AES z CFB . Rozszyfrowane dane beda wklejane w strone. Widzi ktos jakies zastrzezenia, oprocz tego ze zrobienie tego pochlonie troche czasu?

0

Nawet jak zaimplementujesz coś takiego na stronce to wystarczy na chwilę przekierować DNS na stronę z jej klonem i bez żadnego problemu ani ostrzeżenia użytkownika ściągnąć jego prywatny klucz lub co gorsza - dane które chcielibyśmy nim zabezpieczać.
Masz rację - zabezpieczeniem jest przede wszystkim matematyka... ale trzeba też pamiętać by nie pozwolić jej bez problemu podmienić na swoją. A właśnie za to tak naprawdę płaci się dla CA.

ps: Słyszałeś o CA cert?

0

CA cert ma ciekawe rozwiazanie ale zadna z moich przegladarek nie ma ich certifikatu i mimo to strona bedzie uwazana za nie wiarygodna.

Czemu klucz uzytkownika moze byc bez problemu sciagniety? dla kazdego uzytkownika bedzie generowany inny klucz sesyjny, ktory sie moze za kazdym requestem zmieniac. Problem raczej by byl. Bylo to by bardzo uproszczone SSL. Tyle ile uzytkownikow tyle roznych kluczy + zawszy inny przy nowym request.

0

To czy jest jakiś sposób na zabezpieczenie danych pomiędzy serwerem a klientem bez używania SSL czy tylko to zostaje

0

Jest. Koledzy zaczeli poruszać troche drażliwe tematy.
@mwil Oczywiście że się da, wszystko pięknie ładnie tylko ile czasu stracisz na taką samoróbkę? Pomyśl czy naprawdę warto się w to babrać skoro jest dobre i proste rozwiązanie.

Dla osob nie doswiadczonych jest to moze problem, pomysla sobie ze im strona sie nie zaladowala albo nie dziala.

Chyba każdy użytkownik internetu potrafi czytać? Ten komunikat nie jest napisany Bóg wie jakim technicznym językiem (chyba, że ktoś używa IE, tam faktycznie wygląda to jak błąd 404)...
Serwisy dostosowane do inteligencji/wiedzy szarych "użytkowników"... tak, ale wszystko ma swoje granice.

Wracając do tematu, wszystko się da, kolega @mwil podał przykłady, jest ich znacznie więcej, pewnie nawet jakies gotowce RSA zaimplementowane pod JS by sie znalazly, pytanie czy jest sens sie w to bawić?

0

Wróciłeeem! :P
Na niektórych forach (Simple Machines) używa się w formularzach SHA1(SessionKey + Password) jeśli nie ma SSL. To też jest jakieś zabezpieczenie, ale po wyłączeniu JS daje d**y.

0

Czyli pozostaje tylko SSL :( . A co do JS to prawie każdy ma włączony w przeglądarce bo inaczej wiekszości serwisów nie zadziałała by

1 użytkowników online, w tym zalogowanych: 0, gości: 1