Ocsp Client For Apache

  • Uploaded by: Sylvain MARET
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ocsp Client For Apache as PDF for free.

More details

  • Words: 1,385
  • Pages: 30
PKI : Public Key Infrastructure Diplômant

:

Denis Cotte

Professeur responsable

:

Gérald Litzistorf

Collaboration avec

:

Sylvain Maret e-Xpert solutions

Diplôme en transmission de données

1

Sommaire n n n n n

PKI : Infrastructure à clé publique Enrollment : Procédure d’inscription Protocole OCSP Server Apache Conclusion

Diplôme en transmission de données

2

PKI : Certificats numérique n

Constitution Certificat Informations: _autorité de certification: RSA Keon _nom du propriétaire: Denis COTTE _Email: [email protected] _Validité: 18/10/2001 au 18/10/2006 _Clé Publique: 1a:b6:f7:45:c3:2d:cd:af _Algorithme : sha1

Hash

Signature: 3d:c5:b12:9a:bd:e6 Signature avec la clé privée de l'autorité de certification

Diplôme en transmission de données

3

PKI : Vérifier un certificat n

Comparaison des condensés Certificat Informations: _autorité de certification: RSA Keon _nom du propriétaire: Denis COTTE _Email: [email protected] _Validité: 18/10/2001 au 18/10/2006 _Clé Publique: 1a:b6:f7:45:c3:2d:cd:af _Algorithme : sha1

Hash

Comparaison des condensés

Signature: 3d:c5:b12:9a:bd:e6

Diplôme en transmission de données

Déchiffrement à l'aide de la clé publique de l'autorité de certification

4

PKI : Format DER et PEM 2 formats pour représenter un certificat numérique • DER: Distinguished Encoding Rules Utilisation des règles d’encodage DER sur la notation ASN1 (utilisée dans les RFCs) ASN1:

Certificate ::= SEQUENCE { tbsCertificate TBSCertificate, signatureAlgorithm AlgorithmIdentifier, signature BIT STRING }

• PEM: Privacy Enhanced Mail Utilisation de l’encodage base64 pour passer au format à PEM. -----BEGIN CERTIFICATE----MIIDDzCCAnigAwIBAgIQQCGkq2tbn5cBywZjDwhu0DANBgkqhkiG9w0BAQUFADCB gjELMAkGA1UEBhMCQ0gxDDAKBgNVBAgTA2d2YTEPMA0GA1UEBxMGZ2VuZXZlMQww ... mPQSr7GBdiIad3n9e4DOrwDOZ59MQ65Vh9NyNCUq2NhGd6vkPYgMJ08UD0wTqzh7 JfxrKZ7K3T80mgiLvB+0QYKUZvlQY3ot6d1Jd9qwbc+FL6ykA2qnIJ2zvQGqghfo 4saPp8qkCrOYOj5ruR398J4YKA== -----END CERTIFICATE-----

Diplôme en transmission de données

5

Sommaire n n n n n

PKI : Infrastructure à clé publique Enrollment : Procédure d’inscription Protocole OCSP Server Apache Conclusion

Diplôme en transmission de données

6

Enrollment : Architecture Serveur Apache 1.3.22

Client: Alice Ÿ Ÿ

Echange des certificats Protocole SSL

Navigateur

Apache core Apache API mod_ssl

OpenSSL

client OCSP

Ÿ Ÿ

Ÿ Ÿ Ÿ

Procédure d'inscription (enrollment) Format PKCS#10 (requête) Format PKCS#7 (réponse)

Diplôme en transmission de données

Protocole OCSP Commande OpenSSL

répondeur OCSP Enrollment Server

Autorité de Certification Keon (CA) 7

Enrollment : Principe Client Ÿ

Autorité de certification

Génère une paire de clés

PKCS#10

Ÿ

Fournit différentes informations Informations

Ÿ Ÿ Ÿ Ÿ Ÿ

Informations

Nom Adresse e-mail Organisation Localité ,...

Clé Publique Signature

Installation

Diplôme en transmission de données

PKCS#7

8

démo1

Enrollment : Architecture CA Keon CA Keon

Port 446

Port 90 Port 444

SCEP Server

OCSP Responder

Secure Directory Server +

Administration Server

Database

Web Server Port 443

Enrollment Server

Logging server

Diplôme en transmission de données

9

Enrollment : requête PKCS#10 PKCS#10 CertificationRequest CertificationRequestInfo Version Name subjectPublicKeyInfo Client

[attributes]

CA

signatureAlgorithm digital signature

Diplôme en transmission de données

10

Enrollment : PKCS#10 avec OpenSSL

Certificate Request: Data: Version:: 0 (0x0) Version Subject:: C=CH, ST=GVA, L=Geneve, O=eig, CN=cot2/Email=dSubject CN=cot2/[email protected] Subject Public Key Info: Info: Public Key Algorithm: rsaEncryption RSA Public Key: (512 bit) Modulus (512 bit): 00:aa:f0:7a:56:4b:01:89:d3:12:9f:a0:05:70:30:: 00:aa:f0:7a:56:4b:01:89:d3:12:9f:a0:05:70:30 66:46:72:30:9d:ac:44:52:6d:1d:e7:0a:41:a7:2c:: 66:46:72:30:9d:ac:44:52:6d:1d:e7:0a:41:a7:2c 52:60:e4:2e:36:1a:6d:77:f7:e5:ca:85:d8:2e:db: fa:3f:c4:7c:83:5e:f2:4f:ae:fc:18:bf:71:64:e7:: fa:3f:c4:7c:83:5e:f2:4f:ae:fc:18:bf:71:64:e7 8c:36:0b:dc:37 Exponent: 65537 (0x10001) Attributes:: Attributes a0:00 Signature Algorithm: Algorithm: md5WithRSAEncryption 40:f3:47:7a:90:9d:f6:66:35:3e:0b:2a:22:1f:a4:b3:8b:33: 1e:d2:aa:11:02:89:70:3a:59:39:0e:87:bf:04:e3:e5:14:fe: 05:6d:dc:03:f3:ba:65:73:01:2e:20:c8:4c:c6:4f:fc:ed:8a: e7:22:ae:96:51:eb:1e:0e:d4:96 -----BEGIN ----BEGIN CERTIFICATE REQUEST ----MIIBJjCB0QIBADBsMQswCQYDVQQGEwJDSDEMMAoGA1UECBMDR1ZBMQ8wDQYDVQQH EwZHZW5ldmUxDDAKBgNVBAoTA2VpZzENMAsGA1UEAxMEY290MjEhMB8GCSqGSIb3 DQEJARYSZC1jb3R0ZUB3YW5hZG9vLmZyMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJB AKrwelZLAYnTEp+gBXAwZkZyMJ2sRFJtHecKQacsUmDkLjYabXf35cqF2C7b+j/E fINe8k+u/Bi/cWTnjDYL3DcCAwEAAaAAMA0GCSqGSIb3DQEBBAUAA0EAQPNHepCd 9mY1PgsqIh+ks4szHtKqEQKJcDpZOQ6HvwTj5RT+BW3cA/O6ZXMBLiDITMZP/O2K 5yKullHrHg7Ulg== -----END ----END CERTIFICATE REQUEST----REQUEST-----

Diplôme en transmission de données

11

Enrollment : Réponse PKCS#7 PKCS#7 contentType (OID)

content :

Client

de Type : Data or signedData or envelopedData or signedAndEnvelopedData or digestedData or encryptedData

Diplôme en transmission de données

CA

12

Sommaire n n n n n

PKI : Infrastructure à clé publique Enrollment : Procédure d’inscription Protocole OCSP Server Apache Conclusion

Diplôme en transmission de données

13

OCSP : Architecture Serveur Apache 1.3.22

Client: Alice Ÿ Ÿ

Echange des certificats Protocole SSL

Navigateur

Apache core Apache API mod_ssl

OpenSSL

client OCSP

Ÿ Ÿ

Ÿ Ÿ Ÿ

Procédure d'inscription (enrollment) Format PKCS#10 (requête) Format PKCS#7 (réponse)

Diplôme en transmission de données

Protocole OCSP Commande OpenSSL

répondeur OCSP Enrollment Server

Autorité de Certification Keon (CA) 14

OCSP : Principe n n n

OCSP : Online Certificate Status Protocol Vérifie l’état d’un certificat. Mécanisme Requête/Réponse. états possibles Bon certificat révoqué

Remarque: Ces états sont exclusifs

inconnu

Diplôme en transmission de données

15

OCSP : Constitution d’une Requête OCSP request tbsRequest Version requestorName Serveur Apache

requestList

CA Keon

reqCert hashAlgorithm issuerNameHash

Client OCSP issuerKeyHash

Répondeur OCSP

serialNumber singleRequestExtention

requestExtentions

optionalSignature signatureAlgorithm signature certs

Diplôme en transmission de données

16

OCSP : Constitution d’une Réponse OCSP response responseStatus successful

Serveur Apache

CA Keon malformedRequest internalError tryLater

Client OCSP

Répondeur OCSP

sigRequired unauthorized

responseBytes responseType(OID) response responses version certStatus

revoked unknown

good CHOICE

thisUpdate nextUpdate singleExtensions

Diplôme en transmission de données

17

Remarques n

Utilisation des CRLs comme sources d’informations. mise à jour quotidienne CRL

CRL

?

?

CRL

? information périmée depuis plusieurs heures

Répondeur OCSP

CA

Diplôme en transmission de données

Serveur Apache

18

n

Les réponses OCSP pré calculées

Client OCSP certificat valide ?

certificat Bon

Repondeur OCSP OCSP Requête

OCSP reponse T1:thisUpdate

T12 : delai d'expiration de la réponse

OCSP Requête rejouée

certificat revoqué

OCSP reponse :Bon si reponse pré calculée T2:nextUpdate

temps

Diplôme en transmission de données

19

Sommaire n n n n n

PKI : Infrastructure à clé publique Enrollment : Procédure d’inscription Protocole OCSP Server Apache Conclusion

