DE102018113148A1 - Method for audit-proof storage of data - Google Patents

Method for audit-proof storage of data Download PDF

Info

Publication number
DE102018113148A1
DE102018113148A1 DE102018113148.8A DE102018113148A DE102018113148A1 DE 102018113148 A1 DE102018113148 A1 DE 102018113148A1 DE 102018113148 A DE102018113148 A DE 102018113148A DE 102018113148 A1 DE102018113148 A1 DE 102018113148A1
Authority
DE
Germany
Prior art keywords
file
server
stored
data
doknr
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102018113148.8A
Other languages
German (de)
Inventor
Anmelder Gleich
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE102018113148.8A priority Critical patent/DE102018113148A1/en
Publication of DE102018113148A1 publication Critical patent/DE102018113148A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Abstract

Die vorliegende Erfindung betrifft ein Verfahren zur revisionssicheren Speicherung von Daten, mittels dessen Änderungen an elektronischen Dokumenten, insbesondere E-Mails, elektronischen Rechnungen, Kassendaten oder dergleichen, welche als elektronische Datei (D) vorliegen, feststellbar sind wobei von der Datei (D), welche auf einem Client-Computer (Client, 100) gespeichert ist, im ersten Schritt ein Hashwert (CS) berechnet wird (101), dieser Hashwert CS über ein Netzwerk (insbesondere über das Internet) an einen zweiten Server-Computer (Server, 200) über eine Schnittstelle (201) übertragen wird,auf dem Server eine fortlaufende, noch nicht vergebene Dokumentennummer (DOKNR) bestimmt wird (202), (CS) und (DOKNR) in einer Datei oder Datenbank (DB, 203) auf dem Server gespeichert werden, wobei der Server eine Schnittstelle (201) besitzt, die es zumindest erlaubt, einen Hashwert CS entgegenzunehmen, um diesen in einer Datei oder Datenbank (DB, 203) abzuspeichern, die es zumindest erlaubt, einen gespeicherten Datensatz (CS, DOKNR) zurückzugeben, die es allerdings nicht erlaubt, dass auf dem Server gespeicherte Datensätze (CS, DOKNR) entfernt, geändert oder überschrieben werden.The present invention relates to a method for tamper-proof storage of data, by means of which changes to electronic documents, in particular e-mails, electronic invoices, POS data or the like, which are present as electronic file (D) can be detected, whereby from the file (D), which is stored on a client computer (client, 100), in the first step a hash value (CS) is calculated (101), this hash value CS via a network (in particular via the Internet) to a second server computer (server, 200 ) is transmitted via an interface (201), on the server a continuous, not yet assigned document number (DOKNR) is determined (202), (CS) and (DOKNR) stored in a file or database (DB, 203) on the server in which the server has an interface (201) which at least allows it to receive a hash value CS in order to store it in a file or database (DB, 203) which at least avoids it to return a stored record (CS, DOKNR) that does not allow any records (CS, DOKNR) stored on the server to be removed, changed, or overwritten.

Description

Die vorliegende Erfindung betrifft ein Verfahren zur revisionssicheren Speicherung von Daten, mittels dessen Änderungen an elektronischen Dokumenten, insbesondere E-Mails, elektronischen Rechnungen, Kassendaten oder dergleichen, welche als elektronische Datei (D) vorliegen, feststellbar sind, die Unveränderbarkeit der Dokumente sicherstellbar und Manipulationen verhinderbar sind.The present invention relates to a method for audit-proof storage of data, by means of which changes to electronic documents, in particular e-mails, electronic invoices, POS data or the like, which are present as an electronic file (D) can be determined, the immutability of the documents verifiable and manipulations are preventable.

Nach dem Stand der Technik erfolgt bislang die Speicherung von Daten in der Regel auf einem Datenträger wie zum Beispiel einem WORM-Medium (CD, DVD, WORM-Bandlaufwerk), das heißt einem Speichermedium, welches nur einmalig beschreibbar ist und das Löschen, Überschreiben oder Ändern der Daten auf dem Speichermedium dauerhaft ausschließt.In the prior art, the storage of data usually takes place on a data carrier such as a WORM medium (CD, DVD, WORM tape drive), ie a storage medium which can only be written once and the deletion, overwriting or Permanently excludes changing the data on the storage medium.

Eine weitere Möglichkeit ist der Einsatz von elektronischen Archivsystemen, welche mit Mechanismen wie Containern, Hash-Codes, Berechtigungen und Protokollierung arbeiten. Zudem können Berechtigungen im Betriebssystem der Clients und Server, der Datenbank sowie der Backup-Verfahren vergeben werden und organisatorische Regelungen, wie das Vier-Augen-Prinzip bei der Administration, regelmäßige Audits, Zugangskontrollen und Arbeitsanweisungen getroffen werden.Another possibility is the use of electronic archive systems, which work with mechanisms such as containers, hash codes, authorizations and logging. In addition, authorizations in the operating system of the clients and servers, the database and the backup process can be assigned and organizational regulations, such as the dual control principle in administration, regular audits, access controls and work instructions are met.

Die Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zur revisionssicheren Speicherung von Daten zur Verfügung zu stellen, welches höheren Sicherheitsanforderungen genügt als die bisher bekannten Verfahren und insbesondere auch den Grundsätzen ordnungsgemäßer Buchführung und Dokumentation gemäß GoBD genügt.The object of the present invention is to provide a method for audit-proof storage of data which meets higher security requirements than the previously known methods and in particular also satisfies the principles of proper bookkeeping and documentation according to GoBD.

