[發明專利]實現自主可控數據庫自定義函數加密的方法在審
| 申請號: | 201710033985.1 | 申請日: | 2017-01-18 |
| 公開(公告)號: | CN106709373A | 公開(公告)日: | 2017-05-24 |
| 發明(設計)人: | 邊偉亮;燕興余;繆燕;楊利兵;姚瑋;江櫻;裴旭斌;吳雙惠;王勝文 | 申請(專利權)人: | 北京許繼電氣有限公司;國網浙江省電力公司;許繼集團有限公司;國家電網公司 |
| 主分類號: | G06F21/62 | 分類號: | G06F21/62;G06F17/30 |
| 代理公司: | 北京立成智業專利代理事務所(普通合伙)11310 | 代理人: | 張江涵 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 實現 自主 可控 數據庫 自定義 函數 加密 方法 | ||
技術領域
本發明屬于涉及數據庫加密技術領域,尤其涉及一種實現自主可控數據庫自定義函數加密的方法。
背景技術
隨著社會的發展,越來越多的數據采用電子化形式存儲;無論是生活、工作、學習都離不開信息系統的支撐。數據庫系統作為信息化技術的核心,其安全性和可靠性直接影響到整個信息化系統。現有技術中為了提高信息化系統的安全性,通常都會對數據庫內存儲的數據進行加密。但是現有技術都忽略了一點:如果數據庫的程序代碼泄漏,則意味著整個應用系統也會面臨挑戰,從而帶來嚴重的損失和后果。因此如何以技術手段保障數據庫程序代碼的安全已成為一個亟待解決的問題。
作為示例性的,PostgreSQL是一宗典型的基礎的對象關系型數據庫管理系統(ORDBMS)。PostgreSQL支持大部分SQL標準并且提供了許多其他現代特性。但是現有技術中的基于PostgreSQL的自主可控數據庫不支持自定義函數加密,即基于PostgreSQL的自主可控數據庫的自定義函數是以明文存儲在系統表pg_catalog.pg_proc中,并且所有用戶可讀,這樣為數據庫系統的安全性埋下了一個重大隱患,無法保證數據庫程序代碼的安全。
發明內容
針對現有技術中不對數據庫的程序代碼進行加密導致整個數據庫系統存在重大安全隱患的問題,本發明實施例的目的是提供一種有效且高效的實現自主可控數據庫自定義函數加密的方法,能夠對數據庫的程序代碼進行加密。
為了解決上述問題,本發明實施例提出了一種實現自主可控數據庫自定義函數加密的方法,包括:
步驟1、獲取自定義函數的函數體代碼;將所述將自定義函數的函數體轉換成密文;
步驟2、創建自定義函數語言模板;創建過程語言模板;生成密文的自定義函數;
步驟3、對密文的自定義函數進行SQL解析,如果解析結果正確則對自定義函數進行編譯,然后將編譯后的自定義函數存儲到pg_catalog.pg_proc文件中。
其中,所述步驟1中通過以下的一種加密算法對自定義函數的函數體進行加密:Unicode、ASCII、GBK、GB2312、UTF-8。
其中,所述步驟1中對自定義函數的函數體采用流加密方式進行加密,所述流加密包括:一邊解密一邊編譯,并在把編譯完成后將相應部分刪除。
本發明的上述技術方案的有益效果如下:上述的技術方案提出了一種實現自主可控數據庫自定義函數加密的方法,能夠保證數據庫業務代碼的全生命周期安全,解決了涉密信息以明文形式存在的問題。
附圖說明
圖1是現有的自定義函數創建流程圖;
圖2是的本發明實施例的自定義函數創建流程圖;
圖3是自主可控數據庫自定義函數加密創建流程圖。
具體實施方式
為使本發明要解決的技術問題、技術方案和優點更加清楚,下面將結合附圖及具體實施例進行詳細描述。
如圖1所示的,現有技術中的生成自定義函數的流程包括:對自定義函數進行編輯,并對編輯后的自定義函數進行SQL解析,如果解析結果正確則對自定義函數進行編譯,然后將編譯后的自定義函數存儲到pg_proc文件中;如果解析結果錯誤則輸出錯誤提醒。
本發明實施例采用加密算法對函數體進行加密,這樣就無需修改數據庫的內核,因此本發明實施例相比較現有的在創建函數時將函數轉換為密文的加密方式,可以減少數據庫升級時對內核進行修改的工作量。而本發明實施例的加密算法的設計思路是將函數體內所有的字母和符號順序進行隨機調換。具體的,本發明實施例可以采用多種主流的編碼方式對函數體的程序代碼,主要包括:Unicode、ASCII、GBK、GB2312、UTF-8等主流的編碼方式。且加密時采用流加密,即一邊解密一邊編譯,把編譯過的部分清掉,以提高代碼安全性。
本發明實施例中,將被保護的業務信息系統稱為目標程序,將被保護的人員稱為目標用戶。
本發明實施例提出了一種如圖2和圖3所示的實現自主可控數據庫自定義函數加密的方法,具體包括:
步驟1、獲取自定義函數的函數體代碼;將所述將自定義函數的函數體轉換成密文;
步驟2、創建自定義函數語言模板;創建過程語言模板;生成密文的自定義函數;
步驟3、對密文的自定義函數進行SQL解析,如果解析結果正確則對自定義函數進行編譯,然后將編譯后的自定義函數存儲到pg_catalog.pg_proc文件中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京許繼電氣有限公司;國網浙江省電力公司;許繼集團有限公司;國家電網公司,未經北京許繼電氣有限公司;國網浙江省電力公司;許繼集團有限公司;國家電網公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710033985.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:增強型身份保持的隱私保護方法
- 下一篇:一種關鍵數據安全性保證方法和裝置





