專利名稱:一種基于預運算的密碼卡動態(tài)認證方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及一種動態(tài)認證方法和系統(tǒng),尤其涉及一種基于預運算的密碼卡動態(tài)認證方法及系統(tǒng)。
背景技術:
在計算機網(wǎng)絡中,最常見而且最簡單的訪問控制方法是使用口令,通過對口令的匹配來確認用戶的合法性??诹畈话踩蔷W(wǎng)絡系統(tǒng)中普遍存在的隱患。據(jù)美國某專業(yè)安全協(xié)會對近千名公司網(wǎng)絡管理員的調查表明,有60%的系統(tǒng)首先被攻擊和突破的部位是口令,而煩瑣的口令設置又給用戶帶來很多麻煩,對此系統(tǒng)管理員感到進退兩難。
隨著互聯(lián)網(wǎng)技術及電子移動商務的迅猛發(fā)展,各種口令欺詐、企業(yè)員工內外勾結偽造冒用合法用戶身份,非法入侵企業(yè)核心機密、竊取泄露破壞企業(yè)資源,非法使用資源,各種欺詐者假冒銀行及交易網(wǎng)站,套用竊取用戶密碼及交易信用卡賬號,盜用用戶資金等時有發(fā)生。
申請?zhí)枮?00410098462.8、發(fā)明名稱為“基于動態(tài)密碼表的動態(tài)密碼生成和認證系統(tǒng)及方法”的中國專利申請,公開了一種基于動態(tài)密碼表的動態(tài)密碼生成和認證系統(tǒng)及方法。其原理是密碼表生成器根據(jù)不同的用戶分別生成一個隨機數(shù)組成的動態(tài)密碼表(簡稱密碼表或表),將表綁定到對應的賬戶上,并以紙面或電子的形式提供給用戶,再口頭或通信約定初始有效碼位置。有效碼只能用一次,下次用時有效碼將變?yōu)楸碇邢乱粋€密碼,若有效碼在表尾,下一個有效碼變?yōu)楸碇械谝粋€,即循環(huán)使用密碼表。因忘記或需要可通過各種通訊方式重新約定有效碼位置,即有效碼校準。密碼表的更換和有效碼校準可隨時進行。
該申請采用服務器和客戶端同時預計算,也即服務器端已經(jīng)有預計算的密碼暫存,等待與客戶端輸入的密碼進行比較。服務器一旦被入侵,服務器端預計算的密碼被獲知,那么整個安全機制將失效。而且,該申請只涉及到客戶端與驗證服務器之間的交互,當遇到很多個需要受保護的資源時,必須設置相同數(shù)量的驗證服務器才能滿足要求,增加了設備投入。
發(fā)明內容
本發(fā)明的目的在于解決上述問題,提供了一種基于預運算的密碼卡動態(tài)認證方法及系統(tǒng),避免口令泄密所帶來的安全隱患,最大限度降低了網(wǎng)上交易的風險,提升了電子政務和網(wǎng)上交易服務的安全性。
本發(fā)明的技術方案為本發(fā)明提供了一種基于預運算的密碼卡動態(tài)認證方法,用于用戶訪問受保護資源時的安全認證,其中,所述方法包括大素數(shù)據(jù)庫根據(jù)用戶編號生成種子值,對該種子值進行預運算,依次生成包含多個密碼值的密碼組,并將該密碼組中的所有密碼值按生成的順序加以保存;認證代理應用服務器每次接收一個密碼值,該密碼值由用戶從該密碼組的第一個密碼值開始,按上一步的保存順序依次不重復地輸入,且每個密碼值使用之后即失效,該認證代理應用服務器在接收該密碼值的同時接收用戶標識和靜態(tài)密碼,其中用戶標識和用戶編號一一對應;認證代理應用服務器將該密碼值、用戶標識和靜態(tài)密碼發(fā)送至認證服務器,認證服務器判斷用戶標識是否合法,根據(jù)合法的用戶標識找出預存在認證服務器數(shù)據(jù)庫中對應的種子值,該種子值與第一步中由大素數(shù)據(jù)庫生成的種子值相同,該認證服務器根據(jù)該種子值及順序號實時生成相對應的密碼值;認證服務器將接收到的靜態(tài)密碼和密碼值與認證服務器數(shù)據(jù)庫中預存的靜態(tài)密碼和上一步中生成的密碼值作比較,比較兩者是否相同,并將比較結果返回認證代理應用服務器;認證代理應用服務器接收比較結果并判明是否合法,若合法則允許用戶訪問受保護的資源,否則禁止用戶訪問受保護的資源。
上述的基于預運算的密碼卡動態(tài)認證方法,其中,第一步中生成密碼組的預運算方式包括根據(jù)種子值和預設的初始值生成第一個密碼值;根據(jù)種子值和上一個密碼值生成當前的一個密碼值;重復上一步直到生成所有的密碼值。
上述的基于預運算的密碼卡動態(tài)認證方法,其中,認證服務器實時生成密碼值的運算方式與用戶端密碼卡生成密碼組的預運算方式相同第一次認證時,根據(jù)種子值和預設的初始值生成第一個密碼值,并保存在認證服務器數(shù)據(jù)庫中,其中初始值與用戶端密碼卡生成密碼組中的預設初始值相同;之后的認證,根據(jù)種子值和保存在數(shù)據(jù)庫中的上一次生成的密碼值生成當前的一個密碼值。
上述的基于預運算的密碼卡動態(tài)認證方法,其中,所述大素數(shù)據(jù)庫提供的特定種子值具備無限量循環(huán)重復的最小概率。
本發(fā)明還提供了一種基于預運算的密碼卡動態(tài)認證系統(tǒng),用于用戶訪問受保護資源時的安全認證,所述系統(tǒng)包括密碼卡、認證代理應用服務器和認證服務器,其中,該密碼卡由一密碼生成工具根據(jù)用戶編號由大素數(shù)據(jù)庫產(chǎn)生種子值,通過預運算生成包含多個密碼值的密碼組,并按密碼生成順序保存在該密碼卡上;該認證代理應用服務器包括認證信息接收單元,每次接收一個由用戶按該密碼卡上的順序輸入的密碼值,同時接收用戶標識和靜態(tài)密碼,將認證信息用戶標識、靜態(tài)密碼和密碼值發(fā)送至該認證服務器,其中用戶標識和用戶卡編號是一一對應的;比較結果接收單元,接收認證服務器發(fā)來的比較結果并判明是否合法以決定用戶是否具有訪問受保護資源的權限,如果比較結果合法,允許用戶訪問受保護資源,否則禁止用戶訪問受保護資源;該認證服務器包括認證服務器數(shù)據(jù)庫,存儲合法的用戶標識、靜態(tài)密碼以及各用戶標識對應的種子值;種子值查詢單元,接收該認證代理應用服務器發(fā)送來的用戶標識、靜態(tài)密碼和密碼值,根據(jù)用戶標識查詢預存在認證服務器數(shù)據(jù)庫中對應的種子值,該種子值與密碼卡中由大素數(shù)據(jù)庫生成提供的種子值相同;密碼值生成單元,根據(jù)種子值查詢單元查詢到的種子值實時生成與接收到的密碼值相對應的密碼值;比較單元,將接收到的靜態(tài)密碼和密碼值與預存在認證服務器數(shù)據(jù)庫中的靜態(tài)密碼以及密碼值生成單元生成的密碼值作比較,比較兩者是否相同,將比較結果傳送至認證代理應用服務器。
上述的基于預運算的密碼卡動態(tài)認證系統(tǒng),其中,所述密碼卡是一刮刮卡,該刮刮卡上的所有密碼值在使用前均被可刮涂層覆蓋并標有順序號,每次使用時按順序刮開一個密碼值上的涂層顯示該次應用的密碼值,使用后該密碼值失效。
上述的基于預運算的密碼卡動態(tài)認證系統(tǒng),其中,所述密碼卡是一動態(tài)口令點卡,包括動態(tài)密碼生成單元,密碼卡芯片植入該密碼生成工具,在信號觸發(fā)后按生成順序實時生成一個動態(tài)密碼;動態(tài)密碼觸發(fā)單元,產(chǎn)生一觸發(fā)信號至動態(tài)密碼生成單元;動態(tài)密碼顯示單元,顯示由動態(tài)密碼生成單元產(chǎn)生的動態(tài)密碼;用戶加密密碼鎖定單元,接收由用戶設定輸入的用戶加密密碼并加以鎖定。
上述的基于預運算的密碼卡動態(tài)認證系統(tǒng),其中,該大素數(shù)據(jù)庫提供的特定種子值具備無限量循環(huán)重復的最小概率。
上述的基于預運算的密碼卡動態(tài)認證系統(tǒng),其中,該密碼生成工具根據(jù)種子值和預設的初始值生成第一個密碼值,接著根據(jù)種子值和上一個密碼值生成當前的一個密碼值,如此循環(huán)至生成所有的密碼值。
上述的基于預運算的密碼卡動態(tài)認證系統(tǒng),其中,該認證服務器中的密碼值生成單元在第一次認證時根據(jù)種子值和預設的初始值實時生成第一個密碼值并加以保存,在之后的認證時根據(jù)種子值和上一次生成的密碼值實時生成當前的一個密碼值并加以保存,其中該密碼值生成單元中預設的初始值以及生成方式與密碼生成工具中預設的初始值以及生成方式相同。
本發(fā)明對比現(xiàn)有技術有如下的有益效果本發(fā)明中,根據(jù)大素數(shù)據(jù)庫產(chǎn)生的與用戶卡編號對應的種子值通過預運算生成多個密碼值并按生成順序保存在密碼卡上,用戶按照密碼卡上的順序每次輸入一個密碼值,同時輸入用戶標識和靜態(tài)密碼,由客戶端認證代理應用服務器接收并轉發(fā)給認證服務器。認證服務器根據(jù)經(jīng)判斷為合法的用戶標識找到預存在認證服務器數(shù)據(jù)庫中對應的種子值,根據(jù)找到的特定種子值實時生成當前密碼值,并將認證服務器數(shù)據(jù)庫中的靜態(tài)密碼和剛生成的當前密碼值與用戶輸入的靜態(tài)密碼和密碼值作比較,根據(jù)比較結果來決定用戶是否具有訪問受保護資源的權限。本發(fā)明相對現(xiàn)有技術操作簡單易用,性價比高,實施及集成容易,安全性得到進一步提升。
圖1是本發(fā)明的基于預運算的密碼卡動態(tài)認證方法一個較佳實施例的流程圖。
圖2是本發(fā)明的基于預運算的密碼卡動態(tài)認證系統(tǒng)一個較佳實施例的工作示意圖。
圖3是本發(fā)明的刮刮卡的一個較佳實施例的示意圖。
圖4是本發(fā)明的動態(tài)口令點卡的一個較佳實施例的外形示意圖。
圖5是圖4所示實施例的框圖。
具體實施例方式
下面結合附圖和實施例對本發(fā)明作進一步的描述。
圖1示出了本發(fā)明的基于預運算的動態(tài)認證方法的一個實施例的流程。請參見圖1,下面是對流程中各步驟的詳細描述。
步驟S1大素數(shù)據(jù)庫根據(jù)用戶卡編號產(chǎn)生種子值,通過預運算生成包含多個密碼值的密碼組,并將該密碼組中的所有密碼值按生成的順序加以保存。
例如,大素數(shù)據(jù)庫根據(jù)用戶卡編號生成三條由18位數(shù)字組成的種子值,經(jīng)過預運算產(chǎn)生一組由數(shù)字組成的18位密碼值,將這些密碼值按生成時的順序排列在密碼卡上。其中,大素數(shù)據(jù)庫提供的種子值必須具備無限量循環(huán)重復的最小概率以保證用戶卡編號的唯一性。每張密碼卡對應唯一的用戶卡編號。
在本實施例中以一密碼值生成函數(shù)來生成密碼組,其中密碼值生成函數(shù)形式如下long acSeaKESyncAuthGenerateCode(char*acPartKey1,char*acPartKey2,char*acPartKey3,char*acPartKey4),其中形式參數(shù)acPartKey1、acPartKey2、acPartKey3、為用戶卡編號對應的三條種子值,形式參數(shù)acPartKey4初始為空字符串“”,之后為上一次產(chǎn)生的密碼值。函數(shù)返回值為18位的密碼值。為了用戶輸入的方便,可以按規(guī)則取其中的6位作為保存在密碼卡上供用戶輸入的密碼值。
從上述函數(shù)形式中可看出,密碼值的生成過程如下首先,根據(jù)種子值和預設的初始值(這里為空字符串)生成第一個密碼值,然后根據(jù)種子值和上一個密碼值生成當前的一個密碼值,重復上一步直到生成所有的密碼值。
步驟S2認證代理應用服務器作為受保護資源的客戶端每次接收一個密碼值、用戶標識和靜態(tài)密碼。
該密碼值由用戶輸入,而且輸入順序規(guī)定為從密碼卡的第一個密碼開始,按順序(即密碼卡上的保存順序,也即密碼值生成的順序)逐個輸入。密碼值的輸入不得重復,而且每次使用之后密碼值即會失效。而用戶標識和用戶卡編號存在一一對應的關系。
例如,在密碼卡上對這些密碼值按生成時的順序進行編號,當?shù)谝淮问褂妹艽a卡時,輸入用戶編號、靜態(tài)密碼以及編號為1的密碼值,當下一次使用時,輸入編號為2的密碼值,依此類推。為了與靜態(tài)密碼作區(qū)分,我們將用戶輸入的密碼卡上的密碼值稱為動態(tài)密碼。
步驟S3認證代理應用服務器將步驟S2中接收到的用戶標識、靜態(tài)密碼和動態(tài)密碼發(fā)送至認證服務器。
步驟S4認證服務器判斷用戶標識是否合法,若合法則進入下一步流程,否則轉至步驟S9后結束整個流程或者轉至步驟S2重新等待用戶輸入。
步驟S5認證服務器根據(jù)用戶標識找出預存在認證服務器數(shù)據(jù)庫中對應的種子值,這里的種子值與步驟S1用于生成密碼的種子值相同。認證服務器根據(jù)找到的種子值實時同步生成當前動態(tài)密碼。當前動態(tài)密碼與認證服務器接收到的密碼值相對應。
這里生成當前動態(tài)密碼的方式與步驟S1的相同。例如,采用與步驟S1相同的生成函數(shù)long acSeaKESyncAuthGenerateCode(char*acPartKey1,char*acPartKey2,char*acPartKey3,char*acPartKey4)來實時生成當前動態(tài)密碼。也即當?shù)谝淮握J證時,根據(jù)種子值和預設的初始值生成第一個動態(tài)密碼,當后續(xù)的認證時,根據(jù)種子值和上一次生成的動態(tài)密碼生成當前的一個動態(tài)密碼。
這里有兩點值得注意一點為認證服務器是實時生成當前動態(tài)密碼的,所謂實時,是指認證服務器并不是預運算出所有的動態(tài)密碼,存入數(shù)據(jù)庫中待查詢,而是在每次驗證時才運算出所需的動態(tài)密碼。另一點是認證服務器上生成的當前動態(tài)密碼和輸入的動態(tài)密碼是同步對應的。所謂同步對應,是指用戶是按照密碼生成順序輸入動態(tài)密碼,認證服務器也是每次按照此順序實時生成動態(tài)密碼,兩者保持同步。
步驟S6認證服務器將預存在數(shù)據(jù)庫中的靜態(tài)密碼和步驟S5中生成的當前動態(tài)密碼與接收到的由用戶輸入的靜態(tài)密碼和動態(tài)密碼作比較,并比較兩者是否相同,將判斷結果返回至認證代理應用服務器。
步驟S7認證代理應用服務器接受認證服務器比較結果并判明是否合法,若合法進入步驟S8,若不合法進入步驟S9。
步驟S8允許用戶訪問受保護的資源。
步驟S9禁止用戶訪問受保護的資源。
圖2示出了本發(fā)明的基于預運算的密碼卡動態(tài)認證系統(tǒng),請參見圖2,認證系統(tǒng)20由刮刮卡21和/或動態(tài)口令點卡25(可統(tǒng)稱為密碼卡)、認證代理應用服務器22和認證服務器23組成。認證服務器23通過中心局域網(wǎng)和互聯(lián)網(wǎng)與認證代理應用服務器22相連,認證代理應用服務器22包括Web服務器、應用服務器及通訊服務器/路由器。
認證代理應用服務器22安裝在所需保護的網(wǎng)絡設備或應用系統(tǒng)的終端,當用戶訪問受保護的資源時,由認證信息接收單元從應用表示層24接收用戶輸入的用戶標識、靜態(tài)密碼和動態(tài)密碼等認證信息,并將這些認證信息轉發(fā)到認證服務器23。認證服務器23判斷用戶標識是否合法,如果合法則通過種子值查詢單元根據(jù)該用戶標識在認證服務器數(shù)據(jù)庫查詢對應的種子值,該種子值與密碼生成時的種子值相同,密碼值生成單元根據(jù)找到的種子值實時同步生成當前的動態(tài)密碼。然后通過比較單元將接收到的用戶輸入的靜態(tài)密碼、動態(tài)密碼與認證服務器數(shù)據(jù)庫中靜態(tài)密碼、生成的當前動態(tài)密碼相比較,判斷兩者是否相同,并將比較結果返回至認證代理應用服務器22的比較結果接收單元。作為一個示例,認證函數(shù)形式為long_stdcall LgetLogin(char acUserName[],char acPIN[],characTokenValue[],int iTokenValueStart,int iTokenValueLen),其中參數(shù)acUserName表示用戶標識,參數(shù)acPIN表示靜態(tài)密碼,參數(shù)acTokenValue表示用戶認證時的密碼卡上的動態(tài)密碼值,參數(shù)iTokenValueStart表示認證時密碼卡的動態(tài)密碼的起始位,參數(shù)iTokenValueLen表示認證時輸入的令牌密碼長度。返回值分別代表以下幾種情況認證成功、數(shù)據(jù)庫錯誤、用戶已登錄、不存在此用戶、不存在此密碼卡、此密碼卡不屬于用戶、非法用戶、提示再試一次、密碼錯誤等。
認證代理應用服務器22的比較結果接收單元在接收到認證服務器23的比較結果并判明是否合法后決定用戶是否具有訪問受保護資源的權限,如果合法則允許用戶訪問受保護資源,否則禁止用戶訪問受保護資源。
刮刮卡21由一密碼生成工具生成包含多個密碼值的密碼組。首先根據(jù)用戶編號由大素數(shù)據(jù)庫產(chǎn)生種子值,通過上述的密碼生成函數(shù)預運算生成多個密碼值并按密碼生成的順序保存在該刮刮卡21上。大素數(shù)據(jù)庫提供的種子值必須具備無限量循環(huán)重復的最小概率以保證用戶編號的唯一性。在一個示例中,種子值是三條素數(shù),生成一組由數(shù)字組成的18位密碼值。密碼值生成的函數(shù)形式如下longacSeaKESyncAuthGenerateCode(char*acPartKey1,char*acPartKey2,char*acPartKey3,char*acPartKey4),其中形式參數(shù)acPartKey1、acPartKey2、acPartKey3、為3個種子值,形式參數(shù)acPartKey4初始為空字符串“”,之后為上一次產(chǎn)生的密碼值。函數(shù)返回值為18位的密碼值。同時,為了操作方便,可按規(guī)則截取其中的6位作為刮刮卡上的密碼值。
請結合圖3,刮刮卡21可以是硬質的紙質或者硬塑卡片,生成的N(例如40~100)個密碼值按照生成時的順序印刷在該刮刮卡21上,并以可刮涂層覆蓋,涂層上標記順序號。登錄系統(tǒng)或者需要訪問受保護資源時,用戶按順序刮去涂層顯示出本次應用的動態(tài)密碼,該密碼只在當前應用中有效,不能重復使用。用戶將本次應用的動態(tài)密碼、靜態(tài)密碼和用戶標識通過終端的應用表示層24輸入。
請結合圖4和圖5,動態(tài)口令點卡25內部設有動態(tài)密碼生成單元251、動態(tài)密碼顯示單元252、動態(tài)密碼觸發(fā)單元253以及用戶加密密碼鎖定單元254。其中用戶加密密碼鎖定單元254接收用戶自設的加密密碼并加以保存鎖定,動態(tài)密碼觸發(fā)單元253檢測到用戶的相關操作(例如按下按鍵S),產(chǎn)生一觸發(fā)信號至動態(tài)密碼生成單元251。動態(tài)密碼生成單元251內部植入密碼生成工具,在接收到觸發(fā)信號后利用密碼生成工具中的密碼生成函數(shù),及由大素數(shù)據(jù)庫根據(jù)用戶編號提供的種子值,再由種子值按順序實時生成一個動態(tài)密碼,然后由動態(tài)密碼顯示單元252在顯示屏255上顯示由動態(tài)密碼生成單元251產(chǎn)生的動態(tài)密碼(圖示為472134),同時顯示該動態(tài)密碼的順序號(圖示為7777)。如果用戶再次按下按鍵S,則動態(tài)密碼觸發(fā)單元253會再發(fā)送一個觸發(fā)信號,動態(tài)密碼生成單元251實時產(chǎn)生下一個動態(tài)密碼及順序號并顯示在顯示屏255上。F為加密密碼設置鎖定鍵,可由用戶自行設定。
密碼卡生成工具植入動態(tài)口令卡25的芯片,根據(jù)大素數(shù)據(jù)庫提供的用戶編碼對應的種子值由密碼卡按鍵s觸發(fā)并顯示經(jīng)密碼卡芯片按順序運算產(chǎn)生的計算值(動態(tài)密碼)及相應的順序號。該計算值(動態(tài)密碼)可以密碼卡的加密密碼(PIN碼)鎖定鍵F加以保護。
本發(fā)明皆同動態(tài)口令雙因素密碼保護、密碼軟鍵盤輸入器、USBKEY用戶證書載體、IE瀏覽器128位密鑰、SSL傳輸加密、數(shù)字證書等安全手段互為補充,共同構筑網(wǎng)上交易的安全保障體系。
本發(fā)明的認證服務器數(shù)據(jù)庫中的數(shù)據(jù)和動態(tài)密碼生成的種子值還可受加密保護,存儲數(shù)據(jù)和種子值的數(shù)據(jù)庫均經(jīng)過加密處理,同一個密碼在不同的情況下數(shù)據(jù)庫有不同的密文存在,相同的明文有不同的密文。同時,數(shù)據(jù)庫具有防止篡改功能,為了防止惡意用戶采用窮舉攻擊,系統(tǒng)連續(xù)三次密碼輸錯,認證系統(tǒng)會自動鎖定。
本發(fā)明的發(fā)明點在于(1)采用大素數(shù)據(jù)庫提供的種子值以最大限度確保唯一性;(2)認證服務器是實時同步產(chǎn)生對應的動態(tài)密碼,而不是預運算好后存儲在認證服務器數(shù)據(jù)庫中供查詢;(3)通過認證代理應用服務器保護訪問受限制的資源,一個認證代理應用服務器上可連接多個這樣的資源。
上述實施例是提供給本領域普通技術人員來實現(xiàn)或使用本發(fā)明的,本領域普通技術人員可在不脫離本發(fā)明的發(fā)明思想的情況下,對上述實施例做出種種修改或變化,因而本發(fā)明的保護范圍并不被上述實施例所限,而應該是符合權利要求書提到的創(chuàng)新性特征的最大范圍。
權利要求
1一種基于預運算的密碼卡動態(tài)認證方法,用于用戶訪問受保護資源時的安全認證,其特征在于,所述方法包括大素數(shù)據(jù)庫根據(jù)用戶編號生成種子值,對該種子值進行預運算,依次生成包含多個密碼值的密碼組,并將該密碼組中的所有密碼值按生成的順序加以保存;認證代理應用服務器每次接收一個密碼值,該密碼值由用戶從該密碼組的第一個密碼值開始,按上一步的保存順序依次不重復地輸入,且每個密碼值使用之后即失效,該認證代理應用服務器在接收該密碼值的同時接收用戶標識和靜態(tài)密碼,其中用戶標識和用戶編號一一對應;認證代理應用服務器將該密碼值、用戶標識和靜態(tài)密碼發(fā)送至認證服務器,認證服務器判斷用戶標識是否合法,根據(jù)合法的用戶標識找出預存在認證服務器數(shù)據(jù)庫中對應的種子值,該種子值與第一步中由大素數(shù)據(jù)庫生成的種子值相同,該認證服務器根據(jù)該種子值及順序號實時生成相對應的密碼值;認證服務器將接收到的靜態(tài)密碼和密碼值與認證服務器數(shù)據(jù)庫中預存的靜態(tài)密碼和上一步中生成的密碼值作比較,比較兩者是否相同,并將比較結果返回認證代理應用服務器;認證代理應用服務器接收比較結果并判明是否合法,若合法則允許用戶訪問受保護的資源,否則禁止用戶訪問受保護的資源。
2根據(jù)權利要求1所述的基于預運算的密碼卡動態(tài)認證方法,其特征在于,第一步中生成密碼組的預運算方式包括根據(jù)種子值和預設的初始值生成第一個密碼值;根據(jù)種子值和上一個密碼值生成當前的一個密碼值;重復上一步直到生成所有的密碼值。
3根據(jù)權利要求2所述的基于預運算的密碼卡動態(tài)認證方法,其特征在于,認證服務器實時生成密碼值的運算方式與用戶端密碼卡生成密碼組的預運算方式相同第一次認證時,根據(jù)種子值和預設的初始值生成第一個密碼值,并保存在認證服務器數(shù)據(jù)庫中,其中初始值與用戶端密碼卡生成密碼組中的預設初始值相同;之后的認證,根據(jù)種子值和保存在數(shù)據(jù)庫中的上一次生成的密碼值生成當前的一個密碼值。
4根據(jù)權利要求1所述的基于預運算的密碼卡動態(tài)認證方法,其特征在于,所述大素數(shù)據(jù)庫提供的特定種子值具備無限量循環(huán)重復的最小概率。
5一種基于預運算的密碼卡動態(tài)認證系統(tǒng),用于用戶訪問受保護資源時的安全認證,其特征在于,所述系統(tǒng)包括密碼卡、認證代理應用服務器和認證服務器,其中,該密碼卡由一密碼生成工具根據(jù)用戶編號由大素數(shù)據(jù)庫產(chǎn)生種子值,通過預運算生成包含多個密碼值的密碼組,并按密碼生成順序保存在該密碼卡上;該認證代理應用服務器包括認證信息接收單元,每次接收一個由用戶按該密碼卡上的順序輸入的密碼值,同時接收用戶標識和靜態(tài)密碼,將認證信息用戶標識、靜態(tài)密碼和密碼值發(fā)送至該認證服務器,其中用戶標識和用戶卡編號是一一對應的;比較結果接收單元,接收認證服務器發(fā)來的比較結果并判明是否合法以決定用戶是否具有訪問受保護資源的權限,如果比較結果合法,允許用戶訪問受保護資源,否則禁止用戶訪問受保護資源;該認證服務器包括認證服務器數(shù)據(jù)庫,存儲合法的用戶標識、靜態(tài)密碼以及各用戶標識對應的種子值;種子值查詢單元,接收該認證代理應用服務器發(fā)送來的用戶標識、靜態(tài)密碼和密碼值,根據(jù)用戶標識查詢預存在認證服務器數(shù)據(jù)庫中對應的種子值,該種子值與密碼卡中由大素數(shù)據(jù)庫生成提供的種子值相同;密碼值生成單元,根據(jù)種子值查詢單元查詢到的種子值實時生成與接收到的密碼值相對應的密碼值;比較單元,將接收到的靜態(tài)密碼和密碼值與預存在認證服務器數(shù)據(jù)庫中的靜態(tài)密碼以及密碼值生成單元生成的密碼值作比較,比較兩者是否相同,將比較結果傳送至認證代理應用服務器。
6根據(jù)權利要求5所述的基于預運算的密碼卡動態(tài)認證系統(tǒng),其特征在于,所述密碼卡是一刮刮卡,該刮刮卡上的所有密碼值在使用前均被可刮涂層覆蓋并標有順序號,每次使用時按順序刮開一個密碼值上的涂層顯示該次應用的密碼值,使用后該密碼值失效。
7根據(jù)權利要求5所述的基于預運算的密碼卡動態(tài)認證系統(tǒng),其特征在于,所述密碼卡是一動態(tài)口令點卡,包括動態(tài)密碼生成單元,密碼卡芯片植入該密碼生成工具,在信號觸發(fā)后按生成順序實時生成一個動態(tài)密碼;動態(tài)密碼觸發(fā)單元,產(chǎn)生一觸發(fā)信號至動態(tài)密碼生成單元;動態(tài)密碼顯示單元,顯示由動態(tài)密碼生成單元產(chǎn)生的動態(tài)密碼;用戶加密密碼鎖定單元,接收由用戶設定輸入的用戶加密密碼并加以鎖定。
8根據(jù)權利要求5所述的基于預運算的密碼卡動態(tài)認證系統(tǒng),其特征在于,該大素數(shù)據(jù)庫提供的特定種子值具備無限量循環(huán)重復的最小概率。
9根據(jù)權利要求5所述的基于預運算的密碼卡動態(tài)認證系統(tǒng),其特征在于,該密碼生成工具根據(jù)種子值和預設的初始值生成第一個密碼值,接著根據(jù)種子值和上一個密碼值生成當前的一個密碼值,如此循環(huán)至生成所有的密碼值。
10根據(jù)權利要求9所述的基于預運算的密碼卡動態(tài)認證系統(tǒng),其特征在于,該認證服務器中的密碼值生成單元在第一次認證時根據(jù)種子值和預設的初始值實時生成第一個密碼值并加以保存,在之后的認證時根據(jù)種子值和上一次生成的密碼值實時生成當前的一個密碼值并加以保存,其中該密碼值生成單元中預設的初始值以及生成方式與密碼生成工具中預設的初始值以及生成方式相同。
全文摘要
本發(fā)明公開了一種基于預運算的密碼卡動態(tài)認證方法及系統(tǒng),避免口令泄密所帶來的安全隱患。其技術方案為大素數(shù)據(jù)庫根據(jù)用戶編號生成種子值,預運算生成密碼組后順序保存;認證代理應用服務器接收動態(tài)密碼值、用戶標識和靜態(tài)密碼并發(fā)送至認證服務器;認證服務器根據(jù)用戶標識找出預存在數(shù)據(jù)庫中的種子值,其與大素數(shù)據(jù)庫生成的種子值相同,根據(jù)種子值及順序號實時生成對應的密碼值;認證服務器比較接收到的靜態(tài)密碼和密碼值與數(shù)據(jù)庫中預存的靜態(tài)密碼和上一步生成的密碼值是否相同,并將比較結果返回認證代理應用服務器;認證代理應用服務器判明比較結果是否合法以確定是否允許訪問受保護的資源。本發(fā)明應用于動態(tài)密碼身份認證領域。
文檔編號H04L9/32GK1925398SQ20061011646
公開日2007年3月7日 申請日期2006年9月25日 優(yōu)先權日2006年9月25日
發(fā)明者林順來, 楊路, 陳洪建, 張矩, 林麟, 陳劍星, 張帥 申請人:上海林果科技有限公司