1.一种基于秘密共享的车联网数据安全共享与隐私保护方法,其特征在于,包括以下步骤:S1、获取车辆用户的本地数据,构建本地训练数据集;
S2、采用本地训练数据集和全局模型参数对车辆用户的本地模型进行隐私训练,得到每次训练的本地模型;
S3、将每次训练的本地模型进行模糊处理后分成两部分,得到两部分共享本地模型参数秘密;
S4、将一部分共享本地模型参数秘密发送给车联网服务提供商S1,将另一部分共享本地模型参数秘密发送给车联网服务提供商S2;
S5、根据车联网服务提供商S1和车联网服务提供商S2中共享本地模型参数秘密,计算相似度;
S6、判断相似度是否大于阈值,若是,则跳转至步骤S7,若否,则丢弃共享本地模型参数秘密,并跳转至步骤S1;
S7、在车联网服务提供商S1和车联网服务提供商S2中,将共享本地模型参数秘密进行加权聚合,得到全局模型;
S8、判断全局模型是否收敛,若是,则得到训练完成的全局模型,若否,则跳转至步骤S2;
S9、在车辆用户间共享训练完成的全局模型,实现对车联网数据进行安全共享与隐私保护;
所述步骤S3包括以下分步骤:
S31、在集合 的范围内取随机值,构成第一部分共享本地模型参数秘密u1,其中,l为每次训练的本地模型的数据的位数;
l
S32、根据第一部分共享本地模型参数秘密u1,通过u2=u‑u1mod2 ,其中,u为每次训练的本地模型的数据,mod为取模运算,u2为第二部分共享本地模型参数秘密;
所述步骤S5包括以下分步骤:
S51a、根据共享本地模型参数秘密,构建车辆用户p与车辆用户q共享值,vpq=up·uq,其中,up为车辆用户p的共享本地模型参数秘密,uq为车辆用户q的共享本地模型参数秘密,vpq为车辆用户p与车辆用户q共享值;
S52a、在车联网服务提供商Si上计算第一相似参数<e>i和第二相似参数<f>i;
<e>i=<Op>i‑<up>i
<f>i=<Oq>i‑<uq>i
其中,<up>i、<uq>i为乘法三元组vpq=up·uq在车联网服务提供商Si中的共享秘密,i取1或2,up=<up>1+<up>2,uq=<uq>1+<uq>2,<Op>i为设定的车联网服务提供商Si的车辆用户p的共享本地模型参数向量,<Oq>i为设定的车联网服务提供商Si的车辆用户q的共享本地模型参数向量;
S53a、对第一相似参数<e>i和第二相似参数<f>i分别进行重构,得到第一重构相似参数e和第二重构相似参数f;
S54a、根据第一重构相似参数e和第二重构相似参数f,在车联网服务提供商Si上计算车辆用户p与车辆用户q的内积:<Op·Oq>1=f·<up>1+e·<uq>1+<vpq>1<Op·Oq>2=e·f+f·<up>2+e·<uq>2+<vpq>2其中,<Op·Oq>1为在车联网服务提供商S1上计算的车辆用户p与车辆用户q的内积,<Op·Oq>2为在车联网服务提供商S2上计算的车辆用户p与车辆用户q的内积,<up>1为在车联网服务提供商S1上乘法三元组中up的共享秘密,<uq>1为在车联网服务提供商S1上乘法三元组中uq的共享秘密,<vpq>1为在车联网服务提供商S1上乘法三元组中vpq的共享秘密,<up>2为在车联网服务提供商S2上乘法三元组中up的共享秘密,<uq>2为在车联网服务提供商S2上乘法三元组中uq的共享秘密,<vpq>2为在车联网服务提供商S2上乘法三元组中vpq的共享秘密,vpq=<vpq>1+<vpq>2;
S55a、在同一车联网服务提供商Si上,通过步骤S51至S53的方法计算车辆用户p与所有其他车辆用户之间的内积,并叠加所有内积,得到在车联网服务提供商S1上的第一共享内容<ρp>1,在车联网服务提供商S2上的第二共享内容<ρp>2;
S56a、将第一共享内容<ρp>1和第二共享内容<ρp>2进行重构,得到车辆用户p的相似度值ρp;或所述步骤S5包括以下分步骤:
S51b、在同一车联网服务提供商Si上将收集的所有车辆用户的共享本地模型参数秘密,构建为N*1秘密矩阵,其中,N为秘密矩阵的行数,即N个共享本地模型参数秘密;
S52b、在同一车联网服务提供商Si上,计算N*1秘密矩阵与其1*N转置秘密矩阵的内积,得到N*N的秘密矩阵;
S53b、将N*N的秘密矩阵中每一列数据叠加,得到N个车辆用户的共享内容;
S54b、在同一车联网服务提供商Si上,在N个车辆用户的共享内容中选择属于车辆用户p的共享内容,得到车辆用户p在车联网服务提供商S1上的第三共享内容<ρp′>1,在车联网服务提供商S2上的第四共享内容<ρp′>2;
S55b、将第三共享内容<ρp′>1和第四共享内容<ρp′>2进行重构,得到车辆用户p的相似度值ρp。
2.根据权利要求1所述的基于秘密共享的车联网数据安全共享与隐私保护方法,其特征在于,所述步骤S51a中构建车辆用户p与车辆用户q共享值的方法包括以下分步骤:A1a、将vpq=up·uq构建为以下形式:
up·uq=(<up>1+<up>2)·(<uq>1+<uq>2)=<up>1·<uq>1+<up>1·<uq>2+<up>2·<uq>1+<up>2·<uq>2其中,<up>1为在车联网服务提供商S1上乘法三元组中up的共享秘密,<uq>1为在车联网服务提供商S1上乘法三元组中uq的共享秘密,<up>2为在车联网服务提供商S2上乘法三元组中up的共享秘密,<uq>2为在车联网服务提供商S2上乘法三元组中uq的共享秘密;
A2a、先对<up>1、<uq>1、<up>2和<uq>2赋初值;
A3a、在车联网服务提供商S1上,计算得到<up>1·<uq>1的值,在车联网服务提供商S2上,计算得到<up>2·<uq>2的值;
A4a、采用加性同态加密方法计算<up>1·<uq>2和<up>2·<uq>1的值;
A5a、根据<up>1·<uq>2、<up>2·<uq>1、<up>1·<uq>1和<up>2·<uq>2值,得到车辆用户p与车辆用户q共享值vpq。
3.根据权利要求2所述的基于秘密共享的车联网数据安全共享与隐私保护方法,其特征在于,所述步骤A4a包括以下分步骤:A4a1、设置车联网服务提供商S1与车联网服务提供商S2的共享公钥pk,A4a2、采用共享公钥pk对车联网服务提供商S1上的共享秘密<up>1进行加密,得到第一加密内容Encpk(<up>1);
A4a3、将第一加密内容Encpk(<up>1)发送至另一车联网服务提供商S2;
A4a5、根据车联网服务提供商S2接收到的第一加密内容Encpk(<up>1),以及在车联网服务提供商S2上的共享秘密<up>2,计算第一待解密内容A4a6、根据公式 得到第一临
时解密内容Encpk(<up>1·<uq>2);
A4a7、采用对称加密的对应解密法对第一临时解密内容Encpk(<up>1·<uq>2)再次解密,得到<up>1·<uq>2;
A4a8、采用共享公钥pk对车联网服务提供商S2上的共享秘密<up>2进行加密,得到第二加密内容Encpk(<up>2);
A4a9、将第二加密内容Encpk(<up>2)发送至另一车联网服务提供商S1;
A4a10、根据车联网服务提供商S1接收到的第二加密内容Encpk(<up>2),以及在车联网服务提供商S1上的共享秘密<uq>1,计算第二待解密内容A4a11、根据 得到第二临时
解密内容Encpk(<up>2·<uq>1);
A4a12、采用对称加密的对应解密法对第二临时解密内容Encpk(<up>2·<uq>1)进行再次解密,得到<up>2·<uq>1。
4.根据权利要求1所述的基于秘密共享的车联网数据安全共享与隐私保护方法,其特征在于,所述步骤S53a、S56a或S55b中的重构方法包括以下分步骤:B1a、在同一车联网服务提供商Si上,计算共享表征参数<z>i;
l
<z>i=<r>1+<r>2mod2
其中,<z>1为车联网服务提供商S1的共享表征参数,<z>2为车联网服务提供商S2的共享表征参数,<r>1用于表征步骤S53a中<e>1,同时<r>2表征步骤S53a中<e>2,或<r>1用于表征步骤S53a中<f>1,同时<r>2表征步骤S53a中<f>2,或<r>1用于表征步骤S56a中<ρp>1,同时<r>2表征步骤S56a中<ρp>2,或<r>1用于表征步骤S55b中<ρp′>1,同时<r>2表征步骤S55b中<ρp′>2,l为每次训练的本地模型的数据的位数;
B2a、在车联网服务提供商Si上将共享表征参数<z>i发送至另一车联网服务提供商S(2‑i);
B3a、在另一车联网服务提供商S(2‑i)上将车联网服务提供商Si发送来的共享表征参数<z>i与车联网服务提供商S(2‑i)自身计算的共享表征参数<z>i进行相加,得到重构值z;
其中,在<r>1用于表征步骤S53a中<e>1,同时<r>2表征步骤S53a中<e>2时,重构值z为第一重构相似参数e;在<r>1用于表征步骤S53a中<f>1,同时<r>2表征步骤S53a中<f>2时,重构值z为第二重构相似参数f;在<r>1用于表征步骤S56a中<ρp>1,同时<r>2表征步骤S56a中<ρp>2,重构值z为步骤S56a中车辆用户p的相似度值ρp;在<r>1用于表征步骤S55b中<ρp′>1,同时<r>2表征步骤S55b中<ρp′>2,重构值z为步骤S55b中车辆用户p的相似度值ρp。
5.根据权利要求1所述的基于秘密共享的车联网数据安全共享与隐私保护方法,其特征在于,所述步骤S53a、S56a或S55b中的重构方法包括以下分步骤:l
B1b、在同一车联网服务提供商Si上,在2范围内取两个随机数<a>i和<b>i;
B2b、根据随机数<a>i和<b>i,设置共享参数<c>i;
l
<c>i=<a>i·<b>i mod2
其中,l为每次训练的本地模型的数据的位数;
B3b、根据随机数<a>i、随机数<b>i和共享参数<c>i,计算第一重构因子<α>i和第二重构因子<β>i;
<α>i=<u>‑<a>i
<β>i=<v>‑<b>i
其中,<u>用于表征步骤S53a中<e>1,同时<v>表征步骤S53a中<e>2,或<u>用于表征步骤S53a中<f>1,同时<v>表征步骤S53a中<f>2,或<u>用于表征步骤S56a中<ρp>1,同时<v>表征步骤S56a中<ρp>2,或<u>用于表征步骤S55b中<ρp′>1,同时<v>表征步骤S55b中<ρp′>2;
B4b、分别对<α>i和<β>i进行重构,得到第一重构系数α和第二重构系数β;
B5b、在同一车联网服务提供商Si上,计算出共享表征参数<z′>i;
<z′>i=γ·α·β+β·<a>i+α·<β>i+<c>i在i=1时,参数γ=0,在i=2时,参数γ=1;
B6b、在车联网服务提供商Si上将共享表征参数<z>i发送至另一车联网服务提供商S(2‑i);
B7b、在另一车联网服务提供商S(2‑i)上将车联网服务提供商Si发送来的共享表征参数<z′>i与车联网服务提供商S(2‑i)自身计算的共享表征参数<z′>i进行相加,得到重构值z。
6.根据权利要求1所述的基于秘密共享的车联网数据安全共享与隐私保护方法,其特征在于,所述步骤S53a、S56a或S55b中的重构方法包括以下分步骤:B1c、在车联网服务提供商Si上,将参数<r>1转换为二进制格式;
B2c、在另一车联网服务提供商S(2‑i)上,进行多轮循环,循环过程中进行多轮不经意传输,在第t轮不经意传输时,输出(‑at,0,at,1)至车联网服务提供商Si,其中,at,0为随机数,tat,1=2·<r>1‑at,0,at,1为中间变量;
B3c、在车联网服务提供商Si上,进行多轮循环,在第t轮循环时,接收(‑at,0,at,1);
B4c、根据第t轮的接收的(‑at,0,at,1),计算在车联网服务提供商Si上的共享表征参数<z″>i;
其中,T为循环的总轮次,r[t]为参数<r>2的第t位,<r>1用于表征步骤S53a中<e>1,同时<r>2表征步骤S53a中<e>2,或<r>1用于表征步骤S53a中<f>1,同时<r>2表征步骤S53a中<f>2,或<r>1用于表征步骤S56a中<ρp>1,同时<r>2表征步骤S56a中<ρp>2,或<r>1用于表征步骤S55b中<ρp′>1,同时<r>2表征步骤S55b中<ρp′>2;
B5c、计算在另一车联网服务提供商S(2‑i)上的共享表征参数<z″>2‑i;
B6c、在车联网服务提供商Si上将共享表征参数<z″>i发送至另一车联网服务提供商S(2‑i);
B7c、在另一车联网服务提供商S(2‑i)上将车联网服务提供商Si发送来的共享表征参数<z″>i与车联网服务提供商S(2‑i)自身计算的共享表征参数<z″>2‑i进行相加,得到重构值z。