Innehållsförteckning:

HackerBox 0027: Cypherpunk: 16 steg
HackerBox 0027: Cypherpunk: 16 steg

Video: HackerBox 0027: Cypherpunk: 16 steg

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

Cypherpunk - Den här månaden utforskar HackerBox Hackers integritet och kryptografi. Denna instruktionsbok innehåller information om hur du arbetar med HackerBox #0027, som du kan hämta här så länge lagret räcker. Om du också vill få en sån här HackerBox direkt i din brevlåda varje månad, prenumerera på HackerBoxes.com och gå med i revolutionen!

Ämnen och inlärningsmål för HackerBox 0027:

  • Förstå de viktiga sociala konsekvenserna av integritet
  • Säkra kameror på personliga elektroniska enheter
  • Utforska kryptografins historia och matematik
  • Kontextualisera vanlig kryptografisk programvara
  • Konfigurera ett STM32 ARM -processor "Black Pill" -kort
  • Programmera STM32 Black Pill med Arduino IDE
  • Integrera en knappsats och en TFT -skärm med den svarta pillren
  • Kopiera funktionaliteten för WWII Enigma Machine
  • Förstå multifaktorautentisering
  • Stå inför lödningsutmaningen för att bygga en U2F Zero USB -token

HackerBoxes är den månatliga prenumerationstjänsten för DIY -elektronik och datorteknik. Vi är hobbyister, tillverkare och experimenterande. Vi är drömmarnas drömmare. HACKA PLANET!

Steg 1: HackerBox 0027: Boxinnehåll

HackerBox 0027: Lådans innehåll
HackerBox 0027: Lådans innehåll
  • HackerBoxes #0027 Samlingsbart referenskort
  • Svart piller STM32F103C8T6 -modul
  • STLink V2 USB -programmerare
  • 2,4 tums TFT -skärm i fullfärg - 240x320 pixlar
  • 4x4 Matrix -knappsats
  • 830 -punkts lödfritt brödbräda
  • 140 bit trådtröja
  • Två U2F Nollödningskit
  • Stor 9x15 cm grön prototierande kretskort
  • Exklusiva Vinyl GawkStop Spy Blockers
  • Exklusivt aluminiummagnetiskt vridbart webbkameraskydd
  • Exklusiv EFF -patch
  • Privacy Badger Dekal
  • Tor dekal

Några andra saker som kommer att vara till hjälp:

  • Lödkolv, löd och grundläggande lödverktyg
  • Förstoringsglas och små pincetter för SMT -lödning
  • Dator för att köra mjukvaruverktyg

Viktigast av allt, du behöver en känsla av äventyr, DIY -anda och nyfikenhet på hackare. Hardcore DIY -elektronik är inte en trivial strävan, och vi vattnar inte ner det för dig. Målet är framsteg, inte perfektion. När du fortsätter och njuter av äventyret kan stor tillfredsställelse härledas från att lära dig ny teknik och förhoppningsvis få några projekt att fungera. Vi föreslår att du tar varje steg långsamt, tänker på detaljerna och var inte rädd för att be om hjälp.

Observera att det finns en mängd information för nuvarande och potentiella medlemmar i HackerBox FAQ.

Steg 2: Cypherpunks

Cypherpunks
Cypherpunks

En Cypherpunk [wikipedia] är en aktivist som förespråkar utbredd användning av stark kryptografi och integritetshöjande teknik som en väg till social och politisk förändring. Kommunicerade ursprungligen via Cypherpunks e -postlista, informella grupper syftade till att uppnå integritet och säkerhet genom proaktiv användning av kryptografi. Cypherpunks har varit engagerade i en aktiv rörelse sedan slutet av 1980 -talet.

I slutet av 1992 grundade Eric Hughes, Timothy C. May och John Gilmore en liten grupp som träffades varje månad på Gilmores företag Cygnus Solutions i San Francisco Bay Area och som humoristiskt kallades cypherpunks av Jude Milhon vid ett av de första mötena - härledda från chiffer och cyberpunk. I november 2006 lades ordet "cypherpunk" till Oxford English Dictionary.

Grundidéerna finns i A Cypherpunk's Manifesto (Eric Hughes, 1993): "Sekretess är nödvändigt för ett öppet samhälle i den elektroniska tidsåldern. … Vi kan inte förvänta oss att regeringar, företag eller andra stora, ansiktslösa organisationer ger oss integritet … Vi måste försvara vår egen integritet om vi förväntar oss att ha någon. … Cypherpunks skriver kod. Vi vet att någon måste skriva programvara för att försvara integriteten, och … vi kommer att skriva den. " Några anmärkningsvärda cypherpunks är eller var högre personal vid stora teknikföretag, universitet och andra är välkända forskningsorganisationer.

Steg 3: Electronic Frontier Foundation (EFF)

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

EFF [wikipedia] är en internationell ideell grupp för digitala rättigheter baserade i San Francisco, Kalifornien. Stiftelsen bildades i juli 1990 av John Gilmore, John Perry Barlow och Mitch Kapor för att främja Internet -medborgerliga friheter.

EFF tillhandahåller medel för rättsligt försvar i domstol, presenterar amicus curiae briefs, försvarar individer och ny teknik från vad den anser vara kränkande juridiska hot, arbetar för att avslöja regeringens missförhållanden, ger vägledning till regeringen och domstolarna, organiserar politiska åtgärder och massutskick, stöder en del ny teknik som den anser bevara personliga friheter och medborgerliga friheter, upprätthåller en databas och webbplatser med relaterade nyheter och information, övervakar och utmanar potentiell lagstiftning som den anser skulle kränka personliga friheter och rättvis användning och efterfrågar en lista över vad den anser missbrukande patent med avsikt att besegra dem som det anser utan förtjänst. EFF ger också tips, verktyg, instruktioner, handledning och programvara för säkrare onlinekommunikation.

HackerBoxes är stolta över att vara en stor donator till Electronic Frontier Foundation. Vi uppmuntrar starkt alla att klicka här och visa ditt stöd till denna avgörande ideella grupp som skyddar digital integritet och yttrandefrihet. EFF: s juridiska arbete, aktivism och utveckling av programvara för allmänintresset syftar till att bevara våra grundläggande rättigheter i den digitala världen. EFF är en ideell organisation i USA 501 (c) (3) och dina donationer kan vara avdragsgilla.

Steg 4: Anmärkningsvärda EFF -projekt

Anmärkningsvärda EFF -projekt
Anmärkningsvärda EFF -projekt

Privacy Badger är ett webbläsartillägg som hindrar annonsörer och andra tredjepartsspårare från att i hemlighet spåra vart du går och vilka sidor du tittar på på webben. Om en annonsör verkar spåra dig på flera webbplatser utan ditt tillstånd, blockerar Privacy Badger automatiskt den annonsören från att ladda mer innehåll i din webbläsare. För annonsören är det som att du plötsligt försvann.

Nätverksneutralitet är tanken att Internetleverantörer (ISP: er) ska behandla all data som reser över deras nätverk rättvist, utan felaktig diskriminering till förmån för särskilda appar, webbplatser eller tjänster. Det är en princip som måste upprätthållas för att skydda framtiden för vårt öppna internet.

Security Education Companion är en ny resurs för människor som vill hjälpa sina samhällen att lära sig om digital säkerhet. Behovet av robust personlig digital säkerhet ökar för varje dag. Från gräsrotsgrupper till civilsamhällesorganisationer till enskilda EFF -medlemmar, människor från hela vårt samhälle uttrycker ett behov av tillgängligt säkerhetsutbildningsmaterial för att dela med sina vänner, grannar och kollegor.

Onion Router (Tor) gör det möjligt för sina användare att surfa på Internet, chatta och skicka snabbmeddelanden anonymt. Tor är gratis programvara och ett öppet nätverk som hjälper till att försvara sig mot trafikanalyser, en form av nätverksövervakning som hotar personlig frihet och integritet, konfidentiell affärsverksamhet och relationer och statlig säkerhet.

Steg 5: Säkra dina kameror

Säkra dina kameror
Säkra dina kameror

Enligt WIRED Magazine kan "spionverktyg, oavsett om de är designade av underrättelsetjänster, cyberskurkar eller internetskräp, slå på kameran utan att tända indikatorlampan." [TRÅDBUNDEN]

Medan han fungerade som direktör för FBI höll James Comey ett tal om kryptering och integritet. Han kommenterade att han lägger en bit tejp över webbkameralinsen på sin bärbara dator. [NPR]

Mark Zuckerberg gjorde nyheter när allmänheten märkte att han följer samma praxis. [TID]

HackerBox #0027 har en samling anpassade spionblockeringar av GAWK STOPP-vinyl i vinyl samt ett magnetiskt vridbart webbkameralock i aluminium.

Steg 6: Kryptografi

Kryptografi
Kryptografi

Kryptografi [wikipedia] är övning och studier av tekniker för säker kommunikation i närvaro av tredje part som kallas motståndare. Kryptografi före modern tid var faktiskt synonymt med kryptering, omvandling av information från ett läsbart tillstånd till uppenbart nonsens. Upphavaren till ett krypterat meddelande delade avkodningstekniken som behövs för att återställa originalinformationen endast med avsedda mottagare, vilket hindrar oönskade personer från att göra detsamma. Kryptografilitteraturen använder ofta namnet Alice ("A") för avsändaren, Bob ("B") för den avsedda mottagaren och Eve ("avlyssning") för motståndaren. Sedan utvecklingen av rotorkrypteringsmaskiner under första världskriget och tillkomsten av datorer under andra världskriget har metoderna som används för att utföra kryptologi blivit alltmer komplexa och dess tillämpning mer utbredd. Modern kryptografi är starkt baserad på matematisk teori. Kryptografiska algoritmer är utformade kring antaganden om beräkningshårdhet, vilket gör sådana algoritmer svåra att bryta av någon motståndare.

Det finns många online -resurser för att lära sig mer om kryptografi. Här är några utgångspunkter:

The Journey into Cryptography at Khan Academy är en utmärkt serie videor, artiklar och aktiviteter.

Stanford University har en gratis online kryptografikurs.

Bruce Schneier har lagt ut en länk till ett online -exemplar av sin klassiska bok, Applied Cryptography. Texten ger en omfattande undersökning av modern kryptografi. Den beskriver dussintals kryptografiska algoritmer och ger praktiska råd om hur de ska implementeras.

Steg 7: Vanlig kryptografisk programvara

Vanlig kryptografisk programvara
Vanlig kryptografisk programvara

Ur praktisk synvinkel finns det några specifika tillämpningar av kryptografi som vi bör vara medvetna om:

Pretty Good Privacy (PGP) är ett krypteringsprogram som tillhandahåller kryptografisk integritet och autentisering för lagrad data. PGP används för att signera, kryptera och dekryptera text, e-post, filer, kataloger och till och med hela hårddiskpartitioner.

Transport Layer Security (TLS) är ett kryptografiskt protokoll som ger kommunikationssäkerhet över ett datornätverk. TLS används i applikationer som webbsökning, e -post, internetfaxning, snabbmeddelanden och röst över IP (VoIP). Webbplatser kan använda TLS för att säkra all kommunikation mellan sina servrar och webbläsare. TLS bygger på tidigare Secure Sockets Layer (SSL) specifikationer.

Internet Protocol Security (IPsec) är en nätverksprotokollsvit som autentiserar och krypterar datapaket som skickas över ett nätverk. IPsec innehåller protokoll för att upprätta ömsesidig autentisering mellan agenter i början av sessionen och förhandling av kryptografiska nycklar som ska användas under sessionen.

Ett virtuellt privat nätverk (VPN) utökar ett privat nätverk över ett offentligt nätverk och gör det möjligt för användare att skicka och ta emot data över delade eller offentliga nätverk som om deras beräkningsenheter var direkt anslutna till det privata nätverket. Systemen i varje ände av VPN -tunneln krypterar data som kommer in i tunneln och dekrypterar den i andra änden.

En Blockchain är en kontinuerligt växande lista med poster, kallade block, som är länkade och säkrade med kryptografi. Den första blockchain implementerades 2009 som en kärnkomponent i bitcoin där den fungerar som den offentliga bokföringen för alla transaktioner. Uppfinningen av blockchain för bitcoin gjorde den till den första digitala valutan för att lösa problemet med dubbla utgifter utan att behöva en betrodd myndighet eller central server.

Steg 8: STM32 svart piller

STM32 svart piller
STM32 svart piller
STM32 svart piller
STM32 svart piller

The Black Pill är den senaste STM32 Pill Board. Det är en förbättrad variant på den vanliga blå pillren och den mindre vanliga röda pillren.

Black Pill har STM32F103C8T6 32bit ARM M3 mikrokontroller (datablad), en fyrpolig ST-Link-rubrik, en MicroUSB-port och en användarlampa på PB12. Det rätta uppdragningsmotståndet på PA12 kommer installerat för korrekt användning av USB-porten. Denna pull-up krävde vanligtvis en modifiering av brädet på andra piller.

Även om den liknar den typiska Arduino Nano, är den svarta pillren mycket kraftfullare. 32 -bitars STM32F103C8T6 ARM -mikrokontroller kan köras vid 72 MHz. Det kan utföra enkelcykelmultiplikation och hårdvaruindelning. Den har 64 kbyte flashminne och 20 kbyte SRAM.

Steg 9: Blinkar den svarta pillren med Arduino IDE och STLink

Blinkar den svarta pillren med Arduino IDE och STLink
Blinkar den svarta pillren med Arduino IDE och STLink

Om du inte har en ny Arduino IDE installerad, hämta den här.

Skaffa sedan Roger Clarks Arduino_STM32 -förvar. Detta inkluderar maskinvarufiler för att stödja STM32 -kort på Arduino IDE 1.8.x. Om du laddar ner detta manuellt, se till att Arduino_STM32-master.zip packas upp i Arduino IDE "hårdvara" -mappen. Observera att det finns ett supportforum för detta paket.

Fäst STLink -bygelkablarna som visas här.

Kör Arduino IDE och välj dessa alternativ under Verktyg:

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

Öppna filexemplen> grunderna> blinka Ändra alla tre förekomster av "LED_BUILTIN" till PB12 Slå på "ladda upp" -pilen (lysdioden på STLink kommer att flimra under uppladdning)

Denna uppladdade skiss kommer att blinka och stänga av användarlampan på den svarta pillren varje sekund. Ändra sedan värdet i de två fördröjningen (1000) påståendena från 1000 till 100 och ladda upp igen. Lysdioden ska blinka tio gånger snabbare nu. Detta är vår standard "Hello World" övning för att se till att vi kan sammanställa ett enkelt program och ladda det till målkortet.

Steg 10: Pill Duckie

Pill Duckie
Pill Duckie

Pill Duck är en skriptbar USB HID -enhet som använder en STM32. Visst varför inte?

Steg 11: TFT -skärm

TFT -skärm
TFT -skärm

Tunnfilmstransistor flytande kristallskärm (TFT LCD) är en variant av en flytande kristallskärm (LCD) som använder tunnfilmstransistorteknologi för förbättrade bildkvaliteter som adresserbarhet och kontrast. En TFT LCD är en aktiv matris LCD, till skillnad från passiv matris LCD eller enkla, direktdrivna LCD med några segment.

Denna TFT -skärm i fullfärg mäter 2,4 tum och har en upplösning på 240x320.

Regulatorn är en ILI9341 (datablad), som kan anslutas till STM32 via en Serial Peripheral Interface (SPI) -buss enligt kopplingsschemat som visas här.

För att testa displayen ladda skissen från:

exempel> Adafruit_ILI9341_STM> stm32_graphicstest

Ändra de tre kontrollnålarna definierar så här:

#definiera TFT_CS PA1#definiera TFT_DC PA3#definiera TFT_RST PA2

Observera att det grafiska testexemplet körs mycket snabbt på grund av den förbättrade prestandan hos STM32 över den traditionella Arduino AVR -mikrokontrollern.

Steg 12: Matning av knappsatsmatris

Knappsatsmatrisinmatning
Knappsatsmatrisinmatning

Anslut 4x4 Matrix -knappsatsen enligt bilden och ladda upp den bifogade skissen TFT_Keypad. Detta exempel läser knappsatsen och visar tangenten på skärmen. Observera att detta enkla exempel för att läsa knappsatsen blockeras eftersom den använde fördröjning () -funktionen. Detta kan förbättras genom att byta till en undersöknings- eller avbrottsdriven modell.

Att montera knappsatsen och TFT -skärmen tillsammans med den svarta pillren på den lödlösa brödbrädan eller det gröna protoboardet gör en fin "datorplattform" med input och display.

Steg 13: Enigma Machine Code Challenge

Image
Image
Tvåfaktorsautentisering - U2F noll säkerhetsnyckel
Tvåfaktorsautentisering - U2F noll säkerhetsnyckel

Enigma Machines var elektromekaniska rotorkrypteringsmaskiner som utvecklades och användes i början av mitten av 1900-talet. De antogs av militära och statliga tjänster i flera länder, framför allt Nazityskland. Tysklands väpnade styrkor trodde att deras Enigma-krypterade kommunikation var ogenomtränglig för de allierade. Men tusentals kodbrytare - baserade i träkojor i Storbritanniens Bletchley Park - hade andra idéer.

Månadens kodningsutmaning är att göra "datorplattformen" till din alldeles egna Enigma -maskin.

Vi har redan implementerat exempel på knappsatsingångar och displayutgångar.

Här är några exempel på inställningar och beräkningar mellan ingångar och utgångar:

ENIGMuino

Öppna Enigma

Arduino Enigma Simulator

Instruerbar från ST-Geotronics

Steg 14: Tvåfaktorsautentisering - U2F noll säkerhetsnyckel

Tvåfaktorsautentisering (även känd som 2FA) är en metod för att bekräfta en användares hävdade identitet genom att använda en kombination av två olika faktorer: 1) något de vet, 2) något de har, eller 3) något de är. Ett bra exempel på tvåfaktorsautentisering är uttag av pengar från en bankomat, där endast den korrekta kombinationen av ett bankkort (något som användaren har) och en PIN-kod (något som användaren vet) gör att transaktionen kan genomföras.

Universal 2nd Factor (U2F) är en öppen autentiseringsstandard som stärker och förenklar tvåfaktorsautentisering med hjälp av specialiserade USB- eller NFC-enheter baserade på liknande säkerhetsteknik som finns i smartkort. U2F-säkerhetsnycklar stöds av Google Chrome sedan version 38 och Opera sedan version 40. U2F-säkerhetsnycklar kan användas som en ytterligare metod för tvåstegsverifiering på onlinetjänster som stöder U2F-protokollet, inklusive Google, Dropbox, GitHub, GitLab, Bitbucket, Nextcloud, Facebook och andra.

U2F Zero är en U2F -token med öppen källkod för tvåfaktorsautentisering. Den har Microchip ATECC508A Cryptographic Co-processor, som stöder:

  • Säker maskinvarubaserad nyckellagring
  • PKI-algoritmer (High Speed Public Key)
  • ECDSA: FIPS186-3 elliptisk kurva digital signaturalgoritm
  • ECDH: FIPS SP800-56A Elliptic Curve Diffie-Hellman Algorithm
  • NIST Standard P256 Elliptic Curve Support
  • SHA-256 Hash-algoritm med HMAC-tillval
  • Lagring för upp till 16 nycklar - 256 -bitars nyckellängd
  • Unikt 72-bitars serienummer
  • FIPS Random Number Generator (RNG)

Steg 15: Lödningsutmaningssats

Lödningsutmaningssats
Lödningsutmaningssats
Lödningsutmaningssats
Lödningsutmaningssats
Lödningsutmaningssats
Lödningsutmaningssats

Om du är ute efter en allvarlig lödningsutmaning kan du bygga din egen U2F Zero Key.

U2F Nollödningssats:

  • U2F Zero Token PCB
  • 8051 Core Microcontroller (E0) EFM8UB11F16G
  • Säkert element (A1) ATECC508A
  • Status -LED (RGB1) 0603 Gemensam anod
  • Zener ESD -skyddsdiod (Z1) SOT553
  • 100 Ohm motstånd (R1) 0603
  • 4,7 uF bypass -kondensator (C4) 0603
  • 0,1 uF bypass -kondensator (C3) 0403
  • Momentary Tactile Button (SW1)
  • Nyckelring med delad ring

Observera att det finns två 0603 -storlekar. De ser ganska lika ut, men noggrann undersökning kommer att avslöja att R1 är svart och C4 är brun. Observera också att E0, A1 och RGB1 har nödvändiga riktningar som anges på PCB -silkscreen.

U2F Zero Wiki visar detaljer för programmering av mikrokontrollern.

UTMANING OBS: Varje HackerBox #0027 innehåller två lödningsutmaningssatser exakt för att lödningen är mycket svår och olyckor inträffar. Bli inte frustrerad. Använd hög förstoring, pincett, ett bra järn, lödflöde och rör dig mycket långsamt och försiktigt. Om du inte lyckas löda detta kit är du definitivt inte ensam. Även om det aldrig fungerar är det bra lödmetoder på en mängd olika SMT -paket.

Du kanske vill kolla in detta avsnitt av Ben Heck Show on Surface Mount Lodding.

Steg 16: HACKA PLANET

HACKA PLANET
HACKA PLANET

Om du har tyckt om denna Instrucable och skulle vilja få en låda med elektronik och datatekniska projekt som detta levererade direkt till din brevlåda varje månad, vänligen gå med i HackerBox -revolutionen genom att prenumerera HÄR.

Nå ut och dela din framgång i kommentarerna nedan eller på HackerBoxes Facebook -sida. Hör av dig till oss om du har några frågor eller behöver hjälp med något. Tack för att du är en del av HackerBoxes. Kom gärna med dina förslag och feedback. HackerBoxes är DINA lådor. Låt oss göra något bra!

Rekommenderad: