US9571489B2 - System and method for performing commands from a remote source - Google Patents

System and method for performing commands from a remote source Download PDF

Info

Publication number
US9571489B2
US9571489B2 US13/209,212 US201113209212A US9571489B2 US 9571489 B2 US9571489 B2 US 9571489B2 US 201113209212 A US201113209212 A US 201113209212A US 9571489 B2 US9571489 B2 US 9571489B2
Authority
US
United States
Prior art keywords
command
message
determining
responsive
value
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, expires
Application number
US13/209,212
Other versions
US20130038425A1 (en
Inventor
Nobukazu Sugiyama
Kai Liu
Ludovic Douillet
Lobrenzo Wingo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to US13/209,212 priority Critical patent/US9571489B2/en
Assigned to SONY CORPORATION reassignment SONY CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DOUILLET, LUDOVIC, LIU, KAI, SUGIYAMA, NOBUKAZU, WINGO, LOBRENZO
Priority to EP12175044.2A priority patent/EP2557755B1/en
Priority to KR1020120081629A priority patent/KR20130018397A/en
Priority to JP2012179943A priority patent/JP2013041587A/en
Publication of US20130038425A1 publication Critical patent/US20130038425A1/en
Application granted granted Critical
Publication of US9571489B2 publication Critical patent/US9571489B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Definitions

  • Embodiments of the invention relate to the field of secured communications. More specifically, one embodiment of the invention relates to a system and method for embedding commands within a message where any embedded command is processed upon confirmation that the message originated from an authenticated electronic device.
  • one problem is that, by needing to release products at a greater pace in order to compete in the marketplace, there are times when the released product does not have all of its intended features.
  • it has become increasingly important to be able to have rudimentary control over an electronic product after release, such as being able to expand and upgrade the electronic product over the Internet.
  • servers are authorized to only send certain commands for remote control of clients, namely those commands that are provided in accordance with a communication protocol agreed upon by the servers and clients beforehand.
  • software updates may require a particular protocol to be followed prior to execution of the command, where the command is unable to execute if the protocol cannot be performed.
  • security protections such as security codes, may be used to prevent unauthorized commands from being utilized.
  • security codes once broken, expose the device to unauthorized control by a server.
  • FIG. 1 is a first exemplary diagram of registration operations and transmissions of a message including an embedded command between two electronic devices after successful registration.
  • FIG. 2A is an exemplary diagram of an authentication request for the registration process illustrated of FIG. 1 .
  • FIG. 2B is an exemplary diagram of an authentication response for the registration process illustrated of FIG. 1 .
  • FIG. 3 is an exemplary block diagram of the first electronic device of FIG. 1 that authenticates the second electronic device before execution of the embedded command.
  • FIG. 4 is an exemplary flowchart illustrating the operations for detecting and processing embedded commands from one electronic device on another electronic device.
  • FIG. 5A is a first exemplary diagram of a message including an embedded command as illustrated of FIG. 1 .
  • FIG. 5B is a second exemplary diagram of a message including the embedded command as illustrated of FIG. 1 .
  • FIG. 6 is an exemplary system diagram of a server transmitting embedded commands to a remotely located electronic device such as a television.
  • Various embodiments of the invention relate to a system and method for confirming the authenticity of a remote source transmitting a message with an embedded command originating and performing that command after authentication has been successfully completed.
  • logic is configured to generate a unique identifier that is used to produce another value referred to as a Personal Identification Number “PIN” code.
  • PIN Personal Identification Number
  • the PIN code is used to confirm device authentication.
  • the recipient electronic device Upon detecting a message with an embedded command and determines that the source has been authenticated, the recipient electronic device is configured to process the embedded command.
  • the system may support software updates where a client electronic device (television) supports Extensible Messaging and Presence Protocol “XMPP” (chat feature).
  • XMPP Extensible Messaging and Presence Protocol
  • a server can be used to push messages with commands for software updates without receiving inquiry messages from the television.
  • the television verifies the PIN code provided by the server, and if compares, runs the command that causes the television to download update software (or patches) to its local storage and restart to install the update software.
  • the system may require the client electronic device (television) to initiate an inquiry message to a centralized source (call or tech center) that has been previously authenticated.
  • a representative at the centralized source may check the PIN code of the television, and if listed, download history and data from the television. Thereafter, the centralized source sends update software (or patches) to the television for local storage and prompts, by use of an embedded command, the restart of the television to install the update software.
  • an electronic device may refer to a device that features one or more electrical components that are adapted to receive and process transmitted information.
  • an electronic device may include, but is not limited or restricted to a television, a set-top box, a personal digital assistant (PDA), a computer (e.g., mobile, personal, server, mainframe, etc.), a cellular telephone, a video game console, a portable video player, or the like.
  • unit and “logic” are representative of hardware and/or software configured to perform one or more functions.
  • examples of hardware include, but are not limited or restricted to an integrated circuit such as a processor (e.g., a digital signal processor, microprocessor, application specific integrated circuit, a micro-controller, etc.).
  • a processor e.g., a digital signal processor, microprocessor, application specific integrated circuit, a micro-controller, etc.
  • the hardware may be alternatively implemented as a finite state machine, a programmable circuit, or even combinatorial logic.
  • An example of “software” includes executable code in the form of an application, an applet, a routine or even a series of instructions.
  • the software may be stored in any type of non-transitory machine readable medium such as a programmable circuit, a semiconductor memory device such as volatile memory (e.g., random access memory, etc.) and/or non-volatile memory (e.g., any type of read-only memory “ROM”, flash memory, etc.), a hard drive disk, a portable storage device (e.g., an optical disk, a digital tape, a flash drive, etc.), or the like.
  • interconnect is generally defined as an information-carrying pathway for information, where the information may be content such as video, audio, text, displayable images or any combination thereof.
  • An interconnect may be established using any communication medium such as a wired physical medium (e.g., a bus, one or more electrical wires, trace, cable, etc.) or a wireless medium (e.g., air in combination with wireless signaling technology).
  • value is a series of bits representative of a number or an alphanumeric character string
  • message is information normally in a structured format such as a frame, a packet or a cell.
  • the message normally includes a header portion and a payload portion.
  • Communication system 100 comprises a first electronic device 110 that is adapted to receive digital content (e.g. video, audio, images, web pages, etc.) from a second electronic device 120 .
  • the digital content may be propagated as a digital data stream for example in compliance with any data compression scheme. Examples of a data compression scheme include, but are not limited or restricted to a Motion Picture Experts Group (MPEG) standard.
  • MPEG Motion Picture Experts Group
  • messages with embedded commands may be transmitted from second electronic device 120 to first electronic device 110 without any prior agreement between devices 110 and 120 on the protocol or the commands themselves. This provides greater flexibility than the conventional communication scheme described above, perhaps such flexibility as command-line shells would provide.
  • These messages are designed to allow a remotely located electronic device (e.g., second electronic device 120 ) to control the operations of first electronic device 110 .
  • control may involve altering the operating state of first electronic device (e.g., power-down, power-up, restart, etc.), updating or enhancing the functionality of first electronic device 110 (e.g., software updates, patches, etc.), or the like.
  • second electronic device 120 prior to the receipt of digital content, is to be authenticated in order to ensure that any subsequently received commands from device 120 are recognized as being from a trusted source. According to one embodiment, this may be accomplished through a registration process set forth in FIGS. 1, 2A and 2B .
  • first electronic device 110 transmits an authentication request message 140 , which includes a unique identifier 200 .
  • unique identifier 200 is placed within a payload 210 of message 140 and represents a value that is unique to first electronic device 110 .
  • unique identifier 200 may be a random (or pseudo-random) number produced by a random (or pseudo-random) number generator located within first electronic device 110 .
  • unique identifier 200 may be the media access control (MAC) address for the first electronic device 110 .
  • MAC media access control
  • second electronic device 120 Upon receipt of authentication request message 140 , as shown in FIGS. 1 and 2B , second electronic device 120 extracts unique identifier 200 and performs a logical operation thereon.
  • the “logical operation” may be in accordance with a hash function, one or more arithmetic functions (e.g., (N)XOR, (N)AND, (N)OR, etc.) or any other function that is adapted to produce a result 250 (referred to as “PIN#_External”) which can be re-created using unique identifier 200 and that logical operation.
  • PIN#_External 250 is included within authentication response message 150 , which is sent from second electronic device 120 to first electronic device 110 after receipt of authentication request message 140 .
  • PIN#_External 250 is used for authentication purposes as described below.
  • first electronic device 110 comprises a memory 300 , a PIN generation unit 310 , and a comparison unit 320 .
  • memory 300 a PIN generation unit 310
  • comparison unit 320 a comparison unit 320
  • memory 300 comprises any type of non-volatile memory (e.g., flash, Read Only memory, battery-backed random access memory, etc.) that can persistently store unique identifier 200 .
  • Unique identifier 200 may be pre-stored during manufacture of first electronic device 110 or may be uploaded and securely stored after manufacture.
  • unique identifier 200 may be a manufacturer identification (ID) value exclusively assigned to device 110 by its manufacture.
  • unique identifier 200 may be the MAC address assigned to a network adapter (not shown) for first electronic device 110 or a random value generated internally by a random (or pseudo-random) number generator (not shown) for subsequent storage in memory 300 .
  • PIN generation unit 310 is logic that is adapted to receive unique identifier 200 and perform logical operations on such data that correspond to those above-described logical operations performed by second electronic device 120 .
  • PIN generation unit 310 may be implemented as a controller that is adapted to perform an operation on input data (e.g., unique identifier 200 ) in accordance with a particular function.
  • This function may include, but is not limited or restricted to any arithmetic function, a hash function (e.g., any version of Secure Hash Algorithm “SHA” such as SHA-1, SHA-2, etc.), or the like.
  • PIN generation unit 310 Upon performing this operation on unique identifier 200 , PIN generation unit 310 produces a result 350 (referred to as “PIN#_Internal”). PIN#_Internal 350 is routed to comparison unit 320 that compares this value with PIN#_External 250 received from second electronic device 120 . If these values compare, second electronic device 120 has been authenticated, which may be denoted by authentication signal 360 . As a result, an external address or identifier for second electronic device 120 , such as an Internet Protocol (IP) address, MAC address or the like, is stored within an entry of a table 370 in memory 300 PIN#_External 250 for comparison purposes for future communications of messages with embedded commands as described below.
  • IP Internet Protocol
  • first electronic device 110 is now adapted to receive, identify and process commands embedded within incoming messages 160 from second electronic device 120 .
  • FIG. 4 an exemplary flowchart illustrating the operations for detecting embedded commands within an incoming message and performing commands from second electronic device 120 on first electronic device 110 is shown.
  • the first electronic device monitors for receipt of messages (block 400 ).
  • a determination is made as to whether the message includes a command (block 410 ).
  • command 500 includes an XML opening tag 510 , an XML element 520 and an XML closing tag 530 .
  • XML opening tag 510 is used to identify that the XML information constitutes a command.
  • the first electronic device is able to detect that this message 160 includes an embedded command.
  • the XML closing tag 530 is used to denote an end of the command.
  • the XML element 520 corresponds to information that identifies the particular type of command. These types of commands may include, but are not limited or restricted to power-down command, a power-on command, a software update command that may simply identify to the first electronic device that a downloadable software update is available, or cause the first electronic device to perform a number of operations (e.g. check version of software, check for patch history, check permissions and other attributes, etc.) before the updated software is accessible by the first electronic device.
  • a number of operations e.g. check version of software, check for patch history, check permissions and other attributes, etc.
  • a title 550 of an XML file 560 contained within message 160 may be used to denote the presence of an embedded command.
  • the first electronic device received access to XML file 560 , which includes the terminology “CMD_” 570 within title 550 .
  • First electronic device detects that the message (XML file 560 ) includes an embedded command by the presence of the term “CMD_” within the title itself.
  • Such authentication identifies that the source is authorized to control operations of the first electronic device.
  • such authentication is confirmed if the PIN#_Internal (internal value generated from a unique identifier) matches the PIN#_External (value generated by the source of the message based on the unique identifier received from the first electronic device).
  • the embedded command is extracted from the message and executed (block 430 ). Otherwise, the embedded command is ignored (path 440 ).
  • FIG. 6 an exemplary system diagram of a server 600 (second electronic device) transmitting embedded commands to a television 610 (first electronic device) is shown.
  • television 610 is adapted to receive digital content 620 (e.g. video, audio, images, web pages, etc.) from server 600 as well as messages 630 including an embedded command.
  • the digital content 620 is transmitted over interconnects 630 that may differ from the interconnects utilized for the transmission of messages 630 .
  • one of digital content 620 and message 630 may be received over a wired interconnect while the other is received over a wireless interconnect (e.g., Bluetooth®, IEEE 802.11 standard-based communications, etc.).
  • a wireless interconnect e.g., Bluetooth®, IEEE 802.11 standard-based communications, etc.
  • television 610 Upon receipt of messages 630 , television 610 includes logic that analyzes each of messages 630 to determine if any of such messages includes a command. Upon determining that the message includes an embedded command, logic within television 610 determines if server 600 has been previously. Such authentication may be through value comparisons that assures server 600 is authorized for such communications (e.g. from the same manufacturer as television, television and server are certified by the same entity, etc.).
  • server 600 If server 600 has been authenticated, the embedded command is extracted from the message and executed by logic within television 610 . Otherwise, if server 600 has not been authenticated, the embedded command is ignored or the command is temporarily ignored until a registration process is ensued and server 600 is authenticated.

Abstract

According to one embodiment of the invention, a method for secured execution of commands is described. Initially, a second electronic device authenticates a first electronic device and registers the first electronic device as a trusted device. Thereafter, up receipt of a message with one or more embedded commands, such commands are executed without any pre-established communication protocol if the message is from the registered first electronic device.

Description

BACKGROUND
Field
Embodiments of the invention relate to the field of secured communications. More specifically, one embodiment of the invention relates to a system and method for embedding commands within a message where any embedded command is processed upon confirmation that the message originated from an authenticated electronic device.
General Background
For the last decade, major advancements in high-technology have occurred, and such advancements continue to occur at an accelerated pace. As a result, product development cycles have become increasingly shorter over the years, which have posed a number of problems.
For instance, one problem is that, by needing to release products at a greater pace in order to compete in the marketplace, there are times when the released product does not have all of its intended features. Hence, it has become increasingly important to be able to have rudimentary control over an electronic product after release, such as being able to expand and upgrade the electronic product over the Internet.
As an example, in accordance with conventional communications schemes, servers are authorized to only send certain commands for remote control of clients, namely those commands that are provided in accordance with a communication protocol agreed upon by the servers and clients beforehand. For instance, software updates may require a particular protocol to be followed prior to execution of the command, where the command is unable to execute if the protocol cannot be performed.
Likewise, security protections, such as security codes, may be used to prevent unauthorized commands from being utilized. However, these security codes, once broken, expose the device to unauthorized control by a server.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the invention are illustrated by way of example and not by way of limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
FIG. 1 is a first exemplary diagram of registration operations and transmissions of a message including an embedded command between two electronic devices after successful registration.
FIG. 2A is an exemplary diagram of an authentication request for the registration process illustrated of FIG. 1.
FIG. 2B is an exemplary diagram of an authentication response for the registration process illustrated of FIG. 1.
FIG. 3 is an exemplary block diagram of the first electronic device of FIG. 1 that authenticates the second electronic device before execution of the embedded command.
FIG. 4 is an exemplary flowchart illustrating the operations for detecting and processing embedded commands from one electronic device on another electronic device.
FIG. 5A is a first exemplary diagram of a message including an embedded command as illustrated of FIG. 1.
FIG. 5B is a second exemplary diagram of a message including the embedded command as illustrated of FIG. 1.
FIG. 6 is an exemplary system diagram of a server transmitting embedded commands to a remotely located electronic device such as a television.
DETAILED DESCRIPTION
Various embodiments of the invention relate to a system and method for confirming the authenticity of a remote source transmitting a message with an embedded command originating and performing that command after authentication has been successfully completed. According to one embodiment of the invention, implemented within an electronic device, logic is configured to generate a unique identifier that is used to produce another value referred to as a Personal Identification Number “PIN” code. The PIN code is used to confirm device authentication. Upon detecting a message with an embedded command and determines that the source has been authenticated, the recipient electronic device is configured to process the embedded command.
This system and method may be utilized in a number of capacities. For instance, the system may support software updates where a client electronic device (television) supports Extensible Messaging and Presence Protocol “XMPP” (chat feature). A server can be used to push messages with commands for software updates without receiving inquiry messages from the television. The television verifies the PIN code provided by the server, and if compares, runs the command that causes the television to download update software (or patches) to its local storage and restart to install the update software.
Alternatively, the system may require the client electronic device (television) to initiate an inquiry message to a centralized source (call or tech center) that has been previously authenticated. A representative at the centralized source may check the PIN code of the television, and if listed, download history and data from the television. Thereafter, the centralized source sends update software (or patches) to the television for local storage and prompts, by use of an embedded command, the restart of the television to install the update software.
In the following description, certain terminology is used to describe features of the invention. For instance, the term “electronic device” may refer to a device that features one or more electrical components that are adapted to receive and process transmitted information. For instance, an electronic device may include, but is not limited or restricted to a television, a set-top box, a personal digital assistant (PDA), a computer (e.g., mobile, personal, server, mainframe, etc.), a cellular telephone, a video game console, a portable video player, or the like.
The terms “unit” and “logic” are representative of hardware and/or software configured to perform one or more functions. For instance, examples of hardware include, but are not limited or restricted to an integrated circuit such as a processor (e.g., a digital signal processor, microprocessor, application specific integrated circuit, a micro-controller, etc.). Of course, the hardware may be alternatively implemented as a finite state machine, a programmable circuit, or even combinatorial logic.
An example of “software” includes executable code in the form of an application, an applet, a routine or even a series of instructions. The software may be stored in any type of non-transitory machine readable medium such as a programmable circuit, a semiconductor memory device such as volatile memory (e.g., random access memory, etc.) and/or non-volatile memory (e.g., any type of read-only memory “ROM”, flash memory, etc.), a hard drive disk, a portable storage device (e.g., an optical disk, a digital tape, a flash drive, etc.), or the like.
The term “interconnect” is generally defined as an information-carrying pathway for information, where the information may be content such as video, audio, text, displayable images or any combination thereof. An interconnect may be established using any communication medium such as a wired physical medium (e.g., a bus, one or more electrical wires, trace, cable, etc.) or a wireless medium (e.g., air in combination with wireless signaling technology).
Lastly, the term “value” is a series of bits representative of a number or an alphanumeric character string, and a “message” is information normally in a structured format such as a frame, a packet or a cell. The message normally includes a header portion and a payload portion.
While this invention is susceptible to embodiments of many different forms, there is shown in the drawings and will herein be described in detail specific embodiments, with the understanding that the present disclosure is to be considered as an example of the principles of the invention and not intended to limit the invention to the specific embodiments shown and described.
Referring to FIG. 1, a first exemplary diagram of a communication system 100 consistent with certain embodiments of the invention is shown. Communication system 100 comprises a first electronic device 110 that is adapted to receive digital content (e.g. video, audio, images, web pages, etc.) from a second electronic device 120. The digital content may be propagated as a digital data stream for example in compliance with any data compression scheme. Examples of a data compression scheme include, but are not limited or restricted to a Motion Picture Experts Group (MPEG) standard.
Besides digital content, messages with embedded commands may be transmitted from second electronic device 120 to first electronic device 110 without any prior agreement between devices 110 and 120 on the protocol or the commands themselves. This provides greater flexibility than the conventional communication scheme described above, perhaps such flexibility as command-line shells would provide.
These messages are designed to allow a remotely located electronic device (e.g., second electronic device 120) to control the operations of first electronic device 110. Such control may involve altering the operating state of first electronic device (e.g., power-down, power-up, restart, etc.), updating or enhancing the functionality of first electronic device 110 (e.g., software updates, patches, etc.), or the like.
According to one embodiment of the invention, prior to the receipt of digital content, second electronic device 120 is to be authenticated in order to ensure that any subsequently received commands from device 120 are recognized as being from a trusted source. According to one embodiment, this may be accomplished through a registration process set forth in FIGS. 1, 2A and 2B.
As shown in FIGS. 1 and 2A, first electronic device 110 transmits an authentication request message 140, which includes a unique identifier 200. As shown for illustrative purposes, unique identifier 200 is placed within a payload 210 of message 140 and represents a value that is unique to first electronic device 110. For instance, as illustrative examples, unique identifier 200 may be a random (or pseudo-random) number produced by a random (or pseudo-random) number generator located within first electronic device 110. Alternatively, unique identifier 200 may be the media access control (MAC) address for the first electronic device 110.
Upon receipt of authentication request message 140, as shown in FIGS. 1 and 2B, second electronic device 120 extracts unique identifier 200 and performs a logical operation thereon. The “logical operation” may be in accordance with a hash function, one or more arithmetic functions (e.g., (N)XOR, (N)AND, (N)OR, etc.) or any other function that is adapted to produce a result 250 (referred to as “PIN#_External”) which can be re-created using unique identifier 200 and that logical operation. PIN#_External 250 is included within authentication response message 150, which is sent from second electronic device 120 to first electronic device 110 after receipt of authentication request message 140. PIN#_External 250 is used for authentication purposes as described below.
Referring now to FIG. 3, an exemplary block diagram of first electronic device 110 that is adapted to authenticate second electronic device 120 before processing commands within an incoming message is shown. Herein, for handling authentication, first electronic device 110 comprises a memory 300, a PIN generation unit 310, and a comparison unit 320. For greater security, it is contemplated that at least two or all of the noted components, namely memory 300, PIN generation unit 310 and comparison unit 320, may be placed within a single semiconductor or chipset package.
More specifically, according to this embodiment of the invention, memory 300 comprises any type of non-volatile memory (e.g., flash, Read Only memory, battery-backed random access memory, etc.) that can persistently store unique identifier 200. Unique identifier 200 may be pre-stored during manufacture of first electronic device 110 or may be uploaded and securely stored after manufacture. As an example, unique identifier 200 may be a manufacturer identification (ID) value exclusively assigned to device 110 by its manufacture. Alternatively, unique identifier 200 may be the MAC address assigned to a network adapter (not shown) for first electronic device 110 or a random value generated internally by a random (or pseudo-random) number generator (not shown) for subsequent storage in memory 300.
PIN generation unit 310 is logic that is adapted to receive unique identifier 200 and perform logical operations on such data that correspond to those above-described logical operations performed by second electronic device 120. For instance, PIN generation unit 310 may be implemented as a controller that is adapted to perform an operation on input data (e.g., unique identifier 200) in accordance with a particular function. This function may include, but is not limited or restricted to any arithmetic function, a hash function (e.g., any version of Secure Hash Algorithm “SHA” such as SHA-1, SHA-2, etc.), or the like.
Upon performing this operation on unique identifier 200, PIN generation unit 310 produces a result 350 (referred to as “PIN#_Internal”). PIN#_Internal 350 is routed to comparison unit 320 that compares this value with PIN#_External 250 received from second electronic device 120. If these values compare, second electronic device 120 has been authenticated, which may be denoted by authentication signal 360. As a result, an external address or identifier for second electronic device 120, such as an Internet Protocol (IP) address, MAC address or the like, is stored within an entry of a table 370 in memory 300 PIN#_External 250 for comparison purposes for future communications of messages with embedded commands as described below.
Referring back to FIG. 1, after authenticating second electronic device 120, first electronic device 110 is now adapted to receive, identify and process commands embedded within incoming messages 160 from second electronic device 120.
Referring now to FIG. 4, an exemplary flowchart illustrating the operations for detecting embedded commands within an incoming message and performing commands from second electronic device 120 on first electronic device 110 is shown. Once communications are made available between the multiple electronic devices (e.g., wireless communications established after association and authentication procedures, wired interconnect plugged into a network adapter of the first electronic device, etc.), the first electronic device monitors for receipt of messages (block 400). Upon receipt of a message, a determination is made as to whether the message includes a command (block 410).
As shown in FIGS. 5A and 5B, exemplary diagrams of messages including an embedded command are shown. With respect to FIG. 5A, message 160 is embedded with a command 500 which, as illustrated in these embodiments of the invention, is configured with an Extensible Markup Language (XML) based format. In accordance to one embodiment of the invention, command 500 includes an XML opening tag 510, an XML element 520 and an XML closing tag 530.
Herein, XML opening tag 510 is used to identify that the XML information constitutes a command. By analyzing and detecting a “command” type of opening tags within message 160, the first electronic device is able to detect that this message 160 includes an embedded command. The XML closing tag 530 is used to denote an end of the command.
The XML element 520 corresponds to information that identifies the particular type of command. These types of commands may include, but are not limited or restricted to power-down command, a power-on command, a software update command that may simply identify to the first electronic device that a downloadable software update is available, or cause the first electronic device to perform a number of operations (e.g. check version of software, check for patch history, check permissions and other attributes, etc.) before the updated software is accessible by the first electronic device.
As further shown in FIG. 5B, a title 550 of an XML file 560 contained within message 160 may be used to denote the presence of an embedded command. For illustrative purposes, the first electronic device received access to XML file 560, which includes the terminology “CMD_” 570 within title 550. First electronic device detects that the message (XML file 560) includes an embedded command by the presence of the term “CMD_” within the title itself.
These and other techniques may be used to detect that a command is embedded within a received message (block 410).
Referring back to FIG. 4, upon determining that the message includes an embedded command, a determination is made to confirm that the source of the message has been authenticated by the first electronic device (block 420). Such authentication identifies that the source is authorized to control operations of the first electronic device. According to one embodiment of the invention, such authentication is confirmed if the PIN#_Internal (internal value generated from a unique identifier) matches the PIN#_External (value generated by the source of the message based on the unique identifier received from the first electronic device).
If the source (second electronic device) has been authenticated, the embedded command is extracted from the message and executed (block 430). Otherwise, the embedded command is ignored (path 440).
After execution of the embedded command, a determination is made whether the message features other commands (block 450). If so, the next embedded command is retrieved and executed without further authentication as the source of the message has already been authenticated. This process continues until no further commands are detected within the message. At that time, the process ends.
Referring to FIG. 6, an exemplary system diagram of a server 600 (second electronic device) transmitting embedded commands to a television 610 (first electronic device) is shown. Herein, television 610 is adapted to receive digital content 620 (e.g. video, audio, images, web pages, etc.) from server 600 as well as messages 630 including an embedded command. The digital content 620 is transmitted over interconnects 630 that may differ from the interconnects utilized for the transmission of messages 630. For instance, one of digital content 620 and message 630 may be received over a wired interconnect while the other is received over a wireless interconnect (e.g., Bluetooth®, IEEE 802.11 standard-based communications, etc.).
Upon receipt of messages 630, television 610 includes logic that analyzes each of messages 630 to determine if any of such messages includes a command. Upon determining that the message includes an embedded command, logic within television 610 determines if server 600 has been previously. Such authentication may be through value comparisons that assures server 600 is authorized for such communications (e.g. from the same manufacturer as television, television and server are certified by the same entity, etc.).
If server 600 has been authenticated, the embedded command is extracted from the message and executed by logic within television 610. Otherwise, if server 600 has not been authenticated, the embedded command is ignored or the command is temporarily ignored until a registration process is ensued and server 600 is authenticated.
In the foregoing description, the invention is described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the present invention as set forth in the appended claims. The specification and drawings are accordingly to be regarded in an illustrative rather than in a restrictive sense.

Claims (13)

What is claimed is:
1. A method comprising:
(A) registering a second device with a first device at least in part by:
(1) sending from the first device to the second device an authentication request message which includes a value that is unique to first device;
(2) receiving by the first device from the second device an authentication response message;
(3) using, by the first device, a logical operation to transform a value in the authentication response message to render a first comparison value;
(4) determining, by the first device, whether the first comparison value matches a second comparison value internally stored in the first device, the second comparison value not being the value that is unique to first electronic device;
(5) responsive to determining, by the first device, that the first comparison value matches the second comparison value, storing by the first device an indicator that the second device is an authorized device;
(B) subsequent to registering the second device by the first device:
(1) receiving by the first device at least a first message from the second device;
(2) determining by the first device whether the first message includes a command;
(3) responsive to a determination by the first device that the first message does not contain a command, ignore the command by the first device;
(4) responsive to a determination by the first device that the first message contains a command, determining by the first device whether the second device has been previously authenticated by the first device;
(5) responsive to determining by the first device that the second device has not been previously authenticated, ignoring the command;
(6) responsive to determining by the first device that the second device has been previously authenticated, executing by the first device the command in the first message from the second device;
(7) determining by the first device whether the first message includes a next command; and
(8) responsive to determining that the first message includes a next command, executing the next command without further authentication, wherein processing of the first message by the first device comprises scanning the first message for Extensible Markup Language (XML) opening tag wherein the indicator stored by the first device includes an identifier of the second device and a personal identification number (PIN) code.
2. The method of claim 1, wherein the first message includes an Extensible Markup Language (XML) command.
3. The method of claim 1, wherein the PIN code being a derivative value that can be replicated by performing logical operations on the value that is unique to first device.
4. The method of claim 1, wherein executing the command comprises power-down of the first device.
5. The method of claim 1, wherein executing the command comprises power-up of the first device.
6. The method of claim 1, wherein executing the command comprises restart of the first device.
7. A non-transitory computer readable medium that contains software that, when executed by a processing circuit of a first device, performs operations, comprising:
(A) registering a second device with the first device at least in part by:
(1) sending from the first device to the second device an authentication request message which includes a value that is unique to first device;
(2) receiving by the first device from the second device an authentication response message;
(3) using, by the first device, a logical operation to transform a value in the authentication response message to render a first comparison value;
(4) determining, by the first device, whether the first comparison value matches a second comparison value internally stored in the first device, the second comparison value not being the value that is unique to first electronic device;
(5) responsive to determining, by the first device, that the first comparison value matches the second comparison value, storing by the first device an indicator that the second device is an authorized device;
(B) subsequent to registering the second device by the first device:
(1) receiving by the first device at least a first message from the second device;
(2) determining by the first device whether the first message includes a command;
(3) responsive to a determination by the first device that the first message does not contain a command, ignore the command by the first device;
(4) responsive to a determination by the first device that the first message contains a command, determining by the first device whether the second device has been previously authenticated by the first device;
(5) responsive to determining by the first device that the second device has not been previously authenticated, ignoring the command;
(6) responsive to determining by the first device that the second device has been previously authenticated, executing by the first device the command in the first message from the second device;
(7) determining by the first device whether the first message includes a next command; and
(8) responsive to determining that the first message includes a next command, executing the next command without further authentication, wherein:
the indicator includes an identifier of the second device.
8. The non-transitory computer readable medium of claim 7, wherein the first message includes an Extensible Markup Language (XML) command.
9. The non-transitory computer readable medium of claim 7, wherein the instructions are executable for scanning the first message for Extensible Markup Language (XML) opening tag.
10. The non-transitory computer readable medium of claim 7, wherein the indicator includes a PIN code being a derivative value that can be replicated by performing logical operations on the value that is unique to first device.
11. The medium of claim 7, wherein executing the command comprises restart of the first device.
12. The medium of claim 7, wherein executing the command comprises power up of the first device.
13. The medium of claim 7, wherein executing the command comprises power-down of the first device.
US13/209,212 2011-08-12 2011-08-12 System and method for performing commands from a remote source Active 2033-01-23 US9571489B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US13/209,212 US9571489B2 (en) 2011-08-12 2011-08-12 System and method for performing commands from a remote source
EP12175044.2A EP2557755B1 (en) 2011-08-12 2012-07-05 Securely Performing Commands from a Remote Source
KR1020120081629A KR20130018397A (en) 2011-08-12 2012-07-26 System and method for performing commands from a remote source
JP2012179943A JP2013041587A (en) 2011-08-12 2012-07-27 System and method for executing command from remote source

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/209,212 US9571489B2 (en) 2011-08-12 2011-08-12 System and method for performing commands from a remote source

Publications (2)

Publication Number Publication Date
US20130038425A1 US20130038425A1 (en) 2013-02-14
US9571489B2 true US9571489B2 (en) 2017-02-14

Family

ID=46875631

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/209,212 Active 2033-01-23 US9571489B2 (en) 2011-08-12 2011-08-12 System and method for performing commands from a remote source

Country Status (4)

Country Link
US (1) US9571489B2 (en)
EP (1) EP2557755B1 (en)
JP (1) JP2013041587A (en)
KR (1) KR20130018397A (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013110974A1 (en) * 2012-01-26 2013-08-01 Research In Motion Limited Methods and devices for distributing content to an electronic device
US9348849B1 (en) * 2013-12-23 2016-05-24 Emc Corporation Backup client zero-management
WO2016046446A1 (en) * 2014-09-24 2016-03-31 Nokia Technologies Oy Controlling a device
US10157009B2 (en) * 2016-07-06 2018-12-18 Arris Enterprises Llc Custom command file for efficient memory update
US11290392B2 (en) * 2017-01-30 2022-03-29 Intel Corporation Technologies for pooling accelerator over fabric

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020191619A1 (en) * 2001-05-31 2002-12-19 Philip Shafer Network router management interface with API invoked via login stream
US20030046370A1 (en) * 2001-08-29 2003-03-06 Mike Courtney System and method for modeling a network device's configuration
US20040237036A1 (en) * 2003-05-21 2004-11-25 Qulst Robert D. Methods and systems for generating supporting files for commands
US20050063317A1 (en) * 2001-10-24 2005-03-24 Abb Ab System of intelligent devices, a method for providing such a system and a computer data signal
US20050113070A1 (en) * 2003-11-21 2005-05-26 Nec Corporation Mobile terminal authentication method capable of reducing authentication processing time and preventing fraudulent transmission/reception of data through spoofing
US20050172137A1 (en) * 2004-02-03 2005-08-04 Hewlett-Packard Development Company, L.P. Key management technique for establishing a secure channel
EP1645931A1 (en) 2004-10-11 2006-04-12 Telefonaktiebolaget LM Ericsson (publ) Secure loading and storing of data in a data processing device
KR20060095074A (en) 2005-02-25 2006-08-30 엘지전자 주식회사 Certification method between homenet pad and homenet server
US20060230265A1 (en) * 2005-04-08 2006-10-12 Ravi Krishna Cookie-based acceleration of an authentication protocol
KR100652999B1 (en) 2005-06-15 2006-12-01 엘지전자 주식회사 Control message certification method of network device for home network
US20070293194A1 (en) * 2006-05-31 2007-12-20 Samsung Electronics Co., Ltd. Method for providing remote mobile device access and control
US20080056213A1 (en) * 2006-09-01 2008-03-06 Hon Hai Precision Industry Co., Ltd. Mobile station, access point, and method for setting communication parameters
US20080317004A1 (en) * 2007-06-20 2008-12-25 Yigang Cai SIP ENDPOINT CONFIGURATION IN VoIP NETWORKS
US20090222811A1 (en) * 2008-02-29 2009-09-03 Norman Lee Faus Systems and methods for managing software patches
US20090259854A1 (en) * 2008-04-10 2009-10-15 Nvidia Corporation Method and system for implementing a secure chain of trust
US20100053475A1 (en) * 2008-09-03 2010-03-04 Infocus Corporation Illuminated status indicator for an image display device
US7881745B1 (en) 2003-03-10 2011-02-01 Hewlett-Packard Development Company, L.P. Electronic device network employing provisioning techniques to update firmware and/or software in electronic devices
US20110055905A1 (en) 2009-08-31 2011-03-03 Kyocera Mita Corporation Authentication apparatus and computer-readable medium storing authentication program code
US20110172842A1 (en) * 2009-12-29 2011-07-14 Tigo Energy Systems and Methods for Remote or Local Shut-Off of a Photovoltaic System
US20110179278A1 (en) * 2010-01-15 2011-07-21 Dae Youb Kim Apparatus and method of a portable terminal authenticating another portable terminal
US20120174160A1 (en) * 2009-09-08 2012-07-05 Zte Corporation Method and System for Transmitting Electronic Service Guides
US8966226B2 (en) * 2004-07-01 2015-02-24 Texas Instruments Incorporated State machine for monitoring a trace port and verifying proper execution of a secure mode entry sequence instruction

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10175512A (en) * 1996-10-14 1998-06-30 Denso Corp Theft-proofing device using code type transponder
JP3480923B2 (en) * 2000-07-26 2003-12-22 株式会社東芝 Device control method on network and video device using this control method
JP4377644B2 (en) * 2003-09-29 2009-12-02 株式会社東芝 Home appliance remote control system, service providing server, and home appliance remote control method
JP2009193524A (en) * 2008-02-18 2009-08-27 Nec Corp Remote setting system between terminals via network
US9143328B2 (en) * 2008-05-16 2015-09-22 Hewlett-Packard Development Company, L.P. System and method for providing a system management command
JP2010041387A (en) * 2008-08-05 2010-02-18 Sony Corp Information processor and information processing system

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020191619A1 (en) * 2001-05-31 2002-12-19 Philip Shafer Network router management interface with API invoked via login stream
US20030046370A1 (en) * 2001-08-29 2003-03-06 Mike Courtney System and method for modeling a network device's configuration
US20050063317A1 (en) * 2001-10-24 2005-03-24 Abb Ab System of intelligent devices, a method for providing such a system and a computer data signal
US7881745B1 (en) 2003-03-10 2011-02-01 Hewlett-Packard Development Company, L.P. Electronic device network employing provisioning techniques to update firmware and/or software in electronic devices
US20040237036A1 (en) * 2003-05-21 2004-11-25 Qulst Robert D. Methods and systems for generating supporting files for commands
US20050113070A1 (en) * 2003-11-21 2005-05-26 Nec Corporation Mobile terminal authentication method capable of reducing authentication processing time and preventing fraudulent transmission/reception of data through spoofing
US20050172137A1 (en) * 2004-02-03 2005-08-04 Hewlett-Packard Development Company, L.P. Key management technique for establishing a secure channel
US8966226B2 (en) * 2004-07-01 2015-02-24 Texas Instruments Incorporated State machine for monitoring a trace port and verifying proper execution of a secure mode entry sequence instruction
EP1645931A1 (en) 2004-10-11 2006-04-12 Telefonaktiebolaget LM Ericsson (publ) Secure loading and storing of data in a data processing device
KR20060095074A (en) 2005-02-25 2006-08-30 엘지전자 주식회사 Certification method between homenet pad and homenet server
US20060230265A1 (en) * 2005-04-08 2006-10-12 Ravi Krishna Cookie-based acceleration of an authentication protocol
KR100652999B1 (en) 2005-06-15 2006-12-01 엘지전자 주식회사 Control message certification method of network device for home network
US20070293194A1 (en) * 2006-05-31 2007-12-20 Samsung Electronics Co., Ltd. Method for providing remote mobile device access and control
US20080056213A1 (en) * 2006-09-01 2008-03-06 Hon Hai Precision Industry Co., Ltd. Mobile station, access point, and method for setting communication parameters
US20080317004A1 (en) * 2007-06-20 2008-12-25 Yigang Cai SIP ENDPOINT CONFIGURATION IN VoIP NETWORKS
US20090222811A1 (en) * 2008-02-29 2009-09-03 Norman Lee Faus Systems and methods for managing software patches
US20090259854A1 (en) * 2008-04-10 2009-10-15 Nvidia Corporation Method and system for implementing a secure chain of trust
US20100053475A1 (en) * 2008-09-03 2010-03-04 Infocus Corporation Illuminated status indicator for an image display device
US20110055905A1 (en) 2009-08-31 2011-03-03 Kyocera Mita Corporation Authentication apparatus and computer-readable medium storing authentication program code
US20120174160A1 (en) * 2009-09-08 2012-07-05 Zte Corporation Method and System for Transmitting Electronic Service Guides
US20110172842A1 (en) * 2009-12-29 2011-07-14 Tigo Energy Systems and Methods for Remote or Local Shut-Off of a Photovoltaic System
US20110179278A1 (en) * 2010-01-15 2011-07-21 Dae Youb Kim Apparatus and method of a portable terminal authenticating another portable terminal

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Dellutri et al., "Local Authentication with Bluetooth enabled Mobile Devices," Joint International Conference on Autonomic and Autonomous Systems and International Conference on Networking and Services-(icas-isns'05) Year: 2005 pp. 72-72. *
Korean Patent Application No. 10-2012-81629, Notice of Preliminary Rejection, mailed Oct. 22, 2013, (with English Translation).
O'Gorman, L. "Comparing passwords, tokens, and biometrics for user authentication,"Proceedings of the IEEE Year: 2003, vol. 91, Issue: 12 pp. 2021-2040. *

Also Published As

Publication number Publication date
JP2013041587A (en) 2013-02-28
EP2557755A2 (en) 2013-02-13
US20130038425A1 (en) 2013-02-14
KR20130018397A (en) 2013-02-21
EP2557755A3 (en) 2016-05-18
EP2557755B1 (en) 2019-03-20

Similar Documents

Publication Publication Date Title
US7840688B2 (en) Information processing device, server client system, method, and computer program
US20190236300A1 (en) Service processing method and apparatus, data sharing system, and storage medium
US11093981B2 (en) Smart broadcasting device
EP2550769B1 (en) System and method for remote maintenance of multiple clients in an electronic network using virtual machines
US7752289B2 (en) Device authentication apparatus device authentication method information processing apparatus information processing method and computer program
US20190273737A1 (en) Method, system, and device for communicating data between devices to control one of the devices
US7493487B2 (en) Portable computing environment
US11907700B2 (en) Upgrading method and system, server, and terminal device
US9571489B2 (en) System and method for performing commands from a remote source
US20150281196A1 (en) Increased communication security
WO2014111022A1 (en) Mobile terminal user information display method, mobile terminal, and service system
CN109996229B (en) Data transmission method and device based on DHT network, electronic equipment and storage medium
MXPA05011088A (en) Portable computing environment.
WO2002065258A2 (en) Method and apparatus for authenticating embedded software in a remote unit over a communications channel
CN114462096A (en) Block chain-based Internet of things equipment control method and device, computer equipment and storage medium
WO2000018162A1 (en) Method and apparatus for authenticating embedded software in a remote unit over a communications channel
US8621191B2 (en) Methods, apparatuses, and computer program products for providing a secure predefined boot sequence
WO2022257927A1 (en) Key burning method and apparatus, electronic device board card, and storage medium
CN111444496A (en) Application control method, device, equipment and storage medium
US20040193884A1 (en) Secure watchdog for embedded systems
KR102349272B1 (en) Electronic apparatus for controlling registration session and operating method thereof, server and operating method thereof
CN111541649A (en) Password resetting method, device, server and storage medium
KR102434275B1 (en) Remote resetting to factory default settings, a method and a device
CN108574658B (en) Application login method and device
CN112074837A (en) Modification of storage device authentication

Legal Events

Date Code Title Description
AS Assignment

Owner name: SONY CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIU, KAI;DOUILLET, LUDOVIC;WINGO, LOBRENZO;AND OTHERS;SIGNING DATES FROM 20110810 TO 20110812;REEL/FRAME:028191/0512

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); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4