欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于簽名的sql防篡改保護方法

文檔序號:8499944閱讀:249來源:國知局
基于簽名的sql防篡改保護方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,尤其涉及一種基于簽名的SQL防篡改保護方法。
【背景技術(shù)】
[0002]在應(yīng)用程序和數(shù)據(jù)庫之間用SQL進行交互時,因為應(yīng)用程序和數(shù)據(jù)庫之間屬于不同的軟件系統(tǒng),并且使用網(wǎng)絡(luò)協(xié)議進行通信。使用開源軟件時,黑客也會知道網(wǎng)絡(luò)協(xié)議,從而可以截獲通信的數(shù)據(jù)包,比如包含SQL指令的數(shù)據(jù)包,并對數(shù)據(jù)包進行修改,數(shù)據(jù)庫端只要SQL是合法的,都可以執(zhí)行,無法識別到數(shù)據(jù)包是否與應(yīng)用程序發(fā)過來的原始數(shù)據(jù)包相一致,導(dǎo)致數(shù)據(jù)被非常篡改,給企業(yè)帶來損失。
[0003]在正常情況下,應(yīng)用程序和數(shù)據(jù)庫/防火墻之間的通信結(jié)構(gòu)如圖1所示(箭頭代表SQL指令包的流向,虛線代表SQL指令包的來源和目的地)。當黑客植入程序后,應(yīng)用程序和數(shù)據(jù)庫/防火墻之間的通信結(jié)構(gòu)如圖2所示(箭頭代表SQL指令包的流向,虛線代表SQL指令包的來源和目的地)。
[0004]目前的解決方案是通過加密的方法,采用加密后的,應(yīng)用程序和數(shù)據(jù)庫/防火墻之間的通信結(jié)構(gòu)如圖3所示(實線箭頭代表SQL指令包的流向,虛線代表SQL指令包的來源和目的地)。在現(xiàn)有加密方案下,黑客植入程序后,應(yīng)用程序和數(shù)據(jù)庫/防火墻之間的通信結(jié)構(gòu)如圖4所示(箭頭代表SQL指令包的流向,虛線代表SQL指令包的來源和目的地)。只要后門程序知道了加解密的算法,可以看到一樣可以進行透明的SQL篡改,雖然增加了難度,但仍舊有極大的風(fēng)險。

【發(fā)明內(nèi)容】

[0005]本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種基于簽名的SQL防篡改保護方法。
[0006]本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的:一種基于簽名的SQL防篡改保護方法,包括以下步驟:
(1)應(yīng)用程序向數(shù)據(jù)庫或防火墻發(fā)送簽名信息;所述簽名指通過特定的算法,對一串信息進行處理后得到一個特征串或數(shù)字,根據(jù)得到的特征串或數(shù)字不能反推出完整的信息,同樣的信息經(jīng)處理后得到同樣的特征串或數(shù)字;
(2)當數(shù)據(jù)庫或防火墻收到SQL的簽名后,應(yīng)用程序向數(shù)據(jù)庫或防火墻發(fā)送SQL指令;
(3)數(shù)據(jù)庫或防火墻收到SQL指令后,進行簽名檢查,如果簽名匹配則執(zhí)行SQL,如果不匹配則拒絕執(zhí)行SQL,并報告數(shù)據(jù)庫或防火墻受到攻擊。
[0007]本發(fā)明的有益效果是:本發(fā)明方法增加了黑客修改SQL數(shù)據(jù)包的難度,在第一次發(fā)送簽名時,因為還未發(fā)送SQL語句,所以無法提前修改答名;當發(fā)送SQL時,簽名已經(jīng)無法修改;由于無法從簽名信息反向得到完整的原信息,使用篡改SQL數(shù)據(jù)包變得無效。本發(fā)明方法在現(xiàn)有方案之上多了一層保護機制,并不是去完全替換現(xiàn)有的加密機制。即使不用現(xiàn)有的加密方案,也極大地增加了 SQL篡改的難度,提高了數(shù)據(jù)庫的安全級別。本發(fā)明與現(xiàn)有通用的加密機制無沖突,通過事先發(fā)送簽名的方法進一步提高了 SQL篡改的技術(shù)難度,從而達到SQL防篡改的目標。
【附圖說明】
[0008]圖1為傳統(tǒng)應(yīng)用程序和數(shù)據(jù)庫/防火墻之間的通信結(jié)構(gòu);
圖2為黑客植入程序后應(yīng)用程序和數(shù)據(jù)庫/防火墻之間的通信結(jié)構(gòu);
圖3為采用加密后的應(yīng)用程序和數(shù)據(jù)庫/防火墻之間的通信結(jié)構(gòu);
圖4為現(xiàn)有加密方案下,黑客植入程序后應(yīng)用程序和數(shù)據(jù)庫/防火墻之間的通信結(jié)構(gòu);
圖5為本發(fā)明發(fā)送簽名信息的通信結(jié)構(gòu);
圖6為本發(fā)明發(fā)送SQL指令的通信結(jié)構(gòu);
圖7為應(yīng)用程序與數(shù)據(jù)庫/防火墻之間的交互流程,Ca)為現(xiàn)有的交互步驟,(b)為采用本發(fā)明后的交互步驟。
【具體實施方式】
[0009]下面結(jié)合附圖和具體實施例對本發(fā)明作進一步詳細說明。本發(fā)明方法可以使用任何計算機語言實現(xiàn),且對于軟件與硬件沒有特殊要求。
[0010]本發(fā)明一種基于簽名的SQL防篡改保護方法,包括以下步驟:
(I)應(yīng)用程序向數(shù)據(jù)庫或防火墻發(fā)送簽名信息,如圖5所示(箭頭代表簽名信息的流向,虛線代表簽名信息的來源和目的地)。在發(fā)送簽名信息時,重要的SQL信息還在應(yīng)用程序的內(nèi)存中,黑客后門程序無法知道原始的SQL信息,只能對簽名信息望而止步。所述應(yīng)用程序指接受用戶操作和指示的程序,比如一個網(wǎng)站,一個工業(yè)上用于數(shù)據(jù)采集的程序,泛指需要向數(shù)據(jù)庫發(fā)送數(shù)據(jù)的程序或系統(tǒng)。所述簽名指通過特定的算法,對一串信息進行處理后得到一個特征串,也可以是一個數(shù)字,根據(jù)這個數(shù)據(jù)不能反推出完整的信息,同樣的信息經(jīng)處理后一定會得到同樣的特征串或數(shù)字,哈希算法、CRC校驗碼算法、SHA算法等都可以作為簽名算法,也可以自行設(shè)計一段不可逆的算法。所述數(shù)據(jù)庫用來永久或監(jiān)時存放業(yè)務(wù)、系統(tǒng)數(shù)據(jù)的軟件系統(tǒng)及其數(shù)據(jù),包括但不僅限于Oracle、DB2、Sybase、MySQL、SQL Server,Cache等現(xiàn)有軟件系統(tǒng)。所述防火墻指設(shè)立在應(yīng)用程序和數(shù)據(jù)庫之間的軟件或硬件,對應(yīng)用程序與數(shù)據(jù)庫之間的通信內(nèi)容進行安全檢查,如通過檢查則轉(zhuǎn)發(fā),否則回絕。
[0011](2)當數(shù)據(jù)庫或防火墻收到SQL的簽名后,應(yīng)用程序向數(shù)據(jù)庫或防火墻發(fā)送SQL指令,如圖6所示(箭頭代表SQL指令包的流向,虛線代表SQL指令包的來源和目的地)。已經(jīng)傳送過的簽名信息,無法再次修改。黑客的后門程序即使知道SQL包的格式,并作出修改,但由于無法與簽名匹配,會在下一步得到丟棄,篡改過的SQL語句不會被真正執(zhí)行。所述SQL為應(yīng)用程序和數(shù)據(jù)庫通信的語言,比較接近于英語,用比較容易理解的方式操作數(shù)據(jù)庫的數(shù)據(jù)。
[0012](3)數(shù)據(jù)庫或防火墻收到SQL指令后,進行簽名檢查,如果簽名匹配則執(zhí)行SQL,如果不匹配則拒絕執(zhí)行SQL,并報告數(shù)據(jù)庫或防火墻受到攻擊。
[0013]采用本發(fā)明后應(yīng)用程序與數(shù)據(jù)庫/防火墻之間的交互流程發(fā)生了如下變化。如圖7所示,Ca)為現(xiàn)有的交互步驟,(b)為采用本發(fā)明后的交互步驟。當使用基于簽名的SQL防篡改保護方法時,應(yīng)用程序會向數(shù)據(jù)庫或防火墻先發(fā)送SQL的簽名,等數(shù)據(jù)庫或防火墻收到SQL的簽名后,再發(fā)送SQL指令。數(shù)據(jù)庫或防火墻在執(zhí)行SQL之間會進行簽名檢查,如果不符合,則拒絕SQL的執(zhí)行,并報告數(shù)據(jù)庫或防火墻受到攻擊。
【主權(quán)項】
1.一種基于簽名的SQL防篡改保護方法,其特征在于,包括以下步驟: (1)應(yīng)用程序向數(shù)據(jù)庫或防火墻發(fā)送簽名信息;所述簽名指對一串信息進行處理后得到一個特征串或數(shù)字,根據(jù)得到的特征串或數(shù)字不能反推出完整的信息,同樣的信息經(jīng)處理后得到同樣的特征串或數(shù)字; (2)當數(shù)據(jù)庫或防火墻收到SQL的簽名后,應(yīng)用程序向數(shù)據(jù)庫或防火墻發(fā)送SQL指令; (3)數(shù)據(jù)庫或防火墻收到SQL指令后,進行簽名檢查,如果簽名匹配則執(zhí)行SQL,如果不匹配則拒絕執(zhí)行SQL,并報告數(shù)據(jù)庫或防火墻受到攻擊。
【專利摘要】本發(fā)明公開了一種基于簽名的SQL防篡改保護方法,應(yīng)用程序先向數(shù)據(jù)庫或防火墻先發(fā)送SQL的簽名,等數(shù)據(jù)庫或防火墻收到SQL的簽名后,再發(fā)送SQL指令。數(shù)據(jù)庫或防火墻在執(zhí)行SQL之前會進行簽名檢查,如果不符合,則拒絕SQL的執(zhí)行,并報告數(shù)據(jù)庫或防火墻受到攻擊。本發(fā)明方法增加了黑客修改SQL數(shù)據(jù)包的難度,在第一次發(fā)送簽名時,因為還未發(fā)送SQL語句,所以無法提前修改答名;當發(fā)送SQL時,簽名已經(jīng)無法修改;由于無法從簽名信息反向得到完整的原信息,使用篡改SQL數(shù)據(jù)包變得無效。本發(fā)明與現(xiàn)有通用的加密機制無沖突,通過事先發(fā)送簽名的方法進一步提高了SQL篡改的技術(shù)難度,從而達到SQL防篡改的目標。
【IPC分類】H04L29-06
【公開號】CN104821949
【申請?zhí)枴緾N201510232967
【發(fā)明人】樓方鑫
【申請人】杭州平民軟件有限公司
【公開日】2015年8月5日
【申請日】2015年5月8日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
玉屏| 宝应县| 巴南区| 高雄县| 南溪县| 宁蒗| 虞城县| 太康县| 陕西省| 平果县| 隆林| 星子县| 南投市| 集安市| 镇雄县| 江津市| 舟山市| 丰宁| 永春县| 通渭县| 滨州市| 额尔古纳市| 眉山市| 青浦区| 上杭县| 房产| 行唐县| 土默特右旗| 苍山县| 色达县| 仙居县| 渭源县| 通城县| 乌海市| 玛多县| 永济市| 黑龙江省| 陵水| 汾西县| 绥中县| 伽师县|