基于白盒密钥的AI数据共享方法、系统和装置与流程

文档序号:32350796发布日期:2022-11-26 13:00阅读:53来源:国知局
基于白盒密钥的AI数据共享方法、系统和装置与流程
基于白盒密钥的ai数据共享方法、系统和装置
技术领域
1.本技术涉及信息安全领域,特别涉及基于白盒密钥的ai数据共享方法、系统和装置。


背景技术:

2.目前,ai平台是一种支持机器学习或ai的云系统。图1举例示出ai平台的结构框架。图1中,各计算节点具有高性能的计算能力,各计算节点可统一由一个节点(记为中心节点)管理。图1举例示出中心节点被部署在ai平台,比如,其可为其中的一个计算节点。
3.应用于ai平台,中心节点与计算节点之间都采用常规的对称加密方法对数据加密并进行交互。而对称加密方法要求传输端之间共享对称密钥(比如解密密钥)。但是,共享密钥(比如解密密钥),则会存在密钥泄露的风险,比如密钥被不可信解密方泄露或者因管理不当被泄露等,而密钥泄露,则数据安全无法保障。


技术实现要素:

4.本技术提供了基于白盒密钥的ai数据共享方法、系统和装置,以基于白盒密钥实现ai数据共享,避免数据两端之间共享对称密钥带来的密钥泄露的风险。
5.本技术提供的技术方案包括:一种基于白盒密钥的ai数据共享方法,该方法应用于中心节点,中心节点负责管理ai平台中的至少一个计算节点,该方法包括:为目标计算节点确定对应的授权信息;所述目标计算节点是指需要共享目标ai数据的计算节点;将所述授权信息和ai数据密文发送至目标计算节点;所述ai数据密文是通过使用目标加密密钥对所述目标ai数据进行加密得到的密文;所述授权信息至少包含:授权密钥标识id;授权密钥id用于表征所述目标加密密钥;接收目标计算节点在收到ai数据密文和授权信息之后的认证授权请求,基于所述认证授权请求对目标计算节点进行授权校验,若所述目标计算节点通过授权校验,则根据所述认证授权请携带的所述授权密钥id、以及所述目标计算节点被分配的白盒表对应的随机因子,生成对应的白盒密钥,向目标计算节点发送所述白盒密钥,以由目标计算节点利用所述白盒密钥和已被分配的白盒表解密ai数据密文来共享所述目标ai数据。
6.一种基于白盒密钥的ai数据共享方法,该方法应用于计算节点,所述计算节点为ai平台中的一个计算节点,所述ai平台中的计算节点由中心节点管理;该方法包括:接收所述中心节点发送的授权信息和ai数据密文;所述ai数据密文是通过使用目标加密密钥对所述目标ai数据进行加密得到的密文;所述授权信息至少包含:授权密钥标识id;授权密钥id用于表征所述目标加密密钥;向所述中心节点发送认证授权请求,以由所述中心节点基于所述认证授权请求对目标计算节点进行授权校验;接收所述中心节点基于所述认证授权请求返回的白盒密钥;所述白盒密钥是在所
述计算节点通过授权校验后,由中心节点根据所述认证授权请携带的所述授权密钥id、以及所述计算节点被分配的白盒表对应的随机因子生成的;利用所述白盒密钥和已被分配的白盒表,解密ai数据密文以至少和所述中心节点共享所述目标ai数据。
7.一种基于白盒密钥的ai数据共享系统,该系统包括:中心节点和ai平台中的至少一个计算节点;所述中心节点负责管理ai平台中的至少一个计算节点;所述中心节点执行如上第一种方法中的步骤;任一计算节点,作为需要共享目标ai数据的目标计算节点,执行如上第二种方法中的步骤。
8.一种电子设备,该电子设备包括:处理器和机器可读存储介质;所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现如上任一项方法中的步骤。
9.由以上技术方案可以看出,在本实施例中,中心节点作为加密端,其可使用不同于白盒密钥的目标加密密钥对目标ai数据进行加密得到ai数据密文,而目标计算节点作为解密端,其使用白盒密钥对ai数据密文进行解密,这显然不需要加解密两端(也称数据两端)共享对称密钥,避免现有加解密两端(也称数据两端)共享对称密钥带来的密钥泄露的风险;进一步地,在本实施例中,中心节点在发送白盒密钥之前,会基于认证授权请求对目标计算节点进行授权校验,只有经过授权的目标计算节点才能被分配对应的白盒密钥来解密ai数据密文,并且,即使目标计算节点后续将其被分配的白盒密钥泄露,由于其它计算节点不存在与该白盒密钥匹配的白盒表,基于白盒密码算法的要求,其是不能成功利用该白盒密钥来解密ai数据密文的,这保证了数据安全性。
附图说明
10.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
11.图1为本技术实施例提供的组网结构图;图2为本技术实施例提供的方法流程图;图3为本技术实施例提供的步骤201的实现流程图;图4为本技术实施例提供的另一方法流程图;图5为本技术实施例提供的装置结构图;图6为本技术实施例提供的另一装置结构图;图7为本技术实施例提供的装置硬件结构图。
具体实施方式
12.为使本技术提供的方法更加容易理解,下面结合附图和实施例对本技术提供的方法进行详细描述:参见图2,图2为本技术实施例提供的方法流程图。该方法应用于中心节点。中心节点负责管理ai平台中的至少一个计算节点。这里的中心节点可部署在上述ai平台,也可独
立于ai平台,本实施例并不具体限定。
13.作为一个实施例,这里的中心节点可为中心服务器,计算节点可为受中心服务器管理的各服务器,比如部署在边缘网络的边缘服务器等,本实施例并不具体限定。
14.如图2所示,该流程可包括以下步骤:步骤201,为目标计算节点确定对应的授权信息。
15.在本实施例中,任一计算节点,其在有ai数据共享需求时,会向上述中心节点发送数据共享请求。而中心节点在接收到数据共享请求后,可将该发送数据共享请求的计算节点确定为需要共享ai数据(记为目标ai数据)的目标计算节点。也即,目标计算节点是指需要共享目标ai数据的计算节点。
16.中心节点在确定出需要共享目标ai数据的目标计算节点之后,如步骤101描述,会为目标计算节点确定对应的授权信息。可选地,在本实施例中,授权信息可包括授权时间、授权密钥标识(id)、目标计算节点的节点标识比如ip地址等,本实施例并不具体限定。这里,授权时间是指该授权信息的有效时间,在授权时间内,该授权信息有效,否则,该授权信息无效。授权密钥id用于表征目标加密密钥,这里目标加密密钥是指对上述目标ai数据进行加密得到ai数据密文的密钥。
17.步骤202,将上述授权信息和ai数据密文发送至目标计算节点。
18.在本实施例中,ai数据密文是通过使用加密密钥(记为目标加密密钥)对上述目标ai数据进行加密得到的密文。这里的目标加密密钥是中心节点本地根据不同于白盒密码算法的其它密码算法确定出的,比如其可为基于传统对称算法确定出的对称密钥,等等,本实施例并不具体限定。
19.在本实施例中,上述ai数据密文,会存储在中心节点对应的存储介质内。执行到本步骤202时,中心节点会将上述授权信息和已存储的上述ai数据密文发送至目标计算节点。至于如何将上述授权信息和已存储的上述ai数据密文发送至目标计算节点,下文图3所示流程会举例描述,这里暂不赘述。
20.可选地,在本实施例中,中心节点在将上述授权信息和已存储的上述ai数据密文发送至目标计算节点后,目标计算节点若接收到,其会向中心节点发送认证授权请求,具体见如下步骤203。
21.步骤203,接收目标计算节点在收到ai数据密文和授权信息之后的认证授权请求,基于认证授权请求对目标计算节点进行授权校验,若目标计算节点通过授权校验,则根据认证授权请携带的授权密钥id、以及目标计算节点被分配的白盒表对应的随机因子,生成对应的白盒密钥,向目标计算节点发送白盒密钥,以由目标计算节点利用白盒密钥和已被分配的白盒表解密ai数据密文来共享目标ai数据。
22.可选地,在本实施例中,中心节点基于认证授权请求对目标计算节点进行授权校验,有很多实现方式,比如,认证授权请求携带上述授权信息或者授权信息中的部分内容,中心节点基于之前下发给该目标计算节点的授权信息,校验认证授权请求携带的授权信息或授权信息中的部分内容,如果匹配,则确定目标计算节点通过授权校验,此时的目标计算节点为被授权的计算节点;当然,如果不匹配,则确定目标计算节点未通过授权校验,此时可直接结束当前流程。
23.中心节点在目标计算节点通过授权校验后,会继续根据认证授权请携带的授权密
钥id、以及目标计算节点被分配的白盒表对应的随机因子,生成目标计算节点对应的白盒密钥。可选地,在本实施例中,上述随机因子,其可为中心节点在之前为目标计算节点分配白盒表时动态随机生成。这里,中心节点可在目标计算节点注册至本中心节点的注册过程中,为该目标计算节点动态分配对应的白盒表并下发给目标计算节点。该分配给目标计算节点的白盒表具有对应的随机因子。
24.这里,根据认证授权请携带的授权密钥id、以及目标计算节点被分配的白盒表对应的随机因子,生成对应的白盒密钥有很多方式,比如,先依据上述授权密钥id,获得上述授权密钥id对应的上述目标加密密钥;再依据目标计算节点被分配的白盒表对应的随机因子(记为第一随机因子),确定与该第一随机因子配对的第二随机因子(比如,第一随机因子和第二随机因子互逆等),最后,基于白盒密码算法并依据上述目标加密密钥、第二随机因子即可生成一个白盒密钥。白盒密钥的生成需要两个参数,一个是密钥(比如上述的目标加密密钥),另一个是随机因子(比如上述的第二随机因子),基于这两个参数,再结合白盒密码算法便可生成目标计算节点的白盒密钥,本实施例并不具体限定白盒密钥的具体生成。
25.需要说明的是,在本实施例中,还可根据实际的安全需求在上述白盒密钥中嵌入有效时间。这里,有效时间,用于指示目标计算节点在有效时间内可利用白盒密钥有效解密上述ai数据密文,而在非有效时间,其是不能利用该白盒密钥成功解密上述ai数据密文的,实现一旦有效时间过期则白盒密钥失效的效果。
26.还需要说明的是,在本实施例中,为保证只有上述目标计算节点利用上述白盒密钥解密ai数据密文,上述被分配给该目标计算节点的白盒表,还可被嵌入该目标计算节点的物理特征参数。这里,物理特征参数用于指示目标计算节点使用白盒表,禁止其它计算节点使用该白盒表。在具体实现时,物理特征参数可为上述目标计算节点专用的标识,比如mac地址、cpu序列号等,本实施例并不具体限定。
27.在生成上述白盒密钥后,如步骤203描述,中心节点会向目标计算节点发送白盒密钥,以由目标计算节点利用白盒密钥和已被分配的白盒表解密ai数据密文来共享目标ai数据。目标计算节点利用白盒密钥和已被分配的白盒表解密ai数据密文的方式类似现有基于白盒密钥解密的方式,不再赘述。
28.至此,完成图2所示流程。
29.通过图2所示流程可以看出,在本实施例中,中心节点作为加密端,其可使用不同于白盒密钥的目标加密密钥对目标ai数据进行加密得到ai数据密文,而目标计算节点作为解密端,其使用白盒密钥对ai数据密文进行解密,这显然不需要加解密两端(也称数据两端)共享对称密钥,避免现有加解密两端(也称数据两端)共享对称密钥带来的密钥泄露的风险;进一步地,在本实施例中,中心节点在发送白盒密钥之前,会基于认证授权请求对目标计算节点进行授权校验,只有经过授权的目标计算节点才能被分配对应的白盒密钥来解密ai数据密文,并且,即使目标计算节点后续将其被分配的白盒密钥泄露,由于其它计算节点不存在与该白盒密钥匹配的白盒表,基于白盒密码算法的要求,其是不能成功利用该白盒密钥来解密ai数据密文的,这保证了数据安全性。
30.下面对图3所示流程进行描述:参见图3,图3为本技术实施例提供的步骤201实现流程图。如图3所示,该流程可包
括以下步骤:步骤301,根据已获得的目标计算节点的签名密钥,对上述授权信息进行签名,得到授权签名信息。
31.在本实施例中,中心节点可在目标计算节点注册至本中心节点的注册过程中会获得目标计算节点的签名密钥对(比如签名密钥对由签名私钥、验证公钥组成)。作为一个实施例,签名密钥对可为中心节点动态生成的,此时,中心节点还会将动态生成的签名密钥对中的验证公钥发给目标计算节点。作为另一个实施例,签名密钥对也可为计算节点在收到外部导入的签名密钥对后在上述注册过程中上报给中心节点的,本实施例并不具体限定。
32.在获得上述签名密钥对后,即可根据该签名密钥对中的签名私钥对上述授权信息进行签名,得到授权签名信息。
33.步骤302,将上述ai数据密文和上述授权签名信息发送至目标计算节点。
34.至此,完成图3所示流程。
35.通过图3所示流程,实现了如何将授权信息和ai数据密文发送至目标计算节点。
36.下面站在计算节点的角度描述本技术实施例提供的方法:参见图4,图4为本技术实施例提供的另一流程图。如图4所示,该流程可包括以下步骤:步骤401,接收中心节点发送的授权信息和ai数据密文。
37.如上图3所示流程的描述,假若上述授权信息是通过签名密钥对中的签名私钥对上述授权信息进行签名得到的授权签名信息,则此时计算节点可先根据签名密钥对中的验证公钥对授权签名信息进行验签,最终会得到上述中心节点发送的授权信息。
38.步骤402,向所述中心节点发送认证授权请求,以由所述中心节点基于所述认证授权请求对目标计算节点进行授权校验;接收中心节点基于认证授权请求返回的白盒密钥。
39.本步骤402对应上述步骤203,这里不再赘述。
40.步骤403,利用白盒密钥和已被分配的白盒表,解密ai数据密文以至少和中心节点共享目标ai数据。
41.在本实施例中,利用白盒密钥和已被分配的白盒表确定上述目标加密密钥,之后,即可利用目标加密密钥解密ai数据密文得到目标ai数据。这里,利用白盒密钥和已被分配的白盒表确定目标加密密钥的方式类似现有基于白盒密钥和白盒表确定密钥明文的方式,不再赘述。
42.在本实施例中,计算节点被分配的白盒表,是在该计算节点在注册至中心节点的注册过程中,接收中心节点为本计算节点动态分配的对应的白盒表。这里,白盒表被嵌入了本计算节点的物理特征参数,物理特征参数用于指示本计算节点使用所述白盒表,禁止其它计算节点使用所述白盒表;物理特征参数比如为mac地址、cpu序列号等,本实施例并不具体限定。通过在计算节点被分配的白盒表中嵌入该计算节点的物理特征参数,可以实现只有该计算节点使用其被分配的白盒表,其它计算节点即使获得了该白盒表,基也是被禁止使用该白盒表的。
43.至此,完成图4所示流程。
44.通过图4所示流程可以看出,在本实施例中,中心节点作为加密端,其可使用不同于白盒密钥的目标加密密钥对目标ai数据进行加密得到ai数据密文,而目标计算节点作为
解密端,其使用白盒密钥对ai数据密文进行解密,这显然不需要加解密两端(也称数据两端)共享对称密钥,避免现有加解密两端(也称数据两端)共享对称密钥带来的密钥泄露的风险;进一步地,在本实施例中,中心节点在发送白盒密钥之前,会基于认证授权请求对目标计算节点进行授权校验,只有经过授权的目标计算节点才能被分配对应的白盒密钥来解密ai数据密文,并且,即使目标计算节点后续将其被分配的白盒密钥泄露,由于其它计算节点不存在与该白盒密钥匹配的白盒表,基于白盒密码算法的要求,其是不能成功利用该白盒密钥来解密ai数据密文的,这保证了数据安全性。
45.以上对本技术实施例提供的方法进行了描述,下面对本技术实施例提供的系统和装置进行描述:本实施例提供了一种基于白盒密钥的ai数据共享系统,该系统包括:中心节点和ai平台中的至少一个计算节点;中心节点负责管理ai平台中的至少一个计算节点。
46.作为一个实施例,中心节点执行如上述图2所述的方法中的步骤;任一计算节点,作为需要共享目标ai数据的目标计算节点,执行如上述图4所示方法中的步骤。
47.在具体实现时,如图5所示,中心节点可包括:认证授权模块,用于为目标计算节点确定对应的授权信息;所述目标计算节点是指需要共享目标ai数据的计算节点。
48.ai数据存储模块,用于存储所述目标ai数据对应的ai数据密文;ai数据分发模块,用于将所述目标ai数据对应的ai数据密文和目标计算节点对应的授权信息发送至目标计算节点;以及,接收目标计算节点在收到ai数据密文和授权信息之后的认证授权请求;所述认证授权模块,进一步基于所述认证授权请求对目标计算节点进行授权校验;密码计算模块,用于在所述目标计算节点通过授权校验,则根据所述认证授权请携带的所述授权密钥id、以及所述目标计算节点被分配的白盒表对应的随机因子,生成对应的白盒密钥。
49.ai数据分发模块进一步向目标计算节点发送白盒密钥,以由目标计算节点利用所述白盒密钥和已被分配的白盒表解密ai数据密文来共享所述目标ai数据。
50.可选地,密码计算模块根据所述认证授权请携带的所述授权密钥id、以及所述目标计算节点被分配的白盒表对应的随机因子,生成对应的白盒密钥包括:依据所述授权密钥id,获得所述授权密钥id对应的所述目标加密密钥;依据所述目标加密密钥、所述目标计算节点被分配的白盒表对应的随机因子,并基于白盒密码算法,生成所述白盒密钥。
51.可选地,所述目标加密密钥是基于不同于白盒密码算法的其它密码算法确定出的密钥。
52.可选地,所述ai数据分发模块将所述授权信息和ai数据密文发送至目标计算节点包括:依据已获得的所述目标计算节点的签名密钥,对所述授权信息进行签名,得到授
权签名信息;将所述ai数据密文和所述授权签名信息发送至所述目标计算节点。
53.可选地,ai数据分发模块进一步在目标计算节点注册至本中心节点的注册过程中,为目标计算节点动态分配对应的白盒表并发送给目标计算节点,所述白盒表具有对应的随机因子。
54.可选地,所述白盒密钥嵌入了有效时间;所述有效时间,用于指示所述目标计算节点在所述有效时间内利用白盒密钥进行解密所述ai数据密文有效。
55.至此,完成图5所示装置的结构描述。
56.在具体实现时,如图6所示,计算节点可包括:密码模块,用于接收所述中心节点发送的授权信息和ai数据密文;所述ai数据密文是通过使用目标加密密钥对所述目标ai数据进行加密得到的密文;所述授权信息至少包含:授权密钥标识id;授权密钥id用于表征所述目标加密密钥;以及,向所述中心节点发送认证授权请求,以由所述中心节点基于所述认证授权请求对目标计算节点进行授权校验;以及,接收所述中心节点基于所述认证授权请求返回的白盒密钥;所述白盒密钥是在所述计算节点通过授权校验后,由中心节点根据所述认证授权请携带的所述授权密钥id、以及所述计算节点被分配的白盒表对应的随机因子生成的;以及,利用所述白盒密钥和已被分配的白盒表,解密ai数据密文以至少和所述中心节点共享所述目标ai数据;计算模块,用于基于所述目标ai数据进行相应的数据计算比如目标识别等,本实施例并不具体限定。
57.可选地,密码模块在向所述中心节点发起注册的过程中,进一步接收所述中心节点为本计算节点动态分配的对应的白盒表,所述白盒表被嵌入了本计算节点的物理特征参数,所述物理特征参数用于指示本计算节点使用所述白盒表,禁止其它计算节点使用所述白盒表。
58.至此,完成图6所示装置的结构描述。
59.对应地,本技术还提供了图5或图6所示装置的硬件结构。参见图7,该硬件结构可包括:处理器和机器可读存储介质,机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本技术上述示例公开的方法。
60.基于与上述方法同样的申请构思,本技术实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本技术上述示例公开的方法。
61.示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radom access memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
62.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可
以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
63.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
64.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
65.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
66.而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
67.这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
68.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1