CyvoDocOps
Bahasa Indonesia
Dark

Cara membuktikan sebuah dokumen tidak berubah

Enam bulan setelah semua orang menandatangani, muncul sengketa. Pihak lain menyerahkan salinan perjanjian mereka, dan klausul 7 tidak mengatakan apa yang Anda ingat. Kedua berkas tersebut diberi nama agreement-final.pdf. Keduanya terlihat masuk akal. Tidak ada dari Anda yang pasti berbohong — berkas bisa disimpan ulang, versi bisa menjadi kacau. Tanpa sesuatu yang dicatat pada saat itu, "inilah dokumen yang kita sepakati" hanyalah ingatan dua orang, dan ingatan tidak memenangkan argumen.

Apa itu hash

Hash kriptografi adalah sidik jari untuk data. Masukkan berkas ke fungsi hash — SHA-256 adalah standar modern yang masuk akal — dan ia akan mengembalikan nilai berpanjang tetap, 64 karakter heksadesimal, terlepas dari apakah inputnya satu halaman atau sepuluh ribu.

Tiga properti membuatnya berguna:

Jadi, sidik jari ini aman untuk dibagikan secara publik. Menerbitkan *hash* kontrak rahasia tidak mengungkapkan apa pun tentang isinya — tetapi itu mengunci kontrak tersebut.

Versi singkatnya: sebuah *hash* hanya menjawab satu pertanyaan — “apakah kedua berkas ini identik byte demi byte?” — dan menjawabnya secara definitif. Pertanyaan lain yang mungkin ingin Anda ketahui, tidak akan dijawab oleh *hash* tersebut.

Apa itu hash tidak membuktikan

Di sinilah ide ini sering dilebih-lebihkan, jadi penting untuk bersikap tepat. *Hash* yang cocok memberi tahu Anda bahwa berkas tersebut tidak berubah. Itu tidak memberitahu Anda:

Hash memberikan Anda integritas, bukan otentisitas. Menganggap keduanya sama adalah kesalahan paling umum di bidang ini.

Bagian yang sering disalahpahami semua orang

Hash yang dihitung saat ini tidak membuktikan apa pun tentang masa lalu. Jika Anda melakukan hash pada file hari ini dan nilainya cocok dengan file hari ini, Anda belum mempelajari apa-apa — tentu saja itu cocok; itu adalah file yang sama.

Hash hanya menjadi bukti ketika nilainya dicatat di tempat tepercaya sebelum sengketa terjadi. Keamanannya tidak terletak pada matematika; ia terletak pada garis waktu. Pertanyaan yang dijawab oleh hash adalah "apakah ini cocok dengan apa yang kita catat saat itu?" — dan itu memerlukan seseorang mencatatnya saat itu.

Hal ini menunjukkan bahwa alur kerja, bukan algoritma, yang menjadi hal penting.

Alur kerja yang benar-benar bernilai

  1. Hitung hash berkas pada saat berkas tersebut sudah final. Segera setelah penandatanganan, sebelum diarsipkan. Gunakan Hash Dokumen.
  2. Catat nilai tersebut di tempat yang tidak dapat direvisi secara diam-diam. Masukkan ke email yang mengirimkan dokumen. Baca dalam risalah rapat. Kirimkan kepada pihak lawan agar mereka juga menyimpannya. Tujuannya adalah catatan dengan tanggal yang tidak sepenuhnya berada di bawah kendali Anda.
  3. Arsipkan file yang persis sama. Ini bukan re-ekspor. Bukan "dokumen yang sama" yang dicetak ulang. Melainkan byte persis yang Anda hash.
  4. Nanti, hitung ulang dan bandingkan. Nilai yang sama: identik byte, tidak perlu argumen. Nilai berbeda: file telah berubah, meskipun belum tentu karena niat jahat — lihat di bawah.

Buka alat Hash Dokumen

Mengapa hash Anda berubah padahal "tidak ada yang berubah"

Hal ini sering membingungkan orang, dan itu bukan kesalahan pada fungsi hash. Hash mencakup byte, bukan tampilan visual. Dua PDF bisa terlihat identik piksel namun memiliki hash yang berbeda:

Jadi, ketidakcocokan berarti "ini bukan file yang sama", bukan "seseorang telah memanipulasi ini". Respons yang tepat adalah investigasi, bukan tuduhan. Dan pelajaran praktisnya tegas: arsipkan file yang Anda hash, dan jangan biarkan apa pun menyimpannya kembali.

Menyimpan catatan lokal

Jika Anda rutin perlu memastikan bahwa dokumen tidak bergeser, menghitung hash setiap dokumen secara manual akan melelahkan. Catatan Tanda Tangan Lokal menyimpan catatan dokumen yang telah Anda hitung hash-nya di perangkat Anda sendiri, sehingga Anda memiliki log pribadi untuk diperiksa nanti — tanpa mendaftarkan dokumen ke pihak ketiga mana pun.

Jelaskan dengan jelas apa itu dan apa yang bukan. Ini adalah catatan pribadi yang dipelihara sendiri: kuat untuk keyakinan Anda sendiri, untuk proses internal, untuk menangkap pergeseran yang tidak disengaja. Ini adalah catatan Anda — Anda yang mengendalikannya, yang justru merupakan batasan ketika orang yang meragukan Anda adalah orang di sisi meja yang lain.

Ketika Anda membutuhkan lebih dari sekadar hash

Jika pihak ketiga harus dibujuk, integritas saja tidak akan cukup. Anda memerlukan sesuatu yang mengikat dokumen pada sebuah identitas, dan idealnya pada sebuah waktu, dengan cara yang tidak dikendalikan oleh salah satu pihak:

Untuk catatan internal, arsip pribadi, dan pertanyaan biasa "apakah ini file yang saya kirim?", hash yang Anda catat pada saat itu sudah sangat cukup. Untuk keperluan litigasi, tidak, dan tidak ada yang boleh menyarankan sebaliknya.

Catatan tentang algoritma lama

Jika Anda menemukan MD5 atau SHA-1 dalam proses yang sudah ada, perlakukan keduanya sebagai *checksum* (nilai cek) dan bukan keamanan. Keduanya memiliki serangan tabrakan praktis: sangat mungkin untuk membuat dua file berbeda dengan nilai yang sama, yang justru adalah properti yang Anda andalkan. Keduanya baik untuk mendeteksi kerusakan yang tidak disengaja dan tidak cocok untuk hal-hal adversarial. SHA-256 adalah standar karena alasan yang bagus.

Mengapa menghitungnya secara lokal?

Mengunggah dokumen ke situs web untuk mengetahui sidik jarinya berarti memberikan salinan dokumen itu kepada pihak ketiga — padahal perhitungan tersebut dapat dilakukan oleh perangkat Anda sendiri dalam sekejap. Jika sebuah file cukup penting sehingga layak dipastikan, maka ia cukup penting untuk tidak diserahkan. Dalam CyvoDocOps, operasi semacam ini didukung dan berjalan secara lokal di peramban (browser) Anda dan dokumen tersebut tidak diunggah ke server.

Pertanyaan yang sering diajukan

Apa itu hash file dalam istilah sederhana?

Sidik jari singkat yang diturunkan dari isi sebuah berkas. Berkas yang sama, sidik jari yang sama; ubah sedikit saja dan sidik jari akan berubah total.

Apakah dua dokumen berbeda bisa memiliki hash yang sama?

Secara teori ya, tetapi dalam praktiknya tidak dengan SHA-256 — tidak ada seorang pun yang dapat membuat pasangan seperti itu. Dengan MD5 atau SHA-1, ya, dan itulah mengapa keduanya seharusnya tidak digunakan di tempat yang penting.

Apakah hash membuktikan siapa penulis dokumen tersebut?

Tidak. Hash hanya membuktikan bahwa berkasnya belum berubah. Identitas memerlukan tanda tangan digital, yang mengikat sebuah hash ke kunci milik orang atau organisasi tertentu.

Hash saya berubah tetapi dokumen terlihat identik. Apakah itu telah dimanipulasi?

Belum tentu. Menyimpan ulang, mengisi kolom formulir, atau sistem yang menulis ulang lampiran semuanya akan mengubah byte tanpa mengubah tampilan. Ini berarti berkasnya berbeda — perlu diselidiki, bukan bukti niat buruk.

Apakah berkas tersebut diunggah untuk di-hash?

Tidak. Hash dihitung secara lokal di peramban Anda dan dokumen tidak dikirim ke server.

Panduan & alat terkait