github.com/google/trillian-examples@v0.0.0-20240520080811-0d40d35cef0e/binary_transparency/firmware/docs/design/diagrams/fw_flash_tool.svg (about)

     1  <?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="873px" preserveAspectRatio="none" style="width:955px;height:873px;" version="1.1" viewBox="0 0 955 873" width="955px" zoomAndPan="magnify"><defs><filter height="300%" id="f1qq8748xb06db" 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(#f1qq8748xb06db)" height="27.9688" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="620.5" y="422.7734"/><rect fill="#FFFFFF" filter="url(#f1qq8748xb06db)" height="27.9688" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="620.5" y="732.625"/><rect fill="#FFFFFF" filter="url(#f1qq8748xb06db)" height="27.9688" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="836" y="478.7109"/><rect fill="#FFFFFF" filter="url(#f1qq8748xb06db)" height="173.4375" style="stroke: #000000; stroke-width: 2.0;" width="492.5" x="252" y="173.2344"/><rect fill="#FFDDDD" filter="url(#f1qq8748xb06db)" height="72.9063" style="stroke: #000000; stroke-width: 2.0;" width="251" x="262" y="266.7656"/><rect fill="#DDFFDD" height="14.8047" style="stroke: none; stroke-width: 1.0;" width="251" x="262" y="324.8672"/><rect fill="#FFFFFF" filter="url(#f1qq8748xb06db)" height="256.8828" style="stroke: #000000; stroke-width: 2.0;" width="692" x="252" y="385.6719"/><rect fill="#FFDDDD" filter="url(#f1qq8748xb06db)" height="72.9063" style="stroke: #000000; stroke-width: 2.0;" width="251" x="262" y="562.6484"/><rect fill="#DDFFDD" height="14.8047" style="stroke: none; stroke-width: 1.0;" width="251" x="262" y="620.75"/><rect fill="#FFFFFF" filter="url(#f1qq8748xb06db)" height="87.0391" style="stroke: #000000; stroke-width: 2.0;" width="486" x="262" y="681.5547"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="135" x2="135" y1="86.2969" y2="138.2344"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="135" x2="135" y1="138.2344" y2="166.2344"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="135" x2="135" y1="166.2344" y2="785.5938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="387" x2="387" y1="86.2969" y2="138.2344"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="387" x2="387" y1="138.2344" y2="166.2344"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="387" x2="387" y1="166.2344" y2="785.5938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="625" x2="625" y1="86.2969" y2="138.2344"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="625" x2="625" y1="138.2344" y2="166.2344"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="625" x2="625" y1="166.2344" y2="785.5938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="841" x2="841" y1="86.2969" y2="138.2344"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="841" x2="841" y1="138.2344" y2="166.2344"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="841" x2="841" y1="166.2344" y2="785.5938"/><rect fill="#E9C9DF" filter="url(#f1qq8748xb06db)" height="78.2969" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="68" y="3"/><image height="48" width="48" x="109" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAChUlEQVR4XtWYMUsEMRCF78/Y29tb2Al2ETvRyuIqCy1sRLARtLK4ShAbQbAQG0FsBG211Hb/hY8LhLl5k+xkdw/v4Kv2sjMvkzfJ5kbN+89CMeJH/0svQW+Tp6u905PN8eH6PjjfPro9vv5+/OCRfjoKeji72V3dCisbJpD4effKb3moFvT78oVisAgG1eLXW6kTBDWFwjCT8QUHKVMnyFkbCRaX4xSoEIQl4HweUFeOlsMrCEE5kxN0IgfM4RWEynMmPxwwh1cQOpnT+MGOxTFNvIKqmovxbwFeQZyjCn//L62gg7UdTuPHvxt5BeHg5DR+hjd1n7ZHQ3DAHF5BTY9G8xuoqRK0WEdHpMP2+Hx5z3EK1AnCXKvazb8fJuoERZx1qq1NpIsggGSFUmGPqPKNpKOgCD6csShIj5oBfGZgd+gsJdJL0DxYWkG4bcE3yqfY8Rg5BsuHRfSfG41HEFwi/St/Mg84eSOTBw4Gey5rJUGYGbeSDIqyqV+RVUaAzXlA2fVZQbnTVO11WCP5q7pHm8cfJlm4btuC4AMOFEF7q8EpqzpECxcVvJKrkyEIi8IhJGp8cpKySK7GEZ5YxBDUejKoxMlnajXZQArzbNGCWssTZhPLdVGT5oZQYIDK3rCg1mmF2cTSbfLLsGAgCbtbC2qdViSNVxNICcoGSvDHvxbE75gkG6n/Q1ICT6UDNaYW5KxzEDZSz9P/Cs5Kq420u6BoI2zl6nn0aW2cAQSFqY3UNh2JByo/NxlSEGxk/qGGvnMaKAwrKHcrghqngUKrh5rMcWiSG5l7bsLXEi3Iv/z9MY9YLajJWHVwsKzm95ohqJmaCS0dv1nngSmlJOgfWThBf1ju0owZLn8KAAAAAElFTkSuQmCC" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="116" x="75" y="70.9951">Firmware Vendor</text><rect fill="#E9C9DF" filter="url(#f1qq8748xb06db)" height="78.2969" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="68" y="784.5938"/><image height="48" width="48" x="109" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAChUlEQVR4XtWYMUsEMRCF78/Y29tb2Al2ETvRyuIqCy1sRLARtLK4ShAbQbAQG0FsBG211Hb/hY8LhLl5k+xkdw/v4Kv2sjMvkzfJ5kbN+89CMeJH/0svQW+Tp6u905PN8eH6PjjfPro9vv5+/OCRfjoKeji72V3dCisbJpD4effKb3moFvT78oVisAgG1eLXW6kTBDWFwjCT8QUHKVMnyFkbCRaX4xSoEIQl4HweUFeOlsMrCEE5kxN0IgfM4RWEynMmPxwwh1cQOpnT+MGOxTFNvIKqmovxbwFeQZyjCn//L62gg7UdTuPHvxt5BeHg5DR+hjd1n7ZHQ3DAHF5BTY9G8xuoqRK0WEdHpMP2+Hx5z3EK1AnCXKvazb8fJuoERZx1qq1NpIsggGSFUmGPqPKNpKOgCD6csShIj5oBfGZgd+gsJdJL0DxYWkG4bcE3yqfY8Rg5BsuHRfSfG41HEFwi/St/Mg84eSOTBw4Gey5rJUGYGbeSDIqyqV+RVUaAzXlA2fVZQbnTVO11WCP5q7pHm8cfJlm4btuC4AMOFEF7q8EpqzpECxcVvJKrkyEIi8IhJGp8cpKySK7GEZ5YxBDUejKoxMlnajXZQArzbNGCWssTZhPLdVGT5oZQYIDK3rCg1mmF2cTSbfLLsGAgCbtbC2qdViSNVxNICcoGSvDHvxbE75gkG6n/Q1ICT6UDNaYW5KxzEDZSz9P/Cs5Kq420u6BoI2zl6nn0aW2cAQSFqY3UNh2JByo/NxlSEGxk/qGGvnMaKAwrKHcrghqngUKrh5rMcWiSG5l7bsLXEi3Iv/z9MY9YLajJWHVwsKzm95ohqJmaCS0dv1nngSmlJOgfWThBf1ju0owZLn8KAAAAAElFTkSuQmCC" y="791.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="116" x="75" y="852.5889">Firmware Vendor</text><rect fill="#E6DDEE" filter="url(#f1qq8748xb06db)" height="78.2969" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="332" y="3"/><image height="48" width="48" x="361.5" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAC40lEQVR4Xu2XMUsdQRDH/XDprVOnucbCKthaiQhCChsJBEwlaYQELAQrhYBWgoUQweZIlc+QH47OjTOze+s9fVoc/Hm8vZvd/e3M7OzeSv/n37vSSnz0tpqBxjQDjWlJQLdXf08OL7R5/fvONq2WAXSwc9x92EL8AQVtfNyjye/l6Y0zfgYQnVnWz2/n/J79umLR0SaKXkKTCiZn3woka3ICK1pGpX1FP/ZOnXETEE6OY6H9zaNo3NhX9OXzobNfCCgO54QLsbH2PCHo1mc0bSY1ATFKpEHba9+jsQr/lYzJPzeUMnkg5pa9IE3sGCiiqNZXd20esFxtuo68shO5xNIq8ATIegIshnbTl7T56asNhDjDATGgnYuV2Le6PwYg3OiMFhGLwbtEzXpCZmUim1hwW9YBqB6aCZK0KOWfqFiH6t2mSbOYgMa3IpdYA1C7e1hTe2TloIjPVbBOBILDnY6jXbp7IDJG04jpyS27V1ymD0B0q0yAS1w3kas0rosNBxCMr8cfr8jreLL2bttjkYajdFXow+4VxXW3yxfG9CCM3VSpkyoLGJUHiqOX4iXC+bFL3Dvt8kAxBHWgtJq/pIfSkKXZJ0prTOM9KdUAxCjp6F1WLUSV2yB57a6UdlW80vPb6QFIr70lsUvjBKk7VcRauhBByQTNLVm5LQQeqOQbNwF7iqSBvsW+u49dxYtd5vsHoDQ3F5TuhrhRVLFiDTlU6TZNclOr32rirXwAItKxw2RJLKCxlVPOMpevxNRm0pNtb01ZVj1nnWxWSTq7iW26xMTSTefrELuJ4TS06cngpB+gUji0+QJ36lSw2xunFeiVorzonbqi0iWr/l0GKw7TifmjcbHRxFW2IL0ikMidvhaxyw7KJqD4XSeKVSRVZXPEe0ETUP/4UYxvWSLifyNNybsi/RBQtQJNFkAaI1zFStzXvrN/daD+sTyCpQc+3gUuxqtfDtCzNAONaQYa0ww0pv/B0r0a+5z+GgAAAABJRU5ErkJggg==" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="93" x="339" y="70.9951">Update Client</text><rect fill="#E6DDEE" filter="url(#f1qq8748xb06db)" height="78.2969" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="332" y="784.5938"/><image height="48" width="48" x="361.5" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAC40lEQVR4Xu2XMUsdQRDH/XDprVOnucbCKthaiQhCChsJBEwlaYQELAQrhYBWgoUQweZIlc+QH47OjTOze+s9fVoc/Hm8vZvd/e3M7OzeSv/n37vSSnz0tpqBxjQDjWlJQLdXf08OL7R5/fvONq2WAXSwc9x92EL8AQVtfNyjye/l6Y0zfgYQnVnWz2/n/J79umLR0SaKXkKTCiZn3woka3ICK1pGpX1FP/ZOnXETEE6OY6H9zaNo3NhX9OXzobNfCCgO54QLsbH2PCHo1mc0bSY1ATFKpEHba9+jsQr/lYzJPzeUMnkg5pa9IE3sGCiiqNZXd20esFxtuo68shO5xNIq8ATIegIshnbTl7T56asNhDjDATGgnYuV2Le6PwYg3OiMFhGLwbtEzXpCZmUim1hwW9YBqB6aCZK0KOWfqFiH6t2mSbOYgMa3IpdYA1C7e1hTe2TloIjPVbBOBILDnY6jXbp7IDJG04jpyS27V1ymD0B0q0yAS1w3kas0rosNBxCMr8cfr8jreLL2bttjkYajdFXow+4VxXW3yxfG9CCM3VSpkyoLGJUHiqOX4iXC+bFL3Dvt8kAxBHWgtJq/pIfSkKXZJ0prTOM9KdUAxCjp6F1WLUSV2yB57a6UdlW80vPb6QFIr70lsUvjBKk7VcRauhBByQTNLVm5LQQeqOQbNwF7iqSBvsW+u49dxYtd5vsHoDQ3F5TuhrhRVLFiDTlU6TZNclOr32rirXwAItKxw2RJLKCxlVPOMpevxNRm0pNtb01ZVj1nnWxWSTq7iW26xMTSTefrELuJ4TS06cngpB+gUji0+QJ36lSw2xunFeiVorzonbqi0iWr/l0GKw7TifmjcbHRxFW2IL0ikMidvhaxyw7KJqD4XSeKVSRVZXPEe0ETUP/4UYxvWSLifyNNybsi/RBQtQJNFkAaI1zFStzXvrN/daD+sTyCpQc+3gUuxqtfDtCzNAONaQYa0ww0pv/B0r0a+5z+GgAAAABJRU5ErkJggg==" y="791.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="93" x="339" y="852.5889">Update Client</text><rect fill="#E6DDEE" filter="url(#f1qq8748xb06db)" height="78.2969" style="stroke: #A80036; stroke-width: 1.5;" width="101" x="573" y="3"/><image height="48" width="48" x="599.5" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAABJklEQVR4Xu3YMQtBURjGcR/ObjZb3sVgktUkKWWwSCkmWRRlUHdiYrqbckfdyWfw5pR6PRzncO+5hrf+C+U8v+vehdLlfP2rSvhWsb0FrSb7dm3cqg69Wgwj8/FBc84lcYon23sNOkYnKne+aNrbmBP4YvglE31Nr0H89eCYS08g8jflDiJPUwgQ+ZgCgcjZFA5EbqagIHIwhQbRJ1MBIK5bn+GoKS8QTzYqfUs4asoL9HUZg/hO4WleZQyi+/OxnR8+hqN5gRzDUQXJcFRBMhxVkAxHFSTDUQXJcFRBMhxVkAxHFSTDUQXJcFRBMhxVkAxHFSTDUQXJcNQG4t/eeES24agNlMRpo9LHU7Jq1F7iqA1k2q1j/Nfi947RCbce2UCF9HegG7W8vqjFMgw5AAAAAElFTkSuQmCC" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="87" x="580" y="70.9951">Device Flash</text><rect fill="#E6DDEE" filter="url(#f1qq8748xb06db)" height="78.2969" style="stroke: #A80036; stroke-width: 1.5;" width="101" x="573" y="784.5938"/><image height="48" width="48" x="599.5" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAABJklEQVR4Xu3YMQtBURjGcR/ObjZb3sVgktUkKWWwSCkmWRRlUHdiYrqbckfdyWfw5pR6PRzncO+5hrf+C+U8v+vehdLlfP2rSvhWsb0FrSb7dm3cqg69Wgwj8/FBc84lcYon23sNOkYnKne+aNrbmBP4YvglE31Nr0H89eCYS08g8jflDiJPUwgQ+ZgCgcjZFA5EbqagIHIwhQbRJ1MBIK5bn+GoKS8QTzYqfUs4asoL9HUZg/hO4WleZQyi+/OxnR8+hqN5gRzDUQXJcFRBMhxVkAxHFSTDUQXJcFRBMhxVkAxHFSTDUQXJcFRBMhxVkAxHFSTDUQXJcNQG4t/eeES24agNlMRpo9LHU7Jq1F7iqA1k2q1j/Nfi947RCbce2UCF9HegG7W8vqjFMgw5AAAAAElFTkSuQmCC" y="791.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="87" x="580" y="852.5889">Device Flash</text><rect fill="#899BDC" filter="url(#f1qq8748xb06db)" height="78.2969" style="stroke: #A80036; stroke-width: 1.5;" width="62" x="808" y="3"/><image height="48" width="48" x="815" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAABpUlEQVR4Xu2XPUsDQRCG8/dtrKy0MIUIIghikUYLESQgaJNGkXAQRJAgiAgigr6wxzruO7tz2Sg5dOApwmbm9tmPm90brG3d9ooBN60WF7JwIYtKoc292eHxPMf+6IFTOlIjNDy4a2YfZS4nr5zYhRqhs4tnNmAwi5xrUiM0vnrh7hkXsnAhi38s1PG139hpONekRghD5+4TMIuc2IUaIbC+Pd09ug/cTN+DxMn5U2ipW6xApZBkcv0WhJY5wiIuZKELyS1iwnvIBPcF7jQrhAR+a36c3P1EEYoj/m3UJVaEYgLMsD9MquOxxNx7SahjqY19qCNmYqF3oQwLC8EjwH+poEbUxeMH/6sIrZYvodHpI45oBu3qULBAHAywEOpsoRhisTgejfIwboXwlLh1GOQkTy8XT+yqJB6KHCaJY26FZHlQSTooD6ChFwLTyTESjHApIfPSmAjh+5pjJC7kQil/Tmhc/PbjuoJqyWGSJL5ctxrxVdkKYUC5ScIth2+cqGO48nFwQD1lC5MqT9lWKHbD8KPLKRyzUPw3oT7gQhYuZNE7oU/XLtzLXsMq9gAAAABJRU5ErkJggg==" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="46" x="816" y="70.9951">FT Log</text><rect fill="#899BDC" filter="url(#f1qq8748xb06db)" height="78.2969" style="stroke: #A80036; stroke-width: 1.5;" width="62" x="808" y="784.5938"/><image height="48" width="48" x="815" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAABpUlEQVR4Xu2XPUsDQRCG8/dtrKy0MIUIIghikUYLESQgaJNGkXAQRJAgiAgigr6wxzruO7tz2Sg5dOApwmbm9tmPm90brG3d9ooBN60WF7JwIYtKoc292eHxPMf+6IFTOlIjNDy4a2YfZS4nr5zYhRqhs4tnNmAwi5xrUiM0vnrh7hkXsnAhi38s1PG139hpONekRghD5+4TMIuc2IUaIbC+Pd09ug/cTN+DxMn5U2ipW6xApZBkcv0WhJY5wiIuZKELyS1iwnvIBPcF7jQrhAR+a36c3P1EEYoj/m3UJVaEYgLMsD9MquOxxNx7SahjqY19qCNmYqF3oQwLC8EjwH+poEbUxeMH/6sIrZYvodHpI45oBu3qULBAHAywEOpsoRhisTgejfIwboXwlLh1GOQkTy8XT+yqJB6KHCaJY26FZHlQSTooD6ChFwLTyTESjHApIfPSmAjh+5pjJC7kQil/Tmhc/PbjuoJqyWGSJL5ctxrxVdkKYUC5ScIth2+cqGO48nFwQD1lC5MqT9lWKHbD8KPLKRyzUPw3oT7gQhYuZNE7oU/XLtzLXsMq9gAAAABJRU5ErkJggg==" y="791.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="46" x="816" y="852.5889">FT Log</text><rect fill="#FFFFFF" filter="url(#f1qq8748xb06db)" height="27.9688" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="620.5" y="422.7734"/><rect fill="#FFFFFF" filter="url(#f1qq8748xb06db)" height="27.9688" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="620.5" y="732.625"/><rect fill="#FFFFFF" filter="url(#f1qq8748xb06db)" height="27.9688" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="836" y="478.7109"/><ellipse cx="134.5" cy="129.4844" fill="none" rx="4" ry="4" style="stroke: #000000; stroke-width: 1.5;"/><polygon fill="#000000" points="375.5,126.2344,385.5,130.2344,375.5,134.2344,379.5,130.2344" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 2.5; stroke-dasharray: 2.0,2.0;" x1="139" x2="381.5" y1="130.2344" y2="130.2344"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="105" x="142" y="111.4355">Firmware update</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="142" y="125.4043">available</text><path d="M252,173.2344 L396,173.2344 L396,180.2344 L386,190.2344 L252,190.2344 L252,173.2344 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="173.4375" style="stroke: #000000; stroke-width: 2.0;" width="492.5" x="252" y="173.2344"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="99" x="267" y="186.3013">Verify bundle</text><line style="stroke: #000000; stroke-width: 2.5;" x1="387.5" x2="429.5" y1="224.5508" y2="224.5508"/><line style="stroke: #000000; stroke-width: 2.5;" x1="429.5" x2="429.5" y1="224.5508" y2="237.5508"/><line style="stroke: #000000; stroke-width: 2.5;" x1="388.5" x2="429.5" y1="237.5508" y2="237.5508"/><polygon fill="#000000" points="398.5,233.5508,388.5,237.5508,398.5,241.5508,394.5,237.5508" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="81" x="394.5" y="219.7207">Verify bundle</text><path d="M487,195.3672 L487,250.3672 L725,250.3672 L725,205.3672 L715,195.3672 L487,195.3672 " fill="#FBFB77" filter="url(#f1qq8748xb06db)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M715,195.3672 L715,205.3672 L725,205.3672 L715,195.3672 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="12" x="544.5" y="212.4341">1.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="107" x="560.5" y="212.4341">Verify signatures</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="12" x="502" y="227.5669">2.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="518" y="227.5669">Verify manifest inclusion proof</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="12" x="510" y="242.6997">3.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="176" x="526" y="242.6997">Verify firmware image Hash</text><path d="M262,266.7656 L326,266.7656 L326,273.7656 L316,283.7656 L262,283.7656 L262,266.7656 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="72.9063" style="stroke: #000000; stroke-width: 2.0;" width="251" x="262" y="266.7656"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="277" y="279.8325">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="102" x="341" y="278.9761">[Invalid Bundle]</text><line style="stroke: #000000; stroke-width: 2.5;" x1="387.5" x2="429.5" y1="303.8672" y2="303.8672"/><line style="stroke: #000000; stroke-width: 2.5;" x1="429.5" x2="429.5" y1="303.8672" y2="316.8672"/><line style="stroke: #000000; stroke-width: 2.5;" x1="388.5" x2="429.5" y1="316.8672" y2="316.8672"/><polygon fill="#000000" points="398.5,312.8672,388.5,316.8672,398.5,320.8672,394.5,316.8672" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="83" x="394.5" y="299.0371">Abort update</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="262" x2="513" y1="325.8672" y2="325.8672"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="29" x="267" y="336.0776">[OK]</text><path d="M252,385.6719 L431,385.6719 L431,392.6719 L421,402.6719 L252,402.6719 L252,385.6719 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="256.8828" style="stroke: #000000; stroke-width: 2.0;" width="692" x="252" y="385.6719"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="134" x="267" y="398.7388">Verify consistency</text><polygon fill="#000000" points="608.5,418.7734,618.5,422.7734,608.5,426.7734,612.5,422.7734" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 2.5;" x1="387.5" x2="614.5" y1="422.7734" y2="422.7734"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="120" x="394.5" y="417.9434">Fetch previous STH</text><polygon fill="#000000" points="398.5,446.7422,388.5,450.7422,398.5,454.7422,394.5,450.7422" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 2.5; stroke-dasharray: 2.0,2.0;" x1="392.5" x2="624.5" y1="450.7422" y2="450.7422"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="404.5" y="445.9121">STH_old</text><polygon fill="#000000" points="824,474.7109,834,478.7109,824,482.7109,828,478.7109" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 2.5;" x1="387.5" x2="830" y1="478.7109" y2="478.7109"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="130" x="394.5" y="473.8809">GetConsistencyProof</text><polygon fill="#000000" points="398.5,502.6797,388.5,506.6797,398.5,510.6797,394.5,506.6797" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 2.5; stroke-dasharray: 2.0,2.0;" x1="392.5" x2="840" y1="506.6797" y2="506.6797"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="404.5" y="501.8496">consistency proof</text><line style="stroke: #000000; stroke-width: 2.5;" x1="387.5" x2="429.5" y1="534.6484" y2="534.6484"/><line style="stroke: #000000; stroke-width: 2.5;" x1="429.5" x2="429.5" y1="534.6484" y2="547.6484"/><line style="stroke: #000000; stroke-width: 2.5;" x1="388.5" x2="429.5" y1="547.6484" y2="547.6484"/><polygon fill="#000000" points="398.5,543.6484,388.5,547.6484,398.5,551.6484,394.5,547.6484" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="394.5" y="529.8184">Verify consistency</text><path d="M262,562.6484 L326,562.6484 L326,569.6484 L316,579.6484 L262,579.6484 L262,562.6484 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="72.9063" style="stroke: #000000; stroke-width: 2.0;" width="251" x="262" y="562.6484"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="277" y="575.7153">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="133" x="341" y="574.8589">[Invalid consistency]</text><line style="stroke: #000000; stroke-width: 2.5;" x1="387.5" x2="429.5" y1="599.75" y2="599.75"/><line style="stroke: #000000; stroke-width: 2.5;" x1="429.5" x2="429.5" y1="599.75" y2="612.75"/><line style="stroke: #000000; stroke-width: 2.5;" x1="388.5" x2="429.5" y1="612.75" y2="612.75"/><polygon fill="#000000" points="398.5,608.75,388.5,612.75,398.5,616.75,394.5,612.75" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="83" x="394.5" y="594.9199">Abort update</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="262" x2="513" y1="621.75" y2="621.75"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="29" x="267" y="631.9604">[OK]</text><path d="M262,681.5547 L402,681.5547 L402,688.5547 L392,698.5547 L262,698.5547 L262,681.5547 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="87.0391" style="stroke: #000000; stroke-width: 2.0;" width="486" x="262" y="681.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="95" x="277" y="694.6216">Update flash</text><polygon fill="#000000" points="608.5,728.625,618.5,732.625,608.5,736.625,612.5,732.625" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 2.5;" x1="387.5" x2="614.5" y1="732.625" y2="732.625"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="394.5" y="713.8262">Write Firmware + Proof</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="43" x="394.5" y="727.7949">Bundle</text><polygon fill="#000000" points="398.5,756.5938,388.5,760.5938,398.5,764.5938,394.5,760.5938" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 2.5; stroke-dasharray: 2.0,2.0;" x1="392.5" x2="624.5" y1="760.5938" y2="760.5938"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="52" x="404.5" y="755.7637">Write OK</text><!--MD5=[9282647fb35aafb225f0b3175631dba9]
     2  @startuml fw_flash_tool
     3  
     4  
     5  
     6  hide stereotype
     7  sprite $cogs [48x48/16] {
     8  000000000000000000000000000000000000000000000000
     9  000000000000000000000000000000000000000000000000
    10  000000000000000000000000000000000000000000000000
    11  000000000000000000000000000000000000000000000000
    12  000000000000000000000000000000000000000000000000
    13  000000000000000000000000000000000000000000000000
    14  000000000000000000000000000000000015000250000000
    15  0000000000000000000000000000000008FF822DFD300000
    16  000000000000003565410000000000003FFFFFFFFFD00000
    17  0000000000000DFFFFFF4000000000000DFFFFFFFF700000
    18  0000000000002FFFFFFF9000000000002FFFFFFFFFA00000
    19  0000000000002FFFFFFFA00000000004AFFFA46DFFF63000
    20  0000000000004FFFFFFFB0000000009FFFFB0001FFFFF300
    21  00000482003BFFFFFFFFFE70006700BFFFF60000DFFFF500
    22  00004FFF87FFFFFFFFFFFFFC6DFFB0BFFFF80000EFFFF400
    23  0001EFFFFFFFFFFFFFFFFFFFFFFFF739DFFF401AFFFB8000
    24  000BFFFFFFFFFFFFFFFFFFFFFFFFFF304FFFFFFFFFD00000
    25  004FFFFFFFFFFFFFFFFFFFFFFFFFFFB00CFFFFFFFF600000
    26  00BFFFFFFFFFFFFFDEFFFFFFFFFFFFF22FFFFFFFFFC00000
    27  00BFFFFFFFFFFD50002BFFFFFFFFFFF21DFFC77FFF800000
    28  001BFFFFFFFFE00000009FFFFFFFFE60007B1006A3000000
    29  00003EFFFFFF500000000EFFFFFF80000000000000000000
    30  00000DFFFFFF0000000009FFFFFF50000000000000000000
    31  00000FFFFFFE0000000006FFFFFF60000000000000000000
    32  00000EFFFFFE0000000007FFFFFF50000000000000000000
    33  00000DFFFFFF300000000CFFFFFF40000000000000000000
    34  0004CFFFFFFFC00000003FFFFFFFF8100003000120000000
    35  008FFFFFFFFFFA100003DFFFFFFFFFE105EF600CFB100000
    36  00CFFFFFFFFFFFE978CFFFFFFFFFFFF43FFFFFFFFFC00000
    37  007FFFFFFFFFFFFFFFFFFFFFFFFFFFE00EFFFFFFFF800000
    38  000EFFFFFFFFFFFFFFFFFFFFFFFFFF701EFFFFFFFF900000
    39  0005FFFFFFFFFFFFFFFFFFFFFFFFFC019FFFC78FFFF31000
    40  00008FFFEDFFFFFFFFFFFFFFCFFFE18FFFFC0003FFFFF200
    41  00000AE8009FFFFFFFFFFFD304CD30BFFFF60000DFFFF500
    42  000000000002AFFFFFFFE500000000BFFFF80000EFFFF400
    43  0000000000002FFFFFFFA0000000005CEFFE2008FFFDB100
    44  0000000000002FFFFFFFA000000000006FFFFCEFFFE00000
    45  0000000000001FFFFFFF8000000000000DFFFFFFFF600000
    46  00000000000004ABCCA80000000000002FFFFFFFFFB00000
    47  000000000000000000000000000000002EFFDAAFFFA00000
    48  00000000000000000000000000000000019E3008D6000000
    49  000000000000000000000000000000000000000000000000
    50  000000000000000000000000000000000000000000000000
    51  000000000000000000000000000000000000000000000000
    52  000000000000000000000000000000000000000000000000
    53  000000000000000000000000000000000000000000000000
    54  000000000000000000000000000000000000000000000000
    55  000000000000000000000000000000000000000000000000
    56  }
    57  
    58  
    59  skinparam folderBackgroundColor<<FA5 COGS>> White
    60  sprite $eye [48x48/16] {
    61  000000000000000000000000000000000000000000000000
    62  000000000000000000000000000000000000000000000000
    63  000000000000000000000000000000000000000000000000
    64  000000000000000000000000000000000000000000000000
    65  000000000000000000000000000000000000000000000000
    66  000000000000000000000000000000000000000000000000
    67  000000000000000000000000000000000000000000000000
    68  000000000000000000000000000000000000000000000000
    69  000000000000000000000000000000000000000000000000
    70  000000000000000000000000000000000000000000000000
    71  00000000000000000369CDEFFEDB84100000000000000000
    72  0000000000000038EFFFFFFFFFFFFFFB6000000000000000
    73  0000000000003BFFFFFFFFFFFFFFFFFFFF81000000000000
    74  00000000002BFFFFFFFFFDB9ACFFFFFFFFFF700000000000
    75  0000000007FFFFFFFFF820000005CFFFFFFFFC2000000000
    76  00000000BFFFFFFFFC100000000006FFFFFFFFF400000000
    77  0000001CFFFFFFFFA0003ADFFC71003EFFFFFFFF60000000
    78  000001DFFFFFFFFC000004EFFFFF5004FFFFFFFFF6000000
    79  00000CFFFFFFFFF10000003FFFFFF7008FFFFFFFFF500000
    80  0000AFFFFFFFFF800000000DFFFFFF301FFFFFFFFFF30000
    81  0005FFFFFFFFFF203000000CFFFFFFC00AFFFFFFFFFD0000
    82  001EFFFFFFFFFD00A400001FFFFFFFF205FFFFFFFFFF8000
    83  009FFFFFFFFFFB00ED2001CFFFFFFFF602FFFFFFFFFFF100
    84  00CFFFFFFFFFF900FFFCCFFFFFFFFFF801FFFFFFFFFFF500
    85  00BFFFFFFFFFFA00FFFFFFFFFFFFFFF701FFFFFFFFFFF400
    86  005FFFFFFFFFFB00DFFFFFFFFFFFFFF503FFFFFFFFFFE000
    87  000BFFFFFFFFFF008FFFFFFFFFFFFFF107FFFFFFFFFF4000
    88  0001FFFFFFFFFF401FFFFFFFFFFFFF900CFFFFFFFFF90000
    89  00005FFFFFFFFFC006FFFFFFFFFFFD104FFFFFFFFFC00000
    90  000006FFFFFFFFF5008FFFFFFFFFD200CFFFFFFFFD100000
    91  0000008FFFFFFFFF2004DFFFFFF91009FFFFFFFFE2000000
    92  00000006FFFFFFFFE30003788510009FFFFFFFFC10000000
    93  000000004EFFFFFFFF80000000003CFFFFFFFFA000000000
    94  0000000001AFFFFFFFFE9420137CFFFFFFFFE50000000000
    95  000000000004DFFFFFFFFFFFFFFFFFFFFFF9100000000000
    96  00000000000005CFFFFFFFFFFFFFFFFFE810000000000000
    97  00000000000000017CFFFFFFFFFFFEA40000000000000000
    98  000000000000000000025689876410000000000000000000
    99  000000000000000000000000000000000000000000000000
   100  000000000000000000000000000000000000000000000000
   101  000000000000000000000000000000000000000000000000
   102  000000000000000000000000000000000000000000000000
   103  000000000000000000000000000000000000000000000000
   104  000000000000000000000000000000000000000000000000
   105  000000000000000000000000000000000000000000000000
   106  000000000000000000000000000000000000000000000000
   107  000000000000000000000000000000000000000000000000
   108  000000000000000000000000000000000000000000000000
   109  }
   110  
   111  
   112  skinparam folderBackgroundColor<<FA5 EYE>> White
   113  sprite $file [48x48/16] {
   114  000000000000000000000000000000000000000000000000
   115  000000000000000000000000000000000000000000000000
   116  000000006CDDDDDDDDDDDDDDDD700AA10000000000000000
   117  00000003FFFFFFFFFFFFFFFFFF800CFD1000000000000000
   118  00000006FFFFFFFFFFFFFFFFFF800CFFD100000000000000
   119  00000006FFFFFFFFFFFFFFFFFF800CFFFD10000000000000
   120  00000006FFFFFFFFFFFFFFFFFF800CFFFFD1000000000000
   121  00000006FFFFFFFFFFFFFFFFFF800CFFFFFD100000000000
   122  00000006FFFFFFFFFFFFFFFFFF800CFFFFFFD10000000000
   123  00000006FFFFFFFFFFFFFFFFFF800CFFFFFFFD1000000000
   124  00000006FFFFFFFFFFFFFFFFFF800CFFFFFFFFD100000000
   125  00000006FFFFFFFFFFFFFFFFFF800CFFFFFFFFFB00000000
   126  00000006FFFFFFFFFFFFFFFFFF800BEEEEEEEEEE00000000
   127  00000006FFFFFFFFFFFFFFFFFF8000000000000000000000
   128  00000006FFFFFFFFFFFFFFFFFFC000000000000000000000
   129  00000006FFFFFFFFFFFFFFFFFFFB55555555555500000000
   130  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   131  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   132  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   133  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   134  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   135  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   136  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   137  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   138  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   139  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   140  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   141  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   142  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   143  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   144  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   145  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   146  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   147  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   148  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   149  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   150  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   151  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   152  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   153  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   154  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   155  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   156  00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   157  00000005FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
   158  00000001EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF900000000
   159  000000000455555555555555555555555555553000000000
   160  000000000000000000000000000000000000000000000000
   161  000000000000000000000000000000000000000000000000
   162  }
   163  
   164  
   165  skinparam folderBackgroundColor<<FA5 FILE>> White
   166  sprite $mobile_alt [48x48/16] {
   167  000000000000000000000000000000000000000000000000
   168  000000000000000000000000000000000000000000000000
   169  0000000000005BDDDDDDDDDDDDDDDDDDDDA2000000000000
   170  000000000009FFFFFFFFFFFFFFFFFFFFFFFF400000000000
   171  00000000003FFFFFFFFFFFFFFFFFFFFFFFFFE00000000000
   172  00000000009FFFFFFFFFFFFFFFFFFFFFFFFFF40000000000
   173  0000000000AFFFB333333333333333334EFFF50000000000
   174  0000000000AFFF6000000000000000000BFFF50000000000
   175  0000000000AFFF6000000000000000000BFFF50000000000
   176  0000000000AFFF6000000000000000000BFFF50000000000
   177  0000000000AFFF6000000000000000000BFFF50000000000
   178  0000000000AFFF6000000000000000000BFFF50000000000
   179  0000000000AFFF6000000000000000000BFFF50000000000
   180  0000000000AFFF6000000000000000000BFFF50000000000
   181  0000000000AFFF6000000000000000000BFFF50000000000
   182  0000000000AFFF6000000000000000000BFFF50000000000
   183  0000000000AFFF6000000000000000000BFFF50000000000
   184  0000000000AFFF6000000000000000000BFFF50000000000
   185  0000000000AFFF6000000000000000000BFFF50000000000
   186  0000000000AFFF6000000000000000000BFFF50000000000
   187  0000000000AFFF6000000000000000000BFFF50000000000
   188  0000000000AFFF6000000000000000000BFFF50000000000
   189  0000000000AFFF6000000000000000000BFFF50000000000
   190  0000000000AFFF6000000000000000000BFFF50000000000
   191  0000000000AFFF6000000000000000000BFFF50000000000
   192  0000000000AFFF6000000000000000000BFFF50000000000
   193  0000000000AFFF6000000000000000000BFFF50000000000
   194  0000000000AFFF6000000000000000000BFFF50000000000
   195  0000000000AFFF6000000000000000000BFFF50000000000
   196  0000000000AFFF6000000000000000000BFFF50000000000
   197  0000000000AFFF6000000000000000000BFFF50000000000
   198  0000000000AFFF6000000000000000000BFFF50000000000
   199  0000000000AFFF6000000000000000000BFFF50000000000
   200  0000000000AFFF6000000000000000000BFFF50000000000
   201  0000000000AFFFD777777777777777778FFFF50000000000
   202  0000000000AFFFFFFFFFFFFFFFFFFFFFFFFFF50000000000
   203  0000000000AFFFFFFFFFFFFFFFFFFFFFFFFFF50000000000
   204  0000000000AFFFFFFFFFFFA56DFFFFFFFFFFF50000000000
   205  0000000000AFFFFFFFFFFA0000EFFFFFFFFFF50000000000
   206  0000000000AFFFFFFFFFF300008FFFFFFFFFF50000000000
   207  0000000000AFFFFFFFFFF400009FFFFFFFFFF50000000000
   208  0000000000AFFFFFFFFFFB0001EFFFFFFFFFF50000000000
   209  00000000007FFFFFFFFFFFC67EFFFFFFFFFFF20000000000
   210  00000000001EFFFFFFFFFFFFFFFFFFFFFFFFA00000000000
   211  000000000002DFFFFFFFFFFFFFFFFFFFFFFA000000000000
   212  000000000000035555555555555555555520000000000000
   213  000000000000000000000000000000000000000000000000
   214  000000000000000000000000000000000000000000000000
   215  }
   216  
   217  
   218  skinparam folderBackgroundColor<<FA5 MOBILE_ALT>> White
   219  sprite $server [48x48/16] {
   220  000000000000000000000000000000000000000000000000
   221  000000000000000000000000000000000000000000000000
   222  000000000000000000000000000000000000000000000000
   223  000000000000000000000000000000000000000000000000
   224  000012222222222222222222222222222222222222200000
   225  000BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5000
   226  009FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF100
   227  00CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF500
   228  00DFFFFFFFFFFFFFFFFFFFFFFFFFFFFE64BFF948FFFFF500
   229  00DFFFFFFFFFFFFFFFFFFFFFFFFFFFF6000EC0009FFFF500
   230  00DFFFFFFFFFFFFFFFFFFFFFFFFFFFF3000DA0006FFFF500
   231  00DFFFFFFFFFFFFFFFFFFFFFFFFFFFFA004FF200CFFFF500
   232  00DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECFFFFCEFFFFF500
   233  00BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF300
   234  004FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000
   235  00039AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA70000
   236  000000000000000000000000000000000000000000000000
   237  000000000000000000000000000000000000000000000000
   238  00039AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA70000
   239  004FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000
   240  00BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF300
   241  00DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECFFFFCEFFFFF500
   242  00DFFFFFFFFFFFFFFFFFFFFFFFFFFFFA004FF201DFFFF500
   243  00DFFFFFFFFFFFFFFFFFFFFFFFFFFFF3000DA0006FFFF500
   244  00DFFFFFFFFFFFFFFFFFFFFFFFFFFFF6000EC0009FFFF500
   245  00DFFFFFFFFFFFFFFFFFFFFFFFFFFFFE64BFF947FFFFF500
   246  00CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF500
   247  009FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF100
   248  001BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5000
   249  000012222222222222222222222222222222222222200000
   250  000000000000000000000000000000000000000000000000
   251  000012222222222222222222222222222222222222200000
   252  000BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5000
   253  009FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF100
   254  00CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF500
   255  00DFFFFFFFFFFFFFFFFFFFFFFFFFFFFE64BFF948FFFFF500
   256  00DFFFFFFFFFFFFFFFFFFFFFFFFFFFF6000EC0009FFFF500
   257  00DFFFFFFFFFFFFFFFFFFFFFFFFFFFF3000DA0006FFFF500
   258  00DFFFFFFFFFFFFFFFFFFFFFFFFFFFFA004FF200CFFFF500
   259  00DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECFFFFCEFFFFF500
   260  00BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF300
   261  004FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000
   262  00039AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA70000
   263  000000000000000000000000000000000000000000000000
   264  000000000000000000000000000000000000000000000000
   265  000000000000000000000000000000000000000000000000
   266  000000000000000000000000000000000000000000000000
   267  000000000000000000000000000000000000000000000000
   268  }
   269  
   270  
   271  skinparam folderBackgroundColor<<FA5 SERVER>> White
   272  sprite $sitemap [48x48/16] {
   273  000000000000000000000000000000000000000000000000
   274  000000000000000000000000000000000000000000000000
   275  000000000000000000000000000000000000000000000000
   276  000000000000000000000000000000000000000000000000
   277  000000000000000000000000000000000000000000000000
   278  000000000000000000000000000000000000000000000000
   279  000000000000000000377777777760000000000000000000
   280  000000000000000004FFFFFFFFFFFC000000000000000000
   281  00000000000000000AFFFFFFFFFFFF300000000000000000
   282  00000000000000000BFFFFFFFFFFFF300000000000000000
   283  00000000000000000BFFFFFFFFFFFF300000000000000000
   284  00000000000000000BFFFFFFFFFFFF300000000000000000
   285  00000000000000000BFFFFFFFFFFFF300000000000000000
   286  00000000000000000BFFFFFFFFFFFF300000000000000000
   287  00000000000000000BFFFFFFFFFFFF300000000000000000
   288  00000000000000000AFFFFFFFFFFFF200000000000000000
   289  000000000000000003FFFFFFFFFFFB000000000000000000
   290  0000000000000000001555EFF95530000000000000000000
   291  0000000000000000000000DFF60000000000000000000000
   292  0000000000000000000000DFF60000000000000000000000
   293  0000000000000000000000DFF60000000000000000000000
   294  0000000155555555555555EFF95555555555555400000000
   295  0000005FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0000000
   296  000000EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6000000
   297  000000FFFEDDDDDDDDDDDDFFFEDDDDDDDDDDDDFFF9000000
   298  000000FFF2000000000000DFF6000000000000AFF9000000
   299  000000FFF2000000000000DFF6000000000000AFF9000000
   300  000000FFF2000000000000DFF6000000000000AFF9000000
   301  000000222000000000000012200000000000001221000000
   302  000000000000000000000000000000000000000000000000
   303  0008BBBBBBB810000006BBBBBBB920000004ABBBBBBA3000
   304  009FFFFFFFFFA000005FFFFFFFFFD000002FFFFFFFFFF100
   305  00DFFFFFFFFFF000009FFFFFFFFFF200006FFFFFFFFFF500
   306  00DFFFFFFFFFF00000AFFFFFFFFFF200007FFFFFFFFFF500
   307  00DFFFFFFFFFF00000AFFFFFFFFFF200007FFFFFFFFFF500
   308  00DFFFFFFFFFF00000AFFFFFFFFFF200007FFFFFFFFFF500
   309  00DFFFFFFFFFF00000AFFFFFFFFFF200007FFFFFFFFFF500
   310  00DFFFFFFFFFF00000AFFFFFFFFFF200007FFFFFFFFFF500
   311  00DFFFFFFFFFF00000AFFFFFFFFFF200007FFFFFFFFFF500
   312  00BFFFFFFFFFD000008FFFFFFFFFF000005FFFFFFFFFF300
   313  002DFFFFFFFE4000001CFFFFFFFF6000000AFFFFFFFF9000
   314  000011111110000000000111111000000000011111100000
   315  000000000000000000000000000000000000000000000000
   316  000000000000000000000000000000000000000000000000
   317  000000000000000000000000000000000000000000000000
   318  000000000000000000000000000000000000000000000000
   319  000000000000000000000000000000000000000000000000
   320  000000000000000000000000000000000000000000000000
   321  }
   322  
   323  
   324  skinparam folderBackgroundColor<<FA5 SITEMAP>> White
   325  sprite $user_tie [48x48/16] {
   326  000000000000000000000000000000000000000000000000
   327  000000000000000000000000000000000000000000000000
   328  0000000000000000000049BCCA7200000000000000000000
   329  0000000000000000006EFFFFFFFFB3000000000000000000
   330  00000000000000001CFFFFFFFFFFFF700000000000000000
   331  0000000000000001EFFFFFFFFFFFFFF80000000000000000
   332  000000000000000CFFFFFFFFFFFFFFFF6000000000000000
   333  000000000000007FFFFFFFFFFFFFFFFFF100000000000000
   334  00000000000001FFFFFFFFFFFFFFFFFFF900000000000000
   335  00000000000006FFFFFFFFFFFFFFFFFFFF00000000000000
   336  0000000000000BFFFFFFFFFFFFFFFFFFFF40000000000000
   337  0000000000000EFFFFFFFFFFFFFFFFFFFF70000000000000
   338  0000000000000FFFFFFFFFFFFFFFFFFFFF80000000000000
   339  0000000000000FFFFFFFFFFFFFFFFFFFFF80000000000000
   340  0000000000000DFFFFFFFFFFFFFFFFFFFF60000000000000
   341  0000000000000AFFFFFFFFFFFFFFFFFFFF40000000000000
   342  00000000000006FFFFFFFFFFFFFFFFFFFE00000000000000
   343  00000000000000EFFFFFFFFFFFFFFFFFF800000000000000
   344  000000000000007FFFFFFFFFFFFFFFFFF100000000000000
   345  000000000000000BFFFFFFFFFFFFFFFF5000000000000000
   346  0000000000000001DFFFFFFFFFFFFFF70000000000000000
   347  00000000000000000BFFFFFFFFFFFF500000000000000000
   348  0000000000000000005DFFFFFFFFA1000000000000000000
   349  0000000000000000000037ABB96100000000000000000000
   350  000000000000000000000000000000000000000000000000
   351  000000000000000000000000000000000000000000000000
   352  000000000000025500008888888500016400000000000000
   353  000000000007DFFF0000AFFFFFF30006FFFA300000000000
   354  0000000004DFFFFF30002FFFFFA00009FFFFFA1000000000
   355  000000006FFFFFFF700008FFFF20000EFFFFFFD200000000
   356  00000005FFFFFFFFB00000EFF800001FFFFFFFFE10000000
   357  0000003FFFFFFFFFF00000AFF300006FFFFFFFFFB0000000
   358  000000BFFFFFFFFFF30000DFF700009FFFFFFFFFF5000000
   359  000003FFFFFFFFFFF70001FFFB0000DFFFFFFFFFFD000000
   360  000009FFFFFFFFFFFB0005FFFE0001FFFFFFFFFFFF200000
   361  00000DFFFFFFFFFFFF0009FFFF2006FFFFFFFFFFFF600000
   362  00000FFFFFFFFFFFFF300CFFFF6009FFFFFFFFFFFF800000
   363  00001FFFFFFFFFFFFF700FFFFF900DFFFFFFFFFFFFA00000
   364  00001FFFFFFFFFFFFFB04FFFFFD01FFFFFFFFFFFFFB00000
   365  00001FFFFFFFFFFFFFF08FFFFFF16FFFFFFFFFFFFFB00000
   366  00001FFFFFFFFFFFFFF3CFFFFFF59FFFFFFFFFFFFFB00000
   367  00001FFFFFFFFFFFFFF7FFFFFFF9DFFFFFFFFFFFFFA00000
   368  00000EFFFFFFFFFFFFFEFFFFFFFEFFFFFFFFFFFFFF700000
   369  000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE100000
   370  0000008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3000000
   371  000000014555555555555555555555555555555300000000
   372  000000000000000000000000000000000000000000000000
   373  000000000000000000000000000000000000000000000000
   374  }
   375  
   376  
   377  skinparam folderBackgroundColor<<FA5 USER_TIE>> White
   378  
   379  
   380  
   381  skinparam defaultTextAlignment center
   382  skinparam wrapWidth 400
   383  skinparam maxMessageSize 150
   384  skinparam StereotypeAlignment right
   385  
   386  skinparam Arrow {
   387      Color #000000
   388      FontColor #000000
   389      FontSize 12
   390  }
   391  skinparam Folder<<grouping>> {
   392      Shadowing true
   393      StereotypeFontSize 0
   394      FontColor #444444
   395      BorderColor #444444
   396      BorderStyle dashed
   397  }
   398  skinparam Folder<<group>> {
   399      Shadowing true
   400      StereotypeFontSize 0
   401      FontColor #444444
   402      BackgroundColor lightgrey
   403  }
   404  skinparam rectangle<<boundary>> {
   405      Shadowing false
   406      StereotypeFontSize 0
   407      FontColor #444444
   408      BorderColor #444444
   409      BorderStyle dashed
   410  }
   411  skinparam node {
   412    StereotypeAlignment right
   413  }
   414  skinparam cloud {
   415    StereotypeAlignment right
   416  }
   417  skinparam frame {
   418    StereotypeAlignment right
   419  }
   420  skinparam archimate {
   421    StereotypeAlignment right
   422    RoundCorner<<strategy-capability>> 25
   423    RoundCorner<<strategy-course-of-action>> 25
   424    RoundCorner<<strategy-value-stream>> 25
   425    RoundCorner<<business-process>> 25
   426    RoundCorner<<business-event>> 25
   427    RoundCorner<<business-function>> 25
   428    RoundCorner<<business-interaction>> 25
   429    RoundCorner<<business-event>> 25
   430    RoundCorner<<business-service>> 25
   431    RoundCorner<<application-function>> 25
   432    RoundCorner<<application-interaction>> 25
   433    RoundCorner<<application-process>> 25
   434    RoundCorner<<application-event>> 25
   435    RoundCorner<<application-service>> 25
   436    RoundCorner<<technology-function>> 25
   437    RoundCorner<<technology-process>> 25
   438    RoundCorner<<technology-interaction>> 25
   439    RoundCorner<<technology-event>> 25
   440    RoundCorner<<technology-infra-service>> 25
   441    RoundCorner<<implementation-workpackage>> 25
   442    RoundCorner<<implementation-event>> 25
   443    DiagonalCorner<<motivation-stakeholder>> 12
   444    DiagonalCorner<<motivation-driver>> 12
   445    DiagonalCorner<<motivation-assessment>> 12
   446    DiagonalCorner<<motivation-goal>> 12
   447    DiagonalCorner<<motivation-outcome>> 12
   448    DiagonalCorner<<motivation-principle>> 12
   449    DiagonalCorner<<motivation-requirement>> 12
   450    DiagonalCorner<<motivation-constraint>> 12
   451  }
   452  skinparam usecase {
   453    BorderColor #000000
   454  }
   455  
   456  
   457  
   458  
   459  
   460  
   461  
   462  
   463  
   464  
   465  
   466  
   467  
   468  
   469  
   470  
   471  
   472  
   473  
   474  
   475  
   476  
   477  
   478  
   479  
   480  
   481  
   482  
   483  
   484  
   485  
   486  
   487  
   488  
   489  
   490  
   491  skinparam ParticipantPadding 60
   492  skinparam componentArrowThickness 2.5
   493  
   494  participant  "<color:#5B254A><$user_tie>\nFirmware Vendor" as vendor #E9C9DF
   495  participant  "<color:#684488><$cogs>\nUpdate Client" as update #E6DDEE
   496  participant  "<color:#684488><$file>\nDevice Flash" as flash #E6DDEE
   497  participant  "<color:#E0E3FF><$sitemap>\nFT Log" as log #899BDC
   498  
   499  vendor o- -> update: Firmware update available
   500  
   501  ...
   502  
   503  group Verify bundle
   504      update -> update: Verify bundle
   505      note right
   506      # Verify signatures
   507      # Verify manifest inclusion proof
   508      # Verify firmware image Hash
   509      endnote
   510  
   511      alt #FFDDDD Invalid Bundle
   512      update -> update: Abort update
   513      else #DDFFDD OK
   514      end
   515  end
   516  
   517  |||
   518  
   519  group Verify consistency
   520      update -> flash ++ : Fetch previous STH
   521      return STH_old
   522  
   523      update -> log ++: GetConsistencyProof
   524      return consistency proof
   525  
   526      update -> update: Verify consistency
   527      alt #FFDDDD Invalid consistency
   528      update -> update: Abort update
   529      else #DDFFDD OK
   530      end
   531  end
   532  
   533  |||
   534  
   535  group Update flash
   536      update -> flash ++: Write Firmware + Proof Bundle
   537      return Write OK
   538  end
   539  
   540  @enduml
   541  
   542  PlantUML version 1.2020.02(Sun Mar 01 10:22:07 GMT 2020)
   543  (GPL source distribution)
   544  Java Runtime: OpenJDK Runtime Environment
   545  JVM: OpenJDK 64-Bit Server VM
   546  Java Version: 11.0.9+11-post-Debian-1deb10u1
   547  Operating System: Linux
   548  Default Encoding: UTF-8
   549  Language: en
   550  Country: US
   551  --></g></svg>