Smart Card per chiave privata RSA per SSL?

5

Ho un YubiKey NEO che ha molte capacità incredibili come OTP, U2F e PGP smart card per PGP / GPG e persino chiavi SSH. Una delle applicazioni che ho scoperto di recente per il dispositivo è un applet PIV che puoi utilizzare per archiviare in modo sicuro una chiave RSA privata del certificato SSL.

Trovo che questo sia piuttosto affascinante, poiché rende molto più difficile l'accesso fisico per rubare un certificato SSL.

È possibile utilizzare una smart card come questa per la chiave privata di un server SSL? Non ho mai visto la configurazione in Apache o nginx che sembrerebbe indicare supporto per qualcosa di diverso dalle chiavi private SSL basate su file.

Inoltre, la demo fornita per l'applet PIV mostra come creare un file locale- chiave privata basata e quindi inviarla alla smart card; c'è un modo per creare la chiave in modo sicuro sulla carta, in modo che non venga mai memorizzata da nessuna parte? So che potrei semplicemente memorizzarlo su un disco RAM / file system in modo che non venga mai scritto sul disco, ma esiste un modo per generarlo sul dispositivo, come è possibile utilizzare OpenPGP per le chiavi PGP?

    
posta Naftuli Kay 31.12.2014 - 23:17
fonte

2 risposte

1

I've never seen configuration in Apache or nginx which would seem to indicate support for anything other than file-based SSL private keys.

Si sta utilizzando Yubikey come modulo di sicurezza hardware (HSM). La chiave viene memorizzata e non lascia mai l'HSM e tutte le operazioni di crittografia e decrittografia vengono eseguite su HSM. Il Yubikey sembra soddisfare tali requisiti.

Potrebbe essere necessario scrivere il proprio driver PKCS # 11 poiché non ce n'è uno là fuori. Per il lato server, dovresti utilizzare mod_nss anziché mod_ssl . mod_nss ti consente di utilizzare un driver PKCS # 11 personalizzato mentre mod_ssl utilizza il motore openssl predefinito.

Rispetto ad altri HSM costruiti appositamente, non sono sicuro della stabilità dell'uso di Yubikey come HSM. Questo perché il caso d'uso principale di un yubikey è per le applicazioni che richiedono un accesso una tantum, ad es. autenticazione, crittografia di una e-mail e non per applicazioni che richiedono un accesso continuo. Un server sotto carico potrebbe sopraffare la Yubikey e produrre prestazioni lente.

    
risposta data 01.01.2015 - 13:55
fonte
0

Apache supporta la specifica del dispositivo crittografico. La direttiva è chiamata SSLCryptoDevice . Puoi specificare

Pkcs11 come dispositivo. Aggiornamento: secondo questa risposta non è supportato con mod_ssl. Questa risposta suggerisce mod_nss, che lo supporta. Secondo link mod_gnutls supporta anche pkcs11.

    
risposta data 14.05.2018 - 04:00
fonte

Leggi altre domande sui tag