DamgaOndiso

Nasıl çalışır

Damga'da üç parça vardır ve hiçbiri kullanıcının bilgisayarında dinleyen bir kapı açmaz:

Parça Nerede çalışır Görevi
Damga sunucusu https://damga.ondiso.net Platformların API'si, imza sayfası, imza doğrulama, bildirimler
İmza sayfası Kullanıcının tarayıcısı Belgeyi, takılı e-imza USB'lerini ve sertifikaları gösterir; PIN'i alır ve şifreler
Damga uygulaması Kullanıcının bilgisayarı (Windows, macOS, Linux) e-İmza USB'sini tanır, PIN'i çözer, USB ile imzalar

Bir imzanın yolculuğu

Platformunuz            Damga sunucusu                 Tarayıcı (imza sayfası)          Damga uygulaması
     │ POST /sign-requests ─▶│                                 │                                │
     │◀── id, sign_url ──────│                                 │                                │
     │── kullanıcıyı sign_url'ye gönderir ───────────────────▶ │                                │
     │                       │◀── "Damga'yı başlat" (launch) ──│                                │
     │                       │                                 │── damga://baglan?… ──────────▶ │
     │                       │◀──────── hello + geçici genel anahtar, belge indirme ────────────│
     │                       │◀──────── e-imza USB'leri, sertifikalar ──────────────────────────│
     │                       │── cihaz listesi ──────────────▶ │                                │
     │                       │◀── sertifika + şifreli PIN ─────│                                │
     │                       │──────── imza komutu (şifreli PIN) ──────────────────────────────▶│
     │                       │◀──────── CAdES-BES imza ─────────────────────────────────────────│
     │                       │ imzayı belgeyle doğrular        │                                │
     │◀── bildirim ──────────│── "Belge imzalandı" ──────────▶ │                                │
     │◀── kullanıcı return_url'ye döner ───────────────────────│                                │
  1. Platform isteği açar. PDF, başlık, (isteğe bağlı) beklenen imzacının T.C. kimlik numarası ve dönüş adresi gönderilir. Damga belgeyi saklar, SHA-256 özetini alır ve tek kullanımlık bir sayfa bağlantısı üretir.
  2. Kullanıcı imza sayfasını açar. Sayfa belgeyi, isteyen platformu ve belgenin parmak izini (SHA-256'nın ilk 16 hanesi) gösterir.
  3. Damga uygulaması başlar. "Damga'yı başlat" düğmesi damga:// bağlantısını açar; işletim sistemi uygulamayı çalıştırır. Uygulama bu bağlantıya özel bir anahtarla Damga sunucusuna bağlanır, belgeyi indirir, özetini denetler ve takılı e-imza USB'lerini bildirir. Uygulamanın küçük penceresi de aynı parmak izini gösterir.
  4. Kullanıcı sertifikasını seçer ve PIN'ini sayfaya yazar. Sayfa e-imza USB'sinin adını ve modelini, sertifikanın sahibini (ad soyad, maskeli T.C.), veren kurumu, bitiş tarihini ve PIN durumunu gösterir. Belgeyi başka birinin imzalaması gerekiyorsa o sertifika seçilemez.
  5. PIN şifrelenir. Sayfa PIN'i uygulamanın o bağlantı için ürettiği geçici anahtarla şifreler (ECDH P-256 + AES-256-GCM). Damga sunucusu yalnız şifreli zarfı taşır; PIN'i göremez.
  6. Uygulama e-imza USB'siyle imzalar. Zarfı açar, e-imza USB'sine PIN ile giriş yapar, belgeyi CAdES-BES (ayrık, SHA-256) olarak imzalar, USB'den çıkış yapar, PIN'i bellekten siler.
  7. Damga doğrular ve bildirir. İmza belgeyle birlikte OpenSSL ile doğrulanır; sertifikanın geçerliliği ve T.C. kimlik numarası denetlenir. Geçerliyse istek completed olur, platforma bildirim gider, kullanıcı dönüş adresine yönlenir.

Hatalı PIN ve kilitlenme

e-İmza USB'lerinin çoğu üst üste 3 hatalı PIN'de kilitlenir. Damga bunu üç yerden izler:

  • e-İmza USB'sinin kendisi: PKCS#11 token'ları "az hak kaldı" ve "son hak" bayraklarını bildirir; sayfada görünür.
  • Uygulama: her sertifika için hatalı denemeleri bilgisayarda sayar (uygulama her imzada yeniden başladığı için); başarılı imzada sıfırlanır.
  • Sunucu: o istekteki hatalı denemeleri sayar.

Üçünden biri bir sonraki denemenin tehlikeli olduğunu söylerse — yani 3. denemeden önce ya da e-imza USB'si "son hak" dediğinde — sayfa ayrı bir uyarı penceresi açar ve kullanıcıdan açıkça onay ister. Sunucu da bu onay olmadan imza komutunu kabul etmez. Kilitli e-imza USB'sine PIN hiç gönderilmez.

İsteğin durumları

Durum Anlamı Son mu?
pending İmza bekleniyor. Hatalı PIN, reddedilen imza gibi olaylar isteği bitirmez. Hayır
completed İmza atıldı ve doğrulandı. Evet
cancelled Kullanıcı vazgeçti ya da platform iptal etti. Evet
expired Süre doldu (varsayılan 15 dakika, en çok 60). Evet

Neyi nerede saklamalısınız?

Damga imzayı ve imzalayan bilgisini saklar, belgeyi ise sonuçlandıktan 30 gün sonra siler. Kalıcı arşiv sizin sisteminizdedir: PDF'i ve .imz dosyasını birlikte saklayın; ikisi birlikte her zaman openssl cms -verify ile ya da Damga'nın doğrulama API'siyle doğrulanabilir.