專利名稱:一種公開加密方式的口令動態(tài)加密輸入方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種公開加密方式的口令動態(tài)加密輸入方法,特別是涉及電子隨機(jī)數(shù)生成器動態(tài)生成三個加密安全級別和隨機(jī)不可預(yù)測動態(tài)密鑰,對口令動態(tài)加密后再進(jìn)行輸入的方法。
背景技術(shù):
口令也稱密碼是最廣泛使用的一種驗證用戶身份合法性的方法。授權(quán)的用戶都擁有一個區(qū)別于系統(tǒng)中其它用戶的標(biāo)識ID(用戶名,帳號,甚至是磁卡)和只有自己知道的秘密口令(PW或PIN)。如果用戶想登錄系統(tǒng),就必須輸入自己的私人信息(如用戶名、口令等),系統(tǒng)由此判斷其合法性,從而實施訪問控制。而這種私人信息的輸入是公開的,即使在網(wǎng)上也會受到黑客的監(jiān)視,因此存在很大的風(fēng)險,目前公認(rèn)的比較安全的動態(tài)口令生成方法因其涉及具體過程復(fù)雜,且有時需要專門的口令生成器,對計算機(jī)不夠熟的用戶是不易掌握,因此限制了其普及與推廣,再由此動態(tài)口令不存在真實口令,無法通過修改真實口令來對用戶已知的不安全因素(如口令生成器丟失或被破解)加以保證,因此適用性不強(qiáng)。
要解決這類問題,一方面需要口令輸入時可以公開,即采用口令動態(tài)加密,用戶在不同時間輸入時輸入的結(jié)果是不同的,這樣就不怕別人用各種方式偷看,即別人看到的并不是真實口令,另一方面,多數(shù)用戶不需特別的學(xué)習(xí)便能夠掌握該方法,即需要采用簡便易用的加密方法。另外為安全性要更高,還須采用多重安全機(jī)制,即除真實口令不變時每次輸入不同外,還應(yīng)該具有真實口令的可修改性。只有做到這些才能最大限度地保證安全性。
美國專利US-4720860揭示了一種動態(tài)口令認(rèn)證系統(tǒng),它應(yīng)用一個靜態(tài)變量和一個源于時間的動態(tài)變量作為保密的密碼算法的輸入?yún)?shù)。每位授權(quán)用戶的動態(tài)口令生成器中存儲有一個固定碼,同時在該生成器的表面也印記了這個固定碼,以防忘記,動態(tài)口令生成器每隔一個固定的時間間隔(例如每隔一分鐘)就自動生成一個不可預(yù)測的動態(tài)口令,它是該生成器固定碼作為靜態(tài)變量由給出密碼算法生成的,授權(quán)用戶一旦要請求訪問,就向認(rèn)證節(jié)點傳輸自己的固定碼和當(dāng)時生成器所顯示的動態(tài)口令。認(rèn)證節(jié)點使用完全相同的算法也生成一個動態(tài)口令,以確定該口令與用戶口令是否匹配,在后續(xù)專利US-4885778中雖然有所改進(jìn)但仍需有口令生器。而在專利ZL-00106192.5中采用的方法仍需要口令生器,此方法雖然具有一定的安全性,但只能對安全性要求特別高的專業(yè)級用戶適用,不便普及。而當(dāng)口令生成器丟失將對用戶造成嚴(yán)重?fù)p失。
以上發(fā)明表面上是動態(tài)的,但本質(zhì)上并非動態(tài),因為生成的口令即與固定碼(或用戶名)有關(guān),同時又與時間有關(guān)的。即動態(tài)口令是固定碼與時間的函數(shù)(即固定算法),不然保證不了系統(tǒng)對用戶識別,一但被他人破解了這種函數(shù)關(guān)系將可完全冒充真實用戶,此時真實用戶又不能修改自己的口令,因此其實用性并不是很好。
發(fā)明內(nèi)容
本發(fā)明目的是對用戶需公開輸入的私人信息如用戶名及口令等進(jìn)行加密輸入的方法,保證了用戶信息的安全性,杜絕了因輸入真實口令而使口令公開給用戶造成的損失。本發(fā)明采用了對用戶信息提供加密的方法,由用戶來加密并輸入,從而實現(xiàn)其公開輸入信息安全的目的。為了適用于不同類型用戶的要求,現(xiàn)將加密方案(或加密安全級別)分為三個等級,即加密安全級別為初級、中級和高級,用戶可根據(jù)實際需要選擇不同的加密安全級別,從而滿足了不同類型用戶對安全的不同需求,由于具有可修改口令的機(jī)制,使安全性更高。
本發(fā)明的目的通過以下技術(shù)方案實現(xiàn)本發(fā)明是由電子隨機(jī)數(shù)生成器動態(tài)生成三個加密安全級別和隨機(jī)不可預(yù)測動態(tài)密鑰即密碼表,對口令動態(tài)加密后再進(jìn)行輸入的方法,加密安全級別為初、中、高三個級別,用戶通過輸入單元將請求信息傳輸給中央處理單元并生成加密安全級別信息,通過顯示單元提示給用戶,用戶將選擇好的加密級別信息輸入給中央處理單元,中央處理單元根據(jù)不同的加密安全級別生成不同類型的動態(tài)密鑰,并將用于口令的所有數(shù)字或符號及加密關(guān)系通過顯示單元顯示給用戶,用戶根據(jù)顯示提示,將真實口令進(jìn)行加密處理,并通過輸入單元傳輸給中央處理單元,中央處理單元根據(jù)密鑰進(jìn)行加密、解密處理,得到真實口令,口令正確,則輸出單元用戶合法,允許訪問的指令,口令不正確,則最多可以進(jìn)行三次輸入,若均不正確,則輸出單元發(fā)出拒絕操作指令。用戶需要修改口令時,可重新選擇加密安全級別后,再進(jìn)行加密輸入新真實口令。存儲單元用于存儲真實口令及修改后的真實口令。
本發(fā)明是一種公開加密方式的真實口令動態(tài)輸入方法,該方法利用計算機(jī)系統(tǒng)實現(xiàn),由中央處理單元、顯示單元、輸入單元、輸出單元、存儲單元和能夠由顯示單元提供的信息進(jìn)行加密處理的用戶組成,其特征在于包括如下步驟1.1當(dāng)用戶劃卡或通過網(wǎng)絡(luò)等方式請求訪問時,首先由中央處理單元103電子隨機(jī)數(shù)生成器動態(tài)生成三個不同加密安全級別對應(yīng)的位置標(biāo)志及代表的數(shù)字標(biāo)志301;1.2通過顯示單元101動態(tài)顯示三個不同的加密安全級別選擇顯示圖101-1,其位置201不是固定的;
1.3用戶對三個加密安全級別的選擇302是動態(tài)的,級別分為初級、中級和高級;1.4當(dāng)用戶選擇的級別為初級和中級時,由中央處理單元一次動態(tài)生成相應(yīng)的密鑰,生成的初級密鑰303-1為全零,即真實口令與加密后的口令完全相同,中級密鑰303-2為可用于口令的數(shù)字或符號的一種重新排列方法,是一種單表代換密碼;1.5由初級密鑰303-1、中級密鑰303-2將所有可用于口令的數(shù)字或符號315進(jìn)行加密處理;1.6根據(jù)密鑰的一種對應(yīng)關(guān)系把真實口令轉(zhuǎn)換成加密口令的過程即為加密處理304;1.7在顯示單元加密信息顯示圖101-2上,可以看到不同加密安全級別所顯示的加密關(guān)系,即401、402;1.8用戶根據(jù)自己選擇的加密安全級別,按照401、402上顯示的加密關(guān)系,通過輸入單元104,用戶一次性加密輸入真實口令305-1;1.9中央處理單元采用相同的密鑰,把加密口令轉(zhuǎn)換成真實口令,即進(jìn)行解密處理306;1.10當(dāng)用戶選擇的級別為高級時,是逐字加密,統(tǒng)一解密,其密鑰是一種多表代換密碼,首先將加密口令位數(shù)變量k定義初值為1即311,并生成第k位口令的密鑰303-3;1.11第k位口令的密鑰303-3將用于口令的數(shù)字或符號315進(jìn)行加密處理304并顯示第k位口令的加密關(guān)系313,即在401、402上顯示;1.12判別輸入是否完成314,若輸入未完成,加密輸入第k位口令305-2,再將位數(shù)變量k增加1,并重復(fù)以上過程,直至完成;1.13若輸入已完成,輸入確認(rèn)鍵,表示輸入已完成,并根據(jù)密鑰進(jìn)行解密處理306;1.14用戶在上述初級、中級、高級三個安全級別的基礎(chǔ)上對真實口令加密,中央處理單元解密成真實口令,真實口令匹配否?307;1.15與系統(tǒng)存儲單元讀取的真實口令316一致,口令正確即匹配,則輸出單元發(fā)出用戶合法,允許訪問或操作的指令308,同時對密鑰317清零;1.16與系統(tǒng)存儲單元讀取的真實口令316不一致,口令不正確(不匹配),用戶需重新選擇加密安全級別,并再次加密輸入;1.17判斷不匹配次數(shù),不匹配次數(shù)達(dá)到三次否?309;1.18若3次加密輸入均未通過,則輸出單元106對用戶發(fā)出拒絕用戶操作指令310;1.19當(dāng)用戶需要修改真實口令時,首先要確定新的真實口令再開始500;1.20根據(jù)用戶選擇的加密安全級別,按上述步驟加密輸入新的真實口令501;1.21判斷輸入次數(shù)是否已夠2次502,若不夠兩次則需重新加密輸入;1.22兩次的真實口令是否相同503,若不同則應(yīng)再加密輸入兩次真實口令,若相同,修改成功;1.23修改存儲單元存儲的真實口令504,修改結(jié)束505。
如1.1步驟所述,中央處理單元能夠動態(tài)生成隨機(jī)數(shù),并能進(jìn)行基本邏輯運算,生成密鑰,提供信息的動態(tài)加密,對用戶輸入解密;如1.2步驟所述,顯示單元能夠提示并顯示動態(tài)加密安全級別的選擇,提示并顯示真實口令的加密方法即對應(yīng)關(guān)系及顯示輸入狀態(tài);如1.3、1.4所述的用戶具有能夠由顯示單元提供的提示信息選擇加密安全級別,能夠牢記真實口令,并由顯示單元提供的加密提示信息即對應(yīng)關(guān)系實現(xiàn)真實口令的加密,并能夠?qū)崿F(xiàn)加密口令的輸入;如1.8步驟所述,具有信息輸入功能的輸入單元104為一輸入設(shè)備,能輸入用戶選擇的加密安全級別及加密口令,如鍵盤、鼠標(biāo)等。
如1.2、1.3步驟所述三個不同加密安全級別是中央處理單元利用電子隨機(jī)數(shù)生成器動態(tài)生成的三個不同的取值為0~9的整數(shù)代表;默認(rèn)的加密級別為初級,其顯示位置是隨機(jī)的;如1.4、1.5、1.6、1.9、1.10、1.11步驟所述的不同加密安全級別下密鑰是利用電子隨機(jī)數(shù)生成器動態(tài)生成密鑰,在完成加密解密處理后清零。
如1.4、1.5、1.6、1.7、1.9、1.10步驟所述密鑰和顯示單元,密鑰是加密前后的數(shù)字或符號的一種對應(yīng)關(guān)系即代換密碼,用兩行一一對應(yīng)地公開顯示在屏幕下方,其中第一行為按順序顯示可用于真實口令的數(shù)字或符號401,對應(yīng)在下邊一行為加密口令的數(shù)字或符號402,加密就是將第一行中的數(shù)字或符號對應(yīng)換成第二行對應(yīng)位置的數(shù)字或符號;用戶實施真實口令的加密就是通過顯示單元的提示選擇加密安全級別后根據(jù)真實口令,并按照屏幕提示的加密方法,在第二行中一次性(初級、中級)或按位(高級)找出對應(yīng)加密后的口令并輸入;口令每輸入一位,403上顯示一個*號,輸入位數(shù)與口令的位數(shù)相同。
如1.9步驟所述,當(dāng)中央處理單元接到輸入確認(rèn)信號時,按與加密相同的動態(tài)密鑰,對用戶輸入的加密口令進(jìn)行解密,即按與加密時的對應(yīng)關(guān)系反向?qū)?yīng)得到真實口令。
如所述的三個不同的隨機(jī)整數(shù)分別代表初級、中級和高級三個加密安全級別,當(dāng)加密安全級為初級時,其密鑰全為零,即所顯示兩行數(shù)字或符號內(nèi)容及位置完全相同;當(dāng)加密安全級別為中級時,其密鑰為一種單表代換密碼即為一種一一對應(yīng)的代換,此時不同的數(shù)字或符號加密后是不同的,相同的數(shù)字或符號加密的必相同,按此密鑰將可用于口令的所有數(shù)字或符號加密,并顯示在顯示單元的第二行402中,而第一行401為未加密前的數(shù)字或符號;當(dāng)加密安全級別為高級時,密鑰為一多表代換密碼,其對應(yīng)關(guān)系將根據(jù)口令的位數(shù)不同而不同即刻每輸入一位,要用一個單表代換密碼,按此密鑰將可用于口令的所有數(shù)字或符號進(jìn)行逐字或按位加密,每加密一字或一位后,要更換密碼表,此時相同的數(shù)字或符號加密后可能是不同的,不同的數(shù)字或符號加密后可能是相同的,按此密鑰將可用于口令的所有數(shù)字或符號加密,并顯示在顯示單元的第二行402中。
若所述的三個加密安全級別選擇是動態(tài)的,包括三個級別顯示的位置是不確定的,以及每一種級別對應(yīng)的數(shù)字是不確定的,中央處理單元利用隨機(jī)數(shù)生成器生成三個不同的0~9的可數(shù),如i,j,k,這里i代表加密安全級別為初級,j代表加密安全級別為中級,k代表加密安全級別為高級,三個位置可以用三個數(shù)1、2、3表示,同時1、2、3還表示加密安全級別分別為初級、中級和高級,中央處理單元再次利用隨機(jī)數(shù)生成器對此三個數(shù)隨機(jī)排列,得到三個級別的具體顯示位置,如第一個數(shù)是3,則第一個位置提示加密安全級別為高級時輸入k,第二個數(shù)是1,則第二個位置提示加密安全級別為初級時輸入i,第三個數(shù)是2,則第三個位置提示加密安全級別為中級時輸入j。
若所述加密安全級別為初級時,其密鑰全為零,因此其加密關(guān)系為Oi→Si,i=0,1,2,…,k-1,此時k為可用于口令的數(shù)字或符號的個數(shù),(這里Oi及Si分別代表加密前與加密后的數(shù)字或符號,以下同)此時中央處理單元直接將Oi作為Si,即Oi=Si,當(dāng)對應(yīng)于數(shù)字時,Oi=i,i=0,1,2…9,當(dāng)對應(yīng)于數(shù)字或符號時,Oi及Si可以是0到9的數(shù)字或大小寫字母及符號等;若所述加密安全級別為中級時,其加密關(guān)系為Oi→Si,i=0,1,2,…,k-1,此時k為可用于口令的數(shù)字或符號的個數(shù),由代換密碼加密方法,中央處理單元將Oi,重新排列得到Si,形成一種代換,這里i=0,1,2,…,k-1,按此種方法加密,不同的加密方法共有Ckn=k!/(k-n)!]]>種,這里n<k,或k!個,這里n>k,n為真實口令的位數(shù);若所述加密安全級別為高級,其加密關(guān)系為為Oi→Sii此時Oi代表加密前的數(shù)字或符號,Sii代表第i位加密前與加密后的數(shù)字或符號,系統(tǒng)將Oi按位數(shù)i的不同重新按任一順序?qū)i全排列而得到Sij,i=0,1,…n-1;j=0,1,…k-1,即形成多表代換密碼,這里k為可用于加密的數(shù)字或字符的個數(shù),由于代換為多表的,此時不同的加密方法共有nk個,其中n為口令的位數(shù)。
若所述加密安全級別為初級和中級時,用戶輸入時,當(dāng)進(jìn)入顯示單元的口令界面時,首先顯示單元顯示加密關(guān)系,即真實口令與加密后的口令的對應(yīng)關(guān)系為單表密碼,即單表代換,此時用戶一次性找到真實口令的數(shù)字或符號對應(yīng)到加密后的數(shù)字與符號,并按順序一次輸入,并確認(rèn)。
若所述加密級別為高級時,用戶輸入時,當(dāng)進(jìn)入顯示單元的口令界面時,顯示單元顯示加密關(guān)系為多表密碼,即多表代換,其密碼表為多個表,即口令的每一位需要一個密碼表,屏幕顯示時只顯示一個密碼表,即當(dāng)時要輸入的該位口令的加密密碼表,當(dāng)該位加密口令輸入完的同時,密碼表立即更新為下一個位的密碼表,此時根據(jù)密碼表的提示,按順序逐位輸入,并確認(rèn)。
本發(fā)明優(yōu)點和積極效果1.真正實現(xiàn)了密鑰的動態(tài)生成由于本發(fā)明中用于加密解密的密鑰是在用戶請求登錄或交易時生成的隨機(jī)數(shù),且在退出或交易結(jié)束時自動清零,因此真正實現(xiàn)了密鑰的動態(tài)生成使用后動態(tài)清除等的動態(tài)特性。
2.加密過程由用戶實現(xiàn)在整個加密解密過程中,由于把真實口令的加密過程轉(zhuǎn)由用戶實現(xiàn),真實口令在輸入過程中并不出現(xiàn),用戶輸入的只是加密后的口令,即使同一用戶在第二次輸入時,加密口令都會不同,因此,不怕密碼輸入時泄漏,真正實現(xiàn)了真實口令不變時的動態(tài)口令輸入。
3.加密安全級別選擇與顯示是動態(tài)的為使交易更安全,本發(fā)明中的安全級別的選擇也是動態(tài)的,即在指定的三個位置上不同級別的位置不是固定的,每個級別所使用數(shù)字是不固定的,這樣即使最低的安全級別,由于別人不知道其安全級別,仍具有很好的安全性。
4.防止破譯功能破譯的主要目的是破譯密鑰,而本發(fā)明是動態(tài)產(chǎn)生密鑰的,每次都不同,因此破譯密鑰無意義,只要加密規(guī)則與輸入的內(nèi)容不同時、完整地被看到,就可以保證安全性。如銀行自動取款系統(tǒng),當(dāng)別人要看輸入信息時就不可能同時看到加密規(guī)則,除非使用錄像機(jī)錄下輸入信息,同時又用照像機(jī)照下屏幕上的提示信息,才可破譯。但這很容易被用戶發(fā)現(xiàn),若用戶及時修改真實口令,則破譯將失敗。對于網(wǎng)絡(luò)應(yīng)用,黑客只能監(jiān)視用戶鍵盤的輸入,不易監(jiān)視到用戶屏幕顯示的所有內(nèi)容,因此,本發(fā)明的輸入方法用于網(wǎng)絡(luò)也是安全的,因此其防破譯功能是很強(qiáng)的。對于加密安全級別三,可以說是最安全的,因為用戶可以有目的的去找真實口令中的每一位的具體數(shù)字及加密后的數(shù)字,并輸入,但即使別人同時也在看屏幕提示,很難做到看清所有對應(yīng)關(guān)系及你輸入的具體內(nèi)容,而用戶看是有目的的,只看相應(yīng)位的加密結(jié)果,而當(dāng)用戶輸入某一位口令時密碼表馬上改變,并生成新密碼表,并提示輸入下一位,這樣由于密碼表的內(nèi)容多再加上不斷變化只要用戶不在輸入某一位口令時停留過長的時間,則別人(破譯者)很難得到你的真實口令。另外,本發(fā)明無單獨設(shè)備,防止了集中破譯或因設(shè)備丟失而對用戶造成的毀滅性損失。
5.方法簡便易于實用本發(fā)明涉及的方法只是產(chǎn)生適合于不同加密安全級別的隨機(jī)密鑰,提供加密方法,對輸入解密并確認(rèn),加密采用的是較安全的代換密碼,因此具有簡單實用的特點。
6.適用面非常廣從應(yīng)用角度,不但可以用于銀行取款等特定場所,還可以用于網(wǎng)絡(luò)上的各種應(yīng)用,如網(wǎng)絡(luò)銀行、網(wǎng)絡(luò)購物、網(wǎng)絡(luò)游戲、網(wǎng)上聊天及各種會員的登錄等。從用戶角度上來看由于采用了不同的加密安全級別,對于同一應(yīng)用,可以最大限度地滿足不同類型用戶的需求,如銀行取款系統(tǒng),只認(rèn)數(shù)字的人只要會使用原取款系統(tǒng),則用最低的安全級別,仍用原方法輸入即可,對于熟練的用戶可以根據(jù)不同的要求選擇加密安全級別為中級或高級。從兼容性角度來說,由于加密安全級別為初級時不實施加密處理,因此與輸入方法與原有系統(tǒng)一樣,兼容了以前系統(tǒng)的特性,同時由于別人不知道加密級別仍具有一定的安全性。另外本系統(tǒng)還可用于高級數(shù)字密碼鎖的密碼(口令)加密輸入。
7.對現(xiàn)有系統(tǒng)改動很小,不需要單獨設(shè)備由于本發(fā)明只是在原系統(tǒng)中的輸入確認(rèn)前加了一個加密處理模塊并不改變原系統(tǒng)的其它功能,因此只需軟件升級即可,不需要單獨的設(shè)備,使得本發(fā)明極易推廣。
8.由于本發(fā)明仍具有修改口令的功能,即使發(fā)現(xiàn)輸入被監(jiān)視只要及時(在口令未被破解前)及時修改真實口令,則會大大增加系統(tǒng)的安全性。
圖1為一種公開加密方式的口令動態(tài)輸入方法框圖。
圖2為一種公開加密方式的口令動態(tài)輸入方法流程圖。
圖3真實口令修改流程圖。
圖4顯示單元加密安全級別選擇顯示圖。
圖5顯示單元加密信息顯示圖。
實施方式原系統(tǒng)中口令是直接輸入真實口令,對于本發(fā)明所對應(yīng)的程序方法可取代其口令輸入所對應(yīng)的界面及模塊,其它部分均可不變,編譯后即可運行。
用戶通過劃卡或以其它方式進(jìn)入操作界面后,首先進(jìn)入如圖1所示的選擇界面101-1,此時要求用戶選擇難易級別,級別用0到9這10個數(shù)字中的隨機(jī)三個不同的數(shù)字分別代表隊加密安全級別的三個等級,用戶必須選擇某一級別,若不選可在若干秒(如三秒)自動進(jìn)入默認(rèn)的加密安全級別,如初級。
當(dāng)用戶選擇安全級別為初級或默認(rèn)級別作為加密安全標(biāo)準(zhǔn)時,用戶的輸入方法與現(xiàn)行傳統(tǒng)的輸入方式一致,因此其兼容性是很好的。如選擇界面101-1的屏幕顯示201中第三個位置此時提示的為加密安全級別為初級,對應(yīng)的隨機(jī)數(shù)為4,則用戶輸入4,或不輸入,過若干秒,此時進(jìn)入口令輸入界面101-2,可以發(fā)現(xiàn)加密關(guān)系401與會402完全相同,用戶原口令為“123”,則此時仍輸入“123”并按確認(rèn)鍵即可,此時由于密鑰301全為零,相當(dāng)于中央處理單元103不做任何處理,直接驗證305。
當(dāng)用戶選擇安全級別為中級作為加密安全標(biāo)準(zhǔn)時,按對應(yīng)關(guān)系401與402,加密后的口令與原口令中的數(shù)字一一對應(yīng),可以一次性將真實口令對應(yīng)找到加密后的新口令并一次性輸入新口令,此時不法之徒雖可偷看到輸入結(jié)果但卻是無用的,因為此結(jié)果只在此時有效,即使同一張卡第二次劃時輸入的口令也會不同,因此可以避免因口令泄漏而造成損失,如選擇界面101-1的屏幕顯示201中第一個位置提示的為加密安全級別為中級,對應(yīng)的隨機(jī)數(shù)為0,則用戶輸入0,此時進(jìn)入口令輸入界面101-2,可以通過加密關(guān)系401與402的對應(yīng)找到加密后的口令,若用戶原口令為“123”,且由401與402的對應(yīng)關(guān)系,設(shè)1->4,2->9,3->2(這里“->”為對應(yīng)關(guān)系以下相同,則此時輸入加密后的口令為“492”并按確認(rèn)鍵即可,此時即使別人看到“492”也是無用的,因為真實口令為“123”。
當(dāng)用戶選擇安全級別高級作為加密安全標(biāo)準(zhǔn)時,其加密基本原理與安全級別為中級類似,但不相同,是在安全級別為中級的基礎(chǔ)上去掉一次性對應(yīng)的關(guān)系,改成多表對應(yīng)關(guān)系,即當(dāng)輸入口令的某一位時,對應(yīng)關(guān)系402馬上換成下一個代換表,顯示的是下一位的對應(yīng)關(guān)系,由于口令中不同的位需要的密碼表是不同的,因此可以將不同的數(shù)字加密成相同的數(shù)字,因此其加密口令的數(shù)量隨位數(shù)指數(shù)級增加,從而使加密后的口令的破譯難度大大增加甚至是不可破譯(如用數(shù)字,大小寫字母及符號作為口令)完全可以用于網(wǎng)絡(luò)證券期貨交易,網(wǎng)絡(luò)銀行等對安全有一定要求的系統(tǒng),例如選擇界面101-1的屏幕顯示201中第二個位置提示的為加密安全級別為高級,對應(yīng)的隨機(jī)數(shù)為5,則用戶輸入5,此時進(jìn)入口令輸入界面101-2,可以通過加密關(guān)系401與會402的對應(yīng)找到加密后的口令的每一位。
例如用戶原口令為“1a!”,且由401與402的對應(yīng)關(guān)系,在第一位的密碼表中,設(shè)1->*,此時先輸入*,則此時密碼表402變化,并提示輸入第二位口令,再由對應(yīng)關(guān)系401與402,找到a->0,輸入0后對應(yīng)關(guān)系401與402再次被更新,此時若!->x則此時再輸入x并確認(rèn)即可,由此可發(fā)現(xiàn),原口令為”1a!”加密后的口令為“*0x”。
若只用數(shù)字作為口令,例如口令只取數(shù)字時,真實口令為123,而第一密碼表中1->4,此時第一位輸入4,并提示輸入第二位,在第二密碼表中2->8,此時第一位輸入8,并提示輸入第三位,在第三密碼表中3->4,此時實際輸入4并按確認(rèn)鍵,則輸入結(jié)束,這里真實口令為123而實際輸入的加密口令為484,其中含有同的數(shù)但真實口令中卻無相同的數(shù),因此安全性更高。
當(dāng)用戶選擇加密安全級別為初級、中級或高級時,按上述過程輸入,每輸入一位口令,403上顯示一位*號,輸入位數(shù)與口令位數(shù)相同,經(jīng)驗證與系統(tǒng)中原真實口令一致,屏幕上顯示口令正確,允許訪問。當(dāng)經(jīng)過三次輸入均未通過驗證,則屏幕上顯示用戶非法,并停止一切操作,直到下一位用戶發(fā)出操作請求。
當(dāng)用戶需要修改口令時,按上述過程重復(fù)輸入兩次,且滿足解密后的口令完全相同,則修改成功。
圖1是本發(fā)明的框圖。圖中104是輸入單元,當(dāng)用戶通過輸入單元104登錄或劃卡交易時,輸入單元將請求信息傳輸給處理單元103,中央處理單元103通過顯示單元101將加密安全級別選擇信息顯示給用戶105,用戶105通過輸入單元將選擇好的加密安全級別通過輸入單元104傳給中央處理單元103,中央處理單元103根據(jù)加密安全級別的選擇生成動態(tài)密鑰,并將可用于口令的所有數(shù)字或符號及其按此密鑰加密后的數(shù)字或符號通過顯示單元101給用戶105,用戶根據(jù)加密關(guān)系即屏幕顯示的對應(yīng)關(guān)系,將自己的真實口令加密即再一次性或逐字加密,并通過輸入單元104輸入給中央處理單元103,此時由中央處理單元103解密成真實口令。存儲單元用于存儲用戶真實口令及存儲用戶修改后的真實口令。輸出單元106是本方法與外界的接口部分,用戶合法,則通過輸出單元允許進(jìn)一步操作或訪問,用戶不合法,則不能通過輸出單元進(jìn)一步訪問。
這里,中央處理單元103是能夠具有產(chǎn)生隨機(jī)數(shù)等功能的處理器,可以是單片機(jī)、計算機(jī)主機(jī)或服務(wù)器等。能夠生成隨機(jī)數(shù),用于代表不同的加密安全級別和生成不同加密安全級別下的密鑰,并能進(jìn)行加密、解密處理;顯示單元101是可以具有信息顯示功能的各種顯示器,用于顯示加密安全級別的提示及加密規(guī)則的提示;能夠加密處理的用戶105,是指用戶可以能夠看清顯示單元顯示的提示信息,并了解自己真實口令的加密方法,能按某一加密安全級別對自己的真實口令進(jìn)行加密處理,這里,只要能看清數(shù)字或符號,并能通過屏幕提示的代換規(guī)則進(jìn)行代換處理,將自己的真實口令代換成加密口令的用戶均可;輸入單元104可以是能夠輸入字符、符號等信息的計算機(jī)鍵盤、數(shù)字鍵盤、觸摸屏幕及一些專用鍵盤等,用于輸入數(shù)字及符號;存儲單元102可以是磁盤文件、網(wǎng)絡(luò)數(shù)據(jù)庫文件及ROM中存儲的口令信息等。
圖2是本發(fā)明的流程圖,本圖是圖1的詳細(xì)描述,圖1中顯示單元101被分解成加密安全級別顯示201及加密關(guān)系顯示401、402;中央處理單元103被分解成為加密安全級別生成處理及對應(yīng)于不同加密安全級別的密鑰產(chǎn)生303,還包括加密處理304、解密處理306等部分,可選的數(shù)字與符號315為可用于口令的可能的數(shù)字或符號。
當(dāng)用戶通過劃卡或通過網(wǎng)絡(luò)請求訪問時,首先由處理單元103生成不同安全級別的的標(biāo)志301,即不同安全級別對應(yīng)的不同位置標(biāo)志及代表的數(shù)字標(biāo)志,通過顯示單元101-1顯示不同的安全級別,此時由用戶選擇302,當(dāng)選擇的安全級別為初級或中級時,系統(tǒng)一次生成相應(yīng)的加密密鑰303-1、303-2,303-1中的密鑰為全零,303-2中的密鑰為可用于口令的數(shù)字或符號的一種重新排列方法,由此密鑰將所有可用于口令的數(shù)字或符號進(jìn)行加密處理304,并通過顯示單元101顯示加密方法401、402,此時用戶可一次性將自己的真實口令加密并通過輸入單元104輸入305-1,系統(tǒng)則用相同的密鑰對其解密306,而當(dāng)用用戶選擇的安全級別為高級時,與安全級別為初、中級不同的是并非一次性加密真實口令,而是逐字加密,統(tǒng)一解密,其特點為,將提示輸入的加密口令的位數(shù)變量k定義為1,即311,與安全級別為中級相似,生成一種排列方法的密鑰303-3,由此密鑰將用于口令的數(shù)字或符號315進(jìn)行加密處理,并顯示加密關(guān)系311(即401、402),此時若輸入未完成,則輸入相應(yīng)位的加密結(jié)果,位數(shù)變量k加1,并重復(fù)以上過程,直至輸入完成,此時輸入確認(rèn)鍵,表示輸入完成,并通過解密處理306解密,對于以上三種安全級別的加密輸入,解密出的結(jié)果是否為真實口令做判別307,與系統(tǒng)存儲單元讀取的真實口令316一致,則說明用戶合法,允許用戶訪問,并對密鑰清零317,若不相符,則可重復(fù)以上過程即重新選擇安全級別,并加密輸入,若三次輸入均未通過,則可拒絕用戶操310。
圖3為真實口令修改流程圖,登錄后的用戶經(jīng)500開始修改自己的真實口令,先想好自己的新真實口令,按圖2的過程加密輸入新真實口令即先選擇加密安全級別,并按提示將自己的新真實口令加密后輸入501,此時再判斷加密輸入新真實口令的次數(shù)若次數(shù)不夠兩次則重新加密輸入新口令,若夠兩次,則判斷兩次解密后的真實口令是否相同,若相同,則修改成功,并修改存儲單元504,若不成功,還要再加密輸入兩次新的真實口令。
圖4顯示單元加密安全級別選擇顯示圖,201a、201b及201c為用于顯示三個加密安全級別的位置,但具體哪個位置顯示的是什么級別,要由中央處理單元隨機(jī)確定,并且每個級別代表的數(shù)字也是隨機(jī)的,403為輸入提示框,當(dāng)代表不同級別的隨機(jī)數(shù)不易被發(fā)現(xiàn)時,不同級別對應(yīng)的位置也可以固定,可以安全將級別為初級作為默認(rèn)安全級別,即不對級別選擇時,中央處理單元經(jīng)過若干秒后自動進(jìn)入此安全級別。
圖5為顯示單元加密信息顯示圖,是加密口令顯示及輸入界面,此時403為口令輸入框,輸入時可顯示為“*”號,401及402是用于顯示加密關(guān)系的信息提示行,第一行401為可用于口令的數(shù)字或符號,其順序可以是有規(guī)律的連續(xù)順序,但第二行402為加密后的數(shù)字或符號,除加密安全級別為初級,均無規(guī)律。
權(quán)利要求
1.一種公開加密方法的口令動態(tài)加密輸入方法,該方法利用計算機(jī)系統(tǒng)實現(xiàn),由中央處理單元(103)、顯示單元(101)、輸入單元(104)、輸出單元(106)、存儲單元(102)和能夠由顯示單元提供的信息進(jìn)行加密處理的用戶(105)組成。其特征在于包括如下步驟1.1當(dāng)用戶劃卡或通過網(wǎng)絡(luò)等方式請求訪問時,首先由中央處理單元(103)電子隨機(jī)數(shù)生成器動態(tài)生成三個不同的加密安全級別對應(yīng)的位置標(biāo)志及代表的數(shù)字標(biāo)志(301);1.2通過顯示單元(101)動態(tài)顯示三個不同的加密安全級別選擇顯示圖(101-1),其位置(201)不是固定的;1.3用戶對三個加密安全級別的選擇(302)是動態(tài)的,級別分為初級、中級和高級;1.4當(dāng)用戶選擇的加密安全級別為初級和中級時,由中央處理單元一次動態(tài)生成相應(yīng)的密鑰,生成的初級密鑰(303-1)為全零,即真實口令與加密后的口令完全相同,中級密鑰(303-2)為可用于口令的數(shù)字或符號的一種重新排列方法,是一種單表代換密碼;1.5由初級密鑰(303-1)、中級密鑰(303-2)將所有可用于口令的數(shù)字或符號(315)進(jìn)行加密處理;1.6根據(jù)密鑰的一種對應(yīng)關(guān)系把真實口令轉(zhuǎn)換成加密口令的過程即為加密處理(304);1.7在顯示單元加密信息顯示圖(101-2)上,可以看到不同加密安全級別所顯示的加密關(guān)系,即(401)、(402);1.8用戶根據(jù)自己選擇的加密安全級別,按照(401)、(402)上顯示的加密關(guān)系,通過輸入單元(104),用戶一次性加密輸入真實口令(305-1);1.9中央處理單元(103)采用相同的密鑰,把加密口令轉(zhuǎn)換成真實口令,即進(jìn)行解密處理(306);1.10當(dāng)用戶選擇的級別為高級時,是逐字加密,統(tǒng)一解密,其密鑰是一種多表代換密碼,首先將加密口令位數(shù)變量k定義初值為1即(311),并生成第k位口令的密鑰(303-3);1.11第k位口令的密鑰(303-3)將用于口令的數(shù)字或符號(315)進(jìn)行加密處理(304)并顯示第k位口令的加密關(guān)系(313),即在(401)、(402)上顯示;1.12判別輸入是否完成(314),若輸入未完成,加密輸入第k位口令(305-2),再將位數(shù)變量k增加1,并重復(fù)以上過程,直至完成;1.13若輸入已完成,輸入確認(rèn)鍵,表示輸入已完成,并根據(jù)密鑰進(jìn)行解密處理(306);1.14用戶在上述初級、中級、高級三個安全級別的基礎(chǔ)上對真實口令加密,中央處理單元(103)解密成真實口令,真實口令匹配否?(307);1.15與系統(tǒng)存儲單元讀取的真實口令(316)一致,口令正確即匹配,則輸出單元(106)發(fā)出用戶合法,允許訪問或操作的指令(308),同時對密鑰(317)清零;1.16與系統(tǒng)存儲單元讀取的真實口令(316)不一致,口令不正確即不匹配,用戶需重新選擇安全級別,并再次加密輸入;1.17判斷不匹配次數(shù),不匹配次數(shù)達(dá)到三次否?(309);1.18若3次加密輸入均未通過,則輸出單元(106)對用戶發(fā)出拒絕操作指令(310);1.19當(dāng)用戶需要修改真實口令時,首先要確定新的真實口令再開始(500);1.20根據(jù)用戶選擇的加密安全級別,按上述步驟加密輸入新的真實口令(501);1.21判斷輸入次數(shù)是否已夠2次(502),若不夠兩次則需重新加密輸入;1.22兩次的真實口令是否相同(503),若不同則應(yīng)再加密輸入兩次真實口令,若相同,修改成功;1.23修改存儲單元存儲的真實口令(504),修改結(jié)束(505)。
2.如權(quán)利要求1所述一種公開加密方式的口令動態(tài)加密輸入方法,其特征在于如1.1步驟所述,中央處理單元(103)能夠動態(tài)生成隨機(jī)數(shù),并能進(jìn)行基本邏輯運算,生成密鑰,提供信息的動態(tài)加密,對用戶輸入解密;如1.2步驟所述,顯示單元(101)能夠提示并顯示動態(tài)加密安全級別的選擇,提示并顯示真實口令的加密方法(對應(yīng)關(guān)系)及顯示輸入狀態(tài);如1.3、1.4所述的用戶具有能夠由顯示單元(101)提供的提示信息選擇加密安全級別,能夠牢記真實口令,并由顯示單元(101)提供的加密提示信息即對應(yīng)關(guān)系實現(xiàn)真實口令的加密,并能夠?qū)崿F(xiàn)加密口令的輸入;如1.8步驟所述,具有信息輸入功能的輸入單元(104)為一輸入設(shè)備,能輸入用戶選擇的加密安全級別及加密口令,如鍵盤、鼠標(biāo)等。
3.如權(quán)利要求1所述一種公開加密方式的口令動態(tài)加密輸入方法,其特征在于如1.2、1.3步驟所述三個不同加密安全級別是中央處理單元(103)利用電子隨機(jī)數(shù)生成器動態(tài)生成的三個不同的取值為0~9的整數(shù)代表;默認(rèn)的加密級別為初級,其顯示位置是隨機(jī)的;如1.4、1.5、1.6、1.9、1.10、1.11步驟所述的不同加密安全級別時密鑰是利用電子隨機(jī)數(shù)生成器動態(tài)生成密鑰,在完成加密、解密處理后清零(317)。
4.如權(quán)利要求1所述一種公開加密方式的口令動態(tài)加密輸入方法,其特征在于如1.4、1.5、1.6、1.7、1.9、1.10步驟所述密鑰和顯示單元(101),密鑰是加密前后的數(shù)字或符號的一種對應(yīng)關(guān)系即代換密碼,用兩行一一對應(yīng)地公開顯示在屏幕下方,其中第一行為按順序顯示可用于口令的數(shù)字或符號(401),對應(yīng)在下邊一行為加密口令的數(shù)字或符號(402),加密就是將第一行中的數(shù)字或符號對應(yīng)換成第二行對應(yīng)位置的數(shù)字或符號;用戶實施真實口令的加密就是通過顯示單元的提示選擇加密級別后根據(jù)真實口令,并按照屏幕提示的加密方法,在第二行中一次性(初級、中級)或按位(高級)找出對應(yīng)加密后的口令并輸入;口令每輸入一位,(403)上顯示一個*號,輸入的位數(shù)與口令位數(shù)相同。
5.如權(quán)利要求1所述一種公開加密方式的口令動態(tài)加密輸入方法,其特征在于如1.9步驟所述,當(dāng)中央處理單元接到輸入確認(rèn)信號時,按與加密相同的動態(tài)密鑰,對用戶輸入的加密口令進(jìn)行解密處理(306),即按與加密時的對應(yīng)關(guān)系反向?qū)?yīng)得到真實口令。
6.如權(quán)利要求3所述一種公開加密方式的口令動態(tài)加密輸入方法,其特征在于如所述的三個不同的隨機(jī)整數(shù)分別代表初級、中級和高級三個加密安全級別,當(dāng)加密安全級為初級時,其密鑰全為零,即所顯示兩行數(shù)字或符號內(nèi)容及位置完全相同;當(dāng)加密安全級別為中級時,其密鑰為一種單表代換密碼即為一種一一對應(yīng)的代換,此時不同的數(shù)字或符號加密后是不同的,相同的數(shù)字或符號加密的必相同,按此密鑰將可用于口令的所有數(shù)字或符號加密,并顯示在顯示單元的第二行(402)中而第一行(401)為未加密前的數(shù)字或符號;當(dāng)加密安全級別為高級時,密鑰為一多表代換密碼,其對應(yīng)關(guān)系將根據(jù)口令的位數(shù)不同而不同即每輸入一位,要用一個單表代換密碼,按此密鑰將可用于口令的所有數(shù)字或符號進(jìn)行逐字或按位加密,每加密一字或一位后,要更換密碼表,此時相同的數(shù)字或符號加密后可能是不同的,不同的數(shù)字或符號加密后可能是相同的,按此密鑰將可用于口令的所有數(shù)字或符號加密,并顯示在顯示單元的第二行(402)中。
7.如權(quán)利要求3所述一種公開加密方式的口令動態(tài)加密輸入方法,其特征在于若所述的三個加密安全級別選擇是動態(tài)的,包括三個級別顯示的位置是不確定的,以及每一種級別對應(yīng)的數(shù)字是不確定的,中央處理單元利用隨機(jī)數(shù)生成器生成三個不同的0~9的可數(shù),如i,j,k,這里i代表加密安全級別為初級,j代表加密安全級別為中級,k代表加密安全級別為高級,三個位置可以用三個數(shù)1、2、3表示,同時1、2、3還表示加密安全級別分別為初級、中級和高級),中央處理單元再次利用隨機(jī)數(shù)生成器對此三個數(shù)隨機(jī)排列,得到三個級別的具體顯示位置,如第一個數(shù)是3,則第一個位置提示加密安全級別為高級時輸入k,第二個數(shù)是1,則第二個位置提示加密安全級別為初級時輸入i,第三個數(shù)是2,則第三個位置提示加密安全級別為中級時輸入j。
8.如權(quán)利要求6所述一種公開加密方式的口令動態(tài)加密輸入方法,其特征在于若所述加密安全級別為初級時,其密鑰全為零,因此其加密關(guān)系為Oi→Si,i=0,1,2,...,k-1,此時k為可用于口令的數(shù)字或符號的個數(shù),(這里Oi及Si分別代表加密前與加密后的數(shù)字或符號,以下同)此時中央處理單元直接將Oi作為Si,即Oi=Si,當(dāng)對應(yīng)于數(shù)字時,Oi=i,i=0,1,2...9,當(dāng)對應(yīng)于數(shù)字或符號時,Oi及Si可以是0到9的數(shù)字或大小寫字母及符號等;若所述加密安全級別為中級時,其加密關(guān)系為Oi→Si,i=0,1,2,...,k-1,此時k為可用于口令的數(shù)字或符號的個數(shù),由代換密碼加密方法,中央處理單元將Oi,重新排列得到Si,形成一種代換,這里i=0,1,2,...,k-1,按此種方法加密,不同的加密方法共有Ckn=k!/(k-n)!]]>種,這里n<k,或k!個,這里n>k,n為真實口令的位數(shù);若所述加密安全級別為高級,其加密關(guān)系為為Oi→Sii,此時Oi代表加密前的數(shù)字或符號,Sii代表第i位加密前與加密后的數(shù)字或符號,系統(tǒng)將Oi按位數(shù)i的不同重新按任一順序?qū)i全排列而得到Sij,i=0,1,...n-1;j=0,1,...k-1,即形成多表代換密碼,這里k為可用于加密的數(shù)字或字符的個數(shù),由于代換為多表的,此時不同的加密方法共有nk個,其中n為口令的位數(shù)。
9.如權(quán)利要求8所述一種公開加密方式的口令動態(tài)加密輸入方法,其特征在于若所述加密安全級別為初級和中級時,用戶輸入時,當(dāng)進(jìn)入顯示單元的口令界面時,首先顯示單元顯示加密關(guān)系,即真實口令與加密后的口令的對應(yīng)關(guān)系為單表密碼,即單表代換,此時用戶一次性找到真實口令的數(shù)字或符號對應(yīng)到加密后的數(shù)字與符號,并按順序一次輸入,并確認(rèn)。
10.如權(quán)利要求8所述一種公開加密方式的口令動態(tài)加密輸入方法,其特征在于若所述加密級別為高級時,用戶輸入時,當(dāng)進(jìn)入顯示單元的口令界面時,顯示單元顯示加密關(guān)系為多表密碼,即多表代換,其密碼表為多個表,即口令的每一位需要一個密碼表,屏幕顯示時只顯示一個密碼表,即當(dāng)時要輸入的該位口令的加密密碼表,當(dāng)該位加密口令輸入完的同時,密碼表立即更新為下一個位的密碼表,此時根據(jù)密碼表的提示,按順序逐位輸入,并確認(rèn)。
全文摘要
一種公開加密方式的口令動態(tài)加密輸入方法,特別涉及電子隨機(jī)數(shù)生成器動態(tài)生成三個加密安全級別和隨機(jī)不可預(yù)測動態(tài)密鑰對真實口令動態(tài)加密輸入,由用戶選擇初、中、高三個不同的加密安全級別,輸入單元將請求信息傳輸給中央處理單元,該單元根據(jù)加密安全級別生成動態(tài)密鑰,并將用于口令的所有數(shù)字或符號加密,通過顯示單元將用于口令的所有數(shù)字或符號及按此密鑰將加密后的數(shù)字或符號及其對應(yīng)關(guān)系提示給用戶,用戶將真實口令加密后通過輸入單元傳輸至中央處理單元解密處理,輸出單元發(fā)出口令正確,允許訪問或口令不正確,拒絕操作指令,存儲單元用于存儲真實口令及修改后的真實口令。本發(fā)明可用于計算機(jī)系統(tǒng)對用戶身份進(jìn)行認(rèn)證。
文檔編號H04L9/14GK1599313SQ200410011019
公開日2005年3月23日 申請日期2004年8月1日 優(yōu)先權(quán)日2004年8月1日
發(fā)明者常志文 申請人:常志文