diff --git a/doc/SysMLSec/fig/attacktree.png b/doc/SysMLSec/fig/attacktree.png new file mode 100644 index 0000000000000000000000000000000000000000..18e12af8f32947d153261a813a6f40c6e2932c63 Binary files /dev/null and b/doc/SysMLSec/fig/attacktree.png differ diff --git a/doc/SysMLSec/fig/attacktree.svg b/doc/SysMLSec/fig/attacktree.svg new file mode 100644 index 0000000000000000000000000000000000000000..3da484e85e74293e84140470cf602b0cecbc313f --- /dev/null +++ b/doc/SysMLSec/fig/attacktree.svg @@ -0,0 +1,42 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="884" height="436" viewbox="126 88 758 348"> +<rect x="296" y="93" width="175" height="40" fill="none" stroke="#000000" stroke-width="1"/> +<rect x="297" y="94" width="173" height="38" fill="#f3830a"/> +<text x="324" y="108" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000"><<root attack>></text> +<text x="306" y="123" style="font-size:12; font-family:SansSerif.plain; fill=#000000">RetrieveConfidentialData</text> +<rect x="157" y="301" width="112" height="40" fill="none" stroke="#000000" stroke-width="1"/> +<rect x="158" y="302" width="110" height="38" fill="#d6bb9e"/> +<text x="170" y="316" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000"><<attack>></text> +<text x="167" y="331" style="font-size:12; font-family:SansSerif.plain; fill=#000000">ConnectOnBus</text> +<rect x="308" y="177" width="150" height="50" rx="7" ry="7" fill="#bf99a1"/> +<rect x="308" y="177" width="150" height="50" rx="7" ry="7" fill="none" stroke="#000000" stroke-width="1"/> +<text x="327" y="194" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000"><<SEQUENCE>></text> +<text x="383" y="206" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000"></text> +<rect x="481" y="298" width="122" height="40" fill="none" stroke="#000000" stroke-width="1"/> +<rect x="482" y="299" width="120" height="38" fill="#d6bb9e"/> +<text x="499" y="313" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000"><<attack>></text> +<text x="491" y="328" style="font-size:12; font-family:SansSerif.plain; fill=#000000">ReadDataOnBus</text> +<polygon points="715,298 903,298 879,338 690,338 " fill="#d1daae"/> +<polygon points="715,298 903,298 879,338 690,338 " fill="none" stroke="#000000" stroke-width="1"/> +<text x="718" y="313" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000"><<countermeasure>></text> +<text x="767" y="328" style="font-size:12; font-family:SansSerif.plain; fill=#000000">Ciphering</text> +<polygon points="131,391 319,391 295,431 106,431 " fill="#d1daae"/> +<polygon points="131,391 319,391 295,431 106,431 " fill="none" stroke="#000000" stroke-width="1"/> +<text x="134" y="406" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000"><<countermeasure>></text> +<text x="180" y="421" style="font-size:12; font-family:SansSerif.plain; fill=#000000">PrivateBus</text> +<rect x="343" y="222" width="5" height="5" fill="none" stroke="#000000" stroke-width="1"/> +<line x1="241" y1="301" x2="345" y2="227" stroke="#000000" stroke-width="1" fill="none"/> +<polygon points="345,227 340,236 335,227 " fill="#000000"/> +<polygon points="345,227 340,236 335,227 " fill="none" stroke="#000000" stroke-width="1"/> +<text x="348" y="227" style="font-size:12; font-family:SansSerif.plain; fill=#000000">1</text> +<rect x="381" y="177" width="5" height="5" fill="none" stroke="#000000" stroke-width="1"/> +<line x1="383" y1="177" x2="383" y2="133" stroke="#000000" stroke-width="1" fill="none"/> +<polygon points="383,133 387,141 378,141 " fill="#000000"/> +<polygon points="383,133 387,141 378,141 " fill="none" stroke="#000000" stroke-width="1"/> +<rect x="418" y="222" width="5" height="5" fill="none" stroke="#000000" stroke-width="1"/> +<line x1="511" y1="298" x2="420" y2="227" stroke="#000000" stroke-width="1" fill="none"/> +<polygon points="420,227 429,228 423,236 " fill="#000000"/> +<polygon points="420,227 429,228 423,236 " fill="none" stroke="#000000" stroke-width="1"/> +<text x="423" y="227" style="font-size:12; font-family:SansSerif.plain; fill=#000000">2</text> +</svg> \ No newline at end of file diff --git a/doc/SysMLSec/fig/attacktree_verif1.png b/doc/SysMLSec/fig/attacktree_verif1.png new file mode 100644 index 0000000000000000000000000000000000000000..d205c56e83dcd22e4353e97a3170ee9357acf8fd Binary files /dev/null and b/doc/SysMLSec/fig/attacktree_verif1.png differ diff --git a/doc/SysMLSec/fig/fv1.svg b/doc/SysMLSec/fig/fv1.svg new file mode 100644 index 0000000000000000000000000000000000000000..e6d2493aee7166d391926cecf137d395d235ddbd --- /dev/null +++ b/doc/SysMLSec/fig/fv1.svg @@ -0,0 +1,203 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + width="570" + height="167" + viewbox="201 125 569 162" + id="svg3867" + inkscape:version="0.48.5 r10040" + sodipodi:docname="fv1.svg"> + <metadata + id="metadata3921"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs3919" /> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="480" + id="namedview3917" + showgrid="false" + inkscape:zoom="0.42467532" + inkscape:cx="385" + inkscape:cy="143.5" + inkscape:window-x="894" + inkscape:window-y="514" + inkscape:window-maximized="0" + inkscape:current-layer="svg3867" /> + <rect + x="6" + y="8" + width="200" + height="150" + id="rect3869" + style="fill:none;stroke:#000000;stroke-width:1" /> + <rect + x="7" + y="9" + width="198" + height="148" + id="rect3871" + style="fill:#c9f3bc" /> + <text + x="97" + y="37" + style="font-size:14px;font-family:SansSerif" + id="text3873">T1</text> + <rect + x="193" + y="63" + width="25" + height="25" + id="rect3875" + style="fill:#68e5ff" /> + <rect + x="193" + y="63" + width="26" + height="26" + id="rect3877" + style="fill:none;stroke:#000000;stroke-width:1" /> + <polygon + points="416,198 396,188 396,208 " + id="polygon3879" + style="fill:none;stroke:#000000;stroke-width:1" + transform="translate(-200,-122)" /> + <polygon + points="416,198 396,188 396,208 " + id="polygon3881" + style="fill:#000000" + transform="translate(-200,-122)" /> + <line + x1="216" + y1="86" + x2="216" + y2="66" + id="line3883" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="193" + y="62" + style="font-size:8px;font-family:SansSerif" + id="text3885">comm</text> + <text + x="175" + y="56" + style="font-size:8px;font-family:SansSerif" + id="text3887">???</text> + <ellipse + cx="384" + cy="189" + rx="3" + ry="4" + id="ellipse3889" + sodipodi:cx="384" + sodipodi:cy="189" + sodipodi:rx="3" + sodipodi:ry="4" + style="fill:none;stroke:#000000;stroke-width:1" + transform="translate(-200,-122)" /> + <rect + x="180" + y="66" + width="8" + height="6" + id="rect3891" + style="fill:#808080" /> + <rect + x="180" + y="66" + width="9" + height="7" + id="rect3893" + style="fill:none;stroke:#000000;stroke-width:1" /> + <rect + x="365" + y="10" + width="200" + height="150" + id="rect3895" + style="fill:none;stroke:#000000;stroke-width:1" /> + <rect + x="366" + y="11" + width="198" + height="148" + id="rect3897" + style="fill:#c9f3bc" /> + <text + x="456" + y="39" + style="font-size:14px;font-family:SansSerif" + id="text3899">T2</text> + <rect + x="352" + y="63" + width="25" + height="25" + id="rect3901" + style="fill:#68e5ff" /> + <rect + x="352" + y="63" + width="26" + height="26" + id="rect3903" + style="fill:none;stroke:#000000;stroke-width:1" /> + <polygon + points="575,198 555,188 555,208 " + id="polygon3905" + style="fill:none;stroke:#000000;stroke-width:1" + transform="translate(-200,-122)" /> + <polygon + points="575,198 555,188 555,208 " + id="polygon3907" + style="fill:#000000" + transform="translate(-200,-122)" /> + <line + x1="375" + y1="86" + x2="375" + y2="66" + id="line3909" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="352" + y="62" + style="font-size:8px;font-family:SansSerif" + id="text3911">comm</text> + <text + x="267" + y="76" + style="font-size:12px;font-family:SansSerif" + id="text3913">comm</text> + <line + x1="219" + y1="76" + x2="352" + y2="76" + id="line3915" + style="fill:none;stroke:#000000;stroke-width:1" /> +</svg> diff --git a/doc/SysMLSec/fig/fv1_t1.svg b/doc/SysMLSec/fig/fv1_t1.svg new file mode 100644 index 0000000000000000000000000000000000000000..49586040b15670453afd9182c0411e400b19a3cf --- /dev/null +++ b/doc/SysMLSec/fig/fv1_t1.svg @@ -0,0 +1,228 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + width="80" + height="160" + viewbox="377 46 75 154" + id="svg4080" + inkscape:version="0.48.5 r10040" + sodipodi:docname="fv1_t1.svg"> + <metadata + id="metadata4136"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs4134" /> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="480" + id="namedview4132" + showgrid="false" + inkscape:zoom="0.72345133" + inkscape:cx="226" + inkscape:cy="100" + inkscape:window-x="1074" + inkscape:window-y="583" + inkscape:window-maximized="0" + inkscape:current-layer="svg4080" /> + <line + x1="38.024464" + y1="89.119263" + x2="38.024464" + y2="123.11926" + id="line4082" + style="fill:none;stroke:#000000;stroke-width:1" /> + <polygon + points="409,161 418,161 414,170 " + id="polygon4084" + style="fill:#000000" + transform="translate(-375.97554,-46.880734)" /> + <polygon + points="409,161 418,161 414,170 " + id="polygon4086" + style="fill:none;stroke:#000000;stroke-width:1" + transform="translate(-375.97554,-46.880734)" /> + <line + x1="38.024464" + y1="24.119267" + x2="38.024464" + y2="59.119267" + id="line4088" + style="fill:none;stroke:#000000;stroke-width:1" /> + <polygon + points="409,97 418,97 414,106 " + id="polygon4090" + style="fill:#000000" + transform="translate(-375.97554,-46.880734)" /> + <polygon + points="409,97 418,97 414,106 " + id="polygon4092" + style="fill:none;stroke:#000000;stroke-width:1" + transform="translate(-375.97554,-46.880734)" /> + <ellipse + cx="414" + cy="58" + rx="7" + ry="7" + id="ellipse4094" + sodipodi:cx="414" + sodipodi:cy="58" + sodipodi:rx="7" + sodipodi:ry="7" + style="fill:#000000" + transform="translate(-375.97554,-46.880734)" /> + <line + x1="38.024464" + y1="19.119267" + x2="38.024464" + y2="24.119267" + id="line4096" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="38.024464" + y1="64.119263" + x2="38.024464" + y2="59.119267" + id="line4098" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="38.024464" + y1="84.119263" + x2="38.024464" + y2="89.119263" + id="line4100" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="7.0244646" + y1="65.119263" + x2="62.024464" + y2="65.119263" + id="line4102" + style="fill:none;stroke:#68e5ff;stroke-width:1" /> + <line + x1="7.0244646" + y1="85.119263" + x2="62.024464" + y2="85.119263" + id="line4104" + style="fill:none;stroke:#68e5ff;stroke-width:1" /> + <line + x1="7.0244646" + y1="65.119263" + x2="7.0244646" + y2="85.119263" + id="line4106" + style="fill:none;stroke:#68e5ff;stroke-width:1" /> + <line + x1="62.024464" + y1="65.119263" + x2="72.024467" + y2="75.119263" + id="line4108" + style="fill:none;stroke:#68e5ff;stroke-width:1" /> + <line + x1="62.024464" + y1="85.119263" + x2="72.024467" + y2="75.119263" + id="line4110" + style="fill:none;stroke:#68e5ff;stroke-width:1" /> + <line + x1="6.0244646" + y1="64.119263" + x2="61.024464" + y2="64.119263" + id="line4112" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="6.0244646" + y1="84.119263" + x2="61.024464" + y2="84.119263" + id="line4114" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="6.0244646" + y1="64.119263" + x2="6.0244646" + y2="84.119263" + id="line4116" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="61.024464" + y1="64.119263" + x2="71.024467" + y2="74.119263" + id="line4118" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="61.024464" + y1="84.119263" + x2="71.024467" + y2="74.119263" + id="line4120" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="11.024465" + y="64.119263" + style="font-size:12px;font-family:SansSerif" + id="text4122">chl</text> + <text + x="11.024465" + y="79.119263" + style="font-size:12px;font-family:SansSerif" + id="text4124">comm(1)</text> + <ellipse + cx="414" + cy="185" + rx="8" + ry="8" + id="ellipse4126" + sodipodi:cx="414" + sodipodi:cy="185" + sodipodi:rx="8" + sodipodi:ry="8" + style="fill:#000000" + transform="translate(-375.97554,-46.880734)" /> + <ellipse + cx="414" + cy="185" + rx="10" + ry="10" + id="ellipse4128" + sodipodi:cx="414" + sodipodi:cy="185" + sodipodi:rx="10" + sodipodi:ry="10" + style="fill:none;stroke:#000000;stroke-width:1" + transform="translate(-375.97554,-46.880734)" /> + <line + x1="38.024464" + y1="128.11926" + x2="38.024464" + y2="123.11926" + id="line4130" + style="fill:none;stroke:#000000;stroke-width:1" /> +</svg> diff --git a/doc/SysMLSec/fig/fv1_t2.svg b/doc/SysMLSec/fig/fv1_t2.svg new file mode 100644 index 0000000000000000000000000000000000000000..3115434024c302ab07eb05d0cfde4c9ec217eae4 --- /dev/null +++ b/doc/SysMLSec/fig/fv1_t2.svg @@ -0,0 +1,228 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + width="80" + height="170" + viewbox="377 49 79 170" + id="svg4295" + inkscape:version="0.48.5 r10040" + sodipodi:docname="fv1_t2.svg"> + <metadata + id="metadata4351"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs4349" /> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="480" + id="namedview4347" + showgrid="false" + inkscape:zoom="0.71710526" + inkscape:cx="228" + inkscape:cy="102.9481" + inkscape:window-x="1128" + inkscape:window-y="735" + inkscape:window-maximized="0" + inkscape:current-layer="svg4295" /> + <line + x1="38.27523" + y1="94.788994" + x2="38.27523" + y2="140.78899" + id="line4297" + style="fill:none;stroke:#000000;stroke-width:1" /> + <polygon + points="411,180 420,180 416,189 " + id="polygon4299" + style="fill:#000000" + transform="translate(-377.72477,-48.211009)" /> + <polygon + points="411,180 420,180 416,189 " + id="polygon4301" + style="fill:none;stroke:#000000;stroke-width:1" + transform="translate(-377.72477,-48.211009)" /> + <line + x1="38.27523" + y1="25.78899" + x2="38.27523" + y2="64.788994" + id="line4303" + style="fill:none;stroke:#000000;stroke-width:1" /> + <polygon + points="411,104 420,104 416,113 " + id="polygon4305" + style="fill:#000000" + transform="translate(-377.72477,-48.211009)" /> + <polygon + points="411,104 420,104 416,113 " + id="polygon4307" + style="fill:none;stroke:#000000;stroke-width:1" + transform="translate(-377.72477,-48.211009)" /> + <ellipse + cx="416" + cy="61" + rx="7" + ry="7" + id="ellipse4309" + sodipodi:cx="416" + sodipodi:cy="61" + sodipodi:rx="7" + sodipodi:ry="7" + style="fill:#000000" + transform="translate(-377.72477,-48.211009)" /> + <line + x1="38.27523" + y1="20.78899" + x2="38.27523" + y2="25.78899" + id="line4311" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="38.27523" + y1="69.788994" + x2="38.27523" + y2="64.788994" + id="line4313" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="38.27523" + y1="89.788994" + x2="38.27523" + y2="94.788994" + id="line4315" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="5.2752295" + y1="70.788994" + x2="74.27523" + y2="70.788994" + id="line4317" + style="fill:none;stroke:#68e5ff;stroke-width:1" /> + <line + x1="74.27523" + y1="70.788994" + x2="74.27523" + y2="90.788994" + id="line4319" + style="fill:none;stroke:#68e5ff;stroke-width:1" /> + <line + x1="5.2752295" + y1="90.788994" + x2="74.27523" + y2="90.788994" + id="line4321" + style="fill:none;stroke:#68e5ff;stroke-width:1" /> + <line + x1="5.2752295" + y1="70.788994" + x2="15.275229" + y2="80.788994" + id="line4323" + style="fill:none;stroke:#68e5ff;stroke-width:1" /> + <line + x1="5.2752295" + y1="90.788994" + x2="15.275229" + y2="80.788994" + id="line4325" + style="fill:none;stroke:#68e5ff;stroke-width:1" /> + <line + x1="4.2752295" + y1="69.788994" + x2="73.27523" + y2="69.788994" + id="line4327" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="73.27523" + y1="69.788994" + x2="73.27523" + y2="89.788994" + id="line4329" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="4.2752295" + y1="89.788994" + x2="73.27523" + y2="89.788994" + id="line4331" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="4.2752295" + y1="69.788994" + x2="14.275229" + y2="79.788994" + id="line4333" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="4.2752295" + y1="89.788994" + x2="14.275229" + y2="79.788994" + id="line4335" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="9.2752295" + y="69.788994" + style="font-size:12px;font-family:SansSerif" + id="text4337">chl</text> + <text + x="16.275229" + y="84.788994" + style="font-size:12px;font-family:SansSerif" + id="text4339">comm(1)</text> + <ellipse + cx="416" + cy="204" + rx="8" + ry="8" + id="ellipse4341" + sodipodi:cx="416" + sodipodi:cy="204" + sodipodi:rx="8" + sodipodi:ry="8" + style="fill:#000000" + transform="translate(-377.72477,-48.211009)" /> + <ellipse + cx="416" + cy="204" + rx="10" + ry="10" + id="ellipse4343" + sodipodi:cx="416" + sodipodi:cy="204" + sodipodi:rx="10" + sodipodi:ry="10" + style="fill:none;stroke:#000000;stroke-width:1" + transform="translate(-377.72477,-48.211009)" /> + <line + x1="38.27523" + y1="145.78899" + x2="38.27523" + y2="140.78899" + id="line4345" + style="fill:none;stroke:#000000;stroke-width:1" /> +</svg> diff --git a/doc/SysMLSec/fig/mapping1.svg b/doc/SysMLSec/fig/mapping1.svg new file mode 100644 index 0000000000000000000000000000000000000000..2ad5a4ed9d6493abe6488f15fe1888e813ff62e6 --- /dev/null +++ b/doc/SysMLSec/fig/mapping1.svg @@ -0,0 +1,576 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + width="940" + height="500" + viewbox="231 132 915 505" + id="svg4889" + inkscape:version="0.48.5 r10040" + sodipodi:docname="mapping1.svg"> + <metadata + id="metadata5053"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs5051" /> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="480" + id="namedview5049" + showgrid="false" + inkscape:snap-smooth-nodes="true" + inkscape:zoom="0.28534031" + inkscape:cx="573" + inkscape:cy="318.5" + inkscape:window-x="1280" + inkscape:window-y="333" + inkscape:window-maximized="0" + inkscape:current-layer="svg4889" /> + <line + x1="466" + y1="360" + x2="466" + y2="320" + id="line4891" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="195" + y1="211" + x2="341" + y2="248" + id="line4893" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="725" + y1="204" + x2="591" + y2="248" + id="line4895" + style="fill:none;stroke:#000000;stroke-width:1" /> + <rect + x="8" + y="11" + width="250" + height="200" + id="rect4897" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="8" + y1="11" + x2="10" + y2="8" + id="line4899" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="258" + y1="11" + x2="260" + y2="8" + id="line4901" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="10" + y1="8" + x2="260" + y2="8" + id="line4903" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="258" + y1="211" + x2="260" + y2="208" + id="line4905" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="260" + y1="8" + x2="260" + y2="208" + id="line4907" + style="fill:none;stroke:#000000;stroke-width:1" /> + <rect + x="9" + y="12" + width="248" + height="198" + id="rect4909" + style="fill:#c6ebf9" /> + <text + x="92" + y="26" + style="font-size:12px;font-family:SansSerif" + id="text4911"><<CPURR>></text> + <text + x="116" + y="41" + style="font-size:12px;font-family:SansSerif" + id="text4913">CPU1</text> + <rect + x="60" + y="80" + width="142" + height="40" + id="rect4915" + style="fill:none;stroke:#000000;stroke-width:1" /> + <rect + x="61" + y="81" + width="140" + height="38" + id="rect4917" + style="fill:#c6e3f9" /> + <line + x1="177" + y1="85" + x2="177" + y2="110" + id="line4919" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="177" + y1="85" + x2="192" + y2="85" + id="line4921" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="192" + y1="85" + x2="197" + y2="90" + id="line4923" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="197" + y1="90" + x2="197" + y2="110" + id="line4925" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="197" + y1="110" + x2="177" + y2="110" + id="line4927" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="192" + y1="85" + x2="192" + y2="90" + id="line4929" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="192" + y1="90" + x2="197" + y2="90" + id="line4931" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="65" + y="95" + style="font-size:12px;font-family:SansSerif" + id="text4933">NonSecureFV::T1</text> + <rect + x="663" + y="4" + width="250" + height="200" + id="rect4935" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="663" + y1="4" + x2="665" + y2="1" + id="line4937" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="913" + y1="4" + x2="915" + y2="1" + id="line4939" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="665" + y1="1" + x2="915" + y2="1" + id="line4941" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="913" + y1="204" + x2="915" + y2="201" + id="line4943" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="915" + y1="1" + x2="915" + y2="201" + id="line4945" + style="fill:none;stroke:#000000;stroke-width:1" /> + <rect + x="664" + y="5" + width="248" + height="198" + id="rect4947" + style="fill:#c6ebf9" /> + <text + x="747" + y="19" + style="font-size:12px;font-family:SansSerif" + id="text4949"><<CPURR>></text> + <text + x="771" + y="34" + style="font-size:12px;font-family:SansSerif" + id="text4951">CPU2</text> + <rect + x="705" + y="86" + width="142" + height="40" + id="rect4953" + style="fill:none;stroke:#000000;stroke-width:1" /> + <rect + x="706" + y="87" + width="140" + height="38" + id="rect4955" + style="fill:#c6e3f9" /> + <line + x1="822" + y1="91" + x2="822" + y2="116" + id="line4957" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="822" + y1="91" + x2="837" + y2="91" + id="line4959" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="837" + y1="91" + x2="842" + y2="96" + id="line4961" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="842" + y1="96" + x2="842" + y2="116" + id="line4963" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="842" + y1="116" + x2="822" + y2="116" + id="line4965" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="837" + y1="91" + x2="837" + y2="96" + id="line4967" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="837" + y1="96" + x2="842" + y2="96" + id="line4969" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="710" + y="101" + style="font-size:12px;font-family:SansSerif" + id="text4971">NonSecureFV::T2</text> + <rect + x="341" + y="224" + width="250" + height="96" + id="rect4973" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="341" + y1="224" + x2="343" + y2="221" + id="line4975" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="591" + y1="224" + x2="593" + y2="221" + id="line4977" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="343" + y1="221" + x2="593" + y2="221" + id="line4979" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="591" + y1="320" + x2="593" + y2="317" + id="line4981" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="593" + y1="221" + x2="593" + y2="317" + id="line4983" + style="fill:none;stroke:#000000;stroke-width:1" /> + <rect + x="342" + y="225" + width="248" + height="94" + id="rect4985" + style="fill:#d7bc80" /> + <text + x="423" + y="239" + style="font-size:12px;font-family:SansSerif" + id="text4987"><<BUS-RR>></text> + <text + x="440" + y="254" + style="font-size:12px;font-family:SansSerif" + id="text4989">MainBus</text> + <rect + x="381" + y="265" + width="164" + height="40" + id="rect4991" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="520" + y1="270" + x2="520" + y2="295" + id="line4993" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="520" + y1="270" + x2="535" + y2="270" + id="line4995" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="535" + y1="270" + x2="540" + y2="275" + id="line4997" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="540" + y1="275" + x2="540" + y2="295" + id="line4999" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="540" + y1="295" + x2="520" + y2="295" + id="line5001" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="535" + y1="270" + x2="535" + y2="275" + id="line5003" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="535" + y1="275" + x2="540" + y2="275" + id="line5005" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="386" + y="280" + style="font-size:12px;font-family:SansSerif" + id="text5007">NonSecureFV::comm</text> + <text + x="386" + y="300" + style="font-size:12px;font-family:SansSerif" + id="text5009">channel</text> + <rect + x="364" + y="360" + width="205" + height="139" + id="rect5011" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="364" + y1="360" + x2="366" + y2="357" + id="line5013" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="569" + y1="360" + x2="571" + y2="357" + id="line5015" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="366" + y1="357" + x2="571" + y2="357" + id="line5017" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="569" + y1="499" + x2="571" + y2="496" + id="line5019" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="571" + y1="357" + x2="571" + y2="496" + id="line5021" + style="fill:none;stroke:#000000;stroke-width:1" /> + <rect + x="365" + y="361" + width="203" + height="137" + id="rect5023" + style="fill:#acead3" /> + <text + x="420" + y="375" + style="font-size:12px;font-family:SansSerif" + id="text5025"><<MEMORY>></text> + <text + x="421" + y="390" + style="font-size:12px;font-family:SansSerif" + id="text5027">MainMemory</text> + <rect + x="386" + y="412" + width="164" + height="40" + id="rect5029" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="525" + y1="417" + x2="525" + y2="442" + id="line5031" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="525" + y1="417" + x2="540" + y2="417" + id="line5033" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="540" + y1="417" + x2="545" + y2="422" + id="line5035" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="545" + y1="422" + x2="545" + y2="442" + id="line5037" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="545" + y1="442" + x2="525" + y2="442" + id="line5039" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="540" + y1="417" + x2="540" + y2="422" + id="line5041" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="540" + y1="422" + x2="545" + y2="422" + id="line5043" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="391" + y="427" + style="font-size:12px;font-family:SansSerif" + id="text5045">NonSecureFV::comm</text> + <text + x="391" + y="447" + style="font-size:12px;font-family:SansSerif" + id="text5047">channel</text> +</svg> diff --git a/doc/SysMLSec/fig/method.svg b/doc/SysMLSec/fig/method.svg index 44061491effd948f898519fa534293e5cf747f86..2e76adfcbaa4a463b09cc6cfe89b61703636577b 100644 --- a/doc/SysMLSec/fig/method.svg +++ b/doc/SysMLSec/fig/method.svg @@ -1,103 +1,657 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="1471" height="705" viewbox="45 58 1426 647"> -<line x1="410" y1="270" x2="410" y2="400" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="410" y1="400" x2="405" y2="391" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="410" y1="400" x2="414" y2="391" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="470" y1="400" x2="470" y2="270" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="470" y1="270" x2="474" y2="278" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="470" y1="270" x2="465" y2="278" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="960" y1="470" x2="960" y2="525" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="960" y1="525" x2="1000" y2="533" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="1000" y1="533" x2="990" y2="536" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="1000" y1="533" x2="992" y2="526" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="1058" y1="570" x2="1060" y2="625" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="1060" y1="625" x2="1100" y2="635" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="1100" y1="635" x2="1090" y2="637" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="1100" y1="635" x2="1092" y2="628" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="550" y1="235" x2="595" y2="235" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="595" y1="235" x2="595" y2="450" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="595" y1="450" x2="740" y2="500" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="740" y1="500" x2="730" y2="501" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="740" y1="500" x2="733" y2="492" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="762" y1="170" x2="938" y2="227" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="938" y1="227" x2="928" y2="229" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="938" y1="227" x2="931" y2="219" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="1000" y1="170" x2="1022" y2="227" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="1022" y1="227" x2="1014" y2="220" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="1022" y1="227" x2="1023" y2="217" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="1299" y1="170" x2="1105" y2="227" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="1105" y1="227" x2="1111" y2="219" stroke="#000000" stroke-width="1" fill="none"/> -<line x1="1105" y1="227" x2="1114" y2="229" stroke="#000000" stroke-width="1" fill="none"/> -<rect x="330" y="169" width="240" height="339" fill="#c0c0c0"/> -<rect x="330" y="169" width="241" height="340" fill="none" stroke="#000000" stroke-width="1"/> -<text x="393" y="186" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#ffffff">Req and attacks</text> -<rect x="630" y="375" width="749" height="324" fill="#c0c0c0"/> -<rect x="630" y="375" width="750" height="325" fill="none" stroke="#000000" stroke-width="1"/> -<text x="967" y="392" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#ffffff">SW Design</text> -<rect x="630" y="63" width="835" height="251" fill="#c0c0c0"/> -<rect x="630" y="63" width="836" height="252" fill="none" stroke="#000000" stroke-width="1"/> -<text x="979" y="80" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#ffffff">SW/HW Partitioning</text> -<rect x="50" y="300" width="199" height="69" fill="#e4f1f2"/> -<rect x="50" y="300" width="200" height="70" fill="none" stroke="#000000" stroke-width="1"/> -<text x="104" y="313" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">Assumptions</text> -<rect x="350" y="200" width="199" height="69" fill="#e4f1f2"/> -<rect x="350" y="200" width="200" height="70" fill="none" stroke="#000000" stroke-width="1"/> -<text x="400" y="213" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">Requirements</text> -<text x="355" y="240" style="font-size:12; font-family:SansSerif.plain; fill=#000000">SecurityRequirements</text> -<rect x="350" y="400" width="199" height="69" fill="#e4f1f2"/> -<rect x="350" y="400" width="200" height="70" fill="none" stroke="#000000" stroke-width="1"/> -<text x="423" y="413" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">Attacks</text> -<text x="355" y="440" style="font-size:12; font-family:SansSerif.plain; fill=#000000">RetrieveData</text> -<text x="521" y="440" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">upp</text> -<text x="488" y="440" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">simu</text> -<rect x="650" y="100" width="223" height="69" fill="#e4f1f2"/> -<rect x="650" y="100" width="224" height="70" fill="none" stroke="#000000" stroke-width="1"/> -<text x="707" y="113" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">Functional view</text> -<text x="655" y="140" style="font-size:12; font-family:SansSerif.plain; fill=#000000">NonSecureFV</text> -<text x="859" y="140" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">fv</text> -<text x="835" y="140" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">tml</text> -<text x="814" y="140" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">lot</text> -<text x="785" y="140" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">upp</text> -<text x="655" y="155" style="font-size:12; font-family:SansSerif.plain; fill=#000000">SecureFV</text> -<text x="859" y="155" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">fv</text> -<text x="835" y="155" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">tml</text> -<text x="814" y="155" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">lot</text> -<text x="785" y="155" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">upp</text> -<text x="723" y="155" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">sim-trace</text> -<rect x="1150" y="101" width="298" height="68" fill="#e4f1f2"/> -<rect x="1150" y="101" width="299" height="69" fill="none" stroke="#000000" stroke-width="1"/> -<text x="1238" y="114" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">Architecture view</text> -<text x="1155" y="141" style="font-size:12; font-family:SansSerif.plain; fill=#000000">NonSecureArchitectureWithNonSecureFV</text> -<text x="1155" y="156" style="font-size:12; font-family:SansSerif.plain; fill=#000000">SecureArchitectureWithNonSecureFV</text> -<rect x="813" y="227" width="417" height="67" fill="#e4f1f2"/> -<rect x="813" y="227" width="418" height="68" fill="none" stroke="#000000" stroke-width="1"/> -<text x="991" y="240" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">Mapping</text> -<text x="818" y="267" style="font-size:12; font-family:SansSerif.plain; fill=#000000">NonSecureArchitectureWithNonSecureFV</text> -<text x="1172" y="267" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">sim-anim</text> -<text x="1110" y="267" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">sim-trace</text> -<text x="818" y="282" style="font-size:12; font-family:SansSerif.plain; fill=#000000">SecureArchitectureWithNonSecureFV</text> -<text x="1172" y="282" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">sim-anim</text> -<text x="1110" y="282" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">sim-trace</text> -<text x="1073" y="282" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">tmap</text> -<rect x="887" y="100" width="226" height="69" fill="#e4f1f2"/> -<rect x="887" y="100" width="227" height="70" fill="none" stroke="#000000" stroke-width="1"/> -<text x="917" y="113" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">Communication pattern</text> -<rect x="900" y="400" width="199" height="69" fill="#e4f1f2"/> -<rect x="900" y="400" width="200" height="70" fill="none" stroke="#000000" stroke-width="1"/> -<text x="970" y="413" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">Analysis</text> -<rect x="1000" y="497" width="289" height="72" fill="#e4f1f2"/> -<rect x="1000" y="497" width="290" height="73" fill="none" stroke="#000000" stroke-width="1"/> -<text x="1120" y="510" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">Design</text> -<text x="1005" y="537" style="font-size:12; font-family:SansSerif.plain; fill=#000000">SecurityProtocolDesign</text> -<text x="1268" y="537" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">inv</text> -<text x="1216" y="537" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">proverif</text> -<text x="1187" y="537" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">upp</text> -<text x="1154" y="537" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000">simu</text> -<rect x="1100" y="600" width="199" height="69" fill="#e4f1f2"/> -<rect x="1100" y="600" width="200" height="70" fill="none" stroke="#000000" stroke-width="1"/> -<text x="1158" y="613" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">Prototyping</text> -<rect x="650" y="500" width="179" height="69" fill="#e4f1f2"/> -<rect x="650" y="500" width="180" height="70" fill="none" stroke="#000000" stroke-width="1"/> -<text x="702" y="513" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">Properties</text> -</svg> \ No newline at end of file +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + width="1450" + height="660" + viewbox="45 58 1426 647" + id="svg3506" + inkscape:version="0.48.5 r10040" + sodipodi:docname="method.svg"> + <metadata + id="metadata3710"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs3708" /> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="888" + inkscape:window-height="659" + id="namedview3706" + showgrid="false" + inkscape:zoom="0.22229776" + inkscape:cx="735.5" + inkscape:cy="352.5" + inkscape:window-x="829" + inkscape:window-y="576" + inkscape:window-maximized="0" + inkscape:current-layer="svg3506" /> + <line + x1="376" + y1="223" + x2="376" + y2="353" + id="line3508" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="376" + y1="353" + x2="371" + y2="344" + id="line3510" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="376" + y1="353" + x2="380" + y2="344" + id="line3512" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="436" + y1="353" + x2="436" + y2="223" + id="line3514" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="436" + y1="223" + x2="440" + y2="231" + id="line3516" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="436" + y1="223" + x2="431" + y2="231" + id="line3518" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="926" + y1="423" + x2="926" + y2="478" + id="line3520" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="926" + y1="478" + x2="966" + y2="486" + id="line3522" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="966" + y1="486" + x2="956" + y2="489" + id="line3524" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="966" + y1="486" + x2="958" + y2="479" + id="line3526" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="1024" + y1="523" + x2="1026" + y2="578" + id="line3528" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="1026" + y1="578" + x2="1066" + y2="588" + id="line3530" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="1066" + y1="588" + x2="1056" + y2="590" + id="line3532" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="1066" + y1="588" + x2="1058" + y2="581" + id="line3534" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="516" + y1="188" + x2="561" + y2="188" + id="line3536" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="561" + y1="188" + x2="561" + y2="403" + id="line3538" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="561" + y1="403" + x2="706" + y2="453" + id="line3540" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="706" + y1="453" + x2="696" + y2="454" + id="line3542" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="706" + y1="453" + x2="699" + y2="445" + id="line3544" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="728" + y1="123" + x2="904" + y2="180" + id="line3546" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="904" + y1="180" + x2="894" + y2="182" + id="line3548" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="904" + y1="180" + x2="897" + y2="172" + id="line3550" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="966" + y1="123" + x2="988" + y2="180" + id="line3552" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="988" + y1="180" + x2="980" + y2="173" + id="line3554" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="988" + y1="180" + x2="989" + y2="170" + id="line3556" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="1265" + y1="123" + x2="1071" + y2="180" + id="line3558" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="1071" + y1="180" + x2="1077" + y2="172" + id="line3560" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="1071" + y1="180" + x2="1080" + y2="182" + id="line3562" + style="fill:none;stroke:#000000;stroke-width:1" /> + <rect + x="296" + y="122" + width="240" + height="339" + id="rect3564" + style="fill:#c0c0c0" /> + <rect + x="296" + y="122" + width="241" + height="340" + id="rect3566" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="359" + y="139" + style="font-size:12px;font-family:SansSerif" + id="text3568">Req and attacks</text> + <rect + x="596" + y="328" + width="749" + height="324" + id="rect3570" + style="fill:#c0c0c0" /> + <rect + x="596" + y="328" + width="750" + height="325" + id="rect3572" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="933" + y="345" + style="font-size:12px;font-family:SansSerif" + id="text3574">SW Design</text> + <rect + x="596" + y="16" + width="835" + height="251" + id="rect3576" + style="fill:#c0c0c0" /> + <rect + x="596" + y="16" + width="836" + height="252" + id="rect3578" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="945" + y="33" + style="font-size:12px;font-family:SansSerif" + id="text3580">SW/HW Partitioning</text> + <rect + x="16" + y="253" + width="199" + height="69" + id="rect3582" + style="fill:#e4f1f2" /> + <rect + x="16" + y="253" + width="200" + height="70" + id="rect3584" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="70" + y="266" + style="font-size:12px;font-family:SansSerif" + id="text3586">Assumptions</text> + <rect + x="316" + y="153" + width="199" + height="69" + id="rect3588" + style="fill:#e4f1f2" /> + <rect + x="316" + y="153" + width="200" + height="70" + id="rect3590" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="366" + y="166" + style="font-size:12px;font-family:SansSerif" + id="text3592">Requirements</text> + <text + x="321" + y="193" + style="font-size:12px;font-family:SansSerif" + id="text3594">SecurityRequirements</text> + <rect + x="316" + y="353" + width="199" + height="69" + id="rect3596" + style="fill:#e4f1f2" /> + <rect + x="316" + y="353" + width="200" + height="70" + id="rect3598" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="389" + y="366" + style="font-size:12px;font-family:SansSerif" + id="text3600">Attacks</text> + <text + x="321" + y="393" + style="font-size:12px;font-family:SansSerif" + id="text3602">RetrieveData</text> + <text + x="487" + y="393" + style="font-size:12px;font-family:SansSerif" + id="text3604">upp</text> + <text + x="454" + y="393" + style="font-size:12px;font-family:SansSerif" + id="text3606">simu</text> + <rect + x="616" + y="53" + width="223" + height="69" + id="rect3608" + style="fill:#e4f1f2" /> + <rect + x="616" + y="53" + width="224" + height="70" + id="rect3610" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="673" + y="66" + style="font-size:12px;font-family:SansSerif" + id="text3612">Functional view</text> + <text + x="621" + y="93" + style="font-size:12px;font-family:SansSerif" + id="text3614">NonSecureFV</text> + <text + x="825" + y="93" + style="font-size:12px;font-family:SansSerif" + id="text3616">fv</text> + <text + x="801" + y="93" + style="font-size:12px;font-family:SansSerif" + id="text3618">tml</text> + <text + x="780" + y="93" + style="font-size:12px;font-family:SansSerif" + id="text3620">lot</text> + <text + x="751" + y="93" + style="font-size:12px;font-family:SansSerif" + id="text3622">upp</text> + <text + x="621" + y="108" + style="font-size:12px;font-family:SansSerif" + id="text3624">SecureFV</text> + <text + x="825" + y="108" + style="font-size:12px;font-family:SansSerif" + id="text3626">fv</text> + <text + x="801" + y="108" + style="font-size:12px;font-family:SansSerif" + id="text3628">tml</text> + <text + x="780" + y="108" + style="font-size:12px;font-family:SansSerif" + id="text3630">lot</text> + <text + x="751" + y="108" + style="font-size:12px;font-family:SansSerif" + id="text3632">upp</text> + <text + x="689" + y="108" + style="font-size:12px;font-family:SansSerif" + id="text3634">sim-trace</text> + <rect + x="1116" + y="54" + width="298" + height="68" + id="rect3636" + style="fill:#e4f1f2" /> + <rect + x="1116" + y="54" + width="299" + height="69" + id="rect3638" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="1204" + y="67" + style="font-size:12px;font-family:SansSerif" + id="text3640">Architecture view</text> + <text + x="1121" + y="94" + style="font-size:12px;font-family:SansSerif" + id="text3642">NonSecureArchitectureWithNonSecureFV</text> + <text + x="1121" + y="109" + style="font-size:12px;font-family:SansSerif" + id="text3644">SecureArchitectureWithNonSecureFV</text> + <rect + x="779" + y="180" + width="417" + height="67" + id="rect3646" + style="fill:#e4f1f2" /> + <rect + x="779" + y="180" + width="418" + height="68" + id="rect3648" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="957" + y="193" + style="font-size:12px;font-family:SansSerif" + id="text3650">Mapping</text> + <text + x="784" + y="220" + style="font-size:12px;font-family:SansSerif" + id="text3652">NonSecureArchitectureWithNonSecureFV</text> + <text + x="1138" + y="220" + style="font-size:12px;font-family:SansSerif" + id="text3654">sim-anim</text> + <text + x="1076" + y="220" + style="font-size:12px;font-family:SansSerif" + id="text3656">sim-trace</text> + <text + x="784" + y="235" + style="font-size:12px;font-family:SansSerif" + id="text3658">SecureArchitectureWithNonSecureFV</text> + <text + x="1138" + y="235" + style="font-size:12px;font-family:SansSerif" + id="text3660">sim-anim</text> + <text + x="1076" + y="235" + style="font-size:12px;font-family:SansSerif" + id="text3662">sim-trace</text> + <text + x="1039" + y="235" + style="font-size:12px;font-family:SansSerif" + id="text3664">tmap</text> + <rect + x="853" + y="53" + width="226" + height="69" + id="rect3666" + style="fill:#e4f1f2" /> + <rect + x="853" + y="53" + width="227" + height="70" + id="rect3668" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="883" + y="66" + style="font-size:12px;font-family:SansSerif" + id="text3670">Communication pattern</text> + <rect + x="866" + y="353" + width="199" + height="69" + id="rect3672" + style="fill:#e4f1f2" /> + <rect + x="866" + y="353" + width="200" + height="70" + id="rect3674" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="936" + y="366" + style="font-size:12px;font-family:SansSerif" + id="text3676">Analysis</text> + <rect + x="966" + y="450" + width="289" + height="72" + id="rect3678" + style="fill:#e4f1f2" /> + <rect + x="966" + y="450" + width="290" + height="73" + id="rect3680" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="1086" + y="463" + style="font-size:12px;font-family:SansSerif" + id="text3682">Design</text> + <text + x="971" + y="490" + style="font-size:12px;font-family:SansSerif" + id="text3684">SecurityProtocolDesign</text> + <text + x="1234" + y="490" + style="font-size:12px;font-family:SansSerif" + id="text3686">inv</text> + <text + x="1182" + y="490" + style="font-size:12px;font-family:SansSerif" + id="text3688">proverif</text> + <text + x="1153" + y="490" + style="font-size:12px;font-family:SansSerif" + id="text3690">upp</text> + <text + x="1120" + y="490" + style="font-size:12px;font-family:SansSerif" + id="text3692">simu</text> + <rect + x="1066" + y="553" + width="199" + height="69" + id="rect3694" + style="fill:#e4f1f2" /> + <rect + x="1066" + y="553" + width="200" + height="70" + id="rect3696" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="1124" + y="566" + style="font-size:12px;font-family:SansSerif" + id="text3698">Prototyping</text> + <rect + x="616" + y="453" + width="179" + height="69" + id="rect3700" + style="fill:#e4f1f2" /> + <rect + x="616" + y="453" + width="180" + height="70" + id="rect3702" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="668" + y="466" + style="font-size:12px;font-family:SansSerif" + id="text3704">Properties</text> +</svg> diff --git a/doc/SysMLSec/fig/requirements1.svg b/doc/SysMLSec/fig/requirements1.svg new file mode 100644 index 0000000000000000000000000000000000000000..8555d97fd61dea413b7c837b9ce9a3e0f58e26fd --- /dev/null +++ b/doc/SysMLSec/fig/requirements1.svg @@ -0,0 +1,118 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + width="380" + height="151" + viewbox="178 116 384 142" + id="svg2" + inkscape:version="0.48.5 r10040" + sodipodi:docname="requirements1.svg"> + <metadata + id="metadata32"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs30" /> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="480" + id="namedview28" + showgrid="false" + inkscape:zoom="0.58185053" + inkscape:cx="281" + inkscape:cy="266.49235" + inkscape:window-x="840" + inkscape:window-y="439" + inkscape:window-maximized="0" + inkscape:current-layer="svg2" /> + <rect + x="3" + y="8" + width="374" + height="132" + id="rect4" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="3" + y1="38" + x2="377" + y2="38" + id="line6" + style="fill:none;stroke:#000000;stroke-width:1" /> + <rect + x="4" + y="9" + width="372" + height="28" + id="rect8" + style="fill:#e4f1f2" /> + <rect + x="4" + y="39" + width="372" + height="100" + id="rect10" + style="fill:#cdc46d" /> + <text + x="142" + y="18" + style="font-size:10px;font-family:SansSerif" + id="text12"><<Requirement>></text> + <text + x="107" + y="30" + style="font-size:12px;font-family:SansSerif" + id="text14">CommunicationSecurity</text> + <text + x="8" + y="50" + style="font-size:12px;font-family:SansSerif" + id="text16">ID=0</text> + <text + x="8" + y="62" + style="font-size:12px;font-family:SansSerif" + id="text18">Text="The data exchanged between functional tasks</text> + <text + x="8" + y="74" + style="font-size:12px;font-family:SansSerif" + id="text20">must be confidential"</text> + <text + x="8" + y="86" + style="font-size:12px;font-family:SansSerif" + id="text22">Kind="Confidentiality"</text> + <text + x="8" + y="98" + style="font-size:12px;font-family:SansSerif" + id="text24">Risk="Medium"</text> + <text + x="8" + y="110" + style="font-size:12px;font-family:SansSerif" + id="text26">Reference elements=""</text> +</svg> diff --git a/doc/SysMLSec/fig/requirements2.svg b/doc/SysMLSec/fig/requirements2.svg new file mode 100644 index 0000000000000000000000000000000000000000..5b5391ad9f8f19499ed2636c052f333bea1528fa --- /dev/null +++ b/doc/SysMLSec/fig/requirements2.svg @@ -0,0 +1,291 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + width="400" + height="333" + viewbox="178 116 384 317" + id="svg4538" + inkscape:version="0.48.5 r10040" + sodipodi:docname="requirements2.svg"> + <metadata + id="metadata4622"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs4620" /> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="480" + id="namedview4618" + showgrid="false" + inkscape:zoom="0.54503464" + inkscape:cx="281" + inkscape:cy="216.5" + inkscape:window-x="1099" + inkscape:window-y="582" + inkscape:window-maximized="0" + inkscape:current-layer="svg4538" /> + <rect + x="8.6991529" + y="13.661011" + width="374" + height="132" + id="rect4540" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="8.6991529" + y1="43.661011" + x2="382.69916" + y2="43.661011" + id="line4542" + style="fill:none;stroke:#000000;stroke-width:1" /> + <rect + x="9.6991529" + y="14.661011" + width="372" + height="28" + id="rect4544" + style="fill:#e4f1f2" /> + <rect + x="9.6991529" + y="44.661011" + width="372" + height="100" + id="rect4546" + style="fill:#cdc46d" /> + <text + x="147.69916" + y="23.661011" + style="font-size:10px;font-family:SansSerif" + id="text4548"><<Requirement>></text> + <text + x="112.69915" + y="35.661011" + style="font-size:12px;font-family:SansSerif" + id="text4550">CommunicationSecurity</text> + <text + x="13.699153" + y="55.661011" + style="font-size:12px;font-family:SansSerif" + id="text4552">ID=0</text> + <text + x="13.699153" + y="67.661011" + style="font-size:12px;font-family:SansSerif" + id="text4554">Text="The data exchanged between functional tasks</text> + <text + x="13.699153" + y="79.661011" + style="font-size:12px;font-family:SansSerif" + id="text4556">must be confidential"</text> + <text + x="13.699153" + y="91.661011" + style="font-size:12px;font-family:SansSerif" + id="text4558">Kind="Confidentiality"</text> + <text + x="13.699153" + y="103.66101" + style="font-size:12px;font-family:SansSerif" + id="text4560">Risk="Medium"</text> + <text + x="13.699153" + y="115.66101" + style="font-size:12px;font-family:SansSerif" + id="text4562">Reference elements=""</text> + <rect + x="11.699153" + y="214.66101" + width="368" + height="106" + id="rect4564" + style="fill:none;stroke:#ff0000;stroke-width:1" /> + <line + x1="11.699153" + y1="244.66101" + x2="379.69916" + y2="244.66101" + id="line4566" + style="fill:none;stroke:#ff0000;stroke-width:1" /> + <rect + x="12.699153" + y="215.66101" + width="366" + height="28" + id="rect4568" + style="fill:#e4f1f2" /> + <rect + x="12.699153" + y="245.66101" + width="366" + height="74" + id="rect4570" + style="fill:#cdc46d" /> + <text + x="147.69916" + y="224.66101" + style="font-size:10px;font-family:SansSerif" + id="text4572"><<Requirement>></text> + <text + x="82.69915" + y="236.66101" + style="font-size:12px;font-family:SansSerif" + id="text4574">ConfidentialityBetweenT1andT2</text> + <text + x="16.699152" + y="256.66101" + style="font-size:12px;font-family:SansSerif" + id="text4576">ID=1</text> + <text + x="16.699152" + y="268.66101" + style="font-size:12px;font-family:SansSerif" + id="text4578">Text=""</text> + <text + x="16.699152" + y="280.66101" + style="font-size:12px;font-family:SansSerif" + id="text4580">Kind="Confidentiality"</text> + <text + x="16.699152" + y="292.66101" + style="font-size:12px;font-family:SansSerif" + id="text4582">Risk="Medium"</text> + <text + x="16.699152" + y="304.66101" + style="font-size:12px;font-family:SansSerif" + id="text4584">Reference elements="Attack: RetrieveconfidentialData"</text> + <line + x1="11.699153" + y1="214.66101" + x2="21.699152" + y2="214.66101" + id="line4586" + style="fill:none;stroke:#1a72f4;stroke-width:1" /> + <line + x1="11.699153" + y1="214.66101" + x2="11.699153" + y2="224.66101" + id="line4588" + style="fill:none;stroke:#1a72f4;stroke-width:1" /> + <line + x1="190.69916" + y1="214.66101" + x2="200.69916" + y2="214.66101" + id="line4590" + style="fill:none;stroke:#1a72f4;stroke-width:1" /> + <line + x1="379.69916" + y1="214.66101" + x2="369.69916" + y2="214.66101" + id="line4592" + style="fill:none;stroke:#1a72f4;stroke-width:1" /> + <line + x1="379.69916" + y1="214.66101" + x2="379.69916" + y2="224.66101" + id="line4594" + style="fill:none;stroke:#1a72f4;stroke-width:1" /> + <line + x1="11.699153" + y1="262.66101" + x2="11.699153" + y2="272.66101" + id="line4596" + style="fill:none;stroke:#1a72f4;stroke-width:1" /> + <line + x1="11.699153" + y1="320.66101" + x2="21.699152" + y2="320.66101" + id="line4598" + style="fill:none;stroke:#1a72f4;stroke-width:1" /> + <line + x1="11.699153" + y1="320.66101" + x2="11.699153" + y2="310.66101" + id="line4600" + style="fill:none;stroke:#1a72f4;stroke-width:1" /> + <line + x1="190.69916" + y1="320.66101" + x2="200.69916" + y2="320.66101" + id="line4602" + style="fill:none;stroke:#1a72f4;stroke-width:1" /> + <line + x1="379.69916" + y1="320.66101" + x2="369.69916" + y2="320.66101" + id="line4604" + style="fill:none;stroke:#1a72f4;stroke-width:1" /> + <line + x1="379.69916" + y1="320.66101" + x2="379.69916" + y2="310.66101" + id="line4606" + style="fill:none;stroke:#1a72f4;stroke-width:1" /> + <line + x1="379.69916" + y1="262.66101" + x2="379.69916" + y2="272.66101" + id="line4608" + style="fill:none;stroke:#1a72f4;stroke-width:1" /> + <line + x1="195.69916" + y1="214.66101" + x2="195.69916" + y2="145.66101" + id="line4610" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="195.69916" + y1="145.66101" + x2="199.69916" + y2="153.66101" + id="line4612" + style="fill:none;stroke:#000000;stroke-width:1" /> + <line + x1="195.69916" + y1="145.66101" + x2="190.69916" + y2="153.66101" + id="line4614" + style="fill:none;stroke:#000000;stroke-width:1" /> + <text + x="157.69916" + y="179.66101" + style="font-size:12px;font-family:SansSerif" + id="text4616"><<refine>></text> +</svg> diff --git a/doc/SysMLSec/sysmlsec_documentation.tex b/doc/SysMLSec/sysmlsec_documentation.tex index 82b600943fb4c0c7f9b6bd10003c0f1f8982b821..96b0df58eebb8c0fec49babc9300b51f88804f06 100644 --- a/doc/SysMLSec/sysmlsec_documentation.tex +++ b/doc/SysMLSec/sysmlsec_documentation.tex @@ -158,22 +158,78 @@ We also assume that the DIPLODOCUS simulator correctly works. The configuration for the DIPLODOCUS simulator assumes that a \textbf{C compiler}, referenced by the provided Makefile (default = "gcc"\footnote{\url{https://gcc.gnu.org/}}) is installed on your machine, as well as the \textbf{POSIX-1 librairies}. Also, a Makefile utility must be installed (e.g., "GNU make"\footnote{\url{https://www.gnu.org/software/make/}}). \newpage -\section{A toy example}\label{sec:example} +\section{Getting started with a toy example}\label{sec:example} This very first example explains how to use the main capabilities of SysML-Sec \subsection{Getting the example} Be sure to get the latest version of TTool including the remote loading of models (March 2018 and after). Do: File, Open from TTool repository, and select "SysMLSecTutorial.xml". \subsection{Understanding the model} -The first tab of the model presents an overview of the SysML-Sec methodology (see Figure \ref{fig:method}). Each stage of the method is represented with a rectangle that contains a link to the corresponding diagrams. +The first tab of the model presents an overview of the SysML-Sec methodology (see Figure \ref{fig:method}). Each stage of the method is represented with a rectangle that contains a link to the corresponding diagrams. All other tabs correspond to the diagrams of the model. \begin{figure*}[htbp] \centering -\includegraphics[scale=0.8]{build/method-svg.pdf} +\includegraphics[width=0.99\textwidth]{build/method-svg.pdf} \caption{The first diagram represents the method of SysML-Sec. Each stage of the method is represented by a rectangle that contains a link to all diagrams of the corresponding stage} \label{fig:method} \end{figure*} +\subsection{Security requirements} +Security requirements are captured with a SysML requirement diagrams that is extended in the following way: +\begin{enumerate} +\item Requirements can be tagged as "Functional", "Non Functional", "Privacy", "Confidentiality", "Non Repudiation", "Controlled Access", "Availability", "Immunity", "Data Origin Authenticity", "Freshness", "Business", "StakeHolder Need", "Other" +\item Requirements have a \textbf{risk} attribute (low, medium, high). +\item Property blocks can be added in order to reference a given property. Then, a "satisfy" link can be drawn between a Property and a Requirement. +\end{enumerate} + +The requirement diagram of Figure \ref{fig:req1} shows a confidentiality requirements that states that all functional communication paths should be confidential. + +\begin{figure*}[htbp] +\centering +\includegraphics[width=0.5\textwidth]{build/requirements1-svg.pdf} +\caption{Security requirements (version \#1)} \label{fig:req1} +\end{figure*} + +\subsection{Functional Model (version 1)} +The functional model is build upon the merge of a SysML Block Definition Diagram and a SysML Internal Block Diagram, see Figure \ref{fig:fv1}. The functional view contains two blocks : T1 and T2. The functional behavior of T1 and T2 is captured with Activity diagrams, as displayed on the left and right of Figure \ref{fig:fv1}. Basically, T1 write one data sample, and T2 reads one data sample. + + +\begin{figure*}[htbp] +\centering +\includegraphics[width=0.1\textwidth]{build/fv1_t1-svg.pdf} +\includegraphics[width=0.7\textwidth]{build/fv1-svg.pdf} +\includegraphics[width=0.1\textwidth]{build/fv1_t2-svg.pdf} +\caption{Functional View (version \#1)} \label{fig:fv1} +\end{figure*} + +As shown on the block diagram, T1 and T2 are connected with a data communication channel. Since this communication channel must be secure (see Figure \ref{fig:req1}), we can now enrich the Requirement Diagram with a new security requirement connected to the initial security requirement (see Figure \ref{fig:req2}) + +\begin{figure*}[htbp] +\centering +\includegraphics[width=0.5\textwidth]{build/requirements2-svg.pdf} +\caption{Security requirements (version \#2)} \label{fig:req2} +\end{figure*} + +We also enrich the communication channel $comm$ between T1 and T2 with a confidentiality property, as shown by the \textit{grey lock} with the question marks just next to the port of comm in T1 (Figure \ref{fig:fv1}). + +\subsection{Architecture and Mapping Models (version 1)} + +A simple architecture model and mapping is shown in Figure \ref{fig:mapping1}. T1 and T2 are mapped on CPU1 and CPU2, respectively. The channel between T1 and T2 is mapped on "MainBus" and on "MainMemory". + +\begin{figure*}[htbp] +\centering +\includegraphics[width=0.8\textwidth]{build/mapping1-svg.pdf} +\caption{Mapping Model (version \#1)} \label{fig:mapping1} +\end{figure*} + +\subsection{Attack Tree Model} + +\begin{figure*}[htbp] +\centering +\includegraphics[width=0.8\textwidth]{fig/attacktree.png} +\caption{Attack Tree Model} \label{fig:atatcktree} +\end{figure*} + \end{document}