Secure voice interface in a streaming media device to avoid vulnerability attacks

An apparatus, method, and computer-readable recording medium receives secure voice commands by an application executing within a smart media device while attached to the Internet. A controller of a smart media device activates an application within the smart media device, determines whether or not the application uses secure voice commands, and when the smart media device determines that the application uses secure voice commands, performs the following: enables the trusted execution environment to receive and decrypt the encrypted audio data and generate application commands corresponding to processing decrypted voice commands, receives, by the application, application commands corresponding to processing decrypted voice commands, and performs the application commands.

TECHNICAL FIELD

The subject matter of the present disclosure relates generally to management and control of wireless devices in a wireless network.

BACKGROUND

There has been a rapid rise in the use of wireless devices in wireless networks, which has increased traffic drastically, degraded the quality of service, and reduced the coverage capabilities of many network devices (e.g., gateways, access points, and wireless extenders). One class of wireless devices includes smart media devices that connect to remote content servers to obtain streaming media content data upon request of a user for displaying to and viewing by the user. In order to interact with these smart media devices, users are beginning to provide voice command interfaces in which voice data may be captured from the user near the smart media device.

Technology to process and decode voice command data into commands to be executed by an application is beginning to mature. Applications that attempt to use these voice commands gain access to an input device such as a microphone to be able to listen when users are issuing commands. Unfortunately, applications that run on smart media devices are available from a variety of sources. These sources may include untrustworthy parties who want to gain access to a user's microphone to be able to listen into the users when they are using the smart media devices. Applications also may be infected with malware and viruses that attempt to accomplish the same using other party's applications.

Thus, it would be advantageous and an improvement over the relevant technology to provide a smart media device for providing secure voice commands to an application executing within the smart media device while attached to the Internet. The present invention attempts to address the limitations and deficiencies of prior art solutions according to principles and example embodiments disclosed herein.

SUMMARY

An aspect of the present disclosure provides a smart media device for providing secure voice commands to an application executing within the smart media device while attached to the Internet. The wireless network is configured to communicatively interconnect the gateway device, a smart media device, and one or more client devices. In this aspect of the present disclosure, the smart media device includes a network controller, a non-transitory memory storing a program, and a communication interface configured to establish communication connections with the one or more client devices and the smart media device via the wireless network.

The network controller is configured to execute the program to receive secure voice commands by an application executing within the smart media device while attached to the Internet. A controller of a smart media device activates an application within the smart media device, determines whether or not the application uses secure voice commands and when the smart media device determines that the application uses secure voice commands, performs the following: enables the trusted execution environment to receive and decrypt the encrypted audio data and generate application commands corresponding to processing decrypted voice commands, receives—by the application—application commands corresponding to processing decrypted voice commands, and performs the application commands.

In an aspect of the present disclosure, the controller of the smart media device determines whether or not the application uses a remote voice-speech server and when the smart media device determines that the encrypted voice commands are to be processed by a remote voice-speech server, performs the following: enables the trusted execution environment to receive the encrypted audio data, sends the encrypted audio data to the remote voice-speech server for processing, receives, by the application, application commands corresponding to processing decrypted voice commands, and performs the application commands.

In an aspect of the present disclosure, the controller of the smart media device determines whether or not the application uses a remote voice-speech server and when the smart media device determines that the encrypted voice commands are not to be processed by a remote voice-speech server, performs the following: enables the trusted execution environment to receive the encrypted audio data, receives and decrypts—by the trusted execution environment—the encrypted audio data, generates the application commands corresponding to processing decrypted voice commands—by the trusted execution environment—receives by the application commands corresponding to processing decrypted voice commands, and performs the application commands corresponding to processing decrypted voice commands.

In an aspect of the present disclosure, when the controller of the smart media device determines that the application does not use secure voice commands, performs the following: enables the secure microphone to transmit clear voice data to a voice service environment, receives clear voice data from the secure microphone, generates the application commands from the clear voice data, and sends the application commands to the application.

In another aspect of the present disclosure, the voice service environment is configured to execute the instructions on the memory by the processor.

In another aspect of the present disclosure, when the controller of the smart media device determines that the application does not use secure voice commands, performs the following: enables the secure microphone to transmit clear voice data and sends the clear voice data to the application.

