臧翔宇
(南通大學,江蘇 南通 226001)
隨著計算機網絡的發展,人們都在尋求建立高效的信息化管理系統。在高校,校園一卡通系統的發展,可以將學校的各項資源和服務管理數字化。一卡通系統的信息載體是智能卡[1],一卡通系統可應用于食堂、水控、門禁、借閱等各個方面,為學校的師生提供了方便。因此,校園一卡通是數字化校園發展的必然趨勢。
數據庫是校園一卡通系統的重要組成,它可以對一卡通系統中的各類信息進行存儲。數據庫中包含了一卡通系統中多個數據組成的表格,如師生個人信息、校園卡消費信息、掛失解掛信息等以供查詢。在一卡通系統的數據庫中,必須保證一卡通數據與相關系統數據同步,一些敏感數據如果被損壞或者丟失,將帶來很大的安全隱患。數據庫系統的安全,直接關系到一卡通系統能否正常、可靠地運行,它是一卡通系統中最核心的組成部分。
數據庫中通常存有系統運行的核心數據,數據庫在計算機領域內起著至關重要的作用。在使用數據庫時,應保證其數據的正確性和完整性[2]。數據庫的安全問題由來已久,數據庫的安全涉及到計算機應用的各個方面,如:商業機密、個人隱私、企事業單位敏感數據的保護。因此,數據庫有著迫切的安全防護需求。
傳統意義上的數據庫安全技術研究主要是密碼學技術。然而,在現代全球信息資源共享的大背景下,用戶對數據庫中數據的共享有著大量需求,僅僅是簡單的數據加密是一個很難讓人滿意的方案。除數據庫加密之外,我們還采用存取管理、安全管理等方法來實現。在數據被共享的同時,我們應確保數據庫內數據的正確性和完整性以及確保數據庫與操作系統、網絡等方面的緊密結合。從各個方面,提高數據庫的安全性。
一卡通系統中包含多個子系統,他們各自訪問數據庫。一般來說,登錄需要用戶名和密碼,而他們在大多數時候不會改變。因此,對它們的保護就顯得尤為關鍵。二次登錄法將客戶端程序分兩次登錄數據庫,它通過用戶名和密碼認證,取得相應的對數據庫的訪問權限[3]。而取得反問授權的用戶,再次通過二次登錄數據庫用戶名和口令,獲取對數據庫的操作權。
在二次登錄技術中,用戶登錄系統時,應用程序驗證用戶口令和密碼正確性的同時,數據庫會隨機自動生成一個口令密文,按照此口令計算出新的口令密文。新口令密文會將原口令自動覆蓋,此用戶口令無論對服務器端還是客戶端都是透明的。
服務器端,擁有數據庫管理員權限的用戶將口令密文生成和修改的算法寫入其中,在存儲過程中對客戶端程序調用執行??蛻舳酥?,通過一次登錄后取得口令密文,計算出新的口令,在服務器端存儲過程調用執行時,進行二次登錄。(如圖1)

圖1 二次登錄
傳統意義上的訪問控制主要有強制型訪問控制和自主型訪問控制,其基本原理是將角色層添加至用戶和訪問權之間。由于一卡通系統屬于分布式網絡體系結構,傳統上的訪問控制很難滿足。由此,我們引入基于角色的安全訪問控制。
傳統的安全訪問是將訪問權限授予用戶,只有擁有訪問權限的用戶才允許被訪問。這樣,一個系統將會有多個用戶,多個表,多個連接,多個視圖。DBA對于用戶權限的管理較為繁瑣,一旦數據庫發生改動或數據庫用戶的安全級別調整,DBA必須手動對用戶權限進行修改,各用戶對系統的訪問操作權限會發生變化,難免會出現安全漏洞。
基于角色的訪問控制是一種面向安全策略的主動訪問方式,其主要特點是安全性高、靈活性強。它主要是將創建的視圖根據其職能進行分類,用戶被指派到各個角色,通過角色對系統資源進行操作。校園一卡通系統使用oracle數據庫,數據庫實時地將權限賦予各個角色。DBA創建、修改和刪除用戶的各個權限,通過限制各用戶對oracle數據庫的活動,提高數據庫安全性能。
基于角色的訪問控制包括了一對一和一對多的關系。其管理角色與系統角色分離,管理權限與系統權限分離。下圖2表示系統角色與權限的關系。

圖2 系統角色與權限的關系
一卡通是綜合業務系統,一卡通數據庫內包含很多敏感數據。我們需要保護數據,并在數據丟失后快速找回[4]。因此,數據庫的備份和恢復是相當重要的。數據庫備份與恢復,是一種存儲管理工作[5]。在數據庫備份中,主要分為物理備份和邏輯備份。物理備份中,我們使用磁盤陣列,將實時的數據、文件、日志等存到備用磁盤上,當常用磁盤出現損壞或數據丟失時,使用被用磁盤進行數據恢復。在邏輯備份中,我們用Excel表格將數據庫內數據導出,在需要時,再導回原數據庫。
我們對數據庫備份的最終目的是為了將其恢復。如果沒有數據備份,一旦發生意外將會帶來巨大的損失。當數據庫發生硬件或軟件故障時,能否完成快速有效的恢復是極為重要的。當硬件遇到斷電或自然災難時,正在運行的事物被迫中斷,執行的程序處于中間狀態。這需要DBA用相關的軟件進行完全恢復和不完全恢復。
在一卡通數據庫的備份與恢復中,Oracle streams技術可以將數據庫內數據做聯機備份,一旦出現災難或系統損壞,可將原備份文件恢復,以防止重要數據丟失。Oracle streams通過數據庫端捕獲進程,通過數據庫日志,將發生的事件進行分析并記錄,通過傳播進程將這些記錄傳至目標隊列,從而實現與數據源同步備份。
本文根據校園一卡通系統的特點,對一卡通系統的安全需求和現代數據庫技術進行研究,深入分析校園一卡通系統的數據庫安全技術。文章討論了在校園一卡通系統中,圍繞使用二次登錄、基于角色的訪問控制機制、數據的備份和恢復的數據庫安全增強方案。
[1]張可可.基于分布式數據庫企業一卡通系統研究[D].重慶.重慶大學.2010,4.
[2]吳溥峰,張玉清.數據庫安全綜述[J].計算機工程.2006,6.
[3]張靜.一卡通系統的數據庫安全技術分析及安全增強技術研究[D].成都.電子科技大學.2008,5.
[4]成雅.基于Oracle streams的數據庫實時備份與恢復技術研究.[D]南京.南京航空航天大學.2012,3.
[5]房鐵冰.網絡備份與恢復系統的設計與實現[D].長春.吉林大學.2004,5.