No, le applicazioni resistenti alle manomissioni implementate esclusivamente nel software sono purtroppo impossibili.
Il software che gira sul computer dell'utente è sotto il controllo dell'utente. L'utente può estrarre qualsiasi chiave segreta dal programma, dalla memoria in fase di esecuzione o dal codice binario del programma. Un programma e / o i dati che utilizza non possono essere crittografati in modo efficace, perché per essere eseguiti e consultati devono essere decrittografati e la chiave di decrittografia e l'algoritmo di decrittografia devono essere disponibili in forma non crittografata.
Esistono degli offuscatori che rendono più difficile decifrare un programma, ma rallentano solo un determinato aggressore. Non possono fermarne uno completamente.
Per fare affidamento sul trusted computing è necessario disporre di hardware affidabile. Esistono soluzioni hardware disponibili per alcuni casi d'uso, come i dongle USB che possono contenere chiavi crittografiche che non espongono al dispositivo host e possono eseguire operazioni crittografiche in modalità black-box. Questi dispositivi sono in genere abbastanza resistenti alla manomissione del software, ma potrebbero comunque essere soggetti a manomissioni dell'hardware fisico.
Inoltre, qualsiasi dato ricevuto o inviato al sistema host può essere intercettato. Quando vuoi che i dati rimangano segreti, non deve lasciare il dispositivo attendibile.
Sfortunatamente non stai scrivendo abbastanza sul tuo caso d'uso esatto per indovinare se questa sarebbe un'opzione nella tua situazione e quali sono le insidie in cui potresti entrare.