Exchange 2007/2010 :Filtrage des certificats utilisateurs dans le Carnet d’adresse hors ligne ( OAB)

Il avait été constaté avant Exchange 2003 que de nombreux certificats étaient stockés inutilement dans l’OAB engendrant une taille conséquente de celui-ci. Ces certificats étaient soient expirés ou non utilisables pour l'encryption des e-mails.

Dans un souci de réduire la taille de l'OAB, le groupe produit a décidé de filtrer les certificats dans l'OAB à partir d'Exchange 2003.

L'algorithme de filtrage fonctionne comme suit pour toutes les versions de l'OAB :

Tout d'abord, lors de la génération de l’OAB, on tente d'ouvrir chaque certificat pour chaque destinataire en utilisant l'API Windows Crypto .

Si Windows ne reconnaît pas le certificat, ci est rejeté.

Si le certificat peut être ouvert avec succès , l'utilisation de la clef (KEY USAGE) est récupérée et vérifiée pour voir si les bits CERT_DIGITAL_SIGNATURE_KEY_USAGE ou CERT_NON_REPUDIATION_KEY_USAGE sont positionnés.

Si l'un est défini, alors le certificat peut être utilisée pour la signature électronique .

Si les bits CERT_KEY_ENCIPHERMENT_KEY_USAGE ou CERT_KEY_AGREEMENT_KEY_USAGE sont positionnés, le certificat peut être utilisé pour le cryptage de message.

Si les deux sont vrais, alors le certificat pourrait être inclus dans l'OAB . Si le certificat ne dispose pas d'un usage spécifiquement défini, il est supposé qu’il peut être utilisé pour tout et doit donc être inclus .

Ensuite, le générateur de OAB vérifie le champ d'utilisation améliorée de la clé (Enhanced key usage) du certificat .Encore une fois, si ce champ n'est pas spécifié, il est supposé qu'il peut être utilisé pour quoi que ce soit et donc le certificat est inclus dans l'OAB . Le générateur de OAB vérifie ensuite l' identifiant OID_PKIX_KP_EMAIL_PROTECTION afin de déterminer si le certificat peut être utilisé pour le courrier électronique . Les Certificats EFS seront supprimés , car ils n'ont que l' identifiant OID_PP_EFS mis et pas d'autres .

Enfin après avoir vérifié les restrictions ci-dessus , le générateur de OAB lit la date de péremption indiquée sur le certificat . Si elle a expiré, le certificat est supprimé indépendamment de son type d’ utilisation.

Après avoir effectué toutes ces opérations, les certificats restants pour l'actuel destinataire sont inclus dans l'OAB .

Un événement 9323 est enregistré pour le destinataire actuel si l'enregistrement OAL est réglé sur moyen Les certificats invalides ou périmés sont rejetés . Lorsque la génération de l'OAB a terminé , un événement 9320 est généré.

 

Comme un mécanisme de sécurité , le comportement du filtrage des certificats OAB peut être personnalisé dans une certaine mesure . Si un logiciel de certificats tiers est utilisé  pour Outlook qui stocke les certificats dans l'attribut UserCertificate , ou un nouveau format de codage de certificat que l'OAB ne comprend pas, une valeur de registre peut être positionnée sur le serveur de génération de l'OAB.

La valeur de Registre peut désactiver le filtrage des certificats entièrement, ou partiellement.

 

La valeur de Registre de type DWORD est :

HKLM\System\CurrentControlSet\Services\MSExchangeSA\Parameters\OAL Invalid Cert Behaviour

 Les valeurs sont :

  •  0 : valeur par défaut si non mise

Filtre tous les certificats et rejette tous les certificats qui ne peuvent pas être

décodés (invalides), les certificats expirés, les certificats de signature

uniquement, les certificats qui ne sont pas d'usage emails.

 

  • 1 : Inclut les certificats invalides d'usage email et rejette les certificats expirés

et de signature uniquement.

 

  • 2 : Inclut les certificats de signature uniquement et rejette les certificats

invalides d'usage email et les certificats expirés .

 

  • 3 : Ne filtre pas l'oab.

 

A noter que la modification de cette valeur de registre peut entraîner un téléchargement complet de l'OAB.