Blurring and deblurring the data collected for machine learning

By obfuscating and parsing identification information in machine learning data, the problem of insufficient data privacy protection is solved, ensuring information security and maintaining the effectiveness of data use.

CN114301615BActive Publication Date: 2026-05-26BLACKBERRY LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BLACKBERRY LTD
Filing Date
2021-09-18
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

In existing technologies, insufficient data privacy protection during machine learning processes leads to the leakage of actionable information, affecting the effectiveness of data utilization.

Method used

By obfuscating and parsing the identification information, obfuscated data is generated and actionable reasoning is performed to ensure that only non-identified information is transmitted and used in the machine learning process. After restoring the identification information, the data is transmitted to the relevant endpoints.

Benefits of technology

It achieves the protection of data privacy and ensures information security during the machine learning process, while maintaining the effectiveness of data use and avoiding unnecessary leakage of identification information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114301615B_ABST
    Figure CN114301615B_ABST
Patent Text Reader

Abstract

A method and privacy-preserving system for obfuscating and deobfuscating data collected for machine learning are disclosed. The method includes: receiving data from an endpoint, the data including endpoint-specific identification information and non-identification information; obfuscating the identification information in the received data to generate obfuscated data, the obfuscated data including non-identification information and obfuscated identification information; transmitting the obfuscated data to one or more machine learning providers; receiving an actionable inference message from the one or more machine learning providers, the actionable inference message being based on the non-identification information in the obfuscated data; parsing the obfuscated identification information in the received actionable inference message to recover the identification information; and transmitting the parsed actionable inference message to an endpoint associated with the identification information. The privacy-preserving system includes an endpoint, an obfuscator module, one or more machine learning modules, and a parser module.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates generally to data privacy, and more specifically to protecting the privacy of data collected for machine learning. Background Technology

[0002] Machine learning heavily relies on the collection of large amounts of data, often from numerous or diverse sources. As the amount of data collected increases, the effectiveness of machine learning improves. However, with the ever-increasing volume of collected data, concerns about data misuse and other data privacy issues are also becoming more apparent. Therefore, a mechanism that provides only the necessary data to the machine learning process would be ideal.

[0003] One example where limiting the data provided to a machine learning process can have adverse effects is the use of actionable information or reasoning derived from that process. If the hidden information is precisely what allows the end-user device to act on the reasoning, then a significant portion of the benefits of using machine learning may be lost. Summary of the Invention

[0004] In a first aspect, this application describes a method for ambiguating and disambiguating data collected for machine learning, the method comprising: receiving data from an endpoint, the data including endpoint-specific identification information and non-identification information; obfuscating the identification information in the received data to generate obfuscated data, the obfuscated data including non-identification information and obfuscated identification information; transmitting the obfuscated data to one or more machine learning providers; receiving an actionable inference message from one or more machine learning providers, the actionable inference message being based on the non-identification information in the obfuscated data; parsing the obfuscated identification information in the received actionable inference message to recover the identification information; and transmitting the parsed actionable inference message to an endpoint associated with the identification information.

[0005] In a second aspect, this application describes a privacy-preserving system for obfuscating and deobfuscating data collected for machine learning. The system includes: an endpoint for transmitting data, the data including identifying information for the endpoint and non-identifying information; an obfuscator module for obfuscating the identifying information in the data to generate obfuscated data, the obfuscated data including non-identifying information and obfuscated identifying information; one or more machine learning modules for receiving the obfuscated data and transmitting actionable inference messages based on the non-identifying information in the obfuscated data; and a parser module for parsing the obfuscated identifying information in the actionable inference messages and transmitting the parsed actionable inference messages to endpoints associated with the identifying information.

[0006] In a third aspect, this application describes a non-transient computer-readable storage medium storing processor-executable instructions for obfuscating and deobfuscating data collected for machine learning, wherein the processor-executable instructions, when executed by a processor, cause the processor to: receive data from an endpoint, the data including identification information for the endpoint and non-identification information; obfuscate the identification information in the received data to generate obfuscated data, the obfuscated data including non-identification information and obfuscated identification information; transmit the obfuscated data to one or more machine learning processes; receive an actionable inference message from one or more machine learning processes, the actionable inference message being based on non-identification information in the obfuscated data; parse the obfuscated identification information in the received actionable inference message to recover the identification information; and transmit the actionable inference message to an endpoint associated with the identification information. Attached Figure Description

[0007] The present application will now be discussed by way of example, with reference to the accompanying drawings illustrating exemplary embodiments thereof, wherein:

[0008] Figure 1A A block diagram illustrates an example privacy protection system for blurring and deblurring data collected for machine learning.

[0009] Figure 1B An alternative embodiment of an example privacy protection system for blurring and deblurring data collected for machine learning is illustrated in block diagram form.

[0010] Figure 2 An example method for blurring and deblurring data collected for machine learning is illustrated in flowchart form.

[0011] Figure 3 The implementation is illustrated in schematic form. Figure 1A and Figure 1B An example privacy protection system of both implementations.

[0012] Figure 4 A hierarchical system model for blurring and deblurring data collected for machine learning is illustrated in schematic form.

[0013] Similar reference numerals may be used in different figures to represent similar components. Detailed Implementation

[0014] In a first aspect, this application describes a method for obfuscating and deobfuscating data collected for machine learning. The method may include: receiving data from an endpoint, the data including endpoint-specific identification information and non-identification information; obfuscating the identification information in the received data to generate obfuscated data, the obfuscated data including non-identification information and obfuscated identification information; transmitting the obfuscated data to one or more machine learning providers; receiving an actionable inference message from one or more machine learning providers, the actionable inference message being based on the non-identification information in the obfuscated data; parsing the obfuscated identification information in the received actionable inference message to recover the identification information; and transmitting the parsed actionable inference message to an endpoint associated with the identification information.

[0015] In a second aspect, this application describes a privacy-preserving system for obfuscating and deobfuscating data collected for machine learning. The system may include: an endpoint for transmitting data, the data including identifying information for the endpoint and non-identifying information; an obfuscator module for obfuscating the identifying information in the data to generate obfuscated data, the obfuscated data including non-identifying information and obfuscated identifying information; one or more machine learning modules for receiving the obfuscated data and transmitting actionable inference messages based on the non-identifying information in the obfuscated data; and a parser module for parsing the obfuscated identifying information in the actionable inference messages and transmitting the parsed actionable inference messages to endpoints associated with the identifying information.

[0016] In a third aspect, this application describes a computer-readable storage medium that stores processor-executable instructions, which, when executed by a processor, cause the processor to perform any of the methods described herein. The computer-readable storage medium may be non-transient. In this aspect, the term processor is intended to include all types of processing circuitry or chips capable of executing program instructions.

[0017] Other aspects and features of this application will be understood by those skilled in the art by reviewing the following illustrative description in conjunction with the accompanying drawings.

[0018] In this application, the terms "approximately," "approximately," and "basically" are intended to cover variations that may exist within the upper and lower limits of the numerical range, such as variations in properties, parameters, and dimensions. In a non-limiting example, the terms "approximately," "approximately," and "basically" may mean plus or minus 10% or less.

[0019] In this application, the term "and / or" is intended to cover all possible combinations and sub-combinations of the listed elements, including any single element, any sub-combination, or all elements of the listed elements, without necessarily excluding additional elements.

[0020] In this application, the phrase “...or at least one of ...” is intended to cover any one or more of the listed elements, including any single element, any sub-combination, or all elements of the listed elements, without excluding any additional elements and without requiring all elements.

[0021] As mentioned above, it is necessary to allow only the required information into a given machine learning module or process, while hiding unnecessary identification information. Similarly, it is necessary to obtain actionable inference from a given machine learning module or process and guide the actionable inference to the correct action endpoint.

[0022] Therefore, according to one aspect of this application, a method for obfuscating and deobfuscating data collected for machine learning is described. In an example implementation, the method obfuscates identification information in data received from an endpoint and reconstructs the identification information to direct actionable reasoning from the machine learning module / process to the intended endpoint.

[0023] As long as the input data conforms to the input specifications for clearly identifying the identity field, the obfuscator function can obfuscate the identification information in the data during the learning or reasoning process, and the result can be correlated back to the identity through the reverse obfuscation parser function. Typically, the obfuscation function is applied when the data leaves the trusted entity, while the parsing function is applied when actionable reasoning is generated and received at the trusted entity.

[0024] Now for reference Figure 1A The illustration depicts an example privacy-preserving system 100 for obfuscating and deobfuscating data collected for machine learning. The privacy-preserving system 100 includes an endpoint 102, an obfuscator module 104, a parser module 106, and one or more machine learning modules 108. The endpoint 102 can be any computing device, user device, or software process / module, such as a mobile phone, personal computer, autonomous vehicle, or virtual machine. In one implementation, the endpoint 102 transmits data 110 to the obfuscator module 104. Data 110 may include identifying information about the endpoint 102. Such identifying information may be information about the endpoint 102, such as an IP address, IMEI, device identifier, vehicle identification number (VIN), or process ID. In some cases, this information may be identifying information about one or more users of the endpoint 102, such as name, username, address, company / employer, employee ID, email, or social media handle. Data 110 may also include non-identifying information to be acted upon by one or more machine learning modules 108. Examples of non-identifiable information can include a variety of items such as: device model, OS version, email spam reports, battery behavior, vehicle environmental data, etc.

[0025] Obfuscator module 104 obfuscates identification information in data 110 received from endpoint 102. Obfuscation refers to the reversible removal and replacement or other means of hiding the identification portion of data 110, such as regarding... Figure 2 Further discussion follows. The resulting obfuscated data 112 includes (as originally received) non-identifying information and obfuscated identifying information. In one scenario, endpoint 102 itself can select the privacy level to be applied to data 110. For example, endpoint 102 can select a first privacy level or a second privacy level, in which all identifying information will be obfuscated, and in the second privacy level, all identifying information except the selected information will be obfuscated. Endpoint 102 can send configuration information to obfuscator module 104 and parser module 106, such that these modules 104, 106 are configured to obfuscate the identifying information selected by endpoint 102. The configuration information can be sent before or with data 110. In some instances, the configuration information can be an index selection of one or more predefined obfuscation strategies.

[0026] In another scenario, the privacy protection system 100 (or its subsystems) may make such a determination, for example, through obfuscator module 104 and parser module 106. In some cases, management policies may be set for all endpoints 102 from which obfuscator module 104 receives data 110, defining what identification information will be obfuscated.

[0027] One or more machine learning modules 108 receive obfuscated data 112 from obfuscator module 104. Besides inference, the obfuscated data 112 can also be used by one or more machine learning modules 108 for training purposes. In some instances, one or more machine learning modules 108 can generate inference from data inputs used to train a model. That is, machine learning module 108 can produce a decision or outcome from input data based on its model. In some cases, the decision or outcome can indicate the existence of a certain state or condition regarding a certain endpoint. In some cases, the decision or outcome can also be associated with a specific action or mitigation that the endpoint can perform in response to that state or condition.

[0028] In some cases, machine learning module 108 may transmit an actionable inference message 114 to the endpoint. Because the endpoint identification information is obfuscated, machine learning module 108 does not have any endpoint identification information, and therefore directs the actionable inference message 114 to the associated parser module 106. The actionable inference message 114 may be inference derived by one or more machine learning modules 108, and in some cases, may include at least one action to be taken by the endpoint. In some cases, the actionable inference message 114 may be formatted in a manner compatible with and understood by endpoint 102. In some cases, the actionable inference message 114 may be formatted in a manner compatible with and understood by parser module 106, which is configured to transform the actionable inference message 114 according to its format and / or content for reception and understanding by endpoint 102.

[0029] To identify the specific endpoint to which the message will be sent, parser module 106 parses the obfuscated identification information in actionable reasoning message 114 and transmits the parsed actionable reasoning message 116 to the endpoint 102 associated with the identification information. Parsing refers to replacing the obfuscated identification information with the original identification information, i.e., associating it back to the identification portion of data 110, such as regarding... Figure 2 Further discussion is needed.

[0030] Now for reference Figure 1B The illustration depicts an alternative privacy-preserving system 200 for obfuscating and deobfuscating data collected for machine learning. This example implementation is similar to system 100 of Figure 1, as it also includes an endpoint 102 and one or more machine learning modules 108. However, in this privacy-preserving system 200, the obfuscator module and the parser module are co-located in a single obfuscator+parser module 202. Endpoint 102 transmits data 110 to the obfuscator+parser module 202 to obfuscate identification information in the data 110. The obfuscator+parser module 202 obfuscates the identification information in the data 110 to generate obfuscated data 112, which includes both unidentified information and obfuscated identification information. One or more machine learning modules 108 receive the obfuscated data 112 and, in this example, transmit an actionable inference message 114 based on the unidentified information in the obfuscated data 112. The obfuscator + parser module 202 parses the obfuscated identification information in the actionable reasoning message 114 and transmits the parsed actionable reasoning message 116 to the endpoint 102 associated with the identification information.

[0031] Obfuscator Module 104 ( Figure 1A ), Parser module 106 ( Figure 1A ) and / or obfuscator + parser module 202 ( Figure 1BEach of these modules can be implemented on a computing device having appropriate computer-executable instructions for causing the computing device to perform the described operations. Modules 104, 106, and 202 can be implemented as software applications or modules executed by one or more processors. When executed, the instructions cause the processor and / or other components of the computing device to perform the described operations.

[0032] It should be understood that Figure 1A Privacy protection system 100 and Figure 1B The components of the alternative privacy protection system 200 can communicate via one or more networks. Specifically, endpoint 102 can be configured to communicate with obfuscator module 104 and parser module 106 (or combined obfuscator + parser module 202) via such networks(s). Similarly, obfuscator module 104 and parser module 106 (or combined obfuscator + parser module 202) can be configured to communicate with one or more machine learning modules 108 via such networks(s). The networks(s) can include multiple interconnected wired and wireless networks, including the Internet, local area networks (LANs), wide area networks (WANs), etc.

[0033] Now for reference Figure 2 This illustrates an example of a method 300 for blurring and deblurring data collected for machine learning according to this application. Method 300 can be implemented by one or more computing devices having appropriate computer-executable instructions for causing the computing device(s) to perform the described operations. The instructions can be implemented as a software module or application that executes on the computing device. Parts of method 300 can be derived from, for example... Figure 1A or Figure 1B The privacy protection system described herein is implemented, specifically by the obfuscator module 104 ( Figure 1A ), Parser module 106 ( Figure 1A ) and / or obfuscator + parser module 202 ( Figure 1B )accomplish.

[0034] At operation 302, method 300 includes receiving data from an endpoint, the data including identification information for the endpoint and non-identification information.

[0035] For example, a machine learning process used to predict battery behavior is best fed with training data from as many batteries as possible. To train a useful model, the machine learning process might want to learn certain information, such as mobile phone model, OS version, screen on / off time, music streaming duration, etc. However, it may be undesirable and unnecessary for the machine learning process to know personally identifiable information (such as mobile phone numbers or user account information). Therefore, identifiable information for a specific mobile phone can be accompanied by non-identifiable information, and in one example, it could take the form of objects like:

[0036]

[0037] At operation 304, method 300 includes obfuscating identification information in the received data to generate obfuscated data, the obfuscated data including non-identification information and obfuscated identification information.

[0038] In one example embodiment, obfuscating identification information in received data includes replacing the identification information with a token. In such an example, the system may store the token in memory in association with the identification information. In some cases, cryptographic hashing can be used to generate the token. In one example, the token is generated by hashing the identification information.

[0039] In another example embodiment, obfuscating the identification information in the received data includes replacing the identification information with an encrypted string generated using either symmetric or asymmetric encryption. If asymmetric encryption is used, the obfuscator process can choose to generate an encrypted string that is recoverable for a specific parser process by knowing the parser process's public key. If symmetric encryption is used, a mechanism can be employed where a key is shared between the obfuscator and the parser, unless they are as follows: Figure 1B As in the embodiments, they are co-located.

[0040] In the battery behavior example, the identification information object (mentioned above) can be replaced by an obfuscated object of the following form:

[0041]

[0042] In one implementation, obfuscated data (opaqueArtifact) is generated as including a resolution identifier (scope), where the resolution is associated with the obfuscation via the resolution identifier, and the identifier points to the associated resolution via, for example, a URL or directory lookup.

[0043] At operation 306, method 300 includes: transmitting obfuscated data to one or more machine learning providers. In this example, opaqueArtifact does not reveal anything to the machine learning process about the identity of the generation process (mobile phone). Therefore, the machine learning process is only exposed to the scope, without any other identifying information.

[0044] At operation 308, method 300 includes: receiving an actionable inference message from one or more machine learning providers, the actionable inference message being based on non-identifiable information in obfuscated data.

[0045] In the battery behavior example, one or more machine learning providers may have already determined the battery condition or state present on the mobile phone and may have already determined that the mobile phone should be notified. In some cases, the machine learning provider may have already determined to take an action to alleviate the battery condition or state. In some examples, the machine learning provider may have already identified a specific process or condition that is the cause of the battery state or condition, and the action may include an action associated with that specific process or condition. In one example, the specific process or condition may be a process operating on the mobile phone that causes a rapid battery depletion condition, such as a Bitcoin mining process. In some cases, the actionable inference message may include a notification or condition. In some cases, the actionable inference message may include inference about the cause of the condition, such as a specific process malfunctioning. In some cases, the actionable inference message may specify an action. For example, the action could be a block to kill the Bitcoin mining process on the mobile phone. Therefore, the actionable inference message can be transmitted by the machine learning provider and received by the parser.

[0046] At operation 310, method 300 includes: parsing obfuscation identification information in the received actionable reasoning message to recover the identification information. The parser process and the corresponding obfuscator process have matching ranges.

[0047] In one example embodiment, if the identification information has been replaced by a token, resolving the obfuscated identification information to recover the identification information includes: replacing the token with the identification information using a stored mapping. The mapping may be stored in memory local to the parser process. In some cases, the mapping may be stored in remote storage that the parser process can securely access. The mapping may be stored outside the parser itself but within its security domain.

[0048] In another example embodiment, if the identification information has been replaced by an encrypted string, parsing the obfuscated identification information to recover the identification information may include: decrypting the encrypted string to recover the identification information. Decryption may involve using symmetric or asymmetric decryption. It may also include replacing the encrypted string with the identification information. In the example above, the parser process could use the decryption key indexed by the scope to recover the identification information, such as phoneidArtifact.

[0049] At operation 312, method 300 includes transmitting a parsed actionable reasoning message to an endpoint associated with identification information. That is, the parsed actionable reasoning message can be addressed to the endpoint using the parsed identification information of the endpoint. In the battery behavior example, the parsed identification information (such as phoneNumber or ipaddress) can be used to transmit the parsed actionable reasoning message.

[0050] Now for reference Figure 3 The diagram illustrates the implementation. Figure 1A and Figure 1B An example privacy protection system 400 is shown in both embodiments. As illustrated, nodes 402 and 404 represent endpoints from which data is being collected. Actionable reasoning messages can be intended for use with either endpoint. Obfuscators and parsers are shown at two levels above nodes 402 and 404. Two different implementations of the methods and systems according to this application are illustrated.

[0051] First, the bank domain (com.hsbc) resolver and obfuscator are co-located at the same layer as obfuscator + resolver 406. In this case, all data in data 408 collected from mobile phone 402 and sent to the bank domain can be obfuscated at obfuscator + resolver 406, and the obfuscated data 410 is sent to third-party machine learning provider 412 (“blind algorithm”). When third-party machine learning provider 412 prepares actionable inference message 414, actionable inference message 414 is sent back to obfuscator + resolver 406. At this point, outside of third-party machine learning provider 412, actionable inference message 414 is parsed and the actual intended endpoint is identified. Finally, the parsed actionable inference message 416 is sent to the appropriate endpoint (in this case, mobile phone 402).

[0052] Secondly, the car rental domain (com.aviscar / com.budgetcar) resolver 418 is independent of both the obfuscator 420 for the domain (com.aviscar) and the obfuscator 422 for the domain (com.budgetcar). In this case, all data in the data 424 collected by cars 404 belonging to Avis or Budget and sent to the car rental domain can be obfuscated at their respective obfuscators 420 and 422, and the obfuscated data 426 is sent to the third-party machine learning provider 412 (“blind algorithm”). When the third-party machine learning provider 412 prepares the actionable inference message 428, the actionable inference message 428 is sent to the common resolver 418. At this point, outside of the third-party machine learning provider 412, the actionable inference message 428 is parsed, and the actual intended endpoint is identified. Finally, the parsed actionable inference messages 430 and 432 are sent to the appropriate endpoints (in this example, one car is from Avis 404, and one car is from Budget 404). By using public-key encryption mechanisms through obfuscator 420, obfuscator 422 and general / common auto-parser 418, system 400 can effectively obfuscate identification data from vehicles for use in machine learning processes and pass (parsed) actionable reasoning back to the appropriate (multiple) vehicles.

[0053] Now for reference Figure 4 The illustration shows a hierarchical system 500 model used to blur and deblur data collected for machine learning.

[0054] In some implementations, as shown, the obfuscator module consists of two or more obfuscator modules located in two or more layers, and the parser module consists of two or more parser modules located in two or more layers. These layers are represented by vertical bands between any endpoint and a machine learning module region, or between two machine learning module regions. As shown, each of these layers has an obfuscator module and a parser module associated with a specific domain; however, it should be understood that some layers may not necessarily contain both obfuscator and parser modules, or may not contain any modules at all. In a second or higher layer, the obfuscator module obfuscates selected identification information from data transmitted from any endpoint or from at least one of the machine learning modules associated with a lower layer, and in a second or higher layer, the parser module parses the selected obfuscated identification information received from at least one of the machine learning modules associated with the current or higher layer.

[0055] In the first example, endpoint 502 transmits data 510, which includes both identification and non-identification information. The data 510 object can have the following form:

[0056]

[0057] A, C, and D are identifying information, while B is non-identifying information.

[0058] The obfuscator module 512 for the domain p.com obfuscates the selected identification information in data 510 to generate obfuscated data 514. Obfuscated data 514 includes non-identification information, obfuscated identification information, and any identification information not selected by the current obfuscator module 512. The resulting data object can have the following form:

[0059]

[0060] Where A is the identification information not selected by the current obfuscator module 512, B is the non-identification information, and XXC / XXD is the obfuscated identification information.

[0061] One or more machine learning modules 516 receive obfuscated data 514, and in this two-layer example, the obfuscated data 514 is passed as obfuscated data 518 to the obfuscator module 520 for the domain q.com, since one or more machine learning modules 516 do not have any actionable reasoning to provide.

[0062] The obfuscator module 520 for the domain q.com obfuscates the selected identification information in the obfuscated data 518 to generate obfuscated data 522, which includes non-identification information and obfuscated identification information. The resulting data object can have the following form:

[0063]

[0064] Where B is non-identifying information, and XXA / XXC / XXD are obfuscated identifying information.

[0065] One or more machine learning modules 524 receive obfuscated data 522 and transmit actionable inference messages 526, which are based on non-identifying information in the obfuscated data 522. The resulting data object may have the following form:

[0066]

[0067] Where Action is a reasoned action / command, B is non-identifying information, and XXA / XXC / XXD are obfuscated identifying information.

[0068] Parser module 528 parses the selected obfuscation identification information in actionable reasoning message 526, and in this two-layer example, transmits the parsed actionable reasoning message 530 to the second parser module 532 targeting the domain p.com. The resulting data object can have the following form:

[0069]

[0070] Where Action is a reasoned action / command, B is non-identifying information, and XXC / XXD is obfuscated identifying information.

[0071] Parser module 532 parses the obfuscated identification information selected in actionable reasoning message 530 and transmits the parsed actionable reasoning message 534 to endpoint 502 associated with the identification information. The resulting data object may have the following form:

[0072]

[0073] Where Action is a reasoned action / command, A, C, and D are identifying information, and B is non-identifying information. At this time, endpoint 502 executes the action.

[0074] In some cases, system 500 may wish to obfuscate information in a more granular manner. For this purpose, information sources (i.e., (multiple) endpoints and / or (multiple) obfuscator modules and / or (multiple) resolver modules) and machine learning modules can be grouped by layers. Each layer can have visibility over a portion of the transmitted data. Since the data originates from (multiple) endpoints, the origin layer (including any local machine learning provider 556) can have visibility over all data in the data. Machine learning modules in a given layer can process the data within that layer's visibility. It is possible that machine learning modules provide the data they must and can use with the inference they can provide. The aggregation of their machine learning module lists can be viewed as the data visibility for a specific layer. This can also be an entry criterion in the data entering a layer. In other words, incoming data can be required to conform to the machine learning module's list requirements in terms of content or format. In this way, a layered obfuscation system can consist of an origin layer and a set of layers with list-defined data visibility. Using machine learning modules with lists, a system can be provided that progressively obfuscates more data in the data depending on the machine learning modules intended to be used. In some cases, a subsystem can route obfuscated data to one or more machine learning modules with an appropriate inventory (e.g., based on some strategy). In one example embodiment, a specific (forwarding) layer obfuscator can adjust the generated data to meet the input data requirements of the forwarding layer (machine learning module) as expressed in the inventory.

[0075] exist Figure 4 In the second example, endpoint 508 transmits data 536, which includes both identification and non-identification information. The data 536 object can have the following form:

[0076]

[0077] A and D are identifying information, while B and C are non-identifying information.

[0078] As will be noted, obfuscator module 538 and one or more machine learning modules 540 can be bypassed because system 500 recognizes that obfuscator module 538 does not provide any necessary obfuscation for the current data 536. It is possible that the manifest(s) of one or more machine learning modules 540 indicate a requirement for some unidentified information that is not found in the data 536 object. System 500 may also recognize that one or more machine learning modules 540 do not provide any necessary inference for the current data 536, as indicated by the manifest(s) of one or more machine learning modules 540.

[0079] The obfuscator module 542 for the domain s.com obfuscates the selected identifier / non-identifier information in data 536 to generate obfuscated data 544, which includes non-identifier information, obfuscated non-identifier information, and obfuscated identifier information. The resulting data object can have the following form:

[0080]

[0081] Where XXB is obfuscated unidentified information, C is unidentified information, and XXA / XXD are obfuscated identified information. In this example, it is possible that one or more manifests of machine learning modules 546 do not require unidentified information B, and it may be for this reason that obfuscator module 542 obfuscates unidentified information B into obfuscated unidentified information XXB.

[0082] One or more machine learning modules 546 receive obfuscated data 544 and transmit actionable inference messages 548, which are based on non-identifying information in the obfuscated data 544. The resulting data object may have the following form:

[0083]

[0084] Where Action is a reasoned action / command, XXB is obfuscated unidentified information, C is unidentified information, and XXA / XXD is obfuscated identified information.

[0085] Parser module 550 parses the obfuscated identification / unidentification information selected in actionable reasoning message 548 and transmits the parsed actionable reasoning message 552 to endpoint 508 associated with the identification information. The resulting data object may have the following form:

[0086]

[0087] Where Action is a reasoned action / command, A and D are identifying information, and B and C are non-identifying information. At this time, endpoint 508 executes the action.

[0088] As will be noted, parser module 554 can be bypassed because system 500 recognizes that parser module 554 does not provide any necessary parsing for the current data 552.

[0089] In another implementation, at least one of the one or more machine learning providers 556 is local to the domains of endpoints 502, 504, 506, and 508. Selected data from endpoints 502, 504, 506, and 508 is directly transmitted to at least one of the one or more local machine learning providers 556, and at endpoints 502, 504, 506, and 508, actionable inference messages (not shown) are received directly from at least one of the one or more local machine learning providers 556.

[0090] The exemplary embodiments of this application are not limited to any particular operating system, system architecture, mobile device architecture, server architecture, or computer programming language.

[0091] It should be understood that applications, modules, routines, procedures, threads, or other software components implementing the described methods / processes can be implemented using standard computer programming techniques and languages. This application is not limited to specific processors, computer languages, computer programming conventions, data structures, or other such implementation details. Those skilled in the art will recognize that the described processes can be implemented as part of computer executable code stored in volatile or non-volatile memory, as part of an application-specific integrated circuit (ASIC), etc.

[0092] Certain adjustments and modifications can be made to the described embodiments. Therefore, the embodiments discussed above are considered illustrative rather than restrictive.

Claims

1. A method for blurring and deblurring data collected for machine learning, comprising: Data is received from an endpoint, the data including identification information and non-identification information for the endpoint; The identification information in the received data is obfuscated to generate obfuscated data, which includes the non-identification information and the obfuscated identification information. The obfuscated data is transmitted to one or more machine learning providers, and the results are determined from the obfuscated data based on the models of the one or more machine learning providers, the results indicating the state or condition present at the endpoint; Receive actionable inference messages from the one or more machine learning providers, the actionable inference messages being based on the non-identifying information in the obfuscated data, the actionable inference messages specifying actions for mitigating the state or condition present on the endpoint; Parse the obfuscated identification information in the received actionable reasoning message to recover the identification information; as well as The parsed actionable reasoning message is transmitted to the endpoint associated with the identification information.

2. The method of claim 1, wherein obfuscating the identification information in the received data comprises: The identification information is replaced with a token generated using cryptographic hashing.

3. The method of claim 2, wherein parsing the obfuscated identification information to recover the identification information comprises: The token is replaced using the stored mapping and the identification information.

4. The method of claim 1, wherein obfuscating the identification information in the received data comprises: The identification information is replaced with an encrypted string, which is generated using either symmetric or asymmetric encryption.

5. The method of claim 4, wherein parsing the obfuscated identification information to recover the identification information comprises: The encrypted string is replaced using the identification information, either a symmetric or asymmetric decryption key.

6. The method of claim 1, wherein the obfuscated data is generated to include a parsing identifier, the parsing being associated with the obfuscation via the parsing identifier.

7. The method of claim 1, wherein at least one of the one or more machine learning providers is local to the domain of the endpoint, and wherein selected data from the endpoint is directly transmitted to the local at least one of the one or more machine learning providers, and at the endpoint, actionable inference messages are directly received from the local at least one of the one or more machine learning providers.

8. The method of claim 1, wherein the obfuscation and the parsing occur in two or more layers, and wherein in a second or higher layer, the obfuscation obfuscates identification information in data received from the endpoint or from at least one of the one or more machine learning providers associated with a lower layer, and in the second or higher layer, the parsing parses the obfuscated identification information received from at least one of the one or more machine learning providers associated with the current or higher layer.

9. The method of claim 8, wherein the obfuscation in a given layer generates obfuscated data suitable for meeting the input requirements of one or more machine learning providers associated with a higher layer.

10. The method of claim 1, wherein the obfuscation and the parsing occur at the same layer.

11. A privacy protection system for obfuscating and deblurring data collected for machine learning, the privacy protection system comprising: An endpoint is used to transmit data, the data including identification information for the endpoint and non-identification information; An obfuscator module is used to obfuscate the identification information in the data to generate obfuscated data, wherein the obfuscated data includes the non-identification information and the obfuscated identification information; One or more machine learning modules are configured to receive the obfuscated data and transmit an actionable inference message based on the non-identifying information in the obfuscated data, wherein the one or more machine learning providers are configured to determine a result from the obfuscated data based on the model of the one or more machine learning providers, the result indicating a state or condition present at the endpoint, and the actionable inference message specifying an action for mitigating the state or condition present at the endpoint. as well as A parser module is configured to parse the obfuscated identification information in the actionable reasoning message and transmit the parsed actionable reasoning message to the endpoint associated with the identification information.

12. The privacy protection system of claim 11, wherein the obfuscator module obfuscates the identification information in the data by replacing the identification information with a token generated using a cryptographic hash.

13. The privacy protection system of claim 12, wherein the parser module parses the obfuscated identification information in the actionable reasoning message by replacing the token with the identification information using a stored mapping.

14. The privacy protection system of claim 11, wherein the obfuscator module obfuscates the identification information in the data by replacing the identification information with an encrypted string generated using either symmetric encryption or asymmetric encryption.

15. The privacy protection system of claim 14, wherein the parser module parses the obfuscated identification information to recover the identification information by replacing the encrypted string with the identification information using a symmetric decryption key or an asymmetric decryption key.

16. The privacy protection system of claim 11, wherein the obfuscated data is generated to include a parser module identifier, the parser module being associated with the obfuscator module through the parser module identifier.

17. The privacy protection system of claim 11, wherein at least one of the one or more machine learning modules is local to the domain of the endpoint, and wherein all data from the endpoint is directly transmitted to the local at least one of the one or more machine learning modules, and at the endpoint, actionable inference messages are directly received from the local at least one of the one or more machine learning modules.

18. The privacy protection system of claim 11, wherein the obfuscator module comprises two or more sub-obfuscator modules located in two or more layers, and the parser module comprises two or more sub-parser modules located in the two or more layers, wherein in a second or higher layer, the sub-obfuscator modules obfuscate identification information in data transmitted from the endpoint or from at least one of the one or more machine learning modules associated with a lower layer, and in the second or higher layer, the sub-parser modules parse the obfuscated identification information received from at least one of the one or more machine learning modules associated with the current or higher layer.

19. The privacy protection system of claim 11, wherein the obfuscator module and the parser module are co-located in the same layer.

20. A non-transient computer-readable storage medium storing processor-executable instructions for blurring and deblurring data collected for machine learning, wherein the processor-executable instructions, when executed by a processor, cause the processor to: Data is received from an endpoint, the data including identification information and non-identification information for the endpoint; The identification information in the received data is obfuscated to generate obfuscated data, which includes the non-identification information and the obfuscated identification information. The obfuscated data is transmitted to one or more machine learning processes, and the results are determined from the obfuscated data based on the models of the one or more machine learning providers, the results indicating the state or condition present at the endpoint; Receive actionable reasoning messages from the one or more machine learning processes, the actionable reasoning messages being based on the non-identifying information in the obfuscated data, the actionable reasoning messages specifying actions for mitigating the state or condition present on the endpoint; Parse the obfuscated identification information in the received actionable reasoning message to recover the identification information; as well as The actionable reasoning message is transmitted to the endpoint associated with the identification information.