TW476914B - Using a high level programming language with a microcontroller - Google Patents

Using a high level programming language with a microcontroller Download PDF

Info

Publication number
TW476914B
TW476914B TW086115695A TW86115695A TW476914B TW 476914 B TW476914 B TW 476914B TW 086115695 A TW086115695 A TW 086115695A TW 86115695 A TW86115695 A TW 86115695A TW 476914 B TW476914 B TW 476914B
Authority
TW
Taiwan
Prior art keywords
microcontroller
card
application
scope
patent application
Prior art date
Application number
TW086115695A
Other languages
English (en)
Inventor
Timothy J Wilkinson
Scott B Guthery
Ksheerabdhi Krishna
Michael A Montgomery
Original Assignee
Schlumberger Technologies Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21846980&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=TW476914(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Schlumberger Technologies Inc filed Critical Schlumberger Technologies Inc
Application granted granted Critical
Publication of TW476914B publication Critical patent/TW476914B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/77Protecting 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 smart cards
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/52Binary to binary
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44557Code layout in executable memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/356Aspects of software for card payments
    • G06Q20/3563Software being resident on card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3574Multiple applications on card
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/062Pre-authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Mathematical Physics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Devices For Executing Special Programs (AREA)
  • Microcomputers (AREA)
  • Storage Device Security (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Stored Programmes (AREA)
  • Credit Cards Or The Like (AREA)

Description

經濟部中央標準局員工消費合作社印製 476914 A7 --—___87___ 五、發明説明(i ) —'' 本專利文件揭示之一部份係包括受到著作權保護之材 料。著作權所有人不反對任何人對專利文件或專利福示之 傳真複製’如itl現在專利與商標局之專·案或記錄,但 除此之外則保留所有著作權。 在35 U.S.C.ni9(e)之T,本專利申請聲明具有先前 於1996年10月25日提出申請之序號為6〇/〇29〇57之暫時專 利申請之利益。 概CT之,本發明係與程式方面有關,而詳言之則係有 關在智慧卡或微控制器使用JAVA高階程式語言之技術。 以JAVA尚階程式语言所撰寫之軟體應用程式係使該 等應用程式不必經過更改即可在許多不同品牌電腦或電腦 平台上執行。而此係由以下過程來實現。亦即當撰寫一 JAVA應用程式時,它會被編譯成包含一假想電腦(稱為 JAVA虛擬機器)指令之位元組碼之,,類別”檔案。且撰寫程 式實現該等虛擬機器,其中每一虛擬機器對應於所支援之 每一平台。當使用者希望在所選擇之平台上執行一特定 JAVA應甩程式時,該應用程式經編譯後所產生之類別檔 案會被載入所選擇之平台。而所選擇平台之JAVA虛擬機 器會被執行,並直譯類別檔案中之位元組碼,因而能有效 執行JAVA應用程式。 以下之書籍及文獻係有關jAVA之說明,且均已列為
本文參考:(1)作者為 Arnold,Ken,及 James Gosling之"JAVA 程式語言,,,Addison-Wesley出版,1996; (2)作者為 James Gosling,Bill J〇y ’ 及 Guy Steele之,’JAVA語言規格”,§un 本紙張尺度適用中國國家標準(CNS ) M規格(2丨〇><297公董) 4
(請先閱讀背面之注意事項 、?!
476914 A7 B7 經濟部中央標準局員工消費合作社印製 五、發明説明(2 ) Microsystems 出版,1996,(web site:http://java.sun.com/doc /language—specification) ; (3)作者 James Gosling及 Henry McGilton 之1’JAVA語言環境:白皮書",Sun Microsystems 出版,1995,(web site:http://java.sun.com/doc/language一 environment/);以及(4)作者為 Tim Lindholm及 Frank Yellin 之"JAVA虛擬機器規格”,Addison-Wesley,1997。這些書 籍文獻以及其它許多這類書籍文獻皆對如何使用JAVA來 撰寫程式有所說明。 為使JAVA應用程式能在一特定平台上執行,須撰寫 一虛擬機器之實現,使其執行時遵循該平台之約束,並提 供一種載入所欲執行之JAVA應用程式至該平台之機制, 當然此亦需遵循該平台之約束。 支援JAVA之傳統平台通常皆為以微處理器為主之電 腦,這些電腦可存取較大之記憶體及硬碟儲存空間。而此 類微處理器實現通常使用於桌上型及個人電腦。然而,微 控制器(通常使用於智慧卡)則無此類傳統JAVA實現。 微控制器在許多方面與微處理器不同。譬如,微處理 器通常有一中央處理單元,且需與某些外部組件(譬如, 記憶體,輸入控制與輸出控制)搭配才可適當發揮功能。 一典型之微處理器可存取1MB至1GB(位元組)之記憶體, 且一單一指令可處理16,32,或64位元,甚或更多之資訊 。而微控制器則包含一中央處理單元,記憶體及其它功能 元件,這些組件均在一單一半導體基板,或積體電路(譬 如,一晶片)上。與微處理器可存取較大之外部記憶體相 (請先閲讀背面之注意事項
、νά
本紙張尺度適用中國國家標準(CNS ) Α4規格(21〇X297公嫠) 476914 經濟部中央標準局員工消費合作社印製 A7 —_B7____五、發明説明(3 ) 比,典型之微控制器所可存取之記憶體空間要小很多。典 型之微控制器可存取1KB至64KB(位元組)之内建記憶體, 通常是16KB〇 一般使用三種不同類型之記憶體:隨機存取記憶體 (RAM),僅讀記憶體(ROM)及電氣式可除拭僅讀記憶體 (EEPROM)。在微控制器,每種記憶體可用之量受限於在 積體電路上用於該種記憶體之空間大小。通常’ RAM佔 用最多空間,但供應最少。ROM佔用最少空間,但容量 最多。而EEPROM則多於RAM,但少於ROM。 每一種記憶體可適用於不同的用途。雖然R0M是其 中最便宜者,但它僅適用於資料不需改變(譬如’作業系 統程式碼)之場合。EEPROM適用於電源切斷後資料仍須 保存之場合,但是它的寫入速度極為緩慢。RAM雖可快 速寫入與讀取,但是較為昂貴且電源切斷後儲存於尺八1^ 中之資料即會消失。微處理器系統由於未受限於配置在一 單一積體電路裝置上,故其通常具有較少之R〇M與 EEPROM,以及1MB至128MB之RAM,且通常會存取一外 部磁碟記憶體系統,此磁碟系統係作為可寫入之大容量非 揮發性儲存區域,價格較EEPROM低廉。然而,微控制器 通常具有較少的RAM,約0.1至2.0K,EEPROM約2K至8K ,以及8K至56K之ROM。 由於所需之外部組件少以及其尺寸小,微控制器通常 用於諸如智慧卡之類的積體電路卡。此類智慧卡有許多種 形式,包括使用時須插入一讀卡機之接觸型卡,以及不需 (請先閱讀背面之注意事項
本紙張尺度適用中國國家榡準(CNS ) A4規格(210X297公釐) 6 476914 A7 B7 五、發明説明(4 ) 插入之不接觸型卡。實際上,具無接觸通訊之微控制器通 常嵌入於諸如手錶及戒子之類的特殊形式,以符合人體工 學之較引人方式有效整合智慧卡功能。 由於環境限制,智慧卡之應用程式通常是以低階程式 語言(譬如,組合語言)撰寫以節省記憶體。 積體電路卡係一種用於儲存資料之安全,堅固,防搗 毀及可攜式之裝置。積體電路卡由於體積小且其硬體與軟 體資料安全特性對該積體電路卡為唯一,故可說是最有個 性之個人電腦。 積體電路卡以及卡上之微控制器的主要工作係保護儲 存在卡上之資料。由於積體電路卡是在1974年發明,故積 體電路卡技術均是以這些相同的安全基礎做嚴密保護。積 體電路卡最早被法國銀行用作借贷卡。在此應用,在授權 以此卡做金融交易前,持卡人除了擁有卡片外,尚須知道 儲存於卡上之四位數個人識別碼(PIN) 〇任何有助於發現 遺失或失竊卡之PIN號碼之資訊皆禁止公開發布。事實上 ,由於在這方面無人能分辨那些資訊是有用的,故有關積 體電路卡之所有資訊皆得以保密。 由於考量其安全性,為積體電路卡所撰寫之應用程式 具有獨特性。譬如,每一應用程式通常是以一特定所有人 或身分來識別。由於這些應用程式通常是以低階程式語言 (譬如組合語s)撰寫’故應用程式是針對一特定類型之微 控制器而撰寫。由於低階程式語言特性,未授權之應用程 式可存取積體電路卡上之資料。由於為一積體電路卡所撰 本紙張尺度通用T國國冢標準(CNS ) A4規格(210X297公釐) (請先閱讀背面之注意事' ϋ »ϋ I 項\^^寫本頁 訂 經濟部中央標準局員工消費合作社印製
寫之程式a-特定身分來辨識,故若二身分欲執行相同 (請先閲讀背面之注意事項 之程式功此時’應用程式之某些部份須在積體電路卡之微 控制器上存在二份拷貝。 積體電路卡系統-向均為封閉系統。積體電路卡包含 -專屬應用,此制經由手動與―特定終端機制一起工 作。當使㈣體電路卡時,其安全檢查主要是較卡應用 與終端機應用是否相匹配且卡上之資料是否為有效。 -訂 由於積體電路卡愈來愈流行,積體電路卡使用者必然 不願意對每一種積體電路卡應用攜帶不同的積體電路卡。 因此,開始在單一供給者之積體電路卡上提供多種協同應 用。因此,譬如一自動提款機(ATM)存取卡與一借貸卡可 共存於一單一積體電路卡平台。然而,由於終端機與卡之 所有應用是由一供給者(此供給者對其它供給者之產品清 楚瞭解)所建立,是故此系統仍屬封閉系統。
經濟部中央標準局員工消費合作社印製 由於缺乏積體電路卡之有關資訊,特別是有關如何與 它們通訊以及如何撰寫程式之資訊,故阻礙積體電路卡之 一般應用1不過,公眾數位網路(譬如Internet&www)的 出現打開了積體電路卡應用之新領域。詳言之,此導致不 需清楚瞭解其它供給者即可載入新的應用至積體電路卡上 之需求’且不會有危及卡安全之可能性。不過,對於使用 低階程式語言撰寫程式之傳統積體電路卡,則通常是不實 際的。 概言之,本發明之一觀點係一積體電路卡與一終端機 配合使用。積體電路卡包括一儲存一直譯器之記憶體以及 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 五、發明説明(6 ) 一具有高階程式語言格式之應用程式。卡上之處理器被規 劃使用該直譯器以直譯執行應用程式以及使用卡上之通訊 器與終端機通訊。 本發明之優點如下。可載入新的應用至智慧卡而不必 危及智慧卡之安全性。這些應用可為不同的公司所提供, 使用不同的終端機在不同的時間載入。由於JAVA虛擬機 =提供紗姉何應絲式碼 或資料之未授權存取%可使用功能強大之主流程式發展工 具,以諸如JAVA及EIFFEL之類的高階程式語言產生智慧 卡應用程式。可在數小時内迅速產生新的應用原型並下載 至智慧卡,且不必求助於軟體遮罩。使用微控制器之嵌入 系統亦可藉由使用本發明,得到下載新應用程式,高階程 式開發,以及快速產生原型等優點。 本發明之實現可包括下述之一或以上:應用程式之高 階程式語言格式可具有一類別檔案格式以及可具有一 JAVA程式語言格式。處理器可以是一微控制器。至少一 部份記憶體可在處理器内。 經濟部中央標準局員工消費合作社印製 應用程式可以從一包含一串字元之第二應用程式處理 ,並可在第一應用程式中以一識別碼(譬如,一整數)代表 該串字元。 處理器亦可被規劃接收來自一請求器(譬如,一處理 器或一終端機)之請求以存取卡上之一元件(譬如,儲存於 記憶體之一應用程式,儲存於記憶體或通滅器之資料), 在接收到請求之後,會與請求器互動以確認請求器之身 經濟部中央標準局員工消費合作社印製 476914 A7 B7 五、發明説明( ,然後根據該身分,選擇性地授予對該元件之存取。 記憶體亦可儲存該元件之一存取控制表單。存取控制 表單提供所欲授予該身分之存取類型,以及根據存取控制 表單,處理器選擇性地授予特定之存取類型(譬如,讀取 資料,寫入資料,附加資料,建立資料,刪除資料或執行 一應用程式)給請求器。 其應用程式可以是儲存於記憶體之數個應用程式之一 。處理器更可被規劃接收來自一請求器之一請求,以讀取 數個應用程式其中之一;在接收到請求後,判定該數個應 用程式之一是否遵守一組預定規則;然後根據判定,選擇 性地授予該请求器對該數個應用程式之一之存取。該等預 定規則係作為決定該數個應用程式之一是否可存取一預定 記憶體區域之指導。處理器更可被規劃以確認請求器之身 分並根據該身分授予對該數個應用程式之一之存取。 處理器亦可被規劃經由通訊器與終端機互動以確認一 身分;判定該身分是否已被確認;以及根據判定,選擇性 地允許終端機與積體電路卡之間之通訊。 通訊器與終端機可經由通訊通道互相通訊0處理器亦 可被規劃當處理器允許終端機與積體電路卡間之通訊時, 指定通訊通道其中之一給該身分。處理器亦可被規劃當處 理器與終端機經由指定之通訊通道通訊時,指定一對話密 鑰給所指定之通訊通道並使用該對話密鑰。 終端機可具有一讀卡機,以及通訊器可包括一用於與 讀卡機通訊之接點。終端機可具有一無線通訊裝置,以及
476914 A7 B7 經濟部中央標準局員工消費合作社印製 五、發明説明(8 ) 通訊器可包括一用於與無線通訊裝置通訊之無線收發器。 終端機可具有一無線通訊裝置,以及通訊器可包括一用於 與無線通訊裝置通訊之無線發射器。 概言之,本發明之另一觀點係一種使用於一積體電路 卡與一終端機之方法《此方法包括儲存一直譯器及至少一 具有一高階程式語言格式之應用程式至積體電路卡之記憶 體。積體電路卡之一處理器使用直譯器直譯執行至少一應 用程式,以及當處理器與終端機通訊時,處理器使用卡上 之一通訊器。 概言之,本發明之另一觀點係一智慧卡。此智慧卡包 括一儲存一 JAVA直譯器之記憶體以及一處理器,被規劃 使用該直譯器以直譯執行一 JAVA應用程式。 概言之,本發明之另一觀點係一微控制器,具有一半 導體基板以及位於基板上之一記憶體。一程式語言直譯器 儲存於記憶體並被規劃以實現安全檢查。一中央處理單元 位於基板上並連接至記憶體。 本發明之實現可包括下述之一或以上。直譯器可以是 一 JAVA位元組碼直譯器。安全檢查可包括建立防火牆以 及可包括實施一沙盒(sandbox)安全模型。 概言之,本發明之另一觀點係一智慧卡,具有一儲存 於卡上記憶體之程式語言直譯器。直譯器被規劃實現安全 檢查。卡之一中央處理單元連接至記憶體。 概言之,本發明之另一觀點係一與終端機一起使用之 積體電路卡。此積體電路卡包括一通訊器以及一儲存一直 (請先閲讀背面之注意事項 衣-- \^!|寫本頁)
、1T
本紙張尺度適用中國國家標準(CNS ) Α4規格(210X 297公釐) 11 476914 Α7 Β7 五 、發明説明(9 譯器及一第一應用程式之第一類指令之記憶體。第一類指 令是由一第二應用程式之第二類指令所轉換而成。積體電 路卡包括一連接至記憶體之處理器並被規劃使用直譯器以 執行第一類指令以及經由通訊器與終端機通訊。 本發明之實現可包括下述之一或以上。第一及/或第 二應用程式可具有類別檔案格式。第一及/或第二應用程 式可包括位元組碼,諸如JAVA位元組碼。第一類指令可 以是第二類指令之廣義或重新編號之版本β第二類指令可 包括常數參考,以及第一類指令可包括替代第二類指令之 常數參考之常數。第二類指令可包括參考,以及該等參考 可在第二類指令轉換為第一類指令時移動位置。第一類指 7在移位後可重連結至該等參考。第一類指令可包括用於 一第一類型虛擬機器之位元組碼,以及第二類指令可包括 用於一第二類型虛擬機器之位元組碼。第一類型與第二類 型不同。 (請先閲讀背面之注意事項 寫本頁 經濟部中央標準局員工消費合作社印製 概言之,本發明之另一觀點係一用於一積體電路卡之 方法。此方法包括將一第二應用程式之第二類指令轉換為 第一應用程式之第一類指令;將第一類指令儲存於積體 電路卡之S己憶體上,以及使用積體電路卡之一直譯器執行 第一類指令。 概言之,本發明之另一觀點係一與一終端機一起使用 之積體電路卡。此積體電路卡具有一被規劃與終端機通訊 之通訊器以及一儲存一第一應用程式(處理自一具有一字 元字串之第二應用程式)之記憶體。在第一應用程式以一 本紙張尺度適用中國國家標準(CNS) M規格(210X297公楚)
12 476914 A7 B7 發明説明(10 識別碼代表該字元字串。積體電路卡包括一連接至記憶體 之處理器。處理器被規劃使用直譯器以直譯執行第一應用 程式以及使用通訊器與終端機通訊。 概言之,本發明之另一觀點係一用於一積體電路卡與 一終端機之方法。此方法包括處理一第二應用程式以產生 一第一應用程式。第二應用程式具有一串字元。在第二應 用程式是以一識別碼代表此字元字串。一直譯器及第一應 用程式儲存於積體電路卡之一記憶體上。一處理器使用一 直譯器以直譯執行第一應用程式。 概言之,本發明之另一觀點係一微控制器,包括一儲 存一應用程式與一直譯器之記憶體。應用程式具有一類別 檔案格式。微控制器之處理器連接至記憶體並被規劃使用 直譯器以直譯執行應用程式。 在本發明之實現,微控制器亦可包括一被規劃與一終 端機通訊之通訊器。 經濟部中央標準局員工消費合作社印製 概吕之’本發明之另一觀點係一用於一積體電路卡之 方法。此方法包括將一第一應用程式儲存於積體電路卡之 記憶體’將一第二應用程式儲存於積體電路卡之記憶體, 以及建立一隔離第一與第二應用程式之防火牆使第二應用 程式無法存取第一應用程式以及與第一應用程式有關之資 料。 · 概言之,本發明之另一觀點係一與一終端機一起使用 之積體電路卡。此積體電路卡包括一被規劃與終端機通訊 之通訊器,一記憶體以及一處理器。記憶體儲存應用程式 13 (請先閱讀背面之注意事項再^寫本頁)
本紙張尺度適用規格(2ΚΓΧ297公董) 476914 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明(11) ,且每一應用程式均具有_高階程式語言格式。記憶體亦 儲存-直處理H連接至記憶體並被規劃:a)使用 直譯器直澤執行應用程式,b)使用直譯器建立一防火牆 以將應用程式彼此隔離,以及c)使用通訊器與終端機通 訊。 從下文之詳細說明及申請專利範圍將可清楚瞭解本發 明之其它優點與特性。 第1圖係一積體電路卡系統之方塊圖。 第2圖係一流程圖,顯示準備所欲下載至一積體電路 卡之JAVA應用程式。 第3圖係一方塊圖,顯示卡類別檔案轉換器所使用及 產生之檔案。 第4圖係一方塊圖,顯示將應用類別檔案轉換為__^ 類別檔案。 第5圖係一顯示類別檔案轉換器工作情形之流程圖。 第6圖係一顯示位元組碼修改之流程圖。 第7圖係顯示特定位元組碼變換為一般位元組碼之方 塊圖。 第8圖係一顯示以常數替代常數參考之方塊圖。 第9圖係一方塊圖,顯示以其更新之值替代參考。 第10圖係一顯示重新編號原始位元組碼之方塊圖。 第11圖係顯示將原始位元組碼轉換為適用於一不同之 虛擬機器結構之方塊圖。 (請先閲讀背面之注意事項再填寫本頁)
14 經濟部中央標準局員工消費合作社印製 476914 A7 B7 五、發明説明(12) 第12圖係一顯示將應用程式載入一積體電路卡之方塊 圖。 第13圖係一顯示在一積體電路卡上執行應用程式之方 塊圖。 第14圖係一顯示ROM,RAM及EEPROM記憶體組織 之簡圖。 第15圖係一卡JAVA虛擬機器之整體結構之流程圖。. 第16圖係一流程圖,顯示在具有安全檢查之卡JAVA 虛擬機Is執行之方法。 第17圖係一流程圖,顯示在卡JAVA虛擬機器之位元 組碼之執行。 第18圖係一流程圖,顯示在不具有安全檢查之卡JAVA 虛擬機器執行之方法。 第19圖係一方塊圖,顯示卡應用程式與身分間之關係 〇 第20圖係一顯示一特定執行應用程式之存取權限之方 塊圖。 第21圖係一在智慧卡上之微控制器之透視圖。 第22圖係一在電話上之微控制器之透視圖。 第23圖係一在鑰匙環上之微控制器之透視圖。 第24圖係一在戒子上之微控制器之透視圖。 第25圖係一在汽車電路卡上之微控制器之透視圖。 參考第1圖,建構一積體電路卡1〇(譬如,一智慧卡) 以提供一高階,JAVA為主之多種應用程式撰寫與執行之 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 15 (請先閲讀背面之注意事項再填寫本頁)
476914 A7 B7
經濟部中央標準局員工消費合作社印製 五、發明説明(13) 環境。積體電路卡10具有一通訊器12a,被規劃與一終端 機14之終端通訊器12b通訊。在一些實施例,積體電路卡1〇 係一個具有一 8位元微控制器,512位元組RAM,4K位元 組之EEPROM,以及20K位元組ROM之智慧卡;终端通訊 器12b為一傳統之接觸型智慧卡讀卡機;以及终端機14係 一傳統個人電腦,執行支援個人電腦智慧卡(PC/SC)標準 以及提供JAVA發展環境支援之Windows NT作業系統。 在一些實施例,微控制器,記憶鱧及通訊器被嵌入一 大小大致與典型信用卡相同之塑膠卡内。在其它實施例, 微控制器,記憶體及通訊器則被安裝在塑膠卡以外之諸如 鑲寶石之裝飾品(譬如,手錶,戒子或手鐲),汽車設備, 電信設備(譬如,用戶身分模組(SIM)卡),安全裝置(譬如 ,密碼模組)及器具等基部内。 終端機14準備JAVA應用程式並使用終端通訊器12b將 之下載至積體電路卡1〇。終端通訊器12b係一通訊裝置, 可在積體電路卡10與終端機14之間建立一通訊通道。一些 通訊選擇,譬如,接觸型讀卡機,經由射頻或紅外線技術 之無線通訊,串列通訊協定,封包通訊協定,ISO 7816通 訊協定等。 終端機14亦可與積體電路卡1〇所執行之應用程式互動 。在一些場合,不同的終端機可用於這些目的。譬如,一 種終端機可用於準備應用程式,不同的終端機可用於下載 應用程式,以及其它終端機可用於執行不同的應用程式。 終端機可以是自動提款機(AT-Ms),銷售點終端機,門戶安
---------豢衣-- (請先閲讀背面之注意事項再填寫本頁) 訂
本紙張认適用 ( 210X297,IiT 16 476914 A7 B7 五、發明説明(14) 全系統,長途電話付費系統,存取控制系統,或任何其它 與積體電路卡或微控制器通訊之系統。 積體電路卡10包括一卡JAVA虛擬機器(卡JVM)16,用 於直譯存在於卡10上之應用程式。 參考第2圖,JAVA應用程式20包含三個JAVA原始碼檔 案 A.java 20a,B.java 20b,以及 C.java 20c。這些原始碼 檔案是在一 JAVA應用程式發展環境22下準備以及編譯β 當JAVA應用程式20為發展環境22編譯時,會產生應用程 式類別檔案24 ,類別檔案A.class 24a,B.class 24b,以 及C.class 24c各自對應於其類別JAVA原始碼20a,20b,及 20c。應用程式類別檔案24係遵照1996年Addison-Wesley 所出版,作者為Tim Lindholm及Frank Yellin之,,JAVA虛擬 機器規袼π中第四章所述之標準類別檔案格式。這些應用. 程式類別檔案24被送至卡類別檔案轉換器26,將這些檔案 整理及壓縮後產生一單一之卡類別檔案27。使用一傳統卡 載入器28將卡類別檔案27載入積體電路卡10。 經濟部中央標準局員工消費合作社印製 參考第3圖,卡類別檔案轉換器26係一類別檔案之後 置處理器,處理一組以標準JAVA類別檔案格式所編碼之 類別檔案24,可選擇使用一字串對ID輸入對映檔案30產 生一具有卡類別檔案格式之JAVA卡類別檔案27。在列為 本文參考之附錄A中有說明此種卡類別檔案格式。此外, 在一些實施例,卡類別檔案轉換器26產生一字串對ID輸 出對映檔案32,以作為卡類別檔案轉換器在隨後執行之輸 入。 '本紙張尺度適用中國國( CNs ) A4規格(210X 297公- 17 - 經濟部中央標準局員工消費合作社印製 476914 A7 B7 五、發明説明(15) 在一些實施例,為使字串對ID對映與先前所產生之 卡類別檔案一致(在多個類別檔案參考相同字串之情形), 卡類別檔案轉換器26可自一字串對ID輸入對映檔案30接 受前所定義之字串對ID對映。若無此一檔案,則ID是由 卡類別檔案轉換器26產生。列入本文參考之附錄B有說明 實現與產生字串對ID輸入對映檔案30及字丰對ID輸出對 映檔案32之一種可能方式並以一例子說明此種對映。 參考第4圖,一典型應用程式類別檔案24a包含類別檔 案資訊41 ; 一類別常數池42 ;類別,建立之攔位,參考之 介面,及方法等資訊43 ;以及不同的屬性資訊44,如同前 述JAVA虛擬機器規格中之詳細說明。需知道在此實施例 許多屬性資訊44是不需要的並為卡類別檔案轉換器26所去 除 45。所去除之屬性包括 SourceFile,ConstantValue, Exceptions,LineNumberTable,LocalVariableTable,以及 任何可有可無之廠商屬性。如附錄A所述之典型卡類別檔 案27是以下述方式由應用程式類別檔案24所導出。卡類別 檔案資訊46是由所有的應用程式類別檔案24a,24b,及24c 之聚合類別檔案資訊41所導出。卡類別檔案常數池47是由 所有的應用程式類別檔案24a,24b,及24c之聚合類別常 數池42所導出。卡類別,建立之欄位,參考之介面,及方 法等資訊48是由所有的應用程式類別檔案24a,24b,及24c 之聚合類別,建立之欄位,參考之介面,及方法等資訊43 所導出。此實施例之卡屬性資訊49僅由所有的應用程式類 別檔案24a,24b,及24c之聚合屬性資訊44之碼屬性所導 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 18 (請先閲讀背面之注意事項再填寫本頁)
經濟部中央標準局員工消費合作社印製 476914 Α7 Β7 五、發明説明(16) 欲避免在卡做動態連結,以第5圖流程圖所示之處理 過程,將分布在構成應用程式24之數個JAVA類別檔案24a ,24b,及24c之所有資訊,合併為一卡類別檔案27。在51a 選擇所欲處理之第一個類別檔案。在51b以下述方式壓縮 常數池、42。在一 JAVA類別檔案24a中所參考之所有物件, 類別,欄位,及方法是由類別檔案24a之常數池42中之字 串來辨識。卡類別檔案轉換器26將JAVA類別檔案24a中所 發現之常數池42轉換為一最佳化形式。此壓縮是藉由將類 別檔案常數池42中所發現的所有字串對映為整數(其大小 是依微控制器結構而定)而完成。這些整數亦視為ID。每 一ID唯一辨識應用程式20中之一特定物件,類別,欄位 或方法。因此,卡類別檔案轉換器26將JAVA類別檔案常 數池42中之字串以其所對應之唯一ID替代。附錄B顯示一 範例應用程式HelloSmartCard.java,並以一表格顯示對 應於此應用之類別檔案常數池中所發現字串之ID。用於 此範例之ID為16位元無號整數。 其次,卡類別檔案轉換器26在51c檢查輸入JAVA類別檔 案24a之Code屬性之未支援特性。卡JVM16僅支援整個 JAVA位元組碼之一子集合,如列入本文參考之附錄C所述 。因此,卡類別檔案轉換器26檢查JAVA類別檔案24a之 Code屬性之未支援位元組碼。若在52發現任何未支援之 位元組碼,卡類別檔案轉換器在53指示錯誤並停止轉換。 在附錄D中標記為ΠΑ”之程式碼片段顯示如何捕捉這些偽 本紙張尺度適用中國國家標準(CNS ) Α4規格(21〇><297公釐) 19 (請先閱讀背面之注意事項再填寫本頁)
476914 A7 B7 經濟部中央標準局員工消費合作社印製 五、發明説明(π) 位元組碼。可在標準JAVA發展環境22以,-g,參數來編譯應 用程式20以執行另一層次之檢查。根據前述jAVA虛擬機 器規格,此參數需要JAVA編譯器將有關JAVA應用程式20 所使用之變數資訊置於類別檔案24a之LocalVariableTable 屬性。卡類別檔案轉換器26使用此資訊檢查JAVA類別檔 案24a是否參考JAVA卡未支援之資料型態。 其次,卡類別檔案轉換器26在51d將不需做直譯之 JAVA類別檔案24a之所有不需要部份丟棄。JAVA類別檔案 24a儲存有關類別檔案之位元組碼資訊至JAVA類別檔案之 屬性區域44。卡JVM 16不需直譯之屬性,諸如SourceFile ’ ConstantValue,Exceptions,LineNumberTable,以及 LocalVariableTable等可被安全丟棄。Code屬性包含對應 於JAVA類別檔案24a中之方法之位元組碼。 在54修改位元組碼之步驟包括檢查類別檔案中每一方 法之Code屬性資訊44,以及修改參考JAVA類別檔案常數 池42中項目之位元組碼運算元以反映至卡類別檔案常數池 47之項目。在一些實施例,亦修改位元組碼,如下所述。 在54修改位元組碼包括第6圖流程圖所示之五次通過 (pass),其中二次為可有可無。原始位元組碼6〇是在所處 理之JAVA類別檔案24a之Code屬性中發現。第一通過61記 錄原始位元組碼中之所有跳躍及其目的地。在爾後之位元 組碼轉換期間,有些單一位元組碼可被轉換為二或三個位 元組。第7圖顯示一例子,其中位元組碼il〇AD_0為二個 位元組,亦即位元組碼IL0AD與參數〇所取代。當此取代 (請先閲讀背面之注意事項再填寫本頁)
r· 訂
本紙張尺度適用中國國家榡準(CNS ) A4規格(210X297公釐) 20 476914 A7 B7 五、發明説明(18 ) 完成後,碼之大小會改變,故需調整任何受到影響之跳躍 目的地。因此,在做這些轉換前,需先分析原始位元組碼 60之每一跳躍位元組碼並記錄其位置及目前之目的地。在 附錄D中標記為ΠΒΠ之程式碼片段顯示如何記錄這些跳躍 。附錄D已列為本文參考。 當跳躍被記錄後,在62若未執行可有可無之位元組碼 轉換時,卡類別檔案轉換器26會跳至第三通過64。 經濟部中央標準局員工消費合作社印製 否則,卡類別檔案轉換器會將特殊之位元組碼轉換為 一般的位元組碼。通常,轉換之位元組碼不會在卡JVM 16 被直譯,但卻會為將位元組碼轉換為卡JVM 16所可直譯 之等效位元組碼所支援(參考第7圖)。位元組碼70可用另 一與位元組碼72不同之語意相當之位元組碼所取代。此通 常會伴隨將諸如ILOADJ)之短的單一特殊位元組碼轉換 為其較普通形式。譬如,ILOAD__0可為位元組碼ILOAD 以一參數0所取代。做此轉換係用於減少卡JVM 16所要翻 譯之位元組碼數目,因而可減少卡JVM 16之複雜性及碼 空間需求。附錄D中標示為”Cn之程式碼片段顯示如何做 這些轉換。需知道這些轉換會增加所產生之位元組碼之大 小,因而需重新計算任何受影響之跳躍。
在第三通過64,卡類別檔案轉換器經由去除用於指示 這些常數之字串,重建常數參考。第8周顯示一個例子’ 其中經由JAVA類別檔案24a常數池42之一索引所找到之參 考常數,,18,,之位元組碼LDC 80,可被轉換為BIPUSH位元 組碼82。在此通過,卡類別檔案轉換器26對所有參考JAVA 21 (請先閲讀背面之注意事項再填寫本頁)
本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 經濟部中央標準局員工消費合作社印製 476914 Α7 Β7 五、發明説明(l9) 類別檔案常數池42中之項目之位元組碼修改運算元,以反 映其在卡類別檔案常數池47中之新位置。第9圖顯示一例 子,其中位元組碼INVOKESTATIC 90之參數參考JAVA類 別檔案常數池42中之一項目,它被修改反映該項目在卡類 別檔案常數池47中之新位置。修改之運算元94顯示此一轉 換。附錄D中標示為"D”之程式碼片段顯示如何做這些修 改。 在重連結常數參考後,若未執行可有可無之位元組碼 修改,則卡類別檔案轉換器會跳至第五,亦即最後通過67 〇 否則,卡類別檔案轉換器將原始位元組碼修改為使用 之特別卡JVM 16所支援之一組不同的位元組碼。一可能 的修改是將原始位元組碼60重新編號為卡JVM 16位元組 碼(參考第10圖)。此重新編號使原始位元組碼60中之位元 組碼100被修改為一重新編號之位元組碼102。為值21所辨 . ^ '- 識之位元組碼ILOAD可被重新編號以值50來辨識。做此 種修改可最佳化卡JVM 16之型態測試(在熟知技藝亦稱為 通過3檢查)。附錄D中標示為ΠΕΠ之程式碼片段顯示此實施 例之一實現。可做此修改以減少卡JVM 16直譯位元組碼 所需之程式空間。基本上此修改是將位元組碼重組成卡 JVM 16位元組碼,使具有類似運算元,結果之位元組碼 被組合一起,並在卡JVM 16位元組碼之間不會留有間隔 。此允許卡JVM16在執行時能有效檢查卡JVM 16位元組 碼並確認型態。 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X297公釐) 22 (請先閲讀背面之注意事項再填寫本頁)
476914 A7 B7 五、發明説明(2〇 ) (請先閲讀背面之注意事項再填寫本頁) 在一些實施例,卡類別檜案轉換器將原始位元組碼60 修改為設計用於一不同虛擬機器之一組不同位元組碼,如 第11圖所示。欲使用在一字組堆疊114之JAVA位元組碼 ILOAD 112可以用使用於一位元組堆疊ι18之卡jVM 16位 元組碼ILOAD—B 116取代。在字組堆疊114之一單元需配 置四個位元組之堆疊空間,而在位元組堆疊118之一單元 僅需配置一個位元組之堆疊空間。雖然此種選擇可增進執 行速度,但會有失去原始位元組碼所有之安全特性之風險 〇 由於先前步驟63,〜64或66可能會改變位元組碼6〇之大 小,卡類別檔案轉換器26須在67重新連結任何受影響之跳 躍。由於跳躍是在卡類別檔案轉換器26之第一步驟61記錄 ,此調整是藉由將跳躍目的地固定為適當值來完成。附錄 D中標示為”Fn之程式碼片段顯示如何固定這些跳躍。 此時卡類別檔案轉換器具有相當於原始位元組碼60之 修改位元組碼6§,備妥待栽入。因此JAVA類別檔案24a轉 換為卡類別檔案27的工作即算告成。 經濟部中央標準局員工消費合作社印裳 再參考第5圖’若在55尚有類別播案24需要處理時, 則對每一尚需處理之類別檔案重覆先前步驟51a,51b,51c ,52及54。卡類別檔案轉換器26在56收集已處理過之類別 檔案24之對映關係與修改之位元組碼,並將之置於一集合 ,然後在57產生一卡類別檔案27。若有需要,卡類別檔案 轉換器26可產生一字串對ID輸出對映檔案32,它包含一 在轉換期間配置給在JAVA類別檔案24之常數池42所找到 23 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 476914 A7 B7 經濟部中央標準局員工消費合作社印製 五、發明説明(21 ) 字串之所有新ID之列表。 參考第12圖,在終端機14内之卡載入器28使用標準 IS07816命令傳送一卡類別檔案至位於積體電路卡10内之 載入與執行控制120。載入與執行控制120以及一提供所需 系統資源之卡作業系統122,支援一可用於儲存數個卡應 用程式126之卡檔案系統124。許多傳統卡載入器是以卡作 業系統122所支援之低階程式語言撰寫。在較佳實施例, 啟動程式載入器是以JAVA撰寫,以及積體電路卡10包括 一執行此應用程式之JAVA虛擬機器。列入本文參考之附 錄E顯示載入與執行控制120之一實現。載入與執行控制 120接收卡類別檔案26並產生一 JAVA卡應用程式126x,儲 存於積體電路卡1〇之EEPROM中之卡檔案系統126内。數 個JAVA卡應用程式126x,126y,及126z可以此方式儲存 於一單一卡上。載入與執行控制120支援終端機14在選擇 立即執行,或在下一次重置時所執行之JAVA卡應用程式 之命令。 參考第13圖,卡JAVA虛擬機器(卡JVM)16接收到來自 載入與執行控制120之一重置或執行命令後,會開始以一 選自所選擇之JAVA卡應用程式126z之類別之一預定方法( 譬如,主要)執行。卡JVM 16提供JAVA卡應用程式126z可 使用本機JAVA方法存取其下之卡作業系統122 ’此卡作業 系統提供諸如I/O,EEPROM支援,檔案系統’存取控制 以及其它系統功能等能力,如列入本文參考之附錄F之說 明0 (請先閱請背面之注意事項再填寫本頁)
、1T 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X 297公釐) 24 476914 經濟部中央標準局員工消費合作社印製 Α7 Β7 五、發明説明(22) 所選擇之JAVA卡應用程式126z使用通訊器12a與一在 終端機14上之適當應用程式通訊,以建立與終端機14之間 之一通訊通道。從通訊器12a至終端機14之資料通過終端 機内之一通訊器驅動程式132,此驅動程式係用於處理通 訊器12a所使用之通訊協定。然後資料傳遞至一積體電路 卡驅動程式134 ’此驅動程式係定址所使用之特別積體電 路卡10之能力,並提供高階軟體服務給終端機應用程式136 。然後資料傳遞至終端機應用程式136,它須處理執行之 特別卡應用程式126z所提供之能力。在此方式,命令及回 應在終端機應用程式136與所選擇之卡應用程式126z之間 來回傳遞。終端機應用程式與使用者互動,接收使用者之 命令,其中有些命令會被傳遞至所選擇之JAVA卡應用程 式126z,以及接收來自JAVA卡應用程式126z之回應,處 理這些回應然後傳送回使用者。 參考第14圖,卡JVM 16係一直譯器,直譯卡應用程 式126x。在微控制器中影響卡JVM 16之記憶體資源為卡 ROM140,卡RAM 14卜以及卡EEPROM 142。卡ROM 140 係用於儲存卡JVM 16及卡作業系統122。卡ROM 140亦可 用於儲存固定之卡應用程式140a及類別程式庫140b。可載 入之應用程式141a,141b及程式庫141c亦可儲存於卡RAM 141。卡JVM 16直譯卡應用程式141a,141b,或140a。卡 JVM 16使用卡RAM儲存VM堆疊144a及系統狀態變數144b 。卡JVM 16經由VM堆疊144a追蹤所執行之動作。卡JVM 16所產生之物件存在於RAM堆陣(heap) 144c,EEPROM堆 本紙張尺度適用中國國家;^「(〇奶)八4規格(210/297公釐) :25~Γ (請先閲讀背面之注意事項再填寫本頁) 、11
476914 Α7 Β7 經濟部中央標準局員工消費合作社印製 五、發明説明(23) 陣146a,或檔案系統147内。 卡JVM 16所處理之所有堆陣可以是一儲存於+ RAM 141之RAM堆陣144c,或是一分布至卡eepr〇m 142之 EEPROM堆陣146a。卡RAM 141亦用於記錄為微控制器本 機程式所撰寫之程序使用之系統堆疊14 8狀態。卡JVM 16 使用卡EEPROM儲存應用程式資料於EEpR〇M堆陣146a或 檔案系統147内。儲存於一播案之應用程式資料可經由卡 作業系統122之一介面來處理。此介面是由一儲存於卡 ROM 140之類別程式庫140b,一儲存於卡EEPROM 142之 可載入類別程式庫141c提供。附錄ρ說明此一介面。在卡 上之應用程式與資料為一防火牆機制149所隔離。 針對微控制器所具有之有限資源,卡JVM 16實現一 JAVA程式語言之嚴謹子集合。因此,JAVA應用程式20編 譯成一包含一 JAVA位元組碼之嚴謹子集合之類別檔案。 此可讓應用程式師以此嚴謹之JAVA子集合撰寫程式並可 仍與現有之JAVA虛擬機器相容。卡JVM 16所直譯之JAVA 位元組碼語意在前述之JAVA虚擬機器規格中有說明。在 附錄C中可發現卡JVM 16所直譯之位元組碼子集合。卡類 別檔案轉換器26檢查JAVA應用程式20以確保僅此子集合 中所具有之特性被使用並將之轉換成卡JVM 16所能暸解 及直譯之一種形式。 在其它實施例,卡JVM 16被設計直譯一不同或增大 之位元組碼116集合。雖然不同的位元組碼集合可能導致 一些效能改進,但從存在於原始JAVA位元組碼之安全性 (請先閲讀背面之注意事項再填寫本頁)
、τ
本紙張尺度適用中國國家榡準(CNS ) A4規格(210X297公董1 :~^~Γ 476914 A7 B7 經濟部中央標準局員工消費合作社印製 五、發明説明(24) 或是與主流JAVA發展工具相容之觀點,偏離一嚴謹JAVA 子集合則是不希望的。 所有的卡JVM 16應用程式126均具有一定義之進入點 ,由類別檔案中之一類別與一方法所指示。此進入點是在 字串對ID輸入對映檔案30中對映並由卡類別檔案轉換器 26所指定。一 JAVA應用程式20内之類別,方法及欄位為 卡類別檔案轉換器26指定ID。譬如,對應於主應用程式 類別之ID可被定義為F001及對應於其主方法之ID,諸如 "main()V",可被定義為F002。 第15圖之流程圖說明卡JVM之整體執行結構。卡JVM 16之執行是從執行控制120開始,選擇一卡應用程式126z 執行。然後在152尋找並指定此卡應用程式中卡JVM 16所 欲直譯之一進入點(一方法)。卡JVM 16在153直譯方法。. 在154若直譯進行成功,卡JVM 16在155報告成功訊息, 然後將控制轉交回執行控制120。在153直譯時,若卡JVM 16遭遇一未處理錯誤或一異常(通常是一資源限制或一安 全違反),則卡JVM 16在156會停止並報告適當錯誤予終 端機14。 卡JVM 16之一主要部份是一處理位元組碼執行之副 程式。第16圖之流程圖顯示此副程式。在160給予一方法 ,它執行此方法中之位元組碼。在161副程式開始準備此 方法之參數。此包含設定VM堆疊144a指標,VM堆疊144a 框架限制,以及設定程式計數器為此方法之第一位元組碼 〇 (請先閲讀背面之注意事項再填寫本頁) 、·ιτ
本紙張尺度適用中國國家榡準(CNs ) Α4規格(210X297公釐) 27 經濟部中央標準局員工消費合作社印製 476914 A7 _ B7_'__ 五、發明説明(25) 其次,在162檢查此方法旗號。若此方法指示為本機 ,則此方法實際是呼叫本機方法碼(以微控制器本機處理 器碼所撰寫之副程式)。在此情況,卡JVM 16在163準備 一有效率之呼叫並返回至本機碼副程式。本機方法之參數 可在VM堆疊144a傳遞或經由系統堆疊148傳遞。然後做適 當之安全檢查並呼叫本機方法副程式。在返回時,本機方 法副程式之結果(若有)會被置於VM堆疊144a以使其可被 欲執行之下一位元組碼所存取。 然後在164進入卡JVM 16之調度迴圈。位元組碼調度 迴圈係預備,執行,及退役每一位元組碼。當完成方法160 中所有位元組碼之直譯時,或是卡JVM 16遭遇一資源限 制或安全違反時,即結束迴圈。 若前一位元組碼在165產生分支時,卡JVM會在165a 準備分支。在165b取得下一位元組碼。為使處理每一位元 組碼之成本保持較低,儘可能取出並儲存諸如位元組碼參 數,長度,型態等共同元素。 欲提供程式語言之安全模型所給予之安全性,須確認 並判定類別檔案之位元組碼與此模型之一致性。在熟知技 藝通常是以一稱為位元組碼確認器之程式執行這些檢查, 此確認器之工作有四次通過,如JAVA虛擬機器規格所述 。欲提供位元組碼確認器所保證之執行時安全性,卡JVM 16須執行有關確認器之通過3及通過4之檢查。若可保證( 幾乎不可能做到)卡JVM 16所直譯之位元組碼60是安全時 ,卡JVM 16可跳過此檢查。最少,只要物件參考不是假 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 28 (請先閱讀背面之注意事項再填寫本頁)
476914 A7 B7 經濟部中央標準局員工消費合作社印製 五、發明説明(26) 的以及可觀察VM堆疊144a與區域變數界限,即可維持碼 之安全性。此需檢查與執行之位元組碼有關之VM堆疊144a 狀態。 欲實施程式語言之安全模型,建立一個256位元組之 表格,如列入本文參考之附錄G所示。此表格是由位元組 碼號碼所索引。此表格包含與索引位元組碼相關之型態及 長度。編碼前五個位元代表型態,以及後三個位元代表長 度。位元組碼之型態及長度是以位元組碼號碼從表格直接 索引。然後以此型態及長度用於檢查,如列入本文參考之 附錄Η所示。在附錄Η,檢查過程係始於自附錄G(列入本 文參考)之表格解碼長度及型態。長度是用於遞增程式計 數器。型態係先用於預執行檢查,以確保即將執行之位元 組碼在VM堆疊144a上之資料型態是正確的。儲存表格之 256位元組ROM允許原始JAVA位元組碼在卡JVM 16執行 並使欲載入卡上之J AVA類別檔案所需做的改變減至最少 。由於相當容易更新表格項目,故可易於支援額外的JAVA 位元組碼。 在其它實施例,如第10圖所示,將方法中之JAVA位 元組碼重新編號之方式,可使儲存於附錄Η之表格中之位 元組碼型態及長度資訊在重新編排時為隱式的。附錄Η列 入本文參考。因此,須對VM堆疊144a之狀態及處理之位 元組碼所執行之檢查不必包含查表。這些檢查可由一組簡 單的比較來執行,如列入本文參考之附錄I所示。由於此 實施例不需使用256位元組之表格,故當ROM空間需另外 (請先閲讀背面之注意事項再填寫本頁) 衣· 訂
本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) _ 29 經濟部中央標準局員工消費合作社印製 476914 A7 B7 五、發明説明(27 ) 增加時,此實施例是較佳的。不過,由於新的位元組碼須 與所支援之位元組碼之隱式編號方式一致,故在加入新的 位元組碼至所支援之位元組碼集合時要仔細考慮。 在另一實施例,卡JVM 16考量其執行速度而選擇不 執行任何安全檢查。第18圖之流程圖顯示此種情形。第18 圖之流程圖即是第16圖之流程圖去除了安全檢查。就安全 觀點而言是不希望如此的,除非能保證位元組碼是安全的 〇 卡JVM 16亦可實施其它的安全檢查。若位元組碼可 能參考一區域變數時,卡JVM 16會檢查此參考是否有效 ,若為無效則發出一錯誤訊息。若參考為有效,卡JVM 16 會儲存區域變數之型態以備未來檢查。檢查VM堆疊144a 指標是否仍在有效範圍。若否,則發出一異常。檢查位元 組碼號碼。若為未支援,則發出一異常。 最後,在165d調度位元組碼本身。附錄c列出卡JVM 16 所轉換之位元組碼。前述JAVA虛擬機器規格述及有關位 元組碼在調度前後之VM堆疊144a狀態之位元組碼語意。亦需 知道有些位元組碼(亦即,INVOKESTATIC,INVOKESPECIAL ,INVOKENONVIRTUAL 及INVOKEVIRTUAL)會引起重新 進入卡JVM 16,需要從副程式之進入點161開始處理。第 17圖顯示位元組碼執行程序之流程圖。在171程序被給予 一欲執行之位元組碼。在172卡JVM 16執行位元組碼所需 之指令。若在執行過程,卡JVM 16在173遭遇一資源限制 時,它會在156傳回一錯誤訊息。此錯誤訊息會為卡jvm 16 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) · 3〇 (請先閱讀背面之注意事項再填寫本頁) 訂
經濟部中央標準局員工消費合作社印製 476914 A7 ____B7 五、發明説明(28 ) 傳回給終端機14。若成功地執行此位元組碼,則在175傳 螫 回一成功訊息。 在執行之後,在165e,結果之型態被用於正確設定vm 堆疊144a,適當指示在VM堆疊144a之資料型態。先前在 165b根據才執行之位元組碼,從位元組碼資訊表格所收集 之位元組碼資訊被用於設定VM堆疊144a狀態。 在其它實施例,若位元組碼重新編號,則與所執行之 位元組碼相關之VM堆疊144a輸出狀態之設定可被簡化。 列入本文參考之附錄I中即有所說明。 在另一實施例,若卡JVM 16考量其執行速度則可跳 過VM堆疊144a之輸出狀態設定。就安全觀點而言是不希 望如此的,除非能保證位元組碼是安全的。 在位元組碼執行之後,位元組碼在165f退役。此包含 從VM堆疊144a取出參數。一旦完成位元組碼處理程序後 ,在164之迴圈重覆此方法之下一位元組碼。 一旦在164結束調度迴圈後,在166清除VM堆疊144a 。此可防止任何物件參考因滲透至卡JVM 16之其它行使 而破壞卡JVM 16之安全性。位元組碼調度迴圈164在167 之結束意指卡JVM 16已完成執行所請求之方法。 為使積體電路卡10上之資料與應用程式彼此隔離,積 體電路卡10利用卡JVM 16所提供之防火牆機制149。由於 卡JVM實現確認器之標準通過3及通過4之檢查,它會偵測 一應用程式是否企圖參考另一應用程式之資料或程式碼空 間,並在156指示一安全上之錯誤。譬如,傳統低階應用 本紙張尺度適用中國國家檩準(CNS )八4胁⑺〇χ297公幻 31 (請先閲讀背面之注意事項再填寫本頁) 訂
476914 A7 B7 五、發明説明(29) 程式可將非參考之資料型態變為參考,使之存取非授權之 記憶體空間,因而違反安全性。本發明則在一卡應用程式 126z企圖使用一非參考資料型態作為參考時,會在156觸 發一安全違反。在傳統JAVA,此保護尤應用敗生|1為沙 盒應用程式直譯環境。 不過,這些防火牆設備不會獨立作業。事實上,如下 表所示,這些設備在傳統存取控制表單及加密機制方面係 彼此重疊且相互補強的。 存取控制表單 虛擬機 加密 資料 保護 在操作前之 存取控制 僅存取自己 的名稱空間 程式 保護 在執行前之 存取控制 僅執行正確 的型態 在程式之名稱 空間加密資料 通訊 保護 通道之存取 控制 在自己名稱空間 之通道控制 僅互相確認之 各方可通訊 經濟部中央標準局員工消費合作社印製 就整體而言,這些設備隔離積體電路卡10上之資料與 應用程式並確保每一卡應用程式126僅能存取積體電路卡 10之授權資源。 參考第19圖,當卡應用程式126執行時,可授予卡應 用程式126x,126y,126z特定權限。譬妒,這些權限決定 卡應用程式126在檔案系統147所可存取之資料檔案以及所 可執行之操作。授予卡應用程式126之權限通常是在使用 者(通常從終端機14)起動一特定卡應用程式126z時所設定 32 (請先閱讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 五、 經濟部中央標準局員工消費合作社印製 發明説明(30) (請先閲讀背面之注意事項再填寫本頁) 積體電路卡10使用密碼辨識確認方法聯結一身分19〇( 譬如,身分190a,190b及190c),亦即,對卡應用程式126 執行之一組權限。特定身分190c對卡應用程式126z之聯結 是在卡應用程式126z開始執行時為之,因此建立一特定執 行應用程式200,如第20圖所示。身分190是一與一身分記 號關聯之唯一可靠之可辨認文字字串。身分記號(譬如, 個人識別碼(PIN)或是RSA私有密鑰)係一加密餘。 參考第20圖,欲執行一特定卡應用程式126z ,卡應用 程式126z之身分190c須先確認《身分19〇c是藉由表明與身 分190c相關之身分記號來確認。因此,欲執行卡應用程式 126z,一代理人(譬如,持卡人或另一希望執行該應用程 式之應用程式)須顯示其具有或知道應用程式之身分定義 加密錄。 一種表明擁有加密输之方式係僅顯示密餘本身。pjN 確認是此種確認形式之一例。另一種表明擁有加密鑰但不 實際顯不搶錄本身之方式係顯不以密錄加密或解密純文字 之能力。 因此,在積體電路卡10上之一特定執行應用程式200 包括一卡應用程式126z及一確認身分19〇(^如果卡應用程 式126沒有這些元件在適當地方則無法被執行。卡應用程 式126z定義所欲執行之資料處理作業,而確認身分19〇(:則 決疋可爿b被這些作業執行之計算物件。譬如,《特定應用 程式126z僅可存取檔案系統147中與特定身分i9〇c有關之 33 本紙張尺度適用中國國家標準(CNS ) A4規格(21〇 X 297公酱) 五、 經濟部中央標準局員工消費合作社印製 A7 ________ B7 發明説明(31) 身分C檔案202,以及特定卡應用程式126z無法存取與特 定身分190c以外之身分相關之其它檔案204。 積體電路卡10可採取額外步驟以確保應用程式與資料 之隔離。積體電路卡10提供三組軟體特性:確認身分存取 控制表單;一 JAVA為主之虛擬機器;以及一次對話加密 鑰,分別保護資料檔案,應用程式之執行,以及通訊通道 。這些特性集合提供應用程式資料防火牆149予一實施例 。下文將說明每一軟體特性集合,然後顯示此三種集合如 何一起工作以確保積體電路卡1〇上之應用程式與資料之隔 離。 一存取控制表單(ACL)與積體電路卡10上所欲保護之 每一計算物件(譬如,資料檔案或通訊通道)相關,亦即, 控制其存取。ACL(對一特定之計算物件)之項目之資料格 式為e-記錄組: 類型:身分:權限 類型欄位指示其後身分(在身分攔位)之類型,譬如一使用 者(例如,"John Smith”),或一群組。權限攔位指示該身 分在該計算物件所能執行之操作表單(譬如,讀,附加及 更新)。 譬如,一個具有ACL項目之資料檔案: USER : AcmeAirlines : RAU, 任何身分為"AcmeAirlines”之應用程式可讀取("R"),附加 (A )及更新(U )該資料樓案。此外,acl可被選擇用於 允許建立及刪除^料槽案。ACL亦可被選擇用於允許執行 f請先閲讀背面之注意事項再填寫本頁)
一應用程式。 當一計算物件為一執行應用程式200存取時,此存取 會為卡JVM 16攔截並傳遞至卡作業系統122 , 定該物件否有其相關之-ACLe若存在_相關之皿, 則在ACL與執行應用程式200相關之身分19〇〇做匹配。若 未發現該身分或該身分不被允許所請求之存取型態時,存 取會被拒絕。否則,允許進行存取。 參考第13圖,為防止因積體電路卡1〇與終端機14間之 單一資料路徑所引起之潛在問題,藉由在身分確認處理程 序中包含一介於一卡應用程式l26z與終端機應用程式136 間之一次對話密鑰209之交換,以達到通訊通道之隔離。 然後使用密鑰209加密隨後在確認終端機應用程式136與確 認卡應用程式126z之間之通訊流。給予一次對話密餘2〇9 ,一惡意之終端機應用程式不僅無法”竊聽,,終端機14與積 體電路卡10間之一確認通訊,同時亦無法"欺騙,,卡應用程 式為其執行未授權之操作。 可由卡作業系統122或卡應用程式i26z本身來處理卡/ 終端機通訊流之加密與解密。在前一情況,加密卡與終端 機14間之通訊對於應用程式而言是透通的,至於到達之訊 息通訊流則是在應用程式之資料空間解密。在後一情況, 由於應用程式在資料建立後即可加密資料以及僅在資料將 被使用時解密資料,故卡應用程式126z可選擇執行加密與 解密以提供一額外之安全層。否則,資料將維持以對話密 鑰209加密。 經濟部中央標準局員工消費合作社印製 476914 A7 B7 五、發明説明(33 ) 因此,應用程式防火牆包括三個互相補強之軟體集合 。資料檔案為確認身分存取控制表單所保護。應用程式執 行空間為卡JVM 16所保護。通訊通道以一次對話加密錄 209保護。 在其它實施例,前述技術與微控制器(譬如處理器12) 一起使用可控制積體電路卡以外之裝置(譬如,汽車引擎 零件)。在這些應用程式,微控制器提供一小平台(亦即, 一中央處理單元,以及一記憶體,二者皆位於一半導體基 板上)用於儲存及執行高階程式語言。大部份使用微控制 器之現有裝置以及新設計可使用本發明以提供利用高階語 言撰寫微控制器程式之能力’且明確包括本發明在這類裝 置之應用。 術語π應用程式”係包括任何程式,譬如,JAVA應用 程式,JAVA applet,JAVA aglet,JAVA servlet,JAVA commlet,JAVA組件,以及其它可產生如下所述之類別 檔案之其它非JAVA程式。 類別檔案可有一 JAVA程式檔案以外之原始程式。JAVA 以外之數種程式語言亦有其各自之編譯器或組譯器,可由 其原始檔案產生類別檔案。譬如,程式語言Eiffel可使用 Pirmin KalbererinJ-Eiffel"產生類別檔案,"J-Eiffel”係一 個具有產生JVM位元組碼之Eiffel編譯器(web位址:http : //www.spin.ch/〜kalberer/jive/index.htm)。一 Ada 95 至 JAVA 位元組碼轉譯器在以下列入本文參考之文獻中有所說明: Taft S· Tucker,,’以Ada 95撰寫網際網路程式n,Ada歐洲 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁) 訂
476914 五、發明説明( 34 工 製 學報’96,1996。Jasmin係一 JAVA位元組碼組譯器,可用 於產生颠別檔案,如以下列入本文參考之文獻中之說明:Meyer,Jon及 troy Downing,"JAVA虛擬機器丨·,〇丨ReiUy ,1997。不管類別檔案之原始程式為何,前述說明可應用 於JAVA以外的語言以產生欲被直譯之碼。 第21圖顯示一積體電路卡,或智慧卡,它包括一安裝 在一塑膠卡212之微控制器210。塑膠卡212具有大約與一 典型信用卡相同之外形。通訊器12a可使用一接觸腳位接 點214建立一通訊通道,或者通訊器12a可使用一無線通訊 系統。 在其它實施例,一微控制器210被安裝至一行動或固 定電話220内,將智慧卡之能力有效加入電話中,如第22 圖所示。在這些實施例,微控制器210安裝在一模組上(譬 如一用戶身分模組(SIM)),可插入或自電話220取出。 在其它實施例,一微控制器210可加至一鑰匙環230, 如第23圖所示。此可安全使用一配備有辨識與餘匙環230 上之微控制器210相關之身分之汽車。 諸如手錶或戒子240之類的鑲寶石裝飾品亦可以符合 人體工學之方式安裝一微控制器210,如第24圖所示。此 類實施例通常使用一無線通訊系統建立一通訊通道,並且 是一種爭論最少之實現使用者存取控制之便利方式。 第25圖顯示一安裝在汽車254之一電氣子系統252之微 控制器210。在此實施例,微控制器被用於多種用途,譬 如控制汽車之使用(例如,在致能汽車點火系統前,檢查 訂
cns ) 210X297公釐) 476914 A7 B7 五、發明説明(35 ) 身分或節制),經由無線通訊付費’或是與一全球定位系 統(GPS)介接以追蹤汽車位置等。 雖然是說明本發明之特定實施例,但不同的修改及替 代對熟知本技藝者而言是顯而易見的。這些修改與替代是 在本發明之範圍内,且涵蓋在申請專利範圍一節中。 (請先閲讀背面之注意事項再填寫本頁) Φ.
、1T
經濟部中央標準局員工消費合作社印製 38 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) 476914 A7 B7 五、發明説明(36 ) 元件標號對照 經濟部中央標準局員工消費合作社印製 10…積體電路卡 12a···通訊器 12b...終端通訊器 14.. .終端機 16···卡JAVA虛擬機器 20.. .AVA應用程式 20a...AVA原始碼稽案A.java 20b...AVA原始碼檐案B.java 20c...AVA原始碼檐案C.java 22.. .AVA應用程式發展環境 24.. .應用程式類別檔案 24a...類別檔案 A.class 24b...類別檔案 B.class 24c…類別檔案C.class 26.. .卡類別檔案轉換器 27_卡類別檔案 28.. .卡載入器 30…字串對1D輸入對映檔案 32.. .字串對ID輸出對映檔案 41.. .類別檔案資訊 42.. .類別常數池 43.. .類別,建立之爛位,參 考之介面,及方法等資訊 44··.屬性資訊 45·.·去除屬性資訊 46…卡類別檔案資訊 47…卡類別檔案常數池 48…卡類別,建立之欄位,參 考之介面,及方法等資訊 49.. .卡屬性資訊 60.. .位元組碼 70.. .位元組碼 72.. .位元組碼 80···位元組碼 82··.位元組碼 90···位元組碼 94···位元組碼 100···位元組碼 102···位元組碼 112.··位元组碼 114···字組堆叠 116···位元組碼 118···位元組堆疊 120…載入與執行控制 122…卡作業系統 124…卡檔案系統 (請先閲讀背面之注意事項再填寫本頁〕 Φ------ 訂----- 39 本紙張尺度適用中國國家標率(CNS ) A4規格(21Gx 297公釐) 476914 A7 B7 五、發明説明(37 ) 經濟部中央標準局員工消費合作社印製 126...卡應用程式 147…檔案系統 126x...卡應用程式X 148…系統堆疊 126y···卡應用程式Y 149...防火牆機制 126z...卡應用程式Z 190…身分 132...通訊器驅動程式 190a.··身分 134...積體電路卡驅動程式 190b…身分 136...終端機應用程式 190c··.身分 140···卡 ROM 200...特定執行應用程式 140a...卡應用程式 202...身分C檔案 140b...類別程式庫 204...其它檔案 141…卡RAM 209.··對話密鑰 141a.··可載入之應用程式 210...微控制器 141b...可載入之應用程式 212...塑膠卡 141c...可載入之類別程式庫 214...接觸腳位接點 142···卡 EEPROM 220·.·電話 144a... VM 堆疊 230...鑰匙環 144b...系統狀態變數 240…戒子 144c... RAM堆陣(heap) 252...電氣子系統 146a...EEPROM 堆陣 254...汽車 (請先閱讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) -40 -

Claims (1)

  1. 476914 A8 B8 C8 D8 申請專利範圍 第86 1 1 5695號申請案申請專利範圍修正本 90.7.11. 1· 一種微控制器10,具有一組資源約束,包括有: 一記憶體; (請先閲讀背面之注意事項再填寫本頁) 一直譯器1 6設置於記憶體內,在該組資源約束內操作,該 微控制器10之特性在於具有: 至少一設置於記憶體內之應用程式,可被直譯器直譯,其 中藉由一程式環境可產生至少一應用程式,該程式環境包 括: a) —編譯器22以一高階語言原始碼形式編譯應用原始程 式20成一已編譯形式24; b) —轉換器26用以將已編譯形式處理成一小型形式27 俾適於該直譯器16作直譯。 2. 如申請專利範圍第1項所述之微控制器1 〇,其中該以 編譯形式24包括多個屬性,以及該轉換器26包括一裝置 51d用以包含直譯器16所請求之多個屬性,而未包含該直 譯器1 6未請求之多個屬性。 經濟部智慧財產局員工消費合作社印製 3. 如申請專利範圍第1或2項所述之微控制器10,其中 該已編譯形式24係在一標準Java類別檔案格式及該轉換 器26以該標準Java類別檔案格式接收輸入已編譯形式 24,並以一適宜由直譯器16直譯之形式來產生輸出27。 4. 如申請專利範圍第1或2項所述之微控制器10,其中 該已編譯形式24包含用於物件,類別,欄位或方法之一相 關連識別字串,以及該轉換器包括一裝置57用以對映此一 字串於該獨特識別器51b。 41 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) 476914 A8 B8 C8 _ _D8_ 六、申請專利範圍 5·如申請專利範圍第4項所述之微控制器10,其中每一 獨特的識別器係爲一整數。 (請先閲讀背面之注意事項再填寫本頁) 6·如申請專利範圍第4項所述之微控制器1 0,其中多個 字串對映於多個獨特識別器以一字串被儲存於識別器檔案 30,32 ° 7·如申請專利範圍第1或2項所述之微控制器10,其中 該高階語言支持一第一組特性及一第一組資料型態,以及 該直譯器16支撐該第一組特性之一子集合及該第一組資 料型態之一子集合,其中該轉換器26確認51c,52該以編 譯形式24僅包含在該第一組特性之子集合內之特性及僅 包含在第一組資料型態之子集合內資料型態。 8·如申請專利範圍第7項所述之微控制器10,該已編譯 形式24係在一位元組碼格式及該轉換器26包括裝置用以 從在已編譯形式24之多個位元組碼27轉換成適宜由直譯 器16所直譯之格式的位元組碼,進一步包括: 在包含如下步驟之方法中至少使用一步驟: a) 在原始位元組碼61記錄所有跳躍及其目的; 經濟部智慧財產局員工消費合作社印製 b) 將特定位元組碼轉換成等效一般位元組碼或反過來轉 換; c) 利用識別字串從參考將位元組碼運算修改成利用多個 獨特識別器64之參考; d) 以一已編譯形式將位元組碼重新編號至以適宜編譯66 之格式之等效位元組碼; e) 重新連結藉由顛倒步驟a),b),c)或d)使目的位址產生功 42 i紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 476914 A8 B8 C8 D8 六、申請專利範圍 效之跳躍。 (請先閱讀背面之注意事項再填寫本頁) 9. 如申請專利範圍第1或2項所述之微控制器10,其中 該應用程式被編譯成一以編譯形式24,用以執行或直譯 該已編譯形式所請求之資源超過用於該微控制器者。 10. 如申請專利範圍第1或2項所述之微控制器10,其 中,該編譯形式24可設計用於設置於不同電腦平台。 11. 如申請專利範圍第1或2項所述之微控制器10,其中 該直譯器16在直譯一應用程式期間,被進一步構成以判 定該應用程式是否滿足一安全標準,該安全標準係選自一 組包含來自該如下組合之至少一規則之規則: 未允許該應用程式存取於未授權部份之記憶體; 未允許該應用程式存取於未授權微控制器資源; 其中該應用程式係由位元組碼所組成,並且在確認該等位 元組碼之執行未違背一安全約束之前,至少檢查多個位元 組碼一次。 12·如申請專利範圍第1或2項所述之微控制器10,其 中,藉由包括如下步驟之方法產生一應用程式: 經濟部智慧財產局員工消費合作社印制π 載入該應用程式前確認應用程式未違背任何安全約束; 以及 以一安全方式載入該應用程式。 13·如申請專利範圍第12項述之微控制器10,其中以安 全方式載入之步驟包括有: 確認載入身份具有允許去載入應用程式至微控制器。 14·如申請專利範圍第12項述之微控制器,以安全方式 43 本紙張尺度適用中國國家標準(CNS)A4規格(210 297公釐) 經濟部智慧財產局員工消費合作社印製 476914 A8 B8 C8 D8 六、申請專利範圍 載入之步驟包括有: 使用一載入鑰加密於將載入之應用程式。 15·—種將微控制器程式化之方法,該微控制器具有一依 據一組資源約束而操作之記憶體及處理器,該方法包括如 下步驟: 以一第一程式語言輸入一應用程式20 ; 以一第一程式語言將該應用程式20編譯於與第一程式語 言相關之第一中間碼2 4 ; 其中該第一中間碼24可被至少一第一中間碼虛擬機所直 譯; 其中將一微控制器程式化之方法之特徵在於將第一中間 碼24轉換第二中間碼27 ; 其中該第二中間碼27可被至少一第二中間碼虛擬機16所 直譯;以及 將第二中間碼載入於該微控制器10之記億體。 1 6 ·如申請專利範圍第1 5項所述之方法,其中該轉換步驟 進一步包括: 用於物件,類別,欄位或方法之一相關連識別字串,以及 對映此等字串於該獨特識別器51b。 1 7·如申請專利範圍第1 5或1 6項所述之方法,其中該對 映步驟包括將字串對映於整數之步驟。 1 8 ·如申請專利範圍第1 5或1 6項所述之方法,該轉換步 驟包括: 至少執行如下一步驟:: 44 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) " " ----------1 --------訂--------^ (請先閱讀背面之注意事項再填寫本頁) 476914 A8 B8 C8 D8 六、申請專利範圍 a) 在原始位元組碼6 1記錄所有跳躍及其目的; b) 將特定位元組碼轉換成等效一般位元組碼或反過來轉 換; (請先閱讀背面之注意事項再填寫本頁) c) 利用識別字串從參考將位元組碼運算修改成利用多個 獨特識別器64之參考; d) 以一已編譯形式將位元組碼重新編號至以適宜編譯66 之形式之等效位元組碼; 重新連結藉由顛倒步驟a),b),c)或d)使目的位址產生功效 之跳躍。 19·如申請專利範圍第15或16項所述之方法,其中該方 法之進一步特徵在於其中該第二中間碼27載入於微控制 器之記憶體係進一步包括在載入第二中間碼27之前檢查 該第二中間碼27以確認第二中間碼27滿足一預先界定整 體檢查及依據一安全協定執行載入。 20·如申請專利範圍第19項所述之方法,其中該安全協 定請求一特別身份必須被確認有效以允許在載入該第二 中間碼27之前載入。 經濟部智慧財產局員工消費合作社印製 2 1 ·如申請專利範圍第2 0項所述之方法,進一步特徵在 於提供一解密鑰,以及其中該安全協定請求該第二中間碼 27使用一對應於解密鑰之載入鑰被加密。 22· —種微控制器10,其可操作以執行導出程式27,該 等程式係爲以一可直譯程式化語言所寫成之程式24之導 出,該微控制器具有一記憶體及一載入於該記憶體之直譯 器16,該微控制器特徵在於: 45 ^紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公爱1 " 476914 A8 B8 C8 D8 六、申請專利範圍 a) 該微控制器在一組資源約束內操操作,該資源約束包含 該具有未足夠的尺寸俾允許以可直譯程式語言寫成之程 式24之直譯; (請先閱讀背面之注意事項再填寫本頁) b) 包括一直譯器之記憶體可操作直譯以該可直譯語言之 導出所寫成之該導出程式,其中一種以可直譯的程式語 言所寫成之程式之導出係藉由應用選自一組規則之至少 一者而出自於以可直譯程式語言所寫成之程式,該組規 則: 1) 將字串對映於識別器; 2) 在直譯前或期間執行安全檢查; 3) 在直譯前或期間執行結構檢查; 4) 在直譯前或期間執行警告檢查。 23. 如申請專利範圍第22項所述之微控制器10,其中該導 出程式27係爲類別檔案或類別檔案之導出。 24. 如申請專利範圍第22或23項所述之微控制器10,進 —特徵在於: 該記憶體包含少於1MB之儲存。 經濟部智慧財產局員工消費合作社印制π 25. 如申請專利範圍第22或23項所述之微控制器10,其 中該微控制器之安全檢查進一步特徵在於: c) 編輯一以接收來自一請求器之請求以存取多個導出程 式27 ; d) 在接收請求之後,判定該多數導出程式之其中一個是否 符合一預定組規則;及 Ο依據該判定,選擇地得到存取多數應用程式至其中一個 46 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 476914 A8 B8 C8 D8 六、申請專利範圍 給請求器。 (請先閱讀背面之注意事項再填寫本頁) 26·如申請專利範圍第25項之微控制器10,其中該預定規 則一被直譯器1 6所執行,而該導出程式27藉由判定導出 程式27對導出程式28被試圖存取之特定部份記憶體有存 取權而被直譯。 27·如申請專利範圍第22或23項所述之微控制器10,其+ 中該微控制器之進一步特徵在於:可構成以執行選自該組 具有如下部份之至少一安全檢查: a) 當導出程式27被直譯時執行預定安全規則,藉此避免 該導出程式免於被記憶體未授權部份或其他未授權微控 制器資源存取; b) 在執行判定位元組碼依據前執行及後執行檢查之前,該 直譯器16被構成以至少一次檢查位元組碼; c) 在被載入於微控制器以確認該導出程式之整體性及依 據二安全協定執行載入之前,執行導出程式27。 28. 如申請專利範圍第27項所述之微控制器10,其中,該 安全協定須要一特定身份必須是有效以允許載入一導出程 式27至一卡。 經濟部智慧財產局員工消費合作社印製 29. 如申請專利範圍第27項所述之微控制器10,進一步特 徵在於具有一解密鑰,其中該安全協定須要一將被載入之 導出程式27利用對應於該解密鑰之載入鑰而被加密。 30. 如申請專利範圍第第22或23項所述之微控制器1〇, 進一步特徵在於提供選自包含加密,解密,信號’簽名確 認,相互確認鑰,傳送鑰及對話鑰。 47 本紙張尺度適用中國國家標準(CNS)A4 格(210 X 297公釐) 476914 A8 B8 C8 D8 六、申請專利範圍 31.如申請專利範圍第22或23項所述之微控制器10,其 進一步特徵在於具有一檔案系統以及經由選自包含如下條 件之裝置而提供安全存取至該檔案系統: a) 該微控制器具有多個存取控制表用以授權讀取一檔案, 寫入一檔案或刪除一檔案; b) 該微控制器執行鑰的有效性以建立授權存取至一檔案, 以及 該微控制器確認卡擁有者身份以建立授權存取至一檔案。 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 48 本紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公爱)
TW086115695A 1996-10-25 1997-10-23 Using a high level programming language with a microcontroller TW476914B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US2905796P 1996-10-25 1996-10-25

Publications (1)

Publication Number Publication Date
TW476914B true TW476914B (en) 2002-02-21

Family

ID=21846980

Family Applications (1)

Application Number Title Priority Date Filing Date
TW086115695A TW476914B (en) 1996-10-25 1997-10-23 Using a high level programming language with a microcontroller

Country Status (15)

Country Link
US (7) US6308317B1 (zh)
EP (1) EP0932865B1 (zh)
JP (2) JP2000514584A (zh)
KR (1) KR100329063B1 (zh)
CN (1) CN1183449C (zh)
AU (1) AU722463B2 (zh)
BR (1) BR9713267A (zh)
DE (1) DE69714752C5 (zh)
ES (1) ES2184066T3 (zh)
HK (1) HK1021762A1 (zh)
MY (1) MY126363A (zh)
PT (1) PT932865E (zh)
TW (1) TW476914B (zh)
WO (1) WO1998019237A1 (zh)
ZA (1) ZA979479B (zh)

Families Citing this family (289)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PT757336E (pt) 1995-08-04 2001-04-30 Belle Gate Invest B V Sistema de intercambio de dados que inclui unidades portateis de processamento de dados
EP0825506B1 (en) 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
DE69714752C5 (de) 1996-10-25 2015-08-13 Gemalto Sa Verwendung einer hohen programmiersprache in einem mikrokontroller
WO1998041918A1 (en) * 1997-03-14 1998-09-24 Ian Charles Ogilvy Method and apparatus for controlling communications
HUP0003100A3 (en) 1997-06-27 2003-01-28 Swisscom Mobile Ag Transaction method using a mobile device and identifier device
US6157966A (en) * 1997-06-30 2000-12-05 Schlumberger Malco, Inc. System and method for an ISO7816 complaint smart card to become master over a terminal
US6230006B1 (en) 1997-09-08 2001-05-08 Acterna, Llc Test system for remotely testing switches within a telecommunications network
US6564995B1 (en) 1997-09-19 2003-05-20 Schlumberger Malco, Inc. Smart card application-selection
US6736325B1 (en) * 1998-01-22 2004-05-18 Mondex International Limited Codelets
US6308270B1 (en) 1998-02-13 2001-10-23 Schlumberger Technologies, Inc. Validating and certifying execution of a software program with a smart card
DE69814174T2 (de) * 1998-03-23 2004-03-04 International Business Machines Corp. Java laufzeitsystem mit veränderter sammlung von konstanten
FR2779018B1 (fr) 1998-05-22 2000-08-18 Activcard Terminal et systeme pour la mise en oeuvre de transactions electroniques securisees
US6808111B2 (en) 1998-08-06 2004-10-26 Visa International Service Association Terminal software architecture for use with smart cards
US7020441B2 (en) 1998-09-03 2006-03-28 Casabyte, Inc. Test system for remotely testing switches within a telecommunications network
CN1322430A (zh) 1998-09-29 2001-11-14 太阳微系统公司 在话音上的数据叠加
US6591229B1 (en) 1998-10-09 2003-07-08 Schlumberger Industries, Sa Metrology device with programmable smart card
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US7174457B1 (en) 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
US20050060549A1 (en) * 1998-10-26 2005-03-17 Microsoft Corporation Controlling access to content based on certificates and access predicates
US7139915B2 (en) * 1998-10-26 2006-11-21 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US7194092B1 (en) 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
AU770251B2 (en) * 1998-11-03 2004-02-19 Thomson Licensing S.A. Method and apparatus for updating computer code using an integrated circuit interface
FR2785695B1 (fr) * 1998-11-06 2003-01-31 Bull Cp8 Procede de compactage d'un programme de type code objet intermediaire executable dans un systeme embarque muni de ressources de traitement de donnees, systeme compacteur et systeme embarque multi-applications correspondants
JP3749798B2 (ja) * 1998-12-01 2006-03-01 株式会社東芝 Icカードにおけるデータ書込方法およびicカードにおけるデータ読込方法
US6581206B2 (en) * 1999-11-12 2003-06-17 Sun Microsystems, Inc. Computer program language subset validation
US6823520B1 (en) * 1999-01-22 2004-11-23 Sun Microsystems, Inc. Techniques for implementing security on a small footprint device using a context barrier
US7093122B1 (en) 1999-01-22 2006-08-15 Sun Microsystems, Inc. Techniques for permitting access across a context barrier in a small footprint device using shared object interfaces
US6425003B1 (en) * 1999-01-22 2002-07-23 Cisco Technology, Inc. Method and apparatus for DNS resolution
US6922835B1 (en) * 1999-01-22 2005-07-26 Sun Microsystems, Inc. Techniques for permitting access across a context barrier on a small footprint device using run time environment privileges
US6907608B1 (en) * 1999-01-22 2005-06-14 Sun Microsystems, Inc. Techniques for permitting access across a context barrier in a small footprint device using global data structures
US6633984B2 (en) * 1999-01-22 2003-10-14 Sun Microsystems, Inc. Techniques for permitting access across a context barrier on a small footprint device using an entry point object
SE9900321L (sv) * 1999-02-01 2000-08-02 Mats Iderup Sätt och anordning vid utbyte av information
US7200842B1 (en) * 1999-02-02 2007-04-03 Sun Microsystems, Inc. Object-oriented instruction set for resource-constrained devices
US6880155B2 (en) * 1999-02-02 2005-04-12 Sun Microsystems, Inc. Token-based linking
US6848111B1 (en) 1999-02-02 2005-01-25 Sun Microsystems, Inc. Zero overhead exception handling
AU3346400A (en) * 1999-02-05 2000-08-25 Cyrus Intersoft, Inc. Instrumenting streamed classes
FR2790629A1 (fr) * 1999-02-19 2000-09-08 Bull Cp8 Procede d'activation d'applications localisees dans une carte a puce par un navigateur du type dit "web"
US7127605B1 (en) * 1999-05-10 2006-10-24 Axalto, Inc. Secure sharing of application methods on a microcontroller
EP1179209A1 (en) * 1999-05-11 2002-02-13 Microsoft Corporation Method and apparatus for sharing data files among runtime environment applets in an integrated circuit card
US6938244B1 (en) 1999-05-11 2005-08-30 Microsoft Corp. Interlaced protocol for smart card application development
US6845498B1 (en) * 1999-05-11 2005-01-18 Microsoft Corporation Method and apparatus for sharing data files among run time environment applets in an integrated circuit card
US6547150B1 (en) 1999-05-11 2003-04-15 Microsoft Corporation Smart card application development system and method
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
AU5025600A (en) 1999-05-17 2000-12-05 Foxboro Company, The Process control configuration system with parameterized objects
US6668271B1 (en) 1999-05-19 2003-12-23 Richo Company, Ltd. System for distributing, installing and running web applications (agents)
DE29908783U1 (de) * 1999-05-19 1999-09-09 Me Technology Europ Gmbh Eingabegerät für Geschäftsvorfälle
US6546546B1 (en) * 1999-05-19 2003-04-08 International Business Machines Corporation Integrating operating systems and run-time systems
FR2794543B1 (fr) * 1999-06-04 2001-08-24 Gemplus Card Int Migration de differents langages sources vers un support d'execution
BR9917358B1 (pt) 1999-06-10 2012-07-24 meio legÍvel por computador, sistema, e, mÉtodos para suportar armazenamento persistente de um conjunto de dados, e para atualizar um conjunto de dados.
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6463521B1 (en) * 1999-06-23 2002-10-08 Sun Microsystems, Inc. Opcode numbering for meta-data encoding
FR2795835B1 (fr) * 1999-07-01 2001-10-05 Bull Cp8 Procede de verification de transformateurs de codes pour un systeme embarque, notamment sur une carte a puce
US7908216B1 (en) 1999-07-22 2011-03-15 Visa International Service Association Internet payment, authentication and loading system using virtual smart card
US6684389B1 (en) * 1999-08-05 2004-01-27 Canon Kabushiki Kaisha Compiler that decrypts encrypted source code
US7376583B1 (en) 1999-08-10 2008-05-20 Gofigure, L.L.C. Device for making a transaction via a communications link
EP1206741A1 (en) * 1999-08-11 2002-05-22 Spinware, Inc. System and method for controlling access to data stored in a portable storage medium
FR2797963B1 (fr) * 1999-08-23 2002-11-29 Trusted Logic Protocole de gestion, procede de verification et de transformation d'un fragment de programme telecharge et systemes correspondants
US6560774B1 (en) * 1999-09-01 2003-05-06 Microsoft Corporation Verifier to check intermediate language
KR20010050212A (ko) * 1999-09-13 2001-06-15 스테븐 디.피터스 메모리 카드에 기록된 파일에 대한 접근 제어 시스템
GB9921720D0 (en) 1999-09-14 1999-11-17 Tao Group Ltd Loading object-oriented computer programs
US7231411B1 (en) * 1999-09-15 2007-06-12 Koninklijke Philips Electronics N.V. Removable card system with downloadable agent for communicating with a digital television receiver or other host device
AU1223901A (en) * 1999-10-20 2001-04-30 Spyrus, Inc. Method and system for an integrated circuit card interface device with multiple modes of operation
GB9925227D0 (en) 1999-10-25 1999-12-22 Internet Limited Data storage retrieval and access system
GB2356268B (en) 1999-11-10 2004-08-18 Mars Inc Value transaction systems
US8453133B2 (en) * 1999-11-12 2013-05-28 Oracle America, Inc. Optimization of N-base typed arithmetic instructions via rework
US6363523B1 (en) * 1999-11-12 2002-03-26 Sun Microsystems, Inc. Optimization of N-base typed arithmetic expressions
US7158993B1 (en) 1999-11-12 2007-01-02 Sun Microsystems, Inc. API representation enabling submerged hierarchy
US7010786B2 (en) 1999-11-12 2006-03-07 Sun Microsystems, Inc. Predictive arithmetic overflow detection
US7107581B2 (en) * 1999-11-12 2006-09-12 Sun Microsystems, Inc. Overflow predictive arithmetic instruction optimization using chaining
US7207037B2 (en) * 1999-11-12 2007-04-17 Sun Microsystems, Inc. Overflow sensitive arithmetic instruction optimization using chaining
FR2801118B1 (fr) * 1999-11-17 2001-12-21 Bull Cp8 Procede de chargement d'applications dans un systeme embarque multi-application, systeme embarque correspondant, et procede d'execution d'une application du systeme embarque
AU1145800A (en) 1999-11-19 2001-06-04 Swisscom Mobile Ag Adaptable chip card
WO2001040910A1 (en) 1999-12-06 2001-06-07 De Jong, Eduard, Karel Computer arrangement using non-refreshed dram
CN1398385B (zh) 1999-12-07 2010-06-02 太阳微系统公司 识别装置、与识别装置通信的终端和验证照相图象的方法
JP2003516600A (ja) 1999-12-07 2003-05-13 サン マイクロシステムズ インコーポレイテッド 読取を制御するためのマイクロプロセッサを有するコンピュータ読取可能媒体及びこのような媒体と通信を行う構成とされたコンピュータ
US6757824B1 (en) * 1999-12-10 2004-06-29 Microsoft Corporation Client-side boot domains and boot rules
FR2802319B1 (fr) * 1999-12-10 2004-10-01 Gemplus Card Int Controle d'acces par capacites pour des applications notamment cooperantes dans une carte a puce
US20010007146A1 (en) * 1999-12-23 2001-07-05 Uwe Hansmann Method for providing a set of software components
FR2804819B1 (fr) * 2000-02-03 2002-05-03 Gemplus Card Int Gestion de temps au niveau communication pour entite du type carte a puce
FR2805062B1 (fr) * 2000-02-10 2005-04-08 Bull Cp8 Procede de transmission de flux de donnees a haut debit sur un reseau de type internet entre un serveur et un terminal a carte a puce, notamment d'un flux de donnees multimedia
US6748592B1 (en) * 2000-02-14 2004-06-08 Xoucin, Inc. Method and apparatus for protectively operating a data/information processing device
WO2001061486A2 (en) * 2000-02-17 2001-08-23 Interactive Video Technologies, Inc. Incremental bootstrap class loader
GB0003920D0 (en) 2000-02-21 2000-04-05 Ncipher Corp Limited Computer system
US6813762B1 (en) * 2000-02-22 2004-11-02 Freescale Semiconductor, Inc. Method for processing program files in a programming language capable of dynamic loading
JP4509291B2 (ja) * 2000-03-30 2010-07-21 大日本印刷株式会社 Icカード、icカードのプログラム更新装置、および、その方法
US6651186B1 (en) 2000-04-28 2003-11-18 Sun Microsystems, Inc. Remote incremental program verification using API definitions
US6986132B1 (en) 2000-04-28 2006-01-10 Sun Microsytems, Inc. Remote incremental program binary compatibility verification using API definitions
US6883163B1 (en) 2000-04-28 2005-04-19 Sun Microsystems, Inc. Populating resource-constrained devices with content verified using API definitions
FR2812101A1 (fr) * 2000-07-24 2002-01-25 Bull Cp8 Protocole d'echange de messages entre applications implantees sur un systeme embarque, et systeme embarque correspondant
US6675338B1 (en) 2000-08-09 2004-01-06 Sun Microsystems, Inc. Internally generated vectors for burnin system
JP2002091762A (ja) * 2000-09-14 2002-03-29 Denso Corp プログラム生成装置
US6981245B1 (en) 2000-09-14 2005-12-27 Sun Microsystems, Inc. Populating binary compatible resource-constrained devices with content verified using API definitions
JP2002117381A (ja) * 2000-10-05 2002-04-19 Dainippon Printing Co Ltd Icカード
FR2815801B1 (fr) 2000-10-20 2004-10-29 Trusted Logic Protocole de transmission d'une pluralite de flux logiques d'echange multiple de couples de commande/reponse sur un canal physique unique d'echange entre maitre et esclave et systeme de suivi et de controle d'execution d'appliquettes
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US20020108054A1 (en) * 2001-02-02 2002-08-08 Moore Christopher S. Solid-state memory device storing program code and methods for use therewith
WO2002063576A1 (en) * 2001-02-08 2002-08-15 Nokia Corporation Smart card reader
US7080373B2 (en) * 2001-03-07 2006-07-18 Freescale Semiconductor, Inc. Method and device for creating and using pre-internalized program files
FR2822334A1 (fr) * 2001-03-16 2002-09-20 Schlumberger Systems & Service Module d'idente d'abonne a gestion independante et securisee d'une pluralite de commandes d'au moins une appliquette, notamment pour un equipement mobile de communication
AU2006200734B2 (en) * 2001-05-17 2007-12-13 Accenture Global Services Limited Pipeline architecture for use with net-centric application program architectures
US6971001B1 (en) * 2001-05-17 2005-11-29 Accenture Global Services Gmbh General and reusable components for defining net-centric application program architectures
US20040218762A1 (en) 2003-04-29 2004-11-04 Eric Le Saint Universal secure messaging for cryptographic modules
US8209753B2 (en) * 2001-06-15 2012-06-26 Activcard, Inc. Universal secure messaging for remote security tokens
TWI236298B (en) * 2001-08-13 2005-07-11 Qualcomm Inc Application level access privilege to a storage area on a computer device
US7155702B2 (en) * 2001-09-13 2006-12-26 Axalto Sa Interface and stub generation for code distribution and synthesis
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US7085840B2 (en) 2001-10-29 2006-08-01 Sun Microsystems, Inc. Enhanced quality of identification in a data communications network
US20030084302A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation Portability and privacy with data communications network browsing
US7275260B2 (en) 2001-10-29 2007-09-25 Sun Microsystems, Inc. Enhanced privacy protection in identification in a data communications network
US7496751B2 (en) * 2001-10-29 2009-02-24 Sun Microsystems, Inc. Privacy and identification in a data communications network
JP4055393B2 (ja) * 2001-10-30 2008-03-05 ソニー株式会社 データ処理装置およびその方法とプログラム
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7243853B1 (en) 2001-12-04 2007-07-17 Visa U.S.A. Inc. Method and system for facilitating memory and application management on a secured token
WO2003058446A1 (en) * 2002-01-11 2003-07-17 Sierra Wireless, Inc. Host extensible wireless application interface
US20100174717A1 (en) * 2002-02-28 2010-07-08 Olivier Fambon Interative serialisation procedure for structured software objects
DE60210416T2 (de) * 2002-02-28 2006-09-07 Matsushita Electric Industrial Co., Ltd., Kadoma Speicherkarte
US8769517B2 (en) * 2002-03-15 2014-07-01 International Business Machines Corporation Generating a common symbol table for symbols of independent applications
US7010783B2 (en) 2002-03-18 2006-03-07 Sun Microsystems, Inc. Method and apparatus for deployment of high integrity software using reduced dynamic memory allocation
US6912633B2 (en) 2002-03-18 2005-06-28 Sun Microsystems, Inc. Enhanced memory management for portable devices
US7181737B2 (en) 2002-03-18 2007-02-20 Sun Microsystems, Inc. Method and apparatus for deployment of high integrity software using static procedure return addresses
US6996802B2 (en) 2002-03-18 2006-02-07 Sun Microsystems, Inc. Method and apparatus for deployment of high integrity software using initialization order and calling order constraints
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
DE10216602A1 (de) * 2002-04-15 2003-10-30 Giesecke & Devrient Gmbh Optimierung von compilergeneriertem Programmcode
US7890771B2 (en) 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US7127241B2 (en) * 2002-05-09 2006-10-24 Casabyte, Inc. Method, apparatus and article to remotely associate wireless communications devices with subscriber identities and/or proxy wireless communications devices
FR2840084A1 (fr) * 2002-05-27 2003-11-28 Gemplus Card Int Procede de verification de codes pour microcircuits a ressources limitees
NO20023194D0 (no) * 2002-07-01 2002-07-01 Sospita As Fremgangsmåte og apparatur for eksekvering av programvareapplikasjoner i et multiprosessormiljö
US20040122774A1 (en) * 2002-08-02 2004-06-24 Martin Studd Method and system for executing applications on a mobile device
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
JP4504192B2 (ja) * 2002-09-16 2010-07-14 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 加入モジュールへのセキュアアクセス方法
EP1398934B1 (en) 2002-09-16 2008-01-02 Telefonaktiebolaget LM Ericsson (publ) Secure access to a subscription module
US20040139021A1 (en) 2002-10-07 2004-07-15 Visa International Service Association Method and system for facilitating data access and management on a secure token
US6904591B2 (en) * 2002-11-01 2005-06-07 Oz Development, Inc. Software development system for editable executables
FR2846770B1 (fr) * 2002-11-04 2005-01-28 Oberthur Card Syst Sa Carte a microcircuit comportant des moyens de publication de ses objets informatiques
CN1276363C (zh) * 2002-11-13 2006-09-20 深圳市朗科科技有限公司 借助半导体存储装置实现数据安全存储和算法存储的方法
US20040123152A1 (en) * 2002-12-18 2004-06-24 Eric Le Saint Uniform framework for security tokens
US7281244B2 (en) 2003-01-16 2007-10-09 Sun Microsystems, Inc. Using a digital fingerprint to commit loaded data in a device
US7484095B2 (en) 2003-01-16 2009-01-27 Sun Microsystems, Inc. System for communicating program data between a first device and a second device
US20040143739A1 (en) * 2003-01-16 2004-07-22 Sun Mircosystems, Inc., A Delaware Corporation Run time code integrity checks
US7165246B2 (en) 2003-01-16 2007-01-16 Sun Microsystems, Inc. Optimized representation of data type information in program verification
US7222331B2 (en) 2003-01-16 2007-05-22 Sun Microsystems, Inc. Linking of virtual methods
US7272830B2 (en) 2003-01-16 2007-09-18 Sun Microsystems, Inc. Ordering program data for loading on a device
US8121955B2 (en) 2003-01-16 2012-02-21 Oracle America, Inc. Signing program data payload sequence in program loading
CN100388191C (zh) 2003-04-01 2008-05-14 松下电器产业株式会社 程序连接方法、装置以及终端装置
US20040199787A1 (en) * 2003-04-02 2004-10-07 Sun Microsystems, Inc., A Delaware Corporation Card device resource access control
US20040221174A1 (en) * 2003-04-29 2004-11-04 Eric Le Saint Uniform modular framework for a host computer system
US7328432B2 (en) * 2003-06-02 2008-02-05 Sun Microsystems, Inc. Proximity-based addressing for supporting in-place execution in virtual machines
US7184756B2 (en) * 2003-06-12 2007-02-27 Motorola Inc. Wireless communication device with tamper resistant configuration settings
WO2005007258A1 (en) * 2003-07-23 2005-01-27 Koninklijke Philips Electronics N.V. Device to process program codes
US10437964B2 (en) * 2003-10-24 2019-10-08 Microsoft Technology Licensing, Llc Programming interface for licensing
CH716409B1 (de) * 2003-11-12 2021-01-29 Legic Identsystems Ag Verfahren zum Einschreiben einer Datenorganisation in Identifikationsmedien und zum Einschreiben und Ausführen von Applikationen in der Datenorganisation.
DE10357257A1 (de) * 2003-12-08 2005-06-30 Giesecke & Devrient Gmbh Java Smart Card Chip mit für globale Variablen reserviertem Speicherbereich
US7907935B2 (en) * 2003-12-22 2011-03-15 Activcard Ireland, Limited Intelligent remote device
US20050138380A1 (en) * 2003-12-22 2005-06-23 Fedronic Dominique L.J. Entry control system
FR2864398A1 (fr) * 2003-12-23 2005-06-24 France Telecom Terminal de telecommunication a deux espaces d'execution
US7227492B1 (en) * 2004-02-10 2007-06-05 Zilog, Inc. Interpreting a common script block to output various forms of data according to a common protocol
US7436345B1 (en) * 2004-02-10 2008-10-14 Zilog, Inc. Script instruction for jumping to a location, interpreting a predetermined number of instructions and then jumping back
US7339513B1 (en) 2004-02-10 2008-03-04 Zilog, Inc. Interpreting a script to generate an operational signal on a remote control device
US7259696B1 (en) * 2004-02-10 2007-08-21 Zilog, Inc. Interactive web-based codeset selection and development tool
US7091857B2 (en) * 2004-02-12 2006-08-15 Mi-Jack Products, Inc. Electronic control system used in security system for cargo trailers
US7374099B2 (en) 2004-02-24 2008-05-20 Sun Microsystems, Inc. Method and apparatus for processing an application identifier from a smart card
US7165727B2 (en) 2004-02-24 2007-01-23 Sun Microsystems, Inc. Method and apparatus for installing an application onto a smart card
US7140549B2 (en) 2004-02-24 2006-11-28 Sun Microsystems, Inc. Method and apparatus for selecting a desired application on a smart card
US7191288B2 (en) 2004-02-24 2007-03-13 Sun Microsystems, Inc. Method and apparatus for providing an application on a smart card
US8321923B2 (en) * 2004-03-04 2012-11-27 Gemalto Sa Secure sharing of resources between applications in independent execution environments in a retrievable token (e.g. smart card)
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US20050263596A1 (en) * 2004-05-12 2005-12-01 Solicore, Inc. Portable charger, including portable sleeve, for an electronically readable card
US20060041854A1 (en) * 2004-07-22 2006-02-23 Steven Schlanger Devices and methods for programming microcontrollers
US8069436B2 (en) * 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US7855672B1 (en) 2004-08-19 2010-12-21 Ixys Ch Gmbh Compressed codeset database format for remote control devices
US20060047954A1 (en) * 2004-08-30 2006-03-02 Axalto Inc. Data access security implementation using the public key mechanism
KR100597413B1 (ko) 2004-09-24 2006-07-05 삼성전자주식회사 자바 바이트코드 변환 방법 및 상기 변환을 수행하는 자바인터프리터
US20060080655A1 (en) * 2004-10-09 2006-04-13 Axalto Inc. System and method for post-issuance code update employing embedded native code
FR2877454B1 (fr) * 2004-11-04 2006-12-29 Gemplus Sa Procede de chargement d'un code logiciel en langage intermediaire oriente objet dans un appareil portatif
US7232073B1 (en) 2004-12-21 2007-06-19 Sun Microsystems, Inc. Smart card with multiple applications
JP4215037B2 (ja) * 2004-12-27 2009-01-28 セイコーエプソン株式会社 リソース管理システム、プリンタ、プリンタ用ネットワークカードおよびリソース管理プログラム、並びにリソース管理方法
JP2006244451A (ja) * 2005-02-01 2006-09-14 Seiko Epson Corp リソース管理システムおよびリソース管理プログラム、並びにリソース管理方法
JP4207938B2 (ja) * 2005-02-01 2009-01-14 セイコーエプソン株式会社 ソフトウェア認証システム、ソフトウェア認証プログラム、およびソフトウェア認証方法
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
JP4311386B2 (ja) * 2005-02-14 2009-08-12 セイコーエプソン株式会社 ファイル操作制限システムおよびファイル操作制限プログラム、ファイル操作制限方法、電子機器並びに印刷装置
US20060203733A1 (en) * 2005-02-17 2006-09-14 Casabyte, Inc. Methods, apparatuses, and articles to remotely test communications networks using digital fingerprints of content
JP4628149B2 (ja) * 2005-03-14 2011-02-09 株式会社エヌ・ティ・ティ・ドコモ アクセス制御装置及びアクセス制御方法
JP4232767B2 (ja) * 2005-03-14 2009-03-04 セイコーエプソン株式会社 ソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法
DE102005019753A1 (de) * 2005-04-28 2006-11-09 Braun Gmbh Blutdruckmessgerät sowie Chipkarte hierfür
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US8887295B2 (en) * 2005-06-27 2014-11-11 Safend Ltd. Method and system for enabling enterprises to use detachable memory devices that contain data and executable files in controlled and secure way
US7792289B2 (en) * 2005-06-28 2010-09-07 Mark Ellery Ogram Encrypted communications
US7698703B2 (en) * 2005-06-29 2010-04-13 Gemalto Inc. Imparting digital uniqueness to the types of a programming language using a unique digital sequence
US20070143601A1 (en) * 2005-12-15 2007-06-21 Arroyo Diana J System and method for authorizing information flows
US7647630B2 (en) * 2005-12-15 2010-01-12 International Business Machines Corporation Associating security information with information objects in a data processing system
DE102005061659A1 (de) * 2005-12-22 2007-06-28 Giesecke & Devrient Gmbh Sicherung eines tragbaren Datenträgers gegen Angriffe
FR2895608B1 (fr) * 2005-12-23 2008-03-21 Trusted Logic Sa Procede pour la realisation d'un compteur securise sur un systeme informatique embarque disposant d'une carte a puce
US20070192840A1 (en) * 2006-02-10 2007-08-16 Lauri Pesonen Mobile communication terminal
JP4933292B2 (ja) * 2006-02-28 2012-05-16 キヤノン株式会社 情報処理装置、無線通信方法、記憶媒体、プログラム
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US9092635B2 (en) 2006-03-31 2015-07-28 Gemalto Sa Method and system of providing security services using a secure device
US20080052770A1 (en) * 2006-03-31 2008-02-28 Axalto Inc Method and system of providing security services using a secure device
DE102006023436A1 (de) * 2006-05-18 2007-11-22 Giesecke & Devrient Gmbh Authentisierung für entfernte Funktionsaufrufe
EP1860589B1 (en) * 2006-05-26 2013-11-27 Incard SA Method for accessing structured data in IC Cards
EP1881404A1 (fr) * 2006-07-20 2008-01-23 Gemplus Procédé de protection dynamique des données lors de l'exécution d'un code logiciel en langage intermédiaire dans un appareil numérique
US7817799B2 (en) * 2006-09-07 2010-10-19 International Business Machines Corporation Maintaining encryption key integrity
EP1936574A1 (en) * 2006-12-01 2008-06-25 Cassis International PTE Ltd. CAP file for the personalisation of a Java application
US7971061B2 (en) * 2006-12-11 2011-06-28 Pitney Bowes Inc. E-mail system and method having certified opt-in capabilities
US8285329B1 (en) 2007-04-02 2012-10-09 Sprint Communications Company L.P. Mobile device-based control of smart card operation
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US7737724B2 (en) * 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
ITMI20070996A1 (it) * 2007-05-17 2008-11-18 Incard Sa Metodo per il controllo di esecuzione di un'applet per una ic card
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US8249654B1 (en) * 2007-09-27 2012-08-21 Sprint Communications Company L.P. Dynamic smart card application loading
US9883381B1 (en) 2007-10-02 2018-01-30 Sprint Communications Company L.P. Providing secure access to smart card applications
JP5262089B2 (ja) * 2007-11-30 2013-08-14 凸版印刷株式会社 Icカードに実装されるコンピュータ装置及びその処理方法
CN101520733B (zh) * 2008-02-27 2014-04-16 国际商业机器公司 装载类的方法和装置及重组类存档文件方法
CN101256612B (zh) * 2008-04-01 2010-11-03 北京飞天诚信科技有限公司 基于.Net卡的程序保护方法和系统
CN101419549B (zh) * 2008-05-13 2012-04-18 飞天诚信科技股份有限公司 基于.Net卡查找类和函数的方法和装置
US8594814B2 (en) 2008-06-20 2013-11-26 Invensys Systems, Inc. Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control
US8806457B2 (en) * 2008-12-15 2014-08-12 Apple Inc. Deferred constant pool generation
US20100211591A1 (en) * 2009-02-16 2010-08-19 Chuan-Hua Chang Apparatus for processing strings simultaneously
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US9384063B2 (en) * 2009-06-18 2016-07-05 Microsoft Technology Licensing, Llc Eliding synchronization in a concurrent data structure
JP5449905B2 (ja) * 2009-07-29 2014-03-19 フェリカネットワークス株式会社 情報処理装置、プログラム、および情報処理システム
US9311588B2 (en) * 2009-11-05 2016-04-12 Trusted Logic Secure portable object
KR101054596B1 (ko) * 2009-11-18 2011-08-04 에스케이씨앤씨 주식회사 자바카드용 마이그레이터를 이용한 메모리 절감 방법
US8276188B2 (en) * 2009-12-03 2012-09-25 Condel International Technologies Inc. Systems and methods for managing storage devices
DE102010004446A1 (de) * 2010-01-13 2011-07-14 Giesecke & Devrient GmbH, 81677 Verfahren zum Bereitstellen eines sicheren Zählers auf einem Endgerät
US10305910B2 (en) 2010-01-15 2019-05-28 Apple Inc. Accessing specialized fileserver
US8538480B2 (en) * 2010-03-30 2013-09-17 Qualcomm Incorporated Methods and apparatus for device applet management on smart cards
EP2397998A1 (fr) * 2010-06-17 2011-12-21 Gemalto SA Procédé et système de contrôle du traitement de plusieurs flux de communication radiofréquence par une carte à circuits intégrés
US8769518B1 (en) 2010-06-29 2014-07-01 Ca, Inc. Ensuring determinism during programmatic replay in a virtual machine
US8732670B1 (en) 2010-06-29 2014-05-20 Ca, Inc. Ensuring determinism during programmatic replay in a virtual machine
US8499299B1 (en) 2010-06-29 2013-07-30 Ca, Inc. Ensuring deterministic thread context switching in virtual machine applications
US8959492B2 (en) * 2010-12-14 2015-02-17 Ngmoco, Llc Communication protocol between a high-level language and a native language
US8807440B1 (en) 2010-12-17 2014-08-19 Google Inc. Routing secure element payment requests to an alternate application
US8352749B2 (en) 2010-12-17 2013-01-08 Google Inc. Local trusted services manager for a contactless smart card
US8621168B2 (en) 2010-12-17 2013-12-31 Google Inc. Partitioning the namespace of a contactless smart card
US8533336B1 (en) * 2011-02-04 2013-09-10 Google Inc. Automated web frontend sharding
JP5329602B2 (ja) * 2011-05-12 2013-10-30 株式会社三菱東京Ufj銀行 端末装置およびプログラム
EP2535832B1 (en) * 2011-06-17 2017-04-26 Simulity Labs Ltd A method for operating a virtual machine over a file system
US8255687B1 (en) 2011-09-15 2012-08-28 Google Inc. Enabling users to select between secure service providers using a key escrow service
US8171525B1 (en) 2011-09-15 2012-05-01 Google Inc. Enabling users to select between secure service providers using a central trusted service manager
US8313036B1 (en) 2011-09-16 2012-11-20 Google Inc. Secure application directory
US9544759B2 (en) 2011-11-01 2017-01-10 Google Inc. Systems, methods, and computer program products for managing states
EP2776965B2 (en) 2011-11-01 2022-11-16 Google LLC Systems, methods, and computer program products for managing secure elements
JP5818695B2 (ja) * 2012-01-04 2015-11-18 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation コード変換方法、プログラム及びシステム
US9372985B2 (en) 2012-01-25 2016-06-21 Sony Corporation Information processing device, information processing method, and computer program
US8385553B1 (en) 2012-02-28 2013-02-26 Google Inc. Portable secure element
JP5953867B2 (ja) * 2012-03-26 2016-07-20 富士ゼロックス株式会社 プログラム、及びプログラム保護装置
ITMI20120561A1 (it) * 2012-04-05 2013-10-06 St Microelectronics Srl Metodo per proteggere un programma applicativo
US8429409B1 (en) 2012-04-06 2013-04-23 Google Inc. Secure reset of personal and service provider information on mobile devices
US20130311382A1 (en) * 2012-05-21 2013-11-21 Klaus S. Fosmark Obtaining information for a payment transaction
US9383448B2 (en) 2012-07-05 2016-07-05 Deca System Co., Ltd. Golf GPS device with automatic hole recognition and playing hole selection
US8676709B2 (en) 2012-07-31 2014-03-18 Google Inc. Merchant category codes in a proxy card transaction
US9479571B2 (en) 2012-09-18 2016-10-25 Google Inc. Systems, methods, and computer program products for interfacing multiple service provider trusted service managers and secure elements
CN104182267B (zh) * 2013-05-21 2019-10-25 南京中兴新软件有限责任公司 编译方法、解释方法、装置及用户设备
EP2843605A1 (en) * 2013-08-30 2015-03-04 Gemalto SA Method for authenticating transactions
US9516006B2 (en) * 2013-10-23 2016-12-06 Google Inc. Re-programmable secure cryptographic device
US9280339B1 (en) * 2013-12-12 2016-03-08 Amazon Technologies, Inc. Class replacer during application installation
EP3215238B1 (en) * 2014-11-05 2019-10-02 Wwtemplar LLC Remote control of fire suppression systems
US10176094B2 (en) 2015-06-30 2019-01-08 Renesas Electronics America Inc. Common MCU self-identification information
US10466977B2 (en) 2015-10-11 2019-11-05 Renesas Electronics America Inc. Data driven embedded application building and configuration
JP6275098B2 (ja) * 2015-10-16 2018-02-07 三菱電機株式会社 制御装置およびレジスタの故障復帰方法
WO2017209876A1 (en) * 2016-05-31 2017-12-07 Brocade Communications Systems, Inc. Buffer manager
KR101894894B1 (ko) 2017-06-16 2018-09-05 서울대학교산학협력단 바이트코드 처리 장치 및 동작 방법
CN109840395A (zh) * 2017-11-24 2019-06-04 航天信息股份有限公司 一种基于Java卡下载应用程序的方法和系统
US10698666B2 (en) * 2017-12-29 2020-06-30 Microsoft Technology Licensing, Llc Automatically building software projects
CN108966235B (zh) * 2018-06-20 2021-07-02 融慧金科金融服务外包(北京)有限公司 Ios用户网络身份证rhidfa的运行方法
CN110059499A (zh) * 2019-03-22 2019-07-26 华为技术有限公司 一种文件访问权限认证方法及电子设备

Family Cites Families (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE408455C (de) 1923-07-15 1925-01-19 Georg Koenig Verfahren zur fortlaufenden Bestimmung des Heizwerts von Gasgemischen
FR2386080A1 (fr) 1977-03-31 1978-10-27 Cii Honeywell Bull Systeme de comptabilisation d'unites homogenes predeterminees
US4650975A (en) * 1984-08-30 1987-03-17 Casio Computer Co., Ltd. IC card and an identification system thereof
US4667290A (en) * 1984-09-10 1987-05-19 501 Philon, Inc. Compilers using a universal intermediate language
JPS61204741A (ja) 1985-03-06 1986-09-10 Nec Corp ソ−スプログラムの圧縮方法
JPH0635227B2 (ja) 1985-07-31 1994-05-11 トツパン・ム−ア株式会社 更新情報と履歴情報の読出し手段を有するicカ−ド
US4905138A (en) * 1985-10-17 1990-02-27 Westinghouse Electric Corp. Meta-interpreter
US4874935A (en) * 1986-03-10 1989-10-17 Data Card Coprporation Smart card apparatus and method of programming same
GB2191029B (en) 1986-05-29 1990-12-12 Almex Systems Ltd Electronic pass
JPH07104891B2 (ja) 1986-08-05 1995-11-13 沖電気工業株式会社 取引処理装置
US5133072A (en) * 1986-11-13 1992-07-21 Hewlett-Packard Company Method for improved code generation in reduced instruction set computers
JPS63156255A (ja) 1986-12-19 1988-06-29 Fujitsu Ltd インタプリタにおけるオ−バレイ方法
JPS63156254A (ja) 1986-12-19 1988-06-29 Fujitsu Ltd インタプリタにおける中間テキストの管理方法
US4777355A (en) 1986-12-24 1988-10-11 Mitsubishi Denki Kabushiki Kaisha IC card and system for checking the functionality thereof
US4791558A (en) * 1987-02-13 1988-12-13 International Business Machines Corporation System and method for generating an object module in a first format and then converting the first format into a format which is loadable into a selected computer
JPS63231692A (ja) * 1987-03-20 1988-09-27 Mitsubishi Electric Corp 機密コ−ド書込装置
FR2626095B1 (fr) * 1988-01-20 1991-08-30 Sgs Thomson Microelectronics Systeme de securite pour proteger des zones de programmation d'une carte a puce
US4892974A (en) 1988-03-10 1990-01-09 Air Products And Chemicals, Inc. Process for producing mono-ortho-tert-butyl-aniline using silica-alumina catalysts
JPH01243125A (ja) * 1988-03-24 1989-09-27 Fuji Electric Co Ltd 解釈プログラムの実行速度向上方法
US5195130A (en) 1988-05-05 1993-03-16 Transaction Technology, Inc. Computer and telephone apparatus with user friendly computer interface and enhanced integrity features
JP2666847B2 (ja) * 1988-06-06 1997-10-22 日本電気株式会社 異種言語間連絡方式
US5313614A (en) 1988-12-06 1994-05-17 At&T Bell Laboratories Method and apparatus for direct conversion of programs in object code form between different hardware architecture computer systems
US5119465A (en) * 1989-06-19 1992-06-02 Digital Equipment Corporation System for selectively converting plurality of source data structures through corresponding source intermediate structures, and target intermediate structures into selected target structure
JPH0378082A (ja) 1989-08-21 1991-04-03 Hitachi Ltd 予約取引処理方法
CA2025120A1 (en) * 1989-09-28 1991-03-29 John W. White Portable and dynamic distributed application architecture
US5120939A (en) 1989-11-09 1992-06-09 At&T Bell Laboratories Databaseless security system
US5339419A (en) * 1990-06-25 1994-08-16 Hewlett-Packard Company ANDF compiler using the HPcode-plus compiler intermediate language
FR2667171B1 (fr) * 1990-09-25 1994-08-26 Gemplus Card Int Support portable a micro-circuit facilement programmable et procede de programmation de ce micro-circuit.
US5450575A (en) * 1991-03-07 1995-09-12 Digital Equipment Corporation Use of stack depth to identify machine code mistakes
US5307492A (en) * 1991-03-07 1994-04-26 Digital Equipment Corporation Mapping assembly language argument list references in translating code for different machine architectures
JP3602857B2 (ja) * 1991-04-23 2004-12-15 株式会社日立製作所 多機種対応型情報処理システム、および、方法
JP2690229B2 (ja) 1991-11-26 1997-12-10 三菱電機株式会社 非接触icカード
US5406380A (en) 1991-12-30 1995-04-11 Management Graphics, Inc. Film recorder with interface for user replaceable memory element
CA2147824A1 (en) * 1992-10-26 1994-05-11 Johannes Marinus George Bertina Host and user transaction system
US5469572A (en) * 1992-12-01 1995-11-21 Taylor; James M. Post compile optimizer for linkable object code
US5367685A (en) * 1992-12-22 1994-11-22 Firstperson, Inc. Method and apparatus for resolving data references in generated code
FR2705810B1 (fr) 1993-05-26 1995-06-30 Gemplus Card Int Puce de carte à puce munie d'un moyen de limitation du nombre d'authentifications.
US5519866A (en) * 1993-06-28 1996-05-21 Taligent, Inc. Method and apparatus of incrementally linking components of a modeled computer program
WO1995004328A1 (en) 1993-07-30 1995-02-09 Intellect Australia Pty. Ltd. Device and method for ic cards
US5650761A (en) 1993-10-06 1997-07-22 Gomm; R. Greg Cash alternative transaction system
GB2283349A (en) 1993-10-29 1995-05-03 Ibm Transaction processing system
FR2713803B1 (fr) * 1993-12-07 1996-01-12 Gemplus Card Int Carte à mémoire et procédé de fonctionnement.
US5457799A (en) * 1994-03-01 1995-10-10 Digital Equipment Corporation Optimizer for program loops
US5537474A (en) * 1994-07-29 1996-07-16 Motorola, Inc. Method and apparatus for authentication in a communication system
US5500517A (en) * 1994-09-02 1996-03-19 Gemplus Card International Apparatus and method for data transfer between stand alone integrated circuit smart card terminal and remote computer of system operator
US5732270A (en) 1994-09-15 1998-03-24 Visual Edge Software Limited System and method for providing interoperability among heterogeneous object systems
US5841866A (en) * 1994-09-30 1998-11-24 Microchip Technology Incorporated Secure token integrated circuit and method of performing a secure authentication function or transaction
US5544086A (en) 1994-09-30 1996-08-06 Electronic Payment Services, Inc. Information consolidation within a transaction network
US5613120A (en) * 1994-10-20 1997-03-18 Silicon Graphics, Inc. System and method for enabling, without recompilation, modification of class definitions and implementations in an object-oriented computer program
US5613012A (en) 1994-11-28 1997-03-18 Smarttouch, Llc. Tokenless identification system for authorization of electronic transactions and electronic transmissions
US5748964A (en) * 1994-12-20 1998-05-05 Sun Microsystems, Inc. Bytecode program interpreter apparatus and method with pre-verification of data type restrictions
US5668999A (en) * 1994-12-20 1997-09-16 Sun Microsystems, Inc. System and method for pre-verification of stack usage in bytecode program loops
US5590331A (en) * 1994-12-23 1996-12-31 Sun Microsystems, Inc. Method and apparatus for generating platform-standard object files containing machine-independent code
DK0819287T3 (da) * 1995-02-17 2002-10-14 Europay Internat S A Transaktionsstyringssystem styret af et integreret kredsløb
US5679945A (en) * 1995-03-31 1997-10-21 Cybermark, L.L.C. Intelligent card reader having emulation features
US5590197A (en) * 1995-04-04 1996-12-31 V-One Corporation Electronic payment system and method
DE19518930A1 (de) 1995-05-23 1996-11-28 Siemens Ag Verfahren zur Verbindungssteuerung für interaktive Dienste
JP3310525B2 (ja) * 1995-06-01 2002-08-05 ビー・イー・テクノロジー株式会社 デジタルデータ処理装置
US6181867B1 (en) * 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
US5692132A (en) 1995-06-07 1997-11-25 Mastercard International, Inc. System and method for conducting cashless transactions on a computer network
US5689565A (en) 1995-06-29 1997-11-18 Microsoft Corporation Cryptography system and method for providing cryptographic services for a computer application
US5675804A (en) * 1995-08-31 1997-10-07 International Business Machines Corporation System and method for enabling a compiled computer program to invoke an interpretive computer program
US5663553A (en) * 1995-09-27 1997-09-02 Intel Corporation Mass storage device adapter for smart cards
DE19536169A1 (de) * 1995-09-29 1997-04-03 Ibm Multifunktionale Chipkarte
CA2160496A1 (en) 1995-10-13 1997-04-14 Allan M. Brown Electronic funds acceptor for vending machines
JP2002516636A (ja) 1995-12-01 2002-06-04 エルエスアイ ロジック コーポレイション 集積ネットワークブラウザチップ、ネットワークブラウザシステムおよびネットワークデータ通信方法
US6151618A (en) * 1995-12-04 2000-11-21 Microsoft Corporation Safe general purpose virtual machine computing system
US6526565B1 (en) * 1995-12-21 2003-02-25 International Business Machines Corporation Packaging algorithm for providing object oriented applications having reduced footprints
FR2742892B1 (fr) * 1995-12-21 1998-02-13 Bull Sa Systeme de protection de logiciel pour ordinateur ecrit en langage interprete
US5835772A (en) * 1995-12-29 1998-11-10 Intel Corporation Method and apparatus for providing an interface between a system and a peripheral device
US5811771A (en) 1996-05-22 1998-09-22 Dethloff; Juergen Method and system for paying with a portable data medium having security against over charging and unauthorized use
US6535903B2 (en) * 1996-01-29 2003-03-18 Compaq Information Technologies Group, L.P. Method and apparatus for maintaining translated routine stack in a binary translation environment
US6226789B1 (en) * 1996-01-29 2001-05-01 Compaq Computer Corporation Method and apparatus for data flow analysis
US5860008A (en) * 1996-02-02 1999-01-12 Apple Computer, Inc. Method and apparatus for decompiling a compiled interpretive code
US5742756A (en) * 1996-02-12 1998-04-21 Microsoft Corporation System and method of using smart cards to perform security-critical operations requiring user authorization
EP0794639A3 (en) * 1996-02-14 2001-01-31 Mitsubishi Denki Kabushiki Kaisha Data security method and system
US5761306A (en) 1996-02-22 1998-06-02 Visa International Service Association Key replacement in a public key cryptosystem
US6075863A (en) * 1996-02-28 2000-06-13 Encanto Networks Intelligent communication device
US5764989A (en) * 1996-02-29 1998-06-09 Supercede, Inc. Interactive software development system
US5848274A (en) * 1996-02-29 1998-12-08 Supercede, Inc. Incremental byte code compilation system
JPH09244904A (ja) * 1996-03-12 1997-09-19 Matsushita Electric Ind Co Ltd 仮想コード翻訳系および仮想マシンシステム
US5889941A (en) * 1996-04-15 1999-03-30 Ubiq Inc. System and apparatus for smart card personalization
US5915226A (en) * 1996-04-19 1999-06-22 Gemplus Card International Prepaid smart card in a GSM based wireless telephone network and method for operating prepaid cards
US5815657A (en) * 1996-04-26 1998-09-29 Verifone, Inc. System, method and article of manufacture for network electronic authorization utilizing an authorization instrument
US6151703A (en) * 1996-05-20 2000-11-21 Inprise Corporation Development system with methods for just-in-time compilation of programs
US5794049A (en) * 1996-06-05 1998-08-11 Sun Microsystems, Inc. Computer system and method for executing architecture specific code with reduced run-time memory space requirements
US5946487A (en) * 1996-06-10 1999-08-31 Lsi Logic Corporation Object-oriented multi-media architecture
GB9613450D0 (en) 1996-06-27 1996-08-28 Europay Int Sa Payment system
US5844218A (en) * 1996-07-16 1998-12-01 Transaction Technology, Inc. Method and system for using an application programmable smart card for financial transactions in multiple countries
US5923884A (en) * 1996-08-30 1999-07-13 Gemplus S.C.A. System and method for loading applications onto a smart card
EP0829828A1 (en) 1996-09-13 1998-03-18 Koninklijke KPN N.V. Multiple tickets in smart cards
US5875335A (en) 1996-09-30 1999-02-23 Apple Computer, Inc. Parameter marshaling techniques for dynamic object-oriented programming languages
US6438573B1 (en) * 1996-10-09 2002-08-20 Iowa State University Research Foundation, Inc. Real-time programming method
US6094528A (en) * 1996-10-24 2000-07-25 Sun Microsystems, Inc. Method and apparatus for system building with a transactional interpreter
DE69714752C5 (de) * 1996-10-25 2015-08-13 Gemalto Sa Verwendung einer hohen programmiersprache in einem mikrokontroller
US5905895A (en) * 1997-03-07 1999-05-18 International Business Machines Corporation Method and system for optimizing non-native bytecodes before bytecode interpretation
US5966536A (en) * 1997-05-28 1999-10-12 Sun Microsystems, Inc. Method and apparatus for generating an optimized target executable computer program using an optimized source executable
US6055211A (en) 1997-07-03 2000-04-25 Microchip Technology Incorporated Force page zero paging scheme for microcontrollers using data random access memory
US6078744A (en) * 1997-08-01 2000-06-20 Sun Microsystems Method and apparatus for improving compiler performance during subsequent compilations of a source program
US5987256A (en) * 1997-09-03 1999-11-16 Enreach Technology, Inc. System and process for object rendering on thin client platforms
US6233733B1 (en) * 1997-09-30 2001-05-15 Sun Microsystems, Inc. Method for generating a Java bytecode data flow graph
US6061520A (en) * 1998-04-07 2000-05-09 Sun Microsystems, Inc. Method and system for performing static initialization
US8127121B2 (en) * 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US6880155B2 (en) * 1999-02-02 2005-04-12 Sun Microsystems, Inc. Token-based linking
US9086931B2 (en) * 2002-11-20 2015-07-21 Purenative Software Corporation System for translating diverse programming languages
US20080282238A1 (en) * 2007-05-10 2008-11-13 Microsoft Corporation Static type for late binding

Also Published As

Publication number Publication date
US20080115117A1 (en) 2008-05-15
BR9713267A (pt) 2004-06-15
DE69714752D1 (de) 2002-09-19
PT932865E (pt) 2002-12-31
JP2000514584A (ja) 2000-10-31
JP3766052B2 (ja) 2006-04-12
US20120254843A1 (en) 2012-10-04
US8881118B2 (en) 2014-11-04
EP0932865B1 (en) 2002-08-14
CN1242086A (zh) 2000-01-19
DE69714752T2 (de) 2003-05-15
EP0932865A1 (en) 1999-08-04
WO1998019237A1 (en) 1998-05-07
AU4911897A (en) 1998-05-22
MY126363A (en) 2006-09-29
ES2184066T3 (es) 2003-04-01
KR100329063B1 (ko) 2002-03-18
US20110126178A1 (en) 2011-05-26
US7117485B2 (en) 2006-10-03
US7818727B2 (en) 2010-10-19
US20030023954A1 (en) 2003-01-30
KR20000052759A (ko) 2000-08-25
AU722463B2 (en) 2000-08-03
US8726247B2 (en) 2014-05-13
US9400668B2 (en) 2016-07-26
DE69714752C5 (de) 2015-08-13
CN1183449C (zh) 2005-01-05
US6308317B1 (en) 2001-10-23
US8881119B2 (en) 2014-11-04
US20140245272A1 (en) 2014-08-28
HK1021762A1 (en) 2000-06-30
JP2003141488A (ja) 2003-05-16
US20120254844A1 (en) 2012-10-04
ZA979479B (en) 1998-05-12

Similar Documents

Publication Publication Date Title
TW476914B (en) Using a high level programming language with a microcontroller
FI117990B (fi) Tiedonvaihtojärjestelmä, joka käsittää kannettavia tietojenkäsittely-yksiköitä
US7191288B2 (en) Method and apparatus for providing an application on a smart card
US7165727B2 (en) Method and apparatus for installing an application onto a smart card
US7720939B1 (en) Method for transforming and verifying downloaded program fragments with data type restrictions and corresponding system
US20050184165A1 (en) Method and appatatus for selecting a desired application on a smart card
US20030146277A1 (en) IC card with capability of having plurality of card managers installed
JP2007226839A (ja) データ構造を記憶するメモリ及び方法
KR20010103747A (ko) 글로벌 데이터 구조를 사용해서 소형 풋프린트 장치의콘텍스트 배리어를 넘어선 액세스를 허용하기 위한 기술
KR20010103748A (ko) 엔트리 포인트 객체를 사용해서 소형 풋프린트 장치의콘텍스트 배리어를 넘어선 액세스를 허용하기 위한 기술
US20040230801A1 (en) Data processing device and method and program of same
TWI259365B (en) Microprocessor circuit for data carriers and method for organizing access to data stored in a memory
US7979685B1 (en) Multiple instruction execution mode resource-constrained device
KR101544731B1 (ko) 실행형 컨텐츠의 분리 실행이 가능한 저장 장치 및 그의 네이티브 실행 환경 구현 장치
KR20010101622A (ko) 런타임 환경 특권을 사용해서 소형 풋프린트 장치의콘텍스트 배리어를 넘어선 액세스를 허용하기 위한 기술
JP2004005679A (ja) コンピュータシステム、メモリ構造、および、プログラムを実行する方法
Husemann Standards in the smart card world
Markantonakis et al. Multi-application smart card platforms and operating systems
Markantonakis The case for a secure multi-application smart card operating system
Cap et al. Extending the data storage capabilities of a Java-Based smartcard
MXPA99003796A (en) Using a high level programming language with a microcontroller
Yakkundi Security Implications of Memory Use on Java Card Platform
Corcoran et al. An open middleware for smart cards
Ma et al. Implementing FISC IC card specification and developing health care application using Java Card

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