本發(fā)明涉及數(shù)據(jù)安全,具體涉及一種基于優(yōu)化shiro框架的標(biāo)識解析數(shù)據(jù)安全共享系統(tǒng)及方法。
背景技術(shù):
1、工業(yè)互聯(lián)網(wǎng)的興起標(biāo)志著工業(yè)4.0時代的到來,工業(yè)互聯(lián)網(wǎng)利用海量數(shù)據(jù)采集、匯聚和分析技術(shù),推動制造業(yè)實現(xiàn)數(shù)字化、網(wǎng)絡(luò)化和智能化轉(zhuǎn)型,它對制造業(yè)、航空、公路、電力、石油、天然氣、醫(yī)療器械等工業(yè)領(lǐng)域產(chǎn)生了深遠(yuǎn)影響。在工業(yè)互聯(lián)網(wǎng)網(wǎng)絡(luò)體系中,標(biāo)識解析體系是關(guān)鍵組成部分,它有助于打破企業(yè)、行業(yè)、地區(qū)和國家之間的信息壁壘,促進(jìn)數(shù)據(jù)交流和共享,特別是在醫(yī)療器械標(biāo)識解析方面,通過標(biāo)識編碼和解析體系,不僅可以收集產(chǎn)品生產(chǎn)階段的相關(guān)信息,還能追溯產(chǎn)品在銷售和使用期間產(chǎn)生的數(shù)據(jù),從而實現(xiàn)醫(yī)療器械的全生命周期管理。
2、醫(yī)療器械的標(biāo)識與解析不僅將產(chǎn)品的設(shè)計開發(fā)、原材料、裝配等研發(fā)、制造過程,也將經(jīng)銷商、客戶等流通環(huán)節(jié),以及醫(yī)護、操作者、運維、患者,乃至于臨床診斷、治療等連接起來。數(shù)據(jù)安全風(fēng)險對醫(yī)療器械標(biāo)識解析體系來說至關(guān)重要,因為一旦標(biāo)識解析系統(tǒng)遭到攻擊導(dǎo)致數(shù)據(jù)泄露,既會給醫(yī)療器械企業(yè)帶來經(jīng)濟損失,又會讓患者的個人信息面臨威脅。
3、在醫(yī)療器械二級節(jié)點的運營服務(wù)機構(gòu)眾多的情況下,標(biāo)識對象和標(biāo)識用戶數(shù)量龐大,因此需要對身份信息和訪問權(quán)限進(jìn)行嚴(yán)格的安全管理。身份安全是確保安全通信和提供可靠數(shù)據(jù)的基礎(chǔ),一旦身份信息被偽造,就可能導(dǎo)致機密數(shù)據(jù)泄露或被越權(quán)訪問,從而影響通信和數(shù)據(jù)的安全性,特別是在處理重要儀器標(biāo)識信息時,當(dāng)請求方將醫(yī)療器械的唯一標(biāo)識發(fā)送到平臺,或者平臺將醫(yī)療器械的解析數(shù)據(jù)反饋給請求方時,容易造成數(shù)據(jù)泄露,存在安全隱患。盡管目前某些加密算法可以在數(shù)據(jù)共享方面提供一定支持,但仍然存在一些集中式數(shù)據(jù)安全共享的難題,主要表現(xiàn)在以下方面:(1)用戶身份信息容易受到攻擊或泄露,因此需要引入更為安全的加密方式;(2)共享數(shù)據(jù)訪問存在不安全性和局限性,需要尋求實現(xiàn)更廣泛范圍的安全共享的方法;(3)在數(shù)據(jù)加密共享過程中容易受到攔截、破解甚至篡改,因此需要建立更可靠的標(biāo)識數(shù)據(jù)加密通信系統(tǒng);
4、基于優(yōu)化的shiro安全框架標(biāo)識數(shù)據(jù)安全共享方法提供了一種有效的解決方法。針對用戶身份信息易攻擊或泄露的問題,登錄請求首先通過realm從數(shù)據(jù)庫中獲取用戶身份信息,并且利用多線程并發(fā)bcrypt動態(tài)加密算法對數(shù)據(jù)庫中的用戶密碼進(jìn)行隱私保護;安全管理器securitymanager對框架中所有的主體進(jìn)行安全管理;其次,針對上述所述問題共享數(shù)據(jù)訪問的不安全性和局限性,利用shirofilter起到一個攔截的作用,其主要負(fù)責(zé)讀取配置文件,然后判斷url是否需要登錄/權(quán)限等工作,啟動tomcat服務(wù)器訪問jsp頁面,有權(quán)限的用戶均可獲取數(shù)據(jù)存儲云端的相關(guān)接口信息;最后針對數(shù)據(jù)加密共享過程中容易被攔截破解甚至篡改的問題,提出一種多密鑰混合加密共享系統(tǒng)方法,基于數(shù)據(jù)請求者與第三方監(jiān)管者之間的數(shù)據(jù)通信設(shè)計了一種多方s-diffie-hellman密鑰交換協(xié)議方法,該多方協(xié)議首先避免了加密密鑰直接通信傳輸而被攔截破解的問題,其次還滿足了多個客戶端數(shù)據(jù)請求的及時響應(yīng),并利用logistic映射圖像加密身份憑證信息的方法驗證請求者身份是否滿足通信共享的條件,同時簽名驗簽也在驗證通信身份的同時也保障了標(biāo)識數(shù)據(jù)的完整性和可信性。
5、目前,醫(yī)療器械標(biāo)識解析面向的對象范圍不斷擴大,除了醫(yī)療器械產(chǎn)品,還包括患者信息、治療病例、臨床數(shù)據(jù)、診療服務(wù)、使用記錄等信息,涵蓋的數(shù)據(jù)多且復(fù)雜,數(shù)據(jù)需要得到更高級別的保護,眾多安全問題亟需解決,一是數(shù)據(jù)的篡改、泄露、非法訪問等安全風(fēng)險,標(biāo)識解析系統(tǒng)數(shù)據(jù)的泄露,會給企業(yè)帶來巨大的經(jīng)濟損失。二是由于權(quán)限分配不當(dāng)或加密機制不嚴(yán)密,可能導(dǎo)致信息泄露、濫用和越權(quán)訪問等風(fēng)險,從而影響數(shù)據(jù)共享的安全性。
6、經(jīng)過檢索,申請公開號cn113591119b,一種跨域標(biāo)識解析節(jié)點數(shù)據(jù)隱私保護與安全共享方法及系統(tǒng)。該方法包括對企業(yè)節(jié)點生成的待處理的數(shù)據(jù)進(jìn)行隱私數(shù)據(jù)分級的劃分;校驗待處理的數(shù)據(jù)的合法性,當(dāng)待處理的數(shù)據(jù)合法時,對待處理的數(shù)據(jù)進(jìn)行加密;根據(jù)劃分結(jié)果和數(shù)據(jù)請求獲取相應(yīng)加密算法或脫敏算法;利用加密算法或脫敏算法對數(shù)據(jù)進(jìn)行加密或脫敏,并將加密或脫敏后的數(shù)據(jù)存儲至相應(yīng)的數(shù)據(jù)庫;當(dāng)獲取數(shù)據(jù)查詢的請求時,由標(biāo)識解析系統(tǒng)通過節(jié)點加密方式,直接從相應(yīng)的數(shù)據(jù)庫中獲取數(shù)據(jù),并將獲取的數(shù)據(jù)傳遞給企業(yè)節(jié)點的節(jié)點前置模塊中,節(jié)點前置模塊對獲取的數(shù)據(jù)進(jìn)行解密,并傳輸至企業(yè)節(jié)點。本發(fā)明能夠提高數(shù)據(jù)隱私保護性和共享度,進(jìn)而能夠節(jié)約整個產(chǎn)業(yè)的開發(fā)成本和經(jīng)營成本。
7、在該專利中針對用戶的身份信息安全存儲并沒有提出合適的處理方式,并且針對數(shù)據(jù)的加解密方式采用的是非對稱加密算法,在加密較大的數(shù)據(jù)文件時會消耗更多的時間資源。在本發(fā)明中,采用前后端結(jié)合的方式實現(xiàn)用戶身份的管理,通過標(biāo)識解析數(shù)據(jù)安全共享平臺,利用優(yōu)化shiro安全框架將所有用戶的身份信息加密存儲在數(shù)據(jù)庫中,并基于用戶角色訪問控制模型實現(xiàn)用戶前端頁面的訪問權(quán)限限制;針對共享數(shù)據(jù)的加解密本發(fā)明采用的是混合加密簽名的方式,將對稱加密算法和非對稱加密算法結(jié)合起來使用,并設(shè)計了一種多方s-diffie-hellman密鑰交換協(xié)議來對數(shù)據(jù)共享通信進(jìn)行加密解密在保證安全的前提下同時還節(jié)約了時間和資源。
技術(shù)實現(xiàn)思路
1、本發(fā)明旨在解決以上現(xiàn)有技術(shù)的問題。提出了一種基于優(yōu)化shiro框架的標(biāo)識解析數(shù)據(jù)安全共享系統(tǒng)及方法。本發(fā)明的技術(shù)方案如下:
2、一種基于優(yōu)化shiro框架的標(biāo)識解析數(shù)據(jù)安全共享系統(tǒng)及方法,其包括:數(shù)據(jù)提供者、數(shù)據(jù)請求者、第三方監(jiān)管者、數(shù)據(jù)存儲云端和數(shù)據(jù)安全共享平臺,所述數(shù)據(jù)提供者是醫(yī)療器械的制造商,數(shù)據(jù)請求者是追溯醫(yī)療器械標(biāo)識信息的醫(yī)院或監(jiān)管部門,數(shù)據(jù)安全共享平臺結(jié)合shiro安全框架(apache?shiro是一個強大的java開源框架,用于執(zhí)行身份驗證、授權(quán)、密碼和會話管理),對已注冊并登錄的用戶進(jìn)行訪問權(quán)限管理和身份信息保護,第三方監(jiān)管是可信的官方機構(gòu),通過標(biāo)識數(shù)據(jù)安全共享系統(tǒng)限定的共享權(quán)限,向特定的數(shù)據(jù)請求者共享數(shù)據(jù),并結(jié)合區(qū)塊鏈技術(shù)對標(biāo)識數(shù)據(jù)進(jìn)行哈希處理,生成唯一的哈希值,并將哈希值存儲到區(qū)塊鏈上,作為共享過程中存證信息的一部分,以確保標(biāo)識數(shù)據(jù)的不可篡改性和保密性。
3、進(jìn)一步的,所述標(biāo)識解析數(shù)據(jù)安全共享平臺由終端服務(wù)器、第三方監(jiān)管服務(wù)器、數(shù)據(jù)安全共享平臺服務(wù)器和數(shù)據(jù)存儲功能服務(wù)器集群組成,所述終端服務(wù)器分為數(shù)據(jù)提供者終端和數(shù)據(jù)請求者終端,它們主要負(fù)責(zé)標(biāo)識數(shù)據(jù)上傳和發(fā)起數(shù)據(jù)請求;第三方監(jiān)管服務(wù)器負(fù)責(zé)響應(yīng)數(shù)據(jù)請求并通過多密鑰混合分級加密系統(tǒng)對標(biāo)識數(shù)據(jù)進(jìn)行加密共享;數(shù)據(jù)安全共享平臺服務(wù)器主要負(fù)責(zé)平臺用戶身份認(rèn)證信息的驗證、訪問權(quán)限控制以及標(biāo)識數(shù)據(jù)的安全共享;數(shù)據(jù)存儲功能服務(wù)器主要分為兩個部分,一個是云端存儲,用來存儲數(shù)據(jù)提供者上傳的醫(yī)療器械標(biāo)識數(shù)據(jù),一個是數(shù)據(jù)安全共享平臺中結(jié)構(gòu)化數(shù)據(jù)庫,用于加密存儲平臺用戶的身份認(rèn)證信息。
4、進(jìn)一步的,所述標(biāo)識解析數(shù)據(jù)安全共享平臺是通過springboot(springboot是一個依靠大量注解實現(xiàn)自動化配置的全新框架,在構(gòu)建spring應(yīng)用時,我們只需要添加相應(yīng)的場景依賴,spring?boot就會根據(jù)添加的場景依賴自動進(jìn)行配置,在無須額外手動添加配置的情況下快速構(gòu)建出一個獨立的spring應(yīng)用)集成優(yōu)化shiro安全框架,當(dāng)用戶在登錄頁面完成身份信息注冊后,分別對數(shù)據(jù)提供者、數(shù)據(jù)請求者和第三方監(jiān)管方授予不同的角色權(quán)限,按照訪問權(quán)限設(shè)置,可以分別訪問平臺首頁頁面里的管理員頁面、用戶請求頁面、編輯頁面、用戶查詢頁面以及云端上傳頁面,通過操作權(quán)限控制,實現(xiàn)標(biāo)識數(shù)據(jù)的安全共享。
5、進(jìn)一步的,數(shù)據(jù)庫用戶身份信息安全存儲是通過單向不可逆的bcrypt(一種跨平臺文件加密工具)加密算法代替原先shiro框架中md5+salt算法,在bcrypt加密算法中,哈希計算的成本通過控制“工作因子”來實現(xiàn),工作因子越高則哈希計算的工作量也越高,設(shè)計了一種動態(tài)更新工作因子的方法,此方法利用基于spring?mvc框架的控制器,負(fù)責(zé)展示管理員頁面和處理管理員相關(guān)的用戶請求。
6、進(jìn)一步的,所述單向不可逆的bcrypt加密算法具體包括:
7、①setup(k):輸入安全參數(shù)k,接收用戶輸入的密碼password(明文),生成一個隨機的鹽值;參數(shù)k決定了計算哈希所需的迭代輪數(shù),來控制加密的計算強度;
8、②keygen(password,salt):key=eksblowfishsetup(password,salt),使用blowfish密鑰擴展函數(shù)(eksblowfishsetup函數(shù)),根據(jù)密碼和鹽值生成初始密鑰;
9、③encrypt(k,key):hashed_password=encryptblowfish(key,cost),根據(jù)k的參數(shù)值決定循環(huán)哈希的次數(shù),將最后的哈希值和鹽值存儲在數(shù)據(jù)庫中;
10、④verify(hashed_password,salt,input):當(dāng)需要驗證密碼時,根據(jù)登錄名取得數(shù)據(jù)庫中對應(yīng)的密文,并提取出鹽值得到哈希字符串,并對兩個哈希字符串進(jìn)行驗證,如果完全相同,則表示用戶登錄成功,頁面跳轉(zhuǎn)到主頁頁面;如果不同,則表明用戶登錄失敗。
11、改進(jìn)方法:在上述算法研究的過程中,引入dynamicworkfactor方法(在apacheshiro安全框架中主要用于管理密碼散列即hashing過程中的工作因子)實現(xiàn)bcrypt算法參數(shù)因子的動態(tài)修改,并對數(shù)據(jù)庫中的身份信息用新的參數(shù)因子進(jìn)行加密存儲,實現(xiàn)動態(tài)修改加密算法的加密強度,并成功實現(xiàn)登錄驗證。
12、進(jìn)一步的,所述標(biāo)識解析數(shù)據(jù)安全共享平臺采用基于rbac(角色訪問控制)模型的授權(quán)認(rèn)證系統(tǒng),在這個模型中,用戶通過角色間接獲取權(quán)限;具體來說,首先創(chuàng)建角色并分配相應(yīng)的權(quán)限,然后將這些角色授予用戶,這樣一來,用戶就可以根據(jù)所擁有的權(quán)限訪問首頁的頁面模塊,并且對平臺上的信息有一定的訪問限制。
13、進(jìn)一步的,所述第三方監(jiān)管服務(wù)器負(fù)責(zé)響應(yīng)數(shù)據(jù)請求并通過多密鑰混合分級加密系統(tǒng)對標(biāo)識數(shù)據(jù)進(jìn)行加密共享,具體包括:
14、多密鑰混合加密共享方法是通過聯(lián)合對稱加密算法aes和非對稱加密rsa加密對標(biāo)識數(shù)據(jù)進(jìn)行混合加密,針對客戶端與服務(wù)端之間aes算法密鑰的管理,設(shè)計了一種多方s-diffie-hellman密鑰交換協(xié)議來對數(shù)據(jù)共享通信進(jìn)行加密解密,加密系統(tǒng)引入logistic映射圖像加密身份憑證信息方法和rsa簽名算法來驗證客戶端與服務(wù)端的通信身份,確保請求身份、信息和共享數(shù)據(jù)的真實有效;同時該加密系統(tǒng)還設(shè)有日志記錄功能,便于追溯關(guān)鍵操作和異常信息。
15、進(jìn)一步的,所述多方s-diffie-hellman密鑰交換協(xié)議是指多個客戶端和服務(wù)端均基于初始化參數(shù)隨機生成一個密鑰對,服務(wù)端將自己的公鑰發(fā)送給所有客戶端,同時每個客戶端分別將自己的公鑰發(fā)送給服務(wù)端并保留自己的私鑰,根據(jù)對方發(fā)送的公鑰和自己的私鑰進(jìn)行共享密鑰計算,雙方再從共享密鑰中派生出一個對稱密鑰用于加密和解密通信數(shù)據(jù);發(fā)起數(shù)據(jù)請求和響應(yīng)數(shù)據(jù)請求的客戶端和服務(wù)器雙方,均生成一對rsa密鑰用于數(shù)字簽名及驗證,私鑰簽名公鑰驗簽。
16、進(jìn)一步的,所述logistic映射圖像加密身份憑證信息方法是在通信之前服務(wù)端用來檢查各個請求客戶端的身份憑證,以此來確認(rèn)是否可以建立通信。該方法主要是將身份憑證圖片以加密的方式進(jìn)行加密共享,利用混沌系統(tǒng)的隨機性和靈敏性,將圖像像素值映射到混沌序列上進(jìn)行混合運算,從而實現(xiàn)圖像的加密和解密。
17、一種基于任意一項所述安全共享系統(tǒng)的共享方法,其包括以下步驟:
18、步驟s1:所有用戶首先注冊登錄標(biāo)識解析數(shù)據(jù)安全共享平臺,并將用戶注冊的身份信息通過多線程bcrypt加密存儲到數(shù)據(jù)庫,在shiro安全框架中驗證數(shù)據(jù)請求者的角色及訪問權(quán)限;
19、步驟s2:數(shù)據(jù)提供者根據(jù)獲得的訪問權(quán)限,訪問第三方監(jiān)管者提供的云端訪問信息,并將標(biāo)識數(shù)據(jù)上傳,并且利用共識機制對云端數(shù)據(jù)進(jìn)行哈希存證和節(jié)點共識;
20、步驟s3:數(shù)據(jù)請求者利用多密鑰混合加密共享方法向第三方監(jiān)管者發(fā)起數(shù)據(jù)請求,首先利用logistic映射圖像加密身份憑證信息并發(fā)送給第三方監(jiān)管者,身份驗證通過后利用多方s-diffie-hellman密鑰交換協(xié)議計算出共享密鑰,將請求信息加密并簽名;
21、步驟s4:第三方監(jiān)管者首先解密驗證身份憑證圖片,驗證無誤后再根據(jù)數(shù)據(jù)請求者的請求信息進(jìn)行解密驗簽,在用戶數(shù)據(jù)庫中確認(rèn)身份后將檢索到的云端標(biāo)識數(shù)據(jù)通過多密鑰混合加密共享方法進(jìn)行加密和簽名,傳輸給數(shù)據(jù)請求者;
22、步驟s5:數(shù)據(jù)請求者接收到加密文件后,首先利用第三方監(jiān)管者的公鑰進(jìn)行驗簽,然后利用前面計算的共享密鑰對標(biāo)識數(shù)據(jù)進(jìn)行解密;
23、步驟s6:根據(jù)步驟s1,當(dāng)平臺標(biāo)識數(shù)據(jù)及用戶身份等信息遭受暴力破解等攻擊時,管理員可以通過管理員頁面更新bcrypt加密算法的參數(shù)因子來動態(tài)修改密碼,并且在面對大量用戶同時注冊登錄時,對bcrypt加密算法采用多線程并發(fā)計算方法,利用多核處理器的優(yōu)勢加速完成加密任務(wù);
24、步驟s7:根據(jù)步驟s4,多密鑰混合加密共享方法中的客戶端與服務(wù)端主要是通過tcp編程實現(xiàn)數(shù)據(jù)通信,利用serversocket創(chuàng)建一個服務(wù)端流套接字socket,并綁定到指定端口,操作系統(tǒng)中端口號會和進(jìn)程綁定;socket是客戶端或服務(wù)端中接收連接請求后返回的內(nèi)容,雙方建立連接以后,用于保存對端信息以實現(xiàn)數(shù)據(jù)通信;
25、步驟s8:根據(jù)步驟s4,如果請求的數(shù)據(jù)在云端平臺沒有被檢索到,請求信息將被保留在數(shù)據(jù)共享平臺的查詢頁面,第三方監(jiān)管者將在分布式網(wǎng)絡(luò)中進(jìn)行廣播,各節(jié)點及時進(jìn)行數(shù)據(jù)補充和更新。
26、本發(fā)明的優(yōu)點及有益效果如下:
27、本發(fā)明利用優(yōu)化shiro框架身份驗證和權(quán)限管理嚴(yán)格優(yōu)點,以及安全框架自動執(zhí)行的特點,為醫(yī)療器械標(biāo)識數(shù)據(jù)的安全共享提供了一種集證據(jù)采集、數(shù)據(jù)存證和身份認(rèn)證于一體的數(shù)據(jù)安全共享方法和系統(tǒng),解決了醫(yī)療器械標(biāo)識數(shù)據(jù)全流程安全共享問題。通過shiro安全框架的權(quán)限管理、認(rèn)證與授權(quán)機制,以及l(fā)ogistic映射圖像加密方法和多方s-diffie-hellman密鑰交換協(xié)議在加密通信技術(shù)中的應(yīng)用,填補了僅依靠信息安全技術(shù)實現(xiàn)醫(yī)療器械標(biāo)識數(shù)據(jù)安全共享的效力欠缺。同時,利用醫(yī)療器械標(biāo)識數(shù)據(jù)和證據(jù)數(shù)據(jù)的存儲解耦能夠有效降低系統(tǒng)存儲負(fù)載,有利于提高醫(yī)療器械標(biāo)識數(shù)據(jù)安全共享性能。
28、本發(fā)明的創(chuàng)新具體體現(xiàn)在如下幾個地方:
29、①步驟s1:該步驟設(shè)計的技術(shù)點是優(yōu)化shiro框架身份信息安全管理方式,利用多線程bcrypt加密算法實現(xiàn)標(biāo)識解析數(shù)據(jù)安全共享平臺多用戶的注冊登錄和身份保護;同時引入dynamicworkfactor方法,在身份數(shù)據(jù)庫面對暴力破解等攻擊時,可以實現(xiàn)bcrypt算法加密強度的動態(tài)修改;
30、②步驟s3:該步驟設(shè)計的技術(shù)點是在響應(yīng)數(shù)據(jù)請求時,引入logistic映射圖像加密方法,將加密后的身份憑證圖片發(fā)送給第三方監(jiān)管者驗證,驗證通過后再建立共享通信,在一定程度上保證了數(shù)據(jù)共享的安全性,同時也節(jié)約了建立無效請求通信浪費的資源;
31、③步驟s3、s4:該步驟的技術(shù)點是多密鑰混合加密共享方法的設(shè)計,共享數(shù)據(jù)的加密方式主要運用的是aes+rsa的混合加密簽名方法,aes用于加密數(shù)據(jù)文件,針對aes密鑰的管理設(shè)計了一種多方s-diffie-hellman密鑰交換協(xié)議,避免了密鑰直接在通信過程中傳輸而被攔截的風(fēng)險,同時還能實現(xiàn)同時響應(yīng)多個客戶端數(shù)據(jù)請求的功能,最后利用rsa算法進(jìn)行通信簽名,防止通信數(shù)據(jù)被攔截篡改,實現(xiàn)了標(biāo)識數(shù)據(jù)的安全共享。