基于密码学运算实现数据对象主体标识的保护方法及系统与流程

文档序号:14391902阅读:173来源:国知局
基于密码学运算实现数据对象主体标识的保护方法及系统与流程

本发明涉及网络数据流通与信息安全的交叉技术领域,具体是指一种基于密码学运算实现数据对象主体标识的保护方法及系统。



背景技术:

随着大数据技术的成熟和发展,大数据在商业上的应用越来越广泛,有关大数据的交互、整合、交换、交易的例子也日益增多。目前,大部分的数据源到数据需求方相对独立:一方面,数据拥有方由于业务职能缺少应用场景,对数据没能有效利用,无法充分发掘数据价值;另一方面,数据应用方苦于没有数据,大数据业务开展举步维艰。这种现象因此催生了大数据交易的出现。为了安全的完成大数据交易,首先必须对交易对象——数据主体对象进行匿名化,即将数据资源中的原始数据对象主体标识信息按照一定的准则进行变换,一方面隐藏原始标识信息,另一方面也要便于交易双方根据变换后的标识进行数据匹配。目前的技术多是采用加密方式隐藏原始标识,但交易双方难以将各自加密后的标识进行匹配,即无法安全的将一方加密的标识转换为另一方可以辨识的标识。



技术实现要素:

本发明的目的是克服了上述现有技术的缺点,提供了一种能够安全转换数据对象的基于密码学运算实现数据对象主体标识的保护方法及系统。

为了实现上述目的,本发明的基于密码学运算实现数据对象主体标识的保护方法及系统具有如下构成:

该基于密码学运算实现数据对象主体标识的保护方法,其主要特点是,所述的方法包括生成数据对象主体标识的匿名编码和转换数据对象主体标识的匿名编码两个并行处理的步骤;

所述的生成数据对象主体标识的匿名编码包括以下步骤:

(a1)密钥管理服务器生成密钥k,同时为n个数据拥有方生成一条加密密钥enci,其中n为任意正整数;

(a2)使用所述的密钥k,对所述的数据对象主体标识进行处理后生成数据对象主体标识的匿名标识符;

(a3)第i个数据拥有方使用第i个加密密钥enci对所述的数据对象主体标识的匿名标识符进行加密以生成数据对象主体标识匿名密文ci,其中i为任意正整数且i≤n;

(a4)对所述的数据对象主体标识匿名密文ci进行编码以生成数据对象主体标识匿名编码xi;

所述的转换数据对象主体标识的匿名编码包括以下步骤:

(b1)密钥管理服务器生成密钥k,同时为n个数据拥有方生成一条加密密钥enci和一条解密密钥deci,其中n为任意正整数;

(b2)第i个数据拥有方对所述的数据对象主体标识匿名编码xi进行解码以获取数据对象主体标识匿名密文ci,其中i为任意正整数且i≤n;

(b3)所述的第i个数据拥有方i使用第i个解密密钥deci,对所述的数据对象主体标识匿名密文ci进行解密以获取数据对象主体标识匿名标识符;

(b4)第j个数据拥有方j使用第j个加密密钥encj,对所述的数据对象主体标识匿名标识符进行加密,以生成数据对象主体标识匿名密文cj,其中j为任意正整数同时j≤n且j≠i;

(b5)所述的第j个数据拥有方对所述的数据对象主体标识匿名密文cj进行编码以生成所述的数据对象主体标识匿名编码xj。

该基于密码学运算实现数据对象主体标识的保护方法的步骤(b1)中,所述的加密密钥enci和解密密钥deci为对称密码算法密钥。

该基于密码学运算实现数据对象主体标识的保护方法的步骤(b1)中,所述的加密密钥enci和解密密钥deci为非对称密码算法密钥。

该基于密码学运算实现数据对象主体标识的保护方法的步骤(a2)具体为:

使用所述的密钥k,通过单向不可逆的密码学计算方式对所述的数据对象主体标识进行相应计算后生成数据对象主体标识的匿名标识符。

