當(dāng)前位置: 首頁 > 傳感測量產(chǎn)品 > 數(shù)據(jù)采集產(chǎn)品 > RFID系統(tǒng) > 讀寫器
發(fā)布日期:2022-05-20 點擊率:51
1、研究背景和意義
隨著數(shù)字化校園的興起和應(yīng)用的深入,如今的校園一卡通系統(tǒng)規(guī)模越來越大,功能越來越復(fù)雜,在系統(tǒng)實際的應(yīng)用中存在諸多問題,其中,如何確保整個系統(tǒng)的安全使用是關(guān)鍵所在。只有妥善地解決了校園一卡通系統(tǒng)的安全問題,才能促進(jìn)其進(jìn)步和健康發(fā)展。
由于一卡通系統(tǒng)建立在校園網(wǎng)的基礎(chǔ)上,系統(tǒng)涉及到一些收費、消費數(shù)據(jù)和基本信息等一些敏感數(shù)據(jù),許多關(guān)鍵的業(yè)務(wù)系統(tǒng)運行在數(shù)據(jù)庫平臺上,數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)為眾多用戶所共享,如果數(shù)據(jù)庫安全無法保證,其上的應(yīng)用系統(tǒng)也會被非法訪問或破壞,這就對校園一卡通系統(tǒng)的安全性特別是數(shù)據(jù)庫的安全提出了更高的要求,如何有效防止應(yīng)用中可能存在的各種攻擊、破壞和欺詐,使校園一卡通的數(shù)據(jù)庫系統(tǒng)可以在開放的網(wǎng)絡(luò)環(huán)境中安全地運行,實現(xiàn)一套完整有效的數(shù)據(jù)庫安全控制方案就成為校園一卡通系統(tǒng)中的重中之重。
本文的重點在于結(jié)合學(xué)校一卡通系統(tǒng)的實際業(yè)務(wù)流程,針對一卡通系統(tǒng)的特點,通過對一卡通系統(tǒng)數(shù)據(jù)庫安全要求進(jìn)行分析,提出了一個切實有效的數(shù)據(jù)庫安全技術(shù)方法即數(shù)據(jù)庫用戶二次登錄法。此方法可以有效防止系統(tǒng)應(yīng)用中可能存在的對數(shù)據(jù)庫的各種攻擊、破壞和欺詐,使校園一卡通系統(tǒng)可以在開放的網(wǎng)絡(luò)環(huán)境中安全地運行。
2、一卡通系統(tǒng)的數(shù)據(jù)庫安全的基本要求
1).物理上的數(shù)據(jù)庫完整性
一卡通系統(tǒng)中存有很多消費和收費的業(yè)務(wù)數(shù)據(jù),并且,機(jī)房計費系統(tǒng)和綜合消費系統(tǒng)(餐飲消費)對數(shù)據(jù)庫服務(wù)器的不可間斷性也提出了很高的要求。
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)日志,使審計更加準(zhǔn)確。
4).用戶認(rèn)證
一卡通系統(tǒng)數(shù)據(jù)庫安全設(shè)計,由于一卡通系統(tǒng)在安全方面有比較高的要求,因此我們必須確保每個用戶被正確地識別,既便于審計追蹤,也為了限制對特定的數(shù)據(jù)進(jìn)行訪問。
5).可用性
一卡通系統(tǒng)中的很多子系統(tǒng),如機(jī)房計費系統(tǒng)和綜合消費系統(tǒng)對數(shù)據(jù)庫服務(wù)器的可用性提出了很高的要求,用戶應(yīng)該隨時可以訪問數(shù)據(jù)庫以及所有被批準(zhǔn)訪問的數(shù)據(jù)。
3、一卡通系統(tǒng)數(shù)據(jù)庫用戶二次登錄法
3.1 技術(shù)需求分析
在一卡通應(yīng)用系統(tǒng)中,當(dāng)各個子系統(tǒng)的客戶端應(yīng)用程序訪問數(shù)據(jù)庫服務(wù)器的時候,都需要提供一個合法的數(shù)據(jù)庫用戶名和訪問口令組合,通常來說,訪問數(shù)據(jù)庫的用戶名不需改變,因此如何保護(hù)用戶口令就成了我們非常關(guān)心的內(nèi)容。
首先要明確的一點是,我們這里所說的維護(hù)用戶口令指的是第2條中的用戶口令。
常見的數(shù)據(jù)庫用戶L]令處理方法有如下三種:
(1)把用戶名和口令直接寫到程序語句中。
(2)將用戶名和口令加密后保存在客戶端程序的某一配置文件或注冊表中。
(3)用戶二次登錄的方法:客戶端程序先用一個權(quán)限極低的用戶登錄數(shù)據(jù)庫,從口令密文表中取得正常工作用戶的口令密文,然后用正常工作用戶名和根據(jù)密文計算出來的口令再次登錄數(shù)據(jù)庫。
上述幾種保護(hù)口令的方法不是太簡單死板就是需要數(shù)據(jù)庫管理員的干預(yù),通過分析常見方法的優(yōu)缺點,我們在一卡通系統(tǒng)中使用了一種新的用戶二次登錄法,自動維護(hù)數(shù)據(jù)庫用戶的口令,更加安全和實用。
3.2 設(shè)計方案
結(jié)合上述二次登錄技術(shù),一卡通系統(tǒng)中提出的自動維護(hù)數(shù)據(jù)庫用戶口令的方法如下:
首先給定一個維護(hù)周期,數(shù)據(jù)庫到期隨機(jī)或者根據(jù)周期信息自動生成一個口令密文.接著從口令密文中計算出新的用戶口令,然后自動重新設(shè)置用戶口令以及數(shù)據(jù)庫中相關(guān)的口令密文。
所有操作無需數(shù)據(jù)庫管理員的干預(yù),對客戶端程序也毫無影響,此時用戶口令對管理員和客戶端應(yīng)用程序來說都是透明的。
自動維護(hù)用戶口令包含數(shù)據(jù)庫服務(wù)器端和客戶端的實現(xiàn),分述如下:在服務(wù)器端可以將生成口令密文和修改用戶口令的算法寫在存儲過程中,這個存儲過程可以由作業(yè)周期性地調(diào)度,也可以由客戶端程序在維護(hù)周期內(nèi)首次運行時調(diào)用執(zhí)行。
客戶端要完成的工作根據(jù)服務(wù)器端的存儲過程調(diào)度的方法的不同而稍有不同。如果服務(wù)器端的存儲過程由作業(yè)調(diào)度執(zhí)行,那么客戶端只需要在第一次登錄數(shù)據(jù)庫時取得用戶口令的密文,然后計算出口令并進(jìn)行第二次登錄。
為了增加口令被破譯的難度,在這里使用了多重加密算法技術(shù),可同時應(yīng)用于生成密文和從密文計算出【]令的算法中。在生成密文的時候,先設(shè)定幾種生成算法,然后通過密文種子信息或隨機(jī)值來選取不同的密 生成算法。在從密文計算出口令的時候,同樣先設(shè)定幾種算法,接著由密文本身的相關(guān)信息或通過附加位的方式來確定具體采用的是哪一種計算算法,最后通過密文計算出口令。
3.3 二次登錄法的實現(xiàn)
根據(jù)上一節(jié)的設(shè)計思想, 下面給出在一卡通系統(tǒng)q 的具體的實現(xiàn)方案。為了敘述方便,我們假定服務(wù)器的數(shù)據(jù)庫名稱為Sdataoase,創(chuàng)建此數(shù)據(jù)庫的管理員為DataMaster,客戶端的應(yīng)用程序為ProClient。實現(xiàn)修改口令的存儲過程是ChangeUserPWD,存儲口令密文的數(shù)據(jù)表是TPass—word Cry,第一次登錄數(shù)據(jù)庫取得密文的用戶為CU:m’,而正常工作時使用的用戶是L0GUSER。
3.3.1 服務(wù)器端數(shù)據(jù)庫操作
a.創(chuàng)建客戶端訪問服務(wù)器數(shù)據(jù)庫的正常工作用戶(LOGUSER),配置LOGUSER訪問數(shù)據(jù)庫中各數(shù)據(jù)表的訪問權(quán)限。
b.創(chuàng)建LOGUSER用戶口令密文數(shù)據(jù)表TPassword Cry:用戶名LOGUSER即客戶端訪問服務(wù)器數(shù)據(jù)庫的正常工作用戶,既客戶端二次登錄時的用戶。
c.創(chuàng)建客戶端程序用戶表TelientUser:用戶名和用戶口令可采用一定的加密算法加密。共享用戶名對應(yīng)數(shù)據(jù)表TPassword Cry中的LOGUSER,用于在TPassword Cry表中查找客戶端二次登錄數(shù)據(jù)庫時的用戶名和口令密文的位置。
d 創(chuàng)建客戶端程序首次登錄用CUser,給CUser設(shè)置具有訪問客戶端程序用戶表TC1 j entUser和口令密文數(shù)據(jù)表TPassword Cry的權(quán)限。
e.在數(shù)據(jù)庫中添加存儲過程ChangeUserPWD。
3.3.2 存儲過程本身的安全性
如果一個加密算法本身沒有安全性,那么不論加密算法有多好都是沒有用的。有些數(shù)據(jù)庫中,存儲過程的默認(rèn)設(shè)置是可以看到源碼的,因此要注意將它加密后存儲。在Oracle數(shù)據(jù)庫中,可采用Oracle自帶的包裝程序wrap來進(jìn)行相關(guān)處理。
3.3.3 客戶端應(yīng)用程序的二次登錄訪問
a.ProClient以普通用戶CUser/CPassword登錄數(shù)據(jù)庫,訪問用戶表TCIientUser:
b.客戶端用戶輸入用戶名和口令,ProClient對用戶名和輸入口令進(jìn)行加密,比較TCIientUser表中信息,如果口令正確,則進(jìn)行下一步操作,否則報告登錄出錯。
C.如果客戶程序是在一個維護(hù)周期中第一次登錄,此時需調(diào)用存儲過程changeuserPwD修改用戶口令和口令密文。
d.讀取共享用戶名LOGUSER,然后在口令密文數(shù)據(jù)表TPassword Cry中讀取相應(yīng)的口令密文,根據(jù)密文計算出具體口令。
e.客戶端應(yīng)用程序ProC1lent以用戶名LOGUSER進(jìn)行二次登錄,開始數(shù)據(jù)庫的相關(guān)數(shù)據(jù)處理操作。一卡通系統(tǒng)中所采用的自動維護(hù)數(shù)據(jù)庫用戶口令的方法具有很強(qiáng)的適用性和靈活性,不針對具體的數(shù)據(jù)庫和程序開發(fā)環(huán)境,適用于c/s或B/s結(jié)構(gòu)的客戶端應(yīng)用程序。另外,具體的密文生成算法,自動維護(hù)用戶口令的周期,從密文計算出口令的算法以及算法的多重程度可根據(jù)具體情況進(jìn)行靈活調(diào)節(jié)。
4、結(jié)束語
本文根據(jù)系統(tǒng)在數(shù)據(jù)庫安全方面的基本要求,對一卡通系統(tǒng)在數(shù)據(jù)庫安全方面的基本要求作了分析,從用戶口令認(rèn)證的安全層面考慮提出了數(shù)據(jù)庫用戶二次登錄法來保障一卡通系統(tǒng)數(shù)據(jù)庫的安全,此方法可以有效防止系統(tǒng)應(yīng)用中可能存在的對數(shù)據(jù)庫的各種攻擊、破壞和欺詐,使校園一卡通系統(tǒng)可以在開放的網(wǎng)絡(luò)環(huán)境中安全地運行。
1
下一篇: PLC、DCS、FCS三大控
上一篇: 淺談國內(nèi)智能鎖的技術(shù)