US20070228179A1 - System and Method for Loading an Embedded Device to Authenticate and Secure Transactions - Google Patents
System and Method for Loading an Embedded Device to Authenticate and Secure Transactions Download PDFInfo
- Publication number
- US20070228179A1 US20070228179A1 US11/456,046 US45604606A US2007228179A1 US 20070228179 A1 US20070228179 A1 US 20070228179A1 US 45604606 A US45604606 A US 45604606A US 2007228179 A1 US2007228179 A1 US 2007228179A1
- Authority
- US
- United States
- Prior art keywords
- embedded system
- authentication
- noc
- loader
- reader
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/409—Device specific authentication in transaction processing
- G06Q20/4097—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
- G06Q20/40975—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/12—Card verification
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/12—Card verification
- G07F7/122—Online card verification
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/0036—Checkout procedures
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/0036—Checkout procedures
- G07G1/0045—Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader
- G07G1/0054—Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader with control of supplementary check-parameters, e.g. weight or number of articles
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/0036—Checkout procedures
- G07G1/0045—Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader
- G07G1/009—Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader the reader being an RFID reader
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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 a third party or a trusted authority
- H04L9/3213—Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/40—Security arrangements using identity modules
- H04W12/47—Security arrangements using identity modules using near field communication [NFC] or radio frequency identification [RFID] modules
Definitions
- the present invention relates to circuits and processes for authenticating and securing a transaction. More particularly, the invention relates to circuits and processes that enable a secure transaction responsive to interrogating an integrated circuit using an RF communication path.
- the manufacturer or distributor of physical goods faces difficult problems in efficiently managing the distribution chain.
- the distribution chain which may include distributors, shippers, warehousers, and retailers, each form an important link in bringing products to consumers.
- the manufacturer relies on the integrity of its distributors and retailers to assure that products are properly sold or otherwise delivered.
- the distribution chain is often improperly managed, resulting in an ineffective path to market for the manufacturer's products.
- products may be misappropriated by a corrupt distributor, by employees of the retailer, or by consumers.
- Manufacturers may also define distribution agreements with its distributors, where the manufacturer sets rules and restrictions on its distributors. These rules are typically used to assure that a fair distribution model is used, so that each distributor is able to maintain its profit margin, and to assure that consumers are satisfied with customer support.
- some retailers may try to avoid a manufacturer's distribution rules, and sell outside their designated market, or purchase products from an unauthorized source.
- UPC bar-coding process
- the bar code label is used only to identify a class of product, so every item in that class has the same bar code indicator.
- UPC system has improved management of the distribution channel, additional information is needed.
- an RFID system has been proposed, and in limited cases, is being implemented.
- a small integrated circuit is integrated into a tag, and the tag attached to a product.
- the circuit has sufficient memory that each tag can have a different value, thereby allow every product to be individually identified. In use, a unique value is stored into the tag, and the tag attached to the product.
- the product may be scanned by an RF reader, which reads the tag identifier. In this way, the product is tracked and monitored as it moves through the distribution chain.
- RF reader reads the tag identifier, and retrieves the price for the product. The sale is completed, and the product is removed from the store's inventory system.
- the RFID system holds promise for providing much more information to manufactures, which will be useful in assisting in the control and management of the distribution process.
- the information stored on the RFID tag may be easily retrieved by commercially available readers, so can not be used to convey any sensitive information.
- the tag and its circuit operate on the very limited power the circuit is able to derive from the RF signal, and must complete its operation as its being moved across a reader's RF field. This means that only limited computation can be performed due to power and time limitations, and that only a limited number of values can be communicated during the brief time the tag is energized. Accordingly, the tag's circuit is incapable of performing any meaningful encryption or decryption processes. In this way, the advances made in cryptography are not available to assist in securing tag-reader transactions.
- the present invention provides a system for authenticating and securing product transactions.
- An integrated circuit is attached to a target, such as an optical disc or electronic device.
- the integrated circuit has an RF transceiver that is capable of establishing communication with an associated reading device.
- the integrated circuit also has a hidden memory, which can not be read externally, and a user memory.
- the hidden memory stores an authentication message, while the user memory stores readable authentication information.
- the hidden authentication message and the authentication information are related through a cryptographic process.
- the integrated circuit benefits from the cryptographic security, the integrated circuit only operates relatively simple logic operations. In this way, a highly secure transaction is enabled without requiring significant processing power or time at the integrated circuit.
- the reader When the integrated circuit is placed near the reader, the reader reads the authentication information, and with the cooperation of a network operation center, uses the authentication information to derive an activation code.
- the reader passes the activation code to the integrated circuit, which compares the activation code to its hidden activation message. If they have a proper relationship, the communication has been authenticated, and the integrated circuit proceeds to perform an action.
- a random plaintext number is stored as the hidden authentication message, and the user memory has authentication information that includes an identifier, as well as an encrypted version of the plaintext number.
- the reader reads the authentication information, which is sent to a network operation center.
- the network operation center uses the identification information to retrieve a decryption key, and uses the key to decrypt the encrypted message to derive the plaintext number.
- the plaintext number is sent to the reader, which communicates it to the integrated circuit.
- the integrated circuit does a simple logical compare between the received number and the hidden number, and if they match, the integrated circuit proceeds to perform an action.
- the action may be, for example, activating or deactivating the product the circuit is attached to.
- the hidden authentication message and the authentication information are related through a cryptographic process.
- the integrated circuit benefits from the cryptographic security, even though the integrated circuit only operates a relatively simple logic operation. In this way, a highly secure transaction is enabled without requiring significant processing power or time at the integrated circuit.
- an authentication code is stored as the hidden authentication message, and the user memory has authentication information that includes identifiers, as well as a public key that can be used to recreate the authentication code.
- the reader reads the authentication information, which is sent to a network operation center.
- the network operation center uses the identification information to retrieve a private key, and uses the public key, private key and other authentication information generate the authentication code.
- the authentication code is sent to the reader, which communicates it to the integrated circuit.
- the integrated circuit does a simple logical compare between the received code and the hidden code, and if they match, the integrated circuit proceeds to perform an action.
- the action may be, for example, activating or deactivating the product it is attached to.
- the hidden authentication message and the authentication information are related through a cryptographic process.
- the integrated circuit benefits from the cryptographic security, even though the integrated circuit only operates a relatively simple logic operation. In this way, a highly secure transaction is enabled without requiring significant processing power or time at the integrated circuit.
- the present invention discloses a cryptographic process. Two pairs of public/private keys are generated in such a way that a combination of the first private key and the second public key is equivalent to the combination of the first public key with the second private key. The key combinations, when combined with additional meaningful information, produce a limited set of authentication messages.
- the process provides a highly secure method of authentication requiring minimal computation and power at the embedded processor.
- the present invention enables a highly secure and authenticated transaction, even when the authorizing circuit is operating in a low-power, low processing capability environment.
- an RFID tag or other RF-enabled integrated circuit may be used to communicate sensitive information, and become an integral part of a secure transaction process.
- This enables an RF-enabled circuit to perform secured actions, thereby allowing manufacturers to enforce distribution and use rules
- FIG. 1 is a block diagram of a system for authenticating a transaction in accordance with the present invention.
- FIG. 2 is a flowchart of a method for performing an action using an embedded system in accordance with the present invention.
- FIG. 3 is a flowchart of a method for authenticating a transaction using an RF reader in accordance with the present invention.
- FIG. 4 is a flowchart of a method for authenticating a transaction using a network operation center in accordance with the present invention.
- FIG. 5 is a block diagram of loading an embedded processor system in accordance with the present invention.
- FIG. 6 is a flowchart of a process for loading an embedded processor system in accordance with the present invention.
- FIG. 7 is a flowchart of a process for loading an embedded processor system in accordance with the present invention.
- FIG. 8A is a flow diagram of a system for performing an action using an embedded system in accordance with the present invention.
- FIG. 8B is a flowchart of a method for performing an action using an embedded system in accordance with the present invention.
- FIG. 9 is a block diagram of a system for authenticating a transaction in accordance with the present invention.
- FIG. 10 is a flowchart of a method for performing an action using an embedded system in accordance with the present invention.
- FIG. 11 is a flowchart of a method for authenticating a transaction using an RF reader in accordance with the present invention.
- FIG. 12 is a flowchart of a method for authenticating a transaction using a network operation center in accordance with the present invention.
- FIG. 13 is a block diagram of loading an embedded processor system in accordance with the present invention.
- FIG. 14 is a flowchart of a process for loading an embedded processor system in accordance with the present invention.
- FIG. 15 is a flowchart of a process for loading an embedded processor system in accordance with the present invention.
- FIG. 16A is a flow diagram of a system for performing an action using an embedded system in accordance with the present invention.
- FIG. 16B is a flowchart of a method for performing an action using an embedded system in accordance with the present invention.
- FIG. 17 is a block diagram of a system for authenticating a transaction in accordance with the present invention.
- FIG. 18 is a flowchart of a method for performing an action using an embedded system in accordance with the present invention.
- FIG. 19 is a flowchart of a method for authenticating a transaction using an RF reader in accordance with the present invention.
- FIG. 20 is a flowchart of a method for authenticating a transaction using a network operation center in accordance with the present invention.
- FIG. 21 is a block diagram of loading an embedded processor system in accordance with the present invention.
- FIG. 22 is a flowchart of a process for loading an embedded processor system in accordance with the present invention.
- FIG. 23 is a flowchart of a process for loading an embedded processor system in accordance with the present invention.
- FIG. 24A is a flow diagram of a system for performing an action using an embedded system in accordance with the present invention.
- FIG. 24B is a flowchart of a method for performing an action using an embedded system in accordance with the present invention.
- FIG. 25 is a block diagram of a cryptographic process in accordance with the present invention.
- FIG. 26 is a block diagram of a cryptographic process in accordance with the present invention.
- system 10 for authorizing a target is illustrated. More particularly, system 10 enables the controlled distribution of a target good, and enables conditions to be set as to when target 22 may be used or activated. In this way, a target may be disabled or deactivated at the time of manufacture, and rules or conditions defined as to when the target can be activated or used.
- Target 22 may be, for example, an optical disc such as a DVD, CD, gaming disc, HD DVD, or Blu-Ray DVD.
- Target 22 may also be an electronic device such as a portable music player, shaver, or drill, or target 22 may be a passport, driver's license, coupon, or other non-electronic good. It will be understood that target 22 may take other electronic or non-electronic forms.
- Target 22 typically has a utility or primary use. For example, if target 22 is a portable music player, then its primary use is to play music files. In another example, if target 22 is a DVD, then its primary use is to be read by an associated DVD player for presenting a movie or audio file to a user. Typically, the “use” or enjoyment of the target is the reason consumers are motivated to purchase or otherwise obtain target 22 . Stated differently, the distribution of a target good may be effectively controlled and monitored by controlling when the target may be activated. By securing and controlling the ability to use the product, the distribution chain and retailers have substantially less burden in securing the physical target itself. For example, if a DVD disc can not be played without an authorized activation using system 10 at the time of purchase, then the DVD disc may be more freely displayed and distributed, because the retailer is confident that the disc must be purchased before it would be useful or desirable to anyone.
- system 10 is useful for enforcing use or access rules for a physical target.
- a manufacturer of a target may desire that a consumer purchase the target from an authorized retailer prior to that consumer using the target.
- a movie distributor may desire that a DVD only be played after a particular release date, and only after the distributor has confirmed it has been paid.
- the owner of a tangible product may define the conditions under which ownership or use-rights are passed to another.
- system 10 typically disables target 22 during the manufacturing process.
- the network operation center 28 has a set of rules that define the conditions under which the target's use may be activated.
- target 22 is placed near reader 24 , which cooperates with the network operation center 28 to confirm that the target is in a condition for activation. If all is in order, reader 24 sends a code to target 22 , and if the code is proper, then target 22 activates.
- system 10 In using system 10 , it is important that target 22 activate responsive only to authorized and authenticated messages. In this way, a secure and robust rights management system may be confidently used by manufacturers, distributors, retailers, and consumers. As will be fully described below, system 10 enables strongly secured activation transactions, even though there is limited processing capability and little electrical power available at the target. For example, target 22 may be activated at a point of sale register, where the only power available for target activation is derived from the RF signals emitted from an RF reader. Further, system 10 eliminates or reduces any need for encrypting or decrypting at the target, enabling the use of simpler and reduced processing capabilities on the target. Accordingly, system 10 provides secure, authenticated activation transactions, and is sufficiently efficient to enable robust and repeatable transactions, even in a real-world retail environment.
- system 10 uses an embedded processor system 15 that is attached to target 22 .
- Embedded processor system 15 is constructed to selectively activate or deactivate the usefulness of the target.
- Embedded system 15 comprises embedded processor 12 , memory 14 , and RF transponder 20 .
- embedded processor 12 may be accomplished by a single processor or distributed over two or more processing devices.
- Embedded processor 12 is linked to memory 14 .
- memory 14 may be implemented as flash memory, as a PROM, as another type of storage technology, or as a combination of two or more distinct storage technologies.
- Memory 14 has hidden memory 16 and user memory 18 .
- the embedded processor 12 may use the contents of hidden memory 16 in making activation decision, but the contents of hidden memory 16 cannot be read externally.
- hidden memory 16 is a write once memory, and can only be read and used by the embedded processor 12 . Any other attempted read or use would destroy the hidden memory or other circuit device.
- user memory 18 may be written to and read from by the embedded processor, and may be used to hold application code, data values, codes, and commands.
- Embedded processor 12 is also connected to RF transponder 20 .
- RF transponder 20 is a transceiver operating at a UHF RFID frequency in the range of about 890 MHz to about 950 MHz.
- RF transponder 20 is a transceiver operating at an RFID frequency in the range of about 2400 MHz to about 2483 MHz.
- RF transponder 20 may also operate at an HF frequency in the range of about 13.56 MHz, enabling Near Field Communication (NFC) functionality. It will be understood that the RF transceiver may be selected according the current RF standards or according to application specific requirements.
- NFC Near Field Communication
- System 10 has target 22 . It will be understood that target 22 is an article, item, or media. In one example, target 22 is media for storing content such as audio, video, images, codes, and other types of data and information. In one example, target 22 is a compact disc (CD), video disc, digital versatile disc (DVD), laser disc, or hologram. In another example, target 22 is an electric shaver.
- Embedded system 15 is attached to target 22 .
- embedded system 15 is formed as a tag and attached to target 22 . It will be appreciated that the tag may be removable or that it may be permanently attached to target 22 . In another example, embedded system 15 is integrated into the circuitry of target 22 . Embedded system 15 is capable of performing an action on target 22 .
- embedded system 15 is capable of performing the action of deactivating target 22 .
- Deactivation may include reducing the functionality of target 22 .
- a DVD may be deactivated by making some or all of the contents unreadable.
- embedded system 15 is capable of performing the action of activating target 22 .
- Activation may include enabling deactivated functionality of target 15 .
- System 10 also has reader 24 .
- Reader 24 communicates with embedded system 15 via RF transponder 20 .
- reader 24 is operated by a merchant at the point of sale of target 22 .
- target 22 may be brought into physical proximity of reader 24 to initiate an authentication process that will result in embedded system 15 enabling target 22 .
- Read application 26 operates on reader 24 .
- Read application 26 manages the communication between embedded system 15 and network operation center (NOC) 28 .
- NOC 28 operates network read application 30 .
- Network read application 30 handles communication to and from reader 24 and performs functions related to the authentication process.
- NOC also maintains key management database 32 to enable cryptographic features of the authentication process.
- the NOC 28 cooperates with reader 24 and embedded processor system 15 to implement a highly secure activation process, with only limited processing capability needed in the embedded processor.
- the NOC 28 is tasked with computational intensive operations, such as cryptographic processes, while the embedded processor is permitted to perform minimal algorithmic processes, such as simple matching routines or other basic logic functions.
- computational intensive operations such as cryptographic processes
- algorithmic processes such as simple matching routines or other basic logic functions.
- method 50 for enabling authentication is illustrated.
- this method will be used when a disabled target is presented for activation at an activation site.
- a disabled target may be displayed at a retail store, and a consumer takes the disabled target to a check stand.
- a clerk passes the disabled target over an RF reader, and the activation process initiates.
- Method 50 operates on an embedded system, such as embedded system 15 described with reference to FIG. 1 .
- the embedded processor is attached to the target, and is initially set to have disabled the usefulness of the target.
- the method begins with the embedded system receiving a request for authentication information as shown in step 52 . It will be understood that authentication information may include any information useful in the authentication process.
- Authentication information may include an identifier for a manufacturer, an identifier for a merchant, an identifier for a public/private key pair, an identifier for an embedded system, an encrypted token, or a public key.
- an identifier is a series of binary bits that may be interpreted as an identifying number or ID number.
- an identifier may be interpreted as a word or as a combination of letters and numbers.
- the request for authentication information is received by the embedded system from a reader at the point of sale when a target is sold.
- the embedded system After receiving a request for the authentication information, the embedded system accesses the authentication information in user memory and transmits the authentication information to the reader as shown in step 54 . It will be understood that the authentication information will have previously been loaded into the user memory of the embedded system.
- the authentication information comprises an encrypted token.
- the encrypted token is an encrypted representation of a plaintext token stored in the hidden memory of the embedded processor.
- a token as used in the authentication process, is a series of binary bits.
- the bits comprising a plaintext token may have meaning when interpreted as letters or numbers.
- the bits of a plaintext token may have no meaning when interpreted as numbers or letter.
- the encrypted token is generated by encrypting the plaintext token with a public key.
- the embedded system receives a plaintext token as shown in step 56 .
- the embedded system receives a plaintext token and an action request as shown in step 58 .
- An action request is an indication of an action to be performed if the authentication process succeeds.
- the action request comprises an indication that if the authentication process succeeds, the embedded system should activate the target.
- the embedded system After receiving a plaintext token, the embedded system compares the received plaintext token to a plaintext token stored in hidden memory as shown in step 60 . It will be appreciated that the comparison may comprise matching the received plaintext token to the stored plaintext token, finding that the received plaintext token and the stored plaintext token do not match, or using logical steps in comparing the received plaintext token and the stored plaintext token. After performing the comparison, the embedded system will perform an action responsive to the comparison as shown in step 62 . In one example, the action performed if the received plaintext token and the stored plaintext token match is activation of the target. In another example, no action is performed if the received plaintext token and the stored plaintext token do not match. In another example, the embedded system transmits a message indicating the action the embedded system performed or the result of the comparison. In another example, the embedded system performs the action specified in an action request reactant to the result of the comparison.
- Method 80 operates on a reader and begins when the reader requests authentication information from an embedded system.
- the authentication information comprises an encrypted token.
- the encrypted token is an encrypted representation of a plaintext token stored on the embedded system.
- the reader receives the authentication information from the embedded system as shown in step 84 .
- the reader establishes communication with a network operation center as shown in step 86 .
- the reader establishes a secure session with the NOC. This session can be established, for example, using standard public key encryption methods.
- the reader transmits the authentication information to the NOC as shown in step 88 .
- the reader transmits the authentication information and an action request to the NOC as shown in step 90 .
- the reader receives a plaintext token from the NOC as shown in step 92 .
- the reader transmits the plaintext token to the embedded system as shown in step 94 .
- the reader transmits the plaintext token and the action request to the embedded system as shown in step 96 .
- Method 120 operates on a network operations center and begins when the NOC establishes communication with a reader as shown in step 122 . In one example, this occurs when a target is brought to a point of sale and the reader contacts the NOC. In one example, the process of establishing communication from a reader involves receiving identifying information about the reader such as a unique identification number. After establishing communication with a reader, the NOC receives authentication information from the reader as shown in step 124 . Alternatively, the NOC receives both the authentication information and an action request from the reader as shown in step 126 . In one example the authentication information comprises an encrypted token and information sufficient to determine the appropriate private key to use to decrypt the encrypted token.
- this information sufficient to determine the appropriate private key is an identification number for a public/private key pair.
- the NOC determines if the reader is authorized to transmit action requests to the embedded system as shown in step 128 . For example, during the load process, a merchant ID number may be loaded into the user memory of the embedded system attached to a target indicating the merchant that the target is going to be sold by.
- the NOC maintains a list of the readers operated by different merchants.
- the NOC can determine if the reader corresponds to a the merchant whose ID was stored on the embedded processor. In one example, if the reader does not correspond to the merchant indicated in the authentication information, the NOC determines that the reader is not authorized to transmit any action request to the embedded system.
- the NOC in addition to maintaining a list of the readers operated by a merchant, the NOC also maintains a list of the action requests a merchant or reader may transmit to a particular embedded system. For example, if the functionality of a target comprises multiple tiers, it may be desirable for the readers of a particular merchant to only be able to activate a limited portion of the full functionality of the target. Specifically, a target may have two operational modes and it may be desirable for a particular merchant to only sell targets operating in mode one. In addition to maintaining a list of the readers corresponding to the merchant, the NOC also maintains a list of the action commands that the readers of a particular merchant are allowed to transmit to a particular type of target. When the NOC receives the authentication information and an action request from the reader, the NOC can determine if the reader is authorized to transmit that specific action request to the embedded system as shown in step 130 .
- the NOC does not generate a plaintext token as shown in step 132 . This effectively ends the authentication process. However, if the NOC determines that the reader is authorized to send action requests, or the received action request, to the embedded system, the NOC proceeds to use the authentication information received from the reader to select a private key from a key management database as shown in step 134 .
- the key management database contains public/private key pairs indexed by an identification number associated with the key pair.
- the identification number corresponding to a public/private key pair and an encrypted token generated using the public key from that pair are stored as authentication information in the user memory of the embedded system during the load process.
- the NOC uses the public/private key pair ID number to select the private key corresponding to the public key used to generate the encrypted token. Having selected the appropriate private key, the NOC generates a plaintext token by decrypting the encrypted token received in the authentication information with the selected private key as shown in step 136 . After generating the plaintext token, the NOC transmits the plaintext token to the reader as shown in step 138 .
- System 160 for loading an embedded processor is illustrated.
- Loading is the process of pre-storing information into the memory of the embedded system.
- the loading process may be done by the manufacturer, for example, or may be done by another trusted entity. Since the loading process has access to important cryptographic keys and algorithms, it is important that the loading process be strongly secured.
- System 160 has embedded system 162 .
- Embedded system 162 has embedded processor 164 , memory 166 and RF transponder 172 .
- Memory 166 is further comprises hidden memory 168 and user memory 170 . It will be understood that embedded system 162 is similar to embedded system 15 described in FIG. 1 .
- Embedded system 162 is linked to target 174 . It will be understood that target 174 is similar to target 22 in FIG. 1 .
- Target 174 may be, for example, a CD, DVD, HD DVD, Blu-Ray DVD, or gaming disc.
- System 160 also has loader 176 .
- loader 176 is a device located at the manufacturing site of target 174 .
- loader 176 is a device located at the manufacturing site of embedded system 162 .
- loader 176 is a device located at the site where embedded system 162 is linked to target 174 .
- Loader 176 enables communication between embedded system 162 and NOC 180 .
- Loader 176 operates load application 178 .
- Load application 178 performs functions related to the load process.
- NOC 180 operates network load application 182 .
- Network read application 182 handles communication to and from loader 176 and performs functions related to the load process.
- NOC 180 also maintains key management database 184 to enable cryptographic features of the authentication process.
- Method 212 begins when the network load application (NLA) operating on a NOC generates a public/private key pair as shown in step 212 .
- the NLA generates a key pair responsive to a request from a loader.
- the NLA stores the key pair in the key management database as shown in step 213 .
- the key pair is stored according to an ID number associated with the key pair.
- only the private key is stored in the key management database.
- the NLA transmits the public key and other authentication information to a loader as shown in step 214 .
- the authentication information includes the ID number associated with the public key.
- a load application operating on the loader receives the public key and authentication information as shown in step 216 .
- the load application After receiving the public key and authentication information, the load application generates a plaintext token.
- the plaintext token is randomly generated.
- the plaintext token is generated to contain meaningful information.
- the plaintext token may be generated as a combination of identification numbers for a manufacturer, merchant, key pair, and embedded system.
- the load application After generating a plaintext token, the load application generates an encrypted token by encrypting the plaintext token with the public key as shown in step 220 .
- the load application transmits the plaintext token and authentication information to the embedded system as shown in step 222 .
- the authentication information comprises the encrypted token and the identification number associated with the public key used to generate the encrypted token.
- Method 240 operates on an embedded system and begins when the embedded system receives a plaintext token and authentication information as shown in step 241 .
- the authentication information comprises an encrypted token and an identification number associated with the public key used to generate the encrypted token.
- the embedded system After receiving the plaintext token and authentication information, the embedded system stores the plaintext token in a hidden memory as shown in step 242 .
- the hidden memory is a write once memory and once the plaintext token has been written there, the contents of the hidden memory can no longer be changed.
- the embedded system stores the authentication information in user memory as shown in step 243 . At this point, the loading process is complete.
- System 244 makes use of embedded system 245 .
- Embedded system 245 has hidden memory 246 for storing a plaintext token and user memory 247 for storing authentication information.
- System 244 also has generation process 248 .
- generation process 248 is performed on a network operations center and a loader.
- Generation process 248 generates plaintext token 249 , authentication information 250 , and private key 251 .
- authentication information 250 comprises an encrypted token and an identification number associated with a public/private key pair.
- the encrypted token is an encrypted representation of plaintext token 249 and can be decrypted into plaintext token 249 using private key 251 .
- Plaintext token 249 is stored in hidden memory 246 and authentication information 250 is stored in user memory 247 .
- System 244 has derivation process 252 .
- derivation process 252 is performed on a network operations center and a reader.
- Derivation process receives private key 251 .
- the NOC stores private key 251 during generation process 248 and accesses private key 251 during derivation process 252 .
- Derivation process 252 also receives authentication information 253 from user memory 247 of embedded system 245 .
- authentication information 253 comprises an encrypted token and an identification number corresponding to the public/private key pair used in generation process 248 and derivation process 252 .
- Derivation process uses authentication information 253 to select private key 251 and generate plaintext token 254 by decrypting the encrypted token contained in authentication information 253 .
- Plaintext token 254 is transmitted to embedded system 245 and compared to plaintext 249 stored in hidden memory 246 .
- Embedded system 245 performs an action responsive to the comparison between plaintext token 249 and plaintext token 254 .
- Method 255 begins at network operation center 256 .
- NOC 256 generates a public/private key pair as shown in step 257 .
- Method 255 continues on loader 258 .
- Loader 258 generates a plaintext token as shown in step 259 .
- the public key generated by the NOC 257 is transferred to loader 258 .
- Loader 258 generates an encrypted token by encrypting the plaintext token with the public key as shown in step 260 .
- loader 258 loads the embedded system with the plaintext token and authentication info comprising the encrypted token as shown in step 261 .
- the target is deactivated as shown in step 262 .
- the target begins in a deactivated state.
- the target After loading the embedded processor, the target is sent through the distribution chain as shown in step 263 .
- the entire time the target is in the distribution chain it is deactivated. If the target is stolen before reaching the point of sale it can not be used.
- Method 255 continues as the target reaches point of sale 264 and comes in proximity to a reader.
- the reader reads the authentication information comprising the encrypted token from the embedded system as shown in step 265 .
- the reader then transmits the authentication information to NOC 256 .
- NOC 256 generates a plaintext token by using the private key to decrypt the encrypted token as shown in step 266 . After generating the plaintext token, NOC 256 sends the plaintext token back to the reader at the point of sale as shown in step 267 .
- the reader receives the plaintext token and transmits it to the embedded system.
- the embedded system compares the received plaintext token to the plaintext token stored on the embedded system as shown in step 268 .
- the embedded system performs an action responsive to the comparison as shown in step 269 .
- the embedded system activates the target if the received plaintext token and the stored plaintext token match.
- the systems and methods presented can be applied in a number of ways to secure the actions performed by embedded systems on targets where processing power in the embedded system is limited.
- the security of the system and methods for authorizing the actions performed by an embedded system can be enhanced by altering the cryptographic process employed by the network operation center and loader.
- this change can be made without increasing the amount of processing done by the embedded system or increasing the amount of information stored on the embedded system. This means, for example, that the overall security level or encryption strength may be increased for the overall system, without changes or significant modifications to the processes and structures employed by the embedded system.
- System 280 for authorizing a target is illustrated. It will be appreciated that system 280 is similar to 10 illustrated in FIG. 1 , so will be described in less detail.
- System 280 has embedded system 282 .
- Embedded system 282 comprises embedded processor 284 , memory 286 , and RF transponder 292 .
- Embedded processor 284 is connected to memory 286 .
- Memory 286 has hidden memory 288 and user memory 290 .
- the embedded processor 284 may use the contents of hidden memory 288 in making activation decision, but the contents of hidden memory 288 cannot be read externally.
- hidden memory 288 is a write once memory and can only be read and used by the embedded processor 284 . Any other attempted read or use would destroy the hidden memory or other circuit device.
- user memory 290 may be written to and read from by the embedded processor, and may be used to hold authentication information, application code, data values, codes, and commands.
- System 280 has target 294 . It will be understood that target 294 is an article, item, or media. In one example, target 294 is media for storing content such as audio, video, images, codes, and other types of data and information. In one example, target 294 is a compact disc (CD), video disc, digital versatile disc (DVD), laser disc, or hologram. In another example, target 294 is a credit card, driver's license, identification card, security pass, ticket, or coupon.
- Embedded system 282 is attached to target 294 . System 296 also has reader 296 . Reader 296 communicates with embedded system 282 via RF transponder 292 . In one example, reader 296 is operated by a merchant who sells target 294 .
- Reader 296 may be located at a checkout counter.
- Read application 298 operates on reader 296 .
- Read application 298 manages the communication between embedded system 282 and network operation center (NOC) 300 .
- NOC 300 operates network read application 302 .
- Network read application 302 manages communication to and from reader 296 and performs functions related to the authentication process.
- NOC also maintains key management database 304 to enable cryptographic features of the authentication process.
- Embedded system 282 performs simple comparison operations and reader 296 conveys information between embedded system 282 and NOC 300 .
- reader 296 conveys information between embedded system 282 and NOC 300 .
- Method 310 operates on an embedded system and begins when the embedded system receives a request for authentication information as shown in step 312 .
- the requested authentication information includes an identification number for a manufacturer, an identification number for a merchant, an identification number for a NOC public/private key pair, an identification number for an embedded system, and a tag public key.
- the request for authentication information is received by the embedded system from a reader. This request is generated by the reader at the time the target is sold.
- the embedded system After receiving a request for the authentication information, the embedded system accesses the authentication information in user memory and transmits the authentication information to the reader as shown in step 314 . It will be understood that the authentication information will have previously been loaded into the user memory of the embedded system. Additionally, it will be understood that an authentication code will have previously been loaded into the hidden memory of the embedded system. In one example, the authentication code is mathematical combination of an identification number for a manufacturer, an identification number for an embedded system, a NOC public key and the tag private key.
- the embedded system receives an authentication code as shown in step 316 .
- this external processing is done by the NOC and involves generating an authentication code by mathematically combining an identification number for a manufacturer, an identification number for an embedded system, a NOC private key and the tag public key.
- the embedded system receives an authentication code and an action request as shown in step 318 .
- the action request comprises an indication that if the authentication process succeeds, the embedded system should deactivate the target.
- the embedded system After receiving an authentication code, the embedded system compares the received authentication code to an authentication code stored in hidden memory of the embedded system as shown in step 320 . It will be appreciated that the comparison may comprise matching the authentication code to the stored authentication code, finding that the received authentication code and the stored authentication code do not match, or using logical steps in comparing the received authentication code and the stored authentication code.
- the embedded system After performing the comparison, the embedded system will perform an action responsive to the comparison as shown in step 322 .
- the action performed if the received authentication code and the stored authentication code match is activation of the target.
- no action is performed if the received authentication code and the stored authentication code do not match.
- the embedded system transmits a message indicating the action the embedded system performed or the result of the comparison.
- the embedded system performs the action specified in an action request reactant to the result of the comparison.
- Method 350 operates on a reader.
- method 350 will be executed when the target is brought to a point of sale.
- Method 350 begins when the reader requests authentication information from an embedded system as shown in step 352 .
- the authentication information comprises a tag public key, a manufacturer ID, a merchant ID, a NOC public/private key pair ID, and an embedded system ID.
- the reader receives the authentication information from the embedded system as shown in step 354 .
- the reader establishes communication with a network operation center as shown in step 356 .
- the reader transmits the authentication information to the NOC as shown in step 358 .
- the reader transmits the authentication information and an action request to the NOC as shown in step 360 .
- the reader receives an authentication code from the NOC as shown in step 362 .
- the reader transmits the authentication code to the embedded system as shown in step 364 .
- the reader transmits the authentication code and the action request to the embedded system as shown in step 366 .
- Method 390 operates on a network operations center and begins when the NOC establishes communication with a reader as shown in step 392 . In one example, this occurs when a target is brought to a reader at a point of sale and the reader contacts the NOC. In another example, the process of establishing communication with a reader involves receiving identifying information about the reader such as a unique identification number. After establishing communication with a reader, the NOC receives authentication information from the reader as shown in step 394 . Alternatively, the NOC receives both the authentication information and an action request from the reader as shown in step 396 . In one example the authentication information comprises a tag public key, a manufacturer ID, a merchant ID, a NOC public/private key pair ID, and an embedded system ID.
- the NOC determines if the reader is authorized to transmit action requests to the embedded system as shown in step 398 . Alternatively, the NOC determines if the reader is authorized to send the received action request to the embedded system as shown in step 400 . If the reader is not authorized to send any action request to the embedded system or the reader is not authorized to send the received action request to the embedded system, the NOC does not generate an authentication code as shown in step 402 . This effectively ends the authentication process. However, if the NOC determines that the reader is authorized to send action requests, or the received action request, to the embedded system, the NOC proceeds to use the authentication information received from the reader to select a NOC private key from a key management database as shown in step 404 . In one example, the key management database contains public/private key pairs indexed by a tuple of a manufacturer ID, a merchant ID, and a NOC public/private key pair ID.
- the NOC Having selected the appropriate NOC private key, the NOC generates an authentication code as shown in step 406 .
- the NOC generates an authentication code by mathematically combining a NOC private key, a tag public key, an embedded system ID number, and a manufacturer ID number.
- the NOC private key is stored in a database maintained by the NOC and the other information used to generate the authentication code is transmitted to the NOC by the reader in the authentication information.
- the NOC private key is an integer and the tag public key is a point on an elliptical curve.
- the NOC generates an authentication code by multiplying the NOC private key and the tag public key together, hashing the result of the multiplication, and combining the result of the hash with parts of the embedded system ID number and the manufacturer ID number. After generating the authentication code, the NOC transmits the authentication code to the reader as shown in step 408 .
- Generating the authentication code in this manner provides multiple advantages.
- First, using the elliptical cryptographic method provides greater security per bit than other methods of encryption. Greater security can be achieved without increasing the number of bits stored on the embedded system.
- the NOC determines that a reader is sending authentication information that results in invalid authentication codes, the NOC can refuse to communicate with the reader or take other steps to defeat the attempt to compromise the security of the authentication process.
- the use of elliptical curve cryptography increases the security of the authentication process without requiring additional processing at the embedded processor or increasing the amount of information it stores.
- system 430 for loading an embedded processor is illustrated. It will be appreciated that system 430 is similar to system 160 of FIG. 5 .
- System 430 is used to preload embedded system 432 with an authentication code and authentication information to enable subsequent secure authentication. The computationally intensive portions of the cryptographic process are performed at NOC 450 and loader 446 to enable secure authentication with minimal computation at the embedded system.
- Embedded system 432 has embedded processor 434 , memory 436 and RF transponder 442 .
- Memory 436 further comprises hidden memory 436 and user memory 440 . It will be understood that embedded system 432 is similar to embedded system 282 described in FIG. 9 .
- Embedded system 432 is attached to target 444 . It will be understood that target 444 is similar to target 294 in FIG. 9 .
- Target 444 may be, for example, a CD, DVD, HD DVD, Blu-Ray DVD, or gaming disc.
- System 430 also has loader 446 .
- Loader 446 is used to transmit the authentication code and authentication information to embedded system 432 .
- loader 446 is a device located at the manufacturing site of target 444 .
- loader 446 is a device located at the manufacturing site of embedded system 432 .
- loader 446 is a device located at the site where embedded system 432 is linked to target 444 .
- Loader 446 enables communication between embedded system 432 and NOC 450 .
- Loader 446 operates load application 448 .
- Load application 448 performs functions related to the load process.
- NOC 450 operates network load application 452 .
- Network load application 452 handles communication to and from loader 446 and performs a portion of the computationally intensive cryptographic process to enable secure authentication with minimal computation at the embedded processor.
- NOC 450 also maintains key management database 454 to enable cryptographic features of the authentication process. It will be appreciated that system 430 enables the pre-loading of the embedded system to enable secure authentication.
- Method 470 involves the operation of system 430 from FIG. 13 .
- the execution of method 470 results in a loaded embedded system that can be subsequently used in secure authentication.
- Method 470 begins when the network load application (NLA) operating on a NOC generates a NOC public/private key pair as shown in step 472 .
- the NLA generates a key pair responsive to a request from a loader.
- the NOC private key is an integer and the NOC public key is a point on an elliptical curve.
- the NOC key pair is generated by selecting an elliptical curve with generator (base point) G and order n.
- the NLA stores the NOC key pair in the key management database as shown in step 474 .
- the NOC key pair is stored according to a tuple of a manufacturer ID number, a merchant ID number, and an embedded system ID number.
- only the NOC private key is stored in the key management database.
- the NLA transmits the NOC public key, the key generation parameters G and n, and other authentication information to a loader as shown in step 476 .
- the other authentication information includes the ID number associated with the NOC public/private key pair, a manufacturer ID number, a merchant ID number, and an embedded system ID number.
- the load application operating on the loader receives the NOC public key, key generation parameters, and other authentication information as shown in step 478 .
- the load application generates a tag public/private key pair using the key generation parameters supplied by the NOC as shown in step 480 .
- the load application After generating the tag public/public key pair, the load application generates an authentication code by combining the tag private key, the NOC public key, a manufacturer ID and an embedded system ID as shown in step 482 .
- the activation code is generated by multiplying the tag private key and the NOC public key, hashing the result, and combining the result of the hash with parts of the manufacturer ID and embedded system ID.
- the loader After generating an authentication code, transmits the authentication code and other authentication information to the embedded processor as shown in step 486 .
- the authentication information comprises the tag public key, a manufacturer ID, a merchant ID, an embedded system ID, and a NOC public/private key pair ID.
- Advantageously method 470 allows for an extremely sophisticated encryption scheme to be used on the embedded system without the use of intensive computation at the embedded processor.
- the load process of method 470 allows an even more sophisticated encryption scheme that provides greater security per bit than traditional encryption schemes without increasing the complexity of the computation performed at the embedded processor.
- the authentication code is generated from meaningful information, attempts to crack the encryption method by building a library of authentication codes generated by different inputs can be recognized and thwarted.
- Method 510 operates on an embedded system.
- method 510 is executed at the manufacturing site of a target when the target is brought into proximity of the loader.
- Method 510 begins when the embedded system receives an authentication code and authentication information as shown in step 512 .
- the authentication information comprises a tag public key, a manufacturer ID, a merchant ID, an embedded processor ID, and an identification number associated with a NOC public/private key pair.
- the embedded system After receiving the authentication code and authentication information, stores the authentication code in a hidden memory as shown in step 514 .
- the hidden memory is a write once memory and once the authentication code has been written there, the contents of the hidden memory can no longer be changed.
- the embedded system stores the authentication information in user memory as shown in step 516 . At this point, the loading process is complete.
- System 540 makes use of embedded system 542 .
- Embedded system 542 has hidden memory 544 for storing an authentication code and user memory 546 for storing authentication information.
- System 540 also has generation process 548 .
- generation process 548 is performed on a network operations center and a loader.
- Generation process 548 generates authentication code 562 , authentication information 560 , and NOC private key 564 .
- the generation process proceeds according to method 470 in FIG. 14 .
- authentication information 560 comprises a tag public key, a manufacturer ID, a merchant ID, the ID of embedded system 542 , and an identification number associated with the NOC public/private key pair.
- Authentication code 562 is stored in hidden memory 544 and authentication information 560 is stored in user memory 546 .
- System 540 has derivation process 566 .
- derivation process 566 is performed on a network operations center and a reader.
- Derivation process 566 receives NOC private key 564 .
- the NOC stores NOC private key 564 during generation process 548 and accesses NOC private key 564 during derivation process 566 .
- Derivation process 566 also receives authentication information 568 from user memory 546 of embedded system 542 .
- authentication information 568 comprises a tag public key, a manufacturer ID, a merchant ID, the ID of embedded system 542 , and an identification number associated with the NOC public/private key pair.
- Derivation process 566 uses authentication information 568 to select private key 564 and generate authentication code 569 .
- authentication code 569 is generated according to step 406 of method 390 in FIG. 12 .
- Authentication code 569 is transmitted to embedded system 542 and compared to authentication code 562 stored in hidden memory 544 .
- Embedded system 542 performs an action responsive to the comparison between authentication code 569 and authentication code 562 .
- Method 570 begins at network operation center 571 .
- NOC 256 generates a NOC public/private key pair using key generation parameters as shown in step 572 .
- NOC 572 transfers both the key generation parameters and the NOC public key to loader 573 .
- Loader 573 generates a tag public/private key pair using the key generation parameters as shown in step 574 .
- the loader uses the tag private key, NOC public key, and other authentication information to generate an authentication code as shown in step 575 .
- loader 573 loads the embedded system with the authentication code, the tag public key, and other authentication information as shown in step 576 .
- the target is deactivated as shown in step 577 . Alternatively, the target leaves the manufacturing process in a deactivated state.
- Method 570 continues as the target reaches point of sale 579 and comes in proximity to a reader.
- the reader reads the authentication information (including the tag public key) from the embedded system as shown in step 580 .
- the reader then transmits the authentication information to NOC 571 .
- NOC 571 generates an authentication code using the tag public key, the NOC private key, and other authentication information from the embedded system as shown in step 581 .
- NOC 571 After generating the authentication code, NOC 571 sends the authentication code back to the reader at the point of sale as shown in step 582 .
- the reader receives the authentication code and transmits it to the embedded system.
- the embedded system compares the received authentication code to the authentication code on the embedded system as shown in step 583 .
- the embedded system performs an action responsive to the comparison as shown in step 584 .
- the embedded system activates the target if the received plaintext token and the stored plaintext token match.
- the cryptographic processes described herein may be used in conjunction with the systems and method described herein to secure authentication for an embedded system without requiring sophisticated computation on the embedded system.
- the present system and methods are not tied to any particular cryptographic scheme.
- the present systems and methods for securing the actions of an embedded system may be practiced using a variety of cryptographic schemes.
- the present systems and methods provide great flexibility in determining the appropriate cryptographic process for a particular application.
- the changes to the cryptographic scheme may be performed without changes or significant alteration to the embedded system and supporting systems or methods. Accordingly, it is possible to describe the function of the present systems and methods in reference to a more general process for securing the authentication process.
- System 590 for authorizing a target is illustrated. It will be appreciated that system 590 is similar to system 280 illustrated in FIG. 9 , so will be described in less detail.
- System 590 has embedded system 592 .
- Embedded system 592 comprises embedded processor 594 , memory 596 , and RF transponder 602 .
- Embedded processor 594 is connected to memory 596 .
- Memory 596 has hidden memory 598 and user memory 600 .
- System 590 has target 604 . It will be understood that target 604 is an article, item, or media. In one example, target 604 is media for storing content such as audio, video, images, codes, and other types of data and information. In one example, target 604 is a compact disc (CD), video disc, digital versatile disc (DVD), laser disc, or hologram. In another example, target 604 is a credit card, driver's license, identification card, security pass, ticket, or coupon.
- Embedded system 592 is attached to target 504 . System 590 also has reader 606 . Reader 606 communicates with embedded system 592 via RF transponder 602 . Read application 608 operates on reader 606 .
- Read application 608 manages the communication between embedded system 592 and network operation center (NOC) 610 .
- NOC 610 operates network read application 612 .
- Network read application 613 manages communication to and from reader 606 and performs functions related to the authentication process.
- NOC also maintains key management database 614 to enable cryptographic features of the authentication process.
- the computationally intensive aspects of the authentication process are handled by NOC 610 .
- Embedded system 592 performs simple comparison operations and reader 606 conveys information between embedded system 592 and NOC 610 .
- Method 640 operates on an embedded system.
- method 640 is executed at the time a target is brought to a point of purchase.
- Method 640 begins when the embedded system receives a request for authentication information as shown in step 642 .
- the requested authentication information is any one or more pieces of data that are necessary but, without further information, insufficient to enable the quick computation of an authentication message.
- an authentication message is a series of bits that may or may not have meaning.
- an authentication message is a plaintext token.
- an authentication message is an authentication code.
- the embedded system After receiving a request for the authentication information, the embedded system accesses the authentication information in user memory and transmits the authentication information to the reader as shown in step 644 . It will be understood that the authentication information will have previously been loaded into the user memory of the embedded system. Additionally, it will be understood that the authentication message will have previously been loaded into the hidden memory of the embedded system.
- the embedded system receives an authentication message as shown in step 646 .
- this external processing is done by the NOC and involves generating an authentication message by combining the authentication information from the embedded system with other information stored on the NOC.
- the embedded system receives an authentication message and an action request as shown in step 648 .
- the action request comprises an indication that if the authentication process succeeds, the embedded system should deactivate the target.
- the embedded system compares the received authentication message to an authentication message stored in hidden memory of the embedded system as shown in step 650 . It will be appreciated that the comparison may comprise matching the received authentication message to the stored authentication message, finding that the received authentication message and the stored authentication message do not match, or using logical steps in comparing the received authentication message and the stored authentication message.
- the embedded system After performing the comparison, the embedded system will perform an action responsive to the comparison as shown in step 652 .
- the action performed if the received authentication message and the stored authentication message match is activation of the target.
- no action is performed if the received authentication message and the stored authentication message do not match.
- the embedded system transmits a message indicating the action the embedded system performed or the result of the comparison.
- the embedded system performs the action specified in an action request reactant to the result of the comparison.
- Method 680 operates on a reader.
- method 680 will be executed when the target is brought to a point of sale.
- Method 680 begins when the reader requests authentication information from an embedded system as shown in step 682 .
- the authentication information may include a tag public key, an encrypted token, a manufacturer ID, a merchant ID, a NOC public/private key pair ID, and an embedded system ID.
- the reader receives the authentication information from the embedded system as shown in step 684 .
- the reader establishes communication with a network operation center as shown in step 686 .
- the reader transmits the authentication information to the NOC as shown in step 688 .
- the reader transmits the authentication information and an action request to the NOC as shown in step 690 .
- the reader receives an authentication message from the NOC as shown in step 692 .
- the reader After receiving the authentication code from the NOC, the reader transmits the authentication message to the embedded system as shown in step 694 .
- the reader transmits the authentication message and the action request to the embedded system as shown in step 696 .
- Method 720 operates on a network operations center and begins when the NOC establishes communication with a reader as shown in step 722 . In one example, this occurs when a target is brought to a reader at a point of sale and the reader contacts the NOC. After establishing communication with a reader, the NOC receives authentication information from the reader as shown in step 724 . Alternatively, the NOC receives both the authentication information and an action request from the reader as shown in step 726 .
- the authentication information may include an a tag public key, an encrypted token, a manufacturer ID, a merchant ID, a NOC public/private key pair ID, or an embedded system ID.
- the NOC determines if the reader is authorized to transmit action requests to the embedded system as shown in step 728 . Alternatively, the NOC determines if the reader is authorized to send the received action request to the embedded system as shown in step 730 . If the reader is not authorized to send any action request to the embedded system or the reader is not authorized to send the received action request to the embedded system, the NOC does not generate an authentication message as shown in step 732 . This effectively ends the authentication process. However, if the NOC determines that the reader is authorized to send action requests, or the received action request, to the embedded system, the NOC proceeds to use the authentication information received from the reader to select a NOC private key from a key management database as shown in step 734 . In one example, the key management database contains public/private key pairs indexed by a tuple of a manufacturer ID, a merchant ID, and a NOC public/private key pair ID.
- the NOC Having selected the appropriate NOC private key, the NOC generates an authentication message as shown in step 736 .
- the authentication message is generated using the NOC private key and the authentication information from the reader.
- the authentication message is generated by decrypting an encrypted token contained in the authentication information from the reader with the NOC private key.
- the authentication message is generated by mathematically combining the NOC private key with values in the authentication information form the reader.
- the NOC transmits the authentication code to the reader as shown in step 738 .
- the information necessary to quickly compute the authentication message is separated.
- One portion, the authentication information is stored on the embedded system with the target.
- the other portion, the NOC private key, is stored at the NOC. Persons with access to the authentication information on the embedded system cannot easily compute the authentication message without the NOC private key.
- the placement of necessary, but insufficient, information at two locations that can be combined to form sufficient information enables great security in the authentication process. Further, the present system and methods enable this cryptographic method with minimal computation at the embedded processor.
- system 760 for loading an embedded processor is illustrated. It will be appreciated that system 760 is similar to system 430 of FIG. 13 .
- System 760 is used to preload embedded system 762 with an authentication message and authentication information to enable subsequent secure authentication.
- the computationally intensive portions of the cryptographic process are performed at NOC 782 and loader 778 to enable secure authentication with minimal computation at the embedded system.
- Embedded system 762 has embedded processor 764 , memory 768 and RF transponder 774 .
- Memory 768 further comprises hidden memory 770 and user memory 772 . It will be understood that embedded system 762 is similar to embedded system 282 described in FIG. 9 .
- Embedded system 768 is attached to target 776 . It will be understood that target 776 is similar to target 294 in FIG. 9 .
- Target 776 may be, for example, a CD, DVD, HD DVD, Blu-Ray DVD, or gaming disc.
- System 760 also has loader 778 .
- Loader 778 is used to transmit the authentication message and authentication information to embedded system 762 .
- loader 778 is a device located at the manufacturing site of target 776 .
- loader 778 is a device located at the manufacturing site of embedded system 762 .
- loader 778 is a device located at the site where embedded system 762 is attached to target 776 .
- Loader 778 enables communication between embedded system 762 and NOC 782 .
- Loader 778 operates load application 780 .
- Load application 780 performs functions related to the load process.
- NOC 782 operates network load application 784 .
- Network load application 784 handles communication to and from loader 778 and performs a portion of the computationally intensive cryptographic process to enable secure authentication with minimal computation at the embedded processor.
- NOC 782 also maintains key management database 786 to enable cryptographic features of the authentication process. It will be appreciated that system 760 enables the pre-loading of the embedded system to enable secure authentication.
- Method 810 for loading an embedded system is illustrated.
- Method 810 involves the operation of system 760 from FIG. 21 .
- the execution of method 810 results in a loaded embedded system that can be subsequently used in secure authentication.
- Method 810 begins when the network load application (NLA) operating on a NOC generates a NOC public/private key pair as shown in step 812 .
- the NLA generates a key pair responsive to a request from a loader.
- the NLA stores the NOC key pair in the key management database as shown in step 814 .
- the NOC key pair is stored according to a tuple of a manufacturer ID number, a merchant ID number, and an embedded system ID number.
- the NLA After storing the NOC key pair, the NLA transmits the NOC public key and other authentication information to a loader as shown in step 816 .
- the other authentication information may include the ID number associated with the NOC public/private key pair, a manufacturer ID number, a merchant ID number, or an embedded system ID number.
- the load application operating on the loader receives the NOC public key and other authentication information as shown in step 818 .
- the loader load application uses the NOC public key and other authentication information to generate an authentication message.
- the activation message is an encrypted version of a plaintext token.
- the activation message is a mathematical combination of the NOC public key, a tag private key, and other authentication information.
- the loader transmits the authentication message and other authentication information to the embedded processor as shown in step 822 .
- the authentication information may include a tag public key, an encrypted token, a manufacturer ID, a merchant ID, an embedded system ID, and a NOC public/private key pair ID.
- Method 850 operates on an embedded system.
- method 850 is executed at the manufacturing site of a target when the target is brought into proximity of a loader.
- Method 850 begins when the embedded system receives an authentication message and authentication information as shown in step 850 .
- the authentication information may include a tag public key, an encrypted token, a manufacturer ID, a merchant ID, an embedded processor ID, or an identification number associated with a NOC public/private key pair.
- the embedded system After receiving the authentication message and authentication information, stores the authentication message in a hidden memory as shown in step 854 .
- the hidden memory is a write once memory and once the authentication message has been written there, the contents of the hidden memory can no longer be changed.
- the embedded system After storing the authentication message in hidden memory, the embedded system stores the authentication information in user memory as shown in step 856 . At this point, the loading process is complete.
- System 880 makes use of embedded system 882 .
- Embedded system 882 has hidden memory 884 for storing an authentication code and user memory 886 for storing authentication information.
- System 882 also has generation process 888 .
- generation process 888 is performed on a network operations center and a loader.
- Generation process 888 generates authentication message 892 , necessary but incomplete authentication information 890 , and necessary but incomplete authentication information 894 .
- necessary but incomplete authentication information 890 may include a tag public key, an encrypted token, a manufacturer ID, a merchant ID, the ID of embedded system 882 , and an identification number associated with a NOC public/private key pair.
- necessary but incomplete authentication information 894 is a NOC private key.
- Authentication message 892 is stored in hidden memory 884 and necessary but incomplete authentication information 890 is stored in user memory 886 .
- System 880 has derivation process 896 .
- derivation process 896 is performed on a network operations center and a reader.
- Derivation process 896 receives necessary but incomplete authentication information 894 .
- necessary but incomplete authentication information 894 is a NOC private key stored by a NOC during generation process 888 and accessed by the NOC during derivation process 896 .
- Derivation process 880 also receives necessary but incomplete authentication information 898 from user memory 886 of embedded system 882 . It will be appreciated that when combined, necessary but incomplete authentication information 898 and necessary but incomplete authentication information 894 become sufficient to quickly generate authentication message 900 .
- Derivation process 896 uses necessary but incomplete authentication information 894 and necessary but incomplete authentication information 898 to generate authentication message 900 .
- Authentication message 900 is transmitted to embedded system 882 and compared to authentication message 892 stored in hidden memory 884 .
- Embedded system 882 performs an action responsive to the comparison between authentication message 892 and authentication message 900 .
- Method 925 begins at network operation center 926 .
- NOC 926 generates a NOC public/private key pair as shown in step 927 .
- NOC 926 transfers the NOC public key to loader 928 .
- Loader 928 receives the NOC public key and generates an authentication message as shown in step 929 .
- loader 928 loads the embedded system with the authentication message and other authentication information as shown in step 930 .
- the target is deactivated as shown in step 931 .
- the target leaves the manufacturing process in a deactivated state.
- the target is sent through the distribution chain as shown in step 932 .
- the entire time the target is in the distribution chain it is deactivated. If the target is stolen before reaching the point of sale it cannot be used.
- Method 925 continues as the target reaches point of sale 933 and comes in proximity to a reader.
- the reader reads the authentication information from the embedded system as shown in step 934 .
- the reader then transmits the authentication information to NOC 926 .
- NOC 926 generates an authentication message using the authentication information from the reader and the NOC private key as shown in step 935 .
- NOC 935 sends the authentication message back to the reader at the point of sale as shown in step 936 .
- the reader receives the authentication message and transmits it to the embedded system.
- the embedded system compares the received authentication message to the authentication message on the embedded system as shown in step 937 .
- the embedded system performs an action responsive to the comparison as shown in step 938 .
- the embedded system activates the target if the received plaintext token and the stored plaintext token match.
- Method 950 underlies the loading an authentication processes described in examples above.
- Method 950 has public/private key pair 1 952 and public/private key pair 2 954 .
- key pair 1 952 is generated by a NOC and key pair 2 954 is generated by a loader.
- the generation process for each key pair is linked such that there exists a combination of private key 1 956 and public key 2 960 that is equivalent to a combination of private key 2 959 and public key 1 957 .
- public key 1 957 and public key 2 960 are points derived from a common generator of an elliptical curve as described in examples above, the multiplication of private key 1 956 and public key 2 960 is equal to the multiplication of private key 2 959 and public key 1 957 . Accordingly, when private key 1 956 and public key 2 960 are combined with meaningful information 962 , the result is a secret 966 . The combination of private key 2 959 and public key 1 957 with the same meaningful information 962 results in secret 964 . Secret 964 is equivalent to secret 966 .
- the set of possible secrets that can be produced by method 950 is limited by the meaningful information used. As such, some attempts to compromise the security of the systems discussed herein can be prevented by recognizing that a generated secret cannot be valid. The result is a highly secure cryptographic algorithm that can be operated without significant processing at an embedded system.
- System 975 for implementing the cryptographic method of FIG. 25 is illustrated.
- System 975 has cryptographic process 1 976 .
- cryptographic process 1 976 is operated on a NOC.
- Cryptographic process 1 976 generates private key 1 985 and public key 1 981 .
- Public key 1 981 is a point generated from an elliptical curve as described in examples above.
- Cryptographic process 2 977 generates private key 2 980 and public key 2 986 .
- cryptographic process 2 977 is operated on a loader.
- Public key 2 986 is a point generated from the same elliptical curve as was used to generate public key 1 981 .
- Private key 2 980 , public key 1 981 , and meaningful information 982 are combined used in hash 978 to produce secret 983 .
- hash 978 is done on a loader and secret 983 is stored on an embedded system.
- Private key 1 985 , public key 2 986 , and meaningful information 987 are combined and used in hash 984 to produce secret 988 .
- hash 984 is done on a NOC and secret 988 is transmitted to the embedded system.
- Secret 983 is equivalent to secret 988 .
- the embedded system compares secret 983 and secret 988 and performs an action on a target responsive to the comparison.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computing Systems (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Finance (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
Abstract
Description
- This application claims priority to U.S. patent application No. 60/697,108, filed Jul. 6, 2005, and entitled “Method for Securing Actions at a Target”, which is incorporated herein in its entirety.
- 1. Field
- The present invention relates to circuits and processes for authenticating and securing a transaction. More particularly, the invention relates to circuits and processes that enable a secure transaction responsive to interrogating an integrated circuit using an RF communication path.
- 2. Description of Related Art
- The manufacturer or distributor of physical goods faces difficult problems in efficiently managing the distribution chain. The distribution chain, which may include distributors, shippers, warehousers, and retailers, each form an important link in bringing products to consumers. The manufacturer relies on the integrity of its distributors and retailers to assure that products are properly sold or otherwise delivered. Unfortunately, the distribution chain is often improperly managed, resulting in an ineffective path to market for the manufacturer's products. For example, products may be misappropriated by a corrupt distributor, by employees of the retailer, or by consumers. Manufacturers may also define distribution agreements with its distributors, where the manufacturer sets rules and restrictions on its distributors. These rules are typically used to assure that a fair distribution model is used, so that each distributor is able to maintain its profit margin, and to assure that consumers are satisfied with customer support. However, some retailers may try to avoid a manufacturer's distribution rules, and sell outside their designated market, or purchase products from an unauthorized source.
- To better manage the distribution of products, manufacturers, distributors, and retailers have cooperated to implement a standard bar-coding process, UPC, to allow more automated tracking of inventory and products. However, the bar code label is used only to identify a class of product, so every item in that class has the same bar code indicator. While the UPC system has improved management of the distribution channel, additional information is needed. To fill some of the gaps in the UPC model, an RFID system has been proposed, and in limited cases, is being implemented. In the RFID system, a small integrated circuit is integrated into a tag, and the tag attached to a product. The circuit has sufficient memory that each tag can have a different value, thereby allow every product to be individually identified. In use, a unique value is stored into the tag, and the tag attached to the product. In the distribution chain, the product may be scanned by an RF reader, which reads the tag identifier. In this way, the product is tracked and monitored as it moves through the distribution chain. At the retail store, a consumer takes the product to a check stand, where the product is moved past another RF reader. The RF reader reads the tag identifier, and retrieves the price for the product. The sale is completed, and the product is removed from the store's inventory system.
- The RFID system holds promise for providing much more information to manufactures, which will be useful in assisting in the control and management of the distribution process. However, the information stored on the RFID tag may be easily retrieved by commercially available readers, so can not be used to convey any sensitive information. Further, the tag and its circuit operate on the very limited power the circuit is able to derive from the RF signal, and must complete its operation as its being moved across a reader's RF field. This means that only limited computation can be performed due to power and time limitations, and that only a limited number of values can be communicated during the brief time the tag is energized. Accordingly, the tag's circuit is incapable of performing any meaningful encryption or decryption processes. In this way, the advances made in cryptography are not available to assist in securing tag-reader transactions.
- Since the tag's information is subject to unauthorized access, no critical or vital information may be stored, thereby limiting the usefulness of the RFID system. What is needed then, is a way to better authenticate and secure the information conveyed from an RF integrated circuit. Such a system would greatly improve a manufacturer's ability to manage distribution of its products.
- Briefly, the present invention provides a system for authenticating and securing product transactions. An integrated circuit is attached to a target, such as an optical disc or electronic device. The integrated circuit has an RF transceiver that is capable of establishing communication with an associated reading device. The integrated circuit also has a hidden memory, which can not be read externally, and a user memory. The hidden memory stores an authentication message, while the user memory stores readable authentication information. The hidden authentication message and the authentication information are related through a cryptographic process. However, even though the integrated circuit benefits from the cryptographic security, the integrated circuit only operates relatively simple logic operations. In this way, a highly secure transaction is enabled without requiring significant processing power or time at the integrated circuit. When the integrated circuit is placed near the reader, the reader reads the authentication information, and with the cooperation of a network operation center, uses the authentication information to derive an activation code. The reader passes the activation code to the integrated circuit, which compares the activation code to its hidden activation message. If they have a proper relationship, the communication has been authenticated, and the integrated circuit proceeds to perform an action.
- In one example, a random plaintext number is stored as the hidden authentication message, and the user memory has authentication information that includes an identifier, as well as an encrypted version of the plaintext number. When the integrated circuit is placed near a reader, the reader reads the authentication information, which is sent to a network operation center. The network operation center uses the identification information to retrieve a decryption key, and uses the key to decrypt the encrypted message to derive the plaintext number. The plaintext number is sent to the reader, which communicates it to the integrated circuit. The integrated circuit does a simple logical compare between the received number and the hidden number, and if they match, the integrated circuit proceeds to perform an action. The action may be, for example, activating or deactivating the product the circuit is attached to. The hidden authentication message and the authentication information are related through a cryptographic process. In this example, the integrated circuit benefits from the cryptographic security, even though the integrated circuit only operates a relatively simple logic operation. In this way, a highly secure transaction is enabled without requiring significant processing power or time at the integrated circuit.
- In another example, an authentication code is stored as the hidden authentication message, and the user memory has authentication information that includes identifiers, as well as a public key that can be used to recreate the authentication code. When the integrated circuit is placed near a reader, the reader reads the authentication information, which is sent to a network operation center. The network operation center uses the identification information to retrieve a private key, and uses the public key, private key and other authentication information generate the authentication code. The authentication code is sent to the reader, which communicates it to the integrated circuit. The integrated circuit does a simple logical compare between the received code and the hidden code, and if they match, the integrated circuit proceeds to perform an action. The action may be, for example, activating or deactivating the product it is attached to. The hidden authentication message and the authentication information are related through a cryptographic process. In this example, the integrated circuit benefits from the cryptographic security, even though the integrated circuit only operates a relatively simple logic operation. In this way, a highly secure transaction is enabled without requiring significant processing power or time at the integrated circuit.
- In yet another example, the present invention discloses a cryptographic process. Two pairs of public/private keys are generated in such a way that a combination of the first private key and the second public key is equivalent to the combination of the first public key with the second private key. The key combinations, when combined with additional meaningful information, produce a limited set of authentication messages. The process provides a highly secure method of authentication requiring minimal computation and power at the embedded processor.
- Advantageously, the present invention enables a highly secure and authenticated transaction, even when the authorizing circuit is operating in a low-power, low processing capability environment. This means that an RFID tag or other RF-enabled integrated circuit may be used to communicate sensitive information, and become an integral part of a secure transaction process. This enables an RF-enabled circuit to perform secured actions, thereby allowing manufacturers to enforce distribution and use rules
-
FIG. 1 is a block diagram of a system for authenticating a transaction in accordance with the present invention. -
FIG. 2 is a flowchart of a method for performing an action using an embedded system in accordance with the present invention. -
FIG. 3 is a flowchart of a method for authenticating a transaction using an RF reader in accordance with the present invention. -
FIG. 4 is a flowchart of a method for authenticating a transaction using a network operation center in accordance with the present invention. -
FIG. 5 is a block diagram of loading an embedded processor system in accordance with the present invention. -
FIG. 6 is a flowchart of a process for loading an embedded processor system in accordance with the present invention. -
FIG. 7 is a flowchart of a process for loading an embedded processor system in accordance with the present invention. -
FIG. 8A is a flow diagram of a system for performing an action using an embedded system in accordance with the present invention. -
FIG. 8B is a flowchart of a method for performing an action using an embedded system in accordance with the present invention. -
FIG. 9 is a block diagram of a system for authenticating a transaction in accordance with the present invention. -
FIG. 10 is a flowchart of a method for performing an action using an embedded system in accordance with the present invention. -
FIG. 11 is a flowchart of a method for authenticating a transaction using an RF reader in accordance with the present invention. -
FIG. 12 is a flowchart of a method for authenticating a transaction using a network operation center in accordance with the present invention. -
FIG. 13 is a block diagram of loading an embedded processor system in accordance with the present invention. -
FIG. 14 is a flowchart of a process for loading an embedded processor system in accordance with the present invention. -
FIG. 15 is a flowchart of a process for loading an embedded processor system in accordance with the present invention. -
FIG. 16A is a flow diagram of a system for performing an action using an embedded system in accordance with the present invention. -
FIG. 16B is a flowchart of a method for performing an action using an embedded system in accordance with the present invention. -
FIG. 17 is a block diagram of a system for authenticating a transaction in accordance with the present invention. -
FIG. 18 is a flowchart of a method for performing an action using an embedded system in accordance with the present invention. -
FIG. 19 is a flowchart of a method for authenticating a transaction using an RF reader in accordance with the present invention. -
FIG. 20 is a flowchart of a method for authenticating a transaction using a network operation center in accordance with the present invention. -
FIG. 21 is a block diagram of loading an embedded processor system in accordance with the present invention. -
FIG. 22 is a flowchart of a process for loading an embedded processor system in accordance with the present invention. -
FIG. 23 is a flowchart of a process for loading an embedded processor system in accordance with the present invention. -
FIG. 24A is a flow diagram of a system for performing an action using an embedded system in accordance with the present invention. -
FIG. 24B is a flowchart of a method for performing an action using an embedded system in accordance with the present invention. -
FIG. 25 is a block diagram of a cryptographic process in accordance with the present invention. -
FIG. 26 is a block diagram of a cryptographic process in accordance with the present invention. - Detailed descriptions of examples of the invention are provided herein. It is to be understood, however, that the present invention may be exemplified in various forms. Therefore, the specific details disclosed herein are not to be interpreted as limiting, but rather as a representative basis for teaching one skilled in the art how to employ the present invention in virtually any detailed system, structure, or manner.
- Referring now to
FIG. 1 ,system 10 for authorizing a target is illustrated. More particularly,system 10 enables the controlled distribution of a target good, and enables conditions to be set as to whentarget 22 may be used or activated. In this way, a target may be disabled or deactivated at the time of manufacture, and rules or conditions defined as to when the target can be activated or used.Target 22 may be, for example, an optical disc such as a DVD, CD, gaming disc, HD DVD, or Blu-Ray DVD.Target 22 may also be an electronic device such as a portable music player, shaver, or drill, or target 22 may be a passport, driver's license, coupon, or other non-electronic good. It will be understood thattarget 22 may take other electronic or non-electronic forms. -
Target 22 typically has a utility or primary use. For example, iftarget 22 is a portable music player, then its primary use is to play music files. In another example, iftarget 22 is a DVD, then its primary use is to be read by an associated DVD player for presenting a movie or audio file to a user. Typically, the “use” or enjoyment of the target is the reason consumers are motivated to purchase or otherwise obtaintarget 22. Stated differently, the distribution of a target good may be effectively controlled and monitored by controlling when the target may be activated. By securing and controlling the ability to use the product, the distribution chain and retailers have substantially less burden in securing the physical target itself. For example, if a DVD disc can not be played without an authorizedactivation using system 10 at the time of purchase, then the DVD disc may be more freely displayed and distributed, because the retailer is confident that the disc must be purchased before it would be useful or desirable to anyone. - Generally,
system 10 is useful for enforcing use or access rules for a physical target. For example, a manufacturer of a target may desire that a consumer purchase the target from an authorized retailer prior to that consumer using the target. In another example, a movie distributor may desire that a DVD only be played after a particular release date, and only after the distributor has confirmed it has been paid. In these examples, the owner of a tangible product may define the conditions under which ownership or use-rights are passed to another. In controlling the right to use the target,system 10 typically disablestarget 22 during the manufacturing process. Thenetwork operation center 28 has a set of rules that define the conditions under which the target's use may be activated. At a later time,target 22 is placed nearreader 24, which cooperates with thenetwork operation center 28 to confirm that the target is in a condition for activation. If all is in order,reader 24 sends a code to target 22, and if the code is proper, then target 22 activates. - In using
system 10, it is important thattarget 22 activate responsive only to authorized and authenticated messages. In this way, a secure and robust rights management system may be confidently used by manufacturers, distributors, retailers, and consumers. As will be fully described below,system 10 enables strongly secured activation transactions, even though there is limited processing capability and little electrical power available at the target. For example, target 22 may be activated at a point of sale register, where the only power available for target activation is derived from the RF signals emitted from an RF reader. Further,system 10 eliminates or reduces any need for encrypting or decrypting at the target, enabling the use of simpler and reduced processing capabilities on the target. Accordingly,system 10 provides secure, authenticated activation transactions, and is sufficiently efficient to enable robust and repeatable transactions, even in a real-world retail environment. - In performing the authorization process,
system 10 uses an embeddedprocessor system 15 that is attached to target 22. Embeddedprocessor system 15 is constructed to selectively activate or deactivate the usefulness of the target. Embeddedsystem 15 comprises embeddedprocessor 12,memory 14, andRF transponder 20. It will be appreciated that the functionality of embeddedprocessor 12 may be accomplished by a single processor or distributed over two or more processing devices. Embeddedprocessor 12 is linked tomemory 14. It will be appreciated thatmemory 14 may be implemented as flash memory, as a PROM, as another type of storage technology, or as a combination of two or more distinct storage technologies.Memory 14 has hiddenmemory 16 anduser memory 18. In one example, the embeddedprocessor 12 may use the contents of hiddenmemory 16 in making activation decision, but the contents of hiddenmemory 16 cannot be read externally. In one example hiddenmemory 16 is a write once memory, and can only be read and used by the embeddedprocessor 12. Any other attempted read or use would destroy the hidden memory or other circuit device. In one example,user memory 18 may be written to and read from by the embedded processor, and may be used to hold application code, data values, codes, and commands. - Embedded
processor 12 is also connected toRF transponder 20. In one example,RF transponder 20 is a transceiver operating at a UHF RFID frequency in the range of about 890 MHz to about 950 MHz. In another example,RF transponder 20 is a transceiver operating at an RFID frequency in the range of about 2400 MHz to about 2483 MHz.RF transponder 20 may also operate at an HF frequency in the range of about 13.56 MHz, enabling Near Field Communication (NFC) functionality. It will be understood that the RF transceiver may be selected according the current RF standards or according to application specific requirements. -
System 10 hastarget 22. It will be understood thattarget 22 is an article, item, or media. In one example,target 22 is media for storing content such as audio, video, images, codes, and other types of data and information. In one example,target 22 is a compact disc (CD), video disc, digital versatile disc (DVD), laser disc, or hologram. In another example,target 22 is an electric shaver. Embeddedsystem 15 is attached to target 22. In one example, embeddedsystem 15 is formed as a tag and attached to target 22. It will be appreciated that the tag may be removable or that it may be permanently attached to target 22. In another example, embeddedsystem 15 is integrated into the circuitry oftarget 22. Embeddedsystem 15 is capable of performing an action ontarget 22. In one example embeddedsystem 15 is capable of performing the action of deactivatingtarget 22. Deactivation may include reducing the functionality oftarget 22. For example, a DVD may be deactivated by making some or all of the contents unreadable. In another example, embeddedsystem 15 is capable of performing the action of activatingtarget 22. Activation, may include enabling deactivated functionality oftarget 15. -
System 10 also hasreader 24.Reader 24 communicates with embeddedsystem 15 viaRF transponder 20. In one example,reader 24 is operated by a merchant at the point of sale oftarget 22. At the time of sale, target 22 may be brought into physical proximity ofreader 24 to initiate an authentication process that will result in embeddedsystem 15 enablingtarget 22. Readapplication 26 operates onreader 24. Readapplication 26 manages the communication between embeddedsystem 15 and network operation center (NOC) 28.NOC 28 operates network readapplication 30. Network readapplication 30 handles communication to and fromreader 24 and performs functions related to the authentication process. NOC also maintainskey management database 32 to enable cryptographic features of the authentication process. - In use, the
NOC 28 cooperates withreader 24 and embeddedprocessor system 15 to implement a highly secure activation process, with only limited processing capability needed in the embedded processor. As will be understood, theNOC 28 is tasked with computational intensive operations, such as cryptographic processes, while the embedded processor is permitted to perform minimal algorithmic processes, such as simple matching routines or other basic logic functions. By concentrating the cryptographic intensive functions with the NOC, a highly sophisticated encryption process is enabled, even when the target to be authenticated has very limited power available. With the components ofsystem 10 generally introduced, the process for securely activating a target will be described. - Referring now to
FIG. 2 ,method 50 for enabling authentication is illustrated. Typically, this method will be used when a disabled target is presented for activation at an activation site. For example, a disabled target may be displayed at a retail store, and a consumer takes the disabled target to a check stand. A clerk passes the disabled target over an RF reader, and the activation process initiates.Method 50 operates on an embedded system, such as embeddedsystem 15 described with reference toFIG. 1 . Generally, the embedded processor is attached to the target, and is initially set to have disabled the usefulness of the target. The method begins with the embedded system receiving a request for authentication information as shown instep 52. It will be understood that authentication information may include any information useful in the authentication process. Authentication information may include an identifier for a manufacturer, an identifier for a merchant, an identifier for a public/private key pair, an identifier for an embedded system, an encrypted token, or a public key. In one example, an identifier is a series of binary bits that may be interpreted as an identifying number or ID number. In another example, an identifier may be interpreted as a word or as a combination of letters and numbers. In one example, the request for authentication information is received by the embedded system from a reader at the point of sale when a target is sold. - After receiving a request for the authentication information, the embedded system accesses the authentication information in user memory and transmits the authentication information to the reader as shown in
step 54. It will be understood that the authentication information will have previously been loaded into the user memory of the embedded system. In one example, the authentication information comprises an encrypted token. The encrypted token is an encrypted representation of a plaintext token stored in the hidden memory of the embedded processor. It will be appreciated that a token, as used in the authentication process, is a series of binary bits. In one example, the bits comprising a plaintext token may have meaning when interpreted as letters or numbers. In another example, the bits of a plaintext token may have no meaning when interpreted as numbers or letter. In one example, the encrypted token is generated by encrypting the plaintext token with a public key. - After further processing is done external to the embedded system, the embedded system receives a plaintext token as shown in
step 56. Alternatively, the embedded system receives a plaintext token and an action request as shown instep 58. An action request is an indication of an action to be performed if the authentication process succeeds. In one example, the action request comprises an indication that if the authentication process succeeds, the embedded system should activate the target. - After receiving a plaintext token, the embedded system compares the received plaintext token to a plaintext token stored in hidden memory as shown in
step 60. It will be appreciated that the comparison may comprise matching the received plaintext token to the stored plaintext token, finding that the received plaintext token and the stored plaintext token do not match, or using logical steps in comparing the received plaintext token and the stored plaintext token. After performing the comparison, the embedded system will perform an action responsive to the comparison as shown instep 62. In one example, the action performed if the received plaintext token and the stored plaintext token match is activation of the target. In another example, no action is performed if the received plaintext token and the stored plaintext token do not match. In another example, the embedded system transmits a message indicating the action the embedded system performed or the result of the comparison. In another example, the embedded system performs the action specified in an action request reactant to the result of the comparison. - Referring now to
FIG. 3 ,method 80 for enabling authentication is illustrated.Method 80 operates on a reader and begins when the reader requests authentication information from an embedded system. In one example the authentication information comprises an encrypted token. The encrypted token is an encrypted representation of a plaintext token stored on the embedded system. After the request for authentication information is made, the reader receives the authentication information from the embedded system as shown instep 84. After receiving the authentication information, the reader establishes communication with a network operation center as shown instep 86. In one example the reader establishes a secure session with the NOC. This session can be established, for example, using standard public key encryption methods. After establishing a connection with the NOC, the reader transmits the authentication information to the NOC as shown instep 88. Alternatively, the reader transmits the authentication information and an action request to the NOC as shown instep 90. After more processing done external to the reader, the reader receives a plaintext token from the NOC as shown instep 92. After receiving the plaintext token from the NOC, the reader transmits the plaintext token to the embedded system as shown instep 94. Alternatively, the reader transmits the plaintext token and the action request to the embedded system as shown instep 96. - Referring now to
FIG. 4 ,method 120 for enabling authentication is illustrated.Method 120 operates on a network operations center and begins when the NOC establishes communication with a reader as shown instep 122. In one example, this occurs when a target is brought to a point of sale and the reader contacts the NOC. In one example, the process of establishing communication from a reader involves receiving identifying information about the reader such as a unique identification number. After establishing communication with a reader, the NOC receives authentication information from the reader as shown instep 124. Alternatively, the NOC receives both the authentication information and an action request from the reader as shown instep 126. In one example the authentication information comprises an encrypted token and information sufficient to determine the appropriate private key to use to decrypt the encrypted token. In one example this information sufficient to determine the appropriate private key is an identification number for a public/private key pair. After receiving the authentication information, the NOC determines if the reader is authorized to transmit action requests to the embedded system as shown instep 128. For example, during the load process, a merchant ID number may be loaded into the user memory of the embedded system attached to a target indicating the merchant that the target is going to be sold by. In addition, the NOC maintains a list of the readers operated by different merchants. When the reader transmits the authentication information, including the merchant ID, to the NOC, the NOC can determine if the reader corresponds to a the merchant whose ID was stored on the embedded processor. In one example, if the reader does not correspond to the merchant indicated in the authentication information, the NOC determines that the reader is not authorized to transmit any action request to the embedded system. - In another example, in addition to maintaining a list of the readers operated by a merchant, the NOC also maintains a list of the action requests a merchant or reader may transmit to a particular embedded system. For example, if the functionality of a target comprises multiple tiers, it may be desirable for the readers of a particular merchant to only be able to activate a limited portion of the full functionality of the target. Specifically, a target may have two operational modes and it may be desirable for a particular merchant to only sell targets operating in mode one. In addition to maintaining a list of the readers corresponding to the merchant, the NOC also maintains a list of the action commands that the readers of a particular merchant are allowed to transmit to a particular type of target. When the NOC receives the authentication information and an action request from the reader, the NOC can determine if the reader is authorized to transmit that specific action request to the embedded system as shown in
step 130. - If the reader is not authorized to send any action request to the embedded system or the reader is not authorized to send the received action request to the embedded system, the NOC does not generate a plaintext token as shown in
step 132. This effectively ends the authentication process. However, if the NOC determines that the reader is authorized to send action requests, or the received action request, to the embedded system, the NOC proceeds to use the authentication information received from the reader to select a private key from a key management database as shown instep 134. In one example, the key management database contains public/private key pairs indexed by an identification number associated with the key pair. In one example, the identification number corresponding to a public/private key pair and an encrypted token generated using the public key from that pair are stored as authentication information in the user memory of the embedded system during the load process. When the NOC receives the authentication information from the reader, it uses the public/private key pair ID number to select the private key corresponding to the public key used to generate the encrypted token. Having selected the appropriate private key, the NOC generates a plaintext token by decrypting the encrypted token received in the authentication information with the selected private key as shown instep 136. After generating the plaintext token, the NOC transmits the plaintext token to the reader as shown instep 138. - Referring now to
FIG. 5 ,system 160 for loading an embedded processor is illustrated. Loading, as used here, is the process of pre-storing information into the memory of the embedded system. The loading process may be done by the manufacturer, for example, or may be done by another trusted entity. Since the loading process has access to important cryptographic keys and algorithms, it is important that the loading process be strongly secured.System 160 has embeddedsystem 162. Embeddedsystem 162 has embeddedprocessor 164,memory 166 andRF transponder 172.Memory 166 is further comprises hiddenmemory 168 anduser memory 170. It will be understood that embeddedsystem 162 is similar to embeddedsystem 15 described inFIG. 1 . Embeddedsystem 162 is linked to target 174. It will be understood thattarget 174 is similar to target 22 inFIG. 1 .Target 174 may be, for example, a CD, DVD, HD DVD, Blu-Ray DVD, or gaming disc. -
System 160 also hasloader 176. In one example,loader 176 is a device located at the manufacturing site oftarget 174. In anotherexample loader 176 is a device located at the manufacturing site of embeddedsystem 162. In a third example,loader 176 is a device located at the site where embeddedsystem 162 is linked to target 174.Loader 176 enables communication between embeddedsystem 162 andNOC 180.Loader 176 operatesload application 178.Load application 178 performs functions related to the load process.NOC 180 operatesnetwork load application 182. Network readapplication 182 handles communication to and fromloader 176 and performs functions related to the load process.NOC 180 also maintainskey management database 184 to enable cryptographic features of the authentication process. - Referring now to
FIG. 6 ,method 210 for loading an embedded processor is illustrated.Method 212 begins when the network load application (NLA) operating on a NOC generates a public/private key pair as shown instep 212. In one example, the NLA generates a key pair responsive to a request from a loader. After generating the key pair, the NLA stores the key pair in the key management database as shown instep 213. In one example, the key pair is stored according to an ID number associated with the key pair. In another example, only the private key is stored in the key management database. After storing the key pair, the NLA transmits the public key and other authentication information to a loader as shown instep 214. In one example the authentication information includes the ID number associated with the public key. - After the NLA transmits the public key and authentication information to a loader, a load application operating on the loader receives the public key and authentication information as shown in
step 216. After receiving the public key and authentication information, the load application generates a plaintext token. In one example, the plaintext token is randomly generated. In another example, the plaintext token is generated to contain meaningful information. For example, the plaintext token may be generated as a combination of identification numbers for a manufacturer, merchant, key pair, and embedded system. After generating a plaintext token, the load application generates an encrypted token by encrypting the plaintext token with the public key as shown instep 220. After generating the encrypted token, the load application transmits the plaintext token and authentication information to the embedded system as shown instep 222. In one example the authentication information comprises the encrypted token and the identification number associated with the public key used to generate the encrypted token. - Referring now to
FIG. 7 ,method 240 for enabling the load process is illustrated.Method 240 operates on an embedded system and begins when the embedded system receives a plaintext token and authentication information as shown instep 241. In one example, the authentication information comprises an encrypted token and an identification number associated with the public key used to generate the encrypted token. After receiving the plaintext token and authentication information, the embedded system stores the plaintext token in a hidden memory as shown instep 242. In one example, the hidden memory is a write once memory and once the plaintext token has been written there, the contents of the hidden memory can no longer be changed. After storing the plaintext in hidden memory, the embedded system stores the authentication information in user memory as shown instep 243. At this point, the loading process is complete. - Referring now to
FIG. 8A ,system 244 for loading and authenticating is illustrated.System 244 makes use of embeddedsystem 245. Embeddedsystem 245 has hiddenmemory 246 for storing a plaintext token anduser memory 247 for storing authentication information.System 244 also hasgeneration process 248. In one example,generation process 248 is performed on a network operations center and a loader.Generation process 248 generatesplaintext token 249,authentication information 250, andprivate key 251. In one example,authentication information 250 comprises an encrypted token and an identification number associated with a public/private key pair. The encrypted token is an encrypted representation ofplaintext token 249 and can be decrypted intoplaintext token 249 usingprivate key 251. Plaintext token 249 is stored in hiddenmemory 246 andauthentication information 250 is stored inuser memory 247. -
System 244 hasderivation process 252. In one example,derivation process 252 is performed on a network operations center and a reader. Derivation process receivesprivate key 251. In one example, the NOC storesprivate key 251 duringgeneration process 248 and accessesprivate key 251 duringderivation process 252.Derivation process 252 also receivesauthentication information 253 fromuser memory 247 of embeddedsystem 245. In oneexample authentication information 253 comprises an encrypted token and an identification number corresponding to the public/private key pair used ingeneration process 248 andderivation process 252. Derivation process usesauthentication information 253 to selectprivate key 251 and generateplaintext token 254 by decrypting the encrypted token contained inauthentication information 253. Plaintext token 254 is transmitted to embeddedsystem 245 and compared toplaintext 249 stored in hiddenmemory 246. Embeddedsystem 245 performs an action responsive to the comparison between plaintext token 249 andplaintext token 254. - Referring now to
FIG. 8B ,method 255 for loading and authenticating is illustrated.Method 255 begins atnetwork operation center 256.NOC 256 generates a public/private key pair as shown instep 257.Method 255 continues onloader 258.Loader 258 generates a plaintext token as shown instep 259. The public key generated by theNOC 257 is transferred toloader 258.Loader 258 generates an encrypted token by encrypting the plaintext token with the public key as shown instep 260. After generating the encrypted token,loader 258 loads the embedded system with the plaintext token and authentication info comprising the encrypted token as shown instep 261. After loading the embedded system on the target, the target is deactivated as shown instep 262. Alternatively, the target begins in a deactivated state. - After loading the embedded processor, the target is sent through the distribution chain as shown in
step 263. Advantageously, the entire time the target is in the distribution chain, it is deactivated. If the target is stolen before reaching the point of sale it can not be used.Method 255 continues as the target reaches point ofsale 264 and comes in proximity to a reader. The reader reads the authentication information comprising the encrypted token from the embedded system as shown instep 265. The reader then transmits the authentication information toNOC 256.NOC 256 generates a plaintext token by using the private key to decrypt the encrypted token as shown instep 266. After generating the plaintext token,NOC 256 sends the plaintext token back to the reader at the point of sale as shown instep 267. The reader receives the plaintext token and transmits it to the embedded system. The embedded system compares the received plaintext token to the plaintext token stored on the embedded system as shown instep 268. The embedded system performs an action responsive to the comparison as shown instep 269. In one example, the embedded system activates the target if the received plaintext token and the stored plaintext token match. - It will be apparent to one skilled in the art that the systems and methods presented can be applied in a number of ways to secure the actions performed by embedded systems on targets where processing power in the embedded system is limited. In another example, the security of the system and methods for authorizing the actions performed by an embedded system can be enhanced by altering the cryptographic process employed by the network operation center and loader. Advantageously, this change can be made without increasing the amount of processing done by the embedded system or increasing the amount of information stored on the embedded system. This means, for example, that the overall security level or encryption strength may be increased for the overall system, without changes or significant modifications to the processes and structures employed by the embedded system.
- Referring now to
FIG. 9 ,system 280 for authorizing a target is illustrated. It will be appreciated thatsystem 280 is similar to 10 illustrated inFIG. 1 , so will be described in less detail.System 280 has embeddedsystem 282. Embeddedsystem 282 comprises embeddedprocessor 284,memory 286, andRF transponder 292. Embeddedprocessor 284 is connected tomemory 286.Memory 286 has hiddenmemory 288 anduser memory 290. In one example, the embeddedprocessor 284 may use the contents of hiddenmemory 288 in making activation decision, but the contents of hiddenmemory 288 cannot be read externally. In one example hiddenmemory 288 is a write once memory and can only be read and used by the embeddedprocessor 284. Any other attempted read or use would destroy the hidden memory or other circuit device. In one example,user memory 290 may be written to and read from by the embedded processor, and may be used to hold authentication information, application code, data values, codes, and commands. -
System 280 hastarget 294. It will be understood thattarget 294 is an article, item, or media. In one example,target 294 is media for storing content such as audio, video, images, codes, and other types of data and information. In one example,target 294 is a compact disc (CD), video disc, digital versatile disc (DVD), laser disc, or hologram. In another example,target 294 is a credit card, driver's license, identification card, security pass, ticket, or coupon. Embeddedsystem 282 is attached to target 294.System 296 also hasreader 296.Reader 296 communicates with embeddedsystem 282 viaRF transponder 292. In one example,reader 296 is operated by a merchant who sellstarget 294.Reader 296 may be located at a checkout counter. Readapplication 298 operates onreader 296. Readapplication 298 manages the communication between embeddedsystem 282 and network operation center (NOC) 300.NOC 300 operates network readapplication 302. Network readapplication 302 manages communication to and fromreader 296 and performs functions related to the authentication process. NOC also maintainskey management database 304 to enable cryptographic features of the authentication process. - Advantageously, the computationally intensive aspects of the authentication process are handled by
NOC 300. Embeddedsystem 282 performs simple comparison operations andreader 296 conveys information between embeddedsystem 282 andNOC 300. By augmenting the security of the encryption process used byNOC 300, the security of the entire authentication process can be increased without altering the complexity of the operations performed by the embedded processor. - Referring now to
FIG. 10 ,method 310 for enabling authentication is illustrated.Method 310 operates on an embedded system and begins when the embedded system receives a request for authentication information as shown instep 312. In one example, the requested authentication information includes an identification number for a manufacturer, an identification number for a merchant, an identification number for a NOC public/private key pair, an identification number for an embedded system, and a tag public key. In one example, the request for authentication information is received by the embedded system from a reader. This request is generated by the reader at the time the target is sold. - After receiving a request for the authentication information, the embedded system accesses the authentication information in user memory and transmits the authentication information to the reader as shown in
step 314. It will be understood that the authentication information will have previously been loaded into the user memory of the embedded system. Additionally, it will be understood that an authentication code will have previously been loaded into the hidden memory of the embedded system. In one example, the authentication code is mathematical combination of an identification number for a manufacturer, an identification number for an embedded system, a NOC public key and the tag private key. - After further processing is done external to the embedded system, the embedded system receives an authentication code as shown in
step 316. In one example, this external processing is done by the NOC and involves generating an authentication code by mathematically combining an identification number for a manufacturer, an identification number for an embedded system, a NOC private key and the tag public key. Alternatively, the embedded system receives an authentication code and an action request as shown instep 318. In one example, the action request comprises an indication that if the authentication process succeeds, the embedded system should deactivate the target. - After receiving an authentication code, the embedded system compares the received authentication code to an authentication code stored in hidden memory of the embedded system as shown in
step 320. It will be appreciated that the comparison may comprise matching the authentication code to the stored authentication code, finding that the received authentication code and the stored authentication code do not match, or using logical steps in comparing the received authentication code and the stored authentication code. - After performing the comparison, the embedded system will perform an action responsive to the comparison as shown in
step 322. In one example, the action performed if the received authentication code and the stored authentication code match is activation of the target. In another example, no action is performed if the received authentication code and the stored authentication code do not match. In another example, the embedded system transmits a message indicating the action the embedded system performed or the result of the comparison. In another example, the embedded system performs the action specified in an action request reactant to the result of the comparison. - Referring now to
FIG. 11 ,method 350 for enabling authentication is illustrated.Method 350 operates on a reader. In one example,method 350 will be executed when the target is brought to a point of sale.Method 350 begins when the reader requests authentication information from an embedded system as shown instep 352. In one example, the authentication information comprises a tag public key, a manufacturer ID, a merchant ID, a NOC public/private key pair ID, and an embedded system ID. - After the request for authentication information is made, the reader receives the authentication information from the embedded system as shown in
step 354. After receiving the authentication information, the reader establishes communication with a network operation center as shown instep 356. After establishing a connection with the NOC, the reader transmits the authentication information to the NOC as shown instep 358. Alternatively, the reader transmits the authentication information and an action request to the NOC as shown instep 360. After more processing done external to the reader, the reader receives an authentication code from the NOC as shown instep 362. After receiving the authentication code from the NOC, the reader transmits the authentication code to the embedded system as shown instep 364. Alternatively, the reader transmits the authentication code and the action request to the embedded system as shown instep 366. - Referring now to
FIG. 12 ,method 390 for enabling authentication is illustrated.Method 390 operates on a network operations center and begins when the NOC establishes communication with a reader as shown instep 392. In one example, this occurs when a target is brought to a reader at a point of sale and the reader contacts the NOC. In another example, the process of establishing communication with a reader involves receiving identifying information about the reader such as a unique identification number. After establishing communication with a reader, the NOC receives authentication information from the reader as shown instep 394. Alternatively, the NOC receives both the authentication information and an action request from the reader as shown instep 396. In one example the authentication information comprises a tag public key, a manufacturer ID, a merchant ID, a NOC public/private key pair ID, and an embedded system ID. - After receiving the authentication information, the NOC determines if the reader is authorized to transmit action requests to the embedded system as shown in
step 398. Alternatively, the NOC determines if the reader is authorized to send the received action request to the embedded system as shown instep 400. If the reader is not authorized to send any action request to the embedded system or the reader is not authorized to send the received action request to the embedded system, the NOC does not generate an authentication code as shown instep 402. This effectively ends the authentication process. However, if the NOC determines that the reader is authorized to send action requests, or the received action request, to the embedded system, the NOC proceeds to use the authentication information received from the reader to select a NOC private key from a key management database as shown instep 404. In one example, the key management database contains public/private key pairs indexed by a tuple of a manufacturer ID, a merchant ID, and a NOC public/private key pair ID. - Having selected the appropriate NOC private key, the NOC generates an authentication code as shown in
step 406. In one example, the NOC generates an authentication code by mathematically combining a NOC private key, a tag public key, an embedded system ID number, and a manufacturer ID number. In one example the NOC private key is stored in a database maintained by the NOC and the other information used to generate the authentication code is transmitted to the NOC by the reader in the authentication information. In one example the NOC private key is an integer and the tag public key is a point on an elliptical curve. The NOC generates an authentication code by multiplying the NOC private key and the tag public key together, hashing the result of the multiplication, and combining the result of the hash with parts of the embedded system ID number and the manufacturer ID number. After generating the authentication code, the NOC transmits the authentication code to the reader as shown instep 408. - Generating the authentication code in this manner provides multiple advantages. First, using the elliptical cryptographic method provides greater security per bit than other methods of encryption. Greater security can be achieved without increasing the number of bits stored on the embedded system. Second, because the authentication code is generated using meaningful information, it is possible to detect certain attempts to compromise the security of the authentication process. Persons attempting to determine the process for generating authentication codes might contact a NOC pretending to be a valid reader. These persons could request a vast number of authentication codes based on different inputs and attempt to determine the algorithm from the outputs. However, because the authentication code is composed of meaningful information, the NOC can detect when it generates an authentication code that can not be valid. If the NOC determines that a reader is sending authentication information that results in invalid authentication codes, the NOC can refuse to communicate with the reader or take other steps to defeat the attempt to compromise the security of the authentication process. The use of elliptical curve cryptography increases the security of the authentication process without requiring additional processing at the embedded processor or increasing the amount of information it stores.
- Referring now to
FIG. 13 ,system 430 for loading an embedded processor is illustrated. It will be appreciated thatsystem 430 is similar tosystem 160 ofFIG. 5 .System 430 is used to preload embeddedsystem 432 with an authentication code and authentication information to enable subsequent secure authentication. The computationally intensive portions of the cryptographic process are performed atNOC 450 andloader 446 to enable secure authentication with minimal computation at the embedded system. Embeddedsystem 432 has embeddedprocessor 434,memory 436 andRF transponder 442.Memory 436 further comprises hiddenmemory 436 anduser memory 440. It will be understood that embeddedsystem 432 is similar to embeddedsystem 282 described inFIG. 9 . Embeddedsystem 432 is attached to target 444. It will be understood thattarget 444 is similar to target 294 inFIG. 9 .Target 444 may be, for example, a CD, DVD, HD DVD, Blu-Ray DVD, or gaming disc. -
System 430 also hasloader 446.Loader 446 is used to transmit the authentication code and authentication information to embeddedsystem 432. In one example,loader 446 is a device located at the manufacturing site oftarget 444. In anotherexample loader 446 is a device located at the manufacturing site of embeddedsystem 432. In a third example,loader 446 is a device located at the site where embeddedsystem 432 is linked to target 444.Loader 446 enables communication between embeddedsystem 432 andNOC 450.Loader 446 operatesload application 448.Load application 448 performs functions related to the load process.NOC 450 operatesnetwork load application 452.Network load application 452 handles communication to and fromloader 446 and performs a portion of the computationally intensive cryptographic process to enable secure authentication with minimal computation at the embedded processor.NOC 450 also maintainskey management database 454 to enable cryptographic features of the authentication process. It will be appreciated thatsystem 430 enables the pre-loading of the embedded system to enable secure authentication. - Referring now to
FIG. 14 ,method 470 for loading an embedded system is illustrated.Method 470 involves the operation ofsystem 430 fromFIG. 13 . The execution ofmethod 470 results in a loaded embedded system that can be subsequently used in secure authentication.Method 470 begins when the network load application (NLA) operating on a NOC generates a NOC public/private key pair as shown instep 472. In one example, the NLA generates a key pair responsive to a request from a loader. In one example, the NOC private key is an integer and the NOC public key is a point on an elliptical curve. The NOC key pair is generated by selecting an elliptical curve with generator (base point) G and order n. The NOC public/private key pair is defined by the relationship: (NOC public key)=(NOC private key)·(G) where the operation operating on the NOC private key and G is multiplication as defined for elliptical curve cryptography. After generating the key pair, the NLA stores the NOC key pair in the key management database as shown instep 474. In one example, the NOC key pair is stored according to a tuple of a manufacturer ID number, a merchant ID number, and an embedded system ID number. In another example, only the NOC private key is stored in the key management database. After storing the NOC key pair, the NLA transmits the NOC public key, the key generation parameters G and n, and other authentication information to a loader as shown instep 476. In one example the other authentication information includes the ID number associated with the NOC public/private key pair, a manufacturer ID number, a merchant ID number, and an embedded system ID number. - After the NLA transmits the information to a loader, the load application operating on the loader receives the NOC public key, key generation parameters, and other authentication information as shown in
step 478. The load application generates a tag public/private key pair using the key generation parameters supplied by the NOC as shown instep 480. The tag public/private key pair plaintext token is generated using the same mathematical relationship: (tag public key)=(tag private key)·(G). It will be appreciated that because of the way the NOC and tag key pairs were generated, the product of the tag private key and the NOC public key is equal to the product of the NOC private key and the tag public key. - After generating the tag public/public key pair, the load application generates an authentication code by combining the tag private key, the NOC public key, a manufacturer ID and an embedded system ID as shown in
step 482. In one example, the activation code is generated by multiplying the tag private key and the NOC public key, hashing the result, and combining the result of the hash with parts of the manufacturer ID and embedded system ID. After generating an authentication code, the loader transmits the authentication code and other authentication information to the embedded processor as shown instep 486. In one example the authentication information comprises the tag public key, a manufacturer ID, a merchant ID, an embedded system ID, and a NOC public/private key pair ID.Advantageously method 470 allows for an extremely sophisticated encryption scheme to be used on the embedded system without the use of intensive computation at the embedded processor. The load process ofmethod 470 allows an even more sophisticated encryption scheme that provides greater security per bit than traditional encryption schemes without increasing the complexity of the computation performed at the embedded processor. Further, because the authentication code is generated from meaningful information, attempts to crack the encryption method by building a library of authentication codes generated by different inputs can be recognized and thwarted. - Referring now to
FIG. 15 ,method 510 for enabling the load process is illustrated.Method 510 operates on an embedded system. In one example,method 510 is executed at the manufacturing site of a target when the target is brought into proximity of the loader.Method 510 begins when the embedded system receives an authentication code and authentication information as shown instep 512. In one example, the authentication information comprises a tag public key, a manufacturer ID, a merchant ID, an embedded processor ID, and an identification number associated with a NOC public/private key pair. After receiving the authentication code and authentication information, the embedded system stores the authentication code in a hidden memory as shown instep 514. In one example, the hidden memory is a write once memory and once the authentication code has been written there, the contents of the hidden memory can no longer be changed. After storing the authentication code in hidden memory, the embedded system stores the authentication information in user memory as shown instep 516. At this point, the loading process is complete. - Referring now to
FIG. 16A ,system 540 for loading and authenticating is illustrated.System 540 makes use of embeddedsystem 542. Embeddedsystem 542 has hiddenmemory 544 for storing an authentication code anduser memory 546 for storing authentication information.System 540 also hasgeneration process 548. In one example,generation process 548 is performed on a network operations center and a loader.Generation process 548 generatesauthentication code 562,authentication information 560, and NOCprivate key 564. In one example, the generation process proceeds according tomethod 470 inFIG. 14 . In one example,authentication information 560 comprises a tag public key, a manufacturer ID, a merchant ID, the ID of embeddedsystem 542, and an identification number associated with the NOC public/private key pair.Authentication code 562 is stored in hiddenmemory 544 andauthentication information 560 is stored inuser memory 546. -
System 540 hasderivation process 566. In one example,derivation process 566 is performed on a network operations center and a reader.Derivation process 566 receives NOCprivate key 564. In one example, the NOC stores NOCprivate key 564 duringgeneration process 548 and accesses NOCprivate key 564 duringderivation process 566.Derivation process 566 also receivesauthentication information 568 fromuser memory 546 of embeddedsystem 542. In oneexample authentication information 568 comprises a tag public key, a manufacturer ID, a merchant ID, the ID of embeddedsystem 542, and an identification number associated with the NOC public/private key pair.Derivation process 566 usesauthentication information 568 to selectprivate key 564 and generateauthentication code 569. In one example,authentication code 569 is generated according to step 406 ofmethod 390 inFIG. 12 .Authentication code 569 is transmitted to embeddedsystem 542 and compared toauthentication code 562 stored in hiddenmemory 544. Embeddedsystem 542 performs an action responsive to the comparison betweenauthentication code 569 andauthentication code 562. - Referring now to
FIG. 16B ,method 570 for loading and authenticating is illustrated.Method 570 begins atnetwork operation center 571.NOC 256 generates a NOC public/private key pair using key generation parameters as shown instep 572.NOC 572 transfers both the key generation parameters and the NOC public key toloader 573.Loader 573 generates a tag public/private key pair using the key generation parameters as shown instep 574. The loader then uses the tag private key, NOC public key, and other authentication information to generate an authentication code as shown instep 575. Next,loader 573 loads the embedded system with the authentication code, the tag public key, and other authentication information as shown instep 576. After loading the embedded system on the target, the target is deactivated as shown instep 577. Alternatively, the target leaves the manufacturing process in a deactivated state. - After the embedded processor is loaded, the target is sent through the distribution chain as shown in
step 578. Advantageously, the entire time the target is in the distribution chain, it is deactivated. If the target is stolen before reaching the point of sale it cannot be used.Method 570 continues as the target reaches point ofsale 579 and comes in proximity to a reader. The reader reads the authentication information (including the tag public key) from the embedded system as shown instep 580. The reader then transmits the authentication information toNOC 571.NOC 571 generates an authentication code using the tag public key, the NOC private key, and other authentication information from the embedded system as shown instep 581. After generating the authentication code,NOC 571 sends the authentication code back to the reader at the point of sale as shown instep 582. The reader receives the authentication code and transmits it to the embedded system. The embedded system compares the received authentication code to the authentication code on the embedded system as shown instep 583. The embedded system performs an action responsive to the comparison as shown instep 584. In one example, the embedded system activates the target if the received plaintext token and the stored plaintext token match. - It will be appreciated by one skilled in the art that the cryptographic processes described herein may be used in conjunction with the systems and method described herein to secure authentication for an embedded system without requiring sophisticated computation on the embedded system. However, the present system and methods are not tied to any particular cryptographic scheme. Advantageously, the present systems and methods for securing the actions of an embedded system may be practiced using a variety of cryptographic schemes. The present systems and methods provide great flexibility in determining the appropriate cryptographic process for a particular application. The changes to the cryptographic scheme may be performed without changes or significant alteration to the embedded system and supporting systems or methods. Accordingly, it is possible to describe the function of the present systems and methods in reference to a more general process for securing the authentication process.
- Referring now to
FIG. 17 ,system 590 for authorizing a target is illustrated. It will be appreciated thatsystem 590 is similar tosystem 280 illustrated inFIG. 9 , so will be described in less detail.System 590 has embeddedsystem 592. Embeddedsystem 592 comprises embeddedprocessor 594,memory 596, andRF transponder 602. Embeddedprocessor 594 is connected tomemory 596.Memory 596 has hiddenmemory 598 anduser memory 600. -
System 590 hastarget 604. It will be understood thattarget 604 is an article, item, or media. In one example,target 604 is media for storing content such as audio, video, images, codes, and other types of data and information. In one example,target 604 is a compact disc (CD), video disc, digital versatile disc (DVD), laser disc, or hologram. In another example,target 604 is a credit card, driver's license, identification card, security pass, ticket, or coupon. Embeddedsystem 592 is attached to target 504.System 590 also hasreader 606.Reader 606 communicates with embeddedsystem 592 viaRF transponder 602. Readapplication 608 operates onreader 606. Readapplication 608 manages the communication between embeddedsystem 592 and network operation center (NOC) 610.NOC 610 operates network readapplication 612. Network read application 613 manages communication to and fromreader 606 and performs functions related to the authentication process. NOC also maintainskey management database 614 to enable cryptographic features of the authentication process. Advantageously, the computationally intensive aspects of the authentication process are handled byNOC 610. Embeddedsystem 592 performs simple comparison operations andreader 606 conveys information between embeddedsystem 592 andNOC 610. - Referring now to
FIG. 18 ,method 640 for enabling authentication is illustrated.Method 640 operates on an embedded system. In one example,method 640 is executed at the time a target is brought to a point of purchase.Method 640 begins when the embedded system receives a request for authentication information as shown instep 642. It will be appreciated that the requested authentication information is any one or more pieces of data that are necessary but, without further information, insufficient to enable the quick computation of an authentication message. It will be appreciated that an authentication message is a series of bits that may or may not have meaning. In one example, an authentication message is a plaintext token. In another example, an authentication message is an authentication code. After receiving a request for the authentication information, the embedded system accesses the authentication information in user memory and transmits the authentication information to the reader as shown instep 644. It will be understood that the authentication information will have previously been loaded into the user memory of the embedded system. Additionally, it will be understood that the authentication message will have previously been loaded into the hidden memory of the embedded system. - After further processing is done external to the embedded system, the embedded system receives an authentication message as shown in
step 646. In one example, this external processing is done by the NOC and involves generating an authentication message by combining the authentication information from the embedded system with other information stored on the NOC. Alternatively, the embedded system receives an authentication message and an action request as shown instep 648. In one example, the action request comprises an indication that if the authentication process succeeds, the embedded system should deactivate the target. After receiving an authentication message, the embedded system compares the received authentication message to an authentication message stored in hidden memory of the embedded system as shown instep 650. It will be appreciated that the comparison may comprise matching the received authentication message to the stored authentication message, finding that the received authentication message and the stored authentication message do not match, or using logical steps in comparing the received authentication message and the stored authentication message. - After performing the comparison, the embedded system will perform an action responsive to the comparison as shown in
step 652. In one example, the action performed if the received authentication message and the stored authentication message match is activation of the target. In another example, no action is performed if the received authentication message and the stored authentication message do not match. In another example, the embedded system transmits a message indicating the action the embedded system performed or the result of the comparison. In another example, the embedded system performs the action specified in an action request reactant to the result of the comparison. - Referring now to
FIG. 19 ,method 680 for enabling authentication is illustrated.Method 680 operates on a reader. In one example,method 680 will be executed when the target is brought to a point of sale.Method 680 begins when the reader requests authentication information from an embedded system as shown instep 682. In one example, the authentication information may include a tag public key, an encrypted token, a manufacturer ID, a merchant ID, a NOC public/private key pair ID, and an embedded system ID. - After the request for authentication information is made, the reader receives the authentication information from the embedded system as shown in
step 684. After receiving the authentication information, the reader establishes communication with a network operation center as shown instep 686. After establishing a connection with the NOC, the reader transmits the authentication information to the NOC as shown instep 688. Alternatively, the reader transmits the authentication information and an action request to the NOC as shown instep 690. After more processing done external to the reader, the reader receives an authentication message from the NOC as shown instep 692. After receiving the authentication code from the NOC, the reader transmits the authentication message to the embedded system as shown instep 694. Alternatively, the reader transmits the authentication message and the action request to the embedded system as shown instep 696. - Referring now to
FIG. 20 ,method 720 for enabling authentication is illustrated.Method 720 operates on a network operations center and begins when the NOC establishes communication with a reader as shown instep 722. In one example, this occurs when a target is brought to a reader at a point of sale and the reader contacts the NOC. After establishing communication with a reader, the NOC receives authentication information from the reader as shown instep 724. Alternatively, the NOC receives both the authentication information and an action request from the reader as shown instep 726. In one example the authentication information may include an a tag public key, an encrypted token, a manufacturer ID, a merchant ID, a NOC public/private key pair ID, or an embedded system ID. - After receiving the authentication information, the NOC determines if the reader is authorized to transmit action requests to the embedded system as shown in
step 728. Alternatively, the NOC determines if the reader is authorized to send the received action request to the embedded system as shown instep 730. If the reader is not authorized to send any action request to the embedded system or the reader is not authorized to send the received action request to the embedded system, the NOC does not generate an authentication message as shown instep 732. This effectively ends the authentication process. However, if the NOC determines that the reader is authorized to send action requests, or the received action request, to the embedded system, the NOC proceeds to use the authentication information received from the reader to select a NOC private key from a key management database as shown instep 734. In one example, the key management database contains public/private key pairs indexed by a tuple of a manufacturer ID, a merchant ID, and a NOC public/private key pair ID. - Having selected the appropriate NOC private key, the NOC generates an authentication message as shown in
step 736. The authentication message is generated using the NOC private key and the authentication information from the reader. In one example, the authentication message is generated by decrypting an encrypted token contained in the authentication information from the reader with the NOC private key. In another example, the authentication message is generated by mathematically combining the NOC private key with values in the authentication information form the reader. After generating the authentication code, the NOC transmits the authentication code to the reader as shown instep 738. - Advantageously, the information necessary to quickly compute the authentication message is separated. One portion, the authentication information, is stored on the embedded system with the target. The other portion, the NOC private key, is stored at the NOC. Persons with access to the authentication information on the embedded system cannot easily compute the authentication message without the NOC private key. The placement of necessary, but insufficient, information at two locations that can be combined to form sufficient information enables great security in the authentication process. Further, the present system and methods enable this cryptographic method with minimal computation at the embedded processor.
- Referring now to
FIG. 21 ,system 760 for loading an embedded processor is illustrated. It will be appreciated thatsystem 760 is similar tosystem 430 ofFIG. 13 .System 760 is used to preload embeddedsystem 762 with an authentication message and authentication information to enable subsequent secure authentication. The computationally intensive portions of the cryptographic process are performed atNOC 782 andloader 778 to enable secure authentication with minimal computation at the embedded system. Embeddedsystem 762 has embeddedprocessor 764,memory 768 andRF transponder 774.Memory 768 further comprises hiddenmemory 770 anduser memory 772. It will be understood that embeddedsystem 762 is similar to embeddedsystem 282 described inFIG. 9 . Embeddedsystem 768 is attached to target 776. It will be understood thattarget 776 is similar to target 294 inFIG. 9 .Target 776 may be, for example, a CD, DVD, HD DVD, Blu-Ray DVD, or gaming disc. -
System 760 also hasloader 778.Loader 778 is used to transmit the authentication message and authentication information to embeddedsystem 762. In one example,loader 778 is a device located at the manufacturing site oftarget 776. In anotherexample loader 778 is a device located at the manufacturing site of embeddedsystem 762. In a third example,loader 778 is a device located at the site where embeddedsystem 762 is attached to target 776.Loader 778 enables communication between embeddedsystem 762 andNOC 782.Loader 778 operatesload application 780.Load application 780 performs functions related to the load process.NOC 782 operatesnetwork load application 784.Network load application 784 handles communication to and fromloader 778 and performs a portion of the computationally intensive cryptographic process to enable secure authentication with minimal computation at the embedded processor.NOC 782 also maintainskey management database 786 to enable cryptographic features of the authentication process. It will be appreciated thatsystem 760 enables the pre-loading of the embedded system to enable secure authentication. - Referring now to
FIG. 22 ,method 810 for loading an embedded system is illustrated.Method 810 involves the operation ofsystem 760 fromFIG. 21 . The execution ofmethod 810 results in a loaded embedded system that can be subsequently used in secure authentication.Method 810 begins when the network load application (NLA) operating on a NOC generates a NOC public/private key pair as shown instep 812. In one example, the NLA generates a key pair responsive to a request from a loader. After generating the key pair, the NLA stores the NOC key pair in the key management database as shown instep 814. In one example, the NOC key pair is stored according to a tuple of a manufacturer ID number, a merchant ID number, and an embedded system ID number. In another example, only the NOC private key is stored in the key management database. After storing the NOC key pair, the NLA transmits the NOC public key and other authentication information to a loader as shown instep 816. In one example the other authentication information may include the ID number associated with the NOC public/private key pair, a manufacturer ID number, a merchant ID number, or an embedded system ID number. - After the NLA transmits the information to a loader, the load application operating on the loader receives the NOC public key and other authentication information as shown in
step 818. The loader load application then uses the NOC public key and other authentication information to generate an authentication message. In one example, the activation message is an encrypted version of a plaintext token. In another example, the activation message is a mathematical combination of the NOC public key, a tag private key, and other authentication information. After generating an authentication message, the loader transmits the authentication message and other authentication information to the embedded processor as shown instep 822. In one example the authentication information may include a tag public key, an encrypted token, a manufacturer ID, a merchant ID, an embedded system ID, and a NOC public/private key pair ID. - Referring now to
FIG. 23 ,method 850 for enabling the load process is illustrated.Method 850 operates on an embedded system. In one example,method 850 is executed at the manufacturing site of a target when the target is brought into proximity of a loader.Method 850 begins when the embedded system receives an authentication message and authentication information as shown instep 850. In one example, the authentication information may include a tag public key, an encrypted token, a manufacturer ID, a merchant ID, an embedded processor ID, or an identification number associated with a NOC public/private key pair. After receiving the authentication message and authentication information, the embedded system stores the authentication message in a hidden memory as shown instep 854. In one example, the hidden memory is a write once memory and once the authentication message has been written there, the contents of the hidden memory can no longer be changed. After storing the authentication message in hidden memory, the embedded system stores the authentication information in user memory as shown instep 856. At this point, the loading process is complete. - Referring now to
FIG. 24A ,system 880 for loading and authenticating is illustrated.System 880 makes use of embeddedsystem 882. Embeddedsystem 882 has hiddenmemory 884 for storing an authentication code anduser memory 886 for storing authentication information.System 882 also hasgeneration process 888. In one example,generation process 888 is performed on a network operations center and a loader.Generation process 888 generatesauthentication message 892, necessary butincomplete authentication information 890, and necessary butincomplete authentication information 894. In one example, necessary butincomplete authentication information 890 may include a tag public key, an encrypted token, a manufacturer ID, a merchant ID, the ID of embeddedsystem 882, and an identification number associated with a NOC public/private key pair. In one example, necessary butincomplete authentication information 894 is a NOC private key.Authentication message 892 is stored in hiddenmemory 884 and necessary butincomplete authentication information 890 is stored inuser memory 886. -
System 880 hasderivation process 896. In one example,derivation process 896 is performed on a network operations center and a reader.Derivation process 896 receives necessary butincomplete authentication information 894. In one example, necessary butincomplete authentication information 894 is a NOC private key stored by a NOC duringgeneration process 888 and accessed by the NOC duringderivation process 896.Derivation process 880 also receives necessary butincomplete authentication information 898 fromuser memory 886 of embeddedsystem 882. It will be appreciated that when combined, necessary butincomplete authentication information 898 and necessary butincomplete authentication information 894 become sufficient to quickly generateauthentication message 900.Derivation process 896 uses necessary butincomplete authentication information 894 and necessary butincomplete authentication information 898 to generateauthentication message 900.Authentication message 900 is transmitted to embeddedsystem 882 and compared toauthentication message 892 stored in hiddenmemory 884. Embeddedsystem 882 performs an action responsive to the comparison betweenauthentication message 892 andauthentication message 900. - Referring now to
FIG. 24B ,method 925 for loading and authenticating is illustrated.Method 925 begins atnetwork operation center 926.NOC 926 generates a NOC public/private key pair as shown instep 927.NOC 926 transfers the NOC public key toloader 928.Loader 928 receives the NOC public key and generates an authentication message as shown instep 929. Next,loader 928 loads the embedded system with the authentication message and other authentication information as shown instep 930. After loading the embedded system on the target, the target is deactivated as shown instep 931. Alternatively, the target leaves the manufacturing process in a deactivated state. After the embedded processor is loaded, the target is sent through the distribution chain as shown instep 932. Advantageously, the entire time the target is in the distribution chain, it is deactivated. If the target is stolen before reaching the point of sale it cannot be used. -
Method 925 continues as the target reaches point ofsale 933 and comes in proximity to a reader. The reader reads the authentication information from the embedded system as shown instep 934. The reader then transmits the authentication information toNOC 926.NOC 926 generates an authentication message using the authentication information from the reader and the NOC private key as shown instep 935. After generating the authentication message,NOC 935 sends the authentication message back to the reader at the point of sale as shown instep 936. The reader receives the authentication message and transmits it to the embedded system. The embedded system compares the received authentication message to the authentication message on the embedded system as shown instep 937. The embedded system performs an action responsive to the comparison as shown instep 938. In one example, the embedded system activates the target if the received plaintext token and the stored plaintext token match. - It will be appreciated that the cryptographic processes described in relation to the present system and methods offer a great deal of flexibility in determining the degree of security for a given application. In particular, the use of elliptical curve cryptography offers a high level of security in an application where the amount of information that can be stored on an embedded processor is limited. In conjunction with the use of elliptical curves, shared secrets further enhance the security of the system while limiting the amount of processing that must be performed at the embedded processor. The use of shared secrets will be described in more detail.
- Referring now to
FIG. 25 ,method 950 is illustrated.Method 950 underlies the loading an authentication processes described in examples above.Method 950 has public/privatekey pair 1 952 and public/privatekey pair 2 954. In one example,key pair 1 952 is generated by a NOC andkey pair 2 954 is generated by a loader. The generation process for each key pair is linked such that there exists a combination ofprivate key 1 956 andpublic key 2 960 that is equivalent to a combination ofprivate key 2 959 andpublic key 1 957. For example, ifpublic key 1 957 andpublic key 2 960 are points derived from a common generator of an elliptical curve as described in examples above, the multiplication ofprivate key 1 956 andpublic key 2 960 is equal to the multiplication ofprivate key 2 959 andpublic key 1 957. Accordingly, whenprivate key 1 956 andpublic key 2 960 are combined withmeaningful information 962, the result is a secret 966. The combination ofprivate key 2 959 andpublic key 1 957 with the samemeaningful information 962 results insecret 964.Secret 964 is equivalent tosecret 966. - Advantageously, the set of possible secrets that can be produced by
method 950 is limited by the meaningful information used. As such, some attempts to compromise the security of the systems discussed herein can be prevented by recognizing that a generated secret cannot be valid. The result is a highly secure cryptographic algorithm that can be operated without significant processing at an embedded system. - Referring to
FIG. 26 ,system 975 for implementing the cryptographic method ofFIG. 25 is illustrated.System 975 hascryptographic process 1 976. In one example,cryptographic process 1 976 is operated on a NOC.Cryptographic process 1 976 generatesprivate key 1 985 andpublic key 1 981.Public key 1 981 is a point generated from an elliptical curve as described in examples above.Cryptographic process 2 977 generatesprivate key 2 980 andpublic key 2 986. In one example,cryptographic process 2 977 is operated on a loader.Public key 2 986 is a point generated from the same elliptical curve as was used to generatepublic key 1 981.Private key 2 980,public key 1 981, andmeaningful information 982 are combined used inhash 978 to produce secret 983. In one example, hash 978 is done on a loader and secret 983 is stored on an embedded system.Private key 1 985,public key 2 986, andmeaningful information 987 are combined and used inhash 984 to produce secret 988. In oneexample hash 984 is done on a NOC and secret 988 is transmitted to the embedded system.Secret 983 is equivalent tosecret 988. In one example, the embedded system compares secret 983 and secret 988 and performs an action on a target responsive to the comparison. - While particular preferred and alternative embodiments of the present intention have been disclosed, it will be appreciated that many various modifications and extensions of the above described technology may be implemented using the teaching of this invention. All such modifications and extensions are intended to be included within the true spirit and scope of the appended claims.
Claims (29)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/456,046 US20070228179A1 (en) | 2005-07-06 | 2006-07-06 | System and Method for Loading an Embedded Device to Authenticate and Secure Transactions |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US69710805P | 2005-07-06 | 2005-07-06 | |
US11/456,046 US20070228179A1 (en) | 2005-07-06 | 2006-07-06 | System and Method for Loading an Embedded Device to Authenticate and Secure Transactions |
Publications (1)
Publication Number | Publication Date |
---|---|
US20070228179A1 true US20070228179A1 (en) | 2007-10-04 |
Family
ID=37605223
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/456,037 Abandoned US20070007358A1 (en) | 2005-07-06 | 2006-07-06 | Device and System for Authenticating and Securing Transactions Using RF Communication |
US11/456,046 Abandoned US20070228179A1 (en) | 2005-07-06 | 2006-07-06 | System and Method for Loading an Embedded Device to Authenticate and Secure Transactions |
US11/456,043 Active - Reinstated US7273181B2 (en) | 2005-07-06 | 2006-07-06 | Device and method for authenticating and securing transactions using RF communication |
US11/456,040 Abandoned US20070011728A1 (en) | 2005-07-06 | 2006-07-06 | Method for Authenticating and Securing Transactions Using RF Communication |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/456,037 Abandoned US20070007358A1 (en) | 2005-07-06 | 2006-07-06 | Device and System for Authenticating and Securing Transactions Using RF Communication |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/456,043 Active - Reinstated US7273181B2 (en) | 2005-07-06 | 2006-07-06 | Device and method for authenticating and securing transactions using RF communication |
US11/456,040 Abandoned US20070011728A1 (en) | 2005-07-06 | 2006-07-06 | Method for Authenticating and Securing Transactions Using RF Communication |
Country Status (3)
Country | Link |
---|---|
US (4) | US20070007358A1 (en) |
EP (1) | EP1952310A2 (en) |
WO (1) | WO2007006005A2 (en) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090313478A1 (en) * | 2008-06-17 | 2009-12-17 | Lenovo (Singapore) Pte. Ltd | Arrangments for interfacing with a user access manager |
US20100082491A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | System and method for providing electronic event tickets |
US20100082455A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Real-time bargain hunting |
US20100078471A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | System and method for processing peer-to-peer financial transactions |
US20100078475A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | System and method for transportation check-in |
US20100082489A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | System and method for processing media gifts |
US20100082481A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Peer-to-peer financial transaction devices and methods |
US20100082447A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | On-the-go shopping list |
US20100082444A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Portable point of purchase user interfaces |
US20100082821A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Device-to-device workflows |
US20100078472A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Group peer-to-peer financial transactions |
US20100082784A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | System and method for simplified resource sharing |
US20100082485A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Portable point of purchase devices and methods |
US20100082490A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Systems and methods for secure wireless transactions |
US20100125492A1 (en) * | 2008-11-14 | 2010-05-20 | Apple Inc. | System and method for providing contextual advertisements according to dynamic pricing scheme |
US20130031373A1 (en) * | 2011-07-28 | 2013-01-31 | Qualcomm Incorporated | Product authentication based upon a hyperelliptic curve equation and a curve pairing function |
US8401681B2 (en) | 2008-06-08 | 2013-03-19 | Apple Inc. | System and method for placeshifting media playback |
US9070149B2 (en) | 2008-09-30 | 2015-06-30 | Apple Inc. | Media gifting devices and methods |
US9626363B2 (en) | 2008-06-08 | 2017-04-18 | Apple Inc. | System and method for placeshifting media playback |
WO2018204281A1 (en) * | 2017-05-02 | 2018-11-08 | PracticalVR Inc. | User authentication on an augmented, mixed or virtual reality platform |
US11258652B2 (en) | 2008-06-08 | 2022-02-22 | Apple Inc. | System and method for placeshifting media playback |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030130912A1 (en) | 2002-01-04 | 2003-07-10 | Davis Tommy Lee | Equipment management system |
EP1927067A2 (en) * | 2005-09-14 | 2008-06-04 | Koninklijke Philips Electronics N.V. | Device, system and method for determining authenticity of an item |
US20070094152A1 (en) * | 2005-10-20 | 2007-04-26 | Bauman Brian D | Secure electronic transaction authentication enhanced with RFID |
FR2906952B1 (en) * | 2006-10-05 | 2009-02-27 | Inside Contactless Sa | METHOD FOR MUTUAL AUTHENTICATION BETWEEN A COMMUNICATION INTERFACE AND A HOST PROCESSOR OF AN NFC CHIPSET |
US8737965B2 (en) * | 2007-05-07 | 2014-05-27 | Battelle Energy Alliance, Llc | Wireless device monitoring systems and monitoring devices, and associated methods |
US8175578B2 (en) * | 2007-05-07 | 2012-05-08 | Battelle Energy Alliance, Llc | Wireless device monitoring methods, wireless device monitoring systems, and articles of manufacture |
US8593714B2 (en) * | 2008-05-19 | 2013-11-26 | Ajjer, Llc | Composite electrode and electrolytes comprising nanoparticles and resulting devices |
US20090055319A1 (en) * | 2007-08-21 | 2009-02-26 | Fazal Raheman | Novel card-less, name-less, number-less, and paper-less method and system of highly secure completely anonymous customer-merchant transactions |
US8831220B2 (en) * | 2007-11-30 | 2014-09-09 | Battelle Energy Alliance, Llc | Processing module operating methods, processing modules, and communications systems |
US10302567B2 (en) | 2007-12-19 | 2019-05-28 | Berylliant, Inc. | High throughput methods for analysis of contamination in environmental samples |
US20090216680A1 (en) * | 2008-02-26 | 2009-08-27 | Battelle Energy Alliance, Llc | Systems and Methods for Performing File Distribution and Purchase |
US8941469B1 (en) * | 2010-06-14 | 2015-01-27 | Impinj, Inc. | RFID tag authentication with public-key cryptography |
DE102008034328A1 (en) * | 2008-07-23 | 2010-01-28 | Giesecke & Devrient Gmbh | Product security system |
US8730015B2 (en) * | 2008-12-17 | 2014-05-20 | Sap Ag | Duplication detection for non-cryptographic RFID tags using encrypted traceability information |
US8800017B2 (en) * | 2009-05-29 | 2014-08-05 | Ncomputing, Inc. | Method and apparatus for copy protecting a digital electronic device |
US9159046B2 (en) * | 2009-06-29 | 2015-10-13 | Sap Se | Systems and methods for implementing supply chain visibility policies |
US9306750B2 (en) * | 2009-07-16 | 2016-04-05 | Oracle International Corporation | Techniques for securing supply chain electronic transactions |
CN101859283B (en) * | 2010-03-22 | 2012-01-11 | 吴欣延 | Method for controlling built-in radio frequency identification (RFID) encrypted solid-state hard disk |
US8866594B1 (en) * | 2011-02-17 | 2014-10-21 | Impinj, Inc. | RFID tag and reader authentication by trusted authority |
US9501675B1 (en) | 2011-02-17 | 2016-11-22 | Impinj Inc. | RFID tag and reader authentication by trusted authority |
US9767333B1 (en) | 2011-02-17 | 2017-09-19 | Impinj, Inc. | RFID tag and reader authentication by trusted authority |
US9690949B1 (en) * | 2012-02-15 | 2017-06-27 | Impinj, Inc. | Proxy-based reader authentication by trusted authority |
AU2012202468A1 (en) * | 2011-05-02 | 2012-11-22 | Jason Dean Hart | Personal secure multi-identification device |
US10318932B2 (en) * | 2011-06-07 | 2019-06-11 | Entit Software Llc | Payment card processing system with structure preserving encryption |
US8976030B2 (en) | 2012-04-24 | 2015-03-10 | Metrologic Instruments, Inc. | Point of sale (POS) based checkout system supporting a customer-transparent two-factor authentication process during product checkout operations |
CN103428054A (en) * | 2012-05-24 | 2013-12-04 | 华为终端有限公司 | Method and apparatus for media information access control, and digital home multimedia system |
US10832020B2 (en) * | 2012-07-31 | 2020-11-10 | Felica Networks, Inc. | Information processing system and method for secure exchange of information |
US9865105B2 (en) * | 2013-06-21 | 2018-01-09 | X-Card Holdings, Llc | Electronic credential signal activation systems and methods |
US20170153905A1 (en) * | 2015-11-30 | 2017-06-01 | Microsoft Technology Licensing, Llc | User quest-anchored active digital memory assistant |
US9894062B2 (en) * | 2016-03-16 | 2018-02-13 | Dell Products, L.P. | Object management for external off-host authentication processing systems |
TWI647633B (en) * | 2017-01-26 | 2019-01-11 | 財金資訊股份有限公司 | Method for inductive financial card payment by using mobile device |
WO2018165146A1 (en) | 2017-03-06 | 2018-09-13 | Cummins Filtration Ip, Inc. | Genuine filter recognition with filter monitoring system |
US10944562B2 (en) * | 2018-06-03 | 2021-03-09 | Apple Inc. | Authenticating a messaging program session |
US11395142B2 (en) * | 2020-01-31 | 2022-07-19 | Lowe's Companies, Inc. | System and techniques for secret key transfer in benefit denial system |
US10721224B1 (en) | 2020-01-31 | 2020-07-21 | Lowe's Companies, Inc. | System and techniques for trans-account device key transfer in benefit denial system |
JP6930620B1 (en) * | 2020-03-05 | 2021-09-01 | 大日本印刷株式会社 | Electronic information storage medium, information writing method, and program |
Citations (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3893074A (en) * | 1972-10-12 | 1975-07-01 | Sony Corp | Remote control system utilizing signal frequency sequence |
US5485520A (en) * | 1993-10-07 | 1996-01-16 | Amtech Corporation | Automatic real-time highway toll collection from moving vehicles |
US5608778A (en) * | 1994-09-22 | 1997-03-04 | Lucent Technologies Inc. | Cellular telephone as an authenticated transaction controller |
US5644444A (en) * | 1995-03-10 | 1997-07-01 | Iomega Corporation | Read/write protect scheme for a disk cartridge and drive |
US5712638A (en) * | 1992-09-16 | 1998-01-27 | Directed Electronics, Inc. | Multiple transmission channel group transmitter |
US5739754A (en) * | 1996-07-29 | 1998-04-14 | International Business Machines Corporation | Circuit antitheft and disabling mechanism |
US5839050A (en) * | 1995-02-08 | 1998-11-17 | Actual Radio Measurement | System for determining radio listenership |
US5859879A (en) * | 1994-09-06 | 1999-01-12 | Interdigital Technology Corporation | Wireless telephone distribution system with time and space diversity transmission |
US5862117A (en) * | 1997-03-12 | 1999-01-19 | Em Microelectronic-Marin Sa | Device, in particular a compact disc, comprising a data storage medium and an integrated circuit |
US5874902A (en) * | 1996-07-29 | 1999-02-23 | International Business Machines Corporation | Radio frequency identification transponder with electronic circuit enabling/disabling capability |
US5905798A (en) * | 1996-05-02 | 1999-05-18 | Texas Instruments Incorporated | TIRIS based kernal for protection of "copyrighted" program material |
US5909492A (en) * | 1994-10-24 | 1999-06-01 | Open Market, Incorporated | Network sales system |
US6005476A (en) * | 1998-07-24 | 1999-12-21 | Valiulis; Carl | Electronic identification, control, and security system for consumer electronics and the like |
US6046676A (en) * | 1997-11-14 | 2000-04-04 | International Business Machines Corporation | Self powered electronic memory identification tag with dual communication ports |
US6067028A (en) * | 1996-05-20 | 2000-05-23 | Sony Corporation | Identification signal registering method and identification signal registering apparatus |
US6141531A (en) * | 1997-11-26 | 2000-10-31 | Direct Wireless Corporation | Local wireless communication system with external communications link |
US6198875B1 (en) * | 1996-12-20 | 2001-03-06 | Texas Instruments Incorporated | Tiris based bios for protection of “copyrighted” program material |
US6223160B1 (en) * | 1997-05-22 | 2001-04-24 | Inventio Ag | Apparatus and method for acoustic command input to an elevator installation |
US6226619B1 (en) * | 1998-10-29 | 2001-05-01 | International Business Machines Corporation | Method and system for preventing counterfeiting of high price wholesale and retail items |
US6249227B1 (en) * | 1998-01-05 | 2001-06-19 | Intermec Ip Corp. | RFID integrated in electronic assets |
US20010020254A1 (en) * | 1998-06-30 | 2001-09-06 | Blumenau Steven M. | Method and apparatus for managing access to storage devices in a storage system with access control |
US6298336B1 (en) * | 1997-12-19 | 2001-10-02 | Visa International Service Association | Card activation at point of distribution |
US6300873B1 (en) * | 1999-09-16 | 2001-10-09 | Atlantes Services, Inc. | Locking mechanism for use with one-time access code |
US20010037254A1 (en) * | 2000-03-09 | 2001-11-01 | Adi Glikman | System and method for assisting a customer in purchasing a commodity using a mobile device |
US20020010864A1 (en) * | 2000-07-18 | 2002-01-24 | Safa John Aram | Transaction verification |
US20020009296A1 (en) * | 2000-07-21 | 2002-01-24 | Quantum Instruments, Inc. | Transceiver units and a transceiver system for the remote control of electronic equipment |
US6351652B1 (en) * | 1999-10-26 | 2002-02-26 | Time Domain Corporation | Mobile communications system and method utilizing impulse radio |
US6381584B1 (en) * | 1996-02-05 | 2002-04-30 | Net Moneyin Inc. | Computers in a financial system |
US6384710B1 (en) * | 1998-04-06 | 2002-05-07 | Trw Inc. | Apparatus and method for remote convenience message reception and control utilizing frequency diversity |
US6389055B1 (en) * | 1998-03-30 | 2002-05-14 | Lucent Technologies, Inc. | Integrating digital data with perceptible signals |
US20020072325A1 (en) * | 2000-12-11 | 2002-06-13 | Hayter Gary Alan | Broadcast audience surveillance using intercepted audio |
US6441380B1 (en) * | 1999-10-13 | 2002-08-27 | Spectra Systems Corporation | Coding and authentication by phase measurement modulation response and spectral emission |
US20020143634A1 (en) * | 2001-03-30 | 2002-10-03 | Kumar K. Anand | Wireless payment system |
US20020147913A1 (en) * | 2001-04-09 | 2002-10-10 | Lun Yip William Wai | Tamper-proof mobile commerce system |
US20020152123A1 (en) * | 1999-02-19 | 2002-10-17 | Exxonmobil Research And Engineering Company | System and method for processing financial transactions |
US20020165789A1 (en) * | 2001-05-04 | 2002-11-07 | Dudek Kenneth Paul | Product and service presentment and payment system for mobile e-commerce |
US6483473B1 (en) * | 2000-07-18 | 2002-11-19 | Marconi Communications Inc. | Wireless communication device and method |
US20020175818A1 (en) * | 2000-07-18 | 2002-11-28 | King Patrick F. | Wireless communication device and method for discs |
US20020184112A1 (en) * | 2000-08-31 | 2002-12-05 | Tatsuji Nagaoka | Goods sales method and goods sales apparatus |
US20030005136A1 (en) * | 2000-01-18 | 2003-01-02 | Tak Eun | Authentication method using cellular phone in internet |
US20030028787A1 (en) * | 2001-08-06 | 2003-02-06 | Microsoft Corporation | Method and system for discouraging unauthorized copying of a computer program |
US20030050856A1 (en) * | 2000-03-03 | 2003-03-13 | Massimiliano Rijllo | Process and system for purchasing goods and services through a distributed data network |
US6542735B1 (en) * | 1999-11-15 | 2003-04-01 | Worldcom, Inc. | Method of setting security codes in a cordless telephone system with multiple communication devices |
US20030078895A1 (en) * | 2001-10-19 | 2003-04-24 | Mackay George | Use of cellular phones for payment of vending machines |
US20030108007A1 (en) * | 2001-12-07 | 2003-06-12 | Holcman Alejandro R. | Method and apparatus for effecting handoff between different cellular communications systems |
US20040054594A1 (en) * | 2002-09-12 | 2004-03-18 | Forster Ian J. | RFID security device for optical disc |
US20040052202A1 (en) * | 2002-09-13 | 2004-03-18 | Brollier Brian W. | RFID enabled information disks |
US20040107246A1 (en) * | 2002-12-02 | 2004-06-03 | Sony Corporation | Control system and control method, method and apparatus for processing information, information processing terminal and method thereof, storage medium, and program |
US20040200061A1 (en) * | 2003-04-11 | 2004-10-14 | Coleman James P. | Conductive pattern and method of making |
US20040228262A1 (en) * | 2003-03-17 | 2004-11-18 | Deluxe Media Services, Inc. | Secure optical information disc |
US20050083829A1 (en) * | 2000-08-03 | 2005-04-21 | Selinfreund Richard H. | Method and apparatus for controlling access to storage media |
US20050114326A1 (en) * | 2003-11-07 | 2005-05-26 | Smith John S. | Methods and apparatuses to identify devices |
US6902111B2 (en) * | 1998-11-12 | 2005-06-07 | Wenyu Han | Method and apparatus for impeding the counterfeiting of discs |
US20050240498A1 (en) * | 2004-04-22 | 2005-10-27 | Arnold Thaler | Product verification and activation system, method and apparatus |
US6986151B2 (en) * | 2000-09-22 | 2006-01-10 | Koninklijke Philips Electronics N.V. | Information carrier, apparatus, substrate, and system |
US20070116920A1 (en) * | 2005-11-21 | 2007-05-24 | General Electric Company | Optical article having a material capable of undergoing a morphological transformation as an anti-theft feature and a system and method for inhibiting theft of same |
US20070116988A1 (en) * | 2005-11-21 | 2007-05-24 | Wisnudel Marc B | Optical article having anti-theft feature and a system and method for inhibiting theft of same |
US20070114366A1 (en) * | 2005-11-21 | 2007-05-24 | General Electric Company | Optical article having a multi-component structure as an anti-theft feature and a system and method for inhibiting theft of same |
US20070115762A1 (en) * | 2005-11-21 | 2007-05-24 | Wisnudel Marc B | Optical article having anti-theft feature and a system and method for inhibiting theft of same |
US20070114365A1 (en) * | 2005-11-21 | 2007-05-24 | Potyrailo Radislav A | Optical article having anti-theft feature and a system and method for inhibiting theft of same |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381564B1 (en) * | 1998-05-28 | 2002-04-30 | Texas Instruments Incorporated | Method and system for using response-surface methodologies to determine optimal tuning parameters for complex simulators |
JPH11346064A (en) * | 1998-06-01 | 1999-12-14 | Nec Corp | Waterproof structure of device case |
JP4153653B2 (en) * | 2000-10-31 | 2008-09-24 | 株式会社東芝 | Microprocessor and data protection method |
JP4098478B2 (en) * | 2001-01-31 | 2008-06-11 | 株式会社東芝 | Microprocessor |
US7000115B2 (en) * | 2001-06-19 | 2006-02-14 | International Business Machines Corporation | Method and apparatus for uniquely and authoritatively identifying tangible objects |
US7293065B2 (en) * | 2002-11-20 | 2007-11-06 | Return Path | Method of electronic message delivery with penalties for unsolicited messages |
US7065645B2 (en) * | 2003-01-20 | 2006-06-20 | Mordechai Teicher | System, method, and apparatus for visual authentication |
GB0309498D0 (en) | 2003-04-25 | 2003-06-04 | Avery Dennison Corp | Extended range RFID system |
US20090139886A1 (en) * | 2004-06-11 | 2009-06-04 | Donald Blust | Automated business system and method of vending and returning a consumer product |
US7446646B2 (en) * | 2003-06-30 | 2008-11-04 | Nokia Corporation | System and method for supporting multiple reader-tag configurations using multi-mode radio frequency tag |
JP3871670B2 (en) * | 2003-09-19 | 2007-01-24 | 本田技研工業株式会社 | IC tag access authentication system |
JP4123195B2 (en) * | 2004-06-22 | 2008-07-23 | オムロン株式会社 | Tag communication device, tag communication device control method, tag communication control program, and tag communication management system |
US20060200412A1 (en) * | 2005-02-23 | 2006-09-07 | Comcast Cable Holdings, Llc | System and method for DRM regional and timezone key management |
US8613107B2 (en) * | 2005-03-16 | 2013-12-17 | Dt Labs Development, Llc | System, method and apparatus for electronically protecting data associated with RFID tags |
US7298268B2 (en) * | 2005-05-17 | 2007-11-20 | Intermec Ip Corp. | Read authentication method and system for securing data stored on RFID tags |
US7183924B1 (en) * | 2005-10-13 | 2007-02-27 | Hewlett-Packard Development Company, L.P. | Storing configuration information and a service record for an item in an RFID tag |
US20070210923A1 (en) * | 2005-12-09 | 2007-09-13 | Butler Timothy P | Multiple radio frequency network node rfid tag |
-
2006
- 2006-07-06 WO PCT/US2006/026363 patent/WO2007006005A2/en active Application Filing
- 2006-07-06 US US11/456,037 patent/US20070007358A1/en not_active Abandoned
- 2006-07-06 US US11/456,046 patent/US20070228179A1/en not_active Abandoned
- 2006-07-06 EP EP06786498A patent/EP1952310A2/en not_active Withdrawn
- 2006-07-06 US US11/456,043 patent/US7273181B2/en active Active - Reinstated
- 2006-07-06 US US11/456,040 patent/US20070011728A1/en not_active Abandoned
Patent Citations (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3893074A (en) * | 1972-10-12 | 1975-07-01 | Sony Corp | Remote control system utilizing signal frequency sequence |
US5712638A (en) * | 1992-09-16 | 1998-01-27 | Directed Electronics, Inc. | Multiple transmission channel group transmitter |
US5485520A (en) * | 1993-10-07 | 1996-01-16 | Amtech Corporation | Automatic real-time highway toll collection from moving vehicles |
US5859879A (en) * | 1994-09-06 | 1999-01-12 | Interdigital Technology Corporation | Wireless telephone distribution system with time and space diversity transmission |
US5608778A (en) * | 1994-09-22 | 1997-03-04 | Lucent Technologies Inc. | Cellular telephone as an authenticated transaction controller |
US5909492A (en) * | 1994-10-24 | 1999-06-01 | Open Market, Incorporated | Network sales system |
US5839050A (en) * | 1995-02-08 | 1998-11-17 | Actual Radio Measurement | System for determining radio listenership |
US5644444A (en) * | 1995-03-10 | 1997-07-01 | Iomega Corporation | Read/write protect scheme for a disk cartridge and drive |
US6381584B1 (en) * | 1996-02-05 | 2002-04-30 | Net Moneyin Inc. | Computers in a financial system |
US5905798A (en) * | 1996-05-02 | 1999-05-18 | Texas Instruments Incorporated | TIRIS based kernal for protection of "copyrighted" program material |
US6067028A (en) * | 1996-05-20 | 2000-05-23 | Sony Corporation | Identification signal registering method and identification signal registering apparatus |
US5739754A (en) * | 1996-07-29 | 1998-04-14 | International Business Machines Corporation | Circuit antitheft and disabling mechanism |
US6104281A (en) * | 1996-07-29 | 2000-08-15 | Intermec Ip, Corp. | Radio frequency identification transponder with electronic circuit enabling/disabling capability |
US5874902A (en) * | 1996-07-29 | 1999-02-23 | International Business Machines Corporation | Radio frequency identification transponder with electronic circuit enabling/disabling capability |
US6198875B1 (en) * | 1996-12-20 | 2001-03-06 | Texas Instruments Incorporated | Tiris based bios for protection of “copyrighted” program material |
US5862117A (en) * | 1997-03-12 | 1999-01-19 | Em Microelectronic-Marin Sa | Device, in particular a compact disc, comprising a data storage medium and an integrated circuit |
US6223160B1 (en) * | 1997-05-22 | 2001-04-24 | Inventio Ag | Apparatus and method for acoustic command input to an elevator installation |
US6046676A (en) * | 1997-11-14 | 2000-04-04 | International Business Machines Corporation | Self powered electronic memory identification tag with dual communication ports |
US6141531A (en) * | 1997-11-26 | 2000-10-31 | Direct Wireless Corporation | Local wireless communication system with external communications link |
US6298336B1 (en) * | 1997-12-19 | 2001-10-02 | Visa International Service Association | Card activation at point of distribution |
US6249227B1 (en) * | 1998-01-05 | 2001-06-19 | Intermec Ip Corp. | RFID integrated in electronic assets |
US6389055B1 (en) * | 1998-03-30 | 2002-05-14 | Lucent Technologies, Inc. | Integrating digital data with perceptible signals |
US6384710B1 (en) * | 1998-04-06 | 2002-05-07 | Trw Inc. | Apparatus and method for remote convenience message reception and control utilizing frequency diversity |
US20010020254A1 (en) * | 1998-06-30 | 2001-09-06 | Blumenau Steven M. | Method and apparatus for managing access to storage devices in a storage system with access control |
US6005476A (en) * | 1998-07-24 | 1999-12-21 | Valiulis; Carl | Electronic identification, control, and security system for consumer electronics and the like |
US6317028B1 (en) * | 1998-07-24 | 2001-11-13 | Electronic Security And Identification Llc | Electronic identification, control, and security system and method for consumer electronics and the like |
US6226619B1 (en) * | 1998-10-29 | 2001-05-01 | International Business Machines Corporation | Method and system for preventing counterfeiting of high price wholesale and retail items |
US6902111B2 (en) * | 1998-11-12 | 2005-06-07 | Wenyu Han | Method and apparatus for impeding the counterfeiting of discs |
US20020152123A1 (en) * | 1999-02-19 | 2002-10-17 | Exxonmobil Research And Engineering Company | System and method for processing financial transactions |
US6300873B1 (en) * | 1999-09-16 | 2001-10-09 | Atlantes Services, Inc. | Locking mechanism for use with one-time access code |
US6441380B1 (en) * | 1999-10-13 | 2002-08-27 | Spectra Systems Corporation | Coding and authentication by phase measurement modulation response and spectral emission |
US6351652B1 (en) * | 1999-10-26 | 2002-02-26 | Time Domain Corporation | Mobile communications system and method utilizing impulse radio |
US6542735B1 (en) * | 1999-11-15 | 2003-04-01 | Worldcom, Inc. | Method of setting security codes in a cordless telephone system with multiple communication devices |
US20030005136A1 (en) * | 2000-01-18 | 2003-01-02 | Tak Eun | Authentication method using cellular phone in internet |
US20030050856A1 (en) * | 2000-03-03 | 2003-03-13 | Massimiliano Rijllo | Process and system for purchasing goods and services through a distributed data network |
US20010037254A1 (en) * | 2000-03-09 | 2001-11-01 | Adi Glikman | System and method for assisting a customer in purchasing a commodity using a mobile device |
US6501435B1 (en) * | 2000-07-18 | 2002-12-31 | Marconi Communications Inc. | Wireless communication device and method |
US6483473B1 (en) * | 2000-07-18 | 2002-11-19 | Marconi Communications Inc. | Wireless communication device and method |
US20020175818A1 (en) * | 2000-07-18 | 2002-11-28 | King Patrick F. | Wireless communication device and method for discs |
US6806842B2 (en) * | 2000-07-18 | 2004-10-19 | Marconi Intellectual Property (Us) Inc. | Wireless communication device and method for discs |
US20020010864A1 (en) * | 2000-07-18 | 2002-01-24 | Safa John Aram | Transaction verification |
US20020009296A1 (en) * | 2000-07-21 | 2002-01-24 | Quantum Instruments, Inc. | Transceiver units and a transceiver system for the remote control of electronic equipment |
US20050083829A1 (en) * | 2000-08-03 | 2005-04-21 | Selinfreund Richard H. | Method and apparatus for controlling access to storage media |
US20020184112A1 (en) * | 2000-08-31 | 2002-12-05 | Tatsuji Nagaoka | Goods sales method and goods sales apparatus |
US6986151B2 (en) * | 2000-09-22 | 2006-01-10 | Koninklijke Philips Electronics N.V. | Information carrier, apparatus, substrate, and system |
US20020072325A1 (en) * | 2000-12-11 | 2002-06-13 | Hayter Gary Alan | Broadcast audience surveillance using intercepted audio |
US20020143634A1 (en) * | 2001-03-30 | 2002-10-03 | Kumar K. Anand | Wireless payment system |
US20020147913A1 (en) * | 2001-04-09 | 2002-10-10 | Lun Yip William Wai | Tamper-proof mobile commerce system |
US20020165789A1 (en) * | 2001-05-04 | 2002-11-07 | Dudek Kenneth Paul | Product and service presentment and payment system for mobile e-commerce |
US20030028787A1 (en) * | 2001-08-06 | 2003-02-06 | Microsoft Corporation | Method and system for discouraging unauthorized copying of a computer program |
US20030078895A1 (en) * | 2001-10-19 | 2003-04-24 | Mackay George | Use of cellular phones for payment of vending machines |
US20030108007A1 (en) * | 2001-12-07 | 2003-06-12 | Holcman Alejandro R. | Method and apparatus for effecting handoff between different cellular communications systems |
US20040054594A1 (en) * | 2002-09-12 | 2004-03-18 | Forster Ian J. | RFID security device for optical disc |
US20040052202A1 (en) * | 2002-09-13 | 2004-03-18 | Brollier Brian W. | RFID enabled information disks |
US20040107246A1 (en) * | 2002-12-02 | 2004-06-03 | Sony Corporation | Control system and control method, method and apparatus for processing information, information processing terminal and method thereof, storage medium, and program |
US20040228262A1 (en) * | 2003-03-17 | 2004-11-18 | Deluxe Media Services, Inc. | Secure optical information disc |
US20040200061A1 (en) * | 2003-04-11 | 2004-10-14 | Coleman James P. | Conductive pattern and method of making |
US20050114326A1 (en) * | 2003-11-07 | 2005-05-26 | Smith John S. | Methods and apparatuses to identify devices |
US20050240498A1 (en) * | 2004-04-22 | 2005-10-27 | Arnold Thaler | Product verification and activation system, method and apparatus |
US20070116920A1 (en) * | 2005-11-21 | 2007-05-24 | General Electric Company | Optical article having a material capable of undergoing a morphological transformation as an anti-theft feature and a system and method for inhibiting theft of same |
US20070116988A1 (en) * | 2005-11-21 | 2007-05-24 | Wisnudel Marc B | Optical article having anti-theft feature and a system and method for inhibiting theft of same |
US20070114366A1 (en) * | 2005-11-21 | 2007-05-24 | General Electric Company | Optical article having a multi-component structure as an anti-theft feature and a system and method for inhibiting theft of same |
US20070115762A1 (en) * | 2005-11-21 | 2007-05-24 | Wisnudel Marc B | Optical article having anti-theft feature and a system and method for inhibiting theft of same |
US20070114365A1 (en) * | 2005-11-21 | 2007-05-24 | Potyrailo Radislav A | Optical article having anti-theft feature and a system and method for inhibiting theft of same |
US20070114621A1 (en) * | 2005-11-21 | 2007-05-24 | General Electric Company | Wirelessly powered flexible tag |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11258652B2 (en) | 2008-06-08 | 2022-02-22 | Apple Inc. | System and method for placeshifting media playback |
US9626363B2 (en) | 2008-06-08 | 2017-04-18 | Apple Inc. | System and method for placeshifting media playback |
US9130802B2 (en) | 2008-06-08 | 2015-09-08 | Apple Inc. | System and method for simplified data transfer |
US8516125B2 (en) | 2008-06-08 | 2013-08-20 | Apple Inc. | System and method for simplified data transfer |
US8458363B2 (en) | 2008-06-08 | 2013-06-04 | Apple Inc. | System and method for simplified data transfer |
US8401681B2 (en) | 2008-06-08 | 2013-03-19 | Apple Inc. | System and method for placeshifting media playback |
US8132019B2 (en) * | 2008-06-17 | 2012-03-06 | Lenovo (Singapore) Pte. Ltd. | Arrangements for interfacing with a user access manager |
US20090313478A1 (en) * | 2008-06-17 | 2009-12-17 | Lenovo (Singapore) Pte. Ltd | Arrangments for interfacing with a user access manager |
US8215546B2 (en) | 2008-09-30 | 2012-07-10 | Apple Inc. | System and method for transportation check-in |
US20100078475A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | System and method for transportation check-in |
US20100078472A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Group peer-to-peer financial transactions |
US20100082784A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | System and method for simplified resource sharing |
US20100082485A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Portable point of purchase devices and methods |
US20100082490A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Systems and methods for secure wireless transactions |
US20100082491A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | System and method for providing electronic event tickets |
US8060627B2 (en) | 2008-09-30 | 2011-11-15 | Apple Inc. | Device-to-device workflows |
US20100082444A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Portable point of purchase user interfaces |
US8131645B2 (en) | 2008-09-30 | 2012-03-06 | Apple Inc. | System and method for processing media gifts |
US20100082447A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | On-the-go shopping list |
US8239276B2 (en) | 2008-09-30 | 2012-08-07 | Apple Inc. | On-the-go shopping list |
US10380573B2 (en) | 2008-09-30 | 2019-08-13 | Apple Inc. | Peer-to-peer financial transaction devices and methods |
US20100082481A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Peer-to-peer financial transaction devices and methods |
US20100082489A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | System and method for processing media gifts |
US20100082821A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Device-to-device workflows |
US10296889B2 (en) | 2008-09-30 | 2019-05-21 | Apple Inc. | Group peer-to-peer financial transactions |
US8850052B2 (en) | 2008-09-30 | 2014-09-30 | Apple Inc. | System and method for simplified resource sharing |
US9026462B2 (en) | 2008-09-30 | 2015-05-05 | Apple Inc. | Portable point of purchase user interfaces |
US9037513B2 (en) | 2008-09-30 | 2015-05-19 | Apple Inc. | System and method for providing electronic event tickets |
US9070149B2 (en) | 2008-09-30 | 2015-06-30 | Apple Inc. | Media gifting devices and methods |
US20100078471A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | System and method for processing peer-to-peer financial transactions |
US20100082455A1 (en) * | 2008-09-30 | 2010-04-01 | Apple Inc. | Real-time bargain hunting |
US20100125492A1 (en) * | 2008-11-14 | 2010-05-20 | Apple Inc. | System and method for providing contextual advertisements according to dynamic pricing scheme |
US8769301B2 (en) * | 2011-07-28 | 2014-07-01 | Qualcomm Incorporated | Product authentication based upon a hyperelliptic curve equation and a curve pairing function |
US20130031373A1 (en) * | 2011-07-28 | 2013-01-31 | Qualcomm Incorporated | Product authentication based upon a hyperelliptic curve equation and a curve pairing function |
WO2018204281A1 (en) * | 2017-05-02 | 2018-11-08 | PracticalVR Inc. | User authentication on an augmented, mixed or virtual reality platform |
US10880086B2 (en) | 2017-05-02 | 2020-12-29 | PracticalVR Inc. | Systems and methods for authenticating a user on an augmented, mixed and/or virtual reality platform to deploy experiences |
US11909878B2 (en) | 2017-05-02 | 2024-02-20 | PracticalVR, Inc. | Systems and methods for authenticating a user on an augmented, mixed and/or virtual reality platform to deploy experiences |
Also Published As
Publication number | Publication date |
---|---|
WO2007006005A2 (en) | 2007-01-11 |
US20070007358A1 (en) | 2007-01-11 |
US20070011729A1 (en) | 2007-01-11 |
WO2007006005A3 (en) | 2009-04-30 |
US20070011728A1 (en) | 2007-01-11 |
US7273181B2 (en) | 2007-09-25 |
EP1952310A2 (en) | 2008-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7273181B2 (en) | Device and method for authenticating and securing transactions using RF communication | |
US10623392B2 (en) | Systems and methods for RFID security | |
US6957333B2 (en) | System and method for encrypted communications between electronic devices | |
CN101410853B (en) | Method and device for obtaining item information using RFID tags | |
JPH0367355A (en) | Apparatus and method for multilevel secret protecting by personal key | |
US20080306874A1 (en) | System and method for managing a product through a distribution chain | |
CN1809833B (en) | For reducing the method for the theft incidence of the electronic equipment for buying | |
US20070008169A1 (en) | A Radio Frequency Activated Integrated Circuit and Method of Disabling the Same | |
US20210104138A1 (en) | Methods and apparatuses for removing a security tag | |
WO2015154186A1 (en) | Self-authenticating card | |
CN109583915A (en) | Anti-counterfeiting authentication method, equipment and storage medium | |
JP3822575B2 (en) | RF tag issuing device and program | |
US20070132549A1 (en) | Method and device for verifying owner of article | |
WO2024035529A1 (en) | Methods and arrangements for proof of purchase | |
CN101657822B (en) | Data storage method, client device, storage device, and data retention system | |
CN101790733B (en) | Media package, system comprising media package and method of executing program code | |
KR101285972B1 (en) | System and method for preventing forgery and tampering of electronic tag | |
KR20090041473A (en) | Authentication server for validating product authenticity using otp electronic tag and method therefor | |
JP2009530945A (en) | Method and apparatus for authenticating a static data carrier | |
CN113988249B (en) | RFID (radio frequency identification) method based on arrangement | |
US11164185B2 (en) | Method for control of authenticity of a payment terminal and terminal thus secured | |
CN114565393A (en) | Whole industry chain product traceability authentication method and system based on block chain technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: KESTREL WIRELESS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WHITE, CHARLES A;REEL/FRAME:018048/0177 Effective date: 20060802 |
|
AS | Assignment |
Owner name: LEGACY CAPITAL PARTNERS, LLC, TEXAS Free format text: SECURITY AGREEMENT;ASSIGNOR:KESTREL WIRELESS, INC.;REEL/FRAME:019390/0006 Effective date: 20070601 Owner name: LEGACY CAPITAL PARTNERS, LLC,TEXAS Free format text: SECURITY AGREEMENT;ASSIGNOR:KESTREL WIRELESS, INC.;REEL/FRAME:019390/0006 Effective date: 20070601 |
|
AS | Assignment |
Owner name: NXP, B.V., NETHERLANDS Free format text: LICENSE AND DEVELOPMENT AGREEMENT;ASSIGNOR:KESTREL WIRELESS, INC.;REEL/FRAME:021630/0530 Effective date: 20070405 Owner name: NXP, B.V.,NETHERLANDS Free format text: LICENSE AND DEVELOPMENT AGREEMENT;ASSIGNOR:KESTREL WIRELESS, INC.;REEL/FRAME:021630/0530 Effective date: 20070405 |
|
AS | Assignment |
Owner name: RPC IP HOLDINGS LLC, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KESTREL WIRELESS, INC.;REEL/FRAME:021824/0426 Effective date: 20081104 Owner name: RPC IP HOLDINGS LLC,TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KESTREL WIRELESS, INC.;REEL/FRAME:021824/0426 Effective date: 20081104 |
|
AS | Assignment |
Owner name: NXP, B.V., NETHERLANDS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ADAMS, JOHN Q., GENERAL MANAGER RPC IP HOLDINGS LLC;REEL/FRAME:025039/0956 Effective date: 20081231 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: NXP, B.V., NETHERLANDS Free format text: CORRECTION OF PATENT NUMBER 7,268,061 (S/N 11/001,575) THIS PATENT WAS ASSIGNED IN ERROR TO NXP. B.V. ON 27-SEP-2010; REEL/FRAME: 025039/0956. ASSIGNMENT OF 7,268,061 TO NXP SHOULD BE WITHDRAWN;ASSIGNOR:NXP. B.V.;REEL/FRAME:025137/0366 Effective date: 20101014 |