US8751809B2 - Method and device for securely sharing images across untrusted channels - Google Patents
Method and device for securely sharing images across untrusted channels Download PDFInfo
- Publication number
- US8751809B2 US8751809B2 US13/513,047 US201113513047A US8751809B2 US 8751809 B2 US8751809 B2 US 8751809B2 US 201113513047 A US201113513047 A US 201113513047A US 8751809 B2 US8751809 B2 US 8751809B2
- Authority
- US
- United States
- Prior art keywords
- image
- computing device
- encrypted
- current user
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3231—Biological data, e.g. fingerprint, voice or retina
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2109—Game systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/045—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
Definitions
- Facial recognition is a procedure in which a person can be identified or verified using a digital image of the person and data from a facial database. Facial recognition systems are often used in physical security systems. Some facial recognition systems require an amount of training to allow the facial recognition system to compare selected facial features of the digital image to the data located in the facial database to thereby identify or verify the person.
- FIG. 1 is a simplified block diagram of at least one embodiment of a system for securely sharing images
- FIG. 2 is a simplified block diagram of at least one embodiment of a software environment of a source computing device of the system of FIG. 1 ;
- FIG. 3 is a simplified block diagram of at least one embodiment of a software environment of a client computing device of the system of FIG. 1 ;
- FIG. 4 is a simplified flow diagram of at least one embodiment of a method for securely sharing a confidential image
- FIG. 5 is a simplified flow diagram of at least one embodiment of a method for securely displaying a confidential image to an authorized user
- FIG. 6 is a simplified flow diagram of at least one embodiment of a method for authenticating a current user of the client computing device of FIG. 1 ;
- references in the specification to “one embodiment”, “an embodiment”, “an example embodiment”, etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
- Embodiments of the invention may be implemented in hardware, firmware, software, or any combination thereof.
- Embodiments of the invention implemented in a computer system may include one or more bus-based interconnects between components and/or one or more point-to-point interconnects between components.
- Embodiments of the invention may also be implemented as instructions stored on one or more non-transitory, machine-readable media, which may be read and executed by one or more processors.
- a non-transitory, machine-readable medium may include any non-transitory mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device).
- a non-transitory, machine-readable medium may include any one or combination of read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; and others.
- a system 100 for securely sharing images across untrusted channels includes a source computing device 102 , an image sharing server 108 , and a client computing device 110 .
- the source computing device 102 may securely share a confidential image with one or more designated users of the client computing device 110 via a network 106 and the remote image sharing server 108 , both of which may be unsecured in some embodiments.
- the confidential image is encrypted by the source computing device 102 prior to uploading to the image sharing server 108 .
- the client computing device 110 may download the encrypted image from the image sharing server 108 via the network 106 .
- the client computing device 110 authenticates a current user of the computing device 110 and verifies whether the authenticated user is authorized to view the image prior to decrypting and displaying the image on the client computing device 110 . If the current user is not authenticated or otherwise is not authorized to view the image, the client computing device 110 does not display the decrypted image and may instead display the encrypted image, display a message such as an error message or other message informing that the user is not authorized to view the decrypted image, display nothing, or may take some other action in place of displaying the encrypted image.
- the computing device 110 determines that the current user is no longer authenticated (e.g., the current user leaves the computing device 110 or another user attempts to use the computing device 110 in place of the current user), the computing device 110 is configured to display the encrypted image in place of the decrypted image to thereby ensure that the decrypted image is viewed only by the authorized user and only when the authorized user is physically present at the computing device 110 .
- the confidential image shared by the source computing device 102 may be embodied as any type of image or picture.
- the image may be embodied as a digital picture, a scanned image of document, picture, video or portion thereof, video clip, moving video, or other media, or other image.
- the system 100 may include any number of source computing devices 102 , networks 106 , image sharing servers 108 , and client computing devices 110 in other embodiments.
- the user of the source computing device 102 may desire to share the confidential image with several different users of different client computing devices 110 .
- the source computing device 102 may be embodied as any type of computing device capable of performing the functions described herein.
- the source computing device 102 may be embodied as a desktop computer, a laptop computer, a mobile internet device, a handheld computer, a smart phone, a personal digital assistant, a telephony device, or other computing device.
- the source computing device 102 includes a processor 120 , an I/O subsystem 126 , a memory 128 , communication circuitry 130 , a data storage device 132 , and one or more peripheral devices 134 .
- the source computing device 102 may include other components, sub-components, and devices commonly found in a computer and/or computing device, which are not illustrated in FIG. 1 for clarity of the description.
- the processor 120 of the source computing device 102 may be embodied as any type of processor capable of executing software/firmware, such as a microprocessor, digital signal processor, microcontroller, or the like.
- the processor 120 is illustratively embodied as a single core processor having a processor core 122 . However, in other embodiments, the processor 120 may be embodied as a multi-core processor having multiple processor cores 122 . Additionally, the source computing device 102 may include additional processors 120 having one or more processor cores 122 .
- the I/O subsystem 126 of the source computing device 102 may be embodied as circuitry and/or components to facilitate input/output operations with the processor 120 and/or other components of the source computing device 102 .
- the I/O subsystem 126 may be embodied as a memory controller hub (MCH or “northbridge”), an input/output controller hub (ICH or “southbridge”), and a firmware device.
- the firmware device of the I/O subsystem 126 may be embodied as a memory device for storing Basic Input/Output System (BIOS) data and/or instructions and/or other information (e.g., a BIOS driver used during booting of the source computing device 102 ).
- BIOS Basic Input/Output System
- the I/O subsystem 126 may be embodied as a platform controller hub (PCH).
- the memory controller hub (MCH) may be incorporated in or otherwise associated with the processor 120 , and the processor 120 may communicate directly with the memory 128 (as shown by the hashed line in FIG. 1 ).
- the I/O subsystem 126 may form a portion of a system-on-a-chip (SoC) and be incorporated, along with the processor 120 and other components of the source computing device 102 , on a single integrated circuit chip.
- SoC system-on-a-chip
- the processor 120 is communicatively coupled to the I/O subsystem 126 via a number of signal paths.
- These signal paths may be embodied as any type of signal paths capable of facilitating communication between the components of the source computing device 102 .
- the signal paths may be embodied as any number of wires, cables, light guides, printed circuit board traces, via, bus, intervening devices, and/or the like.
- the memory 128 of the source computing device 102 may be embodied as or otherwise include one or more memory devices or data storage locations including, for example, dynamic random access memory devices (DRAM), synchronous dynamic random access memory devices (SDRAM), double-data rate synchronous dynamic random access memory device (DDR SDRAM), mask read-only memory (ROM) devices, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) devices, flash memory devices, and/or other volatile and/or non-volatile memory devices.
- DRAM dynamic random access memory devices
- SDRAM synchronous dynamic random access memory devices
- DDR SDRAM double-data rate synchronous dynamic random access memory device
- ROM mask read-only memory
- EPROM erasable programmable ROM
- EEPROM electrically erasable programmable ROM
- flash memory devices and/or other volatile and/or non-volatile memory devices.
- the memory 128 is communicatively coupled to the I/O subsystem 126 via a number of signal
- Various data and software may be stored in the memory device 128 .
- one or more operating systems, applications, programs, libraries, and drivers that make up the software stack executed by the processor 120 may reside in memory 128 during execution.
- software and data stored in memory 128 may be swapped between the memory 128 and the data storage 132 as part of memory management operations.
- the communication circuitry 130 of the source computing device 102 may be embodied as any number of devices and circuitry for enabling communications between the source computing device 102 and remote computing devices (e.g., the image sharing server 108 or directly with the client computing device 110 ) over the network 106 .
- the network 106 may be embodied as any number of various wired and/or wireless communication networks.
- the network 106 may be embodied as or otherwise include a local area network (LAN), a wide area network (WAN), or a publicly-accessible, global network such as the Internet.
- the network 106 may include any number of additional devices to facilitate communication between the source computing device 102 , the image sharing server 108 , and the client computing device 110 .
- the source computing device 102 , the image sharing server 108 , and the client computing device 110 may use any suitable communication protocol to communicate with each other over the network 106 depending on, for example, the particular type of network(s) 106 .
- the data storage device(s) 132 may be embodied as any type of device or devices configured for the short-term or long-term storage of data such as, for example, memory devices and circuits, memory cards, hard disk drives, solid-state drives, or other data storage devices.
- the confidential, unencrypted image(s) 150 to be shared with the authorized user of the client computing device 110 may be stored in the data storage device 132 .
- one or more encryption keys 152 may be stored in a secure location of the data storage device 132 for use in encrypting the image 150 .
- the peripheral devices 134 of the source computing device 102 may include any number of peripheral or interface devices.
- the peripheral devices 134 may include a display, a keyboard, a mouse, external speakers, and/or other peripheral devices.
- the particular devices included in the peripheral devices 134 may depend upon, for example, the intended use of the source computing device 102 .
- the peripheral devices 134 are communicatively coupled to the I/O subsystem 126 via a number of signal paths thereby allowing the I/O subsystem 126 and/or processor 120 to receive inputs from and send outputs to the peripheral devices 134 .
- the image sharing server 108 may be embodied as any number and type of servers or computing devices capable of communicating with the source computing device 102 and the client computing device 110 and performing the functions described herein.
- the image sharing server 108 may be embodied as a server for a social networking website, image sharing website, or other website accessible by the computing devices 102 , 110 to share images and other information.
- the illustrative image sharing server 108 includes a web service engine 140 to provide a web portal to the computing devices 102 , 110 for various web services such as image uploading/downloading services, webpage access, and the like. Additionally, after the source computing device 102 has uploaded the encrypted image 154 , the encrypted image 154 may be stored in a data storage 142 of the image sharing server 108 .
- the client computing device 110 may be similar to the source computing device 102 .
- the client computing device 110 may be embodied as any type of computing device capable of performing the functions described herein.
- the computing device 110 may be embodied as a desktop computer, a laptop computer, a mobile internet device, a handheld computer, a smart phone, a personal digital assistant, a telephony device, or other computing device.
- the computing device 110 includes a processor 160 , an I/O subsystem 166 , a memory 168 , communication circuitry 170 , a data storage device 172 , a camera 174 , and one or more peripheral devices 176 .
- the client computing device 110 may include other components, sub-components, and devices commonly found in a computer and/or computing device, which are not illustrated in FIG. 1 for clarity of the description.
- the processor 160 of the client computing device 110 may be embodied as any type of processor capable of executing software/firmware, such as a microprocessor, digital signal processor, microcontroller, or the like.
- the processor 160 is illustratively embodied as a single core processor having a processor core 162 . However, in other embodiments, the processor 160 may be embodied as a multi-core processor having multiple processor cores 162 . Additionally, the client computing device 110 may include additional processors 160 having one or more processor cores 162 .
- the processor 160 includes a processor graphics circuitry 164 defined on a common die with the processor core 162 .
- the processor graphics circuitry 164 is configured to perform various graphics processing functions such as accelerating the generation of graphics and the like.
- the processor graphics circuitry 164 is typically used to support the generation of graphics on the computing device 110 .
- the processor graphics circuitry 164 may be included in a graphics peripheral card 178 of the computing device 110 .
- the processor graphics circuitry 164 may be embodied as a graphics processing unit of the graphics peripheral card 178 , which may be communicatively coupled to the I/O subsystem 166 via a peripheral bus such as a peripheral component interconnect express (PCIe) bus.
- PCIe peripheral component interconnect express
- the I/O subsystem 166 of the client computing device 110 may be embodied as circuitry and/or components to facilitate input/output operations with the processor 160 and/or other components of the client computing device 110 .
- the I/O subsystem 166 may be embodied as a memory controller hub (MCH or “northbridge”), an input/output controller hub (ICH or “southbridge”), and a firmware device.
- the firmware device of the I/O subsystem 166 may be embodied as a memory device for storing Basic Input/Output System (BIOS) data and/or instructions and/or other information (e.g., a BIOS driver used during booting of the source computing device 102 ).
- BIOS Basic Input/Output System
- the I/O subsystem 166 may be embodied as a platform controller hub (PCH).
- the memory controller hub (MCH) may be incorporated in or otherwise associated with the processor 160 , and the processor 160 may communicate directly with the memory 168 (as shown by the hashed line in FIG. 1 ).
- the I/O subsystem 166 may form a portion of a system-on-a-chip (SoC) and be incorporated, along with the processor 160 and other components of the client computing device 110 , on a single integrated circuit chip.
- SoC system-on-a-chip
- the processor 160 is communicatively coupled to the I/O subsystem 166 via a number of signal paths. Similar to the signal paths of the source computing device 102 , the signal paths of the client computing device 110 may be embodied as any type of signal paths capable of facilitating communication between the components of the computing device 110 . For example, the signal paths may be embodied as any number of wires, cables, light guides, printed circuit board traces, via, bus, intervening devices, and/or the like.
- the memory 168 of the client computing device 110 may be embodied as or otherwise include one or more memory devices or data storage locations including, for example, dynamic random access memory devices (DRAM), synchronous dynamic random access memory devices (SDRAM), double-data rate synchronous dynamic random access memory device (DDR SDRAM), mask read-only memory (ROM) devices, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) devices, flash memory devices, and/or other volatile and/or non-volatile memory devices.
- DRAM dynamic random access memory devices
- SDRAM synchronous dynamic random access memory devices
- DDR SDRAM double-data rate synchronous dynamic random access memory device
- ROM mask read-only memory
- EPROM erasable programmable ROM
- EEPROM electrically erasable programmable ROM
- flash memory devices and/or other volatile and/or non-volatile memory devices.
- the memory 168 is communicatively coupled to the I/O subsystem 166 via a number of signal paths
- Various data and software may be stored in the memory device 168 .
- one or more operating systems, applications, programs, libraries, and drivers that make up the software stack executed by the processor 160 may reside in memory 168 during execution.
- software and data stored in memory 168 may be swapped between the memory 168 and the data storage 172 as part of memory management operations.
- the communication circuitry 170 of the client computing device 110 may be embodied as any number of devices and circuitry for enabling communications between the computing device 110 and remote computing devices (e.g., the image sharing server 108 or directly with the source computing device 102 ) over the network 106 .
- the data storage device(s) 172 may be embodied as any type of device or devices configured for the short-term or long-term storage of data such as, for example, memory devices and circuits, memory cards, hard disk drives, solid-state drives, or other data storage devices.
- the client computing device 110 downloads the encrypted image 154 from the image sharing server, the encrypted image 154 may be stored in the data storage device 172 .
- one or more private encryption keys 156 may be stored in a secure location of the data storage device 172 for use in decrypting an encrypted symmetric key received with the encrypted image 154 as discussed in more detail below.
- the camera 174 may be embodied as any type of camera, such as a still camera, a video camera, or the like, that is capable of generating real-time images of a user of the computing device 110 .
- the camera 174 may be incorporated into a housing of the client computing device 110 .
- the camera 174 may be incorporated near the display screen of the computing device 110 such that the user of the computing device 110 may be monitored while operating the computing device 110 .
- the camera 174 may be a peripheral device communicatively coupled to the computing device 110 and positioned so as to monitor the user of the computing device 110 .
- the peripheral devices 176 of the client computing device 110 may include any number of peripheral or interface devices.
- the peripheral devices 176 may include a display, a keyboard, a mouse, external speakers, and/or other peripheral devices.
- the particular devices included in the peripheral devices 176 may depend upon, for example, the intended use of the computing device 110 .
- the peripheral devices 176 are communicatively coupled to the I/O subsystem 166 via a number of signal paths thereby allowing the I/O subsystem 166 and/or processor 160 to receive inputs from and send outputs to the peripheral devices 176 .
- the source computing device 102 may establish a software environment 200 for securely sharing the confidential image 150 .
- the software environment 200 includes an operating system 202 executed by the processor 120 .
- a web browser 204 may be executed by the operating system 202 to allow the source computing device 102 to communicate with the image sharing server 108 to upload the image 150 thereto.
- the web browser 204 includes an image security module 206 , which may be embodied as a browser plug-in, a stand-alone application, or other software/firmware module.
- the image security module 206 is configured to communicate with an encryption/decryption module 208 to encrypt the confidential image 150 prior to uploading the image 150 to the image sharing server 108 .
- the encryption/decryption module 208 may be embodied as a security co-processor of the source computing device 102 , a cryptographic accelerator incorporated into the processor 120 , or a stand-alone cryptographic software/firmware.
- the user may operate the source computing device 102 to share securely the confidential image 150 with one or more designated persons.
- the image security module 206 is configured to communicate with the encryption/decryption module 208 to encrypt the confidential image 150 prior to uploading the image 150 to the image sharing server 108 as the encrypted image 154 .
- the confidential image 150 is encrypted using a symmetric cryptographic key, which may be generated by the encryption/decryption module 208 .
- the symmetric cryptographic key is subsequently encrypted using a public key belonging to the designated authorized person (e.g., the user of the client computing device 110 ).
- the encrypted symmetric key is then packaged with the encrypted image 154 and uploaded to the image sharing server 108 . In this way, only the encrypted image 154 is accessible by the public.
- the client computing device 110 may establish a software environment 300 for securely accessing and displaying the confidential image 150 .
- the software environment 300 includes an operating system 302 executed by the processor 160 .
- a web browser 304 may be executed by the operating system 302 to allow the client computing device 110 to communicate with the image sharing server 108 , for example, to download the encrypted image 154 , various web pages, and/or other data.
- the web browser 304 includes an image security module 306 , which may be embodied as a browser plug-in, a stand-alone application, or other software/firmware module.
- the image security module 306 is configured to communicate with an encryption/decryption module 308 to perform various encryption/decryption functions, including decrypting the encrypted image 154 , as discussed in more detail below.
- the encryption/decryption module 308 of the client computing device 110 may be embodied as a security co-processor, a cryptographic accelerator incorporated into the processor 160 , or a stand-alone cryptographic software/firmware.
- the software environment 300 also includes a face recognition module 310 executed by the processor graphics circuitry 164 to identify a current user of the computing device 110 from the real-time image(s) 312 received from the camera 174 using pre-trained or predefined face recognition data 314 , which may be stored in a protected location of the data storage device 172 .
- the face recognition module 310 may utilize any face detection and recognition algorithm capable of analyzing the image or images 312 generated by the camera 174 to authenticate the current user.
- the image security module 306 communicates with the encryption/decryption module 308 to decrypt the encrypted image 154 and display the decrypted image 158 to the authenticated, authorized current user on the computing device 110 as discussed in more detail below in regard to FIGS. 5 and 6 .
- one illustrative embodiment of a method 400 for securely sharing a confidential image begins with block 402 .
- the source computing device 102 determines whether the user of the source computing device 102 desires to upload the confidential image(s) 150 to the image sharing server 108 .
- the user of the source computing device 102 may use the web browser 204 to navigate to a web page hosted by the web service engine 140 of the image sharing server 108 to facilitate the uploading of the confidential image 150 . If the source computing device 102 determines, in block 402 , that the confidential image 150 is to be uploaded, the method 400 advances to block 404 in which the confidential image 150 is retrieved from the data storage 132 .
- the confidential image 150 is encrypted.
- the source computing device 102 utilizes the encryption/decryption module 208 to encrypt the confidential image 150 .
- the encryption/decryption module 208 encrypts the confidential image 150 using a symmetric cryptographic key, which may be generated by the encryption/decryption module 208 .
- the source computing device 102 determines the user or users authorized to view the confidential image 150 . To do so, the user of the source computing device 102 may select one or more end-users that are authorized to view the confidential image 150 . For each authorized user, the symmetric key used to encrypt the confidential image 150 is itself encrypted using a public key of the authorized user.
- the public key is one half of a public-private cryptographic key pair as is well known in the art.
- the public key is generated by the authorized user and subsequently shared.
- the public-private cryptographic key pair may be generated using any suitable cryptographic procedure.
- the public key is generated based on or otherwise using an image of the owner of the public-private cryptographic key pair (i.e., the authorized user).
- the image of the authorized user may be used as a seed value for generating the public-private cryptographic key pair, and the public key may then be subsequently shared with the user of the source computing device 102 .
- the public key may be generated by the source computing device 102 based on the image of the authorized user.
- the public key itself need not be shared with the source computing device 102 . Rather, the image of the authorized user may be shared, and the source computing device 102 may derive the public key using that image.
- the symmetric key may be separately encrypted using a different public key for each authorized user.
- a group of users may a share a single private key of the public-private cryptographic key pair such that the symmetric key need be encrypted only once using the single public key to thereby authorize the complete group of users to view the confidential image 150 .
- the encrypted symmetric key is packaged with the encrypted image 154 in block 414 .
- the encrypted symmetric key may be packaged as header or metadata of the encrypted image, encrypted directly with the encrypted image, or otherwise incorporated or associated with the encrypted image.
- the source computing device 102 may have access to a pre-generated image of the authorized user's face (e.g., in those embodiments wherein the source computing device 102 is configured to derive the public key from the image of the authorized user).
- the image of the authorized user may also be packaged with the encrypted image 154 in an encrypted or unencrypted state.
- the client computing device 110 may subsequently use the packed image of the authorized user to authenticate the current user of the computing device 110 .
- the encrypted image 154 is uploaded to the image sharing server 108 .
- the encrypted image 154 may thereafter be accessed by authorized and/or unauthorized users.
- unauthorized users are capable of viewing only the encrypted image 154 , which is indiscernible to the unauthorized users due to the encryption.
- one illustrative embodiment of a method 500 for securely accessing and displaying a confidential image begins with block 502 .
- the client computing device 110 downloads a requested webpage from the image sharing server 108 .
- the webpage may be embodied as a standard webpage, which may include the encrypted image 154 , or may be embodied simply as the encrypted image 154 itself
- the client computing device 110 determines whether the webpage includes an encrypted image.
- the client computing device 110 may determine that the webpage includes an encrypted image using any suitable methodology such as analyzing the image itself, analyzing metadata associated with the image, being informed that the image is encrypted by the image sharing sever 108 , or the like.
- the method 500 advances to block 506 in which the current user of the client computing device 110 is authenticated.
- the client computing device 110 may execute a method 600 to authenticate the current user using a face recognition/detection procedure as shown in FIG. 6 .
- the method 600 may be executed by, for example, the face recognition module 310 .
- the method 600 begins with block 602 in which face recognition data 314 is retrieved. As discussed above in regard to FIG.
- the face recognition data 314 may be embodied as any type of data usable by the computing device 110 (e.g., the processor graphics circuitry 164 ) to identify a current user of the computing device 110 such as pre-generated pictures of a current user's face, facial feature data, or other data that may be used for comparison with a real-time image of the current user.
- the face recognition data 314 is previously generated during a training period of the face recognition module 310 .
- the face recognition data 314 may be embodied as the received image of the authorized user or as face recognition data based on the received image of the authorized user.
- the face recognition module 310 of the client computing device 110 receives a real-time image(s) 312 of the current user of the computing device 110 from the camera 174 .
- the camera 174 may be incorporated into the computing device 110 or otherwise positioned such that the camera 174 can generate an image 312 of the current user of the computing device 110 .
- the face recognition module 310 performs a face detection/recognition procedure on the real-time image 312 using the face recognition data 314 retrieved in block 602 to thereby identify the current user as a known user or an unknown user.
- the face recognition module 310 may use any suitable face detection and recognition procedure to authenticate the current user.
- the method 600 may be a processor-intensive procedure.
- the method 600 is offloaded to the processor graphics circuitry 164 as discussed above in regard to the face recognition module 310 .
- the processor 160 i.e., processor cores 162
- the method 600 may execute other portions of the method 500 with an increased efficiency and speed.
- the authentication process of block 506 is shown as being executed serially in method 500
- the method 600 performed in the block 506 may be executed by the processor graphics circuitry 164 in parallel with the remainder of the method 500 or portions thereof.
- the computing device 110 determines whether the current user has been authenticated in block 508 . If the current user could not be authenticated (e.g., the current user could not be identified, there is no current user of the computing device 110 , etc.), the method 500 advances to block 510 in which the encrypted image 154 is displayed on the computing device 110 . However, if the current user was successfully authenticated, the method 500 advances to block 512 in which a private key associated with the authenticated user is retrieved. As discussed above, the private key is one-half of a public-private cryptographic key pair. While the public key was previously shared with the source computing device 102 and is generally publically available, the private key is kept secret. As such, the private key may be stored in a secured location of the data storage 172 or the like.
- the computing device 110 determines whether the authenticated user is authorized to view the decrypted image 158 of the encrypted image 154 . To do so, the computing device 110 attempts to decrypt the encrypted symmetric key packaged with the encrypted image in block 516 . Such decryption process, and other encryption/decryption processes, may be performed by the encryption/decryption module 308 as discussed above. If the computing device 110 is unable to decrypt the encrypted symmetric key using the private key of the authenticated user, the computing device 110 determines that the user, while authenticated, is not authorized to view the decrypted image 158 in block 518 . As such, the method 500 advances to block 510 in which the encrypted image 154 is displayed on the computing device 110 .
- the computing device 110 determines that the authenticated user is authorized to view the decrypted image 158 of the encrypted image 154 and advances to block 520 .
- the encrypted image 154 is decrypted using the decrypted symmetric key, which was decrypted using the authenticated user's private key as discussed above.
- the decryption process of the encrypted image may be executed by the encryption/decryption module 308 of the client computing device 110 .
- the decrypted image 158 is displayed to the authenticated user on the computing device 110 .
- the authenticated, authorized current user may leave the computing device 110 , be replaced by another user, or otherwise stop operating the computing device 110 .
- the current user is continuously or periodically authenticated in blocks 524 , 526 while the decrypted image 158 is displayed on the computing device 110 .
- the computing device 110 may execute the method 600 to authenticate the current user in block 524 .
- the method 600 may be executed by the processor graphics circuitry 164 in parallel and contemporaneously with portions of the method 500 .
- the method 500 advances to block 510 in which the decrypted image 158 is replaced with the encrypted image 154 .
- the authorized current user is continuously or periodically authenticated at the computing device 110 while the decrypted image 158 is displayed on the computing device 110 .
- the confidentially of the image 150 is secured not only during transit through the untrusted channel (e.g., the network 106 and the image sharing server 108 ), but also at the computing device 110 by ensuring only the authorized user is allowed to view the image on the computing device 110 .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biodiversity & Conservation Biology (AREA)
- Information Transfer Between Computers (AREA)
- Image Processing (AREA)
- Storage Device Security (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
Claims (19)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2011/051261 WO2013039476A1 (en) | 2011-09-12 | 2011-09-12 | Method and device for securely sharing images across untrusted channels |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20130067228A1 US20130067228A1 (en) | 2013-03-14 |
| US8751809B2 true US8751809B2 (en) | 2014-06-10 |
Family
ID=47830918
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/513,047 Active US8751809B2 (en) | 2011-09-12 | 2011-09-12 | Method and device for securely sharing images across untrusted channels |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US8751809B2 (en) |
| EP (1) | EP2756628B1 (en) |
| CN (1) | CN103765811B (en) |
| WO (1) | WO2013039476A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10136310B2 (en) | 2015-04-24 | 2018-11-20 | Microsoft Technology Licensing, Llc | Secure data transmission |
| US20220108577A1 (en) * | 2020-10-05 | 2022-04-07 | Amadeus S.A.S. | Biometric identification system |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013039476A1 (en) | 2011-09-12 | 2013-03-21 | Intel Corporation | Method and device for securely sharing images across untrusted channels |
| US10373149B1 (en) | 2012-11-12 | 2019-08-06 | Square, Inc. | Secure data entry using a card reader with minimal display and input capabilities having a display |
| US9756138B2 (en) * | 2013-04-08 | 2017-09-05 | Here Global B.V. | Desktop application synchronization to process data captured on a mobile device |
| US10346624B2 (en) * | 2013-10-10 | 2019-07-09 | Elwha Llc | Methods, systems, and devices for obscuring entities depicted in captured images |
| US10185841B2 (en) | 2013-10-10 | 2019-01-22 | Elwha Llc | Devices, methods, and systems for managing representations of entities through use of privacy beacons |
| US20150104004A1 (en) | 2013-10-10 | 2015-04-16 | Elwha Llc | Methods, systems, and devices for delivering image data from captured images to devices |
| US20150106628A1 (en) * | 2013-10-10 | 2015-04-16 | Elwha Llc | Devices, methods, and systems for analyzing captured image data and privacy data |
| US9613353B1 (en) | 2013-12-26 | 2017-04-04 | Square, Inc. | Passcode entry through motion sensing |
| US9203612B1 (en) | 2014-06-02 | 2015-12-01 | Atlanta DTH, Inc. | Systems and methods for controlling media distribution |
| US9430635B2 (en) | 2014-10-29 | 2016-08-30 | Square, Inc. | Secure display element |
| US9483653B2 (en) | 2014-10-29 | 2016-11-01 | Square, Inc. | Secure display element |
| US10673622B2 (en) * | 2014-11-14 | 2020-06-02 | Square, Inc. | Cryptographic shader in display hardware |
| US10810319B2 (en) * | 2016-06-25 | 2020-10-20 | Hewlett-Packard Development Company, L.P. | Secure release of print jobs in printing devices |
| US10607035B2 (en) | 2017-08-31 | 2020-03-31 | Yeo Messaging Ltd. | Method of displaying content on a screen of an electronic processing device |
| GB2566043B (en) * | 2017-08-31 | 2022-01-26 | Yeo Messaging Ltd | A method of displaying content on a screen of an electronic processing device |
| US10810327B2 (en) * | 2018-01-05 | 2020-10-20 | Intel Corporation | Enforcing secure display view for trusted transactions |
| US10860840B2 (en) * | 2018-11-14 | 2020-12-08 | Microsoft Technology Licensing, Llc | Face recognition in noisy environments |
| CN115051783B (en) * | 2021-12-30 | 2025-08-12 | 泛太通信导航(珠海)有限公司 | Unmanned vehicle image sharing method and system, corresponding equipment and storage medium |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040019801A1 (en) | 2002-05-17 | 2004-01-29 | Fredrik Lindholm | Secure content sharing in digital rights management |
| US20060236121A1 (en) * | 2005-04-14 | 2006-10-19 | Ibm Corporation | Method and apparatus for highly secure communication |
| US20060288234A1 (en) * | 2005-06-16 | 2006-12-21 | Cyrus Azar | System and method for providing secure access to an electronic device using facial biometrics |
| US20070253604A1 (en) * | 2005-03-15 | 2007-11-01 | Omron Corporation | Face authentication apparatus, control method and program, electronic device having the same, and program recording medium |
| US20120235790A1 (en) * | 2011-03-16 | 2012-09-20 | Apple Inc. | Locking and unlocking a mobile device using facial recognition |
| US20130015946A1 (en) * | 2011-07-12 | 2013-01-17 | Microsoft Corporation | Using facial data for device authentication or subject identification |
| WO2013039476A1 (en) | 2011-09-12 | 2013-03-21 | Intel Corporation | Method and device for securely sharing images across untrusted channels |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100463438C (en) * | 2002-10-15 | 2009-02-18 | 宽联(上海)通信软件有限公司 | IP video terminal device for public security uniform communication network |
| EP1677537A1 (en) | 2004-12-31 | 2006-07-05 | Swisscom Mobile AG | Method and device for receiving content data with conditional access and Remote Server |
| IL184399A0 (en) | 2007-07-03 | 2007-10-31 | Yossi Tsuria | Content delivery system |
-
2011
- 2011-09-12 WO PCT/US2011/051261 patent/WO2013039476A1/en not_active Ceased
- 2011-09-12 EP EP11872400.4A patent/EP2756628B1/en active Active
- 2011-09-12 US US13/513,047 patent/US8751809B2/en active Active
- 2011-09-12 CN CN201180073392.9A patent/CN103765811B/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040019801A1 (en) | 2002-05-17 | 2004-01-29 | Fredrik Lindholm | Secure content sharing in digital rights management |
| US20070253604A1 (en) * | 2005-03-15 | 2007-11-01 | Omron Corporation | Face authentication apparatus, control method and program, electronic device having the same, and program recording medium |
| US20060236121A1 (en) * | 2005-04-14 | 2006-10-19 | Ibm Corporation | Method and apparatus for highly secure communication |
| US20060288234A1 (en) * | 2005-06-16 | 2006-12-21 | Cyrus Azar | System and method for providing secure access to an electronic device using facial biometrics |
| US20120235790A1 (en) * | 2011-03-16 | 2012-09-20 | Apple Inc. | Locking and unlocking a mobile device using facial recognition |
| US20130015946A1 (en) * | 2011-07-12 | 2013-01-17 | Microsoft Corporation | Using facial data for device authentication or subject identification |
| WO2013039476A1 (en) | 2011-09-12 | 2013-03-21 | Intel Corporation | Method and device for securely sharing images across untrusted channels |
Non-Patent Citations (1)
| Title |
|---|
| PCT Search Report/Written Opinion prepared for PCT/US2011/051261, mailed Apr. 23, 2012. |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10136310B2 (en) | 2015-04-24 | 2018-11-20 | Microsoft Technology Licensing, Llc | Secure data transmission |
| US20220108577A1 (en) * | 2020-10-05 | 2022-04-07 | Amadeus S.A.S. | Biometric identification system |
Also Published As
| Publication number | Publication date |
|---|---|
| EP2756628A1 (en) | 2014-07-23 |
| CN103765811B (en) | 2017-05-31 |
| EP2756628B1 (en) | 2018-07-18 |
| US20130067228A1 (en) | 2013-03-14 |
| WO2013039476A1 (en) | 2013-03-21 |
| CN103765811A (en) | 2014-04-30 |
| EP2756628A4 (en) | 2015-08-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8751809B2 (en) | Method and device for securely sharing images across untrusted channels | |
| KR101641809B1 (en) | Method and system for distributed off-line logon using one-time passwords | |
| US20140095870A1 (en) | Device, method, and system for controlling access to web objects of a webpage or web-browser application | |
| US9252946B2 (en) | Method and system to securely migrate and provision virtual machine images and content | |
| US9525668B2 (en) | Face based secure messaging | |
| US9413754B2 (en) | Authenticator device facilitating file security | |
| US20130318576A1 (en) | Method, device, and system for managing user authentication | |
| US10607035B2 (en) | Method of displaying content on a screen of an electronic processing device | |
| CA2877082C (en) | Secure password management systems, methods and apparatuses | |
| WO2017067201A1 (en) | Wi-fi connection method, terminal, and system | |
| WO2017093917A1 (en) | Method and system for generating a password | |
| CN114006700A (en) | Client login method, apparatus, computer device and storage medium | |
| US20150347365A1 (en) | System and method for distributing censored and encrypted versions of a document | |
| CN118802306A (en) | An identity authentication method, device, equipment, medium and product | |
| CN119583110B (en) | Login verification method and device, electronic equipment and storage medium | |
| KR20160050605A (en) | Service server, and operating method thereof | |
| KR101997117B1 (en) | Group-key management and authentication method and apparatus for information-sharing of group members | |
| GB2566043A (en) | A method of displaying content on a screen of an electronic processing device | |
| CN116089927A (en) | Password protection method, device, electronic equipment and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DEWAN, PRASHANT;DURHAM, DAVID M.;KANG, XIAOZHU;AND OTHERS;SIGNING DATES FROM 20110916 TO 20110922;REEL/FRAME:027825/0652 |
|
| AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DEWAN, PRASHANT;DURHAM, DAVID M.;GREWAL, KARANVIR S.;AND OTHERS;SIGNING DATES FROM 20110916 TO 20110922;REEL/FRAME:027846/0050 |
|
| AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DEWAN, PRASHANT;KANG, XIAOZHU;GREWAL, KARANVIR S.;AND OTHERS;SIGNING DATES FROM 20120613 TO 20120712;REEL/FRAME:028542/0238 |
|
| FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
| AS | Assignment |
Owner name: TAHOE RESEARCH, LTD., IRELAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTEL CORPORATION;REEL/FRAME:061175/0176 Effective date: 20220718 Owner name: TAHOE RESEARCH, LTD., IRELAND Free format text: ASSIGNMENT OF ASSIGNOR'S INTEREST;ASSIGNOR:INTEL CORPORATION;REEL/FRAME:061175/0176 Effective date: 20220718 |
|
| FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |