Forged command filtering system and related command authentication circuit

A forged command filtering system includes: a secure command generating device for performing a digital signature operation on a selected command to generate a command request; a command transmitting device for receiving and transmitting the command request; a target device; and a command authentication circuit. The command authentication circuit includes: a communication interface for communicating with the command transmitting device or the target device; a secure micro-controller for storing a signature verification key of the secure command generating device; a control circuit for cooperating with the secure micro-controller to authenticate the command request using the signature verification key; and a storage circuit for storing data required for the operations of the control circuit. The control circuit further instructs the target device to execute a target command corresponding to the command request only if the command request passed the authentication processes of the secure micro-controller and the control circuit.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority to Patent Application No. 201610633248.0, filed in China on Aug. 4, 2016; the entirety of which is incorporated herein by reference for all purposes.

BACKGROUND

The disclosure generally relates to a technology of network communication security control and, more particularly, to a forged command filtering system, a collaborative operating system, and a related command authentication circuit.

As the progress of Internet technologies, related applications have become much more diversified than before. Since enormous amount of service devices for use in commercial applications or consumer utilization have been developed, various types of information security threats will become more troublesome. For example, in the upcoming era of IoT (Internet of things), the quantity of networking devices will increase more dramatically, and most communications and interactions among these networking devices will be automatically conducted without user intervention. In addition, when the concept of smart manufacturing like Industry 4.0 is widely applied, more and more devices need to automatically conduct collaborative operations with each other to achieve specific task without user intervention.

However, malicious program codes or intruders within the Internet or other networking environments may invade into the system through the interaction among networking devices and utilize forged command to maliciously manipulate the infected devices to perform various operations, thereby resulting in unpredictable damages and adverse consequence.

SUMMARY

An example embodiment of a forged command filtering system is disclosed, comprising: a secure command generating device, arranged to operably perform a digital signature operation on a selected command to generate a command request; a command transmitting device, arranged to operably receive and transmit the command request; a target device; and a command authentication circuit comprising: a communication interface, arranged to operably communicate with the command transmitting device or the target device, and to operably receive the command request; a secure micro-controller, arranged to operably store a signature verification key of the secure command generating device; a control circuit, coupled with the communication interface and the secure micro-controller, arranged to operably communicate with the command transmitting device or the target device through the communication interface, and arranged to operably cooperate with the secure micro-controller to authenticate the command request using the signature verification key; and a storage circuit, coupled with the control circuit, and arranged to operably store data required for operations of the control circuit; wherein the control circuit further instructs the target device to execute a target command corresponding to the command request only if the command request passed authentication processes conducted by the secure micro-controller and the control circuit.

Another example embodiment of a collaborative operating system is disclosed, comprising: a secure command generating device, arranged to operably perform a digital signature operation on a first-station command to generate a first-station command request, to operably perform a digital signature operation on a second-station command to generate a second-station command request, and to operably perform a digital signature operation on a third-station command to generate a third-station command request; a first device group; a second device group; and a third device group. The first device group comprises: a first command transmitting device, arranged to operably receive and transmit the first-station command request; a first target device; and a first command authentication circuit comprising: a first communication interface, arranged to operably communicate with the first command transmitting device or the first target device, and to operably receive the first-station command request; a first secure micro-controller, arranged to operably store a signature verification key of the secure command generating device; a first control circuit, coupled with the first communication interface and the first secure micro-controller, arranged to operably communicate with the first command transmitting device or the first target device through the first communication interface, and to operably cooperate with the first secure micro-controller to authenticate the first-station command request using the signature verification key; and a first storage circuit, coupled with the first control circuit, and arranged to operably store data required for operations of the first control circuit; wherein the first control circuit further instructs the first target device to execute a first target command corresponding to the first-station command request only if the first-station command request passed authentication processes conducted by the first secure micro-controller and the first control circuit. The second device group comprises: a second command transmitting device, arranged to operably receive and transmit the second-station command request; a second target device; and a second command authentication circuit comprising: a second communication interface, arranged to operably communicate with the second command transmitting device or the second target device, and to operably receive the second-station command request; a second secure micro-controller, arranged to operably store the signature verification key of the secure command generating device; a second control circuit, coupled with the second communication interface and the second secure micro-controller, arranged to operably communicate with the second command transmitting device or the second target device through the second communication interface, and to operably cooperate with the second secure micro-controller to authenticate the second-station command request using the signature verification key; and a second storage circuit, coupled with the second control circuit, and arranged to operably store data required for operations of the second control circuit; wherein the second control circuit further instructs the second target device to execute a second target command corresponding to the second-station command request only if the second-station command request passed authentication processes conducted by the second secure micro-controller and the second control circuit. The third device group comprises: a third command transmitting device, arranged to operably receive and transmit the third-station command request; a third target device; and a third command authentication circuit comprising: a third communication interface, arranged to operably communicate with the third command transmitting device or the third target device, and to operably receive the third-station command request; a third secure micro-controller, arranged to operably store the signature verification key of the secure command generating device; a third control circuit, coupled with the third communication interface and the third secure micro-controller, arranged to operably communicate with the third command transmitting device or the third target device through the third communication interface, and to operably cooperate with the third secure micro-controller to authenticate the third-station command request using the signature verification key; and a third storage circuit, coupled with the third control circuit, and arranged to operably store data required for the operation of the third control circuit; wherein the third control circuit further instructs the third target device to execute a third target command corresponding to the third-station command request only if the third-station command request passed authentication processes conducted by the third secure micro-controller and the third control circuit.

Another example embodiment of a command authentication circuit of a forged command filtering system is disclosed. The forged command filtering system comprises a secure command generating device, a command transmitting device, the command authentication circuit, and a target device; the secure command generating device is arranged to operably perform a digital signature operation on a selected command to generate a command request; and the command transmitting device is arranged to operably receive and transmit the command request. The command authentication circuit comprises: a communication interface, arranged to operably communicate with the command transmitting device or the target device, and to receive the command request; a secure micro-controller, arranged to operably store a signature verification key of the secure command generating device; a control circuit, coupled with the communication interface and the secure micro-controller, arranged to operably communicate with the command transmitting device or the target device through the communication interface, and arranged to operably cooperate with the secure micro-controller to authenticate the command request using the signature verification key; and a storage circuit, coupled with the control circuit, and arranged to operably store date required for operations of the control circuit; wherein the control circuit further instructs the target device to execute a target command corresponding to the command request only if the command request passed authentication processes conducted by the secure micro-controller and the control circuit.

Both the foregoing general description and the following detailed description are examples and explanatory only, and are not restrictive of the invention as claimed.

DETAILED DESCRIPTION

Reference is made in detail to embodiments of the invention, which are illustrated in the accompanying drawings. The same reference numbers may be used throughout the drawings to refer to the same or like parts, components, or operations.

FIG. 1shows a simplified functional block diagram of a forged command filtering system100according to one embodiment of the present disclosure. The forged command filtering system100comprises a secure command generating device110, a command transmitting device120, a command authentication circuit130, and a target device140to be controlled.

In some embodiments, the secure command generating device110and the command transmitting device120may communicate data with each other through Internet. In other embodiments, the secure command generating device110and the command transmitting device120may communicate data with each other through other wired transmission or wireless transmission approaches, or may be integrated into a single hardware device, such as a smart phone or a computer.

In some embodiments, the command transmitting device120and the command authentication circuit130may communicate data with each other through Internet. In other embodiments, the command transmitting device120and the command authentication circuit130may communicate data with each other through other wired transmission or wireless transmission approaches, or may be coupled with each other.

In some embodiments, the command transmitting device120and the target device140may be two separate devices. In other embodiments, the command transmitting device120and the target device140may be different functional circuits arranged in the same device.

In the forged command filtering system100, the secure command generating device110is arranged to operably perform a digital signature operation on a selected command to be executed by the target device140, so as to generate a corresponding command request. Then, the secure command generating device110transmits the command request to the command authentication circuit130through the command transmitting device120or the target device140. The command authentication circuit130is arranged to operably authenticate the command request to ensure the reality of the command to be transmitted to and executed by the target device140, thereby avoiding the adverse consequence that caused by the target device140when executing forged command. Accordingly, the command authentication circuit130may be coupled with the control terminal of the target device140or arranged on the signal control path directed to the target device140.

As shown inFIG. 1, the command authentication circuit130comprises a communication interface131, a secure micro-controller133, a control circuit135, and storage circuit137. The communication interface131is arranged to operably communicate with the command transmitting device120or the target device140. The secure micro-controller133is arranged to operably store the signature verification key of the secure command generating device110, and to operably conduct related digital signature algorithm operations. The control circuit135is coupled with the communication interface131and the secure micro-controller133. The control circuit135is arranged to operably communicate with the command transmitting device120or the target device140through the communication interface131, and to operably cooperate with the secure micro-controller133to authenticate received command request using the signature verification key. The control circuit135would instruct the target device140to execute a target command corresponding to the command request only if the command request passed authentication processes conducted by the secure micro-controller133and the control circuit135. The storage circuit137is coupled with the control circuit135, and arranged to operably store data required for operations of the control circuit135.

