TWI293226B - Program tamper detecting apparatus, method for program tamper detection, and computer program product - Google Patents
Program tamper detecting apparatus, method for program tamper detection, and computer program product Download PDFInfo
- Publication number
- TWI293226B TWI293226B TW094103186A TW94103186A TWI293226B TW I293226 B TWI293226 B TW I293226B TW 094103186 A TW094103186 A TW 094103186A TW 94103186 A TW94103186 A TW 94103186A TW I293226 B TWI293226 B TW I293226B
- Authority
- TW
- Taiwan
- Prior art keywords
- program
- memory
- interference
- code
- central processing
- Prior art date
Links
- 238000004590 computer program Methods 0.000 title claims description 43
- 238000001514 detection method Methods 0.000 title claims description 37
- 238000000034 method Methods 0.000 title claims description 20
- 230000015654 memory Effects 0.000 claims description 160
- 238000012545 processing Methods 0.000 claims description 103
- 230000007246 mechanism Effects 0.000 claims description 21
- 239000000463 material Substances 0.000 claims description 11
- 239000004065 semiconductor Substances 0.000 claims description 9
- 238000012790 confirmation Methods 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 238000005259 measurement Methods 0.000 claims description 2
- 210000002784 stomach Anatomy 0.000 claims description 2
- 230000008439 repair process Effects 0.000 claims 3
- 230000002452 interceptive effect Effects 0.000 claims 2
- 230000004913 activation Effects 0.000 claims 1
- 238000012937 correction Methods 0.000 claims 1
- 210000004185 liver Anatomy 0.000 claims 1
- 238000010998 test method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000011257 shell material Substances 0.000 description 1
- 239000010902 straw Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F24—HEATING; RANGES; VENTILATING
- F24C—DOMESTIC STOVES OR RANGES ; DETAILS OF DOMESTIC STOVES OR RANGES, OF GENERAL APPLICATION
- F24C15/00—Details
- F24C15/20—Removing cooking fumes
- F24C15/2028—Removing cooking fumes using an air curtain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44236—Monitoring of piracy processes or activities
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F24—HEATING; RANGES; VENTILATING
- F24C—DOMESTIC STOVES OR RANGES ; DETAILS OF DOMESTIC STOVES OR RANGES, OF GENERAL APPLICATION
- F24C15/00—Details
- F24C15/20—Removing cooking fumes
- F24C15/2035—Arrangement or mounting of filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/162—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
- H04N7/163—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Virology (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
1293226 九、發明說明: 【發明所屬之技術領域】 • 本發明係有關於一程式干擾(Tapmer)偵測裝置,程 _ 式干擾偵測方法及用以偵測程式干擾之電腦程式,以防 止干擾電腦程式。 【先前技術】 在近幾年,在電腦技術上的快速發展,在電腦上有 很多不同的產品。這樣的電腦需要CPU(中央處理單元) • 和電腦程式執行於CPU上。在例如家用電器或通訊設備 的產品中之電腦程式是基於該產品特別的規格而設計 的’例如’付費廣播系統中的接收器只能用於具有簽訂 接收合約的個人使用,所以,在接收器中的電腦程式設 計成只在接收器正常或合法使用時才運作。用以啟用這 樣的接收器的電腦程式是儲存於R0M(唯讀記憶體)上,且 在接收器啟用時讀取。電腦藉由讀取電腦程式來控制接 收器。 • 在使用電腦執行電子控制的裝置的領域中,類似裝 置的主體的例子,會花費很多來研發儲存在唯讀記憶體 ROM上的電腦程式。這樣的電腦程式是很重要的商業財 產,例如上述的付費廣播系統中,假如用以啟動接收付 費廣播的接收器的程式被沒有簽訂接收合約的第三者知 道,這表示由付費廣播系統所提供的服務可能會被第三 者不合法地使用。此外,電腦程式對系統而言是一項智 慧財產,為了適當保護智慧財產的電腦程式,就產生對
2139-6799-PF 5 1293226 防止第三者輕易知道電腦程式技術的需求。 傳統上,一般目的的中央處理單元CPU和唯讀記憶 體ROM的規格是公開給一般大眾的,在這樣的情況下, 拿到包含中央處理單元CPU和唯讀記憶體ROM的電腦的 裝置的第三者,可以容易地執行程式分析。在這樣的情 況下,有習知的技術以防止第三者對儲存在裝置R〇M中 的電腦程式執行程式分析。 這些技術的例子會在下述的習知技術中說明。
日本專利公開公報(JP-1^丨36丨1 1-1 261 74八)揭露一 微處理器瀆取裝置的記憶體資料。微處理器讀取裝置的 圮憶體資料包括一微處理器,一記憶體裝置和一讀取裝 置。圮憶體裝置記憶用來操作微處理器的資料,讀取裝 置從圮憶體裝置讀取資料並送至微處理器。讀取裝置具 有貝料轉換電路,資料轉換電路將從記憶體裝置讀取 出來的資料在讀取時,動態地轉換資料。 _日本專利公開公報(JP —Heisei〇8-305558A)揭露加 密程式操作裝置。力σ密程式操作裝置包括—第一記憶 體’ -第二記憶體,和一讀取保護裝置。第一記憶體儲 存至少-加密程式’第二記憶體儲存—由儲存在第一纪 :體中的解密程式解密的加密程式。讀取保護裝置保護 存在第二記憶體中的解密之加密程式以免被外界讀 取。 積體 日本專利公開公報(JP_Heisei05_1 97633A)揭露 電路。積體電路包括一中央處理單元,一解密裝置
2139-6799-PF 1293226 和一鍵碼儲存裝置。中央處理單元執行資料處理,解密 裝置將加密之指令碼解密成中央處理單元可以執行資料 處理,鍵碼儲存裝置儲存用以控制由解密裝置解密資料 的鍵碼。 曰本專利公開公報(jp — Showa59-1 88897A)揭露用於 資料處理裝置之一資料安全保護設備。資料安全保護設 備包括一大型積體電路(LSI),用於資料處理,具有一内 部記憶體和一邏輯電路。内部記憶體不允許外部來讀取 其資料,邏輯電路執行在從在大型積體電路外之外部記 憶體讀取資料與從内部記憶體讀取資料之適當邏輯運 算,内部記憶體儲存複數個關鍵字碼;外部記憶體儲存 轉換碼,是已經轉換可以經由對關鍵字碼和轉換碼做適 當邏輯運算後得到標準資料(Regular Data)。資料安全 保護設備藉由從内部記憶體和外部記憶體讀出位址來產 生標準資料。 此外,隨著半導體技術的進步,不揮發、可程式/再 程式的唯讀記憶體(例如快閃記憶體)已經可以取得,並 廣泛地用於上述的裝置上。使用這些唯讀記憶體,更新 操作裝置的電腦程式版本變得很容易。使用這樣的可程 式/再程式唯讀記憶體的裝置(以下用”可程式唯讀記憶 體),而要可以防止非法將館存在唯讀記憶體上的電腦程 式再程式(reprogram)的技術。 第1圖顯示具有中本步^田。0 — 铜甲夹處理早兀和唯讀記憶體(以下獾 快閃唯讀記憶體)的習知阶番μ + & 為知配置的方塊圖。請參考第1圖,
2139-6799-PF 1293226 習知裝置具有一快閃唯讀記憶體1 〇 1和一中央處理單元 1 02經由一匯流排i 03。更進一步,快閃唯讀記憶體j 〇i 具有 般區域l〇la和--次程式(〇ne-t ime program) 區域101b。 一般區域l〇la是儲存在其上的資料可以再程式,儲 存加岔的電腦程式;一次程式區域l〇lb是不可再程式(只 能一次程式)區域,儲存解密加密程式的解密程式,一次 程式區域1 〇 1 b儲存一啟動程式以啟動裝置。 在啟動時,中央處理單元丨〇2首先從一次程式區域 101b讀取啟動程式,並開始裝置的啟動;解密程式將儲 存在快閃唯讀記憶體! 〇丨的一般區域丨〇丨a的加密程式解 送、並同時將解密後程式載入外部隨機存取記憶體 (Μ )(未颂示在圖上)。此後,載入的程式驅動裝置之操 作。 習知技術可以防止第三者非法使用裝置,這技術用 於防止非法分析電腦程式报好’然而,更健全的程式分 析防止技術是需要的,需要防止程式干擾的附加技術; 需要更進步的技術來偵測電腦程式干擾並在當程式被干 擾時輸出警告。 【發明内容】
本發明之目的在提供一奘 θ ^ ^ ^ ^ L 我置,具有加密電腦程式; 一裝置其配置使得在直中的 ^ 牡八甲的加密機制不易流出;一方沒 和一基於此之程式。 本發明之再一目的在提供 ^ ^ ^ 攸仏一裝置,其配置即使加滚
2139-6799-PF 1293226
機制茂露,仍可以U* u I 、 以防止加密電腦程式的干擾;以及一方 法和一基於此之程式。 本^月之再-目的在提供_裝置,其配置可以 電腦程式的干擾;以及一方法和一基於此之程式。 為了達到本發明之目的,本發明提供一程式干擾偵 測裝置,包括:一外部記憶體;一啟動唯讀記憶體;以 中央處理單元。外部記憶體儲存一第一碼,用於程 式干擾偵測;以及一第一程式,豆中,第^ θ , λα ^ ^ 弟一程式是加密 :。啟動唯讀記憶體儲存-第二程式用以解密該第一程 =中央處理早疋電性連接至該外部記憶體和該啟動唯 續記憶體,中央處理單^藉由執行第二程式來解密第一 程式以取得解密之第一 弟耘式,中央處理單元偵測第一程 式二否被干擾是基於比較第一碼和執行_既定之運作於 解密第一程式的第二碼的結果而得知。 :::擾偵測裝置更進一步包括一隨機存取記憶 體。中央處理單元儲存解來筮 _ . _ ^ ^ 子解在第一程式於隨機存取記憶體 中’㈣機存取記憶體中讀取出第二碼並基於比較來偵 測第一程式的干擾。 、 在程式干擾偵測裝置中,外部記憶體可以具有一位 址資料’以指出在隨機存取記憶體中的位址。中央處理 Μ基於㈣址資料來儲存解密第—程式在隨機存取記 憶體中,並基於該位址資料來讀取該第二碼。 在程式干擾谓測裝置中’啟動唯讀記憶體可以具有 -啟動程式,中央處理單元藉由執行該啟動程式來執行
2139-6799-PF 9 1293226 第二程式,以得到解密第一程式。 龄私在私式干擾偵’則裝置中,可以有複數個第二程弋。 啟動唯讀記憶體具有複 #式 二程式的相對靡…域儲存複數個第 、 個。每個第二程式之加密機糾不 5中央處理單兀選擇複數個區域之-並執行相料 此區域的第二程式。 並執仃相對應於 儲存測裝置可以更包括-第-記憶體部分, 、登擇y貝料’讓中央處理單元用以從複數個區域中 理?處:單元基於該區域資料選擇: 數個第行儲存於該區域之相對應的複 式。 ^ 解袷第一程式,以取得解密第一程 工式干擾㈣裝置更包括一第二記憶體部分,儲存 :曰广用以指出程式干擾债測裝置。解密第—程式且 有一指標確認資料,中央卢 /、 -ir ^ 、地早70藉由檢查指標確認資 枓和該指標則貞測第—程式的干擾。 程式干擾偵測裝置中 啟動唯項記憶體具有一程式 干擾通知程式,中央虛 ^ 处理早70在偵測到第一程式干擾 時,藉由執行該程式干播 卞擾通知耘式,產生指出第一程式 干擾的一訊息,並將該却自、秦 "訊息透過網路經由既定位址傳送 至設備。 疋 央處理單元和啟動唯讀 ’該半導體設備連接至 在程式干擾偵測裝置中,中 記憶體位於一單一半導體設備上 該外部記憶體上。
2139-6799-PF 10 1293226 、為了達到本發明的另一目的,本發明提供一電腦程 式產-給程式干擾偵測裝置。該程式干擾偵測裝置包 括·一外部記憶體;一啟動唯讀記憶體;以及一中央= 里單元外部記憶體儲存一第一碼,用於程式干擾偵測; 以及一第一程式,其中,第一程式是加密的。啟動唯於 '己憶體儲存-第二程式用以解密該第-程式。中央處理 一 連接至4外部$己憶體和該啟動唯讀記憶體。节 電腦程式產品配置於一電腦可讀媒體上,並包括一程式 馬田執行時會令電腦執行下列項目:(a)從啟動唯讀記 隐體項取第二程式;(b)執行第二程式以得到解密第一程 式,(c )基於比較第一碼和執行於解密第一程式的第二碼 之結果來偵測第一程式的干擾。 在電腦程式產品中,程式干擾偵測裝置進一步包括 一隨機存取記憶體,步驟(b)包括··(bl)儲存解密第一程 式於隨機存取記憶體。步驟(c)包括:(cl)從隨機存取記 憶體讀取第二碼。 在電腦程式產品中,步驟(b)進一步包括··(b2)讀取 儲存於外部記憶體之一位址資料,指出在隨機存取記憶 體的位址。步驟(bl)包括··(bl2)基於該位址資料,儲^ 解雄、第一程式於隨機存取記憶體;步驟(cl )包括··(cl U 基於該位址資料,從隨機存取記憶體讀取第二碼。
在電腦程式產品中,步驟(a)包括:(al)執行儲存於 啟動唯讀記憶體中的一啟動程式以啟動中央處理單元。 在電腦程式產品中,有複數個第二程式,啟動唯讀 2139-6799-PF 11 1293226 記憶體具有複數個區域,每個區域儲存相對應之複數個 第二程式之一,每個第二程式的加密機制不同,步驟 • 包括:(a2)選擇複數個區域之一,(a3)讀取相對應於該 ' 區域之複數個第二程式之一。步驟(b)包括:(b3)執行所 5賣取之該複數個第二程式之一個。 在程式干擾偵測裝置中,進一步具有一第一記憶體 部分’步驟(a2)包括:a(21)讀取儲存於於第一記憶體部 分的區域資料,以用於選擇複數個區域之一;以及(&22) 籲基於位址資料選擇複數個區域之一。 在程式干擾偵測裝置中,更進一步包括一第二記憶 體部分,步驟(c)包括:(c2)讀取儲存於該第二記憶體部 分的一指標,指出程式干擾偵測裝置,(c3)從解密第一 程式取出一指標確認資料,(c4)藉由檢查該指標確認資 料與該指標來偵測第一程式的干擾。 程式干擾摘測裝置更包括(d)讀取儲存於啟動唯讀 記憶體中的程式干擾通知程式,以及(e)產生指出第一程 •式被干擾的一訊息,並在偵測到第一程式的干擾,藉由 執行該程式干擾通知程式送出該訊息經由網路既定路徑 至一設備。 工 為了達到本發明的再一目的,本發明提供一方法給 程式干擾偵測裝置,包括:(a)讀取一第二程式;(幻^ 行該第二程式,解密加密之第一程式,以得到解密第一 程式,(c)基於比較第一碼和執行於解密第一程式的第二 碼之結果來偵測第一程式的干擾。
2139-6799-PF 12 1293226 在程式干擾偵測方法中,步驟(b)包括:(bl)讀取一 位址資料’指出在一隨機存取記憶體的位址,(b2)基於 ' 該位址資料,儲存解密第一程式於隨機存取記憶體。步 、 驟(c)包括:(cl)基於該位址資料,從隨機存取記憶體讀 取第二碼。 在程式干擾偵測方法中,步驟(a)包括··(al)執行一 啟動程式以執行該第二程式。 在程式干擾偵測方法中,有複數個第二程式,每個 鲁 第二程式的加密機制不同,步驟(a)包括:(a2)選擇複數 個第二程式之一,(a3)讀取複數個第二程式之一。步驟 (b)包括:(b3)執行所讀取之該複數個第二程式之一。 在程式干擾偵測方法中,步驟(a 3 )包括·· a ( 31)讀取 一區域資料,以用於選擇複數個區域之一;以及(a32)基 於位址資料選擇複數個區域之一。 在程式干擾偵測方法中,步驟(c )包括:(c 2 )讀取一 才曰標’(c 3 )從解密第一程式取出一指標確認資料,(c 4 ) _ 藉由檢查該指標確認資料與該指標來偵測第一程式的干 擾0 程式干擾偵測方法更包括(d)讀取程式干擾通知程 式’以及(e)產生指出第一程式被干擾的一訊息,並在偵 測到第一程式的干擾,藉由執行該程式干擾通知程式送 出該訊息經由網路既定路徑至一設備。 為讓本發明之上述和其他目的、特徵、和優點能更明顯易 懂,下文特舉數個較佳實施例,並配合所附圖式,作詳細說明 2139-6799-PF 13 1293226 如下: 【實施方式】 根據本發明之實施例將於下面說明並參考附圖。 根據本發明的第一個實施例的液晶顯示裝置。 電月a 21作為程式干擾偵測裝置的例子。電腦21 具有一程式干擾偵測功能,並適合使用電腦來執行電性 控制的任何產品或裝置。以下是這個說明的例子,產品 具有電腦21用於在產品連接於資通訊網路的情況。特別 地,以付費廣播系統的接收器作為這樣產品的例子,付 費廣播系統容易有電腦程式干擾的問題產生。 (第一實施例) 第2圖顯示一系統配置的例子的方塊圖,其中根據 本發明之電腦21配置付費廣播系統接收器上。參考第2 圖’付費廣播系統包括一傳送裝置2 4,一控制裝置2 5, 以及一接收器20。傳送裝置24是在廣播傳送端,接收器 20是在接收端以接收付費廣播。傳送裝置24經由網路 23傳送付費廣播。付費廣播由付費廣播系統提供服務, 控制裝置2 5控制付費廣播系統的傳送狀態和接收2 〇的 接收狀態。經由網路23,接收器20接收由傳送裝置24 所傳送的付費廣播系統的資料,並輸出至一顯示單元。 該顯示單元並未顯示在圖上。 接收器20包括電腦21和通訊介面22。電腦21具有 一 LSI1,或在第二實施例中的LSI11,或在第三實施例 中的LSI 14 ; —可程式外部唯讀記憶體4,以及一隨機存
2139-6799-PF 14 1293226 取S己憶體5。電腦21經由通訊介面22連接至網路23, 通訊介面22傳送由電腦21輸出的資料經由網路23到傳 送裝置24上。 第3 ®暴頁7F根據本發明的第_個實施例的程式干擾 偵測裝置的電腦21配置方塊圖。參考第3圖,根據本發 明第一實施例的程式干擾偵測裝置包括LSI丨,一外部唯 讀記憶體4,和隨機存取記憶體5。LSU包括一啟動唯讀 记憶體2,一中央處理單元3,以及一内部匯流排6。Μ" 是一積體電路配置於一單晶片,LSU經由一資料線9連 接至外部唯讀記憶體4,並經由資料線1〇連接至隨機存 取記憶體5。 啟動唯讀記憶體2其儲存之資料是不可再程式的, 啟動唯讀記憶體2經由資料線7連接至内部匯流排6。啟 動唯讀記憶體2也經由内部匯流排6連接至中央處理單 凡3、外部唯讀記憶體4,和隨機存取記憶體5。啟動唯 頃記憶體2只於電腦21啟動後使用,儲存中央處理單元 2動程式和一解密程式,用以解密和載入儲存在外部唯 碩記憶體4的加密程式。中央處理單元3由中央處理單 疋啟動程式啟動,並基於中央處理單元啟動程式從啟動 唯讀記憶體2讀取解密程式,更一步基於解密程式讀取 在外。卩唯碩記憶體4的加密程式;中央處理單元3執行 程式解密並載入到隨機存取記憶體5,且藉由執行程式來 控制電腦21。中央處理單元3經由資料線8連接至内部 匯流排6,也經由匯流排6連接至啟動唯讀記憶體2、外 2139-6799-PF 15 1293226 部唯讀記‘It體4和隨機存取記憶體5。 ::式外部唯讀記憶體4是儲存設備,允許儲存在 料。貝料再程式’且具有不可揮發儲存區域;經由資 #連接至LSI1並儲存加密程式;因應從[犯的要 =出加密程式。隨機存取記憶體5是一儲存設備用以 子解擒後程式,經由資料線1〇連接至Lsn,並儲存由 在欠動唯项5己憶體2中的解密程式解密加密程式之後的 解密後程式。 接收器2 0接收多媒體資料,例如由傳送裝置2 4經 由、’罔路23來的MPEG串流資料。當電腦21判斷儲存在外 P唯唄。己隐體5的使用者碼未被干擾時,電腦2 j執行解 :後程式以執行將接收之多媒體f料輸人至—隱解碼 器以正常地解碼所接收的多媒體資料。MPEG解碼器未顯 不在圖上。 當電腦21判斷儲存在外部唯讀記憶體5的使用者碼 已被干擾時,電腦21控制MPEG解碼器不要解碼所接收 的多媒體資料,在這種情況下,電腦2丨經由網路23送 出一訊息到傳送裝置24,指出使用者碼被干擾。 第4圖顯示可程式外部唯讀記憶體4的内部格式 的圖,參考第4圖,可程式外部唯讀記憶體4的資料儲 存區域包括一碩部分(Header port i〇n)和其它非頭部分 的區域。頭部分包括被數個區域,每個區域儲存頭偵測 獨一碼31之一、使用者程式碼量資料(叫⑽以訂 data)32、隨機存取記憶體載入目標位址資料33、以及參
2139-6799-PF 16 1293226 考安全檢查碼3 4。 頭偵測獨一雜^ Q ! Ώ 體4的資料建立存取,在可:式外部唯讀記憶 取記憶體載入目標位址資料33、:χ:::料32、隨機存 是要儲存於可程式外部唯讀記憶體/的資:全,34 測獨一碼之後。使用者程 次的貝枓’存於頭偵 載入於隨機存取記,_ ",里貝料32用於決定要 τ π圯傯體5的解衆尨 quantity)是否達到一 壬式的碼量(code 目標位址資料33是g 機存取記憶體載入 不機存取記愔 在載入解密後程式到& ^體5位址的資料; 叭判奴機存取記憶體5 處理單元3基於隨機存取記 的障况下,中央 鄱Λ紐它% w體载入目標位址資料3 3决 載入解⑨、相相隨機存取記憶體胃们3來 取記憶體5讀取_ w| 〜, ,在從隨機存 %鮮在後秸式的情況下, 基於隨機存取記憶體#Αθ4φ 甲央處理早70 3 戟入目;^位址資料 操作;參考安全檢杳碼34 s田㈣執仃資料讀取 • 一碼34疋用於偵测解密後裎彳66 : 擾;使用者碼35是儲存在可程;、 密後程式。 r丨唯项圮憶體4的解 第5圖顯示根據本發明的第一 以下的名詞用於區八* ^ μ 只他列的概耘圖。 、刀σ雄後程式與載入隨機存取 5的解密後程式;,,使 ㈣存取。己隐體 者馬3 4曰儲存於可藉4冰立 唯讀記憶體4的一 M ~ 了転式外# ^ %式或加密程式;,,使用者寇★ ,, e 指使用者碼35即加密藉彳、±4 考私式疋 5的程式。卩力在私式被解密並載入隨機存取記憶體 參考第5圖’第-個實施例的運作開始於打開電源,
2139-6799-PF 17 1293226 即啟動或重設接收器20。在步驟si 〇!由 〇Λ ’因應於接收5| 20的啟動,啟動唯讀記憶體2執行儲存 σ 子於啟動唯讀記情、 體2的中央處理單元啟動程式,即啟叙 心 0 ^中央處理單元 3。啟動後的中央處理單元3經由内部匯流排6存取 唯讀記憶體2,讀出並執行健存於啟動唯讀記憶 密程式。 ^鮮 在步驟S102中,中央處理覃开{左说 & 处里早兀3存取可程式外部嘴 我憶體4並執行讀取儲存在可程式外部唯讀記憶體4 2頭部分的資料。在步驟川3中,中央處理單元3判斷 央處理單元3是否偵測到頭偵測獨一碼31 ;如果中央 處理單元3债測到頭俄測獨—碼31,流程轉到步驟 〇4 ’如果中央處理單元3未偵測到頭偵測獨一碼3 i, 流程回到步驟漏,並執行讀取動作。即,如果沒有该 則到頭偵測獨一碼3卜執行步驟si〇2到si〇3。 在步驟S104中,在偵測頭偵測獨一碼31之後,中 央處理單+ Q > 士 1 ,上、, 之在頭偵測獨一碼31之後的資料,即使用 33 =馬里貝料32、隨機存取記憶體載入目標位址資料 中、及參考安全檢查碼34執行讀取動作。在步驟S105 在執仃碩取使用者程式碼量資料32、隨機存取記憶 由載入目標位址資料33、以及參考安全檢查碼34之後, 中央處理I ; Q # > ^ 、 d執仃對儲存於可程式外部唯讀記憶體4 ' 者馬3 5之蹟取動作,接著,中央處理單元3執行 解密^ 二以解密使用者碼35並入到隨機存取記憶體5
上0 2139-6799-PF 18 1293226 ^ 在這種情況下,可以使用任何加密機制以加密解密 後輊式。例如,以下述的方式加密使用者碼,首先, 使用者碼35以複數個位元為單位被讀出;然後,藉由使 用相對應於複數個位元的一既定解密碼來執行EX〇R運 作,其它的方式,也可以使用較精細的加密/解密機制, 以建立更安全的系統。 ^ 接著,在步驟S1 06中,中央處理單元3基於既定的 演算法,使用二進制碼的使用者程式即載入於隨機存取 記憶體5的解密後的程式,來執行安全檢查碼的計算。 任何演算法皆可用於此演算法。 在步驟S107中,中央處理單元3比較載入於隨機存 取°己憶體5的使用者程式的碼量和在步驟s丨〇 4中讀出的 使用者程式碼量資料32 ;從比較的結果,如果使用者程 式的碼量沒有達到使用者程式碼量資料32的值,流程回 到步驟S1 05,即讀出解密之使用者碼35,載入而隨機存 取記憶體5,並計算下一個安全檢查碼。 步驟S105到S107將在以下詳細的說明。EX〇R運算 是用於既疋演算法中,首先,一既定的32位元第一固定 值和32位7°第二固定值設定並儲存於一既定區域,中 央處理單兀3對第一固定值和使用者碼35的冑32位元 執仃EXOR運算,得到在步驟sl〇5中的32位元使用者程 式。接著在步驟S106,中央處理單元3執行基於對32位 疋使用者程式與第二固定值執行EX〇R運算做計算以產生 一第一安全檢查碼。
2139-6799-PF 19 1293226 f :十异侍到第-安全檢查碼後,在步驟SI 〇7,φ ▲ 處理單7L 3判斷載入到隨機存取記憶體5的使: 之碼量是否達到使用者 者私式 .,^ 1里貝丁寸以從比較的結杲 中,如果使用者程式之碼量未達到使用 : 32,流程回到步驟sl〇5 ^里-貝料 田去瓞Μ从 h,L程執仃在第一固定值和使 用者馬35的下32位元做議運算,以得到—新 位一使用者程式。接著,中央處理單元3對所得到的32 位兀使用者程式與第二固定值執行ex〇r運算,以 步驟S1〇6中的一第二安全檢查碼。 … 中央處理單元3重覆從S1 05到S1 07的步驟直到找 到在使用者程式的碼量和使用者程式碼量資料3 2的一 致。中央處理單元3決定在二個值一致時得到的安全檢 查碼是使用於整個使用者程式的安全檢查碼。此外,基 於使用者程式的碼量和使用者程式碼量資料32 -致,^ 央處理單元3確認所有使用者碼3 5都已解密。 在步驟S1 〇8中,中央處理單元3比較最後計算得到 的安全檢查碼和參考安全檢查碼34。比較的結果,如果 最後冲算彳于到的安全檢查碼和參考安全檢查碼34不一 致’在步驟S11〇中,中央處理單元3判斷使用者碼35 已被干擾。在步驟S110中,如果使用者碼35被干擾, & 的中央處理單元3產生一干擾偵測訊息並輸出到 通訊介面22。輸出的訊息接著經由網路23傳送到付費廣 播系統的控制裝置2 5。另一方面,如果最後計算得到的 安全檢查碼和參考安全檢查碼34 一致,流程走到步驟
2139-6799-PF 20 1293226 步驟S1G9中,電腦21的中央處理單元3執行 載 迎機存取記憶體5的使用者程式,# 20逯柞。夫卜 a狂巧以徑制接收器 在 在步驟S109中,電腦21的Lsn因應於由載入 而隨機存取記憶體5的使用者程式開始了接收器20的運 作’而禁止對啟動唯讀記憶體2的存取,這項禁止存取 一直到電腦21運作結束,例如電源關閉。 所以,基於流程圖的運作流程,不只儲存於啟動唯 讀記憶體2的解密程式的安全措施,而且也有執行解密 之使用者程式碼的安全檢查。這使得可以建置更健全的 程式干擾偵測功能於保護位於電腦21的程式。 (第二實施例) 第6圖顯示根據本發明的第二個實施例的程式干擾 偵測裝置在電腦21中的配置方塊圖。相似於第一實施 例,本實施例的程式干擾偵測裝置,適合使用電腦來執 行電性控制的任何產品或裝置。相似於第一實施例,此 產品具有電腦21用於在產品連接於資通訊網路的情況。 _ 特別地’以付費廣播系統的接收器2 0作為這樣產品的例 子,付費廣播系統的接收器容易有電腦程式干擾的問題 產生。 參考第6圖,根據本發明第二實施例的程式干擾偵 測裝置包括一 LS111,一可程式外部唯讀記憶體4,和隨 機存取記憶體5。LSI11包括一啟動唯讀記憶體2,一中 央處理單元3,以及一内部匯流排6。相似於LSI 1,LSI 11 是一積體電路配置於一單晶片,所以省略對在LS 111上 2139-6799-PF 21 1293226 的啟動唯讀記憶體2和中央處理單元3的描述,此外, 本實施例的可程式外部唯讀記憶體4和隨機存取記憶體5 • 是和第一實施例的相似。所以,也省略本實施例的可程 . 式外部唯讀記憶體4和隨機存取記憶體5的描述。 設備ID資料儲存部分1 2是一儲存區域,用以儲存 δ又備ID >料。设備ID負料指出分派給半導體設備的設 備ID,設備ID資料儲存部分12具有一註冊區(Register) 或一相等於註冊區的一資料儲存功能,並經由資料線13 • 連接至内部匯流排6。設備D是在設計階段就已設定好 的值,相同設計的半導體設備分配有相同的丨D。相同設 e十例不同衍生型的設備’每個會分配不同例獨一的I 〇。 第7A和7B圖顯示根據本發明的第二個實施例的流 程圖。參考第7A和7B圖,第二實施例中,步驟sl〇1到 S1 09和第一實施例中相對應的步驟實質上相同,所以, 下面的說明會針對步驟S201到S205。 在步驟S109中,在LSI11中的中央處理單元3藉由 _執行載入隨機存取記憶體5的使用者程式驅動接收器 20。在步驟S201,使用者程式開始執行,中央處理單元 3執行讀取動作從在Lsni上的設備iD資料儲存部分12 讀取設備ID資料。 在步驟S202中,因應於設備ID資料讀取動作結束, 中央處理單元3取得載入在隨機存取記憶體5的解密後 使用者程式中的設備檢查,使用者碼預先存有加密 之設備檢查ID,中央處理單元3可以藉由解密儲存在可
2139-6799-PF ⑧ 22 1293226 從使用者程式中 耘式外部唯讀記憶體4的使用者碼35 取得設備檢查ID。
柃杳^二驟S203中,中央處理單元3判斷所取得的設備 :查ID疋否和所讀取的設備lDf料一致。判斷的結果, 果所取得的設備檢查ID是否和所讀取的設備id資料 不一致,流程進到步驟S205並停止使用者程式的執行, 接著電腦21的中央處理單元3產生一程式停止訊息並輸 出到通Λ 面2 2。輸出的訊息接著經由網路2 3傳送到付 費廣播系統的控制裝置25。在步驟S2〇3中,判斷的結果, 如果所取得的設備檢查ID是否和所讀取的設備id^料 一致,流程走到步驟S2〇4。在步驟S204中,電腦21的 中央處理單元3執行載入於隨機存取記憶體5的使用者 程式,以控制接收器2 0運作。 如此’根據顯示在流程圖的運作流程,不只儲存於 啟動唯讀記憶體2的解密程式的安全措施,而且也有使 用從解密後使用者程式計算得到的安全檢查碼來完成的 • 干擾偵測。更進一步,藉由使用存在使用者程式中的設 備檢查ID和存在LSI11中的設備ID資料來執行安全檢 查,這使得可以建置更健全的功能以保護位於電腦21的 程式。 (第三實施例) 第8圖顯示根據本發明的第三個實施例的程式干擾 偵測裝置在電腦21中的配置方塊圖。相似於第一實施 例,本實施例的程式干擾偵測裝置,適合使用電腦來執 2139-6799-PF 23 1293226 行電性控制的任何產品或裝置。相似於第一實施例,此 產品具有電腦2 1用於在產品連接於資通訊網路的情況。 • 特別地’以付費廣播系統的接收器20作為這樣產品的例 • 子’付費廣播系統的接收器容易有電腦程式干擾的問題 產生。 參考第8圖,根據本發明第三實施例的程式干擾偵 測裝置包括一 LS11 4, 一可程式外部唯讀記憶體4,和隨 機存取記憶體5。LS11 4包括一啟動唯讀記憶體2,一中 _ 央處理單元3,以及一内部匯流排6。相似於LS 11,LS 114 是一積體電路配置於一單晶片,在LSI14上的中央處理 單元3配置相等於第一實施例中的中央處理單元3,所以 省略對中央處理單元3的描述;此外,在第8圖中,本 實施例的可程式外部唯讀記憶體4和隨機存取記憶體5 是和第一實施例的相似。所以,也省略本實施例的可程 式外部唯讀記憶體4和隨機存取記憶體5的描述。 啟動唯讀記憶體2具有複數個區域,例如第一區域 鲁2a、第二區域2b、第三區域2c··.等等,每個區域儲存相 似於在LSI 1的啟動唯讀記憶體2的資料,此外,該等複 數個區域可由5又δ十改變而自由地增加或減少。註冊區 (Register) 1 5是在LS 114上的一儲存電路,註冊區15儲 存之貝料,是用以選擇在啟動唯讀記憶體2上複數個區 域之’在冊區1 5經由資料線i 6連接至内部匯流排6。 啟動唯讀記憶體2具有複數個解密程式,每個解密程式 是儲存在相對應的區域中,例如第一區@ 2a、第二區域
2139-6799-PF 24 • 1293226
2b、第三區域2c···等蓉。畚彻紐& 寺母個解费程式的加密機制不同。 區域對應的解密程式是1對〗 、疋1對1的關係。使用者程式是由 相對應於複數個解_ @ 4 i ^ μ料辣式的加密機制加密為使用者碼 3 5 ’使用者碼3 5儲存於可鞀彳&也^ & 士 于歹、J程式外部唯讀記憶體4中。 此外,一特定外部終端 之設備上,以從複數個區域 加密機制。在啟動或重設時 疋外部終端機的資料或信號 體設備,來決定註冊區i 5 的資料。 機較佳地提供至例如LSI14 中選擇特定一個區域並決定 ’設備基於從外部提供到特 ’例如重設信號或另一記憶 ,並從註冊區1 5讀取所儲存 第9圖暴員示根據本發明的第三個實施例的流程圖。 >考第9目’步驟sl〇2到sl〇g和第一實施例中相對應 、v驟實質上相同,所以,下面的說明會針對步驟Μ⑽ 在步驟S301中,因應於接收器2〇的開始執行,中 央處理單元3由儲存在LSI14上的啟動唯讀記憶體4上 、中:處理單兀啟動程式來啟動。在啟動後緊接著中央 處理早兀3經由内部匯流排6存取註冊區】5。 、在=騍S302中,中央處理單元3執行一讀取動作, 《、疋外#終鈿機所提供用於啟動的資料讀取儲存於 註冊區 1^;# ' a的值◊在步驟S303中,基於所讀取的註冊區 5的值,中央處理單元3從啟動唯讀記憶體2的複數個
區域中決& ^,U 一 口 、、弋—區域,例如第一區域2a、第二區域2b、第 一區域2C···等等,從其上讀出解密程式。啟動的中央處
2139-6799-PF ⑧ 25 ^293226 理單元3經由内部匯流排6存取所選定的區域,讀出並 執行儲存在啟動唯讀記憶體2上的解密程式。此後,流 程進到第一實區例令的步驟到S〗09,或步驟su〇。 根據顯示在流程圖的運作流程,儲存在外部唯讀記 4的加密使用者程式有複數個加密機制可以選擇。 此外’即使當儲存於可程式外部唯讀記憶體4的加密使 :者式已被分析’也很難和在啟動時選擇的加密機制
-致,結果就加強在電腦21中的程式的程式干擾伯測。 一步,不只儲存於啟動唯讀記憶體2的解密程式的 :全措施’而且也有使用從解密後使用者程式之碼的安 =檢查。這使得可以建置更健全程式干㈣測功能以保 濩位於電腦21的程式。 步,、有複數個儲存區域,產品可以選擇在 例如丨ς τ + 0 ^ ^ ^ 早一同型設備複數個加密機制,因此,即使
t複數個不同製造商的付費廣播接…0,每個具有電 t=同加密機制可以提供給製造商。雖然設備一樣, 疋製k商所使用的加密機制可以設定成與其它製造商 不同且獨_。所 同 斤乂’健全的安全機制可以提供給儲存在 可程式外部唯靖 I % ”貝A憶體4的各別使用者碼35 0 例可以彼此組合(除非有衝突) 然而,實施 在/、有加密電腦程式的設備中 露其中的加密機制到外面的效果, 防止裝置裡的資料外洩。 ,本發明具有不易茂 所以提供加強安全以
2139-6799-PF 26 1293226 更進一步,本發明提供即使加密機制外洩,也可以 防止加密電腦程式被干擾的效果,而更健全的安全體制 * 可以達成,而加強安全以防止裝置中資料外洩。 • 更進一步,本發明提供如果電腦程式干擾已發生, 偵測干擾的動作執行以防止電腦程式被持續執行而沒有 被發覺的效果。 雖然本發明已以較佳實施例揭露如上,然其並非用 以限定本發明’任何熟習此技藝者,在不脫離本發明之 •精神和範圍内,當可作些許之更動與潤飾,因此本發明 之保護範圍當視後附之申請專利範圍所界定者為準。 【圖式簡單說明】 第1圖顯示習知技術具有中央處理單元和唯讀記憶 體之配置的方塊圖。 第2圖顯示一系統配置的例子的方塊圖,其中根據 本發明之電腦21配置付費廣播系統接收器上。 第3圖顯示根據本發明的第一個實施例的程式干擾 φ债測裝置的電腦21配置方塊圖。 第4圖顯示可程式外部唯讀記憶體4的内部格式3〇 的圖。 第5圖顯示根據本發明的第一個實施例的流程圖。 第6圖顯示根據本發明的第二個實施例的程式干擾 债測裝置在電腦21中的配置方塊圖。 第7A和7β圖顯示根據本發明的第二個實施例的流 程圖。
2139-6799-PF 27 1293226 第8圖顯示根據本發明的第三個實施例的程式干擾 偵測裝置在電腦21中的配置方塊圖。 第9圖顯示根據本發明的第三個實施例的流程圖。 【主要元件符號說明】
1, 11, 14〜LSI 2〜啟動唯讀記憶體 2 a〜第一區域 2b〜第二區域 2 c〜第三區域 3〜中央處理單元 4〜外部唯讀記憶體 5〜隨機存取記憶體 6〜匯流排 7、8、9、10、13、16〜資料線 12〜設備 ID〜資料儲存部分 1 5〜註冊區 20〜接收器 21〜電腦 2 2〜通訊介面 2 3〜網路 24〜傳送裝置 25〜控制裝置 3 0〜内部格式 3卜頭偵測獨一碼 32〜使用者程式碼量資料 33〜隨機存取記憶體載入目標位址資料 34〜參考安全檢查碼 35〜使用者碼 2139-6799-PF 28 1293226
1 (Π〜快閃唯讀記憶體 101a〜一般區域 101b〜一次程式區域 102〜中央處理單元 1 0 3〜匯流 2139-6799-PF 29 ⑧
Claims (1)
1293226 第94103186號申請專利範圍修正本 十、申請專利範圍: 1 · 一種程式干擾偵測裝置 一 修正日期:95.10.30 一 ¥修(更)正替換買 ,包括: --- 一外部記憶體,儲在—筮 ^ U存弟一碼,用於程式干擾偵測; 以及-第-程式;其中,該第_程式是加密; 一啟動唯讀記憶體,儲存-第二程式,用以解密該 第一程式;以及 一中央處理單元,電性連接至該外部記憶體和該啟 動唯讀記憶體,
*其中,該中央處理單元藉由執行該第二程式解密該 第一程式,以取得該解密第一程式;以及 /中央處理I元基於該第一碼和執行一既定操作於 該解密第一程式的莖-派Μ 0弟一碼的一結果之比較,來偵測該第 一程式的干擾。 2· 士申明專利範圍第1項所述之該程式干擾偵測裝 置,進一步包括: 丨过微仔取記憶體
其中,该令央處理單元儲存該解密第一程式於該隨 機存取記憶體,從該隨機存取記憶體讀出該第二碼,以 及基於該比較偵測該第一程式的干擾。 3·如申請專利範圍第2項所述之該程式干擾偵測裝 置,、中口亥外口h己憶體具有一位址資料,以指出在該隨 機存取記憶體的一位址; 該中央處理單元基於 私式於違fee機存取記憶體 該位址資料,儲存該解密第— ’並基於該位址資料從該隨機 2139-6799-PF1 30 !293226 . 年月日修ί^τ 存取記憶體讀出該第二碼。 匕一一_ 置4二申請專利範圍第1項所述之該程式干物舉 、中該啟動唯讀記憶體具有一啟動程式;以及 該中央處理單元藉由執行該啟動程式來執行該第二 式’以取得該解密第一程式。 5. 如申請專利範圍第i項所述之該程式干擾_裝 置’其中有複數個該第二程式; 该等第二程式之一的一加密機制和該等第二程 另一的加密機制不同;以及 該中央處理單元選擇並執行該等第二程式之一。 6. 如申請專利範圍第5項所述之該程式干 置,更包括: 表 -第-記憶體部分’儲存—區域資料,讓該… :單元藉以選擇在該啟動唯讀記憶體中的複數個區域: 料選擇該等區 、八中"亥中央處理單元基於該區域資 域之该一區域;以及 域之 的忒等第二程式之一,以解密該第一程式,以 該中央處理單元藉由執行相對應於 一的該等第二—— 區 得該解密第一程式 偵測裝 7·如申請專利範圚笛 弟1項所述之該程式干擾 置,更包括: 指標,以指出該程式干 一第二記憶體部分,儲存一 擾偵測裝置; 2139-6799-PF1 31 1293226 95,10. 30 --> 年月曰修(更)正替H胃
以及 其中’該解密第一程式具有一指標確認資料; 该中央處理單元藉由檢查該指標確認資料與該襟 標’以"f貞測該第一程式的干擾。 8 ·如申請專利範圍第1項所述之該程式干擾偵測裝 置,其中該啟動唯讀記憶體具有一程式干擾通知程式;1 該中央處理單元產生一訊息,指出該第一程式的干 擾,並在因應該第一程式干擾偵測後,藉由執行該程式 干擾通知程式將該訊息經由一網路送至一既定位址的— • 設備上。 9·如申請專利範圍第丨項所述之該程式干擾偵剛裴 置,其中該中央處理單元和該啟動唯讀記憶體是配置於 一單半導體設備上;以及 、 該半導體設備是連接至該外部記憶體。 1 〇.如申請專利範圍第6項所述之該程式干擾伯測裝 置其中°亥中央處理單元、該啟動唯讀記憶體和該第— 記憶體部分配置於—單半導體設備上;以及 該半導體設備是連接至該外部記憶體。 ^如中請專利範圍第!項所述之該程式干㈣測裝 、、中’ t該中央處理單元未㈣到該第—程式 擾時’該中央處理單元執行該解密第—程式以解碼 —網路所接收的:㈣,並輸出該解碼資❹卜 ,-種電腦程式產品,用於程式干擾偵:裝二 中,該程式干擾偵測裝置包括: ,、 一外部記憶體,儲在一笙一 m 弟碼,用於程式干擾偵測; 2139-6799-PF1 32
1293226 以及:第-程式;其中,該第-程式是加密的; 一啟動唯讀記憶體,儲存一第二程式,用以解密該 第一程式;以及 中央處理單元’電性連接至該外部記憶體和該啟 動唯讀記憶體; 體 孩電細程式產品具體化(emb〇dy)於一電腦可讀媒 並匕各碼,當執打時會令一電腦執行下列: (a) 從該啟動唯讀記憶體讀出該第二程式; (b) 執行該第二程式以取得該解密第一程式;以及 一 (c)基於比較该第_碼和執行於該解密第一程式第 1之既疋刼作的一結果,偵測該第一程式的干擾。 α •士申明專利範圍第12項所述之該電腦程式產 二中忒私式干擾偵测裝置更包括一隨機存取記憶體; 該步驟(b )包括: (b 1)儲存該解宗篦_ 解名弟 ^式於該隨機存取記憶體;以 及 該步驟(c)包括: (cl)從该隨機存取記憶體讀出該第二碼。 14·如申請專利範圍第13項所述之該電腦程式產 品’其中該步驟(b)更包括: (b2)嗔取儲存在该外部記憶體的一位址資料,指出 在該隨機存取記憶體的一仅址; 該步驟(bl)包括: (b 1 2)基於该位址資料,儲存該解密第一程式於該隨 2139-6799-PF1 33 1293226 衡(更)正替換頁 機存取記憶體;以及 該步驟(cl)包括: (cl 2)基於該位址資料,從該隨機存取記憶體讀取該 第二碼。 1 5 ·如申明專利範圍第丨2項所述之該電腦程式產 品,其中該步驟(a)包括: (al)執行儲存在該啟動唯讀記憶體上的一啟動程
式,以啟動該中央處理單元 16·如申請專利範圍第 品,其中有複數個該第二程 複數個區域; 12項所述之該電腦程式產 式,該啟動唯讀記憶體具有 母個該等區域儲存相對應於該等 該等第二程式之一的一» . 加费機制和該等第二程式 另一的不同; 八 該步驟(a )包括:
的該等第二裎式之 以及
(a2)選擇該等區域之一 (a3)讀取相對應於該等 一;以及 第步驟(b)包括: (b3)執行從該等第二程式 武所讀取之该弟二程式。 17.如申請專利範圍第 品 上b項所述之该電腦程式 其中該程式干擾偵測裝置 見炅包括一第一纪憶體部分· 該步驟(a2)包括: (a21)讀取一區域資料 貝丁叶用以選擇該等區域之一,該 2139-6799-PF1 34 1293226 n 4ft 3 0 — .. : V. 區域資料儲存於該第一記憶體部分;以及…:::: (a22)基於該區域資料選擇該等區域之一。 . 18.如申請專利範圍第12項所述之該電腦程式產 .品,其中該程式干擾偵測裝置更包括一第二記憶體部分; 該步驟(C )包括: (c2)讀取一指標,以指出該程式干擾偵測裝置,該 指標儲存於該第二記憶體部分; (c3)從該解密第一程式得出一指標確認資料;以及 • (d4)藉由檢查該指標確認資料與該指標,偵測該第 一程式的干擾。 1 9 ·如申凊專利範圍第丨2項所述之該電腦程式產 品,更包括: 一程式干擾通 (d)躓取儲存於該啟動唯讀記憶體之 知程式;以及 — (e)產生一訊息,指出該第一程式的干擾,並因應於 該第一程式的干擾,藉由執行該程式干擾通知程式。: 由一網路輸出該訊息侧一既定位址的一設備。 工 及 2〇· —種程式干擾偵測方法,包括·· (a) 讀取一第二程式,用以解密; (b) 執行該第二程式,藉由解密一加密第一程弋、 取得一解密第一程式;以及 X ^ (c )基於在一既定第一碼和執行於該解密第—。、 的第二碼的一既定運算的一結果,偵測該第— %式 擾。 * 式的干 2139-6799-PF1 35 Ϊ293226 “ ㈣0.%(更)正&頁 20項所述之該程式干擾偵測 才曰出在一隨機存取記憶體的 21.如申請專利範圍第 方法,其中該步驟(b)包括 (b 1 )讀取一位址資料 一位址;
(b 2 )基於該位址資料 機存取記憶體;以及 該步驟(c ),包括: (c 1)基於該位址資料 第二碼。 儲存該解密第一程式於該隨 從该隨機存取記憶體讀取該 22·如申請專利範圍第2() 員所述之该程式干擾偵測 方法,其中該步驟(a)包括: ui)執行-啟動程式,以執行該第二程式。 2 3 ·如申請專利範圍第2 〇 ϋ項所述之該程式干擾偵測 方法,其中有複數個該第二程式; 式之 該等第二程式之一的—^ 加岔機制和該等第二 另一的不同; 該步驟(a )包括: (a2)選擇該等區域之一;以及 (a3)讀取該等第二程式 社八之一;以及 第步驟(b)包括: ⑻)執行從該等第二程式所讀取之該第二程式。 24.如申明專利範圍第23項所述之該程式干擾偵消 方法,其中該步驟該步驟(a3)包括·· (a31)讀取一區域資料,用以選擇該等區域之一;以 2139-6799-PF1 36 1293226 及 L—一— ⑽)基於該區域資科,選擇該等區域之一。 25·如申請專利範圍第μ ^ . , 員所述之該程式干擾價測 方法,其中該步驟(c)包括·· (c2)讀取一指標; (c 3 )從该解密第一程式得屮 一程式的干擾。 ““料與該指標,嫌第 2 6 ·如申請專利範圍第 方法,更包括: 2°項所述之該程式干擾侦測 (d )讀取一程式干擾 ,、 丁杈通知程式;以及 (e)產生一訊息,指出 該第-程式的干擾,藉由二二程式的干擾’並因應於 由-網路輸出該訊息侧 * X ^式干擾通知程式’經 27, 一種程式干擾偵:位址的- δ又備。 則裝置,包括: 一外部記憶體,其用μ 碼,以及被加密之第」輕式爾程式干胸用之第-一啟動唯讀記憶體, 第 .程式; 其用以儲存解密該第一程式之 一中央處理單元,复 啟動唯讀記憶體;以及、、性連接至該外部記憶體和該 一隨機存取記憶體; 其中,該外部記憮赞 以在該隨機存取記憶體'中二用以儲存位址指定資料’用 Υ _日疋及定址;以及 2139-6799-PF1 37 1293226 便)正替换頁 其中’該中央處理置 ^ L-------- 一 第 、 精由執行該第二程式解穷該 程式,以取得該解密第一程式· 山 其中,該中央處理單元 土於該位址指定資料決宗之 位址,將該解密第一程式锉六人 、十决疋之 位私式储存於該隨機存取記憶體; 其中,该中央處理星;甘 早兀基於該位址指定資 位址,從該隨機存取記憶體 、+天疋之 之第二碼或其他碼;以及 肝山罘私式 其中,該中央處理單元基於 ;瑪或其他碼之一既定操作的、:一碼,和執行於該第 式的干擾。 “作的-結果,㈣測該第一程 第一程 28. 一程式干㈣測方法,用以偵測加密之 式的干擾,包括: (a) 提供一外部記憶體,其用 之第-碼,以及被加密之第一程式;一存程式干擾偵測用 其用以儲存解密該第一程式之第^ 。啟動唯碩記憶體, 元’其電性連接至該外部記憶體和嗲:巾央處理單 一隨機存取記憶體;其中,泫 ^動唯讀記憶體; 址指定資料,用以在該隨機:取-位 以及 τ知疋及定址; (b) 從該外部記憶體讀取用以 ⑷執行該第二程式,藉由解密;::二程式; 解密第一程式丨以及 程式,以取得一 (d)基於該位址指定資料決定 一程式儲存於該隨機存取記憶體; 址,將該解密第 2139-6799-PP! 38 1293226 .翁㈣r.二—、… 年月.日修ί災.)n (e )基於該位址指定資料決定之位址,從該隨機存取 記憶體讀出儲存之該解密第一程式之第二碼或其他碼; 以及 (f )基於第一碼,和執行於該第二碼或其他碼之一既 定操作的一結果,來偵測該第一程式的干擾。
2139-6799-PF1 39
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004031272A JP4335707B2 (ja) | 2004-02-06 | 2004-02-06 | プログラム改竄検出装置、及びプログラム改竄検出プログラムおよびプログラム改竄検出方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200533148A TW200533148A (en) | 2005-10-01 |
TWI293226B true TWI293226B (en) | 2008-02-01 |
Family
ID=34373668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW094103186A TWI293226B (en) | 2004-02-06 | 2005-02-02 | Program tamper detecting apparatus, method for program tamper detection, and computer program product |
Country Status (6)
Country | Link |
---|---|
US (1) | US7853798B2 (zh) |
JP (1) | JP4335707B2 (zh) |
KR (1) | KR100879274B1 (zh) |
CN (1) | CN100361038C (zh) |
GB (1) | GB2410818B (zh) |
TW (1) | TWI293226B (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006041737A (ja) * | 2004-07-23 | 2006-02-09 | Toshiba Corp | コンテンツ利用方法及びプログラム |
US20110060922A1 (en) * | 2005-10-05 | 2011-03-10 | Takamitsu Sasaki | License management system |
US8127144B2 (en) | 2005-10-12 | 2012-02-28 | Panasonic Corporation | Program loader operable to verify if load-destination information has been tampered with, processor including the program loader, data processing device including the processor, promgram loading method, and integrated circuit |
JP4931542B2 (ja) * | 2005-10-12 | 2012-05-16 | パナソニック株式会社 | ロード先情報に対する改ざん検証機能を備えたプログラムローダ、プログラムローダを含むプロセッサ、プロセッサを含むデータ処理装置、プログラムロード方法、及び集積回路 |
JP4631658B2 (ja) | 2005-11-09 | 2011-02-16 | ソニー株式会社 | デジタル放送受信システム及びデジタル放送受信装置 |
EP1955542A1 (en) | 2005-11-29 | 2008-08-13 | Thomson Licensing | Method and apparatus for securing digital content |
JP5204997B2 (ja) * | 2007-06-22 | 2013-06-05 | 株式会社エルイーテック | 遊技機用チップ |
KR20090043823A (ko) * | 2007-10-30 | 2009-05-07 | 삼성전자주식회사 | 외부 공격을 감지할 수 있는 메모리 시스템 |
EP2259204A1 (en) | 2008-03-28 | 2010-12-08 | Panasonic Corporation | Software updating apparatus, software updating system, invalidation method, and invalidation program |
WO2009118800A1 (ja) * | 2008-03-28 | 2009-10-01 | パナソニック株式会社 | ソフトウェア更新装置、ソフトウェア更新システム、改ざん検証方法、及び改ざん検証プログラム |
JP5060372B2 (ja) * | 2008-04-10 | 2012-10-31 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
US10755287B2 (en) * | 2008-11-25 | 2020-08-25 | Microsoft Technology Licensing, Llc | Selecting between client-side and server-side market detection |
US9311487B2 (en) * | 2011-03-15 | 2016-04-12 | Panasonic Corporation | Tampering monitoring system, management device, protection control module, and detection module |
CN102262717B (zh) * | 2011-07-18 | 2014-05-07 | 百度在线网络技术(北京)有限公司 | 用于更改原始安装信息及检测安装信息的方法、装置及设备 |
JP5626603B2 (ja) * | 2012-07-30 | 2014-11-19 | 株式会社タツノ | 給油装置 |
US9288058B2 (en) * | 2013-09-03 | 2016-03-15 | Red Hat, Inc. | Executing compliance verification or remediation scripts |
US9519533B2 (en) * | 2015-01-28 | 2016-12-13 | Qualcomm Incorporated | Data flow tracking via memory monitoring |
CN106250194B (zh) * | 2016-08-08 | 2019-06-21 | 广州视源电子科技股份有限公司 | 程序文件安装方法和装置 |
JP6773000B2 (ja) * | 2017-10-26 | 2020-10-21 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、改ざん検出方法 |
US10699269B1 (en) * | 2019-05-24 | 2020-06-30 | Blockstack Pbc | System and method for smart contract publishing |
US11513815B1 (en) | 2019-05-24 | 2022-11-29 | Hiro Systems Pbc | Defining data storage within smart contracts |
US11657391B1 (en) | 2019-05-24 | 2023-05-23 | Hiro Systems Pbc | System and method for invoking smart contracts |
WO2021005691A1 (ja) * | 2019-07-08 | 2021-01-14 | 三菱電機株式会社 | 制御装置、プログラム監視方法及びプログラム |
JP7268529B2 (ja) * | 2019-08-07 | 2023-05-08 | 富士電機株式会社 | 電子機器 |
CN113094658A (zh) * | 2019-12-23 | 2021-07-09 | 广州市中兴电子衡器厂 | 一种电子秤身份识别系统 |
US11487441B2 (en) | 2020-04-29 | 2022-11-01 | Macronix International Co., Ltd. | Managing tamper detections in secure memory devices |
CN113987469B (zh) * | 2021-10-26 | 2022-07-29 | 山西大鲲智联科技有限公司 | 应用于车机系统的进程保护方法、装置、电子设备 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0668740B2 (ja) | 1983-04-11 | 1994-08-31 | 株式会社日立製作所 | デ−タ処理装置におけるデ−タの秘密保護装置 |
US5224160A (en) * | 1987-02-23 | 1993-06-29 | Siemens Nixdorf Informationssysteme Ag | Process for securing and for checking the integrity of the secured programs |
US5442645A (en) * | 1989-06-06 | 1995-08-15 | Bull Cp8 | Method for checking the integrity of a program or data, and apparatus for implementing this method |
JP2620020B2 (ja) | 1991-04-22 | 1997-06-11 | 株式会社エルイーテック | 遊技機用マイクロプロセッサー |
JPH05197633A (ja) | 1992-01-21 | 1993-08-06 | Nippon Steel Corp | 集積回路 |
JPH07295893A (ja) | 1994-04-28 | 1995-11-10 | Nec Corp | マイクロプロセッサのメモリ情報読込装置及び読込方法 |
JPH08305558A (ja) * | 1995-04-27 | 1996-11-22 | Casio Comput Co Ltd | 暗号化プログラム演算装置 |
JP4110298B2 (ja) | 1995-07-10 | 2008-07-02 | タイヨーエレック株式会社 | 遊技機 |
JP3627384B2 (ja) * | 1996-01-17 | 2005-03-09 | 富士ゼロックス株式会社 | ソフトウェアの保護機能付き情報処理装置及びソフトウェアの保護機能付き情報処理方法 |
JP3580333B2 (ja) | 1996-04-10 | 2004-10-20 | 日本電信電話株式会社 | 暗号認証機能の装備方法 |
JPH1040095A (ja) | 1996-07-26 | 1998-02-13 | L Ii Tec:Kk | プログラム実行メモリー内蔵のセキュリティチップ |
US5757919A (en) * | 1996-12-12 | 1998-05-26 | Intel Corporation | Cryptographically protected paging subsystem |
US6175924B1 (en) * | 1997-06-20 | 2001-01-16 | International Business Machines Corp. | Method and apparatus for protecting application data in secure storage areas |
JP2000059358A (ja) * | 1998-08-11 | 2000-02-25 | Mitsubishi Materials Corp | 情報改竄検知装置および改竄検知プログラムを記録したコンピュータ読み取り可能な記録媒体 |
EP0961193B1 (en) * | 1998-05-29 | 2010-09-01 | Texas Instruments Incorporated | Secure computing device |
TW518497B (en) * | 1999-03-30 | 2003-01-21 | Sony Corp | Information processing system |
JP2001175606A (ja) * | 1999-12-20 | 2001-06-29 | Sony Corp | データ処理装置、データ処理機器およびその方法 |
US7043641B1 (en) | 2000-03-08 | 2006-05-09 | Igt | Encryption in a secure computerized gaming system |
KR100348027B1 (ko) * | 2000-06-28 | 2002-08-07 | 류종렬 | 운영체제와 컴파일러가 연계된 프로그램 변경방지 시스템및 그 방법 |
JP2002014871A (ja) * | 2000-06-29 | 2002-01-18 | Fujitsu Ltd | コンテンツチェック方法、コンテンツ更新方法、および処理装置 |
KR20030050300A (ko) * | 2001-12-18 | 2003-06-25 | (주)쉘컴정보통신 | 공개키 기반 소프트웨어 암호화 기법을 이용한 컴퓨터변조 방지 방법 |
JP4224670B2 (ja) | 2001-12-20 | 2009-02-18 | 株式会社平和 | 遊技機用cpu及びromライター |
US7877607B2 (en) * | 2002-08-30 | 2011-01-25 | Hewlett-Packard Development Company, L.P. | Tamper-evident data management |
-
2004
- 2004-02-06 JP JP2004031272A patent/JP4335707B2/ja not_active Expired - Fee Related
-
2005
- 2005-02-02 TW TW094103186A patent/TWI293226B/zh not_active IP Right Cessation
- 2005-02-03 KR KR1020050010031A patent/KR100879274B1/ko active IP Right Grant
- 2005-02-04 US US11/050,425 patent/US7853798B2/en not_active Expired - Fee Related
- 2005-02-04 GB GB0502355A patent/GB2410818B/en not_active Expired - Fee Related
- 2005-02-06 CN CNB2005100078596A patent/CN100361038C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
TW200533148A (en) | 2005-10-01 |
JP4335707B2 (ja) | 2009-09-30 |
GB0502355D0 (en) | 2005-03-16 |
CN100361038C (zh) | 2008-01-09 |
US20050198521A1 (en) | 2005-09-08 |
GB2410818B (en) | 2006-09-06 |
CN1652057A (zh) | 2005-08-10 |
KR100879274B1 (ko) | 2009-01-19 |
GB2410818A (en) | 2005-08-10 |
KR20060030457A (ko) | 2006-04-10 |
US7853798B2 (en) | 2010-12-14 |
JP2005222418A (ja) | 2005-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI293226B (en) | Program tamper detecting apparatus, method for program tamper detection, and computer program product | |
US8769295B2 (en) | Computing system feature activation mechanism | |
US8650633B2 (en) | Integrated circuit for preventing chip swapping and/or device cloning in a host device | |
TWI277904B (en) | Method, recording medium and system for protecting information | |
US6223284B1 (en) | Method and apparatus for remote ROM flashing and security management for a computer system | |
KR101219819B1 (ko) | 디지털 어플리케이션을 라이센싱하기 위한 유연한 라이센싱 아키텍처 | |
US7761717B2 (en) | Memory device with data security in a processor | |
US8675868B1 (en) | Encrypting an address-dependent value along with code to prevent execution or use of moved code | |
RU2388051C2 (ru) | Случайный пароль, автоматически формируемый базовой системой ввода-вывода (bios) для защиты устройства хранения данных | |
US20080147555A1 (en) | System and Method for Using a Hypervisor to Control Access to a Rental Computer | |
US20040030907A1 (en) | Integrated circuit for digital rights management | |
US20090320145A1 (en) | Apparatus, method, and computer program for controlling use of a content | |
US20090285390A1 (en) | Integrated circuit with secured software image and method therefor | |
US20080098418A1 (en) | Electronic module for digital television receiver | |
US20080313471A1 (en) | Electronic system and digital right management methods thereof | |
US20080077420A1 (en) | System and Method for Securely Updating Remaining Time or Subscription Data for a Rental Computer | |
TW200820076A (en) | Portable mass storage with virtual machine activation | |
CN109117605A (zh) | 一种鉴权方法及其装置、设备和存储介质 | |
KR101266251B1 (ko) | 디지털 콘텐츠의 보안유지 방법 및 장치 | |
US20090018962A1 (en) | Method for activating application module | |
US7624442B2 (en) | Memory security device for flexible software environment | |
CN102985929A (zh) | 外部启动设备、外部启动程序、外部启动方法及网络通信系统 | |
TW201001168A (en) | Security system and method for code dump protection | |
WO2007094857A1 (en) | Method and apparatus for securing digital content | |
EP2369518A1 (en) | A system and a method for copy protecting a block of software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |