一种数据的保护方法、装置及存储介质与流程

文档序号:14195281阅读:230来源:国知局
一种数据的保护方法、装置及存储介质与流程

本发明涉及信息处理技术,具体涉及一种数据的保护方法、装置及存储介质。



背景技术:

为提升移动应用软件的用户体验和降低运营成本,移动应用软件经常需要在终端设备(例如手机、pad等)上保存一些关键的规则数据。这些关键数据往往涉及到用户的信息、财产安全,由此,就需要防范恶意攻击者对这类数据的篡改行为。

现有技术中,手机应用软件在向用户提供付费服务(例如购买游戏道具)时,需要对单次交易行为金额上限进行相应限制。否则,会存在较大的交易风险。例如,当手机用户为未成年人时或者手机账号被人恶意盗用时,就可能通过单次交易执行大额交易,给用户造成损失,因此,非常有必要设置交易阈值来限制或降低这种情况造成的损失。而目前,交易阈值是存储在客户端侧的,很容易被恶意攻击者破解篡改,从而,有必要提出一种较为有效的防篡改方案,来提升用户交易的安全性。



技术实现要素:

为解决现有存在的技术问题,本发明实施例期望提供一种数据的保护方法、装置及存储介质,能够保护用户的关键数据文件不被篡改,提高用户关键数据的安全性。

本发明实施例的技术方案是这样实现的:

根据本发明实施例的一方面,提供一种数据的保护方法,所述方法包括:

检测到业务交易请求时,在针对关键数据的自定义文件中提取所述自定义文件的第一版本号,在当前的加解密算法文件中提取所述加解密算法文件的第二版本号;

将所述第一版本号与所述第二版本号进行匹配,得到第一匹配结果;

根据所述第一匹配结果,确定所述第一版本号与所述第二版本号匹配成功时,在所述自定义文件中获取针对所述关键数据的第一签名值;以及按照预设算法对所述自定义文件中的文件内容进行计算,得到第二签名值;

将所述第一签名值与所述第二签名值进行匹配,得到第二匹配结果;

根据所述第二匹配结果,确定所述第一签名值与所述第二签名值匹配成功时,允许所述业务交易请求所请求的业务交易。

上述方案中,在检测到业务交易请求之前,所述方法还包括:

发送针对所述自定义文件的更新请求,以查询当前是否有针对所述自定义文件的更新版本;

接收针对所述更新请求的响应消息;

根据所述响应消息确定当前有针对所述自定义文件的更新版本时,下载所述最新版本的数据,以替换所述自定义文件的历史版本的数据。

根据本发明实施例的另一方面,提供一种数据的保护方法,所述方法包括:

根据预设文件格式生成针对关键数据的自定义文件,所述自定义文件中至少包括版本号和签名值;

接收到针对关键数据的自定义文件的查询请求时,发送所述自定义文件,以使得在检测到业务交易请求时,根据所述版本号和所述签名值确定是否允许所述业务交易请求所请求的业务交易。

上述方案中,根据预设文件格式生成针对关键数据的自定义文件,包括:

根据预设非对称加密算法生成非对称密钥对,并为所述非对称密钥对配置版本号;

根据预设文件格式在自定义版本标签处插入所述版本号;

根据预设的不可逆加密算法计算针对所述自定义文件的签名值;

根据所述非对称密钥对中的私钥,对所述签名值进行加密、转码,以得到所述自定义文件的字符串;

将所述字符串插入所述自定义文件中,生成针对所述关键数据的自定义文件。

根据本发明实施例的第三方面,提供一种数据的保护装置,所述装置包括:提取单元、匹配单元、获取单元和确定单元;

其中,所述提取单元,用于检测到业务交易请求时,在针对关键数据的自定义文件中提取所述自定义文件的第一版本号,在当前的加解密算法文件中提取所述加解密算法文件的第二版本号;

所述匹配单元,用于将所述第一版本号与所述第二版本号进行匹配,得到第一匹配结果;还用于将第一签名值与第二签名值进行匹配,得到第二匹配结果;

