一种安全动态传输二维码信息的方法

文档序号:7552625阅读:490来源:国知局
专利名称:一种安全动态传输二维码信息的方法
技术领域
本发明涉及计算机应用领域,特别提供了一种安全动态传输二维码信息的方法。
背景技术
随着科技和网络技术的发展,特别是近些年智能手机的普及,和移动互联网技术的突飞猛进,网络信息传输已渗透到人们生活的方方面面,如电子购物,社交网络,网络营销,即时通信等等;伴随着这些业务的产生,二维码以其存储量大,易于识别与解析,能快速在互联网上传播等特点,在互联网领域逐渐得到广泛应用。近些年,随着智能手机的普及,物联网,移动互联网发展异常迅速,很多企业与机构利用二维码,在传统媒体上进行推广和宣传,如户外广告,电视广告,以及在互联网上通过二维码存储公司与机构的对外网址、服务URL等,让普通用户通过智能手机或移动终端设备就能快速扫描识别二维码,并且快速的打开公司与机构的网址以及对外提供服务的URL。移动互联网技术最大的特点是操作便捷,传输迅速,比传统的互联网更有影响力;很多企业与机构会通过网络传输工具来推广和宣传自己,如传统的即时通信软件,电子公告板,网络社区,博客等,近些年随着社交网络的兴起,微博,微信更是能快速的传播企业与机构所发布的各类宣传与活动信息,二维码在传输的过程中,能够很好的充当传输桥梁与中介的作用。在实现现有技术的过程中,本发明人发现现有技术存在如下技术问题:二维码在传输过程中很难保证得到完整的传输路径,并且不可能从一个二维码节点完整的还原出前面传输路径中的所有节点信息,这样就很难跟踪和分析传输路径上的节点访问次数。目前二维码都是以明文方式存储,很难保证在二维码传输的过程中安全传输,尤其是一些涉及到应用所需的敏感数据。

发明内容
本发明的目的是,提供一种安全动态传输二维码的方法,旨在解决现有二维码传输技术中不能动态传输二维码信息的问题,以便于跟踪和分析传输路径上的节点访问次数,并且安全可靠地展现二维码数据中的关键信息。本发明涉及的角色包括:前端设备和服务器,其中:前端设备,用于展现和传输二维码信息,并方便用户读取、识别与解析二维码信肩、O服务器,提供二维码生成与解析过程的各种服务,同时存取二维码节点传输的完整路径,及各二维码节点所有信息。本发明实施是这样实现的,一种安全动态传输二维码的方法,所述方法具体包括:二维码根节点生成,二维码节点传输方法,二维码数据识别与解析方法,安全控制方法,节点特征码生成方法,二维码节点信息存储方法,其中
二维码根节点生成方法是:前端设备向服务器提交二维码根节点申请请求,服务端生成根节点唯一标识,然后产生根节点的特征码,并记录该根节点的所有相关信息,之后服务器将生成的二维码返回给前端设备。
二维码传输方法是:二维码在前端设备之间的传输过程中,继承上级二维码节点的关键信息并向服务器提交动态生成新的二维码的请求,所述动态生成新的二维码的请求中携带从原二维码中解析获得的上一级二维码节点信息;新的二维码的动态生成步骤为:服务器端在接受到动态生成新的二维码的请求后,首先验证请求的合法性,若不合法,则拒绝该请求;若合法,则生成新的二维码返回给提出动态生成新的二维码的请求的前端设备,同时在服务器端持久化存储此次生成的二维码节点信息。
二维码数据识别与解析方法是:二维码被前端设备读取后,得到服务器地址、节点唯一标识和二维码密文信息,然后提交到服务器,服务器首先验证信息的合法性,若不合法,则拒绝该请求;若合法则先通过节点唯一标识找到服务器存储的解密密钥,还原二维码密文信息对应的明文信息,通过其中存储的节点特征码查询并获取该节点在服务器端保存的完整信息,并返回给前端设备。
安全控制方法有:利用对称加密算法,服务器生成密钥并存储,并与节点信息映射上,加密则通过密钥对节点关键数据进行加密,解密同样通过此密钥进行解密。为保证更高的安全级别,可以优化为:前端设备向服务器端每提交一次二维码生成请求时,重新生成密钥。
安全控制方法还有:利用非对称加密算法,在前端设备与服务器第一次交互时,月艮务端与前端设备各生成一对密钥对,各自存储一对密钥和私钥,此后当前端设备与服务器进行交互时,均通过对方传过来的公钥加密,而对方则通过自己拥有的私钥进行解密。为保证更高的安全级别,可以在前端设备与服务器端每次进行交互时,均重新生成新密钥对。
节点特征码生成方法是:特征码从根节点开始传输时产生,由服务器统一生成,要求数据量少,存储占用空间小。在节点数不多的情况下,可以是固定长度;但在海量数据的设计中,可以动态改变长度,随着二维码节点传输路径的不断延伸,可适当增加二维码的长度,这样会占用较小的空间。
二维码节点信息存储方法是:根据实际应用场景,二维码信息持久化存储介质包括:计算机内存空间、本地磁盘、共享磁盘、网络磁盘、磁带等,存储形式可以是存储对象、各种数据库、文件系统等;在二维码节点传输层数不多的情况下,可简单存储一条记录,分不同的字段保存各节点信息,在海量数据的情况下,为提高节点数据的访问效率,可将节点数据分成多条记录存储,并设计好记录间的依赖关系。
服务器端二维码节点信息中记录所有节点传输的路径,包括从根节点遍历到当前节点的所有节点的特征码信息,并且按节点遍历的顺序进行排序。
在本发明实施例中,本发明提供的方案中,二维码信息在传输的过程中,二维码中的关键信息以密文传输,具有较高的数据安全可靠性;同时二维码信息在传输的过程中,服务器会记录传输的完整路径,当前端设备识别或解析二维码信息时,能快速的还原出二维码的传输路径,这样就很容易得到传输过程所有节点的作用效果,具有快速还原传输路径和跟踪各节点传输效果的优点,便于跟踪和分析传输路径上的节点访问次数。


