IP Library Granted Patent US 12,511,435
Granted Patent B2
US 12,511,435 · App. 17/243,963 · Granted Dec 30, 2025

Device and method for enforcing a data policy

Inventors: Dan Touitou (Munich, DE); Avigail Oron (Hod Hasharon, IL)
Assignee: HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD.
G06F21/6254G06F21/44G06F21/53G06F21/602G06F2221/2149
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,511,435
App. No.
17/243,963
Granted
Dec 30, 2025
Kind
B2
Abstract

A data access device for enforcing a data policy, including an input unit, a processing unit, a data exposure enforcement unit, and an output unit, where the data access device is configured to run in a trusted execution environment; the input unit is configured to receive a first data including a request for handling data, and a target identification; the processing unit is configured to process the first data to attain a second data including the target identification and a data structure according to requirements of an application running in the data access device; the data exposure enforcement unit is configured to manipulate the second data according to a data exposure policy to attain a third data; and the output unit is configured to output the third data.

Claims (54)

1 . A data access device for enforcing a data policy, comprising a processor configured to implement a trusted execution environment (TEE) in a secure area of the processor, and a memory comprising computer program code that, when executed by the processor, configures the processor to implement, in the TEE, steps of:

receiving a first data comprising a request for handling data, and a target identification (ID);

processing the first data to attain a second data comprising the target ID and a data structure according to requirements of an application running in the data access device;

manipulating, by a data exposure enforcement (DEE) process operating on the processor in the TEE, the second data according to a data exposure policy (DEP) to attain a third data, comprising sanitizing the second data by identifying one or more fields in the second data that are affected by the DEP and performing one or more of: dropping, masking, or encrypting the one or more fields based on identification of the one or more fields as being affected by the DEP, wherein said one or more fields constitute less than all of the second data and wherein performing the one or more of: dropping, masking, or encrypting the one or more fields is applied to less than all of the second data; and

outputting the third data, wherein

the request for handling data comprises the request to provide data to the application or to retrieve data from the application,

the DEP is a set of instructions to control the processor, and the instructions comprise:

anonymization instructions to identify data in the second data to be anonymized by identifying the according identification fields in the data structure;

exposure instructions to identify other data in the second data meant to be exposed and to instruct to which target IDs and how the identified other data is to be exposed; and

an aggregation policy to control the aggregation of data of a specific data type in the second content data before further processing is performed, and

wherein any instruction in the set of instructions is executed depending on any of the target IDs, and

the processor is further configured to:

calculate a permitted amount of aggregations of the second data, wherein aggregation comprises an accumulation of the second data due to repeated data input; and

buffer the aggregating subset of the second data, which is affected by the aggregation policy, until a condition of the aggregation policy is met.

2 . The data access device according to claim 1 , wherein

the data fields comprise identification fields and other data fields; and

the processor is configured to manipulate the second data by dropping, masking or encrypting the identification fields if the DEP requires anonymization, and/or to manipulate the second data by dropping, masking or encrypting any data field, which the DEP requires to manipulate.

3 . The data access device according to claim 1 , wherein the DEP is stored in the DEE within the TEE.

4 . The data access device according to claim 1 , wherein the DEP is disclosed to all target IDs.

5 . A system, comprising:

a data access device comprising a processor configured to implement a trusted execution environment (TEE) in a secure area of the processor, and a memory comprising computer program code that, when executed by the processor, configures the processor to implement, in the TEE, steps of:

receiving a first data comprising a request for handling data, and a target identification (ID);

processing the first data to attain a second data comprising the target ID and a data structure according to requirements of an application running in the data access device;

manipulating, by a data exposure enforcement (DEE) process operating on the processor in the TEE, the second data according to a data exposure policy (DEP) to attain a third data; and

outputting the third data,

wherein the request for handling data comprises the request to provide data to the application or to retrieve data from the application,

the DEP is a set of instructions to control the processor, and the instructions comprise:

anonymization instructions to identify data in the second data to be anonymized by identifying the according identification fields in the data structure;

exposure instructions to identify other data in the second data meant to be exposed and to instruct to which target IDs and how the identified other data is to be exposed; and

an aggregation policy to control the aggregation of data of a specific data type in the second content data before further processing is performed, and

wherein any instruction in the set of instructions is executed depending on any of the target IDs, and

wherein the processor is further configured to:

calculate a permitted amount of aggregations of the second data, wherein aggregation comprises an accumulation of the second data due to repeated data input; and

buffer the aggregating subset of the second data, which is affected by the aggregation policy, until a condition of the aggregation policy is met, and

wherein the memory further comprises an encryption storage and an extraction storage, wherein

the encryption storage is configured to buffer data by encrypting and storing the aggregating subset of the second data; and

the extraction storage is configured to store data by decrypting and storing the aggregated subset of the second data as the third data, when the condition of the aggregation policy is met.

6 . The data access device according to claim 1 , wherein the aggregation policy comprises an instruction to the processor that no field is to be exposed unless at least a certain amount of distinct first data entries has been provided to the data access device.

7 . The data access device according to claim 1 , wherein the aggregation policy comprises another instruction to the processor that a calculated field in the aggregated subset of the second data is only exposed if more than a certain amount of distinct first data entries identified has been provided to the data access device.

8 . A method for enforcing a data policy, comprising:

running a data access device in a trusted execution environment;

receiving, by an input unit, a first data comprising a request for handling data and a target ID;

processing, by a processing unit, the first data to attain a second data comprising the target ID and a data structure data according to requirements of an application running in the data access device;

manipulating, by a data exposure enforcement unit, the second data according to a data exposure policy to attain a third data, comprising sanitizing the second data by identifying one or more fields in the second data that are affected by the data exposure policy and performing one or more of: dropping, masking, or encrypting the one or more fields based on identification of the one or more fields as being affected by the DEP, wherein said one or more fields constitute less than all of the second data and wherein performing the one or more of: dropping, masking, or encrypting the one or more fields is applied to less than all of the second data; and

outputting, by an output unit, the third data, wherein

the request for handling data comprises the request to provide data to the application or to retrieve data from the application,

the DEP is a set of instructions to control the processor, and the instructions comprise:

anonymization instructions to identify data in the second data to be anonymized by identifying the according identification fields in the data structure;

exposure instructions to identify other data in the second data meant to be exposed and to instruct to which target IDs and how the identified other data is to be exposed; and

an aggregation policy to control the aggregation of data of a specific data type in the second content data before further processing is performed, and

wherein any instruction in the set of instructions is executed depending on any of the target IDs, and

the processor is further configured to:

calculate a permitted amount of aggregations of the second data, wherein aggregation comprises an accumulation of the second data due to repeated data input; and

buffer the aggregating subset of the second data, which is affected by the aggregation policy, until a condition of the aggregation policy is met.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2025
From: TOUITOU, DAN; ORON, AVIGAIL
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 073980/0183 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2022
From: HUAWEI TECHNOLOGIES CO., LTD.
To: HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD.
Reel/Frame 059267/0088 →
Continuity (2)
Continuation PCTEP2018079823 · Oct 31, 2018
Related Publication 20210248269A1 · Aug 12, 2021
References Cited (52)
US 6499110B1 · Moses · 2002 [cited by examiner]
US 7730138B2 · Ballinger · 2010 [cited by examiner]
US 7987496B2 · Bryce · 2011 [cited by examiner]
US 10331950B1 · Suriyanarayanan · 2019 [cited by examiner]
US 11095554B2 · D'Acunto · 2021 [cited by examiner]
US 20040255133A1 · Lei · 2004 [cited by examiner]
US 20050010883A1 · Wood · 2005 [cited by applicant]
US 20050240985A1 · Alkove · 2005 [cited by examiner]
US 20070110282A1 · Millsapp · 2007 [cited by examiner]
US 20070192327A1 · Bodin · 2007 [cited by examiner]
US 20080263645A1 · Renter · 2008 [cited by examiner]
US 20100313273A1 · Freas · 2010 [cited by examiner]
US 20110295751A1 · Matsuo · 2011 [cited by examiner]
US 20130060796A1 · Gilg · 2013 [cited by examiner]
US 20130268997A1 · Clancy, III et al. · 2013 [cited by applicant]
US 20140007222A1 · Qureshi · 2014 [cited by examiner]
US 20140380404A1 · Raj · 2014 [cited by examiner]
US 20150154418A1 · Redberg · 2015 [cited by examiner]
US 20160036860A1 · Xing · 2016 [cited by examiner]
US 20160117162A1 · Searle et al. · 2016 [cited by applicant]
US 20170006064A1 · Agarwal · 2017 [cited by examiner]
US 20170039376A1 · Skipper · 2017 [cited by examiner]
US 20170039378A1 · Skipper · 2017 [cited by examiner]
US 20170039379A1 · Skipper · 2017 [cited by examiner]
US 20170039389A1 · Smith · 2017 [cited by examiner]
US 20170272472A1 · Adhar · 2017 [cited by examiner]
US 20170329937A1 · Choi · 2017 [cited by examiner]
US 20180020001A1 · White · 2018 [cited by examiner]
US 20180218173A1 · Perkins · 2018 [cited by examiner]
US 20180293283A1 · Litoiu · 2018 [cited by examiner]
US 20180307859A1 · LaFever · 2018 [cited by examiner]
US 20190130122A1 · Barnes · 2019 [cited by examiner]
US 20190205869A1 · Nair · 2019 [cited by examiner]
US 20190268340A1 · Decouteau · 2019 [cited by examiner]
US 20200110903A1 · Reilly · 2020 [cited by examiner]
CN 1420488A · 2003 [cited by applicant]
CN 102067143A · 2011 [cited by examiner]
CN 104077533A · 2014 [cited by applicant]
CN 102473228B · 2015 [cited by examiner]
CN 104255000B · 2017 [cited by examiner]
CN 107431621A · 2017 [cited by applicant]
CN 104838630B · 2018 [cited by examiner]
CN 107251069B · 2020 [cited by applicant]
EP 3422752A4 · 2019 [cited by examiner]
RU 2701111C2 · 2019 [cited by examiner]
WO WO2011104663A1 · 2011 [cited by examiner]
WO WO2018174846A1 · 2018 [cited by examiner]
Mihir Bellare , “Format-Preserving Encryption”, Part of the book series: Lecture Notes in Computer Science ((LNSC, vol. 5867)), pp. 295-312, 25 pages (Year: 2009). [cited by examiner]
Michele Guerriero, “Defining, Enforcing and Checking Privacy Policies In Data-Intensive Applications” , SEAMS '18: Proceedings of the 13th International Conference on Software Engineering for Adaptive and Self-Managing … [cited by examiner]
Ning Zhang, “PrivacyGuard: Enforcing Private Data Usage with Blockchain and Attested Execution”, Conference paper First Online: Sep. 7, 2018 , pp. 345-353 (Year: 2018). [cited by examiner]
Rodney Beede et al., “MyShield: Protecting Mobile Device Data via Security Circles”, Technical Report CU-CS-1091-12, Jan. 2012, total 14 pages. [cited by applicant]
Robin Jacob, “Using Aggregate Administrative Data in Social Policy Research”, Opre Report #2016-91, Dec. 2016, total 6 pages. [cited by applicant]