Veröffentlichungen

Informationen zur Bildung von Stammzahlen und die dazugehörigen Personenkennzeichen.

Die Methoden zur Ermittlung der Stammzahlen und bPK gemäß § 6 Abs. 6 E-GovG werden im Folgenden beschrieben und jeweils anhand eines Beispiels erläutert.

Ermittlung der Stammzahl für natürliche Personen

Die Stammzahl wird durch eine symmetrische Verschlüsselung der ZMR-Zahl gebildet und darf nur auf der Bürgerkarte eines Bürgers gespeichert werden. Sie ist von keiner anderen Stelle als der Stammzahlenregisterbehörde rückrechenbar. Zur eindeutigen Identifikation eines Bürgers in einem Verfahren wird in Folge das bereichsspezifische Personenkennzeichen berechnet. Dieses wird im Verfahren zur eindeutigen Identifikation verwendet.

Grundlage für die Ermittlung der Stammzahlen für natürliche Personen sind

  • für in Österreich meldepflichtige Personen die Melderegisterzahl (ZMR-Zahl) (§ 6 Abs. 2 E-GovG bzw. § 16 Abs. 4 MeldeG)
  • für alle anderen Personen die Zahl der Eintragung im Ergänzungsregister (ER-Zahl, § 6 Abs. 4 E-GovG).

Diese natürliche Personen eindeutig identifizierenden Zahlen (ZMR-Zahl oder ER-Zahl) werden im Folgenden als Basiszahl bezeichnet.

Algorithmus

  1. Ausgangsdatum ist die oben erwähnte Basiszahl (12 Dezimalstellen).
  2. Diese Basiszahl wird in eine Binärdarstellung umgewandelt (5 Byte).
  3. Sodann wird die Basiszahl in Binärdarstellung mit einem konstanten geheimen Seedwert [1] (8-Bit Wert) zu einem 128-Bit-Wert (binär) wie folgt konkateniert [2]: Basiszahl Seed Basiszahl Basiszahl. Der Seedwert wird in der Stammzahlenregisterbehörde unter Verschluss gehalten.
  4. Der 128-Bit Binärwert (16 Byte) wird mit dem geheimen Triple-DES [3] Schlüssel der Stammzahlenregisterbehörde im CBC-Modus [4] zur Stammzahl nach § 6 E-GovG verschlüsselt.
  5. Die Stammzahl wird schließlich in Base64 [5] kodiert (dies schließt die Kodierung in ASCII mit ein).

Nachfolgende Abbildung und Tabelle veranschaulichen das Verfahren grafisch und exemplarisch:

Zentrales Melderegister_Zahl_ZMR-Zahl
Zentrales Melderegister_Zahl Foto BMI
Bildung der Stammzahl einer natürlichen Person Code
Basiszahl 000247681888 (Bsp: ZMR-Zahl, 12-stellige Dezimalzahl)
Binärdarstellung 00 0E C3 53 60 (5 Byte, Darstellung hexadezimal)
Verbreiterung auf 128 Bit 00 0E C3 53 60 FF 00 0E C3 53 60 00 0E C3 53 60  (16 Byte, Seed-Wert beispielhaft auf 'FF' gesetzt)
Triple-DES Verschlüsselung, hexadezimal 42 AD 37 74 FA E0 70 7B 31 DC 6D 25 29 21 FA 49 (16 Byte)
Stammzahl, Base64 [5] Qq03dPrgcHsx3G0lKSH6SQ== (24 Zeichen)​

Ermittlung der Stammzahl für juristische Personen und sonstige Betroffene

Für juristische Personen und sonstige Betroffene, die keine natürlichen Personen sind, ist gemäß § 6 Abs. 3 E-GovG als Stammzahl die Firmenbuchnummer (§ 3 Abs. 1 des Firmenbuchgesetzes, BGBl. Nr. 10/1991) bzw. die ZVR-Zahl (§ 18 Abs. 3 des Vereinsgesetzes 2002, BGBl. I Nr. 66/2002) bzw. die im Ergänzungsregister (Abs. 4) vergebene Ordnungsnummer zu verwenden. Ein Beispiel ist in Verbindung mit der Berechnung des bereichsspezifischen Personenkennzeichens für die Verwendung im privaten Bereich weiter unten angeführt.

Ermittlung des Organwalter-Personenkennzeichens (OwPK)

Das Organwalter-Personenkennzeichen (OwPK) ist die eindeutige Identifikation eines Organwalters in einem behördlichen Verfahren und kann dort als solches gespeichert werden. Es kann von der Stammzahlenregisterbehörde mit dem zugehörigen Algorithmus auch in die Stammzahl rückgerechnet werden. Grundlage für die Ermittlung des Organwalter-Personenkennzeichens ist die Stammzahl des Verwaltungsbediensteten (Organwalters).

