diff --git a/doc/SysMLSec/fig/channelsecurityTab.png b/doc/SysMLSec/fig/channelsecurityTab.png new file mode 100644 index 0000000000000000000000000000000000000000..47ca2bd77ef423fb9ac5cbcd9469b989ffdd881f Binary files /dev/null and b/doc/SysMLSec/fig/channelsecurityTab.png differ diff --git a/doc/SysMLSec/fig/fv_auth_check.svg b/doc/SysMLSec/fig/fv_auth_check.svg new file mode 100644 index 0000000000000000000000000000000000000000..c1ad9db3ba79c23f2b7d24e7437ec1efd34dab56 --- /dev/null +++ b/doc/SysMLSec/fig/fv_auth_check.svg @@ -0,0 +1,137 @@ +<?xml version="1.0"?> +<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' + 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'> +<svg xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-opacity:1; color-rendering:auto; color-interpolation:auto; text-rendering:auto; stroke:black; stroke-linecap:square; stroke-miterlimit:10; shape-rendering:auto; stroke-opacity:1; fill:black; stroke-dasharray:none; font-weight:normal; stroke-width:1; font-family:'Dialog'; font-style:normal; stroke-linejoin:miter; font-size:12px; stroke-dashoffset:0; image-rendering:auto;" width="544" height="186" xmlns="http://www.w3.org/2000/svg" +><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs" + /><g + ><defs id="defs1" + ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1" + ><path d="M0 0 L544 0 L544 186 L0 186 L0 0 Z" + /></clipPath + ></defs + ><g style="fill:white; font-family:sans-serif; stroke:white;" + ><rect x="0" y="0" width="544" style="clip-path:url(#clipPath1); stroke:none;" height="186" + /></g + ><g style="font-family:sans-serif;" + ><rect x="16" y="23" width="200" style="fill:none; clip-path:url(#clipPath1);" height="150" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="17" y="24" width="198" style="clip-path:url(#clipPath1); stroke:none;" height="148" + /><rect x="16" y="23" width="1" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="17" y="23" width="198" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="17" y="172" width="199" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="215" y="23" width="1" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="108" xml:space="preserve" y="50" style="clip-path:url(#clipPath1); stroke:none;" + >T1</text + ><image x="186" y="38" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="clip-path:url(#clipPath1); font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="203" y="78" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="203" y="78" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 206 81 206 101 226 91" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 206 81 206 101 226 91" + /><line x1="226" x2="226" y1="101" style="fill:none; clip-path:url(#clipPath1);" y2="81" + /><text x="203" y="77" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >comm</text + ><rect x="334" y="26" width="200" style="fill:none; clip-path:url(#clipPath1);" height="150" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="335" y="27" width="198" style="clip-path:url(#clipPath1); stroke:none;" height="148" + /><rect x="334" y="26" width="1" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="335" y="26" width="198" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="335" y="175" width="199" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="533" y="26" width="1" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="426" xml:space="preserve" y="53" style="clip-path:url(#clipPath1); stroke:none;" + >T2</text + ><image x="504" y="41" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="clip-path:url(#clipPath1); font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="321" y="79" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="321" y="79" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 324 82 324 102 344 92" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 324 82 324 102 344 92" + /><line x1="344" x2="344" y1="102" style="fill:none; clip-path:url(#clipPath1);" y2="82" + /><text x="321" y="78" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >comm</text + ><text x="309" y="87" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + ></text + ><ellipse style="fill:none; clip-path:url(#clipPath1);" rx="5" cx="308" ry="7.5" cy="98.5" + /><polygon style="fill:gray; clip-path:url(#clipPath1); stroke:none;" points=" 301 97 301 113 317 113" + /><polygon style="fill:gray; clip-path:url(#clipPath1); stroke:none;" points=" 317 113 317 97 301 97" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 301 97 301 113 317 113" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 317 113 317 97 301 97" + /><text x="302" y="109" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >S</text + ><text x="309" y="106" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >W</text + ><text x="256" y="91" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >comm</text + ><line x1="229" x2="321" y1="91" style="fill:none; clip-path:url(#clipPath1);" y2="92" + /></g + ><g style="font-family:sans-serif;" + ><rect x="16" width="200" height="150" y="23" style="fill:none;" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="17" width="198" height="148" y="24" style="stroke:none;" + /><rect x="16" y="23" width="1" style="fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="17" y="23" width="198" style="fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="17" y="172" width="199" style="fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="215" y="23" width="1" style="fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="108" xml:space="preserve" y="50" style="stroke:none;" + >T1</text + ><image x="186" y="38" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="203" y="78" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="203" width="26" height="26" y="78" style="fill:none;" + /><polygon style="fill:none;" points=" 206 81 206 101 226 91" + /><polygon style="stroke:none;" points=" 206 81 206 101 226 91" + /><line y2="81" style="fill:none;" x1="226" x2="226" y1="101" + /><text x="203" xml:space="preserve" y="77" style="font-weight:normal; stroke:none;" + >comm</text + ><rect x="334" width="200" height="150" y="26" style="fill:none;" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="335" width="198" height="148" y="27" style="stroke:none;" + /><rect x="334" y="26" width="1" style="fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="335" y="26" width="198" style="fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="335" y="175" width="199" style="fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="533" y="26" width="1" style="fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="426" xml:space="preserve" y="53" style="stroke:none;" + >T2</text + ><image x="504" y="41" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="321" y="79" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="321" width="26" height="26" y="79" style="fill:none;" + /><polygon style="fill:none;" points=" 324 82 324 102 344 92" + /><polygon style="stroke:none;" points=" 324 82 324 102 344 92" + /><line y2="82" style="fill:none;" x1="344" x2="344" y1="102" + /><text x="321" xml:space="preserve" y="78" style="font-weight:normal; stroke:none;" + >comm</text + ><text x="309" xml:space="preserve" y="87" style="font-weight:normal; stroke:none;" + ></text + ><ellipse rx="5" ry="7.5" style="fill:none;" cx="308" cy="98.5" + /><polygon style="fill:gray; stroke:none;" points=" 301 97 301 113 317 113" + /><polygon style="fill:gray; stroke:none;" points=" 317 113 317 97 301 97" + /><polygon style="fill:none;" points=" 301 97 301 113 317 113" + /><polygon style="fill:none;" points=" 317 113 317 97 301 97" + /><text x="302" xml:space="preserve" y="109" style="font-weight:normal; stroke:none;" + >S</text + ><text x="309" xml:space="preserve" y="106" style="font-weight:normal; stroke:none;" + >W</text + ><text x="256" y="91" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >comm</text + ><line y2="92" style="fill:none;" x1="229" x2="321" y1="91" + /></g + ></g +></svg +> diff --git a/doc/SysMLSec/fig/hsm_ad_hsm_cpu1.svg b/doc/SysMLSec/fig/hsm_ad_hsm_cpu1.svg new file mode 100644 index 0000000000000000000000000000000000000000..f2fc7906cc3bb386eddf24caed4a268bac892686 --- /dev/null +++ b/doc/SysMLSec/fig/hsm_ad_hsm_cpu1.svg @@ -0,0 +1,205 @@ +<?xml version="1.0"?> +<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' + 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'> +<svg xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-opacity:1; color-rendering:auto; color-interpolation:auto; text-rendering:auto; stroke:black; stroke-linecap:square; stroke-miterlimit:10; shape-rendering:auto; stroke-opacity:1; fill:black; stroke-dasharray:none; font-weight:normal; stroke-width:1; font-family:'Dialog'; font-style:normal; stroke-linejoin:miter; font-size:12px; stroke-dashoffset:0; image-rendering:auto;" width="258" height="343" xmlns="http://www.w3.org/2000/svg" +><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs" + /><g + ><defs id="defs1" + ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1" + ><path d="M0 0 L258 0 L258 343 L0 343 L0 0 Z" + /></clipPath + ></defs + ><g style="fill:white; font-family:sans-serif; stroke:white;" + ><rect x="0" y="0" width="258" style="clip-path:url(#clipPath1); stroke:none;" height="343" + /></g + ><g style="font-family:sans-serif;" + ><circle r="7" style="clip-path:url(#clipPath1); stroke:none;" cx="153" cy="22" + /><line x1="153" x2="153" y1="30" style="fill:none; clip-path:url(#clipPath1);" y2="35" + /><rect x="58" y="56" width="189" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(196,166,122);" rx="2.5" ry="2.5" height="20" + /><rect x="59" y="57" width="189" style="clip-path:url(#clipPath1); fill:none;" rx="2.5" ry="2.5" height="20" + /><line x1="153" x2="153" y1="57" style="fill:none; clip-path:url(#clipPath1);" y2="52" + /><line x1="153" x2="153" y1="77" style="fill:none; clip-path:url(#clipPath1);" y2="82" + /><text x="74" xml:space="preserve" y="72" style="clip-path:url(#clipPath1); stroke:none;" + >getReqArg(channelIndex)</text + ><line x1="153" x2="153" y1="35" style="fill:none; clip-path:url(#clipPath1);" y2="52" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 153 52 148 43 157 43" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 153 52 148 43 157 43" + /><line x1="153" x2="163" y1="108" style="fill:none; clip-path:url(#clipPath1);" y2="118" + /><line x1="143" x2="153" y1="118" style="fill:none; clip-path:url(#clipPath1);" y2="128" + /><line x1="153" x2="143" y1="108" style="fill:none; clip-path:url(#clipPath1);" y2="118" + /><line x1="163" x2="153" y1="118" style="fill:none; clip-path:url(#clipPath1);" y2="128" + /><line x1="153" x2="153" y1="108" style="fill:none; clip-path:url(#clipPath1);" y2="103" + /><line x1="143" x2="118" y1="118" style="fill:none; clip-path:url(#clipPath1);" y2="118" + /><line x1="163" x2="188" y1="118" style="fill:none; clip-path:url(#clipPath1);" y2="118" + /><line x1="153" x2="153" y1="128" style="fill:none; clip-path:url(#clipPath1);" y2="153" + /><text x="18" xml:space="preserve" y="113" style="clip-path:url(#clipPath1); stroke:none;" + >[channelIndex==0]</text + ><line x1="153" x2="153" y1="82" style="fill:none; clip-path:url(#clipPath1);" y2="103" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 153 103 148 94 157 94" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 153 103 148 94 157 94" + /><line x1="91" x2="91" y1="159" style="fill:none; clip-path:url(#clipPath1);" y2="154" + /><line x1="91" x2="91" y1="179" style="fill:none; clip-path:url(#clipPath1);" y2="184" + /><line x1="20" x2="165" y1="160" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="160" + /><line x1="165" x2="165" y1="160" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="180" + /><line x1="20" x2="165" y1="180" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="180" + /><line x1="20" x2="30" y1="160" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="170" + /><line x1="20" x2="30" y1="180" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="170" + /><line x1="19" x2="164" y1="159" style="fill:none; clip-path:url(#clipPath1);" y2="159" + /><line x1="164" x2="164" y1="159" style="fill:none; clip-path:url(#clipPath1);" y2="179" + /><line x1="19" x2="164" y1="179" style="fill:none; clip-path:url(#clipPath1);" y2="179" + /><line x1="19" x2="29" y1="159" style="fill:none; clip-path:url(#clipPath1);" y2="169" + /><line x1="19" x2="29" y1="179" style="fill:none; clip-path:url(#clipPath1);" y2="169" + /><text x="34" xml:space="preserve" y="159" style="clip-path:url(#clipPath1); stroke:none;" + >chl</text + ><text x="31" xml:space="preserve" y="174" style="clip-path:url(#clipPath1); stroke:none;" + >data_comm_T1(1) </text + ><line x1="118" x2="91" y1="118" style="fill:none; clip-path:url(#clipPath1);" y2="154" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 91 154 92 144 100 150" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 91 154 92 144 100 150" + /><line x1="91" x2="91" y1="264" style="fill:none; clip-path:url(#clipPath1);" y2="259" + /><line x1="91" x2="91" y1="284" style="fill:none; clip-path:url(#clipPath1);" y2="289" + /><line x1="12" x2="162" y1="265" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="265" + /><line x1="12" x2="162" y1="285" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="285" + /><line x1="12" x2="12" y1="265" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="285" + /><line x1="162" x2="172" y1="265" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="275" + /><line x1="162" x2="172" y1="285" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="275" + /><line x1="11" x2="161" y1="264" style="fill:none; clip-path:url(#clipPath1);" y2="264" + /><line x1="11" x2="161" y1="284" style="fill:none; clip-path:url(#clipPath1);" y2="284" + /><line x1="11" x2="11" y1="264" style="fill:none; clip-path:url(#clipPath1);" y2="284" + /><line x1="161" x2="171" y1="264" style="fill:none; clip-path:url(#clipPath1);" y2="274" + /><line x1="161" x2="171" y1="284" style="fill:none; clip-path:url(#clipPath1);" y2="274" + /><text x="26" xml:space="preserve" y="264" style="clip-path:url(#clipPath1); stroke:none;" + >chl</text + ><text x="26" xml:space="preserve" y="279" style="clip-path:url(#clipPath1); stroke:none;" + >retData_comm_T1(1)</text + ><text x="131" xml:space="preserve" y="295" style="clip-path:url(#clipPath1); stroke:none;" + >sec:hsmSec_comm</text + ><line x1="84" x2="99" y1="196" style="fill:none; clip-path:url(#clipPath1);" y2="196" + /><line x1="84" x2="84" y1="196" style="fill:none; clip-path:url(#clipPath1);" y2="231" + /><line x1="99" x2="99" y1="196" style="fill:none; clip-path:url(#clipPath1);" y2="231" + /><line x1="84" x2="91" y1="231" style="fill:none; clip-path:url(#clipPath1);" y2="236" + /><line x1="91" x2="99" y1="236" style="fill:none; clip-path:url(#clipPath1);" y2="231" + /><line x1="91" x2="91" y1="196" style="fill:none; clip-path:url(#clipPath1);" y2="191" + /><line x1="91" x2="91" y1="236" style="fill:none; clip-path:url(#clipPath1);" y2="241" + /><line x1="89" x2="94" y1="201" style="fill:none; clip-path:url(#clipPath1);" y2="201" + /><line x1="89" x2="94" y1="213" style="fill:none; clip-path:url(#clipPath1);" y2="213" + /><line x1="89" x2="94" y1="207" style="fill:none; clip-path:url(#clipPath1);" y2="207" + /><line x1="89" x2="89" y1="201" style="fill:none; clip-path:url(#clipPath1);" y2="207" + /><line x1="94" x2="94" y1="207" style="fill:none; clip-path:url(#clipPath1);" y2="213" + /><line x1="89" x2="94" y1="216" style="fill:none; clip-path:url(#clipPath1);" y2="216" + /><line x1="89" x2="94" y1="228" style="fill:none; clip-path:url(#clipPath1);" y2="228" + /><line x1="89" x2="94" y1="222" style="fill:none; clip-path:url(#clipPath1);" y2="222" + /><line x1="89" x2="89" y1="216" style="fill:none; clip-path:url(#clipPath1);" y2="228" + /><text x="106" xml:space="preserve" y="213" style="clip-path:url(#clipPath1); stroke:none;" + >sec:hsmSec_comm</text + ><image x="62" y="213" width="20" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAAVklEQVR4XmNgGErg +PxqmCKAbRpHB6AZQgsEAXZBsfO7+LxCNKUEuJspAkCJkjE2OZANBipAANjl0PqZB +MAVYDAQBbHLofKINAwNschhiMEMIGTYKaAsAlkPEzZtFB24AAAAASUVORK5CYII=" style="clip-path:url(#clipPath1);" height="16" preserveAspectRatio="none" + /><line x1="91" x2="91" y1="184" style="fill:none; clip-path:url(#clipPath1);" y2="191" + /><line x1="91" x2="91" y1="241" style="fill:none; clip-path:url(#clipPath1);" y2="259" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 91 259 86 250 95 250" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 91 259 86 250 95 250" + /><circle r="8" style="clip-path:url(#clipPath1); stroke:none;" cx="92" cy="323" + /><circle r="10" style="fill:none; clip-path:url(#clipPath1);" cx="92" cy="323" + /><line x1="92" x2="92" y1="313" style="fill:none; clip-path:url(#clipPath1);" y2="308" + /><line x1="91" x2="92" y1="289" style="fill:none; clip-path:url(#clipPath1);" y2="308" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 92 308 86 299 96 299" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 92 308 86 299 96 299" + /></g + ><g style="font-family:sans-serif;" + ><circle r="7" style="stroke:none;" cx="153" cy="22" + /><line y2="35" style="fill:none;" x1="153" x2="153" y1="30" + /><rect x="58" y="56" width="189" style="fill:none; stroke:rgb(196,166,122);" rx="2.5" ry="2.5" height="20" + /><rect x="59" y="57" width="189" style="fill:none;" rx="2.5" ry="2.5" height="20" + /><line y2="52" style="fill:none;" x1="153" x2="153" y1="57" + /><line y2="82" style="fill:none;" x1="153" x2="153" y1="77" + /><text x="74" xml:space="preserve" y="72" style="stroke:none;" + >getReqArg(channelIndex)</text + ><line y2="52" style="fill:none;" x1="153" x2="153" y1="35" + /><polygon style="stroke:none;" points=" 153 52 148 43 157 43" + /><polygon style="fill:none;" points=" 153 52 148 43 157 43" + /><line y2="118" style="fill:none;" x1="153" x2="163" y1="108" + /><line y2="128" style="fill:none;" x1="143" x2="153" y1="118" + /><line y2="118" style="fill:none;" x1="153" x2="143" y1="108" + /><line y2="128" style="fill:none;" x1="163" x2="153" y1="118" + /><line y2="103" style="fill:none;" x1="153" x2="153" y1="108" + /><line y2="118" style="fill:none;" x1="143" x2="118" y1="118" + /><line y2="118" style="fill:none;" x1="163" x2="188" y1="118" + /><line y2="153" style="fill:none;" x1="153" x2="153" y1="128" + /><text x="18" xml:space="preserve" y="113" style="stroke:none;" + >[channelIndex==0]</text + ><line y2="103" style="fill:none;" x1="153" x2="153" y1="82" + /><polygon style="stroke:none;" points=" 153 103 148 94 157 94" + /><polygon style="fill:none;" points=" 153 103 148 94 157 94" + /><line y2="154" style="fill:none;" x1="91" x2="91" y1="159" + /><line y2="184" style="fill:none;" x1="91" x2="91" y1="179" + /><line x1="20" x2="165" y1="160" style="fill:none; stroke:rgb(104,229,255);" y2="160" + /><line x1="165" x2="165" y1="160" style="fill:none; stroke:rgb(104,229,255);" y2="180" + /><line x1="20" x2="165" y1="180" style="fill:none; stroke:rgb(104,229,255);" y2="180" + /><line x1="20" x2="30" y1="160" style="fill:none; stroke:rgb(104,229,255);" y2="170" + /><line x1="20" x2="30" y1="180" style="fill:none; stroke:rgb(104,229,255);" y2="170" + /><line y2="159" style="fill:none;" x1="19" x2="164" y1="159" + /><line y2="179" style="fill:none;" x1="164" x2="164" y1="159" + /><line y2="179" style="fill:none;" x1="19" x2="164" y1="179" + /><line y2="169" style="fill:none;" x1="19" x2="29" y1="159" + /><line y2="169" style="fill:none;" x1="19" x2="29" y1="179" + /><text x="34" xml:space="preserve" y="159" style="stroke:none;" + >chl</text + ><text x="31" xml:space="preserve" y="174" style="stroke:none;" + >data_comm_T1(1) </text + ><line y2="154" style="fill:none;" x1="118" x2="91" y1="118" + /><polygon style="stroke:none;" points=" 91 154 92 144 100 150" + /><polygon style="fill:none;" points=" 91 154 92 144 100 150" + /><line y2="259" style="fill:none;" x1="91" x2="91" y1="264" + /><line y2="289" style="fill:none;" x1="91" x2="91" y1="284" + /><line x1="12" x2="162" y1="265" style="fill:none; stroke:rgb(104,229,255);" y2="265" + /><line x1="12" x2="162" y1="285" style="fill:none; stroke:rgb(104,229,255);" y2="285" + /><line x1="12" x2="12" y1="265" style="fill:none; stroke:rgb(104,229,255);" y2="285" + /><line x1="162" x2="172" y1="265" style="fill:none; stroke:rgb(104,229,255);" y2="275" + /><line x1="162" x2="172" y1="285" style="fill:none; stroke:rgb(104,229,255);" y2="275" + /><line y2="264" style="fill:none;" x1="11" x2="161" y1="264" + /><line y2="284" style="fill:none;" x1="11" x2="161" y1="284" + /><line y2="284" style="fill:none;" x1="11" x2="11" y1="264" + /><line y2="274" style="fill:none;" x1="161" x2="171" y1="264" + /><line y2="274" style="fill:none;" x1="161" x2="171" y1="284" + /><text x="26" xml:space="preserve" y="264" style="stroke:none;" + >chl</text + ><text x="26" xml:space="preserve" y="279" style="stroke:none;" + >retData_comm_T1(1)</text + ><text x="131" xml:space="preserve" y="295" style="stroke:none;" + >sec:hsmSec_comm</text + ><line y2="196" style="fill:none;" x1="84" x2="99" y1="196" + /><line y2="231" style="fill:none;" x1="84" x2="84" y1="196" + /><line y2="231" style="fill:none;" x1="99" x2="99" y1="196" + /><line y2="236" style="fill:none;" x1="84" x2="91" y1="231" + /><line y2="231" style="fill:none;" x1="91" x2="99" y1="236" + /><line y2="191" style="fill:none;" x1="91" x2="91" y1="196" + /><line y2="241" style="fill:none;" x1="91" x2="91" y1="236" + /><line y2="201" style="fill:none;" x1="89" x2="94" y1="201" + /><line y2="213" style="fill:none;" x1="89" x2="94" y1="213" + /><line y2="207" style="fill:none;" x1="89" x2="94" y1="207" + /><line y2="207" style="fill:none;" x1="89" x2="89" y1="201" + /><line y2="213" style="fill:none;" x1="94" x2="94" y1="207" + /><line y2="216" style="fill:none;" x1="89" x2="94" y1="216" + /><line y2="228" style="fill:none;" x1="89" x2="94" y1="228" + /><line y2="222" style="fill:none;" x1="89" x2="94" y1="222" + /><line y2="228" style="fill:none;" x1="89" x2="89" y1="216" + /><text x="106" xml:space="preserve" y="213" style="stroke:none;" + >sec:hsmSec_comm</text + ><image preserveAspectRatio="none" x="62" width="20" y="213" height="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAAVklEQVR4XmNgGErg +PxqmCKAbRpHB6AZQgsEAXZBsfO7+LxCNKUEuJspAkCJkjE2OZANBipAANjl0PqZB +MAVYDAQBbHLofKINAwNschhiMEMIGTYKaAsAlkPEzZtFB24AAAAASUVORK5CYII=" + /><line y2="191" style="fill:none;" x1="91" x2="91" y1="184" + /><line y2="259" style="fill:none;" x1="91" x2="91" y1="241" + /><polygon style="stroke:none;" points=" 91 259 86 250 95 250" + /><polygon style="fill:none;" points=" 91 259 86 250 95 250" + /><circle r="8" style="stroke:none;" cx="92" cy="323" + /><circle r="10" style="fill:none;" cx="92" cy="323" + /><line y2="308" style="fill:none;" x1="92" x2="92" y1="313" + /><line y2="308" style="fill:none;" x1="91" x2="92" y1="289" + /><polygon style="stroke:none;" points=" 92 308 86 299 96 299" + /><polygon style="fill:none;" points=" 92 308 86 299 96 299" + /></g + ></g +></svg +> diff --git a/doc/SysMLSec/fig/hsm_ad_t1.svg b/doc/SysMLSec/fig/hsm_ad_t1.svg new file mode 100644 index 0000000000000000000000000000000000000000..bd1c3f6635f1f0683d24f2f82ed676d1281888b0 --- /dev/null +++ b/doc/SysMLSec/fig/hsm_ad_t1.svg @@ -0,0 +1,197 @@ +<?xml version="1.0"?> +<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' + 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'> +<svg xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-opacity:1; color-rendering:auto; color-interpolation:auto; text-rendering:auto; stroke:black; stroke-linecap:square; stroke-miterlimit:10; shape-rendering:auto; stroke-opacity:1; fill:black; stroke-dasharray:none; font-weight:normal; stroke-width:1; font-family:'Dialog'; font-style:normal; stroke-linejoin:miter; font-size:12px; stroke-dashoffset:0; image-rendering:auto;" width="185" height="289" xmlns="http://www.w3.org/2000/svg" +><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs" + /><g + ><defs id="defs1" + ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1" + ><path d="M0 0 L185 0 L185 289 L0 289 L0 0 Z" + /></clipPath + ></defs + ><g style="fill:white; font-family:sans-serif; stroke:white;" + ><rect x="0" y="0" width="185" style="clip-path:url(#clipPath1); stroke:none;" height="289" + /></g + ><g style="font-family:sans-serif;" + ><line x1="94" x2="94" y1="235" style="fill:none; clip-path:url(#clipPath1);" y2="254" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 94 254 89 245 98 245" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 94 254 89 245 98 245" + /><line x1="94" x2="94" y1="32" style="fill:none; clip-path:url(#clipPath1);" y2="54" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 94 54 89 45 98 45" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 94 54 89 45 98 45" + /><circle r="7" style="clip-path:url(#clipPath1); stroke:none;" cx="94" cy="19" + /><line x1="94" x2="94" y1="27" style="fill:none; clip-path:url(#clipPath1);" y2="32" + /><line x1="94" x2="94" y1="210" style="fill:none; clip-path:url(#clipPath1);" y2="205" + /><line x1="94" x2="94" y1="230" style="fill:none; clip-path:url(#clipPath1);" y2="235" + /><line x1="53" x2="128" y1="211" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="211" + /><line x1="53" x2="128" y1="231" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="231" + /><line x1="53" x2="53" y1="211" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="231" + /><line x1="128" x2="138" y1="211" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="221" + /><line x1="128" x2="138" y1="231" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="221" + /><line x1="52" x2="127" y1="210" style="fill:none; clip-path:url(#clipPath1);" y2="210" + /><line x1="52" x2="127" y1="230" style="fill:none; clip-path:url(#clipPath1);" y2="230" + /><line x1="52" x2="52" y1="210" style="fill:none; clip-path:url(#clipPath1);" y2="230" + /><line x1="127" x2="137" y1="210" style="fill:none; clip-path:url(#clipPath1);" y2="220" + /><line x1="127" x2="137" y1="230" style="fill:none; clip-path:url(#clipPath1);" y2="220" + /><text x="67" xml:space="preserve" y="210" style="clip-path:url(#clipPath1); stroke:none;" + >chl</text + ><text x="67" xml:space="preserve" y="225" style="clip-path:url(#clipPath1); stroke:none;" + >comm(1)</text + ><text x="115" xml:space="preserve" y="241" style="clip-path:url(#clipPath1); stroke:none;" + >sec:hsmSec_comm</text + ><circle r="8" style="clip-path:url(#clipPath1); stroke:none;" cx="94" cy="269" + /><circle r="10" style="fill:none; clip-path:url(#clipPath1);" cx="94" cy="269" + /><line x1="94" x2="94" y1="259" style="fill:none; clip-path:url(#clipPath1);" y2="254" + /><line x1="23" x2="157" y1="60" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(196,166,122);" y2="60" + /><line x1="23" x2="157" y1="80" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(196,166,122);" y2="80" + /><line x1="23" x2="23" y1="60" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(196,166,122);" y2="80" + /><line x1="157" x2="167" y1="60" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(196,166,122);" y2="70" + /><line x1="157" x2="167" y1="80" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(196,166,122);" y2="70" + /><line x1="94" x2="94" y1="59" style="fill:none; clip-path:url(#clipPath1);" y2="54" + /><line x1="94" x2="94" y1="79" style="fill:none; clip-path:url(#clipPath1);" y2="84" + /><line x1="22" x2="156" y1="59" style="fill:none; clip-path:url(#clipPath1);" y2="59" + /><line x1="22" x2="156" y1="79" style="fill:none; clip-path:url(#clipPath1);" y2="79" + /><line x1="22" x2="22" y1="59" style="fill:none; clip-path:url(#clipPath1);" y2="79" + /><line x1="156" x2="166" y1="59" style="fill:none; clip-path:url(#clipPath1);" y2="69" + /><line x1="156" x2="166" y1="79" style="fill:none; clip-path:url(#clipPath1);" y2="69" + /><text x="37" xml:space="preserve" y="59" style="clip-path:url(#clipPath1); stroke:none;" + >req</text + ><text x="37" xml:space="preserve" y="74" style="clip-path:url(#clipPath1); stroke:none;" + >startHSM_CPU1(0)</text + ><line x1="94" x2="94" y1="109" style="fill:none; clip-path:url(#clipPath1);" y2="104" + /><line x1="94" x2="94" y1="129" style="fill:none; clip-path:url(#clipPath1);" y2="134" + /><line x1="25" x2="156" y1="110" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="110" + /><line x1="25" x2="156" y1="130" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="130" + /><line x1="25" x2="25" y1="110" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="130" + /><line x1="156" x2="166" y1="110" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="120" + /><line x1="156" x2="166" y1="130" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="120" + /><line x1="24" x2="155" y1="109" style="fill:none; clip-path:url(#clipPath1);" y2="109" + /><line x1="24" x2="155" y1="129" style="fill:none; clip-path:url(#clipPath1);" y2="129" + /><line x1="24" x2="24" y1="109" style="fill:none; clip-path:url(#clipPath1);" y2="129" + /><line x1="155" x2="165" y1="109" style="fill:none; clip-path:url(#clipPath1);" y2="119" + /><line x1="155" x2="165" y1="129" style="fill:none; clip-path:url(#clipPath1);" y2="119" + /><text x="39" xml:space="preserve" y="109" style="clip-path:url(#clipPath1); stroke:none;" + >chl</text + ><text x="39" xml:space="preserve" y="124" style="clip-path:url(#clipPath1); stroke:none;" + >data_comm_T1(1)</text + ><line x1="94" x2="94" y1="84" style="fill:none; clip-path:url(#clipPath1);" y2="104" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 94 104 89 95 98 95" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 94 104 89 95 98 95" + /><line x1="94" x2="93" y1="134" style="fill:none; clip-path:url(#clipPath1);" y2="156" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 93 156 88 147 98 147" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 93 156 88 147 98 147" + /><line x1="93" x2="93" y1="161" style="fill:none; clip-path:url(#clipPath1);" y2="156" + /><line x1="93" x2="93" y1="181" style="fill:none; clip-path:url(#clipPath1);" y2="186" + /><line x1="12" x2="176" y1="162" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="162" + /><line x1="176" x2="176" y1="162" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="182" + /><line x1="12" x2="176" y1="182" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="182" + /><line x1="12" x2="22" y1="162" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="172" + /><line x1="12" x2="22" y1="182" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="172" + /><line x1="11" x2="175" y1="161" style="fill:none; clip-path:url(#clipPath1);" y2="161" + /><line x1="175" x2="175" y1="161" style="fill:none; clip-path:url(#clipPath1);" y2="181" + /><line x1="11" x2="175" y1="181" style="fill:none; clip-path:url(#clipPath1);" y2="181" + /><line x1="11" x2="21" y1="161" style="fill:none; clip-path:url(#clipPath1);" y2="171" + /><line x1="11" x2="21" y1="181" style="fill:none; clip-path:url(#clipPath1);" y2="171" + /><text x="26" xml:space="preserve" y="161" style="clip-path:url(#clipPath1); stroke:none;" + >chl</text + ><text x="23" xml:space="preserve" y="176" style="clip-path:url(#clipPath1); stroke:none;" + >retData_comm_T1(1) </text + ><text x="134" xml:space="preserve" y="192" style="clip-path:url(#clipPath1); stroke:none;" + >sec:hsmSec_comm</text + ><line x1="93" x2="94" y1="186" style="fill:none; clip-path:url(#clipPath1);" y2="205" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 94 205 88 196 98 196" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 94 205 88 196 98 196" + /></g + ><g style="font-family:sans-serif;" + ><line y2="254" style="fill:none;" x1="94" x2="94" y1="235" + /><polygon style="stroke:none;" points=" 94 254 89 245 98 245" + /><polygon style="fill:none;" points=" 94 254 89 245 98 245" + /><line y2="54" style="fill:none;" x1="94" x2="94" y1="32" + /><polygon style="stroke:none;" points=" 94 54 89 45 98 45" + /><polygon style="fill:none;" points=" 94 54 89 45 98 45" + /><circle r="7" style="stroke:none;" cx="94" cy="19" + /><line y2="32" style="fill:none;" x1="94" x2="94" y1="27" + /><line y2="205" style="fill:none;" x1="94" x2="94" y1="210" + /><line y2="235" style="fill:none;" x1="94" x2="94" y1="230" + /><line x1="53" x2="128" y1="211" style="fill:none; stroke:rgb(104,229,255);" y2="211" + /><line x1="53" x2="128" y1="231" style="fill:none; stroke:rgb(104,229,255);" y2="231" + /><line x1="53" x2="53" y1="211" style="fill:none; stroke:rgb(104,229,255);" y2="231" + /><line x1="128" x2="138" y1="211" style="fill:none; stroke:rgb(104,229,255);" y2="221" + /><line x1="128" x2="138" y1="231" style="fill:none; stroke:rgb(104,229,255);" y2="221" + /><line y2="210" style="fill:none;" x1="52" x2="127" y1="210" + /><line y2="230" style="fill:none;" x1="52" x2="127" y1="230" + /><line y2="230" style="fill:none;" x1="52" x2="52" y1="210" + /><line y2="220" style="fill:none;" x1="127" x2="137" y1="210" + /><line y2="220" style="fill:none;" x1="127" x2="137" y1="230" + /><text x="67" xml:space="preserve" y="210" style="stroke:none;" + >chl</text + ><text x="67" xml:space="preserve" y="225" style="stroke:none;" + >comm(1)</text + ><text x="115" xml:space="preserve" y="241" style="stroke:none;" + >sec:hsmSec_comm</text + ><circle r="8" style="stroke:none;" cx="94" cy="269" + /><circle r="10" style="fill:none;" cx="94" cy="269" + /><line y2="254" style="fill:none;" x1="94" x2="94" y1="259" + /><line x1="23" x2="157" y1="60" style="fill:none; stroke:rgb(196,166,122);" y2="60" + /><line x1="23" x2="157" y1="80" style="fill:none; stroke:rgb(196,166,122);" y2="80" + /><line x1="23" x2="23" y1="60" style="fill:none; stroke:rgb(196,166,122);" y2="80" + /><line x1="157" x2="167" y1="60" style="fill:none; stroke:rgb(196,166,122);" y2="70" + /><line x1="157" x2="167" y1="80" style="fill:none; stroke:rgb(196,166,122);" y2="70" + /><line y2="54" style="fill:none;" x1="94" x2="94" y1="59" + /><line y2="84" style="fill:none;" x1="94" x2="94" y1="79" + /><line y2="59" style="fill:none;" x1="22" x2="156" y1="59" + /><line y2="79" style="fill:none;" x1="22" x2="156" y1="79" + /><line y2="79" style="fill:none;" x1="22" x2="22" y1="59" + /><line y2="69" style="fill:none;" x1="156" x2="166" y1="59" + /><line y2="69" style="fill:none;" x1="156" x2="166" y1="79" + /><text x="37" xml:space="preserve" y="59" style="stroke:none;" + >req</text + ><text x="37" xml:space="preserve" y="74" style="stroke:none;" + >startHSM_CPU1(0)</text + ><line y2="104" style="fill:none;" x1="94" x2="94" y1="109" + /><line y2="134" style="fill:none;" x1="94" x2="94" y1="129" + /><line x1="25" x2="156" y1="110" style="fill:none; stroke:rgb(104,229,255);" y2="110" + /><line x1="25" x2="156" y1="130" style="fill:none; stroke:rgb(104,229,255);" y2="130" + /><line x1="25" x2="25" y1="110" style="fill:none; stroke:rgb(104,229,255);" y2="130" + /><line x1="156" x2="166" y1="110" style="fill:none; stroke:rgb(104,229,255);" y2="120" + /><line x1="156" x2="166" y1="130" style="fill:none; stroke:rgb(104,229,255);" y2="120" + /><line y2="109" style="fill:none;" x1="24" x2="155" y1="109" + /><line y2="129" style="fill:none;" x1="24" x2="155" y1="129" + /><line y2="129" style="fill:none;" x1="24" x2="24" y1="109" + /><line y2="119" style="fill:none;" x1="155" x2="165" y1="109" + /><line y2="119" style="fill:none;" x1="155" x2="165" y1="129" + /><text x="39" xml:space="preserve" y="109" style="stroke:none;" + >chl</text + ><text x="39" xml:space="preserve" y="124" style="stroke:none;" + >data_comm_T1(1)</text + ><line y2="104" style="fill:none;" x1="94" x2="94" y1="84" + /><polygon style="stroke:none;" points=" 94 104 89 95 98 95" + /><polygon style="fill:none;" points=" 94 104 89 95 98 95" + /><line y2="156" style="fill:none;" x1="94" x2="93" y1="134" + /><polygon style="stroke:none;" points=" 93 156 88 147 98 147" + /><polygon style="fill:none;" points=" 93 156 88 147 98 147" + /><line y2="156" style="fill:none;" x1="93" x2="93" y1="161" + /><line y2="186" style="fill:none;" x1="93" x2="93" y1="181" + /><line x1="12" x2="176" y1="162" style="fill:none; stroke:rgb(104,229,255);" y2="162" + /><line x1="176" x2="176" y1="162" style="fill:none; stroke:rgb(104,229,255);" y2="182" + /><line x1="12" x2="176" y1="182" style="fill:none; stroke:rgb(104,229,255);" y2="182" + /><line x1="12" x2="22" y1="162" style="fill:none; stroke:rgb(104,229,255);" y2="172" + /><line x1="12" x2="22" y1="182" style="fill:none; stroke:rgb(104,229,255);" y2="172" + /><line y2="161" style="fill:none;" x1="11" x2="175" y1="161" + /><line y2="181" style="fill:none;" x1="175" x2="175" y1="161" + /><line y2="181" style="fill:none;" x1="11" x2="175" y1="181" + /><line y2="171" style="fill:none;" x1="11" x2="21" y1="161" + /><line y2="171" style="fill:none;" x1="11" x2="21" y1="181" + /><text x="26" xml:space="preserve" y="161" style="stroke:none;" + >chl</text + ><text x="23" xml:space="preserve" y="176" style="stroke:none;" + >retData_comm_T1(1) </text + ><text x="134" xml:space="preserve" y="192" style="stroke:none;" + >sec:hsmSec_comm</text + ><line y2="205" style="fill:none;" x1="93" x2="94" y1="186" + /><polygon style="stroke:none;" points=" 94 205 88 196 98 196" + /><polygon style="fill:none;" points=" 94 205 88 196 98 196" + /></g + ></g +></svg +> diff --git a/doc/SysMLSec/fig/hsm_fv.svg b/doc/SysMLSec/fig/hsm_fv.svg new file mode 100644 index 0000000000000000000000000000000000000000..e14e45b566ac8c43e588cfaac2515dd00f9ff7d5 --- /dev/null +++ b/doc/SysMLSec/fig/hsm_fv.svg @@ -0,0 +1,397 @@ +<?xml version="1.0"?> +<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' + 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'> +<svg xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-opacity:1; color-rendering:auto; color-interpolation:auto; text-rendering:auto; stroke:black; stroke-linecap:square; stroke-miterlimit:10; shape-rendering:auto; stroke-opacity:1; fill:black; stroke-dasharray:none; font-weight:normal; stroke-width:1; font-family:'Dialog'; font-style:normal; stroke-linejoin:miter; font-size:12px; stroke-dashoffset:0; image-rendering:auto;" width="1278" height="196" xmlns="http://www.w3.org/2000/svg" +><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs" + /><g + ><defs id="defs1" + ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1" + ><path d="M0 0 L1278 0 L1278 196 L0 196 L0 0 Z" + /></clipPath + ></defs + ><g style="fill:white; font-family:sans-serif; stroke:white;" + ><rect x="0" y="0" width="1278" style="clip-path:url(#clipPath1); stroke:none;" height="196" + /></g + ><g style="font-family:sans-serif;" + ><rect x="403" y="29" width="200" style="fill:none; clip-path:url(#clipPath1);" height="150" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="404" y="30" width="198" style="clip-path:url(#clipPath1); stroke:none;" height="148" + /><rect x="403" y="29" width="1" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="404" y="29" width="198" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="404" y="178" width="199" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="602" y="29" width="1" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="495" xml:space="preserve" y="56" style="clip-path:url(#clipPath1); stroke:none;" + >T1</text + ><image x="573" y="44" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="clip-path:url(#clipPath1); font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="390" y="120" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="390" y="120" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 393 123 393 143 413 133" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 393 123 393 143 413 133" + /><line x1="413" x2="413" y1="143" style="fill:none; clip-path:url(#clipPath1);" y2="123" + /><text x="390" y="119" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >retData_comm_T1</text + ><rect x="390" y="69" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="390" y="69" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 413 72 413 92 393 82" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 413 72 413 92 393 82" + /><line x1="393" x2="393" y1="92" style="fill:none; clip-path:url(#clipPath1);" y2="72" + /><text x="390" y="68" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >data_comm_T1</text + ><rect x="505" y="16" width="26" style="clip-path:url(#clipPath1); fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="505" y="16" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 508 39 528 39 518 19" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 508 39 528 39 518 19" + /><line x1="528" x2="508" y1="19" style="fill:none; clip-path:url(#clipPath1);" y2="19" + /><text x="505" y="15" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >startHSM_CPU1</text + ><rect x="590" y="84" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="590" y="84" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 593 87 593 107 613 97" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 593 87 593 107 613 97" + /><line x1="613" x2="613" y1="107" style="fill:none; clip-path:url(#clipPath1);" y2="87" + /><text x="590" y="83" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >comm</text + ><text x="572" y="77" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >???</text + ><ellipse style="fill:none; clip-path:url(#clipPath1);" rx="3" cx="581" ry="4.5" cy="88.5" + /><rect x="577" y="87" width="9" style="clip-path:url(#clipPath1); fill:gray; stroke:none;" height="7" + /><rect x="577" y="87" width="9" style="fill:none; clip-path:url(#clipPath1);" height="7" + /><rect x="674" y="31" width="200" style="fill:none; clip-path:url(#clipPath1);" height="150" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="675" y="32" width="198" style="clip-path:url(#clipPath1); stroke:none;" height="148" + /><rect x="674" y="31" width="1" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="675" y="31" width="198" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="675" y="180" width="199" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="873" y="31" width="1" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="766" xml:space="preserve" y="58" style="clip-path:url(#clipPath1); stroke:none;" + >T2</text + ><image x="844" y="46" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="clip-path:url(#clipPath1); font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="861" y="135" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="861" y="135" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 884 138 884 158 864 148" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 884 138 884 158 864 148" + /><line x1="864" x2="864" y1="158" style="fill:none; clip-path:url(#clipPath1);" y2="138" + /><text x="861" y="134" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >retData_comm_T2</text + ><rect x="861" y="79" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="861" y="79" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 864 82 864 102 884 92" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 864 82 864 102 884 92" + /><line x1="884" x2="884" y1="102" style="fill:none; clip-path:url(#clipPath1);" y2="82" + /><text x="861" y="78" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >data_comm_T2</text + ><rect x="798" y="18" width="26" style="clip-path:url(#clipPath1); fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="798" y="18" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 801 41 821 41 811 21" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 801 41 821 41 811 21" + /><line x1="821" x2="801" y1="21" style="fill:none; clip-path:url(#clipPath1);" y2="21" + /><text x="798" y="17" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >startHSM_CPU2</text + ><rect x="661" y="84" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="661" y="84" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 664 87 664 107 684 97" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 664 87 664 107 684 97" + /><line x1="684" x2="684" y1="107" style="fill:none; clip-path:url(#clipPath1);" y2="87" + /><text x="661" y="83" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >comm</text + ><text x="620" y="97" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >comm</text + ><line x1="616" x2="661" y1="97" style="fill:none; clip-path:url(#clipPath1);" y2="97" + /><rect x="1022" y="31" width="246" style="fill:none; clip-path:url(#clipPath1);" height="155" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="1023" y="32" width="244" style="clip-path:url(#clipPath1); stroke:none;" height="153" + /><rect x="1022" y="31" width="1" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="155" + /><rect x="1023" y="31" width="244" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="1023" y="185" width="245" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="1267" y="31" width="1" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="154" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="1112" xml:space="preserve" y="58" style="clip-path:url(#clipPath1); stroke:none;" + >HSM_CPU2</text + ><image x="1238" y="46" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="clip-path:url(#clipPath1); font-weight:normal;" height="16" preserveAspectRatio="none" + /><text x="1037" y="85" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >+ channelIndex = 0 : Natural;</text + ><rect x="1009" y="135" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="1009" y="135" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 1032 138 1032 158 1012 148" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 1032 138 1032 158 1012 148" + /><line x1="1012" x2="1012" y1="158" style="fill:none; clip-path:url(#clipPath1);" y2="138" + /><text x="1009" y="134" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >retData_comm_T2</text + ><rect x="1009" y="77" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="1009" y="77" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 1012 80 1012 100 1032 90" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 1012 80 1012 100 1032 90" + /><line x1="1032" x2="1032" y1="100" style="fill:none; clip-path:url(#clipPath1);" y2="80" + /><text x="1009" y="76" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >data_comm_T2</text + ><rect x="1090" y="18" width="26" style="clip-path:url(#clipPath1); fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="1090" y="18" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 1093 21 1113 21 1103 41" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 1093 21 1113 21 1103 41" + /><line x1="1113" x2="1093" y1="41" style="fill:none; clip-path:url(#clipPath1);" y2="41" + /><text x="1090" y="17" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >startHSM_CPU2</text + ><text x="909" y="18" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >startHSM_CPU2</text + ><line x1="1103" x2="811" y1="18" style="fill:none; clip-path:url(#clipPath1);" y2="18" + /><text x="901" y="91" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >data_comm_T2</text + ><line x1="1009" x2="887" y1="90" style="fill:none; clip-path:url(#clipPath1);" y2="92" + /><text x="892" y="148" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >retData_comm_T2</text + ><line x1="1009" x2="887" y1="148" style="fill:none; clip-path:url(#clipPath1);" y2="148" + /><rect x="11" y="29" width="248" style="fill:none; clip-path:url(#clipPath1);" height="148" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="12" y="30" width="246" style="clip-path:url(#clipPath1); stroke:none;" height="146" + /><rect x="11" y="29" width="1" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="148" + /><rect x="12" y="29" width="246" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="12" y="176" width="247" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="258" y="29" width="1" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="147" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="102" xml:space="preserve" y="56" style="clip-path:url(#clipPath1); stroke:none;" + >HSM_CPU1</text + ><image x="229" y="44" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="clip-path:url(#clipPath1); font-weight:normal;" height="16" preserveAspectRatio="none" + /><text x="26" y="83" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >+ channelIndex = 0 : Natural;</text + ><rect x="246" y="121" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="246" y="121" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 249 124 249 144 269 134" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 249 124 249 144 269 134" + /><line x1="269" x2="269" y1="144" style="fill:none; clip-path:url(#clipPath1);" y2="124" + /><text x="246" y="120" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >retData_comm_T1</text + ><rect x="246" y="69" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="246" y="69" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 269 72 269 92 249 82" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 269 72 269 92 249 82" + /><line x1="249" x2="249" y1="92" style="fill:none; clip-path:url(#clipPath1);" y2="72" + /><text x="246" y="68" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >data_comm_T1</text + ><rect x="73" y="16" width="26" style="clip-path:url(#clipPath1); fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="73" y="16" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 76 19 96 19 86 39" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 76 19 96 19 86 39" + /><line x1="96" x2="76" y1="39" style="fill:none; clip-path:url(#clipPath1);" y2="39" + /><text x="73" y="15" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >startHSM_CPU1</text + ><text x="254" y="16" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >startHSM_CPU1</text + ><line x1="86" x2="518" y1="16" style="fill:none; clip-path:url(#clipPath1);" y2="16" + /><text x="284" y="82" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >data_comm_T1</text + ><line x1="272" x2="390" y1="82" style="fill:none; clip-path:url(#clipPath1);" y2="82" + /><text x="275" y="133" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >retData_comm_T1</text + ><line x1="272" x2="390" y1="134" style="fill:none; clip-path:url(#clipPath1);" y2="133" + /></g + ><g style="font-family:sans-serif;" + ><rect x="403" width="200" height="150" y="29" style="fill:none;" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="404" width="198" height="148" y="30" style="stroke:none;" + /><rect x="403" y="29" width="1" style="fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="404" y="29" width="198" style="fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="404" y="178" width="199" style="fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="602" y="29" width="1" style="fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="495" xml:space="preserve" y="56" style="stroke:none;" + >T1</text + ><image x="573" y="44" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="390" y="120" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="390" width="26" height="26" y="120" style="fill:none;" + /><polygon style="fill:none;" points=" 393 123 393 143 413 133" + /><polygon style="stroke:none;" points=" 393 123 393 143 413 133" + /><line y2="123" style="fill:none;" x1="413" x2="413" y1="143" + /><text x="390" xml:space="preserve" y="119" style="font-weight:normal; stroke:none;" + >retData_comm_T1</text + ><rect x="390" y="69" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="390" width="26" height="26" y="69" style="fill:none;" + /><polygon style="fill:none;" points=" 413 72 413 92 393 82" + /><polygon style="stroke:none;" points=" 413 72 413 92 393 82" + /><line y2="72" style="fill:none;" x1="393" x2="393" y1="92" + /><text x="390" xml:space="preserve" y="68" style="font-weight:normal; stroke:none;" + >data_comm_T1</text + ><rect x="505" y="16" width="26" style="fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="505" width="26" height="26" y="16" style="fill:none;" + /><polygon style="fill:none;" points=" 508 39 528 39 518 19" + /><polygon style="stroke:none;" points=" 508 39 528 39 518 19" + /><line y2="19" style="fill:none;" x1="528" x2="508" y1="19" + /><text x="505" xml:space="preserve" y="15" style="font-weight:normal; stroke:none;" + >startHSM_CPU1</text + ><rect x="590" y="84" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="590" width="26" height="26" y="84" style="fill:none;" + /><polygon style="fill:none;" points=" 593 87 593 107 613 97" + /><polygon style="stroke:none;" points=" 593 87 593 107 613 97" + /><line y2="87" style="fill:none;" x1="613" x2="613" y1="107" + /><text x="590" xml:space="preserve" y="83" style="font-weight:normal; stroke:none;" + >comm</text + ><text x="572" xml:space="preserve" y="77" style="font-weight:normal; stroke:none;" + >???</text + ><ellipse rx="3" ry="4.5" style="fill:none;" cx="581" cy="88.5" + /><rect x="577" y="87" width="9" style="fill:gray; stroke:none;" height="7" + /><rect x="577" width="9" height="7" y="87" style="fill:none;" + /><rect x="674" width="200" height="150" y="31" style="fill:none;" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="675" width="198" height="148" y="32" style="stroke:none;" + /><rect x="674" y="31" width="1" style="fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="675" y="31" width="198" style="fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="675" y="180" width="199" style="fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="873" y="31" width="1" style="fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="766" xml:space="preserve" y="58" style="stroke:none;" + >T2</text + ><image x="844" y="46" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="861" y="135" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="861" width="26" height="26" y="135" style="fill:none;" + /><polygon style="fill:none;" points=" 884 138 884 158 864 148" + /><polygon style="stroke:none;" points=" 884 138 884 158 864 148" + /><line y2="138" style="fill:none;" x1="864" x2="864" y1="158" + /><text x="861" xml:space="preserve" y="134" style="font-weight:normal; stroke:none;" + >retData_comm_T2</text + ><rect x="861" y="79" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="861" width="26" height="26" y="79" style="fill:none;" + /><polygon style="fill:none;" points=" 864 82 864 102 884 92" + /><polygon style="stroke:none;" points=" 864 82 864 102 884 92" + /><line y2="82" style="fill:none;" x1="884" x2="884" y1="102" + /><text x="861" xml:space="preserve" y="78" style="font-weight:normal; stroke:none;" + >data_comm_T2</text + ><rect x="798" y="18" width="26" style="fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="798" width="26" height="26" y="18" style="fill:none;" + /><polygon style="fill:none;" points=" 801 41 821 41 811 21" + /><polygon style="stroke:none;" points=" 801 41 821 41 811 21" + /><line y2="21" style="fill:none;" x1="821" x2="801" y1="21" + /><text x="798" xml:space="preserve" y="17" style="font-weight:normal; stroke:none;" + >startHSM_CPU2</text + ><rect x="661" y="84" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="661" width="26" height="26" y="84" style="fill:none;" + /><polygon style="fill:none;" points=" 664 87 664 107 684 97" + /><polygon style="stroke:none;" points=" 664 87 664 107 684 97" + /><line y2="87" style="fill:none;" x1="684" x2="684" y1="107" + /><text x="661" xml:space="preserve" y="83" style="font-weight:normal; stroke:none;" + >comm</text + ><text x="620" y="97" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >comm</text + ><line y2="97" style="fill:none;" x1="616" x2="661" y1="97" + /><rect x="1022" width="246" height="155" y="31" style="fill:none;" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="1023" width="244" height="153" y="32" style="stroke:none;" + /><rect x="1022" y="31" width="1" style="fill:rgb(255,255,255); stroke:none;" height="155" + /><rect x="1023" y="31" width="244" style="fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="1023" y="185" width="245" style="fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="1267" y="31" width="1" style="fill:rgb(140,170,131); stroke:none;" height="154" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="1112" xml:space="preserve" y="58" style="stroke:none;" + >HSM_CPU2</text + ><image x="1238" y="46" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="font-weight:normal;" height="16" preserveAspectRatio="none" + /><text x="1037" xml:space="preserve" y="85" style="font-weight:normal; stroke:none;" + >+ channelIndex = 0 : Natural;</text + ><rect x="1009" y="135" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="1009" width="26" height="26" y="135" style="fill:none;" + /><polygon style="fill:none;" points=" 1032 138 1032 158 1012 148" + /><polygon style="stroke:none;" points=" 1032 138 1032 158 1012 148" + /><line y2="138" style="fill:none;" x1="1012" x2="1012" y1="158" + /><text x="1009" xml:space="preserve" y="134" style="font-weight:normal; stroke:none;" + >retData_comm_T2</text + ><rect x="1009" y="77" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="1009" width="26" height="26" y="77" style="fill:none;" + /><polygon style="fill:none;" points=" 1012 80 1012 100 1032 90" + /><polygon style="stroke:none;" points=" 1012 80 1012 100 1032 90" + /><line y2="80" style="fill:none;" x1="1032" x2="1032" y1="100" + /><text x="1009" xml:space="preserve" y="76" style="font-weight:normal; stroke:none;" + >data_comm_T2</text + ><rect x="1090" y="18" width="26" style="fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="1090" width="26" height="26" y="18" style="fill:none;" + /><polygon style="fill:none;" points=" 1093 21 1113 21 1103 41" + /><polygon style="stroke:none;" points=" 1093 21 1113 21 1103 41" + /><line y2="41" style="fill:none;" x1="1113" x2="1093" y1="41" + /><text x="1090" xml:space="preserve" y="17" style="font-weight:normal; stroke:none;" + >startHSM_CPU2</text + ><text x="909" y="18" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >startHSM_CPU2</text + ><line y2="18" style="fill:none;" x1="1103" x2="811" y1="18" + /><text x="901" y="91" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >data_comm_T2</text + ><line y2="92" style="fill:none;" x1="1009" x2="887" y1="90" + /><text x="892" y="148" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >retData_comm_T2</text + ><line y2="148" style="fill:none;" x1="1009" x2="887" y1="148" + /><rect x="11" width="248" height="148" y="29" style="fill:none;" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="12" width="246" height="146" y="30" style="stroke:none;" + /><rect x="11" y="29" width="1" style="fill:rgb(255,255,255); stroke:none;" height="148" + /><rect x="12" y="29" width="246" style="fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="12" y="176" width="247" style="fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="258" y="29" width="1" style="fill:rgb(140,170,131); stroke:none;" height="147" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="102" xml:space="preserve" y="56" style="stroke:none;" + >HSM_CPU1</text + ><image x="229" y="44" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="font-weight:normal;" height="16" preserveAspectRatio="none" + /><text x="26" xml:space="preserve" y="83" style="font-weight:normal; stroke:none;" + >+ channelIndex = 0 : Natural;</text + ><rect x="246" y="121" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="246" width="26" height="26" y="121" style="fill:none;" + /><polygon style="fill:none;" points=" 249 124 249 144 269 134" + /><polygon style="stroke:none;" points=" 249 124 249 144 269 134" + /><line y2="124" style="fill:none;" x1="269" x2="269" y1="144" + /><text x="246" xml:space="preserve" y="120" style="font-weight:normal; stroke:none;" + >retData_comm_T1</text + ><rect x="246" y="69" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="246" width="26" height="26" y="69" style="fill:none;" + /><polygon style="fill:none;" points=" 269 72 269 92 249 82" + /><polygon style="stroke:none;" points=" 269 72 269 92 249 82" + /><line y2="72" style="fill:none;" x1="249" x2="249" y1="92" + /><text x="246" xml:space="preserve" y="68" style="font-weight:normal; stroke:none;" + >data_comm_T1</text + ><rect x="73" y="16" width="26" style="fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="73" width="26" height="26" y="16" style="fill:none;" + /><polygon style="fill:none;" points=" 76 19 96 19 86 39" + /><polygon style="stroke:none;" points=" 76 19 96 19 86 39" + /><line y2="39" style="fill:none;" x1="96" x2="76" y1="39" + /><text x="73" xml:space="preserve" y="15" style="font-weight:normal; stroke:none;" + >startHSM_CPU1</text + ><text x="254" y="16" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >startHSM_CPU1</text + ><line y2="16" style="fill:none;" x1="86" x2="518" y1="16" + /><text x="284" y="82" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >data_comm_T1</text + ><line y2="82" style="fill:none;" x1="272" x2="390" y1="82" + /><text x="275" y="133" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >retData_comm_T1</text + ><line y2="133" style="fill:none;" x1="272" x2="390" y1="134" + /></g + ></g +></svg +> diff --git a/doc/SysMLSec/sysmlsec_documentation.tex b/doc/SysMLSec/sysmlsec_documentation.tex index d96662dfe82351ed083818d30e1eb5b92af2f30a..4d8a2e5f5534b017b9dc1146ed7cf5b540ea0b05 100644 --- a/doc/SysMLSec/sysmlsec_documentation.tex +++ b/doc/SysMLSec/sysmlsec_documentation.tex @@ -334,7 +334,7 @@ Channels can be tagged with cryptographic configurations on the Security tab, wi \begin{figure*}[htbp] \centering -\includegraphics[width=0.7\textwidth]{fig/channelsecurityoptions.png} +\includegraphics[width=0.7\textwidth]{fig/channelsecurityTab.png} \caption{Channel security options dialog window} \label{fig:channelsec} \end{figure*} @@ -380,6 +380,14 @@ When the option to add security operators is selected, there are multiple option In addition, for the operators being added, estimated times to perform encryption, decryption, calculate a MAC, etc, and the overhead, can be manually set in lieu of using the default options. +\begin{figure*}[htbp] +\centering +\includegraphics[width=0.1\textwidth]{build/fv1_t1-svg.pdf} +\includegraphics[width=0.7\textwidth]{build/fv_auth_check-svg.pdf} +\includegraphics[width=0.1\textwidth]{build/fv1_t2-svg.pdf} +\caption{Functional View with authenticity check} \label{fig:fv1AuthCheck} +\end{figure*} + \begin{figure*}[htbp] \centering \includegraphics[width=0.2\textwidth]{build/autogen_t1-svg.pdf} @@ -388,10 +396,11 @@ When the option to add security operators is selected, there are multiple option \caption{Functional view with automatically generated security operators to ensure weak authenticity} \label{fig:secfv1} \end{figure*} - For example, using the insecure architecture and functional model from Figure \ref{fig:fv1} and \ref{fig:mapping1}, if the communication channel is marked that it should be authentic, and if we choose to ensure weak authenticity only, then the toolkit generates the functional model shown in Figure \ref{fig:secfv1}. The Message Authentication Code concatenated onto the message can only be calculated with the given key and message, and if T2 detects that they do not match, then it discards the message as it was not an authentic message sent by T1. + For example, using the insecure architecture and functional model with authenticity check from Figure \ref{fig:fv1AuthCheck} and \ref{fig:mapping1}, if the communication channel is marked that it should be authentic, and if we choose to ensure weak authenticity only, then the toolkit generates the functional model shown in Figure \ref{fig:secfv1}. The Message Authentication Code concatenated onto the message can only be calculated with the given key and message, and if T2 detects that they do not match, then it discards the message as it was not an authentic message sent by T1. If instead we chose to add weak and strong authenticity, then the tasks should exchange a nonce to avoid replay attacks, and the functional model in Figure \ref{fig:secfv2} is generated. + \begin{figure*}[htbp] \centering \includegraphics[width=0.2\textwidth]{build/autogen2_t1-svg.pdf} @@ -416,7 +425,7 @@ For example, using the model in our example, chose to ensure confidentiality, an \begin{figure*}[htbp] \centering -\includegraphics[width=0.99\textwidth]{build/hsmfunc-svg.pdf} +\includegraphics[width=0.99\textwidth]{build/hsm_fv-svg.pdf} \caption{Functional Model with added Hardware Security Module Tasks} \label{fig:hsmfunc} \end{figure*} @@ -430,8 +439,8 @@ For example, using the model in our example, chose to ensure confidentiality, an \begin{figure*}[htbp] \centering -\includegraphics[width=0.4\textwidth]{build/hsmt1-svg.pdf} -\includegraphics[width=0.4\textwidth]{build/hsmact-svg.pdf} +\includegraphics[width=0.33\textwidth]{build/hsm_ad_t1-svg.pdf} +\includegraphics[width=0.4\textwidth]{build/hsm_ad_hsm_cpu1-svg.pdf} \caption{Modified Activity Diagram of T1 and HSM} \label{fig:hsmt1act} \end{figure*} @@ -440,7 +449,7 @@ For example, using the model in our example, chose to ensure confidentiality, an \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. +With multiple Cryptographic Configurations, it may become tedious to 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.