Formaty podpisu elektronicznego

Rozporządzenie o warunkach technicznych zawiera następującą specyfikację formatów podpisu elektronicznego dopuszczonego do stosowania w Polsce:


§ 30. 1. Poświadczenia elektroniczne, kwalifikowane certyfikaty, listy CRL, listy unieważnionych zaświadczeń certyfikacyjnych oraz znaczniki czasu powinny spełniać wymagania zawarte w odpowiednich Polskich Normach, a w razie ich braku - wymagania określone w dokumentach, o których mowa w § 49:

1) w ust. 2 pkt 3-5 - dla poświadczeń elektronicznych;
2) w ust. 2 pkt 6 - dla znaczników czasu;
3) w ust. 1 pkt 3 lub ust. 2 pkt 7 - dla kwalifikowanych certyfikatów, list CRL oraz list unieważnionych zaświadczeń certyfikacyjnych.'

Od razu należy zacytować § 49 ust. 2 pkt 3-5:

§ 49. 2. W siedzibie ministerstwa obsługującego ministra właściwego do spraw gospodarki są udostępniane następujące międzynarodowe normy, standardy, zalecenia, raporty i specyfikacje techniczne:

3) specyfikacja techniczna ETSI TS 101 733 - Electronic Signature Format, wydana przez European Telecommunications Standards Institute;
4) specyfikacja techniczna ETSI TS 101 903 - XML Advanced Electronic Signatures (XAdES), wydana przez European Telecommunications Standards Institute;
5) dokument PKCS#7 Cryptographic Message Syntax Standard, wydany przez RSA Security;

Wracając jeszcze do § 30, umożliwia on stosowanie innych formatów, pod warunkiem, że zostaną one zarejestrowane:

§ 30. 2. W przypadku gdy bezpieczne urządzenie do składania lub weryfikacji podpisów elektronicznych stosuje inny niż określony w ust. 1 pkt 1 format podpisu elektronicznego, kwalifikowany podmiot świadczący usługi certyfikacyjne, który umieścił takie urządzenie w wykazie, o którym mowa w art. 10 ust. 1 pkt 8 ustawy, format ten rejestruje i opatruje identyfikatorem obiektu zawartym w odpowiednim atrybucie podpisu, o ile taki format nie został wcześniej zarejestrowany i opatrzony identyfikatorem obiektu przez inny podmiot.

Problemy

  • Kluczowym problemem prawnym jest pomyłka redakcyjna w Rozporządzeniu, jaką jest użycie w §30 pkt 1 słów poświadczenie elektroniczne. Poświadczenie to technicznie to samo co podpis, ale tylko wewnątrz zaświadczenia (certyfikatu) CA - a żaden z wymienionych formatów nie stosuje się do plików z certyfikatami. Wszystkie dotyczą podpisu pod danymi.
  • Z rozmowy z autorami rozporządzenia wynika, że w §30 pkt 1 miał być jednak formatu podpisu elektronicznego a nie poświadczenia. Wskazuje na to także §30 pkt 2, który mówi wprost "w przypadku gdy (...) stosuje inny niż określony w ust. 1 pkt 1 format podpisu". Jest to więc ewidentna niespójność w Rozporządzeniu.
  • Interpretacja prawna powinna prawdopodobnie uwzględniać nie literę tego zapisu (która jest błędna), ale jego ideę wynikającą z analizy obu punktów i kontekstu stosowania formatów.
  • Wymienione formaty dotyczą tylko podpisu pod dokumentem, a nie samego dokumentu. Oznacza to, że zgodny z Rozporządzeniem będzie każdy, nawet najbardziej egzotyczny i zamknięty format dokumentu lub pliku, jeśli tylko producent zdeklaruje się że wewnętrznie formatem podpisu jest jeden z wyżej wymienionych. Kwestię formatów dokumentów elektronicznych miało określić rozporządzenie na podstawie art. 58 pkt 3 Ustawy o podpisie, ale od 2001 roku nie zostało ono opublikowane.

Dopuszczone formaty

Z powyższego zapisu wynika, że w Polsce do zapisywania podpisu kwalifikowanego są dopuszczone trzy formaty podpisu:

Format Norma
XAdES ETSI TS 101 903
CMS (Cryptographic Message Syntax) ETSI TS 101 733
PKCS#7 PKCS#7

Praktyka

Jak w 2005 roku wyglądało praktyczne wdrożenie tych standardów sytuacja na rynku można przeczytać w moim artykule do Computerworld:

* "E-podpisowy groch z kapustą", Paweł Krawczyk, Computerworld, 2005-09-09

W skrócie, trzy polskie centra certyfikacji wykorzystały jeden z dopuszczonych przez rozporządzenie formatów, ale każde inny. Jedno - Sigillum - stworzyło swój własny format zapisu podpisanych dokumentów, który jest niekompatybilny z pozostałymi w sensie plikowym, ale podpis jest kompatybilny z rozporządzeniem ponieważ w środku stosuje PKCS#7 (szczegółowa analiza Sigillum SDOC).

Każda z firm w momencie ich wybierania czyli około 2002 roku miała argumenty przemawiające za wybranym przez siebie formatem (CMS był najbardziej dojrzały, XAdES był przewidywany jako dominujący standard, PKCS#7 jest najszerzej kompatybilny), ale fakt że nie dogadały się między sobą co do jednego z nich bardzo zaszkodził rynkowi.

Stan na rok 2006 jest nieco lepszy. Ze strony centrów certyfikacji widać wyraźne ruchy w kierunku ujednolicenia formatów - głównie w kierunku XAdES. Od 2007 roku Sigillum oferuje klientom produkt Sigillum Sign Pro, który obsługuje prawdopodobnie najwięcej formatów na rynku - XAdES, CMS, PKCS#7 oraz S/MIME.

Zalecenia dla producentów

W opracowanym dla ISOC-PL Stanowisku w sprawie podpisu elektronicznego w Polsce sugerowałem, że należy dążyć do narzucenia jednego, obowiązkowego formatu podpisu dla administracji publicznej i że powinien to być XAdES. Pozostałe mogłyby być akceptowane przez urzędy na podstawie pragmatycznej oceny przydatności i kosztów.

W przypadku podpisu kwalifikowanego należy jeszcze pamiętać o tym, że w rachubę nie wchodzi np. przysyłanie dokumentów do urzędu emailem, co sugerowałoby wdrożenie S/MIME. Pomimo, że S/MIME wewnętrznie korzysta z PKCS#7 to nie ma na rynku aplikacji emailowych posiadających deklarację zgodności, która pozwalałby na podpisanie podpisem kwalifikowanym emaila lub załącznika do niego.

W rezultacie wszystko sprowadza się w praktyce do podpisania pliku jedną z "poświęconych" aplikacji i wysłania go jako binarnego załącznika albo przez email albo przez formularz WWW. Nie zyskujemy na tym w żaden sposób na ergonomii, a podpisując plik w sensie binarnego ciągu nie wiemy w 100% co podpisujemy. Słuszniejsze więc wydaje się korzystanie z rozwiązań opartych o XML, które pozwalają na podpisanie treści zrozumiałej dla aplikacji podpisującej.

Na połowę 2006 roku większość producentów nowopowstającego oprogramowania (skrzynki podawcze, e-faktury) stosuje XML z podpisem XAdES co jest dobrym trendem.

W sierpniu 2006 trzy polskie centra certyfikacji poinformowały że wspólnie uruchamiają grupę roboczą, której zadaniem będzie wdrożenie XAdES w polskim ustawodawstwie dotyczącym podpisu elektronicznego.