Uwagi do wywiadu z Elżbietą Włodarczyk w Naszym Dzienniku

W opublikowanym 21 marca w "Naszym Dzienniku" wywiadzie z panią Elżbietą Włodarczyk z KIR pada kilka tez, które wymagają komentarza.

"Proszę pamiętać, że podpisanego dokumentu nie możemy
zakwestionować."

Rozumiem, że autorka użyła skrótu myślowego. W rzeczywistości Dyrektywa i polska ustawa o podpisie elektronicznym robi wiele, by zapewnić dokumentowi podpisanemu podpisem kwalifikowanym maksymalną wartość dowodową, pozwalającą zmniejszyć możliwość nieuzasadnionego wyparcia się go przed sądem.

Nie jest jednak prawdą, że "nie można zakwestionować" takiego dokumentu - można, tak samo jak można skutecznie zakwestionować ważność dokumentu podpisanego z lufą pistoletu przy skroni, jak i zakwestionować w ogóle nawet bez pistoletu.

W kontekście docelowego wykorzystania w przypadku zakwestionowania podpisu kwalifikowanego złożonego na zawirusowanym komputerze kompetenty biegły - a za nim sąd - powinien wziąć pod uwagę możliwość manipulacji danymi w niezaufanym środowisku, jakim jest "bezpieczne urządzenie" w obecnej definicji. Sąd może uznać to za zasadne, albo i nie, ale twierdzenie że "podpisu elektronicznego nie można zakwestionować" jest w oczywisty sposób nieprecyzyjne i może co najwyżej zwiększyć obawy przed stosowaniem podpisu elektronicznego.

"W praktyce więc karta wykona nam operację podpisywania przy użyciu
klucza prywatnego zapisanego na niej, ale nie zapewni kontroli nad tym,
co dokładnie podpisujemy.
To jest rola aplikacji, która prezentuje
dokument
"


Aplikacja nie zapewnia pełnej kontroli nad podpisywanym skrótem
i nie ma fizycznej możliwości by to zrobić. Aplikacja otrzymuje treść podpisywanego pliku z API Windows i ma niewielką kontrolę nad oryginalnym źródłem tych danych.

Byłoby to możliwe gdyby:

  • system operacyjny był systemem klasy "trusted" i zapewniał mechanizmy bezpiecznej komunikacji wewnętrznej (takie jak "bezpieczny kanał"),
  • lub gdyby aplikacja uruchamiała się jako jedyna w komputerze w charakterze systemu operacyjnego i posiadała wbudowaną implementację systemu plików, na którym znajdują się podpisywane dane.

Warunki te są oczywiście całkowicie niepraktyczne dlatego się ich nie stosuje do popularnych aplikacji.

Dlatego podkreślę jeszcze raz: aplikacja do składania podpisu, działająca w standardowym systemie Windows (czy Linux) ma ograniczoną kontrolę nad tym, skąd faktycznie pochodzą dane podpisywane. W praktyce możliwości kontroli nad przepływami tych danych są bardzo duże w takich systemach, zarówno za pomocą metod przewidzianych przez producenta (filtry systemu plików) jak i tworzonych przez niezależnych badaczy i "podziemie" (rootkity).

Zostało to w praktyce zademonstrowane w 2005 roku przez firmę G DATA. Demonstracja ta wywołała szeroki oddźwięk i zaowocowała dementi ze strony firmy Certum. Firma Certum nie zakwestionowała jednak w żaden sposób praktyczności tego ataku tylko terminologię i wnioski firmy G DATA.

Certum przyznało równocześnie że nazywanie "bezpiecznego podpisu" "bezpiecznym podpisem" jest niezbyt fortunne.

"i zapewnia bezpieczną komunikację z kartą, spełniającą
określone wymogi bezpieczeństwa."

W obecnym stanie prawnym aplikacja podpisująca nie zapewnia bezpiecznej komunikacji z kartą! Po pierwsze dlatego że nie może - bo z
kartą komunikuje się znowu tylko przez pośredników (CSP, sterowniki czytnika) - a po drugie dlatego
że nie musi.

Rozporządzenie o warunkach technicznych dla bezpiecznego urządzenia wprowadziło kategorię "oprogramowania niepublicznego" dla którego wprost znosi obowiązek stosowania "bezpiecznego kanału" i "ścieżki" do komunikacji z kartą i dokumentem. Można się zastanawiać, co powoduje że oprogramowanie jest "niepubliczne"?

W definicji ustawowej niepubliczne jest system do którego w zwykłych warunkach "nie ma dostępu każdy". I tu następuje kuriozalne wyliczenie, że niepubliczne jest "oprogramowanie w biurze, domu i telefonie komórkowym". Kuriozalne, bo w XXI wieku do komputera podłączonego przez 24h do Internetu na publicznym adresie IP ma dostęp każdy, z całego świata.

W praktyce więc główną podstawą dla której z prawnego punktu widzenia uznajemy dane oprogramowanie za niepubliczne jest... jedno zdanie z podręcznika, które mówi: "aplikacja X nie jest oprogramowaniem publicznym w rozumieniu rozporządzenia". Niewątpliwie taka klauzula zdejmuje odpowiedzialność z producenta, ale nie ma żadnego wpływu na faktyczne bezpieczeństwo końcowego użytkownika.

Z równym powodzeniem można na czerwonej skrzynce na listy napisać "ta skrzynka nie jest czerwona w rozumieniu rozporządzenia" i efekt dla świata materialnego będzie ten sam.

"Dlatego właśnie w Polsce "bezpiecznym urządzeniem" do składania
e-podpisu jest całość: karta kryptograficzna wraz z certyfikatem
kwalifikowanym"


To musi być błąd redakcyjny, bo albo "całość" albo wymieniony jako rozwinięcie "komponent techniczny" czyli karta. Karta jest elementem, a nie całością "bezpiecznego urządzenia".

W świetle rozporządzenia o warunkach technicznych "bezpieczne urządzenie" składa się z "komponentu technicznego" (karty) i "oprogramowania podpisującego", co zresztą jest już poprawnie ujęte w drugim artykule: "bezpiecznego urządzenia do składania e-podpisu (na które
składa się
karta kryptograficzna wraz z oprogramowaniem oraz aplikacja podpisująca)".

Niezależnie od tej definicji, twierdzenie że sama aplikacja zabezpieczy użytkownika przed atakami jest mylące, czego dowodem była demonstracja G DATA.

"Wspomniana aplikacja powinna
zabezpieczyć nas przed niepożądanymi ingerencjami osób trzecich w treść
dokumentu."

Może i powinna, ale tego nie gwarantuje i w standardowym systemie nigdy nie bedzie gwarantować, o czym pisałem wcześniej.

Myląca jest w ogóle sugestia, że "specjalna aplikacja" zapewnia radykalnie większy poziom bezpieczeństwa końcowemu użytkownikowi niż np. wbudowane w popularne aplikacje biurowe funkcje podpisu elektronicznego.

Rola karty kryptograficznej jest jednoznaczna bo chroni ona klucz prywatny przed skopiowaniem, co mogłoby mieć katastrofalne skutki.

Tymczasem rola "specjalnej aplikacji" jest znacznie mniej krytyczna - chroni ona przed pewnymi specyficznymi atakami, z naciskiem na "pewnymi" i "specyficznymi'. Inne wynikające z rozporządzenia i ustawy obowiązki to np. umożliwienie prezentacji (ale nieobowiązkowe) i wyświetlenie ostrzeżenia o możliwych konsekwencjach podpisu. Obie te funkcje są w jakimś stopniu obecne w każdej innej aplikacji podpisującej, tyle że "specjalne aplikacje" mają je zaimplementowane w sposób dosłowny.

Zaś z punktu widzenia użytkownika główna różnica jest taka, że złożenie podpisu w Wordzie to (przykładowo) trzy okienka i PIN, a w "specjalnej aplikacji" - sześć okienek i PIN, często dodatkowo ukraszone interefejsem użytkownika o ergonomii Windows 95. Dlatego proszę się nie dziwić, że ludzie nie chcą z nich korzystać, dopóki nie muszą.

To nie jest "strach przed nowym", stosowany ostatnio jako dyżurny argument - to jest po prostu niechęć do rozwiązań zaprojektowanych niemądrze, niewygodnie i w sposób utrudniający wykonywanie pracy zamiast ułatwiać.

Rozumiem, że centra certyfikacji muszą poruszać się w ramach nakreślonych przez ustawę. Nie znaczy to jednak, że powinny tracić kontakt z rzeczywistością.

Najważniejszą rzeczą, jaka odróżnia certyfikat zwykły e-podpisu od
kwalifikowanego, jest dokładne sprawdzenie danych osobowych przed jego
wydaniem

Jest to teza wprowadzająca w błąd użytkownika bo sugerująca, że istnieje coś takiego jak "silny" certyfikat kwalifikowany i "słaby" certyfikat zwykły. Tymczasem coś takiego jak "certyfikat zwykły" nie istnieje. Istnieje wiele certyfikatów niekwalifikowanych, wystawianych na bazie różnych polityk i o różnych poziomach bezpieczeństwa.

Niektóre z nich mają poziom bezpieczeństwa prawie taki sam jak certyfikat kwalifikowany. Certyfikat niekwalifikowany wydany w ramach polityki Certum IV jest niemal tak samo dokładnie
zweryfikowany jak kwalifikowany.

Co je w takim razie różni? To, że certyfikatem niekwalifikowanym można złożyć podpis w Wordzie, Excelu czy OpenOffice, a kwalifikowanym - nie. A w każdym razie nie będzie to podpis kwalifikowany.

Banki mBank i Multibank co miesiąc wysyłają setki tysięcy sald kont
podpisanych elektronicznie - oczywiście certyfikatem niekwalifikowanym, bo tylko tak mogą to robić z automatu. Tysiące sklepów internetowych i banków od lat korzysta z certyfikatów niekwalifikowanych do zapewnienia autentyczności swoich stron.

Czy jest to "niezbezpieczne"? Czy tożsamość banków jest "niedokładnie sprawdzona"? Oczywiście że nie. Są to wystarczająco bezpieczne i wystarczająco używalne certyfikaty, by stać się rynkiem masowym.

Tylko w niewielu krajach na świecie (m.in. Polsce i Niemczech) udało się wytworzyć stan psychozy, w którym wobec bliżej niesprecyzowanego zagrożenia jako jedyny dopuszczalny stosuje się deklaratywnie bardzo bezpieczny (a w praktyce średnio) ale i bardzo nieużywalny podpis kwalifikowany, a gdy rynek odmawia jego stosowania to postuluje się stosowanie przymusu administracyjnego.

Odpowiedzi

Opcje wyświetlania odpowiedzi

Wybierz preferowany sposób wyświetlania odpowiedzi i kliknij "Zapisz ustawienia" by wprowadzić zmiany.

Czy jest możliwe jest...

Pytanie kieruje do osób, które znają dobrze ustawę. Czy możliwe jest, że mając kartę i aplikację do podpisu sam wygeneruje sobie mój klucz prywatny. Następnie nagram klucz publiczny na jakiś nośnik danych, pójdę z tym do urzędu i poproszę o kwalifikowany certyfikat. Czy urząd wyda mi certyfikat i będę mógł składać podpisy?

Na ten temat pisałem obszernie tutaj:

http://ipsec.pl/podpis-elektroniczny/2008/gdzie-zapisac-certyfikat-kwali...

Praktyka jest niestety taka, że pomimo zapisu, który na to pozwala w polityce certyfikacji Sigillum, nie ma takiej możliwości w praktyce. Z sygnałów jakie do mnie trafiają wynika, że mogłoby to być możliwe dla większych transzy np. gdyby urząd miał już karty i chciał na nie dograć certyfikat kwalifikowany.

Rozwiązanie z kartą, którą my sami uznajemy za bezpieczną jest najpewniejsze.
Proszę zauważyć że jeśli wgłębimy się w specyfikację tych kart to nie ma możliwości ingerencji w taką kartę.

Poza tym wydaje mi się że nie do końca pojął Pan ideę karty i wyświetlania w niej hashu operacji....

Rozwiązanie mobitrust jeśli będzie tylko oparte o karty kryptograficzne takie jak np rozwiązania G&D lub BD gdzie stosowane są chipsety NXP i spełniające certyfikację w zakresie bezpieczeństwa np. osławiony FIPS 140-2 level 3 będzie bardzo ciekawą alternatywą dla podpisu który teraz znamy.
Czekam na to rozwiązanie z utęsknieniem.(prawie)

Proszę zwrócić uwagę, że certyfikaty bezpieczeństwa FIPS oraz CC dotyczą karty chipowej i w praktyce oznaczają tyle, że z karty nie da się wydobyć klucza prywatnego, co z kolei oznacza, że nie da się jej skopiować. ... i w zasadzie tylko tyle. Pozostałe kwestie techniczne pozostają do rozwiązania przez system, a w szczególności procedura samego wykonywania podpisu.

Skrót pokazywany na karcie oznacza większe bezpieczeństwo, ale proszę zwrócić uwagę, że jeżeli haker włamie się na komputer i podmieni aplikację do podpisywania na swoją, a użytkownik o tym nie będzie wiedział, to na nic się zda karta z wyświetlaczem pokazującym hasha.

Prawie zgoda. Ale teraz proszę to porównać do obecnej sytuacji, w której za "bezpieczne urządzenie" uznaje się peceta z Windows, zaś główną gwarancję bezpieczeństwa stanowi punkt w licencji, mówiący że w systemie nie powinno być wirusów i że "niniejsze oprogramowanie nie jest oprogramowaniem publicznym w rozumieniu ustawy". 

 

Zgadzam się, przeciętny, domowy pecet z windowsem nie nadaje się do składania bezpiecznych podpisów. Im prostsze techniczne, bardziej zintegrowane urządzenie tym lepsze. Linux uruchamiany z płyty, przygotowany do wykonywania podpisów wydaje się być dość bezpieczną propozycją, no ale na pewno już nie tak wygodną. Dziś, rolę tych prostych, zintegrowanych urządzeń pełnią telefony komórkowe. Dzięki swojej prostocie i niskiej funkcjonalności znacząco ograniczają potencjalne luki, które pozwalałyby się włamać hakerowi i dlatego są dobrym miejscem na umieszczenie w nich podpisu. Gdyby do systemu Mobitrusta dodać funkcję wykonywania skrótu w komórce to znacząco polepszymy bezpieczeństwo, ale... No cóż, żeby zrobić skrót to konieczna jest aplikacja, która odczytałaby dokument przeznaczony do podpisu, zaprezentowałaby go użytkownikowi i wykonała skrót. W ten sposób system telefonu komórkowego nam się rozbudowuje o przeglądarkę dokumentów do podpisu. Zapewne później ktoś zapragnie złamać monopol i stworzy konkurencyjny program do podpisywania, doda inne programy, itd. W ten sposób z prostego telefonu - urządzenia do dzwonienia i robienia podpisów zrobi nam się urządzenie wielofunkcyjne - smartphone. Znowu pojawią się wirusy (w zasadzie już są), włamania, potrzeba instalowania firewalli, itd. I tu koło się zamyka.

W ogóle uważam, że nie ma czegoś takiego jak tani, bezpieczny i wygodny podpis elektroniczny. Wygoda, cena, bezpieczeństwo te trzy cechy są ze sobą ściśle skorelowane i niestety często wzajemnie się wykluczają. Myślę, że to co należałoby robić to zwiększać świadomość użytkowników. Uczyć ich nt. bezpieczeństwa informatycznego, zasad bezpiecznego korzystania z komputerów. Być może, żeby otrzymać kwalifikowany certyfikat należałoby zdać egzamin z wiedzy o bezpieczeństwie IT oraz znajomości rozwiązań PKI, ale to na pewno nie będzie tanie, ani popularne. Być może warto uczyć o tym w szkołach.

Karta używana w projekcie Mobitrust - jeśli ma być używana do podpisu kwalifikowanego - musi spełniać wymagania ustawowe. Czyli idzie za tym generowanie klucza w karcie no i oczywiście certyfikat bezpieczeństwa, jeden z wymienionych w rozporządzeniu 1094 (ITSEC, CC, FIPS).

Brzmi ciekawie.

No właśnie....
Znam jedno rozwiązanie które można uznać za bezpieczne rozwiązanie - kartę (prototyp) z displayem który wyświetla hash operacji.
Tak display zatopiony w kartę plastikową (można go zginać)

Taki hash można porównać z hashem dokumentu podpisanego i stwierdzić czy jest to ten sam dokument.
W rzeczy samej pracują jednak nad tym największe firmy na świecie a rozwiązanie to będzie wdrażane w przeciągu 2-3 lat.
Osobiście widziałem takie rozwiązania w tym roku na targach Cebit - prezentowały to Bundes Druckerei (chyba tak się to pisze) oraz G&D.

Nad tym rozwiązaniem pracuje też NXP i jedna znana mi firma polska www.mpicosys.com

Takie rozwiązanie nie jest bezpieczne tylko BEZPIECZNIEJSZE, ale to że jest podgląd hash`u niewiele dalej. Tak samo nadal nie ma gwarancji że hash dotyczy określonego pliku. Idąc dalej w tę stronę najbezpieczniejszym rozwiązaniem było policzenie hash`u na kalkulatorze lub jeszcze lepiej liczydle czy suwaku logarytmicznym, bo w kalkulatorze też można ukryć jakiś złośliwy program.

Brzmi ciekawie. Niemcy w ogóle mają rynek takich "autentycznie dość bezpiecznych urządzeń" mocno rozwinięty, bo u nich przepisy są jeszcze bardziej restrykcyjne niż u nas.

Barierą nadal jest cena takiego specjalizowanego urządzenia. Wrażenie rozsądnego kompromisu pomiędzy niedostępnością i bezpieczeństwem, a dostępnością i względnym bezpieczeństwem sprawia aplikacja Mobitrust do podpisywania z poziomu komórki.

Projekt Intela i Microsoftu La Grande (z gatunku Trusted Computing) miał to samo zapewnić w zwykłym pececie, ale nie widzę żeby weszło to do fazy produkcyjnej.

Z kolei ja napisałem sobie kiedyś założenia do projektu takiego urządzenia mogącego podpisywać dokumenty na dysku z poziomu zaufanego systemu uruchomionego z LiveCD.

Tylko że ten poziom abstrakcji to na razie pieśń przyszłości.