Daftar Isi:

Penyimpan Kata Sandi di Aruino Pro Micro atau Mengapa Tetap Sederhana Saat Ada Cara Rumit!: 15 Langkah (dengan Gambar)
Penyimpan Kata Sandi di Aruino Pro Micro atau Mengapa Tetap Sederhana Saat Ada Cara Rumit!: 15 Langkah (dengan Gambar)

Video: Penyimpan Kata Sandi di Aruino Pro Micro atau Mengapa Tetap Sederhana Saat Ada Cara Rumit!: 15 Langkah (dengan Gambar)

Video: Penyimpan Kata Sandi di Aruino Pro Micro atau Mengapa Tetap Sederhana Saat Ada Cara Rumit!: 15 Langkah (dengan Gambar)
Video: CS50 2015 - Week 7 2024, November
Anonim
Penyimpan Kata Sandi di Aruino Pro Micro atau Mengapa Tetap Sederhana Saat Ada Cara Rumit!
Penyimpan Kata Sandi di Aruino Pro Micro atau Mengapa Tetap Sederhana Saat Ada Cara Rumit!

Tampaknya, masalah utama mikrokontroler untuk penggemar elektronik (terutama pemula) adalah mencari tahu di mana menerapkannya:) Saat ini elektronik, terutama digital, semakin terlihat seperti ilmu hitam. Hanya ahli 80-Lvl yang dapat melakukan sesuatu di sana dengan komponen kecil. Itulah alasan mengapa papan Arduino menjadi sangat populer. Mereka merangkum ilmu hitam dan beberapa asap;) ke dalam papan dengan pin yang bisa diatur manusia.

Posting ini saya ingin mencurahkan untuk proyek yang cukup sederhana, bernama PasswordKeeper, di dasar papan Aruino Pro Micro. Papan ini menghosting chip ATmega32U4.

Langkah 1: Idenya

Ide
Ide

Untuk waktu yang lama saya ingin membuat sesuatu yang sederhana dan berguna dengan beberapa pengontrol. Dan kemudian seorang rekan saya melemparkan ide yang menarik - dia terlalu malas untuk memasukkan login dan kata sandi ke komputernya setiap hari. Jadi dia mengambil papan DigiSpark (ATTiny85) kecil dan membuat perangkat, yang mengirimkan login+password ke komputer saat tombol diklik. Berikut adalah alat ini.

Langkah 2: Ide dan Pengkabelan

Ide dan Pengkabelan
Ide dan Pengkabelan

Ide yang bagus - saya pikir. Mengapa tidak meminjamnya dan menerapkan kreativitas gila padanya.

Membangun kembali proyek Arduino dan memuatnya kembali ke papan setiap kali kata sandi berubah - "Ini bukan droid yang Anda cari" [wave]. Ini terlalu mudah. Kami akan mengambil rute yang jauh lebih rumit!

Alat itu harus menunjukkan cara kerjanya. Tetapi hanya tiga LED on-board standar - terlalu sedikit untuk tujuan ini. Mari naikkan nomor LED menjadi 4099! Jadi modul tampilan OLED 128X32 kecil ditambahkan ke proyek. Saya tidak bisa memikirkan di mana harus memerasnya cukup lama. Dan itu sangat cocok dengan proyek ini. Beberapa tombol lagi - dan semuanya siap digunakan!

Tidak ada cukup ruang dalam chip ATTiny85 untuk proyek - penambahan tampilan ditarik untuk perpustakaan grafis + font. Jadi semua hal ini tidak sesuai dengan memori DigiSpark. Pencarian cepat hadir dengan platform yang sesuai: Arduino Pro Micro.

Ide utama dari proyek ini adalah bahwa ATmega32U4 secara default berpura-pura menjadi perangkat HID - keyboard USB dan port USB COM. Driver untuk perangkat ini sudah diinstal sebelumnya di sebagian besar sistem operasi - dan tidak ada lagi yang perlu disiapkan.

PasswordKeeper, menarik perhatian Anda, adalah chindogu yang meniru klik tombol pada keyboard. Klik ini dapat mentransfer login dan kata sandi ke komputer. Bahkan Ctrl-Alt-Del di mana-mana dapat dikirim dengan mengklik 1 tombol alih-alih 3. Atau urutan kunci lainnya sesuai selera Anda.

