| 6626安全配对流程梳理首次绑定流程对端发起配对请求,我们需要把自己的加密方式回复给对端。OB_GAP_EVT_PAIRING_REQUEST绑定信息(LTK)请求,这里我们需要把自己的LTK(16字节)、random(8字节)、ediv(2字节)回给对端。OB_GAP_EVT_BOND_INFO_REQUEST对端绑定信息下发,这里主要包含主机的LTK(16字节)、random(8字节)、ediv(2字节)。OB_GAP_EVT_BOND_INFO对端绑定信息下发,这里主要包含主机的IRK(16字节)、主机端自己的mac地址类型、以及自己的mac地址。OB_GAP_EVT_BOND_INFO回调上来指示绑定完成。OB_GAP_EVT_BONDED回调上来指示加密完成。OB_GAP_EVT_ENCRYPT
 断开蓝牙后的重连流程绑定信息(LTK)请求,这里我们需要把自己的LTK(16字节)、random(8字节)、ediv(2字节)回给对端。OB_GAP_EVT_LTK_REQUEST回调上来指示加密完成。OB_GAP_EVT_ENCRYPT
 6626新增安全配对逻辑如下:目前SDK中的ediv、random、ltk、irk都是固定值,当然这只是一个demo,具体使用,还需要客户根据自己的实际使用来进行修改。这里使用随机数的方式来生成密钥,给客户一个参考。1、在对端把请求配对发过来之后,我们利用随机数生成对应的irk和ediv以及random。等到绑定成功阶段,我们自己再保存以上信息到nvds区域。
 2、sec初始化的时候,新增通过nvds读取加密信息,如果有数据,设置已绑定的标志位,否则就是处于未绑定的状态。 具体实现,用户可以参考附件中的两个文件。 
 |