Diplôme en transmission de données

20

Apache : Architecture Serveur Apache

Client : Alice Ÿ Ÿ

Echange des certificats Protocole SSL

Navigateur

configuration httpd.conf Apache API mod_ssl

OpenSSL

client OCSP

Ÿ Ÿ

Ÿ Ÿ Ÿ

Procédure d'inscription (enrollment) Format PKCS#10 (requête) Format PKCS#7 (réponse)

Diplôme en transmission de données

Protocole OCSP Commande OpenSSL

répondeur OCSP Enrollment Server

Autorité de Certification (CA) 21

Apache: Architecture du module SSL Utilisation de la librairie d’OpenSSL

Utilisation des fonctions de base d’Apache

Série de patchs additionnels à Apache (Extended API) Diplôme en transmission de données

22

Apache : Configuration httpd.conf

HTTPS sur port 443 Active/Désactive SSL Certificat du serveur Apache Clé associée au certificat

# httpd.conf . Listen 443 . SSLEngine on . . SSLCertificateFile /usr/../ssl.crt/certificat_apache.crt . . SSLCertificateKeyFile /usr/../ssl.key/certificat_apache.key

Certificat du CA racine

SSLCACertificateFile /usr/../ssl.crt/rootscepca.crt

Authentification Client

SSLVerifyClient require

Profondeur de vérification

SSLVerifyDepth

4

. .

Diplôme en transmission de données

23

Apache : L’authentification Serveur Apache

Client : Alice Ÿ Ÿ

Echange des certificats Protocole SSL

configuration httpd.conf

Navigateur

Authentification Client avec les directives:

Authentification Serveur avec les directives:

(SSLVerifyClient, SSLVerifyDepth, SSLCACertificateFile)

(SSLCertificateFile, SSLCertificateKeyFile)

24

Apache : utilisation CRL

démo2 Générer une CRL et l'exporter sur le serveur Apache Floppy

Serveur Apache

Autorité de certification

Placer la CRL sur le serveur Apache et configurer

# httpd.conf . . SSLCACertificateFile /usr/../ssl.crt/rootscepca.crt

Fichier contenant la CRL

SSLCARevocationFile /usr/../ssl.crl/rootscepcrl.crl SSLVerifyClient require . .

Certificat Client SSL

Recherche le numéro de série du certificat dans la CRL.

Diplôme en transmission de données

25

démo3

Apache : Utilisation d’ OCSP Httpd.conf: SSLOCSPVerify enable Serveur Apache

#SSLCARevocationFile

Client OCSP

Accès aux ressources du serveur Apache

Répondeur OCSP

?

Requête OCSP

Valide Revoqué, Inconnu

Réponse OCSP

Certificat Client SSL

Autorité de certification

État =

Accès au serveur Apache refusé Diplôme en transmission de données

26

Fonction OCSP avec OpenSSL Commande OpenSSL: > Openssl ocsp –url http://129.194.187.55:90/ocsp.xuda -issuer rootscepca.crt –VAfile ocsproot.crt –cert clientapache.crt n

n

Réponse associée:

Response verify : OK clientapache.crt : good This UpDate : Oct 17 10 :12 :03 2001 GMT

Diplôme en transmission de données

27

Codage Client OCSP

démo3

n

Récupérer le certificat du client lors de la phase d’authentification au format DER (fonction i2d_X509_fp) Convertir le certificat du format DER au format PEM. (OpenSSL) Envoyer la requête au répondeur OCSP. (OpenSSL)

n

Lecture du fichier contenant la réponse OCSP.

n

n

conversion grâce à OpenSSL

fonction i2d_X509_fp

convert

Certificat au format X509

fichier contenant certificat au format DER

fichier contenant certificat au format PEM

clientapache.der

clientapache.pem

ocsprequest Affectation Variable d'Etat analyse

fichier contenant resultat commande OCSP

commande OCSP avec openSSL

ocspresult.txt

Diplôme en transmission de données

28

Conclusion n n n n n

Procédure d’inscription (enrollment) Etude protocole OCSP Vérification par CRL Vérification par OCSP Possibilités d’optimisation

Diplôme en transmission de données

29

Planning du diplôme Tâche

Descritption

A

Installation + prise en main de la CA Keon

B

Recherche d'Informations sur les protocoles de gestion des PKI

C

Mise en pratique de la procédure d'inscription Etude du protocole OCSP; comparaison avec les CRLs Installation et configuration du Serveur Apache

D E F

Etude du module SSL

G

Implémentation Fonction OCSP

H

Ecriture du mémoire

A

C

E

Points 1&2

Point 3

Point 4

G semaines

1

2

3 B

4

5

6 D

Diplôme en transmission de données

7

8 F

9

10

11 H

30

Related Documents

Apache
November 2019 38
Apache
November 2019 36
Apache
June 2020 23
Tomcat For Apache
November 2019 16

More Documents from ""

May 2020 28
Samba_pg
May 2020 23
Gachet_memoire
May 2020 27
April 2020 30