高安網(wǎng)頁(yè)設(shè)計(jì):數(shù)據(jù)庫(kù)是什么怎么保證安全?數(shù)據(jù)庫(kù)該如何選擇外包的方式?
數(shù)據(jù)庫(kù)顧名思義,就是所有數(shù)據(jù)的儲(chǔ)存庫(kù),企業(yè)的數(shù)據(jù)庫(kù)涉及到企業(yè)的很多運(yùn)作揭秘,在眾多年來(lái),對(duì)于企業(yè)數(shù)據(jù)庫(kù)設(shè)計(jì)外包也一直都有爭(zhēng)議,很多***認(rèn)為應(yīng)該掌握在自己的手中,當(dāng)然,如果公司實(shí)力允許,那還是有著自己的團(tuán)隊(duì)來(lái)進(jìn)行數(shù)據(jù)庫(kù)分析會(huì)比較好,但是還有著很多的公司本身并不具備這樣的條件,那么到底要如何處理呢?這就會(huì)涉及到外包給第三方公司進(jìn)行管理分析,這就是今天小編所要討論的話題,數(shù)據(jù)庫(kù)設(shè)計(jì)外包,那么接下我們就一同來(lái)看下吧。
數(shù)據(jù)庫(kù)設(shè)計(jì)外包是怎樣進(jìn)行保密的
加密技術(shù)是保護(hù)設(shè)計(jì)外包數(shù)據(jù)庫(kù)中數(shù)據(jù)安全的一種有效方法,但如何對(duì)加密數(shù)據(jù)進(jìn)行高效查詢(xún)是一個(gè)熱點(diǎn),引起了研究界的重視。針對(duì)這個(gè)問(wèn)題,提出了一種基于DBMS 內(nèi)核的加密模式,通過(guò)安全字典和SQL語(yǔ)句的擴(kuò)展,實(shí)現(xiàn)數(shù)據(jù)的加密存儲(chǔ)和高效查詢(xún)。實(shí)驗(yàn)證明了該方法的有效性和可行性。
1 、引言
隨著電子商務(wù)和電子政務(wù)的迅速發(fā)展,網(wǎng)絡(luò)中的數(shù)據(jù)呈爆炸式增長(zhǎng),數(shù)據(jù)規(guī)模越來(lái)越大,涉及的技術(shù)越來(lái)越復(fù)雜。在這種運(yùn)行模式中,數(shù)據(jù)存儲(chǔ)在非可信的第三方服務(wù)器中,**的問(wèn)題就是如何保證數(shù)據(jù)的安全性,特別是如何防止內(nèi)部人員(如:數(shù)據(jù)庫(kù)管理員)泄露、丟失、甚至破壞數(shù)據(jù)。而利用加密技術(shù)來(lái)保護(hù)數(shù)據(jù)的安全性是一種非常理想的選擇,即使入侵者可以利用操作系統(tǒng)漏洞或者繞過(guò)訪問(wèn)控制機(jī)制非法竊取數(shù)據(jù)文件,但是沒(méi)有密鑰進(jìn)行解密,所獲取的信息是不可讀的。
2 、相關(guān)工作
一些工作人員對(duì)數(shù)據(jù)庫(kù)加密進(jìn)行了研究。同態(tài)加密的思想是加密后的數(shù)據(jù)仍然保持原明文數(shù)據(jù)的有序性,從而可以實(shí)現(xiàn)不用解密數(shù)據(jù)而對(duì)加密數(shù)據(jù)直接進(jìn)行訪問(wèn)和算術(shù)運(yùn)算。然而,從安全性角度來(lái)看,這種加密方法本身具有其固有的缺陷,因?yàn)樗竺芪臄?shù)據(jù)仍然保持有序性,這與安全的加密算法是相悖的。在數(shù)據(jù)庫(kù)作為一種服務(wù)(Database As a Service)的背景下,提出了對(duì)加密數(shù)據(jù)查詢(xún)的方法。存儲(chǔ)時(shí),除了對(duì)關(guān)系表中的元組加密外,還增加一個(gè)索引字段,用來(lái)存儲(chǔ)加密字段的分桶號(hào)(Bucket ID),桶號(hào)表示明文數(shù)據(jù)值落在某段區(qū)間內(nèi)。
3 、數(shù)據(jù)加密的體系結(jié)構(gòu)
數(shù)據(jù)庫(kù)加密,大致可以分為兩種方式:DBMS 外部加密和DBMS 內(nèi)部加密。DBMS 外部加密,一般選擇在應(yīng)用程序和操作系統(tǒng),通過(guò)調(diào)用加/解密函數(shù)來(lái)完成加密數(shù)據(jù)的存儲(chǔ)和訪問(wèn)。例如,在操作系統(tǒng)層次實(shí)現(xiàn)加密時(shí),可以利用它管理文件系統(tǒng)的功能,直接對(duì)存儲(chǔ)數(shù)據(jù)的文件進(jìn)行加密。在操作系統(tǒng)中加密時(shí),加密的粒度是基于文件,對(duì)應(yīng)到數(shù)據(jù)庫(kù)中的表或者整個(gè)數(shù)據(jù)庫(kù),這種加密粒度是非常粗糙,最直接的影響是,加/解密的工作相當(dāng)大,極大地降低系統(tǒng)性能。DBMS 內(nèi)部加密,一般選擇在數(shù)據(jù)物理存取之前進(jìn)行加/解密操作。
在設(shè)計(jì)數(shù)據(jù)加密的體系結(jié)構(gòu)時(shí),采用基于DBMS 內(nèi)核層加密方法,加密的粒度為表級(jí),如圖1 所示。其中系統(tǒng)表和加解密組件是新增的。設(shè)計(jì)思想是:用戶(hù)在創(chuàng)建表的時(shí)候,可以指定是否對(duì)其加密存儲(chǔ),如果需要加密,則在系統(tǒng)表的安全字典中插入一條相應(yīng)的記錄。在DBMS 將數(shù)據(jù)寫(xiě)到磁盤(pán)上時(shí),查詢(xún)系統(tǒng)表的安全字典,如果需要加密,則首先對(duì)數(shù)據(jù)加密,再將其寫(xiě)出到外存。當(dāng)DBMS 從磁盤(pán)中讀入數(shù)據(jù)塊時(shí),如果數(shù)據(jù)塊是加密過(guò)的,則加/解密模塊查詢(xún)安全字典,取出相應(yīng)的密鑰解密數(shù)據(jù)塊。