專利名稱:一種基于ecc算法的身份認(rèn)證系統(tǒng)和身份認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于ECC算法的身份認(rèn)證系統(tǒng)和身份認(rèn)證方法。
背景技術(shù):
身份認(rèn)證是信息安全的基石。用戶在訪問任何系統(tǒng)之前,都首先要通過某種 身份認(rèn)證機(jī)制來驗(yàn)證用戶的身份是否合法。身份認(rèn)證成功后,才能根據(jù)用戶的合 法身份訪問系統(tǒng)的某些資源或者進(jìn)行某項(xiàng)操作。
傳統(tǒng)的對稱加密算法生成動態(tài)口令對算法的保密性要求較高;傳統(tǒng)HASH算 法生成動態(tài)口令方式是不可逆的,現(xiàn)已有學(xué)者找到了MD5、 SHA0和SHA1的碰 撞,部分HASH算法將會退出歷史舞臺。
ECC和RSA算法一樣是非對稱可公開算法,密碼強(qiáng)度比RSA高,運(yùn)算速度比 RSA快,相比RSA而言,更適用于動態(tài)口令生成。
發(fā)明內(nèi)容
本發(fā)明的的是提供了一種基于ECC算法的身份認(rèn)證系統(tǒng)和身份認(rèn)證方法, 解決了現(xiàn)有技術(shù)中密碼強(qiáng)度不夠、生成動態(tài)口令不可逆、安全性較低、系統(tǒng)消耗 大等問題。
一種基于ECC算法的身份認(rèn)證系統(tǒng),包括客戶端接口、動態(tài)口令生成裝置、 應(yīng)用終端、認(rèn)證服務(wù)器、管理系統(tǒng)和數(shù)據(jù)庫,其特征在于客戶端接口與動態(tài)口 令生成裝置相連接,客戶端接口與應(yīng)用終端相連接,應(yīng)用終端與認(rèn)證服務(wù)器相連 接,認(rèn)證服務(wù)器與管理系統(tǒng)相連接,認(rèn)證服務(wù)器與數(shù)據(jù)庫相連接,管理系統(tǒng)與數(shù) 據(jù)庫相連接。所述的動態(tài)口令生成裝置包括內(nèi)存、時(shí)間計(jì)數(shù)器、ECC加密芯片、 按鈕和液晶屏,內(nèi)存與ECC加密芯片相連接,時(shí)間計(jì)數(shù)器與ECC加密芯片相連接, ECC加密芯片與顯示屏相連接,ECC加密芯片可與按鈕相連接。所述的認(rèn)證服務(wù) 器利用時(shí)間漂移技術(shù)設(shè)置有可調(diào)控動態(tài)時(shí)間窗口。所述的認(rèn)證服務(wù)器提供了豐富 的認(rèn)證接口。所述的應(yīng)用終端為是指需要身份認(rèn)證的服務(wù)器。所述的顯示屏為液晶顯示屏。
一種基于ECC算法的身份認(rèn)證方法,其特征在于,包括如下步驟
1) 動態(tài)口令生成裝置按用戶給予指令或自動設(shè)定,將存儲在內(nèi)存中的令牌 序列號和時(shí)間計(jì)數(shù)器上的當(dāng)前時(shí)間提供給ECC加密芯片進(jìn)行加密處理,生成的動 態(tài)口令傳送給顯示屏;
2) 用戶從顯示屏得到動態(tài)口令;
3) 用戶在客戶端接口將動態(tài)口令輸入到應(yīng)用終端的開始界面的密碼框內(nèi);
4) 用戶通過應(yīng)用終端得到用戶的帳戶名稱和密碼,如果設(shè)置了PIN碼,則 需要在密碼的前面部分包括PIN碼;
5) 在數(shù)據(jù)庫中取出這個(gè)用戶的信息和用戶綁定的令牌的信息,如果讀取信 息失敗將退出認(rèn)證并返回錯(cuò)誤信息,如果讀取信息成功將進(jìn)行下一步操作;
6) 把剛才返回的信息中的令牌序列號和服務(wù)器的當(dāng)前時(shí)間通過ECC算法產(chǎn) 生對應(yīng)的動態(tài)口令;
7) 把輸入的密碼和上一步產(chǎn)生的口令進(jìn)行比較,如果用戶設(shè)置了PIN碼, 則在比較時(shí),還需要在動態(tài)口令前加上PIN碼,如果比較成功將返回成功消息號, 如果比較失敗將返回錯(cuò)誤消息號;
8) 把這次的認(rèn)證過程組成認(rèn)證日志數(shù)據(jù),插入到數(shù)據(jù)庫中。 當(dāng)動態(tài)令牌裝置和服務(wù)器的時(shí)間誤差大于時(shí)間窗口后,可以利用時(shí)間漂移技
術(shù)調(diào)整時(shí)間窗口的范圍;也可手動校時(shí),手動校時(shí)的步驟如下
1) 通過管理系統(tǒng)得到動態(tài)口令裝置的令牌序列號和兩個(gè)連續(xù)的動態(tài)口令;
2) 從后臺數(shù)據(jù)中獲得這個(gè)令牌的數(shù)據(jù);
3) 輸入連續(xù)的兩個(gè)動態(tài)口令和令牌序列號;
4) 然后把當(dāng)前連續(xù)兩分鐘的時(shí)間和令牌序列號通aECC算法產(chǎn)生兩個(gè)連續(xù) 的動態(tài)口令和輸入的動態(tài)口令做比較,如果成功則不需要校時(shí),直接正確退出, 如果失敗則把下一分鐘的連續(xù)兩分鐘時(shí)間和和令牌序列號通過ECC算法產(chǎn)生兩 個(gè)連續(xù)的動態(tài)口令和輸入的動態(tài)口令做比較,如果成功則進(jìn)行校時(shí),如果失敗則 當(dāng)前時(shí)間的上一分鐘的連續(xù)兩分鐘時(shí)間和和令牌序列號通過ECC算法產(chǎn)生兩個(gè) 連續(xù)的動態(tài)口令和輸入的動態(tài)口令做比較,如果成功則進(jìn)行校時(shí),如果失敗采用 當(dāng)前時(shí)間的前后兩分鐘,直到分鐘數(shù)超過了窗口時(shí)間為止。本發(fā)明的優(yōu)點(diǎn)是可以提高動態(tài)口令身份認(rèn)證的安全性能、加快認(rèn)證中心的 驗(yàn)證速度、減少系統(tǒng)空間消耗、節(jié)約網(wǎng)絡(luò)帶寬。
圖1為本發(fā)明中基于ECC算法的身份認(rèn)證系統(tǒng)的架構(gòu)示意圖; 圖2為本發(fā)明的系統(tǒng)中動態(tài)口令生成裝置的生成動態(tài)口令的流程圖; 圖3為本發(fā)明中基于ECC算法的身份認(rèn)證方法的流程圖; 圖4為本發(fā)明中的手動校時(shí)的流程圖。
具體實(shí)施例方式
一種基于ECC算法的身份認(rèn)證系統(tǒng),包括客戶端接口、動態(tài)口令生成裝置、 應(yīng)用終端、認(rèn)證服務(wù)器、管理系統(tǒng)和數(shù)據(jù)庫,其特征在于客戶端接口與動態(tài)口
令生成裝置相連接,客戶端接口與應(yīng)用終端相連接,應(yīng)用終端與認(rèn)證服務(wù)器相連 接,認(rèn)證服務(wù)器與管理系統(tǒng)相連接,認(rèn)證服務(wù)器與數(shù)據(jù)庫相連接,管理系統(tǒng)與數(shù)
據(jù)庫相連接。所述的動態(tài)口令生成裝置包括內(nèi)存、時(shí)間計(jì)數(shù)器、ECC加密芯片、 按鈕和液晶屏,內(nèi)存與ECC加密芯片相連接,時(shí)間計(jì)數(shù)器與ECC加密芯片相連接, ECC加密芯片與顯示屏相連接,ECC加密芯片可與按鈕相連接。所述的認(rèn)證服務(wù) 器設(shè)置有可調(diào)控動態(tài)時(shí)間窗口。所述的認(rèn)證服務(wù)器提供了豐富的認(rèn)證接口。所述 的應(yīng)用終端為是指需要身份認(rèn)證的服務(wù)器。所述的顯示屏為液晶顯示屏。
動態(tài)口令裝置按系統(tǒng)設(shè)置時(shí)間周期生成一個(gè)隨機(jī)動態(tài)口令,每個(gè)動態(tài)口令只 在系統(tǒng)設(shè)置有效時(shí)間周期內(nèi)有效,每個(gè)動態(tài)口令只能使用一次。認(rèn)證服務(wù)器利用 時(shí)間漂移技術(shù)設(shè)置有可調(diào)控動態(tài)時(shí)間窗口,系統(tǒng)允許該時(shí)間窗口內(nèi)的動態(tài)口令通 過認(rèn)證。管理系統(tǒng)用于用戶操作、管理員操作、權(quán)限設(shè)置、參數(shù)設(shè)置,數(shù)據(jù)庫備 份。數(shù)據(jù)庫,用于存儲用戶信息、管理員信息、令牌信息、操心日志、認(rèn)證日志、 系統(tǒng)信息。動態(tài)口令裝置與認(rèn)證服務(wù)器之間的時(shí)間窗口可以根據(jù)登錄間隔時(shí)間或 不同調(diào)用而進(jìn)行動態(tài)調(diào)整。當(dāng)用戶使用的動態(tài)口令的時(shí)間誤差超過了系統(tǒng)設(shè)定的 時(shí)間窗口范圍,用戶可以到指定網(wǎng)站或客服,通過輸入連續(xù)兩個(gè)密碼來校正時(shí)間。 每個(gè)動態(tài)令牌可與多個(gè)應(yīng)用服務(wù)器上的多個(gè)帳戶綁定。所述的應(yīng)用終端指所有需 要身份認(rèn)證的服務(wù)器。
一種基于ECC算法的身份認(rèn)證方法,其特征在于,包括如下步驟
1)動態(tài)口令生成裝置按用戶給予指令或自動設(shè)定,將存儲在內(nèi)存中的令牌序列號和時(shí)間計(jì)數(shù)器上顯示的當(dāng)前時(shí)間提供給ECC加密芯片進(jìn)行加密處理,生成
的動態(tài)口令傳送給顯示屏;
2) 用戶從顯示屏得到動態(tài)口令;
3) 用戶在客戶端接口將動態(tài)口令輸入到應(yīng)用終端的開始界面的密碼框內(nèi);
4) 用戶通過應(yīng)用終端得到用戶的帳戶名稱和密碼,如果設(shè)置了PIN碼,則 需要在密碼的前面部分包括PIN碼
5) 在數(shù)據(jù)庫中取出這個(gè)用戶的信息和用戶綁定的令牌的信息,如果讀取信 息失敗將退出認(rèn)證并返回錯(cuò)誤信息,如果讀取信息成功將進(jìn)行下一步操作;
6) 把剛才返回的信息中的令牌序列號和服務(wù)器的當(dāng)前時(shí)間通過ECC算法產(chǎn) 生對應(yīng)的動態(tài)口令;
7) 把輸入的密碼和上一步產(chǎn)生的口令進(jìn)行比較,如果用戶設(shè)置了PIN碼, 則在比較時(shí),還需要在動態(tài)口令前加上PIN碼,如果比較成功將返回成功消息號, 如果比較失敗將返回錯(cuò)誤消息號;
8) 把這次的認(rèn)證過程組成認(rèn)證日志數(shù)據(jù),插入到數(shù)據(jù)庫中。 當(dāng)動態(tài)令牌裝置和服務(wù)器的時(shí)間誤差大于時(shí)間窗口后,可以調(diào)整時(shí)間窗口的
范圍,也即手動校時(shí),手動校時(shí)的步驟如下
1) 通過管理系統(tǒng)得到動態(tài)口令裝置的令牌序列號和兩個(gè)連續(xù)的動態(tài)口令;
2) 從后臺數(shù)據(jù)中獲得這個(gè)令牌的數(shù)據(jù);
3) 輸入連續(xù)的兩個(gè)動態(tài)口令和令牌序列號
4) 然后把當(dāng)前連續(xù)兩分鐘的時(shí)間和令牌序列號通^ECC算法產(chǎn)生兩個(gè)連續(xù) 的動態(tài)口令和輸入的動態(tài)口令做比較,如果成功則不需要校時(shí),直接正確退出, 如果失敗則把下一分鐘的連續(xù)兩分鐘時(shí)間和和令牌序列號通過ECC算法產(chǎn)生兩 個(gè)連續(xù)的動態(tài)口令和輸入的動態(tài)口令做比較,如果成功則進(jìn)行校時(shí),如果失敗則 當(dāng)前時(shí)間的上一分鐘的連續(xù)兩分鐘時(shí)間和和令牌序列號通過ECC算法產(chǎn)生兩個(gè) 連續(xù)的動態(tài)口令和輸入的動態(tài)口令做比較,如果成功則進(jìn)行校時(shí),如果失敗采用 當(dāng)前時(shí)間的前后兩分鐘,直到分鐘數(shù)超過了窗口時(shí)間為止。
本發(fā)明實(shí)行雙因子認(rèn)證機(jī)制來進(jìn)行身份認(rèn)證,動態(tài)口令由時(shí)間因子和隨機(jī)數(shù) 因子通過高強(qiáng)度ECC非對稱橢圓算法產(chǎn)生,不易被剽竊,不易被破解,不易被推 測出后續(xù)密碼。認(rèn)證服務(wù)器可以對一個(gè)時(shí)間窗口內(nèi)的動態(tài)口令進(jìn)行驗(yàn)證。
權(quán)利要求
1.一種基于ECC算法的身份認(rèn)證系統(tǒng),包括客戶端接口、動態(tài)口令生成裝置、應(yīng)用終端、認(rèn)證服務(wù)器、管理系統(tǒng)和數(shù)據(jù)庫,其特征在于客戶端接口與動態(tài)口令生成裝置相連接,客戶端接口與應(yīng)用終端相連接,應(yīng)用終端與認(rèn)證服務(wù)器相連接,認(rèn)證服務(wù)器與管理系統(tǒng)相連接,認(rèn)證服務(wù)器與數(shù)據(jù)庫相連接,管理系統(tǒng)與數(shù)據(jù)庫相連接。
2. 如權(quán)利要求1所述的一種基于ECC算法的身份認(rèn)證系統(tǒng),其特征在于所 述的動態(tài)口令生成裝置包括內(nèi)存、時(shí)間計(jì)數(shù)器、ECC加密芯片、按鈕和液 晶屏,內(nèi)存與ECC加密芯片相連接,時(shí)間計(jì)數(shù)器與ECC加密芯片相連接, ECC加密芯片與顯示屏相連接。
3. 如權(quán)利要求1所述的一種基于ECC算法的身份認(rèn)證系統(tǒng),其特征在于所 述的ECC加密芯片與按鈕相連接。
4. 如權(quán)利要求1所述的一種基于ECC算法的身份認(rèn)證系統(tǒng),其特征在于所 述的認(rèn)證服務(wù)器通過時(shí)間漂移技術(shù)設(shè)置有可調(diào)控動態(tài)時(shí)間窗口。
5. 如權(quán)利要求1所述的一種基于ECC算法的身份認(rèn)證系統(tǒng),其特征在于所 述的認(rèn)證服務(wù)器提供了豐富的認(rèn)證接口 。
6. 如權(quán)利要求1所述的一種基于ECC算法的身份認(rèn)證系統(tǒng),其特征在于所 述的應(yīng)用終端為是指需要身份認(rèn)證的服務(wù)器。
7. 如權(quán)利要求2所述的一種基于ECC算法的身份認(rèn)證系統(tǒng),其特征在于所 述的顯示屏為液晶顯示屏。
8. —種基于ECC算法的身份認(rèn)證方法,其特征在于,包括如下步驟1) 動態(tài)口令生成裝置按用戶給予指令或自動設(shè)定指令,將存儲在內(nèi)存 中的令牌序列號和時(shí)間計(jì)數(shù)器上的當(dāng)前時(shí)間提供給ECC加密芯片進(jìn) 行加密處理,生成的動態(tài)口令傳送給顯示屏;2) 用戶從顯示屏得到動態(tài)口令;3) 用戶在客戶端接口將動態(tài)口令輸入到應(yīng)用終端的開始界面的密碼框 內(nèi);4) 用戶通過應(yīng)用終端得到用戶的帳戶名稱和密碼,如果設(shè)置了PIN碼, 則需要在密碼的前面部分包括PIN碼;5) 在數(shù)據(jù)庫中取出這個(gè)用戶的信息和用戶綁定的令牌的信息,如果讀 取信息失敗將退出認(rèn)證并返回錯(cuò)誤信息,如果讀取信息成功將進(jìn)行下一步操作;6) 把剛才返回的信息中的令牌序列號和服務(wù)器的當(dāng)前時(shí)間通過ECC算 法產(chǎn)生對應(yīng)的動態(tài)口令;7) 把輸入的密碼和上一步產(chǎn)生的口令進(jìn)行比較,如果用戶設(shè)置了PIN 碼,則在比較時(shí),還需要在動態(tài)口令前加上PIN碼,如果比較成功將 返回成功消息號,如果比較失敗將返回錯(cuò)誤消息號;8) 把這次的認(rèn)證過程組成認(rèn)證日志數(shù)據(jù),插入到數(shù)據(jù)庫中。
9.如權(quán)利要求6所述的一種基于ECC算法的身份認(rèn)證方法,其特征在于當(dāng) 動態(tài)令牌裝置和服務(wù)器的時(shí)間誤差大于時(shí)間窗口后,通過時(shí)間漂移技術(shù) 調(diào)整時(shí)間窗口的范圍;也可手動校時(shí),手動校時(shí)的步驟如下1) 通過管理系統(tǒng)得到動態(tài)口令裝置的令牌序列號和兩個(gè)連續(xù)的動態(tài)口 令;2) 從后臺數(shù)據(jù)中獲得這個(gè)令牌的數(shù)據(jù);3) 輸入連續(xù)的兩個(gè)動態(tài)口令和令牌序列號;4) 然后把當(dāng)前連續(xù)兩分鐘的時(shí)間和令牌序列號通過ECC算法產(chǎn)生兩個(gè) 連續(xù)的動態(tài)口令和輸入的動態(tài)口令做比較,如果成功則不需要校時(shí), 直接正確退出,如果失敗則把下一分鐘的連續(xù)兩分鐘時(shí)間和和令牌 序列號通過ECC算法產(chǎn)生兩個(gè)連續(xù)的動態(tài)口令和輸入的動態(tài)口令做 比較,如果成功則進(jìn)行校時(shí),如果失敗則當(dāng)前時(shí)間的上一分鐘的連 續(xù)兩分鐘時(shí)間和和令牌序列號通過ECC算法產(chǎn)生兩個(gè)連續(xù)的動態(tài)口 令和輸入的動態(tài)口令做比較,如果成功則進(jìn)行校時(shí),如果失敗采用 當(dāng)前時(shí)間的前后兩分鐘,直到分鐘數(shù)超過了窗口時(shí)間為止。
全文摘要
一種基于ECC算法的身份認(rèn)證系統(tǒng)和身份認(rèn)證方法,包括客戶端接口、動態(tài)口令生成裝置、應(yīng)用終端、認(rèn)證服務(wù)器、管理系統(tǒng)和數(shù)據(jù)庫,其特征在于客戶端接口與動態(tài)口令生成裝置相連接,客戶端接口與應(yīng)用終端相連接,應(yīng)用終端與認(rèn)證服務(wù)器相連接,認(rèn)證服務(wù)器與管理系統(tǒng)相連接,認(rèn)證服務(wù)器與數(shù)據(jù)庫相連接,管理系統(tǒng)與數(shù)據(jù)庫相連接。本發(fā)明的優(yōu)點(diǎn)是可以提高動態(tài)口令身份認(rèn)證的安全性能、加快認(rèn)證中心的驗(yàn)證速度、減少系統(tǒng)空間消耗、節(jié)約網(wǎng)絡(luò)帶寬。
文檔編號H04L9/32GK101626291SQ20081004027
公開日2010年1月13日 申請日期2008年7月7日 優(yōu)先權(quán)日2008年7月7日
發(fā)明者談劍鋒 申請人:談劍鋒