Vincent Coubard
80941af0f6
BLE: Add : LESC authenticated encryption to the list of possible link encryption.
2018-05-01 11:16:41 +01:00
Vincent Coubard
db565d38b3
BLE: remove useless flags in GattCharacteristic.
2018-04-26 19:00:43 +01:00
Vincent Coubard
486a3e020c
BLE: Add fine grained security to GattCharacteristic.
...
This patch adds independent management of security requirement for read, write and update operatiosn of a GattCharacteristic.
Requirements are defined after ble::att_security_requirement_t that maps LE security mode 1 and LE security mode 2.
The functions requireSecurity and getRequiredSecurity are deprecated as SecurityManager::ScurityMode_t does not map well with LE security modes.
2018-04-26 18:55:42 +01:00
Vincent Coubard
1c18351885
BLE: Remove unwanted documentation block of GattCharacteristic.
2018-04-26 17:29:29 +01:00
Vincent Coubard
9258b9ddb6
BLE: Add security requement support into GattAttribute.
2018-04-26 17:26:15 +01:00
Vincent Coubard
7afd01d84d
BLE: Add type describing ATT security requirements.
2018-04-26 17:22:21 +01:00
Vincent Coubard
27d36ba820
BLE: Add missing relational operator to SafeEnum.
2018-04-26 17:07:54 +01:00
Vincent Coubard
cbb33ea938
BLE: Add comments to GenericSecurityManager::on_identity_list_retrieved.
2018-04-20 10:22:56 +01:00
Vincent Coubard
0b92397840
BLE: Fix flag IRK stored in Memory security DB.
2018-04-20 10:22:13 +01:00
paul-szczepanek-arm
f56f57bf15
reorder enum to add new values at the end
2018-04-17 16:25:35 +01:00
Vincent Coubard
951a6be4c8
BLE: retrieve and fill resolving list at GenericSecurityManager startup.
2018-04-17 15:58:21 +01:00
Vincent Coubard
ede3d43743
BLE: Add function to querry the list of identity addresses present in the SecureDB.
2018-04-17 15:57:30 +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
Vincent Coubard
ae8d5b4de1
BLE: Implement identity retrieval in secure DB.
2018-04-17 14:15:28 +01:00
Vincent Coubard
f905d2a4d4
BLE: Improve DB entry lookup.
...
The DB entry lookup now looks at the identity address and/or connection address to find a DB entry associated to an address.
If the entry has not been found in the DB and a new entry is returned then the connection address is not stored for private addresses.
2018-04-17 14:14:53 +01:00
Vincent Coubard
a3bb18d724
BLE: store identity address type in DB.
2018-04-17 14:11:05 +01:00
Vincent Coubard
06e0aa3440
BLE: flag that irk has been stored in the security entry.
2018-04-17 14:10:19 +01:00
Vincent Coubard
6fc74fbc44
BLE: Fix MemorySecurityDB constructor warning.
2018-04-17 14:09:00 +01:00
Vincent Coubard
15fa3bfd37
BLE: Add a function to retrieve a device identity.
2018-04-17 14:08:01 +01:00
Vincent Coubard
e8041510a6
BLE: Add a flag that indicate if the identity address is public or not.
2018-04-17 14:07:19 +01:00
Vincent Coubard
ab6821aab8
BLE: Add a flag indicating if irk is stored in the distribution flags.
2018-04-17 14:06:47 +01:00
Vincent Coubard
9643b57159
BLE: Remove flag SecurityDistributionFlags_t::local_address_is_public
...
This flag was not used and not useful.
2018-04-17 14:06:00 +01:00
Vincent Coubard
dfbf383614
BLE: Fix const correctness of ::Gap::getRandomAddressType
2018-04-17 14:03:57 +01:00
Vincent Coubard
51e1c76b4a
BLE: Set default mac address to all 00.
2018-04-17 14:03:20 +01:00
Vincent Coubard
a7f2384e10
BLE: Add default privacy configuration
2018-04-16 18:18:04 +01:00
Vincent Coubard
90c85955ad
BLE: Fix GAP privacy related signatures.
2018-04-12 11:04:44 +01:00
Vincent Coubard
2811e00868
BLE: Fix Gap privacy related documentation
2018-04-12 10:37:13 +01:00
Vincent Coubard
1f02913a2c
BLE: Add Gap privacy interfaces.
...
This commit adds API to enable and configure the device privacy.
It deprecates address random types present in Gap::AddressType as these types are not appropriate for scan reports, connection initiation and the connection event. Now user should use the function Gap::getRandomAddressType to find the type of a random address.
The function gap::setAddress is deprecated as it is not portable and can colide with privacy.
2018-04-11 14:18:42 +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
deeb0ea7e0
redundant store for sign counter
2018-04-09 15:11:26 +01:00
paul-szczepanek-arm
637dcb9bc8
missing *
2018-04-09 15:10:25 +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
paul-szczepanek-arm
1d74dfa1f9
redundant funcs removed
2018-04-04 18:02:16 +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
2e1c5fc123
completely redundant
2018-04-04 17:16:16 +01:00
paul-szczepanek-arm
539a11ee31
sign counter added
2018-04-04 15:59:10 +01:00
Vincent Coubard
cd39406d20
BLE: Add conversion function from byte_array_t to ArrayView.
2018-04-04 15:28:52 +01:00
Vincent Coubard
5761caff00
BLE: Extend ArrayView to encode size in type.
...
With this change, it is possible to encode the size of the array viewed by an ArrayView into the type itself: ArrayView<T, Size>. Such objects are lighter than ArrayView of arbitrary size and allows verification of the size at compile time.
This change also fix operator== and bring new make_ArrayView overloads.
2018-04-04 15:28:17 +01:00
Vincent Coubard
9e1f0b34f8
BLE: Fix byte_array_t subscript operator
2018-04-04 15:22:15 +01:00
Vincent Coubard
d8f3d9c5ef
BLE: provide non const overload of byte_array_t::data member function.
2018-04-04 15:21:54 +01:00
Vincent Coubard
bf41bb3164
BLE: Export byte_array_t size exploitable at compile time.
2018-04-04 15:21:05 +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
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
26b047549c
extra comments for api
2018-04-03 15:17:15 +01:00
paul-szczepanek-arm
0a494a0bbc
all_zeros now free functions
2018-04-03 14:47:27 +01:00
paul-szczepanek-arm
ba5b0f30d2
added comments about address for oob generation
2018-04-03 13:54:29 +01:00
paul-szczepanek-arm
3c1a5a4a56
incorrect retval usage fixed
2018-04-03 12:16:49 +01:00
Vincent Coubard
95cd37b491
BLE: Add const overload for byte_array_t subscribt operator.
2018-03-29 17:22:48 +01:00
Donatien Garnier
8b66c4bd28
[BLE] Fixed inconsistent casing issue for SecurityDb
2018-03-28 10:44:09 +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
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
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
1521dee773
add doxygen comment about OOB deneration cause bu setOOBDataUsage
2018-03-09 18:06:56 +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
ded1403399
security manager overview doc fixes
2018-03-01 19:55:44 +00:00
paul-szczepanek-arm
371f183a6a
added one more sequence diagram
2018-03-01 18:49:43 +00:00
paul-szczepanek-arm
1f52e42bcf
more detailed comment for confirmation request
2018-03-01 18:31:16 +00:00
paul-szczepanek-arm
e706b41ccf
removed redundant event for SC OOB request, fixed comments
2018-03-01 16:39:44 +00:00
Vincent Coubard
f0405690b7
BLE: Resolve issue with address type in advertising report.
2018-03-01 15:48:21 +00:00
paul-szczepanek-arm
392ee6ec7c
removed get encryption key size from API
2018-03-01 15:29:52 +00:00
Donatien Garnier
00df64b26c
Fixed PasskeyAscii constructor
2018-03-01 15:16:47 +00:00
Vincent Coubard
1170b3132d
BLE: Remove useless pal sm API
2018-03-01 14:46:12 +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
d20c4efbf3
documentation overview for securitymanager
2018-02-28 17:00:56 +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
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
paul-szczepanek-arm
fc01cff1b3
removed using statements from header
2018-02-27 12:25:01 +00:00
paul-szczepanek-arm
d264512c8c
remove virtual as per review request
2018-02-27 12:15:40 +00:00
Vincent Coubard
928dbcf325
BLE: Fix prefix of BLEProtocol::AddressType
2018-02-27 12:12:17 +00:00
paul-szczepanek-arm
957cee39fe
Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os
2018-02-27 11:57:20 +00:00
paul-szczepanek-arm
0f1fd58c38
removed MIC related functions and events from the user API
2018-02-27 11:57:16 +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
paul-szczepanek-arm
4010bade89
reanmed type as per review request
2018-02-27 11:43:46 +00:00
paul-szczepanek-arm
4fd29630b3
removed redundant type
2018-02-27 11:23:22 +00:00
paul-szczepanek-arm
8142cb5131
redundant call removed
2018-02-27 10:45:31 +00:00
paul-szczepanek-arm
5de1979f5c
types renamed as per review requests
2018-02-27 10:33:35 +00:00
paul-szczepanek-arm
55106362f0
removed redundant type
2018-02-27 09:59: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
3554a63dc8
BLE: Add default addressType to processAdvertisementReport
...
This patch should be reverted once the ST shield library and mbed-os-cliapp have been updated to support this change in the porting API.
2018-02-26 09:59:17 +00:00
Vincent Coubard
1f4e2b1820
BLE: Fix Gap::processAdvertisementReport documentation
2018-02-23 17:32:22 +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