mirror of
https://github.com/ComradCollective/Comrad
synced 2024-11-05 21:20:51 +00:00
395 lines
37 KiB
Plaintext
395 lines
37 KiB
Plaintext
<mxfile host="app.diagrams.net" modified="2020-09-03T11:00:48.410Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36" etag="fmPSS0QQKe_oNOoEQsYu" version="13.6.6" type="github" pages="3">
|
|
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Login/Register">
|
|
<mxGraphModel dx="4530" dy="3590" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
|
|
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
|
|
<mxCell id="WIyWlLk6GJQsqaUBKTNV-2" value="" style="rounded=0;html=1;jettySize=auto;orthogonalLoop=1;fontSize=11;endArrow=block;endFill=0;endSize=8;strokeWidth=1;shadow=0;labelBackgroundColor=none;edgeStyle=orthogonalEdgeStyle;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="WIyWlLk6GJQsqaUBKTNV-3" target="WIyWlLk6GJQsqaUBKTNV-6" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="532.4537037037038" y="54.00000000000006" />
|
|
<mxPoint x="532.4537037037038" y="130.00000000000006" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="WIyWlLk6GJQsqaUBKTNV-3" value="I try to meet/login as/register username "marx"" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="472.4537037037038" y="1.0000000000000269" width="120" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="WIyWlLk6GJQsqaUBKTNV-4" value="Yes" style="rounded=0;html=1;jettySize=auto;orthogonalLoop=1;fontSize=11;endArrow=block;endFill=0;endSize=8;strokeWidth=1;shadow=0;labelBackgroundColor=none;edgeStyle=orthogonalEdgeStyle;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="WIyWlLk6GJQsqaUBKTNV-6" target="UarGHlLd0uthddKlq-wd-3" edge="1">
|
|
<mxGeometry y="20" relative="1" as="geometry">
|
|
<mxPoint as="offset" />
|
|
<mxPoint x="60" y="331.53846153846143" as="targetPoint" />
|
|
<Array as="points">
|
|
<mxPoint x="509.9537037037038" y="234.00000000000006" />
|
|
<mxPoint x="433.75" y="310.00000000000006" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="WIyWlLk6GJQsqaUBKTNV-5" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;jettySize=auto;orthogonalLoop=1;fontSize=11;endArrow=block;endFill=0;endSize=8;strokeWidth=1;shadow=0;labelBackgroundColor=none;noEdgeStyle=1;orthogonal=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="WIyWlLk6GJQsqaUBKTNV-6" target="WIyWlLk6GJQsqaUBKTNV-7" edge="1">
|
|
<mxGeometry y="10" relative="1" as="geometry">
|
|
<mxPoint as="offset" />
|
|
<Array as="points">
|
|
<mxPoint x="554.9537037037038" y="234.00000000000006" />
|
|
<mxPoint x="632.5" y="310.00000000000006" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="WIyWlLk6GJQsqaUBKTNV-6" value="Is key server reachable via Tor requests?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="482.4537037037038" y="142.00000000000006" width="100" height="80" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="WIyWlLk6GJQsqaUBKTNV-7" value="Login/register failed. Cannot safely connect." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="566.25" y="342.00000000000006" width="132.5" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="pqJTde5UYUQTvpoNPmt8-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-3" target="pqJTde5UYUQTvpoNPmt8-2">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="433.75" y="414.00000000000006" />
|
|
<mxPoint x="487.655" y="490" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-3" value="Download Keyserver's public key, which is encrypted for Komrade, from Keyserver<br><br>Decrypt Keyserver's public key" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="331.25" y="322.00000000000006" width="205" height="80" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-9" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-5" target="UarGHlLd0uthddKlq-wd-27" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="70" y="660" as="targetPoint" />
|
|
<Array as="points">
|
|
<mxPoint x="566.0125" y="894" />
|
|
<mxPoint x="460.15583333333336" y="970" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-13" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;entryX=0.4;entryY=0.25;entryDx=0;entryDy=0;entryPerimeter=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-5" target="UarGHlLd0uthddKlq-wd-14" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="210" y="640" as="targetPoint" />
|
|
<Array as="points">
|
|
<mxPoint x="629.6075000000001" y="894" />
|
|
<mxPoint x="613.2658333333334" y="970" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-5" value="Is keyserver storing a public key for username "marx"?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="529.215" y="742" width="137.19" height="140" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-31" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;exitX=0;exitY=1;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-14" target="UarGHlLd0uthddKlq-wd-29" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="584.2108333333333" y="1094" />
|
|
<mxPoint x="545.99375" y="1170" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="pqJTde5UYUQTvpoNPmt8-1" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-14" target="LL1DRk6oRKZlNUp4qJ55-0">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="625.625" y="1245" as="targetPoint" />
|
|
<Array as="points">
|
|
<mxPoint x="642.3208333333333" y="1094" />
|
|
<mxPoint x="695.99375" y="1170" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-14" value="Do I have a .marx.key?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="550.1558333333334" y="982" width="126.22" height="100" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-27" target="UarGHlLd0uthddKlq-wd-35" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="115.625" y="820" as="targetPoint" />
|
|
<Array as="points">
|
|
<mxPoint x="460.15583333333336" y="1094" />
|
|
<mxPoint x="340.36875" y="1170" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-27" value="Attempt registration" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="400.15583333333336" y="1012" width="120" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-55" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-29" target="UarGHlLd0uthddKlq-wd-59" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="421.25" y="1069" as="targetPoint" />
|
|
<Array as="points">
|
|
<mxPoint x="545.99375" y="1374" />
|
|
<mxPoint x="482.6045833333335" y="1450" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-29" value="Attempt login" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="485.99375" y="1252" width="120" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-98" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-35" target="UarGHlLd0uthddKlq-wd-97" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="340.36875" y="1374" />
|
|
<mxPoint x="231.531875" y="1450" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-35" value="<div><span>[Client]</span></div><div><span><br></span></div><span>Generate pub/private key pair<br>(Themis, GenerateKeyPair, EC)<br></span><br><span>Encrypt pub/private key pair with passphrase&nbsp;</span><span>(Themis, SecureCell)<br></span><br><span>Save in:&nbsp;</span><span>~/.komrade/.keys/.marx.key</span>" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="224.74374999999998" y="1182" width="231.25" height="180" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-85" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-59" target="UarGHlLd0uthddKlq-wd-86" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="471.25" y="1400" as="targetPoint" />
|
|
<Array as="points">
|
|
<mxPoint x="455.10458333333344" y="1643.5" />
|
|
<mxPoint x="342.89000000000004" y="1719.5" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-87" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-59" target="UarGHlLd0uthddKlq-wd-88" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="700" y="1300" as="targetPoint" />
|
|
<Array as="points">
|
|
<mxPoint x="510.1045833333335" y="1643.5" />
|
|
<mxPoint x="558.9300000000001" y="1719.5" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-59" value="Can I decrypt .marx.key using passphrase? (SecureCell)" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="422.60458333333344" y="1481.25" width="120" height="131" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-65" value="Registration successful" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="205" y="2595.25" width="175" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-84" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-72" target="UarGHlLd0uthddKlq-wd-100" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="122.69500000000005" y="1911" />
|
|
<mxPoint x="215.31000000000003" y="1987" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-72" value="<div><span>[Server]</span></div><div><br></div><div>Receive 2 encryped public keys from user</div><div><br></div><div>Decrypt first public key:</div><div><i>to</i>: me,&nbsp;<span><i>from</i>: komrade</span></div><div><br></div><div>Decrypt second public key:</div><div><i>to</i>: me, <i>from:</i>&nbsp;<span>decrypted first pubkey</span></div>" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="20.000000000000057" y="1735.75" width="205.39" height="159" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-80" value="Registration failed" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry y="2595.25" width="175" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-86" value="Login failed. You claim to be marx but cannot decrypt his key." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="255.39000000000004" y="1790.25" width="175" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-107" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-88" target="UarGHlLd0uthddKlq-wd-105" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="558.9300000000001" y="1911" />
|
|
<mxPoint x="422.595" y="1987" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-88" value="<div>[Client]</div><div><br></div><div>As before, encrypt my public key twice:</div><div><br></div><div>(1) to keyserver, from komrade</div><div>(2) to keyserver, from me</div><div><br></div><div>Send both to server</div>" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="460.39000000000004" y="1744.75" width="197.08" height="141" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-99" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-97" target="UarGHlLd0uthddKlq-wd-72" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="231.531875" y="1643.5" />
|
|
<mxPoint x="122.69500000000005" y="1719.5" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-97" value="<div><span>[Client] -&gt; [Server]</span></div><div><br></div><div>Encrypt my public key,&nbsp;</div><div><span><i>to</i>: keyserver,&nbsp;</span><i>from</i><span>: komrade</span></div><div><br></div><div>Encrypt my public key again,</div><div><i>to</i>: keyserver,&nbsp;<i>from</i><span>: me</span></div><div><br></div><div>Send my 2 encrypted public keys to keyserver</div>" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="125.65187500000002" y="1462" width="211.76" height="169.5" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-118" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;exitX=0;exitY=1;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-100" target="UarGHlLd0uthddKlq-wd-114" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="188.94500000000005" y="2219.75" />
|
|
<mxPoint x="151.40500000000003" y="2295.75" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-119" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-100" target="UarGHlLd0uthddKlq-wd-101" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="241.67500000000004" y="2219.75" />
|
|
<mxPoint x="406.405" y="2295.75" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-100" value="[Server] Decrypted keys match?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="157.58000000000004" y="2048.375" width="115.46" height="110" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-120" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-101" target="UarGHlLd0uthddKlq-wd-65" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="406.405" y="2492.25" />
|
|
<mxPoint x="292.5" y="2568.25" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-101" value="<div><span>[Server]</span></div><div><span><br></span></div><div>Save first decrypted key</div><div>(to me, from komrade) to</div><div>~/.komrade/.keyserver/.marx.loc</div><div><br></div><div>Send second decrypted pubkey</div><div>(to me, from user) to</div><div>~/.komrade/.keyserver/.marx.loc.box</div><div><br></div><div><div>Send back to user OK response</div></div>" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="293.90500000000003" y="2307.75" width="225" height="172.5" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-113" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-105" target="UarGHlLd0uthddKlq-wd-111" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="422.595" y="2219.75" />
|
|
<mxPoint x="616.405" y="2295.75" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-105" value="<div><span>[Server]</span></div><div><br></div><div>Receive 2 encryped public keys from user</div><div><br></div><div>Decrypt first public key:</div><div><i>to</i>: me,&nbsp;<span><i>from</i>: komrade</span></div><div><br></div><div>Decrypt second public key:</div><div><i>to</i>: me, <i>from:</i>&nbsp;<span>decrypted first pubkey</span></div><div><span><br></span></div><div><span>Do same with those 2 already on disk</span></div>" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="303.04" y="2022.625" width="239.11" height="161.5" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-108" value="Login failed" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="410" y="2595.25" width="175" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-109" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-111" target="UarGHlLd0uthddKlq-wd-108" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="585.155" y="2492.25" />
|
|
<mxPoint x="497.5" y="2568.25" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-110" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-111" target="UarGHlLd0uthddKlq-wd-112" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="647.655" y="2492.25" />
|
|
<mxPoint x="727.5" y="2568.25" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-111" value="[Server] All four decrypted keys match each other?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="548.905" y="2318.375" width="135" height="151.25" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-124" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-112" target="UarGHlLd0uthddKlq-wd-123" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="727.5" y="2672.25" />
|
|
<mxPoint x="727.5" y="2748.25" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-112" value="<div><span>[Server]</span></div><div><span><br></span></div><div><span>Send back to user OK response</span><br></div>" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="615" y="2580.25" width="225" height="80" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-121" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-114" target="UarGHlLd0uthddKlq-wd-80" edge="1">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="151.40500000000003" y="2492.25" />
|
|
<mxPoint x="87.5" y="2568.25" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-114" value="<div><span>[Server]</span><br></div><div><span><br></span></div><div><span>Send back to user FAIL response</span><br></div>" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="38.90500000000003" y="2359" width="225" height="70" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="UarGHlLd0uthddKlq-wd-123" value="Login successful" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
|
<mxGeometry x="640" y="2760.25" width="175" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="pqJTde5UYUQTvpoNPmt8-3" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pqJTde5UYUQTvpoNPmt8-2" target="pqJTde5UYUQTvpoNPmt8-4">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="60" y="530" as="targetPoint" />
|
|
<Array as="points">
|
|
<mxPoint x="458.1575" y="654" />
|
|
<mxPoint x="431.40500000000003" y="730" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="pqJTde5UYUQTvpoNPmt8-6" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pqJTde5UYUQTvpoNPmt8-2" target="UarGHlLd0uthddKlq-wd-5">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="517.1525" y="654" />
|
|
<mxPoint x="597.81" y="730" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="pqJTde5UYUQTvpoNPmt8-2" value="Does decrypted Keyserver pubkey match the one hardcoded into the app code?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
|
<mxGeometry x="423.66" y="502" width="127.99" height="140" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="pqJTde5UYUQTvpoNPmt8-4" value="Login/register failed. Keyserver may be inauthentic." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
|
<mxGeometry x="363.595" y="784.5" width="135.62" height="55" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="LL1DRk6oRKZlNUp4qJ55-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-0" target="LL1DRk6oRKZlNUp4qJ55-2">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="630" y="1460" as="targetPoint" />
|
|
<Array as="points">
|
|
<mxPoint x="695.99375" y="1374" />
|
|
<mxPoint x="779.8195833333334" y="1450" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="LL1DRk6oRKZlNUp4qJ55-0" value="Attempt meet" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
|
<mxGeometry x="635.99375" y="1252" width="120" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="LL1DRk6oRKZlNUp4qJ55-4" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-2" target="LL1DRk6oRKZlNUp4qJ55-3">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="747.5720833333335" y="1643.5" />
|
|
<mxPoint x="733.6" y="1719.5" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="LL1DRk6oRKZlNUp4qJ55-7" value="Yes<br>(e.g. logged in as "elon")" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-2" target="LL1DRk6oRKZlNUp4qJ55-6">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="990" y="1510" as="targetPoint" />
|
|
<Array as="points">
|
|
<mxPoint x="812.0670833333335" y="1643.5" />
|
|
<mxPoint x="909.865" y="1719.5" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="LL1DRk6oRKZlNUp4qJ55-2" value="Do I have <i>any </i>private key? (Have I registered and logged in as a user yet?)" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
|
<mxGeometry x="710.3245833333334" y="1486.75" width="138.99" height="120" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="LL1DRk6oRKZlNUp4qJ55-3" value="Meet failed. Who are you?" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
|
<mxGeometry x="687.47" y="1795.25" width="92.26" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="LL1DRk6oRKZlNUp4qJ55-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-5" target="LL1DRk6oRKZlNUp4qJ55-9">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="922.4583398437501" y="2219.75" />
|
|
<mxPoint x="936.229169921875" y="2295.75" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="LL1DRk6oRKZlNUp4qJ55-5" value="<div><span>[Server]</span></div><div><br></div><div>Receive double-encrypted request from client</div><div><br></div><div>Decrypt first time (to: Keysever, from: Komrade)&nbsp;<span>to reveal a second encryted request [i.e.&nbsp;</span><i>Q(i_am:&nbsp;</i><span>elon,</span></div><div><i>my_req</i><span>: elon-encrypted 'whois marx']</span></div><div><span><br></span></div><div><span>Get the encrypted public key I have on disk for 'elon', decrypt it (to: Keysever, from: Komrade)</span></div><div><span><br></span></div><div><span>Attempt to decrypt 'my_req' using elon's loaded-from-disk public key</span></div>" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
|
<mxGeometry x="772.3233398437501" y="1999" width="300.27" height="208.75" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="LL1DRk6oRKZlNUp4qJ55-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-6" target="LL1DRk6oRKZlNUp4qJ55-5">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="909.865" y="1911" />
|
|
<mxPoint x="922.4583398437501" y="1987" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="LL1DRk6oRKZlNUp4qJ55-6" value="<div><span>[Client]</span></div><div><br></div><div><span>Encrypt a request for marx's public key (to: Keyserver, from: elon)</span><br></div><div><br></div><div><div>Form a part-encrypted request</div><div><i>Q(i_am:</i><span>&nbsp;unencrypted(elon),</span><br></div><div><i>my_req</i>: encrypted(whois marx?))</div></div><div><br></div><div>Encrypt that request (to: Keyserver, from: Komrade)</div>" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
|
<mxGeometry x="809.73" y="1731.5" width="200.27" height="167.5" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="LL1DRk6oRKZlNUp4qJ55-11" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-9" target="LL1DRk6oRKZlNUp4qJ55-10">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="936.229169921875" y="2492.25" />
|
|
<mxPoint x="950" y="2568.25" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="LL1DRk6oRKZlNUp4qJ55-9" value="Is the request from 'elon' decryptable according to Keysever's public key for 'elon'?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
|
<mxGeometry x="851.229169921875" y="2309" width="170" height="170" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="LL1DRk6oRKZlNUp4qJ55-10" value="Meet failed. You say you are elon, but your request was indecipherable in elon-ese." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
|
<mxGeometry x="870" y="2585.25" width="160" height="70" as="geometry" />
|
|
</mxCell>
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
<diagram id="389PNDcMlEOF428ntzAT" name="Initialize Keyserver">
|
|
<mxGraphModel dx="906" dy="718" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="rmWX_bm3A8y1wPHU716J-0" />
|
|
<mxCell id="rmWX_bm3A8y1wPHU716J-1" parent="rmWX_bm3A8y1wPHU716J-0" />
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
<diagram id="NBmGajsKU7DFJceESM1I" name="Meeting contact">
|
|
<mxGraphModel dx="906" dy="718" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="PqcPHuyIlmMLEQzt4gBB-0" />
|
|
<mxCell id="PqcPHuyIlmMLEQzt4gBB-1" parent="PqcPHuyIlmMLEQzt4gBB-0" />
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
</mxfile>
|