臧翔宇
(南通大學(xué),江蘇 南通 226001)
隨著計算機網(wǎng)絡(luò)的發(fā)展,人們都在尋求建立高效的信息化管理系統(tǒng)。在高校,校園一卡通系統(tǒng)的發(fā)展,可以將學(xué)校的各項資源和服務(wù)管理數(shù)字化。一卡通系統(tǒng)的信息載體是智能卡[1],一卡通系統(tǒng)可應(yīng)用于食堂、水控、門禁、借閱等各個方面,為學(xué)校的師生提供了方便。因此,校園一卡通是數(shù)字化校園發(fā)展的必然趨勢。
數(shù)據(jù)庫是校園一卡通系統(tǒng)的重要組成,它可以對一卡通系統(tǒng)中的各類信息進行存儲。數(shù)據(jù)庫中包含了一卡通系統(tǒng)中多個數(shù)據(jù)組成的表格,如師生個人信息、校園卡消費信息、掛失解掛信息等以供查詢。在一卡通系統(tǒng)的數(shù)據(jù)庫中,必須保證一卡通數(shù)據(jù)與相關(guān)系統(tǒng)數(shù)據(jù)同步,一些敏感數(shù)據(jù)如果被損壞或者丟失,將帶來很大的安全隱患。數(shù)據(jù)庫系統(tǒng)的安全,直接關(guān)系到一卡通系統(tǒng)能否正常、可靠地運行,它是一卡通系統(tǒng)中最核心的組成部分。
數(shù)據(jù)庫中通常存有系統(tǒng)運行的核心數(shù)據(jù),數(shù)據(jù)庫在計算機領(lǐng)域內(nèi)起著至關(guān)重要的作用。在使用數(shù)據(jù)庫時,應(yīng)保證其數(shù)據(jù)的正確性和完整性[2]。數(shù)據(jù)庫的安全問題由來已久,數(shù)據(jù)庫的安全涉及到計算機應(yīng)用的各個方面,如:商業(yè)機密、個人隱私、企事業(yè)單位敏感數(shù)據(jù)的保護。因此,數(shù)據(jù)庫有著迫切的安全防護需求。
傳統(tǒng)意義上的數(shù)據(jù)庫安全技術(shù)研究主要是密碼學(xué)技術(shù)。然而,在現(xiàn)代全球信息資源共享的大背景下,用戶對數(shù)據(jù)庫中數(shù)據(jù)的共享有著大量需求,僅僅是簡單的數(shù)據(jù)加密是一個很難讓人滿意的方案。除數(shù)據(jù)庫加密之外,我們還采用存取管理、安全管理等方法來實現(xiàn)。在數(shù)據(jù)被共享的同時,我們應(yīng)確保數(shù)據(jù)庫內(nèi)數(shù)據(jù)的正確性和完整性以及確保數(shù)據(jù)庫與操作系統(tǒng)、網(wǎng)絡(luò)等方面的緊密結(jié)合。從各個方面,提高數(shù)據(jù)庫的安全性。
一卡通系統(tǒng)中包含多個子系統(tǒng),他們各自訪問數(shù)據(jù)庫。一般來說,登錄需要用戶名和密碼,而他們在大多數(shù)時候不會改變。因此,對它們的保護就顯得尤為關(guān)鍵。二次登錄法將客戶端程序分兩次登錄數(shù)據(jù)庫,它通過用戶名和密碼認證,取得相應(yīng)的對數(shù)據(jù)庫的訪問權(quán)限[3]。而取得反問授權(quán)的用戶,再次通過二次登錄數(shù)據(jù)庫用戶名和口令,獲取對數(shù)據(jù)庫的操作權(quán)。
在二次登錄技術(shù)中,用戶登錄系統(tǒng)時,應(yīng)用程序驗證用戶口令和密碼正確性的同時,數(shù)據(jù)庫會隨機自動生成一個口令密文,按照此口令計算出新的口令密文。新口令密文會將原口令自動覆蓋,此用戶口令無論對服務(wù)器端還是客戶端都是透明的。
服務(wù)器端,擁有數(shù)據(jù)庫管理員權(quán)限的用戶將口令密文生成和修改的算法寫入其中,在存儲過程中對客戶端程序調(diào)用執(zhí)行??蛻舳酥?,通過一次登錄后取得口令密文,計算出新的口令,在服務(wù)器端存儲過程調(diào)用執(zhí)行時,進行二次登錄。(如圖1)
圖1 二次登錄
傳統(tǒng)意義上的訪問控制主要有強制型訪問控制和自主型訪問控制,其基本原理是將角色層添加至用戶和訪問權(quán)之間。由于一卡通系統(tǒng)屬于分布式網(wǎng)絡(luò)體系結(jié)構(gòu),傳統(tǒng)上的訪問控制很難滿足。由此,我們引入基于角色的安全訪問控制。
傳統(tǒng)的安全訪問是將訪問權(quán)限授予用戶,只有擁有訪問權(quán)限的用戶才允許被訪問。這樣,一個系統(tǒng)將會有多個用戶,多個表,多個連接,多個視圖。DBA對于用戶權(quán)限的管理較為繁瑣,一旦數(shù)據(jù)庫發(fā)生改動或數(shù)據(jù)庫用戶的安全級別調(diào)整,DBA必須手動對用戶權(quán)限進行修改,各用戶對系統(tǒng)的訪問操作權(quán)限會發(fā)生變化,難免會出現(xiàn)安全漏洞。
基于角色的訪問控制是一種面向安全策略的主動訪問方式,其主要特點是安全性高、靈活性強。它主要是將創(chuàng)建的視圖根據(jù)其職能進行分類,用戶被指派到各個角色,通過角色對系統(tǒng)資源進行操作。校園一卡通系統(tǒng)使用oracle數(shù)據(jù)庫,數(shù)據(jù)庫實時地將權(quán)限賦予各個角色。DBA創(chuàng)建、修改和刪除用戶的各個權(quán)限,通過限制各用戶對oracle數(shù)據(jù)庫的活動,提高數(shù)據(jù)庫安全性能。
基于角色的訪問控制包括了一對一和一對多的關(guān)系。其管理角色與系統(tǒng)角色分離,管理權(quán)限與系統(tǒng)權(quán)限分離。下圖2表示系統(tǒng)角色與權(quán)限的關(guān)系。
圖2 系統(tǒng)角色與權(quán)限的關(guān)系
一卡通是綜合業(yè)務(wù)系統(tǒng),一卡通數(shù)據(jù)庫內(nèi)包含很多敏感數(shù)據(jù)。我們需要保護數(shù)據(jù),并在數(shù)據(jù)丟失后快速找回[4]。因此,數(shù)據(jù)庫的備份和恢復(fù)是相當(dāng)重要的。數(shù)據(jù)庫備份與恢復(fù),是一種存儲管理工作[5]。在數(shù)據(jù)庫備份中,主要分為物理備份和邏輯備份。物理備份中,我們使用磁盤陣列,將實時的數(shù)據(jù)、文件、日志等存到備用磁盤上,當(dāng)常用磁盤出現(xiàn)損壞或數(shù)據(jù)丟失時,使用被用磁盤進行數(shù)據(jù)恢復(fù)。在邏輯備份中,我們用Excel表格將數(shù)據(jù)庫內(nèi)數(shù)據(jù)導(dǎo)出,在需要時,再導(dǎo)回原數(shù)據(jù)庫。
我們對數(shù)據(jù)庫備份的最終目的是為了將其恢復(fù)。如果沒有數(shù)據(jù)備份,一旦發(fā)生意外將會帶來巨大的損失。當(dāng)數(shù)據(jù)庫發(fā)生硬件或軟件故障時,能否完成快速有效的恢復(fù)是極為重要的。當(dāng)硬件遇到斷電或自然災(zāi)難時,正在運行的事物被迫中斷,執(zhí)行的程序處于中間狀態(tài)。這需要DBA用相關(guān)的軟件進行完全恢復(fù)和不完全恢復(fù)。
在一卡通數(shù)據(jù)庫的備份與恢復(fù)中,Oracle streams技術(shù)可以將數(shù)據(jù)庫內(nèi)數(shù)據(jù)做聯(lián)機備份,一旦出現(xiàn)災(zāi)難或系統(tǒng)損壞,可將原備份文件恢復(fù),以防止重要數(shù)據(jù)丟失。Oracle streams通過數(shù)據(jù)庫端捕獲進程,通過數(shù)據(jù)庫日志,將發(fā)生的事件進行分析并記錄,通過傳播進程將這些記錄傳至目標隊列,從而實現(xiàn)與數(shù)據(jù)源同步備份。
本文根據(jù)校園一卡通系統(tǒng)的特點,對一卡通系統(tǒng)的安全需求和現(xiàn)代數(shù)據(jù)庫技術(shù)進行研究,深入分析校園一卡通系統(tǒng)的數(shù)據(jù)庫安全技術(shù)。文章討論了在校園一卡通系統(tǒng)中,圍繞使用二次登錄、基于角色的訪問控制機制、數(shù)據(jù)的備份和恢復(fù)的數(shù)據(jù)庫安全增強方案。
[1]張可可.基于分布式數(shù)據(jù)庫企業(yè)一卡通系統(tǒng)研究[D].重慶.重慶大學(xué).2010,4.
[2]吳溥峰,張玉清.數(shù)據(jù)庫安全綜述[J].計算機工程.2006,6.
[3]張靜.一卡通系統(tǒng)的數(shù)據(jù)庫安全技術(shù)分析及安全增強技術(shù)研究[D].成都.電子科技大學(xué).2008,5.
[4]成雅.基于Oracle streams的數(shù)據(jù)庫實時備份與恢復(fù)技術(shù)研究.[D]南京.南京航空航天大學(xué).2012,3.
[5]房鐵冰.網(wǎng)絡(luò)備份與恢復(fù)系統(tǒng)的設(shè)計與實現(xiàn)[D].長春.吉林大學(xué).2004,5.