Dołącz do czytelników
Brak wyników

Temat numeru

1 października 2020

NR 186 (Październik 2020)

Przychodzi podpis na badanie…

26

Zasady podpisywania i przekazywania plików w komunikacji elektronicznej są z pewnością wejściem w zupełnie inny, cyfrowy świat zamówień publicznych. Przyznajmy, że nie jest to przecież coś, czego nie znamy. Rezerwujemy bilety lotnicze online (ostatnio mniej), kupujemy przez internet, sprawy podatkowe załatwiamy przez internet. A więc nowy sposób porozumiewania się w zamówieniach publicznych jest zgodny z wieloma naszymi doświadczeniami i codzienną praktyką w innych obszarach życia.

Musimy się zatem pogodzić, że cyfrowa rewolucja zajrzy do każdego kąta zamówień publicznych. Ale sukces operacji zależy głównie od nas, uczestników tego rynku, od tego, jak się przygotujemy.
Choć zasady komunikacji mogą się wydawać proste (ale dopiero po uważnym ich zgłębieniu i ze zrozumieniem), to jednak wciąż w praktyce popełniane są te same błędy. Zarówno przez zamawiających, jak i przez wykonawców. Przyjrzyjmy się zatem temu, co się dzieje w elektronizacji przez pryzmat czynności zamawiającego, czyli badanie plików zawierających oferty i oświadczenia. Pominiemy tu fazę zadawania pytań do treści SIWZ.

POLECAMY

Narzędzie z ryzykami

Pierwsze zderzenie zamawiającego z twórczością wykonawcy to otwarcie ofert oraz towarzyszących ofercie dokumentów i oświadczeń, np. JEDZ. Ale żeby otworzyć plik, trzeba go w terminie otwarcia ofert najpierw pobrać z wybranego systemu do komunikacji elektronicznej na dysk swojego komputera. Do tego momentu pliki spoczywają w zasobach systemu komunikacji elektronicznej (wyjątkiem jest tu miniPortal, gdzie plik można pobrać z tego systemu od razu po jego złożeniu, ale nie można go otworzyć przed terminem otwarcia ofert).
Pierwszy problem pojawia się w przypadku użytkowników miniPortalu, który, jak wiemy, jest zintegrowany z platformą ePUAP. Zdarza się, że przekazany przez wykonawcę plik, mimo że jest odnotowany w systemie miniPortalu, to jednak fizycznie go nie ma. Problem zaczyna się, gdy nie odnajdzie się w terminie otwarcia ofert. A szukać go może tylko operator platformy ePUAP, niezależny od UZP. 

Ważne

Brak pliku, co do którego istnieje dowód na jego złożenie, to przesłanka do unieważnienia postępowania, bo wina, choć wynika z działania ePUAP, jest po stronie zamawiającego, który wybrał to narzędzie ze wszelkimi ryzykami.


Kolejny przypadek: niemożność otwarcia pliku w trakcie publicznej sesji otwarcia. Plik jest na dysku zamawiającego, ale nie daje się otworzyć. Pisząc „nie daje się otworzyć”, mam na myśli sytuację, gdy nie można zapoznać się z treścią pliku ani sprawdzić podpisu elektronicznego w odróżnieniu od sytuacji, gdy plik da się odczytać, ale widać, że podpis jest uszkodzony. To znowu najczęściej (ale nie zawsze) przypadłość miniPortalu ze swoim systemem szyfrowania ofert. Decyzja o losach postępowania zależy od tego, co ustali zamawiający. Pytanie, jakie winien postawić sobie zamawiający, to: czy uszkodzenie pliku jest wynikiem działań wykonawcy, czy jest winą (niekoniecznie umyślną) zamawiającego. W drugim przypadku – sprawa jest jasna – unieważnienie postępowania. 

Ważne

Jeżeli zamawiający uzna, że wina leży po stronie wykonawcy (najczęściej błędne szyfrowanie lub podwójne szyfrowanie pliku, ale nie tylko), musi się liczyć z koniecznością udowodnienia tego przed KIO. Niemożność otwarcia pliku oferty i zapoznania się z jego treścią musi prowadzić do uznania, że oferta nie została złożona.


Skuteczną pomocą w rozwikłaniu tego problemu może być obliczanie sum kontrolnych dla każdego pliku składanego do systemu komunikacji. I tu przyda się trochę wyjaśnienia.

