METHOD FOR VALIDATING RADIO FREQUENCY IDENTIFICATION NUMBER
20210248328 · 2021-08-12
Inventors
- Peter Troesch (Laguna Niguel, CA, US)
- Martin S. H. Ma (Foothill Ranch, CA, US)
- Timothy J. Ward (Mira Loma, CA, US)
Cpc classification
G06K19/145
PHYSICS
G06K7/10297
PHYSICS
G06K19/073
PHYSICS
International classification
G06K7/08
PHYSICS
Abstract
Methods for producing and validating RFID transponders (e.g., ISO 11784/11785 compliant transponders) with identification number authentication capabilities. A signature indicator and a partial-signature trailer are introduced to the ISO telegram. An encrypted signature or partial signature is introduced to the internal memory of ISO compliant transponders. The encrypted signature can prevent fraudulent duplications of ISO 11784/11785 transponders by allowing users to securely validate the transponders' authenticity.
Claims
1. A transponder, comprising: a radio frequency (RF) transceiver; and memory in communication with the RF transceiver, the memory storing data retrievable by a scanner via the RF transceiver, the memory comprising: (i) field-programmable memory comprising a default telegram transmitted by the transponder automatically upon activation of the transponder by the scanner; and (ii) field-programmable memory comprising a signature generated with the default telegram, the signature being transmitted by the transponder upon receipt of a memory-read signal.
2. The transponder of claim 1, wherein the memory further comprises read-only memory comprising a unique identification (UID) code independently established by a third party.
3. The transponder of claim 2, wherein the signature is generated with both the UID code and the default telegram.
4. The transponder of claim 2, wherein the UID code is transmitted by the transponder upon receiving a UID-read signal.
5. The transponder of claim 1, wherein the default telegram comprises an identification code and a signature indicator.
6. The transponder of claim 1, wherein the transponder is compliant with ISO 11784/11785 code structures.
7. A passive integrated transponder (PIT) tag comprising the transponder of claim 1.
8. A collar tag comprising the transponder of claim 1.
9. A method performed by a scanner for validating a transponder, the transponder comprising memory storing data retrievable by the scanner, the data comprising a default telegram and a signature, the method comprising: retrieving the default telegram by activation of the transponder with a radio signal (RF) signal from the scanner; retrieving at least a portion of the signature by transmitting a memory-read signal from the scanner to the transponder; and computationally authenticating the signature based on the default telegram.
10. The method of claim 9, wherein the memory further comprises a unique identification (UID) code independently established by a third party and the method further comprises retrieving the UID code by transmitting the memory-read signal from the scanner to the transponder.
11. The method of claim 10, wherein the signature is computationally authenticated based on the default telegram and the UID code.
12. The method of claim 9, wherein the memory-read signal is transmitted by the scanner after retrieving the default telegram.
13. The method of claim 12, wherein the scanner transmits the memory-read signal in response to confirming a signature indicator contained in the default telegram.
14. The method of claim 9, wherein the entire signature is retrieved upon transmitting the memory-read signal from the scanner to the transponder.
15. The method of claim 9, wherein a portion of the signature is retrieved with the default telegram.
16. The method of claim 10, wherein the signature is generated with the UID code and the default telegram.
17. The method of claim 9, further comprising validating the transponder upon authentication of the signature.
18. The method of claim 9, wherein the transponder is compliant with ISO 11784/11785 code structures.
19. The method of claim 9, wherein the transponder resides within an animal during retrieval of the default telegram and the signature.
20. The method of claim 19, further comprising identifying the animal after authenticating the signature.
21. A method for programming a transponder comprising memory, the method comprising: generating a default telegram; generating a signature based on the default telegram; and writing the signature and the default telegram to the memory of the transponder.
22. The method of claim 21, wherein the memory comprises a unique identification (UID) code and the method further comprises receiving the UID code from the transponder.
23. The method of claim 22, wherein the signature is generated based on both the UID code and the default telegram.
24. The method of claim 21, wherein the transponder is compliant with ISO 11784/11785 code structures.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037] Like reference numbers and designations in the various drawings indicate like elements.
DETAILED DESCRIPTION
[0038] In general, the disclosed technologies relate to a method and system to prevent fraudulent production of a radiofrequency identification (RFID) transponder. For example, the technology can include a signature indicator in the default-read telegram and storing a read-only authentication signature in the internal memory of the transponder. The RFID can be compliant with an ISO standard, such as the ISO 11784/11785 standard. Among other uses, the transponders can be used for animal identification. The transponders can be embedded or attached to a variety of articles, depending on the end use. For example, the transponder can be embedded in a tag, e.g., for attaching to an animal, such as a passive integrated transponder (PIT) tag or a collar tag. In some embodiments, the transponder can be enclosed in a nail or attached to an adhesive substrate.
[0039] An example RFID transponder for implementing the method is shown in
[0040] In general, the signature can adopt any public-private key encryption methods, such as AES, ECDSA, and RSA.
[0041] Examples of specific protocols for partitioning and retrieving information stored, including the signature, in memory 122 are presented below. While the examples use the ISO 11784/11785 standard, more generally, the innovative concepts disclosed can be applied to other standards too.
[0042]
[0043] An index used in
TABLE-US-00001 TABLE 1 Field Field Name Field value Meaning A Non-animal 0 Animal identification 1 Non-animal a Reference to user 0 No user data data inside (RUDI) 1 Advanced transponder D Data in telegram 0 ID-only trailer 1 Data in telegram trailer
[0044] Turning now to RFID tags that include a signature for authentication, generally the transponder memory is partitioned into two segments: identification data and authentication data. Referring to an example in
[0045] In the example implementation shown in
[0046] Referring to
[0047] In some implementations, at least part of a signature can be stored as part of the identification data. For example, referring to
[0048] The remaining portion of the signature 303 is stored in the internal memory 206 of the transponder. To retrieve the complete signature 301 & 303, the RFID scanner has to transmit memory read commands 508 to the transponder, as shown in
[0049] While the foregoing example features a portion of the signature is stored in the telegram trailer 301, other configurations are possible. For example, in some embodiments, part of the signature can be stored in the telegram's identification code.
[0050] As further shown in
[0051] If a signature indicator 112 is detected 505Y, the scanner will extract 506 the partial signature from the telegram trailer 301 for signed transponders using the partial signature trailer 301 storage configuration. Afterwards, the scanner reads the transponder UID 203 and the remaining signature data 204, 303 from the transponder by sending multiple memory read commands 508. When both the transponder UID 203 and the complete signature 204, 301 & 303 are collected via UID and signature data transmission 545 from the transponder, the scanner can validate 510, 511 the signature stored in the transponder using the public key, the identification code 111, and the transponder UID 203 as decryption parameters. The validation process described above is shown in
[0052]
[0053]
[0054] In summary, this specification describes means for manufacturers to produce ISO 11784/11785 compliant transponders with authentication signature using commonly available transponders and RFID programmers. This specification also describes a method to validate the authentication signature using RFID scanners with transponder programming features.
[0055] It will thus be seen that the objects set forth above, among those made apparent from the preceding description, are efficiently attained and, because certain changes may be made in carrying out the above method and in the construction(s) set forth without departing from the spirit and scope of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
[0056] It is also to be understood that the following claims are intended to cover all of the generic and specific features of the invention herein described and all statements of the scope of the invention, which, as a matter of language, might be said to fall there between.
[0057] Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly-embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible non-transitory storage medium for execution by, or to control the operation of, data processing apparatus. The computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them. Alternatively or in addition, the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.
[0058] The term “data processing apparatus” refers to data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can also be, or further include, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). The apparatus can optionally include, in addition to hardware, code that creates an execution environment for computer programs, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
[0059] A computer program, which may also be referred to or described as a program, software, a software application, an app, a module, a software module, a script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages; and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, sub-programs, or portions of code. A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a data communication network.
[0060] The processes and logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by special purpose logic circuitry, e.g., an FPGA or an ASIC, or by a combination of special purpose logic circuitry and one or more programmed computers.
[0061] Computers suitable for the execution of a computer program can be based on general or special purpose microprocessors or both, or any other kind of central processing unit. Generally, a central processing unit will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data. The central processing unit and the memory can be supplemented by, or incorporated in, special purpose logic circuitry. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, e.g., a universal serial bus (USB) flash drive, to name just a few.
[0062] Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[0063] To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's device in response to requests received from the web browser. Also, a computer can interact with a user by sending text messages or other forms of message to a personal device, e.g., a smartphone that is running a messaging application, and receiving responsive messages from the user in return.