E-podpisowy groch z kapustą

Subskrybuj RSS A A A
09 września 2005 14:54
Paweł Krawczyk

Wszyscy czterej wystawcy certyfikatów kwalifikowanych w Polsce deklarują pełną zgodność ze standardami. I faktycznie, każda z firm jest zgodna ze standardami zaleconymi przez ustawę o podpisie elektronicznym. Problem polega na tym że każda z innym...

Podpis elektroniczny znowu zyskał popularność w mediach po tym jak podpisane zostało rozporządzenie o e-fakturach.

Teraz wszyscy przedsiębiorcy mogą wysyłać sobie faktury w formie elektronicznej podpisane bezpiecznymi certyfikatami kwalifikowanymi. Szybko, bezpiecznie, tanio. Taka przynajmniej jest teoria. Przechodząc od gładkiej teorii do znienawidzonej praktyki zauważymy że rzeczywistość wcale nie jest taka różowa.

Format plików generowanych przez programy do składania bezpiecznego podpisu elektronicznego określa rozporządzenie o warunkach technicznych do ustawy o podpisie elektronicznym. Konkretnie, rozporządzenie dopuszcza by aplikacje do składania podpisu generowały podpis w jednym z trzech formatów:

1. CMS (Cryptographic Message Syntax), format definiowany przez normy ETSI TS 101 733 oraz RFC 3125 i RFC 3126.
2. Format oparty o XML, definiowany przez normę ETSI TS 101 903.
3. PKCS7 binarny format będący poprzednikiem CMS.

Te trzy formaty są wzajemnie niekompatybilne. Każdy z nich ma inną strukturę i jest inaczej kodowany (CMS i PKCS7 są plikami binarnymi, a XML jest plikiem tekstowym). Formaty XML i CMS są mniej więcej równoważne, PKCS7 jest uboższy (na przykład nie przechowuje informacji o znacznikach czasowych). Dlaczego ustawodawca dał narodowi taką dowolność? Trudno powiedzieć. W każdym razie srogo się to zemściło, ale o tym dalej.

W świecie idealnych systemów informatycznych (który na pewno gdzieś istnieje) księgowa firmy "A" mogłaby kupić certyfikat kwalifikowany w jednej z czterech uprawnionych do tego firm, zainstalować oferowaną przez nich aplikację i zacząć wysyłać e-faktury z bezpiecznym podpisem cyfrowym.

Kontrahent z firmy "B" nie musi kupować certyfikatu w tej samej firmie, a wręcz nie musi go kupować wcale tylko po to by sprawdzać poprawność faktur wysłanych przez "A". Jeśli chciałby również wystawiać bezpieczne podpisy to proszę bardzo - może kupić sobie certyfikat w innej firmie i przy jego pomocy podpisywać faktury i wysyłać je do "A". Ponieważ wszędzie posługujemy się standardami, każda ze stron powinna być w stanie zweryfikować podpis złożony za pomocą certyfikatu innego wystawcy. Format certyfikatu jest przecież standardowy, na każdym kroku mamy standardy - PKCS12, PKCS10, PKCS7, X.509, S/MIME i inne. Wszystkie otwarte i ogólnodostępne.

Postanowiliśmy sprawdzić jak wygląda wzajemna kompatybilność podpisów cyfrowych generowanych przez programy czterech polskich wystawców certyfikatów. W testach braliśmy pod uwagę następujące firmy i oferowane przez nie programy (co było uzależnione od tego jakie programy są dostępne za darmo ze stron poszczególnych firm):

1. Certum oferuje darmowe certyfikaty testowe i darmowy program proCertum CombiLite, testowaliśmy składanie i weryfikację podpisów.

2. Signet oferuje darmowe certyfikaty testowe oraz dwa programy - Signet Confidant (do podpisywania) oraz Singet Proofer (do weryfikacji). Ponieważ do testów dostępny jest tylko ten drugi, testowaliśmy tylko weryfikację.

3. Krajowa Izba Rozliczeniowa (KIR) oferuje program SafeDevice w wersji demo wraz z testowym certyfikatem, mogliśmy więc przetestować podpisywanie oraz weryfikację podpisów.

4. Sigillum oferuje darmową wersję programu Sigillum Sign do podpisywania i weryfikacji, ale ponieważ nie udostępnia certyfikatów testowych więc przetestowaliśmy tylko weryfikację.

Wszystkie aplikacje instalują się i działają bez problemu. Składanie podpisów i ich weryfikacja w ramach jednego wystawcy certyfikatów działa jak po maśle. Problemy pojawiają się jeśli chcemy wymieniać się podpisami między poszczególnymi firmami.

A co ze standardami? Okazuje się że każda firm co prawda formalnie zastosowała się do rozporządzenia o warunkach technicznych ale... każda wybrała sobie inny format! Paranoik mógłby pomyśleć że się ze sobą umówiły tak żeby przypadkiem ich systemy podpisów nie były ze sobą kompatybilne.

Jednak ponieważ formaty do wyboru były trzy, a firm cztery więc powstał problem. Jak nie dopuścić do tego by dwóch wystawców implementowało ten sam standard? Okazuje się że Polak potrafi i ten problem udało się kreatywnie rozwiązać, wymyślając własny format niekompatybilny z żadnym poprzednim!

1. Program proCertum CombiLite zapisuje podpisy cyfrowe w formacie CMS. Żaden inny testowany program nie był w stanie zweryfikować tak złożonego podpisu.

2. KIR oraz jego aplikacj SafeDevice stworzona przez firmę BSB zapisuje podpis cyfrowy w formacie PKCS7. Ten podpis okazał się rodzynkiem bo jako jedyny został poprawnie zweryfikowany przez proCertum CombiLite. W drugą stronę to jednak nie działa - SafeDevice nie weryfikuje podpisu w formacie CMS złożonego przez CombiLite. Można tego było oczekiwać bo CMS jest nadzbiorem PKCS7. Może to stwarzać problemy ponieważ obydwa programy przywłaszczają sobie prawo do plików z rozszerzeniem SIG.

3. Signet Proofer nie weryfikuje żadnego z podpisów złożonych przez inne programy i trudno się dziwić bo jako jedyny korzysta z formatu XML, całkowicie odmiennego od CMS i PKCS7. Przypuszczamy że z tego samego powodu żadna z pozostałych aplikacji nie będzie w stanie zweryfikować podpisu złożonego Signet Confidantem. Program posługuje się plikami z rozszerzeniem SIGNET.

Trzy wymienione wyżej aplikacje operują na plikach, to znaczy z menu wybieramy fizyczny plik i składamy na nim podpis. Wynik jest zapisywany albo do oddzielnego, małego pliku albo w formacie zwartym, w którym zarówno treść dokumentu jak i podpis znajdują się fizycznie w jednym pliku. Umożliwiają to wszystkie trzy standardowe formaty plików.

4. Sigillum Sign jest oryginałem wyróżniającym się spośród pozostałych programów zarówno filozofią jak i formatem zapisywanych dokumentów. Program nie operuje bowiem na plikach tylko integruje się ściśle z pakietem MS Office, pozwalając na podpisywanie dokumentów z poziomu Worda, Excella i PowerPointa. Brak jest funkcji w rodzaju "wybierz plik do podpisania". Zamiast tego w menu Worda pojawia się nowa pozycja "podpisz dokument", której wybranie powoduje wygenerowanie graficznego obrazu każdej ze stron dokumentu czy arkusza. Są one następnie importowane do Sigillum Sign, podpisywane i zapisywane w prywatnym formacie SDOC opracowanym przez Sigillum.

Po bliższym przyjrzeniu się SDOC okazuje się że jest to po prostu archiwum w natywnym windowsowym formacie CAB, zawierające pliki graficzne reprezentujące poszczególne strony dokumentu oraz - prawdopodobnie - plik z podpisami cyfrowymi każdej z nich. Kontakt z infolinią Sigillum potwierdził że jest to format opracowany przez tę firmę jednak podpis cyfrowy jest zgodny z PKCS7. Z braku możliwości przetestowania tego w praktyce nie jesteśmy w stanie jednoznacznie stwierdzić że format SDOC jest niekompatybilny z czymkolwiek innym ale jest to prawdopodobne biorąc pod uwagę że Sigillum Sign nie chce wczytywać plików z podpisem wygenerowanych przez żaden inny program. Program oczekuje tylko i wyłącznie plików SDOC. Czyli CAB. Oczywiście każdy z programów podpisuje pliki tylko certyfikatem wystawionym przez swojego producenta.

Jak widać rodzimi producenci oprogramowania po raz kolejny wykazali się ambicją i uznali że wszelkie kompromisy lub zgodność formatów są dla mięczaków. Teoretycznie można było się dogadać i wybrać jeden z zaproponowanych przez ustawodawcę formatów tak by uzyskać wzajemną kompatybilność cyfrowych sygnatur. Jednak czy to z powodu niefrasobliwości czy też zmowy cztery firmy starające się promować podpis wśród przedsiębiorców oferują cztery niekompatybilne formaty plików spośród trzech dopuszczonych przez ustawodawcę.

Jak to wygląda z punktu przedsiębiorcy, który chciałby korzystać z podpisu elektronicznego? Załóżmy że firma zainteresowana wystawianiem e-faktur zakupi certyfikat np. w Certum, otrzyma program proCertum Signer i będzie wysyłać podpisane faktury do kontrahenta. Ten będzie musiał zainstalować proCertum CombiLite żeby je weryfikować. Jeśli kontrahent również będzie wysyłać podpisane dokumenty ale przypadkiem kupi certyfikat np. w KIR to powstanie absurdalny, asymetryczny układ w którym każda z firm będzie podpisy wystawiać jednym programem, a weryfikować drugim.

Jeśli przedsiębiorca będzie od jednego kontrahenta otrzymywać dokumenty podpisane certyfikatem Certum a od drugiego certyfikatem KIR to powstawnie konflikt, bo obie wzajemnie niekompatybilne aplikacje zawłaszczają sobie pliki z rozszerzeniem SIG.

Sytuacja w której firma otrzymuje dokumenty podpisane certyfikatami każdej z czterech firm jest nie do pozazdroszczenia, bo trzeba będzie zainstalować wszystkie cztery programy do weryfikacji. I w tej właśnie sytuacji znajdą się na pewno inspektorzy skarbowi, którzy będą kontrolowali poprawność faktur.

Każdy z producentów znajdzie zapewne dziesiątki powodów dlaczego "jego" format jest lepszy od innych. Jednak jako zbiorowość zapomnieli oni o tym że oprogramowanie, które tworzą ma służyć użytkownikom którzy mogą mieć różne preferencje odnośnie wyboru usługodawcy. Wielkie firmy software'owe również prowadziły w latach 90-tych "wojny na standardy", które skończyły się tym że nawet Microsoft z podkulonym ogonem przestał wprowadzać prywatne protokoły i oparł się o otwarte standardy tworzone przez instytucje takie jak W3C i IETF.

Dzięki temu email podpisany elektronicznie w programie Outlook zgodnie ze standardem S/MIME będzie bez problemu odczytany w Mozilli pod Windows, Linuksem czy na Macintoshu. Tak też powinno być z e-podpisem. Dokument podpisany programem KIR powinno się dać zweryfikować programem każdego z trzech pozostałych wystawców. Nie ma ku temu przeszkód technicznych, bo wszystkie programy korzystają z tyc samych algorytmów kryptograficznych i protokołów. Niekompatybilność wprowadzono dopiero na poziomie reprezentacji pliku wynikowego.

Proszę się zatem nie dziwić że przedsiębiorcy nadal, od czterech lat, patrzą na podpis elektroniczny jak na drogi i dziwaczny gadżet.

Oceń artykuł

średnio: 4.7 liczba ocen: 3

Komentarze (10)

madh

12-12-2005 21:47

Drodzy Państwo .. powiem tak moja firma właśnie oprogramowuje podpis Sigullum i Certum w aplikacji do obiegu dokumentów oprogramowaliśmy Certum ale działa pod Windowsem i niestety używa jedynie słusznej przeglądarki, Sigullum podobno działa ich kontrolka za żadne grzechy nie chce się uruchomić .... Co do wieloplatformowości .. możemy zapomnieć .... Co do bezpiecznego urządzenia i oprogramowania ... bezpieczne oprogramowanie to takie które używa np. bibliotek kryptograficznych jednego z 4 wystawców .. jest mały problem te api jest pisane w Visual Basicu , kontrolki to jest ActiveX a o javie to panowie nie za bardzo chcą gadać ... poza tym Api jest w posaci windowsowych dll-ek ;-) A teraz killer na koniec api unizeto kosztuje 4700 pln netto + każdy runtime Sigillum 900 zł netto, bez dodatkowych opłat ... pytani glaczego taka rozbieżnośc w cenie ? Zapieniony ;-) PS: ale i tak mi to nie przeszkadza aby sprzedawać i zarabiać kase na podpisie elektronicznym najgorsze jest to ze urzędnicy nie wiedzą co z tym zrobić ...

Paweł Krawczyk

10-09-2005 14:21

Nawiasem mówiąc, OpenOffice2 zapisuje podpisane pliki w postaci archiwum ZIP zawierającego pliki XML zgodne z formatem OpenDocument. Podpis elektroniczny jest zapisywany w oddzielnym pliku XML zgodnym z standardem W3C XMLDSIG. Podejrzewam że jest on identyczny z ETSI TS 101 903. Tak więc OpenOffice2 mogłoby wystawiać bezpieczny podpis elektroniczny jeśli jakaś firma podjęłaby się wystawienia dla niego deklaracji zgodności.

Paweł Krawczyk

10-09-2005 13:55

Jak napisałem w tekście - każdy może znaleźć masę argumentów na to że ten format, który wybrał jest najlepszy. Najbardziej rozpowszechniony wydaje się być CMS (ETSI TS 101 733), który wybrało Certum. Z drugiej strony XML (101 933) wydaje się być bardziej otwarty i przyszłościowy. Od XML jest już tylko krok do formatu OASIS OpenDocument, którym posługuje się np. OpenOffice2 i które potrafi składać pod dokumentami podpis cyfrowy. Teoretycznie, jeśli ktoś wystawiłby deklarację zgodności dla OpenOffice 2 to problem wieloplatformowości oraz przenośności podpisów byłby rozwiązany. Ustawa dopuszcza bowiem inne formaty niż te trzy wymienione w artykule ale pod warunkiem że zostanie on zarejestrowany (pewnie chodzi o rejestrację OID). Podejrzewam że tym mechanizmem posłużyło się Sigillum bo jak inaczej mogliby wystawić deklarację zgodności na format oparty o CAB?

Stefek Burczymucha

10-09-2005 12:59

Bełkotliwa ustawa o podpisie i związane z nią rozporządzenie skutkują opisanymi w artykule problemami. Jakiś czas temu sam stanąłem przed dylematem jaki format podpisu wybrać. Ustawodawca dał nam wolność - 3 formaty. Ale czy na pewno? Najsensowniejszy wydaje się XML (ETSI TS 101 903). Chociażby dlatego, że pozwala tworzyć formularze z dołączonym podpisem albo kontrasygnaty. Ale cóż. Programiści cheteni wybiorą sobie PKCS #7 bo pod Windowsami można to łatwo oprogramować korzystająć z CryptoAPI (a korzytając z CAPICOM to już zupełnie banalne). Największym ustawy kuriozum jest chyba "bezpieczne urządzenie do skladanie podpisu". O sensie i bezsensie teo możnaby pewnie ksiązkę zapisać. pozdr.

Paweł Krawczyk

10-09-2005 12:28

Fakt, z rozporządzenia o warunkach technicznych wynika że certyfikat musi mieć tylko komponent techniczny. Teoretycznie więc wystarczy żeby jakaś firma wykorzystała gotowe oprogramowanie linuksowe i wzięła na siebie odpowiedzialność za wystawienie deklaracji zgodności.

Stefek Burczymucha

10-09-2005 12:02

A skąd pochodzi wymóg certyfikacji przez ABW? Na stronie np certum znalazłam informacje że ich bezpieczne urządzenie jest zgodne ze stosowanymi ustawami i rozporządzeniami i wystawiony przez producenta certyfikat zgodności: http://www.unizeto.pl/fileadmin/unizeto/downloads/deklaracja_securesign.pdf natomiast nigdzie nie spotkalem się z informacjami, że to ma jakiś certyfikat ABW. pozdrawiam

Paweł Krawczyk

10-09-2005 11:42

Ze sterownikami do Linuksa raczej nie ma problemów, są one dostępne do każdej popularnej karty. Programowałem kiedyś karty Schlumbergera korzystając z dostępnych w projekcie sterowników pcsc-lite i działało bez problemów. Podobnie jest z Gemplusem. Problem polega natomiast na tym, że bezpieczny podpis można składać tylko przy pomocy bezpiecznego urządzenia to znaczy karty (tu nie ma przeszkód) ORAZ oprogramowania, które posiada certyfikaty bezpieczeństwa na odpowiednim poziomie. To znaczy, że ktos musiałby przygotować pakiet oprogramowania pod Linuksa i wyrobić dla niego certyfikat w DBTI ABW co kosztuje 50-100 tys. zł. Inna możliwość to skorzystanie z gotowego oprogramowania zagranicznego, które posiada taki certyfikat.

Stefek Burczymucha

10-09-2005 11:24

O ile się nie myle to wszystkie programy do sporzadzania bezpiecznego podpisu działają tylko pod Windows. Co wywoła niebawem głosy oburzenia, że dlaczego nie Linux. A swoją drogą przeniesienie ich pod Linuksa nie będzie chyba banalne biorąc po uwagę stosunek producentów kart i czytników do tego systemu, czyli brak driverów i CSP.

Sati

10-09-2005 00:37

Merytorycznie jest bez zastrzeżeń, ale interpunkcyjne - katastrofa. Pan Paweł Krawczyk powinien wybrać się do szkoły i nadrobić zaległości w zasadach interpunkcji. Kilka porad dam od razu. Przecinek stawiamy 1) w zdaniach złożonych, których zdania składowe nie są połączone przecinkami, oddzielamy przecinkami. 2) przed spójnikiem "że" (również jako partykułę "że" oddzielamy), 3) po spójnikiem równoważnym "by", 4) imiesłów przysłówkowy (zakończony na -ąc, -łszy, -wszy) bez względu na to, jak interpretujemy jego funkcję w zdaniu w zasadzie oddziela się przecinkiem wraz z ewentualnymi jego określeniami, 5) zdanie wtrącone oddzielamy z obu stron przecinkami, myślnikami bądź bierzemy w nawias, 6) wykrzykniki oddzielamy znakiem wykrzyknienia, lub z obu stron przecinkami. 7) w wyliczeniach oddzielamy przecinkami części mowy będące w tym samym przypadku. Polecam również prosty wierszyk, który ułatwi stawianie znaków interpunkcyjnych przy zdaniach złożonych. "Czy, lub, oraz, ani, ni, tudzież, także, oraz, i" - przed tymi spójnikami (łączącymi zdania pojedyncze w zdanie złożone) nie stawiamy przecinków. pozdrawiam...

MoonX

09-09-2005 16:43

Wywazanie otwartych drzwi. PGP juz jest dawno..no ale ktos ma na tym zarobic...gnoje





Najnowsze

Ile kosztuje dowód osobisty

Rząd jako jeden z powodów anulowania przetargu na blankiety e-dowodu podaje brak środków. Sprawdziliśmy, ile kosztowałoby to podatników i jaka jest cena za dokumenty tożsamości na świecie.

Państwo do konsolidacji

Obywatele uważają administrację publiczną za jeden organizm. W rzeczywistości jest to kilka tysięcy oddzielnych struktur, obrosłych biurokratycznymi naroślami. Czy można zracjonalizować działanie państwa? Jak w tym może pomóc informatyka?

Zarządzanie po japońsku

W praktyce przemysłowej wypracowano szereg skutecznych metod zarządzania. Wiele powstało w Japonii. Dlaczego, mimo ich efektywności, nie zawsze są stosowane w biznesie?

e-Sąd z odsieczą sprawiedliwości

Polski wymiar sprawiedliwości postrzegany jest jako skostniały i opieszały. Tymczasem kolejne e-usługi udostępniane przez Ministerstwo Sprawiedliwości ułatwiają życie przedsiębiorcom i usprawniają pracę sądów.

e-Zdrowie w Polsce i na świecie

Projekty informatyzacji służby zdrowia realizowane są na świecie z różnym powodzeniem. Skąd Polska mogłaby czerpać wzorce? A może jesteśmy skazani na własne rozwiązania?

Raport Państwo 2.0, czyli nowa wizja informatyzacji państwa

Michał Boni, minister administracji i cyfryzacji, zaprezentował raport "Polska 2.0. Nowy start dla e-administracji". Przedstawia on informacje na temat stanu realizacji projektów będących w gestii nowo utworzonego ministerstwa oraz prezentuje kierunki dalszych działań związanych z informatyzacją i cyfryzacją administracji publicznej w naszym kraju.

Cyberprzestępcy podążają za użytkownikami

Już dwie na trzy polskie firmy odnotowały ataki lub awarie, które spowodowały spadek produkcji. Co trzecia firma utraciła dane. Liczba takich przypadków będzie rosła, bo hakerzy biorą na cel najbardziej masowe technologie. Szybko reagują też na zmiany w firmowej architekturze.

Rekomendacje




Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści - Prenumerata: Computerworld, Networld, PC World
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2012 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88