Indholdsfortegnelse:

HackerBox 0027: Cypherpunk: 16 trin
HackerBox 0027: Cypherpunk: 16 trin

Video: HackerBox 0027: Cypherpunk: 16 trin

Video: HackerBox 0027: Cypherpunk: 16 trin
Video: CYPHERPUNK UNDERGROUND - Beyond 7th Moon - CYBERPUNK ! 2024, November
Anonim
HackerBox 0027: Cypherpunk
HackerBox 0027: Cypherpunk

Cypherpunk - I denne måned udforsker HackerBox Hackers privatliv og kryptografi. Denne instruktionsbog indeholder oplysninger om arbejde med HackerBox #0027, som du kan hente her, så længe lager haves. Hvis du også gerne vil modtage en HackerBox som denne direkte i din postkasse hver måned, skal du abonnere på HackerBoxes.com og deltage i revolutionen!

Emner og læringsmål for HackerBox 0027:

  • Forstå de vigtige sociale konsekvenser af privatlivets fred
  • Sikre kameraer på personlige elektroniske enheder
  • Udforsk kryptografiens historie og matematik
  • Kontekstualisere almindelig kryptografisk software
  • Konfigurer et STM32 ARM -processor "Black Pill" -kort
  • Programmer STM32 Black Pill ved hjælp af Arduino IDE
  • Integrer et tastatur og en TFT -skærm med den sorte pille
  • Gentag funktionaliteten i WWII Enigma Machine
  • Forstå Multi-Factor Authentication
  • Stå overfor loddeudfordringen for at bygge et U2F Zero USB -token

HackerBoxes er den månedlige abonnementskassetjeneste til DIY -elektronik og computerteknologi. Vi er hobbyfolk, producenter og eksperimenterende. Vi er drømmernes drømmere. HACK PLANET!

Trin 1: HackerBox 0027: Indhold i kassen

HackerBox 0027: Indhold i æsken
HackerBox 0027: Indhold i æsken
  • HackerBoxes #0027 Samlbart referencekort
  • Sort pil STM32F103C8T6 modul
  • STLink V2 USB -programmerer
  • Fuldfarve 2,4 tommer TFT -skærm - 240x320 pixel
  • 4x4 Matrix -tastatur
  • 830 punkt loddefri brødbræt
  • 140 stykke trådjumper kit
  • To U2F Zero Lodding Challenge Kits
  • Stor 9x15 cm Grøn Prototying PCB
  • Eksklusiv Vinyl GawkStop Spy Blockers
  • Eksklusivt magnetisk drejeligt webcam -dæksel i aluminium
  • Eksklusiv EFF -patch
  • Privacy Badger -mærkat
  • Tor mærkat

Nogle andre ting, der vil være nyttige:

  • Loddejern, lodde og grundlæggende loddeværktøjer
  • Forstørrelsesglas og lille pincet til SMT -loddeudfordring
  • Computer til at køre softwareværktøjer

Vigtigst af alt har du brug for en følelse af eventyr, DIY -ånd og hacker -nysgerrighed. Hardcore DIY elektronik er ikke en triviel forfølgelse, og vi vander det ikke ned for dig. Målet er fremskridt, ikke perfektion. Når du vedvarer og nyder eventyret, kan stor tilfredshed udledes af at lære ny teknologi og forhåbentlig få nogle projekter til at fungere. Vi foreslår at tage hvert trin langsomt, tænke på detaljerne, og vær ikke bange for at bede om hjælp.

Bemærk, at der er et væld af oplysninger til nuværende og potentielle medlemmer i HackerBox ofte stillede spørgsmål.

Trin 2: Cypherpunks

Cypherpunks
Cypherpunks

En Cypherpunk [wikipedia] er en aktivist, der går ind for udbredt brug af stærk kryptografi og privatlivsfremmende teknologier som en vej til sociale og politiske ændringer. Oprindeligt kommunikerede de via Cypherpunks elektroniske mailingliste med det formål at opnå privatliv og sikkerhed ved proaktiv brug af kryptografi. Cypherpunks har været engageret i en aktiv bevægelse siden slutningen af 1980'erne.

I slutningen af 1992 grundlagde Eric Hughes, Timothy C. May og John Gilmore en lille gruppe, der mødtes månedligt i Gilmores virksomhed Cygnus Solutions i San Francisco Bay Area, og blev humoristisk betegnet cypherpunks af Jude Milhon på et af de første møder - afledt af cipher og cyberpunk. I november 2006 blev ordet "cypherpunk" føjet til Oxford English Dictionary.

