Algorytm SHA-1 narobił ostatnio dużo zamieszania w świecie zamówień publicznych. Wszystko za sprawą jednego z wyroków Krajowej Izby Odwoławczej, a konkretnie wyroku z dnia 10 grudnia 2018 r. wydanego w sprawie o sygnaturze akt KIO 2428/18. W tym wyroku Izba stwierdziła, że podpisanie dokumentu przy pomocy funkcji skrótu SHA-1 jest wadliwe i taki dokument nie może zostać uznany za prawidłowy.
Zacznijmy jednak omawiać ten problem po kolei.
Co to jest SHA-1?
SHA-1 (z ang. Secure Hash Algorithm) jest to funkcja skrótu używana przy składaniu kwalifikowanego podpisu elektronicznego. SHA-1 jest używane już od 1995 r. Obecnie wielu informatyków uważa, że funkcja skrótu SHA-1 nie jest już tak bezpieczna, jak była kiedyś. Ich zdaniem istnieje (niewielkie, ale jednak) ryzyko, że dokument podpisany funkcją skrótu SHA-1 może spowodować naruszenie bezpieczeństwa. Dlatego powstała kolejna, bezpieczniejsza funkcja skrótu, która została nazwana SHA-2 (na którą składają się SHA-224, SHA-256, SHA-384, SHA-512).
Rekomendacja do stosowania SHA-2
Ustawodawca zaleca obecnie stosowanie funkcji skrótu SHA-2. Taka rekomendacja została zawarta między innymi w ustawie o usługach zaufania oraz identyfikacji elektronicznej. Możemy przeczytać tam, że do dnia 1 lipca 2018 r. można jeszcze spokojnie używać SHA-1. Nie jest natomiast napisane, co należy stosować po tej dacie. W szczególności w ustawie nie ma (przynajmniej póki co) zakazu do stosowania SHA-1. Ponadto ustawa wskazuje, że dostawcy usług zaufania, producenci sprzętu oraz podmioty publiczne są zobowiązani do odpowiedniego dostosowania swojego oprogramowania oraz systemów. Zdecydowana większość osób rozumiała ten przepis w ten sposób, że po pierwsze stanowi on jedynie rekomendacje do „przerzucenia” się z SHA-1 na SHA-2, a nie bezwzględny zakaz stosowania SHA-1. A po drugie, że ta rekomendacja jest skierowany tylko do określonej grupy podmiotów (dostawcy usług zaufania, producenci sprzętu, podmioty publiczne), a nie do wszystkich firm w Polsce.
Wyrok KIO 2428/18
Krajowa Izba Odwoławcza orzekła jednak zupełnie inaczej.
Jej zdaniem złożenie elektronicznego podpisu z wykorzystaniem funkcji skrótu SHA-1 jest nieważne. Izba stanęła na stanowisku, że przepis ustawy o usługach zaufania nie dość, że bezwzględnie zakazał stosowania SHA-1, to jeszcze jest skierowany zarówno do podmiotów publicznych, jak i komercyjnych (czyli wykonawców).
Krytyka wyroku
Wyrok spotkał się z niemal powszechną krytyką. Prawnicy zarzucali Izbie, że nieprawidłowo zinterpretowała przepis z ustawy o usługach zaufania. Informatycy podkreślali, że funkcja skrótu SHA-1 może być nadal bezpiecznie stosowana. Bardzo ciekawe stanowisko (również krytyczne wobec wyroku) przedstawiła Polska Izba Informatyki i Telekomunikacji. Z opinią PIIT można się zapoznać pod tym linkiem.
Wreszcie głos zabrało również Ministerstwo Cyfryzacji, do którego z prośbą o opinie zwrócił się Urząd Zamówień Publicznych. MC wyraźnie wskazało, że algorytm SHA-1 nie jest wprawdzie już rekomendowany, ale równocześnie nie został wycofany i podpisy elektroniczne złożone przy jego użyciu pozostają ważne. Stanowisko MC dostępne jest pod tym linkiem.
Zmiana frontu przez KIO (?)
Wydaje się, że pod naporem krytyki KIO zmieniła swoje stanowisko. W ostatnich dniach zostały wydane wyroki, w których podpis z wykorzystaniem SHA-1 uznano za prawidłowy (przykładowo wyrok KIO 137/19). Na razie nie mogę jednak nic więcej napisać o tych wyrokach, ponieważ nie zostały jeszcze sporządzone ich pisemne uzasadnienia.
Co powinien zrobić wykonawca?
Sprawa jest o tyle problematyczna, że może dotyczyć naprawdę wielu ofert. Jeszcze niedawno nikt (no może poza specjalistami z zakresu informatyki) nie zwracał uwagi na funkcję skrótu z jaką składał podpis. Co więcej, jeżeli wykonawca zaopatrzył się w podpis elektroniczny już jakiś czas temu, to jako domyślny miał ustawiony skrót SHA-1. A to oznacza, że wiele ofert i innych dokumentów do tej pory mogło zostać podpisanych z wykorzystaniem SHA-1.
[Poczytaj też -> Sprawdzenie oferty]
Ja liczę jednak, że KIO ostatecznie zmieniła swoje stanowisko i uznała za prawidłowy podpis z wykorzystaniem SHA-1. Wykonawcom rekomenduję jednak nie ryzykować i po prostu składać podpis z SHA-2. Jedyna różnica to wybór odpowiedniej opcji przy składaniu podpisu. Ponadto, nowe wydawane podpisy mają już ustawioną jako domyślną funkcję skrótu SHA-2.
{ 0 komentarze… dodaj teraz swój }