Generation and processing of encrypted program instructions by means of a numerical control device
Patent Information
- Application Number
- DE502022003275
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-06-14
- Filing Date
- 2022-05-24
- Publication Date
- 2025-04-10
- Estimated Expiration
- 2042-05-24
AI Technical Summary
Existing numerical control systems for manufacturing machines lack effective protection against unauthorized access to control programs, particularly parts programs for CNC controls, which can lead to data theft, sabotage, and unauthorized production changes.
The solution involves moving the CAM algorithm to the numerical control device, where workpiece data is provided, and using this algorithm to generate encrypted control programs directly on the device. These programs are stored in non-volatile memory and decrypted only when needed for processing, ensuring that sensitive technological knowledge is protected from unauthorized access.
This approach effectively protects control programs against unauthorized access by maintaining them in encrypted form, even when stored on the numerical control device. The encryption and decryption processes, managed by the CAM algorithm and cryptographic algorithms, ensure that only authorized personnel can access and execute the control programs, thereby preventing data theft and sabotage.
Description
[0001] The invention relates to a method for operating a numerical control device for controlling a manufacturing machine for the production of a workpiece, wherein workpiece data is provided on the numerical control device, wherein CAM software is provided on the numerical control device, wherein program instructions for the production of the workpiece using the manufacturing machine are generated by means of the CAM software depending on the workpiece data, and wherein the program instructions are executed by the numerical control device to control the manufacturing machine for the production of the workpiece.
[0002] Furthermore, the invention relates to a numerical control device for carrying out the method.
[0003] Furthermore, the invention relates to a manufacturing machine system comprising a numerical control device for carrying out the method and a manufacturing machine connected to the numerical control device.
[0004] The manufacturing process for a workpiece typically begins with its modeling on a CAD (Computer-Aided Design) system. The geometric data of the workpiece, determined using the CAD system, is then passed as input to a CAM (Computer-Aided Manufacturing) system. Using this geometric data, the CAM system calculates the toolpaths along which the tool moves relative to the workpiece during the manufacturing process. This calculation takes into account the geometry of the workpiece, the configuration of the production machine, and, if applicable, the geometry of a blank that will later serve as the starting point for the machining operation. For example, for milling, the system determines the toolpaths that a milling machine must follow to produce the workpiece from the blank.
[0005] In this way, the movements of one or more tools necessary for the production of the workpiece are determined by the CAM system and provided as an input variable to a so-called post-processor.
[0006] In connection with the invention, possible manufacturing processes are not limited to material removal processes (milling, turning, drilling, grinding, etc.), but also include material deposition manufacturing processes (3D printing, welding, etc.).
[0007] The manufacturing processes themselves are as diverse as the manufacturing machines used. These include production machines, machine tools, 3D printing machines, robots, and more.
[0008] The post-processor, which is usually in the form of a program running on a computer, generates the control program for that specific manufacturing machine from the motion paths determined by the CAM system and the configuration of the specific manufacturing machine with which the production is to be carried out.
[0009] In a manufacturing machine in the form of a machine tool, the numerical control device is usually referred to as CNC control (Computerized Numerical Control) or numerical control, and the control program is also referred to as part program, NC part program or NC program.
[0010] Using the CNC control, the desired workpiece is ultimately manufactured from the raw part on the relevant machine tool in conjunction with the corresponding part program. For this purpose, the CNC control translates the motion paths stored in the part program into interpolated movements of the individual machine axes, so that the tool is moved relative to the workpiece in the desired manner.
[0011] The control program, or part program, is typically in the form of a file containing program instructions (commands), especially G-code, written line by line in ASCII code and then in DIN code. Such a command (e.g., G3 X115 Y113.3 I-43 J25.52), also called a block, might, for example, move a tool, such as a milling cutter, along a circular path to a target position in order to mill out a recess from the workpiece. The individual commands of the part program are later read by the numerical control unit (CCU) of the machine tool. Based on the commands of the part program, the CCU calculates target position values Xtargetn for each drive n of the machine tool's drive system and assigns them to the drives accordingly.A control unit, also included in the numerical control unit, ensures that the determined target position values X soll_n of the individual drives (axes) are adjusted accordingly.
[0012] The procedure described above and the components required for it are known, for example, from EP 2058717 A1.
[0013] There is a trend to integrate complex manufacturing tasks, previously solved only with standalone (external) CAD / CAM tools, into the CNC control system of a machine tool. This CAD / CAM software then generates the part program for controlling the relevant machine tool directly on the control system connected to the machine tool, where it is subsequently executed.
[0014] It is known from WO 2016086344 A1 that the CAD data can be entered directly into the CNC control and that CAM software provided on the CNC control generates a part program directly on this CNC control.
[0015] From EP 2620826 A1 it is also known that a parts program can be transferred in encrypted form between an external CAM system and a CNC control to protect against unauthorized access.
[0016] Document DE 102018214840 A1 relates to a method and a system for providing machining data to a numerical control device of a numerically controlled machine tool, comprising: providing machining data to an external data processing device, wherein the machining data includes numerical control data, in particular one or more NC programs, on the basis of which machining of a workpiece on the numerically controlled machine tool can be carried out. The NC programs are generated by means of the external data processing device and, if necessary, transmitted to the numerical control device in encrypted form.
[0017] Document EP 3534228 A1 describes a technology for preventing data leaks in a control device that controls a control subject. Using a private key and a public key, data encrypted outside the control device is generated using the public key. If necessary, the encrypted data is then decrypted using the private key within the control device and stored in a volatile memory area that is inaccessible from the outside.
[0018] Document US 2018094953 A1 discloses a distributed manufacturing platform that connects designers, manufacturers, carriers, and other entities, simplifying the process of manufacturing and delivering new and existing products. A distributed ledger, or blockchain, can be used to record transactions, execute smart contracts, and perform other operations to increase supply chain transparency and integrity. Blockchain-enabled packaging can be used to track the movement and condition of packages from manufacturing through transportation to delivery.
[0019] One object of the present invention is to protect a control program for a numerical control device, in particular a part program for a CNC control, from unauthorized access.
[0020] This problem is solved by a method according to claim 1, i.e., a method for operating a numerical control device for controlling a manufacturing machine for manufacturing a workpiece, comprising the following steps: Providing workpiece data on the numerical control device, providing CAM software on the numerical control device, generating program instructions for manufacturing the workpiece using the manufacturing machine, wherein the program instructions are generated by the CAM software depending on the workpiece data on the numerical control device, encrypting the program instructions and storing the encrypted program instructions in a non-volatile memory of the numerical control device, reading the encrypted program instructions from the non-volatile memory, decrypting the encrypted program instructions and executing the decrypted program instructions by the numerical control device to control the manufacturing machine for manufacturing the workpiece.
[0021] By integrating a CAM algorithm into the numerical control unit (CCU), hereinafter referred to simply as the "control unit," the user can directly respond to changing conditions at the CCU's operating unit. Furthermore, the CAM algorithm has access to machine parameters of the relevant production machine, which are stored in the CCU, and can thus generate an optimized control program and, consequently, a better manufacturing result. Since the control program is created specifically for the production machine in question, no post-processor is required.
[0022] The CAM algorithm directly generates the control program required for manufacturing a specific workpiece on the control unit. Specifically, the control program includes all the program instructions necessary for manufacturing the workpiece. This control program is then retained in the control unit's file system for future identical production runs. If relevant parameters change, the existing control program is completely or partially overwritten by a modified one.
[0023] The control program generated by the CAM algorithm on the control unit contains technological knowledge that must be protected. In particular, duplication of the control program and thus its use on other control units or production machines must be prevented.
[0024] The CAM algorithm generates an encrypted control program on the numerical control unit without storing individual program instructions unencrypted in non-volatile memory. In particular, the CAM algorithm generates the part program required for manufacturing a specific workpiece directly at the necessary time in the manufacturing process, and in encrypted form.
[0025] The method according to the invention offers the advantage that control programs generated directly on the numerical control unit are also protected against unauthorized access. In particular, the control program is only present in encrypted form in a non-volatile memory of the numerical control unit, so that, for example, a person who does not know a key required for decryption may be able to read it from the non-volatile memory, but not decrypt it.
[0026] The CAM algorithm primarily uses cryptographic algorithms for encryption. Once encrypted, the program instructions in the control program can no longer be read without knowledge of the key. Furthermore, manipulation of the motion information hidden behind the program instructions is no longer possible.
[0027] Since the encryption takes place directly on the numerical control unit, no external device is necessary for encrypting the parts program.
[0028] Furthermore, facilities for transporting the key from the external device to the numerical control device are not necessary, as would be the case with a control program generated and encrypted by an external CAD / CAM system.
[0029] Current security solutions require a password or authentication for access to the numerical control unit. However, anyone gaining access to the numerical control unit in this way can also access its file system and thus gain access to sensitive data, such as component programs. The invention can offer additional protection in this regard.
[0030] The encrypted program instructions are advantageously decrypted in the NC kernel of the numerical control unit. The NC kernel, also called NCK (Numerical Control Kernel), is the part of the numerical control unit that controls the axes of the machine tool. Essential components of the NCK are: the interpreter, the interpolator, and the controllers for position, speed, and acceleration of the individual drives (axes) of the machine tool. The NCK is a very sensitive area of the numerical control unit with regard to confidential data and is therefore specially protected against external access.
[0031] Furthermore, the decrypted program instructions are only stored in the NCK's volatile memory, meaning they are immediately overwritten by new program instructions and thus deleted after execution. Therefore, it would only be possible to read the unencrypted program instructions from the NCK of the numerical control unit with a very significant effort.
[0032] Furthermore, the NCK remains capable of interpreting motion information and executing axis movements without functional limitations. Unencrypted control programs can also still be executed.
[0033] Advantageously, the NC kernel can not only execute unencrypted control programs but also read encrypted file formats and decrypt them for processing. The decrypted program instructions and the resulting individual motion information are not stored in the control unit's file system, nor are they visible outside the NC kernel in any other way. Instead, they are only made available internally in the NC kernel's volatile memory. The NC kernel remains able to interpret the motion information and execute axis movements without functional limitations, just as with unencrypted control programs.
[0034] The control programs previously generated by the integrated CAM algorithms and stored unencrypted in the file system can now be stored in encrypted form. The NC kernel "understands" this encrypted file format and can process it directly. This protects the manufacturing process directly at the production machine, particularly against data theft, espionage, alteration of production information through changes to the control program, sabotage, or unintended changes due to operator errors.
[0035] An operator who has authorized access to the control device can therefore execute a control program created and protected in the manner described, but cannot view, modify or copy it.
[0036] One embodiment of the invention provides that the program instructions form individual sentences or blocks of several sentences of a control program for manufacturing the workpiece.
[0037] Both during encryption and decryption, it can be advantageous not to encrypt or decrypt the entire control program for manufacturing the workpiece in a single operation. The control program is generated by the CAM software in blocks or sets, so it makes sense to encrypt these blocks or sets during their generation or at least immediately afterward, ensuring that neither the entire control program nor large parts of it are ever unencrypted on the numerical control device.
[0038] The same applies to the decryption of the control program. Here, too, it is advantageous if the decryption is carried out sentence by sentence or block by block, so that only those program instructions of the control program are decrypted that are currently being processed by the numerical control unit or whose processing is imminent.
[0039] With the aforementioned approach, it is not strictly necessary for the blocks used for encryption and decryption to correspond exactly to those used for decryption. For example, different block sizes can be chosen for encryption and decryption. The block size (also called block length) can thus be adapted to different constraints during encryption and decryption. In particular, the block length during decryption can also be adjusted to the constraints of the numerical control unit used to process these blocks.
[0040] In one embodiment of the invention, the decryption of the program instructions depends on metadata associated with them. Typically, this metadata does not apply to individual program instructions—although this would also be possible in principle—but rather to the entire control program. Preferably, the metadata specifies that the decryption of the program instructions is restricted to a particular numerical control device and / or a particular manufacturing or machine tool and / or a particular license. This further complicates unauthorized execution of a control program, as even if the key to decrypting the control program is known, additional conditions must be met before the data becomes visible or the control program can be executed.This also prevents the encrypted control program from being transferred and executed on another machine.
[0041] In one embodiment of the invention, only one key is used for encrypting and decrypting the program instructions (symmetric encryption). This has the advantage that only one key is required, but this key is used by both the encryption instance and the decryption instance.
[0042] Alternatively, it is also possible to use asymmetric encryption with a key pair, usually a so-called public key and a so-called private key.
[0043] The encrypting instance does not know the key for decryption.
[0044] In a preferred embodiment of the invention, encryption and decryption are performed using OpenSSL software, which generally encompasses a variety of cryptographic functions for encryption and decryption, as well as various other tools related to encryption and decryption. OpenSSL currently enjoys widespread use and recognition.
[0045] In the practical implementation of the invention, it proves advantageous to have a DRM (Digital Rights Management) library installed in the NCK software, which is used in particular to organize key and rights management. This simplifies the management of access rights and, in particular, allows for the easy implementation of identical or similar access rights on multiple numerical control devices, e.g., within a factory.
[0046] Furthermore, the DRM library can also be used to provide for the authentication of a user that is required before access to the numerical control device in general or to protected content contained therein is possible.
[0047] Furthermore, it is possible that the NCK must first authenticate itself before it can access, for example, an encrypted control program.
[0048] The above-mentioned task is further solved by a numerical control device which executes a procedure also mentioned above.
[0049] Furthermore, the above-mentioned task is solved by a manufacturing machine system comprising such a numerical control device and a manufacturing machine controlled by it.
[0050] The invention is described and explained in more detail below using exemplary embodiments. These include: FIG 1 a machine tool system according to the invention, FIG 2 a first embodiment of a CNC control according to the invention, FIG 3 a second embodiment of a CNC control according to the invention, FIG 4 process steps in carrying out a method according to the invention.
[0051] In FIG 1 A schematic representation of a manufacturing machine system in the form of a machine tool system 1 is shown, comprising a numerical control device in the form of a CNC controller 2 and an associated manufacturing machine in the form of a machine tool 3. In this embodiment, the machine tool 3 has six machine axes, through which a relative movement can be performed between a tool, which in this embodiment is a turning tool 4, and a workpiece 5. The tool 4 is clamped in a tool holder 6, which in turn is connected to a tool spindle 7 driven by a position-controlled motor 8. The workpiece 5 is attached to a workpiece table 10 by clamping devices 9.
[0052] For the sake of clarity, the turning tool 4 can be used with the machine tool 3 shown in the exemplary embodiment in FIG 1 drives not shown in X- ,The Y and Z axes can be moved translationally with position control. In addition to the three linear axes, the machine tool 3 shown also includes two other axes, also made of [material not specified]. FIG 1 visible position-controlled rotary axes A (spindle axis) and B, with which the tool 4 can be rotated around the respective axis and also aligned in a position-controlled manner by the angular positions α and β relative to the workpiece 5.
[0053] Furthermore, the machine tool 3 has a third position-controlled rotary axis C, which runs parallel to the Z-axis and with respect to which the workpiece table 10 is rotatably mounted relative to a stationary machine frame 11. This allows the workpiece 5 to also be positioned at an angular angle γ relative to the tool 4. For the sake of clarity, a diagram of the drive has been omitted here as well.
[0054] Depending on the machining operation to be carried out, speed-controlled operation with respect to the rotary axes A and / or C is also possible with the machine tool 3 shown.
[0055] The machine tool 3 according to the embodiment thus has six machine axes (the 3 linear axes X, Y and Z as well as the 3 rotary axes A, B and C), i.e. it is a so-called 6-axis machine tool (6-axis machine) 3.
[0056] It should be noted here that a machine tool can of course have more or fewer than six machine axes.
[0057] The machine tool 3 is connected to the CNC control 2, which determines the positional setpoints x, y, z, α, β, and γ for controlling a relative movement between the tool 4 and the workpiece 5, based on a control program in the form of a part program 12. The CNC control 2 determines the positional setpoints based on the part program 12, in which the movement to be performed by the tool 4 and / or workpiece 5 is defined by program instructions in the form of so-called G-code, which, in addition to G-instructions, can also include a variety of other instructions (M-, S-, T-instructions, etc.). Alternatively or additionally, the movement of the tool 4 and / or the workpiece 5 can also be specified by an operator at the machine tool 3 by means of manual input via an operating device 13 in conjunction with a display device 14 of the CNC control 2. The operating device 13 includes, in particular, input fields, buttons, and rotary controls for this purpose.
[0058] The part program 12 is usually generated outside the CNC control 2 by an external CAM / CAD system (not shown) and a so-called post-processor (not shown) that may be connected downstream of the CAM / CAD system, and transferred from there to the CNC control 2.
[0059] During the execution of the part program 12, the CNC control 2 generates, at a specific interval known as the interpolation interval, both target positions x, y, and z for the linear axes and α, β, and γ (angular positions) for the rotary axes, and assigns these to the drives of the axes accordingly. Based on these interconnected, interpolated target positions, the tool 4 is moved with a predefined orientation relative to the workpiece 5 along a motion path defined by the part program 12. The CNC control 2 includes controllers (position controllers, velocity controllers, acceleration controllers, speed controllers, etc.) in Fig 1 (not shown) ensure that the specified values are maintained within specified tolerances.
[0060] A special feature of the CNC control 2 according to the exemplary embodiment is that it includes CAM software 15, so that workpiece data, in particular CAD data 16 of the workpiece 5 to be manufactured, can be supplied directly to the CNC control 2. The CAD data 16 are supplied to the CNC control 2 in particular via a suitable storage medium (e.g. USB stick) or a network (LAN, WLAN, etc.).
[0061] FIG 2 Figure 1 shows the essential components of the CNC control 2 in connection with the invention in a highly simplified block diagram. Workpiece data, in particular CAD data 16 of the workpiece 5 to be machined, are first made accessible to the CNC control 2 via input means (not shown). For this purpose, for example, a CAD data file can be transmitted to the CNC control 2 (indicated in the figure by arrow 25) and stored in a non-volatile (permanent) memory 17 of the CNC control 2. The CAD data file therefore includes at least the CAD data 16 relating to the geometry of the finished machined workpiece 5. In the case of material removal, data relating to the workpiece blank are also included in the CAD data file.
[0062] In addition to transferring a CAD data file, other input options for describing the workpiece 5 to be manufactured into the CNC control 2 are also possible, e.g. manual input.
[0063] Particularly in connection with the transmission of a CAD data file, it is possible that this file or the CAD data contained therein are encrypted and transmitted to the CNC control 2, and are first decrypted by the CNC control 2 for further processing.
[0064] To create the part program 12 for manufacturing the workpiece 5, a CAM software 15 is available on the CNC control 2 according to the invention, which is executed by means of suitable hardware components (processor, memory, etc.; not shown) and which generates program instructions (G-code) from the CAD data 16 for moving the tool 4 relative to the workpiece table 10 of the machine tool 3 or to the workpiece 5.
[0065] The CAD data 16 of the workpiece 5 to be manufactured serves as input data for this CAM software 15. It is stored in a non-volatile (permanent) memory 17 of the CNC control 2. Furthermore, a key 18 for encrypting and decrypting data in conjunction with suitable encryption software, e.g., OpenSSL, is located in a specially protected and "hidden" (not visible to the user) memory area 17B of this memory 17.
[0066] Advantageously, the generated program instructions are encrypted immediately after their creation and stored in encrypted form in the non-volatile memory 17 of the CNC controller 2. Encryption is performed using a "Secret Key" (Key) 18 stored in a memory area 17B of the CNC controller 2, inaccessible to unauthorized users, in conjunction with the encryption routines (Encrypt) 19 of the encryption software. Encryption can be performed line by line or block by block, with block encryption meaning that several program instructions or lines of the part program 12 are encrypted together in a single encryption operation. Advantageously, the generated program instructions are stored only in a volatile memory (SRAM) 21 assigned to the CAM software, which is inaccessible from the outside, before encryption.The encrypted program blocks are then stored in non-volatile memory 17. This process is repeated until all program instructions, and thus the complete subprogram 12 (in . Fig 2 (also referred to as "Enc. Code") is stored in encrypted form in the non-volatile memory 17 of the CNC control 2.
[0067] The processing of part program 12 then proceeds as follows: first, the encrypted program instructions of part program 12 are decoded in an NC kernel (NCK) 20 of the CNC control 2. The NC kernel 20 is the part of the CNC control 2 that ultimately provides target position values for the axes (in Figur 2 The position is generated by machine tool 3 (symbolized by x, y, z) and has corresponding position controllers. The target position values are assigned to the drives of the machine tool (symbolized by arrow 26).
[0068] Similar to encryption, decryption is also advantageously performed in blocks of program instructions or sentences of the part program 12. For this purpose, a DRM (Digital Rights Management) decryption library 23, included in the NCK 20, reads the part program 12 block by block and decrypts it using corresponding decryption routines 24 of the encryption software. The NCK 20 also has an externally inaccessible, volatile memory (SRAM) 22 in which sentences or blocks of the part program 12 already processed by the machine tool 3 are overwritten by new sentences or blocks. Analogous to encryption, the part program 12 is therefore never completely decrypted in a memory of the CNC control 2.
[0069] Furthermore, the decrypted program instructions are stored only in volatile memory (SRAM) 22 of the NCK 20. The DRM library 23 is preferably loaded when the NCK starts and decrypts the encrypted part programs intended for processing by the NCK block by block. By using the DRM library 23, the encrypted part program 12 is neither entirely nor partially visible in the file system of the CNC control 2, represented by the non-volatile memory 17, without protection. The name DRM (Digital Rights Management) already indicates further possibilities of the DRM library 23. Advantageously, in addition to certain encryption and decryption settings, file rights such as usage duration, number of executions, or additional options (linking to a license, linking to a specific machine, specifying a particular encryption or decryption method, etc.) can also be set.
[0070] The embodiment according to FIG 3 largely corresponds to the FIG 2 with the difference that in FIG 3 Asymmetric encryption is used. This means that different keys, in particular a key pair, are used for encryption and decryption.
[0071] This shows FIG 3 A key pair 18C in the form of a "public key" 18A, which is not secret and is used for encryption, and a secret "private key" 18B for decryption. These two keys 18A and 18B are also preferably stored in a memory area 17B of the non-volatile memory 17, which is inaccessible to the operator of the CNC control 2 from the outside.
[0072] Keys 18, 18A, and 18B can be provided by the CNC control manufacturer, for example, in a dedicated library. However, CNC control 2 may also simply have a storage location for the key(s).
[0073] Furthermore, the key for encryption and / or decryption can also be defined by an OEM (Original Equipment Manufacturer) who builds upon the CNC control 2 from the control manufacturer and enhances it with their own functions or applications, usually for customers with specific requirements. Here, too, the control manufacturer can provide the OEM with a corresponding library.
[0074] Furthermore, an operator of the CNC control 2, who uses the corresponding CAM software 15 to create a part program, can also determine the key for encryption and / or decryption.
[0075] If a key pair (e.g. Key-Pair 18C) is provided, the keys can also be provided by different companies, e.g. the Public Key 18A from a manufacturer of the CNC control 2 and the key 18B from an OEM.
[0076] Advantageously, keys 18 or 18A and 18B are stored in a TPM (Trusted Platform Module) and made available only to certain applications or libraries.
[0077] In addition to the keys 18, 18A, and 18B, the library preferably also contains information on how the encrypted subprogram 12 must be decrypted. Various decryption methods are possible, which generally depend on the chosen encryption method.
[0078] FIG 4 illustrates the essential process steps in carrying out a process according to the invention in the form of a flowchart.
[0079] In a first process step S1, workpiece data (CAD data) is provided on a numerical control device of a machine tool.
[0080] In a second process step S2, CAM software is provided on the numerical control device.
[0081] In process step S3, program instructions for manufacturing the workpiece using the machine tool are generated using the CAM software, depending on the workpiece data.
[0082] In process step S4, the generated program instructions are encrypted and stored in a non-volatile memory of the numerical control unit.
[0083] In process step S5, the encrypted program instructions are read from the non-volatile memory and decrypted.
[0084] In process step S6, the decoded program instructions are processed by the numerical control unit to control the machine tool for the production of the workpiece.
Claims
1. Method for operating a numerical control facility for controlling a manufacturing machine for manufacturing a workpiece (5) comprising the following steps: - provision of workpiece data on the numerical control facility, - provision of CAM software (15) on the numerical control facility, - generation of program instructions for manufacturing the workpiece (5) by means of the manufacturing machine, wherein the program instructions are generated on the numerical control facility by means of the CAM software (15) in accordance with the workpiece data, - encryption of the program instructions and saving of the encrypted program instructions in a non-volatile memory of the numerical control facility, - readout of the encrypted program instructions from the non-volatile memory, decryption of the encrypted program instructions and processing of the decrypted program instructions by the numerical control facility for controlling the manufacturing machine for manufacturing the workpiece.
2. Method according to claim 1, wherein the program instructions form individual sets or blocks of a plurality of sets of a parts program for manufacturing the workpiece (5).
3. Method according to claim 1 or 2, wherein the encrypted program instructions are decrypted in a NC kernel (20) of the numerical control facility.
4. Method according to one of claims 1 to 3, wherein the decrypted program instructions are only made available in a volatile memory of the numerical control facility, in particular the NC kernel (20).
5. Method according to one of the preceding claims, wherein the program instructions are decrypted in accordance with metadata associated with the program instructions.
6. Method according to one of the preceding claims, wherein the decryption of the program instructions is restricted to a particular numerical control facility and / or a particular manufacturing machine and / or a particular license.
7. Method according to one of the preceding claims, wherein a key is used for encryption and decryption of the program instructions.
8. Method according to one of the preceding claims, wherein a first key is used for encryption and a second key for decryption of the program instructions.
9. Method according to one of the preceding claims, wherein encryption and decryption takes place using OpenSSL software.
10. Method according to one of claims 3 to 9, wherein the NC kernel (20) manages the access rights, accesses the encrypted program instructions, and decrypts and processes these by means of a DRM library (23).
11. Method according to claim 10, wherein the NC kernel (20) accesses the encrypted program instructions, decrypts and processes these only after successful authentication by means of the DRM library (23).
12. Numerical control device for performing a method according to one of claims 1 to 11.
13. Numerical control device according to claim 12, designed as a CNC control system (2).
14. Manufacturing machine system, comprising a numerical control facility according to claim 12 or 13 and a manufacturing machine controlled thereby.
15. Machine tool system according to claim 14, comprising a CNC control system (2) and a machine tool (3).