backup/docs/uml/create-repo.svg

32 lines
15 KiB
XML
Raw Permalink Normal View History

2022-02-03 09:38:20 +00:00
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="788px" preserveAspectRatio="none" style="width:631px;height:788px;background:#FFFFFF;" version="1.1" viewBox="0 0 631 788" width="631px" zoomAndPan="magnify"><defs><filter height="300%" id="fg7g4phj2jljb" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#fg7g4phj2jljb)" height="566.9922" style="stroke:#A80036;stroke-width:1.0;" width="10" x="158.5" y="119.4297"/><rect fill="#FFFFFF" filter="url(#fg7g4phj2jljb)" height="40.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="163.5" y="156.5625"/><rect fill="#FFFFFF" filter="url(#fg7g4phj2jljb)" height="40.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="163.5" y="299.0938"/><rect fill="#FFFFFF" filter="url(#fg7g4phj2jljb)" height="40.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="163.5" y="383.3594"/><rect fill="#FFFFFF" filter="url(#fg7g4phj2jljb)" height="40.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="163.5" y="467.625"/><rect fill="#FFFFFF" filter="url(#fg7g4phj2jljb)" height="40.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="163.5" y="551.8906"/><rect fill="#FFFFFF" filter="url(#fg7g4phj2jljb)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="488.5" y="232.8281"/><rect fill="#FFFFFF" filter="url(#fg7g4phj2jljb)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="576" y="628.1563"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="23" x2="23" y1="88.2969" y2="704.4219"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="163" x2="163" y1="88.2969" y2="704.4219"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="493" x2="493" y1="88.2969" y2="704.4219"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="581" x2="581" y1="88.2969" y2="704.4219"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="5" y="84.9951">User</text><ellipse cx="23.5" cy="15" fill="#FEFECE" filter="url(#fg7g4phj2jljb)" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M23.5,23 L23.5,50 M10.5,31 L36.5,31 M23.5,50 L10.5,65 M23.5,50 L36.5,65 " fill="none" filter="url(#fg7g4phj2jljb)" style="stroke:#A80036;stroke-width:2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="5" y="716.417">User</text><ellipse cx="23.5" cy="729.7188" fill="#FEFECE" filter="url(#fg7g4phj2jljb)" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M23.5,737.7188 L23.5,764.7188 M10.5,745.7188 L36.5,745.7188 M23.5,764.7188 L10.5,779.7188 M23.5,764.7188 L36.5,779.7188 " fill="none" filter="url(#fg7g4phj2jljb)" style="stroke:#A80036;stroke-width:2.0;"/><rect fill="#FEFECE" filter="url(#fg7g4phj2jljb)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="67" x="128" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="53" x="135" y="72.9951">Backup</text><rect fill="#FEFECE" filter="url(#fg7g4phj2jljb)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="67" x="128" y="703.4219"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="53" x="135" y="723.417">Backup</text><rect fill="#FEFECE" filter="url(#fg7g4phj2jljb)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="71" x="456" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="57" x="463" y="72.9951">Yubikey</text><rect fill="#FEFECE" filter="url(#fg7g4phj2jljb)" height="30.2969" style="stro
@startuml
actor User
autoactivate on
User -> Backup : Create Repository
Backup -> Backup : generate P-256 key pair
return keypair
Backup -> Yubikey : Read the public key of the YubiKey
return public key
Backup -> Backup : Calculate ECDHE shared secret
return shared secret
Backup -> Backup : Generate Curve 25519 key pair
return keypair
Backup -> Backup : Generate encyption key from the shared secret
return encryption key
Backup -> Backup : Encrypt the private key with the encryption key
return encrypted private key
Backup -> Backend : Store the encrypted private key and public key
return success
return success
@enduml
PlantUML version 1.2022.1(Tue Feb 01 18:19:58 UTC 2022)
(GPL source distribution)
Java Runtime: Java(TM) SE Runtime Environment
JVM: Java HotSpot(TM) 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>