Supponendo che abbia una topologia server / client, attualmente sto affrontando il problema che voglio generare qualche chiave sul lato client e in qualche modo fare in modo che il server remoto lo ottenga in sicurezza.
Sto usando AES su entrambe le parti, quindi in pratica quello di cui ho bisogno è generare un IV casuale e una chiave segreta casuale, ma come condividerlo con il server in modo che possa successivamente decrittografare messaggi?
Il lato server è un server Web Apache / PHP, quindi le richieste verranno inviate tramite POST
, e userò un certificato SSL
di sicuro, ma non sono sicuro se questo è sufficiente per inviare i dati in modo sicuro all'altro lato.
Apprezzerei qualsiasi approccio / idea per questo.
---- EDIT ----
Questa è in realtà un'app del sistema operativo Android. Invece di usare Socket
s diretto contro il server, uso HTTP POST
richieste dal lato client al server e Google Cloud Messages
nel modo opposto simulando un comportamento multicast poiché il server invierà nuovi eventi agli utenti sottoscritti .
Ma questi messaggi verranno inviati solo agli utenti registrati, quindi prima di inviarne uno devo registrare l'utente e quindi condividere la chiave tra server e client, questa è la motivazione della domanda.