一种数据处理方法、终端和水印服务器与流程

文档序号:16734533发布日期:2019-01-28 12:31阅读:197来源:国知局
一种数据处理方法、终端和水印服务器与流程

本申请涉及数据安全技术,特别是涉及一种数据处理方法、终端和水印服务器。



背景技术:

数字水印技术是将数字水印(即标识信息)直接嵌入数字载体(如多媒体、文档、软件等)的技术。其不影响数字载体的使用价值,也不易被探知和修改,并且可以被生成数字水印的设备识别。通过数字水印,可以确认内容创建者、购买者、传送隐秘信息或者判断数字载体是否被篡改等,因此数字水印技术是一种有效的版权保护技术。

在现有技术中,共享数据的方法大致如下:数据所有者将数据提供给水印服务器,水印服务器将数字水印嵌入数据之后,将嵌入水印的数据提供给一个或多个数据接收者。

在嵌入水印的数据提供给多个数据接收者的情况下,当数据被泄密之后,现有技术无法确定是哪个数据接收者泄密。由于无法确定泄密者,因此难以追责,无法有效保障数据所有者的权益。



技术实现要素:

有鉴于此,本申请提供一种数据处理方法、终端和服务器,能够确定泄密者,从而能够有效保护版权。

第一方面提供的数据处理方法包括:接收第一终端发送的源数据和第二数字水印;将第二数字水印嵌入源数据,得到目标数据;获取第二公钥和第二私钥;使用第二私钥对第二数字水印进行签名得到水印签名;将目标数据的全部或部分发送给第二终端。第二数字水印为对第一数字水印加密所得,第一数字水印属于第一终端的用户,第二公钥和第二私钥构成密钥对。

依此实施,在目标数据中包括第二数字水印,由于第二数字水印由第二终端的公钥加密得到,因此仅有第二终端能够解密,其他设备都不能解密。当泄露数据包括第二数字水印时,可以确定第二终端的用户为泄密者。由此能够有效追踪泄密者,保证数据所有者的版权。

在一种可能的实现方式中,将目标数据的全部或部分发送给第二终端包括:根据第二终端的数据请求从目标数据中选取共享数据;将共享数据发送给第二终端。这样,数据所有者并不清楚第二终端获取的共享数据是目标数据的哪些部分,因此数据所有者并不能故意在源数据中嵌入数字水印之后,诬陷第二终端的用户泄露数据。由此可见,本实施例进一步加强了共享数据的安全性,为第二终端的用户提供了安全保障。

在另一种可能的实现方式中,上述方法还包括:接收第一终端发送的第一用户标识,第一用户标识为第一终端对应的用户标识;接收第二终端发送的第二用户标识,第二用户标识为第二终端对应的用户标识;建立第一对应关系和第二对应关系,第一对应关系为水印签名与第一用户标识的对应关系,第二对应关系为水印签名与第二用户标识的对应关系;保存水印签名,第一对应关系和第二对应关系;删除源数据、目标数据和第二数字水印。依此实施,当水印服务器不保存源数据、目标数据和第二数字水印时,水印服务器不会泄密,降低了泄密的可能性,提高了源数据和目标数据的安全性。并且,第一对应关系和第二对应关系用于在后续验证数字水印的过程中,查找第一终端的用户(即数据所有者)和第二终端的用户(即数据用户)。可以理解的是,水印服务器还可以保存第一用户标识和第二用户标识,以便于在本地查找数据所有者和数据用户。

在另一种可能的实现方式中,在将目标数据发送给第二终端之后,从待验证数据中提取第三数字水印;使用第二公钥和水印签名,对第三数字水印进行签名验证;当签名验证通过时,根据第二对应关系向第二终端发送私钥请求;接收第二终端发送的第一私钥;使用第一私钥将第三数字水印解密;当解密成功时,确定第二终端是泄密者;当解密失败时,确定第二终端不是泄密者。当签名验证通过时,标识水印服务器为第三数字水印设置过签名。由于仅有第二终端的第一私钥能够解密,因此解密成功时,能够确定第二终端是泄密者。

