Cześć druga cyklu "Jak nie implementować elektronicznej skrzynki podawczej?", tym razem na podstawie skrzynki udostępnionej przez powiat mławski.
Skrzynka jest dostępna pod adresem https://powiatmlawski.skrzynkapodawcza.pl/, ale jest to alias DNSowy koncentrujący wiele serwerów wirtualnych na jednym serwerze.
Niezaufane certyfikaty
Pierwsze co zwraca uwagę po wejściu na stronę to ostrzeżenie o niezaufanym certyfikacie serwera SSL. I słusznie, bo jest to certyfikat samopodpisany wystawiony przez firmę E-Studio sp.j. dla wszystkich poddomen skrzynkapodawcza.pl (tzw. certyfikat wildcard). W przypadku dowolnego produkcyjnego serwera SSL jest to błąd w sztuce. W przypadku serwera administracji publicznej jest to zbrodnia. Dlaczego?
Użycie niezaufanego, w tym przypadku samopodpisanego, certyfikatu zmusza użytkownika to pominięcia wszelkich ostrzeżeń i zaakceptowania niezaufanego certyfikatu bez żadnej pewności że jest to certyfikat autentyczny.
Po to przecież właśnie wprowadzono uwierzytelnienie serwera SSL certyfikatem poświadczonym przez zaufaną trzecią stronę, by użytkownik mógł z dużą dozą zaufania i bez konieczności zgadywania wysłać swoje dane do serwera.
Używanie na stronie niezaufanego certyfikatu przez administracje publiczną jest zbrodnią, bo dodatkowo przyzwyczaja użytkownika do takiej praktyki i poświadcza ją autorytetem rządu. Naraża to użytkowników na późniejsze ataki ze strony cyberprzestępców.
Apeluję o niestosowanie takich certyfikatów przez administrację publiczną. Domagajcie się od dostawców certyfikatu weryfikującego się poprawnie co najmniej MSIE i Firefoksie.
Zdaję sobie sprawę że stajnia VeriSignu (czyli obecnie także Thawte i GeoTrust) są drogie, ale przecież weryfikujący się poprawnie w Windows certyfikat SSL można kupić w GoDaddy za 30 (trzydzieści) dolarów czyli 75 złotych rocznie (ich rozpoznawalność w przeglądarkach to 98%).
Proszę też pamiętać, że certyfikat wystawiony w dowolnym drzewie polskich centrów certyfikacji KIR i Sigillum jest z punktu widzenia SSL certyfikatem niezaufanym - z błędnym przekonaniem że jest inaczej można się zetknąć w serwisie e-Poltax (podpisany przez PWPW, wyskakuje ostrzeżenie), ale już e-Deklaracje są podpisane przez VeriSign.
Warto zauważyć, że tak samo niezaufane certyfikaty są stosowane do podpisywania aplikacji Java opisywanych poniżej.
Błędy w implementacji
Po wejściu dalej na stronę skrzynki i próbie wysłania czegokolwiek próbują się załadować applety Javy opisane jako SZAFIR, co sugeruje że skrzynka do podpisu kwalifikowanego wykorzystuje komponenty KIR.
Niestety, albo KIR nie dba o swoich klientów albo autor aplikacji wykazał się niedbalstwem, bo applet nie potrafi załadować bibliotek kryptograficznych ze strony KIR. Powód jest bardzo prosty - nie ma ich pod zakodowanym w applecie linkiem!
java.io.FileNotFoundException: http://www.kir.com.pl/szafir/sdk/1.3.2-build051/cryptointerface.jar
Proszę kliknąć na ten link by zobaczyć to samo co widzi applet:
404 Not Found The requested URL /szafir/sdk/1.3.2-build051/cryptointerface.jar was not found on this server. Apache/1.3.34 Server at www.kir.com.pl Port 80
In plus
Plusem tej skrzynki podawczej - na ile możliwe było jej przetestowanie - jest fakt, że autor włożył sporo wysiłku w obsłużenie formatowego chaosu wprowadzonego przez polskie firmy prowadzące informatyzację urzędów publicznych. Ponieważ nie udało mi się przetestować tego w praktyce, więc opieram się na opisach w plikach pomocy. Wynika z nich że skrzynka stara się obsłużyć maksymalną ilość komponentów tego grochu z kapustą:
- skrzynka akceptuje formaty podpisu enkapsulujące dokument w środku, jak i sam dokument wraz z podpisem zewnętrznym (typowe opcje w aplikacjach proCertum SecureSign, Sigillum SignPro i KIR SZAFIR)
- skrzynka umożliwia podpisanie dowolnego dokumentu tekstowego z poziomu strony WWW przy pomocy appletu Java, co byłoby rozwiązaniem maksymalnie otwartym i neutralnym technologicznie w ramach więzów obecnego prawa, oczywiśce gdyby tylko działało
Na pochwałę zasługują także przejrzyste pliki pomocy kontekstowej na każdej stronie.
Dodatkowo wygląda na to, że skrzynka zwraca UPO w formacie PDF (wnioskuję ze strony do jego weryfikacji). Jeśli tak, to jest to mentalna rewolucja w naszej administracji, która z uporem forsuje swoje prywatne formaty UPO, co opisywałem już na przykładzie strony UMK. Założę się jednak, że PDF jest podpisany... znowuż tym nieszczęsnym, samopodpisanym certyfikatem o którym było wyżej.
P.S. nazwa "doghouse" pochodzi od cyklu "Doghouse" prowadzonego od lat przez Bruce Schneiera, w którym piętnuje on firmy wprowadzające na rynek rozwiązania kryptograficzne zawierające fundamentalne błędy, zazwyczaj równocześnie w ekstatycznej otoczce marketingowej.