Съдържание:

HackerBox 0027: Cypherpunk: 16 стъпки
HackerBox 0027: Cypherpunk: 16 стъпки

Видео: HackerBox 0027: Cypherpunk: 16 стъпки

Видео: HackerBox 0027: Cypherpunk: 16 стъпки
Видео: Hackerbox 0089 WiSpy 2024, Ноември
Anonim
HackerBox 0027: Cypherpunk
HackerBox 0027: Cypherpunk

Cypherpunk - Този месец хакерите HackerBox изследват поверителността и криптографията. Тази инструкция съдържа информация за работа с HackerBox #0027, която можете да вземете тук до изчерпване на количествата. Също така, ако искате да получавате такъв HackerBox точно във вашата пощенска кутия всеки месец, моля, абонирайте се на HackerBoxes.com и се присъединете към революцията!

Теми и учебни цели за HackerBox 0027:

  • Разберете важните социални последици от поверителността
  • Защитени камери на лични електронни устройства
  • Разгледайте историята и математиката на криптографията
  • Контекстуализирайте общ криптографски софтуер
  • Конфигурирайте платка "Black Pill" на STM32 ARM процесор
  • Програмирайте STM32 Black Pill с помощта на Arduino IDE
  • Интегрирайте клавиатура и TFT дисплей с черното хапче
  • Възпроизвеждайте функционалността на машината за Втората световна война
  • Разберете многофакторното удостоверяване
  • Изправете се пред предизвикателството за запояване, за да изградите U2F Zero USB Token

HackerBoxes е услугата за месечен абонамент за електронна електроника и компютърни технологии. Ние сме любители, създатели и експериментатори. Ние сме мечтателите на мечтите. ХАК НА ПЛАНЕТАТА!

Стъпка 1: HackerBox 0027: Съдържание на кутията

HackerBox 0027: Съдържание на кутията
HackerBox 0027: Съдържание на кутията
  • HackerBoxes #0027 Колекционерска референтна карта
  • Черно хапче STM32F103C8T6 модул
  • USB програмист STLink V2
  • Пълноцветен 2,4 -инчов TFT дисплей - 240x320 пиксела
  • 4x4 матрична клавиатура
  • 830 точкова безлетъчна платка
  • Комплект джъмпер от тел 140 броя
  • Два комплекта предизвикателства U2F с нулево запояване
  • Голяма 9x15 см зелена прототипирана платка
  • Изключителни шпионски блокери от винил GawkStop
  • Изключително алуминиево магнитно капаче за въртяща се уеб камера
  • Изключителен пластир от EFF
  • Декларация за поверителност на язовец
  • Tor Decal

Някои други неща, които ще бъдат полезни:

  • Поялник, спойка и основни инструменти за запояване
  • Лупа и малки пинсети за SMT запояване предизвикателство
  • Компютър за стартиране на софтуерни инструменти

Най -важното е, че ще ви трябва чувство за приключение, дух „направи си сам“и хакерско любопитство. Хардкор DIY електрониката не е тривиално занимание и ние не я разводняваме вместо вас. Целта е напредък, а не съвършенство. Когато упорствате и се наслаждавате на приключението, голяма степен на удовлетворение може да бъде получено от изучаването на нови технологии и надявам се някои проекти да работят. Предлагаме да правите всяка стъпка бавно, като имате предвид детайлите и не се страхувайте да помолите за помощ.

Имайте предвид, че има много информация за настоящи и бъдещи членове в често задаваните въпроси за HackerBox.

Стъпка 2: Cypherpunks

Cypherpunks
Cypherpunks

Cypherpunk [wikipedia] е активист, застъпващ се за широкото използване на силна криптография и технологии за повишаване на поверителността като път към социална и политическа промяна. Първоначално комуникирайки чрез списъка за електронна поща на Cypherpunks, неформалните групи имаха за цел да постигнат поверителност и сигурност чрез проактивно използване на криптография. Cypherpunks се занимават с активно движение от края на 80 -те години на миналия век.

В края на 1992 г. Ерик Хюз, Тимъти К. Мей и Джон Гилмор основават малка група, която се събира ежемесечно в компанията на Гилмор Cygnus Solutions в района на залива Сан Франциско, и е хумористично наречена кифърпанки от Джуд Милхон на една от първите срещи - получена от шифър и киберпънк. През ноември 2006 г. думата „cypherpunk“беше добавена към Оксфордския английски речник.

Основните идеи могат да бъдат намерени в „Манифестът на Cypherpunk“(Ерик Хюз, 1993): „Поверителността е необходима за едно отворено общество в ерата на електронните технологии … Не можем да очакваме правителствата, корпорациите или други големи безлични организации да ни предоставят поверителност … Ние трябва да защитаваме собствената си поверителност, ако очакваме да имаме такива. … Cypherpunks пише код. Знаем, че някой трябва да напише софтуер, за да защити поверителността, и … ние ще го напишем. Някои забележителни кифърпанки са или са били висши служители в големи технологични компании, университети и други са известни изследователски организации.

Стъпка 3: Фондация за електронна граница (EFF)

Фондация за електронни граници (EFF)
Фондация за електронни граници (EFF)

EFF [wikipedia] е международна нестопанска група за цифрови права със седалище в Сан Франциско, Калифорния. Фондацията е създадена през юли 1990 г. от Джон Гилмор, Джон Пери Барлоу и Мич Капор за насърчаване на гражданските свободи в Интернет.

ЕФР осигурява средства за правна защита в съда, представя резюмета на amicus curiae, защитава хората и новите технологии от това, което счита за злоупотреба с правни заплахи, работи за разкриване на държавни злоупотреби, предоставя насоки на правителството и съдилищата, организира политически действия и масови писма, подкрепя някои нови технологии, за които смята, че запазват личните свободи и онлайн гражданските свободи, поддържа база данни и уеб сайтове на свързани новини и информация, следи и оспорва потенциалното законодателство, което смята, че би нарушило личните свободи и честната употреба, и изисква списък на това, което разглежда злоупотребяващи патенти с намерение да победи тези, които счита за неоснователни. EFF също така предоставя съвети, инструменти, инструкции, уроци и софтуер за по-безопасна онлайн комуникация.

HackerBoxes се гордее, че е основен дарител на Фондацията за електронни граници. Силно насърчаваме всеки и всеки да кликне тук и да покаже вашата подкрепа на тази изключително важна група с нестопанска цел, която защитава дигиталната поверителност и свободното изразяване. Правната работа, активизмът и разработването на софтуер от страна на EFF се стремят да запазят основните ни права в цифровия свят. EFF е организация с нестопанска цел от 501 (c) (3) в САЩ и вашите дарения може да се приспадат от данъци.

Стъпка 4: Забележителни проекти по ЕФР

Забележителни проекти по ЕФР
Забележителни проекти по ЕФР

Privacy Badger е добавка за браузър, която спира рекламодателите и други проследяващи трети страни да проследяват тайно къде отивате и какви страници разглеждате в мрежата. Ако изглежда, че рекламодател ви проследява в множество уебсайтове без ваше разрешение, Privacy Badger автоматично блокира този рекламодател да зарежда повече съдържание във вашия браузър. За рекламодателя сякаш изведнъж сте изчезнали.

Мрежовата неутралност е идеята, че доставчиците на интернет услуги (ISP) трябва да третират справедливо всички данни, които пътуват през техните мрежи, без неправомерна дискриминация в полза на конкретни приложения, сайтове или услуги. Това е принцип, който трябва да се поддържа, за да се защити бъдещето на нашия отворен интернет.

Companion Security Education Companion е нов ресурс за хора, които биха искали да помогнат на своите общности да научат за дигиталната сигурност. Необходимостта от стабилна лична цифрова сигурност нараства всеки ден. От местни групи до организации на гражданското общество до отделни членове на EFF, хората от цялата ни общност изразяват необходимост от достъпни образователни материали за сигурност, които да споделят с приятелите си, съседите и колегите си.

Onion Router (Tor) позволява на своите потребители да сърфират в Интернет, да разговарят и да изпращат анонимни съобщения анонимно. Tor е безплатен софтуер и отворена мрежа, която помага за защита срещу анализ на трафика, форма на мрежово наблюдение, която застрашава личната свобода и поверителност, поверителни бизнес дейности и взаимоотношения и държавна сигурност.

Стъпка 5: Защитете камерите си

Защитете вашите фотоапарати
Защитете вашите фотоапарати

Според WIRED Magazine „шпионските инструменти, независимо дали са проектирани от разузнавателни агенции, кибер мошеници или интернет, могат да включат камерата ви, без да светят индикаторната лампа“. [WIRED]

Докато беше директор на ФБР, Джеймс Коми произнесе реч за криптирането и поверителността. Той коментира, че поставя лента върху обектива на уеб камерата на лаптопа си. [NPR]

Марк Зукърбърг направи новина, когато обществеността забеляза, че той следва същата практика. [TIME]

HackerBox #0027 разполага с колекция от персонализирани винилови шпионски блокери GAWK STOP, както и алуминиево покритие за уеб камера с магнитно въртене.

Стъпка 6: Криптография

Криптография
Криптография