所述获取单元,用于根据所述第一匹配结果,确定所述第一版本号与所述第二版本号匹配成功时,在所述自定义文件中获取针对所述关键数据的第一签名值;以及按照预设算法对所述自定义文件中的文件内容进行计算,得到第二签名值;

所述确定单元,用于根据所述第二匹配结果,确定所述第一签名值与所述第二签名值匹配成功时,允许所述业务交易请求所请求的业务交易。

上述方案中,所述装置还包括:发送单元、接收单元和下载单元;

其中,所述发送单元,用于发送针对所述自定义文件的更新请求,以查询当前是否有针对所述自定义文件的更新版本;

所述接收单元,用于接收针对所述更新请求的响应消息;

所述下载单元,用于根据所述响应消息确定当前有针对所述自定义文件的更新版本时,下载所述最新版本的数据,以替换所述自定义文件的历史版本的数据。

根据本发明实施例的第四方面,提供一种数据的保护装置,所述装置包括:生成单元和发送单元;

其中,所述生成单元,用于根据预设文件格式生成针对关键数据的自定义文件,所述自定义文件中至少包括版本号和签名值;

所榜发送单元,用于接收到针对关键数据的自定义文件的查询请求时,发送所述自定义文件,以使得在检测到业务交易请求时,根据所述版本号和所述签名值确定是否允许所述业务交易请求所请求的业务交易。

上述方案中,所述装置还包括:配置单元、插入单元、计算单元和加密单元;

其中,所述配置单元,用于根据预设非对称加密算法生成非对称密钥对,并为所述非对称密钥对配置版本号;

所述插入单元,用于根据预设文件格式在自定义版本标签处插入所述版本号;还用于将字符串插入所述自定义文件中,以生成针对所述关键数据的自定义文件;

所述计算单元,用于根据预设的不可逆加密算法计算针对所述自定义文件的签名值;

所述加密单元,用于根据所述非对称密钥对中的私钥,对所述签名值进行加密、转码,以得到所述自定义文件的字符串。

根据本发明实施例的第五方面,提供一种数据的保护装置,所述装置包括:存储器和处理器;

其中,所述存储器,用于存储能够在所述处理器上运行的计算机程序;

所述处理器,用于运行所述计算机程序时,执行上述一种数据的保护方法中任一项所述方法的步骤。

根据本发明实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种数据的保护方法中任一项所述方法的步骤。

本发明实施例提供一种数据的保护方法、装置及存储介质,在检测到业务交易请求时,在针对关键数据的自定义文件中提取所述自定义文件的第一版本号,在当前的加解密算法文件中提取所述加解密算法文件的第二版本号;将所述第一版本号与所述第二版本号进行匹配,得到第一匹配结果;根据所述第一匹配结果,确定所述第一版本号与所述第二版本号匹配成功时,在所述自定义文件中获取针对所述关键数据的第一签名值;以及按照预设算法对所述自定义文件中的文件内容进行计算,得到第二签名值;将所述第一签名值与所述第二签名值进行匹配,得到第二匹配结果;根据所述第二匹配结果,确定所述第一签名值与所述第二签名值匹配成功时,允许所述业务交易请求所请求的业务交易。如此能够提升非法破解用户关键数据的难度,而且,在客户端侧,即使存在被破解的风险,也可以利用关键数据的定义文件中加密的签名值以及版本号,对每次交易请求进行校验,从而,进一步对篡改后的交易行为进行防护,提升交易安全性。

附图说明

图1为本发明实施例一种信息的推送方法流程示意图一;

图2为本发明实施例中生成自定义文件的流程示意图;

图3为本发明实施例中数据的保护系统的结构组成示意图;

图4为本发明实施例中针对业务请求的执行流程示意图;

图5为本发明实施例中数据的保护方法的流程示意图二;

图6为本发明实施例中数据的保护装置的结构组成示意图一;

图7为本发明实施例中数据的保护装置的结构组成示意图二;

图8为本发明实施例中数据的保护装置的结构组成示意图三。

具体实施方式

下面结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

实施例一:

图1为本发明实施例一种信息的推送方法流程示意图一;如图1所示,所述方法包括:

