Differenza tra i certificati con l'utilizzo di "campi di estensione" e "Non ripudio"

3

Ad esempio abbiamo due coppie di certificati:

  1. Prima coppia:

    • Cert server con l'utilizzo di "Non ripudio" (a volte chiamato Content Commitment),
    • Certificato cliente senza "campi di estensione".
  2. Seconda coppia:

    • Cert server con l'utilizzo di "Autenticazione server Web TLS"
    • Certificato cliente con l'utilizzo dell'autenticazione "Client Web TLS"

Entrambi i client possono autenticarsi rispetto al server. Ma qual è la differenza tra tutti questi metodi? Il certificato con l'utilizzo di "Non ripudio" consente di autenticare tutti i client con / senza l'utilizzo dell'autenticazione "TLS Web Client Authentication"?

Ma "Autenticazione server Web TLS" senza "Non ripudio" consente di autenticare i client solo con l'utilizzo di "Autenticazione TLS Web Client"?

È corretto?

    
posta kay 21.09.2015 - 16:23
fonte

1 risposta

3

Le estensioni sono solo alcuni tipi di metadati della politica allegati al certificato. Tecnicamente, non importa le estensioni, un certificato rimane la stessa cosa: un file che collega una chiave a un'identità. Le sue informazioni potrebbero essere utilizzate per qualsiasi scopo: autenticare un server, un client, firmare altri certificati, firmare email, firmare software / codice driver, ecc.

Ecco dove entrano in gioco le estensioni: dicono all'applicazione quali usi sono applicabili a questo certificato, così che quando l'applicazione incontra il certificato in un contesto non autorizzato potrebbe (o deve, a seconda se l'utilizzo è impostato su critico o no ) considera il certificato come non valido e rifiutalo.

Tuttavia, questo controllo deve essere fatto a livello di applicazione. Un'applicazione mal implementata potrebbe non controllare correttamente questi usi e accettare qualsiasi certificato in qualsiasi momento.

Inoltre, alcune cose supplementari devono essere annotate:

  • Queste estensioni sono solo restrizioni. Un certificato senza estensione può essere utilizzato in qualsiasi ruolo (nessuna limitazione di utilizzo), mentre un certificato che contiene alcune estensioni è limitato all'utilizzo definito da queste estensioni,
  • Queste estensioni sono in realtà divise in due parti principali (più una solo storica):

    • L'utilizzo della chiave (come "Non ripudio" nell'esempio) definisce l'utilizzo della crittografia di livello inferiore consentito per questo certificato,
    • L'utilizzo della chiave estesa fornisce un utilizzo di livello superiore autorizzato per questo certificato ("Autenticazione server Web TLS" e "Autenticazione client Web TLS" nei propri esempi).
    • Alcune applicazioni gestiscono anche ciò che viene chiamato Netscape Cert Type , può essere visto come il precursore degli usi della chiave estesa e raccogliere usi come "Server SSL", "Client SSL", ecc.

    Tutti questi utilizzi chiave possono essere associati e utilizzati in modo complementare.

  • Alcune estensioni potrebbero essere contrassegnate come "critiche": questo flag determina in che modo un'applicazione che non riconosce / non ha implementato un'estensione specifica deve gestire il certificato. In tale situazione, se il flag "critico" è abilitato l'applicazione deve rifiutare il certificato, quando questo flag non è impostato l'applicazione potrebbe accettare ancora il certificato.

I nomi di utilizzi chiave estesi (oltre al tipo di certificato Netscape) sono piuttosto semplici da comprendere. Gli usi chiave tuttavia dipendono profondamente da come il protocollo (nel caso di una comunicazione di rete) utilizzerà i certificati. Gli usi chiave comunemente trovati per un'applicazione client / server SSL / TLS sono i seguenti:

  • Server : Firma digitale, Non ripudio, Crittografia chiave,
  • Cliente : firma digitale, crittografia chiave, crittografia dei dati.

Quindi, per rispondere alle tue domande modificate:

Does certificate with "Non Repudiation" usage allow to authenticate all clients with/without "TLS Web Client Authentication" usage?

But "TLS Web Server Authentication" without "Non Repudiation" allows to auth clients only with "TLS Web Client Authentication" usage?

L'utilizzo di "Non ripudio" dal certificato del server verrà controllato principalmente dal software client, non dal server, e non avrà alcun impatto sul modo in cui il server convaliderà i certificati del client.

L'utilizzo di

"Autenticazione client Web TLS" impedirà l'utilizzo dei certificati client in un contesto server. La sua assenza non bloccherà alcuna autenticazione. Tuttavia, se un client tenta di autenticarsi utilizzando un certificato senza questo utilizzo ma con "Autenticazione TLS Web Server" invece l'autenticazione sarà probabilmente rifiutata dal server.

    
risposta data 21.09.2015 - 16:52
fonte

Leggi altre domande sui tag