สารบัญ:
- ขั้นตอนที่ 1: HackerBox 0027: เนื้อหาในกล่อง
- ขั้นตอนที่ 2: Cypherpunks
- ขั้นตอนที่ 3: มูลนิธิพรมแดนอิเล็กทรอนิกส์ (EFF)
- ขั้นตอนที่ 4: โครงการ EFF ที่น่าสังเกต
- ขั้นตอนที่ 5: รักษาความปลอดภัยกล้องของคุณ
- ขั้นตอนที่ 6: การเข้ารหัส
- ขั้นตอนที่ 7: ซอฟต์แวร์เข้ารหัสทั่วไป
- ขั้นตอนที่ 8: STM32 Black Pill
- ขั้นตอนที่ 9: กระพริบ Black Pill ด้วย Arduino IDE และ STLink
- ขั้นตอนที่ 10: Pill Duckie
- ขั้นตอนที่ 11: จอแสดงผล TFT
- ขั้นตอนที่ 12: อินพุตเมทริกซ์ปุ่มกด
- ขั้นตอนที่ 13: Enigma Machine Code Challenge
- ขั้นตอนที่ 14: การตรวจสอบสิทธิ์สองปัจจัย - U2F Zero Security Key
- ขั้นตอนที่ 15: ชุดทดสอบการบัดกรี
- ขั้นตอนที่ 16: แฮ็กดาวเคราะห์
วีดีโอ: HackerBox 0027: Cypherpunk: 16 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
Cypherpunk - ในเดือนนี้ HackerBox Hackers กำลังสำรวจความเป็นส่วนตัวและการเข้ารหัส คำแนะนำนี้มีข้อมูลสำหรับการทำงานกับ HackerBox #0027 ซึ่งคุณสามารถรับได้ที่นี่จนกว่าของจะหมด นอกจากนี้ หากคุณต้องการรับ HackerBox แบบนี้ในกล่องจดหมายของคุณทุกเดือน โปรดสมัครสมาชิกที่ HackerBoxes.com และเข้าร่วมการปฏิวัติ!
หัวข้อและวัตถุประสงค์การเรียนรู้สำหรับ HackerBox 0027:
- ทำความเข้าใจผลกระทบทางสังคมที่สำคัญของความเป็นส่วนตัว
- กล้องรักษาความปลอดภัยบนอุปกรณ์อิเล็กทรอนิกส์ส่วนบุคคล
- สำรวจประวัติศาสตร์และคณิตศาสตร์ของการเข้ารหัส
- สร้างบริบทให้กับซอฟต์แวร์เข้ารหัสลับทั่วไป
- กำหนดค่าบอร์ด "Black Pill" โปรเซสเซอร์ STM32 ARM
- ตั้งโปรแกรม STM32 Black Pill โดยใช้ Arduino IDE
- รวมปุ่มกดและจอแสดงผล TFT เข้ากับ Black Pill
- การจำลองการทำงานของเครื่อง Enigma ของสงครามโลกครั้งที่สอง
- ทำความเข้าใจการตรวจสอบสิทธิ์แบบหลายปัจจัย
- เผชิญกับความท้าทายในการบัดกรีเพื่อสร้าง U2F Zero USB Token
HackerBoxes เป็นบริการกล่องสมัครสมาชิกรายเดือนสำหรับอุปกรณ์อิเล็กทรอนิกส์ DIY และเทคโนโลยีคอมพิวเตอร์ เราเป็นมือสมัครเล่น ผู้สร้าง และผู้ทดลอง เราคือผู้ใฝ่ฝัน แฮ็คดาวเคราะห์!
ขั้นตอนที่ 1: HackerBox 0027: เนื้อหาในกล่อง
- HackerBoxes #0027 การ์ดอ้างอิงสำหรับสะสม
- เม็ดดำ STM32F103C8T6 โมดูล
- โปรแกรมเมอร์ STLink V2 USB
- จอแสดงผล TFT Full-Color 2.4 นิ้ว - 240x320 พิกเซล
- 4x4 Matrix Keypad
- 830 Point Solderless Breadboard
- ชุดจัมเปอร์ลวด 140 ชิ้น
- U2F Zero Soldering Challenge Kits สองชุด
- PCB ต้นแบบสีเขียวขนาดใหญ่ 9x15 ซม
- Exclusive Vinyl GawkStop Spy Blockers
- ฝาครอบเว็บแคมแบบหมุนแม่เหล็กอลูมิเนียมแบบพิเศษ
- แพทช์ EFF พิเศษ
- สติ๊กเกอร์ความเป็นส่วนตัว แบดเจอร์
- Tor Decal
สิ่งอื่น ๆ ที่จะเป็นประโยชน์:
- หัวแร้ง หัวแร้ง และเครื่องมือบัดกรีพื้นฐาน
- แว่นขยายและแหนบขนาดเล็กสำหรับการบัดกรีแบบ SMT
- คอมพิวเตอร์สำหรับใช้งานเครื่องมือซอฟต์แวร์
ที่สำคัญที่สุด คุณจะต้องมีความรู้สึกของการผจญภัย จิตวิญญาณของ DIY และความอยากรู้อยากเห็นของแฮ็กเกอร์ อุปกรณ์อิเล็กทรอนิกส์ DIY ที่ไม่ยอมใครง่ายๆ ไม่ใช่เรื่องง่าย และเราไม่ได้ทำเพื่อคุณ เป้าหมายคือความก้าวหน้า ไม่ใช่ความสมบูรณ์แบบ เมื่อคุณยืนกรานและสนุกไปกับการผจญภัย คุณจะเกิดความพึงพอใจอย่างมากจากการเรียนรู้เทคโนโลยีใหม่ ๆ และหวังว่าโครงการบางโครงการจะได้ผล เราขอแนะนำให้ทำแต่ละขั้นตอนอย่างช้าๆ ใส่ใจในรายละเอียด และอย่ากลัวที่จะขอความช่วยเหลือ
โปรดทราบว่ามีข้อมูลมากมายสำหรับสมาชิกปัจจุบันและที่คาดหวังในคำถามที่พบบ่อยของ HackerBox
ขั้นตอนที่ 2: Cypherpunks
Cypherpunk [วิกิพีเดีย] เป็นนักเคลื่อนไหวที่สนับสนุนการใช้การเข้ารหัสที่เข้มงวดและเทคโนโลยีที่เพิ่มความเป็นส่วนตัวอย่างแพร่หลายเพื่อเป็นเส้นทางสู่การเปลี่ยนแปลงทางสังคมและการเมือง เดิมทีมีการสื่อสารผ่านรายชื่อผู้รับจดหมายอิเล็กทรอนิกส์ Cypherpunks กลุ่มที่ไม่เป็นทางการมีจุดมุ่งหมายเพื่อให้เกิดความเป็นส่วนตัวและความปลอดภัยผ่านการใช้การเข้ารหัสในเชิงรุก Cypherpunks มีส่วนร่วมในการเคลื่อนไหวตั้งแต่ปลายทศวรรษ 1980
ปลายปี 1992 Eric Hughes, Timothy C. May และ John Gilmore ได้ก่อตั้งกลุ่มเล็กๆ ที่พบปะกันทุกเดือนที่บริษัท Cygnus Solutions ของบริษัท Gilmore ในบริเวณอ่าวซานฟรานซิสโกเบย์ และ Jude Milhon ถูกเรียกว่า cypherpunks อย่างตลกขบขันในการประชุมครั้งแรกครั้งหนึ่ง ซึ่งมาจาก รหัสและไซเบอร์พังค์ ในเดือนพฤศจิกายน พ.ศ. 2549 คำว่า "cypherpunk" ถูกเพิ่มลงในพจนานุกรมภาษาอังกฤษของอ็อกซ์ฟอร์ด
แนวคิดพื้นฐานสามารถพบได้ในแถลงการณ์ของ A Cypherpunk (Eric Hughes, 1993): ความเป็นส่วนตัวเป็นสิ่งจำเป็นสำหรับสังคมที่เปิดกว้างในยุคอิเล็กทรอนิกส์ … เราไม่สามารถคาดหวังให้รัฐบาล บริษัท หรือองค์กรขนาดใหญ่อื่น ๆ ที่ไม่มีตัวตนจะให้ความเป็นส่วนตัวแก่เรา … เรา ต้องปกป้องความเป็นส่วนตัวของเราหากเราคาดว่าจะมี … Cypherpunks เขียนโค้ด เรารู้ว่ามีคนต้องเขียนซอฟต์แวร์เพื่อปกป้องความเป็นส่วนตัวและ … เราจะเขียนมัน” cypherpunks ที่น่าสังเกตบางตัวเป็นหรือเคยเป็นพนักงานอาวุโสของบริษัทเทคโนโลยีรายใหญ่ มหาวิทยาลัย และอื่นๆ เป็นองค์กรวิจัยที่มีชื่อเสียง
ขั้นตอนที่ 3: มูลนิธิพรมแดนอิเล็กทรอนิกส์ (EFF)
EFF [วิกิพีเดีย] คือกลุ่มสิทธิดิจิทัลระหว่างประเทศที่ไม่แสวงหากำไร ตั้งอยู่ในเมืองซานฟรานซิสโก รัฐแคลิฟอร์เนีย มูลนิธิก่อตั้งขึ้นในเดือนกรกฎาคม 1990 โดย John Gilmore, John Perry Barlow และ Mitch Kapor เพื่อส่งเสริมเสรีภาพพลเมืองทางอินเทอร์เน็ต
EFF จัดหาเงินทุนเพื่อการป้องกันตัวทางกฎหมายในศาล นำเสนอบทสรุปของ amicus curiae ปกป้องบุคคลและเทคโนโลยีใหม่ ๆ จากสิ่งที่ถือว่าเป็นภัยคุกคามทางกฎหมายที่ไม่เหมาะสม ทำงานเพื่อเปิดเผยการทุจริตของรัฐบาล ให้คำแนะนำแก่รัฐบาลและศาล จัดระเบียบการดำเนินการทางการเมืองและการส่งจดหมายจำนวนมาก สนับสนุน เทคโนโลยีใหม่บางอย่างที่เชื่อว่ารักษาเสรีภาพส่วนบุคคลและเสรีภาพของพลเมืองออนไลน์ รักษาฐานข้อมูลและเว็บไซต์ของข่าวและข้อมูลที่เกี่ยวข้อง ตรวจสอบและท้าทายกฎหมายที่อาจเกิดขึ้นซึ่งเชื่อว่าจะละเมิดเสรีภาพส่วนบุคคลและการใช้งานโดยชอบธรรม และเรียกร้องรายการของสิ่งที่มัน พิจารณาสิทธิบัตรที่ไม่เหมาะสมโดยมีเจตนาที่จะเอาชนะสิ่งที่พิจารณาโดยไม่มีคุณธรรม EFF ยังให้เคล็ดลับ เครื่องมือ วิธีการ บทช่วยสอน และซอฟต์แวร์เพื่อการสื่อสารออนไลน์ที่ปลอดภัยยิ่งขึ้น
HackerBoxes ภูมิใจที่ได้เป็นผู้บริจาครายใหญ่ให้กับมูลนิธิ Electronic Frontier Foundation เราขอสนับสนุนให้ทุกคนและทุกคนคลิกที่นี่และแสดงการสนับสนุนของคุณต่อกลุ่มไม่แสวงหาผลกำไรที่สำคัญอย่างยิ่งซึ่งปกป้องความเป็นส่วนตัวทางดิจิทัลและการแสดงออกอย่างอิสระ งานด้านกฎหมายเพื่อสาธารณประโยชน์ การเคลื่อนไหว และการพัฒนาซอฟต์แวร์ของ EFF พยายามรักษาสิทธิ์ขั้นพื้นฐานของเราในโลกดิจิทัล EFF เป็นองค์กรไม่แสวงหาผลกำไรของสหรัฐอเมริกา 501(c)(3) และการบริจาคของคุณอาจนำไปหักลดหย่อนภาษีได้
ขั้นตอนที่ 4: โครงการ EFF ที่น่าสังเกต
Privacy Badger เป็นโปรแกรมเสริมของเบราว์เซอร์ที่จะหยุดผู้โฆษณาและเครื่องมือติดตามบุคคลที่สามอื่นๆ ไม่ให้แอบติดตามว่าคุณไปที่ไหนและหน้าเว็บใดที่คุณดูบนเว็บ หากดูเหมือนว่าผู้โฆษณาติดตามคุณในหลายเว็บไซต์โดยไม่ได้รับอนุญาตจากคุณ Privacy Badger จะบล็อกผู้โฆษณารายนั้นไม่ให้โหลดเนื้อหาเพิ่มเติมในเบราว์เซอร์ของคุณโดยอัตโนมัติ สำหรับผู้โฆษณา มันเหมือนกับว่าคุณหายตัวไปในทันที
ความเป็นกลางของเครือข่ายเป็นแนวคิดที่ว่าผู้ให้บริการอินเทอร์เน็ต (ISP) ควรปฏิบัติต่อข้อมูลทั้งหมดที่เดินทางผ่านเครือข่ายของตนอย่างเป็นธรรม โดยไม่เลือกปฏิบัติที่ไม่เหมาะสมต่อแอป เว็บไซต์ หรือบริการเฉพาะ เป็นหลักการที่ต้องยึดถือเพื่อปกป้องอนาคตของอินเทอร์เน็ตแบบเปิดของเรา
Security Education Companion เป็นแหล่งข้อมูลใหม่สำหรับผู้ที่ต้องการช่วยให้ชุมชนของตนเรียนรู้เกี่ยวกับความปลอดภัยทางดิจิทัล ความต้องการความปลอดภัยดิจิทัลส่วนบุคคลที่แข็งแกร่งเพิ่มขึ้นทุกวัน ตั้งแต่กลุ่มระดับรากหญ้าไปจนถึงองค์กรภาคประชาสังคมไปจนถึงสมาชิก EFF แต่ละคน ผู้คนจากทั่วทั้งชุมชนของเรากำลังแสดงความต้องการเอกสารการศึกษาด้านความปลอดภัยที่เข้าถึงได้เพื่อแบ่งปันกับเพื่อน เพื่อนบ้าน และเพื่อนร่วมงาน
Onion Router (Tor) ให้ผู้ใช้ท่องอินเทอร์เน็ต แชท และส่งข้อความโต้ตอบแบบทันทีโดยไม่เปิดเผยตัวตน Tor เป็นซอฟต์แวร์ฟรีและเครือข่ายแบบเปิดที่ช่วยป้องกันการวิเคราะห์ปริมาณการใช้งาน รูปแบบของการเฝ้าระวังเครือข่ายที่คุกคามเสรีภาพและความเป็นส่วนตัวส่วนบุคคล กิจกรรมทางธุรกิจที่เป็นความลับและความสัมพันธ์ และความปลอดภัยของรัฐ
ขั้นตอนที่ 5: รักษาความปลอดภัยกล้องของคุณ
ตามรายงานของ WIRED Magazine "เครื่องมือสอดแนม ไม่ว่าจะออกแบบโดยหน่วยข่าวกรอง อาชญากรไซเบอร์ หรือครีพอินเทอร์เน็ต ก็สามารถเปิดกล้องของคุณได้โดยไม่ต้องเปิดไฟสัญญาณ" [มีสาย]
ขณะดำรงตำแหน่งผู้อำนวยการเอฟบีไอ James Comey ได้กล่าวสุนทรพจน์เกี่ยวกับการเข้ารหัสและความเป็นส่วนตัว เขาแสดงความคิดเห็นว่าเขาติดเทปกาวบนเลนส์เว็บแคมบนแล็ปท็อปของเขา [เอ็นพีอาร์]
Mark Zuckerberg ทำข่าวเมื่อประชาชนสังเกตเห็นว่าเขาปฏิบัติตามแนวทางเดียวกัน [เวลา]
HackerBox #0027 นำเสนอคอลเลกชันของตัวป้องกันสายลับ GAWK STOP ไวนิลที่ปรับแต่งเอง รวมถึงฝาครอบเว็บแคมอะลูมิเนียมแบบหมุนแม่เหล็ก
ขั้นตอนที่ 6: การเข้ารหัส
การเข้ารหัส [วิกิพีเดีย] คือการปฏิบัติและการศึกษาเทคนิคสำหรับการสื่อสารที่ปลอดภัยต่อหน้าบุคคลที่สามที่เรียกว่าปฏิปักษ์ การเข้ารหัสก่อนยุคใหม่มีความหมายเหมือนกันกับการเข้ารหัส การแปลงข้อมูลจากสถานะที่อ่านได้ไปเป็นเรื่องไร้สาระที่เห็นได้ชัด ผู้ริเริ่มข้อความที่เข้ารหัสได้แบ่งปันเทคนิคการถอดรหัสที่จำเป็นในการกู้คืนข้อมูลต้นฉบับเฉพาะกับผู้รับที่ต้องการเท่านั้น ดังนั้นจึงป้องกันไม่ให้บุคคลที่ไม่ต้องการทำเช่นเดียวกัน วรรณคดีการเข้ารหัสมักใช้ชื่ออลิซ ("A") สำหรับผู้ส่ง Bob ("B") สำหรับผู้รับที่ตั้งใจไว้ และอีฟ ("ผู้แอบฟัง") สำหรับผู้เป็นปฏิปักษ์ นับตั้งแต่การพัฒนาเครื่องเข้ารหัสโรเตอร์ในสงครามโลกครั้งที่หนึ่งและการถือกำเนิดของคอมพิวเตอร์ในสงครามโลกครั้งที่ 2 วิธีการที่ใช้ในการดำเนินการเข้ารหัสได้กลายเป็นเรื่องที่ซับซ้อนมากขึ้น และมีการใช้กันอย่างแพร่หลายมากขึ้น การเข้ารหัสสมัยใหม่มีพื้นฐานมาจากทฤษฎีทางคณิตศาสตร์เป็นอย่างมาก อัลกอริธึมการเข้ารหัสได้รับการออกแบบโดยใช้สมมติฐานด้านความแข็งในการคำนวณ ทำให้อัลกอริธึมดังกล่าวยากที่จะทำลายโดยฝ่ายตรงข้าม
มีแหล่งข้อมูลออนไลน์มากมายสำหรับการเรียนรู้เพิ่มเติมเกี่ยวกับการเข้ารหัส นี่คือจุดเริ่มต้นบางส่วน:
The Journey into Cryptography ที่ Khan Academy เป็นซีรีส์วิดีโอ บทความ และกิจกรรมที่ยอดเยี่ยม
มหาวิทยาลัยสแตนฟอร์ดมีหลักสูตรการเข้ารหัสออนไลน์ฟรี
Bruce Schneier ได้โพสต์ลิงก์ไปยังสำเนาออนไลน์ของหนังสือคลาสสิกของเขา Applied Cryptography ข้อความนี้ให้การสำรวจที่ครอบคลุมเกี่ยวกับการเข้ารหัสที่ทันสมัย มันอธิบายอัลกอริธึมการเข้ารหัสจำนวนมากและให้คำแนะนำในทางปฏิบัติเกี่ยวกับวิธีการใช้งาน
ขั้นตอนที่ 7: ซอฟต์แวร์เข้ารหัสทั่วไป
จากมุมมองเชิงปฏิบัติ มีแอปพลิเคชั่นการเข้ารหัสบางตัวที่เราควรระวัง:
Pretty Good Privacy (PGP) เป็นโปรแกรมเข้ารหัสที่ให้ความเป็นส่วนตัวในการเข้ารหัสและรับรองความถูกต้องสำหรับข้อมูลที่เก็บไว้ PGP ใช้สำหรับเซ็นชื่อ เข้ารหัส และถอดรหัสข้อความ อีเมล ไฟล์ ไดเร็กทอรี และแม้แต่พาร์ติชั่นดิสก์ทั้งหมด
Transport Layer Security (TLS) เป็นโปรโตคอลการเข้ารหัสที่ให้ความปลอดภัยในการสื่อสารผ่านเครือข่ายคอมพิวเตอร์ TLS ใช้ในแอปพลิเคชันต่างๆ เช่น การท่องเว็บ อีเมล แฟกซ์ทางอินเทอร์เน็ต การส่งข้อความโต้ตอบแบบทันที และเสียงผ่าน IP (VoIP) เว็บไซต์สามารถใช้ TLS เพื่อรักษาความปลอดภัยการสื่อสารทั้งหมดระหว่างเซิร์ฟเวอร์และเว็บเบราว์เซอร์ TLS สร้างขึ้นตามข้อกำหนด Secure Sockets Layer (SSL) ก่อนหน้านี้
Internet Protocol Security (IPsec) เป็นชุดโปรโตคอลเครือข่ายที่รับรองความถูกต้องและเข้ารหัสแพ็กเก็ตข้อมูลที่ส่งผ่านเครือข่าย IPsec มีโปรโตคอลสำหรับสร้างการรับรองความถูกต้องร่วมกันระหว่างตัวแทนเมื่อเริ่มต้นเซสชันและการเจรจาคีย์การเข้ารหัสเพื่อใช้ระหว่างเซสชัน
เครือข่ายส่วนตัวเสมือน (VPN) ขยายเครือข่ายส่วนตัวผ่านเครือข่ายสาธารณะ และช่วยให้ผู้ใช้สามารถส่งและรับข้อมูลผ่านเครือข่ายสาธารณะหรือเครือข่ายสาธารณะเสมือนว่าอุปกรณ์คอมพิวเตอร์ของพวกเขาเชื่อมต่อโดยตรงกับเครือข่ายส่วนตัว ระบบที่ปลายแต่ละด้านของอุโมงค์ข้อมูล VPN จะเข้ารหัสข้อมูลที่เข้าสู่ช่องสัญญาณและถอดรหัสที่ปลายอีกด้านหนึ่ง
Blockchain เป็นรายการบันทึกที่เพิ่มขึ้นอย่างต่อเนื่อง เรียกว่าบล็อก ซึ่งเชื่อมโยงและรักษาความปลอดภัยโดยใช้การเข้ารหัส blockchain แรกถูกนำมาใช้ในปี 2009 เป็นองค์ประกอบหลักของ bitcoin ซึ่งทำหน้าที่เป็นบัญชีแยกประเภทสาธารณะสำหรับธุรกรรมทั้งหมด การประดิษฐ์บล็อคเชนสำหรับ bitcoin ทำให้เป็นสกุลเงินดิจิทัลสกุลแรกในการแก้ปัญหาการใช้จ่ายซ้ำซ้อน โดยไม่จำเป็นต้องใช้ผู้มีอำนาจที่เชื่อถือได้หรือเซิร์ฟเวอร์ส่วนกลาง
ขั้นตอนที่ 8: STM32 Black Pill
The Black Pill เป็นบอร์ดยา STM32 ล่าสุด เป็นตัวแปรที่ได้รับการปรับปรุงใน Blue Pill ทั่วไปและ Red Pill ทั่วไปน้อยกว่า
Black Pill มีไมโครคอนโทรลเลอร์ STM32F103C8T6 32 บิต ARM M3 (เอกสารข้อมูล) ส่วนหัว ST-Link สี่พิน พอร์ต MicroUSB และ LED ผู้ใช้บน PB12 มีการติดตั้งตัวต้านทานแบบดึงขึ้นที่ถูกต้องบน PA12 เพื่อการทำงานที่ถูกต้องของพอร์ต USB การดึงขึ้นนี้มักต้องมีการปรับเปลี่ยนบอร์ดบน Pill Boards อื่นๆ
แม้ว่าจะมีลักษณะคล้ายกับ Arduino Nano ทั่วไป แต่ Black Pill นั้นทรงพลังกว่ามาก ไมโครคอนโทรลเลอร์ ARM 32 บิต STM32F103C8T6 ARM สามารถทำงานที่ 72 MHz มันสามารถทำการคูณแบบรอบเดียวและการแบ่งฮาร์ดแวร์ มีหน่วยความจำแฟลช 64 Kbytes และ SRAM 20 Kbytes
ขั้นตอนที่ 9: กระพริบ Black Pill ด้วย Arduino IDE และ STLink
หากคุณไม่ได้ติดตั้ง Arduino IDE ล่าสุด ให้มาที่นี่
ต่อไป รับที่เก็บ Arduino_STM32 ของ Roger Clark ซึ่งรวมถึงไฟล์ฮาร์ดแวร์ที่รองรับบอร์ด STM32 บน Arduino IDE 1.8.x หากคุณดาวน์โหลดสิ่งนี้ด้วยตนเอง ตรวจสอบให้แน่ใจว่า Arduino_STM32-master.zip ได้รับการแตกไฟล์ลงในโฟลเดอร์ “ฮาร์ดแวร์” ของ Arduino IDE โปรดทราบว่ามีฟอรัมสนับสนุนสำหรับแพ็คเกจนี้
ติดสายจัมเปอร์ STLink ตามที่แสดงไว้ที่นี่
เรียกใช้ Arduino IDE และเลือกตัวเลือกเหล่านี้ภายใต้เครื่องมือ:
บอร์ด: Generic STM32F103C seriesVariant: STM32F103C8 (20k RAM. 64k Flash)ความเร็ว CPU(MHz): "72MHz (ปกติ)"วิธีการอัปโหลด: "STLink"
เปิดตัวอย่างไฟล์ > พื้นฐาน > กะพริบเปลี่ยนทั้งสามอินสแตนซ์ของ "LED_BUILTIN" เป็น PB12กดลูกศร "อัปโหลด" (ไฟ LED บน STLink จะกะพริบระหว่างการอัปโหลด)
ภาพสเก็ตช์ที่อัปโหลดนี้จะกะพริบไฟ LED ของผู้ใช้บนและปิด Black Pill ทุกวินาที ถัดไป เปลี่ยนค่าในคำสั่ง delay(1000) สองรายการจาก 1,000 เป็น 100 แล้วอัปโหลดอีกครั้ง ตอนนี้ไฟ LED ควรกะพริบเร็วขึ้นสิบเท่า นี่คือแบบฝึกหัด "Hello World" มาตรฐานของเราเพื่อให้แน่ใจว่าเราสามารถคอมไพล์โปรแกรมง่ายๆ และโหลดลงในบอร์ดเป้าหมายได้
ขั้นตอนที่ 10: Pill Duckie
Pill Duck เป็นอุปกรณ์ USB HID แบบเขียนสคริปต์ได้โดยใช้ STM32 แน่นอน … ทำไมไม่?
ขั้นตอนที่ 11: จอแสดงผล TFT
จอแสดงผลคริสตัลเหลวทรานซิสเตอร์แบบฟิล์มบาง (TFT LCD) เป็นจอแสดงผลคริสตัลเหลว (LCD) ที่ใช้เทคโนโลยีทรานซิสเตอร์แบบฟิล์มบางเพื่อปรับปรุงคุณภาพของภาพ เช่น การระบุตำแหน่งและคอนทราสต์ TFT LCD คือ LCD แบบแอกทีฟแมทริกซ์ ตรงกันข้ามกับ LCD แบบพาสซีฟเมทริกซ์หรือ LCD แบบธรรมดาที่ขับเคลื่อนโดยตรงโดยแบ่งเป็นสองสามส่วน
จอแสดงผล Full Color TFT นี้มีขนาด 2.4 นิ้วและมีความละเอียด 240x320
คอนโทรลเลอร์คือ ILI9341 (เอกสารข้อมูล) ซึ่งสามารถเชื่อมต่อกับ STM32 ผ่านบัส Serial Peripheral Interface (SPI) ตามแผนภาพการเดินสายที่แสดงไว้ที่นี่
หากต้องการทดสอบการแสดงผลให้โหลดภาพร่างจาก:
ตัวอย่าง > Adafruit_ILI9341_STM > stm32_graphicstest
แก้ไขพินควบคุมสามตัวกำหนดดังนี้:
#define TFT_CS PA1#define TFT_DC PA3#define TFT_RST PA2
โปรดทราบว่าตัวอย่างการทดสอบกราฟิกทำงานเร็วมากเนื่องจากประสิทธิภาพที่ดีขึ้นของ STM32 เหนือไมโครคอนโทรลเลอร์ Arduino AVR แบบเดิม
ขั้นตอนที่ 12: อินพุตเมทริกซ์ปุ่มกด
วางสาย 4x4 Matrix Keypad ตามที่แสดง และโหลดภาพร่าง TFT_Keypad ที่แนบมา ตัวอย่างนี้อ่านปุ่มกดและแสดงปุ่มบนหน้าจอ โปรดทราบว่าตัวอย่างง่ายๆ นี้สำหรับการอ่านปุ่มกดกำลังบล็อกอยู่ เนื่องจากใช้ฟังก์ชัน delay() สิ่งนี้สามารถปรับปรุงได้โดยเปลี่ยนไปใช้แบบจำลองการโพลหรือแบบอินเตอร์รัปต์
การประกอบแผงปุ่มกดและจอแสดงผล TFT พร้อมกับ Black Pill ลงบนเขียงหั่นขนมแบบไม่มีบัดกรีหรือโปรโตบอร์ดสีเขียวทำให้เป็น "แพลตฟอร์มคอมพิวเตอร์" ที่ดีพร้อมอินพุตและจอแสดงผล
ขั้นตอนที่ 13: Enigma Machine Code Challenge
Enigma Machines เป็นเครื่องเข้ารหัสโรเตอร์แบบเครื่องกลไฟฟ้าที่พัฒนาและใช้งานในช่วงต้นถึงกลางศตวรรษที่ 20 พวกเขาได้รับการรับรองโดยหน่วยงานทางทหารและรัฐบาลของหลายประเทศ โดยเฉพาะนาซีเยอรมนี กองกำลังติดอาวุธของเยอรมนีเชื่อว่าการสื่อสารที่เข้ารหัสด้วยอีนิกมาของพวกเขานั้นไม่สามารถเข้าถึงได้สำหรับฝ่ายพันธมิตร แต่ผู้ถอดรหัสหลายพันคน ซึ่งอาศัยอยู่ในกระท่อมไม้ที่ Bletchley Park ของสหราชอาณาจักร มีแนวคิดอื่น
ความท้าทายในการเขียนโค้ดของเดือนนี้คือการเปลี่ยน "แพลตฟอร์มคอมพิวเตอร์" ให้เป็นเครื่อง Enigma ของคุณเอง
เราได้ใช้ตัวอย่างสำหรับอินพุตปุ่มกดและเอาต์พุตการแสดงผลแล้ว
ต่อไปนี้คือตัวอย่างบางส่วนสำหรับการตั้งค่าและการคำนวณระหว่างอินพุตและเอาต์พุต:
อีนิกมุอิโน
เปิดปริศนา
Arduino Enigma Simulator
สอนได้จาก ST-Geotronics
ขั้นตอนที่ 14: การตรวจสอบสิทธิ์สองปัจจัย - U2F Zero Security Key
การรับรองความถูกต้องด้วยสองปัจจัย (หรือที่เรียกว่า 2FA) เป็นวิธีการยืนยันตัวตนที่อ้างสิทธิ์ของผู้ใช้โดยใช้ปัจจัยสองประการร่วมกัน: 1) สิ่งที่พวกเขารู้ 2) สิ่งที่พวกเขามี หรือ 3) สิ่งที่พวกเขาเป็น ตัวอย่างที่ดีของการตรวจสอบสิทธิ์แบบสองปัจจัยคือการถอนเงินจากตู้เอทีเอ็ม ซึ่งมีเพียงการรวมบัตรธนาคารที่ถูกต้อง (สิ่งที่ผู้ใช้ครอบครอง) และ PIN (สิ่งที่ผู้ใช้ทราบ) เท่านั้นที่อนุญาตให้ทำธุรกรรมได้.
ปัจจัยที่ 2 สากล (U2F) เป็นมาตรฐานการตรวจสอบสิทธิ์แบบเปิดที่เสริมความแข็งแกร่งและลดความยุ่งยากในการรับรองความถูกต้องด้วยสองปัจจัยโดยใช้อุปกรณ์ USB หรือ NFC แบบพิเศษที่ใช้เทคโนโลยีความปลอดภัยที่คล้ายคลึงกันที่พบในสมาร์ทการ์ด Google Chrome รองรับคีย์ความปลอดภัย U2F ตั้งแต่เวอร์ชัน 38 และ Opera ตั้งแต่เวอร์ชัน 40 คีย์ความปลอดภัย U2F สามารถใช้เป็นวิธีการเพิ่มเติมในการยืนยันแบบสองขั้นตอนในบริการออนไลน์ที่รองรับโปรโตคอล U2F รวมถึง Google, Dropbox, GitHub, GitLab, Bitbucket, Nextcloud, Facebook และอื่นๆ
U2F Zero เป็นโทเค็น U2F แบบโอเพ่นซอร์สสำหรับการตรวจสอบสิทธิ์แบบสองปัจจัย มีคุณลักษณะของไมโครชิป ATECC508A Cryptographic Co-processor ซึ่งสนับสนุน:
- การจัดเก็บคีย์บนฮาร์ดแวร์ที่ปลอดภัย
- อัลกอริธึมคีย์สาธารณะความเร็วสูง (PKI)
- ECDSA: FIPS186-3 อัลกอริธึมลายเซ็นดิจิตอล Elliptic Curve
- ECDH: FIPS SP800-56A Elliptic Curve Diffie-Hellman อัลกอริธึม
- รองรับ NIST Standard P256 Elliptic Curve
- อัลกอริทึมแฮช SHA-256 พร้อมตัวเลือก HMAC
- พื้นที่เก็บข้อมูลสูงสุด 16 คีย์ - ความยาวคีย์ 256 บิต
- หมายเลขซีเรียล 72 บิตที่ไม่ซ้ำ
- FIPS ตัวสร้างตัวเลขสุ่ม (RNG)
ขั้นตอนที่ 15: ชุดทดสอบการบัดกรี
หากคุณพร้อมสำหรับความท้าทายในการบัดกรี คุณสามารถสร้าง U2F Zero Key ของคุณเองได้
U2F Zero การประสาน ชุดท้าทาย:
- U2F Zero Token PCB
- 8051 คอร์ไมโครคอนโทรลเลอร์ (E0) EFM8UB11F16G
- องค์ประกอบที่ปลอดภัย (A1) ATECC508A
- ไฟ LED แสดงสถานะ (RGB1) 0603 ขั้วบวกทั่วไป
- ไดโอดป้องกันซีเนอร์ ESD (Z1) SOT553
- ตัวต้านทาน 100 โอห์ม (R1) 0603
- ตัวเก็บประจุบายพาส 4.7 ยูเอฟ (C4) 0603
- ตัวเก็บประจุบายพาส 0.1 ยูเอฟ (C3) 0403
- ปุ่มสัมผัสชั่วขณะ (SW1)
- พวงกุญแจแยกแหวน
โปรดทราบว่ามีส่วนประกอบขนาด 0603 สองชิ้น พวกมันดูคล้ายกันมาก แต่การตรวจสอบอย่างระมัดระวังจะพบว่า R1 เป็นสีดำและ C4 เป็นสีแทน นอกจากนี้ โปรดทราบด้วยว่า E0, A1 และ RGB1 จำเป็นต้องมีการวางแนวตามที่ระบุบนซิลค์สกรีน PCB
U2F Zero Wiki แสดงรายละเอียดสำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์
หมายเหตุ CHALLENGE: HackerBox #0027 แต่ละตัวมีชุดเครื่องมือ Soldering Challenge สองชุด เนื่องจากการบัดกรีทำได้ยากมากและเกิดอุบัติเหตุขึ้น อย่าท้อแท้. ใช้กำลังขยายสูง แหนบ เตารีดที่ดี ฟลักซ์บัดกรี และเคลื่อนที่ช้าๆ อย่างระมัดระวัง หากคุณไม่สามารถประสานชุดนี้ได้สำเร็จ แสดงว่าคุณไม่ได้อยู่คนเดียวอย่างแน่นอน แม้ว่าจะไม่ได้ผล แต่ก็เป็นแนวทางที่ดีในการบัดกรีบนแพ็คเกจ SMT ที่หลากหลาย
คุณอาจต้องการดูตอนนี้ของ Ben Heck Show บน Surface Mount Soldering
ขั้นตอนที่ 16: แฮ็กดาวเคราะห์
หากคุณชอบคำแนะนำนี้และต้องการมีกล่องอิเล็กทรอนิกส์และโปรเจ็กต์เทคโนโลยีคอมพิวเตอร์แบบนี้ส่งตรงไปยังกล่องจดหมายของคุณทุกเดือน โปรดเข้าร่วมการปฏิวัติ HackerBox โดยสมัครที่นี่
ติดต่อและแบ่งปันความสำเร็จของคุณในความคิดเห็นด้านล่างหรือบนหน้า Facebook ของ HackerBoxes โปรดแจ้งให้เราทราบหากคุณมีคำถามหรือต้องการความช่วยเหลือ ขอบคุณที่เป็นส่วนหนึ่งของ HackerBoxes โปรดให้ข้อเสนอแนะและข้อเสนอแนะของคุณมา HackerBox เป็นกล่องของคุณ มาทำอะไรที่ยอดเยี่ยมกัน!
แนะนำ:
HackerBox 0060: สนามเด็กเล่น: 11 ขั้นตอน
HackerBox 0060: สนามเด็กเล่น: สวัสดี HackerBox แฮกเกอร์ทั่วโลก! ด้วย HackerBox 0060 คุณจะทดลองกับ Adafruit Circuit Playground Bluefruit ที่มีไมโครคอนโทรลเลอร์ Nordic Semiconductor nRF52840 ARM Cortex M4 อันทรงพลัง สำรวจการเขียนโปรแกรมฝังตัวด้วย
HackerBox 0041: CircuitPython: 8 ขั้นตอน
HackerBox 0041: CircuitPython: สวัสดี HackerBox แฮกเกอร์ทั่วโลก HackerBox 0041 นำเสนอ CircuitPython, MakeCode Arcade, Atari Punk Console และอีกมากมาย คำแนะนำนี้มีข้อมูลสำหรับการเริ่มต้นกับ HackerBox 0041 ซึ่งสามารถซื้อได้ h
HackerBox 0058: เข้ารหัส: 7 ขั้นตอน
HackerBox 0058: เข้ารหัส: สวัสดี HackerBox แฮกเกอร์ทั่วโลก! ด้วย HackerBox 0058 เราจะสำรวจการเข้ารหัสข้อมูล, บาร์โค้ด, รหัส QR, การเขียนโปรแกรม Arduino Pro Micro, จอ LCD แบบฝัง, การรวมการสร้างบาร์โค้ดภายในโปรเจ็กต์ Arduino
HackerBox 0057: เซฟโหมด: 9 ขั้นตอน
HackerBox 0057: Safe Mode: สวัสดี HackerBox แฮกเกอร์ทั่วโลก! HackerBox 0057 นำหมู่บ้าน IoT, Wireless, Lockpicking และแน่นอน Hardware Hacking มาไว้ในแล็บที่บ้านของคุณ เราจะสำรวจการเขียนโปรแกรมไมโครคอนโทรลเลอร์, การหาประโยชน์จาก IoT Wi-Fi, Bluetooth int
HackerBox 0034: SubGHz: 15 ขั้นตอน
HackerBox 0034: SubGHz: ในเดือนนี้ HackerBox Hackers กำลังสำรวจ Software Defined Radio (SDR) และการสื่อสารทางวิทยุในความถี่ที่ต่ำกว่า 1GHz คำแนะนำนี้มีข้อมูลสำหรับการเริ่มต้นกับ HackerBox #0034 ซึ่งสามารถซื้อได้ที่นี่ในขณะที่เสบียง