Algorithmus

  1. Ausgangsdatum ist die oben erwähnte Stammzahl.
  2. Der 128-Bit Binärwert (16 Byte) wird mit dem geheimen Triple-DES Schlüssel der Stammzahlenregisterbehörde im CBC-Modus zum OwPK verschlüsselt.
  3. Das OwPK wird schließlich in Base64 kodiert (dies schließt die Kodierung in ASCII mit ein).

Nachfolgende Abbildung und Tabelle veranschaulichen das Verfahren grafisch und exemplarisch:

Nicht Rückführbarkeit des Personenkennzeichens
Nicht Rückführbarkeit des Personenkennzeichens Foto BMF

Ermittlung des Organwalter-Personenkennzeichens

Stammzahl des Organwalters
Stammzahl des Organwalters Foto BMF
Beispiel für Verschlüsselung Organwalter Personenkennzeichen Code
Stammzahl, Base64 Qq03dPrgcHsx3G0lKSH6SQ== (24 Zeichen)
Triple-DES Verschlüsselung, hexadezimal 42 AD 37 74 FA E0 70 7B 31 DC 6D 25 29 21 FA 49 (16 Byte)
Organwalter-Personenkennzeichen, Base64 [5] Organwalter-Personenkennzeichen, Base64 [5]
AEXyDbQ3Niw9OXPdV7E0Zo== (24 Zeichen)

Ermittlung des bereichsspezifischen Personenkennzeichens (bPK)

Das bereichsspezifische Personenkennzeichen dient zur eindeutigen Identifikation eines Bürgers in einem bestimmten Verfahren vor einer Behörde. Es wird aus der Stammzahl des Bürgers und dem Bereichskürzel des Verfahrens nach der E-Government-Bereichsabgrenzungsverordnung (E-Gov-BerAbgrV), BGBl. II Nr. 289/2004, gebildet.

Das bPK wird in zwei Schritten ermittelt. Der erste Schritt ist die Bildung einer ISO-8859-1 Zeichenkette aus der Stammzahl und dem Bereich. Der zweite Schritt ist die kryptographische Einwegableitung dieser Zeichenkette, die das bPK ergibt.

Algorithmus

  • Ausgangsdaten:
    Stammzahl, base64 [5] kodiert
    Bereich: ISO-8859-1 Zeichenfolge der Bereichsabkürzung des Bereiches gemäß E-Gov-BerAbgrV.
  • Bildung der Zeichenkette als Verbindung (string concatenation) aus Stammzahl, "+" (als Zeichen), URN-Präfix und Bereichskürzel.
  • Über die entstehende Zeichenkette (den entstehenden String) wird der SHA-1 Algorithmus wie in FIPS PUB 180-1 beschrieben berechnet. Das Resultat dieser Berechnung ist eine 160-Bit-Zahl (5x32 Bit)
  • Diese 160-Bit-Zahl kann für programminterne Zwecke direkt verwendet werden. Ansonsten ist diese Zahl Base64 [5] zu kodieren.

URN-Präfix

URN-Präfix := "urn:publicid:gv.at:cdid+"

Der URN-Präfix ist definiert über:

  • URN (RFC 2141 / RFC 2396)
  • URN für Public Identifier (RFC 3151)
  • Owner: gv.at
  • Class: cdid+XXXXX (cdid = context dependent idz. B. Bescheid)

Nachfolgende Abbildung und Tabelle veranschaulichen das Verfahren grafisch und exemplarisch mit einem Beispiel für einen Bescheid im Bereich Bauen und Wohnen:

Beispiel für die Ermittlung des bPK
Beispiel für die Ermittlung des bPK Foto BMI
Beispiel für die Ermittlung des bPK Code
Stammzahl, Base64 [5] Qq03dPrgcHsx3G0lKSH6SQ==  (24 Zeichen)
Bereichskürzel BW  (ISO-8859-1, Beispiel: Bauen und Wohnen)
Eingangsdaten für die Hashberechnung Qq03dPrgcHsx3G0lKSH6SQ==+urn:publicid:gv.at:
bescheid+BW
Hashwert nach SHA-1, hexadezimal 8FF3717514 21A7EB4DC8 4F56847741 498BB2DE10
(5 x 32bit; Darstellung hexadezimal)
bPKBase64 j/NxdRQhp+tNyE9WhHdBSYuy3hA= (28 Zeichen)​

Bildung des verschlüsselten bereichsspezifischen Personenkennzeichens (vbPK)

Bei der Anforderung von bPKs aus einem Bereich, in dem der Anfordernde nicht zur Vollziehung berufen ist, dürfen nur verschlüsselte Personenkennzeichen zur Verfügung gestellt werden. Die Verschlüsselung ist so zu gestalten, dass

  1. nur derjenige entschlüsseln kann, in dessen Datenanwendung das bPK in entschlüsselter Form zulässigerweise verwendet werden darf, und
  2. durch Einbeziehung von zusätzlichen, dem Anfordernden nicht bekannten variablen Angaben in die Verschlüsselungsbasis das bPK auch in verschlüsselter Form keinen personenbezogenen Hinweis liefert.

Das zur Verschlüsselung zugelassene Verfahren ist RSA mit einer Schlüssellänge von 1024bit.

Algorithmus

1. Ausgangsdaten: bPK in Base64 Darstellung, RSA-Public Key (1024 Bit)

2. Erstellung der zu verschlüsselnden Daten entsteht durch Verbinden von ISO-8859-1 Strings (string concatenation) von folgenden Strings:

  • „V1::"
  • URN-Präfix und bPK Bereich laut Berechnungs-Algorithmus des bPK.
  • „::"
  • bPK in Base64 Darstellung
  • „::"
  • Datum und Uhrzeit nach ISO-8601 §5 „extended format": „YYYY-MMDDThh:mm:ss" [ISO-8601]

3. Der so gebildete String dient als Eingangsparameter der RSA-Verschlüsselung nach PKCS#1 RSAES-OAEP Spezifikation [PKCS#1].

4. Das Resultat der Verschlüsselung wird Base64 kodiert. Anmerkung: Die notwendige geforderte "variable" Verschlüsselung beruht darauf, dass einerseits der Zeitpunkt der Erstellung einbezogen wird, andererseits der verwendete RSAES-OAEP Algorithmus blockorientiert arbeitet und die fehlenden Zeichen auf die Blocklänge durch zufällige Werte auffüllt.

Anmerkung: Die notwendige geforderte "variable" Verschlüsselung beruht darauf, dass einerseits der Zeitpunkt der Erstellung einbezogen wird, andererseits der verwendete RSAES-OAEP Algorithmus blockorientiert arbeitet und die fehlenden Zeichen auf die Blocklänge durch zufällige Werte auffüllt.

Beispiel für die Bildung eines vbPK Code
bPKBase64 8lujqZzaRNTPkIIzxx3VfM/zCZs=
(28 Zeichen)
Kürzel bPK-Bereich T1
(für Testbereich 1 im SZR)
Datum und Uhrzeit 2006-10-09T15:54:14
Eingangsdaten für Verschlüsselung V1::urn:publicid:gv.at:cdid+T1::8lujqZzaRNTPkIIzxx3Vf
M/zCZs=::2006-10-09T15:54:14
(Kodierung in ISO-8859-1)
RSA-Public Key public exponent: 10001 (3 Bytes)
modulus:
B9 3E 0E 7C 1D 15 F9 85 15 0A DD A7 86 03 0D 05
90 DE 12 90 90 3C 19 EC 23 8A DE 36 02 63 A5 6F
41 67 30 CC B4 43 C5 4C 80 32 7C 2B 7A A8 21 84
12 59 3F 6D B1 19 45 9D DF 35 39 0D 98 41 22 44
34 D5 A9 7C C7 81 98 BB B3 B9 A7 A7 F7 5F 56 EE
8C BD BE 95 2B 44 71 8C D4 2E 5D 8C 31 BA 2F 0A
7C 91 07 DE B7 87 BC 90 64 2E 40 A2 19 30 49 84
68 F7 7D 47 41 A9 D9 A6 F3 B1 F8 1A 71 53 E4 51
(1024 bits = 128 Bytes)
Verschlüsseltes bPK, hexadezimal 73 5B 56 0C 8A D7 1F 70 50 F7 96 D4 28 D5 17 15
AC 4A A1 8E 28 D6 DD 35 9F 9F 57 C0 4D 96 0A 0B
12 BA 30 04 5A C9 58 42 69 F9 AC 46 55 35 F0 64
8E 3A 9D 18 87 0E 39 13 76 B1 B8 BC 3D 24 12 FB
78 75 DF 57 BB B8 EF 94 D8 AA 17 03 F8 CD DD 5C
04 48 B0 35 23 4B 1B 69 B4 D4 0A 16 35 9C 1C E5
B9 B9 4B AE 30 B2 23 FB 09 D2 E0 CB C3 C5 10 34
46 E1 0A 16 69 C0 A0 8F 49 2A 7D B6 12 F3 29 02
(128 Bytes)
Verschlüsseltes bPKBase64 c1tWDIrXH3BQ95bUKNUXFaxKoY4o1t01n59XwE2WCgsSujAEWslYQ
mn5rEZVNfBkjjqdGIcOORN2sbi8PSQS+3h131e7uO+U2KoXA/jN3V
wESLA1I0sbabTUChY1nBzlublLrjCyI/sJ0uDLw8UQNEbhChZpwKC
PSSp9thLzKQI=
(172 Zeichen)​

Ermittlung des bereichsspezifischen Personenkennzeichens für die Verwendung im Privaten Bereich

Die Bildung des bereichsspezifischen Personenkennzeichens für die Verwendung im privaten Bereich erfolgt analog zur Bildung des gewöhnlichen bPK. Gemäß § 14 Abs. 1 E-GovG kann für die Identifikation von natürlichen Personen im elektronischen Verkehr mit einem Verantwortlichen des privaten Bereichs durch den Einsatz der Bürgerkarte eine spezifische Ableitung aus dem Hashwert gebildet werden, die aus der Stammzahl des Betroffenen und der Stammzahl des Verantwortlichen als Bereichskennung erzeugt wird . Voraussetzung hiefür ist, dass der Verantwortliche des privaten Bereichs eine für den Einsatz der Bürgerkarte taugliche technische Umgebung eingerichtet hat, in der seine Stammzahl als Bereichskennung im Errechnungsvorgang für das bereichsspezifische Personenkennzeichen für die Verwendung im privaten Bereich zur Verfügung gestellt wird.

Algorithmus

Der Algorithmus ist identisch mit dem Algorithmus zur Berechnung des bPK mit Ausnahme veränderter Ausgangsdaten.

  1. Ausgangsdaten:
    • Stammzahl der natürlichen Person, Base64 kodiert
    • Stammzahl des Verantwortlichen als Bereichskennung
  2. Bildung der Zeichenkette als Verbindung (string concatenation) aus Stammzahl der natürlichen Person und "+" (als Zeichen) und URN-Präfix und Stammzahl des Verantwortlichen.
  3. Ist die Stammzahl eine Firmenbuchnummer, so ist diese inklusive des Prüfzeichens anzugeben. Führende Nullen werden unterdrückt. Leerzeichen oder Bindestriche vor dem Prüfzeichen werden nicht angeführt.
  4. Über die entstehende Zeichenkette (den entstehenden String) wird der SHA-1 Algorithmus wie in FIPS PUB 180-1 beschrieben berechnet. Das Resultat dieser Berechnung ist eine 160bit-Zahl (5x32 bit)
  5. Diese 160bit-Zahl kann für programminterne Zwecke direkt verwendet werden. Ansonsten ist diese Zahl Base64 zu kodieren.

URN-Präfix

URN-Präfix := "urn:publicid:gv.at:wbpk+XXX+"

Wobei 'XXX' folgenden Wert annimmt, wenn es sich bei der Stammzahl des Verantwortlichen um eine

  • Firmenbuchnummer handelt: "FN"
  • Vereinsregisternummer handelt: "VR"
  • Zahl im Ergänzungsregister für nicht natürliche Personen handelt: "ERJ"
  • Stammzahl einer natürlichen in Österreich meldepflichtigen Person handelt: "ZMR"
  • Stammzahl einer natürlichen Person mit Eintrag im Ergänzungsregister handelt: "ERN"

Nachfolgende Abbildung und Tabelle veranschaulichen das Verfahren grafisch und exemplarisch mit einem Beispiel:

Beispiel: Ableitung zum bereichsspezifischen Personenkennzeichen für die Verwendung im privaten Bereich Code
Stammzahl, Base64 [5] Qq03dPrgcHsx3G0lKSH6SQ==
 (24 Zeichen)
Stammzahl des Verantwortlichen 468924 i
Präfix für Firmenbuchnummer urn:publicid:gv.at:wbpk+FN+
Eingangsdaten für die Hashberechnung Qq03dPrgcHsx3G0lKSH6SQ==+urn:publicid:gv.at:wbpk+F N+468924i
 (Leerzeichen vor "i" entfernt – siehe Schritt 2)
Hashwert nach SHA-1, hexadezimal 43B8485AB5 6A3FE55946 24E2966DFE 9A2A082B9C (5 x 32 bit)
Hashwert nach SHA-1, Base64 Q7hIWrVqP+VZRiTilm3+mioIK5w= (28 Zeichen)

[1] Seedwert: Der seed [engl.: Saat] ist ein beliebiger (Zufalls)wert, der dem Ausgangswert vor der Durchführung kryptografischer Berechnungen beigefügt werden kann. Dadurch werden einerseits Rückschlüsse auf den Ausgangswert erschwert. Andererseits wird der Ausgangswert auf eine bestimmte Größe erweitert. Durch die Verbindung eines Seedwertes mit einem Ausgangswert können kryptografische Algorithmen wirkungsvoll verstärkt werden. Dies ist vor allem dann sinnvoll, wenn beispielsweise die geringe Anzahl an verschiedenen Ausgangswerten ein "systematisches Erraten" des Ausgangwertes möglich erscheinen lässt.

[2] Konkatenieren ist ein Fachbegriff der Informatik und bedeutet "zusammensetzen".

[3] Triple-DES ist ein Verschlüsselungsalgorithmus, der aus Sicherheitsgründen dreimal hintereinander durchlaufen wird. DES ist die Abkürzung für Digital Encryption Standard (ein digitaler Verschlüsselungsstandard), der eine Blockchiffre darstellt, das heißt dass der Ausgangswert in gleich große Blöcke eingeteilt und blockweise verschlüsselt wird.

[4] Cipher-Block-Chaining, abgekürzt CBC, ist eine Betriebsart des Triple-DES Algorithmus, in dem die Verschlüsselung des vorangegangenen Blocks logisch mit dem aktuellen Block vor dessen Verschlüsselung verknüpft wird.

[5] Base64 beschreibt ein Verfahren, bei dem Binärdaten in einen 64 Zeichen großen Zeichensatz (bestehend aus Groß- und Kleinbuchstaben, Ziffern von 0 bis 9, sowie den Zeichen "+", "=" und "/") umgewandelt werden.]

Ermittlung des bereichsspezifischen Personenkennzeichens für die Verwendung im Ausland

Die Bildung des bereichsspezifischen Personenkennzeichens für die Verwendung bei E-ID-taugliche Anwendungen im Ausland ist § 14 Abs. 1 eGovG ist mit der Maßgabe anzuwenden, dass anstelle der Bereichskennung ein staatenspezifisches Kennzeichen oder bei Anwendungen internationaler Organisationen ein organisationsspezifisches Kennzeichen zu verwenden ist.

Algorithmus

Der Algorithmus ist identisch mit dem Algorithmus zur Berechnung des bPK mit Ausnahme veränderter Ausgangsdaten.

  • Ausgangsdaten:
    • Stammzahl der natürlichen Person, Base64 kodiert
    • staatenspezifisches oder organisationsspezifisches Kennzeichen
  • Bildung der Zeichenkette als Verbindung (string concatenation) aus Stammzahl der natürlichen Person und "+" (als Zeichen) und URN-Präfix und staatenspezifisches oder organisationsspezifisches Kennzeichen (standardmäßig gem. ISO 3166-1 alpha-2)
  • Über die entstehende Zeichenkette (den entstehenden String) wird der SHA-1 Algorithmus wie in FIPS PUB 180-1 beschrieben berechnet. Das Resultat dieser Berechnung ist eine 160bit-Zahl (5x32 bit)
  • Diese 160bit-Zahl kann für programminterne Zwecke direkt verwendet werden. Ansonsten ist diese Zahl Base64 zu kodieren.

URN-Präfix

URN-Präfix := "urn:publicid:gv.at:eidasid+AT+"

Nachfolgende Abbildung und Tabelle veranschaulichen das Verfahren grafisch und exemplarisch mit einem Beispiel:

Beispiel: Ableitung zum bereichsspezifischen Personenkennzeichen für die Verwendung im Ausland Code
Stammzahl, Base64 [5] Qq03dPrgcHsx3G0lKSH6SQ==
 (24 Zeichen)

Staatenspezifisches / organisationsspezifisches Kennzeichen (z.B. ISO 3166 ALPHA 2 Code)

EU
Präfix inkl. Kennzeichen urn:publicid:gv.at:eidasid+AT+EU
Eingangsdaten für die Hashberechnung Qq03dPrgcHsx3G0lKSH6SQ==+urn:publicid:gv.at:eidasid+AT+EU
Hashwert nach SHA-1, hexadezimal 88f129f68f 1325437d4a ea862b72f8 3a2f1ff1ee (5 x 32 bit)
Hashwert nach SHA-1, Base64 iPEp9o8TJUN9SuqGK3L4Oi8f8e4=
(28 Zeichen)

Weiterführende Informationen