Innholdsfortegnelse:

HackerBox 0027: Cypherpunk: 16 trinn
HackerBox 0027: Cypherpunk: 16 trinn

Video: HackerBox 0027: Cypherpunk: 16 trinn

Video: HackerBox 0027: Cypherpunk: 16 trinn
Video: HackerBox #0016 Cellular World 2024, November
Anonim
HackerBox 0027: Cypherpunk
HackerBox 0027: Cypherpunk

Cypherpunk - Denne måneden utforsker HackerBox Hackers personvern og kryptografi. Denne instruksen inneholder informasjon om hvordan du arbeider med HackerBox #0027, som du kan hente her så lenge lageret rekker. Hvis du også ønsker å motta en HackerBox som denne rett i postkassen din hver måned, kan du abonnere på HackerBoxes.com og bli med i revolusjonen!

Emner og læringsmål for HackerBox 0027:

  • Forstå de viktige sosiale implikasjonene av personvern
  • Sikre kameraer på personlige elektroniske enheter
  • Utforsk kryptografiens historie og matematikk
  • Kontekstualisere vanlig kryptografisk programvare
  • Konfigurer et STM32 ARM -prosessor "Black Pill" -kort
  • Programmer STM32 Black Pill ved hjelp av Arduino IDE
  • Integrer et tastatur og en TFT -skjerm med den svarte pillen
  • Repliker funksjonaliteten til WWII Enigma Machine
  • Forstå multifaktorgodkjenning
  • Møt loddeutfordringen for å bygge et U2F Zero USB -token

HackerBoxes er den månedlige abonnementskassen for DIY -elektronikk og datateknologi. Vi er hobbyfolk, produsenter og eksperimenter. Vi er drømmerne om drømmer. HAKK PLANETEN!

Trinn 1: HackerBox 0027: Innhold i esken

HackerBox 0027: Innhold i esken
HackerBox 0027: Innhold i esken
  • HackerBoxes #0027 Samlingsbart referansekort
  • Svart pille STM32F103C8T6 -modul
  • STLink V2 USB -programmerer
  • 2,4 tommers TFT -skjerm i full farge - 240 x 320 piksler
  • 4x4 Matrix -tastatur
  • 830 -punkts loddefritt brødbrett
  • 140 stykke trådgenser
  • To U2F Zero Lodding Challenge Kits
  • Stor 9x15 cm Grønn Prototying PCB
  • Eksklusive Vinyl GawkStop Spy Blockers
  • Eksklusivt aluminiums magnetisk svingbart webkameradeksel
  • Eksklusiv EFF -oppdatering
  • Personvern Badger Decal
  • Tor -dekal

Noen andre ting som vil være nyttige:

  • Loddejern, lodde og grunnleggende loddeverktøy
  • Forstørrelsesglass og liten pinsett for SMT -loddeutfordring
  • Datamaskin for kjøring av programvareverktøy

Viktigst av alt, trenger du en følelse av eventyr, DIY -ånd og nysgjerrighet på hackere. Hardcore DIY elektronikk er ikke en triviell jakt, og vi vanner det ikke ned for deg. Målet er fremgang, ikke perfeksjon. Når du fortsetter og liker eventyret, kan du få mye tilfredshet ved å lære ny teknologi og forhåpentligvis få noen prosjekter til å fungere. Vi foreslår at du tar hvert trinn sakte, tenker på detaljene, og ikke vær redd for å be om hjelp.

Vær oppmerksom på at det er et vell av informasjon for nåværende og potensielle medlemmer i HackerBox FAQ.

Trinn 2: Cypherpunks

Cypherpunks
Cypherpunks

En Cypherpunk [wikipedia] er en aktivist som tar til orde for utbredt bruk av sterk kryptografi og personvernforbedrende teknologier som en vei til sosiale og politiske endringer. Uformelle grupper som opprinnelig kommuniserte gjennom Cypherpunks elektroniske postliste, hadde som mål å oppnå personvern og sikkerhet gjennom proaktiv bruk av kryptografi. Cypherpunks har vært engasjert i en aktiv bevegelse siden slutten av 1980 -tallet.

På slutten av 1992 grunnla Eric Hughes, Timothy C. May og John Gilmore en liten gruppe som møttes månedlig i Gilmores selskap Cygnus Solutions i San Francisco Bay Area, og ble humoristisk betegnet cypherpunks av Jude Milhon på et av de første møtene - avledet fra cipher og cyberpunk. I november 2006 ble ordet "cypherpunk" lagt til Oxford English Dictionary.

De grunnleggende ideene finnes i A Cypherpunk's Manifesto (Eric Hughes, 1993): "Personvern er nødvendig for et åpent samfunn i den elektroniske tidsalderen. … Vi kan ikke forvente at regjeringer, selskaper eller andre store, ansiktsløse organisasjoner skal gi oss personvern … Vi må forsvare vårt eget personvern hvis vi forventer å ha noen.… Cypherpunks skriver kode. Vi vet at noen må skrive programvare for å forsvare personvernet, og … vi kommer til å skrive det. " Noen bemerkelsesverdige cypherpunks er, eller var, senior ansatte ved store teknologiselskaper, universiteter og andre er kjente forskningsorganisasjoner.

Trinn 3: Electronic Frontier Foundation (EFF)

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

EFF [wikipedia] er en internasjonal ideell gruppe for digitale rettigheter med base i San Francisco, California. Stiftelsen ble dannet i juli 1990 av John Gilmore, John Perry Barlow og Mitch Kapor for å fremme sivile friheter på internett.

EFF gir midler til rettslig forsvar i retten, presenterer amicus curiae briefs, forsvarer enkeltpersoner og ny teknologi fra det den anser som krenkende juridiske trusler, arbeider for å avsløre regjeringsmisbruk, gir veiledning til regjeringen og domstoler, organiserer politisk aksjon og masseutsendelser, støtter noen nye teknologier som den mener bevarer personlige friheter og sivile friheter på nettet, opprettholder en database og nettsteder med relaterte nyheter og informasjon, overvåker og utfordrer potensiell lovgivning som den mener ville krenke personlige friheter og rettferdig bruk, og ber om en liste over hva den anser fornærmende patenter med den hensikt å beseire de som den anser uten fortjeneste. EFF gir også tips, verktøy, veiledninger, opplæringsprogrammer og programvare for tryggere online kommunikasjon.

HackerBoxes er stolte over å være en stor donor for Electronic Frontier Foundation. Vi oppfordrer sterkt alle til å klikke her og vise din støtte til denne avgjørende, ideelle organisasjonen som beskytter digitalt personvern og ytringsfrihet. EFFs juridiske arbeid, aktivisme og utvikling av programvare for allmenn interesse søker å bevare våre grunnleggende rettigheter i den digitale verden. EFF er en ideell organisasjon i USA 501 (c) (3), og donasjonene dine kan være fradragsberettigede.

Trinn 4: Bemerkelsesverdige EFF -prosjekter

Bemerkelsesverdige EFF -prosjekter
Bemerkelsesverdige EFF -prosjekter

Privacy Badger er et nettlesertillegg som stopper annonsører og andre tredjepartssporere fra å hemmelig spore hvor du går og hvilke sider du ser på nettet. Hvis en annonsør ser ut til å spore deg på flere nettsteder uten din tillatelse, blokkerer Privacy Badger automatisk annonsøren fra å laste inn mer innhold i nettleseren din. For annonsøren er det som om du plutselig forsvant.

Nettverksnøytralitet er ideen om at internettjenesteleverandører (ISPer) skal behandle alle data som reiser over nettverkene sine rettferdig, uten feil diskriminering til fordel for bestemte apper, nettsteder eller tjenester. Det er et prinsipp som må opprettholdes for å beskytte fremtiden til vårt åpne Internett.