在另一种可能的方式中,在使用第二公钥和水印签名,对第三数字水印进行签名验证之后,当签名验证通过时,根据第二对应关系向第二终端发送第三数字水印。依此实施,第二终端能够根据第一私钥对第三数字水印进行解密和验证,当解密成功时,能够确定第二终端是泄密者。

在另一种可能的实现方式中,在将目标数据发送给第二终端之后,上述方法还包括:从待验证数据中提取第三数字水印;使用第二公钥和水印签名,对第三数字水印进行签名验证;当签名验证通过时,根据第二对应关系向第二终端发送私钥请求;接收第二终端发送的第一私钥;使用第一私钥将第三数字水印解密;接收第一终端发送的第一数字水印;当解密成功时,将解密得到的第四数字水印与第一数字水印比较,若第四数字水印与第一数字水印相同,则确定第二终端是泄密者。依此实施,当第四数字水印和第一数字水印相同时,表明泄露数据中的数字水印来自第一终端的用户,由于仅有第二终端的第一私钥能够解密,因此可以确定第二终端是泄密者。

第二方面提供一种数据处理方法包括:接收第二终端发送的第一公钥,第一公钥属于第二终端且第一公钥与第二终端的第一私钥对应;使用第一公钥加密第一数字水印,得到第二数字水印,第一数字水印属于第一终端的用户;第一终端将源数据和第二数字水印发送给水印服务器,源数据是指未嵌入水印的数据,源数据属于第一终端的用户。依此实施,由于第二数字水印由第二终端的公钥加密得到,因此仅有第二终端能够解密,其他设备都不能解密。当泄露数据包括第二数字水印时,可以确定第二终端的用户为泄密者。由此能够有效追踪泄密者,保证数据所有者的版权。

在一种可能的实现方式中,将第一用户标识发送给水印服务器,第一用户标识用于水印服务器建立第一对应关系,第一对应关系为水印签名与第一用户标识的对应关系。第一对应关系用于水印服务器根据水印签名查找第一终端,或者根据第一用户标识查找水印签名。

在另一种可能的实现方式中,上述方法还包括:接收水印服务器根据第一对应关系发送的数字水印请求;根据数字水印请求将第一数字水印发送给水印服务器,第一数字水印用于水印服务器验证第二终端是否为泄密者。这样,水印服务器接收第一数字水印之后,可以将第一数字水印与解密得到的数字水印进行比较,若相同,则表明第二终端是泄密者。若不同,则表明第二终端不是泄密者。

第三方面提供一种数据处理方法,包括:获取第一公钥和第一私钥;将第一公钥发送给第一终端;接收水印服务器发送的全部或部分目标数据,目标数据是水印服务器对源数据嵌入第二数字水印所得,第二数字水印为第一终端使用第一公钥加密第一数字水印所得。第一公钥和第一私钥构成密钥对,第一数字水印属于使用第一终端的用户(即数据所有者)。依此实施,第一终端使用第一公钥加密第一数字水印得到第二数字水印之后,将第二数字水印发送给水印服务器,水印服务器将第二数字水印嵌入源数据得到目标数据,将目标数据的全部或部分发送给第二终端。由此,在目标数据中包括第二数字水印,由于第二数字水印由第二终端的公钥加密得到,因此仅有第二终端能够解密,其他设备都不能解密。

在一种可能的实现方式中,上述方法还包括:将第二用户标识发送给水印服务器,第二用户标识用于水印服务器建立第二对应关系,第二对应关系为水印签名与第二用户标识的对应关系。第二对应关系用于水印服务器根据水印签名查找第二终端,或者根据第二用户标识查找水印签名。

在另一种可能的实现方式中,上述方法还包括:接收水印服务器根据第二对应关系发送的私钥请求;根据私钥请求将第一私钥发送给水印服务器,第一私钥用于水印服务器解密从待验证数据中提取的第三数字水印。若解密成功,由于仅有第二终端能够对加密后的数字水印解密,因此可以确认第二终端是泄密者。

