数据分发方法、装置、设备及存储介质与流程

文档序号:30815365发布日期:2022-07-20 00:37阅读:103来源:国知局
数据分发方法、装置、设备及存储介质与流程

1.本技术涉及数据处理领域,尤其涉及一种数据分发方法、装置、设备及存储介质。


背景技术:

2.随着智能手机的普及,人们在沟通、社交、娱乐等活动中越来越依赖于手机应用软件(application,app)。互联网公司为了将研发的app进行推广,会将app分发给多个渠道商,例如应用宝和豌豆荚等,由渠道商将推广用户安装app。而不同渠道商收取收费的标准也不同。
3.目前,互联网公司直接将带有渠道信息的app安装包分发渠道信息对应的渠道商,不同渠道商获取的app安装包仅携带的渠道信息不同。用户通过渠道商安装app。目前一些渠道商为了谋利,会盗用其它渠道商的app安装包,app安装包的数据分发缺乏安全性。


技术实现要素:

4.本技术实施例提供了一种数据分发方法、装置、设备及存储介质,通过根据目标渠道商的应用请求信息,生成第一公钥信息、第一秘钥信息和加密的第一安装包,并向目标渠道商发送通过第一渠道信息标记的第一安装包,提高了安装包分发的安全性。
5.第一方面,本技术实施例提供了一种数据分发方法,该方法包括:接收目标渠道商的应用获取请求;根据所述目标渠道商的应用获取请求,,判断是否向所述目标渠道商发送应用的安装包;在确定向所述目标渠道商发送所述应用的安装包之后,根据所述应用获取请求生成第一公钥信息和第一私钥信息,将所述第一公钥信息作为所述目标渠道商的第一渠道信息;基于所述第一私钥信息,生成第一安装包,所述第一私钥信息用于所述第一安装包的加密,所述第一安装包携带所述第一渠道信息,所述第一渠道信息信息用于标记所述第一安装包;向所述目标渠道商发送所述第一安装包和所述第一公钥信息,所述第一公钥信息用于所述第一安装包的解密。
6.在一个可选的实现方式中,所述应用获取请求包括目标渠道商的名称信息,所述应用的应用信息和服务器的ip信息,所述确定向所述目标渠道商发送所述应用的安装包之后,根据所述应用获取请求生成第一公钥信息和第一私钥信息,将所述第一公钥信息作为所述目标渠道商的第一渠道信息,包括:在确定向所述目标渠道商发送所述应用的安装包之后,将所述名称信息,所述应用信息,所述ip信息和接收到所述应用获取请求的时间信息转化为所述第一公钥信息,将所述第一公钥信息作为所述目标渠道商的第一渠道信息;生成所述第一公钥信息对应的第一私钥信息。
7.在一个可选的实现方式中,所述应用信息包括应用名称和应用的版本号;
8.所述第一公钥信息通过sha计算得到,第一公钥信息满足公式publickey=sha128hash(name+appname+appversion+timestamp+ip信息)的要求,所述publickey为所述第一公钥信息,所述sha128hash为sha中128位的哈希算法,所述name为所述目标渠道商的名称信息,所述appname为所述应用名称,所述appversion为所述版本号,所述timestamp
为所述时间信息;所述第一私钥信息满足公式privatekey=rsa.create(publickey)的要求,所述rsa.create为一种rsa算法,所述privatekey为所述第一私钥信息。
9.在一个可选的实现方式中,所述根据所述目标渠道商的应用获取请求,判断是否向所述目标渠道商发送应用的安装包,包括:在预置的ip列表存在所述ip信息的情况下,确定向所述目标渠道商发送所述应用的安装包,所述预置的ip列表包括分配给所述目标渠道商使用的服务器ip地址;在所述预置的ip列表不存在所述ip信息的情况下,确定不向所述目标渠道商发送所述应用的安装包。
10.在一个可选的实现方式中,所述第一安装包携带的所述第一渠道信息通过第一秘钥信息加密,所述第一安装包的第一模块包含所述第一渠道信息,所述第一安装包的第二模块包含所述第一秘钥信息;所述第一模块和所述第二模块为配对的两个模块;所述第一秘钥信息满足公式key=ay3+by2+cy+d的要求,所述key为第一秘钥信息,所述y为所述第一渠道信息,所述a为所述第一模块的模块号,所述b为所述第二模块的模块号,所述c和所述d由所述a和所述b拼接得到,所述c为ab,所述d为ba。
11.在一个可选的实现方式中,所述基于所述第一私钥信息,生成第一安装包,所述第一私钥信息用于所述第一安装包的加密,所述第一安装包携带所述第一渠道信息,所述第一渠道信息信息用于标记所述第一安装包,包括:将原安装包通过安全散列算法转换为第一哈希值,所述原安装包为应用未加密的安装包;将所述第一渠道信息和所述第一秘钥信息插入所述第一哈希值,得到第二哈希值;使用所述第一私钥信息对所述第二哈希值进行加密,得到所述第一安装包。
12.在一个可选的实现方式中,在所述向所述目标渠道商发送所述第一安装包和所述第一公钥信息之后,还包括:接收目标用户安装所述应用的回执信息,所述回执信息包含所述目标用户安装所述应用所用第二安装包携带的第二渠道信息,和所述目标用户安装解密所述第二安装包所使用的第二公钥信息;通过对比所述第一公钥信息、所述第二公钥信息和所述第二渠道信息,效验所述目标渠道商向所述目标用户发送的第二安装包,是否为所述第一安装包;通过爬虫程序获取所述目标渠道商向用户提供的第三安装包;基于所述第三安装包携带的第三渠道信息,效验所述第三安装包。
13.第二方面,本技术实施例提供了一种数据分发装置,该方法包括:接收单元,接收目标渠道商的应用获取请求;判断单元,根据所述目标渠道商的应用获取请求,判断是否向所述目标渠道商发送应用的安装包;第一生成单元,用于在确定向所述目标渠道商发送所述应用的安装包之后,根据所述应用获取请求生成第一公钥信息和第一私钥信息,将所述第一公钥信息作为所述目标渠道商的第一渠道信息;第二生成单元,用于基于所述第一私钥信息,生成第一安装包,所述第一私钥信息用于所述第一安装包的加密,所述第一安装包携带所述第一渠道信息,所述第一渠道信息信息用于标记所述第一安装包;发送单元,用于向所述目标渠道商发送所述第一安装包和所述第一公钥信息,所述第一公钥信息用于所述第一安装包的解密。
14.在一个可选的实现方式中,所述应用获取请求包括目标渠道商的名称信息,所述应用的应用信息和服务器的ip信息,所述第一生成单元,具体用于在确定向所述目标渠道商发送所述应用的安装包之后,将所述名称信息,所述应用信息,所述ip信息和接收到所述应用获取请求的时间信息转化为所述第一公钥信息,将所述第一公钥信息作为所述目标渠
道商的第一渠道信息;生成所述第一公钥信息对应的第一私钥信息。
15.在一个可选的实现方式中,所述应用信息包括应用名称和应用的版本号;所述第一公钥信息通过sha计算得到,第一公钥信息满足公式publickey=sha128hash(name+appname+appversion+timestamp+ip信息)的要求,所述publickey为所述第一公钥信息,所述sha128hash为sha中128位的哈希算法,所述name为所述目标渠道商的名称信息,所述appname为所述应用名称,所述appversion为所述版本号,所述timestamp为所述时间信息;所述第一私钥信息满足公式privatekey=rsa.create(publickey)的要求,所述rsa.create为一种rsa算法,所述privatekey为所述第一私钥信息。
16.在一个可选的实现方式中,所述判断单元,具体用于在预置的ip列表存在所述ip信息的情况下,确定向所述目标渠道商发送所述应用的安装包,所述预置的ip列表包括分配给所述目标渠道商使用的服务器ip地址;在所述预置的ip列表不存在所述ip信息的情况下,确定不向所述目标渠道商发送所述应用的安装包。
17.在一个可选的实现方式中,所述第一安装包携带的所述第一渠道信息通过第一秘钥信息加密,所述第一安装包的第一模块包含所述第一渠道信息,所述第一安装包的第二模块包含所述第一秘钥信息;所述第一模块和所述第二模块为配对的两个模块;所述第一秘钥信息满足公式key=ay3+by2+cy+d的要求,所述key为第一秘钥信息,所述y为所述第一渠道信息,所述a为所述第一模块的模块号,所述b为所述第二模块的模块号,所述c和所述d由所述a和所述b拼接得到,所述c为ab,所述d为ba。
18.在一个可选的实现方式中,所述第二生成单元,具体用于将原安装包通过安全散列算法转换为第一哈希值,所述原安装包为应用未加密的安装包;将所述第一渠道信息和所述第一秘钥信息插入所述第一哈希值,得到第二哈希值;使用所述第一私钥信息对所述第二哈希值进行加密,得到所述第一安装包。
19.在一个可选的实现方式中,所述接收单元,还用于接收目标用户安装所述应用的回执信息,所述回执信息包含所述目标用户安装所述应用所用第二安装包携带的第二渠道信息,和所述目标用户安装解密所述第二安装包所使用的第二公钥信息;所述数据分发装置还包括效验单元,用于通过对比所述第一公钥信息、所述第二公钥信息和所述第二渠道信息,效验所述目标渠道商向所述目标用户发送的第二安装包,是否为所述第一安装包;所述数据分发装置还包括获取单元,用于通过爬虫程序获取所述目标渠道商向用户提供的第三安装包;该效验单元,还用于基于所述第三安装包携带的第三渠道信息,效验所述第三安装包。
20.第三方面,本技术实施例提供了一种设备,该设备包括接收器和发送器,还包括:处理器,适于实现一条或多条指令;以及,计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如上述第一方面以及上述第一方面中可选的实现方式的方法。
21.第四方面,本技术实施例提供了一种存储介质,所述存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如上述第一方面以及上述第一方面中可选的实现方式的方法。
22.本技术实施例提供了一种数据分发方法、装置、设备及存储介质,通过根据目标渠道商的应用请求信息,生成用于第一公钥信息、第一秘钥信息和加密的第一安装包,并向目
标渠道商发送第一安装包,提高了安装包分发的安全性。
附图说明
23.为了更清楚地说明本技术实施例或背景技术中的技术方案,下面将对本技术实施例或背景技术中所需要使用的附图进行说明。
24.图1为本技术实施例提供的一种数据分发方法的流程图;
25.图2为本技术实施例提供的另一种数据分发方法的流程图;
26.图3为本技术实施例提供的一种数据分发装置的结构示意图;
27.图4为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
28.本技术的说明书实施例和权利要求书及上述附图中的术语“第一”、“第二”、和“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
29.本技术实施例提供了数据分发方法,为更清楚的描述本技术的方案。下面先介绍一些与数据分发相关的知识。
30.非对称加密算法是一种密钥的保密方法。非对称加密算法需要两个密钥:公钥(public key)和私钥(private key)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将公钥公开,需要向甲方发送信息的乙方使用甲方的公钥对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密。甲方想要回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理,乙方使用自己的私钥来进行解密。另一方面,甲方可以使用自己的私钥对机密信息进行签名后再发送给乙方;乙方再用甲方的公钥对甲方发送回来的数据进行验签。
31.rsa算法是1977年由罗纳德
·
李维斯特(ron rivest)、阿迪
·
萨莫尔(adi shamir)和伦纳德
·
阿德曼(leonard adleman)一起提出的。rsa算法是被研究得最广泛的公钥算法,rsa算法具有无法从公钥推导出私钥的密码体制。rsa算法从提出到现在,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。
32.安全散列算法(secure hash algorithm,sha)是一个密码散列函数家族,是联邦信息处理标准(federal information processing standards,fips)所认证的安全散列算法。sha是一种计算出一个数字消息所对应到的,长度固定的字符串的算法。sha由美国国家安全局所设计,并由美国国家标准与技术研究院发布,是美国的政府标准。
33.椭圆曲线算法(elliptic curve cryptography,ecc),是一种建立公开密钥加密的算法,也就是非对称加密。ecc被公认为在给定密钥长度下最安全的加密算法。比特币中的公私钥生成以及签名算都是基于ecc的。
34.下面来详细描述本技术实施例提供的数据分发方法。
35.图1为本技术实施例提供的一种数据分发方法流程图。如图1所示,该方法可包括:
36.101、接收目标渠道商的应用获取请求。
37.具体来说,数据分发装置接收目标渠道商的应用获取请求。应用获取请求用于目标渠道商向数据分发装置请求获取app安装包。
38.其中,应用获取请求包括目标渠道商的名称信息,目标渠道商请求获取的应用信息,和目标渠道商请求获取的应用所属服务器的互联网协议(internet protocol,ip)信息。其中,应用信息包括请求获取的应用名称,或包括应用名称和应用的版本号。举例说明,应用获取请求包括的信息中,应用名称为“支付宝”,应用版本号为“10.2.10”,服务器的ip信息为“01100100.00000100.00000101.00000110”,目标渠道商的名称信息为“应用宝”。需要说明的是,ip信息包括至少一个ip地址,ip信息可以是一个ip地址,也可以是一个ip列表。
39.需要特别说明的是,通过该步骤101数据分发装置能够实现基于目标渠道商的应用获取请求生成第一安装包,并向目标渠道商发送第一安装包的技术效果,避免了向目标渠道商发送原安装包而造成的安装包盗用的问题。
40.102、根据目标渠道商的应用获取请求,判断是否向目标渠道商发送应用的安装包。
41.具体来说,数据分发装置根据目标渠道商的应用获取请求,判断是否向目标渠道商发送应用的安装包。在一些实施例中,数据分发装置在预置的ip列表存在ip信息的情况下,数据分发装置确定向目标渠道商发送应用的安装包。预置的ip列表为数据分发装置分配给目标渠道商下载安装包的服务器ip地址。若该ip信息不存在与预置的ip列表中,则确定目标渠道商盗用其他渠道商的下载渠道,数据分发服务器确定不向目标渠道商发送第一安装包。可选的,在该ip信息不存在于预置的ip列表的情况下,数据分发装置确定不向目标渠道商发送应用的安装包,并停止执行生成第一公钥信息、第一私钥信息和第一安装包,以及向目标渠道商发送第一安装包和第一公钥信息的操作。
42.需要特别说明的是,通过该步骤102数据分发装置能够基于目标渠道商的应用获取请求,判断是否向目标渠道商发送应用的安装包,实现基于应用请求识别目标渠道商是否盗用其他渠道商的下载渠道,以使在目标渠道商盗用其他渠道商的下载渠道的情况下,停止向目标渠道商发送安装包,提高了安装包分发的效率。
43.103、在确定向目标渠道商发送应用的安装包之后,根据应用获取请求生成第一公钥信息和第一私钥信息,将第一公钥信息作为目标渠道商的第一渠道信息。
44.具体来说,数据分发装置在确定向目标渠道商发送应用的安装包之后,根据目标渠道商的应用获取请求,生成第一公钥信息和第一私钥信息,将第一公钥信息作为目标渠道商的第一渠道信息。第一私钥信息用于数据分发装置对应用的原安装包进行加密,也称第一私钥信息用于对应用的原安装包进行签名。原安装包使用第一私钥信息进行加密之后,得到第一安装包。第一公钥信息用于目标渠道商的终端或目标用户的终端对第一安装包进行解密,也称第一公钥信息用于目标渠道商的终端或目标用户的终端对第一安装包进行验签。第一渠道信息用于区别应用安装包的来源。
45.在一种可选的实现方式中,在应用获取请求包括目标渠道商的名称信息,目标渠道商请求获取应用的应用信息,和目标渠道商请求获取的应用所属服务器的ip信息的情况
下,数据分发装置在确定向目标渠道商发送应用的安装包之后,将名称信息,应用信息,ip信息和接收到应用获取请求的时间信息转化为第一公钥信息,并将第一公钥信息作为目标渠道商的第一渠道信息。在另一种可选的实现方式中,在应用获取请求包括目标渠道商的名称信息,目标渠道商请求获取的应用信息,和目标渠道商请求获取的应用所属服务器的ip信息的情况下,数据分发装置将名称信息,应用信息,ip信息和数据分发装置确定生成第一公钥信息的时间信息转化为第一公钥信息。
46.在一些实施例中,数据分发装置通过将名称(name)信息,应用名称(appname)、应用的版本号(appversion)、ip信息和时间信息(timestamp)进行组合,并通过sha算法转化为第一公钥信息,例如:第一公钥信息满足公式publickey=sha128hash(name+appname+appversion+timestamp+ip信息)的要求,其中,publickey为第一公钥信息,sha128hash指的是sha128位的哈希算法,通过上述公式,第一公钥信息为一个128位的字符串信息。需要说明的是,数据分发装置还可以通过其他算法将名称信息,应用信息、ip信息和时间信息转化为第一公钥信息,第一公钥信息可以是128位的字符串信息,也可以是其他位数的字符串信息,此处不作限制。
47.在数据分发装置生成第一公钥信息之后,生成第一公钥信息对应的第一私钥信息。可选的,数据分发装置通过非对称加密算法生成第一公钥信息对应的第一私钥信息。第一私钥信息满足以下公式的要求:
48.privatekey=rsa.create(publickey),其中,第一公钥信息为“publickey”,第一私钥信息为“privatekey”,rsa.create为一种rsa算法。
49.需要说明的是,本技术实施例并不限定非对称加密算法的类型,可以是rsa算法,也可以是其他非对称加密算法,可根据具体情况进行调整。
50.需要特别说明的是,通过该步骤103数据分发装置能够实现基于目标渠道商的应用获取请求生成第一公钥信息和第一秘钥信息,第一公钥信息和第一秘钥信息用于对应用的原安装包进行验证和加密,达到了提高应用安装包安全性的技术效果。
51.104、基于第一私钥信息,生成第一安装包,第一私钥信息用于第一安装包的加密,第一安装包携带第一渠道信息,第一渠道信息用于标记第一安装包。
52.具体来说,数据分发装置基于第一私钥信息,生成第一安装包,第一私钥信息用于第一安装包的加密,第一安装包携带第一渠道信息,第一渠道信息用于标记第一安装包。
53.在一种可选的实现方式中,数据分发装置基于第一私钥信息,生成第一安装包,具体为:数据分发装置将原安装包通过安全散列算法转换为第一哈希值,原安装包为应用未加密的安装包;数据分发装置将第一渠道信息和第一秘钥信息插入第一哈希值,得到第二哈希值;数据分发装置再使用第一私钥信息对第二哈希值进行加密,得到第一安装包。在该实现方式中,数据分发装置通过使用安全散列算法和第一私钥信息,提高第一安装包的保密性。
54.可以理解的是,由于第一安装包由第一私钥信息加密得到,第一安装包通过第一公钥信息进行解密。若数据分发装置使用不同公钥信息生成的不同私钥信息,分别对原安装包进行加密,则数据分发装置可生成至少两个互不相同的安装包。数据分发装置生成的加密的安装包互不相同,目标渠道商无法轻易拷贝或修改其他渠道商获取的安装包,避免了渠道商盗用数据,提高了应用安装包进行数据分发的安全性。
55.其中,数据分发装置将第一渠道信息和第一秘钥信息插入至第一安装包中,进一步差异化了应用的安装包,加大了渠道商盗用安装包的难度,提高了应用安装包进行数据分发的安全性。
56.可选的,数据分发装置通过在第一模块的第一构造函数中定义第一字符串数组,将第一渠道信息或第一秘钥信息插入模块的代码段。该第一字符串组用于存储第一渠道信息或第一秘钥信息,举例说明,该第一字符串组的形式为char text[129]=[

a’,

b’,

c’,.......],char[]表示字符串组,“text”为字符串组的名称,129表示该字符串数组一共有129位,用于储存128位的第一渠道信息。第一构造函数可插入第一函数的开头位置。对比text[129]=[

abc
…’
]这种将字符串存储到数据段的形式,该实现方式可以将第一公钥信息隐藏于安装包的代码段,加大第一渠道信息的获取和修改难度,进而加大安装包的盗用难度,提高安装包分发的安全性。
[0057]
需要说明的是,每个应用的安装包包括至少一个模块。第一安装包括第一模块。
[0058]
可选的,数据分发装置在第一模块的第一析构函数中定义第一字符串组,该第一析构函数与第一构造函数分别位于第一函数的开头和结尾。通过匹配第一析构函数中的第一字符串组和第一构造函数中的第一字符串组,将第一构造函数和第一析构函数中相同的字符串作为第一渠道信息或第一秘钥信息。例如,第一构造函数中存在字符串char text[129],第一析构函数中也存在字符串char text[129],则字符串char text[129]为我们插入的第一字符串。避免将第一函数中除第一字符串组之外的字符串组,作为第一渠道信息或第一秘钥信息。
[0059]
其中,第一函数通过函数选择算法得到,函数选择算法用于判断第一安装包中函数是否作为第一函数。可选的,函数选择算法为:先通过fa(i)=size(i)/{size(1)+size(2)+size(3)+

+size(n)},计算函数i的fa值,其中,size(i)为函数i的函数大小,{size(1)+size(2)+size(3)+

+size(n)}为第一安装包中所有函数的函数大小之和;之后再产生一个0至1之间的随机数m,若m小于或等于fa(i),则将函数i作为第一函数,若m大于fa(i),则不将函数i作为第一函数。该方式以函数大小为依据选取第一函数,函数大小越大的函数作为第一函数的可能性更大,将第一渠道信息或第一秘钥信息隐藏在第一函数中,加大第一公钥信息的获取和修改难度,提高安装包分发的安全性。
[0060]
在一种可选的实现方式中,加密的第一渠道信息和第一秘钥信息分别存储于第一安装包中的第一模块和第二模块。该实现方式加大从第一安装包获取第一渠道信息和第一秘钥信息的难度,进一步提高安装包分发的安全性。可选的,第二模块的模块号与第一模块的模块号配对,第一模块的模块号和第二模块的模块号为通过第一渠道信息确定的一对数。在一些实施例中,第一模块的模块号为n,第一渠道信息为p进制的数据,n为n求余p所得的数,n=n%p,n包含在第一渠道信息中,举例说明,第一渠道信息的字符串组为publickey[],则在第一渠道信息中,存在publickey[k]==n,k表示在第一渠道信息中与n相同的字符位置编号;第二模块的模块号m为k求余模块总数s所得的数,m=k%s。
[0061]
其中,第一模块存在至少一个可以存储第一公钥信息的位置,该位置可以是第一函数,也可是是函数代码之间的间隙。数据分发装置将多个位置进行编码,得到可以存储第一渠道信息的位置坐标。第一渠道信息存储于第一模块的位置为非线性变化的。在一种可选的实现方式中,第一公钥信息在第一模块中的位置由第一渠道信息和数据分发装置生成
安装包的总数量确定。例如,第一渠道信息的位置信息为ax3+bx2+cx+d,其中,系数a,b,c,d为从第一渠道信息拆分出的四个数据,x为数据分发装置生成安装包的总数量,数据分发装置从位置信息低位依次取出至少一个2位数,作为第一渠道信息的位置坐标。例如,假设位置信息是72912,那么从低位依次取2位则是12、29和7,则12、29和7都是第一公钥信息在第一模块中的位置坐标。可以理解的是,第一模块存储至少一个第一渠道信息,该方式加大了第一渠道信息的获取和修改难度,并差异化生成的安装包,提高安装包的盗用难度,进而提高安装包分发的安全性,同时第一安装包中多个第一渠道信息也便于数据分发装置效验安装包是否存在改动,提高效验的准确性。
[0062]
在一种可选的实现方式中,第一秘钥信息通过椭圆曲线算法计算得到。其中,椭圆曲线算法的系数由第一模块和第二模块的模块号以及第一公钥信息确定,第一秘钥信息满足公式key=ay3+by2+cy+d的要求,其中a,b分别为第一模块和第二模块的模块号,c和d由a和b拼接得到,c=ab,d=ba,y为第一渠道信息。在该实现方式中,第一渠道信息存储的模块不同,对应的第一秘钥信息也不同,加大了渠道商从第一安装包中解密第一渠道信息的难度,提高安装包分发的安全性。
[0063]
需要特别说明的是,通过该步骤104数据分发装置能够通过使用第一私钥信息得到加密的第一安装包,并通过第一渠道信息和第一秘钥信息差异化第一安装包,加大安装包的盗用难度,达到了提高应用安装包安全性的技术效果。
[0064]
105、向目标渠道商发送第一安装包和第一公钥信息,第一公钥信息用于第一安装包的解密。
[0065]
具体来说,数据分发装置向目标渠道商发送第一安装包和第一公钥信息,第一公钥信息用于的第一安装包的解密。
[0066]
可以理解的是,除第一安装包携带的第一公钥信息之外,数据分发装置还会向目标渠道商发送第一公钥信息,第一公钥信息用于对第一安装包进行非对称解密。
[0067]
其中,由于第一安装包由第一私钥信息加密得到,第一安装包通过第一公钥信息进行解密。若数据分发装置使用不同公钥信息生成的不同私钥信息,分别对原安装包进行加密,则数据分发装置可生成至少两个互不相同的安装包。第一安装包只能由第一公钥信息进行解密,通过解密的第一公钥信息可识别出安装包的来源,便于效验应用安装包的来源。数据分发装置生成的加密的安装包互不相同,目标渠道商无法轻易拷贝或修改其他渠道商获取的安装包,避免渠道商盗用数据,提高了应用安装包进行数据分发的安全性。
[0068]
需要特别说明的是,通过该步骤105数据分发装置能够实现向目标渠道商发送第一公钥信息和第一安装包,第一公钥信息用于验签和解密第一安装包,便于识别第一安装包的来源,有利于检测第一安装包是否被盗用或者修改,达到了提高应用安装包安全性的技术效果。
[0069]
本技术实施例提供了一种数据分发方法、装置、设备及存储介质,通过根据目标渠道商的应用请求信息,生成第一公钥信息、第一秘钥信息和加密的第一安装包,并向目标渠道商发送携带第一渠道信息的第一安装包,提高了安装包分发的安全性。
[0070]
图2为本技术实施例提供的一种数据分发方法流程图。该方法是对图2所示的方法的进一步完善和细化,该方法可包括:
[0071]
201、接收目标渠道商的应用获取请求。
[0072]
具体来说,数据分发装置接收目标渠道商的应用获取请求。应用获取请求用于目标渠道商向书记分发装置请求获取app安装包。
[0073]
其中,应用获取请求包括目标渠道商的名称信息,目标渠道商请求获取的应用信息,和目标渠道商请求获取的应用所属服务器的互联网协议(internet protocol,ip)信息。其中,应用信息包括请求获取的应用名称,或包括应用名称和应用的版本号。举例说明,应用获取请求包括的信息中,应用名称为“支付宝”,应用版本号为“10.2.10”,服务器的ip信息为“01100100.00000100.00000101.00000110”,目标渠道商的名称信息为“应用宝”。需要说明的是,ip信息包括至少一个ip地址,ip信息可以是一个ip地址,也可以是一个ip列表。
[0074]
需要特别说明的是,通过该步骤201数据分发装置能够实现基于目标渠道商的应用获取请求生成第一安装包,并向目标渠道商发送第一安装包的技术效果,避免了向目标渠道商发送原安装包而造成的安装包盗用的问题。
[0075]
202、根据目标渠道商的应用获取请求,判断是否向目标渠道商发送应用的安装包。
[0076]
具体来说,数据分发装置根据目标渠道商的应用获取请求,判断是否向目标渠道商发送应用的安装包。
[0077]
需要特别说明的是,通过该步骤102数据分发装置能够基于目标渠道商的应用获取请求,判断是否向目标渠道商发送应用的安装包,实现基于应用请求识别目标渠道商是否盗用其他渠道商的下载渠道,以使在目标渠道商盗用其他渠道商的下载渠道的情况下,停止向目标渠道商发送安装包,提高了安装包分发的效率。
[0078]
203、在确定向目标渠道商发送应用的安装包之后,根据应用获取请求生成第一公钥信息和第一私钥信息,将第一公钥信息作为目标渠道商的第一渠道信息。
[0079]
具体来说,数据分发装置在确定向目标渠道商发送应用的安装包之后,根据应用获取请求生成第一公钥信息和第一私钥信息,将第一公钥信息作为目标渠道商的第一渠道信息。
[0080]
需要特别说明的是,通过该步骤203数据分发装置能够实现基于目标渠道商的应用获取请求生成第一公钥信息和第一秘钥信息,第一公钥信息和第一秘钥信息用于对应用的原安装包进行验证和加密,达到了提高应用安装包安全性的技术效果。
[0081]
204、基于第一私钥信息,生成第一安装包,第一私钥信息用于第一安装包的加密。
[0082]
具体来说,数据分发装置基于第一私钥信息,生成第一安装包,第一私钥信息用于第一安装包的加密。
[0083]
需要特别说明的是,通过该步骤204数据分发装置能够通过使用第一私钥信息得到加密的第一安装包,并通过第一渠道信息和第一秘钥信息差异化第一安装包,加大安装包的盗用难度,达到了提高应用安装包安全性的技术效果。
[0084]
205、向目标渠道商发送第一安装包和第一公钥信息,第一公钥信息用于第一安装包的解密。
[0085]
具体来说,数据分发装置向目标渠道商发送第一安装包和第一公钥信息,第一公钥信息用于的第一安装包的解密。
[0086]
步骤201-205与本技术实施例1中的步骤101-105类似,此处不再赘述。
[0087]
需要特别说明的是,通过该步骤205数据分发装置能够能够实现向目标渠道商发送第一公钥信息和第一安装包,第一公钥信息用于验签和解密第一安装包,便于识别第一安装包的来源,有利于检测第一安装包是否被盗用或者修改,达到了提高应用安装包安全性的技术效果。
[0088]
206、接收目标用户安装应用的回执信息,回执信息包含目标用户安装应用所用第二安装包携带的第二渠道信息,和目标用户安装第二安装包所使用的第二公钥信息。
[0089]
具体来说,数据分发装置接收目标用户安装应用的回执信息,回执信息包含目标用户安装应用所用第二安装包携带的第二渠道信息,和目标用户安装第二安装包所使用的第二公钥信息。第二渠道信息包含目标用户安装应用所用安装包的应用信息,渠道商的名称信息和服务器的ip信息。
[0090]
其中,第二公钥信息为目标渠道商发送给目标用户的公钥信息,用于目标用户的设备解密并安装第二安装包。
[0091]
需要特别说明的是,通过该步骤205数据分发装置能够基于回执信息效验目标用户安装应用所使用的安装包,达到了基本回执信息识别目标用户所用安装包的技术效果。
[0092]
207、通过对比第一公钥信息、第二渠道信息和第二公钥信息,效验目标渠道商向目标用户发送的第二安装包,是否为第一安装包。
[0093]
具体来说,数据分发装置比对第二公钥信息和第二渠道信息是否相同,判断第二安装包是否存在修改,在第二公钥信息和第二渠道信息相同的情况,确定第二安装包不存在修改,为数据分发装置提供的安装包;在第二公钥信息和第二渠道信息不同的情况下,数据分发装置确定第二安装包存在修改,目标渠道商存在改动应用安装包的行为,第二安装包不是第一安装包;数据分发装置在第二公钥信息和第二渠道信息相同的情况下,对比第一公钥信息和第二公钥信息。若第一公钥信息和第二公钥信息相同,则确定目标用户安装了第一安装包,未存在安装包盗用的情况;若第一公钥信息和第二公钥信息不同,则说明目标渠道商盗用其他的安装包。
[0094]
需要特别说明的是,通过该步骤207数据分发装置能够识别目标渠道商是否安装规定分发第一安装包,检测目标渠道商是否盗用或修改应用安装包,达到了提高应用安装包数据分发安装性的技术效果。
[0095]
208、通过爬虫程序获取目标渠道商向用户提供的第三安装包。
[0096]
具体来说,数据分发装置通过爬虫程序获取目标渠道商向用户提供的第三安装包。第三安装包为目标渠道商在服务器或终端面向目标用户的应用安装包。目标渠道商在接收到第一安装包之后,将第二安装包发送给请求下载该应用的目标用户的终端。
[0097]
爬虫程序一般指网络爬虫,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。数据分发装置可通过爬虫程序有规律获取渠道商提供的第二安装包。
[0098]
需要特别说明的是,通过该步骤208数据分发装置能够通过爬虫程序获取目标渠道商向目标用户提供的第三安装包,有利于通过第三安装包识别目标渠道商是否更改安装包,达到了提高应用安装包数据分发安装性的技术效果。
[0099]
209、基于第三安装包携带的第三渠道信息,效验第三安装包。
[0100]
具体来说,数据分发装置基于第三安装包携带的第三渠道信息,效验第三安装包。具体的,数据分发装置通过获取第三安装包携带的第三渠道信息,效验第三安装包是否存
在改动。在一种可选的实现方式中,数据分发装置获取第三安装包携带的所有第三渠道信息,判断所有第三渠道信息是否相同,并将第三渠道信息与记录的第一渠道信息比对,在所有第三渠道信息相同,且与第一渠道信息相同的情况下,确定第三安装包不存在改动,为数据分发装置发送的第一安装包。
[0101]
需要特别说明的是,通过该步骤208数据分发装置能够效验目标渠道商提供的第三安装包,检查第二安装包是否为数据分发装置生成的第一安装包,以检测目标渠道商是否存在更改或盗用应用安装包的情况,进一步提高应用安装包数据分发安装性的技术效果。
[0102]
本技术实施例提供了一种数据分发方法、装置、设备及存储介质,通过根据目标渠道商的应用请求信息,生成第一公钥信息、第一秘钥信息和加密的第一安装包,并向目标渠道商发送用第一渠道信息标记的第一安装包,提高了安装包分发的安全性。
[0103]
图3为本技术实施例提供的一种信号装置的结构示意图。图3中的数据分发装置对应于上述接收机。如图3所示,该数据分发装置包括:
[0104]
接收单元301,接收目标渠道商的应用获取请求;
[0105]
判断单元302,根据所述目标渠道商的应用获取请求,判断是否向所述目标渠道商发送应用的安装包;
[0106]
第一生成单元303,在确定向所述目标渠道商发送所述应用的安装包之后,根据所述应用获取请求生成第一公钥信息和第一私钥信息,将所述第一公钥信息作为所述目标渠道商的第一渠道信息;
[0107]
接收单元304,还用于基于所述第一私钥信息,生成第一安装包,所述第一私钥信息用于所述第一安装包的加密,所述第一安装包携带所述第一渠道信息,所述第一渠道信息信息用于标记所述第一安装包;
[0108]
发送单元305,向所述目标渠道商发送所述第一安装包和所述第一公钥信息,所述第一公钥信息用于所述第一安装包的解密。
[0109]
在一个可选的实现方式中,应用获取请求包括目标渠道商的名称信息,应用的应用信息和服务器的互联网协议ip信息,第一生成单元302,具体用于在确定向所述目标渠道商发送所述应用的安装包之后,将所述名称信息,所述应用信息,所述ip信息和接收到所述应用获取请求的时间信息转化为所述第一公钥信息,将所述第一公钥信息作为所述目标渠道商的第一渠道信息;生成所述第一公钥信息对应的第一私钥信息。
[0110]
在一个可选的实现方式中,应用信息包括应用名称和应用的版本号;第一公钥信息通过安全散列算法sha计算得到,第一公钥信息满足公式publickey=sha128hash(name+appname+appversion+timestamp+ip信息)的要求,publickey为第一公钥信息,sha128hash为sha中128位的哈希算法,name为目标渠道商的名称信息,appname为应用名称,appversion为版本号,timestamp为时间信息;第一私钥信息满足公式privatekey=rsa.create(publickey)的要求,rsa.create为一种rsa算法,privatekey为第一私钥信息。
[0111]
在一个可选的实现方式中,所述判断单元,具体用于在预置的ip列表存在所述ip信息的情况下,确定向所述目标渠道商发送所述应用的安装包,所述预置的ip列表包括分配给所述目标渠道商使用的服务器ip地址;在所述预置的ip列表不存在所述ip信息的情况下,确定不向所述目标渠道商发送所述应用的安装包。
processing unit,cpu)。具体的应用中,电子设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
[0120]
上述本技术实施例揭示的方法可以应用于处理器403中,或者由处理器403实现。处理器403可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器403中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器403可以是通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器404,处理器403读取存储器404中的信息,结合其硬件完成上述方法的步骤。
[0121]
接收器401可用于接收输入的数字或字符信息,以及产生与电子设备的相关设置以及功能控制有关的信号输入,发射器402可包括显示屏等显示设备,发射器402可用于通过外接接口输出数字或字符信息。
[0122]
本技术实施例中,处理器403,用于执行前述数据分发装置执行的数据分发方法。
[0123]
在本技术的实施例中提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现:接收目标渠道商的应用获取请求;根据目标渠道商的应用获取请求,生成第一公钥信息和第一私钥信息;基于第一私钥信息,生成第一安装包,第一私钥信息用于第一安装包的加密;向目标渠道商发送第一安装包,第一安装包携带第一公钥信息,第一公钥信息用于效验第一安装包。
[0124]
上述仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1