US20080082813A1 - Portable usb device that boots a computer as a server with security measure - Google Patents

Portable usb device that boots a computer as a server with security measure Download PDF

Info

Publication number
US20080082813A1
US20080082813A1 US11/861,133 US86113307A US2008082813A1 US 20080082813 A1 US20080082813 A1 US 20080082813A1 US 86113307 A US86113307 A US 86113307A US 2008082813 A1 US2008082813 A1 US 2008082813A1
Authority
US
United States
Prior art keywords
host computer
storage device
portable storage
computer
cprm
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.)
Abandoned
Application number
US11/861,133
Inventor
David Chow
Edward Lee
Abraham Ma
Ming-Shiang Shen
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.)
Super Talent Electronics Inc
Original Assignee
Super Talent Electronics 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 claimed from US09/478,720 external-priority patent/US7257714B1/en
Priority claimed from US10/002,652 external-priority patent/US7103765B2/en
Priority claimed from US10/762,934 external-priority patent/US20050160213A1/en
Priority claimed from US11/040,326 external-priority patent/US20060161725A1/en
Priority claimed from US11/377,235 external-priority patent/US7631195B1/en
Priority claimed from US11/685,143 external-priority patent/US7873837B1/en
Priority claimed from US11/838,192 external-priority patent/US7930531B2/en
Priority claimed from US11/846,746 external-priority patent/US7987006B2/en
Priority to US11/861,133 priority Critical patent/US20080082813A1/en
Application filed by Super Talent Electronics Inc filed Critical Super Talent Electronics Inc
Assigned to SUPER TALENT ELECTRONICS, INC. reassignment SUPER TALENT ELECTRONICS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SHEN, MING-SHIANG, CHOW, DAVID Q., LEE, EDWARD W., MA, ABRAHAM C.
Priority to TW97104230A priority patent/TW200915183A/en
Priority to CNA2008100080354A priority patent/CN101398764A/en
Publication of US20080082813A1 publication Critical patent/US20080082813A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Definitions

  • the present invention relates generally to computer systems. More particularly, this invention relates to rebooting a computer from an operating system stored in a portable device.
  • Portable computer systems such as laptop or notebook computers are gaining more popularity because of their portable convenience.
  • a user may carry a portable computer to a remote location without losing the customized operating environment that the user is familiar with.
  • most users would prefer to utilize their own computer at any given time without having to sacrifice their individual operating environment or personal settings such as, for example, operating system, email client, word processor, etc.
  • a remote place such as a hotel in a foreign country, may provide a remote computer for a hotel guest to use; however, the operating environment of the remote computer may be different than the one on the home computer of the user, such as, for example, different operating systems, different native languages, or different applications, etc. Therefore, if the user wants to use a remote or foreign computer, the user is limited to whatever features or settings are available at the remote or foreign computer. In addition, certain secure content may not be accessible from the foreign computer, unless the user remembers user's authentication credentials. Furthermore, by using a foreign computer, a user may have concern about leaving personal or confidential information behind at the foreign computer.
  • the portable storage device in response to detecting a portable storage device inserted into a first host computer, the portable storage device is authenticated using a private key stored within the portable storage device against a public key stored in a second host computer over a network.
  • data representing a personal working environment associated with a user of the portable storage device is downloaded from the second host computer over the network.
  • the first host computer is configured using the obtained settings of the personal working environment, such that the user of the portable storage device can operate the second host computer in view of the personal working environment.
  • FIGS. 1A-1B are block diagrams illustrating a process of establishing an operating environment of a computer system according to one embodiment of the invention.
  • FIG. 2 is a block diagram illustrating an example of a portable storage device according to one embodiment of the invention.
  • FIG. 3 is a block diagram illustrating an example of a portable storage device having multiple partitions in accordance with one embodiment of the invention.
  • FIG. 4 is a block diagram illustrating an example of personal working environment image according to one embodiment of the invention.
  • FIG. 5 is a block diagram illustrating an example of a user partition according to one embodiment of the invention.
  • FIG. 6 is a flow diagram illustrating a process for establishing an operating environment of a host computer according to one embodiment of the invention.
  • FIG. 7 is a block diagram illustrating an example of a workgroup configuration according to one embodiment of the invention.
  • FIG. 8 is a block diagram illustrating an example of system configuration which may be applied to CPRM/CPPM applications according to one embodiment of the invention.
  • FIG. 9 is a flow diagram illustrating a process for establishing an operating environment of a host computer according to another embodiment of the invention.
  • FIGS. 10A-10B show account and media player setup, media content downloading and playing for a secure digital rights management (DRM) system, according to one embodiment of the invention.
  • DRM digital rights management
  • FIG. 11 is a block diagram illustrating a host computer according to one embodiment of the invention.
  • FIG. 12 is a block diagram illustrating a portable storage device according to one embodiment of the invention.
  • a portable storage device such as a USB (universal serial bus) device may be used to store any personal configuration and/or operating environment associated with a user's own computer.
  • a storage device may be carried by the user to travel to a remote location and used with a foreign computer that may have a different operating environment or settings.
  • the customized configuration of an operating environment associated with the user may be used to configure the foreign computer into a customized operating environment that is similar to the one available at the user's own computer.
  • the original configurations of the foreign computer are not utilized. Instead, the foreign computer is booted from an operating system (OS) image stored in the portable device and utilizes a personal configuration file that has captured the personal settings of the user to configure the operating environment at the foreign computer.
  • OS operating system
  • a user would operate any foreign computer and utilize their own personalized operating environment such as if the user were operating their computer at home.
  • the portable storage device includes certain authentication credentials such as username, password, and a private key.
  • the portable storage device is authenticated using the authentication credentials with respect to a remote host computer or server.
  • the foreign host computer is rebooted from an OS image stored in the portable storage device only if the portable storage device has been successfully authenticated.
  • the portable storage device includes certain CPRM (content protection recordable media) or CPPM (content protection pre-recorded media) authentication mechanism to authenticate or verify certain CPRM/CPPM content stored locally or downloaded from a remote facility.
  • CPRM content protection recordable media
  • CPPM content protection pre-recorded media
  • a portable storage device having a USB interface is utilized as an example of a portable storage device.
  • other portable storage devices having other interfaces such as, for example, IEEE-1394 (also referred to as Firewire), PCMCIA (personal computer memory card international association), SATA, SD/MMC or other storage devices may also be applied.
  • FIGS. 1A-1B are block diagrams illustrating a process of establishing an operating environment of a computer system according to one embodiment of the invention.
  • a USB storage device 108 is inserted into a local computer 104 which is operating in a first working environment 105 .
  • the first working environment 105 may be customized by a user of the portable storage device 108 having certain user's favorite or preferred settings or applications.
  • the first working environment 105 may include the user's customized desktop settings, email client, media player, word processor, or antivirus/SPAM settings, etc. as shown in FIGS. 4-5 .
  • the first working environment 105 may be captured and stored in the USB storage device 108 as a personal configuration file 107 .
  • certain authentication credentials 101 of the user may also be replicated in the portable storage device 108 as authentication credentials 111 .
  • the authentication credentials 111 may be used for remotely accessing host 104 , such as, for example, data or content 102 subsequently.
  • authentication credentials 101 may include a username, a password, and/or a public key associated with the user.
  • authentication credentials 111 may include a username, a password, and/or a private key associated with the user.
  • the host computer 104 upon detecting an insertion of the USB device into a host computer such as host computer 104 , the host computer 104 responds with checking on a “Bootable” or “Launchable” partition on the USB device 108 . That triggers the “launch” of a “Utility application software” within the host computer 109 , and a “User Menu” comes up on the computer screen. It shows a multiple selection list for an end user to select or pick up all the application suite, OS configurations, work environment set-up specific parameters, client software, such as email, Web configurations, favor Multi-media app-lets.
  • the host computer 109 starts collecting all related configurations, parameter settings, and “wrap around” to produce a “Work image” of the host computer work environment, which is stored in a “User specified partition” of the USB storage device.
  • a utility application may “walk through” certain areas of the Windows registry to obtain installation and configuration information of certain applications that are running within the Windows operating system. This information may then be compressed into a relatively small size configuration file 107 stored in the USB storage device 108 .
  • the configuration file 107 may be encrypted using a variety of security measures since the configuration file 107 may include certain personal confidential information.
  • USB storage device 108 may further include an operating system image 106 (e.g., a server OS image) which may be used to reboot an external computer into a server without using an OS inside of the external computer.
  • an operating system image 106 e.g., a server OS image
  • the above information may be collected by host 104 and stored within host subsequent download.
  • the user may carry the USB storage device 108 and insert into a remote or foreign computer 109 , where computer 109 may operate in a second operating environment 110 .
  • the second operating environment 110 may operate under the same or different operating system as of computer 104 .
  • the personal configuration of the operating environment also referred to herein as working environment
  • the USB storage device 108 is detected and recognized, for example, via a plug-n-play feature of the operating system running therein.
  • the USB storage device 108 is then mounted by the operating system (e.g., file system) as a mass storage.
  • USB storage device 108 may be authenticated with the host 104 over network 103 , which may be wide area network (WAN) such as the Internet, or a local area network (LAN) such as a Intranet of an entity or company.
  • the USB device 108 may be authenticated using authentication credentials 111 against the authentication credentials 101 of host computer 104 . Only upon a successful authentication, the host computer 109 is rebooted from OS image 106 of the USB device 108 ; otherwise, the host computer 109 is rebooted as regularly using its own operating system.
  • data representing the first working environment 105 may be downloaded from host computer 104 to USB device 108 (e.g., as part of snapshot of working environment 107 ).
  • the downloaded data may be encrypted via a public key of host computer 104 and may be decrypted by the USB device 108 using a private key associated with the public key.
  • Public key cryptography also known as asymmetric cryptography, is a form of cryptography in which a user has a pair of cryptographic keys—a public key and a private key.
  • the private key is kept secret, while the public key may be widely distributed.
  • the keys are related mathematically, but the private key cannot be practically derived from the public key.
  • a message encrypted with the public key can be decrypted only with the corresponding private key.
  • secret key cryptography also known as symmetric cryptography uses a single secret key for both encryption and decryption.
  • the two main branches of public key cryptography are: 1) public key encryption—a message encrypted with a recipient's public key cannot be decrypted by anyone except the recipient possessing the corresponding private key; 2) digital signatures—a message signed with a sender's private key can be verified by anyone who has access to the sender's public key, thereby proving that the sender signed it and that the message has not been tampered with. Other techniques such as digital certificates may also be utilized. Note that the above authentication and encryption/decryption operations can be implemented using a variety of algorithms and/or protocols such as PGP (pretty good privacy) or RSA authentication algorithm.
  • the BIOS code is executed to perform certain initialization operations (e.g., POST or power-on self-test).
  • the BIOS may further detect a boot sector located within the USB storage device.
  • the BIOS may launch a local control program (not shown) of the USB storage device which in turn locates and executes the boot sector of the USB device to boot up the computer 109 using the OS image 106 .
  • the BIOS may invoke the local control program of the USB storage device to take over the booting sequence control. As a result, computer 109 is booted using the OS image 106 .
  • the personal configuration file 107 which may be downloaded from host computer 104 upon a successful authentication as described above, is extracted to configure the operating environment to include certain personal settings of the user.
  • the operating environment of computer 109 may have a working environment similar to the one of computer 104 , which the user is familiar with.
  • Additional data or content such as content 102 may also be downloaded from host computer 104 .
  • Such content may be secure content such as CPRM/CPPM compliant content and such content may be authenticated or authorized by for example, authentication credentials 111 of the USB device 108 .
  • a user of USB device 108 may securely access a remote server such as CPRM/CPPM license server to download or verify additional CPRM/CPPM content to be used in the host computer 109 .
  • a user of USB device 108 may purchase additional CPRM/CPPM media content (e.g., audio/video content) from a server using certain CPRM/CPPM credentials stored in the USB device and play the downloaded media content using a CPRM/CPPM compliant media player.
  • the user may unplug the portable storage device 108 from the host computer 109 and be ready to go home or go to another remote site.
  • certain “garbage collection” operations may be performed on the host computer 109 . For example, certain temporary files (e.g., cached files or temporary files downloaded from a Web page) stored at a storage of the host computer 109 may be erased. As a result, any possible personal confidential information associated with the user may be removed from the remote computer 109 .
  • the user modifies any settings of the working environment (e.g., changes of the address/phone book or Web links/bookmarks, etc.) while operating the host computer 109
  • at least a portion of the modified working environment settings may be saved back (e.g., synchronized) to the portable storage device 108 .
  • the modified working environment can be restored from the portable storage device 108 back to the user's own computer (e.g., computer 104 ).
  • FIG. 2 is a block diagram illustrating an example of a portable storage device according to one embodiment of the invention.
  • portable storage device 200 may be implemented as part of portable storage device 108 of FIG. 1 .
  • portable storage device 200 includes, but is not limited to, an OS image 201 , a personal working environment image 202 , local control program or programs coupled to each other via a bus or interconnect 206 , and authentication credentials 207 (e.g., username, password, private key).
  • the portable storage device 200 further includes a bus interface logic 204 and bus interface 205 which are used to interface the portable storage device 200 with an external device (e.g., external host computer) via proper bus protocols (e.g., USB protocols).
  • OS image 201 may be implemented as part of OS image 106 of FIG. 1
  • personal working environment image 202 may be implemented as part of working environment image 107 of FIG. 1 .
  • the OS image 201 may be used to boot, via local control program 203 , an external host computer without using the original OS of the external host computer.
  • the personal working environment image 202 is extracted and used to configure the operating environment of the host computer to have a predetermined working environment associated with a user of the portable storage device 200 .
  • the personal working environment image 202 may be downloaded from a remote facility upon successful authentication as described above.
  • the portable storage device 200 may optionally include other control logic.
  • the other control logic is managed by the local control program 203 .
  • portable storage device 200 may includes a variety of connectors (not shown), including an initialization connector, a shut-down connector, a power control connector, a status LED connector, a DC power LED connector, and/or a LCD display connector, etc.
  • the other control logic could include other components.
  • the connectors can be coupled to LEDs (not shown) and an LCD display (not shown) integrated with the portable storage device 200 . Further detailed information regarding operations of these components can be found in the above incorporated by reference applications.
  • the portable storage device may be implemented in a single partition or multiple partitions.
  • FIG. 3 is a block diagram illustrating an example of a portable storage device having multiple partitions in accordance with one embodiment of the invention.
  • portable storage device 300 may be implemented as part of portable storage device 200 of FIG. 2 .
  • portable storage device 300 includes multiple partitions for storing multiple different OS images such as Linux partition 301 for Linux OS related files and Windows partition 302 for Windows OS related files.
  • Each of the OS related partitions includes a OS image (e.g., images 305 - 306 ) used to boot a host computer into a corresponding OS environment and an optional personal working environment image (e.g., images 307 - 308 ) to customize or personalize the corresponding OS environment, which may be downloaded from a remote facility upon successful authentication.
  • the portable storage device 300 may further include a user partition 303 having user data files 309 , user configurations 310 (e.g., firewall/anti-virus settings), and user applications 314 such as anti-virus, firewall applications, or a media player (e.g., CPRM/CPPM compliant media player).
  • portable storage device 300 includes a reserved partition 304 having a boot configuration 311 , auto launcher program 312 , and authentication credentials 313 (e.g., username/password/private key).
  • Linux partition 301 stores Linux OS image 305 , which includes the OS routines, definitions, modules, and drivers that are loaded into a computer's main memory just before running Linux.
  • Linux-based user programs and data can also be stored in Linux partition 301 , such as Linux anti-virus program which can scan for and clean viruses and other malware.
  • Microsoft Windows partition 302 includes Microsoft Windows OS image 306 , which includes the OS routines, definitions, modules, applications-programming-interface (API) interpreters, and drivers that are loaded into a computer's main memory just before running Microsoft Windows.
  • Microsoft Windows based user programs and related data can also be stored in Microsoft Windows partition 40 , such as Microsoft Windows applications.
  • User partition 303 stores use data files 309 which may be accessed by any operating system when each OS has a corresponding driver or program that can open files of that file-type.
  • User configurations 310 can include configuration data that may be specific to one operating system or another, or may include generic configuration information.
  • Reserved partition 304 is a partition of flash memory in the USB device that stores a control program and related data that is executed by the USB device itself.
  • the USB device then notifies the host computer of the presence of a bootable device desiring to auto-launch an application.
  • the host computer may then transfer control to the bootable device for execution.
  • Boot configurations 311 includes configuration data about the partitions stored in the flash memory of the USB device, such as the association of partitions 301 - 302 with certain buttons described above, and which partition's data to transfer to a host computer and what action or program to run when each of buttons is activated.
  • Auto-launcher 312 is a program that helps copy data from one of partitions 301 - 302 to a host computer being booted when the portable storage device 300 is inserted into the host computer and recognized by the OS that is running on the host computer.
  • Auto-launcher 312 may be a Launch Pad application that check the data type and brings up a list or menu of application software that end users can click on to activate their favorite application software for further action. For example, if the data is MP3 type, then auto-launcher 312 brings up a list of Media player or decoder software for end users to click and choose. Other configurations may exist. Further, the auto-launcher 312 may further trigger downloading content from a remote facility and use authentication credentials 313 to authenticate and/or decrypt the downloaded content.
  • FIG. 4 is a block diagram illustrating an example of personal working environment image according to one embodiment of the invention.
  • personal working environment 400 may be implemented as part of working environment images 307 - 308 of FIG. 3 , which may also be downloaded from a remote facility upon successful authentication.
  • personal working environment 400 includes information representing a variety of personal or customized settings, including personal data and desktop settings 401 , email client and settings 402 , and personal contacts 403 such as an address book and/or phone book.
  • the personal working environment 400 may further include certain Web browser settings such as, for example, Web browser bookmarks 404 , Web browser cache 405 , and Web site login information 406 , etc.
  • the personal working environment 400 may further include other applications such as anti-virus/SPAM applications or settings 407 , personal favorite applications 408 such as media players, and personal communication settings 409 such as VoIP or instant messaging settings, etc.
  • Other personal items may also be included.
  • FIG. 5 is a block diagram illustrating an example of a user partition according to one embodiment of the invention.
  • user partition 500 may be implemented as part of user partition 303 of FIG. 3 .
  • user partition 500 stores user data files 502 which may be accessible in one or both operating systems, depending on applications available in the operating systems.
  • Office suite programs 503 may include Microsoft Windows office software such as word processing, spreadsheet, contact, and scheduling software, or office suite software for Linux or another operating system.
  • Virus program 504 can detect and remove viruses while running on Linux.
  • Firewall program 505 protects the user's computer from external attacks when connected to a network such as the Internet.
  • User configurations 501 can include a wide variety of user configuration data for one or for both operating systems.
  • User profiles or workspaces stored in user configurations 52 may include parameters, email client images, web cookies, links, and universal resource locators (URL's), web browser add-on programs, address books, media playlists and settings, icons, and other user-specific data. Other components may also be included.
  • URL's universal resource locators
  • FIG. 6 is a flow diagram illustrating a process for establishing an operating environment of a host computer according to one embodiment of the invention.
  • process 600 may be performed by processing logic which may include software, hardware, or a combination of thereof.
  • processing logic may be performed by systems as shown in FIGS. 1A-1B and 2 .
  • processing logic in response to a portable storage device (e.g., USB flash memory device) inserted into a first host computer, at block 601 , processing logic stores authentication credentials (e.g., username/password and private key) associated with a user into a portable storage device (e.g., USB flash memory device) for remotely accessing a first host computer having a first working environment.
  • authentication credentials e.g., username/password and private key
  • a portable storage device e.g., USB flash memory device
  • mounting the portable storage device as a storage drive in the second host computer.
  • processing logic authenticates the portable storage device with the first computer over a network using the authentication credentials stored in the portable storage device.
  • processing logic downloads information representing the first working environment from the first host computer and configures the second host computer to have the first working environment, and operate the second host computer in a first working environment at block 606 .
  • processing logic may perform certain “garbage collection” operations on the second host computer. For example, certain temporary files (e.g., cached files or temporary files downloaded from a Web page) stored at a storage of the second host computer may be erased.
  • the user modifies any settings of the working environment (e.g., changes of the address/phone book or Web links/bookmarks)
  • at least a portion of the modified working environment settings may be saved back (e.g., synchronized) to the portable storage device.
  • the user's own computer e.g., local or home computer
  • the modified working environment can be restored back to the user's own computer.
  • Other operations may also be performed.
  • a FLASH controller in accordance with the present invention also applies to FLASH memory cards such as Express Card, Mini PCI Express Card, Secure Digital Card, Multi Media Card, Memory Stick Card and Compact FLASH card.
  • a system in accordance with the present invention also applies to the other serial buses such as PCI Express bus, Serial ATA bus, IEEE 1394 bus and Ethernet bus. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.
  • FIG. 7 is a block diagram illustrating an example of a workgroup configuration according to one embodiment of the invention.
  • configuration 700 includes multiple members of a workgroup each having a portable storage device having respective authentication credentials therein to access a workgroup server upon successful authentication.
  • Web server 701 includes workgroup related content 710 and workgroup members' authentication credentials 709 such as usernames/passwords and public keys, etc.
  • Each member of the workgroup carries a portable storage device (e.g., devices 705 - 706 ) each having its respective authentication credentials (e.g., credentials 707 - 708 ), as well as other information such as OS image and/or personal working environment as described above.
  • a portable storage device e.g., devices 705 - 706
  • authentication credentials e.g., credentials 707 - 708
  • other information such as OS image and/or personal working environment as described above.
  • the foreign host computer may be rebooted from the portable storage device using an OS image stored in the portable storage device and configured using a personal working environment (downloaded or retrieved from the portable storage device) as described above.
  • the user may access server 701 and get authenticated by the server 701 in view of the corresponding authentication credentials stored in the portable storage device. Once the user is authenticated successfully, the user can access the workgroup content 710 .
  • a workgroup member may use a portable storage device as an authentication pass to access its host account in a remote facility.
  • a user can carry its portable storage device to various foreign host computers for work, or business meeting at a remote satellite office.
  • a portable storage device described herein can be used as a personalized security access to a Web server through any host computer using the authentication credentials stored therein.
  • an end user gains access to remote server (e.g., Web server or application server or content portal) to download data or content, such as media content, video streams, application software, or user data.
  • remote server e.g., Web server or application server or content portal
  • data or content such as media content, video streams, application software, or user data.
  • the user can also publish certain content in the server (e.g., Web server).
  • FIG. 8 is a block diagram illustrating an example of system configuration which may be applied to CPRM/CPPM applications according to one embodiment of the invention.
  • a user associated with a local host 805 e.g., home computer
  • replicates certain CPRM compliant data such as CPRM license/key and CPRM content (e.g., CPRM media content) into a portable storage device 804 (e.g., USB flash memory device).
  • CPRM compliant data such as CPRM license/key and CPRM content (e.g., CPRM media content) into a portable storage device 804 (e.g., USB flash memory device).
  • portable storage device 804 is equipped with CPRM software and/or hardware.
  • the CPRM software and/or hardware may communicate with a CPRM server 801 via the CPRM software of the foreign host computer 803 to validate certain CPRM content stored within the portable storage device 804 .
  • the user of the portable storage device 804 can access the CPRM content stored locally within the portable storage device 804 or remotely by downloading CPRM content from a remote site such as server 801 or its local host computer 805 .
  • FIG. 9 is a flow diagram illustrating a process for establishing an operating environment of a host computer according to another embodiment of the invention.
  • process 900 may be performed by processing logic which may include software, hardware, or a combination of thereof.
  • processing logic may be performed by systems as shown in FIGS. 7-8 .
  • processing logic stores authentication credentials (e.g., username/password, private key, or digital certificate, etc.) associated with a user in a portable storage device (e.g., USB flash memory device) for remotely accessing a first host computer (e.g., Web server or Web portal).
  • authentication credentials e.g., username/password, private key, or digital certificate, etc.
  • a portable storage device e.g., USB flash memory device
  • a first host computer e.g., Web server or Web portal.
  • the portable storage device In response to an insertion of the portable storage device into a second host computer (e.g., foreign host computer), at block 902 , the portable storage device is mounted as a storage drive. In response to a request for rebooting the second host computer, at block 903 , processing logic authenticates the portable storage device with the first host computer over a network using the authentication credentials stored in the portable storage device. Upon a successful authentication, at block 904 , the second host computer is rebooted using an operating system image stored in the portable storage device.
  • a second host computer e.g., foreign host computer
  • certain secure content may be downloaded from the first host computer over the network and decrypted using a private key stored in the portable storage device and thereafter, at block 906 , the second host computer is operated with the decrypted content (e.g., using a media player to play CPRM media content such as songs and/or video streams).
  • the portable storage device is unplugged from the second host computer, at block 907 , information or data temporarily stored in the second host computer while operating the second host computer is removed.
  • FIGS. 10A-10B show account and media player setup, media content downloading and playing for a secure digital rights management (DRM) system, according to one embodiment of the invention.
  • media player 1003 may be implemented as part of a portable storage device 804 having a built-in media player.
  • Host computer 1002 may be implemented as part of foreign host 803 .
  • License server 1001 may be implemented as part of license server 801 of FIG. 8 .
  • the portable storage device contains a security key or a copy of valid license rights with a valid user account number or PIN (personal identification number).
  • a user when the portable storage device is plugged into a host computer, a user gains access approval to remote Web server or a media content portal to view a list of media content (e.g., music, video clips, or movies, etc.)
  • the user may purchase any of the media content from the remote server and play the purchased media content via a media player.
  • the manufacturer of media player 1003 pre-loads a unique media player ID 1004 into the device, or software on host PC 1002 pre-loads this unique media player ID 1004 into media player 1003 .
  • a user connects media player 1003 to host PC 1002 , for example, through a USB interface, and activates special application software on host PC 1002 that reads unique media player ID 1004 from media player 1003 .
  • the user connects to license server 1001 using the software on host PC 1002 and establishes an account 1005 by sending unique media player ID 1004 to license server 1001 .
  • a user ID, account password, email address, and payment information may be provided by the user.
  • Personal identifier number (PIN) 1007 or other acknowledgement number is generated by license server 1001 and emailed or otherwise sent to host PC 1002 .
  • PIN 1007 could also be a user-generated password or a validation code.
  • the user logs on to license server 1001 when desiring to download media content.
  • Logon 1008 is responded to by license server 1001 by account lookup 1009 to find the user's account, and device ID validation 1010 that reads unique media player ID 1004 from media player 1003 and compares it to the unique media player ID stored in the user account information on license server 1001 .
  • the user is prevented from copying songs to a different device, unless that device is also registers and its unique media player ID 1004 received. Thus copying songs to many different media player devices is inhibited.
  • the media content available for downloading is listed to the user 1011 , and the user selects one or more media content for downloading 1012 .
  • the selected songs are prepared for downloading 1013 by license server 1001 .
  • the media content selected by the user is encrypted by song encryption unit 1051 , which uses a title key that is generated by license server 1001 .
  • the title key is itself encrypted by key encryptor 1052 , using unique media player ID as an encrypting key.
  • Unique media player ID 1004 was obtained from media player 1003 during account setup as shown in FIG. 10A and stored in license server 1001 .
  • the number of copies allowed, or other copy rules, are encrypted by copy encryptor 1053 , which also uses unique media player ID as the encrypting key.
  • the encrypted song, title key, and copy rules are sent from license server 1001 to host PC 1002 .
  • Host PC 1002 stores encrypted song 1057 and encrypted title key 1056 and does not need to decrypt them.
  • the encrypted copy rules are decrypted by rule decryptor 1054 using unique media player ID 1004 read from media player 1003 as the decryption key.
  • the recovered number of copies is stored as copy rules 1055 , and decremented by decrementor 1058 for each copy made by host PC 1002 of encrypted song 1057 .
  • PC ID 1066 can be the unique CPU ID from the processor in host PC 1002 , a hashed ID, or some other value that identifies host PC 1002 . This PC ID is also pre-loaded by host PC 1002 on media player 1003 and stored on media player 1003 . PC ID 1066 may also be sent to license server 1001 such as during account logon.
  • match 1062 blocks playback by preventing decryption of encrypted title key 1059 . Otherwise, when PC ID's match, encrypted title key 1059 is decrypted by decryptor 1063 to obtain the title key that unlocks encrypted song 1060 using song decryptor 1064 . Media decoder 1065 can then playback the media content to the user. Further detailed information regarding the techniques described above can be found in a co-pending U.S. patent application Ser. No. 11/668,316, filed Jan. 29, 2007, which as been assigned to a common assignee of this application and is herein incorporated by reference in its entirety.
  • FIG. 11 is a block diagram illustrating a host computer according to one embodiment of the invention.
  • FIG. 12 is a block diagram illustrating a portable storage device according to one embodiment of the invention.
  • Host computer 1100 of FIG. 11 and portable storage device 1200 of FIG. 12 may be implemented as any of the host computers and portable storage devices described above.
  • a system for providing security to an electronic data flash card includes a host system generally designated 1100 and an electronic data flash card generally designated 1200 which may be coupled to the host system 1100 .
  • the host system 100 includes a central processing unit (CPU) 1102 coupled to a bus 1110 (generally indicated by signal lines.
  • CPU central processing unit
  • CPU 1102 may be operable to control data flow between the host system 1100 and the electronic data flash card 1200 and to control encryption and decryption engines as further described herein.
  • a computer interface unit 1101 is coupled to bus 1110 and provides a means for entering an unencrypted user password under CPU control.
  • computer interface unit 1101 includes a keyboard, scanner, or finger print/eye pattern reader.
  • Disk storage 1104 is coupled to the bus 1110 and provides local storage for the CPU instructions, and stores data to be read/written to the electronic data flash card 1200 .
  • a first latch 1103 is coupled to the bus 1110 and provides a means for temporarily storing a random number generated by a electronic data flash card random number generator 204 under control of a electronic data flash card microprocessor (not shown) as further described herein.
  • a first encryption engine 1106 is coupled to the bus 1110 and provides encryption of an unencrypted logical block address (LBA), an unencrypted password, and unencrypted data using the latched random number.
  • a second encryption engine 1109 is coupled to the bus 1110 and provides encryption of the latched random number using a predetermined (device specific) key to generate an encrypted random number.
  • the predetermined key is generated by the CPU 1102 using a predetermined algorithm and a predetermined identification value that is assigned to electronic data flash card 1200 (e.g., a product identification number or device serial number, or a valid user-defined password).
  • the predetermined key for a particular electronic data flash card is a predetermined portion of a device serial number that is transmitted from electronic data flash card 1200 to host system 1100 at power up (e.g., when electronic data flash card 1200 is plugged into a USB female socket provided on host system 1100 ).
  • host system 1100 is not required to store the predetermined key associated with every electronic data flash card 1200 that may be coupled to host 1100 , thereby minimizing the use of storage space and avoiding the need to perform an initiation process before using each electronic data flash card 1200 .
  • this approach provides host systems located at different locations a consistent way to determine the predetermined keys assigned to a large number of electronic data flash cards 1200 , thereby allowing each host system to retrieve the encrypted data written by another host system.
  • a first decryption engine 11107 is coupled to the bus 1110 and provides decryption of encrypted data received from the electronic data flash card 1200 during a read operation using the random number provided by a second decryption engine 1108 .
  • the second decryption engine 1108 is coupled to the bus 1110 and provides decryption of the encrypted random number received from the electronic data flash card 200 , also during the read operation, using the predetermined key to regenerate the random number provided to the first decryption engine 1107 .
  • a host communication port 1105 is coupled to the bus 1110 and may include an interface such as a USB interface, a serial communication port interface, an Ethernet port interface and a wireless port interface.
  • the host communication port 1105 is used to establish a communication link with a communication port (input/output interface circuit) 1203 of electronic data flash card 1200 over a suitable communication medium (interface bus).
  • electronic data flash card 1200 includes microprocessor (not shown) and additional circuits that are mounted on a card body in the manner described above, and that are interconnected (coupled) by a bus 1210 .
  • random number generator 1204 is coupled to bus 1210 , and provides the random number which is temporarily stored in a second latch 1205 , also coupled to bus 1210 .
  • Random number generator 1204 may be a pseudo-random number generator, or use thermal noise as a source of true randomness.
  • a storage medium 1209 is coupled to bus 1210 , and in one embodiment includes one or more flash memory devices.
  • Storage medium 1209 provides storage for the encrypted random number, the encrypted data, a hashed password as further described herein, and an electronic data flash card serial number or other identifying information that is unique to electronic data flash card 1200 .
  • Writing data to and reading data from storage medium 1209 is performed using a Physical Block Address (PBA) that is provided by a PBA translator 1206 , which is coupled to bus 1210 .
  • PBA Physical Block Address
  • Storage medium 1209 may further include public and secure areas.
  • a decryption engine 1208 is coupled to bus 1210 , and provides decryption of an encrypted password and an encrypted LBA received from host system 1100 .
  • a first hash engine 1212 which is coupled to bus 1210 , provides a hashed password generated from the decrypted password received from decryption engine 1208 .
  • the hashed password is stored in the storage medium 1209 .
  • a second hash engine 1214 also coupled to the bus 1210 , provides, in one embodiment, a hashed serial number that is generated from the device serial number for electronic data flash card 1200 that is stored in the reserved sector of storage medium 1209 .
  • a scramble engine 1216 also coupled to the 1210 , generates an index from the unencrypted LBA and the hashed serial number.
  • PBA translator 1206 translates the index into the PBA for the address to access the storage medium 1209 .
  • a comparator 1207 also coupled to the bus 1210 , compares a hashed password with a previously stored hashed password. Further detailed information regarding the host 1100 and portable storage device 1200 can be found in a co-pending U.S. patent application Ser. No. 11/685,143, filed Mar. 12, 2007, which has been assigned to a common assignee of this application and is incorporated by reference herein in its entirety.
  • Embodiments of the present invention also relate to an apparatus for performing the operations herein.
  • This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer.
  • a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), erasable programmable ROMs (EPROMs), electrically erasable programmable ROMs (EEPROMs), magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
  • ROMs read-only memories
  • RAMs random access memories
  • EPROMs erasable programmable ROMs
  • EEPROMs electrically erasable programmable ROMs
  • magnetic or optical cards or any type of media suitable for storing electronic
  • a machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer).
  • a machine-readable medium includes read only memory (“ROM”); random access memory (“RAM”); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc.

Abstract

Techniques for booting a host computer from a portable storage device with customized settings with secure measure are described herein. According to one embodiment, in response to detecting a portable storage device inserted into a first host computer, the portable storage device is authenticated using a private key stored within the portable storage device against a public key stored in a second host computer over a network. In response to a successful authentication, data representing a personal working environment associated with a user of the portable storage device is downloaded from the second host computer over the network. After reboot, the first host computer is configured using the obtained settings of the personal working environment, such that the user of the portable storage device can operate the second host computer in view of the personal working environment. Other methods and apparatuses are also described.

Description

    RELATED APPLICATIONS
  • This application is a CIP (continuation-in-part) of co-pending U.S. patent application Ser. No. 11/846,746, filed Aug. 28, 2007, entitled “Portable USB Device That Boots a Computer as a Server”, which is a CIP of U.S. patent application Ser. No. 11/838,192, entitled “Multi-Partition USB Device that Re-Boots a PC to an Alternative Operating System for Virus Recovery”, filed Aug. 13, 2007, which is a CIP of co-pending U.S. patent application Ser. No. 11/624,667, filed Jan. 18, 2007, U.S. patent application Ser. No. 11/040,326, filed Jan. 20, 2005, and U.S. patent application Ser. No. 09/478,720, entitled “Electronic Data Storage Medium with Fingerprint Verification Capability”, filed Jan. 6, 2000, now U.S. Pat. No. 7,257,714. The U.S. patent application Ser. No. 11/846,746 is also a CIP of U.S. patent application Ser. No. 10/762,934, entitled “Method and System for Providing a Modular Server on USB Flash Storage”, filed Jan. 21, 2004, which is a CIP of U.S. patent application Ser. No. 10/002,652, filed Oct. 19, 2001, now U.S. Pat. No. 7,103,765.
  • This application is also a CIP of co-pending U.S. patent application Ser. No. 11/685,143, filed Mar. 12, 2007, entitled “Data Security for Electronic Data Flash Card”, which is a CIP of U.S. patent application Ser. No. 09/478,720, filed Jan. 6, 2000, entitled “Electronic Data Storage Medium With Fingerprint Verification Capability”, and a CIP of U.S. application Ser. No. 11/377,235, filed Mar. 15, 2006, entitled “System and Method for Providing Security to a Portable Storage Device”. The U.S. patent application Ser. No. 11/685,143 is also related to “Integrated circuit card with fingerprint verification capability” application Ser. No. 09/366,976, filed on Aug. 4, 1999, now U.S. Pat. No. 6,547,130.
  • The disclosure of the above-identified applications and patents is incorporated by reference herein in its entirety.
  • FIELD OF THE INVENTION
  • The present invention relates generally to computer systems. More particularly, this invention relates to rebooting a computer from an operating system stored in a portable device.
  • BACKGROUND
  • Personal computer systems have become common tools in modern society. Portable computer systems such as laptop or notebook computers are gaining more popularity because of their portable convenience. A user may carry a portable computer to a remote location without losing the customized operating environment that the user is familiar with. Thus, most users would prefer to utilize their own computer at any given time without having to sacrifice their individual operating environment or personal settings such as, for example, operating system, email client, word processor, etc.
  • However, under certain circumstances, it may be considered inconvenient to carry an item such as a notebook computer during a trip because it may still be considered to be “heavy.” Another inconvenience to the user would be fear of loss, theft or having their personal computer hacked, by a hacker. A remote place, such as a hotel in a foreign country, may provide a remote computer for a hotel guest to use; however, the operating environment of the remote computer may be different than the one on the home computer of the user, such as, for example, different operating systems, different native languages, or different applications, etc. Therefore, if the user wants to use a remote or foreign computer, the user is limited to whatever features or settings are available at the remote or foreign computer. In addition, certain secure content may not be accessible from the foreign computer, unless the user remembers user's authentication credentials. Furthermore, by using a foreign computer, a user may have concern about leaving personal or confidential information behind at the foreign computer.
  • SUMMARY OF THE DESCRIPTION
  • Techniques for booting a host computer from a portable storage device with customized settings with secure measure are described herein. According to one embodiment, in response to detecting a portable storage device inserted into a first host computer, the portable storage device is authenticated using a private key stored within the portable storage device against a public key stored in a second host computer over a network. In response to a successful authentication, data representing a personal working environment associated with a user of the portable storage device is downloaded from the second host computer over the network. After reboot, the first host computer is configured using the obtained settings of the personal working environment, such that the user of the portable storage device can operate the second host computer in view of the personal working environment.
  • Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.
  • FIGS. 1A-1B are block diagrams illustrating a process of establishing an operating environment of a computer system according to one embodiment of the invention.
  • FIG. 2 is a block diagram illustrating an example of a portable storage device according to one embodiment of the invention.
  • FIG. 3 is a block diagram illustrating an example of a portable storage device having multiple partitions in accordance with one embodiment of the invention.
  • FIG. 4 is a block diagram illustrating an example of personal working environment image according to one embodiment of the invention.
  • FIG. 5 is a block diagram illustrating an example of a user partition according to one embodiment of the invention.
  • FIG. 6 is a flow diagram illustrating a process for establishing an operating environment of a host computer according to one embodiment of the invention.
  • FIG. 7 is a block diagram illustrating an example of a workgroup configuration according to one embodiment of the invention.
  • FIG. 8 is a block diagram illustrating an example of system configuration which may be applied to CPRM/CPPM applications according to one embodiment of the invention.
  • FIG. 9 is a flow diagram illustrating a process for establishing an operating environment of a host computer according to another embodiment of the invention.
  • FIGS. 10A-10B show account and media player setup, media content downloading and playing for a secure digital rights management (DRM) system, according to one embodiment of the invention.
  • FIG. 11 is a block diagram illustrating a host computer according to one embodiment of the invention.
  • FIG. 12 is a block diagram illustrating a portable storage device according to one embodiment of the invention.
  • DETAILED DESCRIPTION
  • Techniques for booting a host computer from a portable storage device with customized settings with secure measure are described herein. In the following description, numerous details are set forth to provide a more thorough explanation of embodiments of the present invention. It will be apparent, however, to one skilled in the art, that embodiments of the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring embodiments of the present invention.
  • Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification do not necessarily all refer to the same embodiment.
  • According to certain embodiments, a portable storage device such as a USB (universal serial bus) device may be used to store any personal configuration and/or operating environment associated with a user's own computer. Such a storage device may be carried by the user to travel to a remote location and used with a foreign computer that may have a different operating environment or settings. The customized configuration of an operating environment associated with the user may be used to configure the foreign computer into a customized operating environment that is similar to the one available at the user's own computer.
  • The original configurations of the foreign computer are not utilized. Instead, the foreign computer is booted from an operating system (OS) image stored in the portable device and utilizes a personal configuration file that has captured the personal settings of the user to configure the operating environment at the foreign computer. As a result, a user would operate any foreign computer and utilize their own personalized operating environment such as if the user were operating their computer at home.
  • According to one embodiment, the portable storage device includes certain authentication credentials such as username, password, and a private key. When the portable storage device is inserted into a foreign host computer, before rebooting the foreign host, the portable storage device is authenticated using the authentication credentials with respect to a remote host computer or server. The foreign host computer is rebooted from an OS image stored in the portable storage device only if the portable storage device has been successfully authenticated. Further, the portable storage device includes certain CPRM (content protection recordable media) or CPPM (content protection pre-recorded media) authentication mechanism to authenticate or verify certain CPRM/CPPM content stored locally or downloaded from a remote facility. Thus, a user may use a portable storage device as a security pass or authentication tool to gain accesses to a remote facility over a network.
  • Note that throughout this application, a portable storage device having a USB interface is utilized as an example of a portable storage device. However, it is not so limited; other portable storage devices having other interfaces, such as, for example, IEEE-1394 (also referred to as Firewire), PCMCIA (personal computer memory card international association), SATA, SD/MMC or other storage devices may also be applied.
  • FIGS. 1A-1B are block diagrams illustrating a process of establishing an operating environment of a computer system according to one embodiment of the invention. Referring to FIG. 1A, initially, a USB storage device 108 is inserted into a local computer 104 which is operating in a first working environment 105. The first working environment 105 may be customized by a user of the portable storage device 108 having certain user's favorite or preferred settings or applications. For example, the first working environment 105 may include the user's customized desktop settings, email client, media player, word processor, or antivirus/SPAM settings, etc. as shown in FIGS. 4-5.
  • When the USB storage device 108 is inserted into the first computer 104, the first working environment 105 may be captured and stored in the USB storage device 108 as a personal configuration file 107. In addition, certain authentication credentials 101 of the user may also be replicated in the portable storage device 108 as authentication credentials 111. The authentication credentials 111 may be used for remotely accessing host 104, such as, for example, data or content 102 subsequently. For example, authentication credentials 101 may include a username, a password, and/or a public key associated with the user. Likewise, authentication credentials 111 may include a username, a password, and/or a private key associated with the user.
  • According to one embodiment, upon detecting an insertion of the USB device into a host computer such as host computer 104, the host computer 104 responds with checking on a “Bootable” or “Launchable” partition on the USB device 108. That triggers the “launch” of a “Utility application software” within the host computer 109, and a “User Menu” comes up on the computer screen. It shows a multiple selection list for an end user to select or pick up all the application suite, OS configurations, work environment set-up specific parameters, client software, such as email, Web configurations, favor Multi-media app-lets. With one-bottom click or an activation, the host computer 109 starts collecting all related configurations, parameter settings, and “wrap around” to produce a “Work image” of the host computer work environment, which is stored in a “User specified partition” of the USB storage device. For another example, in a Windows operating environment available from Microsoft Corporation of Redmond, Wash., a utility application may “walk through” certain areas of the Windows registry to obtain installation and configuration information of certain applications that are running within the Windows operating system. This information may then be compressed into a relatively small size configuration file 107 stored in the USB storage device 108. The configuration file 107 may be encrypted using a variety of security measures since the configuration file 107 may include certain personal confidential information. In addition, the USB storage device 108 may further include an operating system image 106 (e.g., a server OS image) which may be used to reboot an external computer into a server without using an OS inside of the external computer. Alternatively, the above information may be collected by host 104 and stored within host subsequent download.
  • Subsequently, as shown in FIG. 1B, the user may carry the USB storage device 108 and insert into a remote or foreign computer 109, where computer 109 may operate in a second operating environment 110. The second operating environment 110 may operate under the same or different operating system as of computer 104. However, the personal configuration of the operating environment (also referred to herein as working environment) may be different from the one in computer 104. When the USB storage device 108 is inserted into the second computer 109 via a USB interface of the computer 109, the USB storage device 108 is detected and recognized, for example, via a plug-n-play feature of the operating system running therein. The USB storage device 108 is then mounted by the operating system (e.g., file system) as a mass storage.
  • Thereafter, a reboot process may be initiated by the user manually or automatically. In response to the reboot request, according to one embodiment, USB storage device 108 may be authenticated with the host 104 over network 103, which may be wide area network (WAN) such as the Internet, or a local area network (LAN) such as a Intranet of an entity or company. The USB device 108 may be authenticated using authentication credentials 111 against the authentication credentials 101 of host computer 104. Only upon a successful authentication, the host computer 109 is rebooted from OS image 106 of the USB device 108; otherwise, the host computer 109 is rebooted as regularly using its own operating system.
  • Furthermore, upon successfully authenticating the USB device 108 with respect to host computer 104, data representing the first working environment 105 may be downloaded from host computer 104 to USB device 108 (e.g., as part of snapshot of working environment 107). The downloaded data may be encrypted via a public key of host computer 104 and may be decrypted by the USB device 108 using a private key associated with the public key.
  • Public key cryptography, also known as asymmetric cryptography, is a form of cryptography in which a user has a pair of cryptographic keys—a public key and a private key. The private key is kept secret, while the public key may be widely distributed. The keys are related mathematically, but the private key cannot be practically derived from the public key. A message encrypted with the public key can be decrypted only with the corresponding private key. Conversely, secret key cryptography, also known as symmetric cryptography uses a single secret key for both encryption and decryption.
  • The two main branches of public key cryptography are: 1) public key encryption—a message encrypted with a recipient's public key cannot be decrypted by anyone except the recipient possessing the corresponding private key; 2) digital signatures—a message signed with a sender's private key can be verified by anyone who has access to the sender's public key, thereby proving that the sender signed it and that the message has not been tampered with. Other techniques such as digital certificates may also be utilized. Note that the above authentication and encryption/decryption operations can be implemented using a variety of algorithms and/or protocols such as PGP (pretty good privacy) or RSA authentication algorithm.
  • During the reboot, either a warm boot or a cold boot, the BIOS code is executed to perform certain initialization operations (e.g., POST or power-on self-test). After the BIOS detects the inserted USB storage device, the BIOS may further detect a boot sector located within the USB storage device. For example, the BIOS may launch a local control program (not shown) of the USB storage device which in turn locates and executes the boot sector of the USB device to boot up the computer 109 using the OS image 106. Thus, instead of booting up computer 109 using the original OS of computer 109, the BIOS may invoke the local control program of the USB storage device to take over the booting sequence control. As a result, computer 109 is booted using the OS image 106.
  • Once the computer 109 boots up using OS image 106 to establish an operating environment (e.g., desktop environment), the personal configuration file 107, which may be downloaded from host computer 104 upon a successful authentication as described above, is extracted to configure the operating environment to include certain personal settings of the user. As a result, the operating environment of computer 109 may have a working environment similar to the one of computer 104, which the user is familiar with. Additional data or content such as content 102 may also be downloaded from host computer 104. Such content may be secure content such as CPRM/CPPM compliant content and such content may be authenticated or authorized by for example, authentication credentials 111 of the USB device 108. Further, a user of USB device 108 may securely access a remote server such as CPRM/CPPM license server to download or verify additional CPRM/CPPM content to be used in the host computer 109. For example, a user of USB device 108 may purchase additional CPRM/CPPM media content (e.g., audio/video content) from a server using certain CPRM/CPPM credentials stored in the USB device and play the downloaded media content using a CPRM/CPPM compliant media player.
  • Once the user has finished using the remote computer 109 (e.g., leaving the hotel or a client site), the user may unplug the portable storage device 108 from the host computer 109 and be ready to go home or go to another remote site. In response to the portable storage device 108 removed from the host computer 109, according to one embodiment, certain “garbage collection” operations may be performed on the host computer 109. For example, certain temporary files (e.g., cached files or temporary files downloaded from a Web page) stored at a storage of the host computer 109 may be erased. As a result, any possible personal confidential information associated with the user may be removed from the remote computer 109.
  • Furthermore, according to one embodiment, if the user modifies any settings of the working environment (e.g., changes of the address/phone book or Web links/bookmarks, etc.) while operating the host computer 109, prior to removing the portable storage device 108 from the host computer 109, at least a portion of the modified working environment settings may be saved back (e.g., synchronized) to the portable storage device 108. Thus, when a user carrying the portable storage device 108 goes back to the user's own computer (e.g., local or home computer), the modified working environment can be restored from the portable storage device 108 back to the user's own computer (e.g., computer 104).
  • FIG. 2 is a block diagram illustrating an example of a portable storage device according to one embodiment of the invention. For example, portable storage device 200 may be implemented as part of portable storage device 108 of FIG. 1. Referring to FIG. 2, portable storage device 200 includes, but is not limited to, an OS image 201, a personal working environment image 202, local control program or programs coupled to each other via a bus or interconnect 206, and authentication credentials 207 (e.g., username, password, private key). The portable storage device 200 further includes a bus interface logic 204 and bus interface 205 which are used to interface the portable storage device 200 with an external device (e.g., external host computer) via proper bus protocols (e.g., USB protocols). OS image 201 may be implemented as part of OS image 106 of FIG. 1 and personal working environment image 202 may be implemented as part of working environment image 107 of FIG. 1.
  • As described above, when the portable storage device 200 is inserted into an external host computer, the OS image 201 may be used to boot, via local control program 203, an external host computer without using the original OS of the external host computer. Once the host computer boots up and authenticated, the personal working environment image 202 is extracted and used to configure the operating environment of the host computer to have a predetermined working environment associated with a user of the portable storage device 200. Note that the personal working environment image 202 may be downloaded from a remote facility upon successful authentication as described above.
  • In addition, the portable storage device 200 may optionally include other control logic. In one embodiment, the other control logic is managed by the local control program 203. Further, portable storage device 200 may includes a variety of connectors (not shown), including an initialization connector, a shut-down connector, a power control connector, a status LED connector, a DC power LED connector, and/or a LCD display connector, etc. However, in another embodiment, the other control logic could include other components. The connectors can be coupled to LEDs (not shown) and an LCD display (not shown) integrated with the portable storage device 200. Further detailed information regarding operations of these components can be found in the above incorporated by reference applications.
  • According to certain embodiments, the portable storage device may be implemented in a single partition or multiple partitions. FIG. 3 is a block diagram illustrating an example of a portable storage device having multiple partitions in accordance with one embodiment of the invention. For example, portable storage device 300 may be implemented as part of portable storage device 200 of FIG. 2. Referring to FIG. 3, in one embodiment, portable storage device 300 includes multiple partitions for storing multiple different OS images such as Linux partition 301 for Linux OS related files and Windows partition 302 for Windows OS related files. Each of the OS related partitions includes a OS image (e.g., images 305-306) used to boot a host computer into a corresponding OS environment and an optional personal working environment image (e.g., images 307-308) to customize or personalize the corresponding OS environment, which may be downloaded from a remote facility upon successful authentication. The portable storage device 300 may further include a user partition 303 having user data files 309, user configurations 310 (e.g., firewall/anti-virus settings), and user applications 314 such as anti-virus, firewall applications, or a media player (e.g., CPRM/CPPM compliant media player). Further, portable storage device 300 includes a reserved partition 304 having a boot configuration 311, auto launcher program 312, and authentication credentials 313 (e.g., username/password/private key).
  • Specifically, referring to FIG. 3, Linux partition 301 stores Linux OS image 305, which includes the OS routines, definitions, modules, and drivers that are loaded into a computer's main memory just before running Linux. Linux-based user programs and data can also be stored in Linux partition 301, such as Linux anti-virus program which can scan for and clean viruses and other malware.
  • Microsoft Windows partition 302 includes Microsoft Windows OS image 306, which includes the OS routines, definitions, modules, applications-programming-interface (API) interpreters, and drivers that are loaded into a computer's main memory just before running Microsoft Windows. Microsoft Windows based user programs and related data can also be stored in Microsoft Windows partition 40, such as Microsoft Windows applications.
  • User partition 303 stores use data files 309 which may be accessed by any operating system when each OS has a corresponding driver or program that can open files of that file-type. User configurations 310 can include configuration data that may be specific to one operating system or another, or may include generic configuration information.
  • Reserved partition 304 is a partition of flash memory in the USB device that stores a control program and related data that is executed by the USB device itself. The USB device then notifies the host computer of the presence of a bootable device desiring to auto-launch an application. The host computer may then transfer control to the bootable device for execution. Boot configurations 311 includes configuration data about the partitions stored in the flash memory of the USB device, such as the association of partitions 301-302 with certain buttons described above, and which partition's data to transfer to a host computer and what action or program to run when each of buttons is activated.
  • Auto-launcher 312 is a program that helps copy data from one of partitions 301-302 to a host computer being booted when the portable storage device 300 is inserted into the host computer and recognized by the OS that is running on the host computer. Auto-launcher 312 may be a Launch Pad application that check the data type and brings up a list or menu of application software that end users can click on to activate their favorite application software for further action. For example, if the data is MP3 type, then auto-launcher 312 brings up a list of Media player or decoder software for end users to click and choose. Other configurations may exist. Further, the auto-launcher 312 may further trigger downloading content from a remote facility and use authentication credentials 313 to authenticate and/or decrypt the downloaded content.
  • FIG. 4 is a block diagram illustrating an example of personal working environment image according to one embodiment of the invention. For example, personal working environment 400 may be implemented as part of working environment images 307-308 of FIG. 3, which may also be downloaded from a remote facility upon successful authentication. Referring to FIG. 4, in this example, personal working environment 400 includes information representing a variety of personal or customized settings, including personal data and desktop settings 401, email client and settings 402, and personal contacts 403 such as an address book and/or phone book. The personal working environment 400 may further include certain Web browser settings such as, for example, Web browser bookmarks 404, Web browser cache 405, and Web site login information 406, etc. The personal working environment 400 may further include other applications such as anti-virus/SPAM applications or settings 407, personal favorite applications 408 such as media players, and personal communication settings 409 such as VoIP or instant messaging settings, etc. Other personal items may also be included.
  • FIG. 5 is a block diagram illustrating an example of a user partition according to one embodiment of the invention. For example, user partition 500 may be implemented as part of user partition 303 of FIG. 3. Referring to FIG. 5, user partition 500 stores user data files 502 which may be accessible in one or both operating systems, depending on applications available in the operating systems. Office suite programs 503 may include Microsoft Windows office software such as word processing, spreadsheet, contact, and scheduling software, or office suite software for Linux or another operating system. Virus program 504 can detect and remove viruses while running on Linux. Firewall program 505 protects the user's computer from external attacks when connected to a network such as the Internet. User configurations 501 can include a wide variety of user configuration data for one or for both operating systems. User profiles or workspaces stored in user configurations 52 may include parameters, email client images, web cookies, links, and universal resource locators (URL's), web browser add-on programs, address books, media playlists and settings, icons, and other user-specific data. Other components may also be included.
  • FIG. 6 is a flow diagram illustrating a process for establishing an operating environment of a host computer according to one embodiment of the invention. Note that process 600 may be performed by processing logic which may include software, hardware, or a combination of thereof. For example, process 600 may be performed by systems as shown in FIGS. 1A-1B and 2. Referring to FIG. 6, in response to a portable storage device (e.g., USB flash memory device) inserted into a first host computer, at block 601, processing logic stores authentication credentials (e.g., username/password and private key) associated with a user into a portable storage device (e.g., USB flash memory device) for remotely accessing a first host computer having a first working environment. At block 602, in response to an insertion of the portable storage device into a second host computer having a second working environment, mounting the portable storage device as a storage drive in the second host computer.
  • At block 603, in response to a request for rebooting the second host computer, processing logic authenticates the portable storage device with the first computer over a network using the authentication credentials stored in the portable storage device. In response to successful authentication, at block 604, rebooting the second host computer using an operating system image stored in the portable storage device. At block 605, processing logic downloads information representing the first working environment from the first host computer and configures the second host computer to have the first working environment, and operate the second host computer in a first working environment at block 606.
  • Once the user has finished using the second computer (e.g., leaving the hotel or a client site), the user may unplug the portable storage device from the second host computer and be ready to go home or go to another remote site. In response to the portable storage device removed from the second host computer, at block 607, processing logic may perform certain “garbage collection” operations on the second host computer. For example, certain temporary files (e.g., cached files or temporary files downloaded from a Web page) stored at a storage of the second host computer may be erased.
  • Furthermore, according to one embodiment, if the user modifies any settings of the working environment (e.g., changes of the address/phone book or Web links/bookmarks), prior to removing the portable storage device from the second host computer, at least a portion of the modified working environment settings may be saved back (e.g., synchronized) to the portable storage device. Thus, when a user carrying the portable storage device goes back to the user's own computer (e.g., local or home computer), the modified working environment can be restored back to the user's own computer. Other operations may also be performed.
  • Note that techniques described above in accordance with embodiments of the present invention can be applied to a variety of mass storage devices such as Serial ATA FLASH hard drive, IDE FLASH hard drive, SCSI FLASH hard drive and Ethernet FLASH hard drive. In addition, a FLASH controller in accordance with the present invention also applies to FLASH memory cards such as Express Card, Mini PCI Express Card, Secure Digital Card, Multi Media Card, Memory Stick Card and Compact FLASH card. Finally, a system in accordance with the present invention also applies to the other serial buses such as PCI Express bus, Serial ATA bus, IEEE 1394 bus and Ethernet bus. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.
  • According to certain embodiments of the invention, the techniques described above may also be applied to a workgroup configuration. FIG. 7 is a block diagram illustrating an example of a workgroup configuration according to one embodiment of the invention. Referring to FIG. 7, configuration 700 includes multiple members of a workgroup each having a portable storage device having respective authentication credentials therein to access a workgroup server upon successful authentication. In this example, Web server 701 includes workgroup related content 710 and workgroup members' authentication credentials 709 such as usernames/passwords and public keys, etc. Each member of the workgroup carries a portable storage device (e.g., devices 705-706) each having its respective authentication credentials (e.g., credentials 707-708), as well as other information such as OS image and/or personal working environment as described above. When a user plugs its portable storage device into a foreign host computer (e.g., host computers 703-704), the foreign host computer may be rebooted from the portable storage device using an OS image stored in the portable storage device and configured using a personal working environment (downloaded or retrieved from the portable storage device) as described above.
  • In addition, the user may access server 701 and get authenticated by the server 701 in view of the corresponding authentication credentials stored in the portable storage device. Once the user is authenticated successfully, the user can access the workgroup content 710. As a result, a workgroup member may use a portable storage device as an authentication pass to access its host account in a remote facility. A user can carry its portable storage device to various foreign host computers for work, or business meeting at a remote satellite office. Alternatively, a portable storage device described herein can be used as a personalized security access to a Web server through any host computer using the authentication credentials stored therein. When a portable storage device is plugged into a host computer and the security access has been approved using the credentials stored in the portable storage device, an end user gains access to remote server (e.g., Web server or application server or content portal) to download data or content, such as media content, video streams, application software, or user data. In addition, the user can also publish certain content in the server (e.g., Web server).
  • Further, the techniques described above may also be applied to handle CPRM/CPPM content using authentication credentials as well as CPRM/CPPM information stored in a portable storage device such that a user can access CPRM/CPPM content locally or remotely. FIG. 8 is a block diagram illustrating an example of system configuration which may be applied to CPRM/CPPM applications according to one embodiment of the invention. Referring to FIG. 8, a user associated with a local host 805 (e.g., home computer) replicates certain CPRM compliant data such as CPRM license/key and CPRM content (e.g., CPRM media content) into a portable storage device 804 (e.g., USB flash memory device). In addition, portable storage device 804 is equipped with CPRM software and/or hardware. When the portable storage device 804 is inserted into a foreign host computer 803, the CPRM software and/or hardware may communicate with a CPRM server 801 via the CPRM software of the foreign host computer 803 to validate certain CPRM content stored within the portable storage device 804. As a result, the user of the portable storage device 804 can access the CPRM content stored locally within the portable storage device 804 or remotely by downloading CPRM content from a remote site such as server 801 or its local host computer 805.
  • FIG. 9 is a flow diagram illustrating a process for establishing an operating environment of a host computer according to another embodiment of the invention. Note that process 900 may be performed by processing logic which may include software, hardware, or a combination of thereof. For example, process 900 may be performed by systems as shown in FIGS. 7-8. Referring to FIG. 9, at block 901, processing logic stores authentication credentials (e.g., username/password, private key, or digital certificate, etc.) associated with a user in a portable storage device (e.g., USB flash memory device) for remotely accessing a first host computer (e.g., Web server or Web portal). In response to an insertion of the portable storage device into a second host computer (e.g., foreign host computer), at block 902, the portable storage device is mounted as a storage drive. In response to a request for rebooting the second host computer, at block 903, processing logic authenticates the portable storage device with the first host computer over a network using the authentication credentials stored in the portable storage device. Upon a successful authentication, at block 904, the second host computer is rebooted using an operating system image stored in the portable storage device. At block 905, certain secure content (e.g., CPRM compliant content) may be downloaded from the first host computer over the network and decrypted using a private key stored in the portable storage device and thereafter, at block 906, the second host computer is operated with the decrypted content (e.g., using a media player to play CPRM media content such as songs and/or video streams). When the portable storage device is unplugged from the second host computer, at block 907, information or data temporarily stored in the second host computer while operating the second host computer is removed.
  • FIGS. 10A-10B show account and media player setup, media content downloading and playing for a secure digital rights management (DRM) system, according to one embodiment of the invention. For example, media player 1003 may be implemented as part of a portable storage device 804 having a built-in media player. Host computer 1002 may be implemented as part of foreign host 803. License server 1001 may be implemented as part of license server 801 of FIG. 8. In this example, the portable storage device contains a security key or a copy of valid license rights with a valid user account number or PIN (personal identification number). As described above, when the portable storage device is plugged into a host computer, a user gains access approval to remote Web server or a media content portal to view a list of media content (e.g., music, video clips, or movies, etc.) The user may purchase any of the media content from the remote server and play the purchased media content via a media player.
  • Referring to FIG. 10A, the manufacturer of media player 1003 pre-loads a unique media player ID 1004 into the device, or software on host PC 1002 pre-loads this unique media player ID 1004 into media player 1003. A user connects media player 1003 to host PC 1002, for example, through a USB interface, and activates special application software on host PC 1002 that reads unique media player ID 1004 from media player 1003. The user connects to license server 1001 using the software on host PC 1002 and establishes an account 1005 by sending unique media player ID 1004 to license server 1001. A user ID, account password, email address, and payment information may be provided by the user. Personal identifier number (PIN) 1007 or other acknowledgement number is generated by license server 1001 and emailed or otherwise sent to host PC 1002. PIN 1007 could also be a user-generated password or a validation code.
  • The user logs on to license server 1001 when desiring to download media content. Logon 1008 is responded to by license server 1001 by account lookup 1009 to find the user's account, and device ID validation 1010 that reads unique media player ID 1004 from media player 1003 and compares it to the unique media player ID stored in the user account information on license server 1001. The user is prevented from copying songs to a different device, unless that device is also registers and its unique media player ID 1004 received. Thus copying songs to many different media player devices is inhibited. The media content available for downloading is listed to the user 1011, and the user selects one or more media content for downloading 1012. The selected songs are prepared for downloading 1013 by license server 1001.
  • Referring to FIG. 10B, the media content selected by the user is encrypted by song encryption unit 1051, which uses a title key that is generated by license server 1001. The title key is itself encrypted by key encryptor 1052, using unique media player ID as an encrypting key. Unique media player ID 1004 was obtained from media player 1003 during account setup as shown in FIG. 10A and stored in license server 1001. The number of copies allowed, or other copy rules, are encrypted by copy encryptor 1053, which also uses unique media player ID as the encrypting key. The encrypted song, title key, and copy rules are sent from license server 1001 to host PC 1002. Host PC 1002 stores encrypted song 1057 and encrypted title key 1056 and does not need to decrypt them. However, the encrypted copy rules are decrypted by rule decryptor 1054 using unique media player ID 1004 read from media player 1003 as the decryption key. The recovered number of copies is stored as copy rules 1055, and decremented by decrementor 1058 for each copy made by host PC 1002 of encrypted song 1057.
  • When the number of copies remaining reaches zero, copying is disabled by host PC 1002 and encrypted song 1057 cannot be copied to media player 1003. Otherwise encrypted song 1057, encrypted title key 1056, and PC ID 1066 are copied to media player 1003 and stored as encrypted song 1060, encrypted title key 1059, and PC ID 1061 in the flash memory of media player 1003. PC ID 1066 can be the unique CPU ID from the processor in host PC 1002, a hashed ID, or some other value that identifies host PC 1002. This PC ID is also pre-loaded by host PC 1002 on media player 1003 and stored on media player 1003. PC ID 1066 may also be sent to license server 1001 such as during account logon.
  • When PC ID 1061 does not match the pre-loaded PC ID in media player 1003, match 1062 blocks playback by preventing decryption of encrypted title key 1059. Otherwise, when PC ID's match, encrypted title key 1059 is decrypted by decryptor 1063 to obtain the title key that unlocks encrypted song 1060 using song decryptor 1064. Media decoder 1065 can then playback the media content to the user. Further detailed information regarding the techniques described above can be found in a co-pending U.S. patent application Ser. No. 11/668,316, filed Jan. 29, 2007, which as been assigned to a common assignee of this application and is herein incorporated by reference in its entirety.
  • FIG. 11 is a block diagram illustrating a host computer according to one embodiment of the invention. FIG. 12 is a block diagram illustrating a portable storage device according to one embodiment of the invention. Host computer 1100 of FIG. 11 and portable storage device 1200 of FIG. 12 may be implemented as any of the host computers and portable storage devices described above. Referring to FIGS. 11 and 12, a system for providing security to an electronic data flash card includes a host system generally designated 1100 and an electronic data flash card generally designated 1200 which may be coupled to the host system 1100. The host system 100 includes a central processing unit (CPU) 1102 coupled to a bus 1110 (generally indicated by signal lines. CPU 1102 may be operable to control data flow between the host system 1100 and the electronic data flash card 1200 and to control encryption and decryption engines as further described herein. A computer interface unit 1101 is coupled to bus 1110 and provides a means for entering an unencrypted user password under CPU control. In one embodiment, computer interface unit 1101 includes a keyboard, scanner, or finger print/eye pattern reader. Disk storage 1104 is coupled to the bus 1110 and provides local storage for the CPU instructions, and stores data to be read/written to the electronic data flash card 1200.
  • A first latch 1103 is coupled to the bus 1110 and provides a means for temporarily storing a random number generated by a electronic data flash card random number generator 204 under control of a electronic data flash card microprocessor (not shown) as further described herein. A first encryption engine 1106 is coupled to the bus 1110 and provides encryption of an unencrypted logical block address (LBA), an unencrypted password, and unencrypted data using the latched random number. A second encryption engine 1109 is coupled to the bus 1110 and provides encryption of the latched random number using a predetermined (device specific) key to generate an encrypted random number. The predetermined key is generated by the CPU 1102 using a predetermined algorithm and a predetermined identification value that is assigned to electronic data flash card 1200 (e.g., a product identification number or device serial number, or a valid user-defined password).
  • In one embodiment, the predetermined key for a particular electronic data flash card is a predetermined portion of a device serial number that is transmitted from electronic data flash card 1200 to host system 1100 at power up (e.g., when electronic data flash card 1200 is plugged into a USB female socket provided on host system 1100). By generating and/or reproducing the predetermined key for each electronic data flash card 1200 in this manner, host system 1100 is not required to store the predetermined key associated with every electronic data flash card 1200 that may be coupled to host 1100, thereby minimizing the use of storage space and avoiding the need to perform an initiation process before using each electronic data flash card 1200. In addition, this approach provides host systems located at different locations a consistent way to determine the predetermined keys assigned to a large number of electronic data flash cards 1200, thereby allowing each host system to retrieve the encrypted data written by another host system.
  • A first decryption engine 11107 is coupled to the bus 1110 and provides decryption of encrypted data received from the electronic data flash card 1200 during a read operation using the random number provided by a second decryption engine 1108. The second decryption engine 1108 is coupled to the bus 1110 and provides decryption of the encrypted random number received from the electronic data flash card 200, also during the read operation, using the predetermined key to regenerate the random number provided to the first decryption engine 1107.
  • A host communication port 1105 is coupled to the bus 1110 and may include an interface such as a USB interface, a serial communication port interface, an Ethernet port interface and a wireless port interface. The host communication port 1105 is used to establish a communication link with a communication port (input/output interface circuit) 1203 of electronic data flash card 1200 over a suitable communication medium (interface bus).
  • In one embodiment, electronic data flash card 1200 includes microprocessor (not shown) and additional circuits that are mounted on a card body in the manner described above, and that are interconnected (coupled) by a bus 1210. In particular, random number generator 1204 is coupled to bus 1210, and provides the random number which is temporarily stored in a second latch 1205, also coupled to bus 1210. Random number generator 1204 may be a pseudo-random number generator, or use thermal noise as a source of true randomness. A storage medium 1209 is coupled to bus 1210, and in one embodiment includes one or more flash memory devices. Storage medium 1209 provides storage for the encrypted random number, the encrypted data, a hashed password as further described herein, and an electronic data flash card serial number or other identifying information that is unique to electronic data flash card 1200. Writing data to and reading data from storage medium 1209 is performed using a Physical Block Address (PBA) that is provided by a PBA translator 1206, which is coupled to bus 1210. Storage medium 1209 may further include public and secure areas.
  • A decryption engine 1208 is coupled to bus 1210, and provides decryption of an encrypted password and an encrypted LBA received from host system 1100. A first hash engine 1212, which is coupled to bus 1210, provides a hashed password generated from the decrypted password received from decryption engine 1208. The hashed password is stored in the storage medium 1209. A second hash engine 1214, also coupled to the bus 1210, provides, in one embodiment, a hashed serial number that is generated from the device serial number for electronic data flash card 1200 that is stored in the reserved sector of storage medium 1209. A scramble engine 1216, also coupled to the 1210, generates an index from the unencrypted LBA and the hashed serial number. PBA translator 1206 translates the index into the PBA for the address to access the storage medium 1209. A comparator 1207, also coupled to the bus 1210, compares a hashed password with a previously stored hashed password. Further detailed information regarding the host 1100 and portable storage device 1200 can be found in a co-pending U.S. patent application Ser. No. 11/685,143, filed Mar. 12, 2007, which has been assigned to a common assignee of this application and is incorporated by reference herein in its entirety.
  • Thus, techniques for booting a host computer from a portable storage device with customized settings with secure measure have been described herein. Some portions of the preceding detailed descriptions have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the ways used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
  • It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
  • Embodiments of the present invention also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), erasable programmable ROMs (EPROMs), electrically erasable programmable ROMs (EEPROMs), magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
  • The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method operations. The required structure for a variety of these systems will appear from the description below. In addition, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of embodiments of the invention as described herein.
  • A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium includes read only memory (“ROM”); random access memory (“RAM”); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc.
  • In the foregoing specification, embodiments of the invention have been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of the invention as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.