In the command authentication circuit130, a dedicated secured data channel may be arranged between the secure micro-controller133and the control circuit135for use in transmitting secret data or sensitive data.

In practice, the communication interface131may be realized with various signal interface circuits complying with related network communication specifications, wired communication specifications, or wireless communication specifications. For example, depending on the communication approach to be employed to communicate with the command transmitting device120and/or the target device140, the communication interface131may comprise a USB (Universal Serial Bus) interface, a UART (Universal Asynchronous Receiver/Transmitter) interface, a SATA (Serial Advanced Technology Attachment) interface, a PCI (Peripheral Component Interconnect) interface, a PCI-E (Peripheral Component Interconnect Express) interface, a SDIO (Secure digital input/output interface) interface, a SPI (Serial Peripheral Interface) interface, a smart card (ISO7816) interface, a NIC (Network Interface Card) interface, a Wi-Fi interface, a Bluetooth interface, a BLE (Bluetooth Low Energy) interface, a NFC (Near Field Communication) interface, or a combination of two or more of aforementioned interfaces.

Alternatively, in some embodiments where the command transmitting device120is equipped with signal interface circuits complying with aforementioned network communication specifications, wired communication specifications, or wireless communication specifications, the command authentication circuit130may utilize the communication ability of the command transmitting device120to indirectly communicate with the secure command generating device110and/or the target device140. In this situation, the communication interface131may be simply realized with data transmission circuits, transmission pins, or a transmission bus.

Similarly, in some embodiments where the target device140is equipped with signal interface circuits complying with aforementioned network communication specifications, wired communication specifications, or wireless communication specifications, the command authentication circuit130may utilize the communication ability of the target device140to indirectly communicate with the command transmitting device120. In this situation, the communication interface131may be simply realized with data transmission circuits, transmission pins, or a transmission bus.

In addition, the secure micro-controller133may be realized with various micro-controllers capable of performing cryptographic algorithm computations, conducting key generation and related operations, conducting digital signature algorithm operations, and storing secret/sensitive data. For example, the secure micro-controller133may be realized with various micro-controllers having international data security certificate to ensure the security of the key and sensitive data stored therein. The control circuit135may be realized with an appropriate programmable micro-processor capable of conducting operations and parsing commands.

The operations of the forged command filtering system100will be further described in the following by reference toFIG. 2andFIG. 3.FIGS. 2-3collectively show a simplified flowchart illustrating a forged command filtering method according to one embodiment of the present disclosure.

InFIGS. 2-3, operations within a column under the name of a specific device are operations to be performed by the specific device. For example, operations within a column under the label “secure command generating device” are operations to be performed by the secure command generating device110, operations within a column under the label “command transmitting device” are operations to be performed by the command transmitting device120, operations within a column under the label “command authentication circuit” are operations to be performed by the command authentication circuit130, operations within a column under the label “target device” are operations to be performed by the target device140, and so forth. The same analogous arrangement also applies to the subsequent flowcharts.

In order to effectively filter out forged commands in normal operations, the secure command generating device110and the command authentication circuit130of the forged command filtering system100perform the operation200ofFIG. 2to establish a hardware pairing relationship between the secure command generating device110and the command authentication circuit130.

For example, the secure command generating device110may first perform the operation201to provide the signature verification key of the secure command generating device110to the command authentication circuit130. In practice, the secure command generating device110and the command authentication circuit130may establish a secure connection through encrypted transmission in the operation201, and then the secure command generating device110may transmit the signature verification key to the command authentication circuit130through the secure connection.

Then, the command authentication circuit130may perform the operation203to receive and store the signature verification key transmitted from the secure command generating device110. In the operation203, the command authentication circuit130may utilize the communication interface131to receive the signature verification key transmitted from the secure command generating device110. The control circuit135of the command authentication circuit130may transmit the aforementioned signature verification key to the secure micro-controller133for storage through the secured data channel between the secure micro-controller133and the control circuit135.

Please note that in the aforementioned operations201and203, the command authentication circuit130may be directly connected or coupled to the secure command generating device110to establish the aforementioned secure connection. Alternatively, the command authentication circuit130may be coupled with an intermediate device (such as a trustable computer) that has no security concern and capable of communicating with the secure command generating device110, and then establish the aforementioned secure connection with the secure command generating device110through the intermediate device.

In the operation205, the secure micro-controller133of the command authentication circuit130generates a key pair. The secure micro-controller133stores the private key of the key pair in an internal secret/sensitive data storage space of the secure micro-controller133, and transmits the public key of the key pair to the control circuit135through the secured data channel between the secure micro-controller133and the control circuit135.

In the operation207, the control circuit135transmits the public key of the key pair to the secure command generating device110through the communication interface131.

In the operation209, the secure command generating device110receives and stores the public key transmitted from the command authentication circuit130.

It can be appreciated from the foregoing descriptions that when the hardware pairing procedure between the secure command generating device110and the command authentication circuit130in the operation200is completed, the secure command generating device110is stored with the public key of the key pair generated by the command authentication circuit130, and the secure micro-controller133of the command authentication circuit130is stored with the signature verification key of the secure command generating device110.

In some embodiments, the commands can be executed by the target device140are relevant to the identity of the user of the command transmitting device120. Accordingly, the forged command filtering system100may conduct a user identity authentication operation to verify the command authority level of the user of the command transmitting device120.

In this situation, when a user identification data is received by the command transmitting device120, the command transmitting device120may perform the operation210to transmit an identity authentication request to the secure command generating device110.

When the identity authentication request is received by the secure command generating device110, the secure command generating device110may perform the operation220to authenticate the user identity to verify the command authority level of the user.

If the user identification data does not pass the identity authentication operation, the secure command generating device110determines that the user is not a valid user, and would refuse to generate corresponding commands based on the user request so as to block out invalid user manipulation.

If the user identification data passed the identity authentication operation, the secure command generating device110may perform the operation230to select eligible commands matching with the user's authority level (i.e., one or more commands that the user has authority to access) based on the user identity to form an available command set.

Then, the secure command generating device110may perform the operation240to transmit the available command set to the command transmitting device120and instruct the command transmitting device120to forward the available command set to the command authentication circuit130.

In the operation250, the command transmitting device120receives the available command set transmitted from the secure command generating device110.

In the operation260, the command transmitting device120forwards the received available command set to the command authentication circuit130.

In the operation270, the command authentication circuit130may utilize the communication interface131to receive the available command set transmitted from the command transmitting device120, and the control circuit135stores the received available command set in the storage circuit137.

In this embodiment, when the user would like the target device140to execute a specific command, the user may manipulate related input interface (such as touch screen, keyboard, mouse, microphone, camera, or the like) of the command transmitting device120to select a specific command. In this situation, the command transmitting device120performs the operation280to generate a command indication message corresponding to the selected command according to the user's manipulation, and transmits the command indication message to the secure command generating device110.

When received the command indication message transmitted from the command transmitting device120, the secure command generating device110may perform the operation290.

In the operation290, the secure command generating device110may perform a digital signature operation on the selected command using the signature key of the secure command generating device110to generate a corresponding command request.

Then, the secure command generating device110may perform the operation300ofFIG. 3to transmit the command request to the command transmitting device120.

In the operation310, the command transmitting device120receives the command request transmitted from the secure command generating device110.

Then, the command transmitting device120may perform the operation320to issue the received command request to the command authentication circuit130.

In the operation330, the command authentication circuit130may utilize the communication interface131to receive the command request transmitted from the command transmitting device120.

In the operation340, the control circuit135of the command authentication circuit130cooperates with the secure micro-controller133to authenticate the reality and correctness of the received command request using the aforementioned signature verification key.

If the command request fails to pass (i.e., does not pass) the authentication processes conducted by the secure micro-controller133or the control circuit135, the control circuit135would determine that the command request is a forged command request. In this situation, the control circuit135performs the operation350to discard the command request.

On the contrary, if the command request passed the authentication processes conducted by the secure micro-controller133and the control circuit135, the control circuit135performs the operation360to accept a target command corresponding to the command request as an authenticated command.

Then, the control circuit135may perform the operation370to transmit the target command to the target device140through the communication interface131.

In the operation380, the target device140receives the target command transmitted from the command authentication circuit130.

Then, the target device140performs the operation390to execute the received target command.

In other words, the control circuit135would instruct the target device140to execute the target command corresponding to the command request only if the command request passed the authentication processes conducted by the secure micro-controller133and the control circuit135.

In the forged command filtering system100, only the commands generated by the secure command generating device110using the signature of the secure command generating device110can pass the authentication processes conducted by the secure micro-controller133and the control circuit135. Other commands that were not generated by the secure command generating device110using the signature of the secure command generating device110would be determined as forged commands by the secure micro-controller133or the control circuit135.

