Comunicazione sicura tra l'applicazione .Net e il sito web

0

Recentemente, abbiamo sviluppato un'applicazione che vogliamo che gli utenti paghino per un abbonamento mensile per poterlo utilizzare. Quindi, la prima cosa che ci è venuta in mente è come implementare un modo sicuro per la nostra applicazione per verificare la validità degli utenti e quelle idee sono emerse

  1. Utilizzare WebClient per accedere al nostro sito Web e accedere utilizzando l'utente credenziali fornite: tuttavia, potrebbe essere vulnerabile a MITM attacco.
  2. Utilizzo del primo approccio, ma utilizzando il certificato di SSL (per essere sicuro che ci stiamo connettendo al nostro server e non agli attaccanti '): Tuttavia, Fiddler può facilmente eseguire un attacco di MITM e decrittografare SSL comunicazione, che si tradurrà nella stessa vulnerabilità di primo approccio.

A causa della mancanza di documentazione su Internet di ciò di cui abbiamo bisogno, abbiamo dovuto chiedere a qualcuno di spiegare come possiamo assicurarci che:

  1. La nostra applicazione si collega solo al nostro server e non a nessun falso ospitato server (dall'attaccante).
  2. La comunicazione è sicura. Non alterato o modificato come in ordine per garantire un accesso ingiusto alla nostra applicazione. (inviando un falso risposta all'app o modifica della risposta originale prima del l'applicazione lo riceve (replay attack) ).
posta Danny Rob 17.03.2014 - 18:16
fonte

1 risposta

0

Non puoi impedire a un utente sofisticato di violare l'applicazione. L'unica cosa che puoi fare è rendere le tue misure di sicurezza difficili da aggirare. Da quello che ho capito la tua applicazione fornisce tutte le funzioni a meno che il tuo server non dica "no". Hai diversi modi per ottenere questo

Plaintext : facile da aggirare. Modifica il file hosts, scrivi uno pseudo-server, fatto.

Trasporto crittografato : leggermente più difficile da aggirare. Aggiungi un certificato Root-CA, scrivi uno pseudo-server, fatto.

Messaggio crittografato : l'applicazione genera una richiesta crittografata, il server risponde con una risposta crittografata. Difficile da aggirare a livello di rete. Dovresti estrarre la chiave dall'applicazione (che può essere offuscata nel codice). Qui dovresti usare nonce per prevenire attacchi di replay.

Sempre possibile : trova le istruzioni che dicono sì / no all'interno dell'applicazione, patch per dire sempre sì, fatto: -)

    
risposta data 17.03.2014 - 19:56
fonte

Leggi altre domande sui tag