As a part of our effort to deploy quantum resistant cryptography, we’re completely satisfied to announce the launch of the primary quantum resilient FIDO2 safety key implementation as a part of OpenSK, our open supply safety key firmware. This open-source {hardware} optimized implementation makes use of a novel ECC/Dilithium hybrid signature schema that advantages from the safety of ECC in opposition to normal assaults and Dilithium’s resilience in opposition to quantum assaults. This schema was co-developed in partnership with the ETH Zürich and received the ACNS safe cryptographic implementation workshop greatest paper.
Quantum processor
As progress towards sensible quantum computer systems is accelerating, making ready for his or her creation is turning into a extra urgent difficulty as time passes. Particularly, normal public key cryptography which was designed to guard in opposition to conventional computer systems, will be unable to face up to quantum assaults. Happily, with the latest standardization of public key quantum resilient cryptography together with the Dilithium algorithm, we now have a transparent path to safe safety keys in opposition to quantum assaults.
Whereas quantum assaults are nonetheless within the distant future, deploying cryptography at Web scale is an enormous enterprise which is why doing it as early as doable is important. Particularly, for safety keys this course of is predicted to be gradual as customers must purchase new ones as soon as FIDO has standardized publish quantum cryptography resilient cryptography and this new normal is supported by main browser distributors.
Hybrid signature: Sturdy nesting with classical and PQC scheme
Our proposed implementation depends on a hybrid method that mixes the battle examined ECDSA signature algorithm and the not too long ago standardized quantum resistant signature algorithm, Dilithium. In collaboration with ETH, we developed this novel hybrid signature schema that gives one of the best of each worlds. Counting on a hybrid signature is essential because the safety of Dilithium and different not too long ago standardized quantum resistant algorithms haven’t but stood the check of time and up to date assaults on Rainbow (one other quantum resilient algorithm) exhibit the necessity for warning. This cautiousness is especially warranted for safety keys as most can’t be upgraded – though we’re working towards it for OpenSK. The hybrid method can also be utilized in different post-quantum efforts like Chrome’s assist for TLS.
On the technical facet, a big problem was to create a Dilithium implementation sufficiently small to run on safety keys’ constrained {hardware}. Via cautious optimization, we had been capable of develop a Rust reminiscence optimized implementation that solely required 20 KB of reminiscence, which was small enough sufficient. We additionally hung out guaranteeing that our implementation signature velocity was properly throughout the anticipated safety keys specification. That mentioned, we consider bettering signature velocity additional by leveraging {hardware} acceleration would permit for keys to be extra responsive.
Transferring ahead, we hope to see this implementation (or a variant of it), being standardized as a part of the FIDO2 key specification and supported by main internet browsers in order that customers’ credentials could be protected in opposition to quantum assaults. If you’re excited by testing this algorithm or contributing to safety key analysis, head to our open supply implementation OpenSK.