Update tech report
This commit is contained in:
parent
1530b958c3
commit
16d5cd27c9
3 changed files with 414 additions and 25 deletions
BIN
doc/quick-tech-report/concept_vis_one_axis.pdf
Normal file
BIN
doc/quick-tech-report/concept_vis_one_axis.pdf
Normal file
Binary file not shown.
344
doc/quick-tech-report/concept_vis_one_axis.svg
Normal file
344
doc/quick-tech-report/concept_vis_one_axis.svg
Normal file
|
|
@ -0,0 +1,344 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<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"
|
||||
width="41mm"
|
||||
height="48.763126mm"
|
||||
viewBox="0 0 41 48.763126"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="concept_vis_one_axis.svg"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
|
||||
<defs
|
||||
id="defs2">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="16.373562 : -33.570779 : 0"
|
||||
inkscape:vp_y="2.5410171e-15 : 41.497959 : 0"
|
||||
inkscape:vp_z="-28.645893 : 3.5081102e-15 : 0"
|
||||
inkscape:persp3d-origin="18.745461 : 53.831281 : 1"
|
||||
id="perspective983" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.68"
|
||||
inkscape:cx="85.615364"
|
||||
inkscape:cy="90.945457"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:snap-global="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1030"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="50"
|
||||
inkscape:window-maximized="0"
|
||||
fit-margin-top="3"
|
||||
fit-margin-left="3"
|
||||
fit-margin-right="3"
|
||||
fit-margin-bottom="3" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-42.455104,-162.71165)">
|
||||
<g
|
||||
id="g1059"
|
||||
style="fill:#e59cb7;fill-opacity:1"
|
||||
transform="matrix(0.27419209,0,0,0.27419209,32.991674,151.31264)">
|
||||
<rect
|
||||
y="123.61843"
|
||||
x="72.964539"
|
||||
height="50.270836"
|
||||
width="73.766556"
|
||||
id="rect1142-9"
|
||||
style="opacity:1;vector-effect:none;fill:#e59cb7;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
y="90.734512"
|
||||
x="72.964539"
|
||||
height="50.270836"
|
||||
width="73.766556"
|
||||
id="rect1142"
|
||||
style="opacity:1;vector-effect:none;fill:#e59cb7;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
</g>
|
||||
<ellipse
|
||||
style="opacity:1;vector-effect:none;fill:#d25483;fill-opacity:1;stroke:none;stroke-width:0.02741921;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path815-2"
|
||||
cx="63.111061"
|
||||
cy="198.99176"
|
||||
rx="10.11308"
|
||||
ry="4.0855379" />
|
||||
<ellipse
|
||||
style="opacity:1;vector-effect:none;fill:#efc1d2;fill-opacity:1;stroke:none;stroke-width:0.02741921;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path815"
|
||||
cx="63.111061"
|
||||
cy="176.19139"
|
||||
rx="10.11308"
|
||||
ry="4.0855379" />
|
||||
<g
|
||||
id="g1140"
|
||||
transform="matrix(0.27419209,0,0,0.27419209,31.744781,151.76936)">
|
||||
<ellipse
|
||||
ry="0.91515708"
|
||||
rx="2.2653215"
|
||||
cy="90.401382"
|
||||
cx="108.77869"
|
||||
id="path815-5-8"
|
||||
style="opacity:1;vector-effect:none;fill:#6699ff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<ellipse
|
||||
ry="0.91515708"
|
||||
rx="2.2653215"
|
||||
cy="173.55614"
|
||||
cx="108.77869"
|
||||
id="path815-5-8-9"
|
||||
style="opacity:1;vector-effect:none;fill:#6699ff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<path
|
||||
id="rect999-0-6"
|
||||
transform="scale(0.26458333)"
|
||||
d="m 362.64453,390.1582 v 26.78711 h -18.21484 v 188.50977 h 7.55859 l -37.83008,29.16015 h 45.45703 l 48.48633,-37.375 V 390.1582 Z"
|
||||
style="opacity:1;vector-effect:none;fill:#ffe57e;fill-opacity:1;stroke:none;stroke-width:0.37795272;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<rect
|
||||
transform="matrix(1,0,0.79201025,-0.61050779,0,0)"
|
||||
y="-185.28603"
|
||||
x="229.86925"
|
||||
height="16.197948"
|
||||
width="12.027128"
|
||||
id="rect999-0"
|
||||
style="opacity:1;vector-effect:none;fill:#fff2bd;fill-opacity:1;stroke:none;stroke-width:0.12798361;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
y="113.11856"
|
||||
x="83.120819"
|
||||
height="54.790253"
|
||||
width="12.027128"
|
||||
id="rect999"
|
||||
style="opacity:1;vector-effect:none;fill:#fecb00;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g1063"
|
||||
transform="matrix(0.27419209,0,0,0.27419209,32.991674,151.31264)">
|
||||
<rect
|
||||
y="61.600155"
|
||||
x="106.51337"
|
||||
height="141.3616"
|
||||
width="4.530643"
|
||||
id="rect843"
|
||||
style="opacity:1;vector-effect:none;fill:#ffab66;fill-opacity:1;stroke:none;stroke-width:0.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<ellipse
|
||||
ry="0.91515708"
|
||||
rx="2.2653215"
|
||||
cy="202.97786"
|
||||
cx="108.77869"
|
||||
id="path815-5-8-6"
|
||||
style="opacity:1;vector-effect:none;fill:#ffab66;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
</g>
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:1;vector-effect:none;fill:#efc1d2;fill-opacity:1;stroke:none;stroke-width:0.02741921;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 52.997974,176.19133 a 10.113081,4.085538 0 0 0 10.113033,4.08556 10.113081,4.085538 0 0 0 10.113174,-4.08556 z"
|
||||
id="path815-56" />
|
||||
<ellipse
|
||||
style="opacity:1;vector-effect:none;fill:#c35800;fill-opacity:1;stroke:none;stroke-width:0.02741921;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path815-5"
|
||||
cx="62.817928"
|
||||
cy="168.21754"
|
||||
rx="0.62113321"
|
||||
ry="0.25092882" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:1;vector-effect:none;fill:#d25483;fill-opacity:1;stroke:none;stroke-width:0.02741921;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 52.997973,198.9917 a 10.11308,4.0855378 0 0 0 10.113033,4.08557 10.11308,4.0855378 0 0 0 10.113175,-4.08557 z"
|
||||
id="path815-56-9" />
|
||||
<circle
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#404040;stroke-width:0.46612653;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path1173"
|
||||
cx="62.916512"
|
||||
cy="-198.78389"
|
||||
r="2.6841922"
|
||||
transform="scale(1,-1)" />
|
||||
<path
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.46612653;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 65.061099,200.50243 4.832125,4.83213"
|
||||
id="path916"
|
||||
inkscape:connector-curvature="0" />
|
||||
<flowRoot
|
||||
xml:space="preserve"
|
||||
id="flowRoot932"
|
||||
style="font-style:normal;font-weight:normal;font-size:8.02177334px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404040;fill-opacity:1;stroke:none;stroke-width:0.13746917px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
transform="matrix(0.52773033,0,0,0.52773033,-194.48069,94.704073)"><flowRegion
|
||||
id="flowRegion934"
|
||||
style="font-size:8.02177334px;fill:#404040;stroke-width:0.13746917px"><rect
|
||||
id="rect936"
|
||||
width="232.85715"
|
||||
height="202.14285"
|
||||
x="502.14285"
|
||||
y="206.8054"
|
||||
style="font-size:8.02177334px;fill:#404040;stroke-width:0.13746917px" /></flowRegion><flowPara
|
||||
id="flowPara938"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.02177334px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:#404040;stroke-width:0.13746917px">5</flowPara></flowRoot> <flowRoot
|
||||
xml:space="preserve"
|
||||
id="flowRoot932-4"
|
||||
style="font-style:normal;font-weight:normal;font-size:8.02177334px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404040;fill-opacity:1;stroke:none;stroke-width:0.13746917px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
transform="matrix(0.52773033,0,0,0.52773033,-219.39342,56.516197)"><flowRegion
|
||||
id="flowRegion934-7"
|
||||
style="font-size:8.02177334px;fill:#404040;stroke-width:0.13746917px"><rect
|
||||
id="rect936-8"
|
||||
width="232.85715"
|
||||
height="202.14285"
|
||||
x="502.14285"
|
||||
y="206.8054"
|
||||
style="font-size:8.02177334px;fill:#404040;stroke-width:0.13746917px" /></flowRegion><flowPara
|
||||
id="flowPara938-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.02177334px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:#404040;stroke-width:0.13746917px">1</flowPara></flowRoot> <path
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.4661265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 55.853748,191.05184 -6.884056,7.25047"
|
||||
id="path916-2-3"
|
||||
inkscape:connector-curvature="0" />
|
||||
<flowRoot
|
||||
xml:space="preserve"
|
||||
id="flowRoot932-4-7"
|
||||
style="font-style:normal;font-weight:normal;font-size:8.02177334px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404040;fill-opacity:1;stroke:none;stroke-width:0.13746917px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
transform="matrix(0.52773033,0,0,0.52773033,-219.22675,87.653879)"><flowRegion
|
||||
id="flowRegion934-7-7"
|
||||
style="font-size:8.02177334px;fill:#404040;stroke-width:0.13746917px"><rect
|
||||
id="rect936-8-2"
|
||||
width="232.85715"
|
||||
height="202.14285"
|
||||
x="502.14285"
|
||||
y="206.8054"
|
||||
style="font-size:8.02177334px;fill:#404040;stroke-width:0.13746917px" /></flowRegion><flowPara
|
||||
id="flowPara938-6-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.02177334px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:#404040;stroke-width:0.13746917px">3</flowPara></flowRoot> <path
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.4661265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 77.179158,195.62747 69.269136,191.4549"
|
||||
id="path916-2-3-7"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<flowRoot
|
||||
xml:space="preserve"
|
||||
id="flowRoot932-2"
|
||||
style="font-style:normal;font-weight:normal;font-size:8.02177334px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404040;fill-opacity:1;stroke:none;stroke-width:0.13746917px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
transform="matrix(0.52773033,0,0,0.52773033,-187.27112,84.532865)"><flowRegion
|
||||
id="flowRegion934-5"
|
||||
style="font-size:8.02177334px;fill:#404040;stroke-width:0.13746917px"><rect
|
||||
id="rect936-3"
|
||||
width="232.85715"
|
||||
height="202.14285"
|
||||
x="502.14285"
|
||||
y="206.8054"
|
||||
style="font-size:8.02177334px;fill:#404040;stroke-width:0.13746917px" /></flowRegion><flowPara
|
||||
id="flowPara938-7"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.02177334px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:#404040;stroke-width:0.13746917px">2</flowPara></flowRoot> <circle
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.46612653;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path1173-6"
|
||||
cx="62.916512"
|
||||
cy="-198.78389"
|
||||
r="2.6841922"
|
||||
transform="scale(1,-1)" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.46612656;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 65.058715,200.26718 a 0.23308658,0.23308658 0 0 0 -0.162239,0.4 l 2.095919,2.09592 a 10.113081,4.085538 0 0 0 0.553451,-0.10528 l -2.319934,-2.31993 a 0.23308658,0.23308658 0 0 0 -0.167197,-0.0707 z"
|
||||
id="path916-8" />
|
||||
<path
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.4661265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 62.41665,170.82997 48.545276,168.19178"
|
||||
id="path916-2-3-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<g
|
||||
sodipodi:type="inkscape:box3d"
|
||||
id="g974"
|
||||
style="opacity:1;vector-effect:none;fill:#66e4ff;fill-opacity:1;stroke:none;stroke-width:0.37795275;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
inkscape:perspectiveID="#perspective983"
|
||||
inkscape:corner0="0.56858819 : 0.029202637 : 0 : 1"
|
||||
inkscape:corner7="0.63016664 : 0.059111984 : 0.13997644 : 1">
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path976"
|
||||
style="fill:#66e4ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.09783555px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
|
||||
inkscape:box3dsidetype="6"
|
||||
d="m 70.510379,175.51959 v -1.24117 h -4.00975 v 1.24117 z"
|
||||
points="70.510379,174.27842 66.500629,174.27842 66.500629,175.51959 70.510379,175.51959 " />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path980"
|
||||
style="fill:#66e4ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.09783555px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
|
||||
inkscape:box3dsidetype="3"
|
||||
d="m 70.510379,175.51959 1.008259,2.06724 v -1.24118 l -1.008259,-2.06723 z"
|
||||
points="71.518638,177.58683 71.518638,176.34565 70.510379,174.27842 70.510379,175.51959 " />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path978"
|
||||
style="fill:#66e4ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.09783555px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
|
||||
inkscape:box3dsidetype="5"
|
||||
d="m 70.510379,175.51959 1.008259,2.06724 h -4.00975 l -1.008259,-2.06724 z"
|
||||
points="71.518638,177.58683 67.508888,177.58683 66.500629,175.51959 70.510379,175.51959 " />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path984"
|
||||
style="fill:#d4f7ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.09783555px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
|
||||
inkscape:box3dsidetype="13"
|
||||
d="m 70.510379,174.27842 1.008259,2.06723 h -4.00975 l -1.008259,-2.06723 z"
|
||||
points="71.518638,176.34565 67.508888,176.34565 66.500629,174.27842 70.510379,174.27842 " />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path982"
|
||||
style="fill:#20d8ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.09783555px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
|
||||
inkscape:box3dsidetype="14"
|
||||
d="m 71.518638,177.58683 v -1.24118 h -4.00975 v 1.24118 z"
|
||||
points="71.518638,176.34565 67.508888,176.34565 67.508888,177.58683 71.518638,177.58683 " />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path986"
|
||||
style="fill:#0094b4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.09783555px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
|
||||
inkscape:box3dsidetype="11"
|
||||
d="m 66.500629,175.51959 1.008259,2.06724 v -1.24118 l -1.008259,-2.06723 z"
|
||||
points="67.508888,177.58683 67.508888,176.34565 66.500629,174.27842 66.500629,175.51959 " />
|
||||
</g>
|
||||
<path
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#404040;stroke-width:0.4661265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 76.603978,171.17976 -7.334841,4.10067"
|
||||
id="path916-2-3-7-2"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<flowRoot
|
||||
xml:space="preserve"
|
||||
id="flowRoot932-2-9"
|
||||
style="font-style:normal;font-weight:normal;font-size:8.02177429px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404040;fill-opacity:1;stroke:none;stroke-width:0.13746917px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
transform="matrix(0.52773032,0,0,0.52773032,-187.44932,58.391986)"><flowRegion
|
||||
id="flowRegion934-5-1"
|
||||
style="font-size:8.02177429px;fill:#404040;stroke-width:0.13746917px"><rect
|
||||
id="rect936-3-2"
|
||||
width="232.85715"
|
||||
height="202.14285"
|
||||
x="502.14285"
|
||||
y="206.8054"
|
||||
style="font-size:8.02177429px;fill:#404040;stroke-width:0.13746917px" /></flowRegion><flowPara
|
||||
id="flowPara938-7-7"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.02177429px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:#404040;stroke-width:0.13746917px">4</flowPara></flowRoot> </g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
|
|
@ -165,9 +165,9 @@ This work contains the following contributions:
|
|||
\begin{enumerate}
|
||||
\item We present the \emph{Inertial HSM} concept. Inertial HSMs enable cost-effective small-scale production of
|
||||
highly secure HSMs.
|
||||
\item We discuss possible boundary sensing modes for intertial HSMs.
|
||||
\item We discuss possible boundary sensing modes for inertial HSMs.
|
||||
\item We explore the design space our inertial HSM concept.
|
||||
% FIXME \item Presentation of a prototype inertial HSM.
|
||||
\item We present a prototype of an inertial HSM.
|
||||
% FIXME \item Measurement of the prototype HSM's susceptibility to various types of attack.
|
||||
\end{enumerate}
|
||||
|
||||
|
|
@ -215,11 +215,10 @@ very high-performance one. The closes to a mechanical HSM that we were able to f
|
|||
patent \cite{rahman1988} that describes an mechanism to detect tampering along a communication cable by enclosing the
|
||||
cable inside a conduit filled with pressurized gas.
|
||||
|
||||
\section{Intertial HSM construction and operation}
|
||||
\section{Inertial HSM construction and operation}
|
||||
\subsection{Using motion for tamper detection}
|
||||
Mechanical motion has been proposed as a means of making things harder to see with the human eye\cite{haines2006} but we
|
||||
seem to be the first to use it in tamper detection. Let us think about how one would go about increasing the security of
|
||||
a primitive tamper detection sensor.
|
||||
seem to be the first to use it in tamper detection. Let us think about the constraints of our approach.
|
||||
|
||||
\begin{enumerate}
|
||||
\item We need the sensor's motion to be fairly fast. If any point of the sensor moves slow enough for a human to
|
||||
|
|
@ -249,6 +248,14 @@ From this, we can make a few observations.
|
|||
power supply of the payload.
|
||||
\end{enumerate}
|
||||
|
||||
\begin{figure}
|
||||
\center
|
||||
\includegraphics{concept_vis_one_axis.pdf}
|
||||
\caption{Concept of a simple rotating inertial HSM. 1 - Axis of rotation. 2 - Security mesh. 3 - Payload. 4 -
|
||||
Accelerometer. 5 - Shaft penetrating security mesh.}
|
||||
\label{fig_schema_one_axis}
|
||||
\end{figure}
|
||||
|
||||
In a rotating reference frame, at any point the centrifugal force is proportional to the square of the angular frequency
|
||||
and linearly proportional to the distance from the axis of rotation. We can exploit this fact to create a sensor that
|
||||
detects any disturbance of the rotation by simply placing a linear accelerometer at some distance to the axis of
|
||||
|
|
@ -259,11 +266,15 @@ challenge of preventing the whole thing from flying apart, but also creates an o
|
|||
manipulate the sensor.
|
||||
|
||||
\subsection{Payload mounting mechanisms}
|
||||
The simplest way to mount a stationary payload in a rotating security mesh is to drive the rotor through a
|
||||
hollow axis. This allows the payload to be mounted on a fixed rod threaded through the hollow axis, along with wires for
|
||||
power and data.
|
||||
|
||||
The simplest way to mount a stationary payload in a rotating security mesh is to drive the rotor using a hollow shaft.
|
||||
This allows the payload to be mounted on a fixed rod threaded through this hollow shaft along with wires for power and
|
||||
data. The stationary rod and cables on the axis of rotation inside the hollow shaft are a weak spot of the system, but
|
||||
this weak spot can be alleviated through either careful construction or a second layer of rotating meshes with a
|
||||
differnt axis of rotation.
|
||||
|
||||
\subsection{Rotating mesh power supply}
|
||||
|
||||
There are several options to transfer power to the rotor from its stationary frame.
|
||||
|
||||
\begin{enumerate}
|
||||
|
|
@ -272,28 +283,40 @@ There are several options to transfer power to the rotor from its stationary fra
|
|||
\item Inductive power transfer as used in inductive charging systems can be used without modification.
|
||||
\item A second brushless motor on the axis of rotation can be used as a generator, with its axis connected to the
|
||||
fixed frame and its stator mounted and connected to the rotor.
|
||||
\item A bright LED along with some small solar cells may be a practical approach for small amounts of energy.
|
||||
\item A bright LED along with some small solar cells may be a practical approach for small amounts of
|
||||
energy\footnote{See Appendix \ref{sec_energy_calculations} for a back-of-the-envelope calculation}.
|
||||
\item For a very low-power security mesh, a battery specified to last for the lifetime of the device may be
|
||||
practical.
|
||||
practical\footnote{See Appendix \ref{sec_energy_calculations}}.
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{Payload cooling}
|
||||
|
||||
In boundary-sensing HSMs, cooling of the processor inside is a serious issue since any air
|
||||
duct or heat pipe would have to penetrate the HSM's sensitive boundary. This problem can be solve by complex and costly
|
||||
siphon-style constructions, but in commercial systems heat conduction is used exclusively. This severely limiting the
|
||||
maximum power dissipation of the payload and thus its processing power. In our rotating HSM concept, the rotating mesh
|
||||
can have longitudindal gaps in the mesh without impeding its function. This allows air to pass through the mesh during
|
||||
rotation, and one could even integrate a fan into the rotor. This greatly increases the maximum possible power
|
||||
dissipation of the payload and unlocks much more powerful processing capabilities.
|
||||
|
||||
\subsection{Rotating mesh data communication}
|
||||
|
||||
As we discussed above, while slip rings are the obvious choice to couple electrical signals through a rotating joint,
|
||||
they are likely to be too expensive and have too short a life span for our application. Since the only information that
|
||||
needs to pass between payload and rotor are the occassional status report and a high-frequency heartbeat signal that
|
||||
acts as the alarm trigger, a simple optocoupler close to the axis of rotation is a good solution.
|
||||
|
||||
\section{Future work}
|
||||
With this paper, we intend to spread the word on our idea. Thus, below we include a selection of the open questions we
|
||||
are currently working on. If you wish to tackle some of these, please feel free to contact the authors.
|
||||
\section{Design space exploration}
|
||||
|
||||
\subsection{Other modes of movement}
|
||||
|
||||
Though we decided to use rotation as an easy-to-implement yet secure option, other modes of movement bear promise as
|
||||
well. Particularly for less high-security applications without strict space constraints, a variant based on a pendulum
|
||||
motion may be worth investigating as it would simplify the mechanical construction. Power and data transfer to the
|
||||
moving part could simply be done with very flexible cables.
|
||||
|
||||
\subsection{Multiple axes of rotation}
|
||||
|
||||
One option to alleviate the weak spot a rotating mesh has at its axis of rotation, a system with two or more axes of
|
||||
rotation could be used. A single mesh would still suffice in this case, but when evaluating accelerometer readings, the
|
||||
braking detection algorithm would have to superimpose both.
|
||||
|
|
@ -304,14 +327,6 @@ mounted permanent magnets with a coil integrated into the rotor's PCB as a low-p
|
|||
inefficient, this setup would be low-cost and would still suffice for the meager power requirements of the rotor's
|
||||
monitoring circuitry.
|
||||
|
||||
\subsection{Payload cooling}
|
||||
An issue with existing HSM concepts is that the mesh has to fully envelope the payload, and thus traditional air cooling
|
||||
or heat pipes cannot be used. Existing systems rely on heat conduction through the mesh alone for cooling, severly
|
||||
limiting the maximum power dissipation of the payload. In our rotating HSM concept, the rotating mesh can have
|
||||
longitudindal gaps in the mesh without impeding its function. This allows air to pass through the mesh during rotation,
|
||||
and a future evolution of the concept could even integrate a fan into the rotating component. This greatly increases the
|
||||
maximum possible power dissipation of the payload, allowing for much more powerful processing.
|
||||
|
||||
\subsection{Other sensing modes}
|
||||
Since the security requirement the primary tamper-detection barrier needs to measure up to are much more lenient in the
|
||||
rotating HSM concept than in traditional HSMs, other coarse sensing modes besides low-tech meshes may be attractive. One
|
||||
|
|
@ -393,6 +408,11 @@ direct access to the accelerometer from the outside and can be prevented by moun
|
|||
security envelope. This attack only works if the rate of rotation is constant and is trivially detectable if the rate of
|
||||
rotation is set to change on a schedule.
|
||||
|
||||
\section{Prototype implementation}
|
||||
|
||||
%FIXME
|
||||
FIXME
|
||||
|
||||
\section{Conclusion}
|
||||
In this paper, we have presented inertial hardware security modules, a novel concept for the construction of highly
|
||||
secure hardware security modules from inexpensive, commonly available parts. We have elaborated the engineering
|
||||
|
|
@ -402,7 +422,8 @@ laid out some ideas for future research on the concept, and we will continue our
|
|||
|
||||
\printbibliography[heading=bibintoc]
|
||||
\appendix
|
||||
\section{Rotating mesh energy calculations}
|
||||
\subsection{Rotating mesh energy calculations}
|
||||
\label{sec_energy_calculations}
|
||||
Assume that the rotating mesh sensor should send its tamper status to the static monitoring circuit at least once every
|
||||
$T_\text{tx} = \SI{10}{\milli\second}$. At $\SI{100}{\kilo\baud}$ a transmission of a single byte in standard UART
|
||||
framing would take $\SI{100}{\micro\second}$ and yield an $\SI{1}{\percent}$ duty cycle. If we assume an optical or RF
|
||||
|
|
@ -410,12 +431,14 @@ transmitter that requires $\SI{10}{\milli\ampere}$ of active current, this yield
|
|||
$\SI{100}{\micro\ampere}$. Reserving another $\SI{100}{\micro\ampere}$ for the monitoring circuit itself we arrive at an
|
||||
energy consumption of $\SI{1.7}{\ampere\hour\per\year}$.
|
||||
|
||||
\subsection{Battery power}
|
||||
\subsubsection{Battery power}
|
||||
\label{sec_energy_calculations_battery}
|
||||
The annual energy consumption we calculated above is about equivalent to the capacity of a single CR123A
|
||||
lithium primary cell. Using several such cells or optimizing power consumption would thus easily yield several years of
|
||||
battery life.
|
||||
|
||||
\subsection{LED and solar cell}
|
||||
\subsubsection{LED and solar cell}
|
||||
\label{sec_energy_calculations_led}
|
||||
Let us assume an LED with a light output of $\SI{1}{W}$ illuminating a small solar cell. Let us pessimistically assume a
|
||||
$\SI{5}{\percent}$ conversion efficiency in the solar cell. Let us assume that when the rotor is at its optimal
|
||||
rotational angle, $\SI{20}{\percent}$ of the LED's light output couple into the solar cell. Let us assume that we loose
|
||||
|
|
@ -424,7 +447,29 @@ an energy output from the solar cell of $\SI{1}{\milli\watt}$. Assuming a $\SI{3
|
|||
$\SI{300}{\micro\ampere}$ for our monitoring circuit. This is enough even with some conversion losses in the step-up
|
||||
converter boosing the solar cell's $\SI{0.6}{\volt}$ working voltage to the monitoring circuit's supply voltage.
|
||||
|
||||
\section{Patents and licensing}
|
||||
\subsection{Minimum angular velocity}
|
||||
|
||||
Let us determine a good target value for our rotating HSM's angular velocity. For simplicity, let us consider two types
|
||||
of attacker.
|
||||
|
||||
\subsubsection{Rotating human attacker}
|
||||
|
||||
An attacker might try to rotate along with the HSM to attack the security mesh without triggering the accelerometer. Let
|
||||
us pessimistically assume that the attacker has the axis of rotation running through their center of mass. The
|
||||
attacker's body is probably at least $\SI{200}{\milli\meter}$ wide along its shortest back-to-chest axis, resulting in a
|
||||
minimum radius from axis of rotation to surface of about $\SI{100}{\milli\meter}$. We choose
|
||||
$\SI{250}{\meter\per\second^2}$ as an arbitrary acceleration well past the range tolerable by humans according to
|
||||
Wikipedia. Centrifugal acceleration is $a=\omega^2 r$. In our example this results in a minimum angular velocity of
|
||||
$\omega_\text{min} = \sqrt{\frac{a}{r}} = \sqrt{\frac{\SI{250}{\meter\per\second^2}}{\SI{100}{\milli\meter}}} \approx
|
||||
16\frac{\pi}{\si{\second}} \approx 500 \text{rpm}$.
|
||||
|
||||
\subsubsection{Rotating robot attacker}
|
||||
|
||||
An attacker might try to use a robot to attack the rotating mesh.
|
||||
|
||||
\subsubsection{Fooling the accelerometer}
|
||||
|
||||
\subsection{Patents and licensing}
|
||||
During devlopment, we performed several hours of research on prior art for the inertial HSM concept. Yet, we could not
|
||||
find any mentions of similar concepts either in academic literature or in patents. Thus, we deem ourselves to be the
|
||||
inventors of this idea and we are fairly sure it is not covered by any patents or other restrictions at this point in
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue