Fiziksel erişim olmadan USB token üzerinden e-imza PIN'i kaba kuvvet (brute-force) ile kırılabilir mi?
1 Cevap
Fiziksel erişim olmaksızın, yalnızca ele geçirilmiş bir işletim sistemi üzerinden USB token içerisindeki e-imza PIN kodunun kaba kuvvet (brute-force) veya sözlük saldırısıyla kırılması kriptografik ve donanımsal mimari gereği imkansızdır. Bu koruma, işletim sisteminin veya yazılım sürücülerinin insafına bırakılmış bir mantıksal kontrol değil; doğrudan akıllı kart mikrodenetleyicisi (CCID - Chip Card Interface Device) ve güvenli yonga (Secure Element) silikonu üzerinde donanımsal olarak uygulanmış bir güvenlik mekanizmasıdır.
1. Akıllı Kart Mikrodenetleyici Mimarisi ve APDU Doğrulama Mekanizması:
USB token'lar harici birer USB bellek gibi çalışmazlar; içlerinde ISO/IEC 7816 standartlarıyla uyumlu bağımsız bir akıllı kart mikrodenetleyicisi ve kart işletim sistemi (CardOS, Java Card vb.) barındırırlar. Bilgisayara takıldıklarında CCID protokolü üzerinden WinSCard API ile haberleşirler. Bir e-imza uygulaması PIN doğrulaması yapmak istediğinde, PIN bilgisini işletim sistemine vermez; akıllı karta VERIFY PIN komutu içeren bir APDU (Application Protocol Data Unit) veri paketi gönderir. PIN'in doğruluğu, doğrudan mikrodenetleyicinin içindeki güvenli kriptografik işlemci tarafından kontrol edilir.
2. Donanımsal Hata Sayacı (Retry Counter) ve Kalıcı Kilitleme:
Mikrodenetleyici içerisinde silinemez ve manipüle edilemez donanımsal bir sayaç (Retry Counter) bulunmaktadır. Bu sayaç Windows kayıt defterinde, RAM'de veya sürücü dosyalarında değil; kartın kendi güvenli uçucu olmayan belleğinde (EEPROM / Flash) tutulur:
- Her yanlış PIN girildiğinde mikrodenetleyici sayacı anında 1 azaltır ve donanım yazma işlemi tamamlanmadan doğrulama sonucunu dönmez.
- Sayaç genellikle 3 ardışık hatalı deneme hakkına izin verir. Üçüncü hatalı denemede kart mimarisi durumu
PIN Blocked(kilitli) statüsüne geçirir (Status Word0x69 0x83). - Kilitlenme gerçekleştiğinde, mikrodenetleyici donanım seviyesinde tüm
VERIFY PINve imzalama komutlarını kalıcı olarak reddeder. Bilgisayarı yeniden başlatmak, USB token'ı çıkarıp takmak veya sürücüleri yeniden yüklemek bu sayacı asla sıfırlamaz.
3. PUK ve Sıfırlama Mekanizmasının Güvenliği:
Kilitlenen bir token yalnızca PUK (PIN Unblocking Key) kodu ile açılabilir. PUK deneme sayısı da genellikle 3 deneme ile donanımsal olarak sınırlandırılmıştır. Eğer saldırgan PUK kodunu da kaba kuvvetle denemeye kalkışırsa, 3 başarısız denemenin ardından akıllı kart mikrodenetleyicisi kendisini kalıcı olarak imha moduna (brick/zeroization) sokar; kartın içerisindeki özel anahtar (private key) konteyneri kalıcı olarak silinir ve cihaz çöp haline gelir.
4. Gerçek Tehdit Vektörleri Nelerdir?
Saldırganlar brute-force yapamasalar da uç noktayı ele geçirdikleri senaryoda şu teknikleri uygulayabilirler:
- Klavye Dinleme (Keylogger): Kullanıcının yasal bir işlem yaparken klavyeden girdiği PIN kodunu yakalamak.
- Oturum Korsanlığı (Session Hijacking): Kullanıcı meşru bir imzalama için PIN girip oturumu açık bıraktığı pencerede, arka plandan akıllı karta imzalama çağrıları göndermek.
Sonuç olarak; 4 ila 8 haneli bir PIN'in barındırdığı 10.000 ile 100.000.000 arasındaki kombinasyonu uzaktan denemek donanımsal CCID sınırlandırması nedeniyle imkansızdır; en fazla 3 deneme sonunda token kilitlenecektir.