專利名稱:一種保護(hù)網(wǎng)絡(luò)應(yīng)用程序使用賬號(hào)密碼進(jìn)行登錄的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)應(yīng)用信息安全性處理領(lǐng)域,特別是一種保護(hù)網(wǎng)絡(luò)應(yīng)用程序使用賬號(hào)密碼進(jìn)行登陸的方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)信息產(chǎn)業(yè)的蓬勃發(fā)展,基于互聯(lián)網(wǎng)的應(yīng)用越來(lái)越普遍,如網(wǎng)絡(luò)游戲、即時(shí)聊天軟件、網(wǎng)絡(luò)銀行等,而賬號(hào)密碼是目前大多數(shù)網(wǎng)絡(luò)應(yīng)用程序采用的身份驗(yàn)證手段;為了謀取非法利益,不法分子利用病毒木馬等手段盜取他人的賬號(hào)密碼的情況頻頻發(fā)生;此外,不法分子還可以利用網(wǎng)絡(luò)監(jiān)測(cè)工具截取網(wǎng)絡(luò)程序登錄數(shù)據(jù)包并用軟件方法實(shí)施對(duì)服務(wù)器的詐騙登錄,因此有效的保護(hù)網(wǎng)絡(luò)應(yīng)用程序的賬號(hào)密碼安全性,是發(fā)展互聯(lián)網(wǎng)應(yīng)用的一個(gè)重要課題。
防止鍵盤記錄功能盜竊賬號(hào)密碼,傳統(tǒng)方法通常是使用軟鍵盤,即通過(guò)鼠標(biāo)點(diǎn)擊圖形區(qū)域轉(zhuǎn)化成對(duì)應(yīng)鍵盤輸入信息,這種方法存在的主要弊端是病毒和木馬可針對(duì)特定軟件,記錄它們使用的軟鍵盤布局,通過(guò)截獲鼠標(biāo)點(diǎn)擊信息將用戶輸入的信息還原,從而竊取用戶登錄的賬號(hào)密碼。另外,對(duì)用戶來(lái)說(shuō),使用軟鍵盤的操作比較繁瑣,非常不直觀。
對(duì)于網(wǎng)絡(luò)監(jiān)測(cè)工具截取登錄數(shù)據(jù)包并用軟件方法實(shí)施詐騙登錄的問(wèn)題,在一些安全性要求較高的Web應(yīng)用主要使用安全套接字層,即Security Socket Layer(縮寫SSL)保證通信的安全性,如應(yīng)用于網(wǎng)站服務(wù)的HTTPS(HTTP+SSL)。SSL是使用公鑰和私鑰技術(shù)組合的安全網(wǎng)絡(luò)通訊協(xié)議,部署SSL對(duì)Web系統(tǒng)的服務(wù)器硬件性能要求非常高,在服務(wù)器和客戶端之間初始化SSL會(huì)話和連接的狀態(tài)信息過(guò)程需要處理復(fù)雜的握手協(xié)議,增加額外的網(wǎng)絡(luò)負(fù)擔(dān),用戶在使用過(guò)程也會(huì)有明顯的等待時(shí)間。此外,專利申請(qǐng)?zhí)枮?3148856.0的中國(guó)發(fā)明專利申請(qǐng)?zhí)峁┝艘环N利用一次性隨機(jī)數(shù)進(jìn)行用戶身份認(rèn)證的方法,用MD5信息摘要算法對(duì)待認(rèn)證數(shù)據(jù)(賬號(hào)、密碼或者兩者組合)和隨機(jī)數(shù)組成的原始信息進(jìn)行加密,然后發(fā)送到服務(wù)器端進(jìn)行驗(yàn)證,而此方法僅能保護(hù)賬號(hào)密碼數(shù)據(jù)的傳輸,不能防止病毒和木馬的盜號(hào)行為。
發(fā)明內(nèi)容
本發(fā)明為解決上述問(wèn)題提供了一種保護(hù)網(wǎng)絡(luò)應(yīng)用程序使用賬號(hào)密碼進(jìn)行登錄的方法,可以有效防止了木馬病毒等進(jìn)程竊取用戶輸入的賬號(hào)密碼,或者網(wǎng)絡(luò)監(jiān)測(cè)工具截獲登錄數(shù)據(jù)包實(shí)行服務(wù)器詐騙登錄,大大提高了網(wǎng)絡(luò)應(yīng)用信息的安全性。
本發(fā)明的技術(shù)方案如下一種保護(hù)網(wǎng)絡(luò)應(yīng)用程序使用賬號(hào)密碼進(jìn)行登錄的方法,通過(guò)客戶端密碼輸入,然后經(jīng)過(guò)服務(wù)器端驗(yàn)證進(jìn)行登陸,其特征在于客戶端設(shè)置有通用鍵盤驅(qū)動(dòng)程序,所述鍵盤驅(qū)動(dòng)程序內(nèi)預(yù)設(shè)有加密私鑰和私鑰加密模塊;同時(shí),服務(wù)器端也設(shè)置有加密私鑰和加密模塊,并且與客戶端使用的私鑰和私鑰加密模塊一致。
所述具體使用步驟如下A、客戶端向服務(wù)器端發(fā)起連接請(qǐng)求,服務(wù)器收到連接請(qǐng)求后生成隨機(jī)數(shù),服務(wù)器端保留生成的隨機(jī)數(shù)的記錄,并把所述隨機(jī)數(shù)通過(guò)網(wǎng)絡(luò)連接發(fā)送到客戶端;B、客戶端接收并記錄服務(wù)器返回的隨機(jī)數(shù)后,激活鍵盤驅(qū)動(dòng),接受用戶的帳號(hào)密碼輸入;C、所述鍵盤驅(qū)動(dòng)程序預(yù)設(shè)的加密私鑰和私鑰加密模塊對(duì)步驟B用戶輸入的鍵盤碼進(jìn)行加密,客戶端得到加密后的密碼信息;D、客戶端分別對(duì)用戶帳號(hào)信息,加密后的用戶密碼加上從步驟B得到的隨機(jī)數(shù)信息的組合數(shù)據(jù)進(jìn)行不可逆的信息摘要加密,然后將賬號(hào)的摘要信息和密碼+隨機(jī)數(shù)組合數(shù)據(jù)的摘要信息封裝成登錄數(shù)據(jù)包發(fā)送到服務(wù)器端請(qǐng)求驗(yàn)證;E、服務(wù)器端接收到客戶端的登錄數(shù)據(jù)包后,分別解析出賬號(hào)摘要信息和加密后密碼+隨機(jī)數(shù)組合數(shù)據(jù)的摘要信息,通過(guò)解析得到的賬號(hào)摘要信息檢索出服務(wù)器端存放的賬號(hào)摘要信息和私鑰加密后的密碼信息,然后對(duì)檢索出來(lái)的加密密碼和服務(wù)器端隨機(jī)數(shù)的組合數(shù)據(jù)執(zhí)行和客戶端一樣的信息摘要加密,把生成信息摘要與客戶端發(fā)送來(lái)的加密后密碼+隨機(jī)數(shù)組合數(shù)據(jù)的摘要信息進(jìn)行比對(duì),即可判斷出賬號(hào)密碼的正確性。
所述步驟C中,客戶端通過(guò)設(shè)備驅(qū)動(dòng)程序的交互接口DeviceIoControl激活鍵盤驅(qū)動(dòng)程序的加密功能,鍵盤驅(qū)動(dòng)程序在操作系統(tǒng)的驅(qū)動(dòng)底層接收輸入的鍵盤碼,通過(guò)加密私鑰和私鑰加密模塊對(duì)輸入鍵盤碼進(jìn)行加密,把加密后的鍵盤碼放到操作系統(tǒng)應(yīng)用層,客戶端得到的是用戶輸入密碼的加密后信息。私鑰加密模塊的算法采用數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryptoin Standard,DES)。
所述步驟D中客戶端對(duì)組合數(shù)據(jù)進(jìn)行信息摘要加密采用不可逆的安全哈希算法(Safe Hash Algorithm,SHA)??蛻舳朔謩e對(duì)用戶帳號(hào)和鍵盤驅(qū)動(dòng)程序加密過(guò)的用戶密碼+從服務(wù)器接收的隨機(jī)數(shù)的組合數(shù)據(jù)執(zhí)行信息摘要加密,把SHA(Account)和SHA(Password+RandomWord)的信息摘要數(shù)據(jù)封裝成登錄數(shù)據(jù)包,發(fā)送到服務(wù)器端進(jìn)行驗(yàn)證。
本發(fā)明的有益效果如下本發(fā)明可以有效防止運(yùn)行在操作系統(tǒng)應(yīng)用層的具有鍵盤記錄功能的木馬病毒進(jìn)程竊取用戶輸入的賬號(hào)密碼,也可以防止網(wǎng)絡(luò)監(jiān)測(cè)工具截獲含有用戶賬號(hào)密碼等信息的登錄數(shù)據(jù)包并用軟件方法實(shí)施詐騙登錄。
圖1為本發(fā)明的流程圖具體實(shí)施方式
實(shí)施例1一種保護(hù)網(wǎng)絡(luò)應(yīng)用程序使用賬號(hào)密碼進(jìn)行登錄的方法,通過(guò)客戶端密碼輸入,然后經(jīng)過(guò)服務(wù)器端驗(yàn)證進(jìn)行登陸,客戶端設(shè)置有通用鍵盤驅(qū)動(dòng)程序,所述鍵盤驅(qū)動(dòng)程序內(nèi)預(yù)設(shè)有加密私鑰和私鑰加密模塊;同時(shí),服務(wù)器端也設(shè)置有加密私鑰和加密模塊,并且與客戶端使用的私鑰和私鑰加密模塊一致。
所述具體使用步驟如下A、客戶端向服務(wù)器端發(fā)起連接請(qǐng)求,服務(wù)器收到連接請(qǐng)求后生成隨機(jī)數(shù),服務(wù)器端保留生成的隨機(jī)數(shù)的記錄,并把所述隨機(jī)數(shù)通過(guò)網(wǎng)絡(luò)連接發(fā)送到客戶端;B、客戶端接收并記錄服務(wù)器返回的隨機(jī)數(shù)后,激活鍵盤驅(qū)動(dòng),接受用戶的帳號(hào)密碼輸入;C、所述鍵盤驅(qū)動(dòng)程序預(yù)設(shè)的加密私鑰和私鑰加密模塊對(duì)步驟B用戶輸入的鍵盤碼進(jìn)行加密,客戶端得到加密后的密碼信息;D、客戶端分別對(duì)用戶帳號(hào)信息,加密后的用戶密碼加上從步驟B得到的隨機(jī)數(shù)信息的組合數(shù)據(jù)進(jìn)行不可逆的信息摘要加密,然后將賬號(hào)的摘要信息和密碼+隨機(jī)數(shù)組合數(shù)據(jù)的摘要信息封裝成登錄數(shù)據(jù)包發(fā)送到服務(wù)器端請(qǐng)求驗(yàn)證;E、服務(wù)器端接收到客戶端的登錄數(shù)據(jù)包后,分別解析出賬號(hào)摘要信息和加密后密碼+隨機(jī)數(shù)組合數(shù)據(jù)的摘要信息,通過(guò)解析得到的賬號(hào)摘要信息檢索出服務(wù)器端存放的賬號(hào)摘要信息和私鑰加密后的密碼信息,然后對(duì)檢索出來(lái)的加密密碼和服務(wù)器端隨機(jī)數(shù)的組合數(shù)據(jù)執(zhí)行和客戶端一樣的信息摘要加密,把生成信息摘要與客戶端發(fā)送來(lái)的加密后密碼+隨機(jī)數(shù)組合數(shù)據(jù)的摘要信息進(jìn)行比對(duì),即可判斷出賬號(hào)密碼的正確性。
實(shí)施例2一種保護(hù)網(wǎng)絡(luò)應(yīng)用程序使用賬號(hào)密碼進(jìn)行登錄的方法,客戶端通過(guò)設(shè)備驅(qū)動(dòng)程序的交互接口DeviceIoControl激活鍵盤驅(qū)動(dòng)程序的加密功能,鍵盤驅(qū)動(dòng)程序在操作系統(tǒng)的驅(qū)動(dòng)底層接收輸入的鍵盤碼,通過(guò)加密私鑰和私鑰加密模塊對(duì)輸入鍵盤碼進(jìn)行加密,把加密后的鍵盤碼放到操作系統(tǒng)應(yīng)用層,客戶端得到的是用戶輸入密碼的加密后信息。私鑰加密模塊的算法采用數(shù)據(jù)加密標(biāo)準(zhǔn)(Data EncryptoinStandard,DES)。
實(shí)施例3一種保護(hù)網(wǎng)絡(luò)應(yīng)用程序使用賬號(hào)密碼進(jìn)行登錄的方法,客戶端對(duì)組合數(shù)據(jù)進(jìn)行信息摘要加密采用不可逆的安全哈希算法(Safe Hash Algorithm,SHA)。客戶端分別對(duì)用戶帳號(hào)和鍵盤驅(qū)動(dòng)程序加密過(guò)的用戶密碼+從服務(wù)器接收的隨機(jī)數(shù)的組合數(shù)據(jù)執(zhí)行信息摘要加密,把SHA(Account)和SHA(Password+RandomWord)的信息摘要數(shù)據(jù)封裝成登錄數(shù)據(jù)包,發(fā)送到服務(wù)器端進(jìn)行驗(yàn)證。
實(shí)施例4一種保護(hù)網(wǎng)絡(luò)應(yīng)用程序使用賬號(hào)密碼進(jìn)行登錄的方法,首先在用戶本地計(jì)算機(jī)上安裝網(wǎng)絡(luò)應(yīng)用軟件的客戶端(如網(wǎng)絡(luò)游戲客戶端、聊天工具客戶端等)。該客戶端設(shè)置有通用鍵盤驅(qū)動(dòng)程序,所述鍵盤驅(qū)動(dòng)程序內(nèi)預(yù)設(shè)有加密私鑰和私鑰加密模塊;同時(shí),服務(wù)器端也設(shè)置有加密私鑰和加密模塊,并且與客戶端使用的私鑰和私鑰加密模塊一致。
所述具體使用步驟如下A、用戶啟動(dòng)網(wǎng)絡(luò)應(yīng)用軟件的客戶端程序,客戶端程序初始化過(guò)程加載所述的鍵盤驅(qū)動(dòng)程序;加載完成后,客戶端向服務(wù)器端發(fā)起連接請(qǐng)求,服務(wù)器收到連接請(qǐng)求后生成隨機(jī)數(shù),服務(wù)器端保留生成的隨機(jī)數(shù)的記錄,并把所述隨機(jī)數(shù)通過(guò)網(wǎng)絡(luò)連接發(fā)送到客戶端;B、客戶端接收并記錄服務(wù)器返回的隨機(jī)數(shù)后,進(jìn)入用戶帳號(hào)密碼輸入的界面;C、當(dāng)用戶準(zhǔn)備輸入密碼的時(shí)候,客戶端通過(guò)設(shè)備驅(qū)動(dòng)程序的交互接口DeviceIoControl激活鍵盤驅(qū)動(dòng)的加密功能。鍵盤驅(qū)動(dòng)程序在計(jì)算機(jī)操作系統(tǒng)的驅(qū)動(dòng)底層接收用戶輸入的鍵盤碼,按照所述的預(yù)設(shè)加密模塊和密鑰對(duì)步驟B中用戶輸入鍵盤碼進(jìn)行加密,把加密后鍵盤碼投放到操作系統(tǒng)應(yīng)用層,客戶端的賬號(hào)密碼輸入界面即可獲得加密后的用戶輸入的密碼信息;D、客戶端分別對(duì)用戶帳號(hào),鍵盤驅(qū)動(dòng)程序加密過(guò)的密碼信息+從服務(wù)器接收的隨機(jī)數(shù)的組合數(shù)據(jù),執(zhí)行不可逆的安全哈希算法(SHA)進(jìn)行消息摘要加密,把SHA(Account)和SHA(Password+RandomWord)的消息摘要數(shù)據(jù)一起封裝成網(wǎng)絡(luò)數(shù)據(jù)包,發(fā)送到服務(wù)器端進(jìn)行登錄驗(yàn)證;E、服務(wù)器端接收到客戶端的登錄數(shù)據(jù)包后,解析出賬號(hào)和密碼的SHA摘要信息;因?yàn)樾畔⒄惴ㄊ遣豢赡娴?,所以服?wù)器端存放的不是原始的賬號(hào)密碼,而是SHA加密的用戶賬號(hào)和私鑰加密的用戶密碼,利用客戶端發(fā)送來(lái)的賬號(hào)信息可以檢索出服務(wù)器端存放在數(shù)據(jù)庫(kù)或者文件中的賬號(hào)和密碼。同樣,對(duì)檢索出來(lái)的密碼和隨機(jī)數(shù)的組合數(shù)據(jù)進(jìn)行SHA信息摘要,把摘要信息和客戶端發(fā)送來(lái)的密碼摘要信息就行比對(duì),即可驗(yàn)證賬號(hào)密碼的準(zhǔn)確性,通過(guò)后接受用戶登錄,否則拒絕登錄。
權(quán)利要求
1.一種保護(hù)網(wǎng)絡(luò)應(yīng)用程序使用賬號(hào)密碼進(jìn)行登錄的方法,通過(guò)客戶端密碼輸入,然后經(jīng)過(guò)服務(wù)器端驗(yàn)證進(jìn)行登陸,其特征在于客戶端設(shè)置有通用鍵盤驅(qū)動(dòng)程序,所述鍵盤驅(qū)動(dòng)程序內(nèi)預(yù)設(shè)有加密私鑰和私鑰加密模塊;同時(shí),服務(wù)器端也設(shè)置有加密私鑰和加密模塊,并且與客戶端使用的私鑰和私鑰加密模塊一致。
2.根據(jù)權(quán)利要求1所述一種保護(hù)網(wǎng)絡(luò)應(yīng)用程序使用賬號(hào)密碼進(jìn)行登錄的方法,其特征在于具體使用步驟如下A、客戶端向服務(wù)器端發(fā)起連接請(qǐng)求,服務(wù)器收到連接請(qǐng)求后生成隨機(jī)數(shù),服務(wù)器端保留生成的隨機(jī)數(shù)的記錄,并把所述隨機(jī)數(shù)通過(guò)網(wǎng)絡(luò)連接發(fā)送到客戶端;B、客戶端接收并記錄服務(wù)器返回的隨機(jī)數(shù)后,激活鍵盤驅(qū)動(dòng),接受用戶的帳號(hào)密碼輸入;C、所述鍵盤驅(qū)動(dòng)程序預(yù)設(shè)的加密私鑰和私鑰加密模塊對(duì)步驟B用戶輸入的鍵盤碼進(jìn)行加密,客戶端得到加密后的密碼信息;D、客戶端分別對(duì)用戶帳號(hào)信息,加密后的用戶密碼加上從步驟B得到的隨機(jī)數(shù)信息的組合數(shù)據(jù)進(jìn)行不可逆的信息摘要加密,然后將賬號(hào)的摘要信息和密碼+隨機(jī)數(shù)組合數(shù)據(jù)的摘要信息封裝成登錄數(shù)據(jù)包發(fā)送到服務(wù)器端請(qǐng)求驗(yàn)證;E、服務(wù)器端接收到客戶端的登錄數(shù)據(jù)包后,分別解析出賬號(hào)摘要信息和加密后密碼+隨機(jī)數(shù)組合數(shù)據(jù)的摘要信息,通過(guò)解析得到的賬號(hào)摘要信息檢索出服務(wù)器端存放的賬號(hào)摘要信息和私鑰加密后的密碼信息,然后對(duì)檢索出來(lái)的加密密碼和服務(wù)器端隨機(jī)數(shù)的組合數(shù)據(jù)執(zhí)行和客戶端一樣的信息摘要加密,把生成信息摘要與客戶端發(fā)送來(lái)的加密后密碼+隨機(jī)數(shù)組合數(shù)據(jù)的摘要信息進(jìn)行比對(duì),即可判斷出賬號(hào)密碼的正確性。
3.根據(jù)權(quán)利要求2所述一種保護(hù)網(wǎng)絡(luò)應(yīng)用程序使用賬號(hào)密碼進(jìn)行登錄的方法,其特征在于所述步驟C中,客戶端通過(guò)設(shè)備驅(qū)動(dòng)程序的交互接口DeviceIoControl激活鍵盤驅(qū)動(dòng)程序的加密功能,鍵盤驅(qū)動(dòng)程序在操作系統(tǒng)的驅(qū)動(dòng)底層接收輸入的鍵盤碼,通過(guò)加密私鑰和私鑰加密模塊對(duì)輸入鍵盤碼進(jìn)行加密,把加密后的鍵盤碼放到操作系統(tǒng)應(yīng)用層,客戶端得到的是用戶輸入密碼的加密后信息。
4.根據(jù)權(quán)利要求1所述一種保護(hù)網(wǎng)絡(luò)應(yīng)用程序使用賬號(hào)密碼進(jìn)行登錄的方法,其特征在于所述私鑰加密模塊的算法采用數(shù)據(jù)加密標(biāo)準(zhǔn)DES。
5.根據(jù)權(quán)利要求2所述一種保護(hù)網(wǎng)絡(luò)應(yīng)用程序使用賬號(hào)密碼進(jìn)行登錄的方法,其特征在于所述步驟D中客戶端對(duì)組合數(shù)據(jù)進(jìn)行信息摘要加密采用不可逆的安全哈希算法。
全文摘要
本發(fā)明公開(kāi)了一種保護(hù)網(wǎng)絡(luò)應(yīng)用程序使用賬號(hào)密碼進(jìn)行登錄的方法,通過(guò)客戶端密碼輸入,然后經(jīng)過(guò)服務(wù)器端驗(yàn)證進(jìn)行登陸,其特征在于客戶端設(shè)置有通用鍵盤驅(qū)動(dòng)程序,所述鍵盤驅(qū)動(dòng)程序內(nèi)預(yù)設(shè)有加密私鑰和私鑰加密模塊;同時(shí),服務(wù)器端也設(shè)置有加密私鑰和加密模塊,并且與客戶端使用的私鑰和私鑰加密模塊一致;本發(fā)明可以有效防止運(yùn)行在操作系統(tǒng)應(yīng)用層的具有鍵盤記錄功能的木馬病毒進(jìn)程竊取用戶輸入的賬號(hào)密碼,也可以防止網(wǎng)絡(luò)監(jiān)測(cè)工具截獲含有用戶賬號(hào)密碼等信息的登錄數(shù)據(jù)包并用軟件方法實(shí)施詐騙登錄。
文檔編號(hào)H04L9/32GK101051904SQ20071004911
公開(kāi)日2007年10月10日 申請(qǐng)日期2007年5月17日 優(yōu)先權(quán)日2007年5月17日
發(fā)明者周冠強(qiáng) 申請(qǐng)人:成都金山互動(dòng)娛樂(lè)科技有限公司