Come può un server sapere se si sta connettendo con una particolare app tramite TCP o no?

0

Se una particolare app in fase di sviluppo utilizza tcp per connettersi a un server, in che modo il server può essere sicuro che la connessione venga effettuata da tale app? So che le fonti possono essere facilmente falsificate e le destinazioni possono essere acquisite dai pacchetti sniffando, ma come potrebbe un'app differenziare i propri pacchetti da un mittente che non utilizza l'app?

Grazie mille in anticipo.

    
posta silversam 29.07.2017 - 01:23
fonte

2 risposte

2

Non c'è modo di essere sicuri che il traffico provenga da un'app specifica. Poiché l'app è sotto il controllo dell'utente, l'utente può sempre creare una propria applicazione che funzioni come l'applicazione destinata al server. Ci sono modi per rendere più difficile per qualcuno fare questo e posso fornire maggiori dettagli se vuoi.

    
risposta data 29.07.2017 - 03:18
fonte
0

Puoi avere l'autenticazione reciproca attraverso una varietà di meccanismi:

  1. Certificati SSL / TLS basati su client, unici per l'app incorporata che i client devono utilizzare per la connessione / autenticazione. Esempio in IIS
  2. Come menzionato Nat, HMAC e altre implementazioni Esempio per Android Dev
  3. Se parli in termini di una connessione TCP "pura", non c'è davvero molto da L4-- ma suppongo che se non vuoi farlo a L7 potresti fare qualcosa come un TCP / IP impilare l'impronta digitale sugli attributi L2-L4 per quella sessione e associarla con una sorta di valutazione di confidenza minima basata su ciò che l'app spingerebbe verso il basso nello stack su un client legittimo. P0f potrebbe essere qualcosa di interessante se stai facendo un L4.
risposta data 29.07.2017 - 07:06
fonte

Leggi altre domande sui tag