-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathble_security_proto.txt
92 lines (67 loc) · 1.68 KB
/
ble_security_proto.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
###################################################
# (MI) BLE AUTH SECURITY PROTOCOL
###################################################
0. GREETING (official only, negligible)
a4 --> UPNP
AVDTP --> 00 00 04 00 06 12
00 00 05 00 06 12 --> AVDTP
AVDTP --> 0000040112121212121212121212121212121212
0000050112121212121212121212121212121212 --> AVDTP
1. KEYEXCHANGE
Listen UPNP + AVDTP + RX
CMD_GET_INFO --> UPNP
AVDTP --> CMD_WR_DID
RCV_RDY --> AVDTP
[AVDTP --> REMOTE_INFO]
RCV_OK --> AVDTP
CMD_SET_KEY --> UPNP
CMD_SEND_DATA --> AVDTP
AVDTP --> RCV_RDY
[MY_PUBKEY --> AVDTP]
AVDTP --> RCV_OK (|| RCV_TOUT)
AVDTP --> CMD_SEND_DATA
RCV_RDY --> AVDTP
[AVDTP --> REMOTE_PUBKEY]
RCV_OK --> AVDTP
<<CALCULATIONS>>
CMD_WR_DID --> AVDTP
AVDTP --> RCV_RDY
[DID_CT --> AVDTP]
AVDTP --> RCV_OK (|| RCV_TOUT)
13 00 00 00 --> UPNP
UPNP --> 11 00 00 00 (|| fAIL: 12 00 00 00)
2. PAIRING
24 00 00 00 --> UPNP
00 00 00 0b 01 00 --> AVDTP
AVDTP --> RCV_RDY
MI_RAND_KEY --> AVDTP
AVDTP --> RCV_OK
# | dash app
|AVDTP --> 00 00 00 0d 01 00
|RCV_RDY --> AVDTP
|AVDTP --> REMOTE_RANDKEY
|RCV_OK --> AVDTP
# || offical
||AVDTP --> 00 00 02 0d REMOTE_RANDKEY
||00 00 03 00 --> AVDTP
<<CALCULATIONS>>
AVDTP --> 00 00 00 0c 02 00
RCV_RDY --> AVDTP
[AVDTP --> REMOTE_DEVINFO]
RCV_OK --> AVDTP
00 00 00 0a 02 00 --> AVDTP
AVDTP --> RCV_RDY
[MY_DEVINFO --> AVDTP]
AVDTP --> RCV_OK
UPNP --> 21 00 00 00 (|| fAIL: 23 00 00 00)
###################################################
# VARS
###################################################
CMD_GET_INFO: a2 00 00 00
CMD_SET_KEY: 15 00 00 00
CMD_SEND_DATA: 00 00 00 03 04 00
CMD_WR_DID: 00 00 00 00 02 00
RCV_RDY: 00 00 01 01
RCV_OK: 00 00 01 00
RCV_TOUT: 00 00 01 05 01 00
...