Please refer toFIG. 4, which shows a simplified flowchart illustrating a method for generating a command request according to one embodiment of the present disclosure. The secure command generating device110may adopt the method ofFIG. 4in the aforementioned operation290to generate the command request.

In the operation410, the secure command generating device110may generate a corresponding digest value (hereinafter, referred to as a command digest value) according to the selected command. For example, the secure command generating device110may perform a Hash algorithm operation on the selected command to generate the command digest value. Alternatively, the secure command generating device110may first encrypt the selected command using other encryption key or the public key of the command authentication circuit130to generate a corresponding encrypted command, and then perform the Hash algorithm operation on the encrypted command to generate the command digest value. In other words, the command digest value may be generated based on the plaintext of the selected command or generated based on the ciphertext of the selected command.

In the operation420, the secure command generating device110may configure the selected command or the encrypted command as a command string.

In the operation430, the secure command generating device110may generate a coded message (hereinafter, referred to as a command coded message) containing the command digest value and the command string, while configure the command string as a padding string in the command coded message. Accordingly, the padding string in the command coded message is recorded with the plaintext or ciphertext of the selected command. In practice, the secure command generating device110may also record the object identification code and/or other related data of the Hash algorithm in the command coded message.

In the operation440, the secure command generating device110may perform a message recoverable signature algorithm operation on the command coded message using the signature key of the secure command generating device110to generate a corresponding signature (hereinafter, referred to as a command signature).

Then, the secure command generating device110may perform the operation450to generate the aforementioned command request based on the command signature. For example, the secure command generating device110may simply configure the command signature to be the aforementioned command request. Alternatively, the secure command generating device110may first encrypt the command signature using other encryption key or the public key of the command authentication circuit130to generate a corresponding encrypted version (hereinafter, referred to as an encrypted command signature), and then configure the encrypted command signature to be the aforementioned command request. In other words, the command request may be generated based on the plaintext of the command signature or generated based on the ciphertext of the command signature.

If the data length of the command string exceeds the padding string length of a single command coded message, the secure command generating device110may segment the content of the command string into multiple command coded messages and generate multiple corresponding command requests.

It can be appreciated from the foregoing descriptions that the command request generated by the secure command generating device110has been recorded with the content of the selected command or its encrypted version. Accordingly, when the command request is received by a valid receiving device, the receiving device is enabled to restore the selected command from the command request by performing a corresponding message recoverable signature algorithm operation on the command request. As a result, the secure command generating device110only needs to transmit the command request to related receiving devices, and does not need to additionally transmit the selected command or its encrypted version to the receiving devices.

Please refer toFIG. 5, which shows a simplified flowchart illustrating a method for authenticating a command request according to one embodiment of the present disclosure. The control circuit135and the secure micro-controller133may adopt the method ofFIG. 5in the aforementioned operation340to authenticate the reality and correctness of the command request.

In the operation510, the control circuit135and/or the secure micro-controller133may generate a corresponding signature (hereinafter, referred to as a target command signature) based on the received command request.

For example, in the embodiments where the secure command generating device110configures the command signature to be the aforementioned command request, the control circuit135may simply retrieve the target command signature from the received command request.

For another example, in the embodiments where the secure command generating device110configures the encrypted command signature to be the aforementioned command request, the control circuit135may transmit the received command request to the secure micro-controller133through the secured data channel, and instruct the secure micro-controller133to decrypt the command request. The secure micro-controller133may decrypt the command request according to the instruction of the control circuit135by using a corresponding decryption key of the private key of the command authentication circuit130.

If the secure micro-controller133fails to successfully decrypt (i.e., unable to decrypt) the command request, it means failure of the command request authentication process, and also means that the command request fails to pass (i.e., does not pass) the authentication processes conducted by the secure micro-controller133. In this situation, the secure micro-controller133may actively inform the control circuit135of the failure of the command request authentication process. Alternatively, the control circuit135may independently determine that the command request fails to pass the authentication processes conducted by the secure micro-controller133if the secure micro-controller133cannot send a notice to the control circuit135within a predetermined length of time period, and thus the secure micro-controller133may not need to actively inform the control circuit135of the failure of the command request authentication process.

On the contrary, if the secure micro-controller133can successfully decrypt the command request, the secure micro-controller133generates the aforementioned target command signature, and transmits the target command signature to the control circuit135through the secured data channel. In other words, the target command signature may be independently generated by the control circuit135, or may be generated by the cooperation of the control circuit135and the secure micro-controller133.

After obtaining the target command signature, the control circuit135may instruct the secure micro-controller133to perform a digital signature algorithm operation on the target command signature. In this situation, the secure micro-controller133proceeds to the operation520.

In the operation520, the secure micro-controller133may perform a message recoverable signature algorithm operation on the target command signature using the aforementioned signature verification key based on the instruction of the control circuit135. The message recoverable signature algorithm employed by the secure micro-controller133in the operation520corresponds to the message recoverable signature algorithm employed by the secure command generating device110in the aforementioned operation440.

If the secure micro-controller133cannot successfully obtain the computing result of the message recoverable signature algorithm, it means failure of the command request authentication process, and also means that the command request fails to pass (i.e., does not pass) the authentication processes conducted by the secure micro-controller133. In this situation, the secure micro-controller133may actively inform the control circuit135of the failure of the command request authentication process. Alternatively, the control circuit135may independently determine that the command request fails to pass the authentication processes conducted by the secure micro-controller133if the secure micro-controller133cannot send a notice to the control circuit135within a predetermined length of time period, and thus the secure micro-controller133may not need to actively inform the control circuit135of the failure of the command request authentication process.

On the contrary, if the secure micro-controller133can successfully obtain the computing result of the message recoverable signature algorithm, the secure micro-controller133generates a corresponding coded message (hereinafter, referred to as a recovered command coded message) corresponding to the target command signature, wherein the recovered command coded message contains a digest value (hereinafter, referred to as a recovered command digest value) and a padding string (hereinafter, referred to as a recovered command string).

In theory, if the target command signature is a real and correct signature rather than a forged signature, then the recovered command coded message generated by the secure micro-controller133in the operation520should be identical to the command coded message generated by the secure command generating device110in the operation430, and the recovered command digest value and the recovered command string contained in the recovered command coded message should be respectively identical to the command digest value and the command string containing in the aforementioned command coded message.

The secure micro-controller133may transmit the resulting recovered command coded message to the control circuit135through the secured data channel.

In the operation530, the control circuit135may extract the aforementioned target command from the recovered command string or extract an encrypted version of the target command (hereinafter, referred to as an encrypted target command) from the recovered command string.

If the data extracted from the recovered command string by the control circuit135is the encrypted target command, the control circuit135may transmit the encrypted target command to the secure micro-controller133through the secured data channel, and instruct the secure micro-controller133to decrypt the encrypted target command. The secure micro-controller133may decrypt the encrypted target command according to the instruction of the control circuit135by using a corresponding decryption key of the private key of the command authentication circuit130.

If the secure micro-controller133fails to successfully decrypt (i.e., unable to decrypt) the encrypted target command, it means failure of the command request authentication process, and also means that the command request fails to pass (i.e., does not pass) the authentication processes conducted by the secure micro-controller133. In this situation, the secure micro-controller133may actively inform the control circuit135of the failure of the command request authentication process. Alternatively, the control circuit135may independently determine that the command request fails to pass the authentication processes conducted by the secure micro-controller133if the secure micro-controller133cannot send a notice to the control circuit135within a predetermined length of time period, and thus the secure micro-controller133may not need to actively inform the control circuit135of the failure of the command request authentication process.

On the contrary, if the secure micro-controller133can successfully decrypt the encrypted target command, the secure micro-controller133generates the target command and transmits the target command to the control circuit135through the secured data channel.

In other words, the target command may be obtained from the recovered command string by the control circuit135alone, or may be generated by the cooperation of the control circuit135and the secure micro-controller133.

In the operation540, the control circuit135may generate a corresponding digest value (hereinafter, referred to as a target command digest value) based on the target command or the encrypted target command.

For example, in the embodiments where the secure command generating device110generates the aforementioned command digest value by performing the Hash algorithm operation on the encrypted command, the control circuit135may perform a corresponding Hash algorithm operation on the encrypted target command to generate the target command digest value.

For another example, in the embodiments where the secure command generating device110generates the aforementioned command digest value by performing the Hash algorithm operation on the selected command, the control circuit135may perform a corresponding Hash algorithm operation on the target command to generate the target command digest value.

In other words, the target command digest value may be generated based on the plaintext of the target command, or may be generated based on the ciphertext of the target command.

Then, the control circuit135may perform the operation550to compare the target command digest value with the recovered command digest value. In theory, if the target command or the encrypted target command is real data rather than forged data, then the target command digest value generated by the control circuit135should match with (i.e., should be identical to) the recovered command digest value in the recovered command coded message generated by the secure micro-controller133.

If the target command digest value does not identical to the recovered command digest value, it means failure of the command request authentication process, and also means that the command request fails to pass (i.e., does not pass) the authentication processes conducted by the control circuit135.

On the contrary, if the target command digest value is identical to the recovered command digest value, it means that the command request passed the authentication processes conducted by the secure micro-controller133and the control circuit135. In this situation, the control circuit135may proceed to the operation360to accept the target command as an authenticated command.

In some embodiments, the control circuit135may further check whether the target command is one of the eligible commands defined the in aforementioned available command set so as to determine whether the target command exceeds the authority level of the user. For example, if the target command is not an eligible command defined the in aforementioned available command set, the control circuit135would determine that the target command exceeds the user's authority level. In this situation, the control circuit135would discard the target command to prevent the target device140from executing a command which exceeds the user's authority level. In this embodiment, the control circuit135would perform the operation370to transmit the target command to the target device140through the communication interface131only if the command request can pass the authentication processes conducted by the secure micro-controller133and the control circuit135, while the target command is one of the eligible commands defined the in aforementioned available command set.

In practice, the control circuit135may conduct the operation of checking whether the target command is one of the eligible commands defined the in aforementioned available command set before the operation540or550, or after the operation570.

Please note that in the previous embodiments, the command transmitting device120directly transmits the received command request to the command authentication circuit130. But this is merely an exemplary embodiment, rather than a restriction to the practical implementations.

For example,FIG. 6shows a simplified flowchart illustrating partial operations of a forged command filtering method according to another embodiment of the present disclosure. In the embodiment ofFIG. 6, when the command transmitting device120received the command request transmitted from the secure command generating device110in operation310, the command transmitting device120performs the operation620to issue the received command request to the target device140, instead of the command authentication circuit130.

In the operation622, the target device140receives the command request transmitted from the command transmitting device120.

Then, the target device140would not execute the command in the command request transmitted from the command transmitting device120. Instead, the target device140performs the operation624to further transmit the command request to the command authentication circuit130for authentication.

In the operation630, the command authentication circuit130may utilize the communication interface131to receive the command request transmitted from the target device140.

The following operations340through390inFIG. 6are respectively the same as the corresponding operations inFIG. 3. For the sake of brevity, those descriptions will not be repeated here.

That is, in the embodiment ofFIG. 6, the command transmitting device120indirectly transmits the command request to the command authentication circuit130through the target device140, instead of directly transmits the command request to the command authentication circuit130.

In the aforementioned operation440, the signature algorithm employed by the secure command generating device110in generating the command signature is a message recoverable signature algorithm. But this is merely an exemplary embodiment, rather than a restriction to the practical implementations.

In practice, the signature algorithm employed by the secure command generating device110in generating the command signature may be other signature algorithm than the message recoverable signature algorithm. In this situation, the selected command or the corresponding encrypted command would not be recorded in the padding string of the command coded message. Therefore, the secure command generating device110has to additionally transmit the selected command or the encrypted command to the command transmitting device120. Similar with the embodiments ofFIG. 3orFIG. 6, the command transmitting device120may directly transmit the selected command or the encrypted command transmitted from the secure command generating device110to the command authentication circuit130, or may indirectly transmit the selected command or the encrypted command to the command authentication circuit130through the target device140. The command authentication circuit130may utilize the communication interface131to receive the command (i.e., the aforementioned target command) or the encrypted version of the command (i.e., the aforementioned encrypted target command) transmitted from the command transmitting device120or the target device140.

When authenticating the command request, the control circuit135and/or the secure micro-controller133may perform the aforementioned operation510to generate a signature (also referred to as a target command signature) corresponding to the received command request.

As described previously, in the embodiments where the secure command generating device110configures the encrypted command signature to be the command request, the control circuit135may transmit the received command request to the secure micro-controller133through the secured data channel, and instruct the secure micro-controller133to decrypt the command request. The secure micro-controller133may decrypt the command request according to the instruction of the control circuit135by using a corresponding decryption key of the private key of the command authentication circuit130.

If the secure micro-controller133fails to successfully decrypt (i.e., unable to decrypt) the command request, it means failure of the command request authentication process, and also means that the command request fails to pass (i.e., does not pass) the authentication processes conducted by the secure micro-controller133.

On the contrary, if the secure micro-controller133can successfully decrypt the command request, the secure micro-controller133generates the aforementioned target command signature, and transmits the target command signature to the control circuit135through the secured data channel. In other words, the target command signature may be independently generated by the control circuit135, or may be generated by the cooperation of the control circuit135and the secure micro-controller133.

After obtaining the target command signature, the control circuit135may instruct the secure micro-controller133to conduct a digital signature algorithm operation on the target command signature.

In this embodiment, the secure micro-controller133may perform a digital signature algorithm operation on the target command signature according to the instruction of the control circuit135by using the aforementioned signature verification key to generate a digest (also referred to as a recovered command digest value). The signature algorithm employed by the secure micro-controller133in this situation corresponds to the signature algorithm employed by the secure command generating device110in generating the command signature.

If the secure micro-controller133fails to successfully generate (i.e., unable to generate) the recovered command digest value, it means failure of the command request authentication process, and also means that the command request fails to pass (i.e., does not pass) the authentication processes conducted by the secure micro-controller133.

If the data received by the communication interface131is the encrypted target command, the control circuit135may transmit the encrypted target command to the secure micro-controller133through the secured data channel and instruct the secure micro-controller133to decrypt the encrypted target command. The secure micro-controller133may decrypt the encrypted target command according to the instruction of the control circuit135by using a corresponding decryption key or the private key of the command authentication circuit130. If the secure micro-controller133fails to successfully decrypt (i.e., unable to decrypt) the encrypted target command, it means failure of the command request authentication process, and also means that the command request fails to pass (i.e., does not pass) the authentication processes conducted by the secure micro-controller133.

Similar with the aforementioned operations540and550, the control circuit135may generate a corresponding target command digest value based on the target command or the encrypted target command, and compare the recovered command digest value generated by the secure micro-controller133with the target command digest value. If the target command digest value is not identical to the recovered command digest value, it means that the command request fails to pass (i.e., does not pass) the authentication processes conducted by the control circuit135.

It can be appreciated from the foregoing descriptions, the target command corresponding to the command request received by the command authentication circuit130would be accepted as an authenticated command by the control circuit135(i.e., be determined as a secure command) only if the command request can pass the authentication processes conducted by the secure micro-controller133and the control circuit135. Other commands that lack the signature of the secure command generating device110or unable to be successfully decrypted by the secure micro-controller133would be filtered out by the command authentication circuit130, and thus will not be executed by the target device140.

Additionally, the control circuit135in the previous embodiment may further compare the target command with the available command set to determine whether the command issued by the user exceeds the user's authority level or not. Any command that exceeds the user's authority level would be filtered out by the command authentication circuit130and thus will not be executed by the target device140.

Accordingly, even malicious program codes or intruders has hacked into the communication process between the command transmitting device120and the command authentication circuit130, the forged commands generated by the malicious program codes or intruders would be effectively filtered out by the command authentication circuit130and will not be executed by the target device140for the reason that these forged commands are not generated by using the signature of the secure command generating device110.

As a result, the reality of the command to be executed by the target device140can be guaranteed, thereby effectively preventing forged commands from being executed by the target device140. In other words, the forged command filtering system100described previously is enabled to effectively prevent the target device140from being manipulated by forged commands.

In addition, since the signature verification key of the secure command generating device110is stored in the secure micro-controller133of the command authentication circuit130, it can be ensured that the signature verification key will not be maliciously changed, and thus the strictness and correctness of the information security verification process can be improved.

Moreover, the aforementioned command authentication circuit130automatically conducts the previous command request authentication operations without user intervention, and thus has the merit of great operating convenience.

The aforementioned target device140may perform various operations or computations to realize different functionality according to the received command. In addition, the implementations of the secure command generating device110and the target device140may be different depending upon the practical applications of the forged command filtering system100.

For example, if the forged command filtering system100is applied in a smart lock system, the secure command generating device110may be realized with a mobile device (e.g., a smart phone or a tablet computer), and the target device140may be realized with a lock control circuit within the smart lock.

For another example, if the forged command filtering system100is applied in a remote surveillance system, the secure command generating device110may be realized with a mobile device (e.g., a smart phone or a tablet computer), and the target device140may be realized with a video/audio signal accessing circuit or a control circuit of a remote camera of the remote surveillance system.

For another example, if the forged command filtering system100is applied in a NAS (network attached storage) accessing device, the secure command generating device110may be realized with a local server or a remote server for use in controlling the data accessing authority, and the target device140may be realized with an accessing control circuit of the NAS device.

