Ma l'utente STA già utilizzando il tuo protocollo.
Il tuo problema è che l'interfaccia del tuo server di ciò che l'utente può fare non è sicura!
Tu decidi quali dati inviare il tuo server a chi!
(Ciao, cari giornali online. Sì, ti sto guardando!)
Progettalo , supponendo che l'utente sia il client. Non il tuo codice. Perché lo è. Non dovrebbe importare quale client viene utilizzato.
La tua app viene eseguita su una CPU che è sotto il controllo hardware dell'utente. Il tuo codice è solo un elenco di comandi / dati e l'utente e la sua CPU possono elaborarlo come preferiscono. Compreso non elaborarlo.
Decide cosa fa la sua CPU. Non confondere la sua grazia di accettare il codice della tua app così com'è con un diritto all'esecuzione cieca. Sei tu quello di cui si fida qui e quella fiducia è molto fugace.
Soprattutto con tattiche squallide come questa.
In ogni caso: dai all'utente la chiave di crittografia e tutto il resto e ti aspetti che per non usarlo da solo, perché lo metti da qualche parte nel tuo cestino di codice. … Proprio come DRM, quello è olio di serpente e non può mai funzionare.
Basta una persona per trovare dove metti la chiave. (Sarei io, ad esempio.) Tutti gli altri devono solo cercarlo su Google.
Ma sono sorpreso che tu pensi solo a crittografare il protocollo contro l'utente, invece che per la sua protezione dagli attacchi man-in-the-middle.
Supponendo che il motivo per cui questo viene solitamente fatto (Sì, sto parlando di nuovo con te "industria dei contenuti".): Se il tuo utente è il tuo nemico, forse dovresti cercare un modello di business basato sull'equità e su un vantaggio per tutti, invece di derubare l'utente e dover affrontare il contraccolpo.
PS: ignora tutte le risposte "sicurezza attraverso l'oscurità". Questo è un errore che si traduce in un comportamento corretto ma è ancora basato su presupposti non validi. Usarlo come argomento è, nella migliore delle ipotesi, amatoriale e poco competente.
In realtà, tutta la sicurezza passa attraverso l'oscurità. Alcuni sono solo più oscuri (= meglio mascherati). La vera ragione per cui questo è negativo, è perché ciò che chiamiamo sicurezza reale è un miliardo volte più oscuro, dandogli un'oscurità effettiva (statistica) affidabile, al contrario di molto semplice oscurità che è semplicemente troppo probabile perché qualcuno se ne venga fuori dal nulla.