Se si vuole garantire che un file è valido (untampered ed è venuto dalla corretta fonte/attesi), ci sono due cose che puoi fare: hashing e firma.hashing vs. binari firma
Per gli scopi della mia domanda, hashing significa fornire un hash del file (insieme al file) da scaricare. Il client scarica l'hash e il file, ricalcola l'hash e verifica che corrisponda all'hash scaricato; questo "prova" che il file non è stato confinato.
La firma significa utilizzare uno schema di crittografia pubblico-privato, in cui si firma il file binario con una chiave pubblica e il client utilizza la chiave privata per verificare di aver effettivamente firmato la chiave.
In base a queste definizioni, non vedo realmente quale sia il principale vantaggio della firma di qualcosa contro l'hashing. Entrambi dovrebbero dimostrare che il file non è stato manomesso.
L'unica cosa che posso vedere è che con l'hashing, un server compromesso potrebbe significare che qualcuno potrebbe anche compromettere l'hash e sostituire un binario malevolo con una chiave corrispondente; ma con uno schema pubblico-privato, finché la chiave privata rimane privata, non c'è modo di creare un file dannoso.
O mi manca qualcosa?
Questa è forse una domanda migliore per http://security.stackexchange.com. –
@MattBall in questo caso, si prega di nominarlo per spostarsi. – ashes999