TWI225195B - System and method for guaranteeing software integrity via combined hardware and software authentication - Google Patents

System and method for guaranteeing software integrity via combined hardware and software authentication Download PDF

Info

Publication number
TWI225195B
TWI225195B TW092121018A TW92121018A TWI225195B TW I225195 B TWI225195 B TW I225195B TW 092121018 A TW092121018 A TW 092121018A TW 92121018 A TW92121018 A TW 92121018A TW I225195 B TWI225195 B TW I225195B
Authority
TW
Taiwan
Prior art keywords
value
message
scope
patent application
integer
Prior art date
Application number
TW092121018A
Other languages
English (en)
Other versions
TW200406667A (en
Inventor
Jeffrey Bruce Lotspiech
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of TW200406667A publication Critical patent/TW200406667A/zh
Application granted granted Critical
Publication of TWI225195B publication Critical patent/TWI225195B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Finance (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Accounting & Taxation (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Hardware Redundancy (AREA)

Description

1225195 玖、發明說明: 【發明所屬之技術領域】 本發明係關於軟體的篡改防護,更明確地說,係關於鑑 誠與驗證數位訊息,包括該領域中的軟體更新。本發明可 使用廣播加密分佈方案,其中各硬體實例的獨特新密鑰未 刀佈在對一分佈中心的任何傳輸中說明的任何該等密鑰 或’、彳使用者硪別貧料也未分佈。本發明對内容保護及數 位權利管理特別有用。 叹卞 【先前技術】 =為數位料技術及電腦網路的發展,因而為確保數位 内合:由授權接收者使用的努力也取得進展。為數位内容 貝^供安全之—方法為以加密形式分佈該資&,炊後以 密输的形式將必要的解密資訊僅分佈給合法使用者。不幸 的疋:粗心的合法使用者可能與未授權的接收者共享所八 鑰’因▲,曰益需要藉由要求接收硬體向屬於 用者的安全數位資訊的分佈者證實其身份而防I匿 =广者可能係安全數位資訊的原始銷售商,或為 痛處理各種安全工作(如計算及通信)的另—方。 :;,:發給一的美國專利第咖^ 種;f、、、死’其中「基本單元」々 硬體實例)製迕^一…: 使用者裝置的特定
處::Γ要使用套裝軟體時,該使用者的基本單= 產生-丨逍機數字並傳輸至該敕體製造 、P 係該特定基本單元之“、 1衣以產生一 厅咕求的敕體、可使用軟體的 S7〇^ 1225195 授權次數及該基本單元產生的隨機數之密碼函數的鑑識回 應值。然後,該製造商以電子方式將該鑑識回應值輸送至 該使用者之基本單元’後者使用同樣的密碼函數產生一檢 驗值。(RSA密碼函數係由Heilman使用,頒發等人的 美國專利4,405,829號說明了該函數,現經引用併入本文。) 备'遠檢驗值與琢鑑識回應值匹配,則該基本單元接受該鑑 識回應值為有效,並因此增加所輸送軟體可使用的次數。 該基本單兀使用一數位簽名及一製造商訊息的雜湊值確認 製造商的訊息。 數位發名已為熟悉技術人士所知,其對「該訊息是否真 男?」的問過產生一單一位元的是/否回答。雜湊值—般係 將數值從一大域映射至一較小範圍的數學函數的輸出值, 因其不可能計算出映射至任何預定輸出的任何輸入而係單 向的,因其不可能計算出映射至同一輸出的兩個不同輸入 而係典碰撞的。該等雜湊函數在本技術廣為人知。不幸的 是,由於所用的分佈方式或由於欄位中基本單元的絕對數 目,並非始終具有Heilman系統需要的雙向通信。而且, Heilman系統需要一授權及收費單元來維護用於根據基本 單兀的公用序號決定基本單元密碼密鑰的序號及密碼密鑰 的記憶體。 頒發給Graunke等人的美國專利6,1〇5,137號說明了一鑑 識及確認軟體模組真實性的類似系統。頒發給…^”等人的 美國專利6,138,236號擴展了該通用方法,以鑑識程式化於 一啟動PROM中的韌體,然後使用該可信任的程式碼鑑 87078 1225195 =續的程式碼―人的系統向-自擴取可執行分佈 田末附加了 —數位簽名,所分体的軟體係使用—已公伟的 公用RSA解密密輪解密。解密雜凑值的比較若成功,則視 ^自㈣可執行分佈樓案為安全的,且沒有意外或有意毁 相,右比較失敗,則拒絕並刪除該檔案。 、,域發給Shaw的美國專利6,341,373號說明了另一種安全 資料升級方法,其僅更換程式碼的選取部分。sh_還需要 用戶端裝皇在自-词服器接收更新前向該遠端词服器傳送 其自身的識別資訊。 頒發給共同„美时利5,343,527號、給 等人的WM82號、給Dwork等人的M38,3 j 6號及— 寺人申請的美时利序號㈣料人本文。 Moore教授的方法自一重複使用庫提供軟體組件的重複使 用程式,並表明該軟體組件是否真實、有效,戋是不已由 某些未授權實體篡改。—涛人教授的方法合程 式碼的一第-件與一不同程式碼而自程式碼的該第一件前 往程式碼的一第二件(如軟體更新)。各種程式碼係由軟體供 應商的專用密鑰簽名’並使用對應的公用密瑜確認為真實 的。 可防篡改的軟體越來越重要,因為電影、音樂、文字、 應用程式及資料庫正在以具有版權保護功㉟的數位形式發 仃。軟體盜版者可能試圖僅憑給在播放器硬體中使用的軟 體加補丁來破壞該等版權保護功能,即藉由向播放器提示 虛假的軟體升級使播放器允許存取所有内容,而不I是不
8707H 1225195 有正當授權。本行蓄Φ 曲, 勺大夕敛公司依靠數位簽名檢驗軟 目豆的真貫性。但是,這並非、 u 卫非女全万法,因為在播放器軟體 中加入-單—指令補丁即可使檢驗失效。 數位印係較數位装交 、— 4双名更好的此問題的解決方案。數位印 與數位簽名一樣難於偽造 ^ u疋,與數位簽名給予單一是/ 否輸出不同,其產生一狞;&立、 ^、 乂 任思序列κ,當且僅當所接收訊 心〈雜湊值與該印正確相關時民才是正確的。 _ 上述⑽1^等人的專利«中之一為另一專利的部分)說 明了以數位印為基礎的系絲,a 产、 ,、、、’无 ㊣搞取用於存取受保護資訊 所需之解密密鑰之後的邏輯 、, 、 、拜已么開時,用於保護數位資訊 ,並根據回應一使用者辦石民 宥紀馬而屋生的一授權號碼運作。該 使用者號碼獨特地識別,對 、 τ使用者很實貴,因此使用者不 會願意公開揭露。使用者跋 用#唬碼可包括***號碼、電話號 碼、中央處理單元的ID號踩十曰士丄 u馬或具有使用者身份敏感性的其 他號碼。因此,使用去石臟立h 、、、m不願思與他人共享密誠解密内容 ’以防止戌漏使用者號碼及, ’久各勿地識別不艮行為使用者。 軟體私式的雖湊值已證明彳彳% ^ 门你和々丨J好的「使用者號碼」。 對軟體程式的修改(如試圖擊畋 _、 M手汉内各保謾万案的駭客們的 "ί亍為)使其计鼻的雜凑值發味增/丨 、 肛匕生交化。因此,當成功擷取用於 内谷保遵方案的解密密餘郝福 千山山^亚|在證明軟體程式完好無捐、 未被修改時使用,即改善了内容保護。 、:般先前技術印之計算為:κ心'"“Μ,其"係 位凡知出序’ gl與82係儲存於所傳輸數位訊息本身的公用 號碼,h為訊息之雜凑值,a為數位印。Μ係實施計算時的 87078 1225195 公用模數,換言之,K為glh g/乘積除以Μ後的餘數。“通 常為一賢數,但並非必須是質數。輸出值κ係用於保證訊息 足真實性與整體性之比較的基礎,該訊息可包括軟體更新。
雖然本領域之先前技術說明了有價值之成果,但是,仍 需要進一步改善以滿足未滿足之需要。例如,決定是否允 许存取文保謾貧訊之κ值應如何避免欲盜版及其保護之資 讯的人的攻擊?若個別接收者的確認傳輸不可行’則接收 者執行的軟體如何才能合法地在領域中更新?在使用者裝 且上運仃I軟體的任何修改一般將使其雜湊值發生變化, 寸致k後所计异< Κ值錯誤。而更換使用者硬體一般不可行 。曰在的&:百萬使用者傳輸新裝置的密输也明顯有問題。 【發明内容】 因此’本發明之-目的係使個別使用者裝置能夠保證分 佈中心發送之數位訊息之真實性與整體性而無需自個別使 用者表i向孩分佈中心傳輸訊息。本發明對於内容保護及 數位權利管理特別有用’因為加密訊息之廣播分佈僅庠由 —組授權接收者使用。 由 。本發明之-相關目的為’個別使用者裝置儲存至少一對 ,佳獨特密碼gl“。使用者裝置組合由分佈中心制定的一 厂饭印&及具有引與g2的-公用模數Μ與-原始訊息雜湊值 算整數值Κ = g|h(> g/ m°d Μ,其對t各個別使用者 ^置最好侧特的。個別使用者裝置接收後續訊息並相同 二’,理各訊息’使用該原始數位印a、-新訊息雜湊值h、 祈繼識值s及該原始公用模數叫定新的整數值K,。該分 ^7078 稀:心計算S以滿足公式h() = s、d Pq,其中,h()係原始訊 恩雉凑值’ Pq係與訊息-起傳輸的模數,其中…係特 質數。 、 本發明之-相關目的為’該新訊息之正確雜凑“係特 广設計用作該分佈中心的公用RSA密鑰。新訊息之整數值 1叶异為& g/削'M ’其中X係等於sh _d pq的中間值。 高且僅當新的訊息未毁損並確實係源自分佈中心時 於原始整數值κ。 二 相信以下說明的本發明之具體實施例實現了上述目的。 【實施方式】 本發明使用硬體與軟體的組合 Μ 便個刎使用者裝置實施計 异以保證由分佈中心發送之數位 ★u Λ息的真貫性及整體性。 本务明播需個別使用者裝置向分体中心傳輸資料’特定士 《,包括任何獨特裝置識別資訊或密碼“㈣輸; 明對於内容保護及數位權利管理 -4- /t iA JL + 手^有用,.如軟體係完好 ^傳輸時傳輸僅允許正德取—整數值⑼内容保❹ 軟體最好依靠基於硬體的獨特及靜態值決定接收者”' 有榷存取保護内容,但是,僅〜 疋口 為完整之軟體程式的部分。或者, 式之部分或密碼密鑰 個別使用者裝置在防篡改硬 中彳'存至少兩個妨估 密碼g丨與g2。防篡改硬體可向杠、人 乂佳細特 括於(例如)在個人電腦中廣泛 訊息可能包括軟體更新及當與密碼決定之 炎執仃。 為宗# ^ if艘我士Ά如A . A <值、敬合時即 體程 1數值Κ可包括軟骨彳 87078 -10 - 1225195 使用的多媒體卡ψ。 ▲ g “中Creatlve Labs (R)及其它公司(例如, 々 0m#S0undBlaster (R)系列卡的說明)生 展的夕如水體卡在本技術中卢 笼 丁宁&為人知。或者,個別使用者裝 且可已括完整的安全钟赏玄 m 女王彳#系、规。祙用硬體/軟體組合方法解 決孩問題較理相,彳古付 t 仕宠 心· g丨;,、g2的獨特組合儲存於個別使用者 泉JL如PC聲頻卡中,仿σ 一一、 中仁疋,其中同一軟體如共同的聲頻卡
驅動程式可由耸$ ΓΠ K 4-L “夕不同卡執行。密碼值。與心可有效地當作 取知誠別特定使用者裝置硬體實例的裝置密鍮。 二::制定—數位印a及-公用模數Μ,然後由使用者 =7^、料置密瑜gl#g2及—原始訊息雜凑值h()組合,以 計鼻一整數值K。本發明可採用任何雜⑽算法,包括會施 各種模糊函數的演算法。由於a、_的獨特性,整數值 K最好對個別使用者裝置係獨特的,並由使用者裝置計算 為 Κ — gi g2d. mod Μ。 個別使用者裝置接收並處理後續訊息如τ:使用者裝置 叶异-訊息雜凑值h並確認與訊息—起發送的值s與⑽將 在下又說明)。使用者裝置使用該新的雜湊值h、S與㈧及現 有值gl、g2、a與Μ計算一新的整數值κ,如下:K,1|、;| _d Μ,其中xjmodpq。質數的選擇方法見下文。… 均非單獨傳輸。若訊息雜凑值h正確,則X = h|),所計赏的 整數值f等於預定整數值1<:。因此 S貝係饭為原始訊息值 °的加密密碼,該密碼基於新説息雜溱值《Pq。因為使用 者裝i需要K用於進-步的正確運作(例如,κ可能包括裝置 讀),當且僅當訊息的來源及内容正確時才會正確處理訊 ^7078 -11 - 1225195 新訊息的正確雜湊值h!係旨在當作分佈中心的公用r $ a 治、鑰,若有一 z使hiz = 1 mod Φ(ρς)則可確保此點,其中, Φ係尤拉函數,在此情形下,2則成為新 訊息的分佈中心專用RSA密鑰。為滿足該公式,匕與φ(ρη) 的最大公分母(greatest Common den〇minat〇r ; gcd)必須為】 參 即b們必須〉又有公因數。(p _ 1)與(q _ 1)均為偶數,因此若 h為偶數,則永遠也不能滿足該關係式,因此不存在z。因 此,必須採取步驟確保h !為奇數。確保匕為奇數的所有方法 均在本發明之範疇内。例如,可對新訊息做無關緊要的變 化,直到新訊息之雜湊值成為奇數,或可採用一慣例,當 雜凑值為偶數時始終對之加一或減一。或者,雜湊值的I 順序位元可為OR,d。再或者,可指定匕=2h| + 1,以確保 將hi強制為奇數。若hl為奇數,則最大公分母可能為卜但 需要測試以保證該條件。若最大公分母不是卜則分佈中心 僅直選取另一組質數]3與(1,然後嘗試模數网的另一值。在 RSA加密中選擇質數的通常做法如下:選擇一隨機質數p, ’然後測試2p,+ l是否也為質數,若是,則令ρ = 2ρ,+ ι。钬 在本發明中對q照此㈣。若按本方法行事,則奇數h| 压生大於丨的最大公分母的機會極小。 1在+考圖丨,其係根據本發明之一項較佳具體實施的新 ° ^^^-(distnbunon center; DC).M# 向至少-使用者裝置(user device; UD)分佈一新的訊息。 本發明範疇中包括所有分佈方法,包括但不限於透過—電 87078 -12 - 1225195 腦網路如網際網路下載、衛星及有線電視傳輸及電腦可讀 取媒體如磁片、⑶_RC)M&DVD_R〇M的實體分体。在步驟 102,分佈中心計算該新訊息的一雜湊值hl,並藉由實施: 述傳統步騾中的任一步驟強迫雜湊值為奇數。接著,在I 驟丨04 ’分佈中心選擇兩個質數,並計算①(⑽與乘積 pq。在步驟1G6 ’分保中心決^雜湊值是否具有 最大公分母i’即是否沒有公因數。該條件決定是祕從關 係式hIz = 1 mod Φ(Ρ^,以便新訊息之雜湊值h丨可成為分佈 中〜的公用RS A密鍮。若未滿足條件’分佈中心將在步驟 108選擇新的p與q值,然後返回至步驟1Q4 ,計算φ(ρςι)及模 數pq。若滿足條件,則分佈中心在步驟11〇繼續計算ζ值, 使zhi = 1 mod c^pq)。此計算係使用稱為廣義歐基理德演算 法的廣為人知的數學程序完成。分佈中心繼續在步驟丨1 2計 算s二h/ raod pq,其中h〇係原始訊息雜湊值,z係當作專用 RSA密鑰。只有分佈中心可計算2,因為只有分佈中心知道 (IHpq)。原始雜湊值hG與專用密鑰z的組合係當作驗證新訊息 (確涊整體性)的基礎,因為只有分佈中心可建立用於決定與 原始整數值K相匹配的新整數值K,的資料。接著,在步驟U4 ’分佈中心向新的訊息附加值3與pq。最後,在步驟〗〗6, 分佈中心傳送該新的訊息。 現在參考圖2,其係根據本發明之一項較佳具體實施的新 訊息鑑識與驗證方法圖。各使用者裝置(UD)係能夠實施涉 及保證分佈中心之新訊息的整體性的計算方法步驟的特別 硬體貫例。各使用者裝置在防篡改或完全安全的硬體上儲 87078 -13 - 1225195 存較佳獨特值g 1、g2與a。在步驟2 Ο 2 ’使用者裝置接收今佈 中心的新訊息。接著,在步驟204,使用者裝置使用與分佈 中心所用相同的雜湊演算法計算該新訊息之—測#雜务值 匕。在步驟206,如上所述’使用者裝置使用收到的5與叫值 、其自己的裝置值以與82、新訊息的雜湊值h、數位印3及模 數Μ繼續計算一新的整數值κ,。在步驟2〇8,該新的整數值 Κ’係用於進一步處理,如同其為κ 一樣。當然,若不等 ,試圖藉由修改訊息而獲得 故障而不是所需的有限行為 於I〈,進一步處理將失敗。因此 某些優勢的攻擊者將引起整個 修改。 ^ 4物品- ' 一機器《且# rlrr 7' rt> 八' 钱…且件_由數位處理裝置用於執行4 ϋ明足邏輯。本發明也可葬 Μ、 Τ猎由使數位處理裝置執行上述香 Θ万法步驟的一關鍵機器έ #余 -^ 戌^'且件Λ現。本發明還可由電腦寸 JL髀* :田作。t列Α細可執行指令而執行的電腦程式^ ,,. .....存A (例如)電腦的RAM中或電取 的硬碟機或光碟機中,戈兮筌扣八^ τ飞 帶、兩子咍」士 v r …寺扣々可儲存於DASD陣列、每 明的方法也可當作進r:: 貝料儲存裝置中。利 田作進仃電子商務的基礎。 雖然本發明係參考嗜 白,太、y^ 1 貫施例說明,但是,,、日戶
曰,本又所說明的裝置及構 疋L 本發明之料與原理。因此 丨出各種修改而不背_ 例性的,除所附申’上述具體實施例應僅視為箱 【圖式簡單說明】 見疋外,本發明不受限制< 幻()78 -14- 1225195 圖1其係根據本發明之一項較佳具體實施的新訊息產生 方法圖。 圖2其係根據本發明之一項較佳具體實施的新訊息鑑識 與驗證方法圖。 15 87078

Claims (1)

1225195 第092121018號專利申請案 鑛 ' ' 中文申請專利範圍替換本(93年9月) 拾、申請專利範圚·· 1 · 一種用於保證訊息整體性之系統,包括·· 一傳輸一訊息及至少一附帶值的分佈中心,·以及 —接收該傳輸並根據該傳輸及至少―儲存密碼值計 算-整數值K,的使用者裝置,其中κ,可選擇性地使該訊 息的進一步成功處理。 2·如申請專利範圍第!項之系統,其中,該等附帶值包括 一模數pq及一鑑識值s。 3·如申請專利範圍第2項之***,其中,該鍛識值s係一原 始雜湊值hG '該模數叫及一專用RSA密鑰z的加密形式 ’其中 s = h〇z mod pq。 4.如申請專利範圍第3項之系統,其中,該模數叫係兩個 質數P與q的一乘積,該等質數1)與9均未單獨包括於該傳 輸中。 5·如申請專利範圍第4項之系統,其中,該等質數?與(1係 由該分佈中心選取,使該所傳輸訊息的一乘積 (P-I)(q-1)與一奇數正確雜湊值hl具有不是丨之一最大公 分母的可能性實質上為零,從而hiZ = 1 m〇d 〇(pq),其 中(D(pq) = (p- 1 )(q-1),且該正確雜湊值匕係對應於該專用 RSA密鑰z的一公用RSA密鑰。 6·如申請專利範圍第5項之系統,其中,該整數值κ,等於 gix g2a mod Μ,其中x = / m〇d M,h係由該使用者裝置 以與該正確雜湊值類似的方式計算的該訊息之一雜 凑值’ Μ係一公用模數,a係一儲存數位印且gl與§2係較 87078-930924.DOC 佳獨特儲存密碼值。 如申請專利範圍第6項之系統,其中,該整數值K,係當 且僅當孩雜湊值h匹配該正確雜湊值匕時促使進一步成 功處理孩訊息及保證該訊息的整體性所需要的一值。 如申請專利範圍第1項之系統,其中該訊息包括一軟體 程式。 9 其中該訊息包括一軟體 其中該訊息包括控制存 其中該訊息包括一軟體 如申清專利範圍第1項之系統 程式部分。 10·如申請專利範圍第丨項之系統 取受保護資訊的一軟體程式c u·如申請專利範圍第丨項之系統 程式部分,該整數似,包括另—㈣程式ϋ㈣I 及㈣數值Κ,-起包括―完整之㈣程式。 U·如申請專利範圍第1項 系、·死,其中該訊息包括意圖僅 由授權接收者使用的受保護資訊。 13.如申請專利範圍第12 ^ <系、祝’其中該受保護資訊包括 一又字檔案、一聲頻檔奢、、 次」 —視訊檔案、一應用程式及 一資料庫之至少一個。 Μ·如申請專利範圍第5項 分工—、 < 糸統,其中若其開始為偶數, 邊正確雜湊值h係由 4 , 敉疋万式強制為奇數。 其中該等密碼值係儲存 15·如申請專利範圍第丨項之系統 於一防篡改硬體中。 16·如申請專利範圍第丨 猫a击^ 统,其中該等密碼值包括一 預疋整數值K = glhG g a」 2 m〇 Μ,其中&係一數位印,μ 87078-930924.DOC -2- 1225195
係一公用模數且“與g2係較佳獨特密碼值。 17· —種用於保證訊息整體性之系統,包括: 一具有至少一儲存整數值相關於另一整數值h的使 用者裝置;以及 一傳輸一訊息及該另外整數值h〇之一加密的分体中 心,其中該加密使用基於該訊息之一雜湊值的一密鑰。 1 8·如申清專利範圍第1 7項之系統,其中該等儲存整數值係
數位印值,且該另外整數值h〇係一另外數位印使用者號 碼0 i 9 ·如申請專利範園第丨8項之系統,其中該等數位印允許計 算内容保護方案使用的值。 20.如申請專利範園第17項之***,其中該另外整數值^ 的該加密係-RSA加密,此外該分佈中心還傳輸一 rsa 模數pq。 統,其中該訊息包括一軟體 2 1 ·如申請專利範圍第丨7項之系 程式及相關聯的資料。 22. 一種用於保證訊息整體性之 可謂取媒體,有形地實施其 ν»亥等代碼構件包括: 電腦記錄媒體,包括一電腦 上的電腦可執行代碼構件,
第:二一傳輸-訊息及至少-附帶❹ 及 二代碼構件以及 根據該傳輸計算一整數值κ,的第 87078-930924.DOC
’其中K ’選擇性地促使進一步成功 至少一儲存密碼值 處理該訊息。 種用於保證訊息整體性之方法,包括: 與一加密整數值h〇—起傳輸一訊息,該加密整數值 係使用基於該訊息之雜湊值的一密鑰加密; 解密該加密整數值h〇 ; 使用該加密整數值hG及所儲存整數值以實施一整數 計算;以及
使用該整數計算的結果進一步處理。 24·如申請專利範圍第23項之方法,其中該加密係一 RSA加 被’且一RSA模數也被傳輸。 25·如申請專利範圍第23項之方法,其中該整數計算係一數 位印計算。 26. 如申請專利範圍第25項之方法,其中該數位印計算的結 果係用於一内容保護方案的值。
27. 如申睛專利範圍第23項之方法,其中該訊息包括一軟體 程式及相關聯的資料。 28· —種用於實施電子商務之方法,包括·· 自一分佈中心傳輸一訊息及至少一附帶值; 使用一使用者裝置接收該傳輸;以及 根據該傳輸及至少一儲存密碼值計算一整數值K,,其 中K’選擇性地促使進一步成功處理該訊息; 其中該進一步處理完成一電子商務交易。 29. —種用於保證訊息整體性之方法,包括·· 87078-930924.DOC -4- 自一分佈中心傳輸一訊息及至少一附帶值; 使用一使用者裝置接收該傳輸; 根據該傳輸及至少一儲存密碼值計算一整數值κ,,其 中Κ’選擇性地促使進一步成功處理該訊息。 30. 31. 32. 33. 34. 35. 如申請專利範圍第29項之方法,其中,該等附帶值包括 一模數pq及一鑑識值s。 如申請專利範圍第30項之方法’其中,該鑑識值8係_ 原始雜湊值h〇、該模數pq及一專用RSA密鑰Z的加密形 式’其中 s = h〇z mod pq。 如申請專利範圍第31項之方法,其中,該模數叫係兩個 負數?與q的一乘積,該等質數1)與(1均未單獨包括於該傳 輸中。 如申請專利範圍第32項之方法,其中,該等質數1)與(1 係由該分佈中心選取,使該所傳輸訊息的一乘積 (p-l)(q-l)與一奇數正確雜湊值、具有不是丨之一最大公 刀母的可月匕性貫g上為零,從而= ^ ❿(pq),其 中〇(pq) = (p-1 )(q-1),且該正確雜湊值h丨係對應於該專用 RSA密鑰z的一公用RSA密鑰。 '申請專利範圍第33項之方法,纟中,餘數值κ,等於 gi g2 mod Μ ’其中χ = sh m〇d叫,h係由該使用者裝置 以與該正確雜凑值hl類似的方式計算的該訊息之一雜 凑值’ Μ係-公用模數,㈣一儲存數位印且心與g〗係較 佳獨特儲存密碼值。 ,該整數值K’係當 如申請專利範圍第34項之方法,其中 87078-930924.DOC [年月 且僅當該雜湊值h匹配該正確雜湊值匕時促使進一步成 36. 37. 38. 39. 40. 41. 42. 43. 44 功處理該訊息及保證該訊息的整體性所需要的一值。 戈申叫專利範圍第29項之方法,其中該訊息包括一軟體 程式。 如申請專利範圍第29項之方法,其中該訊息包括—軟體 程式部分。 戈申μ專利範圍第29項之方法,其中該訊息包括控制存 取受保護資訊的一軟體程式。 ^申請專利範圍第29項之方法,其中該訊息包括—軟體 私式邵分,且該整數值Κ,包括另一軟體程式部分,該訊 息及該整數值κ,一起包括一完整之軟體程式。 Ρ 如申請專利範圍第29項之方法,其中該訊息包括意圖僅 由按權接收者使用的受保護資訊。 =申請專利範圍第40項之方法,其中該受保護資訊包括 -又字標案一聲頻㈣、—視訊樓案、—應用程式及 一資料庫之至少一個。 如申請專利範®㈣項之方法,其中若該正確雜凑叫 :始為偶數,該正確雜凑值Μ由就方式強制為奇 ’其中該等密碼值係儲存 如申請專利範圍第29項之方法 於一防篡改硬體中。 =請專利範圍第29項之方法,其中該等密碼值包括— :、疋整數值^,^。…其中“系—數位印^ 係-公用模數且g)與g 2係較佳獨特密碼值。 87078-930924.DOC
TW092121018A 2002-09-26 2003-07-31 System and method for guaranteeing software integrity via combined hardware and software authentication TWI225195B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/259,542 US7240200B2 (en) 2002-09-26 2002-09-26 System and method for guaranteeing software integrity via combined hardware and software authentication

Publications (2)

Publication Number Publication Date
TW200406667A TW200406667A (en) 2004-05-01
TWI225195B true TWI225195B (en) 2004-12-11

Family

ID=32029514

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092121018A TWI225195B (en) 2002-09-26 2003-07-31 System and method for guaranteeing software integrity via combined hardware and software authentication

Country Status (10)

Country Link
US (3) US7240200B2 (zh)
EP (1) EP1547305B1 (zh)
JP (1) JP4793843B2 (zh)
KR (1) KR100702499B1 (zh)
CN (1) CN1689269B (zh)
AT (1) ATE455409T1 (zh)
AU (1) AU2003264906A1 (zh)
DE (1) DE60330976D1 (zh)
TW (1) TWI225195B (zh)
WO (1) WO2004030269A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI550429B (zh) * 2010-12-14 2016-09-21 微軟技術授權有限責任公司 使用數位執照之軟體啟動

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293109A (ja) * 2004-03-31 2005-10-20 Canon Inc ソフトウェア実行管理装置、ソフトウェア実行管理方法、及び制御プログラム
US8312431B1 (en) * 2004-09-17 2012-11-13 Oracle America, Inc. System and computer readable medium for verifying access to signed ELF objects
KR100711722B1 (ko) * 2005-10-04 2007-04-25 엘지전자 주식회사 이동통신 단말기의 소프트웨어 인증 장치 및 그 방법
US7389426B2 (en) * 2005-11-29 2008-06-17 Research In Motion Limited Mobile software terminal identifier
US7571377B2 (en) * 2005-12-22 2009-08-04 International Business Machines Corporation Method and apparatus for transmitting data in an integrated circuit
EP2041656A2 (en) * 2006-07-13 2009-04-01 Nxp B.V. Secure upgrade of a mobile device with an individual upgrade software over the air
DE102007056662A1 (de) * 2007-11-24 2009-05-28 Bayerische Motoren Werke Aktiengesellschaft System zur Freischaltung der Funktionalität einer Ablaufsteuerung, die in einem Steuergerät eines Kraftfahrzeugs gespeichert ist
JP4998314B2 (ja) * 2008-02-19 2012-08-15 コニカミノルタホールディングス株式会社 通信制御方法および通信制御プログラム
US8600896B2 (en) * 2008-03-28 2013-12-03 Panasonic Corporation Software updating apparatus, software updating system, invalidation method, and invalidation program
US8464347B2 (en) * 2008-03-28 2013-06-11 Panasonic Corporation Software updating apparatus, software updating system, alteration verification method and alteration verification program
US8108928B2 (en) 2008-06-20 2012-01-31 International Business Machines Corporation Adaptive traitor tracing
US8949797B2 (en) 2010-04-16 2015-02-03 International Business Machines Corporation Optimizing performance of integrity monitoring
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US8904189B1 (en) * 2010-07-15 2014-12-02 The Research Foundation For The State University Of New York System and method for validating program execution at run-time using control flow signatures
TWI480735B (zh) * 2012-02-14 2015-04-11 Nuvoton Technology Corp 具有防複製功能的微處理器晶片及其晶片燒錄系統與電子裝置
US9063721B2 (en) 2012-09-14 2015-06-23 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
CN104217141B (zh) * 2014-09-04 2017-02-15 东莞理工学院 一种增强的虚拟仪器测量软件计量支持方法及装置
WO2016051591A1 (ja) * 2014-10-03 2016-04-07 株式会社 東芝 再暗号化鍵生成装置、再暗号化装置、暗号化装置、復号装置及びプログラム
CA2874277C (en) * 2014-10-04 2015-08-18 2381371 Ontario Inc. Tamper-evident network messaging method and system, and device configured therefor
CN107249002B (zh) * 2017-07-20 2021-02-23 云南电网有限责任公司电力科学研究院 一种提高智能电能表安全性的方法、***及装置
CN108173653A (zh) * 2018-03-13 2018-06-15 江苏信源久安信息科技有限公司 通过标识密码算法生成具有生命周期密钥的方法
US11640475B1 (en) * 2019-11-26 2023-05-02 Gobeep, Inc. Systems and processes for providing secure client controlled and managed exchange of data between parties
CN111404952B (zh) * 2020-03-24 2022-06-14 中国南方电网有限责任公司 变电站数据加密传输方法、装置、计算机设备和存储介质
CN116522300B (zh) * 2023-07-04 2023-09-08 北京点聚信息技术有限公司 一种电子***智能管理***

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US4658093A (en) * 1983-07-11 1987-04-14 Hellman Martin E Software distribution system
US5266771A (en) * 1991-12-05 1993-11-30 Amf Irrevocable Trust Ornament having patterned ornamental indicia thereon, and method and apparatus for fabricating same
US5343527A (en) * 1993-10-27 1994-08-30 International Business Machines Corporation Hybrid encryption method and system for protecting reusable software components
JP2570136B2 (ja) * 1993-10-28 1997-01-08 日本電気株式会社 鍵生成装置
US5978482A (en) * 1995-08-21 1999-11-02 International Business Machines Corporation Method and system for protection of digital information
JPH09233068A (ja) * 1996-02-23 1997-09-05 Digital Vision Lab:Kk 電子認証システム
US6049671A (en) 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
US6138236A (en) * 1996-07-01 2000-10-24 Sun Microsystems, Inc. Method and apparatus for firmware authentication
US5919247A (en) * 1996-07-24 1999-07-06 Marimba, Inc. Method for the distribution of code and data updates
CN1197248A (zh) * 1996-09-25 1998-10-28 中国工商银行福建省分行 一种数字签名方法
US6381741B1 (en) * 1998-05-18 2002-04-30 Liberate Technologies Secure data downloading, recovery and upgrading
US6266771B1 (en) 1997-02-10 2001-07-24 The Regents Of The University Of California Probabilistic signature scheme
US6334189B1 (en) * 1997-12-05 2001-12-25 Jamama, Llc Use of pseudocode to protect software from unauthorized use
US6105137A (en) * 1998-07-02 2000-08-15 Intel Corporation Method and apparatus for integrity verification, authentication, and secure linkage of software modules
US6266429B1 (en) * 1998-09-23 2001-07-24 Philips Electronics North America Corporation Method for confirming the integrity of an image transmitted with a loss
US6389537B1 (en) 1999-04-23 2002-05-14 Intel Corporation Platform and method for assuring integrity of trusted agent communications
DE10008973B4 (de) 2000-02-25 2004-10-07 Bayerische Motoren Werke Ag Autorisierungsverfahren mit Zertifikat
KR100455566B1 (ko) 2000-06-30 2004-11-09 인터내셔널 비지네스 머신즈 코포레이션 코드 갱신을 위한 장치 및 방법
JP3725020B2 (ja) * 2000-11-22 2005-12-07 株式会社日立製作所 電子データの内容証明方法及びそのシステム
US20020083318A1 (en) * 2000-12-26 2002-06-27 Larose Gordon Edward Method and system for software integrity control using secure hardware assist

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI550429B (zh) * 2010-12-14 2016-09-21 微軟技術授權有限責任公司 使用數位執照之軟體啟動

Also Published As

Publication number Publication date
CN1689269A (zh) 2005-10-26
ATE455409T1 (de) 2010-01-15
US7734921B2 (en) 2010-06-08
KR100702499B1 (ko) 2007-04-02
JP4793843B2 (ja) 2011-10-12
EP1547305A2 (en) 2005-06-29
AU2003264906A1 (en) 2004-04-19
US20080215885A1 (en) 2008-09-04
US20080313460A1 (en) 2008-12-18
WO2004030269A3 (en) 2004-08-12
TW200406667A (en) 2004-05-01
EP1547305B1 (en) 2010-01-13
CN1689269B (zh) 2010-04-28
AU2003264906A8 (en) 2004-04-19
WO2004030269A2 (en) 2004-04-08
JP2006500843A (ja) 2006-01-05
US7240200B2 (en) 2007-07-03
US20040064695A1 (en) 2004-04-01
DE60330976D1 (de) 2010-03-04
KR20050056204A (ko) 2005-06-14
US7721098B2 (en) 2010-05-18

Similar Documents

Publication Publication Date Title
TWI225195B (en) System and method for guaranteeing software integrity via combined hardware and software authentication
US11842317B2 (en) Blockchain-based authentication and authorization
JP6370722B2 (ja) データセンタへのプラットフォームの内包検証
US8813181B2 (en) Electronic verification systems
US6047242A (en) Computer system for protecting software and a method for protecting software
KR100912276B1 (ko) 하드웨어 식별에 기초한 디지털권 관리 방법을 이용한 전자소프트웨어 배포 방법 및 시스템
KR20180137022A (ko) 분산 해시 테이블과 피어투피어 분산 원장을 사용하여 디지털 자산의 소유권을 검증하기 위한 방법 및 시스템
WO2002080448A1 (fr) Appareil de traitement de l'information
WO2002069557A1 (fr) Appareil et procede de traitement de donnees, et support de stockage
JP2009070397A (ja) 改竄防止ハードウェアを使用してコピー保護およびオンラインセキュリティを提供するための方法ならびにシステム
JP2007511810A (ja) 乱数関数を利用した実行証明
Frattolillo A buyer-friendly and mediated watermarking protocol for web context
Chernyi et al. Security of electronic digital signature in maritime industry
JP3784055B2 (ja) リストマッチング方法、ネットワークシステム、そのサーバ及び情報端末
JP2002132145A (ja) 認証方法、認証システム、記録媒体及び情報処理装置
JP2006195844A (ja) 最少トランザクションによる電子権利譲渡管理方法および権利譲渡処理装置、権利譲受装置権利譲渡管理装置、並びにそのプログラム
JPH1013402A (ja) 公開鍵暗号の秘密鍵管理方法および装置
Aboud An Efficient Software Anti-Piracy Scheme
JP2004104172A (ja) 電子署名の構造並びに署名付き情報の検証方法及びシステム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees