Cuprins:

HackerBox 0027: Cypherpunk: 16 pași
HackerBox 0027: Cypherpunk: 16 pași
Anonim
HackerBox 0027: Cypherpunk
HackerBox 0027: Cypherpunk

Cypherpunk - Luna aceasta, hackerii HackerBox explorează confidențialitatea și criptografia. Acest instructable conține informații pentru lucrul cu HackerBox # 0027, pe care le puteți ridica aici până la epuizarea stocurilor. De asemenea, dacă doriți să primiți un HackerBox de acest fel chiar în cutia poștală în fiecare lună, vă rugăm să vă abonați la HackerBoxes.com și să vă alăturați revoluției!

Subiecte și obiective de învățare pentru HackerBox 0027:

  • Înțelegeți implicațiile sociale importante ale vieții private
  • Securizați camerele pe dispozitivele electronice personale
  • Explorează istoria și matematica criptografiei
  • Contextualizați software-ul criptografic obișnuit
  • Configurați o placă „Black Pill” a procesorului STM32 ARM
  • Programați STM32 Black Pill folosind Arduino IDE
  • Integrați o tastatură și un afișaj TFT cu pilula neagră
  • Replică funcționalitatea mașinii Enigma din al doilea război mondial
  • Înțelegeți autentificarea cu mai mulți factori
  • Faceți față provocării de lipire pentru a construi un Token USB U2F Zero

HackerBoxes este serviciul de cutie de abonament lunar pentru electronice DIY și tehnologie computerizată. Suntem pasionați, creatori și experimentatori. Suntem visătorii viselor. HACK PLANETA!

Pasul 1: HackerBox 0027: Conținutul cutiei

HackerBox 0027: Conținutul cutiei
HackerBox 0027: Conținutul cutiei
  • HackerBoxes # 0027 Card de referință de colecționat
  • Modulul Black Pill STM32F103C8T6
  • Programator USB STLink V2
  • Afișaj TFT full-color de 2,4 inci - 240x320 pixeli
  • Tastatură Matrix 4x4
  • 830 de puncte fără sudură
  • Set de jumper din sârmă de 140 de bucăți
  • Două truse de provocare U2F Zero Soldering
  • PCB mare de 9x15 cm verde Prototying
  • Exclusiv vinil GawkStop Spy Blockers
  • Capac exclusiv pentru cameră web rotativă magnetică din aluminiu
  • Patch EFF exclusiv
  • Decalcomanie Bursuc de confidențialitate
  • Tor Decal

Câteva alte lucruri care vă vor fi de ajutor:

  • Instrument de lipit, lipit și instrumente de lipit de bază
  • Lupă și pensete mici pentru provocarea lipirii SMT
  • Computer pentru rularea instrumentelor software

Cel mai important, veți avea nevoie de un sentiment de aventură, de spiritul DIY și de curiozitatea hackerilor. Electronica DIY hardcore nu este o urmărire banală și nu o umezim pentru dvs. Scopul este progresul, nu perfecțiunea. Când persistați și vă bucurați de aventură, o mulțime de satisfacții pot fi obținute din învățarea de noi tehnologii și, sperăm, că unele proiecte funcționează. Vă sugerăm să faceți fiecare pas încet, luând în considerare detaliile și să nu vă fie frică să cereți ajutor.

Rețineți că există o mulțime de informații pentru membrii actuali și potențiali din FAQ-ul HackerBox.

Pasul 2: Cypherpunks

Cypherpunks
Cypherpunks

Un Cypherpunk [wikipedia] este un activist care susține utilizarea pe scară largă a criptografiei puternice și a tehnologiilor de îmbunătățire a confidențialității ca o cale spre schimbări sociale și politice. Comunicând inițial prin intermediul listei de poștă electronică Cypherpunks, grupurile informale au urmărit atingerea confidențialității și securității prin utilizarea proactivă a criptografiei. Cypherpunks s-au angajat într-o mișcare activă de la sfârșitul anilor 1980.

La sfârșitul anului 1992, Eric Hughes, Timothy C. May și John Gilmore au fondat un grup mic care s-a întâlnit lunar la compania Gilmore Cygnus Solutions din San Francisco Bay Area și a fost numit cu umor de ciberpunks de Jude Milhon la una dintre primele întâlniri - derivat din cifru și ciberpunk. În noiembrie 2006, cuvântul „cypherpunk” a fost adăugat la Oxford English Dictionary.

Ideile de bază pot fi găsite în Manifestul unui Cypherpunk (Eric Hughes, 1993): „Confidențialitatea este necesară pentru o societate deschisă în era electronică … Nu ne putem aștepta ca guvernele, corporațiile sau alte organizații mari, fără chip, să ne acorde confidențialitate … trebuie să ne apărăm propria confidențialitate dacă ne așteptăm să avem vreunul … Cypherpunks scrie cod. Știm că cineva trebuie să scrie software pentru a apăra confidențialitatea și … o vom scrie. Unele cypherpunks notabile sunt, sau au fost, cadre superioare la marile companii de tehnologie, universități, iar altele sunt organizații de cercetare bine-cunoscute.

Pasul 3: Fundația Electronic Frontier (EFF)

Fundația Electronic Frontier (EFF)
Fundația Electronic Frontier (EFF)

EFF [wikipedia] este un grup internațional non-profit pentru drepturi digitale cu sediul în San Francisco, California. Fundația a fost formată în iulie 1990 de John Gilmore, John Perry Barlow și Mitch Kapor pentru a promova libertățile civile de pe internet.

FEP oferă fonduri pentru apărarea judiciară în instanță, prezintă rapoarte amicus curiae, apără indivizii și noile tehnologii de ceea ce consideră amenințări juridice abuzive, lucrează pentru a expune abuzurile guvernamentale, oferă îndrumări guvernului și instanțelor, organizează acțiuni politice și trimiteri în masă, susține unele tehnologii noi despre care consideră că păstrează libertățile personale și libertățile civile online, păstrează o bază de date și site-uri web cu știri și informații conexe, monitorizează și contestă legislația potențială pe care consideră că ar încălca libertățile personale și utilizarea corectă și solicită o listă cu ceea ce consideră brevete abuzive cu intenții de a le învinge pe cele pe care le consideră fără merit. EFF oferă, de asemenea, sfaturi, instrumente, instrucțiuni, tutoriale și software pentru comunicații online mai sigure.

HackerBoxes este mândru că este un donator major la Electronic Frontier Foundation. Încurajăm cu tărie pe oricine și pe toți să facă clic aici și să vă arate sprijinul pentru acest grup non-profit de o importanță crucială, care protejează confidențialitatea digitală și libera exprimare. Activitatea juridică, activismul și eforturile de dezvoltare a software-ului de interes public ale EFF urmăresc păstrarea drepturilor noastre fundamentale în lumea digitală. EFF este o organizație nonprofit din S. U. A. 501 (c) (3), iar donațiile dvs. pot fi deductibile din impozite.

Pasul 4: Proiecte EFF remarcabile

Proiecte EFF remarcabile
Proiecte EFF remarcabile

Privacy Badger este un program de completare pentru browser care îi împiedică pe agenții de publicitate și alți trackers terți să urmărească în secret unde vă duceți și ce pagini vă uitați pe web. Dacă un agent de publicitate pare să vă urmărească pe mai multe site-uri web fără permisiunea dvs., Privacy Badger blochează automat acel agent de publicitate să nu mai încarce conținut în browserul dvs. Pentru agentul de publicitate, parcă ai dispărut brusc.

Neutralitatea rețelei este ideea că furnizorii de servicii Internet (ISP) ar trebui să trateze corect toate datele care călătoresc prin rețelele lor, fără discriminare necorespunzătoare în favoarea anumitor aplicații, site-uri sau servicii. Este un principiu care trebuie respectat pentru a proteja viitorul internetului nostru deschis.

Security Education Companion este o nouă resursă pentru persoanele care ar dori să-și ajute comunitățile să învețe despre securitatea digitală. Nevoia de securitate digitală personală robustă crește în fiecare zi. De la grupuri populare la organizații ale societății civile până la membri individuali ai FEP, oamenii din întreaga comunitate își exprimă nevoia de materiale educaționale de securitate accesibile pentru a le împărtăși prietenilor, vecinilor și colegilor lor.

Onion Router (Tor) permite utilizatorilor să navigheze pe Internet, să chateze și să trimită mesaje instantanee în mod anonim. Tor este un software gratuit și o rețea deschisă care ajută la apărarea împotriva analizei traficului, o formă de supraveghere a rețelei care amenință libertatea personală și confidențialitatea, activitățile și relațiile confidențiale de afaceri și securitatea statului.

Pasul 5: securizați-vă camerele

Asigurați-vă camerele
Asigurați-vă camerele

Potrivit revistei WIRED, „instrumentele de spionaj, indiferent dacă sunt proiectate de agenții de informații, escroci cibernetici sau târâți pe internet, vă pot porni camera fără a aprinde indicatorul luminos”. [WIRED]

În timpul funcției de director al FBI, James Comey a ținut un discurs despre criptare și confidențialitate. El a comentat că pune o bucată de bandă peste obiectivul camerei web de pe laptop. [NPR]

Mark Zuckerberg a făcut știri când publicul a observat că urmează aceeași practică. [TIMP]

HackerBox # 0027 dispune de o colecție de blocanți de spionaj GAWK STOP din vinil personalizați, precum și un capac de cameră web din aluminiu cu rotire magnetică.

Pasul 6: Criptografie

Criptografie
Criptografie

Criptografia [wikipedia] este practica și studiul tehnicilor de comunicare sigură în prezența unor terți numiți adversari. Criptografia înainte de epoca modernă era efectiv sinonimă cu criptarea, conversia informațiilor dintr-o stare lizibilă în prostii aparente. Creatorul unui mesaj criptat a împărtășit tehnica de decodare necesară pentru a recupera informațiile originale numai destinatarilor intenționați, împiedicând astfel persoanele nedorite să facă același lucru. Literatura de criptografie folosește deseori numele Alice („A”) pentru expeditor, Bob („B”) pentru destinatarul dorit și Eva („ascultător”) pentru adversar. De la dezvoltarea mașinilor de cifrat cu rotor în Primul Război Mondial și apariția computerelor în Al Doilea Război Mondial, metodele utilizate pentru efectuarea criptologiei au devenit din ce în ce mai complexe, iar aplicarea sa este mai răspândită. Criptografia modernă se bazează puternic pe teoria matematică. Algoritmii criptografici sunt concepuți în jurul unor ipoteze de duritate de calcul, făcând astfel de algoritmi greu de rupt de către orice adversar.

Există multe resurse online pentru a afla mai multe despre criptografie. Iată câteva puncte de plecare:

Călătoria în criptografie de la Khan Academy este o serie excelentă de videoclipuri, articole și activități.

Universitatea Stanford are un curs online gratuit de criptografie.

Bruce Schneier a postat un link către o copie online a cărții sale clasice, Criptografie aplicată. Textul oferă o analiză cuprinzătoare a criptografiei moderne. Descrie zeci de algoritmi criptografici și oferă sfaturi practice despre cum să le implementăm.

Pasul 7: Software criptografic comun

Software criptografic comun
Software criptografic comun

Din punct de vedere practic, există câteva aplicații specifice ale criptografiei de care ar trebui să fim conștienți:

Pretty Good Privacy (PGP) este un program de criptare care oferă confidențialitate criptografică și autentificare pentru datele stocate. PGP este utilizat pentru semnarea, criptarea și decriptarea textului, a e-mailurilor, a fișierelor, a directoarelor și chiar a întregii partiții de disc.

Transport Layer Security (TLS) este un protocol criptografic care asigură securitatea comunicațiilor pe o rețea de calculatoare. TLS este utilizat în aplicații precum navigarea pe web, e-mail, fax prin Internet, mesagerie instantanee și voce peste IP (VoIP). Site-urile web pot utiliza TLS pentru a asigura toate comunicațiile dintre serverele lor și browserele web. TLS este construit pe baza specificațiilor anterioare Secure Sockets Layer (SSL).

Internet Protocol Security (IPsec) este o suită de protocol de rețea care autentifică și criptează pachetele de date trimise printr-o rețea. IPsec include protocoale pentru stabilirea autentificării reciproce între agenți la începutul sesiunii și negocierea cheilor criptografice de utilizat în timpul sesiunii.

O rețea privată virtuală (VPN) extinde o rețea privată pe o rețea publică și permite utilizatorilor să trimită și să primească date prin rețele publice sau partajate ca și cum dispozitivele lor de calcul ar fi conectate direct la rețeaua privată. Sistemele de la fiecare capăt al tunelului VPN criptează datele care intră în tunel și le decriptează la celălalt capăt.

Un Blockchain este o listă în continuă creștere de înregistrări, numite blocuri, care sunt legate și securizate folosind criptografie. Primul blockchain a fost implementat în 2009 ca o componentă de bază a bitcoinului, unde servește ca registru public pentru toate tranzacțiile. Invenția blockchain-ului pentru bitcoin a făcut-o prima monedă digitală care a rezolvat problema dublei cheltuieli fără a fi nevoie de o autoritate de încredere sau de un server central.

Pasul 8: pastila neagră STM32

Pilula neagră STM32
Pilula neagră STM32
Pilula neagră STM32
Pilula neagră STM32

Black Pill este cea mai recentă pastilă STM32. Este o variantă îmbunătățită a pilulei albastre comune și a pilulei roșii mai puțin obișnuite.

Black Pill are microcontrolerul STM32F103C8T6 32bit ARM M3 (foaie de date), un antet ST-Link cu patru pini, un port MicroUSB și un LED de utilizator pe PB12. Rezistența corectă de tragere de pe PA12 este instalată pentru funcționarea corectă a portului USB. Această extragere a necesitat în mod obișnuit o modificare a plăcii pe alte tablouri pentru pilule.

Deși este similară cu aspectul tipic Arduino Nano, Pilula Neagră este mult mai puternică. Microcontrolerul ARM STM32F103C8T6 pe 32 de biți poate rula la 72 MHz. Poate efectua multiplicarea unui singur ciclu și divizarea hardware. Are 64 Kbytes de memorie Flash și 20 Kbytes de SRAM.

Pasul 9: Clipește pilula neagră cu Arduino IDE și STLink

Clipește pilula neagră cu Arduino IDE și STLink
Clipește pilula neagră cu Arduino IDE și STLink

Dacă nu aveți instalat un IDE Arduino recent, obțineți-l aici.

Apoi, obțineți depozitul Arduino_STM32 al lui Roger Clark. Aceasta include fișierele hardware care acceptă plăcile STM32 pe Arduino IDE 1.8.x. Dacă descărcați manual acest lucru, asigurați-vă că Arduino_STM32-master.zip este despachetat în folderul „hardware” Arduino IDE. Rețineți că există un forum de asistență pentru acest pachet.

Atașați firele jumperului STLink așa cum se arată aici.

Rulați Arduino IDE și selectați aceste opțiuni în Instrumente:

Placă: Seria generică STM32F103CVarianta: STM32F103C8 (20k RAM. 64k Flash) Viteza CPU (MHz): "72MHz (Normal)" Metoda de încărcare: "STLink"

Deschideți exemplele de fișiere> elemente de bază> clipire Schimbați toate cele trei instanțe de „LED_BUILTIN” la PB12 Apăsați săgeata „încărcare” (LED-ul de pe STLink va pâlpâi în timpul încărcării)

Această schiță încărcată va aprinde și opri LED-ul utilizatorului de pe pilula neagră în fiecare secundă. Apoi, modificați valoarea din cele două instrucțiuni de întârziere (1000) de la 1000 la 100 și încărcați din nou. LED-ul ar trebui să clipească acum de zece ori mai repede. Acesta este exercițiul nostru standard „Hello World” pentru a ne asigura că putem compila un program simplu și îl putem încărca pe placa țintă.

Pasul 10: pastila Duckie

Pilula Duckie
Pilula Duckie

Pill Duck este un dispozitiv USB HID care poate fi folosit cu un STM32. Sigur de ce nu?

Pasul 11: Afișaj TFT

Afișaj TFT
Afișaj TFT

Afișajul cu cristale lichide cu tranzistor cu film subțire (TFT LCD) este o variantă a unui afișaj cu cristal lichid (LCD) care utilizează tehnologia cu tranzistor cu film subțire pentru calități îmbunătățite ale imaginii, cum ar fi adresabilitatea și contrastul. Un LCD TFT este un LCD cu matrice activă, spre deosebire de LCD-urile cu matrice pasivă sau LCD-urile simple, cu acționare directă, cu câteva segmente.

Acest ecran TFT Full Color măsoară 2,4 inci și are o rezoluție de 240x320.

Controlerul este un ILI9341 (foaie de date), care se poate conecta la STM32 printr-o magistrală Serial Peripheral Interface (SPI) conform schemei de cablare prezentată aici.

Pentru a testa afișajul, încărcați schița din:

exemple> Adafruit_ILI9341_STM> stm32_graphicstest

Modificați cei trei pini de control definiți astfel:

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

Rețineți că exemplul de testare grafică se execută foarte rapid datorită performanțelor îmbunătățite ale STM32 față de microcontrolerul tradițional Arduino AVR.

Pasul 12: Intrare matrice tastatură

Intrare matrice tastatură
Intrare matrice tastatură

Conectați tastatura Matrix 4x4 așa cum se arată și încărcați schița atașată TFT_Keypad. Acest exemplu citește tastatura și afișează tasta pe ecran. Rețineți că acest exemplu simplu de citire a tastaturii se blochează deoarece a folosit funcția delay (). Acest lucru ar putea fi îmbunătățit prin trecerea la un model de interogare sau de interogare.

Asamblarea tastaturii și a afișajului TFT împreună cu pilula neagră pe placa de sudură fără sudură sau placa de protecție verde face o „platformă de calcul” drăguță, cu intrare și afișaj.

Pasul 13: Provocarea codului mașinii Enigma

Image
Image
Autentificare cu doi factori - cheie de securitate zero U2F
Autentificare cu doi factori - cheie de securitate zero U2F

Mașinile Enigma au fost mașini de cifrat cu rotor electromecanic dezvoltate și utilizate la începutul secolului al XX-lea. Au fost adoptate de serviciile militare și guvernamentale din mai multe țări, în special Germania nazistă. Forțele armate germane credeau că comunicările lor criptate cu Enigma erau impenetrabile pentru Aliați. Dar mii de spargători de coduri - cu sediul în colibe de lemn de la Bletchley Park din Marea Britanie - au avut alte idei.

Provocarea de codificare din această lună este de a transforma „platforma de calcul” în propria mașină Enigma.

Am implementat deja exemple pentru intrări de tastatură și ieșiri de afișare.

Iată câteva exemple pentru setări și calcule între intrări și ieșiri:

ENIGMuino

Deschideți Enigma

Simulator Arduino Enigma

Instruibil de la ST-Geotronics

Pasul 14: autentificare cu doi factori - cheie de securitate zero U2F

Autentificarea cu doi factori (cunoscută și sub denumirea de 2FA) este o metodă de confirmare a identității revendicate de un utilizator prin utilizarea unei combinații de doi factori diferiți: 1) ceva ce știu, 2) ceva pe care îl au sau 3) ceva care sunt. Un bun exemplu de autentificare cu doi factori este retragerea de bani de la un bancomat, unde numai combinația corectă a unui card bancar (ceva pe care îl deține utilizatorul) și a unui PIN (ceva pe care utilizatorul îl știe) permite efectuarea tranzacției.

Universal 2nd Factor (U2F) este un standard de autentificare deschis care întărește și simplifică autentificarea în doi factori utilizând dispozitive USB sau NFC specializate bazate pe tehnologia de securitate similară care se găsește în cardurile inteligente. Cheile de securitate U2F sunt acceptate de Google Chrome de la versiunea 38 și Opera de la versiunea 40. Cheile de securitate U2F pot fi utilizate ca o metodă suplimentară de verificare în doi pași pe serviciile online care acceptă protocolul U2F, inclusiv Google, Dropbox, GitHub, GitLab, Bitbucket, Nextcloud, Facebook și altele.

U2F Zero este un simbol U2F open source pentru autentificare cu doi factori. Dispune de coprocesor criptografic Microchip ATECC508A, care acceptă:

  • Stocare securizată a cheilor bazate pe hardware
  • Algoritmi de cheie publică de mare viteză (PKI)
  • ECDSA: Algoritmul semnăturii digitale a curbei eliptice FIPS186-3
  • ECDH: FIPS SP800-56A Elliptic Curve Diffie-Hellman Algorithm
  • Suport pentru curba eliptică standard NIST P256
  • Algoritm Hash SHA-256 cu opțiune HMAC
  • Stocare pentru până la 16 taste - 256-bit Lungime cheie
  • Număr de serie unic pe 72 de biți
  • Generator de numere aleatorii FIPS (RNG)

Pasul 15: Set de provocare de lipit

Set de provocare de lipit
Set de provocare de lipit
Set de provocare de lipit
Set de provocare de lipit
Set de provocare de lipit
Set de provocare de lipit

Dacă sunteți pregătit pentru o provocare serioasă de lipit, vă puteți construi propria cheie U2F Zero.

Kitul de provocare de lipire zero U2F:

  • U2F Zero Token PCB
  • 8051 Core Microcontroller (E0) EFM8UB11F16G
  • Element securizat (A1) ATECC508A
  • LED de stare (RGB1) 0603 Anod comun
  • Zener ESD Protection Diode (Z1) SOT553
  • Rezistor 100 Ohm (R1) 0603
  • 4.7 condensator de bypass uF (C4) 0603
  • Condensator de bypass 0,1 uF (C3) 0403
  • Buton tactil momentan (SW1)
  • Breloc cu inel despicat

Rețineți că există două componente de dimensiunea 0603. Arată destul de asemănător, dar examinarea atentă va arăta că R1 este negru și C4 este cafeniu. De asemenea, rețineți că E0, A1 și RGB1 au necesitat orientări, așa cum este indicat pe serigrafia PCB.

U2F Zero Wiki arată detaliile pentru programarea microcontrolerului.

NOTĂ DE PROVOCARE: Fiecare HackerBox # 0027 include două truse de provocare de lipit exact pentru că lipirea este foarte dificilă și se întâmplă accidente. Nu te lăsa frustrat. Utilizați o mărire ridicată, o pensetă, un fier bun, un flux de lipit și mișcați foarte încet și cu atenție. Dacă nu puteți lipi cu succes acest kit, cu siguranță nu sunteți singur. Chiar dacă nu funcționează niciodată, este o practică bună de lipit pe o varietate de pachete SMT.

S-ar putea să doriți să consultați acest episod din Ben Heck Show on Surface Mount Soldering.

Pasul 16: HACK PLANETA

HACK PLANETA
HACK PLANETA

Dacă v-a plăcut acest Instrucable și doriți să primiți o cutie de proiecte electronice și de tehnologie informatică ca aceasta direct în cutia poștală în fiecare lună, vă rugăm să vă alăturați revoluției HackerBox prin ABONARE AICI.

Intindeți-vă și împărtășiți-vă succesul în comentariile de mai jos sau pe pagina de Facebook HackerBoxes. Cu siguranță, anunțați-ne dacă aveți întrebări sau aveți nevoie de ajutor cu ceva. Vă mulțumim că faceți parte din HackerBoxes. Vă rugăm să păstrați sugestiile și feedback-ul dvs. HackerBox-urile sunt cutiile TALE. Să facem ceva grozav!

Recomandat: