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
Vincent Coubard
40a403e99b
Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into fix-encryption-rejection
2018-05-10 12:05:36 +01:00
paul-szczepanek-arm
473482d204
move securitydb into generic
2018-05-10 11:08:31 +01:00
Paul Szczepanek
2b02148ab6
Merge branch 'master' into security-manager-dev
2018-05-09 11:23:28 +01:00
Paul Szczepanek
9a0a0865a6
Merge branch 'security-manager-dev' into sm-privacy-nordic
2018-05-08 18:01:41 +01:00
Vincent Coubard
fd5903c22d
GenericGattClient: Fix discovery termination.
...
The procedure should be terminated whenever the server returns an error not equal
to ATTRIBUTE_NOT_FOUND. The block was effectivelly terminated but the
procedure was not. As a result the discovery was operating on already
freed memory.
2018-05-04 11:30:58 +01:00
Vincent Coubard
4e5639f5ca
BLE: Support encryption with secure connection key.
2018-05-02 17:51:48 +01:00
Vincent Coubard
55eb7033b2
Generic Security Manager: Set csrk to stored when the peer csrk has been received.
2018-05-01 11:54:25 +01:00
Vincent Coubard
41a3442474
Generic Security Manager: Set ltk to stored when the peer ltk has been recveived.
2018-05-01 11:54:03 +01:00
Vincent Coubard
f90eacfd27
Generic Security Manager: remove peer csrk at disconnection
2018-05-01 11:53:18 +01:00
Vincent Coubard
1ac95e105b
ble - Generic Security Manager: set signing unconditionnal to role reversal.
...
A peripheral can act as a GATT client whether it is in the peripheral role or the central role therefore it doesn't make sense to enable signing only if roles will be reversed latter.
2018-05-01 11:50:59 +01:00
Vincent Coubard
9880db7543
Generic Security Manager: Improve formating
2018-05-01 11:48:22 +01:00
Vincent Coubard
2e3c7e8ab7
Generic Security Manager: Set LinkKey to false unconditionally.
...
This key distribution flags is for dual mode devices; mbed does not support BR/EDR.
2018-05-01 11:45:24 +01:00
Vincent Coubard
e39bb4b92c
BLE - GenericGattClient: Exploit ENCRYPTED_WITH_SC_AND_MITM encryption.
...
IF link is encrypted, authenticated or authenticated with lesc then signed write must be transformed into regular write commands.
2018-05-01 11:38:30 +01:00
Vincent Coubard
b0d5ba33bb
BLE: return an error when application tries to turn down encryption.
2018-04-20 15:49:14 +01:00
paul-szczepanek-arm
d1f3e4fd27
don't require master sends keys for signing key
2018-04-20 09:33:54 +01:00
Vincent Coubard
169e579de7
BLE: Handle new addresses type in GenericGap.
2018-04-17 17:05:41 +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
1e6455da0b
check encryption before signing
2018-04-11 13:37:04 +01:00
paul-szczepanek-arm
3aaedf6f48
fixed missed function rename
2018-04-11 12:34:57 +01:00
Paul Szczepanek
6c900642e5
Merge pull request #28 from paul-szczepanek-arm/signing-counter
...
sign counter added
2018-04-10 17:06:14 +01:00
paul-szczepanek-arm
55d3423a5e
typedef uint32_t
2018-04-09 13:35:17 +01:00
Vincent Coubard
f53a0e4906
Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into sc-nordic
2018-04-09 09:09:01 +01:00
paul-szczepanek-arm
57149b69e4
monitor for signing events and set local counter
2018-04-04 19:24:00 +01:00
Vincent Coubard
dcff810457
BLE: replace byte_array_t::buffer with byte_array_t::data
2018-04-04 17:20:08 +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
c1e2e07241
missing line from commit
...
(github client fail)
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
15c06acfe4
style fix
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
dfdfcfb25e
style fix
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
e276478d58
only bother reacting to verification failures if we want to use signing
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
780d8a4375
let the stack know whether csrk is authenticated
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
511135f31c
signing only for the slave, unless keys requested to be sent by master
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
576796b289
reset OOB on use
2018-04-03 15:29:26 +01:00
paul-szczepanek-arm
0a494a0bbc
all_zeros now free functions
2018-04-03 14:47:27 +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
e1885486fa
only generate oob if using oob
2018-03-26 18:00:05 +01:00
paul-szczepanek-arm
d1b4713ae6
removed redundancy
2018-03-26 17:53:40 +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
0a710e5331
BLE: Initialize the pal in GenericSecurityManager
2018-03-23 12:06:08 +00:00
Paul Szczepanek
d7595803d0
Merge pull request #23 from paul-szczepanek-arm/legacy-oob
...
allow preloading legacy oob, generate tk
2018-03-23 10:48:11 +00:00
paul-szczepanek-arm
6833c79fb3
don't request encrypt when pending
2018-03-22 17:54:13 +00:00
paul-szczepanek-arm
81cb1f9c83
enable encryption for slave request added
2018-03-22 17:11:15 +00:00
paul-szczepanek-arm
350924129f
fix the attempt oob flag if we receive oob
2018-03-22 12:32:01 +00:00
paul-szczepanek-arm
2b2d9a2453
reset pending state when attempt ends, added comments
2018-03-22 12:23:37 +00:00
paul-szczepanek-arm
c848c79a5b
avoid code redundancy
2018-03-22 12:10:21 +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
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
paul-szczepanek-arm
68f25611d5
no need to ask for encryption after pairing, fold deref under the null check
2018-03-01 17:47:18 +00:00
paul-szczepanek-arm
b89f9f2482
added callback on encryption request even if lower and restructured for clarity
2018-03-01 15:17:36 +00:00
Vincent Coubard
e29ea95fc9
BLE: Return error when security deascalation is requested.
2018-03-01 14:44:18 +00:00
paul-szczepanek-arm
7e2f5ee008
fix not setting the mitm performed state correctly
2018-03-01 14:25:22 +00:00
paul-szczepanek-arm
bc11834125
fix not setting encryption state in generic
2018-03-01 13:59:19 +00:00
paul-szczepanek-arm
d5b8439bae
removed redundant check
...
we already checked the current encryption and it is encrypted
2018-03-01 13:03:49 +00:00
paul-szczepanek-arm
179ad1626f
Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os
2018-03-01 12:56:33 +00:00
paul-szczepanek-arm
cebc0f8fd7
create encryption result event even when nothing changes
2018-03-01 12:56:29 +00:00
Vincent Coubard
766b8765ad
BLE: Accept pairing request when the user authorization is not required.
2018-03-01 10:21:35 +00:00
paul-szczepanek-arm
f9a79bed15
fixed initiator distribution bug and setting LINK distribution field based on SC
2018-02-28 17:43:54 +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
abcc5db44b
fix setting default values which were overriding even when unset
2018-02-28 10:00:58 +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
paul-szczepanek-arm
536f541b93
mic event no longer present in user api, removing call
2018-02-27 12:13:48 +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
b0c7d729fc
variable name updated in the undefed cmac blocks
2018-02-27 10:00:07 +00:00
Vincent Coubard
b939721421
BLE: Ensure passkey is not null before integer conversion
2018-02-27 09:00:26 +00:00
Vincent Coubard
11a809ee1c
BLE: remove MorySecurityDb include from generic security manager.
2018-02-23 11:19:21 +00:00
Vincent Coubard
1ded0d7198
BLE: Split security manager control block from the secure DB.
2018-02-23 11:15:08 +00:00
paul-szczepanek-arm
1da5d74470
temporary key encryption mitm quality reflected
2018-02-22 11:50:11 +00:00
paul-szczepanek-arm
6b0ba64ee2
SM fixes to init and register the event handler correctly
2018-02-21 18:35:44 +00:00
Vincent Coubard
9e98a72198
BLE: Move cordio default scan and connection params in global memory.
2018-02-21 17:43:39 +00:00
Vincent Coubard
ad78b3e023
BLE: Handle NULL parameters in Gap::connect.
2018-02-21 17:43:38 +00:00
Vincent Coubard
9c6f44de91
BLE: Force stop scan before connection initiation.
2018-02-21 17:43:38 +00:00
Vincent Coubard
c5be493bb7
BLE: Add address type in AdvertisementCallbackParams_t.
2018-02-21 17:41:14 +00:00
paul-szczepanek-arm
c65419239f
fixed compiler errors for pal after its update
2018-02-20 18:01:21 +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
990e21247c
pull in cordio security manager into BLE
2018-02-19 17:26:24 +00:00
paul-szczepanek-arm
dd7bc50e4b
Merge branch 'master' into palsm
2018-02-19 16:39:10 +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
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
581b5755b8
removed duplicate event handler, removed redundant using statements
2018-02-12 13:40:04 +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
18062fc9de
GAP integration for connection and disconnection events
2018-02-09 16:35:16 +00:00
paul-szczepanek-arm
e7cf1529ec
remobed todo, will be handled by db
2018-02-09 14:21:24 +00:00
paul-szczepanek-arm
e0c308f8f2
fix buffer not being moved in random number generation
2018-02-09 13:59:03 +00:00
paul-szczepanek-arm
769c97e32c
random data generation
2018-02-09 13:55:33 +00:00