Índice:

HackerBox 0027: Cypherpunk: 16 etapas
HackerBox 0027: Cypherpunk: 16 etapas

Vídeo: HackerBox 0027: Cypherpunk: 16 etapas

Vídeo: HackerBox 0027: Cypherpunk: 16 etapas
Vídeo: HackerBox #0016 Cellular World 2024, Novembro
Anonim
HackerBox 0027: Cypherpunk
HackerBox 0027: Cypherpunk

Cypherpunk - Este mês, os HackerBox Hackers estão explorando a privacidade e a criptografia. Este Instructable contém informações para trabalhar com o HackerBox # 0027, que você pode pegar aqui enquanto durarem os estoques. Além disso, se você gostaria de receber um HackerBox como este diretamente em sua caixa de correio a cada mês, inscreva-se em HackerBoxes.com e junte-se à revolução!

Tópicos e objetivos de aprendizagem para HackerBox 0027:

  • Compreenda as implicações sociais importantes da privacidade
  • Câmeras seguras em dispositivos eletrônicos pessoais
  • Explore a história e a matemática da criptografia
  • Contextualize o software criptográfico comum
  • Configure uma placa "Black Pill" do processador ARM STM32
  • Programe o STM32 Black Pill usando o Arduino IDE
  • Integre um teclado e um display TFT com a pílula preta
  • Funcionalidade de replicação da Máquina Enigma da Segunda Guerra Mundial
  • Entenda a autenticação multifator
  • Enfrente o desafio da solda para construir um token USB Zero U2F

HackerBoxes é o serviço de caixa de assinatura mensal para eletrônicos DIY e tecnologia de computador. Somos amadores, criadores e experimentadores. Somos os sonhadores dos sonhos. HACK THE PLANET!

Etapa 1: HackerBox 0027: conteúdo da caixa

HackerBox 0027: Conteúdo da caixa
HackerBox 0027: Conteúdo da caixa
  • HackerBoxes # 0027 Cartão de Referência Coletável
  • Módulo Black Pill STM32F103C8T6
  • Programador STLink V2 USB
  • Tela TFT colorida de 2,4 polegadas - 240x320 pixels
  • Teclado de matriz 4x4
  • Placa de ensaio sem solda de 830 pontos
  • Kit de jumper de fio de 140 peças
  • Dois kits U2F Zero Soldering Challenge
  • Placa de circuito impresso verde grande de 9 x 15 cm
  • Bloqueadores de espionagem exclusivos de vinil GawkStop
  • Cobertura giratória magnética de alumínio exclusiva para webcam
  • Patch EFF exclusivo
  • Decalque de texugo de privacidade
  • Decalque Tor

Algumas outras coisas que serão úteis:

  • Ferro de soldar, solda e ferramentas básicas de solda
  • Lupa e pinças pequenas para o desafio de solda SMT
  • Computador para executar ferramentas de software

Mais importante ainda, você precisará de um senso de aventura, espírito faça-você-mesmo e curiosidade de hacker. Eletrônicos hardcore DIY não é uma busca trivial, e não estamos diluindo isso para você. O objetivo é o progresso, não a perfeição. Quando você persiste e aproveita a aventura, uma grande satisfação pode ser derivada do aprendizado de novas tecnologias e, felizmente, de fazer alguns projetos funcionarem. Sugerimos que você dê cada passo devagar, atento aos detalhes e não tenha medo de pedir ajuda.

Observe que há uma abundância de informações para membros atuais e potenciais nas Perguntas frequentes do HackerBox.

Etapa 2: Cypherpunks

Cypherpunks
Cypherpunks

Um Cypherpunk [wikipedia] é um ativista que defende o uso generalizado de criptografia forte e tecnologias que aumentam a privacidade como uma rota para mudanças sociais e políticas. Comunicando-se originalmente por meio da lista de mala direta Cypherpunks, grupos informais objetivavam obter privacidade e segurança por meio do uso pró-ativo de criptografia. Os Cypherpunks estão engajados em um movimento ativo desde o final dos anos 1980.

No final de 1992, Eric Hughes, Timothy C. May e John Gilmore fundaram um pequeno grupo que se reunia mensalmente na empresa de Gilmore Cygnus Solutions na área da baía de São Francisco, e foi humoristicamente denominado cypherpunks por Jude Milhon em uma das primeiras reuniões - derivado de cifra e cyberpunk. Em novembro de 2006, a palavra "cypherpunk" foi adicionada ao Dicionário de Inglês Oxford.

As ideias básicas podem ser encontradas no Manifesto de A Cypherpunk (Eric Hughes, 1993): "A privacidade é necessária para uma sociedade aberta na era eletrônica. … Não podemos esperar que governos, corporações ou outras organizações grandes e sem rosto nos garantam privacidade … Nós devemos defender nossa própria privacidade se esperamos ter algum.… Cypherpunks escrevem código. Sabemos que alguém precisa escrever software para defender a privacidade e… nós vamos escrevê-lo. " Alguns cypherpunks notáveis são, ou eram, funcionários seniores em grandes empresas de tecnologia, universidades e outros são organizações de pesquisa bem conhecidas.

Etapa 3: Electronic Frontier Foundation (EFF)

Electronic Frontier Foundation (EFF)
Electronic Frontier Foundation (EFF)

The EFF [wikipedia] é um grupo internacional de direitos digitais sem fins lucrativos com sede em San Francisco, Califórnia. A fundação foi formada em julho de 1990 por John Gilmore, John Perry Barlow e Mitch Kapor para promover as liberdades civis na Internet.

A EFF fornece fundos para defesa legal em tribunais, apresenta documentos amicus curiae, defende indivíduos e novas tecnologias do que considera ameaças legais abusivas, trabalha para expor a prevaricação do governo, fornece orientação ao governo e tribunais, organiza ações políticas e mala direta em massa, apóia algumas novas tecnologias que acredita preservam as liberdades pessoais e liberdades civis online, mantém um banco de dados e sites de notícias e informações relacionadas, monitora e desafia a legislação potencial que acredita que possa infringir as liberdades pessoais e o uso justo, e solicita uma lista do que considera patentes abusivas com a intenção de derrotar aquelas que considera sem mérito. A EFF também fornece dicas, ferramentas, instruções, tutoriais e software para comunicações online mais seguras.

HackerBoxes tem orgulho de ser um doador importante para a Electronic Frontier Foundation. Nós encorajamos todos e qualquer pessoa a clicar aqui e mostrar seu apoio a este grupo sem fins lucrativos crucialmente importante que protege a privacidade digital e a liberdade de expressão. O trabalho jurídico de interesse público, o ativismo e os esforços de desenvolvimento de software da EFF buscam preservar nossos direitos fundamentais no mundo digital. A EFF é uma organização sem fins lucrativos dos EUA 501 (c) (3) e suas doações podem ser dedutíveis nos impostos.

Etapa 4: Projetos EFF dignos de nota

Projetos EFF dignos de nota
Projetos EFF dignos de nota

O Privacy Badger é um complemento do navegador que impede os anunciantes e outros rastreadores de terceiros de rastrear secretamente onde você vai e quais páginas você vê na web. Se um anunciante parece estar rastreando você em vários sites sem sua permissão, o Privacy Badger bloqueia automaticamente esse anunciante de carregar mais conteúdo em seu navegador. Para o anunciante, é como se você tivesse desaparecido repentinamente.

Neutralidade da rede é a ideia de que os provedores de serviços de Internet (ISPs) devem tratar todos os dados que trafegam por suas redes de maneira justa, sem discriminação indevida em favor de aplicativos, sites ou serviços específicos. É um princípio que deve ser respeitado para proteger o futuro de nossa Internet aberta.

O Security Education Companion é um novo recurso para pessoas que desejam ajudar suas comunidades a aprender sobre segurança digital. A necessidade de segurança digital pessoal robusta está crescendo a cada dia. De grupos de base a organizações da sociedade civil e membros individuais da EFF, pessoas de toda a nossa comunidade estão expressando a necessidade de materiais de educação de segurança acessíveis para compartilhar com seus amigos, vizinhos e colegas.

O Onion Router (Tor) permite que seus usuários naveguem na Internet, conversem e enviem mensagens instantâneas anonimamente. Tor é um software livre e uma rede aberta que ajuda a se defender contra a análise de tráfego, uma forma de vigilância de rede que ameaça a liberdade pessoal e a privacidade, atividades e relacionamentos comerciais confidenciais e a segurança do estado.

Etapa 5: proteja suas câmeras

Proteja suas câmeras
Proteja suas câmeras

De acordo com a WIRED Magazine, "ferramentas espiões, sejam projetadas por agências de inteligência, cibercriminosos ou creeps da Internet, podem ligar sua câmera sem iluminar a luz indicadora." [WIRED]

Enquanto atuava como diretor do FBI, James Comey fez um discurso sobre criptografia e privacidade. Ele comentou que colocou um pedaço de fita adesiva nas lentes da webcam de seu laptop. [NPR]

Mark Zuckerberg virou notícia quando o público percebeu que ele segue a mesma prática. [TEMPO]

HackerBox # 0027 apresenta uma coleção de bloqueadores espiões GAWK STOP de vinil personalizados, bem como uma tampa giratória magnética de alumínio para webcam.

Etapa 6: criptografia

Criptografia
Criptografia

Criptografia [wikipedia] é a prática e estudo de técnicas para comunicação segura na presença de terceiros chamados adversários. A criptografia antes da era moderna era efetivamente sinônimo de criptografia, a conversão de informações de um estado legível em um aparente absurdo. O originador de uma mensagem criptografada compartilhou a técnica de decodificação necessária para recuperar as informações originais apenas com os destinatários pretendidos, impedindo, assim, que pessoas indesejadas façam o mesmo. A literatura de criptografia freqüentemente usa o nome Alice ("A") para o remetente, Bob ("B") para o destinatário pretendido e Eva ("bisbilhoteira") para o adversário. Desde o desenvolvimento de máquinas de criptografia de rotor na Primeira Guerra Mundial e o advento dos computadores na Segunda Guerra Mundial, os métodos usados para realizar a criptologia tornaram-se cada vez mais complexos e sua aplicação mais difundida. A criptografia moderna é fortemente baseada na teoria matemática. Os algoritmos criptográficos são projetados em torno de suposições de dureza computacional, tornando tais algoritmos difíceis de serem quebrados por qualquer adversário.

Existem muitos recursos online para aprender mais sobre criptografia. Aqui estão alguns pontos de partida:

The Journey into Cryptography at Khan Academy é uma excelente série de vídeos, artigos e atividades.

A Universidade de Stanford oferece um curso de criptografia online gratuito.

Bruce Schneier postou um link para uma cópia online de seu livro clássico, Criptografia Aplicada. O texto fornece um levantamento abrangente da criptografia moderna. Ele descreve dezenas de algoritmos criptográficos e fornece conselhos práticos sobre como implementá-los.

Etapa 7: software criptográfico comum

Software criptográfico comum
Software criptográfico comum

Do ponto de vista prático, existem algumas aplicações específicas da criptografia que devemos conhecer:

Pretty Good Privacy (PGP) é um programa de criptografia que fornece privacidade criptográfica e autenticação para dados armazenados. PGP é usado para assinar, criptografar e descriptografar texto, e-mails, arquivos, diretórios e até mesmo partições de disco inteiras.

O Transport Layer Security (TLS) é um protocolo criptográfico que fornece segurança de comunicação em uma rede de computadores. O TLS é usado em aplicativos como navegação na web, e-mail, envio de fax pela Internet, mensagens instantâneas e voz sobre IP (VoIP). Os sites podem usar TLS para proteger todas as comunicações entre seus servidores e navegadores da web. O TLS é baseado em especificações de Secure Sockets Layer (SSL) anteriores.

O IPsec (Internet Protocol Security) é um conjunto de protocolos de rede que autentica e criptografa os pacotes de dados enviados pela rede. O IPsec inclui protocolos para estabelecer autenticação mútua entre agentes no início da sessão e negociação de chaves criptográficas a serem usadas durante a sessão.

Uma Rede Privada Virtual (VPN) estende uma rede privada por uma rede pública e permite que os usuários enviem e recebam dados por redes públicas ou compartilhadas como se seus dispositivos de computação estivessem diretamente conectados à rede privada. Os sistemas em cada extremidade do túnel VPN criptografam os dados que entram no túnel e os descriptografam na outra extremidade.

Um Blockchain é uma lista de registros em crescimento contínuo, chamados de blocos, que são vinculados e protegidos por criptografia. O primeiro blockchain foi implementado em 2009 como um componente central do bitcoin, onde funciona como livro-razão público para todas as transações. A invenção do blockchain para bitcoin tornou-o a primeira moeda digital a resolver o problema do duplo gasto sem a necessidade de uma autoridade confiável ou servidor central.

Etapa 8: Pílula preta STM32

STM32 Black Pill
STM32 Black Pill
STM32 Black Pill
STM32 Black Pill

A Black Pill é a mais recente placa de comprimidos STM32. É uma variante melhorada da pílula azul comum e da pílula vermelha menos comum.

A Black Pill apresenta o microcontrolador STM32F103C8T6 ARM M3 de 32 bits (ficha técnica), um conector ST-Link de quatro pinos, uma porta MicroUSB e um LED do usuário no PB12. O resistor pull-up correto no PA12 vem instalado para a operação correta da porta USB. Este pull-up normalmente exigia uma modificação da placa em outras pranchas de comprimidos.

Embora semelhante em aparência ao Arduino Nano típico, o Black Pill é muito mais poderoso. O microcontrolador STM32F103C8T6 ARM de 32 bits pode operar a 72 MHz. Pode realizar multiplicação de ciclo único e divisão de hardware. Possui 64 Kbytes de memória Flash e 20 Kbytes de SRAM.

Etapa 9: Atualizando o Black Pill com Arduino IDE e STLink

Atualizando a pílula preta com IDE Arduino e STLink
Atualizando a pílula preta com IDE Arduino e STLink

Se você não tiver um IDE Arduino recente instalado, faça o download aqui.

Em seguida, obtenha o repositório Arduino_STM32 de Roger Clark. Isso inclui os arquivos de hardware para suportar placas STM32 no Arduino IDE 1.8.x. Se você fizer o download manualmente, certifique-se de que Arduino_STM32-master.zip seja descompactado na pasta de “hardware” do IDE do Arduino. Observe que existe um fórum de suporte para este pacote.

Conecte os fios de jumper STLink conforme mostrado aqui.

Execute o IDE Arduino e selecione estas opções em Ferramentas:

Placa: Série STM32F103C genérica Variante: STM32F103C8 (20k RAM. 64k Flash) Velocidade da CPU (MHz): "72MHz (Normal)" Método de upload: "STLink"

Abra os exemplos de arquivo> básico> blink Altere todas as três instâncias de "LED_BUILTIN" para PB12; acerte a seta "upload" (o LED no STLink piscará durante o upload)

Este esboço carregado piscará o LED do usuário no Black Pill ligado e desligado a cada segundo. Em seguida, altere o valor nas duas declarações de atraso (1000) de 1000 a 100 e carregue novamente. O LED deve piscar dez vezes mais rápido agora. Este é o nosso exercício "Hello World" padrão para nos certificarmos de que podemos compilar um programa simples e carregá-lo no quadro de destino.

