一種軟件的配屬方法及裝置制造方法
【專利摘要】本申請(qǐng)?zhí)峁┝艘环N軟件的配屬方法及裝置,接收待配屬的目標(biāo)軟件的軟件包后,確定所述待配屬的目標(biāo)軟件的歸屬設(shè)備,在所述歸屬設(shè)備的注冊(cè)數(shù)據(jù)已存在的情況下,分別創(chuàng)建目標(biāo)軟件的軟件包中的每個(gè)軟件文件的數(shù)字摘要、歸屬證書文件、歸屬證書文件的數(shù)字摘要、列表文件以及列表文件的數(shù)字摘要,從而完成軟件包的配屬。在軟件包安裝或更新過(guò)程中,可以將設(shè)備本地已存儲(chǔ)的注冊(cè)數(shù)據(jù)與配屬文件包中的內(nèi)容進(jìn)行對(duì)比,驗(yàn)證均通過(guò)后,即可安裝此軟件包,因此,本申請(qǐng)所述的方法及裝置,能夠提高軟件安裝的安全性。
【專利說(shuō)明】一種軟件的配屬方法及裝置
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種軟件的配屬方法及裝置。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)技術(shù)及電子信息技術(shù)的發(fā)展,軟件的使用已經(jīng)出現(xiàn)在各個(gè)領(lǐng)域中,而對(duì)于特種設(shè)備領(lǐng)域而言,例如軌道交通領(lǐng)域,對(duì)于軟件安裝的安全性有很高的要求,以保證設(shè)備運(yùn)行的安全性。
[0003]而目前,針對(duì)于軌道交通領(lǐng)域,軟件安裝的過(guò)程中還存在著安全漏洞,例如,向設(shè)備中安裝的軟件不是該設(shè)備的正版軟件,或者,雖然是本設(shè)備的正版軟件,但是軟件中的某些內(nèi)容已被篡改,一旦出現(xiàn)上述情況,輕則導(dǎo)致設(shè)備不能正常運(yùn)行,重則導(dǎo)致安全事故。
[0004]可見(jiàn),如何提高軟件安裝過(guò)程中的安全性,成為目前亟待解決的問(wèn)題。
【發(fā)明內(nèi)容】
[0005] 申請(qǐng)人:在研宄的過(guò)程中發(fā)現(xiàn),如果能在軟件中預(yù)先設(shè)置某些安全內(nèi)容,并在軟件安裝之前先驗(yàn)證軟件中的這些安全內(nèi)容,在這些內(nèi)容安全合法的情況下,再進(jìn)行安裝,即能夠提高軟件安裝的安全性。
[0006]本申請(qǐng)?zhí)峁┝艘环N軟件的配屬方法及裝置,目的在于解決如何提高軟件安裝過(guò)程中的安全性的問(wèn)題。
[0007]為了實(shí)現(xiàn)上述目的,本申請(qǐng)?zhí)峁┝艘韵录夹g(shù)方案:
[0008]一種軟件的配屬方法,包括:
[0009]接收待配屬的目標(biāo)軟件的軟件包;
[0010]確定所述待配屬的目標(biāo)軟件的歸屬設(shè)備;
[0011]在所述歸屬設(shè)備的注冊(cè)數(shù)據(jù)已存在的情況下,對(duì)于所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件,均生成其數(shù)字摘要;
[0012]創(chuàng)建歸屬證書文件,所述歸屬證書文件的文件名為所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬證書文件名,所述歸屬證書文件中包括所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬標(biāo)識(shí);
[0013]生成所述歸屬證書文件的數(shù)字摘要;
[0014]創(chuàng)建列表文件,所述列表文件的文件名為所述注冊(cè)數(shù)據(jù)中規(guī)定的列表文件名,所述列表文件中包括所述軟件包中所有文件的文件名列表以及每個(gè)軟件文件的數(shù)字摘要的文件名列表;
[0015]生成所述列表文件的數(shù)字摘要;
[0016]將所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件、所述每個(gè)軟件文件的數(shù)字摘要、所述歸屬證書文件、所述歸屬證書文件的數(shù)字摘要、所述列表文件及所述列表文件的數(shù)字摘要均存儲(chǔ)到所述軟件包中的配屬文件包中。
[0017]可選地,將所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件及所述每個(gè)軟件文件的數(shù)字摘要存儲(chǔ)到所述軟件包中的配屬文件包中,包括:
[0018]從所述注冊(cè)數(shù)據(jù)中獲取所述每個(gè)軟件文件的數(shù)字摘要的存放標(biāo)志;
[0019]如果所述存放標(biāo)志表示單獨(dú)存放,則使用所述注冊(cè)數(shù)據(jù)中規(guī)定的軟件文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述每個(gè)軟件文件的數(shù)字摘要的第一類存儲(chǔ)文件,并將所述每個(gè)軟件文件的數(shù)字摘要分別存儲(chǔ)到各自對(duì)應(yīng)的第一類存儲(chǔ)文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第一密鑰及加密方式,加密所述軟件文件及所述第一類存儲(chǔ)文件,將所述軟件文件的密文及所述第一類存儲(chǔ)文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中;
[0020]如果所述存放標(biāo)志表示非單獨(dú)存放,從所述注冊(cè)數(shù)據(jù)中獲取第一存放文件名,存儲(chǔ)的第一起始位置及第一長(zhǎng)度,并將所述每個(gè)軟件文件的數(shù)字摘要以所述第一起始位置及所述第一長(zhǎng)度、存儲(chǔ)到具有所述第一存放文件名的軟件文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第一密鑰及加密方式,將所述具有所述第一存放文件名的軟件文件進(jìn)行加密,將所述具有所述第一存放文件名的軟件文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中。
[0021]可選地,將所述列表文件及所述列表文件的數(shù)字摘要均存儲(chǔ)到所述軟件包中的配屬文件包中,包括:
[0022]從所述注冊(cè)數(shù)據(jù)中獲取所述列表文件的數(shù)字摘要的存放標(biāo)志;
[0023]如果所述列表文件的數(shù)字摘要的存放標(biāo)志表示單獨(dú)存放,則使用所述注冊(cè)數(shù)據(jù)中規(guī)定的列表文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述列表文件的數(shù)字摘要的第二類存儲(chǔ)文件,并將所述列表文件的數(shù)字摘要寫入其對(duì)應(yīng)的第二類存儲(chǔ)文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第二密鑰及加密方式,加密所述列表文件及所述第二類存儲(chǔ)文件,將所述列表文件的密文及所述第二類存儲(chǔ)文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中;
[0024]如果所述列表文件的數(shù)字摘要的存放標(biāo)志表示非單獨(dú)存放,從所述注冊(cè)數(shù)據(jù)中獲取第二存放文件名、存儲(chǔ)的第二起始位置及第二長(zhǎng)度,在具有所述第二文件名的文件為列表文件的情況下,將所述列表文件的數(shù)字摘要以所述第二起始位置及所述第二長(zhǎng)度、存放到所述列表文件中,在具有所述第二文件名的文件為歸屬證書文件名的情況下,將所述列表文件的數(shù)字摘要以所述第二起始位置及所述第二長(zhǎng)度、存放到所述歸屬證書文件中。
[0025]可選地,將所述歸屬證書文件及所述歸屬證書文件的數(shù)字摘要存儲(chǔ)到所述軟件包中的配屬文件包中,包括:
[0026]從所述注冊(cè)數(shù)據(jù)中獲取所述歸屬證書文件的數(shù)字摘要的存放標(biāo)志;
[0027]如果所述歸屬證書文件的數(shù)字摘要的存放標(biāo)志為表示單獨(dú)存放,則用所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬證書文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述歸屬證書文件的數(shù)字摘要的第三類存儲(chǔ)文件,并將所述歸屬證書文件的數(shù)字摘要寫入其對(duì)應(yīng)的第三類存儲(chǔ)文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第三密鑰,加密所述歸屬證書文件及所述第三類存儲(chǔ)文件,并將所述歸屬證書文件的密文及所述第三類存儲(chǔ)文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中;
[0028]如果所述歸屬證書文件的數(shù)字摘要的存放標(biāo)志為表示非單獨(dú)存放,從所述注冊(cè)數(shù)據(jù)中獲取第三存放文件名,存儲(chǔ)的第三起始位置及第三長(zhǎng)度,在具有所述第三文件名的文件為列表文件的情況下,將所述歸屬證書文件的數(shù)字摘要以所述第三起始位置及所述第三長(zhǎng)度、存放到所述列表文件中,使用所述注冊(cè)數(shù)據(jù)規(guī)定的第四密鑰,加密所述列表文件,并將所述列表文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中,否則,將所述歸屬證書文件的數(shù)字摘要存儲(chǔ)到所述歸屬證書文件中,使用所述注冊(cè)數(shù)據(jù)中對(duì)應(yīng)的第五密鑰,加密所述歸屬證書文件,將所述歸屬證書文件的數(shù)字摘要密文及所述歸屬證書文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中。
[0029]可選地,還包括:
[0030]在對(duì)于所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件,均生成其數(shù)字摘要之前,獲取所述注冊(cè)數(shù)據(jù)的私鑰,使用所述私鑰,將所述注冊(cè)數(shù)據(jù)的密文解析為明文;
[0031]在所述歸屬設(shè)備的注冊(cè)數(shù)據(jù)不存在的情況下,發(fā)出注冊(cè)數(shù)據(jù)創(chuàng)建提示。
[0032]一種軟件的配屬裝置,包括:
[0033]接收模塊,用于接收待配屬的目標(biāo)軟件的軟件包;
[0034]確定模塊,用于確定所述待配屬的目標(biāo)軟件的歸屬設(shè)備;
[0035]第一生成模塊,用于在所述歸屬設(shè)備的注冊(cè)數(shù)據(jù)已存在的情況下,對(duì)于所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件,均生成其數(shù)字摘要;
[0036]第一創(chuàng)建模塊,用于創(chuàng)建歸屬證書文件,所述歸屬證書文件的文件名為所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬證書文件名,所述歸屬證書文件中包括所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬標(biāo)識(shí);
[0037]第二生成模塊,用于生成所述歸屬證書文件的數(shù)字摘要;
[0038]第二創(chuàng)建模塊,用于創(chuàng)建列表文件,所述列表文件的文件名為所述注冊(cè)數(shù)據(jù)中規(guī)定的列表文件名,所述列表文件中包括所述軟件包中所有文件的文件名列表以及每個(gè)軟件文件的數(shù)字摘要的文件名列表;
[0039]第三生成模塊,用于生成所述列表文件的數(shù)字摘要;
[0040]存儲(chǔ)模塊,用于將所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件、所述每個(gè)軟件文件的數(shù)字摘要、所述歸屬證書文件、所述歸屬證書文件的數(shù)字摘要、所述列表文件及所述列表文件的數(shù)字摘要均存儲(chǔ)到所述軟件包中的配屬文件包中。
[0041]可選地,所述存儲(chǔ)模塊用于將所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件及所述每個(gè)軟件文件的數(shù)字摘要存儲(chǔ)到所述軟件包中的配屬文件包中,包括:
[0042]所述存儲(chǔ)模塊具體用于,從所述注冊(cè)數(shù)據(jù)中獲取所述每個(gè)軟件文件的數(shù)字摘要的存放標(biāo)志;
[0043]如果所述存放標(biāo)志表示單獨(dú)存放,則使用所述注冊(cè)數(shù)據(jù)中規(guī)定的軟件文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述每個(gè)軟件文件的數(shù)字摘要的第一類存儲(chǔ)文件,并將所述每個(gè)軟件文件的數(shù)字摘要分別存儲(chǔ)到各自對(duì)應(yīng)的第一類存儲(chǔ)文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第一密鑰及加密方式,加密所述軟件文件及所述第一類存儲(chǔ)文件,將所述軟件文件的密文及所述第一類存儲(chǔ)文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中;
[0044]如果所述存放標(biāo)志表示非單獨(dú)存放,從所述注冊(cè)數(shù)據(jù)中獲取第一存放文件名,存儲(chǔ)的第一起始位置及第一長(zhǎng)度,并將所述每個(gè)軟件文件的數(shù)字摘要以所述第一起始位置及所述第一長(zhǎng)度、存儲(chǔ)到具有所述第一存放文件名的軟件文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第一密鑰及加密方式,將所述具有所述第一存放文件名的軟件文件進(jìn)行加密,將所述具有所述第一存放文件名的軟件文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中。
[0045]可選地,所述存儲(chǔ)模塊用于將所述列表文件及所述列表文件的數(shù)字摘要均存儲(chǔ)到所述軟件包中的配屬文件包中,包括:
[0046]所述存儲(chǔ)模塊具體用于,從所述注冊(cè)數(shù)據(jù)中獲取所述列表文件的數(shù)字摘要的存放標(biāo)志;
[0047]如果所述列表文件的數(shù)字摘要的存放標(biāo)志表示單獨(dú)存放,則使用所述注冊(cè)數(shù)據(jù)中規(guī)定的列表文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述列表文件的數(shù)字摘要的第二類存儲(chǔ)文件,并將所述列表文件的數(shù)字摘要寫入其對(duì)應(yīng)的第二類存儲(chǔ)文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第二密鑰及加密方式,加密所述列表文件及所述第二類存儲(chǔ)文件,將所述列表文件的密文及所述第二類存儲(chǔ)文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中;
[0048]如果所述列表文件的數(shù)字摘要的存放標(biāo)志表示非單獨(dú)存放,從所述注冊(cè)數(shù)據(jù)中獲取第二存放文件名、存儲(chǔ)的第二起始位置及第二長(zhǎng)度,在具有所述第二文件名的文件為列表文件的情況下,將所述列表文件的數(shù)字摘要以所述第二起始位置及所述第二長(zhǎng)度、存放到所述列表文件中,在具有所述第二文件名的文件為歸屬證書文件名的情況下,將所述列表文件的數(shù)字摘要以所述第二起始位置及所述第二長(zhǎng)度、存放到所述歸屬證書文件中。
[0049]可選地,所述存儲(chǔ)模塊用于將所述歸屬證書文件及所述歸屬證書文件的數(shù)字摘要存儲(chǔ)到所述軟件包中的配屬文件包中,包括:
[0050]所述存儲(chǔ)模塊具體用于,從所述注冊(cè)數(shù)據(jù)中獲取所述歸屬證書文件的數(shù)字摘要的存放標(biāo)志;
[0051]如果所述歸屬證書文件的數(shù)字摘要的存放標(biāo)志為表示單獨(dú)存放,則用所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬證書文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述歸屬證書文件的數(shù)字摘要的第三類存儲(chǔ)文件,并將所述歸屬證書文件的數(shù)字摘要寫入其對(duì)應(yīng)的第三類存儲(chǔ)文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第三密鑰,加密所述歸屬證書文件及所述第三類存儲(chǔ)文件,并將所述歸屬證書文件的密文及所述第三類存儲(chǔ)文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中;
[0052]如果所述歸屬證書文件的數(shù)字摘要的存放標(biāo)志為表示非單獨(dú)存放,從所述注冊(cè)數(shù)據(jù)中獲取第三存放文件名,存儲(chǔ)的第三起始位置及第三長(zhǎng)度,在具有所述第三文件名的文件為列表文件的情況下,將所述歸屬證書文件的數(shù)字摘要以所述第三起始位置及所述第三長(zhǎng)度、存放到所述列表文件中,使用所述注冊(cè)數(shù)據(jù)規(guī)定的第四密鑰,加密所述列表文件,并將所述列表文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中,否則,將所述歸屬證書文件的數(shù)字摘要存儲(chǔ)到所述歸屬證書文件中,使用所述注冊(cè)數(shù)據(jù)中對(duì)應(yīng)的第五密鑰,加密所述歸屬證書文件,將所述歸屬證書文件的數(shù)字摘要密文及所述歸屬證書文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中。
[0053]可選地,還包括:
[0054]解密模塊,用于在對(duì)于所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件,均生成其數(shù)字摘要之前,獲取所述注冊(cè)數(shù)據(jù)的私鑰,使用所述私鑰,將所述注冊(cè)數(shù)據(jù)的密文解析為明文;
[0055]提示模塊,用于在所述歸屬設(shè)備的注冊(cè)數(shù)據(jù)不存在的情況下,發(fā)出注冊(cè)數(shù)據(jù)創(chuàng)建提不。
[0056]本申請(qǐng)所述的軟件的配屬方法及裝置,接收待配屬的目標(biāo)軟件的軟件包后,確定所述待配屬的目標(biāo)軟件的歸屬設(shè)備,在所述歸屬設(shè)備的注冊(cè)數(shù)據(jù)已存在的情況下,分別創(chuàng)建目標(biāo)軟件的軟件包中的每個(gè)軟件文件的數(shù)字摘要、歸屬證書文件、歸屬證書文件的數(shù)字摘要、列表文件以及列表文件的數(shù)字摘要,從而完成軟件包的配屬。
[0057]在軟件包安裝或更新過(guò)程中,可以將設(shè)備本地已存儲(chǔ)的注冊(cè)數(shù)據(jù)與配屬文件包中的內(nèi)容進(jìn)行對(duì)比,因?yàn)榕鋵傥募械膬?nèi)容依據(jù)注冊(cè)數(shù)據(jù)生成,因此,各種數(shù)字摘要文件的數(shù)字摘要可以驗(yàn)證軟件包中的數(shù)據(jù)是否被篡改,列表文件能夠驗(yàn)證軟件包中的文件是否完整,歸屬文件能夠驗(yàn)證軟件包是否為本設(shè)備的合法軟件,以上驗(yàn)證均通過(guò)后,即可安裝此軟件包,因此,本申請(qǐng)所述的方法及裝置,能夠提高軟件安裝的安全性。
【專利附圖】
【附圖說(shuō)明】
[0058]為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0059]圖1為本申請(qǐng)實(shí)施例公開的一種軟件的配屬方法的流程圖;
[0060]圖2為本申請(qǐng)實(shí)施例公開的又一種軟件的配屬方法的流程圖;
[0061]圖3為使用本申請(qǐng)實(shí)施例公開的軟件的配屬方法后可能得到的數(shù)據(jù)結(jié)構(gòu)的示意圖;
[0062]圖4為本申請(qǐng)實(shí)施例公開的一種軟件的配屬裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0063]本申請(qǐng)實(shí)施例公開的軟件歸屬的驗(yàn)證方法及裝置,可以應(yīng)用在設(shè)備安裝或更新軟件的過(guò)程中,現(xiàn)有技術(shù)中,設(shè)備接收到軟件的安裝包后,直接進(jìn)行安裝,在軟件不安全的情況下(例如軟件中某些數(shù)據(jù)被篡改或者軟件不是正版、或者軟件不應(yīng)安裝在此設(shè)備上,否則導(dǎo)致設(shè)備故障),會(huì)危害設(shè)備的安全運(yùn)行,尤其在特種行業(yè)(例如軌道交通)這種危害更為顯著,而本申請(qǐng)實(shí)施例公開的軟件歸屬的驗(yàn)證方法及裝置,其目的就在于提高軟件安裝或更新的安全性。
[0064]下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
[0065]本申請(qǐng)實(shí)施例公開的一種軟件的配屬方法,如圖1所示,包括:
[0066]SlOl:接收待配屬的目標(biāo)軟件的軟件包;
[0067]本實(shí)施例中,目標(biāo)軟件為將來(lái)要安裝到設(shè)備上的軟件。
[0068]S102:確定所述待配屬的目標(biāo)軟件的歸屬設(shè)備;
[0069]所謂歸屬設(shè)備為,目標(biāo)軟件安裝的目標(biāo)設(shè)備,也就是說(shuō),目標(biāo)軟件被允許安裝的設(shè)備。
[0070]S103:在所述歸屬設(shè)備的注冊(cè)數(shù)據(jù)已存在的情況下,對(duì)于所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件,均生成其數(shù)字摘要;
[0071]在設(shè)備上,預(yù)先設(shè)置有注冊(cè)機(jī)生成的注冊(cè)數(shù)據(jù)。本實(shí)施例所述方法的執(zhí)行主體可以為軟件包的設(shè)置設(shè)備,可以在軟件包出廠前對(duì)軟件包進(jìn)行歸屬設(shè)置。
[0072]本實(shí)施例中,注冊(cè)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的明文可以為:
[0073]1.列表文件數(shù)字摘要存儲(chǔ)方式標(biāo)志,假設(shè)為L(zhǎng)istFileAbstrStoreFlag ;
[0074]2.歸屬證書文件數(shù)字摘要存儲(chǔ)方式標(biāo)志,假設(shè)為OwnerCertFileAbstrStoreFlag ;
[0075]3.軟件文件數(shù)字摘要存儲(chǔ)方式標(biāo)志,假設(shè)為SoftFileAbstrStoreFlag ;
[0076]4.列表文件數(shù)字摘要存儲(chǔ)在何種文件中,假設(shè)為L(zhǎng)istAbstrStoreFileName
[0077]5.歸屬證書文件數(shù)字摘要存儲(chǔ)在何種文件中,假設(shè)為OwnerAbstrStoreFileName ;
[0078]6.列表文件數(shù)字摘要存放起始位置,假設(shè)為L(zhǎng)istAbstrStartPosit1n ;
[0079]7.歸屬證書文件數(shù)字摘要存放起始位置,假設(shè)為OwnerAbstrStartPositoin ;
[0080]8.列表文件數(shù)字摘要長(zhǎng)度,假設(shè)為L(zhǎng)istAbstrLength ;
[0081]9.歸屬證書文件數(shù)字摘要長(zhǎng)度,假設(shè)為OwnerAbstrLength ;
[0082]10.列表文件加密密鑰,假設(shè)為PublicJfeyl ;
[0083]11.列表文件解密密鑰,假設(shè)為PrivateJfeyl ;
[0084]12.歸屬證書文件加密密鑰,假設(shè)為Public_Key2 ;
[0085]13.歸屬證書文件解密密鑰,假設(shè)為Private_Key2 ;
[0086]14.軟件文件加密密鑰,假設(shè)為Public_Key3 ;
[0087]15.軟件文件解密密鑰,假設(shè)為PriVate_Key3 ;
[0088]16.列表文件名,假設(shè)為L(zhǎng)istFileName ;
[0089]17.歸屬證書文件名,假設(shè)為OwnerCertFileName ;
[0090]18.歸屬標(biāo)志,假設(shè)為OwnerFlag ;
[0091]19.加解密方式標(biāo)志,假設(shè)為EncryptedKind ;
[0092]20.列表文件數(shù)字摘要獨(dú)立文件名標(biāo)志,假設(shè)為!ListFileAbstrFileNameFlag ;當(dāng)列表文件數(shù)字摘要獨(dú)立存儲(chǔ)時(shí),該標(biāo)志起作用,用來(lái)識(shí)別列表文件的數(shù)字摘要的文件名。
[0093]21.歸屬證書文件數(shù)字摘要獨(dú)立文件名標(biāo)志,假設(shè)為:OwnerCertFileAbstrFileNameFlag ;當(dāng)歸屬證書文件數(shù)字摘要獨(dú)立存儲(chǔ)時(shí),該標(biāo)志起作用,用來(lái)識(shí)別歸屬證書文件的數(shù)字摘要的文件名。
[0094]22.軟件文件數(shù)字摘要獨(dú)立文件名標(biāo)志,假設(shè)為!SoftFileAbstrFileNameFlag ;當(dāng)軟件文件數(shù)字摘要獨(dú)立存儲(chǔ)時(shí),該標(biāo)志起作用,用來(lái)識(shí)別某一個(gè)文件所對(duì)應(yīng)的數(shù)字摘要文件。
[0095]S104:創(chuàng)建歸屬證書文件,所述歸屬證書文件的文件名為所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬證書文件名,所述歸屬證書文件中包括所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬標(biāo)識(shí);
[0096]S105:生成所述歸屬證書文件的數(shù)字摘要;
[0097]S106:創(chuàng)建列表文件,所述列表文件的文件名為所述注冊(cè)數(shù)據(jù)中規(guī)定的列表文件名,所述列表文件中包括所述軟件包中所有文件的文件名以及每個(gè)軟件文件的數(shù)字摘要的文件名;
[0098]S107:生成所述列表文件的數(shù)字摘要;
[0099]S108:將所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件、所述每個(gè)軟件文件的數(shù)字摘要、所述歸屬證書文件、所述歸屬證書文件的數(shù)字摘要、所述列表文件及所述列表文件的數(shù)字摘要均存儲(chǔ)到所述軟件包中的配屬文件包中。
[0100]本實(shí)施例中,在確定軟件包的歸屬設(shè)備的前提下,依據(jù)所述歸屬設(shè)備對(duì)應(yīng)的注冊(cè)數(shù)據(jù),創(chuàng)建軟件包的中的每個(gè)軟件文件的數(shù)字摘要、軟件包的歸屬證書文件、歸屬證書文件的數(shù)字摘要、列表文件以及列表文件的數(shù)字摘要,這些文件或數(shù)據(jù)表明與設(shè)備的對(duì)應(yīng)關(guān)系。
[0101]所以,在軟件包的安裝過(guò)程中,可以依據(jù)設(shè)備本地的注冊(cè)數(shù)據(jù)與上述文件或數(shù)據(jù)的對(duì)比結(jié)果,驗(yàn)證軟件包是否合法,即各種數(shù)字摘要文件的數(shù)字摘要可以驗(yàn)證軟件包中的數(shù)據(jù)是否被篡改,列表文件能夠驗(yàn)證軟件包中的文件是否完整,歸屬文件能夠驗(yàn)證軟件包是否為本設(shè)備的合法軟件,因此,能夠提高軟件包安裝的安全性。
[0102]本申請(qǐng)實(shí)施例公開的又一種軟件的配屬方法,如圖2所示,包括:
[0103]S201:接收到待配屬的目標(biāo)軟件的軟件包;
[0104]本實(shí)施例中,該軟件包中包含有I個(gè)或者多個(gè)文件,假設(shè)該軟件包中的文件列表為 SoftFileList,其中包括每個(gè)軟件文件的名稱 SoftFile_l、SoftFile_2......SoftFile_n。
[0105]S202:通過(guò)人機(jī)接口或者其它外部接口獲得地鐵公司標(biāo)志、線路標(biāo)志、設(shè)備類別標(biāo)志;
[0106]S203:通過(guò)人機(jī)接口或者其它外部接口接收進(jìn)行軟件配屬的指令;
[0107]S204:根據(jù)地鐵公司標(biāo)志、線路標(biāo)志、設(shè)備類別標(biāo)志從注冊(cè)數(shù)據(jù)庫(kù)中查找該設(shè)備類別的注冊(cè)數(shù)據(jù);
[0108]其中,注冊(cè)數(shù)據(jù)可以以數(shù)據(jù)庫(kù)表格的形式存在,也可以以文件的形式存在。
[0109]S205:如果找到該設(shè)備類別的注冊(cè)數(shù)據(jù),執(zhí)行S206,否則通過(guò)人機(jī)接口或者其它外部接口提示該設(shè)備類別的注冊(cè)數(shù)據(jù)不存在,需要先行生成注冊(cè)數(shù)據(jù);
[0110]S206:獲取該設(shè)備的注冊(cè)數(shù)據(jù),并且從密鑰容器中獲取注冊(cè)數(shù)據(jù)的私鑰,解密該注冊(cè)數(shù)據(jù),形成注冊(cè)數(shù)據(jù)明文;
[0111]S207:獲取軟件包中的文件列表-SoftFileList,其中的文件名分別假設(shè)為:SoftFiIe_l、SoftFiIe_2......SoftFile_n ;
[0112]S208:生成所有軟件文件的數(shù)字摘要,分別假設(shè)為:SoftFileAbStr_l、SoftFileAbstr—1......SoftFiIeAbstr_n ;
[0113]S209:從注冊(cè)數(shù)據(jù)中獲取軟件文件的數(shù)字摘要的存放方式標(biāo)志,假設(shè)為SoftAbstrStoreFlag ;
[0114]S210:判斷軟件文件的數(shù)字摘要的存放標(biāo)志是否表示單獨(dú)存放,如果是,執(zhí)行S211,如果否,執(zhí)行S215 ;
[0115]所謂單獨(dú)存放,即每個(gè)軟件文件的數(shù)字摘要單獨(dú)存放到一個(gè)文件中。
[0116]S211:則使用所述注冊(cè)數(shù)據(jù)中規(guī)定的軟件文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述每個(gè)軟件文件的數(shù)字摘要的第一類存儲(chǔ)文件,假設(shè)為:S0ftFileAbStr_File_l、SoftFileAbstr—File_2......SoftFileAbstr—File—η ;
[0117]S212:將軟件文件的數(shù)字摘要分別寫入到上述第一類存儲(chǔ)文件中,即將 SoftFileAbstr—I 寫入到 SoftFileAbstr—File—I 中,SoftFileAbstr—2 寫入到SoftFileAbstr—File—2 中,直到 SoftFileAbstr—η 寫入到 SoftFileAbstr—File—η 中;
[0118]S213:獲取軟件加密密鑰及加密方式,根據(jù)加密方式,加密第一類存儲(chǔ)文件
SoftFileAbstr—File—1、SoftFileAbstr—File—2......SoftFileAbstr—File—n,形成軟件文件的數(shù)字摘要密文文件,假設(shè)為:SoftFileAbstr—Encrypted—1、SoftFileAbstr—Encrypted—2......SoftFileAbstr—Encrypted—η ;
[0119]本實(shí)施例中,加密方式可以為對(duì)稱加密或非對(duì)稱加密。
[0120]S214:將第一類存儲(chǔ)文件的密文存儲(chǔ)到軟件包中的配屬文件包中,執(zhí)行S216 ;
[0121]S215:從注冊(cè)數(shù)據(jù)中獲取第一存放文件名、存放的開始位置及長(zhǎng)度,將每個(gè)軟件文件的數(shù)字摘要以第一起始位置及第一長(zhǎng)度、存儲(chǔ)到具有第一存放文件名的軟件文件中,其中,第一存放文件名可以為上述軟件文件名;
[0122]具體地,本實(shí)施例中,可以將每個(gè)軟件文件的數(shù)字摘要存儲(chǔ)到該軟件文件中。
[0123]S216:使用注冊(cè)數(shù)據(jù)中規(guī)定的第一密鑰及加密方式,加密軟件文件SoftFile_l、
SoftFiIe_2......SoftFiIe_n,形成軟件文件密文,假設(shè)為:SoftFiIe_Encrypted_K
SoftFi Ie_Encrypted_2......SoftFi Ie_Encrypted_n。
[0124]S217:將 SoftFile_Encrypted_l、SoftFile_Encrypted_2......SoftFile_
Encrypted_n存儲(chǔ)到所述軟件包中的配屬文件包中;
[0125]S218:從注冊(cè)數(shù)據(jù)中獲取歸屬證書文件名(假設(shè)為:0wnerFile)及歸屬標(biāo)志(假設(shè)為:0wnerFlag),創(chuàng)建歸屬證書文件,將歸屬標(biāo)志寫入到歸屬證書文件中;
[0126]S219:生成歸屬證書文件的數(shù)字摘要,假設(shè)為OwnerFileAbstr ;
[0127]S220:從注冊(cè)數(shù)據(jù)中獲取列表文件名(假設(shè)為:ListFile),創(chuàng)建列表文件,并且將 SoftFile_Encrypted_l、SoftFile_Encrypted_2......SoftFi Ie_Encrypted_n 的名稱形成軟件文件密文列表,假設(shè)為:LastSoftFileList,寫入到列表文件ListFile中,將軟件文件的數(shù)字摘要密文 SoftFiIeAbstr_Encrypted_l、SoftFiIeAbstr_Encrypted_2......SoftFileAbstr_Encrypted_n形成的列表寫入到列表文件ListFile中;
[0128]S221:生成列表文件的數(shù)字摘要,假設(shè)為L(zhǎng)istFileAbstr ;
[0129]S222:從注冊(cè)數(shù)據(jù)中獲取列表文件的數(shù)字摘要存放方式標(biāo)志,假設(shè)為:ListFileAbstrStoreFlag ;
[0130]S223:判斷列表文件的數(shù)字摘要是否表示單獨(dú)存放,如果單獨(dú)存放,則進(jìn)入S228,否則進(jìn)入下一步;
[0131]S224:從注冊(cè)數(shù)據(jù)中獲取第二存放文件名,假設(shè)為L(zhǎng)istFileAbstr_FileName、存儲(chǔ)的第二起始位置(假設(shè)為:LiStFileAbStr_StartP0Siti0n)及第二長(zhǎng)度(假設(shè)為:Li stFiIeAbstr_Length);
[0132]S225:判斷 ListFileAbstr_FileName 是列表文件(例如 ListFile)的文件名、還是歸屬證書文件(例如OwnerFile)的文件名,如果為前者則進(jìn)入下一步,如果為后者,則執(zhí)行 S227 ;
[0133]S226:將列表文件的數(shù)字摘要按照第二起始位置及第二長(zhǎng)度添加到列表文件ListFile 中,轉(zhuǎn)入 S230 ;
[0134]S227:將列表文件數(shù)字摘要按照第二起始位置及第二長(zhǎng)度存放到歸屬證書文件OwnerFile 中,轉(zhuǎn)入 S230 ;
[0135]S228:獲取注冊(cè)數(shù)據(jù)中規(guī)定的列表文件的數(shù)字摘要的文件名(假設(shè)為:LiStFileAbStr_File),將列表文件的數(shù)字摘要寫入到該文件中;
[0136]S229:獲取列表文件的加密密鑰及加密方式,按照加密方式,應(yīng)用加密密鑰加密ListFileAbstr_File以及列表文件,形成列表文件的數(shù)字摘要密文ListFileAbstr_Encrypted_File以及列表文件的密文,將上述密文添加到配屬軟件包中;
[0137]S230:從注冊(cè)數(shù)據(jù)中獲取歸屬證書文件的數(shù)字摘要的存放方式標(biāo)志,假設(shè)為:OwnerFileAbstrStoreFlag ;
[0138]S231:判斷歸屬證書文件的數(shù)字摘要的存放方式標(biāo)志是否表示獨(dú)立存放,如果不是獨(dú)立存放,則進(jìn)入下一步,否則進(jìn)入S238 ;
[0139]S232:從注冊(cè)數(shù)據(jù)中獲取歸屬證書文件的數(shù)字摘要存放的第三存放文件名假設(shè)為:OwnerFileAbstr_File,第三起始位置(假設(shè)為:OwnerFileAbstr_StartPosit1n)及第三長(zhǎng)度(假設(shè)為:OwnerFileAbstr_Length);
[0140]S233:判斷 OwnerFileAbstr_File 是等于 ListFile 的文件名還是等于 OwnerFile的文件名,如果等于ListFile的文件名,則進(jìn)入下一步,否則進(jìn)入到S236 ;
[0141]S234:將歸屬證書的數(shù)字摘要以第三起始位置及第三長(zhǎng)度,添加到列表文件ListFile 中;
[0142]S235:從注冊(cè)數(shù)據(jù)中獲取列表文件加密密鑰及加密方式,采用該加密方式應(yīng)用列表文件的加密密鑰,加密ListFile,形成密文ListFile_Encrypted,將該密文添加到配屬軟件包中,轉(zhuǎn)到S237 ;
[0143]S236:將歸屬證書的數(shù)字摘要以第三起始位置及第三長(zhǎng)度、添加到歸屬證書文件中;
[0144]S237:從注冊(cè)數(shù)據(jù)中獲取歸屬證書文件加密密鑰及加密方式,采用該加密方式,應(yīng)用加密密鑰加密歸屬證書文件OwnerFile,形成密文OwnerFile_Encrypted,將該密文添加到配屬軟件包中;
[0145]S238:從注冊(cè)數(shù)據(jù)中獲取歸屬證書文件的數(shù)字摘要文件名稱,假設(shè)為OwnerFileAbStr_File,創(chuàng)建第三類存儲(chǔ)文件,將歸屬證書文件的數(shù)字摘要寫入該文件,獲取歸屬證書文件加密密鑰,加密歸屬證書文件的數(shù)字摘要文件,形成密文OwnerFileAbstr_Encrypted_File,將該文件添加到配屬軟件包中;
[0146]S239:將配屬軟件包通過(guò)接口發(fā)送給外部設(shè)備,軟件配屬完成。
[0147]使用本實(shí)施例所述的方法進(jìn)行軟件包的配屬后,形成的配屬文件包的可能形式如圖3所示,其中,至少包括列表文件、歸屬證書文件、軟件文件及各自的數(shù)字摘要,各自的數(shù)字摘要可以單獨(dú)存儲(chǔ)為文件,也可以攜帶在其它文件中。
[0148]本實(shí)施例所述的配屬方法中,列表文件的使用確保了軟件文件的完整性,各種數(shù)字摘要的使用的目的在于保證配屬軟件包在傳輸或者傳遞過(guò)程中不被篡改,歸屬證書文件的使用的目的在于確保該配屬軟件包歸屬于某特定類別的設(shè)備,也是確保設(shè)備只接收歸屬證書中內(nèi)容相匹配的配屬軟件包。歸屬證書的內(nèi)容與列表文件中的內(nèi)容可以放到一個(gè)文件中,但是必須包括軟件文件列表與歸屬標(biāo)志等關(guān)鍵內(nèi)容。
[0149]本申請(qǐng)實(shí)施例還公開了一種軟件的配屬裝置,如圖4所示,包括:
[0150]接收模塊401,用于接收待配屬的目標(biāo)軟件的軟件包;
[0151]確定模塊402,用于確定所述待配屬的目標(biāo)軟件的歸屬設(shè)備;
[0152]第一生成模塊403,用于在所述歸屬設(shè)備的注冊(cè)數(shù)據(jù)已存在的情況下,對(duì)于所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件,均生成其數(shù)字摘要;
[0153]第一創(chuàng)建模塊404,用于創(chuàng)建歸屬證書文件,所述歸屬證書文件的文件名為所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬證書文件名,所述歸屬證書文件中包括所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬標(biāo)識(shí);
[0154]第二生成模塊405,用于生成所述歸屬證書文件的數(shù)字摘要;
[0155]第二創(chuàng)建模塊406,用于創(chuàng)建列表文件,所述列表文件的文件名為所述注冊(cè)數(shù)據(jù)中規(guī)定的列表文件名,所述列表文件中包括所述軟件包中所有文件的文件名列表以及每個(gè)軟件文件的數(shù)字摘要的文件名列表;
[0156]第三生成模塊407,用于生成所述列表文件的數(shù)字摘要;
[0157]存儲(chǔ)模塊408,用于將所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件、所述每個(gè)軟件文件的數(shù)字摘要、所述歸屬證書文件、所述歸屬證書文件的數(shù)字摘要、所述列表文件及所述列表文件的數(shù)字摘要均存儲(chǔ)到所述軟件包中的配屬文件包中。
[0158]可選地,還可以包括:
[0159]解密模塊409,用于在對(duì)于所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件,均生成其數(shù)字摘要之前,獲取所述注冊(cè)數(shù)據(jù)的私鑰,使用所述私鑰,將所述注冊(cè)數(shù)據(jù)的密文解析為明文;
[0160]提示模塊410,用于在所述歸屬設(shè)備的注冊(cè)數(shù)據(jù)不存在的情況下,發(fā)出注冊(cè)數(shù)據(jù)創(chuàng)建提不。
[0161]進(jìn)一步地,本實(shí)施例中,存儲(chǔ)模塊將所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件及所述每個(gè)軟件文件的數(shù)字摘要存儲(chǔ)到所述軟件包中的配屬文件包中的具體實(shí)現(xiàn)方式可以為:從所述注冊(cè)數(shù)據(jù)中獲取所述每個(gè)軟件文件的數(shù)字摘要的存放標(biāo)志;
[0162]如果所述存放標(biāo)志表示單獨(dú)存放,則使用所述注冊(cè)數(shù)據(jù)中規(guī)定的軟件文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述每個(gè)軟件文件的數(shù)字摘要的第一類存儲(chǔ)文件,并將所述每個(gè)軟件文件的數(shù)字摘要分別存儲(chǔ)到各自對(duì)應(yīng)的第一類存儲(chǔ)文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第一密鑰及加密方式,加密所述軟件文件及所述第一類存儲(chǔ)文件,將所述軟件文件的密文及所述第一類存儲(chǔ)文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中;
[0163]如果所述存放標(biāo)志表示非單獨(dú)存放,從所述注冊(cè)數(shù)據(jù)中獲取第一存放文件名,存儲(chǔ)的第一起始位置及第一長(zhǎng)度,并將所述每個(gè)軟件文件的數(shù)字摘要以所述第一起始位置及所述第一長(zhǎng)度、存儲(chǔ)到具有所述第一存放文件名的軟件文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第一密鑰及加密方式,將所述具有所述第一存放文件名的軟件文件進(jìn)行加密,將所述具有所述第一存放文件名的軟件文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中。
[0164]存儲(chǔ)模塊將所述列表文件及所述列表文件的數(shù)字摘要均存儲(chǔ)到所述軟件包中的配屬文件包中的具體實(shí)現(xiàn)方式可以為:從所述注冊(cè)數(shù)據(jù)中獲取所述列表文件的數(shù)字摘要的存放標(biāo)志;
[0165]如果所述列表文件的數(shù)字摘要的存放標(biāo)志表示單獨(dú)存放,則使用所述注冊(cè)數(shù)據(jù)中規(guī)定的列表文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述列表文件的數(shù)字摘要的第二類存儲(chǔ)文件,并將所述列表文件的數(shù)字摘要寫入其對(duì)應(yīng)的第二類存儲(chǔ)文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第二密鑰及加密方式,加密所述列表文件及所述第二類存儲(chǔ)文件,將所述列表文件的密文及所述第二類存儲(chǔ)文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中;
[0166]如果所述列表文件的數(shù)字摘要的存放標(biāo)志表示非單獨(dú)存放,從所述注冊(cè)數(shù)據(jù)中獲取第二存放文件名、存儲(chǔ)的第二起始位置及第二長(zhǎng)度,在具有所述第二文件名的文件為列表文件的情況下,將所述列表文件的數(shù)字摘要以所述第二起始位置及所述第二長(zhǎng)度、存放到所述列表文件中,在具有所述第二文件名的文件為歸屬證書文件名的情況下,將所述列表文件的數(shù)字摘要以所述第二起始位置及所述第二長(zhǎng)度、存放到所述歸屬證書文件中。
[0167]存儲(chǔ)模塊將所述歸屬證書文件及所述歸屬證書文件的數(shù)字摘要存儲(chǔ)到所述軟件包中的配屬文件包中的具體實(shí)現(xiàn)方式可以為:從所述注冊(cè)數(shù)據(jù)中獲取所述歸屬證書文件的數(shù)字摘要的存放標(biāo)志;
[0168]如果所述歸屬證書文件的數(shù)字摘要的存放標(biāo)志為表示單獨(dú)存放,則用所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬證書文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述歸屬證書文件的數(shù)字摘要的第三類存儲(chǔ)文件,并將所述歸屬證書文件的數(shù)字摘要寫入其對(duì)應(yīng)的第三類存儲(chǔ)文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第三密鑰,加密所述歸屬證書文件及所述第三類存儲(chǔ)文件,并將所述歸屬證書文件的密文及所述第三類存儲(chǔ)文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中;
[0169]如果所述歸屬證書文件的數(shù)字摘要的存放標(biāo)志為表示非單獨(dú)存放,從所述注冊(cè)數(shù)據(jù)中獲取第三存放文件名,存儲(chǔ)的第三起始位置及第三長(zhǎng)度,在具有所述第三文件名的文件為列表文件的情況下,將所述歸屬證書文件的數(shù)字摘要以所述第三起始位置及所述第三長(zhǎng)度、存放到所述列表文件中,使用所述注冊(cè)數(shù)據(jù)規(guī)定的第四密鑰,加密所述列表文件,并將所述列表文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中,否則,將所述歸屬證書文件的數(shù)字摘要存儲(chǔ)到所述歸屬證書文件中,使用所述注冊(cè)數(shù)據(jù)中對(duì)應(yīng)的第五密鑰,加密所述歸屬證書文件,將所述歸屬證書文件的數(shù)字摘要密文及所述歸屬證書文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中。
[0170]本實(shí)施例所述的配屬裝置,能夠確保軟件安裝的安全性。
[0171]本申請(qǐng)實(shí)施例方法所述的功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算設(shè)備可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本申請(qǐng)實(shí)施例對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,移動(dòng)計(jì)算設(shè)備或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0172]本說(shuō)明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似部分互相參見(jiàn)即可。
[0173]對(duì)所公開的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本申請(qǐng)。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本申請(qǐng)的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本申請(qǐng)將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
【權(quán)利要求】
1.一種軟件的配屬方法,其特征在于,包括: 接收待配屬的目標(biāo)軟件的軟件包; 確定所述待配屬的目標(biāo)軟件的歸屬設(shè)備; 在所述歸屬設(shè)備的注冊(cè)數(shù)據(jù)已存在的情況下,對(duì)于所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件,均生成其數(shù)字摘要; 創(chuàng)建歸屬證書文件,所述歸屬證書文件的文件名為所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬證書文件名,所述歸屬證書文件中包括所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬標(biāo)識(shí); 生成所述歸屬證書文件的數(shù)字摘要; 創(chuàng)建列表文件,所述列表文件的文件名為所述注冊(cè)數(shù)據(jù)中規(guī)定的列表文件名,所述列表文件中包括所述軟件包中所有文件的文件名列表以及每個(gè)軟件文件的數(shù)字摘要的文件名列表; 生成所述列表文件的數(shù)字摘要; 將所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件、所述每個(gè)軟件文件的數(shù)字摘要、所述歸屬證書文件、所述歸屬證書文件的數(shù)字摘要、所述列表文件及所述列表文件的數(shù)字摘要均存儲(chǔ)到所述軟件包中的配屬文件包中。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件及所述每個(gè)軟件文件的數(shù)字摘要存儲(chǔ)到所述軟件包中的配屬文件包中,包括: 從所述注冊(cè)數(shù)據(jù)中獲取所述每個(gè)軟件文件的數(shù)字摘要的存放標(biāo)志; 如果所述存放標(biāo)志表示單獨(dú)存放,則使用所述注冊(cè)數(shù)據(jù)中規(guī)定的軟件文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述每個(gè)軟件文件的數(shù)字摘要的第一類存儲(chǔ)文件,并將所述每個(gè)軟件文件的數(shù)字摘要分別存儲(chǔ)到各自對(duì)應(yīng)的第一類存儲(chǔ)文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第一密鑰及加密方式,加密所述軟件文件及所述第一類存儲(chǔ)文件,將所述軟件文件的密文及所述第一類存儲(chǔ)文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中; 如果所述存放標(biāo)志表示非單獨(dú)存放,從所述注冊(cè)數(shù)據(jù)中獲取第一存放文件名,存儲(chǔ)的第一起始位置及第一長(zhǎng)度,并將所述每個(gè)軟件文件的數(shù)字摘要以所述第一起始位置及所述第一長(zhǎng)度、存儲(chǔ)到具有所述第一存放文件名的軟件文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第一密鑰及加密方式,將所述具有所述第一存放文件名的軟件文件進(jìn)行加密,將所述具有所述第一存放文件名的軟件文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,將所述列表文件及所述列表文件的數(shù)字摘要均存儲(chǔ)到所述軟件包中的配屬文件包中,包括: 從所述注冊(cè)數(shù)據(jù)中獲取所述列表文件的數(shù)字摘要的存放標(biāo)志; 如果所述列表文件的數(shù)字摘要的存放標(biāo)志表示單獨(dú)存放,則使用所述注冊(cè)數(shù)據(jù)中規(guī)定的列表文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述列表文件的數(shù)字摘要的第二類存儲(chǔ)文件,并將所述列表文件的數(shù)字摘要寫入其對(duì)應(yīng)的第二類存儲(chǔ)文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第二密鑰及加密方式,加密所述列表文件及所述第二類存儲(chǔ)文件,將所述列表文件的密文及所述第二類存儲(chǔ)文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中; 如果所述列表文件的數(shù)字摘要的存放標(biāo)志表示非單獨(dú)存放,從所述注冊(cè)數(shù)據(jù)中獲取第二存放文件名、存儲(chǔ)的第二起始位置及第二長(zhǎng)度,在具有所述第二文件名的文件為列表文件的情況下,將所述列表文件的數(shù)字摘要以所述第二起始位置及所述第二長(zhǎng)度、存放到所述列表文件中,在具有所述第二文件名的文件為歸屬證書文件名的情況下,將所述列表文件的數(shù)字摘要以所述第二起始位置及所述第二長(zhǎng)度、存放到所述歸屬證書文件中。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,將所述歸屬證書文件及所述歸屬證書文件的數(shù)字摘要存儲(chǔ)到所述軟件包中的配屬文件包中,包括: 從所述注冊(cè)數(shù)據(jù)中獲取所述歸屬證書文件的數(shù)字摘要的存放標(biāo)志; 如果所述歸屬證書文件的數(shù)字摘要的存放標(biāo)志為表示單獨(dú)存放,則用所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬證書文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述歸屬證書文件的數(shù)字摘要的第三類存儲(chǔ)文件,并將所述歸屬證書文件的數(shù)字摘要寫入其對(duì)應(yīng)的第三類存儲(chǔ)文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第三密鑰,加密所述歸屬證書文件及所述第三類存儲(chǔ)文件,并將所述歸屬證書文件的密文及所述第三類存儲(chǔ)文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中; 如果所述歸屬證書文件的數(shù)字摘要的存放標(biāo)志為表示非單獨(dú)存放,從所述注冊(cè)數(shù)據(jù)中獲取第三存放文件名,存儲(chǔ)的第三起始位置及第三長(zhǎng)度,在具有所述第三文件名的文件為列表文件的情況下,將所述歸屬證書文件的數(shù)字摘要以所述第三起始位置及所述第三長(zhǎng)度、存放到所述列表文件中,使用所述注冊(cè)數(shù)據(jù)規(guī)定的第四密鑰,加密所述列表文件,并將所述列表文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中,否則,將所述歸屬證書文件的數(shù)字摘要存儲(chǔ)到所述歸屬證書文件中,使用所述注冊(cè)數(shù)據(jù)中對(duì)應(yīng)的第五密鑰,加密所述歸屬證書文件,將所述歸屬證書文件的數(shù)字摘要密文及所述歸屬證書文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中。
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的方法,其特征在于,還包括: 在對(duì)于所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件,均生成其數(shù)字摘要之前,獲取所述注冊(cè)數(shù)據(jù)的私鑰,使用所述私鑰,將所述注冊(cè)數(shù)據(jù)的密文解析為明文; 在所述歸屬設(shè)備的注冊(cè)數(shù)據(jù)不存在的情況下,發(fā)出注冊(cè)數(shù)據(jù)創(chuàng)建提示。
6.一種軟件的配屬裝置,其特征在于,包括: 接收模塊,用于接收待配屬的目標(biāo)軟件的軟件包; 確定模塊,用于確定所述待配屬的目標(biāo)軟件的歸屬設(shè)備; 第一生成模塊,用于在所述歸屬設(shè)備的注冊(cè)數(shù)據(jù)已存在的情況下,對(duì)于所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件,均生成其數(shù)字摘要; 第一創(chuàng)建模塊,用于創(chuàng)建歸屬證書文件,所述歸屬證書文件的文件名為所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬證書文件名,所述歸屬證書文件中包括所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬標(biāo)識(shí); 第二生成模塊,用于生成所述歸屬證書文件的數(shù)字摘要; 第二創(chuàng)建模塊,用于創(chuàng)建列表文件,所述列表文件的文件名為所述注冊(cè)數(shù)據(jù)中規(guī)定的列表文件名,所述列表文件中包括所述軟件包中所有文件的文件名列表以及每個(gè)軟件文件的數(shù)字摘要的文件名列表; 第三生成模塊,用于生成所述列表文件的數(shù)字摘要; 存儲(chǔ)模塊,用于將所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件、所述每個(gè)軟件文件的數(shù)字摘要、所述歸屬證書文件、所述歸屬證書文件的數(shù)字摘要、所述列表文件及所述列表文件的數(shù)字摘要均存儲(chǔ)到所述軟件包中的配屬文件包中。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述存儲(chǔ)模塊用于將所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件及所述每個(gè)軟件文件的數(shù)字摘要存儲(chǔ)到所述軟件包中的配屬文件包中,包括: 所述存儲(chǔ)模塊具體用于,從所述注冊(cè)數(shù)據(jù)中獲取所述每個(gè)軟件文件的數(shù)字摘要的存放標(biāo)志; 如果所述存放標(biāo)志表示單獨(dú)存放,則使用所述注冊(cè)數(shù)據(jù)中規(guī)定的軟件文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述每個(gè)軟件文件的數(shù)字摘要的第一類存儲(chǔ)文件,并將所述每個(gè)軟件文件的數(shù)字摘要分別存儲(chǔ)到各自對(duì)應(yīng)的第一類存儲(chǔ)文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第一密鑰及加密方式,加密所述軟件文件及所述第一類存儲(chǔ)文件,將所述軟件文件的密文及所述第一類存儲(chǔ)文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中; 如果所述存放標(biāo)志表示非單獨(dú)存放,從所述注冊(cè)數(shù)據(jù)中獲取第一存放文件名,存儲(chǔ)的第一起始位置及第一長(zhǎng)度,并將所述每個(gè)軟件文件的數(shù)字摘要以所述第一起始位置及所述第一長(zhǎng)度、存儲(chǔ)到具有所述第一存放文件名的軟件文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第一密鑰及加密方式,將所述具有所述第一存放文件名的軟件文件進(jìn)行加密,將所述具有所述第一存放文件名的軟件文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述存儲(chǔ)模塊用于將所述列表文件及所述列表文件的數(shù)字摘要均存儲(chǔ)到所述軟件包中的配屬文件包中,包括: 所述存儲(chǔ)模塊具體用于,從所述注冊(cè)數(shù)據(jù)中獲取所述列表文件的數(shù)字摘要的存放標(biāo)志; 如果所述列表文件的數(shù)字摘要的存放標(biāo)志表示單獨(dú)存放,則使用所述注冊(cè)數(shù)據(jù)中規(guī)定的列表文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述列表文件的數(shù)字摘要的第二類存儲(chǔ)文件,并將所述列表文件的數(shù)字摘要寫入其對(duì)應(yīng)的第二類存儲(chǔ)文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第二密鑰及加密方式,加密所述列表文件及所述第二類存儲(chǔ)文件,將所述列表文件的密文及所述第二類存儲(chǔ)文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中; 如果所述列表文件的數(shù)字摘要的存放標(biāo)志表示非單獨(dú)存放,從所述注冊(cè)數(shù)據(jù)中獲取第二存放文件名、存儲(chǔ)的第二起始位置及第二長(zhǎng)度,在具有所述第二文件名的文件為列表文件的情況下,將所述列表文件的數(shù)字摘要以所述第二起始位置及所述第二長(zhǎng)度、存放到所述列表文件中,在具有所述第二文件名的文件為歸屬證書文件名的情況下,將所述列表文件的數(shù)字摘要以所述第二起始位置及所述第二長(zhǎng)度、存放到所述歸屬證書文件中。
9.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述存儲(chǔ)模塊用于將所述歸屬證書文件及所述歸屬證書文件的數(shù)字摘要存儲(chǔ)到所述軟件包中的配屬文件包中,包括: 所述存儲(chǔ)模塊具體用于,從所述注冊(cè)數(shù)據(jù)中獲取所述歸屬證書文件的數(shù)字摘要的存放標(biāo)志; 如果所述歸屬證書文件的數(shù)字摘要的存放標(biāo)志為表示單獨(dú)存放,則用所述注冊(cè)數(shù)據(jù)中規(guī)定的歸屬證書文件的數(shù)字摘要的文件名、創(chuàng)建用于存放所述歸屬證書文件的數(shù)字摘要的第三類存儲(chǔ)文件,并將所述歸屬證書文件的數(shù)字摘要寫入其對(duì)應(yīng)的第三類存儲(chǔ)文件中,使用所述注冊(cè)數(shù)據(jù)中規(guī)定的第三密鑰,加密所述歸屬證書文件及所述第三類存儲(chǔ)文件,并將所述歸屬證書文件的密文及所述第三類存儲(chǔ)文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中; 如果所述歸屬證書文件的數(shù)字摘要的存放標(biāo)志為表示非單獨(dú)存放,從所述注冊(cè)數(shù)據(jù)中獲取第三存放文件名,存儲(chǔ)的第三起始位置及第三長(zhǎng)度,在具有所述第三文件名的文件為列表文件的情況下,將所述歸屬證書文件的數(shù)字摘要以所述第三起始位置及所述第三長(zhǎng)度、存放到所述列表文件中,使用所述注冊(cè)數(shù)據(jù)規(guī)定的第四密鑰,加密所述列表文件,并將所述列表文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中,否則,將所述歸屬證書文件的數(shù)字摘要存儲(chǔ)到所述歸屬證書文件中,使用所述注冊(cè)數(shù)據(jù)中對(duì)應(yīng)的第五密鑰,加密所述歸屬證書文件,將所述歸屬證書文件的數(shù)字摘要密文及所述歸屬證書文件的密文存儲(chǔ)到所述軟件包中的配屬文件包中。
10.根據(jù)權(quán)利要求6至9任一項(xiàng)所述的裝置,其特征在于,還包括: 解密模塊,用于在對(duì)于所述待配屬的目標(biāo)軟件的軟件包中的每個(gè)軟件文件,均生成其數(shù)字摘要之前,獲取所述注冊(cè)數(shù)據(jù)的私鑰,使用所述私鑰,將所述注冊(cè)數(shù)據(jù)的密文解析為明文; 提示模塊,用于在所述歸屬設(shè)備的注冊(cè)數(shù)據(jù)不存在的情況下,發(fā)出注冊(cè)數(shù)據(jù)創(chuàng)建提示。
【文檔編號(hào)】G06F21/51GK104504327SQ201410849787
【公開日】2015年4月8日 申請(qǐng)日期:2014年12月31日 優(yōu)先權(quán)日:2014年12月31日
【發(fā)明者】陳建校, 榮智林, 高首聰, 肖志均, 劉海濤, 陳超錄, 李偉, 何紅成, 張賓, 肖華, 龍咨全 申請(qǐng)人:株洲南車時(shí)代電氣股份有限公司