采用手持终端设置设备密码且基于云计算平台的蓝牙动态密码安全认证方法

文档序号:9379970阅读:885来源:国知局
采用手持终端设置设备密码且基于云计算平台的蓝牙动态密码安全认证方法
【技术领域】
[0001]本发明涉及蓝牙设备通信技术领域,具体地,涉及一种采用手持终端设置设备密码且基于云计算平台的蓝牙动态密码安全认证方法。
【背景技术】
[0002]在特定的蓝牙技术应用场景中,一个蓝牙设备可以授权允许多个用户访问,出于安全性的考虑,需要对用户的身份进行验证。常用的方法是要求用户终端(通常为智能手机)与目标蓝牙设备进行绑定(Bonding)。绑定是蓝牙规范定义的安全认证机制,它要求首先进行配对(Pairing),然后用户终端与蓝牙设备双方交换并存储永久的设备密码。对于如前所述特定的应用场景,基于绑定的安全认证存在以下缺点:
1.绑定实质上是用户终端(手机)与蓝牙设备之间在操作系统层面进行的关联,并非用户与设备之间的关联。
[0003]2.绑定过程无法自动化,通常需要与人交互,比如输入PIN码、点击确定按钮等。
[0004]3.设备与每一个授权用户都需要完成绑定过程,并且每一个用户终端的设备密码都需要存储在蓝牙设备上。
[0005]4.无法集中进行授权管理,授权管理无法脱离设备进行。
[0006]5.如更换蓝牙设备,需对每一用户重复绑定过程。
[0007]6.如更换用户终端(手机),也需要重新绑定。

【发明内容】

[0008]本发明所要解决的技术问题是提供一种采用手持终端设置设备密码且基于云计算平台的蓝牙动态密码安全认证方法,以解决无法实现用户与蓝牙设备的关联以及无法自动化绑定的技术问题。
[0009]本发明解决上述问题所采用的技术方案是:
采用手持终端设置设备密码且基于云计算平台的蓝牙动态密码安全认证方法,包括以下步骤:
51、蓝牙设备出厂时无密码,工作在开放模式,手持终端提交用户登录信息到远程服务器,通过远程服务器身份认证后,手持终端向远程服务器提交蓝牙设备注册申请,注册成功后远程服务器将生成随机的设备密码并通过手持终端设置到蓝牙设备中,同时将该蓝牙设备的设备ID和设备密码存储于远程服务器中,此后蓝牙设备将工作于安全模式,设备的ID为区分设备的识别码,每个设备对应一个独立的识别码,通常是MAC地址;
52、手持终端提交用户登录信息到远程服务器,通过远程服务器身份认证后,手持终端获取其所授权访问的蓝牙设备的设备ID和设备密码,手持终端可为手机等配备蓝牙模块的设备;
53、手持终端根据设备ID识别其授权访问的蓝牙设备,并向授权访问的蓝牙设备发起连接请求,蓝牙设备接收到连接请求后,生成随机数作为质询码,并将质询码发送至手持终端;
54、手持终端读取质询码,然后手持终端获取响应码,并将响应码发送至蓝牙设备,响应码为由手持终端用该蓝牙设备的设备密码对质询码采用加密算法进行加密得到,采用的加密算法为AES高级加密标准;
55、蓝牙设备用设备密码对质询码用相同加密算法计算期望的响应码并与收到的响应码进行比较,若相同则验证通过,否则验证失败。
[0010]授权由管理员在云端即远程服务器进行统一进行管理,不需要手机与设备进行绑定。用户成功通过云端的身份认证后可获取其所授权访问的设备信息,进而完成手持终端与蓝牙设备的绑定,授权并不局限于特定的手持终端,因此用户可通过不同的终端对设备进行访问。实现集中化的授权管理,是真正的基于用户的授权,并简化用户操作。手持终端即为用户操作的用户终端,可以为智能手机、平板电脑等便携式智能设备。
[0011]可选的,所述的步骤S3中,蓝牙设备生成质询码后,蓝牙设备启动定时器,时长15秒,如果验证通过则设置验证通过标志,停止计时器;如果验证失败则断开连接;如果定时器超时则检查验证通过标志,若该标志为假则断开连接。
[0012]可选的,采用的加密算法可为AES高级加密标准(英语-Advanced Encrypt1nStandard,缩写:AES),设备密码长度:128位,质询码长度:128位。
[0013]蓝牙设备有两种工作模式:
1.开放模式:无设备密码,允许任何用户访问。
[0014]2.安全模式:有设备密码,只允许通过密码验证的用户访问。
[0015]蓝牙设备出厂时无密码,因此工作在开放模式。初次使用的用户将向云端提交设备注册申请。注册成功后云端将生成随机的设备密码并通过手持终端设置到蓝牙设备中。此后蓝牙设备将工作于安全模式。
[0016]手持终端与蓝牙设备之间通过蓝牙规范4.0定义的蓝牙低功耗(简称BLE)协议栈进行通?目。
[0017]属性协议(ATT)是基于属性(Attribute)的一种简单的无状态的客户端/服务器协议。在BLE中,任何设备既可以是客户端,也可以是服务器,甚至两者都是。客户端向服务器请求数据,服务器返回数据给客户端。每个服务器包含的数据以属性的形式存在,每个属性都被赋予一个UUID,一组访问控制权限以及一个值。客户端可以读取/写入属性的值,目标属性由UUID来唯一指定。
[0018]通用属性配置文件(GATT)建立于属性协议(ATT)之上,提供了数据抽象模型和层级。它定义了如何在应用程序之间组织和交换数据,因此称得上是BLE数据传输的骨干。
[0019]通用访问配置文件(GAP),作为蓝牙低功耗设备之间互操作的基石,定义了任何BLE实现必须遵循的框架,使得设备可以互相发现、向外广播数据、建立安全的连接、以及以标准的方式执行基本操作。
[0020]GAP定义了蓝牙设备加入BLE网络可以采用的4种角色:
广播者(Broadcaster)-面向只需定期向外传输数据的应用,广播这角色周期性的向外发送广播数据包。
[0021]观察者(Observer)-面向只需从广播设备收集数据的应用,观察者角色收听广播端所发送的广播包以获取其中的数据。
[0022]中心(Central)-中心角色对应于链路层的主控方(Master),它总是连接的发起者。
[0023]周边(Peripheral)-周边角色对应于链路层的受控方(Slave),它通过广播让中心能够发现它,然后与之建立连接。
[0024]通用连接建立过程:这个两步过程通常用于连接到新的周边蓝牙设备。中心蓝牙设备先启动扫描,接收所有广播包。对每一个发现的蓝牙设备,应用程序将决定是与之连接还是继续处理下一个蓝牙设备。为此,应用程序可以提示用户选择或者根据预定义的规则解析并匹配广播包的内容。一旦做出决定,中心蓝牙设备使用定向连接建立过程连接到蓝牙设备。
[0025]定向连接建立过程:这个标准的单步过程将中心蓝牙设备连接到特定的周边蓝牙设备。中心通过链路层向指定蓝牙地址的特定蓝牙设备发起连接,之前并不需要知道该设备确实可用。如果目标设备不可用或不在可连接模式则这个过程可能失败。
[0026]1.手持终端以中心角色工作,蓝牙设备以周边角色工作
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1