本技术属于信息,尤其涉及一种任务处理方法、芯片系统、设备、存储介质及程序产品。
背景技术:
1、近期,一些重量级密码算法的出现,带来了更高的安全性,同时也带来了更高的运算资源要求。例如需要安全原件芯片(secureelement,se)的运算量大,存储空间大。
2、但是,目前通过一些单一的se芯片难以满足这种较高的运算资源要求。
技术实现思路
1、本技术实施例提供一种任务处理方法、芯片系统、设备、存储介质及程序产品,通过se芯片组合运算的方式,满足较高的运算资源要求。
2、一方面,本技术实施例提供一种任务处理方法,应用于芯片系统,所述芯片系统包括第一安全元件se芯片和至少一个第二se芯片,所述方法包括:
3、解析目标密码算法,得到多个算法任务、每个所述算法任务的运算算法、以及执行所述运算算法所需的需求数据;
4、所述第一se芯片根据所述算法任务的运算需求资源、所述运算算法、以及执行所述运算算法所需的需求数据,确定需要参与运算的第二se芯片的目标数量;
5、所述第一se芯片将所述算法任务和对应的需求数据,分别发送至目标第二se芯片;所述目标第二se芯片的数量为目标数量;
6、每个所述目标第二se芯片根据接收到的所述需求数据和运算算法,对接收到的所述算法任务进行运算,得到运算结果,并将所述运算结果发送给所述第一se芯片;
7、所述第一se芯片根据所述运算结果的属性,确定所述运算结果的类型,并采用与所述类型对应的处理策略,对所述运算结果进行处理,得到目标密码算法的运算结果。
8、在一种可能的实现方式中,所述第一se芯片将所述算法任务和对应的需求数据,分别发送至目标第二se芯片,包括:
9、所述第一se芯片将所述算法任务、运算算法和对应的需求数据,分别发送至目标第二se芯片;或者
10、所述第一se芯片将所述算法任务和对应的需求数据,分别发送至具有所述算法任务对应的运算算法的目标第二se芯片。
11、在一种可能的实现方式中,所述第一se芯片将所述算法任务和对应的需求数据,分别发送至目标第二se芯片,包括:
12、所述第一se芯片将所述算法任务和对应的需求数据,分别发送至目标第二se芯片,并保留对应的算法任务和对应的需求数据在所述第一se芯片;
13、所述第一se芯片将所述算法任务和对应的需求数据,分别发送至目标第二se芯片之后,所述方法还包括:
14、所述第一se芯片根据保留的所述需求数据和运算算法,对保留的所述算法任务进行运算,得到运算结果;
15、每个所述目标第二se芯片根据接收到的所述需求数据和运算算法,对接收到的所述算法任务进行运算,得到运算结果,并将所述运算结果发送给所述第一se芯片。
16、在一种可能的实现方式中,在所述第一se芯片将所述算法任务、运算算法和对应的需求数据,分别发送至目标第二se芯片之后,所述方法还包括:
17、所述第一se芯片获取所述目标第二se芯片的状态;
18、在至少一个所述目标第二se芯片的状态为异常的情况下,所述第一se芯片获取当前未完成的算法任务、运算算法和对应的需求数据,以及状态为正常的所述目标第二se芯片的剩余数量;
19、所述第一se芯片将所述未完成的算法任务、运算算法和对应的需求数据,分别发送至所述状态为正常的目标第二se芯片;
20、所述状态为正常的目标第二se芯片中止运算原来的算法任务,并根据新接收到的所述运算算法和需求数据对新接收到的所述未完成的算法任务进行运算,得到运算结果,并将所述运算结果发送给所述第一se芯片。
21、在一种可能的实现方式中,所述第一se芯片和所述第二se芯片均具有一组对应的公钥和私钥;每个se芯片中预存储自身的公钥和私钥,以及其他se芯片的公钥;所述第一se芯片将所述算法任务、运算算法和对应的需求数据,分别发送至目标第二se芯片,包括:
22、所述第一se芯片生成随机数;
23、所述第一se芯片分别根据单个目标第二se芯片的公钥,对所述随机数、所述算法任务、运算算法和对应的需求数据进行加密,得到第一加密数据,并将所述第一加密数据发送给与所述公钥对应的目标第二se芯片;
24、在每个所述目标第二se芯片根据接收到的所述需求数据和运算算法,对接收到的所述算法任务进行运算,得到运算结果,并将所述运算结果发送给所述第一se芯片之前,所述方法还包括:
25、所述目标第二se芯片根据自身的私钥对所述第一加密数据进行解密,得到所述随机数、所述算法任务、所述运算算法和对应的所述需求数据。
26、在一种可能的实现方式中,所述第一se芯片和所述第二se芯片均具有一组对应的公钥和私钥;每个se芯片中预存储自身的公钥和私钥,以及其他se芯片的公钥;所述目标第二se芯片将所述运算结果发送给所述第一se芯片,包括:
27、所述目标第二se芯片根据所述第一se芯片的公钥,对所述运算结果进行加密,得到第二加密数据;
28、在所述第一se芯片根据所述运算结果的属性,确定所述运算结果的类型,并采用与所述类型对应的处理策略,对所述运算结果进行处理,得到目标密码算法的运算结果之前,所述方法还包括:
29、所述第一se芯片根据自身的私钥对所述第二加密数据进行解密,得到所述运算结果。
30、在一种可能的实现方式中,所述第一se芯片采用与所述类型对应的处理策略,对所述运算结果进行处理,得到目标密码算法的运算结果,包括:
31、在所述运算结果为中间运算结果的情况下,所述第一se芯片根据将所述运算结果发送给进行后续运算的目标第二se芯片;
32、在所述运算结果为最终运算结果的情况下,所述第一se芯片将所述运算结果作为所述目标密码算法的运算结果,并输出所述运算结果。
33、在一种可能的实现方式中,所述第一se芯片将所述算法任务、运算算法和对应的需求数据,分别发送至目标第二se芯片;所述目标第二se芯片的数量为目标数量,包括:
34、所述第一se芯片根据所述运算算法以及执行所述运算算法所需的需求数据,确定所述多个算法任务之间的关系;
35、所述第一se芯片根据所述关系,确定所述目标数量。
36、在一种可能的实现方式中,所述关系指示所述多个算法任务中存在一个或多个互不依赖其他算法任务的计算结果的第一算法任务,所述第一se芯片根据所述关系,确定所述目标数量,包括:
37、所述第一se芯片将所述第一算法任务的数量,确定为所述目标数量;
38、每个所述目标第二se芯片根据接收到的所述需求数据和运算算法对接收到的所述算法任务进行运算,得到运算结果,包括:
39、每个目标第二se芯片根据接收到的所述需求数据和运算算法对接收到的所述算法任务进行并行运算,得到运算结果。
40、在一种可能的实现方式中,所述关系指示在所述多个算法任务中存在多次使用第一中间数据的第二算法任务,所述第一中间数据为运算任一所述算法任务的运算结果;
41、所述第一se芯片根据所述关系,确定所述目标数量,包括:
42、所述第一se芯片将所述第一中间数据的使用次数,确定所述目标数量;
43、在所述目标第二se芯片至少包括第一目标第二se芯片和第二目标第二se芯片的情况下,每个所述目标第二se芯片根据接收到的所述需求数据和运算算法对接收到的所述算法任务进行运算,得到运算结果,并将所述运算结果发送给所述第一se芯片,包括:
44、所述第一目标第二se芯片和第二目标第二se芯片分别根据接收到的所述需求数据和运算算法对接收到的所述算法任务进行运算,分别得到所述算法任务的第一中间数据;
45、第一目标第二se芯片对所述第一中间数据进行运算,得到第二中间数据后,删除所述第一目标第二se芯片中的所述第一中间数据,并对所述第二中间数据再次进行运算,得到第三中间数据,再将所述第三中间数据发送至第二目标第二se芯片;
46、第二目标第二se芯片对所述第一中间数据和所述第三中间数据进行运算,得到第四中间数据。
47、在一种可能的实现方式中,所述关系指示在所述多个算法任务中存在多次使用第一中间数据的第二算法任务,所述第一中间数据为运算任一所述算法任务的运算结果;
48、所述第一se芯片根据所述关系,确定所述目标数量,包括:
49、所述第一se芯片将所述第一中间数据的使用次数,确定所述目标数量;
50、在所述第一se芯片将所述第一算法任务的数量,确定为所述目标数量之后,所述方法还包括:
51、所述第一se芯片和所述目标第二se芯片分别根据接收到的所述需求数据和运算算法对接收到的所述算法任务进行运算,分别得到所述算法任务的第一中间数据;
52、所述第一se芯片对所述第一中间数据进行运算,得到第二中间数据后,删除所述第一se芯片中的所述第一中间数据,并对所述第二中间数据再次进行运算,得到第三中间数据,再将所述第三中间数据发送至所述目标第二se芯片;
53、所述目标第二se芯片对所述第一中间数据和所述第三中间数据进行运算,得到第四中间数据。
54、在一种可能的实现方式中,所述关系指示在所述多个算法任务中存在概率运算的第三算法任务,所述第一se芯片根据所述关系,确定所述目标数量,包括:
55、所述第一se芯片将所述概率运算对应的预设数量,确定为所述目标数量;
56、每个所述目标第二se芯片根据接收到的所述需求数据和运算算法对接收到的所述算法任务进行运算,得到运算结果,并将所述运算结果发送给所述第一se芯片之后,所述方法还包括:
57、在所述第一se芯片接收到任一目标第二se芯片返回的所述运算结果的情况下,中止其他所述目标第二se芯片根据接收到的所述需求数据和运算算法对接收到的所述算法任务进行运算的过程。
58、另一方面,本技术实施例提供了一种任务处理方法,应用于第一安全元件se芯片,所述方法包括:
59、解析目标密码算法,得到多个算法任务、每个所述算法任务的运算算法、以及执行所述运算算法所需的需求数据;
60、根据所述算法任务的运算需求资源、所述运算算法、以及执行所述运算算法所需的需求数据,确定需要参与运算的第二se芯片的目标数量;
61、将所述算法任务、运算算法和对应的需求数据,分别发送至目标第二se芯片,以使每个所述目标第二se芯片根据接收到的所述需求数据和运算算法,对接收到的所述算法任务进行运算,得到运算结果,并将所述运算结果发送给所述第一se芯片;所述目标第二se芯片的数量为目标数量;
62、根据所述运算结果的属性,确定所述运算结果的类型,并采用与所述类型对应的处理策略,对所述运算结果进行处理,得到目标密码算法的运算结果。
63、再一方面,本技术实施例提供了一种芯片系统,所述芯片系统包括第一安全元件se芯片和至少一个第二se芯片;
64、解析目标密码算法,得到多个算法任务、每个所述算法任务的运算算法、以及执行所述运算算法所需的需求数据;
65、第一se芯片,用于根据所述算法任务的运算需求资源、所述运算算法、以及执行所述运算算法所需的需求数据,确定需要参与运算的第二se芯片的目标数量;
66、将所述算法任务和对应的需求数据,分别发送至目标第二se芯片;所述目标第二se芯片的数量为目标数量;
67、每个所述目标第二se芯片,用于根据接收到的所述需求数据和运算算法,对接收到的所述算法任务进行运算,得到运算结果,并将所述运算结果发送给所述第一se芯片;
68、所述第一se芯片,还用于根据所述运算结果的属性,确定所述运算结果的类型,并采用与所述类型对应的处理策略,对所述运算结果进行处理,得到目标密码算法的运算结果。
69、再一方面,本技术实施例提供了一种任务处理设备,所述设备包括:处理器以及存储有计算机程序指令的存储器;
70、所述处理器执行所述计算机程序指令时实现如权上述任意一项所述的任务处理方法。
71、再一方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如上述任意一项所述的任务处理方法。
72、再一方面,本技术实施例提供了一种计算机程序产品,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如上述任意一项所述的任务处理方法。
73、本技术实施例的任务处理方法、芯片系统、设备、存储介质及程序产品,将对单个se芯片的运算资源要求较高的目标密码算法,通过解析得到多个对单个se芯片的运算资源要求较低的算法任务,降低对单个se芯片的运算资源要求,通过se芯片组合运算目标密码算法的方式,提高se芯片能够适用的算法的范围,达到满足较高的运算资源要求的效果。