Die Lösung dieser Aufgabe liefert ein Verfahren zur revisionssicheren Speicherung von Daten mit den Merkmalen des Anspruchs 1.The solution to this problem provides a method for audit-proof storage of data with the features of claim 1.

Die vorliegende Erfindung liefert somit ein Verfahren zur Erkennung von Änderungen, insbesondere an buchhaltungsrelevanten elektronischen Dokumenten, insbesondere E-Mails, elektronischen Rechnungen, Kassendaten oder dergleichen, welche als elektronische Datei D vorliegen, mit dem Ziel, eine Unveränderbarkeit der Dokumente durch die buchhaltungspflichtige Person P sicherzustellen bzw. eine Manipulation zu verhindern, wobei von dieser Datei D, welche auf einem Client-Computer (Client, 100) gespeichert ist, im ersten Schritt ein Hashwert CS der Datei D berechnet wird (101),
dieser Hashwert CS über ein Netzwerk (insbesondere über das Internet) an einen zweiten Server-Computer (Server, 200) über eine Schnittstelle (201) übertragen wird,
wobei auf dem Server eine fortlaufende, noch nicht vergebene Dokumentennummer DOKNR bestimmt wird (202),
CS und DOKNR in einer Datei oder Datenbank (DB, 203) auf dem Server gespeichert werden,
wobei der Server eine Schnittstelle (201) besitzt, die es zumindest erlaubt,
einen Hashwert CS entgegenzunehmen, um diesen in einer Datei oder Datenbank (DB, 203) abzuspeichern,
die es zumindest erlaubt, einen gespeicherten Datensatz (CS, DOKNR) zurückzugeben,
die es allerdings nicht erlaubt, dass auf dem Server gespeicherte Datensätze (CS, DOKNR) entfernt, geändert oder überschrieben werden.
The present invention thus provides a method for detecting changes, in particular to accounting-related electronic documents, in particular e Emails, electronic invoices, cash register data or the like, which are available as an electronic file D with the aim of making the documents immutable by the accounting subject P ensure or prevent tampering, from this file D displayed on a client computer (client, 100 ), in the first step a hash value CS the file D is calculated ( 101 )
this hash value CS via a network (in particular via the Internet) to a second server computer (server, 200 ) via an interface ( 201 ) is transmitted
where on the server is a continuous, not yet issued document number DOKNR is determined ( 202 )
CS and DOKNR in a file or database ( DB . 203 ) are stored on the server,
where the server has an interface ( 201 ) that at least allows it,
a hash value CS to receive it in a file or database (DB, 203 ) to save
which at least allows a stored data set ( CS . DOKNR ) return,
However, it does not allow records stored on the server ( CS . DOKNR ), changed or overwritten.

Erfindungsgemäß ist vorgesehen, dass im ersten Schritt der Hashwert einer elektronischen Datei berechnet wird. Dies kann nach einem gebräuchlichen Verfahren, zum Beispiel einem „message-digest-Algorithmus 5“ (MD5) geschehen. Der so berechnete Hashwert wird dann beispielsweise auf einem Server im Internet gespeichert. Auf diesen Internet-Server hat die speichernde Person keinen löschenden Zugriff. Sie kann dort also einen gespeicherten Wert weder ändern noch löschen.According to the invention, the hash value of an electronic file is calculated in the first step. This can be done according to a common method, for example a "message digest algorithm 5 "( MD5 ) happen. The hash value calculated in this way is then stored, for example, on a server on the Internet. The storing person has no deleting access to this Internet server. It can not change or delete a stored value there.

Da der Hashwert der Datei sich ändert, wenn sich die Datei an sich, zum Beispiel durch Hinzufügen oder Löschen von einzelnen oder mehreren Zeichen in der Datei, ändert, kann dieses Verfahren eingesetzt werden, um eine nachträgliche Veränderung der Datei festzustellen. Dies ist vor allem für buchhaltungsrelevante elektronische Dokumente (Rechnungen, Kassendaten, etc.) wichtig, die laut den „Grundsätzen zur ordnungsmäßigen Führung und Aufbewahrung von Büchern, Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff (GoBD)“ so gespeichert werden müssen, dass nachträgliche Änderungen sichtbar werden.Since the hash value of the file changes when the file itself changes, for example, by adding or deleting one or more characters in the file, this method can be used to detect a subsequent change of the file. This is particularly important for accounting-related electronic documents (invoices, POS data, etc.) that must be stored in accordance with the "Principles for the Proper Management and Retention of Books, Records and Records in Electronic Form and for Data Access (GoBD)" subsequent changes become visible.

Durch einen Vergleich des Hashwertes der Datei zu einem bestimmten Zeitpunkt und dem Hashwert der Datei, der auf dem Internet-Server (unveränderbar für die speichernde Person oder eine andere Person im Unternehmen) gespeichert wurde, kann festgestellt werden, ob die Datei in der Zwischenzeit verändert wurde. Dies ist der Fall, wenn die Hashwerte verschieden sind.By comparing the hash value of the file at a particular time and the hash value of the file stored on the Internet server (unchangeable for the person storing or another person in the company), it can be determined whether the file is changing in the meantime has been. This is the case if the hash values are different.