For another example, if the forged command filtering system100is applied in an IoT (Internet of things) system, the secure command generating device110may be realized with a remote server of a specific IoT application service provider, and the target device140may be realized with a switch circuit or a control circuit of a certain IoT device in the IoT system.

For another example, if the forged command filtering system100is applied in an Industry 4.0 smart manufacturing system, the secure command generating device110may be realized with a central control server of the smart manufacturing system, and the target device140may be realized with a switch circuit or a control circuit of a certain manufacturing equipment in the smart manufacturing system.

Please note that if the forged command filtering system100is applied in some environments where no user intervention is required, the operations210through280inFIG. 2may be omitted. In addition, the operations205through209may be omitted in some embodiments to simplify the complexity in the hardware pairing operation200.

Additionally, in some applications where the information security concern is low, the secure micro-controller133and the control circuit135may transmit the aforementioned command request, target command signature, recovered command coded message, encrypted target command, and/or target command through other general data channel instead of the secured data channel.

Please refer toFIG. 7, which shows a simplified functional block diagram of a collaborative operating system700according to one embodiment of the present disclosure. The collaborative operating system700is an embodiment where the structure of the aforementioned forged command filtering system100is applied in a mart manufacturing system or an IoT system.

As shown inFIG. 7, the collaborative operating system700comprises the secure command generating device110and multiple device groups. In the collaborative operating system700, the structure and operations of each device group are similar with the combination of the command transmitting device120, the command authentication circuit130, and the target device140in the forged command filtering system100described previously, but a device group in a later stage would conduct operations based on the operating result of another device group in a prior stage to together accomplish a specific collaborative operation.

For the purpose of explanatory convenience in the following description, only three device groups (i.e., a first device group710, a second device group720, and a third device group730) are shown inFIG. 7. The first device group710comprises a first command transmitting device120a, a first command authentication circuit130a, and a first target device140a. The second device group720comprises a second command transmitting device120b, a second command authentication circuit130b, and a second target device140b. The third device group730comprises a third command transmitting device120c, a third command authentication circuit130c, and a third target device140c.

In the collaborative operating system700, the secure command generating device110is arranged to operably generate multiple collaborative operation commands respectively corresponding to the device groups710through730, and to operably instruct a device group in a later stage to perform operation based on the operating result of another device group in a prior stage to together accomplish a specific collaborative operation.

For illustrative purpose, it is assumed hereinafter that the secure command generating device110is arranged to operably generate and utilize a first-station command to control the operation of the first device group710, to operably generate and utilize a second-station command to control the operation of the second device group720, and to operably generate and utilize a third-station command to control the operation of the third device group730. Similar with the previous embodiments, the secure command generating device110may perform a digital signature operation on the first-station command to generate a first-station command request. The secure command generating device110may perform a digital signature operation on the second-station command to generate a second-station command request. The secure command generating device110may perform a digital signature operation on the third-station command to generate a third-station command request.

As shown inFIG. 7, the first command authentication circuit130acomprises a first communication interface131a, a first secure micro-controller133a, a first control circuit135a, and a first storage circuit137a. The first communication interface131ais arranged to operably communicate with the first command transmitting device120aor the first target device140a, and to operably receive the first-station command request. The first secure micro-controller133ais arranged to operably store a signature verification key of the secure command generating device110. The first control circuit135ais coupled with the first communication interface131aand the first secure micro-controller133a, and arranged to operably communicate with the first command transmitting device120aor the first target device140athrough the first communication interface131a. The first control circuit135ais also arranged to operably cooperate with the first secure micro-controller133ato authenticate the first-station command request using the signature verification key. The first storage circuit137ais coupled with the first control circuit135a, and arranged to operably store data required for the operation of the first control circuit135a. The first control circuit135ainstructs the first target device140ato execute a first target command corresponding to the first-station command request only if the first-station command request can pass the authentication processes conducted by the first secure micro-controller133aand the first control circuit135a.

The second command authentication circuit130bcomprises a second communication interface131b, a second secure micro-controller133b, a second control circuit135b, and a second storage circuit137b. The second communication interface131bis arranged to operably communicate with the second command transmitting device120bor the second target device140b, and to operably receive the second-station command request. The second secure micro-controller133bis arranged to operably store the signature verification key of the secure command generating device110. The second control circuit135bis coupled with the second communication interface131band the second secure micro-controller133b, and arranged to operably communicate with the second command transmitting device120bor the second target device140bthrough the second communication interface131b. The second control circuit135bis also arranged to operably cooperate with the second secure micro-controller133bto authenticate the second-station command request using the signature verification key. The second storage circuit137bis coupled with the second control circuit135b, and arranged to operably store data required for the operation of the second control circuit135b. The second control circuit135binstructs the second target device140bto execute a second target command corresponding to the second-station command request only if the second-station command request can pass the authentication processes conducted by the second secure micro-controller133band the second control circuit135b.

The third command authentication circuit130ccomprises a third communication interface131c, a third secure micro-controller133c, a third control circuit135c, and a third storage circuit137c. The third communication interface131cis arranged to operably communicate with the third command transmitting device120cor the third target device140c, and to operably receive the third-station command request. The third secure micro-controller133cis arranged to operably store the signature verification key of the secure command generating device110. The third control circuit135cis coupled with the third communication interface131cand the third secure micro-controller133c, and arranged to operably communicate with the third command transmitting device120cor the third target device140cthrough the third communication interface131c. The third control circuit135cis also arranged to operably cooperate with the third secure micro-controller133cto authenticate the third-station command request using the signature verification key. The third storage circuit137cis coupled with the third control circuit135c, and arranged to operably store data required for the operation of the third control circuit135c. The third control circuit135cinstructs the third target device140cto execute a third target command corresponding to the third-station command request only if the third-station command request can pass the authentication processes conducted by the third secure micro-controller133cand the third control circuit135c.

Please refer toFIGS. 8-10, which collectively show a simplified flowchart illustrating a collaborative operating method according to one embodiment of the present disclosure. The operations of the collaborative operating system700will be further described in the following by reference toFIGS. 8-40.

In the collaborative operating system700, the secure command generating device110would establish the aforementioned hardware pairing relationship with the first command authentication circuit130a, the second command authentication circuit130b, and the third command authentication circuit130c, respectively.

As shown inFIG. 8, the secure command generating device110and the first device group710may perform the operation810, so that the first command authentication circuit130acan obtain the signature verification key of the secure command generating device110to establish a hardware pairing relationship between the secure command generating device110and the first command authentication circuit130a.

For example, the secure command generating device110and the first device group710may perform the operations811through819to realize the operation810. Similar with the embodiment ofFIG. 2, the first secure micro-controller133aof the first command authentication circuit130amay generate a key pair (hereinafter, referred to as a first key pair). The first secure micro-controller133amay store the private key of the first key pair in its internal secret/sensitive data storage space, and transmit the public key of the first key pair to the secure command generating device110through the first control circuit135a.

The secure command generating device110and the second device group720may perform the operation820, so that the second command authentication circuit130bcan obtain the signature verification key of the secure command generating device110to establish a hardware pairing relationship between the secure command generating device110and the second command authentication circuit130b.

For example, the secure command generating device110and the second device group720may perform the operations821through829to realize the operation820. Similar with the embodiment ofFIG. 2, the second secure micro-controller133bof the second command authentication circuit130bmay generate a key pair (hereinafter, referred to as a second key pair). The second secure micro-controller133bmay store the private key of the second key pair in its internal secret/sensitive data storage space, and transmit the public key of the second key pair to the secure command generating device110through the second control circuit135b.

The secure command generating device110and the third device group730may perform the operation830, so that the third command authentication circuit130ccan obtain the signature verification key of the secure command generating device110to establish a hardware pairing relationship between the secure command generating device110and the third command authentication circuit130c.

For example, the secure command generating device110and the third device group730may perform the operations831through839to realize the operation830. Similar with the embodiment ofFIG. 2, the third secure micro-controller133cof the third command authentication circuit130cmay generate a key pair (hereinafter, referred to as a third key pair). The third secure micro-controller133cmay store the private key of the third key pair in its internal secret/sensitive data storage space, and transmit the public key of the third key pair to the secure command generating device110through the third control circuit135c.

The operation concept of the operations811through819is the same as the operations201through209inFIG. 2. The operation concept of the operations821through829is the same as the operations201through209inFIG. 2. The operation concept of the operations831through839is the same as the operations201through209inFIG. 2. For the sake of brevity, those descriptions will not be repeated here.

As shown inFIG. 9, the secure command generating device110may perform the operation910to conduct a digital signature operation on the first-station command using the signature key of the secure command generating device110to generate the first-station command request.

Then, the secure command generating device110may perform the operation920to transmit the first-station command request to the first device group710.

In the operation930, the first command transmitting device120ain the first device group710receives the first-station command request transmitted from the secure command generating device110, and directly or indirectly transmits the first-station command request to the first command authentication circuit130a.