Claims (20)

1. A computer-implemented method for establishing an operating environment of a computer, the method comprising:
in response to detecting a portable storage device inserted into a first host computer having a first operating environment provided by a first operating system (OS) installed in the first host computer, mounting the portable storage device into a file system of the first host computer;
in response to a request for rebooting the first host computer, authenticating the portable storage device using a private key stored within the portable storage device against a public key stored in a second host computer over a network;
in response to successfully authenticating the portable storage device, downloading from the second host computer over the network data representing a personal working environment associated with a user of the portable storage device;
rebooting the first host computer into a second operating environment using a second OS image stored in the portable storage device; and
configuring the second operating environment of the first host computer using the obtained settings of the personal working environment, such that the user of the portable storage device can operate the second host computer in view of the personal working environment.
2. The method of claim 1, wherein the portable storage device is a USB (universal serial bus) compatible storage device, and wherein the portable storage device is inserted into a USB interface of the first host computer.
3. The method of claim 2, further comprising:
during rebooting the first host computer, a BIOS (basic input/output system) of the first host computer invoking a control program stored in the portable storage device to take over a booting process of the first host computer,
wherein the control program of the portable storage device, when invoked from the BIOS of the first host computer, is configured to extract the second OS image from the portable storage device and to boot the first host computer using the second OS without using information from a boot sector of the first host computer.
4. The method of claim 3, further comprising:
prior to inserting the portable storage device into the first host computer, inserting the portable storage device into the second host computer;
generating the public key and the private key;
replicating the private key from the second host computer to the portable storage device;
optionally capturing personal settings associated with the second operating environment of the second host computer; and
optionally downloading the captured personal settings into the portable storage device as the personal configuration file which can be used to configure the second operating environment of the first host computer after rebooting the first host computer using the second OS image from the portable storage device.
5. The method of claim 4, wherein the second host computer is a local computer associated with the user of the portable storage device, and wherein the first host computer is a remote computer with respect to the user of the portable storage device.
6. The method of claim 5, wherein the first host computer after being configured using the personal configuration file, when operated, has an appearance of an operating environment similar to an appearance of an operating environment of the second host computer.
7. The method of claim 5, further comprising:
detecting that the portable storage device is unplugged from the first host computer; and
in response to the detection, removing one or more files associated with the personal working environment that are temporarily stored in a storage of the first host computer during operating the first host computer in the second operating environment.
8. The method of claim 7, wherein the personal configuration file comprises personal setting information selected from at least one of:
personal data and/or desktop settings;
email client and the associated data;
personal contacts including at least one of an address book and phone book;
Web browser settings including at least one of bookmarks, browser cache, and Web site login information;
anti-virus settings;
media players; and
personal communications settings.
9. The method of claim 5, wherein the second host computer is a Web server, wherein the user, upon successfully being authenticated via the private key, can access content of the Web server and/or publish content on the Web server.
10. The method of claim 9, wherein second host computer is associated with a workgroup having a plurality of members, wherein the user is a member of the workgroup, and wherein each of the plurality of members in the workgroup is able to, upon successfully authenticating the respective member with the second host computer, access the content stored in the second host computer.
11. The method of claim 9, wherein the Web server is a content protection for recordable media (CPRM) compatible server having CPRM compliant content to be downloaded, wherein the portable storage device includes CPRM authentication information which is used to authenticate and decrypt the CPRM compliant content downloaded from the Web server.
12. The method of claim 11, wherein the CPRM compliant content is media content playable via a media player stored in the portable storage device, wherein the media player is a CPRM compatible media player associated with the CPRM authentication information stored within the portable storage device.
13. A portable storage device, comprising:
a first storage area to store an operating system (OS) image;
a second storage area to store a private key; and
a bus interface logic coupled to the first storage area and the second storage area, wherein when the portable storage device is inserted into a first host computer having a first operating environment, the portable storage device is authenticated using the private key against a public key stored in a second host computer over a network,
wherein upon a successful authentication, the first host computer is rebooted; the bus interface logic causes the first host computer to boot from the OS image from the first storage area of the portable device to have a second operating environment rather than the first operating environment; and data representing a personal working environment associated with a user of the portable storage device is downloaded from the second host computer over the network, and
wherein after rebooting, the second operating environment of the first host computer is configured using the data representing the personal working environment to enable the second operating environment of the first host computer to operate in a personal settings similar to the second host computer.
14. The method of claim 13, wherein the portable storage device is a USB (universal serial bus) compatible storage device, and wherein the portable storage device is inserted into a USB interface of the first host computer.
15. A computer-implemented method for establishing an operating environment of a computer, the method comprising:
in response to detecting a portable storage device inserted into a first host computer having a first operating environment provided by a first operating system (OS) installed in the first host computer, rebooting the first host computer into a second operating environment using a second OS image stored in the portable storage device;
authenticating the portable storage device with a second host computer over a network using a private key stored in the portable storage device against a public key stored in the second host computer;
in response to a successful authentication, downloading secured content from the second host computer over the network to the first host computer;
decrypting the downloaded secured content in the first host computer, including decrypting content protection for recordable media (CPRM) compatible content using CPRM authentication information stored within the portable storage device; and
accessing the downloaded and/or decrypted content within the second operating environment including playing CPRM compliant media content using a CPRM compliant media player executed from the portable storage device.
16. The method of claim 15, wherein the portable storage device is a USB (universal serial bus) compatible storage device, and wherein the portable storage device is inserted into a USB interface of the first host computer.
17. The method of claim 16, further comprising:
mounting the portable storage device into a file system of the first host computer prior to rebooting the first host computer; and
during rebooting the first host computer, a BIOS (basic input/output system) of the first host computer invoking a control program stored in the portable storage device to take over a booting process of the first host computer,
wherein the control program of the portable storage device, when invoked from the BIOS of the first host computer, is configured to extract the second OS image from the portable storage device and to boot the first host computer using the second OS without using information from a boot sector of the first host computer.
18. The method of claim 17, further comprising:
prior to inserting the portable storage device into the first host computer, inserting the portable storage device into the second host computer;
generating the public key and the private key; and
replicating the private key from the second host computer to the portable storage device.
19. The method of claim 18, wherein the second host computer is a Web server which is a content protection for recordable media (CPRM) compatible server having CPRM compliant content to be downloaded, wherein the portable storage device includes CPRM authentication information which is used to authenticate and decrypt the CPRM compliant content downloaded from the Web server.
20. The method of claim 19, wherein the CPRM compliant content is media content playable via a media player stored in the portable storage device, wherein the media player is a CPRM compatible media player associated with the CPRM authentication information stored within the portable storage device.
US11/861,133 2000-01-06 2007-09-25 Portable usb device that boots a computer as a server with security measure Abandoned US20080082813A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/861,133 US20080082813A1 (en) 2000-01-06 2007-09-25 Portable usb device that boots a computer as a server with security measure
TW97104230A TW200915183A (en) 2007-09-25 2008-02-04 Portable USB device that boots a computer as a server with security measure
CNA2008100080354A CN101398764A (en) 2007-09-25 2008-03-04 Portable usb device that boots a computer as a server with security measure

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US09/478,720 US7257714B1 (en) 1999-10-19 2000-01-06 Electronic data storage medium with fingerprint verification capability
US10/002,652 US7103765B2 (en) 2001-09-25 2001-10-19 Method and system for providing a modulized server on board
US10/762,934 US20050160213A1 (en) 2004-01-21 2004-01-21 Method and system for providing a modular server on USB flash storage
US11/040,326 US20060161725A1 (en) 2005-01-20 2005-01-20 Multiple function flash memory system
US11/377,235 US7631195B1 (en) 2006-03-15 2006-03-15 System and method for providing security to a portable storage device
US11/624,667 US20070130436A1 (en) 1999-10-19 2007-01-18 Electronic Data Storage Medium With Fingerprint Verification Capability
US11/685,143 US7873837B1 (en) 2000-01-06 2007-03-12 Data security for electronic data flash card
US11/838,192 US7930531B2 (en) 2000-01-06 2007-08-13 Multi-partition USB device that re-boots a PC to an alternate operating system for virus recovery
US11/846,746 US7987006B2 (en) 2007-08-29 2007-08-29 Automatic generation of PID parameters for a scanning probe microscope
US11/861,133 US20080082813A1 (en) 2000-01-06 2007-09-25 Portable usb device that boots a computer as a server with security measure

