Keamanan Data Kriptografi Perancangan Dan Implementasi Algoritma Enkripsi One Time Pad Untuk Sistem Keamanan Pembelian Dan Penjualan Produk Pada PT. Nuga Agara Internasional

5. Distribusi, setelah proses pengolahan data dilakukan, maka informasi yang dihasilkan harus segera didistribusikan. Proses pendistribusian ini tidak boleh terlambat dan harus diberikan kepada yang berkepentingan, sebab hasil pengolahan tersebut akan menjadi bahan pertimbangan dalam pengambilan keputusan atau menjadi data dalam pengolahan selanjutnya.

2.2 Keamanan Data

Keamanan merupakan salah satu aspek terpenting dari sebuah sistem informasi. Masalah keamanan sering kurang mendapat perhatian dari para perancang dan pengelola sistem informasi. Masalah kemanan sering berada diurutan setelah tampilan, atau bahkan diurutan terakhir dalam daftar hal-hal yang dianggap penting. Keamanan adalah keadaan bebas dari bahaya. Istilah ini dapat digunakan dengan hubungan kepada kejahatan, dan segala bentuk kecelakaan. Keamanan merupakan topik yang luas termasuk keamananan nasional terhadap serangan teroris, keamanan komputer terhadap hacker, keamanan rumah terhadap maling dan penyelusup lainnya, keamanan finansial terhadap kehancuran ekonomi dan banyak situasi berhubungan lainnya Kristianto, 2003. Host komputer yang terhubung ke network, mempunyai ancaman keamanan lebih besar dari pada host yang tidak terhubung kemana-mana. Dengan mengendalikan network security, risiko tersebut dapat dikurangi. Kebutuhan keamanan untuk sebuah sistem komputer berbeda – beda bergantung kepada aplikasi – aplikasi yang dikandungnya, antara lain sistem transfer keuangan elektronik, akan berbeda kebutuhannya dengan sistem reservasi atau sistem–sistem kontrol lainnya. Pada saat ini data storage merupakan suatu komponen utama yang sangat vital, dimana data storage sangat penting nilainya jika didalamnya disimpan file atau data yang sifatnya sangat penting dan rahasia. Oleh karena jaringan komputer yang bersifat multiuser, maka dibutuhkan suatu metode pengamanan tersendiri. Pada saat ini banyak bentuk ancaman dan Universitas Sumatera Utara penyerangan terhadap jaringan komputer itu sendiri, termasuk salah satunya adalah ancaman dan penyerangan terhadap data yang terdapat pada alat penyimpanan data itu sendiri.

2.3 Kriptografi

Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret rahasia dan graphia berarti writing tulisan. Menurut terminologinya kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika dikirim dari suatu tempat ke tempat yang lain Ariyus, 2008. Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan. Ketika suatu pesan dikirim dari suatu tempat ke tempat lain, isi pesan tersebut mungkin dapat disadap oleh pihak lain yang tidak berhak untuk mengetahui isi pesan tersebut. Untuk menjaga pesan, maka pesan tersebut dapat diubah menjadi suatu kode yang tidak dapat dimengerti oleh pihak lain. Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu: 1. Enkripsi. Merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut plaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan dengan cipher atau kode. Sama halnya dengan kita tidak mengerti akan sebuah kata maka kita akan melihatnya di dalam kamus atau daftar istilah. Beda halnya dengan enkripsi, untuk mengubah teks-asli ke bentuk teks-kode kita menggunakan algoritma yang dapat mengkodekan data yang kita ingini. 2. Dekripsi. Merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi dikembalikan ke bentuk asalnya teks-asli, disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma yang digunakan untuk dekripsi. Universitas Sumatera Utara 3. Kunci. Yang dimaksud di sini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian, kunci rahasia private key dan kunci umum public key.

2.3.1. Jenis-Jenis Kriptografi

Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang dipakainya: 1. Algoritma Simetri menggunakan satu kunci untuk enkripsi dan dekripsinya, 2. Algoritma Asimetri menggunakan kunci yang berbeda untuk enkripsi dan dekripsi, 3. Hash Function.

2.3.1.1. Algoritma Simetri.

Ini adalah jenis kriptografi yang paling umum dipergunakan. Kunci untuk membuat pesan yang disandikan sama dengan kunci untuk membuka pesan yang disandikan itu. Jadi pembuat pesan dan penerimanya harus memiliki kunci yang sama persis. Siapapun yang memiliki kunci tersebut, termasuk pihak-pihak yang tidak diinginkan, dapat membuat dan membongkar rahasia ciphertext. Problem yang paling jelas disini terkadang bukanlah masalah pengiriman ciphertext-nya, melainkan masalah bagaimana menyampaikan kunci simetris tersebut kepada pihak yang diinginkan. Contoh algoritma kunci simetris yang terkenal adalah DES Data Encryption Standard dan RC-4. Dua kategori yang termasuk pada algoritma simetris ini adalah algoritma block cipher dan stream cipher. a. Block Cipher Algoritma block cipher adalah algoritma yang masukan dan keluarannya berupa satu block, dan setiap blocknya terdiri dari banyak bit. Beberapa mode operasi enkripsi block cipher: Universitas Sumatera Utara 1. Data Enkripsi Standard DES Algoritma enkripsi yang paling banyak digunakan di dunia adalah DES yang telah diadopsi oleh NIST Nasional Institude of Standard and Tecnology sebagai standart pengolahan informasi Federal AS. Data dienkrip dalam block- block 64 bit menggunakan kunci 56 bit. Algoritma DES berasal dari algoritma Lucifer buatan IBM. Algoritma ini ditawarkan kepada NIST dan menjadi DES tahun 1977. Akan tetapi terdapat dua masalah besar pada algoritma ini. Pertama, kunci yang hanya 56 bit, sehingga sangat rawan terhadap serangan brute force. Kedua, desain struktur internal DES dimana bagian subsitusinya S-box masih dirahasiakan. 2. AES Advanced Encrytion Standard Sekitar tahun1990-an ketika semakin banyak komputer yang dapat menembus kunci DES yang disebabkan terlalu pendeknya panjang kunci. Dalam kriptografi modern, panjang kunci dalam ukuran jumlah bit yang digunakan, merupakan salah satu faktor yang sangat penting. Hal ini dikarenakan penggunaan komputer yang sangat intensif dalam dunia kriptografi. Untuk itu NIST mengadakan sebuah kontes untuk mencari sebuah algoritma standart baru untuk menggantikan DES. Pada bulan oktober 2000, Rijndael dipilih menjadi pemenang kontes AES. Algoritma Rijndael dipilih bukan karena yang paling aman, melainkan karena keseimbangan antara keamanan dan fleksibilitas dalam berbagai platform software dan hardware. Algoritma menyingkirkan saingan terdekatnya yaitu algoritma RC6 buatan RSA. 3. Blowfish Blowfish merupakan block cipher 64-bit dengan panjang kunci variabel. Algoritma ini terdiri dari dua bagian: key expansion dan enkripsi data. Key expansion merubah kunci yang dapat mencapai 448 bit menjadi beberapa array subkunci subkey dengan total 4168 byte. Enkripsi data terdiri dari iterasi fungsi sederhana sebanyak 16 kali. Setiap putaran terdiri dari permutasi kunci- dependent dan substitusi kunci dan data dependent. Semua operasi adalah penambahan XOR pada variable 32-bit. Tambahan operasi lainnya hanyalah empat penelusuran tabel table lookup array berindeks untuk setiap putaran. Blowfish menggunakan subkunci yang besar. Kunci ini harus dihitung sebelum enkripsi atau dekripsi data. Universitas Sumatera Utara b. Stream Chipher Stream cipher Cipher aliran adalah cipher yang berasal dari hasil XOR antara bit plaintext dengan setiap bit kuncinya. Stream cipher sangat rawan terhadap attack pembalikan bit. Beberapa model algoritma stream cipher antara lain : 1. One Time Pad OTP Dalam OTP terdapat teknik enkripsi yang sempurna. Ditemukan oleh Mayor J Maugborne dan G Verman tahun 1917. Setiap kunci hanya digunakan untuk sekali pesan. Teknik ini dikatakan sempurna karena kunci yang acak dan hanya digunakan sekali. One Time Pad pad = kertas bloknot adalah kertas yang berisi deretan karakter-karakter kunci yang berisi huruf-huruf yang tersusun acak. Satu pad hanya digunakan sekali one time saja untuk mengenkripsi pesan, setelah itu pad yang telah digunakan dihancurkan supaya tidak dipakai kembali untuk mengenkripsi pesan yang lain. 2. Rivest Code 4 RC 4 RC4 merupakan salah satu algoritma kunci simetris yang berbentuk stream cipher, yaitu memproses unit atau input data pada satu saat. Unit atau data pada umumnya sebuah byte atau kadang-kadang bit. Dengan cara ini enkripsi atau dekripsi dapat dilaksanakan pada panjang yang variabel. Algoritma ini tidak harus menunggu sejumlah input data tertentu sebelum diproses, atau menambahkan byte tambahan untuk mengenkripsi. Algoritma ini ditemukan pada tahun 1987 oleh Ronald Rivest dan menjadi simbol keamanan RSA. RC4 merupakan enkripsi stream simetrik proprietary yang dibuat oleh RSA Data Security Inc RSADSI. Penyebarannya diawali dari sebuah source code yang diyakini sebagai RC4 dan dipublikasikan secara anonymously pada tahun 1994. Algoritma yang dipublikasikan ini sangat identik dengan implementasi RC4 pada produk resmi. RC4 digunakan secara luas pada beberapa aplikasi dan umumnya dinyatakan sangat aman. Sampai saat ini diketahui tidak ada yang dapat memecahkanmembongkarnya. RC4 tidak dipatenkan oleh RSADSI, hanya saja tidak diperdagangkan secara bebas trade secret. Algoritma RC4 bekerja pada dua tahap, menyetem susunan key setup dan pengkodean ciphering. Kunci susunan merupakan hal yang lebih awal dan merupakan tahap yang paling sulit dari algoritma ini. Selama menyetem susunan suatu N-bit N menjadi panjangnya kunci, kunci enkripsi digunakan Universitas Sumatera Utara untuk menghasilkan suatu variabel enkripsi yang menggunakan dua arrays, state dan kunci, dan jumlah N dari operasi pencampuran. Operasi pencampuran terdiri dari menukar bytes, modulo operasi, dan rumusan lain. Suatu modulo operasi adalah proses sisa dari suatu hasil divisi. Sebagai contoh, 114 adalah 2 sisa 3; oleh karena itu 11 mod 4 sama dengan 3. Sekali variabel enkripsi dihasilkan dari key setup, langkah selanjutnya adalah masuk ke fase ciphering di mana dalam proses ini hasilnya akan diXORkan dengan plaintext. Sekali penerima mendapat pesan yang dienkripsi, langkah selanjutnya adalah mendekripsinya dengan XOR pesan yang dienkripsi dengan menggunakan variabel yang sama. Ariyus, 2008