Faktor bentuk modul yang dipilih sangat kompak, tetapi tidak pernah mudah kusut. Dimungkinkan dengan upaya minimum untuk merakit perangkat kecil dan agak berguna. Pengkabelan tidak bisa lebih sederhana.

Langkah 3: Memasak

Memasak
Memasak

Bahan Kontrasepsi:

1) Aruino Pro Micro - 1 buah

2) Layar OLED 128x32 - 1 buah

3) Tombol - 2 buah (atau jenis lainnya - dengan flawor).

4) konektor DuPont - 7 buah (atau beberapa kawat untuk menyolder semuanya - dengan rasa).

Masukkan semuanya ke dalam wadah makanan kecil dan kocok hingga rata. Menurut teori probabilitas, item-item saling berhubungan pada akhirnya dengan cara yang benar.

Oh tunggu! Ini bukan artikel yang berhubungan dengan memasak! saya minta maaf.

Anda sebaiknya menghubungkan semuanya secara manual - sesuai dengan diagram pengkabelan dan menghemat beberapa ribu tahun guncangan.

Jadi prototipe untuk sketsa debugging / pengujian sudah siap.

Langkah 4: Membangun Kasus

Membangun Kasus
Membangun Kasus

Sketsa tampaknya berhasil. Tetapi tidak nyaman untuk menggunakan perangkat dalam bentuk ini. Jadi sedikit pekerjaan di Sketchup memberi kami casing kecil.

Upd: Sebuah ide tentang kasus ini.

Anda dapat mengambil kotak plastik transparan kecil yang cocok.

Atau ambil plastik transparan tipis dari beberapa kemasan. Tekuk sesuai dengan geometri perangkat. Masukkan elektronik ke dalam dan isi semua ruang kosong dengan silikon transparan. Ini akan memberi Anda perangkat yang terlihat relatif bagus.

Langkah 5: Pencetakan 3D

Pencetakan 3D
Pencetakan 3D

Lemparkan ke printer 3D terdekat.

Langkah 6: Kasus Sudah Siap

Kasus Sudah Siap
Kasus Sudah Siap

Dan seperti biasa, tergesa-gesa diperlukan saat menangkap kutu.

Casing versi pertama agak kecil dan papannya tidak muat!

Akela gagal untuk meninggalkan beberapa celah. Jadi gambar dikoreksi dan dicetak ulang.

Pass kedua lebih baik - papan sangat pas.

Langkah 7: Mencoba Kasus

Kasus Percobaan
Kasus Percobaan

Masukkan papan ke dalam, tekan di atasnya dan dengan kegentingan yang khas, papan itu terkunci di tempatnya.

Mencoba tombol - mereka juga cocok.

Langkah 8: Solder. kabel

Pematerian. kabel
Pematerian. kabel

Omong-omong, saya sudah lama mencari kawat prototipe yang bagus.

Hasilnya, saya sekarang menggunakan kabel 30AWG dalam proyek saya. Anda dapat melihat mereka di foto. Ini adalah kawat pembungkus.

Beberapa orang sekarang ingat untuk apa itu.

Tapi itu sangat cocok untuk penyolderan on-board juga. Kabel berwarna bagus untuk merapikan kekacauan biasa dengan menetapkan warna berbeda pada fungsi kabel. Kawatnya tipis. Isolasi menahan suhu besi solder dengan baik. Insulasi PVC khas meleleh selama penyolderan segera. Yang ini menjadi lunak, tetapi mempertahankan bentuknya dan memungkinkan sentuhan ujung besi solder sesekali tanpa meleleh ke intinya.

Langkah 9: PwKeeper Sudah Siap

PwKeeper Siap
PwKeeper Siap

Jadi menyatukan semuanya memberi kami token kecil yang terhubung ke komputer dan memungkinkan Anda untuk mengelola dan menggunakan

cukup banyak login dan password.

Langkah 10: PwKeeperPc - Pengeditan Data Mudah di Token

PwKeeperPc - Pengeditan Data Mudah di Token
PwKeeperPc - Pengeditan Data Mudah di Token

Jumlah login dibatasi oleh jumlah memori EEPROM terpasang (1024 byte) dan panjang kata sandi.

Memori EEPROM menyimpan sejumlah catatan.

Setiap catatan berisi kolom komentar dan hingga 8 kolom teks.

Dua bidang teks bernama Nama dan Kata Sandi - hanya untuk kemudahan manajemen.

Layar memungkinkan Anda untuk memilih login yang diinginkan yang menampilkan kolom komentar.

Ini juga memungkinkan Anda untuk mengedit data dalam token. Data dapat diedit hanya dengan dua tombol. Saya meremas semacam Editor ke dalam token. Tapi, jujur, Anda harus menjadi masokis untuk menggunakannya.

Oleh karena itu, untuk menyederhanakan manajemen kata sandi saya harus menulis program khusus untuk PC (omong-omong - jangan lupa untuk mengalihkan token ke mode USB saat Anda menggunakan program ini).

Pembaruan: Untuk orang * nix, saya menambahkan konsol TTY serial di firmware PwKeeper v1.4. Konsol ini diaktifkan dari menu perangkat. Hubungkan dengan program terminal yang sesuai - dan Anda dapat mengedit data di PwKeeper dengan beberapa perintah seperti VI. Konsol juga dapat digunakan pada platform Windows. Cukup tekan Ctrl-Shift-M dari Arduino IDE dan Anda berada di sana (jangan lupa aktifkan TTY di PwKeeper sebelumnya). Tapi PwKeeperPc jauh lebih nyaman, saya pikir.

Langkah 11: PwKeeper Sedang Berjalan

PwKeeper Berlari!
PwKeeper Berlari!

Token berisi data yang sangat sensitif sehingga beberapa upaya harus dilakukan untuk keamanan.

Kata sandi utama untuk membuka kunci token ada.

Itu kosong secara default, tetapi saat Anda mengaturnya di token, Anda harus memasukkannya setiap kali setelah dihidupkan.

Kata sandi utama adalah urutan yang ditentukan pengguna dari klik tunggal dan ganda dari tombol atas dan bawah.

Langkah 12: Aliran Pikiran

Secara teoritis, adalah mungkin untuk mengenkripsi data dalam EEPROM dengan beberapa algoritma kriptografi - beberapa ruang masih tersisa di flash. Tapi upaya ini tidak akan terlihat dari luar - jadi saya tidak repot-repot.

Token dalam keadaan normal tidak terlihat oleh komputer. Untuk memasukkannya ke dalam mode edit USB, Anda harus melakukannya secara fisik dengan menekan tombol di atasnya. Demikian juga, untuk mengirim kata sandi, Anda harus secara fisik menekan tombol ATAS. Jadi peretas jahat tidak akan mencuri kata sandi Anda dari token. Dia akan menangkapnya di port USB ketika Anda mengirimnya dari token;)

Hasil dari proyek ini adalah sebuah alat di mana saya menyimpan kata sandi untuk rekening bank dan forum saya. Juga orang tua saya merasa berguna untuk masuk ke email web dan beberapa situs lainnya.

Khusus untuk rekan saya, saya memprogram semua input papan yang tersisa sebagai tombol akses cepat. Hingga 12 tombol dapat dihubungkan dari pin input yang tersisa ke ground. Dengan mengklik salah satu tombol ini Anda melompat pada login yang sesuai (jika ada). Jadi Anda hanya perlu menekan tombol UP untuk mengirimkannya. Atau tahan tombol pintasan sedikit lebih lama.

Langkah 13: Inspeksi-1

Inspeksi-1
Inspeksi-1

Sebelum go public, PwKeeper telah menjalani pemeriksaan yang teliti.

Langkah 14: Inspeksi-2

Inspeksi-2
Inspeksi-2

Kepala Inspeksi baru saja bangun dan sedang tidak mood.

Tapi dia mengerutkan kening - mengapa perangkat yang jelas belum selesai ditawarkan kepada publik.

Kata-kata saya, bahwa dia perlu memverifikasi kualitas produk dan sulit dilakukan dengan kasus tertutup, diabaikan begitu saja.

Newerless (setelah menyuap dengan sosis) ia mengeluarkan sertifikat persetujuan.

Direkomendasikan: