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