Java对工作流引擎进行数据加密
admin
2023-02-19 16:00:06
0次

工作流引擎

所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括流程的节点管理、流向管理、流程样例管理等重要功能。

适配数据库: oralce,mysql,sqlserver,Informix, PostgreSQL  达梦

Java对工作流引擎进行数据加密
需求背景
对工作流引擎的数据加密研究, 流程数据的加密方案与实现过程.
1, 流程数据加密是为了防止流程数据被篡改的需要,从而造成对单位的不必要损失。
2, 流程数据篡改是具有管理员身份与非法者,尤其是防范业务人员与具有系统管理员结合做坏事情。
比如: xxx公司在xx年曾经出现过这样的情况, 业务人员与管理员勾结,导致单位200万元损失,虽然最后查出来,罚款判刑,但是这是事后处理.
3, 并非所有的流程数据都需要加密, 比如请假流程就不需要,但是报销或者其它具有敏感数据的流程就需要了。
4, 被篡改后的数据需要警报,并写入log日志,还要不能被执行下去。
5, 要求每个节点的数据都要加密,整体流程数据也要加密。
处理方案:
1, 在流程中增加一个属性 IsMD5 是否要加密. 默认是否, 不加密.
2, 用户信息中包括一个盐值,用于后期的加密运算。
3, 凡是加密过的流程在每个节点表单上增加字段MD5 长度为 char(36) 的字段,这个字段用于存储这个节点数据的MD5值.
4,在NDxxRpt 表中增加字段MD5 用于存储流程数据加密。
5,生成MD5值: 在如下两个步骤中生成MD5值,并存储到相关的物理表中.
   1, 节点发送成功后.
   2, 节点发送失败时.
6, 生成MD5值的方法.
   1, 把节点表单字段排除有些字段是默认值的随即获取的字段(比如:获取当前时间,当前操作员....),组合成一个大的文本, 然后通过获取审批用户盐值,一起MD5加密.
   2, 加审批用户盐值意义是防止通过彩虹表暴力破解.
7, 检查是否被篡改的步骤.
   1,获得节点与流程数据表的数据, 排除关键性的字段.
   2, 执行MD5加密。
   3,将两者串比较。
8, 在如下情况下检查MD5值是否正确.
有涉及到打开节点表单的地方:
   1, 打开待办工作时.
   2, 通过流程日志打开节点表单时.
   3, 打开抄送工作时.
   4,打开地途工作时.
有涉及到打开流程数据的地方.
   1, 打开工作轨迹时的流程数据时.
以上有任何不对地方,都要禁止打开并写入log的文本日志中.
对应的流程Demo:
\\流程树\\表单解决方案\\请假流程(轨迹模式)

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...