Patent Description:
Within the construction industry, drilling systems are typically utilized to create holes or through-formations within mineral materials (e.g., concrete, brickwork, etc.). Drilling systems may include a core drill, and one or more auxiliary devices that provide support for the core drill. For example, in certain configurations, a machine stand, a feed device, a water management device, a vacuum and/or a suction device may be utilized as auxiliary devices for the core drill. In certain situations, drilling systems may include a computing device (e.g., mobile computing device) that is configured to support the core drill and the auxiliary devices.

During operation of the drilling system, each component of the system may communicate operating commands, sensor information, parameters, data, or other types of information to another component of the system. It may be beneficial to include systems and methods within the components of the drilling system to enable data security for these types of communications, such that the information sent and received is reliable and trustworthy.

In a first embodiment, systems and methods for data security with power tools are provided. The systems and methods include transmitting an initialization command, by a processor of a computing device, to a power tool configured with a secure element. The secure element is a digital key storage unit configured to generate a private key and a corresponding public key upon receiving the initialization command. The power tool transmits the generated public key to the computing device. The computing device tags the public key with a unique identification number associated with the power tool, and stores the corresponding public key within a data storage unit.

In certain embodiments of the present disclosure, a drilling system may include systems and methods for enabling data security for communications generated or received by components of the drilling system. The drilling system may include a core drill and one or more auxiliary devices communicatively and operatively coupled to the core drill. The auxiliary devices may include one or more of a machine stand, a feed device, a water management device, a vacuum, a suction device, a mobile computing device, a computing device (e.g., back office computers, servers, manufacturing equipment, cloud services, databases, etc.), or any similar device. In certain embodiments, information, such as operating commands, operating parameters, drive signals, input/out signals, sensor information, motor control, lock-down commands, ON/OFF, current or historical data, etc., may be communicated between the components of the drilling system.

For example, in certain embodiments, the core drill may generate information that is communicated to one or more auxiliary devices. In some embodiments, the auxiliary device may generate information that is communicated to the core drill and/or one or more auxiliary devices. In certain embodiments, the core drill may generate information that is communicated to cloud services (or other remote computing devices) via a mobile computing device. It may be beneficial to include systems and methods within the components of the drilling system to enable data security for these and other types of communications, such that the information sent and received is reliable and trustworthy. Accordingly, <FIG> describe systems and methods for a drilling system with a data security system configured to securely transmit and receive communications between one or more components of the drilling system, as further described in detail below.

Turning now to the drawings, <FIG> is a schematic of an embodiment of a drilling system <NUM>, where the drilling system <NUM> includes a core drill <NUM>, one or more auxiliary devices, and a data security system <NUM>. The core drill <NUM> may be configured to cut holes or form through-formations within various materials (e.g., concrete, cement, brickwork, etc.). The drilling system <NUM> may include various auxiliary devices that provide operating support for the core drill <NUM>. In the illustrated embodiment, the auxiliary devices include a machine stand <NUM>, a feed device <NUM>, a water management device <NUM>, a suction device <NUM>, and a mobile computing device <NUM>. It should be noted that in other embodiments, various other auxiliary devices may be utilized within the drilling system <NUM>.

In certain embodiments, the drilling system <NUM> may include a machine stand <NUM> for supporting the core drill <NUM>. The drilling system <NUM> may also include a feed device <NUM> for moving the core drill <NUM> along the length of the machine stand <NUM>. The machine stand <NUM> may be secured to the substrate <NUM> with one or more fastening means (e.g., screws, bracing, etc.). In this manner, the core drill <NUM> may be moved towards or away from the substrate material <NUM> to form holes (e.g., boreholes) within the substrate <NUM> (e.g., concrete, cement, brickwork, etc.). Specifically, the core drill <NUM> may include a drill bit <NUM> connected to an output shaft <NUM>. The drill bit may be configured to engage the substrate <NUM> in a rotational direction <NUM> to create the holes. The output shaft <NUM> may rotate in the rotational direction <NUM>, and may be driven by a drive unit <NUM> disposed within a housing <NUM> of the core drill <NUM>.

In certain embodiments, the core drill <NUM> includes various components disposed within the housing <NUM>. For example, the core drill <NUM> may include control circuity <NUM> communicatively coupled to a processor <NUM>, a memory <NUM>, one or more sensors <NUM>, the drive unit <NUM>, and a communications circuitry <NUM>. The control circuitry <NUM> may be configured to control operations of the core drill <NUM>, such as operating parameters of the drive unit and motor <NUM> and the output shaft <NUM>. The control circuity <NUM> may be configured to regulate other parameters of the core drill <NUM>, such as a speed, torque, contact force, modes of operation (e.g., economy mode, high-performance mode, etc.), type of drill bit <NUM> selected, ON/OFF commands, a status of the drill, and other operating parameters. The one or more sensors <NUM> may be communicatively and operatively coupled to the control circuitry <NUM>, and may be configured to provide feedback (e.g., measured value) on the various operating parameters. For example, the sensors <NUM> may be safety sensors, position and/or orientation sensors, touch sensors, pressure sensors, accelerometers, temperature sensors, proximity and displacement sensors, image sensors, level sensors, gyroscopes, force sensors, speed sensors, etc. Each of the one or more sensors <NUM> may be configured to provide a measure value related to the core drill <NUM> (e.g., a speed, a contact force, a position and/or orientation, and so forth), to the control circuitry <NUM>. In certain embodiments, the control circuitry <NUM> may operate in a feedback loop based in part on the information provided by the sensors <NUM>.

In certain embodiments, the control circuitry <NUM> may be communicatively coupled to the processor <NUM> and the memory <NUM>. The processor <NUM> may be configured to execute instructions stored on the memory <NUM> to carry out the functions of the core drill <NUM>. The memory <NUM> may be configured to store instructions that are loadable and executable on the processor <NUM>. In certain embodiments, the memory <NUM> may be volatile (such as a random access memory (RAM)) and/or non-volatile (such as read-only memory (ROM), flash memory, etc.). The control circuitry <NUM> may also include additional removable storage and/or non-removable storage including, but not limited to, magnetic storage, optical disks, and/or tape storage. In some implementations, the memory <NUM> may include multiple different types of memory, such as static random access memory (SRAM), dynamic random access memory (DRAM), or ROM.

In certain embodiments, the memory <NUM> may be configured to store information related to the core drill <NUM> and/or other components of the drilling system <NUM>. For example, the memory <NUM> may store unique identification information related to the core drill <NUM>, unique identification information related to the manufacturer, owner, and/or previous owners of the core drill <NUM>, historical information related to the operation of the core drill <NUM> (e.g., runtime), error codes or alerts triggered, historical information related to the repair and/or theft, sensor information gathered from one or more sensors <NUM>, information related or received from the auxiliary devices, drive signals provided by the control circuitry <NUM> and/or input signals provided by operator, the general state of the health of the core drill <NUM>, and/or other types of information. In particular, the memory <NUM> may be configured to store any type of information that is useful to operate the core drill <NUM> and other components of the drilling system <NUM>.

The control circuity <NUM> may be communicatively coupled to the communications circuitry <NUM> disposed within the housing <NUM>. In certain embodiments, the control circuity <NUM> may be configured to generate data packages of information that are wirelessly transmitted by the communications circuitry <NUM> to an auxiliary device, a remote computing device (e.g., server/mobile phone), and/or a mobile computing device (e.g., smartphone). In certain embodiments, the communications circuitry <NUM> may be enabled to transmit information via one or more different wireless modes of operation, such as, but not limited to, Bluetooth, Near Field Communication (NFC), Wifi, ZigBee, LoRa, LoRaWAN, Sigfox, Cellular, etc. As noted above, it may be beneficial to include systems and methods within the components of the drilling system <NUM> to enable data security for these and other types of transmissions, such that the data packages sent and received is reliable and trustworthy. In certain embodiments, the control circuitry <NUM> and the communications circuitry <NUM> may be communicatively coupled to a secure element <NUM>. The secure element <NUM> may be configured to sign the data packages generated by the control circuity <NUM> of the core drill <NUM>, so that they may be authenticated later by components of the drilling system <NUM> (e.g., the water management device <NUM>, the suction device <NUM>, the mobile computing device <NUM>, etc.), as further described by <FIG>.

As noted above, the drilling system <NUM> may include one or more auxiliary devices, including the water management device <NUM>, the suction device <NUM>, and the mobile computing device <NUM>. In certain embodiments, the water management device <NUM> may be operatively connected to the core drill <NUM> with a hose <NUM>, and may be configured to supply the core drill <NUM> with a source of water. The water may be guided to the drilling area with the hose <NUM>. In certain embodiments, the water management device <NUM> may include a dust or a water suction, and a water pump. In particular, the water management device <NUM> may include its own control circuity <NUM>, the processor <NUM>, the memory <NUM>, one or more sensors <NUM>, the communications circuitry <NUM>, and the secure element <NUM>. The one or more sensors <NUM> of the water management device <NUM> may measure a water volume, a water flow, an activation or deactivation of the water management device <NUM>, an operation of the water pump, and other operating parameters. The sensors <NUM> of the water management device <NUM> may be configured to provide the measured information to the control circuitry <NUM> of the water management device <NUM>. The control circuitry <NUM> may generate data packages of this information to wirelessly share (via the communications circuitry <NUM>) to the core drill <NUM> and/or one or more other components of the drilling system <NUM>. The secure element <NUM> may be configured to sign the data packages generated by the control circuity <NUM> of the water management device <NUM>, so that they may be authenticated later by components of the drilling system <NUM> (e.g., the core drill <NUM>, the mobile computing device <NUM>, etc.), as further described by <FIG>.

In certain embodiments, the drilling system <NUM> includes the suction device <NUM>, which may be operatively connected to the core drill <NUM> with a second hose <NUM>. During the drilling process, waste products may be generated in and around the drilling area. The suction device <NUM> may be configured to remove the waste products from the drilling area, via the second hose <NUM>, so that the drilling process is not hindered by accumulating waste products. In particular, the suction device <NUM> may include its own control circuity <NUM>, the processor <NUM>, the memory <NUM>, one or more sensors <NUM>, the communications circuitry <NUM>, and the secure element <NUM>. The one or more sensors <NUM> of the suction device <NUM> may measure a pressure of suction, a force, an activation or deactivation of the suction device <NUM>, a capacity of waste product storage within the suction device <NUM>, and other operating parameters. The sensors <NUM> of the suction device <NUM> may be configured to provide the measured information to the control circuitry <NUM> of the suction device <NUM>. The control circuitry <NUM> may generate data packages of this information to wirelessly share (via the communications circuitry <NUM>) to the core drill <NUM> and/or one or more other components of the drilling system <NUM>. The secure element <NUM> may be configured to sign the data packages generated by the control circuity <NUM> of the suction device <NUM>, so that they may be authenticated later by other components of the drilling system <NUM> (e.g., the core drill <NUM>, the mobile computing device <NUM>, etc.), as further described by <FIG>.

In certain embodiments, the communications circuitry <NUM>, may be configured to wirelessly transmit information from the core drill <NUM>, the water management device <NUM> and/or the suction device <NUM> to an external computing device, such as a mobile computing device <NUM>, a tablet, a desktop computer, or any other processor enabled device. One or more different modes of operation may be utilized, such as, but not limited to, Bluetooth, Near Field Communication (NFC), Wifi, ZigBee, LoRa, LoRaWAN, Sigfox, Cellular, etc. The mobile computing device <NUM> may include a transceiver that is configured to communicate information received to a cloud-based computing system <NUM> via WiFi (e.g., Institute of Electrical and Electronics Engineers [IEEE] <NUM>. 11X, cellular conduits (e.g., high speed package access [HSPA], HSPA+, long term evolution [LTE], WiMax), near field communications (NFC), Bluetooth, personal area networks (PANs), and the like. The cloud-based computing device <NUM> may be a service provider providing cloud analytics, cloud-based collaboration and workflow systems, distributed computing systems, expert systems and/or knowledge-based systems. In certain embodiments, the cloud-based computing device <NUM> may be a data repository that is coupled to an internal or external global database <NUM>.

Further, in certain embodiments, the global database <NUM> may allow computing devices <NUM> to retrieve information stored within for additional processing or analysis. Indeed, the cloud-based computing device may be accessed by a plurality of systems (computing devices <NUM> and/or computing devices from back offices/servers <NUM>) from any geographic location, including geographic locations remote from the physical locations of the systems. Accordingly, the cloud-based computing system <NUM> may enable advanced collaboration methods between parties in multiple geographic areas, provide multi-party workflows, data gathering, and data analysis, which may increase the wireless capabilities of connectivity and communications of the drilling system <NUM>.

In particular, the mobile computing device <NUM> may be configured to receive signed data packages generated by the core drill <NUM>, the water management device <NUM>, and/or the suction device <NUM>. For example, the control circuitry <NUM> of the core drill <NUM> may be configured to generate a data package of the information intended to be transmitted from the core drill <NUM>. Further, based on a private key generated by the secure element <NUM> of the core drill <NUM>, the control circuitry <NUM> may be configured to sign the generated data package of information, before transmitting the data package wirelessly via the communications circuitry <NUM>. Upon receiving the signed data package, the mobile computing device <NUM> (other any other component of the drilling system <NUM> that receives the data package) may authenticate the data package with a public key that corresponds to the private key to ensure that it was generated by the intended device. In certain embodiments, the mobile computing device <NUM> may utilize the cloud-based computing system <NUM> to compare the public and private keys, as further described with respect to <FIG>. These and other features of the data security system <NUM> incorporated into the drilling system <NUM> are described in further detail in <FIG>.

<FIG> is a schematic of an embodiment of the data security system <NUM> of <FIG>. During a manufacturing process, the secure element <NUM> may be disposed within a component of the drilling system <NUM>. The secure element <NUM> may be a physical secure hardware key storage, and may be disposed within (or communicatively coupled) to the control circuitry <NUM> of the component of the drilling system <NUM>. For example, in the illustrated embodiment, the secure element <NUM> is communicatively coupled to the control circuitry <NUM> (and the processor <NUM> and memory <NUM>). In certain embodiments, the data security system <NUM> may include a plurality of secure elements <NUM>, where each secure element <NUM> is disposed within a component of the core drilling system <NUM>. In the illustrated embodiment, the secure element <NUM> disposed within the core drill <NUM> is utilized an exemplary embodiment. However, it should be noted that these systems and methods may be applicable to other components of the drilling system <NUM> with the secure element <NUM>.

During the manufacturing process, the secure element <NUM> may be initialized by one or more computing devices <NUM>. In certain embodiments, the computing devices <NUM> may be remote from the field, and may be in a manufacturing plant. In certain embodiments, the computing device <NUM> may be a mobile computing device (e.g., smartphone) utilized on the field or close to the drilling site. In yet other embodiments, the computing devices <NUM> may be communicatively coupled to the back-office computing devices or servers. The computing device <NUM> may be communicatively coupled to the cloud-based computing system <NUM> and may be configured to transmit an initialization command to the core drill <NUM>.

Upon receiving the initialization command, the secure element <NUM> disposed within the core drill <NUM> may generate a randomized private key. In certain embodiments, the secure element <NUM> may only be initialized once, and only one private key may be generated per secure element <NUM>. The private key may be a series of number or letters randomly generated based on an elliptic-curve cryptography (ECC), or any other similar technique known in the field of cryptography. The length of the private key may be any desired length. In certain embodiments, the private key may include any combination of letters, symbols, numbers, characters, etc. Further, upon receiving the initialization command, the secure element <NUM> may be configured to generate a public key that is associated with the generated with the private key. Both the public and private keys are stored within the secure element <NUM> and/or the memory <NUM> associated with the control circuitry <NUM>. In particular, the secure element <NUM>, via the communications circuitry <NUM>, may be configured to transmit the public key to the computing device <NUM>. The computing device <NUM> may store the public key along with a unique identification number (e.g., tool ID, serial number, etc.) associated with the core drill <NUM>.

In certain embodiments, the public key is tagged with the unique identification number of the core drill <NUM>, and may be stored within the cloud-based computing system <NUM>, the global database <NUM>, and/or the back-office computing devices/servers <NUM>. Accordingly, the cloud-based computing system <NUM> may enable parties in multiple geographic areas to access the public key associated with the unique tool ID of the core drill <NUM>. In certain embodiments, the public key may be openly available and stored within the network of parties utilizing the components of the drilling system <NUM> and/or the components of a plurality of drilling systems <NUM>.

<FIG> is a method of an embodiment of the data security system <NUM> of <FIG>, where the secure element <NUM> of the core drill <NUM> generates the private key and the corresponding public key. In the illustrated embodiment, a method <NUM> is provided. The method includes the core drill <NUM> receiving an initialization command from the computing device <NUM> (block <NUM>). While the illustrated embodiment and the following description depicts the core drill <NUM>, it should be noted that any component of the drilling system <NUM> (e.g., the water management device <NUM>, the suction device <NUM>, or any other auxiliary device) having the secure element <NUM> may be configured to receive the initialization command during an initialization phase. In certain embodiments, the initialization phase may occur during a manufacturing process of the component of the drill system <NUM>. In other embodiments, the initialization phase may occur during on site, during repairs or maintenance, or may occur during a re-initialization phase.

The method also includes the secure element <NUM> of the core drill <NUM> generating and storing a private key (block <NUM>), and generating, storing and transmitting the public key to the computing device <NUM> (block <NUM>). In certain embodiments, the secure element <NUM> may store with private key within a memory within the core drill <NUM>. It should be noted that the private key may not be available for public inspection, and might be stored within the core drill <NUM> without ever being transmitted or communicated. Further, the method also includes the secure element <NUM> of the core drill <NUM> generating a public key that corresponds to the private key (block <NUM>). In certain embodiments, the private key and the corresponding public key may have similar formats and may be uniquely associated with each other. In certain embodiments, the private key may be a different format than the public key. In particular, the public key may be utilized in communications and external systems to identify the private key, and therefore the tool associated with the private key. For example, the public key may be stored within various external systems and devices, and may be utilized to authenticate and verify that various communications are transmitted by a particular tool, as further described with respect to <FIG>.

<FIG> is a method of an embodiment of the data security system <NUM> of <FIG>, where the computing device <NUM> receive the public key and stores the public key with a corresponding tool ID. In the illustrated embodiment, a method <NUM> is provided. The method <NUM> may include the computing device <NUM> transmitting an initialization command (block <NUM>). While the illustrated embodiment and following description describes the core drill <NUM>, it should be noted that any component of the drilling system <NUM> (e.g., the water management device <NUM>, the suction device <NUM>, or any other auxiliary device) may receive the initialization command from the computing device. In certain embodiments, the computing device <NUM> may be remote from the field, and may be in a manufacturing plant. In certain embodiments, the computing device <NUM> may be a mobile computing device (e.g., smartphone) utilized on the field or close to the drilling site. In yet other embodiments, the computing device <NUM> may be communicatively coupled to the cloud-based computing system <NUM>, the back-office computing devices or servers.

The method may include receiving the public key from the core drill <NUM> (block <NUM>). As noted above, after receiving the initialization command transmitted by the computing device <NUM>, the core drill <NUM> may be configured to generate and store a private key, and generate, store, and transmit the public key to the computing device <NUM>. The computing device <NUM> may be configured to receive the public key, and may tag the public key with the corresponding tool ID or unique identification number of the core drill <NUM> (block <NUM>). In certain embodiments, the computing device <NUM> may store the public key and the corresponding tool ID within the global database <NUM> or the cloud-based computing system <NUM>, such that various other systems or devices may publicly access it. In particular, the public key may be utilized in communications and external systems to identify the private key, and therefore the tool associated with the private key. By positively identifying the tool, communications between the tool and other systems/devices may be verified as reliable and trustworthy. In this manner, data communications between components of the drilling system <NUM> may be verified, as further described with respect to <FIG>.

<FIG> is a schematic of an embodiment of the drilling system <NUM> of <FIG>, where the core drill <NUM> transmits a signed data package <NUM> to an auxiliary device <NUM>. As noted above, the secure element <NUM> disposed within (and/or communicatively coupled to the control circuitry <NUM>) the core drill <NUM> may be configured to generate a private and a corresponding public key during an initialization process. During operations of the drilling system <NUM>, various communications (e.g., commands, signals, sensor information, parameters, health check, status, updates, alerts, ON/OFF, lock-down, tool ID, etc.) are transmitted between components of the drilling system <NUM>. Further, during operations or maintenance of the drilling system <NUM>, various communications are transmitted (e.g., commands, signals, sensor information, parameters, health check, status, updates, alerts, ON/OFF, lock-down, tool ID, etc.) between a component of the drilling system <NUM> and the mobile computing device <NUM>. For these and other communications, it may be beneficial to enable data security measure such that the communications are verified before the data is processed by the receiving device.

In certain embodiments, the control circuitry <NUM> of a component of the drilling system <NUM> (e.g., the core drill <NUM>) may be configured to generate a data package <NUM> of information intended to be transmitted. Before the data package <NUM> is transmitted to the desired destination by the communications circuitry <NUM>, the secure element <NUM> of the component of the drilling system <NUM> (e.g., the core drill <NUM>) may sign the data package <NUM> with a unique signature <NUM> generated by using or leveraging the private key. The signed data package <NUM> may then be transmitted to the desired destination, which may be, for example, the water management device <NUM>. In certain embodiments, the desired destination may be another component of the drilling system <NUM> (e.g., the auxiliary components <NUM>, the core drill <NUM>), the mobile computing device <NUM>, or to other remote systems (e.g., cloud-based computing system <NUM>) via the mobile computing device <NUM>.

After receiving the signed data package <NUM>, the water management device <NUM>, for example, may be configured to verify the signature <NUM> of the signed data package <NUM>. In certain embodiments, the water management device <NUM> may already have a stored copy of the public key that corresponds to the private key of the core drill <NUM>. In other embodiments, the water management device <NUM> may be configured to retrieve a copy of the public key from the cloud-based computing system <NUM> and/or the global database <NUM>, via the mobile computing device <NUM>. In other embodiments, the water management device <NUM> may be configured to receive a copy of the public key from the core drill <NUM>. In particular, the water management device <NUM> may utilize the public key to compare and verify the signature <NUM> of the signed data package <NUM>. Upon a positive verification, the water management device <NUM> may be configured to process the data package <NUM>, and in some cases, execute the commands and/or signals. Without a positive verification, the water management device <NUM> may not act upon the data package <NUM> received.

<FIG> is a method of an embodiment of the drilling system <NUM> of <FIG>, where the core drill <NUM> generates and transmits the signed data package <NUM>. In the illustrated embodiment, a method <NUM> is provided. The method <NUM> includes a core drill <NUM> that generates a data package (block <NUM>). As noted above, while a core drill <NUM> is utilized in the illustrated embodiment and description, any component of the drilling system <NUM> with the secure element <NUM> may be utilized for these methods. The method also includes the core drill generating a signature <NUM> for the data package <NUM> with the private key to generate a signed data package <NUM> (block <NUM>). The method <NUM> also includes the core drill <NUM> transmitting the signed data package <NUM> (block <NUM>).

<FIG> is a method of an embodiment of the drilling system <NUM> of <FIG>, where the auxiliary device <NUM> receives and verifies the signed data package <NUM>. In the illustrated embodiment, a method <NUM> is provided. The method <NUM> includes the auxiliary device <NUM> (e.g., the water management device <NUM>, the suction device <NUM>, etc.) receiving the signed data package <NUM> from the core drill <NUM> (block <NUM>). The method <NUM> also includes the auxiliary device <NUM> utilizing the public key (associated with the private key of the core drill <NUM>) to verify the signature of the signed data package <NUM> (block <NUM>). With a positive verification, the method <NUM> includes processing the signed data package <NUM> (block <NUM>). Without a positive verification, the method <NUM> includes the auxiliary device <NUM> not processing or acting upon the received signed data package <NUM>.

Claim 1:
A method, comprising:
transmitting an initialization command (<NUM>), by a processor (<NUM>) of a computing device (<NUM>), to a power tool (<NUM>) configured with a secure element (<NUM>), wherein the secure element (<NUM>) is a digital key storage unit configured to generate a private key and a corresponding public key upon receiving the initialization command;
receiving the corresponding public key (<NUM>) by the processor (<NUM>) of the computing device (<NUM>);
tagging the corresponding public key (<NUM>) with a unique identification number associated with the power tool (<NUM>) by the processor (<NUM>) of the computing device (<NUM>); and
storing the corresponding public key (<NUM>) within a global database (<NUM>), wherein the corresponding public key in the global database is accessed by a plurality of devices (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>) in a drilling system (<NUM>) to verify whether a received data package (<NUM>) is associated with the unique identification number of the power tool (<NUM>).