1.背景介紹
隨著移動(dòng)寬帶、云計(jì)算等信息技術(shù)的發(fā)展,電子商務(wù)、電子政務(wù)等信息化應(yīng)用已深入社會(huì)生活的各個(gè)方面,業(yè)務(wù)系統(tǒng)持續(xù)可靠運(yùn)行成為信息系統(tǒng)運(yùn)維與建設(shè)的一個(gè)重要指標(biāo),保持業(yè)務(wù)數(shù)據(jù)的可用性是必須考慮的重要方面。業(yè)界對(duì)數(shù)據(jù)庫和數(shù)據(jù)備份技術(shù)進(jìn)行了廣泛研究,已有大量軟件廠商針對(duì)數(shù)據(jù)庫的備份恢復(fù)需求開發(fā)了專門的軟件產(chǎn)品。以oracle數(shù)據(jù)庫為例,存在各種備份恢復(fù)軟件,如Veritas公司的VeritasNetBackup、Legato公司的LegatoNetworkerModuleforOracle等。數(shù)據(jù)備份之后為實(shí)現(xiàn)容災(zāi)備份需要建設(shè)同城或異地的容災(zāi)備份中心,但許多小規(guī)模企業(yè)、初創(chuàng)公司或基層單位在信息化建設(shè)方面投入有限,對(duì)于短期內(nèi)無法看見成效的災(zāi)難恢復(fù)系統(tǒng)基本沒有預(yù)算,其信息系統(tǒng)不具備容災(zāi)備份能力。云計(jì)算技術(shù)具有資源虛擬化、彈性分配和多租戶共享的特點(diǎn),計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)和軟件等資源可以作為服務(wù)對(duì)第三方提供,因而還具有門檻低、接入方便、能夠有效減少客戶投入的特點(diǎn)。采用以云計(jì)算為支撐的云存儲(chǔ)服務(wù)為第三方提供災(zāi)難備份成為數(shù)據(jù)容災(zāi)領(lǐng)域的一個(gè)熱點(diǎn)。云存儲(chǔ)服務(wù)需要將數(shù)據(jù)上傳到云中,物理存儲(chǔ)位置已脫離用戶網(wǎng)絡(luò)范圍,用戶無法再對(duì)數(shù)據(jù)的物理存儲(chǔ)層進(jìn)行全面控制和管理,使得云用戶對(duì)數(shù)據(jù)的安全可控存在質(zhì)疑。多項(xiàng)研究顯示,云存儲(chǔ)服務(wù)的安全性和云計(jì)算服務(wù)的安全性已成為制約云計(jì)算發(fā)展的關(guān)鍵要素之一,已經(jīng)影響到用戶是否采用這項(xiàng)技術(shù)。2008年AmazonS3云存儲(chǔ)系統(tǒng)停機(jī)8小時(shí),導(dǎo)致云服務(wù)失效并丟失部分客戶的資料;2011年4月SONY公司系統(tǒng)因安全問題導(dǎo)致用戶數(shù)據(jù)外漏。這些事件敲響了云計(jì)算與云存儲(chǔ)環(huán)境的安全性問題的警鐘,限制了云服務(wù)模式的推廣和應(yīng)用。以第三方提供災(zāi)備服務(wù)是一種新的運(yùn)營模式,在處理災(zāi)備數(shù)據(jù)時(shí)產(chǎn)生了新的安全要求。
云環(huán)境下數(shù)據(jù)存儲(chǔ)于用戶不完全可控的環(huán)境,采用數(shù)據(jù)加密是確保數(shù)據(jù)安全的有效方法。由于云存儲(chǔ)服務(wù)商的不可信,數(shù)據(jù)加/解密過程不應(yīng)在云端完成而應(yīng)在用戶端完成,這樣即便云端數(shù)據(jù)不幸泄露或丟失,也難以被人破解。采用云存儲(chǔ)服務(wù)實(shí)現(xiàn)數(shù)據(jù)庫實(shí)時(shí)備份需要設(shè)計(jì)一套加密備份和恢復(fù)模塊,實(shí)現(xiàn)數(shù)據(jù)在云端的加密存儲(chǔ),實(shí)現(xiàn)備份數(shù)據(jù)可用性的高效檢測。
2.總體技術(shù)方案
用云存儲(chǔ)的數(shù)據(jù)庫實(shí)時(shí)備份系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,用戶數(shù)據(jù)庫數(shù)據(jù)通過網(wǎng)絡(luò)備份到云存儲(chǔ)服務(wù)中心,由云存儲(chǔ)服務(wù)中心提供的數(shù)據(jù)庫服務(wù)提供備份數(shù)據(jù)的管理。云存儲(chǔ)服務(wù)提供彈性的用戶存儲(chǔ)空間、網(wǎng)絡(luò)、計(jì)算等性能管理,利用云計(jì)算自身的分布式和多機(jī)冗余方式提供數(shù)據(jù)存儲(chǔ)的可靠性。采用云備份提高了系統(tǒng)資源的使用效率,降低了容災(zāi)備份的建設(shè)和運(yùn)維成本。
圖1 數(shù)據(jù)庫云備份的網(wǎng)絡(luò)結(jié)構(gòu)
為解決云存儲(chǔ)帶來的數(shù)據(jù)安全問題,本文設(shè)計(jì)了如圖2所示的數(shù)據(jù)明文和密文環(huán)境加密方案。用戶的源數(shù)據(jù)庫為明文,云端備份數(shù)據(jù)庫為密文,通過加密備份和恢復(fù)模塊實(shí)現(xiàn)數(shù)據(jù)庫記錄的加密和解密,加解密密鑰由該模塊自動(dòng)管理。
圖2 數(shù)據(jù)庫明密文環(huán)境
數(shù)據(jù)庫是典型的結(jié)構(gòu)化數(shù)據(jù),需結(jié)合數(shù)據(jù)特點(diǎn),對(duì)加密算法、粒度以及模式進(jìn)行合理選擇。對(duì)數(shù)據(jù)庫進(jìn)行加密一般要求做到如下幾個(gè)方面:
1)加密有足夠的強(qiáng)度,確保數(shù)據(jù)庫加密后密文數(shù)據(jù)在盡量長的時(shí)間內(nèi)不可破譯;
2)密文數(shù)據(jù)的存儲(chǔ)空間與明文數(shù)據(jù)的存儲(chǔ)空間相比不應(yīng)明顯增大;
3)數(shù)據(jù)加解密性能要高,尤其是數(shù)據(jù)解密速度,應(yīng)不能顯著影響原有應(yīng)用系統(tǒng)性能,降低用戶體驗(yàn);
4)數(shù)據(jù)庫系統(tǒng)對(duì)密文數(shù)據(jù)具有靈活的用戶授權(quán)管理機(jī)制;
5)密鑰管理機(jī)制既能提供密鑰生成、存儲(chǔ)、分配和銷毀的安全管理,又能保證用戶能夠方便使用。
基于數(shù)據(jù)文件、基于表記錄和基于列字段的加密方式是常見的數(shù)據(jù)庫加密技術(shù),各具特點(diǎn)。基于文件的數(shù)據(jù)庫加密技術(shù)采用整個(gè)數(shù)據(jù)庫文件作為加解密操作單元,用戶就算只是需要查看某一條記錄,他也必須將整個(gè)數(shù)據(jù)庫文件解密,這與數(shù)據(jù)庫權(quán)限分配管理相沖突,實(shí)際中使用較少。基于記錄的數(shù)據(jù)庫加密技術(shù)以數(shù)據(jù)庫的記錄作為加解密操作單元,可以對(duì)一個(gè)完整記錄項(xiàng)進(jìn)行加密和解密,但無法實(shí)現(xiàn)對(duì)一個(gè)記錄中單個(gè)字段進(jìn)行加解密。基于字段的數(shù)據(jù)庫加密技術(shù)以字段作為加解密操作單元,具有最小的加密粒度,數(shù)據(jù)加密的靈活性和適應(yīng)性非常好。數(shù)據(jù)庫對(duì)每個(gè)字段可以采用不同密鑰的加密方式,這樣需要的密鑰數(shù)為字段個(gè)數(shù)和記錄個(gè)數(shù)的乘積,由于密鑰量龐大,實(shí)際中難以實(shí)現(xiàn)有效管理。
本文針對(duì)數(shù)據(jù)庫實(shí)時(shí)備份的需求即源端和云端的數(shù)據(jù)在記錄級(jí)必須保持實(shí)時(shí)同步,選擇采用記錄級(jí)數(shù)據(jù)加密。由于云存儲(chǔ)方式下又適合采用數(shù)據(jù)庫系統(tǒng)外部加密的方式,因此,本文采用系統(tǒng)外部加密的數(shù)據(jù)庫記錄級(jí)加密方案。
2.1 加密備份和恢復(fù)模塊總體結(jié)構(gòu)
加密備份和恢復(fù)模塊分為以下幾個(gè)部分:1)密鑰管理部分。負(fù)責(zé)產(chǎn)生、存儲(chǔ)和定期更新密鑰。2)加解密部分。負(fù)責(zé)使用密鑰對(duì)數(shù)據(jù)記錄進(jìn)行加密、完整性計(jì)算與驗(yàn)證。3)備份部分。對(duì)數(shù)據(jù)庫的增量數(shù)據(jù)進(jìn)行檢測或按照全量備份的策略進(jìn)行所需數(shù)據(jù)的備份操作,調(diào)用加解密部分進(jìn)行加密。4)恢復(fù)部分。對(duì)云備份數(shù)據(jù)庫按照恢復(fù)策略進(jìn)行數(shù)據(jù)恢復(fù),調(diào)用加解密部分進(jìn)行解密。5)可用性檢驗(yàn)部分。對(duì)云備份數(shù)據(jù)庫進(jìn)行隨機(jī)數(shù)據(jù)記錄檢索,解密后與源端記錄進(jìn)行比較,檢查備份數(shù)據(jù)的可用性。
2.2 密鑰管理功能
源數(shù)據(jù)庫管理員對(duì)數(shù)據(jù)庫記錄加密后實(shí)時(shí)備份到云端的備份加密數(shù)據(jù)庫,每個(gè)源庫使用一個(gè)數(shù)據(jù)加密密鑰(k)和初始向量(IV)。k和IV定期進(jìn)行更換,更換周期與備份策略同步。為了保證k和IV的安全,在智能密碼鑰匙USB-Key中生成和存儲(chǔ)k和IV。USB-Key是一種經(jīng)過國家密碼管理機(jī)構(gòu)安全認(rèn)定的專用密碼硬件,具備加密計(jì)算、隨機(jī)數(shù)生成、密鑰安全存儲(chǔ)、數(shù)字簽名等多種功能。每個(gè)USB-Key自主生成一對(duì)RSA密鑰為主密鑰,主密鑰用于加密k和IV。利用USBKey的隨機(jī)數(shù)生成功能,截取兩端256位隨機(jī)數(shù)為密鑰k和初始向量IV。當(dāng)前有效的k和IV存放于USB-Key的安全存儲(chǔ)區(qū)內(nèi),其他歷史k和IV經(jīng)過RSA加密后以文件方式存放。
2.3 加密功能
加密算法是數(shù)據(jù)加密的核心,加密算法產(chǎn)生的密文應(yīng)具備頻率平衡、隨機(jī)無重碼的特征,攻擊者難以通過對(duì)密文頻率、重碼等特征進(jìn)行分析破譯密文。加密算法通常分為對(duì)稱算法和非對(duì)稱算法兩種,在對(duì)數(shù)據(jù)庫數(shù)據(jù)進(jìn)行加密時(shí),其性能要求使得對(duì)稱加密算法應(yīng)用更為廣泛。序列密碼和分組密碼是兩類主要對(duì)稱算法,序列密碼在運(yùn)算速度上較快,但密鑰序列不能重復(fù),密鑰的生成和管理限制了它在實(shí)際中的使用。分組密碼是在明文分組和密文分組上進(jìn)行運(yùn)算,常見的加密算法有DES、3DES和AES等。分組密碼算法主要有4種模式,分別是電子密碼本(ECB)、密碼分組鏈接模式(CBC)、加密反饋(CFM)和輸出反饋模式(OFM)。數(shù)據(jù)庫中的記錄具有相同結(jié)構(gòu),就有可能存在大量相同內(nèi)容。例如,人口屬性中有性別和籍貫,大量記錄就會(huì)導(dǎo)致相同的性別、相同的籍貫。
加密后的數(shù)據(jù)記錄應(yīng)該為不同密文,否則相同密文信息容易泄露明文信息,會(huì)有助于針對(duì)密鑰的攻擊,因此算法設(shè)計(jì)時(shí)應(yīng)該避免記錄內(nèi)字段特性的信息隱藏。此外還要選擇合適的加密數(shù)據(jù)封裝方式和合適的數(shù)據(jù)加密方法。本方案以數(shù)據(jù)記錄為加密單元,采用AES-OFM加密模式。
完整性校驗(yàn)主要分為帶認(rèn)證和不帶認(rèn)證兩種。云端數(shù)據(jù)庫插入數(shù)據(jù)記錄時(shí)需要對(duì)數(shù)據(jù)記錄的完整性進(jìn)行檢驗(yàn),本方案采用哈希算法實(shí)現(xiàn)。常見的哈希算法有MD5和SHA-1等。數(shù)據(jù)加密后的完整性需要通過檢驗(yàn)字段來校驗(yàn),并選擇性能高的算法來實(shí)現(xiàn),本方案采用MD5算法。加密數(shù)據(jù)記錄的封裝方式為記錄主鍵不加密,后續(xù)數(shù)據(jù)全部加密。加密后的數(shù)據(jù)記錄由3部分構(gòu)成:記錄主鍵、加密數(shù)據(jù)記錄和完整性校驗(yàn)數(shù)據(jù)。加密算法采用AES-OFM,加密的范圍是主鍵之外的數(shù)據(jù)記錄的所有值。完整性校驗(yàn)采用MD5,完整性校驗(yàn)范圍為主鍵和加密數(shù)據(jù)記錄。
2.4 備份和恢復(fù)功能
數(shù)據(jù)備份有全量備份和增量兩種方式。全量備份方式是某時(shí)刻下通過導(dǎo)出工具對(duì)全庫進(jìn)行備份快照,備份工具對(duì)數(shù)據(jù)庫備份快照進(jìn)行全庫、表和記錄級(jí)的掃描,加密并傳輸?shù)皆贫耍瑱z驗(yàn)數(shù)據(jù)的完整性后增加到云端數(shù)據(jù)庫中。
增量備份過程與全量備份過程相似,只是增量備份的數(shù)據(jù)記錄的處理觸發(fā)是通過監(jiān)視數(shù)據(jù)庫的數(shù)據(jù)變動(dòng)日志來實(shí)現(xiàn)。當(dāng)數(shù)據(jù)庫對(duì)記錄進(jìn)行增、刪、改等操作時(shí),每個(gè)操作的命令和參數(shù)被記錄,并觸發(fā)一次備份模塊的增量備份操作,操作命令和參數(shù)通過加密處理轉(zhuǎn)變?yōu)閷?duì)云端備份數(shù)據(jù)庫的一次遠(yuǎn)端操作,保持了源端和云端數(shù)據(jù)操作的一致性。
數(shù)據(jù)的恢復(fù)過程是備份的逆過程即數(shù)據(jù)從云端經(jīng)過解密后恢復(fù)到源端。
2.5 可用性檢驗(yàn)功能
備份數(shù)據(jù)的可用性是指備份在云端的數(shù)據(jù)是否與源端數(shù)據(jù)保持一致,若保持一致,則認(rèn)為備份數(shù)據(jù)是可用的。在數(shù)據(jù)備份過程中,數(shù)據(jù)加密后存儲(chǔ)在云端,由于對(duì)云端服務(wù)的可靠性缺少相關(guān)評(píng)價(jià)標(biāo)準(zhǔn),因而需要設(shè)計(jì)一種方案能夠檢驗(yàn)數(shù)據(jù)的有效性。對(duì)云端數(shù)據(jù)記錄進(jìn)行遍歷,并逐一和源端數(shù)據(jù)對(duì)比檢查的方案代價(jià)高昂,需要占用源端資源、網(wǎng)絡(luò)資源和云端資源。可以通過定期隨機(jī)抽取數(shù)據(jù)記錄的方式代替全檢,若出現(xiàn)不一致的數(shù)據(jù)記錄,則縮短定期檢查的時(shí)間間隔;若長期抽檢記錄都能保持一致,則可以擴(kuò)大定期檢查的時(shí)間間隔。一個(gè)具體的記錄可以通過三元素(數(shù)據(jù)文件位置、表位置、記錄位置)來明確。方案具體描述如下:
1)確認(rèn)抽檢時(shí)間間隔為T,并記錄累計(jì)相符記錄數(shù)為n,當(dāng)時(shí)間間隔達(dá)到T時(shí),開始一次新的抽查。
2)隨機(jī)生成抽檢記錄的位置。假設(shè)云中備份庫文件總數(shù)為sum1,指定庫文件的數(shù)據(jù)表總數(shù)為sum2,指定表的記錄總數(shù)為sum3。生成3個(gè)隨機(jī)數(shù)r1,r2,r3,r1對(duì)sum1求模得f_no,r2對(duì)sum2求模得t_no,r3對(duì)sum3求模得r_no。得到的(f_no,t_no,r_no)標(biāo)記了一條隨機(jī)產(chǎn)生的抽檢記錄的位置。
3)在云端獲得(f_no,t_no,r_no)位置的記錄值,返回記錄主鍵和加密數(shù)據(jù)記錄。通過解密模塊解密得到記錄主鍵和數(shù)據(jù)記錄(key_cloud,rec_cloud)。
4)在源端獲得(f_no,t_no,r_no)位置的記錄值(key,rec)。
5)比對(duì)云端(key_cloud,rec_cloud)和源端(key,rec)。若兩者一致,則n增加1,且判斷n是否大過一個(gè)門限,若大過門限,則將T增大一倍。若兩者不一致,則n清0,并且將T縮小一半。完成一次抽檢。
3.結(jié)束語
中小企業(yè)存在對(duì)信息系統(tǒng)容災(zāi)備份的迫切需求,但苦于成本效益因素的影響,此需求無法得到廣泛的滿足。云存儲(chǔ)的出現(xiàn)降低了容災(zāi)中心的成本,但安全性是首先需要解決的問題。本文提出的數(shù)據(jù)庫記錄級(jí)加密實(shí)時(shí)備份方案能夠?qū)?shù)據(jù)庫記錄加密后存儲(chǔ)到云端,并且由于密鑰由源端用戶自主管理,云端無法知曉和破解,確保了數(shù)據(jù)的安全性。同時(shí)對(duì)云端備份數(shù)據(jù)的可用性提供了一種低成本的隨機(jī)數(shù)據(jù)可用性檢驗(yàn)方法,為云端備份數(shù)據(jù)的可用性提供了保障。本文提出的是一種節(jié)約成本的云容災(zāi)備份實(shí)現(xiàn)方案,可廣泛在中小企業(yè)中推廣使用。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標(biāo)題:基于云存儲(chǔ)的數(shù)據(jù)庫安全備份系統(tǒng)
本文網(wǎng)址:http://m.hanmeixuan.com/html/consultation/10839512912.html