Etapa 10: Comprimido Duckie

Pill Duckie
Pill Duckie

O Pill Duck é um dispositivo USB HID programável usando um STM32. Claro, por que não?

Etapa 11: Display TFT

Display TFT
Display TFT

A tela de cristal líquido com transistor de filme fino (TFT LCD) é uma variante de uma tela de cristal líquido (LCD) que usa a tecnologia de transistor de filme fino para melhorar as qualidades de imagem, como endereçabilidade e contraste. Um LCD TFT é um LCD de matriz ativa, em contraste com LCDs de matriz passiva ou LCDs simples de acionamento direto com alguns segmentos.

Este monitor TFT colorido mede 2,4 polegadas e tem uma resolução de 240x320.

O controlador é um ILI9341 (folha de dados), que pode ser conectado ao STM32 por meio de um barramento de interface periférica serial (SPI) de acordo com o diagrama de fiação mostrado aqui.

Para testar a exibição, carregue o esboço de:

exemplos> Adafruit_ILI9341_STM> stm32_graphicstest

Modifique os três pinos de controle definidos da seguinte forma:

# define TFT_CS PA1 # define TFT_DC PA3 # define TFT_RST PA2

Observe que o exemplo de teste gráfico é executado muito rapidamente devido ao desempenho aprimorado do STM32 em relação ao microcontrolador Arduino AVR tradicional.

Etapa 12: entrada de matriz do teclado

Entrada de matriz do teclado
Entrada de matriz do teclado

Conecte o teclado de matriz 4x4 conforme mostrado e carregue o TFT_Keypad de esboço em anexo. Este exemplo lê o teclado e exibe a tecla na tela. Observe que este exemplo simples de leitura do teclado está bloqueando porque usou a função delay (). Isso pode ser melhorado mudando para um modelo controlado por polling ou interrupção.

Montar o teclado e o display TFT junto com o Black Pill na placa de ensaio sem solda ou no protoboard verde faz uma boa "plataforma de computação" com entrada e display.

Etapa 13: Desafio do Código de Máquina Enigma

Image
Image
Autenticação de dois fatores - Chave de segurança zero U2F
Autenticação de dois fatores - Chave de segurança zero U2F

As Enigma Machines eram máquinas de cifras de rotor eletromecânicas desenvolvidas e usadas do início a meados do século XX. Eles foram adotados por militares e serviços governamentais de vários países, principalmente da Alemanha nazista. As forças armadas alemãs acreditavam que suas comunicações criptografadas com a Enigma eram impenetráveis para os Aliados. Mas milhares de decifradores - baseados em cabanas de madeira no Bletchley Park, na Grã-Bretanha - tinham outras idéias.

O desafio de codificação deste mês é transformar a "plataforma de computação" em sua própria Máquina Enigma.

Já implementamos exemplos para entradas de teclado e saídas de exibição.

Aqui estão alguns exemplos de configurações e cálculos entre as entradas e saídas:

ENIGMuino

Open Enigma

Simulador Arduino Enigma

Pode ser instruído pela ST-Geotronics

Etapa 14: autenticação de dois fatores - chave de segurança zero U2F

A autenticação de dois fatores (também conhecida como 2FA) é um método de confirmação da identidade declarada de um usuário, utilizando uma combinação de dois fatores diferentes: 1) algo que ele sabe, 2) algo que ele possui ou 3) algo que ele é. Um bom exemplo de autenticação de dois fatores é o saque de dinheiro de um caixa eletrônico, onde apenas a combinação correta de um cartão bancário (algo que o usuário possui) e um PIN (algo que o usuário conhece) permite que a transação seja realizada.

Universal 2nd Factor (U2F) é um padrão de autenticação aberto que fortalece e simplifica a autenticação de dois fatores usando dispositivos USB ou NFC especializados baseados em tecnologia de segurança semelhante encontrada em cartões inteligentes. As chaves de segurança U2F são suportadas pelo Google Chrome desde a versão 38 e Opera desde a versão 40. As chaves de segurança U2F podem ser usadas como um método adicional de verificação em duas etapas em serviços online que suportam o protocolo U2F, incluindo Google, Dropbox, GitHub, GitLab, Bitbucket, Nextcloud, Facebook e outros.

O U2F Zero é um token U2F de código aberto para autenticação de dois fatores. Ele apresenta o coprocessador criptográfico Microchip ATECC508A, que oferece suporte a:

  • Armazenamento de chaves baseado em hardware seguro
  • Algoritmos de chave pública de alta velocidade (PKI)
  • ECDSA: Algoritmo de assinatura digital de curva elíptica FIPS186-3
  • ECDH: Algoritmo Diffie-Hellman da curva elíptica FIPS SP800-56A
  • Suporte para curva elíptica padrão NIST P256
  • Algoritmo de hash SHA-256 com opção HMAC
  • Armazenamento para até 16 chaves - comprimento de chave de 256 bits
  • Número de série exclusivo de 72 bits
  • Gerador de número aleatório FIPS (RNG)

Etapa 15: Kit de Desafio de Solda

Soldering Challenge Kit
Soldering Challenge Kit
Soldering Challenge Kit
Soldering Challenge Kit
Soldering Challenge Kit
Soldering Challenge Kit

Se você está pronto para um desafio sério de soldagem, pode construir sua própria Chave Zero U2F.

Kit U2F Zero Soldering Challenge:

  • PCB de token zero U2F
  • Microcontrolador 8051 Core (E0) EFM8UB11F16G
  • Elemento Seguro (A1) ATECC508A
  • LED de status (RGB1) 0603 ânodo comum
  • Diodo de proteção Zener ESD (Z1) SOT553
  • Resistor de 100 Ohm (R1) 0603
  • Capacitor de desvio de 4,7 uF (C4) 0603
  • Capacitor de desvio de 0,1 uF (C3) 0403
  • Botão tátil momentâneo (SW1)
  • Chaveiro Split-Ring

Observe que existem dois componentes de tamanho 0603. Eles são muito semelhantes, mas um exame cuidadoso revelará que R1 é preto e C4 é castanho. Observe também que E0, A1 e RGB1 têm orientações necessárias conforme indicado na serigrafia PCB.

O U2F Zero Wiki mostra os detalhes para a programação do Microcontrolador.

NOTA DE DESAFIO: Cada HackerBox # 0027 inclui dois kits de Desafio de Soldagem exatamente porque a soldagem é muito difícil e acidentes acontecem. Não fique frustrado. Use uma grande ampliação, uma pinça, um bom ferro, fluxo de solda e mova-se muito devagar e com cuidado. Se você não consegue soldar este kit com sucesso, você definitivamente não está sozinho. Mesmo que nunca funcione, é uma boa prática de soldagem em uma variedade de pacotes SMT.

Você pode querer verificar este episódio do Ben Heck Show em Surface Mount Soldering.

Etapa 16: HACK THE PLANET

HACK THE PLANET
HACK THE PLANET

Se você gostou deste Instrucable e gostaria de ter uma caixa de projetos eletrônicos e de tecnologia de informática como este entregue diretamente em sua caixa de correio a cada mês, junte-se à revolução do HackerBox ASSINANDO AQUI.

Entre em contato e compartilhe seu sucesso nos comentários abaixo ou na página do HackerBoxes no Facebook. Certamente, deixe-nos saber se você tiver alguma dúvida ou precisar de ajuda com alguma coisa. Obrigado por fazer parte do HackerBoxes. Por favor, continue enviando suas sugestões e comentários. HackerBoxes são SUAS caixas. Vamos fazer algo ótimo!

Recomendado: