IP Library › Granted Patent US 12,174,942
Granted Patent B2
US 12,174,942 · App. 17/512,919 · Granted Dec 24, 2024

Protection method, computer program product and associated systems

Inventors: Olivier Meurant (Saint Martin d'Heres, FR); Florent Aubert (Crolles, FR)
Assignee: Schneider Electric Industries SAS
G06F21/54G06F21/64H04L9/3247
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,174,942
App. No.
17/512,919
Granted
Dec 24, 2024
Kind
B2
Abstract

A method for protecting the execution of a software module having at least one protected function, the method including: obtaining a digital identifier of the electronic controller; calculating, by way of a calculation function contained in the software module, a digital signature on the basis of the digital identifier; comparing the calculated digital signature with a predefined signature stored in the software module; authorizing the execution of the protected function if the calculated digital signature corresponds to the predefined digital signature, and declining to execute the protected function if the calculated digital signature does not correspond to the predefined digital signature.

Claims (34)

1. A method for protecting execution of a software module, the method, implemented by control instructions of the software module, comprising:

responsive to a request from an electronic controller of an electricity distribution installation to execute at least one protected function, obtaining a digital identifier of the electronic controller, the software module being compiled and installed in the electronic controller and including the at least one protected function, the control instructions, and at least one nonprotected function;

calculating, by way of a calculation function contained in the software module, a digital signature on the basis of the obtained digital identifier;

comparing the calculated digital signature with a predefined signature stored in the software module, the predefined digital signature having been inserted beforehand during the creation of the software module on the basis of the digital identifier of the electronic controller and by way of a calculation function analogous to the one contained in the software module; and

authorizing the execution of the protected function if the calculated digital signature corresponds to the predefined digital signature, and declining to execute the protected function if the calculated digital signature does not correspond to the predefined digital signature, wherein execution of the at least one nonprotected function is noncontingent on the digital identifier of the electronic controller.

2. The method according to claim 1 , further comprising:

acquiring an additional parameter from the electronic controller;

comparing the acquired additional parameter with a reference value of the additional parameter, stored in the software module,

and wherein execution of the protected function is authorized only if, in addition, the acquired additional parameter corresponds to the reference value, execution of the protected function being declined if the acquired additional parameter does not correspond to the reference value.

3. The method according to claim 2 , wherein the additional parameter is an operating duration, and wherein the reference value of the additional parameter is a maximum operating duration.

4. The method according to claim 1 , further comprising a temporary inhibition phase, following booting of the electronic controller, during which execution of the protected function is authorized even if the calculated digital signature does not correspond to the predefined digital signature.

5. The method according to claim 1 , wherein the digital identifier of the electronic controller is obtained by way of a system function provided by the electronic controller.

6. The method according to claim 1 , wherein the digital identifier comprises a hardware identifier that uniquely identifies the electronic controller.

7. The method according to claim 1 , wherein the calculation function is a hash function.

8. The method according to claim 1 , wherein the electronic controller is a programmable logic controller.

9. A method for generating a software module intended to be deployed on a target electronic controller, the method comprising:

acquiring a digital identifier of the electronic controller,

calculating a signature on the basis of the obtained digital identifier, the calculation being performed by way of a calculation function;

recording the signature in the software module;

recording, in the software module, software code configured, when executed by a processor of the target electronic controller, to cause the processor to implement the method according to claim 1 .

10. A non-transitory computer readable medium having stored thereon a software module comprising software code having control instructions, the control instructions being configured, when executed by a processor of an electronic controller of an electricity distribution installation, to implement a method comprising:

responsive to a request from the electronic controller of an electricity distribution installation to execute at least one protected function, obtaining a digital identifier of the electronic controller, the software module further including the at least one protected function and at least one nonprotected function;

calculating, by way of a calculation function contained in the software module, a digital signature on the basis of the obtained digital identifier;

comparing the calculated digital signature with a predefined signature stored in the software module;

authorizing the execution of the protected function if the calculated digital signature corresponds to the predefined digital signature, and declining to execute the protected function if the calculated digital signature does not correspond to the predefined digital signature, wherein execution of the at least one nonprotected function is noncontingent on the digital identifier of the electronic controller.

11. An electricity distribution installation, comprising an electronic controller comprising a processor and the software module of the non-transitory computer readable medium according to claim 10 .

12. A system for generating a software module intended to be deployed on a target electronic controller, the system being configured to implement a method comprising:

acquiring a digital identifier of the electronic controller,

calculating a digital signature on the basis of the obtained digital identifier, the calculation being performed by way of a calculation function;

recording the digital signature in the software module;

recording the software code of the software module of the non-transitory computer readable medium according to claim 10 in the software module.

13. The method according to claim 6 , wherein the hardware identifier comprises a serial number.

14. The electricity distribution installation according to claim 11 , wherein the electricity distribution installation is an electricity distribution microgrid.

15. The method according to claim 5 , wherein the digital identifier is stored in an area of memory of the electronic controller that is inaccessible to a user directly or via a program launched by the user, and is accessible to the software module only via a system function of the electronic controller, wherein the control instructions include one or more routines for calling the system function in order to request access to the digital identifier.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2021
From: MEURANT, OLIVIER; AUBERT, FLORENT
To: SCHNEIDER ELECTRIC INDUSTRIES SAS
Reel/Frame 057946/0926 →
Priority Claims (1)
FR 2011213 · Nov 2, 2020 · national
Continuity (1)
Related Publication 20220138315A1 · May 5, 2022