An aspect of the present disclosure provides a method for providing secure voice commands to an application executing within the smart media device while attached to the Internet. The wireless network is configured to communicatively interconnect a gateway device, a smart media device, and one or more client devices. The method includes activating an application within the smart media device and determining whether or not the application uses secure voice commands; when the smart media device determines that the application uses secure voice commands, performs the following: enables the trusted execution environment to receive and decrypt the encrypted audio data, receives—by the application—the decrypted voice commands, and performs the decrypted voice commands.

An aspect of the present disclosure provides a non-transitory computer-readable recording medium in a gateway device for providing secure voice commands to an application executing within the smart media device while attached to the Internet. The wireless network is configured to communicatively interconnect the gateway device, a smart media device, and one or more client devices and the non-transitory computer-readable recording medium storing one or more programs, which when executed by a network controller of the gateway device, performs steps of the methods described above.

DETAILED DESCRIPTION

FIG.1is a schematic diagram of a system according to an embodiment of the present disclosure. As shown inFIG.1, the main elements of the system include a gateway device2connected to the Internet6via an Internet Service Provider (ISP)1and also connected to different wireless devices such as a smart media device7, wireless extenders3, and client devices4. A content server102and a voice-speech server101are also connected to the Internet6for use by the smart media device7. The content server102provides streaming media content data to the smart media device7for display to a user via an attached display device such as a television or large screen display.

A voice-speech server101provides a remote speech processing service to the smart media device7to convert voice commands received by the smart media device7from an attached microphone5. The voice commands are received as digitized audio data and processed to provide the smart media device7with instructions to control its operation. In some embodiments of the present invention, the voice commands may be processed by the voice-speech server101, while in alternate embodiments the voice command processing may be performed within the smart media device7.

The system shown inFIG.1includes wireless devices (e.g., smart media device7, wireless extenders3, and client devices4) that may be connected in one or more wireless networks (e.g., private, guest, iControl, backhaul network, or Internet of things (IoT) network) within the system. Additionally, there could be some overlap between wireless devices (e.g., smart media device7, wireless extenders3, and client devices4) in the different networks. That is, one or more network devices could be located in more than one network. For example, the smart media device7could be located both in a private network for providing content and information to a client device4and also included in a backhaul network or an iControl network.

Starting from the top ofFIG.1, the ISP1can be, for example, a streaming video provider or any content server computer102providing streaming media data to the smart media device7via the gateway device2over the Internet6. The connection14between the Internet6and the ISP1and the connection13between the ISP1and the gateway device2can be implemented using, for example, a wide area network (WAN), a virtual private network (VPN), metropolitan area networks (MANs), system area networks (SANs), a DOCSIS network, a fiber optics network (e.g., FTTH (fiber to the home) or FTTX (fiber to the x), or hybrid fiber-coaxial (HFC)), a digital subscriber line, a public switched data network (PSDN), a global Telex network, or a 2G, 3G, 4G or 5G network.

The connection13can further include as some portion thereof a broadband network connection, an optical network connection or other similar connections. For example, the connection13can also be implemented using a fixed wireless connection that operates in accordance with, but is not limited to, 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE) or 5G protocols.

The gateway device2can be, for example, a hardware electronic device that may be a combination modem and gateway device that combines the functions of a modem, an access point, and/or a router for providing content received from the content provider1to network devices (e.g., wireless extenders3and client devices4) in the system. It also is contemplated by the present disclosure that the gateway device2can include the function of, but is not limited to, an Internet Protocol/Quadrature Amplitude Modulator (IP/QAM) set-top box (STB) or smart media device (SMD) that is capable of decoding audio/video content and playing over-the-top (OTT)- or multiple system operator (MSO)-provided content. The gateway device2therefore may include the functionality of a smart media device7that receives streaming media content data from the content server102for display to the user. In the embodiment ofFIG.1, the smart media device7is depicted as a separate device in order to emphasize the voice command processing associated with the smart media device7; functions that are separate from the creation and maintenance of a wireless network provided by a gateway device2.

The smart media device7communicates with the content server102to identify streaming media content that the user wishes to view. The smart media device7accepts input commands from the user to instruct the playing of the streaming media content onto a display device. The smart media device7then requests the content server102to send the streaming media content as a data stream over the Internet6to the smart media device7.

The connection9between the gateway device2, the wireless extenders3, smart media device7, and client devices4can be implemented using a wireless connection in accordance with any IEEE 802.11 Wi-Fi protocols, Bluetooth protocols, Bluetooth Low Energy (BLE) protocols, or other short range protocols that operate in accordance with wireless technology standard for exchanging data over short distances using any licensed or unlicensed band such as the citizens broadband radio service (CBRS) band, 2.4 GHz bands, 5 GHz bands, 6 GHz bands, or 60 GHZ bands. Additionally, the connection9can be implemented using a wireless connection that operates in accordance with, but is not limited to, RF4CE, ZigBee, Z-Wave or IEEE 802.15.4 protocols. It also is contemplated by the present disclosure that the connection9can include connections to a media over coax (MoCA) network. One or more of the connections9also can be a wired Ethernet connection.

The wireless extenders3can be, for example, hardware electronic devices such as access points used to extend the wireless network by receiving the signals transmitted by the gateway device2and rebroadcasting the signals to, for example, client devices4which may be out of range of the gateway device2. The wireless extenders3also can receive signals from the client devices4and rebroadcast the signals to the gateway device2or other client devices4.

The connection11between the wireless extenders3and the smart media devices7are implemented through a wireless connection that operates in accordance with any IEEE 802.11 Wi-Fi protocols, Bluetooth protocols, Bluetooth Low Energy (BLE) protocols, or other short range protocols that operate in accordance with a wireless technology standard for exchanging data over short distances using any licensed or unlicensed band such as the CBRS band, 2.4 GHz bands, 5 GHz bands, 6 GHz bands, or 60 GHz bands. Additionally, the connection11can be implemented using a wireless connection that operates in accordance with, but is not limited to, RF4CE, ZigBee, Z-Wave or IEEE 802.15.4 protocols. Also, one or more of the connections11can be a wired Ethernet connection.

The client devices4can be, for example, hand-held computing devices, personal computers, electronic tablets, smart phones, smart speakers, IoT devices, iControl devices, portable music players with smart capabilities capable of connecting to the Internet, and cellular networks interconnecting with other devices via Wi-Fi and Bluetooth, or other wireless hand-held consumer electronic devices capable of executing and displaying content received through the gateway device2. Additionally, the client devices4can be a TV, an IP/QAM STB or an SMD that is capable of decoding audio/video content and playing over OTT- or MSO-provided content received through the gateway device2.

A detailed description of the exemplary internal components of the gateway device2, the wireless extenders3, and the client devices4shown inFIG.1will be provided in the discussion ofFIG.2. However, in general, it is contemplated by the present disclosure that the gateway device2, the wireless extenders3, and the client devices4include electronic components or electronic computing devices operable to receive, transmit, process, store, and/or manage data and information associated with the system, which encompasses any suitable processing device adapted to perform computing tasks consistent with the execution of computer-readable instructions stored in a memory or a computer-readable recording medium.

Further, any, all or some of the computing components in the gateway device2, the wireless extenders3, and the client devices4may be adapted to execute any operating system, including Linux, UNIX, Windows, MacOS, DOS, and ChromOS as well as virtual machines adapted to virtualize execution of a particular operating system, including customized and proprietary operating systems. The gateway device2, the wireless extenders3, and the client devices4are further equipped with components to facilitate communications with other computing devices over the one or more network connections to local and wide area networks, wireless and wired networks, public and private networks, and any other communication network enabling communication in the system.

FIG.2is a more detailed schematic diagram of an exemplary gateway device2, an exemplary wireless extender3, and an exemplary smart media device7implemented in the system ofFIG.1according to an embodiment of the present disclosure. AlthoughFIG.2only shows one wireless extender3and smart media device7, the wireless extender3and the smart media device7shown in the figure are meant to be representative of the other wireless extenders3and smart media device7shown inFIG.1. Similarly, the connections9between the gateway device2, the wireless extender3, and the smart media device7shown inFIG.2are meant to be exemplary connections and are not meant to indicate all possible connections between the gateway devices2, wireless extenders3, and smart media device7. Additionally, it is contemplated by the present disclosure that the number of gateway devices2, wireless extenders3, and smart media devices7is not limited to the number of gateway devices2, wireless extenders3, and smart media devices7shown inFIGS.1and2.

Now referring toFIG.2(e.g., from left to right), the smart media device7can be, for example, a computer, a portable device, an electronic tablet, an e-reader, a PDA, a smart phone, a smart speaker, an IoT device, an iControl device, portable music player with smart capabilities capable of connecting to the Internet, and cellular networks interconnecting with other devices via Wi-Fi and Bluetooth, or other wireless hand-held consumer electronic device capable of executing and displaying the content received through the gateway device2. Additionally, the smart media device7can be a TV, an IP/QAM STB, or an SMD that is capable of decoding audio/video content, and playing over OTT- or MSO-provided content received through the gateway device2.

As shown inFIG.2, the smart media device7includes a power supply28, user interface29, network interface30, a memory31, speaker36, microphone35, and a controller33. The power supply28provides power to the internal components of the client device4through the internal bus34. The power supply28can be a self-contained power source such as a battery pack with an interface to be powered through an electrical charger connected to an outlet (e.g., either directly or by way of another device). The power supply28also can include a rechargeable battery that can be detached allowing for replacement such as nickel-cadmium (NiCd), nickel metal hydride (NiMH), lithium-ion (Li-ion) or lithium polymer (Li-pol) batteries.

The user interface29includes, but is not limited to, push buttons, keyboard, keypad, liquid crystal display (LCD), cathode ray tube (CRT), thin film transistor (TFT), light-emitting diode (LED), high definition (HD) or other similar display device including a display device having touch screen capabilities so as to allow interaction between a user and the smart media device7. The speaker36and microphone35provide an audio input and output component to the user interface29. The network interface30can include, but is not limited to, various network cards, interfaces, and circuitry implemented in software and/or hardware to enable communications with the gateway device2and the wireless extender3using the wireless protocols in accordance with connection9(e.g., as described with reference toFIG.1).

The memory31includes a single memory or one or more memories or memory locations that include, but are not limited to, a random access memory (RAM), a dynamic random access memory (DRAM) a memory buffer, a hard drive, a database, an erasable programmable read only memory (EPROM), an electrically erasable programmable read only memory (EEPROM), a read only memory (ROM), a flash memory, logic blocks of a field programmable gate array (FPGA), a hard disk or any other various layers of memory hierarchy. The memory31can be used to store any type of instructions, software or algorithms for controlling the general function and operations of the smart media device7in accordance with the embodiments described in the present disclosure (e.g., including the optimized onboarding of user devices according to the embodiments of the present disclosure).

The controller33controls the general operations of the smart media device7and includes, but is not limited to, a central processing unit (CPU), a hardware microprocessor, a hardware processor, a multi-core processor, a single core processor, a field programmable gate array (FPGA), a microcontroller, an application specific integrated circuit (ASIC), a digital signal processor (DSP) or other similar processing device capable of executing any type of instructions, algorithms or software for controlling the operation and functions of the smart media device7in accordance with the embodiments described in the present disclosure. Communications between the components (e.g.,28-31and33) of the smart media device7may be established using an internal bus34.

The wireless extender3can be, for example, a hardware electronic device such as an access point used to extend a wireless network by receiving the signals transmitted by the gateway device2and rebroadcasting the signals to client devices4, which may be out of range of the gateway device2. The wireless extender3also can receive signals from the client devices4and rebroadcast the signals to the gateway device2, mobile device5, smart media device7or other client devices4.

As shown inFIG.2, the wireless extender3includes a user interface46, a power supply47, a network interface48, a memory49, and a controller51. The user interface46can include, but is not limited to, push buttons, a keyboard, a keypad, an LCD, a TFT, an LED, an HD or other similar display device including a display device having touch screen capabilities so as to allow interaction between a user and the wireless extender3. The power supply47supplies power to the internal components of the wireless extender3through the internal bus53. The power supply47can include a self-contained power source such as a battery pack with an interface to be powered through an electrical charger connected to an outlet (e.g., either directly or by way of another device). The power supply47can also include a rechargeable battery that can be detached allowing for replacement such as a NiCd, a NiMH, a Li-ion, or a Li-pol battery.

The network interface48can include various network cards, interfaces, and circuitry implemented in software and/or hardware to enable communications with the client device4, smart media device7, and the gateway device2using the wireless protocols in accordance with connection9(e.g., as described with reference toFIG.1). The memory49can include a single memory or one or more memories or memory locations that include, but are not limited to, a RAM, a DRAM, a memory buffer, a hard drive, a database, an EPROM, an EEPROM, a ROM, a flash memory, logic blocks of an FPGA, hard disk or any other various layers of memory hierarchy.

The memory49can be used to store any type of instructions, software or algorithm including software50associated with controlling the general function and operations of the wireless extender3in accordance with the embodiments described in the present disclosure (e.g., including optimized onboarding of user devices according to the embodiments of the present disclosure).

