web-dev-qa-db-fra.com

Comment un utilisateur final fait-il la différence entre les certificats OV et DV?

This est un très bon lien qui explique les différents types de certificats SSL et le niveau de confiance qu'ils fournissent. Un certificat de validation étendue (EV), il est facilement identifié par la couleur verte dans la barre d'adresse et le nom de l'organisation en surbrillance.

enter image description here

Mais qu'en est-il des certificats de validation de domaine et de validation d'organisation? Évidemment, ce dernier offre un meilleur niveau de confiance. La question est donc de savoir comment l'utilisateur final découvre quel type de certificat le site utilise. J'ai essayé de visualiser le certificat dans le navigateur (Firefox) mais je n'ai rien trouvé de pertinent.

p.s. J'ai cherché plus sur Internet et même la réponse de Tidalwave souligne qu'il n'y a pas de véritable moyen pour un utilisateur de le découvrir. Cela signifie donc que pour l'utilisateur final, il n'y a que deux types de certificats EVSSL et non EVSSL.

30
Shurmajee

Pourquoi penseriez-vous que vous pouvez faire plus confiance aux entreprises enregistrées officiellement dans certains pays qu'à des domaines enregistrés hébergés dans n'importe quel pays?

EV a un avantage évident avec une validation plus stricte, mais les différences de fiabilité entre les deux autres sont plutôt sans objet. Les fournisseurs de navigateurs prenant en charge EV n'ont tout simplement pas ressenti le besoin de s'entendre sur un identification visuelle des deux autres modèles de vérification (OV, DV), car ni l'un ni l'autre ne fournit un avantage clair l'un sur l'autre (le cas échéant). du tout).

En bref, aucun des principaux fournisseurs de navigateurs n'a ressenti le besoin ou le désir de faire la différence entre les deux et de l'appuyer avec leur nom. Heureusement qu'ils ne l'ont pas fait aussi. Si les entreprises peuvent résister à un examen minutieux apporté par EV, alors personne ne les empêche de demander un tel certificat. D'un autre côté, il existe clairement des besoins en certificats moins chers où une vérification supplémentaire ne rentrerait pas dans leur fourchette de prix. Les fournisseurs de navigateurs (et les interfaces utilisateur de certains autres fournisseurs de logiciels) avec prise en charge EV ne respectent cependant pas ces certificats moins chers d'une autre manière spéciale que ce qui est déjà là comme d'habitude, pour les raisons mentionnées précédemment.

Quant à l'autre partie de votre question (inspection visuelle des données du certificat), OV et DV différeraient dans leur description, où OV détient généralement plus de données sur l'entreprise pour laquelle il a été délivré, mais c'est tout. Cet affichage d'informations supplémentaires peut varier d'un client à l'autre. Cette image que vous attachez est cependant de Wikipedia , et vous n'avez pas mentionné dans quel navigateur vous inspectiez les informations détaillées du certificat, donc je ne peux pas dire quelles différences vous pourriez voir dans un navigateur inconnu.

Extended Validation Certificate display in Mozilla Firefox.

Exemple de certificat de validation étendue dans Mozilla Firefox (ci-dessus).

EDIT: le certificat DV ne contient aucune information d'identification dans le champ du nom de l'organisation. En règle générale, cette valeur reformule simplement le nom de domaine ou dit simplement "Persona non validé", "(inconnu)" et cetera. Ce n'est pas standard pour toutes les autorités de certification. Une autre façon serait d'inspecter l'identificateur de politique (s'il est présent) où 2.23.140.1.2.1 signifie DV et 2.23.140.1.2.2 pour OV. Encore une fois, cela n'est pas adopté par toutes les autorités compétentes. En bref, il n'existe aucun moyen déterministe de savoir si un certificat a été validé par domaine ou organisation.

Domain Validated Certificate display in Mozilla Firefox.

Exemple de certificat validé par domaine dans Mozilla Firefox (ci-dessus). Notez le manque de données significatives dans le champ d'informations sur l'organisation.

12
TildalWave

Il n'y a aucune différence entre DV et OF dans le champ d'identité du navigateur. La capture d'écran ci-dessous montre ce champ pour Chrome, Firefox et MSIE. Pour DV et OV, seule l'URL (pas de nom de société) apparaît dans le champ d'identité.

Lorsque le site a EV, le nom de l'entreprise est affiché avec l'URL. Chrome et MSIE utilisent un arrière-plan vert pour le nom de l'entreprise, tandis que Firefox utilisera du texte vert pour le nom de l'entreprise.

enter image description here

Cependant, si vous regardez le certificat lui-même, vous verrez la différence.

Les deux screendumps ci-dessous proviennent du visualiseur de certificats Firefox.

Le screendump ci-dessous provient d'un site avec uniquement la validation de domaine (DV). Comme vous pouvez le voir, le certificat ne contient aucune information sur l'organisation.

enter image description here

Le prochain screendump provient d'un site avec la validation d'organisation (OV). Ici, vous pouvez voir le nom de l'organisation propriétaire du domaine.

enter image description here

Vous trouverez également le nom de l'organisation d'un site avec Extended Validation (EV). La différence entre OV et EV est que le nom de l'entreprise est affiché dans le champ d'identité du navigateur si le site a un certificat EV, mais pas s'il a un certificat OV.

Une autre façon de différencier les certificats DV et OV consiste à inspecter l'identificateur de stratégie numérique (apparaît sous l'onglet "Détails" du certificat s'il est présent). Veuillez noter que cet identifiant n'est pas adopté par toutes les autorités de certification. Les valeurs utilisées pour l'identificateur de stratégie sont présentées ci-dessous:

DV 2.23.140.1.2.1
OV 2.23.140.1.2.2
17
Free Radical

Les extensions et OID en question peuvent être lus à l'aide d'une ligne de commande openssl x509 -noout -text -in <cert.file>.

Lorsque vous faites cela régulièrement, vous voudrez peut-être être exact. Voici un extrait de mon propre Python 3:

known_policies = {
        '2.23.140.1.2.1': 'DV',
        '2.23.140.1.2.2': 'OV',
        '2.23.140.1.1':   'EV'
}
policy_re = re.compile(r'.*(2\.23\.140\.1\.[.0-9]+)', re.DOTALL)
ext = x509.get_extension(idx)
if ext.get_short_name().decode('ascii') != 'certificatePolicies':
    # Other type of extension, not interested in that
    continue

policy_match = policy_re.match(str(ext))
if not policy_match:
    # Doesn't seem to contain valid policy information
    continue

policy_oid = policy_match.group(1)
type = known_policies[policy_oid]

L'idée générale est d'utiliser la bibliothèque OpenSSL de Python pour lire et charger un certificat X.509. Ensuite, itérez ses extensions tout en recherchant une extension certificatePolicies -. La condition normale attendue est qu'il existe l'un des OID codés en dur dans les données d'extension.

2
Jari Turkia