TWI357572B - Portable mass storage with virtual machine activat - Google Patents

Portable mass storage with virtual machine activat Download PDF

Info

Publication number
TWI357572B
TWI357572B TW096128704A TW96128704A TWI357572B TW I357572 B TWI357572 B TW I357572B TW 096128704 A TW096128704 A TW 096128704A TW 96128704 A TW96128704 A TW 96128704A TW I357572 B TWI357572 B TW I357572B
Authority
TW
Taiwan
Prior art keywords
virtual machine
card
application
memory
storage device
Prior art date
Application number
TW096128704A
Other languages
English (en)
Other versions
TW200820076A (en
Inventor
Fabrice Jogand-Coulomb
Bahman Qawami
Farshid Sabet-Shargi
Carlos J Gonzalez
Original Assignee
Sandisk 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
Priority claimed from US11/463,264 external-priority patent/US20080126705A1/en
Priority claimed from US11/463,256 external-priority patent/US7725614B2/en
Application filed by Sandisk Corp filed Critical Sandisk Corp
Publication of TW200820076A publication Critical patent/TW200820076A/zh
Application granted granted Critical
Publication of TWI357572B publication Critical patent/TWI357572B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06F21/79Protecting 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 in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Landscapes

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

Description

1357572 九、發明說明: 【發明所屬之技術領域】 本發明一般係關於可攜式大量儲存裝置及運行於該等穿 置上之動體及軟體,更明確言之,係關於提供該軟體及^ 他内容並將其啟用及為其付費。 【先前技術】 智慧卡已存在相當長一段時間且常常用作 (除其他卡之外)。智慧卡,顧名思義係處理器控制= • 包括少量記憶體以保留識別及交易相關資料。近來已開發 出在智慧卡上建立及運行以Java為主程式之能力且其正得 以通用。以Java為主程式亦可實施於其他智慧型裝置(例如 通常用於數位相機與音樂播放器中之大量儲存記憶卡) 中。將此等其他卡識別為大量儲存裝置,因為其必須儲存 及存取極大資料(例如照片與音樂)庫,該等資料之等級大 於储存於智慧卡中之交易與識別資料之等級。此等大量儲 存卡之範例係小型快閃("CF")卡、安全數位("sd。卡、迷 你SD卡、微SD卡、多媒體卡、及記憶條。除引 用範例之外,還存在更多不同格式之大量儲存卡。以可攜 式快閃記憶體為主通用串列匯流排驅動器係另一 類型可攜式大量儲存裝置。 , ” / Java CardTM技術致能以_程式設計語言編寫之程式運 行於智慧卡及其他小型資源受限裝置上。開發者可使用標 / _軟體開發卫具與環境來構建及測試程式,接著將其轉換 為一可女裝於Java Card™技術致能裝置上之形式。用於 123181.doc 1357572
Java Card™平台之應用程式軟體係稱為小型應用程式,或 更明確言之,Java Card™小型應用程式或卡小型應用程式 (以將其與瀏覽器小型應用程式區別開)。 雖然Java Card™技術致能以java程式設計語言編寫之程 式運行於个型記憶卡上,但此類小型裝置之功率太低以致 於無法支援Java平台之全功能。因此,Java CardTM平台僅 支援Java平台之特徵的一仔細選定訂製子集。此子集提供
極適於編寫用於小型裝置之程式的特徵且保留Java程式設 計語言之物件導向能力。
Java Card™係一類型之虛擬機器。其他虛擬機器亦可使 用,且虛擬機器係實體處理器之抽象化並具有習知處理器 之虛擬對應物。在Java語言之情況下,Java虛擬機器係用 作經編譯Java二進制碼與下部硬體平台微處理器間之介 面。
,實施於此-小型裝置中時特财用的—應用程式涉及為 爻保護内容(例如音樂或電影等)付費。 為了運行以Java編寫之應用程式,必須將;讀〜押虛 擬機器載入卡内並加以啟用。機器之各實例需要向Sun或 此類組件之供應商支付授權f。因為智慧卡之主要用途係 交易’所以卡之發行者可作為經商成本接受授權費之成 本。不過’大量儲存型記憶卡之使用者可能或可能不使用 虛擬機器使之可用之額外應用程式,因為典型使用者主要 基於資料儲存目的擁有及使用該卡。因此,製造商照例益 法傳遞或㈣授㈣之成本4外,運行於虛擬機器上之 123181.doc 各小型應用程式或其他程式也可能需要一照例無法傳遞 (給可能不使用其之使用者)或吸收之授權費。 在用於Java Card™平台之軟體的生產與配置程序之背景 中可最好地理解java CardTM虛擬機器之角色。組成
Card系統之若干組件包括java〇3以1^虛擬機器、用於 &乂3〇31<11^平台之轉換器("了&”[訂41^轉換器||)、終端安 裝工具、及運行於裝置上之安裝程式^ Java CardTM小型應 用程式之開發如同任何其他Java程式一樣開始:開發者編 寫一或多個Java類別,並以Java編譯器編譯原始碼,產生 一或多個類別檔案。在工作站上使用模擬工具運行、測試 及除錯小型應用程式以仿真裝置環境。接著,當準備將一 小型應用程式下載至一裝置時,使用一 Java CardTM轉換器 將包含該小型應用程式之類別播案轉換為CAp(經轉換小型 應用程式)檔案^ Java CardTM轉換器作為輸入獲取所有類 別檔案(其組成一 Java封裝)。Java CardTM轉換器亦作為輸 入獲取一或多個匯出檔案。匯出檔案包含藉由正在轉換之 類別所匯入之其他封裝之内容的名稱與鏈接資訊。轉換一 小型應用程式或程式庫封裝時,轉換器亦可針對該封裝產 生一匯出檔案。 通常,轉換後,將CAP檔案複製至一卡終端,例如一具 卡讀取器周邊設備之桌上型電腦。接著,I終端上之一安 裝工具載入CAP檔案並將其發送至Java CardTM技術致能裝 置該裝置上之一安裝程式接收CAP檔案之内容並製備 Java Car,虛擬機器欲運行之小型應用程式。虛擬機器本 123181.doc 1357572 身無需載人或處理CAP槽案;其僅需要執行藉由安裝程式 载入裝置上之CAP檔案中所找到之小型應用程式碼。 在以下來自Sun Microsystems之規格(其係以$丨用方式全 文併入本文中)中說明Java CardTM平台之此等及其他方 面.應用程式設計介面,java CardTM平台,版本2 2 i ;運
如上所述,為了運行以Java編寫之應用程式,必須將 Java Card™虛擬機器載入卡内並加以啟用。 在頒予Y〇Shimoto等人之美國專利第6 772 955號中所說 明之一先前方法中,作為記憶卡控制器晶片之部分提供一 虛擬機器以便在以點為主交易中使用該卡。將卡用作點卡 之原始碼係以Java編寫且係載入卡中。針對採用該卡賭買 之各項目更新點平衡。
行時間環境規格,;ava㈤TM平台,版本22」:及虛擬機 器規格,Java Card™平台,版本2.2.1。
Java虛擬機器之各實例需要向Sun或其他供應商支付授 權費。同樣地,任何其他專屬虛擬機器可能需要向此一機 器之授權者付費。在智慧卡中,各卡具有Java CardTM虛擬 機器之一啟用且已付費複本。此會增加各智慧卡之成本, 因為其可能增加Yoshimoto專利中所述系統之成本。因為 在大多數應用中智慧卡之基本功能係交易,所以此成本可 為製造商、中間人或消費者所吸收及/或傳遞給製造商、 中間人或消費者。不過’在可能從未利用虛擬機器之功能 的消費者大量儲存裝置中吸收或傳遞授權成本係不合需 要。 123181.doc 1357572 全球平台(Global Platform)係智慧卡促進與標準化產業 協會。全球平台係充當一智慧卡產業標準主體,藉由橫跨 許多產業之許多服務提供商針對智慧卡程式之全球配置建 立及維持一開放技術框架。全球平台卡規格(Gl〇bal
Platform Card Specification)V. 2.1.1 及全球平台卡安全需 要形式規格(Formal Specification 〇f Global Platf0rm Card Security Requirements)(標注日期為2004年12月,其係提供 於www.globalplatform.com上且以引用方式全文併入本文 中)中說明全球平台之全球平台應用程式設計介面("Apr) 及其他方面。全球平台提供小型應用程式至已具有虛擬機 器之智慧卡或其他裝£之下冑。不㉟,雖然此提供所需之 小型應用程式及相關聯功能,不過其係針對已具有運行小 型應用程式所需要之虛擬機器之卡來提供。 【發明内容】
本發明在最小化製造及使用成本的同時增加可攜式大量 儲存裝置之可能使用❶本發明允許該等裝置運行各種專門 軟體應用程式’不過只有當使用者選擇利用此等應用程式 之功能時才承擔此等應用程式之成本。_ 換έ之,只有當實 現可能使用時才引出與可能使用相關聯之成本。對於製& 商與消費者兩者,此m製造商可增加^功能= 市場滲透,同時不必吸收或傳遞可能 呆一消費者子集 之需要之特徵的成本。想利用該等特徵 ’、 文之涓費者可在必要 時為其付費’而不想利用該功能之消費者無需為其 或需要之某些特徵付費。 123181.doc 1357572 虛擬機器在可+ 揭式大s儲存裝置中非常有用,因為藉由 將虛擬機器放置於人里占 罝於口適位置處,可使用更多(與可用以直 接運行於裝置上之應用程式相比)各式各樣的應用程式。 此係由於虛擬機器提供獨立於任何特定處理平台之獨立 性。虛擬機器係一藉由微處理器加以執行但如同其為一獨 立電腦那樣運作的自合+ 、_ 自3式刼作環境。虛擬機器應用程式將 、才同方式執仃及運行於該虛擬機器中,與虛擬機器運行 於何種處理器及作業系統上無關。
雖然先前解決方案已將虛擬制併人記,ft卡巾,不過, …、响肖費者疋否想要或需要虛擬機器,虛擬機器之成本都 必須由製造商及消費者來承擔。雖然此在主要意欲用作交 易卡或”電子錢包”之裝置中係可接受的,不過在可能最初 或主要用於其他用途之可攜式大量儲存裝置中並不理想。 對於本發明,只有當使时想使用—需要存在虛擬機器之 f用程式時才需要支付虛擬機器之授權f,下部大 量儲存冑置之成本可保持為最小冑,且可只纟必要或需要 時才為附加應用程式及虛擬機器付卜可在裝置壽命期間 之任何時間啟用虛擬機器,且只有#其已啟用時才付費。 亦可在任何時間獨立、$與—利用制之應用帛式組合將 機器載人卡中。在某些較佳具體實施例中,當需要一虛擬 機器時,在後臺作為虛擬機器或更高階應用程式之啟用之 部分執行虛擬機器之安裝,無需使用者知道。 本發明允許只有當欲使用需要費用之程式時才支付授權 費。此使得可將此等程式併入否則不可行之環境中。鑒於 12318l.doc •12- 1357572 可實施於小型裝置(例如大量儲存型記憶卡)中之大量且不 同應用程式選擇,此會特別有用。 本發明允許使用者快速且容易地僅選擇、啟用他想要之 程式及為其付費。此使得所有人均可買得起基本裝置同 時允許需要訂製應用程式之人使用訂製應用程式。 將虛擬機器與運行於可攜式大量儲存裝置上之下部勒體 整合並非一簡單任務。尤其在必須限制對受保護内容之存 取的”安全”裝置中會這樣。在此類裝置中,裝置之韌體至 少部分負責保護内容。因此,其限制讀取/寫入操作之使 用權限。因此,其係想未經授權複製受保護内容之人的一 目標。因此,下部韌體必須保護内容免遭駭客複製,同時 仍允許一應用程式(例如虛擬機器)存取該内容。在可在任 何點處載入虛擬機器(或開啟一應用程式(其運行於使用此 類内容之裝置中))之情況下,韌體必須因此能夠在具或不 具虛擬機ι§(或應用程式)之條件下運行並防止惡意軟體冒 充虛擬機器(或應用程式)。 【實施方式】 如先前技術中所述’以可攜式快閃記憶體為主大量儲存 裝置現今廣泛用以儲存大播案與軟體程式。由於數位裝置 (其依賴於記憶卡或口袋大小之USB快閃驅動器)之廣泛使 用,許多人已具有此等可攜式大量儲存裝置中的一或多 個。本發明在最小化製造及使用成本的同時增加此等裝置 之可能使用。本發明允許該等裝置運行各種專門軟體應用 程式,不過只有當使用者選擇利用此等應用程式之功能時 123181.doc 13 才承擔此等應用程式之成本。換一 用時才引出與可能使用相關聯之::二有當實現可能使 者兩者,此係一優點。製造商產於製造商與消費 透,同時不必吸收或傳遞可能僅合某一消費者子集之需要 之特徵的成本°想利用該等特徵之消費者可在必要時為复 付費,而不想利用該功能之消費者 …八 無而為其不想要或需I 之某些特徵付費。 要 運仃及/或儲存於大量儲存裝置上之許多軟體及其他 需要向擁有者或授權者付費。例如,軟體程式需要向 建立者支付授權費,而諸如音樂、電影、照片或著作之内 合亦需要向轉售者、建立者、提供商及/或授權者等付 費。實施於大量儲存裝置中時特別有用的一軟體程式之一 特定範例係虛擬機器。此係由於虛擬機器允許建立及執行 無需針對下部硬體平台之特性加以訂製之軟體。虛擬機器 之一範例係先前技術中所說明之mava為主虛擬機器(由
Sun Microsystems提供)。 雖然將作為一範例來說明來自Sun MiCrosystems之虛擬 機器,不過存在其他虛擬機器且將開發其他虛擬機器。虛 擬機器係-藉由微處理器加以執行但如同其為一獨立電腦 那樣運作的自含式操作環境。虛擬機器應用程式將以相同 方式執^及運行於該虛擬機器中,與虛擬機器運行於何種 處器及作業系統上無關》此提供獨立於任何特定處理平 台之獨立性。因此,與不具虛擬機器情況下之可用軟體程 式相比’-更大軟體程式範圍冑可用Μ運行在虛擬機器及 123l81.doc -14 - 1357572 下部裝置上。本發明可結合任何虛擬機器及其使之可用之 應用程式工作。 圖1顯示一大量儲存型記憶卡之一般架構。大量儲存裝 置100之各種組件係耗合在—起且經由系統匯流排W而通 信。裝置丨00經由主機介面〃140與一外部裝置1〇5(亦稱為主 機1〇5)通信。主機介面]4〇包含在主機1〇5與裝置⑽之間 來回傳輸資料之邏輯與硬體組件。若裝置100具有大量儲 存記憶卡之形狀因數,㈣介面包括(例如)與數位相機之 接點結構介接之電接點。若裝置100具有USB裝置之形狀 因數’則主機介面刚包括與USB埠介接之電接點及必需 驅動程式。控制器110控制該裝置且管理大量儲存快閃記 憶體140之單元内之讀取/寫入操作及資料分配。裝置刚 亦包括隨機存取記憶體("RAM")12〇,其可為一獨立电件 (如圖所示)或可整合於控制器11〇内。控制器m執行來自 RAM 120之勃體,其係儲存於唯讀記憶體13〇或大量儲存 快閃記憶體140中。唯讀記憶體13〇.可電抹除進而可為f EEPR〇M或一 EPR〇M。該動體係藉由控制器來執行且控制 記憶卡之操作。若毀損㈣,則記憶卡將不再正確 能。 大量儲存裝置⑽較佳包括安全措施。此等措施可 僅經授權方可改變應用程式之狀態(例如,未啟用至’、 用)。該狀態係受裝置知體控制且_可檢查該狀2 證一特定應用程式已啟用且可使用。此等措施亦較㈣2 於裝置之硬體與軟體⑼體)中,且在某些具體實施例2 123181.doc 1357572 密儲存於裝置中並相對於裝置來回傳輸之資料。若要瞭解 此類型安全大量儲存裝置之更多有關資訊’請參閱以下美 國專利申請案(其係以引用方式全文併入本文中):頒予
Holtzman等人標題為"Secure Memory Card With Life Cycle Phases"之申請案第11/053 273號;頒予Holtzman等人標題 為 Memory System with in Stream Data
Encryption/Decryption"之申請案第 11,314,032號;及標題 為"Secure Yet Flexible System Architecture for Secure Devices With Flash Mass Storage Memory"之申請案第 1 1/317,339 號。 裝置100將稱為記憶卡(該裝置之—具體實施例),儘管 如先别所述’裝置1G()可採用記憶卡、USB裝置或其他形 狀因數之形式。 "韌體為卡之資料(其中某些可為受保護資料)提供一路 控。運行控制器之㈣之完整性很重要,尤其在安全卡
二Si係一安全卡(例如,一實施某-形式數位權利 卡),㈣㈣之功能之—隸制存取 ;使用與二·係用以描述許多用於限制數位内容之免 費使用與傳輸之技術的廣義術語 合將其描述為"數位限制管理"。圖 以人認為更適 體組件(包•體)。虛擬機不裝置100之某些軟 -中之功能,不過亦能夠Γ取:不存在於基礎伽 此,在某種专義 、己憶體中之内容。因 h 義亦可視為卡中之-_一 須元全與韌體210整合及相容。 韌體類型,且必 因此,卡韌體210必須以其 12318I.doc 1357572 在存在或不存在VM 220時均可紮實地發揮功能的此—方 式實施。同樣地,VM 220係以其結合卡韌體21〇發揮功能 之此一方式實施。實施於韌體210之程式碼中允許其與vm 220整合之設計方面可視為韌體21〇内之"掛鉤”。採用知體 210與VM 220間之雙箭頭表示此等掛鉤及其提供之相容 性》載入卡100内之小型應用程式可經由VM 22〇與韌體通 信且可在卡上提供許多不同軟體應用程式。此等小型應用 程式240A…X運行於虛擬機器上,因此無需針對裝置ι〇〇 之控制器110及其他硬體組件加以訂製。此對否則將不與 卡相容之一不同軟體應用程式庫開放該裝置。 從圖2中可看到,主機105必須透過一應用程式設計介面 ("API")與韌體21〇(包括VM 220)通信。可在卡中實施許多 API 250A…X>此包括標準或原生裝置Αρι 25〇A、產業標 準或廣泛接受之API 250B(例如,全球平台API)、專屬Αρι 250C(例如捆綁至VM 22〇之Αρι,如用於Java虛擬機器之 API,或用於小型應用程式24〇之一的Αρι)、及任何其他 API 250X。VM 220必須將正確API置於合適位置處以發揮 功能,因此一啟用特定虛擬機器之方法係藉由啟用及/或 載入一與特定虛擬機器相容之Αρι。當然可採用各種其他 觸發器直接啟用VM。該VM係一韌體類型,隨後將針對圖 9對其加以論述。下面論述各種啟用方法。 無响卡之應用程式為何應用程式,添加先前所述虛擬機 器之功能均需要與卡之其他韌體整合。將虛擬機器及其各 種小型應用程式與韌體整合無論在卡離開工廠之前還是之 123181.doc 17 1357572 後’卡均必須無縫操作。在現場下載小型應用程式之情況 下’將不容易驗證(可能根本無法驗證)小型應用程式之内 容及性質。因此,卡之基本韌體必須足夠靈活以提供小型 應用程式所需要之現場下載及資料存取,同時其必須足夠 紮實以便即使已編寫之小型應用程式很差時也可發揮功 能。此外,在小型應用程式企圖摧毀卡之DRM之情況下, 韌體必須保護來自小型應用程式之資料仍可繼續為經授權 使用者提供内容。 與構建目的係用以保護少量高度受保護交易資料之智慧 卡不同,大量儲存型記憶卡必須提供極大内容程式庫之經 常存取。此使用者内容在卡之壽命期間始終處於通量中, 如同卡可能遇到之應用程式一樣H體與硬體會適應 使用者對新應用程式之需要且允許現場(或在工廠中)下載 新應用程式’ @時始終保護卡之内I。此並非一簡單任 務。 圖3A係卡_中之某些軟體組件之表示。各種小型應用 程式240A至X係運行於卡内。{圭虛擬機器咖係 虛擬機器,且在⑽Ca_或其他^虛擬機器之 情況下’基於特定小型應用程式及虛擬機H22G,亦存在
Java Car,框架(若需要或合需要的話此等組件全部運
行於卡作業系統或勃體21(3上。在此情況下]ava CardTM 框架及其他產業附件23G與!ava虛擬機器⑽均運行於卡作 業系統210上。 圖職示任何時間均可載人卡中並啟用,㈣為本發明 123181.doc 1357572 之物體及系統之部分發揮功能的軟體組件或”封裝”。該封 裝不僅可包括虛擬機器22〇,而且(視需要)包括一或多個軟 體應用程式270。下部知體21〇係經配備以結合物⑽與 應用程切0之額外軟體發揮魏。運行於虛擬機器上之 任何軟體應用程式270均可在任何時間載入卡中。虛線係 用以指示,可在具或不具應用程式27〇時載入vm 22〇且該 應用程式之安裝無需與VM之安裝同時。只有當丨)卡中存在 封裝,且Π)已啟用封裝時才需要支付與封裝之組件相關聯 之任何費用。 可將圖3B所示封裝以許多方式提供給使用者。可在販售 時在卡中提供該封裝,㈣4A心。在此情況下,必須在 可使用封裝之前"現場"將其啟用。或者,使用者可作為完 整封裝或逐段,,現場”下載封裝,如圖4B所示。作為另一方 法’可將新勤體21〇載人卡中,如圖4C所示。此知體下載 亦包括圖3B所示封裝之全部或部分。在一具體實施例中, 此意味著在韌體更新程序中將圖2所示韌體2i〇、vm 22〇、小型應用程式240全部載入。在下面將說明的圖4a、 4B及4C之流程圖中顯示此等基本方法。 如先前所述,虛擬機器與小型應用程式或應用程式需要 為啟用狀態或加以啟用以便加以利用。當然,儘管在許多 情況下並非較佳,但也可不存在為下載啟用組件所必需之 安全措施》此可能(但未必一定)適合存在受限卡分配之安 全或可信任環境。此外’在某些具體實施例中,該安全可 能為下載程序之部分且無需額外啟用。換言之,假設已授 123181.doc •19. 1357572 權使用者首先下載,或可作為下載序列之部分執行啟用, 則可以一啟用狀態下載組件。
卡100具有一啟用管理器,其接收並驗證啟用指令。該 啟用管理器可為韌體210之部分或可視為一獨立軟體模 組。該啟用管理器開啟及關閉應用程式或作業系統特徵。 較佳安全(例如在安全通道頂部上)執行此啟用。在一具體 實施例中,啟用管理器在其接收正確程式碼時啟用封裝。 啟用管理器接收該程式碼,相對於一驗證該程式碼之伺服 器對其加以檢查,或相對於儲存於該卡之—記憶體内的該 程式碼之一加密版本對其加以檢查。該啟用管理器亦記錄 失敗啟用,且在某些具體實施例中限制失敗嘗試數且可在 超過該數目時鎖定該卡。
該程式碼可以不同參數為基礎且可以許多方法計算該程 式碼。該程式碼亦可為一預_啟匹配應用㈣之簡單數 字。該程^碼可為-般啟用程式碼且亦可與—應用程式 ID(其係-與特定應用程式唯—相關聯之數字)相關聯及/或 以之為基礎。該程式碼可部分基於一卡唯一出(其係一僅 與特定卡相關聯之數字)。該程式碼亦可具有指定應用程 式(無論應啟用或停用該應用程式)及啟用程式碼本身之部 分。該程式碼亦可指定或包含一特定應用程式狀態,例如 未啟用、啟用、暫時中止、或廢止。其亦可指定及提供其 他各種必需許可(例如DRM方案中之不同許可位準)之使用 權限。該程式碼亦可基於或包括 以上所有方案之某些或所 有方面。 123181.doc -20· ⑺ 7572 該程式瑪亦可為-對稱或非對稱密碼鑑別方案之部分β " 在對稱方帛巾,該程式碼可為一類型單次密碼 ("ΟΤΡ")(其在此項技術中係廣為人知的)。在此情況下卡 與:證伺服器均具有相同種值,且基於該種值及許多被選 定廣算法獨立建立該程式碼或οτρ。按規則間隔遞增或更 新該程式m〇TP,且在任何給料刻,均可相對於藉由 驗證飼服器所計算出之OTP來驗證卡中計算出之〇τρ。採 用ΟΤΡ方案時,^:最初為兩卡載人相同種值,若在兩卡中 使用不同演算法來遞增密碼(卡及伺服器内),,則即使一卡 中之種值或單次密碼值受到危及,其也無法用以竊入另一 卡中。在一範例中,啟用程式碼或ΟΤΡ係卡ID、卡類型、 應用程式ID、及OTP種值之函數。卡類型可為任何熟知卡 類型,例如小型快閃卡、80卡、迷你印卡、MMC卡、 transflash卡、XD卡、記憶條等…或可為一 USB快閃驅動 器。 在啟用程式碼包含或基於OTP(之函數)的一具體實施例 中,OTP及/或程式碼可用以開啟或關閉一應用程式或軟體 層。將OTP或程式碼(由遠端伺服器或其他裝置產生)發送 至卡並將其與卡所產生之OTP作比較以驗證啟用程式碼或 otp。若驗證其係正確的’則可開啟或關閉應用程式或軟 體層。基於此等目的使用OTP較佳,因為該值僅可使用一 次,因而無法用於多個啟用或以未經授權方式傳遞及使 用。在某些具體實施例中’欲啟用應用程式之應用程式ID 亦可用以產生該啟用程式碼或QTP。以此方式,οτρ將為 123181.doc •21 · 1357572 某一應用程式之特有OTP。 如先前所述,在某些具體實施例中,可針對多個卡使用 相同種值。該種值係OTP計算之基礎◊同樣,啟用程式碼 或OTP係卡ID'卡類型、應用程式ID、及〇τρ種值之函 數。此允許將相同私密種值載入多個卡中,其減少伺服器 資料庫上之記錄數。同時,由於可使用不同演算法(其可 為卡ID、卡類型、及應用程式ID_之一或多者之函數), 所以可產生唯一 OTP及啟用程式碼,從而提供高安全位 準。 最常用非對稱方案涉及一公用密鑰基礎建設(PKJ),其 中一裝置或實體擁有兩密鑰(私有密鑰與公用密鑰),其係 密碼相關以便採用一密鑰加密之資料可採用另一密鑰進行 解密,且無法從公用密鑰以數學方式導出私有密鑰。在此 一方案中,自由分配公用密鑰,而私有密鑰係為擁有實體 私密擁有。藉由執行一詰問/回應序列(其中需要藉由解密 一使用其公用密鑰進行加密之訊息來檢驗私有密鑰之擁有 權)來實現一實體之鑑別。隨後將說明之圖6與7中顯示本 發明之一使用PKI之具體實施例。 此外,在一具體實施例中,將一對稱方案之若干方面與 一非對稱方案之若干方面組合。在此一具體實施例之一範 例中,在一階段中,使用OTP來驗證卡,且在另一階段 中’使用一詰問/回應對話。 已論述啟用程序,現在將返回圖4A、43及4(:之流程圖 (其顯不下載與啟用之若干方面)。 123181.doc -22- 圖4A顯示欲執行一載入虛擬機器之啟用的程序。在圖 4A之步驟405中,卡之發行者或提供商在將卡販售給使用 者之前的某一時間點提供虛擬機器。此可為製造時間或此 後某一時間點,且亦存在卡之韌體。該虛擬機器將處於一 待用或未啟用狀態中,即消費者不可使用該虛擬機器。因 此’不應必須為該(未使用或未啟用)虛擬機器支付授權 費。較佳地,消費者不會意識到,在其啟用或"解鎖"之前 其已存在於卡上。虛擬機器可為任何類型或品牌之虛擬機 器。目前可用虛擬機器之某些範例係:java ; MULTOS ;
Java Card™ ;嵌入式 linux ;嵌入式 java ; d〇t.net ;及
Windows CE。可能需要不同虛擬機器以支援不同小型應 用程式,因此可將多個VM載入裝置中。裝置韌體管理不 同VM及小型應用程式所需資源之可用性。 在步驟410中’系統之使用者、卡或伺服器決定需要或 想要虛擬機器。接著’在步驟415中,一可信任機構啟用 虛擬機器。在此時間點處,需要支付與虛擬機器相關聯之 任何授權費。在公用密鑰基礎建設中,可信任機構經常稱 為認證機構。圖6顯示認證機構620。 圖6顯示一針對憑證之驗證/授權利用公用密鑰基礎建設 之具體實施例。由於交易可能並不比其内發生交易之系統 女全’所以最重要元件針對通信者建立一用以相互定位並 確信其使用之公用密鑰真屬於其想與之通信之人(或機器) 的路把。公用密鑰基礎建設係經設計用以提供此信任。使 用一稱為數位認證或公用密鑰認證之資料元件(其將公用 123181.doc -23- 1357572 密鑰連結至關於其擁有者之識別資訊),將基礎建設設計 成用以建立該連結,並基於使用社區内所有人之利益管理 該捆綁。—旦驗證了該等憑證,便如上所述採用一程式碼 或OTP啟用該封裝。或者’該等憑證本身或其驗證對於憑 證之驗證/授權而言就足夠,允許或觸發啟用。 使用私密密錄與公用密錄密碼之組合,pKI致能許多其 他安全服務’包括資料加密、資料完整性、及密錄管理。 在ITU-T X.509建議[X.509]中定義PKI之基礎或框架,以引 用方式全文併入該建議。 有時將終端實體視為終端用戶。儘管通常會這樣,但術 語終端實體的含義更具一般性。終端實體可為終端用戶、 裝置(例如路由器或伺服器)、程序、或可在公用密鑰認證 之主遞名稱中識別的任何實體。亦可將終端實體視為pki 相關服務之消費者。本發明中,從圖6所示具體實施例可 看到’終端實體係大量儲存裝置1 〇〇及其使用者。 以公用密鑰認證之形式分配公用密鑰。CA 620係ρκι之 基礎’因為其係可發行公用密餘認證之組件。將公用密錄 "wsa發送至裝置1〇〇及儲存庫61〇。發行ca(其將主題名稱 有效地連結至公用密鑰)對公用密鑰認證進行數位簽名。 CA亦負責發行認證註銷列表(CRL),已將此委派給獨立 CRL發行者630之情況除外。CA亦可處理許多管理任務, 例如終端用戶之註冊,但此等任務通常係委派給註冊機構 (RA)(其係選用的且圖6未顯示實務上,CA亦可用作密 鑰備份與復原設施,儘管此功能亦可委派給一獨立組件。 123181.doc -24- 1357572 通常將ca視為PKI中之"信任來 ^ ^ 牡利用公用密鑰基 礎建設之具體實施例中,CA 610指示,可信任裝置_、 及將下載封裝之㈣器。此信任將用於下載、啟用、及付 費用途。圖7係一說明圖6之組件之表,且作為—快速參考 加以提供。
圖㈣單獨或作為更大軟體封裝之部分提供虛擬機器的 另一程序。在步驟435中,提供卡勒體21〇β此餘體具有用 於將來與-虛擬機器整合並結合該虛擬機器使用的"掛釣", 或換言之係經設計用以與一虛擬機器相容。較佳在卡製造 時提供該虛擬機器相容韌體,不過亦可在卡壽命期間之任 何時間載入該虛擬機器相容韌體。該韌體具有經設計用以 限制存取卡上之某些類型資料的安全機制。此包括韌體内 之文全機制本身及儲存於卡之記憶體中之受保護内容。安 裝或啟用虛擬機器之前,韌體(之安全機制)不允許運行於 卡内或卡外之軟體應用程式存取受保護資料。不過,該動 體亦可操作以偵測虛擬機器,及一旦安裝並啟用虛擬機器 便讓其存取某些受保護資料^換言之,該韌體可視為具有 不同操作狀態,一操作狀態係供不具虛擬機器時使用,而 操作狀態係結合虛擬機器使用。在兩狀態下,動體必須 保護並限制存取卡上之資料,包括韌體本身。在第二狀態 下’韌體必須允許虛擬機器讀取及寫入資料,同時不許可 任何惡意應用程式之未經授權讀取/寫入存取。 接著’在步驟440中’卡離開製造商之後,使用者或中 間人、或卡本身決定想要或需要一虛擬機器。此後,在步 123181.doc •25· 1357572 驟445中鑑別虛擬機器及其提供商。此可為先前所述對稱 及/或非對稱鑑別。在步驟45〇中,將虛擬機器下載至卡令 並加以啟用。在此時間點處,需要支付與虛擬機器相關聯 之任何授權費。一旦啟用,便觸發付費。 圖4C係單獨或作為更大軟體束之部分提供虛擬機器的另 一程序。在步驟彻中,使用者或卡決^需要或想要—處 擬機器。接著’在步驟465中鑑別虛擬機器及其提供商。 此可為先前所述對稱或非對稱鑑別。在步驟47〇十將— 新韌體21〇複本或版本(具一虛擬機器22〇)下載至卡中。同 時可視需要載入額外小型應用程式24〇或其他程式。 圖5顯示虛擬機器下載之Αρι管理。在步驟51〇令,接收 一下載小型應用程式之請求。一來自任何智慧型裝置之飼 服器經由任何網路(包括網際網路)進行此請求。卡之發行 者或提供商(或任何第三方)可操作該伺服器。卡之發行者 可為製造商或其代表,而提供商可為處理、分配或販售卡 之任何實體。接收步驟510之請求的飼服器接著將該請求 :。卡之發仃者或提供商,若發行者或提供商不直接接 2請求。在步驟520中,發行者或提供商快速取回-虛 機器’(若)小型應用程式之運行需要的話。接著,在步 =別中’將虛擬機器及小型應用程式無縫載入卡中。此 ^使用者無需(但可以)知道已取回虛擬機器並載入 、中。在步驟440(其可發生在步驟54〇之前之後、 或與其同時)中,啟用虛 55〇 啟用虛擬機15及小型應用程式。在步驟 卡針對虛擬機器及小型應用程式選擇並利用正確 123181.doc •26· 1357572 API。若正確API不存在,則發行者或提供商將正確API載 入卡中。同樣’如同步驟52〇一樣,使用者較佳無需(但可 以)知道將API載入卡中。 快且容易地執行該程序。 總而§之,對於使用者,儘可能 一旦請求小型應用程式,便可以 超快方式自動載入該小型應用程式及致能該小型應用程式 運行之所有必需軟體(使用者不知道載入他的小型應用程 式並使其工作可能涉及之各種步驟)。如先前所述,提供 正確API係一種啟用虛擬機器及/或小型應用程式之方法。 費用與使用費之收取與分配 一啟用虛擬機器、小型應用程式、或其他軟體應用程 式,便必須為該應用程式支付授權費。若(例如)一小型應 用程式涉及用以控制載入至卡之安全内容之數位權利管理 ("DRM"),該内容也可能需要使用費。&論如何,本發 明可用以支付任何類型使㈣或授權費。顯示一用於 在各種實體間支付費用之系統。收費者81〇收取消費者費 用805A。此較佳涉及網際網路上所提供的一安全服務。收 費者810會保留該費用中用於其服務的某一部分並將其餘 費用傳輸至裝置發行者820。例如,若將内容或程式載入 至SanDisk所發行之SD卡上,則SanDisk將為卡發行者82〇 且接收費用805之部分805B。發行者接著保留費用8〇5之某 一部分並將部分805C發送至内容擁有者或經授權者83〇〇
123181.doc •27- 1357572 將内容呈現給裝置之使用者所需要之軟體付費時,此付費 系統也相當有用。 安全 除安全啟用虛擬機器之外,裝置100亦實施其他安全措 施。將虛擬機器儲存於快閃記憶體中之前,卡可能需要一 先前所述可信任機構對其進行簽名。此外,亦可實施各種 加密技術以便無法對虛擬機器(或其他軟體應用程式)進行 竄改、偷偷啟用、或非法複製及安裝於裝置上。可以各種 熟知雜湊函數,或替代地以一裝置唯一密鑰來加密VM。 可採用軟體及/或硬體實現此加密。此可能需要使用 MAC值、SHA-1值、或雜湊值。此等加密/解密技術之基本 原理廣為人知,此處無需詳細說明。 在一具體實施例中,採用一實施於控制器之硬體中之加 密引擎來執行該加密。加密引擎之硬體在將應用程式之進 入資料載入卡之記憶體中時對其進行即時加密。控制器係 用以建立為該控制器特有之雜凑值且與控^器相關聯係用 作控制器之-類型簽名。此後在欲執行應用程式之前驗證 此簽名。將加密引擎至少部分實施於控制器之硬體中(而 非完全實施於勒體中)導致一極難破壞之紮實裝置。此係 由於無法以一取代型控制.器(其具有一不同簽名)取代該控 制器,其係破壞裝置之安全的常用方法。也無法很容易地 偽造控制器之簽名。如圖9所示,韌體21〇可具有一啟動載 入器部分21Ga、—系統部分雇、及用於勤體之各種· 值、SHA-1值或雜湊值’其可分成可個別載入記憶體 123181.doc -28· 1357572 中供執行用之片段或重疊。若要瞭解本發明之某些具體實 施例中所利用之加密技術之此及其他方面的 又夕有關資 訊’請參閱頒予M. Holtzman等人之申請案(其係以引用方 式全文併入)。 可將各種韌體應用程式儲存於圖9所示快閃記憶體空間 内。虛擬機器與小型應用程式可視為韌體應用程式。例 如’以202a編號之APPFW 1可包含虛擬機器,而以2〇21?編 號之APP FW 2/其内可包含一小型應用程式。若將此等勒 體片段分成重疊,則一應用程式韌體重疊映射2〇1&會指示 應用程式韌體之各種片段之"令人因擾的"儲存位置。將重 疊之雜湊值、SHA-1值、或MAC值本身以加密格式儲存於 快閃記憶體内之表201b中。此等值進而可自身進行加密, 且在某些具體實施例中可採用先前所述裝置特定硬體加密 技術進行加密。在某些具體實施例中,將為虛擬機器保留 快閃記憶體内之空間以方便與卡之其他韌體整合及結合其 操作。此在安全卡中(其中韌體部分所提供的卡之安全在 其他情況下可能會由於虛擬機器及運行於卡上並存取其中 所儲存之資料的任何其他應用程式而受到危及)尤其重 要。 儘管已顯示及說明本發明之具體實施例,不過可對此等 解說性具體實施例進行變更及修改而不背離本發明之更廣 泛方面《因此,應明白’本發明可具有其他具體實施例, 儘管上面未明確說明’但其仍在本發明之範疇内,因而本 發明之範疇不僅僅受限於所提供之解說性具體實施例。因 12318l.d〇c -29- 此,應瞭解, 界。不過,由 所以亦應瞭解 表達措詞内, 所附申請專利範圍提供本發明之範圍與邊 於措詞並非說明本發明之範疇的完美方法, ,等效結構與方法儘管未在申請專利範圍之 但亦屬於本發明之真範疇内。 【圖式簡單說明】 圖 圖1係大量儲存裝置100之示意圖。 圖2係大量儲存裴置100與主機1〇5之軟體組件的示
圖3A顯示依據本發明之一具體實施例之 的軟體組件。 大量儲存裝置 圖3B顯不依據本發明之一具體實施例之一 式。 圖4A係依據本發明之一 圖4B係依據本發明之一 圖4C係依據本發明之一第三提供方案
已下载應用程 第一提供方案的流程圖 第二提供方案的流程圖 的流程圖。 之一具體實施例之 圖5係一流程圖,其顯示依據本發明 應用程式協定介面管理。 圖6顯示公用密錄基礎建設及大量儲存裝置⑽。 圖7係一說明公用密鑰基礎建設之某些組件的表。 圖8顯示依據本發明之-具體實施例之收入流程。 圖9顯示快閃記憶體14〇之記憶體空間的一部分。 【主要元件符號說明】 100 大量儲存裝置/卡 05 外部裝置/主機 123181.doc • 30 - 1357572
110 控制器 120 隨機存取記憶體 130 唯讀記憶體 140 主機介面/大量儲存快閃記憶體 150 系統匯流排 201a 應用程式韌體重疊映射 201b 表 202a APP FW1 202b APP FW2 210 卡韌體/卡作業系統 210a 啟動載入器部分 210b 系統部分 220 虛擬機器(VM) 230 產業附件 240A至 X 小型應用程式 250A 標準或原生裝置API 250B 產業標準或廣泛接受之API 250C 專屬API 250X 其他API 270 軟體應用程式 610 儲存庫 620 認證機構(CA) 630 獨立CRL發行者 805A 消費者費用 123181.doc •31 - 1357572 805B 費用之部分 805C 費用之部分 810 收費者 820 裝置發行者 830 内容擁有者或經授權者 123181.doc -32-

Claims (1)

135,7572 印年以5 .,正本 十、申請專利範圍: 第096128704號專利申請案 中文申請專利範圍替換本(1〇〇年10月) 一種致忐在一大量儲存型記憶卡中使用一軟體應用之方 法,該方法包含: 在大里儲存型記憶卡中實施,其中該大量儲存型記 隐卡中包含運行該記憶卡之資料儲存操作之韌體;一或 多個應用程式介面在該卡内;及未啟用的一虛擬機器: 當一使用者需要使用到利用該虛擬機器的一軟體應用時 啟用該虛擬機器。 2. 如。月求項1之方法,纟中只有當該虛擬機器被啟用時, 才支付§亥虛擬機器的一授權費。 3. 如明求項丨之方法,其中該軟體應用依賴於該虛擬機器 以用於該大量儲存型記憶卡之一處理器執行。 4. 如凊求項i之方法,其中一消費者接收到該卡之前將該 虛擬機器載入該卡中。 5. 如請求項1之方法,其中-消費者接收到該卡之後將該 虛擬機器現場載入該卡中。 6·如π求項!之方法’其中該動體允許該虛擬機器只有當 啟用後才可存取儲存於該卡上之資料。 7.如β求項3之方法,其中該軟體應用包含數位權 理。 8·如凊求項7之方法,其中加密該虛擬機器。 9_如印求項8之方法,其中在將該虛擬機器載入該卡中時 藉由该記憶卡之硬體來對其進行加密。 1〇_如-月求項8之方法,纟中該已加密虛擬機器包含該記情 123181-1001005.doc 卡之該硬體之—簽名’且無法由與建立該簽名之硬體不 同的硬體來執行。 11.如請求項5夕士、^_ 、又万法,其進一步包含驗證該虛擬機器及/或 12該虛擬機器之提供商之鑑別。 種提供一可攜式快閃記憶體大量儲存裝置之方法’該 方法包含: 在—快閃記憶體大量儲存裝置中實施: 驗證具有-欲載入該裝置中之應用之-第一方的一憑 也’該憑證允許該第-方載人該應用,該應用包含-虛 擬機器。 士哨求項12之方法,其進一步包含將該應用接收入該裝 置t。 如明求項13之方法,其中將該裝置販售給一消費者之 後,將s亥應用現場接收入該裝置中。 .種將軟體應用提供給一大量儲存型記憶體裝置之使 用者的方法,其包含·· 在大里儲存型記憶卡中實施,其中該大量儲存型記 憶卡中包含運行該記憶卡之資料儲錢作之_及一或 多個應用程式介面在該卡内: 接收欲載入一軟體應用之一請求;及此後 將一虛擬機器接收入該卡中,及 將該應用接收入該卡中。 16·如請求項15之方法,其中在不知道該應用之一請求者的 情況下該虛擬機器被接收。 123181-1001005.doc •2· 〕/·ζ 17.如請求項15之方法,其進一 載入該卡中之—請求。 18. 如請求項15之方法,其進-步包含在接 權該應用之一提供商。 19. 如請求項15之方法,其進一 步包含提供欲將該虛擬機器 收該應用之前授 前授權該虛擬機器之一提供商授權。 步包含在接收該虛擬機器 之 20.如請求項18或19中任一 別 項之方法,其中授權包含對稱鑑 21.如清求項18或19令任 鑑別 項之方法,其中 授權包含非對稱 22. 如請求項15之方法 程式。 23. 如請求項15之方法 機器。 其進步包含在該卡内加密該應用 其進一步包含在該卡内加密該虛擬 24. 如請求項π或ι8中任一 項之方法,其_加密包含利用儲 存於該記憶卡之一控制器中的一密鑰。 25. 如請求項15之方法,其中該應用需要該虛擬機器運行。 从一種致能提供-虛擬機_便結合―大㈣存型記憶體 裝置使用的方法,該方法包含: 在大I儲存型記憶卡中實施,其中該大量儲存型記 隐卡中包含運行該記憶卡之資料儲存操作之勤體; 將一虛擬機器接收入該卡中; 在該卡内接收一欲利用該虛擬機器之功能的請求;及 此後 I23181-I001005.doc 1357572 需的一應用程式介面, 接收該虛擬機器發揮功能所必 藉此致能利用該虛擬機器。 27. —種啟用或停用一用於在—大量 用之軟體應用的方法,其包含: 儲存型記憶體裝置中使 在-大量健存型記憶卡中實施,其中該大量儲存型記 憶卡中包含運行該記憶卡之資料儲存操作之物體,及一 軟體應用其依賴於該物體以存取儲存於該記憶體裝置中 之資料: 採用該裝置之該韌體產生一單次密碼值; 將採用該裝置之該韌驴胼甚& & 4軔體所產生的該單次密碼值與在該 裝置外部所產生的一單次密碼值作比較;及 若該比較驗證該裝置所產生之該值與該裝置外部所產 生之該值匹配, 則允許或不允許執行該軟體應用。 28.如請求項27之方法,苴中吝竓 ,、中產生。亥早-人搶碼包含依據一種 值,及以下内交夕_ A 4¾. rh Λ* 或夕者來建立該密碼:一與該軟體 應用相關聯之唯—g丨外· ^識別付,及一與該裝置相關聯之唯一 識別符。 29·如晴求項28之方法,其中產生該單次密碼進—步包含依 據δ亥裝置型建立該密碼。 30.如請求項27之方法,直中產吝 ^ /、干生屋°午夕大1儲存型記憶體裝 專裝置各包含相同種值不過藉由利用一單次密碼 產生演算法針對—給定計數產生不同單次密碼值,該單 次被碼產生演算法基於-唯-識別符而使料值不同。 123181-1001005.doc 1357572 31. 32. 33. 如請求項27之方法’其中該唯一識別符包含與一 置唯一相關聯的一數字。 、 如凊求項27之方法,立中該唯 % 唯識财包含與該軟㈣ 用之一特疋實例唯一相關聯的一數字。 一種大量儲存型快閃記憶體裝置,其包含·· 一控制器; 隨機存取記憶體; 大置儲存’其包含快閃記憶體; 一虛擬機器; -機制’其在需要該虛擬機器之操作時致能該操作, 其中若藉由該裝置之一徒用去少夺备 使用牙之,舌動觸發該機制,則 支付與該虛擬機器相關聯的一授權費。 、 34.如請求項33之裝置,其中該虛擬機器係儲存於該大量儲 存快閃記憶體中。 3 5. —種大量儲存型快閃記憶體裝置,其包含: 一控制器; 隨機存取記憶體; 大量儲存,其包含快閃記憶體; 一虛擬機器;及 致月b構件,其係用於致能該虛擬機器, 八中田觸發該致能構件時,起始該虛擬機器之一費用 支付。 36. —種大量儲存型記憶卡,其包含: 快閃記憶體; 123181-1001005.doc 1357572 一控制器,·及 勒體,其控制該缺閃記憶體之讀取與寫入操作, =體包含咖内限制該等讀取與寫入操作之使用 限的女全常式; 催 該_之-第-操作狀態,該第一狀態係用於不具— 虛擬機器之該卡之操作;及 該動體之一第二操作狀態,該第二狀態係用於具—虛 擬機器之該卡之操作, 亚 37. 38. 39. 40. 41. /、中處於該第一狀態中時,該韌體之該等安全常式准 許該虛擬機器存取來自讀取與寫入受保護資料之資料 如明求項3 6之大量儲存型記憶卡,其中該快閃記憶體内 保留用於該虛擬機器之記憶體空間。 如請求項36之大量儲存型記憶卡,其中該卡在將一虛擬 機器載入該卡中之前係操作於該第一狀態中,且此後操 作於該第二狀態中。 如請求項38之大量儲存記憶卡,其中結合該虛擬機器載 入一小型應用程式。 如請求項38之大量儲存記憶卡,其中該小型應用程式包 含一數位權利管理應用。 一種儲存裝置,其包含: 一記憶體; 在未啟用狀態的一虛擬機器;及 一控制器作用於控制該記憶體的讀取及寫入操作,其 中該控制器進一步作用於使該虛擬機器處於一啟用狀 123181-100l005.doc 態,其中只有當該虛擬機器處於該啟用狀態時需支付 該虛擬機器的一授權費; 其中該控制器係作用於在該虛擬機器係在未啟用狀態 之-第-操作狀態中’或在該虛擬機器在啟用狀態之一 第二操作狀態中運作。 42. 43. 44. 45. 46. 47. 48. 49. 50. 如請求項41之儲存裝置,其中該控制器係作用於將該虛 擬機器處於啟用狀態以回應接收一啟用瑪。 Μ求項Μ儲存裝置’其中該控制器作用於驗證該啟 用碼’係藉由相對於儲存在該儲存裝置内的該啟用碼的 一加密版本對其檢驗。 如請求項42之儲存裝置,其中該控制器係作用於將該啟 用碼傳送至一伺服器以驗證。 如請求項42之儲存襄置,其中只有當來自-已鑑定實體 的該啟用賴接收時,該控制器係作用於使該虛擬機係 處於該啟用狀態中。 如请求項42之儲存裝置,其中該啟用碼係根據該虛擬機 器的一識別符及該儲存裝置的一識別符或二者之一。 如请求項42之儲存裝置,其中該啟用碼進一步提供一數 位權利管理(DRM)許可。 如请求項42之儲存裝置’其中該啟用竭係根據—密碼鐘 別方案。 如請求項42之儲存裝置’其中該啟用碼係根據單次密 碼。 如清求項41之儲存裝置’其中該控制器係作用於使該虛 123181-10010Q5.doc 1357572 擬機器處於該啟用狀態以回應接收一應用程式介面。 51·如請求項41之儲存裝置,其中該控制器係作用於實施一 安全系統以保護儲存在該記憶體中的資料,及其中該控 制器進一步作用以在當該虛擬機器處於該啟用狀態時, 允許該虚擬機器存取該資料之至少部分。 52. 如請求項41之儲存裝置,其中該虛擬機器在販售給—終 端使用者之前,被載入該卡。 53. 如請求項41之儲存裝置,其中該虛擬機器在販售給—終 端使用者之後,被下載至該卡。 54. 如請求項53之儲存裝置’其中將該虛擬機器處於該啟用 狀態的一啟用碼’與該虛擬機器被下載。 55. 如請求項41之儲存裝置,其中該虛擬機器與新的韌體被 載入該卡中。 56. —種啟用一儲存裝置中的一虛擬機器之方法,該方法包 含: 在一儲存裝置的一控制器中實施,其中該儲存裝置包 含一記憶體及在未啟用狀態的一虛擬機器: 接收以使該虛擬機器處於一啟用狀態的一啟用碼;及 使該虛擬機器處於一啟用狀態,其中僅在當該虛擬機 器處於該啟用狀態時,需支付該虛擬機器的一授權費; 其中該控制器係作用於在該虛擬機器係在未啟用狀態 中之一第一操作狀態中,或在該虛擬機器在啟用狀態中 之一第二操作狀態中運作》 57. 如清求項56之方法,進一步包含驗證該啟用碼,係藉由 123181-1001005.doc 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 相對於儲存在該儲存裝置内的該啟用㊣的一加密版本對 其檢驗。 如哨求項56之方法,進一步包含將該啟用碼傳送至一伺 服器以驗證。 如。月求項56之方法,其中只有當來自一已鑑定實體的該 啟用瑪被接收時’該虛擬機器處於該啟用狀態β 如明求項56之方法,其中該啟用碼係根據該虛擬機器的 識別符及該储存裝置的一識別符或二者之一。 如-月求項56之方法’其中該啟用碼進__步提供—數位權 利管理(DRM)許可。 如叫求項56之方法,其中該啟用碼係根據一密碼鑑別方 案。 如5月求項56之方法,其中該啟用碼係根據單次密碼。 如-月求項56之方法,進一步包含實施一安全系統以保護 儲存在該記憶體中的資料,及當該虛擬機器處於該啟用 狀心時允许该虛擬機器存取該資料之至少部分。 如印求項56之方法’其中該虛擬機器在販售給—終端使 用者之前,被载入該卡。 如》月求項56之方法’其中該虛擬機器在販售給—終端使 用者之後,被下载至該卡。 月求項66之方法,其中該啟用碼與該虛擬機器被 如4求項56之方法’其中該虛擬機器與新勃體被載入該 卡中。 123181-1001005.doc
TW096128704A 2006-08-08 2007-08-03 Portable mass storage with virtual machine activat TWI357572B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/463,264 US20080126705A1 (en) 2006-08-08 2006-08-08 Methods Used In A Portable Mass Storage Device With Virtual Machine Activation
US11/463,256 US7725614B2 (en) 2006-08-08 2006-08-08 Portable mass storage device with virtual machine activation

Publications (2)

Publication Number Publication Date
TW200820076A TW200820076A (en) 2008-05-01
TWI357572B true TWI357572B (en) 2012-02-01

Family

ID=38823627

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096128704A TWI357572B (en) 2006-08-08 2007-08-03 Portable mass storage with virtual machine activat

Country Status (5)

Country Link
EP (1) EP2049991A2 (zh)
JP (1) JP5118700B2 (zh)
KR (1) KR101504647B1 (zh)
TW (1) TWI357572B (zh)
WO (1) WO2008021682A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI703522B (zh) * 2015-03-26 2020-09-01 菲律賓商智慧通訊公司 用以便利匯款之系統及方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8868925B2 (en) * 2008-12-09 2014-10-21 Nvidia Corporation Method and apparatus for the secure processing of confidential content within a virtual machine of a processor
CN101964068A (zh) * 2009-07-22 2011-02-02 深圳市江波龙电子有限公司 一种sd卡及其数据访问控制方法
KR101103313B1 (ko) * 2009-09-28 2012-01-11 주식회사 잉카인터넷 가상머신 환경에서의 매체제어방법
US9292319B2 (en) 2012-03-28 2016-03-22 Google Inc. Global computing interface
TWI494856B (zh) * 2012-05-21 2015-08-01 Irene Tsai Program call method and mobile device
KR101655890B1 (ko) * 2015-04-08 2016-09-08 (주)세이퍼존 배드 유에스비 방지를 위한 보안 유에스비 장치의 펌웨어 설치 방법
CN111443991B (zh) * 2020-03-26 2023-06-23 恒宝股份有限公司 智能卡控制方法、装置及智能卡

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956505A (en) 1991-12-24 1999-09-21 Pitney Bowes Inc. Remote activation of software features in a data processing device
ATE281680T1 (de) 1997-03-24 2004-11-15 Visa Int Service Ass System und verfahren für eine mehrzweckchipkarte die eine nachträgliche speicherung einer anwendung auf dieser karte ermöglicht
JP2002169622A (ja) * 2000-09-25 2002-06-14 Fujitsu Ltd 課金方法およびプログラム
US20020145632A1 (en) * 2000-10-27 2002-10-10 Shimon Shmueli Portable interface for computing
JP2002279372A (ja) * 2001-03-15 2002-09-27 Nippon Telegr & Teleph Corp <Ntt> Icカード及びicカードのアプリケーション管理方法
JP2002318702A (ja) * 2001-04-19 2002-10-31 Mitsubishi Electric Corp 車載情報システム
JP2002358205A (ja) * 2001-06-01 2002-12-13 Dainippon Printing Co Ltd 複数のプラットホームを備えた携帯可能情報処理装置
DE60210416T2 (de) 2002-02-28 2006-09-07 Matsushita Electric Industrial Co., Ltd., Kadoma Speicherkarte
JP3913128B2 (ja) * 2002-02-28 2007-05-09 松下電器産業株式会社 メモリカード
JP4486828B2 (ja) * 2003-02-04 2010-06-23 パナソニック株式会社 半導体メモリカード、コンピュータ読取可能なプログラム
DE602004010458T2 (de) * 2003-02-04 2008-04-30 Matsushita Electric Industrial Co., Ltd., Kadoma Halbleiterspeicherkarte und rechnerlesbares programm
JP2005190276A (ja) * 2003-12-26 2005-07-14 Toshiba Corp メモリカード
KR20050070381A (ko) * 2003-12-30 2005-07-07 엘지전자 주식회사 원타임 패스워드 기반 인증 시스템
US20060004667A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Systems and methods for collecting operating system license revenue using an emulated computing environment
US20060106920A1 (en) * 2004-11-15 2006-05-18 Microsoft Corporation Method and apparatus for dynamically activating/deactivating an operating system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI703522B (zh) * 2015-03-26 2020-09-01 菲律賓商智慧通訊公司 用以便利匯款之系統及方法

Also Published As

Publication number Publication date
KR20090048581A (ko) 2009-05-14
WO2008021682A2 (en) 2008-02-21
WO2008021682A3 (en) 2008-07-24
EP2049991A2 (en) 2009-04-22
JP5118700B2 (ja) 2013-01-16
KR101504647B1 (ko) 2015-03-30
TW200820076A (en) 2008-05-01
JP2010500656A (ja) 2010-01-07

Similar Documents

Publication Publication Date Title
US8447889B2 (en) Portable mass storage device with virtual machine activation
TWI357572B (en) Portable mass storage with virtual machine activat
TWI242704B (en) Secure video card in computing device having digital rights management (DRM) system
US8214630B2 (en) Method and apparatus for controlling enablement of JTAG interface
US8621601B2 (en) Systems for authentication for access to software development kit for a peripheral device
US20080126705A1 (en) Methods Used In A Portable Mass Storage Device With Virtual Machine Activation
TWI621031B (zh) 積體電路中之安全特性及金鑰管理
JP4913871B2 (ja) セキュアコンテンツおよびアプリケーションのコピーを防ぐセキュリティメカニズムを有するメモリカードのアップグレード
JP5449905B2 (ja) 情報処理装置、プログラム、および情報処理システム
US9015479B2 (en) Host device and method for super-distribution of content protected with a localized content encryption key
RU2388051C2 (ru) Случайный пароль, автоматически формируемый базовой системой ввода-вывода (bios) для защиты устройства хранения данных
US20050216739A1 (en) Portable storage device and method of managing files in the portable storage device
EP2780855B1 (en) Method and storage device for protecting content
JP2005535958A (ja) デジタル著作権管理のための集積回路
US20130156196A1 (en) Storage Device and Method for Super-Distribution of Content Protected with a Localized Content Encyrption Key
US20070239619A1 (en) Content distribution program, content distribution method, server, content utilization apparatus, and content utilization system
EP1754134A1 (en) Portable storage device and method of managing files in the portable storage device
JP2011523481A (ja) 周辺装置用ソフトウェア開発キットのアクセス認証
CN112486607B (zh) 一种基于软硬件结合的虚拟桌面授权许可方法
US20090293117A1 (en) Authentication for access to software development kit for a peripheral device
KR100996992B1 (ko) Drm이 적용된 컨텐츠를 저장 및 사용하기 위한 포터블저장매체 그리고 이를 구현하기 위한 방법 및 시스템
KR101711024B1 (ko) 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
JP2005215945A (ja) 情報処理装置、ソフトウェアの実行を許可する記憶装置、および、ソフトウェア実行方法
KR100562255B1 (ko) 시큐리티 도메인의 키 초기화 방법
JP5702458B2 (ja) 情報処理装置、プログラム、および情報処理システム

Legal Events

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