Ho bisogno di un modo per autenticare che un file è stato generato da un particolare computer che ha un ID univoco e un segreto casuale univoco noto anche all'autenticatore, come una difficoltà aggiuntiva che il produttore di file non può comunicare direttamente con la macchina di autenticazione. La mia attuale metodologia è la seguente:
File gen:
- File Producer passa il tempo e il segreto a un algoritmo di hashing non reversibile ed esporta quello
{
id: 1337,
time: 1435102405,
oneTimekey: 99754106633f94d350db34d548d6091a,
...
}
Verifica di autenticità del file:
- Se l'ora specificata nel file è all'interno di limiti arbitrari e viene trovato un segreto associato all'ID, continuare altrimenti fallisce
- Passa il tempo e il segreto a un algoritmo di hashing non reversibile se corrisponde a oneTimeKey, quindi si presume che sia valido.
In questa metodologia devo memorizzare il segreto in un database, preferirei non farlo ma non riesco a pensare a un modo efficace per raggiungere questo obiettivo in altro modo. Ho guardato qualcosa? Posso ottenere questo risultato senza memorizzare il segreto sul lato di autenticazione?