该应用上述方法实现数据对象主体标识的保护系统,其主要特点是,所述的系统包括:

密钥管理服务器,用于生成密钥;

编码生成器,与所述的密钥管理服务器相连接,实现以下编码生成处理:

(a1)密钥管理服务器生成密钥k,同时为n个数据拥有方生成一条加密密钥enci,其中n为任意正整数;

(a2)使用所述的密钥k,对所述的数据对象主体标识进行处理后生成数据对象主体标识的匿名标识符;

(a3)第i个数据拥有方使用第i个加密密钥enci对所述的数据对象主体标识的匿名标识符进行加密以生成数据对象主体标识匿名密文ci,其中i为任意正整数且i≤n;

(a4)对所述的数据对象主体标识匿名密文ci进行编码以生成数据对象主体标识匿名编码xi;

编码转换器,与所述的密钥管理服务器相连接,实现以下编码转换处理:

(b1)密钥管理服务器生成密钥k,同时为n个数据拥有方生成一条加密密钥enci和一条解密密钥deci,其中n为任意正整数;

(b2)第i个数据拥有方对所述的数据对象主体标识匿名编码xi进行解码以获取数据对象主体标识匿名密文ci,其中i为任意正整数且i≤n;

(b3)所述的第i个数据拥有方i使用第i个解密密钥deci,对所述的数据对象主体标识匿名密文ci进行解密以获取数据对象主体标识匿名标识符;

(b4)第j个数据拥有方j使用第j个加密密钥encj,对所述的数据对象主体标识匿名标识符进行加密,以生成数据对象主体标识匿名密文cj,其中j为任意正整数同时j≤n且j≠i;

(b5)所述的第j个数据拥有方对所述的数据对象主体标识匿名密文cj进行编码以生成所述的数据对象主体标识匿名编码xj。

该基于密码学运算实现数据对象主体标识的保护系统的步骤(b1)中,所述的加密密钥enci和解密密钥deci为对称密码算法密钥。

该基于密码学运算实现数据对象主体标识的保护系统的步骤(b1)中,所述的加密密钥enci和解密密钥deci为非对称密码算法密钥。

该实现数据对象主体标识的保护系统的步骤(a2)具体为:

所述的编码生成器根据所述的密钥k,通过单向不可逆的密码学计算方式对所述的数据对象主体标识进行相应计算后生成匿名标识符。

采用了该发明中的基于密码学运算实现数据对象保护的方法及系统,具有以下有益的效果:

1、处理后的数据对象专属标识具有匿名性,经过密码算法的保护,隐藏了数据对象的真实主体标识。

2、处理后的数据对象主体标识的匿名标识符具有唯一性,但同一数据对象的主体标识在每个拥有者环境中的匿名编码是不同的,并且拥有者环境中所有数据对象的匿名标识符是不同的;

3、处理后的数据对象匿名标识能够抗密码分析,无法通过密码分析得出相关明文信息。

4、只有拥有其它用户的加密密钥的授权用户才能进行标识转换操作,而且授权用户只能对其授权范围内的转换请求进行处理。

采用了该发明中的基于密码学运算实现数据对象保护的方法及系统,可以对数据对象的主体标识信息进行密码学运算变换完成匿名化,而且这种匿名处理与处理者的信息相关,即不同的处理者对相同的数据对象的主体标识信息进行匿名化处理的不同结果,从而避免攻击者根据数据对象的主体标识信息的匿名编码将具有同一主体标识的的数据进行汇聚分析,而只有得到授权的处理者才可以将某一数据对象的主体标识信息的匿名编码转换为该数据对象的主体标识信息的另一个匿名编码,以便同一数据对象的主体标识信息的不同匿名编码之间的匹配,从而在不暴露数据对象主体标识的情况下,完成同一数据对象主体标识的数据交易和汇聚。

附图说明

图1为本发明的使用对称密码算法生成数据对象主体标识的匿名编码的流程图。

图2为本发明的使用对称密码算法转换数据对象主体标识的匿名编码的流程图。