De grundlæggende ideer findes i A Cypherpunk's Manifesto (Eric Hughes, 1993): "Fortrolighed er nødvendigt for et åbent samfund i den elektroniske tidsalder. … Vi kan ikke forvente, at regeringer, virksomheder eller andre store, ansigtsløse organisationer giver os privatliv … Vi skal forsvare vores eget privatliv, hvis vi forventer at have nogen. … Cypherpunks skriver kode. Vi ved, at nogen skal skrive software for at forsvare privatlivets fred, og … vi kommer til at skrive det. " Nogle bemærkelsesværdige cypherpunks er eller var ledende medarbejdere ved store tech-virksomheder, universiteter og andre er velkendte forskningsorganisationer.

Trin 3: Electronic Frontier Foundation (EFF)

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

EFF [wikipedia] er en international non-profit digital rettighedsgruppe med base i San Francisco, Californien. Fonden blev dannet i juli 1990 af John Gilmore, John Perry Barlow og Mitch Kapor for at fremme internetborgerlige frihedsrettigheder.

EFF yder midler til juridisk forsvar i retten, præsenterer amicus curiae briefs, forsvarer enkeltpersoner og nye teknologier mod, hvad den anser for krænkende juridiske trusler, arbejder på at afsløre regeringsfejl, giver vejledning til regeringen og domstole, organiserer politisk handling og masseforsendelser, støtter nogle nye teknologier, som den mener bevarer personlige frihedsrettigheder og online borgerlige rettigheder, opretholder en database og websteder med relaterede nyheder og oplysninger, overvåger og udfordrer potentiel lovgivning, som den mener ville krænke personlige friheder og rimelig brug, og efterspørger en liste over, hvad den overvejer krænkende patenter med den hensigt at besejre dem, som den anser uden fortjeneste. EFF giver også tips, værktøjer, vejledninger, selvstudier og software til sikrere onlinekommunikation.

HackerBoxes er stolte over at være en stor donor for Electronic Frontier Foundation. Vi opfordrer kraftigt alle til at klikke her og vise din støtte til denne afgørende vigtige non-profit gruppe, der beskytter digitalt privatliv og ytringsfrihed. EFF's juridiske arbejde, aktivisme og softwareudvikling i offentlighedens interesse søger at bevare vores grundlæggende rettigheder i den digitale verden. EFF er en nonprofit -organisation i USA 501 (c) (3), og dine donationer kan være fradragsberettigede.

Trin 4: Bemærkelsesværdige EFF -projekter

Bemærkelsesværdige EFF -projekter
Bemærkelsesværdige EFF -projekter

Privacy Badger er en browser-tilføjelse, der forhindrer annoncører og andre tredjepartssporere i hemmeligt at spore, hvor du går, og hvilke sider du ser på internettet. Hvis en annoncør ser ud til at spore dig på tværs af flere websteder uden din tilladelse, blokerer Privacy Badger automatisk denne annoncør fra at indlæse mere indhold i din browser. For annoncøren er det som om du pludselig forsvandt.

