Dowód poproszę...

Identyfikacja i autoryzacja to kluczowe elementy każdego systemu bezpieczeństwa, który udostępnia dane, usługi lub aplikacje.

Identyfikacja i autoryzacja to kluczowe elementy każdego systemu bezpieczeństwa, który udostępnia dane, usługi lub aplikacje.

Systematycznie rosnący poziom zagrożeń związanych z kradzieżą tożsamości skłania wiele firm do poszukiwania metod zwiększenia bezpieczeństwa przez zastosowanie silniejszych niż dotąd mechanizmów identyfikacji i autoryzacji użytkowników sieci oraz dostępnych w niej usług. Jakie mechanizmy zabezpieczeń i systemy zarządzania nimi są najlepsze? Tu niestety brakuje zgodnej opinii i trudno jest podać gotową receptę, choć wiadomo, że najbezpieczniejsze są systemy wykorzystujące identyfikację dwu- lub wieloskładnikową, a najsłabsze klasyczne i najpowszechniej stosowane mechanizmy oparte na nazwach użytkownika i skojarzonych z nimi hasłach. Oprócz tego istnieją rozwiązania pośrednie.

Na rynku dostępnych jest wiele systemów do zarządzania tożsamością wykorzystujących różnego typu programowe lub sprzętowe mechanizmy identyfikacyjne. Zanim jednak w firmie zaczną być wdrażane systemy programowe lub sprzętowe tokeny, karty mikroprocesorowe, skanery do rozpoznawania linii papilarnych, tęczówki oka, głosu, rozpoznawania twarzy itp., warto przeanalizować nie tylko koszty ich implementacji, ale również inne ich cechy, jak poziom zabezpieczenia, łatwość użycia lub skalowalność.

Jedną z barier popularyzacji systemów silnego uwierzytelniania jest brak jednolitego standardu - większość dostępnych na rynku rozwiązań to systemy firmowe w ogóle lub tylko w ograniczonym stopniu współpracujące z zewnętrznymi aplikacjami. Gdyby więc zaczęły być stosowane na masową skalę, oznaczałoby to, że ich użytkownicy musieliby nie tylko pamiętać dziesiątki haseł (co już teraz jest problemem), ale również nosić ze sobą niewygodne wianuszki tokenów, kart mikroprocesorowych, etykiet RFID itp.

Problem ten zauważyli producenci, stąd pojawiło się wiele inicjatyw standaryzacji i ujednolicenia protokołów oraz rozwiązań do identyfikacji, które umożliwiłyby łatwiejszą współpracę i wymianę danych identyfikacyjnych między różnymi systemami. Droga do realizacji takich idei nie jest jednak łatwa. Z jednej strony firmy starają się oczywiście promować własne technologie, z drugiej następuje szybka ewolucja zagrożeń i technologii im przeciwdziałających, co utrudnia ustalenie jednolitego, obowiązującego standardu.

System szyty na miarę

"W wypadku systemów do autoryzacji nie istnieje żadne gotowe rozwiązanie, które spełniłoby wymagania każdej firmy. A jaki system będzie najlepszy, zależy przede wszystkim od poziomu bezpieczeństwa, który jest wymagany" - mówi Sally Hudson, analityk z IDC. Przykładowo większość banków lub instytucji finansowych będzie z reguły stosować systemy zapewniające zróżnicowaną i wielopoziomową kontrolę dostępu, w których najważniejsze konta będą chronione przy wykorzystaniu kart mikroprocesorowych lub sprzętowych tokenów, podczas gdy te o mniejszym znaczeniu (w sensie poziomu ryzyka finansowego) będą zabezpieczane za pomocą prostszych i tańszych w implementacji mechanizmów autoryzacji programowej. Przed wdrożeniem systemu zabezpieczeń najważniejsza jest analiza wymagań. Systemy dwuskładnikowe wprowadzają nową jakość, ale tylko wtedy gdy są rzeczywiście potrzebne.

Według Devine z RSA Security trzy podstawowe pytania, na które powinien odpowiadać dobry system autoryzacyjny, to:

1. Kim jest użytkownik: pracownikiem, klientem czy partnerem firmy? Najlepiej jeśli system jest w stanie automatycznie przydzielić na tej podstawie różny poziom uprawnień dostępu?

2. Jaka jest lokalizacja osoby próbującej uzyskać dostęp do informacji? Informacja taka umożliwia na przykład zróżnicowanie uprawnień dostępu dla pracownika, który wszedł do budynku firmy i został zarejestrowany przez system fizycznej ochrony (małe ryzyko oszustwa) oraz partnera lub pracownika logującego się zdalnie (większe ryzyko). Tak samo mniejsze jest ryzyko, gdy komputer z którego ktoś próbuje nawiązać łączność, ma znany adres IP, a znacznie większe, jeżeli jest to jakiś nieznany adres z odległego kraju?

3. Jakie są żądania użytkownika? Czy chce on uzyskać dostęp do osobistych lub ważnych i specjalnie chronionych dokumentów, czy też tylko do ogólnie dostępnych informacji?

Planując i tworząc system zabezpieczeń praktycznie w każdej firmie trzeba iść na kompromis między kosztami, siłą zabezpieczeń i akceptowalną łatwością użytkowania. Najbardziej widoczne jest to w systemach bankowości lub handlu internetowego, gdzie zbyt skomplikowany i trudny w użyciu system może zniechęcić klientów do korzystania z usług i spowodować ich odejście do konkurencji oferującej prostsze i łatwiejsze, choć mniej bezpieczne rozwiązania. W przypadku systemów wewnątrzfirmowych jest podobnie, choć tu chodzi przede wszystkim o ewentualny spadek wydajności i niezadowolenie pracowników zmuszanych do korzystania z pracochłonnych systemów zabezpieczeń. To oczywiście można również przełożyć na potencjalne straty finansowe.

Rozwiązania pośrednie

Podstawowe cechy i koszty implementacji różnych systemów identyfikacji *

Podstawowe cechy i koszty implementacji różnych systemów identyfikacji *

Systemy wykorzystujące tylko hasło są bardzo słabym zabezpieczeniem. Systemy uwierzytelniania dwuskładnikowego dają silne zabezpieczenie, ale koszt ich implementacji jest wysoki. Stąd też powstały pomysły wprowadzenia systemów pośrednich, np. wykorzystujących dwa lub więcej elementów typu hasła.

Przykładowo największy na świecie bank internetowy (Bank of America) mający ok. 15 mln klientów nie wprowadził tokenów lub innych sprzętowych mechanizmów zabezpieczeń ze względu właśnie na związane z taką potencjalną operacją ogromne koszty. Aby jednak podnieść poziom bezpieczeństwa, bank zastosował dodatkowe mechanizmy identyfikacji wykorzystujące technologię PassMark Security. Podczas pierwszej rejestracji system zadaje użytkownikowi zestaw osobistych pytań oraz wymaga wybrania jednego z prezentowanych mu obrazów graficznych. Podczas późniejszego logowania użytkownik musi podać nie tylko hasło, ale również określić, który z przedstawionych w oknie obrazów jest właściwy. Oprócz tego system analizuje adres IP i jeśli jest on nietypowy, zadaje dodatkowe pytania, zanim udzieli autoryzacji. Tego typu rozwiązanie jest oczywiście mniej bezpieczne od uwierzytelniania dwuskładnikowego, ale też znacznie tańsze - jego szacowany koszt nie przekracza 1 USD na użytkownika rocznie. W efekcie, według przedstawicieli Bank of America, koszty utrzymania systemu są w pełni pokrywane przez zmniejszony poziom liczby oszustw internetowych.

Systemy wykorzystujące mechanizmy sprzętowe (tokeny, karty itp.) łatwiej mogą znaleźć zastosowanie w firmach mniejszych, ale wymagających wysokiego poziomu bezpieczeństwa. Możliwe jest zastosowanie różnych technologii, a jedną z wciąż mniej znanych jest system RFID, który umożliwia nie tylko znakowanie produktów materialnych, ale również wykorzystanie do kontrolowania fizycznego dostępu osób do pomieszczeń, jak również do danych i aplikacji w systemie IT. Rozwiązania takie już zostały wdrożone, np. w szpitalu Bayshore Community Health Services w Stanach Zjednoczonych. Ocenia się, że koszt utrzymania takiego systemu to ok. 150 USD na użytkownika rocznie.

Choć karty mikroprocesorowe, tokeny i inne mechanizmy uwierzytelniania dwuskładnikowego dają wysoki poziom zabezpieczenia, nie należy zapominać o tym, że bardzo ważne są odpowiednie procedury zarządzania nimi, które powinny zapewnić. Token lub inny element jest wydawany odpowiednio zweryfikowanej osobie. W tym wypadku może wystąpić zależność silnego mechanizmu zabezpieczeń od słabego, bo jaka by była wartość tokena, gdyby był wydawany osobie, która podaje tylko słabe hasło.

Uniwersalna architektura

