热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java工作流引擎关于数据加密流程(MD5数据加密防篡改)

关键字:驰骋工作流程快速开发平台工作流程管理系统工作流引擎asp.net工作流引擎java工作流引擎.开发者表单拖拽式表单工作流系统流程数据加密md5数据保密流程数据防篡改软加密适

关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单  拖拽式表单 工作流系统 流程数据加密  md5  数据保密流程数据防篡改软加密

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

技术分享图片
需求背景
对工作流引擎的数据加密研究, 流程数据的加密方案与实现过程.
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:
\\流程树\\表单解决方案\\请假流程(轨迹模式)


推荐阅读
  • 第一部分:TSqlTop有两种用法1,限制查询结果集返回的行数或总行数的百分比。当将TOP与ORDERBY子句结合使用时,结果集限制为前N个已排序行;否则,以未定义的顺序返回前N个 ... [详细]
  • Linux文件目录和权限
    Linux文件目录和权限前言:Linux一般将文件可存取的身份分为三个类别,分别是ownergroupothers,根据权限划分,每个目录都可以拥有相对身份的-rwx[可读可写可执 ... [详细]
  • 安全3AAuthentication:认证Authorzation:授权Accouting|Audition:审计用户管理用户:UID:0,不一定是root,root的uid非0时 ... [详细]
  • 吴恩达“机器学习”——学习笔记二
    定义一些名词欠拟合(underfitting):数据中的某些成分未被捕获到,比如拟合结果是二次函数,结果才只拟合出了一次函数。过拟合(overfitting):使用过量的特征集合, ... [详细]
  • ARToolKitunity
    ARToolKit为开源的AR库,相对于高通和easyAr有几点特点:1)开源2)识别项目可以动态添加(详细在后)3)识别文件可以本地生成4)目前只能识别图片(目前为.jpg格式) ... [详细]
  • 【实践】基于RTThread的智慧路灯案例实验分享
    之前分享了基于LiteOS的智慧农业案例实验分享基于LiteOS的智慧农业案例实验分享,阅读量挺不错,看样子大家都挺喜欢这种实验。那咱们就再来一个类似的实验:基于RT-Thread ... [详细]
  • ASP.NET Core WebAPI 开发新建WebAPI项目  转
    转 http:www.cnblogs.comlinezerop5497472.htmlASP.NETCoreWebAPI开发-新建WebAPI项目ASP.NETCoreWebAPI ... [详细]
  • 步骤一:明确主打的核心目标用户群(对应产品侧的定位)这个核心目标用户群体是该产品成功挤进市场的切入点,甚至是撬动市场的支点和撬杠。市面上几乎很少有产品是专门给一个群体用而对其他群体 ... [详细]
  • 这篇文章主要简要记录了对于研发团队工作的质量 ... [详细]
  • Jmeter的聚合报告
       ... [详细]
  • 摘自:https:www.cnblogs.comnick-huangp4076273.htmlselect*from(select'Nick'asitemfromd ... [详细]
  • CentOS7.2详细安装步骤(二)
    7)语言设置(可以在上一个主界面进行设置,这里不用再次设置)8)SECURITY设置(安全设置)选择default(默认的)策略就可以,通过进行选择,单击完成即可Default#默 ... [详细]
  • SortalinkedlistinO(nlogn)timeusingconstantspacecomplexity.这道题属于人生中第一次对链表进行操作,首先,不同于C++中的st ... [详细]
  • Redis 外部访问设置
    1、错误原因Redis搭建好后一般都是使用编程语言进行连接调用,默认Redis的设置是不允许外界访问的,连接Redis只能通过本地(127.0.0.1)来连接,而不能使用网络IP( ... [详细]
  • 法国人家喻户晓的一首歌,很老的一首了。旋律轻盈,歌词温馨会把你带回到小时候的回忆中去。Ilrevientàmamémoire一切都回到我脑海中Dessouvenirsfamilie ... [详细]
author-avatar
艾你如斯i
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有