Ada berbagai macam definisi Usaha Kecil Menengah (UKM) di Indonesia yang diakui oleh semua departemen dan instansi pemerintah, serta swasta di Indonesia. Beberapa definisi yang digunakan oleh departemen dan instansi yang lain berdasarkan pada nilai aset atau omset (penjualan). Misalnya, Kementerian Negara Kooperasi dan UKM mendefinisikan usaha kecil menengah sebagai berikut: (a) usaha dengan hasil penjualan sampai dengan Rp. 1 milyar digolongkan dalam usaha kecil, dan (b) usaha dengan hasil penjualan antara Rp. 1-50 milyar digolongkan dalam usaha menengah. Kontras dengan hal ini, Badan Pusat Statistik mendefinisikan UKM berdasarkan besarnya jumlah tenaga kerja. Saat ini, hanya Badan Pusat Statistik yang membuat perbedaan sistematis tentang usaha rumah tangga (cottage), usaha kecil, menengah dan besar berdasarkan jumlah tenaga kerja. Dalam kaitannya dengan Teknologi Informasi dalam UKM, sampai saat ini belum ada acuan yang jelas berapa banyak jumlah tenaga kerja TI yang dipekerjakan, malahan sebagian besar UKM di Indonesia tidak memiliki divisi khusus untuk TI.
Melihat dari lingkup UKM, sumber dayanya baik sumber daya manusia maupun infrastruktur TI dan biaya, ada beberapa aplikasi kriptografi yang mungkin diterapkan dalam lingkungan UKM. Untuk UKM yang telah memiliki divisi TI sendiri, penerapan aplikasi kriptografi ini akan lebih murah dan mudah. Aplikasi-aplikasi kriptografi yang dapat diterapkan antara lain enkripsi pada password, file, dan email. Pengguna diberikan ID dan password untuk mengakses sistem yang ada. Password dienkripsi untuk mencegah terjadinya akses ilegal terhadap sistem misalnya pencurian data-data penting oleh mereka yang tidak berhak. Demikian juga enkripsi pada file-file penting dapat dilakukan (misalnya file yang berisi data keuangan). Metode enkripsi yang digunakan dapat berbentuk enkripsi kunci simetris, misalnya menggunakan algoritma DES, RSA, dll. Untuk mendapatkan algoritma enkripisi ini tidak dibutuhkan biaya karena telah dipublikasikan secara umum. Biaya yang dibutuhkan hanyalah biaya pengembangan dan biasanya biaya ini tidak terlalu besar jika pengembangannya dilakukan sendiri oleh divisi TI yang dimiliki UKM (in house development).
Jika dibutuhkan mekanisme enkripsi password lain yang lebih aman sesuai dengan kebutuhan keamanan data yang lebih tinggi dalam UKM dapat digunakan mekanisme One Time Password untuk menggantikan mekanisme password statis. Keunggulan dari mekanisme One Time Password dimana password hanya digunakan satu kali saja setiap pengguna akan log on ke dalam sistem ini adalah walaupun penyerang berhasil mendapatkan password namun ia tidak dapat menggunakannya lagi untuk melakukan akses terhadap sistem. Teknik enkripsi yang dapat digunakan untuk mekanisme ini adalah teknik-teknik enkripsi simetris / kunci rahasia. Banyak algoritma yang dapat digunakan untuk mengenkripsi password misalnya DES, AES, Blowfish, RC6, dll. Sekali lagi yang dibutuhkan disini adalah sumber daya manusia yang mampu untuk mengimplementasikan algoritma ini.
Aplikasi kriptografi lain yang dapat diimplementasikan dalam UKM adalah enkripsi email. Enkripsi email dibutuhkan untuk melindungi surat-surat penting yang akan dikirim dari maupun keluar UKM. Misalnya saja pengiriman data-data laporan rugi laba UKM kepada pihak penagih pajak maupun pengiriman surat-surat berharga lainnya. Untuk mengimplementasikan enkripsi email ini UKM harus sudah terkoneksi Internet. Aplikasi enkripsi email yang dapat diadopsi misalnya Pretty Good Privacy (PGP) yang dapat diperoleh secara gratis. Selain mengenkripsi email, PGP juga dapat digunakan untuk tanda tangan digital jika dibutuhkan level keamanan yang lebih tinggi.
Salah satu aplikasi PGP yang dapat diperoleh secara gratis dari situsnya
www.gnupg.org adalah GnuPG. GnuPG menggunakan konsep kunci publik untuk
diterapkan dalam enkripsi email maupun tanda tangan digital. Pembuatan kunci dalam GnuPG menggunakan perintah:
gpg --gen-key
dengan perintah tersebut pasangan kunci (secret dan public key) dibuat. Pembuatan kunci dapat menggunakan algoritma DSA maupun ElGamal. Kemudian ditentukan panjang kunci yang akan dibuat. Yang harus dipertimbangkan dalam menentukan panjang kunci ini adalah seseorang harus memilih antar aspek kerahasiaan dan waktu yang diperhitungkan. Jika kunci
semakin panjang resiko untuk meng-crack pesan akan menurun. Tetapi dengan kunci yang lebih besar waktu kalkulasinya juga bertambah. Panjang kunci minimal pada GnuPG adalah 768 bit. Beberapa orang berpendapat seseorang harus memiliki ukuran kunci 2048 bit (dimana sekarang ini merupakan panjang maksimal pada GnuPG). Untuk DSA 1024 bit adalah ukuran yang standar. Kemudian user akan diminta memasukkan nama, komentar, alamat email dan password. Password ini digunakan agar dapat menggunakan fungsionalitas yang dimiliki kunci rahasia. Setelah semua data dimasukkan sistem mulai meng-generate kunci. Proses ini membutuhkan waktu beberapa lama. Untuk mengekspor kunci publik digunakan perintah:
gpg --export [UID]
Jika tidak ada UID maka semua kunci yang ada akan diekspor. Output defaultnya akan diset ke stdout. Orang lain dapat menghubungi seseorang secara aman dengan kunci publik ini. Mem-publish kunci dapat dilakukan dengan mem-publishnya pada homepage sendiri, dengan finger, melalui server kunci seperti
http://www.pca.dfn.de/dfnpca/pgpkserv/ atau metode-metode lainnya. Saat
menerima kunci publik dari orang lain harus dilakukan penambahan data ke basisdata kunci. Untuk mengimpor ke basisdata digunakan perintah:
gpg --import [Filename]
Sekali sebuah kunci diimpor harus dilakukan validasi. GnuPG menggunakan model kepercayaan yang handal dan fleksibel yang tidak membutuhkan seseorang untuk secara personal memvalidasi setiap kunci yang diimpor. Tetapi beberapa kunci mungkin harus divalidasi secara personal. Sebuah kunci divalidasi dengan memverifikasi fingerprint kunci dan kemudian menandatangani kunci untuk mensertifikasinya sebagai kunci yang valid. Sebuah fingerprint kunci dapat dilihat dengan cepat menggunakan perintah
gpg --fingerprint
tetapi untuk dapat mensertifikasi kunci harus mengeditnya terlebih dahulu dengan perintah
User dapat menarik/mencabut kembali kuncinya untuk beberapa alasan. Misalnya kunci rahasia telah dicuri atau menjadi tersedia untuk orang yang salah, UID telah berubah, kunci tidak cukup panjang lagi, dll. Perintah untuk menarik kunci kembali adalah:
gpg --gen-revoke
Proses ini membuat sebuah revoke certificate. Jika user melupakan passphrasenya atau jika kunci privat telah diketahui orang lain atau hilang, sertifikat ini dapat dipublikasikan untuk memberitahukan orang lain bahwa kunci publik tidak dapat digunakan kembali. Kunci publik yang ditarik kembali tetap dapat digunakan untuk memverifikasi tanda tangan yang dibuat di masa lalu, tetapu tidak dapat digunakan lagi untuk mengenkripsi pesan. Juga berdampak pada kemampuan untuk mendekrip pesan yang dikirimkan kepadanya di masa lalu jika user tetap memiliki akses ke kunci privat.
Konsep yang sangat penting dalam penggunaan kunci publik ini adalah secret key/private key harus tetap dirahasiakan dan tidak boleh diberikan atau dimiliki oleh orang lain selain pemilik kunci ini. Untuk mencegah orang lain memiliki kunci privat ini, kunci privat tidak boleh dikirimkan melalui Internet, juga tidak disarankan menggunakan kunci privat melalui telnet. Salah satu titik kelemahan dari algoritma kunci publik adalah penyebaran kunci publik. Seorang user dapat membawa kunci publik dengan user ID yang salah pada sirkulasinya. Jika dengan kunci semacam ini sebuah pesan dibuat, intruder dapat mendekode dan membaca pesan. Jika intruder telah melakukannya kemudian dengan kunci publik yang asli dikodekan ke penerima yang sebenarnya, serangan ini tidak dapat dikenali. Solusi GnuPG juga melibatkan penanda tanganan kode. Kunci publik dapat ditandatangani oleh orang lain. Tanda tangan ini menyatakan bahwa kunci yang digunakan oleh UID (User Identification) sebenarnya milik orang yang mengklaimnya tersebut. Kemudian terserah kepada user GnuPG seberapa jauh kepercayaan yang terletak pada tanda tangan. Kunci dapat dianggap sebagai sesuatu yang terpercaya jika seseorang mempercayai pengirim kunci dan dapat diketahui dengan pasti bahwa kunci tersebut memang benar-benar milik orang tersebut. Hanya jika seseorang dapat mempercayai kunci dari penanda tangan,
seseorang dapat mempercayai tanda tangan tersebut. Untuk menandatangani data dengan kunci sendiri, digunakan perintah:
gpg -s (atau --sign) [Data]
Setelah melakukan konfigurasi kunci user dapat mulai mengenkripsi dan mendekripsi data. Saat mengenkripsi atau mendekripsi dimungkinkan untuk memiliki lebih dari satu kunci privat yang digunakan. Jika hal ini terjadi user harus memilih kunci mana yang aktif. Perintah untuk melakukan enkripsi adalah
gpg --e Recipient [Data] atau
gpg --encrypt Recipient [Data]
Untuk menghindari seseorang yang lain mengklaim menjadi user, sangat penting untuk menandatangani semua yang dienkripsi menggunakan mekanisme penandatanganan seperti yang dijelaskan diatas. Untuk mendekripsi data digunakan perintah:
gpg [-d] [Data] atau
gpg [--decrypt] [Data]
Untuk enkripsi email, beberapa program Email (MUA) mendukung GnuPG seperti Mozilla, Evolution, Pine, Kmail, Eudora, Mutt, exmh. Dengan menggunakan dukungan GnuPG dalam program mail, user dapat mendekrip pesan email yang dikirimkan kepadanya yang dienkripsi menggunakan kunci publiknya, dapat menandatangani pesan sehingga pihak yang menerima dapat yakin bahwa user memang benar-benar penulis pesan dan mengenkripsi email dengan kunci publik dari penerima.
Secara umum mekanisme kriptografi dapat diterapkan pada UKM tanpa banyak membutuhkan modifikasi karena biasanya algoritma-algoritma enkripsi dapat diperoleh secara gratis dan mudah sehingga dapat dikembangkan/diimplementasikan sendiri sesuai dengan lingkungan dan kebutuhan UKM. Pengembangan ini dapat dilakukan secara in house (jika UKM
telah memiliki divisi TI sendiri) maupun outsource. Penerapan enkripsi ini tentunya memperhatikan aspek urgensi dari kerahasiaan data yang akan dienkripsi. Pemilihan teknik enkripsi dan apa yang akan dienkripsi disesuaikan dengan kebutuhan keamanan UKM tersebut.
REFERENSI
Alfred J. Menezes, Paul C. Van Oorschot, dan Scott A. Vanstone, “Handbook of Applied Cryptography”, CRC Press, 1996
Ronald L. Krutz dan Russell D. Vines, “The CISSP Prep Guide”, Gold Edition, John Wiley and Sons, 2003
William Stallings, “Cryptography and Network Security: Principles and Practices” , 3rd edition, Pearson Education International, 2003
Crpyto FAQ, http://www.rsasecurity.com/rsalabs/, diakses pada tanggal 18 Nopember 2005
GPGMiniHowTo, http://www.gnupg.org, diakses pada tanggal 23 Desember 2005
“Introduction to Public Key Cryptography”, http://docs.sun.com/source/816-6154-10/contents.htm#1053011, diakses pada tanggal 18 Nopember 2005