Das erfindungsgemäße Verfahren hat den Vorteil, dass der Hashwert nicht auf dem lokalen Computer oder auf einem anderen Computer im lokalen Netzwerk der buchhaltungspflichtigen Person gespeichert wird, sondern über das Internet an einen zweiten Computer übertragen wird, auf den die Person keinen löschenden oder ändernden Zugriff hat. Es handelt sich also nicht um ein Verfahren, welches allein durch Software realisiert werden kann.The inventive method has the advantage that the hash value is not stored on the local computer or on another computer in the local network of the accountable person, but is transmitted via the Internet to a second computer to which the person has no deleting or changing access , It is therefore not a process that can be realized solely by software.

Um auszuschließen, dass der auf dem Internet-Server gespeicherte Hashwert einer Datei eventuell durch den Internet-Server-Administrator geändert/gelöscht wird, kann der Hashwert zusätzlich oder alternativ auch in eine Blockchain gespeichert werden, die im allgemeinen eine unveränderbare Ablage von Werten garantiert. Eine Blockchain ist eine kontinuierlich erweiterbare Liste von Datensätzen, genannt „Blöcke“, die mittels kryptographischer Verfahren miteinander verkettet sind. Jeder Block enthält dabei typischerweise einen kryptographisch sicheren Hashwert (Streuwert) des vorhergehenden Blocks, einen Zeitstempel und Transaktionsdaten. Das Konzept der Blockchain kann genutzt werden, um ein Buchführungssystem dezentral zu führen und dabei einen Konsens über den richtigen Zustand der Buchführung zu erzielen, bei Teilnahme einer größeren Anzahl von Personen an dieser Buchführung. In order to rule out that the hash value of a file stored on the Internet server may be changed / deleted by the Internet server administrator, the hash value can additionally or alternatively also be stored in a blockchain, which generally guarantees an unchangeable storage of values. A blockchain is a continuously expandable list of records called "blocks" that are concatenated using cryptographic techniques. Each block typically contains a cryptographically secure hash value (scatter value) of the previous block, a time stamp and transaction data. The blockchain approach can be used to decentralize an accounting system and to reach consensus on the correct state of accounting, with a larger number of people taking part in the bookkeeping.

Gegenüber bekannten Verfahren hat das erfindungsgemäße Verfahren eine Reihe von Vorteilen. Zur Sicherstellung der Unveränderbarkeit einer Datei braucht die Datei nicht auf ein sogenanntes WORM-Medium, welches unter Umständen zusätzliche Kosten verursacht und/oder schlecht für den automatischen Betrieb geeignet ist, kopiert werden, sondern kann an beliebiger Stelle gespeichert sein.Compared to known methods, the inventive method has a number of advantages. To ensure the immutability of a file, the file does not need to be copied to a so-called WORM medium, which may cause additional costs and / or poorly suited for automatic operation, but may be stored in any location.

Zur Sicherstellung der Unveränderbarkeit einer Datei braucht die Datei nicht auf einen Webserver im Internet übertragen werden. Dies könnte bei sensiblen (Buchhaltungs-) Daten nicht gewünscht sein. Es ist ausreichend, nur den Hashwert der Datei zu übertragen.To ensure the immutability of a file, the file need not be transferred to a web server on the Internet. This might not be desirable for sensitive (accounting) data. It is sufficient to transfer only the hash value of the file.

Zur Sicherstellung der Unveränderbarkeit einer Datei wird der Hashwert der Datei nicht lokal, beispielsweise in einer Datenbank gespeichert, auf die eine Person des Unternehmens Zugriffsrechte besitzt, wodurch eine nachträgliche Änderung durch eine Person des Unternehmens möglich ist. Stattdessen wird der Hashwert auf einen Server übertragen, wo der Hashwert von der speichernden Person nicht mehr verändert, überschrieben oder gelöscht werden kann. Dies wird durch eine geeignete Schnittstelle auf dem Server sichergestellt.To ensure the immutability of a file, the hash value of the file is not stored locally, for example, in a database to which a person of the company has access rights, which makes a subsequent change by a person of the company possible. Instead, the hash value is transferred to a server where the hash value can no longer be changed, overwritten or deleted by the storing person. This is ensured by a suitable interface on the server.

Durch die Speicherung des Hashwertes der Datei zusätzlich oder ausschließlich in einer Blockchain, kann zudem sichergestellt werden, dass der gespeicherte Hashwert durch keine Person (auch nicht beispielsweise durch den Administrator des Internet-Servers) nach der Speicherung geändert werden kann.By storing the hash value of the file additionally or exclusively in a blockchain, it can also be ensured that the stored hash value can not be changed by any person (not even, for example, by the administrator of the internet server) after storage.

Die Unveränderbarkeit einer Datei kann durch Vergleich des auf dem Server gespeicherten Hashwertes der Datei mit dem im Zeitpunkt des Vergleichs berechneten Hashwertes der Datei sichergestellt werden. Sind die beiden Werte verschieden, wurde die Datei verändert, nachdem der Hashwert der Datei auf dem Server gespeichert wurde. Durch eine geeignete Schnittstelle kann der auf dem Server gespeicherte Hashwert der Datei vom Server abgerufen werden.The immutability of a file can be ensured by comparing the hash value of the file stored on the server with the hash value of the file calculated at the time of the comparison. If the two values are different, the file was changed after the hash value of the file was saved to the server. Through an appropriate interface, the hash value of the file stored on the server can be retrieved from the server.

Gemäß einer bevorzugten Weiterbildung der Erfindung können neben dem Hashwert CS noch zusätzliche zur Datei gehörige Daten ZUS vom Client an den Server übertragen und auf dem Server in einer Datei oder Datenbank (DB, 203) gespeichert werden, dies können insbesondere ein Dateiname und ein Dateipfad der Datei sein.According to a preferred embodiment of the invention, in addition to the hash value CS additional data belonging to the file ZUS transferred from the client to the server and stored on the server in a file or database ( DB . 203 ), which may be, in particular, a file name and a file path of the file.

Gemäß einer bevorzugten Weiterbildung der Erfindung kann auf dem Server 200 neben dem Hashwert CS und gegebenenfalls den zuvor beschriebenen Daten ZUS und der Dokumentennummer DOKNR zusätzlich auch das aktuelle Datum DAT bestimmt und in einer Datei oder Datenbank (DB, 203) gespeichert werden.According to a preferred embodiment of the invention may be on the server 200 next to the hash value CS and optionally the previously described data ZUS and the document number DOKNR In addition, the current date DAT determined and stored in a file or database ( DB . 203 ) get saved.

Gemäß einer bevorzugten Weiterbildung der Erfindung kann auf dem Server 200 neben dem Hashwert CS und gegebenenfalls den oben beschriebenen Daten ZUS, DAT und der Dokumentennummer DOKNR zusätzlich auch ein Hashwert CS2 dieser Daten (der über alle diese genannten Daten oder teilweise bestimmt wird 205), zusammen mit den oben beschriebenen Daten in einer Datei oder Datenbank (DB, 203) gespeichert werden.According to a preferred embodiment of the invention may be on the server 200 next to the hash value CS and optionally the data described above ZUS . DAT and the document number DOKNR additionally a hash value CS2 of this data (which is determined by all or part of these data 205 ), together with the data described above in a file or database ( DB . 203 ) get saved.

Gemäß einer bevorzugten Weiterbildung der Erfindung kann der Client 100 zusätzlich zu den oben beschriebenen Daten einen String BID übertragen, welcher den jeweiligen Benutzer eindeutig identifiziert und welcher zusammen mit den oben beschriebenen Daten in einer Datei oder Datenbank (DB, 203) gespeichert werden kann.According to a preferred embodiment of the invention, the client 100 in addition to the data described above, a string BID which uniquely identifies the respective user and which together with the data described above in a file or database ( DB . 203 ) can be stored.

Gemäß einer bevorzugten Weiterbildung der Erfindung kann der Client 100 zusätzlich zu den oben beschriebenen Daten einen String PW an den Server 200 übertragen, welcher als Passwort dient und der Schnittstelle 201 ermöglicht, nur bei Übermittlung des korrekten Passworts nachfolgende Aktionen auszuführen oder dies bei einem falschen Passwort zu unterlassen, hierbei ist das Passwort der BID zugeordnet.According to a preferred embodiment of the invention, the client 100 in addition to the data described above, a string PW to the server 200 transfer, which serves as a password and the interface 201 makes it possible to carry out subsequent actions only when the correct password is transmitted, or to refrain from doing so if the password is incorrect, in which case the password is BID assigned.

Gemäß einer bevorzugten Weiterbildung der Erfindung können die oben genannten Daten CS, gegebenenfalls ZUS, gegebenenfalls DAT, DOKNR, gegebenenfalls CS2, gegebenenfalls BN - eventuell auch nur teilweise - vom Server 200 zusätzlich oder alternativ zur Speicherung in eine Datenbank (DB, 203) in einer Blockchain 300 übertragen und dort gespeichert werden. According to a preferred embodiment of the invention, the above data CS , possibly ZUS , possibly DAT . DOKNR , possibly CS2 , possibly BN - possibly only partially - from the server 200 additionally or alternatively for storage in a database ( DB . 203 ) in a blockchain 300 be transferred and stored there.

Gemäß einer bevorzugten Weiterbildung der Erfindung können die oben genannten Daten CS, gegebenenfalls ZUS, gegebenenfalls DAT, DOKNR, gegebenenfalls CS2, gegebenenfalls BN - eventuell auch nur teilweise - direkt vom Client 100 über das Internet in eine Blockchain übertragen und dort gespeichert werden und hierbei können die Daten DOKNR und gegebenenfalls DAT und gegebenenfalls BN auf dem Client 100 bestimmt werden.According to a preferred embodiment of the invention, the above-mentioned data CS, if necessary ZUS , possibly DAT . DOKNR , possibly CS2 , possibly BN - possibly only partially - directly from the client 100 be transferred over the Internet in a block chain and stored there and this data can DOKNR and optionally DAT and optionally BN on the client 100 be determined.

Gemäß einer bevorzugten Weiterbildung des erfindungsgemäßen Verfahrens kann auch beispielsweise mehr als eine Datei gleichzeitig verarbeitet werden.According to a preferred embodiment of the method according to the invention, for example, more than one file can be processed simultaneously.

Die in den Unteransprüchen genannten Merkmale betreffen bevorzugte Weiterbildungen der erfindungsgemäßen Aufgabenlösung. Weitere Vorteile der Erfindung ergeben sich aus der nachfolgenden Detailbeschreibung.The features mentioned in the dependent claims relate to preferred developments of the task solution according to the invention. Further advantages of the invention will become apparent from the following detailed description.

Nachfolgend wird die vorliegende Erfindung anhand von Ausführungsbeispielen unter Bezugnahme auf die beiliegende Zeichnung näher erläutert. Dabei zeigt

  • 1 eine schematische Darstellung der Arbeitsweise der erfindungsgemäßen Verfahrens gemäß beispielhafter Ausführungsvarianten.
Hereinafter, the present invention will be explained in more detail by means of embodiments with reference to the accompanying drawings. It shows
  • 1 a schematic representation of the operation of the method according to the invention according to exemplary embodiments.

BEISPIEL 1:EXAMPLE 1:

Bei einer ersten beispielhaften Ausführungsvariante stellt ein PC den Client 100 dar, auf dem beispielsweise ein Windows-Programm installiert ist, welches den Hashwert CS einer revisionssicher abzulegenden Datei D (zum Beispiel einer E-Mail mit angehängter Rechnung im PDF-Format oder einer Ausgangsrechnung im MS-Word-Format) über ein gebräuchliches Verfahren (z.B. MD5 oder SHA-1, SHA-2) ermittelt sowie diesen Wert CS, zusätzliche Daten ZUS wie den lokalen Dateipfad und Dateinamen dieser Datei sowie eine im Windows-Programm hinterlegte Benutzer-ID BID und ein Passwort PW über eine HTTP-Anfrage S1, 201 an einen Server 200 verschickt. Dieser Server 200 ist über das Internet mit dem Client 100 verbunden und wertet die über HTTP gesendeten Daten aus. Zunächst wird überprüft, ob die BID auf dem Server 200 bekannt ist und ob das Passwort PW korrekt ist. Falls dies der Fall ist, werden die nachfolgenden Verfahrenschritte ausgeführt.In a first exemplary embodiment, a sets PC the client 100 on which, for example, a Windows program is installed, which has the hash value CS a revision-proof file to be filed D (For example, an e-mail with attached invoice in PDF format or an outgoing invoice in MS-Word format) via a common method (eg MD5 or SHA- 1 , SHA- 2 ) and this value CS , additional data ZUS such as the local file path and file name of this file as well as a user ID stored in the Windows program BID and a password PW via an HTTP request S1 . 201 to a server 200 sent. This server 200 is over the internet with the client 100 connected and evaluates the data sent via HTTP. First, it checks if the BID on the server 200 is known and if the password PW correct is. If so, the following procedures are performed.

Im folgenden Schritt wird zunächst eine neue, eindeutige Dokumentennummer DOKNR für die Datei D ermittelt 202. Hierzu wird überprüft, welche Dokumentennummern bereits auf dem Server gespeichert wurden. Sind die Dokumentennummern beispielsweise numerisch, kann die neue DOKNR durch Addition von 1 zu der zuletzt erzeugten Dokumentennummern DOKNR_i-1 bestimmt werden. In einer alternativen Ausführung sind aber auch andere Algorithmen möglich, die eine eindeutige DOKNR erzeugen, beispielsweise auch für alphanumerische Dokumentennummern. Im nächsten Schritt 204 wird das aktuelle Datum inklusive Uhrzeit DAT auf dem Server 200 bestimmt. Darauf folgend wird aus dem gesamten Datensatz D1A = (CS, ZUS, BID, DOKNR, DAT) ein Hashwert CS2 mit einem gebräuchlichen Verfahren (z.B. MD5 oder SHA-1, SHA-2) bestimmt. Je nach Ausführung kann CS2 auch aus einem verringerten Datensatz, wie beispielsweise D1B = (CS, ZUS, BID, DOKNR) bestimmt werden. Ein neuer Datensatz D2 = (CS, ZUS, BID, DOKNR, DAT, CS2) wird dann als neue Zeile in die Datenbank (DB, 203) gespeichert.In the following step, a new, unique document number will be created DOKNR determined for the file D. 202 , This is done by checking which document numbers have already been stored on the server. For example, if the document numbers are numeric, the new one may be DOKNR can be determined by adding 1 to the last-generated document numbers DOKNR_i-1. In an alternative embodiment, however, other algorithms are possible that have a unique DOKNR generate, for example, for alphanumeric document numbers. In the next step 204 will be the current date including time DAT on the server 200 certainly. Subsequently, the whole data set D1A = (CS, ZUS, BID, DOKNR, DAT) becomes a hash value CS2 with a common method (eg MD5 or SHA- 1 , SHA- 2 ) certainly. Depending on the design can CS2 also from a reduced data set, such as D1B = (CS, ZUS, BID, DOKNR). A new record D2 = (CS, ZUS, BID, DOKNR, DAT, CS2 ) is then entered as a new line in the database ( DB . 203 ) saved.

Zudem ist auf dem Server ein Blockchain-Client (z.B. für die Ethereum Blockchain) 206 installiert, mit dessen Hilfe Daten aus dem zuvor diskutierten Datensatz D2 in die entsprechende Blockchain 300 gespeichert werden können. Je nach Ausführung könnten dies beispielsweise auch Untermenge von D2 sein, D2A = (DOKNR, CS), D2B = (BID, DOKNR, CS), D2C = (DOKNR, CS2), D2D = (BID, DOKNR, CS2), usw.In addition, there is a blockchain client on the server (eg for the Ethereum Blockchain) 206 installed, with the help of which data from the previously discussed record D2 into the appropriate blockchain 300 can be stored. Depending on the version, this could also be a subset of D2 D2A = (DOKNR, CS), D2B = (BID, DOKNR, CS), D2C = (DOKNR, CS2), D2D = (BID, DOKNR, CS2), etc.

Zur Überprüfung, dass die jeweiligen Dateien vom Client 100 nicht verändert wurden, können über eine Schnittstelle auf dem Server 201, beispielsweise mit einer HTTP-Anfrage, die in der Datenbank DB 203 gespeicherten Datensätze komplett oder teilweise abgerufen werden. So kann beispielsweise die CS zu einer bestimmten DOKNR oder eine Liste aller auf dem Server 200 gespeicherten CS und die jeweils zugehörige DOKNR per HTTP abgerufen werden und mit den tatsächlichen Hashwerten der jeweiligen Dateien auf dem Client 100 verglichen werden.To check that the respective files are from the client 100 have not been changed, via an interface on the server 201 , for example, with an HTTP request that is in the database DB 203 stored data sets are retrieved completely or partially. For example, the CS to a certain DOKNR or a list of all on the server 200 stored CS and their respective ones DOKNR be retrieved via HTTP and with the actual hash values of the respective files on the client 100 be compared.

In ähnlicher Weise können über einen geeigneten Blockchain-Client die in der Blockchain gespeicherten Datensätze abgerufen und mit den Client-Daten verglichen werden.Similarly, through a suitable blockchain client, the records stored in the blockchain can be retrieved and compared against the client data.

BEISPIEL 2:EXAMPLE 2

Bei einer zweiten bespielhaften Ausführungsvariante der Erfindung ist der Client 100 ein Computer (z.B. ein Raspberry Pi), auf dem ein Linux Betriebssystem installiert ist. Auf dem Client 100 läuft zudem eine Kassensystem-Software, welche im Rahmen eines Abschlusses (zum Beispiel täglich) eine Datei mit allen für die Buchhaltung relevanten Geschäftsvorfällen, wie bespielsweise verkaufte Produkte und Informationen zu diesen Geschäftsvorfällen, wie zum Beispiel die Höhe des Umsatzes, erstellt. Diese Datei wird dann wie im Beispiel 1 beschrieben revisionssicher abgelegt, beginnend mit der Bestimmung eines Hashwertes CS für diese Datei.In a second exemplary embodiment of the invention, the client is 100 a computer (eg a Raspberry Pi) with a Linux operating system installed on it. On the client 100 In addition, cash register software runs which, as part of a financial statement (for example, daily), creates a file containing all business transactions relevant to accounting, such as products sold and information about these business transactions, such as the amount of revenue. This file is then stored in a revision-proof manner as described in Example 1, beginning with the determination of a hash value CS for this file.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

100100
Client-ComputerClient computer
101101
Berechnung des HashwertsCalculation of the hash value
200200
Server-ComputerServer computers
201201
Schnittstelleinterface
202202
Bestimmung der DokumentennummerDetermination of the document number
203203
DatenbankDatabase
204204
Bestimmung des DatumsDetermination of the date
205205
Bestimmung des Hashwerts CS2 Determination of the hash value CS2
206206
Blockchain-ClientBlock Chain client
300300
Blockchainblock Chain

Claims (9)

