<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://sarwiki.informatik.hu-berlin.de/index.php?action=history&amp;feed=atom&amp;title=Eg.gnubby-protokoll_explained.txt</id>
	<title>Eg.gnubby-protokoll explained.txt - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://sarwiki.informatik.hu-berlin.de/index.php?action=history&amp;feed=atom&amp;title=Eg.gnubby-protokoll_explained.txt"/>
	<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Eg.gnubby-protokoll_explained.txt&amp;action=history"/>
	<updated>2026-04-28T04:51:18Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Eg.gnubby-protokoll_explained.txt&amp;diff=11658&amp;oldid=prev</id>
		<title>Wolfm: Created page with &quot;&lt;pre&gt; Analyse aller APDU-Daten des Protokolls:  Die INS-Bytes der Kommandos sind wie folgt definiert: #define U2F_REGISTER            0x01    // Registration command #define U2F_…&quot;</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Eg.gnubby-protokoll_explained.txt&amp;diff=11658&amp;oldid=prev"/>
		<updated>2015-06-30T15:17:20Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;pre&amp;gt; Analyse aller APDU-Daten des Protokolls:  Die INS-Bytes der Kommandos sind wie folgt definiert: #define U2F_REGISTER            0x01    // Registration command #define U2F_…&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Analyse aller APDU-Daten des Protokolls:&lt;br /&gt;
&lt;br /&gt;
Die INS-Bytes der Kommandos sind wie folgt definiert:&lt;br /&gt;
#define U2F_REGISTER            0x01    // Registration command&lt;br /&gt;
#define U2F_AUTHENTICATE        0x02    // Authenticate/sign command&lt;br /&gt;
#define U2F_VERSION             0x03    // Read version string command&lt;br /&gt;
#define U2F_VENDOR_FIRST        0xc0    // First vendor defined command&lt;br /&gt;
#define U2F_VENDOR_LAST         0xff    // Last vendor defined command&lt;br /&gt;
&lt;br /&gt;
Nur die ersten drei findet man im Protokoll.&lt;br /&gt;
&lt;br /&gt;
Registration CAPDU&lt;br /&gt;
=======================================&lt;br /&gt;
(Frame 5)&lt;br /&gt;
00 01 03 00 00 00 40 27 de 26 93 d1 df b9 ae 61 9b 6e b5 26 05 12 a1 d7&lt;br /&gt;
bb 46 53 7c 79 f3 a6 34 ac 84 3d de b2 82 27 a1 aa 11 af f7 e7 12 52 fe&lt;br /&gt;
5e 32 aa 80 b4 25 a0 fa fb e5 f8 a5 ea 76 73 16 a2 56 2a b4 8d bf 56 00&lt;br /&gt;
00&lt;br /&gt;
&lt;br /&gt;
: CLA : 00&lt;br /&gt;
: INS : 01&lt;br /&gt;
: P1 P2 : 03 00&lt;br /&gt;
: Lc : 00 00 40&lt;br /&gt;
: registration request challenge RGCH :&lt;br /&gt;
27 de 26 93 d1 df b9 ae 61 9b 6e b5 26 05 12 a1 d7 bb 46 53 7c 79 f3 a6&lt;br /&gt;
34 ac 84 3d de b2 82 27&lt;br /&gt;
: application parameter APID :&lt;br /&gt;
a1 aa 11 af f7 e7 12 52 fe 5e 32 aa 80 b4 25 a0 fa fb e5 f8 a5 ea 76 73&lt;br /&gt;
16 a2 56 2a b4 8d bf 56&lt;br /&gt;
: Le (maximum) : 00 00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Registration RAPDU&lt;br /&gt;
=======================================&lt;br /&gt;
(Frame 42)&lt;br /&gt;
05 04 c8 e6 bf d7 d8 a6 5d 72 fe 13 bc e4 9f 8e 0a a7 5e e3 f4 88 34 4d&lt;br /&gt;
cd 73 2b 31 97 cc ee 25 99 f2 9b 65 05 f2 99 6c 4a 59 6a c5 df e7 b8 fd&lt;br /&gt;
df 04 bb 4b 99 7c a1 80 9e 8a 95 42 a5 5c 87 5a 98 4b 40 84 f2 01 9b d9&lt;br /&gt;
5d 1e 0d 86 72 c4 54 48 86 8c 41 89 4e df 95 7b f6 e9 ed 4b 80 17 35 2f&lt;br /&gt;
e9 bc 08 8e 0f ff 27 c1 d9 0d 1b 0a ee 2a 13 09 29 3c 7e 18 c5 24 58 e8&lt;br /&gt;
01 4a ac f1 7f f2 5a 44 2f a0 50 30 82 01 42 30 81 ea a0 03 02 01 02 02&lt;br /&gt;
09 01 23 33 ff ff ff ff 46 58 30 0a 06 08 2a 86 48 ce 3d 04 03 02 30 1b&lt;br /&gt;
31 19 30 17 06 03 55 04 03 13 10 47 6e 75 62 62 79 20 48 53 4d 20 43 41&lt;br /&gt;
20 30 30 30 22 18 0f 32 30 31 32 30 36 30 31 30 30 30 30 30 30 5a 18 0f&lt;br /&gt;
32 30 36 32 30 35 33 31 32 33 35 39 35 39 5a 30 30 31 19 30 17 06 03 55&lt;br /&gt;
04 03 13 10 47 6f 6f 67 6c 65 20 47 6e 75 62 62 79 20 76 30 31 13 30 11&lt;br /&gt;
06 03 55 04 2d 03 0a 00 01 23 33 ff ff ff ff 46 58 30 59 30 13 06 07 2a&lt;br /&gt;
86 48 ce 3d 02 01 06 08 2a 86 48 ce 3d 03 01 07 03 42 00 04 c1 c4 d0 26&lt;br /&gt;
3e 51 dd 29 49 8f 8b 8a 85 fa ea b5 04 9b 68 16 63 95 33 63 dd bf 2f e2&lt;br /&gt;
ca 25 10 cf cf d3 33 7c b8 0e 46 1a 05 24 08 23 8d 19 95 b3 db 0b 98 e5&lt;br /&gt;
1e 31 0a 34 73 69 c7 74 9b f7 94 47 30 0a 06 08 2a 86 48 ce 3d 04 03 02&lt;br /&gt;
03 47 00 30 44 02 20 1c 6e 09 73 03 ac e9 b9 7a fa f4 49 ca 54 3c af 76&lt;br /&gt;
27 df d4 5b 90 45 da 2c 7a e2 54 47 a9 6a 6e 02 20 53 66 d3 9a 92 9a 66&lt;br /&gt;
ba ae e4 c9 cd d1 cd f8 e9 9b 97 a1 19 83 4d 36 2b f9 cd 10 d3 42 0e ae&lt;br /&gt;
5d 30 44 02 20 2d 08 bb 43 fa bf e3 cc 66 ac 93 6a d4 59 ad 41 59 4c ff&lt;br /&gt;
67 be eb 00 56 11 6d 24 45 a4 9a b1 54 02 20 5f 43 95 33 91 aa bc e6 8e&lt;br /&gt;
69 48 01 ca 10 8f b9 8b e9 da af 3a fd 65 b3 3a d4 ce 2e 99 bc c5 ab 90&lt;br /&gt;
00&lt;br /&gt;
&lt;br /&gt;
: fixed Byte 0x05 : 05&lt;br /&gt;
: public key PUBK :&lt;br /&gt;
04 c8 e6 bf d7 d8 a6 5d 72 fe 13 bc e4 9f 8e 0a a7 5e e3 f4 88 34 4d cd&lt;br /&gt;
73 2b 31 97 cc ee 25 99 f2 9b 65 05 f2 99 6c 4a 59 6a c5 df e7 b8 fd df&lt;br /&gt;
04 bb 4b 99 7c a1 80 9e 8a 95 42 a5 5c 87 5a 98 4b&lt;br /&gt;
: key handle length khl : 40&lt;br /&gt;
: key handle KEYH :&lt;br /&gt;
84 f2 01 9b d9 5d 1e 0d 86 72 c4 54 48 86 8c 41 89 4e df 95 7b f6 e9 ed&lt;br /&gt;
4b 80 17 35 2f e9 bc 08 8e 0f ff 27 c1 d9 0d 1b 0a ee 2a 13 09 29 3c 7e&lt;br /&gt;
18 c5 24 58 e8 01 4a ac f1 7f f2 5a 44 2f a0 50&lt;br /&gt;
: attestation cert ATTC :&lt;br /&gt;
30 82 01 42 30 81 ea a0 03 02 01 02 02 09 01 23 33 ff ff ff ff 46 58 30 &lt;br /&gt;
0a 06 08 2a 86 48 ce 3d 04 03 02 30 1b 31 19 30 17 06 03 55 04 03 13 10&lt;br /&gt;
47 6e 75 62 62 79 20 48 53 4d 20 43 41 20 30 30 30 22 18 0f 32 30 31 32&lt;br /&gt;
30 36 30 31 30 30 30 30 30 30 5a 18 0f 32 30 36 32 30 35 33 31 32 33 35&lt;br /&gt;
39 35 39 5a 30 30 31 19 30 17 06 03 55 04 03 13 10 47 6f 6f 67 6c 65 20&lt;br /&gt;
47 6e 75 62 62 79 20 76 30 31 13 30 11 06 03 55 04 2d 03 0a 00 01 23 33&lt;br /&gt;
ff ff ff ff 46 58 30 59 30 13 06 07 2a 86 48 ce 3d 02 01 06 08 2a 86 48&lt;br /&gt;
ce 3d 03 01 07 03 42 00 04 c1 c4 d0 26 3e 51 dd 29 49 8f 8b 8a 85 fa ea&lt;br /&gt;
b5 04 9b 68 16 63 95 33 63 dd bf 2f e2 ca 25 10 cf cf d3 33 7c b8 0e 46&lt;br /&gt;
1a 05 24 08 23 8d 19 95 b3 db 0b 98 e5 1e 31 0a 34 73 69 c7 74 9b f7 94&lt;br /&gt;
47 30 0a 06 08 2a 86 48 ce 3d 04 03 02 03 47 00 30 44 02 20 1c 6e 09 73&lt;br /&gt;
03 ac e9 b9 7a fa f4 49 ca 54 3c af 76 27 df d4 5b 90 45 da 2c 7a e2 54&lt;br /&gt;
47 a9 6a 6e 02 20 53 66 d3 9a 92 9a 66 ba ae e4 c9 cd d1 cd f8 e9 9b 97&lt;br /&gt;
a1 19 83 4d 36 2b f9 cd 10 d3 42 0e ae 5d&lt;br /&gt;
: EC-DSA-Signatur RSIG (registration.req.sig) :&lt;br /&gt;
30 44 02 20 2d 08 bb 43 fa bf e3 cc 66 ac 93 6a d4 59 ad 41 59 4c ff 67&lt;br /&gt;
be eb 00 56 11 6d 24 45 a4 9a b1 54 02 20 5f 43 95 33 91 aa bc e6 8e 69&lt;br /&gt;
48 01 ca 10 8f b9 8b e9 da af 3a fd 65 b3 3a d4 ce 2e 99 bc c5 ab&lt;br /&gt;
: Status Word : 90 00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data to be signed (registration.req.dtbs)&lt;br /&gt;
: RFU byte : 00&lt;br /&gt;
: application parameter APID :&lt;br /&gt;
a1 aa 11 af f7 e7 12 52 fe 5e 32 aa 80 b4 25 a0 fa fb e5 f8 a5 ea 76 73&lt;br /&gt;
16 a2 56 2a b4 8d bf 56&lt;br /&gt;
: registration request challenge RGCH :&lt;br /&gt;
27 de 26 93 d1 df b9 ae 61 9b 6e b5 26 05 12 a1 d7 bb 46 53 7c 79 f3 a6&lt;br /&gt;
34 ac 84 3d de b2 82 27&lt;br /&gt;
: key handle KEYH :&lt;br /&gt;
84 f2 01 9b d9 5d 1e 0d 86 72 c4 54 48 86 8c 41 89 4e df 95 7b f6 e9 ed&lt;br /&gt;
4b 80 17 35 2f e9 bc 08 8e 0f ff 27 c1 d9 0d 1b 0a ee 2a 13 09 29 3c 7e&lt;br /&gt;
18 c5 24 58 e8 01 4a ac f1 7f f2 5a 44 2f a0 50&lt;br /&gt;
: public key PUBK :&lt;br /&gt;
04 c8 e6 bf d7 d8 a6 5d 72 fe 13 bc e4 9f 8e 0a a7 5e e3 f4 88 34 4d cd&lt;br /&gt;
73 2b 31 97 cc ee 25 99 f2 9b 65 05 f2 99 6c 4a 59 6a c5 df e7 b8 fd df&lt;br /&gt;
04 bb 4b 99 7c a1 80 9e 8a 95 42 a5 5c 87 5a 98 4b&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
attestation certificate ATTC (attestation.pem)&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIBQjCB6qADAgECAgkBIzP/////RlgwCgYIKoZIzj0EAwIwGzEZMBcGA1UEAxMQ&lt;br /&gt;
R251YmJ5IEhTTSBDQSAwMDAiGA8yMDEyMDYwMTAwMDAwMFoYDzIwNjIwNTMxMjM1&lt;br /&gt;
OTU5WjAwMRkwFwYDVQQDExBHb29nbGUgR251YmJ5IHYwMRMwEQYDVQQtAwoAASMz&lt;br /&gt;
/////0ZYMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwcTQJj5R3SlJj4uKhfrq&lt;br /&gt;
tQSbaBZjlTNj3b8v4solEM/P0zN8uA5GGgUkCCONGZWz2wuY5R4xCjRzacd0m/eU&lt;br /&gt;
RzAKBggqhkjOPQQDAgNHADBEAiAcbglzA6zpuXr69EnKVDyvdiff1FuQRdoseuJU&lt;br /&gt;
R6lqbgIgU2bTmpKaZrqu5MnN0c346ZuXoRmDTTYr+c0Q00IOrl0=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
&lt;br /&gt;
extracted attestation key (attestation.key)&lt;br /&gt;
-----BEGIN PUBLIC KEY-----&lt;br /&gt;
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwcTQJj5R3SlJj4uKhfrqtQSbaBZj&lt;br /&gt;
lTNj3b8v4solEM/P0zN8uA5GGgUkCCONGZWz2wuY5R4xCjRzacd0m/eURw==&lt;br /&gt;
-----END PUBLIC KEY-----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
openssl dgst -verify attestation.key -signature registration.req.sig -sha256 registration.req.dtbs&lt;br /&gt;
Verified OK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Authentication CAPDU&lt;br /&gt;
=======================================&lt;br /&gt;
(Frame 47)&lt;br /&gt;
00 02 03 00 00 00 81 8d 60 e0 a2 80 9e 29 df 5b 7f 0b e4 8a 68 47 62 3d&lt;br /&gt;
5c 67 52 64 26 0c 38 0f 51 5b 9c 03 47 05 49 a1 aa 11 af f7 e7 12 52 fe&lt;br /&gt;
5e 32 aa 80 b4 25 a0 fa fb e5 f8 a5 ea 76 73 16 a2 56 2a b4 8d bf 56 40&lt;br /&gt;
84 f2 01 9b d9 5d 1e 0d 86 72 c4 54 48 86 8c 41 89 4e df 95 7b f6 e9 ed&lt;br /&gt;
4b 80 17 35 2f e9 bc 08 8e 0f ff 27 c1 d9 0d 1b 0a ee 2a 13 09 29 3c 7e&lt;br /&gt;
18 c5 24 58 e8 01 4a ac f1 7f f2 5a 44 2f a0 50 00 00&lt;br /&gt;
&lt;br /&gt;
: CLA : 00&lt;br /&gt;
: INS : 02&lt;br /&gt;
: P1 P2 (enforce-user-presence-and-sign control byte) : 03 00&lt;br /&gt;
: Lc : 00 00 81&lt;br /&gt;
: authentication request challenge ATCH :&lt;br /&gt;
8d 60 e0 a2 80 9e 29 df 5b 7f 0b e4 8a 68 47 62 3d 5c 67 52 64 26 0c 38&lt;br /&gt;
0f 51 5b 9c 03 47 05 49&lt;br /&gt;
: application parameter APID :&lt;br /&gt;
a1 aa 11 af f7 e7 12 52 fe 5e 32 aa 80 b4 25 a0 fa fb e5 f8 a5 ea 76 73&lt;br /&gt;
16 a2 56 2a b4 8d bf 56&lt;br /&gt;
: key handle length khl : 40&lt;br /&gt;
: key handle KEYH :&lt;br /&gt;
84 f2 01 9b d9 5d 1e 0d 86 72 c4 54 48 86 8c 41 89 4e df 95 7b f6 e9 ed&lt;br /&gt;
4b 80 17 35 2f e9 bc 08 8e 0f ff 27 c1 d9 0d 1b 0a ee 2a 13 09 29 3c 7e&lt;br /&gt;
18 c5 24 58 e8 01 4a ac f1 7f f2 5a 44 2f a0 50&lt;br /&gt;
: Le (maximum) : 00 00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Authentication RAPDU&lt;br /&gt;
=======================================&lt;br /&gt;
(Frame 80)&lt;br /&gt;
01 00 00 00 32 30 45 02 20 46 28 27 a5 cd bc 04 87 31 cc 8a ac cb 30 fe&lt;br /&gt;
bc d9 d0 8e de 5e ac 18 cd 3a 93 ad 9b 34 85 77 3a 02 21 00 ad 49 09 ec&lt;br /&gt;
d7 73 03 d2 a9 cc 4a fa cb d0 9b 70 c1 6e b6 e3 0a bc 36 58 51 c6 d0 dc&lt;br /&gt;
2e f9 25 57 90 00&lt;br /&gt;
&lt;br /&gt;
: user presence byte upb (presence verified) : 01&lt;br /&gt;
: counter CNTR : 00 00 00 32&lt;br /&gt;
: EC-DSA-Signatur ASIG (authentication.sig) :&lt;br /&gt;
30 45 02 20 46 28 27 a5 cd bc 04 87 31 cc 8a ac cb 30 fe bc d9 d0 8e de&lt;br /&gt;
5e ac 18 cd 3a 93 ad 9b 34 85 77 3a 02 21 00 ad 49 09 ec d7 73 03 d2 a9&lt;br /&gt;
cc 4a fa cb d0 9b 70 c1 6e b6 e3 0a bc 36 58 51 c6 d0 dc 2e f9 25 57&lt;br /&gt;
: Status Word : 90 00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data to be signed (authentication.req.dtbs)&lt;br /&gt;
: application parameter APID :&lt;br /&gt;
a1 aa 11 af f7 e7 12 52 fe 5e 32 aa 80 b4 25 a0 fa fb e5 f8 a5 ea 76 73&lt;br /&gt;
16 a2 56 2a b4 8d bf 56&lt;br /&gt;
: user presence byte upb : 01&lt;br /&gt;
: Counter CNTR : 00 00 00 32&lt;br /&gt;
: authentication request challenge ATCH :&lt;br /&gt;
8d 60 e0 a2 80 9e 29 df 5b 7f 0b e4 8a 68 47 62 3d 5c 67 52 64 26 0c 38&lt;br /&gt;
0f 51 5b 9c 03 47 05 49&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
authentication key (authentication.pub)&lt;br /&gt;
-----BEGIN PUBLIC KEY-----&lt;br /&gt;
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEyOa/19imXXL+E7zkn44Kp17j9Ig0&lt;br /&gt;
Tc1zKzGXzO4lmfKbZQXymWxKWWrF3+e4/d8Eu0uZfKGAnoqVQqVch1qYSw==&lt;br /&gt;
-----END PUBLIC KEY-----&lt;br /&gt;
&lt;br /&gt;
openssl dgst -verify authentication.pub -signature authentication.sig -sha256 authentication.req.dtbs&lt;br /&gt;
Verified OK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FIDO GetVersion CAPDU&lt;br /&gt;
=======================================&lt;br /&gt;
(Frame 3)&lt;br /&gt;
00 03 00 00 00 00 00 00 00&lt;br /&gt;
&lt;br /&gt;
: CLA : 00&lt;br /&gt;
: INS : 03&lt;br /&gt;
: P1 P2 (nothing required) : 00 00 &lt;br /&gt;
: Lc : 00 00 00&lt;br /&gt;
: Le (maximum) : 00 00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GetVersion RAPDU:&lt;br /&gt;
=======================================&lt;br /&gt;
(Frame 4)&lt;br /&gt;
55 32 46 5f 56 32 90 00&lt;br /&gt;
&lt;br /&gt;
: Version &amp;quot;U2F_V2&amp;quot; : 55 32 46 5f 56 32&lt;br /&gt;
: Status Word : 90 00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zeitanalyse&lt;br /&gt;
=======================================&lt;br /&gt;
&lt;br /&gt;
Packet No.	Time	Source	Length	Packet Type&lt;br /&gt;
      5   0.032002	host	  107	Reg Request&lt;br /&gt;
      9   0.261015	host	  107	Reg Request&lt;br /&gt;
     13   0.492029	host	  107	Reg Request&lt;br /&gt;
     17   0.723041	host	  107	Reg Request&lt;br /&gt;
     21   0.953055	host	  107	Reg Request&lt;br /&gt;
     25   1.189069	host	  107	Reg Request&lt;br /&gt;
     29   1.419081	host	  107	Reg Request&lt;br /&gt;
     33   1.649095	host	  107	Reg Request&lt;br /&gt;
     37   1.882108	host	  107	Reg Request&lt;br /&gt;
     41   2.113121	host	  107	Reg Request&lt;br /&gt;
     42   2.376136	token	  563	Reg Response&lt;br /&gt;
     47   4.749271	Host	  172	Auth Request&lt;br /&gt;
     51   5.089290	Host	  172	Auth Request&lt;br /&gt;
     55   5.326304	Host	  172	Auth Request&lt;br /&gt;
     59   5.567317	Host	  172	Auth Request&lt;br /&gt;
     63   5.819332	Host	  172	Auth Request&lt;br /&gt;
     67   6.062346	Host	  172	Auth Request&lt;br /&gt;
     71   6.303360	Host	  172	Auth Request&lt;br /&gt;
     75   6.544373	Host	  172	Auth Request&lt;br /&gt;
     79   6.790387	Host	  172	Auth Request&lt;br /&gt;
     80   6.910393	token	  112	Auth Response&lt;br /&gt;
&lt;br /&gt;
Der erste Registration Request (CAPDU) wurde zum Zeitpunkt 0.03 s gesendet und wurde wiederholt bis die Anwesenheit des Nutzers bestätigt wurde (Frame 42).&lt;br /&gt;
Bis dahin wiederholen sich immer die folgenden zwei Kommandos/Antwort-Paare:&lt;br /&gt;
&lt;br /&gt;
packet 5: (registration request CAPDU)&lt;br /&gt;
11 00 00 02 83 00 49&lt;br /&gt;
00 01 03 00 00 00 40 27 de 26 93 d1 df b9 ae 61 9b 6e b5 26 05 12 a1 d7&lt;br /&gt;
bb 46 53 7c 79 f3 a6 34 ac 84 3d de b2 82 27 a1 aa 11 af f7 e7 12 52 fe&lt;br /&gt;
5e 32 aa 80 b4 25 a0 fa fb e5 f8 a5 ea 76 73 16 a2 56 2a b4 8d bf 56 00&lt;br /&gt;
00&lt;br /&gt;
packet 6: (token response APDU consists of the Status Word 0x6985 only)&lt;br /&gt;
11 00 00 02 83 00 02 69 85&lt;br /&gt;
packet 7: (USB command with empty payload)&lt;br /&gt;
11 00 00 02 88 00 00&lt;br /&gt;
packet 8: (token response with empty payload)&lt;br /&gt;
11 00 00 02 88 00 00&lt;br /&gt;
&lt;br /&gt;
Die ersten vier Bytes der übermittelten Nutzdaten sind die Schnittstellen-ID, danach folgt das USB-Kommando und die Länge der folgenden Nutzdaten.&lt;br /&gt;
Die drei erkannten Kommandos sind &lt;br /&gt;
#define TYPE_INIT  0x80&lt;br /&gt;
#define U2FHID_MSG   (TYPE_INIT | 3)	/** Send raw APDU 0x83*/&lt;br /&gt;
#define U2FHID_WINK  (TYPE_INIT | 8)	/** Send device identification wink 0x88*/&lt;br /&gt;
#define U2FHID_SYNC  (TYPE_INIT | 0x3c)	/** Protocol resync command 0xbc*/&lt;br /&gt;
&lt;br /&gt;
Man findet im Protokoll die resync-, APDU- und Wink-Kommandos:&lt;br /&gt;
&lt;br /&gt;
Frame  1:  35 bytes Time: 0.000 Capture Data: 11000002bc0001 01&lt;br /&gt;
Frame  2:  35 bytes Time: 0.005 Capture Data: 11000002bc0001 01&lt;br /&gt;
Frame  3:  43 bytes Time: 0.013 Capture Data: 11000002830009 000300000000000000&lt;br /&gt;
Frame  4:  42 bytes Time: 0.019 Capture Data: 11000002830008 5532465f56329000&lt;br /&gt;
Frame  5: 107 bytes Time: 0.032 Capture Data: 11000002830049 0001030000004027de2693d1...&lt;br /&gt;
Frame  6:  36 bytes Time: 0.045 Capture Data: 11000002830002 6985&lt;br /&gt;
Frame  7:  34 bytes Time: 0.050 Capture Data: 11000002880000&lt;br /&gt;
Frame  8:  34 bytes Time: 0.052 Capture Data: 11000002880000&lt;br /&gt;
Frame  9: 107 bytes Time: 0.261 Capture Data: 11000002830049 0001030000004027de2693d1...&lt;br /&gt;
Frame 10:  36 bytes Time: 0.274 Capture Data: 11000002830002 6985&lt;br /&gt;
Frame 11:  34 bytes Time: 0.281 Capture Data: 11000002880000&lt;br /&gt;
Frame 12:  34 bytes Time: 0.284 Capture Data: 11000002880000&lt;br /&gt;
Frame 13: 107 bytes Time: 0.492 Capture Data: 11000002830049 0001030000004027de2693d1...&lt;br /&gt;
Frame 14:  36 bytes Time: 0.505 Capture Data: 11000002830002 6985&lt;br /&gt;
Frame 15:  34 bytes Time: 0.512 Capture Data: 11000002880000&lt;br /&gt;
Frame 16:  34 bytes Time: 0.514 Capture Data: 11000002880000&lt;br /&gt;
Frame 17: 107 bytes Time: 0.723 Capture Data: 11000002830049 0001030000004027de2693d1...&lt;br /&gt;
Frame 18:  36 bytes Time: 0.735 Capture Data: 11000002830002 6985&lt;br /&gt;
Frame 19:  34 bytes Time: 0.742 Capture Data: 11000002880000&lt;br /&gt;
Frame 20:  34 bytes Time: 0.745 Capture Data: 11000002880000&lt;br /&gt;
Frame 21: 107 bytes Time: 0.953 Capture Data: 11000002830049 0001030000004027de2693d1...&lt;br /&gt;
Frame 22:  36 bytes Time: 0.965 Capture Data: 11000002830002 6985&lt;br /&gt;
Frame 23:  34 bytes Time: 0.978 Capture Data: 11000002880000&lt;br /&gt;
Frame 24:  34 bytes Time: 0.981 Capture Data: 11000002880000&lt;br /&gt;
Frame 25: 107 bytes Time: 1.189 Capture Data: 11000002830049 0001030000004027de2693d1...&lt;br /&gt;
Frame 26:  36 bytes Time: 1.201 Capture Data: 11000002830002 6985&lt;br /&gt;
Frame 27:  34 bytes Time: 1.208 Capture Data: 11000002880000&lt;br /&gt;
Frame 28:  34 bytes Time: 1.211 Capture Data: 11000002880000&lt;br /&gt;
Frame 29: 107 bytes Time: 1.419 Capture Data: 11000002830049 0001030000004027de2693d1...&lt;br /&gt;
Frame 30:  36 bytes Time: 1.431 Capture Data: 11000002830002 6985&lt;br /&gt;
Frame 31:  34 bytes Time: 1.438 Capture Data: 11000002880000&lt;br /&gt;
Frame 32:  34 bytes Time: 1.441 Capture Data: 11000002880000&lt;br /&gt;
Frame 33: 107 bytes Time: 1.649 Capture Data: 11000002830049 0001030000004027de2693d1...&lt;br /&gt;
Frame 34:  36 bytes Time: 1.661 Capture Data: 11000002830002 6985&lt;br /&gt;
Frame 35:  34 bytes Time: 1.668 Capture Data: 11000002880000&lt;br /&gt;
Frame 36:  34 bytes Time: 1.672 Capture Data: 11000002880000&lt;br /&gt;
Frame 37: 107 bytes Time: 1.882 Capture Data: 11000002830049 0001030000004027de2693d1...&lt;br /&gt;
Frame 38:  36 bytes Time: 1.895 Capture Data: 11000002830002 6985&lt;br /&gt;
Frame 39:  34 bytes Time: 1.902 Capture Data: 11000002880000&lt;br /&gt;
Frame 40:  34 bytes Time: 1.904 Capture Data: 11000002880000&lt;br /&gt;
Frame 41: 107 bytes Time: 2.113 Capture Data: 11000002830049 0001030000004027de2693d1...&lt;br /&gt;
Frame 42: 563 bytes Time: 2.376 Capture Data: 11000002830211 0504c8e6bfd7d8a65d72fe13...&lt;br /&gt;
Frame 43:  35 bytes Time: 4.727 Capture Data: 11000003bc0001 01&lt;br /&gt;
Frame 44:  35 bytes Time: 4.732 Capture Data: 11000003bc0001 01&lt;br /&gt;
Frame 45:  43 bytes Time: 4.737 Capture Data: 11000003830009 000300000000000000&lt;br /&gt;
Frame 46:  42 bytes Time: 4.743 Capture Data: 11000003830008 5532465f56329000&lt;br /&gt;
Frame 47: 172 bytes Time: 4.749 Capture Data: 1100000383008a 000203000000818d60e0a280...&lt;br /&gt;
Frame 48:  36 bytes Time: 4.869 Capture Data: 11000003830002 6985&lt;br /&gt;
Frame 49:  34 bytes Time: 4.881 Capture Data: 11000003880000&lt;br /&gt;
Frame 50:  34 bytes Time: 4.883 Capture Data: 11000003880000&lt;br /&gt;
Frame 51: 172 bytes Time: 5.089 Capture Data: 1100000383008a 000203000000818d60e0a280...&lt;br /&gt;
Frame 52:  36 bytes Time: 5.110 Capture Data: 11000003830002 6985&lt;br /&gt;
Frame 53:  34 bytes Time: 5.116 Capture Data: 11000003880000&lt;br /&gt;
Frame 54:  34 bytes Time: 5.118 Capture Data: 11000003880000&lt;br /&gt;
Frame 55: 172 bytes Time: 5.326 Capture Data: 1100000383008a 000203000000818d60e0a280...&lt;br /&gt;
Frame 56:  36 bytes Time: 5.347 Capture Data: 11000003830002 6985&lt;br /&gt;
Frame 57:  34 bytes Time: 5.354 Capture Data: 11000003880000&lt;br /&gt;
Frame 58:  34 bytes Time: 5.358 Capture Data: 11000003880000&lt;br /&gt;
Frame 59: 172 bytes Time: 5.567 Capture Data: 1100000383008a 000203000000818d60e0a280...&lt;br /&gt;
Frame 60:  36 bytes Time: 5.588 Capture Data: 11000003830002 6985&lt;br /&gt;
Frame 61:  34 bytes Time: 5.602 Capture Data: 11000003880000&lt;br /&gt;
Frame 62:  34 bytes Time: 5.607 Capture Data: 11000003880000&lt;br /&gt;
Frame 63: 172 bytes Time: 5.819 Capture Data: 1100000383008a 000203000000818d60e0a280...&lt;br /&gt;
Frame 64:  36 bytes Time: 5.839 Capture Data: 11000003830002 6985&lt;br /&gt;
Frame 65:  34 bytes Time: 5.849 Capture Data: 11000003880000&lt;br /&gt;
Frame 66:  34 bytes Time: 5.852 Capture Data: 11000003880000&lt;br /&gt;
Frame 67: 172 bytes Time: 6.062 Capture Data: 1100000383008a 000203000000818d60e0a280...&lt;br /&gt;
Frame 68:  36 bytes Time: 6.083 Capture Data: 11000003830002 6985&lt;br /&gt;
Frame 69:  34 bytes Time: 6.090 Capture Data: 11000003880000&lt;br /&gt;
Frame 70:  34 bytes Time: 6.093 Capture Data: 11000003880000&lt;br /&gt;
Frame 71: 172 bytes Time: 6.303 Capture Data: 1100000383008a 000203000000818d60e0a280...&lt;br /&gt;
Frame 72:  36 bytes Time: 6.324 Capture Data: 11000003830002 6985&lt;br /&gt;
Frame 73:  34 bytes Time: 6.331 Capture Data: 11000003880000&lt;br /&gt;
Frame 74:  34 bytes Time: 6.334 Capture Data: 11000003880000&lt;br /&gt;
Frame 75: 172 bytes Time: 6.544 Capture Data: 1100000383008a 000203000000818d60e0a280...&lt;br /&gt;
Frame 76:  36 bytes Time: 6.565 Capture Data: 11000003830002 6985&lt;br /&gt;
Frame 77:  34 bytes Time: 6.572 Capture Data: 11000003880000&lt;br /&gt;
Frame 78:  34 bytes Time: 6.574 Capture Data: 11000003880000&lt;br /&gt;
Frame 79: 172 bytes Time: 6.790 Capture Data: 1100000383008a 000203000000818d60e0a280...&lt;br /&gt;
Frame 80: 112 bytes Time: 6.910 Capture Data: 1100000383004e 010000003230450220462827...&lt;br /&gt;
&lt;br /&gt;
Die Zeit zur Erzeugung des öffentlichen Schlüssels und zur Signatur der Registierungsdaten beträgt 2.376 -2.113 = 0.263 s (Frame 41/42), eine Authentisierungsanfrage dagegen nur 6.910 - 6.790 = 0.120 s. Das passt aber zum Zeitverhalten einer ECC-Operation, für die Registrierungsanfrage benötigt man zwei Skalaroperationen, für die Authentisierung dagegen nur eine.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wolfm</name></author>
	</entry>
</feed>