Mục lục:
Video: Bộ tạo Arduino TOTP: 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
Nguồn cảm hứng
Có một người bạn quan tâm đến mật mã và bảo mật, tôi muốn tạo ra một món quà sinh nhật hoàn hảo.
* Đây là một dự án tôi thực hiện như một món quà sinh nhật và được tạo ra trong điều kiện thời gian eo hẹp (xin thứ lỗi cho tay nghề lộn xộn)
LƯU Ý: Thế hệ TOTP được sử dụng trong dự án này tạo và sử dụng mã 6 chữ số, nhưng do phần cứng hiện có của tôi, tôi đã chọn cắt 2 chữ số ở cuối và hiển thị và sử dụng 4, được cho là (nhưng không đáng kể) làm giảm Bảo vệ.
Thông tin chung
Dự án này tạo mã mới sau mỗi 30 giây bằng cách sử dụng khóa chia sẻ trước và thời gian hiện tại (được theo dõi bằng cách sử dụng mô-đun đồng hồ thời gian thực) và hiển thị mã đó trên màn hình khi nhấn nút. Trường hợp sử dụng phổ biến nhất sẽ là xác minh hai yếu tố dựa trên Mật khẩu một lần dựa trên thời gian (TOTP) và Mật khẩu một lần dựa trên HMAC (HOTP) để xác thực.
TOTP là một thuật toán tính toán mật khẩu dùng một lần từ khóa bí mật được chia sẻ và thời gian hiện tại. HTOP là một thuật toán sử dụng thuật toán HMAC để tạo mật khẩu một lần.
Các công ty như Google, Microsoft và Steam đã sử dụng công nghệ TOTP để xác thực hai yếu tố của họ
Liên kết thú vị
Bài viết giải thích cách Google sử dụng công nghệ này để xác thực người dùng -
Việc triển khai JavaScript của HOTP và TOTP có thể được sử dụng khi tạo phần mềm bằng cách sử dụng dự án này -
Thư viện mật mã cho Arduino được sử dụng trong dự án này -
Giấy TOTP -
Mức độ chuyên môn
Có thể hướng dẫn này dành cho những người đam mê quan tâm đến bảo mật và có thể muốn triển khai một thành phần phần cứng tốt cho thế hệ TOTP của họ. Tài liệu hướng dẫn này được viết cho khán giả đã hiểu các kiến thức cơ bản về diễn giải sơ đồ điện tử và lập trình thô sơ, nhưng nếu bạn chỉ định làm theo chính xác Tài liệu hướng dẫn này, đừng lo lắng nếu bạn không có kinh nghiệm và hãy đặt câu hỏi trong bình luận! Hơn nữa, dự án cũng có thể thú vị đối với các nhà sản xuất có kinh nghiệm hơn vì sản phẩm cuối cùng không chỉ là một phần tốt đẹp để có xung quanh (theo ý kiến của tôi), mà còn có rất nhiều tiềm năng để mở rộng và các tính năng mới mà không gặp nhiều rắc rối.
Quân nhu
Vật liệu:
- 1x Arduino Nano (Amazon)
- 1x Mô-đun đồng hồ thời gian thực (RTC) DS3231 AT24C32 (Amazon)
- 1x SH5461AS Cathode chung 4 chữ số 7 đoạn (Amazon)
- 1x Nút ấn (Amazon)
- Điện trở 1x 10k (Amazon)
- TÙY CHỌN PCB 1x 5x7cm (Amazon)
- TÙY CHỌN Dây hàn với PCB
- TÙY CHỌN 1x Breadboard để thử nghiệm (Amazon)
Bước 1: Lắp ráp và kiểm tra
Lắp ráp tất cả các thành phần trên breadboard và đấu dây chúng theo sơ đồ đấu dây đính kèm (tệp Fritzing có ở đây).
Đảm bảo rằng bạn đã cài đặt Arduino IDE (có thể tìm thấy nó trên mạng nếu bạn không có) và cài đặt các thư viện sau:
github.com/lucadentella/TOTP-Arduino
github.com/adafruit/RTClib
github.com/maniacbug/Cryptosuite
Tải xuống bản phác thảo đính kèm (cũng có thể truy cập tại đây: https://gist.github.com/shiv213/569f01a54988cb0207966be9a65cc5ab) và mở nó bằng Arduino IDE. Mở liên kết này (https://www.lucadentella.it/OTP/) và nhập bất kỳ tên nào vào trường tên tài khoản và khóa bí mật tùy chỉnh (dài 10 ký tự) vào trường sau, đảm bảo lưu cả hai giá trị đó ở một nơi an toàn để sao lưu. Sao chép nội dung của trường "Arduino HEX array:" và chuyển trở lại trình chỉnh sửa Arduino, thay thế mảng trên dòng 25 (hmacKey) bằng mảng bạn đã sao chép từ trang web.
Sau khi kiểm tra kỹ từng kết nối dây, hãy đảm bảo rằng mô-đun RTC có một ô đồng xu trong đó và kết nối Arduino với máy tính xách tay của bạn bằng dây USB mini và tải lên bản phác thảo đính kèm.
Sau khi tải lên, khi nhấn nút, một số sẽ hiển thị trên màn hình. Nếu bạn tải xuống ứng dụng Google Authenticator trên điện thoại thông minh và quay lại trang web được sử dụng để tạo mảng HEX, quét mã QR hoặc nhập "mã Google Authenticator" vào ứng dụng, bạn sẽ thấy một số hiển thị trong ứng dụng. Nếu mọi thứ hoạt động chính xác, khi bạn nhấn nút, 4 chữ số hiển thị phải khớp với 4 chữ số đầu tiên của mã hiện tại được hiển thị trên ứng dụng điện thoại thông minh. Nếu không đúng như vậy, hãy đảm bảo rằng máy tính đang được sử dụng để tải lên mã Arduino được đặt thành giờ UTC và thử lại.
Bước 2: Chuyển sang PCB
Sau khi đảm bảo mọi thứ đều hoạt động bình thường, bạn có thể chuyển các thành phần vào PCB và hàn mọi thứ lại với nhau theo cách mà bạn có vẻ phù hợp. Tôi đã đính kèm một sơ đồ PCB ngoài tệp Fritzing (có sẵn tại đây). Lưu ý rằng tôi đã đặt tất cả các thành phần trên cùng của bo mạch để tăng tính thẩm mỹ, nhưng cũng có thể được gắn bên dưới và sau đó được bao bọc trong một số loại vỏ để làm cho nó sạch sẽ hơn. Tôi cắt và dán các que kem nóng có màu Sharpie vào các cạnh của PCB để tạo ra một hộp tạm thời cho thiết bị. Một bước tùy chọn khác là gắn một kẹp pin 9 volt vào các chân VIN và GND của Arduino, làm cho nó hoạt động bằng pin.
Bước 3: Đã hoàn thành
Đây là cách tạo ra trình tạo hoàn chỉnh của tôi, nếu bạn đã làm theo và tự tạo một cái, hãy chia sẻ nó bên dưới!
Hãy nhớ bỏ phiếu Người hướng dẫn của tôi cho Cuộc thi STEM nếu bạn thấy phù hợp, và để lại bình luận / bất kỳ câu hỏi nào bạn có thể có ở bên dưới!
Đề xuất:
Cách tạo thiết bị tạo khoảng cách xã hội Arduino với PIR: 4 bước
Cách tạo thiết bị tạo khoảng cách xã hội Arduino với PIR: 1
Tự tạo Máy tạo sương mù siêu âm siêu đơn giản của riêng bạn: 4 bước
Tự tạo Máy tạo sương mù siêu âm siêu đơn giản của riêng bạn: Trong dự án này, tôi sẽ hướng dẫn bạn cách tạo một mạch trình điều khiển đơn giản cho một đĩa áp điện siêu âm 113kHz. Về cơ bản, mạch bao gồm một mạch hẹn giờ 555, một MOSFET và một vài thành phần bổ sung. Trên đường đi, tôi sẽ
(2) Bắt đầu tạo trò chơi - Tạo Splash Screen trong Unity3D: 9 bước
(2) Bắt đầu tạo trò chơi - Tạo màn hình giật gân trong Unity3D: Trong Tài liệu hướng dẫn này, bạn sẽ học cách tạo một màn hình giật gân đơn giản trong Unity3D. Đầu tiên, chúng tôi sẽ mở Unity
D4E1 - Người tạo nghệ thuật: Người tạo mẫu giấy: 8 bước
D4E1 - Artmakers: Paper Pattern Maker: Chúng tôi là 4 sinh viên Thiết kế Sản phẩm Công nghiệp từ Howest và đây là nhà sản xuất nghệ thuật của chúng tôi. Máy sản xuất nghệ thuật là gì và tại sao. Máy tạo tác phẩm nghệ thuật là một cỗ máy đơn giản cho phép trẻ em bị khuyết tật về nhận thức có thể tạo ra các vật liệu thủ công thú vị hoặc tạo hình công việc đơn giản mà
Cách tạo máy bay không người lái bằng Arduino UNO. Tạo Quadcopter bằng Vi điều khiển: 8 bước (có Hình ảnh)
Cách tạo máy bay không người lái bằng Arduino UNO. Tạo Quadcopter bằng Vi điều khiển: Giới thiệuTruy cập kênh Youtube của tôi Một chiếc máy bay không người lái là một thiết bị (sản phẩm) rất đắt tiền để mua. Trong bài viết này, tôi sẽ thảo luận, làm thế nào tôi kiếm được nó với giá rẻ ?? Và làm thế nào bạn có thể tự làm như thế này với giá rẻ… Ở Ấn Độ tất cả các vật liệu (động cơ, ESC