Files
buergerabstimmung/drawio/1datenflusstechnisch(1).drawio
T

89 lines
11 KiB
Plaintext

<mxfile host="app.diagrams.net" agent="Buergerabstimmung" version="24.0.0">
<diagram name="Datenfluss technisch" id="dfl-technisch">
<mxGraphModel dx="1200" dy="1560" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1200" pageHeight="1560" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="t" value="Datenfluss eID-Anmeldung — technische Fassung" style="text;html=1;align=center;verticalAlign=middle;fontSize=19;fontStyle=1;fontColor=#111111;" vertex="1" parent="1">
<mxGeometry x="30" y="16" width="1140" height="30" as="geometry" />
</mxCell>
<mxCell id="u" value="Feldnamen und Protokolle wie im Quelltext. Rot gestrichelt: im Code noch nicht vorhanden." style="text;html=1;align=center;verticalAlign=middle;fontSize=12;fontStyle=0;fontColor=#555555;" vertex="1" parent="1">
<mxGeometry x="30" y="48" width="1140" height="20" as="geometry" />
</mxCell>
<mxCell id="lane0" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F7F7F7;strokeColor=#BBBBBB;dashed=1;" vertex="1" parent="1">
<mxGeometry x="40" y="84" width="340" height="1230" as="geometry" />
</mxCell>
<mxCell id="kopf0" value="Bürgerin oder Bürger&lt;br&gt;&lt;font style=&quot;font-size:11px&quot;&gt;Handy, AusweisApp, Ausweis&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#37474F;strokeColor=none;fontColor=#FFFFFF;fontSize=14;fontStyle=1;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="40" y="84" width="340" height="50" as="geometry" />
</mxCell>
<mxCell id="lane1" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F7F7F7;strokeColor=#BBBBBB;dashed=1;" vertex="1" parent="1">
<mxGeometry x="430" y="84" width="340" height="1230" as="geometry" />
</mxCell>
<mxCell id="kopf1" value="Webserver Bürgerabstimmung&lt;br&gt;&lt;font style=&quot;font-size:11px&quot;&gt;PHP, SQLite&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#37474F;strokeColor=none;fontColor=#FFFFFF;fontSize=14;fontStyle=1;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="430" y="84" width="340" height="50" as="geometry" />
</mxCell>
<mxCell id="lane2" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F7F7F7;strokeColor=#BBBBBB;dashed=1;" vertex="1" parent="1">
<mxGeometry x="820" y="84" width="340" height="1230" as="geometry" />
</mxCell>
<mxCell id="kopf2" value="eID-Server&lt;br&gt;&lt;font style=&quot;font-size:11px&quot;&gt;BSI TR-03130&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#37474F;strokeColor=none;fontColor=#FFFFFF;fontSize=14;fontStyle=1;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="820" y="84" width="340" height="50" as="geometry" />
</mxCell>
<mxCell id="s1" value="&lt;b&gt;1&lt;/b&gt;&amp;nbsp; Anmeldung angefordert" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#37474F;strokeWidth=1;fontSize=13;verticalAlign=middle;arcSize=8;" vertex="1" parent="1">
<mxGeometry x="60" y="165" width="300" height="55" as="geometry" />
</mxCell>
<mxCell id="s2" value="&lt;b&gt;2&lt;/b&gt;&amp;nbsp; Vorgang anlegen&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:11px&quot;&gt;INSERT eid_flows (nonce 32 hex,&lt;br&gt;session_id, created_at) · TTL 600 s&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#37474F;strokeWidth=1;fontSize=13;verticalAlign=middle;arcSize=8;" vertex="1" parent="1">
<mxGeometry x="450" y="265" width="300" height="95" as="geometry" />
</mxCell>
<mxCell id="s3" value="&lt;b&gt;3&lt;/b&gt;&amp;nbsp; AusweisApp fordert das TC-Token an" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#37474F;strokeWidth=1;fontSize=13;verticalAlign=middle;arcSize=8;" vertex="1" parent="1">
<mxGeometry x="60" y="400" width="300" height="60" as="geometry" />
</mxCell>
<mxCell id="s4" value="&lt;b&gt;4&lt;/b&gt;&amp;nbsp; TC-Token erzeugen&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:11px&quot;&gt;ServerAddress&lt;br&gt;SessionIdentifier&lt;br&gt;RefreshAddress = /eid/callback&lt;br&gt;CommunicationErrorAddress = …?e=1&lt;br&gt;Binding = urn:liberty:paos:2006-08&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#37474F;strokeWidth=1;fontSize=13;verticalAlign=middle;arcSize=8;" vertex="1" parent="1">
<mxGeometry x="450" y="500" width="300" height="130" as="geometry" />
</mxCell>
<mxCell id="sX" value="&lt;b&gt;fehlt&lt;/b&gt;&amp;nbsp; PathSecurity-Protocol und&lt;br&gt;PathSecurity-Parameters (TLS-PSK)&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:11px&quot;&gt;PSK wird aus useIDResponse nicht gelesen&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFEBEE;strokeColor=#B71C1C;strokeWidth=2;dashed=1;fontSize=13;fontColor=#B71C1C;verticalAlign=middle;arcSize=8;" vertex="1" parent="1">
<mxGeometry x="450" y="655" width="300" height="75" as="geometry" />
</mxCell>
<mxCell id="s5" value="&lt;b&gt;5&lt;/b&gt;&amp;nbsp; AusweisApp verbindet sich mit dem eID-Server" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#37474F;strokeWidth=1;fontSize=13;verticalAlign=middle;arcSize=8;" vertex="1" parent="1">
<mxGeometry x="60" y="775" width="300" height="60" as="geometry" />
</mxCell>
<mxCell id="s6" value="&lt;b&gt;6&lt;/b&gt;&amp;nbsp; useIDRequest&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:11px&quot;&gt;UseOperations:&lt;br&gt;RestrictedIdentification REQUIRED&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#1B5E20;strokeWidth=2;fontSize=13;verticalAlign=middle;arcSize=8;" vertex="1" parent="1">
<mxGeometry x="840" y="870" width="300" height="90" as="geometry" />
</mxCell>
<mxCell id="s7" value="&lt;b&gt;7&lt;/b&gt;&amp;nbsp; Ausweis auflegen&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:11px&quot;&gt;NFC ISO/IEC 14443&lt;br&gt;PACE mit 6-stelliger eID-PIN&lt;br&gt;Terminal Authentication mit CVC&lt;br&gt;Ausweis liefert nur die RestrictedID&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#37474F;strokeWidth=1;fontSize=13;verticalAlign=middle;arcSize=8;" vertex="1" parent="1">
<mxGeometry x="60" y="995" width="300" height="120" as="geometry" />
</mxCell>
<mxCell id="sY" value="&lt;b&gt;fehlt&lt;/b&gt;&amp;nbsp; getResultRequest und&lt;br&gt;Auswertung der getResultResponse&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:11px&quot;&gt;getResult kommt im Quelltext nicht vor&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFEBEE;strokeColor=#B71C1C;strokeWidth=2;dashed=1;fontSize=13;fontColor=#B71C1C;verticalAlign=middle;arcSize=8;" vertex="1" parent="1">
<mxGeometry x="840" y="1150" width="300" height="75" as="geometry" />
</mxCell>
<mxCell id="s8" value="&lt;b&gt;8&lt;/b&gt;&amp;nbsp; Kennung ableiten&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:11px&quot;&gt;pseudonym_hash = hash_hmac('sha256',&lt;br&gt;RestrictedID, pepper)&lt;br&gt;INSERT INTO users · RestrictedID verworfen&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#1B5E20;strokeWidth=2;fontSize=13;verticalAlign=middle;arcSize=8;" vertex="1" parent="1">
<mxGeometry x="450" y="1150" width="300" height="110" as="geometry" />
</mxCell>
<mxCell id="e1" value="HTTPS&lt;br&gt;GET /eid/start" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;fontSize=11;fontFamily=Courier New;fontColor=#333333;endArrow=block;endFill=1;labelBackgroundColor=#F7F7F7;" edge="1" parent="1" source="s1" target="s2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e2" value="303 auf 127.0.0.1:24727/eID-Client&lt;br&gt;?tcTokenURL=https://&amp;lt;host&amp;gt;/eid/tctoken?s=&amp;lt;nonce&amp;gt;" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;fontSize=11;fontFamily=Courier New;fontColor=#333333;endArrow=block;endFill=1;labelBackgroundColor=#F7F7F7;" edge="1" parent="1" source="s2" target="s3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e3" value="HTTPS&lt;br&gt;GET /eid/tctoken?s=&amp;lt;nonce&amp;gt;" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;fontSize=11;fontFamily=Courier New;fontColor=#333333;endArrow=block;endFill=1;labelBackgroundColor=#F7F7F7;" edge="1" parent="1" source="s3" target="s4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e4" value="TC-Token (XML)" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;fontSize=11;fontFamily=Courier New;fontColor=#333333;endArrow=block;endFill=1;labelBackgroundColor=#F7F7F7;" edge="1" parent="1" source="s4" target="s5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e5" value="PAOS über TLS&lt;br&gt;SessionIdentifier" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;fontSize=11;fontFamily=Courier New;fontColor=#333333;endArrow=block;endFill=1;labelBackgroundColor=#F7F7F7;" edge="1" parent="1" source="s5" target="s6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e6" value="Berechtigungszertifikat (CVC)&lt;br&gt;erlaubte Datenfelder" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;fontSize=11;fontFamily=Courier New;fontColor=#333333;endArrow=block;endFill=1;labelBackgroundColor=#F7F7F7;" edge="1" parent="1" source="s6" target="s7">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e7" value="&lt;b&gt;RestrictedID&lt;/b&gt;" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#1B5E20;strokeWidth=3;fontSize=11;fontFamily=Courier New;fontColor=#1B5E20;endArrow=block;endFill=1;labelBackgroundColor=#F7F7F7;" edge="1" parent="1" source="s7" target="s8">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="fuss" value="Der Abschnitt von der useIDResponse bis zur gespeicherten Kennung ist im Code noch nicht umgesetzt." style="text;html=1;align=center;verticalAlign=middle;fontSize=12;fontStyle=0;fontColor=#B71C1C;" vertex="1" parent="1">
<mxGeometry x="30" y="1340" width="1140" height="24" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>