CN109862560A - 一种蓝牙认证方法、装置、设备和介质 - Google Patents
一种蓝牙认证方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN109862560A CN109862560A CN201711243240.4A CN201711243240A CN109862560A CN 109862560 A CN109862560 A CN 109862560A CN 201711243240 A CN201711243240 A CN 201711243240A CN 109862560 A CN109862560 A CN 109862560A
- Authority
- CN
- China
- Prior art keywords
- information
- bluetooth
- key
- equipment
- terminal device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本申请实施例提供了一种方法、装置、设备和存储介质,其中的方法具体包括:接收蓝牙设备发送的第一信息;向服务器发送所述第一信息,并接收所述服务器依据所述第一信息返回的第二信息;依据基于所述第二信息得到的密钥参数,生成密钥;依据所述密钥与所述蓝牙设备进行认证。本申请实施例可以在一定程度上避免蓝牙设备中的数据被非可信的蓝牙APP获取,进而可以提高蓝牙通信的安全性。
Description
技术领域
本申请涉及蓝牙通信技术领域,特别是涉及一种蓝牙认证方法、一种蓝牙认证装置、一种设备和一种介质。
背景技术
蓝牙是一种支持设备短距离通信的无线电技术,其能在包括智能手机、PC(个人计算机,Personal Computer)、平板电脑、蓝牙耳机、键盘、等众多设备之间进行无线数据交换。利用蓝牙技术,能够有效地简化设备之间的通信,也能够简化设备与因特网之间的通信,从而数据通信变得更加迅速高效。蓝牙技术已被广泛地应用于智能家居、运动健康监测、外设控制等应用场景中。
发明人在实施本申请实施例的过程中发现,在蓝牙设备与终端设备之间的现有蓝牙通信过程中,终端上运行的蓝牙APP(应用程序,Application)可以随意地连接蓝牙设备、抓取蓝牙设备中的数据、甚至向蓝牙设备下发控制指令、或者改变蓝牙设备的状态,这将使非法蓝牙APP有机可乘,窃取蓝牙设备中的数据,因此现有蓝牙通信过程存在一定的安全隐患。
发明内容
本申请实施例所要解决的技术问题是提供一种蓝牙认证方法,可以在一定程度上避免蓝牙设备中的数据被非可信的蓝牙APP获取,进而可以提高蓝牙通信的安全性。
相应的,本申请实施例还提供了一种蓝牙认证装置、一种设备、以及一种机器可读介质,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种蓝牙认证方法,包括:
接收蓝牙设备发送的第一信息;
向服务器发送所述第一信息,并接收所述服务器依据所述第一信息返回的第二信息;
依据基于所述第二信息得到的密钥参数,生成密钥;
依据所述密钥与所述蓝牙设备进行认证。
本申请实施例还公开了一种蓝牙认证方法,包括:
向终端设备发送第一信息、或者第一信息和随机数;
依据蓝牙密钥参数,生成蓝牙密钥;所述蓝牙密钥参数为依据本地存储的第二信息、或者第二信息和随机数得到;
依据所述蓝牙密钥,进行所述终端设备的认证。
本申请实施例还公开了一种蓝牙认证方法,包括:
接收终端设备发送的第一信息;
依据所述第一信息,在预先建立的第一信息与第二信息之间的映射关系表中进行查找,以得到所述第一信息对应的第二信息;
向所述终端设备发送所述第二信息。
本申请实施例还公开了一种蓝牙认证装置,包括:
第一信息接收模块,用于接收蓝牙设备发送的第一信息;
第二信息请求模块,用于向服务器发送所述第一信息,并接收所述服务器依据所述第一信息返回的第二信息;
密钥生成模块,用于依据依据基于所述第二信息得到的密钥参数,生成密钥;以及
认证模块,用于依据所述密钥与所述蓝牙设备进行认证。
本申请实施例还公开了一种蓝牙认证装置,包括:
发送模块,用于向终端设备发送第一信息、或者第一信息和随机数;
蓝牙密钥生成模块,用于依据蓝牙密钥参数,生成蓝牙密钥;所述蓝牙密钥参数为依据本地存储的第二信息、或者第二信息和随机数得到;以及
认证模块,用于依据所述蓝牙密钥,进行所述终端设备的认证。
本申请实施例还公开了一种蓝牙认证装置,包括:
第一信息接收模块,用于接收终端设备发送的第一信息;
第二信息查找模块,用于依据所述第一信息,在预先建立的第一信息与第二信息之间的映射关系表中进行查找,以得到所述第一信息对应的第二信息;以及
第二信息发送模块,用于向所述终端设备发送所述第二信息。
本申请实施例还公开了一种蓝牙认证方法,包括:
接收蓝牙设备发送的第一信息和随机数;
向服务器发送所述第一信息和所述随机数,并接收所述服务器依据所述第一信息和所述随机数返回的密钥;
依据所述密钥与所述蓝牙设备进行认证。
本申请实施例还公开了一种蓝牙认证方法,包括:
接收终端设备发送的第一信息和随机数;
依据所述第一信息,在预先建立的第一信息与第二信息之间的映射关系表中进行查找,以得到所述第一信息对应的第二信息;
依据基于所述第二信息和所述随机数得到的密钥参数,生成密钥;
向所述终端设备发送所述密钥。
本申请实施例还公开了一种蓝牙认证装置,包括:
第一接收模块,用于接收蓝牙设备发送的第一信息和随机数;
第一发送模块,用于向服务器发送所述第一信息和所述随机数,并接收所述服务器依据所述第一信息和所述随机数返回的密钥;以及
认证模块,用于依据所述密钥与所述蓝牙设备进行认证。
本申请实施例还公开了一种蓝牙认证装置,包括:
接收模块,用于接收终端设备发送的第一信息和随机数;
查找模块,用于依据所述第一信息,在预先建立的第一信息与第二信息之间的映射关系表中进行查找,以得到所述第一信息对应的第二信息;
密钥生成模块,用于依据基于所述第二信息和所述随机数得到的密钥参数,生成密钥;
发送模块,用于向所述终端设备发送所述密钥。
本申请实施例还公开了一种设备,包括:一个或多个处理器;和,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行如本申请实施例中一个或多个所述的方法。
本申请实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行如本申请实施例中一个或多个所述的方法。
本申请实施例包括以下优点:
在本申请实施例中,终端设备侧的流程可以配合蓝牙设备完成对于终端设备侧(例如终端设备上运行的蓝牙APP)的认证,而在实际应用中可以向可信的蓝牙APP开放上述终端设备侧的流程,上述终端设备侧的流程对于非可信的蓝牙APP而言是未知的,并且,由于在该终端设备的认证不通过的情况下,蓝牙设备可以采取相应的措施,例如断开与该终端设备之间的连接等,因此,本申请实施例可以在一定程度上避免蓝牙设备中的数据被非可信的蓝牙APP获取,进而可以提高蓝牙通信的安全性。
并且,本申请实施例在终端设备的认证过程中,终端设备依据密钥与所述蓝牙设备进行认证,蓝牙设备依据蓝牙密钥,进行所述终端设备的认证;其中,蓝牙密钥对应的蓝牙密钥参数可以为依据蓝牙设备本地存储的第二信息得到,密钥对应的密钥参数可以为依据第二信息得到,而该第二信息为依据蓝牙设备发送的第一信息从服务器获取得到,一方面,即使蓝牙设备发送的第一信息被非可信的蓝牙APP获取得到,由于非可信的蓝牙APP无法得知该第二信息的获取过程、进而无法得知密钥,因此,可以提高密钥的安全性;另一方面,该服务器可以对请求第二信息的终端设备侧蓝牙APP进行安全认证,这样可以使可信的蓝牙APP获得第一信息对应的第二信息,而可以使不可信的蓝牙APP无法获得第一信息对应的第二信息,因此可以进一步提高密钥的安全性。
附图说明
图1是本申请实施例的一种蓝牙认证系统的示例性结构框图;
图2是本申请的一种蓝牙认证方法实施例的步骤流程图;
图3是本申请实施例的一种终端设备的认证方法的步骤流程图;
图4是本申请实施例的另一种终端设备的认证方法的步骤流程图;
图5是本申请的另一种蓝牙认证方法实施例的步骤流程图;
图6是本申请的再一种蓝牙认证方法实施例的步骤流程图;
图7是本申请的又一种蓝牙认证方法实施例的步骤流程图;
图8是本申请的一种蓝牙认证方法实施例的步骤流程图;
图9是本申请的一种蓝牙认证方法实施例的步骤流程图;
图10是本申请的一种蓝牙认证方法实施例的步骤流程图;
图11是本申请的一种蓝牙认证方法实施例的步骤流程图;
图12是本申请的一种蓝牙认证装置实施例的结构框图;
图13是本申请的另一种蓝牙认证装置可选实施例的结构框图;
图14是本申请的又一种蓝牙认证装置实施例的结构框图;
图15是本申请的另一种蓝牙认证装置可选实施例的结构框图;
图16是本申请的又一种蓝牙认证装置实施例的结构框图;及
图17是本申请一实施例提供的设备的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例提供了一种蓝牙认证方案,该方案的终端设备侧的流程可以包括:接收蓝牙设备发送的第一信息;向服务器发送所述第一信息,并接收所述服务器依据所述第一信息返回的第二信息;依据基于所述第二信息得到的密钥参数,生成密钥;以及依据所述密钥与所述蓝牙设备进行认证。由于上述终端设备侧的流程可以配合蓝牙设备完成对于终端设备侧(例如终端设备上运行的蓝牙APP)的认证,而在实际应用中可以向可信的蓝牙APP开放上述终端设备侧的流程,上述终端设备侧的流程对于非可信的蓝牙APP而言是未知的,并且,由于在该终端设备的认证不通过的情况下,蓝牙设备可以采取相应的措施,例如断开与该终端设备之间的连接等,因此,本申请实施例可以在一定程度上避免蓝牙设备中的数据被非可信的蓝牙APP获取,进而可以提高蓝牙通信的安全性。
此外,本申请实施例在终端设备的认证过程中,终端设备依据密钥(也即终端设备侧的密钥)与所述蓝牙设备进行认证,蓝牙设备依据蓝牙密钥,进行所述终端设备的认证;其中,蓝牙密钥对应的蓝牙密钥参数可以为依据蓝牙设备本地存储的第二信息得到,密钥对应的密钥参数可以为依据第二信息得到,而该第二信息为依据蓝牙设备发送的第一信息从服务器获取得到,一方面,即使蓝牙设备发送的第一信息被非可信的蓝牙APP获取得到,由于非可信的蓝牙APP无法得知该第二信息的获取过程、进而无法得知密钥,因此,可以提高密钥的安全性;另一方面,该服务器可以对请求第二信息的终端设备侧蓝牙APP进行安全认证,这样可以使可信的蓝牙APP获得第一信息对应的第二信息,而可以使不可信的蓝牙APP无法获得第一信息对应的第二信息,因此可以进一步提高密钥的安全性。
本申请实施例的蓝牙认证方案可以应用于任意的应用场景中,以提高应用场景中蓝牙通信的安全性。应用场景的例子可以包括:物联网场景,在该物联网场景中,可以整合众多蓝牙设备中的用户数据,并对大量的用户数据进行分析,可以理解,本申请实施例对于具体的应用场景不加以限制。
参照图1,示出了本申请实施例的一种蓝牙认证系统的示例性结构框图,该蓝牙通信系统具体可以包括:蓝牙设备101、终端设备102和服务器103;其中,蓝牙设备101可以通过蓝牙连接与终端设备102进行数据交互;终端设备102和服务器103位于有线或无线网络中,通过该有线或无线网络,终端设备102和服务器103进行数据交互。
本申请实施例的蓝牙设备101可以为符合蓝牙技术联盟的标准的设备。本申请实施例的蓝牙设备101可以包括但不限于:手环、血糖仪、体重秤、蓝牙耳机、蓝牙网关、蓝牙车载等。
本申请实施例的终端设备102可以为计算机网络中处于网络最外围的设备,本申请实施例的终端设备102具体包括但不限于:智能手机、平板电脑、电子书阅读器、MP3(动态影像专家压缩标准音频层面3,Moving PictureExperts Group Audio Layer III)播放器、MP4(动态影像专家压缩标准音频层面4,Moving Picture Experts Group Audio LayerIV)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等等。
终端设备102上可以运行有蓝牙APP,该蓝牙APP可以与蓝牙设备101建立蓝牙连接,并通过建立的蓝牙连接与蓝牙设备101进行数据交互,上述数据交互可用于获取蓝牙设备101中的数据、向蓝牙设备101下发控制指令、或者改变蓝牙设备101的状态等等。
本申请实施例中,服务器103可用于对蓝牙设备101进行管理。在实际应用中,在蓝牙设备101出厂前,服务器103可以对蓝牙设备101进行注册,以获得蓝牙设备101的产品参数信息和产品私有信息。在蓝牙设备101出厂前,可以将蓝牙设备101自身的产品参数信息和产品私有信息写到蓝牙设备101的固件中,固件中存储的产品参数信息和产品私有信息可以不参与蓝牙通信过程中的数据交互。
在本申请的一种可选实施例中,服务器103可以针对蓝牙设备101的物理地址信息,生成蓝牙设备101的产品参数信息和产品私有信息。该物理地址信息可以作为蓝牙设备101的唯一标识,该物理地址信息可以包括:MAC(媒体访问控制,Media Access Control)。
可选地,产品参数信息可以包括:第一产品参数信息和/或第二产品参数信息。可选地,第一产品参数信息可以为Shortmodel(短名),Shortmodle可以为蓝牙设备101对应的产品在服务器103对应的一个ID(标识,Identity),通常一种产品型号可以对应一个ID;通常,Shortmodel可以使蓝牙APP确定蓝牙设备101的产品型号,并展现该产品型号对应的页面。可选地,第二产品参数信息可以为Model(长名),可以按照一定规则对蓝牙设备101对应的产品信息进行拼接,以得到Model,Model的例子可以包括:厂家品牌+主类别+子类别+产品型号,可以理解,本申请实施例对于Shortmodel和Model的具体生成算法不加以限制。
在实际应用中,产品私有信息(Secret)可以在服务器103侧具有全局唯一性,这使得不同的蓝牙设备101对应不同的产品私有信息。可选地,可以采用GUID(全局唯一标识符,globally unique identifier)、UUID(通用唯一识别码,Universally UniqueIdentifier)、CLSID等算法,生成产品私有信息,可以理解,本申请实施例对于产品私有信息的具体生成算法不加以限制。
在获取蓝牙设备101的产品参数信息和产品私有信息之后,服务器103可以建立第一信息与第二信息之间的映射关系,并保存至映射关系表中。其中,第一信息可以为蓝牙通信过程中,蓝牙设备101向终端设备102发送的信息,第一信息可以作为从服务器获取第二信息的依据,第二信息可以为终端设备102侧密钥参数的依据。可选地,该第一信息可以包括:蓝牙设备101的物理地址信息和/或第一产品参数信息。可选地,该第二信息可以包括:所述蓝牙设备的产品私有信息和/或第二产品参数信息。
本申请实施例中,服务器103还可用于向终端设备102提供第一信息对应的第二信息。终端设备102可以不直接从蓝牙设备101获取第二信息,而是依据该第一信息从服务器103获取第二信息。即使蓝牙设备101发送的第一信息被非可信的蓝牙APP获取得到,由于非可信的蓝牙APP无法得知该第二信息的获取过程,因此,可以提高密钥的安全性;由此可以提高密钥的安全性。
在本申请的一种可选实施例中,服务器103可以对请求第二信息的终端设备102侧蓝牙APP进行安全认证,这样可以使可信的蓝牙APP获得第一信息对应的第二信息,而可以使不可信的蓝牙APP无法获得第一信息对应的第二信息,因此可以进一步提高密钥的安全性。可选的安全认证方式可以包括:用户账户认证方式、证书认证方式等。
其中,对于用户账户认证方式,可以由蓝牙APP预先向服务器103注册用户账户,并设置对应的登录密码,这样,可以在安全认证请求中携带对应的用户账户和登录密码,以使服务器103进行请求第二信息的终端设备102侧蓝牙APP的安全认证。需要说明的是,在蓝牙APP向服务器103注册用户账户的过程中,服务器103可以对蓝牙APP进行可信度认证,相应的可信度认证方式可以包括:签名认证、证书认证等,其中,签名认证、证书认证分别验证蓝牙APP的签名和证书是否可信,若是,则可信度认证通过,允许蓝牙APP注册用户账户。
对于证书认证方式,服务器103可以对请求第二信息的终端设备102侧蓝牙APP的证书进行认证,例如,若证书来自公认的证书颁发机构,则请求第二信息的终端设备102侧蓝牙APP的的安全认证通过等。
可以理解,上述用户账户认证方式、证书认证方式只是作为请求第二信息的终端设备102侧蓝牙APP的安全认证方式的示例,实际上,本申请实施例对于请求第二信息的终端设备102侧蓝牙APP的具体安全认证方式不加以限制。
本申请实施例中,蓝牙设备101与终端设备102之间的通信可以为蓝牙设备101与终端设备102上运行的蓝牙APP之间的通信,为了简便起见,本申请实施例采用“蓝牙设备101与终端设备102之间的通信”对应的描述。
本申请实施例还提供了一种蓝牙认证方法。
为了说明蓝牙设备101与终端设备102之间的认证过程,参照图2,示出了本申请的一种蓝牙认证方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201、蓝牙设备向终端设备发送第一信息;
步骤202、终端设备向服务器发送所述第一信息,并接收所述服务器依据所述第一信息返回的第二信息;
步骤203、终端设备依据基于所述第二信息得到的密钥参数,生成密钥;
步骤204、蓝牙设备依据蓝牙密钥参数,生成蓝牙密钥;所述蓝牙密钥参数可以为依据本地存储的第二信息得到;
步骤205、终端设备依据所述密钥与所述蓝牙设备进行认证;
步骤206、蓝牙设备依据所述蓝牙密钥,进行所述终端设备的认证。
在实际应用中,步骤201蓝牙设备向终端设备发送第一信息的过程可以包括:蓝牙设备广播第一信息。相应地,对于与该蓝牙设备之间的距离未超过距离阈值的终端设备,其可以监听蓝牙设备广播的第一信息。在本申请的一种可选实施例中,蓝牙设备可以发送广播报文,并在该广播报文中携带该第一信息,而该终端设备可以通过解析该广播报文,获得该广播报文中携带的第一信息,其中,该广播报文可以遵循蓝牙报文规范。
在本申请的一种可选实施例中,所述第一信息可以包括:所述蓝牙设备的物理地址信息和/或第一产品参数信息。其中,该物理地址信息可以为MAC信息,该第一产品参数信息可以为Shortmodel。可以理解,本领域技术人员可以根据广播报文的长度和服务器侧预先建立的映射关系表的内容,确定第一信息的具体内容,本申请实施例对于具体的第一信息不加以限制。
由于服务器保存有第一信息与第二信息之间的映射关系表,故本申请实施例的终端设备可以向服务器发送所述第一信息,以使服务器依据该第一信息在上述映射关系表中进行查找,并向该终端设备返回查找得到的第二信息。
在本申请的一种可选实施例中,服务器可以对请求第二信息的终端设备102侧蓝牙APP进行安全认证,这样可以使可信的蓝牙APP获得第一信息对应的第二信息,而可以使不可信的蓝牙APP无法获得第一信息对应的第二信息,因此可以进一步提高密钥的安全性。相应地,在所述向服务器发送所述第一信息之前,所述方法还可以包括:向服务器发送安全认证请求;在接收所述服务器返回的安全认证成功响应后,向服务器发送所述第一信息。服务器所采用的可选的安全认证方式可以包括:用户账户认证方式、证书认证方式等,可以理解,本申请实施例对具体的安全认证方式不加以限制。
需要说明的是,在实际应用中,终端设备可以依据第一信息的全部或部分内容,从服务器获取第二信息。例如,第一信息包括:MAC和Shortmodel,根据Shortmodel从服务器获取Model和Secret等。
需要说明的是,在实际应用中,终端设备可能出现第二信息获取失败、的情况。例如,若请求第二信息的终端设备侧蓝牙APP不可信,则有可能出现第二信息获取失败的情况。此种情况下,终端设备将无法继续后续的流程。
步骤203生成的密钥可用于终端设备向蓝牙设备发送的数据的加密、以及终端设备从蓝牙设备接收的数据的解密。该密钥可依据密钥参数生成,该密钥参数可以包括:服务器返回的上述第二信息。
步骤204生成的蓝牙密钥可用于蓝牙设备向终端设备发送的数据的加密、以及蓝牙设备从终端设备接收的数据的解密。该蓝牙密钥可依据蓝牙密钥参数生成,该蓝牙密钥参数可以包括:本地存储的第二信息。在实际应用中,上述第二信息可以被预先写到蓝牙设备的固件中。
可选地,上述第二信息可以包括:所述蓝牙设备的产品私有信息和/或第二产品参数信息。
当然,除了第二信息之外,该密钥参数或者该蓝牙密钥参数还可以包括其他信息,如第一信息包括的全部或部分内容等。在本申请的一种可选实施例中,该密钥参数或者或者该蓝牙密钥参数还可以包括:第一信息,该密钥参数可以为对所述第一信息和所述第二信息进行拼接得到,相应地,所述方法还可以包括:对所述第一信息和所述第二信息进行拼接,以得到密钥参数或者蓝牙密钥参数。可选地,上述拼接过程可以包括:按照预设顺序对上述第一信息和第二信息进行拼接,上述第一信息和第二信息之间通过预设符号连接。本领域技术人员可以根据实际应用需求,确定上述预设顺序和预设符号,例如上述预设顺序可以包括:第一信息在先、第二信息在后、或者第二信息在先、第一信息在后等;上述预设符号可以包括:“,”、“&”、“*”等等。
在本申请的一种应用示例中,假设第二信息包括:Model和Secret,第一信息包括:MAC,则可以按照Model、Secret和MAC顺序进行拼接,以得到密钥参数或者或者蓝牙密钥参数,其中,Model、Secret和MAC两两之间可以通过“,”连接。
在实际应用中,步骤203对应的终端设备可以采用加密算法,依据密钥参数生成密钥;同理,步骤204对应的蓝牙设备可以采用加密算法,依据蓝牙密钥参数生成蓝牙密钥。上述加密算法可以包括:AES(高级加密标准,Advanced Encryption Standard)、DES(数据加密标准,Data EncryptionStandard)等,其中,按照加密长度的不同,AES可以包括:AES-128、AES-192、AES-256等。可选地,在采用AES时,可以采用ECB(电码本,ElectronicCodebook)模式,具体地,明文可被分割成分组长度相等的块(不足补齐),然后单独一个个加密,一个个输出组成密文。
目前,蓝牙4.0版本的蓝牙设备可以自带AES-128的硬件加密引擎,故加解密速度比较快。当然,通过硬件加密引擎进行加解密的方式只是作为示例,本领域技术人员可以根据实际应用需求,采用软件进行加解密,本申请实施例对于具体的加密算法及其对应的加解密过程不加以限制。
在步骤205终端设备依据所述密钥与所述蓝牙设备进行认证之前,终端设备可以与蓝牙设备建立连接。可选地,终端设备可以向所述蓝牙设备发送连接请求;依据所述蓝牙设备返回的连接响应,与所述蓝牙设备建立连接。可选地,该连接请求中可以携带第一信息的全部或者部分信息,例如,该连接请求中可以携带蓝牙设备的MAC,以实现与蓝牙设备之间的连接。
步骤206对应的蓝牙设备可以依据所述蓝牙密钥,进行所述终端设备的认证。上述终端设备的认证可以判断密钥和蓝牙密钥是否一致,若是,则终端设备的认证通过,否则,终端设备的认证不通过。
在实际应用中,蓝牙设备和终端设备可以进行握手交互,则上述终端设备的认证可以通过握手交互过程中的数据,判断密钥和蓝牙密钥是否一致,可以理解,本申请实施例对于终端设备的具体认证过程不加以限制。
参照图3,示出了本申请实施例的一种终端设备的认证方法的步骤流程图,具体可以包括如下步骤:
步骤301、终端设备采用密钥,对第一明文进行加密,以得到第一密文;
步骤302、终端设备向蓝牙设备发送第一密文;
步骤303、蓝牙设备采用蓝牙密钥,对第一密文进行解密,以得到所述第一密文对应的第一解密明文;
步骤304、若所述第一密文对应的解密失败或者所述第一解密明文与第一明文不一致,则蓝牙设备判定所述终端设备的认证不通过,或者,若所述第一密文对应的解密失败或者所述第一解密明文与第一明文一致,则蓝牙设备判定所述终端设备的认证通过。
在实际应用中,第一明文可以为第一握手信号,该第一握手信号可以为第一预置字符串,如“Hi,Server”等,则蓝牙设备可以通过解密,确认终端设备发送的握手信号是否准确。具体地,若所述第一密文对应的解密失败或者所述第一解密明文与第一明文不一致,则蓝牙设备可以判定所述终端设备的认证不通过。
参照图4,示出了本申请实施例的另一种终端设备的认证方法的步骤流程图,具体可以包括如下步骤:
步骤401、终端设备采用密钥,对第一明文进行加密,以得到第一密文;
步骤402、终端设备向蓝牙设备发送第一密文;
步骤403、蓝牙设备采用蓝牙密钥,对第一密文进行解密,以得到所述第一密文对应的第一解密明文;
步骤404、若所述第一密文对应的解密失败或者所述第一解密明文与第一明文不一致,则蓝牙设备判定所述终端设备的认证不通过;
步骤405、若所述第一解密明文与第一明文一致,则蓝牙设备利用所述蓝牙密钥对第二明文进行加密,以得到第二密文;
步骤406、蓝牙设备向终端设备发送第二密文;
步骤407、终端设备采用密钥,对第二密文进行解密,以得到第二解密明文;
步骤408、若所述第二解密明文与第二明文一致,则终端设备采用所述密钥对第三明文进行加密,以得到第三密文;
步骤409、终端设备向蓝牙设备发送第三密文;
步骤410、蓝牙设备利用蓝牙密钥,对第三密文进行解密,以得到所述第三密文对应的第三解密明文;
步骤411、若所述第三密文对应的解密失败或者所述第三解密明文与第三明文不一致,则蓝牙设备判定所述终端设备的认证不通过,或者,若所述第三密文对应的解密失败或者所述第三解密明文与第三明文一致,则蓝牙设备判定所述终端设备的认证通过。
相对于图3所示终端设备的认证方法,图4所示终端设备的认证方法在确认第一解密明文准确后,还可以向终端设备发送第二密文,该第二密文可以为依据第二明文加密得到,第二明文可以为第二握手信号,该第二握手信号可以为第二预置字符串,如“Hi,Client”等;而终端设备在确认第二解密明文与第二明文一致后,可以向蓝牙设备发送第三密文,该第三密文可以为依据第三明文加密得到,第三明文可以为第三握手信号,该第三握手信号可以为第三预置字符串,如“OK”等;而蓝牙设备可以判断第三解密明文与第三明文是否一致,若是,则判定所述终端设备的认证通过,否则,判定所述终端设备的认证不通过。
可以理解,图3和图4所示终端设备的认证方法只是作为本申请实施例的可选实施例,实际上,本领域技术人员可以根据实际应用需求,采用终端设备的其他认证方法,例如,还可以在图4的基础上继续采用第四密文和第五密文进行终端设备的认证等,本申请实施例对于终端设备的具体认证方法不加以限制。
在本申请的一种可选实施例中,本申请实施例的方法还可以包括:若所述终端设备的认证不通过,则断开与所述终端设备之间的连接。这样,可以在一定程度上避免终端设备侧的非法蓝牙APP窃取蓝牙设备中的数据,因此可以提高蓝牙通信的安全性。
在本申请的另一种可选实施例中,本申请实施例的方法还可以包括:若所述终端设备的认证通过,则采用所述蓝牙密钥对业务数据进行加密;向所述终端设备发送加密业务数据。上述业务数据可以包括:蓝牙设备中的数据,可以理解,本申请实施例对于具体的业务数据不加以限制。
可以理解,终端设备可以采用密钥对控制指令进行加密,并向终端设备发送加密控制指令,以使蓝牙设备依据加密控制指令解密得到控制指令,进而实现对于蓝牙设备的控制。
需要说明的是,对于蓝牙设备,其可以针对与终端设备之间的每次数据交互进行超时判断,若超时,则断开与所述终端设备之间的连接,超时判断对应的超时时长可以为预设时长值,如10S等。
综上,本申请实施例的蓝牙认证方法,终端设备侧的流程可以配合蓝牙设备完成对于终端设备侧(例如终端设备上运行的蓝牙APP)的认证,而在实际应用中可以向可信的蓝牙APP开放上述终端设备侧的流程,上述终端设备侧的流程对于非可信的蓝牙APP而言是未知的,并且,由于在该终端设备的认证不通过的情况下,蓝牙设备可以采取相应的措施,例如断开与该终端设备之间的连接等,因此,本申请实施例可以在一定程度上避免蓝牙设备中的数据被非可信的蓝牙APP获取,进而可以提高蓝牙通信的安全性。
并且,本申请实施例在终端设备的认证过程中,终端设备依据密钥与所述蓝牙设备进行认证,蓝牙设备依据蓝牙密钥,进行所述终端设备的认证;其中,蓝牙密钥对应的蓝牙密钥参数可以为依据蓝牙设备本地存储的第二信息得到,密钥对应的密钥参数可以为依据第二信息得到,而该第二信息为依据蓝牙设备发送的第一信息从服务器获取得到,一方面,即使蓝牙设备发送的第一信息被非可信的蓝牙APP获取得到,由于非可信的蓝牙APP无法得知该第二信息的获取过程、进而无法得知密钥,因此,可以提高密钥的安全性;另一方面,该服务器可以对请求第二信息的终端设备侧蓝牙APP进行安全认证,这样可以使可信的蓝牙APP获得第一信息对应的第二信息,而可以使不可信的蓝牙APP无法获得第一信息对应的第二信息,因此可以进一步提高密钥的安全性。
参照图5,示出了本申请的一种蓝牙认证方法实施例的步骤流程图,该方法可以应用于终端设备侧,具体可以包括如下步骤:
步骤501、接收蓝牙设备发送的第一信息;
步骤502、向服务器发送所述第一信息,并接收所述服务器依据所述第一信息返回的第二信息;
步骤503、依据基于所述第二信息得到的密钥参数,生成密钥;
步骤504、依据所述密钥与所述蓝牙设备进行认证。
在实际应用中,步骤501可以监听蓝牙设备广播的第一信息。可选地,所述第一信息可以包括:所述蓝牙设备的物理地址信息和/或第一产品参数信息。其中,该物理地址信息可以为MAC信息,该第一产品参数信息可以为Shortmodel。可以理解,本领域技术人员可以根据广播报文的长度和服务器侧预先建立的映射关系表的内容,确定第一信息的具体内容,本申请实施例对于具体的第一信息不加以限制。
由于服务器保存有第一信息与第二信息之间的映射关系表,故本申请实施例的步骤502可以向服务器发送所述第一信息,以使服务器依据该第一信息在上述映射关系表中进行查找,并向该终端设备返回查找得到的第二信息。可选地,所述第二信息可以包括:所述蓝牙设备的产品私有信息和/或第二产品参数信息。
在本申请的一种可选实施例中,在所述步骤502向服务器发送所述第一信息之前,所述方法还可以包括:向服务器发送安全认证请求;在接收所述服务器返回的安全认证成功响应后,向服务器发送所述第一信息。本可选实施例可以使服务器对请求第二信息的终端设备侧蓝牙APP进行安全认证,这样可以使可信的蓝牙APP获得第一信息对应的第二信息,而可以使不可信的蓝牙APP无法获得第一信息对应的第二信息,因此可以进一步提高密钥的安全性。可选的安全认证方式可以包括:用户账户认证方式、证书认证方式等,本申请实施例对于服务器对于终端设备侧蓝牙APP的安全认证方式不加以限制。
在本申请的另一种可选实施例中,所述密钥参数还可以包括:所述第一信息,所述方法还可以包括:对所述第一信息和所述第二信息进行拼接,以得到密钥参数。
在步骤504依据所述密钥与所述蓝牙设备进行认证之前,终端设备可以与蓝牙设备建立连接。可选地,终端设备可以向所述蓝牙设备发送连接请求;依据所述蓝牙设备返回的连接响应,与所述蓝牙设备建立连接。可选地,该连接请求中可以携带蓝牙设备的MAC,以实现与蓝牙设备之间的连接。
在本申请的再一种可选实施例中,步骤504依据所述密钥与所述蓝牙设备进行认证的过程,具体可以包括:采用所述密钥,对第一明文进行加密,以得到第一密文;向所述蓝牙设备发送所述第一密文。
在本申请的又一种可选实施例中,步骤504依据所述密钥与所述蓝牙设备进行认证的过程,还可以包括:接收蓝牙设备发送的第二密文;采用所述密钥,对第二密文进行解密,以得到第二解密明文;若所述第二解密明文与第二明文一致,则采用所述密钥对第三明文进行加密,以得到第三密文;向所述蓝牙设备发送所述第三密文。可以理解,若所述第二解密明文与第二明文不一致,则可以断开与蓝牙设备之间的连接,或者采取其他处理。
在本申请的一种可选实施例中,所述方法还可以包括:接收蓝牙设备发送的加密业务数据;采用所述密钥,对加密业务数据进行解密,以得到解密业务数据。这样,可以在一定程度上避免蓝牙设备中的数据被非可信的蓝牙APP获取,进而可以提高蓝牙通信的安全性。
在本申请的一些实施例中,终端设备可以采用密钥对控制指令进行加密,并向终端设备发送加密控制指令,以使蓝牙设备依据加密控制指令解密得到控制指令,进而实现对于蓝牙设备的控制。
综上,本申请实施例的蓝牙认证方法,终端设备侧的流程可以配合蓝牙设备完成对于终端设备侧(例如终端设备上运行的蓝牙APP)的认证,而在实际应用中可以向可信的蓝牙APP开放上述终端设备侧的流程,上述终端设备侧的流程对于非可信的蓝牙APP而言是未知的,因此,本申请实施例可以在一定程度上避免蓝牙设备中的数据被非可信的蓝牙APP获取,进而可以提高蓝牙通信的安全性。
并且,本申请实施例在终端设备的认证过程中,密钥对应的密钥参数可以为依据第二信息得到,而该第二信息为依据蓝牙设备发送的第一信息从服务器获取得到,一方面,即使蓝牙设备发送的第一信息被非可信的蓝牙APP获取得到,由于非可信的蓝牙APP无法得知该第二信息的获取过程、进而无法得知密钥,因此,可以提高密钥的安全性;另一方面,该服务器可以对请求第二信息的终端设备侧蓝牙APP进行安全认证,这样可以使可信的蓝牙APP获得第一信息对应的第二信息,而可以使不可信的蓝牙APP无法获得第一信息对应的第二信息,因此可以进一步提高密钥的安全性。
参照图6,示出了本申请的一种蓝牙认证方法实施例的步骤流程图,该方法可以应用于蓝牙设备侧,具体可以包括如下步骤:
步骤601、向终端设备发送第一信息;
步骤602、依据蓝牙密钥参数,生成蓝牙密钥;所述蓝牙密钥参数可以为依据本地存储的第二信息得到;
步骤603、依据所述蓝牙密钥,进行所述终端设备的认证。
在实际应用中,蓝牙设备可以广播第一信息。相应地,对于与该蓝牙设备之间的距离未超过距离阈值的终端设备,其可以监听蓝牙设备广播的第一信息。在本申请的一种可选实施例中,蓝牙设备可以发送广播报文,并在该广播报文中携带该第一信息,而该终端设备可以通过解析该广播报文,获得该广播报文中携带的第一信息,其中,该广播报文可以遵循蓝牙报文规范。
在本申请的一种可选实施例中,所述第一信息可以包括:所述蓝牙设备的物理地址信息和/或第一产品参数信息。可以理解,本领域技术人员可以根据广播报文的长度和服务器侧预先建立的映射关系表的内容,确定第一信息的具体内容,本申请实施例对于具体的第一信息不加以限制。
在实际应用中,在蓝牙设备出厂前,服务器可以对蓝牙设备进行注册,以获得蓝牙设备的产品参数信息和产品私有信息。在蓝牙设备出厂前,可以将蓝牙设备自身的产品参数信息和产品私有信息写到蓝牙设备的固件中,固件中存储的产品参数信息和产品私有信息可以不参与蓝牙通信过程中的数据交互。
可选地,所述第二信息可以包括:所述蓝牙设备的产品私有信息和/或第二产品参数信息。
可选地,所述蓝牙密钥参数还可以包括:所述第一信息,所述方法还可以包括:对所述第一信息和所述第二信息进行拼接,以得到蓝牙密钥参数。
步骤603可以依据所述蓝牙密钥,进行所述终端设备的认证。上述终端设备的认证可以判断密钥和蓝牙密钥是否一致,若是,则终端设备的认证通过,否则,终端设备的认证不通过。
在实际应用中,蓝牙设备和终端设备可以进行握手交互,则上述终端设备的认证可以通过握手交互过程中的数据,判断密钥和蓝牙密钥是否一致,可以理解,本申请实施例对于终端设备的具体认证过程不加以限制。
在本申请的一种可选实施例中,上述步骤603依据所述蓝牙密钥,进行所述终端设备的认证的过程具体可以包括:接收所述终端设备发送的第一密文;采用所述蓝牙密钥,对所述第一密文进行解密,以得到所述第一密文对应的第一解密明文;若所述第一密文对应的解密失败或者所述第一解密明文与第一明文不一致,则所述终端设备的认证不通过。
在本申请的另一种可选实施例中,上述步骤603依据所述蓝牙密钥,进行所述终端设备的认证的过程,还可以包括:若所述第一解密明文与第一明文一致,则利用所述蓝牙密钥对第二明文进行加密,以得到第二密文;向所述终端设备发送所述第二密文;接收所述终端设备发送的第三密文;利用所述蓝牙密钥,对所述第三密文进行解密,以得到所述第三密文对应的第三解密明文;若所述第三密文对应的解密失败或者所述第三解密明文与第三明文不一致,则所述终端设备的认证不通过。
在本申请的一种可选实施例中,本申请实施例的方法还可以包括:若所述终端设备的认证不通过,则断开与所述终端设备之间的连接。这样,可以在一定程度上避免终端设备侧的非法蓝牙APP窃取蓝牙设备中的数据,因此可以提高蓝牙通信的安全性。
在本申请的另一种可选实施例中,本申请实施例的方法还可以包括:若所述终端设备的认证通过,则采用所述蓝牙密钥对业务数据进行加密;向所述终端设备发送加密业务数据。上述业务数据可以包括:蓝牙设备中的数据,可以理解,本申请实施例对于具体的业务数据不加以限制。
综上,本申请实施例的蓝牙认证方法,蓝牙设备可以依据所述蓝牙密钥,进行所述终端设备的认证,以使终端设备侧的流程可以配合蓝牙设备完成对于终端设备侧(例如终端设备上运行的蓝牙APP)的认证,而在实际应用中可以向可信的蓝牙APP开放上述终端设备侧的流程,上述终端设备侧的流程对于非可信的蓝牙APP而言是未知的,因此,本申请实施例可以在一定程度上避免蓝牙设备中的数据被非可信的蓝牙APP获取,进而可以提高蓝牙通信的安全性。
参照图7,示出了本申请的一种蓝牙认证方法实施例的步骤流程图,该方法可以应用于服务器侧,具体可以包括如下步骤:
步骤701、接收终端设备发送的第一信息;
步骤702、依据所述第一信息,在预先建立的第一信息与第二信息之间的映射关系表中进行查找,以得到所述第一信息对应的第二信息;
步骤703、向所述终端设备发送所述第二信息。
本申请实施例中,服务器可用于对蓝牙设备进行管理。在实际应用中,在蓝牙设备出厂前,服务器可以对蓝牙设备进行注册,以获得蓝牙设备的产品参数信息和产品私有信息。
在本申请的一种可选实施例中,服务器可以针对蓝牙设备的物理地址信息,生成蓝牙设备101的产品参数信息和产品私有信息。可选地,产品参数信息可以包括:第一产品参数信息和/或第二产品参数信息。可选地,第一产品参数信息可以为Shortmodel(短名),Shortmodle可以为蓝牙设备101对应的产品在服务器103对应的一个ID(标识,Identity),通常一种产品型号可以对应一个ID;通常,Shortmodel可以使蓝牙APP确定蓝牙设备101的产品型号,并展现该产品型号对应的页面。可选地,第二产品参数信息可以为Model(长名),可以按照一定规则对蓝牙设备101对应的产品信息进行拼接,以得到Model,Model的例子可以包括:厂家品牌+主类别+子类别+产品型号,可以理解,本申请实施例对于Shortmodel和Model的具体生成算法不加以限制。
在实际应用中,产品私有信息(Secret)可以在服务器103侧具有全局唯一性,这使得不同的蓝牙设备101对应不同的产品私有信息。可选地,可以采用GUID(全局唯一标识符,globally unique identifier)、UUID(通用唯一识别码,Universally UniqueIdentifier)、CLSID等算法,生成产品私有信息,可以理解,本申请实施例对于产品私有信息的具体生成算法不加以限制。
在获取蓝牙设备101的产品参数信息和产品私有信息之后,服务器可以建立第一信息与第二信息之间的映射关系,并保存至映射关系表中。其中,第一信息可以为蓝牙通信过程中,蓝牙设备向终端设备发送的信息,第一信息可以作为从服务器获取第二信息的依据,第二信息可以为终端设备侧密钥参数的依据。可选地,该第一信息可以包括:蓝牙设备的物理地址信息和/或第一产品参数信息。可选地,该第二信息可以包括:所述蓝牙设备的产品私有信息和/或第二产品参数信息。
在本申请的一种可选实施例中,服务器可以对请求第二信息的终端设备侧蓝牙APP进行安全认证,相应地,本申请实施例的方法还可以包括:接收终端设备发送的安全认证请求;依据所述安全认证请求,对所述终端设备侧蓝牙APP进行安全认证。这样,可以使可信的蓝牙APP获得第一信息对应的第二信息,而可以使不可信的蓝牙APP无法获得第一信息对应的第二信息,因此可以进一步提高密钥的安全性。可选的安全认证方式可以包括:用户账户认证方式、证书认证方式等。
其中,对于用户账户认证方式,可以由蓝牙APP预先向服务器103注册用户账户,并设置对应的登录密码,这样,可以在安全认证请求中携带对应的用户账户和登录密码,以使服务器103进行请求第二信息的终端设备102侧蓝牙APP的安全认证。需要说明的是,在蓝牙APP向服务器103注册用户账户的过程中,服务器103可以对蓝牙APP进行可信度认证,相应的可信度认证方式可以包括:签名认证、证书认证等,其中,签名认证、证书认证分别验证蓝牙APP的签名和证书是否可信,若是,则可信度认证通过,允许蓝牙APP注册用户账户。
对于证书认证方式,服务器103可以对请求第二信息的终端设备102侧蓝牙APP的证书进行认证,例如,若证书来自公认的证书颁发机构,则请求第二信息的终端设备102侧蓝牙APP的的安全认证通过等。
可以理解,上述用户账户认证方式、证书认证方式只是作为请求第二信息的终端设备102侧蓝牙APP的安全认证方式的示例,实际上,本申请实施例对于请求第二信息的终端设备102侧蓝牙APP的具体安全认证方式不加以限制。
综上,本申请实施例的蓝牙认证方法,在终端设备的认证过程中,密钥对应的密钥参数可以为依据第二信息得到,而该第二信息为依据蓝牙设备发送的第一信息从服务器获取得到,一方面,即使蓝牙设备发送的第一信息被非可信的蓝牙APP获取得到,由于非可信的蓝牙APP无法得知该第二信息的获取过程、进而无法得知密钥,因此,可以提高密钥的安全性;另一方面,该服务器可以对请求第二信息的终端设备侧蓝牙APP进行安全认证,这样可以使可信的蓝牙APP获得第一信息对应的第二信息,而可以使不可信的蓝牙APP无法获得第一信息对应的第二信息,因此可以进一步提高密钥的安全性。
参照图8,示出了本申请的一种蓝牙认证方法实施例的步骤流程图,具体可以包括如下步骤:
步骤801、蓝牙设备向终端设备发送第一信息;
可选地,第一信息可以包括:所述蓝牙设备的物理地址信息和/或第一产品参数信息。
步骤802、终端设备向蓝牙设备发送连接请求,并依据所述蓝牙设备返回的连接响应,与所述蓝牙设备建立连接;
步骤803、在与终端设备建立连接后,蓝牙设备向终端设备发送随机数;
本申请实施例将上述随机数应用于密钥的获取,可以提高密钥的复杂度和破解难度。
根据一种实施例,可以针对种子采用递归法生成0到某个自然数N之间的自然数,并将随机生成的自然数转换成0到1之间的实数(比如通过除以N来得到),作为随机数。可以理解,本申请实施例对于随机数的生成过程不加以限制。
可选地,上述随机数可以定时更新或者在每次蓝牙设备与终端设备重新连接后更新,这样可以提高随机数的时效性,进而可以提高密钥的安全性。
步骤804、终端设备向服务器发送所述第一信息和随机数;
步骤805、服务器依据所述第一信息和随机数得到密钥,并向终端设备发送所述密钥;
可选地,服务器可以依据第一信息获得第二信息,依据第二信息得到密钥参数,并依据密钥参数生成密钥。可选地,可以对第二信息和随机数进行拼接,以得到密钥参数,或者,可以对第二信息、第一信息和随机数进行拼接,以得到密钥参数。
在本申请的一种应用示例中,假设第二信息包括:Secret,第一信息包括:MAC,则可以按照Secret、MAC和随机数的顺序进行拼接,以得到密钥参数,其中,Secret、MAC和随机数两两之间可以通过“,”连接。
可选地,可以对密钥参数进行加密运算,以得到密钥。可选地,可以对密钥参数进行SHA(安全哈希算法,Secure Hash Algorithm)-256运算,从运算结果中截取128字节,作为密钥参数。可以理解,本申请实施例对于具体的加密算法不加以限制。
步骤806、蓝牙设备依据蓝牙密钥参数,生成蓝牙密钥;所述蓝牙密钥参数可以包括:本地存储的第二信息和所述随机数;
步骤807、终端设备依据所述密钥与所述蓝牙设备进行认证;
步骤808、蓝牙设备依据所述蓝牙密钥,进行所述终端设备的认证。
在实际应用中,终端设备与蓝牙设备之间可以通过握手信号进行交互。例如,终端设备依据所述密钥与所述蓝牙设备进行认证的过程可以包括:终端设备向蓝牙设备发送利用密钥加密后的“Hi,Server”;蓝牙设备通过蓝牙密钥解析接收的数据,验证是否为握手信号,若是,则可以向终端设备应答利用蓝牙密钥加密后的“Hi,Client”;终端设备通过终端秘钥解析应答信号,若校验通过后,则可以回复利用密钥加密后的“OK”;蓝牙设备收到"OK"后,确认蓝牙密钥与密钥一致,故终端设备的认证通过。
需要说明的是,在终端设备的认证通过后,蓝牙设备与终端设备之间通道上所有的数据都可以通过密钥加密,具体地,蓝牙设备可以利用蓝牙密钥对数据进行加密,终端设备可以利用密钥对数据进行加密。
综上,本申请实施例的蓝牙认证方法,终端设备侧的流程可以配合蓝牙设备完成对于终端设备侧(例如终端设备上运行的蓝牙APP)的认证,而在实际应用中可以向可信的蓝牙APP开放上述终端设备侧的流程,上述终端设备侧的流程对于非可信的蓝牙APP而言是未知的,并且,由于在该终端设备的认证不通过的情况下,蓝牙设备可以采取相应的措施,例如断开与该终端设备之间的连接等,因此,本申请实施例可以在一定程度上避免蓝牙设备中的数据被非可信的蓝牙APP获取,进而可以提高蓝牙通信的安全性。
并且,本申请实施例在终端设备的认证过程中,终端设备依据密钥与所述蓝牙设备进行认证,蓝牙设备依据蓝牙密钥,进行所述终端设备的认证;其中,蓝牙密钥对应的蓝牙密钥参数可以为依据蓝牙设备本地存储的第二信息得到,密钥可以为依据蓝牙设备发送的第一信息和随机数从服务器获取得到,一方面,即使蓝牙设备发送的第一信息和随机数被非可信的蓝牙APP获取得到,由于非可信的蓝牙APP无法得知该密钥的获取过程、进而无法得知密钥,因此,可以提高密钥的安全性;另一方面,该服务器可以对请求密钥的终端设备侧蓝牙APP进行安全认证,这样可以使可信的蓝牙APP获得第一信息和随机数对应的密钥,而可以使不可信的蓝牙APP无法获得第一信息和随机数对应的密钥,因此可以进一步提高密钥的安全性。
参照图9,示出了本申请的一种蓝牙认证方法实施例的步骤流程图,具体可以包括如下步骤:
步骤901、接收蓝牙设备发送的第一信息和随机数;
步骤902、向服务器发送所述第一信息和所述随机数,并接收所述服务器依据所述第一信息和所述随机数返回的密钥;
步骤903、依据所述密钥与所述蓝牙设备进行认证。
在本申请的一种可选实施例中,本申请实施例的方法还可以包括:向所述蓝牙设备发送连接请求;依据所述蓝牙设备返回的连接响应,与所述蓝牙设备建立连接;在与所述蓝牙设备建立连接后,接收所述蓝牙设备发送的随机数。
在本申请的另一种可选实施例中,在所述向服务器发送所述第一信息和所述随机数之前,所述方法还可以包括:向服务器发送安全认证请求;在接收所述服务器返回的安全认证成功响应后,向服务器发送所述第一信息和所述随机数。
参照图10,示出了本申请的一种蓝牙认证方法实施例的步骤流程图,该方法可以应用于蓝牙设备侧,具体可以包括如下步骤:
步骤1001、向终端设备发送第一信息和随机数;
可选地,可以首先向终端设备广播第一信息。然后,在与终端设备建立连接后,向终端设备发送随机数。
步骤1002、依据蓝牙密钥参数,生成蓝牙密钥;所述蓝牙密钥参数可以为依据本地存储的第二信息和随机数得到;
步骤1003、依据所述蓝牙密钥,进行所述终端设备的认证。
可选地,可以对第二信息和随机数进行拼接,以得到蓝牙密钥参数,或者,可以对第二信息、第一信息和随机数进行拼接,以得到蓝牙密钥参数。
在本申请的一种应用示例中,假设第二信息包括:Secret,第一信息包括:MAC,则可以按照Secret、MAC和随机数的顺序进行拼接,以得到蓝牙密钥参数,其中,Secret、MAC和随机数两两之间可以通过“,”连接。
可选地,可以对蓝牙密钥参数进行加密运算,以得到蓝牙密钥。可选地,可以对蓝牙密钥参数进行SHA-256运算,从运算结果中截取128字节,作为蓝牙密钥参数。可以理解,本申请实施例对于具体的加密算法不加以限制。
在本申请的一种可选实施例中,蓝牙设备可以在系统启动后,获取蓝牙设备的硬件信息,包括但不限于:MAC、ShortModel、Secret等;然后,广播广播包,可选地,该广播包可以符合预置规范,例如,该预置规范可以为物联平台定义的规范,符合预置规范的广播包可以表征蓝牙设备的身份和能力;接着,蓝牙设备可以依据终端设备发送的连接请求,与终端设备建立连接,并向终端设备发送随机数;然后,蓝牙设备可以基于与终端设备的交互数据,对终端设备进行认证,若认证通过,则建立加密通道,并通过该加密通道进行数据传输,若认证未通过或者通信超时,则断开与终端设备之间的连接。
参照图11,示出了本申请的一种蓝牙认证方法实施例的步骤流程图,该方法可以应用于服务器侧,具体可以包括如下步骤:
步骤1101、接收终端设备发送的第一信息和随机数;
步骤1102、依据所述第一信息,在预先建立的第一信息与第二信息之间的映射关系表中进行查找,以得到所述第一信息对应的第二信息;
步骤1103、依据基于所述第二信息和所述随机数得到的密钥参数,生成密钥;
步骤1104、向所述终端设备发送所述密钥。
可选地,在所述接收终端设备发送的第一信息和随机数之前,所述方法还可以包括:接收终端设备发送的安全认证请求;依据所述安全认证请求,对所述终端设备侧蓝牙APP进行安全认证。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
本申请实施例还提供了一种蓝牙认证装置。
参照图12,示出了本申请一种蓝牙认证装置实施例的结构框图,该蓝牙认证装置可以应用于终端设备侧,具体可以包括如下模块:
第一信息接收模块1201,用于接收蓝牙设备发送的第一信息;
第二信息请求模块1202,用于向服务器发送所述第一信息,并接收所述服务器依据所述第一信息返回的第二信息;
密钥生成模块1203,用于依据基于所述第二信息得到的密钥参数,生成密钥;以及
认证模块1204,用于依据所述密钥与所述蓝牙设备进行认证。
可选地,所述密钥参数包括:所述第二信息;或者
所述密钥参数包括:所述第二信息和所述第一信息,所述密钥参数为对所述第一信息和所述第二信息进行拼接得到。
可选地,所述装置还可以包括:
拼接模块,用于对所述第一信息和所述第二信息进行拼接,以得到密钥参数。
可选地,所述第一信息可以包括:所述蓝牙设备的物理地址信息和/或第一产品参数信息。
可选地,所述第二信息可以包括:所述蓝牙设备的产品私有信息和/或第二产品参数信息。
可选地,认证模块1204可以包括:
第一密文加密模块,用于采用所述密钥,对第一明文进行加密,以得到第一密文;
第一密文发送模块,用于向所述蓝牙设备发送所述第一密文。
可选地,认证模块1204还可以包括:
第二密文接收模块,用于接收蓝牙设备发送的第二密文;
第二密文解密模块,用于采用所述密钥,对第二密文进行解密,以得到第二解密明文;
第三密文加密模块,用于若所述第二解密明文与第二明文一致,则采用所述密钥对第三明文进行加密,以得到第三密文;
第三密文发送模块,用于向所述蓝牙设备发送所述第三密文。
可选地,所述装置还可以包括:
加密业务数据接收模块,用于接收蓝牙设备发送的加密业务数据;
加密业务数据解密模块,用于采用所述密钥,对加密业务数据进行解密,以得到解密业务数据。
可选地,所述装置还可以包括:
连接请求模块,用于在所述认证模块依据所述密钥与所述蓝牙设备进行认证之前,向所述蓝牙设备发送连接请求;
连接建立模块,用于依据所述蓝牙设备返回的连接响应,与所述蓝牙设备建立连接。
可选地,所述装置还可以包括:
认证请求模块,用于在所述第二信息请求模块向服务器发送所述第一信息之前,向服务器发送安全认证请求;
第一信息发送模块,用于在接收所述服务器返回的安全认证成功响应后,向服务器发送所述第一信息。
参照图13,示出了本申请另一种蓝牙认证装置实施例的结构框图,该蓝牙认证装置可以应用于蓝牙设备侧,具体可以包括如下模块:
发送模块1301,用于向终端设备发送第一信息、或者第一信息和随机数;
蓝牙密钥生成模块1302,用于依据蓝牙密钥参数,生成蓝牙密钥;所述蓝牙密钥参数可以为依据本地存储的第二信息、或者第二信息和随机数得到;以及
认证模块1303,用于依据所述蓝牙密钥,进行所述终端设备的认证。
可选地,所述装置还可以包括:
连接断开模块,用于若所述终端设备的认证不通过,则断开与所述终端设备之间的连接。
可选地,所述第二信息可以包括:所述蓝牙设备的产品私有信息和/或第二产品参数信息。
可选地,所述蓝牙密钥参数还可以包括:所述第一信息,所述装置还可以包括:
拼接模块,用于对所述第一信息和所述第二信息进行拼接,以得到蓝牙密钥参数。
可选地,认证模块1303可以包括:
第一密文接收模块,用于接收所述终端设备发送的第一密文;
第一密文解密模块,用于采用所述蓝牙密钥,对所述第一密文进行解密,以得到所述第一密文对应的第一解密明文;
第一认证判断模块,用于若所述第一密文对应的解密失败或者所述第一解密明文与第一明文不一致,则所述终端设备的认证不通过。
可选地,认证模块1303还可以包括:
第二密文加密模块,用于若所述第一解密明文与第一明文一致,则利用所述蓝牙密钥对第二明文进行加密,以得到第二密文;
第二密文发送模块,用于向所述终端设备发送所述第二密文;
第三密文接收模块,用于接收所述终端设备发送的第三密文;
第三密文解密模块,用于利用所述蓝牙密钥,对所述第三密文进行解密,以得到所述第三密文对应的第三解密明文;
第二认证判断模块,用于若所述第三密文对应的解密失败或者所述第三解密明文与第三明文不一致,则所述终端设备的认证不通过。
可选地,所述装置还可以包括:
业务数据加密模块,用于若所述终端设备的认证通过,则采用所述蓝牙密钥对业务数据进行加密;
加密业务数据发送模块,用于向所述终端设备发送加密业务数据。
参照图14,示出了本申请另一种蓝牙认证装置实施例的结构框图,该蓝牙认证装置可以应用于服务器侧,具体可以包括如下模块:
第一信息接收模块1401,用于接收终端设备发送的第一信息;
第二信息查找模块1402,用于依据所述第一信息,在预先建立的第一信息与第二信息之间的映射关系表中进行查找,以得到所述第一信息对应的第二信息;以及
第二信息发送模块1403,用于向所述终端设备发送所述第二信息。
可选地,所述装置还可以包括:
认证请求接收模块,用于在第一信息接收模块1401接收终端设备发送的第一信息之前,接收终端设备发送的安全认证请求;
安全认证模块,用于依据所述安全认证请求,对所述终端设备侧蓝牙APP进行安全认证。
参照图15,示出了本申请一种蓝牙认证装置实施例的结构框图,该蓝牙认证装置可以应用于终端设备侧,具体可以包括如下模块:
第一接收模块1501,用于接收蓝牙设备发送的第一信息和随机数;
第一发送模块1502,用于向服务器发送所述第一信息和所述随机数,并接收所述服务器依据所述第一信息和所述随机数返回的密钥;以及
认证模块1503,用于依据所述密钥与所述蓝牙设备进行认证。
可选地,所述装置还可以包括:
第二发送模块,用于向所述蓝牙设备发送连接请求;
连接建立模块,用于依据所述蓝牙设备返回的连接响应,与所述蓝牙设备建立连接;
第二接收模块,用于在与所述蓝牙设备建立连接后,接收所述蓝牙设备发送的随机数。
可选地,所述装置还可以包括:
认证请求模块,用于在所述第一发送模块向服务器发送所述第一信息和随机数之前,向服务器发送安全认证请求;
第三发送模块,用于在接收所述服务器返回的安全认证成功响应后,向服务器发送所述第一信息和所述随机数。
参照图16,示出了本申请另一种蓝牙认证装置实施例的结构框图,该蓝牙认证装置可以应用于服务器侧,具体可以包括如下模块:
接收模块1601,用于接收终端设备发送的第一信息和随机数;
查找模块1602,用于依据所述第一信息,在预先建立的第一信息与第二信息之间的映射关系表中进行查找,以得到所述第一信息对应的第二信息;
密钥生成模块1603,用于依据基于所述第二信息和所述随机数得到的密钥参数,生成密钥;
发送模块1604,用于向所述终端设备发送所述密钥。
可选地,所述装置还可以包括:
认证请求接收模块,用于在所述接收模块接收终端设备发送的第一信息之前,接收终端设备发送的安全认证请求;
安全认证模块,用于依据所述安全认证请求,对所述终端设备侧蓝牙APP进行安全认证。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例的实施例可被实现为使用任意适当的硬件和/或软件进行想要的配置的系统或设备。本申请实施例还提供了一种设备,该设备可以包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行图2至图11一个或多个所述的方法。在实际应用中,该设备可以作为终端,也可以作为服务器,终端的例子可以包括:智能手机、平板电脑、电子书阅读器、MP3(动态影像专家压缩标准音频层面3,Moving Picture Experts Group Audio Layer III)播放器、MP4(动态影像专家压缩标准音频层面4,Moving Picture Experts Group Audio Layer IV)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等等,本申请实施例对于具体的设备不加以限制。
图17示意性地示出了可被用于实现本申请中所述的各个实施例的示例性设备1700。
对于一个实施例,图17示出了示例性设备1700,该设备1700可以包括:一个或多个处理器1702、与处理器1702中的至少一个耦合的系统控制模块(芯片组)1704、与系统控制模块1704耦合的系统存储器1706、与系统控制模块1704耦合的非易失性存储器(NVM)/存储设备1708、与系统控制模块1704耦合的一个或多个输入/输出设备1710,以及与系统控制模块1706耦合的网络接口1712。该系统存储器1706可以包括:指令1762,该指令1762可被一个或多个处理器1702执行。
处理器1702可包括一个或多个单核或多核处理器,处理器1702可包括通用处理器或专用处理器(例如图形处理器、应用程序处理器、基带处理器等)的任意组合。在一些实施例中,设备1700能够作为本申请实施例中所述的服务器、目标设备、无线设备等。
在一些实施例中,设备1700可包括具有指令的一个或多个机器可读介质(例如,系统存储器1706或NVM/存储设备1708)以及与该一个或多个机器可读介质相合并被配置为执行指令、以实现前述设备包括的模块、从而执行本申请实施例中所述的动作的一个或多个处理器1702。
一个实施例的系统控制模块1704可包括任何适合的接口控制器,用于提供任何适合的接口给处理器1702中的至少一个和/或与系统控制模块1704通信的任意适合的设备或部件。
一个实施例的系统控制模块1704可包括一个或多个存储器控制器,用于提供接口给系统存储器1706。存储器控制器可以是硬件模块、软件模块和/或固件模块。
一个实施例的系统存储器1706可被用于加载和存储数据和/或指令1762。对于一个实施例,系统存储器1706可包括任何适合的易失性存储器,例如,适合的DRAM(动态随机存取存储器)。在一些实施例中,系统存储器1706可包括:双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
一个实施例的系统控制模块1704可包括一个或多个输入/输出控制器,以向NVM/存储设备1708及(一个或多个)输入/输出设备1710提供接口。
一个实施例的NVM/存储设备1708可被用于存储数据和/或指令1782。NVM/存储设备1708可包括任何适合的非易失性存储器(例如闪存等)和/或可包括任何适合的(一个或多个)非易失性存储设备,例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器等。
NVM/存储设备1708可包括在物理上是设备1700被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备1708可经由网络接口1712通过网络和/或通过输入/输出设备1710进行访问。
一个实施例的(一个或多个)输入/输出设备1710可为设备1700提供接口以与任意其他适当的设备通信,输入/输出设备1710可以包括通信组件、音频组件、传感器组件等。
一个实施例的网络接口1712可为设备1700提供接口以通过一个或多个网络和/或与任何其他适合的设备通信,设备1700可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合进行无线通信。
对于一个实施例,处理器1702中的至少一个可与系统控制模块1704的一个或多个控制器(例如,存储器控制器)的逻辑封装在一起。对于一个实施例,处理器1702中的至少一个可与系统控制模块1704的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,处理器1702中的至少一个可与系统控制模块1704的一个或多个控制器的逻辑集成在同一新品上。对于一个实施例,处理器1702中的至少一个可与系统控制模块1704的一个或多个控制器的逻辑集成在同一芯片上以形成片上系统(SoC)。
在各个实施例中,设备1700可以包括但不限于:台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等计算设备。在各个实施例中,设备1700可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,设备1700可以包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
其中,如果显示器包括触摸面板,显示屏可以被实现为触屏显示器,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在终端设备时,可以使得该终端设备执行本申请实施例中图2至图11各方法步骤的指令(instructions)。
一个可选实施例中,包括:一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行如终端设备侧一个或多个所述的方法,例如,图5或图9所示的方法。
另一个可选实施例中,包括:一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行如蓝牙设备侧一个或多个所述的方法,例如,图6或图10所示的方法。
再一个可选实施例中,包括:一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行如服务器侧一个或多个所述的方法,例如,图7或图11所示的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种蓝牙认证方法、一种蓝牙认证装置、一种设备、以及一种存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (43)
1.一种蓝牙认证方法,其特征在于,包括:
接收蓝牙设备发送的第一信息;
向服务器发送所述第一信息,并接收所述服务器依据所述第一信息返回的第二信息;
依据基于所述第二信息得到的密钥参数,生成密钥;
依据所述密钥与所述蓝牙设备进行认证。
2.根据权利要求1所述的方法,其特征在于,所述密钥参数包括:所述第二信息;或者
所述密钥参数包括:所述第二信息和所述第一信息,所述密钥参数为对所述第一信息和所述第二信息进行拼接得到。
3.根据权利要求1所述的方法,其特征在于,所述第一信息包括:所述蓝牙设备的物理地址信息和/或第一产品参数信息。
4.根据权利要求1所述的方法,其特征在于,所述第二信息包括:所述蓝牙设备的产品私有信息和/或第二产品参数信息。
5.根据权利要求1至4中任一所述的方法,其特征在于,所述依据密钥所述蓝牙设备进行认证,包括:
采用所述密钥,对第一明文进行加密,以得到第一密文;
向所述蓝牙设备发送所述第一密文。
6.根据权利要求5所述的方法,其特征在于,所述依据密钥对所述蓝牙设备进行认证,还包括:
接收蓝牙设备发送的第二密文;
采用所述密钥,对第二密文进行解密,以得到第二解密明文;
若所述第二解密明文与第二明文一致,则采用所述密钥对第三明文进行加密,以得到第三密文;
向所述蓝牙设备发送所述第三密文。
7.根据权利要求1至4中任一所述的方法,其特征在于,所述方法还包括:
接收蓝牙设备发送的加密业务数据;
采用所述密钥,对加密业务数据进行解密,以得到解密业务数据。
8.根据权利要求1至4中任一所述的方法,其特征在于,在所述依据所述密钥与所述蓝牙设备进行认证之前,所述方法还包括:
向所述蓝牙设备发送连接请求;
依据所述蓝牙设备返回的连接响应,与所述蓝牙设备建立连接。
9.根据权利要求1至4中任一所述的方法,其特征在于,在所述向服务器发送所述第一信息之前,所述方法还包括:
向服务器发送安全认证请求;
在接收所述服务器返回的安全认证成功响应后,向服务器发送所述第一信息。
10.一种蓝牙认证方法,其特征在于,包括:
向终端设备发送第一信息、或者第一信息和随机数;
依据蓝牙密钥参数,生成蓝牙密钥;所述蓝牙密钥参数为依据本地存储的第二信息、或者第二信息和随机数得到;
依据所述蓝牙密钥,进行所述终端设备的认证。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
若所述终端设备的认证不通过,则断开与所述终端设备之间的连接。
12.根据权利要求10所述的方法,其特征在于,所述第二信息包括:所述蓝牙设备的产品私有信息和/或第二产品参数信息。
13.根据权利要求10所述的方法,其特征在于,所述蓝牙密钥参数还包括:所述第一信息,所述方法还包括:
对所述第一信息和所述第二信息进行拼接,以得到蓝牙密钥参数。
14.根据权利要求10至13中任一所述的方法,其特征在于,所述依据所述蓝牙密钥,进行所述终端设备的认证,包括:
接收所述终端设备发送的第一密文;
采用所述蓝牙密钥,对所述第一密文进行解密,以得到所述第一密文对应的第一解密明文;
若所述第一密文对应的解密失败或者所述第一解密明文与第一明文不一致,则所述终端设备的认证不通过。
15.根据权利要求14所述的方法,其特征在于,所述依据所述蓝牙密钥,进行所述终端设备的认证,还包括:
若所述第一解密明文与第一明文一致,则利用所述蓝牙密钥对第二明文进行加密,以得到第二密文;
向所述终端设备发送所述第二密文;
接收所述终端设备发送的第三密文;
利用所述蓝牙密钥,对所述第三密文进行解密,以得到所述第三密文对应的第三解密明文;
若所述第三密文对应的解密失败或者所述第三解密明文与第三明文不一致,则所述终端设备的认证不通过。
16.根据权利要求10至13中任一所述的方法,其特征在于,所述方法还包括:
若所述终端设备的认证通过,则采用所述蓝牙密钥对业务数据进行加密;
向所述终端设备发送加密业务数据。
17.一种蓝牙认证方法,其特征在于,包括:
接收终端设备发送的第一信息;
依据所述第一信息,在预先建立的第一信息与第二信息之间的映射关系表中进行查找,以得到所述第一信息对应的第二信息;
向所述终端设备发送所述第二信息。
18.根据权利要求17所述的方法,其特征在于,在所述接收终端设备发送的第一信息之前,所述方法还包括:
接收终端设备发送的安全认证请求;
依据所述安全认证请求,对所述终端设备侧蓝牙APP进行安全认证。
19.一种蓝牙通信装置,其特征在于,包括:
第一信息接收模块,用于接收蓝牙设备发送的第一信息;
第二信息请求模块,用于向服务器发送所述第一信息,并接收所述服务器依据所述第一信息返回的第二信息;
密钥生成模块,用于依据依据基于所述第二信息得到的密钥参数,生成密钥;以及
认证模块,用于依据所述密钥与所述蓝牙设备进行认证。
20.根据权利要求19所述的装置,其特征在于所述密钥参数包括:所述第二信息;或者
所述密钥参数包括:所述第二信息和所述第一信息,所述密钥参数为对所述第一信息和所述第二信息进行拼接得到。
21.根据权利要求19所述的装置,其特征在于,所述第一信息包括:所述蓝牙设备的物理地址信息和/或第一产品参数信息。
22.一种蓝牙认证装置,其特征在于,包括:
发送模块,用于向终端设备发送第一信息、或者第一信息和随机数;
蓝牙密钥生成模块,用于依据蓝牙密钥参数,生成蓝牙密钥;所述蓝牙密钥参数为依据本地存储的第二信息、或者第二信息和随机数得到;以及
认证模块,用于依据所述蓝牙密钥,进行所述终端设备的认证。
23.根据权利要求22所述的装置,其特征在于,所述装置还包括:
连接断开模块,用于若所述终端设备的认证不通过,则断开与所述终端设备之间的连接。
24.根据权利要求22所述的装置,其特征在于,所述第二信息包括:所述蓝牙设备的产品私有信息和/或第二产品参数信息。
25.一种蓝牙认证装置,其特征在于,包括:
第一信息接收模块,用于接收终端设备发送的第一信息;
第二信息查找模块,用于依据所述第一信息,在预先建立的第一信息与第二信息之间的映射关系表中进行查找,以得到所述第一信息对应的第二信息;以及
第二信息发送模块,用于向所述终端设备发送所述第二信息。
26.根据权利要求25所述的装置,其特征在于,所述装置还包括:
认证请求接收模块,用于在所述第一信息接收模块接收终端设备发送的第一信息之前,接收终端设备发送的安全认证请求;
安全认证模块,用于依据所述安全认证请求,对所述终端设备侧蓝牙APP进行安全认证。
27.一种设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行如权利要求1-9中一个或多个所述的方法。
28.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行如权利要求1-9中一个或多个所述的方法。
29.一种设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端设备执行如权利要求10-16中一个或多个所述的方法。
30.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行如权利要求10-16中一个或多个所述的方法。
31.一种设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端设备执行如权利要求17-18中一个或多个所述的方法。
32.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行如权利要求17-18中一个或多个所述的方法。
33.一种蓝牙认证方法,其特征在于,包括:
接收蓝牙设备发送的第一信息和随机数;
向服务器发送所述第一信息和所述随机数,并接收所述服务器依据所述第一信息和所述随机数返回的密钥;
依据所述密钥与所述蓝牙设备进行认证。
34.根据权利要求33所述的方法,其特征在于,所述方法还包括:
向所述蓝牙设备发送连接请求;
依据所述蓝牙设备返回的连接响应,与所述蓝牙设备建立连接;
在与所述蓝牙设备建立连接后,接收所述蓝牙设备发送的随机数。
35.根据权利要求33或34所述的方法,其特征在于,在所述向服务器发送所述第一信息和所述随机数之前,所述方法还包括:
向服务器发送安全认证请求;
在接收所述服务器返回的安全认证成功响应后,向服务器发送所述第一信息和所述随机数。
36.一种蓝牙认证方法,其特征在于,包括:
接收终端设备发送的第一信息和随机数;
依据所述第一信息,在预先建立的第一信息与第二信息之间的映射关系表中进行查找,以得到所述第一信息对应的第二信息;
依据基于所述第二信息和所述随机数得到的密钥参数,生成密钥;
向所述终端设备发送所述密钥。
37.根据权利要求36所述的方法,其特征在于,在所述接收终端设备发送的第一信息和随机数之前,所述方法还包括:
接收终端设备发送的安全认证请求;
依据所述安全认证请求,对所述终端设备侧蓝牙APP进行安全认证。
38.一种蓝牙认证装置,其特征在于,包括:
第一接收模块,用于接收蓝牙设备发送的第一信息和随机数;
第一发送模块,用于向服务器发送所述第一信息和所述随机数,并接收所述服务器依据所述第一信息和所述随机数返回的密钥;以及
认证模块,用于依据所述密钥与所述蓝牙设备进行认证。
39.一种蓝牙认证装置,其特征在于,包括:
接收模块,用于接收终端设备发送的第一信息和随机数;
查找模块,用于依据所述第一信息,在预先建立的第一信息与第二信息之间的映射关系表中进行查找,以得到所述第一信息对应的第二信息;
密钥生成模块,用于依据基于所述第二信息和所述随机数得到的密钥参数,生成密钥;
发送模块,用于向所述终端设备发送所述密钥。
40.一种设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端设备执行如权利要求33-35中一个或多个所述的方法。
41.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行如权利要求33-35中一个或多个所述的方法。
42.一种设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端设备执行如权利要求36-37中一个或多个所述的方法。
43.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行如权利要求36-37中一个或多个所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711243240.4A CN109862560B (zh) | 2017-11-30 | 2017-11-30 | 一种蓝牙认证方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711243240.4A CN109862560B (zh) | 2017-11-30 | 2017-11-30 | 一种蓝牙认证方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109862560A true CN109862560A (zh) | 2019-06-07 |
CN109862560B CN109862560B (zh) | 2022-06-14 |
Family
ID=66888751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711243240.4A Active CN109862560B (zh) | 2017-11-30 | 2017-11-30 | 一种蓝牙认证方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109862560B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933614A (zh) * | 2019-10-12 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 通信处理方法、装置及电子设备 |
CN111510896A (zh) * | 2020-03-13 | 2020-08-07 | 珠海格力电器股份有限公司 | 蓝牙连接方法、装置、物联网系统、电子设备及存储介质 |
CN112333677A (zh) * | 2019-11-19 | 2021-02-05 | 杭州智缤科技有限公司 | 一种低功耗蓝牙的安全通信方法 |
CN112448808A (zh) * | 2019-08-29 | 2021-03-05 | 斑马智行网络(香港)有限公司 | 通信方法、设备、接入点、服务器、系统及存储介质 |
CN112562300A (zh) * | 2020-12-03 | 2021-03-26 | 星宏网络科技有限公司 | 一种基于蓝牙的设备无线控制系统及方法 |
CN113613227A (zh) * | 2021-08-09 | 2021-11-05 | 青岛海尔科技有限公司 | 蓝牙设备的数据传输方法和装置、存储介质及电子装置 |
CN113840266A (zh) * | 2020-06-24 | 2021-12-24 | 华为技术有限公司 | 蓝牙配对方法、装置、系统、电子设备和存储介质 |
CN115379590A (zh) * | 2022-10-27 | 2022-11-22 | 深圳市正浩创新科技股份有限公司 | 蓝牙连接建立方法、装置、电子设备及计算机存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120102546A1 (en) * | 2009-05-08 | 2012-04-26 | Zte Corporation | Method And System For Authenticating Network Device |
CN103268456A (zh) * | 2013-05-31 | 2013-08-28 | 杭州华三通信技术有限公司 | 一种文件安全控制方法及装置 |
CN104378145A (zh) * | 2014-11-27 | 2015-02-25 | 北京深思数盾科技有限公司 | 蓝牙设备的配对方法及系统 |
CN104540132A (zh) * | 2015-01-15 | 2015-04-22 | 天地融科技股份有限公司 | 蓝牙设备的通讯方法、移动设备、电子签名设备和服务器 |
CN105281809A (zh) * | 2014-05-30 | 2016-01-27 | 刘洪明 | 辅助蓝牙低功耗设备配对的方法及系统 |
US20160227358A1 (en) * | 2013-03-27 | 2016-08-04 | BBPOS Limited | System and method for secure pairing of bluetooth devices |
CN106507343A (zh) * | 2016-09-07 | 2017-03-15 | 努比亚技术有限公司 | 一种信息处理方法、移动终端和服务器 |
CN106792493A (zh) * | 2017-03-09 | 2017-05-31 | 北京小米移动软件有限公司 | 蓝牙设备的配对方法、装置及蓝牙设备 |
CN106788977A (zh) * | 2016-12-28 | 2017-05-31 | 北京握奇数据系统有限公司 | 低功耗蓝牙设备通讯加密方法及系统 |
CN107317789A (zh) * | 2016-04-27 | 2017-11-03 | 华为技术有限公司 | 密钥分发、认证方法,装置及系统 |
-
2017
- 2017-11-30 CN CN201711243240.4A patent/CN109862560B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120102546A1 (en) * | 2009-05-08 | 2012-04-26 | Zte Corporation | Method And System For Authenticating Network Device |
US20160227358A1 (en) * | 2013-03-27 | 2016-08-04 | BBPOS Limited | System and method for secure pairing of bluetooth devices |
CN103268456A (zh) * | 2013-05-31 | 2013-08-28 | 杭州华三通信技术有限公司 | 一种文件安全控制方法及装置 |
CN105281809A (zh) * | 2014-05-30 | 2016-01-27 | 刘洪明 | 辅助蓝牙低功耗设备配对的方法及系统 |
CN104378145A (zh) * | 2014-11-27 | 2015-02-25 | 北京深思数盾科技有限公司 | 蓝牙设备的配对方法及系统 |
CN104540132A (zh) * | 2015-01-15 | 2015-04-22 | 天地融科技股份有限公司 | 蓝牙设备的通讯方法、移动设备、电子签名设备和服务器 |
CN107317789A (zh) * | 2016-04-27 | 2017-11-03 | 华为技术有限公司 | 密钥分发、认证方法,装置及系统 |
CN106507343A (zh) * | 2016-09-07 | 2017-03-15 | 努比亚技术有限公司 | 一种信息处理方法、移动终端和服务器 |
CN106788977A (zh) * | 2016-12-28 | 2017-05-31 | 北京握奇数据系统有限公司 | 低功耗蓝牙设备通讯加密方法及系统 |
CN106792493A (zh) * | 2017-03-09 | 2017-05-31 | 北京小米移动软件有限公司 | 蓝牙设备的配对方法、装置及蓝牙设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112448808A (zh) * | 2019-08-29 | 2021-03-05 | 斑马智行网络(香港)有限公司 | 通信方法、设备、接入点、服务器、系统及存储介质 |
CN110933614A (zh) * | 2019-10-12 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 通信处理方法、装置及电子设备 |
CN112333677A (zh) * | 2019-11-19 | 2021-02-05 | 杭州智缤科技有限公司 | 一种低功耗蓝牙的安全通信方法 |
CN112333677B (zh) * | 2019-11-19 | 2022-08-19 | 杭州智缤科技有限公司 | 一种低功耗蓝牙的安全通信方法 |
CN111510896A (zh) * | 2020-03-13 | 2020-08-07 | 珠海格力电器股份有限公司 | 蓝牙连接方法、装置、物联网系统、电子设备及存储介质 |
CN111510896B (zh) * | 2020-03-13 | 2021-09-14 | 珠海格力电器股份有限公司 | 蓝牙连接方法、装置、物联网系统、电子设备及存储介质 |
CN113840266A (zh) * | 2020-06-24 | 2021-12-24 | 华为技术有限公司 | 蓝牙配对方法、装置、系统、电子设备和存储介质 |
CN112562300A (zh) * | 2020-12-03 | 2021-03-26 | 星宏网络科技有限公司 | 一种基于蓝牙的设备无线控制系统及方法 |
CN113613227A (zh) * | 2021-08-09 | 2021-11-05 | 青岛海尔科技有限公司 | 蓝牙设备的数据传输方法和装置、存储介质及电子装置 |
CN113613227B (zh) * | 2021-08-09 | 2023-10-24 | 青岛海尔科技有限公司 | 蓝牙设备的数据传输方法和装置、存储介质及电子装置 |
CN115379590A (zh) * | 2022-10-27 | 2022-11-22 | 深圳市正浩创新科技股份有限公司 | 蓝牙连接建立方法、装置、电子设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109862560B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109862560A (zh) | 一种蓝牙认证方法、装置、设备和介质 | |
US10412061B2 (en) | Method and system for encrypted communications | |
US11509485B2 (en) | Identity authentication method and system, and computing device | |
US9819485B2 (en) | Apparatus and method for secure delivery of data utilizing encryption key management | |
US9813247B2 (en) | Authenticator device facilitating file security | |
US20170289142A1 (en) | Methods and apparatus for establishing a secure communication channel | |
CN104094267B (zh) | 安全共享来自源装置的媒体内容的方法、装置和系统 | |
US11729156B2 (en) | Method and apparatus for communication between internet of things devices | |
TWI793215B (zh) | 資料加密、解密方法及裝置 | |
CN110138749A (zh) | 一种数据安全保护方法及相关设备 | |
CN106685644B (zh) | 通信加密方法和装置、网关、服务器、智能终端和系统 | |
CN106375990A (zh) | 一种手机隐私数据的加解密系统和加解密方法 | |
CN107154916A (zh) | 一种认证信息获取方法、提供方法及装置 | |
US20230421372A1 (en) | Accessory assisted account recovery | |
CN105681256A (zh) | 音频通信方法以及音频通信应用设备 | |
US20200195438A1 (en) | Neighbor awareness networking password authentication | |
CN113904830B (zh) | 一种spa认证的方法、装置、电子设备和可读存储介质 | |
CN113595722B (zh) | 量子安全密钥同步方法、装置、电子设备和存储介质 | |
CN110321727A (zh) | 应用程序信息的存储、处理方法及装置 | |
CN112400295A (zh) | 管理与单个公共密钥相关联的多个用户设备的中央私密密钥 | |
CN104954344A (zh) | 一种基于http协议的数据交互方法及装置 | |
CN109819445B (zh) | 给无屏设备配置WiFi的方法 | |
CN114499828B (zh) | 通信方法、物联网终端、网关设备及物联网系统 | |
US20230239164A1 (en) | Embedding intermediate certificate in digital certificate | |
CN115438352A (zh) | 数据处理方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |