YubiKey

From Wikipedia, the free encyclopedia
  (Redirected from Yubikey)
Jump to navigation Jump to search
Yubico Inc.
Private
IndustrySoftware
Founded2007
HeadquartersPalo Alto, California,
United States
Key people
Stina Ehrensvärd
(CEO and Founder)
Jakob Ehrensvärd
(CTO)
Websiteyubico.com
YubiKey 4 and YubiKey 4 Nano USB devices

The YubiKey is a hardware authentication device manufactured by Yubico that supports one-time passwords, public-key encryption and authentication, and the Universal 2nd Factor (U2F) and FIDO2 protocols[1] developed by the FIDO Alliance. It allows users to securely log into their accounts by emitting one-time passwords or using a FIDO-based public/private key pair generated by the device. YubiKey also allows for storing static passwords for use at sites that do not support one-time passwords.[2] Facebook uses YubiKey for employee credentials,[3] and Google supports it for both employees and users.[4][5] Some password managers support YubiKey.[6][7] Yubico also manufactures the Security Key, a device similar to the YubiKey, but focused on public-key authentication.[8][9]

The Yubikey implements the HMAC-based One-time Password Algorithm (HOTP) and the Time-based One-time Password Algorithm (TOTP), and identifies itself as a keyboard that delivers the one-time password over the USB HID protocol. The YubiKey NEO and YubiKey 4 include protocols such as OpenPGP card using 2048-bit RSA and elliptic curve cryptography (ECC) p256 and p384, Near Field Communication (NFC), and FIDO U2F. The YubiKey allows users to sign, encrypt and decrypt messages without exposing the private keys to the outside world. The 4th generation YubiKey launched on November 16, 2015. It has support for OpenPGP with 4096-bit RSA keys, and PKCS#11 support for PIV smart cards, a feature that allows for code signing of Docker images.[10][11]

Founded in 2007 by CEO Stina Ehrensvärd, Yubico is a private company with offices in Palo Alto, Seattle, and Stockholm.[12] Yubico CTO, Jakob Ehrensvärd, is the lead author of the original strong authentication specification that became known as Universal 2nd Factor (U2F).[13]

Yubikey released the Yubikey 5 series in 2018 which adds support for FIDO2.[14]

History[edit]

Yubico was founded in 2007 and began offering a Pilot Box for developers in November of that year.[15] The original YubiKey product was shown at the annual RSA Conference in April 2008,[16][17] and a more robust YubiKey II model was launched in 2009.[18]

YubiKey II and later models have two "slots" available, for storing two distinct configurations with separate AES secrets and other settings. When authenticating the first slot is used by only briefly pressing the button on the device, while the second slot gets used when holding the button for 2 to 5 seconds.

In 2010, Yubico began offering the YubiKey OATH and YubiKey RFID models. The YubiKey OATH added the ability to generate 6- and 8-character one-time passwords using protocols from the Initiative for Open Authentication (OATH), in addition to the 32-character passwords used by Yubico's own OTP authentication scheme. The Yubikey RFID model included the OATH capability plus also included a MIFARE Classic 1k radio-frequency identification chip,[19] though that was a separate device within the package that could not be configured with the normal Yubico software over a USB connection.[20]

Yubico announced the YubiKey Nano in February 2012, a miniaturized version of the standard YubiKey which was designed so it would fit almost entirely inside a USB port and only expose a small touch pad for the button.[21] Most later models of the YubiKey have also been available in both standard and "nano" sizes.

2012 also saw the introduction of the YubiKey Neo, which improved upon the previous YubiKey RFID product by implementing near-field communication (NFC) technology and integrating it with the USB side of the device.[22] The YubiKey Neo (and Neo-n, a "nano" version of the device) are able to transmit one-time passwords to NFC readers as part of a configurable URL contained in a NFC Data Exchange Format (NDEF) message. The Neo is also able to communicate using the CCID smart-card protocol in addition to USB HID (human interface device) keyboard emulation. The CCID mode is used for PIV smart card and OpenPGP support, while USB HID is used for the one-time password authentication schemes.[23]

In 2014, the YubiKey Neo was updated with FIDO Universal 2nd Factor (U2F) support.[24] Later that year, Yubico released the FIDO U2F Security Key, which specifically included U2F support but none of the other one-time password, static password, smart card, or NFC features of previous YubiKeys.[8] At launch, it was correspondingly sold at a lower price point of just $18, compared to $25 for the YubiKey Standard ($40 for the Nano version), and $50 for the YubiKey Neo ($60 for Neo-n).[25] Some of the pre-release devices issued by Google during FIDO/U2F development reported themselves as "Yubico WinUSB Gnubby (gnubby1)".[26]

In April 2015, the company launched the YubiKey Edge in both standard and nano form factors. This slotted in between the Neo and FIDO U2F products feature-wise, as it was designed to handle OTP and U2F authentication, but did not include smart card or NFC support.[27]

The YubiKey 4 family of devices was first launched in November 2015, with USB-A models in both standard and nano sizes. The YubiKey 4 includes most features of the YubiKey Neo, including increasing the allowed OpenPGP key size to 4096 bits (vs. the previous 2048), but dropped the NFC capability of the Neo.

At CES 2017, Yubico announced an expansion of the YubiKey 4 series to support a new USB-C design. The YubiKey 4C was released on February 13, 2017.[28] On Android OS over the USB-C connection, only the one-time password feature is supported by the Android OS and YubiKey, with other features not currently supported including Universal 2nd Factor (U2F).[29] A 4C Nano version became available in September 2017.[30]

In April 2018, the company brought out the Security Key by Yubico, their first device to implement the new FIDO2 authentication protocols, WebAuthn (which reached W3C Candidate Recommendation status in March[31]) and Client to Authenticator Protocol (CTAP, still under development as of May 2018). At launch, the device is only available in the "standard" form factor with a USB-A connector. Like the previous FIDO U2F Security Key, it is blue in color and uses a key icon on its button. It is distinguished by a number "2" etched into the plastic between the button and the keyring hole. It is also less expensive than the YubiKey Neo and YubiKey 4 models, costing $20 per unit at launch because it lacks the OTP and smart card features of those previous devices, though it retains FIDO U2F capability.[9]

ModHex[edit]

When being used for one-time passwords and stored static passwords, the YubiKey emits characters using a modified hexadecimal alphabet which is intended to be as independent of system keyboard settings as possible. This alphabet, referred to as ModHex or Modified Hexadecimal, consists of the characters "cbdefghijklnrtuv", corresponding to the hexadecimal digits "0123456789abcdef".[32] Due to YubiKeys using raw keyboard scan codes in USB HID mode, there can be problems when using the devices on computers that are set up with different keyboard layouts, such as Dvorak. It is recommended to either use operating system features to temporarily switch to a standard US keyboard layout (or similar) when using one-time passwords, although YubiKey Neo and later devices can be configured with alternate scan codes to match layouts that aren't compatible with the ModHex character set.[33]

U2F authentication in YubiKeys and Security Keys bypasses this problem by using the alternate U2FHID protocol, which sends and receives raw binary messages instead of keyboard scan codes.[34] CCID mode acts as a smart card reader, which does not use HID protocols at all.

Security issues[edit]

YubiKey 4 closed-sourcing concerns[edit]

Yubico has replaced all open-source components in YubiKey 4 with closed-source code, which can no longer be independently reviewed for security flaws.[35] Yubico states that internal and external review of their code is done. Yubikey NEOs are still using open-source code.[36] On May 16, 2016, Yubico CTO Jakob Ehrensvärd responded to the open-source community's concerns with a blog post[37] affirming the company's strong open source support and addressing the reasons and benefits of updates to the YubiKey 4. The changes were said to be due to emerging practical requirements of high grade security, as follows:[37]

  • Mitigation of side channel attacks requires hardware and firmware with considerable countermeasures against delidding, probing, fault injection and the like. This requires very specialised silicon, firmware, and firmware toolchains.
  • Similarly, mitigation of attacks related to malicious firmware injection, data exfiltration, and possible interception of keys for extracting data, if any, are also required.
  • These decisions lead to several design decisions. One such decision is that firmware extraction, modification, and rewriting are best forbidden. Furthermore, the need for specialized security within the design of the silicon itself, as well as its firmware, leads to the use of highly specialized silicon that comes from only a few sources, whose firmware is designed using manufacturer-provided emulators (since the firmware cannot be tested on a live device due to countermeasures against reading and probing). Both the specialized silicon itself, and the emulators and other tools required to program it, are invariably covered by non disclosure agreements by their suppliers and unavailable to the public or other non-recognized customers.
  • Accordingly, the keys contain firmware that even an end user cannot read (and therefore cannot validate the actual firmware against an expected firmware). Further, if the firmware could be read, the end user would still lack access to the supplier's emulators and other tools required to change or validate it using a toolchain (and therefore cannot confirm that the source code compiles to the given firmware). They could also not rewrite an existing or modified firmware to their key nor obtain blank silicon to program "from clean", to test it in situ. The purpose being to ensure that an attacker is unable to compromise a key by silently doing these things, either.

ROCA vulnerability in certain YubiKey 4, 4C, and 4 Nano devices[edit]

In October 2017, security researchers found a vulnerability (known as ROCA) in the implementation of RSA keypair generation in a cryptographic library used by a large number of Infineon security chips, as used in a wide range of security keys and security token products (including YubiKey). The vulnerability allows an attacker to reconstruct the private key by using the public key.[38][39] All YubiKey 4, YubiKey 4C, and YubiKey 4 Nano devices within the revisions 4.2.6 to 4.3.4 were affected by this vulnerability.[40] Yubico remedied this issue in all shipping YubiKey 4 devices by switching to a different key generation function and offered free replacements for any affected keys. The replacement offer ended on March 31, 2019. In some cases the issue can be bypassed by generating new keys outside of the YubiKey and importing them onto the device.[41]

Reduced initial randomness on certain FIPS series devices[edit]

In June 2019, Yubico released a security advisory reporting reduced randomness in FIPS-certified devices with firmware version 4.4.2 and 4.4.4, shortly after power-up (there is no version 4.4.3).[42] Security keys with reduced randomness may leave keys more easily discovered and compromised than expected. The issue affected the FIPS series only, and then only certain scenarios, although FIPS ECDSA usage was "at higher risk". The company offered free replacements for any affected keys.

Social Activism[edit]

In 2019 Hong Kong protests, there is great concern over the online security of protesters in face of aggravating police abuse of power. Yubico sponsored Hong Kong protesters with 500 Yubikeys to protect the protesters. The company says the decision is based on their mission to protect vulnerable internet users, and works with free speech supporters[43][44].

See also[edit]


References[edit]

  1. ^ "Specifications Overview". FIDO Alliance. Retrieved 4 December 2015.
  2. ^ "What Is A Yubikey". Yubico. Retrieved 7 November 2014.
  3. ^ McMillan (3 October 2013). "Facebook Pushes Passwords One Step Closer to Death". Wired. Retrieved 7 November 2014.
  4. ^ Diallo, Amadou (30 November 2013). "Google Wants To Make Your Passwords Obsolete". Forbes. Retrieved 15 November 2014.
  5. ^ Blackman, Andrew (15 September 2013). "Say Goodbye to the Password". The Wall Street Journal. Archived from the original on 3 January 2014. Retrieved 15 November 2014.
  6. ^ "YubiKey Authentication". LastPass. Retrieved 15 November 2014.
  7. ^ "KeePass & YubiKey". KeePass. Retrieved 15 November 2014.
  8. ^ a b "Yubico Releases FIDO U2F Security Key". Yubico (Press release). 2014-10-21. Retrieved 2018-05-05.
  9. ^ a b "Yubico Launches New Developer Program and Security Key for FIDO2 and WebAuthn W3C Specifications" (Press release). 2018-04-10. Retrieved 2018-05-06.
  10. ^ "Launching The 4th Generation YubiKey". Yubico. Retrieved 20 November 2015.
  11. ^ "With a Touch, Yubico, Docker Revolutionize Code Signing". Yubico. Retrieved 20 November 2015.
  12. ^ "The Team". Yubico. Retrieved 12 September 2015.
  13. ^ "History of FIDO". FIDO Alliance. Retrieved 16 March 2017.
  14. ^ "Yubico launches new YubiKey 5 Series 2FA keys, supports passwordless FIDO2 and NFC". Android Police. 2018-09-24. Retrieved 2019-10-07.
  15. ^ "Yubico launches YubiKey Pilot Box". Yubico. 2007-11-26. Archived from the original on 2008-02-21.
  16. ^ Steve Gibson (April 2008). "Security Now! Notes for Episode #141". Security Now!. Gibson Research Corporation. Retrieved 2018-05-05.
  17. ^ Leo Laporte and Steve Gibson (2008-04-24). "Episode #141 - RSA Conference 2008". Security Now!. Gibson Research Corporation. Retrieved 2018-05-05.
  18. ^ Mike (2009-08-27). "Yubikey II – got it". Read My Damn Blog. Retrieved 2018-05-05.
  19. ^ "RFID YubiKey". Yubico Store. Archived from the original on 2011-08-29. Retrieved 2018-05-05.
  20. ^ "RFID YubiKey". IDivine Technology. Retrieved 2018-05-05.
  21. ^ "Yubico Launches YubiKey Nano, The World's Smallest One-Time Password Token" (Press release). Yubico. 2012-02-28. Retrieved 2018-05-05.
  22. ^ Clark, Sarah (2012-02-22). "Yubico introduces one-time password token that secures access to the contents of NFC phones". NFC World. Retrieved 2018-05-05.
  23. ^ Maples, David (2012-12-26). "YubiKey NEO Composite Device". Yubico. Retrieved 2018-05-05.
  24. ^ "Yubico Introduces Industry's First FIDO Ready™ Universal 2nd Factor Device". Yubico (Press release). 2014-01-06. Retrieved 2018-05-05.
  25. ^ "YubiKey Hardware". Yubico. Archived from the original on 2014-11-07.
  26. ^ "pamu2fcfg doesn't support test devices".
  27. ^ "Yubico Launches YubiKey Edge at RSA 2015; OTP and U2F Two-Factor Authentication in One Key". Yubico (Press release). Retrieved 2018-05-05.
  28. ^ "NEW YubiKey 4C featuring USB-C revealed at CES 2017 | Yubico". Yubico. 2017-01-05. Retrieved 2017-09-14.
  29. ^ "Can the YubiKey 4C be plugged directly into Android phones or tablets with USB-C ports? | Yubico". Yubico. Retrieved 2017-09-14.
  30. ^ "Our Family is Growing! YubiKey 4C Nano Unveiled at Microsoft Ignite". Yubico. 2017-09-25. Retrieved 2018-05-05.
  31. ^ Jones, Michael (2018-03-20). "Candidate Recommendation (CR) for Web Authentication Specification". W3C Web Authentication Working Group. Retrieved 2018-05-06.
  32. ^ E, Jakob (12 June 2008). "Modhex - why and what is it?". Yubico. Retrieved 6 November 2016.
  33. ^ Toh, Alvin (2013-07-24). "Expanding YubiKey Keyboard Support". Yubico. Retrieved 2018-05-05.
  34. ^ "FIDO U2F HID Protocol Specification". FIDO Alliance. 2017-04-11. Retrieved 2018-05-06.
  35. ^ Ryabitsev, Konstantin. "I must, sadly, withdraw my endorsement of yubikey 4 devices (and perhaps all ..." Google+. Retrieved 12 November 2016.
  36. ^ "dainnilsson commented on 11 May". Github. Retrieved 12 November 2016.
  37. ^ a b "Secure Hardware vs. Open Source". Yubico.com. Retrieved 16 March 2017.
  38. ^ "ROCA: Vulnerable RSA generation (CVE-2017-15361) [CRoCS wiki]". crocs.fi.muni.cz. Retrieved 2017-10-19.
  39. ^ "NVD - CVE-2017-15361". nvd.nist.gov. Retrieved 2017-10-19.
  40. ^ "Infineon RSA Key Generation Issue - Customer Portal". www.yubico.com. Retrieved 11 June 2019.
  41. ^ "Yubico Mitigation Recommendations". www.yubico.com. Retrieved 11 June 2019.
  42. ^ "Security Advisory YSA-2019-02 Reduced initial randomness on FIPS keys". Retrieved 2019-06-14.
  43. ^ "Swedish tech firm Yubico hands Hong Kong protesters free security keys amid fears over police tactics online". South China Morning Post. 2019-10-10. Retrieved 2019-10-18.
  44. ^ "Yubico 贊助香港抗爭者世上最強網上保安鎖匙 Yubikey | 立場新聞". 立場新聞 Stand News. Retrieved 2019-10-18.

External links[edit]