溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java對工作流引擎進行數(shù)據(jù)加密

發(fā)布時間:2020-06-09 22:31:57 來源:億速云 閱讀:337 作者:元一 欄目:軟件技術(shù)

工作流引擎

所謂工作流引擎是指workflow作為應(yīng)用系統(tǒng)的一部分,并為之提供對各應(yīng)用系統(tǒng)有決定作用的根據(jù)角色、分工和條件的不同決定信息傳遞路由、內(nèi)容等級等核心解決方案。工作流引擎包括流程的節(jié)點管理、流向管理、流程樣例管理等重要功能。

適配數(shù)據(jù)庫: oralce,mysql,sqlserver,Informix, PostgreSQL  達夢

Java對工作流引擎進行數(shù)據(jù)加密
需求背景
對工作流引擎的數(shù)據(jù)加密研究, 流程數(shù)據(jù)的加密方案與實現(xiàn)過程.
1, 流程數(shù)據(jù)加密是為了防止流程數(shù)據(jù)被篡改的需要,從而造成對單位的不必要損失。
2, 流程數(shù)據(jù)篡改是具有管理員身份與非法者,尤其是防范業(yè)務(wù)人員與具有系統(tǒng)管理員結(jié)合做壞事情。
比如: xxx公司在xx年曾經(jīng)出現(xiàn)過這樣的情況, 業(yè)務(wù)人員與管理員勾結(jié),導(dǎo)致單位200萬元損失,雖然最后查出來,罰款判刑,但是這是事后處理.
3, 并非所有的流程數(shù)據(jù)都需要加密, 比如請假流程就不需要,但是報銷或者其它具有敏感數(shù)據(jù)的流程就需要了。
4, 被篡改后的數(shù)據(jù)需要警報,并寫入log日志,還要不能被執(zhí)行下去。
5, 要求每個節(jié)點的數(shù)據(jù)都要加密,整體流程數(shù)據(jù)也要加密。
處理方案:
1, 在流程中增加一個屬性 IsMD5 是否要加密. 默認(rèn)是否, 不加密.
2, 用戶信息中包括一個鹽值,用于后期的加密運算。
3, 凡是加密過的流程在每個節(jié)點表單上增加字段MD5 長度為 char(36) 的字段,這個字段用于存儲這個節(jié)點數(shù)據(jù)的MD5值.
4,在NDxxRpt 表中增加字段MD5 用于存儲流程數(shù)據(jù)加密。
5,生成MD5值: 在如下兩個步驟中生成MD5值,并存儲到相關(guān)的物理表中.
   1, 節(jié)點發(fā)送成功后.
   2, 節(jié)點發(fā)送失敗時.
6, 生成MD5值的方法.
   1, 把節(jié)點表單字段排除有些字段是默認(rèn)值的隨即獲取的字段(比如:獲取當(dāng)前時間,當(dāng)前操作員....),組合成一個大的文本, 然后通過獲取審批用戶鹽值,一起MD5加密.
   2, 加審批用戶鹽值意義是防止通過彩虹表暴力破解.
7, 檢查是否被篡改的步驟.
   1,獲得節(jié)點與流程數(shù)據(jù)表的數(shù)據(jù), 排除關(guān)鍵性的字段.
   2, 執(zhí)行MD5加密。
   3,將兩者串比較。
8, 在如下情況下檢查MD5值是否正確.
有涉及到打開節(jié)點表單的地方:
   1, 打開待辦工作時.
   2, 通過流程日志打開節(jié)點表單時.
   3, 打開抄送工作時.
   4,打開地途工作時.
有涉及到打開流程數(shù)據(jù)的地方.
   1, 打開工作軌跡時的流程數(shù)據(jù)時.
以上有任何不對地方,都要禁止打開并寫入log的文本日志中.
對應(yīng)的流程Demo:
\\流程樹\\表單解決方案\\請假流程(軌跡模式)

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI