Prinsip mengubah hash file
Hash kriptografis yang umum meliputi: MD5, SHA-1/256, dan lain-lain. Ciri utama dalam desain fungsi hash kriptografis adalah "efek avalanche" - perubahan sekecil apa pun pada input akan menyebabkan perubahan besar pada output. Artinya, meskipun hanya satu byte yang diubah, seluruh nilai hash akan menjadi sepenuhnya berbeda. Sebagai contoh, Anda menulis dokumen 2000 kata dan menyimpannya sebagai file word. Jika Anda mengubah satu karakter saja, misalnya menambahkan satu spasi, maka md5 file tersebut akan berubah total. Karena itu, esensi dari “mengubah hash file” adalah mengubah isi file itu sendiri, bukan atribut eksternal seperti nama file. Karakteristik ini membuat perubahan hash pada tingkat file relatif mudah dilakukan.
Sistem dan format yang berbeda memiliki penentuan “metadata” yang berbeda: jika metadata tertanam dalam data file (seperti tag di dalam JPEG/kontainer video), mengubahnya akan mengubah hash; jika metadata disimpan dalam aliran data eksternal atau atribut sistem file, mengubahnya tidak memengaruhi hash yang dihitung berdasarkan isi file. Ini menjelaskan fenomena umum bahwa “mengubah nama file tidak mengubah hash, tetapi mengubah metadata tertanam akan mengubahnya”.
Transcoding platform video dan “mendeteksi apakah hash pernah diubah”
Setelah pengguna mengunggah video ke platform video, platform akan melakukan hal-hal berikut terhadap video tersebut:
Menerima file asli
Memeriksa dan memvalidasi format
Memproses transcoding (konversi format, penyesuaian resolusi, kompresi)
Mengekstrak keyframe
Perhitungan hash berlapis
Ini adalah rangkaian proses transcoding “demuxing→decoding→pemrosesan→re-encoding→muxing” untuk menghasilkan beberapa versi dengan multi-bitrate/multi-resolusi yang dapat diputar secara adaptif. Proses ini sendiri akan mengubah urutan byte file dan hash kriptografis apa pun sebelum pengunggahan.
Pada tingkat hash file: selama proses transcoding, platform akan membuat ulang file, sehingga hash file asli secara alami akan berubah. Karena itu, hash file yang sebelumnya diubah oleh pengguna menjadi tidak berarti setelah transcoding. Jadi platform tidak akan mendeteksi apakah file Anda pernah diubah md5 dan sebagainya, karena itu sama sekali tidak ada artinya!
Tahap deduplikasi/deteksi hak cipta tidak bergantung pada hash file milik pengunggah, melainkan platform menghitung “sidik jari audio-video/hash perseptual” miliknya sendiri dari konten yang telah didekode, lalu membandingkannya dengan sidik jari referensi dalam database; misalnya, Content ID milik YouTube akan melakukan “fingerprinting” pada konten yang diunggah dan mencocokkannya dengan referensi yang diberikan oleh pemegang hak.
Karena itu, platform bukan “mendeteksi hash telah diubah”, melainkan “mengabaikan hash unggahan, menghitung ulang sidik jari konten, lalu mencocokkannya”. Hal ini membuat perubahan MD5/SHA semata melalui pengubahan byte file atau metadata kontainer tidak dapat menghindari deteksi berbasis konten.