Wskazówki dotyczące aplikacji i zasad stosowania podpisu cyfrowego zgodnych z normami zabezpieczeń Common Criteria

Autor: Jack Davis

Tempo przechodzenia z ręcznie podpisywanych dokumentów papierowych na pliki elektroniczne z podpisami cyfrowymi jest bardzo szybkie. Aby spełnić potrzeby klientów i wymagania certyfikacji, dokumenty elektroniczne z podpisami cyfrowymi muszą być tak samo funkcjonalne i bezpieczne jak ręcznie podpisywane dokumenty papierowe. W tym artykule opisano, w jaki sposób deweloper oprogramowania może projektować aplikacje z wbudowaną funkcją podpisu cyfrowego spełniającą wymagania normy zabezpieczeń ISO/IEC 15408 Common Criteria.

W świecie dokumentów i plików danych podpisy cyfrowe mają dwie podstawowe funkcje:

  • Identyfikują autora dokumentu lub zawartości pliku (składającego podpis).
  • Potwierdzają, że informacje nie zostały zmienione po złożeniu podpisu.

Podczas tworzenia aplikacji obsługujących podpisy cyfrowe deweloperzy oprogramowania i ich projektanci interfejsów użytkownika oprócz podstawowej zasady „Podpisujesz to, co widzisz” („What You See Is What You Sign” — WYSIWYS) muszą być świadomi kilku innych kwestii dotyczących bezpieczeństwa i użytkowników. Należy rozważyć kwestie bezpieczeństwa, które mogą mieć wpływ na produkty pod względem spełnienia wymagań certyfikacji. Certyfikaty zabezpieczeń, takie jak ISO/IEC 15408 Common Criteria, zapewniają organizacjom i użytkownikom niezawodny sposób identyfikowania produktów, które zostały przetestowane pod kątem standardów bezpieczeństwa i nadawania się do użytku. Niezależne certyfikaty zabezpieczeń coraz częściej stają się warunkiem wstępnym podczas podejmowania decyzji o zakupie.

Deweloper, który przeczyta niniejszy artykuł, będzie lepiej rozumiał zakres problemów związanych z podpisami cyfrowymi oraz nieodłączną potrzebę jasnego, dokładnego i otwartego ujawniania danych użytkownikom.

Certyfikaty zabezpieczeń ISO/IEC 15408 Common Criteria

Wspierane przez organizację International Organization for Standardization (ISO) i Międzynarodową Komisję Elektrotechniczną (IEC), certyfikaty Common Criteria to pakiet metodologii zaprojektowany w celu oceny i certyfikacji funkcji zabezpieczeń produktów informatycznych. Techniki zabezpieczeń zgodne z certyfikatami Common Criteria zostały opublikowane w normach ISO/IEC 15408 i 18045.

Od dnia publikacji tego artykułu certyfikaty zabezpieczeń Common Criteria zostały zatwierdzone i przyjęte przez 26 krajów. Lista członków Common Criteria znajduje się pod adresem commoncriteriaportal.org/members.html.

Specyfikacja Office Open XML i konwencje Open Packaging Conventions

W 2008 r. organizacje ISO/IEC zatwierdziły i przyjęły Office Open XML (OOXML) jako otwarty standard międzynarodowy. Składnik Open Packaging Conventions (OPC) standardu OOXML zapewnia technologię plików kontenera będącą standardem branżowym. Konwencje OPC łączą używanie plików ZIP i XML, aby aplikacje mogły określać otwarte i łatwo dostępne formaty plików. Konwencje OPC definiują także funkcję obsługi podpisów cyfrowych, właściwości metadanych i relacji między zawartością. Dostęp zarówno do danych aplikacji, jak i elementów OPC zapewnia wspólny zestaw interfejsów API.

Przykładami formatów plików opartych na konwencji OPC są formaty programów Microsoft Word (.docx), Excel (.xlsx) i PowerPoint (.pptx) oraz format XML Paper Specification (.xps). Każdy z nich charakteryzuje się własnym, unikatowym sposobem porządkowania treści (schematem), który jest powiązany z konkretną aplikacją Każdy format pliku oparty na konwencji OPC może definiować również własne zasady używania podpisów cyfrowych. Zasady podpisywania formatu pliku określają, jakie składniki zawartości muszą być podpisane, które mogą, a które nie powinny być podpisane w ramach składania lub sprawdzania podpisu cyfrowego.

W tym artykule zostaną przedstawione informacje o tym, jak sprawdzić i wyświetlić dane podpisu zapisane wraz z podpisanymi cyfrowo dokumentami elektronicznymi. Rozważania na temat projektowania opierają się funkcji podpisu cyfrowego zapewnionej przez składnik OPC standardów Office Open XML ISO/IEC 29500 i ECMA 376. Należy pamiętać, że zasady dotyczące stosowania podpisu cyfrowego konkretnych formatów plików opartych na konwencjach OPC mogą obejmować tylko podzbiór opcji podpisywania opisanych w niniejszym artykule.

Podpisy cyfrowe

Formaty plików OPC, takie jak te opisane w standardzie OOXML, korzystają z certyfikatów X.509 i technologii podpisu cyfrowego XML (W3C, 2008) w celu zapewnienia dwóch składników zabezpieczeń:

  • Funkcji uniemożliwiającej wyparcie się tożsamości, która bezpiecznie identyfikuje składającą podpis osobę lub grupę.
  • Funkcji sprawdzania zawartości w bezpieczny sposób, która określa, czy cała zawartość została dostarczona i czy nie została zmieniona po podpisaniu.

Zmiana dowolnej części podpisu cyfrowego lub jakiejkolwiek podpisanej zawartości zostanie wykryta podczas sprawdzania podpisu, a użytkownik zostanie powiadomiony o niepoprawności podpisu przy użyciu komunikatu o błędzie.

Niektóre z ilustracji w tym artykule przedstawiają przykładowe powiadomienia użytkownika lub komunikaty o stanie. Niezależnie od tego, czy potwierdzają powodzenie lub niepowodzenie sprawdzania podpisu, czy podkreślają specjalne funkcje, których użytkownik powinien być świadom, są to jasne i konkretne sformułowania. Wypowiedzi takiego właśnie rodzaju deweloper powinien używać. Aplikacja określa kiedy i gdzie użytkownik widzi te komunikaty o stanie podpisów cyfrowych. 
Sprawdzanie podpisu cyfrowego czasem jest zaplanowane jako zadanie wykonywane automatycznie za każdym razem, kiedy zostanie otwarty podpisany dokument. W takim przypadku komunikat zostałby otwarty, gdy użytkownik otworzyłby dokument. Jeśli użytkownik musi sprawdzić podpis cyfrowy ręcznie, korzystając z menu, dobrze jest przedstawić stan podpisu w podręcznym oknie dialogowym. Deweloper oprogramowania i projektant interfejsu użytkownika mają pewne pole manewru, mogą decydować kiedy i gdzie będą wyświetlane te komunikaty — należy jednak pamiętać, aby były jak najbardziej intuicyjne i łatwe do zrozumienia. 

Kategorie podpisywania

Umożliwienie, aby aplikacja raportowała powodzenie lub niepowodzenie sprawdzania integralności podpisu oraz podpisanej zawartości, to dopiero pierwszy etap pisania cyfrowo bezpiecznego programu. Należy również uwzględnić różne typy zawartości, z jakimi aplikacja będzie miała do czynienia.

W przypadku najprostszej formy podpisywania, nazywanej podpisywaniem kompleksowym, użytkownik stosuje swój podpis do całej zawartości w pojedynczym dokumencie. Podpis cyfrowy i podpisana zawartość są następnie sprawdzane i raportowane jako prawidłowe lub nieprawidłowe. Rys. 1 to przykład komunikatu o stanie podpisu cyfrowego, który widziałby użytkownik.


Rys. 1 Przykładowy komunikat używany w przypadku podpisywania kompleksowego

Trzeba uwzględnić także elementy dokumentu w czterech dodatkowych kategoriach, aby uniknąć nieporozumień lub niewłaściwych założeń zaufania:

  • Niepodpisana zawartość
  • Podpisane grupy zawartości
  • Zawartość z odwołaniami zewnętrznymi
  • Zawartość dynamiczna

Podpisywanie kompleksowe

Większości ludzi nie ma problemów z podpisywaniem kontraktów i dokumentów papierowych. Każda strona jest parafowana lub na końcu dokumentu składany jest podpis identyfikujący daną osobę i potwierdzający przeczytanie, zatwierdzenie dokumentu oraz zgodę na zawarte w nim postanowienia.

Jak wspomniano wcześniej, najprostszym i najmniej skomplikowanym sposobem podpisywania dokumentu cyfrowego jest podpisywanie kompleksowe. Aby podpis został zakwalifikowany do tej klasy, cała zawartość skojarzona z plikiem dokumentu musi spełniać następujące kryteria:

  • Wszystkie elementy zawartości muszą znajdować się w jednym pakiecie dokumentów.
  • Wszystkie elementy zawartości muszą być statyczne.
  • Nie ma żadnych łączy czy odwołań do zawartości zewnętrznej.
  • Wszystkie elementy zawartości w pakiecie dokumentów są podpisane.

Aby dokument był w pełni statyczny, do elementów zawartości nie mogą należeć żadne elementy dynamicznie ulegające zmianom, takie jak tekst utworzony przy użyciu makr lub danych ze źródeł zewnętrznych. Kiedy wszystkie elementy zawartości w statycznym pliku dokumentu zostaną podpisane, zarówno podpis cyfrowy, jak i podpisaną zawartość można sprawdzić przy użyciu wyniku podsumowania, którym jest raport o prawidłowości lub nieprawidłowości podpisu cyfrowego i skojarzonej, podpisanej zawartości.

Na Rys. 2 Signature 1 (Podpis 1) jest podpisem części dokumentu r, st. Jeśli później podpis zostanie sprawdzony, okaże się, że Signature 1 (Podpis 1) jest nietknięty i ważny, i że każda ze skojarzonych, podpisanych części (r, st) nie została zmieniona po podpisaniu.


Rys. 2 Zawartość z jednym podpisem

Na Rys. 3przedstawiono odmianę podpisywania, w której do dokumentu zostają zastosowane dwa podpisy (lub więcej). Wiele podpisów występuje z reguły w cyklu sprawdzania i zatwierdzenia, w którym wymaga się, aby poszczególne osoby wyraziły zatwierdziły i zaakceptowały dokument po przejrzeniu go. W tej formie każdy podpis może zostać sprawdzony osobno wraz ze skojarzonymi z nim, podpisanymi częściami dokumentu.


Rys. 3 Zawartość z wieloma podpisami

Do sprawdzenia podpisów i zidentyfikowania każdego z autorów w scenariuszu sprawdzania podpisu i podpisanej zawartości można użyć poniższej metody i właściwości.

Niepodpisana zawartość

Niepodpisana zawartość stanowi potencjalne ryzyko dla dorozumianego skojarzenia z zaufaniem. W przypadku dokumentów papierowych lidzie zwykle podpisują strony lub je parafują, aby siebie zidentyfikować i potwierdzić przeczytanie materiałów oraz wyrażenie zgody na zawarte ich postanowienia. Wszelkie niepodpisane strony (lub dodane później jako niepodpisane) nie mają formalnego związku z podpisującym ani wagi prawnej.

