一種對稱密鑰在線更新的方法
【專利摘要】本發(fā)明所提供的一種對稱密鑰在線更新的方法,包括步驟:A、客戶端發(fā)起密鑰更新請求;B、服務(wù)端判斷與客戶端的上次密鑰更新是否正確,是則進入步驟C,否則進入步驟D;C、所述服務(wù)端與所述客戶端依據(jù)本次密鑰進行密鑰更新;D、所述服務(wù)端與所述客戶端依據(jù)上次密鑰進行密鑰更新。由上,在更新時,雙方并不確認本次更新是否成功,而是在下次使用密鑰判斷時才判斷本次密鑰是否更新成功,即便在密鑰更新過程中出現(xiàn)客戶端與服務(wù)端密鑰不一致的情況時,也不影響下一次的密鑰更新操作以及操作業(yè)務(wù)的進行。
【專利說明】一種對稱密鑰在線更新的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全【技術(shù)領(lǐng)域】,特別涉及一種對稱密鑰在線更新的方法。
【背景技術(shù)】
[0002]目前在很多的業(yè)務(wù)系統(tǒng)中,客戶端與后臺之間傳輸?shù)拿舾行畔⒌臋C密性和完整性保護使用的主要是對稱密鑰體系,基于安全性的考慮,對稱密鑰需要定期進行更新。
[0003]對稱密鑰的更新方式包括離線和在線兩種。
[0004]離線更新包括后臺定期將密鑰更新后,派人到客戶端進行更新。
[0005]在線更新包括客戶端定期在線從后臺獲取新的密鑰后,更新本地密鑰。首次采用在線更新的方式,需要通過離線方式將密鑰安全的輸入到客戶端,之后進行在線密鑰更新時,后臺會利用前一次的密鑰保護新的密鑰進行下發(fā),客戶端利用前一次的密鑰解密后就可以將新的密鑰導(dǎo)入到客戶端中。
[0006]如果采用離線更新密鑰的方式,則每次更新密鑰會投入非常多的人力來進行,特別是在客戶端數(shù)量比較龐大的情況下,且客戶端在密鑰更新過程中不能再進行任何業(yè)務(wù)操作。
[0007]如果采用在線更新密鑰的方式,在密鑰更新后,客戶端與服務(wù)端都會通過握手信息確定是否同步成功,若不成功,則回退至密鑰更新前的狀態(tài)。在實際情況中,可能出現(xiàn)網(wǎng)絡(luò)或者其他原因,客戶端無法通知服務(wù)端此次密鑰更新是否成功,則會出現(xiàn)客戶端未更新密鑰而服務(wù)端更新密鑰的情況,導(dǎo)致客戶端與后臺的密鑰出現(xiàn)不一致的情況。
【發(fā)明內(nèi)容】
[0008]有鑒于此,本發(fā)明的主要目的在于,提供一種對稱密鑰在線更新的方法,在更新時,雙方并不確認本次更新是否成功,而是在下次使用密鑰判斷時才判斷本次密鑰是否更新成功,即便在密鑰更新過程中出現(xiàn)客戶端與服務(wù)端密鑰不一致的情況時,也不影響下一次的密鑰更新操作以及操作業(yè)務(wù)的進行。
[0009]所述對稱密鑰在線更新的方法包括步驟:
[0010]A、客戶端發(fā)起密鑰更新請求;
[0011]B、服務(wù)端判斷與客戶端的上次密鑰更新是否正確,是則進入步驟C,否則進入步驟D ;
[0012]C、所述服務(wù)端與所述客戶端依據(jù)本次密鑰進行密鑰更新;
[0013]D、所述服務(wù)端與所述客戶端依據(jù)上次密鑰進行密鑰更新。
[0014]由上,在更新時,雙方并不確認本次更新是否成功,而是在下次使用密鑰判斷時才判斷本次密鑰是否更新成功,即便在密鑰更新過程中出現(xiàn)客戶端與服務(wù)端密鑰不一致的情況時,也不影響下一次的密鑰更新操作以及操作業(yè)務(wù)的進行。
[0015]可選的,步驟B中服務(wù)端判斷與客戶端的上次密鑰更新是否正確包括:
[0016]客戶端發(fā)送客戶端當前密鑰校驗值CKVi至服務(wù)端;
[0017]所述服務(wù)端判斷客戶端當前密鑰校驗值CKVi與服務(wù)端的當前密鑰校驗值SKVi是否相等。
[0018]可選的,步驟B中服務(wù)端判斷與客戶端的上次密鑰更新是否正確還包括:
[0019]所述服務(wù)端判斷客戶端當前密鑰校驗值CKVi與服務(wù)端的上次密鑰校驗值SKVp1是否相等。
[0020]由上,在下次使用密鑰判斷時才判斷本次密鑰是否更新成功。
[0021]可選的,所述步驟C包括:
[0022]Cl:所述服務(wù)端生成一密鑰SKmw ;
[0023]C2:所述服務(wù)端依據(jù)服務(wù)端當前密鑰SKi加密所生成的密鑰SKnew,以計算得出新密鑰 SKitoew;
[0024]C3:所述服務(wù)端將所生成的密鑰SKmw替換當前密鑰SKi ;
[0025]C4:所述服務(wù)端將所述新密鑰SKitoew發(fā)送至客戶端;
[0026]C5:所述客戶端采用客戶端當前密鑰CKi對所述新密鑰Skitew解密,得到服務(wù)端所生成的密鑰SKnrat,將其替換當前密鑰CKitj
[0027]由上,客戶端與服務(wù)端正常進行對稱密鑰在線更新。
[0028]可選的,所述步驟Cl還包括:依據(jù)所生成密鑰SKnew計算其密鑰校驗值SKVnew ;
[0029]所述步驟C3還包括:將所述密鑰校驗值SKVnrat替換所述服務(wù)端的當前密鑰校驗值SKV1
[0030]可選的,所述步驟D包括:
[0031]Dl:服務(wù)端將上次密鑰SK 替換本次密鑰SK i ;
[0032]D2:所述服務(wù)端生成一密鑰SKnew ;
[0033]D3:所述服務(wù)端依據(jù)所述上次密鑰SK η加密所述生成的密鑰SKnew,計算得出新密
Sk1-Priew ;
[0034]D4:將生成所述密鑰SKnew替換當前密鑰SKi ;
[0035]D5:服務(wù)端將所述新密鑰Slvitoew發(fā)送至客戶端;
[0036]D6:所述客戶端采用客戶端當前密鑰CKi對所述新密鑰Skpltoew解密,得到服務(wù)端所生成的密鑰SKnrat,將其替換當前密鑰CKitj
[0037]由上,即便在密鑰更新過程中出現(xiàn)客戶端與服務(wù)端密鑰不一致的情況時,也不影響下一次的密鑰更新操作以及操作業(yè)務(wù)的進行。
[0038]可選的,所述步驟D2還包括:依據(jù)所生成密鑰SKnew計算其密鑰校驗值SKVnew ;
[0039]所述驟D4還包括:將所述密鑰校驗值SKVnrat替換所述服務(wù)端的當前密鑰校驗值SKV1
[0040]可選的,所述密鑰校驗值為密鑰經(jīng)過HASH算法運算后的結(jié)果。
【專利附圖】
【附圖說明】
[0041 ] 圖1為本發(fā)明的流程圖。
【具體實施方式】
[0042]本發(fā)明所提供的對稱密鑰在線更新的方法,密鑰更新時,雙方并不確認本次更新是否成功,而是在下次使用密鑰判斷時才判斷本次密鑰是否更新成功,即便在密鑰更新過程中出現(xiàn)客戶端與服務(wù)端密鑰不一致的情況時,也不影響下一次的密鑰更新操作以及操作業(yè)務(wù)的進行。
[0043]客戶端進行出廠設(shè)置時,服務(wù)端會通過離線方式將初始密鑰(FSK)下發(fā)給客戶端,客戶端導(dǎo)入初始密鑰(FSK)。此時,客戶端的當前密鑰(Cki)、服務(wù)端的上次密鑰(SKp1)和服務(wù)端的當前密鑰(SKi)均與所述初始密鑰(FSK)相同??蛻舳说漠斍懊荑€校驗值(CKVi)、服務(wù)端的上次密鑰校驗值(SKV H)以及服務(wù)端的當前密鑰校驗值(SKVi)相同。
[0044]所述密鑰校驗值為密鑰經(jīng)過HASH算法運算后的結(jié)果,即SKVi = H(SKi),SKV =H (SKh),CKVi = H (CKi),式中 H 表示 HASH 算法。
[0045]本發(fā)明所提供的對稱密鑰在線更新的方法流程圖如圖1所示,包括步驟:
[0046]SlO:客戶纟而發(fā)起'鑰更新。
[0047]客戶端根據(jù)策略定期進行密鑰更新,密鑰更新請求同時會將當前密鑰校驗值(CKVi)發(fā)給服務(wù)端。
[0048]S20:服務(wù)端判斷上次密鑰更新是否正確。
[0049]服務(wù)端根據(jù)客戶端的當前密鑰校驗值(CKVi)可以判斷出之前的密鑰更新操作是否正常。例如當客戶端的當前密鑰校驗值(CKVi)與服務(wù)端的當前密鑰校驗值(SKVi)相等,則之前密鑰更新操作正常,進入步驟S30 ;反之當客戶端的當前密鑰校驗值(CKVi)與服務(wù)端的上次密鑰校驗值(SKV H)相等,則之前密鑰更新操作出現(xiàn)異常,進入步驟S40。
[0050]S30:采用本次密鑰在線更新密鑰。
[0051]由于客戶端的當前密鑰校驗值(CKVi)與服務(wù)端的當前密鑰校驗值(SKVi)相等,則可推導(dǎo)出客戶端的當前密鑰(CKi)與服務(wù)端的當前密鑰(SKi)同樣也相等。
[0052]服務(wù)端對應(yīng)生成一密鑰(SKnew),并采用HASH算法計算該密鑰校驗值(SKVnew),并依據(jù)服務(wù)端的當前密鑰(SKi)加密所生成的密鑰(SKnew),以計算得出新密鑰(Skiitew)tj進一步的,通過HASH算法計算得出與所述新密鑰相對應(yīng)的新密鑰校驗值(SKVitoew),SKVitoew =H (Sk^new) ο
[0053]服務(wù)端將所生成的密鑰(SKnrat)替換當前密鑰(SKi),并將計算得出的密鑰校驗值(SKVnew)替換當前密鑰校驗值(SKVi)。此后,服務(wù)端將所述新密鑰(Skitorat)以及新密鑰相對應(yīng)的新密鑰校驗值(SKViitew)在線發(fā)送至客戶端。
[0054]客戶端接收到所述新密鑰(Skitew),采用客戶端當前密鑰(CKi)對所述新密鑰(Skitaew)解密,得到服務(wù)端所生成的密鑰(SKnJ,將其替換當前密鑰(CKi)15
[0055]由上,服務(wù)端與客戶端的密鑰更新完成。
[0056]S40:采用上次密鑰在線更新密鑰。
[0057]如果之前的密鑰更新操作出現(xiàn)異常,則服務(wù)端更新密鑰成功,但是客戶端因為網(wǎng)絡(luò)或者其他原因更新密鑰失敗,客戶端的當前密鑰校驗值(CKVi)與服務(wù)端的上次密鑰校驗值(SKV H)相等,則可推導(dǎo)出客戶端的當前密鑰(CKi)與服務(wù)端的上次密鑰(SK H)同樣也相等,服務(wù)端將上次密鑰(SK H)替換本次密鑰(SK i)。
[0058]服務(wù)端對應(yīng)生成一密鑰(SKnew)并采用HASH算法計算該密鑰校驗值(SKVnew),依據(jù)服務(wù)端的上次密鑰(SK H)加密所生成的密鑰(SKnew),以計算得出新密鑰(SkgtoJ。進一步的,通過HASH算法計算得出與所述新密鑰相對應(yīng)的新密鑰校驗值(SKVplitaew),SKVpltoew =H (Sk1-Pnew)。
[0059]服務(wù)端將所生成的密鑰(SKnew)替換當前密鑰(SKi),并將計算得出的密鑰校驗值(SKVnrat)替換當前密鑰校驗值(SKVi),將所述新密鑰(Skplitew)以及新密鑰校驗值(SKVi^ltaew)在線發(fā)送至客戶端。
[0060]客戶端接收到所述新密鑰(Sk^J,采用最新更新的密鑰,即當前密鑰(CKi)對所述新密鑰(Sk ^ltaew)解密,同樣可得到服務(wù)端所生成的密鑰(SKmw),將其替換當前密鑰(CKi),由此服務(wù)端與客戶端的密鑰更新完成。
[0061]采用本發(fā)明上述方法,如果在密鑰更新操作出現(xiàn)異常的情況下,服務(wù)端和客戶端的當前密鑰是不一致的,在使用密鑰進行業(yè)務(wù)操作的時候,首先會使用當前密鑰進行業(yè)務(wù)操作,如果驗證失敗,再使用之前密鑰進行密鑰操作,由于客戶端的當前密鑰要么與服務(wù)端的當前密鑰一致,要么與服務(wù)端的之前密鑰一致,因此經(jīng)過最多兩次運算,能夠保證無論密鑰更新操作是否正常,后續(xù)的業(yè)務(wù)操作都能正常進行。由此雙方同步更新密鑰后并不進行確認是否同步更新成功,免去了在密鑰更新過程中出現(xiàn)客戶端與服務(wù)端密鑰不一致的情況時,影響下一次的密鑰更新操作以及操作業(yè)務(wù)的進行的弊端。
[0062]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明??傊苍诒景l(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種對稱密鑰在線更新的方法,其特征在于,包括步驟: A、客戶端發(fā)起密鑰更新請求;B、服務(wù)端判斷與客戶端的上次密鑰更新是否正確,是則進入步驟C,否則進入步驟D; C、所述服務(wù)端與所述客戶端依據(jù)本次密鑰進行密鑰更新; D、所述服務(wù)端與所述客戶端依據(jù)上次密鑰進行密鑰更新。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B中服務(wù)端判斷與客戶端的上次密鑰更新是否正確包括: 客戶端發(fā)送客戶端當前密鑰校驗值CKVi至服務(wù)端; 所述服務(wù)端判斷客戶端當前密鑰校驗值CKVi與服務(wù)端的當前密鑰校驗值SKVi是否相坐寸ο
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟B中服務(wù)端判斷與客戶端的上次密鑰更新是否正確還包括: 所述服務(wù)端判斷客戶端當前密鑰校驗值CKVi與服務(wù)端的上次密鑰校驗值SKVg是否相坐寸O
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟C包括: Cl:所述服務(wù)端生成一密鑰SKnew ; C2:所述服務(wù)端依據(jù)服務(wù)端當前密鑰SKi加密所生成的密鑰SKn?,以計算得出新密鑰qv.C3:所述服務(wù)端將所生成的密鑰SKnrat替換當前密鑰SKi ; C4:所述服務(wù)端將所述新密鑰SKitoew發(fā)送至客戶端; C5:所述客戶端采用客戶端當前密鑰CKi對所述新密鑰Skitew解密,得到服務(wù)端所生成的密鑰SKnrat,將其替換當前密鑰CKitj
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟Cl還包括:依據(jù)所生成密鑰SKnew計算其密鑰校驗值SKVmw ; 所述步驟C3還包括:將所述密鑰校驗值SKVmw替換所述服務(wù)端的當前密鑰校驗值SKV1
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟D包括: Dl:服務(wù)端將上次密鑰SK η替換本次密鑰SK i ; D2:所述服務(wù)端生成一密鑰SKnew ; D3:所述服務(wù)端依據(jù)所述上次密鑰SK η加密所述生成的密鑰SKnew,計算得出新密鑰Sk1-Pnew ; D4:將生成所述密鑰SKnrat替換當前密鑰SKi ; D5:服務(wù)端將所述新密鑰Skplftiew發(fā)送至客戶端; D6:所述客戶端采用客戶端當前密鑰CKi對所述新密鑰Slvitoew解密,得到服務(wù)端所生成的密鑰SKnrat,將其替換當前密鑰CKitj
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述步驟D2還包括:依據(jù)所生成密鑰SKnew計算其密鑰校驗值SKVmw ; 所述驟D4還包括:將所述密鑰校驗值SKVnrat替換所述服務(wù)端的當前密鑰校驗值SKVitl
8.根據(jù)權(quán)利要求5或7所述的方法,其特征在于,所述密鑰校驗值為密鑰經(jīng)過HASH算法運算后的結(jié)果。
【文檔編號】H04L9/08GK104168110SQ201410433066
【公開日】2014年11月26日 申請日期:2014年8月28日 優(yōu)先權(quán)日:2014年8月28日
【發(fā)明者】管延軍, 蔣紅宇, 安曉江 申請人:北京海泰方圓科技有限公司