>[0114]在方式四中,利用運算因子根據(jù)預設(shè)的算法計算得出新的密鑰標識也可以采用上述第一種情況中的三種方式(迭代方式、隨機方式和協(xié)商方式)來計算新的密鑰標識,即,至少包括以下方式之一:
[0115]方式一:通訊終端通過迭代方式利用當前使用的傳輸密鑰對應的密鑰標識與運算因子根據(jù)預設(shè)的算法進行計算,生成新的密鑰標識;
[0116]例如,如圖2所示相同的方式,初始的傳輸密鑰對應的密鑰標識為L0,利用LO與運算因子通過特定算法進行計算生成新的傳輸密鑰對應的密鑰標識LI,隨后通信雙方跳變到這個LI對應的新的密鑰進行加密傳輸,接下來再利用LI與運算因子通過特定算法進行計算生成新的傳輸密鑰對應的密鑰標識L2,依次進行運算生成新的傳輸密鑰對應的密鑰標識L3、L4、L5……直至通訊結(jié)束。
[0117]方式二:通訊終端利用初始的傳輸密鑰對應的密鑰標識與運算因子根據(jù)預設(shè)的算法進行計算,生成新的密鑰標識;
[0118]例如,采用如圖3所示相同的方式,在每次滿足預設(shè)的跳變觸發(fā)規(guī)則時,通訊終端與通訊對端分別利用初始的傳輸密鑰對應的密鑰標識LO與運算因子(Y1、Y2……Yn)通過特定算法進行計算生成新的傳輸密鑰對應的密鑰標識(L1、L2……Yn)并跳變到對應的密鑰標識對應的新的傳輸密鑰進行加密傳輸,例如,通訊終端在每次滿足預設(shè)的跳變觸發(fā)規(guī)則時,生成一個隨機數(shù),即運算因子(Yl、Y2……Yn),將運算因子Yn發(fā)送給通訊對端,可以在向通訊對端發(fā)送跳變指令中包含該運算因子Yn,通訊雙方各自利用初始傳輸密鑰LO與當前的運算因子Yn通過特定算法進行計算,生成新的密鑰標識Ln。
[0119]方式三:通訊終端利用自身生成的運算因子以及從通訊對端獲取到的運算因子根據(jù)預設(shè)的算法進行計算,生成新的密鑰標識。
[0120]在該方式三中,通訊終端自身生成一個運算因子Xl (如隨機數(shù)Rl),并接收通訊對端生成的運算因子Yl (如隨機數(shù)R2),通訊雙方各自利用隨機數(shù)Rl與隨機數(shù)R2生成新的密鑰標識Ln。
[0121]在上述三種方式中,作為一種可選的方式,運算因子包括:跳變觸發(fā)因子(跳變周期、跳變時間點、通訊條數(shù)、通訊數(shù)據(jù)量和隨機因子),以及其他預設(shè)的因子,本實施例中,跳變觸發(fā)因子可以參與計算新的傳輸密鑰,尤其當運算因子為隨機因子時,使得生成的密鑰靈活隨機,增大了生成密鑰的復雜性,更不易破解密鑰,提高了傳輸密鑰的穩(wěn)定性,進而保證通訊安全。
[0122]S103:利用新的傳輸密鑰對與通訊對端的通訊數(shù)據(jù)進行加密或解密。
[0123]本實施例可以在滿足預設(shè)的跳變觸發(fā)規(guī)則時,進行密鑰跳變,從而利用新的傳輸密鑰進行加密通訊,克服了采用單一不變的傳輸密鑰加解密的弊端,解決了一旦單一的傳輸密鑰被破解,則通訊雙方傳輸?shù)耐ㄓ崝?shù)據(jù)會被惡意竊取的問題,保證了通訊雙方的通訊信息的安全。
[0124]實施例2
[0125]圖4示出了一種終端與終端之間進行數(shù)據(jù)交互時進行密鑰跳變的流程,參見圖4,其第一終端和第二終端均執(zhí)行如下流程:
[0126]S401:第一終端與第二終端建立安全通道,生成初始傳輸密鑰KO ;
[0127]S402:第一終端與第二終端利用當前的傳輸密鑰對傳輸數(shù)據(jù)進行加密或解密;
[0128]S403:判斷是否達到跳變點,如果未達到跳變點,執(zhí)行S402,如果達到跳變點,執(zhí)行 S404 ;
[0129]S404:根據(jù)預設(shè)的跳變規(guī)則計算新的傳輸密鑰;
[0130]S405:利用新的傳輸密鑰作為當前傳輸密鑰對傳輸數(shù)據(jù)進行加密或解密;
[0131]S406:判斷是否結(jié)束通訊,如果結(jié)束通訊,執(zhí)行S407,如果未結(jié)束通訊,執(zhí)行S403 ;
[0132]S407:結(jié)束通訊。
[0133]具體的,跳變點即跳變觸發(fā)因子,跳變閾值可以設(shè)置為預設(shè)的時間間隔、時間點或者預設(shè)的通訊條數(shù)和通訊數(shù)據(jù)量,每達到跳變閾值,進行一次跳變。第一終端與第二終端可以通過但不限于如下方式之一計算新的傳輸密鑰:
[0134]方式一:通過迭代方式利用當前使用的傳輸密鑰與運算因子根據(jù)預設(shè)的算法進行計算,生成新的傳輸密鑰;
[0135]在該方式一中,第一終端與第二終端分別利用迭代方式計算生成新的傳輸密鑰并跳變到該新的傳輸密鑰進行加密傳輸,例如,如圖2所示,初始的傳輸密鑰為K0,利用KO與運算因子通過特定算法進行計算生成新的傳輸密鑰K1,隨后通信雙方跳變到這個新的密鑰進行加密傳輸,接下來再利用Kl與運算因子通過特定算法進行計算生成新的傳輸密鑰K2,依次進行運算生成新的傳輸密鑰K3、K4、K5……直至通訊結(jié)束。
[0136]方式二:利用初始的傳輸密鑰與運算因子根據(jù)預設(shè)的算法進行計算,生成新的傳輸密鑰;
[0137]在該方式二中,在每次滿足預設(shè)的跳變觸發(fā)規(guī)則時,第一終端與第二終端分別利用初始的傳輸密鑰KO與運算因子(Y1、Y2……Yn)通過特定算法進行計算生成新的傳輸密鑰(Κ1、Κ2……Kn)并跳變到該新的傳輸密鑰進行加密傳輸,如圖3所示。
[0138]例如,第一終端生成一個隨機數(shù),將隨機數(shù)做為運算因子發(fā)送給第二終端,可以在向第二終端發(fā)送跳變指令中包含該隨機數(shù),通訊雙方各自利用初始傳輸密鑰KO與當前的運算因子Yn通過特定算法進行計算,生成新的傳輸密鑰Kn。
[0139]方式三:利用自身生成的運算因子以及從第二終端獲取到的運算因子根據(jù)預設(shè)的算法進行計算,生成新的傳輸密鑰。
[0140]在該方式三中,第一終端自身生成一個運算因子Xl(如隨機數(shù)Rl),并接收第二終端生成的運算因子Yl (如隨機數(shù)R2),當然,也可以反過來,第二終端接收第一終端發(fā)送的運算因子,通訊雙方各自利用隨機數(shù)Rl與隨機數(shù)R2生成新的傳輸密鑰Kn。
[0141]以上的運算因子可以包括:跳變觸發(fā)因子(跳變周期、跳變時間點、通訊條數(shù)、通訊數(shù)據(jù)量和隨機因子),以及其他預設(shè)的因子,隨機因子包括:隨機數(shù)和隨機事件,本實施例中,跳變觸發(fā)因子可以參與計算新的傳輸密鑰,尤其當運算因子為隨機因子時,使得生成的密鑰靈活隨機,增大了生成密鑰的復雜性,更不易破解密鑰,提高了傳輸密鑰的穩(wěn)定性,進而保證通訊安全。
[0142]在本可選實施方式中,第一終端和第二終端通過迭代方式(方式一)、隨機方式(方式二)和協(xié)商方式(方式三)生成新的傳輸密鑰,將當前使用的傳輸密鑰跳變?yōu)樾碌膫鬏斆荑€,從而實現(xiàn)了密鑰跳變,進而保證通訊雙方的通信安全。
[0143]圖5示出了一種終端與終端之間進行數(shù)據(jù)交互時進行密鑰跳變的流程,參見圖5,其第一終端和第二終端均執(zhí)行如下流程:
[0144]S501:第一終端與第二終端建立安全通道,生成公共傳輸密鑰列表(K0、K1、K2……Kn);
[0145]S502:第一終端與第二終端利用當前的傳輸密鑰對傳輸數(shù)據(jù)進行加密或解密;
[0146]例如,初始狀態(tài),利用KO對傳輸數(shù)據(jù)進行加密或解密;在計算出新的傳輸密鑰后利用新的傳輸密鑰作為當前的傳輸密鑰進行加密或解密。
[0147]S503:判斷是否達到跳變點,如果未達到跳變點,執(zhí)行S502,如果達到跳變點,執(zhí)行 S504 ;
[0148]S504:根據(jù)預設(shè)的跳變規(guī)則計算新的傳輸密鑰;
[0149]S505:利用新的傳輸密鑰作為當前傳輸密鑰對傳輸數(shù)據(jù)進行加密或解密;
[0150]S506:判斷是否結(jié)束通訊,如果結(jié)束通訊,執(zhí)行S507,如果未結(jié)束通訊,執(zhí)行S503 ;
[0151]S507:結(jié)束通訊。
[0152]具體的,跳變點即跳變觸發(fā)因子,跳變閾值可以設(shè)置為預設(shè)的時間間隔、時間點或者預設(shè)的通訊條數(shù)和通訊數(shù)據(jù)量,每達到跳變閾值,進行一次跳變。第一終端與第二終端可以通過但不限于如下方式之一計算新的傳輸密鑰:
[0153]方式一:第一終端與第二終端分別從公共傳輸密鑰列表中順序或逆序依次選擇當前使用的傳輸密鑰的下一個傳輸密鑰作為新的傳輸密鑰;
[0154]在該方式一中,第一終端與第二終端分別順序或逆序依次使用預先生成的傳輸密鑰列表中的傳輸密鑰;例如公共傳輸密鑰列表包括η個傳輸密鑰,其對應的密鑰標識為:L0、LI……Ln,依次使用L0、L1、L2……對應的傳輸密鑰直至通訊結(jié)束。
[0155]方式二:第一終端隨機從公共傳輸密鑰列表中選擇新的傳輸密鑰,并將新的傳輸密鑰的密鑰標識發(fā)送至第二終端;例如,公共傳輸密鑰列表包括η個傳輸密鑰,其對應的密鑰標識為丄0、LI……Ln,第一終端隨機選擇L3,將L3發(fā)送給第二終端,通訊雙方在滿足預設(shè)的跳變觸發(fā)規(guī)則時,跳變到L3對應的傳輸密鑰,利用L3對應的傳輸密鑰進行加密通訊。
[0156]方式三:第一終端接收第二終端發(fā)送的新的傳輸密鑰的密鑰標識,并在公共傳輸密鑰列表中選擇密鑰標識對應的傳輸密鑰;例如,公共傳輸密鑰列表包括η個傳輸密鑰,其對應的密鑰標識為:L0、LI……Ln,第一終端接收到L3,在預先生成的公共傳輸密鑰列表中的通訊線路中選擇L3對應的通訊線路進行通訊,通訊雙方利用L3對應的傳輸密鑰進行加密通訊。
[0157]方式四:第一終端與第二終端分別利用運算因子根據(jù)預設(shè)的算法計算得出新的密鑰標識,并在公共傳輸密鑰列表中找到新的密鑰標識對應的傳輸密鑰作為新的傳輸密鑰;
[0158]例如,第一終端與第二終端分別預先生成的公共傳輸密鑰列表包括:n個傳輸密鑰,其對應的密鑰標識為:L0、LI……Ln,通過預設(shè)算法計算得到密鑰標識Ln,選取Ln對應的傳輸密鑰作為新的傳輸密鑰進行跳變。
[0159]在方式四中,第一終端與第二終端分別利用運算因子根據(jù)預設(shè)的算法計算得出新的密鑰標識也可以采用上述第一種情況中的三種方式(迭代方式、隨機方式和協(xié)商方式)來計算新的密鑰標識,即,至少包括以下方式之一:
[0160]方式一:通過迭代方式利用當前使用的傳輸密鑰對應的密鑰標識與運算因子根據(jù)預設(shè)的算法進行計算,生成新的密鑰標識;
[0161]例如,采用與如圖2所示相同的方式,初始的傳輸密鑰對應的密鑰標識為L0,利用LO與運算因子通過特定算法進行計算生成新的傳輸密鑰對應的密鑰標識LI,隨后通信雙方跳變到這個LI對應的新的密鑰進行加密傳輸,接下來再利用LI與運算因子通過特定算法進行計算生成新的傳輸密鑰對應的密鑰標識L2,依次進行運算生成新的傳輸密鑰對應的密鑰標識L3、L4、L5……直至通訊結(jié)束。
[