步骤101,检测到业务交易请求时,在针对关键数据的自定义文件中提取所述自定义文件的第一版本号,在当前的加解密算法文件中提取所述加解密算法文件的第二版本号;

本发明实施例中,所述方法主要应用于终端,所述终端可以是手机、pad、台式电脑等设备,并且在所述终端上安装有针对用户的关键数据进行安全保护的应用程序(app,application)。这里,所述关键数据可以是与用户的财产相关的数据。例如,用户的银行卡账号、支付宝账号等数据。

当用户通过终端中的app进行业务交易时,该app能够检测到用户触发的业务交易请求。当该app检测到用户触发的业务交易请求时,在该终端侧获取针对用户关键数据的自定义文件,并从该自定义文件中提取当前存储的所述自定义文件的第一版本号,以及在当前的加解密算法文件中提取所述加解密算法文件的第二版本号。

这里,所述第一版本号具体可以是与所述app后台服务器生成的非对称密钥对相对应的版本号。

所述关键数据的自定义文件具体由该app的后台服务器根据预设文件格式生成。具体预设文件格式依次由如下部分组成:

a:文件头标签;

b:文件体开始标签+自定义版本标签;

c:具体定义的各项业务交易阈值标签;

d:校验签名标签(包含通过非对称加密方法生成的签名数据);

e:文件体结束标签。

上述文件主要是以结构化标记语言的方式来实现的。而基于xml语言实现的示例如下:

<?xmlversion="1.0"encoding="utf-8"?>

<body>

<versioncode>1.0.0.1</versioncode>

<pricelimit1>......</pricelimit1>

<pricelimit2>......</pricelimit2>

<pricelimit3>......</pricelimit3>

<pricelimit4>......</pricelimit4>

<crypto>mi/hyt1m6emnnr8nh8bnt7rpdfrphsqaanbr2i1khge/ipo5lgtn/lpxzyu9eewde48vewy6ob2ibtaqq3hh3dutmqe8bhyvgjtn+mrcfcega86jja+8sziqcxsyv9ick22/9xkhw+h2ocleg8pdool0jf9auiufo0olso62vaod92yckpy9iapd+v03oe3dughmsruaoso8hxyidov+ql675moqeoa3ms+xehoa/gewamao6srco1/7q5lqjp5m6fk7fss1l2oyh4p7doerslwmoi54wksnwismqi/dty8rk9xowx7ehzpukq1qn7odashiqlyzlg6bziuuctnnt8wtuxht6ti7a0ueakesdbo3ubomzqnfmluodfseuvg4ybmhnht8s6ns20e1ntio5yb5ddyb/du2+obzlrhq+mo+gdioid1vgcv5pr1nj+dldhaspyqjdem17vtqagluag70bf4sso6kv21jjducn8wnhyeilhbribnauqku6piqwftrohvh+ajqp2x5r7/mdprmciwp5egbd5tljjpxxfghefwalfbj6b/grbfvufypyppsk9syljrtkf9asfpzfrh1ksujqktiduskq3wyfevnw75phyb4/g1cqcgeqa9ocxfjjvgo2xqt6lduknjafvqkdykftq6+scnym/pl7y0=</crypto>

</body>

上述基于xml语言的示例中,第一行为文件头;第二行的<body>是文件体开始标签,其后的“versioncode”自定义版本标签包含了加密算法的版本信息;在此之后的”pricelimit1”至”pricelimit4”代表具体定义的各项业务的关键数据的标签,此部分也可以根据业务需要加入必要的子标签;随后的”crypto”校验签名标签中包含的内容:是针对文件起始位置至当前”crypto”起始标签位置的文件内容计算出来的签名值加密并转码后得到的密文字符串(在此采用非对称加密算法并对密文做了扩展填充以掩盖密文长度规律,然后将密文转码成可打印字符串);最后是文件体的结束标签</body>。

图2为本发明实施例中生成自定义文件的流程示意图,如图2所示,包括:

步骤201:服务器根据非对称加密算法生成一个非对称密钥对,并设置相应版本号。

