2009-11-11 15 views
5

Załóżmy, że masz wspólną usługę SSL, która oprócz protokołu SSL ma uwierzytelnienie aplikacji. W związku z tym klienci dostarczają certyfikaty (a także serwery), ale żądanie klienta (np. Żądanie REST) ​​zawiera również nazwę użytkownika/hasło, z którymi uwierzytelniany jest serwer aplikacji zaplecza.Wzajemny protokół SSL - ile uwierzytelnienia jest wystarczające?

Pod względem "stopnia" uwierzytelniania klienta wydaje się, że istnieje wiele poziomów. Jeden poziom (a) to po prostu dostarczenie przez klienta certyfikatu podpisanego przez urząd certyfikacji znajdujący się w magazynie CA serwera. Innym oczywistym poziomem (b) jest, aby serwer mógł (a) dodatkowo upewnić się, że poświadczenia aplikacji są poprawne. Trzeci poziom (c) polega na wykonaniu czynności (a) i (b) oraz upewnieniu się, że certyfikat klienta jest jednoznacznie powiązany z kontem.

Zaleta (c) polega na tym, że osoba, która jest zaufana przez "zaufany ośrodek CA", nie wykorzystuje nielegalnie uzyskanego hasła do aplikacji.

Zdaję sobie sprawę, że jest to bardzo mało prawdopodobne, ale zastanawiam się, w jakim stopniu (c) jest uważany za część wzajemnego SSL, w przeciwieństwie do po prostu (a) lub (b)?

+0

Potrzebujesz wszystkich trzech i potrzebujesz czwartego całego kroku: * autoryzacja, * tj. Czy ten użytkownik jest uprawniony do dostępu do tej części aplikacji? – EJP

Odpowiedz

0

Tak, myślałem o something similar.

Jedna rzecz, którą możesz zrobić, to nadać aplikacji osobny magazyn zaufanych certyfikatów, który nie zawiera żadnych urzędów certyfikacji. W ten sposób możesz po prostu dać dostęp do klientów posiadających autoryzowane przez siebie certyfikaty z podpisem własnym.

+0

Nie. To łączy uwierzytelnienie z autoryzacją. Z natury rzeczy są różne. Protokół SSL wykona dla ciebie doskonałe uwierzytelnienie, ale nie może w ogóle autoryzować: tylko aplikacja może to zrobić. – EJP

0

Zakładam, że przez "wzajemne SSL" rozumiesz TLS v1.0, 1.1 lub 1.2 z uwierzytelnianiem opartym na certyfikacie serwerowym i klienckim, a przez "część wzajemnego SSL" rozumiesz część specyfikacji TLS .

Stosując tę ​​interpretację, tylko (a) jest częścią wzajemnego protokołu SSL. Specyfikacja TLS obejmuje udostępnianie certyfikatu za pomocą komunikatu uzgadniania SSL. Nie obejmuje sprawdzania nazwy użytkownika/hasła ani sprawdzania certyfikatu SSL względem konta.

Powiązane problemy