本發(fā)明涉及一種充電管理終端的升級(jí)方法,更具體的說,尤其涉及一種解決了傳統(tǒng)升級(jí)過程緩慢且不安全的嵌入式linux充電管理終端通過無線通信模塊升級(jí)的方法。
背景技術(shù):
傳統(tǒng)的充電管理終端無線升級(jí)方案,多采用2G網(wǎng)絡(luò),通過GRRS模塊和手機(jī)卡拔號(hào)上網(wǎng),以TCP或UDP協(xié)議連接主站,依靠終端與主站之間交互數(shù)據(jù)幀來完成升級(jí)過程。速度很慢,且通信不穩(wěn)定。同時(shí)傳統(tǒng)的程序升級(jí)過程安全性很低,容易出現(xiàn)偽主站來竊取或破壞終端的數(shù)據(jù),或出現(xiàn)偽終端給主站傳送惡意數(shù)據(jù)。讓設(shè)備運(yùn)營商承擔(dān)了巨大的安全風(fēng)險(xiǎn)。
或者使用ftp等網(wǎng)絡(luò)傳輸方案來獲取升級(jí)文件,傳統(tǒng)的網(wǎng)絡(luò)服務(wù)程序,如:ftp、pop和telnet在本質(zhì)上都是不安全的,因?yàn)樗鼈冊诰W(wǎng)絡(luò)上用明文傳送口令和數(shù)據(jù),別有用心的人非常容易就可以截獲這些口令和數(shù)據(jù)。而且,這些服務(wù)程序的安全驗(yàn)證方式也是有其弱點(diǎn)的, 就是很容易受到“中間人”(man-in-the-middle)這種方式的攻擊。所謂“中間人”的攻擊方式, 就是“中間人”冒充真正的服務(wù)器接收你傳給服務(wù)器的數(shù)據(jù),然后再冒充你把數(shù)據(jù)傳給真正的服務(wù)器。服務(wù)器和你之間的數(shù)據(jù)傳送被“中間人”一轉(zhuǎn)手做了手腳之后,就會(huì)出現(xiàn)很嚴(yán)重的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明為了克服上述技術(shù)問題的缺點(diǎn),提供了一種解決了傳統(tǒng)升級(jí)過程緩慢且不安全的嵌入式linux充電管理終端通過無線通信模塊升級(jí)的方法。
本發(fā)明的嵌入式linux充電管理終端通過無線通信模塊升級(jí)的方法,其特征在于,通過以下方法來實(shí)現(xiàn):首先在主機(jī)上搭建一個(gè)SSH服務(wù)器,做好配置,并將升級(jí)配置文件和升級(jí)程序文件放在一個(gè)不含中文字符的目錄下;然后,充電管理終端以scp命令通過密鑰驗(yàn)證的方式連接SSH服務(wù)器,并從服務(wù)器上獲取升級(jí)配置文件和升級(jí)程序文件,以實(shí)現(xiàn)自身升級(jí)。
本發(fā)明的嵌入式linux充電管理終端通過無線通信模塊升級(jí)的方法,具體通過以下步驟來實(shí)現(xiàn):
a).搭建SSH服務(wù)器,在作為服務(wù)器的主機(jī)上裝載SSH應(yīng)用程序,以形成SSH服務(wù)器;b).配置服務(wù)器,首先將SSH服務(wù)器設(shè)置為密鑰驗(yàn)證登錄的模式,再根據(jù)公鑰生成私鑰,并將私鑰文件存儲(chǔ)于充電管理終端中,將公鑰文件存儲(chǔ)于SSH服務(wù)器中,以進(jìn)行密鑰驗(yàn)證;c).存儲(chǔ)升級(jí)、配置文件,將升級(jí)配置文件和升級(jí)程序文件存儲(chǔ)于SSH服務(wù)器的一個(gè)不含有中文的目錄下,以便充電管理終端獲取文件;d).充電管理終端的升級(jí),充電管理終端通過密鑰驗(yàn)證方式從SSH服務(wù)器上獲取升級(jí)配置文件和升級(jí)程序文件,并判斷是否滿足升級(jí)要求,如果滿足要求則利用新的升級(jí)程序文件進(jìn)行升級(jí)。
本發(fā)明的嵌入式linux充電管理終端通過無線通信模塊升級(jí)的方法,步驟d)中所述的充電管理終端的升級(jí)通過以下步驟來實(shí)現(xiàn):
d-1).定義升級(jí)時(shí)間段并判斷,所有充電管理終端定義一個(gè)相同的升級(jí)時(shí)間段T1~T2,在該時(shí)間段內(nèi)允許終端升級(jí),其余的時(shí)間段則不允許終端升級(jí);每個(gè)終端在非升級(jí)時(shí)間段內(nèi)生成一個(gè)在T1~T2時(shí)間段內(nèi)的隨機(jī)時(shí)間值,將其定為終端升級(jí)時(shí)間;終端判斷當(dāng)前時(shí)間是否到了升級(jí)時(shí)間,如果沒到,則繼續(xù)判斷;如果到了,則執(zhí)行步驟f-2);d-2).獲取升級(jí)配置文件,充電管理終端以自身存儲(chǔ)的私鑰為驗(yàn)證條件,通過scp命令將升級(jí)配置文件從服務(wù)器上拷貝過來,配置文件中記錄有升級(jí)程序的軟件版本號(hào)、硬件版本號(hào)和升級(jí)程序文件的CRC16校驗(yàn)值;d-3).判斷是否滿足升級(jí)條件,充電管理終端首先判斷獲取的軟件版本號(hào)是否與當(dāng)前運(yùn)行的軟件版本號(hào)相同,如果相同,則結(jié)束本次升級(jí),如果不相同,則判斷自身的配置是否滿足硬件版本號(hào)的要求,如果不滿足,則結(jié)束本次升級(jí),如果滿足,則允許升級(jí)并執(zhí)行步驟f-4);d-4).獲取升級(jí)程序文件,充電管理終端通過scp命令從SSH服務(wù)器上將升級(jí)程序文件拷貝過來,并計(jì)算器CRC16校驗(yàn)值與升級(jí)配置文件中記錄的CRC16校驗(yàn)值是否一致,如果不一致,則結(jié)束本次升級(jí);如果一致,則執(zhí)行步驟f-5);d-5).終端升級(jí),充電管理終端用新的升級(jí)程序文件替換舊的程序文件,并刪除升級(jí)配置文件,重啟終端,即可完成終端升級(jí)。
本發(fā)明的嵌入式linux充電管理終端通過無線通信模塊升級(jí)的方法,步驟d-1)中所述的升級(jí)時(shí)間段T1~T2為凌晨2點(diǎn)~凌晨5點(diǎn)。
本發(fā)明的有益效果是:本發(fā)明的充電管理終端的升級(jí)方法,通過搭建SSH服務(wù)器并配置密鑰驗(yàn)證,終端在升級(jí)的過程中通過scp命令即可快速獲取升級(jí)配置文件和程序文件,解決了以往充電管理終端采用交互數(shù)據(jù)幀進(jìn)行升級(jí)十分緩慢的弊端,同時(shí)通過密鑰驗(yàn)證,保證了數(shù)據(jù)傳輸?shù)陌踩?,避免了以往用偽終端、偽主站和“中間人”傳輸惡意數(shù)據(jù)情形的發(fā)生,保證了充電管理終端的安全、穩(wěn)定運(yùn)行。
同時(shí),充電管理終端通過生成一個(gè)在升級(jí)時(shí)間段T1~T2內(nèi)的隨機(jī)時(shí)間值,有效地減少了同一時(shí)間請求SSH服務(wù)器的終端數(shù)量,減輕了服務(wù)器的壓力,有利于支持更多的終端升級(jí)。
本發(fā)明的優(yōu)點(diǎn)體現(xiàn)在:
(1)、終端升級(jí)文件的獲取只需要程序內(nèi)調(diào)用scp程序即可,不需要終端來控制繁瑣的數(shù)據(jù)幀交互,提高了開發(fā)效率和文件傳輸?shù)姆€(wěn)定性。
(2)、終端與服務(wù)器之間的通信驗(yàn)證通過RSA密鑰對來進(jìn)行,鑒于RSA算法的安全性極高,因此大大提高了文件傳輸過程的安全性。
(3)、通過Crc16算法來進(jìn)行文件傳輸后的校驗(yàn),提高了文件傳輸?shù)目煽啃浴?/p>
(4)、每臺(tái)終端的升級(jí)時(shí)間是取了T1~T2時(shí)間段內(nèi)的隨機(jī)值,可減少同一時(shí)間請求SSH服務(wù)器的終端數(shù)量,減輕了服務(wù)器的壓力,有利于支持更多的終端升級(jí)。
(5)、因升級(jí)之前只需要準(zhǔn)備好一個(gè)升級(jí)配置文件和程序文件,大大減少了人工參與,提高了升級(jí)效率。
附圖說明
圖1為本發(fā)明的嵌入式linux充電管理終端通過無線通信模塊升級(jí)的方法的流程圖。
具體實(shí)施方式
下面結(jié)合附圖與實(shí)施例對本發(fā)明作進(jìn)一步說明。
本發(fā)明的嵌入式linux充電管理終端通過無線通信模塊升級(jí)的方法,通過以下方法來實(shí)現(xiàn):首先在主機(jī)上搭建一個(gè)SSH服務(wù)器,做好配置,并將升級(jí)配置文件和升級(jí)程序文件放在一個(gè)不含中文字符的目錄下;然后,充電管理終端以scp命令通過密鑰驗(yàn)證的方式連接SSH服務(wù)器,并從服務(wù)器上獲取升級(jí)配置文件和升級(jí)程序文件,以實(shí)現(xiàn)自身升級(jí)。
具體的步驟為:
a).搭建SSH服務(wù)器,在作為服務(wù)器的主機(jī)上裝載SSH應(yīng)用程序,以形成SSH服務(wù)器;
b).配置服務(wù)器,首先將SSH服務(wù)器設(shè)置為密鑰驗(yàn)證登錄的模式,再根據(jù)公鑰生成私鑰,并將私鑰文件存儲(chǔ)于充電管理終端中,將公鑰文件存儲(chǔ)于SSH服務(wù)器中,以進(jìn)行密鑰驗(yàn)證;
c).存儲(chǔ)升級(jí)、配置文件,將升級(jí)配置文件和升級(jí)程序文件存儲(chǔ)于SSH服務(wù)器的一個(gè)不含有中文的目錄下,以便充電管理終端獲取文件;
d).充電管理終端的升級(jí),充電管理終端通過密鑰驗(yàn)證方式從SSH服務(wù)器上獲取升級(jí)配置文件和升級(jí)程序文件,并判斷是否滿足升級(jí)要求,如果滿足要求則利用新的升級(jí)程序文件進(jìn)行升級(jí)。
如圖1所示,給出了本發(fā)明的嵌入式linux充電管理終端通過無線通信模塊升級(jí)的方法的流程圖,其通過以下步驟來實(shí)現(xiàn):
d-1).定義升級(jí)時(shí)間段并判斷,所有充電管理終端定義一個(gè)相同的升級(jí)時(shí)間段T1~T2,在該時(shí)間段內(nèi)允許終端升級(jí),其余的時(shí)間段則不允許終端升級(jí);每個(gè)終端在非升級(jí)時(shí)間段內(nèi)生成一個(gè)在T1~T2時(shí)間段內(nèi)的隨機(jī)時(shí)間值,將其定為終端升級(jí)時(shí)間;終端判斷當(dāng)前時(shí)間是否到了升級(jí)時(shí)間,如果沒到,則繼續(xù)判斷;如果到了,則執(zhí)行步驟f-2);
該步驟中,所述的升級(jí)時(shí)間段T1~T2為凌晨2點(diǎn)~凌晨5點(diǎn)。
d-2).獲取升級(jí)配置文件,充電管理終端以自身存儲(chǔ)的私鑰為驗(yàn)證條件,通過scp命令將升級(jí)配置文件從服務(wù)器上拷貝過來,配置文件中記錄有升級(jí)程序的軟件版本號(hào)、硬件版本號(hào)和升級(jí)程序文件的CRC16校驗(yàn)值;
d-3).判斷是否滿足升級(jí)條件,充電管理終端首先判斷獲取的軟件版本號(hào)是否與當(dāng)前運(yùn)行的軟件版本號(hào)相同,如果相同,則結(jié)束本次升級(jí),如果不相同,則判斷自身的配置是否滿足硬件版本號(hào)的要求,如果不滿足,則結(jié)束本次升級(jí),如果滿足,則允許升級(jí)并執(zhí)行步驟f-4);
d-4).獲取升級(jí)程序文件,充電管理終端通過scp命令從SSH服務(wù)器上將升級(jí)程序文件拷貝過來,并計(jì)算器CRC16校驗(yàn)值與升級(jí)配置文件中記錄的CRC16校驗(yàn)值是否一致,如果不一致,則結(jié)束本次升級(jí);如果一致,則執(zhí)行步驟f-5);
d-5).終端升級(jí),充電管理終端用新的升級(jí)程序文件替換舊的程序文件,并刪除升級(jí)配置文件,重啟終端,即可完成終端升級(jí)。