From 379adf1ee7d9de4bf314d27b65ab0043f1800293 Mon Sep 17 00:00:00 2001 From: jerray <jawher.jerray@eurecom.fr> Date: Thu, 23 Mar 2023 14:58:45 +0100 Subject: [PATCH] Update SysMLSec doc and add figures --- doc/SysMLSec/fig/channelsecurityTab.png | Bin 0 -> 20246 bytes doc/SysMLSec/fig/fv_auth_check.svg | 137 ++++++++ doc/SysMLSec/fig/hsm_ad_hsm_cpu1.svg | 205 ++++++++++++ doc/SysMLSec/fig/hsm_ad_t1.svg | 197 ++++++++++++ doc/SysMLSec/fig/hsm_fv.svg | 397 ++++++++++++++++++++++++ doc/SysMLSec/sysmlsec_documentation.tex | 21 +- 6 files changed, 951 insertions(+), 6 deletions(-) create mode 100644 doc/SysMLSec/fig/channelsecurityTab.png create mode 100644 doc/SysMLSec/fig/fv_auth_check.svg create mode 100644 doc/SysMLSec/fig/hsm_ad_hsm_cpu1.svg create mode 100644 doc/SysMLSec/fig/hsm_ad_t1.svg create mode 100644 doc/SysMLSec/fig/hsm_fv.svg diff --git a/doc/SysMLSec/fig/channelsecurityTab.png b/doc/SysMLSec/fig/channelsecurityTab.png new file mode 100644 index 0000000000000000000000000000000000000000..47ca2bd77ef423fb9ac5cbcd9469b989ffdd881f GIT binary patch literal 20246 zcmeAS@N?(olHy`uVBq!ia0y~yV2WU1VASDYV_;yAw>>+Jfq{Xg*vT`5gM)*kh9jke zfq_A?#5JNMI6tkVJh3R1Aw4fYH&wSdxhOR?uQ(&W<UR9#I|c>?22U5qkcv5P?p9Vz z4!w2!WB#Qjt$G)nq6H$;Qp9CLx{MwuI0=?Ua50Ha2wlMRNFyllLujC&yTcUUZ(S#% z7O)DkX}bn6GESFF6_1IC;<_}=^~J33{TD8j_$ub^`eS!}>gto0&n<V(Ump2xPVuKB z4t$H<>{3rgswpWcDgB&no4!u*cW&^tsmtB_Hkf2xnJ`VadBwBvwNI3V1qB5)o4?im z*1dP{-n7%x^^CL6v9mESAGo~OE#lw3Rici%?+SBUK*pp7cx7qLHviu)tnP1={f(VX z*<o#T-om4{<-4uS1O){r8l60RcW%AiFOJYvA&dv!z6?~>SsT6m*#4?g@ph0yg35O8 z+?i-Lo0H>1{n-xIytSp>tCNL54*2})$~xX@+1+>c?%C6|<zr(rduMm|_PcpkHYk?9 zx>A-0vEOH^mYu`4d_l3Jm-?q~*3-IGR(;6(vBZV{oX=gr<{z`1laTvUr!Dn#I77hZ z>-s!3&#LZjmk#^zb3p{dvHd1}YQ56d=3Zd8E;+#R`bg*GoZpYQU)eHL`@MPGez<z& zcZMswc~_b4xcBZ%eEsu7o%b1kl>Cm;i+kg8dV$zcsU0019UhsfOdFmQzWdhF!ctbV zxz}>y`wPGHCp=)2>wU0I{XrM|pFPq$SbjLYO>6w~)z4U6e}2+iZ*32o>c(AX_cHF7 z!mv_&ZEaSH_mQu1@-{tZ&iL5Pu$%ho>L0J#{i;{@8&6#t;ku;aiFMP~oS$4t{d$id zem@W*DP;3t5$86!V^vj`<QvyF$bG0Oh|j9Lcj%D(v59q@d`pjP(8*+H*qwe@KYDHL zyPJDA-zfK3vL{k*=d>5Svnv+(X1np$3pKQQ+dbQSBlpVc=yuKgJ!}V_$LFNi9dS3w zzSR;Q&r_awL`f;t|GxTRhKk%b8B(Tu4~Nw~dEmdttW=HRwD{TL9rlx1xfASLzFuni z|M<9kz0%WZ+B>Qb_wPUazP{n8>?Nahre2KanC2f`Hs9{}<u{&DO<Ui5|Ge_Yyj2G~ ze#alFeo~aQy8i6<?h~c<N<ll+de?mZ*xo0n`r5MO$MgA&KmH!^To?0m@~NrX#Xn92 zX8&&E)p)UUn^98TwrH`qny<Wl|9?q8o>$!_R{r;G+v77g^FN;aJ1evb6kw<3DYMsa z@@~sJwe{tm>&wnO*jkW1sTAz?)U<DIeWk6c?*-Sac=7dzdE@PMbMO4UQfW~xV=;B@ z#rN0O|I`1dzWeRu|1HAx4ryvE_c$BbWxCv5K3&-1$jrmWoGx^3(v&$p?d|OQ=UaHb zjm|FobS1M-#@g?*^{m1dD@<Qz)#xf#*L)~2GB(cr8}j*c^1JHboTu_W^AAbC_j&wf zYw)^1)xUTcetoOznQ*TE!||V=YxZREvh&F*nwm~^<9%hk;{M}1L7Uy?6{fx4US+yJ z=KK41@6O5k&i=4o@bHS5okjC%=lJ`i9G#`{P2T3n)YaiT_g}63Qol$1-Me?&%#`PG zpWnVe@qCY><xeJt(A8lJJrA?-yb$(ksQ+ry?-^HXacS9#<8Cf<^tFGU^lHnymi=&X z?#Ym_{WmACzJADEe5HMIo#@tgtyXUzTnasLf~AjfKEv$>{RZa-^$!XHlioh!U*eE- zhcm3!w9EGP{%3a{Djii(x>-?KdCQNj=EsZkGJk(sh;_H>^_MU`IB_vqMOD36?V%1^ zb7R}r{LQ!j-4pvR@bMtevwh~O;rHL~{j0Y9?@~DiP&8ik78APkQ}EKIOBH|bU%v74 zY@8df^r7hWeh*HZKVFgh$@)*_Q?H4S>L2{O=5l7HWAp8Qr^^5Tm7kw`dtUnPEn7_P z{rJ8+=YN*^T=}|=o0tFjZeHeV@#nK)`|oIj$FX7hkte#2ewO&;62I@}ciGL)boVTr z@hSW9nPg=p^Jgax&aWsv<)d?8b#PkIlL!8-dBHQ>eBVFV`r+cX!sl!L=@vM9#_Z#~ zc7C?PH|CDNoRjq8wZE`dG4wNk7rpR0amN?Mnx9%n_VKh|6Vp@^Jh`y&aQ5XE_qt~v zwoY8NVE61|@3T@eR#kh~d|SKq!>2D>Zf~oe?p{1q^x5zKe?4OUNJ^RR=-q#}(0coo zH3wtscQ+qdl2Z2eX84kQa&K=i>g)U8wwq%)c|!Vb`G4Pqmp^*6V`&<%T&;%0`BPIf zuWn*3zjtrTiN8B{?)><@y4hg%Ss9z6DO09QQTjeHUOHV)T2OP>VfMO5Q_Is5Hb&%3 z55G6_;6r9VuT97Lw!OA~K1;{_simvMzoUgma_*kGH~IIP`yzLkV;JQa^7d|<DxGj_ z*NwkgAExKX{^6XLXSXGzN<VG$&J&KE9edSyr8j)-mX)#lWjs|oeAzW!(~lp&E%RL5 z_U6{+>9?-C?U-efGa)<r{;JUKn)>wfe;E%vTzve6ZNZAz*grFkU0-RxZuj@i%VS7+ z_H}Ej!oxe34Nmpqru+XH85>8+?d*%K{x)&S6ql%~UAePAdwSjpTI{y4)}qM%oQ;`M zkV!lLpChY-({AMX^VA<J`+Zf@c!tD3p5FZZA737t^Y^~b{z|n7=3n0*UwIk)=I*ZZ zR-!W)t}sb49&cRplv6HZvcCKqAsu^rdnxn0GqvCEy7x*oy8ip3qx5Z)TVUPKx8-Nj zgzNWjS7q>(GEKSNxBkY)VsVDvPaYe%k_{w^rlziq%(}HhQ26-%g2jpAo(uNdGd%zI z<8j-z|5e}R%yNG5*RKtqzFmD^&-CT$f7|*Ll$D#$_&nD&DL=YVP;hnly~_J#f4_>a z@jQRz!^J(H&hbS5UBxecC*XcN|DTN4>Z||1`5X2Ay<hw9)8$<P8}zc`IqxvuVOC*$ zy>9B-BfHeJHNU6zN}E4>*e-wU?%la=yswJuUx(efziaAYP_)c4Wm*}vl}l1mGG^~A zr^jqx8(%AjP1paQS-xANre@9aHQpB0*TTxK&n=HwF5fTnbaw6iiIXNB(%=8@*q)=_ zIhQA%E4zOG-Ggh<d5U`fcxK!Eo@2j0Ch_{by?=Jx-<W@LNxbw%qnSPljb{y`Po6lT zk+NF4<1*`UH<vf5{$*14>(tlp|KOt-EuxoRG<Ea+H(&cse7A}C`|I1m^Vj>or=4l} zpWwUURn+Tu`~TNTnPePT>OH-qxA*Cvd7nS1U-<Xyo87&8cZ#py|M2;<Zjgi0r0vIe zr8Ydj{eI2$^{PSJudH#rs%57Vzr*9ImfaN&9*v^?cjanl{4nO!iQL!K(I0M5_h$2* z(&w^!jNVmFTOa3s<hb^a&!^^J+4(iBNxr6mZTsD@isj}9a?C#0KR&iWsYrHy&cB`$ zFL<}?d>_a5<>lK8-~MOZ?fTo!xB2<)_Z6RBrgy8lZKzwlVM%{)N5oTetE)f0S?5<g z(dvGB%c#Np*kA4NPv7eQ*X>{6`#D9z^poc47lF#3*Vt5jNx!xx`uH?m!z1BV$+7iY z*`2J~KRDdp7P9u$;qv>n?m2JF`2G~0nAP&OF|0T0;`5KkGw-j{P5aFIcit9IgJPyh z@wYim_1zm153}ttdB^(i&u9N{wZCP<`{G&aSH$czy1MFTVf<;aEqSH#^QLM~7MgnM zsr)~d@(&+BYObsm05zaWWu)Sy{y(zdle0VYzwQqIgx9kh|Ni>6(08`kn_p@A34go5 zHn~0xXbRm~l=|xax9~qT>(?(o6(zy_;Ne5ZxmH`>p4;~3;lsw+(Fe0%xVpHwoKkKV z_Xu4Z)Vk{WIqu2g=TA-j`Fg9dQ+G#4M@WiP5~$r)XrvkeY8m=1WAS!zaXE5wN<wEx zM~B7Cm8;gvm;O(x|MqaT=1M&-cNZ6zB{?gfJj^TKy=wh@w+${XE-rK4w$&X^dv(Yo z{kY<x8w>XqO>I5@YdyD;X7n<fyLYZCc64~~x%zEbrq^@kb8o<tv?o)yw4eW_&;5UW z>`C_EHlEtY+~MsCN=lU)K}}1aczJn+6{Q;Nu$pvfoow(tzmie`C8bHthdHNB($>_x zIeGOC-v0%q7E5pG#_lgE<xo<Z#NIBpQ+ub@tUg)mOB<8j!`lN>mMXscG$E#RUPbFU z;q^PLcmxFt7dp9bknvr&>D~-!)2t(JZf-7~di=<dI~hGejux|GRAaYocwnFTr@&_N zX-zS$-O?)_W<S{bP)=21?c+_8*7mLsD=Sn{QVI&<^4XA=^5oTtiOO&8?VTOAHtKFj zLeR!JJ8zwMIC1q&>B~1tHJbld-<i8RulR9Ajhc4(lIa0UT7#8Tm6Xg&X0<h$WL@d# zxBIo?0894UTU*b}wH9A|v19#u{k2hBm2`A?{QdnKVlIcs$;n+=8$F#{T<^ni`TBsp zRi*#FuCKqiDb<@nM~r*6dA^#J)vO&mESQ*>I5;^MdQaDr;EGU<y<*{`Cj9l))#NWP zE}CRt<7xQvrR3S!*~hP~jow-Dagp=!7Y`0L>qKm5cznD+*+eSy(h^SFsxJx}8Y^z} z1)lq6XJ^O4&Td@uqrhj`9(lGtnQ-@SM{oZ7o~_2fn=Sd#!1=P3o7%U{_9tf_Wtv|* z|D5{$6oL6uI_pK5=e{@ncwS-h-9tb1zo!dq)t(z%AF(1x^4AvQ%m4E8D*LRS>YUD& zDtNql>f2kX`IAd)->vZKnNck2&(ADx7v6d5ok01$LmOs>uY8-I@NR{dd3A@2%aNmV z>K0u**vwx1<waoG+gnrfXFqw8^6bpa!|L;E4m~*7d~-{taJRVrxvP3QIz5ucX%i+* zI&^WdJ0~aS!@b|{Jw7wj_{=QR)7SDIAM5p*Z#VbX*Vmhio_gKdmV5flOyi$lF8g!$ zT)k*vRrbasBt+!l!-q1~Wj*EhYp;iGFM8^=Xz^lBK0Y-qt*!|ZCOGw9d~$N~&yUCD zD<8IsN9-!m+*|cE>FcYjN2_`^mAt;zyJCfgRmls7kPwlH6MxRXd}iX~S10ya%znOg z=7B)@B?h)uQ_t@^ukdoy(RF8^<zJrp(^G2uRg(=VKC18b-|gKw`_hl|<=5SJ+1;Fc zZvXWqkDfAap7$x?lLCL=yi;4QTL0ob_F(s&h_6XYZQR#wnx0#;)kr#itxs+}v##{6 z!k?>Jb?-+#zWFbhjbW|SZp*UeN=iYiENu^RadAC5XZ`-k;(ohBNgJQsOgk|_(In@F zKzVt&T-6K31{>i`?ecXq+IXdJ<(0p>(&^SK#V8;yp03^B*T=S?{{O#<%F2tI)BSgU z`ePw=e1f9$hi~7O<=)=LFvq6yQrPsZ+t!4ykE^JzzP!8qJ=1&P2bY$5OZ2+wh;dKX zi+%KN_xopa%kS-6ctgh4Ez-%^`R$`Sn^L{^6<QU=$lerBuimwJW|keBUfjkFU-wI% zxiR6?gYWA;9qpIgW;VYj**E5wO~SF$haJA}pZ(?(<D&BD_5Afm<~FQi`?FetqxwkB z>T;8VQWp+Z$-7=$y!E7*vzywR6J8r;X&e+1)a0LI=gM&{aE)Q|u?@w~&&8Cs^T{eH zDK#Y@?<@TH$koVrtuov5b8}B$y>|Qd?RVSy`}^NkeS4y-JyF7<U_tEf;N^Z#rIQ06 zefa*JeS`1P)U9Xl-8+B&{JVU|HXg}Cdn!Lyyxn@8VMXX_F=e-&4Zf?zjvJnuWPEPV zuQQKM6zb;0cR6>n<<<OHBi-(o`sx1TnKl2Mt<opy)cmNFdi!pRn#M=ZYqj!bpI6=8 zw)}j&z1s6hYp-YjxOeB|wpEqlwZE-jNoGczK5_B#%o>r|$KIzKuY8uf;N#j~U$q1$ zep(PAw8r}Vp2-UqC`{9fowYje(h|=j$B%zLCY>)JBH|JiB^A57Y^!%v*Q%<ouZ|o) zzB%bASF}-xMEcQ(@86$)d3m{~kB^FiLc@_Ghx~ut*jb!zRr>0P{{BCQ_SOFG=;%l| z)+4!X$r6jcz-e;|#Y*<bSgvb*>s@Fl_3)dOTi*KQC6Djs@yx25s(rI=@t#@zjmDi~ z(|T6Al+NEHtnh!;HM8_dI#)h!&rddSNLyB_JN+O-eax9^lW%EXGIAf?&kl<Gy|q;3 z?Y?7qRvTA!cvuGJ$WLeImpijD`FPRP^puF@PG{1LH8nLW*J*35lC!O1FsT1mGimZ< zPcN^e=jZ13NE)l%&z&RcUQl4bFmd9<n0+-j7k+hre7yhpg@w*nRtC3MzuU>qQ2zaO z_m=L*5~-0}v!=$*VV(Q^)WpY8H};9NKNnxN;cdO-9M4S?rZKj!Upsr(@_%33i?{z? zGhbG$cG|I4dtH^-Z5w_Uusv1^%E@(#ioAX1zrWUVy@(%=7qwc>U&dIFU7Ee@^VLQk zz4)ygOw8W4Jzo1L^R2esMLW;z%U90keOVJK+#A=~F-82SQ4{O6eBo`Gm)q9w|95NM zpQY2|lD@sU=`+LN;53grYu?@6{rL6k)3>%}OBy6F$jQl><ldTcu$le&?%vIhUR++z zfAZwXntwl^ySTbqZt;D8Z*Szb9LaWm`C~~NFYKu-K6L2N9J%PYYwP3B|N8p+<HwH+ zqqpa^w6#6EeGTf_RdH<7YA3pVO3iM1`a1Q&MFnAItC)I=^1bI>LiL$1?!F{x^;qkj z8nbVfwB&_{zob^{eV_H=s}ZQ=o>;u@(d*O&`PSKgjbrcrObC{`yeP<X|H=A;!u+!$ zww;w?kBR@0XA<=|W`ioPKYzx*@U{De1U2<}9v|PIQdxP3W%r@gn%8!U%{{pHkH%Z| z8eRVMg8hQ*ekq?0JrenM@l0=_ZMWU0a_{T<mi2M_T{V;*c}=x>6Tkod9FvtlmT|Z) zNqDXw`QyQ5lODDTlNC4ECcC;EVg0g7Z>gW_AI8V+-*#Ft2?`dfsYZypWX_d3vr@^I z-|Fyb`#p>%<)sozN|T)Dafba^^FMC)HI3V)6Cas=>D8CGmOpv*VU6gzA7SSM1qH=d z1-|6a?|(IYwatCOHLd@zud{e8c=EFOaoOLt?i(+C4skiMRn5n8QhMb+&T02vxOmyy z`n$S#sn>P~fZIk~F;DKD(BHct3pD)1_0l8h;C<mM9Md{FIyxq69>m+664DVA6ckhs zZc<fJQhJo)1!+I|aMDe)@lGoSK|#&vWqLiJ#*?0LS%!Z5EzN^MnrT(WlRjlUnfy0a zw#lP&_U4S0hjXVUbWUm5CTqRhie=@2vLiVqQBG67vL%-pTP(Go_{ocNng{33?QyB$ z?Fyn7=G|Y%aL&KuOkUI>?H~bAb5gWnv#`=;PtIu`j-cjb2*WwQ4ii_6AOncxG7eX- zu$>+otjgYSIQaPVbSn!M_DNUz?0!_a;CbB5g)JUSQY@z=sH&<Ork|79_xqi-Ui`kE z<;&Ggv#unZn`3!Y_C9anweGqwdj_^<#`^mDsO@=YLDkfkFMD2Ae0dg9IM=p%nyUA- z4dw6S^kQ~2^!M{`zgs4qzyI&H)y~>wRd=TIXG+do$G7lK#^>+98Gck<H|Lw`ee*#; z)7N{|?>~OM9{>5*>-ELwZNGo`eBOR@&dp7a`pzaE{p%zvEbN?>r6phcMR0Z4S|wA{ zsfNkNL|)f={Ve_VCURcgugpuAE^+YlFR%RkY>riF*NGFapPvr;q<HSxn-&e-!;h}~ zQ~95~Dmm87a!SJA4~O{~OtP+U@bmM}GR-~~oxeBr`mv;q8!A7iEn2*|v%6baL7`#7 z1c6;8FPjb))V{0#{q60V$jxoS>V5%RvqFD;fA3#VP%v+PR`Ik{`M^^`!otbd^{QvD zdEG6p|Lmmt{3DkyPkwrO`s0@`PrkgoT+*UIq4d?2#E*}Tw#qSsngaEI3d7b$9X&VK z`mNBKt=ZR&%HPHGxGC@3w{J_<)vgU23~X#|KliBbx7hsc^2FrG8yim~8O>Y~zFuyz zd;hY?&1tRgmW%A~xBJ!c`T6<JXN=E(_`d(YY(pEbv{Bukis;#g<bESHE7g84FATfA z=ihhp&o{jM{nPL5sm!^%Ybwa8yX(zA)fA*e@3cHuH`&koI>)rlPs@EapW>IhalWZ? zv*o|f=OudCW|`!=^~Wt_*}A2#BvMDrto|40#n(!m*0r-54mddN`o6^5gMat;L`_LP z)rh#bxR`x4Ganvqzq~3```wPmd{JAoTIbK7zxM30Ug?>J$!rG?9t5=vPn_^bJ2$8E zV#bo<^w*wZix)4RX<Kck8?`0j-=CinJZxd><9rJW3>pseH~7u9GE6$cv1iYoqN`7R zc5J#+e!mvf5%8UD25KuMB_}gx+}*X+`TNY+a~6{)Po8O<&iD1zRb?}?X_=RoC7R8y z{PlAA=U(;wMFnpn#L9H6%HEtfF;V&E=5+qa>i*B}mfugkxX9J@UU=a?+v;x&7gmL? zR?5G<HrkwxSL(<lRqu|ju0!X~_uJL}y0KOBMSZ<-|JteA;X<;qzTe;71yv^A({vQA ztgOO&V4-Pwe~<OH;x}9MpLNfz{Jvb%Y5D2*Gt#E+|9Wiok>hipO}(yO{5-b2_{#^y zu(dyCJo~<d<-uj%z%zCAQg5xx9?kupwmI)BSK2;%-X1r(mv`14`R2SvChF^tH=EA~ z?X4=+i`j7?eSYn+-S78#@2~rNV^`_wwZ7N5bN~PQ`|;DKMd|0~l|4=PTf${f^u&XS znVFM=BjL)5z-?9T!fO<r+n&sf5nU3l|2m(2ZS?lOo*tfU`S<x8W}D^8+_Ez@ojO%J zoau&}?55+FHzYdWxqG+r#lm)m8(Xu(Cq6oTZesGxzxzI0i8;6N9K3yd_O{&HOa-5w zoUD1jKKXbbYuu5YlO|7Q{P6Xw?x$@F7cPXfQ}Y?N<=mXK+Sl>_@7a|(sj4n}tG;gP zR$Tu!@5|2zZ=O$znLce|X8Fx6UspSA2az$iW8a@&)IC}6r|ji9Pp9j}9mz16G%Zt6 z^QY3;S=$pH-M*arReI4ih6}szE8NkpytwrEV+NP?-6cQmrcL(_v@mJ9x+&FrntuGb zgU#$e|NVY{b5kn!$B!R%qPBGK$yzZ8h>NoyIMB%acAIVKt0`}P-Q1kcxFT|M+Qg<a zE2Fk%x!!x0U;kSgG-mYS;b9jSmk+Pk?+;oVWjf0wGw8)OS?jVR2?n6P;jYrx$0jH` z=U}#U^&Os{o2y;a6DeakE%KAK*uQ`O7`DA!yk^IzMPKbyS7%*aHOIbw-jXFMOiWB& zTXL_hD7<!mk6b$I-}m{?Hcl;#w@g0qE^QwF(T_2cUVo}8j`)9bdP(&Q`O0na|8Gub z-M27<<@C=_R?FC$4~E?<zhE#;XU^d#*Vmlp%(_>k-F#@C+6%ka87Vb)G8yJcrP!~k z{dL9j@BWwr4=<ZY^t#P5&34<IcJ{@UmBO{Zzdb!QReRg7S65dH%gdkd64lPp|6s|= z!Xh9q?_X16Q~LVa*{k(wX=-BKtjz}lbo5u*R)0&mw8V2w)K;zye*9KOSz!T8MwypX z9zA|s`MB4dgNsW^SGRXv>~66c7etOtOn&Lp+8d<FSiEkUZuF+q(_;I6KARnLxu_N1 zBz9>~vbW27w(%*Xsa$+?!rikr@?DR2s$75ioo#p8=dvohPY&xg9lAH+^4GSvCjS~u zEv6T=eXgIg{M6QoZ=Wo2iH^OtG4FqY_`iz}6aD^F&G}!qeR`<3_{M~5CGWU4>6w36 z{mlQ+Op9kaolBxhe?Q;;FJAThLd`=L7rSpReI54b@ncVK@5dJwIx}p^xOnK=GWUKt zhBNc+=RbLpGHKGJB3-unHye*L%rH*pOFuvF>7AX$XJ!~OH{9Bq&AcJ`IG<kZt|RU8 zbrpxLL$_vyKKQl#t4{9iZCj;ncTfBpZkd{r!jND#+tbtYWbwh8x{pu7-<{Z4vTVkT z8BF?*Vwl<aj+{T=f3#bCbM^PUbul{+ZA?Bs!=|!m;q7%%Tf0tA*WX<AHEY3#Cl<>= z*=Ft3o}Qj9-HN+sSK3)@T6<^5m!2~<`r77so3}>qER1f<-JFsVRZ@6q=~?D$&#$dY z6;x4=SFrrawA#LpVS(@Ngy`KT*Y`Yrv9S5dj;(xWXGPzyKl|?8wqJg+YtO%5%5ATp zso8nth|9M(zq-PY+dlqOtD`@CQ9%aF>GS9NRlTQ801YljN!8WWmAt%kG;h_K>hJG< z{Q9-2>}?bqk3>UzJG<{}v(yg{4sJ73R8-t%=G@MA^!oMbjLd8d25Dy`($38}c{_i< zZ&g**#4@Gjjm+$uQcem*-;eZcx|p$~`un?@4+q&Rs;Y{<-z~p?<uAjYFPFT}%(I=% zDXezmo`MXh<aX~{Iwh8ok@3td({5GoX&>J0eqZ$P5bK^jdsf8nuUmL~UHtxeUteE; z{P?l+_Po0syu7-XYVV&(UhO~MPDNe)^Uvq=g+)cDrq6~2UyswZew}Ff*8$e<zlD#t zw(uQ!k(Ts*`o<oqj978WfW>OIzjzj9pRe1N{MW-He^Hq3(;F9^6E<G>(zpACvBsIO z`yVgLRs8<3DfO__Jn4J<<>maZ%y-S5S3Cd8|I@5U&GL(vzZtEG=a%|;H)c_=)Z6>} z=cmuFomTetmZ9SDx^9v7mE6jiw>KJpzqY#OaP5mHbBY#!`%~5`YbgElcg4MUFO5}C zwbv?7U-+};q~j8s=&e<z$?Z}5P0Cd+TDfgae9ILlclG?byR#>&P3@n5s_@Fs&(A;q z_1e|pQ91416Tu#ywY|cc0j-`JjEsypczKt4P1Umb|L3zw{=GX_6+1ho%=n_TPF~X| z@cQD85ED_ggGI%~m%nsPiL82a>g=h4Puow-u~kwFx)(Bo#oJ|xQt>~IY0EfVxfX$V zOa<R6C%_t(swwC5!@2TRf_&!86|k&!@maDbut_zD3DkNm<p?@hyRWi2`1kEsPyV@_ zl2(mSI;!(}j;4}QP@%<_U`x;t=pzeI^HfO*eJC_?VfUTodObRw7A`I>=L8JRU~2(f zytXc?$vn9*U(k<BzV7hBj*gCwDW#pAoj-p5oH%2~i-2lh!LE*u4v|GGjH{q6{xhkZ zVF3XFJ9o*0`Vcy<ejE1v`<4Cc+gtC~*Vc0K@~Wz-9SaM;HhJbIx&0vH_*}g<^vPHr zI?^dDX;))mXlS_S>$T`3$Bx~4_5JPb=U*7W<Giz!R3o~@_0@EAddlA3dieCI>)&5r zXWCS5T5I>4BOo9^VB*AypwTKmS*s7{tlv+VHZAS?{bjzhU)<eo{{4QveKR}%vl|<e zx9vJ}#z#yy%H{gH*v$L;Y}fDqXBECKX5(vnE2~-V^0iZ@=|(e6m^SU${{MgTZ*9-_ z_weAzzP4uL?)~@c|IZbVt7!c8_V(p<vDSwUANKU}+SF~Up>ZP5p6iyIi;IhjzN^;; zJ{gMx_WwTex8Kgcy{(s(TWmwpQLehbU&ED@l-|5bPEM|TzxR7bXXnDw*VjNE-L^|q zJM6>T?e{^A(?yFHd;0sQzq_-u>~{Unr_*&JH?{1o{>~&ID0nb`|KDS$rfSc$ueY0D z|8HmP@50B&F77VRH_N|w=2)*ZsQGbiP2_>E7q{2`{&utXi0GDH(71hE*OY|0*5!Qh z@$v1q`(>@C9XQ~?#LO&dU8XbJEO*oD`j<<muLxZ&2AVIc|Nl?Ms^mnNxTxsS9fglU z!lA1|9^Oo!zjb!snOF7-3J1!nFE8^g`z|Rbmv_DHXqPApE9=9D4;!~{H(%`53mVK| zeRsGwM_EZpNp!Zey42Z6@8A0e1qn4aHu7y<AG>?o-LEYzEW1IK;q7(dt3o=bOcA;L zcE=8js_*Z38;&L&Oxl=WAn|6~`pC`8?!E;n{k<l5d0*_`MrQUImc?rA{PNEZwQ@7; z*tt`52fz6ykQYO8T%``~`upwn&sVG0%jDI+x}tge>tuC*t2r|oO)I;)x*pBW-<NoP zp6#2vyQkY$f4i~u<jewAHnwNG&c8X<FYo{S+}zH-zO?i6Y>yl}HfiF-iTU+?U>{5h zo+z|N(Yei_{9Vkp{QKwT*Z(`YG5NTJeO=AIxA$wm#|jAvd3bm{xLbbz=|p$A!XNvp zzP&j)JAdCv(7@Bx)!~)}4;Ye<^=KB%ZkMmS@y>3!-`uS5`lqKvLFH-4N}<BS!aYBq z%`W@8Z{NN@pHAz$LXy#PCDn*tDbq(&!{ZX~?WqKfTPGf3xwSoie*W)mxwnmSZWzeb z|0&G6zV7UUgUz!0)?c^~AXo8#@zCMJoP2!G-fq9IrlPXsKyDk4q|@4{trdSh9+x!B zk&v}2*|56)>C|vgK<3`wrmCaUBc>a5<0`+DNr$3y+l|`p4I6SnvmQl8J@Wr2J$=e4 z{D#Zj|Muw(b-Ec(rk}ggI??<~@_9!`M=O0$uYL-*@Uk=MK|cy^_uI;QZqZA=zoCp( zzyDSG^>1fACx3|sFNiq@n|6`0@^wy1QVJG#6I=P%Z{gvY2C4seSwVvZLDNKMCG^VP z;<mTnFCEnm7810y0S_c7^<9+0JFsB6<wUHDi;8!k|7~T_<2M%WjgfU)xsb(s$&8n0 zJx(p2=>M&}lq2ZWnaC|yt}0H^^4j3y<#4-iZmeumNP=~enU${MsVZU9-I8-I&G)EW z%HqAG<xceaO{<+JaAlm&4`+C;?viG%`%qM~Lr6z(BG-YNoD**@Vewv~04nXY7}C{U zW+{ni&Hzg~1h)i*U0of%{>1H=9R&xU+J6pD6JFCNYt1AeEd2P9hl`7sy{b#lw6ixY zq|GNwt8M0-eDetZ@BPbzQvG|>lxIrL+*193@r+!WkD75V^Q~Q0F$*|2!@Rt>_Evp; zbZV-0MOD?Ns;^l#Ha0n5f2!J~8Va83x|w4Zyge_rjaS;OTTC}bX6h7nVKtwG_xJXK zYW6l>X{LfFCj{MkrH=0Xe(&@W&&e?|3p<i885zaOI&DNA8#q}|T>SX>{JJA=@{$f; z>(!~s6`W@`k73EuWriPiHulJwN-f^_rDj5b#lc%Ui`B!|MeOhW^n8B(rtIr_x3*@7 z#}w`i2{Wqr^P}+4p+hr_Qn|Fl*Oe581j*Tay%JpW{cbs^W3c^xopi&|Zt-NJnH8^A zE{~C!J0<;`U&kdQ9ly8hx17xXf9iML^f0yZ*C(dlyer#$v0-_?dhOxgOdmepmJeQ8 zq}t=AJagvK=l>rUG>J+}b2~J%@&5Sve12zd?^e}_NM*a5>yIBf@+5j*Dvs%==-F>? zZ{M7DR?2UVh2zy#p)c?6w?BCBVA;mGmc?y`$;T#4m~dc$WAlsa>*d9|ThGom7nYUv zjfs(AWMph<X}Pe}Tbzf@dEJi9DgEzf=dYO`q7}O8$%{lG&49U9r7v!6)qZ_#EojNn zk)(~F0{zpC<o>|rezFYha=Y32<x&ndvC7!j$t=F;F<H&`#l^+!j*gD&?$~M`oikTr z$<pcP1=r~Od>bG3^C0u@NP~Q{<Msa}7hiOkyzK0Yi`r8bOuIHwulwksXa4qzRk13C z%l(A~Bs@I6&nw}4nOH5?{n+PS-j3=WkDuio$}qX`|L8v+X_FpSdA$w2QK@NB9{#?i zg-fnmPDzN}QP5cX`&**X%!-#wr%Tw?SX6(1_w>=x?jJvX+)xd^DLm!Rsm&_t>c;8k zWL{le?VgjPb9tHX;T*HiUoQJI3&_fzeRFej=EX&<pP!#Uo?x({>TA|+me+T77Pqvw zPo6O0z=eg*oV>iO36GEUo|$3T{NO>tGXMF0DJd$(>F17Qm|WVq`LCzEb?K`k9fHaq zK7HCWwf6tt?=CJb58k~ySA5>~`Gtcbg)aa9{k^%XRJ&VDmuW%P)m1hhj|gw8a+ljZ zS>0bvPp_|2SpCwT%3@HXp-WVIN`mLUA~hb_+gr;rcF)i+dv-V8a<0;uN%#MyQZN#* zc#px%vpaUqHkj@E<-ILKIlnQtUCe<`<<mY_UwR+2w`l5@DJDU|Uj9u_FQh!}lePBn z_g|iRdKzeEv-;i6_Ag&bw&mZi3of@yIUyirmea9&w>7`*7XgOdWp6iKT_3w!tYM<E zyO4y0hl2ydVz=H+uOGLH$0_LP^$9Aw-I%1kK`lL@*7!4Qn8EV#iFq-MI#F9Vx{o?V zL`a;SZGOI7-m2_P!~<6q_5A#N&=AVMzrSzpueWbz<2`iy_U*9uCz8Koo43-uDLc_f zRag1)yG@y|!&~z<XTA>Kxo!8o`AcKsKHc6=+E{?t_l??o@7}$eaaQfjyR<vnJ2xks zbc!ze`Y2l8DCtJ<l4VN@zIu6WJQgUz*PD=gcb8}byL^p6!-EG2-`?Hz&dJGHcTvGz z)~ckVql2SQ*814dZt;_6w%8S(pKG0-UHt7$BtzD<H8b<=IXO9h{QP-wp)>pLPdj#4 zFtG8-WQ5nfy0S8+He_{}ZurfQkB>9Hei7z)>e8cHO<TFzFM;>!|JO47`+2_p)>X?- zH)M@cI6gl+`*`d1IOYXmYomH344cB%Mu{e037YowE8C8LoAqCQyI}t*XaB#=`rI{_ z*K{aHpmzO_F$a8}7A-0A&BXD0q&wT=$9~Kot}L)CtDR$4y6KMm?nenmvkj_e6n_73 zAf;^c)ac2p1((G5Dn8BP%GAu%>$w!SkTcB5iRt(E_v{bWZol_v?e=?{uKxXU*<VFP zML<F#;)(S<lT4wHA3yH-cubmwm388@X>Qlo#pZU3IXE~leEj(F$noRB+w<<){H}aD zHM|0Ze?FZ))2ejU+u6NWSBI<H+07Hx4twzaef*OjX1TYX1nfTKwsJ~?XWXXx%c{?- zc--Z7&$TXJ7QEaK)Yf=&dwYLJ2S?hO84FpwKTW+q``4_qw_pA|!MyVnmp9X;)0vYV z$VW66bEaGTKVG@&$1kP{bEaghK7H%`H~#X6^0IQzj;ufa^L=@B<kk{F?lj-$>l9uW zUsylOo-_T?jLj;OvaY_JfBfm!8=~r)cXO8Wm)}nMUf=sqe6oGj>@?rm6RS*HuV`y7 zS-NCW)z&X65v_iL$BrFK+89ys;UIfwXXnP)TU)c+k0vGF-j>@?D$5!3|I1v}{hxYz zcn(x)wM>~JBBmcV=k-4M>NkcApjq>qo6{}J-^m!Ko!O9G{C@9uqp~*<eDZc@o}8S# zF=Ea99aUdmFdq2x^RuU)pPHs-=UnS@qqH+K4wXqBc&NGW&2g3W-5!CUL}FiO)6OTm z$ZxLIo#OMh4W%5hD)uiWXa0-}%e#}7y}ju1Hm2KYCr@mda@u<~`<m>UaNTZD@BidU z@rb{LEDX7~Sa09*txJ`0=a*e_Y;9@AwL4W(@|$<>Ub`<i{PpLGmxuU0yu6eQ4JX>} z-uLKg;rSgk^4+h4=A4m}n{g)1Cr#L`d1CJEq>U*llV(mlINf@`lBw#{Evqw^ESs`W z^U#`?2fw|&eS2#8iwlkV`+hX7jovOKC3WgRBXi`Y6i#L~9)@-Ocb<g*yX38JSp6+W z&1Xh}_qHM~PR@hZuTKY!ewVxmsHv^Z{hJ~#BjZz4WK{h8+|y=$yM!kvCYHRvcX!*{ z21e!&A3iL|yu6G@&gRC&WaURfeKuv)-`}0xlzQ5t=7)h;ck8pWvxUXPo*i1TbjxXt zl-@I&zHa2(TD)cdCM}f`1vhiy-TQk|uQ<H^b-Y2!^yS5Lf!OMAo8Nv{R@~bewRK9e zJAdO*r_0vw7M)*U5M6uRz52o1$ET<9W>@4@*x$KpyW;+fvZ`;jo9@W%ew4B<<=B(F zP3vsWo_SJl|M$cv&C`r8r0-2n+kQ9CcT<q}d5&p`e|}8Y(f6N`5N=U*E3WNpwxja? z67g2mpgNye3D4Vob0IT0O5hos4a#ZCwes)ZPWd-&eGIQdM*j0J>Q9fay1H7@ddu|7 zzt@JZm$N?i_Cfpqzv8F21{*Gk@lE|0^!iNr_jV_by_3AMqO>G4CC}7XI(GgEIXBVe zwZzr7t=bipA@;j>nXCJ1?Y5t)tfbWEUH)l>r`xh?f}STcU(f%4{=QG=tf;1m7Ji)5 zIy_h>ynAA5bad}CH<i=*`~SAhpFe-~VGZ#5BvFU9$@_Ocdn0H#u}S26Nqk{Ild4h> zqeVT7cW{dmYaoR8`;IrXxj9j2)AQ}x>-ZeC4ARwI&dCW1YvxY@O=-y*N`u<A1@rUo zJ-G63o7GPHiJ#m!r+FA^_kBLp(c$qj?1leRP(R+|B4|m0pdfsGRM-otH7mK5y_NU` z1qCMtt<}iRl8t&|r&;rZmmSoh3%aJNruOLh^XDHTpPIUAC@Cogbu2pfLh~TXv|!j0 z7HtiU4##G;r;&P~L5DC`xr3iRetfw3yq$Jm1gLv)s#Qrn;=J8&o#N-`RCRTA&;Pn| zC1jcJY`5ipb1PmfY@cD4E46avN^{v2pbl(g;1ibBb$@?t$+*~b;>4ct%ldJ9W+Wf) z+gS24$nM{d<UToDFBg|1zU*2c7lqxqp!8i(*$vd|){EOSV|Cu=XJ>oh-Cj<9{`Ak! z&cci?bmk1(nsxQXy}j0;)i$B!-`+%KU0;{GJ9fFBtdNjUo{bYIER3GD`Cq=UKHh#? z{(Zlgm^rbP4h{_J{`0onwJUtY(%9H&F1HZmRLSDQoYUId*`3?@Qop^qS@v|URcX?z zD=Sr0R6tG3D=ULvURik=?$RrrZt|5+1pVe%B!-)nya@RB>-zprM}+-991->}xShNG z<CDq$_d+Is0x`AI+5X#{)cgBt%eM2fF?&zb*{EGyUaoFqGv~vH53~FIK#SLSE<s|} zVkUGhwm759z|e5wO772g8$n^&aYNhWpp^9%@w&P?A1?Vgp^u=1Fr|{OAG{>4BY6uO zWQkl?$t*TOO{=x>A``ok-du=V$G7lG0BES`R@s|3uLPDb-4@(D5!AKviZ2$^Wi5!R z52{PCH9LYiZJJPKY_T;y{kwY5Jy3F6$#5p`Tx`+nH_#y}CDDePPoA)xKKZwEin-SY z7Z)uCUqP?P(DiY9mGX-p9%7w7KgkQ6brxtkX`X(TGpBd<N#4mfTTbRYYX5sbc;zN_ zx5*RF^!VJe{lJjMZ>%<X<~GLMSXsRVEUQmg!DnA5Zpt{+!U^jC-`t!InsH$OH6B+4 zF5dC|UiD0q%t_tKB7&N=ckbNz@o~Al;qKWtHk2xN$3?d+?^kEYT$#yJlc%uQz4us# zj&0|DXU?#&pozhe9!6ePidw$MwY0@H-}Je=s}$79){WYt@zLVRuI2Npy58^m-RIgZ z_VL^8eC7=mACr94g#B&5PU&7e`IC;W^5&55;Za+D{;p-H+51|${nXNw8F$tyho_a7 z^SCk3vzzyY_dWN4<N5VIOHWNTkm^lIi;9tXS?VfvP>Y*0G&4}DFEotjc)z^5j!ute z@Ujg>Prbz5LpNSs8Qi`ucK4>dyH<67KDz6Oao?}|t=n(=O``PG6~+U&CSMa`zZZRY z;3%dOap2?Q<AzebCYhI7<ZP=1L`0sPx;r^YNB8i~e4BIckb7z7cWmzz7MmxUNWJ)< zRNuxcb*zbB{D#|FBV*kq%a`r4xb%9Ck?V}&E5}ld0@ugcy7kNXZcaO!^Yr%i{PeT4 zOy^h>HmwR>eQAGveN%JuXPK{t5<H+DZq3gk8(Uk;+FvHj?0if7=342*?Xfuj`|HP# ziWU|#9v*H_Hk$e7RdHX6<tMdi^X8q~Q~CMEu2OAr{kW1t6F1#^-^MF_V?!cy`nfrZ z1_l%KVs{A$2_@~mzo*aL$H!+~5kEiwt7~gdw{naBc-(KlB5tqM|6kYlXWZPhG<J9X zzKwN{R)wsb6#UIG&ktKK<X5k>xl!^lo~GvJnRc~S6DLkQGsjYR@kNj4=dKA)^P6Wg zbH@$~HNQC?pP!wzEPBGB9kwQ*N%g0f_jdWhS2xyeb-sPHX5;0B|4z;R^G$#Cp9hV9 zb!M2)er*50=VHbJ&&z3FUWj@Hc)#|Tel#iZ^YZxud-W#mxV)T`gGXgawg0Y`FB|q= z>wfH$W}Np<?M#~R-)jB?cMqRw;uqiWXYSKK^S)Szua8l+Rqeep<<jH?%hFAol8^Vf zxVj3;$(`Gne7xfO-SXVhix)3~2AwJ@D-G-a)hzRyd+Oog_P5*KUs)-9@#4iJM~)QS zul-*5^HZu>?kyIFoE#m7wb9S(0$*HPD;*dZSn}dR<BAm;O3G{PeJ9n5XsW3ld-n}A z<!o1L_4W1j^rxq$ZppnpZKiShr<cp;-@3IXX6K|AFEW~%n>)L@lvGrnEb9*}DKXic zc6O0#w-`uPOgG9P{hZ9A#fyu#o~^Ul#Ldl}e5^-u$&w`nUtR<{IXP9l-}~L7_!-aU zw6mMCfB*e{UszDEarbWP^S0mb_#W3cKY#o7Y{zD{jrITQzP-PHet~22hi~7uT}`(Y z`}O^O|McnNw$<OZXtVDqc`4+!Sg`x(p{3r_cl>_0yYl(ma<4M?B|e^~Pi)zpbL&^= z!rLHn-P=#E*YAk|_l5HJe$=x6_nm#7ym{l%(@HPzy)Fz}8<Dm;UVd-i%i#OZ)_;}W zP*N)LeS7ZlGvAkgJlU2p{e5zw{O(5&-o5L)nRDn(-m$%tthuM@Y*7u@-}hBXxy{x! z%Zn>~{SuLE8P~uif@|g|Ygpd@(as~;w0*mI?(J=<pPrlquR`2j_BM*atxv`?AwdDu zMLe~2@AT>744~DS-{0L`6TQ9f-QC@rYk!w9+}e^kS$o}u3jurf?tOW8xB1137jtfI zYPGBVC9*@ma&M<@^tPTCFEVaxI9~hr_0`qW>+0Q~l&`V-`DC)q?>|o_`@guiw|d`k z<=vn`$~==*!OQ)&nZMYv!(#WgZZX|MNgD;k#N0kVJ1g5~zWkEG)5v)?zg{ff^Z(y( zhCiR@|KGCu^e=fn8H)?+{#;oZyzRAf8xLsEa?iJ0*$h`!g?0-nyMbo<lX{{~ZQ8SJ z+qL>{s(0mnxzBrhz5ZKj<K@JswX4=_&^+WVuAgKg<#~F`gef%>)6Pa4Y^>yt{@b>~ zl;O)ebB^y`aV0N5T4>wFIeppX(Io#e%E&sfZ^jw5GjeHnY;6o?-pzS>?MW7kW_Ym2 z&RI@TUbDCtZ+U*jG~(aCf7kqcujLsVuTS5SetsV7g0!=<e&)rmjWWIcb^qVD`6hXH zW*lzk7ZwyexPJdXudP{EGcGOhT=(|RpFeN@&9g3FccHfMiLcJ;`E&kSEA3C7I$^?u z^!brbZ>HMI-At8#%kcV2hFJH}f36RIe0<zs%DH=D#nOtD|I573y=+37@IAkBj#c?P zpXGjYe>|NYe`9;Tyr7`qnHh%8oYS6Y?-y({oxT0?=ZWk^Q$@{`0^`JYrk~9I&%@Td zcF+3-i8_%M?I+jwvM+e1yWL3RO=i=(&F3~9IX;)|!Ai$(^56XDTSdO>k1aIVJ-gt0 z!FJuU|JPsC8~$9pJ@eWY$(7;39(yM_MR{qh3_qRGRBFt`#MIH>59%uJDt&FW#rOO? z+nFYrLaW2pGOfAXTzNKDT}@3$Kp??-Wkg-R*G<b$YR{l^#$W4=|NQ-HS^6quo!w@) zuXA*>yS5rg9n`X|`tsu79LwSv_Vsp)-FgotZ7g_jfbrUz$mH2&^7eH$wZFbBbZllz zNlUx6tkLz;<hTQ~f1T>RU9snL^S0NlTT7Sh-*m=)1KV?<a|QqUKZkt$%Bo<gc`<DI z*86Ye-yO2IvN_Wk-~ajk`)`}FUMh*5nRPDK@fyEn-PJ#y7Q)Bps7?%7o%dfZIIcgo z(5Sj1!DzPOOkW9Jw{5xIM<*pJ8Y?&Jm)9MQ-EOY_HcM)y=F;@84M+SWKHf;~X9N{G z=jPd--dX&7hGDW><LxcEx3A?L(O&;GoMCm?+DD(Bo?a8TS89X5*s8F#Tu<g%y}r1Z zo#FHI^XitCGnXt;DSLP4<P5{)oZP17X2y=5o-MEcr=|3&Jbkm-d%B+a-SRlAvNsVK zpIEM6U-7hj;-t%atILn|%Y&Axg4VJeZs$)wJxv$X&$_m({QW(h=xsgwYJY!v)U6L1 z+fwtH@c`V#I<Y~dB66GEwA9zh+_~wm^)CnM>F3IA*!OOIl$c}DC)P=m^*8)_%)xML z3-`9Iv;Um3=##VZ=#74TVa?93U(D0W%cE<Tue<hr2G+^vb>4+W;YP_t=CRS$vrhi6 z`!(^S^RdtMhvOce*r<Gc(&~^)L8o7Ege7Kg;1UuNYFfWuKl}Q+)E5^P{`mFFDB(Z@ z({@9t-jetC=JMP9VDR_%f4A@VJDb~U(dUS_Ugedsn4s!C?Z!K8?Pu@q?!Ns96a<j9 zp;zAduJK2nJ%0LOpV*S}_xB=n#O!{*F*eJ+<&uz~0BSe|i(T-(8Fb<E^Mma2PY$xn zpV|Iz-R^gf*6n_$)wf~E9Ix{w?^bxaS;jVt3Rwv(p51vj{+LnLg0I|ajHX$a7N1wx z_3cgi?f33ZRl-}dG>`YmF?F{tE5GA9-!XC9ufG0o2W}sqt}A`*!<`RxJ9bwG?7#T- z%bVXRJ8jF3o=h=H+)*}f^_MFqZC~V*tog%GI)!?DU#t%Q_^2NlckbiK@-JKV^1Qy@ z<W~1mkL&fWzrVkKezW=frFF5pW9DBd4J*~;UZ&TxB=`6^$TY)5@HE2>!Oauz?X9w0 zy8r6+eM@C;?cN^zYx1Y$tFNy1$iA9$JhE)**X<nrDpAK*n5~IDczW@#n^*T*W(K|d zw{p(s=jWeW{qOJS5Q*J2d3k}+92+IIN%Qa5{a))4Z=|j3mD@CR;zY-c3=Pms-p}Xr z^*@L(D=7tS;8E9Kqxa6#T<NCh_l%H2jjf#1X3vgZ7+gO~N<^@*XS4f;OI!OqmN+am z1NHBo7k*pGXaZf}2%d+I0ZpKsn|JB5$U={USbCmwY@cd?+x(hoM?Y>&6%3!X%V5%4 zKffE0xoM>!m0uSWf_4b~UMU0WVs$OLAc)%gT)dsn7t6G>WzD5v%t>e1GE>Vr3B3}A zO|sTyH>T#^-#2%nvb&Y72FQX<XCAU-Us(~T6Sd{Ux}1-Xj)Hm{E-pm{76*4d?z09p z1b3IeXG^%gF80Uo-^Ise%NZujoOyDQYd2_Q|LyJV&%a)ee|~D}>-~GTrJtAk_4T#; zY_r@KS67Sw|9QTC&K_+gB_*Y$&J(XC^h%j_9qkrp77!FnG_Ts4bd+n~-*3^+&dv2M zDKUBZ^5vPi*4M-SpVD6c;mKtGO}V$tmif#)G(EoV<&s$NHmTUIDG68C$Iq8C%`&L} zSCe&ZjpyHAUvo<X0|R@c&HJLZW(6+w5}jB3Eix%NIrnQ`Ufvwr>S;%gxcvJxeZN8G zC6(uITS2{1&7ddum3X+hl~q()zP`SGd+PC{M?n+DplvqbwMGf6=bPn9af|Dv{QL7W zWNp;cjmgI^?J9jen<pOBo&2I%^r~uJCIbWC1kkwvO`*HXavAdWehu6GX_jfWQSmdM ztgEZ0J}>i~Ws>;n%E|~GG0;T6n%|rg({!Wr6jDH;e(7xH^MkK$ZdT9V_fu{EpHJN3 z>*JmtXk_k@G(Hyg|Ig?1#XmkIUb=LN;f>pN@X)|yrT&Dc>Lw;4i!XXqR9Jlc`0-BJ z?OYyNt1DsmcNV9EOb1Pb$N&2zey`@UZ~EP>Ag``0a^}3Yul9G*RLNd9Cuh(U#M$E6 z?D91e*yU?JxV-~+k9{uU>K-e1TZ@5QTeR>3OZJ-!aX)_kG}NrA@H_$@_IQSKDw5St zP|maDR;34MiGmhSFSr+N5joE}#8gW*@$fBWRawwZG>@GV(wj`nGS*M(a|Q+MoeLtM z;R4#OsMcJ6XeGC@w-tCW$LQtLz`sRPpUzBRv@!kBnZ)bna%$dALHXTQEP@k_6z{W~ zK6^G`QelUOq;Xb8eR#Wq(xafw;(BMd>)mHLof6Wds`T@6c1wrHzfbZ9FLf{P5OG*9 zsHF7sbUn*y-*^L&iGN<2I=QISOC8j5&SDLF44F=P^85RhmBA8crpC&y3Sp?~6%af* zUuccdqPG3=hKY%+YT@GgaZj#A=Rdu&GI)lKO|0yuDaBR21-kzIHSzmozomQa5>^tN zxJSgmb%pr(ON(~R*EdW|WZ9B?+CTgHqsNaA&)l5;`H!`B^rX;}mrq|^=xw>|I>+@w z^PPzsBN%4b*V`R#=ih#{wY61r$J;%XpL4GBvN5lGDS1?Qi3jU)!8JkWwr7PV9Xhn4 z^t`Ri9MkTe*xeR|xkt2~-`}$T|J=5I+hc3CX6JfNo4$Sf>T<_ZntR=L+}nP?F8jN= z{>{nje|~=cJS)G<cv7Wqq_E)gi&|HM&gkv@^}$*1{jJakUlPJ<4<DD?+?x`+ujJ&_ z-HJ*|K@Xo;H%*<m(%)p=6jR+78AVgSPLJKK&_7YfSG;TUOVdSvF8mKV^7E7LhD*j@ zT8gKxVSUS(d%LLMnoj%V)pI<<<}RO~c5O}M)2xTT?W69qADC{vzpzkc(e;i`&i}ou z&sEI5m_0RvWwppDuW5BryQlRisfFL1tg}5jZ=?4964U?rJac_L5<V{a`R3-{*-xIR z)T|0w=-AxmQ~CX`(4FGrFF(Gl`X&FTzPemarnK^S;h(+Ie5#YI1zEV1R&ZpgG{_uY zP~<k{geq&Y@*#$&E4F003tC@M3J_uOoZ!tUs3g(Xpv37uQAupV#Fsoyhp#$LYl&%* zVRhPc+dgSp&ZgZrdA-Xx=U+c#Jp0eLoA*CI`TnQw{?BJWWuwb2q)&TK*Av|TLAmcw zMaQ8-PEtRAUtZ!FJgs)us&7^=RL^beUTqkB{N!A3&T0IsW{CU^YJRfn&sNu^=V$+Y zx9N6VSeV-6W4#M^{E(`j_f2o&L|M!Ff8u5}JI|$mXO4e+eXdJ#LAA#I4R<BelP%vj zTfVvfUABI<?erBZ&dsqZon*S&ez)?m`xo!O@H?|dc-!O~&!31a+-de(QFMyB=hObU z6`n<@?@gCKn05DCSlzBUbLQkM^Qmpti>+q3u<LB|9@E;kvvnI@uKubM`^V62@x%iQ z5_XlnKltOm|HF4~smtYl+uuE$w)g9+tBX@t|DI{{wNx(i|BBL|`}S6QM9n|(Gya^Q zfW(Q@h3hZvz7Hyst@qt@`}9oZl75VWjZ%|ibNi>7GXgwpx2>;jsjr%U?0`9_Cod|R z`giZ6WQjK$%a1SIyz$S=>%aK7)N<_q#apo=wmR+H%<!kieUF?A3k?^y9lx;Y>R+9> zeOwKT7CFV$Bq}g;dPZl;2t4?-@x9mVcSn{?nj|!>c2kG#?jX$*=gTv9?~pRqUUxXj zY_o2q@$E_Gg&&jH1O>l;iaC>z6erPjFrsY#&5!f@Kfb(lbdF^$SM$XKhu_{ZPPx(T zQmSWt_k~}N$otDY)A)CV8b>UB_N(l+b<GEM2CLGy@BV~1-cz-U`y{zP^JdrH-Q}Ae z9KQME=hfs#^8ZqT*O%{S^qFBY^)P#V!n-y5jq2aYOk4MdsbTHx$q_>P8`KwBZLT<) z#lyzz`TF|Dkoo^=HkTT6azFp*bN}C&*a-)g@ph`{%;~@Q!u?CJp;>Om|1WmEjqeM- z&0q_+kUs79@1KaMsL{i#_b)EZF27~}&BDLztzSSvhp%n=$A#Y4-^twA-#<Asb4%Xk zY0SUB2L}Z?_0QY;Az$Xewv_Arwc)qdoQU-CiurAMa`vPSNuxP8b{MXS+}gBu_T)Kv z;^E0@M@v=my^=ByIn6G!i`>G{ee}?RgNGSs7#Fiiz7+p)x_Wb^$tO;~f6rN@h4w2L zt>SKoHVoQx{$a9|*BLQUeNq3j5utUZSMELCW5e){lcVU?`WqJ?XMA;t?)m!abI5&0 z2AMw(t6%?qn&jTUI8nKN*S8w3hR@H>N50PSi{d|UqjSBWjF@9UhDEaaKDW-BNxWIg zN%0FG-u=fT^(&fTTh6alUefpE7F%!CaQor5^2LdX%6a1DkNz%MnJ*+H<yQAEwQOnK z=|lX_1<Z>yc9$)?aiv&HzUsUF?6qEZH_jE>+**78FLT4azwALtWp8h654RDVT(<lj zgF@O34=J-x&s!fVufD6d?#P)_uYaVy7Tf){X6~M&QOh@MU|4)H;+k6>qpZ^6iudp3 zBk!+&Sr)W%Zt_N><HixYRv*dEyU7!_a{k?KOiax?rp$KE^V3UwC|LG-$=n|^OIL>% zeEZ_b#l^j0#_45yH*em&>W#MJ!Ne)kq6{QX-P%0k>@};Kkuw=uTFqB}+S&7ko1v#) zI&-tl-I9G?v2W+!TW<J4R#aZ?Ro5xcX`46J>`4}%w%$|e?GM9$wO=@P2XCKTY1n*K zd)kH1EB85k{ita4%CpJY>E>?hsSg)FvZ#6@a8Plf&ApA>OP7jm@B3RcuglZ&W+Vd( z3rk>B*1|%EfUUQWPMr~1DLZqfWZCVLr}kv575;t7B23pm;aX27gGuJCp77)T%RaAP zu9&@P?vd(}t_$pUH)U^FCvr3Qedh}Go12TR+xg`d+~53d`ON2M=Q%z*%5!g?Vf%@` zxjXCrT5WV@pTfGz>vz}Q+T}Ho85JxuC0{OC9>1Wndzx8klk?#dXFSqx&gyMxX|s%7 z{>}gWWr-hr<$i);d*W8dd`-?=kh`02OYZf?xY|WC1<dEH4qq2xA6{EyaN+gLx*Sih zl#`2oiinGU&UybY!XO}P+m6yV(?5s!aB=dgE8lhT%hOw!`0&Y-Ct<g@X&Y|-WaZ?1 z*mHluJ}>J;LBVTQwTsv<uJ$*1{;#@iu{+<yA3wRKsn)n0*SpL3J!whB{KLU5OVc)Y zP4_yw<i!5y?NX}2-|U{R*qf+-R8T_X%&x227Jt^i*VNK_^kt=q*qPe*ZhJ3ndarH# z>*vS)+TlNvu5Qu-d-~I+M#IAlKXOhg85tX&ICUx|@=uM|*|bIMysQaVKe2rJq&IQ) z?9&IC|EK(#9Xw~-!k}tb!$am?sZYgs?GC!r`#t|}Ayakv@(J_u9=+O{y=3kW$%f-r zWxE2;xBj@W+TVoX{`=d^4(snRuX(?-=uNn$T$iWqe7)JN-hN(77A$Dc_3XTwCmx=Z zc6EP!!`-r9F8rIW&HVXp_L8|4Zj*n{x~#Y<XU(hY`31$dJ)ce!OE+nL+U%nye0G+p z^1tir_b!Y!FL+!T@$}@?lRqld%=3CqrYP+_@UeoewdM2n%J~zvl&N~#{cAYXRP!$H ziT~<rxodtOTyp(>;@3^CXJ&q!X1ZZ&@$>yh_c5~<`#T8Sp1l9j*UrV9JUnSHPFQ%I z75imx-g1o5v1az1BU3gm&bY8ZF;}jtMLhZVjw@|f^m-fL@0e;F!Pw}S6R~^JpFK9~ zrpKsjXtdZ}Y?k==Nn-n>!+XD*K0nxgdve($3I1)b5A6MJx_#gCa~tE&1slHnnYegI zjb;D)Z%a1SzIL0wts5NwY<zN!H*?bN&kHGg`(xIH4;)FyeU{umaL}yOtZrvpaHcu~ zcfXC)N$<t#cdnEPy*Kok{cT(7FYEU=bmq+5Fm1Yf?}wo2EDItVE~=ee^&_@fPc>ZH zJZiFb@V>m|;^!ka=k5KPew5>V=5-s6?xRV2GxjdKo>2Pg3TOAxL!6hNMql)uXtmx( z&2RpfNoPOJe7}Faq)vRP-uf@ce6Ahq)jOMV(|g^yr&Gi3&+y>YaQo30UC%qMV+W{_ zU_CoJX>!We88(vpm-%J}KGZwdwf?L2Trr#3uYasAbjh2R)bhTdBzNj+lW9uxo*NuA zdfo7ubNS}=_dPZ}dYmhFH{tzOo1Ip3YwzBUoo?l4c&NJ0YI5@DC+|K!K7KvJR;;^q zaeDFU^%_cf#Wu~UfgiqzW=0;prm}ih_68p{;mpXR_ug%~!ziM>=k@W+H(j>!?Oj<a zV>$Wp!h0PasaCEPvn}dAN~uj=d22UEfBcsJwarTNmPtIUZTCy9-p#G_sKHP0o?GA2 z_|`A0Q}<g`iLO-b5>!&^%VhI*$#OAtayeqC8le=V3>LJsb6vq5;d+GgD2Jfnag%0M zCDTpCzr*s&9bJy3Tl#GH_U1;|?7yHM<x1l>Y7zN8vT?Ve+@5>y8bIBq*u{_|F%C}w z_gpGK%NPX(1^J<SI1?dVWE*Jbx*amp`w_gyQAtS-y0DXg<~8&7ww9ab1i<VDIaEpM zQKDNzQxjAEcTk7u$+qx$!IF$YK|vZ?TA#AoK^?)obXQl`B}<ktBrwb{dz;%GUabO} i-gQ4S%k=h#`ge=luFd0|_=JIhfx*+&&t;ucLK6UL-V?|G literal 0 HcmV?d00001 diff --git a/doc/SysMLSec/fig/fv_auth_check.svg b/doc/SysMLSec/fig/fv_auth_check.svg new file mode 100644 index 0000000000..c1ad9db3ba --- /dev/null +++ b/doc/SysMLSec/fig/fv_auth_check.svg @@ -0,0 +1,137 @@ +<?xml version="1.0"?> +<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' + 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'> +<svg xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-opacity:1; color-rendering:auto; color-interpolation:auto; text-rendering:auto; stroke:black; stroke-linecap:square; stroke-miterlimit:10; shape-rendering:auto; stroke-opacity:1; fill:black; stroke-dasharray:none; font-weight:normal; stroke-width:1; font-family:'Dialog'; font-style:normal; stroke-linejoin:miter; font-size:12px; stroke-dashoffset:0; image-rendering:auto;" width="544" height="186" xmlns="http://www.w3.org/2000/svg" +><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs" + /><g + ><defs id="defs1" + ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1" + ><path d="M0 0 L544 0 L544 186 L0 186 L0 0 Z" + /></clipPath + ></defs + ><g style="fill:white; font-family:sans-serif; stroke:white;" + ><rect x="0" y="0" width="544" style="clip-path:url(#clipPath1); stroke:none;" height="186" + /></g + ><g style="font-family:sans-serif;" + ><rect x="16" y="23" width="200" style="fill:none; clip-path:url(#clipPath1);" height="150" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="17" y="24" width="198" style="clip-path:url(#clipPath1); stroke:none;" height="148" + /><rect x="16" y="23" width="1" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="17" y="23" width="198" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="17" y="172" width="199" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="215" y="23" width="1" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="108" xml:space="preserve" y="50" style="clip-path:url(#clipPath1); stroke:none;" + >T1</text + ><image x="186" y="38" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="clip-path:url(#clipPath1); font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="203" y="78" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="203" y="78" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 206 81 206 101 226 91" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 206 81 206 101 226 91" + /><line x1="226" x2="226" y1="101" style="fill:none; clip-path:url(#clipPath1);" y2="81" + /><text x="203" y="77" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >comm</text + ><rect x="334" y="26" width="200" style="fill:none; clip-path:url(#clipPath1);" height="150" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="335" y="27" width="198" style="clip-path:url(#clipPath1); stroke:none;" height="148" + /><rect x="334" y="26" width="1" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="335" y="26" width="198" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="335" y="175" width="199" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="533" y="26" width="1" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="426" xml:space="preserve" y="53" style="clip-path:url(#clipPath1); stroke:none;" + >T2</text + ><image x="504" y="41" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="clip-path:url(#clipPath1); font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="321" y="79" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="321" y="79" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 324 82 324 102 344 92" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 324 82 324 102 344 92" + /><line x1="344" x2="344" y1="102" style="fill:none; clip-path:url(#clipPath1);" y2="82" + /><text x="321" y="78" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >comm</text + ><text x="309" y="87" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + ></text + ><ellipse style="fill:none; clip-path:url(#clipPath1);" rx="5" cx="308" ry="7.5" cy="98.5" + /><polygon style="fill:gray; clip-path:url(#clipPath1); stroke:none;" points=" 301 97 301 113 317 113" + /><polygon style="fill:gray; clip-path:url(#clipPath1); stroke:none;" points=" 317 113 317 97 301 97" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 301 97 301 113 317 113" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 317 113 317 97 301 97" + /><text x="302" y="109" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >S</text + ><text x="309" y="106" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >W</text + ><text x="256" y="91" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >comm</text + ><line x1="229" x2="321" y1="91" style="fill:none; clip-path:url(#clipPath1);" y2="92" + /></g + ><g style="font-family:sans-serif;" + ><rect x="16" width="200" height="150" y="23" style="fill:none;" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="17" width="198" height="148" y="24" style="stroke:none;" + /><rect x="16" y="23" width="1" style="fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="17" y="23" width="198" style="fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="17" y="172" width="199" style="fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="215" y="23" width="1" style="fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="108" xml:space="preserve" y="50" style="stroke:none;" + >T1</text + ><image x="186" y="38" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="203" y="78" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="203" width="26" height="26" y="78" style="fill:none;" + /><polygon style="fill:none;" points=" 206 81 206 101 226 91" + /><polygon style="stroke:none;" points=" 206 81 206 101 226 91" + /><line y2="81" style="fill:none;" x1="226" x2="226" y1="101" + /><text x="203" xml:space="preserve" y="77" style="font-weight:normal; stroke:none;" + >comm</text + ><rect x="334" width="200" height="150" y="26" style="fill:none;" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="335" width="198" height="148" y="27" style="stroke:none;" + /><rect x="334" y="26" width="1" style="fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="335" y="26" width="198" style="fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="335" y="175" width="199" style="fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="533" y="26" width="1" style="fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="426" xml:space="preserve" y="53" style="stroke:none;" + >T2</text + ><image x="504" y="41" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="321" y="79" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="321" width="26" height="26" y="79" style="fill:none;" + /><polygon style="fill:none;" points=" 324 82 324 102 344 92" + /><polygon style="stroke:none;" points=" 324 82 324 102 344 92" + /><line y2="82" style="fill:none;" x1="344" x2="344" y1="102" + /><text x="321" xml:space="preserve" y="78" style="font-weight:normal; stroke:none;" + >comm</text + ><text x="309" xml:space="preserve" y="87" style="font-weight:normal; stroke:none;" + ></text + ><ellipse rx="5" ry="7.5" style="fill:none;" cx="308" cy="98.5" + /><polygon style="fill:gray; stroke:none;" points=" 301 97 301 113 317 113" + /><polygon style="fill:gray; stroke:none;" points=" 317 113 317 97 301 97" + /><polygon style="fill:none;" points=" 301 97 301 113 317 113" + /><polygon style="fill:none;" points=" 317 113 317 97 301 97" + /><text x="302" xml:space="preserve" y="109" style="font-weight:normal; stroke:none;" + >S</text + ><text x="309" xml:space="preserve" y="106" style="font-weight:normal; stroke:none;" + >W</text + ><text x="256" y="91" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >comm</text + ><line y2="92" style="fill:none;" x1="229" x2="321" y1="91" + /></g + ></g +></svg +> diff --git a/doc/SysMLSec/fig/hsm_ad_hsm_cpu1.svg b/doc/SysMLSec/fig/hsm_ad_hsm_cpu1.svg new file mode 100644 index 0000000000..f2fc7906cc --- /dev/null +++ b/doc/SysMLSec/fig/hsm_ad_hsm_cpu1.svg @@ -0,0 +1,205 @@ +<?xml version="1.0"?> +<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' + 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'> +<svg xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-opacity:1; color-rendering:auto; color-interpolation:auto; text-rendering:auto; stroke:black; stroke-linecap:square; stroke-miterlimit:10; shape-rendering:auto; stroke-opacity:1; fill:black; stroke-dasharray:none; font-weight:normal; stroke-width:1; font-family:'Dialog'; font-style:normal; stroke-linejoin:miter; font-size:12px; stroke-dashoffset:0; image-rendering:auto;" width="258" height="343" xmlns="http://www.w3.org/2000/svg" +><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs" + /><g + ><defs id="defs1" + ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1" + ><path d="M0 0 L258 0 L258 343 L0 343 L0 0 Z" + /></clipPath + ></defs + ><g style="fill:white; font-family:sans-serif; stroke:white;" + ><rect x="0" y="0" width="258" style="clip-path:url(#clipPath1); stroke:none;" height="343" + /></g + ><g style="font-family:sans-serif;" + ><circle r="7" style="clip-path:url(#clipPath1); stroke:none;" cx="153" cy="22" + /><line x1="153" x2="153" y1="30" style="fill:none; clip-path:url(#clipPath1);" y2="35" + /><rect x="58" y="56" width="189" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(196,166,122);" rx="2.5" ry="2.5" height="20" + /><rect x="59" y="57" width="189" style="clip-path:url(#clipPath1); fill:none;" rx="2.5" ry="2.5" height="20" + /><line x1="153" x2="153" y1="57" style="fill:none; clip-path:url(#clipPath1);" y2="52" + /><line x1="153" x2="153" y1="77" style="fill:none; clip-path:url(#clipPath1);" y2="82" + /><text x="74" xml:space="preserve" y="72" style="clip-path:url(#clipPath1); stroke:none;" + >getReqArg(channelIndex)</text + ><line x1="153" x2="153" y1="35" style="fill:none; clip-path:url(#clipPath1);" y2="52" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 153 52 148 43 157 43" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 153 52 148 43 157 43" + /><line x1="153" x2="163" y1="108" style="fill:none; clip-path:url(#clipPath1);" y2="118" + /><line x1="143" x2="153" y1="118" style="fill:none; clip-path:url(#clipPath1);" y2="128" + /><line x1="153" x2="143" y1="108" style="fill:none; clip-path:url(#clipPath1);" y2="118" + /><line x1="163" x2="153" y1="118" style="fill:none; clip-path:url(#clipPath1);" y2="128" + /><line x1="153" x2="153" y1="108" style="fill:none; clip-path:url(#clipPath1);" y2="103" + /><line x1="143" x2="118" y1="118" style="fill:none; clip-path:url(#clipPath1);" y2="118" + /><line x1="163" x2="188" y1="118" style="fill:none; clip-path:url(#clipPath1);" y2="118" + /><line x1="153" x2="153" y1="128" style="fill:none; clip-path:url(#clipPath1);" y2="153" + /><text x="18" xml:space="preserve" y="113" style="clip-path:url(#clipPath1); stroke:none;" + >[channelIndex==0]</text + ><line x1="153" x2="153" y1="82" style="fill:none; clip-path:url(#clipPath1);" y2="103" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 153 103 148 94 157 94" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 153 103 148 94 157 94" + /><line x1="91" x2="91" y1="159" style="fill:none; clip-path:url(#clipPath1);" y2="154" + /><line x1="91" x2="91" y1="179" style="fill:none; clip-path:url(#clipPath1);" y2="184" + /><line x1="20" x2="165" y1="160" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="160" + /><line x1="165" x2="165" y1="160" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="180" + /><line x1="20" x2="165" y1="180" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="180" + /><line x1="20" x2="30" y1="160" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="170" + /><line x1="20" x2="30" y1="180" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="170" + /><line x1="19" x2="164" y1="159" style="fill:none; clip-path:url(#clipPath1);" y2="159" + /><line x1="164" x2="164" y1="159" style="fill:none; clip-path:url(#clipPath1);" y2="179" + /><line x1="19" x2="164" y1="179" style="fill:none; clip-path:url(#clipPath1);" y2="179" + /><line x1="19" x2="29" y1="159" style="fill:none; clip-path:url(#clipPath1);" y2="169" + /><line x1="19" x2="29" y1="179" style="fill:none; clip-path:url(#clipPath1);" y2="169" + /><text x="34" xml:space="preserve" y="159" style="clip-path:url(#clipPath1); stroke:none;" + >chl</text + ><text x="31" xml:space="preserve" y="174" style="clip-path:url(#clipPath1); stroke:none;" + >data_comm_T1(1) </text + ><line x1="118" x2="91" y1="118" style="fill:none; clip-path:url(#clipPath1);" y2="154" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 91 154 92 144 100 150" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 91 154 92 144 100 150" + /><line x1="91" x2="91" y1="264" style="fill:none; clip-path:url(#clipPath1);" y2="259" + /><line x1="91" x2="91" y1="284" style="fill:none; clip-path:url(#clipPath1);" y2="289" + /><line x1="12" x2="162" y1="265" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="265" + /><line x1="12" x2="162" y1="285" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="285" + /><line x1="12" x2="12" y1="265" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="285" + /><line x1="162" x2="172" y1="265" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="275" + /><line x1="162" x2="172" y1="285" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="275" + /><line x1="11" x2="161" y1="264" style="fill:none; clip-path:url(#clipPath1);" y2="264" + /><line x1="11" x2="161" y1="284" style="fill:none; clip-path:url(#clipPath1);" y2="284" + /><line x1="11" x2="11" y1="264" style="fill:none; clip-path:url(#clipPath1);" y2="284" + /><line x1="161" x2="171" y1="264" style="fill:none; clip-path:url(#clipPath1);" y2="274" + /><line x1="161" x2="171" y1="284" style="fill:none; clip-path:url(#clipPath1);" y2="274" + /><text x="26" xml:space="preserve" y="264" style="clip-path:url(#clipPath1); stroke:none;" + >chl</text + ><text x="26" xml:space="preserve" y="279" style="clip-path:url(#clipPath1); stroke:none;" + >retData_comm_T1(1)</text + ><text x="131" xml:space="preserve" y="295" style="clip-path:url(#clipPath1); stroke:none;" + >sec:hsmSec_comm</text + ><line x1="84" x2="99" y1="196" style="fill:none; clip-path:url(#clipPath1);" y2="196" + /><line x1="84" x2="84" y1="196" style="fill:none; clip-path:url(#clipPath1);" y2="231" + /><line x1="99" x2="99" y1="196" style="fill:none; clip-path:url(#clipPath1);" y2="231" + /><line x1="84" x2="91" y1="231" style="fill:none; clip-path:url(#clipPath1);" y2="236" + /><line x1="91" x2="99" y1="236" style="fill:none; clip-path:url(#clipPath1);" y2="231" + /><line x1="91" x2="91" y1="196" style="fill:none; clip-path:url(#clipPath1);" y2="191" + /><line x1="91" x2="91" y1="236" style="fill:none; clip-path:url(#clipPath1);" y2="241" + /><line x1="89" x2="94" y1="201" style="fill:none; clip-path:url(#clipPath1);" y2="201" + /><line x1="89" x2="94" y1="213" style="fill:none; clip-path:url(#clipPath1);" y2="213" + /><line x1="89" x2="94" y1="207" style="fill:none; clip-path:url(#clipPath1);" y2="207" + /><line x1="89" x2="89" y1="201" style="fill:none; clip-path:url(#clipPath1);" y2="207" + /><line x1="94" x2="94" y1="207" style="fill:none; clip-path:url(#clipPath1);" y2="213" + /><line x1="89" x2="94" y1="216" style="fill:none; clip-path:url(#clipPath1);" y2="216" + /><line x1="89" x2="94" y1="228" style="fill:none; clip-path:url(#clipPath1);" y2="228" + /><line x1="89" x2="94" y1="222" style="fill:none; clip-path:url(#clipPath1);" y2="222" + /><line x1="89" x2="89" y1="216" style="fill:none; clip-path:url(#clipPath1);" y2="228" + /><text x="106" xml:space="preserve" y="213" style="clip-path:url(#clipPath1); stroke:none;" + >sec:hsmSec_comm</text + ><image x="62" y="213" width="20" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAAVklEQVR4XmNgGErg +PxqmCKAbRpHB6AZQgsEAXZBsfO7+LxCNKUEuJspAkCJkjE2OZANBipAANjl0PqZB +MAVYDAQBbHLofKINAwNschhiMEMIGTYKaAsAlkPEzZtFB24AAAAASUVORK5CYII=" style="clip-path:url(#clipPath1);" height="16" preserveAspectRatio="none" + /><line x1="91" x2="91" y1="184" style="fill:none; clip-path:url(#clipPath1);" y2="191" + /><line x1="91" x2="91" y1="241" style="fill:none; clip-path:url(#clipPath1);" y2="259" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 91 259 86 250 95 250" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 91 259 86 250 95 250" + /><circle r="8" style="clip-path:url(#clipPath1); stroke:none;" cx="92" cy="323" + /><circle r="10" style="fill:none; clip-path:url(#clipPath1);" cx="92" cy="323" + /><line x1="92" x2="92" y1="313" style="fill:none; clip-path:url(#clipPath1);" y2="308" + /><line x1="91" x2="92" y1="289" style="fill:none; clip-path:url(#clipPath1);" y2="308" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 92 308 86 299 96 299" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 92 308 86 299 96 299" + /></g + ><g style="font-family:sans-serif;" + ><circle r="7" style="stroke:none;" cx="153" cy="22" + /><line y2="35" style="fill:none;" x1="153" x2="153" y1="30" + /><rect x="58" y="56" width="189" style="fill:none; stroke:rgb(196,166,122);" rx="2.5" ry="2.5" height="20" + /><rect x="59" y="57" width="189" style="fill:none;" rx="2.5" ry="2.5" height="20" + /><line y2="52" style="fill:none;" x1="153" x2="153" y1="57" + /><line y2="82" style="fill:none;" x1="153" x2="153" y1="77" + /><text x="74" xml:space="preserve" y="72" style="stroke:none;" + >getReqArg(channelIndex)</text + ><line y2="52" style="fill:none;" x1="153" x2="153" y1="35" + /><polygon style="stroke:none;" points=" 153 52 148 43 157 43" + /><polygon style="fill:none;" points=" 153 52 148 43 157 43" + /><line y2="118" style="fill:none;" x1="153" x2="163" y1="108" + /><line y2="128" style="fill:none;" x1="143" x2="153" y1="118" + /><line y2="118" style="fill:none;" x1="153" x2="143" y1="108" + /><line y2="128" style="fill:none;" x1="163" x2="153" y1="118" + /><line y2="103" style="fill:none;" x1="153" x2="153" y1="108" + /><line y2="118" style="fill:none;" x1="143" x2="118" y1="118" + /><line y2="118" style="fill:none;" x1="163" x2="188" y1="118" + /><line y2="153" style="fill:none;" x1="153" x2="153" y1="128" + /><text x="18" xml:space="preserve" y="113" style="stroke:none;" + >[channelIndex==0]</text + ><line y2="103" style="fill:none;" x1="153" x2="153" y1="82" + /><polygon style="stroke:none;" points=" 153 103 148 94 157 94" + /><polygon style="fill:none;" points=" 153 103 148 94 157 94" + /><line y2="154" style="fill:none;" x1="91" x2="91" y1="159" + /><line y2="184" style="fill:none;" x1="91" x2="91" y1="179" + /><line x1="20" x2="165" y1="160" style="fill:none; stroke:rgb(104,229,255);" y2="160" + /><line x1="165" x2="165" y1="160" style="fill:none; stroke:rgb(104,229,255);" y2="180" + /><line x1="20" x2="165" y1="180" style="fill:none; stroke:rgb(104,229,255);" y2="180" + /><line x1="20" x2="30" y1="160" style="fill:none; stroke:rgb(104,229,255);" y2="170" + /><line x1="20" x2="30" y1="180" style="fill:none; stroke:rgb(104,229,255);" y2="170" + /><line y2="159" style="fill:none;" x1="19" x2="164" y1="159" + /><line y2="179" style="fill:none;" x1="164" x2="164" y1="159" + /><line y2="179" style="fill:none;" x1="19" x2="164" y1="179" + /><line y2="169" style="fill:none;" x1="19" x2="29" y1="159" + /><line y2="169" style="fill:none;" x1="19" x2="29" y1="179" + /><text x="34" xml:space="preserve" y="159" style="stroke:none;" + >chl</text + ><text x="31" xml:space="preserve" y="174" style="stroke:none;" + >data_comm_T1(1) </text + ><line y2="154" style="fill:none;" x1="118" x2="91" y1="118" + /><polygon style="stroke:none;" points=" 91 154 92 144 100 150" + /><polygon style="fill:none;" points=" 91 154 92 144 100 150" + /><line y2="259" style="fill:none;" x1="91" x2="91" y1="264" + /><line y2="289" style="fill:none;" x1="91" x2="91" y1="284" + /><line x1="12" x2="162" y1="265" style="fill:none; stroke:rgb(104,229,255);" y2="265" + /><line x1="12" x2="162" y1="285" style="fill:none; stroke:rgb(104,229,255);" y2="285" + /><line x1="12" x2="12" y1="265" style="fill:none; stroke:rgb(104,229,255);" y2="285" + /><line x1="162" x2="172" y1="265" style="fill:none; stroke:rgb(104,229,255);" y2="275" + /><line x1="162" x2="172" y1="285" style="fill:none; stroke:rgb(104,229,255);" y2="275" + /><line y2="264" style="fill:none;" x1="11" x2="161" y1="264" + /><line y2="284" style="fill:none;" x1="11" x2="161" y1="284" + /><line y2="284" style="fill:none;" x1="11" x2="11" y1="264" + /><line y2="274" style="fill:none;" x1="161" x2="171" y1="264" + /><line y2="274" style="fill:none;" x1="161" x2="171" y1="284" + /><text x="26" xml:space="preserve" y="264" style="stroke:none;" + >chl</text + ><text x="26" xml:space="preserve" y="279" style="stroke:none;" + >retData_comm_T1(1)</text + ><text x="131" xml:space="preserve" y="295" style="stroke:none;" + >sec:hsmSec_comm</text + ><line y2="196" style="fill:none;" x1="84" x2="99" y1="196" + /><line y2="231" style="fill:none;" x1="84" x2="84" y1="196" + /><line y2="231" style="fill:none;" x1="99" x2="99" y1="196" + /><line y2="236" style="fill:none;" x1="84" x2="91" y1="231" + /><line y2="231" style="fill:none;" x1="91" x2="99" y1="236" + /><line y2="191" style="fill:none;" x1="91" x2="91" y1="196" + /><line y2="241" style="fill:none;" x1="91" x2="91" y1="236" + /><line y2="201" style="fill:none;" x1="89" x2="94" y1="201" + /><line y2="213" style="fill:none;" x1="89" x2="94" y1="213" + /><line y2="207" style="fill:none;" x1="89" x2="94" y1="207" + /><line y2="207" style="fill:none;" x1="89" x2="89" y1="201" + /><line y2="213" style="fill:none;" x1="94" x2="94" y1="207" + /><line y2="216" style="fill:none;" x1="89" x2="94" y1="216" + /><line y2="228" style="fill:none;" x1="89" x2="94" y1="228" + /><line y2="222" style="fill:none;" x1="89" x2="94" y1="222" + /><line y2="228" style="fill:none;" x1="89" x2="89" y1="216" + /><text x="106" xml:space="preserve" y="213" style="stroke:none;" + >sec:hsmSec_comm</text + ><image preserveAspectRatio="none" x="62" width="20" y="213" height="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAAVklEQVR4XmNgGErg +PxqmCKAbRpHB6AZQgsEAXZBsfO7+LxCNKUEuJspAkCJkjE2OZANBipAANjl0PqZB +MAVYDAQBbHLofKINAwNschhiMEMIGTYKaAsAlkPEzZtFB24AAAAASUVORK5CYII=" + /><line y2="191" style="fill:none;" x1="91" x2="91" y1="184" + /><line y2="259" style="fill:none;" x1="91" x2="91" y1="241" + /><polygon style="stroke:none;" points=" 91 259 86 250 95 250" + /><polygon style="fill:none;" points=" 91 259 86 250 95 250" + /><circle r="8" style="stroke:none;" cx="92" cy="323" + /><circle r="10" style="fill:none;" cx="92" cy="323" + /><line y2="308" style="fill:none;" x1="92" x2="92" y1="313" + /><line y2="308" style="fill:none;" x1="91" x2="92" y1="289" + /><polygon style="stroke:none;" points=" 92 308 86 299 96 299" + /><polygon style="fill:none;" points=" 92 308 86 299 96 299" + /></g + ></g +></svg +> diff --git a/doc/SysMLSec/fig/hsm_ad_t1.svg b/doc/SysMLSec/fig/hsm_ad_t1.svg new file mode 100644 index 0000000000..bd1c3f6635 --- /dev/null +++ b/doc/SysMLSec/fig/hsm_ad_t1.svg @@ -0,0 +1,197 @@ +<?xml version="1.0"?> +<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' + 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'> +<svg xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-opacity:1; color-rendering:auto; color-interpolation:auto; text-rendering:auto; stroke:black; stroke-linecap:square; stroke-miterlimit:10; shape-rendering:auto; stroke-opacity:1; fill:black; stroke-dasharray:none; font-weight:normal; stroke-width:1; font-family:'Dialog'; font-style:normal; stroke-linejoin:miter; font-size:12px; stroke-dashoffset:0; image-rendering:auto;" width="185" height="289" xmlns="http://www.w3.org/2000/svg" +><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs" + /><g + ><defs id="defs1" + ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1" + ><path d="M0 0 L185 0 L185 289 L0 289 L0 0 Z" + /></clipPath + ></defs + ><g style="fill:white; font-family:sans-serif; stroke:white;" + ><rect x="0" y="0" width="185" style="clip-path:url(#clipPath1); stroke:none;" height="289" + /></g + ><g style="font-family:sans-serif;" + ><line x1="94" x2="94" y1="235" style="fill:none; clip-path:url(#clipPath1);" y2="254" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 94 254 89 245 98 245" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 94 254 89 245 98 245" + /><line x1="94" x2="94" y1="32" style="fill:none; clip-path:url(#clipPath1);" y2="54" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 94 54 89 45 98 45" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 94 54 89 45 98 45" + /><circle r="7" style="clip-path:url(#clipPath1); stroke:none;" cx="94" cy="19" + /><line x1="94" x2="94" y1="27" style="fill:none; clip-path:url(#clipPath1);" y2="32" + /><line x1="94" x2="94" y1="210" style="fill:none; clip-path:url(#clipPath1);" y2="205" + /><line x1="94" x2="94" y1="230" style="fill:none; clip-path:url(#clipPath1);" y2="235" + /><line x1="53" x2="128" y1="211" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="211" + /><line x1="53" x2="128" y1="231" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="231" + /><line x1="53" x2="53" y1="211" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="231" + /><line x1="128" x2="138" y1="211" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="221" + /><line x1="128" x2="138" y1="231" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="221" + /><line x1="52" x2="127" y1="210" style="fill:none; clip-path:url(#clipPath1);" y2="210" + /><line x1="52" x2="127" y1="230" style="fill:none; clip-path:url(#clipPath1);" y2="230" + /><line x1="52" x2="52" y1="210" style="fill:none; clip-path:url(#clipPath1);" y2="230" + /><line x1="127" x2="137" y1="210" style="fill:none; clip-path:url(#clipPath1);" y2="220" + /><line x1="127" x2="137" y1="230" style="fill:none; clip-path:url(#clipPath1);" y2="220" + /><text x="67" xml:space="preserve" y="210" style="clip-path:url(#clipPath1); stroke:none;" + >chl</text + ><text x="67" xml:space="preserve" y="225" style="clip-path:url(#clipPath1); stroke:none;" + >comm(1)</text + ><text x="115" xml:space="preserve" y="241" style="clip-path:url(#clipPath1); stroke:none;" + >sec:hsmSec_comm</text + ><circle r="8" style="clip-path:url(#clipPath1); stroke:none;" cx="94" cy="269" + /><circle r="10" style="fill:none; clip-path:url(#clipPath1);" cx="94" cy="269" + /><line x1="94" x2="94" y1="259" style="fill:none; clip-path:url(#clipPath1);" y2="254" + /><line x1="23" x2="157" y1="60" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(196,166,122);" y2="60" + /><line x1="23" x2="157" y1="80" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(196,166,122);" y2="80" + /><line x1="23" x2="23" y1="60" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(196,166,122);" y2="80" + /><line x1="157" x2="167" y1="60" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(196,166,122);" y2="70" + /><line x1="157" x2="167" y1="80" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(196,166,122);" y2="70" + /><line x1="94" x2="94" y1="59" style="fill:none; clip-path:url(#clipPath1);" y2="54" + /><line x1="94" x2="94" y1="79" style="fill:none; clip-path:url(#clipPath1);" y2="84" + /><line x1="22" x2="156" y1="59" style="fill:none; clip-path:url(#clipPath1);" y2="59" + /><line x1="22" x2="156" y1="79" style="fill:none; clip-path:url(#clipPath1);" y2="79" + /><line x1="22" x2="22" y1="59" style="fill:none; clip-path:url(#clipPath1);" y2="79" + /><line x1="156" x2="166" y1="59" style="fill:none; clip-path:url(#clipPath1);" y2="69" + /><line x1="156" x2="166" y1="79" style="fill:none; clip-path:url(#clipPath1);" y2="69" + /><text x="37" xml:space="preserve" y="59" style="clip-path:url(#clipPath1); stroke:none;" + >req</text + ><text x="37" xml:space="preserve" y="74" style="clip-path:url(#clipPath1); stroke:none;" + >startHSM_CPU1(0)</text + ><line x1="94" x2="94" y1="109" style="fill:none; clip-path:url(#clipPath1);" y2="104" + /><line x1="94" x2="94" y1="129" style="fill:none; clip-path:url(#clipPath1);" y2="134" + /><line x1="25" x2="156" y1="110" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="110" + /><line x1="25" x2="156" y1="130" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="130" + /><line x1="25" x2="25" y1="110" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="130" + /><line x1="156" x2="166" y1="110" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="120" + /><line x1="156" x2="166" y1="130" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="120" + /><line x1="24" x2="155" y1="109" style="fill:none; clip-path:url(#clipPath1);" y2="109" + /><line x1="24" x2="155" y1="129" style="fill:none; clip-path:url(#clipPath1);" y2="129" + /><line x1="24" x2="24" y1="109" style="fill:none; clip-path:url(#clipPath1);" y2="129" + /><line x1="155" x2="165" y1="109" style="fill:none; clip-path:url(#clipPath1);" y2="119" + /><line x1="155" x2="165" y1="129" style="fill:none; clip-path:url(#clipPath1);" y2="119" + /><text x="39" xml:space="preserve" y="109" style="clip-path:url(#clipPath1); stroke:none;" + >chl</text + ><text x="39" xml:space="preserve" y="124" style="clip-path:url(#clipPath1); stroke:none;" + >data_comm_T1(1)</text + ><line x1="94" x2="94" y1="84" style="fill:none; clip-path:url(#clipPath1);" y2="104" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 94 104 89 95 98 95" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 94 104 89 95 98 95" + /><line x1="94" x2="93" y1="134" style="fill:none; clip-path:url(#clipPath1);" y2="156" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 93 156 88 147 98 147" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 93 156 88 147 98 147" + /><line x1="93" x2="93" y1="161" style="fill:none; clip-path:url(#clipPath1);" y2="156" + /><line x1="93" x2="93" y1="181" style="fill:none; clip-path:url(#clipPath1);" y2="186" + /><line x1="12" x2="176" y1="162" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="162" + /><line x1="176" x2="176" y1="162" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="182" + /><line x1="12" x2="176" y1="182" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="182" + /><line x1="12" x2="22" y1="162" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="172" + /><line x1="12" x2="22" y1="182" style="clip-path:url(#clipPath1); fill:none; stroke:rgb(104,229,255);" y2="172" + /><line x1="11" x2="175" y1="161" style="fill:none; clip-path:url(#clipPath1);" y2="161" + /><line x1="175" x2="175" y1="161" style="fill:none; clip-path:url(#clipPath1);" y2="181" + /><line x1="11" x2="175" y1="181" style="fill:none; clip-path:url(#clipPath1);" y2="181" + /><line x1="11" x2="21" y1="161" style="fill:none; clip-path:url(#clipPath1);" y2="171" + /><line x1="11" x2="21" y1="181" style="fill:none; clip-path:url(#clipPath1);" y2="171" + /><text x="26" xml:space="preserve" y="161" style="clip-path:url(#clipPath1); stroke:none;" + >chl</text + ><text x="23" xml:space="preserve" y="176" style="clip-path:url(#clipPath1); stroke:none;" + >retData_comm_T1(1) </text + ><text x="134" xml:space="preserve" y="192" style="clip-path:url(#clipPath1); stroke:none;" + >sec:hsmSec_comm</text + ><line x1="93" x2="94" y1="186" style="fill:none; clip-path:url(#clipPath1);" y2="205" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 94 205 88 196 98 196" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 94 205 88 196 98 196" + /></g + ><g style="font-family:sans-serif;" + ><line y2="254" style="fill:none;" x1="94" x2="94" y1="235" + /><polygon style="stroke:none;" points=" 94 254 89 245 98 245" + /><polygon style="fill:none;" points=" 94 254 89 245 98 245" + /><line y2="54" style="fill:none;" x1="94" x2="94" y1="32" + /><polygon style="stroke:none;" points=" 94 54 89 45 98 45" + /><polygon style="fill:none;" points=" 94 54 89 45 98 45" + /><circle r="7" style="stroke:none;" cx="94" cy="19" + /><line y2="32" style="fill:none;" x1="94" x2="94" y1="27" + /><line y2="205" style="fill:none;" x1="94" x2="94" y1="210" + /><line y2="235" style="fill:none;" x1="94" x2="94" y1="230" + /><line x1="53" x2="128" y1="211" style="fill:none; stroke:rgb(104,229,255);" y2="211" + /><line x1="53" x2="128" y1="231" style="fill:none; stroke:rgb(104,229,255);" y2="231" + /><line x1="53" x2="53" y1="211" style="fill:none; stroke:rgb(104,229,255);" y2="231" + /><line x1="128" x2="138" y1="211" style="fill:none; stroke:rgb(104,229,255);" y2="221" + /><line x1="128" x2="138" y1="231" style="fill:none; stroke:rgb(104,229,255);" y2="221" + /><line y2="210" style="fill:none;" x1="52" x2="127" y1="210" + /><line y2="230" style="fill:none;" x1="52" x2="127" y1="230" + /><line y2="230" style="fill:none;" x1="52" x2="52" y1="210" + /><line y2="220" style="fill:none;" x1="127" x2="137" y1="210" + /><line y2="220" style="fill:none;" x1="127" x2="137" y1="230" + /><text x="67" xml:space="preserve" y="210" style="stroke:none;" + >chl</text + ><text x="67" xml:space="preserve" y="225" style="stroke:none;" + >comm(1)</text + ><text x="115" xml:space="preserve" y="241" style="stroke:none;" + >sec:hsmSec_comm</text + ><circle r="8" style="stroke:none;" cx="94" cy="269" + /><circle r="10" style="fill:none;" cx="94" cy="269" + /><line y2="254" style="fill:none;" x1="94" x2="94" y1="259" + /><line x1="23" x2="157" y1="60" style="fill:none; stroke:rgb(196,166,122);" y2="60" + /><line x1="23" x2="157" y1="80" style="fill:none; stroke:rgb(196,166,122);" y2="80" + /><line x1="23" x2="23" y1="60" style="fill:none; stroke:rgb(196,166,122);" y2="80" + /><line x1="157" x2="167" y1="60" style="fill:none; stroke:rgb(196,166,122);" y2="70" + /><line x1="157" x2="167" y1="80" style="fill:none; stroke:rgb(196,166,122);" y2="70" + /><line y2="54" style="fill:none;" x1="94" x2="94" y1="59" + /><line y2="84" style="fill:none;" x1="94" x2="94" y1="79" + /><line y2="59" style="fill:none;" x1="22" x2="156" y1="59" + /><line y2="79" style="fill:none;" x1="22" x2="156" y1="79" + /><line y2="79" style="fill:none;" x1="22" x2="22" y1="59" + /><line y2="69" style="fill:none;" x1="156" x2="166" y1="59" + /><line y2="69" style="fill:none;" x1="156" x2="166" y1="79" + /><text x="37" xml:space="preserve" y="59" style="stroke:none;" + >req</text + ><text x="37" xml:space="preserve" y="74" style="stroke:none;" + >startHSM_CPU1(0)</text + ><line y2="104" style="fill:none;" x1="94" x2="94" y1="109" + /><line y2="134" style="fill:none;" x1="94" x2="94" y1="129" + /><line x1="25" x2="156" y1="110" style="fill:none; stroke:rgb(104,229,255);" y2="110" + /><line x1="25" x2="156" y1="130" style="fill:none; stroke:rgb(104,229,255);" y2="130" + /><line x1="25" x2="25" y1="110" style="fill:none; stroke:rgb(104,229,255);" y2="130" + /><line x1="156" x2="166" y1="110" style="fill:none; stroke:rgb(104,229,255);" y2="120" + /><line x1="156" x2="166" y1="130" style="fill:none; stroke:rgb(104,229,255);" y2="120" + /><line y2="109" style="fill:none;" x1="24" x2="155" y1="109" + /><line y2="129" style="fill:none;" x1="24" x2="155" y1="129" + /><line y2="129" style="fill:none;" x1="24" x2="24" y1="109" + /><line y2="119" style="fill:none;" x1="155" x2="165" y1="109" + /><line y2="119" style="fill:none;" x1="155" x2="165" y1="129" + /><text x="39" xml:space="preserve" y="109" style="stroke:none;" + >chl</text + ><text x="39" xml:space="preserve" y="124" style="stroke:none;" + >data_comm_T1(1)</text + ><line y2="104" style="fill:none;" x1="94" x2="94" y1="84" + /><polygon style="stroke:none;" points=" 94 104 89 95 98 95" + /><polygon style="fill:none;" points=" 94 104 89 95 98 95" + /><line y2="156" style="fill:none;" x1="94" x2="93" y1="134" + /><polygon style="stroke:none;" points=" 93 156 88 147 98 147" + /><polygon style="fill:none;" points=" 93 156 88 147 98 147" + /><line y2="156" style="fill:none;" x1="93" x2="93" y1="161" + /><line y2="186" style="fill:none;" x1="93" x2="93" y1="181" + /><line x1="12" x2="176" y1="162" style="fill:none; stroke:rgb(104,229,255);" y2="162" + /><line x1="176" x2="176" y1="162" style="fill:none; stroke:rgb(104,229,255);" y2="182" + /><line x1="12" x2="176" y1="182" style="fill:none; stroke:rgb(104,229,255);" y2="182" + /><line x1="12" x2="22" y1="162" style="fill:none; stroke:rgb(104,229,255);" y2="172" + /><line x1="12" x2="22" y1="182" style="fill:none; stroke:rgb(104,229,255);" y2="172" + /><line y2="161" style="fill:none;" x1="11" x2="175" y1="161" + /><line y2="181" style="fill:none;" x1="175" x2="175" y1="161" + /><line y2="181" style="fill:none;" x1="11" x2="175" y1="181" + /><line y2="171" style="fill:none;" x1="11" x2="21" y1="161" + /><line y2="171" style="fill:none;" x1="11" x2="21" y1="181" + /><text x="26" xml:space="preserve" y="161" style="stroke:none;" + >chl</text + ><text x="23" xml:space="preserve" y="176" style="stroke:none;" + >retData_comm_T1(1) </text + ><text x="134" xml:space="preserve" y="192" style="stroke:none;" + >sec:hsmSec_comm</text + ><line y2="205" style="fill:none;" x1="93" x2="94" y1="186" + /><polygon style="stroke:none;" points=" 94 205 88 196 98 196" + /><polygon style="fill:none;" points=" 94 205 88 196 98 196" + /></g + ></g +></svg +> diff --git a/doc/SysMLSec/fig/hsm_fv.svg b/doc/SysMLSec/fig/hsm_fv.svg new file mode 100644 index 0000000000..e14e45b566 --- /dev/null +++ b/doc/SysMLSec/fig/hsm_fv.svg @@ -0,0 +1,397 @@ +<?xml version="1.0"?> +<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' + 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'> +<svg xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-opacity:1; color-rendering:auto; color-interpolation:auto; text-rendering:auto; stroke:black; stroke-linecap:square; stroke-miterlimit:10; shape-rendering:auto; stroke-opacity:1; fill:black; stroke-dasharray:none; font-weight:normal; stroke-width:1; font-family:'Dialog'; font-style:normal; stroke-linejoin:miter; font-size:12px; stroke-dashoffset:0; image-rendering:auto;" width="1278" height="196" xmlns="http://www.w3.org/2000/svg" +><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs" + /><g + ><defs id="defs1" + ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1" + ><path d="M0 0 L1278 0 L1278 196 L0 196 L0 0 Z" + /></clipPath + ></defs + ><g style="fill:white; font-family:sans-serif; stroke:white;" + ><rect x="0" y="0" width="1278" style="clip-path:url(#clipPath1); stroke:none;" height="196" + /></g + ><g style="font-family:sans-serif;" + ><rect x="403" y="29" width="200" style="fill:none; clip-path:url(#clipPath1);" height="150" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="404" y="30" width="198" style="clip-path:url(#clipPath1); stroke:none;" height="148" + /><rect x="403" y="29" width="1" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="404" y="29" width="198" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="404" y="178" width="199" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="602" y="29" width="1" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="495" xml:space="preserve" y="56" style="clip-path:url(#clipPath1); stroke:none;" + >T1</text + ><image x="573" y="44" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="clip-path:url(#clipPath1); font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="390" y="120" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="390" y="120" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 393 123 393 143 413 133" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 393 123 393 143 413 133" + /><line x1="413" x2="413" y1="143" style="fill:none; clip-path:url(#clipPath1);" y2="123" + /><text x="390" y="119" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >retData_comm_T1</text + ><rect x="390" y="69" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="390" y="69" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 413 72 413 92 393 82" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 413 72 413 92 393 82" + /><line x1="393" x2="393" y1="92" style="fill:none; clip-path:url(#clipPath1);" y2="72" + /><text x="390" y="68" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >data_comm_T1</text + ><rect x="505" y="16" width="26" style="clip-path:url(#clipPath1); fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="505" y="16" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 508 39 528 39 518 19" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 508 39 528 39 518 19" + /><line x1="528" x2="508" y1="19" style="fill:none; clip-path:url(#clipPath1);" y2="19" + /><text x="505" y="15" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >startHSM_CPU1</text + ><rect x="590" y="84" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="590" y="84" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 593 87 593 107 613 97" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 593 87 593 107 613 97" + /><line x1="613" x2="613" y1="107" style="fill:none; clip-path:url(#clipPath1);" y2="87" + /><text x="590" y="83" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >comm</text + ><text x="572" y="77" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >???</text + ><ellipse style="fill:none; clip-path:url(#clipPath1);" rx="3" cx="581" ry="4.5" cy="88.5" + /><rect x="577" y="87" width="9" style="clip-path:url(#clipPath1); fill:gray; stroke:none;" height="7" + /><rect x="577" y="87" width="9" style="fill:none; clip-path:url(#clipPath1);" height="7" + /><rect x="674" y="31" width="200" style="fill:none; clip-path:url(#clipPath1);" height="150" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="675" y="32" width="198" style="clip-path:url(#clipPath1); stroke:none;" height="148" + /><rect x="674" y="31" width="1" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="675" y="31" width="198" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="675" y="180" width="199" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="873" y="31" width="1" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="766" xml:space="preserve" y="58" style="clip-path:url(#clipPath1); stroke:none;" + >T2</text + ><image x="844" y="46" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="clip-path:url(#clipPath1); font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="861" y="135" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="861" y="135" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 884 138 884 158 864 148" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 884 138 884 158 864 148" + /><line x1="864" x2="864" y1="158" style="fill:none; clip-path:url(#clipPath1);" y2="138" + /><text x="861" y="134" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >retData_comm_T2</text + ><rect x="861" y="79" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="861" y="79" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 864 82 864 102 884 92" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 864 82 864 102 884 92" + /><line x1="884" x2="884" y1="102" style="fill:none; clip-path:url(#clipPath1);" y2="82" + /><text x="861" y="78" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >data_comm_T2</text + ><rect x="798" y="18" width="26" style="clip-path:url(#clipPath1); fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="798" y="18" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 801 41 821 41 811 21" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 801 41 821 41 811 21" + /><line x1="821" x2="801" y1="21" style="fill:none; clip-path:url(#clipPath1);" y2="21" + /><text x="798" y="17" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >startHSM_CPU2</text + ><rect x="661" y="84" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="661" y="84" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 664 87 664 107 684 97" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 664 87 664 107 684 97" + /><line x1="684" x2="684" y1="107" style="fill:none; clip-path:url(#clipPath1);" y2="87" + /><text x="661" y="83" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >comm</text + ><text x="620" y="97" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >comm</text + ><line x1="616" x2="661" y1="97" style="fill:none; clip-path:url(#clipPath1);" y2="97" + /><rect x="1022" y="31" width="246" style="fill:none; clip-path:url(#clipPath1);" height="155" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="1023" y="32" width="244" style="clip-path:url(#clipPath1); stroke:none;" height="153" + /><rect x="1022" y="31" width="1" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="155" + /><rect x="1023" y="31" width="244" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="1023" y="185" width="245" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="1267" y="31" width="1" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="154" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="1112" xml:space="preserve" y="58" style="clip-path:url(#clipPath1); stroke:none;" + >HSM_CPU2</text + ><image x="1238" y="46" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="clip-path:url(#clipPath1); font-weight:normal;" height="16" preserveAspectRatio="none" + /><text x="1037" y="85" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >+ channelIndex = 0 : Natural;</text + ><rect x="1009" y="135" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="1009" y="135" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 1032 138 1032 158 1012 148" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 1032 138 1032 158 1012 148" + /><line x1="1012" x2="1012" y1="158" style="fill:none; clip-path:url(#clipPath1);" y2="138" + /><text x="1009" y="134" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >retData_comm_T2</text + ><rect x="1009" y="77" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="1009" y="77" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 1012 80 1012 100 1032 90" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 1012 80 1012 100 1032 90" + /><line x1="1032" x2="1032" y1="100" style="fill:none; clip-path:url(#clipPath1);" y2="80" + /><text x="1009" y="76" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >data_comm_T2</text + ><rect x="1090" y="18" width="26" style="clip-path:url(#clipPath1); fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="1090" y="18" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 1093 21 1113 21 1103 41" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 1093 21 1113 21 1103 41" + /><line x1="1113" x2="1093" y1="41" style="fill:none; clip-path:url(#clipPath1);" y2="41" + /><text x="1090" y="17" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >startHSM_CPU2</text + ><text x="909" y="18" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >startHSM_CPU2</text + ><line x1="1103" x2="811" y1="18" style="fill:none; clip-path:url(#clipPath1);" y2="18" + /><text x="901" y="91" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >data_comm_T2</text + ><line x1="1009" x2="887" y1="90" style="fill:none; clip-path:url(#clipPath1);" y2="92" + /><text x="892" y="148" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >retData_comm_T2</text + ><line x1="1009" x2="887" y1="148" style="fill:none; clip-path:url(#clipPath1);" y2="148" + /><rect x="11" y="29" width="248" style="fill:none; clip-path:url(#clipPath1);" height="148" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="12" y="30" width="246" style="clip-path:url(#clipPath1); stroke:none;" height="146" + /><rect x="11" y="29" width="1" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="148" + /><rect x="12" y="29" width="246" style="clip-path:url(#clipPath1); fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="12" y="176" width="247" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="258" y="29" width="1" style="clip-path:url(#clipPath1); fill:rgb(140,170,131); stroke:none;" height="147" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="102" xml:space="preserve" y="56" style="clip-path:url(#clipPath1); stroke:none;" + >HSM_CPU1</text + ><image x="229" y="44" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="clip-path:url(#clipPath1); font-weight:normal;" height="16" preserveAspectRatio="none" + /><text x="26" y="83" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >+ channelIndex = 0 : Natural;</text + ><rect x="246" y="121" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="246" y="121" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 249 124 249 144 269 134" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 249 124 249 144 269 134" + /><line x1="269" x2="269" y1="144" style="fill:none; clip-path:url(#clipPath1);" y2="124" + /><text x="246" y="120" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >retData_comm_T1</text + ><rect x="246" y="69" width="26" style="clip-path:url(#clipPath1); fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="246" y="69" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 269 72 269 92 249 82" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 269 72 269 92 249 82" + /><line x1="249" x2="249" y1="92" style="fill:none; clip-path:url(#clipPath1);" y2="72" + /><text x="246" y="68" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >data_comm_T1</text + ><rect x="73" y="16" width="26" style="clip-path:url(#clipPath1); fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="73" y="16" width="26" style="fill:none; clip-path:url(#clipPath1);" height="26" + /><polygon style="fill:none; clip-path:url(#clipPath1);" points=" 76 19 96 19 86 39" + /><polygon style="clip-path:url(#clipPath1); stroke:none;" points=" 76 19 96 19 86 39" + /><line x1="96" x2="76" y1="39" style="fill:none; clip-path:url(#clipPath1);" y2="39" + /><text x="73" y="15" style="clip-path:url(#clipPath1); font-weight:normal; stroke:none;" xml:space="preserve" + >startHSM_CPU1</text + ><text x="254" y="16" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >startHSM_CPU1</text + ><line x1="86" x2="518" y1="16" style="fill:none; clip-path:url(#clipPath1);" y2="16" + /><text x="284" y="82" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >data_comm_T1</text + ><line x1="272" x2="390" y1="82" style="fill:none; clip-path:url(#clipPath1);" y2="82" + /><text x="275" y="133" style="clip-path:url(#clipPath1); font-style:italic; stroke:none; font-weight:normal;" xml:space="preserve" + >retData_comm_T1</text + ><line x1="272" x2="390" y1="134" style="fill:none; clip-path:url(#clipPath1);" y2="133" + /></g + ><g style="font-family:sans-serif;" + ><rect x="403" width="200" height="150" y="29" style="fill:none;" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="404" width="198" height="148" y="30" style="stroke:none;" + /><rect x="403" y="29" width="1" style="fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="404" y="29" width="198" style="fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="404" y="178" width="199" style="fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="602" y="29" width="1" style="fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="495" xml:space="preserve" y="56" style="stroke:none;" + >T1</text + ><image x="573" y="44" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="390" y="120" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="390" width="26" height="26" y="120" style="fill:none;" + /><polygon style="fill:none;" points=" 393 123 393 143 413 133" + /><polygon style="stroke:none;" points=" 393 123 393 143 413 133" + /><line y2="123" style="fill:none;" x1="413" x2="413" y1="143" + /><text x="390" xml:space="preserve" y="119" style="font-weight:normal; stroke:none;" + >retData_comm_T1</text + ><rect x="390" y="69" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="390" width="26" height="26" y="69" style="fill:none;" + /><polygon style="fill:none;" points=" 413 72 413 92 393 82" + /><polygon style="stroke:none;" points=" 413 72 413 92 393 82" + /><line y2="72" style="fill:none;" x1="393" x2="393" y1="92" + /><text x="390" xml:space="preserve" y="68" style="font-weight:normal; stroke:none;" + >data_comm_T1</text + ><rect x="505" y="16" width="26" style="fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="505" width="26" height="26" y="16" style="fill:none;" + /><polygon style="fill:none;" points=" 508 39 528 39 518 19" + /><polygon style="stroke:none;" points=" 508 39 528 39 518 19" + /><line y2="19" style="fill:none;" x1="528" x2="508" y1="19" + /><text x="505" xml:space="preserve" y="15" style="font-weight:normal; stroke:none;" + >startHSM_CPU1</text + ><rect x="590" y="84" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="590" width="26" height="26" y="84" style="fill:none;" + /><polygon style="fill:none;" points=" 593 87 593 107 613 97" + /><polygon style="stroke:none;" points=" 593 87 593 107 613 97" + /><line y2="87" style="fill:none;" x1="613" x2="613" y1="107" + /><text x="590" xml:space="preserve" y="83" style="font-weight:normal; stroke:none;" + >comm</text + ><text x="572" xml:space="preserve" y="77" style="font-weight:normal; stroke:none;" + >???</text + ><ellipse rx="3" ry="4.5" style="fill:none;" cx="581" cy="88.5" + /><rect x="577" y="87" width="9" style="fill:gray; stroke:none;" height="7" + /><rect x="577" width="9" height="7" y="87" style="fill:none;" + /><rect x="674" width="200" height="150" y="31" style="fill:none;" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="675" width="198" height="148" y="32" style="stroke:none;" + /><rect x="674" y="31" width="1" style="fill:rgb(255,255,255); stroke:none;" height="150" + /><rect x="675" y="31" width="198" style="fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="675" y="180" width="199" style="fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="873" y="31" width="1" style="fill:rgb(140,170,131); stroke:none;" height="149" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="766" xml:space="preserve" y="58" style="stroke:none;" + >T2</text + ><image x="844" y="46" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="font-weight:normal;" height="16" preserveAspectRatio="none" + /><rect x="861" y="135" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="861" width="26" height="26" y="135" style="fill:none;" + /><polygon style="fill:none;" points=" 884 138 884 158 864 148" + /><polygon style="stroke:none;" points=" 884 138 884 158 864 148" + /><line y2="138" style="fill:none;" x1="864" x2="864" y1="158" + /><text x="861" xml:space="preserve" y="134" style="font-weight:normal; stroke:none;" + >retData_comm_T2</text + ><rect x="861" y="79" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="861" width="26" height="26" y="79" style="fill:none;" + /><polygon style="fill:none;" points=" 864 82 864 102 884 92" + /><polygon style="stroke:none;" points=" 864 82 864 102 884 92" + /><line y2="82" style="fill:none;" x1="884" x2="884" y1="102" + /><text x="861" xml:space="preserve" y="78" style="font-weight:normal; stroke:none;" + >data_comm_T2</text + ><rect x="798" y="18" width="26" style="fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="798" width="26" height="26" y="18" style="fill:none;" + /><polygon style="fill:none;" points=" 801 41 821 41 811 21" + /><polygon style="stroke:none;" points=" 801 41 821 41 811 21" + /><line y2="21" style="fill:none;" x1="821" x2="801" y1="21" + /><text x="798" xml:space="preserve" y="17" style="font-weight:normal; stroke:none;" + >startHSM_CPU2</text + ><rect x="661" y="84" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="661" width="26" height="26" y="84" style="fill:none;" + /><polygon style="fill:none;" points=" 664 87 664 107 684 97" + /><polygon style="stroke:none;" points=" 664 87 664 107 684 97" + /><line y2="87" style="fill:none;" x1="684" x2="684" y1="107" + /><text x="661" xml:space="preserve" y="83" style="font-weight:normal; stroke:none;" + >comm</text + ><text x="620" y="97" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >comm</text + ><line y2="97" style="fill:none;" x1="616" x2="661" y1="97" + /><rect x="1022" width="246" height="155" y="31" style="fill:none;" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="1023" width="244" height="153" y="32" style="stroke:none;" + /><rect x="1022" y="31" width="1" style="fill:rgb(255,255,255); stroke:none;" height="155" + /><rect x="1023" y="31" width="244" style="fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="1023" y="185" width="245" style="fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="1267" y="31" width="1" style="fill:rgb(140,170,131); stroke:none;" height="154" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="1112" xml:space="preserve" y="58" style="stroke:none;" + >HSM_CPU2</text + ><image x="1238" y="46" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="font-weight:normal;" height="16" preserveAspectRatio="none" + /><text x="1037" xml:space="preserve" y="85" style="font-weight:normal; stroke:none;" + >+ channelIndex = 0 : Natural;</text + ><rect x="1009" y="135" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="1009" width="26" height="26" y="135" style="fill:none;" + /><polygon style="fill:none;" points=" 1032 138 1032 158 1012 148" + /><polygon style="stroke:none;" points=" 1032 138 1032 158 1012 148" + /><line y2="138" style="fill:none;" x1="1012" x2="1012" y1="158" + /><text x="1009" xml:space="preserve" y="134" style="font-weight:normal; stroke:none;" + >retData_comm_T2</text + ><rect x="1009" y="77" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="1009" width="26" height="26" y="77" style="fill:none;" + /><polygon style="fill:none;" points=" 1012 80 1012 100 1032 90" + /><polygon style="stroke:none;" points=" 1012 80 1012 100 1032 90" + /><line y2="80" style="fill:none;" x1="1032" x2="1032" y1="100" + /><text x="1009" xml:space="preserve" y="76" style="font-weight:normal; stroke:none;" + >data_comm_T2</text + ><rect x="1090" y="18" width="26" style="fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="1090" width="26" height="26" y="18" style="fill:none;" + /><polygon style="fill:none;" points=" 1093 21 1113 21 1103 41" + /><polygon style="stroke:none;" points=" 1093 21 1113 21 1103 41" + /><line y2="41" style="fill:none;" x1="1113" x2="1093" y1="41" + /><text x="1090" xml:space="preserve" y="17" style="font-weight:normal; stroke:none;" + >startHSM_CPU2</text + ><text x="909" y="18" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >startHSM_CPU2</text + ><line y2="18" style="fill:none;" x1="1103" x2="811" y1="18" + /><text x="901" y="91" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >data_comm_T2</text + ><line y2="92" style="fill:none;" x1="1009" x2="887" y1="90" + /><text x="892" y="148" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >retData_comm_T2</text + ><line y2="148" style="fill:none;" x1="1009" x2="887" y1="148" + /><rect x="11" width="248" height="148" y="29" style="fill:none;" + /></g + ><g style="fill:rgb(201,243,188); fill-opacity:0.7843; font-family:sans-serif; stroke-opacity:0.7843; stroke:rgb(201,243,188);" + ><rect x="12" width="246" height="146" y="30" style="stroke:none;" + /><rect x="11" y="29" width="1" style="fill:rgb(255,255,255); stroke:none;" height="148" + /><rect x="12" y="29" width="246" style="fill:rgb(255,255,255); stroke:none;" height="1" + /><rect x="12" y="176" width="247" style="fill:rgb(140,170,131); stroke:none;" height="1" + /><rect x="258" y="29" width="1" style="fill:rgb(140,170,131); stroke:none;" height="147" + /></g + ><g style="font-family:sans-serif; font-weight:bold;" + ><text x="102" xml:space="preserve" y="56" style="stroke:none;" + >HSM_CPU1</text + ><image x="229" y="44" width="15" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAYklEQVR4Xs2PWw5A +EQxEu//F2cLdhx+SS4Xp1ONHTHIiZA4l8krSASYpfHGJ9ppEmGWU4ca2Evp+2SD9 +JWTcQZZFWUPPzctQ1nDZGWtPRrSEMJn+2cPINeYlDyb/E+yC7r1k/CUznLqz88wAAAAASUVORK5CYII=" style="font-weight:normal;" height="16" preserveAspectRatio="none" + /><text x="26" xml:space="preserve" y="83" style="font-weight:normal; stroke:none;" + >+ channelIndex = 0 : Natural;</text + ><rect x="246" y="121" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="246" width="26" height="26" y="121" style="fill:none;" + /><polygon style="fill:none;" points=" 249 124 249 144 269 134" + /><polygon style="stroke:none;" points=" 249 124 249 144 269 134" + /><line y2="124" style="fill:none;" x1="269" x2="269" y1="144" + /><text x="246" xml:space="preserve" y="120" style="font-weight:normal; stroke:none;" + >retData_comm_T1</text + ><rect x="246" y="69" width="26" style="fill:rgb(104,229,255); stroke:none;" height="26" + /><rect x="246" width="26" height="26" y="69" style="fill:none;" + /><polygon style="fill:none;" points=" 269 72 269 92 249 82" + /><polygon style="stroke:none;" points=" 269 72 269 92 249 82" + /><line y2="72" style="fill:none;" x1="249" x2="249" y1="92" + /><text x="246" xml:space="preserve" y="68" style="font-weight:normal; stroke:none;" + >data_comm_T1</text + ><rect x="73" y="16" width="26" style="fill:rgb(196,166,122); stroke:none;" height="26" + /><rect x="73" width="26" height="26" y="16" style="fill:none;" + /><polygon style="fill:none;" points=" 76 19 96 19 86 39" + /><polygon style="stroke:none;" points=" 76 19 96 19 86 39" + /><line y2="39" style="fill:none;" x1="96" x2="76" y1="39" + /><text x="73" xml:space="preserve" y="15" style="font-weight:normal; stroke:none;" + >startHSM_CPU1</text + ><text x="254" y="16" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >startHSM_CPU1</text + ><line y2="16" style="fill:none;" x1="86" x2="518" y1="16" + /><text x="284" y="82" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >data_comm_T1</text + ><line y2="82" style="fill:none;" x1="272" x2="390" y1="82" + /><text x="275" y="133" style="font-style:italic; font-weight:normal; stroke:none;" xml:space="preserve" + >retData_comm_T1</text + ><line y2="133" style="fill:none;" x1="272" x2="390" y1="134" + /></g + ></g +></svg +> diff --git a/doc/SysMLSec/sysmlsec_documentation.tex b/doc/SysMLSec/sysmlsec_documentation.tex index d96662dfe8..4d8a2e5f55 100644 --- a/doc/SysMLSec/sysmlsec_documentation.tex +++ b/doc/SysMLSec/sysmlsec_documentation.tex @@ -334,7 +334,7 @@ Channels can be tagged with cryptographic configurations on the Security tab, wi \begin{figure*}[htbp] \centering -\includegraphics[width=0.7\textwidth]{fig/channelsecurityoptions.png} +\includegraphics[width=0.7\textwidth]{fig/channelsecurityTab.png} \caption{Channel security options dialog window} \label{fig:channelsec} \end{figure*} @@ -380,6 +380,14 @@ When the option to add security operators is selected, there are multiple option In addition, for the operators being added, estimated times to perform encryption, decryption, calculate a MAC, etc, and the overhead, can be manually set in lieu of using the default options. +\begin{figure*}[htbp] +\centering +\includegraphics[width=0.1\textwidth]{build/fv1_t1-svg.pdf} +\includegraphics[width=0.7\textwidth]{build/fv_auth_check-svg.pdf} +\includegraphics[width=0.1\textwidth]{build/fv1_t2-svg.pdf} +\caption{Functional View with authenticity check} \label{fig:fv1AuthCheck} +\end{figure*} + \begin{figure*}[htbp] \centering \includegraphics[width=0.2\textwidth]{build/autogen_t1-svg.pdf} @@ -388,10 +396,11 @@ When the option to add security operators is selected, there are multiple option \caption{Functional view with automatically generated security operators to ensure weak authenticity} \label{fig:secfv1} \end{figure*} - For example, using the insecure architecture and functional model from Figure \ref{fig:fv1} and \ref{fig:mapping1}, if the communication channel is marked that it should be authentic, and if we choose to ensure weak authenticity only, then the toolkit generates the functional model shown in Figure \ref{fig:secfv1}. The Message Authentication Code concatenated onto the message can only be calculated with the given key and message, and if T2 detects that they do not match, then it discards the message as it was not an authentic message sent by T1. + For example, using the insecure architecture and functional model with authenticity check from Figure \ref{fig:fv1AuthCheck} and \ref{fig:mapping1}, if the communication channel is marked that it should be authentic, and if we choose to ensure weak authenticity only, then the toolkit generates the functional model shown in Figure \ref{fig:secfv1}. The Message Authentication Code concatenated onto the message can only be calculated with the given key and message, and if T2 detects that they do not match, then it discards the message as it was not an authentic message sent by T1. If instead we chose to add weak and strong authenticity, then the tasks should exchange a nonce to avoid replay attacks, and the functional model in Figure \ref{fig:secfv2} is generated. + \begin{figure*}[htbp] \centering \includegraphics[width=0.2\textwidth]{build/autogen2_t1-svg.pdf} @@ -416,7 +425,7 @@ For example, using the model in our example, chose to ensure confidentiality, an \begin{figure*}[htbp] \centering -\includegraphics[width=0.99\textwidth]{build/hsmfunc-svg.pdf} +\includegraphics[width=0.99\textwidth]{build/hsm_fv-svg.pdf} \caption{Functional Model with added Hardware Security Module Tasks} \label{fig:hsmfunc} \end{figure*} @@ -430,8 +439,8 @@ For example, using the model in our example, chose to ensure confidentiality, an \begin{figure*}[htbp] \centering -\includegraphics[width=0.4\textwidth]{build/hsmt1-svg.pdf} -\includegraphics[width=0.4\textwidth]{build/hsmact-svg.pdf} +\includegraphics[width=0.33\textwidth]{build/hsm_ad_t1-svg.pdf} +\includegraphics[width=0.4\textwidth]{build/hsm_ad_hsm_cpu1-svg.pdf} \caption{Modified Activity Diagram of T1 and HSM} \label{fig:hsmt1act} \end{figure*} @@ -440,7 +449,7 @@ For example, using the model in our example, chose to ensure confidentiality, an \subsubsection{Mapping Keys} -With multiple Cryptographic Configurations, it may become tedious to the map all of the keys to memory. Our toolkit therefore can find every Cryptographic Configuration used by a task, and then, depending on the type of the Cryptographic Configuration, map each applicable key to a memory that the task can securely access. For Cryptographic Configurations of type symmetric encryption or MAC, both the sending and receiving task will need to be able to access the key. For asymmetric encryption, however, all the sending tasks will need the public key while only the receiving task will need to access the private key. +With multiple Cryptographic Configurations, it may become tedious to map all of the keys to memory. Our toolkit therefore can find every Cryptographic Configuration used by a task, and then, depending on the type of the Cryptographic Configuration, map each applicable key to a memory that the task can securely access. For Cryptographic Configurations of type symmetric encryption or MAC, both the sending and receiving task will need to be able to access the key. For asymmetric encryption, however, all the sending tasks will need the public key while only the receiving task will need to access the private key. At every security generation, keys are automatically generated and mapped securely. There is also the option to add keys alone after completing a design by hand. -- GitLab