一種用于診斷的安全驗證方法
【專利摘要】本發(fā)明公開了一種用于診斷的安全驗證方法,其包括:診斷儀向控制模塊發(fā)出請求種子的要求;控制模塊響應要求并根據(jù)設定的初始種子數(shù)據(jù)和控制模塊的安全等級,得到種子數(shù)據(jù);診斷儀根據(jù)種子數(shù)據(jù)和安全等級,得到安全密鑰;控制模塊根據(jù)種子數(shù)據(jù)和安全等級,利用診斷儀獲取安全密鑰的方法,得到標準安全密鑰;控制模塊判斷安全密鑰是否等于標準安全密鑰;如果是則控制模塊允許診斷儀對其進行診斷;如果否則控制模塊拒絕診斷儀對其進行診斷。本發(fā)明考慮到控制模塊的安全等級,使得不同安全等級的控制模塊的生成種子數(shù)據(jù)的算法和生成安全密鑰的算法不同,增加了安全密鑰的安全系數(shù),提高了控制模塊信息的安全性。
【專利說明】一種用于診斷的安全驗證方法
【技術領域】
[0001]本發(fā)明涉及汽車電子【技術領域】,尤其涉及一種用于診斷的安全驗證方法。
【背景技術】
[0002]隨著汽車工業(yè)的發(fā)展,汽車診斷通訊系統(tǒng)的應用也越來越廣泛。其中普遍使用的汽車診斷通訊協(xié)議是IS014229 (道路車輛——統(tǒng)一診斷服務)和IS015756 (道路車輛——控制局域網絡CAN診斷服務)協(xié)議。為了對汽車診斷操作進行權限控制,這兩種汽車診斷通訊協(xié)議都規(guī)定了安全驗證服務。診斷儀必須發(fā)出安全驗證服務請求,并通過安全驗證,才能對整車的各個控制模塊進行受安全驗證保護的診斷操作。
[0003]針對整車的某個控制模塊的安全驗證服務通常包括一個關鍵步驟:診斷儀通過安全算法將所述控制模塊提供的種子數(shù)據(jù)換算成一個安全密鑰,這里,安全算法保證了下線檢測配置及故障排查過程中整車的各個控制模塊的安全性。
[0004]然而,在現(xiàn)有技術中,控制模塊通常對其本身的固有參數(shù)進行計算后得到種子數(shù)據(jù),過程中不會考慮所述控制模塊的安全等級,導致不同安全等級的同種控制模塊生成種子數(shù)據(jù)的算法均相同,從而降低了最終得到的安全密鑰的安全系數(shù);再有,用于將種子數(shù)據(jù)換算成安全密鑰的安全算法中,也未考慮所述安全等級,導致不同安全等級的同種控制模塊,對應的安全算法也相同,從而進一步降低了最終得到的安全密鑰的安全系數(shù),降低了控制模塊信息的安全性。
【發(fā)明內容】
[0005]本發(fā)明的目的在于克服現(xiàn)有技術中的不足,提供了一種用于診斷的安全驗證方法。
[0006]為實現(xiàn)上述目的,本發(fā)明的技術方案為:
[0007]一種用于診斷的安全驗證方法,包括:
[0008]診斷儀向控制模塊發(fā)出請求種子的要求;
[0009]控制模塊響應所述要求,并根據(jù)設定的初始種子數(shù)據(jù)和所述控制模塊的安全等級,得到種子數(shù)據(jù);
[0010]診斷儀根據(jù)所述種子數(shù)據(jù)和所述安全等級,得到安全密鑰;
[0011]控制模塊根據(jù)所述種子數(shù)據(jù)和所述安全等級,利用診斷儀獲取所述安全密鑰的方法,得到標準安全密鑰;
[0012]控制模塊判斷所述安全密鑰是否等于所述標準安全密鑰;
[0013]如果是,則所述控制模塊允許所述診斷儀對其進行診斷;如果否,則所述控制模塊拒絕所述診斷儀對其進行診斷。
[0014]優(yōu)選的是,所述初始種子數(shù)據(jù)的設定方法包括:設定所述初始種子數(shù)據(jù)的數(shù)據(jù)量為4個字節(jié)。
[0015]優(yōu)選的是,所述初始種子數(shù)據(jù)的設定方法還包括:[0016]獲取所述控制模塊的序列號;
[0017]對所述序列號進行二進制轉換,得到二進制序列號;
[0018]將所述二進制序列號的最后4個字節(jié)作為所述初始種子數(shù)據(jù)。
[0019]優(yōu)選的是,所述根據(jù)設定的初始種子數(shù)據(jù)和所述控制模塊的安全等級,得到種子數(shù)據(jù)包括:
[0020]判斷所述安全等級是否等于1,如果是,則確定所述初始種子數(shù)據(jù)為所述種子數(shù)據(jù);
[0021]如果否,則對于所述初始種子數(shù)據(jù)的每個字節(jié)的數(shù)據(jù),對所述數(shù)據(jù)進行所述安全等級減I次循環(huán)右移,其中每次循環(huán)右移的移動位數(shù)為所述第一優(yōu)選個數(shù),得到第一種子數(shù)據(jù),并確定所述第一種子數(shù)據(jù)為所述種子數(shù)據(jù);記錄每次循環(huán)右移后的結果以及對應的循環(huán)右移次數(shù),構成種子循環(huán)右移數(shù)據(jù)表。
[0022]優(yōu)選的是,所述第一優(yōu)選個數(shù)為3。
[0023]優(yōu)選的是,所述根據(jù)所述種子數(shù)據(jù)和所述安全等級,得到安全密鑰包括:
[0024]判斷所述安全等級是否等于I ;
[0025]如果是,則將所述初始種子數(shù)據(jù)分別循環(huán)左移第二優(yōu)選個數(shù)位和循環(huán)右移第三優(yōu)選個數(shù)位,得到第一中間數(shù)據(jù)和第二中間數(shù)據(jù);
[0026]將所述第一中間數(shù)據(jù)和第二中間數(shù)據(jù)逐位進行與運算后,與所述初始種子數(shù)據(jù)相力口,得到更新后的初始種子數(shù)據(jù);
[0027]根據(jù)設定的第一參量和所述初始種子數(shù)據(jù),確定第二參量;
[0028]將所述第一參量和第二參量相加后,與所述更新后的初始種子數(shù)據(jù)逐位進行與運算,得到所述安全密鑰。
[0029]優(yōu)選的是,所述根據(jù)所述種子數(shù)據(jù)和所述安全等級,得到安全密鑰還包括:
[0030]如果所述安全等級大于1,則進行所述安全等級次迭代運算;其中第一次迭代運算包括:
[0031]將所述第一種子數(shù)據(jù)分別循環(huán)左移第二優(yōu)選個數(shù)位和循環(huán)右移第三優(yōu)選個數(shù)位,得到第三中間數(shù)據(jù)和第四中間數(shù)據(jù);
[0032]將所述第三中間數(shù)據(jù)和第四中間數(shù)據(jù)逐位進行與運算后,與所述第一種子數(shù)據(jù)相力口,得到更新后的第一種子數(shù)據(jù);
[0033]根據(jù)設定的第一參量和所述第一種子數(shù)據(jù),確定第二參量;
[0034]將所述第一參量和第二參量相加后,與所述更新后的第一種子數(shù)據(jù)逐位進行與運算,得到準安全密鑰;
[0035]其余次迭代運算包括:
[0036]將上次迭代運算得到的準安全密鑰分別循環(huán)左移第二優(yōu)選個數(shù)位和循環(huán)右移第三優(yōu)選個數(shù)位,得到第五中間數(shù)據(jù)和第六中間數(shù)據(jù);
[0037]將所述第五中間數(shù)據(jù)和第六中間數(shù)據(jù)逐位進行與運算后,與所述上次迭代運算得到的準安全密鑰相加,得到更新后的準安全密鑰;
[0038]根據(jù)當前的迭代運算次數(shù)、第一參量、設定的偏移量和所述種子循環(huán)右移數(shù)據(jù)表,
確定第三參量;
[0039]將所述第一參量、偏移量和第三參量相加后,與所述更新后的準安全密鑰逐位進行與運算,得到準安全密鑰;
[0040]確定最后一次迭代運算的結果為所述安全密鑰。
[0041]優(yōu)選的是,所述第二優(yōu)選個數(shù)為4,所述第三優(yōu)選個數(shù)為5。
[0042]本發(fā)明的有益效果在于,本發(fā)明所述的用于診斷的安全驗證方法,考慮到欲與診斷儀進行通訊的控制模塊的安全等級這個重要的因素,使得對于具有不同安全等級的控制模塊的生成種子數(shù)據(jù)的算法不同,并且根據(jù)種子數(shù)據(jù)生成安全密鑰的算法也不同,大大增加了得到的安全密鑰的安全系數(shù),也就增加了等驗證的控制模塊信息的安全性。
【專利附圖】
【附圖說明】
[0043]圖1示出了本發(fā)明實施例用于診斷的安全驗證方法的流程圖;
[0044]圖2示出了本發(fā)明實施例中初始種子數(shù)據(jù)的設定方法的流程圖;
[0045]圖3示出了本發(fā)明實施例中根據(jù)設定的初始種子數(shù)據(jù)和所述控制模塊的安全等級,得到種子數(shù)據(jù)的流程圖;
[0046]圖4示出了本發(fā)明實施例中當控制模塊的安全等級為I時,確定安全密鑰的流程圖;
[0047]圖5示出了本發(fā)明實施例中當控制模塊的安全等級大于I時,確定安全密鑰的流程圖。
【具體實施方式】
[0048]下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
[0049]如圖1所示,是本發(fā)明實施例用于診斷的安全驗證方法的流程圖,所述用于診斷的安全驗證方法,包括以下步驟:
[0050]步驟101:診斷儀向控制模塊發(fā)出請求種子的要求。
[0051]具體地,診斷儀通過安全驗證請求向控制模塊發(fā)出消息,請求種子。安全驗證服務是汽車診斷通訊協(xié)議IS014229 (道路車輛——統(tǒng)一診斷服務)和IS015756 (道路車輛——控制局域網絡CAN診斷服務)協(xié)議中規(guī)定的專門用于安全驗證的服務,該服務中的安全驗證請求用于診斷儀向控制模塊請求種子。
[0052]步驟102:控制模塊根據(jù)設定的初始種子數(shù)據(jù)和所述控制模塊的安全等級,得到種子數(shù)據(jù);另外,所述控制模塊響應所述要求,將所述種子數(shù)據(jù)和安全等級發(fā)送給診斷儀。
[0053]具體地,步驟102中初始種子數(shù)據(jù)的設定方法將在下文中結合圖2進行詳細說明,另外,根據(jù)所述初始種子數(shù)據(jù)和所述控制模塊的安全等級,得到種子數(shù)據(jù)的方法也將在下文中結合圖3進行詳細說明。
[0054]步驟103:診斷儀根據(jù)所述種子數(shù)據(jù)和所述安全等級,得到安全密鑰。
[0055]具體地,步驟103中根據(jù)種子數(shù)據(jù)和安全等級,得到安全密鑰的方法將在下文中結合圖4和圖5進行詳細說明。
[0056]步驟104:控制模塊根據(jù)所述種子數(shù)據(jù)和所述安全等級,利用診斷儀獲取所述安全密鑰的方法,得到標準安全密鑰。[0057]步驟105:控制模塊判斷所述安全密鑰是否等于所述標準安全密鑰。
[0058]步驟106:如果是,則說明診斷儀通過了安全驗證,所述控制模塊允許所述診斷儀對其進行診斷。
[0059]步驟107:如果否,則說明診斷儀未通過安全驗證,所述控制模塊拒絕所述診斷儀對其進行診斷。
[0060]如圖2所示,是本發(fā)明實施例中初始種子數(shù)據(jù)的設定方法的流程圖,首先,為了支持診斷服務命令“22F18C”,設定所述初始種子數(shù)據(jù)的數(shù)據(jù)量為4個字節(jié),其可以通過隨機程序生成,其中隨機程序的輸入?yún)?shù)為所述控制模塊的運行時間;此外,所述初始種子數(shù)據(jù)也可以通過下述方法來進行設定,參照圖2,所述初始種子數(shù)據(jù)的設定方法包括以下步驟:
[0061]步驟201:獲取所述控制模塊的序列號;
[0062]步驟202:對所述序列號進行二進制轉換,得到二進制序列號;
[0063]步驟203:將所述二進制序列號的最后4個字節(jié)作為所述初始種子數(shù)據(jù)。
[0064]下面舉例說明初始種子數(shù)據(jù)的設定方法,假設某個控制模塊(例如ECU)的二進制序列號為112233445566,則將所述初始種子數(shù)據(jù)設定為[0x33,0x44,0x55,0x66];假設某個控制模塊的二進制序列號不足4個字節(jié),具體為112233,則通過在前補零的方式將所述初始種子數(shù)據(jù)設定為[0x00,0x11, 0x22, 0x33]。
[0065]如圖3所示,是本發(fā)明實施例中根據(jù)設定的初始種子數(shù)據(jù)和所述控制模塊的安全等級,得到種子數(shù)據(jù)的流程圖,所述根據(jù)設定的初始種子數(shù)據(jù)和所述控制模塊的安全等級,得到種子數(shù)據(jù)包括以下步驟:
[0066]步驟301:判斷所述安全等級是否等于I ;
[0067]步驟302:如果是,則確定所述初始種子數(shù)據(jù)為所述種子數(shù)據(jù);
[0068]步驟303:如果否,則對于所述初始種子數(shù)據(jù)的每個字節(jié)的數(shù)據(jù),對所述數(shù)據(jù)進行所述安全等級減I次循環(huán)右移,其中每次循環(huán)右移的移動位數(shù)為所述第一優(yōu)選個數(shù),得到第一種子數(shù)據(jù),并確定所述第一種子數(shù)據(jù)為所述種子數(shù)據(jù)。在本實施例中,所述第一優(yōu)選個數(shù)優(yōu)選為3,即每次將數(shù)據(jù)循環(huán)右移3位。
[0069]具體地,對于控制模塊的安全等級大于I的情況,本發(fā)明選擇結合安全等級對初始種子數(shù)據(jù)進行循環(huán)右移的方式得到最終的種子數(shù)據(jù)。舉例說明,假設當前的控制模塊的安全等級為3,則將所述初始種子數(shù)據(jù)進行2次循環(huán)右移,其中每次循環(huán)右移3位;又,假設初始種子數(shù)據(jù)設定為[0x33,0x44,0x55,0x66],則對于安全等級為I的控制模塊來說,種子數(shù)據(jù)為[0x33,0x44, 0x55, 0x66];對于安全等級為2的控制模塊來說,經過I次循環(huán)右移,得到的種子數(shù)據(jù)為[0x66,0x88,OxAA, OxCC];對于安全等級為3的控制模塊來說,經過2次循環(huán)右移,得到的種子數(shù)據(jù)為[OxCC,0x11, 0x55, 0x99]。
[0070]步驟304:記錄每次循環(huán)右移后的結果以及對應的循環(huán)右移次數(shù),構成種子循環(huán)右移數(shù)據(jù)表。
[0071]如圖4所示,是本發(fā)明實施例中當控制模塊的安全等級為I時,確定安全密鑰的流程圖,所述確定安全密鑰的方法包括以下步驟:
[0072]步驟401:將所述初始種子數(shù)據(jù)循環(huán)左移第二優(yōu)選個數(shù)位,得到第一中間數(shù)據(jù);將所述初始種子數(shù)據(jù)循環(huán)右移第三優(yōu)選個數(shù)位,得到第二中間數(shù)據(jù)。
[0073]具體地,所述第二優(yōu)選個數(shù)優(yōu)選為4,所述第三優(yōu)選個數(shù)優(yōu)選為5。[0074]步驟402:將所述第一中間數(shù)據(jù)和第二中間數(shù)據(jù)逐位進行與(按位與)運算后,與所述初始種子數(shù)據(jù)相加,得到更新后的初始種子數(shù)據(jù)。
[0075]步驟403:根據(jù)設定的第一參量和所述初始種子數(shù)據(jù),確定第二參量。
[0076]具體地,第一參量優(yōu)選為0,由上述初始種子數(shù)據(jù)的設定方法可知,所述種子數(shù)據(jù)由4個字節(jié)的數(shù)據(jù)組成,該種子數(shù)據(jù)可以看成是由這4個字節(jié)的數(shù)據(jù)構成的一維數(shù)組,對于第一參量為0的情況,在這個一維數(shù)組中提取出的第一個數(shù)據(jù),即為所述第二參量;同理,對于第一參量為I的情況,在這個一維數(shù)組中提取出第二個數(shù)據(jù),即為所述第二參量。
[0077]步驟404:將所述第一參量和第二參量相加后,與所述更新后的初始種子數(shù)據(jù)逐位進行與運算,得到所述安全密鑰。
[0078]如圖5所示,是本發(fā)明實施例中當控制模塊的安全等級大于I時,確定安全密鑰的流程圖,所述確定安全密鑰的方法包括:對所述種子數(shù)據(jù)進行所述安全等級次迭代運算;
[0079]其中第一次迭代運算包括:
[0080]步驟501:將所述第一種子數(shù)據(jù)循環(huán)左移第二優(yōu)選個數(shù)位,得到第三中間數(shù)據(jù);將所述第一種子數(shù)據(jù)循環(huán)右移第三優(yōu)選個數(shù)位,得到第四中間數(shù)據(jù)。特別地,所述第二優(yōu)選個數(shù)為4,所述第三優(yōu)選個數(shù)為5。
[0081]步驟502:將所述第三中間數(shù)據(jù)和第四中間數(shù)據(jù)逐位進行與運算后,與所述第一種子數(shù)據(jù)相加,得到更新后的第一種子數(shù)據(jù);
[0082]步驟503:根據(jù)設定的第一參量和所述第一種子數(shù)據(jù),確定第二參量;
[0083]步驟504:將所述第一參量和第二參量相加后,與所述更新后的第一種子數(shù)據(jù)逐位進行與運算,得到準安全密鑰。
[0084]具體地,由于上述第一次迭代運算與圖4中所示的方法相同,所以在此不再進行詳細的闡述。
[0085]其余次迭代運算(即對于迭代次數(shù)大于I的任意一次迭代過程中,例如第2次迭代運算)包括:
[0086]步驟505:將上次迭代運算得到的準安全密鑰循環(huán)左移第二優(yōu)選個數(shù)位,得到第五中間數(shù)據(jù);將所述上次迭代運算得到的準安全密鑰循環(huán)右移第三優(yōu)選個數(shù)位,得到第六中間數(shù)據(jù);
[0087]步驟506:將所述第五中間數(shù)據(jù)和第六中間數(shù)據(jù)逐位進行與運算后,與所述上次迭代運算得到的準安全密鑰相加,得到更新后的準安全密鑰;
[0088]步驟507:根據(jù)當前的迭代運算次數(shù)、所述第一參量、設定的偏移量和所述種子循環(huán)右移數(shù)據(jù)表,確定第三參量。
[0089]具體地,參照步驟304中所記載地,由于種子循環(huán)右移數(shù)據(jù)表中保存有對初始種子數(shù)據(jù)進行安全等級減I次循環(huán)右移的過程中,每次循環(huán)右移后的結果以及對應的循環(huán)右移次數(shù),因此在確定第三參量時:首先需要將當前的迭代運算次數(shù)作為所述數(shù)據(jù)表中的循環(huán)右移次數(shù),然后在所述數(shù)據(jù)表中查找與該循環(huán)右移次數(shù)相對應的“每次循環(huán)右移后的結果”,然后類似步驟403,此時得到的“每次循環(huán)右移后的結果”也可以看成由4個字節(jié)的數(shù)據(jù)構成的一維數(shù)組,隨后根據(jù)所述第一參量和設定的偏移量確定從這個一維數(shù)組中需要提取數(shù)據(jù)的位置,例如可以將第一參量循環(huán)右移11位后,和設定的偏移量相加,之后再與3的二進制碼逐位進行與運算,從而得到I個小于等于3的自然數(shù),根據(jù)該自然數(shù)為所述一維數(shù)組中提取I個字節(jié)的數(shù)據(jù),在該字節(jié)的數(shù)據(jù)之前補充3個字節(jié)的O,最終得到具有4個字節(jié)
的第三參量。
[0090]步驟508:將所述第一參量、偏移量和第三參量相加后,與所述更新后的準安全密鑰逐位進行與運算,得到準安全密鑰。
[0091]具體地,通過步驟508得到的準安全密鑰,作為下一次迭代運算的輸入,即運行完步驟508后,再循環(huán)執(zhí)行步驟505至步驟508,直到運算至最后一次迭代為止。
[0092]步驟509:確定最后一次迭代運算的結果為所述安全密鑰。
[0093]本發(fā)明所述的用于診斷的安全驗證方法,考慮到欲與診斷儀進行通訊的控制模塊的安全等級這個重要的因素,使得對于具有不同安全等級的控制模塊的生成種子數(shù)據(jù)的算法不同,并且根據(jù)種子數(shù)據(jù)生成安全密鑰的算法也不同,大大增加了得到的安全密鑰的安全系數(shù),也就增加了等驗證的控制模塊信息的安全性。
[0094]以上依據(jù)圖式所示的實施例詳細說明了本發(fā)明的構造、特征及作用效果,以上所述僅為本發(fā)明的較佳實施例,但本發(fā)明不以圖面所示限定實施范圍,凡是依照本發(fā)明的構想所作的改變,或修改為等同變化的等效實施例,仍未超出說明書與圖示所涵蓋的精神時,均應在本發(fā)明的保護范圍內。
【權利要求】
1.一種用于診斷的安全驗證方法,其特征在于,包括: 診斷儀向控制模塊發(fā)出請求種子的要求; 控制模塊響應所述要求,并根據(jù)設定的初始種子數(shù)據(jù)和所述控制模塊的安全等級,得到種子數(shù)據(jù); 診斷儀根據(jù)所述種子數(shù)據(jù)和所述安全等級,得到安全密鑰; 控制模塊根據(jù)所述種子數(shù)據(jù)和所述安全等級,利用診斷儀獲取所述安全密鑰的方法,得到標準安全密鑰; 控制模塊判斷所述安全密鑰是否等于所述標準安全密鑰; 如果是,則所述控制模塊允許所述診斷儀對其進行診斷;如果否,則所述控制模塊拒絕所述診斷儀對其進行診斷。
2.根據(jù)權利要求1所述的方法,其特征在于,所述初始種子數(shù)據(jù)的設定方法包括:設定所述初始種子數(shù)據(jù)的數(shù)據(jù)量為4個字節(jié)。
3.根據(jù)權利要求2所述的方法,其特征在于,所述初始種子數(shù)據(jù)的設定方法還包括: 獲取所述控制模塊的序列號; 對所述序列號進行二進制轉換,得到二進制序列號; 將所述二進制序列 號的最后4個字節(jié)作為所述初始種子數(shù)據(jù)。
4.根據(jù)權利要求2所述的方法,其特征在于,所述根據(jù)設定的初始種子數(shù)據(jù)和所述控制模塊的安全等級,得到種子數(shù)據(jù)包括:判斷所述安全等級是否等于1,如果是,則確定所述初始種子數(shù)據(jù)為所述種子數(shù)據(jù);如果否,則對于所述初始種子數(shù)據(jù)的每個字節(jié)的數(shù)據(jù),對所述數(shù)據(jù)進行所述安全等級減I次循環(huán)右移,其中每次循環(huán)右移的移動位數(shù)為所述第一優(yōu)選個數(shù),得到第一種子數(shù)據(jù),并確定所述第一種子數(shù)據(jù)為所述種子數(shù)據(jù);記錄每次循環(huán)右移后的結果以及對應的循環(huán)右移次數(shù),構成種子循環(huán)右移數(shù)據(jù)表。
5.根據(jù)權利要求4所述的方法,其特征在于,所述第一優(yōu)選個數(shù)為3。
6.根據(jù)權利要求4所述的方法,其特征在于,所述根據(jù)所述種子數(shù)據(jù)和所述安全等級,得到安全密鑰包括: 判斷所述安全等級是否等于I ; 如果是,則將所述初始種子數(shù)據(jù)分別循環(huán)左移第二優(yōu)選個數(shù)位和循環(huán)右移第三優(yōu)選個數(shù)位,得到第一中間數(shù)據(jù)和第二中間數(shù)據(jù); 將所述第一中間數(shù)據(jù)和第二中間數(shù)據(jù)逐位進行與運算后,與所述初始種子數(shù)據(jù)相加,得到更新后的初始種子數(shù)據(jù); 根據(jù)設定的第一參量和所述初始種子數(shù)據(jù),確定第二參量; 將所述第一參量和第二參量相加后,與所述更新后的初始種子數(shù)據(jù)逐位進行與運算,得到所述安全密鑰。
7.根據(jù)權利要求6所述的方法,其特征在于,所述根據(jù)所述種子數(shù)據(jù)和所述安全等級,得到安全密鑰還包括: 如果所述安全等級大于1,則進行所述安全等級次迭代運算;其中第一次迭代運算包括: 將所述第一種子數(shù)據(jù)分別循環(huán)左移第二優(yōu)選個數(shù)位和循環(huán)右移第三優(yōu)選個數(shù)位,得到第三中間數(shù)據(jù)和第四中間數(shù)據(jù); 將所述第三中間數(shù)據(jù)和第四中間數(shù)據(jù)逐位進行與運算后,與所述第一種子數(shù)據(jù)相加,得到更新后的第一種子數(shù)據(jù); 根據(jù)設定的第一參量和所述第一種子數(shù)據(jù),確定第二參量; 將所述第一參量和第二參量相加后,與所述更新后的第一種子數(shù)據(jù)逐位進行與運算,得到準安全密鑰; 其余次迭代運算包括: 將上次迭代運算得到的準安全密鑰分別循環(huán)左移第二優(yōu)選個數(shù)位和循環(huán)右移第三優(yōu)選個數(shù)位,得到第五中間數(shù)據(jù)和第六中間數(shù)據(jù); 將所述第五中間數(shù)據(jù)和第六中間數(shù)據(jù)逐位進行與運算后,與所述上次迭代運算得到的準安全密鑰相加,得到更新后的準安全密鑰; 根據(jù)當前的迭代運算次數(shù)、第一參量、設定的偏移量和所述種子循環(huán)右移數(shù)據(jù)表,確定第三參量; 將所述第一參量、偏移量和第三參量相加后,與所述更新后的準安全密鑰逐位進行與運算, 得到準安全密鑰; 確定最后一次迭代運算的結果為所述安全密鑰。
8.根據(jù)權利要求6或7所述的方法,其特征在于,所述第二優(yōu)選個數(shù)為4,所述第三優(yōu)選個數(shù)為5。
【文檔編號】H04L9/08GK103763098SQ201410038431
【公開日】2014年4月30日 申請日期:2014年1月26日 優(yōu)先權日:2014年1月26日
【發(fā)明者】王瑋, 許東輝, 張明星 申請人:安徽江淮汽車股份有限公司