[Tecnica] Connessione sicura

Paolo Sammicheli xdatap1 a siena.linux.it
Ven 18 Lug 2014 11:07:00 BST


Il 17/07/2014 16:42, Marcello Semboli ha scritto:
> Ciao a tutti.
> Ho fatto una app android che fa votare la gente.
> Su un server tophost ci sono un paio di web service in php, uno che
> salva il voto, un altro che restituisce il totale dei voti in JSON.
> La app usa i due web service per registrare il voto e per  leggere i
> risultati.
> 
> Non vorrei però che qualcuno scoprisse la url e si mettesse a buttarci
> dati falsi.
> 
> SSH temo di non poterlo usare, ho letto che tophost non lo supporta, e
> poi da una app usare ssh non è banale.
> 
> Pensavo di passare i dati come stringa criptata, ma è abbastanza inutile
> perché se io sniffo la url
> http://ciao.com/webservice1.php?key=ka2sjk3jsf4gsd6f
> è sempre una URL che posso copiare su un browser. Il server non si
> accorge che non proviene dalla app.
> 
> Avete una soluzione semplice?

Cifri (o firmi, se ti torna meglio) con una chiave asimmetrica la frame
dei dati che mandi al server con una chiave che nascondi dentro al
codice. Nel frame includi un timestamp in modo che se uno cattura
l'intera frame e la ritrasmette pari pari il server la rifiuta dopo un
tempo x (oppure uno uidd che il client genera e che il server si annota
per ricordarsi le frame ricevute e riconoscere eventuali duplicati).

L'unico modo che ha l'attaccante di andare sull'url e postare dati falsi
è disassemblare l'applicazione per catturare la chiave. Cosa che non è
improbabile se fossero transazioni finanziare ma trattandosi di
pronostici sul palio...

Ciao
-- 
Paolo Sammicheli
Email: xdatap1(at)siena.linux.it
Slug - Siena Linux User Group | http://www.siena.linux.it
- Do what you like. Like what you do -


Maggiori informazioni sulla lista Tecnica