一种风控场景下的纵向联邦特征衍生方法转让专利

申请号 : CN202210433477.3

文献号 : CN114553395B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郭梁王超宋鎏屹毛仁歆刘洋

申请人 : 蓝象智联(杭州)科技有限公司

摘要 :

本发明公开了一种风控场景下的纵向联邦特征衍生方法。它包括以下步骤:参与方根据发起方发送的加密特征enc(A)以及自身数据库中存储的相同用户对应的特征数据B计算出与每个用户对应的衍生特征enc(C);参与方计算出所有分箱的边界;参与方在发起方的配合下对每个衍生特征enc(C)进行分箱;参与方根据发起方发送的每个用户对应的加密标签enc(Y)、衍生特征enc(C)的分箱信息计算出每个分箱中的好样本数量密文、总样本数量密文,并将计算结果发送给发起方;发起方将每个分箱中的好样本数量密文、总样本数量密文解密后计算出信息值IV,判断衍生特征enc(C)是否为有效衍生特征。本发明可以在发起方、参与方的数据不出库的情况下完成特征衍生,保护了双方的数据隐私。

权利要求 :

1.一种风控场景下的纵向联邦特征衍生方法,其特征在于,包括以下步骤:

S1:发起方客户端初始化分箱个数以及半同态加密的公钥、私钥,将分箱个数、半同态加密的公钥发送给参与方客户端;

S2:发起方客户端从自身数据库中采集K个用户对应的特征数据A,发起方客户端采用半同态加密算法对每个用户对应的特征数据A加密得到每个用户对应的加密特征enc(A)并发送给参与方客户端,参与方客户端根据发起方客户端发送的加密特征enc(A)以及自身数据库中存储的相同的K个用户对应的特征数据B计算出与每个用户对应的半同态加密状态的衍生特征enc(C);

S3:参与方客户端采用半同态加密算法计算出K个用户对应的衍生特征enc(C)中的明文最大值、明文最小值,并根据分箱个数计算出衍生特征enc(C)对应的所有分箱的边界;

S4:参与方客户端在发起方客户端的配合下对每个衍生特征enc(C)进行分箱并记录对应的分箱信息;

S5:发起方客户端采用半同态加密算法将每个用户对应的标签Y加密得到对应的加密标签enc(Y)并发送给参与方客户端,Y的值为1或0,用户对应的标签Y=1表示该用户为好样本,用户对应的标签Y=0表示该用户为坏样本;

S6:参与方客户端根据每个用户对应的加密标签enc(Y)与该用户对应的衍生特征enc(C)的分箱信息计算出每个分箱中的好样本数量的半同态加密密文、总样本数量的半同态加密密文,并将计算结果发送给发起方客户端;

S7:发起方客户端将每个分箱中的好样本数量的半同态加密密文、总样本数量的半同态加密密文解密后计算出信息值IV,根据信息值IV判断衍生特征enc(C)是否为有效衍生特征,并将判断结果发送给参与方客户端。

2.根据权利要求1所述的一种风控场景下的纵向联邦特征衍生方法,其特征在于,所述步骤S2中计算与某个用户对应的半同态加密状态的衍生特征enc(C)的方法包括以下步骤:参与方客户端采用半同态加密算法加密该用户对应的特征数据B得到加密特征enc(B),参与方客户端对该用户对应的加密特征enc(A)、加密特征enc(B)进行加法或减法或乘法运算,得到衍生特征enc(C)。

3.根据权利要求1所述的一种风控场景下的纵向联邦特征衍生方法,其特征在于,所述步骤S2中计算与某个用户对应的半同态加密状态的衍生特征enc(C)的方法包括以下步骤:参与方客户端将该用户对应的特征数据B取倒数得到数据1/B,采用半同态加密算法加密1/B得到enc(1/B),然后计算衍生特征enc(C)= enc(A)* enc(1/B)。

4.根据权利要求1所述的一种风控场景下的纵向联邦特征衍生方法,其特征在于,所述步骤S2中计算与某个用户对应的半同态加密状态的衍生特征enc(C)的方法包括以下步骤:参与方客户端根据该用户对应的加密特征enc(A)计算出enc(1/A),采用半同态加密算法加密该用户对应的特征数据B得到加密特征enc(B),计算衍生特征enc(C)= enc(1/A)* enc(B);

参与方客户端根据该用户对应的加密特征enc(A)计算出enc(1/A)的方法如下:M1:参与方客户端采用半同态加密算法计算出所有加密特征enc(A)中的明文最大值D,n n找出数值2,使得0<D/2<2满足,n为整数;

n n

M2:将该用户对应的加密特征enc(A)除以2得到enc(f)= enc(A) /2;

M3:参与方客户端计算enc(e)= enc(1);

M4:参与方客户端计算enc(d)= enc(2)‑ enc(f);

M5:参与方客户端计算enc(e1)= enc(d)* enc(e);

M6:参与方客户端计算enc(f1)= enc(d)* enc(f);

M7:参与方客户端计算enc(f)= enc(f1),enc(e)= enc(e1);

M8:重复执行M4‑M7步骤m次,得到的enc(e)就是enc(1/f)的值,即enc(1/f)= enc(e);

n

M9:参与方客户端计算出enc(1/A)= enc(1/f)* 2。

5.根据权利要求1所述的一种风控场景下的纵向联邦特征衍生方法,其特征在于,所述步骤S3中计算出衍生特征enc(C)对应的所有分箱的边界的方法如下:计算p=(a‑b)/q,其中,a为所有衍生特征enc(C)中的明文最大值,b为所有衍生特征enc(C)中的明文最小值,q为分箱个数;

q个分箱依次编号为1,2……q,编号为1的分箱的明文边界为[b,b+p),编号为2的分箱的明文边界为[b+p,b+2p),…,编号为q‑1的分箱的明文边界为[b+(q‑2)p,b+(q‑1)p),编号为q的分箱的明文边界为[b+(q‑1)p,a];

对所有分箱的明文边界采用半同态加密算法加密,得到衍生特征enc(C)对应的所有分箱的边界:编号为1的分箱的边界为[enc(b),enc(b+p)),编号为2的分箱的边界为[enc(b+p),enc(b+2p)),…,编号为q‑1的分箱的边界为[enc(b+(q‑2)p),enc(b+(q‑1)p)),编号为q的分箱的边界为[enc(b+(q‑1)p),enc(a)]。

6.根据权利要求1所述的一种风控场景下的纵向联邦特征衍生方法,其特征在于,所述步骤S4中参与方客户端在发起方客户端的配合下对某个衍生特征enc(C) 进行分箱并记录对应的分箱信息包括以下步骤:参与方客户端在发起方客户端的配合下比较该衍生特征enc(C)与每个分箱边界enc(H)的大小,从而确定该衍生特征enc(C)属于哪个分箱,如果该衍生特征enc(C)属于第r个分箱,则第r个分箱中该衍生特征enc(C)对应的分箱信息为enc(1),其他分箱中该衍生特征enc(C)对应的分箱信息为enc(0);

所述参与方客户端在发起方客户端的配合下比较该衍生特征enc(C)与某个分箱边界enc(H)的大小包括以下步骤:N1:参与方客户端计算enc(V)=enc(inv((C+H)*0.5)),inv((C+H)*0.5)表示(C+H)*0.5的倒数;

N2:参与方客户端计算enc(W1)=enc(C)*enc(V)*enc(0.5),enc(W2)=enc(1)‑ enc(W1);

N3:参与方客户端计算enc(W1)=enc(inv(enc(W1)*2+enc(W2)*2)),enc(W2) =enc(1)‑enc(W1),inv(enc(W1)*2+enc(W2)*2)表示enc(W1)*2+enc(W2)*2的倒数;

N4:重复执行N3步骤t次,将最后得到的enc(W1)、enc(W2)发送给发起方客户端;

N5:发起方客户端将enc(W1)、enc(W2)解密,得到明文的W1、W2,比较W1、W2的大小得到enc(W1)、enc(W2)的大小,发起方客户端将比较结果发送到参与方客户端,如果enc(W1)>enc(W2),则表示enc(C)>enc(H),如果enc(W1)=enc(W2),则表示enc(C)=enc(H),如果enc(W1)<enc(W2),则表示enc(C)<enc(H)。

7.根据权利要求1所述的一种风控场景下的纵向联邦特征衍生方法,其特征在于,所述步骤S4中参与方客户端在发起方客户端的配合下对某个衍生特征enc(C) 进行分箱并记录对应的分箱信息包括以下步骤:分箱个数为q,参与方客户端将q个分箱依次编号为1,2……q,参与方客户端在发起方客户端的配合下比较该衍生特征enc(C)与每个分箱边界enc(H)的大小,得到与每个分箱边界enc(H)对应的比较结果,根据比较结果计算出每个分箱中该衍生特征enc(C)对应的分箱信息;

参与方客户端在发起方客户端的配合下比较该衍生特征enc(C)与某个分箱边界enc(H)的大小得到对应比较结果的方法包括以下步骤:N1:参与方客户端计算enc(V)=enc(inv((C+H)*0.5)),inv((C+H)*0.5)表示(C+H)*0.5的倒数;

N2:参与方客户端计算enc(W1)=enc(C)*enc(V)*enc(0.5),enc(W2)=enc(1)‑ enc(W1);

N3:参与方客户端计算enc(W1)=enc(inv(enc(W1)*2+enc(W2)*2)),enc(W2) =enc(1)‑enc(W1),inv(enc(W1)*2+enc(W2)*2)表示enc(W1)*2+enc(W2)*2的倒数;

N4:重复执行N3步骤t次,将最后得到的enc(W1)、enc(W2)发送给发起方客户端;

N5:发起方客户端将enc(W1)、enc(W2)解密,得到明文的W1、W2,比较W1、W2的大小,如果W1≥W2,发送比较结果enc(1)发送到参与方客户端,如果W1<W2,发送比较结果enc(0)发送到参与方客户端;

编号为j的分箱中该衍生特征enc(C)对应的分箱信息通过如下方法获得,1≤j≤q:当1≤j≤q‑1时,编号为j的分箱中该衍生特征enc(C)对应的分箱信息=第j个分箱左边界对应的比较结果减去第j个分箱右边界对应的比较结果;

当j=q时,编号为j的分箱中该衍生特征enc(C)对应的分箱信息=第j个分箱左边界对应的比较结果。

8.根据权利要求6或7所述的一种风控场景下的纵向联邦特征衍生方法,其特征在于,所述步骤S6包括以下步骤:S61:参与方客户端计算每个分箱中的总样本数量的半同态加密密文;

计算某个分箱中的总样本数量的半同态加密密文的方法如下:

将该分箱中每个用户对应的衍生特征enc(C)对应的分箱信息累加得到的累加和enc(G),enc(G)为该分箱中总样本数量的半同态加密密文;

S62:参与方客户端计算每个分箱中的好样本数量的半同态加密密文;

参与方客户端计算某个分箱中的好样本数量的半同态加密密文的方法如下:

参与方客户端将该分箱中每个用户对应的衍生特征enc(C)对应的分箱信息与该用户对应的加密标签enc(Y)相乘得到对应的中间结果enc(T),将得到的所有中间结果enc(T) 累加得到的累加和enc(F),enc(F)为该分箱中好样本数量的半同态加密密文;

其中,Y的值为1或0,用户对应的标签Y=1表示该用户为好样本,用户对应的标签Y=0表示该用户为坏样本;

S63:参与方客户端将每个分箱中的总样本数量的半同态加密密文、每个分箱中的好样本数量的半同态加密密文发送给发起方客户端。

9.根据权利要求8所述的一种风控场景下的纵向联邦特征衍生方法,其特征在于,所述步骤S7包括以下步骤:S71:发起方客户端将每个分箱中的好样本数量的半同态加密密文解密得到好样本数量的明文数值,将每个分箱中的总样本数量的半同态加密密文解密得到总样本数量的明文数值,第i个分箱中的好样本数量的明文数值为F(i),第i个分箱中的总样本数量的明文数值为G(i),1≤i≤q,q为分箱个数;

S72:发起方客户端计算出每个分箱中的坏样本数量,第i个分箱中的坏样本数量为E(i) = G(i)‑ F(i),发起方客户端将所有分箱中的好样本数量累加得到好样本总数F(总),发起方客户端将所有分箱中的坏样本数量累加得到坏样本总数E(总);

S73:发起方客户端计算信息值IV,

其中,IVi表示第i个分箱对应的信息值;

S74:发起方客户端判断IV是否大于设定值L,如果大于L,判断衍生特征enc(C)是有效衍生特征,否则判断衍生特征enc(C)是无效衍生特征,并将判断结果发送给参与方客户端。

说明书 :

一种风控场景下的纵向联邦特征衍生方法

技术领域

[0001] 本发明涉及数据特征衍生技术领域,尤其涉及一种风控场景下的纵向联邦特征衍生方法。

背景技术

[0002] 在实际业务中,多数变量没有实际含义,不适合直接建模,如用户地址(多种属性值的分类变量)、用户日消费金额(弱数值变量),而此类变量在做一定的变换或者组合后,往往具有较强的信息价值,对数据敏感性和机器学习实战经验能起到较大的帮助作用。所以实际场景需要对基础特征做一些衍生类的工作,也就是业内常说的如何生成万维数据。
[0003] 特征衍生常用于金融风控场景。目前,发起方的数据与参与方的数据进行特征衍生时,都是根据衍生特征规则(常见的衍生特征规则为加减乘除)采用明文方式进行,会将自己的数据泄露给对方,无法保护各自的数据隐私。

发明内容

[0004] 本发明为了解决上述技术问题,提供了一种风控场景下的纵向联邦特征衍生方法,其可以在发起方、参与方的数据不出库的情况下完成特征衍生,保护了双方的数据隐私,避免数据泄露。
[0005] 为了解决上述问题,本发明采用以下技术方案予以实现:
[0006] 本发明的一种风控场景下的纵向联邦特征衍生方法,包括以下步骤:
[0007] S1:发起方客户端初始化分箱个数以及半同态加密的公钥、私钥,将分箱个数、半同态加密的公钥发送给参与方客户端;
[0008] S2:发起方客户端从自身数据库中采集K个用户对应的特征数据A,发起方客户端采用半同态加密算法对每个用户对应的特征数据A加密得到每个用户对应的加密特征enc(A)并发送给参与方客户端,参与方客户端根据发起方客户端发送的加密特征enc(A)以及自身数据库中存储的相同的K个用户对应的特征数据B计算出与每个用户对应的半同态加密状态的衍生特征enc(C);
[0009] S3:参与方客户端采用半同态加密算法计算出K个用户对应的衍生特征enc(C)中的明文最大值、明文最小值,并根据分箱个数计算出衍生特征enc(C)对应的所有分箱的边界;
[0010] S4:参与方客户端在发起方客户端的配合下对每个衍生特征enc(C)进行分箱并记录对应的分箱信息;
[0011] S5:发起方客户端采用半同态加密算法将每个用户对应的标签Y加密得到对应的加密标签enc(Y)并发送给参与方客户端;
[0012] S6:参与方客户端根据每个用户对应的加密标签enc(Y)与该用户对应的衍生特征enc(C)的分箱信息计算出每个分箱中的好样本数量的半同态加密密文、总样本数量的半同态加密密文,并将计算结果发送给发起方客户端;
[0013] S7:发起方客户端将每个分箱中的好样本数量的半同态加密密文、总样本数量的半同态加密密文解密后计算出信息值IV,根据信息值IV判断衍生特征enc(C)是否为有效衍生特征,并将判断结果发送给参与方客户端。
[0014] 在本方案中,发起方客户端、参与方客户端采用半同态加密算法计算出每个用户对应的半同态加密状态的衍生特征enc(C),衍生特征enc(C)存储在参与方客户端,由于衍生特征enc(C)是密文,参与方客户端只有半同态加密的公钥,没有私钥,所以参与方客户端无法知道衍生特征enc(C)的明文信息,同时衍生特征enc(C)不在发起方客户端,发起方客户端也无法知道衍生特征enc(C)的明文信息,即发起方客户端、参与方客户端都无法知道衍生特征enc(C)的明文信息。
[0015] 半同态加密是一种特殊的加密方法,它允许直接对加密数据执行计算,如加法和乘法,减法相当于在加法前面加上负号,而计算过程不会泄露原文的任何信息。计算的结果仍然是加密的,拥有密钥的用户对处理过的密文数据进行解密后,得到的正好是处理后原文的结果,所以半同态加密算法对于密文加减乘都有支持。
[0016] 接着,参与方客户端计算每个分箱的边界,对每个衍生特征enc(C)进行分箱并记录对应的分箱信息,然后,参与方客户端根据每个用户对应的加密标签enc(Y)与该用户对应的衍生特征enc(C)的分箱信息计算出每个分箱中的好样本数量的半同态加密密文、总样本数量的半同态加密密文,参与方客户端无法知道每个分箱中的好样本数量、总样本数量的明文值。
[0017] 最后,发起方客户端将每个分箱中的好样本数量的半同态加密密文、总样本数量的半同态加密密文解密后计算出信息值IV,根据信息值IV判断衍生特征enc(C)是否为有效衍生特征,并将判断结果发送给参与方客户端,如果衍生特征enc(C)为有效衍生特征,则参与方客户端将生成的衍生特征enc(C)存储,用于后续的纵向联邦模型训练,如果衍生特征enc(C)为无效衍生特征,则参与方客户端将生成的衍生特征enc(C)删除。
[0018] 这个特征衍生过程中,发起方、参与方的数据都没有明文出库,衍生特征enc(C)为密文状态,参与方客户端没有私钥无法知道衍生特征enc(C)的明文信息,发起方客户端没有收到衍生特征enc(C),也无法知道衍生特征enc(C)的明文信息,通过密文形式分析衍生特征enc(C)是否为有效衍生特征,没有泄露相关数据信息,保护了双方的数据隐私,避免了数据泄露。半同态加密算法支持GPU加速,计算速度提升8倍,可自动实现海量衍生特征筛选。
[0019] 作为优选,所述步骤S2中计算与某个用户对应的半同态加密状态的衍生特征enc(C)的方法包括以下步骤:
[0020] 参与方客户端采用半同态加密算法加密该用户对应的特征数据B得到加密特征enc(B),参与方客户端对该用户对应的加密特征enc(A)、加密特征enc(B)采用半同态加密的加法或减法或乘法运算,得到衍生特征enc(C)。半同态加密算法支持加法、乘法运算,减法相当于在加法前面加上负号,所以半同态加密算法对于密文加减乘都有支持。
[0021] 作为优选,所述步骤S2中计算与某个用户对应的半同态加密状态的衍生特征enc(C)的方法包括以下步骤:
[0022] 参与方客户端将该用户对应的特征数据B取倒数得到数据1/B,采用半同态加密算法加密1/B得到enc(1/B),然后计算衍生特征enc(C)= enc(A)* enc(1/B)。enc(A)* enc(1/B)= enc(A/B),所以C=A/B。
[0023] 作为优选,所述步骤S2中计算与某个用户对应的半同态加密状态的衍生特征enc(C)的方法包括以下步骤:
[0024] 参与方客户端根据该用户对应的加密特征enc(A)计算出enc(1/A),采用半同态加密算法加密该用户对应的特征数据B得到加密特征enc(B),计算衍生特征enc(C)=enc(1/A)*enc(B);
[0025] 参与方客户端根据该用户对应的加密特征enc(A)计算出enc(1/A)的方法如下:
[0026] M1:参与方客户端采用半同态加密算法计算出所有加密特征enc(A)中的明文最大n n值D,找出数值2,使得0<D/2<2满足,n为整数;
[0027] M2:将该用户对应的加密特征enc(A)除以2n得到enc(f)=enc(A)/2n;
[0028] M3:参与方客户端计算enc(e)=enc(1);
[0029] M4:参与方客户端计算enc(d)=enc(2)‑enc(f);
[0030] M5:参与方客户端计算enc(e1)=enc(d)* enc(e);
[0031] M6:参与方客户端计算enc(f1)=enc(d)* enc(f);
[0032] M7:参与方客户端计算enc(f)=enc(f1),enc(e)=enc(e1);
[0033] M8:重复执行M4‑M7步骤m次,得到的enc(e)就是enc(1/f)的值,即enc(1/f)= enc(e);
[0034] M9:参与方客户端计算出enc(1/A)=enc(1/f)*2n。
[0035] enc(C)= enc(1/A)* enc(B)= enc(B/A),C=B/A,所以本方法能支持半同态加密的除法运算,解决了现有半同态加密算法无法支持除法运算的问题。将加密特征enc(A)除以n n2使得0<enc(A)/2 <2,保证了计算精度。由于半同态加密的加法和乘法算子支持GPU加速,所以比较算法也可以获得GPU加速。
[0036] 作为优选,所述步骤S3中计算出衍生特征enc(C)对应的所有分箱的边界的方法如下:
[0037] 计算p=(a‑b)/q,其中,a为所有衍生特征enc(C)中的明文最大值,b为所有衍生特征enc(C)中的明文最小值,q为分箱个数;
[0038] q个分箱依次编号为1,2……q,编号为1的分箱的明文边界为[b,b+p),编号为2的分箱的明文边界为[b+p,b+2p),…,编号为q‑1的分箱的明文边界为[b+(q‑2)p,b+(q‑1)p),编号为q的分箱的明文边界为[b+(q‑1)p,a];
[0039] 对所有分箱的明文边界采用半同态加密算法加密,得到衍生特征enc(C)对应的所有分箱的边界:编号为1的分箱的边界为[enc(b),enc(b+p)),编号为2的分箱的边界为[enc(b+p),enc(b+2p)),…,编号为q‑1的分箱的边界为[enc(b+(q‑2)p),enc(b+(q‑1)p)),编号为q的分箱的边界为[enc(b+(q‑1)p),enc(a)]。
[0040] 作为优选,所述步骤S4中参与方客户端在发起方客户端的配合下对某个衍生特征enc(C) 进行分箱并记录对应的分箱信息包括以下步骤:
[0041] 参与方客户端在发起方客户端的配合下比较该衍生特征enc(C)与每个分箱边界enc(H)的大小,从而确定该衍生特征enc(C)属于哪个分箱,如果该衍生特征enc(C)属于第r个分箱,则第r个分箱中该衍生特征enc(C)对应的分箱信息为enc(1),其他分箱中该衍生特征enc(C)对应的分箱信息为enc(0);
[0042] 所述参与方客户端在发起方客户端的配合下比较该衍生特征enc(C)与某个分箱边界enc(H)的大小包括以下步骤:
[0043] N1:参与方客户端计算enc(V)=enc(inv((C+H)*0.5)),inv((C+H)*0.5)表示(C+H)*0.5的倒数;
[0044] N2:参与方客户端计算enc(W1)=enc(C)*enc(V)*enc(0.5),enc(W2)=enc(1)‑ enc(W1);
[0045] N3:参与方客户端计算enc(W1)=enc(inv(enc(W1)*2+enc(W2)*2)),enc(W2) =enc(1)‑enc(W1),inv(enc(W1)*2+enc(W2)*2)表示enc(W1)*2+enc(W2)*2的倒数;
[0046] N4:重复执行N3步骤t次,将最后得到的enc(W1)、enc(W2)发送给发起方客户端;
[0047] N5:发起方客户端将enc(W1)、enc(W2)解密,得到明文的W1、W2,比较W1、W2的大小得到enc(W1)、enc(W2)的大小,发起方客户端将比较结果发送到参与方客户端,如果enc(W1)>enc(W2),则表示enc(C)>enc(H),如果enc(W1)=enc(W2),则表示enc(C)=enc(H),如果enc(W1)<enc(W2),则表示enc(C)<enc(H)。
[0048] 参与方客户端计算enc(inv((C+H)*0.5))的方法与上述计算enc(1/A)的方法一样。
[0049] 作为优选,所述步骤S4中参与方客户端在发起方客户端的配合下对某个衍生特征enc(C) 进行分箱并记录对应的分箱信息包括以下步骤:
[0050] 分箱个数为q,参与方客户端将q个分箱依次编号为1,2……q,参与方客户端在发起方客户端的配合下比较该衍生特征enc(C)与每个分箱边界enc(H)的大小,得到与每个分箱边界enc(H)对应的比较结果,根据比较结果计算出每个分箱中该衍生特征enc(C)对应的分箱信息;
[0051] 参与方客户端在发起方客户端的配合下比较该衍生特征enc(C)与某个分箱边界enc(H)的大小得到对应比较结果的方法包括以下步骤:
[0052] N1:参与方客户端计算enc(V)=enc(inv((C+H)*0.5)),inv((C+H)*0.5)表示(C+H)*0.5的倒数;
[0053] N2:参与方客户端计算enc(W1)=enc(C)*enc(V)*enc(0.5),enc(W2)=enc(1)‑ enc(W1);
[0054] N3:参与方客户端计算enc(W1)=enc(inv(enc(W1)*2+enc(W2)*2)),enc(W2) =enc(1)‑enc(W1),inv(enc(W1)*2+enc(W2)*2)表示enc(W1)*2+enc(W2)*2的倒数;
[0055] N4:重复执行N3步骤t次,将最后得到的enc(W1)、enc(W2)发送给发起方客户端;
[0056] N5:发起方客户端将enc(W1)、enc(W2)解密,得到明文的W1、W2,比较W1、W2的大小,如果W1≥W2,发送比较结果enc(1)发送到参与方客户端,如果W1<W2,发送比较结果enc(0)发送到参与方客户端;
[0057] 编号为j的分箱中该衍生特征enc(C)对应的分箱信息通过如下方法获得,1≤j≤q:
[0058] 当1≤j≤q‑1时,编号为j的分箱中该衍生特征enc(C)对应的分箱信息=第j个分箱左边界对应的比较结果减去第j个分箱右边界对应的比较结果;
[0059] 当j=q时,编号为j的分箱中该衍生特征enc(C)对应的分箱信息=第j个分箱左边界对应的比较结果。
[0060] 作为优选,所述步骤S6包括以下步骤:
[0061] S61:参与方客户端计算每个分箱中的总样本数量的半同态加密密文;
[0062] 计算某个分箱中的总样本数量的半同态加密密文的方法如下:
[0063] 将该分箱中每个用户对应的衍生特征enc(C)对应的分箱信息累加得到的累加和enc(G),enc(G)为该分箱中总样本数量的半同态加密密文;
[0064] S62:参与方客户端计算每个分箱中的好样本数量的半同态加密密文;
[0065] 参与方客户端计算某个分箱中的好样本数量的半同态加密密文的方法如下:
[0066] 参与方客户端将该分箱中每个用户对应的衍生特征enc(C)对应的分箱信息与该用户对应的加密标签enc(Y)相乘得到对应的中间结果enc(T),将得到的所有中间结果enc(T) 累加得到的累加和enc(F),enc(F)为该分箱中好样本数量的半同态加密密文;
[0067] 其中,Y的值为1或0,用户对应的标签Y=1表示该用户为好样本,用户对应的标签Y=0表示该用户为坏样本;
[0068] S63:参与方客户端将每个分箱中的总样本数量的半同态加密密文、每个分箱中的好样本数量的半同态加密密文发送给发起方客户端。
[0069] 作为优选,所述步骤S7包括以下步骤:
[0070] S71:发起方客户端将每个分箱中的好样本数量的半同态加密密文解密得到好样本数量的明文数值,将每个分箱中的总样本数量的半同态加密密文解密得到总样本数量的明文数值,第i个分箱中的好样本数量的明文数值为F(i),第i个分箱中的总样本数量的明文数值为G(i),1≤i≤q,q为分箱个数;
[0071] S72:发起方客户端计算出每个分箱中的坏样本数量,第i个分箱中的坏样本数量为E(i) = G(i)‑ F(i),发起方客户端将所有分箱中的好样本数量累加得到好样本总数F(总),发起方客户端将所有分箱中的坏样本数量累加得到坏样本总数E(总);
[0072] S73:发起方客户端计算信息值IV,
[0073] ,
[0074] ,
[0075] 其中,IVi表示第i个分箱对应的信息值;
[0076] S74:发起方客户端判断IV是否大于设定值L,如果大于L,判断衍生特征enc(C)是有效衍生特征,否则判断衍生特征enc(C)是无效衍生特征,并将判断结果发送给参与方客户端。
[0077] 本发明的有益效果是:(1)可以在发起方、参与方的数据不出库的情况下完成特征衍生,保护了双方的数据隐私,避免数据泄露。(2)支持GPU加速,计算速度提升8倍,可自动实现海量衍生特征筛选。(3)使用了半同态加密算法,相比秘密分享加密算法可以适应于低带宽场景。

附图说明

[0078] 图1是实施例1的流程图;
[0079] 图2是实施例1中举例的分箱信息表。

具体实施方式

[0080] 下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
[0081] 实施例1:本实施例的一种风控场景下的纵向联邦特征衍生方法,用于金融机构之间联合风控建模,如图1所示,包括以下步骤:
[0082] S1:发起方客户端初始化分箱个数q以及半同态加密的公钥、私钥,将分箱个数q、半同态加密的公钥发送给参与方客户端;
[0083] S2:发起方客户端从自身数据库中采集K个用户对应的特征数据A,发起方客户端采用半同态加密算法对每个用户对应的特征数据A加密得到每个用户对应的加密特征enc(A)并发送给参与方客户端,参与方客户端根据发起方客户端发送的加密特征enc(A)以及自身数据库中存储的相同的K个用户对应的特征数据B计算出与每个用户对应的半同态加密状态的衍生特征enc(C),参与方客户端将计算出的衍生特征enc(C)存储;
[0084] S3:参与方客户端采用半同态加密算法计算出K个用户对应的衍生特征enc(C)中的明文最大值、明文最小值,并根据分箱个数计算出衍生特征enc(C)对应的所有分箱的边界;
[0085] S4:参与方客户端在发起方客户端的配合下对每个衍生特征enc(C)进行分箱并记录对应的分箱信息;
[0086] S5:发起方客户端采用半同态加密算法将每个用户对应的标签Y加密得到对应的加密标签enc(Y)并发送给参与方客户端;
[0087] S6:参与方客户端根据每个用户对应的加密标签enc(Y)与该用户对应的衍生特征enc(C)的分箱信息计算出每个分箱中的好样本数量的半同态加密密文、总样本数量的半同态加密密文,并将计算结果发送给发起方客户端;
[0088] S7:发起方客户端将每个分箱中的好样本数量的半同态加密密文、总样本数量的半同态加密密文解密后计算出信息值IV,根据信息值IV判断衍生特征enc(C)是否为有效衍生特征,并将判断结果发送给参与方客户端,如果衍生特征C为有效衍生特征,则参与方客户端将生成的衍生特征C存储用于纵向联邦模型训练,如果衍生特征C为无效衍生特征,则参与方客户端将生成的衍生特征C删除。
[0089] 在本方案中,发起方客户端、参与方客户端采用半同态加密算法计算出每个用户对应的半同态加密状态的衍生特征enc(C),衍生特征enc(C)存储在参与方客户端,由于衍生特征enc(C)是密文,参与方客户端只有半同态加密的公钥,没有私钥,所以参与方客户端无法知道衍生特征enc(C)的明文信息,同时衍生特征enc(C)不在发起方客户端,发起方客户端也无法知道衍生特征enc(C)的明文信息,即发起方客户端、参与方客户端都无法知道衍生特征enc(C)的明文信息。
[0090] 接着,参与方客户端计算每个分箱的边界,对每个衍生特征enc(C)进行分箱并记录对应的分箱信息,然后,参与方客户端根据每个用户对应的加密标签enc(Y)与该用户对应的衍生特征enc(C)的分箱信息计算出每个分箱中的好样本数量的半同态加密密文、总样本数量的半同态加密密文,参与方客户端无法知道每个分箱中的好样本数量、总样本数量的明文值。
[0091] 最后,发起方客户端将每个分箱中的好样本数量的半同态加密密文、总样本数量的半同态加密密文解密后计算出信息值IV,根据信息值IV判断衍生特征enc(C)是否为有效衍生特征,并将判断结果发送给参与方客户端,如果衍生特征enc(C)为有效衍生特征,则参与方客户端将生成的衍生特征enc(C)存储,用于后续的纵向联邦模型训练,如果衍生特征enc(C)为无效衍生特征,则参与方客户端将生成的衍生特征enc(C)删除。
[0092] 这个特征衍生过程中,发起方、参与方的数据都没有明文出库,衍生特征enc(C)为密文状态,参与方客户端没有私钥无法知道衍生特征enc(C)的明文信息,发起方客户端没有收到衍生特征enc(C),也无法知道衍生特征enc(C)的明文信息,通过密文形式分析衍生特征enc(C)是否为有效衍生特征,没有泄露相关数据信息,保护了双方的数据隐私,避免了数据泄露。半同态加密算法支持GPU加速,计算速度提升8倍,可自动实现海量衍生特征筛选。
[0093] 步骤S2中计算与某个用户对应的半同态加密状态的衍生特征enc(C)的方法可以采用下述方法的任意一种:
[0094] 方法一:参与方客户端采用半同态加密算法加密该用户对应的特征数据B得到加密特征enc(B),参与方客户端对该用户对应的加密特征enc(A)、加密特征enc(B)采用半同态加密的加法运算,得到衍生特征enc(C);
[0095] 方法二:参与方客户端采用半同态加密算法加密该用户对应的特征数据B得到加密特征enc(B),参与方客户端对该用户对应的加密特征enc(A)、加密特征enc(B)采用半同态加密的减法运算,得到衍生特征enc(C);
[0096] 方法三:参与方客户端采用半同态加密算法加密该用户对应的特征数据B得到加密特征enc(B),参与方客户端对该用户对应的加密特征enc(A)、加密特征enc(B)采用半同态加密的乘法运算,得到衍生特征enc(C);
[0097] 方法四:参与方客户端将该用户对应的特征数据B取倒数得到数据1/B,采用半同态加密算法加密1/B得到enc(1/B),然后计算衍生特征enc(C)= enc(A)* enc(1/B)。enc(A)* enc(1/B)= enc(A/B),所以C=A/B。
[0098] 半同态加密是一种特殊的加密方法,它允许直接对加密数据执行计算,如加法和乘法(经典的Paillier算法和Elgamal算法),减法相当于在加法前面加上负号,而计算过程不会泄露原文的任何信息。计算的结果仍然是加密的,拥有密钥的用户对处理过的密文数据进行解密后,得到的正好是处理后原文的结果,所以半同态加密算法对于密文加减乘都有支持。
[0099] 方法五:参与方客户端根据该用户对应的加密特征enc(A)计算出enc(1/A),采用半同态加密算法加密该用户对应的特征数据B得到加密特征enc(B),计算衍生特征enc(C)=enc(1/A)*enc(B);
[0100] 参与方客户端根据该用户对应的加密特征enc(A)计算出enc(1/A)的方法如下:
[0101] M1:参与方客户端采用半同态加密算法计算出所有加密特征enc(A)中的明文最大n n值D,找出数值2,使得0<D/2<2满足,n为整数;
[0102] M2:将该用户对应的加密特征enc(A)除以2n得到enc(f)=enc(A)/2n;
[0103] M3:参与方客户端计算enc(e)=enc(1);
[0104] M4:参与方客户端计算enc(d)=enc(2)‑enc(f);
[0105] M5:参与方客户端计算enc(e1)=enc(d)* enc(e);
[0106] M6:参与方客户端计算enc(f1)=enc(d)* enc(f);
[0107] M7:参与方客户端计算enc(f)=enc(f1),enc(e)=enc(e1);
[0108] M8:重复执行M4‑M7步骤m次,得到的enc(e)就是enc(1/f)的值,即enc(1/f)= enc(e);
[0109] M9:参与方客户端计算出enc(1/A)=enc(1/f)*2n。
[0110] enc(C)= enc(1/A)* enc(B)= enc(B/A),C=B/A,所以方法五能支持半同态加密的除法运算,解决了现有半同态加密算法无法支持除法运算的问题。将加密特征enc(A)除以n n2使得0<enc(A)/2 <2,保证了计算精度。由于半同态加密的加法和乘法算子支持GPU加速,所以比较算法也可以获得GPU加速。
[0111] 还可采用上述五种方法算出对应的衍生特征enc(C),然后用本方案的方法计算每种衍生特征enc(C)是否为有效衍生特征,参与方客户端将有效的衍生特征enc(C)存储,用于后续的纵向联邦模型训练。
[0112] 半同态加密算法具备低通信的优点,但是现有方法无法解决海量衍生特征超高计算量耗时长的问题,需要一种高效的方法解决计算性能瓶颈,Montgomery乘法的数学表达式是A * B * R ^(‑1)mod M。A、B是同位长大数,R是2的M(位长)的次方,R ^ (‑1)是指R相对于M的模逆,即R ^ (‑1)满足以下条件的数:R * R ^ (‑1) mod M = 1;这个条件成立的充要条件是R与M互素,这一点只需要M为奇数即可。使用蒙哥马利乘法可以做大量的并行运算,而A * B mod M则必须先将A * B 计算出来再计算除法。所以当使用硬件实现蒙哥马利乘法会有很高的效率。使用上面方法以后,对比bassline是16核的CPU,用Tesla V100的GPU,半同态加密算法差不多有8倍左右的加速。
[0113] 步骤S3中计算出衍生特征enc(C)对应的所有分箱的边界的方法如下:
[0114] 计算p=(a‑b)/q,其中,a为所有衍生特征enc(C)中的明文最大值,b为所有衍生特征enc(C)中的明文最小值,q为分箱个数;
[0115] q个分箱依次编号为1,2……q,编号为1的分箱的明文边界为[b,b+p),编号为2的分箱的明文边界为[b+p,b+2p),…,编号为q‑1的分箱的明文边界为[b+(q‑2)p,b+(q‑1)p),编号为q的分箱的明文边界为[b+(q‑1)p,a];
[0116] 对所有分箱的明文边界采用半同态加密算法加密,得到衍生特征enc(C)对应的所有分箱的边界:编号为1的分箱的边界为[enc(b),enc(b+p)),编号为2的分箱的边界为[enc(b+p),enc(b+2p)),…,编号为q‑1的分箱的边界为[enc(b+(q‑2)p),enc(b+(q‑1)p)),编号为q的分箱的边界为[enc(b+(q‑1)p),enc(a)]。
[0117] 步骤S4中参与方客户端在发起方客户端的配合下对某个衍生特征enc(C) 进行分箱并记录对应的分箱信息包括以下步骤:
[0118] 参与方客户端在发起方客户端的配合下比较该衍生特征enc(C)与每个分箱边界enc(H)的大小,从而确定该衍生特征enc(C)属于哪个分箱,如果该衍生特征enc(C)属于第r个分箱,则第r个分箱中该衍生特征enc(C)对应的分箱信息为enc(1),其他分箱中该衍生特征enc(C)对应的分箱信息为enc(0);
[0119] 所述参与方客户端在发起方客户端的配合下比较该衍生特征enc(C)与某个分箱边界enc(H)的大小包括以下步骤:
[0120] N1:参与方客户端计算enc(V)=enc(inv((C+H)*0.5)),inv((C+H)*0.5)表示(C+H)*0.5的倒数;
[0121] N2:参与方客户端计算enc(W1)=enc(C)*enc(V)*enc(0.5),enc(W2)=enc(1)‑ enc(W1);
[0122] N3:参与方客户端计算enc(W1)=enc(inv(enc(W1)*2+enc(W2)*2)),enc(W2) =enc(1)‑enc(W1),inv(enc(W1)*2+enc(W2)*2)表示enc(W1)*2+enc(W2)*2的倒数;
[0123] N4:重复执行N3步骤t次,将最后得到的enc(W1)、enc(W2)发送给发起方客户端;
[0124] N5:发起方客户端将enc(W1)、enc(W2)解密,得到明文的W1、W2,比较W1、W2的大小得到enc(W1)、enc(W2)的大小,发起方客户端将比较结果发送到参与方客户端,如果enc(W1)>enc(W2),则表示enc(C)>enc(H),如果enc(W1)=enc(W2),则表示enc(C)=enc(H),如果enc(W1)<enc(W2),则表示enc(C)<enc(H)。
[0125] 参与方客户端计算enc(inv((C+H)*0.5))的方法与上述计算enc(1/A)的方法一样,具体步骤如下:
[0126] F1:参与方客户端采用半同态加密算法计算出所有((C+H)*0.5)中的明文最大值n nD,找出数值2,使得0<((C+H)*0.5)/2<2满足,n为整数;
[0127] F2:将enc(inv((C+H)*0.5))除以2n得到enc(f)= enc(inv((C+H)*0.5))/2n;
[0128] F3:计算enc(e)=enc(1);
[0129] F4:计算enc(d)=enc(2)‑enc(f);
[0130] F5:计算enc(e1)=enc(d)* enc(e);
[0131] F6:计算enc(f1)=enc(d)* enc(f);
[0132] F7:计算enc(f)=enc(f1),enc(e)=enc(e1);
[0133] F8:重复执行M4‑M7步骤5次,得到的enc(e)就是enc(1/f)的值,即enc(1/f)= enc(e);
[0134] F9:计算出enc(inv((C+H)*0.5))=enc(1/f)*2n。
[0135] 举例:假设(C+H)*0.5=0.5,计算enc(inv((C+H)*0.5))就是求enc(0.5)的倒数,[0136] 第一次迭代:enc(1.5)=enc(2)‑enc(0.5),enc(1.5)= enc(1.5)*enc(1),enc(0.75)= enc(1.5)*enc(0.5),enc(f)= enc(0.75),enc(e1)= enc(1.5);
[0137] 第二次迭代:enc(1.25)= enc(2)‑enc(0.75),enc(1.875)= enc(1.25)*enc(1.5),enc(0.9375)= enc(1.25)*enc(0.75),enc(f)= enc(0.9375),enc(e1)= enc(1.875),
[0138] 第三次迭代:enc(1.0625)= enc(2)‑enc(0.9375),enc(1.9921875)= enc(1.0625)*enc(1.875),enc(0.99609375)= enc(1.0625)*enc(0.9375),enc(f)= enc(0.99609375),enc(e1)= enc(1.9921875),
[0139] 迭代到第五次,可得到enc(0.5)的倒数是enc(2)。
[0140] 步骤S6包括以下步骤:
[0141] S61:参与方客户端计算每个分箱中的总样本数量的半同态加密密文;
[0142] 计算某个分箱中的总样本数量的半同态加密密文的方法如下:
[0143] 将该分箱中每个用户对应的衍生特征enc(C)对应的分箱信息累加得到的累加和enc(G),enc(G)为该分箱中总样本数量的半同态加密密文;
[0144] S62:参与方客户端计算每个分箱中的好样本数量的半同态加密密文;
[0145] 参与方客户端计算某个分箱中的好样本数量的半同态加密密文的方法如下:
[0146] 参与方客户端将该分箱中每个用户对应的衍生特征enc(C)对应的分箱信息与该用户对应的加密标签enc(Y)相乘得到对应的中间结果enc(T),将得到的所有中间结果enc(T) 累加得到的累加和enc(F),enc(F)为该分箱中好样本数量的半同态加密密文;
[0147] 其中,Y的值为1或0,用户对应的标签Y=1表示该用户为好样本,用户对应的标签Y=0表示该用户为坏样本;
[0148] S63:参与方客户端将每个分箱中的总样本数量的半同态加密密文、每个分箱中的好样本数量的半同态加密密文发送给发起方客户端。
[0149] 步骤S7包括以下步骤:
[0150] S71:发起方客户端将每个分箱中的好样本数量的半同态加密密文解密得到好样本数量的明文数值,将每个分箱中的总样本数量的半同态加密密文解密得到总样本数量的明文数值,第i个分箱中的好样本数量的明文数值为F(i),第i个分箱中的总样本数量的明文数值为G(i),1≤i≤q,q为分箱个数;
[0151] S72:发起方客户端计算出每个分箱中的坏样本数量,第i个分箱中的坏样本数量为E(i) = G(i)‑ F(i),发起方客户端将所有分箱中的好样本数量累加得到好样本总数F(总),发起方客户端将所有分箱中的坏样本数量累加得到坏样本总数E(总);
[0152] S73:发起方客户端计算信息值IV,
[0153] ,
[0154] ,
[0155] 其中,IVi表示第i个分箱对应的信息值;
[0156] S74:发起方客户端判断IV是否大于设定值L,如果大于L,判断衍生特征enc(C)是有效衍生特征,否则判断衍生特征enc(C)是无效衍生特征,并将判断结果发送给参与方客户端。
[0157] 举例说明:
[0158] 如图2所示,6个用户的ID分别为1、2、3、4、5、6,分箱个数设定为3,半同态加密密钥长度为2048比特,信息值IV的过滤阈值为0.3;发起方客户端有每个用户对应的标签Y的值、特征数据A的值,参与方客户端有每个用户对应的特征数据B的值;
[0159] 参与方客户端采用本方案中的enc(C)= enc(1/A)* enc(B)= enc(B/A)的方法计算出每个用户对应的半同态加密状态的衍生特征enc(C)的值,算出enc(C)的明文最大值为1.5、明文最小值为0.2,从而得到编号1分箱的明文边界为[0.2,1.9/3),编号2分箱的明文边界为[1.9/3,3.2/3),编号3分箱的明文边界为[3.2/3,1.5],编号1分箱的密文边界为[enc(0.2),enc(1.9/3)),编号2分箱的密文边界为[enc(1.9/3),enc(3.2/3)),编号3分箱的密文边界为[enc(3.2/3),enc(1.5)];
[0160] 比较每个衍生特征enc(C)与每个分箱边界enc(H)的大小,得到与每个分箱边界enc(H)对应的比较结果,根据比较结果计算出每个分箱中该衍生特征enc(C)对应的分箱信息,如图2所示。
[0161] 参与方客户端计算编号1分箱中的总样本数量的半同态加密密文enc(0)+ enc(0)+ enc(1)+ enc(0)+ enc(1)+ enc(0)= enc(2),同理计算出编号2分箱中的总样本数量的半同态加密密文为enc(2),编号3分箱中的总样本数量的半同态加密密文为enc(2);
[0162] 参与方客户端计算编号1分箱中的好样本数量的半同态加密密文enc(1)*enc(0)+ enc(0)*enc(0)+ enc(0)*enc(1)+ enc(1) *enc(0)+ enc(1) *enc(1)+ enc(0)*enc(0)= enc(1),同理计算出编号2分箱中的总样本数量的半同态加密密文为enc(1),编号3分箱中的总样本数量的半同态加密密文为enc(1);
[0163] 参与方客户端将每个分箱中的总样本数量的半同态加密密文、每个分箱中的好样本数量的半同态加密密文发送给发起方客户端;
[0164] 发起方客户端解密得到编号1分箱中的总样本数量为2、好样本数量为1,编号2分箱中的总样本数量为2、好样本数量为1,编号3分箱中的总样本数量为2、好样本数量为1,从而得到好样本总数为3,坏样本总数为3;
[0165] 发起方客户端计算出编号1分箱对应的信息值 ,同理,计算出编号2分箱对应的信息值为0,编号3分箱对应的信息值为0,从而得到信息值IV=0,小于过滤阈值0.3,该衍生特征enc(C)为无效衍生特征,并将结果发送给参与方客户端;
[0166] 参与方客户端将生成的衍生特征enc(C)删除。
[0167] 实施例2:本实施例的一种风控场景下的纵向联邦特征衍生方法,本实施例的方法与实施例1基本相同,不同之处在于:
[0168] 步骤S4中参与方客户端在发起方客户端的配合下对某个衍生特征enc(C) 进行分箱并记录对应的分箱信息包括以下步骤:
[0169] 分箱个数为q,参与方客户端将q个分箱依次编号为1,2……q,参与方客户端在发起方客户端的配合下比较该衍生特征enc(C)与每个分箱边界enc(H)的大小,得到与每个分箱边界enc(H)对应的比较结果,根据比较结果计算出每个分箱中该衍生特征enc(C)对应的分箱信息;
[0170] 参与方客户端在发起方客户端的配合下比较该衍生特征enc(C)与某个分箱边界enc(H)的大小得到对应比较结果的方法包括以下步骤:
[0171] N1:参与方客户端计算enc(V)=enc(inv((C+H)*0.5)),inv((C+H)*0.5)表示(C+H)*0.5的倒数;
[0172] N2:参与方客户端计算enc(W1)=enc(C)*enc(V)*enc(0.5),enc(W2)=enc(1)‑ enc(W1);
[0173] N3:参与方客户端计算enc(W1)=enc(inv(enc(W1)*2+enc(W2)*2)),enc(W2) =enc(1)‑enc(W1),inv(enc(W1)*2+enc(W2)*2)表示enc(W1)*2+enc(W2)*2的倒数;
[0174] N4:重复执行N3步骤t次,将最后得到的enc(W1)、enc(W2)发送给发起方客户端;
[0175] N5:发起方客户端将enc(W1)、enc(W2)解密,得到明文的W1、W2,比较W1、W2的大小,如果W1≥W2,发送比较结果enc(1)发送到参与方客户端,如果W1<W2,发送比较结果enc(0)发送到参与方客户端;
[0176] 编号为j的分箱中该衍生特征enc(C)对应的分箱信息通过如下方法获得,1≤j≤q:
[0177] 当1≤j≤q‑1时,编号为j的分箱中该衍生特征enc(C)对应的分箱信息=第j个分箱左边界对应的比较结果减去第j个分箱右边界对应的比较结果;
[0178] 当j=q时,编号为j的分箱中该衍生特征enc(C)对应的分箱信息=第j个分箱左边界对应的比较结果。
[0179] 通过上述方法可以使得参与方客户端无法获取分箱的明文信息。