數(shù)據(jù)校驗(yàn)方法、校驗(yàn)裝置及移動(dòng)終端的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種數(shù)據(jù)校驗(yàn)方法、校驗(yàn)裝置及移動(dòng)終端。數(shù)據(jù)校驗(yàn)方法為:接收方接收數(shù)據(jù),并執(zhí)行下述的校驗(yàn)過(guò)程:獲取接收數(shù)據(jù)的ID,從已存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)中查找與接收數(shù)據(jù)的ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu);在查找到相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)后,獲取接收數(shù)據(jù)類型,與已存儲(chǔ)的合法數(shù)據(jù)類型作比較,判斷接收數(shù)據(jù)類型是否合法;在接收數(shù)據(jù)類型合法時(shí),根據(jù)數(shù)據(jù)類型獲取具有限定值域的接收數(shù)據(jù)的值,與已存儲(chǔ)的該類型數(shù)據(jù)的合法值域作比較,判斷接收數(shù)據(jù)的值是否合法;若查找到相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)、且接收數(shù)據(jù)類型及值均合法,判定接收數(shù)據(jù)為合法數(shù)據(jù);否則,判定接收數(shù)據(jù)為非法數(shù)據(jù)。應(yīng)用本發(fā)明的,可以解決現(xiàn)有技術(shù)中不能對(duì)接收數(shù)據(jù)的合法性進(jìn)行校驗(yàn)的問(wèn)題。
【專利說(shuō)明】數(shù)據(jù)校驗(yàn)方法、校驗(yàn)裝置及移動(dòng)終端
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù),具體地說(shuō),是涉及一種數(shù)據(jù)校驗(yàn)方法、校驗(yàn)裝置及移動(dòng)終端。
【背景技術(shù)】
[0002]現(xiàn)有智能移動(dòng)終端(如智能手機(jī))的硬件結(jié)構(gòu)包括AP和Modem兩個(gè)部分。AP為應(yīng)用程序處理器,是運(yùn)行應(yīng)用操作系統(tǒng)的硬件功能模塊;M0dem為調(diào)制解調(diào)器,是運(yùn)行語(yǔ)音、數(shù)據(jù)通信的硬件功能模塊,負(fù)責(zé)所有通信軟件的執(zhí)行。AP與Modem在硬件上是分開(kāi)的,兩者之間通常通過(guò)AT命令通信。
[0003]目前市場(chǎng)上的智能移動(dòng)終端,AP與Modem在通過(guò)AT命令交互數(shù)據(jù)時(shí),接收方在收到數(shù)據(jù)后,通常只對(duì)收到的數(shù)據(jù)進(jìn)行CRC校驗(yàn)等的傳輸正確性檢查,檢查收到的數(shù)據(jù)是否與發(fā)送方發(fā)送的數(shù)據(jù)相同,以確保在數(shù)據(jù)傳輸過(guò)程中沒(méi)有因干擾而發(fā)生錯(cuò)誤。
[0004]但是,現(xiàn)有傳輸正確性的檢查僅能減少接收方收到的數(shù)據(jù)與發(fā)送方發(fā)送的數(shù)據(jù)不一致而產(chǎn)生的數(shù)據(jù)錯(cuò)誤率,不能對(duì)接收到的數(shù)據(jù)本身的合法性進(jìn)行檢查,無(wú)法判斷接收方是否接收了一條合法消息數(shù)據(jù)。因而,使得接收方易遭受非法數(shù)據(jù)的攻擊。如果Modem作為接收方而接收到非法數(shù)據(jù),為上層應(yīng)用惡意獲取Modem信息提供可能,容易造成移動(dòng)終端被非法攻擊、泄漏私密信息等安全隱患。如果AP作為接收方接收到非法數(shù)據(jù),可能會(huì)給上層或者用戶提供錯(cuò)誤的反饋信息以及被非法攻擊。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提供一種數(shù)據(jù)校驗(yàn)方法及校驗(yàn)裝置,以解決現(xiàn)有技術(shù)中不能對(duì)接收數(shù)據(jù)的合法性進(jìn)行校驗(yàn)的問(wèn)題。
[0006]為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供的數(shù)據(jù)校驗(yàn)方法采用下述技術(shù)方案予以實(shí)現(xiàn): 一種數(shù)據(jù)校驗(yàn)方法,接收方接收數(shù)據(jù),并執(zhí)行下述的校驗(yàn)過(guò)程:
獲取接收數(shù)據(jù)的ID,從已存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)中查找與接收數(shù)據(jù)的ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu);在查找到相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)后,獲取接收數(shù)據(jù)類型,與已存儲(chǔ)的合法數(shù)據(jù)類型作比較,判斷接收數(shù)據(jù)類型是否合法;
在接收數(shù)據(jù)類型合法時(shí),獲取具有限定值域的接收數(shù)據(jù)的值,與已存儲(chǔ)的該類型數(shù)據(jù)的合法值作比較,判斷接收數(shù)據(jù)的值是否合法;
若查找到相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)、且接收數(shù)據(jù)類型及值均合法,判定接收數(shù)據(jù)為合法數(shù)據(jù);否則,判定接收數(shù)據(jù)為非法數(shù)據(jù)。
[0007]如上所述的數(shù)據(jù)校驗(yàn)方法,在查找到與接收數(shù)據(jù)的ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)后,先判斷該接收數(shù)據(jù)的長(zhǎng)度是否大于其數(shù)據(jù)結(jié)構(gòu)所限定的最大長(zhǎng)度;若否,再獲取該接收數(shù)據(jù)類型,若是,判定接收數(shù)據(jù)為非法數(shù)據(jù)。
[0008]如上所述的數(shù)據(jù)校驗(yàn)方法,在查找到與接收數(shù)據(jù)的ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)后,根據(jù)數(shù)據(jù)結(jié)構(gòu)依次獲取并判斷接收數(shù)據(jù)中的每個(gè)數(shù)據(jù)元素的類型及值;若所有數(shù)據(jù)元素的類型及具有限定值域的數(shù)據(jù)元素的值均合法,判定數(shù)據(jù)元素組成的接收數(shù)據(jù)為合法數(shù)據(jù),否則,判定該接收數(shù)據(jù)為非法數(shù)據(jù)。
[0009]如上所述的數(shù)據(jù)校驗(yàn)方法,接收數(shù)據(jù)中包含有定長(zhǎng)數(shù)據(jù)元素和變長(zhǎng)數(shù)據(jù)元素,還包括有標(biāo)記所述變長(zhǎng)數(shù)據(jù)元素長(zhǎng)度的標(biāo)記數(shù)據(jù)元素,在查找到與接收數(shù)據(jù)的ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)后,獲取接收數(shù)據(jù)中的標(biāo)記數(shù)據(jù)元素,然后根據(jù)該標(biāo)記數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu)依次獲取并判斷接收數(shù)據(jù)中的每個(gè)數(shù)據(jù)元素的類型及值。
[0010]如上所述的數(shù)據(jù)校驗(yàn)方法,接收方接收數(shù)據(jù)后,先對(duì)接收數(shù)據(jù)進(jìn)行傳輸準(zhǔn)確性校驗(yàn),在校驗(yàn)傳輸準(zhǔn)確后,再獲取接收數(shù)據(jù)的ID。
[0011]為實(shí)現(xiàn)前述發(fā)明目的,本發(fā)明提供的數(shù)據(jù)校驗(yàn)裝置采用下述技術(shù)方案予以實(shí)現(xiàn): 一種數(shù)據(jù)校驗(yàn)裝置,包括:
主控單元,用于協(xié)調(diào)和控制裝置中的各單元的工作狀態(tài);
存儲(chǔ)單元,與所述主控單元連接,用于存儲(chǔ)需存儲(chǔ)的數(shù)據(jù);
數(shù)據(jù)結(jié)構(gòu)查找單元,與所述主控單元連接,用于獲取接收數(shù)據(jù)的ID,從已存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)中查找是否存在與接收數(shù)據(jù)的ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),并將結(jié)果傳輸至所述主控單元;
類型校驗(yàn)單元,與所述主控單元連接,用于獲取接收數(shù)據(jù)類型,與已存儲(chǔ)的合法數(shù)據(jù)類型作比較,判斷接收數(shù)據(jù)類型是否合法,并將結(jié)果傳輸至所述主控單元;
值校驗(yàn)單元,與所述主控單元連接,用于獲取具有限定值域的接收數(shù)據(jù)的值,與已存儲(chǔ)的該類型數(shù)據(jù)的合法值域作比較,判斷接收數(shù)據(jù)值是否合法,并將結(jié)果傳輸至所述主控單元;
合法性判定單元,與所述主控單元相連接,用于判定接收數(shù)據(jù)是否合法。
[0012]如上所述的數(shù)據(jù)校驗(yàn)裝置,所述裝置還包括:數(shù)據(jù)長(zhǎng)度校驗(yàn)單元,與所述主控單元連接,用于判斷查找到數(shù)據(jù)結(jié)構(gòu)后的接收數(shù)據(jù)的長(zhǎng)度是否大于其數(shù)據(jù)結(jié)構(gòu)所限定的最大長(zhǎng)度,并將結(jié)果傳輸至所述主控單元。
[0013]如上所述的數(shù)據(jù)校驗(yàn)裝置,所述裝置還包括:
數(shù)據(jù)元素獲取單元,與所述主控單元連接,用于根據(jù)數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)結(jié)構(gòu)與標(biāo)記數(shù)據(jù)元素依次獲取接收數(shù)據(jù)中的每個(gè)數(shù)據(jù)元素;
所述類型校驗(yàn)單元對(duì)所述數(shù)據(jù)元素獲取單元所獲取的每個(gè)數(shù)據(jù)元素依次進(jìn)行校驗(yàn),所述值校驗(yàn)單元對(duì)所述數(shù)據(jù)元素獲取單元所獲取的每個(gè)具有限定值域的數(shù)據(jù)元素依次進(jìn)行校驗(yàn)。
[0014]如上所述的數(shù)據(jù)校驗(yàn)裝置,所述裝置還包括:
傳輸準(zhǔn)確性校驗(yàn),與所述主控單元連接,用于對(duì)接收數(shù)據(jù)進(jìn)行傳輸準(zhǔn)確性校驗(yàn),并將結(jié)果傳輸至所述主控單元。
[0015]還本發(fā)明還提供了一種移動(dòng)終端,包括數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方,所述移動(dòng)終端內(nèi)還設(shè)置有上述的數(shù)據(jù)校驗(yàn)裝置,用于對(duì)所述數(shù)據(jù)接收方接收的數(shù)據(jù)進(jìn)行校驗(yàn),以提高終端數(shù)據(jù)傳輸?shù)陌踩浴?br>
[0016]與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)和積極效果是:應(yīng)用本發(fā)明的數(shù)據(jù)校驗(yàn)方法和校驗(yàn)裝置,對(duì)接收方接收到的數(shù)據(jù)進(jìn)行數(shù)據(jù)類型及值域的合法性校驗(yàn),可以盡早發(fā)現(xiàn)和排除來(lái)自數(shù)據(jù)發(fā)送方的非法數(shù)據(jù),避免非法數(shù)據(jù)進(jìn)入到接收方而引起的安全隱患。在移動(dòng)終端中采用本發(fā)明的校驗(yàn)裝置,能夠提高終端數(shù)據(jù)傳輸及整個(gè)終端系統(tǒng)的安全性。[0017]結(jié)合附圖閱讀本發(fā)明的【具體實(shí)施方式】后,本發(fā)明的其他特點(diǎn)和優(yōu)點(diǎn)將變得更加清
λ.Μ
/E.ο
【專利附圖】
【附圖說(shuō)明】
[0018]圖1是本發(fā)明移動(dòng)終端一個(gè)實(shí)施例的結(jié)構(gòu)框圖;
圖2是圖1中數(shù)據(jù)校驗(yàn)裝置第一個(gè)實(shí)施例的原理框圖;
圖3是圖1中數(shù)據(jù)校驗(yàn)裝置第二個(gè)實(shí)施例的原理框圖;
圖4是本發(fā)明數(shù)據(jù)校驗(yàn)方法第一個(gè)實(shí)施例的流程圖;
圖5是本發(fā)明數(shù)據(jù)校驗(yàn)方法第二個(gè)實(shí)施例的流程圖。
【具體實(shí)施方式】
[0019]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下將結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
[0020]請(qǐng)參見(jiàn)圖1,該圖所示為本發(fā)明移動(dòng)終端一個(gè)實(shí)施例的結(jié)構(gòu)框圖。
[0021]如圖1所示,移動(dòng)終端包括有APl和Modem2,兩者之間雙向通信。也即,APl可以向Modem2發(fā)送數(shù)據(jù),Modem2也可以向APl發(fā)送數(shù)據(jù)。在APl向Modem2發(fā)送數(shù)據(jù)時(shí),APl為數(shù)據(jù)發(fā)送方,Modem2為數(shù)據(jù)接收方。在Modem2向APl發(fā)送數(shù)據(jù)時(shí),Modem2為數(shù)據(jù)發(fā)送方,APl為數(shù)據(jù)接收方。為對(duì)數(shù)據(jù)接收方的接收數(shù)據(jù)進(jìn)行校驗(yàn),在該實(shí)施例中,移動(dòng)終端還包括有第一數(shù)據(jù)校驗(yàn)裝置11和第二數(shù)據(jù)校驗(yàn)裝置21。具體來(lái)說(shuō),在APl端設(shè)置有第一數(shù)據(jù)校驗(yàn)裝置11,用來(lái)對(duì)APl接收的數(shù)據(jù)進(jìn)行校驗(yàn)。在Modem2端設(shè)置有第二數(shù)據(jù)校驗(yàn)裝置21,用來(lái)對(duì)Modem2接收的數(shù)據(jù)進(jìn)行校驗(yàn)。進(jìn)而,利用數(shù)據(jù)校驗(yàn)裝置發(fā)現(xiàn)和排除非法的數(shù)據(jù),提高數(shù)據(jù)傳輸?shù)陌踩浴?br>
[0022]第一數(shù)據(jù)校驗(yàn)裝置11和第二數(shù)據(jù)校驗(yàn)裝置21的結(jié)構(gòu)、原理及校驗(yàn)過(guò)程可以參考圖2至圖5所示。
[0023]圖2所示為圖1中數(shù)據(jù)校驗(yàn)裝置第一個(gè)實(shí)施例的原理框圖。
[0024]如圖2所示,該實(shí)施例的數(shù)據(jù)校驗(yàn)裝置包括有主控單元101、存儲(chǔ)單元102、數(shù)據(jù)結(jié)構(gòu)查找單元102、類型校驗(yàn)單元104、值域校驗(yàn)單元105及合法性判定單元106。
[0025]主控單元101作為數(shù)據(jù)校驗(yàn)裝置的主控部件,用于協(xié)調(diào)和控制裝置中其他各單元的工作狀態(tài)。
[0026]存儲(chǔ)單元102作為數(shù)據(jù)校驗(yàn)裝置的存儲(chǔ)部件,與主控單元11連接,用來(lái)存儲(chǔ)需保存的各種數(shù)據(jù)。
[0027]數(shù)據(jù)結(jié)構(gòu)查找單元103,與主控單元101連接,用于獲取接收數(shù)據(jù)的ID,從已存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)中查找是否存在與接收數(shù)據(jù)的ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),并將結(jié)果傳輸至主控單元 101。
[0028]類型校驗(yàn)單元104與主控單元101連接,在主控單元101的控制下工作,用于獲取接收數(shù)據(jù)類型,與已存儲(chǔ)的合法數(shù)據(jù)類型作比較,判斷接收數(shù)據(jù)類型是否合法,并將校驗(yàn)結(jié)果傳輸至主控單元101。具體來(lái)說(shuō),在數(shù)據(jù)結(jié)構(gòu)查找單元103查找到與接收數(shù)據(jù)的ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)后,主控單元101再控制類型校驗(yàn)單元104工作。
[0029]值校驗(yàn)單元105與主控單元101連接,在主控單元101的控制下工作,用于獲取具有限定值域的接收數(shù)據(jù)的值,與已存儲(chǔ)的該類型數(shù)據(jù)的合法值域作比較,判斷接收數(shù)據(jù)的值是否合法,并將結(jié)果傳輸至主控單元101。具體來(lái)說(shuō),在類型校驗(yàn)單元104判定接收數(shù)據(jù)類型合法后,主控單元101再控制值校驗(yàn)單元105工作。
[0030]合法性判定單元106與主控單元101連接,用于根據(jù)數(shù)據(jù)類型查找結(jié)果、類型校驗(yàn)結(jié)果及值校驗(yàn)結(jié)果判定接收數(shù)據(jù)是否合法。
[0031]該實(shí)施例數(shù)據(jù)校驗(yàn)裝置更具體的工作過(guò)程可參考圖4的方法流程所示及后面對(duì)圖4的描述。
[0032]請(qǐng)參見(jiàn)圖3,該圖所示為圖1中數(shù)據(jù)校驗(yàn)裝置第二個(gè)實(shí)施例的原理框圖。
[0033]如圖3所示,在該第二個(gè)實(shí)施例中,數(shù)據(jù)校驗(yàn)裝置包括有主控單元201、存儲(chǔ)單元202、數(shù)據(jù)結(jié)構(gòu)查找單元203、類型校驗(yàn)單元204、值校驗(yàn)單元205、合法性判定單元206、傳輸準(zhǔn)確性校驗(yàn)單元207、數(shù)據(jù)長(zhǎng)度校驗(yàn)單元208及數(shù)據(jù)元素獲取單元209。其中,主控單元201、存儲(chǔ)單元202、數(shù)據(jù)結(jié)構(gòu)查找單元203、類型校驗(yàn)單元204、值校驗(yàn)單元205、合法性判定單元206的結(jié)構(gòu)、功能與圖2第一個(gè)實(shí)施例的對(duì)應(yīng)單元類似,可參考圖2的描述。其余各單元的結(jié)構(gòu)及功能具體如下:
傳輸準(zhǔn)確性校驗(yàn)單元207,與主控單元201連接,用來(lái)對(duì)接收數(shù)據(jù)進(jìn)行傳輸準(zhǔn)確性校驗(yàn),并將結(jié)果傳輸至主控單元201。
[0034]數(shù)據(jù)長(zhǎng)度校驗(yàn)單元208,與主控單元201連接,用于判斷查找到數(shù)據(jù)結(jié)構(gòu)后的接收數(shù)據(jù)的長(zhǎng)度是否大于其數(shù)據(jù)結(jié)構(gòu)所限定的最大長(zhǎng)度,并將結(jié)果傳輸至主控單元201。
[0035]數(shù)據(jù)元素獲取單元209,與主控單元201連接,用于根據(jù)數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)結(jié)構(gòu)與標(biāo)記數(shù)據(jù)元素依次獲取接收數(shù)據(jù)中的每個(gè)數(shù)據(jù)元素。而且,主控單元201將根據(jù)數(shù)據(jù)元素獲取單元209的結(jié)果,控制類型校驗(yàn)單元203和值校驗(yàn)單元204對(duì)每個(gè)數(shù)據(jù)元素依次進(jìn)行類型校驗(yàn)和值校驗(yàn)。
[0036]該實(shí)施例數(shù)據(jù)校驗(yàn)裝置更具體的工作過(guò)程可參考圖5的方法流程所示及后面對(duì)圖5的描述。
[0037]請(qǐng)參見(jiàn)圖4,該圖所示為本發(fā)明數(shù)據(jù)校驗(yàn)方法第一個(gè)實(shí)施例的流程圖,該方法基于圖2示出的數(shù)據(jù)校驗(yàn)裝置,對(duì)接收方接收的數(shù)據(jù)進(jìn)行合法性校驗(yàn)。
[0038]具體來(lái)說(shuō),該實(shí)施例對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)的過(guò)程如下:
步驟301:流程開(kāi)始。
[0039]步驟302:接收方接收數(shù)據(jù)。
[0040]對(duì)于移動(dòng)終端而言,如圖1所描述,接收方可以是終端內(nèi)的AP,也可以是終端內(nèi)的Modem。
[0041]步驟303:獲取接收數(shù)據(jù)的ID,從已存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)中查找該ID對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)。
[0042]發(fā)送方所發(fā)送的每個(gè)數(shù)據(jù)中均攜帶有數(shù)據(jù)ID,且數(shù)據(jù)ID是唯一的,能夠唯一標(biāo)志數(shù)據(jù)。而且,仍以移動(dòng)終端為例,終端預(yù)先存儲(chǔ)有數(shù)據(jù)ID與數(shù)據(jù)結(jié)構(gòu)的對(duì)應(yīng)關(guān)系,該對(duì)應(yīng)關(guān)系可以列表的形式存儲(chǔ)。接收方接收到數(shù)據(jù),根據(jù)傳輸協(xié)議,能夠方便地獲取到接收數(shù)據(jù)的ID。然后,從已存儲(chǔ)的數(shù)據(jù)ID與數(shù)據(jù)結(jié)構(gòu)對(duì)比列表內(nèi)查找是否存在該接收數(shù)據(jù)ID的數(shù)據(jù)結(jié)構(gòu)。
[0043]步驟304:判斷是否存在所接收數(shù)據(jù)ID對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)。如果存在,執(zhí)行步驟305 ;否則,轉(zhuǎn)至步驟311。[0044]步驟305:如果從已存儲(chǔ)的對(duì)應(yīng)列表中查找到接收數(shù)據(jù)ID對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),初步判定出接收數(shù)據(jù)可能為合法數(shù)據(jù),繼續(xù)執(zhí)行下一步的合法性判定,也即,獲取接收數(shù)據(jù)類型。
[0045]以移動(dòng)終端為例,一般的,在終端出廠前的編譯過(guò)程中,終端內(nèi)預(yù)置了接收數(shù)據(jù)的合法類型。而且,一般的,合法類型為自定義類型,以增強(qiáng)數(shù)據(jù)傳輸?shù)陌踩浴?br>
[0046]發(fā)送方與接收方在進(jìn)行數(shù)據(jù)傳輸時(shí),數(shù)據(jù)采用特定的類型來(lái)傳輸。而且,該類型包含在數(shù)據(jù)結(jié)構(gòu)中。在步驟303獲取到接收數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)后,從數(shù)據(jù)結(jié)構(gòu)中可以獲得數(shù)據(jù)的類型。
[0047]步驟306:判斷接收數(shù)據(jù)類型是否與已存儲(chǔ)的合法數(shù)據(jù)類型相同。若是,執(zhí)行步驟307 ;否則,轉(zhuǎn)至步驟311。
[0048]如果接收數(shù)據(jù)類型與已存儲(chǔ)的合法數(shù)據(jù)類型相同,判定接收數(shù)據(jù)類型合法。否則,判定接收數(shù)據(jù)類型非法。
[0049]步驟307:在接收數(shù)據(jù)類型合法后,判斷該數(shù)據(jù)是否具有限定值域。如是,執(zhí)行步驟308 ;否則,轉(zhuǎn)至步驟310。
[0050]對(duì)于移動(dòng)終端中AP和Modem之間所傳輸?shù)臄?shù)據(jù),根據(jù)數(shù)據(jù)類型的不同,有些數(shù)據(jù)的取值范圍有要求,也即,具有限定值域,有的數(shù)據(jù)則不存在值域的限定。在定義數(shù)據(jù)結(jié)構(gòu)時(shí),會(huì)同時(shí)定義該數(shù)據(jù)是否具有限定值域。因此,在步驟303獲取到接收數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)后,從數(shù)據(jù)結(jié)構(gòu)中可以獲得數(shù)據(jù)是否具有限定值域。
[0051]步驟308:如果所接收的數(shù)據(jù)具有限定值域,則獲取接收數(shù)據(jù)的值。
[0052]步驟309:判斷接收數(shù)據(jù)的值是否位于已存儲(chǔ)的合法值域內(nèi)。若是,執(zhí)行步驟310 ;否則,轉(zhuǎn)至步驟311。
[0053]對(duì)于具有限定值域的合法數(shù)據(jù)類型,預(yù)先設(shè)置并存儲(chǔ)了該類型數(shù)據(jù)的合法值域。獲取到接收數(shù)據(jù)的值之后,將其與已存儲(chǔ)的、與接收數(shù)據(jù)同類型的合法值域作比較。如果接收數(shù)據(jù)的值位于合法值域內(nèi),判定接收數(shù)據(jù)的值合法。否則,判定接收數(shù)據(jù)的值非法。
[0054]步驟310:如果查找到與接收數(shù)據(jù)的ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)、且接收數(shù)據(jù)類型和值均合法,判定接收數(shù)據(jù)為合法數(shù)據(jù)。然后,轉(zhuǎn)至步驟312。
[0055]步驟311:如果未查找到與接收數(shù)據(jù)的ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),或者步驟306判定接收數(shù)據(jù)類型非法,或者步驟309判定接收數(shù)據(jù)的值非法,均判定接收數(shù)據(jù)為非法數(shù)據(jù)。然后,轉(zhuǎn)至步驟312。
[0056]步驟312:數(shù)據(jù)校驗(yàn)過(guò)程結(jié)束。
[0057]校驗(yàn)過(guò)程結(jié)束后,如果接收數(shù)據(jù)為合法數(shù)據(jù),接收方則將對(duì)數(shù)據(jù)進(jìn)行后續(xù)的正常處理。如果接收數(shù)據(jù)為非法數(shù)據(jù),則丟棄此數(shù)據(jù),并可給出錯(cuò)誤、非法等提示。
[0058]在該實(shí)施例中,接收方接收到數(shù)據(jù)后,先判斷是否存儲(chǔ)有所接收數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),并對(duì)反應(yīng)數(shù)據(jù)是否合法的數(shù)據(jù)類型及數(shù)據(jù)值進(jìn)行校驗(yàn),如果不存在數(shù)據(jù)結(jié)構(gòu),或者數(shù)據(jù)類型不合法,或者數(shù)據(jù)的值不合法,表明數(shù)據(jù)來(lái)源非法,也即數(shù)據(jù)發(fā)送方無(wú)權(quán)限向接收方發(fā)送該數(shù)據(jù),進(jìn)而,放棄處理該非法數(shù)據(jù)。通過(guò)對(duì)接收數(shù)據(jù)先進(jìn)行合法性校驗(yàn),有效避免了接收方因處理非法數(shù)據(jù)而遭受非法攻擊的風(fēng)險(xiǎn)。
[0059]圖5示出了本發(fā)明數(shù)據(jù)校驗(yàn)方法第二個(gè)實(shí)施例的流程圖。該第二個(gè)實(shí)施例的方法基于圖3所示出的數(shù)據(jù)校驗(yàn)裝置,對(duì)接收方接收的數(shù)據(jù)進(jìn)行包括傳輸準(zhǔn)確性及合法性的校驗(yàn)。
[0060]如圖5所示,該實(shí)施例對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)的過(guò)程如下:
步驟401:流程開(kāi)始。
[0061]步驟402:接收方接收數(shù)據(jù)。
[0062]步驟403:對(duì)接收數(shù)據(jù)進(jìn)行傳輸準(zhǔn)確性校驗(yàn)。
[0063]接收方接收到數(shù)據(jù),先對(duì)數(shù)據(jù)進(jìn)行傳輸準(zhǔn)確性校驗(yàn),判斷接收數(shù)據(jù)是否與發(fā)送方發(fā)送的數(shù)據(jù)一致,避免傳輸過(guò)程中因干擾而發(fā)生傳輸錯(cuò)誤。傳輸準(zhǔn)確性校驗(yàn)方法可以采用現(xiàn)有技術(shù)中的方法來(lái)實(shí)現(xiàn),如采用CRC校驗(yàn)等。
[0064]步驟404:判斷傳輸是否準(zhǔn)確。如果準(zhǔn)確,執(zhí)行步驟406 ;否則,執(zhí)行步驟405。
[0065]步驟405:如果傳輸準(zhǔn)確性校驗(yàn)判定數(shù)據(jù)發(fā)生傳輸錯(cuò)誤,則執(zhí)行傳輸錯(cuò)誤處理過(guò)程。然后,轉(zhuǎn)至步驟418。
[0066]如果數(shù)據(jù)發(fā)生傳輸錯(cuò)誤,則沒(méi)有必要再執(zhí)行后續(xù)的合法性校驗(yàn),直接執(zhí)行傳輸錯(cuò)誤處理。傳輸錯(cuò)誤處理過(guò)程與現(xiàn)有技術(shù)類似,例如,請(qǐng)求發(fā)送方重新發(fā)送數(shù)據(jù)。
[0067]步驟406:如果傳輸準(zhǔn)確性校驗(yàn)判定數(shù)據(jù)傳輸正確,則再對(duì)接收數(shù)據(jù)進(jìn)行合法性校驗(yàn)。首先,獲取接收數(shù)據(jù)的ID,從已存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)中查找該ID對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)。
[0068]該步驟的具體原理及實(shí)現(xiàn)方法可參考圖4實(shí)施例中步驟303的描述。
[0069]步驟407:判斷是否存在所接收數(shù)據(jù)ID對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)。如果存在,執(zhí)行步驟408 ;否則,轉(zhuǎn)至步驟417。
[0070]步驟408:如果從已存儲(chǔ)的對(duì)應(yīng)列表中查找到接收數(shù)據(jù)ID對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),初步判定出接收數(shù)據(jù)可能為合法數(shù)據(jù),繼續(xù)執(zhí)行下一步的合法性判定。也即,再判斷接收數(shù)據(jù)的長(zhǎng)度是否大于最大長(zhǎng)度,以進(jìn)行合法性的進(jìn)一步判定。如果是,轉(zhuǎn)至步驟417 ;若為否,執(zhí)行步驟409。
[0071]此處所說(shuō)的最大長(zhǎng)度,是指數(shù)據(jù)結(jié)構(gòu)所限定的具有該數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)的最大長(zhǎng)度。
[0072]步驟409:如果步驟408判定接收數(shù)據(jù)的長(zhǎng)度不大于其數(shù)據(jù)結(jié)構(gòu)所限定的最大長(zhǎng)度,進(jìn)一步判定接收數(shù)據(jù)可能為合法數(shù)據(jù),再執(zhí)行后續(xù)的判斷過(guò)程。具體來(lái)說(shuō),是獲取接收數(shù)據(jù)中的標(biāo)記數(shù)據(jù)元素,根據(jù)該標(biāo)記數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu)依次獲取數(shù)據(jù)元素。
[0073]數(shù)據(jù)結(jié)構(gòu)中規(guī)定了所接收數(shù)據(jù)的組裝形式,根據(jù)數(shù)據(jù)結(jié)構(gòu)可以依次讀取出數(shù)據(jù)中的各數(shù)據(jù)元素。在該實(shí)施例中,為提高數(shù)據(jù)傳輸效率,在傳輸?shù)臄?shù)據(jù)中包括有定長(zhǎng)數(shù)據(jù)元素和變長(zhǎng)數(shù)據(jù)元素,并設(shè)置了標(biāo)記數(shù)據(jù)元素,用于標(biāo)記變長(zhǎng)數(shù)據(jù)元素的長(zhǎng)度。同一 ID的數(shù)據(jù),如果攜帶的內(nèi)容不同,同一數(shù)據(jù)元素的長(zhǎng)度差別會(huì)比較大。例如:如果數(shù)據(jù)元素內(nèi)容為手機(jī)當(dāng)前注冊(cè)網(wǎng)絡(luò)的參數(shù),由于各種網(wǎng)絡(luò)制式(例如GSM、WCDMA、LTE)包含的網(wǎng)絡(luò)參數(shù)都有差異,而且手機(jī)可能同時(shí)注冊(cè)在多個(gè)網(wǎng)絡(luò)制式下,該數(shù)據(jù)會(huì)具有不同的長(zhǎng)度。如果按照同一長(zhǎng)度傳輸,會(huì)存在很多空字節(jié),影響傳輸效率,且會(huì)占據(jù)大量的存儲(chǔ)空間。通過(guò)在數(shù)據(jù)中增設(shè)變長(zhǎng)數(shù)據(jù)元素及標(biāo)記數(shù)據(jù)元素,可以不傳輸這些空的字節(jié)。同時(shí),還不會(huì)影響在數(shù)據(jù)接收方根據(jù)數(shù)據(jù)結(jié)構(gòu)來(lái)讀取數(shù)據(jù)元素。從而,在提高傳輸效率、減少空間占用的同時(shí),不會(huì)產(chǎn)生單純依靠數(shù)據(jù)結(jié)構(gòu)讀取數(shù)據(jù)元素而產(chǎn)生的誤判。
[0074]對(duì)于這類的接收數(shù)據(jù),先根據(jù)數(shù)據(jù)結(jié)構(gòu)獲取其標(biāo)記數(shù)據(jù)元素,然后,根據(jù)該元素及步驟406及步驟407所查找到的該接收數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)依次讀取接收數(shù)據(jù)中的數(shù)據(jù)元素,然后以數(shù)據(jù)元素為校驗(yàn)單位,依次執(zhí)行進(jìn)一步的合法性校驗(yàn)。
[0075]步驟410:獲取步驟409中所讀取出來(lái)的一個(gè)數(shù)據(jù)元素的類型。
[0076]對(duì)于具有多個(gè)數(shù)據(jù)元素的接收數(shù)據(jù),每個(gè)數(shù)據(jù)元素均具有類型屬性。且,數(shù)據(jù)元素的類型可以從數(shù)據(jù)結(jié)構(gòu)中方便地讀取到。
[0077]步驟411:判定數(shù)據(jù)元素類型是否與已存儲(chǔ)的合法數(shù)據(jù)類型相同。若是,執(zhí)行步驟412 ;否則,轉(zhuǎn)至步驟417。
[0078]如果數(shù)據(jù)元素類型與已存儲(chǔ)的合法數(shù)據(jù)類型相同,判定該數(shù)據(jù)元素的類型合法。否則,判定該數(shù)據(jù)元素所在的整個(gè)接收數(shù)據(jù)類型是非法的。
[0079]步驟412:在數(shù)據(jù)元素類型合法后,判斷該數(shù)據(jù)元素是否具有限定值域。若是,執(zhí)行步驟413 ;否則,轉(zhuǎn)至步驟415。
[0080]同樣的,在獲取到數(shù)據(jù)結(jié)構(gòu)后,可以從數(shù)據(jù)結(jié)構(gòu)中方便地獲得某個(gè)數(shù)據(jù)元素是否具有限定值域。
[0081]步驟413:如果數(shù)據(jù)元素具有限定值域,則獲取該數(shù)據(jù)元素的值。
[0082]步驟414:判斷步驟413所獲取的數(shù)據(jù)元素的值是否位于已存儲(chǔ)的合法值域內(nèi)。若是,執(zhí)行步驟415 ;否則,轉(zhuǎn)至步驟417。
[0083]該步驟的具體原理和實(shí)現(xiàn)方法可參考圖4實(shí)施例中步驟309的描述。
[0084]步驟415:判斷接收數(shù)據(jù)中的所有數(shù)據(jù)元素是否均判斷完畢。若是,執(zhí)行步驟416 ;否則,轉(zhuǎn)至步驟410。
[0085]對(duì)于具有多個(gè)數(shù)據(jù)元素的接收數(shù)據(jù),以數(shù)據(jù)元素為單位,依次執(zhí)行類型和值的判斷。一個(gè)數(shù)據(jù)元素判斷完畢,且類型和值均合法,再對(duì)下一個(gè)數(shù)據(jù)元素進(jìn)行判斷,直至所有元素均判斷完畢。當(dāng)然,如果有一個(gè)數(shù)據(jù)元素的類型或值非法,則中止數(shù)據(jù)元素判斷過(guò)程,轉(zhuǎn)至步驟417。
[0086]步驟416:判定接收數(shù)據(jù)為合法數(shù)據(jù)。
[0087]從上述描述可知,在接收數(shù)據(jù)傳輸準(zhǔn)確、存在與其ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)、接收數(shù)據(jù)的長(zhǎng)度不大于該數(shù)據(jù)結(jié)構(gòu)限定的最大長(zhǎng)度、且接收數(shù)據(jù)中所有數(shù)據(jù)元素的類型和值均合法的情況下,判定接收數(shù)據(jù)為合法數(shù)據(jù)。然后,轉(zhuǎn)至步驟418。
[0088]步驟417:判定接收數(shù)據(jù)為非法數(shù)據(jù)。
[0089]如上所述,該步驟承接于步驟407、408、411及414的判斷結(jié)果。具體來(lái)說(shuō),如果不存在與接收數(shù)據(jù)ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),或者,接收數(shù)據(jù)的長(zhǎng)度大于該數(shù)據(jù)結(jié)構(gòu)限定的最大長(zhǎng)度,或者,接收數(shù)據(jù)中某個(gè)數(shù)據(jù)元素的類型或值不合法,均判定接收數(shù)據(jù)為非法數(shù)據(jù)。然后,轉(zhuǎn)至步驟418。
[0090]步驟418:數(shù)據(jù)校驗(yàn)結(jié)束。
[0091]同樣的,校驗(yàn)過(guò)程結(jié)束后,如果接收數(shù)據(jù)為合法數(shù)據(jù),接收方則將對(duì)數(shù)據(jù)進(jìn)行后續(xù)的正常處理。如果接收數(shù)據(jù)為非法數(shù)據(jù),則丟棄此數(shù)據(jù),并可給出數(shù)據(jù)非法的提示。
[0092]應(yīng)用圖5第二個(gè)實(shí)施例的方法,能夠?qū)?shù)據(jù)進(jìn)行由淺入深的逐層校驗(yàn),提高了數(shù)據(jù)校驗(yàn)效率和數(shù)據(jù)接收的安全性。
[0093]以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其進(jìn)行限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),依然可以對(duì)前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明所要求保護(hù)的技術(shù)方案的精神和范圍。
【權(quán)利要求】
1.一種數(shù)據(jù)校驗(yàn)方法,其特征在于,接收方接收數(shù)據(jù),并執(zhí)行下述的校驗(yàn)過(guò)程: 獲取接收數(shù)據(jù)的ID,從已存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)中查找與接收數(shù)據(jù)的ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu);在查找到相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)后,獲取接收數(shù)據(jù)類型,與已存儲(chǔ)的合法數(shù)據(jù)類型作比較,判斷接收數(shù)據(jù)類型是否合法; 在接收數(shù)據(jù)類型合法時(shí),獲取具有限定值域的接收數(shù)據(jù)的值,與已存儲(chǔ)的該類型數(shù)據(jù)的合法值域作比較,判斷接收數(shù)據(jù)的值是否合法; 若查找到相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)、且接收數(shù)據(jù)類型及值均合法,判定接收數(shù)據(jù)為合法數(shù)據(jù);否則,判定接收數(shù)據(jù)為非法數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)校驗(yàn)方法,其特征在于,在查找到與接收數(shù)據(jù)的ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)后,先判斷該接收數(shù)據(jù)的長(zhǎng)度是否大于其數(shù)據(jù)結(jié)構(gòu)所限定的最大長(zhǎng)度;若否,再獲取該接收數(shù)據(jù)類型,若是,判定接收數(shù)據(jù)為非法數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)校驗(yàn)方法,其特征在于,在查找到與接收數(shù)據(jù)的ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)后,根據(jù)數(shù)據(jù)結(jié)構(gòu)依次獲取并判斷接收數(shù)據(jù)中的每個(gè)數(shù)據(jù)元素的類型及具有限定值域的數(shù)據(jù)元素的值;若所有數(shù)據(jù)元素的類型及值均合法,判定數(shù)據(jù)元素組成的接收數(shù)據(jù)為合法數(shù)據(jù),否則,判定該接收數(shù)據(jù)為非法數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)校驗(yàn)方法,其特征在于,接收數(shù)據(jù)中包含有定長(zhǎng)數(shù)據(jù)元素和變長(zhǎng)數(shù)據(jù)元素,還包括有標(biāo)記所述變長(zhǎng)數(shù)據(jù)元素長(zhǎng)度的標(biāo)記數(shù)據(jù)元素,在查找到與接收數(shù)據(jù)的ID相對(duì)應(yīng)的數(shù)據(jù)結(jié) 構(gòu)后,獲取接收數(shù)據(jù)中的標(biāo)記數(shù)據(jù)元素,然后根據(jù)該標(biāo)記數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu)依次獲取并判斷接收數(shù)據(jù)中的每個(gè)數(shù)據(jù)元素的類型及值。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的數(shù)據(jù)校驗(yàn)方法,其特征在于,接收方接收數(shù)據(jù)后,先對(duì)接收數(shù)據(jù)進(jìn)行傳輸準(zhǔn)確性校驗(yàn),在校驗(yàn)傳輸準(zhǔn)確后,再獲取接收數(shù)據(jù)的ID。
6.一種數(shù)據(jù)校驗(yàn)裝置,其特征在于,所述裝置包括: 主控單元,用于協(xié)調(diào)和控制裝置中的各單元的工作狀態(tài); 存儲(chǔ)單元,與所述主控單元連接,用于存儲(chǔ)需存儲(chǔ)的數(shù)據(jù); 數(shù)據(jù)結(jié)構(gòu)查找單元,與所述主控單元連接,用于獲取接收數(shù)據(jù)的ID,從已存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)中查找是否存在與接收數(shù)據(jù)的ID相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),并將結(jié)果傳輸至所述主控單元; 類型校驗(yàn)單元,與所述主控單元連接,用于獲取接收數(shù)據(jù)類型,與已存儲(chǔ)的合法數(shù)據(jù)類型作比較,判斷接收數(shù)據(jù)類型是否合法,并將結(jié)果傳輸至所述主控單元; 值校驗(yàn)單元,與所述主控單元連接,用于獲取具有限定值域的接收數(shù)據(jù)的值,與已存儲(chǔ)的該類型數(shù)據(jù)的合法值域作比較,判斷接收數(shù)據(jù)值是否合法,并將結(jié)果傳輸至所述主控單元; 合法性判定單元,與所述主控單元相連接,用于判定接收數(shù)據(jù)是否合法。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)校驗(yàn)裝置,其特征在于,所述裝置還包括: 數(shù)據(jù)長(zhǎng)度校驗(yàn)單元,與所述主控單元連接,用于判斷查找到數(shù)據(jù)結(jié)構(gòu)后的接收數(shù)據(jù)的長(zhǎng)度是否大于其數(shù)據(jù)結(jié)構(gòu)所限定的最大長(zhǎng)度,并將結(jié)果傳輸至所述主控單元。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)校驗(yàn)裝置,其特征在于,所述裝置還包括: 數(shù)據(jù)元素獲取單元,與所述主控單元連接,用于根據(jù)數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)結(jié)構(gòu)與標(biāo)記數(shù)據(jù)元素依次獲取接收數(shù)據(jù)中的每個(gè)數(shù)據(jù)元素; 所述類型校驗(yàn)單元對(duì)所述數(shù)據(jù)元素獲取單元所獲取的每個(gè)數(shù)據(jù)元素依次進(jìn)行校驗(yàn),所述值校驗(yàn)單元對(duì)所述數(shù)據(jù)元素獲取單元所獲取的每個(gè)具有限定值域的數(shù)據(jù)元素依次進(jìn)行校驗(yàn)。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)校驗(yàn)裝置,其特征在于,所述裝置還包括: 傳輸準(zhǔn)確性校驗(yàn),與所述主控單元連接,用于對(duì)接收數(shù)據(jù)進(jìn)行傳輸準(zhǔn)確性校驗(yàn),并將結(jié)果傳輸至所述主控單元。
10.一種移動(dòng)終端,包括數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方,其特征,所述移動(dòng)終端內(nèi)還設(shè)置有上述權(quán)利要求6至9中任一項(xiàng)所述的數(shù)據(jù)校驗(yàn)裝置,用于對(duì)所述數(shù)據(jù)接收方接收的數(shù)據(jù)進(jìn)行 校驗(yàn)。
【文檔編號(hào)】G06F17/30GK104008158SQ201410226574
【公開(kāi)日】2014年8月27日 申請(qǐng)日期:2014年5月27日 優(yōu)先權(quán)日:2014年5月27日
【發(fā)明者】王昕 , 柳明 申請(qǐng)人:青島海信移動(dòng)通信技術(shù)股份有限公司