Non-repudiation: Menjamin Keaslian dan Integritas Data
CompTIA Security+ SY0-701 - Domain 1.3
Pendahuluan
Definisi
Non-repudiation adalah konsep keamanan yang memastikan bahwa pengirim tidak dapat menyangkal validitas pengiriman data. Dengan kata lain, ini memberikan bukti bahwa transaksi atau komunikasi tertentu benar-benar terjadi dan tidak dapat dibantah oleh pihak yang terlibat.
Analogi Dunia Nyata
Bayangkan Anda menandatangani kontrak dengan tanda tangan basah menggunakan pena di atas kertas. Tanda tangan tersebut menjadi bukti bahwa:
- Anda yang menandatangani dokumen tersebut (bukan orang lain)
- Anda menyetujui isi dokumen pada saat penandatanganan
- Anda tidak bisa menyangkal bahwa Anda pernah menandatangani kontrak tersebut
Dalam dunia digital: Non-repudiation memberikan bukti elektronik yang setara, memastikan bahwa pengirim data tidak dapat menyangkal bahwa mereka mengirim pesan atau melakukan transaksi tertentu.
Dua Bukti Utama (Two Proofs)
1. Proof of Integrity
Bukti bahwa data tidak berubah sejak dikirim. Jika ada modifikasi, sekecil apapun, bukti ini akan invalid.
2. Proof of Origin
Bukti bahwa data berasal dari pengirim asli yang mengklaim mengirimnya. Memverifikasi identitas pengirim.
Proof of Integrity: Peran Hashing
Konsep Hashing
Hashing adalah proses mengubah data (ukuran berapa pun) menjadi string dengan panjang tetap yang disebut hash value, message digest, atau digital fingerprint.
Karakteristik Penting Hashing
1 One-Way Function (Satu Arah)
Tidak bisa di-reverse. Dari hash, Anda tidak bisa mendapatkan kembali data asli.
2 Deterministic (Pasti)
Input yang sama selalu menghasilkan hash yang sama.
3 Avalanche Effect (Efek Longsor)
Jika satu karakter saja dalam data berubah, hash-nya akan berubah total.
Input: "Hello World"
Hash: a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e
Input: "Hello World" (huruf 'W' → lowercase 'w')
Hash: 64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c
Studi Kasus: Project Gutenberg
Eksperimen File 8MB
Ambil file besar (misalnya e-book dari Project Gutenberg, ukuran ~8MB). Hitung hash-nya menggunakan SHA-256.
- File asli menghasilkan hash:
3f7a9b2c... - Ubah SATU huruf saja di tengah file (misalnya "the" → "teh")
- Hash baru:
d8e4c1f9...(berubah total!)
Kesimpulan: Meskipun hanya 1 dari 8 juta karakter yang berubah, hash-nya sudah berbeda 100%. Ini membuktikan bahwa hashing sangat sensitif terhadap perubahan data dan cocok untuk deteksi integritas.
⚠️ Keterbatasan Hashing untuk Non-repudiation
Hashing hanya membuktikan integritas data (Proof of Integrity). Hashing TIDAK membuktikan siapa yang mengirim data (Proof of Origin). Untuk mencapai Non-repudiation yang lengkap, kita memerlukan Digital Signature.
Digital Signatures: Metode Kriptografi untuk Non-repudiation
Apa itu Digital Signature?
Digital Signature adalah skema kriptografi yang menggabungkan Hashing (untuk integritas) dengan Asymmetric Encryption (untuk autentikasi) guna menciptakan bukti yang tidak dapat dibantah (Non-repudiation).
Komponen Digital Signature
Hashing
Menghasilkan fingerprint unik dari pesan untuk memastikan tidak ada modifikasi data.
Asymmetric Encryption
Menggunakan Private Key untuk signing dan Public Key untuk verifikasi identitas pengirim.
💡 Kenapa Enkripsi Hash, Bukan Seluruh Pesan?
Hash jauh lebih kecil dari pesan asli (misalnya SHA-256 selalu 256 bit/32 bytes). Enkripsi hash lebih efisien daripada enkripsi seluruh dokumen yang mungkin berukuran megabytes.
Contoh: Email 5MB → Hash 32 bytes. Enkripsi 32 bytes jauh lebih cepat!
Cara Kerja Digital Signature: Skenario Alice & Bob
Mari kita gunakan skenario klasik dalam kriptografi: Alice ingin mengirim pesan ke Bob dengan jaminan Non-repudiation.
Sisi Alice (Pengirim) - Proses Signing
-
1
Membuat Hash dari Pesan
Alice menulis pesan: "Transfer $1000 ke rekening Bob"
Pesan → Hash Algorithm (SHA-256)
Hash:
a7f8d9c2... -
2
Enkripsi Hash dengan Private Key Alice
Hash tersebut dienkripsi menggunakan Private Key Alice. Hasil enkripsi ini adalah Digital Signature.
Hash + Alice's Private Key → Encrypt
Signature:
9k3mL7pQ... -
3
Kirim Pesan + Signature
Alice mengirimkan dua hal ke Bob:
- Pesan asli (plaintext)
- Digital Signature (hash terenkripsi)
Sisi Bob (Penerima) - Proses Verifying
-
1
Dekripsi Signature dengan Public Key Alice
Bob menggunakan Public Key Alice (yang tersedia publik) untuk mendekripsi signature. Hasilnya adalah Hash A (hash asli dari Alice).
Signature + Alice's Public Key → Decrypt
Hash A:
a7f8d9c2... -
2
Buat Hash Manual dari Pesan yang Diterima
Bob menghitung hash sendiri dari pesan yang diterimanya. Hasilnya adalah Hash B.
Pesan yang diterima → Hash Algorithm (SHA-256)
Hash B:
a7f8d9c2... -
3
Bandingkan Hash A dan Hash B
Bob membandingkan kedua hash:
Hash A (dari signature):
a7f8d9c2...
Hash B (dari pesan):a7f8d9c2...✅ Hash COCOK!
Kesimpulan Verifikasi
✅ Proof of Integrity Terbukti
Karena Hash A (dari Alice) = Hash B (perhitungan Bob), ini membuktikan bahwa pesan tidak berubah selama transmisi.
✅ Proof of Origin Terbukti
Karena signature bisa didekripsi dengan Public Key Alice, ini membuktikan bahwa signature dibuat menggunakan Private Key Alice. Hanya Alice yang memiliki private key tersebut, jadi pesan pasti dari Alice.
🔒 Non-repudiation Tercapai!
Alice tidak bisa menyangkal bahwa dia mengirim pesan tersebut, karena hanya dia yang memiliki private key untuk membuat signature yang valid. Ini adalah bukti kriptografi yang kuat untuk keperluan legal & audit.
Latihan: Flashcards Interaktif
Uji pemahaman Anda dengan 11 flashcard interaktif di bawah ini. Klik kartu untuk membalik dan melihat jawabannya.
Tips: Ucapkan jawaban dengan lantang sebelum membalik kartu.
Keyboard: ← Sebelumnya | → Selanjutnya | Space/Enter Balik