Security Education Companion er en ny ressurs for folk som ønsker å hjelpe lokalsamfunnene sine med å lære om digital sikkerhet. Behovet for robust personlig digital sikkerhet vokser hver dag. Fra grasrotgrupper til sivilsamfunnsorganisasjoner til individuelle EFF -medlemmer, uttrykker mennesker fra hele samfunnet vårt behov for tilgjengelig sikkerhetsopplæringsmateriell for å dele med venner, naboer og kolleger.

The Onion Router (Tor) lar brukerne surfe på Internett, chatte og sende direktemeldinger anonymt. Tor er gratis programvare og et åpent nettverk som hjelper til med å forsvare seg mot trafikkanalyse, en form for nettverksovervåking som truer personlig frihet og personvern, konfidensielle forretningsaktiviteter og relasjoner og statssikkerhet.

Trinn 5: Sikre kameraene dine

Sikre kameraene dine
Sikre kameraene dine

I følge WIRED Magazine kan "spionverktøy, enten de er designet av etterretningsbyråer, cyberskurkere eller internettkryp, slå på kameraet ditt uten å lyse indikatorlyset." [WIRED]

Mens han fungerte som direktør for FBI, holdt James Comey en tale om kryptering og personvern. Han kommenterte at han legger et stykke tape over webkameralinsen på den bærbare datamaskinen. [NPR]

Mark Zuckerberg kom med nyheter da publikum la merke til at han følger samme praksis. [TID]

HackerBox #0027 har en samling tilpassede spionblokkere av vinyl GAWK STOPP, samt et magnetisk svingbart webkameraomslag i aluminium.

Trinn 6: Kryptografi

Kryptografi
Kryptografi

Kryptografi [wikipedia] er praksis og studier av teknikker for sikker kommunikasjon i nærvær av tredjeparter kalt motstandere. Kryptografi før den moderne tidsalder var effektivt synonymt med kryptering, konvertering av informasjon fra en lesbar tilstand til tilsynelatende tull. Opphavsmannen til en kryptert melding delte dekodingsteknikken som var nødvendig for å gjenopprette den opprinnelige informasjonen bare med tiltenkte mottakere, og forhindret derved uønskede personer fra å gjøre det samme. Kryptografilitteraturen bruker ofte navnet Alice ("A") for avsenderen, Bob ("B") for den tiltenkte mottakeren, og Eve ("avlytting") for motstanderen. Siden utviklingen av rotorkrypteringsmaskiner i første verdenskrig og ankomsten av datamaskiner i andre verdenskrig, har metodene som brukes for å utføre kryptologi blitt stadig mer komplekse og anvendelsen mer utbredt. Moderne kryptografi er sterkt basert på matematisk teori. Kryptografiske algoritmer er designet rundt antagelser om beregningshardhet, noe som gjør slike algoritmer vanskelig å bryte av noen motstander.

Det er mange elektroniske ressurser for å lære mer om kryptografi. Her er noen få utgangspunkt:

The Journey into Cryptography ved Khan Academy er en utmerket serie med videoer, artikler og aktiviteter.

Stanford University har et gratis online kryptografikurs.

Bruce Schneier har lagt ut en lenke til en online kopi av sin klassiske bok, Applied Cryptography. Teksten gir en omfattende undersøkelse av moderne kryptografi. Den beskriver dusinvis av kryptografiske algoritmer og gir praktiske råd om hvordan de skal implementeres.

Trinn 7: Vanlig kryptografisk programvare

Vanlig kryptografisk programvare
Vanlig kryptografisk programvare

Fra et praktisk synspunkt er det noen spesifikke bruksområder for kryptografi som vi bør være klar over:

Pretty Good Privacy (PGP) er et krypteringsprogram som gir kryptografisk personvern og autentisering for lagrede data. PGP brukes til å signere, kryptere og dekryptere tekst, e-post, filer, kataloger og til og med hele diskpartisjoner.

Transport Layer Security (TLS) er en kryptografisk protokoll som gir kommunikasjonssikkerhet over et datanettverk. TLS brukes i applikasjoner som nettlesing, e -post, internettfaks, direktemeldinger og voice over IP (VoIP). Nettsteder kan bruke TLS til å sikre all kommunikasjon mellom sine servere og nettlesere. TLS er bygget på tidligere Secure Sockets Layer (SSL) spesifikasjoner.

Internet Protocol Security (IPsec) er en nettverksprotokollpakke som autentiserer og krypterer pakkene med data som sendes over et nettverk. IPsec inkluderer protokoller for etablering av gjensidig autentisering mellom agenter i begynnelsen av økten og forhandling av kryptografiske nøkler som skal brukes under sesjonen.

Et virtuelt privat nettverk (VPN) utvider et privat nettverk på tvers av et offentlig nettverk, og gjør det mulig for brukere å sende og motta data på tvers av delte eller offentlige nettverk som om deres dataenheter var direkte koblet til det private nettverket. Systemene i hver ende av VPN -tunnelen krypterer dataene som kommer inn i tunnelen og dekrypterer dem i den andre enden.

En Blockchain er en kontinuerlig voksende liste over poster, kalt blokker, som er koblet og sikret ved hjelp av kryptografi. Den første blockchain ble implementert i 2009 som en kjernekomponent i bitcoin hvor den fungerer som den offentlige hovedboken for alle transaksjoner. Oppfinnelsen av blockchain for bitcoin gjorde den til den første digitale valutaen som løste det dobbelte utgiftsproblemet uten behov for en pålitelig myndighet eller sentral server.

Trinn 8: STM32 svart pille

STM32 svart pille
STM32 svart pille
STM32 svart pille
STM32 svart pille

Black Pill er det siste STM32 pilletavlet. Det er en forbedret variant på den vanlige blå pillen og den mindre vanlige røde pillen.

Den svarte pillen har STM32F103C8T6 32-biters ARM M3-mikrokontroller (datablad), en firepinners ST-Link-topptekst, en MicroUSB-port og en bruker-LED på PB12. Den riktige opptrekksmotstanden på PA12 kommer installert for riktig bruk av USB-porten. Denne opptrekningen krevde vanligvis en modifikasjon av brettet på andre pillebrett.

Selv om den ligner den typiske Arduino Nano, er den svarte pillen langt kraftigere. 32 -biters STM32F103C8T6 ARM -mikrokontroller kan kjøre på 72 MHz. Den kan utføre enkeltsyklusmultiplikasjon og maskinvareinndeling. Den har 64 Kbyte Flash -minne og 20 Kbyte SRAM.

Trinn 9: Blinker den svarte pillen med Arduino IDE og STLink

Blinker den svarte pillen med Arduino IDE og STLink
Blinker den svarte pillen med Arduino IDE og STLink

Hvis du ikke har en nylig Arduino IDE installert, kan du få den her.

Deretter får du Roger Clarks Arduino_STM32 -depot. Dette inkluderer maskinvarefiler for å støtte STM32 -kort på Arduino IDE 1.8.x. Hvis du laster ned dette manuelt, må du kontrollere at Arduino_STM32-master.zip blir pakket ut i Arduino IDE "maskinvare" -mappen. Vær oppmerksom på at det er et støtteforum for denne pakken.

Fest STLink -jumperledningene som vist her.

Kjør Arduino IDE og velg disse alternativene under Verktøy:

Brett: Generisk STM32F103C -serie Variant: STM32F103C8 (20k RAM. 64k Flash) CPU -hastighet (MHz): "72MHz (Normal)" Opplastingsmetode: "STLink"

Åpne fileksemplene> grunnleggende> blinke Endre alle tre forekomstene av "LED_BUILTIN" til PB12 Slå på "last opp" -pilen (LED -en på STLink blinker under opplasting)

Denne opplastede skissen vil blinke bruker -LED -en på den svarte pillen av og på hvert sekund. Deretter endrer du verdien i de to forsinkelses (1000) setningene fra 1000 til 100 og laster opp igjen. Lysdioden skal blinke ti ganger raskere nå. Dette er vår standard "Hello World" -øvelse for å sikre at vi kan kompilere et enkelt program og laste det til målbrettet.

Trinn 10: Pill Duckie

Pille Duckie
Pille Duckie

Pill Duck er en skriptbar USB HID -enhet som bruker en STM32. Sikker … Hvorfor ikke?

Trinn 11: TFT -skjerm

TFT -skjerm
TFT -skjerm

Thin-film-transistor liquid-crystal display (TFT LCD) er en variant av en liquid-crystal display (LCD) som bruker tynnfilm-transistorteknologi for forbedrede bildekvaliteter som adresserbarhet og kontrast. En TFT LCD er en aktiv matris LCD, i motsetning til passiv matris LCD eller enkle, direkte drevne LCD med noen få segmenter.

Denne TFT -skjermen i full farge måler 2,4 tommer og har en oppløsning på 240x320.

Kontrolleren er en ILI9341 (datablad), som kan kobles til STM32 via en Serial Peripheral Interface (SPI) buss i henhold til koblingsskjemaet som vises her.

For å teste displayet, last skissen fra:

eksempler> Adafruit_ILI9341_STM> stm32_graphicstest

Endre de tre kontrollnålene definerer slik:

#definere TFT_CS PA1#definere TFT_DC PA3#definere TFT_RST PA2

Vær oppmerksom på at grafisk testeksempel kjøres veldig raskt på grunn av den forbedrede ytelsen til STM32 over den tradisjonelle Arduino AVR -mikrokontrolleren.

Trinn 12: Inngang av tastaturmatrise

Tastaturmatriseinngang
Tastaturmatriseinngang

Koble opp 4x4 Matrix -tastaturet som vist og last opp den vedlagte skissen TFT_Keypad. Dette eksemplet leser tastaturet og viser tasten på skjermen. Vær oppmerksom på at dette enkle eksemplet for lesing av tastaturet blokkerer fordi det brukte funksjonen forsinkelse (). Dette kan forbedres ved å bytte til en avstemnings- eller avbruddsdrevet modell.

Montering av tastaturet og TFT -skjermen sammen med den svarte pillen på det loddefrie brødbrettet eller det grønne protoboardet gir en fin "databehandlingsplattform" med input og display.

Trinn 13: Enigma Machine Code Challenge

Image
Image
Tofaktorautentisering - U2F null sikkerhetsnøkkel
Tofaktorautentisering - U2F null sikkerhetsnøkkel

Enigma Machines var elektro-mekaniske rotorkrypteringsmaskiner utviklet og brukt på begynnelsen til midten av 1900-tallet. De ble adoptert av militære og offentlige tjenester i flere land, særlig Nazi -Tyskland. Tysklands væpnede styrker mente at deres Enigma-krypterte kommunikasjon var ugjennomtrengelig for de allierte. Men tusenvis av kodebrytere - basert i trehytter i Storbritannias Bletchley Park - hadde andre ideer.

Denne månedens kodingsutfordring er å gjøre "databehandlingsplattformen" til din helt egen Enigma -maskin.

Vi har allerede implementert eksempler på tastaturinnganger og skjermutganger.

Her er noen eksempler på innstillinger og beregninger mellom innganger og utganger:

ENIGMuino

Åpne Enigma

Arduino Enigma Simulator

Instruerbar fra ST-Geotronics

Trinn 14: Tofaktorautentisering - U2F null sikkerhetsnøkkel

To-faktor autentisering (også kjent som 2FA) er en metode for å bekrefte en brukers påståtte identitet ved å bruke en kombinasjon av to forskjellige faktorer: 1) noe de vet, 2) noe de har, eller 3) noe de er. Et godt eksempel på tofaktorautentisering er uttak av penger fra en minibank, der bare den riktige kombinasjonen av et bankkort (noe brukeren har) og en PIN-kode (noe brukeren vet) gjør at transaksjonen kan utføres.

Universal 2nd Factor (U2F) er en åpen godkjenningsstandard som styrker og forenkler tofaktorautentisering ved hjelp av spesialiserte USB- eller NFC-enheter basert på lignende sikkerhetsteknologi som finnes i smartkort. U2F-sikkerhetstaster støttes av Google Chrome siden versjon 38 og Opera siden versjon 40. U2F-sikkerhetsnøkler kan brukes som en ekstra metode for totrinnsbekreftelse på online-tjenester som støtter U2F-protokollen, inkludert Google, Dropbox, GitHub, GitLab, Bitbucket, Nextcloud, Facebook og andre.

U2F Zero er et U2F -token med åpen kildekode for tofaktorautentisering. Den har Microchip ATECC508A Cryptographic Co-prosessor, som støtter:

  • Sikker maskinvarebasert nøkkellagring
  • Algoritmer for høyhastighets offentlig nøkkel (PKI)
  • ECDSA: FIPS186-3 elliptisk kurve digital signaturalgoritme
  • ECDH: FIPS SP800-56A Elliptic Curve Diffie-Hellman Algorithm
  • NIST Standard P256 Elliptic Curve Support
  • SHA-256 Hash-algoritme med HMAC-alternativ
  • Lagring for opptil 16 nøkler - 256 -biters nøkkellengde
  • Unikt 72-biters serienummer
  • FIPS tilfeldig tallgenerator (RNG)

Trinn 15: Loddeutfordringssett

Loddeutfordringssett
Loddeutfordringssett
Loddeutfordringssett
Loddeutfordringssett
Loddeutfordringssett
Loddeutfordringssett

Hvis du har en seriøs loddeutfordring, kan du bygge din egen U2F Zero Key.

U2F Zero Lodding Challenge Kit:

  • U2F Zero Token PCB
  • 8051 kjernemikrokontroller (E0) EFM8UB11F16G
  • Sikkert element (A1) ATECC508A
  • Status -LED (RGB1) 0603 Felles anode
  • Zener ESD -beskyttelsesdiode (Z1) SOT553
  • 100 Ohm motstand (R1) 0603
  • 4,7 uF bypass -kondensator (C4) 0603
  • 0,1 uF bypass -kondensator (C3) 0403
  • Momentary Tactile Button (SW1)
  • Nøkkelring med delt ring

Vær oppmerksom på at det er to komponenter i størrelsen 0603. De ser ganske like ut, men grundig undersøkelse vil avsløre at R1 er svart og C4 er brun. Vær også oppmerksom på at E0, A1 og RGB1 har nødvendig orientering som angitt på PCB -silketrykket.

U2F Zero Wiki viser detaljene for programmering av mikrokontrolleren.

UTFORDRING MERK: Hver HackerBox #0027 inneholder to loddeutfordringssett akkurat fordi lodding er veldig vanskelig og ulykker skjer. Ikke bli frustrert. Bruk høy forstørrelse, pinsett, et godt strykejern, loddefluks, og beveg deg veldig sakte og forsiktig. Hvis du ikke lykkes med å lodde dette settet, er du definitivt ikke alene. Selv om det aldri fungerer, er det god loddepraksis på en rekke SMT -pakker.

Det kan være lurt å sjekke denne episoden av Ben Heck Show on Surface Mount Lodding.

Trinn 16: HAKK PLANETEN

HAKK PLANETEN
HAKK PLANETEN

Hvis du har likt denne Instrucable og ønsker å få en eske med elektronikk og datatekniske prosjekter som dette levert rett i postkassen din hver måned, kan du bli med i HackerBox -revolusjonen ved å abonnere HER.

Nå ut og del suksessen din i kommentarene nedenfor eller på HackerBoxes Facebook -side. Gi oss beskjed hvis du har spørsmål eller trenger hjelp med noe. Takk for at du er en del av HackerBoxes. Kom gjerne med forslag og tilbakemeldinger. HackerBoxes er DINE esker. La oss lage noe flott!

Anbefalt: