Others

Dlaczego rozmiar pliku PDF zwiększa się po dodaniu podpisu cyfrowego, mimo że obraz podpisu jest mały?

Wydaje się, że dodanie podpisu cyfrowego do pliku PDF powinno zwiększyć tylko rozmiar samego obrazu podpisu, około 20 do 50 kilobajtów w przypadku typowego pliku PNG. Rzeczywisty wzrost rozmiaru pliku jest często znacznie większy, czasami kilkaset kilobajtów, a nawet megabajtów w przypadku dokumentu, który wcześniej pokazywał niewielki rozmiar pliku. Ta rozbieżność jest zastanawiająca dla użytkowników, którzy oczekują, że rozmiar pliku wzrośnie mniej więcej o rozmiar dodanych danych podpisu. Wyjaśnienie leży w sposobie, w jaki podpisy cyfrowe są osadzone w pliku PDF, wymaganej infrastrukturze kryptograficznej oraz zmianach strukturalnych, jakim podlega format PDF podczas przejścia z dokumentu niepodpisanego do podpisanego.

Why Does a PDF File Size Increase After Adding a Digital Signature Even Though the Signature Image Is Small

Co podpis cyfrowy dodaje do pliku PDF poza widocznym obrazem podpisu

Podpis cyfrowy w pliku PDF to nie tylko obraz wklejony na stronę. Jest to konstrukcja kryptograficzna zawierająca kilka elementów poza widocznym wyglądem podpisu. Rdzeniem podpisu jest podpisany skrót treści dokumentu, tworzony przy użyciu klucza prywatnego i weryfikowalny przy użyciu odpowiedniego certyfikatu klucza publicznego. Te dane kryptograficzne, skrót, wartość podpisu i łańcuch certyfikatów zajmują zwykle od 2 do 10 kilobajtów, w zależności od typu certyfikatu i użytego algorytmu podpisywania. Widoczny obraz podpisu, jeśli jest używany, dodaje rozmiar pliku obrazu do danych kryptograficznych.

Oprócz samych danych podpisu specyfikacja pliku PDF wymaga słownika podpisu opisującego właściwości podpisu: czas podpisania, powód podpisania, lokalizację, filtr i filtr podrzędny identyfikujący procedurę obsługi podpisu oraz odniesienia do zakresów podpisanych danych w pliku. Ten słownik wraz z towarzyszącymi mu metadanymi może dodać kilka kilobajtów więcej. W przypadku większości podpisów łączna wielkość danych bezpośrednio związanych z podpisem powinna mieścić się w przedziale od 30 do 100 kilobajtów. Wzrost rozmiaru przekraczający ten zakres wynika z czynników strukturalnych związanych ze sposobem, w jaki plik PDF absorbuje dane podpisu. Poniższa tabela przedstawia komponenty, które przyczyniają się do wzrostu rozmiaru pliku.

Składnik podpisuTypowy zakres rozmiarówCo zawiera
Dane podpisu kryptograficznego2-10 KBPodpisany skrót, wartość podpisu, token znacznika czasu
Łańcuch certyfikatów3-15KBCertyfikat osoby podpisującej, certyfikaty pośredniego urzędu certyfikacji, certyfikat główny
Dane o unieważnieniu (CRL/OCSP)5-30KBDowód, że certyfikaty były ważne w momencie podpisywania
Słownik podpisów i metadane2-5KBCzas podpisania, powód, lokalizacja, identyfikatory filtrów
Widoczny obraz podpisu10-100 kBPNG lub JPEG odręcznego podpisu lub pieczęci
Narzut konstrukcyjny (zapis przyrostowy)30-80KBZaktualizowana tabela odsyłaczy, dołączone obiekty, deskryptory zakresu bajtów
WukongPDF

Wypróbuj opcję Podpisz PDF

Nie wymaga instalacji. Działa bezpośrednio w Twojej przeglądarce.

Zacznij teraz →

Jak zmienia się struktura pliku PDF po dodaniu podpisu

Plik PDF przechowuje swoją zawartość jako zbiór ponumerowanych obiektów połączonych tabelą odsyłaczy, która odwzorowuje numery obiektów na przesunięcia bajtów w pliku. Po dodaniu podpisu cyfrowego plik PDF należy zmodyfikować w sposób, który nie unieważnia podpisu w stosunku do istniejącej treści. Osiąga się to poprzez zapis przyrostowy, w którym oryginalna zawartość pliku pozostaje nienaruszona, a na końcu pliku dodawane są nowe obiekty. Nowe obiekty obejmują słownik podpisów, podpisane dane, zaktualizowaną tabelę odsyłaczy oraz wszelkie obiekty, które zostały zmodyfikowane w ramach procesu podpisywania.

Mechanizm zapisu przyrostowego zapewnia weryfikację podpisu poprzez porównanie zakresów podpisanych bajtów z oryginalną treścią. Jednak składowanie przyrostowe jest nieefektywne pod względem wykorzystania przestrzeni plików. Obiekty, do których można odwoływać się w sposób zwięzły podczas pełnego przepisywania, muszą być w pełni określone w dołączonej sekcji. Tabela powiązań powiększa się z każdym kolejnym zapisem. Pierwsza sygnatura zazwyczaj dodaje od 30 do 80 kilobajtów narzutu strukturalnego do danych kryptograficznych. Kolejne podpisy dodają podobne kwoty. Dokument podpisany przez cztery strony może zawierać kilkaset kilobajtów danych strukturalnych związanych z podpisem.

Rola łańcuchów certyfikatów i danych sprawdzających unieważnienia

Podpis cyfrowy często zawiera pełny łańcuch certyfikatów potrzebny do zweryfikowania tożsamości osoby podpisującej: certyfikat osoby podpisującej, certyfikaty pośredniego urzędu certyfikacji wystawiającego, a czasami certyfikat główny. Każdy certyfikat w łańcuchu może mieć od 1 do 3 kilobajtów. Łańcuch trzech certyfikatów dodaje od 3 do 9 kilobajtów. Niektóre narzędzia do podpisywania osadzają również listy odwołania certyfikatów (CRL) lub odpowiedzi OCSP, które potwierdzają, że certyfikaty były ważne w momencie podpisywania. Te struktury danych sprawdzające unieważnienia mogą być zaskakująco duże, czasami przekraczając rozmiar samych certyfikatów. Pełna odpowiedź OCSP z wieloma wpisami statusu może dodać 10 do 20 kilobajtów lub więcej.

Decyzję o dołączeniu danych o unieważnieniu podejmuje oprogramowanie do podpisywania i ma na nią wpływ używany profil podpisu. Podpisy z weryfikacją długoterminową (LTV), zaprojektowane tak, aby można je było weryfikować wiele lat po wygaśnięciu certyfikatów, zawierają więcej danych o unieważnieniu niż podpisy podstawowe zaprojektowane do natychmiastowej weryfikacji. Użytkownik może nie być świadomy, że jego narzędzie do podpisywania osadza dane dotyczące odwołania, ponieważ opcja ta jest często ukryta w ustawieniach zaawansowanych lub domyślnie włączona. Wynikający z tego wzrost rozmiaru pliku może być mylący, ponieważ użytkownik widzi mały obraz podpisu i oczekuje odpowiednio małej zmiany rozmiaru pliku.

Dlaczego różne narzędzia PDF powodują różny wzrost rozmiaru pliku

Różne narzędzia do podpisywania plików PDF realizują proces podpisywania z różnymi poziomami wydajności strukturalnej. Jedno narzędzie może w ramach procesu podpisywania całkowicie przepisać plik PDF, kompaktując strukturę pliku i eliminując osierocone dane z poprzednich edycji, dzięki czemu wzrost rozmiaru pliku netto wynikający z podpisu jest kompensowany przez czyszczenie strukturalne. Inne narzędzie może wykonać zapis przyrostowy, który zachowa całą istniejącą zawartość w niezmienionej postaci, co spowoduje dodanie pełnego narzutu strukturalnego do istniejącego rozmiaru pliku. Ten sam podpis zastosowany do tego samego dokumentu za pomocą dwóch różnych narzędzi może spowodować utworzenie plików wyjściowych różniących się rozmiarem o setki kilobajtów.

Narzędzie Sign PDF WukongPDF stosuje podpisy cyfrowe, efektywnie zarządzając strukturą plików. Podpis dodaje niezbędne dane kryptograficzne bez niepotrzebnego powielania strukturalnego. W przypadku dokumentów, które przed podpisaniem były w dużym stopniu edytowane, wykonanie pełnego przepisania przed podpisaniem za pomocą funkcji Zapisz jako w celu utworzenia czystej kopii, a następnie podpisanie tej kopii minimalizuje skumulowany rozmiar pliku. Połączenie czystego pliku podstawowego i wydajnego narzędzia do podpisywania pozwala uzyskać najmniejszy możliwy podpisany plik PDF.

Zarządzanie rozmiarem pliku, gdy wymaganych jest wiele podpisów

Dokumenty wymagające wielu podpisów stanowią największe wyzwanie związane z rozmiarem pliku, ponieważ każdy podpis dodaje własne dane kryptograficzne i obciążenie strukturalne poprzez zapisywanie przyrostowe. Umowa podpisana przez kupującego, sprzedającego i dwóch świadków zawiera cztery warstwy danych podpisu. Jeżeli każdy podpis dodaje od 50 do 100 kilobajtów, całkowity wzrost rozmiaru podpisu wyniesie od 200 do 400 kilobajtów, co jest całkowicie uzasadnione z punktu widzenia zapewnionej pewności prawnej. Problemy pojawiają się, gdy każdy podpis dodaje kilkaset kilobajtów ze względu na wbudowane dane unieważnienia i szczegółowe łańcuchy certyfikatów, co powoduje, że całkowity wzrost sięga megabajtów.

Aby zarządzać rozmiarem pliku dokumentów z wieloma podpisami, użyj przepływu pracy podpisywania, który minimalizuje obciążenie strukturalne. Podpisz dokument za pomocą narzędzi, które tworzą podpisy kompaktowe. Pomiędzy podpisami unikaj niepotrzebnej edycji i zapisywania, które powodowałyby dodanie pośrednich warstw zapisu przyrostowego. Jeśli rozmiar pliku staje się problematyczny, po skompletowaniu wszystkich podpisów użyj narzędzia do optymalizacji plików PDF, aby upakować strukturę pliku. Podpisy pozostają ważne poprzez optymalizację, dopóki zakresy podpisanych bajtów nie zostaną zmodyfikowane. Dane podpisu cyfrowego są zachowywane, podczas gdy narzut strukturalny wynikający z wielokrotnych zapisów przyrostowych jest usuwany, tworząc podpisany dokument, który jest zarówno ważny prawnie, jak i ma odpowiednią wielkość.

Zrozumienie, co przyczynia się do wzrostu rozmiaru pliku po podpisaniu, pomaga podejmować świadome decyzje dotyczące konfiguracji podpisywania. W przypadku dokumentów, dla których rozmiar pliku ma znaczenie, np. tych rozpowszechnianych pocztą elektroniczną lub przesyłanych do portali o ograniczonym rozmiarze, wybranie profilu podpisu, który pomija niepotrzebne dane o unieważnieniu i wykorzystuje minimalny łańcuch certyfikatów, może zaoszczędzić setki kilobajtów na podpis. W przypadku dokumentów, dla których długoterminowa walidacja jest ważniejsza niż rozmiar pliku, np. umów, które mogą zostać zakwestionowane po latach, dodatkowy rozmiar wynikający z danych o unieważnieniu jest opłacalną inwestycją w przyszłą obronę prawną dokumentu.

WukongPDF

Wypróbuj opcję Podpisz PDF

Nie wymaga instalacji. Działa bezpośrednio w Twojej przeglądarce.

Zacznij teraz →