Z okazji Dnia Ochrony Danych Osobowych, zdecydowaliśmy się przygotować artykuł dotyczący ochrony dokumentów PDF. Format ten jest powszechnie stosowany na całym świecie. Warto zastanowić się, w jaki sposób można go chronić.
Przed czym należy chronić dokumenty PDF?
- Przed edycją przez osoby nieupoważnione.
- Przed dostępem osób nieupoważnionych.
Ochrona plików PDF przed edycją
Przede wszystkim, zmiany mogą być autoryzowane, a nawet konieczne. Pliki PDF są często wysyłane do podpisania (co umożliwiają standardowe narzędzia, takie jak Adobe Acrobat Reader), lub są to dokumenty w formie kwestionariuszy z edytowalnymi polami i interaktywnymi formularzami.
Wiele artykułów napisano na temat pracy z plikami PDF w FastReport. Niektóre z nich dotyczą tworzenia plików PDF z interaktywnymi formularzami:
- Zapisywanie raportu w formacie PDF/X
- Konfiguracja opcji podglądu Acrobat PDF podczas eksportu z FastReport.NET
- Interaktywne formularze do eksportu PDF w Fast Report .Net 2018
- Jak utworzyć dokument PDF z Delphi / C++Builder / Lazarus
- Jak utworzyć dokument PDF z pliku tekstowego
Jest jeszcze inny rodzaj dokumentu PDF – taki, którego nie można edytować, a gdyby jakaś zła osoba próbowała dokonać edycji, wiedzielibyśmy o tym.
Po pierwsze, są to dokumenty z podpisem elektronicznym, który poświadcza ważność danego dokumentu.
W FastReport.Net wersja 2019.3.2. dostępne są dwa rodzaje podpisów.
1) Pole podpisu. Aby dodać je do dokumentu, należy dodać obiekt Podpis cyfrowy. Na stronie raportu wygląda to następująco:
Nie jest on wyświetlany w trybie widoku raportu. Jego funkcjonalność jest ograniczona tylko do eksportu PDF, co oznacza, że pole to będzie widoczne podczas przeglądania pliku PDF w programie Acrobat Reader.
Podczas eksportu do pliku PDF należy włączyć opcję „Podpisz dokument” (Sign document):
2) Niewidoczny podpis. W przypadku niewidocznego podpisu w eksportowanym dokumencie PDF, nie trzeba dodawać kontrolki Podpis cyfrowy do strony raportu. Jedyne, co należy zrobić, to włączyć opcję „Podpisz dokument” (Sign document) w ustawieniach eksportu:
Można wypełnić pola Lokalizacja, Powód i Informacje kontaktowe (Location, Reason i Contact Info). Następnie należy wybrać plik z podpisem opartym na certyfikacie w formacie .pfx i ustawić hasło do certyfikatu. Po wyeksportowaniu raportu, w dokumencie PDF pojawi się ukryty podpis. Co istotne, podpis ten nie jest bezpośrednio widoczny w dokumencie.
Więcej informacji na temat podpisu cyfrowego znajduje się w naszym artykule.
Ponadto, istnieją tzw. pliki „archiwalne” PDF/A. Takie dokumenty posiadają wszystkie zawarte w nich informacje (nie „ciągną” obrazów, czcionek i innych danych z zewnętrznych źródeł, które mogłyby zostać naruszone lub usunięte). Co więcej, właściwości dokumentu określają, że jest to format nieedytowalny. Czy można go otworzyć do edycji? Wszystko jest możliwe, ale w tym przypadku, straci on swoje cechy archiwum, czyli wyraźnie zobaczymy, że w dokumencie dokonano zmian.
Artykuł "Jak wyeksportować raport w formacie PDF / A" szczegółowo opisuje właściwości i możliwości tego formatu.
Ochrona dokumentów PDF przed dostępem osób nieupoważnionych
Celem niniejszego artykułu nie jest przegląd metod łamania plików PDF chronionych hasłem (to oddzielny temat. Na przykład, profesjonaliści z Elcomsoft opisują swoje podejście tutaj).
Format PDF zawiera wbudowane mechanizmy blokujące dostęp do zawartości hasłem.
Hasło umożliwia ochronę dokumentu przed jednym lub kilkoma działaniami jednocześnie:
- przed otwarciem,
- przed drukowaniem,
- przed edycją,
- przed kopiowaniem tekstu, obrazów oraz innych informacji,
- przed czytnikami obrazu.
Nowoczesne pliki PDF wykorzystują do ochrony haseł szyfrowanie AES (Advanced Encryption Standard) przy użyciu kluczy 128-bitowych, co utrudnia znalezienie hasła (ale nie uniemożliwia!). W przypadku szyfrowania 128-bitowego, liczba kluczy wynosi 2128.
FR .Net:
FR VCL:
W zakładce „Bezpieczeństwo” (Security) można skonfigurować następujące pola:
- Hasło właściciela
- Hasło użytkownika
- Istnieje również opcja zabronienia drukowania dokumentu, jego zmiany, kopiowania tekstu lub grafiki oraz dodawania lub zmiany notatek tekstowych.
Dokument można także chronić za pomocą certyfikatów (z kluczami publicznymi i prywatnymi do podpisu cyfrowego i otwierania dokumentu). Klucz publiczny jest zawarty w certyfikacie i służy do szyfrowania informacji. Klucz prywatny wykorzystuje się do odszyfrowania i cyfrowego podpisania dokumentu. Jest jeszcze za wcześnie, aby mówić o 100% ochronie. Niemniej jednak, na chwilę obecną jest to prawdopodobnie najbezpieczniejszy dokument w formie elektronicznej.
Mam nadzieję, że ten artykuł pomoże zapewnić Państwa użytkownikom narzędzia zabezpieczające dokumenty PDF i zwrócić ich uwagę na kwestie bezpieczeństwa. Nie istnieje jednak 100% ochrona. Ochrona dokumentów stanowi tylko małą część zintegrowanego systemu bezpieczeństwa, który powinien obejmować nie tylko działania techniczne, ale także organizacyjne.