Lewati ke konten utama

Gunakan hash file untuk meningkatkan keamanan

Hashing file adalah teknik yang digunakan dalam aplikasi untuk banyak alasan, terutama untuk memastikan integritas data, keamanan, dan efisiensi.

Ada sejumlah alasan mengapa Anda mungkin ingin menggunakan hashing file, seperti:

  • Verifikasi integritas data

Saat mentransfer atau menyimpan file, selalu ada risiko kerusakan data atau manipulasi. Dengan menghasilkan nilai hash berdasarkan isi file menggunakan algoritma hashing (misalnya, MD5, SHA-1, SHA-256), aplikasi nantinya dapat menghitung ulang hash tersebut dan membandingkannya dengan hash asli untuk memverifikasi apakah file telah diubah atau rusak selama transmisi atau penyimpanan.

  • Deduplikasi

Dalam aplikasi tertentu seperti penyimpanan cloud atau sistem backup, deduplikasi file digunakan untuk menghemat ruang penyimpanan. Hashing memungkinkan Anda mengidentifikasi file duplikat secara efisien. Alih-alih menyimpan beberapa salinan file yang sama, aplikasi dapat menggunakan satu hash untuk merepresentasikan konten yang diduplikasi.

  • Manajemen cache

Dalam sistem caching, hashing file dapat digunakan untuk dengan cepat memeriksa apakah file tertentu pernah diakses sebelumnya dan tersedia di cache. Hash berfungsi sebagai pengenal unik untuk file, sehingga memungkinkan pengambilan yang lebih cepat dan mengurangi transfer data yang tidak perlu.

  • Pengindeksan dan pencarian data

Dalam aplikasi berskala besar yang memerlukan file untuk diindeks dan dicari dengan cepat, hashing file dapat digunakan untuk membangun struktur data yang efisien seperti hash table, sehingga memungkinkan pencarian dan pengambilan berdasarkan konten file dengan cepat.

  • Deteksi malware

Aplikasi antivirus dan keamanan menggunakan hashing file untuk mengidentifikasi malware dan virus yang telah diketahui. Dengan membandingkan hash suatu file dengan database hash berbahaya yang telah diketahui, aplikasi ini dapat dengan cepat menentukan apakah suatu file berpotensi berbahaya.

Event Glasswall Halo

  1. Glasswall Halo API memungkinkan Anda berinteraksi secara terprogram dengan memulai permintaan ke endpoint tertentu berdasarkan jenis file:
  • Untuk file biner, gunakan endpoint api/v3/cdr-file.
  • Untuk file yang dienkode Base64, gunakan endpoint api/v3/cdr.
  1. Pada setiap permintaan, Anda memiliki opsi untuk meminta pembuatan hash file dalam kombinasi apa pun dari tiga format berbeda: SHA-256, SHA-1, dan MD5.

  2. Setelah permintaan diterima, hash input dibuat lalu Glasswall Halo memprosesnya menggunakan Glasswall Embedded Engine untuk membangun ulang dan menganalisis file input.

  3. Setelah file berhasil dibangun ulang, platform menghasilkan hash file output dan hash input maupun output dikembalikan dalam header respons.

  4. Jika permintaan gagal, platform tetap telah menghasilkan hash input yang dikembalikan dalam header respons.

  5. Hash file input dan output yang dihasilkan ini dapat dimanfaatkan dengan berbagai cara dalam aplikasi atau sistem Anda, seperti melakukan pemeriksaan keamanan, pemrosesan lanjutan, atau tindakan lain yang diperlukan.

Autentikasi API

Glasswall Halo mendukung dua jenis autentikasi: **Basic **dan autentikasi Bearer. Sebelum membuat permintaan apa pun, Anda harus melakukan autentikasi menggunakan skema yang sesuai berdasarkan konfigurasi Anda.

Basic

Jika sistem Anda dikonfigurasi dengan autentikasi Basic, Anda perlu memperoleh organisation ID dan token dari administrator sistem. Gabungkan nilai-nilai ini dalam format <OrganisationId>:<Token> lalu enkode dengan Base64.

Nilai hasil enkode harus disertakan dalam header permintaan:

Authorization: Basic ZGVtbzpwQDU1dzByZA==

Bearer

Untuk autentikasi Bearer, Anda memerlukan bearer token yang diperoleh dari identity provider Anda.

Setelah Anda memperoleh token, sertakan token tersebut dalam header permintaan:

Authorization: Bearer ZGVtbzpwQDU1dzByZA==

Catatan: pastikan Anda menggunakan metode autentikasi yang sesuai dengan konfigurasi sistem Anda. Menggunakan autentikasi yang benar memastikan akses yang berhasil ke Glasswall Halo API dan mencegah masalah otorisasi apa pun.

Pelajari lebih lanjut tentang autentikasi Glasswall Halo

Konstruksi permintaan

Saat memanfaatkan Glasswall Halo untuk memproses file biner atau file yang dienkode Base64, Anda memiliki fleksibilitas untuk meminta pembuatan beberapa jenis hash, termasuk SHA-256, SHA-1, dan MD5. Saat membuat permintaan API, Anda dapat menentukan kombinasi apa pun dari jenis hash ini, dan sebagai respons, Anda akan menerima nilai hash yang dihasilkan untuk file input dan output dalam header respons. Hal ini memungkinkan Anda memastikan integritas dan keaslian data, sekaligus memfasilitasi penanganan file yang efisien dalam aplikasi atau sistem Anda.

Pemrosesan file biner

POST {baseUrl}/api/v3/cdr-file?generate-hash-types=SHA256,SHA1,MD5

Pemrosesan file yang dikodekan Base64

Kirim string yang dikodekan Base64 dalam isi permintaan ke endpoint berikut:

POST {baseUrl}/api/v3/cdr?generate-hash-types=SHA256,SHA1,MD5

Format isi permintaan

Isi permintaan harus dalam format JSON dan menyertakan field base64 yang berisi string file yang dienkode Base64, serta field filename yang menentukan nama file asli (termasuk ekstensi file yang sesuai).

{
"Base64": "string",
"fileName": "filename.pdf",
}

Catatan

  • Ganti {baseurl} dengan URL dasar aktual dari Glasswall Halo API.
  • Header auth yang benar harus disertakan pada setiap permintaan.
  • Menetapkan generate-hash-types ke daftar nilai hash yang dipisahkan koma di URL memastikan bahwa hash yang benar dibuat dan dikembalikan dalam respons.
  • Untuk pemrosesan file biner, gunakan multipart form post, sedangkan untuk pemrosesan file yang dikodekan Base64, berikan konten file dalam body permintaan JSON dengan nama file yang sesuai.

Penanganan respons

Jika Anda berhasil membuat permintaan ke Glasswall Halo API, kode status 201 akan dikembalikan. Jika Anda meminta hash apa pun untuk dibuat dan dikembalikan, hash input dan output akan tersedia di header respons. Jika respons tidak berhasil, hanya nilai hash input yang akan dikembalikan.

Anda dapat mengidentifikasi nilai hash dengan kunci header berikut:

Untuk SHA-256:

  • Hash file input: x-hash-sha256-input
  • Hash file output: x-hash-sha256-output

Untuk SHA-1:

  • Hash file input: x-hash-sha1-input
  • Hash file output: x-hash-sha1-output

Untuk MD5:

  • Hash file input: x-hash-md5-input
  • Hash file output: x-hash-md5-output

Contoh

access-control-allow-origin: * 
access-control-expose-headers: *
content-disposition: attachment; filename=18402777-7826-457f-bc02-6446611495e6.zip; filename*=UTF-8''18402777-7826-457f-bc02-6446611495e6.zip
content-length: 288843
content-type: application/octet-stream
date: Fri,21 Jul 2023 12:42:15 GMT
strict-transport-security: max-age=31536000; includeSubDomains
x-applied-policy: service-dynamic
x-file-size: 301189
x-filetype: pdf
x-hash-md5-input: AF5EB421F8AFC69AC4178ACF747E618C
x-hash-md5-output: 8018FC4F37AB858442F354430203CEB4
x-hash-sha1-input: 9C714CAC1F82A450728F3C046CEFEFAF0BBD2C07
x-hash-sha1-output: 058991F3A252F0A4FD0E7F8B3178D3F15494099B
x-hash-sha256-input: 5F83AB533252C00AD1C60A0EFC016BF273497F3179FD6CE642AD8A4857148B8D
x-hash-sha256-output: 9D5D88F073D74160828F92E9E8DADAC5712706C65D49448D9ABA91D8FDC6FC28
x-processing-id: 18402777-7826-457f-bc02-6446611495e6
x-processing-status: rebuilt

Ringkasan

Dengan menggunakan hash yang dihasilkan dalam alur kerja pemrosesan file Anda melalui Glasswall Halo, Anda dapat menyederhanakan operasi, meningkatkan keamanan, dan meningkatkan keandalan aplikasi Anda. Semua ini secara kolektif berkontribusi pada sistem yang lebih kuat dan tangguh yang memastikan integritas dan keamanan file Anda.

Mulai cepat

Untuk mencoba Glasswall Halo sendiri, silakan merujuk ke Panduan Mulai Cepat kami.