The controller51controls the general operations of the wireless extender3and can include, but is not limited to, a CPU, a hardware microprocessor, a hardware processor, a multi-core processor, a single core processor, an FPGA, a microcontroller, an ASIC, a DSP or other similar processing device capable of executing any type of instructions, algorithms or software for controlling the operation and functions of the wireless extender3in accordance with the embodiments described in the present disclosure. General communications between the components (e.g.,46-49and51) of the wireless extender3may be established using the internal bus53.

The gateway device2can be, for example, a hardware electronic device that can combine the functions of a modem, an access point, and/or a router for providing content received from the content provider1to network devices (e.g., wireless extenders3, client devices4, and smart media device7) in the system. It also is contemplated by the present disclosure that the gateway device2can include the function of, but is not limited to, an IP/QAM STB or SMD that is capable of decoding audio/video content, and playing OTT- or MSO-provided content.

As shown inFIG.2, the gateway device2includes a user interface20, a network interface21, a power supply22, a WAN interface23, a memory24, and a network controller26. The user interface20can include, but is not limited to, push buttons, a keyboard, a keypad, an LCD, a CRT, a TFT, an LED, an HD or other similar display device including a display device having touch screen capabilities so as to allow interaction between a user and the gateway device2. The network interface21may include various network cards, and circuitry implemented in software and/or hardware to enable communications with the wireless extender3, smart media device7, and client device4using the wireless protocols in accordance with connection9(e.g., as described with reference toFIG.1). Additionally, the various network cards, interfaces, and circuitry of the network interface21enable communications with the mobile device using the wireless protocols in accordance connection10(e.g., as described with reference toFIG.1).

The power supply22provides power to the internal components of the gateway device2through the internal bus27. The power supply22can be a self-contained power source such as a battery pack with an interface to be powered through an electrical charger connected to an outlet (e.g., either directly or by way of another device). The power supply22also can include a rechargeable battery that can be detached allowing for replacement such as NiCd, NiMH, Li-ion or Li-pol batteries. The WAN interface23may include various network cards and circuitry implemented in software and/or hardware to enable communications between the gateway device2and the ISP1using the wireless protocols in accordance with connection13(e.g., as described with reference toFIG.1).

The memory24includes a single memory or one or more memories or memory locations that include, but are not limited to, a RAM, a DRAM, a memory buffer, a hard drive, a database, an EPROM, an EEPROM, a ROM, a flash memory, logic blocks of a FPGA, hard disk or any other various layers of memory hierarchy. The memory24can be used to store any type of instructions, software or algorithm including software25for controlling the general function and operations of the gateway device2and performing management functions related to the other devices (wireless extenders3, smart media device7, and client device4) in the network in accordance with the embodiments described in the present disclosure (e.g., including optimized onboarding of user devices according to the embodiments of the present disclosure).

The network controller26controls the general operations of the gateway device2as well as performs management functions related to the other devices (wireless extenders3and client device4) in the network. The network controller can include, but is not limited to, a CPU, a hardware microprocessor, a hardware processor, a multi-core processor, a single core processor, a FPGA, a microcontroller, an ASIC, a DSP or other similar processing device capable of executing any type of instructions, algorithms or software for controlling the operations and function of the gateway device2in accordance with the embodiments described in the present disclosure. Communications between the components (e.g.,20-24, and26) of the gateway device2may be established using the internal bus27.

FIG.3is a more detailed schematic diagram of system software layers within a smart media device implemented in the system ofFIG.1according to an embodiment of the present disclosure. System software within the smart media device7comprises a plurality of applications302-304within an application layer301a, voice services305within a platform layer301b, a voice software developer kit (SDK)306within a hardware abstraction layer301c, and a trusted execution environment (TEE)307within a system hardware layer301d. The applications302-304are software programs that may be downloaded onto the smart media device7from a content server102in order to permit the smart media device7to obtain streaming media content from the content server102for display to the user.

These applications302-304are created and provided to users from entities unknown to the smart media device7and are not considered to be trusted applications. Hackers and other untrustworthy parties may attempt to utilize these applications302-304to gain control over the smart media device7and cause it to operate in an undesired manner without knowledge of its operation by the user. The present invention adds a level of security to the operation of the smart media device7to thwart the attempts of these third parties.

