Digitale Spuren kommen im Zivilverfahren in vier Gestalten vor: als Datei, deren Echtheit oder Unverändertheit strittig ist; als Metadatum, aus dem auf Zeit, Ort oder Urheber geschlossen werden soll; als Zeitstempel, aus dem sich eine Reihenfolge ergeben soll; und als Positionsangabe, die einen Aufenthalt belegen soll.
Allen vieren ist gemeinsam, dass sie technisch präzise aussehen und rechtlich weniger tragen, als die Präzision suggeriert. Eine EXIF-Zeit auf die Sekunde genau ist kein Beweis für die Sekunde — sie ist der Beweis dafür, dass in einem Gerät ein bestimmter Wert stand. Zur allgemeinen Unterscheidung von Genauigkeit und Scheingenauigkeit siehe Methodenkritik im Gutachten. Die technischen Begriffe — Prozessor, Arbeitsspeicher, Halbleiterlaufwerk, die Netzebenen — sind im EDV-Lexikon erklärt.
Ein Hashwert ist eine Prüfsumme fester Länge über den gesamten Dateiinhalt; geschrieben wird er hexadezimal, also zwei Ziffern je Byte — dazu Zahlensysteme und Binärcode. Ändert sich ein einziges Bit, ändert sich der Hashwert vollständig. Er beweist damit Identität von Inhalten, nicht Urheberschaft und nicht Zeitpunkt.
Verfahren
Länge
Beurteilung
MD5
128 bit, 32 Hexzeichen
gebrochen. Kollisionen sind in Sekunden konstruierbar; für den Nachweis der Unverändertheit gegenüber einem Angreifer untauglich, als Transportprüfsumme noch brauchbar
SHA-1
160 bit, 40 Hexzeichen
gebrochen (2017 praktisch demonstriert). Nicht mehr verwenden
SHA-256
256 bit, 64 Hexzeichen
Stand der Technik, für forensische Zwecke geeignet
SHA-512
512 bit, 128 Hexzeichen
ebenfalls geeignet, auf 64-Bit-Systemen oft schneller
Was ein übereinstimmender Hashwert beweist: dass zwei Dateien bitweise identisch sind. Das ist im Verfahren die Antwort auf die Frage, ob die vorgelegte Kopie der sichergestellten entspricht.
Was er nicht beweist: dass der Inhalt echt ist, dass er zu einem bestimmten Zeitpunkt existierte, oder von wem er stammt. Ein Hashwert über ein gefälschtes Dokument ist ein korrekter Hashwert über ein gefälschtes Dokument.
Für den Zeitbezug braucht es einen qualifizierten Zeitstempel eines Vertrauensdiensteanbieters (eIDAS-Verordnung; in Österreich Aufsicht durch die RTR). Der bindet den Hashwert an eine Zeit und trägt die Beweiswirkung des Art 41 eIDAS-VO.
Zwei praktische Regeln: Der Hashwert ist vor der ersten Bearbeitung zu bilden, nicht danach; und er ist zu protokollieren, samt Verfahren, Zeitpunkt und Person — eine lückenlose Kette vom Original zur Auswertung ist das, was im Bestreitungsfall trägt.
Zur Kontrolle des Behelfs: abc ergibt in SHA-256 den Wert ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Auf der Kommandozeile leistet sha256sum dasselbe; die Übereinstimmung beider Wege ist die einfachste Probe darauf, dass richtig gerechnet wurde.
Gehen beim Kopieren, Packen und Übertragen regelmäßig verloren oder werden neu gesetzt
Die wichtigste Unterscheidung: Metadaten in der Datei (EXIF, XMP, PDF-Info) reisen mit ihr; Metadaten über die Datei (Dateisystemzeiten) gehören zum Speicherort und überleben den Transport meist nicht. Wer aus einem Dateidatum auf den Erstellungszeitpunkt schließt, muss zuerst sagen, welches der beiden er meint und wie die Datei an ihren Fundort kam.
Metadaten sind Indizien, keine Urkunden. Sie tragen, wenn sie mit anderen Spuren zusammenpassen — mit Wetterdaten, Sonnenstand (Sicht, Licht und Dämmerung), Zeugenaussagen, Verbindungsdaten. Sie tragen nicht allein, weil das Ändern eines EXIF-Felds keinerlei Fachkenntnis erfordert.
Die häufigste Fehlerquelle des ganzen Gebiets, und die unauffälligste.
UTC oder Lokalzeit? Dateisysteme und viele Protokolle speichern UTC; Kameras speichern in der Regel die eingestellte Lokalzeit ohne Zeitzonenangabe. Ein EXIF-Zeitstempel ohne OffsetTimeOriginal ist eine nackte Zahl: Sie sagt nicht, in welcher Zone sie gilt.
Sommerzeit. Österreich wechselt am letzten Sonntag im März auf MESZ (UTC+2) und am letzten Sonntag im Oktober zurück auf MEZ (UTC+1). In der Stunde von 02:00 bis 03:00 des Oktobertermins existiert jeder Zeitpunkt zweimal; im Märztermin existiert die Stunde von 02:00 bis 03:00 gar nicht. Ein Stempel aus diesen Fenstern ist ohne Offset nicht auflösbar.
Uhrenfehler. Kamera- und Rechneruhren gehen falsch, oft um Minuten, nach Batteriewechsel um Jahre. Der Gang ist zu prüfen, nicht zu unterstellen — im Idealfall durch eine Aufnahme einer bekannten Zeitquelle.
Reihenfolge statt Zeitpunkt. Häufig kommt es nicht auf die absolute Zeit an, sondern auf die Reihenfolge zweier Ereignisse. Stammen beide Stempel aus derselben Uhr, trägt die Differenz auch dann, wenn die Uhr falsch geht. Stammen sie aus verschiedenen Uhren, trägt sie nur, wenn der Gang beider bekannt ist.
Die Voreinstellung zeigt den Regelfall der Praxis: zwei Stempel vom Umstellungstag im Oktober, der eine aus der doppelt vorhandenen Stunde. Wer beide ohne Offset als MEZ liest, erhält 45 Minuten — tatsächlich können es 45 Minuten oder eine Stunde und 45 Minuten sein.
Zwei Punkte, die regelmäßig übersehen werden. Erstens ist die von Geräten ausgewiesene Genauigkeit eine Schätzung des Geräts, kein gemessener Fehler; sie bezeichnet meist einen Radius, in dem die wahre Position mit 68 % Wahrscheinlichkeit liegt. Zweitens ist der Höhenwert aus GNSS deutlich unsicherer als die Lage, um den Faktor zwei bis drei — und er bezieht sich auf das Ellipsoid, nicht auf den Meeresspiegel.
Für die Umrechnung in österreichische Koordinatensysteme und die Datumstransformation MGI ↔ WGS84 siehe Grundbuch, Kataster und Vermessung.
Quellen: eIDAS-Verordnung (VO [EU] Nr. 910/2014) für qualifizierte Zeitstempel; die Genauigkeitsangaben sind Erfahrungswerte und im Einzelfall am Gerät und an den Aufnahmebedingungen zu prüfen.
Grundlagen der Stellenwertsysteme und ihrer Umrechnung. Wozu das im Verfahren gebraucht wird: Hashwerte, Farbangaben, IP-Adressen, Dateirechte und Speichergrößen sind allesamt Zahlen in einer anderen Basis als zehn — wer sie liest, muss wissen, welche. Zu den Begriffen EDV-Lexikon, zur Beweisführung Digitale Spuren, zu den Größenordnungen ISO Vorsilben.
Ein Stellenwertsystem zur Basis verwendet Ziffern, von bis . Der Wert einer Ziffer hängt von ihrer Stelle ab: Jede Stelle nach links wiegt das -Fache der vorigen. Für die Ziffernfolge gilt
(1)
und mit Nachkommastellen entsprechend Das Dezimalsystem ist der Sonderfall : In 4711 wiegt die 4 tausend, die 7 hundert, die erste 1 zehn und die zweite eins.
Der Gegenbegriff ist das Additionssystem, in dem die Stelle nichts zum Wert beiträgt — die römischen Ziffern sind das bekannteste; siehe Römische Ziffern und griechisches Alphabet. Rechnen lässt sich damit kaum, und genau das ist der Grund, warum sich das Stellenwertsystem durchgesetzt hat.
Die Null ist in einem Stellenwertsystem keine Zierde, sondern tragendes Bauteil: Sie hält eine Stelle leer, die sonst zusammenfiele — ohne sie ließe sich 105 nicht von 15 unterscheiden.
Zwei und sechzehn sind kein Zufall: , jede Hexziffer steht daher für genau vier Bit, jede Oktalziffer für genau drei. Deshalb lassen sich Binär-, Oktal- und Hexdarstellung ohne Rechnung ineinander überführen — man gruppiert bloß.
Dieselbe Ziffernfolge bedeutet in verschiedenen Basen Verschiedenes: 101 ist dezimal hundertundeins, binär fünf, oktal fünfundsechzig, hexadezimal zweihundertsiebenundfünfzig. Die Basis muss daher mitgeschrieben werden, wofür sich mehrere Gepflogenheiten eingebürgert haben:
Notation
Basis
Herkunft
0b1010, %1010
2
C und Nachfolger; Assembler
0o755, 0755
8
Python und Neuere; C und Unix (führende Null)
0xFF, #FF, $FF, FFh
16
C; HTML und CSS; Pascal und 6502; Intel-Assembler
,
beliebig
mathematische Schreibweise mit tiefgestellter Basis
Die führende Null als Oktalkennzeichnung ist eine beliebte Fehlerquelle: In vielen Sprachen ist 010 nicht zehn, sondern acht. Wer Zahlen mit führenden Nullen aus einer Tabelle einliest — Postleitzahlen, Kennzahlen —, bekommt sie stillschweigend falsch, oder als Fehler, wenn eine 8 oder 9 darin vorkommt.
In das Dezimalsystem — Ziffern mit ihrem Stellenwert multiplizieren und addieren. Für :
(2)
Schneller geht das Horner-Schema: von links beginnend jede Ziffer zum bisherigen Ergebnis addieren und das Ganze mit der Basis multiplizieren, bevor die nächste kommt. Für : .
Aus dem Dezimalsystem — fortgesetzt durch die Zielbasis dividieren, die Reste notieren und von unten nach oben lesen:
Schritt
Rechnung
Rest
1
181 : 2 = 90
1
2
90 : 2 = 45
0
3
45 : 2 = 22
1
4
22 : 2 = 11
0
5
11 : 2 = 5
1
6
5 : 2 = 2
1
7
2 : 2 = 1
0
8
1 : 2 = 0
1
Von unten gelesen: .
Zwischen 2, 8 und 16 — gruppenweise, ohne zu rechnen. Von der Kommastelle aus zu je vier Bit gruppieren ergibt Hexziffern, zu je drei Bit Oktalziffern; fehlende Stellen werden links mit Nullen aufgefüllt:
Nachkommastellen verlangen den umgekehrten Weg: den Bruchteil fortgesetzt mit der Zielbasis multiplizieren und die ganzzahligen Anteile von oben nach unten lesen. ; ; ; also .
Ein Bit ist eine Stelle im Dualsystem, also die Antwort auf genau eine Ja-Nein-Frage. Bit unterscheiden Zustände. Vier Bit heißen Nibble und entsprechen einer Hexziffer, acht Bit ein Byte und entsprechen zwei Hexziffern.
Breite
Bezeichnung
Zustände
vorzeichenlos
vorzeichenbehaftet
1
Bit
2
0 … 1
—
4
Nibble
16
0 … 15
−8 … 7
8
Byte, Oktett
256
0 … 255
−128 … 127
16
Wort
65 536
0 … 65 535
−32 768 … 32 767
32
Doppelwort
≈ 4,29 · 109
0 … 4 294 967 295
−2 147 483 648 … 2 147 483 647
64
Quadwort
≈ 1,84 · 1019
0 … ≈ 1,84 · 1019
≈ ±9,22 · 1018
Negative Zahlen werden im Zweierkomplement dargestellt: Das oberste Bit trägt den negativen Stellenwert . In einem Byte bedeutet das Muster 1111 1111 daher nicht 255, sondern −1, sofern das Feld als vorzeichenbehaftet vereinbart ist. Die Zahl allein sagt nicht, welche der beiden Lesarten gilt — das tut nur die Vereinbarung über das Feld.
Zwei praktische Grenzen aus dieser Tabelle: Die 32-Bit-Grenze bei rund 4,29 Milliarden ist der Grund für die Erschöpfung des IPv4-Adressraums und für die 4-GiB-Grenze älterer Systeme; die vorzeichenbehaftete 32-Bit-Grenze bei 2 147 483 647 ist als Zeitstempel der 19. Jänner 2038, an dem die Sekundenzählung seit 1970 überläuft.
Bit oder Byte ist bei Datenraten der häufigste Lesefehler: Ein Anschluss mit 100 MBit/s überträgt rund 12 MByte/s. Klein b steht für Bit, groß B für Byte; die Werbung schreibt gern das eine und meint das andere. Zu den Vorsilben und zum Unterschied zwischen 1000 und 1024 siehe ISO Vorsilben.
Ein SHA-256-Wert ist eine 256 Bit lange Zahl, geschrieben als 64 Hexziffern — zwei je Byte. Die Hexschreibweise ist hier reine Zweckmäßigkeit: Sie ist kürzer als die binäre, ohne die Bytegrenzen zu verwischen, und jede Ziffer ist unmittelbar in vier Bit rückübersetzbar. Dezimal geschriebene Hashwerte gibt es deshalb nicht, obwohl es dieselbe Zahl wäre. Groß- und Kleinschreibung der Ziffern A–F ist bedeutungslos; ein Vergleich zweier Hashwerte hat sie zu ignorieren. Zu Beweiswert und Verfahren siehe Digitale Spuren.
Aus der Länge lässt sich das Verfahren erschließen: 32 Hexziffern deuten auf MD5, 40 auf SHA-1, 64 auf SHA-256, 128 auf SHA-512. Steht eine längere Zeichenfolge mit Klein- und Großbuchstaben über F hinaus und mit +, / oder = da, ist es kein Hexwert, sondern Base64 — eine Darstellung zur Basis 64, die drei Byte in vier Zeichen packt und daher rund ein Drittel kürzer ausfällt.
#FF8800 ist keine Zeichenfolge, sondern drei Byte: Rot FF = 255, Grün 88 = 136, Blau 00 = 0, je Grundfarbe ein Byte mit 256 Stufen, insgesamt Farben. Die Kurzform #F80 in CSS verdoppelt jede Ziffer und meint dasselbe. Mit vier Bytes kommt die Deckkraft dazu (#RRGGBBAA).
Praktisch nutzbar ist, dass sich Farbwerte damit rechnen lassen: #808080 ist genau die Mitte zwischen Schwarz und Weiß, und zwei Farben unterscheiden sich messbar, nicht bloß dem Namen nach — was bei Streit um Farbabweichungen einer Lieferung die Sachverhaltsebene von der Geschmacksebene trennt.
Eine IPv4-Adresse ist eine 32-Bit-Zahl, geschrieben als vier Byte in dezimaler Schreibweise mit Punkten: 192.168.0.1. Jedes Feld läuft daher von 0 bis 255 — eine Adresse mit einer 300 darin ist keine. Die Netzmaske ist erst binär zu verstehen: /24 heißt, dass die ersten 24 Bit das Netz bezeichnen und die restlichen 8 den Rechner darin, also 256 Adressen, davon 254 vergebbar.
Schreibweise
binär
192.168.0.1
11000000 10101000 00000000 00000001
255.255.255.0 (/24)
11111111 11111111 11111111 00000000
IPv6 hat 128 Bit und wird in acht Gruppen zu vier Hexziffern geschrieben (2001:0db8:0000:0000:0000:0000:0000:0001), wobei führende Nullen entfallen dürfen und eine einzige Folge von Nullgruppen zu :: zusammengezogen wird — dieselbe Adresse lautet dann 2001:db8::1. Für den Abgleich einer im Verfahren genannten Adresse mit einem Protokolleintrag ist das erheblich: Zwei verschieden geschriebene Zeichenfolgen können dieselbe Adresse sein, und ein rein textlicher Vergleich verfehlt das.
Ein wiederkehrender Streitpunkt aus dem Wechsel der Basen ist die Speichergröße: 1 kB ist dezimal 1000 Byte, 1 KiB binär 1024 Byte. Ein Datenträger mit „1 TB" trägt Byte, das Betriebssystem meldet daraus 0,91 TiB — kein Mangel, sondern zwei Zählweisen. Siehe ISO Vorsilben.