Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rückfragen zu 'Signature' und 'verifikation' #15

Open
ArnWassmann opened this issue Feb 15, 2022 · 22 comments
Open

Rückfragen zu 'Signature' und 'verifikation' #15

ArnWassmann opened this issue Feb 15, 2022 · 22 comments
Assignees
Labels
3. Pilotierung 2023 3. Pilotierung In Progress Issues, die sich derzeit in Bearbeitung befinden

Comments

@ArnWassmann
Copy link

ArnWassmann commented Feb 15, 2022

Autor: Arn Waßmann | HIS eG
Art der Organisation: CAMS-Hersteller
Beschreibung:

In der (noch) aktuellen Fassung 0.8 vermisse in der XSD einen Abschnitt 'Signature'. Diesen bitte analog zu ELMO (https://github.com/emrex-eu/elmo-schemas/blob/v1/schema.xsd) grundsätzlich vorsehen (https://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd).

Wie ist der Abschnitt 'verifikation' in 0.8 genau gemeint? Wird hier eine allgemeine 'adresse' zur Verifikationsfunktion des CaMS erwartet, bspw. https://example.his.de/hisinone/pages/start.html?_id=verification (nicht aufrufbar) ? Dann würde aber der Beschreibungstext nicht stimmen: "Dazu enthält die Bescheinigung eine für jeden Studenten einmalige URL." Dann würde ich einen Deeplink hier einstellen, der den Verifikationscode bereits enthält (nicht zu empfehlen). Dieser wird aber laut XSD in einem extra Feld ('schluessel') erwartet und stellt dann eine Redundanz dar. Dann steht in dem Beschreibungstext für 'schluessel' dieses hier: "Dazu enthält die Bescheinigung eine für jeden Studenten einmalige Verifikationsnummer." Welches Dokument soll hier genau referenziert werden? Ist es das PDF, welches der Studie bekommt (automatisch erzeugt) und was schon heute verifiziert werden kann oder ist ein Link auf das elektronische Dokument (XML-Datei nach XHochschule-Vorgabe) gemeint? Oder braucht es vielleicht beides, dann braucht es aber auch zwei Angaben von 'verifikation', also (0...2) und nicht nur (0...1). Auch enthalten die Dokumente eindeutige Nummern, nicht die Studierenden. Letzteres würde dazu führen, dass ich alle Dokumente eines Studierenden sehen könnte. Das wäre fatal. Mir ist auch der Zusammenhang, zwischen trägt keine Unterschrift und der Verifikation unklar. Ich lasse in meinem Vorschlag diese Formulierung aber drin.

Ich mache zur 'verifikation' folgenden Vorschlag, besonders wichtige Änderungswünsche sind fett:

verifikation (0...2): Zusätzliche Informationen der Bildungseinrichtung zur Verifikation der Nachricht. Es können bis zu zwei Adressen angegeben werden. Eine Adresse dient zur Verifikation eines PDF-Dokuments und eine zur Verifikation einer XML-Datei.

  • schluessel (0...1): Bescheinigungen und Bescheide sind meist maschinell erstellt und tragen keine Unterschrift. Viele Hochschulen bieten die Möglichkeit einer Verifikation über das Internet an. Dazu enthält die Bescheinigung eine für
    jedes Dokument einmalige Verifikationsnummer. Diese darf nicht Teil der Adresse sein.
  • adresse (0...1): Bescheinigungen und Bescheide sind meist maschinell erstellt und tragen keine Unterschrift. Viele Hochschulen bieten die Möglichkeit einer Verifikation über das Internet an. Dazu stellt die Hochschule eine URL zu einer Verifikationsfunktion, zur Eingabe einer Verifikationsnummer, bereit.
  • inhaltstyp (1): Auswahl aus digitales Dokument (PDF) der elektronisches Dokument (XML)
  • gueltig_bis (1): Bis zu diesem Datum ist die Verifikation auf jeden Fall möglich. Dieses Datum sollte sich an der Lebenszeit des Dokuments orientieren und idealerweise auch mit der Gültigkeit der Signatur übereinstimmen. Die konsumierende Stelle kann dies bei der Auswertung des Dokuments berücksichtigen.

Beispiel:

Hinweis: Der direkte Download des Dokuments wird in der Regel durch zusätzliche Sicherheitsmaßnahmen, wie bspw. die Eingabe eines Captchas, verhindert. Sollte das gewünscht sein, muss man über weitere Sicherheitsmaßnahmen nachdenken. Auch wäre dann das Senden des Codes via GET nicht zu empfehlen. Es müsste min. ein POST sein.

Vielen Dank und beste Grüße
Arn Waßmann

@XHochschuleDE
Copy link
Collaborator

XHochschuleDE commented Feb 23, 2022

Hallo Herr Wassmann,

zunächst vielen Dank für den wichtigen Input. In der Tat muss das Feld Verifikation noch genauer definiert werden. Ihr Vorschlag klingt sehr sinnvoll. Wir werden das diskutieren und im Rahmen des nächsten XHS-Release berücksichtigen.

Das Thema Signature sollten wir auch noch einmal unter die Lupe nehmen. Möglicherweise liegt dieses Thema aber auch außerhalb des fachlichen Payloads und damit nicht mehr im Scope von XHochschule. Eine genauere Abgrenzung ist hier ggf. noch erforderlich.

Vielen Dank und beste Grüße
Martin Herzog

@ArnWassmann
Copy link
Author

Hallo Herr Herzog,

ich denke, dass Signature ein Teil der XSD sein muss. Ich denke, dass man diesen Teil direkt aus der ELMO-Spezifikation übernehmen könnte.

Danke und viele Grüße
Arn Waßmann

@init-xhochschule
Copy link
Collaborator

Guten Tag,
die kommende Version XHochschule 0.91 wird auf dem kommenden XBildung 0.91 aufbauen. In dieser XBildung-Version ist das xbd:Dokument so erweitert, dass es über eine XML-Signatur verfügen kann. Die Modellierung wird wie folgt aussehen:

grafik

Die Anpassung auf Ebene von xbd:Dokument ermöglicht die Nutzung der ds:Signature optional in allen Bildungsnachweisen.

@init-xhochschule init-xhochschule added the In Progress Issues, die sich derzeit in Bearbeitung befinden label May 17, 2022
@ArnWassmann
Copy link
Author

Die Anpassung auf Ebene von xbd:Dokument ermöglicht die Nutzung der ds:Signature optional in allen Bildungsnachweisen.

Hallo,

ist das wirklich schon berücksichtigt? In der Spezifikation finden wir dazu nichts ...

Danke und Grüße
Arn Waßmann

@ArnWassmann
Copy link
Author

Ich möchte nochmal auf die Dringlichkeit einer Signatur im XML hinweisen. Bitte berücksichtigen Sie dies wieder, damit wir das Ganze zum fliegen bekommen können. HISinOne könnte schon bald XHEIE-Bescheide erstellen und annehmen, wenn es die Signatur wieder gäbe.

@mrhuber71
Copy link

mrhuber71 commented Apr 25, 2023

Eine Möglichkeit wäre mittels "Enveloping XMLDsig" das XML im PDF einzubinden. Das würde bedeuten, dass die XML-Spezifikation von XBildung/XSchule bzw. XHochschule nicht davon betroffen wäre.

<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
  <SignedInfo>
    ...
    <Reference URI="#object">
      ...
  </SignedInfo>
  <Object Id="object"><!-- XML-Dokument aus XBildung/XSchule/XHochschule --></Object>
</Signature>```

@init-xhochschule
Copy link
Collaborator

Hallo Herr Wassmann,
vielen Dank für Ihre Beharrlichkeit und Geduld - bitte entschuldigen Sie die verspätete Antwort.
Bezüglich Ihrer Frage vom 20. März: die Signatur wurde, wie in unserem Kommentar vom 28.03.2022 beschrieben, in der Version 0.91 von XBildung implementiert. Wir mussten allerdings im Nachgang feststellen, dass die Signatur, so wie sie in dieser Version eingeführt wurde, auf Dokumentenebene nicht benutzbar war, da sie wegen der XML-Schema-Vererbung nicht am Ende des Dokuments angehängt werden konnte. Daraufhin haben wir die Signatur in XBildung v0.92 wieder aus dem Modell entfernt, weswegen sie nicht in der aktuellen Version von XHochschule enthalten ist. Eine Implementierung der Signatur im XHochschule-Modell haben wir danach zurückgestellt, da wir angenommen haben, dass eine Signatur auf PDF-Ebene (welche auch daran angehängte XML-Files betreffen würde) ausreichen würde. Das Signieren von PDFs haben wir außerhalb unseres Zuständigkeitsbereiches gesehen.
Erst durch Ihre Hinweise beim runden Tisch der CaMS-Hersteller am 20.03.2023 wurden wir nochmal auf den Bedarf nach einer Möglichkeit zur gesonderten Signatur von XML-Files aufmerksam. Das Thema steht seitdem bei uns auf der Agenda und wird, zusammen mit der Modellierung von Leistungsnachweisen, ein zentraler Punkt bei der Entwicklung von XHochschule v0.95 sein. Aktuell ist die Veröffentlichung von Version 0.95 für Ende Juni geplant.
Wir werden uns nächste Woche vertieft damit beschäftigen, wie wir eine valide Signatur in XHochschule implementieren können.
Vielen Dank Herr Huber @mrhuber71 , für Ihren Vorschlag. Wir werden die von Ihnen vorgeschlagene Lösung prüfen und Ihnen frühestmöglich dazu Rückmeldung geben.

Beste Grüße

Robin Dietrich

@ArnWassmann
Copy link
Author

Hallo in die Runde,

was mir halt wichtig ist, dass ich eine Signatur auch unabhängig von einem PDF habe. Die PDF-Einbettung ist ja nur eine Krücke bis wir etwas besseres haben, um die elektronischen Daten auszutauschen. Das digitale Dokument brauche im Prozess, aus technischer Sicht, im Grunde gar nicht. HISinOne-Hochschulen könnten z.B., mit Zustimmung des Nutzenden, die Daten im XHEIE-Format auch direkt via Webservices austauschen.

Vielen Dank und beste Grüße
Arn Waßmann

@init-xhochschule
Copy link
Collaborator

Hallo an alle,

Wir haben uns mit der Implementierung von Signaturen in unseren Dokumenten beschäftigt und sind zu dem Schluss gekommen, dass die einfachste Lösung für uns die Verwendung von externen/detached Signaturen (also für jedes Dokument eine Signatur in einer getrennten XML-Datei) wäre. Diese könnten ab sofort ohne weitere Änderungen am Modell eingesetzt werden und würden bei der Verarbeitung von XHochschule-Nachweisen keine zusätzlichen Bearbeitungsschritte voraussetzten. Bevor wir uns für diese Variante entscheiden, möchten wir uns gerne mit Ihnen abstimmen und sicherstellen, dass diese Lösung für alle Beteiligten akzeptabel ist.
 
Wir würden uns freuen, wenn Sie uns Ihre Meinung dazu mitteilen könnten. Falls Sie sich für die Verwendung von externen Signaturen aussprechen, würden wir gerne wissen, welche Informationen Sie von uns benötigen, um diese Implementierung in Ihre Systeme zu integrieren.

Beste Grüße

Robin Dietrich

@mrhuber71
Copy link

mrhuber71 commented May 3, 2023

Hallo @ALL!

types-of-xmlsignatures

  • Detached
    Die Signatur in einer getrennten Datei abzulegen hat den Nachteil, dass die Signatur-Datei auf den Content der getrennten Datei zeigen muss. Im Fall des "Transports" via PDF müssen die beiden Dateien eingebettet werden. Fällt der Transport via PDF weg und die Daten würden mittels HTTP von einem "Register" geholt werden, so müssen die beiden Dateien (Signatur und Daten) geholt werden.

  • Enveloping
    Hier entsteht nur eine Datei in der die Daten (das Datendokument) vollständig eingebunden ist. Im Fall des "Transports" via PDF
    wird nur dieses eine Dokument eingebettet. Fällt der Transport via PDF weg und die Daten würden mittels HTTP von einem "Register" geholt werden, so muss nur dieses eine signierte XML geholt werden.

  • Enveloped
    Der allergrößte Nachteil von "Enveloped" ist, dass die Spezifikation von xBildung die Signatur berücksichtigen muss.

Ich bitte dies bei der Empfehlung der "Detached Signature" noch einmal zu überdenken.
Besten Dank im Voraus.

@jbuelau
Copy link

jbuelau commented May 5, 2023 via email

@jbuelau
Copy link

jbuelau commented May 5, 2023 via email

@mrhuber71
Copy link

@jbuelau @init-xhochschule

Die von @jbuelau geschilderten Herausforderungen würden im Fall der Enveloping Signature nicht entstehen, da das "Daten-XML" von dem Signtaur-XML "umhüllt" (enveloping)" ist.

Beste Grüße
Mathias R. Huber

@ArnWassmann
Copy link
Author

Hallo,

auch aus Sicht der HIS eG ist eine Lösung mit zwei Dateien unpraktisch und nicht zielführend. Wir fordern weiterhin eine technisch saubere und nachhaltige Lösung, so wie es die Kolleginnen und Kollegen ebenfalls schon getan haben.

Wir schielen natürlich auch so ein bisschen in Richtung NBP ...

Danke und Grüße
Arn Waßmann

@jbuelau
Copy link

jbuelau commented Jun 6, 2023

Hallo,

da im Workshop gerade eine Entwicklung im laufenden Monat angekündigt wurde, stellt sich für uns die Frage, wie wir hier zu einer Entscheidung kommen können, was denn nun entwickelt wird. Soweit ich das jetzt auch außerhalb der Diskussion hier mitbekommen habe, ist keiner der CMS-Hersteller mit der Lösung zufrieden. Wir haben zwischenzeitlich auch mit einem Wallet-Hersteller gesprochen. Von deren Seite wurde ebenfalls die Nutzerunfreundlichkeit der detached signature, wi ich sie oben schon angedeutet habe, unterstrichen. Wie geht es nun weiter?

Beste Grüße
Jessica Bülau

@mrhuber71
Copy link

mrhuber71 commented Jun 6, 2023

Hallo,

Ein paar Gedanken rund um die Signatur des xBildungs-"Daten"-XMLs.

Ich lasse hier bewusst die "XMLDsig Enveloped" aus, da dies die Konsequenz hätte, dass das Schema xBildung mit der Signatur adaptiert werden müsste.

Aktuell soll uns das PDF als "Transport-Objekt" für digital verarbeitbare XML-Daten aus den Bereichen xHochschule, xSchule und xBildung dienen. Damit die richtige XML-Datei (die richtigen XML-Dateien) gefunden werden sollte dies "normiert" werden. Dies hat nichts mit der XML-Schema-Spezifikation zu tun.

Enveloping
Für den Fall "XMLDsig Enveloping" muss eine Datei im PDF gefunden werden. Beispielsweise könnte immer eine Datei mit dem Namen "xBildung-Info.xml" eingebettet werden. Nach dem hier das Daten-XML innerhalb des Signatur-XMLs steckt (enveloping) ist die URI-Referenz ein einfacher "Pointer" auf die "Objekt-ID".

Detached
Für den Fall "XMLDsig Detached" müssen zwei Dateien im PDF gefunden werden welche in Relation stehen. (Daten-XML und das detached Sigature-XML". Diese beiden Dateien könnten Beispielsweise immer mit den Namen "xBildung-Data.xml"
und "xBildung-Signature.xml" eingebettet werden. Wie die URI des Referenz-Elements zu gestalten ist...

Unabhängig von Enveloping oder Detached:
Unserer Meinung nach müsste hier definiert werden wie hier zu der richtigen XML-Datei im PDF (den richtigen XML-Dateien) gelangt werden kann.

Ebenfalls denken wir, dass das PDF und das XML mit dem selben zertifizierten Signatur-Schlüssel unterzeichnet werden sollte.

Beste Grüße
Mathias Huber

Beispiele:

<!-- XMLDsig Enveloping ........................................................................... -->
<!-- File "xBildung-Info.xml" -->
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
  <SignedInfo>
    ...
    <Reference URI="#xBildung-Data"> ... </Reference>
    ...
  </SignedInfo>
  <Object Id="xBildung-Data">
    <xsc:schueler.abiturzeugnis.0002>
      <!-- XML-Daten-Dokument aus XBildung/XSchule/XHochschule -->
      ...
    </xsc:schueler.abiturzeugnis.0002>
  </Object>
</Signature>


<!-- XMLDsig Detached .. signature file ........................................................... -->
<!-- File "xBildung-Signature.xml" -->
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
  <SignedInfo>
    ...
    <Reference URI="**file://hostname.de/directory/xBildung-Data.xml**"> ... </Reference>
    ...
  </SignedInfo>
</Signature>

<!-- XMLDsig Detached .. data file ................................................................ -->
<!-- File "xBildung-Data.xml" -->
<xsc:schueler.abiturzeugnis.0002>
  <!-- XML-Daten-Dokument aus XBildung/XSchule/XHochschule -->
  ...
</xsc:schueler.abiturzeugnis.0002>```

@init-xhochschule
Copy link
Collaborator

init-xhochschule commented Jun 6, 2023

Hallo Frau Bülau, Hallo Herr Huber,

wir haben uns, wie wir im Workshop am 17.05. erklärt haben, für eine Enveloped-signatur als optionales Element auf Ebene von den einzelnen XHochschule Nachrichten entschieden. Dieser Ansatz vermeidet die von Ihnen beschriebenen Probleme mit der Zuordnung von Dokument zu Signatur. Nach unserem Verständnis ist dies auch der Ansatz, der zur Signatur von ELMO-Nachrichten verwendet wird und sich bewährt hat.

Das Problem mit der Zuordnung von PDF zu XML ist dagegen ein Punkt, der noch größtenteils offen ist. Wie Sie, Herr Huber, richtig angemerkt haben, ist das ein Thema, das nichts mit der XML-Schema-Spezifikation zu tun hat. Es bleibt also hier noch zu klären, wie wir hier eine Standardisierung umsetzen können.

Es erscheint auch uns sinnvoll, dass die XML-Datei mit demselben Zertifikat signiert wird, wie das PDF, an das sie angehängt ist, allerdings können wir auch das aus XHochschule nicht prüfen oder vorschreiben.

Beste Grüße

Robin Dietrich

@HohlF
Copy link

HohlF commented Jun 7, 2023

Sehr geehrte Damen und Herren,

ich verfolge den Thread mit großem Interesse!

Wer wäre den dafür zuständig, zu klären und zu entscheiden, wie die XML-Datei und das PDF-Dokument zu signieren sind.

Wenn das klar ist, könnte man aus X-Hochschule heraus eine entsprechende Unterlage erstellen, um die Festlegung verbindlich entscheiden zu lassen.

Viele Grüße
Franz Hohl

@mrhuber71
Copy link

Hallo Herr Dietrich,

wir haben uns, wie wir im Workshop am 17.05. erklärt haben, für eine Enveloped-signatur als optionales Element auf Ebene von den einzelnen XHochschule Nachrichten entschieden.
...

Enveloped ist auch in Ordnung. Jedoch denke ich, dass dies auf Grund der Interoperabilität auf der Ebene von xBildung etabliert sein muss. Ggf. als erstes (optionales) Element.

Z.B.: -> xbildung-baukasten.xsd

   <xs:complexType name="Dokument">
      <xs:sequence>
        <xs:element xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
                    xmlns:dsig11="http://www.w3.org/2009/xmldsig11#"
                    ref="ds:Signature"
                    minOccurs="0"/>
        <!-- ... -->
      </xs:sequence>```

@ArnWassmann
Copy link
Author

Hallo,

wir erwarten hier weiterhin die Signatur als Enveloped-Signatur. Unsere Implementierungen rundum das Framework zur Erzeugung und Verarbeitung von XHEIE-Nachrichten ist weit fortgeschritten und soll jetzt abgeschlossen werden. Wie Sieht es hier auf Seiten von XHochschule aus?

Danke und Grüße
Arn Waßmann (HIS eG)

@XHochschuleDE
Copy link
Collaborator

Guten Tag!

Wir haben in der gestern releasten Version 0.95 wieder eine Enveloped-Signatur eingebaut.

Wir haben uns gegen die Einführung auf der Ebene von XBildung entschieden und werden dies pro Teilprojekt umsetzen. Auch eine Setzung an erster Stelle war für uns nicht sinnvoll, da bspw. Oxygen nicht mit einer Setzung an erster Stelle harmoniert und im Rahmen üblicher Praxis automatisch ans Ende setzt. Um hier Konflikte zu vermeiden, haben wir uns für diesen Weg entschieden.

Beste Grüße
Ihr Team von XHochschule

@MichaelLierath
Copy link

Hallo,

das Signatur-Element in 0.95 ist n.m.E. korrekt und funktioniert wie erwartet. Die anhängige Datei (PDF inkl. PAdES-Signatur) enthält einen Immatrikulationsbescheid gemäß XHochschule 0.95 und inkl. einer Signatur nach XAdES-T.

Geben Sie gern Rückmeldung zur Schema-Konformität, ich habe für 0.95 noch keine Schematron-Validierung aktiv.

Viele Grüße
Michael Lierath

HIS_XHEIE_imma_095.pdf

@init-xhochschule init-xhochschule added the 3. Pilotierung 2023 3. Pilotierung label Nov 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3. Pilotierung 2023 3. Pilotierung In Progress Issues, die sich derzeit in Bearbeitung befinden
Projects
None yet
Development

No branches or pull requests

7 participants