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>