Kazalo:

HackerBox 0027: Cypherpunk: 16 korakov
HackerBox 0027: Cypherpunk: 16 korakov

Video: HackerBox 0027: Cypherpunk: 16 korakov

Video: HackerBox 0027: Cypherpunk: 16 korakov
Video: Hackerbox 0089 WiSpy 2024, November
Anonim
HackerBox 0027: Cypherpunk
HackerBox 0027: Cypherpunk

Cypherpunk - Ta mesec hekerji HackerBox raziskujejo zasebnost in kriptografijo. Ta navodila vsebujejo informacije za delo s HackerBoxom #0027, ki jih lahko prevzamete tukaj, ko so zaloge na voljo. Če želite vsak mesec v svoj nabiralnik prejemati takšen HackerBox, se naročite na HackerBoxes.com in se pridružite revoluciji!

Teme in učni cilji za HackerBox 0027:

  • Razumeti pomembne družbene posledice zasebnosti
  • Zaščitite kamere na osebnih elektronskih napravah
  • Raziščite zgodovino in matematiko kriptografije
  • Kontekstualizirajte običajno kriptografsko programsko opremo
  • Konfigurirajte ploščo "Black Pill" za procesor STM32 ARM
  • Programirajte črno tableto STM32 z uporabo Arduino IDE
  • Integrirajte tipkovnico in zaslon TFT s črno tableto
  • Ponovite funkcionalnost stroja Enigma iz druge svetovne vojne
  • Razumeti večfaktorsko preverjanje pristnosti
  • Soočite se s spajkalnim izzivom za izdelavo žetona USB U2F Zero

HackerBoxes je storitev mesečne naročnine na elektroniko in računalniško tehnologijo DIY. Smo ljubitelji, ustvarjalci in eksperimentatorji. Mi smo sanjači sanj. ZDRUŽITE PLANETO!

1. korak: HackerBox 0027: Vsebina škatle

HackerBox 0027: Vsebina škatle
HackerBox 0027: Vsebina škatle
  • HackerBoxes #0027 Zbirateljska referenčna kartica
  • Modul črne tablete STM32F103C8T6
  • USB programer STLink V2
  • Barvni 2,4 -palčni zaslon TFT - 240 x 320 slikovnih pik
  • Matrična tipkovnica 4x4
  • 830 točkovna spajkalna deska
  • 140 -delni komplet žičnih mostov
  • Dva kompleta izzivov U2F Zero Spajkanje
  • Veliko 9x15 cm zeleno prototipno vezje
  • Ekskluzivni zaviralci vohunov Vinyl GawkStop
  • Ekskluzivna aluminijasta magnetna prevleka za spletno kamero
  • Ekskluzivni obliž EFF
  • Nalepka o zasebnosti Badger
  • Tor Decal

Nekaj drugih stvari, ki vam bodo v pomoč:

  • Spajkalnik, spajkalnik in osnovna orodja za spajkanje
  • Lupa in majhna pinceta za spajkanje SMT
  • Računalnik za izvajanje programskih orodij

Najpomembneje je, da boste potrebovali občutek pustolovščine, DIY duha in hekersko radovednost. Hardcore DIY elektronika ni trivialno zasledovanje in tega vam ne zapravljamo. Cilj je napredek in ne popolnost. Ko vztrajate in uživate v pustolovščini, lahko veliko znanja pridobite z učenjem nove tehnologije in upajmo, da bodo nekateri projekti uspeli. Predlagamo, da vsak korak naredite počasi, pri tem pazite na podrobnosti in ne bojte se prositi za pomoč.

Upoštevajte, da je v pogostih vprašanjih o HackerBoxu veliko informacij za sedanje in bodoče člane.

Korak: Cypherpunks

Cypherpunks
Cypherpunks

Cypherpunk [wikipedia] je aktivist, ki zagovarja široko uporabo močne kriptografije in tehnologij za izboljšanje zasebnosti kot pot do družbenih in političnih sprememb. Neformalne skupine, ki so prvotno komunicirale prek elektronskega poštnega seznama Cypherpunks, so želele doseči zasebnost in varnost s proaktivno uporabo kriptografije. Cypherpunki se aktivno ukvarjajo s koncem osemdesetih let.

Konec leta 1992 so Eric Hughes, Timothy C. May in John Gilmore ustanovili majhno skupino, ki se je mesečno sestajala v Gilmorejevem podjetju Cygnus Solutions v zalivskem območju San Francisco, Jude Milhon pa je na enem od prvih srečanj humorno označil za cypherpunke - izhaja iz šifriranje in kiberpank. Novembra 2006 je bila beseda "cypherpunk" dodana v Oxfordski angleški slovar.

Osnovne zamisli je mogoče najti v A Cypherpunk's Manifesto (Eric Hughes, 1993): "Zasebnost je potrebna za odprto družbo v elektronski dobi. … Ne moremo pričakovati, da nam bodo vlade, korporacije ali druge velike organizacije brez obraza podelile zasebnost … Mi moramo braniti svojo zasebnost, če pričakujemo, da jih bomo imeli … Cypherpunks piše kodo. Vemo, da mora nekdo napisati programsko opremo za zaščito zasebnosti, in … mi jo bomo napisali. " Nekateri omembe vredni cypherpunki so ali so bili vodilni v velikih tehnoloških podjetjih, na univerzah in drugi so znane raziskovalne organizacije.

3. korak: Fundacija Electronic Frontier Foundation (EFF)

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

EFF [wikipedia] je mednarodna neprofitna skupina za digitalne pravice s sedežem v San Franciscu v Kaliforniji. Fundacijo so julija 1990 ustanovili John Gilmore, John Perry Barlow in Mitch Kapor za spodbujanje državljanskih svoboščin interneta.

ESR zagotavlja sredstva za pravno obrambo na sodišču, predstavlja poročila amicus curiae, brani posameznike in nove tehnologije pred tem, kar meni za zlorabe, grozi pravnim grožnjam, si prizadeva razkriti vladne napake, daje smernice vladi in sodiščem, organizira politične akcije in množična pošiljanja sporočil, podpira nekatere nove tehnologije, za katere meni, da ohranjajo osebne svoboščine in državljanske svoboščine na spletu, vzdržujejo bazo podatkov in spletna mesta s sorodnimi novicami in informacijami, spremljajo in izpodbijajo morebitno zakonodajo, za katero menijo, da bi kršila osebne svoboščine in pošteno uporabo, ter zahteva seznam, kaj obravnava zlorabe patentov z namenom premagati tiste, za katere meni, da niso upravičeni. EFF ponuja tudi nasvete, orodja, navodila, vaje in programsko opremo za varnejšo spletno komunikacijo.

HackerBoxes je ponosen, da je glavni donator fundacije Electronic Frontier Foundation. Močno spodbujamo vsakogar in vse, da kliknejo tukaj in izkažejo svojo podporo tej ključno pomembni neprofitni skupini, ki varuje digitalno zasebnost in svobodo izražanja. S pravnim delom, aktivizmom in razvojem programske opreme podjetja EFF želijo ohraniti naše temeljne pravice v digitalnem svetu. EFF je neprofitna organizacija v ZDA po 501 (c) (3) in vaše donacije so lahko davčno priznane.

4. korak: Omembe vredni projekti ESR

Omembe vredni projekti ESR
Omembe vredni projekti ESR

Privacy Badger je dodatek za brskalnik, ki oglaševalcem in drugim sledilcem drugih preprečuje, da bi na skrivaj spremljali, kam greste in katere strani gledate v spletu. Če se zdi, da vam oglaševalec brez vašega dovoljenja sledi na več spletnih mestih, Badger samodejno blokira oglaševalca pri nalaganju dodatne vsebine v vaš brskalnik. Za oglaševalca je to, kot da ste nenadoma izginili.

Omrežna nevtralnost je ideja, da bi morali ponudniki internetnih storitev (ISP) vse podatke, ki potujejo po njihovih omrežjih, obravnavati pošteno, brez nepravilne diskriminacije v korist določenih aplikacij, spletnih mest ali storitev. To načelo je treba upoštevati, da se zaščiti prihodnost našega odprtega interneta.

Security Education Companion je nov vir za ljudi, ki bi radi pomagali svojim skupnostim pri spoznavanju digitalne varnosti. Potreba po robustni osebni digitalni varnosti narašča vsak dan. Od osnovnih skupin do organizacij civilne družbe do posameznih članov ESR ljudje iz naše skupnosti izražajo potrebo po dostopnem gradivu o varnostni vzgoji, ki bi ga delili s prijatelji, sosedi in kolegi.

Onion Router (Tor) svojim uporabnikom omogoča brskanje po internetu, klepet in anonimno pošiljanje hitrih sporočil. Tor je brezplačna programska oprema in odprto omrežje, ki pomaga pri obrambi pred analizo prometa, obliko omrežnega nadzora, ki ogroža osebno svobodo in zasebnost, zaupne poslovne dejavnosti in odnose ter državno varnost.

5. korak: Zavarujte svoje kamere

Zavarujte svoje kamere
Zavarujte svoje kamere

Po poročanju revije WIRED lahko "vohunska orodja, ne glede na to, ali so jih oblikovale obveščevalne agencije, kibernetski prevaranti ali internetni grozljivci, vklopijo vašo kamero, ne da bi prižgali indikatorsko luč." [WIRED]

Medtem ko je bil direktor FBI, je James Comey govoril o šifriranju in zasebnosti. Komentiral je, da na svoj prenosni računalnik na lečo spletne kamere položi kos traku. [NPR]

Mark Zuckerberg je objavil novico, ko je javnost opazila, da sledi isti praksi. [TIME]

HackerBox #0027 vsebuje zbirko prilagojenih zaviralcev vohunov iz vinila GAWK STOP, pa tudi aluminijast pokrov za spletno kamero z vrtljivim magnetom.

6. korak: Kriptografija

Kriptografija
Kriptografija

Kriptografija [wikipedia] je praksa in preučevanje tehnik za varno komunikacijo v prisotnosti tretjih oseb, imenovanih nasprotniki. Kriptografija pred sodobno dobo je bila dejansko sinonim za šifriranje, pretvorbo informacij iz berljivega stanja v navidezno neumnost. Ustvarjalec šifriranega sporočila je tehniko dekodiranja, potrebno za obnovitev prvotnih informacij, delil le z nameravanimi prejemniki, s čimer je preprečil, da bi nezaželene osebe storile enako. Kriptografska literatura pogosto uporablja ime Alice ("A") za pošiljatelja, Bob ("B") za predvidenega prejemnika in Eve ("prisluškovalec") za nasprotnika. Od razvoja strojev za šifriranje rotorjev v prvi svetovni vojni in pojava računalnikov v drugi svetovni vojni so metode, ki se uporabljajo za izvajanje kriptologije, postajale vse bolj zapletene in njihova uporaba vse bolj razširjena. Sodobna kriptografija močno temelji na matematični teoriji. Kriptografski algoritmi so zasnovani na podlagi predpostavk računalniške trdote, zaradi česar jih takšen algoritem težko razbije.

Obstaja veliko spletnih virov za več informacij o kriptografiji. Tu je nekaj izhodišč:

Potovanje v kriptografijo na Akademiji Khan je odlična serija videoposnetkov, člankov in dejavnosti.

Univerza Stanford ima brezplačen spletni tečaj kriptografije.

Bruce Schneier je objavil povezavo do spletne kopije svoje klasične knjige Applied Cryptography. Besedilo ponuja celovit pregled sodobne kriptografije. Opisuje na desetine kriptografskih algoritmov in daje praktične nasvete, kako jih implementirati.

7. korak: Skupna kriptografska programska oprema

Običajna kriptografska programska oprema
Običajna kriptografska programska oprema

S praktičnega vidika se moramo zavedati nekaj posebnih aplikacij kriptografije:

Pretty Good Privacy (PGP) je program za šifriranje, ki zagotavlja kriptografsko zasebnost in preverjanje pristnosti shranjenih podatkov. PGP se uporablja za podpisovanje, šifriranje in dešifriranje besedila, e-pošte, datotek, imenikov in celo celotnih particij diska.

