Dateien nach "drawio" hochladen
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
<mxfile host="app.diagrams.net" agent="Buergerabstimmung" version="24.0.0">
|
||||
<diagram name="Datenfluss" id="dfl-vfb">
|
||||
<mxGraphModel dx="1100" dy="1560" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="1560" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="t" value="Bürgerabstimmung — Datenfluss und Speicherung" style="text;html=1;align=center;verticalAlign=middle;fontSize=20;fontStyle=1;fontColor=#111111;" vertex="1" parent="1">
|
||||
<mxGeometry x="40" y="16" width="1020" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="u" value="Jeder Pfeil nennt den Wert, der übertragen wird. Gelesen wird aus dem Ausweis nur die RestrictedID." style="text;html=1;align=center;verticalAlign=middle;fontSize=13;fontStyle=0;fontColor=#555555;" vertex="1" parent="1">
|
||||
<mxGeometry x="40" y="48" width="1020" 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="320" height="1170" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="kopf0" value="Bürgerin oder Bürger<br><font style="font-size:11px">Handy, AusweisApp, Personalausweis</font>" 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="320" 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="390" y="84" width="320" height="1170" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="kopf1" value="Webserver Bürgerabstimmung<br><font style="font-size:11px">PHP, SQLite</font>" 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="390" y="84" width="320" 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="740" y="84" width="320" height="1170" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="kopf2" value="eID-Server<br><font style="font-size:11px">BSI TR-03130</font>" 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="740" y="84" width="320" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="s1" value="<b>1</b>&nbsp; Nutzer tippt „Ausweis auflegen“" 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="70" y="160" width="260" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="s2" value="<b>2</b>&nbsp; Vorgang anlegen<br><font style="font-family:Courier New;font-size:11px">INSERT eid_flows<br>(nonce 32 hex, session_id, created_at)<br>gültig 600 Sekunden</font>" 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="420" y="255" width="260" height="85" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="s3" value="<b>3</b>&nbsp; AusweisApp startet und<br>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="70" y="370" width="260" height="55" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="s4" value="<b>4</b>&nbsp; TC-Token erzeugen<br><font style="font-family:Courier New;font-size:11px">ServerAddress<br>SessionIdentifier<br>RefreshAddress = /eid/callback<br>Binding = urn:liberty:paos:2006-08</font>" 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="420" y="460" width="260" height="95" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="s5" value="<b>5</b>&nbsp; AusweisApp verbindet sich<br>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="70" y="590" width="260" height="55" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="s6" value="<b>6</b>&nbsp; eID-Server fordert an<br><font style="font-family:Courier New;font-size:11px">UseOperations:<br>RestrictedIdentification REQUIRED</font>" 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="770" y="680" width="260" height="75" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="s7" value="<b>7</b>&nbsp; Ausweis auflegen<br><font style="font-family:Courier New;font-size:11px">NFC ISO/IEC 14443<br>PACE mit 6-stelliger eID-PIN<br><br>Der Ausweis gibt nur die RestrictedID heraus.<br>Name, Anschrift, Geburtsdatum<br>bleiben im Chip.</font>" 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="70" y="790" width="260" height="125" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="s8" value="<b>8</b>&nbsp; eID-Server hält das<br>Ergebnis bereit" 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="770" y="950" width="260" height="55" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="s9" value="<b>9</b>&nbsp; Konto anlegen oder wiederfinden<br><font style="font-family:Courier New;font-size:11px">pseudonym_hash = hash_hmac('sha256',<br>RestrictedID, pepper)<br>INSERT INTO users (pseudonym_hash, lang, …)<br><br>RestrictedID verworfen, eid_flows gelöscht<br>pepper: 32 Byte, nur im Dateisystem</font>" 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="420" y="1045" width="260" height="130" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="e1" value="HTTPS<br>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<br>?tcTokenURL=https://&lt;host&gt;/eid/tctoken?s=&lt;nonce&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<br>GET /eid/tctoken?s=&lt;nonce&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<br>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)<br>darin steht, welche Felder erlaubt sind" 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="<b>RestrictedID</b>" 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="e8" value="<b>RestrictedID</b><br>getResultResponse<br>SOAP über HTTPS, Client-Zertifikat" 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="s8" target="s9">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="tr" value="Nach der Anmeldung — was beim Nutzen gespeichert wird" style="text;html=1;align=center;verticalAlign=middle;fontSize=15;fontStyle=1;fontColor=#111111;" vertex="1" parent="1">
|
||||
<mxGeometry x="40" y="1285" width="1020" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="n1" value="<b>10</b>&nbsp; Thema anlegen<br><font style="font-family:Courier New;font-size:11px">topics (author_id, title, goal,<br>reasoning, category_id, scope_level,<br>scope_name, status, end_mode,<br>end_date, end_target, created_at)<br><br>author_id zeigt auf users.id</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#37474F;strokeWidth=2;fontSize=12;fontColor=#000000;verticalAlign=middle;arcSize=8;" vertex="1" parent="1">
|
||||
<mxGeometry x="40" y="1325" width="245" height="155" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="n2" value="<b>11</b>&nbsp; Abstimmen<br><font style="font-family:Courier New;font-size:11px">votes (topic_id, voter_tag,<br>choice, created_at, updated_at)<br><br>voter_tag = hash_hmac('sha256',<br>'vote|'+topic_id+'|'+pseudonym_hash,<br>pepper)<br><br><b>keine Spalte user_id</b></font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E3F2FD;strokeColor=#0D47A1;strokeWidth=2;fontSize=12;fontColor=#0D47A1;verticalAlign=middle;arcSize=8;" vertex="1" parent="1">
|
||||
<mxGeometry x="300" y="1325" width="245" height="155" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="n3" value="<b>12</b>&nbsp; Lesezeichen setzen<br><font style="font-family:Courier New;font-size:11px">favorites (user_id, kind, ref,<br>created_at)<br><br>kind: category, scope oder topic<br><br>user_id zeigt auf users.id</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#37474F;strokeWidth=2;fontSize=12;fontColor=#000000;verticalAlign=middle;arcSize=8;" vertex="1" parent="1">
|
||||
<mxGeometry x="560" y="1325" width="245" height="155" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="n4" value="<b>13</b>&nbsp; Thema melden, Jury<br><font style="font-family:Courier New;font-size:11px">reports (topic_id, reporter_id,<br>criteria, freetext, status, …)<br>report_jurors (report_id, user_id,<br>vote, voted_at)<br><br>beide zeigen auf users.id</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#37474F;strokeWidth=2;fontSize=12;fontColor=#000000;verticalAlign=middle;arcSize=8;" vertex="1" parent="1">
|
||||
<mxGeometry x="820" y="1325" width="245" height="155" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_n1" value="users.id" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;fontSize=11;fontFamily=Courier New;fontColor=#333333;endArrow=block;endFill=1;labelBackgroundColor=#F7F7F7;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="s9" target="n1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_n2" value="voter_tag, abgeleitet" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#0D47A1;strokeWidth=3;fontSize=11;fontFamily=Courier New;fontColor=#0D47A1;endArrow=block;endFill=1;labelBackgroundColor=#F7F7F7;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="s9" target="n2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_n3" value="users.id" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;fontSize=11;fontFamily=Courier New;fontColor=#333333;endArrow=block;endFill=1;labelBackgroundColor=#F7F7F7;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="s9" target="n3">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_n4" value="users.id" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;fontSize=11;fontFamily=Courier New;fontColor=#333333;endArrow=block;endFill=1;labelBackgroundColor=#F7F7F7;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="s9" target="n4">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
Reference in New Issue
Block a user