一种手机程序与智能硬件进行绑定的系统及方法与流程

文档序号:18160692发布日期:2019-07-13 09:19阅读:1188来源:国知局
一种手机程序与智能硬件进行绑定的系统及方法与流程

本发明涉及手机技术领域,特别涉及一种手机程序与智能硬件进行绑定的系统及方法。



背景技术:

目前,随着物联网和移动互联网的迅速发展,各种家具设备都可以联入互联网实现远程控制,智能硬件设备越来越多。最开始的智能硬件设备第一次联入互联网一般都需要通过网线或者usb线,先连上电脑或者手机,进行网络配置,之后才能连进网络,无法完全摆脱物理连接,然后发展到现在比较成熟的ap模式配网,智能硬件设备可以不需要配置屏幕及键盘等输入外设,连入wifi网络。

智能硬件和手机的互联一般都需要通过扫码和填入序列号的方式,这种操作方式往往操作较为复杂,无法实现自动连接,且连接效率低。



技术实现要素:

本发明提供一种手机程序与智能硬件进行绑定的系统及方法,用以解决在手机程序和智能硬件进行绑定是,需要用户先行扫码/填入序列号等方式,从而获取设备信息,导致操作复杂和验证效率低的问题,实现了自动化绑定,同时提升了绑定的效率和安全性。

为了实现上述目的,本发明实施例采用的技术方案如下:

一种手机程序与智能硬件进行绑定的系统,包括:手机终端、安装于手机终端存储介质上的计算机程序和云服务器;所述安装于手机终端存储介质上的计算机程序通过手机终端向云服务器请求下发动态验证码,云服务器收到该请求后,将动态验证码发送到手机终端,所述系统还包括:

udp广播单元,用于当手机终端与无线接入点通信时,将该无线接入点的

数据和手机终端接收到的动态验证码通过广播通信发出;

智能硬件,所述智能硬件具有无线通信单元,所述无线通信单元时刻处于监听状态,当监听到udp广播单元广播的数据后,将监听到的动态验证码发送到云服务器;

所述云服务器对接收到的动态验证码与下发到手机终端的动态验证码进行匹配,若匹配成功,则将该智能硬件和所述手机终端建立绑定关系。

进一步的,所述云服务器在将该智能硬件和所述手机终端建立绑定关系后,还会将绑定成功的结果通知安装于手机终端存储介质上的计算机程序和智能硬件。

进一步的,所述udp广播单元包括:用于广播的广播单元和用于对将要广播的数据进行加密的加密单元;加密单元生成密钥,根据生成的密钥对将要广播的数据进行加密,然后广播单元将加密后的数据进行广播。

进一步的,所述智能硬件还包括:解密单元;所述解密单元和所述无线通信单元通信连接,解密单元对无线通信单元接收到加密后的广播数据进行解密;所述解密单元内存储有与加密单元进行加密时对应的密钥。

一种手机程序与智能硬件进行绑定的方法,所述方法包括:

步骤1:安装于手机终端存储介质上的计算机程序通过手机终端向云服务器请求下发动态验证码,云服务器收到该请求后,将动态验证码发送到手机终端;

步骤2:手机终端与无线接入点通信时,将该无线接入点的数据和手机终端接收到的动态验证码通过udp广播发出;

步骤3:时刻处于监听状态的智能硬件,当监听到udp广播单元广播的数据后,将监听到的动态验证码发送到云服务器;

步骤4:云服务器对接收到的动态验证码与下发到手机终端的动态验证码进行匹配,若匹配成功,则将该智能硬件和所述手机终端建立绑定关系。

进一步的,所述手机终端与无线接入点通信时,将该无线接入点的数据和手机终端接收到的动态验证码通过udp广播发出前,还会对将要广播的数据进行加密,所述加密方法包括:对数据进行分段加密,每一个数据的分段采用不确定的密码算法来进行加密,每一个分段采用的密码算法是保密的,加密的时候双方共享一个广义密钥,通过广义密钥确定每一个分段的长度、分段的加密算法以及各种密钥和参数,udp广播数据时,还会将该广义密钥同时广播。

