南省電子政務網絡管理中心,云南 昆明 650031)
摘要:信息系統的登錄常見的是僅僅采用用戶名和密碼兩項來驗證登陸用戶的合法性。該文針對傳統登陸身份驗證方式的不足,容易受到記錄鍵盤、字典猜測、SQL注入等攻擊,采用了哈西算法、圓錐曲線數字簽名技術來設計登錄安全解決方案,可以滿足登陸信息的登錄用戶身份的安全認證、信息的完整性、不可否認性,該方案可以滿足安全的需求。
關鍵詞:信息安全;圓錐曲線數字簽名;登錄系統安全
中圖分類號:TP309 文獻標識碼:A文章編號:1009-3044(2008)35-2463-01
A Secure Login Resolution Scheme
LONG Yong1,CAI Chang-xu2,CAI Chang-shu3
(1. Yunnan Energy School,Qujing 650001,China;2.Computer and Information Department of Qujing Normal University,Qujing 650011,China;3.Yunnan E-government Network Management Center,Kunming 650031,China)
Abstract: The common information system login method adopts only user name and password to authenticate the users.In order to avoid the drawbacks of conventional methods which is vulnerable to the attacks of record keyboard, dictionary guess, SQL injection and so forth, the thesis design a novel scheme adopting Hash algorithm and Conic Curve Digital Signature technology. It can meet the security requirement of authentication, information integrity, non-repudiation.
Key words:information security;conic curve digital signature;system login security
1 前言
在大部分的C/S與B/S的登錄頁面中,都僅僅采用了用戶名和密碼兩項來作為登錄用戶身份的驗證,用戶名和密碼還直接就以明文的形式存儲在數據庫中,更有甚者,還只有密碼一項來驗證用戶身份,且密碼以明文的形式存儲在數據庫中。這樣的系統都是極度不安全的,黑客打開數據庫、記錄合法用戶的鍵盤敲擊、或者字典猜測都很容易獲取登錄頁面的用戶名和密碼。對于用戶名推薦使用與部門或用戶沒有任何關聯的符合一定復雜性的隨機字符來最為用戶名,不得使用Administrator、Admin等。黑客輸入得到的用戶名和密碼就可以登錄系統肆意進行相關的工作了。采用用戶名加密碼的哈西值組合,密碼項就沒有直接存儲在數據庫中,黑客打開數據庫是找不到登錄用戶的密碼項的,這樣的安全性大大強于用戶名和密碼項的組合,但是它還不能抵抗字典猜測攻擊,更危險的是,如果沒有對用戶名和密碼框的輸入進行非法字符的過濾,這樣的系統還是很容易受到SQL注入攻擊的,而SQL注入攻擊是一種攻擊效果非常好的攻擊方法。
2 解決方案
為了保證登錄頁面的安全,必須采取更好的解決方案。本文針對常規解決方法的不足,設計了如下的安全登錄解決方案:采用單向哈西用戶名+用戶授權文件+授權文件完整性校驗+數字簽名技術來解決登錄的安全問題。登錄的實際帳戶在數據庫在不存儲實際名,而是存儲帳戶名的哈西摘要值,使用SHA-1,建議使用SHA-256。不同的用戶角色授權文件不同,授權文件可以是任意格式的文件。完整性校驗采用SHA-256算法,數字簽名算法采用CCDSA算法[1]。CCDSA算法的參數選取采用文獻[1]中的選取過成。數字簽名算法不采用國際上流行算法如RSA,ECDSA,可以在一定的程度上避開了常見密碼算法的已有攻擊算法。本登錄方案從源頭上杜絕了SQL注入攻擊,安全性極高。
登錄的輸入項目有:1)用戶名;2)導入的授權文件,用戶的私鑰。
本登錄方案的登錄過程如下:
1) 登錄用戶輸入符合一定復雜性要求的用戶名。
2) 計算用戶名的SHA-256哈西值,查找數據庫中有無此哈西值存在,若存在說明此用戶是一個存在的合法用戶,否則退出登錄。
3) 登錄的用戶導入登錄的授權文件,用SHA-256計算哈西摘要值,在數據庫中查找有無此授權文件的哈西值存在,若存在,則說明用戶的授權文件是完整的,沒有受到非法的篡改,否則退出登錄。
4) 登錄用戶導入自己的私鑰對計算出的授權文件哈西值進行圓錐曲線數字簽名。
5) 登錄的后臺對授權文件的哈西摘要值的數字簽名驗證數字簽名的合法性,若是合法的數字簽名,則用戶就可以最終登錄入后臺管理系統進行相關的操作了,否則退出登錄。
3 結束語
信息系統的登錄在系統中是一個非常重要的部分,常見的登錄系統僅僅采用用戶名和密碼兩項來驗證登陸用戶的合法性,這樣的驗證方式是脆弱的,容易受到記錄鍵盤、字典猜測、SQL注入等攻擊。本文設計的解決方案可以從源頭上就杜絕這些攻擊,數字簽名算法不采用國際流行的RSA和ECDSA,使得針對這些算法的攻擊算法無用,基于圓錐曲線離散對數問題的圓錐曲線數字簽名、SHA-256的引入設計的此方案的安全性得到了提高,提出的此登錄系統安全解決方案有一定的參考意義。
參考文獻:
[1] 蔡昌曙.基于F2m域的圓錐曲線數乘算法與混合加密的研究與實現[D].云南師范大學碩士畢業論文,2008.