买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明提出一种基于授权码的网络办公批文授权审批方法。包括:1.进入审批流程前获取授权码授权,具有权限的审批人进入批文系统进行批文处理。2.通过角色、权限划分和权限动作分级,利用授权码审批避免出现因权限越级等造成的安全问题。3.利用混沌理论优化数字签名技术,加入了新数据结构的消息传输协议,极大地提高批文审批过程中消息传输的安全性和效率。本发明能够节约人力成本,有效地提高审批速度,解决了传统审批方法中存在的安全漏洞和效率问题,审批过程灵活易操作,通过使用数字签名及消息协议提高安全性能,有效防止非法越权操作和不安全因素影响,适合于应用在国家机关、企事业单位内部在线批文审批系统等信息安全应用领域。
主权项:1.一种基于授权码的网络办公批文授权审批方法,其特征在于:Step_1:不同职责员工在系统初始化后输入授权码进行批文审批操作;Step_2:部门审批人根据分配的权限和动作进行批文审批;Step_3:部门负责人对批文进行最终审核,经数字签名后发送批文回执;Step_4:服务器后台的管理员,维护人员根据自身权限和动作进行数据问题处理,并反馈信息;所述方法的技术设计和使用流程包括以下具体步骤:Part_1.角色权限细分设计SubSection_1.整体系统的权限授权包括:1操作权限授权:被分配到该权限的用户能够使用页面的操作权限,包括增删改查数据、数据接收和发送的操作权限,该权限设置授权码“A”,2数据权限授权:被分配到该权限的用户能够使用查看数据的权限,限定在操作模块中的操作数据范围内使用,该权限设置授权码“B”,3系统内置授权:被分配到该权限的管理员根据审批流程的业务需求授予操作权限、数据权限的角色,并根据对应部门人员的自身业务需求自定义组合权限授权,该权限设置授权码“C”,4系统使用授权:被分配到该权限的人员能够对下属人员授予使用系统和对应部门业务模块的使用权限,该权限设置授权码“D”,且被授予使用对应模块的人员授权码为“Y”,不能使用对应模块的人员授权码为“N”,SubSection_2.整体系统的权限动作包括:1职工工资管理:本权限动作能够对职工工资审核单进行审批,包括职工工资数据的操作,具体为:新增职工工资表,根据姓名、编号、月份进行工资数据查询和修改操作,该权限动作设置授权码“001”,2报销单审核:本权限动作能够对组织产生的费用申请报销单进行审批,包括报销单数据的操作,具体为:新增报销单,根据凭证编号、时间进行报销数据查询、修改和导出,批量添加报销单审批人,该权限动作设置授权码“002”,3工作流程自动化:本权限动作包括新建不同类别批文,根据批文编号、时间进行批文数据的查询和修改操作,根据所添加的审核人和系统代码逻辑实现一键自动化审批,该权限动作设置授权码“003”,4物品出入库审核:本权限动作能够对组织物品详单进行审批,包括物品数据的操作,具体为:根据物品名称、数量、时间进行物品数据查询、校对和审批,该权限动作设置权限码“004”,5平台审阅会计报表:本权限动作能够对审批过的资金流动信息日志进行二次审核,包括审核日志数据的操作,具体为:根据批文分类、审核编号、时间对日志数据进行查询和修改,该权限动作设置授权码“005”,6职工信息服务器端维护:本权限动作能够使一级管理员对组织所有角色信息进行修改、监管和维护,该权限动作设置授权码“000”,7服务器端管理员后台维护:本权限动作能够使维护员对系统内的模块进行安全维护,该权限动作设置授权码“111”,8批文数据传输和审核结果传输:本权限动作能够使部门主管对最终审核完成的批文数据和审核结果进行数字签名,并以消息传输协议对批文进行最终审核消息发送,该权限动作设置授权码“222”,SubSection_3.整体系统的角色包括:1一级管理员“SA”:该角色能够获得系统内所有权限授权,并能够为系统其他角色分配权限,能够使用系统内所有权限操作,根据权限授权码的授权ID赋予为“SA_BCD”,能够拥有权限动作授权码“000”、“001”、“002”、“003”、“004”,2部门部长“MA”;该角色能够获得系统内操作权限授权和数据权限授权,能够查看、收取、更改批文状态,并在消息传送前更改批文状态,确定已审批完成的批文,根据权限授权码的授权ID赋予为:“MA_ABD_Y”和“MA_ABD_N”,能够拥有权限动作授权码“001”、“002”、“003”、“004”、“222”,3部门主管“MC”;该角色能够获得系统内操作权限授权和数据权限授权,能够查看、收取、更改批文内容,进行一次确认后更改批文状态为已核查,然后通过消息传输端口向对应部门部长发送经部门主管二次确认的批文数据,并校对部门员工的审核日志,根据权限授权码的授权ID赋予为:“MC_ABD_Y”和“MC_ABD_N”,能够拥有权限动作授权码“001”、“002”、“003”、“004”、“005”,4部门员工“MP”:该角色能够获得系统内操作权限授权和数据权限授权,能够对批文进行一次审批,更改批文状态为待确认状态后通过消息传输端口发送对应部门主管,根据权限授权码的授权ID赋予为:“MP_AB_Y”和“MP_AB_N”,依据不同的部门能够拥有权限动作授权码“001”、“002”、“003”、“004”,5普通用户“PP”;该角色为通过批文系统审批批文的普通用户,根据消息传输端口上传待审批的批文数据和接收已审核完成的批文回执,根据权限授权码的授权ID赋予给“PP”,6维护员“WA”:该角色能够获得系统内操作权限授权和数据权限授权,该角色动作用户维护服务器端各模块,维护数据的安全性和稳定性,根据权限授权码的授权ID赋予为“WA_AB”,能够拥有权限动作授权码“111”;SubSection_4.根据整体系统的权限授权、权限动作、角色和角色授权ID的划分,数据库使用Mysql数据库,后端数据库物理结构设计步骤描述为:S1_1、在数据库中建立用户信息表tab_sys_accessCode,建立属性:id_tab1代表在表中记录数据编号、userId代表账户、password代表密码、modeName代表状态名称、modeId代表状态编号、aName代表被授权人名称、aCode代表授权码、aDate代表被授权日期;S1_2、在数据库中建立批文数据库表tab_feed_doing,建立属性:id_tab2代表在表中记录数据编号、fdId代表被审批人批文编号、fdLeader代表审批人、fdLeaderid代表审批人编号、fddYes代表审批意见、fddWords代表具体意见、fddStatus代表批文处理状态;S1_3、在数据库中建立部门信息表tab_depart_role,建立属性:id_tab3代表在表中记录数据编号、departName代表部门名称、departId代表部门编号;S1_4、在数据库中建立部门岗位表tab_depart_post,建立属性:id_tab4代表在表中记录数据编号、postName代表岗位名称、postID代表岗位编号;S1_5、在数据库中建立部门角色信息表tab_role_data,建立属性:id_tab5代表在表中记录数据编号、roleName代表角色名称、role_depart代表角色部门、role_aId代表角色授权ID、permiss_id代表权限授权码、p_actId代表权限动作授权码;S1_6、在数据库中建立权限授权表tab_permission,建立属性:id_tab6代表在表中记录数据编号、permiss_name代表权限名称、permiss_id代表权限授权码;S1_7、在数据库中建立权限动作表tab_permission_act,建立属性:id_tab7代表在表中记录数据编号、p_actName代表权限动作名称、p_actId代表权限动作授权码;S1_8、所述步骤完毕;Part_1描述完毕;Part_2.数字签名内核设计使用数字签名的方式实现批文回执的过程,所述数字签名技术包括对需要传输的信息进行基于混沌理论的Hash函数生成Hash信息摘要,并通过混沌映射改进第一类Chebyshev映射进行优化数字签名的公钥密码系统所用公钥和私钥,数字签名内核具体设计步骤描述为:Func2.1基于级联混沌映射的Hash函数Hash函数内携带秘密密钥,输入批文回执内容后输出信息摘要,具体步骤描述为:S2_1_1、接收批文回执信息,将回执信息明文数据Text_P进行分块并将其数字量化,每一个字符作为一个明文信息块生成明文信息序列Text_P={P1,P2,P3,…,Pi,…};其中,i代表在集合内的序号;S2_1_2、将明文序列Pi中的量化值根据式E1变换到2D-Arnold映射的初始迭代参数的值域中,使得该集合内量化后的第一个和第二个值作为2D-Arnold混沌映射的迭代参数;E1:μi=1.745+0.001*Ascmi其中,μi为2D-Arnold混沌映射的初始迭代参数,mi为明文序列中的单位字符元素,Ascmi函数表示返回该字符mi的ASCII码;S2_1_3、设混沌伪随机序列Arnold_X={x1,x2,x3,…,xi,…,xlen_x},其中,xi为集合Arnold_X第i个元素;len_x为集合Arnold_X元素总数,混沌伪随机序列Arnold_Y={y1,y2,y3,…,yi,…,ylen_y},yi为集合Arnold_Y第i个元素;len_y为集合Arnold_Y元素总数,获取明文信息序列长度J_len将μi代入式E2的2D-Arnold混沌映射中,迭代J_len*100+600次,每迭代1000次加入式E3的周期性正弦扰动中;E2由E2_1,E2_2,E2_3组成:E2_1:xi+1=μi*xi+μi+1*yidiv_rE2_NE2_2:yi+1=μi+2*xi+μi+3*yidiv_rE2_NE2_3:gcdμi*μi+3-μi+1*μi+2,E2_N=1E3:x0=x0+h*siny0其中,式E2为2D-Arnold混沌映射方程,式E3为周期性正弦扰动公式;x0、y0为映射的初始状态变量;xi、yi为映射的状态变量,设定Num_A和Num_B为运算中的操作数,Num_Adiv_rNum_B返回Num_A除以Num_B后的余数,gcdNum_A,Num_B表示返回Num_A和Num_B的最大公因数,E2_N为将所得数值取模保留为小数部分的参数,h为映射步长,sinNum_A表示返回Num_A的正弦值;S2_1_4、在获得的混沌序列中舍弃前600次迭代结果,分别计算长为J_len*100,获取长度J_len的明文信息序列;S2_1_5、设置Arnold_X和Arnold_Y的序列长度为J_len*100,将Arnold_X与Arnold_Y交错排序,截取前32长度的序列,获得最终的混沌伪随机序列Arnold_F={x1,y1,…,xi,yi,…},其中,xi和yi来自集合Arnold_X和Arnold_Y;S2_1_6、将序列Arnold_F中的所有序列值的小数转换为16位二进制数;S2_1_7、将步骤S2_1_6的序列值偶数位以倒序排序后放在末位;S2_1_8、将步骤S2_1_7的序列值奇数位以正序放在首位,重组成二进制数,再转换成十进制数;S2_1_9、将步骤S2_1_8的十进制序列值通过用户设定的二进制序列转换表转换为128比特的二进制序列Bit_S;S2_1_10、将Bit_S进行二进制逐位模2相加求和,最终获得批文回执明文字符Pi的单向Hash值Hash_num;S2_1_11、将Bit_S中十进制的第三、第四个元素作为步骤S2_1_3中2D-Arnold混沌映射的第三次,然后设置初始迭代参数,继续迭代至形成最终的批文数据信息摘要;S2_1_12、所述步骤完毕;Func2.2基于级联混沌映射的第一类Chebyshev公钥密码系统数字签名使用第一类Chebyshev公钥密码系统,通过级联混沌映射产生公钥和私钥,具体步骤描述为:S2_2_1、发布者生成私钥密码Private_Key_1,设置Private_Key_1=a1a2a3a4a5a6a7a8a9;S2_2_2、将a1、a2代入2D-Arnold混沌映射中作为其初始迭代参数,a3a4a5a6作为2D-Arnold混沌映射的迭代次数,a7作为混沌映射的周期扰动参数,获取私钥序列长度I_len,迭代I_len*100+600次,在获得的混沌序列中舍弃前600次迭代结果,经过迭代后生成混沌序列Arnold_R={x1,y1,…,xi,yi,…},xi和yi来自集合Arnold_X和Arnold_Y;S2_2_3、截取混沌序列Arnold_R的前四位作为式E4的superLorenz超混沌映射的初始迭代参数进行混沌映射级联,代入后迭代I_len*100+600次,每迭代1000次加入式E5的余弦周期性扰动,E4由E4_1,E4_2,E4_3,E4_4组成,式E4为superLorenz映射方程,E4_1=α*dy-dx+dmE4_2=γ*dx-dy-dx*dzE4_3=dx*dy-β*dzE4_4=-dy*dz+θ*dmE5:x0=x0+a7*cosy0其中,式E5为周期性余弦扰动公式,a7为私钥的第七位,E4_1,E4_2,E4_3,E4_4为映射的状态变量,dx,dy,dz,dm为映射的初始变量,α,β,γ,θ为系统参数且分别来自混沌序列Arnold_R的前四位,设置α=10,β=83,γ=28,θ∈[-1.52,-0.06]时系统呈混沌状态;S2_2_4、在获得的混沌序列中舍弃前600次迭代结果,抽取4个混沌伪随机序列sLorenz_X、sLorenz_Y、sLorenz_Z、sLorenz_M;S2_2_5、将序列sLorenz_X、sLorenz_Y、sLorenz_Z、sLorenz_M交错排序获得混沌序列sLorenz_T={dx1,dy1,dz1,dm1,…,dxi,dyi,dzi,dmi,…};dxi,dyi,dzi,dmi分别来自混沌伪随机序列sLorenz_X、sLorenz_Y、sLorenz_Z、sLorenz_M集合;S2_2_6、将序列sLorenz_T中的所有序列值的小数转换为16位二进制数;S2_2_7、将步骤S2_2_6的序列值偶数位以正序放在首位;S2_2_8、将步骤S2_2_7的序列值奇数位以倒序排序后放在末位,重组成二进制数,再转换成十进制数,形成经比特重排后的新混沌序列sLorenz_change_T;S2_2_9、选取序列sLorenz_change_T前六位元素后代入式E6的整数映射公式进行映射处理生成整数Int_U1、Int_U2、Int_U3、Int_U4、Int_U5、Int_U6;E6:Int_Ui=|sLorenz_change_Ti|-sLorenz_change_Ti|mod13mod1其中,sLorenz_change_Ti为混沌序列sLorenz_change_T中的第i个元素,Int_Ui为经sLorenz_change_Ti整数映射处理后生成的整数,其中i=1,2,3,4,5,6,Num_ANum_B表示返回Num_A的小数点右移Num_B位的结果,Num_AmodNum_B表示返回Num_A模Num_B的结果,|Num_A|表示返回Num_A的绝对值;S2_2_10、将Int_U1至Int_U6合并生成大整数Int_r;设第一类Chebyshev多项式为:Chebyshev_T0Num=Init_0;Chebyshev_T1Num=Init_1;Chebyshev_Tn+1Num=Int_c*FuncNum*Chebyshev_TnNum-Chebyshev_Tn-1Num;其中,设Num是自变量数值;Int_c,Init_0和Init_1为用户设定的数值,函数FuncNum为自变量为Num的函数;Chebyshev_T0,Chebyshev_T1,…,Chebyshev_Ti,…,Chebyshev_Tn是第一类Chebyshev多项式的各项;设order为第一类Chebyshev多项式的阶数,FuncNum=cosordercosrand-1,1;其中,cosNum_A返回Num_A的余弦值,randNum_A,Num_B表示返回区间为-Num_A,Num_B的随机数,E7代表第一类Chebyshev迭代值Chebyshev_Value,E7:Chebyshev_ValueNum=Chebyshev_TorderFuncNum,orderS2_2_11、将大整数Int_r作为新私钥New_Private_Key2,并生成公钥Public_Key_1=Rand_x,Chebyshev_ValueRand_x,其中Rand_x为区间[-1,1]内的随机数;S2_2_12、所述步骤完毕;Func2.3基于混沌理论改进的第一类Chebyshev映射的数字签名算法描述为:所述的数字签名流程中,角色包含数据发送者、数据接收者,方法分为密钥产生算法、加密算法和解密算法;密钥产生算法的具体步骤描述为:S2_3_1、数据发送者Data_Sender_1设定初始值,通过系统输入到数字签名内核中;S2_3_2、内核获取来自Data_Sender_1的个人私钥后,经过Func2.1、Func2.2所述的密钥生成方法,生成F1的新私钥New_Sender_Private_Key、公钥Sender_Public_Key;加密算法的具体步骤描述为:S2_3_3、数据接收者Data_Receiver_1获取来自Data_Sender_1公布的公钥Sender_Public_Key;S2_3_4、将消息表达为一个数Num_K∈[-1,1],随机选取区间为[-1,1]之间的数值RandVal_x;S2_3_5、通过输入系统将参数输入到数字签名内核中,在内部生成一个大整数Int_t;S2_3_6、初始化Chebyshev_ValueInt_t,通过E7计算Chebyshev_ValueRandVal_x;首先计算以新私钥New_Sender_Private_Key的数值为迭代参数Chebyshev_Value,RandVal_x为公式E7的初始值,再将结果以大整数作为迭代参数的公式E7中的迭代值进行计算得到Chebyshev_Value,其中RandVal_x为区间[-1,1]内的随机数,Num_KChebyshev_Value将消息转换到区间[-1,1]上;S2_3_7、生成最终密文Text_Private={Num_KChebyshev_Value,Pi},通过传输协议发送给Data_Sender_1;解密算法的具体步骤描述为:S2_3_8、Data_Sender_1通过传输协议接收到Data_Receiver_1的密文Text_Private;S2_3_9、设源端验证过程TprivateChebyshev_Value记为Ts,目的端验证为TpublicChebyshev_Value记为Td;通过新私钥New_Sender_Private_Key计算TsRandVal_x,首先计算初始参数数值,随机数RandVal_x为公式E7初始值,再以新私钥New_Sender_Private_Key的数值为迭代参数的公式E7中的初始值进行计算获得结果,得到TsRandVal_x,其中RandVal_x为区间[-1,1]内的随机数;S2_3_10、通过公钥Public_Key计算TdRandVal_x,首先计算初始参数数值,随机数RandVal_x为公式E7初始值,再以Public_Key的数值为迭代参数的公式E7中的初始值进行计算获得的结果作为公钥,得到TdRandVal_x,其中RandVal_x为区间[-1,1]内的随机数,恢复出明文Text_Public,与原发送数据进行比对;S2_3_11、所述步骤完毕;Part_2描述完毕;Part_3.基于双队列缓存的JMS消息协议在系统内的消息数据传输模块中使用JMS消息协议,JMS包含:创建和发送消息数据的消息生产者、接收消息的消息消费者、消息主体、客户端;存储消息数据的数据结构采用双队列模式,具体步骤描述为:S3_1、创建一个消息订阅者,配置其默认连接名称username、默认密码sys_password、默认连接地址defaultURL,创建消息订阅者中缓存消息数据的双队列存储变量MC_Queue1、MC_Queue2;S3_2、创建连接工厂类ConnectionFactory对象connFactory、创建客户端和JMS系统间的连接类Connection对象conn、创建单线程上下文的实际操作消息接口Session对象sess、创建消息目的地接口Destination对象destination、创建消息消费者接口MessageConsumer对象messConsumer;S3_3、创建消息订阅者对象后启动工厂连接,校对数据接收者地址,通过sess创建消息消费者和注册消息监听;S3_4、创建一个消息生产者,配置其默认连接名称username、默认密码sys_password、默认连接地址defaultURL,同时创建消息生产者中缓存消息数据的双队列存储变量MP_Queue1、MP_Queue2;S3_5、创建连接工厂类ConnectionFactory对象connFactory、创建客户端和JMS系统间的连接类Connection对象conn、创建单线程上下文的实际操作消息接口Session对象sess、创建消息目的地接口Destination对象destination、创建消息生产者接口MessageConsumer对象messProducer;S3_6、创建消息生产者对象后启动工厂连接,校对数据接收者地址,通过sess创建消息消费者、发送消息、提交事务和注册消息监听,并设置消息数据对象的消息头、属性和消息体;S3_7、创建消息订阅者的消息监听,设置收到消息后的收取提示;S3_8、使用annotation中的@SendTo注解实现双队列结构,在消息接收完成后,向目标方发送消息,实现双队列;S3_9、所述步骤完毕;Part_3描述完毕;Part_4.基于授权码的批文审批流程通过角色角度对审批流程进行描述:S4_1、普通用户PP1登陆个人账号,实现对应审批单类别进行提交批文数据上传到系统,JMS接口收取批文数据后发送到相应部门员工MP1;S4_2、部门员工MP1对通过从消息传输模块内的JMS接口接收到的批文数据进行一次审批,若审批通过则将批文状态变更为“待确认”,并将其通过消息传输模块向相应部门主管MC1发送该状态的批文数据;若审批未通过则将批文状态变更为“未通过”,流程产生的相应批文操作数据存储到日志中;S4_3、部门主管MC1对通过来自部门员工MP1的批文数据进行二次审批,若审批通过则将批文状态变更为“已核查”,并将其通过消息传输模块向相应部门部长MA1发送该状态的批文数据;若审批未通过则将批文状态变更为“未通过”,流程产生的相应批文操作数据存储到日志中;S4_4、部门部长MA1对通过来自部门主管MC1的批文数据进行最终审核,若审批通过则将批文状态变更为“已通过”,并将其通过数字签名模块对批文回执进行数字签名,再通过消息传输模块向相应提交批文的用户PP1发送解密公钥和批文回执信息;S4_5、普通用户PP1接收到批文回执信息后,在数字签名模块中输入接收的公钥对批文回执信息进行确认,若出现无法匹配的问题则在消息传输模块中向一级管理员SA提交问题;S4_6、一级管理员SA接收到问题后,通过数据操作日志进行核查,若无误则通过数字签名模块进行加密,并将信息摘要通过消息传输模块向用户PP1发送问题回执,若发现确有问题,则通过消息传输模块向维护员WA发送问题数据所在;S4_7、维护员WA接收到来自一级管理员SA的反馈后,登陆后端检查相应数据,检查完毕后通过消息传输模块向一级管理员SA进行反馈,最终一级管理员将最终结果反馈给普通用户PP1;S4_8、所述步骤完毕;Part_4描述完毕。
全文数据:
权利要求:
百度查询: 哈尔滨理工大学 基于授权码的网络办公批文授权审批方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。