进一步的,所述广义密钥包含两部分数据ak和nk,其中ak确定每一个分段的密码算法和加密长度,nk确定每一个算法对应的密钥。

进一步的,所述时刻处于监听状态的智能硬件,当监听到udp广播单元广播的数据后,还将对接收到的数据进行解密,所述解密的方法包括:智能硬件设备接收到广播后的数据后,还会接收广播的广义密钥,然后根据广义密钥,对接收到的数据进行解密。

进一步的,所述方法还包括:在对智能设备确定时,判定该智能设备是否已经被绑定,如果已经被绑定,则将该智能设备被识别的概率排在最后,当不存在没有被绑定的智能硬件时才进行后面的判定,否则不对该智能硬件进行匹配和绑定;

因需要提供匹配数据,则需要智能设备上存在相关的数据测量以及传输的功能,能够测量出智能设备到云服务器的距离,智能设备所处海平面高度,智能设备所处的外界温度,智能设备与云服务器之间的信号传输是否存在阻隔,智能设备的环境质量等n个指标,并按这些因素对智能设备和手机程序可能处于一个环境中的影响力的大小进行排序,然后提取所有连接区域内的智能设备的这些指标,形成一个目标矩阵b:

其中bjn为第j个设备的第n个指标所得出的值;同时通过预估判断以及手机程序的检测,在手机程序端也可以获得手机程序预估的需要绑定的智能硬件所该指标的相应的值,a=(a1,a2,a3...,an);同时将a所得到的向量增加到b矩阵的第一行,得到新的矩阵z,其中z为n列j+1行的矩阵;则可以得到数组z如下:

因为指标的不同,所对应的评分标准,以及评分单位的不同,直接进行比较时,是缺乏可信度,所以对于这些数据首先要进行归一化,其归一化公式如下:

zzij为数组z的第i行第j列归一化后的值,且每个zzij的值都是0到1之间的值,zzij将构成一个新的矩阵zz。然后计算第二行至最后一行也就是智能设备所获取的数据,与第一行也就是每个手机程序端所获得的数据的距离,所用公式如下:

其中di为第i台智能设备与手机程序之间的数据距离,s为在n个指标中,存在s个对所处环境影响力更大的指标,例如智能设备到云服务器的距离,智能设备所处海平面高度等;在计算距离时对于影响力更大的指标,多开了一次方,因为zzij是小于1的值,平方后也是小于1的,最后在开方一次,反而会使得结果变大,从而使得这些指标的结果比其他指标的权重更大;计算出所有距离后,最后选择数据的距离最小的值所对应的设备为该匹配的设备。

本发明实施例提供的一种手机程序与智能硬件进行绑定的系统及方法,具有以下有益效果:通过udp广播的方式,在手机程序和智能硬件进行绑定的过程中,将设备、手机需要交换的信息一次性传输完成,实现了自动化绑定,提高了效率,同时在udp进行广播时,对udp广播数据进行加密,保证了udp广播数据的安全性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例中一种手机程序与智能硬件进行绑定的方法的流程示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明实施例提供了一种手机程序与智能硬件进行绑定的系统,包括:手机终端、安装于手机终端存储介质上的计算机程序和云服务器;所述安装于手机终端存储介质上的计算机程序通过手机终端向云服务器请求下发动态验证码,云服务器收到该请求后,将动态验证码发送到手机终端,所述系统还包括:

udp广播单元,用于当手机终端与无线接入点通信时,将该无线接入点的

数据和手机终端接收到的动态验证码通过广播通信发出;

智能硬件,所述智能硬件具有无线通信单元,所述无线通信单元时刻处于监听状态,当监听到udp广播单元广播的数据后,将监听到的动态验证码发送到云服务器;

所述云服务器对接收到的动态验证码与下发到手机终端的动态验证码进行匹配,若匹配成功,则将该智能硬件和所述手机终端建立绑定关系。