Related Parent Applications (2)

Application Number Title Priority Date Filing Date
US11/685,143 Continuation-In-Part US7873837B1 (en) 1999-08-04 2007-03-12 Data security for electronic data flash card
US11/846,746 Continuation-In-Part US7987006B2 (en) 2000-01-06 2007-08-29 Automatic generation of PID parameters for a scanning probe microscope

Publications (1)

Publication Number Publication Date
US20080082813A1 true US20080082813A1 (en) 2008-04-03

Family

ID=39262397

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/861,133 Abandoned US20080082813A1 (en) 2000-01-06 2007-09-25 Portable usb device that boots a computer as a server with security measure

Country Status (1)

Country Link
US (1) US20080082813A1 (en)

Cited By (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060242262A1 (en) * 2005-04-22 2006-10-26 Sony Dadc Austria Ag Method for downloading content from a server onto a recording medium as well as recording medium being suitable therefor
US20070113279A1 (en) * 2005-11-14 2007-05-17 Phison Electronics Corp. [portable storage device]
US20080134312A1 (en) * 2005-05-24 2008-06-05 Napster Llc System and method for unlimited licensing to a fixed number of devices
US20080172555A1 (en) * 2007-01-17 2008-07-17 Erink Technologies, Llc Bootable thin client personal initialization device
US20080189349A1 (en) * 2007-02-05 2008-08-07 Broadcom Corporation Media Transport Protocol Extensions for System Information Exchange, and Applications Thereof
US20080288788A1 (en) * 2007-05-16 2008-11-20 Broadcom Corporation Digital Rights Management Metafile, Management Protocol and Applications Thereof
US20090083429A1 (en) * 2007-05-16 2009-03-26 Broadcom Corporation Generic Digital Rights Management Framework, and Applications Thereof
US20090150674A1 (en) * 2007-12-05 2009-06-11 Uniloc Corporation System and Method for Device Bound Public Key Infrastructure
US20090210948A1 (en) * 2008-02-20 2009-08-20 International Business Machines Corporation Remote computer rebooting tool
US7591018B1 (en) * 2004-09-14 2009-09-15 Trend Micro Incorporated Portable antivirus device with solid state memory
US20090249066A1 (en) * 2008-03-25 2009-10-01 Feitian Technologies Co., Ltd. Method for Safe Operation and A System Thereof
US20090257804A1 (en) * 2008-04-10 2009-10-15 Manico Joseph A Simplified walk-up enablement of internet-based, personalized access to retail imaging devices and services
US20090276618A1 (en) * 2008-04-14 2009-11-05 Afchine Madjlessi Portable device and method for externally generalized starting up of a computer system
US20100058056A1 (en) * 2007-04-25 2010-03-04 Innocom Technology (Shenzhen) Co., Ltd.:Innolux Display Corp. Display system with security enhancement function
US20100077195A1 (en) * 2008-09-24 2010-03-25 Kai Altstaedt Method and a memory unit for booting a server
US20100107241A1 (en) * 2008-10-23 2010-04-29 Dell Products L.P. Secure caching of server credentials
US20100115116A1 (en) * 2008-11-03 2010-05-06 Micron Technology, Inc. System and method for switching communication protocols in electronic interface devices
US20100132042A1 (en) * 2008-11-24 2010-05-27 Shenzhen Huawei Communication Technologies Co., Ltd. Method for upgrading antivirus software and terminal and system thereof
US20100161997A1 (en) * 2008-12-18 2010-06-24 Electronics And Telecommunications Research Institute Apparatus and method for authenticating personal use of contents by using portable storage
CN101770386A (en) * 2010-03-08 2010-07-07 北京飞天诚信科技有限公司 Safe startup method for Linux embedded system
US20100228906A1 (en) * 2009-03-06 2010-09-09 Arunprasad Ramiya Mothilal Managing Data in a Non-Volatile Memory System
US20100235750A1 (en) * 2009-03-12 2010-09-16 Bryce Douglas Noland System, method and program product for a graphical interface
WO2010097090A3 (en) * 2009-02-25 2010-11-25 Aarhus Universitet Controlled computer environment
US20100313037A1 (en) * 2009-06-04 2010-12-09 Ward Rory A Collectible case authentication system, device and method
US20100313271A1 (en) * 2009-06-08 2010-12-09 Johnson Simon B Portable media system with virus blocker and method of operation thereof
US20100325424A1 (en) * 2009-06-19 2010-12-23 Etchegoyen Craig S System and Method for Secured Communications
US20110035574A1 (en) * 2009-08-06 2011-02-10 David Jevans Running a Computer from a Secure Portable Device
US20110035513A1 (en) * 2009-08-06 2011-02-10 David Jevans Peripheral Device Data Integrity
US20110088025A1 (en) * 2009-10-13 2011-04-14 Microsoft Corporation Use of software update policies
US7975084B1 (en) * 2008-02-06 2011-07-05 American Megatrends, Inc. Configuring a host computer using a service processor
ITTO20100171A1 (en) * 2010-03-05 2011-09-06 Elsag Datamat Spa PORTABLE ELECTRONIC DEVICE INTERFACEABLE TO A CALCULATOR
US20120117370A1 (en) * 2007-01-05 2012-05-10 Microsoft Corporation Hardware diagnostics and software recovery on headless server appliances
US20120159575A1 (en) * 2009-09-09 2012-06-21 Sony Corporation Communication system, communication device, communication method, and computer program
US8234502B2 (en) 2008-08-29 2012-07-31 International Business Machines Corporation Automated password authentication
WO2012111018A1 (en) * 2011-02-17 2012-08-23 Thozhuvanoor Vellat Lakshmi Secure tamper proof usb device and the computer implemented method of its operation
US20130007467A1 (en) * 2011-06-29 2013-01-03 Divx, Llc Binding of cryptographic content using unique device characteristics with server heuristics
US20130097689A1 (en) * 2011-10-17 2013-04-18 Stephen Villoria Creation and management of digital content and workflow automation via a portable identification key
US20130125249A1 (en) * 2009-06-17 2013-05-16 Microsoft Corporation Remote Access Control Of Storage Devices
US8446834B2 (en) 2011-02-16 2013-05-21 Netauthority, Inc. Traceback packet transport protocol
US8495359B2 (en) 2009-06-22 2013-07-23 NetAuthority System and method for securing an electronic communication
US20130246558A1 (en) * 2008-05-16 2013-09-19 Steven V. Bacastow Method and System for Secure Mobile File Sharing
US8613091B1 (en) * 2004-03-08 2013-12-17 Redcannon Security, Inc. Method and apparatus for creating a secure anywhere system
US8881280B2 (en) 2013-02-28 2014-11-04 Uniloc Luxembourg S.A. Device-specific content delivery
US20140331243A1 (en) * 2011-10-17 2014-11-06 Media Pointe Inc. System and method for digital media content creation and distribution
US20140359306A1 (en) * 2013-06-03 2014-12-04 Fujitsu Semiconductor Limited System, information processing apparatus, secure module, and verification method
US8949954B2 (en) 2011-12-08 2015-02-03 Uniloc Luxembourg, S.A. Customer notification program alerting customer-specified network address of unauthorized access attempts to customer account
US9009359B2 (en) 2013-03-29 2015-04-14 International Business Machines Corporation Emulating multiple universal serial bus (USB) keys so as to efficiently configure different types of hardware
US9054874B2 (en) 2011-12-01 2015-06-09 Htc Corporation System and method for data authentication among processors
US9245131B2 (en) 2013-03-29 2016-01-26 International Business Machines Corporation Multi-user universal serial bus (USB) key with customizable file sharing permissions
US9330282B2 (en) 2009-06-10 2016-05-03 Microsoft Technology Licensing, Llc Instruction cards for storage devices
US9336375B1 (en) * 2009-07-28 2016-05-10 Sprint Communications Company L.P. Restricting access to data on portable storage media based on access to a private intranet
USRE46023E1 (en) * 2008-08-20 2016-05-31 Sandisk Technologies Inc. Memory device upgrade
US20160261412A1 (en) * 2015-03-04 2016-09-08 Avaya Inc. Two-Step Authentication And Activation of Quad Small Form Factor Pluggable (QFSP+) Transceivers
US9565200B2 (en) 2014-09-12 2017-02-07 Quick Vault, Inc. Method and system for forensic data tracking
US9564952B2 (en) 2012-02-06 2017-02-07 Uniloc Luxembourg S.A. Near field authentication through communication of enclosed content sound waves
US9582686B1 (en) * 2007-11-13 2017-02-28 Altera Corporation Unique secure serial ID
US20170123809A1 (en) * 2015-10-30 2017-05-04 Ncr Corporation Diagnostics only boot mode
US9720852B2 (en) * 2013-03-29 2017-08-01 International Business Machines Corporation Universal serial bus (USB) key functioning as multiple USB keys so as to efficiently configure different types of hardware
US20170243021A1 (en) * 2016-02-22 2017-08-24 Dell Products, L.P. Method for local key management setup and recovery
CN107545190A (en) * 2016-06-27 2018-01-05 鸿富锦精密工业(武汉)有限公司 Data protection system and data guard method
US20180012022A1 (en) * 2015-03-11 2018-01-11 Hewlett-Packard Development Company, L.P. Booting user devices to custom operating system (os) images
US10154037B2 (en) * 2017-03-22 2018-12-11 Oracle International Corporation Techniques for implementing a data storage device as a security device for managing access to resources
US10206060B2 (en) 2012-01-04 2019-02-12 Uniloc 2017 Llc Method and system for implementing zone-restricted behavior of a computing device
US20190058589A1 (en) * 2012-02-09 2019-02-21 Bentel Security S.R.L. Device and method for managing electronic facilities of buildings
US20200004951A1 (en) * 2017-03-03 2020-01-02 Gopc Pty Ltd Computing systems and methods

Citations (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623552A (en) * 1994-01-21 1997-04-22 Cardguard International, Inc. Self-authenticating identification card with fingerprint identification
US5907856A (en) * 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5959541A (en) * 1997-09-23 1999-09-28 Accu-Time Systems, Inc. Biometric time and attendance system with epidermal topographical updating capability
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US6012636A (en) * 1997-04-22 2000-01-11 Smith; Frank E. Multiple card data system having first and second memory elements including magnetic strip and fingerprints scanning means
US6069920A (en) * 1994-01-18 2000-05-30 Siemens Aktiengesellschaft Method and arrangement for transmitting voice in a radio system
US6081858A (en) * 1997-11-26 2000-06-27 Cirrus Logic, Inc. Apparatus and method for shaping random waveforms
US6125192A (en) * 1997-04-21 2000-09-26 Digital Persona, Inc. Fingerprint recognition system
US6193152B1 (en) * 1997-05-09 2001-02-27 Receiptcity.Com, Inc. Modular signature and data-capture system and point of transaction payment and reward system
US6202138B1 (en) * 1995-07-31 2001-03-13 Lexar Media, Inc Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US6275894B1 (en) * 1998-09-23 2001-08-14 Advanced Micro Devices, Inc. Bank selector circuit for a simultaneous operation flash memory device with a flexible bank partition architecture
US20010042212A1 (en) * 2000-02-28 2001-11-15 Du Sterling D. Smart card enabled mobile personal computing environment system
US20010043174A1 (en) * 1996-10-31 2001-11-22 Jeffrey Jacobsen Display system for wireless pager
US6321478B1 (en) * 1998-12-04 2001-11-27 Smith & Wesson Corp. Firearm having an intelligent controller
US20020135613A1 (en) * 2001-03-21 2002-09-26 O'hara Sean M. Transfer of personal information between computing systems
US20020147912A1 (en) * 2000-10-27 2002-10-10 Shimon Shmueli Preference portability for computing
US20020166023A1 (en) * 1999-04-15 2002-11-07 Dell Products, L.P. High speed bus interface for non-volatile integrated circuit memory supporting continuous transfer
US20030046510A1 (en) * 2001-03-30 2003-03-06 North Gregory Allen System-on-a-chip with soft cache and systems and methods using the same
US6547130B1 (en) * 1999-06-03 2003-04-15 Ming-Shiang Shen Integrated circuit card with fingerprint verification capability
US20030145191A1 (en) * 2002-01-25 2003-07-31 Samsung Electronics Co., Ltd. Computer system and method of controlling the same
US20030159028A1 (en) * 1999-04-28 2003-08-21 Tranxition Corporation Method and system for automatically transitioning of configuration settings among computer systems
US20030163656A1 (en) * 2002-02-26 2003-08-28 Ganton Robert Bruce Memory configuration for a wireless communications device
US6636929B1 (en) * 2000-04-06 2003-10-21 Hewlett-Packard Development Company, L.P. USB virtual devices
US6718407B2 (en) * 1999-09-30 2004-04-06 Intel Corporation Multiplexer selecting one of input/output data from a low pin count interface and a program information to update a firmware device from a communication interface
US20040095382A1 (en) * 2002-11-19 2004-05-20 Fisher Ken Scott Portable memory drive retaining personalized interface on multiple host computers
US20040103274A1 (en) * 2002-09-23 2004-05-27 Kuo Shih-Chieh System and method for transferring user system settings between computer systems and storage medium
US20040139309A1 (en) * 2002-07-23 2004-07-15 Twingo Systems Method, system, apparatus and program product for temporary personalization of a computer terminal
US20040148482A1 (en) * 2003-01-13 2004-07-29 Grundy Kevin P. Memory chain
US20040184174A1 (en) * 2003-02-18 2004-09-23 Woo Joong Gu Portable data storage device
US20040255054A1 (en) * 2003-06-10 2004-12-16 Khein-Seng Pua High-speed data transmission device
US6880024B2 (en) * 2003-06-12 2005-04-12 Phison Electronics Corp. Control system for memory storage device having two different interfaces
US20050102444A1 (en) * 2003-11-07 2005-05-12 Cruz Arnaldo R. Memory controller useable in a data processing system
US20050120146A1 (en) * 2003-12-02 2005-06-02 Super Talent Electronics Inc. Single-Chip USB Controller Reading Power-On Boot Code from Integrated Flash Memory for User Storage
US20050160213A1 (en) * 2004-01-21 2005-07-21 Chen Ben W. Method and system for providing a modular server on USB flash storage
US6926199B2 (en) * 2003-11-25 2005-08-09 Segwave, Inc. Method and apparatus for storing personalized computing device setting information and user session information to enable a user to transport such settings between computing devices
US20050193161A1 (en) * 2004-02-26 2005-09-01 Lee Charles C. System and method for controlling flash memory
US20050193188A1 (en) * 2004-02-28 2005-09-01 Huang Evan S. Method and apparatus for operating a host computer from a portable apparatus
US6944790B2 (en) * 2001-04-05 2005-09-13 International Business Machines Corporation System and method for collecting and restoring user environment data using removable storage
US20050204013A1 (en) * 2004-03-05 2005-09-15 International Business Machines Corporation Portable personal computing environment technologies
US20050235045A1 (en) * 2004-03-05 2005-10-20 International Business Machines Corporation Portable personal computing environment server
US20050246243A1 (en) * 2004-04-30 2005-11-03 Adams Neil P System and method for handling peripheral connections to mobile devices
US6963908B1 (en) * 2000-03-29 2005-11-08 Symantec Corporation System for transferring customized hardware and software settings from one computer to another computer to provide personalized operating environments
US20050268082A1 (en) * 2000-04-28 2005-12-01 Poisner David I Method and apparatus to boot system from the USB port
US20060047944A1 (en) * 2004-09-01 2006-03-02 Roger Kilian-Kehr Secure booting of a computing device
US20060065743A1 (en) * 2004-09-30 2006-03-30 Stmicroelectronics, Inc. USB device with secondary USB on-the-go function
US20060075174A1 (en) * 2004-10-06 2006-04-06 Mr. Cory Vuong Vuong Method and aparatus for plug-and-play webserver
US20060106962A1 (en) * 2004-11-17 2006-05-18 Woodbridge Nancy G USB On-The-Go implementation
US20060161725A1 (en) * 2005-01-20 2006-07-20 Lee Charles C Multiple function flash memory system
US7103765B2 (en) * 2001-09-25 2006-09-05 Ben Wei Chen Method and system for providing a modulized server on board
US20060206702A1 (en) * 2005-03-09 2006-09-14 Wyse Technology Inc. Operating system boot from external media
US20060242395A1 (en) * 2005-03-09 2006-10-26 Wyse Technology Inc. Operating system boot from network location
US20070112552A1 (en) * 2005-11-17 2007-05-17 International Business Machines Corporation Native function of portable electronic device surfaced as soft device in host computer
US20070113267A1 (en) * 2005-11-14 2007-05-17 Route1 Inc. Portable device for accessing host computer via remote computer
US20070113069A1 (en) * 2003-07-23 2007-05-17 Gentil Gregoire A Method, system, apparatus, and program product for temporary personalization of a computer terminal
US20070124536A1 (en) * 2005-11-09 2007-05-31 Electronic Plastics, Llc Token device providing a secure work environment and utilizing a virtual interface
US20070130436A1 (en) * 1999-10-19 2007-06-07 Super Talent Electronics, Inc. Electronic Data Storage Medium With Fingerprint Verification Capability
US20070226481A1 (en) * 2004-02-18 2007-09-27 Wyse Technology, Inc. Computing device deployment using mass storage device
US7293170B2 (en) * 2005-06-06 2007-11-06 Tranxition Corporation Changing the personality of a device by intercepting requests for personality information
US20080163208A1 (en) * 2006-12-29 2008-07-03 Jeremy Burr Virtual machine creation for removable storage devices
US20080244689A1 (en) * 2007-03-30 2008-10-02 Curtis Everett Dalton Extensible Ubiquitous Secure Operating Environment
US20080256536A1 (en) * 2007-04-11 2008-10-16 Xiaoming Zhao Portable secured computing environment for performing online confidential transactions in untrusted computers
US20090070572A1 (en) * 2007-09-11 2009-03-12 Mark Shahaf Method and apparatus for portable computing environment
US7620667B2 (en) * 2003-11-17 2009-11-17 Microsoft Corporation Transfer of user profiles using portable storage devices

Patent Citations (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US6069920A (en) * 1994-01-18 2000-05-30 Siemens Aktiengesellschaft Method and arrangement for transmitting voice in a radio system
US5623552A (en) * 1994-01-21 1997-04-22 Cardguard International, Inc. Self-authenticating identification card with fingerprint identification
US6202138B1 (en) * 1995-07-31 2001-03-13 Lexar Media, Inc Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5907856A (en) * 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US20010043174A1 (en) * 1996-10-31 2001-11-22 Jeffrey Jacobsen Display system for wireless pager
US6125192A (en) * 1997-04-21 2000-09-26 Digital Persona, Inc. Fingerprint recognition system
US6012636A (en) * 1997-04-22 2000-01-11 Smith; Frank E. Multiple card data system having first and second memory elements including magnetic strip and fingerprints scanning means
US6193152B1 (en) * 1997-05-09 2001-02-27 Receiptcity.Com, Inc. Modular signature and data-capture system and point of transaction payment and reward system
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US5959541A (en) * 1997-09-23 1999-09-28 Accu-Time Systems, Inc. Biometric time and attendance system with epidermal topographical updating capability
US6081858A (en) * 1997-11-26 2000-06-27 Cirrus Logic, Inc. Apparatus and method for shaping random waveforms
US6275894B1 (en) * 1998-09-23 2001-08-14 Advanced Micro Devices, Inc. Bank selector circuit for a simultaneous operation flash memory device with a flexible bank partition architecture
US6321478B1 (en) * 1998-12-04 2001-11-27 Smith & Wesson Corp. Firearm having an intelligent controller
US20020166023A1 (en) * 1999-04-15 2002-11-07 Dell Products, L.P. High speed bus interface for non-volatile integrated circuit memory supporting continuous transfer
US20030159028A1 (en) * 1999-04-28 2003-08-21 Tranxition Corporation Method and system for automatically transitioning of configuration settings among computer systems
US6547130B1 (en) * 1999-06-03 2003-04-15 Ming-Shiang Shen Integrated circuit card with fingerprint verification capability
US6718407B2 (en) * 1999-09-30 2004-04-06 Intel Corporation Multiplexer selecting one of input/output data from a low pin count interface and a program information to update a firmware device from a communication interface
US7257714B1 (en) * 1999-10-19 2007-08-14 Super Talent Electronics, Inc. Electronic data storage medium with fingerprint verification capability
US20070130436A1 (en) * 1999-10-19 2007-06-07 Super Talent Electronics, Inc. Electronic Data Storage Medium With Fingerprint Verification Capability
US7376711B2 (en) * 2000-02-28 2008-05-20 360 Degree Web, Inc. Smart card enabled mobile personal computing environment system
US20010042212A1 (en) * 2000-02-28 2001-11-15 Du Sterling D. Smart card enabled mobile personal computing environment system
US6963908B1 (en) * 2000-03-29 2005-11-08 Symantec Corporation System for transferring customized hardware and software settings from one computer to another computer to provide personalized operating environments
US6636929B1 (en) * 2000-04-06 2003-10-21 Hewlett-Packard Development Company, L.P. USB virtual devices
US20050268082A1 (en) * 2000-04-28 2005-12-01 Poisner David I Method and apparatus to boot system from the USB port
US20020147912A1 (en) * 2000-10-27 2002-10-10 Shimon Shmueli Preference portability for computing
US20020135613A1 (en) * 2001-03-21 2002-09-26 O'hara Sean M. Transfer of personal information between computing systems
US20030046510A1 (en) * 2001-03-30 2003-03-06 North Gregory Allen System-on-a-chip with soft cache and systems and methods using the same
US6944790B2 (en) * 2001-04-05 2005-09-13 International Business Machines Corporation System and method for collecting and restoring user environment data using removable storage
US7103765B2 (en) * 2001-09-25 2006-09-05 Ben Wei Chen Method and system for providing a modulized server on board
US20030145191A1 (en) * 2002-01-25 2003-07-31 Samsung Electronics Co., Ltd. Computer system and method of controlling the same
US20030163656A1 (en) * 2002-02-26 2003-08-28 Ganton Robert Bruce Memory configuration for a wireless communications device
US20040139309A1 (en) * 2002-07-23 2004-07-15 Twingo Systems Method, system, apparatus and program product for temporary personalization of a computer terminal
US7162628B2 (en) * 2002-07-23 2007-01-09 Cisco Technology, Inc. Method, system, apparatus and program product for temporary personalization of a computer terminal
US20040103274A1 (en) * 2002-09-23 2004-05-27 Kuo Shih-Chieh System and method for transferring user system settings between computer systems and storage medium
US20040095382A1 (en) * 2002-11-19 2004-05-20 Fisher Ken Scott Portable memory drive retaining personalized interface on multiple host computers
US20040148482A1 (en) * 2003-01-13 2004-07-29 Grundy Kevin P. Memory chain
US20040184174A1 (en) * 2003-02-18 2004-09-23 Woo Joong Gu Portable data storage device
US20040255054A1 (en) * 2003-06-10 2004-12-16 Khein-Seng Pua High-speed data transmission device
US6880024B2 (en) * 2003-06-12 2005-04-12 Phison Electronics Corp. Control system for memory storage device having two different interfaces
US20070113069A1 (en) * 2003-07-23 2007-05-17 Gentil Gregoire A Method, system, apparatus, and program product for temporary personalization of a computer terminal
US20050102444A1 (en) * 2003-11-07 2005-05-12 Cruz Arnaldo R. Memory controller useable in a data processing system
US7620667B2 (en) * 2003-11-17 2009-11-17 Microsoft Corporation Transfer of user profiles using portable storage devices
US6926199B2 (en) * 2003-11-25 2005-08-09 Segwave, Inc. Method and apparatus for storing personalized computing device setting information and user session information to enable a user to transport such settings between computing devices
US20050120146A1 (en) * 2003-12-02 2005-06-02 Super Talent Electronics Inc. Single-Chip USB Controller Reading Power-On Boot Code from Integrated Flash Memory for User Storage
US20050160213A1 (en) * 2004-01-21 2005-07-21 Chen Ben W. Method and system for providing a modular server on USB flash storage
US20070226481A1 (en) * 2004-02-18 2007-09-27 Wyse Technology, Inc. Computing device deployment using mass storage device
US20050193161A1 (en) * 2004-02-26 2005-09-01 Lee Charles C. System and method for controlling flash memory
US20050193188A1 (en) * 2004-02-28 2005-09-01 Huang Evan S. Method and apparatus for operating a host computer from a portable apparatus
US20050235045A1 (en) * 2004-03-05 2005-10-20 International Business Machines Corporation Portable personal computing environment server
US20050204013A1 (en) * 2004-03-05 2005-09-15 International Business Machines Corporation Portable personal computing environment technologies
US20050246243A1 (en) * 2004-04-30 2005-11-03 Adams Neil P System and method for handling peripheral connections to mobile devices
US20060047944A1 (en) * 2004-09-01 2006-03-02 Roger Kilian-Kehr Secure booting of a computing device
US20060065743A1 (en) * 2004-09-30 2006-03-30 Stmicroelectronics, Inc. USB device with secondary USB on-the-go function
US20060075174A1 (en) * 2004-10-06 2006-04-06 Mr. Cory Vuong Vuong Method and aparatus for plug-and-play webserver
US20060106962A1 (en) * 2004-11-17 2006-05-18 Woodbridge Nancy G USB On-The-Go implementation
US20060161725A1 (en) * 2005-01-20 2006-07-20 Lee Charles C Multiple function flash memory system
US20060242395A1 (en) * 2005-03-09 2006-10-26 Wyse Technology Inc. Operating system boot from network location
US20060206702A1 (en) * 2005-03-09 2006-09-14 Wyse Technology Inc. Operating system boot from external media
US7293170B2 (en) * 2005-06-06 2007-11-06 Tranxition Corporation Changing the personality of a device by intercepting requests for personality information
US20070124536A1 (en) * 2005-11-09 2007-05-31 Electronic Plastics, Llc Token device providing a secure work environment and utilizing a virtual interface
US20070113267A1 (en) * 2005-11-14 2007-05-17 Route1 Inc. Portable device for accessing host computer via remote computer
US20070112552A1 (en) * 2005-11-17 2007-05-17 International Business Machines Corporation Native function of portable electronic device surfaced as soft device in host computer
US20080163208A1 (en) * 2006-12-29 2008-07-03 Jeremy Burr Virtual machine creation for removable storage devices
US20080244689A1 (en) * 2007-03-30 2008-10-02 Curtis Everett Dalton Extensible Ubiquitous Secure Operating Environment
US20080256536A1 (en) * 2007-04-11 2008-10-16 Xiaoming Zhao Portable secured computing environment for performing online confidential transactions in untrusted computers
US20090070572A1 (en) * 2007-09-11 2009-03-12 Mark Shahaf Method and apparatus for portable computing environment

Cited By (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8613091B1 (en) * 2004-03-08 2013-12-17 Redcannon Security, Inc. Method and apparatus for creating a secure anywhere system
US7591018B1 (en) * 2004-09-14 2009-09-15 Trend Micro Incorporated Portable antivirus device with solid state memory
US8645486B2 (en) * 2005-04-22 2014-02-04 Sony Dadc Austria Ag Method for downloading content from a server onto a recording medium as well as recording medium being suitable therefor
US9553921B2 (en) * 2005-04-22 2017-01-24 Sony Dadc Austria Ag Method for downloading content from a server onto a recording medium as well as recording medium being suitable therefor
US20060242262A1 (en) * 2005-04-22 2006-10-26 Sony Dadc Austria Ag Method for downloading content from a server onto a recording medium as well as recording medium being suitable therefor
US20140181251A1 (en) * 2005-04-22 2014-06-26 Sony Dadc Austria Ag Method for downloading content from a server onto a recording medium as well as recording medium being suitable therefor
US8336090B2 (en) * 2005-05-24 2012-12-18 Rhapsody International Inc. System and method for unlimited licensing to a fixed number of devices
US20080134312A1 (en) * 2005-05-24 2008-06-05 Napster Llc System and method for unlimited licensing to a fixed number of devices
US20070113279A1 (en) * 2005-11-14 2007-05-17 Phison Electronics Corp. [portable storage device]
US20120117370A1 (en) * 2007-01-05 2012-05-10 Microsoft Corporation Hardware diagnostics and software recovery on headless server appliances
US9280433B2 (en) * 2007-01-05 2016-03-08 Microsoft Technology Licensing, Llc Hardware diagnostics and software recovery on headless server appliances
US20080172555A1 (en) * 2007-01-17 2008-07-17 Erink Technologies, Llc Bootable thin client personal initialization device
US8626931B2 (en) * 2007-02-05 2014-01-07 Broadcom Corporation Media transport protocol extensions for system information exchange, and applications thereof
US9172710B2 (en) 2007-02-05 2015-10-27 Broadcom Corporation Media transport protocol extensions for system integrity and robustness, and applications thereof
US20080189348A1 (en) * 2007-02-05 2008-08-07 Broadcom Corporation Media Transport Protocol Extensions for System Integrity and Robustness, and Applications Thereof
US20080189349A1 (en) * 2007-02-05 2008-08-07 Broadcom Corporation Media Transport Protocol Extensions for System Information Exchange, and Applications Thereof
US20100058056A1 (en) * 2007-04-25 2010-03-04 Innocom Technology (Shenzhen) Co., Ltd.:Innolux Display Corp. Display system with security enhancement function
US8832467B2 (en) 2007-05-16 2014-09-09 Broadcom Corporation Digital rights management metafile, management protocol and applications thereof
US20090083429A1 (en) * 2007-05-16 2009-03-26 Broadcom Corporation Generic Digital Rights Management Framework, and Applications Thereof
US20080288788A1 (en) * 2007-05-16 2008-11-20 Broadcom Corporation Digital Rights Management Metafile, Management Protocol and Applications Thereof
US8752191B2 (en) 2007-05-16 2014-06-10 Broadcom Corporation Generic digital rights management framework, and applications thereof
US9582686B1 (en) * 2007-11-13 2017-02-28 Altera Corporation Unique secure serial ID
US20090150674A1 (en) * 2007-12-05 2009-06-11 Uniloc Corporation System and Method for Device Bound Public Key Infrastructure
US8464059B2 (en) * 2007-12-05 2013-06-11 Netauthority, Inc. System and method for device bound public key infrastructure
US7975084B1 (en) * 2008-02-06 2011-07-05 American Megatrends, Inc. Configuring a host computer using a service processor
US8924306B2 (en) * 2008-02-20 2014-12-30 International Business Machines Corporation Remote computer rebooting tool
US20090210948A1 (en) * 2008-02-20 2009-08-20 International Business Machines Corporation Remote computer rebooting tool
US20090249066A1 (en) * 2008-03-25 2009-10-01 Feitian Technologies Co., Ltd. Method for Safe Operation and A System Thereof
US8458463B2 (en) * 2008-03-25 2013-06-04 Feitian Technologies Co., Ltd. Method for safe operation and a system thereof
US8244840B2 (en) 2008-04-10 2012-08-14 Eastman Kodak Company Simplified walk-up enablement of inter-based, personalized access to retail imaging devices and services
US8095631B2 (en) * 2008-04-10 2012-01-10 Eastman Kodak Company Simplified walk-up enablement of internet-based, personalized access to retail imaging devices and services
US20090257804A1 (en) * 2008-04-10 2009-10-15 Manico Joseph A Simplified walk-up enablement of internet-based, personalized access to retail imaging devices and services
US20090276618A1 (en) * 2008-04-14 2009-11-05 Afchine Madjlessi Portable device and method for externally generalized starting up of a computer system
US8060735B2 (en) * 2008-04-14 2011-11-15 Afchine Madjlessi Portable device and method for externally generalized starting up of a computer system
US20140325229A1 (en) * 2008-05-16 2014-10-30 Quickvault, Inc. Method and system for secure digital file sharing
US9614858B2 (en) 2008-05-16 2017-04-04 Quickvault, Inc. Method and system for remote data access using a mobile device
US11880437B2 (en) 2008-05-16 2024-01-23 Quickvault, Inc. Method and system for remote data access
US8918846B2 (en) 2008-05-16 2014-12-23 Quickvault, Inc. Method and system for secure mobile messaging
US11568029B2 (en) 2008-05-16 2023-01-31 Quickvault, Inc. Method and system for remote data access
US11392676B2 (en) 2008-05-16 2022-07-19 Quickvault, Inc. Method and system for remote data access
US9264431B2 (en) 2008-05-16 2016-02-16 Quickvault, Inc. Method and system for remote data access using a mobile device
US20130246558A1 (en) * 2008-05-16 2013-09-19 Steven V. Bacastow Method and System for Secure Mobile File Sharing
US20140325608A1 (en) * 2008-05-16 2014-10-30 Quickvault, Inc. Method and System for Multi-Factor Remote Data Access
US8862687B1 (en) * 2008-05-16 2014-10-14 Quickvault, Inc. Method and system for secure digital file sharing
US10045215B2 (en) 2008-05-16 2018-08-07 Quickvault, Inc. Method and system for remote data access using a mobile device
US8812611B2 (en) * 2008-05-16 2014-08-19 Quickvault, Inc. Method and system for secure mobile file sharing
US8868683B1 (en) * 2008-05-16 2014-10-21 Quickvault, Inc. Method and system for multi-factor remote data access
USRE46023E1 (en) * 2008-08-20 2016-05-31 Sandisk Technologies Inc. Memory device upgrade
US9959401B2 (en) 2008-08-29 2018-05-01 International Business Machines Corporation Automated password authentication
US9246685B2 (en) 2008-08-29 2016-01-26 International Business Machines Corporation Automated password authentication
US10395023B2 (en) 2008-08-29 2019-08-27 International Business Machines Corporation Automated password authentication
US10963556B2 (en) 2008-08-29 2021-03-30 International Business Machines Corporation Automated password authentication
US8234502B2 (en) 2008-08-29 2012-07-31 International Business Machines Corporation Automated password authentication
US20100077195A1 (en) * 2008-09-24 2010-03-25 Kai Altstaedt Method and a memory unit for booting a server
US8281117B2 (en) * 2008-09-24 2012-10-02 Airbus Operations Gmbh Method and a memory unit for booting a server by copying boot data from an exchangeable memory unit to primary hard disk of the server
US20100107241A1 (en) * 2008-10-23 2010-04-29 Dell Products L.P. Secure caching of server credentials
US9251353B2 (en) 2008-10-23 2016-02-02 Dell Products L.P. Secure caching of server credentials
US8353026B2 (en) * 2008-10-23 2013-01-08 Dell Products L.P. Credential security system
US20100115116A1 (en) * 2008-11-03 2010-05-06 Micron Technology, Inc. System and method for switching communication protocols in electronic interface devices
US20100132042A1 (en) * 2008-11-24 2010-05-27 Shenzhen Huawei Communication Technologies Co., Ltd. Method for upgrading antivirus software and terminal and system thereof
US20100161997A1 (en) * 2008-12-18 2010-06-24 Electronics And Telecommunications Research Institute Apparatus and method for authenticating personal use of contents by using portable storage
US8407483B2 (en) * 2008-12-18 2013-03-26 Electronics And Telecommunications Research Institute Apparatus and method for authenticating personal use of contents by using portable storage
WO2010097090A3 (en) * 2009-02-25 2010-11-25 Aarhus Universitet Controlled computer environment
US20100228906A1 (en) * 2009-03-06 2010-09-09 Arunprasad Ramiya Mothilal Managing Data in a Non-Volatile Memory System
US20100235750A1 (en) * 2009-03-12 2010-09-16 Bryce Douglas Noland System, method and program product for a graphical interface
US20100313037A1 (en) * 2009-06-04 2010-12-09 Ward Rory A Collectible case authentication system, device and method
US9015840B2 (en) * 2009-06-08 2015-04-21 Clevx, Llc Portable media system with virus blocker and method of operation thereof
US20100313271A1 (en) * 2009-06-08 2010-12-09 Johnson Simon B Portable media system with virus blocker and method of operation thereof
US10162965B2 (en) 2009-06-08 2018-12-25 Clevx, Llc Portable media system with virus blocker and method of operation thereof
US9330282B2 (en) 2009-06-10 2016-05-03 Microsoft Technology Licensing, Llc Instruction cards for storage devices
US20130125249A1 (en) * 2009-06-17 2013-05-16 Microsoft Corporation Remote Access Control Of Storage Devices
US9111103B2 (en) * 2009-06-17 2015-08-18 Microsoft Technology Licensing, Llc Remote access control of storage devices
US20100325424A1 (en) * 2009-06-19 2010-12-23 Etchegoyen Craig S System and Method for Secured Communications
US8495359B2 (en) 2009-06-22 2013-07-23 NetAuthority System and method for securing an electronic communication
US9336375B1 (en) * 2009-07-28 2016-05-10 Sprint Communications Company L.P. Restricting access to data on portable storage media based on access to a private intranet
US20110035513A1 (en) * 2009-08-06 2011-02-10 David Jevans Peripheral Device Data Integrity
US8745365B2 (en) * 2009-08-06 2014-06-03 Imation Corp. Method and system for secure booting a computer by booting a first operating system from a secure peripheral device and launching a second operating system stored a secure area in the secure peripheral device on the first operating system
US20110035574A1 (en) * 2009-08-06 2011-02-10 David Jevans Running a Computer from a Secure Portable Device
US8683088B2 (en) 2009-08-06 2014-03-25 Imation Corp. Peripheral device data integrity
US9363578B2 (en) * 2009-09-09 2016-06-07 Sony Corporation Communication system, communication device, communication method, and computer program
US20120159575A1 (en) * 2009-09-09 2012-06-21 Sony Corporation Communication system, communication device, communication method, and computer program
US8364598B2 (en) * 2009-10-13 2013-01-29 Microsoft Corporation Use of software update policies
US20110088025A1 (en) * 2009-10-13 2011-04-14 Microsoft Corporation Use of software update policies
WO2011107871A3 (en) * 2010-03-05 2011-12-01 Elsag Datamat Spa Portable electronic device interfaceable with a computer
ITTO20100171A1 (en) * 2010-03-05 2011-09-06 Elsag Datamat Spa PORTABLE ELECTRONIC DEVICE INTERFACEABLE TO A CALCULATOR
CN101770386A (en) * 2010-03-08 2010-07-07 北京飞天诚信科技有限公司 Safe startup method for Linux embedded system
US8755386B2 (en) 2011-01-18 2014-06-17 Device Authority, Inc. Traceback packet transport protocol
US8446834B2 (en) 2011-02-16 2013-05-21 Netauthority, Inc. Traceback packet transport protocol
WO2012111018A1 (en) * 2011-02-17 2012-08-23 Thozhuvanoor Vellat Lakshmi Secure tamper proof usb device and the computer implemented method of its operation
US20130007467A1 (en) * 2011-06-29 2013-01-03 Divx, Llc Binding of cryptographic content using unique device characteristics with server heuristics
US9721071B2 (en) * 2011-06-29 2017-08-01 Sonic Ip, Inc. Binding of cryptographic content using unique device characteristics with server heuristics
US10455280B2 (en) * 2011-10-17 2019-10-22 Mediapointe, Inc. System and method for digital media content creation and distribution
US9166976B2 (en) * 2011-10-17 2015-10-20 Stephen Villoria Creation and management of digital content and workflow automation via a portable identification key
US9848236B2 (en) * 2011-10-17 2017-12-19 Mediapointe, Inc. System and method for digital media content creation and distribution
US20140331243A1 (en) * 2011-10-17 2014-11-06 Media Pointe Inc. System and method for digital media content creation and distribution
US20130097689A1 (en) * 2011-10-17 2013-04-18 Stephen Villoria Creation and management of digital content and workflow automation via a portable identification key
US9240889B2 (en) 2011-12-01 2016-01-19 Htc Corporation Method and system for secure data access among two devices
US9054874B2 (en) 2011-12-01 2015-06-09 Htc Corporation System and method for data authentication among processors
US9270466B2 (en) 2011-12-01 2016-02-23 Htc Corporation System and method for temporary secure boot of an electronic device
US8949954B2 (en) 2011-12-08 2015-02-03 Uniloc Luxembourg, S.A. Customer notification program alerting customer-specified network address of unauthorized access attempts to customer account
US10206060B2 (en) 2012-01-04 2019-02-12 Uniloc 2017 Llc Method and system for implementing zone-restricted behavior of a computing device
US9564952B2 (en) 2012-02-06 2017-02-07 Uniloc Luxembourg S.A. Near field authentication through communication of enclosed content sound waves
US10068224B2 (en) 2012-02-06 2018-09-04 Uniloc 2017 Llc Near field authentication through communication of enclosed content sound waves
US20190058589A1 (en) * 2012-02-09 2019-02-21 Bentel Security S.R.L. Device and method for managing electronic facilities of buildings
US10812263B2 (en) * 2012-02-09 2020-10-20 Bentel Security S.R.L. Device and method for managing electronic facilities of buildings
US9294491B2 (en) 2013-02-28 2016-03-22 Uniloc Luxembourg S.A. Device-specific content delivery
US8881280B2 (en) 2013-02-28 2014-11-04 Uniloc Luxembourg S.A. Device-specific content delivery
US9245131B2 (en) 2013-03-29 2016-01-26 International Business Machines Corporation Multi-user universal serial bus (USB) key with customizable file sharing permissions
US9245130B2 (en) 2013-03-29 2016-01-26 International Business Machines Corporation Multi-user universal serial bus (USB) key with customizable file sharing permissions
US9009359B2 (en) 2013-03-29 2015-04-14 International Business Machines Corporation Emulating multiple universal serial bus (USB) keys so as to efficiently configure different types of hardware
US9720852B2 (en) * 2013-03-29 2017-08-01 International Business Machines Corporation Universal serial bus (USB) key functioning as multiple USB keys so as to efficiently configure different types of hardware
US9720853B2 (en) * 2013-03-29 2017-08-01 International Business Machines Corporation Universal serial bus (USB) key functioning as multiple USB keys so as to efficiently configure different types of hardware
US9256731B2 (en) * 2013-06-03 2016-02-09 Socionext Inc. System, information processing apparatus, secure module, and verification method
US20140359306A1 (en) * 2013-06-03 2014-12-04 Fujitsu Semiconductor Limited System, information processing apparatus, secure module, and verification method
US10498745B2 (en) 2014-09-12 2019-12-03 Quickvault, Inc. Method and system for forensic data tracking
US11895125B2 (en) 2014-09-12 2024-02-06 Quickvault, Inc. Method and system for forensic data tracking
US9565200B2 (en) 2014-09-12 2017-02-07 Quick Vault, Inc. Method and system for forensic data tracking
US9961092B2 (en) 2014-09-12 2018-05-01 Quickvault, Inc. Method and system for forensic data tracking
US11637840B2 (en) 2014-09-12 2023-04-25 Quickvault, Inc. Method and system for forensic data tracking
US10999300B2 (en) 2014-09-12 2021-05-04 Quickvault, Inc. Method and system for forensic data tracking
US20160261412A1 (en) * 2015-03-04 2016-09-08 Avaya Inc. Two-Step Authentication And Activation of Quad Small Form Factor Pluggable (QFSP+) Transceivers
US20180012022A1 (en) * 2015-03-11 2018-01-11 Hewlett-Packard Development Company, L.P. Booting user devices to custom operating system (os) images
US10867047B2 (en) * 2015-03-11 2020-12-15 Hewlett-Packard Development Company, L.P. Booting user devices to custom operating system (OS) images
US9996362B2 (en) * 2015-10-30 2018-06-12 Ncr Corporation Diagnostics only boot mode
US20170123809A1 (en) * 2015-10-30 2017-05-04 Ncr Corporation Diagnostics only boot mode
US10169602B2 (en) * 2016-02-22 2019-01-01 Dell Products, L.P. Method for local key management setup and recovery
US20170243021A1 (en) * 2016-02-22 2017-08-24 Dell Products, L.P. Method for local key management setup and recovery
CN107545190A (en) * 2016-06-27 2018-01-05 鸿富锦精密工业(武汉)有限公司 Data protection system and data guard method
US20200004951A1 (en) * 2017-03-03 2020-01-02 Gopc Pty Ltd Computing systems and methods
US10462142B2 (en) * 2017-03-22 2019-10-29 Oracle International Corporation Techniques for implementing a data storage device as a security device for managing access to resources
US20190089708A1 (en) * 2017-03-22 2019-03-21 Oracle International Corporation Techniques for implementing a data storage device as a security device for managing access to resources
US10154037B2 (en) * 2017-03-22 2018-12-11 Oracle International Corporation Techniques for implementing a data storage device as a security device for managing access to resources

Similar Documents

Publication Publication Date Title
US20080082813A1 (en) Portable usb device that boots a computer as a server with security measure
US10931451B2 (en) Securely recovering a computing device
US8560820B2 (en) Single security model in booting a computing device
US9047486B2 (en) Method for virtualizing a personal working environment and device for the same
England et al. A trusted open platform
US8789037B2 (en) Compatible trust in a computing device
JP4971466B2 (en) Secure boot of computing devices
US20090259855A1 (en) Code Image Personalization For A Computing Device
US8898477B2 (en) System and method for secure firmware update of a secure token having a flash memory controller and a smart card
JP5959749B2 (en) How to protect your operating system from malicious software attacks
JP4848458B2 (en) Persistent security system and persistent security method
JP4610557B2 (en) DATA MANAGEMENT METHOD, PROGRAM THEREOF, AND PROGRAM RECORDING MEDIUM
EP1273996A2 (en) Secure bootloader for securing digital devices
US20130081124A1 (en) Trusting an unverified code image in a computing device
US20050138389A1 (en) System and method for making password token portable in trusted platform module (TPM)
US20080010453A1 (en) Method and apparatus for one time password access to portable credential entry and memory storage devices
CN101398764A (en) Portable usb device that boots a computer as a server with security measure
WO2017208618A1 (en) Information processing device and information processing system
Loftus et al. Android 7 file based encryption and the attacks against it
CN110674525A (en) Electronic equipment and file processing method thereof
KR101042218B1 (en) A data security system for computer and security method
JP2006092081A (en) Safe start/use method for personal computer to be used by unspecified person or multiple person and recording medium for realizing such use
TWI685770B (en) A storage system with chaotic system authentication
CN114780929A (en) Electronic equipment and processing method
Jarrett Survey of Trusted Computing Technologies and Challenges

Legal Events

Date Code Title Description
AS Assignment

Owner name: SUPER TALENT ELECTRONICS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHOW, DAVID Q.;MA, ABRAHAM C.;SHEN, MING-SHIANG;AND OTHERS;REEL/FRAME:020293/0001;SIGNING DATES FROM 20070925 TO 20071210

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION