"Servlet" sembra che tu stia già eseguendo un server complesso.
Ci sono molti modi in cui i protocolli perdono l'ora del server. Ad esempio, HTTP ha un campo di intestazione popolare per l'ora di creazione / modifica e i dati generati dinamicamente avrebbero sempre l'ora di sistema corrente, se usati correttamente.
Per motivi di autenticazione TLS, puoi anche cercare binarie per trovare la data e l'ora di un endpoint utilizzando i certificati client in scadenza.
Questo è un male necessario: se stai facendo TLS, il tuo server deve avere un'idea del tempo per sapere cos'è una chiave / certificato valido e cosa no . Se è così, molto probabilmente sarà un momento coordinato dall'NTP. Quindi, non puoi davvero dire nulla sul server che un utente malintenzionato non saprebbe già: c'è davvero solo un momento "corretto".
Se non stai facendo TLS: l'ora di sistema che perde è probabilmente non è la prima cosa da sistemare.
Per quanto riguarda la sicurezza: Non sono proprio sicuro che dovresti esporre ancora un altro servlet solo per i dispositivi per capire l'ora mondiale.
Per spiegare di più, questo endpoint verrà utilizzato dalle app mobili per migliorare la loro sicurezza (per evitare barare modificando la data del dispositivo).
Bandiera rossa . Dipende dalla mancanza di modifiche del tuo cliente per la sicurezza. Non farlo mai. Semplicemente non puoi fidarti di tutto ciò che accade sui dispositivi dei tuoi utenti. Questi non sono i tuoi dispositivi. Possono semplicemente collegare un debugger e modificare le nozioni di tempo in memoria del processo, indipendentemente dal fatto che sia mantenuto dal sistema operativo del telefono o dall'applicazione.