Verfahren zur revisionssicheren Speicherung von Daten, mittels dessen Änderungen an elektronischen Dokumenten, insbesondere E-Mails, elektronischen Rechnungen, Kassendaten oder dergleichen, welche als elektronische Datei (D) vorliegen, feststellbar sind, die Unveränderbarkeit der Dokumente sicherstellbar und Manipulationen verhinderbar sind, dadurch gekennzeichnet, dass von der Datei (D), welche auf einem Client-Computer (Client, 100) gespeichert ist, im ersten Schritt ein Hashwert (CS) berechnet wird (101), dieser Hashwert CS über ein Netzwerk (insbesondere über das Internet) an einen zweiten Server-Computer (Server, 200) über eine Schnittstelle (201) übertragen wird, dass auf dem Server eine fortlaufende, noch nicht vergebene Dokumentennummer (DOKNR) bestimmt wird (202), (CS) und (DOKNR) in einer Datei oder Datenbank (DB, 203) auf dem Server gespeichert werden, wobei der Server eine Schnittstelle (201) besitzt, die es zumindest erlaubt, einen Hashwert CS entgegenzunehmen, um diesen in einer Datei oder Datenbank (DB, 203) abzuspeichern, die es zumindest erlaubt, einen gespeicherten Datensatz (CS, DOKNR) zurückzugeben, die es allerdings nicht erlaubt, dass auf dem Server gespeicherte Datensätze (CS, DOKNR) entfernt, geändert oder überschrieben werden.Method for audit-proof storage of data, by means of which changes to electronic documents, in particular e-mails, electronic invoices, cash register data or the like, which are present as electronic file (D), can be ascertained, the immutability of the documents can be ensured and manipulations can be prevented, characterized in that, in the first step, a hash value (CS) is calculated (101) by the file (D) which is stored on a client computer (client, 100), this hash value CS via a network (in particular via the Internet) a second server computer (server, 200) is transmitted via an interface (201) that a continuous, not yet assigned document number (DOKNR) is determined on the server (202), (CS) and (DOKNR) in a file or Database (DB, 203) are stored on the server, wherein the server has an interface (201) that at least allows to receive a hash value CS, d to save them to a file or database (DB, 203) which at least allows to return a stored record (CS, DOKNR), which does not however allow records (CS, DOKNR) stored on the server to be removed, changed or overwritten become. Verfahren nach Anspruch 1, dadurch gekennzeichnet dass neben dem Hashwert CS noch zusätzliche zur Datei gehörige Daten ZUS vom Client an den Server übertragen und auf dem Server in einer Datei oder Datenbank (DB, 203) gespeichert werden, insbesondere ein Dateiname und/oder ein Dateipfad der Datei.Method according to Claim 1 , characterized in that in addition to the hash value CS additional data belonging to the file ZUS transferred from the client to the server and stored on the server in a file or database (DB, 203), in particular a file name and / or a file path of the file. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass auf dem Server (200) neben dem Hashwert CS und gegebenenfalls der in Anspruch 2 beschriebenen Daten ZUS und der Dokumentennummer DOKNR zusätzlich auch das aktuelle Datum, gegebenenfalls mit Uhrzeit DAT bestimmt und in eine Datei oder Datenbank (DB, 203) gespeichert wird.Method according to Claim 1 or 2 , characterized in that on the server (200) in addition to the hash value CS and possibly the in Claim 2 also describes the current date, if necessary with time DAT and stored in a file or database (DB, 203). Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass auf dem Server (200) neben dem Hashwert CS und gegebenenfalls den in Anspruch 2 und 3 beschriebenen Daten ZUS, DAT und der Dokumentennummer DOKNR zusätzlich auch ein Hashwert CS2 dieser Daten (über alle diese genannten Daten oder teilweise) bestimmt wird (205) und zusammen mit den in Anspruch 1 bis 3 beschriebenen Daten in einer Datei oder Datenbank (DB, 203) gespeichert wird.Method according to one of Claims 1 to 3 , characterized in that on the server (200) in addition to the hash value CS and possibly the in Claim 2 and 3 In addition, a hash value CS2 of this data (over all of these data mentioned or partially) is also determined 205 (205) and together with the data described in FIG Claim 1 to 3 stored data in a file or database (DB, 203) is stored. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass der Client (100) zusätzlich zu den in Anspruch 1 und 2 beschriebenen Daten einen String BID überträgt, welcher den jeweiligen Benutzer eindeutig identifiziert und zusammen mit den in Anspruch 1 bis 4 beschriebenen Daten in einer Datei oder Datenbank (DB, 203) gespeichert wird.Method according to one of Claims 1 to 4 , characterized in that the client (100) in addition to the in Claim 1 and 2 described data transmits a string BID, which uniquely identifies the respective user and together with the in Claim 1 to 4 stored data in a file or database (DB, 203) is stored. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass der Client (100) zusätzlich zu den in Anspruch 1, 2 und 5 beschriebenen Daten einen String PW an den Server (200) überträgt, welcher als Passwort dient und der Schnittstelle (201) ermöglicht, nur bei Übermittlung des korrekten Passworts nachfolgende Aktionen auszuführen oder dies bei einem falschen Passwort zu unterlassen, wobei das Passwort der BID zugeordnet ist.Method according to one of Claims 1 to 5 , characterized in that the client (100) in addition to the in Claim 1 . 2 and 5 described data transmits a string PW to the server (200), which serves as a password and the interface (201) allows to perform subsequent actions only on transmission of the correct password or to omit this in an incorrect password, the password is assigned to the BID , Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die in Anspruch 1 bis 5 genannten Daten CS, gegebenenfalls ZUS, gegebenenfalls DAT, DOKNR, gegebenenfalls CS2, gegebenenfalls BN - eventuell auch nur teilweise - vom Server (200) zusätzlich oder alternativ zur Speicherung in eine Datenbank (DB, 203) in eine Blockchain (300) übertragen und dort gespeichert werden.Method according to one of Claims 1 to 6 , characterized in that the in Claim 1 to 5 CS, possibly ZUS, if necessary DAT, DOKNR, possibly CS2, possibly BN - possibly only partially - from the server (200) additionally or alternatively for storage in a database (DB, 203) in a block chain (300) and there get saved. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die in Anspruch 1 bis 5 genannten Daten CS, gegebenenfalls ZUS, gegebenenfalls DAT, DOKNR, gegebenenfalls CS2, gegebenenfalls BN - eventuell auch nur teilweise - direkt vom Client (100) über das Internet in eine Blockchain übertragen und dort gespeichert werden und dass hierbei die Daten DOKNR und gegebenenfalls DAT und gegebenenfalls BN auf dem Client (100) bestimmt werden. Method according to one of Claims 1 to 6 , characterized in that the in Claim 1 to 5 CS, possibly ZUS, possibly DAT, DOKNR, optionally CS2, possibly BN - possibly even only partially - directly from the client (100) via the Internet into a blockchain and stored there and that in this case the data DOKNR and possibly DAT and optionally BN on the client (100) are determined. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass mehr als eine Datei gleichzeitig verarbeitet werden.Method according to one of Claims 1 to 8th , characterized in that more than one file are processed simultaneously.
DE102018113148.8A 2018-06-01 2018-06-01 Method for audit-proof storage of data Withdrawn DE102018113148A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102018113148.8A DE102018113148A1 (en) 2018-06-01 2018-06-01 Method for audit-proof storage of data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018113148.8A DE102018113148A1 (en) 2018-06-01 2018-06-01 Method for audit-proof storage of data

Publications (1)

Publication Number Publication Date
DE102018113148A1 true DE102018113148A1 (en) 2019-12-05

Family

ID=68576080

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018113148.8A Withdrawn DE102018113148A1 (en) 2018-06-01 2018-06-01 Method for audit-proof storage of data

Country Status (1)

Country Link
DE (1) DE102018113148A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988684A (en) * 2021-03-15 2021-06-18 浪潮云信息技术股份公司 Method and system for extracting and de-duplicating electronic official document data based on Hash algorithm

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69838094T2 (en) * 1997-12-31 2008-04-03 Koninklijke Philips Electronics N.V. TRANSMISSION OF REVISIONS WITH DIGITAL SIGNATURES
DE102006055964A1 (en) * 2006-11-24 2008-05-29 Bdt-Solutions Gmbh Method and device for data backup
DE102007038480A1 (en) * 2007-08-14 2009-02-19 Westinghouse Electric Germany Gmbh Electronic on-line documentations and instruction manuals generating, maintaining and providing method for e.g. nuclear reactor system, involves providing document print and browser versions based on elements of XML document
DE102008031890A1 (en) * 2008-07-08 2010-02-11 Artec Computer Gmbh Method and computer system for the long-term archiving of qualified signed data
DE102013108472A1 (en) * 2012-08-15 2014-05-15 Deutsche Telekom Ag Method for electronic integrity guard for digital information of client computer system, involves sending complementary data with numerical data, identity information and signature of digital information to client computer system
US20160283920A1 (en) * 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69838094T2 (en) * 1997-12-31 2008-04-03 Koninklijke Philips Electronics N.V. TRANSMISSION OF REVISIONS WITH DIGITAL SIGNATURES
DE102006055964A1 (en) * 2006-11-24 2008-05-29 Bdt-Solutions Gmbh Method and device for data backup
DE102007038480A1 (en) * 2007-08-14 2009-02-19 Westinghouse Electric Germany Gmbh Electronic on-line documentations and instruction manuals generating, maintaining and providing method for e.g. nuclear reactor system, involves providing document print and browser versions based on elements of XML document
DE102008031890A1 (en) * 2008-07-08 2010-02-11 Artec Computer Gmbh Method and computer system for the long-term archiving of qualified signed data
DE102013108472A1 (en) * 2012-08-15 2014-05-15 Deutsche Telekom Ag Method for electronic integrity guard for digital information of client computer system, involves sending complementary data with numerical data, identity information and signature of digital information to client computer system
US20160283920A1 (en) * 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BSI, IT-Grundschutzkataloge, Maßnahmenkataloge „B 1.12 Archivierung", abrufbar unter https://www.bsi.bund.de/DE/Themen/ITGrundschutz/ITGrundschutzKataloge/Inhalt/_content/baust/b01/b01012.html, 15. EL Stand 2016 *
Revisionssicherheit. In: Wikipedia, Die freie Enzyklopädie. URL: https://de.wikipedia.org/wiki/Revisionssicherheit, Version vom 16.03.2018 [abgerufen am 20.05.2018] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988684A (en) * 2021-03-15 2021-06-18 浪潮云信息技术股份公司 Method and system for extracting and de-duplicating electronic official document data based on Hash algorithm

Similar Documents

Publication Publication Date Title
DE112012005037B4 (en) Manage redundant immutable files using deduplications in storage clouds
US7873557B2 (en) Information, document, and compliance management for financial professionals, clients, and supervisors
DE60029567T2 (en) DIGITAL DATA MANAGEMENT AND IMAGE MANUFACTURING SYSTEM AND METHOD WITH SECURED DATA MARKING
DE60022767T2 (en) MULTIPOINT FILE BANK SYNCHRONIZATION PROTOCOL TO AVOID DATA BREAKDOWN.
US20070088736A1 (en) Record authentication and approval transcript
DE10297239T5 (en) Mobile digital receipts
AT4261U2 (en) SELF-DESTROYING DOCUMENT OR EMAIL MESSAGE SYSTEM
DE4420451A1 (en) Inhibiting (blocking) mechanism for a CHECK-IN/CHECK-OUT model
WO2011107068A2 (en) Communication system for recording, storing, transferring, and providing data in a process-oriented manner
US20170177608A1 (en) Electronic file management system
DE112019006673T5 (en) DATA LOSS PROTECTION
EP3531333B1 (en) Manipulation-proof storage of evidence data
DE102011077512A1 (en) Method for the secure processing of data stored in an electronic safe
DE112019005317T5 (en) OBJECT STORAGE FOR GUARANTEED CONTENT FOR BACKUP AND STORAGE
DE102018113148A1 (en) Method for audit-proof storage of data
DE102021128519A1 (en) DOCUMENT ACCESS CONTROL BASED ON DOCUMENT COMPONENT LAYOUTS
EP1782148A1 (en) Rapid archivable worm memory system based on a hard disc
DE102018112742A1 (en) A computer-implemented method of passing a data string from an application to a privacy device
EP3857815A1 (en) Database and method for data deletion
DE10146977B4 (en) Electronic personal data management system
DE102018200807A1 (en) Method and server device for providing a digital vehicle companion book for a motor vehicle
EP1191458B1 (en) Bidirectional linking of database and file system
WO2012007322A1 (en) Method for sending an e-mail
Mwange et al. Emerging issues in accounting: a theoretical review
EP1990751A1 (en) Method for digital signing and/or encryption of a file stored on a data processing unit

Legal Events

Date Code Title Description
R163 Identified publications notified
R082 Change of representative

Representative=s name: PATENTANWAELTE FRITZ & BRANDENBURG, DE

Representative=s name: FRITZ & BRANDENBURG PATENTANWAELTE, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee