Source: https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20009390
Timestamp: 2020-08-06 13:16:12
Document Index: 103093946

Matched Legal Cases: ['Art. 3', 'Art. 3', 'Art. 3', 'Art. 3', '§ 131', '§ 7', '§ 132', '§ 131', '§ 10', '§ 132', 'Art. 3', 'Art. 30', '§ 10', '§ 131', 'Art. 14', '§ 131', '§ 9', '§ 131', '§ 20', '§ 21', '§ 21', '§ 20', '§ 20', '§ 21', '§ 9', '§ 10', '§ 28', '§ 20', '§ 9', '§ 9', '§ 9', '§ 9', '§ 9', '§ 9', '§ 9', '§ 9', '§ 9', '§ 9', '§ 9']

RIS - Registrierkassensicherheitsverordnung - Bundesrecht konsolidiert, Fassung vom 06.08.2020
Bundesrecht konsolidiert: Gesamte Rechtsvorschrift für Registrierkassensicherheitsverordnung, Fassung vom 06.08.2020
BGBl. II Nr. 313/2020
Signaturerstellung durch die Signaturerstellungseinheit (Anm.: Signatur- bzw. Siegelerstellung durch die Signatur- bzw. Siegelerstellungseinheit)
Anforderungen an die Signaturerstellungseinheiten (Anm.: Anforderungen an die Signatur- bzw. Siegelerstellungseinheiten)
Signaturschlüsselpaar und Signaturerstellung (Anm.: Signaturschlüsselpaar und Signatur- bzw. Siegelerstellung)
Verifizierbarkeit der Signaturen (Anm.: Verifizierbarkeit der Signaturen bzw. Siegel)
Beschaffung und Registrierung der Signaturerstellungseinheit; Kontrolle (Anm.: Beschaffung und Registrierung der Signatur- bzw. Siegelerstellungseinheit; Kontrolle)
Beschaffung der Signaturerstellungseinheit (Anm.: Beschaffung der Signatur- bzw. Siegelerstellungseinheit)
Registrierung der Signaturerstellungseinheit (Anm.: Registrierung der Signatur- bzw. Siegelerstellungseinheiten und Registrierkassen)
Inkrafttreten bzw. Übergangsbestimmung
(Anm.: Anlage: Detailspezifikationen)
Die Registrierkassensicherheitsverordnung regelt
der Signatur- bzw. Siegelerstellungseinheit,
der Kommunikation zwischen Registrierkasse und Signatur- bzw. Siegelerstellungseinheit,
„eIDAS-VO“: Verordnung (EU) Nr. 910/2014 über die elektronische Identifizierung und Vertrauensdienste für elektronische Transaktionen im Binnenmarkt und zur Aufhebung der Richtlinie 1999/93/EG, ABl. Nr. L 257/73 vom 28. August 2014
Elektronische (kryptografische) Signatur: Daten in elektronischer Form, die anderen elektronischen Daten beigefügt oder logisch mit ihnen verbunden werden und die der Unterzeichner im Sinne des Art. 3 Z 9 eIDAS-VO zum Unterzeichnen im Sinne des Art. 3 Abs. 10 der eIDAS-VO verwendet
Elektronisches (kryptografisches) Siegel: Daten in elektronischer Form, die anderen Daten in elektronischer Form beigefügt oder logisch mit ihnen verbunden werden, um deren Ursprung und Unversehrtheit sicherzustellen (Art. 3 Abs. 25 eIDAS-VO)
Hardware-Sicherheitsmodul (HSM): Signatur- bzw. Siegelerstellungseinheit, die zur Erstellung (qualifizierter) elektronischer Signaturen verwendet wird und vor allem bei serverbasierten Lösungen zum Einsatz kommt
Kassenidentifikationsnummer: über FinanzOnline gemeldetes Kennzeichen einer Registrierkasse, das auch die Unterscheidung verschiedener Registrierkassen mit gleicher Signatur- bzw. Siegelerstellungseinheit ermöglicht
Object Identifier (OID): weltweit eindeutiger Bezeichner nach ISO/IEC 9834-1 und A 2642, der benutzt wird, um ein Informationsobjekt zu benennen. In dieser Verordnung wird der OID verwendet, um die Verwendung des Signatur- bzw. Siegelzertifikates auf den Zweck 'Österreichische Finanzverwaltung Registrierkasseninhaber' einzuschränken
Seriennummer des Signatur- bzw. Siegelzertifikates: eine durch den VDA ausgegebene, im Zertifikat enthaltene, eindeutige Kennung des Zertifikates zum erleichterten Auffinden des Zertifikates im Verzeichnis des VDA
qualifizierte elektronische Signaturerstellungseinheit: konfigurierte Software oder Hardware, die zur Verarbeitung der Signaturerstellungsdaten verwendet wird und die den Sicherheitsanforderungen des Anhangs II der eIDAS-VO entspricht
Qualifizierte elektronische Siegelerstellungseinheit: konfigurierte Software oder Hardware, die zur Verarbeitung der Siegelerstellungsdaten verwendet wird und die den Sicherheitsanforderungen des Anhangs II der eIDAS-VO sinngemäß entspricht
Signatur- bzw. Siegelwert: im Rahmen der Signatur- bzw. Siegelerstellung ermittelter elektronischer Wert der Signatur bzw. des Siegels
Trust-List (vertrauenswürdige Liste gemäß der Entscheidung der Kommission 2009/767/EG über Maßnahmen zur Erleichterung der Nutzung elektronischer Verfahren über einheitliche Ansprechpartner gemäß der Richtlinie 2006/123/EG über Dienstleistungen im Binnenmarkt, ABl. Nr. L 274 vom 20.10.2009 S. 36): nach den Verpflichtungen aus Artikel 2 der Entscheidung 2009/767/EG von allen Mitgliedstaaten zu führende Liste der VDAs für qualifizierte Zertifikate
Validierungsdaten: Daten wie Codes oder öffentliche Signaturschlüssel, die zur Überprüfung einer elektronischen Signatur verwendet werden
Vertrauensdiensteanbieter (VDA): natürliche oder juristische Person, die einen oder mehrere Vertrauensdienste als qualifizierter oder nichtqualifizierter Vertrauensdiensteanbieter (Art. 3 Z 19 eIDAS-VO)
Verifikation: Überprüfung signierter Daten auf Integrität und Authentizität, dass die Daten nach der Signaturerstellung von der korrekten Signatur- bzw. Siegelerstellungseinheit signiert und nicht verändert wurden
Zertifikat für elektronische Siegel: elektronische Bescheinigung, die elektronische Siegelvalidierungsdaten mit einer juristischen Person verknüpft und den Namen dieser Person bestätigt
(1) Die Sicherheitseinrichtung gemäß § 131b Abs. 2 BAO besteht aus einer Verkettung der Barumsätze mit Hilfe der elektronischen Signatur der Signaturerstellungseinheit bzw. des elektronischen Siegels der Siegelerstellungseinheit.
(1) Jede Registrierkasse muss über ein Datenerfassungsprotokoll und einen Drucker zur Erstellung oder eine Vorrichtung zur elektronischen Übermittlung von Zahlungsbelegen verfügen.
(1) Die Inbetriebnahme der Sicherheitseinrichtung für die Registrierkasse besteht aus der Einrichtung des Datenerfassungsprotokolls (§ 7) und der Ablage der Kassenidentifikationsnummer als Bestandteil der zu signierenden Daten des ersten Barumsatzes mit Betrag Null (0) (Startbeleg) im Datenerfassungsprotokoll.
(1) Jede Registrierkasse hat ein Datenerfassungsprotokoll zu führen, in dem jeder einzelne Barumsatz zu erfassen und abzuspeichern ist. Für jeden Barumsatz sind zumindest die Belegdaten gemäß § 132a Abs. 3 BAO festzuhalten.
(1) Die in der Registrierkasse erfassten Barumsätze sind laufend aufzusummieren (Umsatzzähler). Trainingsbuchungen dürfen sich nicht auf den Umsatzzähler auswirken.
(1) Zur Gewährleistung des Manipulationsschutzes im Sinne des § 131b Abs. 2 BAO müssen von der Registrierkasse über eine geeignete Schnittstelle zur Signatur- bzw. Siegelerstellungseinheit elektronische Signaturen bzw. Siegel angefordert und übernommen werden können. Jeder einzelne Barumsatz und Monats-, Jahres- und Schlussbeleg sowie jede Trainings- und Stornobuchung sind elektronisch zu signieren.
Betrag der Barzahlung getrennt nach Steuersätzen gemäß § 10 des Umsatzsteuergesetzes 1994 – UStG 1994, BGBl. Nr. 663/1994, in der jeweils geltenden Fassung
Signatur- bzw. Siegelwert des vorhergehenden Barumsatzes des Datenerfassungsprotokolls (Verkettungswert laut Z 4 der Anlage). Signaturalgorithmen sowie Schlüssel zu den Algorithmen und Parametern für qualifizierte Signaturen und Siegel müssen qualifizierten Signaturerstellungseinheiten oder qualifizierten Siegelerstellungseinheiten nach der eIDAS-VO entsprechen.
(1) Nach Ermittlung jedes Signatur- bzw. Siegelwertes hat die Registrierkasse für die Belegerstellung und die Speicherung im Datenerfassungsprotokoll einen maschinenlesbaren Code laut Z 12 der Anlage aufzubereiten.
Signatur- bzw. Siegelwert des vorhergehenden Barumsatzes des Datenerfassungsprotokolls (Verkettungswert laut Z 4 der Anlage)
Signatur- bzw. Siegelwert des betreffenden Barumsatzes.
(1) Auf dem Beleg sind neben den Belegdaten des § 132a Abs. 3 BAO folgende Daten auszuweisen:
als ein vom Signatur- bzw. Siegelwert des betreffenden Barumsatzes abhängiger Link in maschinenlesbarer Form als Barcode oder OCR zum Abruf der Daten bereitzuhalten und am Beleg auszuweisen oder
Die technischen Anforderungen an die Signaturerstellungseinheit entsprechen den Anforderungen an Signaturerstellungseinheiten für qualifizierte Signaturen nach Anhang II der eIDAS-VO. Die technischen Anforderungen an die Siegelerstellungseinheit entsprechen den Anforderungen an Siegelerstellungseinheiten für qualifizierte Siegel nach Art. 3 Anhang II der eIDAS-VO sinngemäß. Anstelle der in Art. 30 Abs. 1 der eIDAS-VO vorgesehenen Zertifizierung kann eine Prüfung in Bezug auf die inhaltlichen Anforderungen dieser Verordnung erfolgen, wobei die Anforderung der alleinigen Kontrolle und deren Auswirkungen auf den Betrieb auf Grund der Verkettung nicht Gegenstand dieser Prüfung sind.
Signaturalgorithmen sowie Schlüssel zu den Algorithmen und Parametern für qualifizierte Signaturen und Siegel müssen qualifizierten Signaturerstellungseinheiten oder qualifizierten Siegelerstellungseinheiten nach der eIDAS-VO entsprechen.
Der Signatur- bzw. Siegelwert des betreffenden Barumsatzes muss an Hand des auf dem Beleg aufgebrachten maschinenlesbaren Codes verifizierbar sein. Dazu müssen insbesondere die in § 10 Abs. 2 enthaltenen Daten auf dem Beleg enthalten sein. Die Vorbearbeitung der dazu in komprimierter Form im maschinenlesbaren Code enthaltenen Daten hat gemäß Z 13 der Anlage zu erfolgen.
(1) Unternehmer, die der Registrierkassenpflicht nach § 131b BAO unterliegen, haben die erforderliche Anzahl von Signatur- bzw. Siegelerstellungseinheiten bei einem im EU-/EWR-Raum oder in der Schweiz niedergelassenen VDA oder einem nach Art. 14 eIDAS-VO anerkannten VDA, der qualifizierte Signatur- bzw. Siegelzertifikate anbietet, zu erwerben. Die Kosten für die Beschaffung der Signatur- bzw. Siegelerstellungseinheit trägt der Unternehmer.
Typ und Wert des der Signatur- bzw. Siegelerstellungseinheit zugeordneten Ordnungsbegriffs des Unternehmers,
Seriennummer des Signatur- bzw. Siegelzertifikates und
(1) Der Unternehmer oder sein bevollmächtigter Parteienvertreter hat über FinanzOnline seine Signatur- bzw. Siegelerstellungseinheiten und Registrierkassen zu melden. Dazu sind pro Signatur- bzw. Siegelerstellungseinheit die Seriennummer des Signatur- bzw. Siegelzertifikates, die Art der Signatur- bzw. Siegelerstellungseinheit und die Kassenidentifikationsnummern der mit den Signatur- bzw. Siegelerstellungseinheiten zu verbindenden Registrierkassen bekannt zu geben. Zusätzlich hat der Unternehmer den frei wählbaren Benutzerschlüssel für die Entschlüsselung (Z 8 der Anlage) der mit dem Verschlüsselungsalgorithmus AES 256 verschlüsselten Daten im maschinenlesbaren Code über FinanzOnline bekannt zu geben. Ist dem Unternehmer die Meldung über FinanzOnline mangels technischer Voraussetzungen unzumutbar, hat die Meldung unter Verwendung des amtlichen Vordrucks zu erfolgen.
(1) Der Unternehmer oder sein bevollmächtigter Parteienvertreter hat über FinanzOnline oder dem für die Erhebung der Umsatzsteuer zuständigen Finanzamt jeden nicht nur vorübergehenden Ausfall und jede Außerbetriebnahme der Sicherheitseinrichtung in der Registrierkasse bei
Diebstahl oder sonstigem Verlust der Signatur- bzw. Siegelerstellungseinheit oder Registrierkasse,
Funktionsverlust der Signatur- bzw. Siegelerstellungseinheit oder Registrierkasse oder
Außerbetriebnahme der Signatur- bzw. Siegelerstellungseinheit oder Registrierkasse
(1) Der Bundesminister für Finanzen führt zur internen Dokumentation über die einem Unternehmer zugeordneten Signatur- bzw. Siegelerstellungseinheiten eine Datenbank über Sicherheitseinrichtungen für die Registrierkassen.
Seriennummern der Signatur- bzw. Siegelzertifikate
(1) Der Unternehmer hat auf Verlangen der Organe der Abgabenbehörde einen Barumsatz mit Betrag Null (0) zu erfassen und den dafür von der Registrierkasse ausgefertigten Beleg zu Kontrollzwecken zu übergeben. Bei Registrierkassen mit einer Vorrichtung zur elektronischen Übermittlung von Zahlungsbelegen ist der Beleg elektronisch zur Verfügung zu stellen.
(1) Die Manipulationssicherheit in geschlossenen Gesamtsystemen gemäß § 131b Abs. 4 BAO ist durch eine Sicherheitseinrichtung zu gewährleisten, die aus einer Verkettung der Barumsätze mit Hilfe der aufbereiteten Daten nach § 9 Abs. 2 im Signaturformat laut Z 4 und 5 der Anlage besteht.
(1) Im Rahmen der Begutachtung geschlossener Gesamtsysteme sind insbesondere folgende Überprüfungen vorzunehmen:
(1) Im Feststellungsbescheid der Abgabenbehörde gemäß § 131b Abs. 4 BAO sind die dem Gutachten zugrunde liegenden Softwarekomponenten der Sicherheitseinrichtung gemäß § 20 Abs. 1 mit Hilfe der Softwaresignatur (§ 21 Abs. 2) zu identifizieren.
(1) Änderungen des mit Bescheid bestätigten geschlossenen Gesamtsystems sind vor ihrer Durchführung dem für die Erhebung der Umsatzsteuer zuständigen Finanzamt unter Vorlage eines neuen Gutachtens (§ 21) zu melden, wenn eine umfassende Umstellung des geschlossenen Gesamtsystems (z. B. Technologiewechsel) oder eine Änderung der Softwarekomponenten der Sicherheitseinrichtung gemäß § 20 Abs. 1 geplant ist oder die Antragsvoraussetzungen im Sinne der §§ 20 Abs. 4 oder 21 Abs. 5 nicht mehr vorliegen. Über solche Änderungen des geschlossenen Gesamtsystems ist mit Feststellungsbescheid abzusprechen.
Die Organe der Abgabenbehörde sind berechtigt, die Übereinstimmung der im Gutachten ausgewiesenen Softwarekomponente laut § 21 Abs. 2 mit der im geschlossenen Gesamtsystem im Einsatz befindlichen Softwarekomponente zu überprüfen. Dazu muss das geschlossene Gesamtsystem eine Eingabemöglichkeit eines Startwertes zur lokalen Abfrage der Softwaresignaturwertes zur Verfügung stellen sowie den Softwaresignaturwert der Komponente berechnen und anzeigen.
(1) Die Verordnung tritt mit 1. April 2017 in Kraft.
(5) Abweichend von § 9 Abs. 2 Z 4 sind auf Barumsätze betreffend Umsätze im Zeitraum nach dem 30. Juni 2020 und vor dem 1. Jänner 2021 der Betrag der Barzahlung getrennt nach Steuersätzen gemäß § 10 des Umsatzsteuergesetzes 1994, BGBl. Nr. 663/1994, in der jeweils geltenden Fassung, oder die davon abweichenden Steuersätze gemäß § 28 Abs. 51 und 52 UStG 1994 in der Fassung des Bundesgesetzes BGBl. I Nr. 313/2020 in die Signatur- bzw. Siegelerstellung einzubeziehen.
Anlage Detailspezifikationen 1. Standards
BASE32, BASE64, BASE64-URL: Network Working Group: Request for Comments: 4648 – The Base16, Base32, and Base64 Data Encodings
CRT (ICM) Mode: NIST Special Publication 800-38A, Recommendation for Block Cipher Modes of Operation
DER: ITU-T X.690: Information technology – ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)
JSON: Internet Engineering Task Force (IETF): Request for Comments: 7159 – The JavaScript Object Notation (JSON) Data Interchange Format
JSON Web Signature: Internet Engineering Task Force (IETF): Request for Comments: 7515 – JSON Web Signature (JWS)
SHA-256: FIPS PUB 180-4 – Secure Hash Standard (SHS)
UTF-8: Network Working Group: Request for Comments: 3629 – UTF-8, a transformation format of ISO 10646
„R“: Fixes Präfix
„N“: Index für die verwendete Algorithmen-Suite startend mit 1
„-„: Fixes Trennzeichen
„C“: Länderkennung des VDAs
„M“: Index für verwendeten VDA innerhalb der gegeben Länderkennung nach ISO 3166-1 startend mit 1
VDA: CM wird als Platzhalter für die zur Verfügung stehenden VDAs gesehen. Wenn ein geschlossenes System laut § 20 zum Einsatz kommt, muss AT0 als VDA angebenden werden.
Signatur/Hashalgorithmus: Für die Erstellung der Belegsignatur laut Z 4, Z 5 dieser Anlage. Es wird der ES256 Algorithmus nach dem JWA (JSON Web Algorithmus) Standard verwendet.
Hashalgorithmus für die Verkettung der Belege und Berechnung des IVs, Anzahl N der extrahierten Bytes: Es wird SHA-256 verwendet. Die Anzahl der extrahierten und damit in den nächsten Beleg übernommen Bytes entspricht 8 (N=8).
Kompressionsalgorithmus für kompakte Darstellung des Belegs: Dieser Algorithmus entspricht den folgenden Verfahren:
Aufbereitung der zu signierenden Daten: Laut Z 4, Z 5 dieser Anlage.
Aufbereitung des maschinenlesbaren Codes: Laut Z 12, Z 13 dieser Anlage.
Belege-Gruppe: Der Wert dieses Feldes ist ein JSON-Array. Die Anzahl der Elemente dieses JSON-Arrays entspricht der Anzahl der Signatur- bzw. Siegelzertifikate die für die Signierung der zu exportierenden Belege verwendet wurden. Ein Element dieser Liste entspricht dabei der folgenden JSON-Datenstruktur:
Signatur- bzw. Siegelzertifikat: Der Wert dieses Feldes ist der BASE64-kodierte Wert des im DER-Format kodierten Signatur- bzw. Siegelzertifikats.
Zertifizierungsstellen: Der Wert dieses Feldes ist ein JSON-Array. Die Elemente des JSON-Arrays entsprechen der Kette aller Zertifizierungsstellen, die für die Ausstellung des Signatur- bzw. Siegelzertifikats verwendet wurden. Der Wert eines Elements entspricht dem BASE64-kodierten Wert des im DER-Format kodierten Zertifikats.
Belege-kompakt: Der Wert dieses Feldes ist ein JSON-Array. Die Elemente entsprechen den signierten Belegen, die in der kompakten Darstellung des JSON Web Signature Formats dargestellt werden (laut Z 6 dieser Anlage). Die Reihenfolge der Belege stimmt mit der Ablagereihenfolge im DEP überein. Es muss garantiert sein, dass die Verkettung der Signatur bzw. des Siegels des Beleges an Stelle x mit dem Beleg an Stelle x+1 gegeben ist (siehe Feld „Sig-Voriger-Beleg“ laut Z 4 dieser Anlage).
Kassen-ID: Der Wert dieses Feldes entspricht dem in § 9 Abs. 2 Z 1 angegebenen Wert, JSON-Format string UTF-8 kodiert.
Belegnummer: Der Wert dieses Feldes entspricht dem in § 9 Abs. 2 Z 2 angegebenen Wert, JSON-Format string UTF-8 kodiert.
Beleg-Datum-Uhrzeit: Der Wert dieses Feldes entspricht dem in § 9 Abs. 2 Z 3 angegebenen Wert, JSON-Format string UTF-8 kodiert. Das Datum und die Uhrzeit wird im ISO 8601 Format ohne der Angabe der Zeitzone abgespeichert („JJJJ-MM-TT’T’hh:mm:ss“, z. B. 2015-07-21T14:23:34). Es wird immer von österreichischer Lokalzeit (CET/MEZ) ausgegangen.
Betrag-Satz-Normal: Der Wert dieses Feldes entspricht dem in § 9 Abs. 2 Z 4 angegebenen Wert, JSON-Format number mit 2 Kommastellen. Ist kein Betrag mit dieser MWST vorhanden so wird 0,00 eingetragen.
Betrag-Satz-Ermaessigt-1: Der Wert dieses Feldes entspricht dem in § 9 Abs. 2 Z 4 angegebenen Wert, JSON-Format number mit 2 Kommastellen. Ist kein Betrag mit dieser MWST vorhanden, so wird 0,00 eingetragen.
Betrag-Satz-Ermaessigt-2: Der Wert dieses Feldes entspricht dem in § 9 Abs. 2 Z 4 angegebenen Wert, JSON-Format number mit 2 Kommastellen. Ist kein Betrag mit dieser MWST vorhanden, so wird 0,00 eingetragen.
Betrag-Satz-Null: Der Wert dieses Feldes entspricht dem in § 9 Abs. 2 Z 4 angegebenen Wert, JSON-Format number mit 2 Kommastellen. Ist kein Betrag ohne MWST vorhanden, so wird 0,00 eingetragen.
Betrag-Satz-Besonders: Der Wert dieses Feldes entspricht dem in § 9 Abs. 2 Z 4 angegebenen Wert, JSON-Format number mit 2 Kommastellen. Ist kein Betrag mit dieser MWST vorhanden, so wird 0,00 eingetragen.
Stand-Umsatz-Zaehler-AES256-ICM: Der Wert dieses Feldes entspricht dem in § 9 Abs. 2 Z 5 angegebenen Wert, JSON-Format string. BASE64-kodierter Wert des verschlüsselten Gesamtumsatzes (laut Z 8, Z 9 dieser Anlage).
Zertifikat-Seriennummer: Der Wert dieses Feldes entspricht dem in § 9 Abs. 2 Z 6 angegebenen Wert, JSON-Format string. UTF-8 kodiert.
Sig-Voriger-Beleg: Der Wert dieses Feldes entspricht dem in § 9 Abs. 2 Z 7 angegebenen Wert. JSON-Format string. Dieser Wert wird über die im Registrierkassenalgorithmuskennzeichen definierte kryptographische Hash-Funktion berechnet. Als Input dieser Hash-Funktion wird das Ergebnis der Signatur- bzw. Siegelerstellung gemäß Z 6 verwendet. Für die Erfassung des ersten Barumsatzes wird der Wert des Felds „Kassen-ID“ als Input dieser Hash-Funktion verwendet. Aus dem Ergebnis der Hash-Funktion werden startend mit Byte 0, N Bytes extrahiert und BASE-64-kodiert. Die Anzahl der zu extrahierenden Bytes (N) wird ebenfalls über das Registrierkassenalgorithmuskennzeichen definiert. Durch den Einsatz von Zugriffsteuerungsmethoden muss garantiert sein, dass auch bei der parallelen Abarbeitung der Belegerstellung die Verkettung über die Signatur- bzw. Siegelwerte korrekt abgebildet wird.
Signatur/Hashalgorithmus für die Erstellung der Belegsignatur
Vertrauensdienstanbieter (VDA) der das Signatur- bzw. Siegelzertifikat ausgestellt hat
Hashalgorithmus für die Verkettung der Belege, sowie die Anzahl der Bytes N, die aus dem berechneten Hash-Wert extrahiert werden.
Kompressionsalgorithmus der für die Erstellung des maschinenlesbaren Codes verwendet wurde.
den Metainformationen über den verwendeten Hash bzw. Signaturalgorithmus
den signierten Daten (JWS Payload) und
dem berechneten Signatur- bzw. Siegelwert.
Algorithmen: Es wird der AES-256 im ICM (CTR) Mode verwendet. Für die Verschlüsselung wird kein „Padding“ verwendet.
Initialisierungsvektor: Der Initialisierungsvektor (IV) für den Verschlüsselungsalgorithmus ist ein Byte-Array mit der Länge 16. Für die Berechnung des IVs werden die UTF-8 kodierte Kassenidentifikationsnummer (Wert des Feldes „Kassen-ID“ laut Z 4 dieser Anlage) und die UTF-8-kodierte Belegnummer (Wert des Feldes „Belegnummer“ laut Z 4 dieser Anlage) in dieser Reihenfolge zusammengefügt. Das Ergebnis ist eine UTF-8 kodierte Zeichenkette die als Eingabewert für die im Registrierkassenalgorithmuskennzeichen definierten Hash-Funktion verwendet wird. Das Ergebnis der Hash-Funktion ist der Hash-Wert abgebildet in einem Byte-Array. Die Bytes 0-15 werden daraus extrahiert und als IV verwendet.
Kodierung des Umsatzwertes: Die Block-Größe von AES-256 entspricht einem Byte-Array der Länge 16. Für die Kodierung des Umsatzzählers im Klartext wird dabei ein Byte-Array der Länge 16 erstellt. Jedes Element des Byte-Arrays wird mit 0 initialisiert. Der Umsatzzähler mit der Byte-Anzahl „N“ wird startend mit Byte 0 im BIG-ENDIAN Format als Zweier-Komplement Darstellung („signed“) gespeichert. „N“ entspricht der Anzahl der Bytes die für die Kodierung des Umsatzzählers notwendig sind. Es müssen mindestens 5 Byte lange Umsatzzähler verwendet werden.
Algorithmen: siehe Z 8, Z 9 dieser Anlage
Initialisierungsvektor: siehe Z 9 dieser Anlage
Aufbereitung des verschlüsselten Umsatzzählers: Es wird ein Byte-Array der Länge 16 erstellt. Jedes Element des Byte-Arrays wird mit 0 initialisiert. Startend mit Byte 0 wird das BASE64-dekodierte Byte-Array des verschlüsselten Umsatzzählers in dem erstellen 16-Byte langem Array gespeichert.
JWS-Kompakt: Der Wert dieses Feldes entspricht der kompakten Darstellung einer Signatur bzw. eines Siegels nach dem JWS-Standard (laut Z 5 dieser Anlage), JSON-Format string.
Signatur- bzw. Siegelzertifikat (optional): Der Wert dieses Feldes ist der BASE64-kodierte Wert des im DER-Format kodierten Signatur- bzw. Siegelzertifikats, JSON-Format string.
Zertifizierungsstellen (optional): Der Wert dieses Feldes ist ein JSON-Array. Die Elemente des JSON-Arrays entsprechen der Kette aller Zertifizierungsstellen, die für die Ausstellung des Signatur- bzw. Siegelzertifikats verwendet wurden. Der Wert eines Elements entspricht dem BASE64-kodierten Wert des im DER-Format kodierten Zertifikats.
das DEP für jeden Beleg die Zuordnung zum passenden Signatur- bzw. Siegelzertifikat und zu den Zertifizierungsstellen des Signatur- bzw. Siegelzertifikats herstellen kann und
alle Zertifikate im DEP zur Verfügung stehen um den Export der signierten Belegdaten zu ermöglichen.
Signierte Belegdaten: Diese Daten entsprechen der UTF-8 kodierten Zeichenkette des Signaturformats das der Signatur- bzw. Siegelerstellungseinheit übergeben wurde (laut Z 5 dieser Anlage). Die Zeichenkette kann aus dem JWS-Payload-Feld der kompakten JWS-Darstellung (Ergebnis der Signatur- bzw. Siegelerstellung) extrahiert werden.
Signatur- bzw. Siegelwert: Der Signatur- bzw. Siegelwert in BASE64-Kodierung wird aus der kompakten JWS-Darstellung (Ergebnis der Signatur- bzw. Siegelerstellung) extrahiert. Es muss darauf geachtet werden, dass der Signatur- bzw. Siegelwert in der kompakten Darstellung des JWS-Standards BASE64-URL-kodiert ist, um die Verwendung in Web-Anwendungen zu vereinfachen. Diese Darstellung ist aber für die QR-Code Darstellung nicht geeignet, da sie auch das Zeichen „_“ enthält, das für die Trennung der Elemente der zu signierenden Daten verwendet wird. Der BASE64-URL-kodierte Signatur- bzw. Siegelwert muss daher dekodiert werden und im Standard BASE64-Format kodiert werden.
Lesen des maschinenlesbaren Codes: Die gelesene UTF8-kodierte Zeichenkette enthält die „Signierten Belegdaten“ und den „Signatur- bzw. Siegelwert“.
Extraktion der „Signierten Belegdaten“ und des „Signatur- bzw. Siegelwertes“: Die „Signierten Belegdaten“ und der „Signatur- bzw. Siegelwert“ werden aus der UTF8-kodierten Zeichenkette über das Trennzeichen „_“ extrahiert. Der BASE64-kodierte Signatur- bzw. Siegelwert wird BASE64-dekodiert.
Aufbereitung der kompakten Darstellung anhand des JWS-Signatur-Standards: Die kompakte Darstellung (laut Z 5 dieser Anlage) wird wie folgt aus dem maschinenlesbaren Code rekonstruiert. Die einzelnen Elemente werden dabei durch das Zeichen „.“ zusammengeführt.
JWS Protected Header: Der Signatur bzw. des Siegels/Hashalgorithmus des JWS Protected Headers kann über das Registrierkassenalgorithmuskennzeichen rekonstruiert werden. Der JWS Protected Header wird UTF-8-kodiert in der Zeichenkette an der 1. Stelle BASE64-URL-kodiert abgespeichert.
JWS Payload: Die JWS Payload entspricht den zuvor extrahierten Belegdaten und wird in der Zeichenkette an der 2. Stelle BASE64-URL-kodiert abgespeichert.
JWS Signature: Dieser Wert entspricht dem vorher extrahierten Signatur- bzw. Siegelwert und wird in der Zeichenkette an der 3. Stelle BASE64-URL-kodiert abgespeichert.
Prüfen der Signatur bzw. des Siegels: Die aufbereitete kompakte Darstellung anhand des JWS-Standards wird mit dem entsprechenden Signatur- bzw. Siegelzertifikat geprüft.
Signatur- bzw. Siegelwert
Sig-Voriger-Beleg
Stand-Umsatz-Zaehler-AES256-ICM