On Thu, Oct 25, 2018 at 09:55:48AM -0500, Rob Herring wrote:
> +Introduction:
> +=============
> +Storage encryption has been one of the most required feature from security
> +point of view. QTI based storage encryption solution uses general purpose
> +crypto engine. While this kind of solution provide a decent amount of
> +performance, it falls short as storage speed is improving significantly
> +continuously. To overcome performance degradation, newer chips are going to
> +have Inline Crypto Engine (ICE) embedded into storage device. ICE is supposed
> +to meet the line speed of storage devices.
Is ICE part of the storage device or part of the host as the binding
suggests?
My understanding is that for this particular instantiation, the Inline
Crypto Engine is located on the SOC.
However, from the perspective of generic kernel support, the inline
crypto support could be implemented on the SOC, or in the host bus
adaptor, or as a "bump in the wire", or on the storage device. And
whatever abstract interface in the block layer should be able to
support all of these cases.
I do not believe it would be wise to assume that inline crypto will
forever be a mobile-only thing. I could easily see use cases in the
data center; for example, if you believe that Nation State Actors
might be trying to create "implants" that attack hard drive firmware,
per some of the Snowden leaks, creating an open design ICE engine with
auditable firmware and a trusted secure key store, and which sits
between the host CPU and the storage device might be one way to
mitigate against this threat.
- Ted