Stiamo facendo un proof of concept project per un cliente per introdurre l'autenticazione con smart card per i suoi amministratori delle operazioni. Autenticazione nel contesto del client significa principalmente accesso SSH. Abbiamo riscontrato uno scenario di utilizzo problematico: gli amministratori spesso emettono comandi bulk contro molte centinaia di macchine remote. Ciò ha richiesto un tempo in precedenza insignificante, ma richiede decine di minuti con la smart card.
Ho eseguito alcuni benchmark di base e ho scoperto che l'operazione di crittografia basata su smart card richiede in effetti centinaia di volte di più rispetto ad openSl con le chiavi su disco. Ciò che richiede OpenSSL spesso in media meno di un millisecondo, la smart card raramente in meno di 0,5 secondi. Sembra ancora veloce, ma moltiplicato per centinaia diventa una parte importante del ritardo osservato (insieme ad altri rallentamenti indotti da smart card / driver). Ho cercato quale velocità è normale nelle smart card o se ci sono altri moduli di crittografia hardware personali progettati per la velocità, ma mi sembra che per l'uso personale la velocità degli algoritmi basati su RSA a 2048 bit non sia mai inferiore a diverse centinaia di millisecondi. p>
Qual è la buona architettura per l'utilizzo di token hardware su larga scala? Possiamo impostare un server di distribuzione chiavi per chiavi di breve durata che potrebbe essere aggiunto all'agente ssh, in modo che solo l'autenticazione a tale server sia protetta da smart card e l'altra connessione sia protetta dalla chiave software fornita, ma la considero la meno attraente possibilità.