Suma kontrolna, funkcja skrótu, hash – to pojęcia znane z kryptografii i powszechnie stosowane. Spotykamy się z nimi np. przy zapisywaniu hasła w dowolnym systemie logowania. Hash pozwala na obliczenie pewnego charakterystycznego ciągu znaków (wg zadanego algorytmu, np. MD5, SHA-1, SHA-256) dla wartości wejściowej, np. dla hasła. 

Ale nikt z nas nie chce, by nasze hasła były przechowywane w postaci jawnej, bo w razie wycieku danych będą te hasła znane przestępcom. Dlatego system logowania przechowuje hash tego hasła, a nie wartość jawną. Gdy podczas logowania wpisujemy swoje hasło, system logowania oblicza hash wprowadzonego ponownie hasła i porównuje z hashem przechowywanym w pamięci. Jeżeli obie wartości są takie same, to znaczy, że hasło jest poprawne. Dlaczego metoda jest bezpieczna? Dlatego że ze skrótu nie da się odtworzyć jawnego hasła. Operacja jest jednokierunkowa. Tak jak z zupy rybnej nie da się zrobić akwarium.

Przykład

Hash w oparciu na funkcji sha-1 dla wyrażenia: admin1 to: 6C7CA345F63F835CB353FF15BD6C5E052EC08E7A a dla wyrażenia: %tojestmojetrudnehasło% wygląda tak:  529D08835C779CD61C3EF06D5E984951C7A79801
Dla mojego jednego pliku zawierającego cały tekst ustawy nowe Prawo ZP w PDF (296 stron) hash wygląda tak: DD5CB6B3A6750075D53900C08497E857EC4FF36B


Jeżeli jesteśmy przy funkcjach skrótu, to trzeba wiedzieć, że ich obliczanie jest centralnym punktem podpisu zaawansowanego, a w naszym przypadku – podpisu kwalifikowanego. Otóż w procesie podpisywania jest także obliczana funkcja skrótu dla podpisywanego dokumentu. Kompletny podpis zawiera ten skrót, czyli, przekazując podpisany dokument, przekazujemy go wraz z obliczonym w trakcie podpisywania skrótem. Operacja weryfikacji integralności dokumentu to sprawdzenie, czy podpisana treść się nie zmieniła po podpisaniu. Polega to właśnie na ponownym obliczeniu wartości skrótu, a następnie porównaniu jej z wartością obliczoną przy podpisywaniu. Wynik porównania wskazujący na to, że oba skróty są identyczne, potwierdza brak ingerencji w dokument. 

Ta sama metoda może służyć do sprawdzenia, czy badany przez zamawiającego dowolny plik, nawet niezawierający podpisu, jest tym samym plikiem, który został załadowany do platformy. Oczywiście pod warunkiem, że platforma umożliwia obliczenie takiego skrótu. W tym przypadku hash jest pewnego rodzaju uproszczonym podpisem pliku (niezależnie od tego, że treść może być też podpisana podpisem kwalifikowanym). 

Ktoś zapyta: to w jakim celu obliczać skrót dla pliku podpisanego podpisem elektronicznym, skoro sam podpis zawiera także skrót dokumentu? Zaznaczyłem wcześniej, że możemy mieć sytuację, w której nie będzie można otworzyć pliku, zatem nie dostaniemy się do podpisu. A z drugiej strony, obie operacje mają inny cel: podpis kwalifikowany zabezpiecza podpisaną treść. A hash dowolnego pliku służy do badania integralności każdego pliku, niezależnie od tego, czy był podpisany, czy nie. Z generowaniem funkcji skrótu spotykamy się także przy weryfikacji integralności dokumentu podpisanego podpisem kwalifikowanym.

Przykład

Może wystąpić taka sytuacja: wykonawca podpisuje plik podpisem kwalifikowanym. Następnie nieświadomie modyfikuje ten plik, co będzie skutkować negatywną weryfikacją integralności. W kolejnym kroku załadowuje ten zmodyfikowany plik do platformy komunikacji. Platforma oblicza hash dla tego pliku (zmodyfikowanego przez wykonawcę). Po otwarciu ofert zamawiający odkrywa naruszenie integralności i wchodzi w spór z wykonawcą, który twierdzi, że wszystko jest w porządku. Porównanie skrótów tego dokumentu na różnych etapach jego podróży pozwoli na ustalenie, że wykonawca załadował plik zmodyfikowany. Odwrotny wariant tej historii jest także możliwy.