Netværksneutralitet er tanken om, at internetudbydere (ISP'er) skal behandle alle data, der rejser over deres netværk, retfærdigt uden ukorrekt diskrimination til fordel for bestemte apps, websteder eller tjenester. Det er et princip, der skal opretholdes for at beskytte fremtiden for vores åbne internet.

Security Education Companion er en ny ressource for folk, der gerne vil hjælpe deres lokalsamfund med at lære om digital sikkerhed. Behovet for robust personlig digital sikkerhed vokser hver dag. Fra græsrodsgrupper til civilsamfundsorganisationer til individuelle EFF -medlemmer giver folk fra hele vores samfund udtryk for et behov for tilgængeligt sikkerhedsundervisningsmateriale til at dele med deres venner, naboer og kolleger.

Onion Router (Tor) gør det muligt for sine brugere at surfe på Internettet, chatte og sende onlinemeddelelser anonymt. Tor er gratis software og et åbent netværk, der hjælper med at forsvare sig mod trafikanalyser, en form for netværksovervågning, der truer personlig frihed og privatliv, fortrolige forretningsaktiviteter og relationer og statssikkerhed.

Trin 5: Sikre dine kameraer

Beskyt dine kameraer
Beskyt dine kameraer

Ifølge WIRED Magazine kan "spionværktøjer, uanset om de er designet af efterretningsbureauer, cybercrooks eller internetkryp, tænde dit kamera uden at tænde indikatorlyset." [WIRED]

Mens han fungerede som direktør for FBI, holdt James Comey en tale om kryptering og privatliv. Han kommenterede, at han lagde et stykke tape over webcam -objektivet på sin bærbare computer. [NPR]

Mark Zuckerberg lavede nyheder, da offentligheden bemærkede, at han følger den samme praksis. [TID]

HackerBox #0027 indeholder en samling tilpassede vinyl GAWK STOP-spionblokkere samt et magnetisk drejeligt webcam-cover i aluminium.

Trin 6: Kryptografi

Kryptografi
Kryptografi

Kryptografi [wikipedia] er praksis og undersøgelse af teknikker til sikker kommunikation i nærvær af tredjeparter kaldet modstandere. Kryptografi før den moderne tidsalder var effektivt synonymt med kryptering, konvertering af information fra en læsbar tilstand til tilsyneladende vrøvl. Ophavsmanden til en krypteret meddelelse delte den afkodningsteknik, der var nødvendig for at gendanne de originale oplysninger, kun med tiltænkte modtagere og forhindrede derved uønskede personer i at gøre det samme. Kryptografilitteraturen bruger ofte navnet Alice ("A") til afsenderen, Bob ("B") til den tiltænkte modtager og Eve ("aflytter") til modstanderen. Siden udviklingen af rotorkrypteringsmaskiner i første verdenskrig og fremkomsten af computere i anden verdenskrig er metoderne, der bruges til at udføre kryptologi, blevet mere og mere komplekse og dens anvendelse mere udbredt. Moderne kryptografi er stærkt baseret på matematisk teori. Kryptografiske algoritmer er designet omkring antagelser om beregningsmæssig hårdhed, hvilket gør sådanne algoritmer svære at bryde af enhver modstander.

Der er mange online ressourcer til at lære mere om kryptografi. Her er et par udgangspunkt:

Journey into Cryptography på Khan Academy er en fremragende serie af videoer, artikler og aktiviteter.

Stanford University har et gratis online kryptografikursus.

Bruce Schneier har sendt et link til et online -eksemplar af sin klassiske bog, Applied Cryptography. Teksten giver en omfattende undersøgelse af moderne kryptografi. Den beskriver snesevis af kryptografiske algoritmer og giver praktiske råd om, hvordan de implementeres.

Trin 7: Almindelig kryptografisk software

Almindelig kryptografisk software
Almindelig kryptografisk software

Fra et praktisk synspunkt er der et par specifikke anvendelser af kryptografi, som vi bør være opmærksom på:

Pretty Good Privacy (PGP) er et krypteringsprogram, der giver kryptografisk privatliv og godkendelse af lagrede data. PGP bruges til at signere, kryptere og dekryptere tekst, e-mails, filer, mapper og endda hele diskpartitioner.

Transport Layer Security (TLS) er en kryptografisk protokol, der giver kommunikationssikkerhed over et computernetværk. TLS bruges i applikationer såsom webbrowsing, e -mail, internetfax, onlinemeddelelser og voice over IP (VoIP). Websites kan bruge TLS til at sikre al kommunikation mellem deres servere og webbrowsere. TLS er bygget på tidligere Secure Sockets Layer (SSL) specifikationer.

Internet Protocol Security (IPsec) er en netværksprotokolsuite, der godkender og krypterer pakkerne med data, der sendes over et netværk. IPsec indeholder protokoller til etablering af gensidig godkendelse mellem agenter i begyndelsen af sessionen og forhandling af kryptografiske nøgler til brug under sessionen.

Et virtuelt privat netværk (VPN) udvider et privat netværk på tværs af et offentligt netværk og gør det muligt for brugere at sende og modtage data på tværs af delte eller offentlige netværk, som om deres computerenheder var direkte forbundet til det private netværk. Systemerne i hver ende af VPN -tunnelen krypterer dataene, der kommer ind i tunnelen, og dekrypterer dem i den anden ende.

En Blockchain er en løbende voksende liste over poster, kaldet blokke, som er forbundet og sikret ved hjælp af kryptografi. Den første blockchain blev implementeret i 2009 som en kernekomponent i bitcoin, hvor den fungerer som den offentlige hovedbog for alle transaktioner. Opfindelsen af blockchain til bitcoin gjorde den til den første digitale valuta til at løse det dobbelte forbrugsproblem uden behov for en betroet myndighed eller central server.

Trin 8: STM32 sort pille

STM32 sort pille
STM32 sort pille
STM32 sort pille
STM32 sort pille

Den sorte pille er det nyeste STM32 pillebræt. Det er en forbedret variant på den almindelige blå pille og den mindre almindelige røde pille.

Den sorte pille har STM32F103C8T6 32bit ARM M3 mikrokontroller (datablad), en firpins ST-Link header, en MicroUSB-port og en bruger-LED på PB12. Den korrekte pull-up-modstand på PA12 leveres installeret til korrekt betjening af USB-porten. Denne pull-up krævede typisk en boardmodifikation på andre pillestavler.

Selvom den ligner den typiske Arduino Nano, er den sorte pille langt mere kraftfuld. 32bit STM32F103C8T6 ARM mikrokontroller kan køre ved 72 MHz. Det kan udføre single-cycle multiplikation og hardware division. Det har 64 Kbytes Flash -hukommelse og 20 Kbytes SRAM.

Trin 9: Blinker den sorte pille med Arduino IDE og STLink

Blinker den sorte pille med Arduino IDE og STLink
Blinker den sorte pille med Arduino IDE og STLink

Hvis du ikke har en nylig Arduino IDE installeret, kan du hente den her.

Få derefter Roger Clarks Arduino_STM32 -depot. Dette inkluderer hardware -filer til understøttelse af STM32 -kort på Arduino IDE 1.8.x. Hvis du downloader dette manuelt, skal du sørge for, at Arduino_STM32-master.zip bliver pakket ud i Arduino IDE "hardware" -mappen. Bemærk, at der er et supportforum til denne pakke.

Fastgør STLink -jumpertrådene som vist her.

Kør Arduino IDE, og vælg disse muligheder under Værktøjer:

Board: Generisk STM32F103C -serie Variant: STM32F103C8 (20k RAM. 64k Flash) CPU -hastighed (MHz): "72MHz (Normal)" Uploadmetode: "STLink"

Åbn fileksemplerne> basics> blink Ændre alle tre forekomster af "LED_BUILTIN" til PB12 Slå pilen "upload" (LED'en på STLink blinker under upload)

Denne uploadede skitse vil blinke bruger -LED'en på den sorte pille til og fra hvert sekund. Ændr derefter værdien i de to forsinkelsessætninger (1000) fra 1000 til 100, og upload igen. LED'en skal blinke ti gange hurtigere nu. Dette er vores standard "Hello World" øvelse for at sikre, at vi kan kompilere et simpelt program og indlæse det på målbrættet.

Trin 10: Pill Duckie

Pille Duckie
Pille Duckie

Pill Duck er en scriptbar USB HID -enhed, der bruger en STM32. Hvorfor ikke?

Trin 11: TFT -skærm

TFT -skærm
TFT -skærm

Tyndfilm-transistor flydende krystaldisplay (TFT LCD) er en variant af et flydende krystaldisplay (LCD), der anvender tyndfilm-transistorteknologi til forbedrede billedkvaliteter såsom adresserbarhed og kontrast. En TFT LCD er en aktiv matrix LCD, i modsætning til passiv matrix LCD eller enkle, direkte drevne LCD med få segmenter.

Denne TFT -skærm i fuld farve måler 2,4 tommer og har en opløsning på 240x320.

Controlleren er et ILI9341 (datablad), som kan tilsluttes STM32 via en Serial Peripheral Interface (SPI) bus i henhold til ledningsdiagrammet vist her.

For at teste displayet indlæs skitsen fra:

eksempler> Adafruit_ILI9341_STM> stm32_graphicstest

Rediger de tre kontrolnål definerer sådan:

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

Bemærk, at det grafiske testeksempel udføres meget hurtigt på grund af den forbedrede ydeevne af STM32 over den traditionelle Arduino AVR -mikrokontroller.

Trin 12: Tastaturmatrixindgang

Tastaturmatrixindgang
Tastaturmatrixindgang

Tilslut 4x4 Matrix -tastaturet som vist, og indlæs den vedhæftede skitse TFT_Keypad. Dette eksempel læser tastaturet og viser tasten på skærmen. Bemærk, at dette enkle eksempel til læsning af tastaturet blokerer, fordi det brugte funktionen forsinkelse (). Dette kan forbedres ved at skifte til en polling- eller interrupt-drevet model.

Montering af tastaturet og TFT -skærmen sammen med den sorte pille på det loddefrie brødbræt eller det grønne protoboard gør en dejlig "computerplatform" med input og display.

Trin 13: Enigma Machine Code Challenge

Image
Image
To -faktor -godkendelse - U2F nul sikkerhedsnøgle
To -faktor -godkendelse - U2F nul sikkerhedsnøgle

Enigma Machines var elektro-mekaniske rotorkrypteringsmaskiner udviklet og brugt i begyndelsen til midten af det 20. århundrede. De blev adopteret af militære og offentlige tjenester i flere lande, især Nazityskland. Tysklands væbnede styrker mente, at deres Enigma-krypterede kommunikation var uigennemtrængelig for de allierede. Men tusinder af kodebrydere - baseret i træhytter i Storbritanniens Bletchley Park - havde andre ideer.

Denne måneds kodningsudfordring er at gøre "computerplatformen" til din helt egen Enigma -maskine.

Vi har allerede implementeret eksempler på tastaturindgange og displayudgange.

Her er nogle eksempler på indstillinger og beregninger mellem input og output:

ENIGMuino

Åbn Enigma

Arduino Enigma Simulator

Kan instrueres fra ST-Geotronics

Trin 14: To -faktor -godkendelse - U2F Zero -sikkerhedsnøgle

To-faktor-godkendelse (også kendt som 2FA) er en metode til at bekræfte en brugers påståede identitet ved at bruge en kombination af to forskellige faktorer: 1) noget, de ved, 2) noget, de har, eller 3) noget, de er. Et godt eksempel på tofaktorautentificering er hævning af penge fra en pengeautomat, hvor kun den korrekte kombination af et bankkort (noget, som brugeren besidder) og en pinkode (noget, som brugeren ved) gør det muligt at gennemføre transaktionen.

Universal 2nd Factor (U2F) er en åben godkendelsesstandard, der styrker og forenkler tofaktorautentificering ved hjælp af specialiserede USB- eller NFC-enheder baseret på lignende sikkerhedsteknologi, der findes i smartkort. U2F-sikkerhedsnøgler understøttes af Google Chrome siden version 38 og Opera siden version 40. U2F-sikkerhedsnøgler kan bruges som en ekstra metode til totrinsbekræftelse på onlinetjenester, der understøtter U2F-protokollen, herunder Google, Dropbox, GitHub, GitLab, Bitbucket, Nextcloud, Facebook og andre.

U2F Zero er et open source U2F -token til tofaktorautentificering. Den har Microchip ATECC508A Cryptographic Co-processor, som understøtter:

  • Sikker hardware-baseret nøglelagring
  • High-Speed Public Key (PKI) algoritmer
  • 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-option
  • Opbevaring til op til 16 nøgler - 256 -bit nøglelængde
  • Unikt 72-bit serienummer
  • FIPS Random Number Generator (RNG)

Trin 15: Lodning Challenge Kit

Lodning Challenge Kit
Lodning Challenge Kit
Lodning Challenge Kit
Lodning Challenge Kit
Lodning Challenge Kit
Lodning Challenge Kit

Hvis du er til en seriøs loddeudfordring, kan du bygge din egen U2F Zero Key.

U2F Zero Lodding Challenge Kit:

  • U2F Zero Token PCB
  • 8051 Core Microcontroller (E0) EFM8UB11F16G
  • Sikret element (A1) ATECC508A
  • Status -LED (RGB1) 0603 Fælles anode
  • Zener ESD -beskyttelsesdiode (Z1) SOT553
  • 100 Ohm modstand (R1) 0603
  • 4,7 uF bypass -kondensator (C4) 0603
  • 0,1 uF bypass -kondensator (C3) 0403
  • Momentary Tactile Button (SW1)
  • Split-Ring nøglering

Bemærk, at der er to komponenter i størrelsen 0603. De ligner ganske meget, men omhyggelig undersøgelse viser, at R1 er sort og C4 er brun. Bemærk også, at E0, A1 og RGB1 har krævet retning som angivet på printkortet.

U2F Zero Wiki viser detaljerne til programmering af mikrokontrolleren.

UDFORDRING BEMÆRK: Hver HackerBox #0027 indeholder to loddeudfordringssæt, præcis fordi lodningen er meget vanskelig, og der sker uheld. Bliv ikke frustreret. Brug høj forstørrelse, pincet, et godt jern, loddemetal, og bevæg dig meget langsomt og forsigtigt. Hvis du ikke med succes kan lodde dette kit, er du bestemt ikke alene. Selvom det aldrig virker, er det god loddepraksis på en række forskellige SMT -pakker.

Du vil måske tjekke denne episode af Ben Heck Show on Surface Mount Lodning.

Trin 16: HACK PLANET

HACK PLANET
HACK PLANET

Hvis du har nydt denne Instrucable og gerne vil have en æske med elektronik og computerteknologiske projekter som denne leveret direkte til din postkasse hver måned, kan du deltage i HackerBox -revolutionen ved at ABONNERE HER.

Nå ud og del din succes i kommentarerne herunder eller på HackerBoxes Facebook -side. Lad os bestemt vide det, hvis du har spørgsmål eller har brug for hjælp til noget. Tak fordi du var en del af HackerBoxes. Fortsæt venligst med dine forslag og feedback. HackerBoxes er DINE kasser. Lad os lave noget godt!

Anbefalede: