"Servlet" klingt so, als würden Sie dort bereits einen komplexen Server betreiben.
Es gibt viele Möglichkeiten, wie Protokolle die Serverzeit verlieren. Beispielsweise verfügt HTTP über ein beliebtes Headerfeld für die Erstellungs- / Änderungszeit, und dynamisch generierte Daten haben bei ordnungsgemäßer Verwendung immer die aktuelle Systemzeit.
Aus Gründen der TLS-Authentifizierung können Sie sogar eine binäre Suche suchen Datum und Uhrzeit eines Endpunkts mithilfe ablaufender Client-Zertifikate.
Dies ist ein notwendiges Übel. Wenn Sie TLS ausführen, muss Ihr Server eine Vorstellung von der Zeit haben, um zu wissen, was ein gültiger Schlüssel / Zertifikat ist und was nicht . Wenn dies der Fall ist, wird dies sehr wahrscheinlich eine NTP-koordinierte Zeit sein. Sie können also wirklich nichts über den Server sagen, was ein Angreifer nicht bereits wissen würde - es gibt wirklich nur eine "richtige" Zeit.
Wenn Sie kein TLS ausführen, ist es wahrscheinlich, dass die Systemzeit verloren geht Nicht das erste, was Sie beheben sollten.
In Bezug auf die Sicherheit: Sie sind sich nicht sicher, ob Sie ein weiteres Servlet verfügbar machen sollten, damit Geräte die Weltzeit ermitteln können.
Um mehr zu erklären, wird dieser Endpunkt von mobilen Apps verwendet, um deren Sicherheit zu verbessern (um Betrug durch Anpassen des Gerätedatums zu vermeiden).
Rote Fahne . Sie sind abhängig von der Unverändertheit Ihres Kunden in Bezug auf die Sicherheit. TU das niemals. Sie können einfach nicht darauf vertrauen, dass auf den Geräten Ihres Benutzers etwas passiert. Dies sind nicht Ihre Geräte. Sie können einfach einen Debugger anschließen und Zeitvorstellungen im Speicher Ihres Prozesses ändern, unabhängig davon, ob sie vom Betriebssystem des Telefons oder von Ihrer Anwendung gespeichert werden.