IP Library Granted Patent US 9,483,653
Granted Patent B2
US 9,483,653 · App. 14/527,629 · Granted Nov 1, 2016

Secure display element

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,483,653
App. No.
14/527,629
Granted
Nov 1, 2016
Kind
B2
Abstract

Techniques for securely displaying sensitive information against attempts to capture such information via screenshots are introduced. Similar to the pieces of a puzzle, a plurality of images that collectively represent a keypad (for example) are generated and each image represents a different part of the characters. The generated images are to be displayed to a human user in a sequential fashion at at least a predetermined minimum frame rate, such that the plurality of images sequentially displayed are perceivable by the human user collectively as the keypad. In each of the plurality of images, at least a part of the characters of the keypad is disguised or concealed, and in some embodiments, to the extent that not a single character of the keypad is recognizable by a human or a machine. Not all of the plurality of images are displayed at any instant in time.

Claims (81)

1. A method for securely displaying sensitive information on a mobile computing device, the method comprising:

receiving, at the mobile computing device, an instruction to display a keypad in a predetermined display area of a display device of the mobile computing device to enable a human user of the mobile computing device to enter a personal identifier number (PIN) by use of the keypad, wherein the keypad includes a plurality of characters to enable a user to enter the PIN into the computing device via the keypad;

generating, by a processor of the mobile device, data operable to facilitate a plurality of images to be rendered, each image representing a different part of the plurality of characters, wherein the plurality of images collectively represent the keypad; and

causing the keypad to be displayed to the human user of the mobile computing device by rendering, using a graphics accelerator in the mobile computing device, the plurality of images in the predetermined display area sequentially at least at a predetermined minimum frame rate, such that not all of the plurality of images are displayed at any instant in time but where the predetermined minimum frame rate is such that the plurality of images sequentially displayed are perceivable by the human user collectively as the keypad,

wherein said generating comprises:

loading a shading function into a vertex shader of a graphics accelerator of the computing device such that, at any instant in time, at least a segment of the item of information is disguised or concealed; and

converting, by a rasterizer of the graphics accelerator of the computing device, outputs sourced from the vertex shader into pixel information that represents the plurality of images,

wherein the shading function disguises or conceals different segments of the items of information at different times.

2. The method of claim 1 , wherein said generating comprises:

processing the keypad according to an image processing function to form the plurality of images such that each of the plurality of images has at least a part of the plurality of characters disguised or concealed to an extent that no single character of the keypad is recognizable from any single one of the plurality of images.

3. The method of claim 2 , wherein the image processing function automatically varies over time and based on a computing performance of the computing device.

4. The method of claim 1 , wherein said generating comprises:

loading a shading function into a vertex shader of a graphics accelerator of the mobile device such that, at any instant in time, at least one part of the characters of the keypad is disguised or concealed; and

converting, by a rasterizer of the graphics accelerator of the mobile device, outputs sourced from the vertex shader into pixel information that represents the plurality of images, and

wherein said causing comprises:

storing the pixel information into a frame buffer of the graphics accelerator of the mobile device.

5. A method for securely displaying information on a computing device, the method comprising:

detecting, in the computing device, an instruction to display an item of information to be secured;

generating, by the computing device, a plurality of images, each of which represents a different segment of the item of information, wherein the plurality of images collectively represent the item of information being statically displayed; and

displaying, on a display of the computing device, the plurality of images sequentially at least at a predetermined minimum frame rate,

wherein said generating comprises:

loading a shading function into a vertex shader of a graphics accelerator of the computing device such that, at any instant in time, at least a segment of the item of information is disguised or concealed; and

converting, by a rasterizer of the graphics accelerator of the computing device, outputs sourced from the vertex shader into pixel information that represents the plurality of images,

wherein the shading function disguises or conceals different segments of the item of information at different times.

6. The method of claim 5 , wherein the plurality of images are displayed such that not all of the plurality of images are displayed at any instant in time but where the predetermined minimum frame rate is such that the plurality of images sequentially displayed are perceivable by a human user collectively as a single, static image showing the item of information.

7. The method of claim 5 , wherein the plurality of images are displayed in a randomized sequence.

8. The method of claim 5 , wherein the shading function disguises or conceals different segments of the item of information by varying a location, a shape, an opacity, an optical refractivity, a brightness, a texture, or a depth of a mask.

9. The method of claim 5 , wherein the shading function disguises or conceals different segments of the item of information by varying hue or contrast of the different segments of the sensitive information.

10. The method of claim 5 , wherein the shading function disguises or conceals different segments of the item of information by altering content of the item of information such that, at any instant of time, at least one different part of the content of the item of information is altered on any individual image but where the predetermined minimum frame rate is such that the plurality of images sequentially displayed are perceivable by a human user collectively as the item of information without alteration.

11. The method of claim 5 , further comprising:

determining the predetermined minimum frame rate based on a computing performance of the computing device; and

dynamically adjusting a total number of the segments based on an updated computing performance of the computing device.

12. The method of claim 11 , wherein said dynamically adjusting comprises:

detecting whether an effective minimum frame rate is reducing; and

if the detected effective minimum frame rate is reducing, reducing the total number of the segments, but only to an extent that the total number of segments remains above a minimum threshold defined by a minimum security level.

13. The method of claim 5 , wherein the instruction is received from a server remote from the computing device or from another software application via an application programming interface (API).

14. A computing device comprising:

a display;

communications circuitry configured to receive an instruction to display an item of information on the display;

a processor configured to generate a plurality of images, each of which represents a different segment of the item of information, wherein the plurality of images collectively represent the item of information being statically displayed; and

a rendering pipeline coupled to the processor and configured to display, on the display, the plurality of images sequentially at least at a predetermined minimum frame rate,

wherein said generating comprises:

loading a shading function into a vertex shader of a graphics accelerator of the computing device such that, at any instant in time, at least a segment of the item of information is disguised or concealed; and

converting, by a rasterizer of the graphics accelerator of the computing device, outputs sourced from the vertex shader into pixel information that represents the plurality of images,

wherein the shading function disguises or conceals different segments of the item of information at different times.

15. The device of claim 14 , wherein the plurality of images are displayed such that not all of the plurality of images are displayed at any instant in time but where the predetermined minimum frame rate is such that the plurality of images sequentially displayed are perceivable by a human user collectively as the a single, static image showing the item of information.

16. The device of claim 14 , wherein the rendering pipeline comprises:

a vertex shader configured to disguise or conceal at least a segment of the item of information at any instant in time; and

a rasterizer configured to convert outputs sourced from the vertex shader into pixel information that represents the plurality of images.

17. The device of claim 16 , wherein the item of information is disguised or concealed to an extent that no single character on the item of information is recognizable from any single one of the plurality of images.

18. The device of claim 14 , wherein the processor is further configured to:

determine the predetermined minimum frame rate based on a computing performance of the computing device; and

dynamically adjust a total number of the segments based on an updated computing performance of the computing device.

19. A non-transitory computer readable medium storing instructions for securely displaying information on a computing device, the instructions, when executed by a processor of the computing device, cause the computing device to perform a method comprising:

detecting, in the computing device, an instruction to display an item of information to be secured;

generating, by the computing device, a plurality of images, each of which represents a different segment of the item of information, wherein the plurality of images collectively represent the item of information being statically displayed; and

displaying, on a display of the computing device, the plurality of images sequentially at least at a predetermined minimum frame rate,

wherein said generating comprises:

loading a shading function into a vertex shader of a graphics accelerator of the computing device such that, at any instant in time, at least a segment of the item of information is disguised or concealed; and

converting, by a rasterizer of the graphics accelerator of the computing device, outputs sourced from the vertex shader into pixel information that represents the plurality of images,

wherein the shading function disguises or conceals different segments of the item of information at different times.

20. The medium of claim 19 , wherein the plurality of images are displayed such that not all of the plurality of images are displayed at any instant in time but where the predetermined minimum frame rate is such that the plurality of images sequentially displayed are perceivable by a human user collectively as a single, static image showing the item of information.

21. The medium of claim 19 , wherein the plurality of images are displayed in a randomized sequence.

22. The medium of claim 19 , wherein the shading function disguises or conceals different segments of the item of information by varying a location, a shape, an opacity, an optical refractivity, a brightness, a texture, or a depth of a mask.

23. The medium of claim 19 , wherein the shading function disguises or conceals different segments of the item of information by varying hue or contrast of the different segments of the sensitive information.

24. The medium of claim 19 , wherein the shading function disguises or conceals different segments of the item of information by altering content of the item of information such that, at any instant of time, at least one different part of the content of the item of information is altered on any individual image but where the predetermined minimum frame rate is such that the plurality of images sequentially displayed are perceivable by a human user collectively as the item of information without alteration.

25. The medium of claim 19 , the method further comprising:

determining the predetermined minimum frame rate based on a computing performance of the computing device; and

dynamically adjusting a total number of the segments based on an updated computing performance of the computing device.

26. The medium of claim 25 , wherein said dynamically adjusting comprises:

detecting whether an effective minimum frame rate is reducing; and

if the detected effective minimum frame rate is reducing, reducing the total number of the segments, but only to an extent that the total number of segments remains above a minimum threshold defined by a minimum security level.

27. The medium of claim 19 , wherein the instruction is received from a server remote from the computing device or from another software application via an application programming interface (API).

28. A computing system comprising:

communications circuitry configured to receive an instruction to display an item of information;

a processor configured to generate a plurality of images, each of which represents a different segment of the item of information, wherein the plurality of images collectively represent the item of information being statically displayed; and

a rendering pipeline coupled to the processor and configured to display the plurality of images sequentially at least at a predetermined minimum frame rate,

wherein said generating comprises:

loading a shading function into a vertex shader of a graphics accelerator such that, at any instant in time, at least a segment of the item of information is disguised or concealed; and

converting, by a rasterizer of the graphics accelerator, outputs sourced from the vertex shader into pixel information that represents the plurality of images,

wherein the shading function disguises or conceals different segments of the item of information at different times.

Assignments (2)
CHANGE OF NAME Recorded Jan 24, 2022
From: SQUARE, INC.
To: BLOCK, INC.
Reel/Frame 058823/0357 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2015
From: DAI ZOVI, DINO
To: SQUARE, INC.
Reel/Frame 035648/0736 →