PDA

Prikaži potpunu verziju : Sigurni web servisi


Ivan-94
17.7.2012, 1:22
Nemam mogucnosti da pisem server jer je shared hosting ali tu su web servisi koje cu da radim u PHP-u, i klijenta u C++.
Da li neko ima ideju kako da osiguram "razgovor" izmedju klijenta i servisa(http), da izbegnem MITM i slicne napade? Posto ce da se prenose veoma osetljive informacije.

Fantastic
17.7.2012, 22:45
mozda je bolje da koristis HTTPS

Geomaster
20.7.2012, 18:14
Najbolje bi bilo da koristiš HTTPS, a ako baš nisi u mogućnosti onda koristi neki public-key algoritam (http://en.wikipedia.org/wiki/Public-key_cryptography) za šifrovanje (RSA (http://en.wikipedia.org/wiki/RSA_%28algorithm%29) kao prvi kandidat mi pada na pamet, ima slobodna implementacija u OpenSSL (http://www.openssl.org/) biblioteci). MITM onda može da uhvati javne ključeve klijenta i servera, mogao bi ako može da menja saobraćaj između klijenta i servera i da lažira informacije koje su poslate ali nikako neće moći da vidi cleartext podataka koji se šalju. S obzirom da je RSA dosta spor zbog operacija koje se koriste (stepenovanje, kao prvo), mogao bi pomoću RSA da uradiš samo key exchange a onda komunikaciju vršiš korišćenjem nekog stream ciphera kao što je RC4 (http://en.wikipedia.org/wiki/RC4). (Sličan pristup se, koliko ja znam, koristi i u HTTPS-u i ostalim SSL/TLS-baziranim protokolima.)

Neutrino
20.7.2012, 18:42
SSL sertifikat nekog poznatijeg registra sa obaveznom klijentskom peer verifikacijom bi trebalo da bude dovoljno. Ako ti se servis nalazi na serveru sa statičkom IP adresom osiguraj u kodu klijenta da se podaci vuku isključivo sa naznačene IP adrese itd. itd.

Geomaster
20.7.2012, 18:51
^ Spomenuo je shared hosting tako da ne znam koliko je to izvodljivo, ja sam imao ogavna iskustva s takvim stvarima...

Neutrino
20.7.2012, 19:03
Nisam primetio u toku čitanja. "Shared hosting" i "siguran web servis" su dva termina koji ne idu zajedno ni u naučnoj fantastici. Za tako nešto je potreban minimalno VPS ili još bolje dedicated server sa statičkom IP adresom.