用戶二次登錄法在一卡通系統數據庫中的應用
文章出處:http://www.jrzgy.com 作者: 人氣: 發表時間:2011年09月15日
摘 要:一卡通系統建立在校園網的基礎上,系統涉及到一些敏感數據,許多關鍵的業務系統運行在數據庫平臺上,如果數據庫安全無法保證,其上的應用系統也會被非法訪問或破壞,本文根據系統在數據庫安全方面的基本要求,對一卡通系統在數據庫安全方面的基本要求作了分析,從用戶口令認證的安全層面考慮提出了數據庫用戶二次登錄法來保障一卡通系統數據庫的安全,此方法可以有效防止系統應用中可能存在的對數據庫的各種攻擊、破壞和欺詐,使校園一卡通系統可以在開放的網絡環境中安全地運行。
1、研究背景和意義
隨著數字化校園的興起和應用的深入,如今的校園一卡通系統規模越來越大,功能越來越復雜,在系統實際的應用中存在諸多問題,其中,如何確保整個系統的安全使用是關鍵所在。只有妥善地解決了校園一卡通系統的安全問題,才能促進其進步和健康發展。
由于一卡通系統建立在校園網的基礎上,系統涉及到一些收費、消費數據和基本信息等一些敏感數據,許多關鍵的業務系統運行在數據庫平臺上,數據庫系統中的數據為眾多用戶所共享,如果數據庫安全無法保證,其上的應用系統也會被非法訪問或破壞,這就對校園一卡通系統的安全性特別是數據庫的安全提出了更高的要求,如何有效防止應用中可能存在的各種攻擊、破壞和欺詐,使校園一卡通的數據庫系統可以在開放的網絡環境中安全地運行,實現一套完整有效的數據庫安全控制方案就成為校園一卡通系統中的重中之重。
本文的重點在于結合學校一卡通系統的實際業務流程,針對一卡通系統的特點,通過對一卡通系統數據庫安全要求進行分析,提出了一個切實有效的數據庫安全技術方法即數據庫用戶二次登錄法。此方法可以有效防止系統應用中可能存在的對數據庫的各種攻擊、破壞和欺詐,使校園一卡通系統可以在開放的網絡環境中安全地運行。
2、一卡通系統的數據庫安全的基本要求
1).物理上的數據庫完整性:一卡通系統中存有很多消費和收費的業務數據,并且,機房計費系統和綜合消費系統(餐飲消費)對數據庫服務器的不可間斷性也提出了很高的要求。
2).訪問控制:一卡通系統下分多個子系統,各個子系統擁有各自的數據,對數據庫中對象的權限要求并不一樣,越權訪問會帶來一定的隱患,并造成管理上的混亂。
3).可審計性:一卡通系統數據庫中包含很多消費和收費的敏感數據,對這些子系統,我們必須能夠追蹤到誰訪問或修改過子系統中的數據。在這一點上,除了數據庫本身的日志之外,一卡通系統也要記錄系統日志,使審計更加準確。
4).用戶認證:一卡通系統數據庫安全設計,由于一卡通系統在安全方面有比較高的要求,因此我們必須確保每個用戶被正確地識別,既便于審計追蹤,也為了限制對特定的數據進行訪問。
5).可用性:一卡通系統中的很多子系統,如機房計費系統和綜合消費系統對數據庫服務器的可用性提出了很高的要求,用戶應該隨時可以訪問數據庫以及所有被批準訪問的數據。
3、一卡通系統數據庫用戶二次登錄法
3.1 技術需求分析
在一卡通應用系統中,當各個子系統的客戶端應用程序訪問數據庫服務器的時候,都需要提供一個合法的數據庫用戶名和訪問口令組合,通常來說,訪問數據庫的用戶名不需改變,因此如何保護用戶口令就成了我們非常關心的內容。
首先要明確的一點是,我們這里所說的維護用戶口令指的是第2條中的用戶口令。
常見的數據庫用戶令處理方法有如下三種:
(1)把用戶名和口令直接寫到程序語句中。
(2)將用戶名和口令加密后保存在客戶端程序的某一配置文件或注冊表中。
(3)用戶二次登錄的方法:客戶端程序先用一個權限極低的用戶登錄數據庫,從口令密文表中取得正常工作用戶的口令密文,然后用正常工作用戶名和根據密文計算出來的口令再次登錄數據庫。
上述幾種保護口令的方法不是太簡單死板就是需要數據庫管理員的干預,通過分析常見方法的優缺點,我們在一卡通系統中使用了一種新的用戶二次登錄法,自動維護數據庫用戶的口令,更加安全和實用。
3.2 設計方案
結合上述二次登錄技術,一卡通系統中提出的自動維護數據庫用戶口令的方法如下:
首先給定一個維護周期,數據庫到期隨機或者根據周期信息自動生成一個口令密文.接著從口令密文中計算出新的用戶口令,然后自動重新設置用戶口令以及數據庫中相關的口令密文。
所有操作無需數據庫管理員的干預,對客戶端程序也毫無影響,此時用戶口令對管理員和客戶端應用程序來說都是透明的。
自動維護用戶口令包含數據庫服務器端和客戶端的實現,分述如下:在服務器端可以將生成口令密文和修改用戶口令的算法寫在存儲過程中,這個存儲過程可以由作業周期性地調度,也可以由客戶端程序在維護周期內首次運行時調用執行。
客戶端要完成的工作根據服務器端的存儲過程調度的方法的不同而稍有不同。如果服務器端的存儲過程由作業調度執行,那么客戶端只需要在第一次登錄數據庫時取得用戶口令的密文,然后計算出口令并進行第二次登錄。
為了增加口令被破譯的難度,在這里使用了多重加密算法技術,可同時應用于生成密文和從密文計算出令的算法中。在生成密文的時候,先設定幾種生成算法,然后通過密文種子信息或隨機值來選取不同的密 生成算法。在從密文計算出口令的時候,同樣先設定幾種算法,接著由密文本身的相關信息或通過附加位的方式來確定具體采用的是哪一種計算算法,最后通過密文計算出口令。
第1頁第2頁 |