在另一种可能的实现方式中,第二终端接收水印服务器根据第二对应关系发送的第三数字水印,第三数字水印为从待验证数据中提取的数字水印;使用第一私钥对第三数字水印进行解密,若解密失败,则确定第二终端不是泄密者;若解密成功,则确定第二终端是泄密者。第二终端可以根据利用第一私钥对第三数字水印进行验证,由此提供了更多的验证方案。

第四方面提供一种水印服务器,具有实现第一方面中数据处理方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,模块可以是软件和/或硬件。

第五方面提供一种终端,具有实现第二方面中数据处理方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,模块可以是软件和/或硬件。

第六方面提供一种终端,具有实现第三方面中数据处理方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,模块可以是软件和/或硬件。

本申请的另一方面提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。

本申请的又一方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面的方法。

在本申请的实施例中,接收第一终端发送的源数据和第二数字水印,第二数字水印为使用第一公钥对第一数字水印加密所得;将第二数字水印嵌入源数据,得到目标数据;将目标数据的全部或部分发送给第二终端;获取第二公钥和第二私钥,第二公钥和第二私钥构成密钥对;使用第二私钥对第二数字水印进行签名得到水印签名。这样,在目标数据中包括第二数字水印,第二数字水印由第二终端的第一公钥加密得到,因此除了第二终端的其他设备都不能解密。当泄露数据包括第二数字水印时,可以确定第二终端的用户为泄密者,因此能够有效追踪泄密者,从而保证数据所有者的版权。

附图说明

图1为本申请中数据处理方法的应用场景的一个示意图;

图2为本申请中数据处理方法的一个流程示意图;

图3为本申请中数据处理方法的另一个流程示意图;

图4为本申请中数据处理方法的另一个流程示意图;

图5为本申请中数据处理方法的另一个流程示意图;

图6为本申请中水印服务器的一个结构示意图;

图7为本申请中水印服务器的另一个结构示意图;

图8为本申请中水印服务器的另一个结构示意图;

图9为本申请中第一终端的一个结构示意图;

图10为本申请中第二终端的一个结构示意图;

图11为本申请中水印服务器的另一个结构示意图;

图12为本申请中终端的一个结构示意图。

具体实施方式

参阅图1,本申请的数据处理方法应用的场景包括:数据所有者、水印服务器和数据用户。

数据所有者将源文件发送给水印服务器;

水印服务器将数字水印嵌入源文件,得到水印数据。

数据用户接收水印服务器发送的水印数据。

在本申请的以下内容中,数据所有者使用的终端记为第一终端,数据用户使用的终端记为第二终端。

数字水印可以是序列的编码。当水印数据在显示屏上显示时,数字水印显示在源数据的背景上,具体可以显示为文字、图形、符号等。源数据可以是数据库数据,文本数据等。在发生版权纠纷时,数据所有者可以根据数字水印确定源数据的归属。

在水印数据提供给多个数据接收者的情况下,当水印数据被泄密之后,现有技术无法确定是哪个数据接收者泄密。由于无法确定泄密者,因此难以追责,无法有效保障数据所有者的权益。

参阅图2,本申请提供的数据处理方法的一个实施例包括:

步骤201、第二终端获取第一公钥和第一私钥。

本实施例中,第二终端可以生成第一公钥和第一私钥,或者第二终端从密钥服务器获取属于第二终端的第一公钥和第一私钥。

第一公钥和第一私钥构成一个密钥对。第一私钥由第二终端保管,其他设备没有第二终端的授权不能获取。第一公钥公开,其他设备可以获取。第二终端利用第一私钥对指定数据加密之后,其他设备利用第一公钥可以解密上述加密数据。其他设备利用第一公钥加密指定数据之后,第二终端利用第一私钥可以解密上述加密数据,而其他设备不能解密上述加密数据。

步骤202、第一终端接收第二终端发送的第一公钥。

步骤203、第一终端使用第一公钥加密第一数字水印,得到第二数字水印。

第一数字水印为属于数字所有者的水印,其可以包括数据所有者的身份信息(例如数据所有者的名称、别名、编号等),还可以包括源数据的信息(例如源数据的名称)或数据分享的时间信息(例如在第几天分享数据)等。

第一数字水印可以是明文水印,例如包括文字或符号的水印图像。例如,第一数字水印可以是:共享数据由甲公司提供给乙公司使用。或者,共享数据的所有权归甲公司所有。当然,第一数字水印也可以是密文水印,即将文字、图形或符号编码后得到的二进制数。

第二数字水印是加密后的数字水印,其是密文水印,只有第二终端能够解密,水印服务器和其他设备均不能解密。

步骤204、第一终端将源数据和第二数字水印发送给水印服务器。

源数据是指未嵌入水印的数据,属于第一终端,即属于使用第一终端的数据所有者。源数据可以包括但不限于数据库数据和文本数据。

步骤205、水印服务器将第二数字水印嵌入源数据,得到目标数据。

目标数据是将源数据嵌入第二数字水印后得到的数据。在一种可能的实现方式中,当源数据为数据库数据,且数据库数据可以分成多组数据时,水印服务器可以为每组数据嵌入一个或多个第二数字水印。在另一种可能的实现方式中,将数据库数据分为n组数据,第二数字水印包括n个比特,在第i组数据嵌入第二数字水印的第i个比特,从而在数据库数据中嵌入一个完整的第二数字水印,1≤i≤n且i为正整数。

步骤206、水印服务器获取第二私钥和第二公钥。

水印服务器可以生成第二私钥和第二公钥,也可以从密钥服务器获取第二私钥和第二公钥。第二私钥和第二公钥构成密钥对。

步骤207、水印服务器使用第二私钥对第二数字水印进行签名,得到水印签名。

水印服务器获得水印签名之后,可以使用该水印签名对待验证的数字水印进行签名验证。

步骤208、水印服务器将目标数据的全部或部分发送给第二终端。

其中,步骤208可以在步骤205之后,且在步骤206或步骤207之前执行。

本实施例中,在目标数据中包括第二数字水印,由于第二数字水印由第二终端的公钥加密得到,因此仅有第二终端能够解密,其他设备都不能解密。当泄露数据包括第二数字水印时,可以确定第二终端的用户为泄密者。由此能够有效追踪泄密者,保证数据所有者的版权。

其次,水印服务器对第二数字水印进行签名,可以得到水印签名。并且由水印服务器对数据泄密者进行验证。即使数据所有者将源数据和第二数字水印泄露给其他用户,由于泄露数据不经过水印服务器,不可能具有上述水印签名,因此数据所有者难以诬陷第二终端的数据用户泄露数据。

在一个可选实施例中,步骤208具体包括:根据第二终端的数据请求从目标数据中选取共享数据,将共享数据发送给第二终端。

本实施例中,共享数据可以是目标数据的全部,也可以是目标数据中的一部分。共享数据包括一个或多个第二数字水印,或者第二数字水印的部分。

这样,数据所有者并不清楚第二终端获取的共享数据是目标数据的哪些部分,因此数据所有者并不能故意在源数据中嵌入数字水印之后,诬陷第二终端的用户泄露数据。由此可见,本实施例进一步加强了共享数据的安全性。

在另一个可选实施例中,水印服务器接收第一终端发送的第一用户标识,第一用户标识为第一终端对应的用户标识;接收第二终端发送的第二用户标识,第二用户标识为第二终端对应的用户标识;建立第一对应关系和第二对应关系,第一对应关系为水印签名与第一用户标识的对应关系,第二对应关系为水印签名与第二用户标识的对应关系;保存水印签名、第一对应关系和第二对应关系;删除源数据、目标数据和第二数字水印。

本实施例中,第一用户标识可以是第一终端的序列号,数据所有者的用户账户名等用于标识数据所有者身份的信息。第二用户标识可以是第二终端的序列号,数据用户的用户账户名等用于标识数据用户身份的信息。

水印服务器可以根据第一对应关系可以确定水印签名对应的第一用户标识和第一终端。或者根据第一对应关系可以确定第一终端对应的水印签名。同理,根据第二对应关系可以确定水印签名对应的第二用户标识和第二终端。或者,根据第二对应关系可以确定第二终端对应的水印签名。

水印服务器可以将水印签名、第一用户标识、第二用户标识、第一对应关系和第二对应关系保存在本地数据库中,以便在后续签名验证的过程中查找第一终端或第二终端。在水印服务器不保存源数据、目标数据和第二数字水印的情况下,水印服务器就不能将目标数据发送给除了第二终端的其他设备,降低了数据泄密的可能性,进一步提高了数据的安全性。可以理解的是,在实际应用中,可以不保存源数据、目标数据和第二数字水印中的一种或多种信息。水印服务器还可以获取签名时刻,将签名时刻保存在本地数据库中。

图2所示实施例对多个终端和水印服务器之间共享数据的方法进行了介绍,下面对共享数据的验证方法进行介绍:

参阅图3,本申请提供的数据处理方法的另一个实施例包括:

步骤301、水印服务器从待验证数据中提取第三数字水印。

本实施例中,待验证数据一般是泄露数据,是指其他用户非法获取的盗版数据,其内容为源数据的全部或部分。其他用户是除去第二终端的数据用户之外的用户。第三数字水印是指在待验证数据中的数字水印。

步骤302、水印服务器使用第二公钥和水印签名,对第三数字水印进行签名验证。

由于水印签名是使用第二私钥加密得到的,第二公钥和第二私钥构成密钥对,因此使用第二公钥和水印签名,可以对第三数字水印进行签名验证。当签名验证通过时,确定第三数字水印由水印服务器设置过数字签名,当签名验证失败时,确定第三数字水印不是由水印服务器设置的数字签名,这样,待验证数据不属于由水印服务器发送的目标数据。

需要说明的是,从待验证数据中提取的数字水印可能是完整的,也可能是不完整的。例如,完整的数字水印包括100个比特。从待验证数据中提取的数字水印中有98个比特可以识别,有2个比特无法识别,比特的取值只能是1或0的二进制值,因此需要对4个待验证数字水印都进行验证。如果其中有1个数字水印的签名验证通过,则表明该数字水印由水印服务器设置过数字签名。

步骤303、当签名验证通过时,水印服务器根据第二对应关系向第二终端发送私钥请求。

具体的,在确定第三数字水印是水印服务器设置过数字签名的情况下,需要获取私钥解密第三数字水印。水印服务器根据第二对应关系可以确定上述水印签名对应的用户标识为第二用户标识,根据第二用户标识向第二终端发送私钥请求。

步骤304、水印服务器接收第二终端根据私钥请求发送的第一私钥。

步骤305、水印服务器使用第一私钥将第三数字水印解密;当解密成功时,确定第二终端是泄密者;当解密失败时,确定第二终端不是泄密者。

可以理解的是,水印服务器还可以根据水印签名和第一对应关系,确定数据的所有者。

本实施例中,由于第二数字水印由第二终端的公钥加密得到,因此仅有第二终端能够解密,其他设备都不能解密。当第三数字水印能够被第一私钥解密时,表明第三数字水印是第二数字水印,由此可以确定第二终端是泄密者。这样提供了一种可行的的验证方案。

其次,水印服务器对第二数字水印进行签名,可以得到水印签名。并且由水印服务器对数据泄密者进行验证。即使数据所有者将源数据和第二数字水印泄露给其他用户,由于泄露数据不经过水印服务器,不可能具有上述水印签名,因此数据所有者不能诬陷第二终端的数据用户泄露数据。

参阅图4,本申请提供的数据处理方法的另一个实施例包括:

步骤401、水印服务器从待验证数据中提取第三数字水印。

步骤402、水印服务器使用第二公钥和水印签名,对第三数字水印进行签名验证。

步骤403、当签名验证通过时,水印服务器根据第二对应关系向第二终端发送私钥请求。

本实施例中,步骤401、步骤402、步骤403分别与步骤301、步骤302、步骤303相似,名词解释和具体实施方式可参阅图3所示实施例或可选实施例中的相应描述。

步骤404、第二终端使用第一私钥将第三数字水印解密;当解密成功时,确定第二终端是泄密者;当解密失败时,确定第二终端不是泄密者。

本实施例中,由于第二数字水印由第二终端的公钥加密得到,因此仅有第二终端能够解密,其他设备都不能解密。当第三数字水印能够被第一私钥解密时,表明第三数字水印是第二数字水印,由此可以确定第二终端是泄密者。通过第二终端进行解密和验证,由此提供了更多的验证方式,提高了方案实施的灵活性。

需要说明的是,当签名验证通过后,水印服务器还可以将第三数字水印发送给第三方设备(例如第三终端或者验证服务器),第二终端将第一私钥发送给第三方设备,由第三方设备根据第一私钥对第三数字水印进行验证。

参阅图5,本申请提供的数据处理方法的另一个实施例包括;

步骤501、水印服务器从待验证数据中提取第三数字水印。

本实施例中,待验证数据一般是泄露数据,是指其他用户非法获取的盗版数据,其内容为源数据的全部或部分。其他用户是除去第二终端的数据用户之外的用户。第三数字水印是指在待验证数据中的数字水印。

步骤502、水印服务器使用第二公钥和水印签名,对第三数字水印进行签名验证。

由于水印签名是使用第二私钥加密得到的,第二公钥和第二私钥构成密钥对,因此使用第二公钥和水印签名,可以对第三数字水印进行签名验证。当签名验证通过时,确定第三数字水印由水印服务器设置过数字签名,当签名验证失败时,确定第三数字水印不是由水印服务器设置的数字签名,这样,待验证数据不属于由水印服务器发送的目标数据。

需要说明的是,从待验证数据中提取的数字水印可能是完整的,也可能是不完整的。例如,完整的数字水印包括100个比特。从待验证数据中提取的数字水印中有98个比特可以识别,有2个比特无法识别,比特的取值只能是1或0的二进制值,因此需要对4个待验证数字水印都进行验证。如果其中有1个数字水印的签名验证通过,则表明该数字水印由水印服务器设置过数字签名。

步骤503、当签名验证通过时,水印服务器根据第二对应关系向第二终端发送私钥请求。

步骤504、水印服务器接收第二终端根据私钥请求发送的第一私钥。

需要说明的是,第二终端还可以授权水印服务器使用第一私钥。

步骤505、水印服务器使用第一私钥将第三数字水印解密。

由于在目标数据中的数字水印为使用第一公钥加密生成,因此使用第一私钥才可以解密,而其他密钥均不能解密。若解密成功,则执行步骤506和步骤507。若解密失败,则表示第二终端的私钥不能解密第三数字水印,确定第二终端不是泄密者,即待验证数据不是由第二终端泄露的。

步骤506、当解密成功时,水印服务器根据第一对应关系向第一终端发送数字水印请求。

步骤507、第一终端根据数字水印请求将第一数字水印发送给水印服务器。

步骤508、水印服务器将解密得到的第四数字水印与第一数字水印比较,若第四数字水印与第一数字水印相同,则确定第二终端是泄密者。

当解密得到的第四数字水印和第一数字水印相同时,表明使用第二终端的第一私钥解密得到的数字水印为第一数字水印,确定第二终端是泄密者。当解密得到的第四数字水印和第一数字水印不同时,表明第二终端不是泄密者。

需要说明的是,以上实施例中,执行嵌入水印功能、验证签名功能和比较水印功能的设备可以是但不限于水印服务器,还可以是具有计算能力的其他设备,例如终端。

