
本發(fā)明涉及的是一種信息安全技術領域的系統(tǒng),具體是一種基于位置信息的動態(tài)令牌及其加密方法。
背景技術:隨著網絡的應用日益普及,網絡交易日益頻繁,網絡交易過程中信息安全問題也越來越突出,成為網絡交易用戶以及金融機構日益關心的問題。身份認證是網絡信息安全體系的重要組成部分,其任務是檢驗信息系統(tǒng)用戶身份的正確性、合法性和真實性,保護合法用戶的權益,禁止非法用戶的訪問?,F(xiàn)有的網絡訪問身份認證方法一般采用用戶名+靜態(tài)密碼+動態(tài)口令牌或USBKey等方式進行認證。由于所生成的密碼每次都不相同,或者在固定時間間隔內發(fā)生變化,因此能夠比較有效地防止用戶的密碼被猜測、重用。但是,一旦用戶所輸入的用戶名和密碼在網絡傳輸過程中被黑客攔截、釣魚網站截獲后,非法用戶便可利用所截獲的密碼登錄到合法用戶的網絡賬戶,很容易造成合法用戶的賬戶被他人非法侵占,導致金融財產的損失。經過對現(xiàn)有技術的檢索發(fā)現(xiàn),中國專利文獻號CN103051460,公開日2013-04-17,公開了一種信息安全技術領域的基于慣性技術的動態(tài)令牌系統(tǒng)及其加密方法,包括:信息處理模塊和分別與之相連接的傳感器模塊和動態(tài)密碼生成模塊,信息處理模塊內存儲有動態(tài)令牌的種子密鑰和序列號,根據傳感器模塊輸出的動態(tài)令牌空間信息計算動態(tài)令牌的當前姿態(tài),并計算生成動態(tài)令牌的當前時間后生成動態(tài)因子輸出至動態(tài)密碼生成模塊;傳感器模塊測量動態(tài)令牌空間信息并輸出至信息處理模塊;動態(tài)密碼生成模塊根據動態(tài)令牌的靜態(tài)因子和動態(tài)因子計算生成動態(tài)密碼;信息處理模塊的數據輸出端輸出當前動態(tài)密碼,信息處理模塊的指令輸出端輸出工作狀態(tài)切換指令至傳感器模塊以實現(xiàn)工作狀態(tài)的調節(jié)。但該技術所采用的加密信息為動態(tài)令牌當前的空間姿態(tài)信息,可以有效地提高動態(tài)令牌在被偷窺、甚至丟失、被盜竊的情況下動態(tài)口令的安全性。但由于該技術所采用的加密信息不是動態(tài)令牌當前的空間位置信息,這就使得在服務器端驗證動態(tài)令牌的空間姿態(tài)信息時存在一定的困難;同時,動態(tài)令牌的空間姿態(tài)信息與位置信息無關,又使得動態(tài)令牌所產生的動態(tài)密碼在網絡傳輸過程中被截獲后,由于沒有被位置信息加密保護,可能易被二次使用。
技術實現(xiàn)要素:本發(fā)明針對現(xiàn)有技術存在的上述不足,提出一種基于位置信息的動態(tài)令牌及其加密方法,該令牌利用用戶的地理位置這一個人特征信息,參與生成一次性動態(tài)密碼,能夠防止動態(tài)令牌所生成的動態(tài)密碼在網絡傳輸過程中被他人非法截獲后再次使用該密碼訪問動態(tài)令牌的合法持有者的賬戶,提高動態(tài)密碼的安全性,確保身份認證的正確性。本發(fā)明是通過以下技術方案實現(xiàn)的,本發(fā)明包括:定位單元、綜合信息處理單元和多因子加密單元,其中:定位單元獲取或計算動態(tài)令牌當前的地理位置坐標信息和時間信息,并輸出至綜合信息處理單元;綜合信息單元獲取定位模塊輸出的位置信息和時間信息,存儲于本地后計算獲得令牌所在地理位置的當前時間并輸出至多因子加密單元;多因子加密單元接收當前時間以及位置信息以構成初始預處理口令明文,再對其進行分割、連接、重組后構成初始口令明文,然后運用單向散列函數的加密算法將初始口令明文加密生成指定位長的消息摘要,在此基礎上再對消息摘要進行抽取、壓縮、變換計算生成最終指定長度和格式的動態(tài)密碼并輸出至綜合信息處理單元進行顯示。所述的定位單元包括:衛(wèi)星定位裝置、或者Wi-Fi定位裝置、或者無線移動通信裝置、或者IP地址定位方法、或者無線電定位裝置、或者超聲波定位裝置、或者紅外線定位裝置,以及其它定位裝置;用于獲取或計算出動態(tài)令牌當前的地理位置坐標信息,并輸出至綜合信息處理單元。所述的獲取或計算是指:定位單元計算出令牌的地理位置坐標,同時也計算出時間信息。所述的綜合信息處理單元包括:中央處理器CPU模塊、存儲器模塊、通信模塊和時間模塊,其中,通信模塊用于控制和接收來自定位單元處理后的動態(tài)令牌的位置信息,以及時間信息;時間模塊處理通過通信模塊傳輸來自定位單元所獲取的時間信息,根據動態(tài)令牌所在的地理位置,在CPU模塊的控制下計算出動態(tài)令牌所在時區(qū)的當前時間;存儲器模塊用于存儲各模塊和單元工作的程序和參數;中央處理器CPU模塊用于協(xié)調和控制綜合信息處理單元中各模塊間,以及與外部各單元之間的的時序和邏輯關系,負責完成各模塊內部的,以及加密算法的程序運行。所述的多因子加密單元內置位置動態(tài)因子、時間動態(tài)因子、種子密鑰、令牌序列號和令牌設備特征號,其中:位置動態(tài)因子由多因子加密單元根據定位模塊輸出的令牌所在位置信息計算生成;時間動態(tài)因子由多因子加密單元根據綜合信息處理單元的時間模塊輸出的令牌所在地理位置的當前時間計算生成;種子密鑰是為多因子加密單元預先分配的加密算法所需要的密鑰參數;令牌序列號是為未來網絡服務器認證所需要的預先分配的令牌序列參數;令牌設備特征號為識別令牌唯一性所預先分配的特征參數。所述的動態(tài)令牌進一步包括電源和外殼以實現(xiàn)獨立工作,或者所述的動態(tài)令牌集成設置于移動電子設備的內部,如手機、筆記本電腦、平板電腦、PDA的內部,在其它移動電子設備的配合下協(xié)同工作。所述的動態(tài)令牌進一步包括動態(tài)密碼顯示單元,以顯示動態(tài)密碼和令牌的工作狀態(tài)。所述的位置信息是指:動態(tài)令牌在地球坐標系下的當前經度、緯度和高度信息。所述的時間動態(tài)因子是指:動態(tài)令牌所在地理位置的當前的年、月、日、時、分、秒的時間信息,并按照一定方式的組合。所述的位置動態(tài)因子是指:動態(tài)令牌當前的經度、緯度和高度信息,并按照一定方式的組合。所述的一定方式的組合是指:將動態(tài)令牌的時間動態(tài)因子、或者動態(tài)令牌的位置動態(tài)因子所包含的各個信息按照預定的格式和順序連接起來。所述的初始口令明文是指:將種子密鑰、令牌序列號和令牌設備特征號預先連接成初始預處理口令明文的第一段,將位置動態(tài)因子連接成初始預處理口令明文第二段,將時間動態(tài)因子連接成初始預處理口令明文第三段,再將初始預處理口令明文各段按照預定的長度和格式分割開,并重新按照預定的順序連接起來,組合成新的字符串,構成初始口令明文。所述的單向散列函數的加密算法是指:MD5算法、SHA-1算法、SHA-256算法、SHA-512算法或其組合。所述的動態(tài)密碼顯示單元采用段式顯示屏、點陣式顯示屏、字符顯示屏或圖形顯示屏。本發(fā)明涉及上述動態(tài)令牌的加密方法,包括以下步驟:步驟1)多因子加密單元首先提取動態(tài)令牌序列號、令牌設備特征號和種子密鑰,依次連接,構成初始預處理口令明文的第一段;步驟2)綜合信息處理單元控制通信模塊獲取定位模塊解算出的動態(tài)令牌當前的地理位置信息,通過多因子加密單元按照預定的格式計算生成位置動態(tài)因子,并按照預定的格式構成初始預處理口令明文的第二段;步驟3)綜合信息處理單元控制通信模塊獲取定位模塊輸出的時間信息,通過時間模塊,并根據動態(tài)令牌所在的地理位置,計算出動態(tài)令牌所在時區(qū)的當前時間,多因子加密單元按照預定的格式計算生成時間動態(tài)因子,并按照預定的格式構成初始預處理口令明文的第三段;步驟4)將所構成的初始預處理口令明文的第一段、第二段和第三段分別按照預定的位長分割開,再按照預定的順序將分割開的各段連接起來,重組構成初始口令明文;步驟5)運用單向散列函數的加密算法將上述得到的初始口令明文加密計算生成規(guī)定位長的消息摘要;步驟6)對上述加密得到的消息摘要,按照動態(tài)密碼的位數分組,每組中抽取一位字符構成動態(tài)密碼的相應位,通過這種抽取壓縮方法生成壓縮型消息摘要,即動態(tài)令牌的動態(tài)密碼;步驟7)根據動態(tài)令牌的顯示方式,對于字符型顯示方式,直接顯示上述所得到的動態(tài)密碼;對于純數字型顯示方式,將上述所得到的動態(tài)密碼轉換為相應的數字型動態(tài)密碼,再輸出顯示;所述的加密是指:將種子密鑰、令牌序列號、令牌設備特征號、位置動態(tài)因子和時間動態(tài)因子構成初始預處理口令明文,再分割、重組、連接構成初始口令明文,運用單向散列函數的加密算法,不可逆地加密生成規(guī)定位長的消息摘要,進一步根據所要顯示的動態(tài)密碼長度的要求,將所得到的消息摘要抽取、壓縮、變換為相應的最終指定長度和格式的動態(tài)密碼;步驟7)判斷動態(tài)令牌的動態(tài)密碼更新周期是否到期,如未到期則延時等待,并繼續(xù)顯示動態(tài)令牌當前的動態(tài)密碼和工作狀態(tài);如到期則返回步驟2),重新計算動態(tài)令牌的初始口令明文,生成新的動態(tài)密碼并輸出;所述的動態(tài)令牌的動態(tài)密碼更新周期是指:預先設定的動態(tài)令牌的動態(tài)密碼更新的時間長度。具體的,一般預先設定動態(tài)密碼更新周期為60秒。技術效果相比于目前現(xiàn)有技術,本發(fā)明動態(tài)令牌既可以作為一個獨立的電子設備獨立工作,或者集成于其它電子設備的內部,如手機、筆記本電腦、平板電腦、PDA、或者其它電子設備的內部,在其它電子設備的配合下協(xié)同工作。同時本發(fā)明對所生成的動態(tài)密碼具有動態(tài)性、時效性和位置性的保護作用,確保動態(tài)令牌的合法持有者獲得和使用正確的動態(tài)密碼,防止非法用戶通過各種釣魚網站、或者網絡攔截等方式非法獲得動態(tài)令牌所生成的動態(tài)密碼后再次有效地使用該密碼訪問動態(tài)令牌的合法持有者的賬戶,提高和完善了動態(tài)密碼的安全性,確保身份認證的正確性。附圖說明圖1為本發(fā)明實施例的結構示意圖;圖2為本發(fā)明實施例的工作方法的流程圖。具體實施方式下面對本發(fā)明的實施例作詳細說明,本實施例在以本發(fā)明技術方案為前提下進行實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于下述的實施例。實施例1如圖1所示,本實施例動態(tài)令牌包括:Wi-Fi定位單元101、綜合信息處理單元102,其中綜合信息處理單元102內部包括CPU模塊、存儲器模塊、通信模塊和時間模塊,多因子密碼生成單元103,其中多因子密碼生成單元103內部包括位置動態(tài)因子、時間動態(tài)因子、種子密鑰、序列號和設備特征號,動態(tài)密碼顯示單元104、以及電源單元105,其中:Wi-Fi定位單元101用于獲取、計算動態(tài)令牌當前的位置信息和時間信息,并通過綜合信息處理單元102的通信模塊輸出至綜合信息處理單元102;綜合信息處理單元102通過通信模塊獲得Wi-Fi定位單元101輸出的位置信息和時間信息,并存儲于存儲器模塊,由CPU模塊通過時間模塊計算獲得令牌所在地理位置的當前時間,并輸出給多因子加密單元103,多因子加密單元103根據Wi-Fi定位模塊101輸出的令牌所在位置信息計算生成位置動態(tài)因子,多因子加密單元103根據綜合信息處理單元102的時間模塊輸出的令牌所在地理位置的當前時間計算生成時間動態(tài)因子,多因子加密單元103根據預存的種子密鑰、令牌序列號和令牌設備特征號各參數,結合計算生成的位置動態(tài)因子和時間動態(tài)因子構成初預處理始口令明文,再對其進行分割、連接、重組后構成初始口令明文,然后運用單向散列函數的加密算法將初始口令明文加密生成指定位長的消息摘要,在次基礎上再對該消息摘要進行抽取、壓縮、變換計算生成最終指定長度和格式的動態(tài)密碼,并輸出至綜合信息處理單元102,綜合信息處理單元102將該動態(tài)密碼和令牌的工作狀態(tài)輸出至動態(tài)密碼顯示單元104顯示;本實施例中所述的Wi-Fi定位單元101與上述移動電子設備固定連接;本實施例中所述的多因子密碼生成單元103根據Wi-Fi定位模塊101輸出至綜合信息處理單元102的令牌所在位置信息計算生成位置動態(tài)因子,根據綜合信息處理單元102的時間模塊輸出的令牌所在地理位置的當前時間計算生成時間動態(tài)因子,結合預存的種子密鑰、令牌序列號和令牌設備特征號各參數構成初始口令明文,運用單向散列函數的加密算法將初始口令明文加密生成指定位長的消息摘要,在次基礎上再對該消息摘要進行抽取、壓縮、變換計算生成最終指定長度和格式的動態(tài)密碼;所述的加密算法包括標準加密算法和自定義加密算法;本實施例中所述的綜合信息處理單元102,與動態(tài)密碼顯示單元104相連,用于控制動態(tài)密碼顯示單元104的工作方法和工作狀態(tài);所述的動態(tài)密碼顯示單元104的工作方法和工作狀態(tài)是指動態(tài)密碼顯示單元104正常顯示動態(tài)密碼、或以閃爍形式顯示動態(tài)密碼、或停止顯示動態(tài)密碼、或者動態(tài)密碼的有效時間;所述的動態(tài)密碼顯示單元104采用段式顯示屏、點陣式顯示屏、字符顯示屏或者圖形顯示屏;本實施例中所述的電源單元105直接采用移動電子設備的電源實現(xiàn);如圖2,本實施例涉及上述動態(tài)令牌的工作方法,包括以下步驟:步驟201:提取多因子加密單元預存的序列號SN;步驟202:提取多因子加密單元預存的設備特征號ID;步驟203:提取多因子加密單元預存的種子密鑰SEED;步驟204:利用令牌的序列號SN、設備特征號ID和種子密鑰SEED創(chuàng)建初始預處理口令明文第一段,格式為:PubCode0=SN+ID+SEED,L=Length(PubCode0),其中L表示字符串PubCode0的長度;步驟205:根據令牌的地理位置信息,計算生成令牌的位置動態(tài)因子,格式為:Position0=(Longitude,Latitude,Height),分別表示經度、緯度和高度;步驟206:根據令牌的位置動態(tài)因子,創(chuàng)建初始預處理口令明文第二段,格式為:Position=Longitude+Latitude+Height;步驟207:根據令牌的時間信息,計算生成令牌的時間動態(tài)因子,格式為:Time0=(Year,Month,Day,Hour,Minute,Second),分別表示年、月、日、時、分和秒;步驟208:根據令牌的時間動態(tài)因子,創(chuàng)建初始預處理口令明文第三段,格式為:Time=Year+Month+Day+Hour+Minute+Second;步驟209:按照預定格式分割初始預處理口令明文的各段,方式為:Seg1=copy(PubCode0,1,L/2),Seg2=DataFormat1(Posisition(Longitude),Time(Year+Month+Day)),Seg3=DataFormat2(Posisition(Latitude+Height),Time(Hour,Minute,Second)),Seg4=copy(PubCode0,L/2+1,L),其中,將PubCode0一分為二,分別提取前半部分Seg1=copy(PubCode0,1,L/2)和后半部分Seg4=copy(PubCode0,L/2+1,L);將位置動態(tài)因子Position一分為二,分別提取前半部分Posisition(Longitude)和后半部分Posisition(Latitude+Height),將時間動態(tài)因子Time一分為二,分別提取前半部分Time(Year+Month+Day)和后半部分Time(Hour,Minute,Second);步驟210:按預定順序連接上述各段,重組構成初始口令明文,格式為:PubCode=Seg1+Seg2+Seg3+Seg4,即:PubCode=copy(PubCode0,1,L/2)+DataFormat1(Posisition(Longitude),Time(Year+Month+Day))+DataFormat2(Posisition(Latitude+Height),Time(Hour,Minute,Second))+copy(PubCode0,L/2+1,L),如2013年12月18日09點32分15秒,經度121度12分,緯度31度18分,海拔高度12米,令牌的序列號SN=“10000001”,令牌的設備特征號ID=“DLXGPDJYDKPJ”,令牌的種子密鑰SEED=“999999”,則初始口令明文PubCode=“10000001DLXGP1211220131218311812093215DJYDKPJ999999”;步驟211:運用MD5散列函數算法將上述所得的初始口令明文加密計算生成128位消息摘要。上例中的初始口令明文經MD5加密后的消息摘要結果為:A4688A3D02FFCBFD6E2FA8C0022A309B;步驟212:對上述消息摘要分組,并按組抽取一位,壓縮成指定位長的消息摘要。對于上例中的消息摘要按照每四個字符構成一組,每一組抽取第2位的字符組成壓縮型消息摘要,即4A2BE820,該結果即為初始口令明文加密后的動態(tài)密碼;步驟213:將壓縮后的消息摘要,根據令牌的顯示方式,對于字符型顯示方式,直接顯示上述所得到的動態(tài)密碼;對于純數字型顯示方式,將上述所得到的動態(tài)密碼的每一位轉換為相應的數字型動態(tài)密碼;步驟214:通過顯示單元顯示上述所得動態(tài)令牌的動態(tài)密碼和工作狀態(tài);步驟215:判斷動態(tài)密碼的顯示更新周期是否到達?如未到期則延時等待,回到步驟214,繼續(xù)顯示動態(tài)令牌當前的動態(tài)密碼和工作狀態(tài);是則回到步驟205,重新計算動態(tài)令牌新的初始口令明文,生成新的動態(tài)密碼,并顯示新的動態(tài)密碼和工作狀態(tài);本方法根據動態(tài)令牌當前的時間信息和位置信息所生成的動態(tài)密碼同時具有時效性、位置性和動態(tài)性,能夠對動態(tài)令牌的動態(tài)密碼具有遠程保護作用,確保動態(tài)令牌的合法持有者獲得和使用正確的動態(tài)密碼,防止非法用戶通過各種釣魚網站、或者網絡攔截等非法手段獲得動態(tài)令牌的動態(tài)密碼后再次有效地使用該密碼訪問動態(tài)令牌的合法持有者的賬戶。