YubiKey #2 - Linux Instalação
Segunda parte da série sobre o Yubikey: instalação e uso básico no Linux
Há um pouco mais de 1 ano atrás, adquiri a Yubikey 5 NFC (as imagens da capa dos três artigos são fotos que tirei, juntamente com os adesivos que recebi, em cima do meu chromebook).
Esta série de artigos vem com um pouco de atraso rsrsss
Para começar, conecte seu YubiKey a uma porta USB em seu computador, de forma que os contatos dourados no YubiKey toquem os contatos dentro de sua porta USB - para a maioria dos computadores, isso será feito de forma que os contatos dourados fiquem voltados para cima.
Depois de conectar o YubiKey, o LED no dispositivo deve acender em verde sólido. O YubiKey usa os drivers de teclado USB padrão e não requer a instalação de software ou drivers adicionais.
Sobre o Yubikey 5 NFC
Lançado em 2018
Funções primarias: Yubico OTP, OATH – HOTP (baseado em evento), OATH – TOTP (baseado em tempo), Smart Card (PIV), OpenPGP, FIDO U2F, FIDO2.
Diferencial: NFC
FIDO2
O aplicativo FIDO2 permite autenticação segura de fator único e multifatorial e pode armazenar até 25 credenciais. Essas credenciais, que são protegidas por um PIN, permitem o login sem senha, onde a YubiKey, desbloqueada por um PIN e autorizada por toque, pode fazer o login em suas contas sem inserir um nome de usuário ou senha. O aplicativo FIDO2 é certificado pela FIDO.
OTP
O miniaplicativo OTP contém dois slots programáveis, cada um pode conter uma das seguintes credenciais:
Yubico OTP
- HMAC-SHA1 Challenge-Response
- Senha estática
- OATH-HOTP
U2F
O aplicativo U2F pode conter um número ilimitado de credenciais U2F e é certificado pela FIDO.
Oauth
A série YubiKey 5 pode conter até 32 credenciais OATH e suporta OATH-TOTP (baseado em tempo) e OATH-HOTP (baseado em contador). O acesso a este miniaplicativo requer o Yubico Authenticator.
PIV (cartão inteligente)
Este aplicativo fornece um cartão inteligente compatível com PIV. Algoritmos com suporte:
- RSA 1024
- RSA 2048
- ECC P256
- ETC P384
Informações do slot:
- Slot 9a: Autenticação
- Slot 9b: Chave de gerenciamento
- Slot 9c: Assinatura Digital
- Slot 9d: Gerenciamento de Chaves
- Slot 9e: Autenticação do cartão
- Slot f9: Atestado
- Slots 82-95: Gerenciamento de chaves retirado
OpenPGP
Este aplicativo implementa a versão 2.0 da especificação OpenPGP Smart Card, que pode ser usada com o GnuPG. No firmware YubiKey versões 5.2.3 e posteriores, a versão 3.4 das especificações do OpenPGP Smart Card é implementada em seu lugar (consulte este artigo para obter mais detalhes). Para tamanhos de chave acima de 2048 bits, é necessário o GnuPG versão 2.0 ou superior.
Algoritmos com suporte:
- RSA 1024
- RSA 2048
- RSA 3072
- RSA 4096
- secp256r1
- secp256k1
- secp384r1
- secp521r1
- brainpoolP256r1
- brainpoolP384r1
- brainpoolP512r1
- curve25519
- x25519 (decifrar apenas)
- ed25519 (assinar / apenas autenticação)
Instalação
O Yubikey já funciona, mesmo sem instalar nada.
Você pode usa-lo com algum app que gera o token via software (Google Authenticator, Microsoft, Authy, Lastpass Authenticator entre outros...)
Mas pode usa-lo junto com o Yubico Authenticator.
No linux, a chave é reconhecida como entrada de teclado qwerty para inserir o código gerado quando tocado a superficie de metal (area dourada ao centro com o logo do 'Y').
Mas precisaremos do pcscd para configurar o manager e o Authenticator usando a versão dos Apps via AppImage, e CLI somente.
Vamos a instalação: O pacote pcscd está nos repos das distros!
sudo apt-get install pcscd
Descrição do pcscd: Middleware para acessar um cartão inteligente. O objetivo é fornecer uma interface em um formato muito pequeno para comunicação com cartões inteligentes e leitores de cartões inteligentes.
O daemon é usado para alocar/desalocar drivers de leitoras dinamicamente em tempo de execução e gerenciar conexões com as leitoras.
Se instalar via Snap ou no ubuntu adicionando os repositórios, não é necessário instalar o pcscd.
Apps
Yubico-Authenticator
O Authenticator complementa a Yubikey em sites/apps/Ferramentas que não suportam o hardware como autenticador.
Através do App você escaneia o QR code (ou cadastra manualmente) e ele passa a gerar o token numérico que será solicitado após fazer o login com sucesso usando a senha.
Além da versão desktop, também há para mobile (Android/IOS)
Ao usar o Yubico-Authenticator, ele irá requisitar a Yubikey e o PIN para poder abrir o aplicativo e exibir os tokens sendo gerados.
sudo snap install yubioath-desktop
Snap e AppImage: yubico.com/products/yubico-authenticator/#h..
Snap: snapcraft.io/install/yubioath-desktop
Eu não configurei o Yubico Authenticator (nem no Desktop, nem no Mobile), pois em ambos eu utilizo a conta Premium do LastPass, gerenciador de senha que possui seu proprio app autenticador para gerar os tokens.
E ele possui suporte ao Yubikey (assim como quase todos).
Yubikey Manager
É opcional!
O Manager é para configurar os tokens e gerenciar os slots descritos acima em relação ao Yubikey 5 NFC.
AppImage: yubico.com/support/download/yubikey-manager e developers.yubico.com/yubikey-manager-qt/Re..
Ubuntu e derivados:
sudo add-apt-repository ppa:yubico/stable && sudo apt-get update
sudo apt install yubikey-manager
sudo apt install yubikey-personalization-gui
sudo apt install libpam-yubico
sudo apt install libpam-u2f
Yubikey Personalization Tool
Links: