cwa-documentation/images/solution_architecture/key_flow_sending.svg

4 lines
20 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="3 11 1276 577" width="1276pt" height="577pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.6.2 <dc:date>2021-10-26 14:09:17 +0000</dc:date></metadata><defs><font-face font-family="Helvetica Neue" font-size="16" panose-1="2 0 8 3 0 0 0 9 0 4" units-per-em="1000" underline-position="-100" underline-thickness="50" slope="0" x-height="517" cap-height="714" ascent="975.0061" descent="-216.99524" font-weight="bold"><font-face-src><font-face-name name="HelveticaNeue-Bold"/></font-face-src></font-face><font-face font-family="Helvetica Neue" font-size="16" panose-1="2 0 5 3 0 0 0 2 0 4" units-per-em="1000" underline-position="-100" underline-thickness="50" slope="0" x-height="517" cap-height="714" ascent="951.99585" descent="-212.99744" font-weight="500"><font-face-src><font-face-name name="HelveticaNeue"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>Key Flow (11)</title><rect fill="white" width="1296.34646" height="814"/><g><title>Ebene 1</title><rect x="14.173228" y="22.677165" width="1252.9134" height="464.8819" fill="#dadada"/><rect x="14.173228" y="22.677165" width="1252.9134" height="464.8819" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(19.173228 27.677165)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="bold" x="0" y="16" textLength="62.816">Exposur</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="bold" x="62.528" y="16" textLength="54.8">e Notifi</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="bold" x="117.328" y="16" textLength="138.624">cation Framework</tspan></text><rect x="184.25197" y="189.92126" width="121.88976" height="175.74803" fill="white"/><rect x="184.25197" y="189.92126" width="121.88976" height="175.74803" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(189.25197 240.89928)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="18.160882" y="15" textLength="9.184">T</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="25.568882" y="15" textLength="72.608">emporary </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="6.4568815" y="33.447998" textLength="58.96">Exposur</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="65.12888" y="33.447998" textLength="44.752">e Key </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="14.3128815" y="51.895996" textLength="87.712">(valid for 24 </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="33.720882" y="70.343994" textLength="44.448">hours)</tspan></text><text transform="translate(339.30708 145.04101)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="4.124" y="15" textLength="73.2">Hash Key </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="2.5" y="33.447998" textLength="76.448">Derivation </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="7.38" y="51.895996" textLength="62.24">Function</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="13.02" y="70.343994" textLength="50.96">(HKDF)</tspan></text><line x1="306.14173" y1="223.937" x2="429.47008" y2="223.937" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="439.37008" y="192.7559" width="167.24409" height="68.031496" fill="white"/><rect x="439.37008" y="192.7559" width="167.24409" height="68.031496" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(444.37008 208.32365)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="18.622047" y="15" textLength="69.024">Rolling Pr</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="87.358047" y="15" textLength="55.712">oximity </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="12.702047" y="33.447998" textLength="48">Identifi</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="60.702047" y="33.447998" textLength="83.84">er (RPI) Key</tspan></text><rect x="439.37008" y="294.80315" width="167.24409" height="68.031496" fill="white"/><rect x="439.37008" y="294.80315" width="167.24409" height="68.031496" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(444.37008 310.3709)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x=".094046757" y="15" textLength="161.504">Associated Encrypted </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="5.4220468" y="33.447998" textLength="146.4">Metadata (AEM) Key</tspan></text><line x1="306.14173" y1="328.8189" x2="429.47008" y2="328.8189" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="739.8425" y="192.7559" width="167.24409" height="68.031496" fill="white"/><rect x="739.8425" y="192.7559" width="167.24409" height="68.031496" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(744.8425 208.32365)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="18.622047" y="15" textLength="69.024">Rolling Pr</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="87.358047" y="15" textLength="55.712">oximity </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="47.662047" y="33.447998" textLength="48">Identifi</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="95.662047" y="33.447998" textLength="13.92">er</tspan></text><line x1="606.61417" y1="225.21177" x2="729.9425" y2="225.21177" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(657.72834 202.40592)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x=".244" y="15" textLength="30.512">AES</tspan></text><rect x="589.6063" y="31.181102" width="167.24409" height="104.88189" fill="white"/><rect x="589.6063" y="31.181102" width="167.24409" height="104.88189" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(594.6063 46.72605)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="12.534047" y="15" textLength="136.624">Interval Number at </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="21.574047" y="33.447998" textLength="118.544">time of BT MAC </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="21.422047" y="51.895996" textLength="32.896">addr</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="54.030047" y="51.895996" textLength="81.792">ess change</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="12.974047" y="70.343994" textLength="131.296">(Every 10 minutes)</tspan></text><line x1="671.811" y1="136.06299" x2="671.811" y2="186.72992" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="606.61417" y1="334.72358" x2="917.02913" y2="334.72358" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(737.7667 291.35121)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="68.32128" y="15" textLength="30.512">AES</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="9.793278" y="33.447998" textLength="147.568">Counter Mode (CTR)</tspan></text><line x1="824.8819" y1="260.7874" x2="824.8819" y2="280.8874" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="926.92913" y="297.6378" width="167.24409" height="68.031496" fill="white"/><rect x="926.92913" y="297.6378" width="167.24409" height="68.031496" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(931.92913 313.20554)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x=".094046757" y="15" textLength="161.504">Associated Encrypted </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="21.278047" y="33.447998" textLength="114.688">Metadata (AEM)</tspan></text><rect x="1131.0236" y="189.92126" width="121.88976" height="175.74803" fill="white"/><rect x="1131.0236" y="189.92126" width="121.88976" height="175.74803" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(1136.0236 259.34728)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="21.272882" y="15" textLength="73.792">Bluetooth </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="27.056882" y="33.447998" textLength="57.776">Payload</tspan></text><line x1="907.0866" y1="223.937" x2="1121.1236" y2="223.937" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="1094.1732" y1="334.48819" x2="1121.1236" y2="334.48819" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(352.60417 306.24844)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x=".164" y="15" textLength="42.672">HKDF</tspan></text><rect x="25.511811" y="189.92126" width="121.88976" height="175.74803" fill="white"/><rect x="25.511811" y="189.92126" width="121.88976" height="175.74803" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(30.51181 231.67528)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="4.9768815" y="15" textLength="106.384">Diagnosis Key </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="16.088882" y="33.447998" textLength="13.328">(T</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="27.640882" y="33.447998" textLength="72.608">emporary </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="2.4568815" y="51.895996" textLength="58.96">Exposur</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="61.12888" y="51.895996" textLength="52.752">e Keys </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="17.112882" y="70.343994" textLength="82.112">of up to 14 </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="36.832882" y="88.79199" textLength="38.224">days)</tspan></text><line x1="181.41732" y1="221.10236" x2="157.30157" y2="221.10236" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="181.41732" y1="235.27559" x2="157.30157" y2="235.27559" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="181.41732" y1="249.44882" x2="157.30157" y2="249.44882" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="181.41732" y1="263.62205" x2="157.30157" y2="263.62205" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="181.41732" y1="277.79527" x2="157.30157" y2="277.79527" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="181.41732" y1="291.9685" x2="157.30157" y2="291.9685" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="181.41732" y1="306.14173" x2="157.30157" y2="306.14173" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="181.41732" y1="320.31496" x2="157.30157" y2="320.31496" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="181.41732" y1="334.48819" x2="157.30157" y2="334.48819" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="861.7323" y="147.40157" width="39.68504" height="36.850393" fill="white"/><rect x="861.7323" y="147.40157" width="39.68504" height="36.850393" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(866.7323 156.60277)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="2.1065196" y="15" textLength="25.472">RPI</tspan></text><rect x="807.874" y="147.40157" width="39.68504" height="36.850393" fill="white"/><rect x="807.874" y="147.40157" width="39.68504" height="36.850393" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(812.874 156.60277)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="2.1065196" y="15" textLength="25.472">RPI</tspan></text><rect x="756.8504" y="147.40157" width="39.68504" height="36.850393" fill="white"/><rect x="756.8504" y="147.40157" width="39.68504" height="36.850393" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(761.8504 156.60277)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="2.1065196" y="15" textLength="25.472">RPI</tspan></text><rect x="782.3622" y="104.88189" width="39.68504" height="36.850393" fill="white"/><rect x="782.3622" y="104.88189" width="39.68504" height="36.850393" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(787.3622 114.08309)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="2.1065196" y="15" textLength="25.472">RPI</tspan></text><rect x="836.22047" y="104.88189" width="39.68504" height="36.850393" fill="white"/><rect x="836.22047" y="104.88189" width="39.68504" height="36.850393" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(841.22047 114.08309)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="2.1065196" y="15" textLength="25.472">RPI</tspan></text><text transform="translate(812.874 77.823244)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x=".012" y="15" textLength="34.976">(144)</tspan></text><rect x="926.92913" y="374.17323" width="48.188976" height="36.850393" fill="white"/><rect x="926.92913" y="374.17323" width="48.188976" height="36.850393" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(931.92913 383.37442)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="2.054488" y="15" textLength="34.08">AEM</tspan></text><rect x="986.4567" y="374.17323" width="48.188976" height="36.850393" fill="white"/><rect x="986.4567" y="374.17323" width="48.188976" height="36.850393" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(991.4567 383.37442)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="2.054488" y="15" textLength="34.08">AEM</tspan></text><rect x="1045.98425" y="374.17323" width="48.188976" height="36.850393" fill="white"/><rect x="1045.98425" y="374.17323" width="48.188976" height="36.850393" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(1050.98425 383.37442)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="2.054488" y="15" textLength="34.08">AEM</tspan></text><text transform="translate(991.4567 462.15395)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x=".012" y="15" textLength="34.976">(144)</tspan></text><rect x="955.2756" y="419.52756" width="48.188976" height="36.850393" fill="white"/><rect x="955.2756" y="419.52756" width="48.188976" height="36.850393" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(960.2756 428.72875)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="2.054488" y="15" textLength="34.08">AEM</tspan></text><rect x="1017.6378" y="419.52756" width="48.188976" height="36.850393" fill="white"/><rect x="1017.6378" y="419.52756" width="48.188976" height="36.850393" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(1022.6378 428.72875)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="2.054488" y="15" textLength="34.08">AEM</tspan></text><rect x="439.37008" y="382.67716" width="167.24409" height="68.031496" fill="white"/><rect x="439.37008" y="382.67716" width="167.24409" height="68.031496" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(444.37008 389.02091)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="26.158047" y="15" textLength="82.384">Metadata fr</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="108.254047" y="15" textLength="27.28">om </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="24.406047" y="33.447998" textLength="31.408">inter</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="56.102047" y="33.447998" textLength="76.736">nals of API</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="15.374047" y="51.895996" textLength="73.152">(TX Power</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="87.054047" y="51.895996" textLength="42.368">, Scor</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="129.13405" y="51.895996" textLength="12.736">e)</tspan></text><path d="M 606.61417 419.52756 L 694.4882 419.52756 L 694.4882 344.38819" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="25.511811" y="515.9055" width="121.88976" height="59.52756" fill="white"/><rect x="25.511811" y="515.9055" width="121.88976" height="59.52756" stroke="#b1001c" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><text transform="translate(30.51181 527.2213)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="4.9768815" y="15" textLength="106.384">Diagnosis Key </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="19.496882" y="33.447998" textLength="72.896">for upload</tspan></text><line x1="82.204724" y1="365.6693" x2="82.204724" y2="506.0055" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/></g></g></svg>