参阅图6,本申请提供的水印服务器600的一个实施例包括:

接收模块601,用于接收第一终端发送的源数据和第二数字水印,第二数字水印为第一终端对第一数字水印加密所得,第一数字水印属于第一终端的用户;

添加水印模块602,用于将第二数字水印嵌入源数据,得到目标数据;

获取模块603,用于获取第二公钥和第二私钥,第二公钥和第二私钥构成密钥对;

签名模块604,用于使用第二私钥对第二数字水印进行签名得到水印签名;

发送模块605,用于将目标数据的全部或部分发送给第二终端。

本实施例中,水印服务器600可以实现图2、图3、图4或图5所示实施例中水印服务器的功能。其中,名词解释、步骤的具体实施方式和有益效果可参阅图2、图3、图4或图5所示实施例中的相应描述。

在一个可选实施例中,发送模块605,具体用于根据第二终端的数据请求,从目标数据中选取共享数据,将共享数据发送给第二终端。

在另一个可选实施例中,水印服务器600还包括保存模块和处理模块;

接收模块601,还用于接收第一终端发送的第一用户标识,第一用户标识为第一终端对应的用户标识;

接收模块601,还用于接收第二终端发送的第二用户标识,第二用户标识为第二终端对应的用户标识;

处理模块,用于建立第一对应关系和第二对应关系,第一对应关系为水印签名与第一用户标识的对应关系,第二对应关系为水印签名与第二用户标识的对应关系;

保存模块,用于保存水印签名、第一对应关系和第二对应关系;

处理模块,用于删除源数据、目标数据和第二数字水印。

参阅图7,在另一个可选实施例中,水印服务器600还包括第一提取模块701、第一验证签名模块702和第一解密模块703;

第一提取模块701,用于从待验证数据中提取第三数字水印;

第一验证签名模块702,用于使用第二公钥和水印签名,对第三数字水印进行签名验证;

发送模块605,还用于当签名验证通过时,根据第二对应关系向第二终端发送私钥请求;

接收模块601,还用于接收第二终端发送的第一私钥;

第一解密模块703,用于使用第一私钥将第三数字水印解密;当解密成功时,确定第二终端是泄密者;当解密失败时,确定第二终端不是泄密者。

在另一个可选实施例中,

发送模块605,还用于在第一验证签名模块702使用第二公钥和水印签名,对第三数字水印进行签名验证之后,当签名验证通过时,根据第二对应关系向第二终端发送第三数字水印。

参阅图8,在另一个可选实施例中,水印服务器600还包括第二提取模块801、第二验证签名模块802、第二解密模块803和比较模块804;

第二提取模块801,用于从待验证数据中提取第三数字水印;

第二验证签名模块802,用于使用第二公钥和水印签名,对第三数字水印进行签名验证;

发送模块605,还用于当签名验证通过时,根据第二对应关系向第二终端发送私钥请求;

接收模块601,还用于接收第二终端发送的第一私钥;

第二解密模块803,用于使用第一私钥将第三数字水印解密;

接收模块601,还用于接收第一终端发送的第一数字水印;

比较模块804,用于当解密成功时,将解密得到的第四数字水印与第一数字水印比较,若第四数字水印与第一数字水印相同,则确定第二终端是泄密者。

参阅图9,本申请提供的第一终端900的一个实施例包括:

接收模块901,用于接收第二终端发送的第一公钥,第一公钥属于第二终端且与第二终端的第一私钥对应;

加密模块902,用于使用第一公钥加密第一数字水印,得到第二数字水印,第一数字水印属于第一终端的用户;

发送模块903,用于将源数据和第二数字水印发送给水印服务器,源数据是指未嵌入水印的数据。

本实施例中,第一终端900可以实现图2、图3、图4或图5所示实施例或可选实施例中第一终端执行的步骤。其中,名词解释、模块的具体实施方式和有益效果可参阅图2、图3、图4或图5所示实施例或可选实施例中的相应描述。

在一个可选实施例中,

发送模块903,还用于将第一用户标识发送给水印服务器,第一用户标识用于水印服务器建立第一对应关系,第一对应关系为水印签名与第一用户标识的对应关系。

在一个可选实施例中,

接收模块901,还用于接收水印服务器根据第一对应关系发送的数字水印请求;

发送模块903,还用于根据数字水印请求将第一数字水印发送给水印服务器,第一数字水印用于验证第二终端是否为泄密者。

参阅图10,本申请提供的第二终端1000的一个实施例包括:

获取模块1001,用于获取第一公钥和第一私钥,第一公钥和第一私钥构成密钥对;

发送模块1002,用于将第一公钥发送给第一终端;

接收模块1003,用于接收水印服务器发送的全部或部分目标数据,目标数据是对源数据嵌入第二数字水印所得,第二数字水印为第一终端使用第一公钥加密第一数字水印所得。

本实施例中,第二终端1000可以实现图2、图3、图4或图5所示实施例或可选实施例中第二终端执行的步骤。其中,名词解释、模块的具体实施方式和有益效果可参阅图2、图3、图4或图5所示实施例或可选实施例中的相应描述。

在一个可选实施例中,

发送模块1002,还用于将第二用户标识发送给水印服务器,第二用户标识用于水印服务器建立第二对应关系,第二对应关系为水印签名与第二用户标识的对应关系。

在另一个可选实施例中,

接收模块1003,还用于接收水印服务器根据第二对应关系发送的私钥请求;

发送模块1002,还用于根据私钥请求将第一私钥发送给水印服务器,第一私钥用于解密从待验证数据中提取的第三数字水印。

在另一个可选实施例中,第二终端1000还包括解密模块;

接收模块1003,还用于接收水印服务器发送的第三数字水印,第三数字水印为从待验证数据中提取的数字水印;

解密模块,用于使用第一私钥对第三数字水印进行解密,若解密失败,则确定第二终端不是泄密者,若解密成功,则确定第二终端是泄密者。

在另一个可选实施例中,发送模块1002,还用于向水印服务器发送数据请求,数据请求用于请求从目标数据中获取共享数据;

接收模块1003,具体用于接收水印服务器发送的共享数据。

下面从硬件装置的角度对本申请的水印服务器进行说明。

参阅图11,本申请提供的水印服务器1100的另一个实施例包括:

收发器1101、处理器1102和存储器1103;收发器1101、处理器1102和存储器1103通过总线1104连接。

收发器1101可以处理器1102的控制下,用于接收或发送数据。收发器1101可以是接收机和发射机集成在一起实现,也可以是独立的接收机和发射机实现。

处理器1102可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件等。

存储器1103,用于存储程序和数据。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器1103可能包含随机存取存储器(randomaccessmemory,ram),也可能还包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。nvm可以存储的数据包括但不限于:水印签名、第一用户标识、第二用户标识、第一对应关系、第二对应关系、签名时间等。ram可以存储的数据包括但不限于:源数据、第二数字水印、目标数据等。

处理器1102执行存储器1103中存储的程序代码,实现图2、图3、图4或图5所示实施例或可选实施例中水印服务器执行的步骤。

参阅图12,终端1200为本申请提供的终端的另一个实施例。终端1200包括:

收发器1201、处理器1202和存储器1203;收发器1201、处理器1202和存储器1203通过总线1204连接。

收发器1201可以处理器1202的控制下,用于接收或发送数据。收发器1201可以是接收机和发射机集成在一起实现,也可以是独立的接收机和发射机实现。

处理器1202可以是通用处理器,包括np、dsp、asic、fpga或者其他可编程逻辑器件等。

存储器1203,用于存储程序和数据。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器1203可能包含ram,也可能还包括nvm,例如至少一个磁盘存储器。

处理器1202执行存储器1203中存储的程序代码,实现图2、图3、图4或图5所示实施例或可选实施例中第一终端或第二终端执行的步骤。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如软盘、硬盘、磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘(solidstatedisk,ssd))等。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

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