The secure command generating device110may perform the operation940to conduct a digital signature operation on the second-station command using the signature key of the secure command generating device110to generate the second-station command request.

Then, the secure command generating device110may perform the operation950to transmit the second-station command request to the second device group720.

In the operation960, the second command transmitting device120bin the second device group720receives the second-station command request transmitted from the secure command generating device110, and directly or indirectly transmits the second-station command request to the second command authentication circuit130b.

The secure command generating device110may perform the operation970to conduct a digital signature operation on the third-station command using the signature key of the secure command generating device110to generate the third-station command request.

Then, the secure command generating device110may perform the operation980to transmit the third-station command request to the third device group730.

In the operation990, the third command transmitting device120cin the third device group730receives the third-station command request transmitted from the secure command generating device110, and directly or indirectly transmits the third-station command request to the third command authentication circuit130c.

The concept of the operations910through930is the same as the aforementioned operations290through330or the aforementioned operations290through630. In addition, the concept of the operations940through960is the same as the aforementioned operations290through330or the aforementioned operations290through630. Similarly, the concept of the operations970through990is the same as the aforementioned operations290through330or the aforementioned operations290through630. In other words, the secure command generating device110may adopt the method ofFIG. 4to generate related command requests in the operations910,940, and970. For the sake of brevity, details of those operations will not be repeated here.

As shown inFIG. 10, after receiving the first-station command request, the first command authentication circuit130aperforms the operation1010.

In the operation1010, the first control circuit135amay cooperate with the first secure micro-controller133ato authenticate the reality and correctness of the received first-station command request using the aforementioned signature verification key. The first control circuit135aand the first secure micro-controller133amay adopt the method ofFIG. 5or related variety in the operation1010to authenticate the reality and correctness of the first-station command request. For the sake of brevity, details of those operations will not be repeated here.

If the first-station command request fails to pass the authentication process conducted by the first secure micro-controller133aor the first control circuit135a, the first control circuit135awould determine that the first-station command request is a forged command request. In this situation, the first control circuit135awould perform the operation1011to discard the first-station command request.

On the contrary, if the first-station command request passed the authentication process conducted by the first secure micro-controller133aand the first control circuit135a, the first control circuit135awould perform the operation1013to accept a first target command corresponding to the first-station command request as an authenticated command.

In the operation1015, the first control circuit135atransmits the first target command to the first target device140ato instruct the first target device140ato execute the first target command. The operating result (e.g., related operation value, parameter, data, indication message, etc.) obtained by the first target device140aby executing the first target command is referred to as a first-station parameter hereinafter. The operating concept of the operation1015is the same as the operations370through390in the embodiment ofFIG. 3. For the sake of brevity, details of those operations will not be repeated here.

In the operation1017, the first control circuit135amay cooperate with the first secure micro-controller133ato conduct a digital signature operation on the first-station parameter using the private key of the first key pair to generate a corresponding first-station parameter message, and transmit the first-station parameter message to the second device group720through the first command transmitting device120a.

Please refer toFIG. 11, which shows a simplified flowchart illustrating a method for generating a parameter message according to one embodiment of the present disclosure. The first control circuit135aand the first secure micro-controller133amay adopt the method ofFIG. 11in the operation1017to generate the first-station parameter message.

In the operation1110, the first control circuit135amay generate a corresponding digest value (hereinafter, referred to as a parameter digest value) based on the first-station parameter. For example, the first control circuit135amay directly perform a Hash algorithm operation on the first-station parameter to generate the parameter digest value. Alternatively, the first control circuit135amay first instruct the first secure micro-controller133ato encrypt the first-station parameter using other encryption key or the public key of the second command authentication circuit130b(i.e., the public key of the second key pair) to generate a corresponding encrypted parameter, and then the first control circuit135amay perform the Hash algorithm operation on the encrypted parameter to generate the parameter digest value. In other words, the parameter digest value may be generated based on the plaintext of the first-station parameter, or may be generated based on the ciphertext of the first-station parameter.

Then, the first control circuit135amay perform the operation1130to generate a coded message (hereinafter, referred to as a parameter coded message) containing the parameter digest value and the parameter string, while configure the parameter string to be a padding string in the parameter coded message. Accordingly, the padding string of the parameter coded message is recorded with the plaintext or ciphertext of the first-station parameter. In practice, the first control circuit135amay also record the object identification code and/or other related data of the Hash algorithm in the parameter coded message.

In the operation1140, the first secure micro-controller133amay perform a message recoverable signature algorithm operation on the parameter coded message using the private key of the first secure micro-controller133a(i.e., the private key of the first key pair) to generate a corresponding signature (hereinafter, referred to as a parameter signature).

Then, the first control circuit135amay perform the operation1150to generate the first-station parameter message based on the parameter signature. For example, the first control circuit135amay simply configure the parameter signature to be the first-station parameter message. Alternatively, the first control circuit135amay first instruct the first secure micro-controller133ato encrypt the parameter signature using other encryption key or the public key of the second command authentication circuit130b(i.e., the public key of the second key pair) to generate a corresponding encrypted version (hereinafter, referred to as an encrypted parameter signature). The first control circuit135athen configures the encrypted parameter signature to be the aforementioned first-station parameter message. In other words, the first-station parameter message may be generated based on the plaintext of the parameter signature, or may be generated based on the ciphertext of the parameter signature.

If the data length of the parameter string exceeds the padding string length of a single parameter coded message, the first control circuit135amay segment the content of the parameter string into multiple parameter coded messages and generate multiple corresponding first-station parameter messages.

It can be appreciated from the foregoing descriptions that the first-station parameter message generated by the cooperation of the first control circuit135aand the first secure micro-controller133ahas been recorded with the content of the first-station parameter or its encrypted version. Accordingly, when the first-station parameter message is received by the second command authentication circuit130b, the second command authentication circuit130bis enabled to restore the first-station parameter from the first-station parameter message by performing a corresponding message recoverable signature algorithm operation on the first-station parameter message. As a result, the first control circuit135aonly needs to transmit the first-station parameter message to the second device group720, and does not need to additionally transmit the first-station parameter or its encrypted version to the second device group720.

As shown inFIG. 10, after receiving the second-station command request, the second command authentication circuit130bperforms the operation1020.

In the operation1020, the second control circuit135bmay cooperate with the second secure micro-controller133bto authenticate the reality and correctness of the received second-station command request using the aforementioned signature verification key. The second control circuit135band the second secure micro-controller133bmay adopt the method ofFIG. 5or related variety in the operation1020to authenticate the reality and correctness of the second-station command request. For the sake of brevity, details of those operations will not be repeated here.

If the second-station command request fails to pass the authentication process conducted by the second secure micro-controller133bor the second control circuit135b, the second control circuit135bwould determine that the second-station command request is a forged command request. In this situation, the second control circuit135bwould perform the operation1021to discard the second-station command request.

On the contrary, if the second-station command request passed the authentication process conducted by the second secure micro-controller133band the second control circuit135b, the second control circuit135bmay perform the operation1023to accept a second target command corresponding to the second-station command request as an authenticated command.

When the first-station parameter message transmitted from the first device group710is received by the second device group720, the second command authentication circuit130bperforms the operation1025.

In the operation1025, the second control circuit135bcooperates with the second secure micro-controller133bto authenticate the reality and correctness of the first-station parameter message transmitted from the first device group710using the public key of the first command authentication circuit130a(i.e., the public key of the first key pair) to obtain a corresponding first target parameter.

If the first-station parameter message fails to pass (i.e., does not pass) the authentication processes conducted by the second control circuit135bor the second secure micro-controller133b, the second control circuit135bwould determine that the first-station parameter message is a forged parameter message, and thus discard the first-station parameter message.

On the contrary, if the first-station parameter message passed the authentication processes conducted by the second control circuit135band the second secure micro-controller133b, the second control circuit135bwould accept the first target parameter as an authenticated parameter.

In the operation1027, the second control circuit135btransmits the second target command and the first target parameter to the second target device140bto instruct the second target device140bto execute the second target command based on the first target parameter. The operating result (e.g., related operation value, parameter, data, indication message, etc.) obtained by the second target device140bby executing the second target command is referred to as a second-station parameter hereinafter. The operating concept of the operation1027is the same as the operations370through390in the embodiment ofFIG. 3. For the sake of brevity, details of those operations will not be repeated here.

In the operation1029, the second control circuit135bmay cooperate with the second secure micro-controller133bto conduct a digital signature operation on the second-station parameter using the private key of the second key pair to generate a corresponding second-station parameter message, and transmit the second-station parameter message to the third device group730through the second command transmitting device120b. The operating concept of the operation1029is the same as the aforementioned operation1017. For the sake of brevity, details of the operation will not be repeated here.

Please refer toFIG. 12, which shows a simplified flowchart illustrating a method for authenticating a parameter message according to one embodiment of the present disclosure. The second control circuit135band the second secure micro-controller133bmay adopt the method ofFIG. 12in the operation1025to authenticate the reality and correctness of the first-station parameter message.