Криптографията [wikipedia] е практикуването и изучаването на техники за сигурна комуникация в присъствието на трети страни, наречени противници. Криптографията преди съвременната ера всъщност е била синоним на криптиране, превръщането на информацията от четимо състояние в очевидна глупост. Авторът на криптирано съобщение сподели техниката за декодиране, необходима за възстановяване на първоначалната информация само с предполагаемите получатели, като по този начин изключи нежеланите лица да направят същото. Криптографската литература често използва името Алис ("А") за изпращача, Боб ("В") за предполагаемия получател и Ева ("подслушвател") за противника. След развитието на роторните шифроващи машини през Първата световна война и появата на компютрите през Втората световна война, методите, използвани за извършване на криптология, стават все по -сложни и приложението им става все по -широко разпространено. Съвременната криптография се основава в голяма степен на математическата теория. Криптографските алгоритми са проектирани въз основа на предположения за изчислителна твърдост, което прави такива алгоритми трудни за разбиване от всеки противник.

Има много онлайн ресурси, за да научите повече за криптографията. Ето няколко изходни точки:

Пътешествието в криптографията в Академия Хан е отлична поредица от видеоклипове, статии и дейности.

Станфордският университет има безплатен онлайн курс по криптография.

Брус Шнайер е публикувал връзка към онлайн копие на класическата си книга „Приложна криптография“. Текстът предоставя цялостен преглед на съвременната криптография. Той описва десетки криптографски алгоритми и дава практически съвети как да ги приложим.

Стъпка 7: Общ криптографски софтуер

Общ криптографски софтуер
Общ криптографски софтуер

От практическа гледна точка, има няколко специфични приложения на криптографията, които трябва да знаем:

Pretty Good Privacy (PGP) е програма за криптиране, която осигурява криптографска поверителност и удостоверяване за съхранени данни. PGP се използва за подписване, криптиране и декриптиране на текст, имейли, файлове, директории и дори цели дялове на диска.

Защитата на транспортния слой (TLS) е криптографски протокол, който осигурява комуникационна сигурност през компютърна мрежа. TLS се използва в приложения като сърфиране в мрежата, имейл, изпращане на интернет факс, незабавни съобщения и глас по IP (VoIP). Уебсайтовете могат да използват TLS за защита на всички комуникации между техните сървъри и уеб браузъри. TLS се основава на по -ранните спецификации на Secure Sockets Layer (SSL).

Internet Protocol Security (IPsec) е пакет от мрежови протоколи, който удостоверява и криптира пакетите от данни, изпратени по мрежа. IPsec включва протоколи за установяване на взаимно удостоверяване между агентите в началото на сесията и договаряне на криптографски ключове, които да се използват по време на сесията.

Виртуална частна мрежа (VPN) разширява частна мрежа в публична мрежа и дава възможност на потребителите да изпращат и получават данни в споделени или обществени мрежи, сякаш техните изчислителни устройства са директно свързани към частната мрежа. Системите от всеки край на VPN тунела криптират данните, влизащи в тунела, и ги декриптират в другия край.

Блокчейн е непрекъснато нарастващ списък от записи, наречени блокове, които са свързани и защитени с помощта на криптография. Първият блокчейн беше внедрен през 2009 г. като основен компонент на биткойн, където служи като публична книга за всички транзакции. Изобретението на блокчейн за биткойн го превърна в първата цифрова валута за решаване на проблема с двойните разходи без нуждата от доверен орган или централен сървър.

Стъпка 8: Черно хапче STM32

STM32 Черно хапче
STM32 Черно хапче
STM32 Черно хапче
STM32 Черно хапче

Черното хапче е най -новата дъска за хапчета STM32. Това е подобрен вариант на общото синьо хапче и по -рядкото червено хапче.

Черното хапче разполага с STM32F103C8T6 32-битов ARM M3 микроконтролер (лист с данни), четири-пинов ST-Link заглавие, MicroUSB порт и потребителски светодиод на PB12. Правилният издърпващ резистор на PA12 се инсталира за правилна работа на USB порта. Това издърпване обикновено изисква модификация на дъската на други хапчета за хапчета.

Макар че на външен вид е подобен на типичния Arduino Nano, Черното хапче е далеч по -мощно. 32 -битовият микроконтролер STM32F103C8T6 ARM може да работи на 72 MHz. Той може да извършва едноциклово умножение и хардуерно разделяне. Той има 64 Kbytes флаш памет и 20 Kbytes SRAM.

Стъпка 9: Мигайте черното хапче с Arduino IDE и STLink

Мига на черното хапче с Arduino IDE и STLink
Мига на черното хапче с Arduino IDE и STLink

Ако не сте инсталирали скорошна Arduino IDE, вземете я тук.

След това вземете хранилището на Roger Clark Arduino_STM32. Това включва хардуерните файлове за поддръжка на STM32 платки в Arduino IDE 1.8.x. Ако изтеглите това ръчно, уверете се, че Arduino_STM32-master.zip се разопакова в папката „хардуер“на Arduino IDE. Обърнете внимание, че има форум за поддръжка на този пакет.

Прикрепете кабелите на джъмпера STLink, както е показано тук.

Стартирайте Arduino IDE и изберете тези опции под Инструменти:

Платка: Обща серия STM32F103C Вариант: STM32F103C8 (20k RAM. 64k Flash) Скорост на процесора (MHz): "72MHz (нормално)" Метод на качване: "STLink"

Отворете файловите примери> основи> мигане Променете всичките три екземпляра на "LED_BUILTIN" на PB12 Ударете стрелката "качване" (светодиодът на STLink ще мига по време на качване)

Тази качена скица ще мига потребителския светодиод на черното хапче ще се включва и изключва всяка секунда. След това променете стойността в двата израза за забавяне (1000) от 1000 на 100 и качете отново. Сега светодиодът трябва да мига десет пъти по -бързо. Това е нашето стандартно упражнение „Hello World“, за да сме сигурни, че можем да съставим проста програма и да я заредим на целевата дъска.

Стъпка 10: Хапче Duckie

Хапче Duckie
Хапче Duckie

Pill Duck е скриптирано USB HID устройство, използващо STM32. Разбира се, защо не?

Стъпка 11: TFT дисплей

TFT дисплей
TFT дисплей

Дисплеят с течнокристален транзистор с тънък филм (TFT LCD) е вариант на течнокристален дисплей (LCD), който използва тънкослойна транзисторна технология за подобрени качества на изображението, като адресируемост и контраст. TFT LCD е LCD с активна матрица, за разлика от LCD с пасивна матрица или обикновени LCD дисплеи с директно задвижване с няколко сегмента.

Този пълноцветен TFT дисплей е с размери 2,4 инча и има резолюция 240x320.

Контролерът е ILI9341 (лист с данни), който може да се свърже към STM32 чрез шина на сериен периферен интерфейс (SPI) според схемата на свързване, показана тук.

За да тествате дисплея, заредете скицата от:

примери> Adafruit_ILI9341_STM> stm32_graphicstest

Променете трите дефиниции на контролния щифт така:

#дефинирайте TFT_CS PA1#дефинирайте TFT_DC PA3#дефинирайте TFT_RST PA2

Имайте предвид, че примерът с графичен тест се изпълнява много бързо поради подобрената производителност на STM32 спрямо традиционния микроконтролер Arduino AVR.

Стъпка 12: Въвеждане на матрица от клавиатурата

Матричен вход на клавиатурата
Матричен вход на клавиатурата

Свържете 4x4 матричната клавиатура, както е показано, и заредете приложената скица TFT_Keypad. Този пример чете клавиатурата и показва клавиша на екрана. Имайте предвид, че този прост пример за четене на клавиатурата е блокиращ, тъй като използва функцията delay (). Това би могло да се подобри чрез преминаване към модел на анкета или прекъсване.

Сглобяването на клавиатурата и TFT дисплея заедно с черното хапче върху споената платка или зелената протоборда прави приятна „изчислителна платформа“с вход и дисплей.

Стъпка 13: Предизвикателство за машинен код на Enigma

Image
Image
Двуфакторно удостоверяване - U2F нулев ключ за сигурност
Двуфакторно удостоверяване - U2F нулев ключ за сигурност

Enigma Machines са електромеханични роторни шифроващи машини, разработени и използвани в началото до средата на 20 век. Те бяха приети от военни и правителствени служби на няколко държави, най -вече нацистка Германия. Въоръжените сили на Германия смятат, че техните шифровани от Енигма комуникации са непроницаеми за съюзниците. Но хиляди разбивачи на кодове - базирани в дървени хижи в британския парк Блетчли - имаха други идеи.

Предизвикателството за кодиране този месец е да превърнете „изчислителната платформа“във ваша собствена машина Enigma.

Вече реализирахме примери за входове от клавиатурата и изходи на дисплея.

Ето няколко примера за настройките и изчисленията между входовете и изходите:

ENIGMuino

Отворете Enigma

Arduino Enigma Simulator

Инструктиран от ST-Geotronics

Стъпка 14: Двуфакторно удостоверяване - U2F нулев ключ за сигурност

Двуфакторното удостоверяване (известно още като 2FA) е метод за потвърждаване на заявената от потребителя самоличност чрез използване на комбинация от два различни фактора: 1) нещо, което знаят, 2) нещо, което имат, или 3) нещо, което са. Добър пример за двуфакторно удостоверяване е тегленето на пари от банкомат, където само правилната комбинация от банкова карта (нещо, което потребителят притежава) и ПИН код (нещо, което потребителят знае) позволява извършването на транзакцията..

Universal 2nd Factor (U2F) е отворен стандарт за удостоверяване, който подсилва и опростява двуфакторното удостоверяване чрез използване на специализирани USB или NFC устройства, базирани на подобна технология за сигурност, открита в смарт картите. Ключовете за сигурност на U2F се поддържат от Google Chrome от версия 38 и Opera от версия 40. Ключовете за сигурност на U2F могат да се използват като допълнителен метод за двуетапна проверка на онлайн услуги, които поддържат протокола U2F, включително Google, Dropbox, GitHub, GitLab, Bitbucket, Nextcloud, Facebook и други.

U2F Zero е U2F маркер с отворен код за двуфакторно удостоверяване. Той разполага с микрочип ATECC508A криптографски съпроцесор, който поддържа:

  • Сигурно хардуерно базирано съхранение на ключове
  • Алгоритми за високоскоростен публичен ключ (PKI)
  • ECDSA: Алгоритъм за цифров подпис с елиптична крива FIPS186-3
  • ECDH: алгоритъм на Diffie-Hellman с елиптична крива по FIPS SP800-56A
  • Поддръжка на стандарт NIST P256 за елиптична крива
  • SHA-256 Хеш алгоритъм с опция HMAC
  • Съхранение до 16 ключа - 256 -битова дължина на ключа
  • Уникален 72-битов сериен номер
  • Генератор на случайни числа FIPS (RNG)

Стъпка 15: Комплект предизвикателства за запояване

Комплект за запояване на предизвикателство
Комплект за запояване на предизвикателство
Комплект за запояване на предизвикателство
Комплект за запояване на предизвикателство
Комплект за запояване на предизвикателство
Комплект за запояване на предизвикателство

Ако сте готови за сериозно предизвикателство за запояване, можете да създадете свой собствен U2F нулев ключ.

Комплект за предизвикателство за запояване на U2F:

  • U2F Zero Token PCB
  • 8051 ядрен микроконтролер (E0) EFM8UB11F16G
  • Защитен елемент (A1) ATECC508A
  • Статус LED (RGB1) 0603 Общ анод
  • Zener ESD Защитен диод (Z1) SOT553
  • 100 ома резистор (R1) 0603
  • 4.7 uF байпасен кондензатор (C4) 0603
  • Байпасен кондензатор 0,1 uF (C3) 0403
  • Моментен тактилен бутон (SW1)
  • Ключодържател с разделен пръстен

Имайте предвид, че има два компонента с размер 0603. Те изглеждат доста сходни, но внимателното изследване ще покаже, че R1 е черен, а C4 е тен. Също така имайте предвид, че E0, A1 и RGB1 изискват ориентация, както е посочено на печатната платка.

U2F Zero Wiki показва подробностите за програмиране на микроконтролера.

ЗАБЕЛЕЖКА ЗА ПРЕДИЗВИКАТЕЛСТВО: Всеки HackerBox #0027 включва два комплекта за запояване предизвикателство точно защото запояването е много трудно и се случват инциденти. Не се разочаровайте. Използвайте голямо увеличение, пинсети, добро желязо, флюс на спойка и се движете много бавно и внимателно. Ако не можете успешно да запоите този комплект, определено не сте сами. Дори и никога да не работи, това е добра практика за запояване на различни SMT пакети.

Може да искате да разгледате този епизод от шоуто на Бен Хек за запояване на повърхностен монтаж.

Стъпка 16: ХАК НА ПЛАНЕТАТА

ХАК НА ПЛАНЕТАТА
ХАК НА ПЛАНЕТАТА

Ако сте се наслаждавали на този Instrucable и искате да получавате кутия с проекти за електроника и компютърни технологии като тази всеки месец директно във вашата пощенска кутия, моля, присъединете се към революцията на HackerBox чрез АБОНИРАНЕ ТУК.

Протегнете ръка и споделете успеха си в коментарите по -долу или на страницата на HackerBoxes във Facebook. Със сигурност ни уведомете, ако имате въпроси или имате нужда от помощ за нещо. Благодарим ви, че сте част от HackerBoxes. Моля, продължавайте да получавате вашите предложения и обратна връзка. HackerBoxes са ВАШИТЕ кутии. Нека направим нещо страхотно!

Препоръчано: