§1O problema
Um serviço pede só alguns caracteres de um código fixo, e eu não quero guardar o código inteiro em texto nem abri-lo inteiro na tela.
§2O que eu construí
- Janela nativaGTK, sem servidor: digito as posições e vejo só aqueles caracteres.
- DestravarCom toque na YubiKey; fecha com Esc e sozinho após 2 minutos de uso parado.
- Script de gravaçãoSó de terminal, para gravar ou trocar o código (pede duas vezes, sem mostrar na tela).
§3As partes difíceis
5 itens- 01
Criptografia do arquivo
AES-256-GCM, com chave derivada (HKDF) da resposta da YubiKey a um desafio novo a cada gravação.
- 02
O app só lê
Arquivos gravados sem a chave são recusados.
- 03
Memória limpa
O código sai da memória após inatividade.
- 04
Teste com YubiKey simulada por software
Só vale com arquivo de teste, nunca com o real.
- 05
Interface GTK testada
Em tela virtual com automação.
§4Resultado
Está em uso, com atalho na barra do sistema.
§5Stack
- Python 3
- GTK 3 (PyGObject)
- AES-256-GCM
- HKDF
- YubiKey (ykman, desafio e resposta)