2.3.1.2. Algoritma Asimetri.

Algoritma asimetri sering juga disebut dengan algoritma kunci publik, dengan arti kata kunci yang digunakan untuk melakukan enkripsi dan dekripsi berbeda. Pada algoritma asimetri kunci terbagi menjadi dua bagian, yaitu: 1. Kunci umum public key: kunci yang boleh diketahui semua orang dipublikasikan. 2. Kunci rahasia private key: kunci yang dirahasiakan hanya boleh diketahui oleh satu orang saja. Kunci –kunci tersebut berhubungan satu sama lain. Dengan kunci public orang dapat mengenkripsi pesan tetapi tidak bisa mendekripsinya. Hanya orang yang memiliki kunci rahasia yang dapat mendekripsi pesan tersebut. Algoritma asimetri bisa mengirimkan pesan dengan lebih aman daripada algoritma simetri. Contoh, Bob mengirim pesan ke Alice menggunakan algoritma asimetri. Hal yang harus dilakukan adalah: 1. Bob memberitahukan kunci publiknya ke Alice. 2. Alice mengenkripsi pesan dengan menggunakan kunci public Bob. 3. Bob mendekripsi pesan dari Alice dengan kunci rahasianya. 4. Begitu juga sebaliknya jika Bob ingin mengirim pesan ke Alice. Universitas Sumatera Utara Gambar 2.2 Proses Enkripsi Dekripsi sederhana Algoritma yang memakai kunci publik diantaranya adalah: 1. Digital Signature Algorithm DSA. DSA mempunyai perhitungan yang sulit karena pemisahan algoritma dan berorientasi pada algoritma ElGamal dan Schnorr. Kunci publik berisi tiga parameter p, q dan g, untuk semua grup dari user. Memilih q sebagai bilangan prima 160 bit dan menyeleksi bilangan prima p dengan 512 p 1024 bit seperti q adalah factor dari bilangan prima p-1. Kemudian memilih q 1 menjadi bentuk h_p-1q mod p, seperti h_ adalah integer antara 1 dan p-1. Dengan tiga bilangan tersebut, pengguna memilih kunci rhasia x antara 1 x q-1 dan kunci umum y adalah perhitungan dari x sama dengan y ≡ g x mod p. Memanggil kembali penanda x adalah suatu hal yang tidak mungkin karena algoritma yang terpisah dari y untuk basis g mod p sulit untuk dihitung. 2. RSA RSA tidak pernah dibuktikan aman tidaknya, hanya karena sulitnya pemfaktoran bilangan yang sangat besar, maka RSA dianggap aman. Dalam pembangkitan kedua kunci, digunakan dua bilangan prima acak yang sangat besar 3. Diffie-Hellman DH Diffie Helman dianggap merupakan algoritma asimetrik yang pertama kali ditemukan pada tahun 1976, meskipun NSA telah mengaku menemukan algoritma asimetrik jauh-jauh hari sebelumnya. Algoritma ini memperoleh keamanannya dari sulitnya menghitung logaritma diskrit pada bilangan yang amat besar. Akan tetapi algoritma ini hanya dapat digunakan untuk pertukaran kunci simetris dan tidak dapat digunakan untuk enkripsidekripsi maupun untuk tanda tangan digital. Universitas Sumatera Utara

