En bref, non, mais il peut y avoir des cas subtils selon la façon dont vous souhaitez déployer le système.
HTTPS est HTTP sur SSL / TLS, et vous pouvez utiliser SSL / TLS sans certificat ou avec des certificats d'autres types que X.509 .
- Suites de chiffrement anonymes: elles peuvent fournir un chiffrement, mais sans authentification. Plutôt inutile en matière de sécurité ... Pour citer la RFC 4346 : " Diffie-Hellman anonyme est fortement déconseillé car il ne peut pas empêcher les attaques de l'homme du milieu " .
- Clés pré-partagées : il possède son propre mécanisme pour vérifier l'identité à distance, mais la nature partagée des clés pose son propre ensemble de problèmes (en particulier un déploiement limité).
- Suites de chiffrement Kerberos : le client peut vérifier l'identité du serveur par rapport au nom principal Kerberos.
À strictement parler, la spécification HTTP sur TLS dit ce qui suit:
En général, les requêtes HTTP / TLS sont générées en déréférençant un URI. Par conséquent, le nom d'hôte du serveur est connu du client. Si le nom d'hôte est disponible, le client DOIT le vérifier par rapport à l'identité du serveur telle que présentée dans le message de certificat du serveur, afin de prévenir les attaques de l'homme du milieu.
Si le client dispose d'informations externes sur l'identité attendue du serveur, la vérification du nom d'hôte PEUT être omise. (Par exemple, un client peut se connecter à une machine dont l'adresse et le nom d'hôte sont dynamiques mais le client connaît le certificat que le serveur présentera.) Dans de tels cas, il est important de restreindre autant que possible la portée des certificats acceptables dans afin d'empêcher l'homme au milieu des attaques. Dans des cas particuliers, il peut être approprié que le client ignore simplement l'identité du serveur, mais il faut comprendre que cela laisse la connexion ouverte à une attaque active.
En bref, il est clairement destiné à être utilisé avec un certificat X.509 (il fait clairement référence à RFC 2459, remplacé par la suite par RFC 3280 et 5280: PKI avec certificats X.509).
Il peut y avoir un cas particulier lorsque vous utilisez des suites de chiffrement Kerberos. Il peut être judicieux de traiter le ticket de service Kerberos du serveur pourrait être supposé avoir le même objectif que le certificat X.509 en HTTPS habituel, pour la vérification de l'identité de la partie distante. Il ne correspond pas tout à fait aux règles de la RFC 2818 (bien qu'il puisse tomber sous " Si le client dispose d'informations externes sur l'identité attendue du serveur, la vérification du nom d'hôte PEUT être omise. "), Mais elle ne le serait pas complètement absurde. Cela étant dit, je ne pense pas que les navigateurs habituels prennent en charge les suites de chiffrement TLS Kerberos en général (un certain nombre peut prendre en charge Kerberos via l'authentification SPNEGO, mais cela n'est pas lié). De plus, cela ne fonctionnerait que dans un environnement où l'utilisation de Kerberos est appropriée.
« [Donner] la tranquillité d'esprit au consommateur qu'il se connecte au bon site Web » est en fait l'une des exigences clés pour sécuriser la communication entre lui et votre serveur. Utilisez un certificat qu'ils peuvent vérifier, avec les conventions de dénomination appropriées (RFC 2818 ou plus récemment RFC 6125).