图3为本发明的使用非对称密码算法生成数据对象主体标识的匿名编码的流程图。

图4为本发明的使用非对称密码算法转换数据对象主体标识的匿名编码的流程图。

具体实施方式

为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。

该基于密码学运算实现数据对象主体标识的保护方法,其主要特点是,所述的方法包括生成数据对象主体标识的匿名编码和转换数据对象主体标识的匿名编码两个并行处理的步骤;

实施方式一。

所述的生成数据对象主体标识的匿名编码包括以下步骤:

(a1)密钥管理服务器生成密钥k并为每个数据拥有方生成一条对称密码算法的加解密密钥encdecn,其中n为任意正整数;

(a2)使用所述的密钥k,对所述的数据对象主体标识进行处理后生成数据对象主体标识的匿名标识符;

(a3)使用encdeci密钥,第i个数据拥有方对所述的数据对象主体标识的匿名标识符进行加密以生成数据对象主体标识匿名密文ci,其中i≤n;

(a4)对所述的ci进行编码以生成数据对象主体标识匿名编码xi;

所述的转换数据对象主体标识的匿名编码包括以下步骤:

(b1)密钥管理服务器生成密钥k并为每个数据拥有方生成一条对称密码算法的加解密密钥encdecn,其中n为任意正整数;

(b2)数据拥有方i对所述的数据对象主体标识匿名编码xi进行解码以获取数据对象主体标识匿名密文ci,其中i≤n;

(b3)数据拥有方i使用其加解密密钥encdeci,对所述的数据对象主体标识匿名密文ci进行解密以获取数据对象主体标识匿名标识符;

(b4)数据拥有方j(j为任意正整数同时j≤n且j≠i)使用其加解密密钥encdecj,对所述的数据对象主体标识匿名标识符进行加密,以生成数据对象主体标识匿名密文cj;

(b5)数据拥有方j对所述的数据对象主体标识匿名密文cj进行编码以生成所述的数据对象主体标识匿名编码xj。

该基于密码学运算实现数据对象主体标识的保护方法的步骤(a2)具体为:

根据所述的密钥k,通过单向不可逆的密码学计算方式对所述的数据对象主体标识进行相应计算后生成数据对象主体标识的匿名标识符。

该基于密码学运算实现数据对象主体标识的保护方法的单向不可逆的密码学计算方式为单向散列函数的计算方式。

该应用上述方法实现数据对主体标识的保护系统,其主要特点是,所述的系统包括:

密钥管理服务器,用于生成密钥;

编码生成器,与所述的密钥管理服务器相连接,实现以下编码生成处理:

(a1)密钥管理服务器生成密钥k并为每个数据拥有方生成一条对称密码算法的加解密密钥encdecn,其中n为任意正整数;

(a2)使用所述的密钥k,对所述的数据对象主体标识进行处理后生成数据对象主体标识的匿名标识符;

(a3)使用encdeci密钥,第i个数据拥有方对所述的数据对象主体标识的匿名标识符进行加密以生成数据对象主体标识匿名密文ci,其中i为任意正整数且i≤n;

(a4)对所述的ci进行编码以生成数据对象主体标识匿名编码xi;

编码转换器,与所述的密钥管理服务器相连接,实现以下编码转换处理:

(b1)密钥管理服务器生成密钥k并为每个数据拥有方生成一条对称密码算法的加解密密钥encdecn,其中n为任意正整数;

(b2)数据拥有方i对所述的数据对象主体标识匿名编码xi进行解码以获取数据对象主体标识匿名密文ci,其中i为任意正整数且i≤n;

(b3)数据拥有方i使用其加解密密钥encdeci,对所述的数据对象主体标识匿名密文ci进行解密以获取数据对象主体标识匿名标识符;

(b4)数据拥有方j(j为任意正整数同时j≤n且j≠i)使用其加解密密钥encdecj,对所述的数据对象主体标识匿名标识符进行加密,以生成数据对象主体标识匿名密文cj;

(b5)数据拥有方j对所述的数据对象主体标识匿名密文cj进行编码以生成所述的数据对象主体标识匿名编码xj。

