本发明涉及计算机信息技术领域,尤其涉及一种基于无连接通信验证的信息传递方法。
背景技术:
实用中对于某一固定区域,为了让进入区域的设备验证并获知与当前空间之间的临近属性关系,如是否为接近了授权经营的店铺或者位置,所述验证不能被伪造,需要一个有效的补充实现对于基于验证接近位置的安全访问验证。gps信息是公开的信息,在商业活动中使用时可以用于推送信息,但是因为可以伪造,所以不能用于验证设备所处的空间位置是否为不可抵赖的,所以也就不能在实际生活中用于验证。目前还有基于wifi,蓝牙的定位技术,这些技术使用的无线信号可以用于推送,但是也存在被伪造的场景,如伪造wifissid,或者伪造蓝牙设备id。因此在用于验证当前接近位置从而获得信息是否为授权的权威发送的应用场景中缺乏防伪的安全能力。
此外在实用中,人们需要方便快捷的在现场获取信息,如果每次获取用于验证位置关系的信息数据获取都要与被验证的对象的通信节点网络验证密码获得连接的话,就会增加用户输入密码和操作的步骤,因此需要一种能够通过无连接通信情况下方便的验证和获取信息的方法;这种网络访问连接如通过密码验证后与wifi设备通信或通过人机界面验证后的蓝牙设备连接后通信,等等复杂的面向连接的通信都不能达到无连接通信的便利性。
需要一种只验证与通信设备的位置接近关系是否合法而不关心具体在现实什么位置的技术,从而使获得该位置验证关系信息的第三方无法定位用户的真实位置但是却可以通过共享的位置识别结果提供服务,因此对于用户隐私是很好的保护。用户可以公开的验证当前的接近位置关系而获取信息而不需要想服务第三方公开自己的真实位置,对于隐私是一个很好的保护。
技术实现要素:
为实现本发明之目的,采用以下技术方案予以实现:
一种基于无连接通信的验证信息传递技术,包括第一设备,安全服务端,用户端设备和应用服务端。
所述可信位置验证消息包括位置识别码,可变码,可信位置签名;所述位置识别码唯一对应第一密钥和第二密钥;所述第一密钥保存在第一设备中;所述第二密钥保存在安全验证服务器中;所述第一密钥和所述第二密钥是对应关系,即使用所述第二密钥可以验证消息签名是否为使用第一密钥计算产生;所述信息签名是第一设备对于包括位置识别码和可变码的信息序列使用第一密钥计算产生的可信位置签名;所述可变码为动态变化信息,每次产生的可信位置验证消息中包括的可变码都是不同的。
所述用户设备接收第一设备发送的所述可信位置验证消息,使用保存在用户设备中的第三密钥计算包括收到的所述可信位置验证消息的信息序列产生消息签名;所述第三密钥和所述第四密钥是对应关系,即使用所述第四密钥可以验证消息签名是否为使用第三密钥计算产生;第一位置验证消息包括前述消息签名和所述可信位置验证消息;实用中,第一位置验证消息还可以包括应用识别id,以及用于标记第三密钥和第四密钥对应关系的应用服务密钥识别id;在应用服务端可以使用应用服务密钥识别id查询对应的第四密钥的方法验证第一位置验证消息签名;将第一验证消息发送给安全验证服务端。
所述安全服务端保存第二密钥;所述安全服务端接收第一验证消息,提取消息中包括的所述可信位置验证消息,使用位置识别码查找对应的第二密钥,使用第二密钥验证所述可信位置验证消息的可信位置签名,如果通过,就认定用户端接收到了可信的位置验证信息,产生并将第三验证消息转发至应用服务端,所述第三位置验证消息包括用于验证用户端设备的信息和用于决定应用服务端向对应的用户端设备推送响应和后续服务的信息;
所述应用服务端保存第四密钥;所述应用服务端接收安全服务端转发的第一位置验证消息,使用与用户端对应的第四密钥验证第一验证消息签名,如果验证通过,应用服务端就是用可变码关联的对应信息向第四密钥对应的用户端设备推送信息。
本发明中还包括了一种压缩签名长度的方法,当所述可信位置验证消息的长度超出广播信道的传输能力时,可以使用第五密钥为可信位置验证消息计算消息m,所述计算消息m的长度小于可信位置签名的长度,并使用消息m代替可信位置验证签名产生压缩后的可信位置验证消息;同时第一设备产生并将第二位置验证消息向安全验证服务器发送;所述第二位置验证消息包括未压缩可信位置验证消息和消息m;在压缩可信位置验证消息的情况下,在安全验证服务端接收到第一位置验证消息和第二位置验证消息后,使用第一位置验证消息中包括的消息m查找对应的第二位置验证消息;使用位置识别码查找第六密钥验证消息m,即提取第二位置验证消息中包括的未压缩可信位置验证消息,使用第六密钥计算消息认证码,如果计算的消息认证码和第一位置验证消息中包括的消息m相等,则验证通过,继续后续处理,使用第二密钥验证第二位置验证消息中的可信位置签名,验证通过后,将第一位置验证消息转发至应用服务端;如果验证不通过,则停止流程。
一种基于无连接通信验证的信息传递系统,该系统包括第一设备,安全验证服务端,用户端设备和应用服务端,其中:
所述第一设备用于产生可信位置验证消息,并通过无连接通信的方式发送该可信位置验证消息;
所述用户设备用于接收第一设备发送的所述可信位置验证消息,计算包括可信位置验证消息的信息序列并产生第一位置验证消息,用户设备将第一位置验证消息发送给安全验证服务端;
所述安全验证服务端用于接收第一位置验证消息,提取该消息中包括的可信位置验证消息,验证所述可信位置验证消息的可信位置签名,如果验证通过,就认定用户设备接收到了可信位置验证消息,则产生第三位置验证消息并将第三位置验证消息转发至应用服务端,所述第三位置验证消息包括用于验证发起用户端设备的第一位置验证消息和用于决定应用服务端向对应的用户端设备推送响应和后续服务的所述位置识别码和可变码信息;
所述应用服务端用于接收安全验证服务端转发的第三位置验证消息,提取并验证第一位置验证消息,如果验证通过,应用服务端就向用户端设备推送与第三位置验证消息对应的响应和后续服务。
所述的系统,其中:所述可信位置验证消息包括可信位置关系信息和可信位置签名;当第一密钥和第二密钥是非对称密钥时,所述可信位置关系信息包括位置识别码和可变码,所述位置识别码对应第一密钥和第二密钥;当第一密钥和第二密钥是对称密钥时,所述可信位置关系信息包括可变码,所述可变码为动态变化信息;
所述第一密钥保存在第一设备中;所述第二密钥保存在安全验证服务端中;所述可信位置签名是第一设备对于包括可信位置关系信息的信息序列使用第一密钥计算产生的可信位置签名。
所述的系统,其中:第一设备在发送可信位置验证消息前先判断是否需要对所述可信位置验证消息压缩;如果所述可信位置验证消息的长度大于当前第一设备配置的通信方式的最大发送长度,就判断为需要压缩,则配置为第一设备对该信息进行压缩;第一设备以无连接通信的方式发送可信位置验证消息或压缩后的可信位置验证消息。
所述的系统,其中:当需要压缩时,第一设备按如下方式生成压缩后的可信位置验证消息以及产生并向安全服务端发送第二位置验证消息:(1)第一设备压缩可信位置验证消息计算得到消息m,所述消息m的长度小于可信位置验证消息的长度,第一设备将生成的消息m替换可信位置验证消息中的可信位置签名信息以及其他信息直至满足发送的最大长度,由此生成压缩后的可信位置验证消息;(2)第一设备生成所述第二位置验证消息,第二位置验证消息包括所述未压缩的可信位置验证消息和对应消息m,第二位置验证消息生成后,第一设备将第二位置验证消息向安全验证服务器发送。
所述的系统,其中:所述用户端设备接收第一设备发送的所述可信位置验证消息或压缩后的可信位置验证消息,使用保存在用户端设备中的第三密钥计算包括接收到的所述可信位置验证消息的信息序列产生第一位置验证消息签名;所述用户端设备产生第一位置验证消息,第一位置验证消息包括第一位置验证消息签名和收到的所述可信位置验证消息或压缩后的可信位置验证消息;用户端设备将第一位置验证消息发送给安全验证服务端。
所述的系统,其中:安全验证服务端保存有第二密钥和对应于第二密钥的位置识别码,所述安全验证服务端验证第一位置验证消息中包括的可信位置验证消息:在没有压缩可信位置验证消息的情况下,所述安全服务端接收第一位置验证消息,提取消息中包括的所述可信位置验证消息,在第一密钥和第二密钥是非对称密钥的情况下,使用可信位置验证消息中的位置识别码查找对应的第二密钥,使用第二密钥验证所述可信位置验证消息的可信位置签名,如果通过,就认定用户端设备接收到了可信位置验证消息,则安全服务端将第一位置验证消息包括在第三位置验证消息中发送至应用服务端,验证不通过则终止处理;在第一密钥和第二密钥是对称密钥的情况下,使用所述可信位置验证消息中包括的可信位置签名查询安全验证服务端是否存在同样的可信位置签名,如果存在就验证计算该可信位置签名使用的可变码和所述可信位置验证消息中包括的可变码是否一致,如果一致,就认定用户端设备接收到了可信位置验证消息,则安全服务端就提取对应的第二密钥所对应的位置识别码,则安全服务端将第一位置验证消息和对应的位置识别码和可变码包括在第三位置验证消息中发送至应用服务端,验证不通过则不产生和发送第三位置验证消息并终止处理;
或者,当发生压缩的情况下,所述安全验证服务端保存有第二密钥,安全验证服务端接收到第一位置验证消息后,使用第一位置验证消息中包括的消息m查找对应的第二位置验证消息,提取查找到的第二位置验证消息中的未压缩的可信位置验证消息,使用与第一设备压缩计算时同样的算法及对应密钥为第二位置验证消息中未压缩的可信位置验证消息计算得到消息m1,与第一位置验证消息中包括的消息m比较,如果一致,则验证通过,继续下一步处理,否则,停止处理;继续下一步处理,在第一密钥和第二密钥是非对称密钥的情况下,提取第二位置验证消息中的未压缩可信位置验证消息,使用包括的位置识别码查找对应的第二密钥,并使用第二密钥验证对应第二位置验证消息中包括的未压缩的可信位置验证消息中包括的可信位置签名,验证通过后,提取对应第二位置验证消息中包括的位置识别码、可变码,将第一位置验证消息和提取的位置识别码以及可变码包括在第三位置验证消息发送至应用服务端,验证不通过不产生和发送第三位置验证消息并终止处理;在第一密钥和第二密钥是对称密钥的情况下,提取第二位置验证消息中的未压缩可信位置验证消息,使用包括的可信位置签名查询安全验证服务端是否存在同样的可信位置签名,如果存在所述安全验证服务端就计算该可信位置签名时使用的可变码和所述第二位置验证消息中可信位置验证消息中包括的可变码是否一致,如果一致,就判定验证通过就认定用户端接收到了可信位置验证消息并提取包括的可变码,并且安全验证服务端提取对应的第二密钥对应的位置识别码,安全验证服务端将第一位置验证消息和提取的位置识别码以及可变码包括在第三位置验证消息中发送至应用服务端,验证不通过则不产生和发送第三位置验证消息并终止处理;
所述第三位置验证消息包括用于验证发起用户端设备的第一位置验证消息和用于决定应用服务端向对应的用户端设备推送响应和后续服务的所述位置识别码和可变码信息。
所述的系统,其中:应用服务端验证用户端设备并进行相应处理:所述应用服务端保存有第四密钥;所述应用服务端接收安全验证服务端发送的第三位置验证消息,提取包括的第一位置验证消息,使用与用户设备对应的第四密钥验证第一位置验证消息签名,如果验证通过,应用服务端提取第三位置验证消息中包括的位置识别码以及可变码关联的对应信息向对应的用户设备推送响应和/或后续服务。
所述的系统,其中:应用服务端从第三位置验证消息中提取到位置识别码,应用服务端预先存储有与不同的位置识别码相对应的响应信息或服务信息,所述信息的内容还与可变码等参数有关,在第一位置验证消息签名验证通过后,应用服务端根据所述位置识别码查询相应的响应信息或服务信息,并结合可变码决定出向用户设备推送的相应的响应和/或后续服务。
一种基于无连接通信验证的信息传递方法,包括如下步骤:
第一设备产生可信位置验证消息,并通过无连接通信的方式发送该可信位置验证消息;
用户端设备接收第一设备发送的所述可信位置验证消息,计算包括可信位置验证消息的信息序列并产生第一位置验证消息,用户端设备将第一位置验证消息发送给安全验证服务端;
安全验证服务端接收第一位置验证消息,提取该消息中包括的可信位置验证消息,验证所述可信位置验证消息的可信位置签名,如果通过,就认定用户端设备接收到了可信位置验证消息,则产生并将第三位置验证消息转发至应用服务端,所述第三位置验证消息包括用于验证发起用户端设备的第一位置验证消息和用于决定应用服务端向对应的用户端设备推送响应和后续服务的所述位置识别码和可变码信息;
应用服务端接收安全验证服务端发送的第三位置验证消息,提取第一位置验证消息,验证第一位置验证消息,如果验证通过,应用服务端就向用户端设备推送第三位置验证消息对应的响应和后续服务。
所述的方法,其中:所述可信位置验证消息包括可信位置关系信息和可信位置签名;当第一密钥和第二密钥是非对称密钥时,所述可信位置关系信息包括位置识别码和可变码,所述位置识别码对应第一密钥和第二密钥;当第一密钥和第二密钥是对称密钥时,所述可信位置关系信息包括可变码;所述可变码为动态变化信息;
所述第一密钥保存在第一设备中;所述第二密钥保存在安全验证服务端中;所述可信位置签名是第一设备对于包括可信位置关系信息的信息序列使用第一密钥计算产生的可信位置签名。
所述的方法,其中:第一设备在发送可信位置验证消息前先判断是否需要对所述可信位置验证消息压缩;如果所述可信位置验证消息的长度大于当前第一设备具备的信道最大发送长度,就判断为需要压缩,则第一设备对该信息进行压缩;第一设备以无连接通信的方式发送可信位置验证消息或压缩后的可信位置验证消息。
所述的方法,其中:当需要压缩时,第一设备按如下方式生成压缩后的可信位置验证消息以及产生并向安全服务端发送第二位置验证消息:(1)第一设备为可信位置验证消息压缩计算得到消息m,所述消息m的长度小于可信位置验证消息的长度,第一设备将生成的消息m替换可信位置验证消息中的可信位置签名信息以及其他部分信息直至满足发送的最大消息长度,由此生成压缩后的可信位置验证消息;(2)第一设备生成所述第二位置验证消息,第二位置验证消息包括所述未压缩的可信位置验证消息和对应消息m,第二位置验证消息生成后,第一设备将第二位置验证消息向安全验证服务端发送。
所述的方法,其中:所述用户端设备接收第一设备发送的所述可信位置验证消息或压缩后的可信位置验证消息,使用保存在用户端设备中的第三密钥计算包括接收到的所述可信位置验证消息的信息序列产生第一位置验证消息签名;所述用户端设备产生第一位置验证消息,第一位置验证消息包括第一位置验证消息签名和接收到的所述可信位置验证消息或压缩后的可信位置验证消息;用户端设备将第一位置验证消息发送给安全验证服务端。
所述的方法,其中:安全验证服务端保存有第二密钥和对应于第二密钥的位置识别码,所述安全验证服务端验证第一位置验证消息中包括的可信位置验证消息:在没有压缩可信位置验证消息的情况下,所述安全服务端接收第一位置验证消息,提取消息中包括的所述可信位置验证消息,在第一密钥和第二密钥是非对称密钥的情况下,使用可信位置验证消息中的位置识别码查找对应的第二密钥,使用第二密钥验证所述可信位置验证消息的可信位置签名,如果验证通过,就认定用户端接收到了可信位置验证消息,则安全服务端产生并将第三位置验证消息发送至应用服务端,所述第三位置验证消息包括第一位置验证消息,对应的位置识别码和可变码,验证不通过则终止处理;在第一密钥和第二密钥是对称密钥的情况下,使用所述可信位置验证消息中包括的可信位置签名查询安全验证服务端是否存在同样的可信位置签名,如果存在就由验证安全服务端计算该可信位置签名使用的可变码和所述收到的可信位置验证消息中包括的可变码是否一致,如果一致就判定为验证通过,就认定用户端接收到了可信位置验证消息,则安全服务端就提取对应的第二密钥所对应的位置识别码,则安全服务端将第一位置验证消息和对应的位置识别码和可变码包括在第三位置验证消息中发送至应用服务端,验证不通过则不产生和发送第三位置验证消息并终止处理;
或者,当发生压缩的情况下,所述安全验证服务端保存有第二密钥,安全验证服务端接收到第一位置验证消息后,使用第一位置验证消息中包括的消息m查找对应的第二位置验证消息,提取查找到的对应的第二位置验证消息中包括的未压缩可信位置验证消息,使用与第一设备压缩计算时同样的算法及对应密钥为第二位置验证消息中未压缩的可信位置验证消息计算得到消息m1,与第一位置验证消息中包括的消息m比较,如果一致,则验证通过,继续下一步处理,否则,停止处理;继续下一步处理时,在第一密钥和第二密钥是非对称密钥的情况下,提取第二位置验证消息中的未压缩可信位置验证消息,使用包括的位置识别码查找对应的第二密钥,并使用第二密钥验证对应第二位置验证消息中包括的未压缩的可信位置验证消息中的可信位置签名,验证通过后,提取对应第二位置验证消息中包括的位置识别码、可变码,将第一位置验证消息和提取的位置识别码以及可变码包括在第三位置验证消息发送至应用服务端;验证不通过则不产生第三位置验证消息并终止处理;在第一密钥和第二密钥是对称密钥的情况下,提取第二位置验证消息中的未压缩可信位置验证消息,使用包括的可信位置签名查询安全验证服务端是否存在同样的可信位置签名,如果存在就由所述安全验证服务端计算该可信位置签名时使用的可变码和所述第二位置验证消息中可信位置验证消息中包括的可变码是否一致,如果一致则判定验证通过,就认定用户端接收到了可信位置验证消息并提取包括的可变码,安全验证服务端提取对应的第二密钥对应的位置识别码,安全验证服务端将第一位置验证消息和提取的位置识别码以及可变码包括在第三位置验证消息中发送至应用服务端,验证不通过不产生和发送第三位置验证消息并终止处理;
所述第三位置验证消息包括用于验证发起用户端设备的第一位置验证消息和用于决定应用服务端向对应的用户端设备推送响应和后续服务的所述位置识别码和可变码信息。
所述的系统,其中:应用服务端验证用户端设备并进行相应处理:所述应用服务端保存有第四密钥;所述应用服务端接收安全验证服务端转发的第三位置验证消息,提取包括的所述第一位置验证消息,使用与用户端设备对应的第四密钥验证第一位置验证消息签名,如果验证通过,应用验证服务端就使用第三位置验证消息中包括的位置识别码以及可变码关联的对应信息向对应的用户设备推送响应和/或后续服务。
所述的方法,其中:应用验证服务端从所述第三位置验证消息中提取得到的位置识别码,应用验证服务端预先存储有与不同的位置识别码相对应的响应信息或服务信息,所述信息的内容还与可变码等参数有关,在包括的第一位置验证消息签名验证通过后,应用验证服务端根据从第三位置验证消息中得到位置识别码查询相应的响应信息或服务信息,并结合可变码决定出向用户设备推送相应的响应和/或后续服务。
一种验证设备,包括:主计算机系统,用户侧通信模块,可信位置验证消息计算模块和可信位置验证消息压缩模块;其中:
所述主计算机系统用于管理第一设备、存储密钥以及进行计算;
所述用户侧通信模块用于向用户端设备发送可信位置验证消息;
所述可信位置验证消息计算模块用于基于可信位置关系信息使用第一密钥计算产生可信位置签名并产生可信位置验证消息;
所述可信位置验证消息压缩模块用于根据用户侧通信接口的传输能力的需要产生压缩后的可信位置验证消息。
所述的设备,其中:所述可信位置验证消息包括可信位置关系信息和可信位置签名;当第一密钥和第二密钥是非对称密钥时,所述可信位置关系信息包括位置识别码和可变码,所述位置识别码对应第一密钥和第二密钥;当第一密钥和第二密钥是对称密钥时,所述可信位置关系信息包括可变码;所述第一密钥保存在第一设备中;所述第二密钥保存在安全验证服务端中;所述可信位置签名是第一设备对于包括可信位置关系信息的信息序列使用第一密钥计算产生的可信位置签名。
所述的设备,其中:其中位置识别码对应于第一设备部署的实际场所和设备对象。
所述的设备,其中:可信位置验证消息压缩模块使用预置的算法和密钥对可信位置验证消息计算得到对应消息m,所述消息m的长度小于可信位置验证消息的长度,可信位置验证消息压缩模块将生成的消息m替换可信位置验证消息中的可信位置签名信息以及其他部分信息直至满足发送消息允许的信道最大长度,实现了对可信位置验证消息的压缩,生成压缩后的可信位置验证消息。
所述的设备,其中:可信位置验证消息压缩模块生成第二位置验证消息,第二位置验证消息包括所述未压缩的可信位置验证消息和对应消息m;第二位置验证消息生成后,第一设备将第二位置验证消息向安全验证服务端发送。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
如图1是为本发明实施例中位置验证服务示意图。
如图2是为本发明实施例中第一设备示意图。
如图3是为本发明实施例中安全服务端示意图。
如图4是为本发明实施例中应用服务端示意图。
如图5是为本发明实施例中压缩可信位置验证消息的方法示意图。
如图6是为本发明实施例中位置验证服务流程示意图。
具体实施方式
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施示例1;
如图1是为本发明实施例中的一种基于无连接通信的验证信息传递系统示意图。该系统包括第一设备,安全验证服务端,用户端设备和应用服务端。
所述无连接通信指第一设备用于发送可信位置验证消息的通信方式,具体为在发送所述消息之前,不事先建立ip层通信连接,而是使用通信双方配置的公允的公共信道或广播信道及物理层帧承载,并遵循相关通信协议直接发送和接收信息的方式;具体的,通信双方包括通信发送方和通信接收方,通信发送方在通信双方配置的公允的公共信道或广播信道及物理层帧承载上遵循相关通信协议发送信息,通信接收方通过在通信双方配置的公允的公共信道或广播信道及物理层帧上接收并遵循相关通信协议解析承载信息的通信方式;包括但不限于无线通信中普遍使用的广播信道及物理层帧及相关承载的通信协议规定的数据包格式的通信方式;如服从ieee802.11标准的wifi无线通信中,使用beaconframe发送的ssid就是本发明中所指的一种无连接通信,通信发送方与接收方不建立ip层通信连接,直接在beaconframe承载中发送ssid信息,接收方侦听beaconframe并根据遵循的通信协议解析数据从而实现ssid信息的接收。
所述第一设备产生可信位置验证消息(s101);所述可信位置验证消息包括可信位置关系信息,可信位置签名;第一设备通过无连接通信,如wifi无线通信中广播的beaconframe发送可信位置验证消息;或者也可以使用二维码和声波的短距离接近用户设备的方式传送可信位置验证消息;较优的在实用中可以使用wifi广播的beaconframe中的ssid(servicesetidentifier)字段来传输可信位置验证消息;
所述第一密钥安全保存在第一设备中并用于识别第一设备;所述第一设备对于包括可信位置关系信息的信息序列使用第一密钥计算产生可信位置签名;当第一密钥和第二密钥是非对称密钥时,所述可信位置关系信息包括位置识别码和可变码,所述位置识别码对应第一密钥和第二密钥;当第一密钥和第二密钥是对称密钥时,所述可信位置关系信息包括可变码;所述可变码为动态变化信息。
实用中位置识别码可以是标记设备,或者安装地点的位置和空间的分配的识别号;也可以直接使用设备的识别号来标记设备部署的场所/设备;所述可变码为动态变化信息,每次产生的可信位置验证消息中包括的可变码都可以是不同的,所述可变码可以基于时间的固定周期变化,可以使用预先设置的算法而与安全服务端同步变化,可以与共同部署的多媒体设备中的内容关联而变化;所述可信位置验证消息可以在接收到请求后产生,也可以按照固定周期持续产生;如可变码可以使用第一设备的自有时间;也可以使用ntp协议获得的时间同步信息做为可变码;还可以是与共同部署的系统中其他网络节点之间一致协商的规则的动态变化信息;所述第一设备会根据发送可信位置验证消息的无连接信道的通信能力配置为是否采用发送压缩后的可信位置验证消息的方法和流程,具体见实施示例2中的描述。
所述用户设备接收第一设备发送的所述可信位置验证消息(s102);使用保存在用户设备中的第三密钥计算包括接收到的所述压缩前或压缩后可信位置验证消息的信息序列产生第一位置验证消息签名;实用中,可选的,用户设备还可以将应用服务识别id,应用服务密钥识别id等信息包括在第一位置验证消息中,其中应用服务密钥识别id可以在应用服务端用来识别用于验证第一位置验证消息签名的第四密钥;所述用户设备产生的第一位置验证消息包括第一位置验证消息签名和收到的可信位置验证消息;用户设备将第一位置验证消息发送给安全验证服务端。
所述安全验证服务端保存第二密钥;所述安全验证服务端接收第一位置验证消息(s103),提取消息中包括的所述可信位置验证消息;使用第二密钥验证所述可信位置验证消息的可信位置签名,如果通过,就认定用户端接收到了可信位置验证消息,具体验证方法在实例6中详述,不再赘述;验证可信位置验证消息通过后,安全服务端产生第三位置验证消息并将第三位置验证消息发送至应用服务端,所述第三位置验证消息包括用于验证发起用户端设备的第一位置验证消息和用于决定应用服务端向对应的用户端设备推送响应和后续服务的所述位置识别码和可变码信息。
所述应用服务端保存第四密钥;所述应用服务端接收安全服务端发送的第三位置验证消息(s104);使用与用户端设备对应的第四密钥验证包括的第一位置验证消息签名,如果验证通过,应用服务端就使用包括的位置识别码和可变码关联的对应信息向第四密钥对应的用户端设备推送响应和后续服务;在实用中,通过验证包括的第一位置验证消息,可以确认出后续推送响应和服务的用户端是哪一个用户端,这样就决定出推送对应响应和后续服务的这个过程的足够信息。
应用服务端从第三位置验证消息中提取到位置识别码和可变码,应用服务端预先存储有与不同的位置识别码相对应的响应信息或服务信息,所述信息的内容还与可变码等参数有关,在第一位置验证消息签名验证通过后,应用服务端根据所述位置识别码查询相应的响应信息或服务信息,并结合可变码决定出向用户设备推送相应的响应和/或后续服务(s105)。
实施示例2;
如图2是为本发明实施例中第一设备示意图。
所述第一设备用于无连接通信方式发送可信位置验证消息,实用中可以在无线接口广播信道发送可信位置验证消息,其实质上是一种提供可信位置验证消息的设备,包括:主计算机系统,用户侧通信模块,可信位置验证消息计算模块和可信位置验证消息压缩模块;所述主计算机系统用于管理第一设备,存储密钥,进行加密计算、解密计算;所述用户侧通信模块用于向用户端设备发送可信位置验证消息;所述可信位置验证消息计算模块基于可信位置关系信息使用第一密钥计算产生可信位置签名并产生可信位置验证消息,所述可信位置验证消息包括可信位置关系信息和可信位置签名;当第一密钥和第二密钥是非对称密钥时,所述可信位置关系信息包括位置识别码和可变码,所述位置识别码对应第一密钥和第二密钥;当第一密钥和第二密钥是对称密钥时,所述可信位置关系信息包括可变码;使用第一密钥计算消息签名的方法可以基于不对称密钥,也可以基于对称密钥算法;基于不对称密钥可以使用商业公开算法如rsa;当使用不对称密钥计算消息签名时,得到的签名长度就会超过wifissid广播信道的传输最大能力32个字符上限,所以就需要使用一定方法压缩;压缩的算法包括计算单项散列函数,使用对称密钥算法,可以使用计算消息mac值的算法,如hmac算法;压缩的具体方法如下:
方法一对于可信位置验证消息计算单项散列值消息m,如使用sha1算法;方法二使用保存在第一设备中第五密钥为可信位置验证消息计算消息认证码得到消息m;实施中所述第五密钥用于压缩的目的,并不是唯一的识别第一设备,与第五密钥对应的第六密钥用于还原得到对应的压缩前可信位置验证消息;所述可信位置验证消息压缩模块根据用户侧通信接口的传输能力的需要产生压缩后的可信位置验证消息,并发送第二位置验证消息给安全验证服务端;同样长度的哈希算法和消息认证码算法相比,由于使用了密钥,消息认证码算法更难暴力破解;使用方法二为例,具体实施中,可信位置验证消息压缩模块使用存储的第五密钥为可信位置验证消息计算消息m,所述消息m的长度小于可信位置验证信息的长度,可信位置验证消息压缩模块将生成的消息m替换可信位置验证消息中的可信位置签名信息及其他部分信息直至满足消息发送允许的最大长度;由此生成的可信位置验证消息的长度可符合信道最大比特长度的限制,实现了对可信位置验证消息的压缩,生成压缩后的可信位置验证消息;计算消息m的认证码算法可以是hmac等各种的商用公开算法;可信位置验证消息压缩模块生成所述第二位置验证消息,第二位置验证消息包括所述未压缩的可信位置验证消息和对应计算得到的消息m;第二位置验证消息生成后,第一设备将第二位置验证消息向安全验证服务端发送。
实施中所述第一设备可以将设备id作为位置识别码,将第一设备的系统时间作为可变码提供服务;第一设备使用保存的第一密钥计算并基于时间的固定变化周期产生和发送可信位置验证消息;第一设备使用保存的第五密钥压缩可信位置验证消息。
实施示例3;
如图3是为本发明实施例中安全验证服务端示意图。
所述安全验证服务端保存第二密钥,用于对接收到的第一位置验证消息验证和第二位置验证消息,验证包括的可信位置验证消息,验证通过后产生并发送第三位置验证消息;
所述安全验证服务端接收第一验证消息,验证所述可信位置验证消息的可信位置签名,如果通过,就认定用户端接收到了可信位置验证消息,产生并发送第三位置验证消息至应用服务端。具体的:
所述安全验证服务端验证第一位置验证消息包括的可信位置验证消息;在没有压缩可信位置验证消息的情况下:所述安全验证服务端接收第一位置验证消息,提取消息中包括的所述可信位置验证消息;在第一密钥和第二密钥是非对称密钥的情况下,安全服务端配置为使用位置识别码查找对应的第二密钥,使用第二密钥验证所述可信位置验证消息的可信位置签名,如果通过,就认定用户端接收到了可信位置验证消息,则安全服务端将第一位置验证消息包括在第三位置验证消息中发送至应用服务端,验证不通过则终止处理;实施中计算非对称签名的算法可以商业公开算法rsa签名算法,或者ecc签名算法;
在第一密钥和第二密钥是对称密钥的情况下,所述安全服务端配置为使用与第一设备同步的可变码和第二密钥计算可信位置签名,并安全服务端保存对应于第二密钥的位置识别码;安全服务端将可用来验证的第一设备对应的可信位置签名使用第二密钥按照可变码配置的规则或者预设方法计算完成保存用于验证;使用收到的包括在第一位置验证消息中的所述可信位置验证消息中的可信位置签名查询安全验证服务端是否存在同样的可信位置签名,如果存在就验证计算该可信位置签名使用的可变码和所述收到的可信位置验证消息中包括的可变码是否一致,如果通过,就认定用户端接收到了可信位置验证消息,则安全服务端就提取对应的第二密钥所对应的位置识别码,则安全服务端将第一位置验证消息和对应的位置识别码和可变码包括在第三位置验证消息中发送至应用服务端,验证不通过则不产生和发送第三位置验证消息并终止处理;
当发生压缩的情况下,安全验证服务端接收到第一位置验证消息后,使用第一位置验证消息中包括的消息m查找对应的第二位置验证消息;提取查找到的对应的第二位置验证消息中包括的未压缩可信位置验证消息,使用与第一设备压缩计算时同样的算法及对应密钥为第二位置验证消息中未压缩的可信位置验证消息计算得到消息m1,与第一位置验证消息中包括的消息m比较,如果一致,则验证通过,继续下一步处理,否则,停止处理;
实施中在查找第二位置验证消息的过程中,如果由于网络丢包或者延迟造成的第二位置验证消息没有收到,没有查到对应的第二位置验证消息,可以采取在设定门限时间内再次查询的方式确保可靠性,最终如果没有找到对应的第二位置验证消息,就终止验证过程;如果找到对应的第二位置验证消息,提取查找到的对应的第二位置验证消息中包括的未压缩可信位置验证消息,使用与第一设备压缩计算时同样的算法及对应密钥为第二位置验证消息中未压缩的可信位置验证消息计算得到消息m1,与第一位置验证消息中包括的消息m比较,如果一致,则验证通过,继续下一步处理,否则,停止处理;,实施中,安全服务端使用于第一设备压缩时对应的方法,这里使用与前述使用第五密钥压缩的方法对应,安全服务端配置为存储的与第五密钥对应的第六密钥;安全服务端使用第六密钥为未压缩的可信位置验证消息压缩计算得到消息m1,将消息m1与第一位置验证消息中包括的消息m比较,如果一致,继续下一步处理,否则,停止处理;实用中如果使用单向散列函数的方法压缩,如使用sha1的算法,则对应的安全服务端对未压缩的可信位置验证消息使用sha1哈希计算得到消息m1,与第一位置验证消息中包括的消息m比较,如果一致,,继续下一步处理,否则,停止处理;继续下一步处理,在第一密钥和第二密钥是非对称密钥的情况下,使用第二位置验证消息中包括的可信位置验证消息中包括的位置识别码查找对应的第二密钥,并使用该第二密钥验证第二位置验证消息中包括的未压缩的可信位置验证消息中的可信位置签名,验证通过后,提取对应第二位置验证消息中包括的位置识别码,可变码,将第三位置验证消息发送至应用服务端,所述第三位置验证消息包括第一位置验证消息和提取的位置识别码以及可变码;验证不通过则不产生第三位置验证消息并终止处理;在第一密钥和第二密钥是对称密钥的情况下,提取第二位置验证消息中的未压缩可信位置验证消息,使用包括的可信位置签名查询安全验证服务端是否有存在同样的可信位置签名,如果存在就验证所述安全服务端计算该可信位置签名时使用的可变码和所述第二位置验证消息中可信位置验证消息中包括的可变码是否一致,如果通过,就认定用户端接收到了可信位置验证消息并提取包括的可变码,并安全服务端提取对应的第二密钥对应的位置识别码,安全服务端将第一位置验证消息和提取的位置识别码以及可变码包括在第三位置验证消息中发送至应用服务端,验证不通过不产生和发送第三位置验证消息并终止处理;。
实施示例4;
如图4是为本发明实施例中应用服务端示意图。
所述应用服务端存储所述可信位置验证消息中包括的位置标识信息和标识位置空间信息的对应关系,所述位置识别码对应于第一设备部署的实际场所对象,包括设备或空间,包括室内或室外;所述应用服务端接收经过安全服务端验证可信位置验证消息后产生的第三位置验证消息,使用保存的第四密钥验证用户端,通过后使用可变码对应配置信息进行响应或者信息推送。推送的信息可以是网址,视频等等;响应可以是后续交易流程界面等等。具体的:
应用服务端验证用户端设备并进行相应处理:所述应用服务端接收安全服务端发送的第三位置验证消息,使用对应的第四密钥验证第一位置验证消息签名,如果验证通过,应用服务端就使用可变码关联的对应信息向对应的用户设备推送响应和后续服务;实施中,用户端在产生第一位置验证消息可以包括应用服务密钥id用于识别对应第四密钥,应用服务端可以根据第一位置验证消息中包括应用服务密钥id,查找对应的第四密钥。优选的,应用服务端可从第三位置验证消息中提取位置识别码和可变码,应用服务器预先存储有与不同的位置识别码相对应的响应信息或服务信息,所述信息的内容还与可变码等参数有关,如可变码可以是时间;应用服务端使用位置识别码可变码决定出对应的响应信息或服务信息;在提取第三位置验证消息中包括的第一位置验证消息,使用对应第四密钥验证第一位验证消息签名通过后,应用服务端可以查询与第三位置验证消息中得到位置识别码查询相应的响应信息或服务信息,并结合可变码决定出向对应用户设备推送相应的响应和后续服务;如使用店铺的位置识别码找出店铺需要推送的内容列表,使用可变码觉得出当前时间段的具体内容,应用服务端将该具体内容推送至第四密钥对应的用户端。
实施示例5;
如图5是本发明实施例中压缩可信位置验证消息的方法示意图。
实用中由于兼容,通用的协议限制,不同通信方式,信道能够传输的信息是有限的;如wifissid最大可以传输32字节的信息;蓝牙ibeacon可以传输30字节的信息,可信位置验证消息的长度远远超过了信道的传输能力;如果使用多次传输,势必涉及到同步和组包的复杂问题。具体的如使用rsa2048bit密钥签名后产生签名信息为2048bit,加上时间和位置信息256bit,那么一次传输所有信息至少需要288个字节,如果使用wifissid来广播该信息的情况下,ssid单次能够传输的信息长度为32个字符,即256bit的信息容量,如果分成多次传输的话,在没有同步机制的情况下,多次在空口单向传输的可靠性就非常差,为了提高可靠性和被接受者成功捕获广播信息的情况,信息最优是一次发出,这样就需要压缩;有两个方案可选。
方案1:使用算法压缩后发送;方案2:使用多次分片发送;较佳的使用压缩后发送是较优的方法。具体方法可以使用单向散列函数法,消息认证码等,如使用消息认证码的方法,则使用第一设备中保存的第五密钥对可信位置验证消息计算消息认证码,实用中有很多商用算法组合,如hmac-sha1压缩后得到160bit信息,使用hmac-sha256压缩后得到256bit信息;如使用hmac-sha256算法压缩后,得到256bit的消息m,使用该消息m代替可信位置验证消息中的可信位置签名和其他部分信息直至符合信道发送的最大能力;在这个算法方法案例中,消息m就取代所有的可信位置验证消息位发送在wifi的ssid信息中;在实用中使用的合理的压缩算法都是具有单向散列函数的算法,使用前述sha1或者hmac-sha1产生的所述消息m唯一的识别压缩前的可信位置验证消息。
具体流程如下:当所述可信位置验证消息的长度超出广播信道的传输能力时,如使用消息认证码的方法,则使用第一设备中保存的第五密钥对可信位置验证消息计算消息认证码得到消息m,并使用该消息m代替包括在可信位置验证消息中的可信位置签名及其他部分信息直至满足信道发送的最大能力,生成压缩后的可信位置验证消息;同时第一设备产生第二位置验证消息并将第二位置验证消息向安全验证服务端发送;所述第二位置验证消息包括未压缩的可信位置验证消息和消息m;在安全验证服务端接收到第一位置验证消息后,使用第一位置验证消息中包括的消息m查找对应的第二位置验证消息;提取对应第二位置验证消息中包括的未压缩的可信位置验证消息;使用安全服务端保存的第六密钥对第二位置验证消息中包括的未压缩可信位置验证消息使用与第一设备同样的算法和对应密钥计算得到消息m1,此处使用例子中hmac-sha256和第六密钥计算的到消息m1,将m1与第一位置验证消息中包括的消息m比较,如果一致,则验证通过,继续下一步处理,否则,停止处理;使用这个过程,完成对于可信位置验证消息在无连接通信接口传输中的压缩。
实施示例6;
如图6是为本发明系统所实施的基于无连接的通信验证的信息传输方法流程示意图。
实施中第一设备产生可信位置验证消息s601;所述可信位置验证消息包括可信位置关系信息和可信位置签名;当第一密钥和第二密钥是非对称密钥时,所述可信位置关系信息包括位置识别码和可变码,所述位置识别码对应第一密钥和第二密钥;当第一密钥和第二密钥是对称密钥时,所述可信位置关系信息包括可变码;所述可变码为动态变化信息;位置识别码(该码是预先设定的码,用于识别第一设备的属性,包括部署的物理位置,空间,设施,以及其他相关的在商业应用场景中定义的信息),可变码(可以是第一设备的系统时间等可变信息);所述第一密钥保存在第一设备中;所述第二密钥保存在安全验证服务器中;在压缩可信位置验证消息实用中如果使用带密钥的方法,则相关的所述第五密钥保存在第一设备中,相关的所述第六密钥保存在安全验证服务器中;所述第一密钥和所述第二密钥是对应关系,即使用所述第二密钥可以验证可信位置签名是否为使用第一密钥计算产生;所述可信位置签名是第一设备对于包括可信位置关系信息的信息序列使用第一密钥计算产生的可信位置签名;所述可变码为动态变化信息,每次产生的可信位置验证消息中包括的可变码根据预置的规则或者算法变化,如可变码可以是本地时钟定期的变化,可变化也可以与;所述可信位置验证消息可以在接收到请求后产生,也可以按照固定周期持续产生。
步骤s602第一设备基于用于发送可信位置验证消息的无连接通信的信道传输能力判断是否需要对所述可信位置验证消息压缩;如果所述可信位置验证消息的长度大于当前第一设备具备的最大发送长度,就判断为需要压缩;如使用基于wifi实现无连接通信就可以使用wifi广播信道传输ssid的方法,该方法能够传输32个字符,即256bit位长的信息,如果可信位置验证消息超过了这个长度,就需要压缩;这里无连接通信的方式可以包括但不限于wifi广播信道,蓝牙广播信道;除广播信道之外,可信位置验证消息还可以通过第一设备转换为二维码表达,通过用户端设备扫描的方式实现可信位置验证消息的发送;与二维码表达类比,可以将可信位置验证消息转换为声波信息流发送等等;实用中如使用二维码,就可以满足长度要求,就不需要压缩(可通过第一设备的二维码转换部件将可信位置验证消息转换为二维码信息);所述无连接通信指第一设备向用户设备发送消息的时候不需要先建立连接,而是使用通信双方共有和公允的通信协议和信道发送消息的同时,包括但不限于通过广播的方式发送数据,只要用户设备在接受信息的范围之内就能接收到信息。
步骤s603第一设备生成压缩后的可信位置验证消息,以及产生并向安全服务端发送第二位置验证消息:在使用hmac-sha256的用例中,(1)第一设备使用存储的第五密钥为可信位置验证消息计算消息m,所述消息m的长度小于可信位置验证信息的长度,第一设备将生成的消息m替换可信位置验证消息中的可信位置签名信息及其他部分直至满足信道允许的最大传输能力,由此生成的压缩后可信位置验证消息的长度可符合信道的最大比特长度的限制,实现了对可信位置验证消息的压缩,生成压缩后的可信位置验证消息;(2)第一设备生成所述第二位置验证消息,第二位置验证消息包括所述未压缩的可信位置验证消息和消息m,同时第二位置验证消息生成后,第一设备将第二位置验证消息向安全验证服务端发送。
步骤s604第一设备以无连接通信发送可信位置验证消息或压缩后的可信位置验证消息;除此之外,第一设备还可以采用二维码或声波信息流的方法传输可信位置验证消息;实用中可以使用wifi的广播信道(如使用ssid传输);蓝牙广播信道发送上述消息。
步骤605用户设备产生第一位置验证消息:所述用户设备接收第一设备发送的所述可信位置验证消息或压缩后的可信位置验证消息,使用保存在用户设备中的第三密钥计算包括接收到的所述可信位置验证消息或压缩后的可信位置验证消息的信息序列产生第一位置验证消息签名;所述第一位置验证消息包括应用服务密钥识别id,应用服务识别id;可选的,可以包括产生第一位置验证消息的时间戳;所述用户设备产生第一位置验证消息,第一位置验证消息包括第一位置验证消息签名和接收到的可信位置验证消息(该可信位置验证消息可以是原始消息或压缩后的消息);
步骤s606用户设备将第一位置验证消息发送给安全验证服务端;
步骤s607所述安全验证服务端验证第一位置验证消息;在没有压缩可信位置验证消息的情况下,使用方法如下:所述安全服务端保存有第二密钥和与之对应的位置识别码,所述第二密钥用于对接收到的第一位置验证消息中包括的可信位置验证消息验证:所述安全服务端接收第一位置验证消息,提取消息中包括的所述可信位置验证消息,在系统配置为第一密钥和第二密钥是非对称密钥的情况下,使用所述可信位置验证消息中的位置识别码查找对应的第二密钥,使用第二密钥验证所述可信位置验证消息的可信位置签名,如果通过,就认定用户端接收到了有效可信位置验证消息,则安全服务端产生并将第三位置验证消息转发至应用服务端,验证不通过则终止处理;所述第三位置验证消息包括第一位置验证消息,位置识别码和可变码;在第一密钥和第二密钥是对称密钥的情况下,使用所述可信位置验证消息中包括的可信位置签名查询安全验证服务端是否存在同样的可信位置签名,如果存在就验证安全服务端计算该可信位置签名使用的可变码和所述收到的可信位置验证消息中包括的可变码是否一致,如果通过,就认定用户端接收到了可信位置验证消息,则安全服务端就提取对应的第二密钥所对应的位置识别码,则安全服务端将第三位置验证消息中发送至应用服务端,验证不通过则不产生和发送第三位置验证消息并终止处理;所述第三位置验证消息包括第一位置验证消息和对应的位置识别码和可变码;
当发生压缩的情况下,实用中可以采用各种方法,如单向散列函数,消息认证码算法等;如使用消息认证码算法,所述安全验证服务端保存有第二密钥和第六密钥,第一设备保存第一密钥和第五密钥;安全验证服务端接收到第一位置验证消息后,使用第一位置验证消息中包括的消息m查找对应的第二位置验证消息;提取对应第二位置验证消息中包括的未压缩的可信位置验证消息,使用安全服务端保存的第六密钥和hmac-sha256算法计算第二位置验证消息中包括的未压缩的可信位置验证消息得到消息m1,将m1与第一位置验证消息中包括的消息m比较,如果一致,则继续下一步处理,否则,停止处理;继续下一步处理,在第一密钥和第二密钥是非对称密钥的情况下,使用未压缩的可信位置验证消息包括的位置识别码查找对应的第二密钥,并使用第二密钥验证对应第二位置验证消息中包括的未压缩的可信位置验证消息中的可信位置签名,验证通过后,提取对应第二位置验证消息中包括的位置识别码,可变码,产生并将第三位置验证消息转发至应用服务端,所述第三位置验证消息包括第一位置验证消息和提取的位置识别码以及可变码;验证不通过不产生和发送第三位置验证消息并终止处理;在第一密钥和第二密钥是对称密钥的情况下,提取第二位置验证消息中的未压缩可信位置验证消息,使用包括的可信位置签名查询安全验证服务端是否有存在同样的可信位置签名,如果存在就验证所述安全服务端计算该可信位置签名时使用的可变码和所述第二位置验证消息中可信位置验证消息中包括的可变码是否一致,如果通过,就认定用户端接收到了可信位置验证消息并提取包括的可变码,并安全服务端提取对应的第二密钥对应的位置识别码,安全服务端将第一位置验证消息和提取的位置识别码以及可变码包括在第三位置验证消息中发送至应用服务端,验证不通过不产生和发送第三位置验证消息并终止处理;
所述第三位置验证消息包括用于验证发起用户端设备的第一位置验证消息和用于决定应用服务端向对应的用户端设备推送响应和后续服务的所述位置识别码和可变码信息。
步骤s608应用服务端验证用户端设备并进行相应处理:所述应用服务端保存有第四密钥;所述应用服务端接收安全验证服务端发送的第三位置验证消息,提取包括的第一位置验证消息,使用应用服务密钥识别id查找与用户设备对应的第四密钥,并使用第四密钥验证第一位置验证消息签名,如果验证通过,则验证用户端设备通过,应用服务端就使用包括的位置识别码和可变码关联的对应信息向对应的用户设备推送响应和后续服务;如果验证不通过,就停止处理。优选的,应用服务端可从提取第三位置验证消息中得到位置识别码,应用服务器预先存储有与不同的位置识别码相对应的响应信息或服务信息,所述信息的内容还与可变码等参数有关,实用中可变码可以是第一设备的系统时间,在第一位置验证消息签名验证通过后,应用服务端可以根据从第一位位置验证消息中得到的位置识别码查询相应的响应信息或服务信息,并结合可变码所表示的第一设备的系统时间,向用户设备推送相应的响应和后续服务;使用可变码还可以是预先输入或者定义的内容编号。
步骤s609应用服务端向对应用户设备推送相应的响应和后续服务。