We wcześniejszej części opisaliśmy PAdES i XAdES. Teraz czas na CAdES – sprawdzamy, jak działa podpis wewnętrzny i zewnętrzny w tym formacie i jakie ma zastosowanie w biznesie.
Elektroniczny podpis kwalifikowany może być złożony wewnątrz dokumentu (podpis wewnętrzny) albo jako oddzielny plik (podpis zewnętrzny). Obie formy zapewniają ten sam poziom bezpieczeństwa, jednak różnią się pod kątem technicznym i praktycznym w użyciu.
W pierwszej części artykułu opisaliśmy szczegółowo różnice między podpisami wewnętrznymi a zewnętrznymi na przykładzie formatów PAdES i XAdES. Teraz natomiast przyjrzymy się kolejnemu formatowi – CAdES – oraz przedstawimy praktyczne wskazówki, w jakich przypadkach lepiej sprawdzi się podpis zewnętrzny, a w jakich wewnętrzny.
Format CAdES – podpis CMS/PKCS#7 (wewnętrzny lub zewnętrzny)
CAdES (CMS Advanced Electronic Signature) to kolejny format podpisu kwalifikowanego, oparty na standardzie Cryptographic Message Syntax (PKCS#7).
W praktyce CAdES najczęściej przyjmuje postać kryptograficznej koperty z rozszerzeniem .p7m, .p7s lub .sig, która zawiera podpisywane dane lub referencje do nich. Ten format jest uniwersalny pod względem typów plików – pozwala podpisywać dowolne dane binarne: dokumenty tekstowe (DOC/XLS), obrazy, pliki PDF, archiwa ZIP, a nawet duże zbiory danych czy pliki wykonywalne. Dzięki tej wszechstronności CAdES bywa wykorzystywany w komunikacji między systemami informatycznymi i w rozwiązaniach biznesowych wymagających podpisywania nietypowych plików.
W przypadku CAdES możemy mieć do czynienia z podpisem wewnętrznym (otaczającym) – wtedy powstaje pojedynczy plik .p7m, który zawiera w sobie oryginalny dokument wraz z podpisem. Taki plik jest spójny i łatwy do przesłania jako jeden element, jednak wymaga specjalnego oprogramowania do otwarcia (przeciętny użytkownik nie otworzy .p7m bez dedykowanej aplikacji). Alternatywnie, CAdES może działać jako podpis zewnętrzny – wtedy oryginalny plik pozostaje niezmieniony, a osobno generowany jest plik podpisu (np. z rozszerzeniem .p7s lub .sig), podobnie jak w XAdES. Obie metody są zgodne z eIDAS; wybór zależy od potrzeb. Wiele programów do podpisu (np. Certum) pozwala wybrać opcję „podpisu zewnętrznego” lub „wewnętrznego” w formacie CAdES.
Zalety formatu CAdES
- Dowolny typ pliku – CAdES można użyć do podpisania praktycznie każdego rodzaju danych elektronicznych. To najlepszy wybór, jeśli musimy podpisać plik, którego nie da się łatwo objąć innym formatem (np. niestandardowy format binarny).
- Jedno rozszerzenie dla różnych danych – plik .p7m z podpisem może zawierać dokument o dowolnym formacie, co ułatwia standaryzację. Niezależnie czy podpisujemy PDF, czy AVI – efekt jest w postaci .p7m.
- Kompaktowy podpis – CAdES generuje stosunkowo niewielki narzut danych. Podpis (bez względu na wielkość oryginału) zwykle ma objętość kilku kilobajtów. Jest to efektywne pamięciowo i szybkie w weryfikacji, dzięki zdefiniowanej, binarnej strukturze podpisu.
- Popularność w systemach – choć użytkownicy końcowi rzadziej świadomie wybierają CAdES, format ten jest szeroko wykorzystywany wewnątrz aplikacji i serwisów (np. do podpisywania paczek danych, faktur elektronicznych, komunikacji między serwerami). Jego zalety doceniają rozwiązania automatyczne – np. podpisywanie i weryfikacja dużej liczby plików tabelarycznych może być realizowane właśnie w CAdES dla wydajności.
Ograniczenia formatu CAdES
- Wymaga dedykowanego oprogramowania do odczytu – osoba otrzymująca plik .p7m nie podejrzy jego zawartości bez użycia specjalnej aplikacji do weryfikacji podpisów. Dla niewprawnego odbiorcy może to być mylące – plik z podpisem nie otworzy się jak zwykły dokument, co rodzi pytania „jak to podpisać/odczytać?”. Konieczne jest użycie narzędzia do weryfikacji (np. programu dostawcy podpisu).
- Brak widocznej pieczęci w dokumencie – podpis CAdES jest całkowicie odseparowany od treści dokumentu, nie oferuje żadnej graficznej reprezentacji podpisu w samej treści (nie widać „podpisu” na wydruku czy podglądzie pliku). Jeśli zależy nam na wizualnym efekcie podpisu na dokumencie, CAdES tego nie zapewni.
- Trudności przy wielu podpisach – w scenariuszu, gdy kilka osób ma podpisać ten sam dokument, CAdES w wariancie wewnętrznym generuje zjawisko „matrioszki”. Oznacza to, że każdy kolejny podpis tworzy nowy plik .p7m, zawierający poprzedni podpisany plik w środku – powstają zagnieżdżone koperty podpisów. W rezultacie obsługa wielu podpisów na jednym dokumencie staje się uciążliwa (kolejne warstwy podpisów). W formacie XAdES czy PAdES takiego problemu nie ma – tam można dokładać podpisy bez opakowywania pliku w kolejne warstwy.
- Mniejsza popularność wśród użytkowników – większość osób kojarzy podpisywanie PDF (PAdES) lub ewentualnie pliki .xml z podpisem (XAdES). CAdES jako .p7s/.p7m jest mniej intuicyjny dla przeciętnego użytkownika. W efekcie, jeśli wyślemy kontrahentowi podpisany dokument w formacie CAdES, może on nie wiedzieć, jak go otworzyć czy zweryfikować – konieczna bywa instrukcja. Dlatego CAdES częściej stosuje się w ustalonych relacjach biznesowych lub wewnątrz systemów, gdzie strony wiedzą jak postępować z takim podpisem.
Kiedy stosować podpis wewnętrzny, a kiedy zewnętrzny?
Wybór między podpisem wewnętrznym a zewnętrznym zależy od kontekstu użycia dokumentu oraz wymagań odbiorcy. Poniżej kilka praktycznych wskazówek:
- Dokumenty dla ludzi (np. umowy, pisma w PDF) – gdy wysyłamy podpisany dokument do osoby, która ma go po prostu przeczytać i mieć pewność co do jego autentyczności, najlepiej sprawdza się podpis wewnętrzny w formacie PAdES. Odbiorca otrzymuje jeden plik PDF, który łatwo otworzy, a program (np. Acrobat Reader) od razu pokaże informację o ważności podpisu. To najprostszy sposób podpisania dokumentu w biznesie i administracji. Podpis zewnętrzny w takim wypadku mógłby tylko skomplikować sytuację (trzeba by załączać dwa pliki i tłumaczyć, jak je zweryfikować).
- Dokumenty w innych formatach niż PDF – jeśli musimy podpisać plik niebędący PDF, mamy do wyboru XAdES lub CAdES. Tutaj decyzja wewnętrzny vs. zewnętrzny zależy od okoliczności. Jeżeli dokument ma trafić do urzędu czy systemu, który wymaga konkretnego formatu (np. wiele platform e-administracji akceptuje tylko podpisy XAdES jako osobny plik przy XML-ach), wówczas stosujemy podpis zewnętrzny XAdES zgodnie z wymogami. Natomiast gdy podpisujemy np. plik Worda na użytek wewnętrzny firmy, można rozważyć CAdES wewnętrzny – powstanie plik .p7m zawierający dokument, który współpracownicy zweryfikują w swoim oprogramowaniu. Jeśli jednak odbiorca takiego pliku może mieć trudność z otwarciem .p7m, alternatywą jest podpis zewnętrzny (osobny .sig) i pozostawienie oryginalnego DOCX – ale wtedy znów trzeba upewnić się, że obie części nie zostaną rozdzielone.
- Duże pliki – w przypadku dużych dokumentów (link) (dziesiątki MB) często rekomenduje się stosowanie podpisu zewnętrznego. Dlaczego? Ponieważ przy podpisie wewnętrznym powstaje nowy plik zawierający cały oryginał plus podpis, co podwaja ilość danych do przenoszenia i przechowywania. Podpis zewnętrzny jest zaś malutki (rzędu kilku/kilkudziesięciu kB) i można go przesyłać osobno. W praktyce dostawcy wskazują, że podpis zewnętrzny lepiej poradzi sobie z plikami większymi niż ~25 MB. Dla plików o takiej wielkości podpis wewnętrzny mógłby być kłopotliwy (np. nie zmieści się w limicie załączników e-mail lub platforma odmówi przyjęcia zbyt dużego pliku). Stosując podpis zewnętrzny, przekazujemy duży plik oryginalny bez modyfikacji, a podpis jako oddzielny mały plik – co bywa praktycznym rozwiązaniem.
- Wymogi formalne i systemowe – zawsze warto sprawdzić, jakie formaty i typy podpisów są akceptowane przez odbiorcę lub system, do którego składamy dokument. Niektóre instytucje wprost określają, że np. dokumenty PDF należy podpisywać PAdES, a formularze XML – podpisem XAdES zewnętrznym (osobnym plikiem) albo wymagają określonego standardu (np. ASiC). W takich sytuacjach decyzja jest z góry narzucona wymaganiami. Na szczęście większość programów do e-podpisu umożliwia łatwe przełączenie formatu i typu podpisu zgodnie z potrzebami – wystarczy wybrać odpowiednie opcje przed złożeniem podpisu.
Podsumowując, podpis wewnętrzny sprawdza się tam, gdzie cenimy wygodę jednego pliku i czytelność (głównie PDF/PAdES dla typowych dokumentów), zaś podpis zewnętrzny jest niezastąpiony w scenariuszach wymagających elastyczności – przy różnych formatach plików, automatycznej obróbce danych czy bardzo dużych załącznikach. Niezależnie jednak od wybranej metody, oba rodzaje podpisów gwarantują ten sam poziom bezpieczeństwa i prawnej ważności, wynikający z kwalifikowanego certyfikatu.
Kluczowe jest, aby odbiorca mógł zweryfikować podpis – dlatego zawsze dostarczajmy wszystkie niezbędne pliki oraz instrukcje, gdy korzystamy z mniej oczywistych form (np. .xades czy .p7m). Posiadając tę wiedzę, możemy świadomie wybrać format i typ podpisu najlepiej dopasowany do danej sytuacji, zapewniając zarówno wygodę, jak i zgodność z przepisami.
Kwalifikowane podpisy SimplySign oraz Certum Mini
Jeśli masz jakiekolwiek wątpliwości lub pytania, skontaktuj się z nami
Odpowiemy na Twoje pytania, znajdziemy pasujący Ci termin oraz doradcę w Gdańsku, Gdyni, Krakowie, Warszawie lub Wrocławiu.
Możesz również napisać od nas emaila [email protected].