Robert Majer

Robert Majer Doradca /
Przedsiębiorca /
Wolonariusz

Temat: autoryzacja za pośrednictwem podpisu elektronicznego

Witam ;-)

Mam jeszcze pytanie czy ktoś ma doświadczania związane z podpisem elektronicznym i autoryzacją do strony www, mianowicie chciałbym aby dostęp do logowania był dopiero po autoryzacji przez podpis elektroniczny, o ile problem przy użyciu karty chipowej z której pobierany jest podpis, w sieci znalazłem materiały to w przypadku o którym pisze nie wygooglowowałem :( dobrze by było aby takie rozwiązanie było oparte o php (ew inne choć)

z góry dziękuję ;-)
Grzegorz W.

Grzegorz W. CISSP|OSCP|CEH|CRT
Ekspert ds.
Bezpieczeństwa
Teleinform...

Temat: autoryzacja za pośrednictwem podpisu elektronicznego

Robert M.:
Witam ;-)

Mam jeszcze pytanie czy ktoś ma doświadczania związane z podpisem elektronicznym i autoryzacją do strony www, mianowicie chciałbym aby dostęp do logowania był dopiero po autoryzacji przez podpis elektroniczny, o ile problem przy użyciu karty chipowej z której pobierany jest podpis, w sieci znalazłem materiały to w przypadku o którym pisze nie wygooglowowałem :( dobrze by było aby takie rozwiązanie było oparte o php (ew inne choć)

z góry dziękuję ;-)

Hej, postaram się to wytłumaczyć najprościej jak potrafię. Otóż nie do końca rozumiem czego chcesz użyć jako nośnika certyfikatów - jednakże nie ma tutaj znaczenia czy chcesz używać jako nośnika certyfikatów kart SC, czy też plików, jeśli zdecydujesz się na karty musisz na każdym systemie klienckim dostarczyć odpowiednie biblioteki Crypto Service Provider (CSP), oraz PKCS#11 pozwalające na komunikację z kartą.

Z tego co rozumiem chcesz zrobić two factor authentication. Jeśli dobrze zrozumiałem miało by to wyglądać w sposób następujący. Masz wygenerowane certyfikaty dla webserwera i dla wszystkich użytkowników. Pierwszym krokiem dostania się do chronionej podstrony była by autentykacja certyfikatem klienta - jeśli certyfikat klienta jest wydany przez to samo centrum certyfikacji, przez które wydano certyfikat dla webserwera, oraz jeśli certyfikat klienta nie znajduję się na liście certyfikatów unieważnionych (CRL) ustanawiana jest sesja HTTPS pomiędzy serwerem i klientem.
Po poprawnym ustanowieniu sesji użytkownikowi pokazuje się formularz do logowania np. login, hasło po wprowadzeniu których dane powędrują do serwera szyfrowanym kanałem. Jeśli właśnie w taki sposób chcesz to zrobić potrzebujesz zrobić dwie rzeczy tzn. skonfigurować serwer http aby obsługiwał połączenia po SSL oraz zakodować w PHP bądź też użyć gotowca do autentykacji użytkowników loginem i hasłem. Obsługi certyfikatów i autentykacji certyfikatem leży po stronie serwera HTTP i nie trzeba jej kodować.

Poniżej podaję Ci link jak skonfigurować SSL dla serwera apache:
http://httpd.apache.org/docs/2.0/ssl/ssl_howto.html

najprostsza konfiguracja wymagająca aby klient i serwer posiadał certyfikat wydany przez to samo centrum:

httpd.conf

SSLVerifyClient none
SSLCACertificateFile conf/ssl.crt/ca.crt

<Location /secure/area>
SSLVerifyClient require
SSLVerifyDepth 1
</Location>


Przy takiej konfiguracji wymagana będzie autentykacja klienta certyfikatem aby dostać się do zasobów umieszczonych w katalogu /secure/area, jeśli autentykacja przejdzie pomyślnie wtedy klient uzyska szyfrowane połączenie do podstron w katalogu /secure/area i jeśli chcesz zrobić drugi stopień autentykacji np. login hasło w PHP to musisz po prostu stworzyć tam podstronę która będzie wymagała od użytkownika aby podał te dane.

