Ho creato un servizio scritto in c che viene eseguito sul sistema operativo Android come servizio principale. Ho alcune app Android che comunicano con questo servizio tramite una connessione socket (Java - > C).
Il mio problema è che chiunque può aprire una connessione al mio servizio se sa quale porta sta usando. Le applicazioni non hanno credenziali e funzionano solo nella sandbox Android.
Quali metodi posso utilizzare per provare almeno a evitare che l'app non valida acceda a questo servizio? come il suo host locale ssl non sembra rilevante?
Entrambe le app sono compilate in modo da poter condividere una chiave segreta tra di loro, ma le app Android potrebbero essere decompilate.
Come si possono normalmente proteggere le connessioni client / server sulla stessa macchina?