Commit Graph

211 Commits (51c1bd35a015590234924947bfac5facf211c822)

Author SHA1 Message Date
Vincent Coubard d361960aa3 BLE: Use peer_address_type_t instead of the legacy address in security manager. 2018-05-18 10:04:27 +01:00
Donatien Garnier 3f7a7a4213 Merge 2018-05-16 12:44:36 +01:00
paul-szczepanek-arm 1ae13bc80f don't reset db on security manager reset as the docs require 2018-05-16 11:46:36 +01:00
paul-szczepanek-arm bcca75973e reseting the security db 2018-05-16 11:23:17 +01:00
Donatien Garnier 288c3952d8 Address Paul's comments 2018-05-15 18:37:50 +01:00
paul-szczepanek-arm 5c598688e4 templates for reading and writing to avoid repetition 2018-05-15 16:35:54 +01:00
paul-szczepanek-arm 49db7e2a2a restoring db file blanks file if set to not restore, allow reusing the db 2018-05-15 11:46:39 +01:00
Donatien Garnier 472d3de849 Give GenericGap access to the Security Manager's PAL 2018-05-14 13:36:02 +01:00
Donatien Garnier a3d9d6cebd Business logic for handling non-resolvable private addresses 2018-05-14 13:26:39 +01:00
paul-szczepanek-arm 579cb5e222 avoid setting flags twice 2018-05-14 10:26:44 +01:00
paul-szczepanek-arm f4f3a3c697 store ltk and csrk but not irk sent status
and missing asserts
2018-05-14 09:52:49 +01:00
paul-szczepanek-arm a7f8d54761 more doxygen 2018-05-13 23:54:44 +01:00
paul-szczepanek-arm d3524e2407 doxygen 2018-05-13 23:49:44 +01:00
paul-szczepanek-arm 23c6a69d66 key dist flags only in db now and not in control block of sec manager 2018-05-13 23:26:34 +01:00
paul-szczepanek-arm ab117737fa write back counter, sync entry by hand;e 2018-05-13 22:55:47 +01:00
Donatien Garnier 6a2ffaeac0 Update own address type generation in GenericGap 2018-05-13 22:16:08 +01:00
Donatien Garnier 4c5e2a8094 Added method to update resolution settings in GenericGap 2018-05-13 19:14:56 +01:00
Donatien Garnier 7b4a813aca Added stubs in GenericGap for privacy configuration methods 2018-05-13 18:52:54 +01:00
Donatien Garnier e9ad148db0 Added privacy-related methods overrides in GenericGap 2018-05-13 17:57:27 +01:00
paul-szczepanek-arm 3af4d0b50f get identity list function argument needs to have its own memory allocated 2018-05-11 19:52:12 +01:00
paul-szczepanek-arm a63f38e767 moved logic to security db and left storage in memory and file dbs
db created at init now
2018-05-11 19:41:33 +01:00
paul-szczepanek-arm 678d494c5a init _db pointer 2018-05-11 10:20:04 +01:00
paul-szczepanek-arm afa4bdcf1a pull common logic into secure db 2018-05-11 10:19:48 +01:00
paul-szczepanek-arm 473482d204 move securitydb into generic 2018-05-10 11:08:31 +01:00
Vincent Coubard cbb33ea938 BLE: Add comments to GenericSecurityManager::on_identity_list_retrieved. 2018-04-20 10:22:56 +01:00
Vincent Coubard 951a6be4c8 BLE: retrieve and fill resolving list at GenericSecurityManager startup. 2018-04-17 15:58:21 +01:00
Vincent Coubard 77b1903634 BLE: Add bonded device to resolving list at the end of bonding. 2018-04-17 14:16:35 +01:00
paul-szczepanek-arm deeb0ea7e0 redundant store for sign counter 2018-04-09 15:11:26 +01:00
paul-szczepanek-arm 55d3423a5e typedef uint32_t 2018-04-09 13:35:17 +01:00
paul-szczepanek-arm 57149b69e4 monitor for signing events and set local counter 2018-04-04 19:24:00 +01:00
paul-szczepanek-arm 539a11ee31 sign counter added 2018-04-04 15:59:10 +01:00
paul-szczepanek-arm cbf80e9da5 typos, style and other review fixes 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm f5fee68f99 fixed naming for sig failure count 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm 9283413c4c count failures, trigger reparing when verification fails 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 aa90f0df65 rely solely on random vlalue to know if already calculating
simplify by setting a fake random value at the start so that first run is the same as subsequent runs
2018-03-27 12:25:50 +01:00
paul-szczepanek-arm 98efb9da06 generate oob at will and without passing in connection handle 2018-03-23 18:31:27 +00:00
paul-szczepanek-arm 909f9513cf allow preloading legacy oob, generate tk 2018-03-22 12:01:34 +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 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
paul-szczepanek-arm 975544f274 link key distribution decision made in generic security manager 2018-02-27 23:26:34 +00:00
paul-szczepanek-arm 96de1c2752 header guards renamed 2018-02-27 17:25:57 +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 0b0d614787 Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os into pr-sm 2018-02-27 11:54:32 +00:00
paul-szczepanek-arm 62e9011525 public key renaned (added coord), also contains missing commit for oob_rand rename 2018-02-27 11:50:04 +00:00
Vincent Coubard 361ae8c7a3 BLE: fix references to oob_rand_t. 2018-02-27 11:48:21 +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 4ce0ed9c0c BLE: Remove dependency of GenericSecurityManager towards gap. 2018-02-19 17:46:41 +00:00
Vincent Coubard 28f2f46974 BLE: Hide event monitor inside pal. 2018-02-19 17:41:18 +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
paul-szczepanek-arm 8cf7b3b06f Merge branch 'palsm' of https://github.com/paul-szczepanek-arm/mbed-os into palsm 2018-02-19 15:35:39 +00:00
paul-szczepanek-arm d9156a28e2 connection monitor 2018-02-19 15:32:07 +00:00
Vincent Coubard 15cfcba16a BLE: Move security DB into PAL. 2018-02-19 14:43:56 +00:00
Vincent Coubard 6529d677c1 BLE: Fix include prefixes. 2018-02-19 13:46:46 +00:00
paul-szczepanek-arm 2f1e211da1 set entry state on connect 2018-02-13 16:41:36 +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 2c1fcc7235 style 2018-02-12 10:27:27 +00:00
paul-szczepanek-arm 90c30c9022 typo 2018-02-11 18:19:56 +00:00
paul-szczepanek-arm 934d8f9235 pointers changed to references for a consistent PAL 2018-02-11 18:08:21 +00:00
paul-szczepanek-arm e91ab466ea doxygen added 2018-02-09 16:39:01 +00:00
paul-szczepanek-arm 18062fc9de GAP integration for connection and disconnection events 2018-02-09 16:35:16 +00:00
paul-szczepanek-arm 769c97e32c random data generation 2018-02-09 13:55:33 +00:00
paul-szczepanek-arm fe9b558a2a init random number on local device for OOB data 2018-02-09 13:29:37 +00:00
paul-szczepanek-arm 564749674f cmac using the tls implementation 2018-02-09 12:54:08 +00:00
paul-szczepanek-arm 947c6ed239 implement oob data store in db 2018-02-09 11:11:35 +00:00
paul-szczepanek-arm 0806584e45 oob presence set correctly for legacy pairing 2018-02-09 10:52:39 +00:00
paul-szczepanek-arm a2cff3079e move oob to db, add cmac helper func 2018-02-08 21:48:43 +00:00
paul-szczepanek-arm d061c89e31 storing sc oob, checking for its presence 2018-02-08 18:23:23 +00:00
paul-szczepanek-arm cba77ad5d1 saving public keys 2018-02-08 16:36:06 +00:00
paul-szczepanek-arm 0b15798673 style and moved for clarity 2018-02-08 16:03:52 +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 b6be4df162 doxygen 2018-02-06 22:01:54 +00:00
paul-szczepanek-arm 1446142b60 ltk for secure connections 2018-02-06 21:50:57 +00:00
paul-szczepanek-arm 3236eada5e multiple ltks single irk and csrk 2018-02-06 21:16:22 +00:00
paul-szczepanek-arm 7aa9ae7888 fix typos 2018-02-06 15:39:31 +00:00
paul-szczepanek-arm 9bc8c56df3 address types added, secure connectins oob added 2018-02-06 10:17:31 +00:00
paul-szczepanek-arm 32e91ac168 removed idenitty list as resolution will be done insite the db asynchronously 2018-02-01 10:00:10 -06:00
paul-szczepanek-arm f53359f60c doxygen 2018-01-31 16:42:35 -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 2060ad5df0 we don't need two event handler since now the generic security manager implements the interface 2018-01-30 17:01:30 -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 faf134ae60 move helper funcitons under their own heading 2018-01-29 17:16:47 -06:00
paul-szczepanek-arm 9786244386 removed redundant const 2018-01-29 16:00:53 -06:00
paul-szczepanek-arm eb899bc798 split identity away from meta data and csrk, moved privacy feature from db to security manager 2018-01-29 21:10:08 +00:00
paul-szczepanek-arm f4d29bbef6 clear up private address resolution 2018-01-29 19:22:08 +00: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 1cc5312d1e octet type for keys 2018-01-24 10:22:53 +00:00
paul-szczepanek-arm 38f8a5b8d5 separate live state from stored state in entry 2018-01-23 17:01:44 +00:00
paul-szczepanek-arm 8ef3311be0 naive memory implementation for verification purposes 2018-01-23 16:01:54 +00:00
paul-szczepanek-arm 92965baaa8 removed redundant mitm field 2018-01-23 12:27:03 +00:00
paul-szczepanek-arm bc1e809ca3 keeping state of connection, storing mitm quality of keys 2018-01-23 12:20:12 +00:00
paul-szczepanek-arm 10b5e648fd slave request handling 2018-01-22 21:01:05 +00:00
paul-szczepanek-arm 2b7db78d7b pairing through a single function to keep settings 2018-01-22 17:27:01 +00:00
paul-szczepanek-arm b4e85b3d06 moved db into its own file 2018-01-22 16:50:15 +00:00
Cruz Monrreal dc87f0b1e6
Merge pull request #5313 from pan-/ble-cordio-pal-gap
Cordio: Pal Gap implementation
2018-01-11 10:35:42 -06:00
Cruz Monrreal b32828bc37
Merge pull request #5739 from pan-/nordic-new-client
BLE: Nordic pal client implementation
2018-01-11 10:26:47 -06:00
Vincent Coubard d33b02818a BLE: Implement Generic GattClient reset logic. 2018-01-10 14:31:52 +00:00
Vincent Coubard 29988d5265 BLE: Align naming of GattClient procedure control blocks. 2018-01-10 14:18:00 +00:00
Vincent Coubard 3061db271d BLE: Put generic gattclient procedures inside the GattClient class 2018-01-10 14:15:08 +00:00
Vincent Coubard 70e5a14a4d BLE: Generic Gap - fix address management. 2017-12-21 17:39:25 +00:00
Vincent Coubard 82f669b61f BLE: Fix doxygen warnings.
Replace @important tag by @attention.
2017-12-13 16:14:16 +00:00
Vincent Coubard 1b7a3ffa02 BLE: Add generic GAP implementation.
Generic implementation of the GAP class. It allows porters to have a working Gap
implementation by implementing the following abstraction layer primitives:
- pal::Gap: Adaptation for GAP related primitives.
- pal::EventQueue: simple interface to the inner event queue of the stack.
  pal::SimpleEventQueue can also be used as an implementation.
- pal::GenericAccessService: Accessors to the Generic Access Service present in
  the GATT server.
2017-10-31 17:39:14 +00: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