FIELD

The present invention relates to a method, system and computer-readable medium for secure processing of data streams.

BACKGROUND

There exist a number of different types of data producers which produce data streams that require processing and analysis, typically in real-time or near real-time, in order to implement decisions and actions in a number of technical application areas. Such data streams are often machine generated, e.g., by the devices and components of information technology (IT) systems. For instance, the Internet of Things (IoT) continuously generates, collects and processes data streams which contain data stream elements consisting of time-stamped events. In particular, IoT devices, such as sensors, generate or sense data and IoT platform services collect and analyze this data. Likewise, vehicles, mobile devices such as smartphones or applications running on different devices generate streams of data which require processing for various technical applications.

SUMMARY

In an embodiment, the present invention provides a method for securing data stream processing. The method includes implementing a stage of a data processing pipeline in a trusted execution environment. A state of the stage is represented by a graph-based data structure. Protected memory of the trusted execution environment is reserved for computations of the stage. A key-value store is maintained in the protected memory. The key-value store includes hashes of graph segments of the graph-based data structure for the computations and memory locations of the graph segments. A state part of the computations is moved from the protected memory to unprotected memory. The state part of the computations is loaded back to the protected memory. An integrity of a computation using the state part of the computations is checked using the hashes in the key-value store.