下面结合附图及实施方式对本发明作进一步详细的说明:图1为本发明提供一种安全动态传输二维码信息的方法的结构图;图2为本发明提供的二维码节点生成,传输以及识别与解析的流程图,包含前端设备与后端服务器交互的详细流程;图3为本发明涉及的二维码信息在前段设备与后端服务器存储的数据结构;图4为本发明涉及的二维码信息在前段设备与后端服务器间用对称加密算法进行安全控制的过程;图5为本发明涉及的二维码信息在前段设备与后端服务器间用非对称加密算法进行安全控制的过程。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下集合附图及实施例,对本发明进行进一步详细说明,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。本发明提供一种安全动态传输二维码信息的方法,该方法总体结构如图1所示:本发明所涉及的系统包括两个重要角色:前端设备与服务器端,其中:前端设备用于二维码的生成、展现、读取以及二维码的识别与解析;还用于在二维码信息的传输过程中,完成与服务器端的交互通信,以及对非法二维码信息的异常处理。前端设备还用于读取或解析二维码,获取服务地址,并传递密文到后端服务器,以获取二维码节点的完整信息,以及二维码节点在传输过程所遍历节点的完整路径。服务器用于提供二维码生成与解析过程的各种服务,同时存取二维码节点传输的完整路径,及各节点相关的所有细节信息。方便从二维码节点快速还原出二维码节点的传输路径,以及各层次节点所含的详细信息与相应的业务统计数据。本发明所涉及两个角色,前端设备与服务器端,只是按照功能逻辑进行划分的,但并不局限上述的划分,也不局限于特定软件,硬件或功能模块,只要能实现相应的功能即可;另外,两角色的具体名称也只是为了便于区分与理解,并不用于限制本发明的保护范围。图1所涉及的结构中,二维码节点在生成,传输,以及识别与解析的过程中,前端设备均要与后端服务器进行多次交互,为保证在交互过程中,二维码节点涉及的关键信息能安全的在网络间传输,所有涉及的节点关键信息将以密文形式进行传输。图1所涉及的结构中,二维码节点信息分别存储于前端设备和服务器端,本发明不限于二维码节点的具体信息项在两种角色的存储分配。如在电子商务或社交媒体中,前端设备存储的节点信息包括:二维码图片,以及图片对应的应用说明;服务器端通常为保证信息在传输的过程不丢失,会保存二维码节点所涉及的所有细节信息,另外包含节点在传输过程中遗传下来的路径数据和相关的统计分析数据;二维码节点信息的存储与处理方法并不局限于具体的应用场景。与上述实施例不同的是,本实施例不是简单将二维码节点数据单一的存储在前端设备或服务器端;而是选择关键并精简过的二维码节点数据以密文方式,连同后端服务的URL地址存储在二维码中,从而将二维码节点涉及的完整信息与扩展信息存储到服务器端;优点是在当二维码节点拥有海量信息,或者传输节点达到海量数量时,本方法能支持节点数据的完整存储,也能保证节点传输路径的快速遍历与还原。
本发明提供一种安全动态传输二维码信息的方法,该方法涉及的二维码生成与传输流程图如图2所不:
其中二维码根节点生成实施例为:前端设备向服务器提交二维码根节点申请请求,服务端生成根节点唯一标识,然后产生根节点的特征码,并记录该根节点的所有相关信息,之后服务器生成二维码返回给前端设备。
二维码传输过程实施例为:二维码在前端设备之间的传输过程中,继承上级二维码节点的关键信息并向服务器提交动态生成新的二维码的请求,所述动态生成新的二维码的请求中携带从原二维码中解析获得的上一级二维码节点信息;新的二维码的动态生成步骤,服务器端在接受到动态生成新的二维码的请求后,首先验证请求的合法性,若不合法,则拒绝该请求;若合法则生成新的二维码返回给提出动态生成新的二维码的请求的前端设备,同时在服务器端持久化存储此次生成的二维码节点信息。
二维码识别与解析过程实施例为:二维码被前端设备读取后,得到服务器地址、节点唯一标识和二维码密文信息,然后提交到服务器,服务器首先验证信息的合法性,若不合法,则拒绝该请求;若合法则先通过节点唯一标识找到服务器存储的解密密钥,还原二维码密文信息对应的明文信息,通过其中存储的节点特征码查询并获取该节点在服务器端保存的完整信息,并返回给前端设备。
需要说明的是,当前端设备生成或传输二维码节点时,需向服务器提交申请,申请可以通过常用的URL链接来表示,参数中携带节点生成与传输所需的关键信息的密文,本发明对申请方法不做具体要求,可以是基于HTTP的Web服务,其中服务协议可以是广泛应用的SOAP协议、REST协议,也可是自定义的Web服务等。
需要说明的是,上述的提交申请基于WebService,固然方便快捷,现行主流的嵌入式前端设备大部分都支持WebService ;但本方法不局限于基于HTTP的WebService,其他设备与设备之间的通信方式也可基于本发明所述的方法,如基于TCP/IP协议套接字通信,电子邮件通信,凡是能实现前端设备与服务器交互的通信方式均可延伸使用本发明所述的方法。
需要说明的是,提交申请的内容表现为:服务器端提供服务的地址及节点生成所需的密文关键信息的组合,本发明对节点关键信息是否需要加密不做具体要求,如在信息安全要求不高的场景下,节点关键信息可以以明文方式在前端设备与服务器端交互,另外节点关键信息也可完全以明文方式展现在二维码中。
需要说明的是,本方法所述的节点识别与解析可以是第三方前端设备,对前端设备不做特定的要求与限制,如二维码数据是开放的,任何能识别与解析二维码的终端或软件,都能快速的得到二维码中所包含的服务器端服务所需URL完整信息,这样可极大的方便二维码信息在不同前端设备间使用。
需要说明的是,为方便不同的前端设备识别二维码信息,二维码数据中实际存储的是一个标准的明文URL地址;但本方法不对URL地址的编码方式做具体要求;如应用场景限定的前端设备是可控的几类,同时对二维码信息有严格的安全要求,不能以明文的方式展现;服务器端向前端设备发送的响应信息,也就是组合服务端服务地址,节点的关键信息而成的URL地址,服务器端可以以统一的加密机制将URL地址转换成密文传递给前端设备;这样二维码图片中包含的信息就是一段完整的密文,只有特定的前端设备才能识别与解析;其中加密与解密的方法与上述节点关键信息的加密解密方法一致;只不过,前端设备在识别二维码信息后,首先要对二维码中的密文数据进行解密,得到完整的URL明文地址后,才能将服务及数据提交到后台服务器端,进行后续的节点完整信息获取与传输路径的还原与跟踪操作。本发明提供一种安全动态传输二维码信息的方法,该方法涉及的二维码节点信息在前端设备和服务器端存储结构如图3所示:需要说明的是,二维码节点在前端设备存储的信息包括:后端服务URL,节点唯一标识,和以密文方式表现的节点关键信息,其中节点唯一标识与密文节点关键信息将以URL参数的方式,结合服务地址组合成新的URL地址,一并存储在二维码图片中。需要说明的是,二维码节点在服务器端存储的信息包括:节点唯一标识,节点特征码,节点关键信息,加密解密所需的密钥等。需要说明的是,服务器端的二维码信息持久化存储介质包括:计算机内存空间、本地磁盘、共享磁盘、网络磁盘、磁带等,存储形式可以是存储对象、各种数据库、文件系统等,在二维码节点传输层数不多的情况下,可简单存储一条记录,分不同的字段保存各节点信息,在海量数据的情况下,为提高节点数据的访问效率,可将节点数据分成多条记录存储,并设计好记录间的依赖关系。需要说明的是,其中特征码由服务器统一生成,要求数据量少,存储占用空间小,本发明对特征码的长度不做具体要求。在节点数不多的情况下,可以是固定长度;但在海量数据的设计中,可以动态可变长度,随着二维码节点传输路径的不断延伸,可适当增加特征码的长度,这样需在存储传输路径中所有节点特征码时,会占用较小的空间。需要说明的是,在固定长度的特征码中,后端系统可根据设定的特征码长度,快速计算出传输路径中所有节点的特征码,缺点是占用较大的存储空间。但在海量节点特征码存储中,推荐使用变长特征码,并设计好特征码之间的间隔特征,后端服务器在还原传输路径所有节点特征码的过程中,可解析特征码路径存储的信息串,结合特征码间隔特征,逐次还原出传输路径中所有节点的特征码;本发明不对特征码间的间隔特征做具体要求,可以通过特殊字符进行间隔,也可是类似Unicode编码方式,设计特殊编码区位以区分变长的特征码。需要说明的是,特征码也可以是节点的唯一标识,只是在节点数为海量时,传输路径通过节点唯一标识描述会占用很大的存储空间,也不利于传输路径的快速还原,所以本发明设计一套单独的特征码,以优化节点的存储空间,并提高节点传输路径还原的速度与效率。本发明提供一种安全动态传输二维码信息的方法,该方法涉及的二维码节点信息在传输过程中,基于对称加密算法的加密方法如图4所示:在前端设备与服务器第一次交互时,服务端生成加密密钥,并将密钥存储于服务器中,与前端设备在服务器端的标识映射上,当前端设备向服务器请求生成二维码时,则通过此密钥进行加密,反之当前端设备请求解密二维码时,同样通过存储的密钥对二维码中密文进行解密,并还原出二维码中的真实信息。
需要说明的是,为提高二维码数据的安全性,对称加密算法可以改进为:前端设备向服务器端每提交一次生成请求,服务器端都会生成一个密钥,并在二维码的节点信息中添加密钥信息,这样在二维码信息每传输一次都是用不同的密钥,从而提高二维码传输的安全性。
本发明提供一种安全动态传输二维码信息的方法,该方法涉及的二维码节点信息在传输过程中,基于非对称加密算法的加密方法如图5所示:在前端设备与服务器端第一次交互时,服务器端与前端设备各生成一对密钥对,并各自存储一对密钥和私钥。前端设备第一次显示根节点二维码信息过程为:前端设备向服务器端提交请求,并发送自己拥有的公钥,服务器端通过前端设备发送的公钥对二维码信息进行加密,并附上自己的公钥发送给前端设备,前端设备收到密文后,先通过自己拥有的私钥对密文进行解密,同时通过服务器端发送过来的公钥对明文二维码信息加密,连同服务器端服务访问地址,组合成完整的URL地址,并生成二维码返回给移动终端;二维码传输与识别过程一样,均用对方的公钥加密信息并传输,对方在收到密文后用自己的私钥进行解密。
需要说明的是,为提高二维码数据的安全性,非对称加密算法可以改进为:在每一次前端设备与后端服务器端交互之前,两种角色首先通过两次握手,交换各自的公钥,私钥对,这样在二维码的传输过程中,两端公钥不停在变化,整个传输过程则更加安全可靠。
需要说明的是,本文所述的二维码节点,二维码只是节点信息在前端设备的一种表现,在能力有限的前端设备中,节点可以以URL链接的方式展现,也可以通过其他数字编码方式,或超文本方式展现,本发明重点在于提供一种动态且安全传输节点信息的方法,并不局限于二维码信息的具体表现方式。
需要说明的是,本发明所提供的方法对节点传输的层数没有具体要求,可以是一层,也可以是多层;此外,本方法涉及的安全与动态特性可用于传输路径中的所有节点,也可应用于部分节点,如传输路径的前两层二维码节点要求信息安全,内容包含执行传输操作用户的信息,且用户信息随传输过程动态变化;但在以后的传输过程中,用户的信息保持不变。
值得注意的是,上述实施例中,所包含的各个单元只是按照逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种安全动态传输二维码信息的方法,包括以下步骤: 二维码根节点生成步骤,前端设备向服务器提交二维码根节点申请请求,服务端生成根节点唯一标识,然后产生根节点的特征码,并记录该根节点的所有相关信息,之后服务器生成二维码返回给前端设备; 二维码传输步骤,二维码在前端设备之间的传输过程中,继承上级二维码节点的关键信息并向服务器提交动态生成新的二维码的请求,所述动态生成新的二维码的请求中携带从原二维码中解析获得的上一级二维码节点信息; 新的二维码的动态生成步骤,服务器端在接受到动态生成新的二维码的请求后,首先验证请求的合法性,若不合法,则拒绝该请求;若合法则生成新的二维码返回给提出动态生成新的二维码的请求的前端设备,同时在服务器端持久化存储此次生成的二维码节点信息; 二维码读取与解析步骤,二维码被前端设备读取后,得到服务器地址、节点唯一标识和二维码密文信息,然后提交到服务器,服务器首先验证信息的合法性,若不合法,则拒绝该请求;若合法则先通过节点唯一标识找到服务器存储的解密密钥,还原二维码密文信息对应的明文信息,通过其中存储的节点特征码查询并获取该节点在服务器端保存的完整信息,并返回给前端设备。
2.根据权利要求1所述的方法,其中二维码根节点生成步骤中生成根节点信息时,月艮务器记录该根节点的所有相关信息,并加密根节点特征码、用户信息、应用扩展数据,生成二维码密文信息;随后服务器根据二维码密文信息、节点唯一标识、服务器地址组合成完整的URL并生成二维码返回给前端设备。
3.根据权利要求1所述的方法,其中的二维码传输步骤具体包括:二维码从父级节点向子级节点传输时,前端设备向服务器提交新的请求,请求中包含上级节点的节点唯一标识、特征码、用户信息、所需的应用扩展数据,其中后三项为密文信息;服务器端收到请求并验证正确后,生成子级节点的节点唯一标识和特征码,同时在服务器端记录传输所需的所有信息,其中特征码中记录传输所遍历路径中所有节点的特征码,并以预定的规则进行排序;之后服务器端生成新的二维码信息,并返回给前端设备。
4.根据权利要求1所述的方法,其中的二维码读取与解析步骤具体包括:第三方前端设备扫描二维码,得出服务的完整URL请求地址,并向服务器发送请求,服务器将请求参数中的密文信息进行解密,还原出用户信息、节点特征码和节点应用扩展数据,同时读出服务端存储的所有节点信息,以便得到节点所包含的全部信息。
5.根据权利要求1所述的方法,其中前端设备用于展现二维码,并方便其他第三方前端设备识别;其中前端设备还用于二维码的传输,并且在传输的过程中完成与服务器端的交互通信,同时对非法二维码进行异常处理;其中前端设备还用于读取或解析二维码,获取服务地址,并传递密文信息到后端服务器,以获取二维码节点的完整信息。
6.根据权利要求1所述的方法,所述的前端设备包括:手机等移动终端、笔记本电脑、平板电脑、应用网站或提供二维码消费应用的服务器;所述的服务器包括:能提供服务能力的工作站、网络服务器、云主机等。
7.根据权利要求1 所述的方法,所述的二维码信息持久化存储介质包括:计算机内存空间、本地磁盘、共享磁盘、网络磁盘、磁带等,存储形式可以是存储对象、各种数据库、文件系统等。
8.根据权利要求1所述的方法,其中节点唯一标识能在服务器端唯一区分二维码节点的身份。
9.根据权利要求1所述的方法,其中服务器端存储信息具体包括:节点唯一标识,节点特征码,加密、解 密密钥,执行节点操作的用户信息,节点应用所包含的应用扩展数据。
10.根据权利要求1所述的方法,其中特征码在节点数不多的应用中为固定长度;在海量数据的应用中为可变长度,随着二维码节点传输路径的不断延伸,适当增加特征码的长度。
全文摘要
本发明适用于计算机领域,提供一种安全的并且在传输过程中能够动态变化二维码信息的方法。所述方法包括二维码信息在传输的过程中,分为公开信息(如服务地址、节点标识等)和关键信息(如节点特征码,用户信息,应用扩展数据)。该方法提供两种重要角色一是前段用于展现和传输二维码的前端设备,二是后端用于二维码信息生成与加密解密的服务器应用。在二维码传输的整个过程中,两种角色相互通信协作,安全可靠的完成二维码信息的传输。另外,当二维码信息在多级节点的传输过程中,提供一种在保留二维码关键信息的同时,记录传输过程中所遍历的标识全部节点特征的信息,当需要还原二维码信息传输路径时,本方法会快速复原传输过程的完整路径。
文档编号H04L29/06GK103152337SQ20131005808
公开日2013年6月12日 申请日期2013年2月25日 优先权日2013年2月25日
发明者汪凯, 杨润芝 申请人:汪凯, 杨润芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1