数据签名认证的方法、存储介质与流程

文档序号:21405668发布日期:2020-07-07 14:39阅读:338来源:国知局
数据签名认证的方法、存储介质与流程

本发明涉及数据安全领域,具体涉及数据签名认证的方法、存储介质。



背景技术:

如今,越来越多人重视知识产权保护,不管是个人版权还是企业/个人数据安全都是重点保护对象。例如,网络上流传的数据,如设计图纸、文章等,很多都会通过photoshop等制图软件给设计图增加水印,来标识自己。但这种方式不仅存在单纯水印容易被轻易修改甚至剥离而失去保护意义的问题,而且仅能对一次流转进行保护,而无法保证其后流转的安全。具体如,用户a看到一张很好看的图,其通过合法渠道从源头购买,获取到了设计原图,但却不能保证购买者用户a不二次贩卖,也无法保证其他用户去除水印获取设计原图。而对于一些企业,虽然采用专业性较强的第三方工具对设计内容进行加密解密进行保护,在需要的时候对图纸进行解密后运用。但这种方式同样存在安全性不高,且操作不方便,解密后的运用过程一样无法保证不被泄露。具体如,cad这类工业制图,一旦流通,单一密码加密并不能阻止传播。

上述现有的数据安全保护方式,不仅没有全面顾及安全问题,加密方式也过于简单,同时又太过依赖本地处理;更重要的是,都无法控制目标数据的流向。因此,有必要提供一种全新思路的数据签名认证方案,能解决上述问题,同时实现数据认证和数据流向的跟踪。



技术实现要素:

本发明所要解决的技术问题是:提供数据签名认证的方法、存储介质,通过数据标记实现数据认证和数据流向跟踪。

为了解决上述技术问题,本发明采用的技术方案为:

数据签名认证的方法,包括:

接收用户的一文件数据;

生成所述一文件数据对应的第二公钥;

接收所述用户提交的对应所述一文件数据设置一授权用户的第一请求;

依据所述第一请求获取所述一授权用户对应的第三公钥,并标记所述第三公钥为所述第二公钥的子钥;

写入所述第三公钥至所述一文件数据的二进制流空隙中,获取对应所述第三公钥的授权文件数据。

本发明提供的另一个技术方案为:

一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能实现上述数据签名认证的方法所包含的步骤。

本发明的有益效果在于:针对一个文件数据的各个授权用户,在服务器构建文件数据对应的第二公钥与各个授权用户对应的第三公钥之间的主从关联关系;同时,对应分发给各个授权用户的授权文件数据,使用隐写技术分别写入对应的授权用户的第三公钥进行标识。在数据认证阶段,能依据从待认证文件中提取的认证公钥确定传播源头,进而判断该待认证文件的流向是否授权。本发明不仅能通过签名使文件数据具备流向可追溯功能,能判断待认证文件数据对应的授权用户;而且具有签名方式简单、安全性高,认证方式高效、准确性高的特点。

附图说明

图1为本发明实施例数据签名认证的方法的流程示意图;

图2为本发明实施例数据签名认证的方法中系统记载和可查询的公钥信息界面图;

图3为本发明实施例一和实施例二的实施例数据签名认证的方法的流程示意图。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

本发明最关键的构思在于:针对一个文件数据的各个授权用户,在服务器构建文件数据对应的第二公钥与各个授权用户对应的第三公钥之间的主从关联关系;同时,对应分发给各个授权用户的授权文件数据,使用隐写技术分别写入对应的授权用户的第三公钥进行标识。

请参照图1以及图2,本发明提供数据签名认证的方法,包括:

接收用户的一文件数据;

生成所述一文件数据对应的第二公钥;

接收所述用户提交的对应所述一文件数据设置一授权用户的第一请求;

依据所述第一请求获取所述一授权用户对应的第三公钥,并标记所述第三公钥为所述第二公钥的子钥;

写入所述第三公钥至所述一文件数据的二进制流空隙中,获取对应所述第三公钥的授权文件数据。

从上述描述可知,本发明的有益效果在于:不仅能通过签名使文件数据具备流向可追溯功能,能判断待认证文件数据对应的授权用户;而且具有签名方式简单、安全性高,认证方式高效、准确性高的特点。本发明的运用,能起到有效保护个人/企业的知识产权;更好的维护个人/企业的利益;从而有效扼制恶意倒卖行为。

进一步的,还包括:

