蓝牙SMP安全管理详解.doc

蓝牙SMP安全管理详解.doc

ID:28141994

大小:517.50 KB

页数:6页

时间:2018-12-08

蓝牙SMP安全管理详解.doc_第1页
蓝牙SMP安全管理详解.doc_第2页
蓝牙SMP安全管理详解.doc_第3页
蓝牙SMP安全管理详解.doc_第4页
蓝牙SMP安全管理详解.doc_第5页
资源描述:

《蓝牙SMP安全管理详解.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、蓝牙SMP安全管理详解  smp即SecurityManageProtocol。是蓝牙用来进行安全管理的,其定义了配对和密钥分发的过程实现。smp被用在LE-only设备或蓝牙双模设备中。  框架  首先看下SM在ble中的框架(貌似要用到ble才会使用SM哦):       安全管理的实现基础  前面是简要看了下bleSM的大体框架,这部分将较为详细的说明ble的安全管理的实现基础是怎么样的。接下来安全管理可能用SM来代指。  密钥分发的方式来实现  SM,就是使用一种密钥分发的方式来实现识别ble数据加密和解密的功能。连接建立之后,双方通过某些方

2、式协商共同的密钥,然后将后续要传输的数据用这个密钥通过加密算法进行加密,那实际传送到空中的数据是加密后的数据,在接收到这些数据后,就必须用正确的密钥来解密,才能得到正确的数据了。当然,这种方式的加密,破解的方式就是得到其密钥即可。  配对–Pairing  配对过程,是用来建立密钥的,即完成双方密钥协商,就密钥一事达成共同一致的过程。配对其实内部又分为3个子过程的,先来看看配对过程的总体状况吧(图中iniTIator是连接发起者,一般是Master,Responder一般是Slave):    LegacyPairing与SecureConnecTI

3、on区别  这里需要说明下上图中这两者区别:  LESecureConnecTIon是BT4.2后新增特性,Key生成方式不同,另BR/EDR与LE可以相互借用配对的key。总之就是在安全方面有较大提升。  配对第一阶段:配对特征交换  即需要知道对方都支持哪些配对功能,像authenTIcation要求,IOcapabilities,是否支持SecureConnection等,以便双方后续进行相应的配对操作。比如不能让一个没有输入功能的设备使用PIN码输入来进行配对……  配对第二阶段:Key产生  LELegacypairing:产生ShortT

4、ermKey;  LESecureConnection:产生LongTermKey。  配对第三阶段:Key分发  分发一些其他用途的Key,像IdentityResolvingKey(IRK),这个Key可能是用于RandomAddress解析的吧(不确定哦,后续确认)。不过在分发这些Key时,此阶段链路是必须要加密的,要是不加密,那密钥就直接被中间截取了,那后续都仍可被破解。因此必须加密,加密的Key是用第二阶段产生的STK或LTK,或者双模下直接共享使用BR/EDR配对产生的Key。  实例展示  这里是随便抓了两个设备(Master和Slav

5、e)建立连接时的包,其中smp开头的包部分就是整个smp的流程咯,详细的看图吧:     这里开始时,Advertiser发ADV,然后Scanner搜索到了ADV信息,然后变身Initiator发ConnectRequest,然后连接就建立起来。随后,立马,Slave发一个SecurityRequest(可选),然后进行配对的第一阶段,交换双方配对支持特征。接着进行第二阶段生成了STK(看来这里的设备是用的LegacyPairing方式,毕竟目前支持4.2的SecureConnection的还是不太多的),生成完成其实可以看到“LLCPEncryp

6、tionStart”的过程,立马对链路加密,加密完成了,才进行配对第三阶段,分发其它Key。  密码工具箱  这是一些工具(软件或硬件单元实现),用于某些加密,随机数产生,配对过程用到的一些可复用的小过程吧。密码工具箱里面都是些密码函数了。  这里对这个工具箱中的密码函数主要是进行简要功能上介绍吧,如果要自己实现这些函数的硬件电路设计,或者是coding的话,得详细的查其资料了。  -ah:产生24bit的hash值(randomaddress生成和解析会用哦);  如下的是用于LELegacypairing过程的:  -c1:配对过程中产生conf

7、irm值;  -s1:配对过程中产生STK;  如下的是用于LESecureConnectionspairing过程的:  -f4:配对过程中产生confirm值;  -f5:配对过程中产生LTK和MacKey;  -f6:配对过程中在authentication过程2中产生检查值;  -g2:配对过程中在authentication过程1中产生6位数字的比较值;  -h6:用于从BR/EDRlinkkey产生LE的LTK,或者从LE的LTK产生BR/EDRlinkkey,相当于一个Key转换作用吧。  以上的密码函数分为两类:  securityf

8、unctione  ah,c1,s1都是属于e这种的,其对数据加密的使用方式如下:  encryptedDa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。