Índice:

Protetor de senha no Aruino Pro Micro ou Por que mantê-lo simples quando existe uma maneira elaborada !: 15 etapas (com imagens)
Protetor de senha no Aruino Pro Micro ou Por que mantê-lo simples quando existe uma maneira elaborada !: 15 etapas (com imagens)

Vídeo: Protetor de senha no Aruino Pro Micro ou Por que mantê-lo simples quando existe uma maneira elaborada !: 15 etapas (com imagens)

Vídeo: Protetor de senha no Aruino Pro Micro ou Por que mantê-lo simples quando existe uma maneira elaborada !: 15 etapas (com imagens)
Vídeo: LIVE - Como Usar a Memória do ARDUINO de Forma Inteligente ? 2024, Junho
Anonim
Protetor de senha no Aruino Pro Micro ou Por que mantê-lo simples quando existe uma maneira elaborada!
Protetor de senha no Aruino Pro Micro ou Por que mantê-lo simples quando existe uma maneira elaborada!

Parece que o principal problema com microcontroladores para fãs de eletrônica (especialmente iniciantes) é descobrir onde aplicá-los:) A eletrônica Nowaday, especialmente digital, está cada vez mais se parecendo com uma magia negra. Somente os wisards de 80 níveis são capazes de fazer algo lá com componentes minúsculos. Essa é a razão pela qual as placas Arduino se tornaram muito populares. Eles encapsulam magia negra e um pouco de fumaça;) em uma placa com pinos manejáveis por humanos.

Este post eu quero dedicar a um projeto bastante simples, chamado PasswordKeeper, na base da placa Aruino Pro Micro. Esta placa hospedava o chip ATmega32U4.

Etapa 1: a ideia

A ideia
A ideia

Há muito tempo eu queria fazer algo simples e útil com algum controlador. E então um colega meu teve uma ideia interessante - ele tinha preguiça de digitar o login e a senha em seu computador todos os dias. Então ele pegou a pequena placa DigiSpark (ATTiny85) e criou um dispositivo, que envia login + senha para um computador quando o botão é clicado. Aqui está esta engenhoca.

Etapa 2: ideia e fiação

Idéia e fiação
Idéia e fiação

Excelente ideia - pensei. Por que não pegá-lo emprestado e aplicar um pouco de criatividade maluca a ele?

Reconstruir o projeto Arduino e recarregá-lo na placa toda vez que a senha mudar - "Não são os droids que você está procurando" [wave]. É muito direto. Nós tomaríamos uma rota muito mais complicada!

A engenhoca deve mostrar como funciona. Mas apenas três LEDs padrão on-board - é muito pouco para este propósito. Vamos aumentar o número do LED para 4099! Portanto, um pequeno módulo de exibição OLED 128X32 foi adicionado ao projeto. Não consegui pensar em onde espremê-lo por um bom tempo. E se encaixou perfeitamente neste projeto. Mais alguns botões - e tudo pronto!

Não havia espaço suficiente no chip ATTiny85 para o projeto - adição de exibição puxada para biblioteca gráfica + fontes. Então, tudo isso simplesmente não cabia na memória do DigiSpark. A pesquisa rápida vem com uma plataforma adequada: Arduino Pro Micro.

A ideia principal do projeto é que o ATmega32U4 por padrão finge ser um dispositivo HID - teclado USB e porta COM USB. Os drivers para esses dispositivos já estão pré-instalados na maior parte do sistema operacional - e nada mais precisa ser configurado.

O PasswordKeeper, como você chamou a atenção, é um chindogu que imita o clique de botões do teclado. Esses cliks podem transferir um login e uma senha para um computador. Mesmo o onipresente Ctrl-Alt-Del pode ser enviado clicando em 1 botão em vez de 3. Ou qualquer outra sequência de teclas do seu tipo.

O formato dos módulos selecionados é muito compacto, mas nunca menos, fácil de se confundir. É possível com o mínimo esforço montar o dispositivo pequeno e bastante útil. A fiação simplesmente não poderia ser mais simples.

Etapa 3: cozinhar

Cozinhando
Cozinhando

Ingredientes de engodo:

1) Aruino Pro Micro - 1 peça

2) Display OLED 128x32 - 1 peça

3) Botões - 2 peças (ou qualquer outro tipo - por falha).

4) Conectores DuPont - 7 peças (ou algum fio para soldar todos juntos - por sabor).

Coloque tudo em um pequeno recipiente para alimentos e agite-o bem. De acordo com a teoria da probabilidade, os itens se interconectam da maneira certa, eventualmente.

Oh espere! Não é um artigo relacionado à culinária! Minhas desculpas.

É melhor você conectar tudo manualmente - de acordo com o diagrama de fiação e evitar alguns éons de agitação.

Portanto, o protótipo para depuração / teste de esboço está pronto.

Etapa 4: Construindo um Caso

Construindo um Caso
Construindo um Caso

O esboço parece estar funcionando. Mas não é conveniente usar o dispositivo dessa forma. Portanto, um pequeno trabalho no Sketchup nos fornece um pequeno invólucro.

Upd: Uma ideia sobre o caso.

Você pode levar qualquer caixa de plástico transparente pequena adequada.

Ou retire um plástico transparente fino de alguma embalagem. Dobre-o de acordo com a geometria do dispositivo. Coloque a eletrônica dentro e preencha todo o espaço livre com silicone transparente. Deve dar a você um dispositivo relativamente bonito.

Etapa 5: impressão 3D

3D Prining
3D Prining

Joguei na impressora 3D mais próxima.

Etapa 6: a caixa está pronta

O caso está pronto
O caso está pronto

E como de costume, a pressa é necessária para pegar pulgas.

A primeira versão da caixa é um pouco pequena e a placa não cabe!

Akela falhou para deixar algumas lacunas. Portanto, o desenho é corrigido e reimpresso.

A segunda passagem foi melhor - a prancha se encaixa perfeitamente.

Etapa 7: caso de teste

Caso de teste
Caso de teste

Coloque a tábua dentro, pressione e com um estalido característico ela travou no lugar.

Experimentando botões - eles também se encaixam.

Etapa 8: Soldagem. Fios

De solda. Fios
De solda. Fios

A propósito, há muito tempo procuro um bom fio para prototipagem.

Como resultado, agora uso o fio 30AWG em meus projetos. Você pode vê-los na foto. É um fio de embrulho.

Poucas pessoas agora se lembram para que serve.

Mas também se encaixa perfeitamente para soldagem on-board. Fios coloridos são bons para arrumar a bagunça comum, atribuindo cores distintas às funções dos fios. O fio é fino. O isolamento resiste bem à temperatura do ferro de solda. O isolamento típico de PVC derrete durante a soldagem imediatamente. Este fica amolecido, mas mantém sua forma e permite o toque ocasional de uma ponta de ferro de solda sem derreter até o núcleo.

Etapa 9: PwKeeper está pronto

PwKeeper está pronto
PwKeeper está pronto

Então, colocar tudo junto nos dá um pequeno token que se conecta a um computador e permite que você gerencie e use

um grande número de logins e senhas.

Etapa 10: PwKeeperPc - Edição fácil de dados em token

PwKeeperPc - Edição fácil de dados em token
PwKeeperPc - Edição fácil de dados em token

O número de logins é limitado pela quantidade de memória EEPROM on-board (1024 bytes) e o comprimento das senhas.

A memória EEPROM mantém vários registros.

Cada registro contém um campo de comentário e até 8 campos de texto.

Dois campos de texto denominados Nome e Senha - apenas para conveniência de gerenciamento.

O display permite que você selecione o login desejado mostrando os campos de comentários.

Ele também permite que você edite os dados no token. Os dados podem ser editados com apenas dois botões. Eu coloquei algum tipo de Editor no token. Mas, honestamente, você deve ser um masoquista para usá-lo.

Portanto, para simplificar o gerenciamento de senhas, eu tive que escrever um programa especial para o PC (a propósito - não foget para mudar o token para o modo USB ao usar este programa).

Upd: Para * nix pessoas, adicionei um console TTY serial no firmware PwKeeper v1.4. Este console é ativado no menu do dispositivo. Conecte-se a ele com qualquer programa de terminal adequado - e você pode editar dados no PwKeeper com vários comandos do tipo VI. O console também pode ser usado na plataforma Windows. Basta pressionar Ctrl-Shift-M no Arduino IDE e você está lá (não se esqueça de ativar o TTY no PwKeeper antes). Mas PwKeeperPc é muito mais conveniente, eu acho.

Etapa 11: PwKeeper está em execução

PwKeeper está funcionando!
PwKeeper está funcionando!

O token contém dados muito confidenciais, portanto, alguns esforços devem ser colocados em segurança.

A senha principal para desbloquear o token existe.

Ele está vazio por padrão, mas conforme você o define no token, você deve inseri-lo todas as vezes após a inicialização.

A senha principal é uma sequência definida pelo usuário de cliques simples e duplos dos botões para cima e para baixo.

Etapa 12: Fluxo de pensamentos

Teoricamente, é possível criptografar os dados na EEPROM com algum algoritmo criptográfico - algum espaço ainda deixado no flash. Mas esses esforços não seriam vistos de fora - então não me incomodei.

O token em seu estado normal não é visível para o computador. Para colocá-lo no modo de edição USB, você deve fazê-lo fisicamente pressionando os botões nele. Da mesma forma, para enviar uma senha, você deve pressionar fisicamente um botão PARA CIMA. Assim, o hacker malicioso não roubaria suas senhas do token. Ele os pegava em uma porta USB quando você os envia do token;)

O resultado deste projeto é uma engenhoca onde guardo senhas de minhas contas bancárias e fóruns. Além disso, meus pais acharam útil para fazer login no webmail e em vários outros sites.

Principalmente para o meu colega programei todas as entradas restantes da placa como botões de acesso rápido. Até 12 botões podem ser conectados dos pinos de entrada restantes ao aterramento. Ao clicar em um desses botões, você salta para o login correspondente (se existir). Portanto, você só precisa pressionar o botão PARA CIMA para enviá-lo. Ou segure um botão de atalho um pouco mais.

Etapa 13: Inspeção-1

Inspeção-1
Inspeção-1

Antes de abrir o capital, o PwKeeper passou por uma inspeção meticulosa.

Etapa 14: Inspeção-2

Inspeção-2
Inspeção-2

O chefe da inspeção acabara de ser acordado e não estava de bom humor.

Mas ele franze a testa nunca - por que um dispositivo claramente inacabado é oferecido ao público.

Minhas palavras, de que ele precisa verificar a qualidade do produto e é difícil fazer com caso encerrado, foram apenas ignoradas por ele.

Newerless (depois de subornar com salsicha) ele emitiu o certificado de aprovação.

Recomendado: