Algoritma Kunci

  • Kekuatan sistem kriptografi secara total bergantung pada keamanan kunci. Kunci perlu dilindungi selama fase daur hidupnya.
  • Daur hidup kunci dimulai dari pembangkitan kunci (generation) sampai kunci tidak diperlukan lagi untuk kemudian dihancurkan (destruction).
  • Tujuan manajemen kunci adalah menjaga keamanan dan integritas kunci pada semua fase di dalam daur hidupnya.

Pada umumnya setiap kunci akhirnya diganti dengan kunci lain. Jadi, keseluruhan fase membentuk siklus (lingkaran) karena penghancuran kunci biasanya diikuti dengan penggantiannya dengan kunci baru (garis putus-putus).

  • Manajemen kunci yang dibahas difokuskan pada algoritma kriptografi simetri karena manajemen kunci untuk algoritma kunci-publik sangat berbeda dengan algoritma simetri.

Pembangkitan Kunci (Key Generation)

  • Pembangkitan kunci pada algoritma simetri jauh lebih mudah daripada pembangkitan kunci pada algoritma kunci-publik. Karena kunci simetri umumnya rangkaian bii atau rangkaian karakter, maka setiap pengguna dapat membangkitkan kuncinya sendiri.
  • Masalah utama yang muncul pada pembangkitan kunci adalah bagaimana membuat kunci yang tidak dapat diprediksi. Metode yang dapat digunakan untuk menjawab hal ini adalah dengan teknik manual (misalnya pelemparan koin/dadu), pembangkitan dari data pribadi (misalnya PIN), atau menggunakan pembangkit bilangan acak.
  • Pada algoritma kunci-publik, pembangkitan kunci merupakan masalah tersendiri, karena pembangkitan kunci membutuhkan perhitungan matematis yang rumit. Selain itu, pembangkitan bilangan prima yang besar juga dibutuhkan untuk membentuk kunci.
  • Oleh karena itu, pada algoritma kunci-publik dibutuhkan program khusus untuk membangkitkan kunci. Masalah yang timbul di sini adalah kepercayaan pengguna terhadap program tersebut. Pada RSA misalnya, bila program hanya dapat membangkitkan bilangan prima yang terbatas, maka pihak lawan dapat membangkitkan sendiri bilangan-bilangan prima yang terbatas itu dan menggunakannya sebagai faktor dari salah satu parameter RSA.

Penyebaran Kunci (Key Distribution)

  • Jika pengguna menggunakan kunci untuk melindungi informasi yang disimpan di dalam storage, maka tidak ada kebutuhan untuk menyebarkan kunci.
  • Tetapi, untuk kebutuhan komunikasi secara aman, maka diperlukan kebutuhan untuk mengirimkan kunci.
  • Protokol pertukaran kunci dengan menggunakan algoritma kunci-publik (lihat pembahasan Protokol Kriptografi) dapat digunakan untuk mendistribusikan kunci.

Penyimpanan Kunci (Key Storage)

  • Kunci disimpan di tempat yang aman yang tidak memungkinkan  pihak lawan mengaksesnya. Oleh karena itu, penyimpanan kunci mungkin memerlukan perlindungan secara fisik (misalnya disimpan di dalam lemari  besi).
  • Alternatif lain, kunci dapat disimpan di dalam smart card yang hanya dapat dibaca dengan menggunakan kode rahasia.
  • Kunci sebaiknya disimpan tidak dalam bentuk jelas. Ada dua solusi alternatif untuk masalah ini.
  1. kunci disimpan dengan mengenkripsinya dengan menggunakan kunci lain. Konsep ini mengarah pada konsep key hierarchy, yang dalam hal ini setiap kunci di dalam hirarkhi digunakan untuk melindungi kunci di bawahny.
  2. kunci dipecah menjadi beberapa komponen, setiap komponen disimpan di tempat terpisah. Jika kunci akan digunakan, maka setiap komponen direkonstruksi kembali.
  • Misalkan kunci K dibagi menjadi dua komponen, K1 dan K2. Membagi dua langsung K sedemikian sehingga setengah bagian pertama menjadi K1 dan setengah bagian sisanya menjadi K2 tidak dianjurkan, karena dapat memungkinkan pihak lawan menemukan K jika ia hanya mengetahui salah satu dari K1 dan K2. Misalkan K panjangnya 64 bit, dan lawan mengetahui K1, maka K dapat ditentukan dengan hanya 232 percobaaan untuk menemukan K2 secara exhaustive search (lebih sedikit dibandingkan 264 percobaan).
  • Solusi pemecahan yang lebih baik adalah membentuk kunci K dari K1 dan K2 sedemikian sehingga K = K1 Å K2. Dalam hal ini, ukuran K1 dan K2 sama dengan ukuran K, sehingga jika salah satu dari komponen K1 atau K2 diketahui, maka K relatif lebih sukar ditentukan.

Penggunaan Kunci (Key Usage)

  • Setiap kunci digunakan sesuai tujuannya. Misalnya ada kunci yang digunakan untuk mengenkripsi pesan, dan ada kunci yang  digunakan untuk mengenkripsi kunci lainnya.
  • Supaya setiap kunci mempunyai penggunaan yang unik, maka kita perlu membeli label pada setiap kunci, yang dalam hal ini label menspesifikasikan penggunaan kunci. Misalnya, label tersebut menspesifikasikan ‘kunci untuk mengenkripsi data’, ‘kunci untuk mengenkripsi kunci’, ‘kunci untuk pembangkitan bilangan acak’, dan sebagainya.
  • Untuk algoritma kunci-publik, pengguna perlu memberi label untuk dua pasang kunci yang setiap pasang terdiri dari kunci publik dan kunci rahasia. Satu pasang kunci untuk enkripsi dan satu pasang lagi untuk sidik dijital.

Perubahan Kunci (Key Change)

  • Kunci sebaiknya diubah secara periodik dan teratur. Sistem kriptografi harus mempunyai kemampuan untuk mengubah kunci.
  • Kunci diubah secara teratur untuk membatasi lama keberadaanya dan mengurangi nilainya dimata penyerang.
  • Pada sistem EFTPOS (Electronic Funds Transfer at Point of Sale), kunci diubah setiap kali setelah selesai satu transaksi.
  • Tidak ada aturan seberapa sering kunci seharusnya diubah. Tetapi cukup jelas dimengerti bahwa setiap kunci seharusnya diubah jauh sebelum ia dapat ditemukan dengan cara exhaustive search.

Penghancuran Kunci (Key Destruction)

  • Kunci yang tidak dibutuhkan lagi seharusnya dihancurkan dengan cara yang aman.
  • Jika kunci dicatat pada media kertas, maka cara penghancurannya misalnya menggunakan alat pemotong kertas (crosscut), membakarnya, atau menguburnya.
  • Jika kunci disimpan di dalam media elektronik (seperti CD), maka cara penghancurannya bisa dengan menghapusnya atau menimpanya (overwritten) sedemikian sehingga tidak meninggalkan jejak yang bisa dilacak oleh penyerang.
  • Kunci yang yang disimpan pada material lain dihancurkan sedemikian rupa sehingga ia tidak mungkin ditemukan kembali secara fisik maupun secara elektronik.

Otoritas Sertifikasi (Certification Authority)

  • Kunci publik perlu diberi sertifikat kepemilikian untuk mencegah pemakaian oleh orang yang tidak berhak. Serangan yang umum terjadi pada kunci publik tanpa identitas adalah penyamaran (impersonation attack). Seseorang yang memiliki kunci publik orang lain dapat menyamar seolah-olah dialah pemilik kunci itu.
  • Pemegang otoritas sertifikasi (Certification Authority atau CA) memberikan sertifikat yang ditandatangani secara dijital. Sertifikat ini berisi identitas pemilik kunci publik, nilai kunci publik itu sendiri, dan informasi tambahan seperti waktu kadaluarsa (expired time) sertifikasi. Sertifikat ini dapat dianggap sebagai ‘surat pengantar’ dari CA.
  • Misalnya CERTA adalah sertifikat yang dikeluarkan oleh CA yang berisi kunci publik pengguna yang bernama A dan identitas A. Jadi, CERTA mengikat identitas A dengan nilai kunci publiknya.
  • Supaya sertifikasi itu dapat dicek kebenarannya, maka kunci publik pemilik CA harus diketahui secara luas. Seseorang yang memiliki kunci publik CA dapat memverifikasi bahwa tanda tangan di dalam sertifikat itu sah dan karena itu mendapat jaminan bahwa kunci publik di dalam sertifikat itu benar milik A.
  • Penting dicatat bahwa sembarang orang (atau CA) dapat mengeluarkan sertifikat untuk kunci publik A. Misalkan A dan B memiliki sertifikat yang dikeluarkan oleh CA yang berbeda. Jika A memerlukan jaminan tentang sertifikat kunci publik B, maka A perlu memiliki salinan kunci publik CA yang mengeluarkan sertifikat untuk B.
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s