亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

使用密碼函數(shù)的計(jì)算機(jī)程序的自動(dòng)證實(shí)裝置及方法

文檔序號(hào):6405595閱讀:204來源:國(guó)知局
專利名稱:使用密碼函數(shù)的計(jì)算機(jī)程序的自動(dòng)證實(shí)裝置及方法
技術(shù)領(lǐng)域
本發(fā)明涉及一計(jì)算機(jī)程序的自動(dòng)證實(shí)(確認(rèn))裝置及方法。
本發(fā)明尤其涉及可存取一安全存儲(chǔ)器和一非安全存儲(chǔ)器的計(jì)算機(jī)程序的自動(dòng)證實(shí)方法,所述程序使用了至少一編碼函數(shù)及至少一解碼函數(shù)。
有利但非限制性地,本發(fā)明可應(yīng)用于微電路卡的個(gè)人化。
背景技術(shù)
已知微電路卡個(gè)人化包括涉及敏感數(shù)據(jù)的處理步驟,即希望保護(hù)秘密數(shù)據(jù)不受任何侵入。
例如,所述處理包括以下各連續(xù)操作——接收編碼輸入數(shù)據(jù);——用安全密鑰解碼所述編碼數(shù)據(jù),所述解碼操作的結(jié)果產(chǎn)生第一敏感數(shù)據(jù);——對(duì)所述第一敏感數(shù)據(jù)進(jìn)行邏輯操作,例如移位,并獲得第二敏感數(shù)據(jù);及——使用第二安全密鑰對(duì)第二敏感數(shù)據(jù)編碼。
在微電路卡個(gè)人化領(lǐng)域中,已知用于實(shí)施這類處理的不同解決方法,所述處理保護(hù)在處理過程中獲得的敏感數(shù)據(jù)不受任何侵盜。
已知的第一種解決方法在于生產(chǎn)一種所謂“根卡(carte racine)”的專用微電路卡,以實(shí)施上述不同操作。
事實(shí)上,使用這樣確定的根卡,可實(shí)現(xiàn)絕對(duì)安全,數(shù)據(jù)處理時(shí),所述數(shù)據(jù)被臨時(shí)存儲(chǔ)在微電路卡的內(nèi)部安全內(nèi)存儲(chǔ)器中。
但不幸地是,根卡只能實(shí)施預(yù)設(shè)處理。
這即意味著,要進(jìn)行一新處理,必須開發(fā)用于所述處理的專用的卡掩碼,這既需成本,開發(fā)時(shí)間也不容忽視。
為彌補(bǔ)所述缺陷,已知微電路卡個(gè)人化領(lǐng)域內(nèi)的技術(shù)人員有時(shí)會(huì)采用安全平臺(tái),所述安全平臺(tái)可對(duì)敏感數(shù)據(jù)進(jìn)行不同類型的處理。
這類平臺(tái)可由安全信息系統(tǒng)或特殊電子卡構(gòu)成。
在此情況下,實(shí)施特別處理包括軟件規(guī)范及開發(fā)的第一步驟,所述軟件可實(shí)施所述處理的不同操作,并考慮到這些安全平臺(tái)本身的特點(diǎn)。
在第二步驟中,這樣開發(fā)的軟件由所述平臺(tái)的專家進(jìn)行手工驗(yàn)證,專家驗(yàn)證是否在所述特別處理中,任何帶有不良企圖的第三者均無法存取到任何敏感數(shù)據(jù)。
盡管根卡可應(yīng)用在眾多領(lǐng)域中,但所述第二種解決辦法還必需相對(duì)較長(zhǎng)的開發(fā)時(shí)間,尤其因?yàn)槌绦虻氖止を?yàn)證步驟必須由專門公司執(zhí)行。

發(fā)明內(nèi)容
本發(fā)明可解決上述問題。
本發(fā)明的目的尤其涉及可存取一安全存儲(chǔ)器及一非安全存儲(chǔ)器的計(jì)算機(jī)程序的自動(dòng)證實(shí)方法,所述程序使用有至少一編碼函數(shù)及至少一解碼函數(shù);所述證實(shí)方法包括一驗(yàn)證步驟,在所述驗(yàn)證步驟中驗(yàn)證——適合于從安全存儲(chǔ)器讀取數(shù)據(jù)并在非安全存儲(chǔ)器中生成數(shù)據(jù)的任何函數(shù)為一編碼函數(shù);及——由解碼函數(shù)產(chǎn)生的任何數(shù)據(jù)被存儲(chǔ)在安全存儲(chǔ)器中。
在下文中,區(qū)分“安全存儲(chǔ)器”即只有實(shí)施所述證實(shí)方法的驗(yàn)證器程序才可存取的存儲(chǔ)器,與“非安全存儲(chǔ)器”即尤其所述驗(yàn)證器程序的使用者或其它計(jì)算機(jī)程序可存取的存儲(chǔ)器。
在第一實(shí)施方式中,所述安全及非安全存儲(chǔ)器為分別對(duì)應(yīng)不同物理元件的不同物理存儲(chǔ)器。
在一最佳實(shí)施方式中,安全及非安全存儲(chǔ)器為同一物理元件的不同寄存器區(qū)域,對(duì)所述存儲(chǔ)器存取的管理及控制由本領(lǐng)域技術(shù)人員已知的軟件加以保證,例如安全操作系統(tǒng)提供的底層存儲(chǔ)器管理功能。
所述證實(shí)方法尤其具有優(yōu)越性,因?yàn)楹同F(xiàn)有技術(shù)中的根卡及安全平臺(tái)正相反,它可驗(yàn)證使用加密函數(shù)的任何計(jì)算機(jī)程序。
它尤其驗(yàn)證適合于從安全存儲(chǔ)器讀取數(shù)據(jù)并在非安全存儲(chǔ)器中生成數(shù)據(jù)的任何函數(shù)為一編碼函數(shù),這可保證只有編碼數(shù)據(jù)被所述驗(yàn)證器程序的使用者或其它計(jì)算機(jī)程序存取。
根據(jù)本發(fā)明的證實(shí)方法還驗(yàn)證解碼函數(shù)產(chǎn)生的任何數(shù)據(jù),尤其是所有敏感數(shù)據(jù),是否儲(chǔ)存在安全存儲(chǔ)器中。
根據(jù)第一特征,計(jì)算機(jī)程序還使用至少一非密碼函數(shù),所述函數(shù)在一邏輯函數(shù)、一隨機(jī)數(shù)產(chǎn)生函數(shù)或一完整性控制函數(shù)中選擇。
因此,證實(shí)方法可證實(shí)使用編碼、解碼函數(shù)及非密碼函數(shù)的任何類型程序。
根據(jù)本發(fā)明的一最佳特征,計(jì)算機(jī)程序?yàn)樵创a型,所述方法在驗(yàn)證步驟之前,預(yù)先包括把所述源代碼編譯為二進(jìn)制腳本的一步驟,驗(yàn)證步驟根據(jù)這樣產(chǎn)生的二進(jìn)制腳本實(shí)施。
所述最佳實(shí)施方式可達(dá)到一輔助安全級(jí)別,因?yàn)樗沽巳魏卧隍?yàn)證步驟后對(duì)源代碼進(jìn)行的篡改。
例如,計(jì)算機(jī)程序?yàn)橐幻舾袛?shù)據(jù)生成程序。
在一最佳實(shí)施方式中,計(jì)算機(jī)程序?yàn)橐幻舾袛?shù)據(jù)轉(zhuǎn)換程序。例如,它在入口處接收第一敏感數(shù)據(jù)如安全密鑰,再對(duì)所述第一敏感數(shù)據(jù)進(jìn)行解碼操作及邏輯操作,編碼后提供其它敏感數(shù)據(jù)如密碼。
根據(jù)另一特別有利的特征,計(jì)算機(jī)程序使用的各函數(shù)與至少一操作模式相關(guān),所述操作模式確定存取安全存儲(chǔ)器和非安全存儲(chǔ)器的至少一條規(guī)則,操作模式存儲(chǔ)在驗(yàn)證步驟中使用的驗(yàn)證表中。
所述操作模式,當(dāng)在進(jìn)行特別處理的規(guī)范及開發(fā)步驟時(shí),由程序員使用。
根據(jù)本發(fā)明,所述規(guī)則,尤其是把將產(chǎn)生的數(shù)據(jù)存儲(chǔ)在安全存儲(chǔ)器中強(qiáng)加到所有解碼函數(shù)上。
在一最佳實(shí)施方式中,證實(shí)方法還包括——分配安全存儲(chǔ)器及非安全存儲(chǔ)器的分配步驟;——一把二進(jìn)制腳本的驗(yàn)證器程序載入工作存儲(chǔ)器中的步驟,驗(yàn)證器程序可實(shí)施驗(yàn)證步驟;及——把二進(jìn)制腳本載入工作存儲(chǔ)器里的一步驟。
所述不同步驟由一主程序?qū)嵤?,所述主程序因此確定了驗(yàn)證器程序?yàn)轵?yàn)證二進(jìn)制腳本所使用的存儲(chǔ)器環(huán)境。
因此,它不僅可應(yīng)用在微電路卡個(gè)人化領(lǐng)域中,還可應(yīng)用在多個(gè)領(lǐng)域中,如電信服務(wù)器中的電子商務(wù)。
本發(fā)明還提供一程序編譯器,所述編譯器實(shí)施前面清楚描述過的證實(shí)方法。
有利地是,所述程序編譯器可在微電路卡個(gè)人化的軟件鏈中使用。
本發(fā)明還提供了可存取一安全存儲(chǔ)器和一非安全存儲(chǔ)器的計(jì)算機(jī)程序的運(yùn)行方法,所述程序使用至少一編碼函數(shù)及至少一解碼函數(shù)。
執(zhí)行各函數(shù)前,根據(jù)本發(fā)明的運(yùn)行方法實(shí)施前面簡(jiǎn)單描述過的一驗(yàn)證步驟。
根據(jù)所述運(yùn)行方法,在執(zhí)行程序的各函數(shù)之前,需驗(yàn)證所述函數(shù)是否可根據(jù)前面簡(jiǎn)要描述的驗(yàn)證步驟確保敏感數(shù)據(jù)的安全。
所述運(yùn)行方法特別可靠,因?yàn)樗沽嗽隍?yàn)證和函數(shù)操作之間任何篡改二進(jìn)制腳本的可能。
顯然,它還可應(yīng)用在微電路卡個(gè)人化領(lǐng)域中。
更廣泛地講,它可實(shí)施來轉(zhuǎn)換或產(chǎn)生敏感數(shù)據(jù),例如電信領(lǐng)域中,以在電信服務(wù)器里產(chǎn)生密鑰。
根據(jù)另一特征,本發(fā)明涉及一集成電路,所述集成電路可實(shí)施前面簡(jiǎn)要所述的證實(shí)方法或操作方法。
例如,所述集成電路可采用本領(lǐng)域技術(shù)人員了解的VHDL語言,進(jìn)行模擬。
它還可實(shí)施為一可編程電子元件形式。
本發(fā)明還提出了一微電路卡及一計(jì)算機(jī)系統(tǒng),所述系統(tǒng)包括前面簡(jiǎn)要描述過的一集成電路。
根據(jù)另一特征,本發(fā)明提出了一安全操作系統(tǒng),所述系統(tǒng)實(shí)施前面簡(jiǎn)要描述過的證實(shí)方法。
相當(dāng)有利地是,這類操作系統(tǒng)應(yīng)用在微電路卡工業(yè)中,因?yàn)樗稍谒鑫㈦娐房ǖ能浖拥母讓忧度氚踩瘮?shù)。
在微電路卡領(lǐng)域中,這類操作系統(tǒng)還可在所述卡上市后,保證加載的應(yīng)用程序執(zhí)行的安全(英文為“post-insurance”)。
本發(fā)明還提出一微電路卡及包括所述操作系統(tǒng)的一計(jì)算機(jī)系統(tǒng)。
相關(guān)地,本發(fā)明提出了可存取一安全存儲(chǔ)器和一非安全存儲(chǔ)器的計(jì)算機(jī)程序的自動(dòng)證實(shí)裝置,所述程序使用有至少一編碼函數(shù)及至少一解碼函數(shù)。
證實(shí)裝置包括一驗(yàn)證器程序,所述驗(yàn)證器程序可進(jìn)行如下檢測(cè)——可從安全存儲(chǔ)器中讀取數(shù)據(jù)并在非安全存儲(chǔ)器中生成數(shù)據(jù)的任何函數(shù)為一編碼函數(shù);及——由解碼函數(shù)產(chǎn)生的所有數(shù)據(jù)都存儲(chǔ)在安全存儲(chǔ)器中。
本發(fā)明還提出一計(jì)算機(jī)安全操作系統(tǒng),所述系統(tǒng)包括——編譯計(jì)算機(jī)程序?yàn)槎M(jìn)制腳本的編譯裝置;——把二進(jìn)制腳本載入工作存儲(chǔ)器內(nèi)的裝置;——分配安全存儲(chǔ)器和非安全存儲(chǔ)器分配裝置;及——如前面簡(jiǎn)略描述過的一證實(shí)裝置。
編譯器、操作方法、安全操作系統(tǒng)、微電路卡、證實(shí)裝置及計(jì)算機(jī)系統(tǒng)固有的特殊優(yōu)點(diǎn)及特征,和前面描述過的根據(jù)本發(fā)明的證實(shí)方法的相同,此處就不再重述了。


本發(fā)明的其它特征及優(yōu)點(diǎn)將在后文參照附圖,以非限制性方式舉例加以描述中更清楚地體現(xiàn)出來
——圖1示出了根據(jù)本發(fā)明的一語法表;——圖2示出了根據(jù)本發(fā)明的一驗(yàn)證表;——圖3為示出根據(jù)本發(fā)明的一主程序主要步驟的方框圖;——圖4為示出根據(jù)本發(fā)明的一驗(yàn)證方法主要步驟的方框圖;及——圖5示出了包括根據(jù)本發(fā)明的一證實(shí)裝置的計(jì)算機(jī)系統(tǒng)。
另外,本描述還附有以下附錄——附錄A計(jì)算機(jī)程序示例,所述程序可采用根據(jù)本發(fā)明的證實(shí)方法證實(shí),并可由根據(jù)本發(fā)明的一執(zhí)行方法執(zhí)行;——附錄B編譯附錄A中的計(jì)算機(jī)程序后獲得的二進(jìn)制碼。
可由根據(jù)本發(fā)明的一自動(dòng)證實(shí)方法進(jìn)行證實(shí)、并由根據(jù)本發(fā)明的一實(shí)施方法執(zhí)行的源代碼型計(jì)算機(jī)程序示例P,在附錄A中給出。
所述計(jì)算機(jī)程序P包括一系列操作,各種操作分別執(zhí)行解碼函數(shù)、編碼函數(shù)或非密碼函數(shù)。
開發(fā)這類計(jì)算機(jī)程序時(shí),對(duì)各操作來說,開發(fā)者須遵守存儲(chǔ)在語法表TS中的一語法,圖1示出了其一種實(shí)施例。
更準(zhǔn)確地講,各操作包括——函數(shù)的標(biāo)識(shí)符;——變?cè)?;及——表示操作結(jié)束的一字符,如字符“;”。
因此,行a1所示的第一操作為一解碼操作,所述操作使用了由標(biāo)識(shí)符DES-1標(biāo)識(shí)的解碼函數(shù)DES-1,所述函數(shù)使用了三個(gè)變?cè)狪NPUT,包含待解碼數(shù)據(jù)的八字節(jié)地址段;——KEY,密鑰的參考值,所述參考值以L字符串形式被存儲(chǔ);及——OUTPUT,八字節(jié)地址段,其中存儲(chǔ)解碼函數(shù)的結(jié)果。
有利地是,在上述實(shí)施方式中,程序員不僅不知道密鑰,也不了解字符串形式的參考KEY。所述實(shí)施方式可避免程序員的任何侵盜行為。
同樣,行a2所示的第二操作為一完整性控制操作,所述操作使用了可由標(biāo)識(shí)符CHECKSUM-XOR標(biāo)識(shí)的完整性控制函數(shù)CHECKSUM-XOR,所述函數(shù)包括兩個(gè)變?cè)狪NPUT,八字節(jié)地址段,所述地址段包括將被操作的邏輯函數(shù)的輸入數(shù)據(jù);及——OUTPUT,八字節(jié)地址,邏輯函數(shù)的結(jié)果需存儲(chǔ)在所述地址上。
最后,行a3所示的第三操作為一編碼操作,所述編碼操作使用了標(biāo)識(shí)符DES標(biāo)識(shí)的編碼函數(shù)DES,所述函數(shù)使用了三個(gè)變?cè)狪NPUT,包含待編碼數(shù)據(jù)的八字節(jié)地址段;——KEY,密鑰的參考值,所述參考值以L字符串形式被存儲(chǔ);及——OUTPUT,八字節(jié)地址段,編碼函數(shù)的結(jié)果需存儲(chǔ)在所述地址段上。
另外,各函數(shù)與一操作模式相關(guān),所述操作模式確定了至少一個(gè)存取存儲(chǔ)器的規(guī)則,操作模式存儲(chǔ)在圖2所示的驗(yàn)證表中。
圖2中示出了根據(jù)本發(fā)明的一張驗(yàn)證表。
對(duì)各編碼、解碼函數(shù)及邏輯函數(shù)而言,驗(yàn)證表TV中包括的行和所述函數(shù)的操作模式一樣多,各操作模式確定了存取安全存儲(chǔ)器MS及非安全存儲(chǔ)器MNS的規(guī)則。
例如,編碼函數(shù)DES包括4種操作模式,因?yàn)樵诖颂幩枋龅膶?shí)施方式中,所有編碼函數(shù)均被允許在安全存儲(chǔ)器及非安全存儲(chǔ)器中讀寫,并無特別限制。
相反,可看到,在驗(yàn)證表TV的最后兩行中,解碼函數(shù)DES-1只有兩種操作模式,根據(jù)本發(fā)明,所有解碼函數(shù)只被允許在安全存儲(chǔ)器MS里產(chǎn)生數(shù)據(jù)。
現(xiàn)參照?qǐng)D3描述一主程序,所述主程序?qū)嵤└鶕?jù)本發(fā)明的計(jì)算機(jī)程序P的自動(dòng)證實(shí)方法及執(zhí)行方法。
證實(shí)方法包括附錄A的計(jì)算機(jī)程序P預(yù)先編譯步驟E300,所述編譯步驟生成一二進(jìn)制腳本EXE。
現(xiàn)參照附錄B描述所述編譯步驟生成的二進(jìn)制腳本EXE。
為簡(jiǎn)化描述,二進(jìn)制腳本EXE的字節(jié)集中在行b1至b20中。
數(shù)據(jù)EXE的前兩字節(jié)(行b1)對(duì)應(yīng)二進(jìn)制腳本的大小,即十六進(jìn)制表示法的6C。
緊接的字節(jié)(行b2)對(duì)應(yīng)計(jì)算機(jī)程序P的操作數(shù)量,即為3。
集中在行b3至b8中的字節(jié)為第一操作(行a1,附錄A)編譯所生成的字節(jié)。
同樣,集中在行b9至b13中的字節(jié)為第二操作(行a2,附錄A)編譯所生成的字節(jié)。
最后,集中在行b14至b19中的字節(jié)為第三操作也是最后操作(行a3,附錄A)編譯所生成的字節(jié)。
在所述各組中——第一行(行b3、b16及b14)由代表字節(jié)數(shù)的一十六進(jìn)制表示法的字節(jié)表示,所述字節(jié)由相應(yīng)操作的編譯所產(chǎn)生,即對(duì)函數(shù)DES-1、CHECKSUM_XOR和DES來說,分別等于24、16和24;——第二行(行b4、b10及b15)由一字節(jié)構(gòu)成,所述字節(jié)由相應(yīng)函數(shù)的標(biāo)識(shí)符的編譯所產(chǎn)生,即對(duì)函數(shù)DES-1、CHECKSUM_XOR和DES來說,分別等于22、53和21;——第三行(行b5、b11及b16)由等于相應(yīng)函數(shù)的變?cè)獢?shù)的一字節(jié)構(gòu)成,即對(duì)函數(shù)DES-1、CHECKSUM_XOR和DES來說,分別為3、2和3;——第四行(行b6、b12及b17)由相應(yīng)函數(shù)第一變?cè)木幾g產(chǎn)生的字節(jié)構(gòu)成;——第五行(行b7、b13及b18)由相應(yīng)函數(shù)第二變?cè)木幾g產(chǎn)生的字節(jié)構(gòu)成;——第六行(行b8及b19)由相應(yīng)函數(shù)第三變?cè)木幾g產(chǎn)生的字節(jié)構(gòu)成。
在此處所描述的實(shí)施方式中,變?cè)幾g首先生成表示存儲(chǔ)區(qū)的第一字節(jié),所述存儲(chǔ)區(qū)內(nèi)進(jìn)行涉及所述變?cè)淖x或?qū)懖僮鳌?br> 在此處所描述的實(shí)施例中,使用了四個(gè)存儲(chǔ)區(qū)——非安全輸入?yún)^(qū),IN_BUF,由字節(jié)01(行b6)表示;——非安全輸出區(qū),OUT_BUF,由字節(jié)02(行b19)表示;——計(jì)算安全區(qū),PRIVATE,由字節(jié)04(行b8、b12及b13)表示;及——密鑰存儲(chǔ)安全區(qū),由字節(jié)05(行b7及b18)表示。
變?cè)幾g再產(chǎn)生代表變?cè)笮〉牡诙止?jié)。在此處所描述的實(shí)施例中,當(dāng)變?cè)獮橐坏刂窌r(shí),所述大小為8字節(jié),或變?cè)獮橛?2個(gè)字符“CIPHER.TEST1”構(gòu)成的密鑰KEY時(shí),為12字節(jié)(十六進(jìn)制表示法0C)。
變?cè)幾g最后產(chǎn)生代表所述變?cè)档淖止?jié)組。
在此處所描述的實(shí)施例中,地址段在程序P中使用符號(hào)ZONE/DECALAGE/LONGUEUR表示,其中——ZONE表示包括所述地址段的存儲(chǔ)區(qū)類型,所述類型的存儲(chǔ)區(qū)在非安全輸入?yún)^(qū)IN-BUF、非安全輸出區(qū)OUT-BUF、計(jì)算安全區(qū)PRIVATE及安全密鑰存儲(chǔ)區(qū)中選擇;——DECALAGE,表示所述地址段的開始相對(duì)于所述區(qū)的開始的偏移(英文為“offset”);及——LONGUEUR,表示地址段的大小。
根據(jù)所述符號(hào),邏輯操作CHECKSUM-XOR(行a2,附錄A)的第二變?cè)?OUTPUT=[PRIVATE/08/01])表示所述邏輯操作的結(jié)果必須存儲(chǔ)在計(jì)算安全區(qū)PRIVATE里,在從所述區(qū)的第八字節(jié)開始延伸一字節(jié)的一范圍內(nèi)。
在此處所描述的實(shí)施方式中,二進(jìn)制腳本以一字節(jié)組結(jié)束(行b20),所述字節(jié)組對(duì)應(yīng)于從構(gòu)成所述腳本的至少部分字節(jié)而獲得的密碼簽名。
編譯步驟E300之后為步驟E305,在所述步驟中,主程序接收——一方面,計(jì)算機(jī)程序P的輸入數(shù)據(jù),所述輸入數(shù)據(jù)可包括安全密鑰;及
——另一方面,在編譯步驟E300中生成的二進(jìn)制腳本EXE。
在此處所描述的實(shí)施方式中,安全密鑰存儲(chǔ)在密鑰存儲(chǔ)安全區(qū)中。
接收步驟E305之后為步驟E310,在所述步驟中,主程序動(dòng)態(tài)分配安全存儲(chǔ)器MS和非安全存儲(chǔ)器MNS。
本領(lǐng)域技術(shù)人員了解所述分配步驟,例如,所述分配步驟可采用malloc()系統(tǒng)函數(shù)來實(shí)施。
無論如何,所述分配步驟E310可獲得第一地址指針BUFF-MNS及第二地址指針BUFF-MS,所述第一指針BUFF-MNS指向非安全存儲(chǔ)器,所述第二地址指針指向安全存儲(chǔ)器。
在此處所描述的實(shí)施方式中,這樣分配的非安全存儲(chǔ)器MNS又分成兩區(qū)——非安全輸入?yún)^(qū),IN_BUF;及——非安全輸出區(qū),OUT_BUF。
安全存儲(chǔ)器MS也分為兩區(qū)——計(jì)算安全區(qū),PRIVATE;及——密鑰存儲(chǔ)安全區(qū)。
在同一步驟E310中,在一最佳實(shí)施方式里,還分配有一工作存儲(chǔ)器MT,所述存儲(chǔ)器由指示符BUFF-EXE定位,所述工作存儲(chǔ)器中包含步驟E305中接收到的二進(jìn)制腳本EXE。
存儲(chǔ)器分配步驟310后為二進(jìn)制腳本完整性驗(yàn)證步驟E315。
例如,所述步驟E315可驗(yàn)證二進(jìn)制腳本EXE的密碼簽名,如前面參照附錄B行b20所描述的。
所述腳本完整性驗(yàn)證操作步驟E315可增強(qiáng)檢驗(yàn)方法的安全性。
腳本完整性驗(yàn)證操作步驟E315之后為步驟E320,在所述步驟中,可獲得計(jì)算機(jī)程序P的操作數(shù)量N,所述操作數(shù)量N存儲(chǔ)在和工作存儲(chǔ)器MT同名的一寄存器里。
在此處所描述的實(shí)施方式中,操作數(shù)量N為二進(jìn)制腳本EXE的第三字節(jié)(行b2)。
若未配置腳本完整性驗(yàn)證操作步驟E315,操作數(shù)量獲取步驟E320可在前述存儲(chǔ)器分配步驟E310后執(zhí)行。
操作數(shù)量N獲取步驟E320之后為一檢測(cè)E325,在所述檢測(cè)中,可驗(yàn)證工作存儲(chǔ)器MT的寄存器N的內(nèi)容是否為0。
若不為0,檢測(cè)E325的結(jié)果為負(fù)。
所述檢測(cè)之后為步驟E330,在所述步驟中,可在二進(jìn)制腳本中獲得計(jì)算機(jī)程序P第一操作所使用的函數(shù)的標(biāo)識(shí)符。
在附錄B所示實(shí)施例中,這樣獲得的標(biāo)識(shí)符等于22,表示函數(shù)DES-1(行b4)。
所述步驟E330之后為步驟E335,在所述步驟中,可在二進(jìn)制腳本里獲得所述函數(shù)的變?cè)?br> 事實(shí)上,變?cè)@取步驟E335包括——第一子步驟,在此過程中,在圖1的語法表TS中搜索函數(shù)的各變?cè)男屑按笮?;及——第二子步驟,在此過程中,讀取二進(jìn)制腳本里的相應(yīng)字節(jié)數(shù)。
函數(shù)變?cè)@取步驟E335之后為步驟E340,所述步驟調(diào)用驗(yàn)證在步驟E330及E335過程中所標(biāo)識(shí)的函數(shù)的過程。
現(xiàn)參照?qǐng)D4描述驗(yàn)證過程的主要步驟E400至E440。
在證實(shí)方法的第一步驟E400中,根據(jù)圖2的驗(yàn)證表,獲得安全存儲(chǔ)器及非安全存儲(chǔ)器存取規(guī)則,所述規(guī)則在步驟E330的所識(shí)別的函數(shù)操作模式中確定。
規(guī)則獲取步驟E400之后為檢測(cè)E410,在所述檢測(cè)中,可驗(yàn)證所述規(guī)則是否得到遵守。
實(shí)際上,所述驗(yàn)證步驟驗(yàn)證——根據(jù)所述規(guī)則,必須在安全存儲(chǔ)器里實(shí)施的所有讀寫操作在指示符BUFF_MS指定的地址段內(nèi)執(zhí)行;及——必須在非安全存儲(chǔ)器里進(jìn)行的所有讀寫操作在指示符BUFF_MNS指定的地址段內(nèi)執(zhí)行。
例如,瀏覽附錄B的行b14至b19,可看到函數(shù)DES(行b15)實(shí)施——由計(jì)算安全區(qū)PRIVATE(字節(jié)04,行b17)的前9個(gè)字節(jié)構(gòu)成的地址段中的讀取操作;及——由非安全輸出區(qū)OUT-BUF(字節(jié)02,行b19)的前10個(gè)字節(jié)構(gòu)成的地址段中的讀取操作,根據(jù)驗(yàn)證表TV,所述存儲(chǔ)器存取符合函數(shù)DES的第二操作模式。
當(dāng)所有存儲(chǔ)器存取規(guī)則均符合時(shí),檢測(cè)E410的結(jié)果為正。
于是,所述檢測(cè)之后為步驟E420,在所述步驟中,執(zhí)行在處理過程中的操作。
相反,如果至少有一條存取規(guī)則未被遵守,檢測(cè)E410的結(jié)果為負(fù)。
于是,所述檢測(cè)之后為步驟E430,在所述步驟中,刪除非安全輸出區(qū)OUT-BUF里的內(nèi)容。
輸出存儲(chǔ)器刪除步驟E430之后為步驟E440,所述步驟向計(jì)算機(jī)程序P的程序員發(fā)出出錯(cuò)通知。
無論如何,步驟E420和E440之后均結(jié)束根據(jù)本發(fā)明的驗(yàn)證操作。
所述步驟之后為證實(shí)檢測(cè)E345,現(xiàn)參照?qǐng)D3描述所述證實(shí)檢測(cè)。
在所述證實(shí)檢測(cè)E345中,驗(yàn)證前面參照?qǐng)D4所描述的驗(yàn)證過程結(jié)束于執(zhí)行操作(步驟E420)還是出錯(cuò)通知步驟(步驟E440)。
當(dāng)驗(yàn)證過程正常結(jié)束,即由操作執(zhí)行步驟E420結(jié)束時(shí),檢測(cè)結(jié)果E345為正。
因而,所述檢測(cè)之后為步驟E350,在此步驟中,刪減一單元的寄存器N的內(nèi)容。
步驟E350之后為已描述過的檢測(cè)E325,在所述檢測(cè)中驗(yàn)證寄存器N中是否有值0。
當(dāng)所述檢測(cè)結(jié)果為負(fù)時(shí),執(zhí)行已描述過的步驟E330,在所述步驟中,在二進(jìn)制腳本EXE中讀取構(gòu)成計(jì)算機(jī)程序P第二操作的函數(shù)的標(biāo)識(shí)符。
因此,步驟E325至E350形成一循環(huán),在所述循環(huán)中,如果計(jì)算機(jī)程序P符合所有存儲(chǔ)器存取規(guī)則,所述程序的所有操作得到證實(shí)并被執(zhí)行。
反之,當(dāng)驗(yàn)證過程結(jié)束后為出錯(cuò)通知,檢測(cè)E345的結(jié)果為負(fù)。
因而,所述檢測(cè)之后為后文將要描述的步驟E355。
當(dāng)計(jì)算機(jī)程序P的所有操作被由步驟E325至E350構(gòu)成的循環(huán)的證實(shí)時(shí),檢測(cè)E325的結(jié)果為正。
在此情況下,檢測(cè)E325之后為步驟E355,在所述步驟中,把輸出區(qū)OUT-BUF中的內(nèi)容傳輸給主程序的用戶,或處理輸出數(shù)據(jù)的另一計(jì)算機(jī)程序。
步驟E355之后為釋放并刪除在步驟E310時(shí)分配的存儲(chǔ)器的步驟E360。
所述步驟E360結(jié)束根據(jù)本發(fā)明的主程序。
圖5簡(jiǎn)略示出了一計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括根據(jù)本發(fā)明的一證實(shí)裝置。
首先,所述計(jì)算機(jī)系統(tǒng)包括一編譯器,所述編譯器可根據(jù)源代碼型計(jì)算機(jī)程序P,產(chǎn)生如前面所定義的一二進(jìn)制腳本EXE。
計(jì)算機(jī)系統(tǒng)還包括一安全操作系統(tǒng)(英文即Operating System)。所述安全操作系統(tǒng)包括一安全存儲(chǔ)器MS及一非安全存儲(chǔ)器MNS的分配裝置。
事實(shí)上,在一最佳實(shí)施方式中,所述分配裝置為本領(lǐng)域技術(shù)人員已熟知的軟件函數(shù),例如函數(shù)malloc()。所述分配函數(shù)以公知方式返回一地址指針,所述地址指針限定安全MS及非安全MNS存儲(chǔ)器地址段的起始。
在圖5所示實(shí)施例中,安全MS及非安全MNS存儲(chǔ)器的地址指針分別為BUFF-MS及BUFF-MNS。
在一最佳實(shí)施方式中,二進(jìn)制腳本EXE存儲(chǔ)在工作存儲(chǔ)器MT中,所述工作存儲(chǔ)器由前面所述的分配裝置所分配,由地址指針BUFF-EXE定位。
在所述的實(shí)施例中,二進(jìn)制腳本EXE實(shí)際上由計(jì)算機(jī)系統(tǒng)的加載裝置,例如PCI總線,加載到工作存儲(chǔ)器中。
在另一實(shí)施方式中,二進(jìn)制腳本EXE存儲(chǔ)在一非易失存儲(chǔ)器中,在其證實(shí)時(shí)被加載。
因此,計(jì)算機(jī)系統(tǒng)包括一證實(shí)裝置,所述證實(shí)裝置包括適于驗(yàn)證二進(jìn)制腳本EXE有效性的一驗(yàn)證器程序。
一般地,計(jì)算機(jī)系統(tǒng)的驗(yàn)證器程序適于執(zhí)行前面參照?qǐng)D3、4所描述的證實(shí)方法及執(zhí)行方法。
更準(zhǔn)確地講,驗(yàn)證器程序可驗(yàn)證從安全存儲(chǔ)器MS讀取數(shù)據(jù)及在非安全存儲(chǔ)器中產(chǎn)生數(shù)據(jù)的所有函數(shù)是否為一編碼函數(shù)。
它還可驗(yàn)證由一解碼函數(shù)產(chǎn)生的所有數(shù)據(jù)是否存儲(chǔ)在安全存儲(chǔ)器MS中。
驗(yàn)證器程序尤其可瀏覽存儲(chǔ)在工作存儲(chǔ)器MT中的二進(jìn)制腳本EXE,定位對(duì)應(yīng)于在編譯后編碼、解碼及邏輯函數(shù)的標(biāo)識(shí)符及變?cè)闹噶睢?br> 所述定位步驟的實(shí)施在于比較二進(jìn)制腳本EXE的十六進(jìn)制數(shù)據(jù)與前面參照?qǐng)D1所述語法表TS中的信息。
一旦函數(shù)的所述標(biāo)識(shí)符及變?cè)淮_定,計(jì)算機(jī)系統(tǒng)的驗(yàn)證器程序可驗(yàn)證前面參照?qǐng)D2所描述的存儲(chǔ)在驗(yàn)證表TV中的存取規(guī)則是否被遵守。
為此,為存儲(chǔ)器中進(jìn)行的各讀或?qū)懖僮髟诙M(jìn)制腳本EXE中確定存儲(chǔ)地址,所述操作必須在所述地址實(shí)施。
它再確定所述操作是在安全存儲(chǔ)器MS還是在非安全存儲(chǔ)器MNS中進(jìn)行,這可通過比較為此操作確定的位置與地址指針BUFF-MS及BUFF-MNS的值而實(shí)現(xiàn)。
一旦識(shí)別出所述存儲(chǔ)器,計(jì)算機(jī)系統(tǒng)的驗(yàn)證器程序可驗(yàn)證讀或?qū)懖僮魇欠穹咸幚磉^程中的函數(shù)類型的存取規(guī)則。
在另一實(shí)施方式中,證實(shí)方法植入安全操作系統(tǒng)中。有利地是,所述操作系統(tǒng)可應(yīng)用在微電路卡中。
附錄ANNEXE A/*a1*/ DES-1(INPUT=[IN_BUF/00/08],KEY=″CIPHER.TEST1″,OUTPUT=[PRIVATE/00/08]);/*a2*/ CHECKSUM_XOR(INPUT=[PRIVATE/00/08],OUTPUT=[PRIVATE/08/01]);/*a3*/ DES(INPUT=[PRIVATE/00/09],KEY=″CIPHER.TEST1″,OUTPUT=[OUT_BUF/00/10]);ANNEXE B/*b1*/ 006C /* 腳本大小 *//*b2*/ 03 /* 操作數(shù)量 *//*b3*/ 24 /* 指令DES-1大小 *//*b4*/ 22 /* 指令DES-1標(biāo)識(shí)符 *//*b5*/ 03 /* 變?cè)獢?shù) *//*b6*/ 01 08 0000000000000008/*INPUT*//*b7*/ 05 0C 4349504845522E5445535431/*KEY*//*b8*/ 04 08 0000000000000008/*OUTPUT*//*b9*/ 16 /* 指令CHECKSUM_XOR大小 *//*b10*/53 /* 指令CHECKSUM_XOR標(biāo)識(shí)符*//*b11*/02 /* 變?cè)獢?shù) *//*b12*/04 08 0000000000000008/*INPUT*//*b13*/04 08 0000000800000001/*OUTPUT*//*b14*/24 /* 指令DES大小*//*b15*/21 /* 指令DES標(biāo)識(shí)符 *//*b16*/03 /* 變?cè)獢?shù) *//*b17*/04 08 0000000000000009/*INPUT*//*b18*/05 0C 4349504845522E5445535431/*KEY*//*b19*/02 08 0000000000000010/*OUTPUT*//*b20*/1425283678895422 /* 密碼簽名 */
權(quán)利要求
1.一種對(duì)可存取一安全存儲(chǔ)器(MS)及一非安全存儲(chǔ)器(MNS)的計(jì)算機(jī)程序進(jìn)行自動(dòng)證實(shí)的方法,所述程序使用至少一編碼函數(shù)(DES)及至少一解碼函數(shù)(DES-1),其特征還在于,該方法包括一驗(yàn)證步驟(E340),在所述驗(yàn)證步驟中驗(yàn)證——適合于從安全存儲(chǔ)器(MS)讀取數(shù)據(jù)并在非安全存儲(chǔ)器(MNS)中生成數(shù)據(jù)的任何函數(shù)為一編碼函數(shù);及——由解碼函數(shù)產(chǎn)生的任何數(shù)據(jù)被存儲(chǔ)在安全存儲(chǔ)器(MS)中。
2.按照權(quán)利要求1所述的證實(shí)方法,其特征在于,所述計(jì)算機(jī)程序還使用至少一非密碼函數(shù),所述函數(shù)在一邏輯函數(shù)、一隨機(jī)數(shù)產(chǎn)生函數(shù)或一完整性控制函數(shù)中選擇。
3.按照權(quán)利要求2所述的證實(shí)方法,其特征在于,由所述非密碼函數(shù)根據(jù)在所述安全存儲(chǔ)器(MS)中讀取的數(shù)據(jù)產(chǎn)生的所有數(shù)據(jù)被存儲(chǔ)在所述安全存儲(chǔ)器(MS)中。
4.按照權(quán)利要求1至3任一項(xiàng)所述的證實(shí)方法,其特征在于,計(jì)算機(jī)程序?yàn)樵创a,所述方法在驗(yàn)證步驟(E340)之前包括把所述源代碼編譯為二進(jìn)制腳本(EXE)的步驟(E300),所述驗(yàn)證步驟(E340)在這樣產(chǎn)生的二進(jìn)制腳本(EXE)上執(zhí)行。
5.按照權(quán)利要求1至4任一項(xiàng)所述的證實(shí)方法,其特征在于,所述計(jì)算機(jī)程序?yàn)橐幻舾袛?shù)據(jù)生成程序。
6.按照權(quán)利要求1至5任一項(xiàng)所述的證實(shí)方法,其特征在于,所述計(jì)算機(jī)程序?yàn)橐幻舾袛?shù)據(jù)轉(zhuǎn)換程序。
7.按照權(quán)利要求1至6任一項(xiàng)所述的證實(shí)方法,其特征在于,所述計(jì)算機(jī)程序使用的各函數(shù)與確定存取所述存儲(chǔ)器的至少一條規(guī)則的至少一操作模式相關(guān)聯(lián),所述操作模式存儲(chǔ)在所述驗(yàn)證步驟(E340)中使用的驗(yàn)證表(TV)中。
8.按照權(quán)利要求7所述的證實(shí)方法,其特征在于,它還包括——所述安全(MS)存儲(chǔ)器及非安全(MNS)存儲(chǔ)器的分配步驟(E310);——把所述二進(jìn)制腳本(EXE)的驗(yàn)證器程序加載到一工作存儲(chǔ)器中的步驟,所述驗(yàn)證器程序適合于實(shí)施所述驗(yàn)證步驟(E340);及——把所述二進(jìn)制腳本(EXE)加載到所述工作存儲(chǔ)器中的一步驟(E305)。
9.一種編譯器,其特征在于所述編譯器適合于實(shí)施如權(quán)利要求1至7中任一項(xiàng)所述的證實(shí)方法。
10.一種可存取一安全存儲(chǔ)器(MS)及一非安全存儲(chǔ)器(MNS)的計(jì)算機(jī)程序的運(yùn)行方法,所述程序使用至少一編碼函數(shù)(DES)及至少一解碼函數(shù)(DES-1),其特征還在于,在運(yùn)行所述程序的各函數(shù)之前(E420),實(shí)施如權(quán)利要求1至8任一項(xiàng)所述的驗(yàn)證步驟(E340)。
11.根據(jù)權(quán)利要求10所述的運(yùn)行方法用于轉(zhuǎn)換或生成敏感數(shù)據(jù)的用途。
12.根據(jù)權(quán)利要求10所述的運(yùn)行方法用于使微電路卡個(gè)人化的用途。
13.一種集成電路,其特征在于,它適合于實(shí)施按照權(quán)利要求1至8任一項(xiàng)所述的證實(shí)方法或按照權(quán)利要求10所述的運(yùn)行方法。
14.一種微電路卡,其特征在于,它包括按照權(quán)利要求13所述的集成電路。
15.一種計(jì)算機(jī)系統(tǒng),其特征在于,它包括按照權(quán)利要求13所述的一集成電路。
16.一種安全操作系統(tǒng),其特征在于,它適合于實(shí)施按照權(quán)利要求1至8任一項(xiàng)所述的證實(shí)方法。
17.一種微電路卡,其特征在于,它包括按照權(quán)利要求16所述的一操作系統(tǒng)。
18.一種計(jì)算機(jī)系統(tǒng),其特征在于,它包括按照權(quán)利要求16所述的一操作系統(tǒng)。
19.一種可存取一安全存儲(chǔ)器(MS)及一非安全存儲(chǔ)器(MNS)的計(jì)算機(jī)程序的證實(shí)裝置,所述程序使用有至少一編碼函數(shù)(DES)及至少一解碼函數(shù)(DES-1),其特征還在于,它包括一驗(yàn)證器程序,所述程序適合于驗(yàn)證——適合于從安全存儲(chǔ)器(MS)讀取數(shù)據(jù)并在非安全存儲(chǔ)器(MNS)生成數(shù)據(jù)的任何函數(shù)為一編碼函數(shù);及——由解碼函數(shù)產(chǎn)生的任何數(shù)據(jù)存儲(chǔ)在安全存儲(chǔ)器(MS)中。
20.按照權(quán)利要求19所述的證實(shí)裝置,其特征在于,驗(yàn)證器程序適合于根據(jù)由編譯所述計(jì)算機(jī)程序獲得的二進(jìn)制腳本(EXE),實(shí)施所述驗(yàn)證。
21.一種計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括一安全操作系統(tǒng),其特征在于,它包括——將計(jì)算機(jī)程序編譯成二進(jìn)制腳本(EXE)的編譯裝置;——將二進(jìn)制腳本(EXE)加載到工作存儲(chǔ)器的裝置;——分配安全存儲(chǔ)器(MS)和非安全存儲(chǔ)器(MNS)的分配裝置;及——按照權(quán)利要求19所述的一證實(shí)裝置。
全文摘要
所述計(jì)算機(jī)程序的自動(dòng)證實(shí)方法可存取一安全存儲(chǔ)器及一非安全存儲(chǔ)器,所述程序使用有至少一編碼函數(shù)及至少一解碼函數(shù),它包括一驗(yàn)證步驟(E340),在所述驗(yàn)證步驟中驗(yàn)證可從安全存儲(chǔ)器讀取數(shù)據(jù)并在非安全存儲(chǔ)器中生成數(shù)據(jù)的任何函數(shù)為一編碼函數(shù);及由解碼函數(shù)產(chǎn)生的任何數(shù)據(jù)存儲(chǔ)在安全存儲(chǔ)器中。
文檔編號(hào)G06F21/57GK1643550SQ03806985
公開日2005年7月20日 申請(qǐng)日期2003年3月18日 優(yōu)先權(quán)日2002年3月26日
發(fā)明者文森特·芬?guī)焖固? 法布瑞斯·伊麗薩貝絲 申請(qǐng)人:奧貝蒂爾卡系統(tǒng)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1