The voice service305in the platform layer301bconnects the applications302-304to voice command data received from the user via a microphone315. The voice command data may include clear voice data312(e.g., unencrypted voice data), encrypted voice data316processed within the TEE307, and encrypted voice data316processed by the voice-speech server304. Depending upon settings of the smart media device7, the applications302-304may obtain either encrypted data316from the microphone315or clear voice data312from the microphone315. These settings may be controlled by a user of the smart media device7. The applications302-304also may request that encrypted data316is processed from the microphone315. The microphone315may connect to an input that generates the encrypted data316immediately upon receipt and never stores clear voice data into memory of the smart media device7preventing its availability to any application302-304. An encryption key is stored into the smart media device7that is used by the microphone315to generate the encrypted data316. This encryption key may be generated and stored at the time of manufacture.

The TEE307is a trusted program running in hardware-protected memory that is inaccessible by the applications302-304. If an application is not certified to run in the TEE307, a fault exception is noted, the memory access is not performed, and the controller33may terminate operation of the offending application and any other related operations. The TEE307is embedded into the system software of the smart media device7. A voice input trusted application310is used to decrypt the encrypted data316received from the microphone315and then processes the voice command data to generate commands for instructing the applications302-304to perform various tasks. For example, one application302may provide the user with access to streaming media data from Netflix™. The user may provide voice commands to search for a particular video to watch, to start, pause, restart, and stop the streaming video from the Netflix™ content server102, enter account and password information, and the like.

When the user has set the smart media device7to operate with encrypted data316, the TEE307processes the data using the same encryption key as was used by the microphone315. The decrypted data is then sent to the voice services305to generate the various application commands that instruct the application302what to do. When a voice-speech server101is used, the encrypted data316is passed from the TEE307to the voice services305. The voice services305transmits the encrypted data321to the voice-speech server101for processing. The resulting commands320are received by the voice services305for transmission to the application302.

In a case in which the smart media device7is set to not use encrypted data316, clear voice data312is sent from the microphone315to the voice services305directly while bypassing the TEE307. The voice services305determine whether the voice command data is to be processed on the smart media device7by the voice services305or by the application302, or whether or not the voice command data is to be sent to the voice-speech server101. The unencrypted data312is sent to the appropriate destination.

FIG.4illustrates a method and algorithm for providing secure voice commands to an application executing within the smart media device while attached to the Internet according to an embodiment of the present disclosure. InFIG.4, it is assumed that the smart media device7includes its respective software32stored in its memory31which, when executed by the controller33, performs the function and operations in accordance with the embodiments described in the present disclosure (e.g., including providing secure voice commands to an application executing within the smart media device while attached to the Internet according to the embodiments of the present disclosure, and including performing various processes constituting operation of the TEE307). The smart media device also comprises its microphone315, TEE307, voice services305, and applications302-304. The voice-speech server101also may be connected to the smart media device7over the Internet6.

The method and algorithm ofFIG.4provides the data flow of the voice commands provided by the user to the smart media device7through to the applications302-304in which the commends are directed. In the first sequence of operations encrypted data316is processed by a voice speech server101. The sequence begins in step401when application1302requests voice data commands to be received from the user. Voice audio data is obtained by the microphone and immediately encrypted using a pre-stored encryption key in step402before the encrypted data316is sent to the TEE307. In step403, the TEE307decrypts the encrypted data using the pre-stored key and sends the data to the voice-speech server101. The voice-speech server101returns application commands in step404to application1302that instructs the application how it is to perform. The data flow of steps401-404are identical when the voice-speech server101performs the decryption of the voice command data and the processing of the decrypted data to generate application commands. In the latter sequence, the TEE307merely forwards the encrypted voice data to the voice-speech server101without further processing.

In another sequence of data flow, application2303requests voice command data be captured in step411using encrypted data. In step412, voice command data is captured by the microphone and immediately encrypted before it is sent to the TEE307. The TEE307, in step413, decrypts the encrypted data and generates application commands. The application commands are sent to application2303in step413for execution.

In yet another data flow sequence, application1302requests voice command data to be captured in step421. The smart media device7is not operating in a secure mode and does not encrypt the captured voice data. In step422, the voice command data is sent to the voice-speech server101and application commands are returned to application1302in step423.

In a final data flow sequence, application2303requests voice command data be captured in step431. Once again, the smart media device7is not operating in a secure mode and does not encrypt the captured voice data. The microphone316sends clear voice data314to application2303directly via the voice services305. Application2303performs all voice processing to detect and decode commands from the voice command data.

FIG.5illustrates a method and algorithm for providing secure voice commands to an application executing within the smart media device while attached to the Internet according to an embodiment of the present disclosure. InFIG.5, it is assumed that the smart media device7includes its respective software32stored in its memory31which, when executed by the controller33, performs the function and operations in accordance with the embodiments described in the present disclosure (e.g., including providing secure voice commands to an application executing within the smart media device while attached to the Internet according to the embodiments of the present disclosure). The smart media device also comprises its microphone315, TEE307, voice services305, and applications302-304. The voice-speech server101also may be connected to the smart media device7over the Internet6.

The process500begins when the user activates a smart media device application in step501. It is assumed that the application has been previously installed by the user from its source into the smart media device7. In test step502, the smart media device7controller33determines whether or not the application is to use secure voice commands. As noted above, the mode of operation in using either secure voice commands or unencrypted commands is controlled by a user setting of the smart media device. When the secure voice commands are not to be used, the controller33enables the use of clear voice data314in step503and the voice data is sent to the application in step504.

When the controller in test step502determines that secure voice commands are to be used, test step511is used by the controller33to determine whether or not a remote voice-speech server101is to be used. When a remote voice-speech server101is to be used, the TEE307is enabled to send audio data to the remote voice-speech server in step512. The encrypted voice command data316is sent to the voice-speech server101in step513. The responsive application commands are received in step514by the smart media device7. The application commands are sent to the application in step504.

When a remote voice-speech server101is not to be used, the TEE307is enabled to decrypt the voice command data316in step521. The TEE, in step522, decrypts the voice command data316and its voice data is sent to the application in step504. In using the encrypted voice command data316, the clear voice data314is not stored into the memory of the smart media device7. If the clear voice data314is never in the memory of the smart media device, the voice data cannot be improperly captured by a rogue application. The method and algorithm ofFIG.5address this problem.

The present disclosure may be implemented as any combination of an apparatus, a system, an integrated circuit, and a computer program on a non-transitory computer readable recording medium. The one or more processors may be implemented as an integrated circuit (IC), an application specific integrated circuit (ASIC), large scale integrated circuit (LSI), system LSI, super LSI, or ultra LSI components that perform a part or all of the functions described in the present disclosure.

The present disclosure includes the use of software, applications, computer programs or algorithms. The software, applications, computer programs or algorithms can be stored on a non-transitory computer-readable medium for causing a computer, such as the one or more processors, to execute the steps described inFIGS.3and4. For example, the one or more memories store software or algorithms with executable instructions and the one or more processors can execute a set of instructions of the software or algorithms in association with providing monitoring and installation enhancements in any number of wireless networks in accordance with the embodiments described in the present disclosure.

The software and computer programs, which can also be referred to as programs, software applications, applications, components or code, include machine instructions for a programmable processor and can be implemented in a high-level procedural language, an object-oriented programming language, a functional programming language, a logical programming language or an assembly language or machine language. The term computer-readable recording medium refers to any computer program product, apparatus or device, such as a magnetic disk, optical disk, solid-state storage device, memory, and programmable logic devices (PLDs), used to provide machine instructions or data to a programmable data processor, including a computer-readable recording medium that receives machine instructions as a computer-readable signal.

By way of example, a computer-readable medium can comprise DRAM, RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices or any other medium that can be used to carry or store desired computer-readable program code in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer or a general-purpose or special-purpose processor. Disk or disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above also are included within the scope of computer-readable media.

Use of the phrases “capable of,” “capable to,” “operable to,” or “configured to” in one or more embodiments, refers to some apparatus, logic, hardware, and/or element designed in such a way to enable use of the apparatus, logic, hardware, and/or element in a specified manner. The subject matter of the present disclosure is provided as examples of apparatus, systems, methods, and programs for performing the features described in the present disclosure. However, further features or variations are contemplated in addition to the features described above. It is contemplated that the implementation of the components and functions of the present disclosure can be done with any newly arising technology that may replace any of the above implemented technologies.

Additionally, the above description provides examples, and is not limiting of the scope, applicability or configuration set forth in the claims. Changes may be made in the function and arrangement of elements discussed without departing from the spirit and scope of the disclosure. Various embodiments may omit, substitute or add various procedures or components as appropriate. For instance, features described with respect to certain embodiments may be combined in other embodiments.