数据信息加密校验方法、系统及计算机可读存储介质与流程

    专利2022-07-07  48


    本发明涉及信息加密技术领域,属于智慧城市中对数据信息进行加密校验的应用场景,尤其涉及一种数据信息加密校验方法、系统及计算机可读存储介质。



    背景技术:

    用户终端可发送服务请求至管理服务器以实现对服务请求进行处理,管理服务器对服务请求进行处理后得到返回数据反馈至用户终端,而用户终端与管理服务器之间传输的数据信息通常通过http协议实现,通过浏览器的调试工具或数据抓取工具可轻易获取http协议对应的数据信息,则用户终端与管理服务器通过互联网所传输的数据信息难以被隐藏。为避免数据信息在传输过程中受到外界干扰,需对所传输的数据信息的一致性进行校验,传统技术方法均是采用直接对数据信息进行匹配校验的方法,虽然这一方法能够简单、快速地对数据信息进行一致性校验,但存在保密性不足而易被外界干扰的问题,影响了对数据信息进行一致性校验的可靠性。因此传统技术方法中存在对经互联网传输的数据信息进行一致性校验的可靠性不高的问题。



    技术实现要素:

    本发明实施例提供了一种数据信息加密校验方法、系统及计算机可读存储介质,旨在解决现有技术方法中所存在的对经互联网传输的数据信息进行一致性校验的可靠性不高的问题。

    第一方面,本发明实施例提供了一种数据信息加密校验方法,其包括:

    所述用户终端若接收到用户输入的待发送数据信息,发送传输请求信息至所述管理服务器;

    所述管理服务器接收到来自用户终端的传输请求信息,根据预置的秘钥生成规则生成第一秘钥信息,并发送所述第一秘钥信息中的第一公钥至所述用户终端;

    所述用户终端若接收到所述第一公钥,根据所述秘钥生成规则生成第二秘钥信息,并反馈所述第二秘钥信息中的第二公钥至所述管理服务器;

    所述用户终端根据预置的协商秘钥生成规则、所述第一公钥及所述第二秘钥信息生成对应的终端协商秘钥;

    所述用户终端根据所述终端协商秘钥及预置的签名规则生成与所述待发送数据信息对应的数据签名;

    所述用户终端根据预置的编码规则对所述待发送数据信息及所述数据签名进行编码加密得到加密数据信息并发送至所述管理服务器;

    所述管理服务器接收来自所述用户终端的第二公钥及所述加密数据信息,根据所述协商秘钥生成规则、所述第二公钥及所述第一秘钥信息生成对应的服务器协商秘钥;

    所述管理服务器根据所述编码规则对所述加密数据信息进行逆编码,得到逆编码数据信息;

    所述管理服务器根据所述的服务器协商秘钥及所述签名规则生成与所述逆编码数据信息中目标数据信息对应的目标数据签名;

    所述管理服务器对所述目标数据签名是否与所述逆编码数据信息中的签名信息一致进行校验得到数据校验结果。

    第二方面,本发明实施例提供了一种数据信息加密校验系统,其包括用户终端及管理服务器,所述用户终端包括传输请求信息发送单元、第二秘钥生成单元、终端协商秘钥生成单元、数据签名生成单元及加密数据信息发送单元,所述管理服务器包括第一秘钥生成单元、服务器协商秘钥生成单元、逆编码数据信息获取单元、目标数据签名生成单元及数据校验结果获取单元:

    传输请求信息发送单元,用于若接收到用户输入的待发送数据信息,发送传输请求信息至所述管理服务器;

    第一秘钥生成单元,用于接收到来自用户终端的传输请求信息,根据预置的秘钥生成规则生成第一秘钥信息,并发送所述第一秘钥信息中的第一公钥至所述用户终端;

    第二秘钥生成单元,用于若接收到所述第一公钥,根据所述秘钥生成规则生成第二秘钥信息,并反馈所述第二秘钥信息中的第二公钥至所述管理服务器;

    终端协商秘钥生成单元,用于根据预置的协商秘钥生成规则、所述第一公钥及所述第二秘钥信息生成对应的终端协商秘钥;

    数据签名生成单元,用于根据所述终端协商秘钥及预置的签名规则生成与所述待发送数据信息对应的数据签名;

    加密数据信息发送单元,用于根据预置的编码规则对所述待发送数据信息及所述数据签名进行编码加密得到加密数据信息并发送至所述管理服务器;

    服务器协商秘钥生成单元,用于接收来自所述用户终端的第二公钥及所述加密数据信息,根据所述协商秘钥生成规则、所述第二公钥及所述第一秘钥信息生成对应的服务器协商秘钥;

    逆编码数据信息获取单元,用于根据所述编码规则对所述加密数据信息进行逆编码,得到逆编码数据信息;

    目标数据签名生成单元,用于根据所述的服务器协商秘钥及所述签名规则生成与所述逆编码数据信息中目标数据信息对应的目标数据签名;

    数据校验结果获取单元,用于对所述目标数据签名是否与所述逆编码数据信息中的签名信息一致进行校验得到数据校验结果。

    第三方面,本发明实施例还提供了一种数据信息加密校验系统,其包括用户终端及管理服务器,所述用户终端包括第一存储器、第一处理器及存储在所述第一存储器上并可在所述第一处理器上运行的第一计算机程序,所述管理服务器包括第二存储器、第二处理器及存储在所述第二存储器上并可在所述第二处理器上运行的第二计算机程序,所述第一处理器执行所述第一计算机程序且所述第二处理器执行所述第二计算机程序以共同实现上述第一方面所述的数据信息加密校验方法。

    第四方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有第一计算机程序和/或第二计算机程序,当所述第一计算机程序被第一处理器执行且所述第二计算机程序被第二处理器执行时共同实现上述第一方面所述的数据信息加密校验方法。

    本发明实施例提供了一种数据信息加密校验方法、系统及计算机可读存储介质。管理服务器接收来自用户终端的传输请求信息生成第一秘钥信息并将其中第一公钥发送至用户终端,用户终端接收第一公钥后生成第二秘钥信息并将其中第二公钥发送至管理服务器,用户终端生成终端协商秘钥并对待发送数据信息进行签名生成数据签名后,对待发送数据信息及数据签名进行编码加密得到加密数据信息发送至管理服务器,管理服务器对加密数据信息进行逆编码后根据对应生成的服务器协商秘钥生成目标数据签名,验证目标数据签名是否与逆编码数据信息中的签名信息一致得到数据校验结果。通过上述方法,通过生成与待发送数据信息对应的数据签名并进行编码加密传输,可大幅提升对数据信息进行一致性校验的可靠性。

    附图说明

    为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

    图1为本发明实施例提供的数据信息加密校验方法的流程示意图;

    图2为本发明实施例提供的数据信息加密校验方法的应用场景示意图;

    图3为本发明实施例提供的数据信息加密校验方法的子流程示意图;

    图4为本发明实施例提供的数据信息加密校验方法的另一子流程示意图;

    图5为本发明实施例提供的数据信息加密校验方法的另一子流程示意图;

    图6为本发明实施例提供的数据信息加密校验方法的另一子流程示意图;

    图7为本发明实施例提供的数据信息加密校验方法的另一流程示意图;

    图8为本发明实施例提供的数据信息加密校验方法的另一流程示意图;

    图9为本发明实施例提供的数据信息加密校验系统的示意性框图;

    图10为本发明实施例提供的计算机设备的示意性框图。

    具体实施方式

    下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

    应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

    还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

    还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

    请参阅图1及图2,图1是本发明实施例提供的数据信息加密校验方法的流程示意图,图2为本发明实施例提供的数据信息加密校验方法的应用场景示意图;该数据信息加密校验方法应用于数据信息加密校验系统中,数据信息加密校验系统包括用户终端20或管理服务器30,该数据信息加密校验方法通过安装于用户终端20及管理服务器30中的应用软件进行执行,管理服务器30与用户终端20进行网络连接以实现数据信息的传输,用户终端20即是对待发送数据信息进行加密发送至管理服务器30的终端设备,用户终端20也可以对管理服务器30发出的加密数据信息进行解密及校验,例如台式电脑、笔记本电脑、平板电脑或手机等,管理服务器30即是对用户终端20发出的加密数据信息进行解密及校验的服务器端,管理服务器30也可对待发送数据信息进行加密并发送至用户终端20,管理服务器30可以是企业、政府机关等单位所设立的服务器。如图1所示,该方法包括步骤s110~s200。

    s110、所述用户终端若接收到用户输入的待发送数据信息,发送传输请求信息至所述管理服务器。

    用户可通过用户终端输入待发送数据信息,用户终端接收到待发送数据信息即发送传输请求信息至管理服务器,用户终端在正式发送数据信息至管理服务器之前,首先需要发送传输请求信息至管理服务器以进行秘钥交换,经过秘钥交换之后用户终端即可将待发送数据信息进行加密后发送至管理服务器。

    s120、所述管理服务器接收到来自用户终端的传输请求信息,根据预置的秘钥生成规则生成第一秘钥信息,并发送所述第一秘钥信息中的第一公钥至所述用户终端。

    所述管理服务器接收到来自用户终端的传输请求信息,根据预置的秘钥生成规则生成第一秘钥信息,并发送所述第一秘钥信息中的第一公钥至所述用户终端。其中,秘钥生成规则即是用于生成第一秘钥信息的规则,第一秘钥信息中包括第一公钥及第一私钥,公钥与私钥成对出现,生成的公钥可发送给其他终端进行使用,生成的私钥则需在本地进行存储以防止泄露。具体的,秘钥生成规则包括曲线方程、基点坐标及阶阈值,曲线方程可以是椭圆曲线方程:y2=x3 ax b,其中,a和b为该椭圆曲线方程中的参数值,基点坐标即为曲线方程上的任意一个点的坐标值,基点坐标可表示为g=(gx,gy);阶阈值即为对阶数的取值范围进行限定的阈值,阶阈值可以表示为n-2,n为素数。

    在一实施例中,如图3所示,步骤s120包括子步骤s121、s122和s123。

    s121、随机生成一个小于所述阶阈值的服务器阶数;s122、根据所述服务器阶数及所述基点坐标计算得到目标点坐标;s123、将所述服务器阶数作为所述第一私钥,将所述目标点坐标作为所述第一公钥。

    随机生成一个小于阶阈值的服务器阶数k,服务器阶数k为正整数且服务器阶数k的取值范围为k∈(0,n-2],具体的,目标点坐标可表示为p=[k]×g,p点为曲线方程上的一个点,可沿g点作切线,得到一条切点为g点的切线,过g点作一条与该切线垂直的垂线,垂线与第k阶的椭圆曲线方程的交点即为p点。将服务器阶数k转换为以十六进制表示的字符串即可得到第一私钥,将目标点坐标转换为以十六进制表示的字符串即可得到第一公钥,第一公钥及第一私钥的字符串长度均可采用字节进行表示,1字节=8bit,1bit为由二进制数表示的一个数据。

    例如,第一私钥可以是32字节,第一公钥可以是65或33字节。

    s130、所述用户终端若接收到所述第一公钥,根据所述秘钥生成规则生成第二秘钥信息,并反馈所述第二秘钥信息中的第二公钥至所述管理服务器。

    所述用户终端若接收到所述第一公钥,根据所述秘钥生成规则生成第二秘钥信息,并反馈所述第二秘钥信息中的第二公钥至所述管理服务器。若用户终端接收到第一公钥,则根据生成第一秘钥信息的秘钥生成规则生成与用户终端对应的第二秘钥信息,所生成的第二秘钥信息中包括第二公钥及第二私钥,用户终端在本地生成第二秘钥信息后,即可将第二秘钥信息中的第二公钥反馈至管理服务器,以进行秘钥交换,由于在进行秘钥交换过程中,仅通过互联网对第一公钥及第二公钥进行传输,而第一私钥存储于管理服务器本地、第二私钥存储于用户终端本地,因此此第一私钥及第二私钥未经互联网进行传输,可大幅增加对数据信息进行一致性验证的安全性及可靠性。

    在一实施例中,如图4所示,步骤s130包括子步骤s131、s132、s133和s134。

    s131、随机生成一个小于所述阶阈值的终端阶数;s132、根据所述终端阶数及所述基点坐标计算得到终端目标点坐标;s133、判断所述终端目标点坐标是否与所述第一公钥相等;s134、若所述终端目标点坐标不与所述第一公钥相等,将所述终端阶数作为所述第二私钥,将所述目标点坐标作为所述第二公钥。

    随机生成一个小于阶阈值的终端阶数k',终端阶数k'为正整数且终端阶数k'的取值范围为k'∈(0,n-2],则终端目标点坐标可表示为p'=[k']×g,p'点为曲线方程上的一个点,可沿g点作切线,得到一条切点为g点的切线,过g点作一条与该切线垂直的垂线,垂线与第k’阶的椭圆曲线方程的交点即为p’点。将终端目标点坐标转换为以十六进制表示的字符串,判断该字符串是否与第一公钥相等,若相等,则再次随机生成一个小于所述阶阈值的终端阶数,直至所生成的终端目标点坐标所对应的字符串不与第一公钥相等;若不相等,则将该字符串作为第二公钥,将终端阶数k’转换为以十六进制表示的字符串作为第二私钥,第二公钥及第二私钥的字符串长度均可采用字节进行表示。

    s140、所述用户终端根据预置的协商秘钥生成规则、所述第一公钥及所述第二秘钥信息生成对应的终端协商秘钥。

    所述用户终端根据预置的协商秘钥生成规则、所述第一公钥及所述第二秘钥信息生成对应的用户终端协商秘钥。用户终端根据协商秘钥生成规则生成对应的用户终端协商秘钥,第二秘钥信息中包含第二公钥及第二私钥,具体的,协商秘钥生成规则即为生成协商秘钥的规则信息,可根据协商秘钥生成规则生成与第一公钥及第二私钥生成用户终端协商秘钥,所生成的用户终端协商秘钥为32字节。

    协商秘钥生成规则可以是基于第一公钥及第二私钥进行计算的计算公式,例如,该计算公式可表示为s'k=k'pmodr,r为该计算公式中预设的参数值,s'k为所生成的用户终端协商秘钥,所生成的用户终端协商秘钥可表示为:clientkey=350cce5aa3a608fd60d2b2b9fc35cd19。

    s150、所述用户终端根据所述终端协商秘钥及预置的签名规则生成与所述待发送数据信息对应的数据签名。

    所述用户终端根据所述终端协商秘钥及预置的签名规则生成与待发送数据信息对应的数据签名。其中,签名规则即是根据终端协商秘钥对待发送数据信息进行签名的具体规则,签名规则包括参数名排序规则、字符筛除规则及签名算法。数据签名即可作为对待发送数据信息进行验证的特征信息,数据签名中包含多个字符。

    在一实施例中,如图5所示,步骤s150包括子步骤s151、s152、s153和s154。

    s151、根据所述参数名排序规则对所述待发送数据信息中的多个参数信息进行排序组合得到参数组合信息。

    待发送数据信息可由多个参数信息组成,每一参数信息均由参数名及参数值所构成,参数名排序规则即为根据每一参数信息的参数名对参数信息进行排序的具体规则。

    例如,待发送数据信息的具体内容可包括:appid:“anod0981782312”;message:“hello_world”;nonce_str:“sccebnquakddkja”;device_info:“9999”。

    具体的,参数名排序规则可以为按ascii编码顺序对参数信息进行排序,则根据每一参数信息的参数名在ascii编码的顺序对参数信息进行排序,根据排序结果对多个参数信息进行组合即可得到参数组合信息,拼接过程中两个数据信息之间可采用“&”进行分隔。

    例如,对上述待发送数据信息进行排序及组合后得到的参数组合信息为:“appid=anod0981782312&device_info=9999&message=hello_world&nonce_str=sccebnquakddkja”。

    s152、根据所述字符筛除规则对所述参数组合信息中包含的字符进行筛除得到有效字符信息。

    参数组合信息由多个字符所组成,字符筛除规则中包含至少一个非法字符,可根据字符筛除规则获取参数组合信息中与非法字符对应的字符并进行筛除,得到不包含非法字符的有效字符信息。

    例如,字符筛除规则中配置的非法字符可以是空格、“ ”等字符。

    s153、将所述有效字符信息与所述终端协商秘钥进行拼接得到拼接字符信息;s154、根据所述签名算法生成与所述拼接字符信息对应的数据签名。

    将获取到的有效字符信息与终端协商秘钥进行拼接得到拼接字符信息。

    例如,对有效字符信息与终端协商秘钥进行拼接的过程可采用以下公式进行表示:stringtemp=stringa “^” “&clientkey=350cce5aa3a608fd60d2b2b9fc35cd19,stringa表示有效字符信息,stringtemp表示拼接字符信息。

    根据签名算法对拼接字符信息进行签名,即可生成与拼接字符信息对应的数据签名,签名算法即为对拼接字符信息进行签名的函数方法,签名算法可以基于md5信息摘要算法实现。对于输入的待签名消息,md5签名算法都会产生一个32个字节长度的散列值,散列值为一个采用十六进制进行表示的字符串,计算得到的散列值即为待签名消息的数据签名,输入两个不同的待签名消息不会得到相同的散列值,则散列值与待签名消息唯一对应,因此可通过散列值对待签名消息是否被修改进行验证,即验证待签名消息的完整性,若采用相同的md5签名算法计算得到的两个散列值相等,则表明待签名消息未被修改,若采用相同的md5签名算法计算得到的两个散列值不相等,则表明待签名消息被修改。

    例如,采用md5签名算法对上述拼接字符信息进行签名的过程可表示为:sign=md5(stringtemp).touppercase()=“f0aaf93e2a7d78d5edb69d0843d8b41a”,则“f0aaf93e2a7d78d5edb69d0843d8b41a”即为所得到的数据签名。

    s160、所述用户终端根据预置的编码规则对所述待发送数据信息及所述数据签名进行编码加密得到加密数据信息并发送至所述管理服务器。

    所述用户终端根据预置的编码规则对所述待发送数据信息及所述数据签名进行编码加密得到加密数据信息并发送至所述管理服务器。为增加待发送数据信息及数据签名在进行传输过程中的安全性,可根据编码规则进行编码加密,并将编码加密得到的加密数据信息发送至管理服务器,其中,编码规则即为对数据进行编码的规则信息,编码规则可以是base64编码。

    在一实施例中,如图6所示,步骤s160包括子步骤s161和s162。

    s161、将所述待发送数据信息与所述数据签名进行组合得到组合信息;s162、根据所述编码规则对所述组合信息进行编码加密得到所述加密数据信息。

    具体的,将数据签名添加至待发送数据信息之后进行组合,以得到对应的组合信息。

    例如,所得到的组合信息可表示为:{appid:“anod0981782312”;message:“hello_world”;nonce_str:“sccebnquakddkja”;device_info:“9999”;sign:“f0aaf93e2a7d78d5edb69d0843d8b41a”}。

    根据编码规则对组合信息进行base64编码加密,即可得到加密数据信息,base64就是一种基于64个可打印字符来表示二进制数据的编码方法,通过base64编码加密可将组合信息中3个字节的数据变成4个字节的数据,则进行base64编码加密之后,所得到的加密数据信息中仅包含a-z、a-z、0-9、“ ”及“/”64个字符,所得到的加密数据信息有别于原始组合信息,则可通过上述编码加密避免在数据传输过程中对组合信息中的敏感字段信息进行泄露。

    s170、所述管理服务器接收来自所述用户终端的第二公钥及所述加密数据信息,根据所述协商秘钥生成规则、所述第二公钥及所述第一秘钥信息生成对应的服务器协商秘钥。

    根据管理服务器接收来自所述用户终端的第二公钥及所述加密数据信息,根据所述协商秘钥生成规则、所述第二公钥及所述第一秘钥信息生成对应的服务器协商秘钥。管理服务器接收来自用户终端的第二公钥及加密数据信息,即可根据上述协商秘钥生成规则生成对应的服务器协商秘钥,具体的,获取第二公钥及第一秘钥信息中的第一私钥,即可根据协商秘钥生成规则对应生成服务器协商秘钥,生成服务器协商秘钥的具体过程与生成终端协商秘钥的具体过程相同,所得到的服务器协商秘钥与终端协商秘钥的长度相等,也即是所生成的服务器协商秘钥也为32字节,并且两者所包含的具体内容也相同。

    s180、所述管理服务器根据所述编码规则对所述加密数据信息进行逆编码,得到逆编码数据信息。

    所述管理服务器根据所述编码规则对所述加密数据信息进行逆编码,得到逆编码数据信息。编码规则可以是base64编码,则对加密数据信息进行逆编码的过程即与进行编码加密的过程相反,也即是将仅包含a-z、a-z、0-9、“ ”及“/”64个字符的加密数据信息进行逆编码解密,以还原得到与加密数据信息对应的逆编码数据信息。

    s190、所述管理服务器根据所述的服务器协商秘钥及所述签名规则生成与所述逆编码数据信息中目标数据信息对应的目标数据签名。

    所述管理服务器根据所述的服务器协商秘钥及所述签名规则生成与所述逆编码数据信息中目标数据信息对应的目标数据签名。逆编码数据信息中包含签名信息及目标数据信息,逆编码数据信息中与待发送数据信息对应的部分即为目标数据信息,编码数据信息中与数据签名对应的部分即为签名信息,其中,签名信息即为逆编码数据信息中与参数名为“sign”相对应的参数值,目标数据信息即为逆编码数据信息中传输至管理服务器中需进行一致性校验的数据信息,逆编码数据信息中除签名信息之外的其他信息即为目标数据信息;则逆编码数据信息在进行传输的过程中因外界干扰可能导致目标数据信息相对于待发送数据信息发生变更,也可能导致签名信息相对于数据签名产生变更。则可采用与生成数据签名相同的签名规则生成与目标数据信息对应的目标数据签名,其中签名规则包括参数名排序规则、字符筛除规则及签名算法。

    例如,在本实施例中,签名信息即为与“sign”相对应的参数值,目标数据信息即为与“appid”、“message”、“nonce_str”及“device_info”相对应的参数值。

    具体的步骤包括:(1)根据所述参数名排序规则对所述目标数据信息中的多个参数信息进行排序组合得到目标组合信息;(2)根据所述字符筛除规则对所述目标组合信息中包含的字符进行筛除得到目标有效字符信息;(3)将所述目标有效字符信息与所述服务器协商秘钥进行拼接得到目标拼接字符信息;(4)根据所述签名算法生成与所述目标拼接字符信息对应的目标数据签名。

    根据上述步骤即可生成与目标数据信息对应的目标数据签名。

    s200、所述管理服务器对所述目标数据签名是否与所述逆编码数据信息中的签名信息一致进行校验得到数据校验结果。

    所述管理服务器对所述目标数据签名是否与所述逆编码数据信息中的签名信息一致进行校验得到数据校验结果。可对目标数据签名是否与逆编码数据信息中的签名信息相一致进行校验,得到对应的数据校验结果,具体的,若受外界干扰时仅导致目标数据信息相对于待发送数据信息发生变更而签名信息相对于数据签名并未发生变更,则根据目标数据信息及服务器协商秘钥生成得到的目标数据签名与逆编码数据信息中的签名信息一定不一致;若受外界干扰时仅导致签名信息相对于数据签名发生变更而目标数据信息相对于待发送数据信息并未发生变更,则根据目标数据信息及服务器协商秘钥生成得到的目标数据签名与数据签名一致,且目标数据签名与数据签名一定不一致;若受外界干扰时导致签名信息相对于数据签名发生变更且目标数据信息相对于待发送数据信息发生变更,由于终端协商秘钥或服务器协商秘钥并不被外部所知晓,而逆编码数据信息中的签名信息为外界根据目标数据信息及非服务器协商秘钥所生成得到,则根据目标数据信息及服务器协商秘钥生成算得到的目标数据签名与逆编码数据信息中的签名信息也一定不一致。则对目标数据签名是否与逆编码数据信息中的签名信息一致进行校验,即可对管理服务器所接收到的加密数据信息是否被更改进行校验,得到数据校验结果。具体的,若目标数据签名与逆编码数据信息中的签名信息一致,则得到的数据校验结果为校验通过;若目标数据签名与逆编码数据信息中的签名信息不一致,则表明加密数据信息在进行传输的过程中受外界干扰而产生变更,得到的数据校验结果为不通过。

    在一实施例中,如图7所示,步骤s200之后还包括步骤s210和s220。

    s210、所述管理服务器根据所述服务器协商秘钥及所述签名规则生成与所述数据校验结果对应的校验签名;s220、所述管理服务器根据所述编码规则对所述数据校验结果及所述校验签名进行编码加密得到加密校验信息并反馈至所述用户终端。

    管理服务器可根据签名规则生成与数据校验结果向匹配的校验签名,生成校验签名的具体方法与生成目标数据签名的具体方法相同,将所得到的数据校验结果及校验签名进行编码加密,即可得到加密校验信息并反馈至用户终端,则用户终端接收到加密校验信息后采用相同方式进行解密即可获取数据校验结果,在用户终端获取数据校验结果的过程中,还可基于与上述对加密数据信息进行校验相同的方法对加密校验信息进行校验,以确保加密校验信息未被更改。

    在一实施例中,如图8所示,步骤s200之后还包括步骤s200a。

    s200a、将所述数据校验结果同步上传至区块链进行存储。

    将所述数据校验结果上传至区块链进行存储,基于数据校验结果得到对应的摘要信息,具体来说,摘要信息由数据校验结果进行散列处理得到,比如利用sha256算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证数据校验结果是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

    本申请中的技术方法可应用于智慧政务/智慧城管/智慧社区/智慧安防/智慧物流/智慧医疗/智慧教育/智慧环保/智慧交通等包含对数据信息进行加密校验的应用场景中,从而推动智慧城市的建设。

    在本发明实施例所提供的数据信息加密校验方法中,管理服务器接收来自用户终端的传输请求信息生成第一秘钥信息并将其中第一公钥发送至用户终端,用户终端接收第一公钥后生成第二秘钥信息并将其中第二公钥发送至管理服务器,用户终端生成终端协商秘钥并对待发送数据信息进行签名生成数据签名后,对待发送数据信息及数据签名进行编码加密得到加密数据信息发送至管理服务器,管理服务器对加密数据信息进行逆编码后根据对应生成的服务器协商秘钥生成目标数据签名,验证目标数据签名是否与逆编码数据信息中的签名信息一致得到数据校验结果。通过上述方法,通过生成与待发送数据信息对应的数据签名并进行编码加密传输,可大幅提升对数据信息进行一致性校验的可靠性。

    本发明实施例还提供一种数据信息加密校验系统100,该数据信息加密校验系统100包括用户终端20及管理服务器30中,该数据信息加密校验系统100用于执行前述数据信息加密校验方法的任一实施例。具体地,请参阅图9,图9为本发明实施例提供的用户终端的示意性框图。如图9所示,用户终端20包括传输请求信息发送单元21、第二秘钥生成单元22、终端协商秘钥生成单元23、数据签名生成单元24及加密数据信息发送单元25,所述管理服务器30包括第一秘钥生成单元31、服务器协商秘钥生成单元32、逆编码数据信息获取单元33、目标数据签名生成单元34及数据校验结果获取单元35。

    传输请求信息发送单元21,用于若接收到用户输入的待发送数据信息,发送传输请求信息至所述管理服务器。

    第一秘钥生成单元31,用于接收到来自用户终端的传输请求信息,根据预置的秘钥生成规则生成第一秘钥信息,并发送所述第一秘钥信息中的第一公钥至所述用户终端。

    在一实施例中,所述第一秘钥生成单元31包括子单元:服务器阶数生成单元、目标点坐标计算单元和第一秘钥信息获取单元。

    服务器阶数生成单元,用于随机生成一个小于所述阶阈值的服务器阶数;目标点坐标计算单元,用于根据所述服务器阶数及所述基点坐标计算得到目标点坐标;第一秘钥信息获取单元,用于将所述服务器阶数作为所述第一私钥,将所述目标点坐标作为所述第一公钥。

    第二秘钥生成单元22,用于若接收到所述第一公钥,根据所述秘钥生成规则生成第二秘钥信息,并反馈所述第二秘钥信息中的第二公钥至所述管理服务器。

    在一实施例中,所述第二秘钥生成单元22包括子单元:终端阶数生成单元、终端目标点坐标计算单元、终端目标点坐标判断单元和第二秘钥信息获取单元。

    终端阶数生成单元,用于随机生成一个小于所述阶阈值的终端阶数;终端目标点坐标计算单元,用于根据所述终端阶数及所述基点坐标计算得到终端目标点坐标;终端目标点坐标判断单元,用于判断所述终端目标点坐标是否与所述第一公钥相等;第二秘钥信息获取单元,用于若所述终端目标点坐标不与所述第一公钥相等,将所述终端阶数作为所述第二私钥,将所述目标点坐标作为所述第二公钥。

    终端协商秘钥生成单元23,用于根据预置的协商秘钥生成规则、所述第一公钥及所述第二秘钥信息生成对应的终端协商秘钥。

    数据签名生成单元24,用于根据所述终端协商秘钥及预置的签名规则生成与所述待发送数据信息对应的数据签名。

    在一实施例中,所述数据签名生成单元24包括子单元:参数组合信息获取单元、有效字符信息获取单元、拼接字符信息获取单元和数据签名获取单元。

    参数组合信息获取单元,用于根据所述参数名排序规则对所述待发送数据信息中的多个参数信息进行排序组合得到参数组合信息;有效字符信息获取单元,用于根据所述字符筛除规则对所述参数组合信息中包含的字符进行筛除得到有效字符信息;拼接字符信息获取单元,用于将所述有效字符信息与所述终端协商秘钥进行拼接得到拼接字符信息;数据签名获取单元,用于根据所述签名算法生成与所述拼接字符信息对应的数据签名。

    加密数据信息发送单元25,用于根据预置的编码规则对所述待发送数据信息及所述数据签名进行编码加密得到加密数据信息并发送至所述管理服务器。

    在一实施例中,所述加密数据信息发送单元25包括子单元:组合信息获取单元和编码加密单元。

    组合信息获取单元,用于将所述待发送数据信息与所述数据签名进行组合得到组合信息;编码加密单元,用于根据所述编码规则对所述组合信息进行编码加密得到所述加密数据信息。

    服务器协商秘钥生成单元32,用于接收来自所述用户终端的第二公钥及所述加密数据信息,根据所述协商秘钥生成规则、所述第二公钥及所述第一秘钥信息生成对应的服务器协商秘钥。

    逆编码数据信息获取单元33,用于根据所述编码规则对所述加密数据信息进行逆编码,得到逆编码数据信息。

    目标数据签名生成单元34,用于根据所述的服务器协商秘钥及所述签名规则生成与所述逆编码数据信息中目标数据信息对应的目标数据签名。

    数据校验结果获取单元35,用于对所述目标数据签名是否与所述逆编码数据信息中的签名信息一致进行校验得到数据校验结果。

    在一实施例中,所述管理服务器30还包括子单元:校验签名生成单元和加密校验信息反馈单元。

    校验签名生成单元,用于所述管理服务器根据所述服务器协商秘钥及所述签名规则生成与所述数据校验结果对应的校验签名;加密校验信息反馈单元,用于所述管理服务器根据所述编码规则对所述数据校验结果及所述校验签名进行编码加密得到加密校验信息并反馈至所述用户终端。

    在一实施例中,所述管理服务器30还包括子单元:同步存储单元。

    同步存储单元,用于将所述数据校验结果同步上传至区块链进行存储。

    在本发明实施例所提供的数据信息加密校验系统应用上述数据信息加密校验方法,管理服务器接收来自用户终端的传输请求信息生成第一秘钥信息并将其中第一公钥发送至用户终端,用户终端接收第一公钥后生成第二秘钥信息并将其中第二公钥发送至管理服务器,用户终端生成终端协商秘钥并对待发送数据信息进行签名生成数据签名后,对待发送数据信息及数据签名进行编码加密得到加密数据信息发送至管理服务器,管理服务器对加密数据信息进行逆编码后根据对应生成的服务器协商秘钥生成目标数据签名,验证目标数据签名是否与逆编码数据信息中的签名信息一致得到数据校验结果。通过上述方法,通过生成与待发送数据信息对应的数据签名并进行编码加密传输,可大幅提升对数据信息进行一致性校验的可靠性。

    上述数据信息加密校验系统可以实现为计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。

    请参阅图10,图10是本发明实施例提供的计算机设备的示意性框图。该计算机设备可以是用于执行数据信息加密校验的用户终端20,也可以是用于执行数据信息加密校验方法的管理服务器30。

    参阅图10,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。

    该存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行数据信息加密校验方法,其中,存储介质503可以为易失性的存储介质或非易失性的存储介质。

    该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。

    该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行数据信息加密校验方法。

    该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图10中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

    其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现上述的数据信息加密校验方法中对应的功能。

    本领域技术人员可以理解,图10中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图10所示实施例一致,在此不再赘述。

    应当理解,在本发明实施例中,处理器502可以是中央处理单元(centralprocessingunit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

    在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为的计算机可读存储介质。该计算机可读存储介质存储有第一计算机程序或第二计算机程序,当所述第一计算机程序被第一处理器执行且所述第二计算机程序被第二处理器执行时共同实现上述的数据信息加密校验方法。

    所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

    在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

    所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

    另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

    以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。


    技术特征:

    1.一种数据信息加密校验方法,应用于数据信息加密校验系统中,所述数据信息加密校验系统包括用户终端及管理服务器,所述用户终端与管理服务器通过网络连接进行数据信息的传输,其特征在于,所述方法包括:

    所述用户终端若接收到用户输入的待发送数据信息,发送传输请求信息至所述管理服务器;

    所述管理服务器接收到来自用户终端的传输请求信息,根据预置的秘钥生成规则生成第一秘钥信息,并发送所述第一秘钥信息中的第一公钥至所述用户终端;

    所述用户终端若接收到所述第一公钥,根据所述秘钥生成规则生成第二秘钥信息,并反馈所述第二秘钥信息中的第二公钥至所述管理服务器;

    所述用户终端根据预置的协商秘钥生成规则、所述第一公钥及所述第二秘钥信息生成对应的终端协商秘钥;

    所述用户终端根据所述终端协商秘钥及预置的签名规则生成与所述待发送数据信息对应的数据签名;

    所述用户终端根据预置的编码规则对所述待发送数据信息及所述数据签名进行编码加密得到加密数据信息并发送至所述管理服务器;

    所述管理服务器接收来自所述用户终端的第二公钥及所述加密数据信息,根据所述协商秘钥生成规则、所述第二公钥及所述第一秘钥信息生成对应的服务器协商秘钥;

    所述管理服务器根据所述编码规则对所述加密数据信息进行逆编码,得到逆编码数据信息;

    所述管理服务器根据所述的服务器协商秘钥及所述签名规则生成与所述逆编码数据信息中目标数据信息对应的目标数据签名;

    所述管理服务器对所述目标数据签名是否与所述逆编码数据信息中的签名信息一致进行校验得到数据校验结果。

    2.根据权利要求1所述的数据信息加密校验方法,其特征在于,所述秘钥生成规则包括曲线方程、基点坐标及阶阈值,所述第一秘钥信息包括第一公钥及第一私钥,所述根据预置的秘钥生成规则生成第一秘钥信息,包括:

    随机生成一个小于所述阶阈值的服务器阶数;

    根据所述服务器阶数及所述基点坐标计算得到目标点坐标;

    将所述服务器阶数作为所述第一私钥,将所述目标点坐标作为所述第一公钥。

    3.根据权利要求2所述的数据信息加密校验方法,其特征在于,所述第二秘钥信息包括第二公钥及第二私钥,所述根据所述秘钥生成规则生成第二秘钥信息,包括:

    随机生成一个小于所述阶阈值的终端阶数;

    根据所述终端阶数及所述基点坐标计算得到终端目标点坐标;

    判断所述终端目标点坐标是否与所述第一公钥相等;

    若所述终端目标点坐标不与所述第一公钥相等,将所述终端阶数作为所述第二私钥,将所述目标点坐标作为所述第二公钥。

    4.根据权利要求1所述的数据信息加密校验方法,其特征在于,所述签名规则包括参数名排序规则、字符筛除规则及签名算法,所述根据所述终端协商秘钥及预置的签名规则生成与所述待发送数据信息对应的数据签名,包括:

    根据所述参数名排序规则对所述待发送数据信息中的多个参数信息进行排序组合得到参数组合信息;

    根据所述字符筛除规则对所述参数组合信息中包含的字符进行筛除得到有效字符信息;

    将所述有效字符信息与所述终端协商秘钥进行拼接得到拼接字符信息;

    根据所述签名算法生成与所述拼接字符信息对应的数据签名。

    5.根据权利要求1所述的数据信息加密校验方法,其特征在于,所述根据预置的编码规则对所述待发送数据信息及所述数据签名进行编码加密得到加密数据信息并发送至所述管理服务器,包括:

    将所述待发送数据信息与所述数据签名进行组合得到组合信息;

    根据所述编码规则对所述组合信息进行编码加密得到所述加密数据信息。

    6.根据权利要求1所述的数据信息加密校验方法,其特征在于,所述管理服务器对所述目标数据签名是否与所述逆编码数据信息中的签名信息一致进行校验得到数据校验结果之后,还包括:

    所述管理服务器根据所述服务器协商秘钥及所述签名规则生成与所述数据校验结果对应的校验签名;

    所述管理服务器根据所述编码规则对所述数据校验结果及所述校验签名进行编码加密得到加密校验信息并反馈至所述用户终端。

    7.根据权利要求1所述的数据信息加密校验方法,其特征在于,所述管理服务器对所述目标数据签名是否与所述逆编码数据信息中的签名信息一致进行校验得到数据校验结果之后,还包括:

    将所述数据校验结果同步上传至区块链进行存储。

    8.一种数据信息加密校验系统,其特征在于,所述数据信息加密校验系统包括用户终端及管理服务器,所述用户终端包括传输请求信息发送单元、第二秘钥生成单元、终端协商秘钥生成单元、数据签名生成单元及加密数据信息发送单元,所述管理服务器包括第一秘钥生成单元、服务器协商秘钥生成单元、逆编码数据信息获取单元、目标数据签名生成单元及数据校验结果获取单元,包括:

    传输请求信息发送单元,用于若接收到用户输入的待发送数据信息,发送传输请求信息至所述管理服务器;

    第一秘钥生成单元,用于接收到来自用户终端的传输请求信息,根据预置的秘钥生成规则生成第一秘钥信息,并发送所述第一秘钥信息中的第一公钥至所述用户终端;

    第二秘钥生成单元,用于若接收到所述第一公钥,根据所述秘钥生成规则生成第二秘钥信息,并反馈所述第二秘钥信息中的第二公钥至所述管理服务器;

    终端协商秘钥生成单元,用于根据预置的协商秘钥生成规则、所述第一公钥及所述第二秘钥信息生成对应的终端协商秘钥;

    数据签名生成单元,用于根据所述终端协商秘钥及预置的签名规则生成与所述待发送数据信息对应的数据签名;

    加密数据信息发送单元,用于根据预置的编码规则对所述待发送数据信息及所述数据签名进行编码加密得到加密数据信息并发送至所述管理服务器;

    服务器协商秘钥生成单元,用于接收来自所述用户终端的第二公钥及所述加密数据信息,根据所述协商秘钥生成规则、所述第二公钥及所述第一秘钥信息生成对应的服务器协商秘钥;

    逆编码数据信息获取单元,用于根据所述编码规则对所述加密数据信息进行逆编码,得到逆编码数据信息;

    目标数据签名生成单元,用于根据所述的服务器协商秘钥及所述签名规则生成与所述逆编码数据信息中目标数据信息对应的目标数据签名;

    数据校验结果获取单元,用于对所述目标数据签名是否与所述逆编码数据信息中的签名信息一致进行校验得到数据校验结果。

    9.一种数据信息加密校验系统,其特征在于,所述数据信息加密校验系统包括用户终端及管理服务器,所述用户终端包括第一存储器、第一处理器及存储在所述第一存储器上并可在所述第一处理器上运行的第一计算机程序,所述管理服务器包括第二存储器、第二处理器及存储在所述第二存储器上并可在所述第二处理器上运行的第二计算机程序,所述第一处理器执行所述第一计算机程序且所述第二处理器执行所述第二计算机程序以共同实现如权利要求1至7中任一项所述的数据信息加密校验方法。

    10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有第一计算机程序和/或第二计算机程序,当所述第一计算机程序被第一处理器执行且所述第二计算机程序被第二处理器执行时共同实现如权利要求1至7任一项所述的数据信息加密校验方法。

    技术总结
    本发明公开了数据信息加密校验方法、系统及计算机可读存储介质,方法包括:管理服务器接收传输请求信息生成第一秘钥信息并将其中第一公钥发送至用户终端,用户终端接收第一公钥后生成第二秘钥信息并将其中第二公钥发送至管理服务器生成终端协商秘钥,并生成与待发送数据信息的数据签名后对应编码加密得到加密数据信息发送至管理服务器,管理服务器对加密数据信息进行逆编码后根据对应生成的服务器协商秘钥生成目标数据签名并验证是否与所接收到的签名信息一致,得到数据校验结果。本发明基于接口校验技术,属于信息加密技术领域,本发明还涉及区块链技术,生成数据签名并进行编码加密传输,可大幅提升对数据信息进行一致性校验的可靠性。

    技术研发人员:汤健
    受保护的技术使用者:平安国际智慧城市科技股份有限公司
    技术研发日:2020.12.08
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-8846.html

    最新回复(0)