国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于元數(shù)據(jù)管理的數(shù)據(jù)加密方法、系統(tǒng)、設(shè)備及介質(zhì)與流程

      文檔序號(hào):40281922發(fā)布日期:2024-12-11 13:22閱讀:17來源:國知局
      一種基于元數(shù)據(jù)管理的數(shù)據(jù)加密方法、系統(tǒng)、設(shè)備及介質(zhì)與流程

      本發(fā)明涉及一種基于元數(shù)據(jù)管理的數(shù)據(jù)加密方法、系統(tǒng)、設(shè)備及介質(zhì),屬于信息技術(shù)安全領(lǐng)域。


      背景技術(shù):

      1、隨著數(shù)字化時(shí)代的到來,數(shù)據(jù)已成為企業(yè)核心資產(chǎn),其安全性與隱私保護(hù)變得尤為重要。數(shù)據(jù)泄露和非法訪問不僅會(huì)導(dǎo)致經(jīng)濟(jì)損失,還可能損害企業(yè)聲譽(yù)和客戶信任。因此,實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)加密成為保障數(shù)據(jù)安全的重要手段。傳統(tǒng)數(shù)據(jù)加密技術(shù),一般硬編碼或者接口手段,接受業(yè)務(wù)系統(tǒng)傳進(jìn)的數(shù)據(jù),然后返回加密后的數(shù)據(jù)。這種做法極大地增加了代碼的復(fù)雜度和維護(hù)難度。在系統(tǒng)迭代過程中,稍有不慎就會(huì)導(dǎo)致業(yè)務(wù)系統(tǒng)整體的運(yùn)行問題。此外,也缺少直觀的加密配置方式和加密情況反饋。

      2、現(xiàn)有技術(shù)如專利號(hào)為“cn108509805a”的中國專利公開了一種數(shù)據(jù)加解密與脫敏運(yùn)行引擎及其工作方法。該方法包括以下步驟:sdk客戶端,用于集成至業(yè)務(wù)系統(tǒng)以攔截sql語句并根據(jù)元數(shù)據(jù)配置判斷是否需要改寫,不需要改寫的sql語句直接向數(shù)據(jù)庫發(fā)送請(qǐng)求,需要改寫的sql語句請(qǐng)求安全服務(wù)進(jìn)行改寫;安全服務(wù),用于獲取需要改寫的sql語句,根據(jù)元數(shù)據(jù)配置完成sql語句改寫,向sdk客戶端返回改寫后sql語句,sdk客戶端調(diào)用改寫后sql語句向數(shù)據(jù)庫發(fā)起請(qǐng)求;?數(shù)據(jù)庫擴(kuò)展函數(shù),當(dāng)處理涉及脫敏處理的請(qǐng)求時(shí),用于作為rpc客戶端調(diào)用rpc運(yùn)算服務(wù)的運(yùn)算組件來返回結(jié)果。

      3、上述現(xiàn)有技術(shù)存在的問題是,依賴于sdk客戶端的集成,這意味著業(yè)務(wù)系統(tǒng)需要額外引入和配置sdk客戶端,增加了系統(tǒng)集成的復(fù)雜性和潛在的風(fēng)險(xiǎn)。業(yè)務(wù)系統(tǒng)開發(fā)者需要確保sdk客戶端的正確集成,以及后續(xù)可能的版本更新和維護(hù)。所有sql語句都需要經(jīng)過sdk客戶端的攔截和判斷,即使是不需要改寫的sql語句也會(huì)經(jīng)歷這一過程,這可能會(huì)在一定程度上增加系統(tǒng)的處理時(shí)間和延遲,對(duì)系統(tǒng)性能產(chǎn)生一定的影響。


      技術(shù)實(shí)現(xiàn)思路

      1、為了解決上述現(xiàn)有技術(shù)中存在的問題,本發(fā)明提出了一種基于元數(shù)據(jù)管理的數(shù)據(jù)加密方法、系統(tǒng)、設(shè)備及介質(zhì)。

      2、本發(fā)明的技術(shù)方案如下:

      3、一方面,本發(fā)明提出一種基于元數(shù)據(jù)管理的數(shù)據(jù)加密方法,包括以下步驟:

      4、基于業(yè)務(wù)系統(tǒng)初始化數(shù)據(jù)加密組件的加密組件配置類;其中,數(shù)據(jù)加密組件還包括加密切面類與sql解析工具;數(shù)據(jù)加密組件的加密切面類開始攔截?cái)?shù)據(jù)庫驅(qū)動(dòng),生成數(shù)據(jù)庫連接代理對(duì)象;當(dāng)業(yè)務(wù)系統(tǒng)中有sql語句執(zhí)行時(shí),根據(jù)數(shù)據(jù)加密組件將原始sql語句中與數(shù)據(jù)庫表加密配置信息中的需要加密字段一致的字段,進(jìn)行加密并使用加密后字段覆蓋原始sql語句中的需要加密字段;

      5、當(dāng)sql語句準(zhǔn)備字段映射時(shí),根據(jù)數(shù)據(jù)加密組件的加密切面類攔截?cái)?shù)據(jù)庫驅(qū)動(dòng)的字段映射邏輯,對(duì)sql語句中需解密字段進(jìn)行解密;加密切面類接收到解密后的字段后,使用解密后的字段替換需解密字段在數(shù)據(jù)庫驅(qū)動(dòng)查詢結(jié)果集中的映射值;數(shù)據(jù)庫驅(qū)動(dòng)再向業(yè)務(wù)系統(tǒng)返回sql的執(zhí)行結(jié)果。

      6、作為優(yōu)選實(shí)施方式,所述數(shù)據(jù)加密組件的加密組件配置類初始化具體過程為:

      7、業(yè)務(wù)系統(tǒng)讀取外部配置文件,從外部配置文件中獲取包括遠(yuǎn)程配置模式、本地?cái)?shù)據(jù)庫配置模式以及文件配置模式的配置渠道,根據(jù)外部配置文件中獲取包括加密表名稱、是否分表、需要加密字段、加密密鑰、加密算法以及是否支持模糊查詢的數(shù)據(jù)庫表加密配置信息;

      8、將數(shù)據(jù)庫表加密配置信息轉(zhuǎn)換成加密組件配置類對(duì)象,轉(zhuǎn)換過程為:

      9、若配置方式為文件配置模式,則數(shù)據(jù)加密組件的加密組件配置類通過讀取外部配置文件中的信息,獲取加解密配置信息;將加解密配置信息賦值給數(shù)據(jù)加密組件的加密組件配置類對(duì)象的屬性。

      10、作為優(yōu)選實(shí)施方式,所述數(shù)據(jù)加密組件對(duì)sql語句加密的具體步驟為:

      11、數(shù)據(jù)加密組件中的加密切面類調(diào)用sql解析工具,將sql語句中的條件列、數(shù)據(jù)庫表名稱以及操作列解析出來;

      12、加密切面類調(diào)用數(shù)據(jù)加密組件中的加密組件配置類對(duì)象,根據(jù)從sql語句中解析出來的數(shù)據(jù)庫表名稱,使用哈希算法根據(jù)數(shù)據(jù)庫表名稱獲取加密組件配置對(duì)象中該表的數(shù)據(jù)庫表加密配置信息;

      13、在sql語句進(jìn)行預(yù)編譯時(shí),數(shù)據(jù)庫驅(qū)動(dòng)開始對(duì)sql語句中的參數(shù)進(jìn)行賦值,加密切面類根據(jù)當(dāng)前賦值的參數(shù)的名稱,查找數(shù)據(jù)庫表加密配置信息中的需要加密字段是否與該參數(shù)一致;

      14、若一致,則使用數(shù)據(jù)庫表加密配置信息中的加密密鑰以及加密算法對(duì)該參數(shù)進(jìn)行加密;

      15、其中,提供了加解密算法實(shí)現(xiàn)接口,使用aes算法或sm4算法進(jìn)行加密;

      16、數(shù)據(jù)加密組件將數(shù)據(jù)庫表加密配置信息中的加密密鑰以及加密算法傳遞給加密算法枚舉類,加密算法枚舉類根據(jù)算法名稱初始化具體的加解密算法實(shí)現(xiàn)類;

      17、aes算法具體加密過程為:

      18、aes算法實(shí)現(xiàn)類創(chuàng)建一個(gè)加密器對(duì)象;將加密密鑰解碼為字節(jié)數(shù)組,使用解碼后的字節(jié)數(shù)組創(chuàng)建aes算法的密鑰對(duì)象,聲明一個(gè)字節(jié)數(shù)組來存儲(chǔ)加密后的數(shù)據(jù);

      19、初始化一個(gè)字節(jié)數(shù)組作為向量iv,使用密鑰字節(jié)數(shù)組和向量iv初始化加密器對(duì)象;將需要加密參數(shù)轉(zhuǎn)換為utf-8的字節(jié)流進(jìn)行加密,得到加密后的密文字節(jié)數(shù)組;

      20、將向量iv和密文字節(jié)數(shù)組合并使用進(jìn)行base64編碼,得到base64編碼后的密文字符串;

      21、根據(jù)數(shù)據(jù)庫表加密配置信息中的是否支持模糊查詢的信息,若為是,則具體的模糊查詢處理步驟為:

      22、調(diào)用模糊查詢加密方法,模糊查詢加密方法使用?salsa20?算法對(duì)密文字符串的原始值進(jìn)行編碼;

      23、其中,編碼過程為:

      24、聲明一個(gè)字符串變量并將密文字符串賦值給字符串變量,從第一個(gè)字符開始遍歷字符串變量,以每一個(gè)被遍歷的字符作為基點(diǎn),截取長度為預(yù)設(shè)值m的子串,若當(dāng)前基點(diǎn)+m的字符為結(jié)束符,則遍歷結(jié)束;使用salsa20編碼對(duì)每一個(gè)字串進(jìn)行編碼,根據(jù)字串生成順序?qū)⒆执唇拥玫侥:樵兲卣鞔?/p>

      25、將模糊查詢特征串與密文字符串使用分割標(biāo)識(shí)拼接在一起,使用拼接后的字符串覆蓋原始sql語句中的需要加密參數(shù);

      26、若為否,則直接使用密文字符串覆蓋原始sql語句中的需要加密參數(shù)。

      27、作為優(yōu)選實(shí)施方式,對(duì)sql語句中需解密參數(shù)進(jìn)行解密具體過程為:

      28、使用哈希算法根據(jù)數(shù)據(jù)庫表名稱獲取加密組件配置對(duì)象中該表的數(shù)據(jù)庫表加密配置信息,將需解密參數(shù)和加密配置信息傳給解密服務(wù);

      29、解密服務(wù)根據(jù)aes算法實(shí)例化解密實(shí)現(xiàn)類,具體解密步驟為:

      30、判斷執(zhí)行sql返回的數(shù)據(jù)中是否存在模糊查詢特征串,若存在,則使用分割標(biāo)識(shí)將模糊查詢特征串剔除,得到密文字符串;

      31、創(chuàng)建一個(gè)解密容器對(duì)象,對(duì)需解密參數(shù)使用base64?解碼,將加密密鑰解碼為密鑰字節(jié)數(shù)組;

      32、初始化一個(gè)字節(jié)數(shù)組作為向量iv,使用密鑰字節(jié)數(shù)組和向量iv初始化解密容器對(duì)象,使用解密容器對(duì)象對(duì)解碼后的密文數(shù)據(jù)進(jìn)行解密,使用?utf-8?編碼將解密后的字節(jié)數(shù)組轉(zhuǎn)換為字符串;

      33、若解密成功,則使用解密結(jié)果覆蓋結(jié)果集中的數(shù)據(jù);若解密失敗,則返回未解密的原始數(shù)據(jù)。

      34、另一方面,本發(fā)明還提供一種基于元數(shù)據(jù)管理的數(shù)據(jù)加密系統(tǒng),包括:

      35、數(shù)據(jù)加密組件初始化模塊,基于業(yè)務(wù)系統(tǒng)初始化數(shù)據(jù)加密組件的加密組件配置類;其中,數(shù)據(jù)加密組件還包括加密切面類與sql解析工具;數(shù)據(jù)加密模塊,數(shù)據(jù)加密組件的加密切面類開始攔截?cái)?shù)據(jù)庫驅(qū)動(dòng),生成數(shù)據(jù)庫連接代理對(duì)象;當(dāng)業(yè)務(wù)系統(tǒng)中有sql語句執(zhí)行時(shí),根據(jù)數(shù)據(jù)加密組件將原始sql語句中與數(shù)據(jù)庫表加密配置信息中的需要加密字段一致的字段,進(jìn)行加密并使用加密后字段覆蓋原始sql語句中的需要加密字段;

      36、數(shù)據(jù)解密模塊,當(dāng)sql語句準(zhǔn)備字段映射時(shí),根據(jù)數(shù)據(jù)加密組件的加密切面類攔截?cái)?shù)據(jù)庫驅(qū)動(dòng)的字段映射邏輯,對(duì)sql語句中需解密字段進(jìn)行解密;加密切面類接收到解密后的字段后,使用解密后的字段替換需解密字段在數(shù)據(jù)庫驅(qū)動(dòng)查詢結(jié)果集中的映射值;數(shù)據(jù)庫驅(qū)動(dòng)再向業(yè)務(wù)系統(tǒng)返回sql的執(zhí)行結(jié)果。

      37、再一方面,本發(fā)明還提供一種電子設(shè)備,其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如本發(fā)明任一實(shí)施例所述的一種基于元數(shù)據(jù)管理的數(shù)據(jù)加密方法。

      38、再一方面,本發(fā)明還提供一種計(jì)算機(jī)可讀介質(zhì),用于存儲(chǔ)一個(gè)或者多個(gè)程序,當(dāng)所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得所述一個(gè)或多個(gè)處理器實(shí)現(xiàn)如本發(fā)明任一實(shí)施例所述的一種基于元數(shù)據(jù)管理的數(shù)據(jù)加密方法。

      39、本發(fā)明具有如下有益效果:

      40、本發(fā)明通過字節(jié)碼增強(qiáng)技術(shù),可以在不修改源代碼的情況下,對(duì)應(yīng)用程序的字節(jié)碼進(jìn)行增強(qiáng),實(shí)現(xiàn)對(duì)數(shù)據(jù)庫操作的加密與解密。這種方式避免了直接修改源代碼可能帶來的潛在風(fēng)險(xiǎn),如代碼沖突、錯(cuò)誤引入等。當(dāng)業(yè)務(wù)系統(tǒng)執(zhí)行sql語句時(shí),加密組件能夠?qū)崟r(shí)地識(shí)別并加密需要加密的字段,確保數(shù)據(jù)在存儲(chǔ)之前就已經(jīng)被加密。這大大提高了數(shù)據(jù)的安全性,防止了數(shù)據(jù)在傳輸和存儲(chǔ)過程中被泄露。通過優(yōu)化加密算法的選擇和加密流程的設(shè)計(jì),可以在保證加密強(qiáng)度的同時(shí),盡量減少加密操作對(duì)系統(tǒng)性能的影響。此外,加密組件的加密切面類能夠高效地?cái)r截和處理數(shù)據(jù)庫操作,確保加密操作的及時(shí)性和準(zhǔn)確性。通過實(shí)時(shí)加密和解密操作,該方案能夠確保數(shù)據(jù)在存儲(chǔ)和傳輸過程中的安全性。此外,加密組件還提供了嚴(yán)格的密鑰管理機(jī)制和加密算法選擇策略,進(jìn)一步提高了數(shù)據(jù)的安全性。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1