專利名稱:防止木馬或病毒竊取輸入信息的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電數(shù)字?jǐn)?shù)據(jù)處理過程中計算機(jī)或服務(wù)器關(guān)鍵信息的安全輸入方法,特別是涉及一種防止木馬和病毒及各種惡意程序竊取輸入信息的方法。主要應(yīng)用于計算機(jī)網(wǎng)絡(luò)上身份認(rèn)證信息的輸入安全。
背景技術(shù):
人類進(jìn)入到21世紀(jì),互聯(lián)網(wǎng)已深入到社會的每一個角落,信息安全也就成為重要的社會問題。當(dāng)前,在信息存儲、傳送和使用方面已有非常成熟的技術(shù)方法,似乎信息安全問題已經(jīng)得到了解決。但是,數(shù)據(jù)信息有四種完全不同的狀態(tài)輸入、傳輸、存儲和使用,由于木馬、計算機(jī)病毒和各種惡意程序的存在,它們不僅竊取存儲的文件和傳送與使用中的數(shù)據(jù),更重要的是它們能竊取正在輸入的信息。由于存儲的文件或傳送使用中的數(shù)據(jù)都有比較成熟的安全技術(shù)保障,而處于輸入狀態(tài)的數(shù)據(jù)目前還沒有成熟的安全技術(shù)保障。因此,眾多不法分子采用主動出擊的方法,放出大量的木馬或病毒等各種惡意程序,從信息輸入這個環(huán)節(jié)竊取關(guān)鍵信息,如身份認(rèn)證時的帳號和密碼。
現(xiàn)有技術(shù)在防止輸入密碼被盜方面,已有許多人進(jìn)行了大量的研究,但還沒有成熟穩(wěn)定的方法,主要是一些根據(jù)操作系統(tǒng)的特性寫出的程序,在技術(shù)上主要可分為以下兩類1.防止從密碼輸入框中讀取數(shù)據(jù)使意欲從密碼輸入框中獲得密碼等數(shù)據(jù)的木馬或病毒不能得逞;2.輸入加密后再另存的方法其主要思想是每輸入一個最小單位信息就加密存到其它地方,而把隨機(jī)信息提供出來,使木馬或病毒只能得到隨機(jī)數(shù)據(jù)或加密數(shù)據(jù)。
第一類技術(shù),只能防范一般的木馬或病毒,對能從任意內(nèi)存中讀取數(shù)據(jù)的木馬或病毒就無能為力,因為密碼不僅僅存在于密碼輸入框中,它還要被程序處理,必然還會存在內(nèi)存中;第二類技術(shù)進(jìn)了一步,能防止從內(nèi)存中讀出數(shù)據(jù),但是對內(nèi)核級的木馬或病毒來說,還有一些方法可以獲得數(shù)據(jù)。例如,它可以記錄下你輸入的所有最小單位的數(shù)據(jù)(如每一次鍵盤操作),然后進(jìn)行分析得到正確數(shù)據(jù)。
現(xiàn)代安全理論指出,任何依靠保密算法不公開、依靠運(yùn)行最高權(quán)限或?qū)⑿畔⒋娣庞陔y以發(fā)現(xiàn)的地方等技術(shù)都是不安全的,唯有依賴密碼加密的技術(shù)才可能是安全的。由此可見,目前在信息輸入方面的安全問題并沒有得到很好的解決,信息輸入安全已成為信息安全最薄弱的環(huán)節(jié)之一,也是唯一沒有從密碼學(xué)理論上解決的重要信息安全問題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于避免上述現(xiàn)有技術(shù)的不足之處而提出一種防止木馬或病毒竊取輸入信息的方法。采用該方法能安全有效地使木馬或病毒等惡意程序無法竊取輸入信息。
本發(fā)明解決所述技術(shù)問題可以通過采用以下技術(shù)方案來實現(xiàn)提出一種防止木馬或病毒竊取輸入信息的方法,用于計算機(jī)單機(jī)或網(wǎng)絡(luò)環(huán)境中的關(guān)鍵信息輸入,包括以下步驟A.假設(shè)關(guān)鍵信息輸入例如帳號密碼的輸入需要的所有單位信息為數(shù)據(jù)集S1,而輸入設(shè)備M可輸入的所有單位信息組成另一數(shù)據(jù)集S2;B.定義一個從S1到S2一對一或一對多的映射,映射加密安全算法為F(S1,S2);C.假設(shè)要輸入的關(guān)鍵信息例如帳號密碼的單位信息為x1、x2.....xn∈S1,而x1、x2.....xn在集S2中對應(yīng)映射為y1、y2.....yn,則從所述輸入設(shè)備M中輸入y1、y2.....yn;D.在可信賴的設(shè)備環(huán)境例如計算機(jī)或服務(wù)器中將y1、y2.....yn解密還原成x1、x2.....xn,得到明確信息進(jìn)行認(rèn)證。
所述步驟B與步驟C之間還包括下述步驟在顯示設(shè)備上顯示提示經(jīng)映射加密的關(guān)鍵信息輸入所需的所有單位信息的數(shù)據(jù)集S1。
同現(xiàn)有技術(shù)相比較,本發(fā)明防止木馬或病毒竊取輸入信息的方法的技術(shù)效果在于1.本地任何輸入信息都以密文存在,從本地任何地方(包括內(nèi)存)都無法獲得輸入信息的明文;2.本地所有要保密的信息在任何時間都是密文,在本地任何時候攔截都不是明文;
3.密文的安全只依賴其中的加密密碼,其算法可采用具有這種特性的各類公開加密算法;4.適用于所有信息輸入外部設(shè)備。
圖1是本發(fā)明防止木馬或病毒竊取輸入信息的方法的原理方框圖;圖2是所述方法具體實施的方框流程圖;圖3是所述方法中的虛擬鍵盤示意圖;圖4是所述方法在單機(jī)環(huán)境中實現(xiàn)的方框流程圖;圖5是所述方法在網(wǎng)絡(luò)環(huán)境中實現(xiàn)的方框流程圖。
具體實施例方式
以下結(jié)合各附圖所示之最佳實施例作進(jìn)一步詳述。
一種防止木馬或病毒竊取輸入信息的方法,用于計算機(jī)單機(jī)或網(wǎng)絡(luò)環(huán)境中的身份認(rèn)證如圖1所示,包括以下步驟A.假設(shè)關(guān)鍵信息輸入例如帳號密碼的輸入需要的所有單位信息為數(shù)據(jù)集S1,而輸入設(shè)備M可輸入的所有單位信息組成另一數(shù)據(jù)集S2;B.定義一個從S1到S2一對一或一對多的映射,映射加密安全算法為F(S1,S2);C.假設(shè)要輸入的關(guān)鍵信息例如帳號密碼的單位信息為x1、x2.....xn∈S1,而x1、x2.....xn在集S2中對應(yīng)映射為y1、y2.....yn,則從所述輸入設(shè)備M中輸入y1、y2.....yn;D.在可信賴的設(shè)備環(huán)境例如計算機(jī)或服務(wù)器中將y1、y2.....yn解密還原成x1、x2.....xn,得到明確信息進(jìn)行認(rèn)證。
所述步驟B與步驟C之間還包括下述步驟在顯示設(shè)備上顯示提示經(jīng)映射加密的關(guān)鍵信息輸入所需的所有單位信息的數(shù)據(jù)集S1,以便用戶對應(yīng)輸入用于身份認(rèn)證的關(guān)鍵信息。
上述步驟中必須具備兩個條件一是解密還原的設(shè)備環(huán)境是可信賴的;二是安全算法F(S1,S2)具有安全性。該安全算法F(S1,S2)可采用現(xiàn)有的各種安全算法。
本發(fā)明中,所述安全算法F(S1,S2)中的數(shù)據(jù)集S1和數(shù)據(jù)集S2可由同一設(shè)備提供,例如均由鍵盤上的鍵值組成;也可由不同的設(shè)備提供,例如集S1為鍵盤上所有的鍵值組成,而集S2中的元素由鼠標(biāo)輸入的坐標(biāo)組成。
當(dāng)所述數(shù)據(jù)集S1和數(shù)據(jù)集S2由同一設(shè)備提供,例如由鍵盤上的鍵值組成時,所述步驟B中還包括以下步驟a.在顯示器上顯示一個虛擬鍵盤;b.通過安全算法F(S1,S2)處理后,在所述虛擬鍵盤上顯示與實際鍵盤上不同的鍵值,但虛擬鍵盤上的鍵值與實際鍵盤上的鍵值一一對應(yīng),例如,對應(yīng)于實際鍵盤鍵值“A”的位置處,虛擬鍵盤上顯示的是鍵值“Y”。
由于虛擬鍵盤直接顯示有可能顯露出安全算法F(S1,S2),所述步驟a中虛擬鍵盤的顯示采用花紋背景或閃爍顯示,或在不同的位置顯示,或移動顯示,或不同大小顯示。這樣會進(jìn)一步增加輸入信息的安全性。
當(dāng)所述數(shù)據(jù)集S1和數(shù)據(jù)集S2由不同的設(shè)備提供,例如集S1為鍵盤上所有的鍵值組成,而集S2中的元素由鼠標(biāo)輸入時,為了達(dá)到用鼠標(biāo)輸入鍵盤的鍵值,必須定義一種關(guān)系F(S1,S2),由于鼠標(biāo)的鍵太少,數(shù)據(jù)集S2不能用鼠標(biāo)鍵值,而鼠標(biāo)輸入還有一個值坐標(biāo)值。用鼠標(biāo)的坐標(biāo)值組成的集或其子集為S2,定義一個F(S1,S2)就可以由鼠標(biāo)代替鍵盤輸入,因而所述步驟B中還包括以下步驟①顯示器上用多于能顯示出鍵值的相鄰坐標(biāo)組成對同一鍵值的映射;②在各組坐標(biāo)上對應(yīng)顯示其映射的鍵值,形成一個一對多的映射。
由于直接在鼠標(biāo)坐標(biāo)上顯示鍵盤鍵值可能會顯露出F(S1,S2),所述鍵值的顯示采用花紋背景或閃爍顯示。這樣使輸入信息的安全性得到進(jìn)一步加強(qiáng)。
現(xiàn)結(jié)合圖2對本發(fā)明具體實施進(jìn)行詳細(xì)說明,具體步驟如下1.系統(tǒng)初始化后,通過設(shè)定的程序產(chǎn)生一個隨機(jī)數(shù)X;2.設(shè)數(shù)據(jù)集S1為由鍵盤中鍵值(僅指日常輸入用的字母、數(shù)字和符號的鍵值)組成的集,共有單位元素46個;3.計算X的平方,X的3次方,X的4次方........,至X的46次方,連同隨機(jī)數(shù)X組成共有46個單位元素的集S{X,X2,X3,X4......,X46},將集S中的每個元素對47求模,所得的各模值組成一個新的集S2{B1,B2,B3,B4......,B46},在此算法中得出的集S2中的元素,一般剛好全是1到46且不相同的數(shù),如有相同,則重新產(chǎn)生一個隨機(jī)數(shù),采取相同的算法,直到集S2中的元素為1到46且不相同為止;4.給鍵盤的46個鍵值編號,成為一個集S1{C1,C2,C3,C4......,C46},這就有了一個從S1到S2一對一的映射,即為安全算法F(S1,S2);5.在顯示器上顯示一個虛擬鍵盤,虛擬鍵盤上顯示與實際鍵盤上不同的鍵值,具體方法為如C1為實際鍵盤鍵值“A”的編號,而B1的值為26,而C26為實際鍵盤鍵值“Y”的編號,則在虛擬鍵盤的原實際鍵盤鍵值“A”的位置顯示虛擬鍵盤鍵值“Y”,虛擬鍵盤的每個鍵值都按這個方法顯示,得到的虛擬鍵盤,如圖3所示;6.如果要輸入的關(guān)鍵信息為“Y”,可用兩種方法輸入,一種是用鼠標(biāo)點(diǎn)擊虛擬鍵盤上顯示“Y”的虛擬鍵值(其對應(yīng)實際鍵盤為鍵值“A”),或者直接在實際鍵盤上敲擊鍵值“A”;當(dāng)然,身份認(rèn)證的密碼一般為多個數(shù)字、字母以及符號的組合,輸入密碼時,按前述方法逐一輸入即可;7.由集S2與集S1,在可信賴的設(shè)備環(huán)境例如計算機(jī)中即可將“A”解密還原成“Y”。
所述隨機(jī)數(shù)X為隨機(jī)產(chǎn)生,故所述數(shù)據(jù)集S1中的各元素對應(yīng)實際鍵盤的編號將隨時變換,即對應(yīng)的虛擬鍵盤將隨機(jī)變化,圖3只示意出其中的一種情形。如上述步驟6所述,假設(shè)要輸入的關(guān)鍵信息例如密碼為“Y”,通過本發(fā)明方法處理后,在實際鍵盤輸入是鍵值“A”(如產(chǎn)生的隨機(jī)數(shù)X變化,可以是任何在實際鍵盤上不是鍵值“Y”的其他鍵值),這樣使木馬或其他惡意程序攔截或竊取的就是假的信息“A”,同理,當(dāng)身份認(rèn)證的密碼一般為多個數(shù)字、字母以及符號的組合時,按照本發(fā)明方法輸入密碼,木馬或其他惡意程序攔截或竊取的都是假的信息,這樣就從真正意義上解決了信息輸入方面的安全問題。
上述的安全算法F(S1,S2)只列舉了一種較為簡單的算法,其可以根據(jù)需要而采取不同復(fù)雜程度的安全算法,這些與隨機(jī)數(shù)X的產(chǎn)生(選取)均屬現(xiàn)有技術(shù),此處不再贅述。
本發(fā)明防止木馬或病毒竊取輸入信息的方法能在單機(jī)環(huán)境中實現(xiàn),也能在網(wǎng)絡(luò)環(huán)境中實現(xiàn)。
如圖4所示,本發(fā)明防止木馬或病毒竊取輸入信息的方法能在單機(jī)環(huán)境中實現(xiàn)的具體步驟如下I.將關(guān)鍵信息輸入需要的單位信息組成一個集S1,設(shè)集S1共中有n個元素,即C{C1,C2,C3.....,Cn};II.程序產(chǎn)生一個隨機(jī)數(shù)A,可以取CPU當(dāng)前工作周期數(shù)與當(dāng)前時間進(jìn)行加減乘除等運(yùn)算產(chǎn)生這隨機(jī)數(shù),并求出Amod(n+1)=x;III.在不同的位置顯示集S1中不同元素Cx,記錄下Cx與顯示位置的關(guān)系,形成表T;IV.如果集S1中的元素沒顯示完全,則從步驟II重復(fù);V.如果要輸入單位信息C1,用鼠標(biāo)點(diǎn)擊顯示C1的位置,記錄下這一位置y1;VI.將要輸入的信息全部輸入后就有了位置序列Y(y1,y2,y3......);VII.用表T將位置序列Y在本機(jī)內(nèi)解密還原成關(guān)鍵信息串(C1,C2,C3......)。
在單機(jī)環(huán)境下實現(xiàn),必需要求本機(jī)內(nèi)具有一個可信賴的環(huán)境,即對木馬或病毒而言非本地的環(huán)境,只有在這個環(huán)境中解密才可達(dá)到安全輸入的目的。
如圖5所示,本發(fā)明防止木馬或病毒竊取輸入信息的方法能在網(wǎng)絡(luò)環(huán)境中實現(xiàn)的具體步驟如下1.用戶端向服務(wù)器端發(fā)送請求信號,服務(wù)器端產(chǎn)生一個隨機(jī)數(shù)A,并產(chǎn)生一個大素數(shù)N,即N遠(yuǎn)大于要輸入信息的單位信息總數(shù);2.S1可以在服務(wù)器端取認(rèn)證數(shù)據(jù)庫中的所有單位信息的集,也可在用戶端取鍵盤的鍵值的集,設(shè)集S1共有m個元素,即S1{a1,a2,a3......,am};3.安全算法F(S1,S2)采用以下算法①B=取整(N÷A),②對B進(jìn)行1次方、2次方、3次方......,m次方,將m次計算結(jié)果組成集C{c1,c2,c3......,cm},③對集C中的元素進(jìn)行模N,其結(jié)果組成集D{d1,d2,d3......,dm},
④對集D中的元素進(jìn)行從小到大的排序,為序E(e1,e2,e3......,em);4.按集D的下標(biāo)從1到m進(jìn)行以下處理設(shè)D中dx在E中為ey,則按序顯示集S1中ay的提示,并記錄下顯示位置;5.步驟3、4如果在服務(wù)端進(jìn)行,則將顯示提示以圖表的方式傳送給用戶端;如果步驟3、4在用戶端進(jìn)行,則從服務(wù)器端將隨機(jī)數(shù)A與大素數(shù)N傳送給用戶端;6.用戶端如果要輸入信息X,可用鼠標(biāo)點(diǎn)擊顯示X的地方,也可按鍵盤提示方式從鍵盤對應(yīng)輸入;記錄X位置對應(yīng)集D中的下標(biāo)x;7.將要輸入的信息全部輸入后就有了信息加密后的序列X(x1,x2,x3......xm);8.用戶端將序列X傳送給服務(wù)器端,服務(wù)端按F(S1,S2)將序列X解密還原,并進(jìn)行認(rèn)證。
本發(fā)明的關(guān)鍵在于利用一對一或多對一的映射加密,使用戶輸入的關(guān)鍵信息例如帳號密碼隨時隨地都是以密文形式存在,從而有效地防止木馬等惡意程序竊取。其中的安全算法、顯示提示以及還原解密的輔助程序均可采用現(xiàn)有技術(shù)。
權(quán)利要求
1.一種防止木馬或病毒竊取輸入信息的方法,用于計算機(jī)單機(jī)或網(wǎng)絡(luò)環(huán)境中的關(guān)鍵信息輸入,其特征在于包括以下步驟A.假設(shè)關(guān)鍵信息輸入需要的所有單位信息為數(shù)據(jù)集S1,而輸入設(shè)備M可輸入的所有單位信息組成另一數(shù)據(jù)集S2;B.定義一個從S1到S2一對一或一對多的映射,映射加密安全算法為F(S1,S2);C.假設(shè)要輸入的關(guān)鍵信息的單位信息為x1、x2.....xn∈S1,而x1、x2.....xn在集S2中對應(yīng)映射為y1、y2.....yn,則從所述輸入設(shè)備M中輸入y1、y2.....yn;D.在可信賴的設(shè)備環(huán)境中將y1、y2.....yn解密還原成x1、x2.....xn,得到明確信息。
2.如權(quán)利要求1所述的防止木馬或病毒竊取輸入信息的方法,其特征在于所述步驟B與步驟C之間還包括下述步驟在顯示設(shè)備上顯示提示,提示經(jīng)映射加密的關(guān)鍵信息輸入所需的所有單位信息的數(shù)據(jù)集S1。
3.如權(quán)利要求1或2所述的防止木馬或病毒竊取輸入信息的方法,其特征在于所述步驟B中的安全算法F(S1,S2)可采用現(xiàn)有的各種安全算法。
4.如權(quán)利要求3所述的防止木馬或病毒竊取輸入信息的方法,其特征在于所述安全算法F(S1,S2)中的數(shù)據(jù)集S1和數(shù)據(jù)集S2可由同一設(shè)備提供;也可由不同的設(shè)備提供。
5.如權(quán)利要求4所述的防止木馬或病毒竊取輸入信息的方法,其特征在于當(dāng)所述數(shù)據(jù)集S1和數(shù)據(jù)集S2由同一設(shè)備提供時,所述步驟B中還包括以下步驟a.在顯示器上顯示一個虛擬設(shè)備;b.通過安全算法F(S1,S2)處理后,在所述虛擬設(shè)備上顯示與實際設(shè)備上不同的鍵值,但虛擬設(shè)備上的鍵值與實際設(shè)備上的鍵值一一對應(yīng)。
6.如權(quán)利要求5所述的防止木馬或病毒竊取輸入信息的方法,其特征在于所述步驟a中虛擬設(shè)備的顯示采用花紋背景或閃爍顯示,或在不同的位置顯示,或移動顯示,或不同大小顯示。
7.如權(quán)利要求4所述的防止木馬或病毒竊取輸入信息的方法,其特征在于當(dāng)所述數(shù)據(jù)集S1和數(shù)據(jù)集S2由不同的設(shè)備提供時,所述步驟B中還包括以下步驟①在顯示器上用多于能顯示出鍵值的相鄰坐標(biāo)組成對同一鍵值的映射;②在各組坐標(biāo)上對應(yīng)顯示其映射的鍵值,形成一個多對一的映射。
8.如權(quán)利要求6所述的防止木馬或病毒竊取輸入信息的方法,其特征在于所述鍵值的顯示采用花紋背景或閃爍顯示。
全文摘要
本發(fā)明公開了一種防止木馬或病毒竊取輸入信息的方法,用于計算機(jī)單機(jī)或網(wǎng)絡(luò)環(huán)境中的關(guān)鍵信息輸入,包括以下步驟A.假設(shè)關(guān)鍵信息輸入所需的所有單位信息為數(shù)據(jù)集S1,而輸入設(shè)備M可輸入的所有單位信息組成另一數(shù)據(jù)集S2;B.定義一個從S1到S2一對一或一對多的映射,映射加密安全算法為F(S1,S2);C.假設(shè)要輸入的關(guān)鍵信息的單位信息為x
文檔編號H04L9/32GK1604004SQ20041005213
公開日2005年4月6日 申請日期2004年11月4日 優(yōu)先權(quán)日2004年11月4日
發(fā)明者白根弟 申請人:白根弟