關鍵字: 馳騁作業流程快速開發平臺 作業流程管理系統 作業流引擎 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:
\\流程樹\\表單解決方案\\請假流程(軌跡模式)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/2125.html
標籤:其他
下一篇:深海水族館自動掛機
