US8286883B2 - System and method for updating read-only memory in smart card memory modules - Google Patents

System and method for updating read-only memory in smart card memory modules Download PDF

Info

Publication number
US8286883B2
US8286883B2 US11/938,726 US93872607A US8286883B2 US 8286883 B2 US8286883 B2 US 8286883B2 US 93872607 A US93872607 A US 93872607A US 8286883 B2 US8286883 B2 US 8286883B2
Authority
US
United States
Prior art keywords
read
partition
controller
integrated circuit
data
Prior art date
Legal status (The legal status 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 status listed.)
Active, expires
Application number
US11/938,726
Other versions
US20090121028A1 (en
Inventor
Medhi Asnaashari
Ruchirkumar D. Shah
Sylvain Prevost
Ksheerabdhi Krishna
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
US Bank NA
Original Assignee
Micron Technology 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
Priority to US11/938,726 priority Critical patent/US8286883B2/en
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Assigned to MICRON TECHNOLOGY, INC. reassignment MICRON TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GEMALTO INC.
Assigned to MICRON TECHNOLOGY, INC. reassignment MICRON TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GEMALTO INC.
Assigned to GEMALTO INC. reassignment GEMALTO INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KRISHNA, KSHEERABDHI, PREVOST, SYLVAIN
Assigned to MICRON TECHNOLOGY, INC. reassignment MICRON TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ASNAASHARI, MEHDI, SHAH, RUCHIRKUMAR D.
Assigned to MICRON TECHNOLOGY, INC. reassignment MICRON TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GEMALTO INC.
Priority to PCT/US2008/082312 priority patent/WO2009064634A2/en
Priority to EP08848669.1A priority patent/EP2229653B1/en
Priority to TW097143740A priority patent/TWI426389B/en
Publication of US20090121028A1 publication Critical patent/US20090121028A1/en
Priority to US13/610,492 priority patent/US8746578B2/en
Publication of US8286883B2 publication Critical patent/US8286883B2/en
Application granted granted Critical
Priority to US14/256,634 priority patent/US9088418B2/en
Priority to US14/738,423 priority patent/US9979540B2/en
Assigned to U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT reassignment U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICRON TECHNOLOGY, INC.
Assigned to MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT reassignment MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: MICRON TECHNOLOGY, INC.
Assigned to U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT reassignment U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Assignors: MICRON TECHNOLOGY, INC.
Assigned to JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT reassignment JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICRON SEMICONDUCTOR PRODUCTS, INC., MICRON TECHNOLOGY, INC.
Assigned to MICRON TECHNOLOGY, INC. reassignment MICRON TECHNOLOGY, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Assigned to MICRON TECHNOLOGY, INC. reassignment MICRON TECHNOLOGY, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Assigned to MICRON SEMICONDUCTOR PRODUCTS, INC., MICRON TECHNOLOGY, INC. reassignment MICRON SEMICONDUCTOR PRODUCTS, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1014One time programmable [OTP] memory, e.g. PROM, WORM

Definitions

  • Embodiments of the present invention relate generally to smart-card devices, and, more particularly, to modules containing smart-card devices and memory devices having read-only memory.
  • Chip cards or integrated circuit cards are devices with an embedded integrated circuit, such as a processor and/or limited capacity, non-volatile memory device.
  • the memory device may be an EEPROM (electrically eraseable programmable read-only memory) or the like, and it may store an operating system for the processor as well as smart-card applications, such as electronic banking applications, telephone applications in the case of SIM (subscriber identity module) smart-cards, or the like.
  • the memory device may also store user authentication protocols, personalization data, such as telephone or bank account data or the like, user data, such as financial data or the like, private data, certificates or signatures used in various encryption techniques, etc.
  • User data may be secured using a PIN (personal identification number) or a password as an access control measure. In order to access the protected data stored in the card's memory device, a user must be authenticated by providing the correct PIN or password.
  • FIG. 1 is a block diagram of a prior art integrated circuit, such as an integrated smart-card device 100 , a SIM card, an electronic transaction card, an electronic identification card, a trusted platform Module (“TPM”), or the like, of the prior art.
  • a central processing unit (“CPU”) 105 is embedded in smart-card device 100 and may include a processor 110 and an integrated random access memory (“RAM”) 120 , a non-volatile memory 115 , such as an EEPROM or flash memory, and a read-only memory (“ROM”) 125 .
  • RAM random access memory
  • ROM read-only memory
  • the processor 110 may include a cryptography engine 126 , such as an advanced encryption system (“AES”) encryption engine, as a portion of access control circuitry of CPU 105 , that can perform AES protocols, user authentication protocols, such as Public Key Infrastructure (“PKI”) authentication, encryption and decryption of data, etc.
  • An input/output interface 127 is in communication with the CPU 105 and may be a USB (universal serial bus) interface for connecting directly to a host 118 , such as a personal computer, a contactless interface, an ISO 7816 interface for use with an ISO 7816 card reader, etc.
  • the ROM 125 typically stores the operating system of smart-card device 100 .
  • the smart-card device 100 may also include a file management system 130 that may be used to manage the address space of the non-volatile memory 115 , and a key management system 135 for managing and storing one or more encryption and/or decryption keys, such as one or more AES encryption and/or decryption keys or the like.
  • the non-volatile memory 115 or the key management system 135 may store private keys, certificates that may include public keys as part of public/private key encryption, applications, such as electronic banking applications, telephone applications, etc.
  • the non-volatile memory 115 may further include upgrades or patches for the smart-card operating system.
  • the smart-card device 100 is placed in communication with a host 118 via a card reader, for example.
  • An identifier such as PIN or password, is input into the host 118 by as user.
  • the reader may then pass the user-entered identifier on to the smart-card device 100 for verification so that the smart-card can authenticate the user.
  • the smart-card device 100 then indicates to the host 118 that the user is either authenticated or not authenticated.
  • the smart-card device 100 may be in direct communication with the host 118 via a USB interface, for example. In which case, the identifier is input into the host 118 and is then passed directly to the smart-card device 100 via the USB interface for authentication of the user.
  • the processor 110 After user authentication, the processor 110 either decrypts data from the non-volatile memory 115 for output to the host 118 , or it encrypts data received from the host 118 for storage in the non-volatile memory 115 , e.g., using one or more encryption and/or decryption keys, such as AES keys, from the key management system 135 .
  • AES keys such as AES keys
  • the smart-card device 100 includes the non-volatile memory 115 , the capacity of the memory 115 is normally very limited. Therefore, larger and more costly embedded integrated memory may be needed in order to meet a demand for increased storage capacity for storing additional and/or more complex applications, user data, etc. This could be provided by including a separate non-volatile memory device packaged with, and coupled to, the smart-card device 100 .
  • the memory might be partitioned, and at least one of the partitions might be designated for storing data that should be protected from being overwritten or erased either generally or by specific classes of individuals.
  • the data in this read-only partition might be either instructions that are executed by the processor 110 or data that, for one reason or another, should not be overwritten by a user. For example, if the data were instructions for an application executed by the processor 110 in the smart-card device 105 , inadvertent erasure of the instructions would make the application unusable.
  • the data might be stored in encrypted or unencrypted form. Regardless of the nature of the data, preventing the data from being overwritten might be difficult because the memory device would be separate from the smart-card device 100 .
  • the data in the memory could be protected from being overwritten by making the memory device a dedicated read-only memory (“ROM”) device. However, this approach would prevent the data in the memory device from being updated as needed by someone who is authorized to do so.
  • ROM read-only memory
  • FIG. 1 is a block diagram of one embodiment of a prior art integrated smart-card device.
  • FIG. 2 is a block diagram of a storage device according to an embodiment of the invention in which an integrated smart-card device and a memory device are connected to each other and an access port through a controller.
  • FIG. 3 is a block diagram of a storage device according to another embodiment of the invention in which an integrated smart-card device and a controller that is connected to a memory device are connected to each other and an access port through an input/output interface.
  • FIG. 2 is a block diagram illustration of a storage device 200 , e.g., a smart storage device, according to an embodiment of the invention.
  • the storage device 200 may include a smart-card device 205 having components similar to those of smart-card device 100 , such as access control circuitry and integrated memory, e.g., for authenticating a user to storage device 200 , storing and managing one or more encryption and/or decryption keys, such as AES keys, private keys, etc.
  • smart-card device may be used herein to describe all of the components shown in the smart-card device 205 of FIG. 2 , it will be understood that various components may be omitted without preventing the smart-card device 205 from functioning as a smart-card device.
  • Storage device 200 may include a separate controller 210 , such as a memory controller, e.g., a flash memory controller, through which signals are coupled between an access port 212 and the smart-card device 205 .
  • a separate controller 210 such as a memory controller, e.g., a flash memory controller, through which signals are coupled between an access port 212 and the smart-card device 205 .
  • the smart-card device 205 and the controller 210 may be integrated separately on separate chips disposed on a circuit board.
  • the access port 212 may be connected to a host 260 that may be, for example, a personal computer. Alternatively, the host 260 may be a card reader or some other device that is in communication with a personal computer or other device.
  • the controller 210 includes a cryptography engine 215 , such as cryptography engine, e.g., an AES cryptography engine.
  • the controller 210 may include space management sector system 220 to manage the address space of a non-volatile memory device 250 with which the controller 210 is connected, and it may include an error correction engine 225 , for correcting any data retention errors that may be present in data read from the memory device 250 .
  • the memory device 250 is integrated separately on a separate chip from the smart-card device 205 and the controller 210 , although the memory device 250 , smart-card device 205 and controller 210 are packaged together in, for example, a package similar to a USB flash drive or a credit card.
  • the nature of the access port 212 will depend upon the nature of the other device with which it is used.
  • the access port 212 may be an electronic port, such as a USB connector, a magnetic signal port, such as the type commonly used in access control cards, an optical port, a wireless port, or any other type of port that can allow communication between the storage device 200 and another device.
  • the non-volatile memory device 250 may be a flash memory device, e.g., a NAND flash memory device, and it is connected to the controller 210 via an input/output interface 252 , such as a flash memory interface.
  • the input/output interface 252 may include a combined command/address bus, and a bi-directional data bus, as is typical for flash memory devices.
  • the interface 252 may, of course, use other types of communications links, such as a high-speed link with one or more lanes through which all signals are coupled, or a more conventional memory device bus system including a command bus through which memory commands are coupled from the controller 210 to the memory device 250 , an address bus through which addresses are coupled from the controller 210 to the memory device 250 , and a data bus over which write data are transmitted from the controller 210 to the memory device 250 and read data are received by the controller 210 from the memory device 250 .
  • communications links such as a high-speed link with one or more lanes through which all signals are coupled, or a more conventional memory device bus system including a command bus through which memory commands are coupled from the controller 210 to the memory device 250 , an address bus through which addresses are coupled from the controller 210 to the memory device 250 , and a data bus over which write data are transmitted from the controller 210 to the memory device 250 and read data are received by the controller 210 from the memory device 250 .
  • the memory device 250 may be divided into a plurality of partitions, such as a private data partition 254 , which may or may not be accessible to a user, and a user data partition 256 , which is accessible to the user.
  • the private data partition 254 may include a firmware partition 258 that contains firmware for controlling operations on a memory array of the memory device 250 in response to control and address signals from the controller 210 .
  • the private data portion 254 may include an applications partition 268 that stores smart-card applications, such as electronic transaction applications, electronic banking applications, telephone applications, etc., that might otherwise be stored in the non-volatile memory 115 of the smart-card device 205 .
  • Storing smart-card applications in the memory device 250 instead of in the non-volatile memory 115 facilitates a reduction of the memory requirements of the non-volatile memory 115 and thus the size of the non-volatile memory 115 that would otherwise be required when these applications are stored in the smart-card device 205 .
  • storing smart-card applications in the memory device 250 enables the storage of larger and more sophisticated smart-card applications and the storage of a larger number of applications compared to when smart-card applications are stored in the non-volatile memory 115 of the smart-card device 205 .
  • the applications may be stored in the memory device 250 during fabrication of the memory device 250 .
  • the applications data and/or other data may be encrypted before they are stored in the memory device 250 .
  • the user data partition 256 may be partitioned into an encrypted data partition 262 storing data in encrypted form, and a unencrypted data partition 264 storing data in unencrypted form.
  • the private data partition 254 may include a read-only partition 266 .
  • the data stored in the read-only partition 266 may be application programs that are executed by the host 260 that is connected to the storage device 200 .
  • the application programs include an auto execute command so that they are automatically executed on the host 260 either when the storage device is connected to the host 260 or another device or when a user logs onto an operating system running on the host 260 .
  • the application programs stored in the read-only partition 266 may be executed by the processor 110 in the smart-card device 205 or by some other processor.
  • the data stored in the read-only partition 266 may be data that is used by either the host 260 , the processor 110 in the smart-card device 205 or by some other device either in the storage device 200 or outside the device 200 .
  • the data may specify the characteristics of the memory device such as its storage capacity or file structure, which may be needed by other devices, such as the host or the space management sector system 220 in the controller 210 .
  • the storage device 200 may be necessary to authenticate the storage device 200 , and, if so, to authenticate the storage device 200 at various levels. For example, there may be a user level of authentication that allows access to the user data partitions 256 , and supervisor level of authentication that allows access to the applications partition 268 as well as the user data partitions 256 , and an administrator level that allows access to all levels of the memory device 250 , including the read-only partition 266 .
  • the host 260 to which the storage device 200 is connected is a personal computer or the like, the user may log onto an operating system, such as Microsoft Windows® Vista®. In doing so, the user will enter a PIN, password or other identifier into the host 260 . There may be multiple levels of PIN, password or other identifier corresponding to different levels of authorization.
  • the host 260 then provides the PIN, password or other identifier and a series of specific commands to the controller 210 in the storage device 200 , and the controller passes the PIN, password or other identifier to the smart-card device 205 for verification to authenticate the user.
  • the smart-card device 205 compares the PIN, password or other identifier entered through the host 260 with a corresponding PIN, password or other identifier stored in the non-volatile memory 115 or the key management system 135 of the smart-card device 206 .
  • the smart-card device 205 may then transmit an authentication signal to the host 260 indicating whether or not the identifier is correct and thus whether or not the user is authenticated.
  • the authentication signal ultimately places the smart-card device 205 and the controller 210 in an authorized state. If there are multiple authentication levels, the authentication signal ultimately places the smart-card device 205 and the controller 210 at the authorization level corresponding to the PIN, password or other identifier.
  • an auto-execute application stored in the read-only partition 266 of the memory device 250 is executed by a processor in the terminal or other device.
  • the application causes a display screen or other user interface device to request the entry of a PIN, password or other identifier.
  • a user responds by entering the PIN, password or other identifier into a keyboard, keypad or other user interface device in the terminal or other device.
  • the terminal or other device then sends the PIN, password or other identifier to the smart-card device 205 , which uses it to authenticate the user in the manner described above.
  • the smart-card device 205 may then transmit an authentication signal to the terminal or other device indicating whether or not the identifier is correct and thus whether or not the user is authenticated.
  • the smart-card device 205 may send an encryption key to the cryptography engine 215 so it can encrypt data received from through the access port 212 and stored in the memory device 250 .
  • the data will then be stored in the memory device 250 , such as in the encrypted data partition 264 of the memory device 250 .
  • the cryptography engine 215 may also receive from the smart-card device 205 a decryption key that it will use to decrypt data read the memory device 250 so that the data will be output from the access port 212 in unencrypted form.
  • the cryptography engine 215 thus performs encryption and/or decryption using the one or more encryption and/or decryption keys from smart-card device 205 independently of the cryptography engine 126 of the smart-card device 205 .
  • the storage device 200 As the storage device 200 is used, it may become necessary to update the data stored in the private data partitions 254 of the memory device 250 . For example, it may be necessary to add or update smart-card applications stored in the applications partition 268 and/firmware stored in the firmware partition 258 . It may also be necessary at times to update the data stored in the read-only partition 266 even though the storage device 200 is configured to prevent the data stored in the read-only partition 266 from being overwritten. In one embodiment, the data stored in the read-only partition 266 are updated by the host 260 sending a command uniquely corresponding to the function of updating the read-only partition 266 .
  • the command may be accompanied by a PIN, password or other identifier corresponding to an authorization level that would be required to update the read-only partition 266 .
  • the storage device 200 may be already set to an authorized state.
  • the command sent by the host 260 is received by the controller 210 , which sends it on to the smart-card device 205 .
  • the smart-card device may validate the command by determining if the authorization state of the smart-card device 205 is at a level that would allow the data stored in the read-only partition 266 to be overwritten. If so, the smart-card device will send to the controller 210 a “success” status word indicating that the read only partition 266 should be opened up for writes.
  • the controller 210 responds to the “success” status word by changing the attributes of the read-only partition 266 from “read-only” to “read/write.” Once the controller 210 has changed the attributes of the read-only partition 266 to “read/write,” the partition 266 is open to being written. The storage device 200 can then accept data to be written to the read-only partition 266 from the host 260 or other device. The controller 210 also applies the “success” status word to the host 260 through the access port 212 to indicate to the host that it can proceed with the update of the data stored in the read-only partition 266 .
  • the data may originate from a variety of sources, including a media drive in the host 260 , such as a CD drive, the Internet or some other source.
  • the smart-card device 205 If the smart-card device 205 is not in an authorized state or is not at a sufficient authorization level when the command is received, it will respond by sending a “fail” status word to the controller 210 . The controller 210 will respond to any attempt to write data to the read-only partition 266 with a write protect message, and it will not carry out the command.
  • the host 260 or other device When the host 260 or other device has completed writing data to the read-only partition 266 , the host 260 or other device sends an appropriate command to the controller 210 .
  • the controller 210 passes the command on to the smart-card device 205 and changes the attributes of the read only partition 266 from “read/write” to “read-only.” The controller 210 thus closes the read-only partition 266 to further writing.
  • controller 210 determines that the size of the data to be written to the read-only partition is larger than the read-only partition, the controller 210 will first resize the partition 266 and then proceed.
  • FIG. 3 Another embodiment of a storage device 300 is shown in FIG. 3 .
  • Many of the components used in the storage device 300 are the same or substantially the same as components are used in the smart-card device 200 shown in FIG. 2 . Therefore, in the interest of brevity, an explanation of these components will not be repeated, and the same reference numerals will be used in FIG. 3 .
  • the storage device 300 differs from the storage device 200 by using an input/output (“I/O”) interface 310 to couple the access port 212 to both the smart-card device 205 and the controller 210 instead of using the controller 210 to couple the access port 212 to the smart-card device 205 .
  • I/O input/output
  • the I/O interface 310 is used to route signals between the Smart-Card device 205 and the access port 212 in the same manner that the I/O interface 127 in the storage device 100 of FIG. 1 is used.
  • the I/O interface 310 is also used to couple the cryptography keys and other signals from the smart-card device 205 to the controller 210 .
  • the I/O interface 310 may monitor and couple to the controller 210 signals coupled between the access port 212 and the smart-card device 205 to allow the controller 210 to perform the functions describe above by monitoring the signals coupled through the controller between the access port 212 and the smart-card device.
  • the term “smart-card device” may include a device containing all of the components in the smart-card device 205 .
  • various components may be omitted from a device without preventing the device from being considered a smart-card device.
  • the RAM 120 and the ROM 125 may be omitted, and the data that would normally be stored in both the RAM 120 and the ROM 125 may be stored in the memory device 115 .
  • the file system 130 , key management system 135 and cryptography engine 126 may be omitted.
  • a smart-card device will generally have some type of processor, which need not be a full-features processor such as a microprocessor.
  • a reduced capability processor, such as a controller, may be used in some embodiments.
  • a smart-card device will generally also have some type of non-volatile storage, such as the memory device 115 . However, the storage need not be separate from the processor 110 and may, in some embodiments, be integrated in the processor 110 . Accordingly, the invention is not limited except as by the appended claims.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A storage device contains a smart-card device and a memory device, both connected to a controller. The storage device may be used in the same manner as a conventional smart-card device, or it may be used to store a relatively large amount of data in various partitions. One of these partitions may be a read-only partition that is normally accessible only for read accesses. However, it may sometimes be necessary to update or supplement the data stored in the read-only partition. This is accomplished by a host issuing an appropriate command to the storage device, which may be accompanied by an identifier for an appropriate level of authorization. The controller then changes the attribute of the read-only partition from “read-only” to “read/write” to allow data to be written to the partition. Upon completion, the controller changes the attribute of the partition back to read-only.

Description

TECHNICAL FIELD
Embodiments of the present invention relate generally to smart-card devices, and, more particularly, to modules containing smart-card devices and memory devices having read-only memory.
BACKGROUND OF THE INVENTION
Chip cards or integrated circuit cards, both of which are commonly known as smart-cards, TPM (trusted platform Module) ICs, or the like, are devices with an embedded integrated circuit, such as a processor and/or limited capacity, non-volatile memory device. The memory device may be an EEPROM (electrically eraseable programmable read-only memory) or the like, and it may store an operating system for the processor as well as smart-card applications, such as electronic banking applications, telephone applications in the case of SIM (subscriber identity module) smart-cards, or the like. The memory device may also store user authentication protocols, personalization data, such as telephone or bank account data or the like, user data, such as financial data or the like, private data, certificates or signatures used in various encryption techniques, etc. User data may be secured using a PIN (personal identification number) or a password as an access control measure. In order to access the protected data stored in the card's memory device, a user must be authenticated by providing the correct PIN or password.
FIG. 1 is a block diagram of a prior art integrated circuit, such as an integrated smart-card device 100, a SIM card, an electronic transaction card, an electronic identification card, a trusted platform Module (“TPM”), or the like, of the prior art. A central processing unit (“CPU”) 105 is embedded in smart-card device 100 and may include a processor 110 and an integrated random access memory (“RAM”) 120, a non-volatile memory 115, such as an EEPROM or flash memory, and a read-only memory (“ROM”) 125. The processor 110 may include a cryptography engine 126, such as an advanced encryption system (“AES”) encryption engine, as a portion of access control circuitry of CPU 105, that can perform AES protocols, user authentication protocols, such as Public Key Infrastructure (“PKI”) authentication, encryption and decryption of data, etc. An input/output interface 127 is in communication with the CPU 105 and may be a USB (universal serial bus) interface for connecting directly to a host 118, such as a personal computer, a contactless interface, an ISO 7816 interface for use with an ISO 7816 card reader, etc. The ROM 125 typically stores the operating system of smart-card device 100. The smart-card device 100 may also include a file management system 130 that may be used to manage the address space of the non-volatile memory 115, and a key management system 135 for managing and storing one or more encryption and/or decryption keys, such as one or more AES encryption and/or decryption keys or the like. The non-volatile memory 115 or the key management system 135 may store private keys, certificates that may include public keys as part of public/private key encryption, applications, such as electronic banking applications, telephone applications, etc. The non-volatile memory 115 may further include upgrades or patches for the smart-card operating system.
During operation, the smart-card device 100 is placed in communication with a host 118 via a card reader, for example. An identifier, such as PIN or password, is input into the host 118 by as user. The reader may then pass the user-entered identifier on to the smart-card device 100 for verification so that the smart-card can authenticate the user. The smart-card device 100 then indicates to the host 118 that the user is either authenticated or not authenticated. Alternatively, the smart-card device 100 may be in direct communication with the host 118 via a USB interface, for example. In which case, the identifier is input into the host 118 and is then passed directly to the smart-card device 100 via the USB interface for authentication of the user. After user authentication, the processor 110 either decrypts data from the non-volatile memory 115 for output to the host 118, or it encrypts data received from the host 118 for storage in the non-volatile memory 115, e.g., using one or more encryption and/or decryption keys, such as AES keys, from the key management system 135.
Although the smart-card device 100 includes the non-volatile memory 115, the capacity of the memory 115 is normally very limited. Therefore, larger and more costly embedded integrated memory may be needed in order to meet a demand for increased storage capacity for storing additional and/or more complex applications, user data, etc. This could be provided by including a separate non-volatile memory device packaged with, and coupled to, the smart-card device 100.
If such memory was provided, the memory might be partitioned, and at least one of the partitions might be designated for storing data that should be protected from being overwritten or erased either generally or by specific classes of individuals. The data in this read-only partition might be either instructions that are executed by the processor 110 or data that, for one reason or another, should not be overwritten by a user. For example, if the data were instructions for an application executed by the processor 110 in the smart-card device 105, inadvertent erasure of the instructions would make the application unusable. The data might be stored in encrypted or unencrypted form. Regardless of the nature of the data, preventing the data from being overwritten might be difficult because the memory device would be separate from the smart-card device 100. The data in the memory could be protected from being overwritten by making the memory device a dedicated read-only memory (“ROM”) device. However, this approach would prevent the data in the memory device from being updated as needed by someone who is authorized to do so.
There is therefore a need for a system and method for preventing data stored in an integrated memory device that is packaged with a smart-card device from being overwritten without authorization, and for allowing authorized updating of the read-only data.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of one embodiment of a prior art integrated smart-card device.
FIG. 2 is a block diagram of a storage device according to an embodiment of the invention in which an integrated smart-card device and a memory device are connected to each other and an access port through a controller.
FIG. 3 is a block diagram of a storage device according to another embodiment of the invention in which an integrated smart-card device and a controller that is connected to a memory device are connected to each other and an access port through an input/output interface.
DETAILED DESCRIPTION
FIG. 2 is a block diagram illustration of a storage device 200, e.g., a smart storage device, according to an embodiment of the invention. Many of the components used in the storage device 200 are the same or substantially the same as components are used in the smart-card device 100 shown in FIG. 1. Therefore, in the interest of brevity, an explanation of these components will not be repeated, and the same reference numerals will be used in FIG. 2. The storage device 200 may include a smart-card device 205 having components similar to those of smart-card device 100, such as access control circuitry and integrated memory, e.g., for authenticating a user to storage device 200, storing and managing one or more encryption and/or decryption keys, such as AES keys, private keys, etc. Although the term “smart-card” device may be used herein to describe all of the components shown in the smart-card device 205 of FIG. 2, it will be understood that various components may be omitted without preventing the smart-card device 205 from functioning as a smart-card device.
Storage device 200 may include a separate controller 210, such as a memory controller, e.g., a flash memory controller, through which signals are coupled between an access port 212 and the smart-card device 205. In one embodiment, the smart-card device 205 and the controller 210 may be integrated separately on separate chips disposed on a circuit board. The access port 212 may be connected to a host 260 that may be, for example, a personal computer. Alternatively, the host 260 may be a card reader or some other device that is in communication with a personal computer or other device.
In the storage device 200 embodiment shown in FIG. 2, the controller 210 includes a cryptography engine 215, such as cryptography engine, e.g., an AES cryptography engine. The controller 210 may include space management sector system 220 to manage the address space of a non-volatile memory device 250 with which the controller 210 is connected, and it may include an error correction engine 225, for correcting any data retention errors that may be present in data read from the memory device 250. In one embodiment, the memory device 250 is integrated separately on a separate chip from the smart-card device 205 and the controller 210, although the memory device 250, smart-card device 205 and controller 210 are packaged together in, for example, a package similar to a USB flash drive or a credit card. The nature of the access port 212 will depend upon the nature of the other device with which it is used. The access port 212 may be an electronic port, such as a USB connector, a magnetic signal port, such as the type commonly used in access control cards, an optical port, a wireless port, or any other type of port that can allow communication between the storage device 200 and another device.
The non-volatile memory device 250 may be a flash memory device, e.g., a NAND flash memory device, and it is connected to the controller 210 via an input/output interface 252, such as a flash memory interface. The input/output interface 252 may include a combined command/address bus, and a bi-directional data bus, as is typical for flash memory devices. The interface 252 may, of course, use other types of communications links, such as a high-speed link with one or more lanes through which all signals are coupled, or a more conventional memory device bus system including a command bus through which memory commands are coupled from the controller 210 to the memory device 250, an address bus through which addresses are coupled from the controller 210 to the memory device 250, and a data bus over which write data are transmitted from the controller 210 to the memory device 250 and read data are received by the controller 210 from the memory device 250.
The memory device 250 may be divided into a plurality of partitions, such as a private data partition 254, which may or may not be accessible to a user, and a user data partition 256, which is accessible to the user. In one embodiment, the private data partition 254 may include a firmware partition 258 that contains firmware for controlling operations on a memory array of the memory device 250 in response to control and address signals from the controller 210. In another embodiment, the private data portion 254 may include an applications partition 268 that stores smart-card applications, such as electronic transaction applications, electronic banking applications, telephone applications, etc., that might otherwise be stored in the non-volatile memory 115 of the smart-card device 205. Storing smart-card applications in the memory device 250 instead of in the non-volatile memory 115 facilitates a reduction of the memory requirements of the non-volatile memory 115 and thus the size of the non-volatile memory 115 that would otherwise be required when these applications are stored in the smart-card device 205. In addition, storing smart-card applications in the memory device 250 enables the storage of larger and more sophisticated smart-card applications and the storage of a larger number of applications compared to when smart-card applications are stored in the non-volatile memory 115 of the smart-card device 205. In one embodiment, the applications may be stored in the memory device 250 during fabrication of the memory device 250. In another embodiment, the applications data and/or other data may be encrypted before they are stored in the memory device 250. For this reason, the user data partition 256 may be partitioned into an encrypted data partition 262 storing data in encrypted form, and a unencrypted data partition 264 storing data in unencrypted form. Finally, the private data partition 254 may include a read-only partition 266.
The data stored in the read-only partition 266 may be application programs that are executed by the host 260 that is connected to the storage device 200. The application programs include an auto execute command so that they are automatically executed on the host 260 either when the storage device is connected to the host 260 or another device or when a user logs onto an operating system running on the host 260. Alternatively or in addition, the application programs stored in the read-only partition 266 may be executed by the processor 110 in the smart-card device 205 or by some other processor. Finally, the data stored in the read-only partition 266 may be data that is used by either the host 260, the processor 110 in the smart-card device 205 or by some other device either in the storage device 200 or outside the device 200. For example, the data may specify the characteristics of the memory device such as its storage capacity or file structure, which may be needed by other devices, such as the host or the space management sector system 220 in the controller 210.
During use, it may be necessary to authenticate the storage device 200, and, if so, to authenticate the storage device 200 at various levels. For example, there may be a user level of authentication that allows access to the user data partitions 256, and supervisor level of authentication that allows access to the applications partition 268 as well as the user data partitions 256, and an administrator level that allows access to all levels of the memory device 250, including the read-only partition 266.
There are basically two ways to authenticate the storage device 200. If the host 260 to which the storage device 200 is connected is a personal computer or the like, the user may log onto an operating system, such as Microsoft Windows® Vista®. In doing so, the user will enter a PIN, password or other identifier into the host 260. There may be multiple levels of PIN, password or other identifier corresponding to different levels of authorization. The host 260 then provides the PIN, password or other identifier and a series of specific commands to the controller 210 in the storage device 200, and the controller passes the PIN, password or other identifier to the smart-card device 205 for verification to authenticate the user. The smart-card device 205 compares the PIN, password or other identifier entered through the host 260 with a corresponding PIN, password or other identifier stored in the non-volatile memory 115 or the key management system 135 of the smart-card device 206. The smart-card device 205 may then transmit an authentication signal to the host 260 indicating whether or not the identifier is correct and thus whether or not the user is authenticated. The authentication signal ultimately places the smart-card device 205 and the controller 210 in an authorized state. If there are multiple authentication levels, the authentication signal ultimately places the smart-card device 205 and the controller 210 at the authorization level corresponding to the PIN, password or other identifier.
As mentioned above, there is a way to authenticate the storage device 200 other than by logging onto an operating system running on the host 260. The other way is used when the storage device 200 is placed in communication with a terminal or other device. In such case, an auto-execute application stored in the read-only partition 266 of the memory device 250 is executed by a processor in the terminal or other device. The application causes a display screen or other user interface device to request the entry of a PIN, password or other identifier. A user responds by entering the PIN, password or other identifier into a keyboard, keypad or other user interface device in the terminal or other device. The terminal or other device then sends the PIN, password or other identifier to the smart-card device 205, which uses it to authenticate the user in the manner described above. The smart-card device 205 may then transmit an authentication signal to the terminal or other device indicating whether or not the identifier is correct and thus whether or not the user is authenticated.
Once the smart-card device 205 and the controller 210 have been authenticated, the smart-card device 205 may send an encryption key to the cryptography engine 215 so it can encrypt data received from through the access port 212 and stored in the memory device 250. The data will then be stored in the memory device 250, such as in the encrypted data partition 264 of the memory device 250. The cryptography engine 215 may also receive from the smart-card device 205 a decryption key that it will use to decrypt data read the memory device 250 so that the data will be output from the access port 212 in unencrypted form. The cryptography engine 215 thus performs encryption and/or decryption using the one or more encryption and/or decryption keys from smart-card device 205 independently of the cryptography engine 126 of the smart-card device 205.
As the storage device 200 is used, it may become necessary to update the data stored in the private data partitions 254 of the memory device 250. For example, it may be necessary to add or update smart-card applications stored in the applications partition 268 and/firmware stored in the firmware partition 258. It may also be necessary at times to update the data stored in the read-only partition 266 even though the storage device 200 is configured to prevent the data stored in the read-only partition 266 from being overwritten. In one embodiment, the data stored in the read-only partition 266 are updated by the host 260 sending a command uniquely corresponding to the function of updating the read-only partition 266. The command may be accompanied by a PIN, password or other identifier corresponding to an authorization level that would be required to update the read-only partition 266. Alternatively, the storage device 200 may be already set to an authorized state. The command sent by the host 260 is received by the controller 210, which sends it on to the smart-card device 205. The smart-card device may validate the command by determining if the authorization state of the smart-card device 205 is at a level that would allow the data stored in the read-only partition 266 to be overwritten. If so, the smart-card device will send to the controller 210 a “success” status word indicating that the read only partition 266 should be opened up for writes. The controller 210 responds to the “success” status word by changing the attributes of the read-only partition 266 from “read-only” to “read/write.” Once the controller 210 has changed the attributes of the read-only partition 266 to “read/write,” the partition 266 is open to being written. The storage device 200 can then accept data to be written to the read-only partition 266 from the host 260 or other device. The controller 210 also applies the “success” status word to the host 260 through the access port 212 to indicate to the host that it can proceed with the update of the data stored in the read-only partition 266. The data may originate from a variety of sources, including a media drive in the host 260, such as a CD drive, the Internet or some other source.
If the smart-card device 205 is not in an authorized state or is not at a sufficient authorization level when the command is received, it will respond by sending a “fail” status word to the controller 210. The controller 210 will respond to any attempt to write data to the read-only partition 266 with a write protect message, and it will not carry out the command.
When the host 260 or other device has completed writing data to the read-only partition 266, the host 260 or other device sends an appropriate command to the controller 210. The controller 210 passes the command on to the smart-card device 205 and changes the attributes of the read only partition 266 from “read/write” to “read-only.” The controller 210 thus closes the read-only partition 266 to further writing.
If the controller 210 determines that the size of the data to be written to the read-only partition is larger than the read-only partition, the controller 210 will first resize the partition 266 and then proceed.
Another embodiment of a storage device 300 is shown in FIG. 3. Many of the components used in the storage device 300 are the same or substantially the same as components are used in the smart-card device 200 shown in FIG. 2. Therefore, in the interest of brevity, an explanation of these components will not be repeated, and the same reference numerals will be used in FIG. 3. The storage device 300 differs from the storage device 200 by using an input/output (“I/O”) interface 310 to couple the access port 212 to both the smart-card device 205 and the controller 210 instead of using the controller 210 to couple the access port 212 to the smart-card device 205. The I/O interface 310 is used to route signals between the Smart-Card device 205 and the access port 212 in the same manner that the I/O interface 127 in the storage device 100 of FIG. 1 is used. The I/O interface 310 is also used to couple the cryptography keys and other signals from the smart-card device 205 to the controller 210. The I/O interface 310 may monitor and couple to the controller 210 signals coupled between the access port 212 and the smart-card device 205 to allow the controller 210 to perform the functions describe above by monitoring the signals coupled through the controller between the access port 212 and the smart-card device.
From the foregoing it will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. For example, the term “smart-card device” may include a device containing all of the components in the smart-card device 205. However, various components may be omitted from a device without preventing the device from being considered a smart-card device. For example, the RAM 120 and the ROM 125 may be omitted, and the data that would normally be stored in both the RAM 120 and the ROM 125 may be stored in the memory device 115. Additionally, the file system 130, key management system 135 and cryptography engine 126 may be omitted. A smart-card device will generally have some type of processor, which need not be a full-features processor such as a microprocessor. A reduced capability processor, such as a controller, may be used in some embodiments. A smart-card device will generally also have some type of non-volatile storage, such as the memory device 115. However, the storage need not be separate from the processor 110 and may, in some embodiments, be integrated in the processor 110. Accordingly, the invention is not limited except as by the appended claims.

Claims (24)

1. A storage device, comprising:
an access port;
a non-volatile memory device configured to store data, the memory device partitioned into at least one read-only partition;
a controller coupled to the access port and to the non-volatile memory device, the controller configured to receive read data from the non-volatile memory device and provide the read data to the access port, and to receive write data from the access port and provide the write data to the non-volatile memory device, the controller further configured to receive status words, including a status word indicating that the read-only partition should be opened to writing and to respond by changing the attribute of the read-only partition from read-only to read/write and provide the status word to the access port indicating the attribute of the read-only partition has changed from read-only to read/write, the controller further configured to execute a plurality of write commands on the read-only partition when the attribute of the read-only partition is read/write, the controller further configured to determine the size of the read-only partition and the size of any data that are to be written to the read-only partition, the controller further configured to apply a resizing command to the memory device to resize the partition if the controller determines that the size of any data that are to be written to the read-only partition is larger than the size of the of the read-only partition; and
a first integrated circuit device coupled to the controller and having integrated therein a processor that may be controlled only internally from within the first integrated circuit device, a cryptography engine and a data storage device, the first integrated circuit device physically and electrically tamper-proof, and configured to receive commands coupled by the controller from the access port to the first integrated circuit device, the commands including a command to open the read-only partition to writing, the first integrated circuit device further configured to respond to the command to open the read-only partition to writing by determining if the first integrated circuit device is in an authorized state, and, if so, to send to the controller the status word indicating that the read-only partition should be opened to writing.
2. The storage device of claim 1 wherein the first integrated circuit device is configured to determine if it is in an authorized state by receiving an identifier applied to the access port and by comparing the received identifier to an identifier stored in the first integrated circuit device.
3. The storage device of claim 2 wherein the first integrated circuit device stores a plurality of identifiers corresponding to respective authorization levels, and wherein the first integrated circuit device is configured to send the status word to the controller indicating that the read-only partition should be opened to writing responsive to receiving an identifier comparing the received identifier to each of the identifiers stored in the first integrated circuit device to determine that the identifier corresponds to a sufficient authorization level.
4. The storage device of claim 2 wherein the first integrated circuit device is configured to accept and process the identifier when received with the command to open the read-only partition to writing.
5. The storage device of claim 1 wherein the controller is further configured to close the read-only partition to writing by changing the attribute of the read-only partition from read/write back to read-only responsive to the storage device receiving a status word from the first integrated circuit device indicating that writing to the read-only partition has been completed.
6. The storage device of claim 1 wherein the controller is configured to respond to command to open the read-only partition to writing with a write protect message if it either has not received from the first integrated circuit device the status word indicating that the read-only partition should be opened to writing or it has received the status word indicating that writing to the read-only partition has been completed.
7. The storage device of claim 1 wherein the data stored in the read-only partition of the memory device comprises application instructions for execution by the processor in the first integrated circuit device.
8. A method of writing data to a read only partition in a memory device packaged with a physically and electrically tamper-proof integrated circuit device having integrated therein a processor controlled internally from within the integrated circuit device, a cryptography engine, and a data storage device, the memory device also packaged with a controller coupled to the integrated circuit device, the memory device, and an access port, the method comprising:
receiving a command at the access port to open the read-only partition of the memory device to writing;
sending the command from the access port to the controller;
sending the command from the controller to the integrated circuit device;
determining in the integrated circuit device if the integrated circuit device is in an authorized state;
if the determination is made that the integrated circuit device is in an authorized state, sending a success status word from the integrated circuit device to the controller;
determining in the controller if the size of the read-only partition available for storing data is large enough to store all of the data that are to be written to the read-only partition;
if the determination is made that the size of the read-only partition available for storing data is not large enough to store all of the data that are to be written to the read-only partition, sending a resizing command from the controller to resize the read-only partition to a size that is large enough to store all of the data that are to be written to the read-only partition;
in the controller, changing the attribute of the read-only partition from read-only to read/write in response to the success status word;
providing the success status word from the controller to the access port; and
if the attribute of the read-only partition is read/write, executing a plurality of write commands to the read-only partition.
9. The method of claim 8 wherein the act of determining if the integrated circuit device is in an authorized state comprises:
receiving an identifier applied to the access port;
sending the identifier from the access port to the integrated circuit device; and
within the integrated circuit device, comparing the received identifier to an identifier stored in the integrated circuit device.
10. The method of claim 9 wherein the act of comparing the received identifier to an identifier stored in the integrated circuit device comprises comparing the received identifier to a plurality of identifiers stored in the integrated circuit device, each of the identifiers corresponding to a respective authorization level.
11. The method of claim 9 wherein the act of receiving an identifier applied to the access port comprises receiving an identifier applied to the access port with the command to open the read-only partition of the memory device to writing.
12. The method of claim 8, further comprising sending the success status word from the controller to the access port.
13. The method of claim 8, further comprising:
receiving a command at the controller indicating that writing to the read-only partition has been completed; and
in the controller, changing the attribute of the read-only partition from read/write back to read-only in response to the command indicating that writing to the read-only partition has been completed.
14. The method of claim 13, further comprising sending the command indicating that writing to the read-only partition has been completed from the controller to the integrated circuit device.
15. The method of claim 8, further comprising sending a fail status word from the integrated circuit device to the controller if the determination is made that the integrated circuit device is not in an authorized state.
16. The method of claim 15, further comprising:
receiving at the access port a command to write data to the read-only partition of the memory device;
sending the command to write data to the read-only partition from the access port to the controller; and
in the controller, sending a write protect message from the controller to the access port in response to the command to write data to the read-only partition if controller has received the fail status word from the integrated circuit device.
17. A method of accessing a storage device using a host, the storage device including a physically and electrically tamper-proof integrated circuit smart-card device having a processor controlled internally within the integrated circuit smart-card device and a cryptography engine, the storage device further including a memory device having a read-only partition, and a controller coupled to the smart-card device and the memory device, the method comprising:
sending a command from the host to the controller to open the read-only partition of the memory device to writing;
sending the command from the controller to the integrated circuit smart-card device;
in the integrated circuit smart-card device, determining if the storage device is in an authorized state;
if the determination is made that the storage device is in an authorized state, sending a success status word from the integrated circuit smart-card device to the controller;
in the storage device, determining if the size of any data that are to be written to the read-only partition is larger than the available size of the read-only partition;
if the determination is made that the size of any data that are to be written to the read-only partition is larger than the size of the read-only partition, automatically resizing the read-only partition to a size that is at least as large as the size of any data that are to be written to the read-only partition;
in response to the success status word, changing the attribute of the read-only partition from read-only to read/write in the controller;
providing the success status word to the host indicating data may be written to the read-only partition by the host; and
if the attribute of the read-only partition is read/write, executing a plurality of write commands to the read-only partition.
18. The method of claim 17 wherein the act of determining if the storage device is in an authorized state comprises:
receiving an identifier at the integrated circuit smart-card device; and
within the integrated circuit smart-card device, comparing the received identifier to an identifier stored in the integrated circuit smart-card device.
19. The method of claim 18, further comprising storing a plurality of identifiers in the integrated circuit smart-card device, each of the identifiers corresponding to a respective authorization level, and wherein the act of comparing the received identifier to an identifier stored in the processor-based device comprises comparing the received identifier to the plurality of identifiers stored in the integrated circuit smart-card device.
20. The method of claim 17, further comprising:
in response to the host receiving the success status word, sending a request to write data to the read-only partition from the host to the controller, the request including write data; and
in response to the request to write data to the read-only partition, sending the write data from the controller to the memory device.
21. The method of claim 20 wherein the write data comprises data received by the host from the Internet.
22. The method of claim 20 wherein the write data comprises data received from a removable media drive in the host.
23. The method of claim 20, further comprising:
when the host has completed sending write data to the controller, sending a command from the host to the controller indicating that writing to the read-only partition has been completed; and
in the controller, changing the attribute of the read-only partition from read/write back to read-only in response to the command indicating that writing to the read-only partition has been completed.
24. The method of claim 17, further comprising:
sending a fail status word from the integrated circuit smart-card device to the controller if the determination is made that the integrated circuit smart-card device is not in an authorized state;
sending a request to write data to the read-only partition from the host to the controller, the request including write data; and
in response to the request to write data, sending a write protect message from the controller to the host and ignoring the request if the controller has received the fail status word.
US11/938,726 2007-11-12 2007-11-12 System and method for updating read-only memory in smart card memory modules Active 2028-06-02 US8286883B2 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US11/938,726 US8286883B2 (en) 2007-11-12 2007-11-12 System and method for updating read-only memory in smart card memory modules
PCT/US2008/082312 WO2009064634A2 (en) 2007-11-12 2008-11-04 System and method for updating read-only memory in smart card memory modules
EP08848669.1A EP2229653B1 (en) 2007-11-12 2008-11-04 System and method for updating read-only memory in smart card memory modules
TW097143740A TWI426389B (en) 2007-11-12 2008-11-12 System and method for updating read-only memory in smart card memory modules
US13/610,492 US8746578B2 (en) 2007-11-12 2012-09-11 System and method for updating read-only memory in smart card memory modules
US14/256,634 US9088418B2 (en) 2007-11-12 2014-04-18 System and method for updating read-only memory in smart card memory modules
US14/738,423 US9979540B2 (en) 2007-11-12 2015-06-12 System and method for updating read-only memory in smart card memory modules

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/938,726 US8286883B2 (en) 2007-11-12 2007-11-12 System and method for updating read-only memory in smart card memory modules

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/610,492 Continuation US8746578B2 (en) 2007-11-12 2012-09-11 System and method for updating read-only memory in smart card memory modules

Publications (2)

Publication Number Publication Date
US20090121028A1 US20090121028A1 (en) 2009-05-14
US8286883B2 true US8286883B2 (en) 2012-10-16

Family

ID=40622802

Family Applications (4)

Application Number Title Priority Date Filing Date
US11/938,726 Active 2028-06-02 US8286883B2 (en) 2007-11-12 2007-11-12 System and method for updating read-only memory in smart card memory modules
US13/610,492 Active US8746578B2 (en) 2007-11-12 2012-09-11 System and method for updating read-only memory in smart card memory modules
US14/256,634 Active US9088418B2 (en) 2007-11-12 2014-04-18 System and method for updating read-only memory in smart card memory modules
US14/738,423 Active US9979540B2 (en) 2007-11-12 2015-06-12 System and method for updating read-only memory in smart card memory modules

Family Applications After (3)

Application Number Title Priority Date Filing Date
US13/610,492 Active US8746578B2 (en) 2007-11-12 2012-09-11 System and method for updating read-only memory in smart card memory modules
US14/256,634 Active US9088418B2 (en) 2007-11-12 2014-04-18 System and method for updating read-only memory in smart card memory modules
US14/738,423 Active US9979540B2 (en) 2007-11-12 2015-06-12 System and method for updating read-only memory in smart card memory modules

Country Status (4)

Country Link
US (4) US8286883B2 (en)
EP (1) EP2229653B1 (en)
TW (1) TWI426389B (en)
WO (1) WO2009064634A2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130010519A1 (en) * 2007-11-12 2013-01-10 Micron Technology, Inc. System and method for updating read-only memory in smart card memory modules
US8930711B2 (en) 2007-11-12 2015-01-06 Micron Technology, Inc. Critical security parameter generation and exchange system and method for smart-card memory modules
US9111045B2 (en) 2007-11-12 2015-08-18 Micron Technology, Inc. Intelligent controller system and method for smart card memory modules
US9529734B2 (en) 2007-11-12 2016-12-27 Micron Technology, Inc. Smart storage device
US20190278502A1 (en) * 2017-06-28 2019-09-12 Toshiba Memory Corporation Memory system and method for controlling nonvolatile memory
US20210092589A1 (en) * 2018-02-26 2021-03-25 Telefonaktiebolaget Lm Ericsson (Publ) Methods, devices, and computer programs for provisioning or controlling operator profiles in terminals
US11030124B2 (en) * 2019-11-07 2021-06-08 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems
US11132470B2 (en) * 2019-11-07 2021-09-28 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems
US11182308B2 (en) 2019-11-07 2021-11-23 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems
US11494522B2 (en) 2019-11-07 2022-11-08 Micron Technology, Inc. Semiconductor device with self-lock security and associated methods and systems

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898477B2 (en) * 2007-11-12 2014-11-25 Gemalto Inc. System and method for secure firmware update of a secure token having a flash memory controller and a smart card
US8307131B2 (en) * 2007-11-12 2012-11-06 Gemalto Sa System and method for drive resizing and partition size exchange between a flash memory controller and a smart card
US7979717B2 (en) * 2008-04-09 2011-07-12 Greenliant Llc Secure removable card having a plurality of integrated circuit dies
US8370645B2 (en) * 2009-03-03 2013-02-05 Micron Technology, Inc. Protection of security parameters in storage devices
US8328104B2 (en) * 2009-03-30 2012-12-11 Condel International Technologies Inc. Storage device management systems and methods
US8225062B2 (en) * 2009-10-26 2012-07-17 Microsoft Corporation Controlling memory visibility
US8276188B2 (en) * 2009-12-03 2012-09-25 Condel International Technologies Inc. Systems and methods for managing storage devices
CN102713941A (en) * 2010-02-10 2012-10-03 华为终端有限公司 Method and apparatus for partitioning SD card, SD card and terminal devices
WO2012019238A1 (en) * 2010-08-13 2012-02-16 Jason Dean Hart System and method for converging rfid building security with pki techniques
US20130024602A1 (en) * 2011-07-18 2013-01-24 Dell Products L.P. Universal Storage for Information Handling Systems
WO2013110075A1 (en) * 2012-01-20 2013-07-25 Identive Group, Inc. Proximity devices and systems that support multiple formats
FR2993682B1 (en) * 2012-07-20 2014-08-22 Oberthur Technologies UPDATE OF AN OPERATING SYSTEM FOR SECURE ELEMENT
US9747451B2 (en) * 2013-04-15 2017-08-29 Twitter, Inc. File system modification
CN104238953A (en) * 2013-06-13 2014-12-24 中兴通讯股份有限公司 Direct table storage method and device
US9772953B2 (en) * 2014-02-03 2017-09-26 Samsung Electronics Co., Ltd. Methods and apparatus for protecting operating system data
KR20150100075A (en) * 2014-02-24 2015-09-02 삼성전자주식회사 Method of updating firmware of memory device including memory and controller
US9654465B2 (en) * 2015-10-01 2017-05-16 Sprint Communications Company L.P. Software-defined network threat control
CN108073351B (en) * 2016-11-11 2021-06-15 阿里巴巴集团控股有限公司 Data storage method of nonvolatile storage space in chip and credible chip
US20200004951A1 (en) * 2017-03-03 2020-01-02 Gopc Pty Ltd Computing systems and methods
US11720677B2 (en) * 2017-05-11 2023-08-08 Antique Books, Inc. Attached storage device for enhanced data and program protection
US10768831B2 (en) * 2018-12-28 2020-09-08 Micron Technology, Inc. Non-persistent unlock for secure memory
CN110321302B (en) * 2019-06-28 2021-10-01 兆讯恒达科技股份有限公司 Embedded system data storage area management method
JP7330157B2 (en) * 2020-09-18 2023-08-21 株式会社東芝 Information processing device and update processing method
CN116069375A (en) * 2021-06-15 2023-05-05 荣耀终端有限公司 Operating system data updating method, device and storage medium
CN116700740B (en) * 2022-09-29 2024-06-04 荣耀终端有限公司 Software repairing method and related device

Citations (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62236055A (en) 1986-04-07 1987-10-16 Matsushita Electric Ind Co Ltd Eeprom secrecy holding circuit
JPH08167013A (en) 1994-12-15 1996-06-25 Mitsubishi Electric Corp Ic card
US5901311A (en) * 1996-12-18 1999-05-04 Intel Corporation Access key protection for computer system data
US20010041593A1 (en) 2000-05-10 2001-11-15 Nec Corporation Mobile communication device and data concealing method
US6330653B1 (en) 1998-05-01 2001-12-11 Powerquest Corporation Manipulation of virtual and live computer storage device partitions
JP2002229861A (en) 2001-02-07 2002-08-16 Hitachi Ltd Recording device with copyright protecting function
US20030154355A1 (en) * 2002-01-24 2003-08-14 Xtec, Incorporated Methods and apparatus for providing a memory challenge and response
US20040059916A1 (en) * 2002-09-11 2004-03-25 Nagamasa Mizushima Memory card
US20040088562A1 (en) 2002-10-31 2004-05-06 Schlumberger Malco, Inc. Authentication framework for smart cards
US20040103288A1 (en) * 2002-11-27 2004-05-27 M-Systems Flash Disk Pioneers Ltd. Apparatus and method for securing data on a portable storage device
WO2004055680A1 (en) 2002-12-16 2004-07-01 Matsushita Electric Industrial Co., Ltd. Memory device and electronic device using the same
US20040143730A1 (en) 2001-06-15 2004-07-22 Wu Wen Universal secure messaging for remote security tokens
US20040149827A1 (en) 2002-08-09 2004-08-05 Patrick Zuili Smartcard authentication and authorization unit attachable to a PDA, computer, cell phone, or the like
US20040232247A1 (en) 2003-03-06 2004-11-25 Renesas Technology Corp. Storage device
US20040255145A1 (en) * 2003-05-06 2004-12-16 Jerry Chow Memory protection systems and methods for writable memory
US20050035200A1 (en) 2003-08-11 2005-02-17 Colin Hendrick Secure smartcard sleeve
US20050086471A1 (en) 2003-10-20 2005-04-21 Spencer Andrew M. Removable information storage device that includes a master encryption key and encryption keys
EP1549020A2 (en) 2003-12-22 2005-06-29 Activcard Inc. Entry control system
US20060043202A1 (en) 2004-08-26 2006-03-02 Kyoung-Hun Kim Method of multi-interfacing between smart card and memory card, and multi-interface card
US20060117190A1 (en) * 2004-11-29 2006-06-01 Sony Corporation Data storage apparatus, data processing method, recording medium, and program
US20060138217A1 (en) 2002-04-18 2006-06-29 Connelly Paul J Smart card handling system
US20060174352A1 (en) 2001-07-25 2006-08-03 Seagate Technology Llc Method and apparatus for providing versatile services on storage devices
US20060184806A1 (en) 2005-02-16 2006-08-17 Eric Luttmann USB secure storage apparatus and method
US20070002612A1 (en) * 2005-06-29 2007-01-04 Chang Robert C Method and system for managing partitions in a storage device
US20070043667A1 (en) 2005-09-08 2007-02-22 Bahman Qawami Method for secure storage and delivery of media content
US20070113097A1 (en) 2005-11-16 2007-05-17 Phison Electronics Corp. [storage media]
WO2008008326A2 (en) 2006-07-10 2008-01-17 Wms Gaming Inc. Partition management in a wagering game system
US20080052532A1 (en) 2006-08-25 2008-02-28 Texas Instruments Incorporated Methods and systems involving secure ram
US7370166B1 (en) 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
US20080162784A1 (en) * 2006-12-29 2008-07-03 Spansion Llc Systems and methods for access violation management of secured memory
US20090121029A1 (en) 2007-11-12 2009-05-14 Micron Technology, Inc. Intelligent controller system and method for smart card memory modules
US20090254715A1 (en) * 2005-03-23 2009-10-08 Mtekvision Co., Ltd. Variable partitioned blocks in shared memory
US20100023747A1 (en) 2007-11-12 2010-01-28 Micron Technology, Inc. Critical Security Parameter Generation and Exchange System and Method for Smart-Card Memory Modules
US20100229004A1 (en) 2009-03-03 2010-09-09 Micron Technology, Inc. Protection of security parameters in storage devices
US7953985B2 (en) 2005-05-09 2011-05-31 Panasonic Corporation Memory card, application program holding method, and holding program

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU1265195A (en) 1993-12-06 1995-06-27 Telequip Corporation Secure computer memory card
US6609198B1 (en) 1999-08-05 2003-08-19 Sun Microsystems, Inc. Log-on service providing credential level change without loss of session continuity
US6766960B2 (en) * 2001-10-17 2004-07-27 Kilopass Technologies, Inc. Smart card having memory using a breakdown phenomena in an ultra-thin dielectric
US7063262B2 (en) 2003-08-29 2006-06-20 Motorola, Inc. Method for provisioning and product
US7529807B1 (en) * 2004-05-05 2009-05-05 Sun Microsystems, Inc. Common storage in scalable computer systems
FR2870412B1 (en) 2004-05-13 2006-09-15 Gemplus Sa TRANSFER OF DATA BETWEEN TWO CHIP CARDS
US7222213B2 (en) 2004-05-17 2007-05-22 Micron Technology, Inc. System and method for communicating the synchronization status of memory modules during initialization of the memory modules
US7177190B2 (en) * 2004-11-26 2007-02-13 Aplus Flash Technology, Inc. Combination nonvolatile integrated memory system using a universal technology most suitable for high-density, high-flexibility and high-security sim-card, smart-card and e-passport applications
US20060136217A1 (en) 2004-11-27 2006-06-22 Mullin Sheila A Portable speech and language video monitor
US8504849B2 (en) 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
US20060242151A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Control structure for versatile content control
US20060198515A1 (en) 2005-03-03 2006-09-07 Seagate Technology Llc Secure disc drive electronics implementation
US7945788B2 (en) 2005-05-03 2011-05-17 Strong Bear L.L.C. Removable drive with data encryption
JP2007004522A (en) 2005-06-24 2007-01-11 Renesas Technology Corp Storage device
US20070106581A1 (en) 2005-11-08 2007-05-10 Jeffrey Mitchell Systems and methods for a financial services reward program
US7594603B2 (en) 2006-03-29 2009-09-29 Stmicroelectronics, Inc. System and method for sensing biometric and non-biometric smart card devices
JP4915141B2 (en) 2006-05-29 2012-04-11 富士通株式会社 Mobile terminal device
FR2923047B1 (en) 2007-10-31 2012-12-21 Sagem Securite METHOD FOR MANAGING ACCESS RIGHTS IN A CHIP CARD
US8286883B2 (en) 2007-11-12 2012-10-16 Micron Technology, Inc. System and method for updating read-only memory in smart card memory modules
US8762742B2 (en) 2011-05-16 2014-06-24 Broadcom Corporation Security architecture for using host memory in the design of a secure element
CN102307188A (en) 2011-08-17 2012-01-04 东信和平智能卡股份有限公司 Subscriber identity module (SIM)-based universal serial bus (USB) key encryption/decryption system and encryption/decryption method

Patent Citations (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62236055A (en) 1986-04-07 1987-10-16 Matsushita Electric Ind Co Ltd Eeprom secrecy holding circuit
JPH08167013A (en) 1994-12-15 1996-06-25 Mitsubishi Electric Corp Ic card
US5901311A (en) * 1996-12-18 1999-05-04 Intel Corporation Access key protection for computer system data
US6330653B1 (en) 1998-05-01 2001-12-11 Powerquest Corporation Manipulation of virtual and live computer storage device partitions
US20010041593A1 (en) 2000-05-10 2001-11-15 Nec Corporation Mobile communication device and data concealing method
JP2002229861A (en) 2001-02-07 2002-08-16 Hitachi Ltd Recording device with copyright protecting function
US20040143730A1 (en) 2001-06-15 2004-07-22 Wu Wen Universal secure messaging for remote security tokens
US20060174352A1 (en) 2001-07-25 2006-08-03 Seagate Technology Llc Method and apparatus for providing versatile services on storage devices
US20030154355A1 (en) * 2002-01-24 2003-08-14 Xtec, Incorporated Methods and apparatus for providing a memory challenge and response
US20060138217A1 (en) 2002-04-18 2006-06-29 Connelly Paul J Smart card handling system
US20040149827A1 (en) 2002-08-09 2004-08-05 Patrick Zuili Smartcard authentication and authorization unit attachable to a PDA, computer, cell phone, or the like
US20040059916A1 (en) * 2002-09-11 2004-03-25 Nagamasa Mizushima Memory card
US20040088562A1 (en) 2002-10-31 2004-05-06 Schlumberger Malco, Inc. Authentication framework for smart cards
US20040103288A1 (en) * 2002-11-27 2004-05-27 M-Systems Flash Disk Pioneers Ltd. Apparatus and method for securing data on a portable storage device
WO2004055680A1 (en) 2002-12-16 2004-07-01 Matsushita Electric Industrial Co., Ltd. Memory device and electronic device using the same
EP1577780A1 (en) 2002-12-16 2005-09-21 Matsushita Electric Industrial Co., Ltd. Memory device and electronic device using the same
US20060126422A1 (en) 2002-12-16 2006-06-15 Matsushita Electric Industrial Co., Ltd. Memory device and electronic device using the same
US20040232247A1 (en) 2003-03-06 2004-11-25 Renesas Technology Corp. Storage device
US20040255145A1 (en) * 2003-05-06 2004-12-16 Jerry Chow Memory protection systems and methods for writable memory
US20050035200A1 (en) 2003-08-11 2005-02-17 Colin Hendrick Secure smartcard sleeve
US20050086471A1 (en) 2003-10-20 2005-04-21 Spencer Andrew M. Removable information storage device that includes a master encryption key and encryption keys
EP1549020A2 (en) 2003-12-22 2005-06-29 Activcard Inc. Entry control system
US7370166B1 (en) 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
US20060043202A1 (en) 2004-08-26 2006-03-02 Kyoung-Hun Kim Method of multi-interfacing between smart card and memory card, and multi-interface card
US20060117190A1 (en) * 2004-11-29 2006-06-01 Sony Corporation Data storage apparatus, data processing method, recording medium, and program
US20060184806A1 (en) 2005-02-16 2006-08-17 Eric Luttmann USB secure storage apparatus and method
US20090254715A1 (en) * 2005-03-23 2009-10-08 Mtekvision Co., Ltd. Variable partitioned blocks in shared memory
US7953985B2 (en) 2005-05-09 2011-05-31 Panasonic Corporation Memory card, application program holding method, and holding program
US20070002612A1 (en) * 2005-06-29 2007-01-04 Chang Robert C Method and system for managing partitions in a storage device
US20070043667A1 (en) 2005-09-08 2007-02-22 Bahman Qawami Method for secure storage and delivery of media content
US20070113097A1 (en) 2005-11-16 2007-05-17 Phison Electronics Corp. [storage media]
WO2008008326A2 (en) 2006-07-10 2008-01-17 Wms Gaming Inc. Partition management in a wagering game system
US20080052532A1 (en) 2006-08-25 2008-02-28 Texas Instruments Incorporated Methods and systems involving secure ram
US20080162784A1 (en) * 2006-12-29 2008-07-03 Spansion Llc Systems and methods for access violation management of secured memory
US20100023747A1 (en) 2007-11-12 2010-01-28 Micron Technology, Inc. Critical Security Parameter Generation and Exchange System and Method for Smart-Card Memory Modules
US20090121029A1 (en) 2007-11-12 2009-05-14 Micron Technology, Inc. Intelligent controller system and method for smart card memory modules
US8162227B2 (en) 2007-11-12 2012-04-24 Micron Technology, Inc. Intelligent controller system and method for smart card memory modules
US20120191975A1 (en) 2007-11-12 2012-07-26 Micron Technology, Inc. Critical security parameter generation and exchange system and method for smart-card memory modules
US20120204018A1 (en) 2007-11-12 2012-08-09 Micron Technology, Inc. Intelligent controller system and method for smart card memory modules
US20100229004A1 (en) 2009-03-03 2010-09-09 Micron Technology, Inc. Protection of security parameters in storage devices

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Extended European Search Report dated Jul. 19, 2011 for EP Application No. 08848669.1, 6 pgs.
International Search Report & Written Opinion dated Apr. 30, 2009 for PCT/US2008/082259, 11 pgs.
International Search Report & Written Opinion dated Jun. 12, 2009 for PCT/US2008/082274, 11 pgs.
International Search Report & Written Opinion dated May 29, 2009 for PCT/US2008/082312, 10 pgs.
TW Office Action and Search Report for TW Application No. 097143737 issued May 29, 2012.
Wu et al. "A Low Cost and Inner-Round Pipeline Design of ECB-AES-256 Crypto Engine for Solid State Disk"; 2010 Fifth IEEE International Conference on Networking, Architecture, and Storage; pp. 485-491.

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130010519A1 (en) * 2007-11-12 2013-01-10 Micron Technology, Inc. System and method for updating read-only memory in smart card memory modules
US8746578B2 (en) * 2007-11-12 2014-06-10 Micron Technology, Inc. System and method for updating read-only memory in smart card memory modules
US20140229745A1 (en) * 2007-11-12 2014-08-14 Micron Technology, Inc. System and method for updating read-only memory in smart card memory modules
US8930711B2 (en) 2007-11-12 2015-01-06 Micron Technology, Inc. Critical security parameter generation and exchange system and method for smart-card memory modules
US9088418B2 (en) * 2007-11-12 2015-07-21 Micron Technology, Inc. System and method for updating read-only memory in smart card memory modules
US9111045B2 (en) 2007-11-12 2015-08-18 Micron Technology, Inc. Intelligent controller system and method for smart card memory modules
US9413535B2 (en) 2007-11-12 2016-08-09 Micron Technology, Inc. Critical security parameter generation and exchange system and method for smart-card memory modules
US9483632B2 (en) 2007-11-12 2016-11-01 Micron Technology, Inc. Intelligent controller system and method for smart card memory modules
US9529734B2 (en) 2007-11-12 2016-12-27 Micron Technology, Inc. Smart storage device
US9979540B2 (en) 2007-11-12 2018-05-22 Micron Technology, Inc. System and method for updating read-only memory in smart card memory modules
US20190278502A1 (en) * 2017-06-28 2019-09-12 Toshiba Memory Corporation Memory system and method for controlling nonvolatile memory
US10782903B2 (en) * 2017-06-28 2020-09-22 Toshiba Memory Corporation Memory system and method for controlling nonvolatile memory
US20210092589A1 (en) * 2018-02-26 2021-03-25 Telefonaktiebolaget Lm Ericsson (Publ) Methods, devices, and computer programs for provisioning or controlling operator profiles in terminals
US11553328B2 (en) * 2018-02-26 2023-01-10 Telefonaktiebolaget Lm Ericsson (Publ) Methods, devices, and computer programs for provisioning or controlling operator profiles in terminals
US11030124B2 (en) * 2019-11-07 2021-06-08 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems
US11132470B2 (en) * 2019-11-07 2021-09-28 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems
US11182308B2 (en) 2019-11-07 2021-11-23 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems
US20220012374A1 (en) * 2019-11-07 2022-01-13 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems
US11494522B2 (en) 2019-11-07 2022-11-08 Micron Technology, Inc. Semiconductor device with self-lock security and associated methods and systems
US11520711B2 (en) 2019-11-07 2022-12-06 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems
US11704255B2 (en) 2019-11-07 2023-07-18 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems
US11954049B2 (en) 2019-11-07 2024-04-09 Lodestar Licensing Group Llc Semiconductor device with secure access key and associated methods and systems
US12099639B2 (en) * 2019-11-07 2024-09-24 Lodestar Licensing Group Llc Semiconductor device with secure access key and associated methods and systems
US12105644B2 (en) 2019-11-07 2024-10-01 Lodestar Licensing Group Llc Semiconductor device with secure access key and associated methods and systems

Also Published As

Publication number Publication date
EP2229653B1 (en) 2018-12-26
EP2229653A2 (en) 2010-09-22
WO2009064634A3 (en) 2009-07-23
US9979540B2 (en) 2018-05-22
US8746578B2 (en) 2014-06-10
US20130010519A1 (en) 2013-01-10
US20090121028A1 (en) 2009-05-14
US20150280912A1 (en) 2015-10-01
WO2009064634A2 (en) 2009-05-22
TW200928750A (en) 2009-07-01
US20140229745A1 (en) 2014-08-14
US9088418B2 (en) 2015-07-21
TWI426389B (en) 2014-02-11
EP2229653A4 (en) 2011-08-17

Similar Documents

Publication Publication Date Title
US9979540B2 (en) System and method for updating read-only memory in smart card memory modules
US9483632B2 (en) Intelligent controller system and method for smart card memory modules
US9413535B2 (en) Critical security parameter generation and exchange system and method for smart-card memory modules
TWI524275B (en) Storage device and method of operating a storage device
US20060289659A1 (en) Storage device
EP3355231B1 (en) Mobile data storage device with access control functionality
CN108345785B (en) Built-in intelligent safety action device
US7246375B1 (en) Method for managing a secure terminal
US20100115116A1 (en) System and method for switching communication protocols in electronic interface devices
KR100868676B1 (en) A security module of usb type
KR20150074820A (en) Security payment device including finance micro secure digital card and method of performing thereof
KR101023100B1 (en) Device for USB Banking

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICRON TECHNOLOGY, INC., IDAHO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GEMALTO INC.;REEL/FRAME:021395/0302

Effective date: 20080717

Owner name: MICRON TECHNOLOGY, INC., IDAHO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GEMALTO INC.;REEL/FRAME:021397/0018

Effective date: 20080717

Owner name: MICRON TECHNOLOGY, INC., IDAHO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ASNAASHARI, MEHDI;SHAH, RUCHIRKUMAR D.;REEL/FRAME:021397/0246

Effective date: 20080212

Owner name: GEMALTO INC., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PREVOST, SYLVAIN;KRISHNA, KSHEERABDHI;REEL/FRAME:021397/0274;SIGNING DATES FROM 20080307 TO 20080602

Owner name: MICRON TECHNOLOGY, INC., IDAHO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GEMALTO INC.;REEL/FRAME:021397/0315

Effective date: 20080717

Owner name: GEMALTO INC., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PREVOST, SYLVAIN;KRISHNA, KSHEERABDHI;SIGNING DATES FROM 20080307 TO 20080602;REEL/FRAME:021397/0274

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT, CALIFORNIA

Free format text: SECURITY INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:038669/0001

Effective date: 20160426

Owner name: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGEN

Free format text: SECURITY INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:038669/0001

Effective date: 20160426

AS Assignment

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT, MARYLAND

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:038954/0001

Effective date: 20160426

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:038954/0001

Effective date: 20160426

AS Assignment

Owner name: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT, CALIFORNIA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:043079/0001

Effective date: 20160426

Owner name: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGEN

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:043079/0001

Effective date: 20160426

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT, ILLINOIS

Free format text: SECURITY INTEREST;ASSIGNORS:MICRON TECHNOLOGY, INC.;MICRON SEMICONDUCTOR PRODUCTS, INC.;REEL/FRAME:047540/0001

Effective date: 20180703

Owner name: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT, IL

Free format text: SECURITY INTEREST;ASSIGNORS:MICRON TECHNOLOGY, INC.;MICRON SEMICONDUCTOR PRODUCTS, INC.;REEL/FRAME:047540/0001

Effective date: 20180703

AS Assignment

Owner name: MICRON TECHNOLOGY, INC., IDAHO

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT;REEL/FRAME:047243/0001

Effective date: 20180629

AS Assignment

Owner name: MICRON TECHNOLOGY, INC., IDAHO

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:050937/0001

Effective date: 20190731

AS Assignment

Owner name: MICRON SEMICONDUCTOR PRODUCTS, INC., IDAHO

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:051028/0001

Effective date: 20190731

Owner name: MICRON TECHNOLOGY, INC., IDAHO

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:051028/0001

Effective date: 20190731

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12