mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-03-28 08:37:22 +00:00
doc: update le security authenticaiton flow control
This commit is contained in:
parent
ffc2d37d26
commit
8be4ab4986
@ -1,66 +1,3 @@
|
||||
@startuml
|
||||
start
|
||||
: A connects to B;
|
||||
: App triggers GATT Client request on A;
|
||||
if (called gatt_client_set_required_security_level) then (yes)
|
||||
|
||||
if (LTK available) then (yes)
|
||||
: start encryption;
|
||||
else (no)
|
||||
: start pairing;
|
||||
endif
|
||||
if (paired/re-encrypted) then (yes)
|
||||
: GATT Client request sent;
|
||||
#23DB2B : App receives GATT Response;
|
||||
stop
|
||||
else (no)
|
||||
#FD5B41 : App receives a GATT Client error;
|
||||
stop
|
||||
endif
|
||||
endif
|
||||
|
||||
if (ENABLE_LE_PROACTIVE_AUTHENTICATION and LTK available) then (yes)
|
||||
: starts encryption;
|
||||
if (re-encrypted) then (yes)
|
||||
: GATT Client request sent;
|
||||
#23DB2B : App receives GATT Response;
|
||||
stop
|
||||
else (no)
|
||||
#FD5B41 : App receives a GATT Client error;
|
||||
stop
|
||||
note left
|
||||
App can delete bonding
|
||||
information and repeat
|
||||
the GATT Client request
|
||||
end note
|
||||
endif
|
||||
endif
|
||||
|
||||
: GATT Client request is sent to GATT Server;
|
||||
if (GATT Server returns an 'insufficient x' error) then (yes)
|
||||
if (ENABLE_GATT_CLIENT_PAIRING) then (yes)
|
||||
if (LTK available) then (yes)
|
||||
: start encryption;
|
||||
else (no)
|
||||
: start pairing;
|
||||
endif
|
||||
if (paired/re-encrypted) then (yes)
|
||||
: GATT Client request sent;
|
||||
#23DB2B : App receives GATT Response;
|
||||
stop
|
||||
else (no)
|
||||
#FD5B41 : App receives a GATT Client error;
|
||||
stop
|
||||
endif
|
||||
else (no)
|
||||
#FD5B41 : App receives a GATT Client error;
|
||||
stop
|
||||
endif
|
||||
endif
|
||||
#23DB2B : App receives GATT Response;
|
||||
stop
|
||||
@enduml
|
||||
|
||||
@startuml
|
||||
title Mandatory Authentication
|
||||
start
|
||||
@ -70,17 +7,34 @@ start
|
||||
|
||||
if (LTK available) then (yes)
|
||||
: start encryption;
|
||||
if (re-encrypted) then (yes)
|
||||
: GATT Client request sent;
|
||||
#23DB2B : App receives GATT Response;
|
||||
stop
|
||||
else (no)
|
||||
#FD5B41: App receives GATT_QUERY_COMPLETE event
|
||||
with ATT_ERROR_BONDING_INFORMATION_MISSING;
|
||||
stop
|
||||
endif
|
||||
|
||||
else (no)
|
||||
: start pairing;
|
||||
endif
|
||||
if (paired/re-encrypted) then (yes)
|
||||
: GATT Client request sent;
|
||||
#23DB2B : App receives GATT Response;
|
||||
stop
|
||||
else (no)
|
||||
#FD5B41 : App receives a GATT Client error;
|
||||
stop
|
||||
endif
|
||||
|
||||
if (paired) then (yes)
|
||||
: GATT Client request sent;
|
||||
#23DB2B : App receives GATT Response;
|
||||
stop
|
||||
else (no)
|
||||
if (level >= 3) then (yes)
|
||||
#FD5B41: App receives GATT_QUERY_COMPLETE event
|
||||
with ATT_ERROR_INSUFFICIENT_AUTHENTICATION;
|
||||
stop
|
||||
else (no)
|
||||
#FD5B41: App receives GATT_QUERY_COMPLETE event
|
||||
with ATT_ERROR_INSUFFICIENT_ENCRYPTION;
|
||||
stop
|
||||
endif
|
||||
endif
|
||||
@enduml
|
||||
|
||||
|
||||
@ -99,7 +53,8 @@ if (re-encrypted) then (yes)
|
||||
#23DB2B : App receives GATT Response;
|
||||
stop
|
||||
else (no)
|
||||
#FD5B41 : App receives a GATT Client error;
|
||||
#FD5B41: App receives GATT_QUERY_COMPLETE event
|
||||
with ATT_ERROR_BONDING_INFORMATION_MISSING;
|
||||
stop
|
||||
note right
|
||||
App can delete bonding
|
||||
@ -127,9 +82,9 @@ if (GATT Server returns an 'insufficient x' error) then (yes)
|
||||
else (no)
|
||||
: delete bonding information;
|
||||
endif
|
||||
-> no;
|
||||
|
||||
endif
|
||||
-> no;
|
||||
|
||||
: start pairing;
|
||||
if (paired) then (yes)
|
||||
: GATT Client request sent;
|
||||
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 16 KiB |
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Loading…
x
Reference in New Issue
Block a user