W przypadku dokumentów cyfrowych sprawdzenie podpisu cyfrowego i związanej z nim zawartości pozwala ustalić, czy użytkownik może im zaufać. Niestety, wielu użytkowników nieposiadających wiedzy technicznej nie wie, jak rozróżnić podpisy cyfrowe, podpisaną zawartość, niepodpisaną zawartość i kontener, w którym znajdują się składniki dokumentu. Jeśli zostanie wyświetlony tylko pozytywny wynik sprawdzenia podpisu cyfrowego i podpisanej treści, użytkownicy mogą niesłusznie przyjąć, że sprawdzony został cały pakiet, który może obejmować niepodspisaną zawartość, której nie należy kojarzyć z zaufanym podpisem. Niepodpisana zawartość nie ma źródła, które można by było zidentyfikować, i może zostać dodana po tym, jak inne składniki zostały podpisane lub zmodyfikowane w pakiecie dokumentu.

Skojarzenia związane z zaufaniem do podpisów muszą być jasne dla wszystkich użytkowników. Użytkownicy powinni być świadomi istnienia w pakiecie jakiejkolwiek niepodpisanej zawartości i należy zapewnić im środki do wyraźnego rozróżniania jej od zaufanej, podpisanej zawartości. Na Rys. 4przedstawiono rodzaj komunikatu, który powinien być wyświetlany w celu powiadomienia użytkowników o niepodpisanej zawartości w prawidłowym, podpisanym cyfrowo dokumencie.


Rys. 4 Przykładowy komunikat używany w przypadku niepodpisanej zawartości

Na Rys. 5części dokumentów mn są podpisane i można je zweryfikować przy użyciu Signature 1 (Podpisu 1). Ten sam pakiet dokumentu zwiera też niepodpisane części xy, których nie można zweryfikować. Części xy są niezależne i nieskojarzone, nawet domyślnie, z Signature 1 (Podpisem 1).


Rys. 5 Podpisany dokument zawierający niepodpisane części

Do zidentyfikowania pakietów zawierających niepodpisane części można użyć następujących właściwości, metod i pseudokodu:

Poniższy pseudokod określa, czy dowolne części w pakiecie dokumentu nie są podpisane:

PackageDigitalSignatureManager dsm = new PackageDigitalSignatureManager(package);
PackagePartCollection partCollection = Package.GetParts();
foreach (PackagePart part in partCollection)
    foreach (PackageDigitalSignature signature in dsm.Signatures)
    {
        // Search if "part" is included in signature.SignedParts.
        // If "part" is included in signature.SignedParts
        //     then it is a signed part
        //     else it is an unsigned part
    }

Podpisane grupy zawartości

Kolejne ryzyko pod względem dorozumianego zaufania w wyniku skojarzenia niosą ze sobą dokumenty z wieloma podpisanymi grupami zawartości. W przypadku dokumentów papierowych jedna osoba może podpisać strony w jednym rozdziale, a druga — w innym. Podpis pierwszej osoby i parafowane przez nią strony nie mają formalnego powiązania ze stronami podpisywanymi przez drugą osobę. Tak samo podpis drugiej osoby i parafowane przez nią strony nie mają formalnego powiązania ze stronami podpisywanymi przez pierwszą osobę. Tylko te strony, które zostały podpisane przez obie osoby, są ze sobą skojarzone. Przykładem podpisanych grup zawartości jest dokument, w którym treść jest napisana i podpisana przez jedną osobę, a rozdziały załącznika dodane w celach referencyjnych zostały napisane i podpisane przez inne osoby.

W niektórych formatach plików różne elementy zawartości mogą być podpisane przez różne osoby. Użytkownicy muszą wiedzieć, kiedy podpisy odnoszą się do różnych grup zawartości, że są od siebie nawzajem niezależne i że każdy popis i grupa zawartości muszą być weryfikowane oddzielnie. Na Rys. 6 przedstawiono komunikat, który może towarzyszyć dokumentowi z podpisanymi grupami zawartości.


Rys. 6 Przykładowy komunikat używany w przypadku podpisanych grup zawartości

Na Rys. 7 części dokumentu r, st są podpisane w zweryfikowane przy użyciu Signature 1 (Podpisu 1), a części dokumentu x, y i z są podpisane i zweryfikowane przy użyciu Signature 2 (Podpisu 2). Te dwa podpisy i związane z nimi grupy zawartości są niezależne i ze sobą niezwiązane, mimo że znajdują się w tym samym dokumencie.


Rys. 7 Dwie podpisane grupy

W wersji Rys. 7 — na Rys. 8 — przedstawiono sytuację, w której co najmniej jedna część dokumentu została podpisana przy użyciu dwóch lub więcej podpisów. O ile Signature 1 (Podpis 1) i Signature 2 (Podpis 2) znajdują się obok siebie na jednym lub większej liczbie wspólnych elementów (Grupa C), o tyle Signature 1 (Podpis 1) z Group A (Grupą A) i Signature 2 (Podpis 2) z Group B (Grupą B) pozostają niezależne względem siebie i są ze sobą nieskojarzone. Opisując użytkownikom informacje dotyczące podpisów, należy wyraźnie i jasno przedstawić skojarzenia podpisów niezależnie i wspólnie podpisanej zawartości.


Rys. 8 Popisane i wspólnie podpisane grupy

Poniższe właściwości i pseudokod identyfikują pakiety zwierające wiele podpisanych grup zawartości:

Poniższy pseudokod tworzy listę podpisanych grup zawartości znajdujących się w pakiecie:

PackageDigitalSignatureManager dsm = 
   new PackageDigitalSignatureManager(package);
foreach (PackageDigitalSignature signature in dsm.Signatures)
{
    // Add to list(signature.SignaturePart, signature.Signer);
}
// Upon completion the list will contain one entry for each signature
// along with the X.509 certificate that identifies the signer.
// If the list contains more than one entry and different signers,
// the package contains multiple signed content groups.

Zabezpieczenia przeciwko wielu podpisanym grupom zawartości

Wiele podpisanych grup zawartości zwiększa złożoność zasad podpisywania formatu pliku, biorąc pod uwagę fakt, że zwiększają możliwość tego, że ktoś mógłby dodać fałszywie podpisaną zawartość do dokumentu z zamiarem stworzenia wprowadzającego w błąd skojarzenia z istniejącym podpisem i zawartością. Aby zabezpieczyć swoją aplikację przed tym zagrożeniem, można wymagać podpisu użytkownika w części podpis-pochodzenie-relacje. (Część podpis-pochodzenie-relacje to specjalny plik w pakiecie o nazwie \package\services\digital-signatures\_rels\origin.psdor.rels). Kiedy podpisane są zarówno zawartość, jak i część podpis-pochodzenie-relacje, dowolne podpisy dodane później spowodują zmodyfikowanie części podpis-pochodzenie-
relacje oraz niepowodzenie sprawdzania oryginalnego podpisu i zaraportowanie pakietu jako nieprawidłowego.

Zawartość z odwołaniami zewnętrznymi

Zawartość z odwołaniami zewnętrznymi jest kolejnym potencjalnie niewłaściwym scenariuszem zaufania poprzez kojarzenie. Elementy w podpisanym dokumencie mogą zawierać odwołania do osobnych, zewnętrznych dokumentów. O ile te dokumenty nie są również podpisane, odwołania zewnętrzne uważane są za informacyjne i nie są formalnie kojarzone z podpisanym dokumentem.

Zawartość, do której dostęp jest uzyskiwany za pośrednictwem zewnętrznych łączy i odwołań poza pakiet dokumentu, mogą zmienić się w dowolnej chwili. Idealnie byłoby, gdyby podpisywana zawartość nie zawierała żadnych łączy ani odwołań do materiałów poza pakietem dokumentu. Użytkownicy muszą być wstanie wyraźnie identyfikować i rozpoznawać sytuacje, które mogłyby wiązać się z podpisywaniem lub sprawdzaniem zawartości obejmującej łącza i odwołania do zewnętrznych materiałów. Na Rys. 9 przedstawiono przykładowy komunikat wskazujący zawartość dokumentu odwołującą się do źródeł zewnętrznych.


Rys. 9 Przykładowy komunikat używany w przypadku zawartości odwołującej się do źródeł zewnętrznych

Podczas sprawdzania podpisanej zawartości obejmującej łącza do materiałów zewnętrznych, należy korzystać z następujących wskazówek:

  • Należy powiadamiać użytkowników o obecności odwołań i łączy do zewnętrznych materiałów. Komunikat powinien wyjaśniać, że zewnętrzne materiały są niepodpisane i nieskojarzone z żadnym podpisem lub zaufaniem do podpisu.
  • Należy zapewniać użytkownikom środki umożliwiające wyraźne rozróżnienie między podpisaną zawartością statyczną a niepodpisanymi materiałami zewnętrznymi. Kiedy na przykład użytkownicy sprawdzają i wyświetlają podpisaną zawartość, pokazywane powinny być tylko wewnętrzne łącza do innych podpisanych materiałów — łącza zewnętrzne i odwołania do zawartości zewnętrznej powinny być ukryte.

Na Rys. 10części dokumentów r, st są podpisane i można je zweryfikować przy użyciu Signature 1 (Podpisu 1). Część dokumentu s zawiera jednak łącze do podpisanego odwołania wewnętrznego do części ti łącza do dwóch zewnętrznych odwołań do niepodpisanej zawartości xi zawartości y. Sprawdzając i opisując informacje dotyczące podpisu użytkownikom, aplikacja powinna wyraźnie i jasno informować użytkownika, że łącza xyodwołują się do niepodpisanej zawartości, która nie jest skojarzona z Signature 1 (Podpisem 1) i jest niezwiązana z żadnymi innymi zweryfikowanymi elementami zawartości (części r, st).


Rys. 10 Zawartość z odwołaniami zewnętrznymi

Identyfikowanie elementów odwołujących się do zewnętrznej zawartości zależy od schematu konkretnego formatu pliku OPC. W materiale do tego artykułu można znaleźć metody, właściwości i pseudokod, których można użyć do identyfikowania zawartości z odwołaniami zewnętrznymi w formatach plików pakietu Microsoft Office do programów Word (.docx), Excel (.xlsx) i PowerPoint (.pptx).

Zawartość dynamiczna

Niepodpisana zawartość dynamiczna również jest potencjalnie niewłaściwym scenariuszem zaufania poprzez kojarzenie. Między dynamicznie zmienianą treścią a dokumentem papierowym nie ma analogii. Zmiany wprowadzone do dokumentu po jego podpisaniu unieważniają podpis pod względem prawnym. Aby miały wagę prawną, modyfikacje podpisanego dokumentu papierowego muszą zostać przeczytane, zatwierdzone i ponownie podpisane prze pierwotnych sygnatariuszy.

Z punktu widzenia zaufania do podpisu zawartość, która może być dynamicznie dodawana, usuwana lub zmieniana jest z natury niepodpisywalna. Zawartość dynamiczna, taka jak tekst utworzony poprzez wykonanie funkcji i makr, może naruszać podstawową zasadę WYSIWYS. Dynamiczna zawartość jest zwykle tworzona przy użyciu funkcji, które wstawiają tekst zmiennych, taki jak „dzisiejsza data” i „data ostatniego zapisania”, formuły, takie jak Suma, pola odwołań lub inną zawartość utworzoną poprzez wykonywanie makr niestandardowych.

Zawartość dynamiczna utworzona w wyniku uruchomienia makr może zostać użyta w złych zamiarach i jest luką w zabezpieczeniach. Operacje wykonywalne zwiększają złożoność i sprawiają, że informacje o zawartości dynamicznej nie są dla użytkowników jasne. Aby wyegzekwować zasadę WYSIWYS, dokumenty, które muszą być podpisane, nie powinny obejmować zawartości dynamicznej, zamiast tego powinna znajdować się w nich tylko zawartość statyczna.

Sytuacje związane z podpisaniem i weryfikacją dokumentów z zawartością dynamiczną muszą być wyraźnie, jasno i dokładnie sygnalizowane użytkownikom. Kiedy nie można uniknąć podpisania dokumentu z zawartością dynamiczną, należy stosować się do następujących wskazówek:

  • Należy powiadamiać użytkowników o obecności zawartości dynamicznej. Powiadomienie powinno wyjaśniać, że zawartość dynamiczna jest niepodpisana i niezwiązana z jakimkolwiek podpisem oraz że nie można jej kojarzyć z jakimikolwiek poziomami zaufania do podpisów.
  • Należy zapewniać użytkownikom środki umożliwiające wyraźne rozróżnianie między podpisaną zawartością statyczną a niepodpisaną zawartością dynamiczną oraz identyfikowanie tej ostatniej. Przykładowo podczas sprawdzania i wyświetlania podpisanej zawartości zawartość dynamiczna powinna być ukryta; sygnatariusz powinien widzieć tylko zawartość dynamiczną.

Na Rys. 11 przedstawiono komunikat ostrzegający użytkownika o zawartości obliczanej dynamicznie.


Rys. 11 Przykładowy komunikat używany w przypadku zawartości dynamicznej

Na Rys. 12części dokumentów rs są podpisane i można je zweryfikować przy użyciu Signature 1 (Podpisu 1). Ten pakiet dokumentu obejmuje jednak także zawartość dynamiczną — część z — której nie można podpisać ani zweryfikować. Część z jest niezależna i nieskojarzona, nawet domyślnie, z Signature 1 (Podpisem 1).


Rys. 12 Zawartość dynamiczna

Identyfikowanie elementów obejmujących zawartość dynamiczną zależy od schematu konkretnego formatu pliku OPC. W materiale online do tego artykułu można znaleźć metody, właściwości i pseudokod, których można użyć do identyfikowania zawartości dynamicznej w formatach plików pakietu Microsoft Office do programów Word (.docx), Excel (.xlsx) i PowerPoint (.pptx).

Zachowywanie przejrzystości

Należy powtórzyć to jeszcze raz: podczas budowania aplikacji obsługujących podpisy cyfrowe należy zapewnić użytkownikom takie same funkcjonalność i przezroczystość, jakie mieliby w przypadku podpisu ręcznego. Oprócz świadomości podstawowych operacji sprawdzania certyfikatów podpisów (X.509) i podpisanej zawartości (skróty kryptograficzne), deweloper i jego projektant interfejsu użytkownika muszą czujnie wypatrywać dowolnych sytuacji, które mogłyby nie być intuicyjnie jasne dla użytkownika.

Podsumowując, do problemów mogłoby dość z przyczyn, takich jak:

  • Obecność i identyfikacja niepodpisanej zawartości.
  • Skojarzenia między sygnatariuszami wielu grup zawartości.
  • Obecność i identyfikacja niepodpisanych materiałów z odwołaniami zewnętrznymi.
  • Obecność i identyfikacja niepodpisanej zawartości dynamicznej.

Jeśli takie typy zawartości nie zostaną wyłączone z aplikacji na etapie projektowania, należy otwarcie i dokładnie prezentować je użytkownikowi. Wyraźne i dokładne ujawnianie informacji o podpisie cyfrowym jest podstawową potrzebą użytkowników oraz wymaganiem certyfikatu zabezpieczeń ISO/IEC 15408 Common Criteria.

Wraz z przechodzeniem na dokumenty elektroniczne osoby indywidualne i grupy świadome potrzeb związanych z zabezpieczeniami będą coraz bardziej polegać na niezależnych certyfikatach, takich jak ISO/IEC 15408 Common Criteria. Aby produkt mógł odnieść sukces na współczesnym rynku, należy poświęcić czas na napisanie aplikacji, która będzie zgodna ze standardami certyfikatów zabezpieczeń i użytkowników.

Aby uzyskać więcej informacji i łączy do różnych standardów, zobacz materiały online do tego artykułu. Można w nich również znaleźć omówienie sposobów identyfikowania zawartości z odwołaniami zewnętrznymi i dynamicznej w dokumentach pakietu Microsoft Office.