这里,非对称密钥对例如是rsa密钥对、椭圆算法密钥对等等。

步骤202:将与非对称密钥对对应的版本号插入到关键数据的自定义文件中,并采用预设算法计算得到所述自定义文件的签名值。

这里,后台服务器为非对称密钥对设置好对应的版本号后,将该版本号插入到关键数据的自定义文件中,具体插入位置可以是versioncode标签所在位置。

步骤203:采用非对称密钥对中的私钥对所述签名值加密、转码。

这里,针对文件起始位置至当前“crypto”起始标签位置之间的文件内容,采用安全的不可逆的哈希算法(例如md5、sha系列算法等)对自定义文件的签名值进行计算,得到自定义文件的签名值。

当后台服务器计算出针对自定义文件的签名值后,采用与非对称密钥对中的私钥对计算的所述自定义文件的签名值进行加密,并将此加密结果转码成可打印的字符串。

步骤204:将加密、转码得到的字符串插入关键数据的自定义文件中。

这里,后台服务器将转码得到的字符串作为校验签名标签插入到关键数据的自定义文件中。具体字符串的插入位置可以是crypto标签所在位置。至此,关键数据的自定义文件生成。

本发明实施例中,在终端检测到app启动时,该app的后台服务器通过更新通道将关键数据的自定义文件以及解密模块下发给app,其中,每次下发的关键数据的自定义文件不同于上一次下发的关键数据的自定义文件。

如此,通过将动态更新的关键数据的自定义文件下发给终端,以便于终端根据用户的交易需求进行关键数据的验证,具体对关键数据的自定义文件中的版本号以及签名值进行验证,并在验证通过后才可以允许交易,可邮,本方案可有效避免通过篡改关键数据的自定义文件而非法获取用户财产的问题,在一定程度上提升了交易安全。

本发明实施例中,为了保证用户在每次在开启终端上的app时,都可以尽可能获取到新版本的关键数据的自定义文件和对应的解密算法模块,后台服务器还会周期性的对关键数据的自定义文件进行更新。具体实现时,后台服务器中的加解密模块库会在预设的更新周期到来时,根据加解密模块库分配的非对称密钥中的私钥以及加解密算法中的加密算法,按照生成关键数据的自定义文件的文件格式对关键数据的自定义文件进行周期性的更新。例如,该更新周期可以是一个星期、三天、一个月等。具体地,针对关键数据的自定义文件的更新周期可根据实际情况进行调整。

本发明实施例中,在该app的后台服务器中还配置有更新服务器,并且该更新服务器可以根据实际需求扩大为服务器集群或云服务。当所述后台服务器对关键数据的自定义文件进行版本更新时,可以将最新更新的关键数据的定义文件以及相匹配的解密算法模块部署在该更新服务器上,以等待所述终端下载。而当终端app每次启动时,该终端可以连接所述更新服务器上,以查询当前是否有关键数据的自定义文件的更新版本。若有,则下载新版本的关键数据的定义文件以及相匹配的解密算法模块到终端侧app,若无,终端侧app则仍使用原有的解密算法模块及自定义文件。

具体地,终端侧app可以通过向后台服务器发送针对所述自定义文件的更新请求,以查询当前是否有针对所述自定义文件的更新版本;当后台服务器接收到所述更新请求时,向终端侧app发送针对所述更新请求的响应消息。终端侧app接收到针对所述更新请求的响应消息时,根据所述响应消息确定当前有针对所述自定义文件的更新版本时,下载所述最新版本的数据,以替换所述自定义文件的历史版本的数据,并依据更新后的解密算法模块和交易阈值定义文件来验证和控制用户交易阈值。反之,当终端侧app根据所述响应消息确定当前没有针对所述自定义文件的更新版本时,则仍使用原有的解密算法模块及自定义文件。

步骤102,将所述第一版本号与所述第二版本号进行匹配,得到第一匹配结果;

这里,当所述第一版本号与所述第二版本号不同时,表征所述关键数据的自定义文件的版本号验证失败,则输出表征版本号验证失败的第一匹配结果;反之,当所述第一版本号与所述第二版本号相同时,表征所述关键数据的自定义文件的版本号验证成功,则输出表征版本号验证成功的第一匹配结果。

