一種在智能終端中校驗(yàn)軟件版權(quán)的方法及裝置制造方法
【專利摘要】本發(fā)明公開(kāi)了一種在智能終端中校驗(yàn)軟件版權(quán)的方法包括以下步驟:S1、初始化所述智能終端的軟硬件環(huán)境;S2、讀取智能終端中預(yù)存的硬件熔絲eFUSE標(biāo)記值;S3、根據(jù)eFUSE標(biāo)記值判斷智能終端中的寄存器是否完成熔絲;S4、若寄存器已經(jīng)完成熔絲,校驗(yàn)智能終端的軟件的版權(quán);若寄存器未完成熔絲,驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式處理,實(shí)施本發(fā)明的有益效果是,在智能終端開(kāi)機(jī)后自動(dòng)執(zhí)行軟件版權(quán)的校驗(yàn)整個(gè)過(guò)程,并且在校驗(yàn)不成功時(shí),提示升級(jí)所述軟件至授權(quán)版本,提升了大規(guī)模生產(chǎn)過(guò)程中的生產(chǎn)效率和產(chǎn)能,提升了產(chǎn)品競(jìng)爭(zhēng)力,本發(fā)明還公開(kāi)了一種在智能終端中校驗(yàn)軟件版權(quán)的裝置。
【專利說(shuō)明】一種在智能終端中校驗(yàn)軟件版權(quán)的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件安全【技術(shù)領(lǐng)域】,更具體地說(shuō),涉及一種在智能終端中校驗(yàn)軟件版權(quán)的方法及裝置。
【背景技術(shù)】
[0002]隨著智能終端比如智能手機(jī)、平板電腦等的發(fā)展,安裝在這些智能終端中的軟件也在不斷發(fā)展和更新,為了吸引消費(fèi)者的購(gòu)買,各終端設(shè)計(jì)生產(chǎn)廠商也在推出了具有自己特色的軟件。這些軟件通常是以固件的形式內(nèi)置在智能終端中,消費(fèi)者在購(gòu)買這些智能終端后,很多人都會(huì)尋求更新固件,比如從一種操作系統(tǒng)軟件改為另外一種操作系統(tǒng)軟件,或者從操作系統(tǒng)軟件的一個(gè)版本更新到另一個(gè)版本。這種自行更新固件的行為或破壞智能終端的操作系統(tǒng)的穩(wěn)定性和安全性,進(jìn)而影響到了終端設(shè)計(jì)生產(chǎn)廠商的利益。
[0003]為了防止使用者自行更新固件,現(xiàn)有技術(shù)的智能終端校驗(yàn)軟件的版權(quán)技術(shù)普遍采用了安全啟動(dòng)(Secure Boot)結(jié)合硬件熔絲(eFUSE)保護(hù)機(jī)制來(lái)判定智能終端軟件版本是否為授權(quán)版本,如果為非授權(quán)版本,則不允許智能終端繼續(xù)開(kāi)機(jī)。
[0004]當(dāng)前的檢驗(yàn)智能終端軟件的版權(quán)的方式,主要是通過(guò)以下步驟實(shí)現(xiàn):首先通過(guò)專業(yè)夾具固定住智能終端,該夾具上帶有eFUSE控制器電源,當(dāng)終端固定在夾具上時(shí),由夾具上的針腳連接eFUSE控制器電源以實(shí)現(xiàn)供電;通過(guò)USB數(shù)據(jù)線或其他連線連接終端和安裝有仿真器或者專用熔絲軟件的PC,然后PC端的仿真器或?qū)S萌劢z軟件發(fā)送指令讓智能終端進(jìn)入eFUSE模式,進(jìn)入該模式后,再通過(guò)相關(guān)指令從終端讀取相應(yīng)版權(quán)信息判斷所述智能終端的軟件是否為授權(quán)版本。
[0005]可以看出,以上操作對(duì)于時(shí)序有特殊要求,而且需要專業(yè)的外部工具配合,而且在操作上也比較繁瑣,對(duì)操作人員要求很高,對(duì)智能終端的大規(guī)模生產(chǎn)來(lái)說(shuō),生產(chǎn)設(shè)計(jì)廠商不僅會(huì)因此增加工位、使用多種工具也會(huì)帶來(lái)高額成本,同時(shí)因軟件的版權(quán)校驗(yàn)的過(guò)程時(shí)間較長(zhǎng),大大影響相關(guān)廠商的生產(chǎn)效率和產(chǎn)能。
【發(fā)明內(nèi)容】
[0006]本發(fā)明要解決的技術(shù)問(wèn)題在于,針對(duì)現(xiàn)有技術(shù)的上述智能終端軟件的版權(quán)校驗(yàn)方法需要專業(yè)的工具配合,操作繁瑣,對(duì)操作人員要求高,以及在智能終端的大規(guī)模生產(chǎn)過(guò)程中,生產(chǎn)設(shè)計(jì)廠商因此增加工作崗位、使用多種工具帶來(lái)的高額成本,同時(shí)因軟件的版權(quán)校驗(yàn)的過(guò)程時(shí)間較長(zhǎng),大大影響相關(guān)廠商的生產(chǎn)效率和產(chǎn)能的缺陷,提供一種在智能終端中校驗(yàn)軟件版權(quán)的方法及裝置。
[0007]本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:構(gòu)造一種在智能終端中校驗(yàn)軟件版權(quán)的方法,包括以下步驟:
[0008]S1、初始化所述智能終端的軟硬件環(huán)境;
[0009]S2、讀取所述智能終端中預(yù)存的硬件熔絲eFUSE標(biāo)記值;
[0010]S3、根據(jù)所述eFUSE標(biāo)記值判斷所述智能終端中的寄存器是否完成熔絲;[0011]S4、若所述寄存器已經(jīng)完成熔絲,校驗(yàn)所述智能終端的軟件的版權(quán);若所述寄存器未完成熔絲,驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式處理。
[0012]在本發(fā)明所述的在智能終端中校驗(yàn)軟件版權(quán)的方法中,所述步驟S4中,校驗(yàn)所述智能終端的軟件的版權(quán)包括以下子步驟:
[0013]S41a、讀取所述軟件的版權(quán)信息;
[0014]S42a、根據(jù)所述版權(quán)信息判斷所述軟件是否經(jīng)過(guò)授權(quán);
[0015]S43a、如果所述軟件經(jīng)過(guò)授權(quán),則校驗(yàn)通過(guò),所述智能終端正常開(kāi)機(jī);如果未經(jīng)授權(quán),則提示所述軟件未經(jīng)授權(quán),并提示升級(jí)所述軟件至授權(quán)版本。
[0016]在本發(fā)明所述的在智能終端中校驗(yàn)軟件版權(quán)的方法中,所述子步驟S41a中,所述軟件的版權(quán)信息包括所述軟件的被授權(quán)的密鑰和證書(shū);所述子步驟S42a包括以下操作:
[0017]判斷所述軟件的被授權(quán)的密鑰和證書(shū)是否與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值一致,如果所述軟件的被授權(quán)的密鑰和證書(shū)與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值一致,則判斷所述軟件已經(jīng)經(jīng)過(guò)授權(quán),如果所述軟件的被授權(quán)的密鑰和證書(shū)與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值不一致或者所述軟件沒(méi)有被授權(quán)的密鑰和證書(shū),則判斷所述軟件未經(jīng)授權(quán)。
[0018]在本發(fā)明所述的在智能終端中校驗(yàn)軟件版權(quán)的方法中,所述步驟S4中,驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式處理包括以下子步驟:
[0019]S4lb、驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式;
[0020]S42b、控制內(nèi)置eFUSE控制電源的開(kāi)啟;
[0021]S43b、根據(jù)所述智能終端的軟件的授權(quán)秘鑰和證書(shū),對(duì)相應(yīng)的eFUSE寄存器賦值并在所述eFUSE寄存器中寫(xiě)入所述賦值;
[0022]S44b、讀回寫(xiě)入eFUSE寄存器中的所述賦值,根據(jù)讀回的所述賦值判斷所述步驟S43b中寫(xiě)入操作是否成功;
[0023]S45b、如果所述寫(xiě)入操作成功,設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài),如果所述寫(xiě)入操作不成功,設(shè)置所述eFUSE標(biāo)記值為未完成熔絲的狀態(tài)。
[0024]在本發(fā)明所述的在智能終端中校驗(yàn)軟件版權(quán)的方法中,所述設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài)步驟之后,還包括以下步驟:
[0025]S5、所述設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài)步驟之后,重新啟動(dòng)所述智能終端,轉(zhuǎn)到步驟SI,繼續(xù)執(zhí)行步驟SI至S4,完成校驗(yàn)所述智能終端的軟件的版權(quán)。
[0026]在本發(fā)明所述的在智能終端中校驗(yàn)軟件版權(quán)的方法中,所述步驟S4還包括以下子步驟:步驟S40b、在所述步驟S41b之前,預(yù)先設(shè)置循環(huán)執(zhí)行所述智能終端進(jìn)入eFUSE模式處理的次數(shù);
[0027]S46b、在所述步驟S45b之后,將所述智能終端進(jìn)入eFUSE模式處理的次數(shù)自減1,并判斷所述智能終端進(jìn)入eFUSE模式處理的次數(shù)是否等于O ;如果此時(shí)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)為0,則跳出所述eFUSE模式,并結(jié)束校驗(yàn)流程;如果此時(shí)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)不為0,則轉(zhuǎn)到步驟S41b,繼續(xù)執(zhí)行步驟S41b至S46b。
[0028]實(shí)施本發(fā)明的在智能終端中校驗(yàn)軟件版權(quán)的方法,具有以下有益效果:通過(guò)本發(fā)明實(shí)施例提供的在智能終端中校驗(yàn)軟件版權(quán)的方法,可以有效解決現(xiàn)有技術(shù)的上述智能終端的軟件版權(quán)的校驗(yàn)方法需要專業(yè)的工具配合,操作繁瑣,對(duì)操作人員要求高,以及在智能終端的大規(guī)模生產(chǎn)過(guò)程中,生產(chǎn)設(shè)計(jì)廠商因此增加工作崗位、使用多種工具帶來(lái)的高額成本,同時(shí)因智能終端軟件的版權(quán)的校驗(yàn)過(guò)程時(shí)間較長(zhǎng),大大影響相關(guān)廠商的生產(chǎn)效率和產(chǎn)能的缺陷,不再依賴于諸多外部輔助工具以及不需要太多人員進(jìn)行操作,所有的操作由智能終端自身獨(dú)立自動(dòng)完成,因此,實(shí)施本發(fā)明實(shí)施例提供的技術(shù)方案操作簡(jiǎn)便、快捷,不同于現(xiàn)有技術(shù)的軟件版權(quán)的校驗(yàn)過(guò)程中需要注意輔助工具的協(xié)同以及特定操作時(shí)序,整個(gè)軟件版權(quán)的校驗(yàn)過(guò)程在終端開(kāi)機(jī)時(shí)自動(dòng)執(zhí)行,并且可以提示最終校驗(yàn)結(jié)果,提升了大規(guī)模生產(chǎn)過(guò)程中的生產(chǎn)效率和產(chǎn)能,提升了產(chǎn)品競(jìng)爭(zhēng)力。
[0029]本發(fā)明還提供一種在智能終端中校驗(yàn)軟件版權(quán)的裝置,包括以下模塊:
[0030]初始化模塊,用于初始化所述智能終端的軟硬件環(huán)境;
[0031]讀取狀態(tài)模塊,用于讀取所述智能終端中預(yù)存的硬件熔絲eFUSE標(biāo)記值;
[0032]判斷模塊,用于根據(jù)所述eFUSE標(biāo)記值判斷所述智能終端中的寄存器是否完成熔絲;
[0033]校驗(yàn)?zāi)K,用于在若所述寄存器已經(jīng)完成熔絲時(shí)校驗(yàn)所述智能終端的軟件的版權(quán);以及在所述寄存器未完成熔絲時(shí)驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式處理。
[0034]在本發(fā)明所述的在智能終端中校驗(yàn)軟件版權(quán)的裝置中,所述校驗(yàn)?zāi)K包括以下單元:
[0035]信息讀取單元,用于讀取所述軟件的版權(quán)信息;
[0036]授權(quán)判斷單元,用于根據(jù)所述版權(quán)信息判斷所述軟件是否經(jīng)過(guò)授權(quán);
[0037]校驗(yàn)執(zhí)行單元,用于在所述軟件經(jīng)過(guò)授權(quán)時(shí),確定校驗(yàn)通過(guò),并驅(qū)動(dòng)所述智能終端正常開(kāi)機(jī);以及在所述軟件未經(jīng)授權(quán)時(shí),提示所述軟件未經(jīng)授權(quán),并提示升級(jí)所述軟件至授權(quán)版本。
[0038]在本發(fā)明所述的在智能終端中校驗(yàn)軟件版權(quán)的裝置中,所述信息讀取單元中,所述軟件的版權(quán)信息包括所述軟件的被授權(quán)的密鑰和證書(shū);
[0039]所述授權(quán)判斷單元包括:
[0040]授權(quán)狀態(tài)判斷子單元,用于判斷所述軟件的被授權(quán)的密鑰和證書(shū)是否與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值一致,如果所述軟件的被授權(quán)的密鑰和證書(shū)與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值一致,則據(jù)此繼續(xù)判斷所述軟件已經(jīng)經(jīng)過(guò)授權(quán),如果所述軟件的被授權(quán)的密鑰和證書(shū)與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值不一致或者所述軟件沒(méi)有被授權(quán)的密鑰和證書(shū),則據(jù)此繼續(xù)判斷所述軟件未經(jīng)授權(quán)。
[0041 ] 在本發(fā)明所述的在智能終端中校驗(yàn)軟件版權(quán)的裝置中,所述校驗(yàn)?zāi)K包括以下單元:
[0042]驅(qū)動(dòng)單元,用于驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式;
[0043]電源控制單元,用于控制內(nèi)置eFUSE控制電源的開(kāi)啟;
[0044]賦值單元,用于根據(jù)所述智能終端的軟件的授權(quán)秘鑰和證書(shū),對(duì)相應(yīng)的eFUSE寄存器賦值并在所述eFUSE寄存器中寫(xiě)入所述賦值;
[0045]寫(xiě)入結(jié)果判斷單元,用于讀回寫(xiě)入eFUSE寄存器中的所述賦值,根據(jù)讀回的所述賦值判斷所述賦值單元中寫(xiě)入操作是否成功;
[0046]標(biāo)記設(shè)置單元,用于在所述寫(xiě)入操作成功時(shí),設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài),以及在所述寫(xiě)入操作不成功時(shí),設(shè)置所述eFUSE標(biāo)記值為未完成熔絲的狀態(tài)。
[0047]在本發(fā)明所述的在智能終端中校驗(yàn)軟件版權(quán)的裝置中,所述智能終端中校驗(yàn)軟件版權(quán)的裝置還包括,
[0048]跳轉(zhuǎn)執(zhí)行模塊,用于在標(biāo)記設(shè)置單元設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài)之后,重新啟動(dòng)所述智能終端,轉(zhuǎn)到執(zhí)行初始化模塊,繼續(xù)執(zhí)行初始化模塊、讀取狀態(tài)模塊、判斷模塊、校驗(yàn)?zāi)K,直到完成校驗(yàn)所述智能終端的軟件的版權(quán)。
[0049]在本發(fā)明所述的在智能終端中校驗(yàn)軟件版權(quán)的裝置中,所述校驗(yàn)?zāi)K還包括,
[0050]循環(huán)次數(shù)設(shè)置單元,用于在執(zhí)行驅(qū)動(dòng)單元之前,預(yù)先設(shè)置循環(huán)執(zhí)行所述智能終端進(jìn)入eFUSE模式處理的次數(shù);
[0051]循環(huán)單元,用于在執(zhí)行標(biāo)記設(shè)置單元之后,對(duì)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)自減1,并判斷所述智能終端進(jìn)入eFUSE模式處理的次數(shù)是否等于O ;如果此時(shí)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)為0,則跳出所述eFUSE模式,并結(jié)束校驗(yàn);如果此時(shí)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)不為0,則轉(zhuǎn)到執(zhí)行驅(qū)動(dòng)單元,繼續(xù)執(zhí)行驅(qū)動(dòng)單元、電源控制單元、賦值單元、寫(xiě)入結(jié)果判斷單元、標(biāo)記設(shè)置單元、循環(huán)單元。
[0052]實(shí)施本發(fā)明的在智能終端中校驗(yàn)軟件版權(quán)的裝置,具有以下有益效果:通過(guò)本發(fā)明實(shí)施例提供的在智能終端中校驗(yàn)軟件版權(quán)的裝置,可以有效解決現(xiàn)有技術(shù)的上述智能終端的軟件版權(quán)的校驗(yàn)方法需要專業(yè)的工具配合,操作繁瑣,對(duì)操作人員要求高,以及在智能終端的大規(guī)模生產(chǎn)過(guò)程中,生產(chǎn)設(shè)計(jì)廠商因此增加工作崗位、使用多種工具帶來(lái)的高額成本,同時(shí)因智能終端校驗(yàn)軟件的版權(quán)過(guò)程時(shí)間較長(zhǎng),大大影響相關(guān)廠商的生產(chǎn)效率和產(chǎn)能的缺陷,不再依賴于諸多外部輔助工具以及不需要太多人員進(jìn)行操作,所有的操作由智能終端自身獨(dú)立自動(dòng)完成,因此,實(shí)施本發(fā)明實(shí)施例提供的技術(shù)方案操作簡(jiǎn)便、快捷,不同于現(xiàn)有技術(shù)的軟件版權(quán)的校驗(yàn)過(guò)程中需要注意輔助工具的協(xié)同以及特定操作時(shí)序,整個(gè)軟件版權(quán)的校驗(yàn)過(guò)程在終端開(kāi)機(jī)時(shí)自動(dòng)執(zhí)行,并且可以提示最終校驗(yàn)結(jié)果,提升了大規(guī)模生產(chǎn)過(guò)程中的生產(chǎn)效率和產(chǎn)能,提升了產(chǎn)品競(jìng)爭(zhēng)力。
【專利附圖】
【附圖說(shuō)明】
[0053]下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明,附圖中:
[0054]圖1是本發(fā)明一個(gè)較佳實(shí)施例提供的在智能終端中校驗(yàn)軟件版權(quán)的方法流程圖;
[0055]圖2是本發(fā)明一個(gè)較佳實(shí)施例提供的在圖1所示的步驟S4中校驗(yàn)所述智能終端的軟件的版權(quán)的子步驟的具體流程圖;
[0056]圖3是本發(fā)明一個(gè)較佳實(shí)施例提供的在圖1所示的步驟S4中驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式處理的子步驟的具體流程圖;
[0057]圖4是本發(fā)明一個(gè)較佳實(shí)施例提供的在智能終端中校驗(yàn)軟件版權(quán)的裝置的結(jié)構(gòu)示意圖;
[0058]圖5是本發(fā)明一個(gè)較佳實(shí)施例提供的圖4所示的校驗(yàn)?zāi)K4的結(jié)構(gòu)示意圖;
[0059]圖6是本發(fā)明另一個(gè)較佳實(shí)施例提供的圖4所示的校驗(yàn)?zāi)K4的結(jié)構(gòu)示意圖;
[0060]圖7是本發(fā)明一個(gè)較佳實(shí)施例提供的在智能終端中校驗(yàn)軟件版權(quán)的方法流程圖。
【具體實(shí)施方式】
[0061]為了對(duì)本發(fā)明的技術(shù)特征、目的和效果有更加清楚的理解,現(xiàn)對(duì)照附圖詳細(xì)說(shuō)明本發(fā)明的【具體實(shí)施方式】。[0062]如圖1所示,在本發(fā)明實(shí)施例提供的在智能終端中校驗(yàn)軟件版權(quán)的方法第一實(shí)施例中,包括以下步驟:
[0063]S1、初始化所述智能終端的軟硬件環(huán)境;這個(gè)步驟可以通過(guò)運(yùn)行bootloadeK引導(dǎo)加載)程序來(lái)實(shí)現(xiàn),bootloader是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過(guò)這段小程序,可以完成初始化硬件設(shè)備、建立內(nèi)存空間映射圖,從而將智能終端的軟硬件環(huán)境帶到一個(gè)合適狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。在智能終端中,通常并沒(méi)有像BIOS (basic input output system,基本輸入輸出系統(tǒng))那樣的固件程序,因此整個(gè)智能終端的系統(tǒng)加載啟動(dòng)任務(wù)就完全由BootLoader來(lái)完成。比如在一個(gè)基于ARM7TDMIcore的嵌入式系統(tǒng)中,系統(tǒng)在上電或復(fù)位時(shí)通常都從地址0x00000000處開(kāi)始執(zhí)行,而在這個(gè)地址處安排的通常就是系統(tǒng)的BootLoader程序。當(dāng)然本步驟的SI的完成也不局限于通過(guò)運(yùn)行bootloader程序來(lái)完成所述智能終端的軟硬件環(huán)境,可以通過(guò)其他程序來(lái)實(shí)現(xiàn)。
[0064]S2、讀取所述智能終端中預(yù)存的硬件熔絲eFUSE標(biāo)記值;在智能終端預(yù)先存儲(chǔ)硬件熔絲eFUSE標(biāo)記值,所述eFUSE標(biāo)記值可以通過(guò)一個(gè)比特位來(lái)標(biāo)記,比如I和O,或者也可以通過(guò)一個(gè)字節(jié)來(lái)標(biāo)記,只要能標(biāo)記寄存器的狀態(tài)(也就是是否完成熔絲)即可。
[0065]S3、根據(jù)所述eFUSE標(biāo)記值判斷所述寄存器是否完成熔絲;所述eFUSE標(biāo)記值如S2步驟所述,可以是I和0,比如eFUSE標(biāo)記值為I表示寄存器完成熔絲,O表示寄存器沒(méi)有完成熔絲;或者eFUSE標(biāo)記值為O表示寄存器完成熔絲,I表示寄存器沒(méi)有完成熔絲,當(dāng)然也可以通過(guò)一個(gè)字節(jié)或者幾個(gè)字節(jié)的值來(lái)表示eFUSE標(biāo)記值,從而判斷寄存器是否完成熔絲。
[0066]S4、若所述寄存器已經(jīng)完成熔絲,校驗(yàn)所述智能終端的軟件的版權(quán);若所述寄存器未完成熔絲,驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式處理。值得注意的是,寄存器熔絲是一個(gè)不可逆轉(zhuǎn)的過(guò)程,如果已經(jīng)完成了熔絲,就不可以再次對(duì)寄存器進(jìn)行熔絲,而且所述智能終端的軟件可以是一個(gè),也可以有很多個(gè),而且針對(duì)每個(gè)軟件,也不是將該軟件所有的信息都寫(xiě)入相關(guān)寄存器,只需要寫(xiě)入該軟件需要保護(hù)的部分即可,因此相關(guān)寄存器可以是一個(gè),也可以是兩個(gè),也可以是兩個(gè)以上,這是根據(jù)軟件中哪些部分需要被保護(hù)來(lái)確定的。
[0067]上述所有步驟均在智能終端內(nèi)部完成,并不需要借助外部專門工具輔助,比如專業(yè)夾具、eFUSE控制器電源、外部PC和仿真器或PC上的專用熔絲軟件和USB數(shù)據(jù)線等。可以看出,通過(guò)在智能終端中預(yù)先存儲(chǔ)硬件熔絲eFUSE標(biāo)記值,配合其他模塊,可以實(shí)現(xiàn)在智能終端內(nèi)部實(shí)現(xiàn)自動(dòng)校驗(yàn)軟件的版權(quán),而現(xiàn)有技術(shù)通過(guò)專業(yè)夾具配合安裝在PC上的專門熔絲軟件和專業(yè)夾具上的eFUSE控制器電源,整個(gè)校驗(yàn)過(guò)程需要通過(guò)人工對(duì)所有軟件一一校驗(yàn),費(fèi)時(shí)費(fèi)力。
[0068]較佳地,如圖2所示,圖1所示的所述步驟S4中,校驗(yàn)所述智能終端的軟件的版權(quán)包括以下子步驟:
[0069]S41a、讀取所述軟件的版權(quán)信息;值得注意的是,這里的版權(quán)信息并不局限于知識(shí)產(chǎn)權(quán)法意義上的著作權(quán),而是指一切智能終端生成設(shè)計(jì)廠商所想要保護(hù)的,不想被他人破解的信息。
[0070]S42a、根據(jù)所述版權(quán)信息判斷所述軟件是否經(jīng)過(guò)授權(quán);
[0071]S43a、如果所述軟件經(jīng)過(guò)授權(quán),則校驗(yàn)通過(guò),所述智能終端正常開(kāi)機(jī);如果未經(jīng)授權(quán),則提示所述軟件未經(jīng)授權(quán),并提示升級(jí)所述軟件至授權(quán)版本。[0072]較佳地,所述在智能終端中校驗(yàn)軟件版權(quán)的方法中,
[0073]所述子步驟S41a中,所述軟件的版權(quán)信息包括所述軟件的被授權(quán)的密鑰和證書(shū);這里所說(shuō)的授權(quán)的密鑰和證書(shū),是事先已經(jīng)確定的,可以通過(guò)在網(wǎng)上下載或者由軟件的供應(yīng)商提供。
[0074]所述子步驟S42a包括以下操作:
[0075]判斷所述軟件的被授權(quán)的密鑰和證書(shū)是否與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值一致,如果所述軟件的被授權(quán)的密鑰和證書(shū)與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值一致,則判斷所述軟件已經(jīng)經(jīng)過(guò)授權(quán),如果所述軟件的被授權(quán)的密鑰和證書(shū)與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值不一致或者所述軟件沒(méi)有被授權(quán)的密鑰和證書(shū),則判斷所述軟件未經(jīng)授權(quán)。因?yàn)樗黾拇嫫髦械膮?shù)值是根據(jù)所述軟件的被授權(quán)的密鑰和證書(shū)來(lái)寫(xiě)入的,所以,只要是經(jīng)過(guò)授權(quán)的軟件,則所述軟件的被授權(quán)的密鑰和證書(shū)與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值一致,否則說(shuō)明所述軟件沒(méi)有經(jīng)過(guò)授權(quán),可能是使用者擅自更換所述智能終端的軟件,而且擅自更換的軟件是未經(jīng)授權(quán)的。
[0076]較佳地,如圖3所示,圖1所示的所述步驟S4中,驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式處理包括以下子步驟:
[0077]S41b、驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式;可以知道,驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式處理與驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式不是同一個(gè)概念,驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式只是驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式處理的一個(gè)步驟。
[0078]S42b、控制內(nèi)置eFUSE控制電源的開(kāi)啟;因?yàn)楝F(xiàn)有技術(shù)中eFUSE控制電源必須通過(guò)專業(yè)夾具上的專門電源來(lái)供電,還需要通過(guò)專門的夾具固定好所述智能終端,再通過(guò)專門的夾具的針腳來(lái)完成對(duì)所述智能終端的熔絲,因此非常不便,而本發(fā)明實(shí)施例提供的較佳實(shí)施例的該步驟,可以利用在所述智能終端內(nèi)部的特定程序,通過(guò)智能終端的主板電源完成熔絲需要的供電,也就是eFUSE控制電源實(shí)際上是所述智能終端本身的電源,不但省去了專門的夾具,也省去了專業(yè)夾具上的專門電源供電。
[0079]S43b、根據(jù)所述智能終端的軟件的授權(quán)秘鑰和證書(shū),對(duì)相應(yīng)的eFUSE寄存器賦值并在所述eFUSE寄存器中寫(xiě)入所述賦值;因?yàn)檫@個(gè)對(duì)驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式處理,是因?yàn)榧拇嫫鳑](méi)有完成熔絲,說(shuō)明相應(yīng)的eFUSE寄存器沒(méi)有寫(xiě)入與所述智能終端的軟件的授權(quán)秘鑰和證書(shū)相對(duì)應(yīng)的值,因此需要根據(jù)所述智能終端的軟件的授權(quán)秘鑰和證書(shū),對(duì)相應(yīng)的eFUSE寄存器賦值并在所述eFUSE寄存器中寫(xiě)入所述賦值?,F(xiàn)有技術(shù)中,通過(guò)安裝在外部PC上的仿真器或PC上的專用熔絲軟件等其他外部工具讀取當(dāng)前智能終端終端的寄存器標(biāo)記值值,判定是否已經(jīng)熔絲或哪些寄存器需要熔絲,然后再結(jié)合當(dāng)前智能終端產(chǎn)品被授權(quán)的秘鑰和證書(shū),對(duì)相應(yīng)的寄存器賦值,再把這些值寫(xiě)入到這些寄存器,但是本發(fā)明提供的較佳實(shí)施例的該步驟,只需要在所述智能內(nèi)部的軟件流程的執(zhí)行,就可以對(duì)在所述eFUSE寄存器中寫(xiě)入所述賦值。
[0080]S44b、讀回寫(xiě)入eFUSE寄存器中的所述賦值,根據(jù)讀回的所述賦值判斷所述步驟S43b中寫(xiě)入操作是否成功;在所述eFUSE寄存器中寫(xiě)入所述賦值,還要判斷寫(xiě)入是否正確,是否成功,因?yàn)樾枰獜膃FUSE寄存器中讀回所述賦值,根據(jù)讀回的所述賦值來(lái)判斷在所述eFUSE寄存器中寫(xiě)入所述賦值是否成功。
[0081]S45b、如果所述寫(xiě)入操作成功,設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài),如果所述寫(xiě)入操作不成功,設(shè)置所述eFUSE標(biāo)記值為未完成熔絲的狀態(tài)。
[0082]較佳地,還包括以下步驟:S5、所述設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài)步驟之后,重新啟動(dòng)所述智能終端,然后轉(zhuǎn)到圖1所示的步驟SI,繼續(xù)執(zhí)行步驟SI至S4,直到完成校驗(yàn)所述智能終端的軟件的版權(quán)??梢岳斫獾氖牵魏伪景l(fā)明實(shí)施例提供的對(duì)SI至S4的擴(kuò)展都可以包含在本實(shí)施例中。因?yàn)橐呀?jīng)成功在eFUSE寄存器中寫(xiě)入所述智能終端的軟件的授權(quán)秘鑰和證書(shū),在經(jīng)過(guò)執(zhí)行設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài)步驟之后,轉(zhuǎn)到步驟SI,繼續(xù)執(zhí)行步驟SI至S4,所述智能終端的軟件的版權(quán)會(huì)成功的通過(guò)校驗(yàn)。
[0083]較佳地,圖3所示的所述步驟S4還包括以下子步驟:
[0084]步驟S40b、在所述步驟S41b之前,預(yù)先設(shè)置循環(huán)執(zhí)行所述智能終端進(jìn)入eFUSE模式處理的次數(shù);
[0085]S46b、在所述步驟S45b之后,將所述智能終端進(jìn)入eFUSE模式處理的次數(shù)自減1,并判斷所述智能終端進(jìn)入eFUSE模式處理的次數(shù)是否等于O ;如果此時(shí)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)為0,則跳出所述eFUSE模式,并結(jié)束校驗(yàn)流程;如果此時(shí)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)不為0,則轉(zhuǎn)到步驟S41b,繼續(xù)執(zhí)行步驟S41b至S46b。這樣是做為了增加根據(jù)所述智能終端的軟件的授權(quán)秘鑰和證書(shū),對(duì)相應(yīng)的eFUSE寄存器賦值并在所述eFUSE寄存器中寫(xiě)入所述賦值,同時(shí)也不至于一直嘗試寫(xiě)入所述賦值,避免陷入死循環(huán)。
[0086]實(shí)施本發(fā)明的在智能終端中校驗(yàn)軟件版權(quán)的方法,具有以下有益效果:通過(guò)本發(fā)明實(shí)施例提供的在智能終端中校驗(yàn)軟件版權(quán)的方法,可以有效解決現(xiàn)有技術(shù)的上述智能終端的軟件版權(quán)的校驗(yàn)方法需要專業(yè)的工具配合,操作繁瑣,對(duì)操作人員要求高,以及在智能終端的大規(guī)模生產(chǎn)過(guò)程中,生產(chǎn)設(shè)計(jì)廠商因此增加工作崗位、使用多種工具帶來(lái)的高額成本,同時(shí)因智能終端校驗(yàn)軟件的版權(quán)過(guò)程時(shí)間較長(zhǎng),大大影響相關(guān)廠商的生產(chǎn)效率和產(chǎn)能的缺陷,不再依賴于諸多外部輔助工具以及不需要太多人員進(jìn)行操作,所有的操作由智能終端自身獨(dú)立自動(dòng)完成,因此,實(shí)施本發(fā)明實(shí)施例提供的技術(shù)方案操作簡(jiǎn)便、快捷,不同于現(xiàn)有技術(shù)的軟件版權(quán)的校驗(yàn)過(guò)程中需要注意輔助工具的協(xié)同以及特定操作時(shí)序,整個(gè)軟件版權(quán)的校驗(yàn)過(guò)程在終端開(kāi)機(jī)時(shí)自動(dòng)執(zhí)行,并且可以提示最終校驗(yàn)結(jié)果,提升了大規(guī)模生產(chǎn)過(guò)程中的生產(chǎn)效率和產(chǎn)能,提升了產(chǎn)品競(jìng)爭(zhēng)力。
[0087]圖4所示的本發(fā)明一個(gè)較佳實(shí)施例提供的在智能終端中校驗(yàn)軟件版權(quán)的裝置10的結(jié)構(gòu)示意圖中,包括以下模塊:
[0088]初始化模塊1,用于初始化所述智能終端的軟硬件環(huán)境;初始化模塊I可以通過(guò)調(diào)用bootloader(引導(dǎo)加載)程序來(lái)實(shí)現(xiàn),bootloader是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過(guò)這段小程序,可以完成初始化硬件設(shè)備、建立內(nèi)存空間映射圖,從而將智能終端的軟硬件環(huán)境帶到一個(gè)合適狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。在智能終端中,通常并沒(méi)有像BIOS (basic input output system,基本輸入輸出系統(tǒng))那樣的固件程序,因此整個(gè)智能終端的系統(tǒng)加載啟動(dòng)任務(wù)就完全由BootLoader來(lái)完成。比如在一個(gè)基于ARM7TDMI core的嵌入式系統(tǒng)中,系統(tǒng)在上電或復(fù)位時(shí)通常都從地址0x00000000處開(kāi)始執(zhí)行,而在這個(gè)地址處安排的通常就是系統(tǒng)的BootLoader程序。當(dāng)然初始化模塊I不限于調(diào)用bootloader程序來(lái)完成所述智能終端的軟硬件環(huán)境,可以通過(guò)調(diào)用其他程序來(lái)實(shí)現(xiàn)。[0089]讀取狀態(tài)模塊2,用于讀取所述智能終端中預(yù)存的硬件熔絲eFUSE標(biāo)記值;在智能終端預(yù)先存儲(chǔ)硬件熔絲eFUSE標(biāo)記值,所述eFUSE標(biāo)記值可以通過(guò)一個(gè)比特位來(lái)標(biāo)記,比如I和0,或者也可以通過(guò)一個(gè)字節(jié)來(lái)標(biāo)記,只要能標(biāo)記寄存器的狀態(tài)(也就是是否完成熔絲)即可。
[0090]判斷模塊3,用于根據(jù)所述eFUSE標(biāo)記值判斷所述智能終端中的寄存器是否完成熔絲;所述eFUSE標(biāo)記值如S2步驟所述,可以是I和0,比如eFUSE標(biāo)記值為I表示寄存器完成熔絲,O表示寄存器沒(méi)有完成熔絲;或者eFUSE標(biāo)記值為O表示寄存器完成熔絲,I表示寄存器沒(méi)有完成熔絲,當(dāng)然也可以通過(guò)一個(gè)字節(jié)或者幾個(gè)字節(jié)的值來(lái)表示eFUSE標(biāo)記值,從而判斷寄存器是否完成熔絲。
[0091]校驗(yàn)?zāi)K4,用于在若所述寄存器已經(jīng)完成熔絲時(shí)校驗(yàn)所述智能終端的軟件的版權(quán);以及在所述寄存器未完成熔絲時(shí)驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式處理。值得注意的是,寄存器熔絲是一個(gè)不可逆轉(zhuǎn)的過(guò)程,如果已經(jīng)完成了熔絲,就不可以再次對(duì)寄存器進(jìn)行熔絲,而且所述智能終端的軟件可以是一個(gè),也可以有很多個(gè),而且針對(duì)每個(gè)軟件,也不是都其的信息寫(xiě)入相關(guān)寄存器,因此相關(guān)寄存器可以是一個(gè),也可以是兩個(gè),也可以是兩個(gè)以上,這是根據(jù)軟件中哪些部分需要被保護(hù)來(lái)確定的。
[0092]可以看出,通過(guò)在智能終端中預(yù)先存儲(chǔ)硬件熔絲eFUSE標(biāo)記值,配合其他模塊,可以實(shí)現(xiàn)在智能終端內(nèi)部實(shí)現(xiàn)自動(dòng)校驗(yàn)軟件的版權(quán),而現(xiàn)有技術(shù)則沒(méi)有只能通過(guò)專業(yè)夾具配合安裝在PC上的專業(yè)熔絲軟件和專業(yè)夾具上的eFUSE控制器電源,整個(gè)校驗(yàn)過(guò)程需要通過(guò)人工對(duì)所有軟件一一校驗(yàn),費(fèi)時(shí)費(fèi)力。
[0093]較佳地,如圖5所示,圖4所示的校驗(yàn)?zāi)K4的結(jié)構(gòu)示意圖,包括以下單元:
[0094]信息讀取單元41a,用于讀取所述軟件的版權(quán)信息;值得注意的是,這里的版權(quán)信息并不局限于知識(shí)產(chǎn)權(quán)法意義上的著作權(quán),而是指一切智能終端生成設(shè)計(jì)廠商所想要保護(hù)的,不想被他人破解的信息。
[0095]授權(quán)判斷單元42a,用于根據(jù)所述版權(quán)信息判斷所述軟件是否經(jīng)過(guò)授權(quán);
[0096]校驗(yàn)執(zhí)行單元43a,用于在所述軟件經(jīng)過(guò)授權(quán)時(shí),確定校驗(yàn)通過(guò),并驅(qū)動(dòng)所述智能終端正常開(kāi)機(jī);以及在所述軟件未經(jīng)授權(quán)時(shí),提示所述軟件未經(jīng)授權(quán),并提示升級(jí)所述軟件至授權(quán)版本。
[0097]較佳地,所述信息讀取單元中41a中,所述軟件的版權(quán)信息包括所述軟件的被授權(quán)的密鑰和證書(shū);
[0098]所述授權(quán)判斷單元42a包括:
[0099]授權(quán)狀態(tài)判斷子單元,用于判斷所述軟件的被授權(quán)的密鑰和證書(shū)是否與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值一致,如果所述軟件的被授權(quán)的密鑰和證書(shū)與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值一致,則據(jù)此繼續(xù)判斷所述軟件已經(jīng)經(jīng)過(guò)授權(quán),如果所述軟件的被授權(quán)的密鑰和證書(shū)與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值不一致或者所述軟件沒(méi)有被授權(quán)的密鑰和證書(shū),則據(jù)此繼續(xù)判斷所述軟件未經(jīng)授權(quán)。因?yàn)樗黾拇嫫髦械膮?shù)值是根據(jù)所述軟件的被授權(quán)的密鑰和證書(shū)來(lái)寫(xiě)入的,所以,只要是經(jīng)過(guò)授權(quán)的軟件,則所述軟件的被授權(quán)的密鑰和證書(shū)與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值一致,否則說(shuō)明所述軟件沒(méi)有經(jīng)過(guò)授權(quán),可能是使用者擅自更換所述智能終端的軟件,而且擅自更換的軟件是未經(jīng)授權(quán)的。
[0100]較佳地,如圖6所示,圖4所示的校驗(yàn)?zāi)K4的結(jié)構(gòu)示意圖,包括以下單元:[0101]驅(qū)動(dòng)單元41b,用于驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式;可以知道,驅(qū)動(dòng)單元41b只是校驗(yàn)?zāi)K4的一個(gè)單元。
[0102]電源控制單元42b,用于控制內(nèi)置eFUSE控制電源的開(kāi)啟;因?yàn)楝F(xiàn)有技術(shù)中eFUSE控制電源必須通過(guò)專業(yè)夾具上的專門電源來(lái)供電,還需要通過(guò)專門的夾具固定好所述智能終端,再通過(guò)專門的夾具的針腳來(lái)完成對(duì)所述智能終端的熔絲,因此非常不便,而本發(fā)明實(shí)施例提供的較佳實(shí)施例的該電源控制單元42b,可以利用在所述智能終端內(nèi)部的特定裝置,通過(guò)智能終端的主板電源完成熔絲需要的供電,也就是eFUSE控制電源實(shí)際上是所述智能終端本身的電源,不但省去了專門的夾具,也省去了專業(yè)夾具上的專門電源供電。
[0103]賦值單元43b,用于根據(jù)所述智能終端的軟件的授權(quán)秘鑰和證書(shū),對(duì)相應(yīng)的eFUSE寄存器賦值并在所述eFUSE寄存器中寫(xiě)入所述賦值;賦值單元43b的存在,是因?yàn)榧拇嫫鳑](méi)有完成熔絲,說(shuō)明相應(yīng)的eFUSE寄存器沒(méi)有寫(xiě)入與所述智能終端的軟件的授權(quán)秘鑰和證書(shū)相對(duì)應(yīng)的值,因此需要根據(jù)所述智能終端的軟件的授權(quán)秘鑰和證書(shū),對(duì)相應(yīng)的eFUSE寄存器賦值并在所述eFUSE寄存器中寫(xiě)入所述賦值。現(xiàn)有技術(shù)中,通過(guò)安裝在外部PC上的仿真器或PC上的專用熔絲軟件等其他外部工具讀取當(dāng)前智能終端終端的eFUSE寄存器值,判定是否已經(jīng)熔絲或哪些寄存器需要熔絲,然后再結(jié)合當(dāng)前智能終端產(chǎn)品被授權(quán)的秘鑰和證書(shū),對(duì)相應(yīng)的寄存器賦值,再把這些值寫(xiě)入到這些寄存器,但是本發(fā)明提供的較佳實(shí)施例中,只需要通過(guò)賦值單元43b的執(zhí)行,就可以對(duì)在所述eFUSE寄存器中寫(xiě)入所述賦值。
[0104]寫(xiě)入結(jié)果判斷單元44b,用于讀回寫(xiě)入eFUSE寄存器中的所述賦值,根據(jù)讀回的所述賦值判斷所述賦值單元43b中寫(xiě)入操作是否成功;在所述eFUSE寄存器中寫(xiě)入所述賦值,還要判斷寫(xiě)入是否正確,是否成功,所以需要從eFUSE寄存器中讀回所述賦值,根據(jù)讀回的所述賦值來(lái)判斷在所述eFUSE寄存器中寫(xiě)入所述賦值是否成功。
[0105]標(biāo)記設(shè)置單元45b,用于在所述寫(xiě)入操作成功時(shí),設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài),以及在所述寫(xiě)入操作不成功時(shí),設(shè)置所述eFUSE標(biāo)記值為未完成熔絲的狀態(tài)。
[0106]較佳地,所述智能終端中校驗(yàn)軟件版權(quán)的裝置還包括,跳轉(zhuǎn)執(zhí)行模塊,用于在標(biāo)記設(shè)置單元45b設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài)之后,重新啟動(dòng)所述智能終端,轉(zhuǎn)到執(zhí)行初始化模塊I,繼續(xù)執(zhí)行初始化模塊1、讀取狀態(tài)模塊2、判斷模塊3、校驗(yàn)?zāi)K4,直到完成校驗(yàn)所述智能終端的軟件的版權(quán)。
[0107]因?yàn)橐呀?jīng)成功在eFUSE寄存器中寫(xiě)入所述智能終端的軟件的授權(quán)秘鑰和證書(shū),在經(jīng)過(guò)標(biāo)記設(shè)置單元45b設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài)之后,轉(zhuǎn)到執(zhí)行初始化模塊I,繼續(xù)執(zhí)行初始化模塊1、讀取狀態(tài)模塊2、判斷模塊3、校驗(yàn)?zāi)K4,所述智能終端的軟件的版權(quán)會(huì)成功的通過(guò)校驗(yàn)。
[0108]較佳地,校驗(yàn)?zāi)K4還包括,
[0109]循環(huán)次數(shù)設(shè)置單元,用于在執(zhí)行驅(qū)動(dòng)單元41b之前,預(yù)先設(shè)置循環(huán)執(zhí)行所述智能終端進(jìn)入eFUSE模式處理的次數(shù);
[0110]循環(huán)單元,用于在執(zhí)行標(biāo)記設(shè)置單元45b之后,對(duì)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)自減1,并判斷所述智能終端進(jìn)入eFUSE模式處理的次數(shù)是否等于O ;如果此時(shí)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)為0,則跳出所述eFUSE模式,并結(jié)束校驗(yàn);如果此時(shí)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)不為0,則轉(zhuǎn)到執(zhí)行驅(qū)動(dòng)單元41b,繼續(xù)執(zhí)行驅(qū)動(dòng)單元41b、電源控制單元42b、賦值單元43b、寫(xiě)入結(jié)果判斷單元44b、標(biāo)記設(shè)置單元45b、循環(huán)單元。這樣是為了增加根據(jù)所述智能終端的軟件的授權(quán)秘鑰和證書(shū),對(duì)相應(yīng)的eFUSE寄存器賦值并在所述eFUSE寄存器中寫(xiě)入所述賦值,同時(shí)也不至于一直嘗試寫(xiě)入所述賦值,避免陷入死循環(huán)。
[0111]實(shí)施本發(fā)明的在智能終端中校驗(yàn)軟件版權(quán)的裝置,具有以下有益效果:通過(guò)本發(fā)明實(shí)施例提供的在智能終端中校驗(yàn)軟件版權(quán)的裝置,可以有效解決現(xiàn)有技術(shù)的上述智能終端的軟件版權(quán)的校驗(yàn)方法需要專業(yè)的工具配合,操作繁瑣,對(duì)操作人員要求高,以及在智能終端的大規(guī)模生產(chǎn)過(guò)程中,生產(chǎn)設(shè)計(jì)廠商因此增加工作崗位、使用多種工具帶來(lái)的高額成本,同時(shí)因智能終端校驗(yàn)軟件的版權(quán)過(guò)程時(shí)間較長(zhǎng),大大影響相關(guān)廠商的生產(chǎn)效率和產(chǎn)能的缺陷,不再依賴于諸多外部輔助工具以及不需要太多人員進(jìn)行操作,所有的操作由智能終端自身獨(dú)立自動(dòng)完成,因此,實(shí)施本發(fā)明實(shí)施例提供的技術(shù)方案操作簡(jiǎn)便、快捷,不同于現(xiàn)有技術(shù)的軟件版權(quán)的校驗(yàn)過(guò)程中需要注意輔助工具的協(xié)同以及特定操作時(shí)序,整個(gè)軟件版權(quán)的校驗(yàn)過(guò)程在終端開(kāi)機(jī)時(shí)自動(dòng)執(zhí)行,并且可以提示最終校驗(yàn)結(jié)果,提升了大規(guī)模生產(chǎn)過(guò)程中的生產(chǎn)效率和產(chǎn)能,提升了產(chǎn)品競(jìng)爭(zhēng)力。
[0112]以下結(jié)合圖4至圖7,對(duì)本發(fā)明實(shí)施例提供的較佳的在智能終端中校驗(yàn)軟件版權(quán)的方法和裝置10做更進(jìn)一步地說(shuō)明:
[0113]S01、初始化模塊I初始化化所述智能終端的軟硬件環(huán)境;跳轉(zhuǎn)到步驟S02;
[0114]S02、讀取狀態(tài)模塊2讀取所述智能終端中預(yù)存的硬件熔絲eFUSE標(biāo)記值;跳轉(zhuǎn)到步驟S03 ;
[0115]S03、判斷模塊3根據(jù)所述eFUSE標(biāo)記值判斷所述智能終端中的寄存器是否已經(jīng)完成熔絲;若沒(méi)有完成熔絲,則跳轉(zhuǎn)到步驟S04a,如果已經(jīng)完成熔絲,則跳轉(zhuǎn)到步驟S04b;
[0116]S04a、如果沒(méi)有完成熔絲,校驗(yàn)?zāi)K4中的循環(huán)次數(shù)設(shè)置單元預(yù)先設(shè)置循環(huán)執(zhí)行所述智能終端進(jìn)入eFUSE模式處理的次數(shù);跳轉(zhuǎn)到步驟S05 ;
[0117]S05、校驗(yàn)?zāi)K4中的驅(qū)動(dòng)單元41b驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式;跳轉(zhuǎn)到步驟 S06 ;
[0118]S06、校驗(yàn)?zāi)K4中的電源控制單元42b控制內(nèi)置eFUSE控制電源的開(kāi)啟;跳轉(zhuǎn)到步驟S07 ;
[0119]S07、校驗(yàn)?zāi)K4中的賦值單元43b根據(jù)所述智能終端的軟件的授權(quán)秘鑰和證書(shū),對(duì)相應(yīng)的eFUSE寄存器賦值并在所述eFUSE寄存器中寫(xiě)入所述賦值;跳轉(zhuǎn)到步驟S08 ;
[0120]S08、校驗(yàn)?zāi)K4中寫(xiě)入結(jié)果判斷單元44b讀回寫(xiě)入eFUSE寄存器中的所述賦值,根據(jù)讀回的所述賦值判斷所述賦值單元43b中寫(xiě)入操作是否成功;如果不成功,跳轉(zhuǎn)到步驟S09a,如果成功,跳轉(zhuǎn)到步驟S09b ;
[0121]S09a、校驗(yàn)?zāi)K4中的標(biāo)記設(shè)置單元45b設(shè)置所述eFUSE標(biāo)記值為未完成熔絲的狀態(tài);跳轉(zhuǎn)到步驟SlO ;
[0122]S10、校驗(yàn)?zāi)K4中的循環(huán)單元,對(duì)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)自減1,并判斷所述智能終端進(jìn)入eFUSE模式處理的次數(shù)是否等于O ;如果此時(shí)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)為0,跳轉(zhuǎn)到步驟Sll;如果此時(shí)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)不為0,跳轉(zhuǎn)到步驟S05 ;
[0123]步驟SI 1、校驗(yàn)?zāi)K4中的循環(huán)單元控制跳出所述eFUSE模式,并結(jié)束校驗(yàn);[0124]步驟S09b、校驗(yàn)?zāi)K4中的標(biāo)記設(shè)置單元45b設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài);跳轉(zhuǎn)到步驟S12;
[0125]S12、重啟所述智能終端,并跳轉(zhuǎn)到步驟SOl ;
[0126]S04b、校驗(yàn)?zāi)K4中的信息讀取單元41a讀取所述軟件的版權(quán)信息;跳轉(zhuǎn)到步驟S13 ;
[0127]S13、校驗(yàn)?zāi)K4中的授權(quán)判斷單元42a根據(jù)所述版權(quán)信息判斷所述軟件是否經(jīng)過(guò)授權(quán);如果所述軟件經(jīng)過(guò)授權(quán),跳轉(zhuǎn)到步驟S14b,如果所述軟件沒(méi)有經(jīng)過(guò)授權(quán),跳轉(zhuǎn)到步驟S14a ;
[0128]S14b、校驗(yàn)?zāi)K4中的校驗(yàn)執(zhí)行單元43a控制所述智能終端正常開(kāi)機(jī);結(jié)束校驗(yàn);
[0129]S14a、校驗(yàn)?zāi)K4中的校驗(yàn)執(zhí)行單元43a提示所述軟件未經(jīng)授權(quán),并提示升級(jí)所述軟件至授權(quán)版本;結(jié)束校驗(yàn)。
[0130]上面結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行了描述,但是本發(fā)明并不局限于上述的【具體實(shí)施方式】,上述的【具體實(shí)施方式】?jī)H僅是示意性的,而不是限制性的,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明宗旨和權(quán)利要求所保護(hù)的范圍情況下,還可做出很多形式,這些均屬于本發(fā)明的保護(hù)之內(nèi)。
【權(quán)利要求】
1.一種在智能終端中校驗(yàn)軟件版權(quán)的方法,其特征在于,包括以下步驟: 51、初始化所述智能終端的軟硬件環(huán)境; 52、讀取所述智能終端中預(yù)存的硬件熔絲eFUSE標(biāo)記值; 53、根據(jù)所述eFUSE標(biāo)記值判斷所述智能終端中的寄存器是否完成熔絲; 54、若所述寄存器已經(jīng)完成熔絲,校驗(yàn)所述智能終端的軟件的版權(quán);若所述寄存器未完成熔絲,驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式處理。
2.根據(jù)權(quán)利要求1所述的在智能終端中校驗(yàn)軟件版權(quán)的方法,其特征在于,所述步驟S4中,校驗(yàn)所述智能終端的軟件的版權(quán)包括以下子步驟: S41a、讀取所述軟件的版權(quán)信息; S42a、根據(jù)所述版權(quán)信息判斷所述軟件是否經(jīng)過(guò)授權(quán); S43a、如果所述軟件經(jīng)過(guò)授權(quán),則校驗(yàn)通過(guò),所述智能終端正常開(kāi)機(jī);如果未經(jīng)授權(quán),則提示所述軟件未經(jīng)授權(quán),并提示升級(jí)所述軟件至授權(quán)版本。
3.根據(jù)權(quán)利要求2所述的在智能終端中校驗(yàn)軟件版權(quán)的方法,其特征在于,所述子步驟S41a中,所述軟件的版權(quán)信息包括所述軟件的被授權(quán)的密鑰和證書(shū); 所述子步驟S42a包括以下操作: 判斷所述軟件的被授權(quán)的密鑰和證書(shū)是否與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值一致,如果所述軟件的被授權(quán)的密鑰和證書(shū)與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值一致,則判斷所述軟件已經(jīng)經(jīng)過(guò)授權(quán),如果所述軟件的被授權(quán)的密鑰和證書(shū)與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值不一致或者所述軟件沒(méi)有被授權(quán)的密鑰和證書(shū),則判斷所述軟件未經(jīng)授權(quán)。
4.根據(jù)權(quán)利要求1所述的在智能終端中校驗(yàn)軟件版權(quán)的方法,其特征在于,所述步驟S4中,驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式處理包括以下子步驟: S4lb、驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式; S42b、控制內(nèi)置eFUSE控制電源的開(kāi)啟; S43b、根據(jù)所述智能終端的軟件的授權(quán)秘鑰和證書(shū),對(duì)相應(yīng)的eFUSE寄存器賦值并在所述eFUSE寄存器中寫(xiě)入所述賦值; S44b、讀回寫(xiě)入eFUSE寄存器中的所述賦值,根據(jù)讀回的所述賦值判斷所述步驟S43b中寫(xiě)入操作是否成功; S45b、如果所述寫(xiě)入操作成功,設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài),如果所述寫(xiě)入操作不成功,設(shè)置所述eFUSE標(biāo)記值為未完成熔絲的狀態(tài)。
5.根據(jù)權(quán)利要求4所述的在智能終端中校驗(yàn)軟件版權(quán)的方法,其特征在于,還包括以下步驟: 55、所述設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài)步驟之后,重新啟動(dòng)所述智能終端,轉(zhuǎn)到步驟SI,繼續(xù)執(zhí)行步驟SI至S4,直到完成校驗(yàn)所述智能終端的軟件的版權(quán)。
6.根據(jù)權(quán)利要求4所述的在智能終端中校驗(yàn)軟件版權(quán)的方法,其特征在于,所述步驟S4還包括以下子步驟: 步驟S40b、在所述步驟S41b之前,預(yù)先設(shè)置循環(huán)執(zhí)行所述智能終端進(jìn)入eFUSE模式處理的次數(shù); S46b、在所述步驟S45b之后,將所述智能終端進(jìn)入eFUSE模式處理的次數(shù)自減1,并判斷所述智能終端進(jìn)入eFUSE模式處理的次數(shù)是否等于O ;如果此時(shí)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)為O,則跳出所述eFUSE模式,并結(jié)束校驗(yàn)流程;如果此時(shí)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)不為O,則轉(zhuǎn)到步驟S41b,繼續(xù)執(zhí)行步驟S41b至S46b。
7.—種在智能終端中校驗(yàn)軟件版權(quán)的裝置,其特征在于,包括以下模塊: 初始化模塊,用于初始化所述智能終端的軟硬件環(huán)境; 讀取狀態(tài)模塊,用于讀取所述智能終端中預(yù)存的硬件熔絲eFUSE標(biāo)記值; 判斷模塊,用于根據(jù)所述eFUSE標(biāo)記值判斷所述智能終端中的寄存器是否完成熔絲;校驗(yàn)?zāi)K,用于在若所述寄存器已經(jīng)完成熔絲時(shí)校驗(yàn)所述智能終端的軟件的版權(quán);以及在所述寄存器未完成熔絲時(shí)驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式處理。
8.根據(jù)權(quán)利要求7所述的在智能終端中校驗(yàn)軟件版權(quán)的裝置,其特征在于,所述校驗(yàn)?zāi)K包括以下單元: 信息讀取單元,用于讀取所述軟件的版權(quán)信息; 授權(quán)判斷單元,用于根據(jù)所述版權(quán)信息判斷所述軟件是否經(jīng)過(guò)授權(quán); 校驗(yàn)執(zhí)行單元,用于在所述軟件經(jīng)過(guò)授權(quán)時(shí),確定校驗(yàn)通過(guò),并驅(qū)動(dòng)所述智能終端正常開(kāi)機(jī);以及在所述軟件未經(jīng)授權(quán)時(shí),提示所述軟件未經(jīng)授權(quán),并提示升級(jí)所述軟件至授權(quán)版本。
9.根據(jù)權(quán)利要求8所述的在智能終端中校驗(yàn)軟件版權(quán)的裝置,其特征在于, 所述信息讀取單元中,所述軟件的版權(quán)信息包括所述軟件的被授權(quán)的密鑰和證書(shū); 所述授權(quán)判斷單元包括: 授權(quán)狀態(tài)判斷子單元,用于判斷所述軟件的被授權(quán)的密鑰和證書(shū)是否與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值一致,如果所述軟件的被授權(quán)的密鑰和證書(shū)與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值一致,則據(jù)此繼續(xù)判斷所述軟件已經(jīng)經(jīng)過(guò)授權(quán),如果所述軟件的被授權(quán)的密鑰和證書(shū)與相應(yīng)寫(xiě)入到所述寄存器中的參數(shù)值不一致或者所述軟件沒(méi)有被授權(quán)的密鑰和證書(shū),則據(jù)此繼續(xù)判斷所述軟件未經(jīng)授權(quán)。
10.根據(jù)權(quán)利要求7所述的在智能終端中校驗(yàn)軟件版權(quán)的裝置,其特征在于,所述校驗(yàn)?zāi)K包括以下單元: 驅(qū)動(dòng)單元,用于驅(qū)動(dòng)所述智能終端進(jìn)入eFUSE模式; 電源控制單元,用于控制內(nèi)置eFUSE控制電源的開(kāi)啟; 賦值單元,用于根據(jù)所述智能終端的軟件的授權(quán)秘鑰和證書(shū),對(duì)相應(yīng)的eFUSE寄存器賦值并在所述eFUSE寄存器中寫(xiě)入所述賦值; 寫(xiě)入結(jié)果判斷單元,用于讀回寫(xiě)入eFUSE寄存器中的所述賦值,根據(jù)讀回的所述賦值判斷所述賦值單元中寫(xiě)入操作是否成功; 標(biāo)記設(shè)置單元,用于在所述寫(xiě)入操作成功時(shí),設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài),以及在所述寫(xiě)入操作不成功時(shí),設(shè)置所述eFUSE標(biāo)記值為未完成熔絲的狀態(tài)。
11.根據(jù)權(quán)利要求10所述的在智能終端中校驗(yàn)軟件版權(quán)的裝置,其特征在于,所述智能終端中校驗(yàn)軟件版權(quán)的裝置還包括, 跳轉(zhuǎn)執(zhí)行模塊,用于在標(biāo)記設(shè)置單元設(shè)置所述eFUSE標(biāo)記值為已經(jīng)完成熔絲的狀態(tài)之后,重新啟動(dòng)所述智能終端,轉(zhuǎn)到執(zhí)行初始化模塊,繼續(xù)執(zhí)行初始化模塊、讀取狀態(tài)模塊、判斷模塊、校驗(yàn)?zāi)K,直到完成校驗(yàn)所述智能終端的軟件的版權(quán)。
12.根據(jù)權(quán)利要求10所述的在智能終端中校驗(yàn)軟件版權(quán)的方法,其特征在于,所述校驗(yàn)?zāi)K還包括, 循環(huán)次數(shù)設(shè)置單元,用于在執(zhí)行驅(qū)動(dòng)單元之前,預(yù)先設(shè)置循環(huán)執(zhí)行所述智能終端進(jìn)入eFUSE模式處理的次數(shù); 循環(huán)單元,用于在執(zhí)行標(biāo)記設(shè)置單元之后,對(duì)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)自減1,并判斷所述智能終端進(jìn)入eFUSE模式處理的次數(shù)是否等于O ;如果此時(shí)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)為O,則跳出所述eFUSE模式,并結(jié)束校驗(yàn);如果此時(shí)所述智能終端進(jìn)入eFUSE模式處理的次數(shù)不為O,則轉(zhuǎn)到執(zhí)行驅(qū)動(dòng)單元,繼續(xù)執(zhí)行驅(qū)動(dòng)單元、電源控制單元、賦值單元、寫(xiě)入結(jié)果判斷單元、標(biāo)記設(shè)置單元、循環(huán)單元。
【文檔編號(hào)】G06F21/12GK103544413SQ201310533210
【公開(kāi)日】2014年1月29日 申請(qǐng)日期:2013年10月31日 優(yōu)先權(quán)日:2013年10月31日
【發(fā)明者】彭日亮 申請(qǐng)人:宇龍計(jì)算機(jī)通信科技(深圳)有限公司