{"id":25802109,"url":"https://github.com/matedev01/joel_atecc608a","last_synced_at":"2026-04-17T06:02:20.477Z","repository":{"id":248524681,"uuid":"786104974","full_name":"matedev01/Joel_atecc608a","owner":"matedev01","description":"USB OTP Security System: A project combining the ESP32-S3 microcontroller, ATECC608A CryptoAuthentication device, Windows driver, and LibUSB for secure communication, OTP generation, and time synchronization. 🚀","archived":false,"fork":false,"pushed_at":"2024-04-16T19:10:28.000Z","size":1369,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-27T00:51:05.704Z","etag":null,"topics":["driver","esp32","esp32s3","firmware","flash-encrypt","hmac","libusb","otp","secure-boot","security","usb","visualgdb"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matedev01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-13T12:51:49.000Z","updated_at":"2024-04-16T19:16:25.000Z","dependencies_parsed_at":"2024-07-15T14:41:21.647Z","dependency_job_id":"77c810d6-5427-44f0-840b-96e1f2488226","html_url":"https://github.com/matedev01/Joel_atecc608a","commit_stats":null,"previous_names":["trusted-partner/joel_atecc608a","pikachu-sentinel/joel_atecc608a","matedev01/joel_atecc608a"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matedev01%2FJoel_atecc608a","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matedev01%2FJoel_atecc608a/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matedev01%2FJoel_atecc608a/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matedev01%2FJoel_atecc608a/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matedev01","download_url":"https://codeload.github.com/matedev01/Joel_atecc608a/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241036519,"owners_count":19898167,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["driver","esp32","esp32s3","firmware","flash-encrypt","hmac","libusb","otp","secure-boot","security","usb","visualgdb"],"created_at":"2025-02-27T16:46:45.702Z","updated_at":"2026-04-17T06:02:15.414Z","avatar_url":"https://github.com/matedev01.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# USB OTP Security System 🚀\n### Overview\nThis project focuses on secure communication between a Windows driver and a hardware device using the CP2102N USB-UART bridge. The primary goals are to generate a 10-bit OTP (One-Time Password) based on date-time, hardware ID, and a private key, and to ensure secure boot and flash encryption. Additionally, the project involves time synchronization with NTP servers and verification of OTP passwords using a challenge-response model.\n\n1. **Project Overview**:\n   - Provide a brief introduction to your project. Explain its purpose, key features, and any relevant context.\n   - Mention that the project involves communication between a Windows driver and a device using the CP2102N USB-UART bridge.\n\n2. **Hardware and Software Requirements**:\n   - List the hardware components (e.g., CP2102N, ATECC608A, esp32-s3, DS1339U-33+T\u0026R) required for your project.\n   - Specify any software dependencies (e.g., ESP-IDF, Windows 10 drivers).\n\n3. **Communication with Windows Driver**:\n   - Describe how the CP2102N USB-UART bridge facilitates communication between the device and the Windows driver.\n   - Mention the shared VID/PID and the use of `uart_async_rxtxtasks`.\n\n4. **OTP Generation and Security**:\n   - Explain how the 10-bit OTP is generated based on date-time, hardware ID, and a private key.\n   - Discuss the importance of secure boot and flash encryption.\n\n5. **ATECC608A Integration**:\n   - Detail how the private key is stored in the ATECC608A CryptoAuthentication device.\n   - Highlight the steps involved in saving the private key if the Windows driver sends it.\n\n6. **OTP Verification and Challenge-Response Model**:\n   - Describe how the OTP password is verified using a challenge-response security model.\n   - Explain the role of HMAC authentication codes.\n\n7. **Time Synchronization with NTP Servers**:\n   - Discuss the need to sync the device's RTC (DS1339U-33+T\u0026R) with NTP servers.\n   - Specify the NTP servers (e.g., ntp.time.nl, ntp1.time.nl, ntp2.time.nl) you plan to use.\n\n8. **Hardware Connections**:\n   - Provide a visual representation or a table showing how the ATECC608A, esp32-s3, DS1339U-33+T\u0026R, and CP2102N are connected.\n   - Include pin mappings (e.g., I2C SCL/SDA, GPIO connections).\n\n9. **Example Code and Implementation**:\n   - Create a dedicated section with step-by-step instructions for setting up the project.\n   - Include code snippets or links to relevant files (e.g., ESP-IDF code, Windows driver code).\n   - Explain how to compile and run the project.\n   - Consider creating a separate folder in your repository for code examples.\n\n10. **Final Notes and Acknowledgments**:\n    - Conclude your README with any additional information, acknowledgments, or credits.\n    - Encourage contributions, bug reports, and feedback from the community.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatedev01%2Fjoel_atecc608a","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatedev01%2Fjoel_atecc608a","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatedev01%2Fjoel_atecc608a/lists"}