本技术涉及数据检查验证,尤其涉及一种数据的回溯查证方法和装置。
背景技术:
1、随着信息化深入发展,电子邮件系统及其遵循的技术标准体系下的各类衍生系统,作为承载重要数据的关键平台,其应用范围日益广泛。这些系统不仅在全球范围内获得了法律地位的广泛认可,还成为促进数据交互的核心媒介。各领域进行数字化转型的背景下,产生越来越多的数据交互行为。在应用系统内部,通过数据交互实现系统内各组件间的数据处理;在各种应用系统或设备之间,通过数据交互实现跨系统或跨设备的协同;在各类组织机构之间,通过数据交互实现跨组织机构的业务协作。
2、电子邮件的数据标准是mime(multipurpose internet mail extensions,多用途互联网邮件扩展),该标准主要基于rfc 2045(mime消息体结构定义规范)、rfc 2046(mime媒体类型定义规范)、rfc 2047(非ascii邮件头部编码定义规范)的规范定义,从最初用于对电子邮件附件文件的格式类型进行定义和表示开始,到今天已广泛使用在互联网各种涉及数据交互的场景中,如http(hypertext transfer protocol,超文本传输协议)传输中指定网页内容类型、webservices(网络服务)中指定数据传输格式、api(applicationprogramming interface,应用程序编程接口)通信中指定请求与响应数据格式、应用系统进行上传文件操作时限制文件类型等。这里,ascii是一种字符编码标准,用于文本在计算机、通信设备和其它电子设备之间的交换。在mime基础上还发展出s/mime(secure/multipurpose internet mail extensions,安全/多用途互联网邮件扩展),通过将mime与pki(public key infrastructure,公钥基础设施)技术相结合实现对数据的加密和签名,提高数据交互的安全性。
3、电子邮件数据标准的两个典型特征是数据封装特性和数据交换行为,不但体现在电子邮件系统范畴的服务器和服务器,服务器和客户端应用场景中,也应用于基于mime封装数据交换的即时通信系统,鉴于此类数据交互行为的普遍性,对此类数据的持有和交互行为的存证回溯和检查验证能力,变得日益重要。因此,亟待解决这一技术问题。
技术实现思路
1、鉴于上述问题,提出了本技术以便提供一种克服上述问题或者至少部分地解决上述问题的数据的回溯查证方法和装置。所述技术方案如下:
2、第一方面,提供了一种数据的回溯查证方法,所述数据基于mime标准或者s/mime标准封装,所述方法包括:
3、预先定义供证角色、存证角色和获证角色,其中,供证角色包括一个或多个供证方;
4、对于一个或多个供证方中的任一个供证方,由该供证方提供证明数据,并根据证明数据确定扩展信息和证明要素,进而将扩展信息和证明要素组合生成证明数据的唯一的数据标签,将数据标签提交给存证角色对应的存证方,由存证方存储数据标签;其中,所述证明要素包括采用预设的摘要算法并结合mime标准或者s/mime标准对证明数据进行计算得到的完整数据指纹值和/或分段数据指纹值;
5、由获证角色对应的获证方响应于数据的回溯查证请求,根据数据的回溯查证请求中的查证条件,从存证方存储的一条或多条数据标签中查询得到目标数据标签,进而根据目标数据标签的扩展信息、完整数据指纹值、分段数据指纹值中的一项或多项得到查证结果。
6、在一种可能的实现方式中,所述扩展信息包括时间、身份和行为;
7、行为是对证明数据进行出局、入局、持有或者丢弃的操作;
8、身份是唯一标识对证明数据进行出局、入局、持有或者丢弃操作的操作方身份的值;
9、时间是生成证明数据的唯一的数据标签的时间值。
10、在一种可能的实现方式中,若该供证方提供证明数据是对证明数据进行出局的操作,所述扩展信息还包括数据接收方。
11、在一种可能的实现方式中,若该供证方提供证明数据是对证明数据进行入局的操作,所述扩展信息还包括数据来源方。
12、在一种可能的实现方式中,所述方法还包括:
13、对于设定指纹要素,由该供证方遍历该供证方所持有的数据或指纹库,若有与设定指纹要素匹配的当前数据,则根据匹配到的当前数据确定当前数据的扩展信息;将当前数据的扩展信息和设定指纹要素组合生成当前数据的唯一的数据标签,将数据标签提交给存证角色对应的存证方,由存证方存储数据标签。
14、在一种可能的实现方式中,若数据的回溯查证请求包括对第一供证方入局的第一证明数据来自于第二供证方进行确认的请求;
15、由获证角色对应的获证方响应于数据的回溯查证请求,根据数据的回溯查证请求中的查证条件,从存证方存储的一条或多条数据标签中查询得到目标数据标签,进而根据目标数据标签的扩展信息、完整数据指纹值、分段数据指纹值中的一项或多项得到查证结果,包括:
16、由获证角色对应的获证方响应于对第一供证方入局的第一证明数据来自于第二供证方进行确认的请求,采用预设的摘要算法并结合mime标准或者s/mime标准对第一证明数据进行计算,得到第一证明数据的完整数据指纹值和/或分段数据指纹值;
17、获证方在存证方存储的一条或多条数据标签中,查找与第一证明数据的完整数据指纹值和/或分段数据指纹值匹配的至少一条第一数据标签;
18、判断至少一条第一数据标签的扩展信息的身份是否包含第二供证方;
19、若至少一条第一数据标签的扩展信息的身份包含第二供证方,则判断至少一条第一数据标签的扩展信息的数据接收方是否包含第一供证方,若是,则确认第一供证方入局的第一证明数据来自于第二供证方;若否,则确认第一供证方入局的第一证明数据不是来自于第二供证方;
20、若至少一条第一数据标签的扩展信息的身份不包含第二供证方,则确认第一供证方入局的第一证明数据不是来自于第二供证方。
21、在一种可能的实现方式中,若数据的回溯查证请求包括对第一供证方出局的第二证明数据是发送给第三供证方进行查证的请求;
22、由获证角色对应的获证方响应于数据的回溯查证请求,根据数据的回溯查证请求中的查证条件,从存证方存储的一条或多条数据标签中查询得到目标数据标签,进而根据目标数据标签的扩展信息、完整数据指纹值、分段数据指纹值中的一项或多项得到查证结果,包括:
23、由获证角色对应的获证方响应于对第一供证方出局的第二证明数据是发送给第三供证方进行查证的请求,采用预设的摘要算法并结合mime标准或者s/mime标准对第二证明数据进行计算,得到第二证明数据的完整数据指纹值和/或分段数据指纹值;
24、获证方在存证方存储的一条或多条数据标签中,查找与第二证明数据的完整数据指纹值和/或分段数据指纹值匹配的至少一条第二数据标签;
25、判断至少一条第二数据标签的扩展信息的身份是否包含第一供证方,且至少一条第二数据标签的扩展信息的行为是否是数据出局,以及数据接收方是否是第三供证方;
26、若至少一条第二数据标签的扩展信息的身份包含第一供证方,且至少一条第二数据标签的扩展信息的行为是数据出局,以及数据接收方是第三供证方,则确定第一供证方出局的第二证明数据是发送给第三供证方;
27、若至少一条第二数据标签的扩展信息的身份不包含第一供证方,或者至少一条第二数据标签的扩展信息的行为不是数据出局,则确定第一供证方没有出局第二证明数据。
28、在一种可能的实现方式中,若数据的回溯查证请求包括对第一供证方持有或丢弃第三证明数据进行查证的请求;
29、由获证角色对应的获证方响应于数据的回溯查证请求,根据数据的回溯查证请求中的查证条件,从存证方存储的一条或多条数据标签中查询得到目标数据标签,进而根据目标数据标签的扩展信息、完整数据指纹值、分段数据指纹值中的一项或多项得到查证结果,包括:
30、由获证角色对应的获证方响应于对第一供证方持有或丢弃第三证明数据进行查证的请求,采用预设的摘要算法并结合mime标准或者s/mime标准对第三证明数据进行计算,得到第三证明数据的完整数据指纹值和/或分段数据指纹值;
31、获证方在存证方存储的一条或多条数据标签中,查找与第三证明数据的完整数据指纹值和/或分段数据指纹值匹配的至少一条第三数据标签;
32、判断至少一条第三数据标签的扩展信息的身份是否包含第一供证方;
33、若至少一条第三数据标签的扩展信息的身份包含第一供证方,则查看至少一条第三数据标签的扩展信息的行为;若至少一条第三数据标签的扩展信息的行为是数据丢弃,则确定第一供证方丢弃第三证明数据;若至少一条第三数据标签的扩展信息的行为是数据持有,则确定第一供证方持有第三证明数据;
34、若至少一条第三数据标签的扩展信息的身份不包含第一供证方,则确定第一供证方没有持有或没有丢弃第三证明数据。
35、在一种可能的实现方式中,若数据的回溯查证请求包括第一供证方发布持有的第四数据是否早于第二供证方发布持有的第四数据的查证请求;
36、由获证角色对应的获证方响应于数据的回溯查证请求,根据数据的回溯查证请求中的查证条件,从存证方存储的一条或多条数据标签中查询得到目标数据标签,进而根据目标数据标签的扩展信息、完整数据指纹值、分段数据指纹值中的一项或多项得到查证结果,包括:
37、由获证角色对应的获证方响应于第一供证方发布持有的第四数据是否早于第二供证方发布持有的第四数据的查证请求,采用预设的摘要算法并结合mime标准或者s/mime标准对第四证明数据进行计算,得到第四证明数据的完整数据指纹值和/或分段数据指纹值;
38、获证方在存证方存储的一条或多条数据标签中,查找与第四证明数据的完整数据指纹值和/或分段数据指纹值匹配且身份是第一供证方的第四数据标签,以及查找与第四证明数据的完整数据指纹值和/或分段数据指纹值匹配且身份是第二供证方的第五数据标签;
39、若第四数据标签的扩展信息的时间早于第五数据标签的扩展信息的时间,则确定第一供证方发布持有的第四数据早于第二供证方发布持有的第四数据。
40、第二方面,提供了一种数据的回溯查证装置,所述数据基于mime标准或者s/mime标准封装,所述装置包括:
41、定义模块,用于预先定义供证角色、存证角色和获证角色,其中,供证角色包括一个或多个供证方;
42、一个或多个供证方中的任一个供证方,用于提供证明数据,并根据证明数据确定扩展信息和证明要素,进而将扩展信息和证明要素组合生成证明数据的唯一的数据标签,将数据标签提交给存证角色对应的存证方;其中,所述证明要素包括采用预设的摘要算法并结合mime标准或者s/mime标准对证明数据进行计算得到的完整数据指纹值和/或分段数据指纹值;
43、存证方,用于存储一条或多条数据标签;
44、获证角色对应的获证方,用于响应于数据的回溯查证请求,根据数据的回溯查证请求中的查证条件,从存证方存储的一条或多条数据标签中查询得到目标数据标签,进而根据目标数据标签的扩展信息、完整数据指纹值、分段数据指纹值中的一项或多项得到查证结果。
45、在一种可能的实现方式中,所述扩展信息包括时间、身份和行为;
46、行为是对证明数据进行出局、入局、持有或者丢弃的操作;
47、身份是唯一标识对证明数据进行出局、入局、持有或者丢弃操作的操作方身份的值;
48、时间是生成证明数据的唯一的数据标签的时间值。
49、在一种可能的实现方式中,若该供证方提供证明数据是对证明数据进行出局的操作,所述扩展信息还包括数据接收方。
50、在一种可能的实现方式中,若该供证方提供证明数据是对证明数据进行入局的操作,所述扩展信息还包括数据来源方。
51、在一种可能的实现方式中,该供证方还用于:
52、对于设定指纹要素,遍历该供证方所持有的数据或指纹库,若有与设定指纹要素匹配的当前数据,则根据匹配到的当前数据确定当前数据的扩展信息;将当前数据的扩展信息和设定指纹要素组合生成当前数据的唯一的数据标签,将数据标签提交给存证角色对应的存证方,由存证方存储数据标签。
53、在一种可能的实现方式中,若数据的回溯查证请求包括对第一供证方入局的第一证明数据来自于第二供证方进行确认的请求;获证方还用于:
54、响应于对第一供证方入局的第一证明数据来自于第二供证方进行确认的请求,采用预设的摘要算法并结合mime标准或者s/mime标准对第一证明数据进行计算,得到第一证明数据的完整数据指纹值和/或分段数据指纹值;
55、在存证方存储的一条或多条数据标签中,查找与第一证明数据的完整数据指纹值和/或分段数据指纹值匹配的至少一条第一数据标签;
56、判断至少一条第一数据标签的扩展信息的身份是否包含第二供证方;
57、若至少一条第一数据标签的扩展信息的身份包含第二供证方,则判断至少一条第一数据标签的扩展信息的数据接收方是否包含第一供证方,若是,则确认第一供证方入局的第一证明数据来自于第二供证方;若否,则确认第一供证方入局的第一证明数据不是来自于第二供证方;
58、若至少一条第一数据标签的扩展信息的身份不包含第二供证方,则确认第一供证方入局的第一证明数据不是来自于第二供证方。
59、在一种可能的实现方式中,若数据的回溯查证请求包括对第一供证方出局的第二证明数据是发送给第三供证方进行查证的请求;获证方还用于:
60、响应于对第一供证方出局的第二证明数据是发送给第三供证方进行查证的请求,采用预设的摘要算法并结合mime标准或者s/mime标准对第二证明数据进行计算,得到第二证明数据的完整数据指纹值和/或分段数据指纹值;
61、在存证方存储的一条或多条数据标签中,查找与第二证明数据的完整数据指纹值和/或分段数据指纹值匹配的至少一条第二数据标签;
62、判断至少一条第二数据标签的扩展信息的身份是否包含第一供证方,且至少一条第二数据标签的扩展信息的行为是否是数据出局,以及数据接收方是否是第三供证方;
63、若至少一条第二数据标签的扩展信息的身份包含第一供证方,且至少一条第二数据标签的扩展信息的行为是数据出局,以及数据接收方是第三供证方,则确定第一供证方出局的第二证明数据是发送给第三供证方;
64、若至少一条第二数据标签的扩展信息的身份不包含第一供证方,或者至少一条第二数据标签的扩展信息的行为不是数据出局,则确定第一供证方没有出局第二证明数据。
65、在一种可能的实现方式中,若数据的回溯查证请求包括对第一供证方持有或丢弃第三证明数据进行查证的请求;获证方还用于:
66、响应于对第一供证方持有或丢弃第三证明数据进行查证的请求,采用预设的摘要算法并结合mime标准或者s/mime标准对第三证明数据进行计算,得到第三证明数据的完整数据指纹值和/或分段数据指纹值;
67、在存证方存储的一条或多条数据标签中,查找与第三证明数据的完整数据指纹值和/或分段数据指纹值匹配的至少一条第三数据标签;
68、判断至少一条第三数据标签的扩展信息的身份是否包含第一供证方;
69、若至少一条第三数据标签的扩展信息的身份包含第一供证方,则查看至少一条第三数据标签的扩展信息的行为;若至少一条第三数据标签的扩展信息的行为是数据丢弃,则确定第一供证方丢弃第三证明数据;若至少一条第三数据标签的扩展信息的行为是数据持有,则确定第一供证方持有第三证明数据;
70、若至少一条第三数据标签的扩展信息的身份不包含第一供证方,则确定第一供证方没有持有或没有丢弃第三证明数据。
71、在一种可能的实现方式中,若数据的回溯查证请求包括第一供证方发布持有的第四数据是否早于第二供证方发布持有的第四数据的查证请求;获证方还用于:
72、响应于第一供证方发布持有的第四数据是否早于第二供证方发布持有的第四数据的查证请求,采用预设的摘要算法并结合mime标准或者s/mime标准对第四证明数据进行计算,得到第四证明数据的完整数据指纹值和/或分段数据指纹值;
73、在存证方存储的一条或多条数据标签中,查找与第四证明数据的完整数据指纹值和/或分段数据指纹值匹配且身份是第一供证方的第四数据标签,以及查找与第四证明数据的完整数据指纹值和/或分段数据指纹值匹配且身份是第二供证方的第五数据标签;
74、若第四数据标签的扩展信息的时间早于第五数据标签的扩展信息的时间,则确定第一供证方发布持有的第四数据早于第二供证方发布持有的第四数据。
75、借由上述技术方案,本技术实施例提供的数据的回溯查证方法和装置,该方法在查证时通过供证方确定的证明数据的扩展信息和证明要素,为证明数据生成的具备唯一性且不可篡改的数据标签,将数据标签存储到存证方,由获证方响应于数据的回溯查证请求从存证方获取目标数据标签,进而根据目标数据标签对数据进行查证,为邮件系统、文件传输等mime、s/mime应用场景提供了更加可靠、高效的数据查证解决方案;并且,由于是通过数据标签进行查证,有效节省了存储资源,增强了数据内容的安全性,并提高了查证响应的效率;此外,将数据标签存储到存证方,由获证方从存证方获取目标数据标签,进而根据目标数据标签对数据进行查证,这样增强了数据的可追溯性,避免了pki管理的复杂性。
76、进一步,数据标签的扩展信息中包括了时间、身份和行为,也就是说,数据标签记录了对证明数据进行出局、入局、持有或者丢弃的操作,以及对证明数据进行出局、入局、持有或者丢弃操作的操作方身份,这样存证方负责存储这些数据标签,实现了数据状态变化记录与供证方的逻辑解耦,从而能够灵活应对各种数据流转场景;在数据查证环节,获证方能够从存证方迅速访问到涉及特定数据从产生到消亡全过程中各阶段(可以包括出局、入局、持有、丢弃)的数据标签,这一特性从根本上改变了传统业务层面查证的视角,转而深入到数据状态变化的微观层面,极大地增强了数据流转过程的安全性、可追溯性以及准确性,为邮件系统、文件传输等mime、s/mime应用场景提供了更有效的数据保护力度和查证效率。
1.一种数据的回溯查证方法,其特征在于,所述数据基于mime标准或者s/mime标准封装,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述扩展信息包括时间、身份和行为;
3.根据权利要求2所述的方法,其特征在于,若该供证方提供证明数据是对证明数据进行出局的操作,所述扩展信息还包括数据接收方。
4.根据权利要求2所述的方法,其特征在于,若该供证方提供证明数据是对证明数据进行入局的操作,所述扩展信息还包括数据来源方。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
6.根据权利要求3所述的方法,其特征在于,若数据的回溯查证请求包括对第一供证方入局的第一证明数据来自于第二供证方进行确认的请求;
7.根据权利要求3所述的方法,其特征在于,若数据的回溯查证请求包括对第一供证方出局的第二证明数据是发送给第三供证方进行查证的请求;
8.根据权利要求2所述的方法,其特征在于,若数据的回溯查证请求包括对第一供证方持有或丢弃第三证明数据进行查证的请求;
9.根据权利要求2所述的方法,其特征在于,若数据的回溯查证请求包括第一供证方发布持有的第四数据是否早于第二供证方发布持有的第四数据的查证请求;
10.一种数据的回溯查证装置,其特征在于,所述数据基于mime标准或者s/mime标准封装,所述装置包括:
