Consumers appreciate the ability to expand the features, performance, and capability of their computing devices. They also want to maintain the security and reliability of their computing devices. Businesses may, therefore, endeavor to provide such technology to these consumers.
The following detailed description references the drawings, wherein:
Computing devices often include the ability to utilize a variety of accessories. These accessories are designed to enhance the features, performance and capability of such computing devices by allowing them to access functionality resident on such accessories. This may be accomplished by connecting an accessory to a port associated with the computing device.
Unfortunately, miscreants of all sorts and kinds abound who may try to harm users of such computing devices by placing malicious material on such accessories that is designed to attack or otherwise “hack” their computing devices. Such attack or “hacking” can be of a variety of forms such as malware, spyware, viruses, spam, or other material designed to partially or completely disable a computing device and/or compromise the security of such a device or that of its user.
One way to help thwart the efforts of such nefarious individuals is to verify the integrity and source of an accessory before it is accessed or otherwise used by a computing device. An example of an authentication system 10 directed to achieving this objective is illustrated in
As used herein, “accessory” is defined as including, but not necessarily being limited to, a device, component, peripheral, or apparatus that includes functionality that may be accessed, used with, or used by a computing device. Examples of accessories include, but are not limited to, memory cards, hard drives, “thumb drives”, cameras, audio components, printers, scanners, fax machines, copiers, etc.
As used herein, “port” is defined as including, but not necessarily being limited to, an interface between a computing device and an accessory. This interface includes a physical coupling or connection, an electrical coupling or connection, a magnetic coupling or connection, a transfer of one or more signals, and/or a transfer of power. A computing device may have more than one port and these ports may have the same or different interfaces. Additionally, the interface can be wired, wireless, or a combination of the two. Examples include, but are not limited to, Universal Serial Bus (USB), Serial Connect Serial Interface (SCSI), Ethernet, Firewire, Video Graphics Adapter (VGA), I2C, IEEE 1394, Direct Current (DC) power, etc. As noted above, a computing device may have more than one port and these ports may have the same (e.g., two USB ports) or different (e.g., one USB port and one SCSI port or two USB ports and one DC power port) interfaces.
As used herein, “challenge”, “expected response”, and “accessory response”, are defined as including, but not necessarily being limited to, messages, data, or information transmitted or communicated to authenticate an accessory for access to functionality thereof by a computing device. They may be encrypted, unencrypted, or partially encrypted. They may also be a predetermined or random number of bits or bytes. As used herein, “hardware controller” is defined, in part, as including a physical device that interfaces with an accessory and a processor of a computing device.
As used herein, “firmware” is defined as including a combination of persistent secure storage and instructions, functions, procedures, libraries, modules, and/or data thereon that help to control operation of a device. Firmware is permanent and not easily changed, reverse-engineered, or “hacked”, thereby providing security and protection against introduction of malware, viruses, spyware, unintended operational characteristics, or other malicious items onto a computing device or hardware controller.
As used herein, “software” is defined as including a collection of instructions, functions, procedures, libraries, modules, and or data that help to control operation of a device. Software is usually relatively easy to decompile and reverse engineer, allow it to be “hacked”, thereby allowing introduction of malware, viruses, spyware, unintended operational characteristics, or other malicious items onto a computing device.
As used herein, the term “processor” is defined as including, but not necessarily being limited to, an instruction execution system such as a computer/processor based system, an Application Specific Integrated Circuit (ASIC), or a hardware and/or software system that can fetch or obtain the logic from a non-transitory storage medium and execute the instructions contained therein. “Processor” can also include any state-machine, microprocessor, cloud-based utility, service or feature, or any other analogue, digital and/or mechanical implementation thereof.
As used herein, the term “non-transitory storage medium” is defined as including, but not necessarily being limited to, any media that can contain, store, or maintain programs, information, and data. A non-transitory storage medium may include any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, or semiconductor media. More specific examples of suitable non-transitory storage medium and non-transitory computer-readable storage medium include, but are not limited to, a magnetic computer diskette such as floppy diskettes or hard drives, magnetic tape, a backed-up random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash drive, a compact disc (CD), or a digital video disk (DVD).
As used herein, “computing device” is defined as including, but not necessarily being limited to, a computer, server, phone, tablet, personal digital assistant, peripheral, document repository, storage array, or other similar item. A computing device may be “stand-alone”, independent, dependent, or networked. Additionally, a computing device may run or control one or more services (as a host) to serve the needs of users of other devices on a network. Examples include, but are not limited to, a database server, file server, mail server, print server, web server, gaming server, etc.
As used herein, the term “networked” and “network” are defined as including, but not necessarily being limited to, a collection of hardware (e.g., bridges, switches, routers, firewalls, etc.) and software (e.g., protocols, encryption, etc.) components interconnected by communication channels (intranet, internet, cloud, etc.) that allow sharing of resources and information. The communication channels may be wired (e.g., coax, fiber optic, etc.) and/or wireless (e.g., 802.11, Bluetooth, etc.), use various protocols (e.g., TCP/IP. Ethernet, etc.), have different topologies (ring, bus, mesh, etc.), and be localized (e.g., LAN) or distributed (e.g., WAN).
Referring again to
As can also be seen in
As can additionally be seen in
As can further be seen in
If hardware controller 30 determines that accessory response 40 is invalid, then accessory 24 is deemed to be non-authentic and port 20 remains disabled, prohibiting access to accessory 24 by computing device 12. Hardware controller 30 may signal that an unauthorized accessory is connected to computing device 12, as generally indicated by dashed arrow 54. A message indicating this may, in turn, be displayed to a user of computing device 12.
Hardware controller 30 may use firmware rather than software to help secure computing device 12 from use of unauthorized accessories. Such use of firmware helps to prevent reverse engineering or “hacking” of hardware controller 30 in an attempt to use unauthorized accessories with computing device 12.
Another example of an authentication system 56 is shown in
As can also be seen in
As can additionally be seen in
As can further be seen in
If hardware controller 76 determines that accessory response 86 is invalid, then accessory 70 is deemed to be non-authentic and port 66 remains disabled, prohibiting access to accessory 70 by computing device 58. Hardware controller 76 may signal that an unauthorized accessory is connected to computing device 58, as generally indicated by dashed arrow 100. A message indicating this may, in turn, be displayed to a user of computing device 58.
Hardware controller 76 may use firmware rather than software to help secure computing device 58 from use of unauthorized accessories. Such use of firmware helps to prevent reverse engineering or “hacking” of hardware controller 76 in an attempt to use unauthorized accessories with computing device 58.
An additional example of an authentication system 102 is shown in
As can also be seen in
As can additionally be seen in
As can further be seen in
If hardware controller 120 determines that accessory response 130 is invalid, then accessory 116 is deemed to be non-authentic and port 112 remains disabled prohibiting access to accessory 116 by computing device 104. Hardware controller 120 may signal that an unauthorized accessory is connected to computing device 104, as generally indicated by dashed arrow 144. A message indicating this may, in turn, be displayed to a user of computing device 104.
Hardware controller 120 may use firmware rather than software to help secure computing device 104 from use of unauthorized accessories. Such use of firmware helps to prevent reverse engineering or “hacking” of hardware controller 120 in an attempt to use unauthorized accessories with computing device 104.
An example of a method of authenticating an accessory 146 for use by a computing device is shown in
In the example of method 146, the port may remain disabled for the invalid response to prohibit access to the accessory by the computing device. Also, the challenge and/or the accessory response may be transmitted via the port. Additionally, the computing device may include the hardware controller, and either the accessory or the port may include the authentication device. Furthermore, the hardware controller may utilize firmware rather than software to generate the challenge to help secure the computing device from using unauthorized accessories.
An example of one or more further possible elements of the method of authenticating an accessory 146 is illustrated in
Although several examples have been described and illustrated in detail, it is to be clearly understood that the same are intended by way of illustration and example only. These examples are not intended to be exhaustive or to limit the invention to the precise form or to the exemplary embodiments disclosed. Modifications and variations may well be apparent to those of ordinary skill in the art. For example, one or more of ports 20, 66, and 112 may be integrally formed in respective computing devices 12, 58, and 104. As another example, a hardware controller may be embedded in a port. As a further example, a hardware controller may signal for a port to be enabled via a processor instead of directly enabling the port. The spirit and scope of the present invention are to be limited only by the terms of the following claims.
Additionally, reference to an element in the singular is not intended to mean one and only one, unless explicitly so stated, but rather means one or more. Moreover, no element or component is intended to be dedicated to the public regardless of whether the element or component is explicitly recited in the following claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2012/056830 | 9/24/2012 | WO | 00 |