Przykłady autentykacji użytkowników można znaleźć w internecie chociażby na stronie:
http://pl.php.net/manual/sl/features.http-auth.php

Czy o to Ci chodziło, czy nie do końca ?

pozdrawiam
g.

konto usunięte

Temat: autoryzacja za pośrednictwem podpisu elektronicznego

WIdzę Grzesiu, że robisz za goldenlinowego google'a ;)
Grzegorz W.

Grzegorz W. CISSP|OSCP|CEH|CRT
Ekspert ds.
Bezpieczeństwa
Teleinform...

Temat: autoryzacja za pośrednictwem podpisu elektronicznego

Karol W.:
WIdzę Grzesiu, że robisz za goldenlinowego google'a ;)
Hahaha rozsławiam swoje nazwisko bo ostatnio padły zarzuty, że moje nazwisko nic nie znaczy w "środowisku" wiesz zresztą sam jak jest Karol :)

Poza tym wiesz, że zawsze lubiłem podyskutować :>

pozdrawiam
g.Grzegorz W. edytował(a) ten post dnia 25.06.07 o godzinie 19:44
Czarek Pecyna

Czarek Pecyna Właściciel Firmy,
CUBE Cezary Pecyna

Temat: autoryzacja za pośrednictwem podpisu elektronicznego

Witam

Ten wątek jest mi bardzo przydatny. Wszystko jest łopatologicznie wyłożone, ale mi nie chodzi i nie wiem czemu. Wkleiłem w httpd

SSLVerifyClient none
SSLCACertificateFile /opt/lampp/etc/ssl.crt/ca.crt

<Location /opt/lampp/htdocs/tajne>
SSLVerifyClient require
SSLVerifyDepth 1
</Location>

Niestety po https:localhost/tajne wchodzi bez zapytania o certyfikat klienta:(

Podczas gdy dla:

SSLVerifyClient require
SSLCACertificateFile /opt/lampp/etc/ssl.crt/ca.crt

W operze pojawia się błąd nr 40, mówiący, który zrozumiałem tak: nie można się połączyć z serwerem ponieważ niepozwalają na to właściwości bezpieczeństwa. Czyli serwer oczekuje certyfikat klienta, który trzeba zaimportować do przeglądarki? Pojawiło mi się nastepne pytanie jak z certyfikatu dla user w formacie .pem wyiskać taką jaką chce opera .p12

Z góry dziękuje jeśli ktoś zechce mi to łopatologicznie wyjaśnić.
Czarek Pecyna

Czarek Pecyna Właściciel Firmy,
CUBE Cezary Pecyna

Temat: autoryzacja za pośrednictwem podpisu elektronicznego

Przegooglowałem jeszcze raz wszystko i udało się.

konto usunięte

Temat: autoryzacja za pośrednictwem podpisu elektronicznego

Skoro jesteście w temacie autoryzacji podpisem elektronicznym to ja mam pytanie. Chodzi o system, który wymagałby 2 poziomów autoryzacji: jeden - aby wejsc do systemu i mieć podgląd informacji, drugi, aby modyfikowac te informacje, czyli takie logowanie i autoryzacja zmian.
Czy ma to sens jeśli obie autoryzacje oprzemy na tym samym mechanizmie podpisu elektronicznego z tym samym kluczem? Klucz prywatny, jaki posiada uzytkownik zabezpieczony jest haslem, co w praktyce oznacza, ze do wejscia do systemu czy autoryzacji zmian wprowadzamy to samo haslo do wskazanego klucza. Klucz moze byc przechowywany w dowolnym miejscu wybranym przez uzytkownika. Czy wtedy nie wychodzi na to samo, jezeli damy uzytkownikowi tylko 1 poziom autoryzacji do wejscia do systemu i nie wymagamy autoryzacji zmian?



Wyślij zaproszenie do