Uwierzytelnianie za pomocą klucza publicznego lub podobne przez HTTP / HTTPS?

31

Czy można skonfigurować Apache lub inny serwer WWW do korzystania z pewnego rodzaju uwierzytelniania za pomocą klucza publicznego?

Idealnie, chciałbym, aby móc zapewnić użytkownikom dostęp do witryny bez potrzeby posiadania nazwy użytkownika / hasła, pod warunkiem, że zainstalowali plik klucza (lub podobny) w przeglądarce i że ten klucz jest „autoryzowany” po stronie serwera.

ezzatron
źródło

Odpowiedzi:

17

To, czego szukasz, jest ogólnie nazywane wzajemnym uwierzytelnianiem. Zwykle istnieje certyfikat serwera dla „uwierzytelnienia serwera”, co oznacza, że ​​potwierdza on tożsamość serwera dla klienta.

Pamiętaj, że realizując ten schemat, masz dodatkowe wyzwanie odnowienia certyfikatu dla klientów.

Oto przykład, jak to zrobić dla jednego produktu:

Elementarz wzajemnego uwierzytelnienia

Konfigurowanie Apache dla SSL

Greg Askew
źródło
8

SSL to uwierzytelnianie za pomocą klucza publicznego. Najczęściej służy do uwierzytelnienia tożsamości zdalnego serwera ... serwer przedstawia certyfikat podpisany kluczem prywatnym urzędu certyfikacji, a przeglądarka weryfikuje go na podstawie klucza publicznego urzędu.

Możliwe jest również użycie protokołu SSL do uwierzytelnienia tożsamości klienta. W takim przypadku przeglądarka jest konfigurowana w taki sposób, aby prezentowała certyfikat klienta, gdy łączy się on ze zdalnym serwerem, a serwer zdalny uwierzytelni certyfikat przed jakimś organem.

To wszystko jest stosunkowo łatwe i dobrze obsługiwane przez większość serwerów sieciowych. W tym dokumencie omówiono konfigurowanie za pomocą Apache. Instrukcja SSLRequire wykonuje większość ciężkich operacji podnoszenia dla tego rodzaju konfiguracji.

Larsks
źródło