為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明確,下面結(jié)合實(shí)施方式和附圖,對(duì) 本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。在此,本發(fā)明的示意性實(shí)施方式及其說(shuō)明主要用于解釋本發(fā)明, 但并不作為對(duì)本發(fā)明的限定。本發(fā)明中,"報(bào)文信息"、"報(bào)文數(shù)據(jù)"、"報(bào)文"為同一概念;"碼 位掩碼"與"碼位有效性信息"為同一概念。
[0057] 實(shí)施例一
[005引本發(fā)明實(shí)施例提供了一種LEU中報(bào)文的安全存儲(chǔ)方法,如圖1所示,該方法包括:Sl:將同一報(bào)文數(shù)據(jù)分別存儲(chǔ)到第一存儲(chǔ)模塊與第二存儲(chǔ)模塊中;S2 :將所述報(bào)文數(shù)據(jù)在 所述第一存儲(chǔ)模塊與第二存儲(chǔ)模塊中的地址值分別寫入第一存儲(chǔ)模塊與第二存儲(chǔ)模塊中; S3 :還對(duì)所述報(bào)文數(shù)據(jù)分別進(jìn)行校驗(yàn),將得到的校驗(yàn)值分別存儲(chǔ)到第一存儲(chǔ)模塊與第二存 儲(chǔ)模塊中。通過(guò)本發(fā)明提供的安全存儲(chǔ)方法可W進(jìn)一步提高LEU中報(bào)文存儲(chǔ)的安全性。
[0059] 具體的,本發(fā)明中的報(bào)文數(shù)據(jù)具體包括報(bào)文序號(hào)、碼位值、碼位掩碼與報(bào)文 內(nèi)容;而在步驟Sl中,將同一報(bào)文數(shù)據(jù)分別存儲(chǔ)第一存儲(chǔ)模塊與第二存儲(chǔ)模塊中的 操作具體為:將報(bào)文數(shù)據(jù)直接存儲(chǔ)到第一存儲(chǔ)模塊中,同時(shí)對(duì)上述報(bào)文數(shù)據(jù)進(jìn)行按 位取反,將取反得到的數(shù)據(jù)存儲(chǔ)到第二存儲(chǔ)模塊中;例如,若需要存儲(chǔ)的報(bào)文數(shù)據(jù) 為0x0123, 0x4567, 0X89AB,OxCDEF,對(duì)上述報(bào)文數(shù)據(jù)進(jìn)行按位取反后得到的數(shù)據(jù)為 Ox陽(yáng)DC, 0xBA98, 0巧654, 0x3210,則將原始數(shù)據(jù) 0x0123, 0x4567, 0x89AB,OxCDEF存儲(chǔ)到第 一存儲(chǔ)模塊中,將取反數(shù)據(jù)OxFEDC, 0XBA98, 0巧654, 0x3210存儲(chǔ)到第二存儲(chǔ)模塊中。
[0060] 在步驟S2中,將上述報(bào)文數(shù)據(jù)在所述第一存儲(chǔ)模塊與第二存儲(chǔ)模塊中的地址值 分別寫入第一存儲(chǔ)模塊與第二存儲(chǔ)模塊中具體為:將上述報(bào)文數(shù)據(jù)在第一存儲(chǔ)模塊與第二 存儲(chǔ)模塊中的首地址值、或末地址值、或某一任意地址值寫入第一存儲(chǔ)模塊與第二存儲(chǔ)模 塊中。例如將上述報(bào)文數(shù)據(jù)0x0123, 0x4567, 0X89AB,OxCDEF在第一存儲(chǔ)模塊中的首地址值 0x0800寫入第一存儲(chǔ)模塊中,將取反得到的數(shù)據(jù)Ox陽(yáng)DC,0xBA98, 0巧654, 0x3210在第二存 儲(chǔ)模塊中的首地址值0x0800也寫入第二存儲(chǔ)模塊中。
[0061] 而在步驟S3中對(duì)報(bào)文數(shù)據(jù)進(jìn)行校驗(yàn)具體使用校驗(yàn)和或CRC對(duì)上述報(bào)文數(shù)據(jù)進(jìn)行 校驗(yàn),如對(duì)上述報(bào)文數(shù)據(jù)0x0123, 0x4567, 0X89AB,OxCDEF進(jìn)行CRC校驗(yàn),將得到的校驗(yàn)值存 儲(chǔ)到第一存儲(chǔ)模塊中,對(duì)取反得到的數(shù)據(jù)Ox陽(yáng)DC,0XBA98, 0巧654, 0x3210也進(jìn)行CRC校驗(yàn), 將得到的校驗(yàn)值存儲(chǔ)到第二存儲(chǔ)模塊中。
[0062] 進(jìn)一步的,當(dāng)本發(fā)明實(shí)施例中的LEU為串口LEU,該方法還包括:將與上述報(bào)文數(shù) 據(jù)相關(guān)的配置信息存儲(chǔ)到數(shù)表存儲(chǔ)單元中。
[006引相應(yīng)的,本發(fā)明實(shí)施例還提供了一種LEU中報(bào)文的安全存儲(chǔ)裝置,實(shí)現(xiàn)了LEU中報(bào) 文數(shù)據(jù)的安全存儲(chǔ),如圖2所示,該安全存儲(chǔ)裝置采用兩個(gè)安全存儲(chǔ)器對(duì)同一數(shù)據(jù)進(jìn)行存 儲(chǔ),即第一存儲(chǔ)模塊與第二存儲(chǔ)模塊,第一存儲(chǔ)模塊用于直接存儲(chǔ)報(bào)文數(shù)據(jù),第二存儲(chǔ)模塊 用于存儲(chǔ)對(duì)上述報(bào)文數(shù)據(jù)按位取反后得到的數(shù)據(jù);其中,上述報(bào)文數(shù)據(jù)具體包括報(bào)文序號(hào)、 碼位值、碼位掩碼與報(bào)文內(nèi)容;具體的,兩個(gè)存儲(chǔ)模塊均分別包括地址存儲(chǔ)單元、校驗(yàn)值存 儲(chǔ)單元與數(shù)據(jù)存儲(chǔ)單元;在本發(fā)明中,LEU中的每一條報(bào)文都是按照該安全存儲(chǔ)裝置所描 述的結(jié)構(gòu)進(jìn)行存儲(chǔ)的。
[0064] 其中,地址存儲(chǔ)單元,用來(lái)存儲(chǔ)報(bào)文數(shù)據(jù)在存儲(chǔ)模塊中的地址值。 陽(yáng)0化]具體本發(fā)明實(shí)施例中的安全存儲(chǔ)裝置在寫入報(bào)文數(shù)據(jù)時(shí),首先應(yīng)明確該報(bào)文數(shù)據(jù) 段放置在存儲(chǔ)模塊中的位置,并將該報(bào)文數(shù)據(jù)段在存儲(chǔ)模塊中的地址值寫入地址存儲(chǔ)單元 中,其中地址值可W是首地址值、或者是末地址值、或者是某一任意地址值;例如,本實(shí)施例 中W報(bào)文數(shù)據(jù)存儲(chǔ)的首地址為例進(jìn)行說(shuō)明,若報(bào)文數(shù)據(jù)段存放在存儲(chǔ)模塊中的起始位置為 0x1234,則該存儲(chǔ)模塊中的地址存儲(chǔ)單元中需要寫入的內(nèi)容也是0x1234;在實(shí)際應(yīng)用中可 W是報(bào)文數(shù)據(jù)存儲(chǔ)的結(jié)尾地址或任意地址。
[0066] 校驗(yàn)值存儲(chǔ)單元,用來(lái)存儲(chǔ)對(duì)上述報(bào)文數(shù)據(jù)進(jìn)行校驗(yàn)處理之后得到的校驗(yàn)值。
[0067] 具體是對(duì)數(shù)據(jù)存儲(chǔ)單元中存儲(chǔ)的報(bào)文數(shù)據(jù)進(jìn)行校驗(yàn),例如校驗(yàn)和、CRC等,將得到 的校驗(yàn)值保存到校驗(yàn)值存儲(chǔ)單元。
[0068] 數(shù)據(jù)存儲(chǔ)單元,用來(lái)存儲(chǔ)上述報(bào)文數(shù)據(jù)。
[0069] 具體的,由于本發(fā)明實(shí)施例中第二存儲(chǔ)模塊中存放的是對(duì)上述報(bào)文數(shù)據(jù)進(jìn)行按位 取反后的數(shù)據(jù),因此第二存儲(chǔ)模塊中的地址存儲(chǔ)單元存放的是上述取反后的數(shù)據(jù)在該第二 存儲(chǔ)模塊中的地址值;相應(yīng)的,第二存儲(chǔ)模塊中的校驗(yàn)值存儲(chǔ)單元存入的也是對(duì)上述取反 后的數(shù)據(jù)進(jìn)行校驗(yàn)處理之后得到的校驗(yàn)值;第二存儲(chǔ)模塊中的數(shù)據(jù)存儲(chǔ)單元存放的也是對(duì) 上述報(bào)文數(shù)據(jù)進(jìn)行按位取反后的數(shù)據(jù)。
[0070] 進(jìn)一步的,在本發(fā)明中,LEU中的每一條報(bào)文均按照本發(fā)明實(shí)施例中的安全存儲(chǔ) 裝置所描述的存儲(chǔ)結(jié)構(gòu)進(jìn)行存儲(chǔ)的,下面具體W其中某一條報(bào)文的存儲(chǔ)結(jié)構(gòu)來(lái)進(jìn)行詳細(xì)說(shuō) 明,具體如圖3所示,同一條報(bào)文需要在第一存儲(chǔ)模塊與第二存儲(chǔ)模塊中存儲(chǔ),地址存儲(chǔ)單 元中寫入的為報(bào)文數(shù)據(jù)或取反后的報(bào)文數(shù)據(jù)的首地址值,具體首地址值為0x1048,而由于 報(bào)文數(shù)據(jù)具體包括報(bào)文序號(hào)、碼位值、碼位掩碼與報(bào)文內(nèi)容,因此校驗(yàn)值存儲(chǔ)單元中存入的 是對(duì)上述報(bào)文數(shù)據(jù)或取反后的報(bào)文數(shù)據(jù)進(jìn)行校驗(yàn)后得到的校驗(yàn)值,數(shù)據(jù)存儲(chǔ)單元中存放的 是上述報(bào)文數(shù)據(jù)或取反后的報(bào)文數(shù)據(jù)。
[0071] 本發(fā)明所請(qǐng)求保護(hù)的LEU中報(bào)文的安全存儲(chǔ)方法與裝置適用于所有的LKJ設(shè)備, 包括并口LEU與串口LEU,本發(fā)明提供的安全存儲(chǔ)方法與裝置能夠提高LEU中報(bào)文存儲(chǔ)的安 全性。
[0072] 進(jìn)一步的,當(dāng)本發(fā)明中的LKJ為串口LEU,本發(fā)明實(shí)施例提供的安全存儲(chǔ)裝置中的 第一存儲(chǔ)模塊與第二存儲(chǔ)模塊均還包括數(shù)表存儲(chǔ)單元,用于存儲(chǔ)與上述報(bào)文數(shù)據(jù)相關(guān)的配 置信息,其中配置信息包括碼位數(shù)量與有效碼位序號(hào),并且該數(shù)表存儲(chǔ)單元也是按照地址 值、校驗(yàn)值與數(shù)據(jù)內(nèi)容的方式存儲(chǔ)的;具體的,如圖4所示,本發(fā)明實(shí)施例中的數(shù)表存儲(chǔ)單 元的存儲(chǔ)格式具體為:該數(shù)表存儲(chǔ)單元的地址值中存儲(chǔ)配置信息在該安全存儲(chǔ)裝置中的首 地址,如0x0800,校驗(yàn)值中存儲(chǔ)的為對(duì)配置信息進(jìn)行校驗(yàn)后得到的校驗(yàn)值,數(shù)據(jù)內(nèi)容中存儲(chǔ) 的即為相關(guān)配置信息,即碼位數(shù)量與應(yīng)答器1有效碼位序號(hào)、應(yīng)答器2有效碼位序號(hào)、應(yīng)答 器3有效碼位序號(hào)、應(yīng)答器4有效碼位序號(hào)。
[0073] 在實(shí)際應(yīng)用中,本發(fā)明實(shí)施例中的安全存儲(chǔ)裝置可W采用兩片flash作為第一存 儲(chǔ)模塊與第二存儲(chǔ)模塊,還可W采用其他存儲(chǔ)器件代替flash作為本發(fā)明的安全存儲(chǔ)裝 置,或采用兩種不同的存儲(chǔ)器件代替兩片相同的flash。
[0074] 本發(fā)明實(shí)施例提供了一種LEU中報(bào)文的安全存儲(chǔ)方法與裝置,解決了數(shù)據(jù)存儲(chǔ)過(guò) 程中存儲(chǔ)器件地址線混線造成的尋址錯(cuò)誤問(wèn)題,提供了一種具有較高的查錯(cuò)率的校驗(yàn)方 式,解決了校驗(yàn)過(guò)程中可能發(fā)生的共因失效問(wèn)題,提高了LEU中存儲(chǔ)的報(bào)文的安全性。 W75] 實(shí)施例二
[0076] 本發(fā)明實(shí)施例還提供了一種LEU中報(bào)文的安全選擇方法,保證了LKJ輸出給應(yīng)答 器的報(bào)文的正確性與安全性,如圖5所示,所述方法包括:S51、從收到的實(shí)時(shí)安全數(shù)據(jù)中提 取與所述LKJ對(duì)應(yīng)的各個(gè)應(yīng)答器的碼位值;S52、從該LKJ的安全存儲(chǔ)裝置中順序讀取應(yīng)答 器的報(bào)文,根據(jù)所述碼位值依次判斷所述報(bào)文是否符合要求;若否,則繼續(xù)讀取下一條報(bào)文 并進(jìn)行判斷;若是,則對(duì)所述報(bào)文進(jìn)行驗(yàn)證,若驗(yàn)證通過(guò),則將所述報(bào)文輸出給應(yīng)答器。
[0077] 進(jìn)一步的,從收到的實(shí)時(shí)安全數(shù)據(jù)中提取與LEU對(duì)應(yīng)的各個(gè)應(yīng)答器的碼位值的操 作具體為:根據(jù)該LEU的安全存儲(chǔ)裝置存儲(chǔ)的有效碼位數(shù)量值從收到的實(shí)時(shí)安全數(shù)據(jù)中提 取報(bào)文索引條件和冗余報(bào)文索引條件;判斷提取得到的報(bào)文索引條件與冗余報(bào)文索引條件 是否一致;若否,則認(rèn)為實(shí)時(shí)安全數(shù)據(jù)有誤,提示出錯(cuò);若是,則根據(jù)安全存儲(chǔ)裝置存儲(chǔ)的 各個(gè)應(yīng)答器的有效碼位序號(hào)依次從所述報(bào)文索引條件和冗余報(bào)文索引條件中分別提取出 對(duì)應(yīng)的碼位值;判斷根據(jù)同一有效碼位序號(hào)從所述報(bào)文索引條件和冗余報(bào)文索引條件中分 別提取出的兩個(gè)碼位值是否相同,若是,則碼位值提取成功,否則提取失敗。 陽(yáng)078] 由于一個(gè)LKJ對(duì)應(yīng)四個(gè)應(yīng)答器,相應(yīng)的,安全存儲(chǔ)裝置中存儲(chǔ)有四組有效碼位序 號(hào),因此從報(bào)文索引條件和冗余報(bào)文索引條件中可提取出四組碼位值;其中判斷從所述報(bào) 文索引條件和冗余報(bào)文索引條件中分別提取出的兩個(gè)碼位值是否相同具體是指:根據(jù)同一 個(gè)有效碼位序號(hào)從報(bào)文索引條件和冗余報(bào)文索引條件中提取出的兩個(gè)碼位值是否相同。
[0079] 根據(jù)碼位值判斷報(bào)文是否符合要求的方法具體為:提取所述報(bào)文中的碼位值與碼 位有效性信息;結(jié)合所述碼位有效性信息判斷從所述報(bào)文中提取得到的碼位值與從所述實(shí) 時(shí)安全數(shù)據(jù)中提取到的碼位值是否一致,若是,則所述報(bào)文符合要求。
[0080] 對(duì)報(bào)文進(jìn)行驗(yàn)證的方法具體為:讀取所述報(bào)文的地址值,判斷所述地址值與安全 存儲(chǔ)裝置中存儲(chǔ)的地址值是否一致;若是,則對(duì)所述報(bào)文數(shù)據(jù)進(jìn)行校驗(yàn),判斷得到的校驗(yàn)值 與安全存儲(chǔ)裝置中存儲(chǔ)的校驗(yàn)值是否一致,若是,則驗(yàn)證通過(guò)。
[0081] 對(duì)報(bào)文進(jìn)行驗(yàn)證的方法還包括:讀取所述報(bào)文內(nèi)容與冗余的報(bào)文內(nèi)容;判斷所述 報(bào)文內(nèi)容與冗余的報(bào)文內(nèi)容是否為按位取反關(guān)系,若是,則驗(yàn)證通過(guò)。
[0082] 在本發(fā)明實(shí)施例中,由于安全存儲(chǔ)裝置中包含有第一存儲(chǔ)模塊與第二存儲(chǔ)模塊, 因此從LKJ接收到實(shí)時(shí)安全數(shù)據(jù)之