專(zhuān)利名稱(chēng):動(dòng)態(tài)密碼生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種密碼能跟隨時(shí)間的改變而改變,進(jìn)一步保證電子商務(wù)、銀行卡網(wǎng)上支付 安全的動(dòng)態(tài)密碼生成方法。
背景技術(shù):
目前,由于信息技術(shù)的不斷發(fā)展,不法分子會(huì)利用他人在自動(dòng)提款機(jī)提款時(shí)或網(wǎng)上支付 時(shí)竊取他人的帳號(hào)和密碼,從而來(lái)非法侵占他人的財(cái)產(chǎn)。而本發(fā)明生成的密碼會(huì)跟隨時(shí)間變 化而變化,等犯罪分子通過(guò)竊取的帳號(hào)和密碼想侵占他人財(cái)產(chǎn)時(shí)密碼已經(jīng)自動(dòng)改變,從而極 大的保證了財(cái)產(chǎn)的安全。
發(fā)明內(nèi)容
一種讓密碼能動(dòng)態(tài)變化,從而保證密碼安全的新的技術(shù)方案。為了進(jìn)一步保證電子商務(wù)、 銀行卡網(wǎng)上支付的安全,本發(fā)明的目的在于將密碼根據(jù)時(shí)間的改變而改變,不怕密碼被他人 非法竊取。密碼的內(nèi)容會(huì)變化,密碼的長(zhǎng)度也不固定,可以有效防止他人破解。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是密碼在銀行的數(shù)據(jù)庫(kù)中不再保存固定的數(shù)
值,也沒(méi)有固定長(zhǎng)度,而是將密碼分為6節(jié),在數(shù)據(jù)庫(kù)中保存每節(jié)密碼的計(jì)算方法。每節(jié)密 碼由對(duì)應(yīng)的計(jì)算算法取得數(shù)值或字符組成,將6節(jié)密碼組合成為一個(gè)整個(gè)的密碼,此密碼能 根據(jù)時(shí)間的改變而改變,長(zhǎng)度也不固定。
本發(fā)明的密碼計(jì)算方法可分為7種方法固定值、根據(jù)年計(jì)算、根據(jù)月計(jì)算、根據(jù)周計(jì) 算、根據(jù)日計(jì)算、根據(jù)時(shí)計(jì)算、根據(jù)分計(jì)算。每節(jié)密碼可使用不同算法,也可使用相同算法。
固定值,可以設(shè)置某節(jié)密碼為任意長(zhǎng)度的數(shù)值或字符,用戶(hù)可以將此算法定義在6節(jié)密 碼的某一節(jié)或某幾節(jié)。
根據(jù)年計(jì)算,本發(fā)明設(shè)置了根據(jù)閏年、平年來(lái)分別設(shè)置數(shù)值的算法,方法原理演示共設(shè) 置了 "閏年為3,平年為5"、"閏年為5,平年為3"、"閏年為7,平年為9"這三種算法,用 戶(hù)可以將此算法定義在6節(jié)密碼的某一節(jié)或某幾節(jié)。
根據(jù)月計(jì)算,本發(fā)明設(shè)置每月為兩位數(shù),例如1月份對(duì)應(yīng)的數(shù)值為"01", 1月份的第1 位數(shù)值為"0",第2位數(shù)值為"1"; 12月份對(duì)應(yīng)的數(shù)值為"12", 12月份的第1位數(shù)值為"1", 第2位數(shù)值為"2"。方法原理演示共設(shè)置了 "取月的第l位"、"取月的第2位"、"取月的第 l位加月的第2位"這三種算法,用戶(hù)可以將此算法定義在6節(jié)密碼的某一節(jié)或某幾節(jié)。
根據(jù)星期值計(jì)算,本發(fā)明設(shè)置星期一對(duì)應(yīng)的數(shù)值為"1"、星期二對(duì)應(yīng)的數(shù)值為"2"、星 期三對(duì)應(yīng)的數(shù)值為"3"、星期四對(duì)應(yīng)的數(shù)值為"4"、星期五對(duì)應(yīng)的數(shù)值為"5"、星期六對(duì)應(yīng) 的數(shù)值為"6"、星期日對(duì)應(yīng)的數(shù)值為"0"。方法原理演示共設(shè)置了 "當(dāng)天的星期值"、"后1 天的星期值"、"后2天的星期值"、"前l(fā)天的星期值"、"前2天的星期值"這五種算法,用 戶(hù)可以將此算法定義在6節(jié)密碼的某一節(jié)或某幾節(jié)。
根據(jù)日計(jì)算,本方法設(shè)置每日為兩位數(shù),例如l日對(duì)應(yīng)的數(shù)值為"01", 1日的第l位數(shù)值為"0",第2位數(shù)值為"1"; 31日對(duì)應(yīng)的數(shù)值為"31", 31日的第1位數(shù)值為"3",第2 位數(shù)值為"1"。方法原理演示共設(shè)置了 "取日的第l位"、"取日的第2位"、"取日第1位, 第2位的較大者"、"取日的第1位乘以3"、"取前2日的第2位"這五種算法,用戶(hù)可以將 此算法定義在6節(jié)密碼的某一節(jié)或某幾節(jié)。
根據(jù)小時(shí)計(jì)算,本發(fā)明設(shè)置每小時(shí)為兩位數(shù)(24小時(shí)制),例如下午1時(shí)對(duì)應(yīng)的數(shù)值為 "13",卜午l時(shí)的第l位數(shù)值為"1",第2位數(shù)值為"3";零時(shí)對(duì)應(yīng)的數(shù)值為"00",零時(shí) 的第1位數(shù)值為"0",第2位數(shù)值為"0"。方法原理演示共設(shè)置了 "取小時(shí)的第1位"、"取 小時(shí)的第2位"、"取小時(shí)的第1位乘以3加2"、"取小時(shí)的第1位乘以2加3"、"取小時(shí)的第 1位乘以4加5"這五種算法,用戶(hù)可以將此算法定義在6節(jié)密碼的某一節(jié)或某幾節(jié)。
根據(jù)分鐘計(jì)算,本發(fā)明設(shè)置每分鐘為兩位數(shù),取值范圍從"00" "59"之間,例如零分 對(duì)應(yīng)的數(shù)值為"00",零分的第1位數(shù)值為"0",第2位數(shù)值為"0"; 59分對(duì)應(yīng)的數(shù)值為"59", 59分的第1位數(shù)值為"5",第2位數(shù)值為"9"。方法原理演示共設(shè)置了 "取分的第1位、"取 分的第2位"、"取分的第1位加上1 "、"取分的第1位加上2"、"取分的第2位加上3"這五 種算法,用戶(hù)可以將此算法定義在6位密碼的某一節(jié)或某幾節(jié)。這種算法是本發(fā)明最能體現(xiàn) 密碼隨時(shí)改變的特點(diǎn)。即使不法分子從網(wǎng)絡(luò)上竊取了密碼,但只要用戶(hù)定義的算法是"取分 的第2位",那么只要l分鐘以后,密碼就會(huì)改變了,如果用戶(hù)定義的算法是"取分的第2位 加3",那么l分鐘以后,不但密碼會(huì)改變,而且密碼的長(zhǎng)度也有可能發(fā)生變化了 (分的第2 位加3大于等于10,長(zhǎng)度就會(huì)多1位)。
因?yàn)楸景l(fā)明是根據(jù)時(shí)間作為變量來(lái)計(jì)算密碼的,為了保證服務(wù)器在驗(yàn)證密碼時(shí)和用戶(hù)提 交時(shí)的時(shí)間點(diǎn)一致,本發(fā)明會(huì)將用戶(hù)帳戶(hù)、用戶(hù)提交密碼的時(shí)間點(diǎn)、用戶(hù)提交的密碼這三者 一起傳給服務(wù)器。服務(wù)器以用戶(hù)提交的時(shí)間點(diǎn)作為時(shí)間變量,根據(jù)數(shù)據(jù)庫(kù)里保存的用戶(hù)帳戶(hù) 所采用的計(jì)算方法來(lái)計(jì)算出密碼,并將計(jì)算結(jié)果與用戶(hù)提交的密碼進(jìn)行驗(yàn)證。這樣保證了用 戶(hù)與服務(wù)器采用計(jì)算變量和計(jì)算方法都一致。
本發(fā)明的特征是密碼分為6節(jié),每節(jié)密碼由對(duì)應(yīng)的計(jì)算方法計(jì)算取得的數(shù)值或字符組 成,將6節(jié)密碼組合成用戶(hù)密碼。用戶(hù)密碼的內(nèi)容、密碼的長(zhǎng)度會(huì)根據(jù)時(shí)間的改變而改變, 保證了密碼的安全。提交密碼的同時(shí)將用戶(hù)提交的時(shí)間點(diǎn)也一并提交,保證/輸入密碼與驗(yàn) 證密碼時(shí)所采用的變量的一致。
本發(fā)明的有益效果是,密碼會(huì)根據(jù)時(shí)間的改變而改變,從而保證了帳號(hào)的安全。此動(dòng)態(tài) 密碼不但可以運(yùn)用在銀行自動(dòng)取款機(jī)系統(tǒng)、網(wǎng)上銀行K支付、手機(jī)號(hào)碼支付、網(wǎng)站登錄、網(wǎng) 絡(luò)游戲帳號(hào)密碼保護(hù),還可以運(yùn)用到其它一些重要部門(mén)、崗位軟件系統(tǒng)的管理員密碼保密。
具體實(shí)施例方式
本發(fā)明作為一個(gè)網(wǎng)上交易等程序入口驗(yàn)證的程序,可以獨(dú)立于網(wǎng)上交易程序之外,只在 用戶(hù)登錄時(shí),對(duì)用戶(hù)的帳戶(hù)、密碼進(jìn)行驗(yàn)證,驗(yàn)證不正確無(wú)法進(jìn)入用戶(hù)想使用的網(wǎng)上交易等 程序,驗(yàn)證正確方可進(jìn)入網(wǎng)上交易等程序。對(duì)原有的網(wǎng)上交易程序無(wú)需作任何改動(dòng)。 下面結(jié)合附圖對(duì)本發(fā)明方法進(jìn)一步說(shuō)明。
圖1是動(dòng)態(tài)密碼生成系統(tǒng)登錄界面圖。
圖2是進(jìn)入"密碼設(shè)置界面"圖。圖3是為第1節(jié)密碼設(shè)置計(jì)算方法圖。
圖4是為第2節(jié)密碼設(shè)置計(jì)算方法圖。
圖5是為6節(jié)密碼都設(shè)置好計(jì)算方法后保存圖。
圖6是根據(jù)時(shí)間變量來(lái)測(cè)試設(shè)置的密碼是否動(dòng)態(tài)變化圖。
圖7是系統(tǒng)計(jì)算密碼的時(shí)間點(diǎn)與登錄者提交密碼的時(shí)間點(diǎn)相一致圖。
圖8是密碼驗(yàn)證正確后進(jìn)入網(wǎng)上交易系統(tǒng)圖。
圖9是網(wǎng)上交易成功圖。 動(dòng)態(tài)密碼生成方法演示說(shuō)明
演示本發(fā)明方法原理時(shí),只需將"pwxq"文件夾復(fù)制到任何一臺(tái)電腦的D盤(pán)的根目錄下 (d:\pwxq),點(diǎn)擊pw.exe這個(gè)可執(zhí)行文件,就可以運(yùn)行了。
在登錄窗口的用戶(hù)名文本框中輸入admin,在密碼文本框中輸入888888,就可以進(jìn)入 到密碼設(shè)置和管理的界面了 (如圖1)。點(diǎn)擊"密碼設(shè)置"菜單下的"用戶(hù)密碼設(shè)置"(如圖2), 就可以進(jìn)入"密碼設(shè)置界面"了,在輸入卡號(hào)的文本框中隨意輸入一組長(zhǎng)度不超過(guò)20字節(jié)的 數(shù)字,然后點(diǎn)擊"為第1節(jié)設(shè)置密碼"選項(xiàng)框就可以為該卡號(hào)的第1節(jié)密碼(每節(jié)按從左至 右的順序排列)設(shè)置計(jì)算方法了 (如圖3)。如果想對(duì)該節(jié)密碼設(shè)固定值,就直接點(diǎn)擊設(shè)固定 值菜單,那么該節(jié)密碼對(duì)應(yīng)的輸入框就可以變白,可以在輸入框內(nèi)人工輸入任意長(zhǎng)度的數(shù)值 或字符;如果不想設(shè)固定值,可以點(diǎn)擊其它任一菜單的任一選項(xiàng),輸入框內(nèi)接可以直接顯示 該計(jì)算方法,本例對(duì)第1節(jié)設(shè)置的算法是"閏年為3,平年為5",然后再點(diǎn)擊"為第2節(jié)設(shè) 置密碼"選項(xiàng)框,對(duì)第2節(jié)密碼的計(jì)算方法進(jìn)行設(shè)置,本例對(duì)第2節(jié)設(shè)置的是固定值"6s53a" (如圖4),重復(fù)以上操作,再到第6節(jié)密碼的計(jì)算方法設(shè)置完成后,點(diǎn)擊"存盤(pán)"按鈕,每 節(jié)密碼的計(jì)算方法就會(huì)保存到數(shù)據(jù)庫(kù)里,并同時(shí)提示是否打印計(jì)算方法,將其打印出來(lái)保存 好(如圖5)。退出該界面,回到"動(dòng)態(tài)密碼生成方法(原理演示)"界面,點(diǎn)擊"密碼設(shè)置" 菜單下的"密碼測(cè)試",對(duì)剛剛輸入的卡號(hào)和密碼來(lái)進(jìn)行驗(yàn)證。如果不能通過(guò)驗(yàn)證,可以點(diǎn)擊 "用戶(hù)密碼測(cè)試界面"中的"査詢(xún)密碼"來(lái)査看電腦計(jì)算出來(lái)的密碼(如圖6)。如果輸入的 密碼和系統(tǒng)算出來(lái)的密碼一致,就可以進(jìn)入網(wǎng)上交易程序了 (如圖7、圖8、圖9)。
權(quán)利要求
1、一種讓密碼能動(dòng)態(tài)變化,從而保證密碼安全的新的技術(shù)方案。密碼在數(shù)據(jù)庫(kù)中不再保存固定的數(shù)值,而是將密碼分為6節(jié),數(shù)據(jù)庫(kù)中保存每節(jié)密碼的計(jì)算方法。
2. 根據(jù)年、月、周、日、小時(shí)、分鐘等時(shí)間變量,通過(guò)一定的運(yùn)算關(guān)系來(lái)取得數(shù)值或a z 之間的字母或任一標(biāo)點(diǎn)符號(hào)等字符的計(jì)算方法。該算法取得的字符會(huì)根據(jù)時(shí)間的改變而改變, 長(zhǎng)度也不固定,從而達(dá)到密碼根據(jù)時(shí)間動(dòng)態(tài)改變(原理演示版只列舉了設(shè)置固定值、根據(jù)年 計(jì)算、根據(jù)月計(jì)算、根據(jù)周計(jì)算、根據(jù)日計(jì)算、根據(jù)時(shí)計(jì)算、根據(jù)分計(jì)算這7種方法和26種 算法)。
3. 密碼通過(guò)時(shí)間變化而實(shí)現(xiàn)動(dòng)態(tài)變化的網(wǎng)站、銀行等部門(mén)使用的系統(tǒng)。
4. 密碼通過(guò)時(shí)間變量計(jì)算出來(lái),密碼的長(zhǎng)度會(huì)因時(shí)間變量的變化而變化,長(zhǎng)度不固定。
5. 將用戶(hù)帳號(hào)、用戶(hù)輸入的密碼、用戶(hù)提交密碼的時(shí)間點(diǎn)一起提交給服務(wù)器來(lái)進(jìn)行密碼 驗(yàn)證。
全文摘要
一種讓密碼能動(dòng)態(tài)變化,從而保證密碼安全的新的技術(shù)方案。密碼在數(shù)據(jù)庫(kù)中不再保存固定的數(shù)值,而是將密碼分為6節(jié),數(shù)據(jù)庫(kù)中保存每節(jié)密碼的計(jì)算方法。對(duì)密碼中的每1節(jié)分別根據(jù)各自的計(jì)算方法來(lái)計(jì)算取得整數(shù)值或a~z之間的字母或任一標(biāo)點(diǎn)符號(hào)等字符,將6節(jié)密碼組合起來(lái)成為一個(gè)用戶(hù)密碼,該密碼會(huì)根據(jù)時(shí)間的改變而改變,且長(zhǎng)度也不固定,從而保證了密碼的安全。用戶(hù)提交密碼時(shí)會(huì)將用戶(hù)帳號(hào)、用戶(hù)輸入的密碼、用戶(hù)提交密碼的時(shí)間點(diǎn)三者一起提交給服務(wù)器,保證了服務(wù)器驗(yàn)證密碼時(shí)采用的時(shí)間點(diǎn)變量與用戶(hù)采用的一致。此動(dòng)態(tài)密碼可運(yùn)用在自動(dòng)取款機(jī)、網(wǎng)上銀行卡、網(wǎng)站登錄、網(wǎng)絡(luò)游戲帳號(hào)密碼保護(hù)以及重要部門(mén)、崗位系統(tǒng)管理員密碼保密。
文檔編號(hào)G06Q30/00GK101425118SQ20071016776
公開(kāi)日2009年5月6日 申請(qǐng)日期2007年10月28日 優(yōu)先權(quán)日2007年10月28日
發(fā)明者強(qiáng) 徐 申請(qǐng)人:強(qiáng) 徐