At Hannover Messe 2018 show last month, which mainly focuses on industry technology, as well as the growing field of the Industrial Internet of Things (IIoT), Microsoft showed up to detail how the company plans to increase the security levels around IIoT, as well as Industrial Control Systems (ICS) devices.
This is being developed by Redmond under a new project that is codenamed TCPS -- Trusted Cyber Physical Systems.
TCPS is composed of three elements that are supposed to catch, as well as block intrusions.
First, there are hardware-level Trusted Execution Environments (TEEs), such as Intel SGX, ARM TrustZone, and SecureElements -- much like the ones seen newer credit cards. These are resident on CPUs at a hardware level for processing sensitive information about chip function.
This means that only signed and authorized code can run in a TEE.
Microsoft wants to keep raw data accessible only from inside a trusted execution environment and only readable by the user and those whom the customer explicitly authorizes.
Additionally, Microsoft is looking to keeping the code inside the trusted execution environment as small as possible -- for a lowered attack area -- and having ways to vouch for its trustworthiness.
Second, Microsoft posits a "Secure Confirmation Terminal," that is operated by a trusted employee. The SCT operator needs to confirm certain operations before they can be executed by the rest of the system. The TEE cryptographically signs the response and forwards it.
The idea is that neither a cloud service provider -- such as Microsoft Azure -- nor a software provider will be able to execute actions on user systems that have not been authorized by the system operator through the SCT.
The third part of all of this is a cloud-based platform used for provisioning, key management, certificate authority, patch management and tamper-proof logging.
Since this is Redmond designing the protocol, Azure is the default cloud.
What is really being added in TCPS is a way to protect data while it is being executed, since the implicit assumptions used in its design are that data in rest and in motion will have already been protected through encryption.
There is also running through TCPS the idea of a chain of trust.
Microsoft notes that the operator of a TCPS solution must be able to follow a chain of trust for code operations (for malware), as well as data (tampering or disclosure). This chain will lead to a Root of Trust (RoT) that the operator ultimately accepts as trusted. But the roots may be different for the two different kinds of information.
Updates may be necessary during a system's lifetime. In a TCPS solution, updates are signed by the software or the firmware manufacturer's RoT, and can be required to be counter-signed by the customer's RoT before they can be deployed in a TEE.
TCPS is a work in progress, and it is easy to denigrate particular sections of this as being unrealistic. The TEEs of microprocessors have recently come under attack, for example, yet they remain an integral part of the concept. But, the project is one that relooks at how each part of an overall system should relate to one another and is not finished. (See Intel's SGX Vulnerable to Spectre-Like Flaw.)
It is sort of a template for further design.
What actually evolves from this template will be of interest, of course. But the success of this process of evolution will depend greatly on the details used to make it evolve.
— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.