Skip to content

aarch64-dit: rename to non-architecture-specific crate #1495

Description

@tarcieri

Intel introduced Data Operand Independent Timing Mode (DOITM) in Ice Lake, a similar feature to ARMv8's DIT. Additional background.

Unfortunately it's currently privileged, and it seems attempts to allow unprivileged thread-specific settings in Linux did not work out and would require hardware changes. However, it shows that other CPUs are adding these capabilities and we should probably plan for a more general abstraction, similar to cpuid-bool => cpufeatures.

(Annoyingly Intel simultaneously says you should always use DOITM for cryptography, made it privileged, and they said leaving it on all the time has horrible performance impacts. I think they will eventually need to figure out a solution that's unprivileged, similar to DIT and as it were CPUID)

I also think we should start wiring this up in our higher-level crates, particular for things like public-key cryptography which perform complicated long-running operations that are frequently the source of sidechannels. At least, whenever #1472 is addressed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions