Elastyczna ochrona w elektronicznej wymianie danych

Ponieważ zarówno podpisy XML Signature, jak i szyfry XML Encryption mają postać elementów XML, można je łączyć z innymi dokumentami XML.

Szyfrowanie można dowolnie łączyć z podpisywaniem, tzn. najpierw szyfrować, potem podpisywać (patrz rys. wyżej) lub odwrotnie (sposób gorszy, gdyż weryfikacja podpisu musi być poprzedzona deszyfrowaniem XML Encryption). W obu przypadkach można podpisywać albo element zabezpieczany przez XML Encryption (np. kartę kredytową), większą część dokumentu (np. dane o płatności zawierające numer karty) lub nawet cały dokument (zamówienie z informacją o płatności).

Podpis elektroniczny, czyli XML Signature

Podpis elektroniczny XML Signature gwarantuje odbiorcy (są to typowe cechy podpisu elektronicznego):

  • nienaruszalność podpisywanych danych - dane nie zostały zmienione;

  • to, że dane podpisał ten, kto miał dostęp do klucza prywatnego skojarzonego z kluczem publicznym wskazanym w podpisie - potwierdzenie autorstwa podpisu, czyli uwierzytelnienie nadawcy.
Elastyczna ochrona w elektronicznej wymianie danych

Szyfrowanie i podpisywanie za pomocą XML Encryption i XML Signature

Podpis nie zapewnia jednak poufności danych - dane źródłowe są jawne. W celu zagwarantowania tego, że dane mogą być odczytane tylko przez odbiorcę należy je - korzystając z XML Encryption - zaszyfrować wygenerowanym, losowym kluczem sesyjnym, który zostanie zaszyfrowany kluczem publicznym odbiorcy.

Podpis XML Signature nie ma postaci binarnej, lecz jest tekstowym elementem XML - w trakcie podpisywania i weryfikacji następuje odpowiednie przekodowywanie znaków za pomocą algorytmu Base64. Podobne kodowanie jest stosowane wtedy, gdy podpisywane dane są binarne, co umożliwia podpisywanie np. pliku dźwiękowego czy uruchamialnego programu.

Podpisywane dane są wskazywane przez identyfikator URI (zalecany jest schemat HTTP), w którym można wykorzystać wyrażenia XPointer oraz XPath. Dzięki temu możliwe jest podpisywanie niemal dowolnych fragmentów dokumentu XML.

Elastyczna ochrona w elektronicznej wymianie danych

Umiejscowienie podpisu względem podpisywanych danych

Podpisy XML można dowolnie rozmieszczać względem podpisywanych danych, tj.:

  • podpis może być wbudowany (enveloped) w podpisywany element; podczas weryfikacji podpisu niezbędne jest wtedy odpowiednie usunięcie danych związanych z podpisem;

  • podpis może zawierać podpisywane dane (enveloping);

  • podpis jest oddzielony od danych podpisywanych (detached) i umieszczony w innym miejscu tego samego lub innego dokumentu.
Ten ostatni sposób umożliwia m.in. tworzenie podpisów wiadomości, które są przechowywane na zdalnych serwerach. W takim przypadku do odbiorcy może być przekazywany tylko podpis, zawierający wskazanie na zdalny, podpisany zasób, np. stronę WWW lub plik dostępny przez FTP. Rozwiązanie to można także zastosować do zgrupowania w osobnym dokumencie wszystkich podpisów złożonych dla poszczególnych dokumentów pewnej kolekcji.

Do weryfikacji podpisu odbiorca musi posiadać klucz publiczny nadawcy. Może on być: zawarty w podpisie (co jest oczywiście nie zalecane) lub odpowiednio wskazany, poprzez np. identyfikator certyfikatu X.509, nazwę lub identyfikator zrozumiały dla odbiorcy, adres URL.

Podpis XML Signature - podobnie jak większość obecnie dostępnych na rynku rozwiązań podpisu elektronicznego - nie zapewnia ochrony danych związanych z wysłaniem i otrzymaniem wiadomości, tj. czasu oraz potwierdzenia wysłania i otrzymania. Gwarancje takie dają stemple czasowe, które jednak nie wchodzą w skład standardu XML Signature. Standard nie zawiera także żadnych mechanizmów ochrony długoterminowej (więcej niż kilka lat).

Cecha rozszerzalności podpisów XML Signature została wykorzystana przez European Telecommunications Standards Institute (ETSI), który zaproponował rozbudowanie tego standardu w postaci XML Advanced Electronic Signature (XAdES). Uwzględniono w nim m.in. stemple czasowe oraz ułatwiono realizację koncepcji podpisów długoterminowych. Polega to na dodawaniu co jakiś czas (np. co dwa lata) dodatkowych podpisów cyfrowych wraz ze stemplami czasowymi, w których byłyby zastosowane nowe algorytmy i ich parametry uznawane za bezpieczne w przyszłości.


TOP 200