Varnost transportnega sloja (TLS) je kriptografski protokol, ki zagotavlja komunikacijsko varnost prek računalniškega omrežja. TLS se uporablja v aplikacijah, kot so brskanje po spletu, e -pošta, internetno pošiljanje faksov, takojšnje sporočanje in glasovni prenos prek IP (VoIP). Spletna mesta lahko uporabljajo TLS za zaščito vseh komunikacij med svojimi strežniki in spletnimi brskalniki. TLS temelji na prejšnjih specifikacijah sloja varnih vtičnic (SSL).

Internet Protocol Security (IPsec) je paket omrežnih protokolov, ki preverja pristnost in šifrira pakete podatkov, poslanih po omrežju. IPsec vključuje protokole za vzpostavitev medsebojne avtentikacije med agenti na začetku seje in pogajanja o kriptografskih ključih za uporabo med sejo.

Navidezno zasebno omrežje (VPN) razširja zasebno omrežje na javno omrežje in uporabnikom omogoča pošiljanje in prejemanje podatkov v skupnih ali javnih omrežjih, kot da bi bile njihove računalniške naprave neposredno povezane z zasebnim omrežjem. Sistemi na vsakem koncu tunela VPN šifrirajo podatke, ki vstopajo v tunel, in jih dešifrirajo na drugem koncu.

Blockchain je nenehno rastoč seznam zapisov, imenovanih bloki, ki so povezani in zavarovani s kriptografijo. Prvi blockchain je bil uveden leta 2009 kot osrednja komponenta bitcoina, kjer služi kot javna knjiga za vse transakcije. Izum blockchain za bitcoin je postal prva digitalna valuta, ki je rešila problem dvojne porabe brez potrebe po zaupanja vrednem organu ali centralnem strežniku.

8. korak: STM32 črna tabletka

Črna tableta STM32
Črna tableta STM32
Črna tableta STM32
Črna tableta STM32

Črna tableta je najnovejša plošča za tablete STM32. To je izboljšana različica običajne modre tablete in manj pogoste rdeče tablete.

Črna tabletka vsebuje STM32F103C8T6 32-bitni mikrokrmilnik ARM M3 (podatkovni list), štiri-polno glavo ST-Link, vrata MicroUSB in uporabniško LED na PB12. Za pravilno delovanje vrat USB je nameščen ustrezen vlečni upor na PA12. Ta dvig je običajno zahteval spremembo plošče na drugih tabletah.

Čeprav je po videzu podobna tipičnemu Arduino Nano, je črna tabletka veliko močnejša. 32 -bitni mikrokrmilnik STM32F103C8T6 ARM lahko deluje na 72 MHz. Lahko izvaja množenje v enem ciklu in strojno delitev. Ima 64 Kbajtov flash pomnilnika in 20 Kbajtov SRAM.

9. korak: Utripanje črne tablete z Arduino IDE in STLink

Utripanje črne tablete z Arduino IDE in STLink
Utripanje črne tablete z Arduino IDE in STLink

Če nimate nameščenega nedavnega Arduino IDE, ga dobite tukaj.

Nato si priskrbite skladišče Argerino_STM32 Rogerja Clarka. To vključuje datoteke strojne opreme za podporo plošč STM32 v Arduino IDE 1.8.x. Če to prenesete ročno, se prepričajte, da je Arduino_STM32-master.zip razpakiran v mapo »strojna oprema« Arduino IDE. Upoštevajte, da za ta paket obstaja forum za podporo.

Pritrdite mostične žice STLink, kot je prikazano tukaj.

Zaženite Arduino IDE in izberite te možnosti pod Orodja:

Plošča: Generična serija STM32F103C Različica: STM32F103C8 (20k RAM. 64k Flash) Hitrost procesorja (MHz): "72MHz (običajno)" Način nalaganja: "STLink"

Odprite primere datotek> osnove> utripajte Spremenite vse tri primerke »LED_BUILTIN« v PB12Ustrezite puščico »naloži« (LED na STLinku bo med nalaganjem utripala)

Ta naložena skica bo vsako sekundo vklopila in izklopila LED uporabnika na črni tableti. Nato spremenite vrednost v dveh stavkih zakasnitve (1000) s 1000 na 100 in znova naložite. LED naj bi zdaj utripala desetkrat hitreje. To je naša standardna vaja "Hello World", s katero želimo zagotoviti, da lahko sestavimo preprost program in ga naložimo na ciljno ploščo.

10. korak: Tablete Duckie

Tabletka Duckie
Tabletka Duckie

Pill Duck je skriptna naprava USB HID, ki uporablja STM32. Seveda, zakaj pa ne?

11. korak: Zaslon TFT

TFT zaslon
TFT zaslon

Tankoslojni tranzistorski zaslon s tekočimi kristali (TFT LCD) je različica zaslona s tekočimi kristali (LCD), ki uporablja tehnologijo tankoslojnih tranzistorjev za izboljšane lastnosti slike, kot sta naslovljivost in kontrast. TFT LCD je LCD z aktivno matriko, v nasprotju s LCD-ji s pasivno matrico ali preprostimi LCD-ji z neposrednim pogonom z nekaj segmenti.

Ta barvni TFT zaslon meri 2,4 palca in ima ločljivost 240x320.

Krmilnik je ILI9341 (podatkovni list), ki se lahko poveže s STM32 preko vodila serijskega perifernega vmesnika (SPI) v skladu s shemo ožičenja, prikazano tukaj.

Za preizkus zaslona naložite skico iz:

primeri> Adafruit_ILI9341_STM> stm32_graphicstest

Spremenite tri definicije kontrolnega zatiča tako:

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

Upoštevajte, da se grafični preskusni primer zelo hitro izvede zaradi izboljšane zmogljivosti STM32 v primerjavi s tradicionalnim mikrokrmilnikom Arduino AVR.

Korak: Matrični vnos tipkovnice

Matrični vnos tipkovnice
Matrični vnos tipkovnice

Priključite matrično tipkovnico 4x4, kot je prikazano, in naložite priloženo skico TFT_Ključna tipkovnica. Ta primer prebere tipkovnico in prikaže tipko na zaslonu. Upoštevajte, da ta preprost primer za branje tipkovnice blokira, ker je uporabila funkcijo delay (). To bi lahko izboljšali s prehodom na model anketiranja ali prekinitve.

Sestavljanje tipkovnice in zaslona TFT skupaj s črno tableto na brezlemno ploščo ali zeleno protoboard naredi lepo "računalniško platformo" z vnosom in prikazom.

Korak: Izziv strojne kode Enigma

Image
Image
Dvofaktorska avtentikacija - varnostni ključ U2F Zero
Dvofaktorska avtentikacija - varnostni ključ U2F Zero

Stroji Enigma so bili elektromehanski stroji za šifriranje rotorjev, razviti in uporabljeni v začetku do sredine 20. stoletja. Sprejele so jih vojaške in vladne službe več držav, predvsem nacistične Nemčije. Nemške oborožene sile so menile, da je njihova komunikacija, šifrirana z enigmo, zaveznikom neprepustna. Toda na tisoče razbijačev kod - s sedežem v lesenih kočah v britanskem parku Bletchley - je imelo druge ideje.

Kodiranje v tem mesecu je izziv, da "računalniško platformo" spremenite v svoj lasten stroj Enigma.

Primere vhodov na tipkovnici in izhodov na zaslonu smo že implementirali.

Tu je nekaj primerov za nastavitve in izračune med vhodi in izhodi:

ENIGMuino

Odprite Enigmo

Arduino Enigma simulator

Navodila ST-Geotronics

Korak 14: Dvofaktorska avtentikacija - varnostni ključ U2F Zero

Dvofaktorska avtentikacija (znana tudi kot 2FA) je metoda potrditve uporabnikove identitete z uporabo kombinacije dveh različnih dejavnikov: 1) nekaj, kar vedo, 2) nekaj, kar imajo, ali 3) nekaj, kar so. Dober primer dvostopenjske avtentikacije je dvig denarja z bankomata, kjer le pravilna kombinacija bančne kartice (nekaj, kar ima uporabnik) in kode PIN (nekaj, kar uporabnik pozna) omogoča izvedbo transakcije..

Universal 2nd Factor (U2F) je odprt standard preverjanja pristnosti, ki krepi in poenostavlja dvostopenjsko preverjanje pristnosti s pomočjo specializiranih naprav USB ali NFC, ki temeljijo na podobni varnostni tehnologiji, ki jo najdemo v pametnih karticah. Varnostne ključe U2F podpira Google Chrome od različice 38 in Opera od različice 40. Varnostne ključe U2F lahko uporabite kot dodatno metodo preverjanja v dveh korakih na spletnih storitvah, ki podpirajo protokol U2F, vključno z Googlom, Dropboxom, GitHubom, GitLabom, Bitbucket, Nextcloud, Facebook in drugi.

U2F Zero je odprtokodni žeton U2F za dvofaktorsko preverjanje pristnosti. Odlikuje ga mikročip ATECC508A kriptografski soprocesor, ki podpira:

  • Varno shranjevanje ključev na osnovi strojne opreme
  • Algoritmi hitrega javnega ključa (PKI)
  • ECDSA: Algoritem digitalnega podpisa za eliptično krivuljo FIPS186-3
  • ECDH: FIPS SP800-56A eliptična krivulja Diffie-Hellmanov algoritem
  • NIST Standardna podpora za eliptično krivuljo P256
  • SHA-256 Hash Algoritem z možnostjo HMAC
  • Shranjevanje do 16 ključev - 256 -bitna dolžina ključa
  • Edinstvena 72-bitna serijska številka
  • Generator naključnih številk FIPS (RNG)

Korak 15: Komplet za spajkanje

Komplet za spajkanje
Komplet za spajkanje
Komplet za spajkanje
Komplet za spajkanje
Komplet za spajkanje
Komplet za spajkanje

Če ste pripravljeni na resen spajkalni izziv, lahko zgradite svoj U2F Zero Key.

Komplet izzivov za spajkanje U2F:

  • U2F Zero Token PCB
  • 8051 jedrni mikrokrmilnik (E0) EFM8UB11F16G
  • Varni element (A1) ATECC508A
  • Statusna LED (RGB1) 0603 Skupna anoda
  • Zener ESD zaščitna dioda (Z1) SOT553
  • 100 ohmski upor (R1) 0603
  • 4.7 uF bypass kondenzator (C4) 0603
  • 0,1 uF bypass kondenzator (C3) 0403
  • Trenutni taktilni gumb (SW1)
  • Obesek z ločenim prstanom

Upoštevajte, da obstajata dve komponenti velikosti 0603. Videti sta precej podobno, vendar bo natančen pregled pokazal, da je R1 črn, C4 pa porjav. Upoštevajte tudi, da imajo E0, A1 in RGB1 potrebne orientacije, kot je navedeno na sitotisku za tiskano vezje.

Wiki U2F Zero Wiki prikazuje podrobnosti za programiranje mikrokrmilnika.

OPOMBA IZZIV: Vsak HackerBox #0027 vsebuje dva kompleta za spajkanje, saj je spajkanje zelo težko in se zgodijo nesreče. Ne razočarajte se. Uporabite veliko povečavo, pinceto, dobro železo, spajkalni tok in se premikajte zelo počasi in previdno. Če tega kompleta ne morete uspešno spajkati, zagotovo niste sami. Tudi če nikoli ne deluje, je dobra praksa spajkanja na različnih paketih SMT.

Morda bi si želeli ogledati to epizodo predstave Ben Heck o spajkanju na površinsko montažo.

16. korak: ZDRUŽITE PLANET

VDORITE PLANET
VDORITE PLANET

Če ste uživali v tem Instrucableu in bi želeli, da bi škatlo elektronskih in računalniško -tehničnih projektov vsak mesec prejemali neposredno v vaš nabiralnik, se pridružite revoluciji HackerBox tako, da se PRIJAVITE TUKAJ.

Dosezite in delite svoj uspeh v spodnjih komentarjih ali na Facebook strani HackerBoxes. Vsekakor nam sporočite, če imate kakršna koli vprašanja ali potrebujete pomoč pri čem. Hvala, ker ste del HackerBoxes. Prosimo, da prihajajo vaši predlogi in povratne informacije. HackerBoxes so VAŠE škatle. Naredimo nekaj odličnega!

Priporočena: