Pelita Informatika Budi Darma, Volume : V, Nomor: 2, Desember 2013
SSN : 2301-9425
SISTEM PENGAMANAN PESAN SMS MENGGUNAKAN INTERNASIONAL DATA ENCRYPTION ALGORITHM Lestiana Marpaung (0911073) Mahasiswa Program Studi Teknik Informatika, STMIK Budidarma Medan Jl. Sisingamangaraja No.338 Simpang Limun Medan www.stmik-budidarma.ac.id // Email :
[email protected] ABSTRAK Keamanan data merupakan kendala bagi semua pengguna telepon genggam, ataupun beberapa data yang perlu di proteksi. Masalah keamanan dan kerahasiaan data merupakan hal yang sangat penting dalam suatu organisasi maupaun pribadi. Tentu saja data yang penting tersebut dilihat atau dibajak orang yang tidak berwenang. Sebab kalau hal itu sampai terjadi kemungkinan data akan bisa rusak ataupun hilang yang akan menimbulkan kerugian material yang besar. Perkembangan teknologi telekomunikasi yang begitu pesat telah memberikan mafaat yang begitu besar. Dengan adanya tekonologi telekomunikasi, jarak dan waktu bukan lagi menjadi sebuah kendala yang berarti. Salah satu hasil teknologi telekomunikasi yang sangat terkenal adalah Short Messsage Service(SMS). Dengan menggunakan SMS, penggunanya dapat saling bertukar pesan teks dengan pengguna lain. Pada tulisan ini akan dibahas sistem pengamanan pesan SMS pada Handphone dengan mengembangkan sebuah aplikasi pada Handphone untuk memodifikasi pesan SMS menjadi ciphertext agar isi informasi dari pesan SMS tersebut tidak diketahui orang lain. Hal ini bertujuan untuk menjaga kerahasiaan isi suatu pesan SMS dari akses orang tidak berwenang atau berhak. Karena sistem pengamanan pesan SMS sangat banyak cakupannya, algoritma yang digunakan sistem dalam mengenkripsi dan mendekripsi isi pesan SMS adalah International Data Encryption Algorithm (IDEA) yang meliputi proses pembentukan kunci, enkripsi, dekripsi dan contoh International Data Encryption Algorithm (IDEA). Kunci: Enkripsi, SMS, Algoritma IDEA 1. Pendahuluan 1.1 Latar Belakang Masalah Masalah keamanan dan kerahasiaan data merupakan hal yang sangat penting dalam suatu organisasi maupun pribadi. Sistem keamanan pengiriman data (komunikasi data yang aman) dipasang untuk mencegah pencurian, kerusakan, dan penyalahgunaan data ada dalam komputer. Jika hal ini sampai terjadi, maka kemungkinan besar akan merugikan bahkan membahayakan orang yang mengirim pesan atau menerima pesan, maupun organisasinya. Informasi yang terkandung di dalamnya pun bisa saja berubah sehingga menyebabkan salah penafsiran oleh pembaca pesan. Beberapa tahun terakhir ini terjadi perkembangan yang sangat pesat pada teknologi,salah satunya adalah Handphone yang sering juga disebut (ponsel). Mulai dari ponsel yang hanya bisa digunakan untuk bicara dan sms sehingga “Ponsel cerdas ”(Smart Phone) yang memiliki berbagai fungsi seperti multimedia, multiplayer games, transfer data dan lain lain. Berbagai perangkat lunak untuk mengembangkan aplikasi ponsel pun bermunculan, salah satu fasilitas yang disediakan ponsel adalah untuk melakukan penguncian pesan berupa pesan singkat melalui short Message service (SMS). Namun dengan fasilitas yang ada, timbul pertanyaan mengenai keamanan informasi jika seseorang ingin
memanajemen pesan masuk dan keluar yang dapat dibaca tanpa keamanan dan pesan yang ingin dirahasiakan. Pada saat ini privasi dari seseorang sering disalagunakan pihak-pihak yang tidak bertanggung jawab. Contohnya pesan masuk dan pesan keluar yang ada di dalam handphone beberapa diantaranya terdapat pesan penting dan tidak diinginketahui orang lain. Sebuah perusahaan operator telepon seluler, staellium UK, mengeluarkan layanan bernama”Stealth Text” yang dapat digunakan untuk mengirim pesan dengan aman, yaitu dengan cara menghapus pesan masuk secara otomatis segera setelah 40 detik pesan dibaca atau yang dikenal dengan nama “self-destruct text message”. Ada juga pengamanan SMS dengan menggunakan kriptografi sms dengan yang memanfaatkan kunci untuk mendeskripsikan SMS yang telah di enkripsi. Menurut Asep Pristia Negara (2011) : APLIKASI MOBILE SMS ENCRYPTION MENGGUNAKAN ALGORITMA SHIFT CIPHER, Short Messaging Service (SMS) adalah sebuah layanan yang dilaksanakan dengan ponsel untuk mengirim maupaun menerima pesan pesan pendek. Menurut Hidayat (2006) : SISTEM KRIPTOGRAFI IDEA “ IDEA “adalah algoritma simetris yang beroperasi pada sebuah blok pesan terbuka dengan panjang 64 bit. Dan menggunakan
Sistem Pengamanan Pesan Sms Menggunakan Internasional Data Encryption Algorithm. Oleh : Lestiana Marpaung
74
SSN : 2301-9425
Pelita Informatika Budi Darma, Volume : V, Nomor: 2, Desember 2013
kunci yang sama yang berukuran 128 bit, untuk proses enkripsi dan dekripsi pesan terbuka. IDEA menggunakan confusion dan diffusion yang mempunyai 3 operator yang berbeda DES yang menggunakan permutasi dan subtitusi, algoritma IDEA menggunakan 52 subkey dan 16 key per block. IDEA menggunakan aljabar yang tidak kompatibel seperti XOR, penambahan module perkalian modulo + 1( operasi ini menggantikan S-BOX). Namun, keamanan dapat ditingkatkan jika bit pada acak yang ditambahkan ke setiap blok. Di sisi lain, 64 bit atau blok yang lebih besar harus berisi karakteristik yang cukup unik untuk membuat serangan mungkin untuk berhasil. Keamanan data SMS sangat diperlukan baik itu dalam urusan pribadi maupun bisnis. Keamanan data SMS diperlukan untuk memberikan perlindungan isi sms agar tidak bisa dibaca oleh orang lain yang tidak dikehendaki dan hanya orang tertentu saja yang bisa membaca SMS tersebut. 2. Landasan Teori 2.1 International Data Encryption Algorithma (IDEA) Pada tahun 1990, Xuejia Lai dan James Massey dari Federal Intitute Teknologi Swiss menemukan blol kode baru.Pada versi aslinya, blok algoritma oriented encryption disebut dengan PES (Propose Encryption Standard). PES masih lemah terhadap serangan kriptografi diferensial. Pada tahun 1992, revisi PES menjadi IDEA ( International Data Encryption Standart) yang merupakan blok kode dengan panjang blok teks-asli 64-bit dan panjang kunci 128 bit.. Algoritma IDEA bisa ddigunakan enkripsidan deskripsi sebagaimana enkripsi algoritma lainnya. IDEA menggunakan konfusi/pembingungan (confusion) dari teks terang sehingga sulit untuk secara langsung tanpa menggunakan algoritma dekripsinya dan difusi/peleburan (diffusion), dari teks terang sehingga karakteristik dari teks terang tersebut hilang. Berbeda dengan DES yang menggunakan permutasidan substitusi. Dari kunci yang mempunyai panjang128 bit dibangkitkan 52 upa kunci. Algoritma IDEA menggunakan 52 upa-kunci dan 16 bit kunci per blok. Contoh,enam upa kunci untuk putaran 1, 4 dan 8 dan 9 untuk tranformasi keluaran. IDEA menggunakan aljabar yang tidak kompatibel seperti XOR, penambahan modulo perkalian modulo (operasi menggunakan kotak S Box). Urutan operasi pada algoritma IDEA seperti dibawah ini: 1. Perkalian X dengan sub-kunci pertama
4.
Perkalian X dengan sub kunci keempat 4
5. Operasi XOR hasil langkah (1 dan 3) 6. Operasi XOR hasil angkah (2dan 4) 7. Perkalian hasil langkah (5 dengan sub-kunci kelima ) 8. Penjumlahan hasil langkah (6 dengan langkah 7) 9. Perkalian hasil langkah (8 dengan sub-kunci keenam 10. Penjumlahan hasil langah (7 dengan 9) 11. Operasi XOR hasil langkah (1dan 9) 12. Operasi XOR hasil langkah (3 dan 9) 13. Operasi XOR hasil langkah 2) dan 10) 14. Operasi XOR hasil langkah 4) dan 10) (Sumber :Donny Arius, Computer Security,2006, h:129) 2.1.1 Pembentukan Kunci Proses pembentukan ini dimulai dengan membagi 128 bit key menjadi 8 buah 16 bit subkey.Ini merupakan delapan subkey pertama untuk algoritma dengan perincian enam subkey pertama untuk putaran (round) 1 dan dua subkey terakhir untuk putaran 2.Key dirotasikan 25 bit ke kiri dan dibagi menjadi 8 subkey lagi.Ini merupakan delapan subkey kedua untuk algoritma dengan perincian empat subkey pertama untuk putaran 2 dan empat subkey terakhir untuk putaran 3.Algoritma hanya menggunakan 52 buah subkey dengan perincian 6 buah subkey untuk 8 putaran ditambah 4 buah subkey untuk transformasi output. 2.1.2 Enkripsi IDEA Proses enkripsi algoritma IDEA adalah sebagai berikut, pertama-tamaplaintext 64 bit dibagi menjadi 4 buah sub blok dengan panjang 16 bit, yaitu X1,X2,X3,X4. Empat sub blok ini akan menjadi masukan pada putaran pertama algoritma. Pada setiap putaran, 4 sub blok di-XOR-kan, ditambahkan, dikalikan dengan yang lain dan dengan 6 buah subkey 16 bit. Diantara putaran sub blok kedua dan ketiga saling dipertukarkan. Akhirnya 4 buah sub blok dikombinasikan dengan 4 subkey dalam transformasi output. Skema standar dari IDEA adalah seperti gambar di bawah ini : Plainteks X=X1, X2, X3,X4
1
2.
Penjumlahan X dengan sub-kunci kedua
3.
Pejumlahan X dengan sub kunci ketiga
2
3
Sistem Pengamanan Pesan Sms Menggunakan Internasional Data Encryption Algorithm. Oleh : Lestiana Marpaung
75
Pelita Informatika Budi Darma, Volume : V, Nomor: 2, Desember 2013
Chiperteks: Y=Y1, Y2, Y3, Y4 Gambar 1 : Skema Enkripsi IDEA. Skema diatas mempunyai dua masukan untuk mendapatkan keluaran teks kode, yaitu blok teks dan kunci enkripsi. IDEA tidak sama dengan DES( yang menggunakan operasi XOR dan kotak S non-linear). Pada algoritma IDEA, teks-asli mempunyai panjang 64 bit dan kunci 128 bit. Metodologi dari algoritma IDEA menggunakan operasi yang berbeda seperti dibawah ini: ⊕ : Bit per bit XOR 16 bit sub-blok. + :Penambahan 16 bit integer modulo . X : Perkalian 16 bit integer modulo IDEA menggunakan konfusi dan difusi yang mempunyai tiga operator yang berbeda dengan DES yang menggunakan permutasi dan substitusi. Sebagai contoh, untuk inversi aditif modulo 2= , dimana notasi dari Zi merupakan invers aditif untuk multiplikasi invers modulo +1 ,Zi x =1 dimana notasi merupakan multiplikasi invers. 3. Pembahasan 3.1 Pembahasan Proses IDEA Proses penyelesaian metoda kriptografi IDEA ini dapat dibagi menjadi 3 tahapan yaitu: 1. Proses Pembentukan Kunci 2. Proses Enkripsi 3. Proses Dekripsi
SSN : 2301-9425
PUTARAN – 2 Pada putaran ke 2 lakukan 25 bit rotasi kiri hasil dari putaran 1 dan pecah menjadi 8 kelompok. Seperti yang dapat dilihat berikut ini : Rotasikiri(53544D494B2020425544494441524D41,2 5)=9296404084AA8928882A6A89A Pecah menjadi 8 kelompok : KE3 (Putaran 2) = 9296 KE4 (Putaran 2) = 4040 KE5 (Putaran 2) = 84AA KE6 (Putaran 2) = 8892 KE1 (Putaran 3) = 8882 KE2 (Putaran 3) = A49A KE3 (Putaran 3) = 82A6 KE4 (Putaran 3) = A89A PUTARAN – 3 Pada putaran ke 3 lakukan 25 bit rotasi kiri hasil dari putaran 2 dan pecah menjadi 8 kelompok. Seperti yang dapat dilihat berikut ini : Rotasikiri(9296404084AA88928882A49A82A6A89A ,25)=810955112511054935054D5135252C80 Pecah menjadi 8 kelompok : KE5 (Putaran 3) = 8109 KE6 (Putaran 3) = 5511 KE1 (Putaran 4) = 2511 KE2 (Putaran 4) = 0549 KE3 (Putaran 4) = 3505 KE4 (Putaran 4) = 4D51 KE5 (Putaran 4) = 3525 KE6 (Putaran 4) = 2C80 PUTARAN – 4 Pada putaran ke 4 lakukan 25 bit rotasi kiri hasil dari putaran 3 dan pecah menjadi 8 kelompok. Seperti yang dapat dilihat berikut ini : Rotasikiri(810955112511054935054D5135252C80,25 )=224A220A926A0A9AA26A4A59010212AA Pecah menjadi 8 kelompok : KE1 (Putaran 5) = 224A KE2 (Putaran 5) = 220A KE3 (Putaran 5) = 926A KE4 (Putaran 5) = 0A9A KE5 (Putaran 5) = A26A KE6 (Putaran 5) = 4A59 KE1 (Putaran 6) = 0102 KE2 (Putaran 6) = 12AA PUTARAN – 5 Pada putaran ke 5 lakukan 25 bit rotasi kiri hasil dari putaran 4 dan pecah menjadi 8 kelompok. Seperti yang dapat dilihat berikut ini : Rotasikiri(224A220A926A0A9AA26A4A59010212A A,25)=1524D4153544D494B202042554449444 Pecah menjadi 8 kelompok : KE3 (Putaran 6) = 1524 KE4 (Putaran 6) = D415 KE5 (Putaran 6) = 3544 KE6 (Putaran 6) = D494 KE1 (Putaran 7) = B202 KE2 (Putaran 7) = 0425 KE3 (Putaran 7) = 5444 KE4 (Putaran 7) = 9444
3.1.1 Proses Pembentukan Kunci Metoda IDEA memiliki input 128 bit kunci (key) yang identik dengan 32 digit heksa desimal ataupun 16 karakter yang diproses untuk menghasilkan 52 buah subkey dengan perincian masing-masing 6 buah subkey akan digunakan pada 8 putaran dan 4 buah subkey untuk transformasi output. Untuk lebih memahami proses pembentukan kunci pada metoda IDEA, diberikan sebuah contoh berikut ini. Misalkan plaintext yang ditetapkan pada aplikasi Pengamanan Pesan Teks adalah: ‘LESTIANA’ Proses pembentukan kuncinya adalah sebagai berikut: PUTARAN – 1 Pada putaran 1 setiap karakter kunci dirubah ke bilangan Hexa desimal sehingga hasilnya sebagai berikut : INPUT KUNCI : 53544D494B2020425544494441524D41 Pecah menjadi 8 kelompok : KE1 (Putaran 1) = 5354 KE2 (Putaran 1) = 4D49 KE3 (Putaran 1) = 4B20 KE4 (Putaran 1) = 2042 KE5 (Putaran 1) = 5544 KE6 (Putaran 1) = 4944 KE1 (Putaran 2) = 4152 KE2 (Putaran 2) = 4D41 Sistem Pengamanan Pesan Sms Menggunakan Internasional Data Encryption Algorithm. Oleh : Lestiana Marpaung
76
Pelita Informatika Budi Darma, Volume : V, Nomor: 2, Desember 2013
Proses
PUTARAN – 6 Pada putaran ke 6 lakukan 25 bit rotasi kiri hasil dari putaran 5 dan pecah menjadi 8 kelompok. Seperti yang dapat dilihat berikut ini : Rotasikiri(1524D4153544D494B202042554449444,2 5)=2A6A89A9296404084AA88928882A49A8 Pecah menjadi 8 kelompok : KE5 (Putaran 7) = 2A6A KE6 (Putaran 7) = 89A9 KE1 (Putaran 8) = 2964 KE2 (Putaran 8) = 0408 KE3 (Putaran 8) = 4AA8 KE4 (Putaran 8) = 8928 KE5 (Putaran 8) = 882A KE6 (Putaran 8) = 49A8 PUTARAN – 7 Pada putaran ke 7 lakukan 25 bit rotasi kiri hasil dari putaran 6 dan pecah menjadi 8 kelompok. Seperti yang dapat dilihat berikut ini : Rotasikiri(2A6A89A9296404084AA88928882A49A8 ,25)=5252C80810955112511054935054D513 Pecah menjadi 8 kelompok (4 kelompok terakhir tidak digunakan) : KE1 (Transformasi Output) = 5252 KE2 (Transformasi Output) = C808 KE3 (Transformasi Output) = 1095 KE4 (Transformasi Output) = 5112 4. Algoritma Algoritma adalah merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah – perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. 1. Algoritma Pembentukan Kunci Berikut ini merupakan algoritma dari proses pembentukan kunci IDEA. Input : Teks Kunci(Key) Output : Kunci Proses : 'Panjang kunci harus 16 karakter If Len(Key) <> 16 Then Message "Panjang kunci harus 16 karakter!" Exit End If 'Biner kunci - 128 bit Kunci = "" For i = 1 To Len(Key) Ti = Ti & FDec2Biner(Asc(Mid(Key,i,1)),8) Next i Kunci= T1 & T2 & T3 & T4 2. Algoritma Proses Enkripsi Berikut ini merupakan algoritma dari proses enkripsi IDEA. Input : Plaintext, Kunci Output : Ciphertext
SSN : 2301-9425
3.
: If Len(Plaintext) <> 8 Then MsgBox "Panjang text harus 8 karakter !" Exit Function End If 'Biner text - 64 bit strBinerText = "" For i = 1 To Len(Plaintext) strBinerText=strBinerText*kunci&D ec2Biner(Asc(Mid(Plaintext, i 1)), 8) Next i 'Kelompokan ke 4 sub blok X j=0 For i = 1 To 64 Step 16 j=j+1 X(j) = Mid(strBinerText, i, 16) Next i 'Lakukan sebanyak 8 putaran For i = 1 To 8 'Simpan hasil X X1(i) = X(1) X2(i) = X(2) X3(i) = X(3) X4(i) = X(4) Next i Ciphertext = X1 & X2 & X3 & X4 Algoritma Dekripsi Berikut ini merupakan algoritma deskripsi dari IDEA. Input : Ciphertext, Kunci Output : Plaintext Proses : 'Panjang text harus 8 karakter If Len(Ciphertext) <> 8 Then MsgBox "Panjang text harus 8 karakter !" Exit Function End If 'Biner text - 64 bit strBinerText = "" For i = 1 To Len(Ciphertext) strBinerText = strBinerText* kunci&FDec2Biner (Asc(Mid(Ciphertext, i,1)), 8) Next i 'Kelompokkan ke 4 sub blok X j=0 For i = 1 To 64 Step 16 j=j+1 X(j) = Mid(strBinerText, i, 16) Next i 'Lakukan sebanyak 8 putaran For i = 1 To 8 'Simpan hasil X X1(10) = Hasil(1) X2(10) = Hasil(2) X3(10) = Hasil(3)
Sistem Pengamanan Pesan Sms Menggunakan Internasional Data Encryption Algorithm. Oleh : Lestiana Marpaung
77
Pelita Informatika Budi Darma, Volume : V, Nomor: 2, Desember 2013
X4(10) = Hasil(4) '---- Konversi Ke Ascii ---strHasil = "" cTmp1 = Hasil(1) & Hasil(2) & Hasil(3) & Hasil(4) For i = 1 To 64 Step 8 strHasil = strHasil & Chr(FBiner2Dec(Mid(cTmp1, i, 8))) Next i Plaintext=strHasil 5. Kesimpulan Dan Saran 5.1 Kesimpulan Setelah melalui proses penyelesaian tugas akhir (skripsi) yang berjudul ‘Sistem Pengamanan Pesan SMS Pada Handphone Menggunakan Pesan SMS Pada Handphone Menggunakan International Data Encryption Algorithma, penulis menarik kesimpulan sebagai berikut : 1. Proses mengamankan isi Pesan SMS dilakukan dengan cara mengenkripsi dan mendekripsi isi Pesan SMS. 2. Penerapan Algorithma IDEA ini dilakukan dengan cara mengubah isi Pesan SMS dan kunci ke bilangan Hexa Desimal yang berupa blok pesan rahasia.Dan melakukan pembentukan kunci, kemudian dibagi menjadi 4 blok, selanjutnya lakukan perputaran sebanyak 8 putaran lalu geser sebanyak 25 bit kekiri 3. Sistem dirancang dengan menggunakan J2ME sehingga privasi pengguna lebih terjamin dalam penyimpanan Pesan SMS pada Handphone.
SSN : 2301-9425
[4]. Jogiyanto Hartono, Pengenalan Komputer, Penerbit Andi, 2004 [5]. Jogiyanto Hartanto, “Analisis dan Desain Sistem”, Penernit Andi Yogyakarta, 2005. [6]. Jennifer Seberpy, Jojef Pieprzyk, Cryptography : An Introduction to Computer Security. [7]. Jusuf Kurniawan, Kriptografi, Keamanan Internet dan Jaringan Komunikasi, Penerbit Informatika Bandung, 2004. [8]. encryption-security.com/directory/internationaldata-encryption-algorithm. [9]. http://www.cs.nps.navy.mil/curricula/tracks/securi ty/notes/chap04_43.html. [10]. http://www.kajianpustaka.com/2012/12/teorisms-short messageservice.html.
5.2 Saran Penulis ingin memberikan beberapa saran yang mungkin berguna untuk pengembangan lebih lanjut pada Sistem Pengamanan Pesan SMS Menggunakan International Data Encryption Algorithma (IDEA) yaitu : 1. Perangkat lunak dapat dikembangkan agar dapat digabungkan dengan metode kriptografi DES, 3DES dan yang lainnya. 2. Saran yang ingin disampaikan penulis adalah mengembangkan aplikasi pengamanan SMS agar dapat mengamankan pesan yang dikirim maupun yang diterima tidak hanya pada Handphone tetapi dapat juga diterapkan pada e-mail. 3. Perangkat lunak tidak hanya mengamankan pesan text,tetapi dapat juga mengamankan pesan gambar. Daftar Pustaka [1]. Donny Ariyus, Keamanan Data dan Komunikasi. PT. Elex Media Komputindo, 2001. [2]. Bruce Schneier, Applied Crytography, Second Edition, John Willey and Sons Inc., 1996. [3]. Donny Ariyus, Computer Security. CV. ANDI OFFSET, 2006. Sistem Pengamanan Pesan Sms Menggunakan Internasional Data Encryption Algorithm. Oleh : Lestiana Marpaung
78