步骤103,根据所述第一匹配结果,确定所述第一版本号与所述第二版本号匹配成功时,在所述自定义文件中获取针对所述关键数据的第一签名值;以及按照预设算法对所述自定义文件中的文件内容进行计算,得到第二签名值;

本发明实施例中,终端侧根据第一匹配结果,确定当前针对关键数据的第一版本号验证没有问题时,需要进一步验证能够代表所述自定义文件的签名值是否有问题。具体地,可以根据当前的加解密文件对所述自定义文件中加密后的签名值的字符串进行解密还原,以得到所述第一签名值;根据当前的自定义文件中的文件内容(具体为针对文件起始位置至当前“crypto”起始标签位置之间的文件内容),按照预设算法对所述自定义文件中的文件内容进行计算,得到所述第二签名值。这里,该预设算法可以是终端与服务端约定的算法。

步骤104,将所述第一签名值与所述第二签名值进行匹配,得到第二匹配结果;

本发明实施例中,当所述第一签名值与所述第二签名值不同时,表征所述关键数据的自定义文件的签名值验证失败,则输出表征签名值验证失败的第二匹配结果;反之,当所述第一签名值与所述第二签名值相同时,表征所述关键数据的自定义文件的签名值验证成功,则输出表征签名值验证成功的第二匹配结果。

步骤105,根据所述第二匹配结果,确定所述第一签名值与所述第二签名值匹配成功时,允许所述业务交易请求所请求的业务交易。

本发明实施例中,当终端根据第二匹配结果,确定第一签名值与所述第二签名值相同时,表征本次针对关键数据的自定义文件的签名值验证成功,则允许所述业务交易请求所请求的业务交易;当终端根据第二匹配结果,确定第一签名值与所述第二签名值不同时,表征本次针对关键数据的自定义文件的签名值验证失败,则拒绝所述业务交易请求所请求的业务交易。

本发明实施例通过服务器生成针对关键数据的自定义文件,并周期性的对该自定义文件进行更新,能够保证用户每次开启app后发起的交易请求所进行校验的自定义文件都是不同的,从而有效防护用户的关键数据被篡改后的交易行为,且保护了用户的交易安全。

图3为本发明实施例中数据的保护系统的结构组成示意图,如图3所示,所述系统包括:客户端31和服务端32。所述客户端31通过通信链路与服务端32通信。其中,服务端32进一步包含:更新服务器321、加解密算法模块库322;服务端32中的更新服务器321会在每个更新周期到来时,从加解密算法模块库322中选取一套加解密算法以及相应的非对称密钥,对关键数据的定义文件进行动态更新。在这里,对于关键数据的定义文件的动态更新,是由加解密算法模块库322以及相应的非对称密钥的动态更新驱使的。而加解密算法模块库322可以是云端服务器,存储有多个加解密算法模块,以便于任由更新服务器321选取,或是自己分配。另外,加解密算法模块库322每次分配给更新服务器321的加解密算法以及相应的非对称密钥都是不同的,从而,实现对关键数据的定义文件的动态更新。

图4为本发明实施例中针对业务请求的执行流程示意图,假设,在任一应用程序的进程中,收到用户发送的购买其中一道具的交易请求,而为了保证用户的账户安全,可采用以下方案:

步骤401,手机响应用户发起的购买道具a的交易请求,解析当前已接收到的交易阈值定义文件。

其中,需要说明的是,这里的交易阈值定义文件是在用户开启手机的该应用时更新至手机侧的。

步骤402,从所述交易阈值定义文件的versioncode标签处,提取出第一版本号v1(a)。

步骤403,从当前的解密算法模块中,提取出第二版本号v1(b)。

步骤404,将第一版本号与第二版本号进行比对,得到比对结果;当比对结果表征版本号不同时,执行步骤409;当比对结果表征版本号相同时,执行步骤405。

步骤405,将所述交易阈值定义文件的字符串进行解密还原,得到第一签名值s1。

步骤406,根据所述交易阈值定义文件中的文件内容,按照预定算法,计算得到第二签名值s2。

步骤407,将第一签名值s1与第二签名值s2进行比对,得到比对结果;当比对结果表征签名值相同时,执行步骤408;反之,当比对结果表征签名值不同时,执行步骤409。

步骤408,允许本次交易。

步骤409,拒绝本次交易。

通过这种动态更新交易阈值定义文件的方式,保证用户每次开启应用后发起的交易请求所进行校验的交易阈值定义文件都是不同的,从而,有效防护用户的关键数据被篡改后的交易行为,且保护交易安全。

实施例二:

图5为本发明实施例中数据的保护方法的流程示意图二,如图5所示,所述方法包括:

步骤501,根据预设文件格式生成针对关键数据的自定义文件,所述自定义文件中至少包括版本号和签名值;

步骤502,接收到针对关键数据的自定义文件的查询请求时,发送所述自定义文件,以使得在检测到业务交易请求时,根据所述版本号和所述签名值确定是否允许所述业务交易请求所请求的业务交易。

本发明实施例中,根据预设文件格式生成针对关键数据的自定义文件,包括:根据预设非对称加密算法生成非对称密钥对,并为所述非对称密钥对配置版本号;根据预设文件格式在自定义版本标签处插入所述版本号;根据预设的不可逆加密算法计算针对所述自定义文件的签名值;根据所述非对称密钥对中的私钥,对所述签名值进行加密、转码,以得到所述自定义文件的字符串;将所述字符串插入所述自定义文件中,生成针对所述关键数据的自定义文件。

本发明实施例中,所述方法主要应用于后台服务器,通过该方案,所述后台服务器与安装在终端上的app交互。这里,所述终端具体可以是手机/pad/台式电脑等设备。具体详细过程可参照图1中关于数据的保护方法的相关描述,在此不再赘述。

图6为本发明实施例中数据的保护装置的结构组成示意图一;如图6所示,所述装置包括:提取单元601、匹配单元602、获取单元603和确定单元604;

其中,所述提取单元601,用于检测到业务交易请求时,在针对关键数据的自定义文件中提取所述自定义文件的第一版本号,在当前的加解密算法文件中提取所述加解密算法文件的第二版本号;

所述匹配单元602,用于将所述第一版本号与所述第二版本号进行匹配,得到第一匹配结果;还用于将第一签名值与第二签名值进行匹配,得到第二匹配结果;

所述获取单元603,用于根据所述第一匹配结果,确定所述第一版本号与所述第二版本号匹配成功时,在所述自定义文件中获取针对所述关键数据的第一签名值;以及按照预设算法对所述自定义文件中的文件内容进行计算,得到第二签名值;

所述确定单元604,用于根据所述第二匹配结果,确定所述第一签名值与所述第二签名值匹配成功时,允许所述业务交易请求所请求的业务交易。

本发明实施例中,所述装置还包括:发送单元605、接收单元606和下载单元607;

其中,所述发送单元605,用于发送针对所述自定义文件的更新请求,以查询当前是否有针对所述自定义文件的更新版本;

所述接收单元606,用于接收针对所述更新请求的响应消息;

所述下载单元607,用于根据所述响应消息确定当前有针对所述自定义文件的更新版本时,下载所述最新版本的数据,以替换所述自定义文件的历史版本的数据。

本发明实施例中,所述装置具体可以是手机、pad、台式电脑等终端。需要说明的是:上述实施例提供的数据的保护装置在对用户的关键数据进行保护时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将数据的保护装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据的保护装置与上述数据的保护方法实施例一二者属于同一构思,其具体实现过程详见方法实施例一,这里不再赘述。

图7为本发明实施例中数据的保护装置的结构组成示意图二,如图7所示,所述装置包括:生成单元701和发送单元702;

其中,所述生成单元701,用于根据预设文件格式生成针对关键数据的自定义文件,所述自定义文件中至少包括版本号和签名值;

所榜发送单元702,用于接收到针对关键数据的自定义文件的查询请求时,发送所述自定义文件,以使得在检测到业务交易请求时,根据所述版本号和所述签名值确定是否允许所述业务交易请求所请求的业务交易。

本发明实施例中,所述装置还包括:配置单元703、插入单元704、计算单元705和加密单元706;

其中,所述配置单元703,用于根据预设非对称加密算法生成非对称密钥对,并为所述非对称密钥对配置版本号;

所述插入单元704,用于根据预设文件格式在自定义版本标签处插入所述版本号;还用于将字符串插入所述自定义文件中,以生成针对所述关键数据的自定义文件;

所述计算单元705,用于根据预设的不可逆加密算法计算针对所述自定义文件的签名值;

所述加密单元706,用于根据所述非对称密钥对中的私钥,对所述签名值进行加密、转码,以得到所述自定义文件的字符串。

本发明实施例中,所述装置具体可以是终端上安装的app所对应的后台服务器。需要说明的是:上述实施例提供的数据的保护装置在对用户的关键数据进行保护时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将数据的保护装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据的保护装置与上述数据的保护方法实施例二二者属于同一构思,其具体实现过程详见方法实施例二,这里不再赘述。

通过本发明实施例提供的方案可有效保护关键数据文件不被篡改。通过动态更新(例如每天或每周)非对称加解密密钥的方式来保护交易阈值,进一步大幅提高了恶意攻击者破解密钥并篡改交易阈值的成本。从而,提升了篡改的难度,有效提升了防篡改的安全性。

图8为本发明实施例中数据的保护装置的结构组成示意图三,如图8所示,所述装置可以是移动电话、计算机、数字广播终端、信息收发设备、游戏控制台、平板设备、个人数字助理、信息推送服务器、内容服务器、身份认证服务器、各应用程序对应的后台服务器等。图8所示的数据的保护装置800包括:至少一个处理器801、存储器802、至少一个网络接口804和用户接口803。数据的保护装置800中的各个组件通过总线系统805耦合在一起。可理解,总线系统805用于实现这些组件之间的连接通信。总线系统805除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统805。

其中,用户接口803可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。

可以理解,存储器802可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmableread-onlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammableread-onlymemory)、电可擦除可编程只读存储器(eeprom,electricallyerasableprogrammableread-onlymemory)、磁性随机存取存储器(fram,ferromagneticrandomaccessmemory)、快闪存储器(flashmemory)、磁表面存储器、光盘、或只读光盘(cd-rom,compactdiscread-onlymemory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,randomaccessmemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,staticrandomaccessmemory)、同步静态随机存取存储器(ssram,synchronousstaticrandomaccessmemory)、动态随机存取存储器(dram,dynamicrandomaccessmemory)、同步动态随机存取存储器(sdram,synchronousdynamicrandomaccessmemory)、双倍数据速率同步动态随机存取存储器(ddrsdram,doubledataratesynchronousdynamicrandomaccessmemory)、增强型同步动态随机存取存储器(esdram,enhancedsynchronousdynamicrandomaccessmemory)、同步连接动态随机存取存储器(sldram,synclinkdynamicrandomaccessmemory)、直接内存总线随机存取存储器(drram,directrambusrandomaccessmemory)。本发明实施例描述的存储器802旨在包括但不限于这些和任意其它适合类型的存储器。

本发明实施例中的存储器802用于存储各种类型的数据以支持数据的保护装置800的操作。这些数据的示例包括:用于在数据的保护装置800上操作的任何计算机程序,如操作系统8021和应用程序8022;其中,操作系统8021包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序8022可以包含各种应用程序,例如媒体播放器(mediaplayer)、浏览器(browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序8022中。

上述本发明实施例揭示的方法可以应用于处理器801中,或者由处理器801实现。处理器801可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器801中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器801可以是通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器801可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器802,处理器801读取存储器802中的信息,结合其硬件完成前述方法的步骤。

在示例性实施例中,数据的保护装置800可以被一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)、通用处理器、控制器、微控制器(mcu,microcontrollerunit)、微处理器(microprocessor)、或其他电子元件实现,用于执行前述方法。

具体所述处理器801运行所述计算机程序时,执行:检测到业务交易请求时,在针对关键数据的自定义文件中提取所述自定义文件的第一版本号,在当前的加解密算法文件中提取所述加解密算法文件的第二版本号;

将所述第一版本号与所述第二版本号进行匹配,得到第一匹配结果;

根据所述第一匹配结果,确定所述第一版本号与所述第二版本号匹配成功时,在所述自定义文件中获取针对所述关键数据的第一签名值;以及按照预设算法对所述自定义文件中的文件内容进行计算,得到第二签名值;

将所述第一签名值与所述第二签名值进行匹配,得到第二匹配结果;

根据所述第二匹配结果,确定所述第一签名值与所述第二签名值匹配成功时,允许所述业务交易请求所请求的业务交易。

所述处理器801运行所述计算机程序时,还执行:发送针对所述自定义文件的更新请求,以查询当前是否有针对所述自定义文件的更新版本;

接收针对所述更新请求的响应消息;

根据所述响应消息确定当前有针对所述自定义文件的更新版本时,下载所述最新版本的数据,以替换所述自定义文件的历史版本的数据。

所述处理器801运行所述计算机程序时,还执行:根据预设文件格式生成针对关键数据的自定义文件,所述自定义文件中至少包括版本号和签名值;

接收到针对关键数据的自定义文件的查询请求时,发送所述自定义文件,以使得在检测到业务交易请求时,根据所述版本号和所述签名值确定是否允许所述业务交易请求所请求的业务交易。

所述处理器801运行所述计算机程序时,还执行:根据预设非对称加密算法生成非对称密钥对,并为所述非对称密钥对配置版本号;

根据预设文件格式在自定义版本标签处插入所述版本号;

根据预设的不可逆加密算法计算针对所述自定义文件的签名值;

根据所述非对称密钥对中的私钥,对所述签名值进行加密、转码,以得到所述自定义文件的字符串;

将所述字符串插入所述自定义文件中,生成针对所述关键数据的自定义文件。

在示例性实施例中,本发明实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器802,上述计算机程序可由数据的保护装置800的处理器801执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flashmemory、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备,如移动电话、计算机、平板设备、个人数字助理等。

一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器运行时,执行:检测到业务交易请求时,在针对关键数据的自定义文件中提取所述自定义文件的第一版本号,在当前的加解密算法文件中提取所述加解密算法文件的第二版本号;

将所述第一版本号与所述第二版本号进行匹配,得到第一匹配结果;

根据所述第一匹配结果,确定所述第一版本号与所述第二版本号匹配成功时,在所述自定义文件中获取针对所述关键数据的第一签名值;以及按照预设算法对所述自定义文件中的文件内容进行计算,得到第二签名值;

将所述第一签名值与所述第二签名值进行匹配,得到第二匹配结果;

根据所述第二匹配结果,确定所述第一签名值与所述第二签名值匹配成功时,允许所述业务交易请求所请求的业务交易。

该计算机程序被处理器运行时,还执行:发送针对所述自定义文件的更新请求,以查询当前是否有针对所述自定义文件的更新版本;

接收针对所述更新请求的响应消息;

根据所述响应消息确定当前有针对所述自定义文件的更新版本时,下载所述最新版本的数据,以替换所述自定义文件的历史版本的数据。

该计算机程序被处理器运行时,还可以执行:根据预设文件格式生成针对关键数据的自定义文件,所述自定义文件中至少包括版本号和签名值;

接收到针对关键数据的自定义文件的查询请求时,发送所述自定义文件,以使得在检测到业务交易请求时,根据所述版本号和所述签名值确定是否允许所述业务交易请求所请求的业务交易。

该计算机程序被处理器运行时,还执行:根据预设非对称加密算法生成非对称密钥对,并为所述非对称密钥对配置版本号;

根据预设文件格式在自定义版本标签处插入所述版本号;

根据预设的不可逆加密算法计算针对所述自定义文件的签名值;

根据所述非对称密钥对中的私钥,对所述签名值进行加密、转码,以得到所述自定义文件的字符串;

将所述字符串插入所述自定义文件中,生成针对所述关键数据的自定义文件。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1