Radio Frequency Identification (RFID) tags have emerged as a significant technological advancement in the field of identification and tracking systems. These small electronic devices have found extensive applications in a wide range of industries. RFID tags provide a unique identification number for objects or entities and enable wireless communication through the utilization of radio waves.
RFID tags consist of several components, including a microchip and an antenna. The microchip stores and processes the unique identification number and additional data associated with the tag. Meanwhile, the antenna facilitates the reception and transmission of radio frequency signals. These components are typically embedded within a substrate, which provides structural support and protection to ensure the tag's durability.
The operation of RFID tags is based on radio wave technology. When an RFID reader emits radio frequency signals, it activates nearby RFID tags within its range. Unlike conventional barcode scanners, RFID tags do not require direct line-of-sight contact with the reader. Instead, they respond to the reader's signal by utilizing the power supplied by the reader itself. This power activates the microchip within the tag, enabling it to transmit its stored data back to the reader via the antenna. The reader captures this response and interprets the transmitted information.
However, the use of RFID tags can pose security issues. In most implementations, any reader can activate and receive the information stored on an RFID tag. Consequently, that information of the RFID tag may be read by an unauthorized party.
According to an example of the present subject matter, a secured radio frequency identification device includes: a first radio frequency identification (RFID) tag; and a secured radio frequency identification (RFID) tag having a transmission control for selectively enabling and disabling data transmission from the secured RFID tag. The first RFID tag is to store non-sensitive data from a data set and the secured RFID tag is to store sensitive data from the same data set such that all the data of the data set is only accessible when the secured RFID tag is enabled for data transmission.
In another example, a method of securing a data set in a radio frequency identification (RFID) device includes the following. The RFID device has at least one regular RFID tag and at least one secured RFID tag, each secured RFID tag comprising a transmission control for selectively enabling and disabling data transmission from that secured RFID tag. The method includes: parsing a data set to divide the data set into sensitive and non-sensitive information; writing the sensitive information of the data set to a secured RFID tag; and writing the non-sensitive information of the data set to a regular RFID tag. The data set can be entirely accessed from the RFID device only when the transmission control has enabled data transmission in the secured RFID tag.
In still another example, a computer programming product comprising a non-transitory machine-readable medium storing instructions for a radio frequency identification reader system, the instructions, when executed by a processor of the reader system, causing the reader system to: read sensitive information from a secured RFID tag when the RFID tag is enabled for data transmission, the secured RFID tag comprising a transmission control for selectively enabling and disabling data transmission from the secured RFID tag; read non-sensitive information from a separate, regular RFID tag; and use the sensitive and non-sensitive information to obtain a data set to which both the sensitive and non-sensitive information correspond.
As noted above, RFID tags consist of several components, including a microchip and an antenna. The microchip stores a unique identification number and possibly additional data associated with the tag. Some RFID tags are writeable and can update the stored data, including receiving and processing new data. The antenna facilitates the reception and transmission of radio frequency signals. Thus, the antenna receives a radio frequency read signal from a read and transmits data stored on the RFID tag in response. Specifically, when an RFID reader emits radio frequency signals, it activates nearby RFID tags within its range. In common implementations, the RFID tag does not include a power source but rather utilizes power supplied by the reader signal received from the reader to transmit a response. The reader captures the response and interprets the transmitted information.
RFID tags are available in different types to suit various applications. Active tags incorporate their own power source, typically in the form of a battery, which allows them to transmit signals over longer distances. Passive tags, in contrast, do not possess a separate power source and rely solely on the energy provided by the reader for their operation. While passive tags have shorter read ranges, they are commonly employed in applications such as inventory management, access control, and supply chain tracking.
However, the use of RFID tags can pose security issues. In most implementations, any reader can activate and receive the information stored on an RFID tag. Consequently, that information of the RFID tag may be read by an unauthorized party. Where that information may be sensitive, it would be preferred that only an authorized party is able to access and read the information. Thus, a technical solution is needed to solve this technical data security problem.
Various aspects of the present disclosure are described by narrative text, flowcharts, block diagrams of computer systems and/or block diagrams of the machine logic included in computer program product (CPP) embodiments. With respect to any flowcharts, depending upon the technology involved, the operations can be performed in a different order than what is shown in a given flowchart. For example, again depending upon the technology involved, two operations shown in successive flowchart blocks may be performed in reverse or any given order, as a single integrated step, concurrently, or in a manner at least partially overlapping in time.
A computer program product embodiment (“CPP embodiment” or “CPP”) is a term used in the present disclosure to describe any set of one, or more, storage media (also called “mediums”) collectively included in a set of one, or more, storage devices that collectively include machine readable code corresponding to instructions and/or data for performing computer operations specified in a given CPP claim. A “storage device” is any tangible device that can retain and store instructions for use by a computer processor. Without limitation, the computer readable storage medium may be an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, a mechanical storage medium, or any suitable combination of the foregoing. Some known types of storage devices that include these mediums include: diskette, hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanically encoded device (such as punch cards or pits/lands formed in a major surface of a disc) or any suitable combination of the foregoing. A computer readable storage medium, as that term is used in the present disclosure, is not to be construed as storage in the form of transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide, light pulses passing through a fiber optic cable, electrical signals communicated through a wire, and/or other transmission media. As will be understood by those of skill in the art, data is typically moved at some occasional points in time during normal operations of a storage device, such as during access, de-fragmentation or garbage collection, but this does not render the storage device as transitory because the data is not transitory while it is stored.
As used in the present specification and in the appended claims, the term “a number of” or similar language is meant to be understood broadly as any positive number including 1 to infinity.
In the example of
However, as also shown in
To provide security for RFID tags, various measures have been explored. For example, a conductive material or envelope can be placed around the RFID tag. This scatters any radio frequency read signal and prevents reading of the RFID tag until the tag is removed from the protective envelope. In the context of a credit card, for example, an RFID-blocking wallet can be used to store the cards so that the RFID component cannot be read until the card is removed from the wallet. While effective, this solution is, however, less practical in the scenario of
Near Field Communication (NFC) is a subset of RFID technology that operates over a relatively shorter range. This protects the data on the RFID tags because an unauthorized reader must be placed closer to the tags before any data can be retrieved. However, in the scenario of
Another possible security measure is to encrypt the data stored in the RFID tag 102. In this example, the unauthorized reader 110 will receive the encrypted data and be unable to decrypt the information. However, this approach necessitates transferring the encryption key securely to the authorized RFID reading system 100. Such a system may be complex, error prone or have other vulnerabilities.
To address these issues while providing security for the data of an RFID tag, the present description presents a composite device 120 that includes a traditional RFID component 121 and a secured RFID component 122. The secured RFID component 122 is defined by including a mechanism that permits only selective transmission of the data stored on the secured RFID component 122. As will be described below, this allows the two components 121, 122 to work together to provide the data of the device 120 in a secure manner to an authorized reader only. The device 120 can be constituted by two separate RFID tags, one secured 122 and one unsecured 121. Alternatively, the device 120 can be an integration of the two components 121, 122 in a single tag or package. In some examples, at least the secure RFID component 122 is writeable so that the data stored can be updated, replaced or changed.
As noted above, the secured RFID component 122 is characterized by a mechanism the enables/disables the data transmission capability or function of the component 122. As noted above, an RFID tag can be enabled/disabled by removing it from, or placing it in, a conductive shield. Similarly, attaching or detaching the antenna of the RFID tag will enable or disable the data transmission capability.
However, as shown in
In other examples, the transmission control device 125 may be a location aware circuit. This location aware circuit may operate using Global Positioning System (GPS) signals or may have other means to detect its location. For example, the location aware circuit may detect a specific radio frequency signal that is broadcast by a system operator only within a particular location, such as a warehouse or other specific facility. The location aware circuit may use ambient mobile network signals to determine its location. Any technique for electronically identifying one location from another can be used by the location aware circuit.
In such examples, the transmission control device 125 with the location aware circuit is programmed or configured to only permit transmission of data from the data storage unit 127 when the transmission control device 125 determined itself to be in an appropriate location. For example, if the transmission control device 125 determines that it is within a specific location or facility, using any of the techniques described above or others, transmission is enabled and the data in the storage 127 is readable. Otherwise, the transmission control device 125 disables the secured RFID component 122 which will then not respond to a reader by transmitting data from the storage 127.
In the example of
As illustrated in
In this way, only under appropriate conditions is the secured RFID tag 122 enabled to transmit its data. This can be, for example, by operating a switch or other mechanism on the secured RFID tag or because the secured RFID tag determines that it is in a particular location. Thus, under the appropriate condition, the reader is able to retrieve the non-sensitive data from the regular RFID tags 121 and the sensitive data from the secured RFID tag 122.
In one such example, when a load of cargo is ready to leave or is arriving at a secured facility, the secured RFID tag 122 is enabled to transmit. A reader can then retrieve all sensitive and non-sensitive data to reassemble the data sets 131, 132. However, when the load of cargo is not in a secured facility, such as during transport, the secured RFID tag 122 is not enabled to transmit by operation of the transmission control (125,
In this way, a reader is able to retrieve the data sets 131, 132 by reading the regular RFID tags 121 for the encrypted data and the secured RFID tag 122 for the encryption key. The reader can then use the encryption key to decrypt the data sets. There is no need for an additional secure system to provide the encryption key to the reader. Rather, under appropriate conditions, the secured RFID tag 122 is enabled to transmit its data. As noted above, this could be, for example, by operating a switch or other mechanism on the secured RFID tag or because the secured RFID tag determines that it is in a particular location. Thus, under the right conditions, the reader is able to retrieve the encrypted data and the encryption key to decrypt the data.
In one such example, when a load of cargo is ready to leave or is arriving at a secured facility, the secured RFID tag 122 is enabled to transmit. A reader then retrieves all the encrypted data and the encryption key to decrypt the data. However, when the load of cargo is not in a secured facility, such as during transport, the secured RFID tag 122 is not enabled to transmit by operation of the transmission control (125,
As shown in
As also shown in
The computing environment 900 contains an example of an environment for the execution of at least some of the computer code, e.g., the instructions of
COMPUTER 901 may take the form of a desktop computer, laptop computer, tablet computer, smart phone, smart watch or other wearable computer, mainframe computer, quantum computer or any other form of computer or mobile device now known or to be developed in the future that is capable of running a program, accessing a network or querying a database, such as remote database 930. As is well understood in the art of computer technology, and depending upon the technology, performance of a computer-implemented method may be distributed among multiple computers and/or between multiple locations. On the other hand, in this presentation of computing environment 900, detailed discussion is focused on a single computer, specifically computer 901, to keep the presentation as simple as possible. Computer 901 may be located in a cloud, even though it is not shown in a cloud in
PROCESSOR SET 910 includes one, or more, computer processors of any type now known or to be developed in the future. Processing circuitry 920 may be distributed over multiple packages, for example, multiple, coordinated integrated circuit chips. Processing circuitry 920 may implement multiple processor threads and/or multiple processor cores. Cache 921 is memory that is located in the processor chip package(s) and is typically used for data or code that should be available for rapid access by the threads or cores running on processor set 910. Cache memories are typically organized into multiple levels depending upon relative proximity to the processing circuitry. Alternatively, some, or all, of the cache for the processor set may be located “off chip.” In some computing environments, processor set 910 may be designed for working with qubits and performing quantum computing.
Computer readable program instructions are typically loaded onto computer 901 to cause a series of operational steps to be performed by processor set 910 of computer 901 and thereby effect a computer-implemented method, such that the instructions thus executed will instantiate the methods specified in flowcharts and/or narrative descriptions of computer-implemented methods included in this document (collectively referred to as “the inventive methods”). These computer readable program instructions are stored in various types of computer readable storage media, such as cache 921 and the other storage media discussed below. The program instructions, and associated data, are accessed by processor set 910 to control and direct performance of the inventive methods. In computing environment 900, at least some of the instructions for performing the inventive methods may be stored in block 700 in persistent storage 913.
COMMUNICATION FABRIC 911 is the signal conduction path that allows the various components of computer 901 to communicate with each other. Typically, this fabric is made of switches and electrically conductive paths, such as the switches and electrically conductive paths that make up busses, bridges, physical input/output ports and the like. Other types of signal communication paths may be used, such as fiber optic communication paths and/or wireless communication paths.
VOLATILE MEMORY 912 is any type of volatile memory now known or to be developed in the future. Examples include dynamic type random access memory (RAM) or static type RAM. Typically, volatile memory 912 is characterized by random access, but this is not required unless affirmatively indicated. In computer 901, the volatile memory 912 is located in a single package and is internal to computer 901, but, alternatively or additionally, the volatile memory may be distributed over multiple packages and/or located externally with respect to computer 901.
PERSISTENT STORAGE 913 is any form of non-volatile storage for computers that is now known or to be developed in the future. The non-volatility of this storage means that the stored data is maintained regardless of whether power is being supplied to computer 901 and/or directly to persistent storage 913. Persistent storage 913 may be a read only memory (ROM), but typically at least a portion of the persistent storage allows writing of data, deletion of data and re-writing of data. Some familiar forms of persistent storage include magnetic disks and solid state storage devices. Operating system 922 may take several forms, such as various known proprietary operating systems or open source Portable Operating System Interface-type operating systems that employ a kernel. The code included in block 700 typically includes at least some of the computer code involved in performing the inventive methods.
PERIPHERAL DEVICE SET 914 includes the set of peripheral devices of computer 901. Data communication connections between the peripheral devices and the other components of computer 901 may be implemented in various ways, such as Bluetooth connections, Near-Field Communication (NFC) connections, connections made by cables (such as universal serial bus (USB) type cables), insertion-type connections (for example, secure digital (SD) card), connections made through local area communication networks and even connections made through wide area networks such as the internet. In various embodiments, UI device set 923 may include components such as a display screen, speaker, microphone, wearable devices (such as goggles and smart watches), keyboard, mouse, printer, touchpad, game controllers, and haptic devices. Storage 924 is external storage, such as an external hard drive, or insertable storage, such as an SD card. Storage 924 may be persistent and/or volatile. In some embodiments, storage 924 may take the form of a quantum computing storage device for storing data in the form of qubits. In embodiments where computer 901 is required to have a large amount of storage (for example, where computer 901 locally stores and manages a large database) then this storage may be provided by peripheral storage devices designed for storing very large amounts of data, such as a storage area network (SAN) that is shared by multiple, geographically distributed computers. IoT sensor set 925 is made up of sensors that can be used in Internet of Things applications. For example, one sensor may be a thermometer and another sensor may be a motion detector.
NETWORK MODULE 915 is the collection of computer software, hardware, and firmware that allows computer 901 to communicate with other computers through WAN 902. Network module 915 may include hardware, such as modems or Wi-Fi signal transceivers, software for packetizing and/or de-packetizing data for communication network transmission, and/or web browser software for communicating data over the internet. In some embodiments, network control functions and network forwarding functions of network module 915 are performed on the same physical hardware device. In other embodiments (for example, embodiments that utilize software-defined networking (SDN)), the control functions and the forwarding functions of network module 915 are performed on physically separate devices, such that the control functions manage several different network hardware devices. Computer readable program instructions for performing the inventive methods can typically be downloaded to computer 901 from an external computer or external storage device through a network adapter card or network interface included in network module 915.
WAN 902 is any wide area network (for example, the internet) capable of communicating computer data over non-local distances by any technology for communicating computer data, now known or to be developed in the future. In some embodiments, the WAN 012 may be replaced and/or supplemented by local area networks (LANs) designed to communicate data between devices located in a local area, such as a Wi-Fi network. The WAN and/or LANs typically include computer hardware such as copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and edge servers.
END USER DEVICE (EUD) 903 is any computer system that is used and controlled by an end user (for example, a customer of an enterprise that operates computer 901), and may take any of the forms discussed above in connection with computer 901. EUD 903 typically receives helpful and useful data from the operations of computer 901. For example, in a hypothetical case where computer 901 is designed to provide a recommendation to an end user, this recommendation would typically be communicated from network module 915 of computer 901 through WAN 902 to EUD 903. In this way, EUD 903 can display, or otherwise present, the recommendation to an end user. In some embodiments, EUD 903 may be a client device, such as thin client, heavy client, mainframe computer, desktop computer and so on.
The EUD 903 may be a client device operated by a producer of services or products that wants an analysis of available user data to ascertain user satisfaction. Operation of the EUD 903 for this objective will be described in further detail below.
REMOTE SERVER 904 is any computer system that serves at least some data and/or functionality to computer 901. Remote server 904 may be controlled and used by the same entity that operates computer 901. Remote server 904 represents the machine(s) that collect and store helpful and useful data for use by other computers, such as computer 901. For example, in a hypothetical case where computer 901 is designed and programmed to provide a recommendation based on historical data, then this historical data may be provided to computer 901 from remote database 930 of remote server 904.
As described further below, the EUD 903 may use the network 902 to access an application on remote server 904. The application will access, again using the network 902, available user data. The application will then analyze the user data, with context specific analysis, to ascertain user satisfaction and generate recommendations for the producer based on the analysis.
PUBLIC CLOUD 905 is any computer system available for use by multiple entities that provides on-demand availability of computer system resources and/or other computer capabilities, especially data storage (cloud storage) and computing power, without direct active management by the user. Cloud computing typically leverages sharing of resources to achieve coherence and economics of scale. The direct and active management of the computing resources of public cloud 905 is performed by the computer hardware and/or software of cloud orchestration module 941. The computing resources provided by public cloud 905 are typically implemented by virtual computing environments that run on various computers making up the computers of host physical machine set 942, which is the universe of physical computers in and/or available to public cloud 905. The virtual computing environments (VCEs) typically take the form of virtual machines from virtual machine set 943 and/or containers from container set 944. It is understood that these VCEs may be stored as images and may be transferred among and between the various physical machine hosts, either as images or after instantiation of the VCE. Cloud orchestration module 941 manages the transfer and storage of images, deploys new instantiations of VCEs and manages active instantiations of VCE deployments. Gateway 940 is the collection of computer software, hardware, and firmware that allows public cloud 905 to communicate through WAN 902.
Some further explanation of virtualized computing environments (VCEs) will now be provided. VCEs can be stored as “images.” A new active instance of the VCE can be instantiated from the image. Two familiar types of VCEs are virtual machines and containers. A container is a VCE that uses operating-system-level virtualization. This refers to an operating system feature in which the kernel allows the existence of multiple isolated user-space instances, called containers. These isolated user-space instances typically behave as real computers from the point of view of programs running in them. A computer program running on an ordinary operating system can utilize all resources of that computer, such as connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, programs running inside a container can only use the contents of the container and devices assigned to the container, a feature which is known as containerization.
PRIVATE CLOUD 906 is similar to public cloud 905, except that the computing resources are only available for use by a single enterprise. While private cloud 906 is depicted as being in communication with WAN 902, in other embodiments a private cloud may be disconnected from the internet entirely and only accessible through a local/private network. A hybrid cloud is a composition of multiple clouds of different types (for example, private, community or public cloud types), often respectively implemented by different vendors. Each of the multiple clouds remains a separate and discrete entity, but the larger hybrid cloud architecture is bound together by standardized or proprietary technology that enables orchestration, management, and/or data/application portability between the multiple constituent clouds. In this embodiment, public cloud 905 and private cloud 906 are both part of a larger hybrid cloud.