Sommario:

HackerBox 0027: Cypherpunk: 16 passaggi
HackerBox 0027: Cypherpunk: 16 passaggi

Video: HackerBox 0027: Cypherpunk: 16 passaggi

Video: HackerBox 0027: Cypherpunk: 16 passaggi
Video: Hackerboxes 0027: Cypherpunk 2024, Novembre
Anonim
HackerBox 0027: Cypherpunk
HackerBox 0027: Cypherpunk

Cypherpunk - Questo mese, gli hacker di HackerBox stanno esplorando la privacy e la crittografia. Questo Instructable contiene informazioni per lavorare con HackerBox #0027, che puoi raccogliere qui fino ad esaurimento scorte. Inoltre, se desideri ricevere un HackerBox come questo direttamente nella tua casella di posta ogni mese, iscriviti a HackerBoxes.com e unisciti alla rivoluzione!

Argomenti e obiettivi di apprendimento per HackerBox 0027:

  • Comprendere le importanti implicazioni sociali della privacy
  • Proteggi le telecamere sui dispositivi elettronici personali
  • Esplora la storia e la matematica della crittografia
  • Contestualizzare il software crittografico comune
  • Configurare una scheda "Black Pill" del processore ARM STM32
  • Programma STM32 Black Pill usando l'IDE Arduino
  • Integra una tastiera e un display TFT con la pillola nera
  • Funzionalità di replica della macchina Enigma della seconda guerra mondiale
  • Comprendere l'autenticazione a più fattori
  • Affronta la sfida della saldatura per costruire un token USB U2F Zero

HackerBoxes è il servizio di box in abbonamento mensile per l'elettronica fai da te e la tecnologia informatica. Siamo hobbisti, maker e sperimentatori. Siamo i sognatori dei sogni. HACK IL PIANETA!

Passaggio 1: HackerBox 0027: Contenuto della confezione

HackerBox 0027: contenuto della confezione
HackerBox 0027: contenuto della confezione
  • HackerBoxes #0027 Scheda di riferimento da collezione
  • Modulo Black Pill STM32F103C8T6
  • Programmatore USB STLink V2
  • Display TFT a colori da 2,4 pollici - 240x320 pixel
  • Tastiera a matrice 4x4
  • Tagliere senza saldatura a 830 punti
  • Kit ponticelli a filo da 140 pezzi
  • Due kit U2F Zero Soldering Challenge
  • PCB di prototipazione verde grande 9x15 cm
  • Esclusivi blocca spia in vinile GawkStop
  • Esclusiva copertura magnetica girevole in alluminio per webcam
  • Patch EFF esclusiva
  • Decalcomania del tasso di privacy
  • Decalcomania Tor

Alcune altre cose che saranno utili:

  • Saldatore, saldatore e strumenti di saldatura di base
  • Lente d'ingrandimento e pinzette per la sfida della saldatura SMT
  • Computer per l'esecuzione di strumenti software

Soprattutto, avrai bisogno di un senso di avventura, spirito fai-da-te e curiosità da hacker. L'elettronica fai-da-te hardcore non è una ricerca banale e non la stiamo annacquando per te. L'obiettivo è il progresso, non la perfezione. Quando persisti e ti godi l'avventura, una grande soddisfazione può derivare dall'apprendimento di nuove tecnologie e, si spera, dal far funzionare alcuni progetti. Ti suggeriamo di fare ogni passo lentamente, prestando attenzione ai dettagli e non aver paura di chiedere aiuto.

Nota che c'è una grande quantità di informazioni per i membri attuali e potenziali nelle FAQ di HackerBox.

Fase 2: Cypherpunk

Cypherpunks
Cypherpunks

A Cypherpunk [wikipedia] è un attivista che sostiene l'uso diffuso della crittografia avanzata e delle tecnologie che migliorano la privacy come via per il cambiamento sociale e politico. Comunicando originariamente attraverso la mailing list elettronica Cypherpunks, i gruppi informali miravano a raggiungere la privacy e la sicurezza attraverso l'uso proattivo della crittografia. I Cypherpunk sono stati impegnati in un movimento attivo dalla fine degli anni '80.

Alla fine del 1992, Eric Hughes, Timothy C. May e John Gilmore fondarono un piccolo gruppo che si incontrava mensilmente presso l'azienda di Gilmore Cygnus Solutions nell'area della baia di San Francisco, e che Jude Milhon chiamava cypherpunk in uno dei primi incontri - derivato da cifrario e cyberpunk. Nel novembre 2006, la parola "cypherpunk" è stata aggiunta all'Oxford English Dictionary.

Le idee di base possono essere trovate in A Cypherpunk's Manifesto (Eric Hughes, 1993): "La privacy è necessaria per una società aperta nell'era elettronica… Non possiamo aspettarci che governi, aziende o altre grandi organizzazioni senza volto ci garantiscano la privacy… dobbiamo difendere la nostra privacy se ci aspettiamo di averne… I Cypherpunk scrivono codice. Sappiamo che qualcuno deve scrivere software per difendere la privacy, e… lo scriveremo." Alcuni cypherpunk degni di nota sono, o erano, personale senior di importanti aziende tecnologiche, università e altre sono ben note organizzazioni di ricerca.

Fase 3: Electronic Frontier Foundation (EFF)

Fondazione Frontiera Elettronica (EFF)
Fondazione Frontiera Elettronica (EFF)

L'EFF [wikipedia] è un gruppo internazionale per i diritti digitali senza scopo di lucro con sede a San Francisco, in California. La fondazione è stata costituita nel luglio 1990 da John Gilmore, John Perry Barlow e Mitch Kapor per promuovere le libertà civili su Internet.

L'EFF fornisce fondi per la difesa legale in tribunale, presenta memorie amicus curiae, difende gli individui e le nuove tecnologie da ciò che considera minacce legali abusive, lavora per esporre illeciti del governo, fornisce indicazioni al governo e ai tribunali, organizza azioni politiche e invii di massa, supporta alcune nuove tecnologie che a suo avviso preservano le libertà personali e le libertà civili online, mantiene un database e siti web di notizie e informazioni correlate, monitora e sfida la potenziale legislazione che ritiene possa violare le libertà personali e l'uso corretto e sollecita un elenco di ciò che considera abusivi i brevetti con l'intento di vanificare quelli che ritiene privi di merito. EFF fornisce anche suggerimenti, strumenti, istruzioni, tutorial e software per comunicazioni online più sicure.

HackerBoxes è orgoglioso di essere uno dei principali donatori della Electronic Frontier Foundation. Incoraggiamo vivamente chiunque e tutti a fare clic qui e mostrare il proprio sostegno a questo gruppo no-profit di importanza cruciale che protegge la privacy digitale e la libertà di espressione. Il lavoro legale di interesse pubblico, l'attivismo e gli sforzi di sviluppo software di EFF cercano di preservare i nostri diritti fondamentali nel mondo digitale. EFF è un'organizzazione non profit statunitense 501(c)(3) e le tue donazioni potrebbero essere deducibili dalle tasse.

Passaggio 4: progetti EFF degni di nota

Progetti EFF degni di nota
Progetti EFF degni di nota

Privacy Badger è un componente aggiuntivo del browser che impedisce agli inserzionisti e ad altri tracker di terze parti di monitorare segretamente dove vai e quali pagine guardi sul web. Se un inserzionista sembra seguirti su più siti Web senza la tua autorizzazione, Privacy Badger impedisce automaticamente a tale inserzionista di caricare altri contenuti nel tuo browser. Per l'inserzionista, è come se fossi improvvisamente scomparso.

La neutralità della rete è l'idea che i fornitori di servizi Internet (ISP) dovrebbero trattare tutti i dati che viaggiano sulle loro reti in modo equo, senza discriminazioni improprie a favore di particolari app, siti o servizi. È un principio che deve essere sostenuto per proteggere il futuro della nostra Internet aperta.

Security Education Companion è una nuova risorsa per le persone che desiderano aiutare le proprie comunità a conoscere la sicurezza digitale. La necessità di una solida sicurezza digitale personale cresce ogni giorno. Dai gruppi di base alle organizzazioni della società civile ai singoli membri dell'EFF, le persone di tutta la nostra comunità stanno esprimendo la necessità di materiali educativi sulla sicurezza accessibili da condividere con i loro amici, vicini e colleghi.

Onion Router (Tor) consente ai suoi utenti di navigare in Internet, chattare e inviare messaggi istantanei in modo anonimo. Tor è un software libero e una rete aperta che aiuta a difendersi dall'analisi del traffico, una forma di sorveglianza della rete che minaccia la libertà personale e la privacy, le attività e le relazioni commerciali riservate e la sicurezza dello stato.

Passaggio 5: proteggi le tue fotocamere

Proteggi le tue fotocamere
Proteggi le tue fotocamere

Secondo WIRED Magazine, "gli strumenti di spionaggio, siano essi progettati da agenzie di intelligence, criminali informatici o criminali di Internet, possono accendere la videocamera senza illuminare la spia luminosa". [CABLATO]

Mentre prestava servizio come direttore dell'FBI, James Comey ha tenuto un discorso sulla crittografia e sulla privacy. Ha commentato che mette un pezzo di nastro adesivo sull'obiettivo della webcam sul suo laptop. [NATIONAL PUBLIC RADIO, RADIO PUBBLICA]

Mark Zuckerberg ha fatto notizia quando il pubblico ha notato che segue la stessa pratica. [TEMPO]

HackerBox #0027 presenta una collezione di blocchi spia GAWK STOP in vinile personalizzati e una copertura per webcam magnetica in alluminio.

Passaggio 6: crittografia

Crittografia
Crittografia

La crittografia [wikipedia] è la pratica e lo studio di tecniche per la comunicazione sicura in presenza di terzi chiamati avversari. La crittografia prima dell'età moderna era effettivamente sinonimo di crittografia, la conversione delle informazioni da uno stato leggibile a un'apparente assurdità. L'autore di un messaggio crittografato ha condiviso la tecnica di decodifica necessaria per recuperare le informazioni originali solo con i destinatari previsti, impedendo così alle persone indesiderate di fare lo stesso. La letteratura sulla crittografia usa spesso il nome Alice ("A") per il mittente, Bob ("B") per il destinatario previsto ed Eve ("intercettatore") per l'avversario. Dallo sviluppo delle macchine per la cifratura a rotore nella prima guerra mondiale e l'avvento dei computer nella seconda guerra mondiale, i metodi utilizzati per eseguire la crittografia sono diventati sempre più complessi e la sua applicazione più diffusa. La crittografia moderna è fortemente basata sulla teoria matematica. Gli algoritmi crittografici sono progettati attorno a ipotesi di durezza computazionale, rendendo tali algoritmi difficili da violare da parte di qualsiasi avversario.

Ci sono molte risorse online per saperne di più sulla crittografia. Ecco alcuni punti di partenza:

Il viaggio nella crittografia alla Khan Academy è un'eccellente serie di video, articoli e attività.

La Stanford University ha un corso di crittografia online gratuito.

Bruce Schneier ha pubblicato un collegamento a una copia online del suo libro classico, Applied Cryptography. Il testo fornisce una panoramica completa della crittografia moderna. Descrive decine di algoritmi crittografici e fornisce consigli pratici su come implementarli.

Passaggio 7: software crittografico comune

Software crittografico comune
Software crittografico comune

Da un punto di vista pratico, ci sono alcune applicazioni specifiche della crittografia di cui dovremmo essere a conoscenza:

Pretty Good Privacy (PGP) è un programma di crittografia che fornisce privacy crittografica e autenticazione per i dati archiviati. PGP viene utilizzato per firmare, crittografare e decrittografare testo, e-mail, file, directory e persino intere partizioni del disco.

Transport Layer Security (TLS) è un protocollo crittografico che fornisce sicurezza di comunicazione su una rete di computer. TLS viene utilizzato in applicazioni quali navigazione Web, e-mail, fax Internet, messaggistica istantanea e Voice over IP (VoIP). I siti Web sono in grado di utilizzare TLS per proteggere tutte le comunicazioni tra i propri server e browser Web. TLS si basa sulle precedenti specifiche SSL (Secure Sockets Layer).

Internet Protocol Security (IPsec) è una suite di protocolli di rete che autentica e crittografa i pacchetti di dati inviati su una rete. IPsec include protocolli per stabilire l'autenticazione reciproca tra gli agenti all'inizio della sessione e la negoziazione delle chiavi crittografiche da utilizzare durante la sessione.

Una rete privata virtuale (VPN) estende una rete privata su una rete pubblica e consente agli utenti di inviare e ricevere dati su reti condivise o pubbliche come se i loro dispositivi informatici fossero collegati direttamente alla rete privata. I sistemi a ciascuna estremità del tunnel VPN crittografano i dati che entrano nel tunnel e li decrittografano all'altra estremità.

Una Blockchain è un elenco in continua crescita di record, chiamati blocchi, che sono collegati e protetti utilizzando la crittografia. La prima blockchain è stata implementata nel 2009 come componente principale di bitcoin, dove funge da registro pubblico per tutte le transazioni. L'invenzione della blockchain per bitcoin ne ha fatto la prima valuta digitale a risolvere il problema della doppia spesa senza la necessità di un'autorità fidata o di un server centrale.

Passaggio 8: pillola nera STM32

STM32 pillola nera
STM32 pillola nera
STM32 pillola nera
STM32 pillola nera

La pillola nera è l'ultima pillola STM32. È una variante migliorata della comune pillola blu e della meno comune pillola rossa.

Black Pill presenta il microcontrollore STM32F103C8T6 ARM M3 a 32 bit (scheda tecnica), un'intestazione ST-Link a quattro pin, una porta MicroUSB e un LED utente su PB12. La corretta resistenza di pull-up su PA12 viene installata per il corretto funzionamento della porta USB. Questo pull-up richiedeva in genere una modifica della scheda su altre Pill Board.

Sebbene simile nell'aspetto al tipico Arduino Nano, Black Pill è molto più potente. Il microcontrollore ARM STM32F103C8T6 a 32 bit può funzionare a 72 MHz. Può eseguire la moltiplicazione a ciclo singolo e la divisione dell'hardware. Dispone di 64 Kbyte di memoria Flash e 20 Kbyte di SRAM.

Passaggio 9: lampeggiare la pillola nera con Arduino IDE e STLink

Lampeggiare la pillola nera con Arduino IDE e STLink
Lampeggiare la pillola nera con Arduino IDE e STLink

Se non hai un IDE Arduino recente installato, scaricalo qui.

Quindi, ottieni il repository Arduino_STM32 di Roger Clark. Ciò include i file hardware per supportare le schede STM32 su Arduino IDE 1.8.x. Se lo scarichi manualmente, assicurati che Arduino_STM32-master.zip venga decompresso nella cartella "hardware" dell'IDE di Arduino. Nota che esiste un forum di supporto per questo pacchetto.

Collegare i cavi del ponticello STLink come mostrato qui.

Esegui l'IDE Arduino e seleziona queste opzioni in Strumenti:

Scheda: generica serie STM32F103C Variante: STM32F103C8 (20 k RAM. 64 k flash) Velocità CPU (MHz): "72 MHz (normale)" Metodo di caricamento: "STLink"

Apri gli esempi di file> basi> lampeggioCambia tutte e tre le istanze di "LED_BUILTIN" in PB12Premi la freccia "caricamento" (il LED su STLink lampeggerà durante il caricamento)

Questo schizzo caricato farà lampeggiare il LED utente sulla pillola nera ogni secondo. Quindi, cambia il valore nelle due istruzioni delay(1000) da 1000 a 100 e carica di nuovo. Il LED dovrebbe lampeggiare dieci volte più velocemente ora. Questo è il nostro esercizio standard "Hello World" per assicurarci di poter compilare un semplice programma e caricarlo sulla scheda di destinazione.

Passaggio 10: Pill Duckie

Pillola Duckie
Pillola Duckie

Pill Duck è un dispositivo HID USB programmabile tramite script che utilizza un STM32. Certo, perché no?

Passaggio 11: display TFT

Display TFT
Display TFT

Il display a cristalli liquidi a transistor a film sottile (TFT LCD) è una variante di un display a cristalli liquidi (LCD) che utilizza la tecnologia a transistor a film sottile per migliorare le qualità dell'immagine come l'indirizzabilità e il contrasto. Un LCD TFT è un LCD a matrice attiva, a differenza degli LCD a matrice passiva o dei semplici LCD a trasmissione diretta con pochi segmenti.

Questo display TFT a colori misura 2,4 pollici e ha una risoluzione di 240x320.

Il controller è un ILI9341 (scheda tecnica), che può connettersi all'STM32 tramite un bus SPI (Serial Peripheral Interface) secondo lo schema di cablaggio mostrato qui.

Per testare il display, caricare lo schizzo da:

esempi > Adafruit_ILI9341_STM > stm32_graphicstest

Modifica le tre definizioni dei pin di controllo in questo modo:

#definire TFT_CS PA1#definire TFT_DC PA3#definire TFT_RST PA2

Si noti che l'esempio del test grafico viene eseguito molto rapidamente grazie alle prestazioni migliorate dell'STM32 rispetto al tradizionale microcontrollore Arduino AVR.

Passaggio 12: ingresso matrice da tastiera

Ingresso matrice da tastiera
Ingresso matrice da tastiera

Collegare la tastiera a matrice 4x4 come mostrato e caricare lo schizzo TFT_Keypad allegato. Questo esempio legge la tastiera e visualizza la chiave sullo schermo. Nota che questo semplice esempio per leggere la tastiera è bloccante perché usa la funzione delay(). Questo potrebbe essere migliorato passando a un modello basato su polling o interrupt.

L'assemblaggio della tastiera e del display TFT insieme alla pillola nera sulla breadboard senza saldatura o sulla scheda prototipi verde crea una bella "piattaforma di elaborazione" con input e display.

Passaggio 13: Enigma Machine Code Challenge

Image
Image
Autenticazione a due fattori - Chiave di sicurezza zero U2F
Autenticazione a due fattori - Chiave di sicurezza zero U2F

Le macchine Enigma erano macchine di cifratura a rotore elettromeccaniche sviluppate e utilizzate tra l'inizio e la metà del XX secolo. Sono stati adottati dai servizi militari e governativi di diversi paesi, in particolare la Germania nazista. Le forze armate tedesche credevano che le loro comunicazioni crittografate da Enigma fossero impenetrabili per gli Alleati. Ma migliaia di decodificatori - con sede in capanne di legno a Bletchley Park in Gran Bretagna - avevano altre idee.

La sfida di programmazione di questo mese è trasformare la "piattaforma di elaborazione" nella tua Enigma Machine.

Abbiamo già implementato esempi per ingressi da tastiera e uscite display.

Ecco alcuni esempi per le impostazioni e i calcoli tra gli ingressi e le uscite:

ENIGMuino

Enigma aperto

Simulatore di enigma Arduino

Insegnabile da ST-Geotronics

Passaggio 14: Autenticazione a due fattori - Chiave di sicurezza zero U2F

L'autenticazione a due fattori (nota anche come 2FA) è un metodo per confermare l'identità dichiarata di un utente utilizzando una combinazione di due diversi fattori: 1) qualcosa che sanno, 2) qualcosa che hanno o 3) qualcosa che sono. Un buon esempio di autenticazione a due fattori è il prelievo di denaro da un bancomat, dove solo la corretta combinazione di una carta bancaria (qualcosa che l'utente possiede) e un PIN (qualcosa che l'utente conosce) permette di effettuare la transazione.

Universal 2nd Factor (U2F) è uno standard di autenticazione aperto che rafforza e semplifica l'autenticazione a due fattori utilizzando dispositivi USB o NFC specializzati basati su una tecnologia di sicurezza simile presente nelle smart card. I token di sicurezza U2F sono supportati da Google Chrome dalla versione 38 e da Opera dalla versione 40. I token di sicurezza U2F possono essere utilizzati come metodo aggiuntivo di verifica in due passaggi sui servizi online che supportano il protocollo U2F, inclusi Google, Dropbox, GitHub, GitLab, Bitbucket, Nextcloud, Facebook e altri.

U2F Zero è un token U2F open source per l'autenticazione a due fattori. È dotato del coprocessore crittografico Microchip ATECC508A, che supporta:

  • Archiviazione sicura delle chiavi basata su hardware
  • Algoritmi a chiave pubblica ad alta velocità (PKI)
  • ECDSA: Algoritmo di firma digitale a curva ellittica FIPS186-3
  • ECDH: Algoritmo Diffie-Hellman della curva ellittica FIPS SP800-56A
  • Supporto per curva ellittica standard P256 NIST
  • Algoritmo hash SHA-256 con opzione HMAC
  • Memoria per un massimo di 16 chiavi - Lunghezza chiave a 256 bit
  • Numero di serie univoco a 72 bit
  • Generatore di numeri casuali FIPS (RNG)

Passaggio 15: kit sfida saldatura

Kit sfida saldatura
Kit sfida saldatura
Kit sfida saldatura
Kit sfida saldatura
Kit sfida saldatura
Kit sfida saldatura

Se sei pronto per una seria sfida di saldatura, puoi costruire la tua U2F Zero Key.

Kit U2F Zero Saldatura Challenge:

  • PCB Zero Token U2F
  • Microcontrollore 8051 Core (E0) EFM8UB11F16G
  • Elemento di sicurezza (A1) ATECC508A
  • LED di stato (RGB1) 0603 Anodo comune
  • Diodo Zener di protezione ESD (Z1) SOT553
  • Resistenza da 100 Ohm (R1) 0603
  • Condensatore di bypass da 4,7 uF (C4) 0603
  • Condensatore di bypass da 0,1 uF (C3) 0403
  • Pulsante tattile momentaneo (SW1)
  • Portachiavi ad anello diviso

Notare che ci sono due componenti di dimensioni 0603. Sembrano abbastanza simili, ma un attento esame rivelerà che R1 è nero e C4 è marrone chiaro. Si noti inoltre che E0, A1 e RGB1 hanno gli orientamenti richiesti come indicato sulla serigrafia del PCB.

Il Wiki U2F Zero mostra i dettagli per la programmazione del Microcontrollore.

NOTA DELLA SFIDA: Ogni HackerBox #0027 include due kit Soldering Challenge proprio perché la saldatura è molto difficile e si verificano incidenti. Non essere frustrato. Usa un ingrandimento elevato, una pinzetta, un buon ferro da stiro, un flusso di saldatura e muoviti molto lentamente e con attenzione. Se non riesci a saldare con successo questo kit, non sei sicuramente il solo. Anche se non funziona mai, è una buona pratica di saldatura su una varietà di pacchetti SMT.

Potresti voler dare un'occhiata a questo episodio del Ben Heck Show sulla saldatura a montaggio superficiale.

Passaggio 16: HACK IL PIANETA

HACK IL PIANETA
HACK IL PIANETA

Se ti è piaciuto questo Instrucable e desideri ricevere una scatola di progetti elettronici e informatici come questo direttamente nella tua casella di posta ogni mese, per favore unisciti alla rivoluzione HackerBox ISCRIVENDOTI QUI.

Raggiungi e condividi il tuo successo nei commenti qui sotto o sulla pagina Facebook di HackerBoxes. Certamente fateci sapere se avete domande o avete bisogno di aiuto con qualsiasi cosa. Grazie per essere parte di HackerBoxes. Si prega di mantenere i vostri suggerimenti e feedback in arrivo. Gli HackerBox sono le TUE scatole. Facciamo qualcosa di grande!

Consigliato: