paul-szczepanek-arm
9283413c4c
count failures, trigger reparing when verification fails
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
780d8a4375
let the stack know whether csrk is authenticated
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
8d966dbe8c
invalid mic event
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
5ae9cc3b53
set peer csrk on pal
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
3c1a5a4a56
incorrect retval usage fixed
2018-04-03 12:16:49 +01:00
Donatien Garnier
8b66c4bd28
[BLE] Fixed inconsistent casing issue for SecurityDb
2018-03-28 10:44:09 +01:00
paul-szczepanek-arm
02ba2848a8
avoid recalculating oob fi already calculating
2018-03-26 17:48:32 +01:00
Vincent Coubard
db20ecbbde
Merge branch 'security-manager-dev' into oob-gen
2018-03-26 16:49:55 +01:00
paul-szczepanek-arm
98efb9da06
generate oob at will and without passing in connection handle
2018-03-23 18:31:27 +00:00
Vincent Coubard
e25d5c9aa3
BLE: qualification of SecurityManager types
2018-03-23 12:06:08 +00:00
paul-szczepanek-arm
66867d4dd3
oob stored in generic and handed over to pal when requested
2018-03-16 14:48:04 +00:00
paul-szczepanek-arm
1f8c5c1231
fixed typos
2018-03-09 14:22:28 +00:00
paul-szczepanek-arm
b8ba99a184
handling OOB data generation and verification now pushed down to PAL level
2018-03-05 11:29:13 +00:00
Donatien Garnier
a3383c139b
Addressed Vincent's comments
2018-03-01 20:32:37 +00:00
Vincent Coubard
1170b3132d
BLE: Remove useless pal sm API
2018-03-01 14:46:12 +00:00
paul-szczepanek-arm
701c18b428
missing documentation, removed privacy call from api
2018-02-28 13:49:51 +00:00
paul-szczepanek-arm
c52d324dab
pass in information about the mitm and sc quality of the ltk to the pal
2018-02-28 12:02:54 +00:00
paul-szczepanek-arm
975544f274
link key distribution decision made in generic security manager
2018-02-27 23:26:34 +00:00
paul-szczepanek-arm
e186985b26
addressing PR review: added documentation, moved code and renamed vars
2018-02-27 17:22:13 +00:00
Vincent Coubard
361ae8c7a3
BLE: fix references to oob_rand_t.
2018-02-27 11:48:21 +00:00
paul-szczepanek-arm
4010bade89
reanmed type as per review request
2018-02-27 11:43:46 +00:00
paul-szczepanek-arm
5de1979f5c
types renamed as per review requests
2018-02-27 10:33:35 +00:00
paul-szczepanek-arm
c9690c9f59
upate doxygen since passkey is no longer a pointer
2018-02-27 09:22:36 +00:00
Vincent Coubard
d586f7f9d2
BLE: update SecurityDB comments.
2018-02-23 13:54:41 +00:00
Vincent Coubard
1ded0d7198
BLE: Split security manager control block from the secure DB.
2018-02-23 11:15:08 +00:00
Vincent Coubard
2bb73fd8bb
BLE: Cleanup includes of pal::ConnectionEventMonitor.
2018-02-23 11:13:42 +00:00
Vincent Coubard
28f2f46974
BLE: Hide event monitor inside pal.
2018-02-19 17:41:18 +00:00
Vincent Coubard
cc896f1b52
BLE: Add mock for the security db.
2018-02-19 17:32:10 +00:00
paul-szczepanek-arm
dd7bc50e4b
Merge branch 'master' into palsm
2018-02-19 16:39:10 +00:00
paul-szczepanek-arm
ecacbda507
compiler errors fixed after the merge
2018-02-19 16:28:01 +00:00
Vincent Coubard
15cfcba16a
BLE: Move security DB into PAL.
2018-02-19 14:43:56 +00:00
paul-szczepanek-arm
55045010d6
fixed all the compilation errors and recent pal changes
2018-02-13 11:01:30 +00:00
paul-szczepanek-arm
581b5755b8
removed duplicate event handler, removed redundant using statements
2018-02-12 13:40:04 +00:00
paul-szczepanek-arm
c93e800eea
missing ref
2018-02-11 18:13:54 +00:00
paul-szczepanek-arm
934d8f9235
pointers changed to references for a consistent PAL
2018-02-11 18:08:21 +00:00
Vincent Coubard
2e64b710a1
Ble: fix size function in advertising_data_t and address_t.
2018-02-09 16:43:29 +00:00
paul-szczepanek-arm
0a54ca39d0
move pairing under its own heading to match other parts
2018-02-08 18:41:35 +00:00
paul-szczepanek-arm
56530d4917
sc oob verification needs local random value
2018-02-08 18:35:02 +00:00
paul-szczepanek-arm
cba77ad5d1
saving public keys
2018-02-08 16:36:06 +00:00
paul-szczepanek-arm
b5b86b72fe
oob handling inside genric for secure connections
2018-02-08 15:17:12 +00:00
paul-szczepanek-arm
1b6a84d5a4
oob data propagated to pal
2018-02-07 10:16:44 +00:00
paul-szczepanek-arm
8cc36650df
added OOB to interface, moved address type to common
2018-02-06 22:59:21 +00:00
paul-szczepanek-arm
1446142b60
ltk for secure connections
2018-02-06 21:50:57 +00:00
paul-szczepanek-arm
7aa9ae7888
fix typos
2018-02-06 15:39:31 +00:00
paul-szczepanek-arm
aba65d7fd5
added doxygen
2018-02-06 14:32:47 +00:00
paul-szczepanek-arm
9bc8c56df3
address types added, secure connectins oob added
2018-02-06 10:17:31 +00:00
paul-szczepanek-arm
132b9e01bf
fix encryption call to accept 16 octets
2018-01-31 16:23:45 -06:00
paul-szczepanek-arm
714069b965
deal with failed LTK retrieval, remove unused functionality, more doxygen
2018-01-31 14:16:56 -06:00
paul-szczepanek-arm
5498b79f55
doxygen, moved types to common
2018-01-31 12:06:01 -06:00
paul-szczepanek-arm
62502fe1c8
more doxygen and naming consistency
2018-01-31 11:27:32 -06:00
paul-szczepanek-arm
e686eec048
missing implementation for whitelist from bond table and more doxygen
2018-01-30 16:49:35 -06:00
paul-szczepanek-arm
322ee90797
doxygen fixes
2018-01-30 14:00:21 -06:00
paul-szczepanek-arm
9e79ba4ee4
doxygen
2018-01-30 11:27:12 -06:00
paul-szczepanek-arm
647aa1eebe
split security manager into a header and moved types to common types
...
plus a bit of extra doxygen comments
2018-01-29 17:57:00 +00:00
paul-szczepanek-arm
ed0722c303
upgraded oob data to octet type
2018-01-28 10:08:15 +00:00
paul-szczepanek-arm
1cc5312d1e
octet type for keys
2018-01-24 10:22:53 +00:00
paul-szczepanek-arm
f635555a74
refresh not needed, done through requesting encryption on encrypted link
2018-01-23 12:19:38 +00:00
paul-szczepanek-arm
305975b15a
hint role reversal, set the correct ltk keys
2018-01-22 16:21:30 +00:00
paul-szczepanek-arm
5e0ed3db01
pul events to retrieve local ltk edvi rand
2018-01-22 13:50:30 +00:00
paul-szczepanek-arm
d1c29faaa8
added slave security request
2018-01-22 11:49:42 +00:00
paul-szczepanek-arm
3300395468
missing init, removed redeclaration
2018-01-22 09:57:35 +00:00
paul-szczepanek-arm
d880f6238d
encryption needs ltk rand and ediv
2018-01-21 22:57:05 +00:00
paul-szczepanek-arm
3074d12ff1
security mode split into encryption and signing key
2018-01-19 15:56:18 +00:00
Vincent Coubard
4fcb304f27
BLE SM: Fix rand end ediv length
2018-01-19 14:36:54 +00:00
Vincent Coubard
888a050381
BLE SM: Slight API adjustements and docs
2018-01-19 12:22:51 +00:00
paul-szczepanek-arm
4fb9593f9f
removed todo
2018-01-19 12:13:09 +00:00
paul-szczepanek-arm
5fcf2a6cfb
Merge branch 'palsm' of https://github.com/paul-szczepanek-arm/mbed-os into palsm
2018-01-19 11:40:29 +00:00
paul-szczepanek-arm
9e3797cb3c
timeout pal funcs combined into single result on api side
2018-01-19 11:38:42 +00:00
Vincent Coubard
44a366d103
BLE SM: Fix compilation errors
2018-01-19 11:30:27 +00:00
paul-szczepanek-arm
c3b434b3a2
fixed pal name of oob request
2018-01-19 10:40:59 +00:00
paul-szczepanek-arm
b60a464785
constness and refs fixes
2018-01-19 10:38:27 +00:00
paul-szczepanek-arm
ab056aa17e
set io caps, removed redundant params from pairing request
2018-01-19 10:30:38 +00:00
paul-szczepanek-arm
9c1444f49c
dropped redundant passkey num class
2018-01-18 20:13:49 +00:00
paul-szczepanek-arm
021a1fdf76
io caps and key size now stored by stack, secured cahgned to encrypted, moved passkey classes to pal
2018-01-18 17:40:08 +00:00
paul-szczepanek-arm
b63930f53f
fixed refs to arrays
2018-01-18 17:21:59 +00:00
paul-szczepanek-arm
3f26435ad9
pariring typo
2018-01-18 17:20:43 +00:00
paul-szczepanek-arm
779d6eb7ae
updated old key_ditribution type and fixed refs to pointers
2018-01-18 17:19:59 +00:00
paul-szczepanek-arm
73e5f2d655
removed old events that are now only in legacy handling
2018-01-18 14:38:25 +00:00
paul-szczepanek-arm
01cdceb97f
key distribution now a class
2018-01-18 12:08:33 +00:00
paul-szczepanek-arm
25107b1ad8
todo
2018-01-17 22:19:45 +00:00
paul-szczepanek-arm
2f04aece23
shared types in common header, connected up the events in handlers
2018-01-17 21:22:48 +00:00
paul-szczepanek-arm
2fb67d2c7d
authentication mask now a class, pairing and authenticating
2018-01-17 15:39:29 +00:00
Vincent Coubard
e2a2582549
BLE: Fix inclusion of BLE.h (case)
2018-01-17 11:31:50 +00:00
paul-szczepanek-arm
f8c9fe7329
get sc support in pal to match api
2018-01-17 10:52:24 +00:00
paul-szczepanek-arm
943206dd07
db restoring, legacy pairing disallowing, removed set SC support
2018-01-17 10:46:56 +00:00
Vincent Coubard
6aa3d35d82
Set virtual specifier to on_keys_distributed .
2018-01-16 17:18:49 +00:00
paul-szczepanek-arm
e02ae313ac
added on_ prefixes, added split key distribution
2018-01-16 12:46:59 +00:00
paul-szczepanek-arm
f9ed3b2456
passkey types fixed
2018-01-16 12:43:25 +00:00
Paul Szczepanek
cc41857ab6
Merge pull request #3 from pan-/palsm-interface-improvement
...
Palsm interface improvement
2018-01-16 12:38:27 +00:00
paul-szczepanek-arm
f93ed1087d
split keys dsitribution, unirm on_ prefix, docs
2018-01-16 12:22:12 +00:00
Vincent Coubard
f71490b59b
Merge with palsm.
2018-01-16 12:19:41 +00:00
Vincent Coubard
4df41f3ee8
Add mention of function that sets a default passkey.
2018-01-16 12:11:04 +00:00
paul-szczepanek-arm
f33d93345b
random data request
2018-01-16 11:50:49 +00:00
Vincent Coubard
9d08b2ddb3
Fixes:
...
* replace invalid using statement by typedef
* replace SecurityIOCapabilities_t by io_capability_t in send_pairing_response
* fix failure type in cancel_pairing
2018-01-16 11:29:38 +00:00
paul-szczepanek-arm
daab0b4fe1
fix error type name and unified connection handle name
2018-01-16 11:15:39 +00:00
paul-szczepanek-arm
52669fff98
match accept pairing with request pairing
2018-01-16 11:10:03 +00:00
Vincent Coubard
d3ca4a9cb3
Merge branch 'palsm' into palsm-interface-improvement
2018-01-16 10:23:45 +00:00
paul-szczepanek-arm
585f60d1fc
missing irk added, authorisation for pairing optional, minor cleanup of names
2018-01-15 21:46:02 +00:00
paul-szczepanek-arm
b818b87965
remove redundant pal api calls
2018-01-15 20:22:13 +00:00
Vincent Coubard
e78840427a
Add few new types.
...
Remove c192, r192, c256 and r256 references.
Refactor function names
2018-01-15 19:42:32 +00:00
paul-szczepanek-arm
92a83cf526
generic security manager implements the pal handler, added first db entry handler
2018-01-15 19:02:53 +00:00
Vincent Coubard
03f07bb7ce
Refactor resolving list management.
...
Use address type from gap rather than BLEProtocol::AddressBytes_t .
2018-01-15 15:05:50 +00:00
Vincent Coubard
81904fd867
Remove bonded list storage from the adaptation layer.
...
Such processing should be handled at the upper layer.
Initiating encryption of a given connection should be made with the start
encryption command. This command accepts the parameters Rand, EDIV and
LTK.
A request of encryption request generate an LTK request event that is
forwarded to the upper layer which then reply with the LTK presents in the
Security DB or reject the request.
2018-01-15 14:36:32 +00:00
Vincent Coubard
be664d1c33
Remove whitelist management: already present in the gap addaptation layer.
2018-01-15 14:32:12 +00:00
Vincent Coubard
1ee56f6b83
Convert SecurityManagerEventHandler into a pure interface.
...
Convert most functions of SecurityManager into virtual pure functions.
Protect access to the get_event_handler function and remove function set_app_event_handler.
2018-01-15 14:25:27 +00:00
paul-szczepanek-arm
2f49b66c52
callbacks allow updates
2018-01-15 11:45:52 +00:00
paul-szczepanek-arm
145fcc5791
security db iface draft
2018-01-15 08:31:33 +00:00
paul-szczepanek-arm
bbe408e82b
naming fix
2018-01-12 15:55:26 +00:00
paul-szczepanek-arm
5474083469
use direct params not struct for pairing
2018-01-12 15:51:24 +00:00
paul-szczepanek-arm
af4bdc7562
typo
2018-01-12 15:40:15 +00:00
paul-szczepanek-arm
8a01d8fcb0
encryption funcs
2018-01-12 15:32:11 +00:00
paul-szczepanek-arm
b81a2b9fdb
corrected list funcs
2018-01-12 14:55:13 +00:00
paul-szczepanek-arm
ff690ee8d6
removed redundant settings funcstions from pal
2018-01-12 14:17:57 +00:00
paul-szczepanek-arm
ccd1c92bfe
params needs to be ref
2018-01-12 13:37:54 +00:00
paul-szczepanek-arm
ce6f032970
pairing params added
2018-01-12 12:41:43 +00:00
paul-szczepanek-arm
c202076d1e
clear up type confusion, added key funcs to pal
2018-01-12 12:00:34 +00:00
paul-szczepanek-arm
7325ca90fd
make clear which event handler it is, remove pairing result as that's covered by security complete
2018-01-12 11:36:03 +00:00
paul-szczepanek-arm
9a948b73da
minor name and compilation fixes
2018-01-12 11:18:26 +00:00
paul-szczepanek-arm
a45237dc51
split interfaces
2018-01-11 18:45:27 +00:00
paul-szczepanek-arm
6655b67dd6
legacy oob and pairing cancel
2018-01-11 18:27:45 +00:00
paul-szczepanek-arm
8a0aba398b
boilerplate
2018-01-11 13:17:47 +00:00
paul-szczepanek-arm
da3ecfc2e4
add keysize set and split up settings
2018-01-11 11:54:21 +00:00
paul-szczepanek-arm
1e3c1a96ec
fixed deafult event handler init and reset
2018-01-10 15:12:59 +00:00
paul-szczepanek-arm
67d1148a56
added timeout changed pointers to refs
2018-01-09 16:55:12 +00:00
paul-szczepanek-arm
b1f73b4a5c
file rename to match class name
2018-01-08 12:12:47 +00:00
paul-szczepanek-arm
580bfdfcb2
authorisation for pairing
2018-01-08 11:40:27 +00:00
paul-szczepanek-arm
0dcb9efb3e
add missing pal funcs, deprecate misnamed get link security
2018-01-08 11:28:48 +00:00
paul-szczepanek-arm
a268b6b831
decided to keep auth and sec mode and ditch ssp
2018-01-08 10:44:32 +00:00
paul-szczepanek-arm
2a05581177
no auth needed, security status for att
2018-01-07 23:18:14 +00:00
paul-szczepanek-arm
9863d71f44
requesting pair, force sc option
2018-01-07 22:22:55 +00:00
paul-szczepanek-arm
e1676dc1cc
added MITM to user facing security manager api
2018-01-05 17:32:49 +00:00
paul-szczepanek-arm
e75042e3e4
handle legacy callbacks
...
this way you can have both old porting code and new app code and new porting code and old app code and they both work
2018-01-04 15:08:40 +00:00
paul-szczepanek-arm
69b248ae68
generic security manager using the pal
2018-01-03 18:04:22 +00:00
paul-szczepanek-arm
eee2ddf709
class interface to avoid multiplying boilerplate code for the callbacks
2018-01-03 15:03:13 +00:00
paul-szczepanek-arm
6f7da0ce1d
mitm callbacks
2018-01-02 17:54:22 +00:00
paul-szczepanek-arm
ed405e1849
moving cbs to evt block
2017-12-22 16:41:45 +00:00
paul-szczepanek-arm
6fd1859881
draft pal
2017-12-22 16:37:28 +00:00
Vincent Coubard
82f669b61f
BLE: Fix doxygen warnings.
...
Replace @important tag by @attention.
2017-12-13 16:14:16 +00:00
Vincent Coubard
953739c026
BLE: Event Queue interface at the pal level.
...
To help generic code, an interface of an event queue at the PAL level has been
added. Implementation can either rely on the event mechanism internal to the
stack or use the SimpleEventQueue implementation provided by this patch.
2017-10-31 17:38:04 +00:00
Vincent Coubard
0025b685ea
BLE: Generic Access Service Adaptation layer
...
Add an abstraction which manage the state of the GAP service exposed by the GATT server.
2017-10-31 17:35:37 +00:00
Vincent Coubard
744abca8ff
BLE: Adaptation interface of the GAP layer.
...
This interface expose the primitives needed to realize operations defined in
the GAP layer. Data types, event and function definitions follow closely HCI
commands and events defined in the Bluetooth specification.
2017-10-31 17:32:01 +00:00
Vincent Coubard
aa0b5d5a22
BLE: Fix space
2017-09-26 15:20:16 +01:00
Vincent Coubard
daaa5b1977
BLE: Introduce GenericGattClient and platform abstraction over ATT/GATT.
...
This changes introduce a platform adaptation over ATT/GATT that can be implemented by porter.
Unlike the GattClient interface, the ATT/GATT adaptation is simple, follow closely the Bluetooth specification and won't change over time.
Implementation of the GattClient interface is realized by the class GenericGattClient which accept in input a pal::GattClient.
This change will also free design space once adopted by partners, addition to the GattClient interface won't require partner support.
2017-09-26 15:20:15 +01:00