From be2e8e119830a798b6fbdbf8803674e4aba79ac0 Mon Sep 17 00:00:00 2001 From: jaseg Date: Thu, 29 Nov 2018 18:46:35 +0900 Subject: Add system diagram for traditional system --- directions/system_diagram_with_secureusb.svg | 1472 +++-- directions/system_diagram_without_secureusb.svg | 7061 +++++++++++++++++++++++ 2 files changed, 7762 insertions(+), 771 deletions(-) create mode 100644 directions/system_diagram_without_secureusb.svg diff --git a/directions/system_diagram_with_secureusb.svg b/directions/system_diagram_with_secureusb.svg index ba3e723..3c30ca1 100644 --- a/directions/system_diagram_with_secureusb.svg +++ b/directions/system_diagram_with_secureusb.svg @@ -82,9 +82,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="1" - inkscape:cx="343.15669" - inkscape:cy="477.58302" + inkscape:zoom="0.70710679" + inkscape:cx="239.57751" + inkscape:cy="699.28303" inkscape:document-units="mm" inkscape:current-layer="layer2" showgrid="false" @@ -137,839 +137,841 @@ style="opacity:1;"> + style="opacity:1;vector-effect:none;fill:#fffde9;fill-opacity:1;stroke:none;stroke-width:0.55275005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.10550008, 1.10550008;stroke-dashoffset:0;stroke-opacity:1" + transform="translate(0,-11.90625)"> + style="opacity:1;vector-effect:none;fill:#fffde9;fill-opacity:1;stroke:none;stroke-width:0.55275005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.10550008, 1.10550008;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:1;vector-effect:none;fill:#fffde9;fill-opacity:1;stroke:none;stroke-width:0.55275005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.10550008, 1.10550008;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:1;vector-effect:none;fill:#fffde9;fill-opacity:1;stroke:none;stroke-width:0.55275005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.10550008, 1.10550008;stroke-dashoffset:0;stroke-opacity:1" /> + style="stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" + transform="translate(0,-11.90625)"> @@ -983,46 +985,46 @@ style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:1;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> @@ -1170,120 +1172,120 @@ + style="opacity:1;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> @@ -1291,241 +1293,241 @@ + style="opacity:1;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14081717;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> @@ -1535,29 +1537,29 @@ inkscape:connector-curvature="0" id="path1412-7-7-1-4" d="m 70.026691,44.53516 27.241102,3.31463 v 5.930119" - style="opacity:1;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /> + style="opacity:1;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;vector-effect:none;fill:#dbdbdb;fill-opacity:1;stroke:none;stroke-width:0.22569351;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:0.45138701, 0.45138701;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:1;vector-effect:none;fill:#fffde9;fill-opacity:1;stroke:none;stroke-width:0.55275005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.10550008, 1.10550008;stroke-dashoffset:0;stroke-opacity:1" + transform="translate(0,-11.90625)"> + style="opacity:1;vector-effect:none;fill:#fffde9;fill-opacity:1;stroke:none;stroke-width:0.55275005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.10550008, 1.10550008;stroke-dashoffset:0;stroke-opacity:1" /> + style="fill:#ffffff;stroke:#ffffff;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" + transform="translate(0,-11.90625)"> Physical layout Switch matrix Keyboard controller USB host/USB host/crypto controller crypto controller USB host controller USB host controller OS kernel OS kernel Forwarding daemon Forwarding daemon Decryption daemon Decryption daemon USB device controller USB device controller GUI stack GUI stack Applications + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Source Serif Pro';-inkscape-font-specification:'Source Serif Pro';text-align:end;text-anchor:end;fill:#ffffff;stroke:#ffffff;stroke-width:5.6692915;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none">Applications + style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.22569351;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:0.45138701, 0.45138701;stroke-dashoffset:0;stroke-opacity:1" /> + transform="matrix(0.93422266,0,0,0.93422266,28.982289,-57.616496)"> @@ -2618,13 +2622,14 @@ + id="g4134" + transform="translate(0,-11.90625)"> @@ -2684,7 +2689,7 @@ xml:space="preserve" id="flowRoot2440" style="font-style:normal;font-weight:normal;font-size:16px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - transform="matrix(0.26458333,0,0,0.26458333,-46.247238,-31.788433)">Physical layout Switch matrix + transform="matrix(0.92637134,0,0,0.92637134,-26.555068,-65.029072)"> + id="g3320"> + transform="translate(2.1118436,-1.3224913)"> + transform="translate(1.0583333,-0.52916667)"> + id="g3019"> + id="g3012"> + transform="translate(-0.64492187,0.42994792)"> + id="g2548-0"> + id="g2548-0-2"> + id="g2548-0-1"> + id="g2548-0-4"> + id="g2548-0-0"> + id="g2548-0-7"> + id="g2548-0-19"> + transform="translate(-16.288412,-2.199349)"> + transform="translate(-14.253753,-1.9083899)"> + transform="translate(-12.21909,-1.6174304)"> + transform="translate(-10.184432,-1.3264608)"> + transform="translate(-8.1497749,-1.0355073)"> + transform="translate(-6.1151129,-0.7445526)"> + transform="translate(-4.0804541,-0.45356936)"> + transform="translate(-2.045793,-0.16259991)"> + transform="translate(-0.01113126,0.12834473)"> Keyboard controller + transform="matrix(0.93422265,0,0,0.93422265,37.616373,-45.622969)"> + id="g1707-7-6"> + transform="matrix(0.93422265,0,0,0.93422265,35.631973,-44.022626)"> + id="g1707-7-5"> + transform="matrix(0.93422265,0,0,0.93422265,33.647568,-42.422268)"> + id="g1707-7"> + transform="matrix(0.93422265,0,0,0.93422265,31.663168,-40.821929)"> + id="g1707"> @@ -4811,8 +4788,9 @@ + d="m 130.5157,128.55907 a 5.7041769,2.6883736 0 0 1 -5.70418,2.68837 5.7041769,2.6883736 0 0 1 -5.70417,-2.68837 5.7041769,2.6883736 0 0 1 5.70417,-2.68838 5.7041769,2.6883736 0 0 1 5.70418,2.68838 z" + id="path5729" + inkscape:connector-curvature="0" /> + transform="translate(0,-36.789043)"> USB host/crypto controller + style="opacity:1;fill:#ffffff;stroke:#ffffff;stroke-width:2.15896153;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> @@ -4968,409 +4946,409 @@ + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.34345388;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + style="fill:#ffffff;stroke:#ffffff;stroke-width:3.34345388;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"> + transform="matrix(0.64572789,0,0,0.64572789,82.139951,54.961885)"> + id="g3150-4-4"> + id="g3150-2"> + id="g3019-7"> + id="g3012-1"> + id="g2548-4"> + transform="translate(-1.887981,1.4543859)"> + transform="translate(-3.1310473,2.478818)"> + transform="translate(-4.3741077,3.5032548)"> + transform="translate(-5.6171681,4.5276916)"> + transform="translate(-6.8602285,5.5521285)"> + transform="translate(-8.103293,6.5765653)"> + transform="translate(-9.3463534,7.6010021)"> + id="g2852-09"> + id="g2852-2-5"> + id="g2852-4-2"> + id="g2852-6-0"> + id="g2852-23-1"> + id="g2852-7-8"> + id="g2852-0-7"> + id="g2852-9-8"> + id="g2852-91-6"> + transform="matrix(0.75821879,0,0,0.75821879,19.686192,-11.526834)"> + transform="matrix(0.75821878,0,0,0.75821878,19.685833,-11.523238)"> + transform="matrix(0.53620753,0,0,0.53620753,42.018159,55.089372)"> + transform="translate(0,26.353369)"> @@ -6723,7 +6676,7 @@ inkscape:connector-curvature="0" /> @@ -6733,7 +6686,7 @@ style="font-style:normal;font-weight:normal;font-size:16px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" id="flowRoot2440-9-8-4-31" xml:space="preserve" - transform="matrix(0.26458333,0,0,0.26458333,-25.564826,113.3129)">Decryption daemon + transform="matrix(0.64572789,0,0,0.64572789,82.139951,54.961885)"> + id="g3150-4-4-7"> + id="g3150-2-5"> + id="g3019-7-0"> + id="g3012-1-6"> + id="g2548-4-4"> + transform="translate(-1.887981,1.4543859)"> + transform="translate(-3.1310473,2.478818)"> + transform="translate(-4.3741077,3.5032548)"> + transform="translate(-5.6171681,4.5276916)"> + transform="translate(-6.8602285,5.5521285)"> + transform="translate(-8.103293,6.5765653)"> + transform="translate(-9.3463534,7.6010021)"> + id="g2852-09-1"> + id="g2852-2-5-8"> + id="g2852-4-2-3"> + id="g2852-6-0-5"> + id="g2852-23-1-0"> + id="g2852-7-8-4"> + id="g2852-0-7-5"> + id="g2852-9-8-8"> + id="g2852-91-6-5"> + transform="translate(-2.9934187,-11.90625)"> + transform="translate(-0.59793094,13.257151)"> USB device controller + transform="matrix(0.64572789,0,0,0.64572789,82.139951,54.961885)"> + id="g3150-4-4-4"> + id="g3150-2-8"> + id="g3019-7-08"> + id="g3012-1-64"> + id="g2548-4-5"> + transform="translate(-1.887981,1.4543859)"> + transform="translate(-3.1310473,2.478818)"> + transform="translate(-4.3741077,3.5032548)"> + transform="translate(-5.6171681,4.5276916)"> + transform="translate(-6.8602285,5.5521285)"> + transform="translate(-8.103293,6.5765653)"> + transform="translate(-9.3463534,7.6010021)"> + id="g2852-09-7"> + id="g2852-2-5-9"> + id="g2852-4-2-7"> + id="g2852-6-0-8"> + id="g2852-23-1-1"> + id="g2852-7-8-0"> + id="g2852-0-7-2"> + id="g2852-9-8-0"> + id="g2852-91-6-54"> + transform="matrix(0.75821879,0,0,0.75821879,19.685832,51.183012)"> + style="fill:#bfbfbf;stroke:#fffde9;stroke-width:2.45964575;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"> + style="opacity:1;vector-effect:none;fill:#bfbfbf;fill-opacity:1;fill-rule:evenodd;stroke:#fffde9;stroke-width:2.45964575;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:1;fill:#bfbfbf;fill-rule:evenodd;stroke:#fffde9;stroke-width:2.45964575;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:#bfbfbf;fill-rule:evenodd;stroke:#fffde9;stroke-width:2.45964575;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> @@ -10027,81 +9935,81 @@ inkscape:connector-curvature="0" id="path5043-3-0" d="M 78.150444,111.66528 74.2742,113.91035" - style="opacity:1;fill:#bfbfbf;fill-rule:evenodd;stroke:#fffde9;stroke-width:2.45964567;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:#bfbfbf;fill-rule:evenodd;stroke:#fffde9;stroke-width:2.45964575;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + style="opacity:1;fill:#bfbfbf;fill-rule:evenodd;stroke:#fffde9;stroke-width:2.45964575;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + transform="matrix(0.75821879,0,0,0.75821879,19.685832,51.183011)"> + transform="matrix(0.53620753,0,0,0.53620753,42.018159,55.089372)"> Applications + + style="stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none" + transform="translate(0,-11.90625)"> + + + + + + inkscape:export-ydpi="1280"> + transform="matrix(0.8395554,0,0,0.8395554,-5.4374857,-3.2733875)"> + transform="matrix(0.93546514,0,0,0.93546514,-1.0854549,1.4271834)"> + transform="matrix(0.48951256,0,0,0.48951256,88.891965,102.1085)" + style="opacity:1;stroke:#ffffff;stroke-width:4.08569717;stroke-miterlimit:4;stroke-dasharray:none"> + style="stroke:#ffffff;stroke-width:4.08569717;stroke-miterlimit:4;stroke-dasharray:none"> + id="g6094"> @@ -10504,7 +10434,7 @@ transform="matrix(0.26458333,0,0,0.26458333,145.6944,119.77935)"> SecureHID device RegularUSB Keyboard QubesOS machine + y="123.30882" /> + transform="matrix(-1,0,0,1,186.55741,-11.90625)"> Authenticated, encrypted tunnel traverses untrusted USB setup + transform="rotate(9.0393804,249.77685,150.27836)"> Untrusted USB setup may be attacked by malicious devices diff --git a/directions/system_diagram_without_secureusb.svg b/directions/system_diagram_without_secureusb.svg new file mode 100644 index 0000000..f2ec8ff --- /dev/null +++ b/directions/system_diagram_without_secureusb.svg @@ -0,0 +1,7061 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Physical layout Switch matrix Keyboard controller USB host controller OS kernel GUI stack Applications + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Physical layout Switch matrix Keyboard controller + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PDF2SVG Demo + www.pdft on.com + + + + + + + + + + + + + USB host controller OS kernel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 001010101110010010101001001010100010010110011101010001100110100011010 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GUI stack Applications + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RegularUSB Keyboard Standard Linux/Windows/Mac installation + Raw privileged input commands traverse trusted USB setup unprotected + + + + Trusted USB setup may be attacked by malicious devices + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit