Se viene modificata un'applicazione mobile firmata, la sua firma e il suo checksum diventano non validi.
È possibile forgiare una nuova firma valida?
In teoria, sì, è possibile creare un'applicazione arbitraria e applicarla in modo tale che l'hash corrisponda, ma in realtà ciò è estremamente difficile da impossibile a meno che l'hash utilizzato non abbia noti punti deboli.
Un buon hash funziona perché ha un gran numero di output possibili ed è difficile prevedere l'output dall'input. Finché l'hash riesce a soddisfare questi due criteri, un utente malintenzionato dovrebbe forzare una fenditura forzata apportando modifiche al proprio programma fino a quando non è possibile ottenere una collisione dell'hash. Dal momento che lo spazio di collisione è così grande sui moderni hash sicuri, richiederebbe tempi imprecisamente lunghi (secoli o più) per generare una collisione hash anche mentre si impiegano i livelli governativi di elaborazione per generare una collisione.
Le probabilità per l'attaccante di migliorare un po 'se stanno cercando di produrre una "buona versione" e una "cattiva versione" che corrispondono intenzionalmente poichè possono "incontrarsi nel mezzo" facendo un mucchio di diverse buone build e un un sacco di diversi cattivi e solo bisogno di due di loro per abbinare, ma è ancora altamente impraticabile a causa della quantità di calcolo necessario per gestire anche con hash crittografia moderna sicura.
Potrebbero esserci diversi modi per modificare il codice senza cambiando la firma:
Leggi altre domande sui tag mobile software digital-signature integrity