I server web devono graffare le risposte OCSP non riuscite?

4

La mia comprensione primitiva di OCSP è la seguente:

  • Le asserzioni sono firmate dalla CA e valide per un breve periodo.
  • La pinzatura si riferisce alla pratica di spingere il lavoro di richiesta OCSP sul server web e quindi di memorizzare la risposta (firmata CA) e di sputarla ai client usando l'estensione "richiesta di stato".
  • Il server OCSP potrebbe essere inattivo, nel qual caso potrebbe non essere possibile ottenere una risposta corretta alla graffatura.

Vedo che OpenSSL segnala che il server sta inviando questi dati OCSP:

OCSP response: 
======================================
OCSP Response Data:
    OCSP Response Status: trylater (0x3)
======================================

Perché questo mai potrebbe succedere? Sicuramente il server web dovrebbe inviare l'ultima valid , risposta OCSP riuscita che ha memorizzato nella cache? L'inferno, non sta inviando niente (e avendo il browser fare la richiesta stessa) preferibile alla pinzatura di trylater?

    
posta Adam Williams 15.08.2017 - 10:15
fonte

2 risposte

4

Il comportamento del server web descritto è indesiderabile e sembra essere dovuto ad una configurazione predefinita di Apache per l'impostazione SSLStaplingReturnResponderErrors . Ci sono stati numerosi online che mettono in discussione la logica alla base di queste impostazioni di configurazione.

Inoltre, le implementazioni di server web alternativi non seguono l'esempio . Caddy non fornirà risposte con punti metallici se si è verificato un errore quando si chiama ParseResponse quali risultati da un ResponseStatus non riuscito come TryLater . Ciò garantisce che l'utente riceva l'ultima graffetta OCSP disponibile che è valida.

L'approccio è chiaramente ottimale per garantire che l'utente mantenga l'accesso al sito anche quando i risponditori OCSP sono offline o in difficoltà. Esiste un compromesso tra sicurezza e disponibilità del sito, ma data la breve durata delle risposte OCSP questa soluzione sembra abbastanza ragionevole. Il browser può decidere se è disposto ad accettare l'ultima risposta nota.

Una risposta di "la CA ha detto che il certificato era valido a $ timestamp" consentirà all'agente utente di prendere una decisione informata molto migliore di quella che un "server OCSP non ci ha dato nulla, prova più tardi "risposta.

    
risposta data 15.08.2017 - 11:40
fonte
0

La chiave è dare al client di autenticazione la maggior quantità di informazioni per quel client per poter determinare cosa è accettabile. Uno stato positivo di tryLater è un'informazione che può essere utile al cliente: può scegliere di provare in un secondo momento, procedere ma registrare l'eccezione, utilizzare un altro meccanismo / risponditore (ad es. CRL) o negare la connessione.

Se il risponditore non funziona, il server semplicemente non sa quali siano i requisiti di sicurezza del client e, dato che questo potrebbe essere un atto dannoso da parte di MitM, il client non dovrebbe presumere che il server lo sappia meglio.

Questo comportamento sembra corretto.

    
risposta data 15.08.2017 - 11:13
fonte

Leggi altre domande sui tag