Verificarea revocării certificatului SSL (Securitatea informațiilor, Criptografie, Tls, Certificate, Infrastructură Cu Cheie Publică)

user1157 a intrebat.

În protocolul SSL nu văd unde se verifică starea de revocare a certificatului.

https://developer.mozilla.org/en/Introduction_to_SSL

Verificarea revocării și a stării certificatului nu este implementată în protocolul SSL ?

Comentarii

  • SSL nu are nevoie să utilizeze certificate pentru identificarea serverului sau a clientului, astfel încât adăugarea acesteia la specificația SSL ar face-o mai puțin extensibilă. –  > Por Hubert Kario.
2 răspunsuri
Thomas Pornin

Protocolul SSL specifică modul în care un server își trimite certificatul către client. Clientul ar trebui apoi să „obțină” cheia publică a serverului prin validarea certificatului. Adresa specificația SSL nu descrie validarea certificatului; pentru aceasta, trebuie să vă uitați la X.509, în care veți vedea că este un proces mult mai complex decât cel descris în documentul la care faceți trimitere.

Verificarea stării de revocare face parte din validarea certificatului. De fapt, clientul este liber să o facă în orice mod crede de cuviință; multe browsere web „verifică” starea de revocare printr-un proces de genul „mmhh… probabil că oricum nu este revocat, nu este nevoie să verificăm nimic”. În lumea X.509, starea de revocare poate fi verificată prin descărcarea și validarea CRL (liste de revocare a certificatelor) sau prin obținerea de răspunsuri OCSP de la respondenții OCSP (un răspuns OCSP este un fel de CRL redus la un singur certificat țintă). Teoretic, starea de revocare ar trebui să fie obținută pentru toate certificatele, adică certificatul serverului, dar și certificatele CA intermediare utilizate pentru validarea certificatelor serverului și toate celelalte certificate utilizate pentru validarea CRL și a răspunsurilor OCSP (acest lucru poate deveni foarte recursiv). Costul agregat (în special în ceea ce privește timpul de descărcare) poate deveni prohibitiv, motiv pentru care mulți clienți se bazează pe un model mai slab, dar mai rapid (de exemplu, verificarea stării numai pentru certificatul serverului în sine, nu și pentru CA intermediară; sau nu verifică nicio stare).

În orice caz, validarea este modul în care se obține cheia publică a serverului, deci are loc în timpul handshake-ului SSL, chiar înainte ca clientul să trimită mesajul ClientKeyExchange.

Eugen Constantin Dincă

Există două modalități de verificare a stării unui certificat:

Niciuna dintre aceste metode nu este specifică SSL și nu fac decât atât: verifică starea unui certificat. Așadar, ambele se aplică la tot ceea ce utilizează certificate.

Comentarii

  • Deci, în ce etapă a etapei de stabilire a conexiunii SSL se efectuează verificarea stării? –  > Por user1157.
  • @user1157: în etapa de strângere de mână după ce certificatul serverului este recuperat. Clientul (adică browserul) este cel care trebuie să verifice certificatul serverului în orice mod dorește (de exemplu, are un lanț de certificate valabil, utilizează un algoritm de semnătură de certificat puternic, nu este expirat, numele comun se potrivește cu URL-ul, nu se află pe lista de certificate revocate primită de la CA la ultima actualizare CRL, a primit un răspuns „bun” la cererea OCSP și așa mai departe). –  > Por Eugen Constantin Dincă.
  • da, dar verificarea revocării certificatelor nu este menționată în link-ul pe care l-am postat mai sus. 🙁 –  > Por user1157.
  • @user1157: Pentru că atât verificarea CRL & OCSP este ceva ce ține de client să facă, nu face parte din protocolul SSL. –  > Por Eugen Constantin Dincă.