İçindekiler
Bir kanıt dosyasının üzerinde bir tarih yazar. O tarihi kim söylüyor? Cevap çoğu zaman "kaydı tutan sunucunun saati" olur ve bu, denetçinin kabul etmesi beklenen en zayıf halkadır. Bu yazı sorunun neden önemli olduğunu ve RFC 3161 zaman damgasının onu nasıl çözdüğünü anlatıyor.
Sunucu Saati Bir Kanıt Değildir
İmza, bir dosyanın kimden çıktığını gösterir. Ne zaman çıktığını göstermez. Dosyanın içindeki tarih alanı da imzanın kapsamındadır, yani sonradan değiştirilemez; ama o alana yazılan değer, üretim anında sunucunun saatinden okunmuştur.
Sunucu saatini değiştirebilen biri, geçmiş tarihli bir kanıt dosyası üretebilir. İmza geçerli çıkar, özetler tutar, her kontrol geçer. Yalnızca tarih yalandır. Denetçinin bunu paketin içinden anlaması mümkün değildir.
Bu sorun pratikte iki yerde ortaya çıkar. Birincisi, geriye dönük kanıt üretme ihtiyacı: bir işlem kayıt dışı yapıldıysa, sonradan kayıt oluşturup tarihini geriye almak cazip bir kısayoldur. İkincisi, bir olayın hangi düzenleme dönemine düştüğü tartışması: tarih, yaptırımın kapsamını değiştirebilir.
RFC 3161 Nasıl Çalışır
RFC 3161, uzun süredir yürürlükte olan bir zaman damgası standardıdır ve akışı üç adımdan ibarettir.
- Kanıt dosyasının künyesinden bir SHA-256 özeti hesaplanır.
- Bu özet bir zaman damgası otoritesine gönderilir. Otorite, özeti ve kendi saatini birlikte imzalayıp geri döner.
- Dönen yanıt kanıt paketinin içine bir dosya olarak konur.
Sonuçta paket şunu taşır: "bu içerik, şu tarihte zaten mevcuttu ve bunu söyleyen kurum değil, üçüncü bir taraftır." Denetçi bu dosyayı otoritenin açık anahtarıyla doğrular ve kurumun saatine hiç bakmadan tarihi teyit eder.
Damga neyi kanıtlar
Zaman damgası, içeriğin o tarihte var olduğunu kanıtlar. İçeriğin doğru olduğunu kanıtlamaz ve içeriğin o tarihte üretildiğini de kanıtlamaz; yalnızca o tarihte zaten var olduğunu gösterir. Bu ayrım küçük görünür ama denetim raporunda yazılan cümleyi değiştirir.
Dışarı Ne Gidiyor
Bu, güvenlik ekibinin ilk soracağı sorudur ve cevabı nettir: yalnızca bir özet. Kanıt dosyasının kendisi, betik metinleri, sorgu sonuçları ve kişisel veri hiçbir koşulda otoriteye gitmez.
Özet tek yönlüdür: elindeki özetten içeriği geri üretmek mümkün değildir. Otoritenin öğrendiği tek şey, sizin belli bir anda bir şey imzalattığınızdır. Ne imzalattığınızı bilmez.
Yine de bu bir dış çağrıdır ve "ürünümüz internet gerektirmez" diyen bir kurulumda bunun bilinmesi gerekir. Doğru yaklaşım, özelliğin tek bir ana anahtarla yönetilmesi ve kapalıyken hiçbir ağ çağrısı yapılmamasıdır. Yarı açık bir durum olmamalıdır.
Hangi Otorite: Dış, Kurum İçi, Ücretsiz
Üç seçenek vardır ve seçim teknik değil, kurumsal bir karardır.
- Anlaşmalı dış otorite. Üretim için doğru seçenek. Sözleşmeli bir hizmettir, süreklilik ve hız taahhüdü verir, damgası hukuki tartışmalarda daha güçlü durur.
- Kurum içi otorite. Ağdan çıkmak istemeyen kurumlar için. Bağımsızlık zayıflar çünkü otorite de kurumun kendisidir; yine de saati uygulama sunucusundan ayırmış olur ve bu bir kazanımdır.
- Ücretsiz kamu otoritesi. Kurulumun ilk gününde uçtan uca çalıştığını göstermek için uygundur. Kurumsal bir taahhüt vermez ve kanıt zincirinizi dışarıdaki bir hizmetin sürekliliğine bağlar; üretimde bırakılmamalıdır.
SQL Change Guard ile gelen ayar dosyasında özellik açık gelir ve ücretsiz bir kamu otoritesine işaret eder. Bu bilinçli bir kurulum tercihidir: kurulum gününde damgalı bir kanıt paketi üretilebilir. Üretime geçerken bu adresin kurumun kendi otoritesiyle değiştirilmesi ya da özelliğin kapatılması gerekir.
Otoriteye Ulaşılamazsa
Bu tasarımın en kritik kararı burada verilir. İki seçenek vardır: iş durur ya da damgasız devam eder.
Doğru cevap ikincisidir. Zaman damgası kanıtı güçlendiren bir katmandır, kanıtın kendisi değil. Dış bir hizmete ulaşılamadığı için kanıt dosyası üretilememesi, kurumun denetim yeteneğini kurum dışı bir hizmetin çalışmasına bağlamak olurdu.
Ama eksiklik gizlenmemelidir. Damga alınamadıysa paketin içinde damga dosyası bulunmaz, çapa zarfındaki damga alanı boş kalır ve günlüğe uyarı yazılır. Denetçi o paketi eline aldığında tarihin kurumun kendi beyanı olduğunu görür. Sessizce damgasız üretilen ve bunu söylemeyen bir paket, damgasız üretilenden daha kötüdür.
Açmalı mı, Kapatmalı mı
Karar, kurumun tehdit modeline bağlıdır. Şu üç durumda zaman damgası açık olmalıdır.
- Kanıtın hukuki bir uyuşmazlıkta kullanılma ihtimali varsa. Tarih tartışmaya açıldığında kurumun kendi saatine dayanan bir iddia zayıf kalır.
- Düzenleyici bir çerçeve, kayıtların üretim zamanının gösterilmesini istiyorsa.
- Sunucu saatini değiştirebilecek yetki, kanıt üretebilecek yetkiyle aynı ekipte topluyorsa. Bu, görevler ayrılığının çoğu kurumda gözden kaçan bir kesişimidir.
Bunların hiçbiri geçerli değilse ve kurum tamamen kapalı bir ağda çalışıyorsa, özelliği kapatmak da savunulabilir bir karardır. Önemli olan kararın bilinçli verilmesi ve denetçiye söylenmesidir. Kapalı olduğunu bilerek kabul eden bir denetçi, açık sanıp sonradan öğrenen bir denetçiden çok daha iyidir.
Sık Sorulan Sorular
Zaman damgası olmadan kanıt geçersiz mi olur?
Hayır. Damgasız bir paket de içeriğinin değişmediğini ve kimden çıktığını gösterir. Damganın eklediği tek şey, tarihi kurumun beyanı olmaktan çıkarmaktır. Düzenli olarak dışarı teslim edilen çapalar da tarih için ayrı bir dayanak sağlar; ikisi birbirinin yerine geçmez ama biri yoksa diğeri boşluğu kısmen doldurur.
Kapalı ağda çalışıyoruz, damga alabilir miyiz?
Kurum içi bir zaman damgası otoritesi kurmak mümkündür ve istemci açısından hiçbir fark yoktur; yalnızca adres değişir. Bağımsızlık dış otorite kadar güçlü olmaz, ama saati uygulama sunucusundan ayırmak da kayda değer bir kazanımdır: artık kanıt üreten ekip ile saati söyleyen sistem aynı değildir.
Damga otoritesi kapanırsa eski damgalar geçersiz mi olur?
Doğrulama için otoritenin çevrimiçi olması gerekmez; damganın içindeki imza, otoritenin sertifikasıyla kontrol edilir. Ancak sertifikanın ve zincirinin arşivlenmiş olması gerekir. Bu yüzden damga otoritesinin sertifikası, kanıt arşivinin bir parçası olarak saklanmalıdır. Ücretsiz kamu otoritelerinin üretim için önerilmemesinin sebeplerinden biri de budur.
Her kayda ayrı damga alınır mı?
Hayır, gerekmez ve pahalı olurdu. Damga, kayıtların bağlı olduğu noktalara alınır: günlük çapaya ve dışa aktarılan kanıt dosyasının künyesine. Zincir yapısı sayesinde tek bir noktanın damgalanması, o noktaya kadar olan bütün kayıtların o tarihte var olduğunu gösterir.
Zaman damgası kararınızı birlikte verelim
Tehdit modelinize ve ağ kısıtlarınıza göre hangi otoritenin uygun olduğunu konuşalım.
Demo Planlayın →