欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

應(yīng)用程序文件驗(yàn)證的方法及系統(tǒng)的制作方法

文檔序號(hào):10725487閱讀:324來源:國知局
應(yīng)用程序文件驗(yàn)證的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種應(yīng)用程序文件驗(yàn)證的方法及系統(tǒng),該方法包括:移動(dòng)設(shè)備獲取應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn)碼,第一校驗(yàn)碼是根據(jù)所述應(yīng)用程序文件本身攜帶的第一授權(quán)文件信息得到的,所述第二校驗(yàn)碼是根據(jù)所述應(yīng)用程序文件的正版攜帶的第二授權(quán)文件信息得到的;所述移動(dòng)設(shè)備在所述第一校驗(yàn)碼和所述第二校驗(yàn)碼一致時(shí),確定所述應(yīng)用程序文件通過驗(yàn)證。通過上述方式,本發(fā)明能夠在移動(dòng)端確定應(yīng)用程序文件的安全性,且不用輸入較長(zhǎng)的代碼。
【專利說明】
應(yīng)用程序文件驗(yàn)證的方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及應(yīng)用程序文件安全技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用程序文件驗(yàn)證的方 法及系統(tǒng)。
【背景技術(shù)】
[0002] 安卓(Android)應(yīng)用程序正面臨嚴(yán)重的盜版問題,被盜版的應(yīng)用程序可能被植入 病毒、廣告,還可能被二次打包以及篡改,這些都嚴(yán)重?fù)p害了應(yīng)用程序的開發(fā)者以及消費(fèi)者 的權(quán)益。
[0003] 針對(duì)這一情況,移動(dòng)互聯(lián)網(wǎng)的各個(gè)產(chǎn)業(yè)鏈都在做一些努力,來保護(hù)Android應(yīng)用程 序的安全。目前,普遍采用的軟件授權(quán)的方式是在軟件授權(quán)界面輸入激活碼或注冊(cè)碼完成 注冊(cè),激活碼或者注冊(cè)碼一般以〃-〃分隔,如Wind 〇ws、0ff ice等,例如Off ice2013 :激活碼是 GQKNX-C6 T4B-V2T69-777QJ-XWYG7 ;又如WinlO的安裝激活碼是NKJFK-GPHP 7-G8C3J-P6JXR-HQRJR;又如UltraEdit的注冊(cè)碼是Name: jialei_wy,激活碼是:DSQ0Q-0SPNA-JIHHK-TNVI0-0NFGK-EERGI-Q0MRC-L QJAK。
[0004] 上述保證Android應(yīng)用程序安全的方法中,一方面,激活碼或注冊(cè)碼較長(zhǎng),在移動(dòng) 端輸入較困難,另一方面,注冊(cè)碼或激活碼流出后,依然很容易被盜版。

【發(fā)明內(nèi)容】

[0005] 本發(fā)明主要解決的技術(shù)問題是提供一種應(yīng)用程序文件驗(yàn)證的方法及系統(tǒng),能夠在 移動(dòng)端確定應(yīng)用程序文件的安全性,且不用輸入較長(zhǎng)的代碼。
[0006] 為解決上述技術(shù)問題,本發(fā)明采用的一個(gè)技術(shù)方案是:提供一種應(yīng)用程序文件驗(yàn) 證的方法,所述方法包括:移動(dòng)設(shè)備獲取應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn)碼,其中, 所述第一校驗(yàn)碼是根據(jù)所述應(yīng)用程序文件本身攜帶的第一授權(quán)文件信息得到的,所述第二 校驗(yàn)碼是根據(jù)所述應(yīng)用程序文件的正版攜帶的第二授權(quán)文件信息得到的;所述移動(dòng)設(shè)備在 所述第一校驗(yàn)碼和所述第二校驗(yàn)碼一致時(shí),確定所述應(yīng)用程序文件通過驗(yàn)證。
[0007] 其中,所述第一授權(quán)文件信息為第一簽名信息,所述第二授權(quán)文件信息為第二簽 名信息;所述移動(dòng)設(shè)備獲取所述應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn)碼的步驟之前,還 包括:服務(wù)器通過散列算法對(duì)所述應(yīng)用程序文件的正版已設(shè)置的所述第二簽名信息進(jìn)行計(jì) 算,得到所述第二校驗(yàn)碼;所述移動(dòng)設(shè)備獲取所述應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn) 碼的步驟,包括:所述移動(dòng)設(shè)備在所述應(yīng)用程序文件啟動(dòng)時(shí),通過網(wǎng)絡(luò)連接服務(wù)器,進(jìn)而從 所述服務(wù)器獲得所述應(yīng)用程序文件的第二校驗(yàn)碼,或,所述移動(dòng)設(shè)備在所述應(yīng)用程序文件 啟動(dòng)時(shí),獲取內(nèi)置在所述應(yīng)用程序文件的所述第二校驗(yàn)碼,所述移動(dòng)設(shè)備通過所述散列算 法對(duì)所述應(yīng)用程序文件本身攜帶的所述第一簽名信息進(jìn)行計(jì)算,得到所述第一校驗(yàn)碼。
[0008] 其中,所述第二授權(quán)文件信息包括與所述應(yīng)用程序文件的正版對(duì)應(yīng)的應(yīng)用程序文 件包名、設(shè)備序列號(hào)、設(shè)備型號(hào)、設(shè)定的有效期、功能限定信息中的至少一個(gè)類別的授權(quán)信 息;所述第一授權(quán)文件信息包括與所述應(yīng)用程序文件對(duì)應(yīng)的應(yīng)用程序文件包名、設(shè)備序列 號(hào)、設(shè)備型號(hào)、設(shè)定的有效期、功能限定信息中的至少一個(gè)類別的授權(quán)信息。
[0009] 其中,所述移動(dòng)設(shè)備獲取應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn)碼的步驟之前, 還包括:服務(wù)器生成與所述應(yīng)用程序文件的正版對(duì)應(yīng)的文本格式的所述第二授權(quán)文件信 息;所述服務(wù)器通過散列算法對(duì)所述第二授權(quán)文件信息進(jìn)行計(jì)算,得到授權(quán)校驗(yàn)碼,所述授 權(quán)校驗(yàn)碼即為所述第二校驗(yàn)碼;所述移動(dòng)設(shè)備獲取應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn) 碼的步驟,包括:所述移動(dòng)設(shè)備獲取授權(quán)文件包,所述授權(quán)文件包中包括所述第二校驗(yàn)碼的 信息;所述移動(dòng)設(shè)備通過所述散列算法對(duì)所述應(yīng)用程序文件本身攜帶的所述第一授權(quán)文件 信息進(jìn)行計(jì)算,得到所述第一校驗(yàn)碼。
[0010] 其中,所述服務(wù)器通過散列算法對(duì)所述第二授權(quán)文件信息進(jìn)行計(jì)算,得到授權(quán)校 驗(yàn)碼的步驟之后,還包括:所述服務(wù)器通過非對(duì)稱加密算法生成公鑰和私鑰;所述服務(wù)器使 用所述私鑰對(duì)所述授權(quán)校驗(yàn)碼加密,生成授權(quán)文件簽名;所述第二校驗(yàn)碼的信息為所述授 權(quán)文件簽名,所述移動(dòng)設(shè)備獲取應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn)碼的步驟,還包括: 所述移動(dòng)設(shè)備獲取內(nèi)置在所述應(yīng)用程序文件的所述公鑰;所述移動(dòng)設(shè)備通過所述公鑰對(duì)所 述授權(quán)文件簽名進(jìn)行解密,獲得所述授權(quán)驗(yàn)證碼,所述授權(quán)驗(yàn)證碼即為所述第二校驗(yàn)碼。 [0011]其中,所述授權(quán)文件包中還包括所述第二授權(quán)文件信息,所述第二授權(quán)文件信息、 所述第一授權(quán)文件信息中每個(gè)類別的授權(quán)信息均對(duì)應(yīng)一個(gè)授權(quán)項(xiàng);所述移動(dòng)設(shè)備在所述第 一校驗(yàn)碼和所述第二校驗(yàn)碼一致時(shí),確定所述應(yīng)用程序文件通過驗(yàn)證,包括:在所述第一校 驗(yàn)碼和所述第二校驗(yàn)碼一致時(shí),所述移動(dòng)設(shè)備將所述第二授權(quán)文件信息中每個(gè)授權(quán)項(xiàng)分別 與所述第一授權(quán)文件信息中對(duì)應(yīng)的授權(quán)項(xiàng)進(jìn)行比對(duì),若所述第二授權(quán)文件信息中每個(gè)授權(quán) 項(xiàng)與所述第一授權(quán)文件信息中對(duì)應(yīng)的授權(quán)項(xiàng)都匹配,則確定所述應(yīng)用程序文件通過驗(yàn)證。
[0012] 為解決上述技術(shù)問題,本發(fā)明采用的另一個(gè)技術(shù)方案是:提供一種應(yīng)用程序文件 驗(yàn)證的系統(tǒng),所述系統(tǒng)包括:移動(dòng)設(shè)備,所述移動(dòng)設(shè)備包括:獲取模塊,用于獲取應(yīng)用程序文 件的第一校驗(yàn)碼和第二校驗(yàn)碼,其中,所述第一校驗(yàn)碼是根據(jù)所述應(yīng)用程序文件本身攜帶 的第一授權(quán)文件信息得到的,所述第二校驗(yàn)碼是根據(jù)所述應(yīng)用程序文件的正版攜帶的第二 授權(quán)文件信息得到的;確定模塊,用于在所述第一校驗(yàn)碼和所述第二校驗(yàn)碼一致時(shí),確定所 述應(yīng)用程序文件通過驗(yàn)證。
[0013] 其中,所述第一授權(quán)文件信息為第一簽名信息,所述第二授權(quán)文件信息為第二簽 名信息;所述系統(tǒng)還包括:服務(wù)器,所述服務(wù)器包括:第一計(jì)算模塊,用于通過散列算法對(duì)所 述應(yīng)用程序文件的正版已設(shè)置的所述第二簽名信息進(jìn)行計(jì)算,得到所述第二校驗(yàn)碼;所述 獲取模塊具體用于:在所述應(yīng)用程序文件啟動(dòng)時(shí),通過網(wǎng)絡(luò)連接服務(wù)器,進(jìn)而從所述服務(wù)器 獲得所述應(yīng)用程序文件的第二校驗(yàn)碼,或,在所述應(yīng)用程序文件啟動(dòng)時(shí),獲取內(nèi)置在所述應(yīng) 用程序文件的所述第二校驗(yàn)碼;
[0014] 通過所述散列算法對(duì)所述應(yīng)用程序文件本身攜帶的所述第一簽名信息進(jìn)行計(jì)算, 得到所述第一校驗(yàn)碼。
[0015] 其中,所述第二授權(quán)文件信息包括與所述應(yīng)用程序文件的正版對(duì)應(yīng)的應(yīng)用程序文 件包名、設(shè)備序列號(hào)、設(shè)備型號(hào)、設(shè)定的有效期、功能限定信息中的至少一個(gè)類別的授權(quán)信 息;所述第一授權(quán)文件信息包括與所述應(yīng)用程序文件對(duì)應(yīng)的應(yīng)用程序文件包名、設(shè)備序列 號(hào)、設(shè)備型號(hào)、設(shè)定的有效期、功能限定信息中的至少一個(gè)類別的授權(quán)信息。
[0016] 其中,所述系統(tǒng)還包括:服務(wù)器,所述服務(wù)器包括:第一生成模塊,用于生成與所述 應(yīng)用程序文件的正版對(duì)應(yīng)的文本格式的所述第二授權(quán)文件信息;第二計(jì)算模塊,用于通過 散列算法對(duì)所述第二授權(quán)文件信息進(jìn)行計(jì)算,得到授權(quán)校驗(yàn)碼,所述授權(quán)校驗(yàn)碼即為所述 第二校驗(yàn)碼;所述獲取模塊具體用于:獲取授權(quán)文件包,所述授權(quán)文件包中包括所述第二校 驗(yàn)碼的信息;通過所述散列算法對(duì)所述應(yīng)用程序文件本身攜帶的所述第一授權(quán)文件信息進(jìn) 行計(jì)算,得到所述第一校驗(yàn)碼。
[0017] 其中,所述服務(wù)器還包括:第二生成模塊,用于通過非對(duì)稱加密算法生成公鑰和私 鑰;第三生成模塊,用于使用所述私鑰對(duì)所述授權(quán)校驗(yàn)碼加密,生成授權(quán)文件簽名;所述第 二校驗(yàn)碼的信息為所述授權(quán)文件簽名,所述獲取模塊還用于:獲取內(nèi)置在所述應(yīng)用程序文 件的所述公鑰;通過所述公鑰對(duì)所述授權(quán)文件簽名進(jìn)行解密,獲得所述授權(quán)驗(yàn)證碼,所述授 權(quán)驗(yàn)證碼即為所述第二校驗(yàn)碼。
[0018] 其中,所述授權(quán)文件包中還包括所述第二授權(quán)文件信息,所述第二授權(quán)文件信息、 所述第一授權(quán)文件信息中每個(gè)類別的授權(quán)信息均對(duì)應(yīng)一個(gè)授權(quán)項(xiàng);所述確定模塊還用于在 所述第一校驗(yàn)碼和所述第二校驗(yàn)碼一致時(shí),將所述第二授權(quán)文件信息中每個(gè)授權(quán)項(xiàng)分別與 所述第一授權(quán)文件信息中對(duì)應(yīng)的授權(quán)項(xiàng)進(jìn)行比對(duì),若所述第二授權(quán)文件信息中每個(gè)授權(quán)項(xiàng) 與所述第一授權(quán)文件信息中對(duì)應(yīng)的授權(quán)項(xiàng)都匹配,則確定所述應(yīng)用程序文件通過驗(yàn)證。
[0019] 本發(fā)明的有益效果是:區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明移動(dòng)設(shè)備獲取應(yīng)用程序文 件的第一校驗(yàn)碼和第二校驗(yàn)碼,第一校驗(yàn)碼是根據(jù)所述應(yīng)用程序文件本身攜帶的第一授權(quán) 文件信息得到的,所述第二校驗(yàn)碼是根據(jù)所述應(yīng)用程序文件的正版攜帶的第二授權(quán)文件信 息得到的;所述移動(dòng)設(shè)備在所述第一校驗(yàn)碼和所述第二校驗(yàn)碼一致時(shí),確定所述應(yīng)用程序 文件通過驗(yàn)證。由于應(yīng)用程序文件的正版攜帶的第二授權(quán)文件信息,應(yīng)用程序文件本身攜 帶第一授權(quán)文件信息,當(dāng)應(yīng)用程序文件沒有被篡改時(shí),第一授權(quán)文件信息和第二授權(quán)文件 信息是一致的,第一校驗(yàn)碼和第二校驗(yàn)碼也是一致的,當(dāng)應(yīng)用程序文件被篡改后,第一授權(quán) 文件信息和第二授權(quán)文件信息是不一致的,第一校驗(yàn)碼和第二校驗(yàn)碼也不一致,通過這種 方式,能夠在移動(dòng)端確定應(yīng)用程序文件的安全性,且不用輸入較長(zhǎng)的代碼。
【附圖說明】
[0020] 圖1是本發(fā)明應(yīng)用程序文件驗(yàn)證的方法一實(shí)施方式的流程圖;
[0021] 圖2是本發(fā)明應(yīng)用程序文件驗(yàn)證的方法另一實(shí)施方式的流程圖;
[0022] 圖3是本發(fā)明應(yīng)用程序文件驗(yàn)證的方法又一實(shí)施方式的流程圖;
[0023] 圖4是本發(fā)明應(yīng)用程序文件驗(yàn)證的方法又一實(shí)施方式的流程圖;
[0024] 圖5是本發(fā)明應(yīng)用程序文件驗(yàn)證的方法又一實(shí)施方式的流程圖;
[0025] 圖6是本發(fā)明應(yīng)用程序文件驗(yàn)證的系統(tǒng)一實(shí)施方式的結(jié)構(gòu)示意圖;
[0026] 圖7是本發(fā)明應(yīng)用程序文件驗(yàn)證的系統(tǒng)另一實(shí)施方式的結(jié)構(gòu)示意圖;
[0027] 圖8是本發(fā)明應(yīng)用程序文件驗(yàn)證的系統(tǒng)又一實(shí)施方式的結(jié)構(gòu)示意圖;
[0028] 圖9是本發(fā)明應(yīng)用程序文件驗(yàn)證的系統(tǒng)又一實(shí)施方式的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0029]下面結(jié)合附圖和實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)說明。
[0030]參閱圖1,圖1是本發(fā)明應(yīng)用程序文件驗(yàn)證的方法一實(shí)施方式的流程圖,包括:
[0031] 步驟S101:移動(dòng)設(shè)備獲取應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn)碼,其中,第一校 驗(yàn)碼是根據(jù)應(yīng)用程序文件本身攜帶的第一授權(quán)文件信息得到的,第二校驗(yàn)碼是根據(jù)應(yīng)用程 序文件的正版攜帶的第二授權(quán)文件信息得到的,所述應(yīng)用程序文件的正版攜帶的第二授權(quán) 文件信息即所述應(yīng)用程序文件的正版對(duì)應(yīng)的授權(quán)文件信息。移動(dòng)設(shè)備獲取應(yīng)用程序文件的 第一校驗(yàn)碼和第二校驗(yàn)碼也可以包括兩個(gè)獨(dú)立的步驟,即包括:移動(dòng)設(shè)備獲取應(yīng)用程序文 件的第一校驗(yàn)碼的步驟、移動(dòng)設(shè)備獲取應(yīng)用程序文件的第二校驗(yàn)碼的步驟。
[0032] 應(yīng)用程序文件,在發(fā)行之后,或者被盜版,或者用戶在使用的過程中,被篡改,這些 均導(dǎo)致用戶體驗(yàn)降低。現(xiàn)有技術(shù)中,通常是通過輸入激活碼或注冊(cè)碼的方式,來保證應(yīng)用程 序文件是正版而非盜版。但是,一方面,對(duì)于移動(dòng)設(shè)備來說,輸入長(zhǎng)代碼很不方便,另一方 面,激活碼或注冊(cè)碼也會(huì)被篡改。
[0033] 在本發(fā)明實(shí)施方式中,當(dāng)應(yīng)用程序文件對(duì)應(yīng)的正版產(chǎn)生后,即產(chǎn)生對(duì)應(yīng)的第二授 權(quán)文件信息,第二授權(quán)文件信息是指與應(yīng)用程序文件的正版一一對(duì)應(yīng)的授權(quán)文件信息,例 如:設(shè)定的唯一的簽名、設(shè)備序列號(hào)、應(yīng)用程序文件包名、確定的唯一的時(shí)間信息等。該第二 授權(quán)文件信息附著在應(yīng)用程序文件對(duì)應(yīng)的正版中。如果第二授權(quán)文件信息被篡改,則表明 該應(yīng)用程序文件已經(jīng)被篡改。第二授權(quán)文件信息通常是應(yīng)用開發(fā)商或應(yīng)用開發(fā)商授權(quán)的服 務(wù)商來確定。
[0034] 第一授權(quán)文件信息是指對(duì)應(yīng)于第二授權(quán)文件信息、與應(yīng)用程序文件本身一一對(duì)應(yīng) 的授權(quán)文件信息。例如,如果第二授權(quán)文件信息是設(shè)定的唯一簽名,那么第一授權(quán)文件信息 也是對(duì)應(yīng)的簽名,只不過該簽名有可能與設(shè)定的唯一簽名一致,有可能在應(yīng)用程序文件使 用時(shí)被篡改而與設(shè)定的唯一簽名不一致,或者應(yīng)用程序文件本來就是盜版,簽名自然也是 與設(shè)定的唯一簽名不一致。
[0035] 根據(jù)應(yīng)用程序文件本身攜帶的第一授權(quán)文件信息通過一定的方法獲得第一校驗(yàn) 碼,根據(jù)應(yīng)用程序文件的正版攜帶的第二授權(quán)文件信息通過一定的方法獲得第二校驗(yàn)碼。 其中,獲得第一校驗(yàn)碼的方法和獲得第二校驗(yàn)碼的方法可以相同,也可以不相同,不相同的 時(shí)候,需要確定第一校驗(yàn)碼和第二校驗(yàn)碼之間的對(duì)應(yīng)關(guān)系,以確定第一校驗(yàn)碼和第二校驗(yàn) 碼是否一致。
[0036]步驟S102:移動(dòng)設(shè)備在第一校驗(yàn)碼和第二校驗(yàn)碼一致時(shí),確定應(yīng)用程序文件通過 驗(yàn)證。
[0037]比較第一校驗(yàn)碼和第二校驗(yàn)碼,如果第一校驗(yàn)碼和第二校驗(yàn)碼一致,確定該應(yīng)用 程序文件通過驗(yàn)證,也即是該應(yīng)用程序文件與應(yīng)用程序文件的正版是一致的,該應(yīng)用程序 文件沒有被篡改,授權(quán)是有效的。當(dāng)然,該應(yīng)用程序文件的正版在后續(xù)使用過程后,依然有 可能被篡改,如果后續(xù)使用過程中被篡改,則第一校驗(yàn)碼和第二校驗(yàn)碼就不一致了。
[0038]如果第一校驗(yàn)碼和第二校驗(yàn)碼不一致,提示用戶應(yīng)用程序文件已經(jīng)被篡改,繼續(xù) 使用有風(fēng)險(xiǎn),或者應(yīng)用程序文件為盜版,并引導(dǎo)用戶使用應(yīng)用程序文件的官方正版。
[0039]本發(fā)明實(shí)施方式移動(dòng)設(shè)備獲取應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn)碼,第一校 驗(yàn)碼是根據(jù)所述應(yīng)用程序文件本身攜帶的第一授權(quán)文件信息得到的,所述第二校驗(yàn)碼是根 據(jù)所述應(yīng)用程序文件的正版攜帶的第二授權(quán)文件信息得到的;所述移動(dòng)設(shè)備在所述第一校 驗(yàn)碼和所述第二校驗(yàn)碼一致時(shí),確定所述應(yīng)用程序文件通過驗(yàn)證。由于應(yīng)用程序文件的正 版攜帶的第二授權(quán)文件信息,應(yīng)用程序文件本身攜帶第一授權(quán)文件信息,當(dāng)應(yīng)用程序文件 沒有被篡改時(shí),第一授權(quán)文件信息和第二授權(quán)文件信息是一致的,第一校驗(yàn)碼和第二校驗(yàn) 碼也是一致的,當(dāng)應(yīng)用程序文件被篡改后,第一授權(quán)文件信息和第二授權(quán)文件信息是不一 致的,第一校驗(yàn)碼和第二校驗(yàn)碼也不一致,通過這種方式,能夠在移動(dòng)端確定應(yīng)用程序文件 的安全性,且不用輸入較長(zhǎng)的代碼。
[0040] 其中,第一授權(quán)文件信息為第一簽名信息,第二授權(quán)文件信息為第二簽名信息。
[0041] 此時(shí),步驟S101中,移動(dòng)設(shè)備獲取應(yīng)用程序文件的第二校驗(yàn)碼的步驟,可以通過兩 種方式實(shí)現(xiàn),一種是在網(wǎng)絡(luò)連通的情況下,移動(dòng)設(shè)備可以通過網(wǎng)絡(luò)從服務(wù)器獲得第二校驗(yàn) 碼,另一種情況是,開發(fā)商將第二校驗(yàn)碼內(nèi)置在應(yīng)用程序文件的正版中,當(dāng)用戶獲得應(yīng)用程 序文件的正版,在自己的移動(dòng)設(shè)備安裝應(yīng)用程序的正版后,在該應(yīng)用程序(即安裝的應(yīng)用程 序文件的正版)后續(xù)的驗(yàn)證中,可以不依賴網(wǎng)絡(luò),移動(dòng)設(shè)備直接獲取內(nèi)置在應(yīng)用程序文件中 的第二校驗(yàn)碼。
[0042]參見圖2,不管是上述哪一種方式,在步驟S101之前,首先均需要生成第二校驗(yàn)碼, 結(jié)合起來具體過程可以如下:
[0043] 步驟S103:服務(wù)器通過散列算法對(duì)應(yīng)用程序文件的正版已設(shè)置的第二簽名信息進(jìn) 行計(jì)算,得到第二校驗(yàn)碼。該步驟可以在應(yīng)用開發(fā)商或應(yīng)用開發(fā)商授權(quán)的服務(wù)商處完成。進(jìn) 一步地,服務(wù)器將第二校驗(yàn)碼內(nèi)置在應(yīng)用程序文件的正版中,該內(nèi)置有第二校驗(yàn)碼的應(yīng)用 程序文件的正版達(dá)到用戶端。
[0044] 如果在應(yīng)用程序文件啟動(dòng)時(shí)有網(wǎng)絡(luò),移動(dòng)設(shè)備通過網(wǎng)絡(luò)獲取第二校驗(yàn)碼,則進(jìn)入 步驟S1011,如果在應(yīng)用程序文件啟動(dòng)時(shí)沒有網(wǎng)絡(luò),移動(dòng)設(shè)備在本地獲取第二校驗(yàn)碼,則進(jìn) 入步驟S1012。
[0045] 步驟S1011:通過網(wǎng)絡(luò)連接服務(wù)器,進(jìn)而從服務(wù)器獲得應(yīng)用程序文件的第二校驗(yàn) 碼。
[0046] 步驟S1012:獲取內(nèi)置在應(yīng)用程序文件的第二校驗(yàn)碼。
[0047]很顯然,雖然第二校驗(yàn)碼是內(nèi)置在應(yīng)用程序文件的正版中,但是依然存在安全性 的風(fēng)險(xiǎn)。進(jìn)一步地,可以通過公、私密鑰的方式對(duì)第二校驗(yàn)碼進(jìn)行加密和解密處理,以進(jìn)一 步增加應(yīng)用程序文件的安全性。
[0048]其中,步驟S101中,移動(dòng)設(shè)備獲取應(yīng)用程序文件的第一校驗(yàn)碼的步驟可以是:步驟 S1013,通過散列算法對(duì)應(yīng)用程序文件本身攜帶的第一簽名信息進(jìn)行計(jì)算,得到第一校驗(yàn) 碼。即獲得第一校驗(yàn)碼的方法和獲得第二校驗(yàn)碼的方法都是一樣的,都是散列算法。
[0049] 散列算法是指產(chǎn)生一些數(shù)據(jù)片段(例如消息或會(huì)話項(xiàng))的散列值的算法。好的散列 算法具有根據(jù)輸入數(shù)據(jù)中的變動(dòng)來更改散列值結(jié)果的特性;因此,散列對(duì)于檢測(cè)在諸如消 息等大型信息對(duì)象中的任何變化很有用。
[0050] 軟件開發(fā)中的散列函數(shù)或散列算法,又稱哈希函數(shù)(Hash Function),是一種從任 何一種數(shù)據(jù)中創(chuàng)建小的數(shù)字"指紋"的方法。散列函數(shù)把消息或數(shù)據(jù)壓縮成摘要,使得數(shù)據(jù) 量變小,將數(shù)據(jù)的格式固定下來。該函數(shù)將數(shù)據(jù)打亂混合,重新創(chuàng)建一個(gè)叫做散列值的指 紋。散列值通常用來代表一個(gè)短的隨機(jī)字母和數(shù)字組成的字符串。好的散列函數(shù)在輸入域 中很少出現(xiàn)散列沖突。在散列表和數(shù)據(jù)處理中,不抑制沖突來區(qū)別數(shù)據(jù),會(huì)使得數(shù)據(jù)庫記錄 更難找到。所有的散列函數(shù)都有如下一個(gè)基本特性:如果兩個(gè)散列值是不相同的(根據(jù)同一 函數(shù)),那么這兩個(gè)散列值的原始輸入也是不相同的。散列算法包括但不限于SHAUMD5、 SHA256等。當(dāng)然,獲得第一校驗(yàn)碼的方法和獲得第二校驗(yàn)碼的方法除了是上述的散列算法 外,還可以是其它方法,在此不做限定。
[0051] 在實(shí)際應(yīng)用中,上述簽名信息驗(yàn)證過程可以用Java代碼實(shí)現(xiàn)驗(yàn)證,也可以用C語言 代碼實(shí)現(xiàn)驗(yàn)證,具體如下:
[0052] 1、Java層淺校驗(yàn)(驗(yàn)證代碼在Java層);
[0053] 例如,Java代碼中驗(yàn)證簽名具體可以是:
[0055]由于Java代碼中包括很多源代碼信息,如變量名、方法名,并且通過這些名稱來訪 問變量和方法,這些符號(hào)帶有許多語義信息,很容易被反編譯成Java源代碼。為了防止這種 現(xiàn)象,可以對(duì)Java代碼采用代碼混淆的方式,提高反編譯的難度。
[0056] 2、原生開發(fā)工具包(Native Development Kit,簡(jiǎn)寫NDK)C代碼中深校驗(yàn)(驗(yàn)證代 碼在NDK的C代碼中);
[0057] C語言的實(shí)現(xiàn)與Java的實(shí)現(xiàn)在流程上類似,僅代碼不同,不再詳細(xì)舉例。由于C語言 寫的程序一般很難反編譯,不可能得到源碼,編譯完成后已經(jīng)轉(zhuǎn)化為機(jī)器語言,不是完全可 逆的過程,因此反編譯C語言生成的工程,比反編譯Java的工程困難很多。
[0058]本發(fā)明實(shí)施例中,驗(yàn)證應(yīng)用程序文件的過程可以在后臺(tái)校驗(yàn),不影響應(yīng)用程序文 件的啟動(dòng)速度。
[0059]其中,第二授權(quán)文件信息包括與應(yīng)用程序文件的正版對(duì)應(yīng)的應(yīng)用程序文件包名、 設(shè)備序列號(hào)、設(shè)備型號(hào)、設(shè)定的有效期、功能限定信息中的至少一個(gè)類別的授權(quán)信息;第一 授權(quán)文件信息包括與應(yīng)用程序文件對(duì)應(yīng)的應(yīng)用程序文件包名、設(shè)備序列號(hào)、設(shè)備型號(hào)、設(shè)定 的有效期、功能限定信息中的至少一個(gè)類別的授權(quán)信息。其中,功能限定信息即限定應(yīng)用程 序文件可用功能的信息,所述第一授權(quán)文件信息也是與第二授權(quán)文件信息相互對(duì)應(yīng),例如, 第二授權(quán)文件信息包括應(yīng)用程序文件的正版對(duì)應(yīng)的應(yīng)用程序文件包名,那么第一授權(quán)文件 信息也包括與應(yīng)用程序文件對(duì)應(yīng)的應(yīng)用程序文件包名;又如,第二授權(quán)文件信息包括應(yīng)用 程序文件的正版對(duì)應(yīng)的應(yīng)用程序文件包名和設(shè)備序列號(hào),那么第一授權(quán)文件信息也包括與 應(yīng)用程序文件對(duì)應(yīng)的應(yīng)用程序文件包名和設(shè)備序列號(hào)。當(dāng)然,第二授權(quán)文件信息并不限于 上述內(nèi)容,在此并不做限定。
[0060] 其中,所述與應(yīng)用程序文件的正版對(duì)應(yīng)的應(yīng)用程序文件包名、設(shè)備序列號(hào)、設(shè)備型 號(hào)等類別的授權(quán)信息中,均可以包括多個(gè)對(duì)象,即若第一授權(quán)文件信息包括與應(yīng)用程序文 件對(duì)應(yīng)的應(yīng)用程序文件包名時(shí),該與應(yīng)用程序文件的正版對(duì)應(yīng)的應(yīng)用程序文件包名中可以 包括多個(gè)應(yīng)用程序文件包名,例如e本閱讀器,e本商城等;若第一授權(quán)文件信息包括設(shè)備序 列號(hào)時(shí),則該設(shè)備序列號(hào)可以包括多個(gè)設(shè)備序列號(hào);若第一授權(quán)文件信息包括設(shè)備型號(hào),設(shè) 備型號(hào)也可以包括多個(gè)設(shè)備型號(hào),例如E人E本T8、E人E本T9等。同理,第二授權(quán)文件信息也 可以這樣設(shè)置,這樣可以實(shí)現(xiàn)一個(gè)授權(quán)文件包對(duì)多個(gè)應(yīng)用程序文件,或多個(gè)設(shè)備序列號(hào),或 多個(gè)設(shè)備型號(hào)實(shí)現(xiàn)授權(quán),以提高應(yīng)用程序文件授權(quán)驗(yàn)證效率。
[0061] 此時(shí),參見圖3,步驟S101中,移動(dòng)設(shè)備獲取應(yīng)用程序文件的第一校驗(yàn)碼和第二校 驗(yàn)碼的步驟之前,還包括:
[0062]步驟S201:服務(wù)器生成與應(yīng)用程序文件的正版對(duì)應(yīng)的文本格式的第二授權(quán)文件信 息。
[0063]應(yīng)用程序文件的正版在出廠前,根據(jù)應(yīng)用程序文件包名、設(shè)備序列號(hào)、設(shè)備型號(hào) (或者設(shè)備定制型號(hào))、設(shè)定的有效期等中的至少一個(gè)生成文本格式的第二授權(quán)文件信息, 該文本格式可以是.txt格式、JS0N格式、或者XML格式等,其中,優(yōu)選JS0N格式的授權(quán)文件信 息,JS0N格式的授權(quán)文件信息在后續(xù)授權(quán)項(xiàng)的比對(duì)中,比對(duì)效率高。
[0064] 例如,第二授權(quán)文件信息authorization, json(詳見下面舉例說明)。
[0065]步驟S202:服務(wù)器通過散列算法對(duì)第二授權(quán)文件信息進(jìn)行計(jì)算,得到授權(quán)校驗(yàn)碼, 授權(quán)校驗(yàn)碼即為第二校驗(yàn)碼。
[0066]例如,根據(jù)散列算法,如SHA1、MD5、或SHA256等,對(duì)第二授權(quán)文件信息求值,得到散 列值即為授權(quán)校驗(yàn)碼,如SHA1值、MD5值,或SHA256值等。
[0067] 若第二授權(quán)文件信息求的授權(quán)校驗(yàn)碼發(fā)生變化,則對(duì)應(yīng)的第二授權(quán)文件信息即被 修改,因此通過授權(quán)校驗(yàn)碼可以判斷第二授權(quán)文件信息是否被修改,第二授權(quán)文件信息被 修改后(授權(quán)校驗(yàn)碼發(fā)生改變),即可認(rèn)為第二授權(quán)文件信息失效,該應(yīng)用程序文件的正版 已經(jīng)被修改。
[0068] 同樣,步驟S101中,移動(dòng)設(shè)備獲取應(yīng)用程序文件的第一校驗(yàn)碼的步驟,可以是:移 動(dòng)設(shè)備獲取授權(quán)文件包,該授權(quán)文件包中包括第二校驗(yàn)碼的信息;通過散列算法對(duì)應(yīng)用程 序文件本身攜帶的第一授權(quán)文件信息進(jìn)行計(jì)算,得到第一校驗(yàn)碼。
[0069] 所述授權(quán)文件包中包括所述第二校驗(yàn)碼的信息,可以是第二檢驗(yàn)碼,或者,可以是 所述授權(quán)文件簽名(授權(quán)文件簽名是加密第二檢驗(yàn)碼得到的)。
[0070] 需要說明的是:當(dāng)?shù)诙跈?quán)文件信息為與應(yīng)用程序文件的正版對(duì)應(yīng)的應(yīng)用程序文 件包名、設(shè)備序列號(hào)、設(shè)備型號(hào)、設(shè)定的有效期中的一個(gè)時(shí),第一授權(quán)文件信息也是對(duì)應(yīng)的 一個(gè);當(dāng)?shù)诙跈?quán)文件信息為與應(yīng)用程序文件的正版對(duì)應(yīng)的應(yīng)用程序文件包名、設(shè)備序列 號(hào)、設(shè)備型號(hào)、設(shè)定的有效期中的二個(gè)時(shí),第一授權(quán)文件信息也是對(duì)應(yīng)的二個(gè),此時(shí)還可以 設(shè)定進(jìn)一步的應(yīng)用程序文件驗(yàn)證,例如:第二授權(quán)文件信息為與應(yīng)用程序文件的正版對(duì)應(yīng) 的應(yīng)用程序文件包名、設(shè)備序列號(hào),第一授權(quán)文件信息是與應(yīng)用程序文件對(duì)應(yīng)的應(yīng)用程序 文件包名、設(shè)備序列號(hào)。在第二授權(quán)文件信息(如下描述的authorization. json)中,可以進(jìn) 一步說明授權(quán)項(xiàng)還包括設(shè)定的有效期,即當(dāng)?shù)诙r?yàn)碼和第一校驗(yàn)碼一致,通過驗(yàn)證后,進(jìn) 行進(jìn)一步的驗(yàn)證,確認(rèn)應(yīng)用程序文件的有效期是否在設(shè)定的有效期內(nèi),如果不在設(shè)定的有 效期內(nèi),則該驗(yàn)證不通過。
[0071] 又如:第二授權(quán)文件信息為設(shè)備序列號(hào),第一授權(quán)文件信息是設(shè)備序列號(hào),在第二 授權(quán)文件信息中,可以進(jìn)一步說明授權(quán)項(xiàng)還包括應(yīng)用程序文件包名、設(shè)備型號(hào)、設(shè)定的有效 期,即當(dāng)?shù)诙r?yàn)碼和第一校驗(yàn)碼一致,通過驗(yàn)證后,進(jìn)行進(jìn)一步的驗(yàn)證,分別確認(rèn)應(yīng)用程 序文件的應(yīng)用程序文件包名、設(shè)備型號(hào)、有效期是否與第二授權(quán)文件信息中設(shè)定的一致,只 要其中有一項(xiàng)不一致,則該驗(yàn)證不通過。
[0072] 當(dāng)然,上述例子中,也可以在第一次驗(yàn)證時(shí),第二授權(quán)文件信息包括全部的授權(quán) 項(xiàng),只有在包括全部授權(quán)項(xiàng)的第二校驗(yàn)碼和包括全部授權(quán)項(xiàng)的第一校驗(yàn)碼一致時(shí),才算通 過驗(yàn)證。具體如何實(shí)現(xiàn)應(yīng)用程序文件的驗(yàn)證,可以根據(jù)實(shí)際應(yīng)用的需要確定,在此不做限 定。
[0073] 移動(dòng)設(shè)備在獲取第二校驗(yàn)碼時(shí),依然可以采用聯(lián)網(wǎng)從服務(wù)器獲取和在本地獲取兩 種方式,在此不再贅敘。下面主要是說明在本地獲取時(shí),為了進(jìn)一步保證應(yīng)用程序文件的安 全性所采取的措施。
[0074] 參見圖4,步驟S202之后,還可以包括:
[0075]步驟S203:服務(wù)器通過非對(duì)稱加密算法生成公鑰和私鑰。
[0076] 非對(duì)稱加密算法,如RSA、Elgamal、背包算法、Rabin、D_H、ECC等。應(yīng)用開發(fā)商保留 私鑰,私鑰用于加密授權(quán)校驗(yàn)碼,以生成授權(quán)文件簽名(如下步驟S204),公鑰用于解密授權(quán) 文件簽名,得到授權(quán)校驗(yàn)碼。當(dāng)然,也可以使用對(duì)稱加密算法,在此不做限定。
[0077]步驟S204:服務(wù)器使用私鑰對(duì)授權(quán)校驗(yàn)碼加密,生成授權(quán)文件簽名,例如: authorization, json. sign授權(quán)文件簽名。
[0078] 其中,第二授權(quán)文件信息、授權(quán)文件簽名、公鑰均需要內(nèi)置于應(yīng)用程序文件中。例 如,將第二授權(quán)文件信息authorization, json,授權(quán)文件簽名authorization, json. sign打 包,生成zip壓縮包(授權(quán)文件包),如授權(quán)文件包license, zip;將授權(quán)文件包license.zip 發(fā)給申請(qǐng)授權(quán)后獲得授權(quán)的用戶,或者直接在設(shè)備或終端出廠前利用授權(quán)文件包 license, zip對(duì)預(yù)裝應(yīng)用進(jìn)行授權(quán)。
[0079] 服務(wù)器可以將公鑰內(nèi)置在應(yīng)用程序文件的正版中,也可以保存在服務(wù)器本地。當(dāng) 移動(dòng)設(shè)備不聯(lián)網(wǎng)進(jìn)行驗(yàn)證時(shí),服務(wù)器可以將公鑰內(nèi)置在應(yīng)用程序文件的正版中,當(dāng)移動(dòng)設(shè) 備聯(lián)網(wǎng)進(jìn)行驗(yàn)證時(shí),服務(wù)器可以將公鑰保存在服務(wù)器本地。聯(lián)網(wǎng)或不聯(lián)網(wǎng)進(jìn)行驗(yàn)證的流程, 可以參見上述內(nèi)容,在此不再贅敘。
[0080] 此時(shí),參見圖5,步驟S101中,移動(dòng)設(shè)備獲取應(yīng)用程序文件的第二校驗(yàn)碼的步驟,包 括:
[0081] 步驟S301:移動(dòng)設(shè)備獲取內(nèi)置在應(yīng)用程序文件的公鑰。
[0082]步驟S302:移動(dòng)設(shè)備通過公鑰對(duì)授權(quán)文件簽名進(jìn)行解密,獲得授權(quán)驗(yàn)證碼,授權(quán)驗(yàn) 證碼即為第二校驗(yàn)碼。
[0083] 需要說明的是,上述步驟S101和步驟S102的執(zhí)行可以是在應(yīng)用程序文件啟動(dòng)的時(shí) 候執(zhí)行,也可以是在應(yīng)用程序文件運(yùn)行過程中執(zhí)行。
[0084] 授權(quán)文件包中還包括第二授權(quán)文件信息,第二授權(quán)文件信息、第一授權(quán)文件信息 中每個(gè)類別的授權(quán)信息均對(duì)應(yīng)一個(gè)授權(quán)項(xiàng);移動(dòng)設(shè)備在第一校驗(yàn)碼和第二校驗(yàn)碼一致時(shí), 確定應(yīng)用程序文件通過驗(yàn)證,包括:
[0085] 在第一校驗(yàn)碼和第二校驗(yàn)碼一致時(shí),移動(dòng)設(shè)備將第二授權(quán)文件信息中每個(gè)授權(quán)項(xiàng) 分別與第一授權(quán)文件信息中對(duì)應(yīng)的授權(quán)項(xiàng)進(jìn)行比對(duì),若第二授權(quán)文件信息中每個(gè)授權(quán)項(xiàng)與 第一授權(quán)文件信息中對(duì)應(yīng)的授權(quán)項(xiàng)都匹配,則確定應(yīng)用程序文件通過驗(yàn)證。
[0086] 授權(quán)項(xiàng)可以是應(yīng)用程序文件包名、設(shè)備序列號(hào)、設(shè)備型號(hào)、設(shè)定的有效期、功能限 定信息中的至少一個(gè)類別的授權(quán)信息。對(duì)應(yīng)的授權(quán)項(xiàng)匹配是指具體的授權(quán)項(xiàng)的授權(quán)內(nèi)容相 匹配。若第二授權(quán)文件信息中每個(gè)授權(quán)項(xiàng)與第一授權(quán)文件信息中對(duì)應(yīng)的授權(quán)項(xiàng)都匹配,即 表示第二授權(quán)文件信息與第一授權(quán)文件信息中相同的授權(quán)項(xiàng)中具有相同的目標(biāo)內(nèi)容,該目 標(biāo)內(nèi)容為當(dāng)前驗(yàn)證的應(yīng)用程序文件對(duì)應(yīng)的特征信息,例如應(yīng)用程序文件包名,應(yīng)用程序文 件所在設(shè)備的設(shè)備型號(hào)(即上面所描述的設(shè)備型號(hào)),或者應(yīng)用程序文件所在設(shè)備的設(shè)備序 列號(hào)等。
[0087] 例如,第一授權(quán)文件信息和第二授權(quán)文件信息中都包括應(yīng)用程序文件包授權(quán)項(xiàng), 第二授權(quán)文件信息應(yīng)用程序文件包授權(quán)項(xiàng)中包括兩個(gè)應(yīng)用程序文件包名,這個(gè)第一授權(quán)文 件信息中應(yīng)用程序文件包授權(quán)項(xiàng)也包括與第二授權(quán)文件信息中相同的兩個(gè)應(yīng)用程序文件 包名,這樣即表示第一授權(quán)文件信息和第二授權(quán)文件信息中的應(yīng)用程序文件包授權(quán)項(xiàng)相匹 配。
[0088]其中,在一實(shí)施方式中,該方法還包括:
[0089] 服務(wù)器將一預(yù)定應(yīng)用程序文件包名指定為兩個(gè)以上應(yīng)用程序文件的正版的通用 應(yīng)用程序包名;通過散列算法對(duì)預(yù)定應(yīng)用程序文件包名進(jìn)行計(jì)算,得到第二校驗(yàn)碼,第二校 驗(yàn)碼為兩個(gè)以上應(yīng)用程序文件的正版的通用第二校驗(yàn)碼;此時(shí),步驟S101包括:移動(dòng)設(shè)備在 確定兩個(gè)以上應(yīng)用程序文件的本身都攜帶有一第一應(yīng)用程序包名后,通過散列算法對(duì)第一 應(yīng)用程序包名進(jìn)行計(jì)算,獲得第一校驗(yàn)碼,在本地或者通過網(wǎng)絡(luò)從服務(wù)器獲得第二校驗(yàn)碼; 步驟S102包括:移動(dòng)設(shè)備在第一校驗(yàn)碼和第二校驗(yàn)碼一致時(shí),確定兩個(gè)以上應(yīng)用程序文件 均通過驗(yàn)證。
[0090] 對(duì)于批量的兩個(gè)以上的應(yīng)用程序文件,如果按照上述方式,一個(gè)一個(gè)地來分別進(jìn) 行驗(yàn)證,驗(yàn)證過程比較長(zhǎng),且比較浪費(fèi)時(shí)間,通過上述方式,能夠通過一個(gè)通用第二校驗(yàn)碼, 使兩個(gè)以上的批量應(yīng)用程序文件均通過驗(yàn)證,從而簡(jiǎn)化驗(yàn)證過程。
[0091] 其中,在一實(shí)施方式中,該方法還包括:
[0092]服務(wù)器分別將一系列多個(gè)設(shè)備序列號(hào)或設(shè)備型號(hào)指定為一應(yīng)用程序文件的正版 的設(shè)備序列號(hào)或設(shè)備型號(hào);通過散列算法分別對(duì)一系列多個(gè)設(shè)備序列號(hào)或設(shè)備型號(hào)進(jìn)行計(jì) 算,得到對(duì)應(yīng)的多個(gè)第二校驗(yàn)碼,多個(gè)第二校驗(yàn)碼都是應(yīng)用程序文件的正版的第二校驗(yàn)碼; 此時(shí),步驟S101包括:移動(dòng)設(shè)備通過散列算法對(duì)應(yīng)用程序文件本身攜帶的設(shè)備序列號(hào)或設(shè) 備型號(hào)進(jìn)行計(jì)算,獲得第一校驗(yàn)碼,在本地或者通過網(wǎng)絡(luò)從服務(wù)器獲得多個(gè)第二校驗(yàn)碼;步 驟S102包括:移動(dòng)設(shè)備在確定多個(gè)第二校驗(yàn)碼中有一個(gè)第二校驗(yàn)碼與第一校驗(yàn)碼一致時(shí), 確定應(yīng)用程序文件通過驗(yàn)證。
[0093] 當(dāng)一個(gè)應(yīng)用程序在多個(gè)一系列設(shè)備上分別進(jìn)行驗(yàn)證時(shí),采用上述的方法一個(gè)一個(gè) 地來分別進(jìn)行驗(yàn)證,驗(yàn)證過程比較長(zhǎng),且比較浪費(fèi)時(shí)間,通過上述方式,能夠在簡(jiǎn)化驗(yàn)證過 程的情況下,使一個(gè)應(yīng)用程序文件在多個(gè)一系列設(shè)備序列號(hào)或設(shè)備型號(hào)的設(shè)備上通過驗(yàn) 證。
[0094] 其中,在一實(shí)施方式中,所述第二授權(quán)文件信息包括第二唯一標(biāo)識(shí),所述第二唯一 標(biāo)識(shí)為與所述應(yīng)用程序文件的正版對(duì)應(yīng)的應(yīng)用程序文件包名、設(shè)備序列號(hào)、設(shè)備型號(hào)、設(shè)定 的有效期、功能限定信息中的至少一個(gè)類別的授權(quán)信息;所述第一授權(quán)文件信息包括第一 唯一標(biāo)識(shí),所述第一唯一標(biāo)識(shí)為與所述應(yīng)用程序文件對(duì)應(yīng)的應(yīng)用程序文件包名、設(shè)備序列 號(hào)、設(shè)備型號(hào)、設(shè)定的有效期、功能限定信息中的至少一個(gè)類別的授權(quán)信息,此時(shí),該方法還 包括:
[0095]服務(wù)器對(duì)應(yīng)用程序文件的正版攜帶的第二唯一標(biāo)識(shí)進(jìn)行分類,分為主第二唯一標(biāo) 識(shí)和一個(gè)以上次第二唯一標(biāo)識(shí);通過散列算法,分別對(duì)主第二唯一標(biāo)識(shí)和一個(gè)以上次第二 唯一標(biāo)識(shí)進(jìn)行計(jì)算,分別得到主第二校驗(yàn)碼和一個(gè)以上次第二校驗(yàn)碼;此時(shí),步驟S101包 括:移動(dòng)設(shè)備對(duì)應(yīng)用程序文件本身攜帶的第一唯一標(biāo)識(shí)進(jìn)行對(duì)應(yīng)的分類,分為對(duì)應(yīng)的主第 一唯一標(biāo)識(shí)和一個(gè)以上次第一唯一標(biāo)識(shí);移動(dòng)設(shè)備通過散列算法,分別對(duì)主第一唯一標(biāo)識(shí) 和一個(gè)以上次第一唯一標(biāo)識(shí)進(jìn)行計(jì)算,獲得主第一校驗(yàn)碼和一個(gè)以上次第一校驗(yàn)碼;移動(dòng) 設(shè)備在本地或者通過網(wǎng)絡(luò)從服務(wù)器獲得主第二校驗(yàn)碼和一個(gè)以上次第二校驗(yàn)碼;步驟S102 包括:移動(dòng)設(shè)備在主第一校驗(yàn)碼和主第二校驗(yàn)碼一致時(shí),確定應(yīng)用程序文件通過第一級(jí)驗(yàn) 證;移動(dòng)設(shè)備再分別逐級(jí)比較一個(gè)以上次第一校驗(yàn)碼和一個(gè)以上次第二檢驗(yàn)碼,當(dāng)一個(gè)以 上次第一校驗(yàn)碼和一個(gè)以上次第二檢驗(yàn)碼分別逐級(jí)一致時(shí),確定應(yīng)用程序文件分別通過逐 級(jí)驗(yàn)證。
[0096]上述方式是另一種實(shí)現(xiàn)分級(jí)驗(yàn)證的方式,即一級(jí)一級(jí)比較各項(xiàng)授權(quán)項(xiàng),在各個(gè)授 權(quán)項(xiàng)均通過驗(yàn)證的情況下,最后確定應(yīng)用程序文件通過驗(yàn)證。因此,通過上述方式,能夠?qū)?現(xiàn)逐級(jí)驗(yàn)證。
[0097]下面以E本閱讀器的JS0N格式第二授權(quán)文件信息為例進(jìn)行說明,E本閱讀器的應(yīng)用 程序文件包名"cn. eben. reader"
[0099] 上述以[]標(biāo)示的應(yīng)用包名、設(shè)備序列號(hào)、設(shè)備型號(hào)、設(shè)備定制型號(hào)等,可以包括多 個(gè)值。
[0100] 此授權(quán)文件信息中包括多個(gè)授權(quán)項(xiàng),例如應(yīng)用程序文件包名、設(shè)備序列號(hào)、設(shè)備型 號(hào)、功能限定信息等,每個(gè)授權(quán)項(xiàng)也可以對(duì)多個(gè)對(duì)象的限定。例如:當(dāng)?shù)诙跈?quán)文件信息包 括應(yīng)用程序文件包名時(shí),應(yīng)用程序文件包名對(duì)應(yīng)的授權(quán)項(xiàng)中可以包括多個(gè)應(yīng)用程序文件包 名,例如e本閱讀器,e本商城等,又例如,當(dāng)?shù)诙跈?quán)文件信息包括設(shè)備型號(hào)時(shí),設(shè)備型號(hào)授 權(quán)項(xiàng)中可以包括一個(gè)設(shè)備的一個(gè)或多個(gè)設(shè)備型號(hào),例如設(shè)備型號(hào)包括E人E本T8、E人E本T9, 那么該授權(quán)文件信息對(duì)E人E本T8、E人E本T9的設(shè)備有效。又如,即當(dāng)?shù)诙跈?quán)文件信息包括 設(shè)備序列號(hào)(或設(shè)備編號(hào))時(shí),例如可以設(shè)置E本生產(chǎn)時(shí)的設(shè)備編號(hào),即知道哪些設(shè)備編號(hào)是 e本公司生產(chǎn)的,則可以設(shè)定這些編號(hào)可以授權(quán)使用e本閱讀器。[沖的內(nèi)容以","分隔。
[0101] 上面授權(quán)文件信息的功能限定信息(extra)授權(quán)項(xiàng)中,可以設(shè)定哪些功能可以用, 哪些功能不可用,不同的功能對(duì)應(yīng)不同的授權(quán)。一般情況下,可以分為標(biāo)準(zhǔn)版(基本功能)、 增強(qiáng)版、全功能版,每個(gè)版本可以預(yù)先設(shè)定授權(quán)不同的功能限定信息。
[0102] 一個(gè)具體的JS0N格式授權(quán)文件信息如下:
[0104] 具體來說,在本發(fā)明一個(gè)【具體實(shí)施方式】中,第二授權(quán)文件信息與授權(quán)文件簽名兩 項(xiàng)內(nèi)容組成一個(gè)完成的授權(quán)信息,檢查授權(quán)信息是否有效的過程具體可以如下:
[0105] (1)公鑰內(nèi)置于軟件開發(fā)工具包(Software Development Kit,簡(jiǎn)寫SDK),編譯至 應(yīng)用程序文件中,應(yīng)用程序文件啟動(dòng)后,解壓該授權(quán)信息license.zip得到第二授權(quán)文件信 息authorization· json和授權(quán)文件簽名authorization· json. sign;
[0106] (2)用公鑰解密應(yīng)用程序文件的授權(quán)文件簽名authorization, json. sign,得到第 二授權(quán)文件信息authorization, json對(duì)應(yīng)的授權(quán)校驗(yàn)碼(如SHA1),即為第二校驗(yàn)碼;
[0107] (3)計(jì)算解壓得到的第二授權(quán)文件信息(也即是應(yīng)用程序文件本身攜帶的第一授 權(quán)文件信息)authorization · json的校驗(yàn)碼,即為第一校驗(yàn)碼(與第二校驗(yàn)碼采用相同的散 列算法);
[0108] (4)將計(jì)算出的第一校驗(yàn)碼與解密得到的第二校驗(yàn)碼兩者進(jìn)行比對(duì),用來校驗(yàn)應(yīng) 用程序文件的第二授權(quán)文件信息authorization, json是否改動(dòng),計(jì)算出的第一校驗(yàn)碼與解 密得到的第二校驗(yàn)碼相同,貝第二授權(quán)文件信息authorization, json無改動(dòng),若第二授權(quán) 文件信息authorization. json被修改,貝lj第一校驗(yàn)碼和第二校驗(yàn)碼一定不相同,此授權(quán)即 為無效授權(quán);
[0109] (5)在第二授權(quán)文件信息authorization, json為有效授權(quán)文件的情況下,對(duì)第一、 第二授權(quán)文件信息中其它的授權(quán)項(xiàng)進(jìn)行進(jìn)一步的檢查。
[0110] 在檢查第一、第二授權(quán)文件信息時(shí),每個(gè)授權(quán)文件信息中包括多個(gè)其它的授權(quán)項(xiàng), 在第二授權(quán)文件信息authorization, json通過第二校驗(yàn)碼的驗(yàn)證,初步確認(rèn)有效的授權(quán)文 件信息的情況下,需要再進(jìn)一步一一校驗(yàn)第一、第二授權(quán)文件信息中其它授權(quán)項(xiàng),第一、第 二授權(quán)文件信息中所有的其它授權(quán)項(xiàng)都為可選項(xiàng),所有項(xiàng)共同生效才能保證授權(quán)文件信息 實(shí)質(zhì)有效,即authorization. json中的授權(quán)項(xiàng),需要--校驗(yàn),若全部通過,則該應(yīng)用文件 程序通過驗(yàn)證,授權(quán)有效,每一授權(quán)項(xiàng)的無效都能否定應(yīng)用程序文件的有效性。通過上述方 式,可以實(shí)現(xiàn)分級(jí)驗(yàn)證。
[0111] 參見圖6,本發(fā)明還提供一種應(yīng)用程序文件驗(yàn)證的系統(tǒng),該系統(tǒng)可以執(zhí)行上述方法 中的步驟,相關(guān)的詳細(xì)內(nèi)容請(qǐng)參見上述方法部分,在此不再贅敘。
[0112] 該系統(tǒng)10包括:移動(dòng)設(shè)備100,該移動(dòng)設(shè)備100包括:獲取模塊101和確定模塊102。
[0113] 獲取模塊101用于獲取應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn)碼,其中,第一校驗(yàn) 碼是根據(jù)應(yīng)用程序文件本身攜帶的第一授權(quán)文件信息得到的,第二校驗(yàn)碼是根據(jù)應(yīng)用程序 文件的正版攜帶的第二授權(quán)文件信息得到的。
[0114] 確定模塊102用于在第一校驗(yàn)碼和第二校驗(yàn)碼一致時(shí),確定應(yīng)用程序文件通過驗(yàn) 證。
[0115] 本發(fā)明實(shí)施方式移動(dòng)設(shè)備獲取應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn)碼,第一校 驗(yàn)碼是根據(jù)所述應(yīng)用程序文件本身攜帶的第一授權(quán)文件信息得到的,所述第二校驗(yàn)碼是根 據(jù)所述應(yīng)用程序文件的正版攜帶的第二授權(quán)文件信息得到的;所述移動(dòng)設(shè)備在所述第一校 驗(yàn)碼和所述第二校驗(yàn)碼一致時(shí),確定所述應(yīng)用程序文件通過驗(yàn)證。由于應(yīng)用程序文件的正 版攜帶的第二授權(quán)文件信息,應(yīng)用程序文件本身攜帶第一授權(quán)文件信息,當(dāng)應(yīng)用程序文件 沒有被篡改時(shí),第一授權(quán)文件信息和第二授權(quán)文件信息是一致的,第一校驗(yàn)碼和第二校驗(yàn) 碼也是一致的,當(dāng)應(yīng)用程序文件被篡改后,第一授權(quán)文件信息和第二授權(quán)文件信息是不一 致的,第一校驗(yàn)碼和第二校驗(yàn)碼也不一致,通過這種方式,能夠在移動(dòng)端確定應(yīng)用程序文件 的安全性,且不用輸入較長(zhǎng)的代碼。
[0116] 其中,第一授權(quán)文件信息為第一簽名信息,第二授權(quán)文件信息為第二簽名信息。
[0117] 其中,獲取模塊101具體用于在應(yīng)用程序文件啟動(dòng)時(shí),通過網(wǎng)絡(luò)連接服務(wù)器,進(jìn)而 從服務(wù)器獲得應(yīng)用程序文件的第二校驗(yàn)碼;或,在應(yīng)用程序文件啟動(dòng)時(shí),獲取內(nèi)置在應(yīng)用程 序文件的第二校驗(yàn)碼。
[0118] 其中,參見圖7,系統(tǒng)10還包括服務(wù)器200,服務(wù)器200包括:第一計(jì)算模塊201。
[0119]第一計(jì)算模塊201用于通過散列算法對(duì)應(yīng)用程序文件的正版已設(shè)置的第二簽名信 息進(jìn)行計(jì)算,得到第二校驗(yàn)碼。
[0120] 移動(dòng)設(shè)備100的獲取模塊101具體用于通過散列算法對(duì)應(yīng)用程序文件本身攜帶的 第一簽名信息進(jìn)行計(jì)算,得到第一校驗(yàn)碼。
[0121] 其中,第二授權(quán)文件信息為與應(yīng)用程序文件的正版對(duì)應(yīng)的應(yīng)用程序文件包名、設(shè) 備序列號(hào)、設(shè)備型號(hào)、設(shè)定的有效期、功能限定信息中的至少一個(gè)類別的授權(quán)信息;第一授 權(quán)文件信息為與應(yīng)用程序文件對(duì)應(yīng)的應(yīng)用程序文件包名、設(shè)備序列號(hào)、設(shè)備型號(hào)、設(shè)定的有 效期、功能限定信息中的至少一個(gè)類別的授權(quán)信息。
[0122] 參見圖8,系統(tǒng)10還包括服務(wù)器200,服務(wù)器200包括:第一生成模塊202和第二計(jì)算 模塊203。
[0123] 第一生成模塊202用于生成與應(yīng)用程序文件的正版對(duì)應(yīng)的文本格式的第二授權(quán)文 件信息。
[0124] 第二計(jì)算模塊203用于通過散列算法對(duì)第二授權(quán)文件信息進(jìn)行計(jì)算,得到授權(quán)校 驗(yàn)碼,授權(quán)校驗(yàn)碼即為第二校驗(yàn)碼。
[0125] 移動(dòng)設(shè)備100的獲取模塊101具體用于獲取授權(quán)文件包,授權(quán)文件包中包括第二校 驗(yàn)碼的信息;通過散列算法對(duì)應(yīng)用程序文件本身攜帶的第一授權(quán)文件信息進(jìn)行計(jì)算,得到 第一校驗(yàn)碼。
[0126] 其中,參見圖9,服務(wù)器200還包括:第二生成模塊204和第三生成模塊205。
[0127] 第二生成模塊204用于通過非對(duì)稱加密算法生成公鑰和私鑰。
[0128] 第三生成模塊205用于使用私鑰對(duì)授權(quán)校驗(yàn)碼加密,生成授權(quán)文件簽名。
[0129] 此時(shí),移動(dòng)設(shè)備100還用于:
[0130] 獲取內(nèi)置在應(yīng)用程序文件的公鑰。
[0131]通過公鑰對(duì)授權(quán)文件簽名進(jìn)行解密,獲得授權(quán)驗(yàn)證碼,授權(quán)驗(yàn)證碼即為第二校驗(yàn) 碼。
[0132] 其中,授權(quán)文件包中還包括第二授權(quán)文件信息,第二授權(quán)文件信息、第一授權(quán)文件 信息中每個(gè)類別的授權(quán)信息均對(duì)應(yīng)一個(gè)授權(quán)項(xiàng);確定模塊還用于在第一校驗(yàn)碼和第二校驗(yàn) 碼一致時(shí),將第二授權(quán)文件信息中每個(gè)授權(quán)項(xiàng)分別與第一授權(quán)文件信息中對(duì)應(yīng)的授權(quán)項(xiàng)進(jìn) 行比對(duì),若第二授權(quán)文件信息中每個(gè)授權(quán)項(xiàng)與第一授權(quán)文件信息中對(duì)應(yīng)的授權(quán)項(xiàng)都匹配, 則確定應(yīng)用程序文件通過驗(yàn)證。
[0133] 以上所述僅為本發(fā)明的實(shí)施方式,并非因此限制本發(fā)明的專利范圍,凡是利用本 發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的 技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種應(yīng)用程序文件驗(yàn)證的方法,其特征在于,所述方法包括: 移動(dòng)設(shè)備獲取應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn)碼,其中,所述第一校驗(yàn)碼是根 據(jù)所述應(yīng)用程序文件本身攜帶的第一授權(quán)文件信息得到的,所述第二校驗(yàn)碼是根據(jù)所述應(yīng) 用程序文件的正版攜帶的第二授權(quán)文件信息得到的; 所述移動(dòng)設(shè)備在所述第一校驗(yàn)碼和所述第二校驗(yàn)碼一致時(shí),確定所述應(yīng)用程序文件通 過驗(yàn)證。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一授權(quán)文件信息為第一簽名信息, 所述第二授權(quán)文件信息為第二簽名信息; 所述移動(dòng)設(shè)備獲取所述應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn)碼的步驟之前,還包 括: 服務(wù)器通過散列算法對(duì)所述應(yīng)用程序文件的正版已設(shè)置的所述第二簽名信息進(jìn)行計(jì) 算,得到所述第二校驗(yàn)碼; 所述移動(dòng)設(shè)備獲取所述應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn)碼的步驟,包括: 所述移動(dòng)設(shè)備在所述應(yīng)用程序文件啟動(dòng)時(shí),通過網(wǎng)絡(luò)連接服務(wù)器,進(jìn)而從所述服務(wù)器 獲得所述應(yīng)用程序文件的第二校驗(yàn)碼,或,所述移動(dòng)設(shè)備在所述應(yīng)用程序文件啟動(dòng)時(shí),獲取 內(nèi)置在所述應(yīng)用程序文件的所述第二校驗(yàn)碼; 所述移動(dòng)設(shè)備通過所述散列算法對(duì)所述應(yīng)用程序文件本身攜帶的所述第一簽名信息 進(jìn)行計(jì)算,得到所述第一校驗(yàn)碼。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第二授權(quán)文件信息包括與所述應(yīng)用程 序文件的正版對(duì)應(yīng)的應(yīng)用程序文件包名、設(shè)備序列號(hào)、設(shè)備型號(hào)、設(shè)定的有效期、功能限定 信息中的至少一個(gè)類別的授權(quán)信息;所述第一授權(quán)文件信息包括與所述應(yīng)用程序文件對(duì)應(yīng) 的應(yīng)用程序文件包名、設(shè)備序列號(hào)、設(shè)備型號(hào)、設(shè)定的有效期、功能限定信息中的至少一個(gè) 類別的授權(quán)信息。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述移動(dòng)設(shè)備獲取應(yīng)用程序文件的第一校 驗(yàn)碼和第二校驗(yàn)碼的步驟之前,還包括: 服務(wù)器生成與所述應(yīng)用程序文件的正版對(duì)應(yīng)的文本格式的所述第二授權(quán)文件信息; 所述服務(wù)器通過散列算法對(duì)所述第二授權(quán)文件信息進(jìn)行計(jì)算,得到授權(quán)校驗(yàn)碼,所述 授權(quán)校驗(yàn)碼即為所述第二校驗(yàn)碼; 所述移動(dòng)設(shè)備獲取應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn)碼的步驟,包括: 所述移動(dòng)設(shè)備獲取授權(quán)文件包,所述授權(quán)文件包中包括所述第二校驗(yàn)碼的信息; 所述移動(dòng)設(shè)備通過所述散列算法對(duì)所述應(yīng)用程序文件本身攜帶的所述第一授權(quán)文件 信息進(jìn)行計(jì)算,得到所述第一校驗(yàn)碼。5. 根據(jù)權(quán)利要求4所述的方法,其特征在于, 所述服務(wù)器通過散列算法對(duì)所述第二授權(quán)文件信息進(jìn)行計(jì)算,得到授權(quán)校驗(yàn)碼的步驟 之后,還包括: 所述服務(wù)器通過非對(duì)稱加密算法生成公鑰和私鑰; 所述服務(wù)器使用所述私鑰對(duì)所述授權(quán)校驗(yàn)碼加密,生成授權(quán)文件簽名; 所述第二校驗(yàn)碼的信息為所述授權(quán)文件簽名,所述移動(dòng)設(shè)備獲取應(yīng)用程序文件的第一 校驗(yàn)碼和第二校驗(yàn)碼的步驟,還包括: 所述移動(dòng)設(shè)備獲取內(nèi)置在所述應(yīng)用程序文件的所述公鑰; 所述移動(dòng)設(shè)備通過所述公鑰對(duì)所述授權(quán)文件簽名進(jìn)行解密,獲得所述授權(quán)驗(yàn)證碼,所 述授權(quán)驗(yàn)證碼即為所述第二校驗(yàn)碼。6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述授權(quán)文件包中還包括所述第二授權(quán)文 件信息,所述第二授權(quán)文件信息、所述第一授權(quán)文件信息中每個(gè)類別的授權(quán)信息均對(duì)應(yīng)一 個(gè)授權(quán)項(xiàng); 所述移動(dòng)設(shè)備在所述第一校驗(yàn)碼和所述第二校驗(yàn)碼一致時(shí),確定所述應(yīng)用程序文件通 過驗(yàn)證,包括: 在所述第一校驗(yàn)碼和所述第二校驗(yàn)碼一致時(shí),所述移動(dòng)設(shè)備將所述第二授權(quán)文件信息 中每個(gè)授權(quán)項(xiàng)分別與所述第一授權(quán)文件信息中對(duì)應(yīng)的授權(quán)項(xiàng)進(jìn)行比對(duì),若所述第二授權(quán)文 件信息中每個(gè)授權(quán)項(xiàng)與所述第一授權(quán)文件信息中對(duì)應(yīng)的授權(quán)項(xiàng)都匹配,則確定所述應(yīng)用程 序文件通過驗(yàn)證。7. -種應(yīng)用程序文件驗(yàn)證的系統(tǒng),其特征在于,所述系統(tǒng)包括:移動(dòng)設(shè)備,所述移動(dòng)設(shè) 備包括: 獲取模塊,用于獲取應(yīng)用程序文件的第一校驗(yàn)碼和第二校驗(yàn)碼,其中,所述第一校驗(yàn)碼 是根據(jù)所述應(yīng)用程序文件本身攜帶的第一授權(quán)文件信息得到的,所述第二校驗(yàn)碼是根據(jù)所 述應(yīng)用程序文件的正版攜帶的第二授權(quán)文件信息得到的; 確定模塊,用于在所述第一校驗(yàn)碼和所述第二校驗(yàn)碼一致時(shí),確定所述應(yīng)用程序文件 通過驗(yàn)證。8. 根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述第一授權(quán)文件信息為第一簽名信息, 所述第二授權(quán)文件信息為第二簽名信息; 所述系統(tǒng)還包括:服務(wù)器,所述服務(wù)器包括: 第一計(jì)算模塊,用于通過散列算法對(duì)所述應(yīng)用程序文件的正版已設(shè)置的所述第二簽名 信息進(jìn)行計(jì)算,得到所述第二校驗(yàn)碼; 所述獲取模塊具體用于: 在所述應(yīng)用程序文件啟動(dòng)時(shí),通過網(wǎng)絡(luò)連接服務(wù)器,進(jìn)而從所述服務(wù)器獲得所述應(yīng)用 程序文件的第二校驗(yàn)碼,或,在所述應(yīng)用程序文件啟動(dòng)時(shí),獲取內(nèi)置在所述應(yīng)用程序文件的 所述第二校驗(yàn)碼; 通過所述散列算法對(duì)所述應(yīng)用程序文件本身攜帶的所述第一簽名信息進(jìn)行計(jì)算,得到 所述第一校驗(yàn)碼。9. 根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述第二授權(quán)文件信息包括與所述應(yīng)用程 序文件的正版對(duì)應(yīng)的應(yīng)用程序文件包名、設(shè)備序列號(hào)、設(shè)備型號(hào)、設(shè)定的有效期、功能限定 信息中的至少一個(gè)類別的授權(quán)信息;所述第一授權(quán)文件信息包括與所述應(yīng)用程序文件對(duì)應(yīng) 的應(yīng)用程序文件包名、設(shè)備序列號(hào)、設(shè)備型號(hào)、設(shè)定的有效期、功能限定信息中的至少一個(gè) 類別的授權(quán)信息。10. 根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括:服務(wù)器,所述服務(wù)器包 括: 第一生成模塊,用于生成與所述應(yīng)用程序文件的正版對(duì)應(yīng)的文本格式的所述第二授權(quán) 文件信息; 第二計(jì)算模塊,用于通過散列算法對(duì)所述第二授權(quán)文件信息進(jìn)行計(jì)算,得到授權(quán)校驗(yàn) 碼,所述授權(quán)校驗(yàn)碼即為所述第二校驗(yàn)碼; 所述獲取模塊具體用于: 獲取授權(quán)文件包,所述授權(quán)文件包中包括所述第二校驗(yàn)碼的信息; 通過所述散列算法對(duì)所述應(yīng)用程序文件本身攜帶的所述第一授權(quán)文件信息進(jìn)行計(jì)算, 得到所述第一校驗(yàn)碼。11. 根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于, 所述服務(wù)器還包括: 第二生成模塊,用于通過非對(duì)稱加密算法生成公鑰和私鑰; 第三生成模塊,用于使用所述私鑰對(duì)所述授權(quán)校驗(yàn)碼加密,生成授權(quán)文件簽名; 所述第二校驗(yàn)碼的信息為所述授權(quán)文件簽名,所述獲取模塊還用于: 獲取內(nèi)置在所述應(yīng)用程序文件的所述公鑰; 通過所述公鑰對(duì)所述授權(quán)文件簽名進(jìn)行解密,獲得所述授權(quán)驗(yàn)證碼,所述授權(quán)驗(yàn)證碼 即為所述第二校驗(yàn)碼。12. 根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述授權(quán)文件包中還包括所述第二授權(quán) 文件信息,所述第二授權(quán)文件信息、所述第一授權(quán)文件信息中每個(gè)類別的授權(quán)信息均對(duì)應(yīng) 一個(gè)授權(quán)項(xiàng); 所述確定模塊還用于在所述第一校驗(yàn)碼和所述第二校驗(yàn)碼一致時(shí),將所述第二授權(quán)文 件信息中每個(gè)授權(quán)項(xiàng)分別與所述第一授權(quán)文件信息中對(duì)應(yīng)的授權(quán)項(xiàng)進(jìn)行比對(duì),若所述第二 授權(quán)文件信息中每個(gè)授權(quán)項(xiàng)與所述第一授權(quán)文件信息中對(duì)應(yīng)的授權(quán)項(xiàng)都匹配,則確定所述 應(yīng)用程序文件通過驗(yàn)證。
【文檔編號(hào)】G06F21/44GK106096381SQ201610395335
【公開日】2016年11月9日
【申請(qǐng)日】2016年6月6日 公開號(hào)201610395335.7, CN 106096381 A, CN 106096381A, CN 201610395335, CN-A-106096381, CN106096381 A, CN106096381A, CN201610395335, CN201610395335.7
【發(fā)明人】韓鵬程, 任靖, 周佳, 馮繼超
【申請(qǐng)人】北京壹人壹本信息科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
武陟县| 保靖县| 兴安盟| 忻城县| 西乌珠穆沁旗| 万山特区| 同心县| 红安县| 泾阳县| 福泉市| 台南县| 霍邱县| 应城市| 彭州市| 高雄市| 达州市| 赣州市| 沙田区| 恩平市| 周口市| 山阴县| 西和县| 固始县| 乃东县| 巩义市| 巨鹿县| 石阡县| 交口县| 芜湖县| 西乌珠穆沁旗| 大石桥市| 阿尔山市| 常德市| 凤庆县| 丽江市| 余干县| 河东区| 大邑县| 德江县| 昂仁县| 景泰县|