Open Source
Dokumentensignatur
Zertifikate
Unterzeichnen
23.06.2023
> Haftungsausschluss: Ich bin kein Anwalt und dies ist keine Rechtsberatung. Wir planen, einen viel spezifischeren Rahmen zum Thema der Gültigkeit von Unterschriften zu veröffentlichen.
Dies ist die erste Folge der neuen Reihe Building Documenso, in der ich die Herausforderungen und Designentscheidungen beschreibe, die wir bei der Erstellung der weltweit offensten Signaturplattform treffen.
Wie Sie vielleicht gehört haben, haben wir kürzlich die von der Community überprüfte Version 0.9 von Documenso auf GitHub veröffentlicht und sie ist jetzt über den Plan für Frühadopter verfügbar. Eine der grundlegendsten Entscheidungen, die wir für diese erste Veröffentlichung treffen mussten, war die Wahl des Zertifikats. Obwohl es interessant ist zu wissen, wofür wir uns entschieden haben, soll dies auch als Leitfaden für alle dienen, die vor derselben Wahl stehen, Documenso selbst zu hosten.
> Frage: Warum benötige ich ein Dokumenten-Signaturzertifikat, um selbst zu hosten?
> Kurze Antwort: Das Einfügen der Bilder einer Unterschrift in das Dokument ist nur ein Teil des Signaturprozesses.
Um ein tatsächlich digital signiertes Dokument zu haben, benötigen Sie ein Dokumenten-Signaturzertifikat, das verwendet wird, um die digitale Unterschrift zu erstellen, die in das Dokument eingefügt wird, neben der sichtbaren¹.
Wenn Sie einen Signaturdienst selbst hosten, wie wir es tun, gibt es vier Hauptwahlmöglichkeiten für den Umgang mit dem Zertifikat: Kein Zertifikat verwenden, Ihr eigenes erstellen, ein vertrauenswürdiges Zertifikat kaufen und ein vertrauenswürdiger Dienstanbieter werden, um Ihr eigenes vertrauenswürdiges Zertifikat auszustellen.
1. Kein Zertifikat
Viele Signaturdienste verwenden tatsächlich keine echten digitalen Signaturen außer dem eingefügten Bild. Sie fügen nur ein Bild der Unterschrift in das Dokument ein, das Sie unterschreiben. Dies kann so gemacht werden und ist in vielen Fällen rechtlich akzeptabel. Diese Option wird von Documenso nicht direkt unterstützt, ohne den Code zu ändern.
2. Erstellen Sie Ihr eigenes
Da die Kryptografie hinter den Zertifikaten als Open Source frei verfügbar ist, könnten Sie beispielsweise Ihr eigenes mit OpenSSL generieren. Da es kaum mehr Aufwand als Option 1 (zumindest bei Documenso) ist, wäre dies meine Empfehlung mit minimalem Aufwand. Ein selbst erstelltes („selbstsigniertes“) Zertifikat fügt in Bezug auf die Regulierung nicht viel hinzu, garantiert jedoch die Integrität des Dokuments, was bedeutet, dass nach der Unterschrift² keine Änderungen vorgenommen wurden. Was Ihnen das nicht gibt, ist das berühmte grüne Häkchen in Adobe Acrobat. Warum? Weil Sie nicht auf der Liste der Anbieter stehen, die Adobe „vertraut“.³
3. Kaufen Sie ein „vertrautes“ Zertifikat.
Es gibt Zertifizierungsstellen (CAs), die Ihnen ein Zertifikat⁴ verkaufen können. Der Service, den sie bieten, besteht darin, dass sie Ihren Namen (persönliche Zertifikate) oder den Namen Ihrer Organisation (Unternehmenszertifikat) validieren, bevor sie Ihr Zertifikat erstellen, genau wie Sie es in Option 2 getan haben. Der Unterschied besteht darin, dass sie auf den zuvor genannten Vertrauenslisten (z.B. von Adobe) aufgeführt sind, und somit erhalten die resultierenden Unterschriften ein schönes, grünes Häkchen in Adobe Reader⁵
4. Werden Sie selbst eine vertrauenswürdige Zertifizierungsstelle (CA) und erstellen Sie Ihr eigenes Zertifikat
Diese Option ist ein unglaublich komplexes Unterfangen, das viel Aufwand und Fähigkeiten erfordert. Sie kann durchgeführt werden, da es weltweit mehrere CAs gibt. Ist der Aufwand es wert? Das hängt stark davon ab, was Sie erreichen möchten.
Was wir getan haben
Nachdem wir die Optionen kurz vorgestellt haben, hier ist, was wir getan haben: Da wir darauf abzielen, das Niveau der Verbreitung und des Vertrauens digitaler Unterschriften zu erhöhen, haben wir uns entschieden, ein „Fortgeschrittenes persönliches Zertifikat für Unternehmen/Organisationen“ von WiseKey zu kaufen. Somit sehen Dokumente, die mit der gehosteten Version von Documenso unterzeichnet werden, wie folgt aus:
Es gab keine tieferen Gründe, warum wir uns für WiseKey entschieden haben, außer dass sie das angeboten haben, was wir benötigten, und es keinen Grund gab, viel weiter zu suchen. Auch wenn ich den gesamten Markt für Zertifikate (noch) nicht kartiert habe, bin ich mir ziemlich sicher, dass etwas Ähnliches anderswo zu finden sein könnte. Während wir uns für Option 3 entschieden haben, könnte die Wahl von Option 2 je nach Anwendungsfall durchaus vernünftig sein.⁶
> Während dies derzeit unser Setup ist, haben wir einen größeren Plan für dieses Thema. Während global vertrauenswürdige SSL-Zertifikate bereits seit einiger Zeit kostenlos von Let’s Encrypt verfügbar sind, gibt es nichts in der Art der Dokumentensignaturen. Und das sollte es geben. Das Fehlen einer kostenlosen und vertrauenswürdigen Infrastruktur für Signaturen blockiert eine völlig neue Generation von Signaturprodukten, die entwickelt werden können. Aus diesem Grund werden wir mit Option 4 beginnen, wenn die Zeit reif ist.
Haben Sie Fragen oder Gedanken dazu? Wie immer, lassen Sie es mich in den Kommentaren wissen, auf twitter.com/eltimuro oder direkt: documen.so/timur Treten Sie der Selbsthoster-Community hier bei: https://documen.so/discord
Beste Grüße aus Hamburg,
Timur
[1] Es gibt verschiedene Ansätze zur Unterzeichnung eines Dokuments. Um der Einfachheit willen sprechen wir hier von einem Dokument mit X eingefügten Unterschriftsbildern, das anschließend einmal durch den Signaturdienst, also Documenso, unterschrieben wird. Wenn jede visuelle Unterschrift ihre eigene digitale haben sollte (z.B. QES — eIDAS Level 3), ist der Fall etwas komplexer.
[2] Natürlich kann der Anbieter des Signaturdienstes das Dokument technisch ändern und erneut unterschreiben, insbesondere im Fall, der in [1] angesprochen wird. Dies kann durch die Anforderung tatsächlicher digitaler Unterschriften von jedem Unterzeichner, die an deren Identität/Konto gebunden sind, abgewehrt werden. Ein vollständig vertrauensloses System im Kontext zu schaffen, ist jedoch extrem schwierig und derzeit unserer Meinung nach nicht das dringendste geschäftliche Bedürfnis der Branche. Zwar wäre es schön.
[3] Adobe hat wie die EU eine Liste von Organisationen, denen sie vertrauen. Das grüne Häkchen von Adobe wird von der Adobe-Vertrauensliste unterstützt. Wenn Sie hier nach EU-Normen vertrauenswürdig sein möchten: https://ec.europa.eu/digital-building-blocks/DSS/webapp-demo/validation, müssen Sie auf der EU-Vertrauensliste stehen. Auf jeder Liste zu stehen ist möglich, obwohl letzteres viel Arbeit bedeutet.
[4] Technisch gesehen signieren sie Ihre Anfrage zur Erstellung des Zertifikats (von Ihnen erstellt), die Ihre Informationen mit ihrem Zertifikat (das vertrauenswürdig ist) verknüpft und Ihr Zertifikat damit vertrauenswürdig macht. Auf diese Weise wird alles, was Sie mit Ihrem Zertifikat unterschreiben, als vertrauenswürdig angesehen. Sie haben ihr Zertifikat so erstellt wie Sie, der Unterschied ist, dass sie auf den Listen stehen, die in [3] erwähnt werden.
[5] Warum darf Adobe entscheiden, was vertrauenswürdig ist? Sie haben zufällig den am häufigsten verwendeten PDF-Viewer. Und da jeder dort überprüft, wen sie als vertrauenswürdig betrachten, hat das Gewicht. Ob es so sein sollte, ist eine andere Frage.
[6] Selbstsignierte Unterschriften, auch rein visuelle Unterschriften, sind voll rechtlich bindend. Warum Sie etwas verwenden, ändert hauptsächlich Ihr Vertrauen in die Unterschrift und die Beweislast. Außerdem erfordern einige Branchen ein gewisses Niveau an Unterschriften, z.B. Einzelhandelsdarlehen (QES/eIDAS Level 3 in der EU).