Klasyczne koncepcje systemów autoryzacji ustąpią już wkrótce idei uniwersalnego oprogramowania umożliwiającego identyfikację użytkownika na podstawie prezentowanych przez niego różnorodnych danych, które będą weryfikowane przez rozproszony system autoryzacji - uważa Kim Cameron, Microsoft Identity Architect. Microsoft opracowuje tego typu model zabezpieczeń określany jako Claims-Based Identity Model.

Architektura Claims-Based Identity Model jest oparta na standardowych protokołach, takich jak WS-Federation, WS-Trust i SAML (Security Assertion Markup Language) i dzięki temu umożliwia implementację uniwersalnych mechanizmów autoryzacji wykorzystujących informacje zapisane w różnych systemach i wymieniane między różnymi serwerami zarządzającymi tożsamością. Tego typu rozwiązania mają zastąpić obecne systemy z centralnymi, sztywnymi firmowymi bazami, które z reguły nie pozwalają na wymianę informacji z innymi aplikacjami.

Jak mówi Kim Cameron, ważną zaletą tego modelu jest to, że umożliwi on wykorzystanie już istniejących infrastruktur zabezpieczeń, takich jak systemy certyfikacji PKI lub usługi katalogowe. Claims-Based Identity Model będzie też systemem samoorganizującym się i modułowym, pozwalając na elastyczną wymianę informacji między różnymi jego elementami w celu identyfikacji użytkownika i przydzielenie mu odpowiednich uprawnień.

Podstawą efektywnego działania tego typu mechanizmów identyfikacji i autoryzacji użytkowników będzie system ich weryfikacji, bo oczywiście podawane informacje muszą być sprawdzane. Podstawowym założeniem jest bowiem to, że nie ma jednego centralnego mechanizmu decydującego o identyfikacji na podstawie prezentacji jednoznacznego dowodu, np. podpisu cyfrowego. Model ten zawiera trzy elementy - element żądający dowodów i decydujący co ma z nimi zrobić, element potwierdzający ich autentyczność oraz użytkownika, który może decydować, jakich dowodów identyfikacyjnych chce dostarczyć, a jakich nie.

"Claim" to dowód, że informacja jest podawana jako prawdziwa. Dowody te mogą mieć bardzo różny charakter - hasło, certyfikat PKI, data urodzenia, przynależność do jakiejś grupy osób, wiek itp. Dane są wymieniane dynamicznie przy wykorzystaniu standardowych protokołów umożliwiających przesyłanie informacji w sieciach jak LDAP, jego internetowych ekwiwalentów lub WS-Federation czy SAML. W modelu tym bezpieczeństwo będzie kontrolowane przez mechanizm oceny i zarządzania ryzykiem oraz ważną funkcję umożliwiającą odmówienie przekazania dowodu przez każdy z elementów systemu, a nie jak w klasycznych systemach, przez automatyczne i pełne zaufanie po przeprowadzeniu procesu identyfikacji.

"Architektura ta dostarcza mechanizmy wymiany informacji, a nie oceny, czy są one prawdziwe, czy nie. Dopiero mechanizm oceny ryzyka analizuje dane i podejmuje decyzję, czy poziom ich wiarygodności jest wystarczający do odpowiedniej autoryzacji. Krytyczną dla bezpieczeństwa nową funkcją jest możliwość odmowy przekazaniu dowodów (veto power) przez użytkownika lub element potwierdzający ich autentyczność" - mówi Kim Cameron.

Microsoft już wprowadził takie funkcje, implementując je jako element technologii Information Card oraz architektury Active Directory Federation Services, która zawiera usługę Security Token Service, umożliwiającą przyjmowanie i wysyłanie tego typu dowodów autentyczności.

Otwartość sprzyja standaryzacji

Warto zwrócić uwagę na kilka inicjatyw standaryzacji i ujednolicenia protokołów i mechanizmów zarządzania tożsamością, takich jak projekt Higgins (zainicjowany przez IBM), projekt Bandit (Novell) lub standardy tworzone Liberty Alliance. Zarówno Higgins, jak i Bandit to względnie nowe mające zaledwie ok. roku projekty mające za zadanie opracowanie narzędzi umożliwiających współpracę aplikacji (przede wszystkim oczywiście IBM i Novella) z różnymi systemami do autoryzacji i zarządzania tożsamością, jak Microsoft CardSpace lub opartymi na standardach zatwierdzonych przez Liberty Alliance.

Higgins to środowisko, które ma zintegrować dane dotyczące tożsamości i profili użytkowników pochodzące z różnych systemów. W jego skład wchodzi interfejs, komponenty middleware, takie jak Identity Attribute Service oraz biblioteki API umożliwiające wbudowanie do aplikacji funkcji zapewniających współpracę z usługami zarządzania tożsamością oferowanymi przez tę platformę.

Bandit to zestaw usług wykorzystujących istniejące protokoły, np. OASIS WS-* oraz standardy opracowane przez Liberty Alliance lub w ramach projektu Higgins. Ma on umożliwić współpracę aplikacji wyposażonych w odpowiednie wtyczki z dowolnymi systemami autoryzacyjnymi back-end, m.in. Microsoft InfoCard.

Novell już zaprezentował oprogramowanie InfoCard Selector, które umożliwia współpracę aplikacji działających na platformach Linux i Mac OS z CardSpace, czyli własną implementacją InfoCard zrealizowaną przez Microsoft.

Autentykacja i autoryzacja

To dwa różne, czasem mylone pojęcia. Autentykacja lub inaczej identyfikacja to mechanizm weryfikacji osoby prezentującej swoje dane, czyli określania czy jest ona kimś za kogo się podaje. Natomiast autoryzacja to procedura przyznawania odpowiednich praw dostępu do informacji, danych lub aplikacji. Autoryzacja jest pojęciem szerszym, bo oczywiście wymaga wcześniejszej identyfikacji.

SAML to oparty na XML standardowy protokół umożliwiający wymianę danych dotyczących autoryzacji i identyfikacji użytkowników między bezpiecznymi domenami opracowany przez organizację OASIS (Organization for the Advancement of Structured Information Standards).

WS-Trust (Web Services Trust Language) to język umożliwiający aplikacjom bezpieczną wymianę informacji XML przy wykorzystaniu protokołu SOAP (Service Oriented Architecture Protokol).

Dla Computerworld komentuje Miłosz Franaszek, Architekt Systemów w SA.

Miłosz Franaszek, Architekt Systemów w COMP SA.

Miłosz Franaszek, Architekt Systemów w COMP SA.

Rynek zarządzania tożsamością w Polsce ciągle jest w bardzo wczesnej fazie rozwoju i do niedawna niewiele się na nim działo. Firmy wolały inwestować pieniądze w zabezpieczenia sieciowe czy punktowe zabezpieczenia dostępu. Dotyczy to głównie firm średnich i małych. Przyczyn oszczędzania na inwestycjach w zarządzanie tożsamością jest kilka, ale najpoważniejsze z nich to złożoność oraz wynikające z niej czasochłonność i cena, które obecnie nie są przeszkodą jedynie dla dużych przedsiębiorstw.

Złożoność wynika z komplikacji systemów i zadań jakie mają spełniać. Klient oczekuje, że system będzie łatwy dla użytkownika i gwarantujący bezpieczeństwo. Daje się to pogodzić jedynie w wypadku zastosowania najlepszych, a przez to najdroższych rozwiązań. Nawet jednak wtedy, gdy rozwiązania są nieco tańsze, wymaga to sporządzenia dokładnej analizy poziomów dostępu dla poszczególnych grup użytkowników. Oznacza to wykonanie przez klienta wielkiej pracy: określenie parametrów systemu, atrybutów użytkowników, przyporządkowanie atrybutów aplikacjom używanym w firmie, ustalenie formy atrybutów, ich długości i sposobu wprowadzania. Do tego trzeba połączyć w jednym miejscu weryfikację tożsamości i przydzielanie praw do różnych elementów systemu. Pierwsza część procesu jest żmudna, druga skomplikowana i między innymi dlatego implementacja systemu zarządzania tożsamością trwa średnio dziewięć miesięcy, a minimum pół roku. Złożoność wdrożenia wymaga wysokiej klasy specjalistów, których w kraju brakuje. To też ma wpływ na cenę. A oszczędności z wprowadzenia takich systemów nie są łatwo mierzalne, choć zdaniem specjalistów zwracają się z nawiązką. I to zazwyczaj już po pierwszym powstrzymanym incydencie związanym z bezpieczeństwem, ale także w kosztach szkoleń czy kosztach zarządzania. Trudno także ocenić oszczędności w postaci pracowników zadowolonych z systemu prostego w użyciu, co przekłada się na wydajność pracy.

Znacznie zwiększone ostatnio zainteresowanie systemami zarządzania tożsamością pochodzi głównie od dużych firm zainteresowanych integracją rozbudowanych systemów zabezpieczeń, których złożoność jest znacznie większa od przeciętnej. O ile w zarządzaniu własnymi zabezpieczeniami doskonale sprawdza się nasz Centaur SU, o tyle w systemach heterogenicznych i bardzo dużych posiłkujemy się rozwiązaniami innych firm, liderów tego rynku.