Problem mit Zeitstempeldienst freetsa.org

#7958755
Lesenswert?

Ich möchte die Authentizität einer Datei mit dem Zeitstempeldienst https://www.freetsa.org/index_de.php beweisen.

Wenn man auf der Seite herunter rollt bis "Online Dokumente signieren", soll man den Vorgang sehr einfach interaktiv durchführen können:

Zunächst wählt man unter "signieren" die Datei, für die ein Zeitstempel erzeugt werden soll, dann lädt man nacheinander den TimeStampRequest und den TimeStampResponse herunter – das habe ich mit einer .jpg-Datei gemacht, so weit kein Problem.

Nun wollte ich testen, ob eine Änderung an der Datei erkannt wird. Dazu habe ich mit einem Bild-Editor einen Buchstaben in das Bild geschrieben und das Ganze abgespeichert.

Anschließend den Reiter "verifizieren" ausgewählt und die beiden vorhin erzeugten .tsq- und .tsr-Dateien ausgewählt – die .jpg-Datei liegt im selben Verzeichnis. Als Ergebnis kommt "Using configuration from /etc/ssl/openssl.cnf Verification: OK" – was offensichtlich Unsinn ist, denn ich habe die Datei verändert.

Vermutlich mache ich irgend was falsch, aber was?

: Bearbeitet durch User
(Firma: 1984now) #7958767
Lesenswert?

Gerd E. schrieb:

Da wäre ich mir nicht so sicher. Ein Javascript zu nehmen was lokal im Browser einen Hash errechnet und nur den hochlädt wäre ein viel naheliegenderes Konzept.

Nicht, wenn das Ziel ist, Daten zu sammeln. Wenn man natürlich blauäugig den Versprechungen glaubt, ist das nicht das Ziel. Da fragt man sich dann allerdings, wie die Kosten für den Betrieb der Infrastruktur, die Programmierung usw. wieder reinkommen sollen...

Beitrag #7958770 wurde vom Autor gelöscht.
#7958771
Lesenswert?

Ob S. schrieb:

Du lädst möglicherweise wichtige oder gar vertrauliche Dokumente zu irgendwelchen Leuten hoch, die du nicht mal kennst. Selbst wenn die korrekt signieren würden, ist das Wahnsinn.

Knapp vorbei ist auch daneben… Das ist leider keine Antwort auf meine Frage.

Wenn mein Problem gelöst ist, dann werde ich die Zeitstempelung einer sehr großen Datei testen. Wenn das so schnell geht, wie für eine kleine, dann wird nur der Hash hochgeladen.

(Firma: 1984now) #7958773
Lesenswert?

Moriz schrieb:

Wenn mein Problem gelöst ist, dann werde ich die Zeitstempelung einer sehr großen Datei testen. Wenn das so schnell geht, wie für eine kleine, dann wird nur der Hash hochgeladen.

Und vielleicht noch ein paar andere Sachen, die auch nicht viel Speicherplatz brauchen. Es muss ja nicht das komplette Dokument hochgeladen werden. Die darin möglicherweise enthaltenen Geheimnisse können durchaus viel kleiner sein als das Gesamtdokument und reichen dem Datensammler durchaus hin für seine Zwecke.

#7958776
Lesenswert?

Ich habe mir zwischenzeitlich mal den Code der Seite angesehen – es spricht nichts dafür, dass die zu signierende Datei hochgeladen wird.

Also liebe Freunde von "Thema verfehlt": blamiert euch nicht weiter mit eurer offen demonstrierten Inkompetenz. Es gilt der Satz:

Hätt er geschwiegen, wär er Philosoph geblieben.

#7958783
Lesenswert?

Moriz schrieb:

Ich habe mir zwischenzeitlich mal den Code der Seite angesehen – es spricht nichts dafür, dass die zu signierende Datei hochgeladen wird.

Das mag für den Code, der dort aktuell liegt, durchaus gelten. Den Website-Betreiber hindert aber nichts daran, das jederzeit zu ändern, ohne dass Du es (ohne erneute Analyse des Codes vor dem Absenden) merken würdest.

Selbst wenn der jetzige Betreiber (der übrigens der Meinung ist, kein Impressum zu brauchen) keine bösen Absichten hat, kann das schnell anders sein, falls er das Projekt aufgibt und jemand die Domain übernimmt und mit nur scheinbar gleicher Funktionalität weiterbetreibt.

Moriz schrieb:

Also liebe Freunde von "Thema verfehlt": blamiert euch nicht weiter mit eurer offen demonstrierten Inkompetenz.

Ah, ein Dunning-Kruger-Patient.

(Firma: 1984now) #7958803
Lesenswert?

Moriz schrieb:

Leider hast du nicht verstanden, wozu signierte Zeitstempel einer tsa gut sind.

Das Konzept an sich ist schon sinnvoll. Beibt halt nur die Frage, was genau diese konkrete tsa zu einer "authority" machen soll?

Eine Ermächtigung von der UNO oder irgendeinem Nationalstaat werden die wohl nicht haben (wobei ich natürlich auch sowas niemals trauen würde).

Bliebe also nur eine Übereinkommen der Nutzer, den Typen zu vertrauen und sie als Autorität anzuerkennen. Aber nur ein großer Vollidiot würde irgendeiner verschissenen Website sogar ohne Impressum so viel Vertrauen entgegen bringen...

Mal ganz davon abgesehen: Selbst wenn diese Vollidioten (ähem... Dienstleistungsnutzer) sich im Moment ihres Rechtsgeschäfts noch einig waren, diese "Autorität" anzuerkennen, wird diese traute Einigkeit sicherlich in genau dem Moment zerbrechen, wenn das beglaubigte Dokument in einem strittigen Fall wichtig werden würde. Es läge dann bei dem Gericht, welches den Streitfall verhandelt, ob es dem Dokument bzw. seiner Signierung) irgendeine Beweiskraft zumisst. Und bei unseren Gerichten würde ich sagen, dass die sagen: interessiert nicht. Wurde ja nicht beweiskräftig gefaxt...

#7958826
Lesenswert?

Moriz schrieb:

Das Ganze ist eine Funktion von openssl

Warum brauchst du dann die Webseite? Was hindert dich daran, einfach deine Rechneruhr auf 2010 zurückzudrehen, und deine Zeitstempel damit zu erstellen und mit einem self-signed Zertifikat zu signieren?

Das Einzige für was du die Webseite bzw. den dort angebotenen timestamp-Dienst brauchst, ist das Vertrauen, was andere in diese Webseite haben.

Hat schon einen Grund, warum viele die SHA-Hashes ihrer Dateien auf Twitter/"X" posten. Da kriegen sie auch kostenlos einen Zeitstempel, und die Beweiskraft ist deutlich höher. Einfach weil ein potentieller Richter den Post mit seiner eigenen Twitter-App aufrufen und das Datum sehen kann. Ganz ohne dass man ihm erklären&beweisen muss, dass eine anonyme Webseite im Internet ganz sicher voll ehrlich die NTP-Zeit abgerufen hat, bevor sie eine digitale Signatur unter deinen Datei-Hash gesetzt hat.

#7958828
Lesenswert?

Hi,

der signierte Zeitstempel dient nicht zur Signatur einer Datei selbst. Es handelt sich um zwei unterschiedliche Signaturen einer Datei. Zum einem muss die Datei selbst signiert werden und zusätzlich wird eine Timestamping Authority hinzugezogen um den Zeitpunkt der Signierung zu bestätigen. Somit bleibt das Dokument auch nach Ablauf des Zertifikats mit dem signiert wurde gültig. Wenn z.B. Makros in Officedokumenten nur signiert ausgeführt werden dürfen, dann barucht es einen Zeitstempel, denn sonst wäre nach Ablauf des Signiererzertifikats der Code nicht mehr vertrauenswürdig.

Damit Office eine TSA verwendet, muss man an der Stelle drehen: reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Common\Signatures" /v "TSALocation" /f /d http://timestamp.comodoca.com/rfc3161

und sonst hilft dir evtl. noch das "signtool"

(Firma: 1984now) #7958853
Lesenswert?

Adrian G. schrieb:

der signierte Zeitstempel dient nicht zur Signatur einer Datei selbst.

Das stimmt.

Zum einem muss die Datei selbst signiert werden und zusätzlich wird eine Timestamping Authority hinzugezogen um den Zeitpunkt der Signierung zu bestätigen.

Auch das stimmt.

Somit bleibt das Dokument auch nach Ablauf des Zertifikats mit dem signiert wurde gültig.

Das stimmt nicht. Es bleibt nur eingeschränkt gültig. Nämlich in dem Sinne, dass bestätigt werden kann, dass es zu dem im (Zeitstempel-)Zertifikat angegebenen Zeitpunkt gültig war.

#7958855
Lesenswert?

Adrian G. schrieb:

Zum einem muss die Datei selbst signiert werden

Muss sie nicht. Ich will die Datei auch gar nicht signieren, sondern ich will einen rechtssicheren Zeitstempel, mit dem ich beweisen kann, dass die Datei zur Zeit der Stempelung existiert hat.

Von der tsa signiert wird der Hash und der von tsa zugefügte Zeitstempel. Das impliziert eine Signatur der Datei, der Link zwischen Datei und Zeitstempel ist der Hash, der cryptographische Qualität haben muss, um die Fälschungssicherheit zu gewährleisten.

Verifiziert wird während des Zeitstempelungsvorgang, ob der Request zum erzeugten Zeitstempel passt – das ist das, was auf der Webseite unter "verifizieren" gemacht wird. Das hat mit der Verifikation, ob die Datei noch zum Zeitstempel passt, absolut nichts zu tun. Leider ist die Beschreibung dazu ziemlich miserabel.

Zeitstempel laufen nicht ab – das wäre ja auch ein totaler Quatsch. Was ablaufen kann, ist das Zertifikat der tsa. Vermutlich kann man das umgehen, indem man das Zertifikat der tsa mit dem Zeitstempel zusammen aufbewahrt.

Die Verifikation, ob Datei und Zeitstempel zueinander passen, geht mit

1
openssl ts -verify -data datei.ext -in datei_ext.tsr -CAfile cacert.pem

oder einer zweiten Variante, in der der Hash explizit angegeben wird.

: Bearbeitet durch User
Beitrag #7958861 wurde von einem Moderator gelöscht.
#7958868
Lesenswert?

Ob S. schrieb:

Das stimmt nicht. Es bleibt nur eingeschränkt gültig. Nämlich in dem Sinne, dass bestätigt werden kann, dass es zu dem im (Zeitstempel-)Zertifikat angegebenen Zeitpunkt gültig war.

Ich habe mich mit OfficeMakros und Codesignatur beschäftigen dürfen. Ohne Zeitstempel wird der signierte Code nicht mehr ausgeführt, wenn das Zertifkat abgelaufen ist. So kam meine Behauptung auf, dass nur dann das Dokument noch gültig ist.

Da ich mit manipulierter Systemzeit auch ein abgelaufenes Zertifikat verweden kann, würde ich nun behaupten, dass wenn noch eine Zeitstempel einer akkreditierten TSA dabei ist, die Signatur bis in alle Ewigkeit gültig ist. Was interessiert mich sonst die Tatsache, ob mit einem Zertifikat signiert wurde, welches bis ins Jahr 3000 gültig ist, oder ob es schon abgelaufen ist. Der unabhängige Zeitstempel ist demnach für mich viel wichtiger, um herauszufinden ob Daten manipuliert wurden.

Aber vielleicht vertue ich mich da auch.

#7958872
Lesenswert?

Ob S. schrieb:

Und du glaubst ernsthaft, von irgendeiner hergelaufenen Website ohne Impressum für lau einen solchen beziehen zu können?

Da gebe ich dir vollkommen recht, dass es nicht wirklich anerkannt werden muss. Aber besser eine schwache Signatur als garkeine.

Selbst wenn ich diesen Service anbieten würde, und es zu einem Beweisverfahren kommen sollte, kann ich darlegen, wie ich den Service hoste und ggf. bestätigen, dass der Zeitstempal mit meinem PrivateKey signiert wurde. Vertrauen ist die Grundlage für Singaturen. Ob jemand einer Wellblechhütten-CA aus einer Wüste nun vertraut oder nicht, darf sich jeder selbst aussuchen :D Es ist ein bisschen so, warum kann sich mir gegenüber jemand mit seinem Personalausweis bei mir ausweisen? Nur weil ich glaube zu wissen, wie ein deutscher Perso auszusehen hat. Ob ich einem gelben Zettel mit einem Namen und einem Datum nun Vertrauen schenke.... ja, ne, weiß nicht.

#7958876
Lesenswert?

Adrian G. schrieb:

Ich habe mich mit OfficeMakros und Codesignatur beschäftigen dürfen.

Du bringst da zwei Dinge durcheinander, die nichts miteinander zu tun haben.

Die Signatur von Office-Macros wird im Kontext von Office gebraucht; Zeitstempel dienen dem Beweis der Existenz eines Dokumentes zum Zeitpunkt der Stempelung. Letzteres wird im Rechtsverkehr gebraucht, ersteres zur Sicherstellung der Authentizität von Code um zu verhindern, dass Malware untergeschoben werden kann.

Mit Zeitstempeln kann man z.B. die Priorität in Bezug auf eine Erfindung oder eine Entdeckung beweisen:

Angenommen, ich habe eine tolle Idee. Dann beschreibe ich sie in einem Dokument und lasse das Dokument zeitstempeln.

Wenn jetzt ein anderer kommt und behauptet, es sei seine Idee, ich habe sie ihm nur geklaut, dann kann ich mit dem Zeitstempel beweisen, dass ich zum Zeitpunkt der Stempelung im Besitz dieses Wissens war.

#7958878
Lesenswert?

Dann mach einfach ein paar Hashes der Datei

  • Get-FileHash -Algorithm SHA512 -Path $filepath
  • Get-FileHash -Algorithm SHA256 -Path $filepath (Um Kollisionen zu vermeiden) und überweise 3 € an ein Konto mit dem Verwendungszweck $hash. Deine Bank wird wohl eine funktionierende Uhr haben.
(Firma: 1984now) #7958880
Lesenswert?

Adrian G. schrieb:

Dann mach einfach ein paar Hashes der Datei

  • Get-FileHash -Algorithm SHA512 -Path $filepath
  • Get-FileHash -Algorithm SHA256 -Path $filepath (Um Kollisionen zu vermeiden) und überweise 3 € an ein Konto mit dem Verwendungszweck $hash. Deine Bank wird wohl eine funktionierende Uhr haben.

Auch Banken können gehackt werden. CAs haben höhere Sicherheitsanforderungen zu erfüllen. Schon deshalb, weil das Sicherheitssystem der Banken in vielen Teilen wiederum von der Sicherheit der CAs abhängt.

(Firma: 1984now) #7958881
Lesenswert?

Ob S. schrieb:

[...]

Aber trotzdem keine schlechte Idee. Das Kosten-Nutzen-Verhältnis dürfte tatsächlich deutlich besser sein als es wäre, wenn man die Dienstleistung bei einer CA oder einer Organisation mit vergleichbarem Vertrauensstatus einkauft.

Und einer großen Bank würde ich auch weit eher vertrauen als irgendeiner hergelaufenen Website. Und ein Richter sicher auch.

#7958883
Lesenswert?

Adrian G. schrieb:

Ob jemand einer Wellblechhütten-CA aus einer Wüste nun vertraut oder nicht, darf sich jeder selbst aussuchen :D

Oh je, das scheint ja furchtbar schwierig zu sein…

Eine Time Stamp Authority benötigt lediglich die Fähigkeit, Dateien digital zu signieren. Das ist kein Hexenwerk und beruht auf der Infrastruktur einer CA.

Angenommen, eine tsa baut Mist und trägt falsche Zeitstempel ein, dann fällt das sofort auf, wenn man sich den Inhalt der .tsr-Datei mit openssl anzeigen lässt – die notwendige Sorgfalt beim Benutzer vorausgesetzt, kann das die mieseste Klitsche von tsa nichts drehen.

Ob das Zertifikat der tsa vertrauenswürdig ist, ist auch leicht nachzuprüfen.

Irgend welche Dokumente versaubeuteln kann sie auch nicht – sie sieht nicht den Inhalt, sondern nur den Hash des Dokumentes. Welcher Hash-Algorithmus angewandt wird, liegt auch nicht in der Macht der tsa.

Bleibt die Möglichkeit, dass die tsa irgend einen Hintereingang hat, über den man beliebige Zeitstempel produzieren kann – das ist so ziemlich der einzige Punkt, über den betrogen werden kann und das kann man absolut nicht verhindern.

Let's Encrypt ist kostenlos – benutzt von Millionen von Webseiten. Wenn da irgend was getrickst wird und auffliegt, dann ist der Teufel los. Die Kostenlosigkeit ist also kein nützliches Kriterium dafür, die Qualität des Dienstes zu beurteilen.

freeTSA ist nicht der einzige kostenlose Zeitstempel-Dienst. Unter https://gist.github.com/Manouchehri/fd754e402d98430243455713efada710 sind noch weitere gelistet.

Wenn man das Dokument von mehreren tsa stempeln lässt, dann steigt die Vertrauenswürdigkeit des Konstrukts – dass alle zusammen Gangster sind und unter einer Decke stecken, ist ziemlich unwahrscheinlich.

: Bearbeitet durch User
#7958890
Lesenswert?

Meine Phantasie hat auf jeden Fall grenzen, und wenn ich der Meinung bin, dass ich etwas so innovativ geiles, was die Welt noch nicht gesehen hat, erfunden habe, dann gehe ich zum Patentamt.

Wenn es nichts kosten darf:

1
signtool sign `
2
  /f "C:\Pfad\zu\deinem_zertifikat.pfx" `
3
  /p "ZertifikatPasswort" `
4
  /tr http://timestamp.digicert.com `
5
  /td sha256 `
6
  /fd sha256 `
7
  "C:\Pfad\zu\deiner_datei.exe"

gute Nacht.

#7958892
Lesenswert?

Mit deiner eigenen Signatur irgendwas zu signieren, um den Zeitpunkt der Existenz zu beweisen, funktioniert nicht.

Wer hindert dich daran, übermorgen ein geändertes Dokument zu signieren? Keiner. Dem Betrug wäre Tür und Tor geöffnet.

Man braucht für den Beweis also zwingend einen externen Zeitstempeldienst.

#7958894
Lesenswert?

Moriz schrieb:

Wer hindert dich daran, übermorgen ein geändertes Dokument zu signieren? Keiner.

Ja, du bist auf jeden Fall auf dem richtigem Weg. Dann mache es doch einfach. Egal was du hast. Steck es in ein Word Dokument, setze ein paar Regitry Keys. Signiere Das Dokument mit deinem Zertifikat und es kommt ein Zeitstempel der TSA mit dran. Selbst ein sefsignedcertificate zur Signierung würde reichen um zu beweisen, dass du die Datei zu einem bestimmten Zeitpunkt signiert hast. Wo hast du noch schmerzen? Es wurden dir ausreichend Lösungsvorschläge aufgezeigt, wie du einen Timestamp an einen Hash bekommst.

Und nochmal: die Signatur hat erstmal nichts mit dem Timestamp zu tun. Und eine TAS signiert dir auch nicht die Datei.

Mach aus dem Hash einen QRCode und fräse ihn in Radium. Durch die Halbwertszeit kannst du beweisen, dass du ihn in diesem Jahrhundert erzeugt hast.

#7958897
Lesenswert?

Moriz schrieb:

Adrian G. schrieb:

Selbst ein sefsignedcertificate zur Signierung würde reichen um zu beweisen, dass du die Datei zu einem bestimmten Zeitpunkt signiert hast.

Man muss nur die Systemzeit passend zum gewünschten Signaturdatum ändern und schon ist die Fälschung perfekt…

Ist es nicht! Dafür nimmst du eine unabhängige TSA.

Ich fasse zusammen. eine TSA aus der Liste auf Git ist dir nicht sicher genug. Ein persönliches Zertifiakt aus einer PKI (telesec) ist dir zu teuer. Verwendungszweck einer Überweisung kann gehackt werden. Blockchin = Magic. Zeitungsannonce zu oldschool

Vielleicht druckst du es einfach aus steckst es in einen Briefumschlag klebst hundert VOID VOID VOID Siegel drauf und versiehst den Umschalg mit deiner Adresse, schickst es dir selbst zu und öffnest den Brief nicht. Da kommt ein Stempel drauf.

Schick mir die Datei per PN ich signiere es dir mit meinem persönlichem Zertifikat aus der Telekom Security PKI. ;)

Ich bin jetzt schon gespannt, welche Welterungenschaft von Moriz unser alltägliches Leben in Zukunft prägen wird.

#7958927
Lesenswert?

Moritz hat ein Salami-Problem geschildert. Schade ist nur, wenn sein gewählter elektronischer Zeitstempeldienst aus irgendwelchen Gründen nach x Jahren verschwunden ist, kann er seine große, weltbewegende Erfindung nicht mehr zuverlässig nachweisen od. prüfen lassen.

Viel schlimmer noch. Es gibt Archivierungsfristen, die sind bei Gebäuden 100 Jahre. Das BSI hat auch was. https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/IT-GS-Kompendium_Einzel_PDFs_2023/04_OPS_Betrieb/OPS_1_2_2_Archivierung_Edition_2023.pdf?__blob=publicationFile&v=3

Angehängte Dateien:
: Bearbeitet durch User
#7959026
Lesenswert?

Was hier letzte Nacht abgeliefert wurde, ist mal wieder Forenmist vom Feinsten:

  • stets und immer am Thema vorbei
  • Belehrungen über Dinge, die nicht gefragt sind und das zur "akademischen Diskussion" erklärt.
  • Je weniger Sachverstand vorhanden ist, um so größer der Schreibschwall
  • und das alles mit moralischem Impetus unter Meidung jeglichen Aspekts, der auch nur in den Verdacht geraten könnte, einen Bezug zur Praxis haben zu können.

Schämt euch.

Um diesem Foren-Elend hier ein Ende zu machen und allen Klugscheißereien zum Thema den Boden zu entziehen:

https://blog.embedded-system-design.de/index.php/2019/07/14/vertrauenswuerdige-zeitstempel/ beschreibt in allen Einzelheiten am Beispiel freeTSA, wie ein Zeitstempel-Dienst zu bedienen ist.

@admin: Thread bitte schließen.

: Bearbeitet durch User

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren