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 towards commonplace assaults and Dilithium’s resilience towards quantum assaults. This schema was co-developed in partnership with the ETH Zürich and gained 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 introduction is turning into a extra urgent situation as time passes. Particularly, commonplace public key cryptography which was designed to guard towards conventional computer systems, will be unable to resist quantum assaults. Thankfully, with the current standardization of public key quantum resilient cryptography together with the Dilithium algorithm, we now have a transparent path to safe safety keys towards 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 significant. Particularly, for safety keys this course of is anticipated to be gradual as customers must purchase new ones as soon as FIDO has standardized put up quantum cryptography resilient cryptography and this new commonplace is supported by main browser distributors.
Hybrid signature: Robust nesting with classical and PQC scheme
Our proposed implementation depends on a hybrid strategy that mixes the battle examined ECDSA signature algorithm and the lately standardized quantum resistant signature algorithm, Dilithium. In collaboration with ETH, we developed this novel hybrid signature schema that provides the most effective of each worlds. Counting on a hybrid signature is vital because the safety of Dilithium and different lately standardized quantum resistant algorithms haven’t but stood the check of time and up to date assaults on Rainbow (one other quantum resilient algorithm) show 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 strategy can also be utilized in different post-quantum efforts like Chrome’s help for TLS.
On the technical aspect, a big problem was to create a Dilithium implementation sufficiently small to run on safety keys’ constrained {hardware}. By way of cautious optimization, we have been capable of develop a Rust reminiscence optimized implementation that solely required 20 KB of reminiscence, which was small enough sufficient. We additionally frolicked making certain that our implementation signature pace was nicely inside the anticipated safety keys specification. That mentioned, we consider enhancing signature pace 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 towards quantum assaults. If you’re serious about testing this algorithm or contributing to safety key analysis, head to our open supply implementation OpenSK.