Quali di queste opzioni sono effettivamente in linea con gli standard?
Nel software che genera certificati client SSL da distribuire al software client per l'autenticazione in un sistema chiuso, se il campo NotBefore
è impostato su il tempo di generazione , o quella volta sottratto da qualche margine ?
I principali punti di preoccupazione qui sono:
- Clock-skew tra il server di generazione e il server di autenticazione.
- Clock-skew sul sistema operativo del client.
- Qualsiasi vulnerabilità derivante dall'andare troppo permissivo alla data
NotBefore
.
Le opzioni sono:
- Includere il margine di manovra nella data
NotBefore
. - Non aggiungere margine di manovra alla data
NotBefore
ma invece tenerlo attivo durante la convalida. (A prima vista, questa non sembra essere un'opzione comune, quindi è probabile che coinvolga l'implementazione di SSL a basso livello sul software server.) - Non aggiungere margine di manovra e gestire il clock-skew direttamente sui server. (Questo non gestisce il client, ma un piccolo campione di API che ho visto (vale a dire .NET Framework) non sembra importare di scegliere i certificati ancora in attesa.)