CyvoDocOps
Türkçe
Dark

Belgenin Değişmediğini Nasıl Kanıtlarsınız

Herkes imzaladıktan altı ay sonra bir anlaşmazlık ortaya çıkıyor. Diğer taraf, anlaşmanın kendi kopyasını sunuyor ve 7. madde sizin hatırladığınız şeyi söylemiyor. Her iki dosyaya da agreement-final.pdf adı verilmiş. İkisi de makul görünüyor. İkinizden hiçbiri zorla yalan söylüyor değil — dosyalar yeniden kaydediliyor, versiyonlar karışıyor. O zaman kayıt altına alınmamış bir şey olmadan, "anlaştığımız belge budur" sadece iki kişinin anısıdır ve anılar tartışmalarda kazanamaz.

Hash Nedir

Kriptografik bir hash, verinin parmak izidir. Bir dosyayı bir hash fonksiyonuna — mantıklı modern varsayılan SHA-256'dır — verdiğinizde, girdi tek sayfa olsun ya da on bin sayfa, sabit uzunlukta bir değer döndürür: 64 onaltılık karakter.

Bunu kullanışlı kılan üç özellik vardır:

Bu nedenle parmak izi kamuya açık şekilde paylaşılmak için güvenlidir. Gizli bir sözleşmenin hash'ini yayınlamak, içeriği hakkında hiçbir şey açıklamaz — ancak sözleşmeyi sabitler.

Kısa versiyon: Bir hash yalnızca tek bir soruyu yanıtlar — “bu iki dosya bayt bayt aynı mı?” — ve bunu kesin olarak yanıtlar. Cevaplamasını istediğiniz diğer tüm sorulara ise dokunmaz.

Bir hash nedir? değil kanıtlamak

Fikrin fazla abartıldığı yer burası, bu yüzden kesin olmakta fayda var. Eşleşen bir hash dosyanın değişmediğini söyler. Şunları söylemez:

Hashler size, bütünlük verir, özgünlük değil. İkisini karıştırmak bu alandaki en yaygın hatadır.

Herkesin Yanlış Anladığı Kısım

Şimdi hesaplanan bir hash geçmiş hakkında hiçbir şey kanıtlamaz. Bugün bir dosyanın hash'ini hesaplar ve değerin bugünkü dosyayla eşleştiğini görürseniz hiçbir şey öğrenmiş olmazsınız — elbette eşleşir; aynı dosyadır.

Bir hash değeri ancak anlaşmazlık ortaya çıkmadan önce güvenilir bir yere kaydedilmişse kanıta dönüşür. Güvenlik matematikte değil, zaman çizelgesindedir. Hash'in yanıtladığı soru şudur: “Bu, o zaman kaydettiğimiz değerle eşleşiyor mu?” — bunun için de birinin o değeri o zaman kaydetmiş olması gerekir.

Bu da iş akışının, algoritmanın önemli olduğu anlamına gelir.

Gerçekten Değerli Bir İş Akışı

  1. Dosyayı nihai hale geldiği anda hash'leyin. İmzaladıktan hemen sonra, dosyalanmadan önce. Belge Hash'i kullanın.
  2. Değeri sessizce değiştirilemeyecek bir yere kaydedin. Belgeyi ileten e-postaya koyun. Tutanaklara okutun. Karşı tarafa göndererek onların da elinde tutmasını sağlayın. Amaç, yalnızca sizin kontrolünüzde olmayan bir tarihle birlikte kayda sahip olmaktır.
  3. Dosyanın tam halini arşivleyin. Yeniden dışa aktarma değildir. Tekrar basılmış "aynı belge" değil. Hash'lediğiniz tam baytlar.
  4. Daha sonra yeniden hesaplayın ve karşılaştırın. Aynı değer: bayt düzeyinde özdeş, tartışmaya gerek yok. Farklı değer: dosya değişmiş demektir, bu illa kötü niyetli olmak zorunda değil — aşağıya bakın.

Belge Hash aracını aç

Neden "hiçbir şey değişmediğinde" hash'iniz değişir

Bu sürekli insanları yanıltıyor ve bu, hash'in bir hatası değil. Bir hash, görünümü değil, baytları kapsar. İki PDF piksel düzeyinde aynı görünebilir ancak farklı hash değerlerine sahip olabilir:

Yani bir uyuşmazlık olması, "bunlar aynı dosya değil" anlamına gelir, "biriyle oynanmış" anlamına gelmez. Doğru tepki suçlama yapmak değil, araştırma yapmaktır. Ve pratik ders nettir: hash'lediğiniz dosyayı arşivleyin ve hiçbir şeyin onu yeniden kaydetmesine izin vermeyin.

Yerel Bir Kayıt Tutmak

Eğer rutin olarak belgelerin sapmadığını kanıtlamanız gerekiyorsa, her birini elle hash'lemek zahmetli olur. Yerel İmza Kaydı, kendi cihazınızda hash'lediğiniz belgelerin bir kaydını tutar, böylece herhangi bir üçüncü tarafla belge kaydetmeden daha sonra kontrol edebileceğiniz kişisel bir günlük elde edersiniz.

Bunun ne olduğunu ve ne olmadığını netleştirmek gerekir. Bu, özel, kendi kendine yönetilen bir kayıttır: kendi güvenliğiniz için, dahili süreçler için, yanlışlıkla oluşan sapmaları yakalamak için güçlüdür. Kayıt sizin olsa da — siz kontrol edersiniz, ki bu tam olarak şüphe eden kişinin masanın diğer tarafındaki kişi olduğu durumda sınırlılıktır.

Bir Hash'ten Daha Fazlasına İhtiyaç Duyduğunuzda

Eğer bir üçüncü taraf ikna edilmek zorundaysa, bütünlük tek başına yeterli olmayacaktır. Belgeyi bir kimlikle ve ideal olarak da bir zamanla bağlayan bir şeye ihtiyacınız var; bu bağlama ne taraflardan hangisi kontrol edebilir:

Dahili kayıtlar, kişisel arşivler ve sıradan “Bu gönderdiğim dosya mı?” soruları için, o anda kaydettiğiniz bir hash gerçekten yeterlidir. Hukuki süreçler için değil ve kimse aksini önermemelidir.

Eski algoritmalar hakkında bir not

Mevcut bir süreçte MD5 veya SHA-1 ile karşılaşırsanız, onlara güvenlikten ziyade kontrol toplamı (checksum) olarak yaklaşın. Her ikisi de pratik çarpışma saldırılarına sahiptir: aynı değere sahip iki farklı dosya oluşturmak mümkündür ve bu da tam olarak güvendiğiniz özelliktir. Rastgele bozulmayı tespit etmek için uygundurlar, ancak herhangi bir düşmanca amaç için uygun değildirler. SHA-256 iyi bir nedenden dolayı varsayılan seçenektir.

Bunu neden yerel olarak hesaplayalım?

Bir belgeyi bir web sitesine yükleyerek parmak izini öğrenmek, o belgenin bir kopyasını üçüncü bir tarafa verir — ki bu hesaplamayı kendi cihazınız anında yapabilir. Dosya, belirlenmeye değer kadar önemliyse, verilmemeye de yeterince önemlidir. CyvoDocOps'ta desteklenen bu tür işlemler yerel olarak tarayıcınızda çalışır ve belge bir sunucuya yüklenmez.

Sıkça Sorulan Sorular

Basit bir dille dosya hash'i nedir?

Bir dosyanın içeriğinden türetilen kısa bir parmak izidir. Aynı dosya, aynı parmak izi; herhangi bir şey değiştirilirse parmak izi tamamen değişir.

İki farklı belgenin aynı hash'e sahip olması mümkün mü?

Teoride evet, pratikte SHA-256 ile hayır — kimse böyle bir çift oluşturamaz. MD5 veya SHA-1 ile ise evet ve bu yüzden önemli olduğu yerlerde kullanılmamalıdır.

Bir hash, belgenin kim tarafından yazıldığını kanıtlar mı?

Hayır. Dosyanın değişmediğini kanıtlar. Kimlik için dijital bir imza gerekir; bu da bir hash'i bilinen bir kişiye veya kuruluşa ait bir anahtara bağlar.

Hash'im değişti ama belge aynı görünüyor. Değiştirilmiş olabilir mi?

Zorunlu değil. Yeniden kaydetmek, bir form alanını doldurmak veya sistemin eki yeniden yazması tüm baytları görünümü değiştirmeden değiştirir. Bu, dosyanın farklı olduğu anlamına gelir — kötü niyet kanıtı değil, araştırılmaya değerdir.

Dosya hash'lenmek için yükleniyor mu?

Hayır. Hash, tarayıcınızda yerel olarak hesaplanır ve belge bir sunucuya gönderilmez.

İlgili Kılavuzlar ve Araçlar