Diciamo che sto creando un programma che funziona offline, quindi le informazioni sulle password devono essere archiviate localmente (lo so, non ottimale, ma questo è solo un mio progetto personale). In termini di sicurezza della password, ho pensato di utilizzare un KDF come PBKDF2 o scrypt per ricavare due chiavi dalla password, una per l'autenticazione e un'altra per la crittografia / decrittografia per mantenere le informazioni sensibili all'interno del programma stesso.
Ora diciamo che volevo aggiungere una funzionalità aggiuntiva che l'utente potesse limitare i tentativi di password in modo tale che il superamento di questi limiti avrebbe bloccato un potenziale aggressore fuori dal programma per un certo periodo di tempo. La mia domanda sarebbe come mantenere informazioni come il numero di tentativi fatti con la password sicura? Ad esempio, il programma registrerà il numero di tentativi effettuati in un file in modo che se un potenziale aggressore dovesse chiudere e riaprire il programma, il numero di tentativi già effettuati è stato salvato. Quale sarebbe un metodo che potrei impiegare per proteggere questo registro in modo tale che un utente malintenzionato non sia in grado di entrare e modificare il numero di tentativi registrati per dire 0 e procedere per un numero illimitato di tentativi?