In the operation1210, the second control circuit135band/or the second secure micro-controller133bmay generate a corresponding signature (hereinafter, referred to as a target parameter signature) based on the received first-station parameter message.

For example, in the embodiments where the first control circuit135aconfigures the parameter signature to be the first-station parameter message, the second control circuit135bmay directly obtain the target parameter signature from the received first-station parameter message.

For another example, in the embodiments where the first control circuit135aconfigures the encrypted parameter signature to be the first-station parameter message, the second control circuit135bmay transmit the received first-station parameter message to the second secure micro-controller133bthrough the secured data channel, and instruct the second secure micro-controller133bto decrypt the first-station parameter message. The second secure micro-controller133bdecrypts the first-station parameter message according to the instruction of the second control circuit135bby using a corresponding decryption key or the private key of the second command authentication circuit130b(i.e., the private key of the second key pair).

If the second secure micro-controller133bfails to successfully decrypt (i.e., unable to decrypt) the first-station parameter message, it means failure of the authentication process of the first-station parameter message, and also means that the first-station parameter message fails to pass (i.e., does not pass) the authentication processes conducted by the second secure micro-controller133b. In this situation, the second secure micro-controller133bmay actively inform the second control circuit135bof that the first-station parameter message fails to pass the authentication processes. Alternatively, the second control circuit135bmay independently determine that the first-station parameter message fails to pass the authentication processes conducted by the second secure micro-controller133bif the second secure micro-controller133bcannot send a notice to the second control circuit135bwithin a predetermined length of time period, and thus the second secure micro-controller133bmay not need to actively inform the second control circuit135bof the failure of the authentication process of the first-station parameter message.

On the contrary, if the second secure micro-controller133bcan successfully decrypt the first-station parameter message, the second secure micro-controller133bgenerates the aforementioned target parameter signature, and transmits the target parameter signature to the second control circuit135bthrough the secured data channel. In other words, the target parameter signature may be independently generated by the second control circuit135b, or may be generated by the cooperation of the second control circuit135band the second secure micro-controller133b.

After obtaining the target parameter signature, the second control circuit135bmay instruct the second secure micro-controller133bto conduct a digital signature algorithm operation on the target parameter signature. In this situation, the second secure micro-controller133bperforms the operation1220.

In the operation1220, the second secure micro-controller133bmay perform a message recoverable signature algorithm operation on the target parameter signature according to the instruction of the second control circuit135bby using the public key of the first secure micro-controller133a(i.e., the public key of the first key pair). The message recoverable signature algorithm employed by the second secure micro-controller133bin the operation1220corresponds to the message recoverable signature algorithm employed by the first secure micro-controller133ain the aforementioned operation1140.

If the second secure micro-controller133bcannot successfully obtain the computing result of the message recoverable signature algorithm, it means failure of the authentication process of the first-station parameter message, and also means that the first-station parameter message fails to pass (i.e., does not pass) the authentication processes conducted by the second secure micro-controller133b. In this situation, the second secure micro-controller133bmay actively inform the second control circuit135bof that the first-station parameter message fails to pass the authentication processes. Alternatively, the second control circuit135bmay independently determine that the first-station parameter message fails to pass the authentication processes conducted by the second secure micro-controller133bif the second secure micro-controller133bcannot send a notice to the second control circuit135bwithin a predetermined length of time period, and thus the second secure micro-controller133bmay not need to actively inform the second control circuit135bof the failure of the authentication process of the first-station parameter message.

On the contrary, if the second secure micro-controller133bcan successfully obtain the computing result of the message recoverable signature algorithm, the second secure micro-controller133bgenerates a coded message (hereinafter, referred to as a recovered parameter coded message) corresponding to the target parameter signature, wherein the recovered parameter coded message contains a digest value (hereinafter, referred to as a recovered parameter digest value) and a padding string (hereinafter, referred to as a recovered parameter string).

In theory, if the target parameter signature is a real and correct signature rather than a forged signature, then the recovered parameter coded message generated by the second secure micro-controller133bin the operation1220should be identical to the parameter coded message generated by the first control circuit135ain the aforementioned operation1130, and the recovered parameter digest value and the recovered parameter string contained in the recovered parameter coded message should be respectively identical to the parameter digest value and the parameter string contained in the aforementioned parameter coded message.

The second secure micro-controller133bmay transmit the recovered parameter coded message to the second control circuit135bthrough the secured data channel.

In the operation1230, the second control circuit135bmay extract the aforementioned first target parameter or an encrypted version of the first target parameter (hereinafter, referred to as an encrypted target parameter) from the recovered parameter string.

If the data extracted from the recovered parameter string by the second control circuit135bis the encrypted target parameter, the second control circuit135bmay transmit the encrypted target parameter to the second secure micro-controller133bthrough the secured data channel, and instruct the second secure micro-controller133bto decrypt the encrypted target parameter. The second secure micro-controller133bmay decrypt the encrypted target parameter according to the instruction of the second control circuit135bby using a corresponding decryption key of the private key of the second command authentication circuit130b(i.e., the private key of the second key pair).

If the second secure micro-controller133bfails to successfully decrypt (i.e., unable to decrypt) the encrypted target parameter, it means failure of the authentication process of the first-station parameter message, and also means that the first-station parameter message fails to pass (i.e., does not pass) the authentication processes conducted by the second secure micro-controller133b. In this situation, the second secure micro-controller133bmay actively inform the second control circuit135bof that the first-station parameter message fails to pass the authentication processes. Alternatively, the second control circuit135bmay independently determine that the first-station parameter message fails to pass the authentication processes conducted by the second secure micro-controller133bif the second secure micro-controller133bcannot send a notice to the second control circuit135bwithin a predetermined length of time period, and thus the second secure micro-controller133bmay not need to actively inform the second control circuit135bof the failure of the authentication process of the first-station parameter message.

On the contrary, if the second secure micro-controller133ban successfully decrypt the encrypted target parameter, the second secure micro-controller133bgenerates the first target parameter, and transmits the first target parameter to the second control circuit135bthrough the secured data channel.

In other words, the first target parameter may be independently obtained from the recovered parameter string by the second control circuit135b, or may be generated by the cooperation of the second control circuit135band the second secure micro-controller133b.

In the operation1240, the second control circuit135bmay generate a corresponding digest value (hereinafter, referred to as a target parameter digest value) based on the first target parameter or the encrypted target parameter.

For example, in the embodiments where the first control circuit135agenerates the aforementioned parameter digest value by performing the Hash algorithm operation on the encrypted parameter, the second control circuit135bmay perform a corresponding Hash algorithm operation on the encrypted target parameter to generate the target parameter digest value.

For another example, in the embodiments where the first control circuit135agenerates the aforementioned parameter digest value by performing the Hash algorithm operation on the first-station parameter, the second control circuit135bmay perform a corresponding Hash algorithm operation on the first target parameter to generate the target parameter digest value.

In other words, the target parameter digest value may be generated based on the plaintext of the first target parameter, or may be generated based on the ciphertext of the first target parameter.

Then, the second control circuit135bmay perform the operation1250to compare the target parameter digest value with the recovered parameter digest value. In theory, if the first target parameter or the encrypted target parameter is real data rather than forged data, then the target parameter digest value generated by the second control circuit135bshould be identical to the recovered parameter digest value contained in the recovered parameter coded message generated by the second secure micro-controller133b.

In the aforementioned operation1140, the signature algorithm employed by the first command authentication circuit130ain generating the parameter signature is a message recoverable signature algorithm. But this is merely an exemplary embodiment, rather than a restriction to the practical implementations.

In practice, the signature algorithm employed by the first command authentication circuit130ain generating the parameter signature may be other signature algorithm than the message recoverable signature algorithm. In this situation, the first-station parameter or the corresponding encrypted parameter would not be recorded in the padding string of the parameter coded message. Therefore, the first command authentication circuit130ahas to additionally transmit the first-station parameter or the encrypted parameter to the second device group720through the first command transmitting device120a.

When authenticating the first-station parameter message, the second control circuit135band/or the second secure micro-controller133bmay perform the aforementioned operation1210to generate a corresponding signature (also referred to as a target parameter signature) corresponding to the received first-station parameter message.

As described previously, in the embodiments where the first command authentication circuit130aconfigures the encrypted parameter signature to be the first-station parameter message, the second control circuit135bmay transmit the received first-station parameter message to the second secure micro-controller133bthrough the secured data channel, and instruct the second secure micro-controller133bto decrypt the first-station parameter message. The second secure micro-controller133bmay decrypt the first-station parameter message according to the instruction of the second control circuit135bby using a corresponding decryption key of the private key of the second command authentication circuit130b(i.e., the private key of the second key pair).

If the second secure micro-controller133bfails to successfully decrypt (i.e., unable to decrypt) the first-station parameter message, it means failure of the authentication process of the first-station parameter message, and also means that the first-station parameter message fails to pass (i.e., does not pass) the authentication processes conducted by.