该应用上述方法实现数据对主体标识的保护系统的步骤(a2)具体为:

所述的编码生成器根据所述的密钥k,通过单向不可逆的密码学计算方式对所述的拥有方标识符进行相应计算后生成拥有方匿名标识符。

该应用上述方法实现数据对主体标识的保护系统的单向不可逆的密码学计算方式为单向散列函数的计算方式。

在实际应用中,该基于密码学运算实现数据对象保护的方法包括生成数据对象主体标识的匿名编码和转换数据对象主体标识的匿名编码两部分,所有密码运算都在专用密码设备中完成,方法所需的密码运算密钥均保存在专用密码设备中或在密码设备中实时生成。

以下结合图1和图2对本发明的关键技术进行说明:

1、编码生成器用于生成数据对象主体标识的匿名编码,如图1所示,具体步骤如下:

(1)使用标识匿名值生成密钥k对数据对象主体标识id变换值加密生成标识匿名值生成子密钥salt,具体方式如下:

bt=hash(id),hash表示数据压缩算法,可以为sm3/sha1/sha2,下同。

dt=len(bt),len表示根据后续的加密算法要求调整st长度,下同。

salt=enc(k)[dt],enc表示用()中的密钥对[]中的数据进行对称密码算法加密,对称算法可以是sm4/sm1/3des,下同。

(2)对数据对象的主体标识id进行密码计算生成主体标识匿名值xid32,具体方式如下:

xid32=hmac(salt)[id],hmac表示用salt对id进行hmac算法计算。

(3)使用所述的匿名标识加解密密钥encdeci对所述的标识匿名值xid32进行加密获得匿名值密文ci,具体方式如下:

ci=enc(encdeci)[xid32]。

(4)对所述匿名值密文ci进行编码,生成该数据对象主体标识对于该数据对象拥有者的专属匿名化编码xi,完成匿名化生成,具体方式如下:

(4.1)对数据对象的主体标识id进行密码计算生成编码填充值anticol,anticol=hmac(salt)[id];

(4.2)计算专属匿名化编码xi,xi=idtype||code(ci||anticol),code表示对ci和anticol拼接值进行编码,再拼接数据对象的主体标识类型idtype。

2、编码转换器用于转换数据对象主体标识的匿名编码,如图2所示,具体步骤如下:

(1)对数据对象在数据拥有方1处生成的匿名化编码x1进行解码获取数据对象主体标识在数据拥有方1的匿名值密文c1,具体方式如下:

因为x1=idtype||code(c1||anticol),所以将x1分解为数据对象主体标识类型值idtype和code编码字节串两部分,再对code编码字节串部分进行decode解码获得数据对象主体标识匿名值密文c1。

(2)使用所述的数据拥有方1的匿名标识加解密密钥encdec1对所述匿名值密文c1解密,获得数据对象主体标识匿名值xid32,具体方式如下:

xid32=dec(encdec1)[c1]。

(3)对数据对象主体标识匿名值xid32使用所述的数据拥有方2的匿名标识加解密密钥encdec2加密,生成数据对象主体标识在数据拥有方2的匿名值密文c2,具体方式如下:

c2=enc(encdec2)[xid32]。

(6)对数据对象主体标识在所述数据拥有者2的匿名值密文c2进行编码,生成该数据对象主体标识对于数据拥有者2的匿名化编码x2,完成数据对象主体标识匿名化编码的转换,具体方式如下:

x2=idtype||code(c2||anticol)。

实施方式二。

所述的生成数据对象主体标识的匿名编码包括以下步骤:

(a1)密钥管理服务器生成密钥k并为每个数据拥有方生成一条加密密钥为encn,其中n为任意正整数;

(a2)使用所述的密钥k,对所述的数据对象主体标识进行处理后生成数据对象主体标识的匿名标识符;

(a3)使用enci密钥,数据拥有方i对所述的数据对象主体标识的匿名标识符进行加密以生成数据对象主体标识匿名密文ci,其中i任意正整数且i≤n;

(a4)对所述的ci进行编码以生成数据对象主体标识匿名编码xi;

所述的转换数据对象主体标识的匿名编码包括以下步骤:

(b1)密钥管理服务器生成密钥k并为每个数据拥有方生成一对非对称密码算法的密钥对,其中加密密钥为encn,解密密钥为decn,其中n为任意正整数;

(b2)数据拥有方i对所述的数据对象主体标识匿名编码xi进行解码以获取数据对象主体标识匿名密文ci;

(b3)数据拥有方i使用其解密密钥deci,对所述的数据对象主体标识匿名密文ci进行解密以获取数据对象主体标识匿名标识符;

(b4)数据拥有方j使用其加密密钥encj,对所述的数据对象主体标识匿名标识符进行加密,以生成数据对象主体标识匿名密文cj,其中j为任意正整数同时j≤n且j≠i;

(b5)数据拥有方j对所述的数据对象主体标识匿名密文cj进行编码以生成所述的数据对象主体标识匿名编码xj。

该基于密码学运算实现数据对象主体标识的保护方法的步骤(a2)具体为:

根据所述的密钥k,通过单向不可逆的密码学计算方式对所述的数据对象主体标识进行相应计算后生成数据对象主体标识的匿名标识符。

该基于密码学运算实现数据对象主体标识的保护方法的单向不可逆的密码学计算方式为单向散列函数的计算方式。

该应用上述方法实现数据对主体标识的保护系统,其主要特点是,所述的系统包括:

密钥管理服务器,用于生成密钥;

编码生成器,与所述的密钥管理服务器相连接,实现以下编码生成处理:

(a1)密钥管理服务器生成密钥k并为每个数据拥有方生成一条加密密钥为encn,其中n为任意正整数;

(a2)使用所述的密钥k,对所述的数据对象主体标识进行处理后生成数据对象主体标识的匿名标识符;

(a3)使用enci密钥,数据拥有方i对所述的数据对象主体标识的匿名标识符进行加密以生成数据对象主体标识匿名密文ci,其中i任意正整数且i≤n;

(a4)对所述的ci进行编码以生成数据对象主体标识匿名编码xi;

编码转换器,与所述的密钥管理服务器相连接,实现以下编码转换处理:

(b1)密钥管理服务器生成密钥k并为每个数据拥有方生成一对非对称密码算法的密钥对,其中加密密钥为encn,解密密钥为decn,其中n为任意正整数;

(b2)数据拥有方i对所述的数据对象主体标识匿名编码xi进行解码以获取数据对象主体标识匿名密文ci;

(b3)数据拥有方i使用其解密密钥deci,对所述的数据对象主体标识匿名密文ci进行解密以获取数据对象主体标识匿名标识符;

(b4)数据拥有方j使用其加密密钥encj,对所述的数据对象主体标识匿名标识符进行加密,以生成数据对象主体标识匿名密文cj,其中j为任意正整数同时j≤n且j≠i;

(b5)数据拥有方j对所述的数据对象主体标识匿名密文cj进行编码以生成所述的数据对象主体标识匿名编码xj。

该应用上述方法实现数据对主体标识的保护系统的步骤(a2)具体为:

所述的编码生成器根据所述的密钥k,通过单向不可逆的密码学计算方式对所述的拥有方标识符进行相应计算后生成拥有方匿名标识符。

该应用上述方法实现数据对主体标识的保护系统的单向不可逆的密码学计算方式为单向散列函数的计算方式。

在实际应用中,该基于密码学运算实现数据对象保护的方法包括生成数据对象主体标识的匿名编码和转换数据对象主体标识的匿名编码两部分,所有密码运算都在专用密码设备中完成,方法所需的密码运算密钥均保存在专用密码设备中或在密码设备中实时生成。

以下结合图3和图4对本发明的关键技术进行说明:

1、编码生成器用于生成数据对象主体标识的匿名编码,如图3所示,具体步骤如下:

(1)使用标识匿名值生成密钥k对数据对象主体标识id变换值加密生成标识匿名值生成子密钥salt,具体方式如下:

bt=hash(id),hash表示数据压缩算法,可以为sm3/sha1/sha2,下同。

dt=len(bt),len表示根据后续的加密算法要求调整st长度,下同。

salt=enc(k)[dt],enc表示用()中的密钥对[]中的数据进行对称密码算法加密,对称算法可以是sm4/sm1/3des,下同。

(2)对数据对象的主体标识id进行密码计算生成主体标识匿名值xid32,具体方式如下:

xid32=hmac(salt)[id],hmac表示用salt对id进行hmac算法计算。

(3)使用所述的匿名标识加密密钥enci对所述的标识匿名值xid32进行加密获得匿名值密文ci,具体方式如下:

ci=enc(enci)[xid32]。

(4)对所述匿名值密文ci进行编码,生成该数据对象主体标识对于该数据对象拥有者的专属匿名化编码xi,完成匿名化生成,具体方式如下:

(4.1)对数据对象的主体标识id进行密码计算生成编码填充值anticol,anticol=hmac(salt)[id];

(4.2)计算专属匿名化编码xi,xi=idtype||code(ci||anticol),code表示对ci和anticol拼接值进行编码,再拼接数据对象的主体标识类型idtype。

2、编码转换器用于转换数据对象主体标识的匿名编码,如图4所示,具体步骤如下:

(1)对数据对象在数据拥有方1处生成的匿名化编码x1进行解码获取数据对象主体标识在数据拥有方1的匿名值密文c1,具体方式如下:

因为x1=idtype||code(c1||anticol),所以将x1分解为数据对象主体标识类型值idtype和code编码字节串两部分,再对code编码字节串部分进行decode解码获得数据对象主体标识匿名值密文c1。

(2)使用所述的数据拥有方1的匿名标识解密密钥dec1对所述匿名值密文c1解密,获得数据对象主体标识匿名值xid32,具体方式如下:

xid32=dec(dec1)[c1]。

(3)对数据对象主体标识匿名值xid32使用所述的数据拥有方2的匿名标识加密密钥enc2加密,生成数据对象主体标识在数据拥有方2的匿名值密文c2,具体方式如下:

c2=enc(enc2)[xid32]。

(6)对数据对象主体标识在所述数据拥有者2的匿名值密文c2进行编码,生成该数据对象主体标识对于数据拥有者2的匿名化编码x2,完成数据对象主体标识匿名化编码的转换,具体方式如下:

x2=idtype||code(c2||anticol)。

采用了该发明中的基于密码学运算实现数据对象保护的方法及系统,具有以下有益的效果:

1、处理后的数据对象专属标识具有匿名性,经过密码算法的保护,隐藏了数据对象的真实主体标识。

2、处理后的数据对象主体标识的匿名标识符具有唯一性,但同一数据对象的主体标识在每个拥有者环境中的匿名编码是不同的,并且拥有者环境中所有数据对象的匿名标识符是不同的;

3、处理后的数据对象匿名标识能够抗密码分析,无法通过密码分析得出相关明文信息。

4、只有拥有其它用户的加密密钥的授权用户才能进行标识转换操作,而且授权用户只能对其授权范围内的转换请求进行处理。

采用了该发明中的基于密码学运算实现数据对象保护的方法及系统,可以对数据对象的主体标识信息进行密码学运算变换完成匿名化,而且这种匿名处理与处理者的信息相关,即不同的处理者对相同的数据对象的主体标识信息进行匿名化处理的不同结果,从而避免攻击者根据数据对象的主体标识信息的匿名编码将具有同一主体标识的的数据进行汇聚分析,而只有得到授权的处理者才可以将某一数据对象的主体标识信息的匿名编码转换为该数据对象的主体标识信息的另一个匿名编码,以便同一数据对象的主体标识信息的不同匿名编码之间的匹配,从而在不暴露数据对象主体标识的情况下,完成同一数据对象主体标识的数据交易和汇聚。

在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1