2.3.1.3. Hash Function

Fungsi HASH adalah fungsi yang menerima masukan string yang panjangnya sembarang dan mengonversinya menjadi string keluaran yang panjangnya tetap fixed, yang umumnya berukuran jauh lebih kecil dari pada ukuran semula. Fungsi Hash satu arah one-way hash function berfungsi sebagai: 1. Sidik jari fingerprint: membuat sidik jari dari suatu dokumen atau pesan M yang mana sidik jari merupakan suatu identitas dari si pengirim pesan. 2. Funsi kompresi: dokumen D yang besarnya dapat bervariasi yang akan di-hash disebut pre-image, sedangkan keluarannya yang memiliki ukuran tetap dalam bentuk aslinya dan pada dasarnya masukan lebih besar dari pada keluaran, seolah- olah mengalami kompresi, namun hasil dari kompresi tidak bisa dikembalikan ke bentuk awalnya, yang oleh karenanya dinamakan satu arah. 3. Message digest: dianggap intisari dari suatu dokumen, padahal tidak demikian karena intisari dokumen merupakan ringkasan dokumen yang dapat dipahami maknanya. Message digest tidak demikian, karena dengan sidik jari orang lain tidak mengerti asli dari dokumen tersebut. Fungsi HASH satu arah dirancang dengan kompleksitas yang tinggi, sehingga apabila terjadi perubahan satu bit saja, maka dapat mengubah nilai dari HASH yang dihasilkan. Untuk HASH yang modern menghasilkan panjang 128 bit atau lebih. Fungsi HASH ini banyak digunakan pada proses digital signitureuntuk data integrity. Salah satu kegunaan Fungsi HASH yaitu untuk MAC Message Authentication Code dan HMAC yaitu kode yang dihasilkan oleh fungsi HASH untuk sebuah pesan atau data pada jaringan komputer. Ariyus, 2008

2.3.2. Kriptanalisis

Kriptanalisis bertujuan untuk memecahkan chipertext menjadi plaintext semula tanpa memiliki akses ke kunci yang digunakan. Kriptanalis berusaha menemukan kelemahan dari sistem kriptografi yang pada akhirnya mengarah untuk menemukan kunci dan mengungkap plaintext. Universitas Sumatera Utara Dalam membahas serangan terhadap kriptografi, diasumsikan bahwa kriptanalis mengetahui algoritma kriptografi yang digunakan, sehingga satu-satunya keamanan sistem kriptografi terletak sepenuhnya pada kunci. Dengan kata lain, kriptanalis mengetahui algoritma enkripsi dan dekripsi secara detil. Merahasiakan algoritma kriptografi bukanlah solusi yang praktis, sebab setiap kali algoritma berhasil diketahui lawan, maka kriptografer harus membuat algoritma baru. Dengan membuat algoritma menjadi public, maka cukup kunci saja yang dirahasiakan. Jika kunci berhasil dicuri, maka kunci baru dibangkitkan tanpa harus mengganti algoritmanya. Jadi tidak mengherankan kalau semua algoritma kriptografi telah dipublikasikan di berbagai jurnal dan buku-buku sehingga siapapun bisa mempelajarinya. Menurut Schneier, algoritma yang terbaik adalah algoritma yang telah dipublikasikan dan telah “diserang” oleh para kriptografer dan kriptanalis terbaik dunia dan hingga kini belum berhasil dipecahkan. Dengan mempublikasikan algoritma kriptografi, kriptografer memperoleh konsultasi gratis dari sejumlah kriptologis akademisi yang ingin sekali memecahkan algoritma sehingga mereka dapat mempublikasikan paper yang memperlihatkan kecerdasan mereka. Jika banyak pakar telah mencoba memecahkan algoritma selama 5 tahun setelah dipublikasikan dan tidak seorangpun berhasil, maka mungkin algoritma tersebut tangguh.

2.3.3. Jenis-Jenis Serangan Terhadap Kriptografi.

Serangan terhadap sistem kriptografi dapat dikelompokkan dengan beberapa cara: a. Berdasarkan keterlibatan penyerang dalam komunikasi, serangan dapat dibagi atas dua macam, yaitu serangan aktif dan serangan pasif. 1. Serangan aktif. Pada jenis serangan ini, penyerang mengintervensi komunikasi dan ikut mempengaruhi sistem untuk keuntungan dirinya. Misalnya penyerang mengubah aliran pesan seperti menghapus sebagian chipertext, mengubah chipertext, menyisipkan potongan chipertext palsu, me-replay pesan lama, mengubah informasi yang tersimpan, dan sebagainya. Universitas Sumatera Utara 2. Serangan pasif. Pada jenis serangan ini, penyerang tidak terlibat dalam komunikasi antara pengirim dan penerima, namun penyerang menyadap semua pertukaran pesan antara kedua entitas tersebut. Tujuannya adalah untuk mendapatkan sebanyak mungkin informasi yang digunakan untuk kriptanalisis. Beberapa metode penyadapan data antara lain: a Wiretapping; penyadap mencegat data yang ditransmisikan pada saluran komunikasi dengan menggunakan sambungan perangkat keras. b Electromagnetic eavesdropping: penyadap mencegat data yang ditransmisikan melalui saluran wireless, misalnya radio dan microwave. c Acoustic eavesdropping: menangkap gelombang suara yang dihasilkan oleh suara manusia. b. Berdasarkan banyaknya informasi yang diketahui oleh kriptanalis, dikelompokkan menjadi 5 jenis: 1. Chipertext-only attack. Ini adalah jenis serangan yang paling umum namun paling sulit karena informasi yang tersedia hanyalah chipertext saja. Kriptanalis memiliki beberapa chipertext dari pesan, semuanya dienkripsi dengan algoritma yang sama. Tugas kriptanalis adalah menemukan plaintext sebanyak mungkin dari chipertext tersebut atau menemukan kunci yang digunakan untuk mendekripsi. 2. Known-plaintext attack. Ini adalah jenis serangan di mana kriptanalis memiliki pasangan plaintext dan chipertext yang berkoresponden. Plaintext mungkin diperoleh dengan mempelajari karakteristik pesan. Beberapa pesan yang formatnya terstruktur membuka peluang kepada kriptanalis untuk menerka plaintext dari chipertext yang bersesuaian. 3. Chosen-plaintext attack. Serangan jenis ini lebih hebat dari pada known-plaintext attack, karena kriptanalis dapat memilih plaintext yang dimilikinya untuk dienkripsikan, yaitu plaintext yang lebih mengarahkan penemuan kunci. Universitas Sumatera Utara 4. Chosen-ciphertext attack. Ini adalah jenis serangan dimana kriptanalis memilih chipertext untuk didekripsikan dan memiliki akses ke plaintext hasil dekripsi misalnya terhadap mesin elektronik yang melakukan dekripsi secara otomatis. Jenis serangan ini bisaanya dipakai pada sistem kriptografi. 5. Chosen-text attack. Ini adalah jenis serangan yang merupakan kombinasi chosen-plaintext dan chosen-ciphertext attack. c. Berdasarkan teknik yang digunakan dalam menemukan kunci, dibagi atas: 1. Exhaustive attack atau brute force attack. Ini adalah serangan untuk mengungkap plaintext atau kunci dengan mencoba semua kemungkinan kunci. Diasumsikan kriptanalis mengetahui algoritma kriptografi yang digunakan oleh pengirim pesan. Selain itu kriptanalis memiliki sejumlah chipertext dan atau plaintext yang bersesuaian. 2. Analytical attack. Pada jenis serangan ini, kriptanalis tidak mencoba-coba semua kemungkinan kunci tetapi menganalisis kelemahan algoritma kriptografi untuk mengurangi kemungkinan kunci yang tidak mungkin ada. Diasumsikan kriptanalis mengetahui algoritma kriptografi yang digunakan oleh pengirim pesan. Analisis dapat menggunakan pendekatan matematik dan statistik dalam rangka menemukan kunci. Secara statistik misalnya dengan menggunakan analisis frekuensi, sedangkan secara matematik dengan memecahkan persamaan- persamaan matematika yang diperoleh dari defenisi suatu algoritma kriptografi yang mengandung peubah-peubah yang merepresentasikan plaintext atau kunci.

2.4 Prinsip Penyandian Shannon.