Pliki PDF chronione hasłem i ich ograniczenia
Mój PDF jest zabezpieczony, a narzędzie mówi, że nie może go edytować. Dlaczego i co mogę zrobić?
Hasła są dwa i są różne
Szyfrowanie PDF, zdefiniowane w normie ISO 32000, rozróżnia hasło użytkownika i hasło właściciela. Hasło użytkownika — często nazywane hasłem otwarcia — jest niezbędne, żeby w ogóle odszyfrować dokument. Bez niego strumienie treści są szyfrogramem i żadne oprogramowanie nie odczyta ani jednej strony. Hasło właściciela działa inaczej: dokument otwiera się bez niego, ale słownik szyfrowania niesie flagi uprawnień mówiące, czego zgodny ze specyfikacją czytnik powinien nie pozwolić zrobić — na przykład drukować, kopiować tekstu albo modyfikować pliku.
To rozróżnienie tłumaczy większość nieporozumień. Dokument, który otwiera się natychmiast, ale nie pozwala skopiować akapitu, nie jest „odblokowany” — jest zaszyfrowany pustym hasłem użytkownika i zestawem ograniczeń.
Co naprawdę chroni to szyfrowanie
| Hasło | Potrzebne do otwarcia? | Co chroni | Jak mocne jest |
|---|---|---|---|
| Użytkownika (otwarcia) | Tak | Samą treść; strumienie i ciągi znaków są zaszyfrowane | Tak mocne jak szyfr i wybrane hasło |
| Właściciela (uprawnień) | Nie | Kryptograficznie nic; ustawia flagi, których czytnik jest proszony przestrzegać | Wyłącznie doradcze |
Flagi uprawnień to prośba skierowana do dobrze wychowanego oprogramowania, a nie mechanizm egzekwowania. Bajty są odszyfrowywane w chwili otwarcia dokumentu, więc każdy program, który zdecyduje się zignorować flagi, może to zrobić. Traktuj je jako deklarację intencji — przydatną do zasygnalizowania, jak dokument powinien być używany, i bezużyteczną jako zabezpieczenie.
Dlaczego edytor odmawia przyjęcia pliku
Żeby przebudować PDF — połączyć go, podzielić, obrócić strony, wyrzucić nieużywane obiekty — biblioteka musi sparsować graf obiektów. W zaszyfrowanym dokumencie ciągi znaków i strumienie, z których ten graf się składa, są szyfrogramem, dopóki nie zostanie wyprowadzony właściwy klucz. Nie ma czego parsować. To nie jest decyzja narzędzia; tam naprawdę nie ma jeszcze dokumentu.
Dlatego strukturalne narzędzia PDF w FileSlimmer są dla zaszyfrowanego dokumentu wyłączone i mówią o tym wprost, zamiast wysypać się w połowie z uszkodzonym wynikiem. To zachowanie właściwe, choć mniej wygodne.
Co dzieje się z wpisanym hasłem
Tam, gdzie oferowana jest ścieżka z hasłem, hasło służy do wyprowadzenia klucza deszyfrującego w pamięci, w tej karcie przeglądarki, na czas trwania zadania. Nie jest zapisywane w pamięci lokalnej, nie trafia do pamięci podręcznej Service Worker, nie ląduje w adresie URL i nie jest przesyłane — w tej aplikacji nie ma serwera, do którego mogłoby trafić. Gdy zamkniesz kartę, znika.
Mimo to warto świadomie wybierać, gdzie wpisujesz jakiekolwiek hasło. Rozszerzenie przeglądarki może odczytać zawartość strony i dotyczy to każdej witryny, łącznie z tą. Jeśli dokument jest na tyle wrażliwy, że to ma znaczenie, odblokuj go w zaufanym programie desktopowym działającym offline.
Czego to narzędzie nie zrobi
- Nie będzie próbowało odzyskać ani złamać siłowo hasła, którego nie masz.
- Nie usunie hasła właściciela, żeby obejść flagi uprawnień w dokumencie, do którego nie masz praw.
- Nie utworzy po cichu odszyfrowanej kopii dokumentu, który otworzyłeś hasłem; zdjęcie zabezpieczenia to osobna, wyraźna czynność.
- Nie będzie udawać, że flaga uprawnień jest granicą bezpieczeństwa.
Zdjęcie zabezpieczenia z dokumentu, którego nie masz prawa modyfikować, może też naruszać umowę albo prawo tam, gdzie mieszkasz. To pytanie do ciebie i, jeśli sprawa jest poważna, do prawnika — nie do narzędzia do kompresji.
Realne wyjścia, gdy utkniesz
- Poproś twórcę dokumentu o kopię bez zabezpieczenia. To zdecydowanie najczęstsze rozwiązanie i zajmuje jedną wiadomość.
- Jeśli masz hasło otwarcia, użyj go: z odszyfrowanym dokumentem każda zwykła operacja znów staje się dostępna.
- Jeśli potrzebujesz tylko obejrzeć strony, wydrukuj do PDF albo wyeksportuj kopię rastrową. Tracisz warstwę tekstu, linki i strukturę dostępności, a zachowujesz wygląd.
- Jeśli dokument jest nie tylko zaszyfrowany, ale i podpisany, zatrzymaj się i przemyśl sprawę. Każda modyfikacja unieważnia podpis, a podpisany dokument zwykle istnieje właśnie dlatego, że ktoś musi go później zweryfikować.
Jeszcze jedno ograniczenie
Starsze wersje szyfrowania PDF używały słabego wyprowadzania klucza i krótkich kluczy i są uznawane za złamane. Nowsze używają AES z porządną funkcją wyprowadzania. Patrząc na dokument, nie poznasz, której używa, a to, że narzędzie szybko otwiera stary plik, nie dowodzi, że z nowym będzie tak samo. Jeśli wybierasz zabezpieczenie dla dokumentu, który sam tworzysz, wybierz aktualne oprogramowanie i długie hasło, zamiast polegać na historii formatu.
Narzędzia do tego zadania
Źródła
- ISO 32000-2 — Document management, Portable Document Format
- Adobe — PDF 32000-1:2008, clause 7.6 on encryption and permissions
- NIST FIPS 197 — the Advanced Encryption Standard