diff --git a/doc/SysMLSec/fig/automaticgeneration.png b/doc/SysMLSec/fig/automaticgeneration.png index 23229151f1a89940273842662b3de229d74834e8..291d004ec17390a9ac0b49aafac20576011e5c50 100644 Binary files a/doc/SysMLSec/fig/automaticgeneration.png and b/doc/SysMLSec/fig/automaticgeneration.png differ diff --git a/doc/SysMLSec/fig/hsmact.svg b/doc/SysMLSec/fig/hsmact.svg new file mode 100644 index 0000000000000000000000000000000000000000..05f0598cd9ee47f9eae8ac569a5d99d7763ecdfe --- /dev/null +++ b/doc/SysMLSec/fig/hsmact.svg @@ -0,0 +1,844 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:Dialog" + id="svg2" + version="1.1" + inkscape:version="0.48.4 r9939" + width="236.95963" + height="279.29044" + sodipodi:docname="hsmact.svg"> + <metadata + id="metadata205"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1920" + inkscape:window-height="1041" + id="namedview203" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:zoom="0.63429569" + inkscape:cx="-245.62252" + inkscape:cy="98.276187" + inkscape:window-x="2048" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="g15" /> + <!--Generated by the Batik Graphics2D SVG Generator--> + <defs + id="genericDefs"> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath1-3"> + <path + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path9-9" + inkscape:connector-curvature="0" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3194"> + <path + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3196" + inkscape:connector-curvature="0" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3198"> + <path + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3200" + inkscape:connector-curvature="0" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath1-3-3"> + <path + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path9-9-0" + inkscape:connector-curvature="0" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3240"> + <path + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3242" + inkscape:connector-curvature="0" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath1-1"> + <path + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path9-5" + inkscape:connector-curvature="0" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath1-3-3-7"> + <path + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path9-9-0-1" + inkscape:connector-curvature="0" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3284"> + <path + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3286" + inkscape:connector-curvature="0" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath1-3-3-7-5"> + <path + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path9-9-0-1-7" + inkscape:connector-curvature="0" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3319"> + <path + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3321" + inkscape:connector-curvature="0" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath1-4"> + <path + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path9-8" + inkscape:connector-curvature="0" /> + </clipPath> + </defs> + <g + id="g5" + transform="translate(-101.19736,-134.85932)"> + <defs + id="defs1"> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath1"> + <path + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path9" + inkscape:connector-curvature="0" /> + </clipPath> + </defs> + <g + style="font-family:sans-serif" + id="g15" + transform="translate(-63.850347,7.094483)"> + <line + x1="226" + x2="236" + y1="621" + style="fill:none;stroke:#68e5ff" + y2="611" + id="line139" + clip-path="url(#clipPath1)" + transform="translate(70.107289,-251.78954)" /> + <polygon + style="stroke:none" + points="319,181 315,190 310,181 " + id="polygon25" + clip-path="url(#clipPath1)" + transform="translate(-0.1731605,8.4128465)" /> + <polygon + style="fill:none" + points="319,181 315,190 310,181 " + id="polygon27" + clip-path="url(#clipPath1)" + transform="translate(-0.1731605,8.4128465)" /> + <line + x1="275" + x2="165" + y1="215" + style="fill:none;stroke-width:2.87090135" + y2="295" + id="line29" + clip-path="url(#clipPath1)" + transform="matrix(0.32414301,0,0,0.37430602,185.368,134.81981)" /> + <polygon + style="stroke:none" + points="169,285 174,293 165,295 " + id="polygon31" + clip-path="url(#clipPath1)" + transform="translate(71.659098,-47.536051)" /> + <polygon + style="fill:none" + points="169,285 174,293 165,295 " + id="polygon33" + clip-path="url(#clipPath1)" + transform="translate(71.659098,-47.536051)" /> + <circle + style="stroke:none" + r="7.5" + cx="407.5" + cy="57.5" + id="circle53" + clip-path="url(#clipPath1)" + d="m 415,57.5 c 0,4.142136 -3.35786,7.5 -7.5,7.5 -4.14214,0 -7.5,-3.357864 -7.5,-7.5 0,-4.142136 3.35786,-7.5 7.5,-7.5 4.14214,0 7.5,3.357864 7.5,7.5 z" + sodipodi:cx="407.5" + sodipodi:cy="57.5" + sodipodi:rx="7.5" + sodipodi:ry="7.5" + transform="translate(-93.078,77.764839)" /> + <line + x1="407" + x2="407" + y1="65" + style="fill:none;stroke-width:0.62101328" + y2="70" + id="line55" + clip-path="url(#clipPath1)" + transform="matrix(1,0,0,2.5929742,-92.388259,-29.810186)" /> + <rect + x="229" + y="100" + width="173" + style="fill:#c4a67a;stroke:none" + rx="2.5" + ry="2.5" + height="20" + id="rect57" + clip-path="url(#clipPath1)" + transform="translate(-0.49267243,60.164873)" /> + <rect + x="228" + y="99" + width="173" + style="fill:none;stroke:#c4a67a" + rx="2.5" + ry="2.5" + height="20" + id="rect59" + clip-path="url(#clipPath1)" + transform="translate(0,60.75608)" /> + <rect + x="229" + y="100" + width="173" + style="fill:none" + rx="2.5" + ry="2.5" + height="20" + id="rect61" + clip-path="url(#clipPath1)" + transform="translate(-0.49267243,60.164873)" /> + <line + x1="315" + x2="315" + y1="120" + style="fill:none;stroke-width:0.68733406" + y2="125" + id="line65" + clip-path="url(#clipPath1)" + transform="matrix(1,0,0,2.1167242,0,-72.69246)" /> + <text + x="234" + y="115" + style="stroke:none" + xml:space="preserve" + id="text67" + clip-path="url(#clipPath1)" + transform="translate(-1.8721552,59.770735)">getReqArg (channelIndex)</text> + <polygon + style="fill:#c7f369;stroke:none" + points="332,215 315,232 300,215 315,200 " + id="polygon69" + clip-path="url(#clipPath1)" /> + <line + x1="315" + x2="330" + y1="200" + style="fill:none" + y2="215" + id="line71" + clip-path="url(#clipPath1)" /> + <line + x1="300" + x2="315" + y1="215" + style="fill:none" + y2="230" + id="line73" + clip-path="url(#clipPath1)" /> + <line + x1="315" + x2="300" + y1="200" + style="fill:none" + y2="215" + id="line75" + clip-path="url(#clipPath1)" /> + <line + x1="330" + x2="315" + y1="215" + style="fill:none" + y2="230" + id="line77" + clip-path="url(#clipPath1)" /> + <line + x1="300" + x2="275" + y1="215" + style="fill:none" + y2="215" + id="line81" + clip-path="url(#clipPath1)" /> + <line + x1="330" + x2="355" + y1="215" + style="fill:none" + y2="215" + id="line83" + clip-path="url(#clipPath1)" /> + <line + x1="315" + x2="315" + y1="230" + style="fill:none" + y2="255" + id="line85" + clip-path="url(#clipPath1)" /> + <text + x="275" + y="210" + style="stroke:none" + xml:space="preserve" + id="text87" + clip-path="url(#clipPath1)" + transform="translate(-97.647676,0.19706897)">[channelIndex==0]</text> + <text + x="335" + y="210" + style="stroke:none" + xml:space="preserve" + id="text89" + clip-path="url(#clipPath1)">[ ]</text> + <text + x="320" + y="245" + style="stroke:none" + xml:space="preserve" + id="text91" + clip-path="url(#clipPath1)">[ ]</text> + <polygon + style="fill:#68e5ff;stroke:none" + points="228,300 228,320 103,320 113,310 103,300 " + id="polygon93" + clip-path="url(#clipPath1)" + transform="translate(71.067891,-51.280361)" /> + <line + x1="104" + x2="229" + y1="301" + style="fill:none;stroke:#68e5ff" + y2="301" + id="line99" + clip-path="url(#clipPath1)" + transform="translate(71.067891,-51.280361)" /> + <line + x1="229" + x2="229" + y1="301" + style="fill:none;stroke:#68e5ff" + y2="321" + id="line101" + clip-path="url(#clipPath1)" + transform="translate(71.067891,-51.280361)" /> + <line + x1="104" + x2="229" + y1="321" + style="fill:none;stroke:#68e5ff" + y2="321" + id="line103" + clip-path="url(#clipPath1)" + transform="translate(71.067891,-51.280361)" /> + <line + x1="104" + x2="114" + y1="301" + style="fill:none;stroke:#68e5ff" + y2="311" + id="line105" + clip-path="url(#clipPath1)" + transform="translate(71.067891,-51.280361)" /> + <line + x1="104" + x2="114" + y1="321" + style="fill:none;stroke:#68e5ff" + y2="311" + id="line107" + clip-path="url(#clipPath1)" + transform="translate(71.067891,-51.280361)" /> + <line + x1="103" + x2="228" + y1="300" + style="fill:none" + y2="300" + id="line109" + clip-path="url(#clipPath1)" + transform="translate(71.067891,-51.280361)" /> + <line + x1="228" + x2="228" + y1="300" + style="fill:none" + y2="320" + id="line111" + clip-path="url(#clipPath1)" + transform="translate(71.067891,-51.280361)" /> + <line + x1="103" + x2="228" + y1="320" + style="fill:none" + y2="320" + id="line113" + clip-path="url(#clipPath1)" + transform="translate(71.067891,-51.280361)" /> + <line + x1="103" + x2="113" + y1="300" + style="fill:none" + y2="310" + id="line115" + clip-path="url(#clipPath1)" + transform="translate(71.067891,-51.280361)" /> + <line + x1="103" + x2="113" + y1="320" + style="fill:none" + y2="310" + id="line117" + clip-path="url(#clipPath1)" + transform="translate(71.067891,-51.280361)" /> + <text + x="108" + y="300" + style="stroke:none" + xml:space="preserve" + id="text119" + clip-path="url(#clipPath1)" + transform="translate(66.330032,-53.509942)">chl</text> + <text + x="115" + y="315" + style="stroke:none" + xml:space="preserve" + id="text121" + clip-path="url(#clipPath1)" + transform="translate(71.067891,-51.280361)">data_comm_T1(1) </text> + <text + x="196" + y="331" + style="stroke:none" + xml:space="preserve" + id="text123" + clip-path="url(#clipPath1)" + transform="translate(71.067891,-51.280361)">sec:hsmSec_comm</text> + <polygon + style="fill:#68e5ff;stroke:none" + points="235,610 225,620 95,620 95,600 225,600 " + id="polygon125" + clip-path="url(#clipPath1)" + transform="translate(70.547706,-251.54568)" /> + <line + x1="96" + x2="226" + y1="601" + style="fill:none;stroke:#68e5ff;stroke-width:1.00334084" + y2="601" + id="line131" + clip-path="url(#clipPath1)" + transform="matrix(0.99335168,0,0,1,71.182621,-251.54568)" /> + <line + x1="96" + x2="226" + y1="621" + style="fill:none;stroke:#68e5ff;stroke-width:1.00359595" + y2="621" + id="line133" + clip-path="url(#clipPath1)" + transform="matrix(0.99284673,0,0,1,71.230853,-251.54568)" /> + <line + x1="96" + x2="96" + y1="601" + style="fill:none;stroke:#68e5ff" + y2="621" + id="line135" + clip-path="url(#clipPath1)" + transform="translate(70.547706,-251.54568)" /> + <line + x1="95" + x2="225" + y1="600" + style="fill:none" + y2="600" + id="line141" + clip-path="url(#clipPath1)" + transform="translate(70.547706,-251.54568)" /> + <line + x1="95" + x2="225" + y1="620" + style="fill:none" + y2="620" + id="line143" + clip-path="url(#clipPath1)" + transform="translate(70.547706,-251.54568)" /> + <line + x1="95" + x2="95" + y1="600" + style="fill:none" + y2="620" + id="line145" + clip-path="url(#clipPath1)" + transform="translate(70.547706,-251.54568)" /> + <line + x1="225" + x2="235" + y1="600" + style="fill:none;stroke-width:1.03990936" + y2="610" + id="line147" + clip-path="url(#clipPath1)" + transform="matrix(0.95122792,0,0,0.97213024,82.009145,-234.54513)" /> + <line + x1="225" + x2="235" + y1="620" + style="fill:none;stroke-width:1.04376268" + y2="610" + id="line149" + clip-path="url(#clipPath1)" + transform="matrix(0.94826939,0,0,0.96797629,82.704398,-232.01122)" /> + <text + x="100" + y="600" + style="stroke:none" + xml:space="preserve" + id="text151" + clip-path="url(#clipPath1)" + transform="translate(65.531149,-253.77527)">chl</text> + <text + x="100" + y="615" + style="stroke:none" + xml:space="preserve" + id="text153" + clip-path="url(#clipPath1)" + transform="translate(70.547706,-251.54568)">retData_comm_T1(1)</text> + <text + x="200" + y="631" + style="stroke:none" + xml:space="preserve" + id="text155" + clip-path="url(#clipPath1)" + transform="translate(70.547706,-251.54568)">sec:hsmSec_comm</text> + <rect + x="150" + y="500" + width="15" + style="fill:#c7f369;stroke:none" + height="35" + id="rect157" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <polygon + style="fill:#c7f369;stroke:none" + points="157,540 150,535 165,535 " + id="polygon159" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <line + x1="150" + x2="165" + y1="500" + style="fill:none" + y2="500" + id="line161" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <line + x1="150" + x2="150" + y1="500" + style="fill:none" + y2="535" + id="line163" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <line + x1="165" + x2="165" + y1="500" + style="fill:none" + y2="535" + id="line165" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <line + x1="150" + x2="157" + y1="535" + style="fill:none" + y2="540" + id="line167" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <line + x1="157" + x2="165" + y1="540" + style="fill:none" + y2="535" + id="line169" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <line + x1="157" + x2="157" + y1="540" + style="fill:none" + y2="545" + id="line173" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <line + x1="155" + x2="160" + y1="505" + style="fill:none" + y2="505" + id="line175" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <line + x1="155" + x2="160" + y1="517" + style="fill:none" + y2="517" + id="line177" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <line + x1="155" + x2="160" + y1="511" + style="fill:none" + y2="511" + id="line179" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <line + x1="155" + x2="155" + y1="505" + style="fill:none" + y2="511" + id="line181" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <line + x1="160" + x2="160" + y1="511" + style="fill:none" + y2="517" + id="line183" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <line + x1="155" + x2="160" + y1="520" + style="fill:none" + y2="520" + id="line185" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <line + x1="155" + x2="160" + y1="532" + style="fill:none" + y2="532" + id="line187" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <line + x1="155" + x2="160" + y1="526" + style="fill:none" + y2="526" + id="line189" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <line + x1="155" + x2="155" + y1="520" + style="fill:none" + y2="532" + id="line191" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <text + x="172" + y="517" + style="stroke:none" + xml:space="preserve" + id="text193" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)">sec:hsmSec_comm</text> + <image + x="128" + y="517" + width="20" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAAZklEQVR42mNgGOyA EYn9H48cyQb+J9JSogz8T00fU9XAc/d/MTBRO1JYiLEVGRgpsmHIIYuxEGMrUAPO 1ACVg4sx4YtFdNchxzqaHCOygViTBpJ3GHEZiibHiGEQ0JD/eLw6CugEAGstHBuj 0FC+AAAAAElFTkSuQmCC" + height="16" + preserveAspectRatio="none" + id="image195" + clip-path="url(#clipPath1)" + transform="translate(78.803801,-208.00422)" /> + <circle + style="stroke:none" + r="8" + cx="160" + cy="710" + id="circle197" + clip-path="url(#clipPath1)" + d="m 168,710 c 0,4.41828 -3.58172,8 -8,8 -4.41828,0 -8,-3.58172 -8,-8 0,-4.41828 3.58172,-8 8,-8 4.41828,0 8,3.58172 8,8 z" + sodipodi:cx="160" + sodipodi:cy="710" + sodipodi:rx="8" + sodipodi:ry="8" + transform="translate(77.574649,-313.44471)" /> + <circle + style="fill:none" + r="10" + cx="160" + cy="710" + id="circle199" + clip-path="url(#clipPath1)" + d="m 170,710 c 0,5.52285 -4.47715,10 -10,10 -5.52285,0 -10,-4.47715 -10,-10 0,-5.52285 4.47715,-10 10,-10 5.52285,0 10,4.47715 10,10 z" + sodipodi:cx="160" + sodipodi:cy="710" + sodipodi:rx="10" + sodipodi:ry="10" + transform="translate(77.574649,-313.44471)" /> + <polygon + transform="translate(-0.56912825,-31.303148)" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + points="310,181 319,181 315,190 " + id="polygon25-8" + clip-path="url(#clipPath1-3)" /> + <polygon + transform="translate(-0.56912825,-31.303148)" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + points="310,181 319,181 315,190 " + id="polygon27-1" + clip-path="url(#clipPath1-3)" /> + <line + x1="407" + x2="407" + y1="65" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:0.62101328;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y2="70" + id="line55-3" + clip-path="url(#clipPath1-1)" + transform="matrix(1,0,0,2.5929742,-170.05598,102.12302)" /> + <polygon + transform="translate(-78.236854,100.63005)" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + points="315,190 310,181 319,181 " + id="polygon25-8-8" + clip-path="url(#clipPath1-3-3)" /> + <polygon + transform="translate(-78.236854,100.63005)" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + points="315,190 310,181 319,181 " + id="polygon27-1-4" + clip-path="url(#clipPath1-3-3)" /> + <polygon + transform="translate(-78.608441,156.82268)" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + points="315,190 310,181 319,181 " + id="polygon25-8-8-0" + clip-path="url(#clipPath1-3-3-7)" /> + <polygon + transform="translate(-78.608441,156.82268)" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + points="315,190 310,181 319,181 " + id="polygon27-1-4-7" + clip-path="url(#clipPath1-3-3-7)" /> + <line + x1="157" + x2="157" + y1="540" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y2="545" + id="line173-2" + clip-path="url(#clipPath1-4)" + transform="translate(79.841716,-169.74297)" /> + <polygon + transform="translate(-77.570524,195.08393)" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + points="315,190 310,181 319,181 " + id="polygon25-8-8-0-3" + clip-path="url(#clipPath1-3-3-7-5)" /> + <polygon + transform="translate(-77.570524,195.08393)" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + points="315,190 310,181 319,181 " + id="polygon27-1-4-7-3" + clip-path="url(#clipPath1-3-3-7-5)" /> + </g> + </g> +</svg> diff --git a/doc/SysMLSec/fig/hsmarch.svg b/doc/SysMLSec/fig/hsmarch.svg new file mode 100644 index 0000000000000000000000000000000000000000..add74c9f76c7ba15f8b8f1ff0ce4395cb5561994 --- /dev/null +++ b/doc/SysMLSec/fig/hsmarch.svg @@ -0,0 +1,2840 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:Dialog" + id="svg2" + version="1.1" + inkscape:version="0.48.4 r9939" + width="1261.0444" + height="411.83667" + sodipodi:docname="hsmarch.svg"> + <metadata + id="metadata533"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2048" + inkscape:window-height="1086" + id="namedview531" + showgrid="true" + inkscape:snap-global="false" + showguides="true" + inkscape:guide-bbox="true" + inkscape:zoom="0.63429569" + inkscape:cx="484.28315" + inkscape:cy="158.05948" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:current-layer="g5" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0"> + <inkscape:grid + type="xygrid" + id="grid3510" + empspacing="5" + visible="true" + enabled="true" + snapvisiblegridlinesonly="true" + originx="-21.594309px" + originy="-503.02371px" /> + </sodipodi:namedview> + <!--Generated by the Batik Graphics2D SVG Generator--> + <defs + id="genericDefs"> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath1-2"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path9-7" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3780"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3782" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3784"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3786" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3788"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3790" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3792"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3794" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3796"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3798" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3800"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3802" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3804"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3806" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3808"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3810" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3812"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3814" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3816"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3818" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3820"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3822" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3824"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3826" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3828"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3830" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3832"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3834" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3836"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3838" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3840"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3842" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3844"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3846" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3848"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3850" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3852"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3854" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3856"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3858" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3860"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3862" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3864"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3866" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3868"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3870" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3872"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3874" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3876"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3878" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3880"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3882" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3884"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3886" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3888"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3890" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3892"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3894" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3896"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3898" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3900"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3902" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3904"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3906" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3908"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3910" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3912"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3914" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3916"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3918" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3920"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3922" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3924"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3926" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3928"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3930" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3932"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3934" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3936"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3938" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3940"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3942" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3944"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3946" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3948"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3950" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3952"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3954" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3956"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3958" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3960"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3962" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3964"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3966" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3968"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3970" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3972"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3974" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3976"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3978" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3980"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3982" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3984"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3986" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3988"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path3990" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath1-8"> + <path + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path9-3" + inkscape:connector-curvature="0" /> + </clipPath> + </defs> + <g + id="g5" + transform="translate(-27.506378,-137.50181)"> + <defs + id="defs1"> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath1"> + <path + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" + id="path9" + inkscape:connector-curvature="0" /> + </clipPath> + </defs> + <line + clip-path="url(#clipPath1-8)" + id="line25-2" + y2="371" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:0.97460783;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="344" + x2="298" + x1="298" + transform="matrix(1,0,0,1.0527863,743.02713,-27.773772)" /> + <line + clip-path="url(#clipPath1)" + id="line17" + y2="453" + style="fill:none;stroke-width:1.45667028;font-family:sans-serif" + y1="493" + x2="694" + x1="694" + transform="matrix(1,0,0,0.47127837,-28.912069,222.39044)" /> + <line + clip-path="url(#clipPath1)" + id="line19" + y2="381" + style="fill:none;font-family:sans-serif" + y1="344" + x2="569" + x1="423" + transform="translate(-23,-4.6378174)" /> + <line + clip-path="url(#clipPath1)" + id="line21" + y2="381" + style="fill:none;stroke-width:0.95481837;font-family:sans-serif" + y1="337" + x2="819" + x1="953" + transform="matrix(1.0235306,0,0,1.0716614,-45.424684,-28.787724)" /> + <line + clip-path="url(#clipPath1)" + id="line25" + y2="371" + style="fill:none;font-family:sans-serif" + y1="344" + x2="298" + x1="298" + transform="translate(-23,-4.6378174)" /> + <line + transform="matrix(-0.00309774,0,0,0.37058583,213.72797,260.34555)" + clip-path="url(#clipPath1)" + id="line27" + y2="421" + style="fill:none;stroke-width:29.5143528;font-family:sans-serif" + y1="470" + x2="235" + x1="220" /> + <line + transform="matrix(-0.00299522,0,0,0.37237817,361.90897,260.67485)" + clip-path="url(#clipPath1)" + id="line29" + y2="421" + style="fill:none;stroke-width:29.94286537;font-family:sans-serif" + y1="467" + x2="360" + x1="403" /> + <rect + clip-path="url(#clipPath1)" + id="rect31" + height="201" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="1" + y="144" + x="236" + transform="translate(-23.278698,-2.9656317)" /> + <rect + clip-path="url(#clipPath1)" + id="rect33" + height="1" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="249" + y="144" + x="237" + transform="translate(-23.278698,-2.9656317)" /> + <rect + clip-path="url(#clipPath1)" + id="rect35" + height="1" + style="stroke:none;font-family:sans-serif" + width="250" + y="344" + x="237" + transform="translate(-23.278698,-2.9656317)" /> + <rect + clip-path="url(#clipPath1)" + id="rect37" + height="200" + style="stroke:none;font-family:sans-serif" + width="1" + y="144" + x="486" + transform="translate(-23.278698,-2.9656317)" /> + <line + transform="matrix(0.89838631,0,0,0.94046875,1.3918744,5.5576014)" + clip-path="url(#clipPath1)" + id="line39" + y2="141" + style="fill:none;stroke-width:1.08791828;font-family:sans-serif" + y1="144" + x2="238" + x1="236" /> + <line + transform="matrix(0.93225754,0,0,0.91378232,10.124493,9.5482483)" + clip-path="url(#clipPath1)" + id="line41" + y2="141" + style="fill:none;stroke-width:1.08345449;font-family:sans-serif" + y1="144" + x2="488" + x1="486" /> + <line + transform="matrix(0.99769365,0,0,1,-21.868761,-2.9656317)" + clip-path="url(#clipPath1)" + id="line43" + y2="141" + style="fill:none;stroke-width:1.00115526;font-family:sans-serif" + y1="141" + x2="488" + x1="238" /> + <line + transform="matrix(0.85194189,0,0,0.9187132,49.504926,25.388948)" + clip-path="url(#clipPath1)" + id="line45" + y2="341" + style="fill:none;stroke-width:1.13032937;font-family:sans-serif" + y1="344" + x2="488" + x1="486" /> + <line + transform="translate(-22.57664,-2.9902653)" + clip-path="url(#clipPath1)" + id="line47" + y2="341" + style="fill:none;font-family:sans-serif" + y1="141" + x2="488" + x1="488" /> + <rect + clip-path="url(#clipPath1)" + id="rect49" + height="197" + style="fill:#c6ebf9;stroke:none;font-family:sans-serif" + width="247" + y="146" + x="238" + transform="translate(-23.278698,-2.9656317)" /> + <rect + clip-path="url(#clipPath1)" + id="rect51" + height="199" + style="fill:#ffffff;stroke:none;font-family:sans-serif" + width="1" + y="145" + x="237" + transform="translate(-23.278698,-2.9656317)" /> + <rect + clip-path="url(#clipPath1)" + id="rect53" + height="1" + style="fill:#ffffff;stroke:none;font-family:sans-serif" + width="247" + y="145" + x="238" + transform="translate(-23.278698,-2.9656317)" /> + <rect + clip-path="url(#clipPath1)" + id="rect55" + height="1" + style="fill:#8aa4ae;stroke:none;font-family:sans-serif" + width="248" + y="343" + x="238" + transform="translate(-23.278698,-2.9656317)" /> + <rect + clip-path="url(#clipPath1)" + id="rect57" + height="198" + style="fill:#8aa4ae;stroke:none;font-family:sans-serif" + width="1" + y="145" + x="485" + transform="translate(-23.278698,-2.9656317)" /> + <text + clip-path="url(#clipPath1)" + id="text59" + xml:space="preserve" + style="font-weight:bold;stroke:none;font-family:sans-serif" + y="159" + x="320" + transform="translate(-23.278698,-2.9656317)"><<CPURR>></text> + <text + clip-path="url(#clipPath1)" + id="text61" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="174" + x="344" + transform="translate(-23.278698,-2.9656317)">CPU1</text> + <image + style="font-family:sans-serif" + clip-path="url(#clipPath1)" + id="image63" + preserveAspectRatio="none" + height="16" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAWklEQVR42mNgoCL4 D8X42HDAhM2Ec/d//SfEBgFGNFuJAYzIjP9kepGRbM1AL0CcAPKLkSIb0ZpGnT1Q zkZP22AFMMPQ2SAA5DPiTNv4AEwjNs2MSM7CxYYDAJ76RjSq+zXoAAAAAElFTkSu QmCC" + width="15" + y="148" + x="240" + transform="translate(-23.278698,-2.9656317)" /> + <rect + transform="matrix(1.005941,0,0,1.0221071,-26.00564,-8.5587273)" + clip-path="url(#clipPath1)" + id="rect67" + height="39" + style="fill:#c6e3f9;stroke:none;font-family:sans-serif" + width="170" + y="214" + x="289" /> + <line + clip-path="url(#clipPath1)" + id="line69" + y2="243" + style="fill:none;font-family:sans-serif" + y1="218" + x2="434" + x1="434" + transform="translate(-23.278698,-2.9656317)" /> + <line + clip-path="url(#clipPath1)" + id="line71" + y2="218" + style="fill:none;font-family:sans-serif" + y1="218" + x2="449" + x1="434" + transform="translate(-23.278698,-2.9656317)" /> + <line + clip-path="url(#clipPath1)" + id="line73" + y2="223" + style="fill:none;font-family:sans-serif" + y1="218" + x2="454" + x1="449" + transform="translate(-23.278698,-2.9656317)" /> + <line + clip-path="url(#clipPath1)" + id="line75" + y2="243" + style="fill:none;font-family:sans-serif" + y1="223" + x2="454" + x1="454" + transform="translate(-23.278698,-2.9656317)" /> + <line + clip-path="url(#clipPath1)" + id="line77" + y2="243" + style="fill:none;font-family:sans-serif" + y1="243" + x2="434" + x1="454" + transform="translate(-23.278698,-2.9656317)" /> + <line + clip-path="url(#clipPath1)" + id="line79" + y2="223" + style="fill:none;font-family:sans-serif" + y1="218" + x2="449" + x1="449" + transform="translate(-23.278698,-2.9656317)" /> + <line + clip-path="url(#clipPath1)" + id="line81" + y2="223" + style="fill:none;font-family:sans-serif" + y1="223" + x2="454" + x1="449" + transform="translate(-23.278698,-2.9656317)" /> + <text + transform="translate(-21.505077,3.3405754)" + clip-path="url(#clipPath1)" + id="text83" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="228" + x="293">NonSecureFV_enc::T1</text> + <rect + clip-path="url(#clipPath1)" + id="rect85" + height="201" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="1" + y="137" + x="891" + transform="translate(-23.836092,4.0018086)" /> + <rect + clip-path="url(#clipPath1)" + id="rect87" + height="1" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="249" + y="137" + x="892" + transform="translate(-23.836092,4.0018086)" /> + <rect + clip-path="url(#clipPath1)" + id="rect89" + height="1" + style="stroke:none;font-family:sans-serif" + width="250" + y="337" + x="892" + transform="translate(-23.836092,4.0018086)" /> + <rect + clip-path="url(#clipPath1)" + id="rect91" + height="200" + style="stroke:none;font-family:sans-serif" + width="1" + y="137" + x="1141" + transform="translate(-23.836092,4.0018086)" /> + <line + transform="matrix(0.93225754,0,0,0.8932543,37.199864,18.490483)" + clip-path="url(#clipPath1)" + id="line93" + y2="134" + style="fill:none;stroke-width:1.0958333;font-family:sans-serif" + y1="137" + x2="893" + x1="891" /> + <line + transform="matrix(0.8829903,0,0,0.95073276,110.26319,10.94849)" + clip-path="url(#clipPath1)" + id="line95" + y2="134" + style="fill:none;stroke-width:1.0914222;font-family:sans-serif" + y1="137" + x2="1143" + x1="1141" /> + <line + transform="matrix(0.99857691,0,0,1,-21.617582,4.0018086)" + clip-path="url(#clipPath1)" + id="line97" + y2="134" + style="fill:none;stroke-width:1.00071228;font-family:sans-serif" + y1="134" + x2="1143" + x1="893" /> + <line + transform="matrix(0.77829741,0,0,0.81935345,230.00106,65.18762)" + clip-path="url(#clipPath1)" + id="line99" + y2="334" + style="fill:none;stroke-width:1.25225163;font-family:sans-serif" + y1="337" + x2="1143" + x1="1141" /> + <line + transform="translate(-23.244885,4.1988776)" + clip-path="url(#clipPath1)" + id="line101" + y2="334" + style="fill:none;font-family:sans-serif" + y1="134" + x2="1143" + x1="1143" /> + <rect + clip-path="url(#clipPath1)" + id="rect103" + height="197" + style="fill:#c6ebf9;stroke:none;font-family:sans-serif" + width="247" + y="139" + x="893" + transform="translate(-23.836092,4.0018086)" /> + <rect + clip-path="url(#clipPath1)" + id="rect105" + height="199" + style="fill:#ffffff;stroke:none;font-family:sans-serif" + width="1" + y="138" + x="892" + transform="translate(-23.836092,4.0018086)" /> + <rect + clip-path="url(#clipPath1)" + id="rect107" + height="1" + style="fill:#ffffff;stroke:none;font-family:sans-serif" + width="247" + y="138" + x="893" + transform="translate(-23.836092,4.0018086)" /> + <rect + clip-path="url(#clipPath1)" + id="rect109" + height="1" + style="fill:#8aa4ae;stroke:none;font-family:sans-serif" + width="248" + y="336" + x="893" + transform="translate(-23.836092,4.0018086)" /> + <rect + clip-path="url(#clipPath1)" + id="rect111" + height="198" + style="fill:#8aa4ae;stroke:none;font-family:sans-serif" + width="1" + y="138" + x="1140" + transform="translate(-23.836092,4.0018086)" /> + <text + clip-path="url(#clipPath1)" + id="text113" + xml:space="preserve" + style="font-weight:bold;stroke:none;font-family:sans-serif" + y="152" + x="975" + transform="translate(-23.836092,4.0018086)"><<CPURR>></text> + <text + clip-path="url(#clipPath1)" + id="text115" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="167" + x="999" + transform="translate(-23.836092,4.0018086)">CPU2</text> + <image + style="font-family:sans-serif" + clip-path="url(#clipPath1)" + id="image117" + preserveAspectRatio="none" + height="16" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAWklEQVR42mNgoCL4 D8X42HDAhM2Ec/d//SfEBgFGNFuJAYzIjP9kepGRbM1AL0CcAPKLkSIb0ZpGnT1Q zkZP22AFMMPQ2SAA5DPiTNv4AEwjNs2MSM7CxYYDAJ76RjSq+zXoAAAAAElFTkSu QmCC" + width="15" + y="141" + x="895" + transform="translate(-23.836092,4.0018086)" /> + <rect + clip-path="url(#clipPath1)" + id="rect119" + height="40" + style="fill:none;font-family:sans-serif" + width="171" + y="219" + x="933" + transform="translate(-23.836092,4.0018086)" /> + <rect + clip-path="url(#clipPath1)" + id="rect121" + height="39" + style="fill:#c6e3f9;stroke:none;font-family:sans-serif" + width="170" + y="220" + x="934" + transform="translate(-23.836092,4.0018086)" /> + <line + clip-path="url(#clipPath1)" + id="line123" + y2="249" + style="fill:none;font-family:sans-serif" + y1="224" + x2="1079" + x1="1079" + transform="translate(-23.836092,4.0018086)" /> + <line + clip-path="url(#clipPath1)" + id="line125" + y2="224" + style="fill:none;font-family:sans-serif" + y1="224" + x2="1094" + x1="1079" + transform="translate(-23.836092,4.0018086)" /> + <line + clip-path="url(#clipPath1)" + id="line127" + y2="229" + style="fill:none;font-family:sans-serif" + y1="224" + x2="1099" + x1="1094" + transform="translate(-23.836092,4.0018086)" /> + <line + clip-path="url(#clipPath1)" + id="line129" + y2="249" + style="fill:none;font-family:sans-serif" + y1="229" + x2="1099" + x1="1099" + transform="translate(-23.836092,4.0018086)" /> + <line + clip-path="url(#clipPath1)" + id="line131" + y2="249" + style="fill:none;font-family:sans-serif" + y1="249" + x2="1079" + x1="1099" + transform="translate(-23.836092,4.0018086)" /> + <line + clip-path="url(#clipPath1)" + id="line133" + y2="229" + style="fill:none;font-family:sans-serif" + y1="224" + x2="1094" + x1="1094" + transform="translate(-23.836092,4.0018086)" /> + <line + clip-path="url(#clipPath1)" + id="line135" + y2="229" + style="fill:none;font-family:sans-serif" + y1="229" + x2="1099" + x1="1094" + transform="translate(-23.836092,4.0018086)" /> + <text + clip-path="url(#clipPath1)" + id="text137" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="234" + x="938" + transform="translate(-23.836092,4.0018086)">NonSecureFV_enc::T2</text> + <rect + clip-path="url(#clipPath1)" + id="rect139" + height="97" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="1" + y="357" + x="569" + transform="translate(-28.912069,-16.856094)" /> + <rect + clip-path="url(#clipPath1)" + id="rect141" + height="1" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="249" + y="357" + x="570" + transform="translate(-28.912069,-16.856094)" /> + <rect + clip-path="url(#clipPath1)" + id="rect143" + height="1" + style="stroke:none;font-family:sans-serif" + width="250" + y="453" + x="570" + transform="translate(-28.912069,-16.856094)" /> + <rect + clip-path="url(#clipPath1)" + id="rect145" + height="96" + style="stroke:none;font-family:sans-serif" + width="1" + y="357" + x="819" + transform="translate(-28.912069,-16.856094)" /> + <line + transform="matrix(0.94457436,0,0,0.90146552,3.3087079,18.216026)" + clip-path="url(#clipPath1)" + id="line147" + y2="354" + style="fill:none;stroke-width:1.08369577;font-family:sans-serif" + y1="357" + x2="571" + x1="569" /> + <line + transform="matrix(0.87806979,0,0,0.9651628,71.541001,-4.1927706)" + clip-path="url(#clipPath1)" + id="line149" + y2="354" + style="fill:none;stroke-width:1.08626354;font-family:sans-serif" + y1="357" + x2="821" + x1="819" /> + <line + transform="matrix(0.99853193,0,0,1,-27.113814,-16.856094)" + clip-path="url(#clipPath1)" + id="line151" + y2="354" + style="fill:none;stroke-width:1.00073481;font-family:sans-serif" + y1="354" + x2="821" + x1="571" /> + <line + transform="matrix(0.85194189,0,0,0.81420159,93.201031,67.571865)" + clip-path="url(#clipPath1)" + id="line153" + y2="450" + style="fill:none;stroke-width:1.20068491;font-family:sans-serif" + y1="453" + x2="821" + x1="819" /> + <line + transform="translate(-28.319837,-16.629652)" + clip-path="url(#clipPath1)" + id="line155" + y2="450" + style="fill:none;font-family:sans-serif" + y1="354" + x2="821" + x1="821" /> + <rect + clip-path="url(#clipPath1)" + id="rect157" + height="93" + style="fill:#d7bc80;stroke:none;font-family:sans-serif" + width="247" + y="359" + x="571" + transform="translate(-28.912069,-16.856094)" /> + <rect + clip-path="url(#clipPath1)" + id="rect159" + height="95" + style="fill:#ffffb6;stroke:none;font-family:sans-serif" + width="1" + y="358" + x="570" + transform="translate(-28.912069,-16.856094)" /> + <rect + clip-path="url(#clipPath1)" + id="rect161" + height="1" + style="fill:#ffffb6;stroke:none;font-family:sans-serif" + width="247" + y="358" + x="571" + transform="translate(-28.912069,-16.856094)" /> + <rect + clip-path="url(#clipPath1)" + id="rect163" + height="1" + style="fill:#968359;stroke:none;font-family:sans-serif" + width="248" + y="452" + x="571" + transform="translate(-28.912069,-16.856094)" /> + <rect + clip-path="url(#clipPath1)" + id="rect165" + height="94" + style="fill:#968359;stroke:none;font-family:sans-serif" + width="1" + y="358" + x="818" + transform="translate(-28.912069,-16.856094)" /> + <text + clip-path="url(#clipPath1)" + id="text167" + xml:space="preserve" + style="font-weight:bold;stroke:none;font-family:sans-serif" + y="372" + x="651" + transform="translate(-28.912069,-16.856094)"><<BUS-RR>></text> + <text + clip-path="url(#clipPath1)" + id="text169" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="387" + x="668" + transform="translate(-28.912069,-16.856094)">MainBus</text> + <image + style="font-family:sans-serif" + clip-path="url(#clipPath1)" + id="image171" + preserveAspectRatio="none" + height="16" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAR0lEQVR42mNgGNng P6lqmJAFz93/RZIBjETaiA0wkq0Z6Eq4s8mzGs3PeBUbKbIx4FL3n4gAA6uBqWPC 4gqCLgW6gHGkpmcArSwgRFOuG2IAAAAASUVORK5CYII=" + width="15" + y="361" + x="573" + transform="translate(-28.912069,-16.856094)" /> + <rect + clip-path="url(#clipPath1)" + id="rect173" + height="40" + style="fill:none;font-family:sans-serif" + width="193" + y="398" + x="609" + transform="translate(-28.912069,-16.856094)" /> + <line + clip-path="url(#clipPath1)" + id="line175" + y2="428" + style="fill:none;font-family:sans-serif" + y1="403" + x2="777" + x1="777" + transform="translate(-28.912069,-16.856094)" /> + <line + clip-path="url(#clipPath1)" + id="line177" + y2="403" + style="fill:none;font-family:sans-serif" + y1="403" + x2="792" + x1="777" + transform="translate(-28.912069,-16.856094)" /> + <line + clip-path="url(#clipPath1)" + id="line179" + y2="408" + style="fill:none;font-family:sans-serif" + y1="403" + x2="797" + x1="792" + transform="translate(-28.912069,-16.856094)" /> + <line + clip-path="url(#clipPath1)" + id="line181" + y2="428" + style="fill:none;font-family:sans-serif" + y1="408" + x2="797" + x1="797" + transform="translate(-28.912069,-16.856094)" /> + <line + clip-path="url(#clipPath1)" + id="line183" + y2="428" + style="fill:none;font-family:sans-serif" + y1="428" + x2="777" + x1="797" + transform="translate(-28.912069,-16.856094)" /> + <line + clip-path="url(#clipPath1)" + id="line185" + y2="408" + style="fill:none;font-family:sans-serif" + y1="403" + x2="792" + x1="792" + transform="translate(-28.912069,-16.856094)" /> + <line + clip-path="url(#clipPath1)" + id="line187" + y2="408" + style="fill:none;font-family:sans-serif" + y1="408" + x2="797" + x1="792" + transform="translate(-28.912069,-16.856094)" /> + <text + clip-path="url(#clipPath1)" + id="text189" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="413" + x="614" + transform="translate(-28.912069,-16.856094)">NonSecureFV_enc::comm</text> + <text + clip-path="url(#clipPath1)" + id="text191" + xml:space="preserve" + style="font-style:italic;stroke:none;font-family:sans-serif" + y="433" + x="614" + transform="translate(-28.912069,-16.856094)">channel</text> + <rect + clip-path="url(#clipPath1)" + id="rect193" + height="140" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="1" + y="493" + x="592" + transform="matrix(1,0,0,0.64864194,-27.729655,138.62722)" /> + <rect + clip-path="url(#clipPath1)" + id="rect195" + height="1" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="204" + y="493" + x="593" + transform="translate(-27.729655,-34.592301)" /> + <line + clip-path="url(#clipPath1)" + id="line201" + y2="490" + style="fill:none;stroke-width:1.07604694;font-family:sans-serif" + y1="493" + x2="594" + x1="592" + transform="matrix(0.95209885,0,0,0.9071008,1.3071518,11.093786)" /> + <line + clip-path="url(#clipPath1)" + id="line203" + y2="490" + style="fill:none;font-family:sans-serif" + y1="493" + x2="799" + x1="797" + transform="translate(-27.089181,-34.370598)" /> + <line + clip-path="url(#clipPath1)" + id="line205" + y2="490" + style="fill:none;stroke-width:1.00027144;font-family:sans-serif" + y1="490" + x2="799" + x1="594" + transform="matrix(0.99945733,0,0,1,-26.458259,-34.592301)" /> + <line + clip-path="url(#clipPath1)" + id="line207" + y2="629" + style="fill:none;font-family:sans-serif" + y1="632" + x2="799" + x1="797" + transform="translate(-27.022044,-83.508321)" /> + <line + clip-path="url(#clipPath1)" + id="line209" + y2="629" + style="fill:none;stroke-width:1.24571478;font-family:sans-serif" + y1="490" + x2="799" + x1="799" + transform="matrix(1,0,0,0.64441072,-26.867478,139.63666)" /> + <rect + clip-path="url(#clipPath1)" + id="rect211" + height="136" + style="fill:#acead3;stroke:none;font-family:sans-serif" + width="202" + y="495" + x="594" + transform="matrix(1.0005347,0,0,0.64771399,-27.91143,139.27847)" /> + <rect + clip-path="url(#clipPath1)" + id="rect213" + height="138" + style="fill:#f5ffff;stroke:none;font-family:sans-serif" + width="1" + y="494" + x="593" + transform="matrix(1,0,0,0.62854625,-27.729655,148.90585)" /> + <rect + clip-path="url(#clipPath1)" + id="rect215" + height="1" + style="fill:#f5ffff;stroke:none;font-family:sans-serif" + width="202" + y="494" + x="594" + transform="translate(-27.729655,-34.592301)" /> + <rect + clip-path="url(#clipPath1)" + id="rect217" + height="1" + style="fill:#78a393;stroke:none;font-family:sans-serif" + width="203" + y="631" + x="594" + transform="matrix(0.99948516,0,0,1,-27.304901,-83.315116)" /> + <rect + clip-path="url(#clipPath1)" + id="rect219" + height="137" + style="fill:#78a393;stroke:none;font-family:sans-serif" + width="1" + y="494" + x="796" + transform="matrix(1,0,0,0.647872,-27.729655,139.35893)" /> + <text + clip-path="url(#clipPath1)" + id="text221" + xml:space="preserve" + style="font-weight:bold;stroke:none;font-family:sans-serif" + y="508" + x="648" + transform="translate(-27.729655,-34.592301)"><<MEMORY>></text> + <text + clip-path="url(#clipPath1)" + id="text223" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="523" + x="649" + transform="translate(-27.729655,-34.592301)">MainMemory</text> + <image + style="font-family:sans-serif" + clip-path="url(#clipPath1)" + id="image225" + preserveAspectRatio="none" + height="16" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAN0lEQVR42mNgGJKA EUr/J0cv2ZrP3f/FwESJs0c1k6mZETkKiGWTbbORIhsjsmZGJNOJYQ8gAACyshpS N3IeWgAAAABJRU5ErkJggg==" + width="15" + y="497" + x="596" + transform="translate(-27.729655,-34.592301)" /> + <rect + clip-path="url(#clipPath1)" + id="rect227" + height="40" + style="fill:none;font-family:sans-serif" + width="193" + y="548" + x="600" + transform="translate(-28.565748,-53.543738)" /> + <line + clip-path="url(#clipPath1)" + id="line229" + y2="578" + style="fill:none;font-family:sans-serif" + y1="553" + x2="768" + x1="768" + transform="translate(-28.565748,-53.543738)" /> + <line + clip-path="url(#clipPath1)" + id="line231" + y2="553" + style="fill:none;font-family:sans-serif" + y1="553" + x2="783" + x1="768" + transform="translate(-28.565748,-53.543738)" /> + <line + clip-path="url(#clipPath1)" + id="line233" + y2="558" + style="fill:none;font-family:sans-serif" + y1="553" + x2="788" + x1="783" + transform="translate(-28.565748,-53.543738)" /> + <line + clip-path="url(#clipPath1)" + id="line235" + y2="578" + style="fill:none;font-family:sans-serif" + y1="558" + x2="788" + x1="788" + transform="translate(-28.565748,-53.543738)" /> + <line + clip-path="url(#clipPath1)" + id="line237" + y2="578" + style="fill:none;font-family:sans-serif" + y1="578" + x2="768" + x1="788" + transform="translate(-28.565748,-53.543738)" /> + <line + clip-path="url(#clipPath1)" + id="line239" + y2="558" + style="fill:none;font-family:sans-serif" + y1="553" + x2="783" + x1="783" + transform="translate(-28.565748,-53.543738)" /> + <line + clip-path="url(#clipPath1)" + id="line241" + y2="558" + style="fill:none;font-family:sans-serif" + y1="558" + x2="788" + x1="783" + transform="translate(-28.565748,-53.543738)" /> + <text + clip-path="url(#clipPath1)" + id="text243" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="563" + x="605" + transform="translate(-28.565748,-53.543738)">NonSecureFV_enc::comm</text> + <text + clip-path="url(#clipPath1)" + id="text245" + xml:space="preserve" + style="font-style:italic;stroke:none;font-family:sans-serif" + y="583" + x="605" + transform="translate(-28.565748,-53.543738)">channel</text> + <rect + clip-path="url(#clipPath1)" + id="rect351" + height="51" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="1" + y="381" + x="971" + transform="translate(-53.099342,-15.228327)" /> + <rect + clip-path="url(#clipPath1)" + id="rect353" + height="1" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="249" + y="381" + x="972" + transform="translate(-53.099342,-15.228327)" /> + <rect + clip-path="url(#clipPath1)" + id="rect355" + height="1" + style="stroke:none;font-family:sans-serif" + width="250" + y="431" + x="972" + transform="translate(-53.099342,-15.228327)" /> + <rect + clip-path="url(#clipPath1)" + id="rect357" + height="50" + style="stroke:none;font-family:sans-serif" + width="1" + y="381" + x="1221" + transform="translate(-53.099342,-15.228327)" /> + <line + transform="matrix(0.87806979,0,0,0.9187132,65.974218,15.637435)" + clip-path="url(#clipPath1)" + id="line359" + y2="378" + style="fill:none;stroke-width:1.11338532;font-family:sans-serif" + y1="381" + x2="973" + x1="971" /> + <line + transform="matrix(0.86936049,0,0,0.9593566,107.02115,0.44841473)" + clip-path="url(#clipPath1)" + id="line361" + y2="378" + style="fill:none;stroke-width:1.09498966;font-family:sans-serif" + y1="381" + x2="1223" + x1="1221" /> + <line + transform="matrix(0.99923661,0,0,1,-51.55568,-15.228327)" + clip-path="url(#clipPath1)" + id="line363" + y2="378" + style="fill:none;stroke-width:1.00038183;font-family:sans-serif" + y1="378" + x2="1223" + x1="973" /> + <line + transform="matrix(0.83887794,0,0,0.83742639,144.46679,55.154434)" + clip-path="url(#clipPath1)" + id="line365" + y2="428" + style="fill:none;stroke-width:1.19310117;font-family:sans-serif" + y1="431" + x2="1223" + x1="1221" /> + <line + transform="translate(-52.489691,-15.036722)" + clip-path="url(#clipPath1)" + id="line367" + y2="428" + style="fill:none;font-family:sans-serif" + y1="378" + x2="1223" + x1="1223" /> + <rect + clip-path="url(#clipPath1)" + id="rect369" + height="47" + style="fill:#d7bc80;stroke:none;font-family:sans-serif" + width="247" + y="383" + x="973" + transform="translate(-53.099342,-15.228327)" /> + <rect + clip-path="url(#clipPath1)" + id="rect371" + height="49" + style="fill:#ffffb6;stroke:none;font-family:sans-serif" + width="1" + y="382" + x="972" + transform="translate(-53.099342,-15.228327)" /> + <rect + clip-path="url(#clipPath1)" + id="rect373" + height="1" + style="fill:#ffffb6;stroke:none;font-family:sans-serif" + width="247" + y="382" + x="973" + transform="translate(-53.099342,-15.228327)" /> + <rect + clip-path="url(#clipPath1)" + id="rect375" + height="1" + style="fill:#968359;stroke:none;font-family:sans-serif" + width="248" + y="430" + x="973" + transform="translate(-53.099342,-15.228327)" /> + <rect + clip-path="url(#clipPath1)" + id="rect377" + height="48" + style="fill:#968359;stroke:none;font-family:sans-serif" + width="1" + y="382" + x="1220" + transform="translate(-53.099342,-15.228327)" /> + <text + clip-path="url(#clipPath1)" + id="text379" + xml:space="preserve" + style="font-weight:bold;stroke:none;font-family:sans-serif" + y="396" + x="1053" + transform="translate(-53.099342,-15.228327)"><<BUS-RR>></text> + <text + clip-path="url(#clipPath1)" + id="text381" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="411" + x="1051" + transform="translate(-53.099342,-15.228327)">HSMBus_CPU2</text> + <image + style="font-family:sans-serif" + clip-path="url(#clipPath1)" + id="image383" + preserveAspectRatio="none" + height="16" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAR0lEQVR42mNgGNng P6lqmJAFz93/RZIBjETaiA0wkq0Z6Eq4s8mzGs3PeBUbKbIx4FL3n4gAA6uBqWPC 4gqCLgW6gHGkpmcArSwgRFOuG2IAAAAASUVORK5CYII=" + width="15" + y="385" + x="975" + transform="translate(-53.099342,-15.228327)" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon385" + points="975,416 975,399 978,403 981,403 984,399 987,403 990,403 993,399 993,416 984,424 " + style="fill:#00ff00;stroke:none;font-family:sans-serif" + transform="translate(-53.099342,-15.228327)" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon387" + points="975,416 975,399 978,403 981,403 984,399 987,403 990,403 993,399 993,416 984,424 " + style="fill:none;font-family:sans-serif" + transform="translate(-53.099342,-15.228327)" /> + <rect + clip-path="url(#clipPath1)" + id="rect389" + height="114" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="1" + y="467" + x="353" + transform="matrix(1,0,0,0.98141674,-65.763967,-20.913919)" /> + <rect + clip-path="url(#clipPath1)" + id="rect391" + height="1" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="199" + y="467" + x="354" + transform="translate(-65.763967,-29.592301)" /> + <rect + clip-path="url(#clipPath1)" + id="rect393" + height="1" + style="stroke:none;font-family:sans-serif" + width="200" + y="580" + x="354" + transform="translate(-66.256639,-31.661525)" /> + <line + transform="matrix(0.86451508,0,0,0.90967672,-17.248049,12.465502)" + clip-path="url(#clipPath1)" + id="line397" + y2="464" + style="fill:none;stroke-width:1.12763917;font-family:sans-serif" + y1="467" + x2="355" + x1="353" /> + <line + transform="matrix(0.84911907,0,0,0.93020474,18.265421,3.141435)" + clip-path="url(#clipPath1)" + id="line399" + y2="464" + style="fill:none;stroke-width:1.12519145;font-family:sans-serif" + y1="467" + x2="555" + x1="553" /> + <line + transform="matrix(0.99941781,0,0,1,-64.8432,-29.592301)" + clip-path="url(#clipPath1)" + id="line401" + y2="464" + style="fill:none;stroke-width:1.00029123;font-family:sans-serif" + y1="464" + x2="555" + x1="355" /> + <line + transform="matrix(0.7782974,0,0,0.84603987,57.630068,57.933526)" + clip-path="url(#clipPath1)" + id="line403" + y2="577" + style="fill:none;stroke-width:1.23234355;font-family:sans-serif" + y1="580" + x2="555" + x1="553" /> + <line + transform="matrix(1,0,0,0.98181743,-65.171735,-21.025329)" + clip-path="url(#clipPath1)" + id="line405" + y2="577" + style="fill:none;stroke-width:1.00921714;font-family:sans-serif" + y1="464" + x2="555" + x1="555" /> + <rect + clip-path="url(#clipPath1)" + id="rect407" + height="110" + style="fill:#acead3;stroke:none;font-family:sans-serif" + width="197" + y="469" + x="355" + transform="matrix(1,0,0,0.98768319,-65.763967,-23.828034)" /> + <rect + clip-path="url(#clipPath1)" + id="rect409" + height="112" + style="fill:#f5ffff;stroke:none;font-family:sans-serif" + width="1" + y="468" + x="354" + transform="matrix(1,0,0,0.98141481,-65.72913,-20.889119)" /> + <rect + clip-path="url(#clipPath1)" + id="rect411" + height="1" + style="fill:#f5ffff;stroke:none;font-family:sans-serif" + width="197" + y="468" + x="355" + transform="translate(-65.763967,-29.592301)" /> + <rect + clip-path="url(#clipPath1)" + id="rect413" + height="1" + style="fill:#78a393;stroke:none;font-family:sans-serif" + width="198" + y="579" + x="355" + transform="matrix(1,0,0,0.98768319,-65.72913,-24.524778)" /> + <rect + clip-path="url(#clipPath1)" + id="rect415" + height="111" + style="fill:#78a393;stroke:none;font-family:sans-serif" + width="1" + y="468" + x="552" + transform="matrix(1,0,0,0.9898263,-65.746548,-24.788929)" /> + <text + clip-path="url(#clipPath1)" + id="text417" + xml:space="preserve" + style="font-weight:bold;stroke:none;font-family:sans-serif" + y="482" + x="407" + transform="translate(-65.763967,-29.592301)"><<MEMORY>></text> + <text + clip-path="url(#clipPath1)" + id="text419" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="497" + x="388" + transform="translate(-65.763967,-29.592301)">HSMMemory_CPU1</text> + <image + style="font-family:sans-serif" + clip-path="url(#clipPath1)" + id="image421" + preserveAspectRatio="none" + height="16" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAN0lEQVR42mNgGJKA EUr/J0cv2ZrP3f/FwESJs0c1k6mZETkKiGWTbbORIhsjsmZGJNOJYQ8gAACyshpS N3IeWgAAAABJRU5ErkJggg==" + width="15" + y="471" + x="357" + transform="translate(-65.763967,-29.592301)" /> + <rect + clip-path="url(#clipPath1)" + id="rect423" + height="40" + style="fill:none;font-family:sans-serif" + width="144" + y="515" + x="377" + transform="translate(-65.763967,-29.592301)" /> + <rect + clip-path="url(#clipPath1)" + id="rect425" + height="39" + style="fill:#ace2d3;stroke:none;font-family:sans-serif" + width="143" + y="516" + x="378" + transform="translate(-65.763967,-29.592301)" /> + <circle + sodipodi:ry="6.5" + sodipodi:rx="6.5" + sodipodi:cy="526.5" + sodipodi:cx="507.5" + d="m 514,526.5 c 0,3.58985 -2.91015,6.5 -6.5,6.5 -3.58985,0 -6.5,-2.91015 -6.5,-6.5 0,-3.58985 2.91015,-6.5 6.5,-6.5 3.58985,0 6.5,2.91015 6.5,6.5 z" + clip-path="url(#clipPath1)" + id="circle427" + cy="526.5" + cx="507.5" + r="6.5" + style="stroke:none;font-family:sans-serif" + transform="translate(-65.763967,-29.592301)" /> + <rect + clip-path="url(#clipPath1)" + id="rect429" + height="25" + style="stroke:none;font-family:sans-serif" + width="3" + y="520" + x="506" + transform="translate(-65.763967,-29.592301)" /> + <rect + clip-path="url(#clipPath1)" + id="rect431" + height="3" + style="stroke:none;font-family:sans-serif" + width="8" + y="545" + x="506" + transform="translate(-65.763967,-29.592301)" /> + <rect + clip-path="url(#clipPath1)" + id="rect433" + height="3" + style="stroke:none;font-family:sans-serif" + width="8" + y="541" + x="506" + transform="translate(-65.763967,-29.592301)" /> + <text + clip-path="url(#clipPath1)" + id="text435" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="530" + x="382" + transform="translate(-65.763967,-29.592301)">autoEncrypt_comm</text> + <text + clip-path="url(#clipPath1)" + id="text437" + xml:space="preserve" + style="font-style:italic;stroke:none;font-family:sans-serif" + y="550" + x="382" + transform="translate(-65.763967,-29.592301)">key</text> + <rect + clip-path="url(#clipPath1)" + id="rect439" + height="112" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="1" + y="470" + x="98" + transform="translate(-70.493622,-32.720146)" /> + <rect + clip-path="url(#clipPath1)" + id="rect441" + height="1" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="244" + y="470" + x="99" + transform="translate(-70.493622,-32.720146)" /> + <rect + clip-path="url(#clipPath1)" + id="rect443" + height="1" + style="stroke:none;font-family:sans-serif" + width="245" + y="581" + x="99" + transform="translate(-70.493622,-32.720146)" /> + <rect + clip-path="url(#clipPath1)" + id="rect445" + height="111" + style="stroke:none;font-family:sans-serif" + width="1" + y="470" + x="343" + transform="translate(-70.493622,-32.720146)" /> + <line + transform="matrix(0.86936049,0,0,0.9245194,-57.011625,2.6512265)" + clip-path="url(#clipPath1)" + id="line447" + y2="467" + style="fill:none;stroke-width:1.11542928;font-family:sans-serif" + y1="470" + x2="100" + x1="98" /> + <line + transform="matrix(0.82581399,0,0,0.9651628,-10.225263,-16.172474)" + clip-path="url(#clipPath1)" + id="line449" + y2="467" + style="fill:none;stroke-width:1.12010467;font-family:sans-serif" + y1="470" + x2="345" + x1="343" /> + <line + transform="matrix(0.99865463,0,0,1,-69.523662,-32.720146)" + clip-path="url(#clipPath1)" + id="line451" + y2="467" + style="fill:none;stroke-width:1.00067341;font-family:sans-serif" + y1="467" + x2="345" + x1="100" /> + <line + transform="matrix(0.78041064,0,0,0.84158206,5.6138053,59.640917)" + clip-path="url(#clipPath1)" + id="line453" + y2="578" + style="fill:none;stroke-width:1.23392904;font-family:sans-serif" + y1="581" + x2="345" + x1="343" /> + <line + transform="translate(-69.971064,-32.54596)" + clip-path="url(#clipPath1)" + id="line455" + y2="578" + style="fill:none;font-family:sans-serif" + y1="467" + x2="345" + x1="345" /> + <rect + clip-path="url(#clipPath1)" + id="rect457" + height="108" + style="fill:#90c9d3;stroke:none;font-family:sans-serif" + width="242" + y="472" + x="100" + transform="translate(-70.493622,-32.720146)" /> + <rect + clip-path="url(#clipPath1)" + id="rect459" + height="110" + style="fill:#cdffff;stroke:none;font-family:sans-serif" + width="1" + y="471" + x="99" + transform="translate(-70.493622,-32.720146)" /> + <rect + clip-path="url(#clipPath1)" + id="rect461" + height="1" + style="fill:#cdffff;stroke:none;font-family:sans-serif" + width="242" + y="471" + x="100" + transform="translate(-70.493622,-32.720146)" /> + <rect + clip-path="url(#clipPath1)" + id="rect463" + height="1" + style="fill:#648c93;stroke:none;font-family:sans-serif" + width="243" + y="580" + x="100" + transform="translate(-70.493622,-32.720146)" /> + <rect + clip-path="url(#clipPath1)" + id="rect465" + height="109" + style="fill:#648c93;stroke:none;font-family:sans-serif" + width="1" + y="471" + x="342" + transform="translate(-70.493622,-32.720146)" /> + <text + clip-path="url(#clipPath1)" + id="text467" + xml:space="preserve" + style="font-weight:bold;stroke:none;font-family:sans-serif" + y="485" + x="186" + transform="translate(-70.493622,-32.720146)"><<HWA>></text> + <text + clip-path="url(#clipPath1)" + id="text469" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="500" + x="187" + transform="translate(-70.493622,-32.720146)">HSM_CPU1</text> + <image + style="font-family:sans-serif" + clip-path="url(#clipPath1)" + id="image471" + preserveAspectRatio="none" + height="16" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAARElEQVR42mNgoBL4 D8XEshmY0E04d//Xf2LZjEgmkgoYydYMtB3T2aSAUc1kamZEjgJi2WTbbKTIxois mRHJdGLYAwgA0yQw5H1+PIsAAAAASUVORK5CYII=" + width="15" + y="474" + x="102" + transform="translate(-70.493622,-32.720146)" /> + <rect + clip-path="url(#clipPath1)" + id="rect473" + height="40" + style="fill:none;font-family:sans-serif" + width="222" + y="523" + x="105" + transform="translate(-70.493622,-32.720146)" /> + <rect + clip-path="url(#clipPath1)" + id="rect475" + height="39" + style="fill:#c6e3f9;stroke:none;font-family:sans-serif" + width="221" + y="524" + x="106" + transform="translate(-70.493622,-32.720146)" /> + <line + clip-path="url(#clipPath1)" + id="line477" + y2="553" + style="fill:none;font-family:sans-serif" + y1="528" + x2="302" + x1="302" + transform="translate(-70.493622,-32.720146)" /> + <line + clip-path="url(#clipPath1)" + id="line479" + y2="528" + style="fill:none;font-family:sans-serif" + y1="528" + x2="317" + x1="302" + transform="translate(-70.493622,-32.720146)" /> + <line + clip-path="url(#clipPath1)" + id="line481" + y2="533" + style="fill:none;font-family:sans-serif" + y1="528" + x2="322" + x1="317" + transform="translate(-70.493622,-32.720146)" /> + <line + clip-path="url(#clipPath1)" + id="line483" + y2="553" + style="fill:none;font-family:sans-serif" + y1="533" + x2="322" + x1="322" + transform="translate(-70.493622,-32.720146)" /> + <line + clip-path="url(#clipPath1)" + id="line485" + y2="553" + style="fill:none;font-family:sans-serif" + y1="553" + x2="302" + x1="322" + transform="translate(-70.493622,-32.720146)" /> + <line + clip-path="url(#clipPath1)" + id="line487" + y2="533" + style="fill:none;font-family:sans-serif" + y1="528" + x2="317" + x1="317" + transform="translate(-70.493622,-32.720146)" /> + <line + clip-path="url(#clipPath1)" + id="line489" + y2="533" + style="fill:none;font-family:sans-serif" + y1="533" + x2="322" + x1="317" + transform="translate(-70.493622,-32.720146)" /> + <text + clip-path="url(#clipPath1)" + id="text491" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="538" + x="110" + transform="translate(-70.493622,-32.720146)">NonSecureFV_enc::HSM_CPU1</text> + <rect + clip-path="url(#clipPath1)" + id="rect493" + height="51" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="1" + y="371" + x="173" + transform="translate(-23,-4.6378174)" /> + <rect + clip-path="url(#clipPath1)" + id="rect495" + height="1" + style="fill:#030303;stroke:none;font-family:sans-serif" + width="249" + y="371" + x="174" + transform="translate(-23,-4.6378174)" /> + <rect + clip-path="url(#clipPath1)" + id="rect497" + height="1" + style="stroke:none;font-family:sans-serif" + width="250" + y="421" + x="174" + transform="translate(-23,-4.6378174)" /> + <rect + clip-path="url(#clipPath1)" + id="rect499" + height="50" + style="stroke:none;font-family:sans-serif" + width="1" + y="371" + x="423" + transform="translate(-23,-4.6378174)" /> + <line + transform="matrix(1.0261279,0,0,0.9303256,-26.875639,21.176549)" + clip-path="url(#clipPath1)" + id="line501" + y2="368" + style="fill:none;stroke-width:1.02348566;font-family:sans-serif" + y1="371" + x2="175" + x1="173" /> + <line + transform="translate(-22.512279,-4.4287942)" + clip-path="url(#clipPath1)" + id="line503" + y2="368" + style="fill:none;font-family:sans-serif" + y1="371" + x2="425" + x1="423" /> + <line + transform="matrix(0.9956974,0,0,1,-21.169243,-4.6378174)" + clip-path="url(#clipPath1)" + id="line505" + y2="368" + style="fill:none;stroke-width:1.00215828;font-family:sans-serif" + y1="368" + x2="425" + x1="175" /> + <line + transform="matrix(0.88299029,0,0,0.81730064,27.435709,72.557311)" + clip-path="url(#clipPath1)" + id="line507" + y2="418" + style="fill:none;stroke-width:1.17714822;font-family:sans-serif" + y1="421" + x2="425" + x1="423" /> + <line + transform="translate(-22.059396,-4.3591198)" + clip-path="url(#clipPath1)" + id="line509" + y2="418" + style="fill:none;font-family:sans-serif" + y1="368" + x2="425" + x1="425" /> + <rect + clip-path="url(#clipPath1)" + id="rect511" + height="47" + style="fill:#d7bc80;stroke:none;font-family:sans-serif" + width="247" + y="373" + x="175" + transform="translate(-23,-4.6378174)" /> + <rect + clip-path="url(#clipPath1)" + id="rect513" + height="49" + style="fill:#ffffb6;stroke:none;font-family:sans-serif" + width="1" + y="372" + x="174" + transform="translate(-23,-4.6378174)" /> + <rect + clip-path="url(#clipPath1)" + id="rect515" + height="1" + style="fill:#ffffb6;stroke:none;font-family:sans-serif" + width="247" + y="372" + x="175" + transform="translate(-23,-4.6378174)" /> + <rect + clip-path="url(#clipPath1)" + id="rect517" + height="1" + style="fill:#968359;stroke:none;font-family:sans-serif" + width="248" + y="420" + x="175" + transform="translate(-23,-4.6378174)" /> + <rect + clip-path="url(#clipPath1)" + id="rect519" + height="48" + style="fill:#968359;stroke:none;font-family:sans-serif" + width="1" + y="372" + x="422" + transform="translate(-23,-4.6378174)" /> + <text + clip-path="url(#clipPath1)" + id="text521" + xml:space="preserve" + style="font-weight:bold;stroke:none;font-family:sans-serif" + y="386" + x="255" + transform="translate(-23,-4.6378174)"><<BUS-RR>></text> + <text + clip-path="url(#clipPath1)" + id="text523" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="401" + x="253" + transform="translate(-23,-4.6378174)">HSMBus_CPU1</text> + <image + style="font-family:sans-serif" + clip-path="url(#clipPath1)" + id="image525" + preserveAspectRatio="none" + height="16" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAR0lEQVR42mNgGNng P6lqmJAFz93/RZIBjETaiA0wkq0Z6Eq4s8mzGs3PeBUbKbIx4FL3n4gAA6uBqWPC 4gqCLgW6gHGkpmcArSwgRFOuG2IAAAAASUVORK5CYII=" + width="15" + y="375" + x="177" + transform="translate(-23,-4.6378174)" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon527" + points="186,414 177,406 177,389 180,393 183,393 186,389 189,393 192,393 195,389 195,406 " + style="fill:#00ff00;stroke:none;font-family:sans-serif" + transform="translate(-23,-4.6378174)" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon529" + points="186,414 177,406 177,389 180,393 183,393 186,389 189,393 192,393 195,389 195,406 " + style="fill:none;font-family:sans-serif" + transform="translate(-23,-4.6378174)" /> + <rect + clip-path="url(#clipPath1)" + id="rect65" + height="40" + style="fill:none;font-family:sans-serif" + width="171" + y="213" + x="288" + transform="translate(-23.278698,-2.9656317)" /> + <rect + clip-path="url(#clipPath1)" + id="rect395" + height="113" + style="stroke:none;font-family:sans-serif" + width="1" + y="467" + x="553" + transform="matrix(1,0,0,0.99044289,-65.763967,-25.129131)" /> + <line + transform="matrix(-0.00309774,0,0,0.34378446,968.19577,271.97457)" + clip-path="url(#clipPath1-2)" + id="line27-2" + y2="421" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:30.64323044;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="470" + x2="235" + x1="220" /> + <line + transform="matrix(-0.00299522,0,0,0.35738379,1135.591,266.15073)" + clip-path="url(#clipPath1-2)" + id="line29-5" + y2="421" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:30.56455231;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="467" + x2="360" + x1="403" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect389-1" + height="114" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#030303;fill-opacity:1;stroke:none;font-family:sans-serif" + width="1" + y="467" + x="353" + transform="matrix(1,0,0,0.98141674,732.45315,-21.750679)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect391-0" + height="1" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#030303;fill-opacity:1;stroke:none;font-family:sans-serif" + width="199" + y="467" + x="354" + transform="translate(732.45315,-30.429069)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect393-6" + height="1" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + width="200" + y="580" + x="354" + transform="translate(731.96047,-32.498289)" /> + <line + transform="matrix(0.86451508,0,0,0.90967672,780.96906,11.628741)" + clip-path="url(#clipPath1-2)" + id="line397-2" + y2="464" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.12763917;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="467" + x2="355" + x1="353" /> + <line + transform="matrix(0.84911907,0,0,0.93020474,816.48253,2.3046707)" + clip-path="url(#clipPath1-2)" + id="line399-1" + y2="464" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.12519145;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="467" + x2="555" + x1="553" /> + <line + transform="matrix(0.99941781,0,0,1,733.37391,-30.429069)" + clip-path="url(#clipPath1-2)" + id="line401-8" + y2="464" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.00029123;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="464" + x2="555" + x1="355" /> + <line + transform="matrix(0.7782974,0,0,0.84603987,855.84717,57.096759)" + clip-path="url(#clipPath1-2)" + id="line403-6" + y2="577" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.23234355;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="580" + x2="555" + x1="553" /> + <line + transform="matrix(1,0,0,0.98181743,733.04538,-21.862089)" + clip-path="url(#clipPath1-2)" + id="line405-6" + y2="577" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.00921714;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="464" + x2="555" + x1="555" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect407-9" + height="110" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#acead3;fill-opacity:1;stroke:none;font-family:sans-serif" + width="197" + y="469" + x="355" + transform="matrix(1,0,0,0.98768319,732.45315,-24.664799)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect409-4" + height="112" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#f5ffff;fill-opacity:1;stroke:none;font-family:sans-serif" + width="1" + y="468" + x="354" + transform="matrix(1,0,0,0.98141481,732.48798,-21.725879)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect411-3" + height="1" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#f5ffff;fill-opacity:1;stroke:none;font-family:sans-serif" + width="197" + y="468" + x="355" + transform="translate(732.45315,-30.429069)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect413-3" + height="1" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#78a393;fill-opacity:1;stroke:none;font-family:sans-serif" + width="198" + y="579" + x="355" + transform="matrix(1,0,0,0.98768319,732.48798,-25.361539)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect415-6" + height="111" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#78a393;fill-opacity:1;stroke:none;font-family:sans-serif" + width="1" + y="468" + x="552" + transform="matrix(1,0,0,0.9898263,732.47056,-25.625689)" /> + <text + clip-path="url(#clipPath1-2)" + id="text417-0" + xml:space="preserve" + style="font-size:12px;font-style:normal;font-weight:bold;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + y="482" + x="407" + transform="translate(732.45315,-30.429069)"><<MEMORY>></text> + <text + clip-path="url(#clipPath1-2)" + id="text419-6" + xml:space="preserve" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + y="497" + x="388" + transform="translate(732.45315,-30.429069)">HSMMemory_CPU2</text> + <image + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + clip-path="url(#clipPath1-2)" + id="image421-5" + preserveAspectRatio="none" + height="16" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAN0lEQVR42mNgGJKA EUr/J0cv2ZrP3f/FwESJs0c1k6mZETkKiGWTbbORIhsjsmZGJNOJYQ8gAACyshpS N3IeWgAAAABJRU5ErkJggg==" + width="15" + y="471" + x="357" + transform="translate(732.45315,-30.429069)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect423-9" + height="40" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + width="144" + y="515" + x="377" + transform="translate(732.45315,-30.429069)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect425-9" + height="39" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#ace2d3;fill-opacity:1;stroke:none;font-family:sans-serif" + width="143" + y="516" + x="378" + transform="translate(732.45315,-30.429069)" /> + <circle + sodipodi:ry="6.5" + sodipodi:rx="6.5" + sodipodi:cy="526.5" + sodipodi:cx="507.5" + d="m 514,526.5 c 0,3.58985 -2.91015,6.5 -6.5,6.5 -3.58985,0 -6.5,-2.91015 -6.5,-6.5 0,-3.58985 2.91015,-6.5 6.5,-6.5 3.58985,0 6.5,2.91015 6.5,6.5 z" + clip-path="url(#clipPath1-2)" + id="circle427-8" + cy="526.5" + cx="507.5" + r="6.5" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + transform="translate(732.45315,-30.429069)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect429-4" + height="25" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + width="3" + y="520" + x="506" + transform="translate(732.45315,-30.429069)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect431-3" + height="3" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + width="8" + y="545" + x="506" + transform="translate(732.45315,-30.429069)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect433-5" + height="3" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + width="8" + y="541" + x="506" + transform="translate(732.45315,-30.429069)" /> + <text + clip-path="url(#clipPath1-2)" + id="text435-9" + xml:space="preserve" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + y="530" + x="382" + transform="translate(732.45315,-30.429069)">autoEncrypt_comm</text> + <text + clip-path="url(#clipPath1-2)" + id="text437-5" + xml:space="preserve" + style="font-size:12px;font-style:italic;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + y="550" + x="382" + transform="translate(732.45315,-30.429069)">key</text> + <rect + clip-path="url(#clipPath1-2)" + id="rect439-3" + height="112" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#030303;fill-opacity:1;stroke:none;font-family:sans-serif" + width="1" + y="470" + x="98" + transform="translate(727.72349,-33.556909)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect441-3" + height="1" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#030303;fill-opacity:1;stroke:none;font-family:sans-serif" + width="244" + y="470" + x="99" + transform="translate(727.72349,-33.556909)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect443-6" + height="1" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + width="245" + y="581" + x="99" + transform="translate(727.72349,-33.556909)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect445-7" + height="111" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + width="1" + y="470" + x="343" + transform="translate(727.72349,-33.556909)" /> + <line + transform="matrix(0.86936049,0,0,0.9245194,741.20549,1.8144607)" + clip-path="url(#clipPath1-2)" + id="line447-3" + y2="467" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.11542928;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="470" + x2="100" + x1="98" /> + <line + transform="matrix(0.82581399,0,0,0.9651628,787.99185,-17.009239)" + clip-path="url(#clipPath1-2)" + id="line449-8" + y2="467" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.12010467;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="470" + x2="345" + x1="343" /> + <line + transform="matrix(0.99865463,0,0,1,728.69345,-33.556909)" + clip-path="url(#clipPath1-2)" + id="line451-2" + y2="467" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.00067341;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="467" + x2="345" + x1="100" /> + <line + transform="matrix(0.78041064,0,0,0.84158206,803.83092,58.804149)" + clip-path="url(#clipPath1-2)" + id="line453-6" + y2="578" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.23392904;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="581" + x2="345" + x1="343" /> + <line + transform="translate(728.24605,-33.382729)" + clip-path="url(#clipPath1-2)" + id="line455-0" + y2="578" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="467" + x2="345" + x1="345" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect457-0" + height="108" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#90c9d3;fill-opacity:1;stroke:none;font-family:sans-serif" + width="242" + y="472" + x="100" + transform="translate(727.72349,-33.556909)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect459-0" + height="110" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#cdffff;fill-opacity:1;stroke:none;font-family:sans-serif" + width="1" + y="471" + x="99" + transform="translate(727.72349,-33.556909)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect461-4" + height="1" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#cdffff;fill-opacity:1;stroke:none;font-family:sans-serif" + width="242" + y="471" + x="100" + transform="translate(727.72349,-33.556909)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect463-8" + height="1" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#648c93;fill-opacity:1;stroke:none;font-family:sans-serif" + width="243" + y="580" + x="100" + transform="translate(727.72349,-33.556909)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect465-6" + height="109" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#648c93;fill-opacity:1;stroke:none;font-family:sans-serif" + width="1" + y="471" + x="342" + transform="translate(727.72349,-33.556909)" /> + <text + clip-path="url(#clipPath1-2)" + id="text467-0" + xml:space="preserve" + style="font-size:12px;font-style:normal;font-weight:bold;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + y="485" + x="186" + transform="translate(727.72349,-33.556909)"><<HWA>></text> + <text + clip-path="url(#clipPath1-2)" + id="text469-8" + xml:space="preserve" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + y="500" + x="187" + transform="translate(727.72349,-33.556909)">HSM_CPU2</text> + <image + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + clip-path="url(#clipPath1-2)" + id="image471-0" + preserveAspectRatio="none" + height="16" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAARElEQVR42mNgoBL4 D8XEshmY0E04d//Xf2LZjEgmkgoYydYMtB3T2aSAUc1kamZEjgJi2WTbbKTIxois mRHJdGLYAwgA0yQw5H1+PIsAAAAASUVORK5CYII=" + width="15" + y="474" + x="102" + transform="translate(727.72349,-33.556909)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect473-5" + height="40" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + width="222" + y="523" + x="105" + transform="translate(727.72349,-33.556909)" /> + <rect + clip-path="url(#clipPath1-2)" + id="rect475-3" + height="39" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#c6e3f9;fill-opacity:1;stroke:none;font-family:sans-serif" + width="221" + y="524" + x="106" + transform="translate(727.72349,-33.556909)" /> + <line + clip-path="url(#clipPath1-2)" + id="line477-7" + y2="553" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="528" + x2="302" + x1="302" + transform="translate(727.72349,-33.556909)" /> + <line + clip-path="url(#clipPath1-2)" + id="line479-8" + y2="528" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="528" + x2="317" + x1="302" + transform="translate(727.72349,-33.556909)" /> + <line + clip-path="url(#clipPath1-2)" + id="line481-9" + y2="533" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="528" + x2="322" + x1="317" + transform="translate(727.72349,-33.556909)" /> + <line + clip-path="url(#clipPath1-2)" + id="line483-4" + y2="553" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="533" + x2="322" + x1="322" + transform="translate(727.72349,-33.556909)" /> + <line + clip-path="url(#clipPath1-2)" + id="line485-7" + y2="553" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="553" + x2="302" + x1="322" + transform="translate(727.72349,-33.556909)" /> + <line + clip-path="url(#clipPath1-2)" + id="line487-1" + y2="533" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="528" + x2="317" + x1="317" + transform="translate(727.72349,-33.556909)" /> + <line + clip-path="url(#clipPath1-2)" + id="line489-2" + y2="533" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="533" + x2="322" + x1="317" + transform="translate(727.72349,-33.556909)" /> + <text + clip-path="url(#clipPath1-2)" + id="text491-4" + xml:space="preserve" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + y="538" + x="110" + transform="translate(727.72349,-33.556909)">NonSecureFV_enc::HSM_CPU2</text> + <rect + clip-path="url(#clipPath1-2)" + id="rect395-6" + height="113" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + width="1" + y="467" + x="553" + transform="matrix(1,0,0,0.99044289,732.45315,-25.965899)" /> + <rect + clip-path="url(#clipPath1)" + id="rect197" + height="1" + style="stroke:none;font-family:sans-serif" + width="205" + y="632" + x="593" + transform="matrix(1,0,0,0.62854625,-27.889411,151.32405)" /> + <rect + clip-path="url(#clipPath1)" + id="rect199" + height="139" + style="stroke:none;font-family:sans-serif" + width="1" + y="493" + x="797" + transform="matrix(1,0,0,0.65729539,-27.729655,133.33297)" /> + </g> +</svg> diff --git a/doc/SysMLSec/fig/hsmfunc.svg b/doc/SysMLSec/fig/hsmfunc.svg new file mode 100644 index 0000000000000000000000000000000000000000..361bd8de07fc3d58c29fba8b411e8bcf3f87aa29 --- /dev/null +++ b/doc/SysMLSec/fig/hsmfunc.svg @@ -0,0 +1,891 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:Dialog" + id="svg2" + version="1.1" + inkscape:version="0.48.4 r9939" + width="1269.9756" + height="151.32782" + sodipodi:docname="hsmfunc.svg"> + <rect + x="1297" + y="209" + width="226" + style="fill:#c9f3bc;fill-opacity:0.78430002;stroke:none;font-family:sans-serif" + height="149" + id="rect141" + clip-path="url(#clipPath1)" + transform="matrix(0.89839999,0,0,0.97749685,-98.42336,-200.95206)" /> + <g + id="g19" + style="fill:#c9f3bc;fill-opacity:0.78430002;stroke:#c9f3bc;stroke-width:0.99780333;stroke-opacity:0.78430002;font-family:sans-serif" + transform="matrix(0.99875588,0,0,1.0056591,-228.31388,-218.57405)"> + <rect + clip-path="url(#clipPath1)" + id="rect21" + height="149" + style="stroke:none" + width="199" + y="218" + x="604" /> + </g> + <rect + x="932" + y="220" + width="199" + style="fill:#c9f3bc;fill-opacity:0.78430002;stroke:none;font-family:sans-serif" + height="149" + id="rect77" + clip-path="url(#clipPath1)" + transform="matrix(1.0049765,0,0,0.99444811,-234.69187,-216.12073)" /> + <metadata + id="metadata243"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2048" + inkscape:window-height="1086" + id="namedview241" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:zoom="0.63429569" + inkscape:cx="977.94468" + inkscape:cy="245.32161" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:current-layer="svg2" /> + <!--Generated by the Batik Graphics2D SVG Generator--> + <g + id="g177" + style="fill:#c9f3bc;fill-opacity:0.78430002;stroke:#c9f3bc;stroke-width:0.9995057;stroke-opacity:0.78430002;font-family:sans-serif" + transform="matrix(0.9966762,0,0,1.0043275,-218.05333,-218.08604)"> + <rect + clip-path="url(#clipPath1)" + id="rect179" + height="149" + style="stroke:none" + width="226" + y="218" + x="219" /> + </g> + <defs + id="genericDefs"> + <defs + id="defs1"> + <clipPath + id="clipPath1" + clipPathUnits="userSpaceOnUse"> + <path + inkscape:connector-curvature="0" + id="path9" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" /> + </clipPath> + </defs> + <clipPath + id="clipPath1-8" + clipPathUnits="userSpaceOnUse"> + <path + inkscape:connector-curvature="0" + id="path9-6" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" /> + </clipPath> + <clipPath + id="clipPath1-9" + clipPathUnits="userSpaceOnUse"> + <path + inkscape:connector-curvature="0" + id="path9-9" + d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" /> + </clipPath> + </defs> + <g + id="g15" + style="font-family:sans-serif" + transform="translate(-229.06595,-216.5)"> + <rect + clip-path="url(#clipPath1)" + id="rect17" + height="150" + style="fill:none" + width="200" + y="217" + x="603" /> + </g> + <text + x="694" + y="246" + style="font-size:14px;stroke:none;font-family:sans-serif" + xml:space="preserve" + id="text25" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)">T1</text> + <image + style="font-size:14px;font-family:sans-serif" + x="773" + y="232" + width="15" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAdklEQVR42mNgGCjA iMb/T4peDM3n7v8iqMtIkY0BpI4Rj42MePSDLWGC8WA2ItH/oYaiYzhgQnYKMo1s KAwjGQoGLDAnggRhfsHiR6zeg2n+j8VmRkKhT8jPeAELIT9D+f/xacbqZ0JxTnYK Q04kyIL/GQY9AAAW0Uztnea6vQAAAABJRU5ErkJggg==" + height="16" + preserveAspectRatio="none" + id="image27" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="790" + y="272" + width="26" + style="font-size:14px;fill:#68e5ff;stroke:none;font-family:sans-serif" + height="26" + id="rect29" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="790" + y="272" + width="26" + style="font-size:14px;fill:none;font-family:sans-serif" + height="26" + id="rect31" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;fill:none;font-family:sans-serif" + points="793,275 793,295 813,285 " + id="polygon33" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;stroke:none;font-family:sans-serif" + points="793,275 793,295 813,285 " + id="polygon35" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <line + transform="translate(-228.22986,-216.56967)" + x1="813" + x2="813" + y1="295" + style="font-size:14px;fill:none;font-family:sans-serif" + y2="275" + id="line37" + clip-path="url(#clipPath1)" /> + <text + x="772" + y="265" + style="font-size:8px;stroke:none;font-family:sans-serif" + xml:space="preserve" + id="text41" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)">???</text> + <ellipse + style="font-size:14px;fill:none;font-family:sans-serif" + rx="3" + cx="781" + ry="4.5" + cy="276.5" + id="ellipse43" + clip-path="url(#clipPath1)" + d="m 784,276.5 c 0,2.48528 -1.34315,4.5 -3,4.5 -1.65685,0 -3,-2.01472 -3,-4.5 0,-2.48528 1.34315,-4.5 3,-4.5 1.65685,0 3,2.01472 3,4.5 z" + sodipodi:cx="781" + sodipodi:cy="276.5" + sodipodi:rx="3" + sodipodi:ry="4.5" + transform="translate(-229.06595,-216.5)" /> + <rect + x="777" + y="275" + width="9" + style="font-size:14px;fill:#808080;stroke:none;font-family:sans-serif" + height="7" + id="rect45" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="777" + y="275" + width="9" + style="font-size:14px;fill:none;font-family:sans-serif" + height="7" + id="rect47" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="590" + y="311" + width="26" + style="font-size:14px;fill:#c4a67a;stroke:none;font-family:sans-serif" + height="26" + id="rect49" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="590" + y="311" + width="26" + style="font-size:14px;fill:none;font-family:sans-serif" + height="26" + id="rect51" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;fill:none;font-family:sans-serif" + points="613,314 613,334 593,324 " + id="polygon53" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;stroke:none;font-family:sans-serif" + points="613,314 613,334 593,324 " + id="polygon55" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="590" + y="266" + width="26" + style="font-size:14px;fill:#68e5ff;stroke:none;font-family:sans-serif" + height="26" + id="rect57" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="590" + y="266" + width="26" + style="font-size:14px;fill:none;font-family:sans-serif" + height="26" + id="rect59" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;fill:none;font-family:sans-serif" + points="613,269 613,289 593,279 " + id="polygon61" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;stroke:none;font-family:sans-serif" + points="613,269 613,289 593,279 " + id="polygon63" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="590" + y="226" + width="26" + style="font-size:14px;fill:#68e5ff;stroke:none;font-family:sans-serif" + height="26" + id="rect65" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="590" + y="226" + width="26" + style="font-size:14px;fill:none;font-family:sans-serif" + height="26" + id="rect67" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;fill:none;font-family:sans-serif" + points="593,229 593,249 613,239 " + id="polygon69" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;stroke:none;font-family:sans-serif" + points="593,229 593,249 613,239 " + id="polygon71" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="931" + y="219" + width="200" + style="font-size:14px;fill:none;stroke-width:1.00562096;font-family:sans-serif" + height="150" + id="rect73" + clip-path="url(#clipPath1)" + transform="matrix(1,0,0,0.9888521,-229.06595,-214.05861)" /> + <text + x="1022" + y="248" + style="font-size:14px;stroke:none;font-family:sans-serif" + xml:space="preserve" + id="text81" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)">T2</text> + <image + style="font-size:14px;font-family:sans-serif" + x="1101" + y="234" + width="15" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAdklEQVR42mNgGCjA iMb/T4peDM3n7v8iqMtIkY0BpI4Rj42MePSDLWGC8WA2ItH/oYaiYzhgQnYKMo1s KAwjGQoGLDAnggRhfsHiR6zeg2n+j8VmRkKhT8jPeAELIT9D+f/xacbqZ0JxTnYK Q04kyIL/GQY9AAAW0Uztnea6vQAAAABJRU5ErkJggg==" + height="16" + preserveAspectRatio="none" + id="image83" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="918" + y="272" + width="26" + style="font-size:14px;fill:#68e5ff;stroke:none;font-family:sans-serif" + height="26" + id="rect85" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="918" + y="272" + width="26" + style="font-size:14px;fill:none;font-family:sans-serif" + height="26" + id="rect87" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;fill:none;font-family:sans-serif" + points="921,275 921,295 941,285 " + id="polygon89" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;stroke:none;font-family:sans-serif" + points="921,275 921,295 941,285 " + id="polygon91" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <line + transform="translate(-228.09051,-216.43033)" + x1="941" + x2="941" + y1="295" + style="font-size:14px;fill:none;font-family:sans-serif" + y2="275" + id="line93" + clip-path="url(#clipPath1)" /> + <text + x="906" + y="280" + style="font-size:8px;stroke:none;font-family:sans-serif" + xml:space="preserve" + id="text97" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <ellipse + transform="translate(-227.53311,-210.64735)" + style="font-size:14px;fill:none;font-family:sans-serif" + rx="5" + cx="905" + ry="7.5" + cy="291.5" + id="ellipse99" + clip-path="url(#clipPath1)" + d="m 910,291.5 c 0,4.14214 -2.23858,7.5 -5,7.5 -2.76142,0 -5,-3.35786 -5,-7.5 0,-4.14214 2.23858,-7.5 5,-7.5 2.76142,0 5,3.35786 5,7.5 z" + sodipodi:cx="905" + sodipodi:cy="291.5" + sodipodi:rx="5" + sodipodi:ry="7.5" /> + <polygon + transform="translate(-227.53311,-210.64735)" + style="font-size:14px;fill:#808080;stroke:none;font-family:sans-serif" + points="898,306 914,306 898,290 " + id="polygon101" + clip-path="url(#clipPath1)" /> + <polygon + transform="translate(-227.53311,-210.64735)" + style="font-size:14px;fill:#808080;stroke:none;font-family:sans-serif" + points="914,290 898,290 914,306 " + id="polygon103" + clip-path="url(#clipPath1)" /> + <text + transform="translate(-227.4286,-209.67191)" + x="899" + y="302" + style="font-size:8px;stroke:none;font-family:sans-serif" + xml:space="preserve" + id="text109" + clip-path="url(#clipPath1)">S</text> + <text + transform="translate(-228.6479,-212.31954)" + x="906" + y="299" + style="font-size:8px;stroke:none;font-family:sans-serif" + xml:space="preserve" + id="text111" + clip-path="url(#clipPath1)">W</text> + <rect + x="1118" + y="323" + width="26" + style="font-size:14px;fill:#c4a67a;stroke:none;font-family:sans-serif" + height="26" + id="rect113" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="1118" + y="323" + width="26" + style="font-size:14px;fill:none;font-family:sans-serif" + height="26" + id="rect115" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;fill:none;font-family:sans-serif" + points="1121,326 1121,346 1141,336 " + id="polygon117" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;stroke:none;font-family:sans-serif" + points="1121,326 1121,346 1141,336 " + id="polygon119" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="1118" + y="281" + width="26" + style="font-size:14px;fill:#68e5ff;stroke:none;font-family:sans-serif" + height="26" + id="rect121" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="1118" + y="281" + width="26" + style="font-size:14px;fill:none;font-family:sans-serif" + height="26" + id="rect123" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;fill:none;font-family:sans-serif" + points="1121,284 1121,304 1141,294 " + id="polygon125" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;stroke:none;font-family:sans-serif" + points="1121,284 1121,304 1141,294 " + id="polygon127" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="1118" + y="239" + width="26" + style="font-size:14px;fill:#68e5ff;stroke:none;font-family:sans-serif" + height="26" + id="rect129" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + x="1118" + y="239" + width="26" + style="font-size:14px;fill:none;font-family:sans-serif" + height="26" + id="rect131" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;fill:none;font-family:sans-serif" + points="1141,242 1141,262 1121,252 " + id="polygon133" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <polygon + style="font-size:14px;stroke:none;font-family:sans-serif" + points="1141,242 1141,262 1121,252 " + id="polygon135" + clip-path="url(#clipPath1)" + transform="translate(-229.06595,-216.5)" /> + <rect + transform="matrix(0.8922537,0,0,0.97109655,-89.426755,-198.66394)" + x="1296" + y="208" + width="227" + style="font-size:14px;fill:none;stroke-width:1.07429767;font-family:sans-serif" + height="150" + id="rect137" + clip-path="url(#clipPath1)" /> + <rect + x="918" + y="272" + width="26" + style="font-size:14px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.63913441;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + height="26" + id="rect87-1" + clip-path="url(#clipPath1-8)" + transform="matrix(0.614111,0,0,0.60607164,106.45932,-85.48902)" /> + <line + transform="matrix(0.72825359,-0.74173869,0.73115565,0.73879463,-215.59126,574.46944)" + x1="941" + x2="941" + y1="295" + style="font-size:14px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:0.96209174;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y2="275" + id="line93-3" + clip-path="url(#clipPath1-9)" /> + <g + id="g143" + style="font-size:14px;stroke-width:1.00451326;font-family:sans-serif" + transform="matrix(0.99103415,0,0,1,-215.54544,-216.5)"> + <text + clip-path="url(#clipPath1)" + id="text145" + xml:space="preserve" + style="stroke:none" + y="237" + x="1371" + transform="translate(-6.7609628,4.1384484)">HSM_CPU2</text> + <image + clip-path="url(#clipPath1)" + id="image147" + preserveAspectRatio="none" + height="16" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAdklEQVR42mNgGCjA iMb/T4peDM3n7v8iqMtIkY0BpI4Rj42MePSDLWGC8WA2ItH/oYaiYzhgQnYKMo1s KAwjGQoGLDAnggRhfsHiR6zeg2n+j8VmRkKhT8jPeAELIT9D+f/xacbqZ0JxTnYK Q04kyIL/GQY9AAAW0Uztnea6vQAAAABJRU5ErkJggg==" + width="15" + y="223" + x="1493" + style="stroke-width:1.00451326" + transform="translate(-15.510444,-0.98534486)" /> + <text + clip-path="url(#clipPath1)" + id="text149" + xml:space="preserve" + style="font-size:12px;stroke:none" + y="266" + x="1311">+ channelIndex = 0 : Natural;</text> + <rect + clip-path="url(#clipPath1)" + id="rect151" + height="26" + style="fill:#c4a67a;stroke:none" + width="26" + y="323" + x="1283" /> + <rect + clip-path="url(#clipPath1)" + id="rect153" + height="26" + style="fill:none;stroke-width:1.00451326" + width="26" + y="323" + x="1283" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon155" + points="1306,336 1286,326 1286,346 " + style="fill:none;stroke-width:1.00451326" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon157" + points="1306,336 1286,326 1286,346 " + style="stroke:none" /> + <rect + clip-path="url(#clipPath1)" + id="rect159" + height="26" + style="fill:#68e5ff;stroke:none" + width="26" + y="281" + x="1283" /> + <rect + clip-path="url(#clipPath1)" + id="rect161" + height="26" + style="fill:none;stroke-width:1.00451326" + width="26" + y="281" + x="1283" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon163" + points="1306,294 1286,284 1286,304 " + style="fill:none;stroke-width:1.00451326" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon165" + points="1306,294 1286,284 1286,304 " + style="stroke:none" /> + <rect + clip-path="url(#clipPath1)" + id="rect167" + height="26" + style="fill:#68e5ff;stroke:none" + width="26" + y="238" + x="1283" /> + <rect + clip-path="url(#clipPath1)" + id="rect169" + height="26" + style="fill:none;stroke-width:1.00451326" + width="26" + y="238" + x="1283" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon171" + points="1286,251 1306,241 1306,261 " + style="fill:none;stroke-width:1.00451326" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon173" + points="1286,251 1306,241 1306,261 " + style="stroke:none" /> + <rect + clip-path="url(#clipPath1)" + id="rect175" + height="150" + style="fill:none;stroke-width:1.00451326" + width="227" + y="217" + x="218" /> + </g> + <g + id="g181" + style="font-size:14px;font-family:sans-serif" + transform="translate(-229.06595,-216.5)"> + <text + clip-path="url(#clipPath1)" + id="text183" + xml:space="preserve" + style="stroke:none" + y="246" + x="293">HSM_CPU1</text> + <image + clip-path="url(#clipPath1)" + id="image185" + preserveAspectRatio="none" + height="16" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAdklEQVR42mNgGCjA iMb/T4peDM3n7v8iqMtIkY0BpI4Rj42MePSDLWGC8WA2ItH/oYaiYzhgQnYKMo1s KAwjGQoGLDAnggRhfsHiR6zeg2n+j8VmRkKhT8jPeAELIT9D+f/xacbqZ0JxTnYK Q04kyIL/GQY9AAAW0Uztnea6vQAAAABJRU5ErkJggg==" + width="15" + y="232" + x="415" /> + <text + clip-path="url(#clipPath1)" + id="text187" + xml:space="preserve" + style="font-size:12px;stroke:none" + y="275" + x="233">+ channelIndex = 0 : Natural;</text> + <rect + clip-path="url(#clipPath1)" + id="rect189" + height="26" + style="fill:#c4a67a;stroke:none" + width="26" + y="311" + x="432" /> + <rect + clip-path="url(#clipPath1)" + id="rect191" + height="26" + style="fill:none" + width="26" + y="311" + x="432" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon193" + points="455,334 435,324 455,314 " + style="fill:none" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon195" + points="455,334 435,324 455,314 " + style="stroke:none" /> + <rect + clip-path="url(#clipPath1)" + id="rect197" + height="26" + style="fill:#68e5ff;stroke:none" + width="26" + y="266" + x="432" /> + <rect + clip-path="url(#clipPath1)" + id="rect199" + height="26" + style="fill:none" + width="26" + y="266" + x="432" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon201" + points="455,289 435,279 455,269 " + style="fill:none" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon203" + points="455,289 435,279 455,269 " + style="stroke:none" /> + <rect + clip-path="url(#clipPath1)" + id="rect205" + height="26" + style="fill:#68e5ff;stroke:none" + width="26" + y="227" + x="432" /> + <rect + clip-path="url(#clipPath1)" + id="rect207" + height="26" + style="fill:none" + width="26" + y="227" + x="432" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon209" + points="435,250 455,240 435,230 " + style="fill:none" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon211" + points="435,250 455,240 435,230 " + style="stroke:none" /> + <text + clip-path="url(#clipPath1)" + id="text213" + xml:space="preserve" + style="font-size:12px;font-style:italic;stroke:none" + y="285" + x="848">comm</text> + <line + clip-path="url(#clipPath1)" + id="line215" + y2="285" + style="fill:none" + y1="285" + x2="918" + x1="816" /> + <text + clip-path="url(#clipPath1)" + id="text217" + xml:space="preserve" + style="font-size:12px;font-style:italic;stroke:none" + y="336" + x="1165">startHSM_CPU2</text> + <line + clip-path="url(#clipPath1)" + id="line219" + y2="336" + style="fill:none" + y1="336" + x2="1144" + x1="1283" /> + <text + clip-path="url(#clipPath1)" + id="text221" + xml:space="preserve" + style="font-size:12px;font-style:italic;stroke:none" + y="294" + x="1167">data_comm_T2</text> + <line + clip-path="url(#clipPath1)" + id="line223" + y2="294" + style="fill:none" + y1="294" + x2="1144" + x1="1283" /> + <text + clip-path="url(#clipPath1)" + id="text225" + xml:space="preserve" + style="font-size:12px;font-style:italic;stroke:none" + y="251" + x="1157">retData_comm_T2</text> + <line + clip-path="url(#clipPath1)" + id="line227" + y2="252" + style="fill:none" + y1="251" + x2="1144" + x1="1283" /> + <text + clip-path="url(#clipPath1)" + id="text229" + xml:space="preserve" + style="font-size:12px;font-style:italic;stroke:none" + y="324" + x="476">startHSM_CPU1</text> + <line + clip-path="url(#clipPath1)" + id="line231" + y2="324" + style="fill:none" + y1="324" + x2="590" + x1="458" /> + <text + clip-path="url(#clipPath1)" + id="text233" + xml:space="preserve" + style="font-size:12px;font-style:italic;stroke:none" + y="279" + x="477">data_comm_T1</text> + <line + clip-path="url(#clipPath1)" + id="line235" + y2="279" + style="fill:none" + y1="279" + x2="590" + x1="458" /> + <text + clip-path="url(#clipPath1)" + id="text237" + xml:space="preserve" + style="font-size:12px;font-style:italic;stroke:none" + y="239" + x="468">retData_comm_T1</text> + <line + clip-path="url(#clipPath1)" + id="line239" + y2="239" + style="fill:none" + y1="240" + x2="590" + x1="458" /> + </g> +</svg> diff --git a/doc/SysMLSec/fig/hsmt1.svg b/doc/SysMLSec/fig/hsmt1.svg new file mode 100644 index 0000000000000000000000000000000000000000..4441bc0347129704ecbb52a23add798dc01bb330 --- /dev/null +++ b/doc/SysMLSec/fig/hsmt1.svg @@ -0,0 +1,724 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:Dialog" + id="svg2" + version="1.1" + inkscape:version="0.48.4 r9939" + width="222.29492" + height="242.82289" + sodipodi:docname="hsmt1.svg"> + <metadata + id="metadata191"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2048" + inkscape:window-height="1086" + id="namedview189" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:zoom="1.7940591" + inkscape:cx="272.56063" + inkscape:cy="191.07921" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:current-layer="g5" /> + <!--Generated by the Batik Graphics2D SVG Generator--> + <defs + id="genericDefs"> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath1-5"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1770 L 0,1770 0,0 z" + id="path9-4" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3266"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1770 L 0,1770 0,0 z" + id="path3268" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3270"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1770 L 0,1770 0,0 z" + id="path3272" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath1-9"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1770 L 0,1770 0,0 z" + id="path9-5" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3312"> + <path + inkscape:connector-curvature="0" + d="m 0,0 2510,0 0,1770 L 0,1770 0,0 z" + id="path3314" /> + </clipPath> + </defs> + <g + id="g5" + transform="translate(-323.31759,-127.64184)"> + <defs + id="defs1"> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath1"> + <path + d="m 0,0 2510,0 0,1770 L 0,1770 0,0 z" + id="path9" + inkscape:connector-curvature="0" /> + </clipPath> + </defs> + <polygon + clip-path="url(#clipPath1)" + id="polygon19" + points="418,421 414,430 409,421 " + style="stroke:none;font-family:sans-serif" + transform="translate(-19.567548,-82.055525)" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon21" + points="418,421 414,430 409,421 " + style="fill:none;font-family:sans-serif" + transform="translate(-19.567548,-82.055525)" /> + <line + clip-path="url(#clipPath1)" + id="line35" + y2="206" + style="fill:none;stroke-width:1.07584798;font-family:sans-serif" + y1="186" + x2="397" + x1="397" + transform="matrix(1,0,0,0.86396902,0,25.233746)" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon37" + points="401,197 397,206 392,197 " + style="stroke:none;font-family:sans-serif" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon39" + points="401,197 397,206 392,197 " + style="fill:none;font-family:sans-serif" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon43" + points="397,266 392,257 401,257 " + style="stroke:none;font-family:sans-serif" + transform="translate(0.19706897,-5.0252588)" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon45" + points="397,266 392,257 401,257 " + style="fill:none;font-family:sans-serif" + transform="translate(0.19706897,-5.0252588)" /> + <circle + sodipodi:ry="7.5" + sodipodi:rx="7.5" + sodipodi:cy="58.5" + sodipodi:cx="414.5" + d="m 422,58.5 c 0,4.142136 -3.35786,7.5 -7.5,7.5 -4.14214,0 -7.5,-3.357864 -7.5,-7.5 0,-4.142136 3.35786,-7.5 7.5,-7.5 4.14214,0 7.5,3.357864 7.5,7.5 z" + clip-path="url(#clipPath1)" + id="circle53" + cy="58.5" + cx="414.5" + r="7.5" + style="stroke:none;font-family:sans-serif" + transform="translate(-18.67274,76.641843)" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon57" + points="437,371 447,381 437,391 382,391 382,371 " + style="fill:#68e5ff;stroke:none;font-family:sans-serif" + transform="translate(-19.706897,-58.923623)" /> + <line + clip-path="url(#clipPath1)" + id="line61" + y2="396" + style="fill:none;stroke-width:0.79833925;font-family:sans-serif" + y1="391" + x2="414" + x1="414" + transform="matrix(1,0,0,1.5690076,-19.706897,-281.1211)" /> + <line + clip-path="url(#clipPath1)" + id="line63" + y2="372" + style="fill:none;stroke:#68e5ff;font-family:sans-serif" + y1="372" + x2="438" + x1="383" + transform="translate(-19.706897,-58.923623)" /> + <line + clip-path="url(#clipPath1)" + id="line65" + y2="392" + style="fill:none;stroke:#68e5ff;font-family:sans-serif" + y1="392" + x2="438" + x1="383" + transform="translate(-19.706897,-58.923623)" /> + <line + clip-path="url(#clipPath1)" + id="line67" + y2="392" + style="fill:none;stroke:#68e5ff;font-family:sans-serif" + y1="372" + x2="383" + x1="383" + transform="translate(-19.706897,-58.923623)" /> + <line + clip-path="url(#clipPath1)" + id="line69" + y2="382" + style="fill:none;stroke:#68e5ff;font-family:sans-serif" + y1="372" + x2="448" + x1="438" + transform="translate(-19.706897,-58.923623)" /> + <line + clip-path="url(#clipPath1)" + id="line71" + y2="382" + style="fill:none;stroke:#68e5ff;font-family:sans-serif" + y1="392" + x2="448" + x1="438" + transform="translate(-19.706897,-58.923623)" /> + <line + clip-path="url(#clipPath1)" + id="line73" + y2="371" + style="fill:none;font-family:sans-serif" + y1="371" + x2="437" + x1="382" + transform="translate(-19.706897,-58.923623)" /> + <line + clip-path="url(#clipPath1)" + id="line75" + y2="391" + style="fill:none;font-family:sans-serif" + y1="391" + x2="437" + x1="382" + transform="translate(-19.706897,-58.923623)" /> + <line + clip-path="url(#clipPath1)" + id="line77" + y2="391" + style="fill:none;font-family:sans-serif" + y1="371" + x2="382" + x1="382" + transform="translate(-19.706897,-58.923623)" /> + <line + clip-path="url(#clipPath1)" + id="line79" + y2="381" + style="fill:none;font-family:sans-serif" + y1="371" + x2="447" + x1="437" + transform="translate(-19.706897,-58.923623)" /> + <line + clip-path="url(#clipPath1)" + id="line81" + y2="381" + style="fill:none;font-family:sans-serif" + y1="391" + x2="447" + x1="437" + transform="translate(-19.706897,-58.923623)" /> + <text + clip-path="url(#clipPath1)" + id="text83" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="371" + x="387" + transform="translate(-24.83069,-60.40164)">chl</text> + <text + clip-path="url(#clipPath1)" + id="text85" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="386" + x="387" + transform="translate(-19.706897,-58.923623)">comm(1)</text> + <text + clip-path="url(#clipPath1)" + id="text87" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="402" + x="430" + transform="translate(-19.706897,-58.923623)">sec:hsmSec_comm</text> + <circle + sodipodi:ry="8" + sodipodi:rx="8" + sodipodi:cy="445" + sodipodi:cx="414" + d="m 422,445 c 0,4.41828 -3.58172,8 -8,8 -4.41828,0 -8,-3.58172 -8,-8 0,-4.41828 3.58172,-8 8,-8 4.41828,0 8,3.58172 8,8 z" + clip-path="url(#clipPath1)" + id="circle89" + cy="445" + cx="414" + r="8" + style="stroke:none;font-family:sans-serif" + transform="translate(-19.903966,-85.035262)" /> + <circle + sodipodi:ry="10" + sodipodi:rx="10" + sodipodi:cy="445" + sodipodi:cx="414" + d="m 424,445 c 0,5.52285 -4.47715,10 -10,10 -5.52285,0 -10,-4.47715 -10,-10 0,-5.52285 4.47715,-10 10,-10 5.52285,0 10,4.47715 10,10 z" + clip-path="url(#clipPath1)" + id="circle91" + cy="445" + cx="414" + r="10" + style="fill:none;font-family:sans-serif" + transform="translate(-19.903966,-85.035262)" /> + <polygon + clip-path="url(#clipPath1)" + id="polygon95" + points="335,161 449,161 459,171 449,181 335,181 " + style="fill:#c4a67a;stroke:none;font-family:sans-serif" /> + <line + clip-path="url(#clipPath1)" + id="line97" + y2="162" + style="fill:none;stroke:#c4a67a;font-family:sans-serif" + y1="162" + x2="450" + x1="336" /> + <line + clip-path="url(#clipPath1)" + id="line99" + y2="182" + style="fill:none;stroke:#c4a67a;stroke-width:1.00365508;font-family:sans-serif" + y1="182" + x2="450" + x1="336" + transform="matrix(0.99272963,0,0,1,2.43921,0)" /> + <line + clip-path="url(#clipPath1)" + id="line101" + y2="182" + style="fill:none;stroke:#c4a67a;font-family:sans-serif" + y1="162" + x2="336" + x1="336" /> + <line + clip-path="url(#clipPath1)" + id="line103" + y2="172" + style="fill:none;stroke:#c4a67a;stroke-width:1.03987527;font-family:sans-serif" + y1="162" + x2="460" + x1="450" + transform="matrix(0.96864652,0,0,0.95471164,14.109067,7.3367147)" /> + <line + clip-path="url(#clipPath1)" + id="line105" + y2="172" + style="fill:none;stroke:#c4a67a;font-family:sans-serif" + y1="182" + x2="460" + x1="450" + transform="translate(-0.24386041,-0.38320922)" /> + <line + clip-path="url(#clipPath1)" + id="line109" + y2="186" + style="fill:none;font-family:sans-serif" + y1="181" + x2="397" + x1="397" /> + <line + clip-path="url(#clipPath1)" + id="line111" + y2="161" + style="fill:none;font-family:sans-serif" + y1="161" + x2="449" + x1="335" /> + <line + clip-path="url(#clipPath1)" + id="line113" + y2="181" + style="fill:none;font-family:sans-serif" + y1="181" + x2="449" + x1="335" /> + <line + clip-path="url(#clipPath1)" + id="line115" + y2="181" + style="fill:none;font-family:sans-serif" + y1="161" + x2="335" + x1="335" /> + <line + clip-path="url(#clipPath1)" + id="line117" + y2="171" + style="fill:none;font-family:sans-serif" + y1="161" + x2="459" + x1="449" /> + <line + clip-path="url(#clipPath1)" + id="line119" + y2="171" + style="fill:none;font-family:sans-serif" + y1="181" + x2="459" + x1="449" /> + <text + clip-path="url(#clipPath1)" + id="text121" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="161" + x="340" + transform="translate(-4.1384484,-1.9706897)">req</text> + <text + clip-path="url(#clipPath1)" + id="text123" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="176" + x="340">startHSM_CPU1(0)</text> + <polygon + clip-path="url(#clipPath1)" + id="polygon125" + points="458,221 448,231 337,231 337,211 448,211 " + style="fill:#68e5ff;stroke:none;font-family:sans-serif" + transform="translate(-0.19911999,-3.6288701)" /> + <line + clip-path="url(#clipPath1)" + id="line129" + y2="236" + style="fill:none;stroke-width:0.46477187;font-family:sans-serif" + y1="231" + x2="397" + x1="397" + transform="matrix(1,0,0,4.6293536,-0.19911999,-840.19487)" /> + <line + clip-path="url(#clipPath1)" + id="line131" + y2="212" + style="fill:none;stroke:#68e5ff;font-family:sans-serif" + y1="212" + x2="449" + x1="338" + transform="translate(-0.19911999,-3.6288701)" /> + <line + clip-path="url(#clipPath1)" + id="line133" + y2="232" + style="fill:none;stroke:#68e5ff;font-family:sans-serif" + y1="232" + x2="449" + x1="338" + transform="translate(-0.19911999,-3.6288701)" /> + <line + clip-path="url(#clipPath1)" + id="line135" + y2="232" + style="fill:none;stroke:#68e5ff;font-family:sans-serif" + y1="212" + x2="338" + x1="338" + transform="translate(-0.19911999,-3.6288701)" /> + <line + clip-path="url(#clipPath1)" + id="line137" + y2="222" + style="fill:none;stroke:#68e5ff;font-family:sans-serif" + y1="212" + x2="459" + x1="449" + transform="translate(-0.19911999,-3.6288701)" /> + <line + clip-path="url(#clipPath1)" + id="line139" + y2="222" + style="fill:none;stroke:#68e5ff;font-family:sans-serif" + y1="232" + x2="459" + x1="449" + transform="translate(-0.19911999,-3.6288701)" /> + <line + clip-path="url(#clipPath1)" + id="line141" + y2="211" + style="fill:none;font-family:sans-serif" + y1="211" + x2="448" + x1="337" + transform="translate(-0.19911999,-3.6288701)" /> + <line + clip-path="url(#clipPath1)" + id="line143" + y2="231" + style="fill:none;font-family:sans-serif" + y1="231" + x2="448" + x1="337" + transform="translate(-0.19911999,-3.6288701)" /> + <line + clip-path="url(#clipPath1)" + id="line145" + y2="231" + style="fill:none;font-family:sans-serif" + y1="211" + x2="337" + x1="337" + transform="translate(-0.19911999,-3.6288701)" /> + <line + clip-path="url(#clipPath1)" + id="line147" + y2="221" + style="fill:none;font-family:sans-serif" + y1="211" + x2="458" + x1="448" + transform="translate(-0.19911999,-3.6288701)" /> + <line + clip-path="url(#clipPath1)" + id="line149" + y2="221" + style="fill:none;font-family:sans-serif" + y1="231" + x2="458" + x1="448" + transform="translate(-0.19911999,-3.6288701)" /> + <text + clip-path="url(#clipPath1)" + id="text151" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="211" + x="342" + transform="translate(-6.3304675,-5.0223582)">chl</text> + <text + clip-path="url(#clipPath1)" + id="text153" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="226" + x="342" + transform="translate(-0.19911999,-3.6288701)">data_comm_T1(1)</text> + <text + clip-path="url(#clipPath1)" + id="text155" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="242" + x="427" + transform="translate(-0.19911999,-3.6288701)">sec:hsmSec_comm</text> + <polygon + clip-path="url(#clipPath1)" + id="polygon157" + points="469,271 469,291 325,291 335,281 325,271 " + style="fill:#68e5ff;stroke:none;font-family:sans-serif" + transform="translate(-1.1824138,-8.2768968)" /> + <line + clip-path="url(#clipPath1)" + id="line161" + y2="296" + style="fill:none;stroke-width:0.51465857;font-family:sans-serif" + y1="291" + x2="397" + x1="397" + transform="matrix(1,0,0,3.775388,-1.1824138,-814.52712)" /> + <line + clip-path="url(#clipPath1)" + id="line163" + y2="272" + style="fill:none;stroke:#68e5ff;font-family:sans-serif" + y1="272" + x2="470" + x1="326" + transform="translate(-1.1824138,-8.2768968)" /> + <line + clip-path="url(#clipPath1)" + id="line165" + y2="292" + style="fill:none;stroke:#68e5ff;font-family:sans-serif" + y1="272" + x2="470" + x1="470" + transform="translate(-1.1824138,-8.2768968)" /> + <line + clip-path="url(#clipPath1)" + id="line167" + y2="292" + style="fill:none;stroke:#68e5ff;font-family:sans-serif" + y1="292" + x2="470" + x1="326" + transform="translate(-1.1824138,-8.2768968)" /> + <line + clip-path="url(#clipPath1)" + id="line169" + y2="282" + style="fill:none;stroke:#68e5ff;font-family:sans-serif" + y1="272" + x2="336" + x1="326" + transform="translate(-1.1824138,-8.2768968)" /> + <line + clip-path="url(#clipPath1)" + id="line171" + y2="282" + style="fill:none;stroke:#68e5ff;font-family:sans-serif" + y1="292" + x2="336" + x1="326" + transform="translate(-1.1824138,-8.2768968)" /> + <line + clip-path="url(#clipPath1)" + id="line173" + y2="271" + style="fill:none;font-family:sans-serif" + y1="271" + x2="469" + x1="325" + transform="translate(-1.1824138,-8.2768968)" /> + <line + clip-path="url(#clipPath1)" + id="line175" + y2="291" + style="fill:none;font-family:sans-serif" + y1="271" + x2="469" + x1="469" + transform="translate(-1.1824138,-8.2768968)" /> + <line + clip-path="url(#clipPath1)" + id="line177" + y2="291" + style="fill:none;font-family:sans-serif" + y1="291" + x2="469" + x1="325" + transform="translate(-1.1824138,-8.2768968)" /> + <line + clip-path="url(#clipPath1)" + id="line179" + y2="281" + style="fill:none;font-family:sans-serif" + y1="271" + x2="335" + x1="325" + transform="translate(-1.1824138,-8.2768968)" /> + <line + clip-path="url(#clipPath1)" + id="line181" + y2="281" + style="fill:none;font-family:sans-serif" + y1="291" + x2="335" + x1="325" + transform="translate(-1.1824138,-8.2768968)" /> + <text + clip-path="url(#clipPath1)" + id="text183" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="271" + x="330" + transform="translate(-4.3355173,-9.5578451)">chl</text> + <text + clip-path="url(#clipPath1)" + id="text185" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="286" + x="337" + transform="translate(-1.1824138,-8.2768968)">retData_comm_T1(1) </text> + <text + clip-path="url(#clipPath1)" + id="text187" + xml:space="preserve" + style="stroke:none;font-family:sans-serif" + y="302" + x="433" + transform="translate(-1.1824138,-8.2768968)">sec:hsmSec_comm</text> + <line + transform="matrix(1,0,0,0.75131773,-1.1796429,-0.18168117)" + clip-path="url(#clipPath1-5)" + id="line35-4" + y2="206" + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.15368748;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + y1="186" + x2="397" + x1="397" /> + <polygon + transform="translate(-1.1796429,-46.312243)" + clip-path="url(#clipPath1-5)" + id="polygon37-3" + points="397,206 392,197 401,197 " + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" /> + <polygon + transform="translate(-1.1796429,-46.312243)" + clip-path="url(#clipPath1-5)" + id="polygon39-7" + points="397,206 392,197 401,197 " + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" /> + <polygon + clip-path="url(#clipPath1-9)" + id="polygon43-9" + points="392,257 401,257 397,266 " + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" + transform="translate(-1.2781769,44.561986)" /> + <polygon + clip-path="url(#clipPath1-9)" + id="polygon45-0" + points="392,257 401,257 397,266 " + style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" + transform="translate(-1.2781769,44.561986)" /> + </g> +</svg> diff --git a/doc/SysMLSec/sysmlsec_documentation.tex b/doc/SysMLSec/sysmlsec_documentation.tex index 6b1a16bec0228f9dfb321714a968c982da9e3ea0..fc1d39e5175cdbf6012059ff915cb045c7294cd8 100644 --- a/doc/SysMLSec/sysmlsec_documentation.tex +++ b/doc/SysMLSec/sysmlsec_documentation.tex @@ -354,7 +354,7 @@ Without taking into account penalties of the hardware platform (e.g. cache miss, \subsection{Automatic Security Generation} -Given security requirements and an unsecured model, our toolkit magically adds security elements. It can 1) add the security operators to a functional view, 2) Add an HSM performing all security operations, and 3) Automatically map keys securely. See the thesis of Letitia Li, `Safe and Secure Model-Driven Design for Embedded Systems' for the detailed algorithms on how to add security. +Given security requirements and an unsecured model, our toolkit magically adds security elements. It can 1) add the security operators to a functional view, optionally with an added HSM performing all security operations, and 2) Automatically map keys securely. See the thesis of Letitia Li, `Safe and Secure Model-Driven Design for Embedded Systems' for the detailed algorithms on how to add security. \begin{figure*}[htbp] \centering @@ -392,19 +392,48 @@ When the option to add security operators is selected, there are multiple option \subsubsection{Adding Hardware Security Modules} - After a designer models a system, our toolkit can automatically add +For automatic security generation, there is also an option to add HSMs to perform all the security operators intead. +Our toolkit can automatically add HSMs to designated tasks, including making all of the modifications to the diagrams relating to sending the data to the HSM, generating the HSM's activity diagram, etc. A single Hardware Security Module is added to each processor which executes at least one of the designated tasks. If multiple tasks mapped to a single CPU are designated to have a HSM added to them, then only a single HSM will be added. For each HSM to be added to perform security operations for one or more tasks, first, the architectural diagram is modified to add a Hardware Accelerator and memory, with a connecting private bus. -Next, each task is modified, so that before each instance of sending a message which should be secure, the task first sends the data to the HSM. The HSM then performs the security operations, and returns the secured message to the task, which then sends the secured message to the receiving task. When a task receives data to be decrypted, it similarly sends the messages to the HSM, which then decrypts it and sends the message back, and which point the receiving task can understand the contents of the message. +Next, each task is modified, so that before each instance of sending a message which should be secure, the task first issues a request with the index of the channel (in the case of multiple channels to secure), and sends the data to the HSM. The HSM then performs the security operations, and returns the secured message to the task, which then sends the secured message to the receiving task. When a task receives data to be decrypted, it similarly sends the messages to the HSM, which then decrypts it and sends the message back, and which point the receiving task can understand the contents of the message. + +For example, using the model in our example, chose to ensure confidentiality, and add a HSM to each task. A new HSM task is added for each HSM in the Functional model as shown in Figure \ref{fig:hsmfunc}, and a secure bus, memory, and Hardware Accelerator are added for each CPU on the Architecture/Mapping model as shown in Figure \ref{fig:hsmarch}. Figure \ref{fig:hsmt1act} shows how the activity diagram of task t1 is modified to send communications to the HSM to be encrypted the activity diagram of the HSM. + +\begin{figure*}[htbp] +\centering +\includegraphics[width=0.99\textwidth]{build/hsmfunc-svg.pdf} +\caption{Functional Model with added Hardware Security Module Tasks} \label{fig:hsmfunc} +\end{figure*} + + +\begin{figure*}[htbp] +\centering +\includegraphics[width=0.99\textwidth]{build/hsmarch-svg.pdf} +\caption{Architecture Model with added Hardware Security Modules} \label{fig:hsmarch} +\end{figure*} + + +\begin{figure*}[htbp] +\centering +\includegraphics[width=0.4\textwidth]{build/hsmt1-svg.pdf} +\includegraphics[width=0.4\textwidth]{build/hsmact-svg.pdf} +\caption{Modified Activity Diagram of T1 and HSM} \label{fig:hsmt1act} +\end{figure*} + + + \subsubsection{Mapping Keys} With multiple Cryptographic Configurations, it may become tedious to the map all of the keys to memory. Our toolkit therefore can find every Cryptographic Configuration used by a task, and then, depending on the type of the Cryptographic Configuration, map each applicable key to a memory that the task can securely access. For Cryptographic Configurations of type symmetric encryption or MAC, both the sending and receiving task will need to be able to access the key. For asymmetric encryption, however, all the sending tasks will need the public key while only the receiving task will need to access the private key. +At every security generation, keys are automatically generated and mapped securely. There is also the option to add keys alone after completing a design by hand. + If a key is sent along a bus accessible to an attacker, then the key would be known to the attacker, so we wish to avoid sending keys along public buses. For each task which needs the key, the algorithm searches for securely accessible memories from the processor to which it is mapped. The algorithm traverses all possible private buses and bridges using breadth-first search, until it finds a memory. The key is then mapped to that memory. If all possible secure paths are searched and no memories are found, then a warning is issued saying it is impossible to map keys for that task. For example, for the automatically secured model in Figure \ref{fig:secfv1}, the keys for autoEncrypt\_comm are mapped as shown in Figure \ref{fig:mapkey}, where there is a secure path to the memory. If they keys were mapped to MainMemory, then the attacker could recover the key when it was read over the public bus MainBus. diff --git a/src/main/java/tmltranslator/toavatar/TML2Avatar.java b/src/main/java/tmltranslator/toavatar/TML2Avatar.java index 8ef89d096b5ac82891979a58d7062d503ed7cf05..f342c93fd4f84213235d14e60a612dd3ae793395 100644 --- a/src/main/java/tmltranslator/toavatar/TML2Avatar.java +++ b/src/main/java/tmltranslator/toavatar/TML2Avatar.java @@ -1217,10 +1217,15 @@ public class TML2Avatar { AvatarAttribute data = new AvatarAttribute("encryptedKey_" + ae.securityPattern.key, AvatarType.INTEGER, block, null); block.addAttribute(data); } else { - //send encrypted data - as.addValue(ae.securityPattern.name + "_encrypted"); - AvatarAttribute data = new AvatarAttribute(ae.securityPattern.name + "_encrypted", AvatarType.INTEGER, block, null); - block.addAttribute(data); + //send encrypted data or unecrypted security pattern + // + //if (){ + // } + // else { + as.addValue(ae.securityPattern.name + "_encrypted"); + AvatarAttribute data = new AvatarAttribute(ae.securityPattern.name + "_encrypted", AvatarType.INTEGER, block, null); + block.addAttribute(data); + if (!secChannelMap.containsKey(ae.securityPattern.name)) { List<String> tmp = new ArrayList<String>(); secChannelMap.put(ae.securityPattern.name, tmp); diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java index 907017bb74dfc45656762f51e58eb92cdc90fb45..856e18fc7f0258a3e7d4fcbbecdb9bf7353208d5 100644 --- a/src/main/java/ui/GTURTLEModeling.java +++ b/src/main/java/ui/GTURTLEModeling.java @@ -1262,7 +1262,8 @@ public class GTURTLEModeling { memNode.tdp.addComponent(key, memNode.x, memNode.y, true, true); memNode.tdp.repaint(); } else { - + // + mgui.issueError("Cannot map key in memory for " + sp.name + " on task " + t.getName(), "Key Mapping Error"); UICheckingError ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "Cannot map key in memory for " + sp.name + " on task " + t.getName()); ce.setTDiagramPanel(tmap.getCorrespondanceList().getTG(tmap.getArch().getFirstCPU()).getTDiagramPanel()); ce.setTGComponent(null); diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java index c70d7753280e80ab448c755fed26cfef0e2b519e..bf3fd49ab2ed50cc43dced25ec7520e26101c9db 100644 --- a/src/main/java/ui/MainGUI.java +++ b/src/main/java/ui/MainGUI.java @@ -3510,6 +3510,13 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per return false; } + public void issueError(String error, String title){ + JOptionPane.showMessageDialog(frame, + error, + title, + JOptionPane.INFORMATION_MESSAGE); + } + public boolean checkModelingSyntax(TURTLEPanel tp, boolean automatic) { //String msg = ""; boolean b = false; diff --git a/src/main/java/ui/SecurityGeneration.java b/src/main/java/ui/SecurityGeneration.java index bab0866e1ac1567a1cade412d764f89c060914a4..5930fb6c94ef76a6e449b1548e3c4771e293a279 100644 --- a/src/main/java/ui/SecurityGeneration.java +++ b/src/main/java/ui/SecurityGeneration.java @@ -1375,6 +1375,19 @@ public class SecurityGeneration implements Runnable { TMLADStartState start = (TMLADStartState) tad.getComponentList().get(0); fromStart = new TGConnectorTMLAD(xpos, ypos, tad.getMinX(), tad.getMaxX(), tad.getMinY(), tad.getMaxY(), false, null, tad, null, null, new Vector<Point>()); + if (hsmChannelMap.get(cpuName).size() ==0){ + TMLADStopState stop = new TMLADStopState(100, 100, tad.getMinX(), tad.getMaxX(), tad.getMinY(), tad.getMaxY(), false, null, tad); + tad.addComponent(stop, 100, 100, false, true); + + + //Connect stop and start + fromStart = new TGConnectorTMLAD(xpos, ypos, tad.getMinX(), tad.getMaxX(), tad.getMinY(), tad.getMaxY(), false, null, tad, null, null, new Vector<Point>()); + fromStart.setP1(start.getTGConnectingPointAtIndex(0)); + fromStart.setP2(stop.getTGConnectingPointAtIndex(0)); + tad.addComponent(fromStart, 100, 100, false, true); + return; + } + TMLADReadRequestArg req = new TMLADReadRequestArg(300, 100, tad.getMinX(), tad.getMaxX(), tad.getMinY(), tad.getMaxY(), false, null, tad); tad.addComponent(req, 300, 100, false, true);