TW445402B - Secure processor with external memory using block chaining and block re-ordering - Google Patents

Secure processor with external memory using block chaining and block re-ordering Download PDF

Info

Publication number
TW445402B
TW445402B TW087116410A TW87116410A TW445402B TW 445402 B TW445402 B TW 445402B TW 087116410 A TW087116410 A TW 087116410A TW 87116410 A TW87116410 A TW 87116410A TW 445402 B TW445402 B TW 445402B
Authority
TW
Taiwan
Prior art keywords
block
program information
scope
circuit
patent application
Prior art date
Application number
TW087116410A
Other languages
English (en)
Inventor
Brant Candelore
Eric Sprunk
Original Assignee
Gen Instrument 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 Gen Instrument Corp filed Critical Gen Instrument Corp
Application granted granted Critical
Publication of TW445402B publication Critical patent/TW445402B/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • 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/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Description

'^ 45 4〇g _案號S7116410_年月日_修正 _ 五、發明說明(1) - 發明背景 本發明相關於一種在一安全電路及一外部儲存設備之間 有效且安全傳送程式資訊區塊之裝置。該程式資訊以區塊 鍊接方式傳輸以能有更好的加密、執行之隱藏、並減少辨 認資料之多餘負擔。 在一個具體實施例中,程式資訊被加密並可視需要於密 碼(c i p h e r)區塊鍊接内進行辨認。 在另一個具體實施例中,程式資訊被辨認並可視需要於 區塊鍊接内加密。區塊鍊接大大地減少了辨認資料之多餘 負擔。位址混雜亦可用於強化安全性。 在各鍊接内重排如區塊或位元組等各欄位,如同在整個-鍊接之間,更可用來提供進一步之安全性。 在另一個具體實施例中,程式資訊區塊提供給安全電路 來產生一鍵值。該鍵值可用來解密一資料傳輸。 此發明特別適於阻止軟體演算法之複製及反向工程,並 加強如付費電視節目混雜回復(d e s c r a m b 1 i n g)密碼術之應 用或其類似應用β 提供以下之定義: 安全電路: 一安全電路係一密碼積體電路(1C),無人能在其中,甚 至擁有者本身亦不能存取其内部匯流排、暫存器、及其它 含於此1C内之線路。此1C可存有重要鍵值、身份識別、及 其它責料1但該安全電路不必是一 I C之週圍 . (p e r i m e t e r )。它可以是一個人電腦(P C ),例如,於一網 路電腦上執行一自網路上共用儲存裝置取得之程式。該網
O:\55\55149.ptc 第6頁 ,’4 45 4 02 _案號 87116410_年月日__ 五、發明說明(2) - 路電腦可以存取一伺服器以即時(r e a 1 - t i m e )執行應用程 式。部份之該等應用程式與網路電腦一次通訊一些 (piece-meal)。該網路可允許多台電腦同時存取同一應用 程式。在一 P C内,擁有者可取得接收到之加密及/或辨認 及/或重排之程式資訊。此外,一安全電路可處理未加密 而有辨認之資料。 儲存裝置: 一儲存裝置係一分開之各種不同樣式之記憶體組件,例 如一 I C。然而,如上述之P C例,該儲存裝置可以是如同一 位於本地或遠端之硬碟之大量儲存裝置。若·位於遠端,資 料可在一如乙太網路(Ethernet-like)上之儲存裝置及安 , 全電路間傳輸,或是例如,依據I E E E 1 3 9 4標準傳輸。本 區域之存取儲存裝置,例如,可經由PC之ISA、VESA、或 P C I資料匯流排或甚至可經由一S C S I、序列、或平行介 面。該大量儲存裝置可經由其它網路電腦或安全電路來存 取。該儲存裝置亦可以是一J a z z ( T Μ )磁碟機、磁帶機、光 碟機、影音光碟機(DVD )、個人電腦記憶體介面卡 (P C MC I A )、智慧卡、或任何其它大量儲存裝置。 其有可能,例如,在網路電腦例子中,該唯讀之程式資 訊經由網路存取。在安全無虞可供外部儲存狀況下,可使 用一區域儲存裝置,例如,有讀/寫能力之記憶體。因 此,儲存裝置可以是各裝置種類之任意組合。並且,在網· 路儲存裝置之例中,該程式資訊可一次複製一些到一可與 動態記憶體同步之較高速區域記憶體内。 程式資訊:
O:\55\55149.ptc 第7頁 ί 4 4 5 4 Ο £號 87116410_年月日__ 五、發明說明¢3) - 程式資訊通常代表安全電路於執行一程式時所使用之任 何資訊。此可包括指令,例如以機器碼表示之作業碼 (op-codes),或虛擬碼或如Java(TM)之解譯碼。其亦可包 括查核表、儲存鍵、及如同運算中值及安全電路狀態之各 種暫存資料。 其甚至亦可包含用來加密/解密或確認/辨認區塊鍊接 内其餘程式資訊之部份或全部啟始向量及鍵值。這可讓相 同之向量或鍵值資訊在不同之鍵值下加密,使得各不同之 安全電路或選定之群組能存取到相同程式資訊,並導出或 給予不同之鍵值。 該資訊亦可包括鍵值資訊及資料,其與存在於儲存裝置 内區塊位元組、鍊接區塊、及鍊接之本質有關。此亦可包 含後續要細述之不同鍊接欄位或鍊接順序之排列次序資 訊。 散列(H a s h): 散列並不限定一單向功能。雖然一嚴格之單向功能係為 可能,該功能可在一密秘鍵值下反向,或是一捕捉 (trap-door) 單向功能,或是一非常簡單如同一X0R作業 之功能。 資料傳輸及密碼處理: '資料傳輸用於各類文字、訊息、影片、及聲音訊號。這 些包括但不限於來自於廣播及互動電視及收音機、程式指 引、新聞服務、及通訊頻道上相互訊息交通之文字、訊 息、影片、及聲音。該混雜資料傳輸可以不同方式送出, 例如,經由一廣播、衛星、電纜、電話、或其它連結,或
O:\55\55149.ptc 第8頁 4 4 5 4 Q 2 案號 87U6410_年月日__ 五、發明說明(4) - 自一可移動大量儲存媒介如一數位影碟、磁帶、光碟 (C D )、軟碟、或其它安全電路,並經由一混雜回復接收器 來接收,例如一視訊轉換器(s e t - 1; 〇 p b ο X )解碼器、播放 機或一客戶家裡之個人電腦。 該資料傳輸可以只是簡單地回應一要求。該要求使得安 全電路傳送該要求資訊與一些密碼處理以產生一輸出,其 確認該安全電路確實握有一些密秘或私密鍵(private keys)。 安全電路内部暫存器可以增加或減少。這些數值可以與 密秘或私密鍵一起運算出輸出值。該等要求及回應技術通 常用於在給予服務前先辨認一有效安全電路之存在。 密碼處理: 這是由一安全電路執行之處理,其通常導至一鍵值之產 生。該鍵值接著用於許多方面:一資料傳輸之混雜及回 復,一用戶或主機執行之身份確認等。安全電路並不必都 自行含有該鍵值。例如,其可為了確認之目的而自安全電 路送出。 現在討論先前技藝方案伴隨之不同問題。 問題:不同專屬演算法會被偷取 以大量經費經歷極大努力開發之軟體可輕易地自外部儲 存裝置複製。此問題因I n t e r n e t等允許快速及盜取碼 (p i r a t e d c o d e )遠距散佈之開放網路而惡化β 以通用處理器晶片速度之增加,以往在硬體上執行之多 工處理任務有著在軟體上執行之趨勢。該軟體經由使用分 開之記憶體組件及/或包含大量儲存裝置之儲存裝置來通
O:\55\55l49.ru 第9頁 445402 _案號 87116410_年月日__ 五、發明說明(5) - 訊。這會允許不同應用程式只要執行不同的軟體便能快速 重新規劃處理系統。但該趨勢受制於軟體能輕易被複製、 反組譯、反向工程、及接著被散佈之事實而奪去了開發者 及/或發明者此智慧財產之利益。 同時,以網路之速度及可靠度之增加,例如,乙太網路 從每秒1 0百萬位元(Μ B )到1 0 0百萬位元(Μ B )等,在網路上 即時執行軟體已為實際可行。所謂之網路電腦總會執行載 於網路伺服器.上最新一版之應用程式。任何存於該伺服器 之應用程式可被快速存取。但該伺服器易被某人下載並儲 存整個應用程式,因而奪去了服務提供者持續之收入□一 旦被下載,該軟體極易被他人所分享。 因此希望能使得軟體分析及反向工程,以及軟體被通用 處理器複製及再次使用變得更為困難。 問題:密碼鑰值產生器 密碼應用程式通常牽涉了依據密秘或私密鍵(p r i ν a t e key)產生/導出一鍵值。 —典型密碼鑰值產生器在資料傳輸上執行密碼處理。由 於需要阻礙非法人士(例如盜取者)取得資料之傳輸,混雜 資料傳輸日益重要。不論資料如何傳輸或運送,都加入了 密碼處理以確保資料提供者,例如混雜之送出者,獲得其 所傳送智慧財產之給付。在網路通訊之情況下,訊息被混 雜以確保訊息之私密性,並同時確認輸送者與接收者。其 可允許不得拒付(non-repudiation),以防止一接.收者之 後宣稱其未訂購該資料。由於其有著較之給付率,不得拒 付對於供應者很重要。沒有其他人有著與真正買者用來辨
O:\55\55149.ptc 第10頁 445402 _案號87116410_年月日__ 五、發明說明(6) - 認訊息所需之相同密碼鑰值。該資料傳輸經過密碼處理, 例如,在傳輸前經由一個或多個安全混雜鍵值來混雜。該 密碼處理資料傳輸被一密碼解碼器接收(混雜回復接收 器),如如一視訊轉換器(set-top box)解碼器、播放機或 一客戶家裡之個人電腦。 通常,如混雜回復接收器之密碼處理是在一安全電路内 完成。該安全電路在製造時或應用程式安裝及啟始時便提 供所需鍵值,.並執行一種處理以允許取得資料傳輸。若允 許其取得,則導出解密鍵值。當解密鍵值用於相關硬體或 軟體解密模組時,該資料傳輸被回復,例如,可被觀看或 可適用於該使用者。 該混雜回復之硬體或軟體可包含於一例如一特定應用積 體電路(ASIC)之安全電路内。― 同樣地,混雜資訊傳送者,例如,一於某人住家之P C混 雜例如經由I n t e r n e t傳送給商家之信用卡號,使用該製造 時或應用程式安裝及啟始時便提供之所需鍵值,以導出一 混雜要傳輸之重要資料之鍵值。 在P C例中,混雜可於軟體模組内完成,但該混雜可能不 真正發生於所認為之安全電路内。二種情況下(混雜及混 雜回復)導出之鍵值可自安全電路輸出到硬體或軟體混雜 /混雜回復模組,或者其可握有安全電路内部之鍵值·'-與 解密模組一起内建於該安全電路内。最好是,該鍵值位於 内部且混雜/混雜回復亦於該安全電路内執行。. 若自安全電路輸出該鍵值,它可極快被改變,甚至一秒 數次,因此使其認知只被短暫使用。該硬體混雜/混雜回
O:\55\55149.pic 苐11頁 * '445402 _案號 87116410_年月日__ 五、發明說明(7) 復硬體或軟體模組可位於導出混雜/混雜回復資料傳輸鍵 值之安全電路遠端。 對於一在一網路上執行指令之PC,該安全電路可以是該 P C本身,且該回復單元可以只是一接收一長度及一於内部 或外部儲存裝置指標之軟體模組,其有著該適當之鍵值, 及密碼功能辨識身份。 在安全電路内由密碼處理執行之功能可需求訊息散列 (Ha sh )、簽章.、及使用公知散列演算法之簽名辨識及公鑰 密碼法。 在以上AS 1C及PC例令,通常使用一微處理器來架構存取 控制,執行散列,簽章確認,簽名及辨識功能。該處理確 認該安全電路確實被授權來對資料傳輸解密。若有授權, 該微處理器則導出資料傳輸之回復鍵。該安全電路通常有 一内部儲存裝置,例如,記憶體,來儲存混雜程式資訊以 供微處理器使用,供儲存回復鍵資料及解碼器狀態,及一 拍紙薄(s c r a t c h - p a d )記憶趙以儲存計算中資料及暫存資 料。回復接收器,例如解碼器,之狀態可指出,例如,該 解碼器是否調到一特定頻道及頻道識別器。回復接收器之 狀態亦可儲存其是否被授權來接收該頻道,及一調到之節 目有否,例如,被訂購、依次付費、或選定觀看 (v.i deo-on-demand ) ° 因此想要使得對於與内部記憶體一起之密碼鑰產生器之 盜用更為困難。 . 問題:使用内部R 0 Μ,及R A Μ容量之不可變動 對於一 AS I C,該I C使用來儲存程式資訊之内部記憶體可
O:\55\55149.ptc 第12頁 445402 __案號87116410__年月日_iiA__ 五、發明說明(8) 由唯讀記憶體(ROM)、一可拭可程式唯讀記憶體(EPROM)、 一電子式可拭可程式唯讀記憶體(E E P R 0 Μ )、快閃記憶體、 或一電池備援式隨機記憶體來產生。通常,以最小形狀及 最快線路製造ASICs之工廠程序最早是為了 ROM及RAM為基 礎之技術。稱後則發展出E P R 0 Μ及E E P R 0 Μ之能力。因此, 相較於其它技術之效率優點可由使用R 〇 Μ及R A Μ為基礎之技 術設計而獲得。同時,由於其設計較簡單,VLS I工廠以 ROM及RAM為基礎來製造裝置較以EPROM及EEPRO Μ來製造為 易。因此,設計者以ROM及RAM為基礎來設計可得到較低之 製造費用。 完全不使用電池備援式R AM來製造内部記憶體是不實際 Γ 的,因為一能讀寫資料之R A Μ儲存格,其包含不只一個閘 極(gates)且通常有著比一只能.讀資料之R〇m大的多之結 構。因此,該RAM記憶體比一相同實體大小之R〇M記憶體儲 存少的多之程式資訊。 然而,由於必需替換整個A S I C以改變程式資訊,儲存移 式資訊於内部ROM有些障礙。這可能是必需的或是想要 的’例如’更正一軟體問題(例如.,程式錯誤),或是提供 新的或客戶所要之特性給予不同客戶。要達到此,需製造 一有更動之程式資訊之新晶片。這可能會非常昂貴且費 時。 同時’不管在安全電路内建入多少任何形態之儲存體’ 例如’一 AS I C,對於任何給定之應用程式其可能貪太多或 太少°若儲存體多於所需,安全電路之價格會大於所需。 若儲存體小於所需,其或者不能適於完成任務,或是必需
O:\55\55149.ptc
第13頁 4 45 402 _案號87116410_年月曰__ 五、發明說明¢9) 省略掉一些功能來讓軟體能放入。儲存體大小很少能正好 剛好的。 因此,想要能夠提供一種能調整儲存體裝置容量的方 案,例如,記憶體容量,以及能容易且花費不高地修改一 例如一密碼晶片之安全電路之程式資訊。該系統應用儲存 程式資訊於一安全電路外部之儲存裝置並提供儲存裝置與 安全電路間有效率且安全之程式資訊傳輸。此程式資訊傳 輸應夠快,甚至在一網路上,以達到程式執行要求。另 外,内部儲存體之容量,例如安全電路運作所需之記憶體 應受到限制。該系統可使用一限量之可啟動安全電路、監 看錯誤情況、解譯虛擬碼、或處理即時處理事件之快速存" 取之内部程式資訊。不論如何,此内部程式資訊,若儲存 於一不能改變格式,例如ROM或-唯讀CD-ROM内,其不能如 外部儲存程式資訊般容易地改變。 問題:保護外部儲存體-辨識之負擔 在過去,不同加密技術已被用在位元組及區塊上。但盜 取者已發展出許多''攻擊”來破解系统安全。一種攻擊嘗試 取得安全電路以讀取加密記憶體並將其寫出到一可捉取程 式資訊並分析之空曠區域。一該種型態之攻擊本身實際使 用解密電路對程式資訊解密而排除更大量分析之需求。 另一種攻擊嘗試破解應用系統本身之安全,經由改變應 用程式之執行以造出安全電路,在此事例中,於回復接收 器内,回復原來之服務而不必付出適當之訂購費用.。為完 成這些及其它攻擊,盜取者嘗試修改外部儲存裝置,例 如,記憶體,之内容。並且為了完成這些,一種使用之技 __ 1 11 1 11 O:\55\55149.ptc 第14頁 '4朽402 _案號87116410_年月日_ίΜ:_ 五、發明說明(10) 術為”試驗’',其中位於外部儲存裝置内之程式資訊被依嘗 試錯誤做法運作。該盜取者不知那一個或那些個密碼鑰值 被用來加密程式資訊,但嘗試操控外部儲存裝置内之程式 資訊直到獲得一有用之結果。 為防止這些及其它攻擊之成功,可以使用或者辨識,加 強加密,重排鍊接欄位,或以上之任何組合。 辨識可以用來確認程式資訊來源。在一使用辨識之系統 内,安全電路不會處理未伴隨正確辨識資料之程式資訊。 先前技藝之強力辨識極昂貴。然而,辨識資料之多寡必需 足以提供一恰當之安全層級。在傳統之記憶體加密方案使 用位元組加密或區塊加密,晶片自外部儲存裝置取得之各 個位元組或區塊會需要辨識資訊。對一單一程式資訊位元 組,會需要許多辨識資訊以防止被嘗試(t r i a 1 i n g )。換句 話說,需要加大該位元組來包括額外之辨識資訊。若一程 式資訊之8位元位元組被加大來包括8個額外位元之辨識資 訊,該辨識資訊可容易地經由嘗試而決定,以每位元組8 位元計,只有28 = 2 5 6個可能之嘗試組合。為了提供一合於 資料加密標準(DES )之安全層級,可使用5 6位元(7位元組) 可用來提供256 = 7. 2 X 1 016 個可能之辨識資訊组合。該 辨識資訊會代表全部儲存體之(7/(1 + 7))或87%。這種數量 之多餘負擔會非常沒效率。 依區塊加密,許多資料位元組於區塊内聚集並辨識。例 如,可使用一 8資料位元組大小之區塊。接著,以8位元組 之辨識資訊,全部儲存體之(7/(7+8))或47%之負擔仍然極 高。只為了處理辨識資訊而要求極大的儲存裝置,這些遞
O:\55\55149.rtc 第15頁 '44540^ 87116410 年月日 修正 五、發明說明(11) 度之負擔資料會嚴重的影響到系統之整體費用。這在例如 手執遊戲機、行動電話、及電視解碼器等必需以最低可能 費用來製造之消費者電子裝置上是不能被接受的。特別 是,儲存裝置之價格通常是一重要之限制因素。所以,以 目前資料辨識方案之辨識資訊負擔量是不能被接受的。 所以,希望有一系統將保持通訊程式安全之辨識資訊 (例如,檢查位元)負擔量減到最低。 問題:不當之.程式資訊加密 嘗試攻擊一程式資訊單一加密位元之執行是瑣細的。再 次假設一 8位元之位元組,這只需對程式資訊做28 = 2 5 6個 可能之嘗試以得到正確之結果。然而對於一些盜取之攻 擊,只要能對程式資訊做出更動便算達到其目的。在此例 中,只要有能力去試單一位元組值而不影響其它位元組將 會達到一成功之盜取攻擊° 嘗試攻擊一程式資訊單一密碼文字區塊則有些困難但仍 是可做得到。大的通用精簡指令集計算(R I SC)處理器,例 如,有6 4位元長度之指令。假設8位元組區塊且每位元組8 位元,對一盜取者言,更動一區塊程式資訊並只影響單一 指令相對容易。 就算對於一半長度大小的指令,例如,3 2位元,只影響 到二個指令。所謂複雜指令集計算(C I S C )處理器有同樣 被攻擊之危險。但是被稱為8位元處理器之C I SC 處理器並 不真是8位元,這是由於其通常要求一個、二個、.或三個 構成任何介於8到3 2位元間指令_之程式資訊之運算元,指 令大小平均約2 0位元,但這依該程式所選用之指令而定。
O:\55\i5149.pic 第16頁 ^ 45 4 〇2 _案號 87116410_年月日_ί±^._ 五、發明說明(12) 因此,嘗試一所謂"8位元”之加密值8位元組區塊可能只影 響3個指令。 所以,希望能有一更好之加密演算法以保護通訊程式資 訊。 問題:執行,甚至加密,可被看到 雖然程式資訊區塊可被加密或設定辨識,某些在通訊設 備上,例如匯流排或網路上,觀看資料傳輸之人可學習到 程式資訊之功.能及設計。盜取者學習到越多程式資訊,其 便可有更多方法更動程式之執行。如快取(cache)之内部 儲存電路可經由自内部儲存電路參考加密、加密及辨識、 或只辨識之資料來隱藏部份功能及設計,而不必再一次自卩 外部取得程式資訊。 然而,由於原始之首先將程式資訊載入快取之通訊順序 可能被查知,而浮現出問題。由於循環碼,例如,迴圈, 可在外部介面上被查看,一個沒有快取之系統更易被分 析。其易被看到一再傳輸之相同的加密、加密及辨識、或 只辨識之資料程式資訊。利用到快取之内部通訊且不被通 訊設備看見,一快取會混雜該作業。然而,一智慧型盜取 者可能注意到沒有外部通訊發生而得到有某些内部作業發 生。原則上,不想讓一盜取者得知任何與執行演算法相關 資訊。此包括整體架構,例如位元組到區塊、區塊到鍊接 或鍊接到程式資訊相關順序,例如在啟動時都會執行之特 定程式之處理順序,及例如資料表組織之程式資m組織。 因此想要有一技術來隱藏加密、加辨識、或任何程式資 訊鍊接之執行。想要依一種方式來傳輸程式資訊,其經由
0:\55\55149.ptc 第17頁 修正 87116410 年 五、發明說明(13) 安全電路將真正執行順序打散。該順序可隱藏於一區塊、 鍊接、或程式資訊順序。 亦即,想要隱藏構成一區塊之位元組順序,該區塊構成 一鍊接,且該鍊接構成一程式資訊順序。此順序之排列可 被固定然而可依每一位元組接位元組、區塊接區塊、鍊接 對鍊接、或程式資訊順序為單位來做排列。希望將順序分 散到更大之深度,亦即,大於區塊,例如,二個區塊或一 整個鍊接。對所有其它攔位亦同樣。 問題:順序排列演算法會被發現 任何實行於硬體上之順序排列演算法可被一盜取者以探 測V L S I或其它分析法來發現。排列功能可有加密鍵且與位 址及單元相關。然而,此並不能排除一有心之盜取者發現 加密鍵及其相關性。 - 因而也希望能有一種方法來讓順序排列分析及反向工程 更為困難。 問題:基本順序不會改變-位址總是相同 就算將順序排列,一盜取者可查看到儲存裝置間之所有 通訊並知道那一個位元組屬於那一區塊,及那些區塊屬於 那些鍊接。亦即,儲存裝置内之一特定位址位置與一特定 位元組、區塊、或鍊接順序相關。該位址位置總是包括相 同資訊。由於順序隱藏,盜取者可能不知道精確的位置資 訊,但他知道其它相關固定之位元組、區塊或鍊接。盜取 者不需知道存於一特定位置之程式資訊值。盜取者可嘗試 一該位置之數值。就算儲存位置由於順序排列技術而在不 同時間存取,盜取者可以有系統地測過所有值。
0: \55\55149.ptc 第18頁 445402 案號 87116410 修正 五、發明說明(14) 因此希望能有一方 置,其中資料代表一 塊、或 問題: 一盜 密、加 為了 資料相 問題: 儲存 可以寫 置有著 現代 碼術要 行某些 有介面 (Root Author 取控制 由於網 這些錄 2 0 4 8 -例如, 關資訊 對於 鍊接順 各通訊 取者可 入辨識 額外之 通訊。 要求雙 裝置可 入。不 不同之 密碼應 求較大 型態之 ,其要 Author i t y ) 0 系統及 路上之 匙故意 4 0 9 6 位 可能需 以實行 許多專 序,以 均相關 查看所 、順序 隱藏, 向之言買 以是唯 同之密 需求。 用通常 之密鑰 密碼應 求儲存 i ty ) 1 同時, /或解 互動, 要其長 元,或 求大量 —可用 屬應用 案能動態改變儲存裝置内之位址 位於儲存裝置内之特定位元組、 防止某人有系統地測試程式碼。 有儲存裝置程式資訊並知道其被 排列或以上皆是。 希望將程式資訊與"傀儡”或不必 寫 讀,但有許多原因使得·儲存裝置 碼術及非加密而專屬應用對於儲 位 加 要之 採用公錄 。資料混 用,其與 一些公鑰 或證件授 與付費電 碼器製造 可能會需 久存在^ 是更大。 之讀/寫 之密碼應 此點亦為 密碼術, 雜傳送者 如同I n t e ,例如, # (Cert i 視解碼器 商之公鐵 要儲存更 並且,例 因此,一 其一般會比密 或回復接收者 r n e t之開放網 來自一根授權 亦應 存裝 錄密 可執 路可 f i c a t e 一起,有 。經過一 多公錄。 如,若公 大容量儲 儲存鑰值 著用以存 段時間, 一部份的 鑰可以是 存裝置, 及其它相 儲存體以 用。 相同。此趨勢為處理更多之
O:\55\55149.ptc 第19頁 445402 _案號87116410_年月日__ 五、發明說明(15) 資料。希望能有如同唯讀程式資訊般之大的彈性及種類及 儲存數量供寫入及稍後取出程式資訊之用。 因此,希望在外部儲存裝置及一安全電路間能有安全之 雙向通訊,其中並能彈性地達到增加額外程式資訊儲存量 而不必要求改變安全電路之設計。同時不能減少整體實行 之安全性。 問題:與不安全之外界通訊及替代安全模式 安全電路可能需與顯示裝置、週邊或電腦等沒有解碼工 具有著介面。這在牽涉到人為互動時有其重要性。例如, 若一客戶輸入一錯誤之個人識別碼(P I N ) 1安全電路可能 必需通知客戶此問題以能再次輸入P I N。這可能會要求與 主機裝置相通訊此一錯誤狀況或訊息以能適當地顯示在螢 幕上。用於外部通訊之p i n s,通訊璋,或匯流排可能會有 短缺。 執行某些程式資訊可能減少了延遲,需求一替代鍊接之 通訊模式。同時,安全電路可能需要與其它有著不同安全 方案之裝置交互作業。 同時希望能提供一條件明碼模式(c 1 e a r ra 〇 d e ),其可用 於未執行加密/解密,識別碼產生/確認,或程式資訊之 順序排列中。該條件明碼模式不只允許可能之晶片偵錯設 備、亦允許安全電路與外界整體,例如顯示裝置、其它電 腦、及其它類似者相交接、傳送及接收明碼資料,因而允 許該通訊工具不僅能用於程式資訊之傳輸。此會滅少用於 外部通訊之分開之p i n s、通訊淳、及匯流排之數目。 同時希望能開關該鍊接加密/解密,識別碼產生/確
0:\55\55149.pt c 第20頁 r4 45 4 0^ 號 87116410 年 修正 五、發明說明(16) 認,或程式資訊之順序排列,支持一不同種類不依據鍊接 之加密/解密,識別碼產生/確認,或程式資訊之順序排 列。例如,不使用鍊接,而可使用位元組或區塊處理。 問題:鍊接長度之偵測 一盜取者可能分析程式資訊之執行以決定那些程式資訊 屬於一特定鍊接。該知識可允許一盜取者依一更有選擇性 之方式來嘗試出程式資訊。原則上,防止一潛在盜取者知 道該程式資訊.如何執行之任何資訊是一不錯之點子。 因此希望能以隨機次序變動鍊接長度與程式資訊區塊自 一鍊接到次一鍊接之方式相通訊,而不給予·執行中之程式 資訊特別之考慮。 問題:不同之延遲 即時中斷副程式有著與背景程式或維護程式不同執行之 延遲。一設計者對所有程式資訊會有用較短鍊接之自然傾 向以簡單地處理即時中斷副程式所要之較快執行要求。但 減少對所有程式資訊鍊接之長度可能不必要地增加了儲存 裝置之儲存容量以配合識別資訊之增加量。 因此希望能以區塊鍊接來連通裎式資訊區塊及其相關之 識別資訊,其中可以使用不同長度之鍊接以連通有著不同 延遲之不同類之程式資訊。置於較低位址區域之程式有較 低之延遲,而那些位於一儲存裝置之較高位址區域者則有 較高之延遲。 問題:一般性通訊/儲存之延遲 雖然某些程式有著特定執行之延遲考量,對某些應用來 說,該延遲仍為太多。因此,必需開發工具來允許更有效
0:\55\55149.pt c 第21頁 445402 _案號 87116410_年月曰_ί±£-_ 五、發明說明(17) 率之通訊及程式資訊之儲存。 希望將某些特性設計入通訊架構及安全電路内以減少程 式資訊之延遲以有助於加速執行。 問題:識別/確認之延遲 雖然某些程式有著特定執行之延遲考量,對某些應用來 說,由於識別/確認所產生之延遲仍為太多。因此,必需 開發工具來允許更有效率之識別/確認。 希望將某些特性設計入識別/確認功能内以助於減少程 式資訊執行之延遲。 問題:加密/解密之延遲 雖然某些程式有著特定執行之延遲考量,對某些應用來 說,由於加密/解密所產生之延遲仍為太多。因此,必需 開發工具來允許更有效率之加密/解密° 希望將某些特性設計入加密/解密功能内以助於減少程 式資訊執行之延遲。 本發明提供一種有著以上及其它優點之系統。 發明概述 依據本發明,展示一種鞏固介於儲存裝置及一密碼區塊 鍊接内安全處理電路間之程式資訊密碼文字區塊通訊安全 之裝備。 展示一種介於儲存裝置及一鍊接安全處理電路間,能與 程式資訊識別區塊安全地通訊之裝備。 展示一種介於儲存裝置及一鍊接安全處理電路間,能與 程式資訊重排欄位安全地通訊之裝備。 本發明並提供一種產生密碼鑰之裝備,其中該鑰可用來
O:\55\55U9.pic 第22頁 ^ 4b 402 _案號 87116410_年月日__ 五、發明說明(18) 取得存取傳送資料或其類似。 於本發明之某一方面,一種在儲存裝置及安全電路間安 全地傳輸程式資訊區塊之裝備包括了至少提供一個程式資 訊區塊之工具,包括一含有第一個位元組順序之多個位元 組之特定區塊。 由於資料能依序一次處理一個區塊,一個足以儲存一個 區塊大小之區塊緩衝器只是最低的使用需求。 工具,例如.一位址產生器,被提供來儲存位於儲存裝置 内之程式資訊區塊。 由於一個區塊内之改變會引起其它區塊之改變而使得盜 取者對程式資訊做出簡單的更動變得困難,密碼區塊鍊接 是一個強化的加密演算法。 密碼區塊鍊接可用於散列及加密以提供私密性。最後一 個文字區塊可在加密識別區塊上做XOR運算(XORed)以提 供識別區塊解密上對整個密碼區塊鍊接之相依性。 例如,該程式資訊及識別資訊可載於二個或更多個8位 元組區塊内。由於相對於識別資料,識別資訊有著相對低 負載,區塊鍊接有其效率。該識別資訊與最後明碼資料 (例如,程式資訊)區塊做X 0 R運算並可視需要加密並產生 一確認值。該值與一硬體已知值相比較以確認該識別資料 為正確。對於不同之鍊接該值可能不同或者其可能對所有 之鍊接皆為固定值。要在安全鑰間提供額外之分離,用以 加密識別資訊之鑰可能不同於用以解密識別資訊冬鑰。同 時,各解密作業可修改鑰之位址以提供各鍊接内區塊之位 址相依性。
0: 55149. pic 第23頁 445402 _案號 87116410_年月曰__ 五、發明說明(19) 對於更強化之安全性,可將密碼文字區塊鍊接與其它散 列演算法一起使用。由於各區塊必需依次處理,此會有額 外延遲之不利。當第一個區塊解密時,其不只與第二個區 塊之加密文字做XO R運算,其同時提出予識別電路。最後 一個區塊為識別位元,且其不必提出予識別電路,其只要 解密並與硬體中之值相比較。 提供第一個通訊路徑,例如一匯流排,在外部儲存裝置 及鍊接内之一個或多個區塊緩衝器之間傳輸程式資訊及識 別資訊區塊。由於資料能依序一次處理一個區塊,一個足 以儲存一個區塊大小資料之區塊缓衝器只是最低的使用需 求。識別電路讀入識別資訊並確認之。 若有需要,將程式資訊於一與識別電路相關連之解密電 電路内解密。來自一相關儲存裝置之密碼鑰可用於此目 的。 若一盜取者改變鍊接内先前區塊之任何資料,與識別資 訊比較之算出之散列資料會不正確,且比較之結果值會不 合。該安全電路,例如一 ASIC或PC,會知道發生了霞改並 可採取對策。 有許多施行識別作業之方法。散列可加鑰,例如,與明 碼(i η - t h e - c 1 e a r )之識別資料使用一密秘錄,或散列可不 加’錄而對識別資料加密,或對更強化之安全,散列加鑰且 對識別資料加密。不同鑰值可用於散列及解密。散列鑰可 以是一密秘鑰,而識別資料可用一公鑰來加密。相同之鑰 可對要識別之程式資訊用來辨識之識別資訊加密。此有著 要處理之識別資訊與程式資訊形式相同之好處。然而,使
O:\55\55149.ptc 第24頁 4 4 5 4 QP 案號 87116410_年月日__ 五、發明說明(20) 用另一分開之鑰會增加另一安全層級。 在另一替代之具體實施例中,使用區塊加密來達到私密 性。當解密時,該區塊被辨識。所使用之辨識技術可以是 一要求嚴格規定散列順序之散列,例如區塊# 1散列,接著 以區塊# 1散列之輸出對區塊# 2散列,且如此接著下去。已 知之如M D 5及S Η A演算法可用於此種嚴格規定散列。 雖可使用該散列,此散列可引起由於其序列作業本性所 致之延遲。可提供一對所有明碼區塊執行X 0 R運算之簡化 散列功能。該散列值可被與識別資訊確認。事實上,該識 別資訊可依區塊與程式資訊做X 0 R運算。此技術改進了程 式資訊執行之延遲,其對即時作業系統極重要。在此,各 資料區塊不能只如同所謂F I PS之電子碼薄内各自解碼,而 在計算整個鍊接時亦得分別做X.0 R運算。此種技術,其稱 為"簡單區塊鍊接",強調減少執行之延遲。 偵測非法作業碼或非法解譯碼指令可用為一種識別之形 態。在接到一非法作業碼或指令時,該系統可決定要如何 回應,例如,重設歸零、增加一計數、或其它動作。 盜取者依靠一給定處理器之指令集來產生一非法作業 碼。某些指令集已充分開發而有較少,而其它指令集則較 精減而有較多未定義或非法作業碼。若一指令集,例如, 有2 0 %未定義或非法作業碼,則表示一盜取者有8 Q %的機會 隨機產生一合法作業碼。這並不是說該盜取者產生一特定 作業碍而非一合法碼。但一個不是想要的隨機合译作業碼 可導致一成功的盜取攻擊。例如,若其目的為要將原始作 業碼全變為零(n u 1 I i f i c a t i ο η ),則就可能是這種情況。
0:\55\55149.ptc 第25頁 445402 _案號 87116410_年月日__ 五、發明說明(21) 對盜取者有著8 0%的優勢機會,這種簡單偵測非法作業碼 之方法留下許多可改進的。 由於隨著特定鍊接内之各後續區塊會被感染,一盜取者 產生非法作業碼的機會亦增加,以密碼區塊鍊接之非法作 業瑪彳貞測可做為一種更有效率之識別方式。例如,一鍊接 内若有十六區塊之指令則若盜取者更動第一個鍊接區塊時 其成功的機率為:(.8 )16 = 0 . 0 2 8。情況已改變了 ,現在盜 取者約有9 7 %的失敗機會。針對此理由,密碼區塊鍊接為 一更健全之加密方法--此經由偵測非法作業碼暗藏了識 別作用。且由於其使得盜取者難以因為試出加密之程式資 訊而增加其產生不要之有副作用之作業碼,密碼區塊鍊接· 為一更好之方法來隱藏任何單一區塊之改變。 一個問題是外部儲存裝置不只儲存作業碼。只有作業碼 能被中央處理單元之指令解碼電路確認。更良好之安全性 需要直接之識別方式。 識別可經由將識別資訊與明碼文字資料區塊之散列做 X 0 R運算以產生一後續用於與預存值相比較之確認值,或 者可以只是將識別資訊與散列程式資訊相比較。 該識別功能可視需要將要在明碼區通訊與加密識別資訊 X 0 R之程式資訊區塊做成散列分佈。為了避免盜取者使用 一已知散列演算法來產生其自己之識別程式資訊,必須使 用一密碼鑰。此可依兩種方式實施--對散列加鑰或對識 別力σ錄,或都力σ錄。 . 簡單區塊鍊接,一種針對延遲之替代技術,程式資訊各 區塊使用一單一區塊加密。因此,各區塊各別加密及解密
O:\55\55149.ptc 第26頁 4 4 5 4 02 案號 87116410_年月曰__ 五、發明說明(22) 以讓程序能並行發生。並且,整個區塊之鍊接、或群組被 加上識別。一種散列之方法為將程式資訊區塊一起X 0 R並 與識別資訊一起。此可一次執行完畢。 對更良好的安全性可使用更複雜的散列,但這些方法可 能引入一系列之相依性,其中一個區塊可能需要在另一區 塊之前先行執行散列。簡單區塊鍊接,使用上述之加密及 識別程序,如同使用密碼區塊鍊接般減少了識別位元之負 擔,i可以避.免當使用平行解密電路時之密碼區塊鍊接之 延遲。若只使用一單一區塊緩衝器,則該延遲大致與密碼 區塊鍊接及簡單區塊鍊接一般,唯一的差別是一個區塊的 解密輸出與下一個區塊的解密輸出(依簡單區塊鍊接)做 X 0 R輸出而不是輸入到下一解密區塊(依密碼區塊鍊接)。 簡單區塊鍊接方式,使用明碼區塊之解密及識別,遭受 到任何區塊可能重排脫序而仍然通過識別之問題。所以雖 然解密及識別作業可並行完成,導出一延遲。加密,有著 位址相依性,應與簡單區塊鍊接一起使用簡單 X 0 R散列功能。 亦即,與鍊接内各區塊一起使用之鑰會和特定區塊位址 功能之鑰不同。若使用DES加密,更改一區塊内之任何程 式資訊來嘗試會導致解密輸出内大約一半的位元改變,導 致識別確認不能通過。沒有鑰值,一可能會成為盜取者之 人難以發現適當之識別資訊來改變之。 在一嘗試減少程式資訊執行延遲之嘗試中,識別可以使 用一鑰值散列或識別資訊加密方法來執行於密碼文字資料 上。解密及識別可以同時作業,及加密後不加以識別。對
0: \55\55149.rtc 第27頁
_案號 87116410_年月日_ί±ί:_ 五、發明說明¢23) 於簡單區塊鍊接,有著位址相依解密不會執行於程式資訊 上之問題,可能會使其易在送給解密器時脫序而有弱點。 在外部儲存裝置及安全電路間通訊時,可在一鍊接内使 用欄位隨機排列順序。工具,例如一資料匯流排或網路, 提供來讓安全電路與程式資訊通訊。 提供與安全電路相關之工具來重排鍊接之重排攔以回復 第一個欄位次序内之攔位。一程式資訊之鍊接可重排入二 個或多個攔位.,可以提供重排。 亦即,該區塊可由安全電路在外部儲存裝置及區塊缓衝 器間依隨機、非依序之非實際區塊執行順序來通訊。並 且,可對於一個或多個區塊之位元組,或對整個鍊接重 排。任何搁位可被重排。 此種非依序傳輸可有效地阻礙一盜取者探查安全電路内 之程式資訊架構、次序、及組織。依據一鍊接或多個鍊 接、或在一個或多個程式資訊次序内相對於整個鍊接之位 置1經由重排任何欄位,阻礙了一盜取者偵測到關於處理 電路内程式資訊執行順序之資訊。隨著重排,可接著阻礙 一盜取者輕易地得知正確的明碼文字或密碼文字程式資訊 以讓某些密碼攻擊更難達成。最好是,加密該程式資訊以 增加分析之困難度。 '此設備之另一替代具體實施例自儲存裝置傳輸程式資訊 區塊到安全電路而大量地隨機重排一程式資訊次序之欄 位。使用一新次序來自安全電路回傳攔位到儲存裝置’藉 以改變儲存裝置内與一特定儲存位置相關之欄位。内部提 供工具具給安全電路以儲存儲存裝置内新的"真實π程式資
0:\55\55149.ptc 第28頁 44S4〇2 _案號 87116410_年月日__ 五、發明說明(24) 訊次序。 新的程式資訊次序攔位之基本次序接著被儲存於安全裝 置内以使後來之傳輸到相同區塊,將會允許依安全電路内 之新次序做出正禮的重排。工具,例如一資料匯流排或網 路,提供來讓安全處理電路與程式資訊通訊。 雖然當在使用上述重排次序技術來在儲存裝置及安全電 路間通訊時可重排位元組,各程式資訊之位元組仍與一特 定儲存位置相.關。例如,就算盜取也許因為重排而有困難 探查到其事實上為第一個區塊之第一個位元組,一程式資 訊序列之第一個鍊接之第一個區塊之第一個位元組總是位 於一特定儲存位置。雖然如此,該盜取者可接著依—有系 統及組織之方法來試出位於該特定儲存位置内之值(例 如,位址)° · 改變儲存裝置内基本之儲存資料位置,防止一盜取者試 出儲存於儲存裝置内特定位置之程式資訊。經由在每次使 用後動態改變位於儲存裝置内之程式資訊,一嘗試位於儲 存裝置内特定位置程式資訊之盜取者每次將不會碰到完全 相同之程式資訊。因而使得攻擊變得困難。 在本發明另一方面,資料次攔位、位元組、區塊、鍊接 及程式資訊次序可以是固定而非隨機的。此次序對於存取 之各位元組、區塊、鍊接及程式資訊次序可以不同。這是 一種對於傳入之程式資訊之適當糊位上執行不同之排列。 好處是,由於其不是隨機的,此種排列功能可以輊易地安 裝於硬體上。 在一特定的實施例中,安全電路使用程式資訊來產生一
O:\55\55i49.pu 第29頁 4454〇2 _案號 87116410_年月日_ί±£._ 五、發明說明(25) 密碼瑜。 該程式資訊使用密碼區塊鍊接加密,且可選擇地識別及 /或重排。在另一具體實施例中,該程式資訊識別且可選 擇地使用區塊鍊接加密及/或重排。 該鑰可用於軟體内來解密或回復一資料傳輸,經由辨別 指令,阻礙了一盜取者提供假程式資訊給回復資料傳輸之 安全電路。 在本發明另一方面,一安全電路使用程式資訊來產生一 密碼鑰,該鑰可用於硬體内回復一資料傳輸。依安全電路 之分割而定,回復可於内部或外部完成。 可產生該鑰並送給一軟體模組來回復該資料傳輸。該軟 體模組可位於安全電路内部或外部。 在以上兩種情況下,安全電路,可包含一積體電路 (1C)、一識別電路、一中央處理單元、及一個或多個用於 储存一個或多個程式資訊區塊之區塊緩衝器。 該外部儲存裝置可以是一快閃記憶體、一可拭可程式唯 讀記憶體(EPROM)、一電子式可拭可程式唯讀記憶體 (EEPR0M)、一電池備援式隨機存取記憶體(RAM)、RAM、或 以上之組合。其亦可是一硬碟,或是C D - R 0 Μ或是任何形態 之大量儲存裝置。該外部儲存裝置同時儲存識別資料(例 如,檢查位元)以在安全電路接收到程式資訊時識別之。 在某些實施例中,希望複製儲存裝置内容到一例如同步動 態記憶體之快速儲存裝置内,以使安全電路能自蹿快速儲 存裝置,例如動態記憶體,取得程式資訊,而不是自較慢 之儲存裝置及其相關之延遲。例如,一網路電腦可在網路
O:\55\5M49.ptc 第30頁 '445402 _案號 8711M10_年月日_ί±ί-_ 五、發明說明(26) 上複製伺服器之程式資訊。該快速儲存裝置可以是區域性 的,而該較慢之儲存裝置可以是遠方的,在網路電腦情況 下,經由網路存取。 要減少整體即時執行碼之延遲,第一個通訊路徑可有一 充份之頻寬使得兩個或多個字串、一個或多個區塊、或一 個或多個鍊接大量地同時傳送到區塊缓衝器。 由於有著瓶頸問題,一程式資訊匯流排頻寬通常不會比 指令來得寬。.中央處理單元只在特定速率執行。程式資訊 須存在它處。然而,當其它處理--加密或識別--有著相 關延遲時,此有助於減少整體之延遲。 例如,在使用一個以上區塊緩衝器來儲存額外區塊時, 例如每一區塊一個缓衝器時,安全電路基本上可同時讀取 一個以上之程式資訊區塊。在安全電路内,該識別電路自 一個或多個區塊缓衝器接收程式資訊及識別資訊以用來識 別該程式實訊。在I C内之第二個通訊路徑内,提供來自識 別電路之程式識別資訊給要執行之中央處理單元以藉此對 散佈之資料解密。該程式資訊可包括許多指令字串,例如 數行電腦碼,或相關資料序列,其將會被中央處理單元依 序處理。 可安排一快取於第二個通訊路徑内以在程式識別資訊被 提供給中央處理單元之前暫時儲存之。該快取可至少儲存 一個程式資訊字串,以基本上讓至少兩個程式資訊字串 (例如,該儲存字串及最後識別及解碼字串)同時揖供給中 央處理單元。依此方式,程式資訊有效率地與中央處理單 元通訊。快取的優點是中央處理單元可自快取捉得已識別
O:\55\55149.ptc 第31頁 4454〇2 _案號 87116410_年月日__ 五、發明說明(27) 過之程式資訊而不用使用牽涉到更多延遲之外部儲存裝置 通訊工具,例如,匯流排或網路。 當第一個鍊接及其後續第二個鍊接自外部儲存裝置傳輸 到一個或多個區塊緩衝器時,識別電路辨別第一個及第二 個密碼區塊鍊接以提供相對之識別之程式資訊。此外,該 中央處理單元可在識別電路至少辨別一部份第二個鍊接之 程式資訊時,至少處理一部份第一個鍊接之程式資訊。當 需要解碼程式.資訊時,亦可以類似之重疊方式執行。 一個本設備之.替代具體貫施例在通訊搁位沒被安全電路 立即(例如現時或下一個)程式資訊序列處理時,在儲存裝 置及安全電路間傳輸程式資訊欄位。此隱藏技術使用無用 之假資料攔位,例如,從來不被安全電路於執行任何程式 資訊時使用,或其目前不在安全電路及儲存裝置間處理之 其它程式資訊序列之一部份。提供與安全電路相關之工具 來消除特定區塊之假位元以回復第一個位元組序列内之位 元組,及其餘區塊之後續位元組序列之位元組。在被安全 電路接收到之後,假位元組在被消去前可被選擇地用於解 密及/或識別上。此外,亦提供可依同樣方式消去之區 塊,及鍊接。 在此討論到之密碼區塊鍊接或簡單區塊鍊接皆可用於散 列及加密以得到私密性。例如,程式資訊及識別資訊可載 於二個或多個8位元組區塊内。由於其相對於要識別資料 有較低負擔之識別資訊,區塊鍊接有其效率。識別資料與 最後明碼資料(例如,程式資訊)區塊做X 0 R運算並視需要 解密以產生一確認值。該值與一硬體已知值相比較以確認
O:\55\55149.ptc 第32頁 ^ 45 4〇2 _f"號 87116410 _年月日__ 五、發明說明(28) 該識別資料為正確。不同鍊接之該值可以不同,或者其對 所有鍊接皆可為定值。 同時對加密及散列使用密碼區塊為一種減少與安全功能 相關硬體的方法。當所有需要之區塊依序執行時只需一個 缓衝器。由於難以靠著改變另一個區塊來補償在一個區塊 内所做出之改變,X 0 R功能比簡單區塊鍊接所做的更為完 備。由於XOR在一解密步驟之前完成,其更難以操作一區 塊來消除任何.做出之改變。然而,其要求串列性之處理。 圖示簡單說明 V圖1為一與本發明相關之密碼鑰產生器/混雜回復接收 器設備之概圖s 〆圖2為一與本發明相關之密碼區塊鍊接加密方案之略 示 ° v/圖3為一與本發明相關之密碼區塊鍊接解密方案之略 示。 。圖4為一與本發明相關之簡單區塊鍊接加密方案之略 示。 7圖5為一與本發明相關之簡單區塊鍊接解密方案之略 示0 v''圖6為一與本發明相關之另一種密碼鑰產生器/混雜回 復接收器設備之概圖。 圖式元件符號說明 100 回復接收器 105 安 全電路 . 110 外部儲存裝置 112 區 塊重排電路多工器 1 1 3 通訊路徑 1 15 匯 流排
O:\55\55149.ptc 第33頁 五、發明說明(29) 445402 _!號87116410_年月曰_修正 120 加 密 /解密電路 125 識 別 電 路 130 區 塊 緩 衝 器 132 區 塊 缓 衝 哭 134 區 塊 缓 衝 器 136 檢 查 位 元 塊 緩 衝器 140 快 取 1 50 啟 始 向 量 ,解密 鑰及識別鑰 之儲存裝置 160 位 址 產 生 器 162 警 告 電 路 164 位 址 混 雜 器 165 通 訊 路 徑 166 隨 機 數 產生器 170 中 央 處 理 OCI 早 元 172 指 令 解 碼 器 174 非 法 作 業 石馬 偵 測 器 180 暫 存 器 200 加 密 電 路 203 識 別 電 路 204 散 列 功 能 206 散 列 功 能 208 散 列 功 能 2 14 加 法 器 -.2 18 加 密 功 能 222 加 密 功 能 224 加 密 功 能 226 加 法 器 228 加 密 功 能 232 加 密 功 能 234 加 密 功 能 236 加 法 器 242 加 密 功 能 244 加 密 功 能 246 加 密 功 能 248 加 法 器 252 加 密 功 能 254 加 密 功 能 256 加 密 功 能 258 加 法 器 300 解 密 電 路 303 識 別 電 路 304 散 列 功 能 306 散 列 功 能 308 散 列 功 能 3 10 力σ 法 器 3 20 加 法 器 322 解 密 功 能 324 解 密 功 能
O:\55\55149.ptc 第34頁 4 2 4 巧號 87116410_± 、發明說明(30) 修正 326 解 密 功 能 330 力σ 法 器 332 解 密 功 能 334 解 密 功 能 336 解 密 功 能 340 加 法 器 342 解 密 功 能 344 解 密 功 能 346 解 密 功 能 350 加 法 器 352 解 密 功 能 354 解 密 功 能 356 解 密 功 能 400 加 密 電 路 402 加 密 功 能 403 識 別 電 路 404 加 密 功 能 406 加 密 功 能 408 加 密 功 能 410 加 密 功 能 412 加 法 器 500 解 密 電 路 502 解 密 功 能 503 識 別 電 路 504 解 密 功 能 .5 0 6 解 密 功 能 508 解 密 功 能 510 解 密 功 能 512 加 法 器 5 14 加 法 器 600 接 收 器 620 加 密 /解密雷 625 識 別 電 路 630 區 塊 緩 衝器 632 區 塊 緩 衝器 6 34 區 塊 衝器 縮寫名詞中、英對照1
DVD DIGITAL VERSITLE DISC 影音光碟片
PCMCIA PERSONAL COMPUTER MEMORY CARD
INTERFACE ADAPTER
個人電腦記憶體介_面卡 ASIC APPLICATION-SPECIFIC IC
O:\55\55149.ptc 第35頁 4454¾¾ 87116410_年月日_«;_ 五、發明說明(3丨)
特定應用積體電路 R〇M READ ONLY MEMORY 唯讀記憶體
RAM RANDOM ACCESS MEMORY 隨機存取記憶體
VLSI VERY LARGE SCALE IC 超大型積體電路
EPROM ERASABBLE PROGRAMMABLE READ ONLY
MEMORY 可拭可程式唯讀記憶體 EEPROM electrically erasable programmable read
ONLY MEMORY
電子式可栻可程式-唯讀記憶體 CD-ROM COMPACT DISC READ ONLY MEMORY 唯讀記憶體光碟
DES DATA ENCRYPTION STANDARD 資料加密標準
RISC REDUCED INSTRUCTION SET COMPUTING 精簡指令集計算
CISC COMPLEX INSTRUCTION SET COMPUTING 複雜指令集計算
PIN PERSONAL INDENTIFICATΪON NUMBER 個人識別碼 dffh double feed-forward hash 雙重前向加置散列
〇M55\55l49.ptL 第36頁 4 45 4 $7116410_年月日_修正 五、發明說明(32) SHA SECURE HASHING ALGORITHM MD 安全散列演算法 MESSAGE DIGEST CSA 訊息摘要 COMMON SCRAMBLING ALGORITHM RSA 一般擾頻演算法 RAS SECURITY INC. FIPS RSA安全公司 FEDERAL INFORMATION PROCESSING STANDARD 發明細述 聯邦訊息處理標準 展示一種安全處理器裝備。該較佳具體實施例強調安全 性。 加β、加識別、及順序排列程式資訊區塊和假安全 地在一外部儲存裝置及一密碼文字區塊鍊接内^加密Μ t c 間通訊。處理該程式資訊允許該AS I C導出一對你料罄带诏 之影音數位封包解密之鑰。 :才費% 為一與本發明相關之密碼鑰產生器/混雜回復接收 器汉備之概圖》該回復接收器,通常示為丨〇 〇 ,勺 — 全電路105,例如,ASIC或積體電路(Ic),及女 置,例如外部儲存裝置11〇 ,其在安全電路储存裝 外部儲存裝置110不内置於安全電路封萝内 之外由於 裝置u 〇係外接於安全電路=ΛΓ如外部λ外部儲存 及安全電路1 〇 5可以用分開封裝之方式提:存裝置1 1 0 板上。 %抆供於一解碼器主
、45402 ^ 454no 案號 87116410_年月日__ 五、發明說明C33) 在此兩狀況之任一情況下,外部儲存裝置1 1 0可經由移 去或置放記憶體I C來增加或減少,而不會干涉到或修改到 安全電路1 0 5。此外,例如增補碼之新程式資訊可下載到 外部儲存裝置1丨0,例如經由一電話線、衛星連線、或有 線電視連線等。另一種方式,程式資訊可設於本區之回復 接收器内,例如經由一智慧卡、或是經由一插槽或烊到同 一主板上。或者,外部儲存裝置i 1 0,本身可以位於智慧 卡内,此種狀況可以相對低價提供一新智慧卡來昇級一解 碼器。優點是,由於允許存在於外部储存裝置1 10内之程 式資訊(例如,軟體或軔體)能容易地昇級或修改以提供新 功能或修改軟體問題*此種安排提供了極大利益。 例如,外部儲存裝置1 1 0能容易地置換或修改以提供商 家或個人定做之新功能,或者依攄例如人口統計描述、地 理位置、時間區或其類似等因素,提供特定功能給群組。 相反地,若外部儲存裝置1 1 0位於R 0 Μ内且在安全電路 1 0 5内部,該安全電路必須全部一置換,因而導致極高的 費用與延遲。該安全電路可使用先進VLSI程序來製造,其 使用RAM及ROM技術來得到高處理率及高位元率,其不僅在 安全電路及外部儲存裝置間傳輸程式資訊,亦提供内部快 取之執行及影音數位封包之回復。由R A Μ及R ◦ Μ技術製出之 安全電路可比用其它技術製出之安全電路有更高的封包資 料解密位元速率。該外部儲存裝置因而提供了安全電路更 高的彈性。 外部儲存裝置1 1 0可以是一快~閃記憶體、一可拭可程式 唯讀記憶體(EPROM)、一電子式可拭PROM(EEPROM)、或一
O:\55\55149_ptc 第38頁 —5石.4.¾¾ 案號S7116410__年月日 修正_ 五、發明說a月(34) 如隨機存取記憶體(RAM )之電池備援式揮發性記憶體。另 一種選擇,可使用傳統唯讀記憶體(R 〇 M )。 E P R Ο Μ允許記憶體内之程式可曝露於紫外線下而被掉 換。新程式碼可於E P R Ο Μ内稱為重新燒錄之程序中輕易地 存入。一E E P R Ο Μ可使用一大電流重設内部記憶體單元來更 動之。經由使用E E P R Ο Μ或電池備援式R A Μ,外部儲存裝置 亦可用於儲存短期及長期資料。記憶體空間亦可分割以提 供不同實體裝.置以讓不同記憶體種類可一起使用。當電源 啟動時’非揮發性記憶體可被複製到更快的如同步動態記 憶體之中。這可減低外部儲存裝置之讀/寫作業之延^。 外部儲存裝置1 1 0可以使用密碼區塊鍊接,或使用簡單 區塊鍊接來加密,可以加識別及,選擇性加密。程式資訊 可以被安全電路1 0 5用來對一混-雜資料傳輸解碼。程式資 訊可以包括數行(例如,字串)會被一安全電路1 〇 5内之中 央處理單元(CPU)170執行之程式碼。各行代表一程式之可 執行指令或資料。該程式碍可符合一精簡指令集電腦 (R I S C )架構,其中各行程式碼可於一單一晶片時脈循環内 執行。 該程式資訊使用密碼區塊鍊接處理。該區塊加密方法為 三重DES。有三输可供使用。一錄與高順序位址線一起使 用。另一鑰與低順序位址線一起使用。此提供了位址相關 之解密。第三翰可為單元相關(unit-dependent)。 散列演算法可使用雙前饋散列(D F F Η ),例如,却美國專 利應用序號08/577, 922所述,+請日12月22日1995年。該 散列加鑰。該鑰可以是位址之X 0 R及單元鑰以提供位址及
O:\55\55149.ptc 第39頁 ^ '445 402 _案號87116410_年月日__ 五、發明說明(35) 單元相依給識別作業。可以使用不同之散列演算法而將其 錄附加在一起而不是做XOR運算。 在此較佳具體實施例中,產生之作業碼由一指令解碼器 1 7 2處理。非法作業碼可被指令解碼器1 7 2内之非法作業碼 偵測器1 7 4標記,做出適當之行動。例如,_央處理單元 1 7 0可送出一訊號到一警告電路1 6 2,其接著送一終止(消 去)訊號給啟始向量、解密鑰、及識別鑰之儲存裝置150。 有著密碼區塊鍊接,任何對程式資訊之嘗試,將導致所 有後續區塊解出不同碼。 並且,可混雜外部儲存裝置位址行以使後續程式資訊區 塊非依序儲存。亦即,各包括8位元之位元組,例如,可 儲存於儲存體之非依序位址位置。所以,外部儲存裝置 1 1 0被稱為一混雜記憶體。在此.亦可同樣使用一鑰。一鑰 亦可依一群組或單元而不同。 外部儲存裝置1 1 0亦經由一匯流排1 1 5儲存用於安全通訊 之程式資訊到安全電路1 0 5之區塊緩衝器1 3 0、1 3 2及1 3 4。 該識別資訊,亦稱為檢查位元,傳輸到安全電路1 0 5之檢 查位元區塊缓衝器1 3 6。 識別資訊為附到一訊息上,例如程式資訊之鍊接上,之 資料,以允許一接收器來確認該訊息應被接受為識別。該 識別資訊為一訊息(例如,鍊接)内容之一種功能,例如當 使用一散列值或一密碼檢驗和(c h e c k s u m )時。一散列值為 一定長度值,其經由映射一任何長度公用功能資料鍊而獲 得。在此較佳具體實施例中,此散列加鑰,且識別資訊用 另一不同來加密。
O:\55\55149.ptc 第40頁 445402 案號 87116410 年 月 曰 五、發明說明(36)
外部儲f裝:1J0經由一匯流排115傳輸到一個或多個N 數目之區=雜缓-為,包括,例如,區塊緩衝器1 3 0、1 3 2及 i 34。雖然顯不了許多區塊緩衝器,至少一個是必須的。 提供加密/解密電路120來加密或解密區塊。該加 密電路亦可提供編譯’例如,當明瑪文解 ΐ衝Ϊ以Κί㈣’且其要將明碼文字資料加密 時。該編澤-貝枓可實際上經由緩衝器傳送到外部儲存裝 置。. ( 一識別電路1 25使用,例如上述DFFH功能,散列程 訊之明碼文字區塊。該識別可在區塊解密時.同時依/ 式執行》當區塊1解密時,其可加以散列。當區塊2二方 時,其可依第一個區塊散列之輪出來加以散列,如:= 去。將資料散列加鑰使得只有得知一密秘鑰或私密鈴I 產生正確散列。另一種替代方式,如上所述,解谭^ =此 識別資訊上,例如,檢查位元,其在與識別資料(例如生於 程式資訊)X0R時’導出一可被硬體確認之已知值。該° ’ 電路125及加密/解密電路120可相互通訊,且可分°此^ 電路。 通 編譯區塊鍊接可用於區塊鍊接,其自外部儲存裝置 到安全電路1 05。編譯區塊鍊接討論於stal 1 ings, 輸 Network and Internetwork Security, IEEE Press
Englewood Cliffs, New Jersey, u.S.A. , PP. 59~61 1 9 9 5,併列於此供參考。編譯區塊鍊接可同樣用於加密及 散列’但於一較佳具體實施例+,其只用於更健全之加 密。使用了一分開之散列功能。與編譯區塊鍊接—起之區
O:\55\55149.pt 第41頁 年月日 修正 4 45 4 02^¾ 87H6410 五、發明說明(37) 塊加密演算法為三重D E S。 鍊接長度可在1 6到3 2個區塊間變動。鍊接長度依據密鑰 及位址參數而以鍊為基礎(chain basis)在一鍊上變動。 區塊在記憶體及安全電路間通訊之序列順序為隨機決 定。一與位址產生器相關之隨機數目產生器存取記憶體内 適當之區塊儲存位置。 識別資訊以一個1 6到3 2個區塊中之一個區塊方式通訊。 其可以任何次.序通訊。當解密時,其與散列值相比較。 例如,N = 1 6個區塊可用於編譯區塊鍊接,各區塊有8位 元組之資料。以編譯區塊鍊接,各加密資料區塊係與目前 區塊之明碼文字資料相關,所有先前之明碼文字資料亦相 同。由於相同明碼文字輸入會依據其它明碼文字區塊產生 不同加密資料,區塊鍊接加強了安全性。此外,大大地減 低了配置給識別資訊之資料負擔。若1 6個區塊中之一專屬 於識別資訊,則此只代表1 / 1 6 =. 0 6 2 5或6 . 2 5%之程式資 訊。若N = 3 2,則此數字是1 / 3 2 =, 0 3 1 2 5或3 . 1 3 % 。在此較 佳具體實施例中,鍊接之大小可在1 6到3 2間變動,所以平 均起來,該數字會是1 / 2 4 =. 0 4 1 7或4 . 1 7 % 。亦即,只有 4 . 1 7% 的程式資訊為識別資訊。 此可變動,例如,若是提供兩個區塊而不是一個區塊之 識別資訊β有著許多的可能。但是,鍊接大大地降低了識 別所需之儲存空間。 鍊接同時允許使用較小之記憶體元件,其大大地減少了 系統費用,且/或由於減少了自儲存裝置存取之識別資訊 量而增加了系統流通量。編譯區塊鍊接亦與以下之圖2與
O:\55\55149.ptc 第42頁 4454〇2 案號 87116410 年月日 修正 五、發明說明(38) 圖3 —起討論。 一個編譯區塊鍊接之缺點為當一新程式碼區段未被解密 時之指令執行延遲,及識別,超前時間及,也許,存在快 取内,需要存取。由於直到前一區塊已被解密前不能解密 目前之區塊,該區塊需依序解密。 更複雜之散列功能,例如訊息消化(M D ) 5、安全散列演 算法(SHA) '甚至編譯區塊鍊接均可使用。由於其基於DES 而選用了 DF F Η .。可能使用同一個加密之硬體來做識別工 作。可以控制給予D E S引擎之輸入來對硬體做最大之利 用《雖然想要有單向功能但它們卻不是強迫性的,此是由 於,若識別演算法使用一密秘鑰,則因為任一知道該密秘 鑰者可算出適當之識別資訊以得到相關之任何程式資訊所 以一單向功能不會比一如編譯區塊鍊接之反向演算法好多 少。首先,由於知道安全電路之私密解密鑰並不能讓一盜 取者知道如何對散列解密,使用公鑰編譯法之識別較好。 解密公鑰必須先知道。 對任一方案,匯流排1 1 5大小可為一次允許至少載送二 行指令或群組程式資訊之頻寬。另一種選擇方案,匯流排 1 1 5大小可為載送一整個區塊(例如,8位元組)之鍊接,甚 或兩個或多個區塊。該匯流排1 1 5大小亦可為一次載送一 個或多個整個鍊接。 一序列之區塊或者加入識別並,視需要,將指令加密, 例如,區塊、Β2、. 、ΒΝ_[,或力σ密編譯區塊’奠視需 要加入識別。密碼文字區塊與編譯區塊鍊接一起使用,但 可視需要與簡單區塊鍊接一起使用。該識別資訊包括在檢
O:\55\55l49.ptc 第43頁 445402 _ 案號87116410_年月日__ 五、發明說明(39) 查位元區塊内之程式資訊通訊内,例如,區塊BN。 使用編譯區塊鍊接與簡單區塊鍊接省掉了負擔資料而能 維持所要的安全層級可見於以下。平均破解識別所需嘗試 之數目為2n_l,其中識別資料長度為η個位元。為了提供足 夠之安全層級,一識別應該反映到用以將指令解密之部份 單鑰或多鑰之長度上。否則,盜取者會功擊系統最弱之部 份,此可能是識別資訊本身。亦即,不用嘗試去發現程式 資訊用以加密之鑰,一盜取者可嘗試識別資訊並使得中央 處理單元處理綜合程式資訊。若使用一至少7位元組之D E S 加密,則最好應使用7或8位元組做為識別資訊。例如,以 7位元組長度(例如,η = 5 6位元長度)之識別資訊來說,平 均需要嘗試255次,此與破解DES鑰有著一樣的困難度。 當一 8位元組之識別資訊區塊·附加到一 8位元組訊息區塊 時,識別資訊之負擔(ο ν e r h e a d )為5 0 % (例如, 8 / ( 8 + 8 ))。然而,當依據本發明使用區塊鍊接,且附加一 7位元組區塊到一 1 6至3 2個8 -位元組區塊時,例如,如我 們上述所討論的負擔只約4 . 1 7 %,有著良好之安全性。因 此,區塊鍊接提供了大量減少識別資訊之負擔且維持了所 要之安全層級。 在本發明尚有另一方面,提供了自外部儲存裝置到安全 電_路1 0 5通訊之鍊接之重組。除了混雜儲存裝置内之區塊 外尚使用該重組,如以下所討論,但其可能單獨使用重組 本身。經由隨機重組鍊接内之區塊,阻止了 一盜年者偵測 到處理電路内程式資訊執行順Λ之資訊。如同依位元組及 鍊接層級重組一般,區塊重排可隨機完成以使得每次於不
O:\55\55i49.ptc 第44頁 4^5402 案號 87Π6410 年月日 修正 五、發明說明(40) 同序列内重覆執行同一程式碼時,會自外部儲存裝置取得 資料。例如,以位元組層級重組1若每區塊有8個位元 組,會有8 != 4 0,3 2 0個不同位元組可以排列之順序。同樣 地,以區塊重排來說,若每鍊接有1 6個區塊,會有1 6 ! =2 . 0 9 X 1 013個不同區塊可以排列之順序。對於鍊接重組, 若每一程式資訊順序有4個鍊接,則可以有4 ! = 2 4個不同鍊 接排列之順序。並且,此三者可以一起使用。全部可能之 排列數目則會是 4 0, 3 2 0 x 2. 0 9xl 013 x2 4 = 2. 0 2 xl019。 瞭解到任何攔位皆可做為重組之基本是重要的,且該位 元组、區塊、及鍊接為任意位元單位。重組'之攔位可以是 小量的。同時,位元組不必是8個位元,區塊亦不必是8個 位元組,等等。 將此僅記於心,重組作業可允許位元組在兩個或多個區 塊上重组,區塊可在兩個或多個鍊接上,及鍊接可在兩個 或多個程式資訊順序上重組。在此,我們得到一不同結 果。例如,以位元組層級重組,若每一區塊有8位元組橫 越兩區塊重排,則位元組有1 6 != 2 . 0 9 X 1 013個不同位元組 可以排列之順序。 若編譯區塊鍊接與重組一起使用,其中要求區塊之序列 處理,需要多個區塊缓衝器來於解密前儲存所有相關欄 位。此外,如與圖6 —起之討論,如重組發生橫跨於二個 或以上個鍊接上,則會需要有二個或以上個鍊接大小之區 塊緩衝器。跨越程式資訊序列之重組會需要更多冬區塊緩 衝器。由於當内部重組時最後一個讀取之區塊可能是鍊接 序列之第一個區塊,解密可能被延遲到與最後區塊序列相
O:\55\55149.ptc 第45頁 445 402 _案號 87116410_年月日__ 五、發明說明(41) 關之欄位讀取之後。 與密碼區塊鍊接一起,加強了安全性。然而,如同在圖 3内與X 0 R散列功能一起描述之簡單區塊鍊接,避免了延遲 問題且可與鍊接、區塊、位元組、或任何欄位重組一起使 用。不論是鍊接、區塊、位元组、或任何欄位順序,所有 區塊内之位元組可用以執行識別。此外,當需要解密時, 各區塊各自獨之解密。 提供給外部儲存裝置之位址資料可隨機選擇欄位、位元 組、區塊、或鍊接來傳輸給安全電路1 0 5。一區塊重排電 路多工器(multiplexer)112可提供來與匯流排115通訊以 在需要時對加密/解密電路1 2 0及識別電路1 2 5重组做反向 操作以執行其功能。區塊重排電路多工器1 1 2,位址產生 器1 6 0,及位址混雜器1 6 4可相互通訊,及在有需要時與中 央處理單元1 7 0通訊,以調整重整步驟。該位址產生器1 6 0 可對一隨機數目產生器1 6 6做出反應。該隨機數目產生器 1 6 6可提供隨機或虛擬隨機之順序排列給一個或多鍊接攔 位,其不必符合任何内置於硬體内之演算法。 鍊接、區塊、位元組、或任何攔位層級順序混雜通常實 際上可運用到任何方案上,其中資料區塊自一記憶體傳輸 到一安全電路以供處理。如上所述,由於所有位元組必須 在識別及解密可以開始前先組合,混雜各區塊内之位元組 或子欄位順序不會影響到解密延遲。然而,重整會讓一盜 取者分不清那一密碼文字對應那些指令或其它資料區塊。 同時其亦讓一盜取者分不清儲存裝置内程式資訊之架構、 次序、及組織。
O:\55\55149.ptc 第46頁 45 4 0¾號 87116410_年月日__ 五、發明說明(42) 在此較佳具體實施例中,安全電路1 0 5讀入一整個8位元 組區塊,第一個位元組相對於另一位元組之讀入次序會依 不同區塊而改變,且可在每次存取儲存裝置時隨機改變。 但當在安全電路内重排時,一必須解密之區塊只有一個適 當之次序。對於編譯區塊鍊接,由於其有著要各別被重組 之位元組,其有不需一個以上.區塊缓衝器之優點,但其將 隱藏(〇 b ί u s c a t i ο η )縮到一更短之期間。外部儲存裝置可 以在載入各別位元組到區塊缓衝器之前重排或排序。 本發明另一方面,鍊接區塊依一新型式回寫入儲存裝置 内。各儲存裝置之隨機讀取會尾隨著一相對應依不同隨機 順序之資料回寫。與各鍊接相結合的為一儲存目前基礎鍊 接順序之記憶體裝置。重排可以是隨機的。 假資枓亦可以在外部儲存裝置11 0及安全電路1 0 5間傳 輸。假資料可以是由外部儲存裝置1 1 0儲存之無用資料。 此為從未被安全電路處理過之資料,但其可視需要被用為 過濾器,且經由安全電路視需要解密及識別。要產生無用 資料很簡單。只要立即在無用資料前執行一支路或跳躍作 業。只要沒有對於該無用資料位置執行呼叫、分支、或跳 躍,則該無用資料永遠不會被執行。該假資料可以是其它 可能會在不同狀態下在稍後會被存取之鍊接及指令序列之 實際程式資訊。和無用資料一樣,此資料可視需要被用為 過濾器,且可被解密及視需要與其它程式資訊一起識別。 但此資料不會被安全電路處理。此多餘資料困惑了嘗試分 析識別程式資訊之盜取者。 與假資料通訊之最好的方式之一是經由不同長度鍊接。
1
O:\55\55149.rrc 第47頁 4 45 402 案號 87Π6410 年 月 修正 五、發明說明(43) 當假區塊數目 有了區塊重排 此較佳具體實 料。 可以加密外 區塊被存於儲 加密最好是包 可設置於記憶 可被用來除去 明確地說, 碼解譯能瞞住 取者。可以防 此可 硬體 存裝 擊目 壞, 若 用資 混 以提 機, 於恰 適當 別字 以防止一盜取 —起之工具防 置防止一盜取者確 標。經由破知 一盜取者可專 位址混雜 料重排, 雜可利用 供位址資 可用於改 當時機多 之位元組 串、位元 那一 改變時,實際通訊區塊之數目可維持不變。 ,一盜取者將難以決定那一區塊是假的。在 施例中之假區塊會是實際上從不被執行之資 部儲存裝置1 1 0而使得程式資訊及識別資訊 存裝置内之非依序之位址位置。儲存裝置之 括高次序位址位元以使得任何程式資訊區塊 體空間内之任何位置上。代換表(S - t a b 1 e s ) 規律性並於位址加密内加上非線性特性。 將識別區塊鍊接外接儲存裝置加密以使得密 —於通訊路徑113上查看存取儲存裝置之盜 止一盜取者查知執行之專屬演算法。加密因 者探查儲存裝置之内容,並經由其它與 止有系統地攻擊安全電路1 0 5。加密儲 知那一加密程式資訊為最適當之攻 程式資訊可讓系統之安全最易被破 注於破壞該程式資訊之處理。 及資料加密及識別被單獨使用,亦即,未使 一最低實施需求只須要一個區塊缓衝器。 一與安全電路105相關之位址產生器來達成 訊給外部儲存裝置。一數目,其可能為隨 變程式資訊通訊之順序°該順序資訊可用以 工傳輸適當之欄位、位元組或區塊緩衝器到 或區塊上。來自於外部儲存裝置之次攔位各 组或資料區塊接著依位址資訊所要之順序傳
O:\55\55149.tuc 第48頁 44S402 _案號87116410_年月日_iM,_ 五、發明說明(44) 輸到區塊緩衝器。該位址資訊提供給識別及解密電路以允 許這些電路來回復資料以據此來工作。 不同之區塊加密演算法,例如三重D E S,可被使用。並 且,混雜演算法可使用如同D E S之代換盒(S - b ο X )表格但有 著較少之次數(fewer rounds)。可依不同應用選擇不同之 循環次數,例如安全需求較低之應用使用較少次數,而一 安全需求較高之應用可能使用該DES全部之1 6次呼叫。減 少次數即會減.少解密作業之延遲。 位址相關之解密及程式資訊識別可防止一盜取者於儲存 裝置内適當地移動加密及識別區塊鍊接,來讓解碼器不依 順序處理程式資訊。此種不依順序之處理會導致回復接收 器不當地給予存取權限及回復一資料傳輸。 若是可以,用於加密和解密之鑰及/或識別資料都應為 位址相關混雜且與單元鑰相關。該單元鑰對每一解碼器為 一唯一之鑰且可能依據,例如,製造當時所提供之解碼次 序數字而定。所以,希望該鑰能依各別單元而定’或依各 別單元群組而定。否則,一盜取者可能自一個單元之外部 儲存裝置内讀取混雜鑰資料,並將該混雜鑰置入另一單元 之外部儲存裝置内。這可能是一盜取者用以複製單元間服 務之識別資料之一種方法,且必需加以預防。 位址相關混雜及單元鑰相關同時防止將一用於一個解碼 器内已知之識別及/或混雜程式資訊之鑰使用於另一解碼 器内。例如,不使用單元相關,例如此密秘錄若經;由V L S I 探得,則其它解碼器可正確地將其用於識別並將程式資訊 解密。換言之,若一鑰或多鑰被用於一個以上之單元’一
O:\55\55149.ptc 第49頁 4454〇i號 87116410 年月日 修正 五、發明說明(45) 盜取者可用自一個單元獲得之鑰或多鑰來對其它單元加密 或是加密並識別,或是識別程式資訊。為了達到單元相關 混雜,一使用可選擇性晶片(ο η - c h i p )編碼電路之下載程 序可在單元產生時用以載入外部快閃、EPROM、電池備援 式RAM、或大量儲存裝置。可以使用讓安全電路與儲存裝 置間具有雙向讀寫能力之同一編碼電路。另一種方式為 在單元產生時使用已知之單元密秘鑰或私密鑰來讓配置系 統(configuration system)載入這些外部儲存裝置。 圖2為一依據本發明之密碼區塊鍊接加密方案概圖。明 碼文字程式資訊區塊轉換成一鍊接包含加密程式資訊區 塊,其包含識別資訊。在所示之例中,各加密程式資訊區 塊依據當時之明碼文字程式資訊區塊及一先前區塊之明碼 文字程式資訊而定。 顯示一識別電路2 0 3及一加密電路2 0 0。特別是,識別電 路203包括散列功能204、206及208及一加法器214。基本 上,散列功能2 0 4、2 0 6及2 0 8可使用先前討論之DF F Η功能 或任何散列功能。於散列功能2 0 4、2 0 6及2 0 8,將一鑰連 續加以散列以畏供加法器2 1 4 —散列值。加法器2 1 4同時接 收一零值或其它硬體已知值來提供一輸出給加密電路 200,其可包括一由加密功能218 '222及224代表之三重 D E S加密功能。 加密功能2 1 8接收一密秘鑰,其為低順序位址位元及一 DkR鑰經過X0R運算產/生,而加密功能2 2 2接收一高增序位址 位元及一 Dk5鑰經運算產生之密秘鑰,而加密功能224 接收一單元鑰及一經過X0R運算產生之密秘鑰。一加 \ι^Ζ-ν:Λ 職 響
O:\55\55i49.rtc 第50頁 ί ^445402 '_案號87116410 年月日 條正_ 五、發明說明(46) 法器2 2 6接收一來自加密功能2 2 4之輸出及明碼文字區Anm 並提供出密碼文字區塊Bn。加法器2 2 6基本上將明碼文字 資料作散列分佈。 明碼文字區塊Ai、_ . . 、ANq,可包括用以回復一資料傳 輪之程式資訊’並經由各別之三重密鑰功能接收,且亦提 供給後續密碼文字區塊做X〇r運算之用。例如,Αι由加密 功能228 '232及234處理,其各自對如圖所示之鑰反應。 一加法器2 3 6接收來自加密功能2 3 4之輸出及啟始向量(I V ) 以提供出密碼文字區塊&。 A?由加密功能2 4 2、2 4 4及2 4 6處理’其各自對如圖所示 之鑰反應。一加法器2 4 8接收一來自加密功能2 4 6之輸出及 明碼文字區A[以提供出密碼文字區塊β2。所以,B2是八1及八2 之共同功能。同樣地,ΑΝ_〗由加·密功能252、254及256處 理,其各自對如圖所示之鑰反應。一加法器2 5 8接收一來 自加密功能2 5 6之輸出及明碼文字區ΑΝ_2以提供出密碼文字 區塊。 該I V可以是零值’或是一位址資料之功能或是一提供給 區塊重排電路多工器112之單元鍵或是其它隨機功能。此 例假設一 8個位元組大小之區塊。此外,雖然例示之三重 DES對各DES作業使用了三個不同之鑰,可以使用較少或較 多之鑰。經由分開各循環以使用不同之錄而非單一錄,可 在一 DES作業中引入較多之鑰。 可使用額外之錄於加密功能中,且可執行額外及/或選 擇性加密步驟。雖然此並非是一定之需求,各密瑪文字區 塊加密功能最好是使用相同之加密演算法。
O:\55\55149.ptc 第51頁 445402 案號 87116410 年 月 曰 修正 五、發明說明(47) 這些密碼文字區塊,B,到,可提供給進一步之加密功 能,例如圖1之區塊重排電路多工器1 1 2,其依據一位址資 料訊號對此N區塊執行全區塊混雜。例如,有N = 8個區 塊,這些區塊依以下順序存於外部儲存裝置11 0内:Bt、 B3、B2、B5、B4、Bfi、B8、B7。由於其並非依連續位址存於 該儲存裝置内,這些區塊被稱為依隨機或非依序方式儲 存。 依以上所討.論之暫時重排方案,區塊基本上可依任何次 序傳送給區塊缓衝器,例如,B5、B3、B2、B6、B4、B7、 B8、,此與提供給區塊重排多工器電路1 1 2及儲存次序皆 不相同。 , 識別及加密功能及相關元件不必與外部儲存裝置1 1 0位 於同一區域。亦即,加密電路2.0 0可位於一有線電視系統 起頭端,或一衛星連接起點,而該儲存裝置為位於一消費 者家裡之回復接收器之一部份。識別及/或加密程式資訊 可經由任何傳統式通道提供給外部儲存裝置1 1 0,例如, 經由一電話、衛星、電纜電視連接、或電腦網路〇此識別 及/或加密程式資訊亦可經由一智慧卡安裝於本地區域, 或者外部儲存裝置11 0本身可以在安裝前就將加密程式資 訊載入並在回復接收器内啟動之。 再次參考圖1之回復接收器1 0 0,位址混雜器1 6 4使用之 位址資料可存於安全電路1 0 5之位址產生器1 6 0内。該位址 資料經由一位址產生器1 6 0提供予外部儲存裝置11 0以使加 密指令混雜區塊可以依一想要之順序讀出(例如,Β,、 Β,、. . · 、ΒΝ)。特別是,組成一鍊接之區塊可不依序自外
O:\55\55149.ptc 第52頁 445402 _案號 87116410_年月日__ 五、發明說明(48) 部儲存裝置1 1 0讀出以經由線1 1 3依非混雜次序提供區塊。 可依其需要,可將這些區塊自外部儲存裝置1 1 0傳送到安 全電路1 0 5,依混雜或隨機時序並使用區塊重排電路多工 器1 1 2於安全電路1 0 5上回復。位址資料亦可被外部儲存裝 置1 1 0使用來依混雜方式(如非依序順序)傳送不同區塊鍊 接。 位址資料及連續密碼區塊鍊接之密碼文字區塊Bt到B、.被 提供給一加密./解密電路120及安全電路105之識別電路 1 2 5。該加密/解密電路1 2 0使用位址資料來回復所要之密 碼區塊鍊接次序。重排亦可發生於區塊重排電路多工器 112。該加密/解密電路120亦自一安全電路105之啟始向 量,解密鑰以及識別鑰之儲存裝置1 5 0接收密秘解密鑰, 並執行一與密碼文字區塊演算反向之解密演算法。該解密 程序會在以下立即討論且亦與圖3連接。 使用區塊鍊接方案,各鍵接之區塊h到βΝ必需依序解 密。亦即,Β,為第一個解密,接著將結果用於解密Β2,並 繼續下去。一旦區塊I到:^,都解密之後,識別區塊,ΒΝ, 可被解密,且識別資訊(例如,檢驗和或散列)可由識別電 路1 2 5算出並用於識別該鍊接。正確之識別資訊可預先存 於識別電路1 2 5内並與算出之識別資訊相比較以提供必需 之確認。最後,得到數行明碼文字(例如,解密)程式資訊 並提供給快取1 4 0。 為了在外部儲存裝置1 1 0及安全電路1 0 5間安全埠訊,自 安全電路傳出之程式資訊亦需加以識別及/或加密。所 以,為了更動外部儲存裝置11 0内之位元組或字串資料,
0:\55\55149.ptc 第53頁 χ ;4 45 4 02 , , _mt 87116410 _年月日__ 五、發明說明(49) 整個區塊及區塊鍊接必須讀入安全電路,做出更動*接著 可計算出適當的識別資訊。在算出識別資訊後,新加密之 區塊資訊及更動之識別資訊被寫出,例如,使用簡單區塊 鍊接。該程式資訊可依與其被取出之次序不同之次序回寫 到儲存裝置。 除非其於儲存裝置内之位置改變不須寫出未更動之區 塊。使用密碼區塊鍊接,改變一區塊資料可改變後續鍊接 内之區塊。這些受到影響之區塊同樣亦需被寫出。 有時候安全電路需要以明碼方式與外界通訊,例如,印 表機、錯誤訊息、顯示作用、及其它類似者°因此,力口 密/解密電路120及/或識別電路125應有一關掉模式,可-用來有條件地繞過及傳輸程式資訊。在該種模式内,由於 不會有加密或識別之要求,程式資訊可能不會依區塊或鍊 接方式通訊。該種模式亦可用於系統除錯及測試。 不同鍊接長度可用於自儲存裝置傳輸不同種類程式資 訊。需求較少延遲之程式資訊可有較小鍊接長度。可容忍 較多延遲之程式資訊可有較長鍊接長度’因此省下相關識 別資訊之儲存空間。所以,各鍊接長度可依相對應鍊接程 式資訊之處理延遲而定。 例如,鍊接内可能只有二個區塊之程式資訊’一個給資 料而一個給識別資訊。就算只要改變一單一位元亦必須先 取得一完整程式資訊鍊接並解密,一資料之改變並不需立 即寫出到外部儲存裝置。資料可存於内部,例如’丨夬取1 4 0 内,直到需要更新外部儲存裝i時。此時,安全電路必須 將整個鍊接及變動回寫到外部儲存裝置。
O:\55\55149.ptc 第54頁 ^45402 _案號 871丨6410_年月日__ 五、發明說明(50) 再次參考加密/解密電路1 2 0,解密程式資訊提供給快 取140作為暫時儲存之用,並給一中央處理單元170作為 執行之用。該程式資訊可使用額外之處理硬體或軟體來對 一混雜資料傳輸解密及其它未示出但為本技藝所熟悉之步 驟中。 快取1 4 0為一 RAM,其提供一相對高速存取之缓衝器能 力,大小並可調整到儲存大量資料。快取1 4 0可儲存數以 千計個位元組,其對應到指令及許多區塊鍊接作業資料之 大小。中央處理單元可自一第一編碼區塊鍊接執行程式資 訊,而加密/解密電路1 2 0自一後續、第二個編碼區塊鍊 接將區塊解密。第二個鍊接可直接接在第一個鍊接之後, 或可與第一個鍊接之間相隔一或多個鍊接。所以,系統流 通量可因識別電路、解密電路及中央處理單元之重疊作用 而改善。通常,雖然程式資訊於中央處理單元内之執行時 間會比在加密/解密電路1 2 0内解密之時間快,可經由協 同解密及執行動作和最佳化用於加密/解密演算法之循環 次數,來增進效率。 額外之效率可經由寫入程式資訊,例如,指令,來實 現,其被中央處理單元執行以符合區塊鍊接傳送方案。特 別是,指令行内之程式資訊量可符合鍊接内之區塊大小及 區塊數目。例如,指令行應整個被載入區塊鍊接内而不是 分入兩鍊接内,以避免等候第二個鍊接解碼來回復一行内 之其餘指令。一指令通常只有數位元組長(例如,丨-4位 元組),所以一區塊鍊接通常會包括數個指令。 快取1 4 0可視需要接收來自位址產生器i 6 0之訊息以協同
0:\55\55149.ptc 第55頁 號 8711641η ^ 44540¾ 修正 年 月 五、發明說明(51) 儲存及傳送程式資訊a 可通知快取140有額外糾中央處理單元I70。例如,該訊號 路125、及加密/解衆支區塊鍊接要送到緩衝器、識別電 之程式資吼。 兑、電路1 2 0,以使快取1 4 0能接收額外 可以提供一或多他仏 . 入—好與快取140及中央處理單元1 70相交 ’: 0 ^ 同時,一小的内部R Ο Μ可用來儲存安全電 路105可能需^之啟動資訊或其它程式資訊 圖3為依彳本發明之密碼區塊鍊接解密方案概示圖。 該f示方案為f 2加密#案之對應。當需要照著所要順序 ,彳于搁位來解杜、%則執行重排。提供一識別電路3 〇 3及解 岔電路300。於該解密電路上,對各密碼文字區塊 I ' · . . 、Bx 解密。 首先’各別的密碼文字區塊與先前加密文字區塊或一啟 始向量做XOR運算。明確說來,匕及用於加密時之^被一 加法器3 2 0接收以提供一輸出到一三重D E s解密功能,包括 解社功能3 2 2、3 2 4及3 2 6。明碍文字區塊A,自解密功能3 2 6 輸出並提供給一加法器3 3 〇及一散列功能3 〇 4 ^在散列功能 3 0 4上,A,及一鑰進行散列以提供一輸出給連續散列功能 306及308,及一加法器310。 加法器3 3 0接收A!及B2以提供一輸出到解密功能3 3 2、3 34 及3 3 6以提供明碼文字區塊A2。同樣地,一加法器3 4 0接仗 Μ-2及Bn-i以提供一輸出到解密功能342、344及346以提供明 碼文字區塊。一加法器350接收識別區塊βΝ及 心-丨以提供一值給解密功能3 5 23 5 4及3 5 6。解密功能 356之輸出提供予一加法器310並與一來自散列功能308之
O:\55\55l49.pt 第56頁 445402, 87116410 年月曰 修正 五、發明說明(52) 散列值產生一壹或零值輸出。若輸出為零,則由於其與散 列值相符,識別值為有效,且設定一致能訊號以允許繼續 處理。然而,若加法器3 1 0之輸出為壹,則識別值無效, 且可能於警告電路1 6 2上啟始一警告狀態以提供一殺掉(清 除)訊號來清除部份或全部的啟始向量,解密鑰及識別鑰 之儲存裝置丨5 0内容。 當使用區塊重排時,一試圖試出程式資訊及認證資訊值 之盜取者可能.會產生無效之作業碼。無效作業碼係無相對 動作之十六位元資料指令。對於處理認證值或未被選出之 作業碼存在著不同之選擇。一種可能性為執行一安全電路 之重設,其會要求盜取者做另一攻擊時需重組並重新啟動 安全電路。 另一種可能性為使得安全電路内之處理器跳至一無窮" 不作業”(NO P )迴路。這是一種安全電路執行無價值作業之 狀態,讓盜取者需先偵測此不作業迴路,再強迫其本身重 新啟動、重設、並重新啟始安全電路以能執行另一次攻 擊。或者,可以計數預存值及解密值間不符之次數,以在 偵測到不符之次數超過門檻時清除一個或所有的儲存鑰。 這些鑰可能是可用外界知識於重大安全破壞之重要鑰 (sensitive keys)。其清除會導致原本完好單元之永久性 故障。 另一種可能的對策為清除一暫時鑰,例如一個傳送之 鑰,而非一在啟始或產生單元時載入之鑰。此強迫該盜取 者接觸網路服務提供者以進行重新認證,因而可能將該盜 取者曝光。在此強調安全性之較佳具體實施例中,所有鑰
0: \55\55l49.ptc 第57頁 445402 _案號87116410_年月曰__ 五、發明說明(53) 皆被清除。 圖4為一依攄本發明之簡單區塊鍊接加密方案概示圖。 如上所討論,此規劃可避免圖2及圖3之密碼區塊鍊接之延 遲特性。對所有明碼文字區塊之加密可各自執行,且基本 上平行執行。依據明碼文字區塊對識別資訊來加密及解 密。簡單區塊加密技術可能易受到盜取者較多之嘗試性攻 擊,然而,由於對一區塊之修改不會影響其它區塊,更不 會影響到識別.資訊。 提供一識別電路4 0 3及加密電路4 0 0。處理明碼文字程式 資訊區塊A,、A2、. . . 、Ax以分別提供對應之密碼文字I、 B 2、 . 、B \。一個密碼文字區塊,通常示為B i,為一識別 區塊,且可假設其位於任何其它密碼文字區塊間(例如,1 S i S N )。 在加密電路4 0 0上,區塊A,於一加密功能4 0 2上加密以提 供區塊B,,區塊於一加密功能4 0 4上加密以提供區塊B2, 區塊Aj;」於一加密功能4 0 8上加密以提供區塊,而區塊An 於一加密功能4 1 0上加密以提供區塊Bn。另外,提供各明 碼文字區塊給識別電路4 0 3内之一加法器4 1 2以供給一值給 一加密功能4 0 6來產生一密碼文字識別區塊,。B,可以是 第一個區塊B,,最後一個區塊BN,或是其中任一區塊。加 法器412亦可接收一零值或其它硬體知曉之值。 非識別區塊之各加密功能,例如,加密功能4 0 2、4 0 4、 408及410,可在同一 K,鑰下作業,其由XOR運算一早元 錄、高順序位址位元、一密秘* Du及低順序位址位元來產 生。識別區塊之加密功能,例如,加密功能4 0 6可於一不
O:\55\55149.ptc 第58頁 445402 _案號 87116410_年月日__ 五、發明說明(54) 同鑰,K2,之下作業,其係經由使用一密秘鑰Dk2來產生。 該等密碼文字區塊可提供給如先前所討論之區塊重排電 路。 依據本發明,識別資訊提供明碼文字區塊給一加法器 4 1 2而產生,其將明碼文字區塊A,、、. . . 、AN.做X 0 R運 算,並可視需要加入一預存值°加法器4 1 2之輸出接著於 加密功能4 0 6上加密以提供加密識別區塊B;。除了使用加 法器4 1 2,實際上可再加入任何散列功能或是用散列功能 替代加法器4 1 2。此外,各明碼文字區塊不必輸入到加法 器 412。 圖5為一依據本發明之簡單區塊鍊接解密方案概示圖。 該解密器為圖4加密器之對應。當要依所要之次序取得區 塊來解密時進行重排。 提供一解密電路500及識別電路503。解密功能502、 5 0 4、508及510如圖所示使用一1(|鑰各別對81、:62、6;^及1 加密文字區塊進行解密以提供明碼文字區塊、A2、Ay及 Ax。密碼文字識別區塊h於加密功能5 0 6上使用一不同鑰來 解密。各解密功能之輸出提供給一加法器5i2以提供一散 列值,其接著在一加法器5 1 4上與一預存硬體值進行運 算。 若加法器5 1 4之輸出為零,則該散列值與硬體值相同, 且識別資料被確認,並允許後續之處理程序。然而,若加 法器5 1 4之輸出為1 *則該散列值與硬體值不同,且識別資 料未被確認,故設定一警告狀龜。 圖6為一依據本發明之另一種密碼鑰產生器/回復接收
0:\55\55149.prc 第59頁 445402 _案號 87116410_年月曰__ 五、發明說明(55) 裝置之概示圖。與圖1相同號碼之元件對應到圖1之元件。 該接收器,通常示於6 0 0,包括各別用於第一個鍊接之第 一個、第二個及第N個區塊之鍊接區塊緩衝器1 3 0、1 3 2及 1 3 4,以及各別用於第二個鍊接之第一個、第二個及第Μ個 區塊之鍊接區塊緩衝器630、632及634。依此方案,二個 或多個區塊(各鍊接各一個)可同時在線1 1 3上通訊。此 外,額外之區塊缓衝器可自兩個以上之鍊接提供來儲存資 料。各鍊接可有相同或不同長度。 加密/解密電路1 2 0及識別電路1 2 5處理鍊接1 ,而加密 /解密電路620及識別電路625處理鍊接2。來自鑰儲存裝 置1 5 0之資料可依各鍊接之需求提供給電路1 2 0、1 2 5、6 2 0 及6 2 5。此外,雖然顯示如同分開之元件,識別電路1 2 5及 加密/解密電路120可與識別電..路625及加密/解密電路 620共享相同之電路。 圖6之具體實施例在使用密碼區塊鍊接時允許橫跨在兩 個或多個鍊接之上重排。如同所討論的,當使用密码I區塊 鍊接時,各鍊接内之區塊必須暫時儲存以回復識別區塊。 接收器6 0 0可因此提供平行處理兩個或多個密碼區塊鍊 接,鍊接範圍重排,或橫跨在兩個或多個鍊接之區塊範圍 重排(block-wise re-ordering)。 因此,可看出本發明提供一種裝置利用傳輸識別來回復 一混雜資料傳輸,且可視需要,將來自一外部儲存裝置之 程式資訊加密到一簡單區塊鍊接内之安全電路。加密及視 需要識別之程式資訊亦自外部儲存裝置傳送到密碼區塊鍊 接内之安全電路。此方案能較容易地允許對混雜之指令進
O:\55\55149.ptc 第60頁 445402 _87116410_年月日_«_ 五、發明說明¢56) 行修正及其它改變而不用更動安全電路。 此外,經由減少識別資訊負擔,使用區塊鍊接改善了系 統流通量及減少系統花費。更大之效率可經由提供一快取 來於一單一時脈循環内傳送二行或多行解密或識別程式資 訊給中央處理單元,及經由適當管理區塊解密與解密資料 傳送給快取及中央處理單元之時間來獲得。 本發明另一種具體實施例使用簡單區塊加密而不是密碼 區塊鍊接。依_此方案,鍊接之區塊和密瑪區塊鍊接一樣使 用一個大的認證欄位來認證。然而,區塊之鍊接基本上可 平行解密並識別而非依次進行。 除了在外部儲存裝置上混雜位址儲存資料外,同時提供 了使用任何例如位元組、區塊、及/或鍊接層級之欄位來 重排區塊鍊接。 此外,可提供一雙向能力以允許程式資訊自安全電路傳 送到外部儲存裝置。該程式資訊不需加密而只需加上安全 識別。 雖然本發明與不同特定具體實施例一起描述,那些熟知 本技藝之人士會體認到可對此做不同之適用及修正而不脫 離本發明申請專利範圍内提出之精神及範圍。 例如,本發明特別適於防止專屬軟體演算法之複製及反 向工程,及如同回復像付費電視節目資料傳輸之安全密碼 應用以防止未經授權之使用者接收到電視廣播。本發明亦 同樣適用於其它應用,包括終端機及電子資金交焉之智慧 卡,交易事前存取控制,電子遊戲,用於交易之期貨及股 票資料,經由網際網路(I n t e r n e t )或其它電腦網路傳送之
0:\55\55149.pic 第61頁 ^? 4 4 5 4 Ο 2 _案號87116410_年月日_Μ-_ 五、發明說明(57) 資料,等等。 另外,本發明可與其它加密方案相容,例如一資料流密 碼,或一資料流密碼及密碼區塊鍊接之組合,例如通用混 雜演算法(C S A )。 另一此種方案為公鑰加密。由於各區塊及鍊接尺寸相對 於可有2048位元(256個8位元組)之RSA公鑰系統模組尺寸 為小,其可以使用RSA來加密一個或多個程式資訊鍊接。 若使用R S A公鑰系統,則其能想使用一不平衡指數對 (unbalanced exponent pair),其中用於解密之私密指數 較小,例如,等於3。此會降低程式資訊之延遲。解密 後,識別資訊可如同上述之區塊加密技術來加以檢查,並 解密及檢查,或只是檢查。此會讓解密之識別值變得困 難。並且,如上所提,可混雜使用一密秘鑰及一公用鑰。
0:\55\55149.ptc 第62頁

Claims (1)

  1. 445402 _案號87116410_年月日_iMi_ 六、申請專利範圍 1 . 一種處理程式資訊之裝置,包括: 一安全電路,包括一中央處理單元一用以識別該程式資 訊之識別電路,及至少一個用以至少儲存一個程式資訊區 塊之區塊緩衝器; 一外部儲存裝置,其適於儲存該安全電路外部之程式資 訊; 一第一通訊路徑,其適於自該外部儲存裝置傳輸一组程 式資訊區塊到.至少一個第一區塊鍊接内之區塊緩衝器;及 一第二通訊路徑,其適於自至少一個區塊緩衝器傳輸該 程式資訊區塊到中央處理單元以於其中處理之。 2 ·如申請專利範圍第1項之裝置,其中 該區塊鍊接為一簡單區塊使得該組於第一區塊鍊接内之 區塊基本上被該識別電路平行處理。 3.如申請專利範圍第1項之裝置,其中: 該程式資訊之第一區塊鍊接及一後續第二區塊鍊接在外 部儲存裝置及該至少一個區塊缓衝器間通訊;且 該識別電路適於識別至少一部份之該第一區塊鍊接之程 式資訊,而至少一部份之該第二區塊鍊接經由該苐一通訊 路徑傳輸。 4 ·如申請專利範圍第1項之裝置,其中: 該第一通訊路徑適於自該儲存裝置傳輸程式資訊區塊到 至少一個第二鍊接内之缓衝器;且 該識別電路基本上適於同時識別來自於至少一部份之第 一區塊鍊接及一部份之第二鍊接上之程式資·訊。 5.如申請專利範圍第丨項之裝置,並包括:
    O:\55\55149.ptc 第63頁 1 " ^445402 _案號 87116410_年月曰_ίΜ:_ 六'申請專利蘇圍 一安排於該第二通訊路徑上之快取,其適於在該程式資 訊提供給中央處理單元之前先暫時儲存該識別程式資訊。 6. 如申請專利範圍第1項之裝置,並包括: 用於偵測程式資訊内之非法作業碼之工具。 7. 如申請專利範圍第1項之裝置,其中: 至少對部份之程式資訊加以散列以提供該區塊鍊接。 8. 如申請專利範圍第1項之裝置,並包括: 用以提供位址資訊給外部儲存裝置之位址產生工具,以 依所要之順序將程式資訊區塊自外部儲存裝置傳送給至少 一個該等區塊缓衝器。 - 9. 如申請專利範圍第1項之裝置,其中該程式資訊包括 許多將被該中央處理單元依序處理之字串。 1 0.如申請專利範圍第1項之裝置,其中: 該程式資訊區塊儲存於外部儲存裝置之混雜儲存位置 内。 1 1.如申請專利範圍第1項之裝置,其中: 有著基本上隨機變動之長度之該程式資訊鍊接,自外部 儲存裝置傳輸到該至少一個區塊緩衝器。 1 2.如申請專利範圍第1 1項之裝置,並包括: 用以提供位址資訊給外部儲存裝置之位址產生工具,以 依所要之順序將程式資訊區塊自外部儲存裝置傳送給至少 一個該等區塊缓衝器;其t : 基本上隨機變動之長度係依該位址資訊而定。. 1 3.如申請專利範圍第1項之裝置,並包括: 用以提供基本上第一區塊鍊接之隨機區塊範圍重排之工
    O:\55\55149.ptc 第64頁 4 4 5 4 Q- 案號 87U6410 年 月 曰 修正 六、申請專利範圍 具,及基本上隨機重排一個第一區塊鍊接之區塊以自外部 儲存裝置傳送一重排鍊接給至少一個區塊緩衝器。 1 4.如申請專利範圍第1項之裝置, 基本上使用隨機變動次序將該程式 部儲存裝置傳送給至少一個區塊缓衝 1 5.如申請專利範圍第1 4項之裝置 單元包括區塊鍊接。 1 6.如申請專利範圍第1項之裝置, 許多程式資訊依變動長度單元自外 安全電路;且 各單元之長度係依該相對應單元之 遲延而定。 1 7.如申請專利範圍第1項之裝置, 該程式資訊包括不被中央處理單元 1 8.如申請專利範圍第1項之裝置, 加密該儲存於外部儲存裝置内之程 該安全電路包括一解密電路,其對 資訊解密之區塊緩衝器做出反應;且 該第二個通訊路徑適於自解密電路 中央處理單元以於其中處理之。 1 9.如申請專利範圍第1 8項之裝置 該程式資訊之第一個區塊鍊接及其 在外部儲存裝置及至少一個區塊缓衝 該解密電路適於解密至少一部份之 式資訊,而至少一部份之該第二區塊 其中: 資訊之各個單元自外 器。 ’其中該程式資訊之 其中: 部儲存裝置傳送給該 相關程式資訊之處理 其中: 處理之無用資料。 其中: 式資訊; 至少一個將加密程式 傳輸解密程式資訊到 其中: 後續第二個區塊鍊接 器之間通訊;且 該第一區塊鍊接之程 鍊接經由該第一通訊
    C \55\55I49.ptc 第65頁 -U45402 案號87116410 年 月 曰 修正 六、申請專利範圍 路徑傳輸。 其中: 傳輸程式資訊區塊到 自於至少 程式資 並包括 .蠢V女 記憶體,其δ!於在該 前先暫時儲存該解密 其中: 〇 -並包括: 傳輸一組程式資訊區 存裝置。 並包括: 之加密電路。 其中該加密電路有 塊鍊接程式資訊之明 2 0.如申請專利範圍第ί 8項之裝置 該第一通訊路徑適於自該儲存裝置 至少一個第二鍊接内之緩衝器;且 該解密電路基本上適於同時解密來 一區塊鍊接及一部份之第二鍊接上之 2 1.如申請專利範圍第1 8項之裝置 一配置於該.第二通訊路徑上之快取 解密程式資訊提供給中央處理單元之 程式資訊。 2 2.如申請專利範圍第1 8項之裝置: 該第一區塊鍊接為一密瑪區塊鍊接 2 3.如申請專利範圍第i項之裝置, 一通訊路徑,其適於自該安全電路 塊到該於一第二區塊鍊接内之外部儲 2 4.如申請專利範圍第2 3項之裝置, 一用以加密程式資訊給第二區塊鍊接 2 5.如申請專利範圍第24項之裝置, 條件地回應位址資訊以允許一第二區 碼模式》 2 6.如申請專利範圍第2 3項之裝置,並包括: 一用以識別程式資訊給第二區塊鍊接之識別電路。 2 7.如申請專利範圍第2 6項之裝置,其中該識別電路有 條件地回應位址資訊以允許一第二區塊鍊接程式資訊之明 碼模式。
    0:\55\55149.ptc 第66頁 ί- 4 45 4 02 _案號 8m6410_年月 曰 修正_ 六、申請專利範圍 2 8.如申請專利範圍第2 3項之裝置,並包括: 一對第二個區塊鍊接隨機重排程式資訊之重新排序電 2 9.如申請專利範圍第2 3項之裝置,並包括: 一為了第二個區塊鍊接以隨機變動程式資訊單元長度之 長度決定電路。 3 0.如申請專利範圍第2 3項之裝置,並包括: 一無用資料插入電路以用來對第二個區塊鍊接加入無用 資料到程式資訊。 3 1.如申請專利範圍第1項之裝置,其中許多程式資訊鍊 接基本上依變動次序自外部儲存裝置傳送給該安全電路。 3 2. —種處理程式資訊之裝置,包括: 一提供該程式資訊之安全電路; 一外部儲存裝置,其適於儲存該安全電路外部之程式資 訊;且 一第一通訊路徑,其適於自該安全電路傳輸一組程式資 訊區塊到一第一區塊鍊接内之外部儲存裝置D 3 3.如申請專利範圍第32項之裝置,其中: 該程式資訊包括識別資料;且 該安全電路包括一識別電路以提供該識別資料.。 3 4.如申請專利範圍第3 3項之裝置,其中: 該區塊鍊接為一簡單區塊鍊接使得於第一區塊鍊接内之 區塊群組基本上被該識別電路平行處理以供應該識別資 料。 3 5.如申請專利範圍第3 3項之裝置,其中:
    0:\55\55149.ptc 第67頁 445 4 02 _案號 87116410_年月日__ 六、申請專利範圍 該識別電路散列至少部份程式資訊以提供該識別資料。 3 6.如申請專利範圍第3 2項之裝置,並包括: 用以提供位址資訊給外部儲存裝置之位址產生工具,用 來自該安全電路依所要之次序傳輸該程式資訊區塊到外部 儲存裝置。 3 7.如申請專利範圍第3 2項之裝置,其中: 該程式資訊區塊儲存於外部儲存裝置内之混雜之儲存位 置。 3 8.如申請專利範圍第3 2項之裝置,其中: 該有著隨機變動長度之程式資訊單元自該安全電路傳輸 到外部儲存裝置a 3 9.如申請專利範圍第3 2項之裝置,其中許多程式資訊 鍊接基本上依變動次序自該安全電路傳送給外部儲存裝 置。 4 0.如申請專利範圍第3 2項之裝置,並包括: 工具用來提供至少一個(a)第一個區塊鍊接之基本上隨 機區塊範圍重排,及(b )該第一個區塊鍊接之一基本上隨 機重排之區塊,以自該安全電路傳輸一重排鍊接到該外部 儲存裝置。 4 1.如申請專利範圍第3 2項之裝置,其中: _使用基本上隨機變動之次序將該程式資訊單元自該安全 電路傳輸到外部儲存裝置。 4 2 .如申請專利範圍第3 2項之裝置,其中: . 使用基本上隨機變動之長度將該程式資訊單元自該安全 電路傳輸到外部儲存裝置。
    O:\55\55149.ptc 第68頁 «87116410 年 月 曰 修正 六、申請專利範圍 4 3,如申請專利範圍第3 2項之裝置,其中: 該程式資訊包括不經由中央處理單元處理之無用資料。 4 4.如申請專利範圍第3 2項之裝置,其中該程式資訊於 區塊鍊接内提供。 4 5.如申請專利範圍第3 2項之裝置,其中: 該安全電路包括一用於加密該程式資訊之加密電路;且 該第一通訊路徑適於自該加密電路傳輸加密程式資訊到外 部儲存裝置。. 4 6.如申請專利範圍第4 5項之裝置,其中: 該程式區塊鍊接為一密碼區塊鍊接。 4 7.如申請專利範圍第3 2項之裝置,並包括: 一通訊路徑,其適於自該外部儲存裝置傳輸一組程式資 訊區塊到該於一第二區塊鍊接內之安全電路。 4 8.如申請專利範圍第47項之裝置,其中儲存於該外部 儲存裝置内之程式資訊被加密,該安全電路並包括: —用於對第二區塊鍊接内加密之程式資訊解密之安全電 路。 4 9. 一種處理加密程式資訊之裝置,包括: .一安全電路包括至少一個加密及解密電路,一中央處理 單元,及至少一個用以至少儲存一個以上程式資訊區塊之 區塊緩衝器; 一外部儲存裝置,其適於儲存該安全電路外部之程式資 訊; . —第一通訊路徑,其適於自該外部儲存裝置及至少一個 第一密碼區塊鍊接内之區塊緩衝器之間傳輸一組程式資訊
    O:\55\55149.pu 第69頁 445 4〇2 _案號87116410_年月日__ 六、申請專利範圍 區塊, 該至少一個加密及解密電路對該一個以上區塊缓衝器作 出反應以各別對該程式資訊加密或解密:且 一第二通訊路徑,其適於在該一個以上之加密及解密電 路及該中央處理單元之間傳輸程式資訊。
    O:\55\55149.ptc 第70頁
TW087116410A 1997-10-10 1998-10-02 Secure processor with external memory using block chaining and block re-ordering TW445402B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/949,111 US6061449A (en) 1997-10-10 1997-10-10 Secure processor with external memory using block chaining and block re-ordering

Publications (1)

Publication Number Publication Date
TW445402B true TW445402B (en) 2001-07-11

Family

ID=25488612

Family Applications (1)

Application Number Title Priority Date Filing Date
TW087116410A TW445402B (en) 1997-10-10 1998-10-02 Secure processor with external memory using block chaining and block re-ordering

Country Status (8)

Country Link
US (1) US6061449A (zh)
EP (2) EP0908810B1 (zh)
KR (1) KR19990037007A (zh)
CN (1) CN1236132A (zh)
CA (1) CA2249554A1 (zh)
DE (1) DE69833594T2 (zh)
IL (1) IL126448A (zh)
TW (1) TW445402B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509501B2 (en) 2003-01-24 2009-03-24 Samsung Electronics Co., Ltd. Cryptographic apparatus for supporting multiple modes
TWI737001B (zh) * 2018-12-25 2021-08-21 開曼群島商創新先進技術有限公司 身分核實方法及其系統

Families Citing this family (303)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6676127B2 (en) 1997-03-13 2004-01-13 Shuffle Master, Inc. Collating and sorting apparatus
US6385723B1 (en) * 1997-05-15 2002-05-07 Mondex International Limited Key transformation unit for an IC card
JP3567696B2 (ja) * 1997-09-24 2004-09-22 松下電器産業株式会社 ソフトウェアダウンロードシステム
US6655684B2 (en) 1998-04-15 2003-12-02 Shuffle Master, Inc. Device and method for forming and delivering hands from randomly arranged decks of playing cards
US6254096B1 (en) 1998-04-15 2001-07-03 Shuffle Master, Inc. Device and method for continuously shuffling cards
US6957341B2 (en) 1998-05-14 2005-10-18 Purdue Research Foundation Method and system for secure computational outsourcing and disguise
US6941463B1 (en) 1998-05-14 2005-09-06 Purdue Research Foundation Secure computational outsourcing techniques
US8457302B1 (en) * 1998-05-18 2013-06-04 Giesecke & Devrient Gmbh Access-controlled data storage medium
US20030118190A1 (en) * 1998-05-29 2003-06-26 Siemens Aktiengesellschaft Method and apparatus for processing data where a part of the current supplied is supplied to an auxiliary circuit
US6523118B1 (en) * 1998-06-29 2003-02-18 Koninklijke Philips Electronics N.V. Secure cache for instruction and data protection
JP3925586B2 (ja) * 1998-07-17 2007-06-06 ソニー株式会社 データ受信装置および方法ならびにデータ送受信システムおよび方法
DE19837808A1 (de) * 1998-08-20 2000-02-24 Orga Kartensysteme Gmbh Verfahren zur Ausführung eines Verschlüsselungsprogramms zur Verschlüsselung von Daten in einem mikroprozessorgestützten, tragbaren Datenträger
JP2000132404A (ja) * 1998-10-22 2000-05-12 Matsushita Electric Ind Co Ltd 命令列最適化装置
JP2000181796A (ja) * 1998-12-14 2000-06-30 Nec Corp 情報処理装置
US6195732B1 (en) * 1999-01-22 2001-02-27 Quantum Corp. Storage device capacity management
JP2003521834A (ja) * 1999-01-29 2003-07-15 ジェネラル・インストルメント・コーポレーション Cta間のシグナリングおよび呼び出しパケットを保護する電話呼び出しに関する鍵管理
JP2000250817A (ja) * 1999-03-02 2000-09-14 Tokyo Electron Ltd 記憶システム、記憶装置及び記憶データ保護方法
US7549056B2 (en) 1999-03-19 2009-06-16 Broadcom Corporation System and method for processing and protecting content
US7415110B1 (en) 1999-03-24 2008-08-19 Intel Corporation Method and apparatus for the generation of cryptographic keys
US6701432B1 (en) * 1999-04-01 2004-03-02 Netscreen Technologies, Inc. Firewall including local bus
US6618789B1 (en) * 1999-04-07 2003-09-09 Sony Corporation Security memory card compatible with secure and non-secure data processing systems
US7370348B1 (en) * 1999-07-30 2008-05-06 Intel Corporation Technique and apparatus for processing cryptographic services of data in a network system
AP1496A (en) * 1999-08-04 2005-11-17 Nagravision Sa Method and device for guaranteeing the integrity and authenticity of a set of data.
WO2001015163A1 (fr) * 1999-08-20 2001-03-01 Sony Corporation Dispositif d'enregistrement et de reproduction d'information
US6477252B1 (en) * 1999-08-29 2002-11-05 Intel Corporation Digital video content transmission ciphering and deciphering method and apparatus
US6947558B1 (en) 1999-08-29 2005-09-20 Intel Corporation Stream cipher having a shuffle network combiner function
US6920221B1 (en) 1999-08-29 2005-07-19 Intel Corporation Method and apparatus for protected exchange of status and secret values between a video source application and a video hardware interface
US6731758B1 (en) * 1999-08-29 2004-05-04 Intel Corporation Digital video content transmission ciphering and deciphering method and apparatus
US7068786B1 (en) 1999-08-29 2006-06-27 Intel Corporation Dual use block/stream cipher
US7287166B1 (en) 1999-09-03 2007-10-23 Purdue Research Foundation Guards for application in software tamperproofing
US7757097B2 (en) * 1999-09-03 2010-07-13 Purdue Research Foundation Method and system for tamperproofing software
FR2802669B1 (fr) 1999-12-15 2002-02-08 St Microelectronics Sa Procede non deterministe de transfert securise de donnees
US20070288765A1 (en) * 1999-12-22 2007-12-13 Kean Thomas A Method and Apparatus for Secure Configuration of a Field Programmable Gate Array
GB9930145D0 (en) * 1999-12-22 2000-02-09 Kean Thomas A Method and apparatus for secure configuration of a field programmable gate array
EP1473722B1 (en) * 2000-01-14 2010-09-22 Panasonic Corporation System and method for mutual authentication thereby scrambling information for accessing a confidential data storage area
US6701528B1 (en) * 2000-01-26 2004-03-02 Hughes Electronics Corporation Virtual video on demand using multiple encrypted video segments
US7240218B2 (en) * 2000-02-08 2007-07-03 Algotronix, Ltd. Method of using a mask programmed key to securely configure a field programmable gate array
US6983366B1 (en) * 2000-02-14 2006-01-03 Safenet, Inc. Packet Processor
AU2001239780A1 (en) * 2000-02-17 2001-08-27 Minds@Work Video content distribution system including an interactive kiosk, a portable content storage device, and a set-top box
US6853727B1 (en) 2000-03-23 2005-02-08 International Business Machines Corporation File table copy protection for a storage device when storing streaming content
US7054443B1 (en) * 2000-03-27 2006-05-30 Microsoft Corporation System and method for protecting digital goods using random and automatic code obfuscation
US6816843B1 (en) * 2000-04-06 2004-11-09 Daniel G. Baughman Method and apparatus for conducting purchases in private over a network
US6609226B1 (en) 2000-04-10 2003-08-19 Nortel Networks Limited Networking device and method for making cyclic redundancy check (CRC) immune to scrambler error duplication
CA2305078A1 (en) * 2000-04-12 2001-10-12 Cloakware Corporation Tamper resistant software - mass data encoding
US8590896B2 (en) 2000-04-12 2013-11-26 Shuffle Master Gmbh & Co Kg Card-handling devices and systems
US7000119B1 (en) 2000-04-20 2006-02-14 Realnetworks, Inc. Instruction/data protection employing derived obscuring instruction/data
US7003107B2 (en) 2000-05-23 2006-02-21 Mainstream Encryption Hybrid stream cipher
TWI239447B (en) 2000-06-02 2005-09-11 Koninkl Philips Electronics Nv Recordable storage medium with protected data area
WO2001098908A1 (en) * 2000-06-16 2001-12-27 Koninklijke Philips Electronics N.V. Watermark detector
FR2810425A1 (fr) * 2000-06-20 2001-12-21 Groupe Ecoles Telecomm Microprocesseur securise
FR2810481B1 (fr) * 2000-06-20 2003-04-04 Gemplus Card Int Controle d'acces a un moyen de traitement de donnees
US6986052B1 (en) 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
JP4337244B2 (ja) * 2000-07-25 2009-09-30 ソニー株式会社 Mpeg画像ストリームのデコード装置およびデコード方法
JP2002049310A (ja) * 2000-08-04 2002-02-15 Toshiba Corp 暗復号装置、認証装置及び記憶媒体
US20020016917A1 (en) * 2000-08-04 2002-02-07 Tomohiko Kitamura System integrated circuit
KR100346411B1 (ko) * 2000-08-26 2002-08-01 조인구 커널모드에서 파일을 자동으로 암호화, 복호화하는 방법,이를 이용한 파일 포인터 이동방법, 및 이들을프로그램화하여 수록한 컴퓨터로 읽을 수 있는 기록매체
JP2002082732A (ja) * 2000-09-06 2002-03-22 Nec Corp プログラムコードの不正改竄防止システム及びその方法並びにその制御プログラムを記録した記録媒体
US8281155B1 (en) * 2000-11-02 2012-10-02 Intel Corporation Content protection using block reordering
US8127326B2 (en) 2000-11-14 2012-02-28 Claussen Paul J Proximity detection using wireless connectivity in a communications system
EP1334617B1 (en) 2000-11-14 2015-04-01 Cisco Technology, Inc. Networked subscriber television distribution
EP1356653B1 (en) * 2001-01-24 2011-07-20 Broadcom Corporation Method for processing multiple security policies applied to a data packet structure
IL142487A0 (en) * 2001-04-05 2003-09-17 Hexalock Ltd Method and system for protecting data
WO2002093365A1 (en) 2001-05-11 2002-11-21 Sospita As Sequence numbering mechanism to ensure execution order integrity of inter-dependent smart card applications
US20060291650A1 (en) * 2001-05-22 2006-12-28 Viswanath Ananth State-varying hybrid stream cipher
US6950937B2 (en) * 2001-05-30 2005-09-27 Lucent Technologies Inc. Secure distributed computation in cryptographic applications
US20020188856A1 (en) * 2001-06-11 2002-12-12 Brian Worby Storage device with cryptographic capabilities
US20030001978A1 (en) * 2001-06-12 2003-01-02 Xsides Corporation Method and system for enhancing display functionality in a set-top box environment
GB0114317D0 (en) * 2001-06-13 2001-08-01 Kean Thomas A Method of protecting intellectual property cores on field programmable gate array
US7127618B2 (en) * 2001-06-28 2006-10-24 Koninklijke Philips Electronics N.V. Data protection via reversible data damage
US7251326B2 (en) 2001-06-29 2007-07-31 Harris Corporation Method and apparatus for data encryption
US20060174352A1 (en) * 2001-07-25 2006-08-03 Seagate Technology Llc Method and apparatus for providing versatile services on storage devices
US7925894B2 (en) * 2001-07-25 2011-04-12 Seagate Technology Llc System and method for delivering versatile security, digital rights management, and privacy services
US6996725B2 (en) 2001-08-16 2006-02-07 Dallas Semiconductor Corporation Encryption-based security protection for processors
US6918037B2 (en) * 2001-09-27 2005-07-12 Intel Corporation Method and apparatus for command perception by data value sequencing, allowing a bounded total amount of spurious data
US6901354B2 (en) * 2001-09-27 2005-05-31 Intel Corporation Method and apparatus for command perception by data value sequencing, allowing finite amount of unrelated interim data
US8011661B2 (en) 2001-09-28 2011-09-06 Shuffle Master, Inc. Shuffler with shuffling completion indicator
US7677565B2 (en) 2001-09-28 2010-03-16 Shuffle Master, Inc Card shuffler with card rank and value reading capability
US8038521B2 (en) 2001-09-28 2011-10-18 Shuffle Master, Inc. Card shuffling apparatus with automatic card size calibration during shuffling
GB0123419D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Data handling system
US7753373B2 (en) 2001-09-28 2010-07-13 Shuffle Master, Inc. Multiple mode card shuffler and card reading device
US8337296B2 (en) 2001-09-28 2012-12-25 SHFL entertaiment, Inc. Method and apparatus for using upstream communication in a card shuffler
US8616552B2 (en) 2001-09-28 2013-12-31 Shfl Entertainment, Inc. Methods and apparatuses for an automatic card handling device and communication networks including same
JP4226816B2 (ja) * 2001-09-28 2009-02-18 株式会社東芝 マイクロプロセッサ
ATE494692T1 (de) * 2001-10-03 2011-01-15 Nxp Bv Verfahren und system zur speicherverschlüsselung
FR2832574B1 (fr) * 2001-11-19 2004-02-27 Cyber Comm Appareil de certification, procede et dispositif pour authentifier une origine de message
US20030120938A1 (en) * 2001-11-27 2003-06-26 Miki Mullor Method of securing software against reverse engineering
KR100445406B1 (ko) * 2001-11-30 2004-08-25 주식회사 하이닉스반도체 데이터 암호화 장치 및 그 방법
GB0129065D0 (en) * 2001-12-05 2002-01-23 Philips Electronics Uk Ltd Method and apparatus for verifying the integrity of system data
US7117535B1 (en) * 2001-12-14 2006-10-03 Microsoft Corporation Software-generated machine identifier
FR2834174A1 (fr) * 2001-12-20 2003-06-27 Koninkl Philips Electronics Nv Detection optimisee d'un marquage au sein d'un signal d'information
TW573259B (en) * 2001-12-28 2004-01-21 Admtek Inc LIFM algorithm for security association database lookup in IPSec application
FR2834361B1 (fr) * 2001-12-28 2004-02-27 Bull Sa Module de securisation de donnees par chiffrement/dechiffrement et/ou signature/verification de signature
DE10200288A1 (de) * 2002-01-07 2003-07-17 Scm Microsystems Gmbh Eine Vorrichtung zur Ausführung von Anwendungen, die sichere Transaktionen und/oder Zugangskontrolle zu werthaltigen Inhalten und/oder Dienstleistungen umfassen, und Verfahren zum Schutz einer solchen Vorrichtung
US6886829B2 (en) 2002-02-08 2005-05-03 Vendingdata Corporation Image capturing card shuffler
US7606364B1 (en) 2002-04-23 2009-10-20 Seagate Technology Llc Disk drive with flexible data stream encryption
EP1615100B1 (en) * 2002-08-01 2007-07-04 Matsushita Electric Industrial Co., Ltd. Encrypted - program generating apparatus
US7516470B2 (en) 2002-08-02 2009-04-07 Cisco Technology, Inc. Locally-updated interactive program guide
US7908625B2 (en) 2002-10-02 2011-03-15 Robertson Neil C Networked multimedia system
US7360235B2 (en) 2002-10-04 2008-04-15 Scientific-Atlanta, Inc. Systems and methods for operating a peripheral record/playback device in a networked multimedia system
US8046806B2 (en) 2002-10-04 2011-10-25 Wall William E Multiroom point of deployment module
US7545935B2 (en) * 2002-10-04 2009-06-09 Scientific-Atlanta, Inc. Networked multimedia overlay system
DE10256587A1 (de) 2002-12-04 2004-06-17 Philips Intellectual Property & Standards Gmbh Datenverarbeitungseinrichtung, insbesondere elektronisches Speicherbauteil, und hierauf bezogenes Verschlüsselungsverfahren
US8094640B2 (en) 2003-01-15 2012-01-10 Robertson Neil C Full duplex wideband communications system for a local coaxial network
US7487532B2 (en) * 2003-01-15 2009-02-03 Cisco Technology, Inc. Optimization of a full duplex wideband communications system
JP4043388B2 (ja) * 2003-03-20 2008-02-06 ソニー株式会社 再生装置および再生方法
FR2853097B1 (fr) * 2003-03-24 2005-07-15 Innova Card Circuit programmable pourvu d'une memoire securisee
FR2853098B1 (fr) * 2003-03-24 2005-07-01 Innova Card Circuit pourvu d'un acces externe securise
US8510571B1 (en) 2003-03-24 2013-08-13 Hoi Chang System and method for inserting security mechanisms into a software program
ATE421826T1 (de) * 2003-03-27 2009-02-15 Panasonic Corp Inhaltsverteilungssystem mit integrierter aufzeichnungsrechteregelung
US20110081130A1 (en) * 2003-06-20 2011-04-07 ZOO Digital Limited, a Limited Company Obscuring data in an audiovisual product
US7472285B2 (en) * 2003-06-25 2008-12-30 Intel Corporation Apparatus and method for memory encryption with reduced decryption latency
EP1494460A1 (fr) * 2003-07-02 2005-01-05 THOMSON Licensing S.A. Procédé et dispositif d'authentification de données numériques par module d'extension d'authentification
TWI222598B (en) * 2003-07-09 2004-10-21 Sunplus Technology Co Ltd Device and method protecting data by scrambling address lines
TWI288348B (en) * 2003-07-09 2007-10-11 Sunplus Technology Co Ltd Processor using data block scrambling for data protection and method thereof
JP4404190B2 (ja) * 2003-07-24 2010-01-27 ソニー株式会社 電子機器、認証使用情報更新方法
DE10340861A1 (de) * 2003-09-04 2005-04-07 Infineon Technologies Ag Prozessorschaltung und Verfahren zum Zuordnen eines Logikchips zu einem Speicherchip
US20050071656A1 (en) * 2003-09-25 2005-03-31 Klein Dean A. Secure processor-based system and method
US20050094551A1 (en) * 2003-09-25 2005-05-05 Broadcom Corporation Processor instruction for DMT encoding
US7305608B2 (en) * 2003-09-25 2007-12-04 Broadcom Corporation DSL trellis encoding
US7751557B2 (en) * 2003-09-26 2010-07-06 Broadcom Corporation Data de-scrambler
US7734041B2 (en) * 2003-09-26 2010-06-08 Broadcom Corporation System and method for de-scrambling and bit-order-reversing payload bytes in an Asynchronous Transfer Mode cell
US7903810B2 (en) * 2003-09-26 2011-03-08 Broadcom Corporation Single instruction for data scrambling
US7756273B2 (en) * 2003-09-26 2010-07-13 Broadcom Corporation System and method for bit-reversing and scrambling payload bytes in an asynchronous transfer mode cell
US7580412B2 (en) * 2003-09-26 2009-08-25 Broadcom Corporation System and method for generating header error control byte for Asynchronous Transfer Mode cell
US7681046B1 (en) 2003-09-26 2010-03-16 Andrew Morgan System with secure cryptographic capabilities using a hardware specific digital secret
US7933950B1 (en) * 2003-10-02 2011-04-26 Tivo Inc. Secure control of features of a digital device
FR2861234A1 (fr) * 2003-10-17 2005-04-22 St Microelectronics Sa Chiffrement de donnees dans un appareil electronique a plusieurs processeurs symetriques
US7631292B2 (en) * 2003-11-05 2009-12-08 Microsoft Corporation Code individualism and execution protection
US7694151B1 (en) * 2003-11-20 2010-04-06 Johnson Richard C Architecture, system, and method for operating on encrypted and/or hidden information
FR2863076B1 (fr) * 2003-11-28 2006-02-03 Bull Sa Systeme cryptographique haut debit a architecture modulaire.
US7818572B2 (en) 2003-12-09 2010-10-19 Dominic Kotab Security system and method
US7543142B2 (en) * 2003-12-19 2009-06-02 Intel Corporation Method and apparatus for performing an authentication after cipher operation in a network processor
US20050149744A1 (en) * 2003-12-29 2005-07-07 Intel Corporation Network processor having cryptographic processing including an authentication buffer
US7512945B2 (en) 2003-12-29 2009-03-31 Intel Corporation Method and apparatus for scheduling the processing of commands for execution by cryptographic algorithm cores in a programmable network processor
US7529924B2 (en) * 2003-12-30 2009-05-05 Intel Corporation Method and apparatus for aligning ciphered data
KR100604828B1 (ko) * 2004-01-09 2006-07-28 삼성전자주식회사 펌웨어 암호화 방법 및 해독 방법과 그 처리 장치
US20050177504A1 (en) * 2004-02-10 2005-08-11 Bottomline Technologies (De) Inc. System and method for remotely authorizing a payment transaction file over an open network
US7236957B2 (en) * 2004-02-10 2007-06-26 Bottomline Technologies (De) Inc. Method for remotely authorizing a payment transaction file over an open network
JP4294514B2 (ja) * 2004-03-05 2009-07-15 シャープ株式会社 半導体装置および電子装置
CN100416519C (zh) * 2004-04-26 2008-09-03 松下电器产业株式会社 进行加密或解密的计算机系统和方法
US20060143454A1 (en) * 2004-05-27 2006-06-29 Silverbrook Research Pty Ltd Storage of multiple keys in memory
DE602005009439D1 (de) * 2004-07-06 2008-10-16 Proton World Int Nv Stromverschlüsselung des Inhalts eines Speichers, welcher ausserhalb eines Prozessors angeordnet ist
EP1615369A1 (fr) * 2004-07-06 2006-01-11 Proton World International N.V. Chiffrement par blocs du contenu d'une mémoire externe à un processeur
US7890992B2 (en) 2004-08-19 2011-02-15 Cisco Technology, Inc. Method and apparatus for selection of authentication servers based on the authentication mechanisms in supplicant attempts to access network resources
US7653802B2 (en) 2004-08-27 2010-01-26 Microsoft Corporation System and method for using address lines to control memory usage
US7444523B2 (en) * 2004-08-27 2008-10-28 Microsoft Corporation System and method for using address bits to signal security attributes of data in the address space
US7734926B2 (en) 2004-08-27 2010-06-08 Microsoft Corporation System and method for applying security to memory reads and writes
US7822993B2 (en) 2004-08-27 2010-10-26 Microsoft Corporation System and method for using address bits to affect encryption
US20060047955A1 (en) * 2004-08-30 2006-03-02 Axalto Inc. Application code integrity check during virtual machine runtime
US20060059369A1 (en) * 2004-09-10 2006-03-16 International Business Machines Corporation Circuit chip for cryptographic processing having a secure interface to an external memory
US7818574B2 (en) 2004-09-10 2010-10-19 International Business Machines Corporation System and method for providing dynamically authorized access to functionality present on an integrated circuit chip
US20060066048A1 (en) 2004-09-14 2006-03-30 Shuffle Master, Inc. Magnetic jam detection in a card shuffler
US7418100B2 (en) * 2004-10-20 2008-08-26 Cisco Technology, Inc. Enciphering method
JP2008530663A (ja) * 2005-02-11 2008-08-07 ユニバーサル データ プロテクション コーポレーション マイクロプロセッサのデータセキュリティの方法およびシステム
US20060218581A1 (en) * 2005-03-01 2006-09-28 Barbara Ostrowska Interactive network guide with parental monitoring
JP2006279644A (ja) * 2005-03-30 2006-10-12 Fujitsu Ltd 暗号化システム、暗号化装置、復号化装置、暗号化・復号化方法、暗号化方法および復号化方法
US7433980B1 (en) * 2005-04-21 2008-10-07 Xilinx, Inc. Memory of and circuit for rearranging the order of data in a memory having asymmetric input and output ports
US20090217008A1 (en) * 2005-04-21 2009-08-27 Taichi Sato Program conversion device, and secret keeping program
EP1717723A1 (en) * 2005-04-29 2006-11-02 ST Incard S.r.l. Improved virtual machine or hardware processor for IC-card portable electronic devices
US7764836B2 (en) 2005-06-13 2010-07-27 Shuffle Master, Inc. Card shuffler with card rank and value reading capability using CMOS sensor
EP1742412B1 (fr) * 2005-07-05 2009-01-14 St Microelectronics S.A. Vérification d'une quantité numérique stockée dans une zone mémoire
US20070177433A1 (en) * 2005-09-07 2007-08-02 Jean-Francois Poirier Method and system for data security of recording media
US8468361B2 (en) * 2005-09-21 2013-06-18 Broadcom Corporation System and method for securely provisioning and generating one-time-passwords in a remote device
US7876998B2 (en) 2005-10-05 2011-01-25 Wall William E DVD playback over multi-room by copying to HDD
US20080031451A1 (en) * 2005-11-14 2008-02-07 Jean-Francois Poirier Method and system for security of data transmissions
US7496727B1 (en) 2005-12-06 2009-02-24 Transmeta Corporation Secure memory access system and method
JP4908026B2 (ja) * 2006-03-22 2012-04-04 株式会社東芝 情報処理装置
US7556266B2 (en) 2006-03-24 2009-07-07 Shuffle Master Gmbh & Co Kg Card shuffler with gravity feed system for playing cards
JP4767057B2 (ja) * 2006-03-27 2011-09-07 富士通株式会社 ハッシュ値生成プログラム、ストレージ管理プログラム、判定プログラム及びデータ変更検証装置
US7539890B2 (en) * 2006-04-25 2009-05-26 Seagate Technology Llc Hybrid computer security clock
US8429724B2 (en) * 2006-04-25 2013-04-23 Seagate Technology Llc Versatile access control system
US8028166B2 (en) * 2006-04-25 2011-09-27 Seagate Technology Llc Versatile secure and non-secure messaging
US8342525B2 (en) 2006-07-05 2013-01-01 Shfl Entertainment, Inc. Card shuffler with adjacent card infeed and card output compartments
US8579289B2 (en) 2006-05-31 2013-11-12 Shfl Entertainment, Inc. Automatic system and methods for accurate card handling
US8353513B2 (en) 2006-05-31 2013-01-15 Shfl Entertainment, Inc. Card weight for gravity feed input for playing card shuffler
DE102007026977B4 (de) * 2006-06-07 2012-03-08 Samsung Electronics Co., Ltd. Kryptographisches System und zugehöriges Betriebsverfahren und Computerprogrammprodukt
KR100837270B1 (ko) * 2006-06-07 2008-06-11 삼성전자주식회사 스마트 카드 및 그것의 데이터 보안 방법
US8108692B1 (en) 2006-06-27 2012-01-31 Siliconsystems, Inc. Solid-state storage subsystem security solution
US8070574B2 (en) 2007-06-06 2011-12-06 Shuffle Master, Inc. Apparatus, system, method, and computer-readable medium for casino card handling with multiple hand recall feature
US9178693B2 (en) * 2006-08-04 2015-11-03 The Directv Group, Inc. Distributed media-protection systems and methods to operate the same
US9225761B2 (en) * 2006-08-04 2015-12-29 The Directv Group, Inc. Distributed media-aggregation systems and methods to operate the same
US8301890B2 (en) * 2006-08-10 2012-10-30 Inside Secure Software execution randomization
US7613907B2 (en) * 2006-08-11 2009-11-03 Atmel Corporation Embedded software camouflage against code reverse engineering
US7984301B2 (en) * 2006-08-17 2011-07-19 Inside Contactless S.A. Bi-processor architecture for secure systems
US7554865B2 (en) * 2006-09-21 2009-06-30 Atmel Corporation Randomizing current consumption in memory devices
US8001607B2 (en) * 2006-09-27 2011-08-16 Direct Computer Resources, Inc. System and method for obfuscation of data across an enterprise
US7870395B2 (en) 2006-10-20 2011-01-11 International Business Machines Corporation Load balancing for a system of cryptographic processors
US8919775B2 (en) 2006-11-10 2014-12-30 Bally Gaming, Inc. System for billing usage of an automatic card handling device
US7724918B2 (en) * 2006-11-22 2010-05-25 International Business Machines Corporation Data obfuscation of text data using entity detection and replacement
FR2909466A1 (fr) * 2006-12-05 2008-06-06 Logiways France Sa Procede et dispositif de memorisation securisee de donnees dans une memoire permanente de type a adressage par blocs
US7890559B2 (en) 2006-12-22 2011-02-15 International Business Machines Corporation Forward shifting of processor element processing for load balancing
US7953221B2 (en) * 2006-12-28 2011-05-31 Intel Corporation Method for processing multiple operations
US7925009B2 (en) * 2007-05-25 2011-04-12 Red Hat, Inc. Hybrid data encryption
US8189769B2 (en) * 2007-07-31 2012-05-29 Apple Inc. Systems and methods for encrypting data
US8265272B2 (en) * 2007-08-29 2012-09-11 Red Hat, Inc. Method and an apparatus to generate pseudo random bits for a cryptographic key
US8781117B2 (en) * 2007-08-29 2014-07-15 Red Hat, Inc. Generating pseudo random bits from polynomials
WO2009101483A1 (en) * 2008-02-15 2009-08-20 Freescale Semiconductor, Inc. Semiconductor device and method for storing data
US8416947B2 (en) 2008-02-21 2013-04-09 Red Hat, Inc. Block cipher using multiplication over a finite field of even characteristic
US7945049B2 (en) * 2008-02-28 2011-05-17 Red Hat, Inc. Stream cipher using multiplication over a finite field of even characteristic
US8560587B2 (en) * 2008-05-22 2013-10-15 Red Hat, Inc. Non-linear mixing of pseudo-random number generator output
US8588412B2 (en) 2008-05-23 2013-11-19 Red Hat, Inc. Mechanism for generating pseudorandom number sequences
US8675868B1 (en) 2008-07-01 2014-03-18 Maxim Integrated Products, Inc. Encrypting an address-dependent value along with code to prevent execution or use of moved code
US8615492B1 (en) * 2008-07-29 2013-12-24 Symantec Corporation Techniques for providing multiplexed data for backup
US9336160B2 (en) * 2008-10-30 2016-05-10 Qualcomm Incorporated Low latency block cipher
US8358781B2 (en) * 2008-11-30 2013-01-22 Red Hat, Inc. Nonlinear feedback mode for block ciphers
EP2196937A1 (en) * 2008-12-15 2010-06-16 Thomson Licensing Methods and devices for instruction level software encryption
US8364601B2 (en) * 2008-12-31 2013-01-29 Intel Corporation Methods and systems to directly render an image and correlate corresponding user input in a secure memory domain
US8195932B2 (en) * 2009-01-30 2012-06-05 Texas Instruments Incorporated Authentication and encryption for secure data transmission
WO2010109516A1 (ja) * 2009-03-23 2010-09-30 富士通株式会社 データ処理装置及びデータ処理方法
US8967621B2 (en) 2009-04-07 2015-03-03 Bally Gaming, Inc. Card shuffling apparatuses and related methods
US7988152B2 (en) 2009-04-07 2011-08-02 Shuffle Master, Inc. Playing card shuffler
US8356184B1 (en) 2009-06-25 2013-01-15 Western Digital Technologies, Inc. Data storage device comprising a secure processor for maintaining plaintext access to an LBA table
EP2280365B1 (en) * 2009-07-27 2012-07-18 Nagravision S.A. A processor-implemented method for ensuring software integrity
US8577024B2 (en) * 2009-07-28 2013-11-05 Vixs Systems, Inc Concealing plain text in scrambled blocks
WO2011041419A1 (en) * 2009-09-30 2011-04-07 Amazon Technologies, Inc. Modular device authentication framework
US8526605B2 (en) * 2009-10-09 2013-09-03 Seagate Technology Llc Data encryption to provide data security and memory cell bit wear leveling
KR101687439B1 (ko) * 2010-07-22 2016-12-16 나그라비젼 에스에이 소프트웨어 무결성을 보장하기위한 프로세서 실행 방법
US8800993B2 (en) 2010-10-14 2014-08-12 Shuffle Master Gmbh & Co Kg Card handling systems, devices for use in card handling systems and related methods
CN102541762A (zh) * 2010-12-27 2012-07-04 北京国睿中数科技股份有限公司 用于外部存储器的数据保护器和数据保护方法
US8665311B2 (en) * 2011-02-17 2014-03-04 Vbrick Systems, Inc. Methods and apparatus for collaboration
US8745408B2 (en) * 2011-04-08 2014-06-03 Infineon Technologies Ag Instruction encryption/decryption arrangement and method with iterative encryption/decryption key update
US8485527B2 (en) 2011-07-29 2013-07-16 Savant Shuffler LLC Card shuffler
US9731190B2 (en) 2011-07-29 2017-08-15 Bally Gaming, Inc. Method and apparatus for shuffling and handling cards
US20130061298A1 (en) * 2011-09-01 2013-03-07 International Business Machines Corporation Authenticating session passwords
US9305142B1 (en) 2011-12-19 2016-04-05 Western Digital Technologies, Inc. Buffer memory protection unit
EP2626804B1 (en) * 2012-02-09 2017-09-13 Inside Secure Method for managing memory space in a secure non-volatile memory of a secure element
US9141809B2 (en) * 2012-07-23 2015-09-22 Qualcomm Incorporated Method and apparatus for deterring a timing-based glitch attack during a secure boot process
US8960674B2 (en) 2012-07-27 2015-02-24 Bally Gaming, Inc. Batch card shuffling apparatuses including multi-card storage compartments, and related methods
US9355277B2 (en) * 2012-08-31 2016-05-31 Ncr Corporation Installable secret functions for a peripheral
US9378766B2 (en) 2012-09-28 2016-06-28 Bally Gaming, Inc. Card recognition system, card handling device, and method for tuning a card handling device
US9511274B2 (en) 2012-09-28 2016-12-06 Bally Gaming Inc. Methods for automatically generating a card deck library and master images for a deck of cards, and a related card processing apparatus
US10103876B2 (en) * 2012-10-17 2018-10-16 Synopsys, Inc. System and method for multichannel cryptographic processing
US9262639B2 (en) * 2013-01-09 2016-02-16 Cisco Technology Inc. Plaintext injection attack protection
TWI498737B (zh) * 2013-03-29 2015-09-01 Mstar Semiconductor Inc 用於主機板控制模組之除錯權限判斷方法及相關主機板控制模組
US9215067B2 (en) 2013-04-05 2015-12-15 International Business Machines Corporation Achieving storage efficiency in presence of end-to-end encryption using downstream decrypters
EP3120589B1 (en) * 2014-03-21 2017-08-09 Telefonaktiebolaget LM Ericsson (publ) Addressing for device to device communications
SG10201706403RA (en) 2014-04-11 2017-09-28 Bally Gaming Inc Method and apparatus for shuffling and handling cards
US9474957B2 (en) 2014-05-15 2016-10-25 Bally Gaming, Inc. Playing card handling devices, systems, and methods for verifying sets of cards
USD764599S1 (en) 2014-08-01 2016-08-23 Bally Gaming, Inc. Card shuffler device
US9566501B2 (en) 2014-08-01 2017-02-14 Bally Gaming, Inc. Hand-forming card shuffling apparatuses including multi-card storage compartments, and related methods
US9504905B2 (en) 2014-09-19 2016-11-29 Bally Gaming, Inc. Card shuffling device and calibration method
CN105721154B (zh) * 2014-12-05 2020-02-18 航天信息股份有限公司 一种基于Android平台通讯接口的加密保护方法
US10747907B2 (en) * 2014-12-16 2020-08-18 Cryptography Research, Inc. Buffer access for side-channel attack resistance
DE102015201430A1 (de) 2015-01-28 2016-07-28 Ihp Gmbh - Innovations For High Performance Microelectronics / Leibniz-Institut Für Innovative Mikroelektronik Intrinsische Authentifizierung von Programcode
US10558996B2 (en) * 2015-06-09 2020-02-11 Fidelity National Information Services, Llc Methods and systems for regulating operation of units using encryption techniques associated with a blockchain
US9993719B2 (en) 2015-12-04 2018-06-12 Shuffle Master Gmbh & Co Kg Card handling devices and related assemblies and components
KR20180115768A (ko) 2016-02-23 2018-10-23 엔체인 홀딩스 리미티드 블록체인으로부터 데이터의 안전한 추출을 위한 암호화 방법 및 시스템
GB2561729A (en) 2016-02-23 2018-10-24 Nchain Holdings Ltd Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
SG10202007904SA (en) 2016-02-23 2020-10-29 Nchain Holdings Ltd A method and system for securing computer software using a distributed hash table and a blockchain
EA201891829A1 (ru) 2016-02-23 2019-02-28 Нчейн Холдингс Лимитед Способ и система для эффективного перевода криптовалюты, связанной с заработной платой, в блокчейне для создания способа и системы автоматизированной выплаты заработной платы на основе смарт-контрактов
US11606219B2 (en) 2016-02-23 2023-03-14 Nchain Licensing Ag System and method for controlling asset-related actions via a block chain
AU2017222421B2 (en) 2016-02-23 2022-09-01 nChain Holdings Limited Personal device security using elliptic curve cryptography for secret sharing
CN117611331A (zh) 2016-02-23 2024-02-27 区块链控股有限公司 用于使用区块链在点对点分布式账簿上有效转移实体的方法及系统
ES2680851T3 (es) 2016-02-23 2018-09-11 nChain Holdings Limited Registro y método de gestión automática para contratos inteligentes ejecutados por cadena de bloques
AU2017223133B2 (en) 2016-02-23 2022-09-08 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
BR112018016821A2 (pt) 2016-02-23 2018-12-26 Nchain Holdings Ltd sistema e métodos implementados por computador
CN115641131A (zh) 2016-02-23 2023-01-24 区块链控股有限公司 在区块链上安全转移实体的方法和系统
US11182782B2 (en) 2016-02-23 2021-11-23 nChain Holdings Limited Tokenisation method and system for implementing exchanges on a blockchain
JP6925346B2 (ja) 2016-02-23 2021-08-25 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンベースのトークナイゼーションを用いた交換
WO2017145004A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
JP6833861B2 (ja) 2016-02-23 2021-02-24 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンシステム内におけるフィードバックを統合したエージェントベースチューリング完全なトランザクション
DE202016101111U1 (de) 2016-03-02 2016-04-07 Omp Telematics Gmbh Vorrichtung zur Verteilung und Ausführung von verschlüsselten Programmen
WO2018046009A1 (zh) * 2016-09-12 2018-03-15 上海鼎利信息科技有限公司 一种区块链身份系统
US10339765B2 (en) 2016-09-26 2019-07-02 Shuffle Master Gmbh & Co Kg Devices, systems, and related methods for real-time monitoring and display of related data for casino gaming devices
US10933300B2 (en) 2016-09-26 2021-03-02 Shuffle Master Gmbh & Co Kg Card handling devices and related assemblies and components
US11146535B2 (en) 2016-10-12 2021-10-12 Bank Of America Corporation System for managing a virtual private ledger and distributing workflow of authenticated transactions within a blockchain distributed network
US10361853B2 (en) 2016-10-12 2019-07-23 Bank Of America Corporation Automated data authentication and service authorization via cryptographic keys in a private blockchain
CN108073353B (zh) * 2016-11-15 2020-04-14 华为技术有限公司 一种数据处理的方法及装置
US10158611B2 (en) 2016-11-17 2018-12-18 Bank Of America Corporation System for multiplexing and demultiplexing blockchain ledgers via a cryptographic hash
US10257206B2 (en) 2016-12-21 2019-04-09 International Business Machines Corporation Monitoring actions performed by a network of peer devices using a blockchain
DE102017000167A1 (de) 2017-01-11 2018-07-12 Giesecke+Devrient Mobile Security Gmbh Anonymisierung einer Blockkette
US10679210B2 (en) 2017-06-26 2020-06-09 International Business Machines Corporation Blockchain transaction commitment ordering
GB2564878B (en) * 2017-07-25 2020-02-26 Advanced Risc Mach Ltd Parallel processing of fetch blocks of data
US10818121B2 (en) 2017-09-15 2020-10-27 Panasonic Intellectual Property Corporation Of America Electronic voting system and control method
EP3457622B1 (en) * 2017-09-15 2024-03-06 Panasonic Intellectual Property Corporation of America Electronic voting system
US10818122B2 (en) 2017-09-15 2020-10-27 Panasonic Intellectual Property Corporation Of America Electronic voting system and control method
EP3457623B1 (en) * 2017-09-15 2024-03-06 Panasonic Intellectual Property Corporation of America Electronic voting system
JP7064947B2 (ja) * 2017-09-15 2022-05-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 電子投票システム、及び、制御方法
JP7064950B2 (ja) * 2017-09-15 2022-05-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 電子投票システム、及び、制御方法
US10388097B1 (en) 2018-01-29 2019-08-20 Accenture Global Solutions Limited Blockchain-based cryptologic ballot verification
EP3518188A1 (en) * 2018-01-29 2019-07-31 Accenture Global Solutions Limited Blockchain-based anonymized cryptologic voting
US20190278930A1 (en) * 2018-03-08 2019-09-12 FHOOSH, Inc. Integrated circuits for secure data storage and retrieval
US10256974B1 (en) * 2018-04-25 2019-04-09 Blockchain Asics Llc Cryptographic ASIC for key hierarchy enforcement
GB201807612D0 (en) 2018-05-10 2018-06-27 Rolls Royce Plc Structured file encryption process
US11017128B2 (en) 2018-05-22 2021-05-25 Seagate Technology Llc Data security using bit transposition during memory accesses
US10585779B2 (en) * 2018-07-30 2020-03-10 General Electric Company Systems and methods of requirements chaining and applications thereof
US11113422B2 (en) * 2018-08-03 2021-09-07 Micron Technology, Inc. Data protection in computer processors
US11896891B2 (en) 2018-09-14 2024-02-13 Sg Gaming, Inc. Card-handling devices and related methods, assemblies, and components
US11376489B2 (en) 2018-09-14 2022-07-05 Sg Gaming, Inc. Card-handling devices and related methods, assemblies, and components
US11338194B2 (en) 2018-09-28 2022-05-24 Sg Gaming, Inc. Automatic card shufflers and related methods of automatic jam recovery
US11100254B2 (en) * 2018-12-05 2021-08-24 Micron Technology, Inc. Processors with security levels adjustable per applications
US11924327B2 (en) * 2019-01-09 2024-03-05 British Telecommunications Public Limited Company Variable data protection
US11347860B2 (en) 2019-06-28 2022-05-31 Seagate Technology Llc Randomizing firmware loaded to a processor memory
PH12020050309A1 (en) 2019-09-10 2021-03-22 Shuffle Master Gmbh And Co Kg Card-handling devices with defect detection and related methods
US11173383B2 (en) 2019-10-07 2021-11-16 Sg Gaming, Inc. Card-handling devices and related methods, assemblies, and components
US11526859B1 (en) 2019-11-12 2022-12-13 Bottomline Technologies, Sarl Cash flow forecasting using a bottoms-up machine learning approach
US11532040B2 (en) 2019-11-12 2022-12-20 Bottomline Technologies Sarl International cash management software using machine learning
CN111415259B (zh) * 2020-03-26 2024-02-06 杭州复杂美科技有限公司 交易排队方法、设备和存储介质
US11704671B2 (en) 2020-04-02 2023-07-18 Bottomline Technologies Limited Financial messaging transformation-as-a-service
CN112069091B (zh) * 2020-08-17 2023-09-01 北京科技大学 一种应用于分子动力学模拟软件的访存优化方法及装置
KR20230145166A (ko) * 2021-04-02 2023-10-17 구글 엘엘씨 읽기 전용 메모리(rom) 보안
CN113596042A (zh) * 2021-08-03 2021-11-02 拉卡拉汇积天下技术服务(北京)有限公司 信息投递方法、装置、系统、电子设备及存储介质
US20240187264A1 (en) * 2022-12-05 2024-06-06 Aleo Systems, Inc. Key derivation for account management

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4074066A (en) * 1976-04-26 1978-02-14 International Business Machines Corporation Message verification and transmission error detection by block chaining
CH607506A5 (zh) * 1976-06-01 1978-12-29 Europ Handelsges Anst
US4465901A (en) * 1979-06-04 1984-08-14 Best Robert M Crypto microprocessor that executes enciphered programs
US4319079A (en) * 1979-09-13 1982-03-09 Best Robert M Crypto microprocessor using block cipher
GB2163577B (en) * 1984-08-23 1988-01-13 Nat Res Dev Software protection device
GB8704920D0 (en) * 1987-03-03 1987-04-08 Hewlett Packard Co Secure messaging system
DE68926200T2 (de) * 1988-08-11 1996-10-17 Ibm Geheime Datenübertragung mittels Steuervektoren
FR2728980B1 (fr) * 1994-12-30 1997-01-31 Thomson Csf Dispositif de securisation de systemes d'information organises autour de microprocesseurs

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509501B2 (en) 2003-01-24 2009-03-24 Samsung Electronics Co., Ltd. Cryptographic apparatus for supporting multiple modes
TWI737001B (zh) * 2018-12-25 2021-08-21 開曼群島商創新先進技術有限公司 身分核實方法及其系統

Also Published As

Publication number Publication date
CA2249554A1 (en) 1999-04-10
CN1236132A (zh) 1999-11-24
IL126448A0 (en) 1999-08-17
EP0908810B1 (en) 2006-03-01
DE69833594D1 (de) 2006-04-27
EP1571523A1 (en) 2005-09-07
KR19990037007A (ko) 1999-05-25
DE69833594T2 (de) 2006-12-28
EP0908810A2 (en) 1999-04-14
US6061449A (en) 2000-05-09
EP0908810A3 (en) 2003-10-01
IL126448A (en) 2002-08-14

Similar Documents

Publication Publication Date Title
TW445402B (en) Secure processor with external memory using block chaining and block re-ordering
US8213612B2 (en) Secure software download
US5625690A (en) Software pay per use system
CN1581118B (zh) 安全设备、信息处理终端、集成电路、应用装置及方法
JP4267065B2 (ja) 無許可使用に対するソフトウェアの保護
JP5775738B2 (ja) 情報処理装置、セキュアモジュール、情報処理方法、および情報処理プログラム
TW413988B (en) Cryptographic system
US6014745A (en) Protection for customer programs (EPROM)
US5214698A (en) Method and apparatus for validating entry of cryptographic keys
JP2746352B2 (ja) 遠隔位置に設置したコンピュータによる通信のための機密防護通信システム及び方法
US8953792B2 (en) Combining key control information in common cryptographic architecture services
EP0002390B1 (en) Method for cryptographic file security in multiple domain data processing systems
EP3264316B1 (en) Using secure key storage to bind a white-box implementation to one platform
US6871192B2 (en) System and method for preventing unauthorized use of protected software utilizing a portable security device
JP2013059078A (ja) マルチメディア・データの保護
JP2003529963A (ja) デジタルコンテンツの著作権侵害を防止するための方法と装置
US10103884B2 (en) Information processing device and information processing method
EP2629223A1 (en) System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction
CN112035860A (zh) 文件加密方法、终端、装置、设备及介质
KR100358705B1 (ko) Pc 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한정보 보호 장치
US20190044709A1 (en) Incorporating software date information into a key exchange protocol to reduce software tampering
CN114629633A (zh) 密钥块增强封装
CN117216813B (zh) 用于读写数据的方法、装置和安全芯片
MXPA98008403A (en) Security processor with external memory that uses blocking and block reordering
JP2008269607A (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