PKCS # 11 sicurezza degli oggetti di sessione

4

The CKA_TOKEN attribute identifies whether the object is a token object or a session object.

Possiamo credere che quando l'oggetto PKCS # 11 ha l'attributo CKA_TOKEN impostato su true, allora è memorizzato in modo sicuro nella memoria del dispositivo abilitato PKCS # 11. Ad esempio la chiave AES segreta, specialmente quando non è estraibile.

Quali sono le chiavi di sessione e la loro sicurezza?

When a session is closed, all session objects created by the session are destroyed automatically, even if the application has other sessions “using” the objects.

Quindi chiunque sia in grado di intercettare la mia sessione sarà in grado di vedere il valore in chiaro della mia chiave segreta? Ad esempio, quando mi piacerebbe tradurre la chiave tra due punti finali, deve essere scartata e avvolta con una chiave diversa, il che significa che dovrebbe essere da qualche parte nella sessione in chiaro per un breve periodo di tempo. È nella memoria di sistema? O è in qualche modo protetto?

    
posta user1563721 16.03.2016 - 16:56
fonte

1 risposta

4

Le caratteristiche di archiviazione fisica non fanno parte della definizione di PKCS # 11. PKCS # 11 è una API : definisce il comportamento della libreria per quanto riguarda le chiamate di funzione, non per quanto riguarda la tecnologia attuale . Una libreria PKCS # 11 puramente software, con tutte le chiavi nella RAM, è perfettamente possibile (ed è esattamente ciò che il browser Web Firefox utilizza internamente).

Con CKA_TOKEN abilitato, la chiave dovrebbe essere permanente , cioè la troverai dopo aver aperto una nuova sessione. Non comporta necessariamente alcun tipo di protezione, sia durante l'utilizzo che durante l'archiviazione. C'è un altro attributo che si chiama CKA_EXPORTABLE, che dichiara se la chiave può essere esportata o meno; ma, ancora una volta, non qualifica gli attacchi, solo ciò che otterrai se chiami la funzione di esportazione. A seconda di come è implementata la libreria PKCS # 11, tutti i tasti possono essere spostati nella RAM ad un certo punto.

Se vuoi sapere dove sarà esattamente la tua chiave, allora dovrai consultare la documentazione del dispositivo o sistema per il quale hai una libreria PKCS # 11. Se il dispositivo è un HSM e la documentazione HSM garantisce che le chiavi private memorizzate nell'HSM non lo abbandonano mai, allora sai che non saranno copiati nella RAM del PC - non a causa di alcun attributo relativo a PKCS # 11, ma perché l'HSM lo fa. La libreria PKCS # 11 è semplicemente un consumatore dei servizi HSM.

Detto questo, è possibile fare alcune inferenze. Ad esempio, se il tuo dispositivo crittografico è una smart card, le sue capacità di I / O sono molto limitate (sono tipici 9600 baud), quindi è probabile che qualsiasi crittografia di massa (AES) fornita dall'API PKCS # 11 venga gestita nel software, quindi il tuo segreto chiave AES da scartare sarebbe davvero da qualche parte nella RAM del PC.

    
risposta data 16.03.2016 - 17:15
fonte

Leggi altre domande sui tag