Convalida della risposta del server [chiusa]

-3

Ho scritto un'API REST e un programma c #.

come convalidare che la risposta sia reale e dal mio server.

SCENARIO: distribuisco un freeware a una certa comunità, che richiederà quindi che si registrino per continuare.

al momento dell'accesso, il resto delle API risponde con un% JSON% di JSON. (Ho aggiunto un login, in modo da poter controllare chi può usare la suddetta applicazione)

in fondo alla mia mente una persona potrebbe impostare un nome host falso e inoltrare il traffico a un server web locale per intercettare i dati e rispondere al JSON. come posso evitare questo?

    
posta Joe 03.06.2015 - 04:35
fonte

1 risposta

2

Risposta breve: non puoi.

Se è sul client, non c'è modo di evitare questo scenario se l''attaccante' è dedicato. Semplicemente non è possibile forzare la propria applicazione a parlare solo con il proprio server in quanto l'utente può intercettare e manomettere la comunicazione, forzarla su altri server e restituire risposte predefinite.

Potresti renderlo più difficile utilizzando una serie di tecniche per proteggere la comunicazione tra server e client: utilizzare SSL / TLS, crittografare le comunicazioni tra le applicazioni con crittografia a chiave pubblica / privata e così via.

Ma se il tuo "attaccante" è dedicato, dimenticalo. Basta guardare giochi come Diablo III e SimCity. Hanno richiesto connessioni persistenti e persone molto intelligenti che scrivono un sacco di codice, tuttavia questi giochi sono spesso violati entro pochi giorni dal rilascio. E anche se la tua comunicazione è sicura al 100%, apri l'EXE con un editor esadecimale e manometterlo funziona altrettanto bene.

    
risposta data 03.06.2015 - 14:33
fonte

Leggi altre domande sui tag