TW405096B - Information processing apparatus and method and recording medium - Google Patents

Information processing apparatus and method and recording medium Download PDF

Info

Publication number
TW405096B
TW405096B TW087105908A TW87105908A TW405096B TW 405096 B TW405096 B TW 405096B TW 087105908 A TW087105908 A TW 087105908A TW 87105908 A TW87105908 A TW 87105908A TW 405096 B TW405096 B TW 405096B
Authority
TW
Taiwan
Prior art keywords
program
keyword
decoding
encrypted
information processing
Prior art date
Application number
TW087105908A
Other languages
English (en)
Inventor
Shoichi Takeuchi
Shinji Nanba
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Application granted granted Critical
Publication of TW405096B publication Critical patent/TW405096B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • G06F21/126Interacting with the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • G06F2211/008Public Key, Asymmetric Key, Asymmetric Encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Description

經濟部中央橾準局員工消费合作社印$ 405096 377 五、發明説明(彳) 發明背景 1 .發明領域 本發明是關於一種資訊處理裝置與方法以及一種記錄 媒體。特別是,本發明是關於一種資訊處理裝置與方法以 及一種記錄媒體,其中,只有允許由一合法的程式開發者 所開發的程式在某一程式執行環境中被執行。 2.先前技術說明 時下,因爪哇(美國昇陽微系統公司(Sun Microsystem, Inc.) 的商標 ) 適合近年內快速傳佈的網際網路, 故引起高度的注意。“爪哇”這名詞被當作一物件導向的爪哇 語言、一虛擬機器(以下稱爲"爪哇虛擬機器"),其中該機 器定義適合執行由爪哇語言所寫成的一程式(以下稱爲“爪 哇程式”)的一處理器構造、和其他與爪哇相關的元件、或 被當作這些名詞的一般稱呼。“虛擬機器"這名詞代表被設定 爲實作(implement)—語言處理的系統,而不是被當作虛 擬地使單一電腦對使用者猶如其爲多個電腦的一虛擬機器 〇 一爪哇虛擬機器在一實際的(真實的)電腦上被實作 ,以便在被安裝在該電腦上的一〇 s (作業系統)上運作 。另一方面,一爪哇程式被編譯成由爪哇虛擬機器的指令 集所組成的二位元碼(binary codes)。該二位元碼可由該 爪哇虛擬機器能運作的任何硬體所執行。因此,只要爪眭 虛擬機器在該平台上運作’一編譯過的爪哇程式便能在各 本紙張尺度適用中國國家標準(CNS > A4規格(2丨0X297公釐) ---------Λ------IT------^ (婧先閲讀背面之注意事項再填窍本頁) •4- 405096 A7 B7_、 五、發明説明(2 ) 種不同的平台上被執行。 {讀先閲讀背面之注意事項再填寫本頁) 一旦爪哇虛擬機器被實作,爪哇程式便能在其上被執 行,基於這事實和其他理由,吾人可想見:爪哇虛擬機器 將傳佈至許多使用者,且許多應用程式將被開發與散佈至 許多這樣的使用者(不論他們是否必須付費或免費)。 在如上的情況下》可能有一種情形發生:已開發且散 佈如:爪哇虛擬機器的一程式執行環境之一方想要限制由 —第三方(third party)所開發且在這樣的程式執行環境中 被執行的應用程式之散佈:例如:前一方可能只想准許被 許可的一方(licensed party)散佈應用程式。 另一方面,在一爪哇虛擬機器中,使用一爪哇編譯器 編譯爪哇程式而得,稱爲的位元組碼(爪哇碼)之中間碼 被譯解且被執行》爪哇位元組碼可藉由反編譯(dis· compiling)而輕易地被了解,這使得逆向工程(reverse engineering)可輕易地被執行。因此,須要防止第三方的仿 冒和竄改。 經濟部中央標準局貝工消費合作社印製 發明槪述 本發明已在如上的情況下被製成,且因此本發明的一 目的是:在某一程式執行環境中能夠限制一程式的執行並 且可以防止一程式的仿冒和竄改。 根據本發明的第一方面之資訊處理裝置包含:第一關 鍵詞解碼構件,其中該構件藉由使用一第二關鍵詞,對將 一程式的被編密版本解碼所需的一第一關鍵詞的一被編密 本紙張尺度適用中國國家橾準(CNS > A4規格(210X297公釐) -5 - 405096 A7 £7_ ' 五、發明説明(3 ) 版本解碼;程式解碼構件,其中該構件藉由使用經由第一 關鍵詞解碼構件所解碼而得的第一關鍵詞,對該程式的被 編密版本解碼:和執行構件,用以執行從程式解碼構件輸 出的程式》 根據本發明的第二方面之資訊處理方法包含:藉由使 用一第二關鍵詞,對將一程式的被編密版本解碼所需的一 第一關鍵詞的一被編密版本解碼之步驟:藉由使用經由上 述解碼步驟而得的第一關鍵詞,對該程式的被編密版本解 碼之步驟:和執行由上述解碼所得的程式之步驟。 根據本發明的第三方面之記錄媒體爲一程式被記錄於 其上的一記錄媒體,其中該程式是爲讓一電腦,藉由使用 —第二關鍵詞,對將一程式的被編密版本解碼所需的一第 一關鍵詞的一被編密版本解碼;藉由使用經由上述解碼步 驟而得的第一關鍵詞,對該程式的被編密版本解碼;且執 行由上述解碼所得的程式。 根據本發明的第四方面之資訊處理裝置包含:編密構 件,用來將一程式編密成被編密的句子,其中該句子將被 解碼成可以被根據本發明的第一方面之資訊處理裝置所執 行的碼。 根據本發明的第五方面之資訊處理方法包含:將一程 式編密成被編密的句子,其中該句子將被解碼成可以被根 據本發明的第一方面之資訊處理裝置所執行的碼之步驟。 根據本發明的第六方面之記錄媒體爲一程式被記錄於 其上的一記錄媒體,其中該程式被編密成被編密的句子, 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨0X297公釐) I — — — — — — 裳| .f n ϋ I I ·1 ^ (婧先閲讀背面之注意事項再填艿本頁) 經濟部中央標準局貝工消费合作社印製 -6- 4050 A7 B7 經濟部中央標準局負工消費合作社印笨 五、發明説明(4 ) 其中該句子將被解碼成可以被根據本發明的第一方面之資 訊處理裝置所執行的碼。 根據本發明的第七方面之資訊處理裝置包含:執行一 程式的執行構件;關鍵詞解碼構件,其中該構件藉由使用 —第二關鍵詞,對被用來檢査附加至該程式的一訊徵的一 第一關鍵詞之被編密版本解碼:檢査構件,其中該構件藉 由使用經由該關鍵詞解碼構件所解碼而得的第一關鍵詞, 檢査附加至該程式的訊徵是否爲合法的;和供應構件,用 以將程式供應至執行構件,其中該程式已被檢査構件肯定 爲合法的且該訊徵附加於其上。 根據本發明的第八方面之資訊處理方法包含:藉由使 用一第二關鍵詞,對被用來檢査附加至一程式的一訊徵的 一第一關鍵詞之被編密版本解碼之步驟;藉由使用由上述 解碼步驟而得的第一關鍵詞,檢査附加至該程式的訊徵是 否爲合法的步驟:和只有在該程式被肯定爲合法時,執行 該程式的步驟。 根據本發明的第九方面之記錄媒體爲一程式被記錄於 其上的一記錄媒體,其中該程式是爲讓一電腦,藉由使用 一第二關鍵詞,對被用來檢査附加至一程式的一訊徵的一 第一關鍵詞之被編密版本解碼;藉由使用由上述解碼步驟 而得的第一關鍵詞,檢査附加至該程式的訊徵是否爲合法 的步驟;和只有在該程式被肯定爲合法時,執行該程式· 根據本發明的第十方面之資訊處理裝置包含:處理構 件,用以處理一程式,以致一訊徵將在根據本發明的第七 (請先閱讀背面之注意事項再填寫本頁) --- 、** 線 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) ^05196 a? B7 經濟部中央標準局貝工消費合作社印掣 五、發明説明(5 ) 方面之資訊處理裝置中被肯定爲合法。 根據本發明的第十一方面之資訊處理方法包含:處理 一程式的步驟,以致一訊徵將在根據本發明的第七方面之 資訊處理裝置中被肯定爲合法。 根據本發明的第十二方面之記錄媒體爲一程式被記錄 於其上的一記錄媒體,其中該程式已被處理,以致一訊徵 將在根據本發明的第七方面之資訊處理裝置中被肯定爲合 法。 在根據本發明的第一方面之資訊處理裝置中,第一關 鍵詞解碼構件藉由使用一第二關鍵詞,對將一程式的被編 密版本解碼所需的一第一關鍵詞的一被編密版本解碼,且 該程式解碼構件藉由使用經由第一關鍵詞解碼構件所解碼 而得的第一關鍵詞,對該程式的被編密版本解碼。執行構 件執行從程式解碼構件輸出的程式。 在根據本發明的第二方面之資訊處理方法中,藉由使 用一第二關鍵詞,對將一程式的被編密版本解碼所需的一 第一關鍵詞的一被編密版本解碼,藉由使用經由上述的解 碼而得的第一關鍵詞,對該程式的被編密版本解碼,和執 行由上述解碼所得的程式。 在根據本發明的第三方面之記錄媒體上,一程式被記 錄於其上,其中該程式爲使一電腦,藉由使用一第二關鍵 詞,對將一程式的被編密版本解碼所需的一第一關鍵詞的 一被編密版本解碼,藉由使用經由上述解碼而得的第一關 鍵詞,對該程式的被編密版本解碼:且執行由上述解碼所 (請先閲讀背面之注意事項再填商本頁) •裝. 訂 線 本纸張尺度適用中國_準(⑽)烟臟祕)· 8 _ 經濟部中央樣準局貝工消费合作社印製 mode_^__ 五、發明説明(6 ) 得的程式。 在根據本發明的第四方面之資訊處理裝置中,編密構 件將一程式編密成被編密的句子,其中該句子將被解碼成 可以被根據本發明的第一方面之資訊處理裝置所執行的碼 〇 在根據本發明的第五方面之資訊處理方法中,一程式 被編密成被編密的句子,其中該句子將被解碼成可以被根 據本發明的第一方面之資訊處理裝置所執行的碼。 在根據本發明的第六方面之記錄媒體上,一程式被記 錄於其上,其中該程式被編密成被編密的句子,其中該句 子將被解碼成可以被根據本發明的第一方面之資訊處理裝 置所執行的碼。 在根據本發明的第七方面之資訊處理裝置中,該關鍵 詞解碼構件藉由使用一第二關鍵詞,對檢査附加至該程式 的一訊徵用的一第一關鍵詞之被編密版本解碼,且檢査構 件藉由使用經由該關鍵詞解碼構件所解碼而得的第一關鍵 詞,檢査附加至該程式的訊徵是否爲合法的。該供應構件 將程式供應至執行構件,其中該程式已被檢査構件肯定爲 合法的且該訊徵附加於其上。執行構件執行該程式。 在輝據本發明的第八方面之資訊處理方法中,藉由使 用一第二關鍵詞,對檢査附加至一程式的一訊徵用的一第 一關鍵詞之被編密版本解碼,藉由使用由上述解碡而得的 第一關鍵詞,檢査附加至該程式的訊徵是否爲合法的,且 只有在該程式被肯定爲合法時,執行該程式。 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) -------—β------訂------線 {請先閱讀背面之注意事項再填寫本頁) -9- 經濟部中央標準局負工消費合作社印聚 05096 A7 ____B7__ 五、發明説明(7 ) 在根據本發明的第九方面之記錄媒體上,一程式被記 錄於其上,其中該程式是爲使一電腦,藉由使用一第二關 鍵詞,對檢査附加至一程式的一訊徵用的一第一關鍵詞之 被編密版本解碼,藉由使用由上述解碼而得的第一關鍵詞 ’檢査附加至該程式的訊徵是否爲合法,且只有在該程式 被肯定爲合法時,執行該程式。 在根據本發明的第十方面之資訊處理裝置中,處理構 件處理一程式,以致一訊徵將在根據本發明的第七方面之 資訊處理裝置·中被肯定爲合法。 在根據本發明的第十一方面之資訊處理方法中,處理 一程式,以致一訊徵將在根據本發明的第七方面之資訊處 理裝置中被肯定爲合法。 在根據本發明的第十二方面之記錄媒體上,一程式被 記錄於其上,其中該程式已被處理,以致一訊徵將在根據 本發明的第七方面之資訊處理裝匱中被肯定爲合法。 附圖簡述 圖1爲顯示一程式執行系統的功能性組態的一第一例 之方塊圖: 圖2爲顯示一程式執行系統的功能性組態的一第五例 之方塊圖; 圖3爲顯示一軟體開發者伺服器31之程序的流程圚 » 圖4爲顯示一程式執行系統的功能性組態的一第三例 本紙張尺度適用中國國家標準(CNS ) A4规格(210X297公釐) 一 -10- I I I n I I I n *1 I n I 線 r (請先閲婧背面之注項再填寫本頁) 405096 A7 B7 五、發明説明(8 ) 之方塊圖; 圖5爲顯示該軟體開發者伺服器31之一程序的流程 ΓΈΠ 圖, 圖6顯示電腦1的資源與在電腦1上被實作的一爪哇 虛擬機器11的資源之間的相互關係: 圖7說明該爪哇虛擬機器1 1的一程序; 圖8和9A—9B說明該爪哇虛擬機器11的一程序 t 圖1 0爲顯示根據本發明的一程式供應系統之實施例 的組態之一例的方塊圖; 圖11爲顯示圖10中所示的一軟體開發者伺服器 3 1之組態之一例的方塊圖; 圖1 2爲顯示圖1 0中所示的一程式檢定授權( certificate authority )伺服器3 2的組態之一例的方塊圖; 圖1 3爲顯示圖1 0中所示的一使用者終端機3 3的 組態之一例的方塊圖; 圖14爲顯示一編密/解碼系統的組態之一例的方塊 經濟部中央標準局貝工消費合作社印聚 {讀先Μ讀背面之注意ί項再填寫本頁) ΙΈΠ · 圖, 圖15爲顯示一使用數位訊徵的編密/解碼系統的組 態之一例的方塊圖; 圖16爲顯示該軟體開發者伺服器31之一程序的流 程圖; 圖1 7爲顯示該程式檢定授權伺服器3 2之一程序的 流程圖; 本紙張尺度適用中國國家橾準(CNS Μ4規格(210X297公釐} •11 - _ 405ϋ96 s'_ 五、發明説明(9 ) 圖1 8爲顯示—程式執行系統的功能性組態的一第二 例之方塊圖; 圖1 9爲顯示該程式檢定授權伺服器3 2之一程序的 流程圖; 圖2 0爲顯示一載錄器(loader)的功能性組態的一例 之方塊圖; 圖2 1爲顯示一程式執行系統的功能性組態的—第四 例之方塊圖:且 圖2 2爲顯示該軟體開發者伺服器3 1的組態一例之 方塊圖; 主要元件對照表 54,64,111,44,81,101 輸入部 份,82 解碼部份,83 爪哇虛擬機器,84 解碼 經濟部中央樣準局貝工消費合作社印製 (請先閲讀背面之注項再填寫本頁) 部份,132,131 解碼部份,102,112 訊 息摘要系統,103,113 訊徵檢査部份’ 104 虛擬機器輸入控制部份,61 ’ 2,415 中央處理器 ,3,13 暫存器,21 爪吐編譯器,11 虛擬機 器,31 軟體開發伺服器,32 程式檢定授權者伺服 器,3 3 使用者終端機,3 4 網路,3 5,3 6 記 錄媒體,62,42,52 唯讀記憶體,63’43’ 53 隨機存取記憶體,63,45,55 輸出部份’ 66,46,56 輔助存取記億體,67,47’57 通訊控制部份,121,122,71,92 編密器’ 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨0X297公釐) t A 7 405096 Β7 經濟部中央標準局負工消費合作社印製 五、 發明説明(10 ) 1 1 7 2 ,9 3 解碼器, 9 1,9 4 摘 要 產 生 器 ,9 5 1 1 訊徵 檢査 器 * 1 1 4 執行部份 1 1 S | 先1 閱 I 讀 較佳 實施例 之詳細說明 本發 明 的實施例將 被說明如 下 〇 在 這 之 前 t 爲了澄 淸 背 1 面 之- 在申 請專 利 中所述的本 發明之個 別 的 構件 與如 下 的實施例 ί 事1 之組 件的 相 互關係,吾 人將說明 對應的 實 施例之組件( 只 項一 Si 有例 子) 並在其後以 括弧註明 個 別 的 構 件 > 以 這種方 式 f裝 苜 1 來說 明本 發 明的特色。 1 I 根據 本 發明的第一 方面之資 訊 處 理 裝 置 爲 執 行一用 來 1 1 執行 一程 式 之程序的一 種資訊處 理 裝 置 > 且 其 中 包含: 第 1 1 —關 鍵詞 解 1 構.件(例 如:圖1 中 所 示 的 — 解 碼 部份8 4 訂 I 和圖 2中 所 示的一解碼 部份1 3 1 ) 其 中 該 構 件藉由 使 1 1 I 用一 寧二 關 鍵詞,對將 —程式的 被 編 密 版 本解 碼 所需的 — 1 1 第一 關鍵 詞 的一被編密 版本解碼 程 式 解 碼 構 件 (例如 • « 1 1 圖 1中 所 示的一解碼 部份8 2 和 如 圖 2 中 所 示 的一解 碼 線 1 部份 13 2 ),其中該 構件藉由 使 用 經 由 第 一 關 鍵詞解 碼 > 1 構件所解 碼 而得的第一 關鍵詞, 對 該 程 式 的 被 編 密版本解 ;1 I 碼; 和執行構件(例如 :圖1和 圖 2 中 所 示 的 — 爪哇虛 擬 Ί 機3E 饿W 8 3 ) ,用以執行從程式解碼構件輸出的程式。 1 1 上述 的 資訊處理裝 置更包括 第 二 關鍵 詞 解 碼 構件( 例 | 如: 圖2 中 所示的一解 碼部份8 4 ) ♦ 其 中 該 構件在第 二 1 I 關鍵 詞被 編 密的情形下 ,藉由使 用 第 三 關 鍵 詞 ,對該 第 1 1 I 二關 鍵詞 的 一被編密版本解碼。 1 1 1 本紙張尺度適用中國國家揉準(CNS ) A4規格(210X297公釐) -13 · A7 B7 五、發明説明(1彳) 根據本發明的第四方面之資訊處理裝置爲執行一程式 之一種資訊處理裝置,且包含:編密構件(例如:圖1 1 中所示執行圖3中所示的一程式處理步驟s 7的一中央處 理器41),用來將一程式編密成被編密的句子,其中該 句子將被解碼成可以被根據本發明的第一方面之資訊處理 裝置所執行的碼。 經濟部中央標準局貝工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 根據本發明的第七方面之資訊處理裝置爲執行一程式 之一種資訊處理裝置,且包含:執行一程式的執行構件( 例如:圖4中所示的一爪哇虛擬機器8 3):關鍵詞解碼 構件(例如:圖4中所示的一解碼部份84),其中該構 件藉由使用一第二關鍵詞,對被用來檢査附加至該程式的 —訊徵的一第一關鍵詞之被編密版本解碼:檢査構件(例 如:圖4中所示的一訊徵檢査部份103),其中該構件 藉由使用經由該關鍵詞解碼構件所解碼而得的第一關鍵詞 ,檢査附加至該程式的訊徵是否爲合法的:和供應構件( 例如:圖4中所示的一虛擬機器輸入控制部份104), 用以將程式供應至執行構件,其中該程式已被檢査構件肯 定爲合法的且該訊徵附加於其上。 在根據本發明的第十方面之資訊處理裝置爲執行一程 式之一種資訊處理裝置,且包含:處理_件(譬如:圖 1 1中所示執行圖1 6中所示的程式處理步驟S 2 2和 S 2 3的一中央處理器4 1 )處理一程式,以致一訊徵將 在根據本發明的第七方面之資訊處理裝置中被肯定爲合法 本紙張尺度適用中國國家標準(CNS > A4規格(2丨0X297公釐} •14· 經濟部中央標準局負工消费合作社印製 A7 B7 五、發明説明(12 ) 當然,以上的說明並不表示個別的構件被侷限在附註 於後的元件。 以下的實施例將直接指向本發明被應用在一爪哇虛擬 機器的情形,雖然本發明除了被應用在如爪哇虛擬機器的 虛擬機器之外,也可被應用在一實際機器》 因爲爪哇已被詳述於如日經商業出版公司所發行的日 經電子 1996 · 3 . 25 (第 658 號)與 1996 . 6 . 17 (第664號)中,所以,它將被簡述如下。 爪哇虛擬機器是一種抽象的執行機器,且事實上爲由 一實際電腦所執行的程式。如同一實際電腦,爪哇虛擬機 器具有一程式計數器、一堆叠暫存器(stack register)、一 通用(general-purpose)暫存器、當作堆鲞或堆頭(heap) 的一記憶體、和其他資源,且那些資源被映圖(m a p ) 至一實際電腦的資源。 假設一實際電腦1具有一中央處理器2、與被倂入中 央處理器2的一暫存器3、一記憶體4、和其他如圖6所 示的資源。當一爪哇虛擬機器1 1在電腦1上被實作時* 電腦1的資源被映圖至爪哇虛擬機器11的資源•在圖6 的實施例中,爪哇虛擬機器1 1具有一暫存器1 3、一記 憶體1 4、和其他資源。暫存器1 3被映圖至暫存器3且 記憶體1 4的位址2 0 0被映圖至記憶體4的位址1 0 0 〇 在實際電腦1中,對中央處理器2的一指令以在其資 源上之一操作而被執行。同樣地,在爪哇虛擬機器1 1中 本紙張尺度適用中國國家標準(CNS ) A4说輅(210X297公釐) (請先閱讀背面41.注意事t再填寫本頁) -* -15- 經濟部中央標準局負工消费合作社印裂 _405096 B7 _ 五、發明説明(13) ,吾人定義被執行的指令爲在其資源上之操作。爪哇語言 是一種描述對爪哇虛擬機器的指令之語言。在爪哇虛擬機 器1 1中,譯解且執行用一爪哇編譯器將一以爪哇語言所 描述的原始程式(source program)編譯而得的爪哇位元組 碼。 亦即,如圖7所示,以爪哇語言所寫成的原始程式之 一爪哇語言程式由一爪哇編譯器21編譯成爪哇位元組碼 。該爪哇位元組碼則被輸入至爪哇虛擬機器1 1,其中, 在該虛擬機器中,位元組碼被轉換成可以被實際電腦1 ( 中央處理器2 )所譯解的機器語言碼•更明確地說,例如 :如圖8所示,當由爪哇位元組碼所描述且代表%在暫存 器13中設定數字‘12 5’ '的一指令(爪哇位元組碼 指令)“move #125,register 13”被輸入至爪哇虛擬機器1 1 中,爪哇虛擬機器1 1將它轉換成由機器語言所描述的一 指令(機器語言指令)"move #125,register 3"。 在實際電腦1中,執行以機器語言碼所寫成的指令的 結果是:在實際電腦1的暫存器3中設定數字'^1 2 5# ,如圖9 A所示》 如上述,爪哇虛擬機器11的暫存器13被映圖至實 際電腦1的暫存器3。因此,在實際電腦1的暫存器3中 設定數字'^1 2 5'意謂當從爪哇虛擬機器1 1觀看時, 在暫存器13中設定數字'^125",如圖9B所示。 在上述的方式中,被輸入至爪哇虛擬機器1 1的的一 爪哇位元組碼指令被轉換成實際電腦1用的機器語言碼, 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) ---------A------IT------^ -* {請先Μ讀背面之注意ί項再填寫本頁) -16 - 經濟部中央標準局員工消費合作杜印聚 , A7 405096__B7 五、發明説明(14 ) 然後以在電腦1的資源上之操作而被執行,其中,該資源 被映圖至爪哇虛擬機器1 1的一資源。從爪哇虛擬機器 1 1觀之,上述的操作對應至在爪哇虛擬機器1 1的資源 上操作;前一個操作的執行意謂爪哇位元組碼指令的執行 0 因此,如上述,藉由在一實際電腦上實作一爪哇虛擬 機器,吾人可以不考慮C P U (中央處理器)和在電腦中 所使用的OS(作業系統),而能執行一被編譯的爪哇程 式。 轉換爪哇位元組碼成機器語言碼且將它執行的一技術 之一例爲一種譯解體制(scheme),其中,將指令譯解成 機器語言碼且執行該機器語言碼被一個指令一個指令地執 行,一如執行一培基(BASIC)語言程式之情形》另 —個例子爲一J I T ( just in time,恰待法)編譯體制, 其中,將指令譯解成機器語言碼且執行該機器語言碼被一 段指令一段指令地執行。 執行一培基語言程式所採用的譯解體制與譯解爪哇位 元組碼不同在於:在前一個體制中執行原始碼,而在後一 個體制中執行中間碼(爪哇位元組碼)。然而,這兩種體 制在這個實施例中並未被區分出來(無須如此)。 圖10顯示根據本發明的一程式供應系統的一實施例 之組態例子(“系統”這名詞意謂邏輯上相關的多個裝置之集 合;其中裝置被實體上配置於不相關的單一機座( chassis)內)。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ---------J-------1T------蛛 •-* {請先閲讀背面之注意事項再填寫本頁) -17- 405096 A7 £7_ 五、發明説明(15) (請先閲讀背面之注意事項再填寫本頁) .在這程式供應系統中,當一軟體開發者散佈一未被程 式檢定授權者(certificate authority)所檢定的程式給使用 者時,在使用者的使用者終端機3 3上禁止該應用程式的 執行。 例如:當一軟體開發者已開發出在爪哇虛擬機器上運 作的一應用程式,作爲一程式執行環境,其中該執行環境 由一程式檢定授權者或要求程式檢定授權者檢定程式且意 欲散佈該應用程式的一方所開發,該軟體開發者與程式檢 定授權者訂定大意是一許可合約。一旦該許可合約訂定後 ,程式檢定授權者遞送給該軟體開發者用來對應用程式編 密或附加一訊徵的一關鍵詞。 經濟部中央標隼局貝工消費合作社印製 特別的是,在這實施例中,吾人假設:該應用程式的 編密與附加一訊徵至該應用程式上是根據如由R S A體制 (由三個MIT硏究生所發明:RSA取自他們的英文名 字字首)所代表的一公用化關鍵詞編密體制而執行的。在 這情形下,根據該公用化關鍵詞編密體制,編密用的的一 組祕密關鍵詞一A與被用來對使用祕密關鍵詞一A編密而 得的結果解碼的公用化關鍵詞-A被遞送至軟體開發者。 軟體開發者的一軟體開發者伺服器31和程式檢定授 權者的一程式檢定授權者伺服器3 2可以透過一網路3 4 相互通訊;其中該網路爲網際網路、公用線、一有線電視 (C A T V )網路、一地波(ground wave)網路、一衛星 網路等等。譬如:祕密關鍵詞一 A和公用化關鍵詞- A是 經由網路3 4被遞送。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公漤) -18- 405096 A7 A7 B7 五、發明説明(16) 祕密關鍵詞一 A和公用化關鍵詞一 A也可由一軟體開 發者本身所準備,而不是由程式檢定授權者所準備再遞送 至已被許可的軟體開發者。 譬如:在得到祕密關鍵詞一 A和公用化關鍵詞_A之 後,軟體開發者將公用化關鍵詞- A透過網路3 4從軟體 開發者伺服器3 1傳送至程式檢定授權者伺服器3 2。 程式檢定授權者伺服器3 2在收到來自軟體開發者伺 服器3 1的公用化關鍵詞- A時,將它編密並經由網路 3 4傳送已被編密的公用化關鍵詞一 A (以下稱之爲“被編 密的公用化關鍵詞”)至軟體開發者伺服器3 1。 在程式檢定授權者伺服器3 2中,公用化關鍵詞- A 根據一公用化關鍵詞編密體制而被編密。亦即,在程式檢 定授權者伺服器3 2中,備有編密用的的一組祕密關鍵詞 一 B與被用來對使用祕密關鍵詞一 B編密而得的結果解碼 的公用化關鍵詞-B,且使用祕密關鍵詞_B對公用化關 鍵詞一 A編密》 經濟部中央標準局負工消费合作社印製 (诗先閱讀背面之注意事項再填寫本頁) 另一方面,在軟體開發者伺服器3 1中,接收從程式 檢定授權者伺服器3 2傳送過來的被編密的公用化關鍵詞 一 A,且使用祕密關鍵詞- A,對該應用程式編密或附加 —訊徵至該應用程式上。已被編密或已附加訊徵的應用程 式被儲存以致與被編密的公用化關鍵詞一A有相互關係· 譬如,在軟體開發者伺服器3 1經由網路3 4接收來 自使用者終端機3 3的對應用程式之需求時,伺服器3 1 將應用程式(如上述,其已被編密或已附加訊徵)與對應 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公漤) -19- 經濟部中央標準局員工消費合作社印製 405096 五、發明説明(17) 的被編密的公用化關鍵詞一 A經由網路3 4傳送給使用者 終端機3 3。 作爲一程式執行環境的爪哇虛擬機器在使用者終端機 3 3中被實作,其中,該執行環境是由程式檢定授權者或 要求程式檢定授權者檢定程式的一方所開發的,如下述》 程式撿定授權者伺服器3 2儲存一程式執行系統(亦即, 一種用來允許一電腦(使用者終端機3 3 )以一程式執行 環境運作的程式)當作一包含一爪哇虛擬機器的爪哇程式 執行環境,其中,該爪哇虛擬機器是由該程式檢定授權者 所提供的。譬如,當使用者藉由使用者終端機3 3的操作 而要求程式檢定授權者伺服器3 2送出該程式執行系統時 ,程式檢定授權者伺服器3 2經由網路3 4傳送該程式執 行系統至使用者終端機3 3。依此方式,由程式檢定授權 者所提供的程式執行系統在使用者終端機3 3上被實作。 程式檢定授權者伺服器3 2將公用化關鍵詞一 B連同 程式執行系統一起傳送至使用者終端機33。 在作爲一爪哇虛擬機器的使用者終端機3 3中,其中 ,程式執行系統在終端機3 3上被實作,從軟體開發者伺 服器31傳送過來的應用程式只有在該程式被程式檢定授 權者檢定過後才被執行。 亦即,在使用者終端機3 3中,吾人使用從程式檢定 授權者伺服器3 2傳送過來的公用化關鍵詞一 B,將從軟 體開發者伺服器31傳送過來的被編密的公用化關鍵詞_ A解碼成公用化關鍵詞一 A。其次,在使用者終端機3 3 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) — I — I— I i II 線 . - {請先閲讀背面之注意事項再填寫本頁) -20- 經濟部中央標準局員工消费合作社印製 A7 405096_b7_ 五、發明説明(18) 中,再使用所得到的公用化關鍵詞一 A,將從軟體開發者 伺服器3 1傳送過來被編密的應用程式解碼。被解碼的應 用程式則在該爪哇虛擬機器上被執行。或是,吾人使用公 用化關鍵詞-A檢査從軟體開發者伺服器31傳送過來的 附加一訊徵的應用程式之合法性。只有在確定該訊徵的合 法性後,才在爪哇虛擬機器上執行該應用程式。 因此,若須使用公用化關鍵詞- B將之解碼的一關鍵 詞不是被編密的公用化關鍵詞一 A,亦即,不合法的,則 無法獲得公甩化關鍵詞- A當作解碼結果。即使使用這樣 的解碼結果對應用程式解碼,也無法得到可以在爪哇虛擬 機器上被正常地執行的應用程式;亦即,爪哇虛擬機器無 法正確地運作。 同樣地,當使用不是公用化關鍵詞一 A的關鍵詞檢査 一訊徵時,該訊徵的合法性則被否定。該應用程式也無法 在爪哇虛擬機器被執行。 如上述,當從軟體開發者伺服器3 1傳送過來的一應 用程式沒有被程式檢定授權者所檢定通過時,它就無法在 作爲爪哇虛擬機器的使用者終端機3 3上被執行(至少無 法正常執行)》 因此,開發且散佈當作程式執行環境的一爪哇虛擬機 器之一方可以限制由第三方所開發且在爪哇虛擬機器上被 執行的一應用程式之未授權的散佈。例如:前一方可允許 只散佈應用程式至受許可的軟體開發者。 在±面的例子中,軟體開發者在得到公用化關鍵詞- 本紙張尺度通用中國國家標準(CNS ) A4規格(210X297公釐) ---------Λ------π------1 ·- (請先閲讀背面之注意"項再填寫本頁> -21 - 經濟部中央標準局貝工消費合作社印製 405096 A7 B7 五、發明説明(19 ) A、祕密關鍵詞一 A、和被編密的公用化關鍵詞_A之後 ,就可以自由地散佈在使用者終端機3 3中實作的爪哇虛 擬機器上可以執行的應用程式。因此,軟體開發者無須麻 煩地每次傳送新開發的應用程式至程式檢定授權者伺服器 3 2接受檢定。 然而,可能在一種情形:程式檢定授權者要限制一軟 體開發者將公用化關鍵詞一 A、祕密關鍵詞一 A、和被編 密的公用化關鍵詞一 A使用至數個程式中。例如:程式檢 定授權者可藉由改變對的公用化關鍵詞一 A編密用的祕密 關鍵詞-B而達成此目的。(在這情形下,程式檢定授權 者需要散佈對應新祕密關鍵詞的一公用化關鍵詞給使用者 。)另外,上述的目的也可以如下的方式達成,而無須上 述的改變。若程式檢定授權者指定唯一的公用化關鍵詞-A和祕密關鍵詞一 A給各別的軟體開發者,就可以藉由參 考一編密的公用化關鍵詞- A或一訊徵而辨識出散佈某一 應用程式的軟體開發者。例如:程式檢定授權者可以輕易 地辨識出散佈應用程式超過某一數目的的軟體開發者,其 中,該數目爲在一許可合約中所規定:公用化關鍵詞- A 、祕密關鍵詞一 A、和被編密的公用化關鍵詞一 A被限制 的上述數目。 軟體開發者可以藉由將應用程式記錄在一記錄媒體 3 5上,例如;一唯讀光碟(CD)或一磁帶中,且以郵 寄或櫃台售出方式將它散佈給使用者。甚至在這情形中, 如上述例子中,若該應用程式並未接受過程式檢定授權者 本紙張尺度適用中國國家標準(CNS > A4规格(210X297公釐) (锖先閲請背面之注意事項再填艿本頁) -*
X •22 經濟部中央標準局貝工消费合作社印^ 405096 a? _B7 _ 五、發明説明(2〇 ) 的檢定’則這樣的應用程式無法在作爲爪哇虛擬機器的使 用者終端機3 3上被執行。 雖然上例中’資料(公用化關鍵詞一A、祕密關鍵詞 一 A、和被編密的公用化關鍵詞一 a )是經由網路3 4而 在軟體開發者與程式檢定授權者之間被交換,資料的交換 也可經由如:郵寄一記錄該資料的記錄媒體(未被顯示) 而達成。 同樣地’程式檢定授權者可以藉由將程式執行系統和 公用化關鍵詞一 B記錄在一記錄媒體3 6上,例如:一唯 讀光碟(CD)或一磁帶中,且以郵寄或櫃台售出方式而 將它們供應給使用者。 再者,雖然在圖1 0中的實施例中,軟體開發者伺服 器3 1、程式檢定授權者伺服器3 2、和使用者終端機 3 3皆爲一對一,但是,它們也可是一對多。 圖1 1顯示在圖1 0中的軟體開發者伺服器3 1的組 態之一例。 一中央處理器41在儲存(記錄)於輔助儲存裝置 4 6中的一作業系統的控制下,執行儲存於輔助儲存裝置 4 6中的程式而執行各種不同的程序。一唯讀記憶體4 2 (R Ο Μ )儲存一初始程式載錄(IPL,initial pragram load )與其他程式。一隨機存取記憶體43 (RAM)儲存將 被CPU 41執行的程式和CPU 41運作所需的資 料。一輸入部分44,例如:一鍵盤或一滑鼠,以輸入— 所要的指令或資料等等的方式而被操作。一輸出部分4 5 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) — —— — — — I I I 訂— 線 (請先閲讀背面t注意事項再填^本頁) • 23 - 經濟部中央標隼局貝工消费合作社印製 405096 g; 五、發明説明(21) ,例如:一顯示裝置或一印表機,則顯示或印出必要的資 訊。輔助儲存裝置4 6,例如:一硬碟’儲存作業系統和 將由CPU 41所執行的其他其他程式,與CPU 4 1的執行結果和其他必要資料》—通訊控制部份4 7控 制經由網路3 4所執行的通訊。 圖1 2顯示在圖1 0中的程式檢定授權者伺服器3 2 的組態之一例,且圖1 3顯示在圖1 0中的使用者終端機 3 3的組態之一例。 程式檢定授權者伺服器3 2是由一CPU 5 1至一 通訊控制部份5 7所組成,且使用者終端機3 3是由一 CPU 61至一通訊控制部份67所組成。因爲上述的 組件與圖11的CPU 41至通訊控制部份47的組態 方式相同,因此省略其說明。 其次,吾人將說明以上述的公用化關鍵詞編密體制爲 對一公用化關鍵詞- A或一應用程式編密/解碼的一方法 的編密/解碼。 圖14爲顯示根據該公用化關鍵詞編密體制的一編密 /解碼系統的組態之一例。 作爲編密的對象的一正常句子被輸入至一編密器7 1 。編密器7 1使用一編密關鍵詞,將該正常句子編密成被 編密句子,其中,該關鍵詞稱爲一祕密關鍵詞,且每一個 人是唯一的。 另一方面,由編密器7 1所產生的一被編密句子被輸 入至一解碼器7 2。解碼器7 2使用一解碼關鍵詞將該被 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ---------A------訂------^Γ, . * ,/ {請先閲讀背面之注意ί項再填te本頁) -24- 經濟部中央樣準局員工消費合作社印袋 A7 405096_E_ 五、發明説明(22 ) 編密句子解碼成原來的句子,其中,該稱爲一公用化關鍵 詞,且是對大眾公開的。 如同編密器7 1 ,軟體開發者伺服器3 1使用祕密關 鍵詞-A,將爪哇位元組碼編密成一應用程式。再者,如 同編密器7 1,程式檢定授權者伺服器3 2使用祕密關鍵 詞- B,將從軟體開發者伺服器3 1傳送過來公用化關鍵 詞一A編密》 另一方面,如同解碼器7 2,使用者終端機3 3使用 公用化關鍵詞——B,對被編密的公用化關鍵詞- A解碼 ,且再使用已被解碼的公用化關鍵詞一 A,對被編密的應 用程式解碼。 編密/解碼的方法並不限制於該公用化關鍵詞編密體 制,而其他體制,如:以D E S (資料編密標準,data encryption standard)體制(由I BM公司所開發,且被實 際使用作美國政府的一種標準)爲代表的共同關鍵詞編密 體制也可被使用。在共同關鍵詞編密體制中,使用一共同 關鍵詞而執行編密/解碼,其中,該共同關鍵詞只對某些 相關方公開。在公用化關鍵詞編密體制中,編密用的一祕 密關鍵詞不同於解碼用的一公用化關鍵詞(相反地,吾人 可分別使用一公用化關鍵詞和一祕密關鍵詞於編密和解碼 )。對比上,在共同關鍵詞編密體制中,同一個,共同關 鍵詞被使用於編密和解碼。因此必須將共同關鍵詞對非相 關方保密。 其次,吾人將說明以公用化關鍵詞編密體制爲附加一 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公嫠) ---------Λ------訂------味 -- (請先閲讀背面之注意事項再填寫本頁) -25- 405096 五、發明説明(23) 訊徵(數位式訊徵)至一應用程式的方法之訊徵附加方法 圖15爲顯示根據產生/檢査訊徵用的公用化關鍵詞 編密體制的一編密/解碼系統的組態之一例。 作爲編密的對象的一正常句子被輸入至一摘要產生器 91,其中該產生器根據如:MD5 (MD:訊息摘要, Message Digest)或SHA - 1 (SHA:安全碎址演算法 ,secure hash algorithm )之演算法產生一被接收的正常句 子的一摘要。訊息摘要種類爲被設計以提供如:SHA-1或MD 5的編密圖表的安全訊息摘要之功能性的一種引 擎種類(engine class)。一編密圖表的安全訊息摘要接收 任意大小的輸入(一位元組陣列),並產生一固定大小的 輸出,稱爲摘要》摘要具有如下的性質。它應該是:計算 上不可能以另一個輸入字串而產生相同的摘要。摘要並不 透露與已被用來產生摘要的輸入有關的任何事情。訊息摘 要被用來產生唯一且可靠的資料識別詞。它們有時候被稱 爲資料的"指紋”。 經濟部中央標隼局貝工消费合作社印製 (锖先W讀背面之注意事項再填寫本頁) 一摘要對應至一正常句子的機械式地濃縮的句子,且 以不同的正常句子輸入,則產生不同的摘要β例如:經由 使用一碎址函數轉換一正常句子而產生一摘要。 附帶地,映圖一組範圍的一種方法稱爲碎址,其中該 範圍可由用來搜尋一資料庫至某一被限定的數目範圍(對 應至一陣列的一記錄數目或一字尾)的一關鍵字而取得1 這個映圖的轉換函數稱爲碎址函數。 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X297公釐) -26- 經濟部中央標準局員工消费合作社印製 «05096 A7 B7 五、發明説明(24 ) 由摘要產生器9 1所產生的摘要被供應至一編密器 9 2。該編密器9 2使用一祕密關鍵詞,例如:像圖1 4 中所示的編密器7 1,對該摘要編密,且輸出一被編密的 摘要,爲一數位式訊徵•該數位式訊徵被附加至原始的正 常句子,且輸出一附加訊徵的正常句子。 另一方面,該附加訊徵的正常句子的數位式訊徵部分 被輸入至一解碼器9 3,且剩餘部分:該句子,被輸入至 一摘要產生器9 4。解碼器9 3使用一公用化關鍵詞將數 位式訊徵解碼成一摘要,例如:像圖1 4中所示的解碼器 7 2。由此所得的摘要被供應至一訊徵檢査器9 5。 如同摘要產生器9 1,摘要產生器9 4產生被接收的 正常句子之一摘要,並將它供應至訊徵檢査器9 5。 訊徵檢査器9 5判斷該訊徵(數位式訊徵)的合法性 ,亦即,檢査該訊徵。明確地說,訊徵檢査器9 5檢査是 否從解碼器9 3所輸出的摘要與從摘要產生器9 4所輸出 的摘要一致。若兩個摘要互相並不一致,訊徵的合法性被 否定,且被判斷爲:例如:該正常句子已被僞造或使用於 解碼器9 3中的公用化關鍵詞不正確。 另一方面,若從解碼器9 3所輸出的摘要與從摘要產 生器9 4所輸出的摘要一致,則訊徵的合法性被肯定,且 判斷爲:該正常句子沒有被僞造或使用於解碼器9 3中的 公用化關鍵詞是正確的。 訊徵檢査器9 5也被供以組成附加訊徵正常句子的正 常句子。當訊徵的合法性被肯定時,訊徵檢査器9 5輸出 本纸張尺度適用中國國家標準(CNS > A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁) 、-* •27 經濟部中央標準局貝工消費合作社印裂 «05096 A7 _B7 _ 五、發明説明(25 ) 該正常句子。 在軟體開發者伺服器3 1中,當一應用程式的一訊徵 被附加至該應用程式時,藉由產生該應用程式的一摘要且 使用祕密關鍵詞一 A,以上述的方法,對該摘要編密而產 生一訊徵(數位式訊徵)。另一方面,在使用者終端機 3 3中,使用公用化關鍵詞一 A將該訊徵解碼成一摘要, 且從該應用程式中產生一摘要•藉由判斷兩個摘要是否相 互一致而檢査訊徵的合法性。 —訊徵是用來辨識附加它的一方(在本例中爲軟體開 發者)。被附加訊徵的應用程式的來源可以它的訊徵輕易 地被判定。例如:當一應用程式有一錯點(b u g )等等 ,散佈此一含有錯點的應用程式的軟體開發者可以輕易地 被發現。 再者,當被附加訊徵的應用程式已被僞造或已感染所 謂的電腦病毒時,從該應用程式所產生的摘要與對該訊徵 解碼而得的摘要並不一致,因此否定該訊徵的合法性。因 而,可預防在使用者終端機3 3中執行已被僞造或已感染 電腦病毒的應用程式。 吾人應該對第三方保守用來產生一訊徵的祕密關鍵詞 _A的機密(在本例中,爲非軟體開發者或程式檢定授權 者),即使第三方嘗試對一應用程式解密,也難以找出一 訊徵產生方法》 訊徵產生/檢査方法並不限於上述利用公用化關鍵詞 編密體制的方法。 本紙張尺度適用中國國家標準(CNS > A4規格(210X297公釐) (請先閱讀背面之注意"項再填寫本頁) .在.
-S -28- 經濟部中央標準局負工消費合作社印掣 405096 A7 _ B7_ 五、發明説明(26 ) 其次,吾人將說明經由使用祕密關鍵詞-A的編密而 執行一應用程式的檢定之情形下,由軟體開發者伺服器 3 1、程式檢定授權者伺服器3 2 '和使用者終端機3 3 所執行的程序。 首先,吾人將參考圖3和圖1 6的流程圖,說明軟體 開發者伺服器31的程序。 軟體開發者與程式檢定授權者簽訂一許可合約,且藉 由要求程式檢定授權者的分發而取得公用化關鍵詞一A和 祕密關鍵詞一 A。首先,如圖1 6中的步驟S 1,在軟體 開發者伺服器3 1中,通訊控制部份47經由網路34, 將公用化關鍵詞- A傳送至程式檢定授權者伺服器32, 以接受程式檢定授權者的檢定。然後程序進行至步驟S 2 ,CPU4 1判斷當作被檢定的公用化關鍵詞一 A之被編 密的公用化關鍵詞-A是否已從程式檢定授權者伺服器 3 2被傳送出。若判斷出被檢定的公用化關鍵詞- A尙未 被傳送出,則程序回到步驟S 2。 若在步驟S 2中,判斷出被檢定的公用化關鍵詞- A 已被接收,則程序進行至步驟S 3,通訊控制部份4 7接 收被編密的公用化關鍵詞_A。然後程序進行至步驟S 4 ,由通訊控制部份4 7所接收的被編密的公用化關鍵詞-A被轉移至輔助儲存裝置4 6而被儲存。於是程序結束。 因此,軟體開發者開發在爪哇虛擬機器上執行的一應 用程式且將之儲存(記錄)於如:輔助儲存裝置4 6中》 在軟體開發者伺服器3 1中,如圖3所示的步驟S 6, 本紙張尺度適用中國國家標準(CNS > A4規格(210X297公釐) ---------A------訂------京 - * / . (請先閲讀背面之注意事項再填寫本頁) . -29- 經濟部中央標準局貝工消費合作社印製 405096 A7 _B7 五、發明説明(27 ) CPU4 1根據爪哇編譯器程式,將儲存於輔助儲存裝置 4 6中的應用程式編譯成爪哇位元組碼•該爪哇位元組碼 也被供應至輔助儲存裝置4 6而儲存》 然後程序進行至步驟S7,CPU4 1使用祕密關鍵 詞一 A,將在步驟S 6中編譯得來的爪哇位元組碼編密, 例如,以與以上圖1 4關聯的說明之方式,而產生被編密 的位元組碼。在步驟S 8中,該被編密的位元組碼被儲存 於輔助儲存裝置4 6以便與被編密的公用化關鍵詞- A有 相互關係。程序於是結束。 其次,吾人將參考圖1 7的流程圖,說明程式檢定授 權者伺服器3 2的程序。 舉例而言,程式檢定授權者爲開發一爪哇虛擬機器當 作一程式執行環境之一方或由該方所要求代表該方的一個 機構。例如,程式檢定授權者伺服器3 2執行一檢定程序 以檢定公用化關鍵詞一 A作爲對被許可的一方的應用程式 之檢定。 明確地說,其步驟如下。首先,在步騾S11中,程 式檢定授權者伺服器3 2的C PU 5 1判斷被檢定的對象 :公用化關鍵詞一 A是否已透過網路34,從,如:軟體 開發者伺服器3 1傳送出。若判斷出被檢定的公用化關鍵 詞- A尙未被傳送出,則程序回到步驟S 1 1。若在步驟 5 1 1中,判斷出被檢定的公用化關鍵詞一 A已被傳送出 ,則程序進行至步驟S 1 2,其中,CPU5 1判斷被接 收的公用化關鍵詞- A是否來自一被許可的,亦即,正規 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ! I I I 11 n 線 -- (請先閲讀背面之注意事項再填寫本頁) -30- 經濟部中央標準局員工消費合作社印犁 A7 _B7_ 五、發明説明(28 ) 的軟體開發者。當程式檢定授權者與一軟體開發者訂定一 許可合約,例如:允許該軟體開發者開發和散佈執行於爪 哇虛擬機器上的應用程式時,程式檢定授權者分發如:— 識別詞(I D )和密碼(password)給該軟體開發者。在許 可合約訂定時分發的識別詞和密碼,連同檢定對象的公用 化關鍵詞- A,從被許可,正規的軟體開發者傳送出。在 步驟S 1 2中,對於公用化關鍵詞一 A是否來自一正規的 軟體開發者的判斷是根據識別詞和密碼作判斷的。 若在步驟S 1 2中,判斷出公用化關鍵詞一 A並非來 自一正規的軟體開發者,亦即,當未訂定合約的軟體開發 者傳送出的公用化關鍵詞一 A時,程序進行至步驟S 1 3 ,通'訊控制部份5 7傳送給該軟體開發者一訊息,大意爲 :除非先訂定合約,否則公用化關鍵詞一 A無法被檢定。 於是程序結束。 另一方面,若在步驟S 1 2中,判斷出公用化關鍵詞 一 A來自一正規的軟體開發者,則程序進行至步驟S 1 4 ,CPU 5 1將接收的公用化關鍵詞一 A編密成被編密的 公用化關鍵詞- A。於是公用化關鍵詞- A完成檢定。 然後程序進行至步驟S 1 5,通訊控制部份5 7經由 網路3 4,傳送公用化關鍵詞- A的檢定結果:被編密的 公用化關鍵詞- A給傳送出公用化關鍵詞一 A的軟體開發 者例中,爲軟體開發者伺服器31)。於是程序結束 〇 圖1爲顯示在使用者終端機3 3中當作執行應用程式 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ---------A------IT------φ i - (諳先閱讀背面之注意事項再填寫本頁) -31 - 405096 經濟部中央樣準局®C工消費合作社印聚 五、發明説明(29 ) 的一程式執行環境的程式執行系統的功能性組態之一例。 輸入部份8 1接受被編密的位元組碼(被編密爪桂位 元組碼)和一被編密的公用化關鍵詞一A與一公用化關鍵 詞一 B,並將被編密的位元組碼供應至—解碼部份82 ’ 且將被編密的公用化關鍵詞一 A和公用化關鍵詞一 A供應 至解碼部份8 4。解碼部份8 2如圖1 4中的解碼器7 2 般地運作。明確地說,解碼部份8 2使用從解碼部份8 4 輸出的公用化關鍵詞-A對輸入部份8 1所供應的被編密 的位元組碼解碼成原始的爪哇位元組碼。從解碼部份8 2 得到的爪哇位元組碼被供應至爪哇虛擬機器8 3。爪哇虛 擬機器8 3執行解碼部份8 2所供應的爪哇位元組碼所定 義的程序。如同解碼部份82,解碼部份84如圖14中 的解碼器7 2般地運作。明確地說,解碼部份8 4使用輸 入部份8 1所供應的公用化關鍵詞一 B,將輸入部份8 1 所供應之被編密的公用化關鍵詞一 A解碼成公用化關鍵詞 - A,且將所產生的公用化關鍵詞- A供應至解碼部份 8 2。 首先,在以上所組態的程式執行系統中,輸入部份 81獲得被編密的位元組碼和被編密的公用化關鍵詞-A 與公用化關鍵詞一B。例如,在被編密的位元組碼和被編 密的公用化關鍵詞一A事先已經由網路3 4,從軟體開發 者伺服器3 1被傳送出,且以檔案形式被儲存於輔助儲存 裝置6 6中的情形下,或在使用者終端機3 3中,被編密 的位元組碼和被編密的公用化關鍵詞-A以檔案形式被記 (請先W讀背面之注意事項再填寫本頁 装. 訂 _線、 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) -32- 405096 A7 B7____ 五、發明説明(30 ) 錄於其上的一記錄媒體3 5被設定的情形下,該输入部份 81開啓那些檔案並讀出該被編密的位元組碼和被編密的 公用化關鍵詞一A。 考慮軟體開發者伺服器31被連接至網際網路作爲網 路34的情形。在這樣的軟體開發者伺服器3 1中,被編 密的位元組碼和被編密的公用化關鍵詞一 A與一URL ( 統一資源定位器,Uniform resource locater)相互關聯;當 使用者經由操作輸入部份6 4,指定該URL時,輸入部 份81接收從軟體開發者伺服器31傳送過來的被編密的 位元組碼和被編密的公用化關鍵詞- A。 考慮另外一種情形,軟體開發者伺服器3 1藉由地波 或經由一衛星網路當作網路3 4,數位式地廣播被編密的 位元組碼和被編密的公用化關鍵詞- A。在這情形下,輸 入部份81接收被廣播的被編密的位元組碼和被編密的公 用化關鍵詞一 A ^ 輸入部份81以類似的方式獲得程式檢定授權者所分 發的公用化關鍵詞一B。 在被編密的位元組碼、被編密的公用化關鍵詞- A與 公用化關鍵詞- B中,輸入部份8 1將被編密的位元組碼 供應至解碼部份8 2,且將被編密的公用化關鍵詞- A與 公用化關鍵詞—B供應至解碼部份8 4。 解碼部份8 4使用輸入部份8 1所供應的公用化關鍵 詞- B ’將輸入部份8 1所供應之被編密的公用化關鍵詞 _A解碼成公用化關鍵詞一 a,且將所產生的公用化關鍵 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ---------7 4木------訂------涑 -- ,---- (請先閱讀背面之注^^項再填寫本頁) 經濟部中央標準局貝工消費合作社印裂 -33- 經濟部中央標準局負工消费合作社印製 405096___^__ 五、發明説明(31) 詞一 A供應至解碼部份8 2。解碼部份8 2使用解碼部份 8 2所供應的公用化關鍵詞一 A,對輸入部份8 1所供應 的被編密的位元組碼解碼,並將解碼結果:爪哇位元組碼 供應至爪哇虛擬機器8 3。爪哇虛擬機器8 3譯解和執行 解碼部份8 2所fe應的爪哇位元組碼。 如上述,解碼部份8 4使用對應祕密關鍵詞一 B (成 對),將被編密的公用化關鍵詞_A解碼成公用化關鍵詞 - A,其中,該祕密關鍵詞- B在程式檢定授權者伺服器 3 2中編密用的。然後,解碼部份8 2使用公用化關鍵詞 _A對被編密的位元組碼解碼,其中,該公用化關鍵詞-A是由解碼部份8 4的解碼所得且對應至在軟體開發者伺 服器3 1中用來編密的祕密關鍵詞- B »解碼結果:爪哇 位元組碼輸入至爪哇虛擬機器8 3。 因此,若將使用公用化關鍵詞- B而被解碼的一關鍵 詞不是程式檢定授權者所分發的所謂的合法的被編密的公 用化關鍵詞一 A,則無法獲得一合法的公用化關鍵詞一 A 。(還有一種可能是:合法的公用化關鍵詞- A意外地從 解碼部份8 4輸出,但是,這機率幾乎爲零。)例如•這 對應至如下的情形:一非被編密的公用化關鍵詞一 A的输 入、一被編密的關鍵詞- A是以不同於程式檢定授權者伺 服器3 2中所用的演算法而編密的、或是根據與程式檢定 授權者伺服器3 2中所用的相同的演算法對公用化關鍵詞 - A編密,卻沒有使用正常情形下應該使用的祕密關鍵詞 - B。因此,即使使用這樣的解碼結果對被編密的位元組 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公釐) ----------------訂------Λ (許先閲讀背面之注意事項再填寫本頁) . -34- 405096 A7 B7 五、發明説明(32 ) (請先W讀背面之注意事項再填寫本頁) 碼解碼也不可能得到可以在爪哇虛擬機器8 3上正常執行 的合法程式;爪哇虛擬機器8 3無法正確地運作。結果* 吾人可以對具有爪哇虛擬機器8 3運作於其上的使用者終 端機3 3之使用者限制那些可以在爪哇虛擬機器8 3上運 行,但卻未被程式檢定授權者所檢定的爪哇位元組碼的散 佈。 以如上的方式,吾人可以只允許與程式檢定授權者訂 定合約的軟體開發者散佈在爪哇虛擬機器8 3上運行的爪 哇位元組碼,給具有爪哇虛擬機器8 3運作於其上的使用 ¥終端機3 3之使用者。爪哇虛擬機器8 3的開發者等可 以從想要散佈在爪哇虛擬機器8 3上運作的爪哇位元組碼 之軟體開發者,收取許可使用爪哇虛擬機器8 3的費用。 有需要估量只允許解碼部份8 2輸入爪哇位元組碼至 爪哇虛擬機器8 3。再者,估量只允許解碼部份8 4輸入 公用化關鍵詞- A至解碼部份8 2是値得的。 經濟部中央樣準局員工消費合作社印製 —旦接收某一輸入後,圖1中所示的解碼部份8 2和 8 4對該輸入執行一解碼程序,且輸出一解碼結果。因此 ,當不是公用化關鍵詞一 B的一關鍵詞、未被使用祕密關 鍵詞- A編密的爪哇位元組碼、或未被使用祕密關鍵詞-B編密的公用化關鍵詞一 A被輸入,且由這樣的關鍵詞或 爪哇位元組碼所得的解碼結果被供應至爪哇虛擬機器8 3 時,通常爪哇虛擬機器8 3跳離開。有鑑於此,吾人可採 用一程序,其中,可檢査解碼部份8 2的輸出是否爲合法 的(正規的)爪哇位元組碼,且只有在解碼部份8 2的輸 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) -35- 經濟部中央樣準局負工消費合作社印製 405096 A7 _ B7 五、發明説明(33) 出是否爲合法的爪哇位元組碼時,爪哇虛擬機器8 3才被 允許解譯和執行該爪哇位元組碼。例如,當位於該爪哇位 元組碼的檔頭:稱爲“魔術”的3 2位元資料具有一正常値( 'CAFEBABE^ ,十六進位記法)時,爪哇虛擬機 器8 3才被允許解譯和執行爪哇虛擬機器,此時判定解碼 部份8 2的輸出爲合法的爪哇位元組碼。於是,可預防爪 哇虛擬機器83跳離開》 意外地,從限制在爪哇虛擬機器8 3上執行一應用程 式的觀點,只要未洩露用來編密的編密演算法或祕密關鍵 詞一 A和B,即使圖1的解碼部份8 2和8 4的解碼演算 法,或公用化關鍵詞- A和B被未經許可的一方所得知, 也不會有問題。亦即,只要未洩露用以將可被正確地執行 的爪哇位元組碼供應至爪哇虛擬機器8 3而輸入解碼部份 8 2的產生被編密的位元組碼的方法,或輸入解碼部份 8 4的產生被編密的公用化關鍵詞- A之方法,即使一被 編密的句子的解碼方法被得知,也可限制在爪哇虛擬機器 8 3上執行一應用程式。 然而,若某人得知一被編密的句子的解碼方法,他可 以從被編密的位元組碼得到原始的爪哇位元組碼。因爲, 藉由將那些資料去除編譯,爪哇位元組碼的內容可以相當 容易地被了解,所以,逆向工程可輕易地達到。 爲了預防如此的逆向工程,一被編密的句子的解碼方 法可被保密。例如,用來對被編密的公用化關鍵詞- A解 碼的公用化關鍵詞一 B可被保密,其中該被編密的公用化 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X297公釐) ---------A------1τ------> ~- (請先閲讀背面之注意事項再填寫本頁) · 36 - 經濟部中央標準局貝工消费合作社印製 405096 at _B7 _ __ 五、發明説明(34 ) 關鍵詞一A是由對用來對被編密的位元組碼解碼的公用化 關鍵詞- A所得的,雖然,它通常是公用化。 圖1 8爲顯示一程式執行系統的組態之一例,其中, 公用化關鍵詞一 B被保密。在圖1 8中,具有對應在圖1 中的組件之組件被標以與後者相同的參考數字,且其說明 將被省略。 在這實施例中,例如,公用化關鍵詞- B位於程式的 單一位置上或散開在多數個位置上,其中該程式由包含一 爪哇虛擬機器8 3的一程式執行系統所組成。一解碼部份 8 4使用這樣的公用化關鍵詞一 B,對一被編密的句子解 碼。因此,在這情形下,公用化關鍵詞- B從未從程式執 行系統洩漏出去,因而可以預防被編密的句子被非法地解 碼且可預防逆向工程的實作(或是逆向工程的發生機率降 低)。 其次,吾人將說明藉由附加使用祕密關鍵詞一 A所產 生的一訊徵知情形下,由軟體開發者伺服器3 1和使用者 終端機3 3所執行的程序。在這情形下,因爲程式檢定授 權者伺服器3 2所執行的程序類似上述一應用程式被編密 的程序,故其說明被省略。 首先,吾人將參考圖5的流程圖,說明軟體開發者伺 服器3 1的程序。吾人假設與圖1 6流程圖相關連的上述 程序已經在軟體開發者伺服器3 1中被執行,由此,已經 從程式檢定授權者取得一被編密的公用化關鍵詞一 A。吾 人也假設在爪哇虛擬機器上被執行的一應用程式已經被開 本紙張尺度適用中國國家標準(CNS > A4規格(210X297公釐) <請先閲讀背面之注項再填转本頁) -. 訂 -37- 經濟部中央樣準局員工消費合作社印裝 405096 at ____B7_ 五、發明説明(35) 發且被儲存於輔助儲存裝置46。 在軟體開發者伺服器3 1中,如圖3的步驟S 6之情 形,CPU4 1根據爪哇編譯程式,將儲存於輔助儲存裝 置46的應用程式編譯成爪哇位元組碼(步驟S 2 1)。 爪哇位元組碼也被供應至輔助儲存裝置4 6而儲存。 然後,程序循序進行至步驟S 2 2,因而檢定在步驟 S 2 1中編譯而得的爪哇位元組碼用的訊徵(數位式訊徵 )爲合法的,且被附加至該爪哇位元組碼中。 明確地說,在步驟S 2 2中,例如,以與圖1 5的摘 要產生器9 1相同的方式,C PU4 1產生該爪哇位元組 碼的一摘要。然後程序進行至步驟S23,CPU41使 用祕密關鍵詞—A,對在步驟S 2 2中,以與圖1 5的編 密器9 2相同的方式所產生的摘要編密,由此,產生一數 位式訊徵。然後,程序進行至步驟S24,其中,該數位 式訊徵被附加至該爪哇位元組碼》 (在這情形下被附加一 數位式訊徵的爪哇位元組碼以下被稱爲“附加訊徵的位元組 碼"。)在步驟S 2 4中,附加訊徵的位元組碼被儲存在輔 助儲存裝置4 6,以致與一被編密的公用化關鍵詞- A有 相互關係。於是程序結束。 圖4爲顯示一程式執行系統的功能性組態之一例,其 中,該程式執行系統當作一程式執行環境,以檢査一應用 程式的合法性,且在使用者終端機3 3中,只執行合法的 應用程式。在圖4中,具有對應在圖1中的組件之組件被 標以與後者相同的參考數字,且其說明將被省略。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ---------A------訂------線 -* (锖先閲讀背面之注意事項再填寫本頁) -38- 經濟部中央樣準局貝工消费合作社印製 405096 A7 __B7_ 五、發明説明(36) —輸入部份1 0 1基本上以與圖1的輸入部份8 1相 同的方式接收輸入。輸入部份1 0 1與後者的不同在於: 它接收附加訊徵的位元組碼(被附加一訊徵(數位式訊擻 )的爪哇位元組),而不是被編密的位元組碼。輸入部份 101將附加訊徵的位元組碼分離成一訊徵和爪哇位元組 碼,且將它們輸出。該訊徴被供應至一訊徵檢査部份 1 0 3,而該爪哇位元組碼則被供應至一訊息摘要系統 1 0 2和一虛擬機器輸入控制部份1 〇 4。 訊息摘要系統1 0 2執行與圖1 5中的摘要產生器 9 4所執行的程序相類似之程序。亦即,訊息摘要系統 1 0 2從該爪哇位元組碼產生一摘要,且將它供應至訊徵 檢査部份1 0 3。對應至圖1 5中的解碼器9 3和訊徵檢 査器9 5的訊徵檢査部份1 0 3,檢査輸入部份1 0 1所 供應的訊徵之合法性》 明確地說,訊徵檢査部份1 0 3接收來自輸入部份 1 0 1的訊徵和來自訊息摘要系統1 0 2的摘要,與來自 —解碼部份8 4的公用化關鍵詞- A。訊徵檢査部份 1 0 3使用接收到的公用化關鍵詞- A,將該訊徵解碼成 一摘要,且將由此所得的摘要和訊息摘要系統1 0 2所供 應的的摘要相比較,以檢査該訊徵的合法性。再者,訊徵 檢査部份1 0 3根據檢査結果而控制虛擬機器輸入控制部 份 1 0 4。 虛擬機器輸入控制部份1 0 4,在訊徵檢査部份 1 0 3的控制下,控制對輸入部份1 0 1所供應的爪哇位 本紙張尺度適用中國國家標準(CNS > A4規格(210X297公釐) ---------乂------訂------♦ {請先閲讀背面之注意事項再填寫本頁) -39 - 405096 at ____B7_ 五、發明説明(37 ) 元組碼的爪哇虛擬機器8 3的輸入。 首先,在上面所組態的程式執行系統中,輸入部份 1 Ο 1以如同圖1中的输入部份8 1之方式,獲得附加訊 徵的位元組碼、一被編密的公用化關鍵詞一 A和公用化關 鍵詞一B。然後,輸入部份1 〇 1將附加訊徵的位元組碼 分離成一訊徵和爪哇位元組碼,且將該訊徵供應至訊徵檢 査部份1 0 3,而將該爪哇位元組碼供應至訊息摘要系統 1 0 2和虛擬機器輸入控制部份1 〇 4。再則,輸入部份 1 0 1將被編密的公用化關鍵詞-A和公用化關鍵詞一 B 供應至解碼部份8 4 p如上與圖1相關連的說明,解碼部 份8 4使用公用化關鍵詞_B,將被編密的公用化關鍵詞 _A解碼成公用化關鍵詞- A,且將所得的公用化關鍵詞 一 A供應至訊徵檢查部份1 〇 3。 經濟部中央標準局負工消費合作社印製 (請先W讀背面之注意事項再填寫本頁) 另一方面,訊息摘要系統1 0 2從輸入部份1 Ο 1所 供應的爪哇位元組碼產生一摘要,且將它供應至訊徴檢査 部份1 0 3。訊徵檢査部份1 0 3使用解碼部份8 4所供 應的公用化關鍵詞一 A,將輸入部份1 〇 1所供應的訊徵 解碼成一摘要。此外,訊徵檢査部份1 0 3將解碼所得的 摘要和訊息摘要系統1 0 2所供應的摘要相比較,且根據 此二摘要是否相互一致而判斷輸入部份101所供應的訊 徵的合法性。 若該訊徵的合法性被肯定,亦即,若將該訊徵解碼所 得的摘要和訊息摘要系統1 0 2所供應的摘要相符,則訊 徵檢査部份1 0 3控制虛擬機器輸入控制部份1 0 4,因 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) -40- 405096 A7 B7___ 五、發明説明(38 ) <請先聞讀背面之注意事項再填寫本頁) 而输入部份101所供應的爪哇位元組碼被輸出至爪哇虛 擬機器8 3。虛擬機器輸入控制部份1 0 4在訊徵檢査部 份1 0 3的控制下,將來自輸入部份1 Ο 1的爪哇位元組 碼供應至爪哇虛擬機器8 3。 因此,在這情形下,爪哇虛擬機器8 3經由虛擬機器 輸入控制部份1 0 4,譯解並執行输入部份1 Ο 1所供應 的爪哇位元組碼。 另一方面,若該訊徵的合法性未被肯定,亦即,若將 該訊徵解碼所得的摘要和訊息摘要系統1 0 2所供應的摘 要不符,則訊徵檢査部份1 0 3控制虛擬機器輸入控制部 份1 0 4,因而輸入部份1 Ο 1所供應的爪哇位元組碼不 會被輸出至爪哇虛擬機器8 3。 在這情形下,虛擬機器輸入控制部份1 0 4不會將輸 入部份101所供應的爪哇位元組碼輸出至爪哇虛擬機器 8 3。因此,爪哇虛擬機器8 3並不執行任何程序。 如上述,在附加一訊徵以檢定一應用程式的情形下, 吾人也可以對具有爪哇虛擬機器8 3運作於其上的使用者 經濟部中央樣準局負工消費合作社印製 終端機3 3之使用者,限制那些可以在爪哇虛擬機器8 3 上運行,但卻未被程式轉定授權者所檢定的爪哇位元組碼 的散佈。亦即,吾人可以只允許與程式檢定授權者訂定合 約的軟體開發者散佈在;哇虛擬機器8 3上運作的爪眭位 « 元組碼,給具有爪哇虛擬機器8 3運作於其上的使用者終 端機3 3之使用者。爪哇虛擬機器8 3的開發者可以從想 要散佈在爪哇虛擬機器8 3上運作的爪哇位元組碼之軟體 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) -41 - 405096 A7 B7 __ 五、發明説明(39 ) 開發者,收取許可使用爪哇虛擬機器8 3的費用。 如上所述,在附加一訊徴的情形下,吾人也可以,例 如,限制附加訊徵的爪哇位元組碼的被僞造之版本在爪哇 虛擬機器8 3上被執行。 在圖4的實施例中,有需要估量只允許虛擬機器輸入 控制部份1 0 4輸入爪哇位元組碼至爪哇虛擬機器8 3。 再者,估量只允許解碼部份8 4輸入公用化關鍵詞- A至 訊徵檢査部份1 0 3是値得的。 要注意的是:爪哇位元組碼本身在附加一訊徵至爪哇 位元組碼的情形中是存在的,不像爪哇位元組碼被編密的 情形。因此,在不檢査一訊徵的合法性之程式執行系統中 (例如,在一程式執行系統中,其中,爪哇位元組碼從輸 入部份101輸出,直接輸入至爪哇虛擬機器83),爪 哇位元組碼可以不受限制地被譯解和執行。 相反地,在附加一訊徵至爪哇位元組碼的情形中*爪 哇虛擬機器的開發者、銷售商、與其他方可以將一程式執 行系統組態如圖4所示,其中,銷售商販售在使用者終端 機3 3中實作的爪哇虛擬機器。不想限制爪哇位元組碼的 執行之一方可以組態成訊徵的合法性不受檢査的程式執行 系統》 在圖1 0的實施例中,程式檢定授權者將一程式執行 系統當作一軟體(亦即,用以將使用者終端機3 3變成一 程式執行系統的程式),以一種:該程式可毫無改變地在 使用者終端機3 3上實作的方式,供應給使用者。這程式 本紙張尺度適用中國國家標準(CNS > A4規格(210X297公釐> ---------,β------IT------终 (諳先閲讀背面·<-注意^項再填寫本頁) 經濟部中央標準局貝工消費合作杜印製 •42- 405096 a? _ B7 五、發明説明(4〇 ) 執行系統也可以被以一種被編密或被附加一訊徵的方式而 被提供,如同由一軟體開發者所提供的。 例如,當程式檢定授權者提供一附加一訊徵的程式執 行系統給使用者時,程式檢定授權者伺服器3 2根據圖 19的流程圖而執行一程序。 經濟部中央標準局負工消費合作社印裂 (#先閲讀背面之注意"項再填商本頁) 在這情形下,首先,在步驟S 3 1中,在程式檢定授 權者伺服器3 2中,CPU5 1將當作程式執行系統的一 程式編譯成可由使用者終端機3 3中的C PU 6 1所執行 的碼(以下被稱爲“執行碼”)。在步驟S 3 2中,CPU 5 1從在步驟S3 1中的編譯所得的執行碼,以例如,如 上述與圖1 5關連的方式,產生一摘要。然後,程序循序 進行至步驟S33,CPU51使用如:用來對公用化關 鍵詞一 A編密的祕密關鍵詞- B,對在步驟S 3 2中所產 生的摘要編密,以產生一訊徵(數位式訊徵)。然後,在 步驟S 3 4中,該數位式訊徵被附加至該執行碼(被附加 —數位式訊徵的執行碼以下被稱爲"附加訊徴的執行碼"), 且附加訊徵的位元組碼被儲存在輔助儲存裝置5 6中,以 致與和產生訊徵用的祕密的關鍵詞- B成對的公用化關鍵 詞-B有相互關係。於是程序結束。 圖2 0顯示一載錄器(程式執行系統實作裝置)的功 能性組態之一例,其中,載錄器是爲在使用者終端機3 3 中實作如上的型式之被附加一訊徵的程式執行系統(附加 訊徵的執行碼)。 在這實施例中,載錄器是由一輸入部份1 1 1、一訊 本紙張尺度通用中國國家標準(CNS ) A4規格(210X297公着)_43- 經濟部中央標準局負工消費合作社印製 A7 B7 五、發明説明(41 ) 息摘要系統1 1 2、一訊徵檢査部份1 1 3、和一執行系 統114所組成。該輸入部份111、訊息摘要系統 1 1 2、和訊徵檢査部份1 1 3分別以如圖4中的輸入部 份101、訊息摘要系統102、訊徵檢査部份103相 同的方式而被組態》執行系統114對應至包括CPU 6 1且可譯解和執行執行碼的使用者終端機3 3的那些部 份。 在如上所組態的載錄器中,輸入部份1 1 1獲得附加 訊徵的執行碼和公用化關鍵詞一 B。然後,輸入部份 1 1 1將附加訊徵的執行碼分離成一訊徵和執行碼,且將 該訊徵供應至訊徵檢査部份113而將執行碼供應至訊息 摘要系統1 1 2和執行系統1 1 4。此外,輸入部份 1 1 1將公用化關鍵詞一 B供應至訊徵檢査部份1 1 3。 訊息摘要系統1 1 2從輸入部份1 1 1所供應的執行 碼產生一摘要,且將它供應至訊徵檢査部份1 1 3 ·訊徵 檢査部份1 0 3使用輸入部份1 1 1所供應的公用化關鍵 詞一 B,將輸入部份1 1 1所供應的訊徵解碼成一摘要。 此外,訊徵檢査部份1 1 3將解碼所得的摘要和訊息摘要 系統1 1 2所供應的摘要相比較,且根據此二摘要是否相 互一致而判斷輸入部份111所供應的訊徵的合法性。 若該訊徵的合法性被肯定,亦即,若將該訊徵解碼所 得的摘要和訊息摘要系統1 1 2所供應的摘要相符,則訊 徵檢査部份1 1 3控制執行系統1 1 4,因而輸入部份 1 1 1所供應的爪哇位元組碼被執行系統1 1 4所譯解和 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)-44 - ----------装-- (锖先閱讀背面之注意事項再填转本頁) 訂 經濟部中央標準局員工消费合作社印製 405096 A7 B7 五、發明説明(42 ) 執行。在這情形下’執行系統1 1 4在訊徵檢査部份 1 1 3的控制下,將輸入部份1 1 1所供應的執行碼譯解 和執行。 另一方面,若該訊徵的合法性未被肯定,亦即,若將 該訊徵解碼所得的摘要和訊息摘要系統1 1 2所供應的摘 要不符,則訊徵檢査部份1 1 3控制執行系統1 1 4,因 而輸入部份111所供應的爪哇位元組碼被置之不理。在 這情形下,執行系統1 1 4將輸入部份1 1 1所供應的爪 哇位元組碼被置之不理,因此,在訊徵檢査部份1 1 3的 控制下,不執行任何程序。 如上述,在訊徵被附加至一程式執行系統的情形中, 吾人可防止其僞造等等》 如上述,在程式執行系統被編密的情形下,吾人可防 止在程式執行系統上的逆向工程。 當附加至程式執行系統的該訊徵之合法性被肯定時, 執行系統114將輸入部份111所供應的執行碼譯解和 執行,如上所述•結果,例如:與圖4中被實作的程式執 行系統相類似的一程式執行系統在使用者終端機3 3中被 實作,如圖2 1所示。然而,在這情形下,公用化關鍵詞 一Β是從圖20中載錄器的輸入部份111供應至一解碼 部份8 4,而不是從輸入部份1 0 1供應。 附帶地說,根據如:R S Α體制之一公用化關鍵詞編 密體制,而對具有相對地大資訊量,如:一應用程式或程 式執行系統的一程式編密,或將被編密版本解碼,需要相 本紙張尺度適用中固國家標準(CNS ) A4規格(210X297公釐)~~· 45 - --------4裝------訂------上 - - V (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標準局貝工消費合作社印製 A7 B7 五、發明説明(43 ) 當多的時間。相反地,根據一共通關鍵詞編密體制,如: D E S體制的編密/解碼,可以使具有相對地大資訊量的 程式在一相對的短時間內被處理。另一方面,即使用來解 碼的一公用化關鍵詞如上述地被公開提供,R S A體制也 不會有任何問題,因爲,該公用化關鍵詞與編密用的祕密 關鍵詞不同。然而,在D E S體制中,因爲使用共通關鍵 詞編密和解碼,有必要嚴格地處理該共通關鍵詞,而不讓 非相關方所得知》 由以上觀之,吾人可採用一技術,使得編密和解碼程 序執行時間縮短,且使關鍵詞管理更便利。明確地說,吾 人採用D E S體制對具有相對地大資訊量如:一應用程式 之程式編密,且根據RSA體制而對DE S體制編密用的 一共通關鍵詞編密。(DES體制與RSA體制彼此結合 的一編密技術以下稱之爲“聯合體制”。) 圖2 2顯示根據一聯合體制執行編密的該軟體開發者 伺服器3 1的功能性組態之一例。使用一爪哇編譯器編譯 —應用程式而得的爪哇位元組碼被輸入至一編密器1 2 1 。除了爪哇位元組碼之外,一共通關鍵詞也被輸入至編密 器1 2 1。在編密器1 2 1中,吾人使用根據如:DES 體制之共通關鍵詞,將該爪哇位元組碼編密成被編密的位 元組碼(被編密的句子)。 輸入至編密器121的共通關鍵詞也被輸入至編密器 122。在編密器122中,其用來依據RSA體制而執 行編密,譬如:使用祕密關鍵詞- A而對該共通關鍵詞編 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)_ 46 _ {請先閩讀背面之注意事項再填寫本頁) 裝· 訂 經濟部中央標準局貝工消费合作杜印裝 405096 A7 B7 五、發明説明(44 ) 密。 在這情形下,一軟體開發者將一組被編密的位元組碼 、使用祕密關鍵詞一 A編密的一共通關鍵詞(下文稱之爲“ 被編密的共通關鍵詞”)、和從程式檢定授權者獲得的一被 編密的公用化關鍵詞- A散佈給使用者* 圖2爲顯示在使用者終端機3 3所實作的一程式執行 系統的功能性組態之一例,其中,依據一聯合體制而對一 應用程式執行編密。在圖2中,具有對應在圖1中的組件 之組件被標以與後者相同的參考數字,且其說明將被省略 〇 譬如:一解碼部份1 3 1依據RSA體制對一被編密 的共通關鍵詞解碼,且將此共通關鍵詞當作解碼結果供應 至一解碼部份1 32。解碼部份1 32依據如:DES體 制,對被編密的位元組碼解碼。 在如上所組態的程式執行系統中,一輸入部份8 1得 到一被編密的位元組碼(被編密的爪哇位元組碼)、—被 編密的共通關鍵詞、一被編密的公用化關鍵詞一 A和公用 化關鍵詞一 B。然後,輸入部份8 1將被編密的公用化關 鍵詞一 A和公用化關鍵詞一 B供應至一解碼部份84 ’將 被編密的共通關鍵詞供應至解碼部份1 3 1,並將被編密 的位元組碼供應至解碼部份1 3 2 » 如上述,解碼部份8 4使用公用化關鍵詞- B對被編 密的公用化關鍵詞一 A解碼成公用化關鍵詞一 A,且將產 生的公用化關鍵詞-A供應至解碼部份131。解碼部份 本紙張尺度適用中國國家標準(CNSM4規格(2丨ΟΧ297公釐)-47- ---------^------1T------β ·- (請先閲讀背面之注項再填寫本頁) , 405096 A7 _ _B7 五、發明説明(45) 1 31使用解碼部份8 4所供應的公用化關鍵詞一 A對輸 入部份81所供應的被編密的共通關鍵詞解碼成共通關鍵 詞,且將所產生的共通關鍵詞供應至解碼部份1 3 2。解 碼部份1 3 2使用解碼部份1 3 1所供應的共通關鍵詞對 輸入部份81所供應的被編密的位元組碼解碼成爪哇位元 組碼,且將產生的爪哇位元組碼供應至爪哇虛擬機器8 3 〇 上述的聯合體制能夠簡化關鍵詞管理且增加編密和解 碼的處理速度。 聯合體制不只可以被應用在對一應用程式編密的情形 ,也可以被應用在對一程式執行系統的程式(執行碼)編 密和其他情形。 經濟部中央標準局負工消費合作杜印製 n n I. nn i 1^1 n^i IH7 n —^n I nn i^i r - (請先閲讀背面之注意事項再填寫本頁) , 本發明不只可以被應用在上述的譯解型和JIT編譯 型兩種爪哇虛擬機器上,也可以被應用在非爪哇虛擬機器 的虛擬機器上。本發明甚至可以被應用在:經由如C語言 或C + +語言的一處理系統的機器碼而輸入至一程式執行 系統的情形,和經由如培基(BAS I C)語言的一處理 系統的原始碼而輸入至一程式執行系統的情形。 雖然在圖1和圖4中的實施例中只設有一單一程式執 行系統,也可在使用者終端機3 3中設置多數個程式執行 系統。例舉如下:當設有多個輸入部份81或101時, 一被編密的句子或附加訊徵的位元組碼可以從多個路徑而 被輸入。當設有多數個解碼部份8 2和/或8 4時,可依 據多個解碼演算法將一被編密的句子解碼。當設有多個爪 本紙張尺度適用中國國家標準(CNS } A4規格(210X297公釐)_ 48 - 405096 A7 £7_ 五、發明説明(46 ) 哇虛擬機器8 3時,則能夠支援多種爪哇位元組碼格式。 再者,當設有多個訊息摘要系統1 0 2和多個訊徵檢査部 份1 0 3時,則能夠分別檢査依據多種技術而附加的多個 訊徵》 雖然在上述的實施例中,吾人使用一單一關鍵詞而執 行編密或訊徵的產生,但是,也可使用多個關鍵詞而執行 之。例如:可藉由使用多個關鍵詞而依序執行編密運作且 產生與關鍵詞相同數目的訊徵。 在上述的實施例中,爪哇位元組碼可以是一些形式, 如:爪哇應用(Java Application )、爪哇應用小程式(
Java Applet)、爪哇班納(Java Benas)、和爪哇種類庫( Java Class Library)中的任何多種。 在根據本發明的第一方面之資訊處理裝置和根據本發 明的第二方面之資訊處理方法中,藉由使用一第二關鍵詞 ,對將一程式的被編密版本解碼所需的一第一關鍵詞的一 被編密版本解碼,且藉由使用經由解碼所得的第一關鍵詞 ,對該程式的被編密版本解碼。然後執行解碼所得的程式 。在根據本發明的第三方面之記錄媒體上,一程式被記錄 於其上,其中該程式爲使一電腦,藉由使用一第二關鍵詞 ,對將一程式的被編密版本解碼所需的一第一關鍵詞的一 被編密版本解碼,藉由使用經由上述解碼而得的第一關鍵 詞,對該程式的被編密版本解碼,且執行由上述解碼所得 的程式。因此,能夠只有在一第一關鍵詞和一程式被解碼 之後才允許該程式的執行。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)-49· ---------------ir------^ *1 .-----·. \ (請先閲讀背面之注意^項再填寫本頁) 經濟部中央標準局員工消費合作社印製 405096 A7 B7 五、發明説明(47 ) (請先閲讀背面之注意事項再填寫本頁) 在根據本發明的第四方面之資訊處理裝置和根據本發 明的第五方面之資訊處理方法中,一程式被編密成被編密 的句子,其中該句子將被解碼成可以被根據本發明的第一 方面之資訊處理裝置所執行的碼。在根據本發明的第六方 面之記錄媒體上,一程式被記錄於其上,其中該程式被編 密成被編密的句子,其中該句子將被解碼成可以被根據本 發明的第一方面之資訊處理裝置所執行的碼。因此,能夠 提供可以被根據本發明的第一方面之資訊處理裝置所執行 的一被編密的程式。 經濟部中央標準局員工消費合作社印聚 在根據本發明的第七方面之資訊處理裝置和根據本發 明的第八方面之資訊處理方法中,藉由使用一第二關鍵詞 ,對檢査附加至一程式的一訊徵用的一第一關鍵詞之被編 密版本解碼,且藉由使用由上述解碼而得的第一關鍵詞· 檢査附加至該程式的訊徵是否爲合法的。只有在該程式被 肯定爲合法時,執行該程式。在根據本發明的第九方面之 記錄媒體上,一程式被記錄於其上,其中該程式是爲使一 電腦,藉由使用一第二關鍵詞,對檢査附加至一程式的一 訊徵用的一第一關鍵詞之被編密版本解碼,藉由使用由上 述解碼而得的第一關鍵詞,檢査附加至該程式的訊徵是否 爲合法,且只有在該程式被肯定爲合法時,執行該程式。 因此,能夠只有在附加至一程式的訊徵爲合法時,才允許 該程式被執行。 在根據本發明的第十方面之資訊處理裝置和根據本發 明的第十一方面之資訊處理方法中,處理一程式*以致一 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨0X297公釐).5〇 - 405096 at _____B7 五、發明説明(48 ) 訊徵將在根據本發明的第七方面之資訊處理裝置中被肯定 爲合法。在根據本發明的第十二方面之記錄媒體上,一程 式被記錄於其上,其中該程式已被處理,以致一訊徵將在 根據本發明的第七方面之資訊處理裝置中被肯定爲合法。 因此,能夠提供一程式,其中該程式已被處理,以致在根 據本發明的第七方面之資訊處理裝置中被執行。 (請先W讀背面之注意事項再填寫本頁) 装. -* 經濟部中央標準局貝工消費合作社印製 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐)· 51 ·

