Autenticazione client SSL / TLS per IP

4

Esiste un meccanismo in SSL / TLS che consente di associare un certificato a un dispositivo? Esempio:

C'è un client che parla con un server, e durante l'installazione di SSL / TLS, c'è l'autenticazione reciproca. Il server verifica che il client abbia presentato un certificato valido (data di scadenza, CRL / OCSP, ecc.) E che abbia i campi obbligatori che il server desidera vedere (dominio x.example.com, firmatario di XYZ Corp, ecc.).

Tuttavia vorremmo anche che il server colleghi alcune caratteristiche del certificato client (identificazione personale, seriale, ecc.) al client stesso (IP, Nome host, NetBT, ecc.). C'è qualche meccanismo integrato o di terze parti che fa questo, o mi sfugge qualcosa?

La preoccupazione è che un certificato verrà esportato da un client da qualcuno con privilegi elevati (avremo stringenti ACL ma supponiamo che questi siano inefficaci nell'arrestare l'attaccante), e poi installato su un secondo dispositivo. Capisco che, se qualcuno avesse privilegi elevati su una macchina, potevano semplicemente fare ciò che volevano fare su quella scatola usando l'ambiente esistente, ma se potevano usare il certificato su un secondo dispositivo, potevano bypassare i controlli di sicurezza ( firewall locali, av, ecc.) e controlli di sicurezza (il firewall è abilitato, av è attivo, le azioni vengono registrate e inviate al server syslog, ecc.).

    
posta JZeolla 23.07.2013 - 17:21
fonte

2 risposte

2

Dal punto di vista del server, tutto ciò che può essere visto è il certificato client (un oggetto pubblico, che è fondamentalmente un mucchio di byte che tutti conoscono) e anche un firma dal client (la firma è calcolata durante l' handshake SSL ). La firma, verificata, offre una certa garanzia al server che chiunque ne parli conosce anche la chiave privata (che corrisponde alla chiave pubblica nel certificato).

La chiave privata è tutto . Nella crittografia in generale, tu sei quello che sai. "Il dispositivo client" è quindi definito come "qualsiasi sistema in grado di calcolare le firme verificabili con la chiave pubblica del dispositivo". Se un malvagio amministratore può sottrarre tutte le informazioni private da un dispositivo, allora sarà in grado di ottenere la chiave privata e impersonare il dispositivo con, ad esempio, un altro elemento hardware o anche un PC. Non c'è nulla che tu possa fare da quel lato server: dal server, ci sono solo zero e uno su fili da vedere. Il server non può sapere che esiste ancora un pezzo di hardware.

Per raggiungere il tipo di resistenza che stai cercando, allora hai bisogno di antimanomissione : rendere impossibile, o almeno molto difficile, estrarre tutte le informazioni private da un client dispositivo. Questa è la tipica area smart card . Ora capisci perché i telefoni cellulari hanno una scheda SIM ...

    
risposta data 23.07.2013 - 17:29
fonte
1

Sembra che tu stia cercando di legare un pezzo di software o un'identità a un singolo computer fisico. Questo non può essere fatto . In alcune circostanze alcune soluzioni funzioneranno in alcuni casi, supponendo che nessuno cerchi di eluderle. Ma nel senso generale, questo è un problema impossibile.

Una soluzione, come suggerito da Thomas, consiste nell'utilizzare un token hardware crittografico che ha una chiave privata che il token non rivelerà. È quindi possibile legare il software o l'identità al token hardware (non alla workstation), richiedendo che il token sia presente per qualsiasi operazione si desideri. La distinzione qui è che i token di sicurezza fisica possono essere progettati per prevenire la manomissione. I computer per uso generico non possono.

    
risposta data 23.07.2013 - 18:55
fonte

Leggi altre domande sui tag