


摘 要:依照軟件工程中軟件開發的相關理論對系統進行了分析和設計,建立了系統的層次框架模型,分析了個人密碼線上存取網站的流程圖,綜合利用PHP、MYSQL、HTML的相關技術開發了存取網站,在保障密碼安全性和存儲密碼實用性起著重要的作用。
關鍵詞:個人密碼;線上存取網站;密碼管理
前言
隨著互聯網絡的飛速發展,各種網站正以驚人的速度在增長。相對應需要記憶的賬號和對應的密碼數量也成倍的增長,這就使得密碼的存儲和記憶成了一個難題。個人密碼線上存取網站是計算機技術、網絡技術和數據庫技術相結合的現代網絡在線的個人密碼加密存儲和提取的平臺。可以使廣大用戶改變以往使用單一密碼出現安全性的問題,又可以避免賬號密碼繁多記不住的情況。
1 網站的模塊劃分
個人密碼線上存取網站的總體設計思想是提供便捷和安全的密碼存取服務。把網站按照功能劃分為用戶管理模塊、密碼管理模塊、操作記錄模塊、在線客服模塊和加密模塊。為了能使得各模塊功能在數據傳遞和信息處理上得到最大的效率及功能擴展的方便性,所以要使各模塊之間的關系符合“高內聚,低耦合”的原則,并且該原則是模塊化軟件設計中必須遵循的基礎線。在該系統中,為了合理的管理與操作,把系統劃分為以下個模塊:
1.1 用戶管理模塊
用戶的注冊和登錄頁面為同一個頁面。當用戶名不存在的時候,則會自動創建用戶,并彈出“注冊確認框”,此時只要點擊“確認注冊”,即可完成注冊。用戶名和密碼則為在“注冊/登錄”頁面所填寫的用戶名和密碼。當用戶存在而所填寫的密碼錯誤,則會提示密碼錯誤,并要求重新輸入。當用戶名存在而且密碼填寫正確,則會顯示“用戶中心”頁面。此時,就可以通過本網站實現密碼的線上存取。在該模塊中可以創建普通的客戶資料信息,還可以對具有管理員身份的特權用戶進行管理。
1.2 密碼管理模塊
用戶通過簡單的注冊后,就可以實現密碼的線上存取。用戶通過自己輸入的備注來標識和區分存入的密碼。每個密碼對應著唯一的備注,用戶在存入密碼時,備注會作為必填項與密碼一同上傳至服務器。通過備注,用戶就可以準確地取出相應的密碼。密碼管理模塊是密碼存取操作的核心,在該模塊中可以采用一些優化的函數模塊來實現對數據庫的操作,可以通過一些特殊的數據關系,以優化密碼的存儲。
1.3 操作記錄模塊
用戶從注冊開始,系統就會自動記錄用戶的操作記錄以供用戶查詢。從用戶名的注冊時間、登錄記錄到密碼的存取時間,系統都會完整地記錄以供用戶核查。
1.4 在線客服模塊
在線客服為管理員與用戶交流的工具,管理員可通過此工具接收用戶的反饋信息,并提供帳號的密碼找回和解凍等帳號安全服務。在線客服需要驗證客戶提供的相關資料,以保證信息的修改返回給正確的用戶,避免信息泄露。
1.5 加密、解密模塊
B/S端使用Diffie-Hellman密鑰交換算法獲取密鑰后,使用對稱加密的方式對發送的消息進行加密處理,同樣通過加密的相反過程,利用加密時發送的密文信息進行解密。這個模塊是該系統中的重點核心,密碼的安全性在該模塊尤為重要。
系統運行中各模塊功能之間的關系如圖1所示。
2 網站的模塊設計
該系統采用的是B/S結構,最方便的是用戶在操作和配置方面簡單,用戶只需要將密碼和相對應的用戶名經過簡單的界面操作,就可以實現,這也是B/S結構最方便的地方。客戶端的類設計如圖2所示。
圖2 客戶類圖
客戶端操作主動刷新頁面來獲取更新數據傳輸,服務器端利用Websocket控件進行客戶端的連接,這樣就不需要主動地向對方請求數據,這樣做既簡單又節省系統、網絡資源。用戶的密碼存取操作活動圖如圖3所示。
圖3 用戶存取密碼活動圖
對于用戶的密碼,為了安全性存放,必須先對其進行加密碼,然后再存儲,并且對于后期需要進行密碼解密時,也提供了方便性,所以在對密碼存儲的時候,我們應該使用一種比較安全并且快捷解密的方法。根據密碼加密和解密的可逆性,在選擇算法時可以使用比較安全的Diffie-Hellman密鑰交換算法,并且我們可以在對密碼取出后傳送給用戶的方式上采用多種方式,比如電子郵件、手機短信等方式,為了更進一步的安全檢驗,需要對用戶身份進行鑒別。為了防止密碼數據由于某些原因出現了丟失或者破壞,能夠實現這種情況下對丟失的密碼進行恢復。在密碼存儲的解決策略中應該要注意以下幾個方面:
(1)為了數據存儲的安全性,采用mySQL數據庫存儲,并且在數據庫中采用授權限制的方式進行訪問,并且要求提供受限制訪問的注冊鍵。
(2)為了防止各客戶端的用戶產生不相同的密碼,我們可以采用SALT 技術進行控制。
(3)為了使用密碼的安全性,采用二進制方式進行存儲,采用BASE64 編碼。
在本系統中,考慮系統的安全性、易操作性,以及與選用的PHP編程語言兼容,采用MySQL作為本系統的數據庫管理系統。分別為用戶信息表和密碼信息表建立觸發器和用于儲存查詢次數的字段(查詢次數),其默認值為0。當用戶發起查詢密碼請求時,服務器先把查詢次數增加1,這時相關的觸發器會把當前的查詢操作保存至操作記錄表中,當數據庫返回處理結果為保存成功時,才會開始執行查詢操作。
3 結束語
個人密碼線上存取網站既可以避免密碼單一帶來的盜號風險,又可以解決密碼太多、太復雜所造成的密碼容易忘記的問題。個人密碼線上存取網站使用的HTML5頁面,可以帶來更便捷和安全的密碼存取服務。傳輸加密和提供可查詢操作記錄服務為密碼存取的安全提供了保障。
參考文獻
[1]屈喜龍,朱杰,等.PHP開發動態網站實例薈萃[M].北京:機械工業出版社,2006:3.
[2]徐峰.基于MySQL的PHP數據庫訪問技術[J].計算機時代,2001(2).
[3]Matt Zandstra.深PHP:面向對象、模式與實踐(第3版)[M].北京:人民郵電出版社,2011.
[4]apache(Web服務器)[EB/OL],[2015-01-31],http://baike.baidu.com/subview/28283/5418752.htm.
[5]張志遠.JavaScript與客戶端安全[J].東莞理工學院學報,2002(2).
[6]Alfred J. Menezes.等.應用密碼學手冊[M].胡磊譯.北京:電子工業出版社,2005.