Claims (1)

  1. 經濟部t央揉牟局員工消費合作社印製 405096_^_ 六、申請專利範圍 1 .—種執行一用以執行一程式之程序的資訊處理裝 置包含: 第一關鍵詞解碼構件,其中該構件藉由使用一第二關 鍵詞’對將該程式的被編密版本解碼所需的一第一關鍵詞 的一被編密版本解碼; 程式解碼構件,其中該構件藉由使用經由第一關鍵詞 解碼構件所解碼而得的第一關鍵詞,對該程式的被編密版 本解碼;和 執行構件,用以執行從程式解碼構件輸出的程式。 2·如申請專利範圍第1項之資訊處理裝置更包含: 第二關鍵詞解碼構件,其中該構件在第二關鍵詞被編密的 情形下,藉由使用一第三關鍵詞,對該第二關鍵詞的一被 編密版本解碼。 3 .如申請專利範圍第2項之資訊處理裝置,其中, 該第一關鍵詞爲一共通關鍵詞,被用來根據一共通關 鍵詞編密體制,對該程式編密; 該第二關鍵詞爲一公用化關鍵詞,其中該關鍵詞對應 一根據一共通關鍵詞編密體制,而被用來對第一關鍵詞編 密的一祕密關鍵詞;且 該第三關鍵詞爲一公用化關鍵詞,其中該關鍵詞對應 一根據一共通關鍵詞編密體制,而被用來對第二關鍵詞編 密的一祕密關鍵詞。 4 ·如申請專利範圍第1項之資訊處理裝置,其中, 該程式解碼構件藉由使用多數個第一關鍵詞,對該程式的 本紙铁尺度適用中國國家揉準(CNS ) A4規格(210X297公釐)-52- ---------束------訂------表--4, (請先閨讀背面之注意事項再填寫本頁) 405096 b C8 __D8 六、申請專利範圍 被編密版本解碼。 5 .—種資訊處理方法,用以執行用來執行一程式之 程序,包含如下步驟: 藉由使用一第二關鍵詞,對將一程式的被編密版本解 碼所需的一第一關鍵詞的一被編密版本解碼之步驟; 藉由使用經由上述解碼步驟而得的第一關鍵詞,對該 程式的被編密版本解碼之步驟;和 執行由上述解碼所得的程式之步驟。 6 .—種記錄一程式的記錄媒體,該程式是爲讓一電 腦: 藉由使用一第二關鍵詞,對將一程式的被編密版本解 碼所需的一第一關鍵詞的一被編密版本解碼; 藉由使用經由上述解碼步驟而得的第一關鍵詞,對該 程式的被編密版本解碼;且 執行由上述解碼所得的程式》 經濟部中央揉率局負工消費合作社印*. HI In In n m· HI In I I n ϋ-— (請先閱讀背面之注意事項再填寫本頁) , r 7 種執行一程式的資訊處理裝置,包含:編密構 件,用來將一程式編密成被編密的句子,其中該句子將被 解碼成可以被如申請專利範圍第1項之資訊處理裝置所執 行的碼。 8 . —種執行一程式的資訊處理方法包含:將該程 式編密成被編密的句子,其中該句子將被解碼成可以被如 申請專利範圍第1項之資訊處理裝置所執行的碼之步驟。 9 .—種記錄一程式的記錄媒體,其中該程式被編 密成被編密的句子,其中該句子將被解碼成可以被如申請 本紙張尺度適用中國國家椹準(CNS ) Α4規格(210Χ297公釐)-53- A8 405096 cS ^ Do 六、申請專利範圍 專利範圍第1項之資訊處理裝置所執行的碼。 1 0 .—種資訊處理裝置,其中該裝置執行用來執行 —程式之程序,包含: 執行該程式用的執行構件; 關鍵詞解碼構件,其中該構件藉由使用一第二關鍵詞 ’對檢査附加至該程式的一訊徵用的一第一關鍵詞之被編 密版本解碼; 檢査構件,其中該構件藉由使用經由該關鍵詞解碼構 件所解碼而得·的第一關鍵詞,檢査附加至該程式的訊徵是 否爲合法的;和 供應構件,用以將程式供應至執行構件,其中該程式 已被檢査構件肯定爲合法的且該訊徵附加於其上。 11種執行用來執行一程式之程序用的資訊處理 方法,包含如下步驟: . 藉由使用一第二關鍵詞,對檢査附加至該程式的一訊 徵用的一第一關鍵詞之被編密版本解碼之步驟; 經濟部中央標牟局貝工消費合作社印製 (請先Η讀背面之注意事項再填窝本貰) 藉由使用由上述解碼步驟而得的第一關鍵詞,檢査附 加至該程式的訊徵是否爲合法的步驟:和 只有在該程式被肯定爲合法時,執行該程式的步驟。 1 2 種記錄一程式的記錄媒體,該程式是爲讓一 電腦: 藉由使用一第二關鍵詞,對檢査附加至一程式的一訊 徵用的一第一關鍵詞之被編密版本解碼; 藉由使用由上述解碼步驟而得的第一關鍵詞,檢査附 本^張尺度逍用中國國家輮準(CNS ) A4規格(210X297公釐)-54- A8 BS C8 D8 405096 六、申請專利範圍 加至該程式的訊徵是否爲合法,·和 只有在該程式被肯定爲合法時,執行該程式。 1 3 種執行一程式的資訊處理裝置包含用來處理 該程式的處理構件,以致一訊徵將在如申請專利範圍第 1 0項之資訊處理裝置中被肯定爲合法。 14.一種執行一程式的資訊處理方法包含處理該程 式之步驟,以致一訊徵將在如申請專利範圍第1 〇項之資 訊處理裝置中被肯定爲合法。 1 5 . —種記錄一程式的記錄媒體,其中該程式已被 處理,以致一訊徵將在如申請專利範圍第1 〇項之資訊處 理裝置中被肯定爲合法。 n^— ml n —i « —I I 相 - -.-. (請先閲讀背面之注意事項再填寫本頁) 訂 經濟部中央標準局貝工消费合作社印*. 本紙張尺度逋用中國國家椹準(CNS ) A4规格(210X297公釐)-55 -
TW087105908A 1997-04-30 1998-04-17 Information processing apparatus and method and recording medium TW405096B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9112182A JPH10301773A (ja) 1997-04-30 1997-04-30 情報処理装置および情報処理方法、並びに記録媒体

Publications (1)

Publication Number Publication Date
TW405096B true TW405096B (en) 2000-09-11

Family

ID=14580316

Family Applications (1)

Application Number Title Priority Date Filing Date
TW087105908A TW405096B (en) 1997-04-30 1998-04-17 Information processing apparatus and method and recording medium

Country Status (7)

Country Link
US (1) US6647495B1 (zh)
EP (1) EP0875814B1 (zh)
JP (1) JPH10301773A (zh)
KR (1) KR19980081644A (zh)
CN (1) CN1130627C (zh)
DE (1) DE69837303T2 (zh)
TW (1) TW405096B (zh)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0825506B1 (en) 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
JP3995338B2 (ja) * 1998-05-27 2007-10-24 富士通株式会社 ネットワーク接続制御方法及びシステム
GB2343022B (en) * 1998-10-19 2003-01-08 Ibm Encrypting of java methods
FI990461A0 (fi) * 1999-03-03 1999-03-03 Nokia Mobile Phones Ltd Menetelmä ohjelmiston lataamiseksi palvelimelta päätelaitteeseen
TW518497B (en) 1999-03-30 2003-01-21 Sony Corp Information processing system
US6449720B1 (en) * 1999-05-17 2002-09-10 Wave Systems Corp. Public cryptographic control unit and system therefor
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
WO2000070417A1 (en) 1999-05-17 2000-11-23 The Foxboro Company Process control configuration system with parameterized objects
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US7865442B1 (en) * 1999-10-15 2011-01-04 Invensys Systems, Inc. Distributing and billing software according to customer use of program modules
US7117371B1 (en) * 2000-06-28 2006-10-03 Microsoft Corporation Shared names
GB0024918D0 (en) * 2000-10-11 2000-11-22 Sealedmedia Ltd Method of providing java tamperproofing
US20020116633A1 (en) * 2001-01-19 2002-08-22 Takuya Kobayashi Data processor
EP1235145A3 (en) * 2001-01-19 2006-10-04 Matsushita Electric Industrial Co., Ltd. Information terminal device and program executed thereon
US20020138764A1 (en) * 2001-02-01 2002-09-26 Jacobs Bruce A. System and method for an automatic license facility
CN100420183C (zh) * 2001-04-19 2008-09-17 株式会社Ntt都科摩 终端通信系统及方法
KR20030050300A (ko) * 2001-12-18 2003-06-25 (주)쉘컴정보통신 공개키 기반 소프트웨어 암호화 기법을 이용한 컴퓨터변조 방지 방법
US20030115471A1 (en) * 2001-12-19 2003-06-19 Skeba Kirk W. Method and apparatus for building operational radio firmware using incrementally certified modules
US7069442B2 (en) * 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US6782477B2 (en) 2002-04-16 2004-08-24 Song Computer Entertainment America Inc. Method and system for using tamperproof hardware to provide copy protection and online security
US7930537B2 (en) * 2002-08-13 2011-04-19 Nokia Corporation Architecture for encrypted application installation
EP1546892B1 (en) * 2002-09-04 2017-03-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Protecting mobile code against malicious hosts cross references to related applications
AU2003303882A1 (en) * 2003-02-03 2004-08-30 Nokia Corporation Architecture for encrypted application installation
US8041957B2 (en) * 2003-04-08 2011-10-18 Qualcomm Incorporated Associating software with hardware using cryptography
CN100451983C (zh) * 2003-06-27 2009-01-14 迪斯尼实业公司 下一代媒体播放器的双虚拟机以及信任平台
TW200502758A (en) * 2003-07-07 2005-01-16 Yuen Foong Paper Co Ltd Portable secure information accessing system and method thereof
TWI235303B (en) * 2003-07-22 2005-07-01 Yuen Foong Paper Co Ltd Digital content management system, method and application method thereof
US7516331B2 (en) 2003-11-26 2009-04-07 International Business Machines Corporation Tamper-resistant trusted java virtual machine and method of using the same
US7590867B2 (en) * 2004-06-24 2009-09-15 Intel Corporation Method and apparatus for providing secure virtualization of a trusted platform module
JP2006203564A (ja) * 2005-01-20 2006-08-03 Nara Institute Of Science & Technology マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法
US8838974B2 (en) * 2005-07-15 2014-09-16 The Mathworks, Inc. System and method for verifying the integrity of read-only components in deployed mixed-mode applications
US7921303B2 (en) 2005-11-18 2011-04-05 Qualcomm Incorporated Mobile security system and method
US20070240194A1 (en) * 2006-03-28 2007-10-11 Hargrave Bentley J Scoped permissions for software application deployment
JP4240047B2 (ja) * 2006-04-10 2009-03-18 ソニー株式会社 電子機器、コンテンツ記録方法及びそのプログラム
CN101226569A (zh) * 2007-01-19 2008-07-23 国际商业机器公司 在虚拟机中验证代码模块的方法及装置
DE102007045743A1 (de) * 2007-09-25 2009-04-02 Siemens Ag Verfahren und System zum Schutz gegen einen Zugriff auf einen Maschinencode eines Gerätes
KR20100126476A (ko) * 2008-03-04 2010-12-01 애플 인크. 보안 동작 환경에서의 소프트웨어 개발자들에 대한 코드 자격들의 관리
RU2495476C2 (ru) 2008-06-20 2013-10-10 Инвенсис Системз, Инк. Системы и способы для иммерсивного взаимодействия с действительными и/или имитируемыми техническими средствами для управления технологическим процессом, контроля состояния окружающей среды и производственного контроля
JP5268694B2 (ja) * 2009-02-13 2013-08-21 京セラドキュメントソリューションズ株式会社 ライセンス管理システム、画像形成装置およびライセンス管理方法
CN101872404B (zh) * 2009-04-21 2011-12-07 普天信息技术研究院有限公司 一种保护Java软件程序的方法
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
JP5550439B2 (ja) 2010-05-06 2014-07-16 キヤノン株式会社 アプリケーションのインストール方法
CN101945010B (zh) * 2010-09-19 2013-07-10 中国联合网络通信集团有限公司 业务许可的处理方法、设备和系统
US8646050B2 (en) * 2011-01-18 2014-02-04 Apple Inc. System and method for supporting JIT in a secure system with randomly allocated memory ranges
US9152801B2 (en) * 2012-06-28 2015-10-06 Steven W. Cooke Cryptographic system of symmetric-key encryption using large permutation vector keys
CN105940403B (zh) * 2014-02-06 2019-09-06 索尼公司 信息处理设备、信息处理方法、程序和服务器
CN104318133A (zh) * 2014-10-28 2015-01-28 艾普工华科技(武汉)有限公司 基于图片加密License的处理方法及装置
US10394554B1 (en) * 2016-09-09 2019-08-27 Stripe, Inc. Source code extraction via monitoring processing of obfuscated byte code
US10896032B2 (en) * 2018-11-02 2021-01-19 Accenture Global Solutions, Limited System and method for certifying and deploying instruction code

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4168396A (en) * 1977-10-31 1979-09-18 Best Robert M Microprocessor for executing enciphered programs
EP0121853A3 (en) * 1983-04-04 1988-01-13 BURROUGHS CORPORATION (a Delaware corporation) Data processing system having public encryption and private decryption keys
CA1238427A (en) * 1984-12-18 1988-06-21 Jonathan Oseas Code protection using cryptography
US5224160A (en) * 1987-02-23 1993-06-29 Siemens Nixdorf Informationssysteme Ag Process for securing and for checking the integrity of the secured programs
US4924378A (en) * 1988-06-13 1990-05-08 Prime Computer, Inc. License mangagement system and license storage key
US4926475A (en) * 1988-11-30 1990-05-15 Motorola, Inc. Data encryption key failure monitor
US5050212A (en) * 1990-06-20 1991-09-17 Apple Computer, Inc. Method and apparatus for verifying the integrity of a file stored separately from a computer
CA2162125C (en) * 1993-05-05 2005-09-20 Zunquan Liu A repertoire of mappings for a cryptosystem
US5343527A (en) * 1993-10-27 1994-08-30 International Business Machines Corporation Hybrid encryption method and system for protecting reusable software components
JPH07295800A (ja) * 1994-04-22 1995-11-10 Advance Co Ltd ソフトウエアプロテクト方式
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
JPH0822390A (ja) * 1994-07-05 1996-01-23 Advance Co Ltd ソフトウエア防衛方式
US5557765A (en) * 1994-08-11 1996-09-17 Trusted Information Systems, Inc. System and method for data recovery
DE69534757T2 (de) * 1994-09-15 2006-08-31 International Business Machines Corp. System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften

Also Published As

Publication number Publication date
EP0875814B1 (en) 2007-03-14
DE69837303D1 (de) 2007-04-26
EP0875814A3 (en) 2004-05-26
JPH10301773A (ja) 1998-11-13
US6647495B1 (en) 2003-11-11
KR19980081644A (ko) 1998-11-25
CN1130627C (zh) 2003-12-10
DE69837303T2 (de) 2007-11-29
EP0875814A2 (en) 1998-11-04
CN1208193A (zh) 1999-02-17

Similar Documents

Publication Publication Date Title
TW405096B (en) Information processing apparatus and method and recording medium
JP3688356B2 (ja) ライセンシー通知システム
US6411941B1 (en) Method of restricting software operation within a license limitation
US6108420A (en) Method and system for networked installation of uniquely customized, authenticable, and traceable software application
US5673316A (en) Creation and distribution of cryptographic envelope
JP4235691B2 (ja) 自己保護文書システム
TW385411B (en) Information processing apparatus and method and recording medium
JP4486321B2 (ja) デジタル権利管理(drm)システムを使用するソフトウェアアプリケーションの保護のための方法および媒体
JP4702957B2 (ja) 耐タンパ・トラステッド仮想マシン
KR101009126B1 (ko) 대응하는 구성요소를 인증하기 위한 디지탈 인증서 및 디지탈 인증서 인증 방법
US7991995B2 (en) Method and apparatus for protecting information and privacy
US6801999B1 (en) Passive and active software objects containing bore resistant watermarking
US9246916B2 (en) Specifying rights in a digital rights license according to events
KR101219819B1 (ko) 디지털 어플리케이션을 라이센싱하기 위한 유연한 라이센싱 아키텍처
JP4694077B2 (ja) 権利管理アーキテクチャにおける保護コンテンツにアクセスするためのコンピューティングデバイス
US7475254B2 (en) Method for authenticating software using protected master key
CN101872404B (zh) 一种保护Java软件程序的方法
JP2002539515A (ja) コンテンツをライセンシングするシステムおよび方法
JPH11296423A (ja) ファイル管理システム、ファイル管理装置および媒体
JP2013507671A (ja) シェル・コードに埋め込まれたソフトウェア・ライセンス
JP2004086588A (ja) ソフトウェア不正使用防止システム
US7197144B1 (en) Method and apparatus to authenticate a user's system to prevent unauthorized use of software products distributed to users
JP2009032165A (ja) ソフトウェアのライセンス管理システム、プログラム及び装置
KR20010038207A (ko) 컴퓨터 프로그램 온라인 유통 방법
JP3042309B2 (ja) ソフトウエア使用許諾方式

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees