cwa-documentation/images/solution_architecture/key_flow_receiving.svg

4 lines
19 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="13 11 1399 481" width="1399pt" height="481pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.6.2 <dc:date>2021-11-02 10:05:05 +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><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-9 -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><font-face font-family="Lucida Grande" font-size="12" panose-1="2 11 6 0 4 5 2 2 2 4" units-per-em="1000" underline-position="-97.65625" underline-thickness="48.828125" slope="0" x-height="530.27344" cap-height="722.65625" ascent="966.7969" descent="-210.9375" font-weight="500"><font-face-src><font-face-name name="LucidaGrande"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>Key flow from the receiving perspective (as described in the specification by Apple/Google) (13)</title><rect fill="white" width="1429.34646" height="799"/><g><title>Ebene 1</title><rect x="158.74016" y="22.677165" width="1241.5748" height="374.17323" fill="#dadada"/><rect x="158.74016" y="22.677165" width="1241.5748" height="374.17323" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(163.74016 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="1218.8976" y="274.96063" width="167.24409" height="68.031496" fill="white"/><rect x="1218.8976" y="274.96063" width="167.24409" height="68.031496" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="1201.88976" y="286.29921" width="167.24409" height="68.031496" fill="white"/><rect x="1201.88976" y="286.29921" width="167.24409" height="68.031496" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><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="606.61417" y="110.55118" width="127.559054" height="25.511811" fill="white"/><rect x="606.61417" y="110.55118" width="127.559054" height="25.511811" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(611.61417 114.08309)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="1.7315272" y="15" textLength="114.096">Interval Number</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="1177.8165" 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="1125.3543" y1="215.43307" x2="1125.3543" y2="325.82358" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="1187.7165" y="300.47244" width="167.24409" height="68.031496" fill="white"/><rect x="1187.7165" y="300.47244" width="167.24409" height="68.031496" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(1192.7165 325.26419)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="2.7580468" y="15" textLength="151.728">Associated Metadata</tspan></text><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="56.692913" width="121.88976" height="308.97638" fill="white"/><rect x="25.511811" y="56.692913" width="121.88976" height="308.97638" stroke="#b1001c" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><text transform="translate(30.51181 174.2851)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x=".97688153" y="15" textLength="109.936">Diagnosis Keys</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="12.3208815" y="33.447998" textLength="69.92">(List of lar</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="81.79288" y="33.447998" textLength="22.224">ge </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="19.336882" y="51.895996" textLength="77.664">number of </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="35.056882" y="70.343994" textLength="41.776">TEKs)</tspan></text><line x1="171.51732" y1="76.535433" x2="147.40157" y2="76.535433" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="171.51732" y1="110.55118" x2="147.40157" y2="110.55118" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="171.51732" y1="147.40157" x2="147.40157" y2="147.40157" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="174.35197" y1="280.62992" x2="150.23622" y2="280.62992" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="184.25197" y="59.52756" width="121.88976" height="28.346457" fill="white"/><rect x="184.25197" y="59.52756" width="121.88976" height="28.346457" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(189.25197 64.476788)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="41.128882" y="15" textLength="29.632">TEK</tspan></text><rect x="184.25197" y="96.37795" width="121.88976" height="28.346457" fill="white"/><rect x="184.25197" y="96.37795" width="121.88976" height="28.346457" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(189.25197 101.32718)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="41.128882" y="15" textLength="29.632">TEK</tspan></text><rect x="184.25197" y="133.228346" width="121.88976" height="28.346457" fill="white"/><rect x="184.25197" y="133.228346" width="121.88976" height="28.346457" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(189.25197 138.177575)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="41.128882" y="15" textLength="29.632">TEK</tspan></text><text transform="translate(240.91379 159.441045) rotate(45)" fill="black"><tspan font-family="Lucida Grande" font-size="12" font-weight="500" x=".25976562" y="12" textLength="6.9375"></tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="7.1972656" y="12" textLength="3.3339844"> </tspan><tspan font-family="Lucida Grande" font-size="12" font-weight="500" x="10.53125" y="12" textLength="6.9375"></tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="17.46875" y="12" textLength="3.3339844"> </tspan><tspan font-family="Lucida Grande" font-size="12" font-weight="500" x="20.802734" y="12" textLength="6.9375"></tspan></text><rect x="28.346457" y="428.0315" width="119.05512" height="51.023622" fill="white"/><rect x="28.346457" y="428.0315" width="119.05512" height="51.023622" stroke="#b1001c" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><text transform="translate(33.346457 435.0953)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="19.255559" y="15" textLength="48">Data fr</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="66.96756" y="15" textLength="27.28">om </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="32.607559" y="33.447998" textLength="43.84">server</tspan></text><rect x="204.09449" y="428.0315" width="119.05512" height="51.023622" fill="white"/><rect x="204.09449" y="428.0315" width="119.05512" height="51.023622" stroke="blue" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><text transform="translate(209.09449 435.0953)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="2.9675587" y="15" textLength="107.568">Data collected </tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="32.015559" y="33.447998" textLength="45.024">locally</tspan></text><rect x="742.67716" y="138.89764" width="70.86614" height="31.181102" fill="white"/><rect x="742.67716" y="138.89764" width="70.86614" height="31.181102" stroke="blue" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><text transform="translate(747.67716 145.26419)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="17.697071" y="15" textLength="25.472">RPI</tspan></text><rect x="833.3858" y="138.89764" width="70.86614" height="31.181102" fill="white"/><rect x="833.3858" y="138.89764" width="70.86614" height="31.181102" stroke="blue" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><text transform="translate(838.3858 145.26419)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="17.697071" y="15" textLength="25.472">RPI</tspan></text><rect x="742.67716" y="99.2126" width="70.86614" height="31.181102" fill="white"/><rect x="742.67716" y="99.2126" width="70.86614" height="31.181102" stroke="blue" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><text transform="translate(747.67716 105.57915)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="17.697071" y="15" textLength="25.472">RPI</tspan></text><rect x="833.3858" y="99.2126" width="70.86614" height="31.181102" fill="white"/><rect x="833.3858" y="99.2126" width="70.86614" height="31.181102" stroke="blue" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><text transform="translate(838.3858 105.57915)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="17.697071" y="15" textLength="25.472">RPI</tspan></text><rect x="790.86614" y="119.05512" width="70.86614" height="31.181102" fill="white"/><rect x="790.86614" y="119.05512" width="70.86614" height="31.181102" stroke="blue" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><text transform="translate(795.86614 125.42167)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="17.697071" y="15" textLength="25.472">RPI</tspan></text><rect x="1043.1496" y="147.40157" width="167.24409" height="68.031496" fill="white"/><rect x="1043.1496" y="147.40157" width="167.24409" height="68.031496" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(1048.1496 172.19332)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="26.318047" y="15" textLength="104.608">Matching RPIs</tspan></text><path d="M 907.0866 226.77165 L 960.9449 226.77165 L 960.9449 136.06299 L 907.0866 136.06299" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="960.9449" y1="187.08661" x2="1033.2496" y2="187.08661" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="1043.1496" y="223.937" width="70.86614" height="31.181102" fill="white"/><rect x="1043.1496" y="223.937" width="70.86614" height="31.181102" stroke="blue" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><text transform="translate(1048.1496 230.30356)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="13.393071" y="15" textLength="34.08">AEM</tspan></text><line x1="1077.16535" y1="255.11811" x2="1077.16535" y2="324.82358" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="1187.7165" y="411.02362" width="195.59055" height="68.031496" fill="white"/><rect x="1187.7165" y="411.02362" width="195.59055" height="68.031496" stroke="#21ff06" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><text transform="translate(1192.7165 435.81537)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="16.179275" y="15" textLength="153.232">Summary of contacts</tspan></text><line x1="1275.59054" y1="368.50393" x2="1276.3578" y2="401.12636" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="391.1811" y="428.0315" width="119.05512" height="51.023622" fill="white"/><rect x="391.1811" y="428.0315" width="119.05512" height="51.023622" stroke="#21ff06" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><text transform="translate(396.1811 444.3193)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="29.767559" y="15" textLength="49.52">Output</tspan></text></g></g></svg>