发明内容
本发明的目的在于,提供一种基于iBeacon的连接认证方法,所述方法是基于iBeacon规范基础上,增加了其他设备(例如移动终端)与iBeacon设备连接后的验证机制,确保相连的设备是经过授权的,以保证数据交互的安全性。
为实现上述目的,本发明采用以下技术方案。
一种基于iBeacon的连接认证方法,包括以下步骤:(a)一iBeacon设备发送第一标识信息和第二标识信息至一移动终端;(b)所述iBeacon设备接收所述移动终端返回的一第一数字签名信息,所述第一数字签名信息是所述移动终端根据第一标识信息、第二标识信息和一密钥信息而获得;(c)所述iBeacon设备获取一第二数字签名信息,并且与所述第一数字签名信息进行比较验证;(d)若匹配时,则所述iBeacon设备与所述移动终端进行数据通讯。
作为可选的技术方案,在步骤(a)之前进一步包括:在所述iBeacon设备中存储一密钥表,所述密钥表包括多个密钥信息和对应的多个密钥ID;所述iBeacon设备发送一验证请求至移动终端,所述验证请求包括所述多个密钥ID中的其中一个密钥ID以及其对应的一密钥信息。
作为可选的技术方案,,在步骤(c)和(d)之间进一步包括:若所述比较验证在一第一设定时间内未完成,所述iBeacon设备自动切断与所述移动终端的连接;记录所述移动终端的账户信息。
本发明还提供一种基于iBeacon的连接认证方法,包括以下步骤:(1)一iBeacon设备接收一移动终端所发送的第一授权请求,所述第一授权请求包括第一密钥ID和第一明文信息;(2)所述iBeacon设备根据第一密钥ID对所述第一明文信息进行加密,并返回第一密文信息至移动终端;(3)所述iBeacon设备发送一第二授权请求至所述移动终端,所述第二授权请求包括第二密钥ID和第二明文信息;(4)所述iBeacon设备获取移动终端返回的第二密文信息,所述第二密文信息是所述移动终端在验证第一密文信息为正确后,根据所述第二密钥ID对所述第二明文信息进行加密而获得的;(5)所述iBeacon设备验证所述第二密文信息是否正确,若正确,则双向验证通过。
作为可选的技术方案,在步骤(1)之前进一步包括:在所述iBeacon设备和移动终端中各自存储一相同的密钥表,所述密钥表包括多个密钥信息和密钥ID。
作为可选的技术方案,在步骤(5)进一步包括:若所述比较验证在一第二设定时间内未完成,所述iBeacon设备自动切断与所述移动终端的连接。
本发明还一种基于iBeacon的连接认证系统,包括:一第一发送模块,用于发送第一标识信息和第二标识信息至一移动终端;一第一接收模块,用于接收所述移动终端返回的一第一数字签名信息,所述第一数字签名信息是所述移动终端根据第一标识信息、第二标识信息和一密钥信息而获得;一第一获取模块,用于获取一第二数字签名信息;一第一比较模块,用于将第二数字签名信息与所述第一数字签名信息进行比较验证;一第一通讯模块,用于当第二数字签名信息与所述第一数字签名信息相匹配时,与所述移动终端进行数据通讯。
作为可选的技术方案,所述系统还包括:一第一存储模块,用于存储一密钥表,所述密钥表包括多个密钥信息和对应的多个密钥ID;一第一请求模块,用于发送一验证请求至移动终端,所述验证请求包括所述多个密钥ID中的其中一个密钥ID以及其对应的一密钥信息。
作为可选的技术方案,所述系统还包括:一第一切断模块,用于若所述比较验证在一第一设定时间内未完成,自动切断与所述移动终端的连接;一第一记录模块,用于记录所述移动终端的账户信息。
本发明提供一种基于iBeacon的连接认证系统,包括:一第二接收模块,用于一移动终端所发送的第一授权请求,所述第一授权请求包括第一密钥ID和第一明文信息;一第二加密模块,用于根据第一密钥ID对所述第一明文信息进行加密,并返回第一密文信息至移动终端;一第二发送模块,用于发送一第二授权请求至所述移动终端,所述第二授权请求包括第二密钥ID和第二明文信息;一第二获取模块,用于获取移动终端返回的第二密文信息,所述第二密文信息是所述移动终端在验证第一密文信息为正确后,根据所述第二密钥ID对所述第二明文信息进行加密而获得的;一第二验证模块,用于验证所述第二密文信息是否正确。
作为可选的技术方案,所述系统还包括:一第二存储模块,用于和移动终端中各自存储一相同的密钥表,所述密钥表包括多个密钥信息和密钥ID。
作为可选的技术方案,所述系统还包括:一第二切断模块,用于若所述比较验证在一第二设定时间内未完成,自动切断与所述移动终端的连接。
本发明的优点在于,与现有的蓝牙配对验证方式相比,具有简单高效特点,并且具有较高的安全性,未授权的设备无法与指定的iBeacon设备相连。
具体实施方式
下面结合附图对本发明提供的基于iBeacon的连接认证方法及其系统的具体实施方式做详细说明。
参见图1所示,一种基于iBeacon的连接认证方法,包括以下步骤:S110、一iBeacon设备发送第一标识信息和第二标识信息至一移动终端;S120、所述iBeacon设备接收所述移动终端返回的一第一数字签名信息,所述第一数字签名信息是所述移动终端根据第一标识信息、第二标识信息和一密钥信息而获得;S130、所述iBeacon设备获取一第二数字签名信息,并且与所述第一数字签名信息进行比较验证;S140、若匹配时,则所述iBeacon设备与所述移动终端进行数据通讯。
以下将对上述步骤做详细说明。
S110、一iBeacon设备发送第一标识信息和第二标识信息至一移动终端。
iBeacon设备在正常工作时,会自动发送本设备的第一标识信息(例如Major ID)和第二标识信息(例如Minor ID)。所述第一标识信息和第二标识信息均为2字节。每一个iBeacon设备的第一标识信息和第二标识信息均不同,从而用于区分不同的iBeacon设备。所有接收到iBeacon设备所发送的信号的设备均能够获取上述第一标识信息和第二标识信息,包括想要与所述iBeacon设备相连的设备(例如移动终端,下文以移动终端为例)。
所述iBeacon和移动终端内存有一密钥或密钥表。以下实施步骤以密钥为例。当只有一个密钥时,移动终端连接所述iBeacon设备后,将所述iBeacon设备的第一标识信息和第二标识信息插入密钥信息中的指定位置。所述密钥信息中的指定位置可以根据第一标识信息和第二标识信息计算获得。
S120、所述iBeacon设备接收所述移动终端返回的一第一数字签名信息,所述第一数字签名信息是所述移动终端根据第一标识信息、第二标识信息和一密钥信息而获得。
所述移动终端根据第一标识信息、第二标识信息和一密钥信息,并且通过哈希算法(例如MD5或SHA)的运算后获得第一数字签名信息。由于哈希算法为不可逆算法,并且其计算量相对较小,因此比较适合iBeacon设备的单向验证。
所述移动终端将所述第一数字签名信息返回至所述iBeacon设备。
S130、所述iBeacon设备获取一第二数字签名信息,并且与所述第一数字签名信息进行比较验证。
所述iBeacon设备根据自身的第一标识信息、第二标识信息和一密钥信息,并且根据哈希算法,获得一第二数字签名信息,并且将第二数字签名信息与第一数字签名信息进行比较验证。
S140、若匹配时,则所述iBeacon设备与所述移动终端进行数据通讯。
若匹配则表示验证通过,于是所述iBeacon设备与所述移动终端进行数据通讯。
作为可选的技术方案,在步骤S110之前进一步包括:S101、在所述iBeacon设备中存储一密钥表,所述密钥表包括多个密钥信息和对应的多个密钥ID;S103、所述iBeacon设备发送一验证请求至移动终端,所述验证请求包括所述多个密钥ID中的其中一个密钥ID以及其对应的一密钥信息。
上述步骤S101和S103步骤的实施是在所述iBeacon设备和移动终端存有一密钥表的情况下进行。当采用一密钥表时,所述iBeacon设备和移动终端各自存储一系列的密钥(至少为8组)。所述移动终端与所述iBeacon设备相连后,所述iBeacon设备首先发送一验证请求(所述验证请求采用对称加密算法加密)至移动终端,以告知移动终端需要使用哪一组密钥(包括所述多个密钥ID中的其中一个密钥ID以及其对应的一密钥信息)进行验证。对称加密算法为可逆算法,适合于加密随机数据并发送至另一端进行解密后回传,以验证密钥的一致性。由于加密数据是随机产生,因此破解相对困难些,计算量相对较大。所述移动终端在接收到使用指定的密钥信息之后,采用所述的指定密钥信息进行验证。之后的步骤如S110~S140所述。
作为可选的技术方案,在步骤S130和步骤S140之间进一步包括:若所述比较验证在一第一设定时间内未完成,所述iBeacon设备自动切断与所述移动终端的连接;记录所述移动终端的账户信息。
其中,所述iBeacon设备能够设置验证超时机制,当移动终端在一第一设定时间(例如1秒或3秒)内无法完成验证时,所述iBeacon设备自动地强制切断与所述移动终端的连接。同时所述iBeacon设备记录所述移动终端的账户信息,将所述账户信息加入黑名单。若下一次所述移动终端再次连接时,所述iBeacon设备直接拒绝连接请求,以防止因移动终端的恶意连接而影响正常iBeacon设备的功能。
由于每一个iBeacon设备的第一标识信息和第二标识信息均不同。每一个iBeacon设备的验证信息也是不同的。虽然可以通过蓝牙传输数据来进行破解,但是对每一个iBeacon设备需要单独破解,比较耗时耗力。若所述iBeacon设备联网,会定期更新第一标识信息和第二标识信息,破解会更加复杂,从而确保相连的设备是经过授权的,以保证数据交互的安全性。
上述的基于iBeacon的连接认证方法是单向的,以确认与所述iBeacon设备相连的设备是否经过授权,以下提供本发明所述方法的另一实施方式,该连接认证方法是双向的,即所述iBeacon设备和与所述iBeacon设备相连的设备都需要进行验证,双向验证的安全性较单向验证更高。
参见图2所示,一种基于iBeacon的连接认证方法,包括以下步骤:S210、一iBeacon设备接收一移动终端所发送的第一授权请求,所述第一授权请求包括第一密钥ID和第一明文信息;S220、所述iBeacon设备根据第一密钥ID对所述第一明文信息进行加密,并返回第一密文信息至移动终端;S230、所述iBeacon设备发送一第二授权请求至所述移动终端,所述第二授权请求包括第二密钥ID和第二明文信息;S240、所述iBeacon设备获取移动终端返回的第二密文信息,所述第二密文信息是所述移动终端在验证第一密文信息为正确后,根据所述第二密钥ID对所述第二明文信息进行加密而获得的;S250、所述iBeacon设备验证所述第二密文信息是否正确,若正确,则双向验证通过。
以下将对上述步骤做详细说明。
步骤S210:一iBeacon设备接收一移动终端所发送的第一授权请求,所述第一授权请求包括第一密钥ID和第一明文信息。
所述移动终端与所述iBeacon设备相连。所述移动终端(例如智能手机)向所述iBeacon设备发送第一授权请求,所述第一授权请求包括使用的第一密钥ID和随机生成的第一明文信息。
步骤S220:所述iBeacon设备根据第一密钥ID对所述第一明文信息进行加密,并返回第一密文信息至移动终端。
所述iBeacon设备在接收到第一授权请求后,根据第一密钥ID对所述第一明文信息进行加密,其中加密采用对称加密算法(如AES或DES),加密后将第一密文信息发送至移动终端。
步骤S230:所述iBeacon设备发送一第二授权请求至所述移动终端,所述第二授权请求包括第二密钥ID和第二明文信息。
所述iBeacon设备也随机生成第二明文信息和第二密钥ID,作为第二授权请求发送至移动汇终端。
步骤S240:所述iBeacon设备获取移动终端返回的第二密文信息,所述第二密文信息是所述移动终端在验证第一密文信息为正确后,根据所述第二密钥ID对所述第二明文信息进行加密而获得的。
所述移动终端接收到所述iBeacon设备的第一密文信息和第二授权请求后,首先对所述第一密文信息进行验证是否正确,若正确,则表示所述移动终端一侧的验证工作结束。再将所述第二授权请求中的第二明文信息根据所述第二密钥ID进行加密以生成第二密文信息,最后返回第二密文信息至所述iBeacon设备。
步骤S250:所述iBeacon设备验证所述第二密文信息是否正确,若正确,则双向验证通过。
所述iBeacon设备在收到第二密文信息后,验证所述第二密文信息是否正确,若正确,则表示所述iBeacon设备一侧的验证工作结束,即双向验证通过。
作为可选的技术方案,在步骤S210之前进一步包括:步骤S201、在所述iBeacon设备和移动终端中各自存储一相同的密钥表,所述密钥表包括多个密钥信息和密钥ID。
作为可选的技术方案,在步骤S250进一步包括:步骤S251、若所述比较验证在一第二设定时间内未完成,所述iBeacon设备自动切断与所述移动终端的连接。
由于采用双向验证,因此整个验证时间相对较长,若设置第二设定时间,可以将第二设定时间设置较上述的第一设定时间稍长。在此期间,连接手法的数据将受到限制,只允许发送连接验证相关的数据信息,其他信息将不允许发送。
若所述iBeacon设备联网,其密钥表可以通过后台服务器进行修改,已确保安全。
参见图3,本发明还提供一种基于iBeacon的连接认证系统,包括:一第一发送模块310、一第一接收模块320、一第一获取模块330、一第一比较模块340和一第一通讯模块350。
其中,所述第一发送模块310,用于发送第一标识信息和第二标识信息至一移动终端;所述第一接收模块320,用于接收所述移动终端返回的一第一数字签名信息,所述第一数字签名信息是所述移动终端根据第一标识信息、第二标识信息和一密钥信息而获得;所述第一获取模块330,用于获取一第二数字签名信息;所述第一比较模块340,用于将第二数字签名信息与所述第一数字签名信息进行比较验证;所述通讯模块350,用于当第二数字签名信息与所述第一数字签名信息相匹配时,与所述移动终端进行数据通讯。
上述第一发送模块310、第一接收模块320、第一获取模块330、第一比较模块340和第一通讯模块350可以设置在一iBeacon设备中以完成上述功能。
作为可选的技术方案,所述系统还包括:一第一存储模块301和一第一请求模块303。即所述iBeacon设备中还包括第一存储模块301和第一请求模块303。
所述第一存储模块301用于存储一密钥表,所述密钥表包括多个密钥信息和对应的多个密钥ID;所述第一请求模块303用于发送一验证请求至移动终端,所述验证请求包括所述多个密钥ID中的其中一个密钥ID以及其对应的一密钥信息。
作为可选的技术方案,所述系统还包括:一第一切断模块361和一第一记录模块363。所述第一切断模块361用于若所述比较验证在一第一设定时间内未完成,自动切断与所述移动终端的连接;所述第一记录模块363用于记录所述移动终端的账户信息。
上述系统主要是针对单向验证要求而设置的系统。若针对双向验证要求而设置的系统如下所述。
参见图4,本发明提供一种基于iBeacon的连接认证系统,包括:一第二接收模块410、一第二加密模块420、一第二发送模块430、一第二获取模块440以及一第二验证模块450。
其中,所述第二接收模块410用于一移动终端所发送的第一授权请求,所述第一授权请求包括第一密钥ID和第一明文信息。
所述第二加密模块420,用于根据第一密钥ID对所述第一明文信息进行加密,并返回第一密文信息至移动终端。
所述第二发送模块430,用于发送一第二授权请求至所述移动终端,所述第二授权请求包括第二密钥ID和第二明文信息。
所述第二获取模块440,用于获取移动终端返回的第二密文信息,所述第二密文信息是所述移动终端在验证第一密文信息为正确后,根据所述第二密钥ID对所述第二明文信息进行加密而获得的。
所述第二验证模块450,用于验证所述第二密文信息是否正确。
上述的第二接收模块410、第二加密模块420、第二发送模块430、第二获取模块440以及第二验证模块450可以设置在一iBeacon设备中完成上述功能。
作为可选的技术方案,所述系统还包括:一第二存储模块401,用于和移动终端中各自存储一相同的密钥表,所述密钥表包括多个密钥信息和密钥ID。
作为可选的技术方案,所述系统还包括:一第二切断模块461,用于若所述比较验证在一第二设定时间内未完成,自动切断与所述移动终端的连接。
本发明的优点在于,与现有的蓝牙配对验证方式相比,具有简单高效特点,并且具有较高的安全性,未授权的设备无法与指定的iBeacon设备相连。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。