Kriptografi

Posted by Endarto Jati on 19.23


Kriptografi adalah cabang dari ilmu matematika yang memiliki banyak fungsi dalam pengamanan data. Kriptografi adalah proses mengambil message dan menggunakan beberapa fungsi untuk menggenerasi materi kriptografis (sebuah digest atau message terenkripsi).

Kriptografi adalah salah satu dari teknologi yang digunakan dalam layanan security seperti integrity, confidentiality, identity dan non repudiation.

Aspek-aspek kriptografi yang dimaksud adalah:
  • Autentikasi pelaku transaksi atau keabsahan pelaku transaksi (authenticity), yang menjamin bahwa pihak penjual dan pembeli adalah pihak yang berhak melakukan transaksi elektronik.
  • Autentikasi data atau keaslian data, yang mencakup kerahasiaan (confidentiality) dan integritas data (integrity), yang menjamin data yang dikirim sepanjang transaksi tidak diketahui oleh pihak lain yang tidak berwenang, apalagi sampai berubah.
  • Anti penyangkalan (non-repudiation), yang menjamin bahwa pengirim tidak dapat menyangkal bahwa dialah yang mengirim data.

Ketiga aspek kriptografi tersebut menjadi kebutuhan yang tidak terelakkan dalam
sebuah transaksi elektronik. Untuk transaksi non-elektronik, solusi yang dapat diambil adalah sebagai berikut, untuk masingmasing aspek :
  • Autentikasi pelaku, dengan kehadiran fisik atau menghadirkan notaris
  • Kerahasiaan data, dengan menggunakan amplop.
  • Integritas data, dengan tanda tangan
  • Anti penyangkalan, dengan tanda tangan, atau bukti tertulis.

Sedangkan untuk transaksi elektronik, berikut adalah langkah-langkah yang dapat
diambil:
  • Autentikasi pelaku, dengan tanda tangan digital dan atau sertifikat digital.
  • Kerahasiaan data, dengan melakukan enkripsi.
  • Integritas data, dengan tanda tangan digital atau fungsi hash.
  • Anti penyangkalan, dengan tanda tangan digital.

Seperti yang dapat dilihat, langkah-langkah tersebut merupakan bagian dari penerapan ilmu kriptografi. Selain langkah-langkah di atas, kriptografi juga memiliki sesuatu yang juga dapat menjadi solusi keamanan transaksi elektronik, yaitu protocol kriptografi.

Selanjutnya makalah ini akan mengangkat sentuhan kriptografi yang dapat masuk
dalam sebuah transaksi elektronik, antara lain sistem kriptografi kunci publik, tanda tangan digital, sertifikat digital, dan protokol kriptografi.

1. Sistem Kriptografi Kunci-Publik

Sampai akhir tahun 1970, hanya ada system kriptografi simetri. Karena sistem kriptografi simetri menggunakan kunci yang sama untuk enkripsi dan dekripsi, maka hal ini mengimplikasikan dua pihak yang berkomunikasi saling mempercayai.

Ide dasar dari sistem kriptografi kuncipublik adalah bahwa kunci kriptografi dibuat sepasang, satu kunci untuk enkripsi dan satu kunci untuk dekripsi.

Kunci untuk enkripsi bersifat publik (tidak rahasia) – sehingga dinamakan kunci public (public-key) – sedangkan kunci dekripsi bersifat rahasia – sehingga dinamakan kunci rahasia (private key atau secret key). Kuncikunci
ini dipilih sedemikian sehingga – secara praktek – tidak mungkin menurunkan kunci rahasia dari kunci publik.

Sistem kriptografi kunci-publik cocok untuk kelompok pengguna di ingkungan jaringan komputer. Setiap pengguna jaringan mempunyai kunci publik dan kunci rahasia yang bersuaian. Kunci publik, karena tidak rahasia, biasanya disimpan di dalam basisdata kunci yang dapat diakses oleh pengguna lain. Jika ada pengguna yang hendak berkirim pesan ke pengguna lainnya, maka ia ia perlu mengetahui kunci public penerima pesan melalui basisdata kunci ini lalu menggunakannya untuk mengenkripsi pesan. Hanya penerima pesan yang berhak yang dapat mendekripsi pesan karena ia mempunyai kunci rahasia.

Dengan sistem kriptografi kunci publik, tidak diperlukan pengiriman kunci rahasia melalui saluran komunikasi khusus sebagaimana pada sistem kriptografi simetri.

Meskipun kunci publik diumumkan ke setiap orang di dalam kelompok, namun kunci publik perlu dilindungi agar otentikasinya terjamin (misalnya tidak diubah oleh orang lain)

Keamanan sistem kriptografi kunci public terletak pada dua hal:
  1. Sulitnya menurunkan kunci rahasia dari kunci publik.
  2. Sulitnya menurunkan plainteks dari cipherteks.

Kelemahan sistem kriptografi kunci public di antaranya:
  1. Enkripsi dan dekripsi data umumnya lebih lambat daripada sistem simetri, karena enkripsi dan dekripsi melibatkan operasi perpangkatan yang besar.
  2. Ukuran cipherteks lebih besar daripada plainteks (bisa dua sampai empat kali ukuran plainteks).
  3. Karena kunci publik diketahui secara luas dan dapat digunakan setiap orang, maka cipherteks tidak memberikan informasi mengenai otentikasi pengirim.

Sistem kriptografi kunci publik pada transaksi elektronik
Kelemahan sistem kriptografi kunci public seperti yang disebutkan di atas berpengaruh pada penerapannya pada transaksi elektronik. Sistem ini tidak diterapkan untuk mengenkripsi langsung data yang dikirimkan pada transaksi elektronik, tetapi untuk mengenkripsi kunci sistem enkripsi simetris. Kunci sistem enkripsi simetris sendiri dibutuhkan karena data yang dikirim dienkripsi menggunakan algoritma simetris.

2. Tanda Tangan Digital

Sejak berabad-abad lamanya, tanda tangan (sidik yang ditulis tangan) digunakan untuk membuktikan otentikasi dokumen kertas (misalnya surat, piagam, ijazah, buku, karya seni, dan sebagainya).

Fungsi tanda tangan pada dokumen kertas juga diterapkan untuk otentikasi pada data dijital seperti pesan yang dikirim melalui saluran komunikasi dan dokumen elektronis yang disimpan di dalam memori komputer. Tanda tangan pada data digital ini disebut tanda tangan digital (digital signature).

Yang dimaksud dengan tanda tangan digital bukanlah tanda tangan yang di-digitasi dengan alat scanner, tetapi suatu nilai kriptografis yang bergantung pada pesan dan pengirim pesan (Hal ini kontras dengan tanda tangan pada dokumen kertas yang bergantung hanya pada pengirim dan selalu sama untuk semua dokumen).

Dengan tanda tangan digital, maka integritas data dapat dijamin, disamping itu ia juga digunakan untuk membuktikan asal pesan (keabsahan pengirim dan antipenyanggahan). Hanya sistem kriptografi kunci-publik yang cocok dan alami untuk pemberian tanda tangan digital. Hal ini disebabkan karena
skema tanda tangan digital berbasis system kunci-publik dapat menyelesaikan masalah non-repudiation (baik penerima dan pengirim pesan mempunyai pasangan kunci masing-masing)

3. Sertifikat digital

Penggunaan kriptografi kunci public mungkin membantu menjaga kerahasiaan data (confidentiality), tapi tidak menyumbangkan apapun untuk
menyelesaikan masalah otentikasi. Seseorang dapat mengaku menjadi orang lain dengan memberikan kunci public miliknya sendiri. Orang yang berkomunikasi dengan penipu ini dapat mengira bahwa dia berkomunikasi dengan orang yang identitasnya telah dicuri. Sertifikat digital hadir untuk menjadi jawaban permasalahan tersebut.

Badan yang mengeluarkan sertifikat digital adalah Certification Authority (CA). CA biasanya adalah institusi keuangan (seperti bank) atau institusi yang terpercaya. Sertifikat digital adalah dokumen digital yang berisi informasi sebagai berikut:
  • nama subjek (perusahaan/individu yang disertifikasi)
  • kunci publik si subjek
  • waktu kadaluarsa sertifikat (expired time)
  • informasi relevan lain seperti nomor seri sertifikat, dll

CA akan menandatangani dokumen digital tersebut dengan menggunakan kunci privat CA. Hasilnya, jika seseorang mencoba untuk menyamar menjadi orang lain dan memberikan kunci publik yang salah, pihak lain tidak akan tertipu karena dapat memverifikasi kunci publik tersebut. Verifikasi kunci public yang palsu akan menghasilkan nilai hash yang tidak serupa dengan nilai hash yang dikeluarkan oleh CA. Perlu diingat, sertifikasi digital tidak rahasia, tersedia secara publik, dan disimpan oleh CA di dalam certificate repositories, selain tentu dimiliki oleh pemegang sertifikat itu sendiri.

Waktu kadaluarsa sertifikat dimaksudkan agar subjek mengganti pasangan kunci publik-kunci privatnya secara periodik. Subjek dapat mengetahui status sertifikatnya dalam Certificate Revocation List (CRL) yang dikeluarkan CA secara periodik. CRL berisi nomor seri digital sertifikat yang ditarik.

4. Protokol kriptografi

Protokol adalah aturan yang berisi rangkaian langkah-langkah, yang melibatkan dua atau lebih orang, yang dibuat untuk menyelesaikan suatu kegiatan. Sedangkan protokol kriptografi adalah protokol yang menggunakan kriptografi.

Orang yang berpartisipasi dalam protokol kriptografi memerlukan protokol tersebut misalnya untuk:
  • berbagi komponen rahasia untuk menghitung sebuah nilai,
  • membangkitkan rangkaian bilangan acak,
  • meyakinkan identitas orang lainnya (otentikasi), dll

Protokol kriptografi dibangun dengan melibatkan beberapa algoritma kriptografi.

Sebagian besar protokol kriptografi dirancang untuk dipakai oleh kelompok yang terdiri dari 2 orang pemakai, tetapi ada juga beberapa protokol yang dirancang untuk dipakai oleh kelompok yang terdiri dari lebih dari dua orang pemakai (misalnya pada aplikasi teleconferencing)