Authentification par clé publique ou similaire via HTTP / HTTPS?

31

Est-il possible de configurer Apache, ou un autre serveur Web, pour utiliser une sorte d'authentification à clé publique?

Idéalement, ce que je voudrais, c'est pouvoir donner aux utilisateurs l'accès à un site sans avoir besoin d'un nom d'utilisateur / mot de passe, à condition qu'ils aient installé un fichier de clés (ou similaire) dans leur navigateur, et que cette clé soit `` autorisée '' côté serveur.

ezzatron
la source

Réponses:

17

Ce que vous recherchez est généralement appelé authentification mutuelle. Normalement, un certificat de serveur existe pour "l'authentification du serveur", ce qui signifie qu'il valide l'identité du serveur auprès du client.

Notez que lorsque vous poursuivez ce programme, vous avez un défi supplémentaire de renouvellement de certificat pour les clients.

Voici un exemple de la façon dont cela est fait pour un produit:

Introduction à l'authentification mutuelle

Configuration d'Apache pour SSL

Greg Askew
la source
8

SSL est l'authentification par clé publique. Le plus souvent, il est utilisé pour authentifier l'identité du serveur distant ... le serveur présente un certificat, signé par la clé privée d'une autorité de certification, et votre navigateur le vérifie par rapport à la clé publique des autorités.

Il est également possible d'utiliser SSL pour authentifier l'identité du client. Dans ce cas, vous configurez votre navigateur pour présenter un certificat client lorsqu'il se connecte à un serveur distant, et le serveur distant authentifiera le certificat auprès d'une certaine autorité.

Tout cela est relativement facile et bien pris en charge par la plupart des serveurs Web. Ce document explique comment configurer les choses avec Apache. L' instruction SSLRequire effectue la plupart des tâches lourdes pour ce type de configuration.

alsacs
la source