本发明涉及电子公文领域,特别涉及一种公文流转监控方法及系统。
背景技术:
在公文或者涉密文件流转中需要确定文件流转过程中经过了哪些环节,有时候发文方也需要知道文件使用者身份,使用者设备信息(涉密文件只能在涉密设备上使用),目前主要通过严格的流程管理达到要求,不能及时发现违规行为。如何对公文流转过程中途径的用户和设备进行监控,保证公文不可为造性和完整性,成为一个亟待解决的技术问题。
技术实现要素:
本发明的目的是提供一种公文流转监控方法及系统,以实现对公文流转过程中途径的用户和设备进行监控,保证公文不可为造性和完整性。
为实现上述目的,本发明提供了如下方案:
一种公文流转监控方法,所述监控方法,包括如下步骤:
获取公文到达用户和设备的用户身份和设备身份;
根据所述用户身份生成用户签名公钥和用户签名私钥,根据所述设备身份生成设备签名公钥和设备签名私钥;
根据所述用户签名公钥、所述用户签名私钥、所述设备签名私钥和所述设备签名公钥对所述公文进行单签名,获得单签名码;
判断所述单签名码是否为合法单签名码,获得第一判断结果;
若所述第一判断结果为所述单签名码不是合法单签名码,则当公文发送到下一用户和设备时,返回步骤“获取公文到达用户和设备的用户身份和设备身份”;
若所述第一判断结果为所述单签名码为合法单签名码,则将所述单签名码添加至所述公文的公文流转码中,判断所述单签名码是否为指定用户和设备的单签名码,获得第二判断结果;
若所述第二判断结果为所述单签名码不是指定用户和设备的单签名码,则赋予所述用户和设备接收所述公文的权限;当所述公文发送到下一用户和设备时,返回步骤“获取公文到达用户和设备的用户身份和设备身份”;
若所述第二判断结果为所述单签名码是指定用户和设备的单签名码,则赋予所述用户和设备处理所述公文的权限,并获取所述公文流转码的解码协议;
根据所述公文流转码和所述解码协议对所述公文进行聚合签名,获得聚合签名码;
验证所述聚合签名码是否为合法聚合签名码,获得第三判断结果;
若所述第三判断结果为所述聚合签名码不是合法聚合签名码,当所述公文发送到下一用户和设备时,返回步骤“获取公文到达用户和设备的用户身份和设备身份”;
若所述第三判断结果为所述聚合签名码为合法聚合签名码,则赋予所述指定用户和设备监控所述公文的权限,根据所述公文流转码和所述解码协议确定所述公文在流转过程中途径的用户和设备信息,并将所述公文在流转过程中途径的用户和设备信息发送给所述指定用户和设备。
可选的,所述根据所述用户身份生成用户签名公钥和用户签名私钥,根据所述设备身份生成设备签名公钥和设备签名私钥,具体包括:
获取主密码;
根据所述用户身份,利用公式
根据所述用户签名公钥和所述主密码,利用公式
根据所述设备身份,利用公式
根据所述设备签名公钥和所述主密码,利用公式
可选的,所述根据所述用户签名公钥、所述用户签名私钥、所述设备签名私钥和所述设备签名公钥对所述公文进行单签名,获得单签名码,具体包括:
根据所述用户签名公钥、所述用户签名私钥、所述设备签名公钥和设备签名私钥,利用公式σi=(ui,vi),对所述公文进行单签名,获得单签名码;
式中,ui为第i个用户和设备的第一单签名元素,ui=rip,ri为第i个用户和设备的签名随机数,p为椭圆曲线加法群g的生成元,vi为第i个用户和设备的第二单签名元,
可选的,所述判断所述单签名码是否为合法单签名码,获得第一判断结果,具体包括:
判断公式
式中,p为椭圆曲线加法群g的生成元,vi为第i个用户和设备的第二单签名元素,ui为第i个用户和设备的第一单签名元素,
可选的,所述根据所述公文流转码和所述解码协议对所述公文进行聚合签名,获得聚合签名码,具体包括:
根据所述公文流转码获和所述解码协议获得所述用户和设备的第一单签名元素和第二单签名元素;
根据所述用户和设备的第一单签名元素和第二单签名元素,利用公式σ=(u,v),对所述公文进行聚合签名,获得聚合签名码;
式中,
可选的,所述验证所述聚合签名码是否为合法聚合签名码,获得第三判断结果,具体包括:
判断公式
式中,p为椭圆曲线加法群g的生成元,
一种公文流转监控系统,所述监控系统,包括:
身份获取模块,用于获取公文到达用户和设备的用户身份和设备身份;
秘钥生成模块,用于根据所述用户身份生成用户签名公钥和用户签名私钥,根据所述设备身份生成设备签名公钥和设备签名私钥;
单签名模块,用于根据所述用户签名公钥、所述用户签名私钥、所述设备签名私钥和所述设备签名公钥对所述公文进行单签名,获得单签名码;
单签名验证模块,用于判断所述单签名码是否为合法单签名码,获得第一判断结果;
单签名验证结果第一处理模块,用于若所述第一判断结果为所述单签名码不是合法单签名码,则当公文发送到下一用户和设备时,调用身份获取模块模块,执行获取公文到达用户和设备的用户身份和设备身份;
单签名结果第二处理模块,用于若所述第一判断结果为所述单签名码为合法单签名码,则将所述单签名码添加至所述公文的公文流转码中;
指定用户和设备判断模块,用于判断所述单签名码是否为指定用户和设备的单签名码,获得第二判断结果;
指定用户和设备判断结果第一处理模块,用于若所述第二判断结果为所述单签名码不是指定用户和设备的单签名码,则赋予所述用户和设备接收所述公文的权限;当所述公文发送到下一用户和设备时,调用身份获取模块模块,执行获取公文到达用户和设备的用户身份和设备身份;
指定用户和设备判断结果第二处理模块,用于若所述第二判断结果为所述单签名码是指定用户和设备的单签名码,则赋予所述用户和设备处理所述公文的权限,并获取所述公文流转码的解码协议;
聚合签名模块,用于根据所述公文流转码和所述解码协议对所述公文进行聚合签名,获得聚合签名码;
聚合签名验证模块,用于验证所述聚合签名码是否为合法聚合签名码,获得第三判断结果;
聚合签名验证结果第一处理模块,用于若所述第三判断结果为所述聚合签名码不是合法聚合签名码,当所述公文发送到下一用户和设备时,调用身份获取模块模块,执行获取公文到达用户和设备的用户身份和设备身份;
聚合签名验证结果第二处理模块,用于若所述第三判断结果为所述聚合签名码为合法聚合签名码,则赋予所述指定用户和设备监控所述公文的权限,根据所述公文流转码和所述解码协议确定所述公文在流转过程中途径的用户和设备信息,并将所述公文在流转过程中途径的用户和设备信息发送给所述指定用户和设备。
可选的,所述秘钥生成模块,具体包括:
主密码获取子模块,用于获取主密码;
用户签名公钥获取子模块,用于根据用户身份,利用公式
用户签名私钥获取子模块,用于根据所述用户签名公钥和所述主密码,利用公式
设备签名公钥获取子模块,用于根据设备身份,利用公式
设备签名私钥获取子模块,用于根据所述设备签名公钥和所述主密码,利用公式
可选的,所述单签名模块,具体包括:
单签名子模块,用于根据所述用户签名公钥、所述用户签名私钥、所述设备签名公钥和设备签名私钥,利用公式σi=(ui,vi),对所述公文进行单签名,获得单签名码;
式中,ui为第i个用户和设备的第一单签名元素,ui=rip,ri为第i个用户和设备的签名随机数,p为椭圆曲线加法群g的生成元,vi为第i个用户和设备的第二单签名元,
可选的,所述单签名验证模块,具体包括:
单签名验证子模块,用于判断公式
式中,p为椭圆曲线加法群g的生成元,vi为第i个用户和设备的第二单签名元素,ui为第i个用户和设备的第一单签名元素,
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开了一种公文流转监控方法及系统,该监控方法包括:公文在流转过程中,对中间的用户和设备进行单签名,生成与用户和设备相关的单签名码,并将单签名码加入到公文流转码中,在流转过程中的接收方,根据公文流转码和解码协议进行聚合签名,采用聚合签名验证的方式,使接收方的用户和设备获得监控公文的权限,并确定所述公文在流转过程中途径的用户和设备信息,并将所述公文在流转过程中途径的用户和设备信息发送给接收方用户和设备。本发明的单签名过程和聚合签名过程不仅对使用公文的用户进行了约束,而且对使用公文的设备进行了约束,确保指定用户在指定的设备上才能够对公文进行操作。本发明实现了对公文流转过程中途径的用户和设备进行监控,保证公文不可为造性和完整性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种公文流转监控方法的流程图;
图2为本发明提供的一种公文流转监控系统的结构图。
具体实施方式
本发明的目的是提供一种公文流转监控方法及系统,以实现对公文流转过程中途径的用户和设备进行监控,保证公文不可为造性和完整性。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对发明作进一步详细的说明。
如图1为一种公文流转监控方法的流程图,因步骤105和步骤1012因是返回步骤,所述图1中未显示步骤105和1012。
如图1所示,所述监控方法,包括如下步骤:
步骤101之前还包括系统初始化阶段,具体为:pkg输出群(g,+),(g1,*),其中,g为椭圆曲线加法群,g1为有限域上的乘法群,群g的生成元为p,群g1的生成元q,且|g|=|g1|=q>2l,主密钥s,计算得到系统公钥ppub=sp。定义一个双线性运算
步骤101,获取公文到达用户和设备的用户身份和设备身份。
步骤102,根据所述用户身份生成用户签名公钥和用户签名私钥,根据所述设备身份生成设备签名公钥和设备签名私钥;具体包括:
获取主密码;根据所述用户身份,利用公式
步骤103,根据所述用户签名公钥、所述用户签名私钥、所述设备签名私钥和所述设备签名公钥对所述公文进行单签名,获得单签名码;具体包括:
根据所述用户签名公钥、所述用户签名私钥、所述设备签名公钥和设备签名私钥,利用公式σi=(ui,vi),对所述公文进行单签名,获得单签名码;
式中,ui为第i个用户和设备的第一单签名元素,ui=rip,ri为第i个用户和设备的签名随机数,p为椭圆曲线加法群g的生成元,vi为第i个用户和设备的第二单签名元,
步骤104,判断所述单签名码是否为合法单签名码,获得第一判断结果,具体包括:
判断公式
步骤105,若所述第一判断结果为所述单签名码不是合法单签名码,则当公文发送到下一用户和设备时,返回步骤“获取公文到达用户和设备的用户身份和设备身份”;
步骤106,若所述第一判断结果为所述单签名码为合法单签名码,则将所述单签名码添加至所述公文的公文流转码中;
步骤107,判断所述单签名码是否为指定用户和设备的单签名码,获得第二判断结果;
步骤108,若所述第二判断结果为所述单签名码不是指定用户和设备的单签名码,则赋予所述用户和设备接收所述公文的权限;当所述公文发送到下一用户和设备时,返回步骤“获取公文到达用户和设备的用户身份和设备身份”;
步骤109,若所述第二判断结果为所述单签名码是指定用户和设备的单签名码,则赋予所述用户和设备处理所述公文的权限,并获取所述公文流转码的解码协议;
步骤1010,根据所述公文流转码和所述解码协议对所述公文进行聚合签名,获得聚合签名码;具体包括:
根据所述公文流转码获和所述解码协议获得所述用户和设备的第一单签名元素和第二单签名元素;根据所述用户和设备的第一单签名元素和第二单签名元素,利用公式σ=(u,v),对所述公文进行聚合签名,获得聚合签名码;
式中,
步骤1011,验证所述聚合签名码是否为合法聚合签名码,获得第三判断结果;具体包括:判断公式
式中,p为椭圆曲线加法群g的生成元,
步骤1012,若所述第三判断结果为所述聚合签名码不是合法聚合签名码,当所述公文发送到下一用户和设备时,返回步骤“获取公文到达用户和设备的用户身份和设备身份”;
步骤1013,若所述第三判断结果为所述聚合签名码为合法聚合签名码,则赋予所述指定用户和设备监控所述公文的权限,根据所述公文流转码和所述解码协议确定所述公文在流转过程中途径的用户和设备信息,并将所述公文在流转过程中途径的用户和设备信息发送给所述指定用户和设备。
在验证签名正确的同时,还需要验证设备身份与用户身份是否符合要求,如果文件为涉密文件还需要验证设备身份是否为涉密设备。
本发明还公开了一种公文流转监控系统,所述监控系统,包括:
身份获取模块201,用于获取公文到达用户和设备的用户身份和设备身份;
秘钥生成模块202,用于根据所述用户身份生成用户签名公钥和用户签名私钥,根据所述设备身份生成设备签名公钥和设备签名私钥;所述秘钥生成模块202,具体包括:主密码获取子模块,用于获取主密码;用户签名公钥获取子模块,用于根据用户身份,利用公式
单签名模块203,用于根据所述用户签名公钥、所述用户签名私钥、所述设备签名私钥和所述设备签名公钥对所述公文进行单签名,获得单签名码;所述单签名模块203,具体包括:单签名子模块,用于根据所述用户签名公钥、所述用户签名私钥、所述设备签名公钥和设备签名私钥,利用公式σi=(ui,vi),对所述公文进行单签名,获得单签名码;式中,ui为第i个用户和设备的第一单签名元素,ui=rip,ri为第i个用户和设备的签名随机数,p为椭圆曲线加法群g的生成元,vi为第i个用户和设备的第二单签名元,
单签名验证模块204,用于判断所述单签名码是否为合法单签名码,获得第一判断结果;所述单签名验证模块204,具体包括:单签名验证子模块,用于判断公式
单签名验证结果第一处理模块205,用于若所述第一判断结果为所述单签名码不是合法单签名码,则当公文发送到下一用户和设备时,调用身份获取模块模块,执行获取公文到达用户和设备的用户身份和设备身份;
单签名结果第二处理模块206,用于若所述第一判断结果为所述单签名码为合法单签名码,则将所述单签名码添加至所述公文的公文流转码中;
指定用户和设备判断模块207,用于判断所述单签名码是否为指定用户和设备的单签名码,获得第二判断结果;
指定用户和设备判断结果第一处理模块208,用于若所述第二判断结果为所述单签名码不是指定用户和设备的单签名码,则赋予所述用户和设备接收所述公文的权限;当所述公文发送到下一用户和设备时,调用身份获取模块模块,执行获取公文到达用户和设备的用户身份和设备身份;
指定用户和设备判断结果第二处理模块209,用于若所述第二判断结果为所述单签名码是指定用户和设备的单签名码,则赋予所述用户和设备处理所述公文的权限,并获取所述公文流转码的解码协议;
聚合签名模块2010,用于根据所述公文流转码和所述解码协议对所述公文进行聚合签名,获得聚合签名码;
聚合签名验证模块2011,用于验证所述聚合签名码是否为合法聚合签名码,获得第三判断结果;
聚合签名验证结果第一处理模块2012,用于若所述第三判断结果为所述聚合签名码不是合法聚合签名码,当所述公文发送到下一用户和设备时,调用身份获取模块模块,执行获取公文到达用户和设备的用户身份和设备身份;
聚合签名验证结果第二处理模块2013,用于若所述第三判断结果为所述聚合签名码为合法聚合签名码,则赋予所述指定用户和设备监控所述公文的权限,根据所述公文流转码和所述解码协议确定所述公文在流转过程中途径的用户和设备信息,并将所述公文在流转过程中途径的用户和设备信息发送给所述指定用户和设备。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开了一种公文流转监控方法及系统,该监控方法包括:公文在流转过程中,对中间的用户和设备进行单签名,生成与用户和设备相关的单签名码,并将单签名码加入到公文流转码中,在流转过程中的接收方,根据公文流转码和解码协议进行聚合签名,采用聚合签名验证的方式,使接收方的用户和设备获得监控公文的权限,并确定所述公文在流转过程中途径的用户和设备信息,并将所述公文在流转过程中途径的用户和设备信息发送给接收方用户和设备。本发明的单签名过程和聚合签名过程不仅对使用公文的用户进行了约束,而且对使用公文的设备进行了约束,确保指定用户在指定的设备上才能够对公文进行操作。本发明实现了对公文流转过程中途径的用户和设备进行监控,保证公文不可为造性和完整性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。