Zapytasz, drogi Czytelniku, czy nie zaczynamy od ciebie oczekiwać zbyt wiele? Bo to wszystko to zupełnie nowa wiedza, bardziej z obszaru informatyki niż Prawa zamówień publicznych. Niestety, nowe narzędzia wymuszają konieczność poznania tych zagadnień. Choćby powierzchownie. Tak, by wiadomo było, gdzie szukać rozwiązań w razie problemu. I wiedzieć, że rozwiązania są możliwe.

Przykład

Pokażę jeszcze inny, praktyczny przykład zastosowania funkcji skrótu: masz przygotowaną wielostronicową umowę, obliczasz hash i przekazujesz ją do konsultacji. Umowa wraca bez uwag, ale ty ją jednak sprawdzasz ponownie sumą kontrolną. Jeśli się nie zgadza z pierwotną, to znaczy, że była jednak ingerencja.


Wracając do naszego problemu uszkodzonych plików: zamawiający musi umieć udowodnić, po której stronie jest wina. W tych czynnościach ważny jest czas. Procedura otwarcia i odczytania pliku musi się zakończyć w czasie trwania publicznej sesji otwarcia ofert, jednak zawsze tego samego dnia co termin składania ofert (na razie, po wejściu w życie nowego prawa to się zmieni). Bywa często tak, że plik nie jest uszkodzony, tylko zamawiający nie potrafi go otworzyć. Albo nie zna dobrze procedury obsługi platformy, albo wykonawca tak „sprytnie” utworzył plik, że jego otwarcie wymaga nieco większych umiejętności. I tu mała podpowiedz dla zamawiających: 

Ważne

warto czas otwarcia ofert określić maksymalnie szeroko. Zapis, że otwarcie ofert nastąpi w trakcie publicznej sesji w godzinach 14:00–15:00 może być pułapką dla zamawiającego. Jeżeli niesforny plik nie zostanie otwarty w tym czasie, tylko pięć godzin później, to zamawiający wyjdzie poza określony w SIWZ termin. Otwarcie pliku poza czasem publicznej sesji jest naruszeniem przepisów i skutkuje unieważnieniem postępowania.


Może się zdarzyć, że plik z ofertą da się otworzyć, ale widzimy lub wydaje się nam, że treść oferty jest uszkodzona, wyświetla się niepoprawnie, nie można odczytać tej treści. Powstaje pytanie: czy to faktycznie jest uszkodzenie, czy ja nie potrafię otworzyć pliku. Ten problem należy także rozstrzygnąć w trakcie publicznej sesji otwarcia, bo przecież do protokołu z otwarcia trzeba coś wpisać. A jak wpisać wartość oferty, gdy widzimy jakieś nieznane nam znaki? Nawet jeżeli weryfikacja podpisu wypadnie negatywnie, co może wyjaśniać problem z plikiem, to znowu powstanie pytanie: kto uszkodził? Zamawiający po pobraniu na dysk czy wykonawca po podpisaniu?

Według nowego Pzp

Sytuacja zmieni się po wejściu w życie nowego Pzp, czyli od dnia 1 stycznia 2021 r. Znika publiczne otwarcie ofert. Zmienia się też korzystnie zapis dotyczący terminu otwarcia:

Art. 222. 1. Otwarcie ofert następuje niezwłocznie po upływie terminu składania ofert, nie później niż następnego dnia po dniu, w którym upłynął termin składania ofert. 

Niezwłocznie, to znaczy tak szybko, jak to możliwe. Czyli jeżeli zamawiający wyznaczy termin składania ofert jako „północ” (czemu nie?), to najbliższy niezwłoczny termin będzie około 6:00–9:00 rano dnia następnego, po rozpoczęciu pracy, gdyż po północy nikt raczej nie będzie ich otwierać. Tyle w sprawie terminu otwarcia. Ale przepis nie mówi o wyznaczeniu terminu otwarcia, ale o otwarciu ofert. Ustawodawca, znając problemy z plikami, daje zamawiającym kolejny dzień na uporanie się z potencjalnymi problemami towarzyszącymi otwarciu.

Jest tu jeszcze jeden prezent:

Art. 222. 2. Jeżeli otwarcie ofert następuje przy użyciu systemu teleinformatycznego, w przypadku awarii tego systemu, która powoduje brak możliwości otwarcia ofert w terminie określonym przez zamawiającego, otwarcie ofert następuje niezwłocznie po usunięciu awarii. 

Wiele osób interpretuje ten zapis w taki sposób, że jak będzie problem z otwarciem pliku, to termin otwarcia można sobie w każdej sytuacji przesunąć. Niestety nie. Można to zrobić, jeżeli otwieramy pliki za pomocą jakiegoś systemu teleinformatycznego i ten system nam np. wyświetli zawartość ofert lub po prostu nie możemy pobrać z tego systemu pliku i zapisać na nasz dysk, by go następnie otworzyć. Jeżeli plik jest już na dysku i nie daje się otworzyć, to ten przepis nie działa.

Przypadek, gdy plik daje się otworzyć i odczytać, jednak podpis jest uszkodzony, nie wchodzi już do puli problemów na sesji otwarcia. Skoro możemy odczytać treść oferty, to trafi ona do protokołu z otwarcia. Natomiast ocena, czy taka oferta jest ważna, będzie przedmiotem badań zamawiającego. 

Wykonawcy, których pliki są uznane za uszkodzone, powinni oczekiwać od zamawiającego solidnego uzasadnienia technicznego.

I w ten sposób dochodzimy do kompleksowego badania ofert, wniosków, JEDZ i innych dokumentów i oświadczeń, które powinny być podpisane podpisem kwalifikowanym. Z punktu widzenia procedury badania nie jest istotne, co zawiera plik. Z punktu widzenia konsekwencji uznania, że podpis jest nieprawidłowy – tak. A to dlatego, że wszelkie wady w ofercie są w zasadzie nieuzupełnialne i niepoprawialne. 
Co do innych dokumentów i oświadczeń, to mamy drogę ratunkową w postaci art. 26 ust 3/3a/4 Pzp, czyli można prosić o podesłanie prawidłowego dokumentu lub wyjaśnienia. Jaki jednak dokument będzie prawidłowy? Zamawiający, który takimi wezwaniami do uzupełnienia chce ratować postępowanie, musi wiedzieć, jak powstają pliki podpisów. To odpowiedź dla tych zamawiających, którzy mówią: my nie podpisujemy, to nie musimy tego znać. A jednak powinni. Powinni w wezwaniu wskazać na wadę i jasno sprecyzować oczekiwanie. 

Przykład

Dokumenty z ZUS i KRK w odróżnieniu od większości plików elektronicznych podpisywanych podpisem kwalifikowanym te pochodzące z rządowych systemów teleinformatycznych (np. z platformy ZUS lub KRK) są sporządzone w formacie XML z podpisem kwalifikowanym XADES otoczonym. Plik XML jest plikiem trudnym do odczytu i na pierwszy rzut oka nie widać, że jest podpisany, co więcej, najczęściej trudno odczytać jego treść. 

Dla ilustracji tego zagadnienia polecam kliknięcie dowolnego pliku espd.xml pochodzącego z serwisu JEDZ ESPD. Czarna magia. Dla prawidłowego odczytu pliku XML, do kompletu dokumentów ZUS czy KRK dołączy tzw. wizualizację w formacie PDF. Jest na niej napisane, że plik jest podpisany podpisem kwalifikowanym. I tu jest pułapka. Bo czytamy to w wizualizacji PDF, ale podpisany jest XML. I co robi wykonawca? Wysyła zamawiającemu PDF. A co robi nieświadomy zamawiający? Z rozpaczą szuka podpisu w pliku, w którym go nie ma. I wzywa do uzupełnienia pliku. W kolejnym kroku wykonawca opatruje wizualizację własnym podpisem. I to jest ostatni akt tej tragedii. A wystarczyło wezwać do przesłania pliku XML zawierającego podpis.


Innym zagadnieniem jest to, czy wykonawca będzie wiedział, który to jest plik, bo od ZUS dostaje w paczce kilka plików. Wystarczy jednak taki plik „wrzucić” do programu do podpisywania, do opcji weryfikacji, sprawdzić, czy jest podpisany podpisem kwalifikowanym, a następnie w czytniku plików XML zapoznać się z jego treścią. Te same czynności można wykonać, wrzucając plik do czytnika plików XML udostępnionego przez gov.pl. Te usługi lubią jednak zm...

Pozostałe 70% treści dostępne jest tylko dla Prenumeratorów

Co zyskasz, kupując prenumeratę?
  • 10 wydań magazynu "Monitor Dyrektora Szkoły"
  • Dostęp do wszystkich archiwalnych artykułów w wersji online
  • Możliwość pobrania materiałów dodatkowych
  • ...i wiele więcej!
Sprawdź

Przypisy