Biblioteka na szklanym ekranie

Każdy użytkownik komputera utworzył kiedyś zapewne dokument elektroniczny. Bez względu na to, w jakim formacie zapisany był ów zbiór (TXT, HTML, DOC), z pewnością łatwo było zmienić jego zawartość lub go skopiować. Są jednak pliki, które nie powinny być edytowane przez nikogo obcego ani powielane. Jakie? Ustalenia między firmami, umowy, książki – dla ochrony takich dokumentów warto opracować odpowiednie rozwiązania.

O e-książkach już pisaliśmy w CHIP-ie (patrz: CHIP 12/2000, 50). W ich przypadku, szczególnie w dobie panoszącego się piractwa, technologie zabezpieczeń odgrywają kluczową rolę. W czasach powszechnego dostępu do Internetu wystarczy umieścić wolną od wszelkich ograniczeń kopię dokumentu na ogólnodostępnym serwerze WWW i cały wysiłek oraz zainwestowane pieniądze wydawcy idą na marne. Sieć jest też sprzymierzeńcem firm wydawniczych, bo umożliwia bardzo łatwą dystrybucję książek elektronicznych. Co więcej, elastyczne rozwiązania pozwolą na wprowadzenie nowych form sprzedaży. Materiały można przecież umieścić w bazie danych, a następnie “w locie” generować potrzebne dokumenty – np. “Pana Tadeusz” do trzykrotnego przeczytania albo “Pod Mocnym Aniołem” dające się “kartkować” przez dwa tygodnie. Zalety takich rozwiązań docenią prędzej czy później także koncerny prasowe. W podobny sposób można sprzedawać dowolne informacje, także te, które w tej chwili są dostępne za darmo na wszelkiego rodzaju portalach.

Stój! Podaj hasło!

Zacznijmy jednak od początku. Najprostsze rozwiązanie przedstawionego wcześniej problemu (jak uniemożliwić modyfikowanie dokumentu) to klasyczne szyfrowanie zbiorów. Po takiej operacji cała zawartość pliku staje się nieczytelna, a jedyny ratunek to użycie odpowiedniego oprogramowania i odkodowanie dokumentu. Do obydwu czynności (szyfrowania i odszyfrowywania) potrzebna jest znajomość hasła. Wiadomo jednak, że ludzie nie darzą haseł specjalną sympatią. Trudno im się dziwić. PIN do telefonu komórkowego, karty bankomatowej, hasło do poczty elektronicznej, a na dodatek do dokumentów… I co zrobić, jeżeli tajny kod wyleci nam z głowy? Jednak bez względu na opisane niedogodności ten sposób zabezpieczania dokumentów jest obecnie najpopularniejszy.

Jak wygląda takie szyfrowanie w praktyce? Przypatrzmy się zbiorom PDF. Podczas zabezpieczania dokumentu generowany jest klucz (związany bezpośrednio z hasłem chroniącym plik), za pomocą którego szyfrowany jest cały dokument. Zbiór w formie zabezpieczonej składa się z właściwej treści oraz tzw. słownika kodowania. Ów słownik to porcja informacji, na podstawie których można odkodować dokument.

Za szyfrowanie i odszyfrowywanie plików w programie Adobe Acrobat Reader odpowiada moduł obsługi zabezpieczeń (ang. security handler). To właśnie ten komponent tworzy klucz, na podstawie którego szyfrowany jest zbiór. Moduł ów ustala też treść słownika kodowania, unikatowego dla określonego dokumentu.

Acrobat Reader dystrybuowany jest tylko z jednym modułem obsługi zabezpieczeń. W swojej najnowszej wersji pozwala on na różne operacje, które dają w miarę elastyczną kontrolę nad dokumentem. Plik można zabezpieczyć nie jednym, lecz dwoma hasłami. Pierwsze należy do właściciela zbioru (ang. owner), a drugie do adresata (ang. user). Jak nietrudno zgadnąć, pierwsza osoba ma do pliku pełne prawa. Może modyfikować jego treść, ale także zmieniać poziom zabezpieczeń, który określa, co z danym dokumentem ma prawo robić jego przyszły użytkownik. Jedno z ograniczeń dotyczy możliwości modyfikacji pliku, kolejne restrykcje odnoszą się do kopiowania z niego grafiki lub tekstu oraz drukowania. To dość spory zestaw, ale okazuje się, że można pójść dalej. Acrobat w wydaniu piątym potrafi także zezwalać użytkownikowi lub nie na wypełnianie formularzy, zmianę orientacji stron (obracanie), tworzenie zakładek oraz drukowanie w pełnej lub niskiej jakości.

Oprócz modułu obsługi zabezpieczeń obecnego w każdym Adobe Acrobacie, powstało kilka innych pozycji opracowanych przez różne firmy. Skutek tych prac nie zawsze jest zadowalający. W większości przypadków próbowano napełnić kieszenie pieniędzmi naiwnych klientów, stosując takie wynalazki, jak komponent wykorzystujący szyfrowanie ROT13 (dodanie do każdego bajtu 13 i podzielenie modulo 256). Szyfr ten był stosowany przez Juliusza Cezara i – jak łatwo się domyślić – nie jest zbyt trudny do złamania. Czytelnikom, dla których ów szyfr jest obcy, polecam wizytę w witrynie http://www.rot13.com/. Obecnie ROT13 wykorzystywany jest do zniekształcenia treści, tak aby nie gorszyła oczu przypadkowego widza. Oczywiście trafiały się także lepsze pomysły, jak np. moduł zabezpieczeń firmy FileOpen, która prawdopodobnie jako pierwsza wprowadziła koncepcję okresu ważności dokumentu (o nim więcej za chwilę).

Tak czy inaczej widać, że zastosowanie wyłącznie szyfrowania mocno ogranicza możliwości użytkowania dokumentów elektronicznych. Dalszy rozwój technologii wymagał bardziej kompleksowego podejścia do problemu.

Więcej:bezcatnews