Optical security enhancement device

An optical security device can be used to view sensitive information provided in an obscured format via a potentially untrusted and/or compromised computer. The techniques described herein enable use of untrusted computers for access to sensitive information. The optical security device employs one or more forms of visual cryptography such as spatial cryptography and/or temporal cryptography in some instances via a programmable mask and/or a programmable color filter to reveal sensitive information that is provided in an obscured form by a potentially untrusted computer.

BACKGROUND

Conventionally, sensitive transactions can be compromised by an adversary manipulating hardware and/or software, by an adversary intercepting a user's physical mail, by an adversary observing user entry, by an adversary employing key-stroke loggers, by an adversary intercepting mouse, touch-screen, or gestural input events, and/or by an adversary scavenging the content of the memory in the graphics subsystem. Examples of such sensitive transactions include authentication dialogs for online commerce that require a user to enter passwords, account numbers, or other private information.

Typical existing solutions involve the use of a physical or a digital one-time pad and are expensive and inconvenient. In a physical example, a financial institution mails a customer a list of random numbers, each of which can be used for only one transaction, but the list can be intercepted from the mail, and when the user account information is obtained, the attacker can have unbridled access to the user's account. In a digital example, a trusted, auxiliary device becomes part of a session-unique challenge/response dialog. In the digital example, the user is required to enter a password into a secure, self-contained device, which then supplies a unique key that the user has to enter as part of the authentication dialog.

Another existing solution involves the use of a biometric sensor, such as a fingerprint reader, a retina scan, etc. The appropriate scanner is incorporated into terminal devices or add-on devices, which are susceptible to hardware attacks. It has been shown that fingerprint readers can be fooled making a replica that works with multiple commercial fingerprint readers. Regardless of the technical strength of biometric sensors, they are expensive to incorporate into a wide-spread service with a large, heterogeneous user group. They are also difficult to integrate into a general purpose platform in a way that cannot be compromised.

SUMMARY

The techniques discussed herein employ an optical security device to view sensitive information provided in an obscured format via a potentially untrusted and/or compromised computer. The techniques enable use of untrusted computers for access to sensitive information. The optical security device employs one or more forms of visual cryptography to reveal sensitive information that is provided in an obscured form by a potentially untrusted computer.

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. The term “techniques,” for instance, may refer to system(s), method(s), computer-readable instructions, module(s), algorithms, hardware logic (e.g., Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs)), and/or technique(s) as permitted by the context above and throughout the document.

DETAILED DESCRIPTION

Overview

Embodiments provide techniques and devices applicable to enhance security for sensitive transactions in untrusted environments including for scenarios in which user input can be captured from a properly configured terminal device, such as a smart-phone, a tablet computer, a laptop or a desktop computer, an e-book reader, a retail kiosk, and/or an automated teller machine (ATM). That is, embodiments enhance security when the hardware and/or the software of a terminal device are compromised and at least some embodiments also enhance security when the terminal device is secure and has a secure software stack. One example of an attack against which embodiments enhance security is from an attacker's subsequent readout of memory in the graphics subsystem. Various embodiments include techniques and devices that allow users to see (decrypt) information in images presented on the screen of a terminal device that is otherwise unrecognizable (encrypted). When implemented in conjunction with a touch-screen, some embodiments enable the design of authentication dialogs that are resistant against touch-input logging. Several embodiments can be used with smart phones, tablet computers, laptop or desktop computers, e-book readers, retail kiosks, and/or ATM machines. In at least one embodiment, the security enhancement techniques described herein are implemented in a single-machine/single-processor environment, and in at least one embodiment, the security enhancement techniques described herein are implemented in a single-machine/multi-processor environment. Meanwhile, in at least one embodiment, the security enhancement techniques described herein are implemented in a network-distributed environment. The network-distributed environment may include one or more types of computing resources, which types of computing resources may include computing, networking and/or storage devices. A network-distributed environment may also be referred to as a cloud-computing environment.

Various embodiments are described further with reference toFIGS. 1-9.

Illustrative Environment

The environment described below constitutes but one example and is not intended to limit the claims to any one particular operating environment. Other environments may be used without departing from the spirit and scope of the claimed subject matter.FIG. 1shows an example environment100in which embodiments of security enhancement as described herein can operate. In some embodiments, the various devices and/or components of environment100include one or more network(s)102over which a client computing device104, also referred to herein as a client device, a terminal device, or simply a device104may be connected to a server106. The environment100may include multiple networks102, a variety of devices104, and/or a plurality of servers106, any or each of which can be controlled by or can serve an entity like a bank, healthcare institution, government agency, or company.

For example, network(s)102can include public networks such as the Internet, private networks such as an institutional and/or personal intranet, or some combination of private and public networks. Network(s)102can also include any type of wired and/or wireless network, including but not limited to local area networks (LANs), wide area networks (WANs), satellite networks, cable networks, Wi-Fi networks, WiMax networks, mobile communications networks (e.g., 3G, 4G, and so forth) or any combination thereof. Network(s)102can utilize communications protocols, including packet-based and/or datagram-based protocols such as internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), or other types of protocols. Moreover, network(s)102can also include a number of devices that facilitate network communications and/or form a hardware basis for the networks, such as switches, routers, gateways, access points, firewalls, base stations, repeaters, backbone devices, and the like.

In some embodiments, network(s)102can further include devices that enable connection to a wireless network, such as a wireless access point (WAP). Embodiments support connectivity through WAPs that send and receive data over various electromagnetic frequencies (e.g., radio frequencies), including WAPs that support Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (e.g., 802.11g, 802.11n, and so forth), and other standards.

In various embodiments, client devices104include devices such as devices104A-104F. Embodiments support scenarios where device(s)104can include one or more computing devices that operate in a cluster or other grouped configuration to share resources or for other purposes. Although illustrated as a diverse variety of device types, device(s)104can be other device types and are not limited to the illustrated device types. Device(s)104can include any type of computing device with one or multiple processor(s)108operably connected to an input/output interface110and memory112. Device(s)104can include but are not limited to the illustrated devices104. For example, devices104can include personal computers such as, for example, desktop computers104A, laptop computers104B, tablet computers104C, telecommunication devices104D, personal digital assistants (PDAs)104E, electronic book readers, wearable computers, automotive computers, and/or gaming devices. Devices104can also include business or retail oriented devices such as, for example, automated teller machines (ATMs)104F, server computers106, thin clients, terminals, and/or work stations. In some embodiments, devices104can include, for example, components for integration in a computing device, appliances, or another sort of device.

In some embodiments, as shown regarding device104(A), memory112can store instructions executable by the processor(s)108including an operating system114, a framework for security enhancement116, and other modules, programs, or applications118that are loadable and executable by processor(s)108. Alternatively, or in addition, the functionally described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.

The memory112is an example of computer-readable storage media and may include volatile memory, nonvolatile memory, and/or other persistent and/or auxiliary computer-readable storage media. Thus, the memory112includes tangible and/or physical forms of media included in a device and/or hardware component that is part of a device or external to a device, including but not limited to random-access memory (RAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, compact disc read-only memory (CD-ROM), digital versatile disks (DVDs), optical cards or other optical storage media, magnetic cassettes, magnetic tape, magnetic disk storage, magnetic cards or other magnetic storage devices or media, solid-state memory devices, storage arrays, network attached storage, storage area networks, hosted computer storage or any other storage memory, storage device, and/or storage medium that can be used to store and maintain information for access by a computing device. However, memory112and the described computer-readable storage media encompassed thereby do not include communications media consisting solely of propagated signals, per se.

Device(s)104can further include one or more input/output (I/O) interfaces110to allow a device104to communicate with other devices. Input/output (I/O) interfaces110of a device104can also include one or more network interfaces to enable communications between computing device104and other networked devices such as other device(s)104and/or server(s)106over network(s)102. Input/output (I/O) interfaces110of a device104can allow a device104to communicate with other devices such as user input peripheral devices (e.g., a keyboard, a mouse, a pen, a game controller, a voice input device, a touch input device, gestural input device, and the like) and/or output peripheral devices (e.g., a display, a printer, audio speakers, a haptic output, and the like). Such network interface(s) can include one or more network interface controllers (NICs) or other types of transceiver devices to send and receive communications over a network.

In various embodiments, server(s)106can host a cloud-based service. Embodiments support scenarios where server(s)106can include one or more computing devices that operate in a cluster or other grouped configuration to share resources, balance load, increase performance, provide fail-over support or redundancy, or for other purposes. Server(s)106can include any type of computing device with one or multiple processor(s)120operably connected to an input/output interface122and memory124.

In some embodiments, as shown regarding server(s)106, memory124can store instructions executable by the processor(s)120including an operating system126, a framework for security enhancement128, and other modules, programs, or applications130that are loadable and executable by processor(s)120. Alternatively, or in addition, the functionally described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.

The memory124is another example of computer-readable storage media and may include volatile memory, nonvolatile memory, and/or other persistent and/or auxiliary computer-readable storage media. Server(s)106can further include one or more input/output (I/O) interfaces122to allow a server106to communicate with other devices such as user input peripheral devices (e.g., a keyboard, a mouse, a pen, a game controller, a voice input device, a touch input device, gestural input device, and the like) and/or output peripheral devices (e.g., a display, a printer, audio speakers, a haptic output, and the like). Input/output (I/O) interfaces110of a server106can also include one or more network interfaces to enable communications between computing server106and other networked devices such as other server(s)106or devices104over network(s)102.

In various embodiments, server(s)106can represent a cloud based service, a centralized service particular to an entity such as a banking institution, a healthcare institution, a government agency, a school system, or a company. Server(s)106can include programming to send a user interface to one or more device(s)104. For example, server(s)106can store or access a user profile, which can include information a user has consented the entity collect such as a user account number, name, address, personal identification number (PIN), password, and/or information about one or more client device(s)104that the user can use for sensitive transactions in untrusted environments. In addition, server(s)106can include programming to produce all or part of one or more optical security device(s)132. For example, server(s)106can produce or configure all or part of optical security device(s)132based on user profiles. Although server(s)106can send communication to both device(s)104and optical security device(s)132, in some embodiments, communications are not sent between device(s)104and optical security device(s)132.

Optical security devices132implement two factor authentication. In various embodiments, optical security devices132include optical security devices such as optical security devices132A-132D. In various embodiments, optical security device(s)132can include one or more optical security devices that are relatively inexpensive to produce and that allow users to see information in graphical user interfaces that would otherwise be unrecognizable. An optical security device132is a visible physical component that is reusable and can secure an application against a device104having a compromised software stack. An entity associated with server(s)106can provide an optical security device132to a user by mailing or otherwise physically sending134the optical security device132toward the user. In some embodiments, physically sending134indicates that the entity can provide entity specific programming to an existing optical security device132. Although illustrated as a diverse variety of device types, optical security device(s)132can be other device types and are not limited to the illustrated device types.

For example, optical security device(s)132can include a static type of optical security device132A for use as an optical layer in the form of a thin flexible sheet upon which a random pattern has been physically applied such as via printing. Optical security device132A, also called a privacy foil or simply a foil, operates on the principle of a one-time pad for use with a device104. Such a foil is an inexpensive component to be manufactured for use in conjunction with a user interface that conceals information on a display of device104.

Other examples include dynamic type optical security device(s)132, such as optical security devices132B,132C, and132D, and in some instances another device104can serve as a dynamic type optical security device132using a camera lens and the LCD of device104. Embodiments of the type of optical security device132B, are configured to be laid on a display of device104, while embodiments of the type of optical security device132C, are configured to be used similar to the lens of a magnifying glass, and embodiments of the type of optical security device132D, are configured to be worn as glasses. Each of optical security devices132B,132C, and132D includes a micro-controller136, a power supply138, and a window140, which in some instances includes a transparent liquid crystal display (LCD) to be interposed between an eye of a user and a display of device104. For example, dynamic optical security device132B includes a transparent liquid crystal display (LCD) that includes a polarizer that can function as a programmable mask in conjunction with an LCD display of device104.

The dynamic type optical security device(s)132B,132C, and132D also include a key pad142in some embodiments. The key pad142can allow a user to input a personal identification number (PIN) and/or a seed received from a web site via an untrusted computer into the dynamic type optical security device(s)132B,132C, and132D. Based on this information, the micro-controller can change the window140that is configured to be interposed between an eye of a user and a display of a potentially compromised or untrusted computer to allow the user to securely use the potentially compromised or untrusted computer.

In various embodiments, dynamic type optical security device(s)132, such as optical security devices132B,132C, and132D employ a spatial form of visual cryptography and/or a temporal form of visual cryptography. The micro-controller136of dynamic type optical security device(s)132employing a spatial form of visual cryptography can compute a pseudo-random pattern for display on the window140, which serves as a one-time pad consistent with the discussion above regarding static type optical security device132A.

Meanwhile, the micro-controller136of dynamic type optical security device(s)132employing a temporal form of visual cryptography controls a color sensor included in the dynamic type optical security device(s)132. The color sensor can synchronize the dynamic type optical security device132to a sequence of images presented on a display of an untrusted computer such as device104. The window140of the optical security device(s)132functions as a time-varying color filter that can also block all light. The micro controller136of optical security device(s)132reveals one image out of a larger set of images being simultaneously displayed as part of a graphical user interface on the display of an untrusted computer such as device104such as for a PIN or password, or for each digit of a PIN or password. For example, if a PIN or password includes four characters, the four characters can be presented in one concealed image of a set of images including multiple images that are simultaneously displayed on a display of device104. As another example, if a PIN or password includes four characters, the four characters can be presented in a series of four sets of images, one for each character, can be displayed on a display of device104, each set including multiple images that are simultaneously displayed.

Many such devices104are vulnerable to attacks that rely on accessing parts of the hardware. For example, a device104can display an image, and the underlying software may be secure, but the bits that form the image can be stored in a frame buffer. That frame buffer is part of the memory of device104that can retain the state. Other programs may be allowed to look at the frame buffer part of memory. For example the hardware may be compromised or the frame buffer data may be available simply because that frame buffer data is not protected like the memory states that the program is using. Thus, malicious programs can access the bits in the frame buffer. While such malicious programs are not directly compromising the software stack, they are compromising the security of information provided via the device104.

Other attack vectors for device104can include keystroke loggers, touch screen recorders, and mouse captures. Keystroke loggers can record and send every keystroke entered to an adversary. Meanwhile, touch screen recorders can record and send the coordinates of each touch event. In addition, mouse information can be intercepted, captured, and sent to an adversary. Keystroke, touch, gesture, and mouse information can also reside in hardware that may not be secure or protected, similar to the frame buffer location discussed above. Optical security device(s)132guard against attacks that are not a security hole in the classical sense, but that still represent an exploitable leak of information such as attacks that rely on accessing parts of the hardware of device104. Such attacks can include screen captures, keystroke loggers, touchscreen records, and/or mouse captures.

FIG. 2depicts an example implementation of a security enhancement technique for use with a device104, which can include a touch screen. In various implementations, device104can represent a smart phone, a kiosk, a display in a public or semi-public area, and ATM machine, or any other device that displays information that a user interacts with by providing private information for authentication. Such private information can include a PIN, a password, etc. in accordance with a user profile. In the example illustrated at200, the graphical user interface202of a device104includes information presented in multiple fonts204at randomized locations. As illustrated, the information is revealed via the use of an optical security device132. In the example illustrated at200, optical security device132is shown as a static type optical security device132A although a dynamic type optical security device such as any of optical security devices132B,132C, OR132D can alternately be employed. Another graphical user interface202will be generated for subsequent uses of the device104such that information can be presented in additional or alternate fonts204, which may be at additional or alternate randomized locations. Thus, an adversary performing a screen grab or capturing selection information from touch, gesture, or mouse events, will only gain information applicable to that particular entry, and the information will not be exploitable for a future use.

Security enhancement including two-factor authentication as described herein allows users to conduct secure transactions with an untrusted and potentially compromised device104. Security enhancement relies on an optical security device132to obtain concealed information that otherwise is unavailable, even when a device104is multiply compromised. For example, a touch screen logger can transmit every touch to a malicious site, but by employing the security enhancement techniques described herein, the malicious site cannot harvest useful information. The attacker may obtain a screen grab and the gestures or touch locations, but due to visual obfuscation of the characters and the randomized location of characters, the attacker will not obtain the meaning of the entries. The next time the device104is used for the same authentication, the graphical user interface and the gesture or touch locations will be different, so the attacker cannot aggregate screen grabs and gesture or touch events to obtain information.

Optical security device132works with a specialized graphical user interface presented via a display of device104. The specialized graphical user interface obfuscates information in one or more of a variety of ways to supplement authentication mechanisms such as PINs and/or passwords. In this two factor authentication scheme, one factor includes a PIN or password, and a second factor includes an optical security device132. Specialized graphical user interfaces in this regard can obfuscate or conceal information by employing a variety of fonts, sometimes simultaneously, by randomizing the locations where characters are presented, as compared to using a typical grid or keyboard pattern, by varying colors used to present information, and/or by simultaneously presenting multiple pieces of information or images such that desired information is obscured by additional random information or images. In various embodiments more than one of these techniques can be employed. For example, an interface can show a keyboard of sorts, but with the keys in random places, not where one would expect them to be. As another example, numerals for a numeric keypad can be located in a circle having random order, or in some checker board pattern, or in a completely random design. Moreover, the characters being presented can be in different sizes, colors, etc. Thus, when a user enters his or her PIN, the screen touch locations are not in the same place for successive uses of the device.

While an attacker may obtain the gesture or touch coordinates, because the location of the numbers on the screen is random as generated by a server controlled by an entity like a bank, healthcare institution, government agency, or company, for example, only the entity has knowledge of what the gesture or touch location actually means at that point in time. The attacker does not learn that the user gesturing or touching the screen at this position at this time represents selection of any particular character. The next time the screen is used for access that same character could be located anywhere on the screen. Consequently, the attacker learning the location relative to the gesture or that is touched does not convey the information that the user entered that character.

FIG. 3at300depicts an example implementation of a security enhancement technique employing a static type optical security device according to various embodiments. A device104presents a graphical user interface302with concealed information. The display of device104shows what appear to be random pixels. If an attacker captures the display information, all that the attacker obtains is a screen of seemingly random pixels.

Graphical user interface302can be created to show different fonts, various sizes and orientations of characters, and/or soft key locations in random screen positions, thus avoiding a regular and predictable grid pattern in the graphical user interface302. In some embodiments, graphical user interface302can include symbols that are randomly shown in different colors and that randomly alter between light on gray and dark on grey, and/or are presented in textures rather than solid colors to reduce the amount of information that may be leaked. Graphical user interface302can employ a random pattern for a background color of the image. Since the background is usually more than half of an image, employing a random pattern as the background can reduce perceivable contrast as it produces a grainy, grey background while it protects against information being leaked to the attacker from most of the image. Meanwhile, textures can also reduce the amount of predictability and thus prolong the key lifetime.

To make use of the graphical user interface302, a user places an optical security device132, such as a static type optical security device132A, over at least a part of the graphical user interface302. In conjunction with the graphical user interface302, optical security device132A allows the user to see the information embedded in the seemingly random pattern.

As discussed above, the device104may be compromised, but via use of the optical security device132A, an attacker cannot obtain useful information by intercepting user entries.

Optical security device(s)132A, can be manufactured inexpensively by using a laser or inkjet printer, in some instances having high resolution, to physically print pseudo-random patterns on a substantially translucent material such as biaxially-oriented polyethylene terephthalate (BoPET), which is a polyester film made from stretched polyethylene terephthalate (PET) or plastic. Because the optical security device132A is fabricated from a non-conductive material, it does not interfere with capacitive touch screen mechanisms.

A random pattern is printed onto the optical security device132A. In various embodiments, about half of the pixels of the display of device104in the area over which optical security device132A is laid are covered by printed portions of optical security device132A when the foil is laid over the display. Contemporary LCD screens in smart phones screens have a few million pixels, thus the key is equivalent to a few megabits of information.

In some embodiments the pattern is printed on the optical security device132A at a resolution that substantially matches the resolution of a display screen with which the optical security device132A will be used. An entity can then associate an optical security device(s)132A having a particular pattern with a particular user (and the user's identified screen resolution) in accordance with the user's profile and physically transmit the optical security device(s)132A to the user. By using the optical security device132A with an obscured graphical user interface like graphical user interface302, the user can interact with sensitive information that is otherwise unavailable.

To use optical security device132A, a user aligns the optical security device132A with the screen of the device104displaying the graphical user interface302. Due to the layers involved in screen technology there will be a distance of around about one to three millimeters between the pixels being displayed and the optical security device132A being placed on the screen. Thus, in order for the optical security device132A to reveal the concealed information304, the optical security device132A should be properly aligned. This alignment feature can also restrict the viewing angle, which allows the optical security device132A to serve as a privacy screen against over the shoulder or other observation attacks. While physical positioning of the optical security device132A provides for major alignment, in some embodiments, fine alignment of the pattern of the optical security device132A and pixels of the graphical user interface302can be completed by tilting the optical security device132A and display presenting graphical user interface302as a unit.

Optical security device(s)132A are relatively inexpensive, and operate as a fully secure one-time pad if used only once. However, that would be cumbersome. An optical security device132A is reusable for multiple uses as long as the number of reuses does not provide enough information for an attacker to reconstruct the key. An optical security device132A can be supplied to the user via mail or physical delivery by the entity that offers the security enhancement. For example, a bank can mail one or more optical security devices132A to a bank customer, or the customer could obtain the optical security devices132A from a bank branch. Effectively, the optical security device132A constitutes a private key that is shared by the user and the entity.

The strength of a system employing an optical security device132A diminishes with the number of times that the optical security device132A is reused. If an attacker were to be able to capture every graphical user interface302(cipher image), it could become possible for the attacker to eventually break the system and reconstruct a copy of the optical security device132A. For example, if the transmitted image were to show black digits on a solid white background, the attacker could proceed on the assumption that most of the image is white background, which could eventually lead to a reconstruction of the optical security device132A (known plain-text attack of a one-time pad).

Thus, in various embodiments, to minimize information leakage that may aid in the reconstruction of the optical security device132A, measures can be taken towards prolonging the useful lifetime of the optical security device132A. Such measures can include one or more of, the use of a truly random pattern for the background color of the graphical user interface302images, the use of different optical security device132A orientations, e.g., a rectangular foil could be attached to the screen in four different orientations, randomization of the characters presented in graphical user interface302, using dots printed in the complementary colors to effectively triple the size of the key encoded in the foil, e.g., yellow dots block only the light from blue pixels, magenta dots block only the light from green pixels and cyan dots block only the light from red pixels, and the like.

As discussed above, using different fonts, orientations and/or sizes of characters, colors, textures, etc. in the graphical user interface302can increase the search space for the attacker as it makes the key-pad image less predictable. Combined, these measures can require an attacker to collect a very large number (100's to 1000's) of graphical user interface302images before it becomes possible to reconstruct the optical security device132A. Moreover, such an attack is complicated by the fact that these images are random patterns, which can prevent the attacker employing any form of compression because compression would reduce the entropy and render the images useless for key-breaking. Thus an attacker is burdened with transmitting a large amount of data from the device104without arousing suspicion. For example, the data volume originating from a smartphone is generally low compared to data flowing to the smartphone. Thus, a large amount of data flowing from a smartphone could be detected. In addition, the attacker will have to store all of this data until reconstruction becomes feasible. Thus the security gain from this technique can be significant compared to its low cost.

A benefit of optical security device132A, is that while the user interacts with optical security device132A no information of that interaction is able to be captured. The user's brain is registering the private information304seen through the optical security device132A. However, no clear text is transmitted and the location, font, and/or color of soft keys can be randomized. Thus, multiple layers of randomization are employed including at least the pattern on the optical security device132A and the pattern of the graphical user interface302.

FIG. 3illustrates a static type optical security device132such as132A to reveal private information304that was otherwise obscured in graphical user interface302. In this illustration private information304is represented by the letter “A.” In some embodiments, a dynamic type optical security device such as any of optical security devices132B,132C, OR132D can alternately be employed when configured to work with a spatial form of visual cryptography to reveal private information304that was otherwise obscured in graphical user interface302.

FIG. 4at400depicts an example implementation of a security enhancement technique employing a dynamic type optical security device configured to implement a spatial form of visual cryptography according to various embodiments.

A device104presents a graphical user interface402with concealed information. Similar to the discussion regarding graphical user interface302, the display of device104shows what appears to random pixels in at least one area of the screen. If an attacker captures the display information, all that the attacker obtains is an area of seemingly random pixels.

To make use of the graphical user interface402, a user places an optical security device132, such as a dynamic type optical security device132B, over at least a part of the graphical user interface402. In conjunction with the graphical user interface402, optical security device132B allows the user to see the information404embedded in the seemingly random pattern. As discussed above, the device104may be compromised, but via use of the optical security device132B, an attacker cannot obtain useful information by intercepting user entries.

Optical security device(s)132B, can be manufactured relatively inexpensively, for example on the order of ten-times the cost of manufacturing a credit card containing a radio frequency identification chip (RFID), which is negligible in the context of overall production and distribution costs for such devices. Optical security device(s)132B include a window140, which is a transparent, partial LCD display that has a small LCD panel and a polarizer. In conjunction with an LCD display of a device104, the LCD layer and polarizer of the window140of optical security device132B can function as a programmable mask. This optical security device132B can be placed in front of a display of device104and operate in a similar manner as the optical security device132A described above. However for the optical security device132B a random pattern is created dynamically using the LCD window140and a micro-controller136and power supply138embedded in the optical security device132B.

Screens of devices104, like cell phones, employ a polarizer and LCD matrix technology such that the light that comes out of the screen of a device104is already polarized. An optical security device132including another polarizer and LCD window140to be interposed between the eye of a user and the screen of device104can modulate the light from the screen of device104without having a third polarizer. Because manufacturing costs are contained, a dynamic type optical security device132such as optical security device132B can have an LCD window140without a light source or another component that typically would consume a significant amount of power. In addition, by including a microprocessor, such as micro-controller136, which produces a pseudo-random pattern, which in some implementations is based in part on some input from the user, and in other instances is based on a sequence like a one-time pad, a dynamic type optical security device132can produce innumerable distinct patterns. Thus, while an electronic implementation is more expensive due to the cost of included electronics such as the micro-controller136and the power supply138a dynamic type optical security device132can be more universal because the pattern of the optical security device132can be changed for each use.

For example, two or more entities are unlikely to share information to create graphical user interfaces with each other, but with a dynamic type optical security device132, a single dynamic type optical security device132can run code from multiple entities. Thus the opportunity for extended reuse, and decrease in repeatedly sending static type optical security device(s)132such as optical security device132A can offset the additional manufacturing costs associated with the embedded electronics.

In some implementations each entity would develop its own dynamic type optical security device132for manufacture and use by that entity. However, in some implementations various entities can add their own code to a dynamic type optical security device132.

As illustrated, an optical security device132B can resemble a credit card, and in some implementation can include a key pad142in addition to the micro-controller136, power supply138, and LCD screen140. During operation, a user can enter a PIN or password, and in some instances, a random seed from a remote web site associated with the entity providing the optical security device132B, into the device132via the key pad142. Based in this information, the micro-controller136can compute a pseudo-random pattern using a secure one-way function such as message digest algorithm-5 (MD5), a secure hash algorithm (SHA), etc. Information viewed through the window140will be perceivable to the user as described above regarding optical security device132A.

Some embodiments may support polychromatic operation, while other embodiments support monochrome operation, which can ease the difficulty of aligning two LCD panels to sub-pixel precision. To reduce alignment requirements, the LCD panel of window140may be implemented with a lower resolution, on the order of 100 dots per inch (dpi), versus common smart phone displays, which have a resolution of 300 dpi or more. Manufacturing window140to include an LCD of lower resolution can also reduce manufacturing costs and enable the optical security device132B to be used with multiple devices104having differing screen resolutions. Entities can make the dynamic type optical security devices132that will be useable with a variety of devices104including those with different size screens and different resolution screens. In addition, entities can associate a particular dynamic type optical security device132with a particular user such as via association with a user profile, which can enable the user to use it with multiple devices104.

In some embodiments, additional functionality may be included such as a fingerprint reader in place of the key pad142to eliminate the need for entering a password, near field communication (NFC), which can avoid entry of a seed from a remote server such as server106, and/or a light sensor on the display facing side of the optical security device132B, which can be used to receive a seed in a bit-serial fashion by modulating image intensity near the sensor position, thus avoiding the need for manual transcription of the seed.

Each of dynamic type optical security device(s)132includes an embedded power supply138, but overall power consumption of dynamic type optical security device(s)132is very small because the LCD panel of window140does not require fast updates and does not emit light. Because of this the power supply138can be a small, planar lithium-ion cell, or another type of embedded power supply, which can power a dynamic type optical security device132for an extended period of time. In various implementations the extended period of time can be longer than one year, without the dynamic type optical security device132exceeding the size of a credit card. In some implementations part of the dynamic type optical security device132can be covered by a solar cell to prolong battery life.

In various implementations of optical security device132B, each session uses one or more different patterns so that the strength of the visual cryptography is preserved. Also some embodiments support multiple keys so that a single optical security device132B can be used with multiple, independent entities. For embodiments having LCD window140with a lower resolution than the device(s)104with which it is to be used, a dynamic type optical security device132has less alignment restrictions and can be used in conjunction with multiple devices104, which can be associated with a user in accordance with a user's profile.

In some embodiments the electrodes of the LCD panel140prevent operation of a touch sensor of a touch sensitive display of device104. Such embodiments may employ a level of indirection to preserve security against touch screen and/or keystroke loggers. In such embodiments, graphical user interface402may occupy only a portion of the screen of device104so that the remaining area can be used to input information via touch. The encrypted image in area of graphical user interface402when viewed through a properly configured window140can then show the user a relation between an alphabetic input character and a numeral and/or between the input character and a set of abstract symbols, which may also employ a color component. For example, “to enter the digit 5 of your PIN touch the triangle or touch the red square.” Thus a touch screen recorder would be able to record that the triangle symbol or red square was touched, but the attacker cannot infer which character this event represents because what the user enters is a randomized permutation that changes every time that the optical security device132B is used so that by capturing the key sequence, the attacker obtains no useful information.

FIGS. 5A and 5Billustrate example implementations of a security enhancement technique employing a dynamic type optical security device configured to implement a temporal form of visual cryptography according to various embodiments.

InFIG. 5Aat500, a device104presents a graphical user interface502with concealed information. The display of device104shows what appears to a display of random overlaid colors in at least one area of the screen. If an attacker captures the display information, all that the attacker obtains is an area or image of seemingly random colors.

To make use of the graphical user interface502, a user interposes an optical security device132, such as a dynamic type optical security device132C configured to work with a temporal form of visual cryptography, between the eye of the user and at least a part of the graphical user interface502. In conjunction with the graphical user interface502, optical security device132C allows the user to see the information embedded in the seemingly random pattern as shown at504. As discussed above, the device104may be compromised, but via use of the optical security device132C, an attacker cannot obtain useful information by intercepting the screen or by intercepting user entries.

Optical security device(s)132C can be manufactured relatively inexpensively. Optical security device(s)132C include a window140, which is a transparent, partial LCD display that has a small LCD panel and a polarizer. In conjunction with an LCD display of a device104, the LCD layer and polarizer of the window140of optical security device132C can function as a programmable color filter.

The display of the device104can show a sequence of images at a maximum frame rate, for example 60 frames per second. The window140through which the user can view the terminal screen includes an electronically controlled LCD shutter and/or color filter that can be programmed to block all light or to let only red, green, or blue light through.

This optical security device132C can be placed in front of a display of device104and operate in a similar manner as the optical security device132B described above. However, the optical security device132C does not alter the spatial information of the images. Instead, the optical security device132C either blocks an image entirely or it allows only the red, green or blue components (sub-images) to pass. Thus it would appear to the user as if she were looking at the screen of the terminal through colored sunglasses. In various implementations there is no image forming optics involved, rather the optical security device132C functions as a time-varying color filter that can also block all light.

By accepting some light loss and flicker, the optical security device132C simply reveals one image out of a larger set of images that are displayed simultaneously on the screen of the device104. For example, by using a sequence of 4 consecutive frames, the user sees one image out of a set of 12 (4 frames times 3 colors). Because of the limitation that the filter is applied globally to the entire image, the key space for one frame can be rather small. In the example above, an adversary would only have to figure out which image out of the set of 12 candidates is the right one as shown at504.

InFIG. 5Bat520, as discussed above, a device104presents a graphical user interface502with concealed information. Similar to the display of device104inFIG. 5A, the display of device104shows what appears to a display of random overlaid colors in at least one area of the screen. If an attacker captures the display information, all that the attacker obtains is an area of seemingly random colors.

To make use of the graphical user interface502, a user interposes an optical security device132, such as a dynamic type optical security device132C configured to work with a temporal form of visual cryptography, between the eye of the user and at least a part of the graphical user interface502. In conjunction with the graphical user interface502, optical security device132C ultimately allows the user to see the information embedded in the seemingly random pattern as shown at504. As discussed above, the device104may be compromised, but via use of the optical security device132C, an attacker cannot obtain useful information by intercepting the screen or by intercepting user entries.

A graphical user interface502is visible, but obscured, when viewed without the use of an optical security device132C. By employing an optical security device132C at times 1, 2, and 3, a series of graphical user interfaces are revealed until, at time 4, the private information has been revealed as shown at504. Secure entry of a password or PIN can be achieved with a number of frames greater than or equal to the number of characters in the password or PIN and a number of images per frame being greater than or equal to the number of characters in the password or PIN. For example, each image can include graphical shapes such as squares, rectangles, circles, etc. and/or up to 94 separate characters representing the 94 printable American Standard Code for Information Interchange (ASCII) characters, characters in languages other than English, or any subset thereof.

For example, the secure entry of a short password is considered at520. At time 0 the graphical user interface502provides a first set of 9 images (3 frames of 3 characters each). These frames are chosen so that on each screen position, each character appears in exactly one of the 9 images that are shown simultaneously. The user, observing the screen through the decoder device sees just one scrambled but complete set of keys.

At time 1 the optical security device132C is synchronized to filter all but one color from graphical user interface502thereby providing a first key of the user's password506. The user proceeds to press the first key of her password, which is transmitted to the remote server as one key-position. The attacker may acquire a copy of the image set and the key stroke location, but without knowing which sub-image is valid, it is not possible to infer anything about which digit is the first symbol of the password. After all, many possible characters can appear in the touch location in one frame of the set. After the first digit was entered, the process is repeated with a different set of images.

At time 2 the optical security device132C is synchronized to filter all but a second random color from graphical user interface502thereby providing a second key of the user's password508.

At time 3 the optical security device132C is synchronized to filter all but a third random color from graphical user interface502thereby providing a third key of the user's password510. Thus, by time 4, the password has been revealed. AlthoughFIG. 5Billustrates the password being visible as shown at504for explanatory purposes, in some embodiments the entire password is not revealed simultaneously.

These images may be supplied by the server106sequentially on demand, or speculatively up-front prior to the password entry dialog to improve responsiveness. By changing the image set after each key-stroke, the attacker cannot rule out any password character from the intercepted information and gains no information. If only one image set were used, the attacker would know that the password is in a small set of 9 possible candidates and observation of multiple password entry dialogs would quickly narrow the set to the actual password. Thus, as of time 4 the optical security device132C has been revealed each key of the user's password as shown at504.

It turns out that a strong crypto-system can be constructed out of this facility. As another example, the secure entry of a pin-number is considered. The first set of 12 images (using the 4 frame example from above) can consist of 12 random permutations of the phone-key set (the digits 0 through 9 and the symbols # and *). These permutations can be chosen so that on each screen position, all symbols appear in exactly one of the 12 images that are shown simultaneously. The user, observing the screen through the decoder device sees just one scrambled but complete set of keys. She proceeds to press the first key of her PIN-number, which is transmitted to the remote server as one key-position. The attacker may acquire a copy of the image set and the key stroke location, but without knowing which sub-image is valid, it is not possible to infer anything about which digit is the first symbol of the PIN. After all, every possible digit appears in the touch location in one frame of the set. After the first digit was entered, the process is repeated with a different set of images. These images may be supplied by the server106sequentially on demand, or speculatively up-front prior to the PIN entry dialog to improve responsiveness. By changing the image set after each key-stroke, the attacker cannot rule out any PIN number from the intercepted information and gains no information. If only one image set were used, the attacker would know that the PIN is in a small set of 12 possible candidates and observation of multiple PIN entry dialogs would quickly narrow the set to the actual PIN number.

In various embodiments implementing the processes described regarding520, the optical security device132C can synchronize its operation to the image sequence shown on a screen of device104. This can be accomplished with a color sensor on the screen-facing side of the optical security device132C. Commercial, off-the-shelf color sensors have 3 photo diodes, each covered with a filter that only lets red, green and blue light reach the detectors. Such commercial color sensors do not need any imaging optics; rather it is sufficient that light from the screen of the terminal device is sensed by the detector triad. The detector essentially reports the total average red, green and blue light emitted by the screen. By changing the overall color balance of the images used in the authentication session, the terminal device has a low-bandwidth communication channel to the optical security device132C. In some embodiments the low-bandwidth communication channel can be used to transmit the random seed from the remote server and to synchronize the optical security device132C to the image sequence shown on the screen of the device104.

As was the case regarding optical security device132B, optical security device132C can use a password to restrict use to its rightful owner, or it may include a biometric sensor (for example finger print reader) for this purpose. Optical security device132C also may include access information in tamper-proof, secure storage for multiple, different entities. In either case, optical security devices132B and132C can enable use of untrusted computers for access to sensitive information in accordance with respective user's profiles.

FIG. 6illustrates select components of an example server106configured to provide a facility related to security enhancement according to various embodiments as described herein. Example server106includes an input/output interface122that can include a network interface602, one or more processors120, which can include microprocessors, and a memory124. Network interface602enables server106to send and/or receive data over a network102. Network interface602may also represent any combination of other communication interfaces to enable server106to send and/or receive various types of communication, including, but not limited to, web-based data and cellular telephone network-based data. Such network interface(s) can include one or more network interface controllers (NICs) or other types of transceiver devices to send and receive communications over a network. For example, server106can use network interface602to communicate an obscured graphical user interface to a device104.

Memory124includes tangible and/or physical forms of media included in a device and/or hardware component that is part of a device or external to a device, including but not limited to random-access memory (RAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, compact disc read-only memory (CD-ROM), digital versatile disks (DVDs), optical cards or other optical storage media, magnetic cassettes, magnetic tape, magnetic disk storage, magnetic cards or other magnetic storage devices or media, solid-state memory devices, storage arrays, network attached storage, storage area networks, hosted computer storage or any other storage memory, storage device, and/or storage medium that can be used to store and maintain information for access by a computing device. However, memory124, and the described computer-readable storage media encompassed thereby, does not include communications media consisting solely of propagated signals, per se.

An operating system (OS)126, a security enhancement application128, and any number of other applications130are stored in memory124as computer-readable instructions, and are executed, at least in part, on processor120.

Security enhancement application128includes one or more of a seed generator604to generate random numbers, a key generator606, an image generator608, printer information610for printing a static type optical security device, e.g.,132A, and dynamic optical security device information612, which in some instances include programmable mask instructions614and/or temporal instructions616to configure a window140of dynamic type optical security device(s) such as optical security device132B,132C, and/or132D.

In various embodiments, image generator608can produce obscured graphical user interfaces such as graphical user interface302,402, and/or502including an obfuscation pattern as discussed above to be sent to device(s)104for presentation. As another example, in conjunction with the seed generator604, the image generator608can produce a truly random pattern for the background color of the graphical user interface images to further obfuscate the private information. Meanwhile, printer information610can provide instructions for printing a cooperative optical security device132A, for use with a particular obscured graphical user interface generated by image generator608. For example, in conjunction with the key generator606, printer information610can include instructions for programming a laser or inkjet printer to physically print a cooperative pattern at an appropriate resolution on substantially translucent material as discussed above. Moreover, printer information610can provide instructions for printing to accommodate printing in complementary colors and/or locations to prolong the expected useful life of a static optical security device132such as optical security device132A. Dynamic optical security device information612can provide instructions for programming the optical security devices such as optical security devices132B,132C, and/or132D. Such dynamic optical security device information can, in various embodiments, include one or both of programmable mask instructions614and/or temporal instructions616. Dynamic optical security device information612can include programming to create a cooperative pattern for an LCD window140of optical security devices132B,132C, and/or132D. In conjunction with one or more of the seed generator604and/or the key generator606, dynamic optical security device information612can include programming to create an apparently random cooperative pattern. In various implementations the cooperative pattern is designed to employ spatial cryptography using programmable mask instructions614, while in some implementations the cooperative pattern is designed to employ temporal cryptography or to function as a programmable color filter using temporal instructions616.

In addition, memory124includes a secure store of customer information618, and/or a secure store of optical security device information620. The secure store of customer information618, such as a user profile, and can include customer information of or controlled by an entity with whom the server106is associated. For example, such entities can include banks, healthcare institutions, government agencies, companies, etc., and the information can include information about the type of device(s)104with which a customer wants to use an optical security device132such as screen size and resolution. The secure store of optical security device information620can include various aspects optical security device information such as an average intensity and/or color spectrum of a particular graphical user interface, and/or associations of a particular optical security device132with a particular customer and/or device104. In various embodiments the secure store of customer information618, and/or the secure store of optical security device information620are stored separate from security enhancement application128, and in other instances one or both of these can be stored in a configuration controlled by security enhancement application128.

Illustrative Processes

FIGS. 7, 8, and 9are flow diagrams depicting example processes for security enhancement. The operations of the example process is illustrated in individual blocks and summarized with reference to those blocks. The process is illustrated as logical flows of blocks, each block of which can represent one or more operations that can be implemented in hardware, software, or a combination thereof. In the context of software, the operations represent computer-executable instructions stored on one or more computer-readable storage media that, when executed by one or more processors, enable the one or more processors to perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, modules, components, data structures, and the like that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described operations can be executed in any order, combined in any order, subdivided into multiple sub-operations, and/or executed in parallel to implement the described process.

In the example shown inFIG. 7, process700includes operations performed by server(s)106to generate an obscuring graphical user interface such as graphical user interface302,402, and/or502. In some embodiments an image generator such as image generator608generates all or part of the obscuring graphical user interface.

At702, the server obtains personal information as input such as a user profile, for instance from customer information store618. For example, if the system is operating for a banking entity, a healthcare entity, a business entity, or a government entity, the input can represent a customer or employee PIN or password. At704, the server randomizes presentation of the personal information. For example, the server can randomize fonts, sizes, and orientations of characters for presentation in the graphical user interface. As another example, the server can map characters of the PIN or password to different characters, shapes, textures and/or colors using a seed generator such as seed generator604.

At706, the server generates at least one background upon which the characters of the PIN or password will be presented. For example, the server can generate a random pattern for a background color of the image to reduce perceivable contrast using the seed generator and an image generator such as image generator608.

At708, the server computes an obfuscation pattern to cover at least part of the PIN or password using the seed generator and a key generator such as key generator606.

At710, the server provides the background(s) and PIN or password characters in one or more images as a graphical user interface for display by a potentially untrusted device such as device104via an interface such as network interface602.

In the example shown inFIG. 8, process800includes operations performed by server(s)106to develop an optical security device132such as optical security device132A,132B,132C and/or132D.

At802, the server obtains information about a graphical user interface and embedded obfuscation pattern with which the optical security device132is to be used. In some instances the graphical user interface information will include information about the type of device with which the optical security device132will be used such as screen size and resolution as recorded in a user profile, for example from customer information store618. In some instances the information about the graphical user interface includes an average intensity and/or color spectrum of the graphical user interface from optical security device information store620.

At804, the server determines a pattern to work cooperatively with the obfuscation pattern of the graphical user interface to reveal at least part of the PIN or password characters in the graphical user interface using the key generator606and the image generator608.

At806, the server generates instructions for at least one computer to either print a static type optical security device such as optical security device132A using printer information610and/or to program a dynamic type optical security device such as optical security device132B,132C, and/or132D using dynamic optical security device information612. In various embodiments, the server employs one or more of a randomizer such as seed generator604and/or a key generator606, an image generator such as image generator608, printer information, such as printer information610, and/or dynamic optical security device information such as dynamic optical security device information612, which in some instances includes instructions for a programmable mask614and/or a temporal color filter616.

At808, the server stores the optical security device information in a data store such as optical security device store620.

At810, in various embodiments, the server can use the optical security device information to manufacture optical security devices, the server can provide the optical security device information to another entity to manufacture optical security devices, and/or, the server can send the optical security device information to one or more particular optical security devices to program the particular optical security device for cooperative use with one or more graphical user interfaces.

In the example shown inFIG. 9, process900includes actions taken to employ an optical security device132such as optical security device132A,132B,132C and/or132D.

At902, a user receives an appropriately configured optical security device such as optical security device132A,132B,132C or132D configured in accordance with a user profile. In various embodiments, the user receives the optical security device from an entity configured in accordance with the user's profile for the entity via a physical mail service or via personal delivery. In some embodiments personal delivery includes delivery of programming in accordance with the user's profile for the entity to an optical security device that may be configured to contain programming from other entities.

At904, the user views a graphical user interface that obscures private information via a potentially untrusted device such as device104.

At906, the user interposes an optical security device132such as optical security device132A,132B,132C and/or132D between the eye of the user and a display of the device presenting the graphical user interface. In some instances the optical security device132can be a static type optical security device such as optical security device132A, that the user lays upon the display of the device. In other instances, the optical security device132can be a dynamic type optical security device such as optical security device132B,132C and/or132D, which the user arranges between their eye and the display of the device. Depending upon the particular dynamic type optical security device being employed, the user may hold or lay the dynamic type optical security device on the display of the device in order to look through a window of the optical security device. Alternately, in some embodiments, the user may look through a window of the optical security device similar to using a magnifying glass. As another option, in some embodiments, the user may look through a window of the of the optical security device configured as a monocle or eye glasses.

At908, the user views the graphical user interface as modified through the appropriately configured optical security device in order to have at least part of the obscured private information revealed to the user.

At910, the user employs the revealed private information to access sensitive information such as banking, healthcare, employment, privileged, or other sensitive information.

CONCLUSION

Although the techniques have been described in language specific to structural features and/or methodological acts, it is to be understood that the appended claims are not necessarily limited to the features or acts described. Rather, the features and acts are described as example implementations of such techniques.

All of the methods and processes described above may be embodied in, and fully automated via, software code modules executed by one or more general purpose computers or processors. The code modules may be stored in any type of computer-readable storage medium or other computer storage device. Some or all of the methods may alternatively be embodied in specialized computer hardware.

Conjunctive language such as the phrase “at least one of X, Y or Z,” unless specifically stated otherwise, is to be understood to present that an item, term, etc. may be either X, Y, or Z, or a combination thereof.