Re-connection mechanism as master role and slave roles. |
||
Issue descriptionThis tracks the implementation for re-establishing security upon re-connection as either master or slave role. The work items include - the default security manager which handles the Key request when there is no SM channel setup - generation of resolvable private address - resolution of resolvable private address based on previously exchanged pairing information - enumeration functions to search DB for certain key type or number type
,
May 29 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/newblue/+/c34b8b7e45e6c2f5934c7a6027a431d3cb6a2133 commit c34b8b7e45e6c2f5934c7a6027a431d3cb6a2133 Author: Miao-chen Chou <mcchou@chromium.org> Date: Tue May 29 22:15:52 2018 sm,tests: implement reconnection mechanism for both master and slaver roles This patch - implements the generation of resolvable/non-resolvable random address - implements resolution of resolvable random address by enumerating through the persist DB to find the matched IRK and LTK - implements the default SM to retrieve LTK by enumerating through the persist DB to find the matched random number - adds an unittest for smAddressHash - upon reception of security request, sets the required fields of a SM instance, such as authentication requirement, key size and keys - modifies test.c to adopt the generation of resolvable random address for adv slot 1 and to adopt the generation of non-resolvable random address for adv slot 2 - adds a hack to send the local resolvable random address in identity address information command in order to verify the correctness of address resolution and security re-establishment - fixes nits discovered in hci.c att.c and l2cap.c during testing BUG= chromium:842954 TEST=(1) Run "make new_blue_unittest && ./new_blue_unittest" and all tests passes (2) Run new_blue_test on a veyron_minnie to adv, issue a connection to Nbt11 from nRF connection app on an Android phone and perform a read operation on "Current Time" characteristic to trigger the authentication request which starts pairing. Once paired, disconnect from Nbt11, connect to it again and perform a read operation. Verified that encryption is setup using previously exchanged LTK. Change-Id: I2ccc7b2de479bdddb2d114cd393ccb92a0684bac [modify] https://crrev.com/c34b8b7e45e6c2f5934c7a6027a431d3cb6a2133/l2cap.c [modify] https://crrev.com/c34b8b7e45e6c2f5934c7a6027a431d3cb6a2133/sm.c [modify] https://crrev.com/c34b8b7e45e6c2f5934c7a6027a431d3cb6a2133/test.c [modify] https://crrev.com/c34b8b7e45e6c2f5934c7a6027a431d3cb6a2133/tests/sm_unittest.cc [modify] https://crrev.com/c34b8b7e45e6c2f5934c7a6027a431d3cb6a2133/att.c [modify] https://crrev.com/c34b8b7e45e6c2f5934c7a6027a431d3cb6a2133/hci.c [modify] https://crrev.com/c34b8b7e45e6c2f5934c7a6027a431d3cb6a2133/sm.h
,
Jun 13 2018
|
||
►
Sign in to add a comment |
||
Comment 1 by mcchou@chromium.org
, May 15 2018