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
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
1d74dfa1f9
redundant funcs removed
2018-04-04 18:02:16 +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
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