依据用户的用户信息,生成所述用户对应的第一公钥;

关联所述第二公钥和所述第一公钥。

由上述描述可知,实现了文件数据与其源头的关联,可在认证过程中确定文件数据的权属方。

进一步的,所述写入所述第三公钥至所述一文件数据的二进制流空隙中,具体为:

对所述一文件数据进行二进制分析,获取其所有的二进制空隙;

写入所述第三公钥至所述所有的二进制空隙中的指定位置。

由上述描述可知,利用隐写技术在分发出去的每个文件数据上标记其对应的授权方,用于追溯流向;并且,将标记写入多个供写入位置中指定的几个位置,由此增加破解难度,提高签名的安全性。

进一步的,还包括:

接收待认证文件数据;

获取所述待认证文件数据的二进制流空隙中存储的认证公钥;

判断所述认证公钥是否为任一第二公钥的子钥。

由上述描述可知,若所提取的认证公钥为子钥,则证明认证公钥对应的用户并非该文件的权属方,而只是授权方;同时,若该文件数据从非法途径获取,则可据此判定是该授权方进行的恶意传播。从而实现了能基于所提取的认证公钥确定待认证文件对应的授权用户,进而判定该文件当前的流向是否授权。

进一步的,还包括:

接收所述用户提交的对应所述一文件数据新增一授权用户的第二请求;

生成新增的授权用户对应的第四公钥,并标记所述第四公钥为所述第二公钥的子钥;

写入所述第四公钥至所述一文件数据的二进制空隙中,获取对应所述第四公钥的授权文件数据。

由上述描述可知,支持灵活地新增授权用户,并高效生成与其对应的授权文件数据供使用和流向监控。

进一步的,还包括:

接收所述用户提交的对应所述一文件数据删除一授权用户的第三请求;

分别获取所述第二公钥和待删除的授权用户对应的第五公钥;

遍历所述第二公钥下的所有子钥,定位并删除所述第五公钥。

由上述描述可知,支持灵活地、高效地删除已授权用户,更具便捷性。

进一步的,所述生成所述一文件数据对应的第二公钥,具体为:

依据所述用户的用户信息生成唯一对应所述一文件数据的第二公钥。

由上述描述可知,在一实施方式中,无需对应用户和文件数据分别生成公钥后再关联以达到建立文件与其权属方关系的目的,可以采用同时依据权属方的用户信息和文件数据生成一个公钥的便捷、高效方式来建立文件与其权属方的关联。

进一步的,还包括:

接收所述用户提交的对应所述一文件数据修改对应的第二公钥的第四请求;

依据新用户的用户信息和所述一文件数据生成新第二公钥;

替换所述第二公钥为新的第二公钥。

由上述描述可知,支持修改文件数据对应的权属方的功能,更符合实际运用场景中经常发生的权属关系变更情况的需求,是方案根据实用性。

本发明提供的另一个技术方案为:

一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能实现上述数据签名认证的方法所包含的步骤。

从上述描述可知,本发明的有益效果在于:对应本领域普通技术人员可以理解实现上述技术方案中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来实现的,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时,可包括如上述各方法的流程。从而实现不仅能通过签名使文件数据具备流向可追溯功能,能判断待认证文件数据对应的授权用户;而且具有签名方式简单、安全性高,认证方式高效、准确性高的特点。

其中,所述的存储介质可以是磁盘、光碟、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

实施例一

请参照图1至图3,本实施例提供一种数据签名认证的方法,包括签名阶段和认证阶段,能通过对文件数据签名实现与源头的关联和流向的跟踪,确保文件数据在传播过程的安全性。

下面,以一个用户(如公司a)对其拥有合法知识产权的产品(如图片、文件、文章、音视频等)进行签名,以标识其权利,同时又能作为追溯产品流向的依据的具体实现过程为例进行说明。

一、签名阶段

1、接收用户的一文件数据;

例如,公司a上传其下一具体项目所开发的一张设计图纸(即公司a拥有该设计图纸的版权)至服务端,服务端接收该设计图纸及其相关信息(权属方公司a)。

2、生成所述一文件数据对应的第二公钥;

在第一个具体实施方式中,该步骤之前还包括:

2.1、依据用户的用户信息,生成所述用户对应的第一公钥;其中的用户信息可以是用户注册时的信息,也可以是现场编辑的信息。用户信息具体由用户名称、身份证、公司/个人电话号码、公司营业执照等信息中的一个或两个以上组成,并且必须具备对应该用户的唯一标识作用。

例如,公司a依据其注册系统时输入的包括用户名称和营业执照的用户信息,生成一个对应的公钥a1。

上述步骤2具体为:

依据文件数据的相关信息生成对应的第二公钥;

如图3所示,所述相关信息可以包括文件数据的摘要信息、产品版本编号/时间、初始次数、使用次数等中的一个或几个,还可以包含部分或全部文件数据内容)。

例如,依据设计图纸的相关信息,生成该设计图纸对应的公钥t。

该具体实施方式中,上述步骤2之后,还包括:

2.2、关联所述第二公钥和所述第一公钥。

即,通过关联用户对应的第一公钥和文件数据对应的第二公钥,建立文件数据与用户的关联关系,用于标识该文件数据的归属权为该用户。

例如,通过关联设计图纸的公钥t和公司a的公钥a1,标识该设计图纸的归属权为公式a。在后续认证过程中,即可基于关联关系,依据公钥a1确定设计图纸的归属方为公式a。

在第二个具体实施方式中,上述步骤2具体为:

依据所述用户的用户信息生成唯一对应所述一文件数据的第二公钥。

即,直接依据公司a的信息和设计图纸生成一个公钥来标识二者的关系。

例如,依据公司a的用户名称和营业执照,以及设计图纸的相关信息(如摘要),生成一个公钥a1(t),作为设计图纸对应的公钥。在后续认证阶段,可直接依据才公钥在无需查询关联关系的情况下直接确定设计图纸的归属方为公司a。

至此,完成了一用户下一具体项目的一具体产品与其归属方(所述一用户)的关联。

3、接收所述用户提交的对应所述一文件数据设置一授权用户的第一请求;

具体的,一个请求可以对应同时设置多个的授权用户,或者,一个请求仅支持一个授权用户的设置。请求中包含了选定的目标文件数据以及待设置为授权用户的用户信息。

例如,服务器接收以公司a名义提交的关于设置公司b为上述设计图纸的合法授权用户的请求,请求中包含了选定上述设计图纸的指令(即请求所指向的目标文件数据)以及公司b的用户信息。

4、依据所述第一请求获取所述一授权用户对应的第三公钥,并标记所述第三公钥为所述第二公钥的子钥;

具体的,该步骤包括:

4.1、服务器接收到第一请求后,首先依据其中的所述一授权用户的用户信息生成对应的第三公钥;

4.2、服务器依据第一请求中指向的文件数据,寻找其对应的第二公钥;

4.3、服务器将4.1的第三公钥标记到4.2找到的第二公钥下,作为第二公钥的子钥。

例如,服务器依据请求中记载的公司b的用户信息,生成公司b对应的公钥b1;然后,服务器寻找请求指向的设计图纸对应的公钥a1(t);再然后,将公钥b1标记为公钥a1(t)的子钥。

需要说明的是,将上述文件数据授权给其他用户的设置过程,与上述步骤3和步骤4同理,在此不进行复述。由此,通过在服务器端将每一个授权用户对应的第三公钥均标记到目标文件数据对应的第二公钥下,成为其子钥。实现在服务器端,以这种主从关联关系来标识目标文件数据与其所有授权用户之间的关联关系。

如图2所示,为对应一公司/个人,其在系统记载并可直观查询到的包括直接对应公司/个人的第一公钥(图中阴影框部分d958cec4….)、其下各个项目公钥(图中9a7d63fb….和9fc7bcbb….两个项目)及其对应子钥(可通过点击图中对应项目公钥下的“所属子钥”下查看),以及公司/个人其他基本信息的信息。

5、写入所述第三公钥至所述一文件数据的二进制流空隙中,获取对应所述第三公钥的授权文件数据。

具体的,通过服务器上的二进制数据流处理实现所述写入。

对应步骤4的请求,还需要将对应该授权用户的第三公钥以隐写技术写入到目标文件数据中,以获取对应该授权用户的新的文件数据。通过该步骤,能利用隐写技术对分发给授权用户使用的文件数据进行专属标记,起到对流向该授权用户的文件数据进行标记的作用。不仅实现隐形标记,不易被发现并破坏,而且还能支持对流通后文件数据对应授权用户进行查询。

在一具体实施方式中,该步骤的写入过程具体包括:

5.1、对所述一文件数据进行二进制分析,获取其所有的二进制空隙;

例如,对上述设计图纸进行二进制静态分析,然后获取文件流中存在的所有文件空隙。可以理解为将设计图纸转成二进制,如111001,而这种000000就是二进制空隙,二进制空隙遍布整个设计图纸文件的各个地方,属于文件数据的固有属性,所有的文件数据最终都要转成二进制供计算机翻译。

5.2、写入所述第三公钥至所述所有的二进制空隙中的指定位置。

例如,将公司b对应的公钥b1写入到5.1中分析出来文件空隙中指定的几个空隙中。

由于一个目标文件数据中二进制空隙是众多的,因此,可选写入公钥的位置也相应的多。在本具体实施方式中,可以预先配置写入第三公钥的二进制空隙位置,然后在该步骤依据配置写入对应位置。本具体实施方式实现了授权用户对应第三公钥存储的可变性,这样能有效防止标记被找到,进行非法修改或删除,从而大大增加写入的第三公钥的获取难度,提高文件数据的传输安全性。

需要说明的是,对应待分发给其他授权用户的所有文件数据,都将同样执行上述的隐写操作,写入对应授权用户对应的第三公钥,以实现流通后文件数据的标记。

二、认证阶段

1、接收待认证文件数据;

本实施例的系统支持对任意一个文件数据进行认证,若文件数据中没有存储任何公钥,则显示对应无签名的提示;若存在,则继续执行以下步骤。

2、获取所述待认证文件数据的二进制流空隙中存储的认证公钥;

即提取出该文件数据在签名过程中写入的对应某一用户的第三公钥。

假设在上述的步骤1中提交给服务器进行验证的是公司a从非授权用户中获取到的设计图纸,由于运用本实施例的方法后,经由公司a授权流出的设计图纸均经过签名,标记有对应授权用户。因此,对应该步骤,服务器必定能从所接收到的设计图纸的二进制流空隙中提取出一个第三公钥,而这个第三公钥则对应非授权用户获取该设计图纸的途径。

例如,公司a授权公司b使用其设计图纸用于产品设计,公司a在发给公司b设计图纸时经过签名,写入公司b的公钥b1;而公司b却在公司a不知情情况下,转手将其购买的设计图纸转卖给未得到授权的公司c。公司a发现公司c使用其拥有版权的设计图纸后,从公司c获取设计图纸,然后提交给服务器进行认证,则获取通过上述1和2步骤的,将从设计图纸中提取出公司b的第三公钥b1。

3、判断所述认证公钥是否为任一第二公钥的子钥。

具体的,服务器将依据其数据库存储的关联关系,判断提取出的第三公钥是否属于其他人的子钥,若是,则证明该第三公钥对应的用户只是授权用户,而非权属方,可以理解为提交认证的文件数据并非该第三公钥对应的用户的原创。若待认证文件数据是从非授权途径获取的,则通过上述步骤的认证,则可直接判定是由步骤2提取出的第三公钥对应的授权用户非法流出的。

例如,上一步骤已经确定提出的是公司b的第三公钥b1,则公司a可以此作为证据判定是公司b非法转卖给公司c。

上述认证流程获取的认证结果,不仅可以用于确认经过签名流程的任一文件数据对应的授权方以及权属方(源头);而且还能据此作为判定非法流通源头的证据。

实施例二

请参照图3,本实施例对应实施例一,在实施例一的基础上做进一步扩展,分别对用户新增授权用户、删除授权用户以及修改其项目公钥进行限定。

(1)新增授权用户

1、接收所述用户提交的对应所述一文件数据新增一授权用户的第二请求;

其中,所述第二请求中至少包括有请求指向的文件数据(非文件数据本身,只是指向)、所述用户(即提交方)指向的用户信息(非用户信息本身,可依据指向从数据库获取对应的用户信息,由此提高操作便捷性而无需每次重新输入),以及新增用户对应的用户信息。

例如,公司a提交对应设计图纸新增授权用户d的请求。请求中必定包含有新增授权用户d的用户信息。

2、生成新增的授权用户对应的第四公钥,并标记所述第四公钥为所述第二公钥的子钥;

服务器依据接收到的第二请求,依据其中的新增授权用户的用户信息生成对应的第四公钥,即与新增授权用户唯一对应的公钥。

例如,服务器依据新增授权用户d的用户信息生成对应的第四公钥d1;然后将第四公钥d1标记为公司a下对应设计图纸的公钥t(若对应上述实施例一的一、签名阶段下的步骤2的第二个具体实施方式,则为公钥a1(t))的子钥,完成服务器端的关联。

3、写入所述第四公钥至所述一文件数据的二进制空隙中,获取对应所述第四公钥的授权文件数据。

对应要分发给新增授权用户的所有文件数据,将在其二进制空隙的指定位置中,分别写入新增授权用户对应的第四公钥,以标识该文件数据专属新增授权用户使用。

例如,对应要分发给新增授权用户d的所有文件数据,均在文件数据的二进制空隙中写入新增授权用户d的公钥第四d1。由此,可以实现标识该文件数据为用户d专用,二来标识该文件数据权属方为公司a,为后续认证流程提供支持。

(2)删除授权用户

1、接收所述用户提交的对应所述一文件数据删除一授权用户的第三请求;

同样的,第三请求中至少包括待删除的授权用户的指向,以及对应的文件数据的指向,必要时还可以包括提交用户的指向。

2、分别获取所述第二公钥和待删除的授权用户对应的第五公钥;

具体的,服务器将依据第三请求中指向的文件数据,寻找对应的第二公钥;同时,也将依据指向的待删除的授权用户,获取其对应的第五公钥。

例如,公司a提交申请删除其下项目设计图纸对应的授权用户b,则服务器将分别获取公司a下该设计图纸的公钥t(也可能为a1(t))和授权用户b的公钥b1。

3、遍历所述第二公钥下的所有子钥,定位并删除所述第五公钥。

例如,遍历设计图纸的公钥t(也可能为a1(t))下标记的所有子钥,然后定位到公钥b1,将其删除。

在服务器端删除公司b的公钥b1与项目设计图纸公钥t(也可能为a1(t))之间的从属关系之后,则可以认为从根本上解除了项目设计图纸与公司b之间的授权关系。即使在认证过程中从设计图纸中获取到公钥b1,由于服务器据此查询关联关系,确定公钥b1不在其中,也可以直接认定公司b存在侵权行为。

(3)转让(修改)文件数据对应第二公钥

此种情况,对应的是文件数据的权属方变更的情况。在本实施例中,只需在服务端进行修改即可,且操作简单,而对已经流出的文件数据不会产生任何的影响。

1、接收所述用户提交的对应所述一文件数据修改对应的第二公钥的第四请求;

具体的,该请求需要原权属方提交,提交的请求中至少包含用户的指向、文件数据的指向以及新权属方的用户信息;必要时可以要求重新提交原权属方的用户信息以增加安全性。

2、依据新用户的用户信息和所述一文件数据生成新第二公钥;

具体的,服务器将依据请求中记载的新用户(新权属方)的用户信息和所述一文件数据的相关信息,如产品版本编号/时间等等,生成与文件数据唯一对应的新的第二公钥。

例如,公司a提交申请将其项目设计图纸的版权所有者修改为公司f,则提交请求;服务器依据请求中记载的公司f的用户信息和设计图纸的相关信息,生成与其唯一对应的公钥f1(t)。

3、替换所述第二公钥为新的第二公钥。

例如,直接替换原先的第二公钥a1(t)为新的第二公钥f1(t)。

可选的,具体项目文件数据对应的归属方修改可以依据下述不同的两种情况执行不同操作:

若文件数据对应的第二公钥并未与第一公钥相关联,即第二公钥是直接依据文件数据相关信息和其权属方的相关信息生成的,则可以选择直接替换。

若文件数据对应的第二公钥与第一公钥相关联,通过第一公钥标记文件数据的权属方;而第二公钥是依据文件数据本身生成的。只需要将文件数据对应的原第二公钥与原第一公钥的关联关系修改为原第二公钥与新的第二公钥之间的关联关系。例如,假设第二公钥t与公司a对应的公钥a1关联,则需要修改为第二公钥t与公司f对应的公钥f1相关联。

实施例三

本实施例对应上述的实施例一和实施例二,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能实现上述实施例一或实施例二对应的数据签名认证的方法所包含的所有步骤。具体步骤内容在此不进行复述,详细请参阅实施例一或实施例二的记载。

综上所述,本发明提供的数据签名认证的方法、存储介质,不仅能通过签名使文件数据具备流向可追溯功能,能判断待认证文件数据对应的授权用户;而且支持灵活、便捷、高效地对文件数据在权属方和授权方进行修改,更具实用性。本发明具有签名方式简单、安全性高,认证方式高效、准确性高、实用性强等特点。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

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