亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

隨機隱詢式密碼認證技術(shù)的制作方法

文檔序號:7659298閱讀:216來源:國知局

專利名稱::隨機隱詢式密碼認證技術(shù)的制作方法
技術(shù)領(lǐng)域
:本技術(shù)是一種在有線或無線互聯(lián)網(wǎng)系統(tǒng)、獨立網(wǎng)絡(luò)系統(tǒng)、金融系統(tǒng)、保險系統(tǒng)以及需要身份驗證的應(yīng)用領(lǐng)域內(nèi),為保障合法用戶信息安全的全新技術(shù)。該技術(shù)旨在建立一種讓帳號、密碼信息只存在于服務(wù)器和用戶頭腦中,并杜絕在輸入過程中造成帳號泄密可能性的解決方案。
背景技術(shù)
:隨著網(wǎng)絡(luò)化、信息化的發(fā)展,利用電腦、手機,通過網(wǎng)絡(luò)收發(fā)電子郵件,聊天,網(wǎng)絡(luò)游戲,操作網(wǎng)上銀行、股票已經(jīng)普及。各種網(wǎng)絡(luò)服務(wù)提供商、金融機構(gòu)為了緩解柜面工作壓力和排隊現(xiàn)象,也鼓勵用戶通過網(wǎng)絡(luò)平臺進行自助操作?,F(xiàn)行的身份認證機制,仍然沿用傳統(tǒng)的方法,即用戶首先在官方注冊,填寫帳號(或取得卡、證)、設(shè)定密碼及相關(guān)信息;使用時填寫帳號(或出具卡、證)并填寫密碼,系統(tǒng)在數(shù)據(jù)庫中查找該用戶,并比對其密碼,若兩者完全一致則認定為合法用戶,否則拒絕操作請求。但由于電腦軟、硬件體系設(shè)計和互聯(lián)網(wǎng)的開放式構(gòu)架,各種用于監(jiān)控和盜竊的惡意程序、木馬程序、與官方網(wǎng)站擁有相似域名和完全相同外觀,騙取帳號密碼的釣魚網(wǎng)站,以及用攝像頭偷拍或人為剽竊他人輸入過程等犯罪行為,使傳統(tǒng)的身份密碼認證機制無法保護用戶帳號的安全。由于帳號和密碼原本只存在于服務(wù)器和用戶記憶中,現(xiàn)在各種帳號泄密事件的發(fā)生,絕大多數(shù)發(fā)生在帳號的輸入過程中,這是由傳統(tǒng)的密碼驗證機制以下缺陷造成的1.每個按鍵代表一個有效字符(可以在帳號和密碼中出現(xiàn)的字符)。2.每個按鍵的位置固定不變。3.每次的輸入完全相同,包括位數(shù)和每位所對應(yīng)的字符。4.為防止釣魚網(wǎng)站騙取用戶帳號密碼,用戶在注冊或開戶時,與官方約定一個固定不變的靜態(tài)服務(wù)信息,當用戶登錄后看到該信息即可確認登錄的是官方網(wǎng)站。由于只能在登錄后確認網(wǎng)站的合法性,對于釣魚網(wǎng)站而言,用戶輸入帳號密碼后,就已經(jīng)騙取了帳號和密碼。所以這種“被動”式的證明方式,證明時為時已晚。
發(fā)明內(nèi)容為了杜絕輸入過程的泄密可能,同時對現(xiàn)有的電腦、手機等設(shè)備的體系設(shè)計和已有的輸入習慣保持兼容,本技術(shù)包含以下特點1.密碼有效字符(允許使用的字符)為0~9,A~Z共36個字符,字母不必區(qū)分大小寫(不需要用到字符按鍵區(qū)),密碼固定為10位。輸入設(shè)備默認使用鼠標。沒有鼠標則使用其原有鍵盤上的某一鍵模擬鼠標輸入的開始,然后用其他鍵輸入所需字符。2.“隨機分配”特點36個密碼有效字符在每次用戶登錄操作時,都將隨機的分配在10個按鍵上,并在顯示設(shè)備的屏幕上顯示。3.“字符集合”特點每個按鍵上包含3~4個有效的字符,每個字符用圖片表示。當用戶按下某一按鍵,該鍵上對應(yīng)多個字符,解除了傳統(tǒng)技術(shù)中按鍵與字符的唯一對應(yīng)性。4.“防智能識別”特點用圖片表示字符是為了讓非法程序成不能識別字符,因為人可以清楚的理解圖片代表的含義,雖然理論上程序可以識別,但將非常困難。例如程序不知道兩豎一橫是字符“H”。(為防止軟件智能識別,圖片可定期更換或隨機進行旋轉(zhuǎn)、變形等變化,以增加識別難度)5.每個按鍵上所包含的字符在每一次操作過程中將隨機變化,保證每次字符在按鍵上的分布都不相同,用戶的輸入也就不會相同。解除了傳統(tǒng)技術(shù)中輸入位置的固定性。6.“隨機隱蔽詢問”特點系統(tǒng)要求輸入的密碼位數(shù)可視安全要求而定,為了輸入方便快捷,只要求輸入5位。但最低不應(yīng)少于4位,因為在輸入3位,按鍵只有10個的情況下,任意輸入將有千分之一的概率命中。由于每次字符所在位置是隨機的,用戶根據(jù)原始密碼中的第一位所在的按鍵,來確定第一下輸入密碼中的第幾位。以圖1為例,設(shè)用戶原始密碼為ABCDE12345,登錄時,密碼第一位字符“A”被隨機分配在數(shù)字鍵盤的3鍵上,那么用戶第一下應(yīng)該輸入密碼中的第3位字符“C”,找到字符“C”所在的按鍵并按下,此時用戶便正確的輸入了一位。密碼第二位字符“B”被隨機分配在數(shù)字鍵盤的1鍵上,那么用戶第二下應(yīng)該輸入密碼中的第1位字符“A”,找到字符“A”所在的按鍵并按下,此時用戶便正確的輸入了兩位。密碼第三位字符“C”被隨機分配在數(shù)字鍵盤的3鍵上,那么用戶第三下應(yīng)該輸入密碼中的第3位字符“C”,找到字符“C”所在的按鍵并按下,此時用戶便正確的輸入了三位。密碼第四位字符“D”被隨機分配在數(shù)字鍵盤的9鍵上,那么用戶第四下應(yīng)該輸入密碼中的第9位字符“4”,找到字符“4”所在的按鍵并按下,此時用戶便正確的輸入了四位。密碼第五位字符“E”被隨機分配在數(shù)字鍵盤的0鍵上,那么用戶第五下應(yīng)該輸入密碼中的第10位字符“5”,找到字符“5”所在的按鍵并按下,此時用戶輸入了5位正確的密碼,服務(wù)器可以認定用戶為合法用戶。相當于服務(wù)器隨機詢問用戶設(shè)定的原始密碼中的第3位,第1位,第3位,第9位和第10位。在該過程中,即使被人看到或拍攝,由于人眼或攝像頭的焦點只有一個,觀察字符的分配就不能看清用戶手的按鍵動作,觀察手的動作就不能記憶字符的分配,或木馬程序已經(jīng)監(jiān)控了鼠標、鍵盤及電腦屏幕,在這些極端不利狀態(tài)下,由于不知道原始密碼,以及“快門視覺沖擊”特點的保護,被記錄的按鍵位置,按鍵順序,字符分布等信息都將無法利用,無法得知服務(wù)器詢問的是哪五位,也無法提交正確密碼。每次分配在每個按鍵上的多個字符完全不同,服務(wù)器每次詢問的將是完全不同的5位。7.“快門視覺沖擊”特點現(xiàn)在已經(jīng)應(yīng)用的“校驗碼”技術(shù),可以防止“暴力窮盡代入”逐一試取密碼,加上本技術(shù)包含的上述特點,在密碼的輸入過程中將很難被找到有用信息,較為可能而且簡單的盜竊漏洞就存在于用戶注冊過程中,對于在柜臺開戶注冊而言,如銀行等,將不存在該漏洞?!半S機隱蔽詢問”式登錄過程是在服務(wù)器和用戶這兩個已經(jīng)知道密碼的“個體”之間進行,針對密碼本身的任何問題雙方都知道答案,所以能夠防止“第三方”竊取。但注冊時,用戶必須準確的告知服務(wù)器所要設(shè)定的密碼,即每一位的唯一的密碼字符。本技術(shù)在注冊時同樣使用隨機分配字符的10個按鍵,通過程序算法的控制,在3次輸入中比對,找出在3次輸入中每一位上都出現(xiàn)的唯一一個字符,進而判斷用戶所要設(shè)定的密碼。由于用戶是根據(jù)屏幕上顯示的字符分布來按鍵,而木馬程序可以監(jiān)控屏幕,甚至錄像的,所以必須采用有效的保護措施。本技術(shù)中使用“快門視覺沖擊”技術(shù)來防止用戶的屏幕被監(jiān)視或錄像?,F(xiàn)行的屏幕監(jiān)控和屏幕錄像軟件大多只能錄制15~50幀/秒,即每秒可以錄制15~50幅畫面。本技術(shù)利用人眼的“敏感色彩”和“視覺暫留”特點,防止包含關(guān)鍵信息的幀被錄制。(“敏感色彩”原理人眼對黑色最不敏感,對紅、黃、橙等色彩高度敏感。人眼對幾何形狀中的基本形狀或“尖銳”形狀敏感。兩者結(jié)合可以達到最好效果,且色盲患者也可正常使用。)(“視覺暫留”原理人眼將看到的影像暫時保存,在影像消失之后,之前的影像還會暫時停留在眼前40~200毫秒,每秒24幀畫面以上的播放速度將被視為連續(xù)畫面。)本技術(shù)“快門視覺沖擊”原理用戶輸入用戶名后,在屏幕上找到所要設(shè)定密碼字符的位置,將鼠標移動到輸入?yún)^(qū)內(nèi)(無鼠標的輸入設(shè)備可用鍵盤上的特定鍵模擬鼠標進入或移出輸入?yún)^(qū)),此時,10個按鍵被黑色覆蓋,并保持500毫秒,對視網(wǎng)膜的神經(jīng)進行類似“清空”的刺激,使先前因“視覺暫留”保存的圖象清空,然后將系統(tǒng)中設(shè)定的多幅圖片(每幅圖片為黑色背景,以敏感顏色繪制的敏感形狀,用以增強視覺反差對比)隨機分配到10個按鍵上并停留5~17毫秒(5~17毫秒的停留畫面即為包含關(guān)鍵信息的幀,該時間用戶可自行調(diào)整,以適應(yīng)不同年齡和不同視力的人群,或自動調(diào)整以適應(yīng)不同刷新頻率的顯示設(shè)備。普通液晶顯示器最低刷新頻率為60赫茲,對應(yīng)17毫秒。更高的刷新率可用更短的停留時間。)人眼受到強烈的視覺沖擊后很容易記住所要設(shè)定的密碼字符上對應(yīng)的彩色圖形,然后再以黑色“遮斷”500毫秒,由于黑色是不敏感顏色,不會立刻“清空”原暫留的高敏感彩色圖形,然后系統(tǒng)對10幅圖片進行隨機移動,其下面被覆蓋的字符也被一同移動,用戶用鼠標點擊被移動后的“眼前仍然停留”的彩色圖形,即完成了一位密碼字符的輸入。然后將鼠標光標移出輸入?yún)^(qū),將會再次顯示先前的字符分配。依次輸完10位后,程序的算法將控制字符進行移動,用戶將要設(shè)定的密碼重復輸入一次后,程序?qū)⒃俅我苿幼址?,然后最后一次輸入以確認密碼,完成用戶的注冊。由于截取屏幕的本質(zhì)為截取顯示適配器(如計算機顯卡)的顯示存儲器中的數(shù)據(jù),關(guān)鍵信息幀在屏幕上停留的時間取決于顯示設(shè)備的刷新速度(如計算機顯示器),該時間通常為5~17毫秒,所以顯示存儲器中的數(shù)據(jù)也停留5~17毫秒。鼠標何時進入輸入?yún)^(qū)無法被確定,且整個注冊過程中共有30次關(guān)鍵信息出現(xiàn),錄制軟件只有達到每秒60~200幀的錄制速度才能確保捕獲關(guān)鍵信息幀,目前軟件做到這點難度較大,過高的錄制速度會大量消耗計算機系統(tǒng)資源,容易引起用戶警覺。該操作只對注冊過程必需,登陸過程可直接使用鍵盤按鍵,以提高輸入速度。8.“主動證明”特點為了防止釣魚網(wǎng)站騙取帳號,用戶的登錄過程分兩步,第一步是輸入用戶名,服務(wù)器確認后將返回一個針對該用戶的動態(tài)服務(wù)信息,如上次成功登錄的時間。當用戶看到信息后便可確認該網(wǎng)站的合法性,然后再輸入密碼,即可保證雙方的互相認證。若釣魚網(wǎng)站用任意用戶名或在已知用戶名的情況下到官方網(wǎng)站取得服務(wù)信息,那么為了保證不被識破,必須進行大量的“試登錄”以保證取得最新的服務(wù)信息,如此將極大增加其工作量和維護難度。即便用戶“誤登”該網(wǎng)站,由于本密碼技術(shù)的“隨機隱蔽詢問”特點,也不會對帳號安全構(gòu)成威脅。9.“臨時序號”特點由于人的思維習慣,為方便系統(tǒng)管理、擴充和記憶,會將字符按照某種規(guī)律來存放,如0~9,A~Z,這給密碼的破解和竊取留下了漏洞,必須解除這種字符與位置的固定對應(yīng)關(guān)系,需要一個隨機生成的“中間層”(臨時分配表),該“中間層”在每次用戶與服務(wù)器的對話過程中都會隨機變化,并且只臨時保存在服務(wù)器端,在其后對字符的所有引用中均用當前臨時分配表中的位置(即臨時序號)表示,服務(wù)器根據(jù)客戶端返回的數(shù)據(jù),在“臨時分配表”中查找對應(yīng)密碼字符。這樣做可以防止惡意程序通過在客戶端機器的內(nèi)存中查找敏感信息而造成密碼泄漏。以用戶進行一次完整的注冊帳號、密碼,和一次登錄操作進行說明圖1為開始注冊時,字符隨機分配示意圖。圖2為輸入一次密碼后,控制1、2位字符位移后的字符分配示意圖。圖3為輸入二次密碼后,控制2、3位字符位移后的字符分配示意圖。圖4為輸入三次密碼并注冊成功,或開始登錄操作時的字符隨機分配示意圖。圖5為鼠標進入輸入?yún)^(qū),用黑色覆蓋字符進行“視覺清空”的示意圖。圖6為“視覺清空”后,隨機用高敏感彩色圖形覆蓋字符進行“視覺沖擊”的示意圖。圖7為“視覺沖擊”后,對高敏感彩色圖形及被其覆蓋的字符進行隨機移動后的示意圖。注冊過程1.用合法字符組合成特定位數(shù)的用戶名,輸入用戶名。2.用戶自行設(shè)定密碼(設(shè)密碼為ABBAC12345),并根據(jù)當前字符在按鍵上的分配進行3次密碼輸入。(1)當前字符分布如附圖1,第一次密碼輸入第一位“A”在鍵位3上,注視3號鍵,將鼠標移進輸入?yún)^(qū),所有按鍵將被黑色覆蓋進行“視覺清空”(見圖5),500毫秒后所有按鍵將被高敏感彩色圖形覆蓋,進行“視覺沖擊”(見圖6),用戶能夠記住3號鍵上的圖形為橙色三角形,17毫秒(該值為對應(yīng)液晶顯示器最低刷新率,可根據(jù)顯示器實際刷新率自動調(diào)整。)后所有按鍵再次被黑色覆蓋以加深記憶(見圖5),500毫秒后所有按鍵再次被高敏感彩色圖形覆蓋,并保持第一次視覺沖擊時的對應(yīng)關(guān)系,但位置已隨機變化(見圖7),找到橙色三角形所在按鍵,鼠標單擊確認第一位密碼“A”的輸入。將鼠標移出輸入?yún)^(qū),將顯示原字符分布(見圖1),依次輸入第二位密碼“B”,第三位密碼“B”,第四位密碼“A”,第五位密碼“C”,第六位密碼“1”,第七位密碼“2”,第八位密碼“3”,第九位密碼“4”,第十位密碼“5”。按下“確認”完成第一次密碼的輸入。(2)第一次輸入密碼并確認后,程序?qū)⒚總€按鍵上的第1、2位字符(左上、右上、左下、右下對應(yīng)1、2、3、4位)移動到下一號按鍵上1、2位,如0號鍵上的1、2號字符“7”“Z”移動到1號鍵的1、2位置上,1號鍵變成“7”“Z”“W”“F”。9號鍵1、2位移動到0號鍵1、2位,0號鍵變成“9”“D”“X”“E”。變化后的字符分布如圖2,并按照第一次的輸入方法,完成第二次的密碼輸入。(3)第二次輸入密碼并確認后,程序?qū)⒚總€按鍵上的第2、3位字符,移動到下一號按鍵上2、3位,如0號鍵上的2、3號字符“D”“X”移動到1號鍵的2、3位置上,1號鍵變成“7”“D”“X”“F”。9號鍵2、3位“2”“S”移動到0號鍵2、3位,0號鍵變成“9”“2”“S”“E”。變化后的字符分布如圖3,并按照第一次的輸入方法,完成密碼的第三次輸入。(4)用鼠標單擊“確認”或按下鍵盤的“回車”鍵,或按下注冊區(qū)的“提交”按鈕,完成用戶帳號、密碼的注冊過程。成功后將提示用戶,并記錄用戶的注冊時間作為“動態(tài)服務(wù)信息”,失敗則重新分配字符,并要求用戶重新輸入。在前三次密碼輸入過程中如果輸錯,可單擊“刪除”或按下鍵盤的“←”或數(shù)字鍵盤的“.”以刪除前一位的輸入,如果想重新填寫可按下注冊區(qū)的“重填”按鈕。(5)三次密碼輸入的比對原理(以第一位密碼字符“A”為例)圖1時,“A”“1”“C”“T”在同一鍵上,按此鍵可確認密碼第一位為此4個字符中的其一,圖2時,“A”“1”“8”在同一鍵上,按此鍵可確認密碼第一位為“A”“1”此2個字符中的其一,圖3時,“A”“4”“C”在同一鍵上,按此鍵可確認密碼的第一位字符為“A”。若按“L”“1”“8”“Y”鍵,則密碼第一位位字符為“1”,若按此2個鍵之外的其他按鍵則密碼輸入錯誤。其余九位方法相同,比對過程在“提交”后進行。登錄過程1.輸入用戶名。2.按下鍵盤“回車”鍵,將顯示動態(tài)服務(wù)信息(第一次登錄將顯示用戶的注冊時間,其后的登錄將顯示上一次成功登錄的時間),服務(wù)器進行主動證明。3.輸入密碼。輸入時遵循“隨機隱蔽詢問”原則,用鼠標或鍵盤進行。“隨機隱蔽詢問”原則說明輸入密碼時,以系統(tǒng)要求的位數(shù)為基準(5位),用密碼中的前5位所在按鍵的按鍵號,以按鍵號對應(yīng)密碼的特定位,進行輸入。如密碼ABBAC12345,圖4時,原始密碼第一位“A”在3號鍵,用原始密碼中的“第3位”字符“B”填充密碼輸入中的第1位,按下“4”“B”“D”“6”所在的數(shù)字鍵盤1號鍵,或用鼠標單擊1號鍵在“視覺沖擊”時顯示的圖形,完成“第一位”的輸入。原始密碼第二位“B”在1號鍵,用原始密碼中的“第1位”字符“A”填充密碼輸入中的第2位,按下K”“1”“H”“A”所在的數(shù)字鍵盤3號鍵,或用鼠標單擊3號鍵在“視覺沖擊”時顯示的圖形,完成“第二位”的輸入。原始密碼第五位“C”在0號鍵,用原始密碼中的“第10位”字符“5”填充密碼輸入中的第5位,按下“5”“W”“N”“E”所在的數(shù)字鍵盤9號鍵,或用鼠標單擊9號鍵在“視覺沖擊”時顯示的圖形,完成“第五位”的輸入。至此,系統(tǒng)要求的密碼位數(shù)5位以全部輸入?!半S機隱蔽詢問”特點分析在此例中,相當于服務(wù)器隨機確定詢問用戶原始密碼中的第3位,第1位,第1位,第3位和第10位。對于合法用戶而言,能夠知道服務(wù)器的問題,并能正確回答。在該過程中,即使被人看到或拍攝,由于人眼或攝像頭的焦點只有一個,觀察字符的分配就不能看清用戶手的按鍵動作,觀察手的動作就不能記憶字符的分配,或木馬程序已經(jīng)監(jiān)控了鼠標、鍵盤及電腦屏幕,在這些極端不利狀態(tài)下,由于不知道原始密碼,以及“快門視覺沖擊”特點的保護,被記錄的按鍵位置,按鍵順序,字符分布等信息都將無法利用,無法得知服務(wù)器詢問的是哪五位,也無法提交正確密碼。每次分配在每個按鍵上的多個字符完全不同,服務(wù)器每次詢問的將是完全不同的5位。4.輸入隨機生成的“校驗碼”。5.按“登錄”按鈕,進行登錄,所有輸入全部正確則登錄成功,提示用戶,記錄并顯示本次登錄時間,否則失敗,重新分配字符并提示重填。具體實施例方式該技術(shù)的實施,只需要對現(xiàn)有的密碼系統(tǒng)的認證部分的代碼進行升級,原有的用戶數(shù)據(jù)部分不需改造。由于在獨立系統(tǒng)內(nèi)或互聯(lián)網(wǎng)系統(tǒng)內(nèi)實施該技術(shù)在開發(fā)工具和編程語言的選擇上存在多樣性,無法逐一列舉,在此,用C語言為例來進行說明核心數(shù)據(jù)結(jié)構(gòu)1.用于存儲密碼有效密碼字符集的結(jié)構(gòu)數(shù)組(字符信息表)struct{TCHARcharacter;//存儲一個有效字符HBITMAPhBitmap;//存儲與該字符對應(yīng)的圖片句柄,格式為位圖。}CharInfo[36];//36為默認的有效字符數(shù)量,0~9,A~Z。可視要求擴充。2.由于人的思維習慣,為方便系統(tǒng)管理、擴充和記憶,會將字符按照某種規(guī)律來存放,如0~9,A~Z,這給密碼的破解和竊取留下了漏洞,必須解除這種字符與位置的固定對應(yīng)關(guān)系,需要一個隨機生成的“中間層”(臨時分配表),該“中間層”在每次用戶與服務(wù)器的對話過程中都會隨機變化,并且只臨時保存在服務(wù)器端,在其后對字符的所有引用中均用當前臨時分配表中的位置(即臨時序號)表示,服務(wù)器根據(jù)客戶端返回的數(shù)據(jù),在“臨時分配表”中查找對應(yīng)密碼字符。這樣做可以防止惡意程序通過在客戶端機器的內(nèi)存中查找“敏感信息”而造成密碼泄漏。用于臨時存儲密碼有效字符集的結(jié)構(gòu)數(shù)組(臨時分配表)struct{TCHARcharacter;//存儲一個有效字符HBITMAPhBitmap;//存儲與該字符對應(yīng)的圖片句柄BOOLused;//標識該位置已存儲信息,以免隨機分配時再此選中該位置intKeyNumber;//標識該位置的信息在其后被隨機分配到的按鍵的編號}tempDisTable[36];3.用于存儲每個按鍵信息的結(jié)構(gòu)數(shù)組(按鍵信息表),每個按鍵根據(jù)當前的狀況,用其所包含的圖片,負責對自身的刷新和顯示struct{POINTpoint[4];//定義每個按鍵上4幅圖片顯示時的左上角坐標HBITMAPhBitmap[4];//4幅圖片的句柄,只有3個字符的按鍵,第4幅圖片為空intnIndex[4];//4幅圖片所對應(yīng)字符在臨時分配表中的標號,其后的比對均用此值intmax;//該按鍵最多被分配的標號數(shù)量,0、1、3、5、7、9鍵為4個,//2、4、6、8鍵為3個,第4個為空。intcount;//標識當前該按鍵的標號數(shù)量,當?shù)扔趍ax時,表示該鍵已“裝滿”//防止隨機分配時再次選中,向已滿的按鍵裝入信息。HBITMAPkey;//存儲該按鍵的鍵位圖片,因為按鍵不能移動,故一旦賦值不再改變HBITMAPcolor;//鼠標輸入密碼時,該鍵被隨機賦予的高敏感彩色圖形圖片。BOOLcolorused;//標識該鍵已被賦予彩色圖片,防止隨即分配時再次選中此鍵。}KeyInfo[12]//最后2個鍵為“刪除”“確認”鍵,信息較少且賦值后固定不變。4.根據(jù)用戶輸入密碼時的按鍵,將每個鍵包含的所有標號取出,組成表格(密碼輸入表),便于比對和檢查struct{intNumber;//一次輸入的位數(shù),小于10則錯誤(密碼固定為10)intKeyNumber[10];//一次輸入中,每一位對應(yīng)的按鍵號intIndex[10][4];//一次輸入中,每一位對應(yīng)的按鍵號所包含的全部標號}input[4];//前3個密碼輸入表存儲注冊中的3次密碼輸入信息,//第4個密碼輸入表存儲登錄中密碼輸入信息。5.根據(jù)注冊中3次提交的密碼輸入信息,將密碼輸入表1和表2進行比對,將每一位上相同的2個標號存儲,由于字符移動算法的控制,必定只能找到2個,若找不到相同的2個,說明輸入錯誤。將10位的比對結(jié)果組成數(shù)組(一次比對表)并存儲intcmptable[10][2];//10代表10位,2代表每位上相同的2個標號。6.根據(jù)密碼輸入表3和一次比對表,將二者逐位比對,把每一位上相同的1個標號存儲,由于字符移動算法的控制,必定只能找到1個,否則說明密碼輸入錯。用10位的比對結(jié)果,將標號還原成實際密碼字符,組成數(shù)組(原始密碼),并存儲于服務(wù)器TCHARpassword[10];//10代表10位密碼7.用于不同狀況下,顯示不同信息的控制變量BOOLvisible;//控制每個按鍵上代表字符的圖片是否可見。BOOLshield;//控制“視覺沖擊”前后用黑色遮斷的標志。BOOLserveinfo;//在登錄時,用戶名正確時,控制顯示動態(tài)服務(wù)信息。BOOLcheckout;//在登錄時,用戶名正確時,控制顯示校驗碼。8.由于校驗碼技術(shù)不是本技術(shù)所特有,故實現(xiàn)其功能的數(shù)據(jù)和方法不列出。核心功能代碼1.以密碼有效字符集,字符信息表CharInfo[36]為基礎(chǔ),對臨時分配表tempDisTable[36]進行隨機初始化intRandDisTable(){inti,j;srand((unsignedint)time(NULL));//以當前系統(tǒng)時間作為隨機數(shù)序列的“種子”for(i=0;i<36;i++){j=abs(rand()%36);//生成0~35之間的一個隨機數(shù),對應(yīng)0~35號位置while(tempDisTable[j].used==TRUE)//排除已經(jīng)使用的位置{if(j<35)j++;elsej=0;}tempDisTable[j].character=CharInfo[i].character;//賦值tempDisTable[j].hBitmap=CharInfo[i].hBitmap;//賦值tempDisTable[j].used=TRUE;//標識已使用tempDisTable[j].KeyNumber=99;//初始化}return0;}2.以臨時分配表tempDisTable[36]為基礎(chǔ),對按鍵信息表KeyInfo[12]進程隨機初始化intRandKeyInfo(){inti,j,k;for(i=0;i<10;i++){KeyInfo[i].count=0;//為0~9號按鍵的當前標號數(shù)量清空//為0~9號鍵賦值按鍵固有圖片KeyInfo[i].key=LoadBitmap(hInstance,BitmapName[49+i]);}//BitmapName[]為存儲程序中所有位片名稱的數(shù)組//為“.”鍵賦值按鍵固有圖片KeyInfo[10].key=LoadBitmap(hInstance,BitmapName[37]);//為“回車”鍵賦值按鍵固有圖片KeyInfo[11].key=LoadBitmap(hInstance,BitmapName[38]);//為0~9號鍵隨機分配信息srand((unsignedint)time(NULL));for(i=0;i<36;i++){j=abs(rand()%10);while(KeyInfo[j].count==KeyInfo[j].max){if(j<9)j++;elsej=0;}k=KeyInfo[j].count;KeyInfo[j].nIndex[k]=i;KeyInfo[j].hBitmap[k]=tempDisTable[i].hBitmap;tempDisTable[i].KeyNumber=j(luò);KeyInfo[j].count++;}backupKeyInfo();//保存當前的分布,以便在“視覺沖擊”時隨機移動后的復原//該函數(shù)與restoreKeyInfo()配合使用,由于功能簡單不列出代碼return0;}3.注冊中,第一、第二次輸入密碼后將對每個按鍵上的信息進行位移intMoveChar(intp)//p為控制標志,用0調(diào)用函數(shù)將移動按鍵上的1、2位,//用1調(diào)用函數(shù)將移動按鍵上的2、3位。{inti;struct//位移時需要的臨時結(jié)構(gòu){intnIndex[2];HBITMAPhBitmap[2];}tempmove={{{KeyInfo[9].nIndex[p]},{KeyInfo[9].nIndex[p+1]}},{{KeyInfo[9].hBitmap[p]},{KeyInfo[9].hBitmap[p+1]}}};for(i=9;i>0;i--){KeyInfo[i].nIndex[p]=KeyInfo[i-1].nIndex[p];KeyInfo[i].nIndex[p+1]=KeyInfo[i-1].nIndex[p+1];KeyInfo[i].hBitmap[p]=KeyInfo[i-1].hBitmap[p];KeyInfo[i].hBitmap[p+1]=KeyInfo[i-1].hBitmap[p+1];}KeyInfo.nIndex[p]=tempmove.nIndex;KeyInfo.nIndex[p+1]=tempmove.nIndex[1];KeyInfo.hBitmap[p]=tempmove.hBitmap;KeyInfo.hBitmap[p+1]=tempmove.hBitmap[1];return0;}4.“視覺沖擊”后會對彩色圖形及其下所覆蓋的按鍵信息一同移動intRandMoveKeyInfo(){inti,j;struct//用于隨機移動的臨時結(jié)構(gòu)數(shù)組{intnIndex[4];HBITMAPhBitmap[4];HBITMAPcolor;BOOLused;}tempmove[10];//復制原按鍵信息,準備進行按鍵-(順序)-臨時結(jié)構(gòu)-(隨機)-按鍵的倒換for(i=0;i<10;i++){//復制標號tempmove[i].nIndex=KeyInfo[i].nIndex;tempmove[i].nIndex[1]=KeyInfo[i].nIndex[1];tempmove[i].nIndex[2]=KeyInfo[i].nIndex[2];tempmove[i].nIndex[3]=KeyInfo[i].nIndex[3];//復制位圖tempmove[i].hBitmap=KeyInfo[i].hBitmap;tempmove[i].hBitmap[1]=KeyInfo[i].hBitmap[1];tempmove[i].hBitmap[2]=KeyInfo[i].hBitmap[2];tempmove[i].hBitmap[3]=KeyInfo[i].hBitmap[3];//復制彩色圖形tempmove[i].color=KeyInfo[i].color;//為其后的隨機移動時的選擇做準備tempmove[i].used=FALSE;}//開始隨機倒換srand((unsignedint)time(NULL));for(i=0;i<10;i++){j=abs(rand()%10);while(tempmove[j].used==TRUE){if(j<9)j++;elsej=0;}//倒換標號KeyInfo[i].nIndex=tempmove[j].nIndex;KeyInfo[i].nIndex[1]=tempmove[j].nIndex[1];KeyInfo[i].nIndex[2]=tempmove[j].nIndex[2];KeyInfo[i].nIndex[3]=tempmove[j].nIndex[3];//倒換位圖KeyInfo[i].hBitmap=tempmove[j].hBitmap;KeyInfo[i].hBitmap[1]=tempmove[j].hBitmap[1];KeyInfo[i].hBitmap[2]=tempmove[j].hBitmap[2];KeyInfo[i].hBitmap[3]=tempmove[j].hBitmap[3];//倒換彩色圖形KeyInfo[i].color=tempmove[j].color;//標識已有信息,防止再被選中tempmove[j].used=TRUE;}return0;}5.選擇用鼠標輸入密碼時,鼠標進入輸入?yún)^(qū)在“視覺沖擊”的瞬間所出現(xiàn)的彩色圖片將隨機確定intRandColor(){inti,j;//為每個按鍵隨機賦值彩色圖形srand((unsignedint)time(NULL));for(i=0;i<10;i++){j=abs(rand()%10);while(KeyInfo[j].colorused==TRUE){if(j<9)j++;elsej=0;}KeyInfo[j].color=LoadBitmap(hInstance,BitmapName[39+i]);KeyInfo[j].colorused=TRUE;//標識已有彩色圖形,防止下次再被選中}//防止下次調(diào)用函數(shù)時,因為所有按鍵的“colorused”全為“TRUE”而死循環(huán)!for(i=0;i<10;i++)KeyInfo[i].colorused=FALSE;return0;}6.將注冊時的三次密碼輸入進行比對,正確則存儲密碼,錯誤則提示重填intCmpforPW(){inti,j,k,l;//檢查3次是否輸入同樣的位數(shù)if((input.num==input[1].num)&&(input[1].num==input[2].num));elsereturn1;//3次的輸入位數(shù)不同//檢查位數(shù)是否足夠if(input.num==10);elsereturn2;//位數(shù)不足10位//用第一次的輸入input和第二次的輸入input[1],進行比對for(k=0;k<10;k++)//控制位數(shù){l=0;//每位上已找到相同字符的數(shù)量for(j=0;j<4;j++)//控制input的字符{for(i=0;i<4;i++)//控制input[1]的字符{if(input.Index[k][j]==input[1].Index[k][i]){//將相同標號保存到一次比對表cmptable中cmptable[k][l]=input.Index[k][j];l++;break;}}if(l==2)//找到2個相同字符后,跳出當前位的比對循環(huán),進行下一位的比對break;}if(l?。?)//逐位檢查return3;//當前位沒有找到相同的2個標號說明密碼輸入錯誤}//用cmptable與第三次輸入input[2]對比!for(k=0;10;k++)//控制位數(shù){l=0;for(j=0;j<2;j++)//控制cmptable的字符{for(i=0;i<4;i++)//控制input[2]的字符{if(cmptable[k][j]==input[2].Index[k][i]){//將相同的標號轉(zhuǎn)換成實際字符,存儲在password中作為原始密碼password[k]=tempDisTable[cmptable[k][j]].character;l++;break;}}if(l==1)break;}if(l?。?)//逐位檢查return3;//當前位沒有找到相同的唯一1個標號說明密碼輸入錯誤}return0;//密碼有效,設(shè)置成功}7.登錄時,將用戶的密碼輸入input[3]與原始密碼password按“隨機隱蔽詢問”原則進行比對intCmpPW(){inti,j,k,l,a,b,pwlevel=0;//pwlevel--連續(xù)正確的密碼位數(shù)if(input[3].num<5)//位數(shù)檢查return0;//輸入少于系統(tǒng)要求的位數(shù)5位,錯誤//開始按“隨機隱蔽詢問”規(guī)則比對密碼for(i=0;i<input[3].num;i++)//控制位數(shù),允許大于要求的位數(shù),并逐一比對{k=0;//在臨時分配表tempDisTable中找到原始密碼中當前位上的字符,//并查找其所在的按鍵號。for(l=0;l<36;l++){if(password[i]==tempDisTable[l].character){a=tempDisTable[l].KeyNumber;//獲取原始密碼當前位所在的按鍵號break;}}//對按鍵號的偏移進行修正if(a>0)b=a-1;elseb=9;//以“隨機隱蔽詢問”原則進行密碼比對for(j=0;j<4;j++)//控制input[3]的字符{if(tempDisTable[input[3].Index[i][j]].character==password[b]){k++;break;}}if(k?。?)//當前位上沒有找到相同的字符returnpwlevel;//返回密碼中連續(xù)正確的位數(shù),結(jié)束密碼比對else//當前位找到了相同字符,將正確位數(shù)加1,并繼續(xù)下一位的比對pwlevel++;}returnpwlevel;//所有輸入的位數(shù)均已比對完成,返回連續(xù)正確的密碼位數(shù)!}技術(shù)比較本密碼技術(shù)克服了傳統(tǒng)密碼技術(shù),對惡意程序、木馬盜竊程序,釣魚騙號網(wǎng)站,偷拍行為無能為力的缺點,針對現(xiàn)在普遍發(fā)生盜號現(xiàn)象給出了可行的解決方法。是一種除生物識別技術(shù)以外(如指紋識別,聲音識別,視網(wǎng)膜識別等)能夠提供全面安全防范措施的密碼保護技術(shù),只需對網(wǎng)絡(luò)系統(tǒng)服務(wù)器或獨立內(nèi)部系統(tǒng)服務(wù)器進行程序改造,不需要大量改造成本即可實現(xiàn)。與現(xiàn)行密碼保護新技術(shù)矩陣卡技術(shù)、電子鑰匙(如銀行系統(tǒng)的U盾)相比較,也具有一定的優(yōu)勢。首先是成本優(yōu)勢,用戶使用矩陣卡、電子鑰匙需要支付相應(yīng)的費用。其次是安全和便捷優(yōu)勢,由于矩陣卡是一種將字符呈矩陣排列的固定分配卡片,也是一種“額外的媒介”,當U盾或卡片遺失后,用戶自己也將不能登錄,因為用戶不會去記下U盾中的信息或卡片上字符的分布,如果矩陣卡被他人記錄、拍照(如手機拍照)、復印后也將失去其保護效果。即使在未遺失,未被拍照和復印的情況下,如果用戶所用電腦或設(shè)備被木馬監(jiān)控后將會泄漏矩陣卡的部分信息,因為系統(tǒng)要求輸入特定坐標點的字符是“顯示的詢問”雖然每次只需要卡上幾十到上百個坐標點中的幾個,但通過多次監(jiān)視屏幕、記錄鍵盤,就可以完全復原矩陣卡本身。如某矩陣卡有8×10共80個坐標點,某次要求輸入A5,B9,E3點的字符,那么木馬程序監(jiān)控到屏幕和鍵盤后,就可以知道此3個坐標點的字符,多次記錄后,最終將得到全部的矩陣卡信息,甚至只需知道一部分,就有被系統(tǒng)選中已知坐標點的概率,此時矩陣卡也就失去了保護效果。與指紋、聲音等生物識別技術(shù)相比較,由于生物信息要通過計算機終端,所以此類信息均將被轉(zhuǎn)換為二進制的數(shù)字信息,進而進行存儲、運算、傳輸,通過對特定輸入或傳輸端口的監(jiān)控,理論上也可以破解生物密碼和U盾密碼。本技術(shù)的隨機隱詢特點,目的為建立一種只存在于服務(wù)器和合法用戶頭腦中的隨機隱蔽詢問密碼認證機制,彌補操作過程和相關(guān)設(shè)備造成泄密的漏洞。本技術(shù)無法用“暴力窮盡算法”破解,傳統(tǒng)的固定式密碼,把所有符合密碼規(guī)則的字符串集合起來,逐一試取,必定能取得密碼。本技術(shù)的密碼為非固定式,故無法用窮盡算法,只能用“暴力隨機算法”,即模擬鍵盤,輸入符合密碼位數(shù)的隨機按鍵,雖然同樣可能被命中,但此方法沒有代入密碼的最大次數(shù),即有可能陷入無窮循環(huán)。加上“識別碼”認證技術(shù),可以有效的防止他人利用軟件惡意的暴力循環(huán)代入,將極大的提高對密碼的監(jiān)控、欺騙、偷拍偷看、破解和逐一試取難度。本技術(shù)的主要缺點在于輸入時的不習慣,容易出錯。用戶需要根據(jù)前五位密碼在按鍵上的位置去找到對應(yīng)位數(shù)的那一位密碼,因此要反復的默念密碼,并數(shù)密碼的位數(shù)。要通過多次的操作才能提高輸入的熟練程度和準確率,但因為反復的默念可以加深對密碼的印象,從而不易遺忘原始密碼。權(quán)利要求1.一種針對在有線或無線互聯(lián)網(wǎng)或獨立網(wǎng)絡(luò)系統(tǒng)、金融系統(tǒng)、保險系統(tǒng)中,利用惡意程序、木馬程序監(jiān)控輸入過程,盜竊帳號密碼,利用釣魚網(wǎng)站騙取帳號密碼,利用偷拍、偷窺他人輸入過程套取帳號密碼,以及為解決傳統(tǒng)密碼技術(shù)固有缺陷而設(shè)計的新型密碼身份認證技術(shù)。2.根據(jù)權(quán)利要求1所述的密碼技術(shù),其具有--隨機集合特征原始密碼的位數(shù)固定,且和按鍵數(shù)目相等,每個按鍵上隨機分配規(guī)定字符集中的多個字符。3.根據(jù)權(quán)利要求1所述的密碼技術(shù),其具有--隨機隱蔽詢問特征密碼的輸入過程中,用戶需要根據(jù)當前字符在按鍵上的隨機分布,將設(shè)定的原始密碼中前5位(可根據(jù)安全要求更改)字符所在的按鍵位置,其位置所對應(yīng)的特定位上的密碼字符所在的鍵位依次輸入。4.根據(jù)權(quán)利要求1所述的密碼技術(shù),其具有--快門式視覺沖擊特征利用人眼的敏感顏色,敏感形狀和視覺暫留生理特點,在極短時間內(nèi)用高敏感彩色圖形覆蓋所有按鍵,然后進行隨機移動,用戶按眼前視覺暫留的圖象進行輸入,防止顯示設(shè)備被他人監(jiān)控或偷拍、偷看而造成的密碼信息泄漏。全文摘要隨機隱詢式密碼認證技術(shù),是一種用于單機及網(wǎng)絡(luò)、金融、防盜等需要通過帳號、密碼驗證身份的系統(tǒng)內(nèi),針對傳統(tǒng)密碼技術(shù)的缺陷,為解決監(jiān)控程序、惡意程序、木馬程序盜竊帳號、密碼,釣魚網(wǎng)站騙取帳號、密碼,拍攝、偷窺他人帳號、密碼輸入過程的新型密碼認證技術(shù)。通過在按鍵上隨機的分配多個字符,根據(jù)原始密碼中前5位(可根據(jù)需求設(shè)定)字符在當前的隨機分布位置來輸入特定位上的密碼,使得每次詢問和輸入的密碼都不相同,達到隨機隱蔽詢問、防盜、防釣魚的效果。利用人眼的生理特點,通過高敏感顏色和圖形,瞬間覆蓋所有按鍵上的字符并隨機移動,進而達到防拍攝、偷看和監(jiān)視屏幕的作用。該技術(shù)不需要額外的卡、證或電子媒介。文檔編號H04L9/32GK101183941SQ200710138560公開日2008年5月21日申請日期2007年8月3日優(yōu)先權(quán)日2007年8月3日發(fā)明者睿廖申請人:睿廖
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1