Files

98 lines
10 KiB
Plaintext

<mxfile host="app.diagrams.net" agent="Buergerabstimmung" version="24.0.0">
<diagram name="Datenfluss knapp" id="dfl-knapp">
<mxGraphModel dx="920" dy="1060" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="920" pageHeight="1060" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="t" value="Bürgerabstimmung — Datenfluss der Anmeldung und Stimmabgabe" style="text;html=1;align=center;verticalAlign=middle;fontSize=18;fontStyle=1;fontColor=#111111;" vertex="1" parent="1">
<mxGeometry x="20" y="18" width="880" height="28" as="geometry" />
</mxCell>
<mxCell id="leg1" value="Rechteck = Schritt" style="text;html=1;align=center;verticalAlign=middle;fontSize=10;fontStyle=0;fontColor=#607D8B;" vertex="1" parent="1">
<mxGeometry x="300" y="52" width="130" height="18" as="geometry" />
</mxCell>
<mxCell id="leg2" value="Schräg = Wert" style="text;html=1;align=center;verticalAlign=middle;fontSize=10;fontStyle=0;fontColor=#0D47A1;" vertex="1" parent="1">
<mxGeometry x="440" y="52" width="110" height="18" as="geometry" />
</mxCell>
<mxCell id="leg3" value="Zylinder = Speicher" style="text;html=1;align=center;verticalAlign=middle;fontSize=10;fontStyle=0;fontColor=#37474F;" vertex="1" parent="1">
<mxGeometry x="560" y="52" width="130" height="18" as="geometry" />
</mxCell>
<mxCell id="p1" value="Ausweis ans Handy halten und PIN eingeben&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:10px;color:#607D8B&quot;&gt;NFC ISO/IEC 14443 · PACE&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#37474F;strokeWidth=2;fontSize=13;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="300" y="100" width="320" height="70" as="geometry" />
</mxCell>
<mxCell id="p2" value="Der Ausweis leitet das Kennzeichen ab&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:10px;color:#607D8B&quot;&gt;aus dem Sektorschlüssel des Berechtigungszertifikats&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#37474F;strokeWidth=2;fontSize=13;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="300" y="200" width="320" height="70" as="geometry" />
</mxCell>
<mxCell id="d1" value="&lt;b&gt;RestrictedID&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:10px;color:#607D8B&quot;&gt;dienste- und kartenspezifisch&lt;/font&gt;" style="shape=parallelogram;perimeter=parallelogramPerimeter;fixedSize=1;size=18;whiteSpace=wrap;html=1;fillColor=#E3F2FD;strokeColor=#0D47A1;strokeWidth=2;fontSize=13;fontColor=#0D47A1;" vertex="1" parent="1">
<mxGeometry x="300" y="300" width="320" height="60" as="geometry" />
</mxCell>
<mxCell id="p3" value="An den eID-Server bei D-Trust übertragen&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:10px;color:#607D8B&quot;&gt;PAOS über TLS&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#37474F;strokeWidth=2;fontSize=13;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="300" y="400" width="320" height="70" as="geometry" />
</mxCell>
<mxCell id="p4" value="D-Trust reicht sie an meinen Server weiter&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:10px;color:#607D8B&quot;&gt;getResultResponse · SOAP über HTTPS mit Client-Zertifikat&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#37474F;strokeWidth=2;fontSize=13;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="300" y="500" width="320" height="70" as="geometry" />
</mxCell>
<mxCell id="p5" value="Prüfwert berechnen&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:10px;color:#607D8B&quot;&gt;HMAC-SHA256 mit dem Pepper aus data/secret.key&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#37474F;strokeWidth=2;fontSize=13;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="300" y="600" width="320" height="70" as="geometry" />
</mxCell>
<mxCell id="d2" value="&lt;b&gt;pseudonym_hash&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:10px;color:#607D8B&quot;&gt;der Prüfwert&lt;/font&gt;" style="shape=parallelogram;perimeter=parallelogramPerimeter;fixedSize=1;size=18;whiteSpace=wrap;html=1;fillColor=#E3F2FD;strokeColor=#0D47A1;strokeWidth=2;fontSize=13;fontColor=#0D47A1;" vertex="1" parent="1">
<mxGeometry x="300" y="700" width="320" height="60" as="geometry" />
</mxCell>
<mxCell id="p6" value="Beim Abstimmen einen zweiten Wert ableiten&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:10px;color:#607D8B&quot;&gt;HMAC-SHA256 über 'vote|Themennummer|Prüfwert'&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#37474F;strokeWidth=2;fontSize=13;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="300" y="790" width="320" height="80" as="geometry" />
</mxCell>
<mxCell id="d3" value="&lt;b&gt;voter_tag&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-family:Courier New;font-size:10px;color:#607D8B&quot;&gt;je Thema ein eigener Wert&lt;/font&gt;" style="shape=parallelogram;perimeter=parallelogramPerimeter;fixedSize=1;size=18;whiteSpace=wrap;html=1;fillColor=#E3F2FD;strokeColor=#0D47A1;strokeWidth=2;fontSize=13;fontColor=#0D47A1;" vertex="1" parent="1">
<mxGeometry x="300" y="900" width="320" height="60" as="geometry" />
</mxCell>
<mxCell id="e_p1_p2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;endArrow=block;endFill=1;" edge="1" parent="1" source="p1" target="p2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e_p2_d1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;endArrow=block;endFill=1;" edge="1" parent="1" source="p2" target="d1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e_d1_p3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;endArrow=block;endFill=1;" edge="1" parent="1" source="d1" target="p3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e_p3_p4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;endArrow=block;endFill=1;" edge="1" parent="1" source="p3" target="p4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e_p4_p5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;endArrow=block;endFill=1;" edge="1" parent="1" source="p4" target="p5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e_p5_d2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;endArrow=block;endFill=1;" edge="1" parent="1" source="p5" target="d2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e_d2_p6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;endArrow=block;endFill=1;" edge="1" parent="1" source="d2" target="p6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="e_p6_d3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;endArrow=block;endFill=1;" edge="1" parent="1" source="p6" target="d3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="n1" value="&lt;b&gt;Bleibt im Chip&lt;/b&gt;&lt;br&gt;Name · Anschrift · Geburtsdatum&lt;br&gt;Ausweisnummer · Lichtbild" style="shape=note;size=14;whiteSpace=wrap;html=1;fillColor=#FFEBEE;strokeColor=#B71C1C;strokeWidth=2;fontSize=12;fontColor=#B71C1C;verticalAlign=middle;align=left;spacingLeft=8;" vertex="1" parent="1">
<mxGeometry x="20" y="195" width="250" height="80" as="geometry" />
</mxCell>
<mxCell id="e_n1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#B71C1C;strokeWidth=2;dashed=1;endArrow=block;endFill=1;" edge="1" parent="1" source="p2" target="n1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="n2" value="&lt;b&gt;RestrictedID wird verworfen&lt;/b&gt;&lt;br&gt;sie wird nirgends gespeichert" style="shape=note;size=14;whiteSpace=wrap;html=1;fillColor=#FFEBEE;strokeColor=#B71C1C;strokeWidth=2;fontSize=12;fontColor=#B71C1C;verticalAlign=middle;align=left;spacingLeft=8;" vertex="1" parent="1">
<mxGeometry x="20" y="600" width="250" height="70" as="geometry" />
</mxCell>
<mxCell id="e_n2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#B71C1C;strokeWidth=2;dashed=1;endArrow=block;endFill=1;" edge="1" parent="1" source="p5" target="n2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s1" value="&lt;b&gt;users&lt;/b&gt;&lt;br&gt;pseudonym_hash" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=12;whiteSpace=wrap;html=1;fillColor=#ECEFF1;strokeColor=#37474F;strokeWidth=2;fontSize=12;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="690" y="690" width="210" height="80" as="geometry" />
</mxCell>
<mxCell id="e_s1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;endArrow=block;endFill=1;" edge="1" parent="1" source="d2" target="s1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="s2" value="&lt;b&gt;votes&lt;/b&gt;&lt;br&gt;topic_id · voter_tag · choice&lt;br&gt;keine Spalte user_id" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=12;whiteSpace=wrap;html=1;fillColor=#ECEFF1;strokeColor=#37474F;strokeWidth=2;fontSize=12;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="690" y="890" width="210" height="90" as="geometry" />
</mxCell>
<mxCell id="e_s2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#37474F;strokeWidth=2;endArrow=block;endFill=1;" edge="1" parent="1" source="d3" target="s2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>