上述技术方案的工作原理为:用手机app进入配网模式后,向建立绑定关系的云服务器,申请一个验证动态码;云服务器下发一个固定时间有效的且唯一的验证动态码;将手机连接的ap的相关信息(ssid和密码)以及验证动态码通过udp广播通信发出;设备的wi-fi模块一直处于udp监听状态,获取到ap信息之后,wifi模块可以接入ap;获取验证动态码后,设备将此动态验证码发到云服务器;云服务器根据验证动态码,找对匹配的手机app和设备,将两者建立绑定关系;并将绑定成功的结果告知手机app和设备。

上述技术方案的有益效果为:在配网过程中,将设备、手机需要交换的信息一次性传输完成,实现了自动化绑定,提高了效率。

在一个实施例中,所述云服务器在将该智能硬件和所述手机终端建立绑定关系后,还会将绑定成功的结果通知安装于手机终端存储介质上的计算机程序和智能硬件。

上述技术方案的工作原理为:云服务器通过下发信息到手机终端和智能硬件,就可以实现。

上述技术方案的有益效果为:将绑定成功的消息通知给手机程序和智能硬件,可以清楚地告知用户,已经配对成功。

在一个实施例中,所述udp广播单元包括:用于广播的广播单元和用于对将要广播的数据进行加密的加密单元;加密单元生成密钥,根据生成的密钥对将要广播的数据进行加密,然后广播单元将加密后的数据进行广播。

上述技术方案的工作原理为:建立一个密码算法库,可以收纳各种各样的安全的密码算法,算法库中有标准化的、常用的密码算法,也有未公开的、保密的算法,只是和特定的接受方通信用的未知、且精心设计的安全密码算法、自己设计的算法,对所有算法进行编码。算法的编码:公开的算法采用公开统一的编码,分组长度不同的同一算法视为不同的算法而采用不同的编码,同一算法的不同的加密模式的运用也采用不同的编码,如ecb、cbc等;未公开的算法采用双方约定的编码,这些编码是预留的。算法数量为n,则算法编码长度取值为:当iog2n为整数,取iog2n5iog2n非整数,取iog2n的整数部分+1。不妨假设算法编码为a。加密对于不同的分段采用不同的算法,需要不同位置算法的编码序列,选择一个密钥ak产生一个安全的序列将产生不同位置分段的密码算法这一部分编码a作为密钥的一部分,与传统意义上的加密用的密钥k结合起来,作为一种广义密钥gk,gk=akink,其中i表示合并,nk代表狭义的传统的密钥以及一些需要的参数,比如初始向量iv,由于各个算法的密钥长度不一,nk的长度应该不低于算法库中密钥库的算法中密钥以及所需其他参数长度累加的最长的长度。ak的长度是确定的。nk中参数的取用是根据算法编码来确定的,比如,有些模式下有初始向量,应该规定哪些位置的数据是密钥,哪些是初始向量;再比如三重des,应该规定各重的密钥和其他参数的在nk中位置。加密算法和密钥的确定:在加密时,根据ak生成一个安全的密钥流确定各个相应分段的采用算法库中的算法代号,根据nk截取对应算法所需要的密钥长度的数据作为密钥,如果还有其他的参数,可以约定按照一定的位置截取,比如最前面是密钥,紧接着是初始向量。算法的加密长度确定:每一个算法都应该有确定的加密范围。算法的加密长度(即分段的长度)根据算法的类型和约定来处理:分组密码以及类似的算法采用对应分组长度的倍数,比如一个分组的长度,流密码和一次一密采用一个固定长度,在加密到最后一个分段的时候,一般不一定刚好达到设定的分段长度,需要进行填充处理,并且添加关于填充长度的信息。以上确定了加密的各种参数,包括算法、密钥等参数、明文及其分段,即可根据分段进行对应的加密得到密文。

上述技术方案的有益效果为:可以大大提升广播数据的安全性。

在一个实施例中,所述智能硬件还包括:解密单元;所述解密单元和所述无线通信单元通信连接,解密单元对无线通信单元接收到加密后的广播数据进行解密;所述解密单元内存储有与加密单元进行加密时对应的密钥。

上述技术方案的工作原理为:为加密单元加密的逆过程。

上述技术方案的有益效果为:大大提升广播数据的安全性。

本发明实施例还提供了一种手机程序与智能硬件进行绑定的方法,所述方法包括:

步骤1:安装于手机终端存储介质上的计算机程序通过手机终端向云服务器请求下发动态验证码,云服务器收到该请求后,将动态验证码发送到手机终端;

步骤2:手机终端与无线接入点通信时,将该无线接入点的数据和手机终端接收到的动态验证码通过udp广播发出;

步骤3:时刻处于监听状态的智能硬件,当监听到udp广播单元广播的数据后,将监听到的动态验证码发送到云服务器;

步骤4:云服务器对接收到的动态验证码与下发到手机终端的动态验证码进行匹配,若匹配成功,则将该智能硬件和所述手机终端建立绑定关系。

上述技术方案的工作原理为:用手机app进入配网模式后,向建立绑定关系的云服务器,申请一个验证动态码;云服务器下发一个固定时间有效的且唯一的验证动态码;将手机连接的ap的相关信息(ssid和密码)以及验证动态码通过udp广播通信发出;设备的wi-fi模块一直处于udp监听状态,获取到ap信息之后,wifi模块可以接入ap;获取验证动态码后,设备将此动态验证码发到云服务器;云服务器根据验证动态码,找对匹配的手机app和设备,将两者建立绑定关系;并将绑定成功的结果告知手机app和设备。

上述技术方案的有益效果为:在配网过程中,将设备、手机需要交换的信息一次性传输完成,实现了自动化绑定,提高了效率。

在一个实施例中,所述手机终端与无线接入点通信时,将该无线接入点的数据和手机终端接收到的动态验证码通过udp广播发出前,还会对将要广播的数据进行加密,所述加密方法包括:对数据进行分段加密,每一个数据的分段采用不确定的密码算法来进行加密,每一个分段采用的密码算法是保密的,加密的时候双方共享一个广义密钥,通过广义密钥确定每一个分段的长度、分段的加密算法以及各种密钥和参数,udp广播数据时,还会将该广义密钥同时广播。

上述技术方案的工作原理为:通过分段加密,在广播时将加密的广义密钥和数据都进行广播。

上述技术方案的有益效果为:由于算法是未知的,密码分析将会无从着手。分段加密采用同一算法的密文很短,达不到惟一解距离,增强了安全性。在军事背景中可以将一些公开的和不公开的加密算法同时使用。可以满足算法保密性(可以比较安全,当然未经公众评价的算法能否真正安全有争议)和算法标准化(此时算法需要公开)等互相矛盾的需求。通过对算法的融合,在某些方面会体现出综合性能的优化。算法的广义密钥空间大大增加,密码系统的不确定性更大。

在一个实施例中,所述广义密钥包含两部分数据ak和nk,其中ak确定每一个分段的密码算法和加密长度,nk确定每一个算法对应的密钥。

上述技术方案的工作原理为:选择一个密钥ak产生一个安全的序列将产生不同位置分段的密码算法这一部分编码a作为密钥的一部分,与传统意义上的加密用的密钥k结合起来,作为一种广义密钥gk,gk=akink,其中i表示合并,nk代表狭义的传统的密钥以及一些需要的参数,比如初始向量iv,由于各个算法的密钥长度不一,nk的长度应该不低于算法库中密钥库的算法中密钥以及所需其他参数长度累加的最长的长度。ak的长度是确定的。nk中参数的取用是根据算法编码来确定的,比如,有些模式下有初始向量,应该规定哪些位置的数据是密钥,哪些是初始向量;再比如三重des,应该规定各重的密钥和其他参数的在nk中位置。加密算法和密钥的确定:在加密时,根据ak生成一个安全的密钥流确定各个相应分段的采用算法库中的算法代号,根据nk截取对应算法所需要的密钥长度的数据作为密钥

上述技术方案的有益效果为:提升广播数据的安全性。

在一个实施例中,所述时刻处于监听状态的智能硬件,当监听到udp广播单元广播的数据后,还将对接收到的数据进行解密,所述解密的方法包括:智能硬件设备接收到广播后的数据后,还会接收广播的广义密钥,然后根据广义密钥,对接收到的数据进行解密。

上述技术方案的工作原理为:为加密的逆过程。

上述技术方案的有益效果为:提升广播数据的安全性。

在上一个实施例中,所述方法还包括:在对智能设备确定时,判定该智能设备是否已经被绑定,如果已经被绑定,则将该智能设备被识别的概率排在最后,当不存在没有被绑定的智能硬件时才进行后面的判定,否则不对该智能硬件进行匹配和绑定;

因需要提供匹配数据,则需要智能设备上存在相关的数据测量以及传输的功能,能够测量出智能设备到云服务器的距离,智能设备所处海平面高度,智能设备所处的外界温度,智能设备与云服务器之间的信号传输是否存在阻隔,智能设备的环境质量等n个指标,并按这些因素对智能设备和手机程序可能处于一个环境中的影响力的大小进行排序,然后提取所有连接区域内的智能设备的这些指标,形成一个目标矩阵b:

其中bjn为第j个设备的第n个指标所得出的值;同时通过预估判断以及手机程序的检测,在手机程序端也可以获得手机程序预估的需要绑定的智能硬件所该指标的相应的值,a=(a1,a2,a3...,an);同时将a所得到的向量增加到b矩阵的第一行,得到新的矩阵z,其中z为n列j+1行的矩阵;则可以得到数组z如下:

因为指标的不同,所对应的评分标准,以及评分单位的不同,直接进行比较时,是缺乏可信度,所以对于这些数据首先要进行归一化,其归一化公式如下:

zzij为数组z的第i行第j列归一化后的值,且每个zzij的值都是0到1之间的值,zzij将构成一个新的矩阵zz。然后计算第二行至最后一行也就是智能设备所获取的数据,与第一行也就是每个手机程序端所获得的数据的距离,所用公式如下:

其中di为第i台智能设备与手机程序之间的数据距离,s为在n个指标中,存在s个对所处环境影响力更大的指标,例如智能设备到云服务器的距离,智能设备所处海平面高度等;在计算距离时对于影响力更大的指标,多开了一次方,因为zzij是小于1的值,平方后也是小于1的,最后在开方一次,反而会使得结果变大,从而使得这些指标的结果比其他指标的权重更大;计算出所有距离后,最后选择数据的距离最小的值所对应的设备为该匹配的设备。

上述技术方案的技术原理为:因考虑在同一范围内可能有多台同一厂商生产的同一种类的智能硬件,从而导致在接收udp广播单元时都可能接收到广播消息,同时因为他们是同一产商生产的同一种类的智能硬件,所以他们对于udp广播的数据的解密密钥可能用的同一密钥,从而可能导致同一接收范围内可能存在多台智能硬件可以与该手机程序进行绑定,导致最终手机程序所绑定的智能设备并不是自己所期望绑定的智能设备,所以在绑定智能设备前需要对附近智能硬件进行判定,选择所需的智能硬件。

上述技术方案的有益效果为:因为指标的不同,所对应的评分标准,以及评分单位的不同,直接进行比较时,是缺乏可信度;同时,在该匹配中,因为首先进行了智能设备是否有进行绑定对智能设备进行了一次筛选,使得后面匹配时的设备数据量减少,从而使得匹配量减少,效率增加,同时对于所取得的数据进行了归一化,使数据不在受到异常值,或者某个指标的值过大或者过小对求距离产生的影响,同时克服了单位对计算不便的影响。同时对于不同指标,计算距离时,拥有不同的权重,使得结果更科学

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个单元、程序段或代码的一部分,所述单元、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能单元可以集成在一起形成一个独立的部分,也可以是各个单元单独存在,也可以两个或两个以上单元集成形成一个独立的部分。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onl8memor8)、随机存取存储器(ram,randomaccessmemor8)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1