Hem pratik hem de son derece güvenli bir donanımsal çözüm sunan ATtiny85 tabanlı şifre üretici projesi öne çıkıyor. Bu rehberimizde, küçük boyutuna rağmen harikalar yaratan ATtiny85 mikrodenetleyicisi ile nasıl fiziksel bir parola oluşturucu yapabileceğinizi, devre şemasını ve kaynak kodlarını detaylandırarak anlatacağız.
Dijital dünyanın hızla geliştiği günümüzde siber güvenlik her zamankinden daha kritik bir öneme sahip. Güçlü ve karmaşık parolalar kullanmak, kişisel verilerimizin korunmasında en temel savunma hattını oluşturuyor.
ATtiny85 Nedir?
ATtiny85; Atmel firması tarafından geliştirilen ve günümüzde Microchip Technology bünyesinde üretimine devam edilen, son derece düşük güç tüketimine sahip, 8-bitlik yüksek performanslı bir RISC mikrodenetleyicidir. Minimalist boyutları ve ekonomik fiyatıyla donanım geliştiricilerinin favorilerinden biridir. Özellikle kısıtlı alana sahip IoT projeleri, giyilebilir teknolojiler, basit otomasyon sistemleri ve taşınabilir akıllı cihazlar için mükemmel bir alternatiftir.
ATtiny85’in Öne Çıkan Teknik Özellikleri:
- 8 KB Programlanabilir Flash Bellek
- 512 Byte SRAM ve 512 Byte EEPROM
- Kompakt 8 pinli DIP / SOIC kılıf yapısı (6 adet kullanılabilir I/O pini)
- Dahili osilatör ile 20 MHz’e kadar çalışma frekansı
- Ultra düşük güç tüketim modları
- I2C (USI), SPI, ADC ve PWM donanımsal destekleri
Sınırlı kaynaklarına rağmen ATtiny85, özel hedeflere yönelik mikro projelerde üstün verimlilik sunar. Tasarlayacağımız fiziksel şifre üretici de bu verimli kullanım senaryolarının en başarılı örneklerinden biridir.
ATtiny85 Şifre Üretici Projesi Nedir?
ATtiny85 şifre üretici, tamamen çevrimdışı (offline) çalışan donanımsal bir cihaz yardımıyla kırılması imkansız, rastgele ve yüksek karmaşıklıkta şifreler üretmenizi sağlayan bir güvenlik projesidir. Özellikle hassas hesaplarının parolalarını bulut tabanlı şifre yöneticilerine emanet etmek istemeyen veya her platform için benzersiz şifreleri saniyeler içinde oluşturmak isteyen siber güvenlik meraklıları için idealdir.
Donanım üzerinde yer alan fiziksel bir butona basıldığında, mikrodenetleyici içerisinde çalışan kriptografik entropi destekli algoritma yeni bir şifre üretir. ATtiny85, USB HID (Human Interface Device) yani insan arayüz cihazı emülasyonu sayesinde bilgisayarınıza tıpkı standart bir klavye gibi tanıtılır ve üretilen bu şifreyi aktif olan metin alanına otomatik olarak yazar. Bu sayede yazılımsal keylogger (tuş kaydedici) gibi casus yazılımların araya girmesi de engellenmiş olur.
Donanımsal Şifre Üreticinin Avantajları
1. Üst Düzey Güvenlik (Çevrimdışı Çalışma)
Bulut tabanlı veya yerel yazılımsal şifre yöneticilerinin aksine, bu cihaz internet bağlantısına ihtiyaç duymaz ve şifrelerinizi tamamen fiziksel ortamda üretir. Bu durum, uzaktan gelebilecek siber saldırı riskini tamamen ortadan kaldırır.
2. Ultra Taşınabilirlik
ATtiny85’in milimetrik boyutları sayesinde projenizi anahtarlık boyutuna indirgeyebilir, dilediğiniz her yere cebinizde taşıyarak güvenle kullanabilirsiniz.
3. Esnek ve Özelleştirilebilir Yapı
Yazılım algoritmasını tamamen kendi ihtiyaçlarınıza göre şekillendirebilirsiniz. Şifrenin karakter uzunluğunu belirleyebilir, hangi özel sembollerin dahil edilip edilmeyeceğini kolayca kod üzerinden yönetebilirsiniz.
4. Düşük Maliyet ve Yüksek Verimlilik
Arduino veya benzeri büyük geliştirme kartlarına kıyasla son derece bütçe dostudur. Basit bir USB konnektör, birkaç pasif devre elemanı, bir buton ve ATtiny85 ile profesyonel düzeyde bir güvenlik donanımı inşa edebilirsiniz.
ATtiny85 Şifre Üretici Nasıl Yapılır?
Gerekli Donanım Bileşenleri:
- ATtiny85 Mikrodenetleyici (DIP-8 paket tercih edilebilir)
- USB Erkek Konnektör veya Micro USB / Type-C Breakout Board
- Push Button (Tetikleme butonu)
- 10K Ohm Direnç (Buton kararlılığı için pull-up/pull-down direnci)
- İki adet 3.6V Zener Diyot ve iki adet 68 Ohm Direnç (USB sinyal hatları koruması için)
- 3D Yazıcı ile üretilmiş şık bir koruma kasası (tercihe bağlı)
- Yazılım geliştirme için güncel Arduino IDE
- Programlama aşaması için USBasp programlayıcı veya “Arduino as ISP” olarak yapılandırılmış bir Arduino UNO
Devre Bağlantı Şeması:
Donanımın tasarımı oldukça basittir. Tetikleme butonu bir giriş pinine (örneğin PB1) bağlanır. USB standartlarında veri iletimi (D+ ve D-) sağlayabilmek için PB0 ve PB2 pinleri uygun direnç ve zener diyot korumaları üzerinden USB hattına bağlanır. Böylece yazılımsal V-USB kütüphanesi aktif edilerek USB HID klavye işlevselliği kazandırılır.
Yazılım ve Kodlama:
Arduino IDE üzerinde projenizi derlemek için V-USB altyapısını kullanan Digispark USB kütüphanesi gibi popüler donanım kütüphanelerinden faydalanabilirsiniz. Kod yapısı, butona basıldığı anda mikrodenetleyicinin zamanlayıcı entropisini kullanarak benzersiz ve rastgele karakter kombinasyonları üretir ve bunları bağlı bilgisayara klavye girdisi olarak yollar.
Üretilen Güçlü Şifre Yapısı ve Analizi
Mikrodenetleyici kodumuzun içerisinde güvenliği maksimize etmek adına geniş bir karakter seti tanımlanmıştır:
const char charset[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*";Bu zengin karakter kümesinden kriptografik olarak rastgele seçilen 12 karakterlik kombinasyonlar oluşturulur. Butona basıldığı an cihaz, klavye donanımı gibi davranarak saniyeler içinde şifreyi ekrana girer ve hemen arkasından “Enter” tuş komutunu göndererek işlemi tamamlar.
Sistem Tarafından Üretilen Örnek Şifre Çıktıları:
Her basışta üretilen bazı yüksek güvenlikli şifre örnekleri şu şekildedir:
xA7b!DqP#t2M9gV@Rm$1LkzB*BqZ7hT!mUe5P3&kLmN!tYw#
Cihazı bilgisayarınıza bağlayıp herhangi bir metin düzenleyici veya giriş ekranı açıkken butona basmanız şifrenin otomatik olarak yazılması için yeterlidir.
ATtiny85 Pin Dağılımı ve Bağlantı Tablosu:
| Bileşen | ATtiny85 Pini | Fonksiyon Açıklaması |
|---|---|---|
| USB D+ Sinyali | PB0 (Pin 5) | USB Veri Hattı Pozitif (+) |
| USB D− Sinyali | PB2 (Pin 7) | USB Veri Hattı Negatif (−) |
| Tetikleme Butonu | PB1 (Pin 6) | Giriş Kesmesi (Buton Sinyali) |
| 10K Pull-Up Direnci | PB1 ile VCC arası | Kararsız sinyalleri engelleme |
| VCC Beslemesi | Pin 8 | +5V Güç Girişi |
| GND Toprak | Pin 4 | Şasi / Toprak Bağlantısı |
Önemli Teknik Not: USB sinyal seviyelerini ATtiny85 üzerinden doğrudan yönlendirirken kararlılık sorunları yaşamamak adına, V-USB donanım standartlarına tam uyumlu veya hazır olarak satılan Digispark geliştirme kartlarını tercih etmeniz montaj ve kodlama sürecini oldukça kolaylaştıracaktır.

Donanım Mimarisini Detaylandırma Notları:
- Buton Yapılandırması: Butonumuz ATtiny85’in PB1 pinine bağlıdır. Butona basıldığında pin seviyesi LOW (sıfır) konumuna çekilerek işlemciye veri gönderme emri iletilir.
- Yazılımsal USB Emülasyonu: V-USB ve Digispark bootloader mimarisi sayesinde ATtiny85, ek bir çipe ihtiyaç duymadan bilgisayara standart klavye sinyalleri iletebilir. PB0 ve PB2 pinleri bu veri akışını koordine eder.
- Pull-Up Direncini Aktifleştirme: Butonun basılmadığı anlarda statik elektrikten dolayı hatalı tetikleme almasını önlemek için hattı VCC seviyesinde tutmak gerekir. Yazdığımız kod içerisinde
INPUT_PULLUPkomutuyla ATtiny85’in dahili pull-up dirençlerini aktif ederek harici direnç ihtiyacını da minimize edebilirsiniz.
Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.

