Tabla de contenido:
- Paso 1: HackerBox 0027: Contenido de la caja
- Paso 2: Cypherpunks
- Paso 3: Electronic Frontier Foundation (EFF)
- Paso 4: Proyectos EFF dignos de mención
- Paso 5: Asegure sus cámaras
- Paso 6: criptografía
- Paso 7: software criptográfico común
- Paso 8: Pastilla negra STM32
- Paso 9: flasheo de la píldora negra con Arduino IDE y STLink
- Paso 10: Pill Duckie
- Paso 11: Pantalla TFT
- Paso 12: Entrada de matriz de teclado
- Paso 13: Desafío del código de máquina Enigma
- Paso 14: Autenticación de dos factores - Clave de seguridad U2F Zero
- Paso 15: Kit de desafío de soldadura
- Paso 16: HACKEAR EL PLANETA
Video: HackerBox 0027: Cypherpunk: 16 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:44
Cypherpunk: este mes, los hackers de HackerBox están explorando la privacidad y la criptografía. Este Instructable contiene información para trabajar con HackerBox # 0027, que puede recoger aquí hasta agotar existencias. Además, si desea recibir un HackerBox como este en su buzón cada mes, suscríbase en HackerBoxes.com y únase a la revolución.
Temas y objetivos de aprendizaje para HackerBox 0027:
- Comprender las importantes implicaciones sociales de la privacidad.
- Asegure las cámaras en dispositivos electrónicos personales
- Explore la historia y las matemáticas de la criptografía
- Contextualizar el software criptográfico común
- Configurar una placa "Black Pill" del procesador ARM STM32
- Programe la píldora negra STM32 usando el IDE de Arduino
- Integre un teclado y una pantalla TFT con Black Pill
- Replica la funcionalidad de la máquina Enigma de la Segunda Guerra Mundial
- Comprender la autenticación multifactor
- Enfréntate al desafío de la soldadura para construir un Token USB U2F Zero
HackerBoxes es el servicio de caja de suscripción mensual para electrónica de bricolaje y tecnología informática. Somos aficionados, creadores y experimentadores. Somos los soñadores de sueños. ¡HACKE EL PLANETA!
Paso 1: HackerBox 0027: Contenido de la caja
- Tarjeta de referencia coleccionable HackerBoxes # 0027
- Módulo Black Pill STM32F103C8T6
- Programador USB STLink V2
- Pantalla TFT a todo color de 2,4 pulgadas - 240x320 píxeles
- Teclado matricial 4x4
- Placa de pruebas sin soldadura de 830 puntos
- Kit de puente de alambre de 140 piezas
- Dos kits de desafío de soldadura cero U2F
- Gran PCB verde de prototipos de 9x15 cm
- Exclusivos bloqueadores espía de vinilo GawkStop
- Cubierta de cámara web giratoria magnética de aluminio exclusiva
- Parche EFF exclusivo
- Etiqueta de privacidad Badger
- Tor Calcomanía
Algunas otras cosas que serán útiles:
- Soldador, soldadura y herramientas de soldadura básicas
- Lupa y pinzas pequeñas para el desafío de soldadura SMT
- Computadora para ejecutar herramientas de software
Lo más importante es que necesitará sentido de la aventura, espíritu de bricolaje y curiosidad por los piratas informáticos. La electrónica incondicional de bricolaje no es una actividad trivial, y no la estamos diluyendo para usted. El objetivo es el progreso, no la perfección. Cuando persiste y disfruta de la aventura, se puede obtener una gran satisfacción al aprender nuevas tecnologías y, con suerte, hacer que algunos proyectos funcionen. Le sugerimos que dé cada paso lentamente, prestando atención a los detalles y no tenga miedo de pedir ayuda.
Tenga en cuenta que hay una gran cantidad de información para miembros actuales y potenciales en las preguntas frecuentes de HackerBox.
Paso 2: Cypherpunks
Un Cypherpunk [wikipedia] es un activista que aboga por el uso generalizado de criptografía sólida y tecnologías que mejoran la privacidad como una ruta hacia el cambio social y político. Los grupos informales que originalmente se comunicaban a través de la lista de correo electrónico de Cypherpunks tenían como objetivo lograr la privacidad y la seguridad mediante el uso proactivo de la criptografía. Cypherpunks ha estado involucrado en un movimiento activo desde finales de la década de 1980.
A finales de 1992, Eric Hughes, Timothy C. May y John Gilmore fundaron un pequeño grupo que se reunía mensualmente en la empresa Cygnus Solutions de Gilmore en el área de la bahía de San Francisco, y Jude Milhon lo calificó con humor de cypherpunks en una de las primeras reuniones, derivada de cifrado y cyberpunk. En noviembre de 2006, se añadió la palabra "cypherpunk" al Oxford English Dictionary.
Las ideas básicas se pueden encontrar en A Cypherpunk's Manifesto (Eric Hughes, 1993): "La privacidad es necesaria para una sociedad abierta en la era electrónica … No podemos esperar que los gobiernos, las corporaciones u otras organizaciones grandes sin rostro nos otorguen privacidad … debemos defender nuestra propia privacidad si esperamos tener alguna … Cypherpunks escribe código. Sabemos que alguien tiene que escribir software para defender la privacidad, y … nosotros lo vamos a escribir ". Algunos cypherpunks notables son, o fueron, personal senior de las principales empresas de tecnología, universidades y otras organizaciones de investigación reconocidas.
Paso 3: Electronic Frontier Foundation (EFF)
La EFF [wikipedia] es un grupo internacional de derechos digitales sin fines de lucro con sede en San Francisco, California. La fundación fue formada en julio de 1990 por John Gilmore, John Perry Barlow y Mitch Kapor para promover las libertades civiles en Internet.
La EFF proporciona fondos para la defensa legal en los tribunales, presenta informes amicus curiae, defiende a las personas y las nuevas tecnologías de lo que considera amenazas legales abusivas, trabaja para exponer las irregularidades del gobierno, brinda orientación al gobierno y a los tribunales, organiza acciones políticas y envíos masivos de correo, apoya algunas tecnologías nuevas que cree preservan las libertades personales y las libertades civiles en línea, mantiene una base de datos y sitios web de noticias e información relacionadas, monitorea y desafía la legislación potencial que cree que infringiría las libertades personales y el uso justo, y solicita una lista de lo que considera patentes abusivas con intenciones de derrotar a aquellas que considera sin mérito. EFF también proporciona consejos, herramientas, procedimientos, tutoriales y software para comunicaciones en línea más seguras.
HackerBoxes se enorgullece de ser un importante donante de Electronic Frontier Foundation. Recomendamos encarecidamente a todos que hagan clic aquí y muestren su apoyo a este grupo sin fines de lucro de importancia crucial que protege la privacidad digital y la libertad de expresión. El trabajo legal de interés público, el activismo y los esfuerzos de desarrollo de software de EFF buscan preservar nuestros derechos fundamentales en el mundo digital. EFF es una organización sin fines de lucro 501 (c) (3) de los EE. UU. Y sus donaciones pueden ser deducibles de impuestos.
Paso 4: Proyectos EFF dignos de mención
Privacy Badger es un complemento del navegador que evita que los anunciantes y otros rastreadores de terceros rastreen en secreto a dónde vas y qué páginas miras en la web. Si un anunciante parece estar rastreando varios sitios web sin su permiso, Privacy Badger bloquea automáticamente a ese anunciante para que no cargue más contenido en su navegador. Para el anunciante, es como si hubieras desaparecido de repente.
La neutralidad de la red es la idea de que los proveedores de servicios de Internet (ISP) deben tratar todos los datos que viajan a través de sus redes de manera justa, sin discriminación indebida a favor de aplicaciones, sitios o servicios particulares. Es un principio que debe respetarse para proteger el futuro de nuestra Internet abierta.
Security Education Companion es un nuevo recurso para personas que desean ayudar a sus comunidades a aprender sobre seguridad digital. La necesidad de una sólida seguridad digital personal crece día a día. Desde grupos de base hasta organizaciones de la sociedad civil y miembros individuales de la EFF, personas de toda nuestra comunidad están expresando la necesidad de materiales educativos de seguridad accesibles para compartir con sus amigos, vecinos y colegas.
Onion Router (Tor) permite a sus usuarios navegar por Internet, chatear y enviar mensajes instantáneos de forma anónima. Tor es un software gratuito y una red abierta que ayuda a defenderse del análisis del tráfico, una forma de vigilancia de la red que amenaza la libertad y la privacidad personal, las actividades y relaciones comerciales confidenciales y la seguridad del estado.
Paso 5: Asegure sus cámaras
Según la revista WIRED, "las herramientas de espionaje, ya sean diseñadas por agencias de inteligencia, delincuentes cibernéticos o intrusos de Internet, pueden encender la cámara sin encender la luz indicadora". [WIRED]
Mientras se desempeñaba como director del FBI, James Comey pronunció un discurso sobre el cifrado y la privacidad. Comentó que coloca un trozo de cinta adhesiva sobre la lente de la cámara web de su computadora portátil. [NPR]
Mark Zuckerberg fue noticia cuando el público notó que sigue la misma práctica. [TIEMPO]
HackerBox # 0027 presenta una colección de bloqueadores espía GAWK STOP de vinilo personalizados, así como una cubierta de cámara web giratoria magnética de aluminio.
Paso 6: criptografía
La criptografía [wikipedia] es la práctica y el estudio de técnicas para la comunicación segura en presencia de terceros llamados adversarios. La criptografía anterior a la era moderna era efectivamente sinónimo de cifrado, la conversión de información de un estado legible a una aparente tontería. El originador de un mensaje cifrado compartió la técnica de decodificación necesaria para recuperar la información original solo con los destinatarios previstos, evitando así que personas no deseadas hagan lo mismo. La literatura sobre criptografía a menudo usa el nombre Alice ("A") para el remitente, Bob ("B") para el destinatario previsto y Eve ("espía") para el adversario. Desde el desarrollo de las máquinas de cifrado de rotor en la Primera Guerra Mundial y el advenimiento de las computadoras en la Segunda Guerra Mundial, los métodos utilizados para llevar a cabo la criptología se han vuelto cada vez más complejos y su aplicación más extendida. La criptografía moderna se basa en gran medida en la teoría matemática. Los algoritmos criptográficos están diseñados en torno a supuestos de dureza computacional, lo que hace que dichos algoritmos sean difíciles de romper por cualquier adversario.
Hay muchos recursos en línea para aprender más sobre criptografía. Aquí hay algunos puntos de partida:
El viaje a la criptografía en Khan Academy es una excelente serie de videos, artículos y actividades.
La Universidad de Stanford tiene un curso gratuito de criptografía en línea.
Bruce Schneier ha publicado un enlace a una copia en línea de su libro clásico, Criptografía aplicada. El texto proporciona un estudio completo de la criptografía moderna. Describe docenas de algoritmos criptográficos y brinda consejos prácticos sobre cómo implementarlos.
Paso 7: software criptográfico común
Desde un punto de vista práctico, hay algunas aplicaciones específicas de la criptografía que debemos conocer:
Pretty Good Privacy (PGP) es un programa de cifrado que proporciona autenticación y privacidad criptográfica para los datos almacenados. PGP se utiliza para firmar, cifrar y descifrar texto, correos electrónicos, archivos, directorios e incluso particiones de disco completas.
Transport Layer Security (TLS) es un protocolo criptográfico que proporciona seguridad en las comunicaciones a través de una red informática. TLS se utiliza en aplicaciones como navegación web, correo electrónico, fax por Internet, mensajería instantánea y voz sobre IP (VoIP). Los sitios web pueden utilizar TLS para proteger todas las comunicaciones entre sus servidores y navegadores web. TLS se basa en especificaciones anteriores de Secure Sockets Layer (SSL).
Internet Protocol Security (IPsec) es un conjunto de protocolos de red que autentica y cifra los paquetes de datos enviados a través de una red. IPsec incluye protocolos para establecer la autenticación mutua entre agentes al comienzo de la sesión y la negociación de claves criptográficas para usar durante la sesión.
Una red privada virtual (VPN) extiende una red privada a través de una red pública y permite a los usuarios enviar y recibir datos a través de redes públicas o compartidas como si sus dispositivos informáticos estuvieran conectados directamente a la red privada. Los sistemas en cada extremo del túnel VPN cifran los datos que ingresan al túnel y los descifran en el otro extremo.
Una Blockchain es una lista de registros en continuo crecimiento, llamados bloques, que están vinculados y asegurados mediante criptografía. La primera cadena de bloques se implementó en 2009 como un componente central de bitcoin, donde sirve como libro de contabilidad público para todas las transacciones. La invención de la cadena de bloques para bitcoin la convirtió en la primera moneda digital en resolver el problema del doble gasto sin la necesidad de una autoridad confiable o un servidor central.
Paso 8: Pastilla negra STM32
La píldora negra es el último tablero de píldoras STM32. Es una variante mejorada de la píldora azul común y la píldora roja menos común.
La píldora negra cuenta con el microcontrolador STM32F103C8T6 32bit ARM M3 (hoja de datos), un encabezado ST-Link de cuatro pines, un puerto MicroUSB y un LED de usuario en PB12. La resistencia pull-up correcta en PA12 viene instalada para el funcionamiento correcto del puerto USB. Este pull-up generalmente requería una modificación de la tabla en otras tablas de pastillas.
Si bien es similar en apariencia al típico Arduino Nano, el Black Pill es mucho más poderoso. El microcontrolador ARM STM32F103C8T6 de 32 bits puede funcionar a 72 MHz. Puede realizar multiplicación de ciclo único y división de hardware. Tiene 64 Kbytes de memoria Flash y 20 Kbytes de SRAM.
Paso 9: flasheo de la píldora negra con Arduino IDE y STLink
Si no tiene un IDE de Arduino reciente instalado, consígalo aquí.
A continuación, obtenga el repositorio Arduino_STM32 de Roger Clark. Esto incluye los archivos de hardware para admitir placas STM32 en Arduino IDE 1.8.x. Si descarga esto manualmente, asegúrese de que Arduino_STM32-master.zip se descomprima en la carpeta "hardware" de Arduino IDE. Tenga en cuenta que hay un foro de soporte para este paquete.
Conecte los cables de puente STLink como se muestra aquí.
Ejecute el IDE de Arduino y seleccione estas opciones en Herramientas:
Placa: Genérica serie STM32F103C Variante: STM32F103C8 (20k RAM. 64k Flash) Velocidad de CPU (MHz): "72MHz (Normal)" Método de carga: "STLink"
Abra los ejemplos de archivo> conceptos básicos> parpadear Cambie las tres instancias de "LED_BUILTIN" a PB12 Presione la flecha "cargar" (el LED en el STLink parpadeará durante la carga)
Este boceto cargado hará parpadear el LED del usuario en la píldora negra y se apagará cada segundo. A continuación, cambie el valor en las dos declaraciones de retraso (1000) de 1000 a 100 y vuelva a cargar. El LED debería parpadear diez veces más rápido ahora. Este es nuestro ejercicio estándar de "Hola mundo" para asegurarnos de que podemos compilar un programa simple y cargarlo en la placa de destino.
Paso 10: Pill Duckie
Pill Duck es un dispositivo USB HID programable que utiliza un STM32. ¿Seguro Por qué no?
Paso 11: Pantalla TFT
La pantalla de cristal líquido de transistor de película delgada (TFT LCD) es una variante de una pantalla de cristal líquido (LCD) que utiliza tecnología de transistor de película delgada para mejorar las cualidades de imagen, como la direccionabilidad y el contraste. Una pantalla LCD TFT es una pantalla LCD de matriz activa, en contraste con las pantallas LCD de matriz pasiva o las pantallas LCD simples de control directo con algunos segmentos.
Esta pantalla TFT a todo color mide 2,4 pulgadas y tiene una resolución de 240x320.
El controlador es un ILI9341 (hoja de datos), que se puede conectar al STM32 a través de un bus de interfaz periférica en serie (SPI) de acuerdo con el diagrama de cableado que se muestra aquí.
Para probar la pantalla, cargue el boceto desde:
ejemplos> Adafruit_ILI9341_STM> stm32_graphicstest
Modifique los tres pines de control definidos así:
# definir TFT_CS PA1 # definir TFT_DC PA3 # definir TFT_RST PA2
Tenga en cuenta que el ejemplo de prueba gráfica se ejecuta muy rápidamente debido al rendimiento mejorado del STM32 sobre el microcontrolador Arduino AVR tradicional.
Paso 12: Entrada de matriz de teclado
Conecte el teclado matricial 4x4 como se muestra y cargue el croquis adjunto TFT_Keypad. Este ejemplo lee el teclado y muestra la tecla en la pantalla. Tenga en cuenta que este ejemplo simple para leer el teclado está bloqueando porque usó la función delay (). Esto podría mejorarse cambiando a un modelo de sondeo o impulsado por interrupciones.
Ensamblar el teclado y la pantalla TFT junto con la píldora negra en la placa de prueba sin soldadura o la placa de prueba verde constituye una buena "plataforma informática" con entrada y pantalla.
Paso 13: Desafío del código de máquina Enigma
Las máquinas Enigma eran máquinas de cifrado de rotor electromecánico desarrolladas y utilizadas a principios y mediados del siglo XX. Fueron adoptados por los servicios militares y gubernamentales de varios países, sobre todo la Alemania nazi. Las fuerzas armadas de Alemania creían que sus comunicaciones cifradas en Enigma eran impenetrables para los aliados. Pero miles de descifradores de códigos, con base en cabañas de madera en el parque Bletchley de Gran Bretaña, tenían otras ideas.
El desafío de codificación de este mes es convertir la "plataforma informática" en su propia máquina Enigma.
Ya hemos implementado ejemplos para entradas de teclado y salidas de pantalla.
A continuación, se muestran algunos ejemplos de la configuración y los cálculos entre las entradas y las salidas:
ENIGMuino
Enigma abierto
Simulador Arduino Enigma
Instructable desde ST-Geotronics
Paso 14: Autenticación de dos factores - Clave de seguridad U2F Zero
La autenticación de dos factores (también conocida como 2FA) es un método para confirmar la identidad reclamada de un usuario mediante la utilización de una combinación de dos factores diferentes: 1) algo que saben, 2) algo que tienen o 3) algo que son. Un buen ejemplo de autenticación de dos factores es la retirada de dinero de un cajero automático, donde solo la combinación correcta de una tarjeta bancaria (algo que posee el usuario) y un PIN (algo que el usuario conoce) permite realizar la transacción.
Universal 2nd Factor (U2F) es un estándar de autenticación abierto que refuerza y simplifica la autenticación de dos factores utilizando dispositivos USB o NFC especializados basados en tecnología de seguridad similar que se encuentra en las tarjetas inteligentes. Las llaves de seguridad U2F son compatibles con Google Chrome desde la versión 38 y Opera desde la versión 40. Las llaves de seguridad U2F se pueden utilizar como un método adicional de verificación en dos pasos en servicios en línea que admiten el protocolo U2F, incluidos Google, Dropbox, GitHub, GitLab, Bitbucket, Nextcloud, Facebook y otros.
El U2F Zero es un token U2F de código abierto para la autenticación de dos factores. Cuenta con el coprocesador criptográfico Microchip ATECC508A, que admite:
- Almacenamiento seguro de claves basado en hardware
- Algoritmos de clave pública de alta velocidad (PKI)
- ECDSA: algoritmo de firma digital de curva elíptica FIPS186-3
- ECDH: algoritmo Diffie-Hellman de curva elíptica FIPS SP800-56A
- Soporte de curva elíptica estándar NIST P256
- Algoritmo hash SHA-256 con opción HMAC
- Almacenamiento de hasta 16 claves: longitud de clave de 256 bits
- Número de serie único de 72 bits
- Generador de números aleatorios FIPS (RNG)
Paso 15: Kit de desafío de soldadura
Si está preparado para un serio desafío de soldadura, puede construir su propia U2F Zero Key.
Kit de desafío de soldadura cero U2F:
- PCB U2F Zero Token
- Microcontrolador de núcleo 8051 (E0) EFM8UB11F16G
- Elemento seguro (A1) ATECC508A
- LED de estado (RGB1) 0603 Ánodo común
- Diodo de protección Zener ESD (Z1) SOT553
- Resistencia de 100 ohmios (R1) 0603
- Condensador de derivación de 4,7 uF (C4) 0603
- Condensador de derivación de 0,1 uF (C3) 0403
- Botón táctil momentáneo (SW1)
- Llavero de anillo partido
Tenga en cuenta que hay dos componentes de tamaño 0603. Se ven bastante similares, pero un examen cuidadoso revelará que R1 es negro y C4 es bronceado. También tenga en cuenta que E0, A1 y RGB1 tienen orientaciones requeridas como se indica en la serigrafía de PCB.
El U2F Zero Wiki muestra los detalles para programar el Microcontrolador.
NOTA DE DESAFÍO: Cada HackerBox # 0027 incluye dos kits de Desafío de Soldadura exactamente porque la soldadura es muy difícil y ocurren accidentes. No se frustre. Utilice un gran aumento, pinzas, una buena plancha, fundente de soldadura y muévase muy lenta y cuidadosamente. Si no puede soldar con éxito este kit, definitivamente no está solo. Incluso si nunca funciona, es una buena práctica de soldadura en una variedad de paquetes SMT.
Es posible que desee ver este episodio del Ben Heck Show sobre soldadura de montaje en superficie.
Paso 16: HACKEAR EL PLANETA
Si ha disfrutado de este Instrucable y le gustaría recibir una caja de proyectos de electrónica y tecnología informática como esta directamente en su buzón de correo cada mes, únase a la revolución de HackerBox SUSCRIBIENDO AQUÍ.
Comuníquese y comparta su éxito en los comentarios a continuación o en la página de Facebook de HackerBoxes. Ciertamente, háganos saber si tiene alguna pregunta o necesita ayuda con algo. Gracias por ser parte de HackerBoxes. Por favor, siga enviando sus sugerencias y comentarios. Los HackerBoxes son SUS cajas. ¡Hagamos algo grandioso!
Recomendado:
HackerBox 0060: Zona de juegos: 11 pasos
HackerBox 0060: Playground: Saludos a HackerBox Hackers de todo el mundo. Con HackerBox 0060 experimentarás con Adafruit Circuit Playground Bluefruit con un potente microcontrolador Nordic Semiconductor nRF52840 ARM Cortex M4. Explore la programación integrada con
HackerBox 0041: CircuitPython: 8 pasos
HackerBox 0041: CircuitPython: Saludos a los piratas informáticos HackerBox de todo el mundo. HackerBox 0041 nos trae CircuitPython, MakeCode Arcade, la consola Atari Punk y mucho más. Este Instructable contiene información para comenzar con HackerBox 0041, que se puede comprar h
HackerBox 0058: Codificar: 7 pasos
HackerBox 0058: Encode: ¡Saludos a los hackers HackerBox de todo el mundo! Con HackerBox 0058 exploraremos la codificación de información, códigos de barras, códigos QR, programación de Arduino Pro Micro, pantallas LCD integradas, integración de generación de códigos de barras dentro de proyectos Arduino, inp
HackerBox 0057: Modo seguro: 9 pasos
HackerBox 0057: Modo seguro: ¡Saludos a los piratas informáticos HackerBox de todo el mundo! HackerBox 0057 trae una aldea de IoT, Wireless, Lockpicking y, por supuesto, Hardware Hacking directamente en su laboratorio doméstico. Exploraremos la programación de microcontroladores, exploits de Wi-Fi de IoT, Bluetooth int
HackerBox 0034: SubGHz: 15 pasos
HackerBox 0034: SubGHz: este mes, los hackers de HackerBox están explorando la radio definida por software (SDR) y las comunicaciones por radio en frecuencias por debajo de 1GHz. Este Instructable contiene información para comenzar con HackerBox # 0034, que se puede comprar aquí mientras haya suministros