本發(fā)明涉及數(shù)據(jù)安全領(lǐng)域,特別涉及一種數(shù)據(jù)庫存儲(chǔ)的密級保護(hù)實(shí)現(xiàn)方法及裝置。
背景技術(shù):
目前,企業(yè)般是通過數(shù)據(jù)管理系統(tǒng)對數(shù)據(jù)庫存儲(chǔ)的數(shù)據(jù)進(jìn)行統(tǒng)一管理。而隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,黑客盜取數(shù)據(jù)的行為日漸猖獗,用戶對數(shù)據(jù)安全問題越來越關(guān)注,需要對數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù)的管理方式上進(jìn)行調(diào)整,以對數(shù)據(jù)庫存儲(chǔ)實(shí)現(xiàn)密級保護(hù)。而如何實(shí)現(xiàn)對數(shù)據(jù)庫存儲(chǔ)的密級保護(hù),目前尚未有解決方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)庫存儲(chǔ)的密級保護(hù)實(shí)現(xiàn)方法及裝置,以實(shí)現(xiàn)對數(shù)據(jù)庫存儲(chǔ)的密級保護(hù)。
第一方面,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)庫存儲(chǔ)的密級保護(hù)實(shí)現(xiàn)方法,預(yù)先設(shè)置密級配置接口和校驗(yàn)碼生成接口,包括:
逐條遍歷數(shù)據(jù)庫中存儲(chǔ)的各個(gè)數(shù)據(jù)表,每遍歷到一個(gè)數(shù)據(jù)表時(shí),則調(diào)用所述密級配置接口,為遍歷到的該數(shù)據(jù)表配置相應(yīng)的密級標(biāo)識(shí);
根據(jù)遍歷到的該數(shù)據(jù)表及其相應(yīng)的密級標(biāo)識(shí),調(diào)用所述校驗(yàn)碼生成接口,以生成該數(shù)據(jù)表的校驗(yàn)碼;
在數(shù)據(jù)庫中存儲(chǔ)有該數(shù)據(jù)表的校驗(yàn)碼時(shí),利用生成的校驗(yàn)碼對存儲(chǔ)的該校驗(yàn)碼進(jìn)行更新;在數(shù)據(jù)庫中未存儲(chǔ)有該數(shù)據(jù)表的校驗(yàn)碼時(shí),則將生成的校驗(yàn)碼存儲(chǔ)到數(shù)據(jù)庫中。
優(yōu)選地,
進(jìn)一步包括:預(yù)先設(shè)置監(jiān)控校驗(yàn)策略;所述監(jiān)控校驗(yàn)策略中至少包括:校驗(yàn)開始時(shí)間點(diǎn)、校驗(yàn)結(jié)束時(shí)間點(diǎn)和待校驗(yàn)數(shù)據(jù)表;
進(jìn)一步包括:根據(jù)所述校驗(yàn)開始時(shí)間點(diǎn)和所述校驗(yàn)結(jié)束時(shí)間點(diǎn),針對所述待校驗(yàn)數(shù)據(jù)表,調(diào)用所述校驗(yàn)碼生成接口,生成所述待校驗(yàn)數(shù)據(jù)表的新校驗(yàn)碼,比與數(shù)據(jù)庫中存儲(chǔ)的校驗(yàn)碼進(jìn)行比較,在比較結(jié)果一致時(shí),則確定所述待校驗(yàn)數(shù)據(jù)表未被篡改;在比較結(jié)果不一致時(shí),則確定所述待校驗(yàn)數(shù)據(jù)表被篡改。
優(yōu)選地,
進(jìn)一步包括:在將數(shù)據(jù)表存儲(chǔ)到數(shù)據(jù)庫時(shí),記錄數(shù)據(jù)表的生成方式;
在確定所述待校驗(yàn)數(shù)據(jù)表被篡改之后,進(jìn)一步包括:根據(jù)記錄的各個(gè)數(shù)據(jù)表的生成方式,確定所述待校驗(yàn)數(shù)據(jù)表對應(yīng)的目標(biāo)生成方式,并按照所述目標(biāo)生成方式重新生成所述待校驗(yàn)數(shù)據(jù)表,并針對重新生成的所述待校驗(yàn)數(shù)據(jù)表調(diào)用所述密級配置接口和所述校驗(yàn)碼生成接口。
優(yōu)選地,
進(jìn)一步包括:預(yù)先設(shè)置對各個(gè)數(shù)據(jù)表具有修改權(quán)限的用戶標(biāo)識(shí);
進(jìn)一步包括:在接收到對所述目標(biāo)數(shù)據(jù)表的修改指令時(shí),獲取發(fā)送所述修改指令的用戶標(biāo)識(shí),并確定該用戶標(biāo)識(shí)是否具有對所述目標(biāo)數(shù)據(jù)表具有修改權(quán)限,若該用戶標(biāo)識(shí)對所述目標(biāo)數(shù)據(jù)表不具有修改權(quán)限,則拒絕所述修改指令;若該用戶標(biāo)識(shí)對所述目標(biāo)數(shù)據(jù)表具有修改權(quán)限,則按照所述修改指令對所述目標(biāo)數(shù)據(jù)表進(jìn)行修改,并針對修改后的所述目標(biāo)數(shù)據(jù)表調(diào)用所述密級配置接口和所述校驗(yàn)碼生成接口,以對存儲(chǔ)的所述目標(biāo)數(shù)據(jù)表的密級標(biāo)識(shí)和校驗(yàn)碼進(jìn)行更新。
第二方面,本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)庫存儲(chǔ)的密級保護(hù)實(shí)現(xiàn)裝置,包括:
設(shè)置單元,用于設(shè)置密級配置接口和校驗(yàn)碼生成接口;
遍歷配置單元,用于逐條遍歷數(shù)據(jù)庫中存儲(chǔ)的各個(gè)數(shù)據(jù)表,每遍歷到一個(gè)數(shù)據(jù)表時(shí),則調(diào)用所述密級配置接口,為遍歷到的該數(shù)據(jù)表配置相應(yīng)的密級標(biāo)識(shí);
校驗(yàn)碼生成單元,用于根據(jù)遍歷到的該數(shù)據(jù)表及其相應(yīng)的密級標(biāo)識(shí),調(diào)用所述校驗(yàn)碼生成接口,以生成該數(shù)據(jù)表的校驗(yàn)碼;
校驗(yàn)碼更新單元,用于在數(shù)據(jù)庫中存儲(chǔ)有該數(shù)據(jù)表的校驗(yàn)碼時(shí),利用生成的校驗(yàn)碼對存儲(chǔ)的該校驗(yàn)碼進(jìn)行更新;在數(shù)據(jù)庫中未存儲(chǔ)有該數(shù)據(jù)表的校驗(yàn)碼時(shí),則將生成的校驗(yàn)碼存儲(chǔ)到數(shù)據(jù)庫中。
優(yōu)選地,
所述設(shè)置單元,進(jìn)一步用于設(shè)置監(jiān)控校驗(yàn)策略;所述監(jiān)控校驗(yàn)策略中至少包括:校驗(yàn)開始時(shí)間點(diǎn)、校驗(yàn)結(jié)束時(shí)間點(diǎn)和待校驗(yàn)數(shù)據(jù)表;
進(jìn)一步包括:比較單元,用于根據(jù)所述校驗(yàn)開始時(shí)間點(diǎn)和所述校驗(yàn)結(jié)束時(shí)間點(diǎn),針對所述待校驗(yàn)數(shù)據(jù)表,調(diào)用所述校驗(yàn)碼生成接口,生成所述待校驗(yàn)數(shù)據(jù)表的新校驗(yàn)碼,比與數(shù)據(jù)庫中存儲(chǔ)的校驗(yàn)碼進(jìn)行比較,在比較結(jié)果一致時(shí),則確定所述待校驗(yàn)數(shù)據(jù)表未被篡改;在比較結(jié)果不一致時(shí),則確定所述待校驗(yàn)數(shù)據(jù)表被篡改。
優(yōu)選地,
進(jìn)一步包括:記錄單元,用于在將數(shù)據(jù)表存儲(chǔ)到數(shù)據(jù)庫時(shí),記錄數(shù)據(jù)表的生成方式;
進(jìn)一步包括:還原單元,用于根據(jù)記錄的各個(gè)數(shù)據(jù)表的生成方式,確定所述待校驗(yàn)數(shù)據(jù)表對應(yīng)的目標(biāo)生成方式,并按照所述目標(biāo)生成方式重新生成所述待校驗(yàn)數(shù)據(jù)表,并針對重新生成的所述待校驗(yàn)數(shù)據(jù)表調(diào)用所述密級配置接口和所述校驗(yàn)碼生成接口。
優(yōu)選地,
所述設(shè)置單元,進(jìn)一步用于設(shè)置對各個(gè)數(shù)據(jù)表具有修改權(quán)限的用戶標(biāo)識(shí);
進(jìn)一步包括:處理單元,用于在接收到對所述目標(biāo)數(shù)據(jù)表的修改指令時(shí),獲取發(fā)送所述修改指令的用戶標(biāo)識(shí),并確定該用戶標(biāo)識(shí)是否具有對所述目標(biāo)數(shù)據(jù)表具有修改權(quán)限,若該用戶標(biāo)識(shí)對所述目標(biāo)數(shù)據(jù)表不具有修改權(quán)限,則拒絕所述修改指令;若該用戶標(biāo)識(shí)對所述目標(biāo)數(shù)據(jù)表具有修改權(quán)限,則按照所述修改指令對所述目標(biāo)數(shù)據(jù)表進(jìn)行修改,并針對修改后的所述目標(biāo)數(shù)據(jù)表調(diào)用所述密級配置接口和所述校驗(yàn)碼生成接口,以對存儲(chǔ)的所述目標(biāo)數(shù)據(jù)表的密級標(biāo)識(shí)和校驗(yàn)碼進(jìn)行更新。
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)庫存儲(chǔ)的密級保護(hù)實(shí)現(xiàn)方法及裝置,通過對數(shù)據(jù)庫中存儲(chǔ)的各個(gè)數(shù)據(jù)表進(jìn)行逐條遍歷,以調(diào)用密級配置接口,為遍歷到的數(shù)據(jù)表配置相應(yīng)的密級標(biāo)識(shí),并調(diào)用校驗(yàn)碼生成接口生成各個(gè)數(shù)據(jù)表的校驗(yàn)碼,若數(shù)據(jù)庫中存儲(chǔ)有數(shù)據(jù)表的校驗(yàn)碼,則表明該數(shù)據(jù)表為以有數(shù)據(jù)表,則可以將生成的校驗(yàn)碼對存儲(chǔ)的校驗(yàn)碼進(jìn)行更新,若數(shù)據(jù)庫中沒有存儲(chǔ)數(shù)據(jù)表的校驗(yàn)碼,則表明該數(shù)據(jù)表為新生成的數(shù)據(jù)表,則可以直接將校驗(yàn)碼存儲(chǔ)在數(shù)據(jù)庫中,從而實(shí)現(xiàn)了對數(shù)據(jù)庫存儲(chǔ)的密級保護(hù)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個(gè)實(shí)施例提供的一種方法流程圖;
圖2是本發(fā)明一個(gè)實(shí)施例提供的另一種方法流程圖;
圖3是本發(fā)明一個(gè)實(shí)施例提供的一種裝置結(jié)構(gòu)圖;
圖4是本發(fā)明一個(gè)實(shí)施例提供的另一種裝置結(jié)構(gòu)圖;
圖5是本發(fā)明一個(gè)實(shí)施例提供的又一種裝置結(jié)構(gòu)圖;
圖6是本發(fā)明一個(gè)實(shí)施例提供的在一種裝置結(jié)構(gòu)圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)庫存儲(chǔ)的密級保護(hù)實(shí)現(xiàn)方法,該方法可以包括:
步驟101:設(shè)置密級配置接口和校驗(yàn)碼生成接口;
步驟102:逐條遍歷數(shù)據(jù)庫中存儲(chǔ)的各個(gè)數(shù)據(jù)表,每遍歷到一個(gè)數(shù)據(jù)表時(shí),則調(diào)用所述密級配置接口,為遍歷到的該數(shù)據(jù)表配置相應(yīng)的密級標(biāo)識(shí);
步驟103:根據(jù)遍歷到的該數(shù)據(jù)表及其相應(yīng)的密級標(biāo)識(shí),調(diào)用所述校驗(yàn)碼生成接口,以生成該數(shù)據(jù)表的校驗(yàn)碼;
步驟104:在數(shù)據(jù)庫中存儲(chǔ)有該數(shù)據(jù)表的校驗(yàn)碼時(shí),利用生成的校驗(yàn)碼對存儲(chǔ)的該校驗(yàn)碼進(jìn)行更新;在數(shù)據(jù)庫中未存儲(chǔ)有該數(shù)據(jù)表的校驗(yàn)碼時(shí),則將生成的校驗(yàn)碼存儲(chǔ)到數(shù)據(jù)庫中。
在本發(fā)明上述實(shí)施例中,通過對數(shù)據(jù)庫中存儲(chǔ)的各個(gè)數(shù)據(jù)表進(jìn)行逐條遍歷,以調(diào)用密級配置接口,為遍歷到的數(shù)據(jù)表配置相應(yīng)的密級標(biāo)識(shí),并調(diào)用校驗(yàn)碼生成接口生成各個(gè)數(shù)據(jù)表的校驗(yàn)碼,若數(shù)據(jù)庫中存儲(chǔ)有數(shù)據(jù)表的校驗(yàn)碼,則表明該數(shù)據(jù)表為以有數(shù)據(jù)表,則可以將生成的校驗(yàn)碼對存儲(chǔ)的校驗(yàn)碼進(jìn)行更新,若數(shù)據(jù)庫中沒有存儲(chǔ)數(shù)據(jù)表的校驗(yàn)碼,則表明該數(shù)據(jù)表為新生成的數(shù)據(jù)表,則可以直接將校驗(yàn)碼存儲(chǔ)在數(shù)據(jù)庫中,從而實(shí)現(xiàn)了對數(shù)據(jù)庫存儲(chǔ)的密級保護(hù)。
在本發(fā)明一個(gè)實(shí)施例中,若數(shù)據(jù)庫存儲(chǔ)的數(shù)據(jù)被篡改,那么可能會(huì)造成數(shù)據(jù)安全問題,因此,為了確定數(shù)據(jù)是否被篡改,可以進(jìn)一步包括:預(yù)先設(shè)置監(jiān)控校驗(yàn)策略;所述監(jiān)控校驗(yàn)策略中至少包括:校驗(yàn)開始時(shí)間點(diǎn)、校驗(yàn)結(jié)束時(shí)間點(diǎn)和待校驗(yàn)數(shù)據(jù)表;其中,該監(jiān)控校驗(yàn)策略可以包括定時(shí)校驗(yàn)和/或?qū)崟r(shí)校驗(yàn)。
在監(jiān)控校驗(yàn)策略包括定時(shí)校驗(yàn)時(shí),例如,校驗(yàn)開始時(shí)間點(diǎn)可以每天的24:00,校驗(yàn)結(jié)束時(shí)間點(diǎn)可以是每天的6:00,待校驗(yàn)數(shù)據(jù)表為數(shù)據(jù)庫中存儲(chǔ)的所有數(shù)據(jù)表。那么本方法在每天的24:00-6:00之間對數(shù)據(jù)庫中存儲(chǔ)的所有數(shù)據(jù)表進(jìn)行逐個(gè)校驗(yàn)。
在監(jiān)控校驗(yàn)策略包括實(shí)時(shí)校驗(yàn)時(shí),例如,該待校驗(yàn)數(shù)據(jù)表為數(shù)據(jù)表a,該校驗(yàn)開始時(shí)間點(diǎn)為數(shù)據(jù)表a中對應(yīng)的200x年,該校驗(yàn)結(jié)束時(shí)間點(diǎn)為數(shù)據(jù)表a中對應(yīng)的201x年,那么本方法可以對數(shù)據(jù)表a中200x年-201x年之間的數(shù)據(jù)進(jìn)行實(shí)時(shí)校驗(yàn)。
其中,在校驗(yàn)時(shí),可以確定出待校驗(yàn)數(shù)據(jù)表是否被篡改,該方法可以進(jìn)一步包括:根據(jù)所述校驗(yàn)開始時(shí)間點(diǎn)和所述校驗(yàn)結(jié)束時(shí)間點(diǎn),針對所述待校驗(yàn)數(shù)據(jù)表,調(diào)用所述校驗(yàn)碼生成接口,生成所述待校驗(yàn)數(shù)據(jù)表的新校驗(yàn)碼,比與數(shù)據(jù)庫中存儲(chǔ)的校驗(yàn)碼進(jìn)行比較,在比較結(jié)果一致時(shí),則確定所述待校驗(yàn)數(shù)據(jù)表未被篡改;在比較結(jié)果不一致時(shí),則確定所述待校驗(yàn)數(shù)據(jù)表被篡改。
若待校驗(yàn)數(shù)據(jù)表在校驗(yàn)完成后確定被篡改,那么需要對被篡改的數(shù)據(jù)表進(jìn)行還原,以保證數(shù)據(jù)表內(nèi)數(shù)據(jù)的正確性,因此,在本發(fā)明一個(gè)實(shí)施例中,提供了一種對被篡改的數(shù)據(jù)表進(jìn)行還原的方式,可以進(jìn)一步包括:在將數(shù)據(jù)表存儲(chǔ)到數(shù)據(jù)庫時(shí),記錄數(shù)據(jù)表的生成方式;
在確定所述待校驗(yàn)數(shù)據(jù)表被篡改之后,進(jìn)一步包括:根據(jù)記錄的各個(gè)數(shù)據(jù)表的生成方式,確定所述待校驗(yàn)數(shù)據(jù)表對應(yīng)的目標(biāo)生成方式,并按照所述目標(biāo)生成方式重新生成所述待校驗(yàn)數(shù)據(jù)表,并針對重新生成的所述待校驗(yàn)數(shù)據(jù)表調(diào)用所述密級配置接口和所述校驗(yàn)碼生成接口。
例如,該生成方式為通過功能匯總生成,那么在還原時(shí)則對指定時(shí)間段的數(shù)據(jù)重新匯總生成;若生成方式是通過下級單位上傳來的,那么在還原時(shí)指定該下級單位重新上傳該數(shù)據(jù)表;若該生成方式是通過業(yè)務(wù)功能操作新生成的,那么可以先查看是否有數(shù)據(jù)備份,若有數(shù)據(jù)備份,則從數(shù)據(jù)備份處進(jìn)行恢復(fù),若無數(shù)據(jù)備份,則重新做業(yè)務(wù)。
在本發(fā)明一個(gè)實(shí)施例中,由于根據(jù)業(yè)務(wù)系統(tǒng),存儲(chǔ)到數(shù)據(jù)庫中的數(shù)據(jù)表,也可能需要被修改,為了保證該修改操作不是被篡改,那么可以進(jìn)一步包括:預(yù)先設(shè)置對各個(gè)數(shù)據(jù)表具有修改權(quán)限的用戶標(biāo)識(shí);
進(jìn)一步包括:在接收到對所述目標(biāo)數(shù)據(jù)表的修改指令時(shí),獲取發(fā)送所述修改指令的用戶標(biāo)識(shí),并確定該用戶標(biāo)識(shí)是否具有對所述目標(biāo)數(shù)據(jù)表具有修改權(quán)限,若該用戶標(biāo)識(shí)對所述目標(biāo)數(shù)據(jù)表不具有修改權(quán)限,則拒絕所述修改指令;若該用戶標(biāo)識(shí)對所述目標(biāo)數(shù)據(jù)表具有修改權(quán)限,則按照所述修改指令對所述目標(biāo)數(shù)據(jù)表進(jìn)行修改,并針對修改后的所述目標(biāo)數(shù)據(jù)表調(diào)用所述密級配置接口和所述校驗(yàn)碼生成接口,以對存儲(chǔ)的所述目標(biāo)數(shù)據(jù)表的密級標(biāo)識(shí)和校驗(yàn)碼進(jìn)行更新。
通過設(shè)置對各個(gè)數(shù)據(jù)表具有修改權(quán)限的用戶標(biāo)識(shí),從而可以保證只有具有修改權(quán)限的用戶才能夠?qū)ο鄳?yīng)數(shù)據(jù)表進(jìn)行修改,從而可以防止數(shù)據(jù)表被篡改。
下面以某企業(yè)的數(shù)據(jù)管理系統(tǒng)需要實(shí)現(xiàn)密級保護(hù)為例,對本發(fā)明實(shí)施例進(jìn)行進(jìn)一步的說明。
請參考圖2,本發(fā)明一個(gè)實(shí)施例提供了一種數(shù)據(jù)庫存儲(chǔ)的密級保護(hù)實(shí)現(xiàn)方法,該方法可以包括以下內(nèi)容:
步驟201:設(shè)置密級配置接口、校驗(yàn)碼生成接口、監(jiān)控校驗(yàn)策略和對數(shù)據(jù)庫中各個(gè)數(shù)據(jù)表具有修改權(quán)限的用戶標(biāo)識(shí)。
密級配置接口用于實(shí)現(xiàn)對數(shù)據(jù)庫中各個(gè)數(shù)據(jù)表確定密級以及配置密級標(biāo)識(shí);例如,該密級可以包括:非密、秘密、機(jī)密和絕密。不同的密級對應(yīng)的密級標(biāo)識(shí)。
校驗(yàn)碼生成接口用于生成各個(gè)數(shù)據(jù)表的校驗(yàn)碼;
監(jiān)控校驗(yàn)策略可以包括:定時(shí)校驗(yàn)和實(shí)時(shí)校驗(yàn)。
例如,該定時(shí)校驗(yàn)對應(yīng)的屬性信息為:校驗(yàn)開始時(shí)間點(diǎn)可以每天的24:00,校驗(yàn)結(jié)束時(shí)間點(diǎn)可以是每天的6:00,待校驗(yàn)數(shù)據(jù)表為數(shù)據(jù)庫中存儲(chǔ)的所有數(shù)據(jù)表。該屬性信息用于實(shí)現(xiàn)在每天的24:00-6:00之間對數(shù)據(jù)庫中存儲(chǔ)的所有數(shù)據(jù)表進(jìn)行逐個(gè)校驗(yàn)。
再如,該實(shí)時(shí)校驗(yàn)對應(yīng)的屬性信息為:待校驗(yàn)數(shù)據(jù)表為數(shù)據(jù)表a,該校驗(yàn)開始時(shí)間點(diǎn)為數(shù)據(jù)表a中對應(yīng)的200x年,該校驗(yàn)結(jié)束時(shí)間點(diǎn)為數(shù)據(jù)表a中對應(yīng)的201x年。該屬性信息用于實(shí)現(xiàn)對數(shù)據(jù)表a中200x年-201x年之間的數(shù)據(jù)進(jìn)行實(shí)時(shí)校驗(yàn)。
其中,對數(shù)據(jù)庫中各個(gè)數(shù)據(jù)表具有修改權(quán)限的用戶標(biāo)識(shí)進(jìn)行設(shè)置是用于實(shí)現(xiàn)對數(shù)據(jù)表進(jìn)行數(shù)據(jù)修改,以及防止無權(quán)限的用戶對數(shù)據(jù)的篡改。
步驟202:對數(shù)據(jù)庫中存儲(chǔ)的各個(gè)數(shù)據(jù)表進(jìn)行逐個(gè)遍歷,將每一個(gè)遍歷到的數(shù)據(jù)表作為當(dāng)前數(shù)據(jù)表執(zhí)行步驟203。
由于數(shù)據(jù)管理系統(tǒng)中存儲(chǔ)有數(shù)據(jù)表,因此,為了實(shí)現(xiàn)對數(shù)據(jù)表的密級保護(hù),需要對各個(gè)數(shù)據(jù)進(jìn)行逐個(gè)遍歷。
步驟203:針對當(dāng)前數(shù)據(jù)表調(diào)用密級配置接口,確定該當(dāng)前數(shù)據(jù)表對應(yīng)的密級,并配置相應(yīng)的密級標(biāo)識(shí)。
由于企業(yè)的數(shù)據(jù)管理系統(tǒng)需要實(shí)現(xiàn)數(shù)據(jù)庫存儲(chǔ)的密級保護(hù),那么為了實(shí)現(xiàn)該密級保護(hù),需要為數(shù)據(jù)庫存儲(chǔ)的各個(gè)數(shù)據(jù)表配置密級以及密級標(biāo)識(shí),為了提高密級、密級標(biāo)識(shí)的自動(dòng)、快速配置,可以設(shè)置密級配置接口,該密級配置接口可以根據(jù)數(shù)據(jù)庫中涉密的數(shù)據(jù)表的等級劃分以及涉密要求,對數(shù)據(jù)庫中各個(gè)數(shù)據(jù)表進(jìn)行識(shí)別,以確定出各個(gè)數(shù)據(jù)表的密級,并根據(jù)確定的密級為其配置相應(yīng)的密級標(biāo)識(shí)。
步驟204:針對該當(dāng)前數(shù)據(jù)表調(diào)用校驗(yàn)碼生成接口,以根據(jù)數(shù)據(jù)表以及數(shù)據(jù)表的密級標(biāo)識(shí)生成相應(yīng)的校驗(yàn)碼。
校驗(yàn)碼的生成規(guī)則可以預(yù)先設(shè)置在校驗(yàn)碼生成接口中,其中,可以是將數(shù)據(jù)表的密級標(biāo)識(shí)與數(shù)據(jù)表的關(guān)鍵字段進(jìn)行指定規(guī)則的混淆,并利用加密算法生成校驗(yàn)碼。該生成的校驗(yàn)碼可以是32位的md5碼。
其中,該校驗(yàn)碼生成代碼可以使用如下一種來實(shí)現(xiàn):
步驟205:搜索數(shù)據(jù)庫中是否存儲(chǔ)有當(dāng)前數(shù)據(jù)表的校驗(yàn)碼,若有,則將數(shù)據(jù)庫中存儲(chǔ)的該當(dāng)前數(shù)據(jù)表的校驗(yàn)碼更新為該新生成的校驗(yàn)碼;若沒有,則將新生成的校驗(yàn)碼存儲(chǔ)到數(shù)據(jù)庫中。
若數(shù)據(jù)庫中存儲(chǔ)有當(dāng)前數(shù)據(jù)表的校驗(yàn)碼,表明該數(shù)據(jù)表在之前已被進(jìn)行加密保護(hù),由于校驗(yàn)碼發(fā)生了變化,因此,需要對存儲(chǔ)的校驗(yàn)碼進(jìn)行更新。若數(shù)據(jù)庫中沒有存儲(chǔ)當(dāng)前數(shù)據(jù)表的校驗(yàn)碼,表明該數(shù)據(jù)表是新生成的,那么為了實(shí)現(xiàn)密級保護(hù),可以將該校驗(yàn)碼存儲(chǔ)到數(shù)據(jù)庫中,以為后續(xù)的校驗(yàn)提供依據(jù)。
針對數(shù)據(jù)管理系統(tǒng),在后續(xù)新生成的數(shù)據(jù)表,也需要配置密級、密級標(biāo)識(shí)和生成校驗(yàn)碼,以此來實(shí)現(xiàn)密級保護(hù)。
在對校驗(yàn)碼進(jìn)行更新時(shí),可以使用如下一種代碼來實(shí)現(xiàn):
步驟206:根據(jù)監(jiān)控校驗(yàn)策略中包括的實(shí)時(shí)校驗(yàn)對應(yīng)的屬性信息,對數(shù)據(jù)表進(jìn)行實(shí)時(shí)校驗(yàn);以及根據(jù)監(jiān)控校驗(yàn)策略中包括的定時(shí)校驗(yàn)對應(yīng)的屬性信息,對數(shù)據(jù)表進(jìn)行定時(shí)校驗(yàn)。
其中,該定時(shí)校驗(yàn)對應(yīng)的屬性信息可以包括:校驗(yàn)開始時(shí)間點(diǎn)可以是每天的24:00,校驗(yàn)結(jié)束時(shí)間點(diǎn)可以是每天的6:00,待校驗(yàn)數(shù)據(jù)表為數(shù)據(jù)庫中存儲(chǔ)的所有數(shù)據(jù)表。那么本方法在每天的24:00-6:00之間對數(shù)據(jù)庫中存儲(chǔ)的所有數(shù)據(jù)表進(jìn)行逐個(gè)校驗(yàn)。
其中,該實(shí)時(shí)校驗(yàn)對應(yīng)的屬性信息可以包括:該待校驗(yàn)數(shù)據(jù)表為數(shù)據(jù)表a,該校驗(yàn)開始時(shí)間點(diǎn)為數(shù)據(jù)表a中對應(yīng)的200x年,該校驗(yàn)結(jié)束時(shí)間點(diǎn)為數(shù)據(jù)表a中對應(yīng)的201x年,那么本方法可以對數(shù)據(jù)表a中200x年-201x年之間的數(shù)據(jù)進(jìn)行實(shí)時(shí)校驗(yàn)。
結(jié)合數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)量情況,出于性能方面的考慮,實(shí)時(shí)校驗(yàn)的校驗(yàn)粒度比較小,是細(xì)化到單個(gè)數(shù)據(jù)表和指定的時(shí)間段。
步驟207:在對數(shù)據(jù)表進(jìn)行校驗(yàn)時(shí),調(diào)用校驗(yàn)碼生成接口,生成該數(shù)據(jù)表的新校驗(yàn)碼,并比較該新校驗(yàn)碼與數(shù)據(jù)庫中存儲(chǔ)的該數(shù)據(jù)表的校驗(yàn)碼,若比較結(jié)果一致,那么確定該數(shù)據(jù)表未被篡改;若比較結(jié)果不一致,那么確定該數(shù)據(jù)表被篡改。
為了確定數(shù)據(jù)表是否被篡改,可以使用數(shù)據(jù)庫中存儲(chǔ)的針對各個(gè)數(shù)據(jù)表的校驗(yàn)碼進(jìn)行確定,因此,需要利用相同的校驗(yàn)碼生成方式來生成校驗(yàn)碼,通過調(diào)用校驗(yàn)碼生成接口,利用數(shù)據(jù)表的密級標(biāo)識(shí)和關(guān)鍵字段來生成校驗(yàn)碼。若新生成的校驗(yàn)碼與數(shù)據(jù)庫中存儲(chǔ)的校驗(yàn)碼一致,那么確定該數(shù)據(jù)表未被篡改,若不一致,那么確定該數(shù)據(jù)表被篡改。
在本發(fā)明一個(gè)實(shí)施例中,可以設(shè)置一個(gè)篡改記錄表,該篡改記錄表上用于記錄被篡改的數(shù)據(jù)表的信息。
其中,對于后臺(tái)的定時(shí)校驗(yàn),可以通過如下一種代碼來實(shí)現(xiàn):
步驟208:根據(jù)預(yù)先記錄的各個(gè)數(shù)據(jù)表的生成方式,確定該被篡改的數(shù)據(jù)表對應(yīng)的目標(biāo)生成方式,并按照該目標(biāo)生成方式重新生成該數(shù)據(jù)表,并將該重新生成的數(shù)據(jù)表作為當(dāng)前數(shù)據(jù)表執(zhí)行步驟202。
由于被篡改的數(shù)據(jù)表會(huì)威脅數(shù)據(jù)安全,因此,需要根據(jù)篡改記錄表,將被篡改的數(shù)據(jù)表進(jìn)行還原。
為了能夠保證被篡改數(shù)據(jù)表的快速還原,可以在生成數(shù)據(jù)表時(shí)記錄該數(shù)據(jù)表的生成方式,以保證還原數(shù)據(jù)表時(shí)以相同的生成方式進(jìn)行還原。
例如,該生成方式為通過功能匯總生成,那么在還原時(shí)則對指定時(shí)間段的數(shù)據(jù)重新匯總生成;若生成方式是通過下級單位上傳來的,那么在還原時(shí)指定該下級單位重新上傳該數(shù)據(jù)表;若該生成方式是通過業(yè)務(wù)功能操作新生成的,那么可以先查看是否有數(shù)據(jù)備份,若有數(shù)據(jù)備份,則從數(shù)據(jù)備份處進(jìn)行恢復(fù),若無數(shù)據(jù)備份,則重新做業(yè)務(wù)。
在本發(fā)明一個(gè)實(shí)施例中,由于根據(jù)業(yè)務(wù)系統(tǒng),存儲(chǔ)到數(shù)據(jù)庫中的數(shù)據(jù)表,也可能需要被修改,為了保證該修改操作不是被篡改,需要對發(fā)送修改指令的用戶標(biāo)識(shí)的權(quán)限進(jìn)行驗(yàn)證,若該用戶標(biāo)識(shí)對所述目標(biāo)數(shù)據(jù)表不具有修改權(quán)限,則拒絕所述修改指令;若該用戶標(biāo)識(shí)對所述目標(biāo)數(shù)據(jù)表具有修改權(quán)限,則按照所述修改指令對所述目標(biāo)數(shù)據(jù)表進(jìn)行修改,并針對修改后的所述目標(biāo)數(shù)據(jù)表調(diào)用所述密級配置接口和所述校驗(yàn)碼生成接口,以對存儲(chǔ)的所述目標(biāo)數(shù)據(jù)表的密級標(biāo)識(shí)和校驗(yàn)碼進(jìn)行更新。
通過設(shè)置對各個(gè)數(shù)據(jù)表具有修改權(quán)限的用戶標(biāo)識(shí),從而可以保證只有具有修改權(quán)限的用戶才能夠?qū)ο鄳?yīng)數(shù)據(jù)表進(jìn)行修改,從而可以防止數(shù)據(jù)表被篡改。
請參考圖3,本發(fā)明一個(gè)實(shí)施例還提供了一種數(shù)據(jù)庫存儲(chǔ)的密級保護(hù)實(shí)現(xiàn)裝置,包括:
設(shè)置單元301,用于設(shè)置密級配置接口和校驗(yàn)碼生成接口;
遍歷配置單元302,用于逐條遍歷數(shù)據(jù)庫中存儲(chǔ)的各個(gè)數(shù)據(jù)表,每遍歷到一個(gè)數(shù)據(jù)表時(shí),則調(diào)用所述密級配置接口,為遍歷到的該數(shù)據(jù)表配置相應(yīng)的密級標(biāo)識(shí);
校驗(yàn)碼生成單元303,用于根據(jù)遍歷到的該數(shù)據(jù)表及其相應(yīng)的密級標(biāo)識(shí),調(diào)用所述校驗(yàn)碼生成接口,以生成該數(shù)據(jù)表的校驗(yàn)碼;
校驗(yàn)碼更新單元304,用于在數(shù)據(jù)庫中存儲(chǔ)有該數(shù)據(jù)表的校驗(yàn)碼時(shí),利用生成的校驗(yàn)碼對存儲(chǔ)的該校驗(yàn)碼進(jìn)行更新;在數(shù)據(jù)庫中未存儲(chǔ)有該數(shù)據(jù)表的校驗(yàn)碼時(shí),則將生成的校驗(yàn)碼存儲(chǔ)到數(shù)據(jù)庫中。
在本發(fā)明一個(gè)實(shí)施例中,所述設(shè)置單元301,進(jìn)一步用于設(shè)置監(jiān)控校驗(yàn)策略;所述監(jiān)控校驗(yàn)策略中至少包括:校驗(yàn)開始時(shí)間點(diǎn)、校驗(yàn)結(jié)束時(shí)間點(diǎn)和待校驗(yàn)數(shù)據(jù)表;
請參考圖4,該數(shù)據(jù)庫存儲(chǔ)的密級保護(hù)實(shí)現(xiàn)裝置可以進(jìn)一步包括:比較單元401,用于根據(jù)所述校驗(yàn)開始時(shí)間點(diǎn)和所述校驗(yàn)結(jié)束時(shí)間點(diǎn),針對所述待校驗(yàn)數(shù)據(jù)表,調(diào)用所述校驗(yàn)碼生成接口,生成所述待校驗(yàn)數(shù)據(jù)表的新校驗(yàn)碼,比與數(shù)據(jù)庫中存儲(chǔ)的校驗(yàn)碼進(jìn)行比較,在比較結(jié)果一致時(shí),則確定所述待校驗(yàn)數(shù)據(jù)表未被篡改;在比較結(jié)果不一致時(shí),則確定所述待校驗(yàn)數(shù)據(jù)表被篡改。
在本發(fā)明一個(gè)實(shí)施例中,請參考圖5,該數(shù)據(jù)庫存儲(chǔ)的密級保護(hù)實(shí)現(xiàn)裝置可以進(jìn)一步包括:記錄單元501,用于在將數(shù)據(jù)表存儲(chǔ)到數(shù)據(jù)庫時(shí),記錄數(shù)據(jù)表的生成方式;
進(jìn)一步包括:還原單元502,用于根據(jù)記錄的各個(gè)數(shù)據(jù)表的生成方式,確定所述待校驗(yàn)數(shù)據(jù)表對應(yīng)的目標(biāo)生成方式,并按照所述目標(biāo)生成方式重新生成所述待校驗(yàn)數(shù)據(jù)表,并針對重新生成的所述待校驗(yàn)數(shù)據(jù)表調(diào)用所述密級配置接口和所述校驗(yàn)碼生成接口。
在本發(fā)明一個(gè)實(shí)施例中,所述設(shè)置單元301,進(jìn)一步用于設(shè)置對各個(gè)數(shù)據(jù)表具有修改權(quán)限的用戶標(biāo)識(shí);
請參考圖6,該數(shù)據(jù)庫存儲(chǔ)的密級保護(hù)實(shí)現(xiàn)裝置可以進(jìn)一步包括:處理單元601,用于在接收到對所述目標(biāo)數(shù)據(jù)表的修改指令時(shí),獲取發(fā)送所述修改指令的用戶標(biāo)識(shí),并確定該用戶標(biāo)識(shí)是否具有對所述目標(biāo)數(shù)據(jù)表具有修改權(quán)限,若該用戶標(biāo)識(shí)對所述目標(biāo)數(shù)據(jù)表不具有修改權(quán)限,則拒絕所述修改指令;若該用戶標(biāo)識(shí)對所述目標(biāo)數(shù)據(jù)表具有修改權(quán)限,則按照所述修改指令對所述目標(biāo)數(shù)據(jù)表進(jìn)行修改,并針對修改后的所述目標(biāo)數(shù)據(jù)表調(diào)用所述密級配置接口和所述校驗(yàn)碼生成接口,以對存儲(chǔ)的所述目標(biāo)數(shù)據(jù)表的密級標(biāo)識(shí)和校驗(yàn)碼進(jìn)行更新。
綜上,本發(fā)明各個(gè)實(shí)施例至少可以實(shí)現(xiàn)如下有益效果:
1、在本發(fā)明實(shí)施例中,通過對數(shù)據(jù)庫中存儲(chǔ)的各個(gè)數(shù)據(jù)表進(jìn)行逐條遍歷,以調(diào)用密級配置接口,為遍歷到的數(shù)據(jù)表配置相應(yīng)的密級標(biāo)識(shí),并調(diào)用校驗(yàn)碼生成接口生成各個(gè)數(shù)據(jù)表的校驗(yàn)碼,若數(shù)據(jù)庫中存儲(chǔ)有數(shù)據(jù)表的校驗(yàn)碼,則表明該數(shù)據(jù)表為以有數(shù)據(jù)表,則可以將生成的校驗(yàn)碼對存儲(chǔ)的校驗(yàn)碼進(jìn)行更新,若數(shù)據(jù)庫中沒有存儲(chǔ)數(shù)據(jù)表的校驗(yàn)碼,則表明該數(shù)據(jù)表為新生成的數(shù)據(jù)表,則可以直接將校驗(yàn)碼存儲(chǔ)在數(shù)據(jù)庫中,從而實(shí)現(xiàn)了對數(shù)據(jù)庫存儲(chǔ)的密級保護(hù)。
2、在本發(fā)明實(shí)施例中,通過設(shè)置監(jiān)控校驗(yàn)策略,可以對數(shù)據(jù)表進(jìn)行實(shí)時(shí)校驗(yàn)和定時(shí)校驗(yàn),以校驗(yàn)數(shù)據(jù)表是否被篡改,并對被篡改的數(shù)據(jù)表進(jìn)行記錄,以根據(jù)被篡改的數(shù)據(jù)表原有的生成方式還原出數(shù)據(jù)表,從而提高數(shù)據(jù)的安全性。
3、在本發(fā)明實(shí)施例中,通過設(shè)置對各個(gè)數(shù)據(jù)表具有修改權(quán)限的用戶標(biāo)識(shí),從而可以保證只有具有修改權(quán)限的用戶才能夠?qū)ο鄳?yīng)數(shù)據(jù)表進(jìn)行修改,從而可以防止數(shù)據(jù)表被篡改。
上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)〃·····”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)在計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)中。
最后需要說明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。