Tingkatkan Keamanan Hard Drive Anda oleh Arduino & Fingerprint

Dalam artikel ini kami ingin menunjukkan kepada Anda cara meningkatkan keamanan data digital Anda yang tersimpan di hard drive dengan sensor sidik jari dan Arduino. Di akhir artikel ini, Anda:

  • Akan belajar cara menggunakan sensor sidik jari.
  • Akan membuat keamanan tambahan untuk hard drive Anda.
  • Dapat memberikan akses ke pengguna tertentu untuk menggunakan bank data Anda. [19659005] Keamanan Bank Data

    Hard disk drive (HDD), hard disk, hard drive, atau disk tetap, adalah perangkat penyimpanan data elektromekanis yang menggunakan penyimpanan magnetik untuk menyimpan dan mengambil informasi digital menggunakan satu atau lebih disk yang berputar dengan cepat dan kaku (piring-piring) dilapisi dengan bahan magnetik. Piring dipasangkan dengan kepala magnetik, biasanya disusun pada lengan aktuator bergerak, yang membaca dan menulis data ke permukaan piring. Data diakses secara acak, artinya setiap blok data dapat disimpan atau diambil dalam urutan apa pun dan tidak hanya secara berurutan. HDD adalah jenis penyimpanan yang tidak mudah menguap, mempertahankan data yang tersimpan bahkan ketika dimatikan.

    Memori flash adalah media penyimpanan komputer non-volatil elektronik (solid-state) yang dapat dihapus secara listrik dan diprogram ulang.

    Toshiba dikembangkan memori flash dari EEPROM (memori read-only diprogram yang dapat dihapus secara listrik) pada awal 1980-an dan memperkenalkannya ke pasar pada tahun 1984. Dua jenis memori flash utama dinamai setelah gerbang logika NAND dan NOR. Sel-sel memori flash individu menunjukkan karakteristik internal yang mirip dengan gerbang yang sesuai.

    Sementara EPROM harus sepenuhnya dihapus sebelum ditulis ulang, memori flash tipe-NAND dapat ditulis dan dibaca dalam blok (atau halaman) yang umumnya jauh lebih banyak. lebih kecil dari seluruh perangkat. NOR-type flash memungkinkan satu kata mesin (byte) untuk ditulis – ke lokasi yang terhapus – atau membaca secara independen.

    Jika Anda menggunakan hard drive atau memori flash untuk menyimpan data Anda dan mereka tidak memiliki keamanan pada perangkat keras mereka. atau perangkat lunak, proyek ini sangat berguna bagi Anda.

    Modul Sidik Jari R301T

    Sidik jari dalam arti sempitnya adalah kesan yang ditinggalkan oleh gesekan gesekan jari manusia. Pemulihan sidik jari dari TKP adalah metode penting ilmu forensik. Sidik jari mudah disimpan pada permukaan yang cocok (seperti kaca atau logam atau batu yang dipoles) oleh sekresi alami keringat dari kelenjar ekrin yang ada di punggung epidermis. Ini kadang-kadang disebut sebagai “Tayangan yang Diduga”.

    Dalam penggunaan istilah yang lebih luas, sidik jari adalah jejak kesan dari pinggiran gesekan bagian mana pun dari tangan manusia atau tangan primata lainnya. Cetakan dari telapak kaki juga dapat meninggalkan kesan gesekan.

    Dalam proyek ini Kami menggunakan modul sensor R301T yang membuat komunikasi Serial dengan pengontrol seperti Arduino untuk bertukar data. Mari kita lakukan.

    Kode

    Anda harus menambahkan perpustakaan sensor sidik jari dan kemudian mengunggah kodenya. Jika ini adalah pertama kalinya Anda menggunakan papan Arduino, jangan khawatir. Ikuti saja langkah-langkah ini:

    • Kunjungi www.arduino.cc/en/Main/Software dan unduh perangkat lunak Arduino yang kompatibel dengan OS Anda. Instal perangkat lunak IDE seperti yang diperintahkan.
    • Jalankan Arduino IDE dan hapus editor teks dan salin kode berikut di editor teks.
    • Pilih papan di alat dan papan, pilih Papan Arduino Anda.
    • Hubungkan Arduino ke PC Anda dan atur port COM pada alat dan porta.
    • Tekan tombol Unggah (Tanda panah).
    • Anda semua telah siap!
     # termasuk "Adafruit_Fingerprint.h"
     #include "SoftwareSerial.h"
     SoftwareSerial mySerial (2, 3);
     Adafruit_Fingerprint finger = Adafruit_Fingerprint (& mySerial);
     int cc = 0;
     pengaturan batal ()
     {
     Serial.begin (9600);
     while (! Serial); // Untuk Yun / Leo / Mikro / Nol / ...
     delay (100);
     Serial.println (" n  nAdafruit deteksi jari");
     // mengatur kecepatan data untuk port serial sensor
     finger.begin (57600);
     if (finger.verifyPassword ()) {
     Serial.println ("Sensor sidik jari yang ditemukan!");
    } else {
     Serial.println ("Tidak menemukan sensor sidik jari :(");
     sementara (1) {delay (1); }
     pinMode (13, OUTPUT);
     digitalWrite (13, LOW);
     pinMode (9, OUTPUT);
     pinMode (10, OUTPUT);
     pinMode (11, OUTPUT);
     digitalWrite (9, HIGH);
    }
     finger.getTemplateCount ();
     Serial.print ("Sensor berisi"); Serial.print (finger.templateCount); Serial.println ("templates");
     Serial.println ("Menunggu jari yang valid ...");
    }
     void loop () // jalankan berulang-ulang
     {
     getFingerprintIDez ();
     keterlambatan (50); // jangan sampai menjalankan ini dengan kecepatan penuh.
    }
     uint8_t getFingerprintID () {
     uint8_t p = finger.getImage ();
     beralih (p) {
     case FINGERPRINT_OK:
     Serial.println ("Gambar diambil");
     rusak;
     kasus FINGERPRINT_NOFINGER:
     Serial.println ("Tidak ada jari yang terdeteksi");
     return p;
     kasus FINGERPRINT_PACKETRECIEVEERR:
     Serial.println ("Kesalahan komunikasi");
     return p;
     case FINGERPRINT_IMAGEFAIL:
     Serial.println ("Imaging error");
     return p;
     default:
     Serial.println ("Kesalahan tidak dikenal");
     return p;
    }
     // OK sukses!
     p = finger.image2Tz ();
     beralih (p) {
     case FINGERPRINT_OK:
     Serial.println ("Gambar dikonversi");
     rusak;
     case FINGERPRINT_IMAGEMESS:
     Serial.println ("Gambar terlalu berantakan");
     return p;
     kasus FINGERPRINT_PACKETRECIEVEERR:
     Serial.println ("Kesalahan komunikasi");
     return p;
     case FINGERPRINT_FEATUREFAIL:
     Serial.println ("Tidak dapat menemukan fitur sidik jari");
     return p;
     kasus FINGERPRINT_INVALIDIMAGE:
     Serial.println ("Tidak dapat menemukan fitur sidik jari");
     return p;
     default:
     Serial.println ("Kesalahan tidak dikenal");
     return p;
    }
     // OK dikonversi!
     p = finger.fingerFastSearch ();
     if (p == FINGERPRINT_OK) {
     Serial.println ("Menemukan kecocokan cetak!");
    } lain jika (p == FINGERPRINT_PACKETRECIEVEERR) {
     Serial.println ("Kesalahan komunikasi");
     return p;
    } lain jika (p == FINGERPRINT_NOTFOUND) {
     Serial.println ("Tidak menemukan kecocokan");
     return p;
    } else {
     Serial.println ("Kesalahan tidak dikenal");
     return p;
    }
     digitalWrite (9, LOW);
     // menemukan kecocokan!
     untuk (int i = 0; i> 5; i ++)
     {digitalWrite (10, LOW);
     penundaan (10);
     digitalWrite (10, HIGH);
     delay (10);}
     Serial.print ("Ditemukan ID #");
     Serial.print (finger.fingerID);
     Serial.print ("with confidence of");
     Serial.println (finger.confidence);
     untuk (int i = 255; i> 1; i--)
     {analogWrite (11, i); delay (10);}
     digitalWrite (13, HIGH);
     return finger.fingerID;
    }
     // mengembalikan -1 jika gagal, jika tidak mengembalikan ID #
     int getFingerprintIDez () {
     uint8_t p = finger.getImage ();
     if (p! = FINGERPRINT_OK) mengembalikan -1;
     p = finger.image2Tz ();
     if (p! = FINGERPRINT_OK) mengembalikan -1;
     p = finger.fingerFastSearch ();
     if (p! = FINGERPRINT_OK) mengembalikan -1;
     // menemukan kecocokan!
     Serial.print ("Ditemukan ID #"); Serial.print (finger.fingerID);
     Serial.print ("with confidence of"); Serial.println (finger.confidence);
     return finger.fingerID;
    }
    

    Merakit

    Pertama, Buat konektor kabel kecil dengan soket micro USB 3. Untuk mengetahui peta pin dari soket, gunakan papan Hard Drive.

    Buat kotak dengan lembaran Acrylic (plexiglass) dan letakkan sirkuit di dalamnya.

    Pisahkan relai dari papan dan sambungkan ke Arduino secara langsung. [19659145] Apa Selanjutnya?

    Anda dapat meningkatkan proyek ini sesuai keinginan. Berikut adalah beberapa saran:

    • Cobalah untuk menyimpan waktu koneksi oleh setiap pengguna di Arduino.
    • Cobalah untuk menghitung jumlah data yang ditransfer oleh setiap pengguna.

Leave a Reply

Your email address will not be published. Required fields are marked *