Ochrona selektywna

Podpisywanie z XML Signature

Standard XML Encryption w elementach zawierających informacje o zastosowanym kluczu wykorzystuje przestrzeń nazw (namespace) zdefiniowaną przez inny standard - XML Signature. Podpis XML Signature składa się tylko z jednego, złożonego elementu o nazwie Signature, który zawiera:

  • Zakodowaną metodą Base64 wartość podpisu (ciąg alfanumeryczny)

  • Opis sposobu utworzenia i weryfikacji podpisu: opis metody generowania podpisu i jego weryfikacji (algorytmy, sposób wypełniania bloku, itd.), a także nie zaszyfrowany skrót (lub wskazanie na niego), metodę normalizacji tekstu itp.

  • Informacje o kluczu asymetrycznym (publicznym) niezbędnym do weryfikacji podpisu, podaną jako: identyfikator klucza rozumiany przez odbiorcę (np. adres e-mail nadawcy), klucz publiczny podany wprost (rozróżniane są klucze DSA lub RSA), wskazanie na umiejscowienie klucza (identyfikator URI), identyfikator klucza w formacie certyfikatu PKI (X.509), PGP lub innym

  • Informacje dodatkowe: format MIME, stempel czasowy, dane o zastosowanym urządzeniu kryptograficznym, a nawet zapisane w formacie XML instrukcje przetwarzania (odpowiednio interpretowane jedynie przez konkretną aplikację).
Należy pamiętać, że podpisy zgodne z XML Signature, podobnie jak wszelkie podpisy elektroniczne, zapewniają (poprzez funkcję skrótu) jedynie integralność podpisywanej informacji oraz autentyczność źródła jej pochodzenia (tylko nadawca ma klucz prywatny, którym jest szyfrowany skrót). Nie gwarantują one poufności informacji - treść podpisywanej wiadomości pozostaje jawna. Aby zapewnić poufność, należy ją dodatkowo zaszyfrować, np. zgodnie ze standardem XML Encryption.

Potencjalne zastosowania

Jeżeli idea usług Web (Web Services) nabierze realnych kształtów, standardy XML Encryption i XML Signature czeka zapewne szeroki wachlarz zastosowań. Mogłyby one być wykorzystane do zabezpieczania komunikacji między uczestnikami transakcji płatności internetowych lub nawet POS, realizowanej przez protokół SOAP. Szyfrowanie mogłoby obejmować jedynie pola zawierające numer i datę ważności karty płatniczej oraz zwrotnie - pola z decyzją autoryzacyjną. Inne zastosowanie to np. możliwość publikowania jednolitych dokumentów zawierających zarówno informacje jawne, jak i zaszyfrowane, np. cenniki dla klientów końcowych i partnerów handlowych. Scenariusz bezpiecznej wymiany danych z wykorzystaniem standardów XML Signature i XML Encryption został już zastosowany w pilotażowym wdrożeniu systemu elektronicznej wymiany dokumentów PIT w Izbie Skarbowej w Szczecinie (

http://www.certum.pl/english/eng/contact/press/pdf/2001-05-25_Izba_Skarbowa_w_Szczecinie.pdf).

Powstające standardy bezpieczeństwa Web Services

Standaryzacja zagadnień bezpieczeństwa usług Web postępuje wielotorowo. Oprócz XML Encryption i XML Signature, W3C prowadzi prace nad protokołem dystrybucji i rejestracji kluczy publicznych - XKMS (XML Key Management Specification). Składa się on z dwóch części. Pierwsza to X-KISS (XML Key Information Service Specification), dzięki któremu można w dane o kluczu wbudowywać informacje dotyczące sposobu jego weryfikacji (np. protokół połączenia z serwerem OCSP zwracającym aktualny status certyfikatu). Druga część to X-KRSS (XML Key Registration Service Specification), który definiuje protokół do przekazywania informacji niezbędnych przy tworzeniu pary kluczy publiczny-prywatny - w szczególności na potrzeby certyfikatów. Dotyczy to także danych niezbędnych w procesie ewentualnego odtwarzania utraconego klucza prywatnego (key recovery).

Z kolei organizacja OASIS (Organization for the Advancement of Structured Information Standards) zakończyła niedawno prace nad standardem SAML 1.0 - Security Assertion Markup Language, który ma służyć do wymiany informacji o bezpieczeństwie między partnerami biznesowymi, m.in. wzajemnego uznawania faktu uwierzytelnienia. Trwają już prace nad specyfikacją SAML 2.0, w której znajdzie się m.in. obsługa sesji i transakcji oraz skutecznego, jednorazowego wylogowania (single sign-off). Standard SAML został zaaprobowany przez Liberty Alliance, które planuje wzbogacenie go w oparte na regułach dynamiczne przyznawanie i blokowanie praw dostępu do obiektów i zasobów. Niezależnie prace takie prowadzi również OASIS - protokół nazwano XACML (eXtensible Access Control Markup Language). Ułatwia on definiowanie praw dostępu (np. do pisania, testowania, poprawiania, łączenia, analizy itd.) do rozproszonych zasobów całej organizacji, co z kolei umożliwia tworzenie jednorodnej polityki bezpieczeństwa. SAML stał się także częścią szerszej, wspieranej m.in. przez IBM, Microsoft i VeriSign, specyfikacji WS-Security, mającej zapewnić bezproblemową współpracę między różnymi standardami bezpiecznego uwierzytelniania, jak SAML, Kerberos, PKI itp.


TOP 200