On the contrary, if the second secure micro-controller133bcan successfully decrypt the first-station parameter message, the second secure micro-controller133bgenerates the aforementioned target parameter signature, and transmits the target parameter signature to the second control circuit135bthrough the secured data channel. In other words, the target parameter signature may be independently generated by the second control circuit135b, or may be generated by the cooperation of the second control circuit135band the second secure micro-controller133b.

After obtaining the target parameter signature, the second control circuit135bmay instruct the second secure micro-controller133bto conduct a digital signature algorithm operation on the target parameter signature.

In this embodiment, the second secure micro-controller133bmay perform a message recoverable signature algorithm operation on the target parameter signature according to the instruction of the second control circuit135bby using the public key of the first secure micro-controller133a(i.e., the public key of the first key pair) to generate a digest (also referred to as a recovered parameter digest value). The message recoverable signature algorithm employed by the second secure micro-controller133bin this operation corresponds to the message recoverable signature algorithm employed by the first command authentication circuit130ain generating the parameter signature.

If the second secure micro-controller133bfails to successfully generate (i.e., unable to generate) the recovered parameter digest value, it means failure of the authentication process of the first-station parameter message, and also means that the first-station parameter message fails to pass (i.e., does not pass) the authentication processes conducted by the second secure micro-controller133b.

If the data received by the communication interface131is the encrypted target parameter, the second control circuit135bmay transmit the encrypted target parameter to the second secure micro-controller133bthrough the secured data channel, and instruct the second secure micro-controller133bto decrypt the encrypted target parameter. The second secure micro-controller133bmay decrypt the encrypted target parameter according to the instruction of the second control circuit135bby using a corresponding decryption key or the private key of the second command authentication circuit130b(i.e., the private key of the second key pair). If the second secure micro-controller133bfails to successfully decrypt (i.e., unable to decrypt) the encrypted target parameter, it means failure of the authentication process of the first-station parameter message, and also means that the first-station parameter message fails to pass (i.e., does not pass) the authentication processes conducted by the second secure micro-controller133b.

Similar with the aforementioned operations1240and1250, the second control circuit135bmay generate the corresponding target parameter digest value based on the target parameter or the encrypted target parameter, and compare the recovered parameter digest value generated by the second secure micro-controller133bwith the target parameter digest value. If the target parameter digest value does not identical to the recovered parameter digest value, it means failure of the authentication process of the first-station parameter message, and also means that the first-station parameter message fails to pass (i.e., does not pass) the authentication processes conducted by the second control circuit135b.

As shown inFIG. 10, after receiving the third-station command request, the third command authentication circuit130cperforms the operation1030.

In the operation1030, the third control circuit135cmay cooperate with the third secure micro-controller133cto authenticate the reality and correctness of the received third-station command request using the aforementioned signature verification key. The third control circuit135cand the third secure micro-controller133cmay adopt the method ofFIG. 5or related variety in the operation1030to authenticate the reality and correctness of the third-station command request. For the sake of brevity, details of those operations will not be repeated here.

If the third-station command request fails to pass the authentication process conducted by the third secure micro-controller133cor the third control circuit135c, the third control circuit135cwould determine that the third-station command request is a forged command request. In this situation, the third control circuit135cmay perform the operation1031to discard the third-station command request.

On the contrary, if the third-station command request passed the authentication process conducted by the third secure micro-controller133cand the third control circuit135c, the third control circuit135cmay perform the operation1033to accept a third target command corresponding to the third-station command request as an authenticated command.

When the second-station parameter message transmitted from the second device group720is received by the third device group730, the third command authentication circuit130cperforms the operation1035.

In the operation1035, the third control circuit135ccooperates with the third secure micro-controller133cto authenticate the reality and correctness of the second-station parameter message transmitted from the second device group720using the public key of the second command authentication circuit130b(i.e., the public key of the second key pair) to obtain a corresponding second target parameter. The operating concept of the operation1035is the same as the aforementioned operation1025. For the sake of brevity, details of the operations will not be repeated here.

If the second-station parameter message fails to pass the authentication process conducted by the third control circuit135cor the third secure micro-controller133c, the third control circuit135cwould determine that the second-station parameter message is a forged parameter message, and discard the second-station parameter message.

On the contrary, if the second-station parameter message passed the authentication processes conducted by the third control circuit135cand the third secure micro-controller133c, the third control circuit135cwould accept the second target parameter as an authenticated parameter.

In the operation1037, the third control circuit135ctransmits the third target command and the second target parameter to the third target device140cto instruct the third target device140cto execute the third target command based on the second target parameter. The operating concept of the operation1037is the same as the operations370through390in the embodiment ofFIG. 3. For the sake of brevity, details of those operations will not be repeated here.

After the third target command is executed by the third target device140c, the third control circuit135cmay perform the operation1039to control the third device group730to conduct subsequent operations. For example, the third control circuit135cmay transmit the operating result (e.g., related operation value, parameter, data, indication message, etc.) obtained by the third target device140cby executing the third target command to the secure command generating device110or a next device group through the third command transmitting device120c.

It can be appreciated from the foregoing descriptions that, in the collaborative operating system700, a device group in a later stage would conduct operations based on the operating result of another device group in a prior stage to together accomplish a specific collaborative operation assigned or configured by the secure command generating device110.

In the collaborative operating system700, a target command corresponding to a specific command request received by any device group would be accepted as an authenticated command only if the specific command request can pass the authentication processes conducted by the command authentication circuit (e.g., the aforementioned command authentication circuit130a,130b, or130c) of the device group. Those commands, which lack the signature of the secure command generating device110or are unable to be successfully decrypted by the secure micro-controller of the command authentication circuit, would be filtered out by the command authentication circuit, so as to prevent those commands from being executed by the target device (e.g., the aforementioned target device140a,140b, or140c).

Accordingly, even malicious program codes or intruders can hack into the communication process between the command transmitting device and the command authentication circuit, the forged commands generated by the malicious program codes or intruders would be effectively filtered out by the command authentication circuit and will not be executed by the target device in the device group for the reason that these forged commands are not generated by using the signature of the secure command generating device110.

In addition, a target parameter corresponding to a specific parameter message received by any device group would be accepted as an authenticated parameter (i.e., would be determined as an secure parameter) only if the specific parameter message can pass the authentication processes conducted by the command authentication circuit (e.g., the aforementioned command authentication circuit130a,130b, or130c) of the device group. Those parameters, which lack the signature of the command authentication circuit in the prior stage or are unable to be successfully decrypted by the secure micro-controller of the command authentication circuit, would be filtered out by the command authentication circuit in the later stage, so as to prevent those parameters from being utilized as basis or reference for the operation of the target device (e.g., the aforementioned target device140a,140b, or140c) in the later stage.

Accordingly, even malicious program codes or intruders can hack into the communication process between different device groups, the forged parameter messages generated by the malicious program codes or intruders would be effectively filtered out by the command authentication circuit in the later stage and will not be adopted by the target device in the later stage for the reason that these forged parameter messages are not generated by using the signature of the secure micro-controller in the prior stage.

Moreover, the command authentication circuit (e.g., the aforementioned command authentication circuit130a,130b, or130c) in each of the aforementioned device groups automatically conducts the operations of authenticating command requests and parameter messages without user intervention. Therefore, the collaborative operating system700has merits of great operating convenience and application flexibility, and capable of ensuring the reality and correctness of the commands and related operating parameters in various IoT systems or Industry 4.0 smart manufacturing systems.

Please note that the executing order of the operations inFIG. 8throughFIG. 10described previously is merely an exemplary embodiment, rather than a restriction to practical implementations. For example, the executing order of the operations810,820, and830inFIG. 8can be modified as needed. The executing order of the operations910-930,940-960, and970-990inFIG. 9can be modified as needed. Similarly, the executing order of the operations1010,1020,1030and some subsequent operations inFIG. 10can be modified as needed.

In addition, the quantity of the device groups in the collaborative operating system700may be increased or decreased depending on requirement of the practical application.

Certain terms are used throughout the description and the claims to refer to particular components. One skilled in the art appreciates that a component may be referred to as different names. This disclosure does not intend to distinguish between components that differ in name but not in function. In the description and in the claims, the term “comprise” is used in an open-ended fashion, and thus should be interpreted to mean “include, but not limited to.” The term “couple” is intended to compass any indirect or direct connection. Accordingly, if this disclosure mentioned that a first device is coupled with a second device, it means that the first device may be directly or indirectly connected to the second device through electrical connections, wireless communications, optical communications, or other signal connections with/without other intermediate devices or connection means.

The term “and/or” may comprise any and all combinations of one or more of the associated listed items. In addition, the singular forms “a,” “an,” and “the” herein are intended to comprise the plural forms as well, unless the context clearly indicates otherwise.