Come autenticare un programma client specifico? [duplicare]

1

Ho un'applicazione server che fornisce funzioni a un programma client. Anche il cliente è programmato da me. Ora voglio autenticare il programma client stesso (non qualsiasi utente) prima di utilizzare il mio servizio. Voglio ottenere che il mio servizio possa essere utilizzato solo eseguendo il mio software client. Il problema è che sia il server che il client non sono necessariamente connessi a Internet. Pertanto, qualsiasi autenticazione tramite una terza entità non può essere utilizzata.

Secondo me, alcuni segreti devono essere compilati nell'eseguibile del programma client e qualcosa come una procedura di risposta alla sfida deve essere eseguita.

Cosa ne pensi di questo pensiero o hai qualche altra idea?

Ho già pensato a un certificato client ma anche il certificato stesso deve essere compilato nell'eseguibile.

Grazie in anticipo.

    
posta Iniesta8 17.10.2018 - 18:30
fonte

1 risposta

4

Non puoi garantire che il programma che parla al server sia il tuo programma. Qualsiasi cosa sul lato client può essere compromessa e qualsiasi comunicazione proveniente dal client può essere modificata.

L'industria del gioco multiplayer sta affrontando una battaglia plurisecolare contro il tipo di problema che hai dichiarato, e anche con milioni di finanziamenti, programmatori esperti e un sacco di soldi in gioco, non possono impedire alle persone di utilizzare software client personalizzato per interferire con i loro sistemi.

some secret has to be compiled into the executable

E l'attaccante può estrarre questo segreto, decodificare il protocollo challenge-response e scrivere il proprio client.

thought about a client certificate

Non funzionerà. Gli aggressori possono estrarre il certificato e utilizzarlo in modo improprio, come il segreto.

Puoi offuscare il codice, aggiungere certificati, aggiungere dati segreti, checksum e qualsiasi misura sul lato client, non impediranno a un utente malintenzionato dedicato di scrivere il proprio client se ha abbastanza incentivi.

    
risposta data 17.10.2018 - 19:18
fonte