imzala.org Artık USB Token ile Nitelikli E-İmza (NES/QES) Destekliyor — Java Gerektirmez
imzala.org platformuna Nitelikli Elektronik İmza (NES / QES) desteği geldi. Kullanıcılar artık kendi USB token sertifikalarıyla — BTK lisanslı Türk Elektronik Sertifika Hizmet Sağlayıcılarının (ESHS) donanımları üzerinden — Java kurulumu gerekmeden, native bir masaüstü köprüsü üzerinden 5070 sayılı Kanun ve eIDAS uyumlu PAdES B-LTA imza atabiliyor.
Bu yazıda neyi başardığımızı, mimari kararlarımızı, kullanım akışını ve hukuki çerçeveyi anlatıyoruz.
Üç Ana Yenilik
1. Java sıfır, native masaüstü köprüsü. Türkiye’deki yaygın QES çözümleri tarihsel olarak Java applet’lerine veya JRE’li masaüstü uygulamalarına dayandı. Biz farklı bir yaklaşım seçtik: ~15 MB boyutunda, kullanıcı cihazında lokal çalışan native bir köprü. Tarayıcı yalnızca cihaz içi yerel TLS bağlantısı üzerinden konuşur — uzak sunucumuza PIN veya özel anahtar iletilmez.
2. macOS smartcard kısıtlamasına katmanlı çözüm. Apple’ın smart card altyapısında yıllardır bilinen, üreticisi tarafından bir türlü kapatılmayan kritik bir sorun (#19374107) imza akışını mac’lerde zorlaştırıyordu. Bunu process isolation + dedicated thread + Apple smartcard entitlement kombinasyonuyla aştık. Sonuç: macOS Apple Silicon dahil tüm modern Mac’lerde sorunsuz akış.
3. 5070 + eIDAS dual-mode imza. Aynı USB token ile hem AB (eIDAS evrensel kabul) hem Türk hukuki kapsamlı (BTK Profil Rehberi P3, 5070 marker OID) modunda imza atılabiliyor. Tüm bu profilleme yapılandırma düzeyinde yapılır; kullanıcı tarafında ek bir adım yoktur.
Mimari — Yüksek Düzey
Tarayıcı (qes-signer.js)
↕ yerel TLS köprüsü (cihaz içi)
Native Helper (imzala-qes-helper)
↕ PKCS#11
USB Token (kullanıcının ESHS sertifikası)
Tüm imza işlemi kullanıcının kendi cihazında gerçekleşir. Bizim sunucumuz yalnızca imzalanacak belgenin hash’ini hazırlar, helper’dan dönen imza değerini PDF’e gömer ve RFC 3161 zaman damgası ekler. Özel anahtar USB token donanımından çıkmaz, PIN bizim sunucumuza ulaşmaz.
Backend tarafında PAdES B-T → B-LT → B-LTA upgrade chain otomatik işler — sertifika geçerlilik süresi dolduktan sonra dahi (10+ yıl) imza kriptografik olarak doğrulanabilir kalır. Zaman damgası birincil olarak TÜBİTAK KAMU SM Zamane’den alınır; AB Qualified TSA fallback altyapısı da hazırdır.
Güvenlik
USB token PIN’iniz browser’a, ağa veya log dosyalarına dokunmaz. Yalnızca işletim sistemi PIN diyaloğunda kullanıcının yerel cihazında kalır. imzala.org sunucuları PIN’i görmez. Audit log’a imza zamanı + sertifika SHA-256 thumbprint + sonuç durumu yazılır; PIN içeriği veya özel anahtar değeri kayıt edilmez.
Yerel köprü TLS self-signed ile şifrelidir, Origin kontrolüyle yalnızca imzala.org domain’lerinden gelen istekler kabul edilir; UUID korelasyon ID’leri ile cross-tab replay koruması vardır.
Vendor Uyumluluğu
Helper, PKCS#11 standardına bağlı çalıştığı için BTK lisanslı tüm Türk ESHS donanımları ile uyumludur:
- TÜBİTAK UEKAE Kamu Sertifikasyon Merkezi (Kamu SM / AKIS)
- E-Tuğra EBG Bilişim Teknolojileri ve Hizmetleri A.Ş.
- TürkTrust Bilgi, İletişim ve Bilişim Güvenliği Hizmetleri A.Ş.
- Elektronik Bilgi Güvenliği A.Ş. (E-Güven)
- Ayyıldız İmza Bilgi Güvenliği ve Teknolojileri A.Ş.
- EİMZATR Bilgi Güvenliği Hizmetleri A.Ş.
- Arksigner Yazılım ve Donanım Sanayi Ticaret A.Ş. (ARKİmza)
Vendor başına uçtan uca doğrulama testleri aşamalı olarak yapılmaktadır. Beta erişim ve uyumluluk durumu hakkında bilgi için [email protected].
Kullanım Akışı
Müşteri perspektifinden 3 adım:
- Helper’ı bir kez kur. macOS (.dmg), Windows (.msi), Linux (.deb / .rpm). Code-signed paket dağıtımı için hazırlık devam ediyor; beta erişim için bekleme listemize katılabilirsiniz.
- PKCS#11 sürücüsü kurulu mu kontrol et. Çoğu kullanıcı için ESHS’sinden USB token aldığında zaten yüklediği adım (Adobe Acrobat ile imzalayanlar dahildir). Helper otomatik tespit yapar; eksikse hangi linkten indireceğinizi söyler.
- Dashboard’dan imza akışı. Sözleşmeye girdiğinizde sertifika seçim diyaloğu çıkar; sertifikayı seçin; OS PIN diyaloğu açılır; PIN’i girin; saniyeler içinde PAdES B-LTA imzalı PDF’iniz hazır.
Hukuki Çerçeve
Türkiye: 5070 sayılı Kanun m.5/1 — “Güvenli elektronik imza, elle atılan imza ile aynı hukuki sonucu doğurur.” HMK m.205/2 — güvenli elektronik imzalı veriler senet hükmündedir. İmzala.org ESHS değildir; sertifikayı kullanıcı yetkili bir ESHS’den alır; biz sadece imza akışı + saklama + PAdES uzun-vade arşiv katmanını sağlarız.
AB: eIDAS Reg. 910/2014 Art.25(2) — “Bir nitelikli elektronik imza, el yazısı imzanın hukuki sonuçlarına eşdeğer hukuki etkiye sahiptir.” Türkiye AB EU Trusted List’te yer almadığı için sınır ötesi karşılıklı tanıma garantisi yoktur; AB tarafına imza atılan sözleşmelerde karşı tarafın hukuk müşaviriyle teyit alınması gerekir. Detaylı: Kullanım Koşulları.
Detaylı teknik beyanname: eIDAS QES Native Helper Uyum Beyanı. Mevcut SES akışı ile karşılaştırma: SES vs QES rehberi.
Açık Standartlar
Helper mimarisi yalnızca açık standartlara — PKCS#11, RFC 3161, PAdES, X.509 — dayanır; proprietary vendor lock-in yoktur. Aynı USB token Adobe Acrobat veya AB DSS gibi bağımsız doğrulayıcılarla uyumlu çalışır. Apple smartcard altyapısının yıllardır bilinen bir kısıtlamasını çözmek için geliştirdiğimiz katmanlı yaklaşımı topluluğa açma yol haritamızdadır.
SSS
Java yüklemem gerekecek mi? Hayır — helper native bir uygulamadır, Java JRE gerekmez.
USB token sürücüsünü kim kurar? ESHS’nizden kart aldığınızda kendisi yönlendirir (Adobe Acrobat ile imzalayanlar zaten yapmış olur). Helper otomatik tespit eder; eksikse hangi linkten indireceğinizi söyler.
Adobe Acrobat ile farkı ne? Adobe da PKCS#11 kullanıyor, doğru. Bizim ek değerimiz: (1) imza akışı tarayıcıda akıyor, (2) PAdES B-T → B-LT → B-LTA arşiv-uzun-vade upgrade’i backend’de otomatik yapılır, (3) imzalı PDF dashboard’unuzda saklanır, paylaşılır ve doğrulanır.
Hangi yasal değere sahip? Türkiye’de 5070 m.5/1 uyarınca ıslak imzaya eşdeğer. AB’de eIDAS Art.25 uyarınca QES olarak tanınır — ancak Türkiye AB LOTL’da olmadığı için karşılıklı otomatik tanıma garantisi yoktur.
Güvenli mi? Evet. PIN browser’a, ağa veya log dosyalarına dokunmadan, kullanıcının kendi cihazında işletim sistemi PIN diyaloğunda kalır. Özel anahtar USB token donanımından çıkmaz. Detaylı güvenlik mimarisi: /guvenlik sayfasındaki “Nitelikli E-İmza için Native Donanım Köprüsü” bölümü.
Şu an ben de kullanabilir miyim? Native Helper bileşeni erken erişim aşamasındadır. Beta erişim için [email protected] üzerinden bekleme listesine katılabilirsiniz.
Mobile imza? BLE / NFC tabanlı bir mobile QES çözümü ayrı bir yol haritası kalemidir.
İlgili sayfalar:
- QES / NES Native Helper Uyum Beyanı (formal)
- Güvenlik — process isolation, PIN handling, audit log
- Yasal Güvence — 5070 + eIDAS + HMK çerçeveleri
- SES vs QES Rehberi — hangi akış sizin için doğru?
- Uyumluluk — compliance matrix ve sertifikasyon yol haritası