Einsatzgebiete Digitaler Signaturen
Transcrição
Einsatzgebiete Digitaler Signaturen
Fachbereich Informatik Fachgebiet Theoretische Informatik Einsatzgebiete Digitaler Signaturen Diplomarbeit Pia Weber Prüfer: Professor Dr. Dr. h. c. Johannes Buchmann Betreuer: Dipl.-Math. Erik Dahmen Darmstadt, September 2008 Ehrenwörtliche Erklärung Hiermit versichere ich, die vorliegende Diplomarbeit ohne Hilfe Dritter und nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die aus den Quellen entnommen wurden, sind als solche kenntlich gemacht worden. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen. Darmstadt, September 2008 Pia Weber Abstract Die Digitalisierung und die Vernetzung schreitet immer weiter voran und ersetzt nach und nach viele schriftliche Dokumente, die bisher auf Papier festgehalten wurden. Dadurch kam das Problem auf, wie die handschriftliche Unterschrift auf ein digitales Dokument übertragen werden konnte, ohne dass sie ihre Gültigkeit verliert. Die eigene Unterschrift einzuscannen und als Bild in das Dokument einzufügen ist keine Lösung, da das Bild einfach kopiert und beliebig von jedem in ein neues Dokument eingefügt werden kann. Damit stehen der Manipulation alle Wege offen. Die Lösung dieses Problems sind digitale Signaturen. Digitale Signaturen ersetzen die handschriftliche Unterschrift in digitalen Dokumenten. Die digitale Signatur ist ein kryptographisches Verfahren. In diesem Verfahren wird von einer Nachricht, die aus beliebig vielen Daten besteht, eine Zahl, die digitale Signatur, berechnet. Die Urheberschaft und Zugehörigkeit der Signatur zu dieser Nachricht kann jeder überprüfen. Zur Erzeugung und Verifizierung der digitalen Signaturen werden Schlüssel verwendet, diese bestehen jeweils aus natürlichen Zahlen.1 Digitale Signaturen können mit symmetrischen oder asymmetrischen Signaturverfahren erzeugt werden. Der Unterschied zwischen diesen beiden Verfahren wird später in dieser Arbeit kurz erläutert. Des Weiteren wird ermittelt, auf welchen Einsatzgebieten heute digitale Signaturen eingesetzt werden und welche Prioritäten dem Speicherplatzbedarf und den Berechnungszeiten gegeben werden. Optimale Parameterwerte werden für das verbesserte Merkle-Signaturverfahren bestimmt, damit es mit anderen asymmetrischen Verfahren auf den unterschiedlichen Einsatzgebieten verglichen werden kann. Das verbesserte Merkle-Signaturverfahren ist ein konkurrenzfähiges und zukunftssicheres Verfahren. Es kann die bisher verwendeten Signaturverfahren ablösen, dies wird mit dieser Diplomarbeit gezeigt. 1 http://de.wikipedia.org/wiki/Digitale Signatur, 24.08.08, 16:00 Uhr Abkürzungsverzeichnis Abb. Abbildung BfN Bundesamt für Naturschutz BNetzA Bundesnetzagentur BVL Bundesamt für Verbraucherschutz und Lebensmittelsicherheit CMSS Coronado Merkle Signature Scheme / Coronado Merkle Signaturverfahren DEHSt Umweltbundesamt Deutsche Emissionshandelsstelle für Emissionshandel der Deutschen Emissionshandelsstelle DSA Digital Signature Algorithm / Digitaler Signaturalgorithmus ECDSA Elliptic Curve Digital Signature Algorithm / Elliptische Kurve - Digitaler Signaturalgorithmus eDTA elektronischer Dienst- und Truppenausweis eGK elektronische Gesundheitskarte EGVP elektronisches Gerichts- und Verwaltungspostfach EPA elektronische Patientenakte ePA elektronischer Personalausweis ePass elektronischer Reisepass eRezept elektronische Rezeptverwaltung ®-Ticket etix elektronisches Ticket GMSS Generalized Merkle Signature Scheme / verbessertes Merkle-Signaturverfahren HBA elektronischer Heilberufsausweis I-Voting Online-Wahlen IHK-Gfl Industrie- und Handelskammer Gesellschaft für Informationsverarbeitung ITeBau virtuelles Bauamt ITSG Informationstechnischen Servicestelle der Gesetzlichen Krankenversicherung GmbH MSS Merkle Signature Scheme / Merkle-Signaturverfahren OT One-Time / Einmal- OTS One-Time Signature / Einmalsignatur- OTSS One-Time Signature Scheme / Einmalsignaturverfahren PKIBw Persönliche Schlüsselkarte Bundeswehr PRNG Pseudo Random Number Generator / Pseudozufallszahlengenerator RF-Chip Radio Frequency Chip RSA Rivest, Shamir, Adleman / RSA ist ein Public-KeyVerschlüsslungs- und Signaturverfahren. SHA Secure Hash Algorithm / sicherer Hashalgorithmus SigG Signaturgesetz SSL Secure Socket Layer / ist ein Protokoll, das verschlüsselte Netzverbindungen zwischen Server und Browser ermöglicht. UStG Umsatzsteuergesetz VoIP-Signatur Voice over Internet-Protocol / Internet-Telefonie VPS Virtuelle Poststelle des Bundes W Winternitz W-OT Winternitz-One-Time / Winternitz-Einmalsignatur W-Parameter Winternitz-Parameter ZDA Zertifizierungsdienstanbieter Inhaltsverzeichnis 1 Einleitung 1.1 Ziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Gliederung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Digitale Signaturen 2.0.1 Einwegfunktion . . . . . . . . . . . . . 2.0.2 Hashfunktion . . . . . . . . . . . . . . 2.1 Symmetrische Signaturverfahren . . . . . . . . 2.2 Asymmetrisches Signaturverfahren . . . . . . 2.3 Sicherheitsziele von digitalen Signaturen . . . 2.4 Digitale Signaturverfahren . . . . . . . . . . . 2.4.1 RSA, DSA, ECDSA . . . . . . . . . . 2.4.2 MSS . . . . . . . . . . . . . . . . . . . 2.4.3 Pseudozufallszahlengenerator - PRNG . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Verbessertes Merkle-Signaturverfahren 3.1 Winternitz . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 W-OT Schlüsselpaarerzeugung . . . . . . . . 3.1.2 W-OT Signaturerzeugung . . . . . . . . . . 3.1.3 W-OT Signaturerzeugung mit einem PRNG 3.1.4 W-OT Signaturverifikation . . . . . . . . . . 3.2 GMSS . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 GMSS Schlüsselerzeugung . . . . . . . . . . 3.2.2 GMSS Signaturerzeugung . . . . . . . . . . 3.2.3 GMSS Signaturverifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 4 . . . . . . . . . 5 5 5 6 7 8 8 9 9 10 . . . . . . . . . 11 11 12 13 13 14 14 17 18 25 4 Parameter - n, wi , T, Hi , Ki 4.1 Abhängigkeiten - Parameter - Formeln . . . . . . . . . . 4.1.1 Abhängigkeiten zwischen den Parametern . . . . 4.1.2 Abhängigkeiten der Formeln von den Parametern 4.2 Parameterwahl . . . . . . . . . . . . . . . . . . . . . . . 4.3 Zusammenfassung der Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 29 30 31 38 45 5 Einsatzgebiete von digitalen Signaturen 5.1 Arten von digitalen Signaturen . . . . . . 5.2 Einsatzgebiete . . . . . . . . . . . . . . . . 5.2.1 Behörden . . . . . . . . . . . . . . 5.2.2 Verwaltung und Rechtswissenschaft 5.2.3 Unternehmen . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 48 51 51 55 57 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.2.10 Gesundheitswesen . . . . . . . . Elektronische Ausweise . . . . . Geschäftsverkehr . . . . . . . . Software . . . . . . . . . . . . . Digitale Dokumente . . . . . . . Digital signierte Tonaufnahmen Sonstige Einsatzmöglichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Szenarien 6.1 Schlüssellängen - SmartCard . . . . . . . . . . . . 6.2 Szenarien - Beispiele . . . . . . . . . . . . . . . . 6.2.1 Behörden - Elster . . . . . . . . . . . . . . 6.2.2 Unternehmen - Rechnung . . . . . . . . . 6.2.3 Elektronische Ausweise - ePass . . . . . . 6.2.4 Geschäftsverkehr - Online-Einkaufen . . . 6.2.5 Software - Mobile Code Signing . . . . . . 6.2.6 Digitale Dokumente - PDF . . . . . . . . . 6.2.7 Sonstige Einsatzmöglichkeiten - Bahnticket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 60 62 63 65 66 66 . . . . . . . . . 69 69 75 75 78 83 85 89 93 97 7 Zusammenfassung - Fazit 100 7.1 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 2 1 Einleitung In der heutigen Zeit werden immer mehr Computer eingesetzt und damit werden auch immer mehr Bereiche elektronisch verwaltet und genutzt. Dadurch werden Dokumente oft nicht mehr ausgedruckt, sondern sie existieren nur noch digital. Wurde vorher zum Beispiel ein Brief ausgedruckt, unterschrieben und mit der Post verschickt, wird jetzt dieser Brief elektronisch unterschrieben“. Er wird signiert, das heißt, er bekommt eine digitale ” Signatur und wird per E-Mail an den Empfänger gesendet. Dies erspart besonders Unternehmen viel Zeit und Geld. Das Problem bei diesem Vorgehen liegt darin, dass geeignete Verfahren benötigt werden, die vor Manipulationen schützen. Die eigene Unterschrift einzuscannen und als Bild in das Dokument einzufügen ist keine Lösung, da das Bild einfach kopiert und beliebig von jedem in ein neues Dokument eingesetzt werden kann. Damit stehen den Manipulationen alle Wege offen. Die Lösung dieses Problems sind digitale Signaturen. Sie ersetzen die handschriftlichen Unterschriften in digitalen Dokumenten und schützen vor Manipulationen. Für die Erstellung von digitalen Signaturen werden Verfahren benötigt, die dies schnell und effizient ermöglichen. Die bisher verwendeten Signaturverfahren sind zum Beispiel RSA, DSA und ECDSA. In dieser Diplomarbeit wird das verbesserte Merkle-Signaturverfahren vorgestellt. Es wird auch GMSS genannt (engl. Generalized Merkle Signature Scheme) und es ist ein asymmetrisches Verfahren. Auf die symmetrischen Verfahren wird hier nicht weiter eingegangen. Digitale Signaturen werden in vielen Bereichen unseres heutigen Lebens eingesetzt, zum Signieren von E-Mails, Verträgen oder Rechnungen. In dieser Arbeit werden die verschiedenen Bereiche ermittelt. Jeder Bereich legt unterschiedliche Prioritäten für den Speicherplatz und die Berechnungszeiten fest. Zum Beispiel, wie viel Zeit die Signaturverifikation haben darf oder wie viel Speicherplatz für den öffentlichen Schlüssel zur Verfügung steht. Für jedes Anwendungsgebiet werden die Parameter des GMSS entsprechend angepasst, so dass GMSS mit den anderen Signaturverfahren für das jeweilige Gebiet verglichen werden kann. Der große Vorteil von GMSS liegt darin, dass es gegen Angriffe von Quantencomputer resistent ist, da es auf einem anderen mathematischen Problem beruht als die anderen Signaturverfahren, wie RSA, DSA oder ECDSA. Die Quantencomputer sind Computer, die die Gesetze der Quantenmechanik benutzen.2 Sie können innerhalb kurzer Zeit eine extrem hohe Anzahl von Be2 http://de.wikipedia.org/wiki/Quantencomputer, 01.08.2008, 11:45 Uhr 3 rechnungen simultan durchführen und sie sind wesentlich schneller als heutige Computer.3 1.1 Ziele In dieser Diplomarbeit werden drei Ziele verfolgt: 1. Das Bestimmen der optimalen Parameterwahl für das verbesserte Merkle-Signaturverfahren (GMSS). 2. Die Ermittlung der Einsatzgebiete, in denen heute digitale Signaturen verwendet werden. 3. Der Vergleich von GMSS mit anderen Signaturverfahren in den Einsatzgebieten. Das Ergebnis soll zeigen, ob GMSS die bisher verwendeten Signaturverfahren in den Einsatzgebieten ersetzen kann. 1.2 Gliederung Um die Ziele zu erreichen, wird in dieser Diplomarbeit die digitale Signatur, ihre Verfahren und Arten im 2. Kapitel vorgestellt. Das verbesserte Merkle-Signaturverfahren wird im 3. Kapitel detailliert beschrieben. Es wird als GMSS (engl. Generalized Merkle Signature Scheme) bezeichnet. Für das Verfahren werden die optimalen Parameter im 4. Kapitel ermittelt. Mit ihnen arbeitet das GMSS schneller und effizienter. Für die entsprechende Parameterwahl müssen alle Einflüsse und Auswirkungen im GMSS berücksichtigt werden. Danach werden im 5. Kapitel die Einsatzgebiete von digitalen Signaturen ermittelt und gezeigt. Im 6. Kapitel wird bestimmt, welche Prioritäten dem Speicherplatz und den Berechnungszeiten zu geordnet werden. Zum Beispiel, wie viel Zeit die Signaturverifikation verbraucht oder wie viel Speicherplatz für den privaten Schlüssel zur Verfügung steht. Mit diesen Erkenntnissen werden die ermittelten Parameter des GMSS mit den bisher verwendeten digitalen Signaturverfahren in den verschiedenen Einsatzgebieten verglichen. Im 7. Kapitel werden die Ergebnisse der Diplomarbeit dargelegt und bewertet. Es wird ebenfalls ein Ausblick in die Zukunft der digitalen Signatur gegeben. 3 http://www.br-online.de/br-alpha/alpha-campus/quantencomputerDID1211892405673/index.xml, 01.08.2008, 11:44 Uhr 4 2 Digitale Signaturen Für die Erzeugung einer digitalen Signatur werden digitale Schlüssel verwendet, die je nach dem welches digitale Signaturverfahren verwendet wird, werden sie anders berechnet. Außerdem werden Hashfunktionen für die Berechnungen eingesetzt. Eine Hashfunktion muss bestimmte Eigenschaften aufweisen, damit sie verwendet werden kann. Sie muss unter anderem die Eigenschaften einer Einwegfunktion haben. 2.0.1 Einwegfunktion Die Funktion F : {0, 1}n → {0, 1}n heißt Einwegfunktion (engl. one way function) mit n ∈ N, wenn 1. für alle Eingabewerte x ∈ {0, 1}n der Funktionswert F (x) effizient berechenbar ist und 2. wenn es kein effizientes Verfahren gibt, um aus einem Bild F (x) = y das Urbild x zu berechnen, mit y ∈ {0, 1}n .[5] 2.0.2 Hashfunktion Außerdem hat eine Hashfunktion (engl. hash function) noch die folgenden Eigenschaften zu erfüllen. Die Hashfunktion Z : {0, 1}∗ → {0, 1}n erfüllt die folgenden Eigenschaften: 1. Z besitzt die Eigenschaften einer Einwegfunktion. 2. Der Hashwert Z(x) = y, mit y ∈ {0, 1}n , ist bei gegebener Eingabe x leicht zu berechnen, mit x ∈ {0, 1}∗ .[5] 3. Die Hashfunktion muss kollisionsresistent sein, das bedeutet für zwei unterschiedliche Werte x 6= x0 gilt immer Z(k) 6= Z(x0 ).4 Die zu signierenden Daten werden mit der Hashfunktion gehasht. Aus diesem Hashwert wird die Signatur mittels der Schlüssel erstellt. Der Verifizier prüft mit dem Schlüssel, ob die Signatur zu den Daten passt. Ist dies der Fall, dann ist die Signatur gültig. Es gibt zwei Arten von digitalen Signaturverfahren. Digitale Signaturen können mit symmetrischen oder asymmetrischen Signaturverfahren erzeugt werden.5 4 http://de.wikipedia.org/wiki/Hash-Funktion#Definition/ einer Hash-Funktion, 30.07.2008, 16:40 Uhr 5 http://www.bsi.de/literat/tr/tr02102/BSI-TR-02102.pdf, 24.08.08, 9:50 Uhr 5 2.1 Symmetrische Signaturverfahren Für das symmetrische Verfahren wird nur ein geheimer Schlüssel benötigt. Dieses Verfahren wird im Beispiel (Abbildung 1) erläutert. In diesem Beispiel möchte Alice Bob eine signierte Nachricht m schicken. Um ein Dokument m zu signieren, wird zu erst der Hashwert von m (Hash(m)) gebildet mittels einer Hashfunktion. Die Definition von Hashfunktionen ist im vorherigen Abschnitt zu finden. Danach wird dieser Hashwert mit dem geheimen Schlüssel signiert, in der Abbildung 1 ist das Alice´s Aufgabe. Die Signatur wird zusammen mit dem Dokument m an Bob gesendet. Damit Bob prüfen kann, ob die Signatur gültig ist, muss er den geheimen Schlüssel kennen. Deshalb haben Alice und Bob vorher auf einem sicheren Weg den geheimen Schlüssel vereinbart. Bob wendet den Schlüssel auf die Signatur an und bekommt den Hashwert, den Alice ermittelt hat. Danach bildet Bob erneut vom Dokument m den Hashwert und vergleicht diese beiden Werte. Stimmen sie überein, so ist die Signatur gültig. Eine Manipulation des Hashwertes oder der Nachricht m fällt Bob auf. In einem solchen Fall ist die Signatur ungültig.6 Möchte Alice mit noch mehr Personen in Kontakt treten, muss sie mit je- Abbildung 1: Symmetrisches Signaturverfahren - Alice schickt Bob eine signierte Nachricht dem einen anderen neuen geheimen Schlüssel vereinbaren. Dadurch ergibt sich das Schlüsselaustauschproblem, denn der geheime Schlüssel muss auf einem sicheren Weg zu jedem Kommunikationspartner gelangen. Wird mit 100 6 http://de.wikipedia.org/wiki/Signaturverfahren, 24.08.08, 10:00 Uhr 6 oder mehr Personen der Kontakt gewünscht, dann muss mit jedem ein neuer Schlüssel vereinbart werden. Damit wird schnell das Ausmaß des Problems sichtbar. 2.2 Asymmetrisches Signaturverfahren Das asymmetrische Verfahren löst das Schlüsselaustauschproblem. Es gibt ein Schlüsselpaar, einen privaten und einen öffentlichen Schlüssel. Der private Schlüssel dient zum Signieren und darf nur dem Eigentümer des Schlüssels bekannt sein. Im folgenden Beispiel (Abbildung 2) ist das hier Alice. Der öffentliche Schlüssel ist jedem bekannt. Mit ihm kann die Signatur auf ihre Gültigkeit geprüft werden.[2] Als Beispiel, Alice möchte Bob erneut eine signierte Nachricht m schicken. In diesem Fall besitzt Alice das Schlüsselpaar. Alice´s öffentlicher Schlüssel ist jedem bekannt. Alice rechnet zuerst den Hashwert von m (Hash(m)) aus. Danach signiert sie ihn mit ihrem privaten Schlüssel und schickt die Nachricht und die Signatur an Bob. Bob überprüft mit dem öffentlichen Schlüssel von Alice die Gültigkeit der Signatur. Dazu wendet Bob den öffentlichen Schlüssel auf die Signatur von Alice an und bekommt den Hashwert. Danach ermittelt Bob aus der Nachricht erneut den Hashwert und vergleicht diese beiden Werte. Stimmen sie überein, dann ist die Signatur gültig. Eine Manipulation der Nachricht fällt wie bei den symmetrischen Verfahren auf. Bob kann ebenfalls Alice eine Nachricht schicken, dazu benötigt er nur sein Abbildung 2: Asymmetrisches Signaturverfahren - Alice schickt Bob eine signierte Nachricht eigenes Schlüsselpaar. Da Alice Bob´s öffentlicher Schlüssel bekannt ist, kann 7 sie die Signatur verifizieren. Zu den asymmetrischen Signaturverfahren zählt das RSA-Verfahren das DSA-, das ECDSA-, das MSS- und das GMSS-Verfahren. Diese Verfahren werden im Abschnitt 2.4 Digitale Signaturverfahren“ näher erläutert. GMSS ” wird im 3. Kapitel Verbessertes Merkle-Signaturverfahren“ ausführlich be” schrieben. 2.3 Sicherheitsziele von digitalen Signaturen Mit den beiden Verfahren aus Abschnitt 2.1 und 2.2 werden Signaturen erzeugt. Aber wie schon in den Beispielen 1 auf Seite 6 und 2 auf Seite 7, mit Alice und Bob, angedeutet, gibt es Risiken wie die Manipulation von digitalen Dokumenten. Es werden unter anderem E-Mails, Behördenanträge und Nachrichten mehr oder weniger sicher versandt. Somit werden heute digitale Signaturen fast überall eingesetzt. Ihre Sicherheitsziele sind die Authentifizierung, die Integrität und die Verbindlichkeit der Daten. Durch die Authentifizierung kann eindeutig bestimmt werden zu welcher Person die digitale Signatur gehört und dass keine Person im Namen einer anderen diese Signatur erstellen kann. Beispiel: Alice kann nicht mit Bob´s Namen Dokumente signieren, ohne dass der Betrug auffällt. Mit der Integrität der Daten wird sichergestellt, dass das Dokument mit der Signatur nicht geändert wurde, sei es durch absichtliche oder unabsichtliche Manipulation. Eine unabsichtliche Manipulation kann durch eine fehlerhafte Übertragung auftreten. Bei einer absichtlichen Manipulation wird das Dokument vorsätzlich von einem Unbefugten verändert. Wird ein signiertes Dokument geändert, passt die Signatur nicht mehr dazu und die Veränderung der Daten wird bemerkt. Die Verbindlichkeit ist die Nichtabstreitbarkeit einer dritten Person gegenüber. Angenommen Bob will sich vom digitalen signierten Vertrag lösen oder sich nicht an die Vereinbarungen halten, so kann Bob´s Signatur im Vertrag eindeutig vor einer dritten Person, zum Beispiel einem Richter, Bob zu geordnet werden. Somit kann Bob seine digitale Unterschrift - seine Signatur- nicht abstreiten. 2.4 Digitale Signaturverfahren In dieser Diplomarbeit wird nicht näher auf symmetrische Verfahren eingegangen. Für die Signaturerstellung werden asymmetrische Verfahren eingesetzt. Sie werden in dem folgenden Abschnitt kurz näher beschrieben. Es gibt natürlich noch mehr Signaturverfahren, aber alle aufzuführen ist im Rahmen dieser Arbeit nicht möglich. Deshalb wird die Betrachtung auf die genannten 8 und meist verwendeten Verfahren eingeschränkt. 2.4.1 RSA, DSA, ECDSA Die Erfinder von RSA (engl. Rivest, Shamir, Adleman) sind Ronald L. Rivest, Adi Shamir und Leonard Adleman7 . Der RSA basiert auf dem Faktorisierungsproblem. Die Berechnung der Schlüssel, des privaten und des öffentlichen, beruht darauf, dass zwei große Primzahlen zufällig gewählt werden und miteinander multipliziert werden. Ihr Produkt kann nicht so einfach und schnell wieder in genau diese beiden Primzahlen zerlegt werden. Dies wird als Faktorisierungsproblem bezeichnet.8 Gelingt es einem Angreifer dies zu lösen und damit die gesuchten Primzahlen zu errechnen, ist das RSA-Verfahren damit unbrauchbar. Weil der Angreifer sich nun die beiden Schlüssel selbst erzeugen und alles manipulieren kann. Der DSA (engl. Digital Signature Algorithm) wurde von dem National Institute of Standards and Technology (NIST) erfunden. Der DSA basiert auf dem diskreten Logarithmus in endlichen Körpern.9 Der ECDSA (engl. Elliptic Curve Digital Signature Algorithm) ist eine Übertragung des DSA auf die elliptischen Kurven10 . Mehr Informationen zu RSA, DSA und elliptischen Kurven kann in [2] nachgelesen werden. 2.4.2 MSS Das Merkle-Signaturverfahren (engl. Merkle Signature Scheme, MSS) wurde von Ralph Merkle entwickelt und 1989 veröffentlicht [8]. Es ist ein asymmetrisches Signaturverfahren und beruht auf einem anderen mathematischen Problem als die meist verwendeten Verfahren. MSS benötigt eine sichere kryptographische Hashfunktion und einen sicheren Pseudozufallszahlengenerator.11 7 http://de.wikipedia.org/wiki/RSA-Kryptosystem, 30.07.2008, 16:13 Uhr http://de.wikipedia.org/wiki/Faktorisierungsproblem f%C3%BCr ganze Zahlen, 30.07.2008, 16:14 Uhr 9 http://de.wikipedia.org/wiki/Digital Signature Algorithm, 30.07.2008, 16:18 Uhr 10 http://de.wikipedia.org/wiki/ECDSA, 30.07.2008, 16:20 Uhr 11 www.kes.info/archiv/online/06-5-074.htm, 30.07.2008, 16:55 Uhr 8 9 2.4.3 Pseudozufallszahlengenerator - PRNG Pseudozufallszahlengeneratoren (PRNG) sind deterministische Algorithmen, die zufällige “ Zahlen ausgeben. Der Pseudozufallszahlengenerator liefert ” keine echten Zufallszahlen, aber je besser bzw. zufälliger er die Zahlen erzeugt, desto schlechter können diese Pseudozufallszahlen von echten Zufallszahlen unterschieden werden. Die Zufälligkeit wird durch die statistische Eigenschaften der Zahlenfolge bestimmt, wie gut diese sind, bestimmt die Güte eines Pseudozufallszahlengenerators. Das erhöht die Sicherheit des Verfahrens, für das der Pseudozufallszahlengenerator eingesetzt wird.12 Erfüllt die Hashfunktion und der PRNG diese Eigenschaften, dann erstellt das Merkle-Signaturverfahren Einmalsignaturen (engl. One-Time Signature, OTS) mithilfe eines MSS Schlüsselpaars. Hierzu wird für jede OTS ein Signierschlüssel und ein Verifikationsschlüssel gebraucht. Die Gültigkeit des Verifikationsschlüssels wird mithilfe eines Hash-Baumes auf die Gültigkeit eines einzelnen öffentlichen Schlüssels zurückgeführt.13 Diese Einmalsignaturen werden, wie der Name bereits sagt, nur einmal benutzt, das heißt jedes Dokument bekommt eine neue OTS mit einem neuen Signierschlüssel und einem neuen Verifikationsschlüssel. Eine detaillierte Beschreibung des MSS kann in [8] oder in 14 nachgelesen werden. Das MSS selbst ist ein statisches Verfahren. Ohne Weiterentwicklung ist es heute in dieser Form nicht brauchbar. Vom MSS stammt das verbesserte Merkle-Signaturverfahren ab. Es wird auch als GMSS (engl. Generalized Merkle Signature Scheme) bezeichnet. Das verbesserte Merkle-Signaturverfahren ist im Gegensatz zu den anderen Verfahren gegen Angriffe von Quantencomputern resistent ist. Dies sind Computer, die die Gesetze der Quantenmechanik benutzen.15 Sie können innerhalb kurzer Zeit eine extrem hohe Anzahl von Berechnungen gleichzeitig durchführen und sie sind wesentlich schneller als heutige Computer, ... ihre Rechenleistung verhält sich zu der von heuti” gen Computern wie eine Mondrakete zu einem Ochsenkarren. ...“.16 Im Gegensatz zu GMSS sind die anderen Signaturverfahren gegen Quantencomputer nicht resistent. GMSS kann die bisher verwendeten Signaturverfahren ersetzen. Dies wird in den folgenden Kapiteln erläutert. 12 http://www.uni-protokolle.de/Lexikon/Pseudozufallszahl.html, 01.08.2008, 13:35 Uhr http://www.kes.info/archiv/online/06-5-074.htm, 30.07.2008, 16:55 Uhr 14 http://www.kes.info/archiv/online/06-5-074.htm, 30.07.2008, 16:55 Uhr 15 http://de.wikipedia.org/wiki/Quantencomputer, 01.08.2008, 11:45 Uhr 16 http://www.br-online.de/br-alpha/alpha-campus/quantencomputerDID1211892405673/index.xml, 01.08.2008, 11:44 Uhr 13 10 3 Verbessertes Merkle-Signaturverfahren Das verbesserte Merkle-Signaturverfahren ist ein verallgemeinertes MSS (engl. Generalized Merkle Signature Scheme, GMSS), es stammt vom MSS (engl. Merkle Signature Scheme) [8] ab und ist eine Erweiterung von CMSS (engl. Coronado Merkle Signature Scheme) [7]. CMSS ist ein konkurrenzfähiges Signaturverfahren, doch seine Anwendung ist auf die Signaturkapazität von 240 Dokumente beschränkt. Im Gegensatz dazu kann GMSS eine Anzahl von 280 Dokumenten signieren. Außerdem reduziert GMSS im Vergleich zu CMSS die Signaturgröße und die Signaturerzeugungszeit. Dies wird durch das Verteilen der Kosten für die Signaturerzeugung auf die verschiedenen vorhergehenden Signaturen und Schlüsselerzeugungen erreicht. Hierzu wird das Winternitz Verfahren benutzt. Dadurch ist es möglich den Winternitzparameter w so zu wählen, dass kleinere Signaturen geliefert werden. Die Beschreibung des Winternitz-Verfahrens wird im folgenden Abschnitt 3.1 Winternitz“ aufgeführt. ” GMSS ist eine hoch flexible Variante von CMSS. Das GMSS kann auf die Bedürfnisse und Zwänge einer besonderen Umgebung angepasst werden, ohne dass GMSS seine Effizienz oder seine Konkurrenzfähigkeit gegenüber anderen Signaturverfahren verliert. Der Unterschied zwischen GMSS und anderen Signaturverfahren liegt in den verschiedenen mathematischen Problemen, auf denen die Verfahren beruhen. GMSS basiert auf der Existenz von kryptographischen Hashfunktionen, diese können einfach berechnet werden, aber ihre Invertierung ist praktisch unmöglich. In diesem Kapitel wird das Winternitz-Verfahren, das ein Teil des GMSS ist, erläutert und danach wird das GMSS vorgestellt. 3.1 Winternitz Das Winternitz Einmalsignaturverfahren (engl. One-Time Signature Scheme, OTSS) wurde von Robert Winternitz vorgeschlagen und in [3] veröffentlicht. Es ist eine Erweiterung des Lamport-Diffie Verfahrens aus [11] und wird im GMSS und in anderen Verfahren [6, 7, 8] verwendet. Die Sicherheit des Winternitz-OTSS (W-OTSS) basiert auf der Existenz von kryptographischen Hashfunktionen. Der Vorteil des Winternitz-Verfahren ist, dass es durch den Winternitzparameter w kleinere Signaturen erstellen kann. In den folgenden Abschnitten wird der Aufbau des Winternitz-Verfahren beschrieben. Darunter fällt die Schlüssel- und Signaturerzeugung und die Veri11 fikation der Signatur. 3.1.1 W-OT Schlüsselpaarerzeugung Das W-OT Schlüsselpaar besteht aus dem Signaturschlüssel und dem Verifikationsschlüssel. Diese werden für jedes W-OT Schlüsselpaar neu erstellt. Der Signaturschlüssel wird für die Signaturerzeugung im nächsten Abschnitt W-OT Signaturerzeugung“ gebraucht. Der Verifikationsschlüssel wird bei ” der Signaturverifikation im darauf folgenden Abschnitt 3.1.4 W-OT Signa” turverifikation“ eingesetzt, um die Gültigkeit der Signatur zu überprüfen. Für die W-OT Schlüsselpaarerzeugung werden t zufällige Werte (xt−1 , . . . , x1 , x0 ), xi ∈ {0, 1}n und 0 ≤ i ≤ t − 1 gewählt. Der Wert t ist die Summe aus t1 , t2 und wird zur Abschätzung der Kosten für die Schlüsselerzeugung und die Größe des Signaturschlüssels verwendet. t = t1 + t2 t1 = lnm w , t2 = l blog t c + 1 + w m 2 1 w (1) (2) Der Winternitzparameter w gibt die Anzahl der Bits an, die simultan erzeugt werden. Im Winternitzverfahren ist die Bedingung w ≥ 2 festgelegt worden. Wächst w, dann werden mehr Bits von Z(m), simultan produziert und die Signaturgröße verringert sich. Z(m) ist der Hashwert des Dokumentes m, der mit der kryptographischen Funktion Z : {0, 1}∗ → {0, 1}n berechnet wird. Der Signaturschlüssel ist X = (xt−1 , . . . , x1 , x0 ). Die Bitstrings xi werden zufällig gewählt. Sie sind die Geheimnisse. Der Verifikationsschlüssel Y wird mit Z : {0, 1}∗ → {0, 1}n berechnet. Er wird für jeden Bitstring im Signaturschlüssel 2w − 1 mal berechnet. w Y = Z(yt−1 k . . . ky1 ky0 ) mit yi = Z 2 −1 (xi ), yi ∈ {0, 1}n und 0 ≤ i ≤ t − 1. k bedeutet Konkatenation von zwei Strings. Die Schlüsselerzeugung erfordert ((2w − 1) · t) Anwendungen von Z. Die Größe des Signaturschlüssels und des Verifikationsschlüssels beträgt (t · n) Bits.[4] 12 3.1.2 W-OT Signaturerzeugung Für eine Nachricht m mit der Länge n werden folgende Berechnungen durchgeführt, um die Signatur für die Nachricht m zu erstellen. Zuerst wird an die binäre Repräsentation des Hashwertes Z(m) = d die minimale Anzahl von Nullen angehängt, damit d durch w teilbar wird. Dieser erweiterte String d wird dann in t1 Blöcke bt−1 , . . . , bt−t1 mit der Länge w aufgeteilt, d = bt−1 k . . . kbt−t1 . Als nächstes werden die bi als Integerzahlen interpretiert {0, 1, . . . , 2w − 1} und es wird die Prüfsumme C gebildet C= t−1 X (2w − bi ), mit (t − t1 ) ≤ i ≤ (t − 1). (3) i=t−t1 Die minimale Anzahl von Nullen wird an die binäre Repräsentation von C gehängt, so dass die Länge des erweiterten Strings C durch w teilbar wird. Dieser erweiterte String C wird dann in t2 Blöcke bt2 −1 , . . . , b0 mit der Länge w aufgeteilt, C = bt2 −1 k . . . kb0 . Zum Schluss wird die Signatur von d berechnet SIG = (δt−1 , . . . , δ1 , δ0 ), mit δi = Z bi (xi ) und 0 ≤ i ≤ t − 1. Im schlimmsten Fall benötigt die Signaturerzeugung (t · 2w−1 ) Anwendungen von Z. Die W-OT Signaturgröße hat (t · n) Bits.[4] 3.1.3 W-OT Signaturerzeugung mit einem PRNG Die W-OT Signatur kann mittels eines Pseudozufallszahlengenerators (P RN G) erstellt werden. Mit dem PRNG werden die zu wählenden Geheimnisse xi aus Abschnitt 3.1.1 W-OT Schlüsselpaarerzeugung“ zufällig bestimmt. Damit ” wird die Sicherheit des Winternitz-Verfahrens erhöht. Im GMSS wird in der W-OT Signaturerzeugung ein Pseudozufallszahlengenerator f : {0, 1}n → {0, 1}n × {0, 1}n , SEEDin 7→ (SEEDout , RAN D) für die Erstellung der zufälligen xi verwendet, mit 1 ≤ i ≤ t. Das erste Seed SEEDin wird zufällig aus {0, 1}n gewählt. Damit werden alle weiteren Seeds berechnet, ebenso die xi . Berechnungen des P RN Gs: f (SEEDin ) = (SEEDout , SEED0 ) f (SEEDi−1 ) = (SEEDi , xi ) Die weiteren Berechnungen in dem W-OTSS werden wie gehabt berechnet. Die Kostenauswertungen für einen Hash (hier ist die Eingabegröße klein und fest) wird cHASH genannt. Die Kosten für den P RN G-Aufruf werden als 13 cP RN G bezeichnet. Dies wird in [1] beschrieben. Die Erzeugung der W-OT w Signatur kostet im Durchschnitt ( (2 −1)·t ) cHASH . Für die Kosten der W-OT 2 Signaturschlüsselerzeugung werden (t + 1) cP RN G benötigt. Damit später ein Vergleich zwischen den Signaturverfahren möglich ist, wurde in [6] für eine Hashfunktionsauswertung cHASH ein Zeitverbrauch von 0,002 ms festgestellt. Das heißt eine Hashfunktionsauswertung braucht 0,002 ms. Ebenso braucht ein P RN G-Aufruf 0,002 ms. Die Berechnungsoperationen für GMSS werden auf einem Pentium Dualcore 1,8 GHz durchgeführt.[6] 3.1.4 W-OT Signaturverifikation Für die Verifikation der Signatur SIG = (δt−1 , . . . , δ1 , δ0 ) werden die Bitstrings bt−1 , . . . , b0 wie in der W-OT Signaturerzeugung berechnet. Danach w werden die yi = Z 2 −1−bi (δi ) bestimmt, mit 0 ≤ i ≤ t − 1. Die Signatur ist gültig und wird akzeptiert, wenn Z(yt−1 k . . . ky1 ky0 ) mit dem Verifikationsschlüssel Y übereinstimmt. w w Es gilt Z 2 −1−bi (δi ) = Z 2 −1 (xi ) = yi für 0 ≤ i ≤ t − 1.[4] 3.2 GMSS Das verbesserte Merkle-Signaturverfahren besteht aus einem Baum mit T Ebenen. Die Knoten dieses Baumes sind Merkle-Bäume. Eine kurze Beschreibung der Merkle-Bäume kann in [6] nachgelesen werden. Die Höhe aller Merkle-Bäume in einer Ebene i ist durch Hi gekennzeichnet. In den verschiedenen Ebenen können die Bäume unterschiedliche Höhen haben, siehe Abbildung 3. Jeder Merkle-Baum in einer Ebene i = 1, . . . , T − 1 hat 2Hi Kinder. Die Kin- Abbildung 3: Hier ist ein Baum mit 4 Ebenen aus dem GMSS dargestellt der wiederum sind Merkle-Bäume. Die Bäume auf der Ebene T haben keine 14 Kinder. Diese Bäume können 2HT Nachrichten signieren. T REEu,v kennzeichnet den v-ten Merkle-Baum in der Ebene u. Die Nummerierung der v-Werte beginnt mit Null und die der u-Werte beginnt mit Eins. Zum Beispiel T REE2,3 ist der vierte Baum auf der zweiten Ebene. Die 2H1 +...+Hi−1 Merkle-Bäume in den Ebenen i = 2, . . . , T werden von links nach rechts ihrer Position entsprechend durchnummeriert T REEi,j , j = 0, . . . , 2H1 +...+Hi−1 −1. Auf der Ebene 1 gibt es nur einen Merkle-Baum T REE1,0 , die Wurzel. Die Wurzel von einem Kind im Merkle-Baum wird mit dem OTS-Schlüssel signiert, der mit einem Blatt seines Elternbaumes übereinstimmt. Wird in diesem Zusammenhang von Blättern gesprochen, dann sind damit die entsprechenden Einmalsignaturen gemeint. Die Wurzel des Baumes T REEi,j wird ROOTi,j genannt. SIGi,j bezeichnet die Einmalsignatur von ROOTi,j , die mithilfe des Blattes li−1 vom Baum T REEi−1,j erzeugt wurde. Der Baum T REEi−1,j ist der Elternteil von T REEi,j . Auf der tiefsten Ebene T des Merkle-Baumes befinden sich die ausgewählten Nachrichten d, die durch die Blätter signiert sind. Diese Blätter werden SIGd genannt. Durch die Ebenenhierarchie wird ein GMSS Schlüsselpaar S = 2H1 + · · · + HT benutzt. Für die Anzahl der ausgewählten Nachrichten, die signiert werden können, wird nun dieses eine GMSS Schlüsselpaar verwendet. Abbildung 4 zeigt einen Aufbau von GMSS aus [4]. Für jede gegebene Abbildung 4: Verallgemeinerter Aufbau von GMSS, Bildvorlage von [6] 15 Signatur s ∈ {0, . . . , 2H1 + ... + HT − 1} gibt es genau einen einzigen Pfad p im Merkle-Baum, der zur obersten Ebene 1 (T REE1,0 ) führt. Dieser Pfad bezieht einen Merkle-Baum auf jeder Ebene i = 1, . . . , T ein. Eine GMSS Signatur von einer ausgewählten Nachricht d enthält die Einmalsignatur SIGd von d und die Einmalsignaturen SIGi,j von den Wurzeln aller Merkle-Bäume auf dem Pfad p, bis auf T REE1,0 . Für alle Bäume T REEi,j auf dem Pfad p, enthält eine GMSS Signatur auch den Authentifizierungspfad AU T HT,j,l des Blattes l vom j-ten Baum auf der Ebene T . Das Blatt l wird zum Signieren für das Kind von T REEi,j oder für das gewählte d benutzt. Ein Authentifizierungspfad ist definiert als die Folge der Geschwisterknoten auf dem Pfad vom Blatt l bis zu der Wurzel ROOT1,0 . In Abbildung 5 wird ein kleines Beispiel für einen Authentifikationspfad eines Blattes gezeigt. GMSS benutzt das Winternitz OTSS für signierte Nachrich- Abbildung 5: Authentifikationspfad des Blattes i : (j, c, b) ten d und ROOTi,j . wi bezeichnet die Winternitzparameter, die in der Ebene i = 1, . . . , T benutzt werden. Somit besteht der Winternitzparameter w aus den wi ´s, w = (w1 , w2 , . . . , wT ). Unterschiedliche Ebenen können verschiedene Winternitzparameter benutzen. Deshalb wird der Parameter t aus dem W-OTSS hier als twi bezeichnet. Das GMSS ist durch eine GMSS Parametermenge P = (T, (H1 , . . . , HT ), (w1 , . . . , wT ), (K1 , · · · , KT )) (4) spezifiert. T gibt die Anzahl der Ebenen an. Hi kennzeichnet die Höhe der Bäume auf den Ebenen i = 1, . . . , T . Ki bezeichnet den Parameter für die Authentifikationspfadberechnung, der in den Ebenen i = 1, . . . , T verwendet wird. Während der Schlüsselerzeugung werden mithilfe der ersten Signatur im GMSS die Signaturen SIGi,j und die Authentifikationspfade AU T Hi,j,l für die Merkle-Bäume, die auf dem Pfad p verwendet werden, berechnet. SIGi,j und AU T Hi,j,l werden für die Vorberechnung der nachfolgenden Signaturen 16 benötigt. Die Werte der oberen Ebenen wechseln nicht oft, so dass die Vorberechnung auf viele Schritte verteilt werden kann. Dadurch ergibt sich zum Einen eine deutlichere Verbesserung der Signiergeschwindigkeit. Zum Anderen kann die Größe der Winternitzparameter wi so gewählt werden, dass sich kleinere Signaturen ergeben. Mit den getroffenen und erklärten Definitionen wird die Schlüsselerzeugung im nächsten Abschnitt durchgeführt.[6] 3.2.1 GMSS Schlüsselerzeugung Mit der Parametermenge P und den initialen Seeds SEEDi,0,0 , . . . , SEEDT,0,0 berechnet die Schlüsselerzeugung den GMSS öffentlichen Schlüssel ROOT1,0 und den GMSS privaten Schlüssel, der aus den folgenden Einträgen besteht: SEEDi,0,0 , SIGi,0 , AU T Hi,0,0 , ST AT Ei,0,0 , i = 1, . . . , T i = 2, . . . , T i = 1, . . . , T i = 1, . . . , T , SEEDi,2,0 , , ROOTi,1 , , AU T Hi,1,0 , , ST AT Ei,1,0 , i = 2, . . . , T i = 2, . . . , T i = 2, . . . , T i = 2, . . . , T Die Seeds müssen geheim bleiben und können nur im privaten Schlüssel gespeichert werden. Die anderen Einträge des privaten Schlüssels müssen nicht dort gelagert werden.[4] Die Schlüsselerzeugung erfolgt in drei Schritten. Zuerst wird die Wurzel des ersten Baumes in jeder Ebene ROOTi,0 , i = 1, . . . , T berechnet. Dazu werden die entsprechenden Bäume der ROOTi,0 , i = 1, . . . , T konstruiert. Dies geschied mit dem Algorithmus 1, der in [6] beschrieben wird. Dieser Algorithmus 1 wird auch Treehash genannt. Als nächstes werden die Wurzeln ROOTi,1 und die Authentifizierungspfade AU T Hi,1,0 für die nachfolgenden Bäume T REEi,1 i = 2, . . . , T mit dem Algorithmus 1 aus [6] berechnet. Schließlich, nach der Erzeugung des zweiten Baumes in jeder Ebene, sind die Seeds SEEDi,2,0 verfügbar. Sie werden als ein Teil des privaten Schlüssels aufbewahrt. Damit eine effiziente Erstellung der Bäume T REEi,2 während des Signierprozesses möglich ist.[6] Die Berechnung von 2Hi Blätter werden für den Aufbau eines Baumes auf Ebene i verlangt und es werden 2Hi − 1 Auswertungen der Hashfunktion gebraucht, um die Innerenknoten zu berechnen. Jede Blattberechnung benötigt ((2wi − 1) · twi + 1) Auswertungen der Hashfunktion und (twi +1) Aufrufe des P RN Gs. Damit ergeben sich die gesamten Kosten für einen Baum auf 17 Ebene i als ctree (i) = (2Hi · (twi · (2wi − 1) + 2) − 1) cHASH + 2Hi · (twi + 1) cP RN G (5) Zum Konstruieren der zwei Bäume (einen auf Ebene i = 2, . . . , T und einen auf Ebene i = 1) belaufen sich die Gesamtkosten für die Schlüsselerzeugung auf ckeygen = T X (ctree (i)) + i=1 T X (ctree (i)) (6) i=2 Der benötigte Speicher für die Schlüssel hängt von der Ausgabegröße der Hashfunktion ab, hier ist sie n. Jede Wurzel ROOTi,j ist ein einzelner Hashwert und fordert n Bits. Der öffentliche Schlüssel ist die Wurzel ROOT1,0 . Somit ist die Größe des öffentlichen Schlüssels mpubkey = n Bits. (7) Für jede Ebene i = 2, . . . , T werden zwei Seeds, zwei Authentifikationspfade, Algorithmuszustände, eine Wurzel und eine OT-Signatur gespeichert. Für die Ebene i = 1 wird ein Seed, ein Authentifikationspfad und ein Algorithmuszustand gespeichert. Ein Seed SEEDi,j,l braucht n Bits. Die Kosten für eine Authentifikation zusammen mit dem Algorithmuszustand erfordern jH k i − 3 · Ki − 2 + 2Ki · n Bits. (8) mauth (i) = 3 · Hi + 2 Damit beträgt die Gesamtgröße des privaten Schlüssels mprivkey T T X X = (mauth (i) + 1) + (mauth (i) + twi−1 + 2) · n Bits. i=1 i=2 [4] 3.2.2 GMSS Signaturerzeugung Für die s-te GMSS Signatur (s ∈ {0, . . . , 2H1 + ... + HT − 1}), gilt jT = b 2HsT c, ji = b j2i+1 Hi c, i = 1, . . . , T − 1 lT = s mod 2HT , li = ji+1 mod 2Hi , i = 1, . . . , T − 1. 18 (9) Die Signatur des Blattes lT vom Baum T REET,jT auf der untersten Ebene T besteht aus (T REET,jT , T REET −1,jT −1 , . . . , T REE2,j2 , T REE1,0 ). Weil sie nur mit dem Authentifikationspfad p vom Blatt lT von T REET,jT zum obersten Baum T REE1,0 gelangen kann. mithilfe des lT -ten Blattes vom T REET,jT wird die Einmalsignatur SIGd der Nachricht d erzeugt. Die OTS SIGi,ji der Wurzel des Baumes T REEi,ji wird mittels des li−1 -ten Blattes von T REEi−1,ji−1 i = 2, . . . , T erzeugt. Die s-te GMSS Signatur besteht aus vier Teilen: 1. 2. 3. 4. dem Index s, der OTS SIGd , der OTS SIGi,ji i = 2, . . . , T und dem Authentifizierungspfad AU T Hi,ji ,li i = 1, . . . , T . Der benötigte Speicherplatz für eine GMSS Signatur ergibt sich aus den T Authentifikationspfaden (Hi · n Bits) und den T Einmalsignaturen (twi · n Bits), eine für jede Ebene i = 1, . . . , T msignature = T X (Hi + twi ) · n Bits. (10) i=1 Die Signaturerzeugung erfolgt in zwei Teilen. Der erste Teil, der online Teil, berechnet SIGd und gibt die Signatur aus. Der zweite Teil, der offline Teil, ist für die verteilte Berechnung der bevorstehenden OT-Signaturen der Wurzeln und der Authentifizierungspfade zuständig. Außerdem führt der offline Teil eine Aktualisierung des privaten Schlüssels durch. Deshalb ist GMSS ein Schlüsselentwicklungssignaturverfahren [6]. Das bedeutet, dass der offline Teil für die erste Signatur s = 0 schon mit der Schlüsselerzeugung erledigt wird. Die Erzeugung der OTS-Schlüssel erfordern einen Aufruf des P RN Gs, um das Seed zu erhalten und twT Aufrufe sind notwendig, um die Geheimnisse zu bekommen. Die durchschnittlichen Signaturkosten des Winternitz OTSS wT (2 −1)·twT ) cHASH . sind ( 2 Für den online Teil ergeben sich die durchschnittlichen Kosten von conline = (2wT − 1) · twT cHASH + (twT + 1) cP RN G . 2 (11) Der offline Teil wird in weitere drei Unterteile gegliedert, in denen die Vorberechnungen für die nächsten Signaturen, die nächsten Bäume mit ihren 19 Blättern und die nächsten Authentifikationspfade stattfinden. Die Kosten werden effizient im offline Teil verteilt. Die Idee von [6] basiert auf der Beobachtung, dass Signaturen von Bäumen aus den oberen Ebenen nicht oft wechseln. Im Folgenden entsprechen die Werte li , ji der aktuellen Signatur s. Die Vorberechnung von SIGi,ji+1 i = 2, . . . , T muss bereits fertig sein, bevor die nächste Signatur den Baum T REEi,ji+1 verwendet. SIGi,ji+1 wird mit dem OTS-Schlüssel erzeugt, der entweder dem (li−1 + 1)-ten Blatt des Baumes T REEi−1,ji−1 oder dem 0-ten Blatt des Baumes T REEi−1,ji−1 +1 entspricht. Der letztere Fall taucht auf, wenn (li−1 + 1) = 0 mod 2Hi−1 ist. Dann muss zum Beispiel der nächste Baum aus der nächsten oberen Ebene i − 1 benutzt werden. Im Moment wird angenommen, dass ROOTi,ji+1 bekannt ist, wenn der Baum T REEi,ji zum ersten Mal benutzt wird, zum Beispiel wenn li = 0 ist. Dies trifft zu, wenn ji = 0 ist und nachdem ROOTi,1 mit der Schlüsselgenerierung berechnet wurde. Die Berechnung von SIGi,ji+1 wird über die 2Hi Blätter des Baumes T REEi,ji verteilt. Wenn li = 0 ist, wird ROOTi,ji+1 benutzt und die initialen Schritte des Winternitz OTSS werden ausgeführt. Dann wird SIGi,ji+1 Schritt für Schritt berechnet, jedes Mal wird ein Blatt im Baum T REEi,ji weiter voran geschritten. Die Erzeugung von SIGi,ji+1 ist komplett, wenn li = 2Hi −1 ist. Die verteilten Berechnungen für die OT-Signaturen sind in der Abbildung 6 dargestellt. Die OTS SIGi,ji+1 wird mithilfe der Winternitzparameter von Abbildung 6: Verteilte OT-Signaturerzeugung aus [4] Ebene i − 1 (wi−1 ) erzeugt und fordert im Durchschnitt (2wi−1 −1)·twi−1 Hashauswertungen und (twi−1 + 1) Aufrufe des P RN Gs. Die 2 Kosten für die Berechnung der OT-Signaturen sind csig (i) = l (2wi−1 − 1) · t m lt m wi−1 wi−1 + 1 c + cP RN G . HASH 2Hi +1 2Hi 20 (12) Es wurde angenommen, dass ROOTi,ji+1 bekannt ist, wenn T REEi,ji zum ersten Mal benutzt wurde. Deshalb muss ROOTi,ji+2 vor berechnet werden, während mit T REEi,ji+1 gerechnet wird. Wenn zu T REEi,ji+1 gewechselt und mit der Erzeugung von SIGi,ji+2 begonnen wird, muss die Vorberechnung von ROOTi,ji+2 schon fertig sein. Dies wird mit den nachfolgenden Berechnungen der Blätter von Baum T REEi,ji+2 erreicht und sie werden weiter an den Algorithums 1 (Treehash) in [7] gegeben. Während das li -te Blatt von T REEi,ji benutzt wird, erfolgt die Berechnung des li -ten Blattes von T REEi,ji+2 . Seine Berechnung wird auf die 2Hi+1 Blätter von T REEi+1,ji+1 , dem aktuellen Baum auf der nächsten unteren Ebene i+1, verteilt. Nachdem das Blatt erzeugt ist, wird es zum Treehash durchgelassen, dieser konstruiert die ROOTi,ji+2 . Der Treehash muss 2Hi mal aufgerufen werden, um die Wurzel eines Baumes der Höhe Hi zu erzeugen. Die Konstruktion von ROOTi,ji+2 ist komplett, wenn vom Baum T REEi,j zum Baum T REEi,ji+1 gewechselt wird. Das heißt, dass der SEEDi,ji+2 ,0 ein Teil des privaten Schlüssels ist und für seine Berechnung das 0-te Blatt von T REEi,ji+2 von Nöten ist, das während der Erzeugung von ROOTi,ji+1 generiert wird. Wenn ji = 0 ist, wird der Seed während der Schlüsselerzeugung berechnet. Für die unterste Ebene i = T hat die Berechnung der Blätter nur einmal statt zu finden. Auch AU T Hi,ji+2 wird während der Vorberechnung von ROOTi,ji+2 gespeichert. Die verteilte Berechnung einer Wurzel ist in Abbildung 7 dargestellt. Die Erzeugung des li -ten Blattes des Baumes T REEi,ji +2 erfordert Abbildung 7: Verteilte Wurzelerzeugung aus [4] ((2wi − 1) · twi + 1) cHASH und (twi + 1) cP RN G . Weil das entsprechende W-OT Schlüsselpaar erzeugt werden muss und dies mithilfe des W-Parameters wi auf der Ebene i erfolgt. Der erzeugte OTS-Schlüssel braucht 21 ((2wi − 1) · twi ) Hashauswertungen und die Berechnung des li -ten Blattes erfordert eine zusätzliche Auswertung der Hashfunktion, siehe Abschnitt 3.1 Winternitz“. Durch die 2Hi+1 Blätter im Baum der Ebene i + 1 kann die ” Berechnung des li -ten Blattes auf 2Hi+1 Schritte verteilt werden, die c1leaf (i) ergeben. Die Kosten für das Blatt li des Baumes T REEi,ji +2 sind c1leaf (i) = l (2wi − 1) · t + 1 m lt + 1m wi wi c + cP RN G . HASH 2Hi+1 2Hi+1 (13) Wenn die Berechnung des li -ten Blattes abgeschlossen ist, zum Beispiel wenn vom Blatt li zum Blatt li+1 in T REEi,ji gewechselt wird, wird das berechnete Blatt an den Treehash weitergeleitet. Der Treehash berechnet den Elternknoten dieses Blattes abhängig von den Knoten, die vorher auf dem Stack gespeichert wurden. Dafür benötigt der Treehash meistens Hi Auswertungen der Hashfunktion. Die Kosten für das Blatt des Baumes T REEi,j sind c2leaf (i) = Hi cHASH . (14) [6] Für die Ebene i = T , muss das jeweilige Blatt des Baumes T REET,jT +2 einmal berechnet werden. c3leaf = ((2wT − 1) · twT + HT + 1) cHASH + (twT + 1) cP RN G (15) [4] Als nächstes wird die Vorberechnung von AU T Hi,ji ,li+1 beschrieben, den Authentifizierungspfad des nächsten Blattes von T REEi,ji . In [6] wird dazu ein Alogrithmus von Szydlo aus [9, 10] verwendet. Dieser Algorithmus nutzt die Fälle Hi − 1 vom Treehash, um die bevorstehenden Authentifizierungsknoten zu berechnen. Gegeben sei ein Blatt mit Index li , Szydlo´s Algorithmus prüft zuerst, ob ein neuer Fall eines Treehashes erzeugt werden muss. Dann spendiert er die meisten Hi berechnenden Einheiten, die entweder Hashfunktionsauswertungen für die While-Schleife des Treehashes oder für die Blattberechnungen sind. Wieder wird die Berechnung der geforderten Blätter über 2Hi+1 Blätter von T REEi+1,ji+1 verteilt. Wenn das Blatt li+1 = 0 vom Baum T REEi+1,ji+1 benutzt wird, werden die Anfangsschritte des Szydlo´s Algorithmus erfüllt und es wird entschieden, (1) ob ein neuer Fall eines Treehashes erzeugt werden muss und (2) wie viele neue Blätter gefordert werden für den aktiven Treehash-Fall. 22 Diese Blätter werden Schritt für Schritt berechnet, wie oben beschrieben. Wenn li+1 = 2Hi+1 − 1 gilt, dann sind die Berechnungen der geforderten Blätter fertig und sie werden an Szydlo´s Algorithmus weitergereicht, die aktualisierten Treehash-Fälle und die AU T Hi,ji ,li +1 werden ausgegeben. AU T Hi,ji ,0 wird während der Konstruktion der ROOTi,ji gespeichert und ist deshalb schon verfügbar, wenn li = 0 ist. Also, muss AU T HT,jT ,lT +1 einmal berechnet werden. Die verteilte Berechnung eines Authentifikationspfades wird in Abbildung 8 gezeigt. Der Algorithmus aus [4, in 1.4.5] fordert für jeden Authentifikationspfad die Abbildung 8: Verteilte Authentifikationspfadberechnung aus [4] i) Berechnung von ( (Hi −K + 1) Blättern. Die Blätter werden mithilfe des W2 Parameters wi auf der Ebene i berechnet. Für die Erzeugung eines Blattes werden (twi + 1) Aufrufe des P RN Gs und ((2wi − 1) · twi + 1) Hashi) + 1) Blätter funktionsauswertungen benötigt. Die Berechnung dieser ( (Hi −K 2 Hi+1 Schritte im Baum auf Ebene i + 1 verteilt. Jedes Mal wird über die 2 wird ein Blatt in T REEi+1,ji+1 voran geschritten, um die geforderten Blätter zu berechnen. c1auth (i) = H − K + 2 i i · c1leaf (i) 2 (16) Die kompletten Blätter werden an den Treehash weitergegeben, der ihre Elternknoten berechnet. Der Algorithmus aus [4, in 1.4.5] erfordert meistens i )−1 ( 3(Hi −K + 1) Auswertungen der Hashfunktion für die Berechnung der El2 tern. Des Weiteren werden (Hi − Ki ) Aufrufe des P RN Gs gefordert, um die bevorstehenden Seeds vorzubereiten. Diese Operationen werden nicht verteilt, aber sie werden dafür nur einmal durchgeführt. Jedes Mal wird ein Blatt in T REEi,ji voran geschritten, um die geforderten Blätter zu berechnen. 23 c2auth (i) = 3(Hi − Ki ) − 1 cHASH + (Hi − Ki ) cP RN G 2 (17) [6] Die Blätter werden für die Berechnung der bevorstehenden Authentifikationspfade gefordert, sie werden verteilt auf alle Ebenen i = 1, . . . , T − 1. Für die T +2 + 1) Blätter einmal berechnet. Ebene i = T werden die ( HT −K 2 c3auth H − K + 2 3(H − K ) − 1 T T T T 3 = · cleaf + cHASH + 2 2 (HT − KT ) cP RN G (18) Insgesamt sind die Kosten des offline Teils im schlimmsten Fall gegeben als cof f line T T −1 X X = (csig (i)) + (c1leaf (i) + c2leaf (i) + c3leaf ) + i=2 i=2 T −1 X (c1auth (i) + c2auth (i) + c3auth ) (19) i=1 Die teilweise konstruierte OTS SIGi,ji +1 wurde für die Ebenen i = 2, . . . , T gespeichert und erfordert meistens (twi−1 · n) Bits. Der Treehashstack wurde für die Erzeugung der Wurzel ROOTi,ji +2 für die Ebenen i = 2, . . . , T gespeichert, dies erfordert ((Hi · n) Bits.) Ein Blatt benötigt meistens (twi · n) Bits. Für die Erzeugung von ROOTi,ji +2 wird ein Blatt für jede Ebene i = 2, . . . , T − 1 gespeichert. Für den Authentifikationspfad wird ebenfalls ein Blatt für jede Ebene i = 1, . . . , T − 1 gespeichert. Nachdem die Blätter berechnet worden sind, die für den Authentifikationspfad nacheinander gefordert werden, wird ein teilweise konstruiertes Blatt einmal gespeichert. Schließlich werden die teilweisen Zustände ST AT Ei,ji +2,0 für den Authentifikationspfadalgorithmus aus [4] der Ebene i = 2, . . . , T gebraucht. Sie benötigen meistens mauth (i) Bits. Die Gesamtkosten des offline Teils für die Speicheranforderungen sind im schlimmsten Fall mof f line T T −1 T −1 X X X = (twi−1 + Hi + mauth (i)) + (twi ) + (twi ) Bits. (20) i=2 i=2 [4] 24 i=1 3.2.3 GMSS Signaturverifikation Mit der GMSS Signaturverifikation wird geprüft, ob eine Signatur gültig ist. Ist dies der Fall, dann wurde das signierte Dokument nicht verändert. Der Verifikationsprozess von GMSS ist im Wesentlichen derselbe wie für MSS aus [8] und CMSS aus [7]. Der Verifizierer kennt den öffentlichen Schlüssel ROOT1,0 und die Parametermenge P , die vom Signierer erstellt wurde. Zuerst verifiziert er die Einmalsignatur SIGd der gewählten Nachricht d mithilfe des Winternitzparameters wT . Er erhält den Verifikationsschlüssel für seine Signatur, zum Beispiel das Blatt lT des Baumes T REET,j . Dann wiederholt der Verifizierer die folgenden Schritte für i = T, . . . , 2: (1) benutzt li und AU T Hi,j,li um ROOTi,j zu berechnen, (2) benutzt ROOTi,j , verifiziert SIGi,j und erhält li−1 . Schließlich, benutzt der Verifizierer l1 und AU T H1,j,l1 , um ROOT1,0 zu erhalten. Wenn ROOT1,0 mit dem öffentlichen Schlüssel des Signierers übereinstimmt, ist die Signatur gültig und wird akzeptiert. Der Verifizierer sollte T Einmalsignaturen verifizieren, dies erfordert (2wT −1)·twT ) Auswertungen der Hashfunktion. Weitere Hi Hashfunktionsaus( 2 wertungen werden gefordert, um den Pfad zur Wurzel mittels des Authentifikationspfades zu rekonstruieren. Insgesamt fordert die Verifikation eine durchschnittliche Anzahl von Hashfunktionsauswertungen von cverif y = T wi X (2 − 1) · twi + Hi cHASH . 2 i=1 (21) [6] In diesem Kapitel wurden die Formeln und Parameter vorgestellt, die für das GMSS wichtig sind. Da das GMSS später mit anderen Signaturverfahren verglichen werden soll, müssen die wählbaren Parameter genauer betrachtet werden. Dies geschied im nächsten Kapitel. 25 4 Parameter - n, wi, T, Hi, Ki In den Anwendungsgebieten der digitalen Signaturen werden je nach Gebiet andere Prioritäten für den Speicherplatzbedarf und die Berechnungszeiten gesetzt, zum Beispiel für die Schlüsselgröße oder für die Signaturverifizierungszeit. Damit GMSS später mit den verschiedenen Gebieten verglichen werden kann, müssen für den Speicherplatzbedarf und die Berechnungszeiten die optimalen Parameterwerte ermittelt werden. Die ermittelten Werte werden im darauf folgenden Kapitel 6 “Szenarien“ gebraucht. Die Parameterwerte werden hier im Kapitel 4 bestimmt. Dazu werden die verwendeten Parameter aus dem GMSS vorgestellt. Es gibt nur fünf Parameter, die bei GMSS gewählt werden können, diese lauten n, wi , T , Hi und Ki . Außerdem wird kurz gezeigt auf welche Formeln sie Einfluss nehmen. Hierauf wird in den folgenden Abschnitten noch vertieft eingegangen. Im Abschnitt 4.1 Abhängigkeiten - Parameter - Formeln“ werden die Ab” hängigkeiten zwischen den Parametern untereinander und die Abhängigkeiten zwischen Parametern und den verwendeten Formeln untersucht, damit die ermittelten Bedingungen und eventuellen Einschränkungen für die spätere Parameterwahl berücksichtigt werden können. Die Parameterwahl wird im Teil 4.2 Parameterwahl“ durchgeführt. Hier ” wird für jeden Parameter die beste Ebene ermittelt, auf der der Parameter erhöht werden kann um trotzdem optimale Werte für die Formeln zu bekommen. Im Abschnitt 4.3 Zusammenfassung der Parameter“ werden die Ergebnisse ” zusammengefasst und kurz wiederholt. Die betrachteten Formeln sind im Kapitel 3 Verbessertes Merkle-Signaturverfahren“ zu finden, msignature ” (10), mprivkey (9), mpubkey (7), ckeygen (6), conline (11), cof f line (19), cverif y (21) und mof f line (20). Der Parameter n ist von der verwendeten Hashfunktion abhängig, weil er die feste Ausgabelänge dieser Funktion ist. Somit kann n nicht beliebig gewählt werden. Soll der Parameter n gewechselt werden, dann funktioniert das nur mit dem Tausch der verwendeten Hashfunktion. Dies ist aber kein Nachteil, da jede Hashfunktion, die die Voraussetzungen aus Kapitel 2 Digitale ” Signaturen“ erfüllt, eingesetzt werden kann. n ist ein wichtiger Parameter, da er alle verwendeten Formeln direkt oder indirekt beeinflusst. Zum Beispiel hat der öffentliche Schlüssel mpubkey dieselbe Schlüssellänge wie n und über den Parameter twi wirkt n indirekt auf die Kosten der Signaturverifikation cverif y . Die Werte msignature und mprivkey werden von n direkt gelenkt und wachsen 26 quadratisch mit bei einem steigenden n. Der Wert von mpubkey wächst linear bei einem steigenden n. Die restlichen Formeln ckeygen , conline , cof f line , cverif y und mof f line werden von n indirekt über den Parameter twi , der als Platzhalter agiert, beeinflusst. Zur Erinnerung, der Platzhalter twi wird wie folgt berechnet, aus (1, 2) t = t1 + t2 lnm l blog t c + 1 + w m 2 1 t1 = , t2 = w w Das heißt, erhöht sich n, dann wächst auch der Wert von twi und die beeinflussten Werte werden größer. In der Tabelle 1 auf Seite 29 werden diese Auswirkungen gezeigt. Der Winternitzparameter w besteht aus den Winternitzparametern wi , die für jede Ebene i unterschiedliche Werte haben können, 1 ≤ i ≤ T . Es gilt w ≥ 2 und es sollte wi n gelten ( “ = viel kleiner als), weil sonst die ” Werte für ckeygen , conline , cof f line und cverif y steigen. Sie haben exponentielles Wachstum. Unter Berücksichtigung dieser Bedingungen können die wi aus den natürlichen Zahlen frei gewählt werden. w wirkt sich auf alle Parameter im GMSS aus bis auf mpubkey , da dieser Wert nur von n abhängt. w beeinflusst die Berechnung für ckeygen , conline , cof f line und cverif y direkt. Diese Werte steigen exponentiell mit wachsenden wi an. Alle anderen verwendeten Werte im GMSS werden von w indirekt über den Platzhalter twi beeinflusst. Dies sind msignature , mprivkey und mof f line . Sie fallen linear bei steigendem wi . Eine Übersicht befindet sich in Tabelle 1 auf Seite 29. T gibt die Anzahl der Ebenen im GMSS an, weil das GMSS mit mehreren Ebenen besser die Berechnungszeiten zum Beispiel von ckeygen verteilen und damit schneller rechnen kann. Deshalb sollte T ≥ 2 sein. Ansonsten gibt es für die Wahl des Parameters T aus den natürlichen Zahlen keine weiteren Beschränkungen. Die Werte msignature , mprivkey , ckeygen , cof f line , cverif y und mof f line steigen linear bei wachsendem T . Dagegen hat T auf conline nur auf der untersten Ebene und auf mpubkey keinen Einfluss. Je größer T wird, desto mehr Ebenen gibt es. Dadurch brauchen alle Berechnungen mehr Zeit, mit Ausnahme von mpubkey und conline . Deshalb sollte auf die Größe von T geachtet werden. In der Tabelle 1 auf Seite 29 ist eine Übersicht zu finden. Die Höhe H besteht aus den Höhen Hi , 1 ≤ i ≤ T . Die verschiedenen Höhen der einzelnen Bäume auf den unterschiedlichen i Ebenen werden mit Hi angegeben, mit i = 1, . . . , T . Hi gibt die Entfernung des jeweiligen Blattes li 27 bis zur entsprechenden Wurzel ROOTi,j des Baumes T REEi,j auf der Ebene i an.17 Deshalb ist Hi wichtig, um die Anzahl der Signaturen zu bestimmen, die mit einem GMSS Schlüsselpaar erstellt werden können. Es gilt, Anzahl der Signaturen = 2H1 +H2 +...+HT . Jedes Hi kann frei gewählt werden, mit der hinreichenden Bedingung Hi ≥ 2 und Hi ∈ N. Für die Hi ´s gibt es keine weiteren Bedingungen. Die Werte msignature , mprivkey , cverif y und mof f line wachsen linear mit steigendem Hi . ckeygen steigt exponentiell mit wachsendem Hi . Dagegen fällt cof f line exponentiell bei steigendem Hi . Hi hat keine Wirkung auf die Werte von mpubkey und conline , weil mpubkey = n ist und die Berechnung von conline nicht von Hi abhängt, siehe Tabelle 1 auf Seite 29. K besteht aus den Parametern Ki , 1 ≤ i ≤ T . Ki bezeichnet den Parameter für die Authentifikationspfadberechnung, die in den Ebenen i = 1, . . . , T verwendet werden. Eine Bedingung für die Ki ist: 2 ≤ Ki ≤ (4 + Hi ), da sonst die Berechnung für cof f line aus (11) ein negatives Ergebnis liefert. Der Grund hierfür liegt in den Subtraktionen der Formeln c1auth (i) aus (16), c2auth (i) aus (17) und c3auth (i) aus (18). Aber generell sollte Ki Hi gelten ( “ = ” viel kleiner als), denn sonst versucht das GMSS mithilfe des Parameters Ki für die Authentifikationspfadberechnung mehr Knoten zu speichern als im Baum vorhanden sind. Unter diesen Bedingungen können die Ki ´s frei aus den natürlichen Zahlen bestimmt werden. Die Parameter Ki haben nur auf die Formeln von mprivkey , cof f line und mof f line Auswirkungen, siehe Tabelle 1 auf Seite 29. mprivkey und mof f line wachsen exponentiell mit steigendem Ki . Im Gegensatz dazu fällt cof f line linear bei Erhöhung von Ki . msignature gibt die Signaturgröße an. mprivkey ist die Größe des privaten Schlüssels und mpubkey des öffentlichen Schlüssels. Die Zeit für die Schlüsselerzeugung gibt ckeygen an, für die Signaturerstellung conline und cof f line , für Signaturverifikation cverif y . Der benötigte Speicherplatz für die Signaturerzeugung wird mit mof f line angegeben. 17 http://de.wikipedia.org/wiki/bin, 17.07.2008, 07:25 Uhr 28 n N N N N NT N N N w H H / N NT N N H T N N / N NT N N N H N N / N / H N N K / N / / / H / N F ormeln msignature mprivkey mpubkey ckeygen conline cof f line cverif y mof f line Tabelle 1: Verhalten der Formelergebnisse bei steigendem n, w, T, H, K Hier ist eine Übersicht über die Einflüsse der Parameter auf die unterschiedliche Schnelligkeit des Wachstums bzw. der Verkleinerung der Formelwerte zu sehen. linear, quadratisch, exponentiell, N: steigend, H: fallend, NT steigend nur auf Ebene T , a ∈ {n, w, T, H, K}, b ∈ {msignature , mprivkey , mpubkey , ckeygen , conline , cof f line , cverif y , mof f line } In dieser Tabelle wachsen die a´s. ”a N b” bedeutet, dass b linear ansteigt bei einem wachsenden a. ”a H b” bedeutet, dass b exponentiell fällt mit wachsendem a. ”a / b” bedeutet, dass der Parameter a keinen Einfluss auf die Formel von b hat. Ein Beispiel ist ”w H mprivkey ”, mprivkey fällt linear bei einem steigendem w. Ein weiteres Beispiel ist, ”H N ckeygen ”, ckeygen steigt exponentiell bei einem wachsendem H. 4.1 Abhängigkeiten - Parameter - Formeln Wie in Kapitel 4 bereits gesagt, beeinflussen die Parameter n, wi , T , Hi und Ki das GMSS unterschiedlich. Außerdem gibt es Abhängigkeiten zwischen diesen Parametern. Diese werden hier im Abschnitt Abhängigkeiten zwi” schen Parametern“ untersucht und betrachtet. Der darauf folgende Teil 4.1.2 Abhängigkeiten der Formeln von den Parametern“ beschäftigt sich mit den ” Abhängigkeiten zwischen den Parametern und den Formeln. Hier wird gezeigt welche Formel von welchen Parametern beeinflusst wird und wie diese Parameter gewählt werden müssen, um so die kleinstmöglichen Werte von den Formeln zu erhalten. Für die spätere optimale Parameterwahl werden die verschiedenen Abhängigkeiten und Einflüsse von den Parametern genauer betrachtet, sowie die daraus resultierenden Ergebnisse. Die Auswirkungen auf die einzelnen Ebenen werden im Abschnitt 4.2 Parameterwahl“ erläutert. ” 29 Die verwendeten Formeln sind aus Kapitel 3 Verbessertes Merkle-Signatur” verfahren“ msignature (10), mprivkey (9), mpubkey (7), ckeygen (6), conline (11), cof f line (19), cverif y (21) und mof f line (20). 4.1.1 Abhängigkeiten zwischen den Parametern In diesem Abschnitt werden die Abhängigkeiten zwischen den Parametern n, wi , T, Hi und Ki untereinander betrachtet. Wenn Abhängigkeiten gefunden werden, werden die daraus resultierenden Einschränkungen für die Parameter später bei der Parameterwahl berücksichtigt. Der Parameter n ist bis auf die Wahl der verwendeten Hashfunktion unabhängig. Er hat keine Auswirkungen auf die anderen Parameter wi , T , Hi und Ki . Die Länge des Winternitzparameters w bzw. die Anzahl der wi ´s in w hängt von T ab, mit 1 ≤ i ≤ T . Des Weiteren sollte wi n gelten ( “ = viel ” kleiner als), weil sonst die Werte für ckeygen , conline , cof f line und cverif y extrem nach oben gehen. Zum Beispiel, ist n = 160, sollte der Höchstwert eines wi ´s 14 sein. Die Bedingung aus dem Winternitz-Verfahren muss jedes wi erfüllen, wi ≥ 2. Es gibt sonst keine weiteren Abhängigkeiten von w zwischen den restlichen Parametern T , Hi und Ki . Von der Anzahl der Ebenen T hängt die Anzahl der wi , der Hi und der Ki ab. Zum Beispiel wenn T = 5 ist, d.h. es gibt fünf Ebenen. Das bedeutet, es gibt genau fünf Winternitzparameter wi . Das Gleiche gilt für Hi und Ki . T ist von n unabhängig und kann frei aus den natürlichen Zahlen gewählt werden. Die Höhe H ist soweit unabhängig von den anderen Parametern, bis auf T . Die Anzahl der Hi ´s hängt von der Größe des Parameters T ab. Es sollte Hi ≥ 2 gelten. Der Parameter K ist von H und T abhängig. Die Anzahl der Ki ´s ist von der Größe des Parameters T abhängig. Außerdem muss Ki Hi sein ( “ = ” viel kleiner als), da sonst das GMSS versucht mehr Knoten zu speichern als im Baum vorhanden sind. Des Weiteren unterliegt jedes Ki der Bedingung Ki ≥ 2. Somit gilt für Ki , 2 ≤ Ki Hi mit i = 1, . . . , T . 30 4.1.2 Abhängigkeiten der Formeln von den Parametern In diesem Teil werden die Abhängigkeiten der Formeln von den Parametern untersucht. Um die besten Werte für die Formeln zu bekommen, müssen gute Kombinationen der Parameter gefunden werden. Deshalb wird für jede Formel, die am Anfang von Kapitel 4 benannt wurde, die Betrachtung über die Parameter w, T , H und K durchgeführt. Der Sicherheitsparameter n wird hier nur am Rande mit einbezogen, weil er durch die verwendete Hashfunktion fest ist und nicht im laufenden Verfahren geändert werden kann. Die Signaturgröße msignature ist von den Parametern w, T und H abhängig. In der Tabelle 2 sind die verschiedenen Kombinationsmöglichkeiten aufgeführt, um den Wert von msignature zu beeinflussen, so wohl positive als auch negative Möglichkeiten. F all 1. 2. 3. 4. w g g g g T k g k g H g k k g F ormel msignature msignature msignature msignature Größenergebnis am Zweitkleinsten am Drittkleinsten am Kleinsten am Größten Tabelle 2: Parameterkombinationen für msignature g = groß, k = klein Zum Beispiel bedeutet ”H g msignature ”, dass ein großes H für diese Kombination gewählt wurde. Die Spalte Größenergebnis“ zeigt wie groß bzw. wie klein der Formelwert ” von msignature durch die Kombination aus der jeweiligen Zeile wird. Zum Beispiel ergibt die Kombination w groß, T groß und H klein aus der 2. Zeile den drittkleinsten Wert für msignature . Der Parameter w ist in dieser Tabelle 2 groß gewählt worden, weil msignature linear mit großem w fällt. Deshalb ist ein kleines w hier nicht sinnvoll. Werden T und H mit großen Werten belegt, dann ist das für msignature nachteilig, siehe 4. Fall. Da seine Größe trotz des w´s wächst und somit den größten Wert liefert im Vergleich zu den anderen Fällen. Das kleinste msignature wird mit kleinem T , kleinem H und großem w erzeugt, siehe 3. Fall, weil msignature jeweils linear fällt bei fallendem T und bei fallendem H. Die erste Kombination aus der Tabelle 2 ergibt für msignature einen guten Wert. Das heißt, dass dieser Wert kleiner ist als der aus der zweiten Kombi- 31 nation. Der Grund hierfür liegt in der Formel. Zur Erinnerung aus (10), msignature = T X (Hi + twi ) · n Bits i=1 Zu beachten ist noch, dass der Platzhalter tw entsprechend ersetzt werden muss, siehe (1, 2), tw = ln w + blog2 ( wn )c + 1 + w m w Nach dieser Ersetzung zeigt sich, dass in der Summenberechnung noch ein n steckt. Durch die Multiplikation der Summe mit n wächst msignature quadratisch mit steigendem n. Für msignature gibt es nur eine Schleife für die Summenberechnung. Die Anzahl der Schleifendurchläufe kann über den Parameter T gesteuert werden. Wird T klein gewählt, dann kann msignature nicht so groß werden wie im 2. Fall. Der Parameter H wirkt sich nur linear auf msignature aus und kann nicht zur Verkleinerung von msignature beitragen. Zum besseren Verständnis folgt ein kleines Beispiel. Die Werte für T und H sind so festgelegt, dass die Summe der Hi ´s immer gleich ist und somit immer die gleiche Anzahl an Signaturen erzeugt. Zum Beispiel, sei n = 160, jedes wi = 12, jedes Hi = 10 und T = 4, mit 1 ≤ i ≤ 4. Damit werden 2H1 +H2 +H3 +H4 = 240 Signaturen erzeugt. Genauso viele Signaturen werden auch mit der nächsten Aufteilung erzeugt. Wenn jedes Hi = 4 und T = 10 ist, dann ergibt das 2H1 +H2 +H3 +H4 +H5 +H6 +H7 +H8 +H9 +H10 = 240 Signaturen, mit 1 ≤ i ≤ 10. Die folgenden Tabelle 3 zeigt die Veränderungen in msignature und veranschaulicht den Unterschied des 1. und 2. Falles aus der Tabelle 2 auf Seite 31. In beiden Fällen aus Tabelle 3 wird die gleiche F all 1. 2. n 160 160 wi 12 12 T 4 10 Hi 10 4 msignature 16.640 Bits 32.000 Bits Tabelle 3: Variiation von msignature bei gleicher Signaturanzahl Anzahl von Signaturen erzeugt. Aber die Größe von msignature variiert. Es ist deutlich in der 1. Zeile zu sehen, dass ein kleines T den Wert von msignature erheblich reduzieren kann im Vergleich zur 2. Zeile. K hat keine Auswirkung auf msignature . Es wurde hier bei den Berechnungen in diesem Beispiel jedes Ki = 2 gesetzt. 32 Die Größe des privaten Schlüssels mprivkey ist von den Parametern w, T , H und K abhängig. Die Tabelle 4 auf Seite 33 zeigt unterschiedliche Kombinationen, um den Wert von mprivkey zu beeinflussen. F all 1. 2. 3. 4. w g g g g T k g k g H g k k g K k k k k F ormel mprivkey mprivkey mprivkey mprivkey Größenergebnis am Zweitkleinsten am Drittkleinsten am Kleinsten am Größten Tabelle 4: Parameterkombinationen für mprivkey g = groß, k = klein Zum Beispiel bedeutet ”T k mprivkey ”, dass ein kleines T für diese Kombination gewählt wurde. Die Spalte Größenergebnis“ zeigt wie groß bzw. wie klein der Formelwert ” von mprivkey durch die Kombination aus der jeweiligen Zeile wird. Zum Beispiel ergibt die Kombination w groß, T groß, H klein und K klein aus der 2. Zeile den drittkleinsten Wert für mprivkey . Der Parameter w ist in dieser Tabelle 4 immer groß gewählt worden, weil mprivkey linear mit großem w fällt. Deshalb ist ein kleines w hier nicht geeignet. Ähnliches gilt auch für den Parameter K. Weil mprivkey exponentiell mit wachsendem K steigt, wurde ein kleines K gesetzt. Des Weiteren steigt mprivkey jeweils linear bei wachsendem T und bei wachsendem Hi an, siehe Tabelle 1 auf Seite 29. Der 3. Fall aus Tabelle 4 bringt das kleinste mprivkey hervor, da alle Werte für die Verkleinerung bestimmt wurden. Die 2. und 4. Kombinationen aus der Tabelle 4 ergeben für mprivkey große Werte. Die 4. Kombination bringt das größte mprivkey hervor. Der 1. Fall erzeugt einen kleineren Wert als der 2. Fall. Der Grund hierfür liegt darin, dass hier auf vielen Ebenen kleine Bäume verteilt werden. Dies reduziert die Größe von mprivkey . Dazu ist ein Blick auf die entsprechende Formel hilfreich. Zur Erinnerung aus (9), mprivkey = T X i=1 T X (mauth (i) + 1) + (mauth (i) + twi−1 + 2) · n Bits i=2 Wenn die Formel mauth (i) und der Platzhalter tw ersetzt werden, ist zu erkennen, dass in mauth (i) ein weiteres n steckt. Dadurch wächst mprivkey linear mit steigendem n. Außerdem ist das lineare Wachstum von mprivkey mit H zu sehen, da es in mauth (i) enthalten ist. Durch ein kleines T wie im ersten Fall 33 aus Tabelle 4 werden die beiden Schleifendurchläufe verkleinert und damit auch der Wert von mprivkey . Zum Veranschaulichen folgt ein kleines Beispiel. Die Parameterwerte sind analog zu Beispiel in Tabelle 3 von msignature auf Seite 32 gewählt. Die folgende Tabelle 5 auf Seite 34 zeigt die Veränderungen in mprivkey und sie verdeutlicht den Unterschied zwischen dem 1. und 2. Fall aus Tabelle 4 auf Seite 33. In beiden Fällen aus Tabelle 5 wird die gleiche Anzahl von SignaF all 1. 2. n 160 160 wi 12 12 T 4 10 Hi 10 4 Ki 2 2 mprivkey 5.072.000 Bits 4.891.520 Bits Tabelle 5: Veränderung von mprivkey bei gleicher Anzahl von Signaturen turen erzeugt. Aber die Größe von mprivkey variiert. Es ist deutlich in der 2. Zeile zu sehen, dass ein großes T den Wert von mprivkey reduzieren kann im Vergleich zur 1. Zeile. Der Wert von mpubkey ist nur von n abhängig. mpubkey wächst linear bei steigendem n. Es gilt mpubkey = n, siehe Formel (7). Die Zeit für die Schlüsselerzeugung ckeygen ist wie bei msignature von den Parametern w, T und H abhängig. In der Tabelle 6 sind verschiedene Kombinationen, die den Wert von ckeygen beeinflussen, aufgeführt. F all 1. 2. w k k T g k H k k F ormel ckeygen ckeygen Größenergebnis am Größten am Kleinsten Tabelle 6: Parameterkombinationen für ckeygen g = groß, k = klein Zum Beispiel bedeutet ”w k ckeygen ”, dass ein kleines w für diese Kombination benutzt wurde. Die Spalte Größenergebnis“ zeigt wie groß bzw. wie klein der Wert von ” ckeygen durch die Kombination aus der jeweiligen Zeile wird. Zum Beispiel ergibt die Kombination w klein, T groß und H klein aus der 1. Zeile den größten Wert für ckeygen . Die Parameter w und H sind in dieser Tabelle 6 immer klein gewählt worden, weil ckeygen exponentiell mit großem w und großem H steigt. Deshalb sind große w und große H hier nicht nützlich. Mit wachsendem T steigt ckeygen 34 linear an, siehe Tabelle 1 auf Seite 29. Die zweite Kombination aus der Tabelle 6 auf Seite 34 liefert das kleinste ckeygen , weil alle Werte von ctree (i) klein werden und auch die beiden Schleifen wenige Durchläufe wegen des kleinen T ´s haben. Siehe ctree (i) = (2Hi · (twi · (2wi − 1) + 2) − 1) cHASH + 2Hi · (twi + 1) cP RN G aus (5) und siehe ckeygen = T X (ctree (i)) + i=1 T X (ctree (i)) i=2 aus (6) auf Seite 18. Der 1. Fall bringt das größte ckeygen hervor, da die Berechnungszeit von ckeygen auf vielen Ebenen mit kleinen Bäumen verteilt wird. Diese Kombination kann auch für Berechnungen eingesetzt werden. Der Parameter n wirkt sich auf ckeygen linear über den Platzhalter tw aus. tw muss in der Formel von ckeygen entsprechend ersetzt werden, siehe (1, 2) blog2 ( wn )c + 1 + w m + tw = w w ln ctree im 1. Fall ist kleiner als eine Kombination, in der alle Parameter große Werte haben. Deshalb hat das große T in beiden Schleifen nicht so viel Wirkung, da ckeygen linear mit T wächst. Wie in Tabelle 7 zu sehen, ist der Wert für ckeygen im 2. Fall deutlich kleiner F all 1. 2. n 160 160 wi 2 2 T 4 10 Hi 10 4 Ki 2 2 ckeygen 2.458.617 cHash 213.993 cHash Zeit 4917, 234 ms 427, 986 ms Tabelle 7: Variiation von ckeygen als im Ersten. Dies bestätigt den 1. Fall aus der Tabelle 6 auf Seite 34. K hat keine Auswirkung auf ckeygen . Es wurde hier bei den Berechnungen in diesem Beispiel jedes Ki = 2 gesetzt. Zur Erinnerung eine Hashauswertung braucht 0, 002 ms. Deshalb sind 2.458.617 cHash = 4917, 234 ms = 4, 917 s und 213.993 cHash = 427, 986 ms = 0, 427 s. Die Zeit für die Signaturerstellung conline hängt exponentiell von wT ab. Je größer wT wird, desto stärker steigt conline exponentiell an. Deshalb sollte wT 35 so klein wie nur möglich sein, um das kleinste conline zu erzeugen. Ebenso sollte n klein sein, da conline linear mit n wächst. Zur Erinnerung aus (11), conline = (2wT − 1) · twT cHASH + (twT + 1) cP RN G 2 Die Zeit für die Signaturerstellung cof f line ist von den Parametern w, T , H und K abhängig. In der folgenden Tabelle 8 sind die unterschiedlichen Kombinationsmöglichkeiten für die Beeinflussung des Wertes von cof f line zu sehen. F all 1. 2. 3. 4. w k k k k T g k g k H g g g g K g g k k F ormeln cof f line cof f line cof f line cof f line Größenergebnis am Drittkleinsten am Kleinsten am Größten am Zweitkleinsten Tabelle 8: Parameterkombinationen für cof f line g = groß, k = klein Zum Beispiel bedeutet ”T k cof f line ”, dass ein kleines T für diese Kombination gewählt wurde. Die Spalte Größenergebnis“ zeigt wie groß bzw. wie klein der Wert von ” cof f line durch die Kombination aus der jeweiligen Zeile wird. Zum Beispiel ergibt die Kombination w klein, T groß, H groß und K klein aus der 3. Zeile den größten Wert für cof f line . Der Parameter w ist in der Tabelle 8 immer klein gewählt worden, weil cof f line exponentiell mit steigendem w wächst. Darum ist ein großes w hier nicht praktikabel. Der Parameter H wurde groß gewählt, weil cof f line exponentiell mit wachsendem H fällt. cof f line fällt linear mit wachsendem K und es steigt linear bei wachsendem T , siehe Tabelle 1 auf Seite 29. Der 2. Fall aus Tabelle 8 erzeugt das kleinste cof f line , da cof f line bei großem K und H schneller klein wird und durch das kleine T nur gering wächst. Durch das kleinere T werden die drei Schleifendurchläufe kürzer. In csig (12) und c1leaf (13) wird durch 2Hi bzw. durch 2Hi +1 geteilt, dadurch wird die exponentielle Verkleinerung gefördert. Mit den subtrahierenden K´s in c1auth (16), c2auth (17) und c3auth (18) geht die Reduzierung von cof f line weiter. Zur Erinnerung aus (19), cof f line T T −1 X X = (csig (i)) + (c1leaf (i) + c2leaf (i) + c3leaf ) + i=2 i=2 36 T −1 X (c1auth (i) + c2auth (i) + c3auth ) i=1 Nachdem ersetzen der Platzhalter tw ist der lineare Einfluss von n zu sehen. Die 3. Kombination aus der Tabelle 8 auf Seite 36 gibt den größten und damit schlechtesten Wert für cof f line an. Der 1. Fall liefert das drittkleinste cof f line und sollte nicht gewählt werden. Da die Schleifendurchläufe mit wachsendem T länger werden. Andererseits werden mehr Bäume generiert, dies fördert wieder die exponentielle Reduzierung von cof f line , aber es verstärkt auch das exponentielle Wachstum mit w. Da cof f line nur linear mit wachsendem K fällt, kann es verglichen mit den exponentiellen Größen nicht mithalten und damit nicht sehr ins Gewicht fallen. Die 4. Kombination liefert das zweitkleinste cof f line , da T kleiner ist und damit mittels den drei Schleifen die Anzahl der exponentiellen Werte verringert wird. Die folgende Tabelle 9 verdeutlicht den Unterschied zwischen dem 1. und 4. Fall aus Tabelle 8 auf Seite 36. In der Tabelle 9 entspricht die 1. Zeile dem 4. Fall und die 2. Zeile dem 1. Fall. Der 1. Fall aus Tabelle 9 zeigt, dass der Wert für cof f line kleiner wird, wenn T F all 1. 2. n 160 160 wi 2 2 T 2 10 Hi 10 10 Ki 2 5 cof f line 2.163 cHash 2.211 cHash Zeit 4, 326 ms 4, 422 ms Tabelle 9: Variiation von cof f line und K klein sind. Damit wird der 1. Fall aus Tabelle 8 auf Seite 36 bestätigt, der das zweit kleinste cof f line hervorbringt. Die 2. Zeile aus Tabelle 9 gibt an, dass der Wert von cof f line größer wird als der aus der 1. Zeile. Somit ist es der drittgrößte Wert und das bestätigt den 1. Fall aus der Tabelle 8. Das K ist in der zweiten Zeile in der Tabelle 9 groß, obwohl es nicht den Anschein hat. Für sind die Bedingungen aus den vorherigen Abschnitten zu berücksichtigen. K muss viel kleiner sein als H. Zur Erinnerung eine Hashauswertung braucht 0, 002 ms. Deshalb sind 2.163 cHash = 4, 326 ms und 2.211 cHash = 4, 422 ms. Die Zeit für die Signaturverifikation cverif y ist von den Parametern w, T und H abhängig. Dabei ist zu beachten, dass cverif y linear steigt bei wachsendem T und bei wachsendem H. Es steigt exponentiell bei wachsendem w an. Das kleinste cverif y wird mit kleinem T , kleinem H und kleinem w erzeugt. 37 Zur Erinnerung aus (21), cverif y T wi X (2 − 1) · twi = + Hi cHASH 2 i=1 Eine weitere gute Kombination ist ein kleines T , großes H und kleines w. Weil ein kleines T den Schleifendurchlauf verkürzt und damit nicht viele exponentielle einwirkende w´s und lineare einwirkende H´s für cverif y zulässt. Das ist von Vorteil, da der Verifizier alle Berechnungen für die Signaturprüfung sofort durchführen muss. Er kann nicht wie bei msignature die Berechnungen verteilen. Außerdem beeinflusst n cverif y nur linear. Dies wird deutlich, wenn der Platzhalter tw entsprechend ersetzt wurde. In beiden Fällen aus Tabelle 10 wird die gleiche Anzahl von Signaturen erF all 1. 2. n 160 160 wi 2 2 T 4 10 Hi 10 4 Ki 2 2 cverif y 550 cHash 2.630 cHash Zeit 1, 1 ms 5, 26 ms Tabelle 10: Variiation von cverif y zeugt. Aber die benötigte Zeit von cverif y variiert. Es ist deutlich in der 1. Zeile zu sehen, dass ein kleines T den Wert von cverif y sehr reduzieren kann im Vergleich zur 2. Zeile. K hat keine Auswirkung auf msignature . Es wurde hier bei den Berechnungen in diesem Beispiel jedes Ki = 2 gesetzt. Zur Erinnerung eine Hashauswertung braucht 0, 002 ms. Somit sind 550 cHash = 1, 1 ms und 2.630 cHash = 5, 26 ms. Die Größe des Speicherplatzes für die Signaturerzeugung mof f line ist von den Parametern w, T , H und K abhängig. mof f line verhält sich genauso wie mprivkey in seinem Wachstum bzw. Verkleinerung, mit Ausnahme des Parameters n. mof f line wächst nur linear mit steigendem n. Weil in mof f line selbst das n nur über den Platzhalter tw vorkommt und dieser nicht mit sich selbst multipliziert wird. Das Gleiche gilt auch für die verschiedenen Ebenen, die in Kapitel 4.2 detailliert beschrieben werden. 4.2 Parameterwahl In diesem Abschnitt werden die Unterschiede zwischen den Ebenen eines Parameters, der auf einer Ebene erhöht wird, betrachtet. Der Vergleich der Werte auf den Ebenen zeigt, für welchen Parameter und für welche Formeln es am günstigsten ist, den Parameterwert auf einer bestimmten Ebene zu 38 erhöhen. Eine Steigerung der Parameter lässt sich nicht immer vermeiden. Manchmal ist es notwendig einen Parameter zu erhöhen, weil zum Beispiel mehr Signaturen gefordert werden. Hierfür muss entweder der Parameter T oder die Werte der Hi ´s größer werden. Des Weiteren werden die Beobachtungen aus den vorherigen Kapiteln hier miteinbezogen. Die betrachteten Formeln sind aus Kapitel 3 Verbessertes Merkle-Signaturverfahren“ msignature (10), mprivkey ” (9), mpubkey (7), ckeygen (6), conline (11), cof f line (19), cverif y (21) und mof f line (20). Alle verwendeten Werte werden von n linear oder quadratisch beeinflusst, deswegen sollte ein kleines n angestrebt werden. Da die Sicherheit des GMSS vorgeht, sollte deshalb das n immer dem aktuellen Standard angepasst werden. Das bedeutet heute, dass der Sicherheitsparameter n mindestens 160 Bits oder 256 Bits besitzen muss. Der Parameter wi beeinflusst einige Werte exponentiell, deshalb sollte wi klein gewählt werden, siehe Tabelle 1 auf Seite 29. Andererseits sollen die Signaturen so klein wie möglich werden, doch dafür werden größere wi ´s gebraucht. Es muss ein Kompromiss gefunden werden. Aus der Tabelle 11 auf Seite 40 ist zu entnehmen, dass bei einer Erhöhung eines wi ´s mit i = 1, . . . , T w1 die kleinsten Werte von fast allen Formeln hat. Deshalb ist es am Besten, wenn w1 erhöht wird. Der Wert von wi mit 2 ≤ i ≤ T − 1 kann auch gesteigert werden, aber dies liefert nicht so viele Vorteile wie bei w1 . Es ist egal auf welcher Ebene i ein wi erhöht wird, weil die Erhöhung sich auf jeder Ebene i gleich auswirkt, bei i = 2, . . . , T − 1. Die Überlegung wT zu vergrößern sollte nicht in Betracht gezogen werden, da es zum Einen keinen Vorteil bringt und zum Anderen werden zwar nur 5 Werte erhöht, aber davon wachsen 4 Werte exponentiell. Bei wi sind es sechs Werte, von diesen steigen nur drei exponentiell an. Somit gibt es nur Nachteile auf der Ebene T . In der Tabelle 11 auf Seite 40 wird gezeigt, wie sich die Werte der Formeln verändern, wenn der Parameter wi auf einer Ebene i = 1, . . . , T erhöht wird. Die Ergebnisse der Ebenen i werden hier miteinander verglichen, mit 1 ≤ i ≤ T. Die Parameter w1 , wi , wT mit 2 ≤ i ≤ T − 1 haben in msignature auf allen Ebenen die gleiche Auswirkung. Alle Werte werden gleich groß. Damit ist es für die Formel von msignature gleichgültig auf welcher Ebene der Parameter w erhöht wird. Dies liegt daran, dass die Formel von msignature nur eine Schleife besitzt, die von 1 bis T durchläuft und der darin enthaltene Parameter w sich nur linear fallend auswirken kann, siehe (10) auf Seite 19. 39 w1 H= H= / Nak / Nak N= Hag wi H= H= / N= / N= N= H= wT H= / / N= N =T N= N= / msignature mprivkey mpubkey ckeygen conline cof f line cverif y mof f line Tabelle 11: Auswirkungen von w auf den Ebenen wi mit 2 ≤ i ≤ T − 1, linear, exponentiell, N: steigend, H: fallend, ak: am Kleinsten, ag: am Größten, =: auf allen Ebenen gleich groß, /: keinen Einfluss, d ∈ {w1 , wi , wT }, b ∈ {msignature , mprivkey , mpubkey , ckeygen , conline , cof f line , cverif y , mof f line } d H = b“ bedeutet, dass b linear fällt bei einem steigenden d und zwar auf ” allen eingetragenen Ebenen. d Nak b“ bedeutet, dass b exponentiell wächst bei einem steigenden d und ” trotzdem seinen kleinsten Wert bezüglich d hat. d Hag b“ bedeutet, dass b mit steigendem d linear fällt und trotzdem seinen ” größten Wert bezüglich d hat. d / b“ die Vergrößerung von d hat keine Wirkung auf b. ” Zum Beispiel, w1 Nak ckeygen“, wird w1 erhöht, dann wächst ckeygen expo” nentiell mit und hat trotzdem seinen kleinsten Wert bezüglich w. Da auf den anderen Ebenen bei wi mit i = 2, . . . , T die Werte von ckeygen größer werden. Aus der Tabelle 11 auf Seite 40 ist zu sehen, dass mprivkey auf den Ebenen wi mit i = 1, . . . , T − 1 gleich große Werte hat. Die Ebene mit wT hat keinen Einfluss auf mprivkey , weil die zweite Schleife in der Formeln von mprivkey für den Parameter w nur von 1 bis T-1 läuft, siehe (9) auf Seite 18. Da in der zweiten Summenberechnung nur twi−1 bzw. nach der Ersetzung wi−1 verwendet wird. Zur Erinnerung tw ist nur ein Platzhalter, der für die Betrachtungen ersetzt werden sollte, siehe die Formeln (1, 2) auf Seite 12. In der ersten Summenberechnung ist kein w enthalten und somit fällt diese für die Betrachtung für w in mprivkey weg. Auf mpubkey hat w keinen Einfluss, weil die Formel kein w enthält, siehe (7) auf Seite 18. ckeygen besteht aus den beiden Schleifen mit der Formel ctree (i) siehe (5) 40 und (6) auf Seite 18. In ctree (i) ist der Parameter wi enthalten. ckeygen wächst exponentiell mit w. Da beide Schleifen für die Summenberechnung die Werte von 2 bis T berechnen und sie sich in ihrer Struktur nicht unterscheiden, sind die Werte von ckeygen bezüglich wi mit i = 2, . . . , T gleich. Eine Ausnahme bildet w1 , da die zweite Schleife erst mit i = 2 beginnt und die andere schon bei i = 1, ist hier der Wert von ckeygen hier am kleinsten. Auf die Formel von conline kann nur wT Einfluss nehmen, weil conline auf der untersten Ebene T agiert, siehe (11) auf Seite 19. Ein wachsendes wT wirkt sich auf das conline negativ aus, da es exponentiell mit wT steigt. Die Formeln von cof f line besteht aus drei Summenberechnungen, siehe (19) auf Seite 24. Der Parameter w kommt in allen drei Berechnungen vor, in csig (i) (12), c1leaf (i) (13), c3leaf (15) und c1auth (i) (16). Darin ist das exponentielle Wachstum in diesen Formeln zu sehen. Die erste Summe geht von 1 bis T bezüglich wi . Das Gleiche gilt auch für die zweite Summe. Ihr Index geht zwar nur von 1 bis T-1, aber durch c3leaf kommt die Ebene T hinzu. In der dritten Summe wird wi nur von 1 bis T-1 mithilfe des Aufrufes von c1leaf (i) in der Formeln von c1auth (i) einbezogen. Bei w1 findet das kleinste Wachstum im Vergleich zu wi und wT statt, weil hier nur zweimal 2wi mittels csig (i) und c1auth (i) auftaucht. cverif y hat eine Schleife, die über alle Ebenen geht und darin ist das exponentielle Wachstum enthalten, siehe (21) auf Seite 25. Deshalb sind auf allen Ebenen von w1 , wi und wT die Werte gleich groß. mof f line hat drei Summenberechnungen, siehe (20) auf Seite 24. Die erste und dritte Summe geht von 1 bis T-1 bezüglich wi mit i = 1, . . . , T − 1. Die zweite Summe beginnt erst mit i = 2 und läuft bis T-1. Deshalb kommt w auf der Ebene 1 nur zweimal vor und der Wert von mof f line ist hier am größten, weil mof f line linear langsamer bezüglich w fällt, als auf den Ebenen 2 bis T-1. wT hat keinen Einfluss auf mof f line , weil es in der Formel nicht vorkommen kann. Der Parameter T gibt die Anzahl der Ebenen an. Zum Einen sollten nicht zu viele Ebenen vorhanden sein, da sich die Berechnungen und aber auch die Anzahl der Signaturen erhöhen. Zum Anderen können in Kombination mit kleinen Höhen schnellere Berechnungszeiten erzielt werden, weil die Berechnungen sich auf mehrere Ebenen mit niedrigen Bäumen verteilen. 41 Die Höhen Hi sollten klein sein, i = 1, . . . , T , weil zum Teil die Formeln aus Kapitel 3 Verbessertes Merkle-Signaturverfahren“ linear und exponentiell ” mit steigendem Hi wachsen, siehe Tabelle 1 auf Seite 29. Aber die Höhen sind auch für die Anzahl der Signaturen zuständig, deshalb müssen sie manchmal vergrößert werden. Das ist der Vorteil bei der Erhöhung des Parameters Hi , es steigert die Anzahl der Signaturen. Am Besten ist es H1 zu erhöhen, hier sind fast alle Werte im Vergleich zu den anderen Hi am kleinsten. Aber auf den Wert von cof f line muss Rücksicht genommen werden, da er hier seinen größten exponentiellen Wert hat. Es gibt keinen Unterschied zwischen den Ebenen Hi und HT mit i = 3, . . . , T − 1, weil auf jeder gleich viele Werte dasselbe Wachstum bzw. Verkleinerung haben bezüglich H. Die einzigste Ausnahme ist H2 , denn hier hat cof f line seinen zweitgrößten Wert hat. Je größer Hi wird, desto mehr Zeit wird für die Berechnungen benötigt. Deshalb sollte ein kleines Hi angestrebt werden. Die nachfolgende Tabelle 12 auf Seite 43 zeigt eine Übersicht. Die Parameter H1 , Hi , HT mit 2 ≤ i ≤ T − 1 haben in msignature auf allen Ebenen die gleiche Auswirkung, siehe Tabelle 12 auf Seite 43. Alle Werte werden gleich groß. Damit ist es für die Formel von msignature gleichgültig auf welcher Ebene der Parameter H erhöht wird. Dies liegt daran, dass die Formel von msignature nur eine Schleife besitzt, die von 1 bis T durchläuft und der darin enthaltene Parameter H sich nur linear steigend auswirken kann, siehe (10) auf Seite 19. Aus der Tabelle 12 auf Seite 43 ist zu sehen, dass mprivkey auf den Ebenen Hi mit i = 1, . . . , T gleich große Werte hat, siehe (9) auf Seite 18. Da die beiden Summen Hi und HT bei ihren Durchgängen von 2 bis T mit einbeziehen. Da die zweite Summenberechnung nur von 2 bis T läuft und die erste von 1 bis T, ist der Wert von mprivkey auf der Ebene 1 kleiner, weil Hi nur einmal vorkommt. H hat auf mpubkey keinen Einfluss, indem es nicht in der Formel enthalten ist, siehe (7) auf Seite 18. ckeygen besteht aus den beiden Schleifen und der Formel ctree (i) (5) und siehe (6) auf Seite 18. In ctree (i) ist der Parameter Hi enthalten. ckeygen wächst exponentiell mit H. Da beide Schleifen für die Summenberechnung die Werte von 2 bis T berechnen und sie sich in ihrer Struktur nicht unterscheiden, sind die Werte von ckeygen bezüglich Hi mit i = 2, . . . , T gleich. Eine Ausnahme bildet H1 , wodurch die zweite Schleife erst mit i = 2 beginnt und die andere 42 H1 N= Nak / Nak / Hag N= / Hi N= N= / N= / H =∗ N= N= HT N= N= / N= / H= N= N= msignature mprivkey mpubkey ckeygen conline cof f line cverif y mof f line Tabelle 12: Auswirkungen von H auf den Ebenen Hi mit 2 ≤ i ≤ T − 1, linear, exponentiell, N: steigend, H: fallend, ak: am Kleinsten, ag: am Größten, =: auf allen Ebenen gleich groß, /: keinen Einfluss, =∗ : auf der Ebene 2 hat cof f line seinen zweitgrößten Wert und auf den Ebenen i = 3, . . . , T − 1 sind die Werte gleich groß und kleiner als bei i = 2, d ∈ {H1 , Hi , HT }, b ∈ {msignature , mprivkey , mpubkey , ckeygen , conline , cof f line , cverif y , mof f line } d N = b“ bedeutet, dass b linear wächst bei einem steigenden d und zwar ” auf allen eingetragenen Ebenen. d Nak b“ bedeutet, dass b exponentiell wächst bei einem steigenden d und ” trotzdem seinen kleinsten Wert bezüglich d hat. d Hag b“ bedeutet, dass b mit steigendem d exponentiell fällt und seinen ” größten Wert bezüglich d hat. d / b“ die Vergrößerung von d hat keine Wirkung auf b. ” Zum Beispiel, H1 Nak ckeygen“, wird H1 erhöht, dann wächst ckeygen expo” nentiell mit und hat trotzdem seinen kleinsten Wert bezüglich H. Da auf den anderen Ebenen bei Hi mit i = 2, . . . , T die Werte von ckeygen größer werden. schon bei i = 1 ist der Wert von ckeygen hier am kleinsten. H hat auf den Wert von conline keinen Einfluss, weil conline auf der untersten Ebene T agiert und H nicht in der Formel vorkommt, siehe (11) auf Seite 19. Die exponentielle Verkleinerung kommt in allen drei Summenberechnungen von cof f line vor, siehe (19) auf Seite 24. cof f line hat auf H1 seinen größten Wert, da er auf der ersten Ebene am langsamsten mit wachsendem H1 fällt. Zwar beginnt die dritte Summe ihre Berechnung mit i = 1 und läuft bis T-1, aber bezüglich der Hi ´s geht auch diese Summe nur von 2 bis T. Der zweitgrößte Wert von cof f line ist auf H2 zu finden, deshalb sollte H2 nicht gesteigert werden. Hier kommt 2H1 i viermal vor und auf den Ebenen i = 3, . . . , T 43 fünfmal. Damit ist cof f line bei Hi mit 3 ≤ i ≤ T am kleinsten. cverif y hat eine Schleife, die über alle Ebenen geht und darin das exponentielle Wachstum enthalten ist, siehe (21) auf Seite 25. Deshalb sind auf allen Ebenen von H1 , Hi und HT gleich große Werte. mof f line hat drei Summenberechnungen, siehe (20) auf Seite 24. Die erste Summe geht von 2 bis T bezüglich Hi mit i = 2, . . . , T . In den anderen Schleifen tritt H nicht auf. Deshalb kommt H auf der Ebene 1 gar nicht vor und damit hat H1 keinen Einfluss auf mof f line , weil es in der Formel nicht vorkommen kann. Somit steigt mof f line linear bezüglich H als auf der Ebenen i = 2, . . . , T . Mit der Erhöhung des Parameters Ki ändern sich die Werte von mprivkey und mof f line exponentiell und von cof f line linear. Deshalb ist es besser nur K1 zu erhöhen. Dies verkleinert cof f line nur gering, aber dafür ist der Wert von mprivkey im Vergleich zu Ki und KT am kleinsten. Eine Erhöhung einer der Werte von Ki oder KT führt zu einer geringfügigen Änderung der Werte. In der Tabelle 13 ist dies zu sehen. K hat keinen Einfluss auf die Formeln msignature (10), mpubkey (7), ckeygen (6), conline (11) und cverif y (21), denn K kommt nicht in diesen Formeln vor. Auf der ersten Ebene erhöht sich mprivkey am wenigsten bei größerem K1 , weil die nur erste Summenberechnung in mprivkey mit i = 1 beginnt, siehe (9) auf Seite 18. Die zweite Schleife für die Summenberechnung beginnt erst mit i = 2 und läuft ebenfalls bis T. Damit fließt K1 nur einmal in mprivkey ein und somit wird der Wert von mprivkey hier am kleinsten. Auf den Ebenen Ki mit i = 2, . . . , T sind die Werte von mprivkey alle gleich groß. Damit ist es für mprivkey egal, ob Ki mit i = 2, . . . , T − 1 oder KT erhöht wird. Eine Erhöhung von K1 oder Ki macht für cof f line keinen Unterschied. cof f line fällt linear auf den Positionen i = 1, . . . , T gleichmäßig, siehe Tabelle 13 auf Seite 45. K ist in den ersten beiden Summenberechnungen nicht enthalten, daher sind diese für K irrelevant. Nur bei der dritten Summe wird es interessant. Diese geht von 1 bis T-1 und enthält das K. Durch c3auth (18) ist auch KT in cof f line vertreten. Dadurch sind alle Werte von cof f line gleich groß bei Ki mit i = 1, . . . , T . mof f line hat drei Summenberechnungen, siehe (20) auf Seite 24. Die erste 44 K1 / Nak / / / H= / / Ki / N= / / / H= / N= KT / N= / / / H= / N= msignature mprivkey mpubkey ckeygen conline cof f line cverif y mof f line Tabelle 13: Auswirkungen von K auf die Ebenen Ki mit 2 ≤ i ≤ T − 1, linear, exponentiell, N: steigend, H: fallend, ak: am Kleinsten, =: auf allen Ebenen gleich groß, /: keinen Einfluss, d ∈ {K1 , Ki , KT }, b ∈ {msignature , mprivkey , mpubkey , ckeygen , conline , cof f line , cverif y , mof f line } d H = b“ bedeutet, dass b linear wächst bei einem steigenden d und zwar ” auf allen eingetragenen Ebenen. d Nak b“ bedeutet, dass b exponentiell wächst bei einem steigenden d und ” trotzdem seinen kleinsten Wert bezüglich d hat. d / b“ die Vergrößerung von d hat keine Wirkung auf b. ” Zum Beispiel, K1 Nak mprivkey“, wird K1 erhöht, dann wächst mprivkey ex” ponentiell mit und hat trotzdem seinen kleinsten Wert bezüglich K. Da auf den anderen Ebenen bei Ki mit i = 2, . . . , T die Werte von mprivkey größer werden. Ein weiteres Beispiel, KT H = cof f line“, wird KT erhöht, dann fällt cof f line ” linear. Im Vergleich zu den anderen Ebenen bei Ki mit i = 1, . . . , T − 1 sind die Werte von cof f line überall gleich groß. Es ist egal welches K erhöht wird, die Änderung wirkt sich auf cof f line überall gleich aus. Summe geht von 2 bis T bezüglich Ki mit i = 1, . . . , T . In den anderen Schleifen tritt K nicht auf. Deshalb kommt K auf der Ebene 1 gar nicht vor und damit hat K1 keinen Einfluss auf mof f line . Somit steigt mof f line linear bezüglich K als auf der Ebenen i = 2, . . . , T . 4.3 Zusammenfassung der Parameter Für eine gute Parameterwahl, in der kein Wert der Formeln große Nachteile hat, ist w1 , H1 und K1 . Sie können mit Vorsicht erhöht werden. wT sollte kleine Werte haben. Wenn der Wert von cof f line kleiner werden muss, dann kann Hi mit 3 ≤ i ≤ T − 1 oder Ki mit i = 1, . . . , T anstatt H1 oder H2 erhöht werden. 45 Der Parameter n ist von der Hashfunktion abhängig und damit fest. Aber er sollte den aktuellen Sicherheitsstandards entsprechen. Der Parameter T kann erhöht werden, um die Anzahl der Hi und damit die Anzahl der Signaturen zu steigern. Aber dafür sollten die Hi entsprechend reduziert werden, da sonst der Rechenaufwand massiv zunehmen wird und die Vorteile, zum Beispiel von der Verteilung der Berechnungszeit, zunichte machen können. Es können auch anstatt T die Werte der Hi , mit i = 1 und i = 3, . . . , T − 1, erhöht werden unter Berücksichtigung der steigenden Werte in Tabelle 12 auf Seite 43. Die beste Parameterwahl für eine Parametererhöhung sind die Parameter w1 , H1 und K1 , um kleine Werte für die Formeln zu bekommen. Dies ist in der folgenden Tabelle 14 zu sehen. w1 H H / Nak / Nak N Hag H1 N Nak / Nak / Hag N / K1 / Nak / / / H / / msignature mprivkey mpubkey ckeygen conline cof f line cverif y mof f line Tabelle 14: Beste Parameterwahl von w1 , H1 und K1 linear, exponentiell, N: steigend, H: fallend, ak: am Kleinsten, ag: am Größten, /: keinen Einfluss, d ∈ {w1 , H1 , K1 }, b ∈ {msignature , mprivkey , mpubkey , ckeygen , conline , cof f line , cverif y , mof f line } d H b“ bedeutet, dass b linear fällt bei einem steigenden d. ” d Nak b“ bedeutet, dass b exponentiell wächst bei einem steigenden d und ” trotzdem seinen kleinsten Wert bezüglich d hat. Zum Beispiel K1 Nak ” mprivkey“, wird K1 erhöht, dann wächst mprivkey exponentiell mit und hat trotzdem seinen kleinsten Wert bezüglich K. d / b“ die Vergrößerung von d hat keine Wirkung auf b. ” Obwohl in Tabelle 14 für cof f line bei H1 und mof f line bei w1 ihre größten Werte haben, findet cof f line bei H1 nur ein lineares Wachstum und bei mof f line bei w1 eine langsamste Verkleinerung statt. Es ist eine gute Wahl, denn dies fällt nur minimal ins Gewicht. 46 Sollen alle Werte von den Formeln ungefähr gleich viel Zeit und Platz beanspruchen, so ist der folgende Kompromiss ebenfalls sinnvoll, siehe Tabelle 15 auf der nächsten Seite 47. Dort kann statt Ki auch KT eingesetzt werden. Es macht keinen Unterwi H= H= / N= / N= N= H= HT N N / N / H N N Ki / N= / / / H= / N= msignature mprivkey mpubkey ckeygen conline cof f line cverif y mof f line Tabelle 15: Zweitbeste Parameterwahl von wi , HT und Ki mit i = 2, . . . , T − 1, linear, exponentiell, N: steigend, H: fallend, /: keinen Einfluss, d ∈ {wi , HT , Ki }, b ∈ {msignature , mprivkey , mpubkey , ckeygen , conline , cof f line , cverif y , mof f line } d N b“ bedeutet, dass b mit steigendem d linear wächst. Ein weiteres Beispiel, ” K N = mof f line“, wird Ki erhöht, dann wächst mof f line exponentiell mit. ” i Außerdem es keine Rolle welches Ki verändert wird, die Änderung wirkt sich auf mof f line immer gleich aus. d / b“ die Vergrößerung von d hat keine Wirkung auf b. ” schied, da beide Fälle gleich sind. Die betrachteten Formeln sind aus Kapitel 3 Verbessertes Merkle-Signaturverfahren“ msignature (10), mprivkey ” (9), mpubkey (7), ckeygen (6), conline (11), cof f line (19), cverif y (21) und mof f line (20). 47 5 Einsatzgebiete von digitalen Signaturen Digitale Signaturen werden bei vielen Anwendungen verwendet, unter anderem bei Rechnungen, Software oder in E-Mails. Es gibt drei verschiedene digitale Signaturen, die elektronische, die qualifizierte und die fortgeschrittene Signatur. Der Unterschied zwischen diesen drei wird im Abschnitt 5.1 Arten von digitalen Signaturen“ kurz erläutert, da zwei von diesen Signa” turarten oft genutzt werden. Zusätzlich werden in diesem Kapitel im Abschnitt 5.2 Einsatzgebiete“ die ” Aufgaben der digitalen Signatur in den ermittelten Einsatzgebieten erläutert. 5.1 Arten von digitalen Signaturen Dieser Abschnitt beschreibt die verschiedenen Arten der digitalen Signaturen und gewährt einen kurzen Einblick. Sie unterscheiden sich teilweise in ihrer Erstellung und werden vom Gesetzgeber rechtlich verschieden bewertet. Es gibt drei Arten: (1) die einfache elektronische Signatur (2) die fortgeschrittene elektronische Signatur (3) die qualifizierte elektronische Signatur Die folgende Abbildung 9 zeigt einen Überblick aus 18 . Abbildung 9: Arten der elektronischen Signatur aus 18 18 http://www.bsi.bund.de/literat/faltbl/F10ElektronischeSignatur.htm, 29.08.08, 20:12 Uhr 48 § (1) Die einfache elektronische Signatur ( 2 Nr. 1 SigG) kennzeichnet bei einer digitalen Nachricht den Urheber. Dies kann durch das Hinzufügen einer eingescannten Unterschrift geschehen. Somit stellt sie keine Anforderungen an die Sicherheit oder Manipulationsfreiheit. Damit hat die einfache Signatur praktisch keinen Beweiswert und wird nicht für wichtige Dokumente verwendet. § (2) Für die fortgeschrittenen elektronischen Signaturen ( 2 Nr. 2 SigG) gelten mehr Anforderungen als für die einfache elektronische Signatur. Sie müssen die Sicherheitsziele aus Abschnitt 2.3 “ Sicherheitsziele von digitalen Signaturen“ erfüllen. Des Weiteren muss sichergestellt sein, dass nur der Signaturerzeuger alleine und keine 3. Person die Signatur erstellen kann. Damit haben die fortgeschrittenen elektronischen Signaturen einen höheren Beweiswert als die einfachen Signaturen. Die fortgeschrittene Signatur kann ohne Bedenken bei Anwendungen, mit geringerer rechtlicher Bedeutung, zum Beispiel eine E-Mail an Freunde oder Bekannte, eingesetzt werden. § (3) Die qualifizierte elektronische Signatur ( 2 Nr. 3 SigG) ist rechtlich verbindlich. Das heißt, wenn mit dieser Signatur Verträge oder Rechnungen unterschrieben werden, dann sind diese auch rechtsgültig. Die Sicherheitsziele aus Abschnitt 2.3 “ Sicherheitsziele von digitalen Signaturen“ müssen erfüllt werden. Da die qualifizierte elektronische Signatur den höchsten Beweiswert hat, gilt für sie noch eine weitere Anforderung. Damit die Signatur ihrem Urheber rechtlich stichhaltig zu geordnet werden kann, wird hier ein qualifiziertes Zertifikat ( 2 Nr. 7 SigG) verlangt. Darin befinden sich Daten über den Urheber und seine Signatur. Für die fortgeschrittene Signatur wird kein Zertifikat verlangt. Das Zertifikat für die qualifizierte elektronische Signatur wird von einem vertrauenswürdigen Zertifizierungsdienstanbieter ( 2 Nr. 8 SigG) (ZDA) signiert. Dadurch wird die Bindung zwischen Urheber, seiner Signatur und seines Signaturschlüssels festgehalten und garantiert. Dies kann jeder nachprüfen. Wird an der Sicherheit der qualifizierten Signatur gezweifelt, kann ein Zertifizierungsdienstanbieter sich von der Bundesnetzagentur (BNetzA) akkreditieren lassen. Das bedeutet, dass die Bundesnetzagentur eine Überprüfung des Sicherheitskonzeptes vom ZDA erfolgreich durchgeführt hat. Das Sicherheitskonzept des ZDAs muss zuvor bei der BNetzA hinterlegt werden. Durch diese Überprüfung werden die Zweifel beseitigt. Damit bestätigt die Bundesnetzagentur, dass der Zertifizierungsdienstanbieter den aktuellen Sicherheitsstandard erfüllt und seine qualifizierte Signatur sicher ist. Der ZDA kann diese Prüfung auch als Prävention durchführen lassen. § § 49 Der Zertifizierungsdienstanbieter wird als Trustcenter19 20 bezeichnet. Werden qualifizierte elektronische Signaturen verwendet, dann stellt meistens das Trustcenter den privaten Schlüssel aus und speichert ihn oft auf einer SmartCard. Diese wird auch als Signaturkarte bezeichnet. Der private Schlüssel könnte ebenfalls auf anderen Speichermedien wie einem USB-Token gelagert werden.21 Der öffentliche Schlüssel kann ohne weiteres auf diesen Speichermedien aufbewahrt werden. Jedoch darf der private Schlüssel aus Sicherheitsgründen niemals die Karte bzw. das verwendete Speichermedium verlassen. Dadurch sind die Schlüsselgrößen für den privaten und den öffentlichen Schlüssel vom Speicherplatz der jeweiligen verwendeten Speichermedien, hier die SmartCard, angewiesen. Ebenso ist die Schlüsselerzeugungszeit vom Trustcenter abhängig. 22 23 24 Der nächste Abschnitt beinhaltet die Anwendungsgebiete der digitalen Signaturen. ...Eine SmartCard ist eine Chipkarte im Scheckkarten-Format mit integrier” tem Mikroprozessor. Dieser verfügt über einen Speicher, ein Karten-Betriebssystem und nach Bedarf über einen oder mehrere Koprozessoren und kann Programme (Chipkarten-Anwendungen) oder komplexe Rechenoperationen ausführen. Über ein SmartCard-Lesegerät (Terminal) kann die Karte vom Computer angesteuert werden. Auf SmartCards mit integriertem KryptoKoprozessor werden oft private Schlüssel erzeugt und gespeichert, da SmartCards heute das sicherste Speichermedium darstellen. Die ChipkartenAnwendung kann ein direktes Auslesen des privaten Schlüssels verhindern. ...“ 25 26 19 http://www.itwissen.info/definition/lexikon/Trustcenter-TC-trust-center.html, 06.08.2008, 13:30 Uhr 20 http://www.itwissen.info/definition/lexikon/Digitale-Signatur-DSig-digitalsignature.html, 06.08.2008, 13:30 Uhr 21 http://www.bsi.de/esig/siganwerzeugung.htm, 07.09.08, 19:30 Uhr 22 http://www.bundesnetzagentur.de/enid/081dce8fed15b62 6456370747d86053c,0/Sachgebiete/Qualifizierte elektronische Signatur gz.html, 06.08.2008, 13:10 Uhr 23 http://www.bsi.bund.de/literat/faltbl/F10ElektronischeSignatur.htm, 06.08.2008, 13:10 Uhr 24 http://www.gesetze-im-internet.de/sigg 2001/ 2.html, 06.08.2008, 13:10 Uhr 25 http://www.secardeo.de/Loesungen/Glossar/glossar.html, 03.09.08, 17:28 Uhr 26 http://www.itwissen.info/definition/lexikon/Smartcard-smartcard.html, 03.09.08, 17:32 Uhr 50 5.2 Einsatzgebiete Signaturen werden mit und ohne SmartCard verwendet. Wird keine Karte für die Signatur benutzt, dann ist das Zertifikat, das den öffentlichen Schlüssel enthält, sowie der private Schlüssel entweder auf der Computerfestplatte oder auf einem anderen Speichermedium gespeichert. Wird eine Karte, zum Beispiel eine Signaturkarte oder Bürgerkarte (siehe Abschnitt 5.1 Arten von ” digitalen Signaturen“ und 5.2.5 elektronische Ausweise“), für die Signatur ” verwendet, dann befindet sich der private Schlüssel auf dieser Karte. Diese Möglichkeit setzt einen Karteleser voraus, damit der private Schlüssel zum Signieren verwendet werden kann. Bisher wurden immer die Beispiele Rechnung oder E-Mail als Anwendungen von digitalen Signaturen aufgeführt. In diesem Abschnitt werden weitere Gebiete gezeigt. Es ist nicht immer möglich jede Anwendung einem einzelnen Bereich zuzuordnen, da Überschneidungen unvermeidlich sind. In dieser Arbeit werden die unterschiedlichen Anwendungen in die folgenden Bereiche eingeteilt: 1. Behörden 2. Verwaltung und Rechtswesen 3. Unternehmen 4. Gesundheitswesen 5. Elektronische Ausweise 6. Digitaler Geschäftsverkehr 7. Software 8. Digitale Dokumente 9. Digital Signierte Tonaufnahmen 10. Sonstige Einsatzmöglichkeiten 5.2.1 Behörden Ein Einsatzgebiet der digitalen Signaturen sind die Behörden. Hier wird der Gebrauch von digitalen Signaturen durch die Bundesregierung gefördert. Das Ziel der Behörden ist es die ’Papierberge’ zu reduzieren und zu digitalisieren, um damit Kosten und Zeit einzusparen. Von diesen Vorteilen sollen auch die 51 Anwender (allgemein umgangssprachlich Bürger) profitieren, indem sie ihre Behördengänge zum Teil über das Internet erledigen können, ohne durch willkürliche Öffnungszeiten oder Warteschlangen behindert zu werden. Alle Behördengänge lassen sich zur Zeit noch nicht digital erledigen und bei manchen wird dies auch in Zukunft nicht möglich sein, so wird für die Anmeldung beim Einwohnermeldeamt weiterhin das persönliche Erscheinen erforderlich sein. Damit die Bürger die virtuellen Behörden und ihre Angebote nutzen können, benötigen sie ihre eigenen digitalen Signaturen. Dadurch können Anträge oder Formulare eindeutig dem Antragsteller zugeordnet werden. Durch diese virtuelle Verwaltung können die folgenden Erledigungen unter anderem getätigt werden: Ausschreibungen (e-Vergabe), verschiedene Anträge (Gewerbeanmeldungen und -abmeldungen, amtliche Beglaubigungen von Abschriften, Ablichtungen und Vervielfältigungen, Baugenehmigungen), Steuererklärungen via Elster, Einkommensnachweis (ELENA), Online-Wahlen, Renteninformationen und -auskünfte, Eintragungen in das Partnerschaftsregister und in das Handelsregister, Ausdrucke aus dem Handelsregister. Für die Realisierung der e-Vergabe gibt es viele verschiedene Anbieter. Der Bund27 , einige Länder28 29 und Unternehmen haben jeweils ihre eigenen Plattformen bzw. nutzen Vergabeplattformen von anderen Firmen30 31 für die Ausschreibungen. Die Gemeinsamkeit von allen ist die Anwendung von digitalen Signaturen. Es werden Signaturkarten und die entsprechenden Schlüssel der Kartenbesitzer gefordert. Unterschiedlich sind die genutzten Programme. Deshalb müssen Anbieter und Bieter bei Ausschreibungen darauf achten welche Signaturkarten unterstützt werden. Für alle Bundesbehörden ist geplant, dass Ausschreibungen ab 2010 nur noch elektronisch erfolgen sollen.32 Ebenso wie für die Ausschreibung gibt es für die Gewerbeanmeldungen und -abmeldungen unterschiedliche Portale. In vielen Städten ist im Moment kei27 http://e-vergabe.lzp.de/, 10.08.08, 14:35 Uhr http://www.vergabeplattform.berlin.de/main.html, 10.08.08, 14:39 Uhr 29 http://www.vergabe.bayern.de/informationen/voraus firmen.html, 10.08.08, Uhr 30 http://www.vergabe24.de/vp/portal/vergabe24, 10.08.08, 14:53 Uhr 31 http://www.subreport.de/, 10.08.08, 14:59 Uhr 32 http://www.dstgb-vis.de/e vergabe/aktuelles zur e vergabe /e vergabe aktuelle mitteilung des bmvbs/index.html, 10.08.08, 15:12 Uhr 28 52 14:45 ne Online-Gewerbeanmeldung und -abmeldung möglich.33 Es können verschiedene Anträge online gestellt werden, unter anderem Rentenauskünfte und -ansprüche34 oder signierte Formulare35 . Auf der Webseite36 sind einige Länder und Städte zu finden, bei denen Online-Anträge oder Formulare mittels digitaler Signatur durchgeführt werden. Das Verfahren mittels PC für die Interessenten erreichbar zu sein, befindet sich in vielen Städten noch im Aufbau. Das virtuelle Bauamt (ITeBau) ist eine internetbasierte Plattform. Mit ihr können Antragsteller ihre signierten Unterlagen per Online-Formular digital an die Bauaufsichtsbehörde senden. Die Antragsteller erhalten ihre signierten Baugenehmigungen über das Portal. Das Ziel dieses Baugenehmigungsverfahrens ist es, den Genehmigungsprozess effizienter zu gestalten und damit die Verwaltungsabläufe zu verkürzen.37 Das mittlerweile sehr bekannte Steuererklärungsprogramm Elster ermöglicht die digitale Einreichung der Steuererklärung an das Finanzamt. Auch hier kommt die Signatur zum Einsatz, indem die Steuererklärung vom Anwender signiert und dann eingereicht wird. 6,3 Millionen Anwender haben 2008 ihre Steuererklärung mithilfe Elster online abgegeben.38 Interessant ist bei Elster, das Portal ElsterOnline. Der künftige Benutzer hat die Wahl zwischen drei verschiedenen Arten des Logins. Eine davon - die einfachste - ist kostenlos, die anderen Logins sind zahlungspflichtig. Dafür erhält er einen besseren Schutz und Zusatzleistungen.39 Der elektronische Einkommensnachweis auch ELENA genannt, ist ein Modellprojekt. Es wurde von der Informationstechnischen Servicestelle der Gesetzlichen Krankenversicherung GmbH (ITSG) entwickelt. Das ELENA-Verfahren dient zur sicheren Übermittlung und zentralen Speicherung eines multifunktionalen, signierten Verdienst-Datensatzes. Es werden pro Jahr ca. 60 Millionen Bescheinigungen von den 2,8 Millionen Arbeitgebern ausgestellt. Mit ELENA sollen die Kosten und die Bürokratie verringert werden. Un33 https://gewan.bayern.de/, 10.08.08, 15:50 Uhr http://www.deutsche-rentenversicherung-bund.de/nn 20278/SharedDocs/de/ Navigation/Beratung/eService node.html nnn=true, 10.08.08, 16:30 Uhr 35 http://www.tirol.gv.at/applikationen/e-government/formulare/, 10.08.08, 16:32 Uhr 36 http://www.where2sign.de/index.php?id=433/, 5.08.08, 11:20 Uhr 37 http://www.itebo.de, 28.08.08, 19:08 Uhr 38 http://www.bitkom.org/de/presse/8477 52285.aspx, 07.08.08, 18:25 Uhr 39 https://www.elster.de/index.php, 07.08.08, 18:25 Uhr 34 53 ter dem Projektnamen JobCard“ wurde ELENA bereits in den ersten zwei ” Teststufen erfolgreich erprobt. Es ist noch eine dritte Stufe vorgesehen. Im Moment läuft ELENA im Modellbetrieb. ELENA selbst hat keine Chipkarte, sie beinhaltet eine qualifizierte Signatur. Mit dieser werden die Anträge und Bescheinigungen signiert.40 Künftig wird sie für die Beantragung von Sozialleistungen wie Wohn-, Arbeitslosen- oder Kindergeld erforderlich sein.41 Online-Wahlen sind unter der Bezeichnung I-Voting bekannt. Anstatt persönlich ins Wahllokal zugehen oder eine Briefwahl durchzuführen, werden die Wahlen digital über das Internet ausgeführt. Um die Sicherheit beim I-Voting zu gewährleisten, müssen alle potenziellen Probleme, die die Internetvernetzung mit sich bringen kann, berücksichtigt werden.42 Bisher wurde das I-Voting in Deutschland, in Estland und in der Schweiz durchgeführt.43 44 Ein weiteres Beispiel für virtuelle Behörden ist das Versorgungsamt Bremen. Hier können über bremen-online-service45 Erledigungen im Internet getätigt werden. Dazu wird die Plattform Governikus“ genutzt. Sie dient zur siche” ren und signierten Übermittlung von Daten, Formularen oder Erklärungen. In vielen Projekten von Bund, Ländern und Kommunen wird Governikus“ ” eingesetzt. Interessant ist, dass die Anwender mitbestimmen können, wie sich diese Plattform weiterentwickeln soll.46 Es gibt virtuelle Rathäuser. Eines davon ist das Rathaus der Stadt Iserlohn, das mit Rathaus online“ in Erscheinung tritt. Es signiert momentan ” nur seine ausgehenden E-Mails.47 Der elektronische Bundesanzeiger ist eine Plattform für die zentrale Veröffentlichungen, rechtlichen relevanten Unternehmensnachrichten und Bekanntmachungen. Es können kostenpflichtig signierte Aufträge zur Veröffentlichung im elektronischen Bundesanzeiger übermittelt werden. Des Weiteren kann im gesamten Datenbestand des elektronischen Bundesanzeigers kostenlos re40 http://www.itsg.de/upload/ELENA Broschuere 2007 1111.pdf, 07.08.08, 17:35 Uhr http://www.heise.de/newsticker/Bundeskabinett-beschliesst-elektronischenEinkommensnachweis-ELENA–/meldung/109990/, 07.08.08, 17:36 Uhr 42 https://berlin.ccc.de/wiki/Wahlcomputer: Internetwahlen, 11.08.08, 15:44 Uhr 43 http://de.wikipedia.org/wiki/I-Voting, 11.08.08, 15:49 Uhr 44 http://www.e-lo-go.de/ifgcc/index.php?option=com content&task=view&id=22662& Itemid=93&lang=de DE, 11.08.08, 15:51 Uhr 45 http://www.bos-bremen.de/index.html, 11.08.08, 16:10 Uhr 46 http://www.governikus.de/governikus, 10.08.08, 17:55 Uhr 47 http://www.iserlohn.de/Rathaus Online/zs index.php, 10.08.08, 17:50 Uhr 41 54 cherchiert werden.48 5.2.2 Verwaltung und Rechtswissenschaft Für die unterschiedlichen Behördengänge wurden und werden verschiedene Plattformen und Programme entwickelt, die den Bürgern und den Unternehmen zur Verfügung gestellt werden. Es wurde die virtuelle Poststelle des Bundes (VPS) eingerichtet. Sie dient für den signierten, sicheren elektronischen Datenverkehr zwischen Bürgern, Unternehmen und Behörden.49 ... Die Virtuelle Poststelle des Bundes stellt als Basiskomponente Da” ” tensicherheit“ ein zentrales System für den Einsatz von Kryptographie zur Verfügung. Sie erleichtert und unterstützt die sichere elektronische Kommunikation zwischen Behörden und externen Partnern auf Behördenseite ...“ 50 Eine Anwendung, die auf VPS aufbaut, ist das elektronische Gerichts- und Verwaltungspostfach (EGVP). Es wird für den elektronischen Rechtsverkehr genutzt51 und von Gerichten, Anwälten, Notaren und Verfahrensbeteiligten verwendet, zum Beispiel für Schriftsätze, amtliche Beglaubigungen, Eintragungen in das Partnerschaftsregister und in das Handelsregister oder für den Ausdruck aus dem Handelsregister. Somit können diese Daten in rechtsverbindlicher Form auf digitalem Wege mittels Internet übertragen werden.52 53 54 Des Weiteren wird es für das Mahnverfahren eingesetzt, das ab dem ersten Dezember 2008 nur noch elektronisch durchgeführt wird.55 56 Für Unternehmen sind die folgenden Programme und Portale in den jeweiligen Branchen interessant. ZEDAL ist das Komplettsystem zur elektronischen Nachweisführung in der Abfallwirtschaft. Unternehmen können sich entscheiden, ob sie das ZEDALPortal oder das Subsystem ProZedal verwenden wollen. In beiden Variianten werden digitale Signaturen für die Transportsicherung der Dokumente einge48 https://www.ebundesanzeiger.de/ebanzwww/wexsservlet, 28.08.08, 16:28 Uhr http://www.bsi.de/fachthem/vps/index.htm, 07.08.08, 10:11 Uhr 50 http://www.bsi.de/fachthem/vps/common vps.htm, 07.08.08, 10:21 Uhr 51 http://www.EGVP.de, 11.08.08, 17:40 Uhr 52 http://www.bsi.de/fachthem/vps/tech.htm, 12.08.08, 11:15 Uhr 53 http://www.bnotk.de/Service/Empfehlungen+Hinweise/RS25-06 ElHandelsregisterverkehr.html, 12.08.08, 11:17 Uhr 54 http://www.handelsregister.de/rp web/welcome.do?, 12.08.08, 11:20 Uhr 55 http://www.siglab.de/2008/08/mahnungen-rechtskraeftig-signieren-ab-dem1122008/, 08.08.08, 16:15 Uhr 56 http://www.mahngerichte.de/, 08.08.08, 16:18 Uhr 49 55 setzt. Dazu wird eine Signaturkarte, RSA mit SHA-1 und einer Schlüssellänge von 1024 Bit genutzt. Diese Schlüssellänge entspricht nicht dem aktuellen Sicherheitsstandard, der eine größere Schlüssellänge bei RSA fordert als 1024 Bit. Mit dem Programm DMPAdirekt können Anträge erstellt und signiert werden. Mittels VPS werden diese dann an das deutsche Patent- und Markenamt übermittelt.57 bi-Online ist eine eVergabeplattform für Bau-, Liefer- und Dienstleistungsaufträge. Die Aufträge stammen von öffentlichen und privaten Auftraggebern aus allen Bundesländern.58 Folgende Bundesämter sind via Internet zu erreichen: l Bundesamt für Naturschutz (BfN): Anträge können mit Cites-Online digital signiert und versendet werden.59 l Bundesamt für Verbraucherschutz und Lebensmittelsicherheit (BVL): Elektronische Anträge (eAntrag) können bearbeitet werden. Das Antragsformular wird auf elektronischem Weg über das BVL-Portal übermittelt. Um die Sicherheitsanforderungen zu gewährleisten, wird hierzu der VPS-Client des BVL der BundOnline-Basiskomponente Virtuelle ” Poststelle“ (VPS) benutzt.60 61 l Umweltbundesamt Deutsche Emissionshandelsstelle für Emissionshandel der Deutschen Emissionshandelsstelle (DEHSt) und für Zuteilung und Handel von Treibhausgas- und Emissionszertifikaten: Es kann online erreicht werden. Hier wird die Plattform Governikus“ 62 ” eingesetzt. Zur Zeit nutzen es fast 3.000 Unternehmen in Deutschland für die Beantragung und Zuteilung von Emissionszertifikaten bei der DEHSt. Die Weiterleitung der Anträge erfolgt über die VPS.63 Ebenso 57 http://www.dpma.de/service/e dienstleistungen/dpmadirekt/index.html, 13.08.08, 10:00 Uhr 58 http://www.bi-online.de/, 13.08.08, 11:00 Uhr 59 http://www.bfn.de/0305 antragstellung.html, 09.08.08, 18:10 Uhr 60 http://www.bvl.bund.de/cln 007/nn 494194/sid 06A39AF5FB8820639 C97DA8813B64AA1/DE/04 Pflanzenschutzmittel/11 AntragstellerAnwender/ 010 epsmzulassung/eAntrag InfoProjekt.html nnn=true, 09.08.08, 18:15 Uhr 61 http://www.bvl.bund.de/cln 007/nn 494194/sid 06A39AF5FB8820639 C97DA8813B64AA1/DE/04 Pflanzenschutzmittel/11 AntragstellerAnwender/ 010 epsmzulassung/eAntrag InfoProjekt.html nnn=true, 09.08.08, 18:22 Uhr 62 http://www.governikus.de/governikus, 09.08.08, 18:20 Uhr 63 http://www.dehst.de/, 09.08.08, 18:28 Uhr 56 wird die Kommunikationssoftware Govello“ verwendet. Sie wurde von ” der bremen online services GmbH & Co entwickelt und stellt mit einer starken Verschlüsselung die Vertraulichkeit der zu sendenden Daten sicher. Die Daten können außerdem signiert werden.64 5.2.3 Unternehmen Ein wesentlicher Bestandteil im Alltag von Unternehmen ist die Rechnungserstellung. Heute können Rechnungen elektronisch erstellt und per E-Mail versendet werden. Dies hat für die Unternehmen die Vorteile Zeit und Kosten einzusparen, da die Rechnungen nicht mehr ausgedruckt, unterzeichnet, frankiert und dann verschickt werden müssen. Damit die Rechnungsempfänger, insbesondere andere Unternehmen, die Rechnung beim Finanzamt geltend machen können, muss nicht nur der Rechnungsaussteller, sondern auch der Rechnungsempfänger, gewisse Anforderungen erfüllen. Zum Einen muss der Rechnungsaussteller die Rechnung mit einer qualifizierten Signatur unterzeichnen, denn sonst kann der Empfänger diese Rechnung nicht beim Finanzamt geltend machen. Zum Anderen muss der Empfänger die Signatur der Rechnung prüfen und ein Prüfungsprotokoll anfertigen. Die Signatur, die Rechnung und das Prüfungsprotokoll muss der Empfänger und der Aussteller, nur die Rechnung und die Signatur, 10 Jahre lang digital archivieren ( 14b Abs. 1, Abs. 4 UStG).65 Er darf die Rechnung nicht einfach ausdrucken und die digitale Datei löschen. Damit verliert diese ausgedruckte Rechnung ihre Beweiskraft, weil das Prüfungsprotokoll fehlt und die Signatur nicht nachgeprüft werden kann. Von dieser Vorgehensweise der signierten Rechnung sind keine privaten EndKunden betroffen. Ihnen kann ein Unternehmen unsignierte Rechnung zukommen lassen.66 Wenn sich unter den Kunden ein Unternehmen befindet, dann ist die digitale Signatur bei digitalen Rechnungen Pflicht ( 14 Abs. 3 UStG).67 § § § Digitale Gutschriften werden vor dem Gesetz wie eine Rechnung ( 14 Abs. 2 UStG) behandelt. Die signierten Gutschriften werden von Unternehmen für ihre Kunden erstellt, diese können auch ein Unternehmen sein, zum Beispiel ein Lieferant.68 Das bedeutet, alle oben genannten Anforderungen für 64 http://www.govello.de/govello, 29.08.08, 19:40 Uhr http://bundesrecht.juris.de/ustg 1980/ 14b.html, 24.08.08, 13:05 Uhr 66 http://www.elektronische-steuerpruefung.de/e rechnungen/steigauf 2.htm, 24.08.08, 13:03 Uhr 67 http://bundesrecht.juris.de/ustg 1980/ 14.html, 24.08.08, 13:00 Uhr 68 http://bundesrecht.juris.de/ustg 1980/ 14.html, 24.08.08, 13:00 Uhr 65 57 eine Rechnung muss die digitale Gutschrift ebenfalls erfüllen. Der Vorteil von digitalen Gutschriften ist, dass die Abwicklung zwischen Unternehmen und Lieferanten schneller stattfinden kann.69 Hierfür wird gern die AuthentiDateSignaturlösung eingesetzt, da sie zum Einen seit Jahren von nationalen und internationalen Unternehmen angewendet wird und zum Anderen die Auflagen des Deutschen Signaturgesetzes und der Europäischen Signaturrichtlinie erfüllt.70 71 Ein Unternehmen hat in der Regel noch mehr Dokumente zu sichern und aufzubewahren, die E-Mailkorrespondenz, Qualitätsunterlagen und Verträge. Dies betrifft nicht nur Unternehmen, sondern ebenfalls zum Beispiel die Patientenakte im Gesundheitswesen oder Schriftsätze im Rechtswesen. Es müssen bisher ausgedruckte Dokumente eingescannt, signiert und ebenfalls schon digital signierte Dokumente archiviert werden. Mit der Archivierung ergibt sich das Problem, dass die digitale Signatur von Dokumenten nicht zerstört werden darf und ihre Fälschungssicherheit gewährleistet sein muss. Durch die ständige Weiterentwicklung der Technik können alte Signaturen, die nach alten Standards erzeugt wurden, gebrochen werden. Werden alte Signaturen einfach durch Neue ersetzt, verliert das Dokument seine rechtliche Beweiskraft, deshalb muss eine andere Lösung gefunden werden. Als Lösung bietet sich die Übersignatur an. Sie verändert die Signatur der Dokumente nicht, sondern bildet einfach eine weitere Signatur über das signierte Dokument. Damit kann die Übersignatur jederzeit wieder entfernt werden, ohne die ursprüngliche Signatur zu zerstören.72 73 Andere Formen der Übersignatur sind die Langzeitsignatur und die Doppelund Mehrfachsignatur.74 75 Das Abschließen von Verträgen ist ein alltägliches Geschäft. Es werden ebenfalls digitale Signaturen bei elektronischen Verträgen eingesetzt. Dafür kommen unterschiedliche Programme zur eingesetzt, die mithilfe einer Reihe un69 http://www.esign.at/de/Loesungen/Gutschriftsverfahren.html, 24.08.08, 13:13 Uhr http://www.authentidate.de, 24.08.08, 13:20 Uhr 71 http://www.authentidate.de/fileadmin/pdf/Anwender/GER AuthentiDate Anwenderbericht BOSCH.pdf, 24.08.08, 13:25 Uhr 72 http://www.datenschutz.hessen.de/tb36k08.htm, 30.08.08, 9:19 Uhr 73 http://www.nrca-ds.de/Spec Uebersignatur V2.0.pdf, 30.08.08, 9:12 Uhr 74 http://www.xicrypt.com/xades-archiv-signatur.php, 30.08.08, 9:00 Uhr 75 http://www.cryptoshop.com/de/knowledgebase/pki/digitalsignature/longtermsig.php, 30.08.08, 9:05 Uhr 70 58 terschiedlicher Programme signiert werden.76 77 Bei der Industrie- und Handelskammer Gesellschaft für Informationsverarbeitung (IHK-GfI) ist es möglich einen elektronischen signierten Berufsausbildungsvertrag78 abzuschließen oder ein signiertes Ursprungszeugnis zu beantragen. Das Ursprungszeugnis dient für den Warenexport in andere Länder. Für beide Anwendungen werden digitale Signaturen verwendet.79 5.2.4 Gesundheitswesen Im Gesundheitswesen sind heute schon viele Daten von Patienten digital abgespeichert. Um den Verwaltungsaufwand für alle Beteiligten und die Kosten zu reduzieren, werden die medizinischen Daten zukünftig mithilfe der Gesundheitskarte, dem elektronischen Rezept, dem Heilberufsausweis und der elektronischen Patientenakte verwaltet. Die Gesundheitskarte (eGK) wird die bisherige Krankenversichertenkarte der Krankenversicherten ersetzen. Zur Zeit wird sie in der Praxis getestet. Die Gesundheitskarte ist eine SmartCard, auf ihr werden die medizinischen und persönlich notwendigen Daten des Karteninhabers gespeichert. Die Karte dient der elektronischen Rezeptverwaltung (eRezept) und der Online-Prüfung von Patientendaten. Anwender der Gesundheitskarte sollen Krankenversicherten, niedergelassenen Ärzten, Apotheken und Krankenhäusern sein. Hierdurch soll die Kommunikation mit den Krankenkassen erleichtert werden.80 81 82 76 http://www.seccommerce.de/de/produkte/seccontract/seccontract.html, 30.08.08, 10:00 Uhr 77 http://www.itsolution.at/signatur-anwendungen/PDF-dokumente-signieren.html, 27.08.08, 16:00 Uhr 78 http://signatur.ihk.de/SignaturV4/content/start.html, 11.08.08, 16:20 Uhr 79 http://cms.ihksaarland.de/ihk-saarland/Integrale?SID=CRAWLER&MODULE =Frontend&ACTION=ViewPage&Page.PK=72, 11.08.08, 16:22 Uhr 80 http://www.bmg.bund.de/cln 110/nn 1168258/sid AB3E35AA90F9FE9 AD593327AE3EE5D97/SharedDocs/Standardartikel/DE/AZ/E/GlossarElektronische-Gesundheitskarte/Grundfunktionen.html? nnn=true, 07.08.08, 18:08 Uhr 81 http://www.bmg.bund.de/cln 117/SharedDocs/Downloads/DE/Neu/ElektronischeGesundheitskarte Brosch C3 BCre,templateId=raw,property=publicationFile.pdf /Elektronische-Gesundheitskarte Brosch%C3%BCre.pdf, 07.08.08, 19:12 Uhr 82 http://www.bmg.bund.de/cln 117/nn 1168248/SharedDocs/Downloads/DE/Neu/ Informationen-zum-Thema-Datensicherheit Gesundheitskarte-aktuell-barrierefrei, templateId=raw,property=publicationFile.pdf/Informationen-zum-ThemaDatensicherheit Gesundheitskarte-aktuell-barrierefrei.pdf, 07.08.08, 19:14 Uhr 59 Das elektronische Rezept (eRezept) wird auf der Gesundheitskarte gespeichert. Es wird nach seiner Testphase schrittweise die auf Papier gedruckten Rezepte ablösen. Das eRezept soll zu einfacheren und besseren Kommunikationen zwischen Arztpraxen und Apotheken führen.83 Die elektronische Patientenakte (EPA) soll zukünftig ein Bestandteil der Gesundheitskarte sein. Darin werden alle relevanten Daten von Medikamenten und ihre Dosierungen bis hin zu Arztbriefen gespeichert.84 85 Der Heilberufsausweis (HBA) ist ein Berufausweis und berechtigt seinen Besitzer, dies sind Ärzte und Apotheker, nach der beruflichen Authentifizierung auf die Gesundheitskarte der Krankenversicherten zugreifen zu können, um Daten zu lesen oder elektronische Rezepte und medizinische Daten, zum Beispiel Arzneimitteldokumentation und Notfalldaten, zu speichern.86 5.2.5 Elektronische Ausweise Zu den elektronischen Ausweisen gehören, zum Beispiel die Gesundheitskarte (eGK), der Heilberufsausweis (HBA), der elektronische Dienst- und Truppenausweis, der elektronische Reisepass (ePass), der Personalausweis (ePA) und die Bürgerkarte. Die Gesundheitskarte (eGK) und Heilberufsausweis (HBA) wurden im oberen Abschnitt 5.2.4 Gesundheitswesen“ beschrieben. ” Der elektronische Dienst- und Truppenausweis (eDTA) wurde in einem Pilotbetrieb (von Mai 2003 bis Oktober 2005) getestet und wird schrittweise als Truppenausweis bei der Bundeswehr eingeführt. Außerdem ist geplant den digitalen Dienstausweis bei der Bundespolizei einzuführen. Es besteht damit die Möglichkeit je nach Bedarf der Behörde Funktionen, wie die elektronische Zeiterfassung, die Ver-/Entschlüsselung von Daten oder die elektronische Signatur, zu integrieren. Es müssen insgesamt rund 500.000 elektronische 83 http://www.bmg.bund.de/cln 117/nn 1168248/SharedDocs/Downloads/DE/Neu/ Elektronische-Gesundheitskarte Elektronisches-Rezept,templateId=raw, property=publicationFile.pdf/Elektronische-Gesundheitskarte Elektronisches-Rezept.pdf, 07.08.08, 18:00 Uhr 84 http://www.bmg.bund.de/cln 110/nn 1168248/SharedDocs/Downloads/DE/Neu/ Elektronische-Patientenakte Gesundheitskarte-bf,templateId=raw, property=publicationFile.pdf/Elektronische-Patientenakte Gesundheitskarte-bf.pdf, 07.08.08, 18:02 Uhr 85 http://de.wikipedia.org/wiki/Elektronische Patientenakte, 07.08.08, 18:06 Uhr 86 http://www.itwissen.info/definition/lexikon/Elektronische-Gesundheitskarteelectronic-card-of-healthness-eGK.html, 07.08.08, 18:10 Uhr 60 Dienst- und Truppenausweise produziert werden. Der Truppenausweis hat die Besonderheit als Persönliche Schlüsselkarte Bundeswehr“ (PKIBw) im ” Rahmen einer vorhandenen PK-Infrastruktur eingesetzt zu werden. Hierfür ist ein eigenes Trustcenter der Bundeswehr zuständig. 87 88 89 Der elektronische Reisepass (ePass) wurde in Deutschland im November 2005 eingeführt. Seit 1. November 2007 werden in elektronischen Pässen als biometrisches Merkmal das Passfoto und zusätzlich zwei Fingerabdrücke im Radio Frequency Chip (RF-Chip) gespeichert. Ein Ziel ist es, eine stärkere Bindung zwischen Person und Reisedokument herzustellen und somit die Identitätsüberprüfung von Reisenden deutlich zu verbessern. Dies soll mithilfe von biometrischen Merkmalen, die im ePass digital signiert gespeichert werden, gelingen. Dadurch wird der Reisepass gegen Verfälschung abgesichert. Außerdem wird das unbefugte Auslesen, von unter anderem den gespeicherten Fingerabdrücken, durch einen geheimen Zugriffschlüssel geschützt. Ohne diesen Schlüssel können die Fingerabdrücke nicht ausgelesen werden.90 In Deutschland wird für die Erzeugung der digitalen Signaturen in Reisepässen der ECDSA Algorithmus mit einer Schlüssellänge von 224 Bit verwendet.91 92 Der elektronische Personalausweis (ePA) soll ab 1. November 2010 den bisherigen Personalausweis ablösen. Der Unterschied zwischen dem elektronischen Reisepass (ePass) und dem elektronischen Personalausweis (ePA) liegt darin, dass hier der Bürger selbst bestimmen kann, ob seine Fingerabdrücke im ePA gespeichert werden oder nicht. Im Gegensatz dazu ist das Speichern dieser Abdrücke bei dem ePass Pflicht. Wenn der Bürger es wünscht, kann er auch seine eigene qualifizierte Signatur beantragen, die in seinen Personalausweis integriert wird. Dadurch kann der Bürger selbst Daten mit seiner Signatur 87 http://www.bmi.bund.de/nn 1082274/Internet/Content/Themen/ PaesseUndAusweise/Listentexte/el Dienstausweis.html, 07.08.08, 17:20 Uhr 88 http://www.heise.de/newsticker/Elektronischer-Dienst-und -Truppenausweis-kann-kommen–/meldung/106527, 07.08.08, 17:24 Uhr 89 http://www.y-punkt.de/portal/a/ypunkt/kcxml/04 Sj9SPykssy0xPLMnM z0vM0Y QjzKLNzKL9zXwBsmB2T5hpvqRcNGglFR9X4 83FR9b 0A YLciHJHR0 VFACtcqp0!/delta/base64xml/L2dJQSEvUUt3QS80SVVFLzZfMjZfTTEz?yw cont entURL=%2F01DB131000000001%2FW279SKFP447INFODE%2Fcontent.jsp, 07.08.08, 17:29 Uhr 90 http://www.bsi.bund.de/fachthem/epass/index.htm, 12.08.08, 11:00 Uhr 91 http://www.bsi.bund.de/fachthem/epass/faq.htm, 12.08.08, 11:05 Uhr 92 http://www.bsi.bund.de/fachthem/epass/Sicherheitsmerkmale.pdf, 12.08.08, 11:08 Uhr 61 signieren.93 94 95 96 Des Weiteren hat die Europäische Kommission unter dem Namen STORK (Secure idenTity arcOss boRders linKed) ein Pilotprojekt gestartet, das für die Anerkennung nationaler elektronischer Ausweissysteme und einfacheren Zugang zu öffentlichen Diensten in 13 Mitgliedsstaaten sorgen soll. Dadurch können EU-Bürger mit ihren elektronischen Personalausweisen überall in der EU öffentliche Dienste nutzen und sich europaweit ausweisen. Die Behördengänge können ebenfalls von zu Hause aus oder unterwegs mit einem mobilen Gerät erledigt werden. Zum Beispiel können sich Studenten mit ihrem elektronischen Personalausweis ihres Heimatlandes in einer ausländischen Universität einschreiben.97 Die digitale Bürgerkarte wird zur Zeit in Österreich eingesetzt. Ihre Aufgaben bestehen in der Signatur und der Identifikation. Die Bürgerkarte selbst ist keine extra Karte. Die Bürgerkartenfunktion kann auf vorhandenen Karten wie auf der Bankomatkarte98 , dem Studentenausweis oder Dienstausweis aktiviert werden. Damit werden diese Karten zur Bürgerkarte.99 100 5.2.6 Geschäftsverkehr In diesem Abschnitt wird die Sichtweise des End-Kunden im digitalen Geschäftsverkehr einbezogen. Heute werden viele Einkäufe via Internet erledigt. Das Online-Shopping oder eShopping endet immer mit der Bezahlung der bestellten Waren. Deshalb muss für beide Seiten, dem Käufer und dem Verkäufer, sichergestellt werden, dass kein Betrug möglich ist. Hierfür ist eine gesicherte Internetverbindung zwischen diesen beiden notwendig. Außerdem muss die Authentizität gewährleistet sein. Dies kann durch die Signatur des Kunden geschehen. Indem der Kunde sich auf der Webseite mit seiner Signatur bei der Anmeldung, dem Login, identifiziert.101 Dabei kann eine SSL-Verbindung (Secure Socket Layer-Verbindung) zwischen dem 93 http://de.wikipedia.org/wiki/Personalausweis, 12.08.08, 8:00 Uhr http://www.verwaltung-innovativ.de/cln 110/nn 684508/DE/Presse/PM/ PresseArchiv/2008/20080804 28 elektronischer personalausweis.html, 12.08.08, 8:05 Uhr 95 http://www.bmi.bund.de/cln 028/nn 1082274/Internet/Content/Themen/ PaesseUndAusweise/Listentexte/elPersonalausweis.html, 12.08.08, 8:20 Uhr 96 http://www.spiegel.de/politik/deutschland/0,1518,567502,00.html, 12.08.08, 8:10 Uhr 97 http://www.decoda.de/dcNewsDtl.htm?cid=271&id=1375, 29.08.08, 19:32 Uhr 98 http://de.wikipedia.org/wiki/Bankomatkarte,12.08.08, 8:40 Uhr 99 http://www.buergerkarte.at/de/index.html, 12.08.08, 8:35 Uhr 100 http://de.wikipedia.org/wiki/B%C3%BCrgerkarte, 12.08.08, 8:30 Uhr 101 http://www.mentana-claimsoft.de/smart-login-AVS-System.html, 30.08.08, 10:14 Uhr 94 62 Kunden und dem Server des Anbieter verwendet werden. Mit ihr wird die Kommunikation verschlüsselt und der Server identifiziert sich gegenüber dem Kunden.102 103 104 Die digitale Signatur kann ebenfalls beim Online-Banking verwendet werden, indem sie das jeweilige Transaktionsverfahren ersetzt, zum Beispiel die TAN-Listen. Es kann keine unbemerkte Änderung der Zahlungstransaktion auf dem Weg zur Bank kommen.105 106 Zur Zeit wird versucht ein System zu entwickeln, um Musik und Filme digital zu signieren. Damit sollen deren illegale Verbreitungen verhindert werden.107 Eine weitere interessante Verwendungsmöglichkeit der digitalen Signatur wäre bei Internet-Auktionshäusern, Online-Börsen (Job-, Partner-, etc.) oder Diskussionsforen. Leider nutzt zur Zeit keiner dieser Anbieter die digitale Signatur. Manche Internet-Auktionshäuser bieten den Service an, ein Geprüftes Mit” glied“ bei jeweiligen Anbieter zu werden. Das bedeutet, die Identität des Mitgliedes wird überprüft. Hierzu muss das Mitglied eine Bearbeitungsgebühr bezahlen und eine Kopie seines Personalausweises an den Anbieter senden. Nach der erfolgreichen Überprüfung darf das Mitglied die Kennzeichnung Geprüftes Mitglied“ tragen. Somit wird versucht mehr Vertrauen zwischen ” den Mitgliedern und dem Anbieter zu schaffen.108 109 5.2.7 Software Software ist ein umfangreiches Thema. Sie wird oft benutzt, gewartet, angeboten und verkauft. Für fast jede Anwendung gibt ein Programm. Unternehmen, die Softwareprodukte vertreiben, wollen sicherstellen, dass ihre Kunden mit ihrem Produkt zufrieden sind. Um dies zu gewährleisten, fließen viele Faktoren ein, wie der korrekte und vollständige Softwaredownload eines bezahlten Programms. Dazu zählen nicht nur komplett neue Programme, sondern auch Updates und Treiber. So bei Windows Vista, hier 102 http://www.bsi-fuer-buerger.de/browser/02 05.htm, 30.08.08, 10:30 Uhr http://www.ateo.de/ssl.html, 30.08.08, 11:21 Uhr 104 http://www.verisign.de/ssl/ssl-information-center/how-ssl-securityworks/index.html, 30.08.08, 10:55 Uhr 105 http://www.a-trust.at/info.asp?node=749&lang=GE&ch=1, 27.08.08, 16:21 Uhr 106 http://www.signatur.rtr.at/de/applications/banking.html, 27.08.08, 16:27 Uhr 107 http://www.macwelt.de/news/fav/355011/, 02.09.08, 12:35 Uhr 108 http://www.sambid.de/gm.php, 01.09.08, 15:10 Uhr 109 http://www.easta.de/, 01.09.08, 15:23 Uhr 103 63 können nur noch signierte Treiber installiert werden. Die Signaturen können im Treiber integriert oder angehängt sein.110 Dagegen stehen Updates und Patches für die Solaris-Versionen signiert oder unsigniert für die Installation zur Verfügung.111 Damit ein Kunde, der die Software von einer Webseite herunterlädt, feststellen kann, ob die Software manipuliert wurde, kann er die Signatur der Software überprüfen, genauso wie bei einer E-Mail. Um den Signiervorgang von Software zu ermöglichen, gibt es zum Beispiel so genannte Mobile Code Signing, Code Signing oder Code Signing Certificate. Mit diesen kann ein Unternehmen seine Updates, Treiber und weitere Programme signieren.112 113 114 Es gibt die Variante Signaturen mit einer Hardwarekomponenten zu erzeugen, eine davon ist das PrivateServer HSM (Hardware Security Module). Es wird in der Regel von Unternehmen eingesetzt. Die Hardware kann ohne Signaturkarte die Daten signieren. Dies sind dann fortgeschrittene Signaturen. Werden qualifizierte Signaturen verlangt, kann die Hardwarekomponente diese ebenfalls benutzen und die qualifizierten Signaturen erzeugen. Das PrivateServer HSM kann pro Sekunde bis zu 500 Signaturen erstellen. Dabei setzt es RSA mit 1024 Bit ein. Problematisch hierbei ist nur die zu kurze Schlüssellänge, sie sollte momentan 2048 Bit betragen, um die Sicherheit der Signatur zu gewährleisten. Wie sich dann die Performance verändert, wird von Firmenseite aus nicht erwähnt. Der Vorteil von dieser Variante der Signaturerzeugung liegt in der besseren Performance bei riesigen Datenvolumen. Leider gibt es diese Signaturvariante nicht oft. Dies ist vermutlich ein Grund, warum wenige Informationen darüber von den Firmen zu erhalten sind.115 116 110 http://www.microsoft.com/whdc/winlogo/drvsign/kmsigning.mspx, 01.09.08, 17:05 Uhr 111 http://docs.sun.com/app/docs/doc/819-7280/6n983ua13?l=de&a=view, 01.09.08, 17:20 Uhr 112 http://www.trustcenter.de/products/tc mobile code signing.htm, 04.08.08, 16:55 Uhr 113 http://www.trustcenter.de/products/code signing certificate.htm, 04.08.08, 16:59 Uhr 114 http://www.verisign.com/products-services/security-services/codesigning/index.html, 02.09.08, 11:47 Uhr 115 http://www.arx.com/documents/PrivateServer-Brochure.pdf, 31.08.08, 14:11 Uhr 116 http://www.bdc.at/produkte/hotinvoice.html, 31.08.08, 15:07 Uhr 64 5.2.8 Digitale Dokumente In diesem Abschnitt werden die digitalen Dokumente erläutert. Darunter fallen nicht nur digitale Dokumente wie beispielsweise PDF-Dateien, sondern auch E-Mails, Online-Formulare bzw. -Anträge und Verträge. Jedes digitale Dokument kann signiert werden, sofern die zum Signieren verwendete Software das benutzte Dateiformat kennt und damit umgehen kann. Dies sind die meist verwendeten Formate für digitale Dateien: PDF, DOC, XLS, TIFF, GIF, JPG und XML.117 118 Mit der E-Mail, der elektronischen Post“, werden viele unterschiedliche In” formationen täglich versendet und empfangen. Dafür werden verschiedene E-Mailprogramme benutzt, wie Outlook119 , Thunderbird120 121 , Eudora122 und IncrediMail123 . Die E-Mail besteht nicht immer nur aus reinem Text. Es können auch Dateien angehängt werden. Wird eine E-Mail signiert, dann wird die Signatur in Form einer Datei der E-Mail angehängt.124 Das Format der Signatur ist unterschiedlich. So kann diese Datei für X.509-Zertifikate125 126 folgende Endungen haben: P7B, P7C, P7S, sig, CMS, OSCI, PKCs7, PKCS#7 und sxml. Zusätzlich kann die hinzugefügte Datei ebenfalls zuvor signiert worden sein. Die Signatur für diese Datei kann in ihr integriert werden, zum Beispiel in einer PDF-Datei, dann ist die Signatur für diese Datei nicht durch die Dateiendung zu erkennen. 127 Werden Dateien per E-Mail verschickt, dann können sie verschiedene Daten enthalten von Dokumenten, über Bilder bishin zu Programmen. Online-Formulare und Verträge zählen ebenfalls zu den digitalen Dokumenten, sie wurden im Abschnitt 5.2.1 Behörden“ und im Abschnitt 5.2.3 Un” ” ternehmen“ bereits vorgestellt. 117 http://www.itsolution.at/digitale-signatur-produkte/desktop/trustDesk/ professional.html, 27.08.08, 16:10 Uhr 118 http://www.decoda.de/mddload.htm?id=2034, 27.08.08, 16:14 Uhr 119 http://office.microsoft.com/de-de/outlook/FX100487751031.aspx, 22.08.08, 9:40 Uhr 120 http://www.mozilla-europe.org/de/products/thunderbird/, 22.08.08, 8:50 Uhr 121 http://www.thunderbird-mail.de/wiki/Mailverschl%C3%BCsselung mit S/MIME, 22.08.08, 8:52 Uhr 122 http://www.eudora.com/, 22.08.08, 9:15 Uhr 123 http://www.incredimail.com/german/splash.aspx, 22.08.08, 9:01 Uhr 124 http://de.wikipedia.org/wiki/Elektronische Post, 27.08.08, 13:00 Uhr 125 X.509 ist ein wichtiges Standardformat für Zertifikate von der ITU-T (International Telecommunication Union-Telecommunication). 126 http://de.wikipedia.org/wiki/X.509, 22.08.08, 8:34 Uhr 127 https://www.signaturportal.de/signaturportal.de/tutorial,49.html, 22.08.08, 8:38 Uhr 65 5.2.9 Digital signierte Tonaufnahmen Digitale Tonaufnahmen dienen zur Dokumentation und werden unter anderem bei wichtigen Geschäftstelefonaten oder in der Flugsicherung aufgezeichnet. Durch die digitalen Medien können solche Aufnahmen vermehrt und leichter gespeichert, aber auch einfacher gefälscht werden. Das Fraunhofer-Institut hat das Patent für ein Verfahren zur digitalen Signierung von Audio-Aufnahmen erhalten, dass der Fälschung vorbeugt. Mit dieser VoIP-Signatur (engl. Voice over Internet-Protocol, Internet-Telefonie) können Tondokumente vor Manipulation geschützt werden. Außerdem wird die Integrität und Nichtabstreitbarkeit der Daten sichergestellt. Dieses Verfahren kann mit beliebigen Schlüsseln und Schlüssellängen arbeiten.128 129 5.2.10 Sonstige Einsatzmöglichkeiten Hier sind noch weitere Einsatzgebiete aufgeführt, wie die Tourismusbranche, die Lotterie, das Fax, die Bahn- und Flugtickets. In der Tourismusbranche werden signierte Rechnungen erstellt, beispielsweise bei Hotels und Autovermietungen.130 131 Ein weiteres Einsatzgebiet für die digitale Signatur ist die Lotterie. Hier werden mit einem elektronischen Zufallsgenerator die Gewinnnummern erzeugt. Diese werden signiert und sicher an die Datenverarbeitungsanlage der Lotterie übermittelt.132 133 Ebenfalls können die Quittungsangaben signiert werden.134 Eine andere Möglichkeit signierte Dokumente zu verschicken ist, sie mit einem Computerfax zu senden.135 Allerdings wird die digitale Signatur in Form eines 2D-Barcodes erstellt. Dieser besteht aus übereinander gestapelten nor” malen“ Barcodes und kann daher meistens nur aus bestimmten Richtungen gescannt werden. Das heißt, es werden bestimmte Scanner zum Einlesen 128 http://www.sit.fraunhofer.de/pressedownloads/pressemitteilungen/20071203.jsp, 20.08.08, 9:30 Uhr 129 http://de.wikipedia.org/wiki/IP-Telefonie, 20.08.08, 9:39 Uhr 130 http://www.siglab.de/2008/07/hotelde-signiert-elektronische-rechnungen/, 28.08.08, 14:22 Uhr 131 http://www.carlsonwagonlit.com/de/countries/de/partner/partner avis.html, 28.08.08, 14:24 Uhr 132 http://www.nkl-albert.de/index.php?link=ziehung, 28.08.08, 14:15 Uhr 133 http://www.nkl.de/nkl/NKL/sogehts/spielsystem/gewinnzahlen.html, 28.08.08, 14:16 Uhr 134 http://www.westlotto.de/de/lottoportal/magazin/agb.jsp, 28.08.08, 14:18 Uhr 135 http://www.toolmaker.de/?id=9, 28.08.08, 14:36 Uhr 66 benötigt. Ein 2D-Barcode kann bis etwa 2.000 Bytes erfassen und ausgedruckt oder kann in eine PDF-Datei umgewandelt werden. Dies geschied folgendermaßen: Die zu signierenden Daten werden an einen Server gesendet. Dort werden die Daten signiert. Hier können zum Beispiel die SmartCards eingesetzt werden. Danach wird die Signatur mit den Daten entweder in 2D-Barcodeform oder als PDF-Datei zum Kunden geschickt.136 137 In der Abbildung 10 auf Seite 67 sind zwei Beispiele für 2D-Barcodes zu sehen. 138 139 140 Abbildung 10: Zwei 2D-Barcodearten aus 140 Der Linke ist ein PDF417- und der Rechte ein Aztec Code. Der Aztec Code ist ein 2D-Barcode. Er wird bei der Deutschen Bahn für die Online-Tickets bzw. Mobile-Tickets eingesetzt. Bis zu 10 Minuten vor Abfahrt des Zuges kann per Handy das Mobile-Ticket gebucht werden.141 142 143 Ebenso werden 2D-Barcodes bei der Lufthansa für die elektronischen Flugtickets (etix -Tickets) verwendet. Außerdem können die etix -Tickets per E-Mail oder SMS-Link auf das Mobiltelefon des Kunden übertragen werden. Bis zu zwei Stunden vor Abflug kann das etix -Ticket gebucht werden. Die kurzfristige Umbuchung kann über das Internet, den Call-Centern und den Reisebüros erfolgen. Bei dieser Verfahrensweise muss sich der Fluggast im- ® ® 136 ® http://www.egssoft.de/rightfax signatur.htm?gclid=CLq09Mqh JQCFQ9WtAodMX PEZA, 28.08.08, 14:36 Uhr 137 http://www.pdfstore.de/datenblatt/digiSeal office Produktblatt.pdf, 13.09.08, 18:30 Uhr 138 http://www.blitztools.com/de/barcode-knowhow/pdf417.html, 28.08.08, 14:37 Uhr 139 http://www.blitztools.com/de/barcode-knowhow/datamatrix.html, 28.08.08, 14:38 Uhr 140 http://www.blitztools.com/de/barcode-knowhow/qr.html, 28.08.08, 14:39 Uhr 141 http://www.bahn.de/p/view/planen/bahncorporate/mobileservices.shtml, 28.08.08, 14:42 Uhr 142 http://de.wikipedia.org/wiki/Strichcode, 28.08.08, 14:44 Uhr 143 http://www.qualitysoft.de/de/produkte/qs barcode.htm, 28.08.08, 14:47 Uhr 67 mer ausweisen können. Dies gilt auch für die Bahnfahrt.144 145 146 Aus diesen genannten Bereichen werden im 6. Kapitel “Szenarien“ Beispiele für die Szenarien genommen. 144 http://erlebnis-wissen.lufthansa.com/index.php?id=2502m, 28.08.08, 14:50 Uhr http://www.pcwelt.de/start/mobility handy pda/pda smartphone/news/ 160656/lufthansa fuehrt mobile bordkarte ein/, 28.08.08, 14:55 Uhr 146 http://mobile.lufthansa.com, 28.08.08, 14:59 Uhr 145 68 6 Szenarien Im Kapitel 4 Parameter - n, wi , T, Hi , Ki“ wurden für das GMSS Erkennt” nisse über die wählbaren Parameter und gute Parameterkombinationen ermittelt. Diese Ergebnisse werden hier verwendet. Zuerst wird eine Übersicht im Abschnitt 6.1 Schlüssellängen - SmartCard“ ” über die eingesetzten SmartCards und die Sicherheit der verwendeten Schlüssellängen der Algorithmen gegeben. Danach werden in diesem Kapitel im Teil 6.2 Szenarien - Beispiele“ von den verschiedenen Einsatzgebieten aus Ka” pitel 5.2 Einsatzgebiete“ einige ausgesuchte Beispiele herausgenommen und ” als Szenario genauer untersucht. Anschließend werden die Prioritäten der anderen Signaturverfahren mit denen von GMSS verglichen. Im nächsten Kapitel “Zusammenfassung - Fazit“ werden alle Erkenntnisse aus dieser Arbeit zusammengeführt, bewertet und das Ergebnis vorgestellt. 6.1 Schlüssellängen - SmartCard Für alle Szenarien müssen die Sicherheitsstandards miteinbezogen werden. Es sollten immer nur die momentanen sicheren Alogrithmen mit den entsprechenden Schlüssellängen bzw. Sicherheitsparametern eingesetzt werden. Ein Vergleich mit einem unsicheren Algorithmus ist daher nicht sinnvoll. Die folgende Tabelle 16 gibt einen Überblick auf die betrachteten Algorithmen und die Gültigkeit ihrer Schlüssellängen bzw. Sicherheitsparameter. * Dieser Wert ist von der Bundesnetzagentur festgelegt worden.147 gültig bis Jahr Mitte 2008* 2008 2018 2040 2066 2090 RSA 1024* 1329 2048 3154 4440 DSA 147 160 190 224 256 ECDSA 147 160 190 224 256 GMSS 147 160 190 224 256 Tabelle 16: Gültigkeit der Schlüssellängen Die Schlüssel werden in Bits angegeben. * bedeutet, dass Algorithmen mit diesen Schlüssellängen heute als unsicher gelten. Die Sicherheit des GMSS hängt vom Sicherheitsparameter n ab. Die bestimmten Werte für die Gültigkeit der Schlüssellängen stammen von der Webseite http://www.keylength.com, 30.08.08, 20:11 Uhr. 69 Um die Sicherheit der Algorithmen zu gewährleisten, müssen diese mindestens die geforderten Schlüssellängen bzw. Sicherheitsparameter besitzen: l RSA benötigt eine Schlüssellänge von 2048 Bits. l DSA sollte mindestens eine Schlüssellänge von 147 Bits nutzen, es werden bereits 160 Bits verwendet. l ECDSA besitzt eine Schlüssellänge von 147 Bits und es setzt zur Zeit 224 Bits ein. l GMSS muss mindestens einen Sicherheitsparameter mit 147 Bits anwenden. Es werden 160 Bits für die Szenarien verwendet. Bevor die Betrachtung der Szenarien beginnen kann, wird die SmartCard genauer untersucht. Da sie in den meisten Szenarien in Verbindung mit der qualifizierten Signatur eingesetzt wird. Das bedeutet, dass die Schlüsselgrößen vom Speicherplatz der SmartCard und die Schlüsselerzeugungszeit vom Trustcenter bestimmt werden, wodurch diese Werte unabhängig vom Szenario werden. Aus diesem Grund werden die Prioritäten der Schlüsselgrößen und -erzeugungszeit verallgemeinert, indem die häufigsten verwendeten SmartCards als Referenzen benutzt werden.148 Der Aufbau der Signaturkarten ist in der ISO 7816 gemäß dem Signaturgesetz festgelegt. ISO (International Organisation for Standardization) ist ein Zusammenschluss von nationalen Standardisierungsgremien.149 150 Ein kleiner Einblick in die Inhalte dieser ISO kann auf der Webseite 151 nachgelesen werden. Die häufigsten eingesetzten SmartCards sind: l Die PrivateCard von ARX mit einer Speichergröße zwischen 32 KB und 64 KB. Eine Erweiterung auf 72 KB ist geplant. Sie verarbeitet RSA mit 1024 - 2048 Bits.152 147 http://www.bundesnetzagentur.de/enid/15b50d4c6c6c6f1f86c6b207e244 cad6,0/Sachgebiete/Qualifizierte elektronische Signatur gz.html, 07.09.08, 19:17 Uhr 148 http://www.seccommerce.de/de/fachwissen/technologie/smartcards/smartcards architektur.html, 02.09.08, 9:15 Uhr 149 http://www.iso.org/, 02.09.08, 13:15 Uhr 150 http://www.cryptoshop.com/index.php, 02.09.08, 13:18 Uhr 151 http://www.cryptoshop.com/de/knowledgebase/technology/smartcard/ chipcontact.php, 02.09.08, 17:48 Uhr 152 http://www.arx.com/languages/german/products/privatecard.php, 01.09.08, 10:45 Uhr 70 l Signtrust ist eine Signaturkarte von der Deutschen Post. Sie hat einen Speicherplatz von 32 KB und kann RSA mit bis zu 2048 Bits benutzen.153 l Die Signaturkarten von der D-Trust GmbH verarbeiten RSA mit 2048 Bits. Angaben über ihre Speichergröße werden nicht gemacht.154 155 l Die Signaturkarte von DATEV hat einen Speicherplatz von 32 KB und kann RSA mit bis zu 2048 Bits benutzen.156 157 l Die TC QSign Signaturkarte von der TC TrustCenter GmbH verwendet RSA mit einer Schlüssellänge von 2048 Bits. Angaben über ihre Speichergröße werden nicht gemacht.158 l T-TeleSec TCOSmin-Karte von der Deutschen Telekom besitzt Spei- cherplatz von ca. 31 KB und kann RSA mit 512 - 1024 Bits verarbeiten.159 160 161 Es gibt noch weitere Signaturkarten. In der Regel haben sie einen Speicherplatz von 32 KB bis 64 KB und verarbeiten RSA mit einer Schlüssellänge von bis zu 2048 Bits. Aber es existieren ebenfalls Signaturkarten die DSA, ECDSA oder RSA mit Schlüssellängen bis zu 4096 Bits ausführen.162 Für die Szenarien wird in der Regel als Signaturalgorithmus RSA mit einer Schlüssellänge von 2048 Bits und wenn eine Signaturkarte eingesetzt wird, diese mit einem Speicherplatz von ca. 32 KB angenommen. Die Verteilung der Prioritäten für die Schlüsselgrößen und die Schlüsselerzeugungzeit ist in 153 http://www.deutschepost.de/dpag?tab=1&skin=hi&check=yes&lang=de DE&xmlFile =link1015459 49577, 01.09.08, 11:03 Uhr 154 https://www.d-trust.net/internet/files/Produktblatt Multicard.pdf, 30.08.08, 18:01 Uhr 155 https://www.d-trust.net/internet/content/kommunikationssicherheit.html, 30.08.08, 17:57 Uhr 156 http://www.datev.de/portal/ShowPage.do?pid=dpi&nid=1103&zg=n, 02.09.08, 9:17 Uhr 157 http://www.seccommerce.de/de/fachwissen/technologie/smartcards/smartcards architektur.html, 02.09.08, 9:15 Uhr 158 http://www.trustcenter.de/products/tc qsign.htm, 02.09.08, 14:11 Uhr 159 http://www.t-systems-telesec.com/smartcards/sma 02 management.html, 30.08.08, 20:42 Uhr 160 http://www.t-systems-telesec.com/downloads/tcos.pdf, 30.08.08, 20:50 Uhr 161 http://www.siglab.de/uebersicht-signaturmarkt/signaturmarkt/t-telesec/, 30.08.08, 20:45 Uhr 162 http://www.seccommerce.de/de/fachwissen/technologie/smartcards/smartcards architektur.html, 02.09.08, 9:15 Uhr 71 der folgenden Abbildung 11 auf Seite 72 zu sehen. Die Prioritäten aus der Abbildung 11 für die Schlüsselgrößen sind gleich, weil Abbildung 11: Prioritäten - Schlüsselgrößen und -erzeugungszeiten priSchlGrö: Größe des privaten Schlüssels, öffenSchlGrö: Größe des öffentlichen Schlüssels, SchlZeit: Schlüsselerzeugungszeit Hier sind die verteilten Prioritäten für die Schlüssellängen und -erzeugungszeit zu sehen. Es können pro Größe bzw. Zeit maximal 10 Punkte vergeben werden. beide die gleiche Länge bei RSA mit 2048 Bits haben. Die Schlüsselerzeugungszeit ist vom jeweiligen Trustcenter abhängig, da keine Informationen zu erhalten sind, wie viel Zeit hierfür aufgebracht wird, erhält die Schlüsselerzeugungszeit eine deutlich niedigere Priorität als die Schlüssellängen. Da von der Beantragung bis zum Versand und dem anschließendem Erhalt der Signaturkarte in der Regel einige Tage vergehen, wie bei der D-Trust Signaturkarte.163 Deshalb ist es wichtiger, dass die Schlüssel auf die Karten passen. Diese Prioritätswerte werden in den Szenarien benutzt. Die Bewertung der Signaturgröße, der Verifikationszeit und der Signaturerstellungszeit wird anhand der Bewertungsliste in der folgenden Tabelle 17 auf Seite 73 durchgeführt. Damit erfolgt die Zuordnung der Prioritäten zu den Werten. Die Einteilung der Werte in der Bewertungsliste wird von den auftretenden Werten in den Beispielen beeinflusst. Deshalb gibt es bei der Zeit kleine Überschneidungen, wie bei 10-15 und 15-45 Sekunden. Die Angaben der Unternehmen unterscheiden sich und somit wird manchmal die Zeitspanne von 10-15 oder 15-45 Sekunden genannt. 163 http://www.d-trust.net/internet/content/beantragung2.html, 03.09.08, 16:32 Uhr 72 Bei den Größen treten derartige Überschneidungen ebenfalls auf. Diese Bewertungsliste wird in den Beispielen verwendet. Priorität 1 Größe in KB > 1 MB 2 > 500 < 1 MB > 200 ≤ 500 > 80 ≤ 200 > 30 ≤ 80 2 MB >8 ≤ 30 3 4 5 6 7 >6 ≤8 8 >4 ≤6 klein 9 >2 ≤4 10 ≤2 sehr klein Zeit in Sek Stunden viel Zeit ab 5 Min 120-300 (2 - 5 Min) einige Zeit 60-120 (1 - 2 Min) 45-60 15-45 mittel mit wenigen Mausklicks 10-15 nicht so schnell nur Sekunden 5-10 schnell ein paar Sekunden 1-4 mit einem Klick wenige Sekunden <1 Bruchteile einer Sekunde sehr schnell Tabelle 17: Bewertungsliste - Verteilung der Prioritäten -“ bedeutet, dass keine Wertung vorgenommen wird. ” Hier werden den einzelnen Werten ihre Prioritäten zu gewiesen. Mit der Verwendung von Karten und Kartenlesern werden die Berechnungszeiten immer etwas länger sein, als die Berechnungszeiten ohne Einsatz von 73 Karten. Wie groß diese Differenz der Zeiten ist, hängt von den Karten und Kartenlesern ab. Deshalb werden bei den GMSS-Berechnungen in den Szenarien die Übertragungsgeschwindigkeiten der Signaturkarten und Kartenleser nicht berücksichtigt. Es sollte bei der Betrachtung der GMSS-Ergebnisse dieser Gedanke nicht vergessen werden. Die Verifikation bei GMSS wird nur für eine Signatur durchgeführt. Es findet keine Zertifikatsprüfung statt, da eine solche Überprüfung von vielen Faktoren abhängt, wie Länge der Zertifikatskette, das Laden und Durchsuchen von Sperrlisten und weitere. Viele Unternehmen geben ihre Verifikationen für eine Signaturprüfung und für eine Zertifikatsprüfung an. Es werden nur die Werte für eine Signaturprüfung verwendet. Es gibt verschiedene Möglichkeiten eine Signatur einem digitalen Dokument hinzu zufügen. Die Signatur kann sichtbar oder unsichtbar in ein Dokument integriert oder als externe Signatur angehängt werden. Der einzigste Unterschied zwischen diesen Signaturmöglichkeiten ist, dass ihre Größen variieren. Zum Beispiel ist eine integrierte unsichtbare Signatur größer als eine externe Signatur. In den Szenarien werden die externen Signaturen betrachtet, da sie häufiger eingesetzt werden. Die Berechnungsoperationen für GMSS werden auf einem Pentium Dualcore 1,8 GHz durchgeführt. Dadurch benötigt eine Hashfunktionsauswertung 0,002 ms. Ein Aufruf des PRNG´s braucht ebenfalls 0,002 ms.[6] Im nächsten Abschnitt werden einzelne ausgewählte Beispiele für die verschiedenen Einsatzbereiche gezeigt. 74 6.2 Szenarien - Beispiele Dies sind die ausgewählten Szenarien: 1. Behörden - Elster 2. Unternehmen - Rechnung 3. Elektronische Ausweise - ePass 4. Geschäftsverkehr - Online-Einkaufen 5. Software - Mobile Code Signing 6. Digitale Dokumente - PDF 7. Sonstige Bereiche - Bahnticket 6.2.1 Behörden - Elster Elster dient zur digitalen Einreichung der Steuererklärung an das Finanzamt. Elster ist eine Softwarekomponente der Finanzbehörde. Eine weiteres Programm ist das ElsterFormular. Es ist ein spezielles Ausfüllprogramm für die Steuerformulare.164 Außer den Privatpersonen können auch Unternehmer und Arbeitgeber Elster nutzen. Es gibt ebenfalls die Möglichkeit andere Steuererklärungsprogramme zu verwenden, die Elster unterstützen. Eine Liste dieser Programme ist auf der Webseite 165 zu finden. Das Programm Elster und die Java-Anwendungen für das ElsterOnline Portal tragen jeweils eine digitale Signatur der Finanzverwaltung, die die Unverändertheit der Programme gewährleisten.166 Es werden hier die Signaturen der Anwender betrachtet und nicht die der Softwareprogramme. Die unterstützten Signaturkarten werden auf der Webseite 167 angegeben. Außerdem können die fortgeschrittene und die qualifizierte Signatur eingesetzt werden. Der verwendete Signaturalgorithmus ist RSA mit einer Schlüssellänge bis zu 2048 Bits. 164 http://www.3sat.de/neues/sendungen/magazin/87851/index.html, 08.09.08 14:13 Uhr 165 https://www.elster.de/elster soft.php, 03.09.08, 17:25 Uhr https://www.elster.de/pro sicher.php, 03.09.08, 17:32 Uhr 167 https://www.elsteronline.de/eportal/UnterstuetzteSignaturkarten.tax, 17:45 Uhr 166 75 03.09.08, Nachdem ein Anwender die Vorkehrungen getroffen hat, Installation der Software, Beantragung und Erhalt der Signaturkarte, kann er seine Steuerdaten in Elster eingeben. Danach werden diese komprimiert und anschließend signiert. Somit werden zwei Dateien, die komprimierte Steuerdatei und die Signatur, verschlüsselt an das Finanzamt via Internet übermittelt. 2008 haben 6,3 Millionen Anwender ihre Steuererklärung per Elster eingereicht. Für das Finanzamt bedeutet dies, dass 6,3 Millionen Signaturen zu verifizieren sind. Für dieses Szenario werden 6,3 Millionen Signaturkarten mit ihren Schlüssel gebraucht und ebenso viele Signaturen werden verifiziert. l Elster Es wird angenommen, dass die Verifikation der Signatur in Anbetracht der Anzahl der Daten schnell erfolgt. Die Signaturgröße wird sehr klein geschätzt, da sonst das Datenvolumen bei dieser Anwenderanzahl zu groß wird. Es wird angenommen, dass die Signaturerstellung nicht so schnell erfolgt wie die Verifikation. In der Abbildung 12 auf Seite 77 sind die bewerteten Größen und Zeiten zu sehen. Die Prioritäten für die Schlüsselerzeugungzeit und die Schlüsselgrößen werden vom Abschnitt 6.1 Schlüssellängen - SmartCard“ übernommen. Um ” die Prioritäten festzulegen, werden pro Größe bzw. Zeit maximal 10 Punkte vergeben. Je mehr Punkte eine Größe bzw. Zeit besitzt, desto höher ist ihre Priorität. Damit GMSS diese Prioritäten aus Abbildung 12 auf Seite 77 erfüllen kann, müssen seine Parameter für die Anzahl von ca. 6,3 Millionen Signaturen pro Jahr und damit 172.603 pro Tag ausgelegt werden. Da GMSS binäre MerkleBäume besitzt, ist die beste Signaturanzahlannäherung 218 = 262.144 Signaturen. Deshalb werden die Parameter entsprechend gewählt. Sie stehen in der Tabelle 18. Die berechneten Ergebnisse des GMSS mit diesen ParameGMSS Parameter Werte n w1 w2 w3 T H1 H2 H3 K1 K2 K3 160 Bits 7 6 6 3 8 5 5 4 2 2 Tabelle 18: Elster - GMSS - Parameter für 218 = 262.144 Signaturen 76 Abbildung 12: Elster - RSA SigZeit: Signaturerzeugungszeit, SigGrö: Signaturgröße, VerifZeit: Signaturverifikation, SchlZeit: Schlüsselerzeugungszeit, privSchlGrö: private Schlüsselgröße, öffenSchlGrö: öffentliche Schlüsselgröße Die bewerteten Angaben in der Abbildung stammen aus dem Absatz Elster. l tern stehen in der Tabelle 19 auf Seite 77. SigZeit VerifZeit SigGrö SchlZeit priSchlZeit öffenSchlZeit GMSS-Formeln cof f line + conline cverif y msignature ckeygen mprivkey mpubkey Ergebnisse 16,2 ms 6,9 ms 1,97 KB 2,1 s 269,9 KB 20 Byte Prioritäten 10 10 10 9 3 10 Tabelle 19: Elster - GMSS 218 = 262.144 Signaturen werden berechnet. SigZeit: Signaturerzeugungszeit, SigGrö: Signaturgröße, VerifZeit: Signaturverifikation, SchlZeit: Schlüsselerzeugungszeit, privSchlGrö: private Schlüsselgröße, öffenSchlGrö: öffentliche Schlüsselgröße Es können insgesamt maximal 10 Punkte pro Größe bzw. Zeit verteilt werden. Mit den genannten Parametern aus Tabelle 18 auf Seite 76 wurden diese Ergebnisse berechnet und mit der Liste 17 auf Seite 73 bewertet. Die Abbildung 13 auf Seite 78 stellt die bewerteten Ergebnisse der GMSSPrioritäten grafisch dar. 77 Abbildung 13: Elster - GMSS Die Beschriftungen und Werte der Grafik ergeben sich aus Tabelle 19 auf Seite 77. Ein Vergleich der beiden Abbildungen ’Elster - RSA’ (Abb. 12 auf Seite 77) mit ’Elster - GMSS’ (Abb. 13 auf Seite 78) zeigt, dass GMSS alle Prioritäten von RSA erfüllt und sogar bessere Werte erzielt, Reduzierung der Zeiten und Größen. Die einzigste Ausnahme bildet der private Schlüssel, er kann nicht auf 32 oder 64 KB reduziert werden ohne einen Verlust der Signaturanzahl zu verursachen. Dieses Problem kann dadurch behoben werden, indem statt einer Signaturkarte ein anderes Speichermedium mit mehr Speicherplatz eingesetzt wird. 6.2.2 Unternehmen - Rechnung Ein Unternehmen hat die Wahl seine Rechnungen selbst zu signieren oder einen Dritten im Namen des Unternehmens die Rechnungen signieren zu lassen. Hierbei ist zu beachten, dass wenn ein Unternehmen selbst seine Rechnung signiert, es auch die entsprechende Hard- und Software benötigt, dazu gehören Signaturkarten, Kartenleser, Signatur- und Verifikationssoftware. Wird dagegen ein Dritter als Dienstleister eingeschaltet, entfallen die Kosten für die Hard- und Software, jedoch entstehen dafür die Kosten für die Dienstleistung. Das Unternehmen kann sich entscheiden, ob der Dienstleister nur die Rechnungen signiert oder sie auch gleich an die Rechnungsempfänger weiterleitet. Beim Letzteren können ebenfalls eingehende signierte Rechnun- 78 gen von anderen Ausstellern empfangen, geprüft und archiviert werden.168 169 Für dieses Szenario wird als Signaturalgorithmus RSA mit 2048 Bits und Signaturkarte verwendet. Dabei kann entweder das Unternehmen oder der Dienstleister mit seiner Karte signieren. In der folgenden Tabelle 20 werden die Prioritätsmittelwerte aus fünf Unternehmen bestimmt, die Software bzw. Dienstleistungen zur signierten Rechnungserstellung anbieten. UN 1 UN 2 UN 3 UN 4 UN 5 MW SigZeit 9 9 10 4 10 8 SigGrö 7 10 5 5 8 7 VerifZeit 9 3 7 9 7 SchlZeit 1 1 1 1 1 1 priSchlGrö 10 10 10 10 10 10 öffenSchlGrö 10 10 10 10 10 10 Tabelle 20: Rechnung - RSA Es werden im Durchschnitt 100.000 Signaturen berechnet. SigZeit: Signaturerzeugungszeit, SigGrö: Signaturgröße, VerifZeit: Signaturverifikation, SchlZeit: Schlüsselerzeugungszeit, privSchlGrö: private Schlüsselgröße, öffenSchlGrö: öffentliche Schlüsselgröße Es können insgesamt maximal 10 Punkte pro Größe bzw. Zeit verteilt werden. Die bewerteten Angaben in der Tabelle stammen aus den Absätzen UN 1 bis UN 5. Die Grafik 14 auf Seite 80 stellt die bewerteten Mittelwerte der RSAPrioritäten bildlich dar. l l Die folgenden Absätze UN 1 bis UN 5 beinhalten die Angaben der Unternehmen zu ihren Produkten. Diese Werte werden in Tabelle 20 gemäß der Bewertungsliste 17 auf Seite 73 bewertet. l UN 1: Die Firma hostNET Medien GmbH 170 verwendet zur Signierung der Rechnungen RSA mit 1024 Bits und 2048 Bits und unterstützt die SmartCards von D-Trust. SigZeit: Sie erstellt bis zu 100.000 Signaturen pro Tag mit einem Kartenleser. Damit beträgt die Signaturerzeugungszeit ca. eine Sekunde für eine Signatur. 168 http://koeln-bonn.business-on.de/elektronische-rechnungen-einsparpotenzial-fuerunternehmen id13264.html, 24.08.08, 15:00 Uhr 169 http://www.trustcenter.de/products/signing services.htm02.09.08, 9:40 Uhr 170 http://www.signagate.de/index.php, 04.08.08, 11:40 Uhr 79 Abbildung 14: Rechnung - RSA Die Beschriftungen der Grafik ergeben sich aus Tabelle 20 auf Seite 79. SigGrö: Die Signaturgröße hat ca. 8 KB. VerifZeit: Die Verifikation dauert zwischen 15 und 45 Sekunden für eine Signatur mit einer Zertifikatsprüfung. Da nur die Verifikation für eine Signatur ohne Zertifikatsprüfung verglichen werden, wird diese Zeit nicht bewertet. l UN 2: Das Unternehmen AWP Consult GmbH 171 verwendet RSA mit 2048 Bits und unterstützt die SmartCards von D-Trust. SigZeit: Es werden mehrere 100.000 Signaturen pro Tag erzeugt. Dadurch wird angenommen, dass die Signaturerstellung ca. eine Sekunde für eine Signatur braucht. SigGrö: Eine Signatur ist ca. 1,95 KB ≈ 2.000 Byte groß. VerifZeit: Die Verifikation einer Signatur benötigt eine Sekunde. Aber wird noch das Zertifikat überprüft, dann dauert eine Verifikation je nach Netzauslastung 10-15 Sekunden. l UN 3: Die Firma XimantiX GmbH 172 verwendet RSA mit 2048 Bits. Zusätzlich bietet XimantiX GmbH die Möglichkeit, im Namen des Kunden die Daten zu signieren. 171 172 http://www.awp-consult.de/, 04.08.08, 12:20 Uhr http://www.ximantix.com/, 07.08.08, 13:35 Uhr 80 SigZeit: Es können mit einem Server bis zu 200.000 Signaturen pro Tag erstellt werden. Somit wird geschätzt, dass die Signaturerstellung 0,43 Sekunden für eine Signatur braucht. SigGrö: Es wurden keine Angaben über die Signaturgröße getroffen. Deshalb wird angenommen, dass die Signaturen viel kleiner als 2 MB sind, da die signierten Rechnungen per E-Mail verschickt werden und ihre durchschnittliche Größe 2 MB ist. VerifZeit: Die Verifikation für eine Signatur nimmt einige Zeit in Anspruch. l UN 4: Signmail 173 gehört zur Mentana-Claimsoft Aktiengesellschaft. Als Signaturalgorithmus wird RSA mit 2048 Bits eingesetzt. Sigmail signiert im Namen des Kunden die Daten. SigZeit: 1000 Signaturen pro Tag können erstellt werden. Deshalb wird angenommen, dass Signaturgenerierung ca. 1,4 Minuten für eine Signatur dauert. SigGrö: Es wurden keine Angaben über die Signaturgröße getroffen. Deshalb wird angenommen, dass die Signaturen viel kleiner als 2 MB sind. VerifZeit: Beim Testen wurde für die Verifikation einer Signatur 10 Sekunden und ca. 2 für die Anzeige des ermittelten Hashwertes bestimmt. l UN 5: Das Unternehmen D-TRUST GmbH 174 setzt RSA mit 2048 Bits ein. Zusätzlich kann eine Signaturkarte beantragt werden. Es gibt ebenfalls die Möglichkeit, dass der Dienstleister im Namen des Kunden die Daten signiert. SigZeit: Der Signaturvorgang beträgt ca. 0,8 Sekunden für eine Signatur. SigGrö: Eine Signatur ist ca. 5 KB groß. VerifZeit: Die Verifikation einer Signatur erfolgt online und benötigt je nach Servergeschwindigkeit wenige Sekunden. 173 174 https://signmail.de/modules/kp suche/index.php, 07.08.08, 14:20 Uhr https://www.d-trust.net/internet/content/index.html, 03.09.08, 16:15 Uhr 81 Damit GMSS den Bedarf von 100.000 Signaturen pro Tag und die Prioritätsanforderungen abdecken kann, werden zum Einen seine Parameter für 217 = 131.072 Signaturen ausgelegt, das ist die beste Annäherung an die geforderte Signaturanzahl, und zum Anderen werden dazu seine Parameter wie in der Tabelle 21 gewählt. GMSS Parameter Werte n 160 Bits wi 9 T 8 H1 3 H2 = . . . = H8 2 Ki 2 Tabelle 21: Rechnung - GMSS - Parameter für 217 = 131.072 Signaturen, mit i = 1, . . . , 8 Die berechneten Ergebnisse des GMSS mit diesen Parametern stehen in der Tabelle 22. Ein Vergleich der beiden Abbildungen ’Rechnung - RSA’ (Abb. 14 auf Seite SigZeit VerifZeit SigGrö SchlZeit privSchlGrö öffenSchlGrö GMSS-Formeln cof f line + conline cverif y msignature ckeygen mprivkey mpubkey Ergebnisse 0,14 s 81,8 ms 3,5 KB 1,3 s 156,3 KB 20 Byte Prioritäten 10 10 9 9 4 10 Tabelle 22: Rechnung - GMSS 217 = 131.072 Signaturen werden berechnet. SigZeit: Signaturerzeugungszeit, SigGrö: Signaturgröße, VerifZeit: Signaturverifikation, SchlZeit: Schlüsselerzeugungszeit, privSchlGrö: private Schlüsselgröße, öffenSchlGrö: öffentliche Schlüsselgröße Es können insgesamt maximal 10 Punkte pro Größe bzw. Zeit verteilt werden. Mit den oben genannten Parametern, wurden diese Ergebnisse erstellt und mit der Liste 17 auf Seite 73 bewertet. Die Abbildung 15 auf Seite 83 zeigt die GMSS-Prioritäten. 80) mit ’Rechnung - GMSS’ (Abb. 15 auf Seite 83) zeigt, dass GMSS den Bedarf an der Signaturanzahl deckt und dass es alle Prioritäten von RSA erfüllt. Fast alle Werte werden deutlich kleiner. Es wurde bei GMSS versucht den privaten Schlüssel so klein wie nur möglich zu halten, aber er ist trotzdem wesentlich größer als bei RSA. 82 Abbildung 15: Rechnung - GMSS Die Beschriftungen der Abbildung ergeben sich aus Tabelle 22 auf Seite 82. 6.2.3 Elektronische Ausweise - ePass Da der ePass an den Flughäfen benötigt wird, wurde dieses Szenario ausgesucht. Jährlich werden über den Frankfurter Flughafen (Frankfurt am Main) bis zu 56 Millionen Passagiere befördert.175 Damit werden für dieses Szenario bis zu 56 Millionen Signaturen jährlich verifiziert. Die Passagiere kommen zur Passkontrolle und geben ihren ePass für kurze Zeit ab. Währenddessen wird die Signatur und damit die Unversehrtheit der Daten geprüft und ob der Reisende auch wirklich der richtige ePassbesitzer ist. War die Prüfung erfolgreich, bekommt der Passagier seinen ePass wieder zurück. Dieses Vorgehen muss sehr schnell erfolgen, da alle Passagiere kontrolliert werden müssen. Die Prioritäten für die Schlüsselerzeugungzeit und die Schlüsselgrößen sind von dem Passamt abhängig und werden dort intern berechnet. Der ePass verwendet ECDSA mit 224 Bits.176 l ePass Es wird angenommen, dass die Verifikation der Signatur sehr schnell erfolgt, da alle Reisende durch die Passkontrolle müssen. Die Signaturgröße wird vom Speicherplatz des ePasses auf 32 KB beschränkt. 175 176 http://de.wikipedia.org/wiki/Flughafen Frankfurt am Main, 03.08.09, 19:33 Uhr http://www.bsi.bund.de/fachthem/epass/faq.htm, 07.08.08, 16:30 Uhr 83 Es wird angenommen, dass die Signaturerzeugung einige Zeit in Anspruch nimmt. In der Abbildung 16 sind die bewerteten Größen und Zeiten zu sehen. Die Prioritäten für die Schlüsselerzeugungzeit und die Schlüsselgrößen werden vom Abschnitt 6.1 Schlüssellängen - SmartCard“ übernommen. Um die ” Prioritäten festzulegen, werden pro Größe bzw. Zeit maximal 10 Punkte vergeben. Je mehr Punkte eine Größe bzw. Zeit besitzt, desto höher ist ihre Priorität. Abbildung 16: ePass - ECDSA SigZeit: Signaturerzeugungszeit, SigGrö: Signaturgröße, VerifZeit: Signaturverifikation, SchlZeit: Schlüsselerzeugungszeit, privSchlGrö: private Schlüsselgröße, öffenSchlGrö: öffentliche Schlüsselgröße Die bewerteten Angaben in der Abbildung stammen aus dem Absatz ePass. l Zur Erfüllung dieser Prioritäten aus Abbildung 16 und den täglichen Bedarf von 153.425 Signaturen wird für GMSS eine Annäherung von 218 = 262.000 Signaturen angenommen. Seine Parameter werden entsprechend gewählt. Sie stehen in der Tabelle 23 auf Seite 85. Die berechneten Ergebnisse des GMSS mit diesen Parametern stehen in der Tabelle 24 auf Seite 85. Ein Vergleich der beiden Abbildungen ’ePass - ECDSA’ (Abb. 16 auf Seite 84) mit ’ePass - GMSS’ (Abb. 17 auf Seite 86) zeigt, dass GMSS alle Prioritäten von ECDSA erfüllt. Die Zeit für die Verifikation von beiden Verfahren ist gleich. Aber für die Signaturerstellung wird bei GMSS weniger Zeit 84 GMSS Parameter Werte n wi T H1 H2 H3 K1 K2 K3 224 Bits 2 3 8 5 5 2 2 2 Tabelle 23: ePass - GMSS - Parameter für 218 = 262.144 Signaturen, mit i = 1, 2, 3 benötigt und die Signaturgröße wird bei GMSS geringfügig reduziert. Einzigste Ausnahme bildet ebenfalls der private Schlüssel von GMSS, wie in den vorherigen Abschnitten. Er ist im Vergleich bei ECDSA wesentlich kleiner. SigZeit VerifZeit SigGrö SchlZeit privSchlGrö öffenSchlGrö GMSS-Formeln cof f line + conline cverif y msignature ckeygen mprivkey mpubkey Ergebnisse 0,4 s 1,1 ms 10,1 KB 4,2 ms 496,6 KB 28 Byte Prioritäten 10 10 6 10 2 10 Tabelle 24: ePass - GMSS Es werden 218 = 262.144 Signaturen berechnet. SigZeit: Signaturerzeugungszeit, SigGrö: Signaturgröße, VerifZeit: Signaturverifikation, SchlZeit: Schlüsselerzeugungszeit, privSchlGrö: private Schlüsselgröße, öffenSchlGrö: öffentliche Schlüsselgröße Es können insgesamt maximal 10 Punkte pro Größe bzw. Zeit verteilt werden. Mit den oben genannten Parametern, wurden diese Ergebnisse erstellt und mit der Liste 17 auf Seite 73 bewertet. Die Grafik 17 auf Seite 86 stellt die bewerteten Ergebnisse der GMSSPrioritäten bildlich dar. 6.2.4 Geschäftsverkehr - Online-Einkaufen Bei den täglich stattfindenden Online-Geschäften muss der Kunde sich authentifizieren und sensible, sowie persönliche, Daten übertragen. Hierbei hilft die digitale Signatur, indem sie vor Manipulation schützt. Für das Szenario wird RSA mit 2048 Bits als Signaturalgorithmus mit Signaturkarte verwendet. In diesem Szenario wird der Mittelwert der Prioritäten mithilfe von drei verschiedenen Anbietern, die hierfür Software anbieten, bestimmt. In der folgenden Tabelle 25 auf Seite 86 werden die Prio85 Abbildung 17: ePass - GMSS Die Beschriftungen der Grafik ergeben sich aus Tabelle 24 auf Seite 85. ritätsmittelwerte der drei Unternehmen bestimmt, die Software zur signierten Dokumenterstellung anbieten. UN 1 UN 2 UN 3 MW SigZeit 9 10 9 9 SigGrö 5 9 8 7 VerifZeit 9 10 8 9 SchlZeit 1 1 1 1 priSchlGrö 10 10 10 10 öffenSchlGrö 10 10 10 10 Tabelle 25: Online-Einkaufen - RSA SigZeit: Signaturerzeugungszeit, SigGrö: Signaturgröße, VerifZeit: Signaturverifikation, SchlZeit: Schlüsselerzeugungszeit, privSchlGrö: private Schlüsselgröße, öffenSchlGrö: öffentliche Schlüsselgröße, MB: Prioritätsmittelwert, UN i: Unternehmen i = 1, 2, 3 Es können insgesamt maximal 10 Punkte pro Größe bzw. Zeit verteilt werden. Die bewerteten Angaben in der Tabelle stammen aus den Absätzen UN 1 bis UN 3. Die Grafik 18 auf Seite 87 stellt die bewerteten Mittelwerte der RSAPrioritäten bildlich dar. l l Die folgenden Absätze UN 1 bis UN 3 beinhalten die Angaben der Unternehmen zu ihren Produkten. Diese Werte werden in Tabelle 25 auf Seite 86 gemäß der Bewertungsliste 17 auf Seite 73 bewertet. l UN 1: Die Mentana-Claimsoft Aktiengesellschaft 177 177 http://www.mentana-claimsoft.de, 09.08.08, 15:20 Uhr 86 verwendet RSA mit Abbildung 18: Online-Einkaufen - RSA Die Beschriftungen aus der Grafik ergeben sich aus Tabelle 25 auf Seite 86. 2048 Bits. Die unterstützten Signaturkarten sind in der PDF-Datei auf Webseite178 aufgelistet. SigZeit: Pro Stunde können maximal 1800 Signaturen generiert werden. Damit wird angenommen, dass die Signaturerstellung ca. 2 Sekunden für eine Signatur dauert. SigGrö: Es wurden keine Angaben über die Signaturgröße getroffen. Deshalb wird angenommen, dass die Signaturen viel kleiner als 2 MB sind. VerifZeit: Es können bis 1000 Verifikationen pro Stunde durchgeführt werden. Somit wird angenommen, dass die Überprüfung von einer Signatur ca. 4 Sekunden benötigt. l UN 2: Das Unternehmen SecCommerce Informationssysteme GmbH 179 verwendet RSA mit 2048 Bits. SigZeit: Für die Signaturerstellung werden 0,8 Sekunden pro Signatur benötigt. SigGrö: Die Signaturgröße ist von der Karte abhängig. Somit ist die Signatur etwa 4 KB groß. 178 http://www.mentana.de/cms/newsletter/0707 Kartenunterstuetzung.pdf, 18:41 Uhr 179 http://www.seccommerce.de/index.html, 05.08.08, 12:10 Uhr 87 03.09.08, VerifZeit: Die Verifikation ohne Zertifikatsprüfung liegt im Millisekundenbereich. Mit der Zertifikatsprüfung werden ca. 5-10 Sekunden pro Signatur gebraucht, wobei dies dann wesentlich von der Transaktionszeit der unterliegenden Datenbank abhängt, in der die Sperrlisten vorgehalten werden. l UN 3: Der Deutscher Sparkassenverlag 180 verwendet RSA momentan mit 1024 Bits. Es wird auf 2048 Bits noch umgestellt. SigZeit: Es sind bis zu 40.000 Signaturen pro Tag möglich. Deshalb wird geschätzt, dass die Signaturerstellung ca. 2 Sekunden für eine Signatur benötigt. SigGrö: Die Signaturgröße ist klein. Weil die Karte nur kleine Datenmengen signiert, da der private Schlüssel nie die Karte verlässt. VerifZeit: Es wurden keine Angaben über die Verifizierungszeit getroffen. Deshalb wird angenommen, dass die Verifizierung schnell erfolgt, da der Kunde auf seine Bestellung abgeben möchte. Als durchschnittliche Signaturanzahl pro Tag werden 56.000 Signaturen angenommen. Die Annäherung an diese Signaturmenge wird mit 216 = 65.536 Signaturen für GMSS gewählt. Um die Anforderungen, die Prioritäten und die Signaturanzahl, zu erfüllen, werden die Parameter wie in der Tabelle 26 belegt. Die berechneten Ergebnisse des GMSS mit diesen Parametern stehen GMSS Parameter Werte n 160 Bits wi 9 T 5 H1 4 H2 = . . . = H5 3 Ki 2 Tabelle 26: Online-Einkaufen - GMSS - Parameter für 216 = 65.536 Signaturen, mit i = 1, . . . , 5 in der Tabelle 27 auf Seite 89. Ein Vergleich der beiden Abbildungen ’Online-Einkaufen - RSA’ (Abb. 18 auf Seite 87) mit ’Online-Einkaufen - GMSS’ (Abb. 19 auf Seite 89) zeigt, dass GMSS alle Prioritäten von RSA erfüllt. Für die Signaturerstellung und Verifikation wird weniger Zeit benötigt, ebenso wird die Signaturgröße verkleinert. Die einzigste Ausnahme bildet ebenfalls der private Schlüssel von GMSS. Er ist im Vergleich zu RSA zu groß. 180 http://www.s-trust.de/produkte leistungen/signatursoftware/index.htm, 15:50 Uhr 88 05.08.08, SigZeit VerifZeit SigGrö SchlZeit privSchlGrö öffenSchlGrö GMSS-Formeln cof f line + conline cverif y msignature ckeygen mprivkey mpubkey Ergebnisse 91 ms 51,1 ms 2,3 KB 1,6 s 208,1 KB 20 Byte Prioritäten 10 10 9 9 3 10 Tabelle 27: Online-Einkaufen - GMSS Es werden 216 = 65.536 Signaturen erstellt. SigZeit: Signaturerzeugungszeit, SigGrö: Signaturgröße, VerifZeit: Signaturverifikation, SchlZeit: Schlüsselerzeugungszeit, privSchlGrö: private Schlüsselgröße, öffenSchlGrö: öffentliche Schlüsselgröße Es können insgesamt maximal 10 Punkte pro Größe bzw. Zeit verteilt werden. Mit den oben genannten Parametern, wurden diese Ergebnisse berechnet und mit der Liste 17 auf Seite 73 bewertet. Die Abbildung 19 stellt die GMSSPrioritäten grafisch dar. Abbildung 19: Online-Einkaufen - GMSS Die Beschriftungen und Werte der Grafik ergeben sich aus Tabelle 27. 6.2.5 Software - Mobile Code Signing Mit dem Mobile Code Signing werden von einem Dienstleister die Programme der Unternehmen signiert. Die TC TrustCenter GmbH181 bietet das Portal Mobile Code Signing an. Mit ihm wird das Signieren von Applikationen für Mobiltelefone oder Smartphones ermöglicht. Die zu signierende Software wird 181 http://www.trustcenter.de, 04.08.08, 16:55 Uhr 89 über das Portal hochgeladen und dort signiert. Die Kunden können sich die signierte Software herunterladen und die Signatur überprüfen, ob sich wirklich vom Unternehmen stammt. Dies schafft mehr Vertrauen zwischen dem Unternehmen und dem Kunden. Für die Signatur wird RSA mit 2048 Bit verwendet. Pakete mit 1000, 3000, 5000, 10.000 und > 10.000 Signaturen pro Monat werden vom Dienstleister angeboten.182 183 In diesem Szenario werden 10.000 Signaturen pro Monat angenommen. Es werden nicht immer die fertigen Programme oder Updates signiert, sondern es können bereits während der Softwareentwicklung Programmcodes von den Entwicklern signiert werden. Damit kann jederzeit nachvollzogen werden, wer wann die Software bearbeitet hat. In der Abbildung 20 sind die bewerteten Größen und Zeiten zu sehen. Die Prioritäten für die Schlüsselerzeugungzeit und die Schlüsselgrößen werden vom Abschnitt 6.1 Schlüssellängen - SmartCard“ übernommen. Um die ” Prioritäten festzulegen, werden pro Größe bzw. Zeit maximal 10 Punkte vergeben. Je mehr Punkte eine Größe bzw. Zeit besitzt, desto höher ist ihre Priorität. Abbildung 20: Mobile Code Signing - RSA SigZeit: Signaturerzeugungszeit, SigGrö: Signaturgröße, VerifZeit: Signaturverifikation, SchlZeit: Schlüsselerzeugungszeit, privSchlGrö: private Schlüsselgröße, öffenSchlGrö: öffentliche Schlüsselgröße Die bewerteten Angaben in der Abbildung stammen aus dem Absatz Mobile Code Signing. l 182 183 http://www.trustcenter.de/products/tc mobile code signing.htm, 31.08.08, 15:10 Uhr http://www.trustcenter.de/products/code signing certificate.htm, 31.08.08, 15:23 Uhr 90 Hier werden die Informationen des Unternehmens wiedergegeben. l Mobile Code Signing SigZeit: Die Signaturerstellung dauert zur Zeit 1 bis 2 Minuten. Sie wird aber deutlich verringert werden und mittel- bis kurzfristig im Sekundenbereich liegen. SigGrö: Die Signaturgröße ist abhängig von der Schlüssellänge. Sie sollte aber in keinem Fall größer als ein oder zwei KB werden. VerifZeit: Die Verifikation liegt ohne Zertifikatsprüfung gibt im Millisekundenbereich. Mit einer Zertifikatsprüfung kann es je nach der Schnelligkeit der Internetverbindung, auch Minuten dauern. Für die Erfüllung dieser Prioritäten, wird die Signaturanzahl von 333 Signaturen pro Tag für GMSS angenommen. Die beste Annäherung von GMSS sind 29 = 512 Signaturen. Aus diesem Grund werden die Parameter wie in der Tabelle 28 gewählt. Die berechneten Ergebnisse des GMSS mit diesen GMSS Parameter Werte n wi T H1 H2 H3 H4 Ki 160 Bits 9 4 3 2 2 2 2 Tabelle 28: Mobile Code Signing - GMSS - Parameter für 29 = 512 Signaturen, mit i = 1, . . . , 4 Parametern stehen in der Tabelle 29 auf Seite 92. Ein Vergleich der beiden Abbildungen ’Mobile Code Signing - RSA’ (Abb. 20 auf Seite 90) mit ’Mobile Code Signing - GMSS’ (Abb. 21 auf Seite 92) zeigt, dass GMSS alle Prioritäten von RSA erfüllt. Für die Signaturerstellung wird weniger Zeit bei GMSS benötigt. Die Signaturgröße und Verifikation sind in beiden Verfahren gleich. Die einzigste Ausnahme bildet hier auch der private Schlüssel bei GMSS größer als bei RSA, wie in den vorherigen Abschnitten. 91 SigZeit VerifZeit SigGrö SchlZeit privSchlGrö öffenSchlGrö GMSS-Formeln cof f line + conline cverif y msignature ckeygen mprivkey mpubkey Ergebnisse 87,1 ms 40,9 ms 1,7 KB 0,66 s 79,5 KB 20 Byte Prioritäten 10 10 10 10 5 10 Tabelle 29: Mobile Code Signing - GMSS Es werden 29 = 512 Signaturen berechnet. SigZeit: Signaturerzeugungszeit, SigGrö: Signaturgröße, VerifZeit: Signaturverifikation, SchlZeit: Schlüsselerzeugungszeit, privSchlGrö: private Schlüsselgröße, öffenSchlGrö: öffentliche Schlüsselgröße Es können insgesamt maximal 10 Punkte pro Größe bzw. Zeit verteilt werden. Mit den oben genannten Parametern, wurden diese Ergebnisse berechnet und mit der Liste 17 auf Seite 73 bewertet. Die Grafik 21 zeigt die GMSSPrioritäten. Abbildung 21: Mobile Code Signing - GMSS Die Beschriftungen der Grafik ergeben sich aus Tabelle 29. 92 6.2.6 Digitale Dokumente - PDF Es gibt die unterschiedlichsten Dateiformate und viele von ihnen können signiert werden. In diesem Szenario werden für das Signieren nur PDF-Dateien angenommen, weil sie jedes Signaturprogramm verwenden kann und sie das häufigste Dateiformat für das Signieren ist. Als Signaturalgorithmus wird RSA mit 2048 Bits eingesetzt. In der folgenden Tabelle 30 wird der Mittelwert der Prioritäten bestimmt. UN 1 UN 2 UN 3 UN 4 MW SigZeit 10 8 9 9 9 SigGrö 10 10 9 10 VerifZeit 10 8 9 9 9 SchlZeit 1 1 1 1 1 priSchlGrö 10 10 10 10 10 öffenSchlGrö 10 10 10 10 10 Tabelle 30: Digitales Dokument PDF - RSA SigZeit: Signaturerzeugungszeit, SigGrö: Signaturgröße, VerifZeit: Signaturverifikation, SchlZeit: Schlüsselerzeugungszeit, privSchlGrö: private Schlüsselgröße, öffenSchlGrö: öffentliche Schlüsselgröße, MB: Prioritätsmittelwert, UN i: Unternehmen i = 1, 2, 3, 4 Es können insgesamt maximal 10 Punkte pro Größe bzw. Zeit verteilt werden. Die bewerteten Angaben in der Tabelle stammen aus den Absätzen UN 1 bis UN 4. Die Grafik 22 auf Seite 95 stellt die bewerteten Mittelwerte der RSAPrioritäten bildlich dar. l l Die folgenden Absätze UN 1 bis UN 4 beinhalten die Angaben der Unternehmen zu ihren Produkten. Diese Werte werden in Tabelle 30 gemäß der Bewertungsliste 17 auf Seite 73 bewertet. l UN 1: Die Firma ARX 184 kann RSA mit bis zu 4096 Bits einsetzen. Bei ARX liegen die Schlüsselerzeugungszeit unter 500 ms und es können ebenfalls fortgeschrittene Signaturen erstellt werden. Da in diesem Szenario nur qualifizierte Signaturen betrachtet werden, werden die Schlüsselgrößen und Zeiten aus dem Abschnitt 6.1 Schlüssellängen ” SmartCard“ verwendet. SigZeit: Es können 300 Signaturoperationen in der Sekunde bei RSA mit 1024 Bits durchgeführt werden. Deshalb wird geschätzt, dass 200 184 http://www.arx.com, 08.08.08, 14:35 Uhr 93 Signaturoperationen pro Sekunde bei RSA mit 2048 Bits ausgeführt werden. Damit wird angenommen, dass das Signieren pro Signatur 5 Millisekunden dauert. SigGrö: Die Signaturgröße beträgt ca. 2 KB. VerifZeit: Die Verifikation ohne Zertifikatsprüfung dauert Bruchteile einer Sekunde. Mit Zertifikatsprüfung werden ein paar Sekunden benötigt. l UN 2: Die intarsys consulting GmbH 185 verwendet RSA mit 2048 Bits.186 SigZeit: Beim Testen der Signaturerstellung wurden ca. 3-10 Sekunden für eine Signatur ermittelt. SigGrö: Die Signaturgröße kann sichtbar ca. 86 KB oder unsichtbar ca. 19,3 KB betragen, wenn sie in einer PDF-Datei integriert wird. Sie kann ebenfalls ca. 1,09 KB groß werden, wenn sie als externe Signatur erzeugt wird. Diese Ergebnisse stammen aus Tests. Für das Szenario wird die externe Signatur verwendet. VerifZeit: Für die Verifikation wurden ca. 6 Sekunden für eine Signatur in Tests benötigt. l UN 3: Die IT Solution GmbH 187 verwendet RSA mit bis zu 2048 Bits, DSA mit SHA-1 und ECDSA mit bis zu SHA512. SigZeit: Die Signaturerstellung dauert etwa 1 Sekunde. SigGrö: Die Signatur kann bis zu 21 KB betragen. Bei ihr handelt es sich, um eine integrierte Signatur. Deshalb ist sie größer als eine externe Signatur. Da in den Szenarien nur externe Signaturen betrachtet werden, wird diese Signaturgröße nicht mit den anderen verglichen und somit fließt sie nicht in die Bewertung ein. VerifZeit: Die Verifikation dauert etwa 1 Sekunde. l UN 4: Das Unternehmen SecCommerce Informationssysteme GmbH 188 verwendet RSA mit 2048 Bits. SigZeit: Für die Signaturerstellung wird ca. eine Sekunde pro Signatur benötigt. 185 http://www.intarsys.de, 09.08.08, 15:50 Uhr http://www.bsi.de/zertifiz/zert/sigbestaet/02081.pdf, 03.09.08, 19:00 Uhr 187 http://www.itsolution.at, 05.08.08, 17:35 Uhr 188 http://www.seccommerce.de/index.html, 05.08.08, 12:10 Uhr 186 94 SigGrö: Die Signaturgröße ist abhängig von der Karte abhängig und ist etwa 4 KB groß. VerifZeit: Die Verifikation ohne Zertifikatsprüfung dauert ca. eine Sekunde. Mit der Zertifikatsprüfung werden ca. 5-10 Sekunden pro Signatur gebraucht. Abbildung 22: Digitales Dokument PDF - RSA Die Beschriftungen der Grafik ergeben sich aus Tabelle 30 auf Seite 93. Damit GMSS den Bedarf von angenommen 17.280 Signaturen pro Tag und von den Prioritäten aus Tabelle 30 auf Seite 93 decken kann, wird GMSS für 215 = 32.768 Signaturen, das ist die beste Annäherung an die Signaturanzahl, ausgelegt. Deshalb werden die Parameter wie in der Tabelle 31 gewählt. Die berechneten Ergebnisse des GMSS mit diesen Parametern stehen in der GMSS Parameter Werte n w1 w2 w3 T H1 H2 H3 K1 K2 K3 160 Bits 7 6 6 3 9 3 3 5 2 2 Tabelle 31: Digitales Dokument PDF - GMSS - Parameter für 215 = 32.768 Signaturen Tabelle 32 auf Seite 96. Ein Vergleich der beiden Abbildungen ’Digitales Dokument PDF - RSA’ (Abb. 22 auf Seite 95) mit ’Digitales Dokument PDF - GMSS’ (Abb. 23 auf Seite 96) zeigt, dass GMSS alle Prioritäten von RSA erfüllt. Für die Signaturerstellung und Verifikation wird weniger Zeit benötigt. Die Signaturgröße 95 SigZeit VerifZeit SigGrö SchlZeit privSchlGrö öffenSchlGrö GMSS-Formeln cof f line + conline cverif y msignature ckeygen mprivkey mpubkey Ergebnisse 15,4 ms 6,9 ms 1,9 KB 3,4 s 235,6 KB 20 Byte Prioritäten 10 10 10 9 3 10 Tabelle 32: Digitales Dokument PDF - GMSS Es werden 215 = 32.768 Signaturen berechnet. SigZeit: Signaturerzeugungszeit, SigGrö: Signaturgröße, VerifZeit: Signaturverifikation, SchlZeit: Schlüsselerzeugungszeit, privSchlGrö: private Schlüsselgröße, öffenSchlGrö: öffentliche Schlüsselgröße Es werden 215 = 32.768 Signaturen erstellt. Es können insgesamt maximal 10 Punkte pro Größe bzw. Zeit verteilt werden. Mit den oben genannten Parametern, wurden diese Ergebnisse berechnet und mit der Liste 17 auf Seite 73 bewertet. Die Abbildung 23 stellt die GMSSPrioritäten grafisch dar. Abbildung 23: Digitales Dokument PDF - GMSS Die Beschriftungen der Grafik ergeben sich aus Tabelle 32. von GMSS ist kleiner als bei RSA. Die einzigste Ausnahme bildet ebenfalls der private Schlüssel von GMSS. Er erfüllt nicht die Anforderungen, da er zu groß ist. 96 6.2.7 Sonstige Einsatzmöglichkeiten - Bahnticket Bahnfahrkarten oder auch Bahntickets genannt, können heute über das Internet bestellt werden. Dieses Angebot nutzten 2007 32.000 Kunden.189 Die Kunden melden sich auf der entsprechenden Webseite mit ihren Daten an und bestellen, wie beim Online-Einkauf, ihr Ticket. Die Daten des Kunden und alle Informationen über die gebuchte Fahrt werden signiert. Die Signaturerstellung erfolgt auf den Servern der Bahn. Das Ticket und seine Signatur wird dem Kunden digital zu geschickt. Der Kunde hat die Wahl, ob er sein Ticket ausdrucken oder digital auf seinem Mobiltelefon mitnimmt. Zur Erinnerung, diese Signatur wird als ein 2D-Barcode dargestellt. Dadurch kann dieser auch vom beleuchteten Handydisplay gescannt werden. Die Verifikation muss sehr schnell erfolgen, da sie bei der Zugkontrolle durchgeführt wird und alle Passagiere kontrolliert werden müssen. Deshalb darf diese Überprüfung nicht Minuten dauern. Für dieses Szenario werden 32.000 Signaturkarten mit ihren Schlüssel gebraucht und ebenso viele Signaturen werden erzeugt und verifiziert. Die Prioritäten für die Schlüsselerzeugungzeit und die Schlüsselgrößen sind von der Bahn abhängig und werden intern berechnet. Da die Bahntickets beruflich abgesetzt werden können, müssen sie entsprechende Signaturen tragen. Deshalb wird hier angenommen, dass RSA mit 2048 Bits die Daten signiert und diese Signatur in einen 2D-Barcode umgewandelt wird. Der öffentliche Schlüssel zum Verifizieren muss dann in den Lesegeräten enthalten sein. l Bahnticket Es wird angenommen, dass die Verifikation der Signatur sehr schnell durchgeführt wrid. Die Signaturgröße ist klein, weil der 2D-Barcode ihre Größe auf maximal 1,95 KB ≈ 2.000 Byte beschränkt. Es wird geschätzt, dass die Signaturerstellung viel langsamer erfolgt als die Verifikation. In der Abbildung 24 auf Seite 98 sind die bewerteten Größen und Zeiten zu sehen. Die Prioritäten für die Schlüsselerzeugungzeit und die Schlüsselgrößen werden vom Abschnitt 6.1 Schlüssellängen - SmartCard“ übernommen. Um ” die Prioritäten festzulegen, werden pro Größe bzw. Zeit maximal 10 Punkte vergeben. Je mehr Punkte eine Größe bzw. Zeit besitzt, desto höher ist ihre 189 http://www.derwesten.de/nachrichten/nachrichten/wirtschaft-undfinanzen/2008/3/28/news-33697614/detail.htm, 05.09.08, 10:11 Uhr 97 Priorität. Abbildung 24: Bahnticket - RSA SigZeit: Signaturerzeugungszeit, SigGrö: Signaturgröße, VerifZeit: Signaturverifikation, SchlZeit: Schlüsselerzeugungszeit, privSchlGrö: private Schlüsselgröße, öffenSchlGrö: öffentliche Schlüsselgröße Die bewerteten Angaben in der Abbildung stammen aus dem Absatz Bahnticket. l Um diese Prioritäten zu erfüllen, werden für die GMSS Parameter die Anzahl von 32.000 Signaturen pro Jahr angenommen. Die beste Signaturanzahlannäherung ist 215 = 32.768 Signaturen. Aus diesem Grund werden die Parameter wie in der Tabelle 33 gewählt. Die berechneten Ergebnisse des GMSS Parameter Werte n w1 w2 w3 T H1 H2 H3 K1 K2 K3 160 Bits 7 6 6 3 9 3 3 5 2 2 Tabelle 33: Bahnticket - GMSS - Parameter für 215 = 32.768 Signaturen GMSS mit diesen Parametern stehen in der Tabelle 34 auf Seite 99. Ein Vergleich der beiden Abbildungen ’Bahnticket - RSA’ (Abb. 24 auf Seite 98) mit ’Bahnticket - GMSS’ (Abb. 25 auf Seite 99) zeigt, dass GMSS alle Prioritäten von RSA erfüllt. Für die Signaturerstellung wird bei GMSS weniger Zeit benötigt als bei RSA. Die Signaturgröße und Verifikation sind in beiden Verfahren gleich. Die einzigste Ausnahme bildet ebenfalls der private Schlüssel. Er ist bei GMSS wesentlich größer als bei RSA, so wie in den vorherigen Abschnitten. 98 SigZeit VerifZeit SigGrö SchlZeit privSchlGrö öffenSchlGrö GMSS-Formeln cof f line + conline cverif y msignature ckeygen mprivkey mpubkey Ergebnisse 15,4 ms 6,9 ms 1,9 KB 3,4 s 235,6 KB 20 Byte Prioritäten 10 10 10 9 3 10 Tabelle 34: Bahnticket - GMSS Es werden 215 = 32.768 Signaturen berechnet. SigZeit: Signaturerzeugungszeit, SigGrö: Signaturgröße, VerifZeit: Signaturverifikation, SchlZeit: Schlüsselerzeugungszeit, privSchlGrö: private Schlüsselgröße, öffenSchlGrö: öffentliche Schlüsselgröße Es können insgesamt maximal 10 Punkte pro Größe bzw. Zeit verteilt werden. Mit den oben genannten Parametern, wurden diese Ergebnisse berechnet und mit der Liste 17 auf Seite 73 bewertet. Die Grafik 25 stellt die GMSSPrioritäten dar. Abbildung 25: Bahnticket - GMSS Die Beschriftungen der Grafik ergeben sich aus Tabelle 34. 99 7 Zusammenfassung - Fazit In dieser Diplomarbeit wurde die digitale Signatur in ihren verschiedenen Erscheinungsformen (symmetrisch, asymmetrisch) und Arten (einfach, fortgeschritten, qualifiziert) vorgestellt. Des Weiteren wurde herausgefunden, dass die fortgeschrittene und die qualifizierte digitale Signatur mit vorwiegend asymmetrischen Signaturverfahren genutzt werden, wie RSA oder ECDSA. RSA wird dem DSA-Verfahren meistens vorgezogen. Dadurch konnten nicht genug Daten bezüglich DSA für die Szenarien gefunden werden. Deshalb konnte DSA nicht mit GMSS verglichen werden. Das asymmetrische verbesserte Merkle-Signaturverfahren (GMSS) wurde mit seinen Formeln für die Schlüsselerzeugung, Signaturerstellung und Verifikation mit seinen Parametern (n, wi , T , Hi und Ki ) beschrieben, mit i = 1, . . . , T . Der Sicherheitsparameter n ist die Ausgabelänge der verwendeten Hashfunktion und stellt die Sicherheitsstufe von GMSS dar. Damit hängt die Sicherheit von GMSS nicht von den Schlüssellängen ab, wie bei RSA. Der Winternitzparameter wi dient zur Verkleinerung der Signaturgröße. T gibt die Anzahl der Ebenen in GMSS an. Zur Erinnerung, GMSS besteht aus einem großen Baum und seine Innerenknoten sind Merkle-Bäume, die auf den verschiedenen Ebenen verteilt sind. Die Höhen der Bäume werden durch den Parameter Hi angegeben. T und Hi bestimmen die Anzahl der erzeugten Signaturen. Ki bezeichnet den Parameter für die Authentifikationspfadberechnung auf den Ebenen. Die Einflüsse der Parameter auf die Formeln von GMSS wurden bestimmt. Mit diesem Wissen wurde die optimale Parameterwahl ermittelt. Der Parameter n muss immer dem aktuellen Sicherheitsstandard entsprechen und kann nicht beliebig gewählt werden. Die Parameter wi , T , Hi und Ki können unter Berücksichtigung der jeweiligen Bedingungen frei gewählt werden. Damit können sie die Schlüsselerzeugungszeit, Signaturerstellungszeit, Verifikationszeit, Schlüsselgrößen und Signaturgröße bestimmen. Die detaillierte Beschreibung der optimalen Parameterwahl steht im Kapitel 4 Parameter ” n, wi , T, Hi , Ki“ und die zusammengefassten Erkenntnisse im Abschnitt 4.3 Zusammenfassung der Parameter“. ” Es wurde dargestellt, wo heute überall digitale Signaturen eingesetzt werden, welche Sicherheitsstandards für die Signaturverfahren existieren und welche Sicherheitsziele sie erfüllen, wie die Datenintegrität und die Authentizität. Die Sicherheitsstandards hängen von der Entwicklung der Technologie ab und werden von verschiedenen Institutionen bewertet, wie die Bundesnetzagentur. 100 Die digitale Signatur wird in unterschiedlichen Einsatzgebieten angewendet, wie im öffentlichen Dienst, im Handel, im Dienstleistungsbereich und im Geschäftsverkehr. Die Einsatzgebiete werden im Kapitel 5 Einsatzgebiete ” von digitalen Signaturen“ beschrieben. In den Szenarien wurde die Anwendung der digitalen Signatur in ausgewählten Beispielen aus den Einsatzgebieten im Abschnitt 6.2 Szenarien - Beispiele“ ” genauer erläutert. Des Weiteren wurden die momentan eingesetzten Signaturverfahren in diesen Bereichen mit GMSS verglichen. Um dies zu ermöglichen, wurden die verschiedenen Prioritäten für die Schlüsselerzeugungszeit, die Signaturerstellungszeit, die Verifikationszeit, die Signaturgröße und die Schlüsselgrößen (des privaten und des öffentlichen Schlüssels) in den unterschiedlichen Anwendungsgebieten genauer untersucht. Die Priorität für die Verifikation wurde für eine Signatur ohne Zertifikatsprüfung bei allen Verfahren ermittelt. Die Priorität für die Signaturerstellungszeit von GMSS wurde ohne die Verwendung von Signaturkarten bestimmt. Dadurch ist beim Vergleich der Signaturerstellungszeit zu Berücksichtigen, dass die Verwendung einer Karte und eines Kartenlesers die Erstellungszeit geringfügig verlangsamt. Im Durchschnitt liegen in den Szenarien die Prioritäten der Zeit für die Signaturerstellung und der Verifikation sowie der Signaturgröße nicht weit auseinander. Die höchste Priorität in den Signaturverfahren haben die sehr kleinen Schlüssel. Danach folgt im Stellenwert die Verifikation und die Signaturgröße. Die Signaturerstellungszeit liegt rangmäßig vor der Schlüsselerzeugung. Viele Anwendungen versuchen die Differenz zwischen der Verifikation und der Zeit für die Signaturerstellung so klein wie möglich zu halten. Die verschiedenen Beispiele zeigen, dass GMSS fast alle geforderten Prioritäten erfüllt und gleichzeitig Größen verkleinern und Zeiten verkürzen kann. Die einzigste Ausnahme bildet der private Schlüssel von GMSS, er erfüllt nicht die geforderte Priorität in den Beispielen. GMSS kann unter der Voraussetzung, dass ein größeres Speichermedium als eine Signaturkarte eingesetzt wird, RSA oder ECDSA ersetzen. 101 7.1 Fazit Ein Vorteil von GMSS ist sein kleiner öffentlicher Schlüssel im Vergleich zu anderen Signaturverfahren mit gleichem Sicherheitsniveau. Ein weiterer Vorteil von GMSS ist seine Resistens gegen Angriffe von Quantencomputern, da er auf der Existens von Hashfunktionen beruht und einen Pseudozufallszahlengenerator (PRNG) verwendet. Andere Signaturverfahren basieren auf anderen mathematischen Problemen, wie das Faktorisierungsproblem, die von Quantencomputern gebrochen werden können. Der einzigste Nachteil von GMSS, der sich in den Szenarien aus Kapitel 6.2 Szenarien - Beispiele“ ” zeigt, ist, dass der private Schlüssel nicht kleiner als 32 KB werden kann, ohne die Signaturanzahl zu reduzieren. Dann würde GMSS die Anforderungen des jeweiligen Beispiels nicht mehr erfüllen. Die Größe des privaten Schlüssels liegt in den Szenarien zwischen 79 und 500 KB. Die Handhabung der Signaturgröße von GMSS kann unter Umständen etwas schwierig sein, wenn sie ≤ 2 KB groß und zusätzlich die anderen Werte sehr klein bzw. sehr schnell bei einer großen Signaturanzahl sein sollen. Die durchschnittliche Signaturgröße von GMSS in den Beispielen geht von 2 bis 4 KB. Um GMSS uneingeschränkt nutzen zu können, können Signaturkarten durch andere Speichermedien mit mehr Speichervolumen ersetzt werden, wie ein USB-Token.190 191 Somit zeigt sich im Ergebnis, dass GMSS mit einem Sicherheitsparameter von 160 bzw. 224 Bits durchaus RSA mit der aktuellen Schlüssellänge von 2048 Bits und ECDS mit 224 Bits unter des oben genannten Aspekts des größeren Speichervolumens ersetzen kann. Es gibt bereits heute Signaturkarten mit einem Speichervolumen von 72 KB. Leider sind sie noch nicht weit verbreitet, aber mit der schnellen Technologieentwicklung werden immer längere Schlüsselgrößen von allen Signaturverfahren verlangt, um die Sicherheit der Verfahren zu gewährleisten. Deshalb wachsen ihre Schlüssellängen und somit wird mehr Speicherplatz auf den Signaturkarten gefordert. Wahrscheinlich wird es in naher Zukunft Signaturkarten von 200 oder mehr KB geben. Vorteile von digitalen Signaturen sind die Einsparung von Kosten und Zeit, wie die Reduzierung von Papier-, Drucker-, Versand- und Anfahrtkosten oder 190 191 http://www.idpendant.de/produkte/usb-token.html, 07.08.09, 19:11 Uhr http://www.rs-computer.com/hardware/usb-token/epass3000.php, 07.08.09, 19:21 Uhr 102 die Abhängigkeiten von Öffnungszeiten. Briefe müssen nicht mehr ausgedruckt, unterzeichnet, frankiert und versandt werden. Behördenerledigungen können ohne eine Anfahrt zur entsprechenden Behörde und unabhängig von deren Öffnungszeiten erfolgen. Im schlimmsten Fall müsste der Arbeitnehmer sich beurlauben lassen. Ein weiterer Vorteil ist die Beweissicherung, wie bei digitalen Tonaufnahmen bei Geschäftstelefonaten oder der Flugsicherung. Die digitale Signatur kann in der Softwareentwicklung und im späteren Vertrieb als Nachweis dienen, von wem die Software stammt und wer sie zuletzt bearbeitet hat. Mithilfe der digitalen Signatur können beim Online-Einkauf und beim OnlineBanking die Transaktionen authentifiziert werden und die Sicherheit der Transfere über das Internet verbessern. Trotz der Vorteile von digitalen Signaturen sollte immer der Gedanke an die Sicherheit der verwendeten Verfahren beachtet werden. Die benutzten Verfahren gewährleisten die Sicherheit der digitalen Signatur, wenn zum Einen der aktuelle Sicherheitsstandard eingehalten wird. Dies müssen die Trustcenter garantieren können. Zum Anderen beruht das Vertrauen in die sichere Verwaltung und Verarbeitung der Daten der Schlüsselerzeugung und der Schlüsselinhaber auf dem Vertrauen in das Trustcenter. Treten Zweifel am Vertrauen in das Trustcenter auf, dann ist die Sicherheit der verwendeten Signaturverfahren gefährdet und im schlimmsten Fall nicht mehr gegeben. Die betroffenen digitalen Signaturen verlieren dann ihre Gültigkeit und Beweiskraft. Die Sicherheit der digitalen Signatur muss gewährleistet sein, da sich ihre Einsatzmöglichkeiten zukünftig immer weiter ausbreiten werden, vom OnlineEinkauf über virtuelle Behördengänge bis hin zur digitalen Patientenakte. Ein weiterer kleiner Ausblick in mögliche zukünftige Entwicklungen zeigt die Verwendung der digitalen Signatur in Österreich. Dort werden bereits seit dem 2. September 2008 Notebooks mit vorinstallierter Bügersoftware und integriertem Kartenleser verkauft.192 Dadurch entfällt die zusätzliche Besorgung eines Kartenlesers, somit wird ebenfalls der Einsatz von digitalen Signaturen gefördert. 192 http://www.ots.at/presseaussendung.php?schluessel=OTS 20080828 OTS0169, 09.09.08, 9:11 Uhr 103 Literatur [1] Digital signature standard (dss). Technical report, FIPS PUB 186-2, http://csrc.nist.gov/publications/fips/, 2007. [2] Johannes Buchmann. Einführung in die Kryptographie, volume 3. erweiterte Auflage. Springer - Verlag, 2004. [3] M. Stam C. Dods, N. P. Smart. Hash based digital signature schemes. Cryptography and Coding, 3796 in LNCS:96–115, Springer-Verlag, 2005. [4] Erik Dahmen Michael Szydlo Daniel J. Bernstein, Johannes Buchmann. Hash based cryptography. Technical report, Technische Universität Darmstadt, [email protected], noch nicht veröffentlicht. [5] Claudia Eckert. IT-Sicherheit, volume 4. überarbeitete Auflage. Oldenbourg - Verlag, 2006. [6] Elena Klintsevich Katsuyuki Okeya Camille Vuillaume Johannes Buchmann, Erik Dahmen. Merkle signature with virtually unlimited signature capacity. Applied Cryptography and Network Security - ACNS, 4521 in LNCS:31–45, Springer-Verlag, 2007. [7] Erik Dahmen Martin Döring Elena Klintsevich Johannes Buchmann, Luis Carlos Coronado Garcı́a. Cmss - an improved merkle signature scheme. Proc. Advances in Cryptography (Indocrypt´06), 4329 in LNCS:349– 363, Springer-Verlag, 2006. [8] Ralph C. Merkle. A certified digital signature. Proc. Advances in Cryptography (Crypto´89), 1462 in LNCS:218–238, Springer-Verlag, 1989. [9] Michael Szydlo. Merkle tree traversal in log space and time (preprint). Technical report, -, htttp://www.szydlo.com, 2003. [10] Michael Szydlo. Merkle tree traversal in log space and time. Proc. Advances in Cryptography (Enrocrypt´04), 3027 in LNCS:541–554, Springer-Verlag, 2004. [11] M. Hellman W. Diffie. New directions in cryptography. IEEE Transactions an Information Theory, IT-22(6):644–654, 1976. 104 Abbildungsverzeichnis 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Symmetrisches Signaturverfahren . . . . . . . . . . . . . . Asymmetrisches Signaturverfahren . . . . . . . . . . . . . Hier ist ein Baum mit 4 Ebenen aus dem GMSS dargestellt Verallgemeinerter Aufbau von GMSS, Bildvorlage von [6] . Authentifikationspfad des Blattes i : (j, c, b) . . . . . . . . Verteilte OT-Signaturerzeugung aus [4] . . . . . . . . . . . Verteilte Wurzelerzeugung aus [4] . . . . . . . . . . . . . . Verteilte Authentifikationspfadberechnung aus [4] . . . . . Signaturarten . . . . . . . . . . . . . . . . . . . . . . . . . 2D-Barcodes . . . . . . . . . . . . . . . . . . . . . . . . . . Prioritäten - Schlüsselgrößen und -erzeugungszeiten . . . . Elster - RSA . . . . . . . . . . . . . . . . . . . . . . . . . . Elster - GMSS . . . . . . . . . . . . . . . . . . . . . . . . . Rechnung - RSA . . . . . . . . . . . . . . . . . . . . . . . Rechnung - GMSS . . . . . . . . . . . . . . . . . . . . . . ePass - ECDSA . . . . . . . . . . . . . . . . . . . . . . . . ePass - GMSS . . . . . . . . . . . . . . . . . . . . . . . . . Online-Einkaufen - RSA . . . . . . . . . . . . . . . . . . . Online-Einkaufen - GMSS . . . . . . . . . . . . . . . . . . Mobile Code Signing - RSA . . . . . . . . . . . . . . . . . Mobile Code Signing - GMSS . . . . . . . . . . . . . . . . Digitales Dokument PDF - RSA . . . . . . . . . . . . . . . Digitales Dokument PDF - GMSS . . . . . . . . . . . . . . Bahnticket - RSA . . . . . . . . . . . . . . . . . . . . . . . Bahnticket - GMSS . . . . . . . . . . . . . . . . . . . . . . 105 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 14 15 16 20 21 23 48 67 72 77 78 80 83 84 86 87 89 90 92 95 96 98 99 Tabellenverzeichnis 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 Verhalten der Formelergebnisse bei steigendem n, w, T, H, K Parameter w, T und H beeinflussen msignature . . . . . . . . . Variiation von msignature bei gleicher Signaturanzahl . . . . . . Auswirkung von w, T , H und K auf mprivkey . . . . . . . . . . Veränderung von mprivkey bei gleicher Anzahl von Signaturen . Einflüsse von w, T und H auf ckeygen . . . . . . . . . . . . . . Variiation von ckeygen . . . . . . . . . . . . . . . . . . . . . . . Auswirkung der Parameter w, T , H und K auf cof f line . . . . Variiation von cof f line . . . . . . . . . . . . . . . . . . . . . . . Variiation von cverif y . . . . . . . . . . . . . . . . . . . . . . . Auswirkungen von w auf den Ebenen . . . . . . . . . . . . . . Auswirkungen von H auf den Ebenen . . . . . . . . . . . . . . Auswirkungen von K auf die Ebenen . . . . . . . . . . . . . . Beste Parameterwahl von w1 , H1 und K1 . . . . . . . . . . . . Zweitbeste Parameterwahl von wi , HT und Ki . . . . . . . . . Gültigkeit der Schlüssellängen . . . . . . . . . . . . . . . . . . Bewertungsliste . . . . . . . . . . . . . . . . . . . . . . . . . . Elster - GMSS - Parameter . . . . . . . . . . . . . . . . . . . . Elster - GMSS . . . . . . . . . . . . . . . . . . . . . . . . . . . Rechnung - RSA . . . . . . . . . . . . . . . . . . . . . . . . . Rechnung - GMSS - Parameter . . . . . . . . . . . . . . . . . Rechnung - GMSS . . . . . . . . . . . . . . . . . . . . . . . . ePass - GMSS - Parameter . . . . . . . . . . . . . . . . . . . . ePass - GMSS . . . . . . . . . . . . . . . . . . . . . . . . . . . Online-Einkaufen - RSA . . . . . . . . . . . . . . . . . . . . . Online-Einkaufen - GMSS - Parameter . . . . . . . . . . . . . Online-Einkaufen - GMSS . . . . . . . . . . . . . . . . . . . . Mobile Code Signing - GMSS - Parameter . . . . . . . . . . . Mobile Code Signing - GMSS . . . . . . . . . . . . . . . . . . Digitales Dokument PDF - RSA . . . . . . . . . . . . . . . . . Digitales Dokument PDF - GMSS - Parameter . . . . . . . . . Digitales Dokument PDF - GMSS . . . . . . . . . . . . . . . . Bahnticket - GMSS - Parameter . . . . . . . . . . . . . . . . . Bahnticket - GMSS . . . . . . . . . . . . . . . . . . . . . . . . 106 29 31 32 33 34 34 35 36 37 38 40 43 45 46 47 69 73 76 77 79 82 82 85 85 86 88 89 91 92 93 95 96 98 99