Import attachment repo

Import only files used in the documentation (and their source files if
applicable).

Based on c3f45c81842d6c5df064fce385b464b4041b3b62 in qubes-attachment
repo.
This commit is contained in:
Marek Marczykowski-Górecki 2024-01-04 18:41:15 +01:00
parent b93b3c571e
commit 4a3b08fd7d
No known key found for this signature in database
GPG Key ID: F32894BE9684938A
166 changed files with 2001 additions and 0 deletions

10
attachment/COPYRIGHT.md Normal file
View File

@ -0,0 +1,10 @@
doc/Thinkpad-t430-bios-main.jpg:
[CC-BY-SA-4.0 Vitaly Zdanevich](https://commons.wikimedia.org/wiki/File:Thinkpad-t430-bios-main.jpg)
doc/r4.0-snapshot\_40.png:
[Wikipedia](https://en.wikipedia.org/wiki/Main_page) is licensed under [CC-BY-SA 3.0](https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License)
* [Image showing Tom Brady](https://commons.wikimedia.org/wiki/File:Bucs_WFT_223_\(50833097576\).jpg) is licensed under [CC-BY-SA 2.0](https://creativecommons.org/licenses/by-sa/2.0/)
* [Image showing Plate of the Sévres Efyption Service](https://commons.wikimedia.org/wiki/File:Plate_showing_statues_of_Amenhotep_III_at_Luxor,_Egypt._Commissioned_by_Napoleon_as_a_present_to_Josephine_but_she_rejected_it._From_France._The_Victoria_and_Albert_Museum,_London.jpg) is licensed under [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)
doc/r4.0-xfce-three-domains-at-work.png:
[xkcd](https://xkcd.com) is licensed under [CC-BY-NC 2.5](https://creativecommons.org/licenses/by-nc/2.5/)
["Day 116: 'Alexis'"](https://www.flickr.com/photos/66779558@N02/6968727080) is licensed under [CC-BY 2.0](https://creativecommons.org/licenses/by/2.0/)

7
attachment/README.md Normal file
View File

@ -0,0 +1,7 @@
# qubes-attachment
This repository contains binary files used for the Qubes OS Project's website,
documentation, news posts, and more. For instructions about how to use this
repo to add images to the documentation, please see:
https://www.qubes-os.org/doc/doc-guidelines/#how-to-add-images

3
attachment/_diagrams/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
*.jar
*.dl
*.png

View File

@ -0,0 +1,23 @@
PLANTUML_VER = 1.2020.0
PLANTUML_URL = https://downloads.sourceforge.net/project/plantuml/$(PLANTUML_VER)/plantuml.$(PLANTUML_VER).jar
PLANTUML_SHA256 = 7a9d2d56aeed9381066f98e3cf6450a06258ccfd4bfa7f306a62451e8af470c5
DIAGRAMS = qrexec-vm-dom0.png qrexec-dom0-vm.png qrexec-vm-vm.png
all: $(DIAGRAMS)
install:
cp qrexec-vm-dom0.png ../doc/
cp qrexec-dom0-vm.png ../doc/
cp qrexec-vm-vm.png ../doc/
./%.png: %.uml $(PLANTUML)
java -jar plantuml.jar $^
plantuml.jar:
echo "PlantUML not found. Run 'make download'."
download:
wget $(PLANTUML_URL) -O plantuml.$(PLANTUML_VER).jar.dl
echo "$(PLANTUML_SHA256) plantuml.$(PLANTUML_VER).jar.dl" | sha256sum -c
mv plantuml.$(PLANTUML_VER).jar.dl plantuml.jar

View File

@ -0,0 +1,7 @@
# Diagrams
This is source for diagrams rendered with PlantUML.
* `make download` - download PlantUML jar
* `make` (or `make all`) - render diagrams
* `make install` - copy the diagrams to destination directory

View File

@ -0,0 +1,39 @@
@startuml
box dom0 #eee
participant "client" as c
participant "daemon domX" as d
end box
box domX #eee
participant "agent" as ax
participant "fork-server" as fx
end box
-> c: qrexec-client\n-d dom0\nuser:cmd
activate c
c -> d: MSG_EXEC_CMDLINE\ndom0,0,user:cmd
activate d
note right: negotiate port\nand run user:cmd
rnote over d #fff: allocate port 513
d -> c: MSG_EXEC_CMDLINE\ndomX,513
rnote over c #fff: start vchan server\n on port 513
d -> ax: MSG_EXEC_CMDLINE\ndom0,513,user:cmd
deactivate d
activate ax
ax -> fx: MSG_EXEC_CMDLINE\ndom0,513,user:cmd
deactivate ax
activate fx
rnote over fx #fff: start cmd (as user)
fx --> c: connect over vchan port 513
-> c: stdin
c -> fx: MSG_DATA_STDIN ...
fx -> c: MSG_DATA_STDOUT / MSG_DATA_STDERR ...
<- c: stdout / stderr
rnote over fx #fff: cmd exits
fx -> c: MSG_DATA_EXIT_CODE 0
deactivate fx
<- c: exit with code 0
deactivate c
@end uml

View File

@ -0,0 +1,55 @@
@startuml
box domX #eee
participant "client-vm" as cx
participant "agent" as ax
end box
box dom0 #eee
participant "daemon domX" as d
participant "client" as c
participant "policy" as p
end box
-> cx: qrexec-client-vm\ndom0 admin.Service
activate cx
cx -> ax: MSG_TRIGGER_SERVICE3\ndom0, SOCKET,\nadmin.Service
activate ax
note over ax: 11 is the FD of\nclient-vm connection
ax -> d: MSG_TRIGGER_SERVICE3\ndom0, SOCKET11,\nadmin.Service
deactivate ax
activate d
d -> p: qrexec-policy\nX domX dom0\nadmin.Service SOCKET11
deactivate d
activate p
rnote over p #fff: evaluate policy,\ndecide to run command
p -> c: qrexec-client\n-d dom0\n-c domX,X,SOCKET11\n"QUBESRPC admin.Service\ndomX name dom0"
deactivate p
activate c
note over c: negotiating port
c -> d: MSG_SERVICE_CONNECT\ndom0,0,SOCKET11
activate d
rnote over d #fff: allocate port 513
d -> c: MSG_SERVICE_CONNECT\ndomX,513,SOCKET11
d -> ax: MSG_SERVICE_CONNECT\ndom0,513,SOCKET11
deactivate d
activate ax
ax -> cx: (no header)\ndom0,513
deactivate ax
rnote over cx #fff: start vchan server\n on port 513
rnote over c #fff: start:\nqubes-rpc-multiplexer\nadmin.Service\ndomX name dom0
c --> cx: connect over vchan port 513
-> cx: stdin
cx -> c: MSG_DATA_STDIN ...
c -> cx: MSG_DATA_STDOUT ...
<- cx: stdout
rnote over c #fff: qubes-rpc-multiplexer exits
c -> cx: MSG_DATA_EXIT_CODE 0
deactivate c
<- cx: exit with code 0
deactivate cx
@end uml

View File

@ -0,0 +1,74 @@
@startuml
box domX (source) #eee
participant "client-vm" as cx
participant "agent" as ax
end box
box dom0 #eee
participant "daemon domX" as dx
participant "client" as c
participant "policy" as p
participant "daemon domY" as dy
end box
box domY (target) #eee
participant "agent" as ay
participant "fork-server" as fy
end box
-> cx: qrexec-client-vm\n domY\nqubes.Service
activate cx
cx -> ax: MSG_TRIGGER_SERVICE3\ndomY, SOCKET,\nqubes.Service
activate ax
note over ax: 11 is the FD of\nclient-vm connection
ax -> dx: MSG_TRIGGER_SERVICE3\ndomY, SOCKET11,\nqubes.Service
deactivate ax
activate dx
dx -> p: qrexec-policy\nX domX domY\nqubes.Service SOCKET11
deactivate dx
activate p
rnote over p #fff: evaluate policy,\ndecide to run command
p -> c: qrexec-client\n-d domY\n-c domX,X,SOCKET11\n"DEFAULT:QUBESRPC\nqubes.Service domX"
deactivate p
activate c
note over c: negotiating port
c -> dy: MSG_EXEC_CMDLINE\ndomX,0,"DEFAULT:QUBESRPC\nqubes.Service domX"
activate dy
rnote over dy #fff: allocate port 513
dy -> c: MSG_EXEC_CMDLINE\ndomY,513
c -> dx: MSG_SERVICE_CONNECT\ndomY,513,SOCKET11
deactivate c
activate dx
dx -> ax: MSG_SERVICE_CONNECT\ndomY,513,SOCKET11
deactivate dx
activate ax
ax -> cx: (no header)\ndomY, 513
deactivate ax
note over cx #fff: start vchan server\non port 513
note over dy: "DEFAULT"\ngets translated to\nVM's default user
dy -> ay: MSG_EXEC_CMDLINE\ndomX,513,\n"user:QUBESRPC\nqubes.Service domX"
deactivate dy
activate ay
ay -> fy: MSG_EXEC_CMDLINE\ndomX,513,\n"user:QUBESRPC\nqubes.Service domX"
deactivate ay
activate fy
rnote over fy #fff: start:\nqubes-rpc-multiplexer\nqubes.Service domX\n(as user)
fy --> cx: connect over vchan port 513
-> cx: stdin
cx -> fy: MSG_DATA_STDIN ...
fy -> cx: MSG_DATA_STDOUT / MSG_DATA_STDERR ...
<- cx: stdout / stderr
rnote over fy #fff: qubes-rpc-multiplexer\nexits
fy -> cx: MSG_DATA_EXIT_CODE 0
deactivate fy
<- cx: exit with code 0
deactivate cx
@end uml

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
attachment/doc/add-ons.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View File

@ -0,0 +1,225 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
<svg width="25cm" height="16cm" viewBox="-1 -1 482 306" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g>
<rect style="fill: #ffffff" x="170" y="0" width="310" height="290"/>
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="170" y="0" width="310" height="290"/>
</g>
<g>
<rect style="fill: #ffffff" x="180" y="20" width="100" height="220"/>
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" x="180" y="20" width="100" height="220"/>
</g>
<g>
<rect style="fill: #ffffff" x="0" y="0" width="150" height="160"/>
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="0" y="0" width="150" height="160"/>
</g>
<g>
<rect style="fill: #ffffff" x="0" y="170" width="150" height="70"/>
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="0" y="170" width="150" height="70"/>
</g>
<text font-size="10.16" style="fill: #000000;text-anchor:start;font-family:League Spartan;font-style:normal;font-weight:700" x="0" y="9.4">
<tspan x="0" y="9.4"> mgmt-1</tspan>
<tspan x="0" y="22.1"> (gui-domain?)</tspan>
</text>
<text font-size="10.16" style="fill: #000000;text-anchor:start;font-family:League Spartan;font-style:normal;font-weight:700" x="0" y="179.4">
<tspan x="0" y="179.4"> mgmt-2 ...</tspan>
<tspan x="0" y="192.1"> (remote?)</tspan>
</text>
<text font-size="10.16" style="fill: #000000;text-anchor:start;font-family:League Spartan;font-style:normal;font-weight:700" x="170" y="9.4">
<tspan x="170" y="9.4"> dom0</tspan>
</text>
<g>
<polygon style="fill: #ffffff" points="398.279,118.274 438.208,160.053 398.279,201.832 358.35,160.053 "/>
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="398.279,118.274 438.208,160.053 398.279,201.832 358.35,160.053 "/>
<text font-size="9.03111" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="398.279" y="162.809">
<tspan x="398.279" y="162.809">qubesd</tspan>
</text>
</g>
<g>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="441.03,160.053 460,160.053 460,220 420,220 420,235.528 "/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="448.794,155.053 438.794,160.053 448.794,165.053 "/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="415,227.764 420,237.764 425,227.764 "/>
</g>
<g>
<polygon style="fill: #ffffff" points="398.508,8.58316 438.389,49.6781 398.508,90.773 358.626,49.6781 "/>
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="398.508,8.58316 438.389,49.6781 398.508,90.773 358.626,49.6781 "/>
<text font-size="9.03111" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="398.508" y="52.4337">
<tspan x="398.508" y="52.4337">libvirtd</tspan>
</text>
</g>
<g>
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="398.294" y1="115.528" x2="398.357" y2="96.127"/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="393.32,107.748 398.287,117.764 403.32,107.78 "/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="403.332,103.907 398.365,93.891 393.332,103.875 "/>
</g>
<g>
<rect style="fill: #ffffff" x="200" y="60" width="60" height="20"/>
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="200" y="60" width="60" height="20"/>
</g>
<text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="230" y="72.75">
<tspan x="230" y="72.75">qrexec call</tspan>
</text>
<g>
<ellipse style="fill: #ffffff" cx="310" cy="70" rx="10" ry="10"/>
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="310" cy="70" rx="10" ry="10"/>
</g>
<g>
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="260" y1="70" x2="294.529" y2="70"/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="286.765,75 296.765,70 286.765,65 "/>
</g>
<g>
<rect style="fill: #ffffff" x="200" y="90" width="60" height="20"/>
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="200" y="90" width="60" height="20"/>
</g>
<text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="230" y="102.75">
<tspan x="230" y="102.75">qrexec call</tspan>
</text>
<g>
<ellipse style="fill: #ffffff" cx="310" cy="100" rx="10" ry="10"/>
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="310" cy="100" rx="10" ry="10"/>
</g>
<g>
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="260" y1="100" x2="294.529" y2="100"/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="286.765,105 296.765,100 286.765,95 "/>
</g>
<g>
<rect style="fill: #ffffff" x="200" y="120" width="60" height="20"/>
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="200" y="120" width="60" height="20"/>
</g>
<text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="230" y="132.75">
<tspan x="230" y="132.75">qrexec call</tspan>
</text>
<g>
<ellipse style="fill: #ffffff" cx="310" cy="130" rx="10" ry="10"/>
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="310" cy="130" rx="10" ry="10"/>
</g>
<g>
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="260" y1="130" x2="294.529" y2="130"/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="286.765,135 296.765,130 286.765,125 "/>
</g>
<g>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="320,70 340,70 340,160.053 355.528,160.053 "/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="347.764,165.053 357.764,160.053 347.764,155.053 "/>
</g>
<g>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="320,100 340,100 340,160.053 355.528,160.053 "/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="347.764,165.053 357.764,160.053 347.764,155.053 "/>
</g>
<g>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="320,130 340,130 340,160.053 355.528,160.053 "/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="347.764,165.053 357.764,160.053 347.764,155.053 "/>
</g>
<text font-size="9.03111" style="fill: #000000;text-anchor:start;font-family:League Spartan;font-style:normal;font-weight:700" x="180" y="28.4">
<tspan x="180" y="28.4"> qrexec</tspan>
</text>
<g>
<ellipse style="fill: #ffffff" cx="230" cy="190" rx="20" ry="20"/>
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="230" cy="190" rx="20" ry="20"/>
</g>
<text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="230" y="187.811">
<tspan x="230" y="187.811">policy</tspan>
<tspan x="230" y="197.689">query</tspan>
</text>
<g>
<ellipse style="fill: #ffffff" cx="102.515" cy="62.5154" rx="32.5154" ry="32.5154"/>
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="102.515" cy="62.5154" rx="32.5154" ry="32.5154"/>
</g>
<text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="102.515" y="60.3265">
<tspan x="102.515" y="60.3265">Qubes OS</tspan>
<tspan x="102.515" y="70.2043">Manager</tspan>
</text>
<g>
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="135.936" y1="65.0813" x2="195.541" y2="69.6576"/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="187.417,74.0486 197.77,69.8288 188.183,64.078 "/>
</g>
<g>
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="134.741" y1="71.6009" x2="195.696" y2="88.7864"/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="186.866,91.492 197.848,89.3932 189.58,81.8672 "/>
</g>
<g>
<ellipse style="fill: #ffffff" cx="44.9693" cy="114.969" rx="24.9693" ry="24.9693"/>
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="44.9693" cy="114.969" rx="24.9693" ry="24.9693"/>
</g>
<text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="44.9694" y="117.719">
<tspan x="44.9694" y="117.719">CLI tools</tspan>
</text>
<g>
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="70.8961" y1="114.138" x2="195.53" y2="110.143"/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="187.93,115.389 197.765,110.072 187.61,105.395 "/>
</g>
<g>
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="70.8015" y1="117.474" x2="195.549" y2="129.568"/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="187.339,133.796 197.774,129.784 188.304,123.843 "/>
</g>
<g>
<ellipse style="fill: #ffffff" cx="114.969" cy="204.969" rx="24.9693" ry="24.9693"/>
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="114.969" cy="204.969" rx="24.9693" ry="24.9693"/>
</g>
<text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="114.969" y="202.781">
<tspan x="114.969" y="202.781">remote</tspan>
<tspan x="114.969" y="212.659">proxy</tspan>
</text>
<g>
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="135.609" y1="189.199" x2="196.446" y2="142.715"/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="193.313,151.402 198.223,141.358 187.242,143.456 "/>
</g>
<text font-size="9.03111" style="fill: #000000;text-anchor:end;font-family:League Spartan;font-style:normal;font-weight:700" x="160" y="268.4">
<tspan x="160" y="268.4">Qubes Admin API</tspan>
</text>
<g>
<line style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" x1="160" y1="260" x2="160" y2="190.5"/>
<polygon style="fill: #000000" points="162,190.5 160,180.5 158,190.5 "/>
<polygon style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" points="162,190.5 160,180.5 158,190.5 "/>
</g>
<text font-size="9.03111" style="fill: #000000;text-anchor:end;font-family:League Spartan;font-style:normal;font-weight:700" x="160" y="288.4">
<tspan x="160" y="288.4">qubesd socket API</tspan>
</text>
<g>
<line style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" x1="160" y1="280" x2="340.913" y2="175.261"/>
<polygon style="fill: #000000" points="341.915,176.992 349.567,170.251 339.911,173.53 "/>
<polygon style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" points="341.915,176.992 349.567,170.251 339.911,173.53 "/>
</g>
<g>
<line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 10; stroke: #000000" x1="10" y1="270" x2="89.1025" y2="220.994"/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="85.1358,229.334 91.0034,219.817 79.8693,220.833 "/>
</g>
<g>
<path style="fill: #ffffff" d="M 9.10799 272.906 C 6.00939,272.756 0,275.907 0.845072,282.66 C 1.69014,289.413 5.7277,290.914 7.41785,288.963 C 9.10799,287.012 4.78873,298.417 13.0517,301.419 C 21.3145,304.42 25.5399,299.618 24.3192,296.166 C 23.0986,292.715 31.5493,304.27 35.4929,297.667 C 39.4366,291.064 31.4554,284.761 33.1455,285.662 C 34.8357,286.562 40,285.362 38.3099,274.106 C 36.6197,262.851 21.4084,271.555 23.0986,269.905 C 24.7887,268.254 20.5633,260 15.3052,261.651 C 10.047,263.302 9.674,266.297 9.11062,272.9 L 9.10799,272.906z"/>
<path style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" d="M 9.10799 272.906 C 6.00939,272.756 0,275.907 0.845072,282.66 C 1.69014,289.413 5.7277,290.914 7.41785,288.963 C 9.10799,287.012 4.78873,298.417 13.0517,301.419 C 21.3145,304.42 25.5399,299.618 24.3192,296.166 C 23.0986,292.715 31.5493,304.27 35.4929,297.667 C 39.4366,291.064 31.4554,284.761 33.1455,285.662 C 34.8357,286.562 40,285.362 38.3099,274.106 C 36.6197,262.851 21.4084,271.555 23.0986,269.905 C 24.7887,268.254 20.5633,260 15.3052,261.651 C 10.047,263.302 9.674,266.297 9.11062,272.9 L 9.10799,272.906"/>
<text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="21.0723" y="286.993">
<tspan x="21.0723" y="286.993"></tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff" x="410" y="130" width="30" height="20"/>
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="410" y="130" width="30" height="20"/>
</g>
<text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="425" y="142.75">
<tspan x="425" y="142.75">ext</tspan>
</text>
<g>
<polygon style="fill: #ffffff" points="395.221,240 450.973,240 450.973,280 389.026,280 389.026,244 "/>
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="395.221,240 450.973,240 450.973,280 389.026,280 389.026,244 "/>
<text font-size="9.03111" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="421.548" y="263.822">
<tspan x="421.548" y="263.822">qubes.xml</tspan>
</text>
</g>
<g>
<polygon style="fill: #ffffff" points="314.926,240 371.342,240 371.342,280 308.658,280 308.658,244 "/>
<polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="314.926,240 371.342,240 371.342,280 308.658,280 308.658,244 "/>
<text font-size="9.03111" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="341.567" y="263.822">
<tspan x="341.567" y="263.822">RPC policy</tspan>
</text>
</g>
<g>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="250.992,190 431.72,190 431.72,210 340,210 340,235.528 "/>
<polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="335,227.764 340,237.764 345,227.764 "/>
</g>
<g>
<rect style="fill: #ffffff" x="420" y="120" width="30" height="20"/>
<rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="420" y="120" width="30" height="20"/>
</g>
<text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="435" y="132.75">
<tspan x="435" y="132.75">ext</tspan>
</text>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
attachment/doc/ctap.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

841
attachment/doc/ctap.svg Normal file
View File

@ -0,0 +1,841 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="821"
height="441"
version="1.1"
content="&lt;mxfile userAgent=&quot;Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0&quot; version=&quot;7.6.7&quot; editor=&quot;www.draw.io&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;581adbd3-4043-ab63-00c4-0d1109c21ff0&quot; name=&quot;Page-1&quot;&gt;7Vtbj+I2FP41SNuHjrBz5XGYS7dqK612tNrdRxMMpBNi6pgB+utrJzYknATMkDDMqDyg5Ng49vedm49Dz7mbr3/jZDH7i41p0sP98brn3Pcw9gdYfivBphCg0PcLyZTHYy3bCZ7if6kW9rV0GY9pVukoGEtEvKgKI5amNBIVGeGcrardJiypPnVBphQIniKSQOn3eCxmWor8wa7hM42nM/3oEAdFw4hEz1POlql+Xg87k/xTNM+JGUsvNJuRMVuVRM5Dz7njjIniar6+o4nC1sBW/O6xoXU7b05TYfODQPPyQpIlNVPOJyY2Bgy1noXuRrmg6zoKyMh078M5oO3KpMZQNqeCb2QXPZBnfqK1xdW3qx3yjukyK4GO+1pINNvT7dC7FcsLvegGADwAwIrxZwBCtornCUnl3TATnD3TO5Ywnrc5/fwjWyZxkhh5yvLOjbiV8SlYgACdhYAe7qsiJ53KdVTG8+uGc6qjkURQnhJBh0qhMwDrdqZWSIdQ1b7hx8+/y4s+gFuiJSc1nIm5HO4eAdQ1ujWAkySepvI2kuhSKR8q7GNp2re6YR6Px+oxw9UsFvRpQSL1zJV0ZFKWmy5VM+5bk+cd1G7kVLUb+VC93Vpuz1duFyr3hDOJi3RP2E8UwiMur6bq6lNBBZ0vEyJilv4CSNmBgxrga+RLWokfhXQ02SNNyseEhpNoiza0ixoGINoGXeQCdFGd6fgtwOsjAO9QxR6pdrj/SSq3co9JLJfTNpaj0HO9fY+jYk0Y0Siqs4KzwDWt3lFHve1Sxhq1osv+AQz7VbzkGvnmR/nmp+p04+VYEi5uVY6g4ElIlsWRET/GiRnibyrERicmZCmYFDEuZmzKUpL8ydiiQo1JEvLnrWPxQ89JXRePDjzryLHLGQ7RlrElj2hVEeUaplRUbZ+OK6kOJJdTZe8v1cznQED5wmI5l2alGAxuQi9ALs6/nb0Bi2nrMc6KJ55F6lLVkFOtLMQjRyauO2vihU4DD+bRcOzWsmU8hLWNOWEVzqDGxur8mdeGjWFoY0p9nvTtzgAedtLhcSvsQyt8vXlZ2q+xQgStsJGlskkF0KLQoG2LsuYluD5erFgYk2y2DXJWuKMaV4Zbd2W2wHteJ8DvhSXcWVyqCzW2Ecs7KSzVUGkiUJnK4M2YDEC0+IfTNY3UOlgSRxuYEdN0wuRq5mqRoDFOVYGDza9n79JB9PEcy/DTRjoduMcDete1CHx8s+bU79baAMABAGSb7NdlNgI4dFuOcK0wukx9ZgAw+RhVA+cgxvtVg5qtVldFgxD/j7i6vyDktZUxKShAFxLPFCB/UgGhqUzQXFho8gqnFGMuGTycECDUQab2hgUEXL91Mawc2btoDWu5GCBRIJtSh4Xa1melkfdrBUHVxkKvTPHR7n5/TyOK57+2gAAzQnV6k9dGW7S1bXmzuSB6lq2ZoLyXudjWDdqwvfBjui+ELoihC2Prx/JfDaUXS/8VXqX/Qug0B2ZyirY8mN9u0DO85WpimKtWjIomo1Cn6AmkHnXCKSAhMEWcahQ5VpE+eZxCXduobAfQoQKeL30oj0PoDDvc9cHYvKA8UyoFkOh2KxzWo3QRFBDc+17s+LaVLCZswPg6dgzuAYSuP5427QdCGDzbP7iwOwr0904CsZXjfYXDdGCZ/j1RmadGR45K6nht/1zEjleEL0UsfsMXWGpCRrPzs2TvSjcfZox3+iKLPbjX8CJLCKv8Szy5+UqncaaWCPRatd4uxUwuOI6IoD08/OPhZ43+c7KS495+uf+WQZ7eUaX2tDMq5Fi+8uW1QR50SADprlNzd195L5mZI+gqysWejE1EywWfJt+7dR1HfO+WMvtT0LcrpZnXH7osSp4bzE4HdKt5b4CoiwBy5RqJBuNVL8tcLF2svsRkkS0aiipv1mgwKzuD1msw1o4UHva/kGUiAFmv3d7XIHQk7IQNL3J34Vfl7e5PHkVivPsnjfPwHw==&lt;/diagram&gt;&lt;/mxfile&gt;"
id="svg208"
sodipodi:docname="architecture.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<metadata
id="metadata212">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1080"
id="namedview210"
showgrid="false"
inkscape:zoom="1.4640682"
inkscape:cx="472.92629"
inkscape:cy="213.58528"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="g206"
inkscape:document-rotation="0" />
<defs
id="defs2" />
<g
transform="translate(0.5,0.5)"
id="g206">
<path
d="M 500,23 V 0 h 320 v 23 z"
fill="none"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path4" />
<path
d="M 500,23 V 200 H 820 V 23"
fill="none"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path6" />
<g
fill="#000000"
font-family="Helvetica"
font-weight="bold"
text-anchor="middle"
font-size="12px"
id="g10">
<text
x="658.90997"
y="15"
id="text8">work</text>
</g>
<g
transform="translate(627.5,163.5)"
id="g16">
<switch
id="switch14">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="44"
height="12"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 45px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">CTAPHID </xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="22"
y="12"
fill="#000000"
text-anchor="middle"
font-size="12px"
font-family="Helvetica"
id="text12">CTAPHID</text>
</switch>
</g>
<rect
x="500"
y="114"
width="120"
height="60"
rx="9"
ry="9"
fill="#dae8fc"
stroke="#6c8ebf"
pointer-events="none"
id="rect18" />
<g
transform="translate(515.5,121.5)"
id="g24">
<switch
id="switch22">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="86"
height="27"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 87px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">frontend<xhtml:br />
(HID emulation)</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="43"
y="20"
fill="#000000"
text-anchor="middle"
font-size="12px"
font-family="Helvetica"
id="text20"><tspan
sodipodi:role="line"
id="tspan90"
x="43"
y="20">frontend</tspan><tspan
sodipodi:role="line"
id="tspan92"
x="43"
y="35">(HID emulation)</tspan></text>
</switch>
</g>
<rect
x="650"
y="40"
width="150"
height="120"
rx="18"
ry="18"
fill="#f8cecc"
stroke="#b85450"
pointer-events="none"
id="rect26" />
<g
transform="translate(668.5,92.5)"
id="g32">
<switch
id="switch30">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="111"
height="12"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 112px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">Browser (CTAP client)</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="56"
y="12"
fill="#000000"
text-anchor="middle"
font-size="12px"
font-family="Helvetica"
id="text28">Browser (CTAP client)</text>
</switch>
</g>
<path
d="m 644.57,133.14 -19.02,8.78"
fill="none"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path34" />
<path
d="m 649.34,130.94 -4.89,6.11 0.12,-3.91 -3.05,-2.45 z"
fill="#000000"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path36" />
<path
d="m 620.78,144.12 4.89,-6.11 -0.12,3.91 3.05,2.44 z"
fill="#000000"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path38" />
<rect
x="352.95929"
y="29.943514"
width="133.92751"
height="386.92245"
fill="#d5e8d4"
stroke="#82b366"
pointer-events="none"
id="rect40"
style="stroke-width:0.911286" />
<path
d="m 346.13,235.18 h 73.63 v 64.7 h 73.64"
fill="none"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path42" />
<path
d="m 340.88,235.18 7,-3.5 -1.75,3.5 1.75,3.5 z"
fill="#000000"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path44" />
<path
d="m 498.65,299.88 -7,3.5 1.75,-3.5 -1.75,-3.5 z"
fill="#000000"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path46" />
<path
d="m 493.4,144.59 h -73.64 v 60 h -73.63"
fill="none"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path54" />
<path
d="m 498.65,144.59 -7,3.5 1.75,-3.5 -1.75,-3.5 z"
fill="#000000"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path56" />
<path
d="m 340.88,204.59 7,-3.5 -1.75,3.5 1.75,3.5 z"
fill="#000000"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path58" />
<g
transform="translate(383.5,429.5)"
id="g64">
<switch
id="switch62">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="72"
height="41"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 73px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">qrexec policy<xhtml:br />
enforcement<xhtml:br />
in dom0</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="36"
y="-69"
fill="#000000"
text-anchor="middle"
font-size="12px"
font-family="Helvetica"
id="text60"><tspan
sodipodi:role="line"
id="tspan116"
x="36"
y="-69">qrexec policy</tspan><tspan
sodipodi:role="line"
id="tspan118"
x="36"
y="-54">enforcement</tspan><tspan
sodipodi:role="line"
x="36"
y="-39"
id="tspan122">in dom0</tspan></text>
</switch>
</g>
<path
d="m 20,143 v -23 h 320 v 23 z"
fill="none"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path66" />
<path
d="M 20,143 V 320 H 340 V 143"
fill="none"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path68" />
<g
fill="#000000"
font-family="Helvetica"
font-weight="bold"
text-anchor="middle"
font-size="12px"
id="g72">
<text
x="178.91"
y="135"
id="text70">sys-usb</text>
</g>
<g
transform="translate(147.5,163.5)"
id="g78">
<switch
id="switch76">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="44"
height="12"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 45px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">CTAPHID </xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="22"
y="12"
fill="#000000"
text-anchor="middle"
font-size="12px"
font-family="Helvetica"
id="text74">CTAPHID</text>
</switch>
</g>
<g
transform="translate(147.5,263.5)"
id="g84">
<switch
id="switch82">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="44"
height="12"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 45px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">CTAPHID </xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="22"
y="12"
fill="#000000"
text-anchor="middle"
font-size="12px"
font-family="Helvetica"
id="text80">CTAPHID</text>
</switch>
</g>
<rect
x="0"
y="150"
width="120"
height="60"
rx="9"
ry="9"
fill="#f8cecc"
stroke="#b85450"
pointer-events="none"
id="rect86" />
<g
transform="translate(18.5,164.5)"
id="g92">
<switch
id="switch90">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="80"
height="12"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 81px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">CTAP HID token</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="40"
y="12"
fill="#000000"
text-anchor="middle"
font-size="12px"
font-family="Helvetica"
id="text88"><tspan
sodipodi:role="line"
id="tspan253"
x="40"
y="12">CTAP HID token</tspan><tspan
sodipodi:role="line"
id="tspan255"
x="40"
y="27">(CTAP authenticator)</tspan></text>
</switch>
</g>
<path
d="M 213.4,204.59 H 170.35 V 179.88 H 126.13"
fill="none"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path94" />
<path
d="m 218.65,204.59 -7,3.5 1.75,-3.5 -1.75,-3.5 z"
fill="#000000"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path96" />
<path
d="m 120.88,179.88 7,-3.5 -1.75,3.5 1.75,3.5 z"
fill="#000000"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path98" />
<rect
x="220"
y="190"
width="120"
height="60"
rx="9"
ry="9"
fill="#dae8fc"
stroke="#6c8ebf"
pointer-events="none"
id="rect100" />
<g
transform="translate(255.5,212.5)"
id="g106">
<switch
id="switch104">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="47"
height="12"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 48px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">backend</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="24"
y="12"
fill="#000000"
text-anchor="middle"
font-size="12px"
font-family="Helvetica"
id="text102">backend</text>
</switch>
</g>
<rect
x="0"
y="230"
width="120"
height="60"
rx="9"
ry="9"
fill="#f8cecc"
stroke="#b85450"
pointer-events="none"
id="rect108" />
<g
transform="translate(18.5,244.5)"
id="g114">
<switch
id="switch112">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="80"
height="12"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 81px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">CTAP HID token</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="40"
y="12"
fill="#000000"
text-anchor="middle"
font-size="12px"
font-family="Helvetica"
id="text110"><tspan
sodipodi:role="line"
id="tspan257"
x="40"
y="12">CTAP HID token</tspan><tspan
sodipodi:role="line"
id="tspan259"
x="40"
y="27">(CTAP authenticator)</tspan></text>
</switch>
</g>
<path
d="m 213.4,235.18 h -43.05 v 24.7 h -44.22"
fill="none"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path116" />
<path
d="m 218.65,235.18 -7,3.5 1.75,-3.5 -1.75,-3.5 z"
fill="#000000"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path118" />
<path
d="m 120.88,259.88 7,-3.5 -1.75,3.5 1.75,3.5 z"
fill="#000000"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path120" />
<path
d="m 500,263 v -23 h 320 v 23 z"
fill="none"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path126" />
<path
d="M 500,263 V 440 H 820 V 263"
fill="none"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path128" />
<g
fill="#000000"
font-family="Helvetica"
font-weight="bold"
text-anchor="middle"
font-size="12px"
id="g132">
<text
x="658.90997"
y="255"
id="text130">personal</text>
</g>
<rect
x="500"
y="270"
width="120"
height="60"
rx="9"
ry="9"
fill="#dae8fc"
stroke="#6c8ebf"
pointer-events="none"
id="rect134" />
<g
transform="translate(515.5,277.5)"
id="g140">
<switch
id="switch138">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="86"
height="27"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 87px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">frontend<xhtml:br />
(HID emulation)</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="43"
y="20"
fill="#000000"
text-anchor="middle"
font-size="12px"
font-family="Helvetica"
id="text136"><tspan
sodipodi:role="line"
id="tspan94"
x="43"
y="20">frontend</tspan><tspan
sodipodi:role="line"
id="tspan96"
x="43"
y="35">(HID emulation)</tspan></text>
</switch>
</g>
<path
d="m 643.95,307.86 -18.14,-5.98"
fill="none"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path142" />
<path
d="m 648.94,309.51 -7.75,1.13 2.76,-2.78 -0.56,-3.87 z"
fill="#000000"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path144" />
<path
d="m 620.83,300.23 7.74,-1.13 -2.76,2.78 0.57,3.87 z"
fill="#000000"
stroke="#000000"
stroke-miterlimit="10"
pointer-events="none"
id="path146" />
<g
transform="translate(515.5,365.5)"
id="g160">
<switch
id="switch158">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="86"
height="27"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 87px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">frontend<xhtml:br />
(HID emulation)</xhtml:div>
</xhtml:div>
</foreignObject>
</switch>
</g>
<rect
x="650"
y="280"
width="150"
height="120"
rx="18"
ry="18"
fill="#f8cecc"
stroke="#b85450"
pointer-events="none"
id="rect162" />
<g
transform="translate(668.5,332.5)"
id="g168">
<switch
id="switch166">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="111"
height="12"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 112px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">Browser (CTAP client)</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="56"
y="12"
fill="#000000"
text-anchor="middle"
font-size="12px"
font-family="Helvetica"
id="text164">Browser (CTAP client)</text>
</switch>
</g>
<g
transform="translate(360.5,98.5)"
id="g174">
<switch
id="switch172">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="119"
height="41"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 120px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">u2f.Register<xhtml:br />
u2f.Authenticate+KEY<xhtml:br />
(raw APDUs)</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="60"
y="-39"
fill="#000000"
text-anchor="middle"
font-size="12px"
font-family="Helvetica"
id="text170"><tspan
sodipodi:role="line"
id="tspan100"
x="60"
y="-39">ctap.GetInfo</tspan><tspan
sodipodi:role="line"
x="60"
y="-24"
id="tspan112">ctap.ClientPin</tspan><tspan
sodipodi:role="line"
x="60"
y="-9"
id="tspan114">u2f.Register</tspan><tspan
sodipodi:role="line"
x="60"
y="6"
id="tspan104">u2f.Authenticate+KEY</tspan><tspan
sodipodi:role="line"
x="60"
y="21"
id="tspan106">(raw CBOR/APDU)</tspan></text>
</switch>
</g>
<g
transform="translate(59.5,452.5)"
id="g182">
<switch
id="switch180">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="99"
height="12"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 100px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">CTAP HID softtoken</xhtml:div>
</xhtml:div>
</foreignObject>
</switch>
</g>
<g
transform="translate(255.5,452.5)"
id="g190">
<switch
id="switch188">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="47"
height="12"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 48px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">backend</xhtml:div>
</xhtml:div>
</foreignObject>
</switch>
</g>
<g
fill="#000000"
font-family="Helvetica"
font-weight="bold"
text-anchor="middle"
font-size="12px"
id="g204" />
<g
transform="translate(599.78076,342.20152)"
id="g16-3">
<switch
id="switch14-6">
<foreignObject
style="overflow:visible;"
pointer-events="all"
width="44"
height="12"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 45px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
<xhtml:div
style="display:inline-block;text-align:inherit;text-decoration:inherit;">CTAPHID </xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="22"
y="12"
fill="#000000"
text-anchor="middle"
font-size="12px"
font-family="Helvetica"
id="text12-7">CTAPHID</text>
</switch>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1016 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
attachment/doc/grub1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
attachment/doc/grub2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

BIN
attachment/doc/grub3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

BIN
attachment/doc/gui.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

BIN
attachment/doc/ipv6-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1 @@
<mxfile userAgent="Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0" version="8.0.2" editor="www.draw.io" type="device"><diagram id="32a8e41c-a064-97f3-9a90-4db0e0e6f5c1" name="Page-1">5VjbctsgEP0aPaYjgyTLj7GTXmbaTmby0OQRS2uJBgsVocjq1xcJbF2wM27i3No8ZOCwu8A5y4Ls4MV680mQPP3GY2AOcuONgy8chDzPVf8boNZAOMMaSASNNTTpgGv6Gwxo/JKSxlAMDCXnTNJ8CEY8yyCSA4wIwauh2Yqz4aw5ScACriPCbPQHjWVqduG7Hf4ZaJJuZ564ZmRJortE8DIz8zkIr9o/Pbwm21jGvkhJzKsehC8dvBCcS91abxbAGmq3tGm/jwdGd+sWkMljHJB2uCesNFsv6uIsA+mggKkI86VQraRp0fw+UCZmikLWW7La7ULcjuF5lVIJ1zmJmtFKZYfCUrlmZnhFGVtwxkXri2MfwthTeCEFv4PeSIiWOFATzs0KQUjYHNzlZMedSknga5CiViabYVrVO7l0v+q0nWwVSXu6BgYjJp2SXeSOUtUwrB6QxCYMYpVspsuFTHnCM8IuO3TeUeoO6YMNlTe99m1j8sFvepla2I3xaDvd2E+QsjanjJSSK6ib9yvnuYmoV9os72Gi1W54KSJjZY62JCIBYzXdL4cARiS9H0bfR27rei4EqXsGOaeZLCzud/GPkwM9vxzozekRPq8eJvJVA/ROHR4eO6sWje0D/0n2E88dJYde8aNTBf+HJ3f2KpnyROWD0wqP916KKyqgIo3hu7//Zi94/3kWmd91JiH3y5V6UVhHjDH1ymuOknob5Q0YMV7G74TZI4kNT0CsbxFrc5nF581ruCWRFAWNRjVpV3m6QnRrCtHxFaVfPtB+tnp8+Hvo2GJ/V2WssjAdihEGwwC68hmfB6pLMLq2piOx9H6tOI8oNMFbkbB/KSBbVfyaqo6OGEYjOd6erFNLVvXt5J3xjNVnv8olHPy2OunVsgojiKJ9BXAZ+p7vnqYAIvcV75bQIjoHUTRPo3d4SVtMvuRX6sxisuLi7h9gET8fiarb/VCjy0T3Yxi+/AM=</diagram></mxfile>

BIN
attachment/doc/ipv6-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1 @@
<mxfile userAgent="Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0" version="8.0.2" editor="www.draw.io" type="device"><diagram id="144a4769-0002-f4b6-27d0-e28edd050a98" name="Page-1">1VjLcpswFP0alukghDFe1m76mGlnMpNFk6UMMtDIiBGyMf36SiAeQrhDEj9iLzzS0b1CnHN1r4QFV9vDN4ay+BcNMbEcOzxY8IvlOK5ri38JlDXgL2ANRCwJawh0wGPyFytQ+UW7JMS5ZsgpJTzJdDCgaYoDrmGIMVroZhtK9KdmKMIG8BggYqK/k5DH6i1mdod/x0kUN08GthpZo+AlYnSXqudZDtxUv3p4i5q5lH0eo5AWPQjeW3DFKOV1a3tYYSKpbWir/b4eGW3XzXDKpzg4tcMekZ169bzM71LM1fJ42VBSvRSWbsCCyyJOOH7MUCBHCxEDAov5lqjhTULIihLKKl+48QMcBALPOaMvuDey9meuYBUu1Tow4/hw9F1Ay5AIPEy3mLNSmBz04ClbUep+0SkIGt7jnnqewpAKmqiduSNONBR34zxCgy8ciohSXcp4TCOaInLfocuOUVtnDx8S/tRrP0uTTzPZS8W6npRH1enG/mDOS7WV0I5TAXXP/UlppmasVyqXp/Gc0x0LFORNpp5hgniy16caI7Jy/cwYKnsGGU1SnusB+iCxTlTH1lVtd04zB0cswlx5DQRrFzpJQ+CfQ0QlnJIRaCJ2mj6rCd4poqHYqK41ZcrKe6ewU3cIWNz8FnkDu/BC7HqjeXyTMFwgaXjzyXxxwWQ+N8j88bB3BSLqYkHZixnIhIiTiQxYUc8zCQaE7sIboXYis/4JmPUNZk0u0/CzPMFVJKI8T4LBzv9P9jyyb/s70pnMVo+P2QgdDfa6CmjUt7kuhu/pE9T5xahuxjTeoErOz1YlF1eRsJ9nHVPV6QeWy6g62GJweGj5eLICYOiaYZbLwnjS6hHOsB+6YynOd9bQ806U4uZXvAsA81I1WjVuj0Z4SRZdM6+c9bwIrAufFwE0Exk48z1rPM1AMH7JOpaWhvbAtQfS1it4czKanV/7+QcU37mG+M7ifeK/1t47caxAI9vKqw/HDIfUcjwiyF2umWhFspVke68S7vaz8UXvRMC8YQoq3TuakvKkXF7lDtQerM5Apeh233PrAO++mcP7fw==</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 762 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 502 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 368 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

Some files were not shown because too many files have changed in this diff Show More