• Tidak ada hasil yang ditemukan

Implementasi AES dan Rabin pada Aplikasi Klien Surel Perangkat Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi AES dan Rabin pada Aplikasi Klien Surel Perangkat Android"

Copied!
14
0
0

Teks penuh

(1)

Pada bab ini, akan dibahas landasan teori, penelitian terdahulu, konsep dasar dan hipotesis yang mendasari penyelesaian permasalahan pengamanan surel pada aplikasi

Secure Message yang akan dibuat.

2.1. Pertukaran Data

Pada aplikasi klien surel umumnya terjadi pertukaran data, dapat berupa pesan teks, suara dan dapat pula berupa gambar. Maksud dari pertukaran data disini adalah proses pengiriman data yang berupa teks, suara atau gambar dari pengguna messenger satu ke pengguna messenger lainnya, dimana data yang dikirimkan akan disimpan terlebih dahulu ke server dan dari server akan dikirim ke penerima data tersebut. Karena proses ini penulis dapat mengambil kesimpulan bahwasanya pertukaran data pada aplikasi klien surel sangat rentan terhadap kejahatan maya seperti data dicuri dan atau data dibajak oleh pihak yang tidak berkepentingan.

2.2. Keamanan Informasi

Informasi saat ini sudah menjadi sebuah komoditi yang sangat penting bagi sebuah organisasi, perguruan tinggi, lembaga pemerintahan maupun individual, kemampuan dalam mengakses dan menyediakan informasi secara cepat serta akurat (Rahardjo, 2005). Karena pentingnya sebuah informasi, seringkali informasi yang diinginkan hanya dapat diakses oleh orang tertentu misalnya pihak penerima yang diinginkan, dan jika informasi ini sampai diterima oleh pihak yang tidak diinginkan akan berdampak kerugian pada pihak pengirim.

Keamanan informasi adalah bagaimana kita dapat mencegah penipuan, atau paling tidak mendeteksi adanya penipuan di sebuah sistem yang berbasis informasi,

(2)

Untuk itu diperlukanlah sebuah pendekatan dalam melakukan pengamanan

pada informasi, seperti melakukan enkripsi, steganografi, cipher dan hashing terhadap informasi tersebut.

2.3. Android

Menurut (Safaat, 2012), Android adalah sebuah sistem operasi untuk perangkat lunak mobile berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka.

2.5.1 Arsitektur android

Secara garis besar arsitektur Android dapat dilihat pada Gambar 2.1 :

Gambar 2.1. Arsitektur android (Safaat 2012)

a. Application dan Widgets

(3)

b. Application Frameworks

Android adalah “Open Development Platform” yaitu Android menawarkan

kepada pengembang atau memberi kemampuan kepada pengembang untuk membangun aplikasi yang baik dan inovatif. Pengembang bebas untuk mengakses perangkat keras, akses informasi resources, menjalankan service background, mengatur alarm, dan menambahkan status notification, dan sebagainya. Pengembang memiliki akses penuh menuju API framework seperti yang dialakukan oleh aplikasi inti. Arsitektur aplikasi dirancang supaya kita dengan mudah dapat menggunakan kembali komponen yang sudah digunakan (reuse) (Safaat, 2012).

Adapun komponen-komponen yang termasuk didalam Applications Frameworks adalah sebagai berikut :

- Views

- Content Provider

- Resources Manager

- Notification Manager

- Activity Manager

c. Libraries

Libraries ini adalah layer dimana fitur-fitur android berada, biasanya para pembuat aplikasi mengakses library untuk menjalankan aplikasinya (Safaat,

2012). Berjalan diatas kernel, layer ini meliputi berbagai library C/C+ + inti seperti Libe dan SSL, serta :

- Libraries media untuk pemutaran media audio dan video - Libraries untuk manajemen tampilan

- Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D - Libraries SQLite untuk dukungan database

- Libraries SSL dan Webkit terintegrasi dengan web browser dan security

- Libraries Live Webcore mencakup modern web browser dengan engine embeeded web view

(4)

d. Android Run Time

Layer yang membuat aplikasi Android dapat dijalankan dimana dalam prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine (DVM) merupakan mesin yang membentuk kerangka dasar aplikasi android (Safaat, 2012). Didalam android run time dibagi menjadi dua bagian yaitu :

- Core Libraries : Aplikasi android dibangun dalam bahasa java, sementara

dalvik sebagai virtual mesinnya bukan virtual machine java, sehingga diperlukan sebuah libraries yang berfungsi menerjemahkan bahasa java/c yang ditangani oleh core libraries.

- Dalvik Virtual Machine : Virtual mesin berbasis register yang dioptamilkan untuk menjalankan fungsi-fungsi secara effisien, dimana merupakan pengembangan yang mampu membuat linux kernel untuk melakukan threading

dan manajemen tingkat rendah.

e. Linux Kernel

Linux kernel adalah layer dimana inti dari operating sistem dari Android itu berada. Berisi file-file system yang mengatur sistem processing, memory,

resource, drivers, dan sistem-sistem operasi android lainnya. Linux kernel yang digunakan android adalah linux kernel realese 2.6 (Safaat, 2012).

2.4. Kriptografi

Menurut Sadikin (2012), kriptografi adalah ilmu yang bersandarkan pada teknik matematika yang berurusan dengan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas.

(5)

1. Fungsi Hash

Fungsi hash adalah fungsi yang melakukan pemetaan pesan dengan panjang sembarang ke sebuah teks khusus yang disebut message digest dengan panjang yang tetap. Fungsi hash pada umumnya digunakan untuk menguji keutuhan pada sebuah data serta sebagai tanda tangan digital untuk menjamin keaslian dokumen (Sadikin, 2012).

2. Penyandian dengan kunci simetris

Penyandian dengan kunci simetris adalah penyandian yang menggunakan sebuah kunci yang sama pada proses enkripsi dan dekripsinya. Kunci yang digunakan pada proses enkripsi dan dekripsi bersifat rahasia. Beberapa jenis kriptografi dengan penyandian kunci simetris antara lain Data Encryption

Standard (DES), 3DES, Advance Encryption Standard (AES), Blowfish dan

International Data Encryption Algorithm (IDEA) (Sadikin, 2012).

3. Penyandian dengan kunci asimetris

Penyandian dengan kunci asimetris adalah penyandian yang memiliki kunci yang berbeda pada proses enkripsi dan dekripsinya. Pada kunci yang digunakan untuk enkripsi bersifat publik (public key). Kunci publik bebas disebarluaskan ke public. Sedangkan kunci yang digunakan untuk dekripsi bersifat rahasia (private key). Beberapa jenis kriptografi dengan penyandian kunci asimetris antara lain RSA, Diffie-Helman, ELGamal, Rabin, dan beberapa penerapan teknik Elliptic Curve (Sadikin, 2012).

(6)

Karena semakin berkembangnya pertukaran data, khususnya dalam wireless dan local

area network (LAN), hal ini memberi kesempatan yang besar untuk mencegat data dan memalsukan pesan. Salah satu yang mudah untuk menjaga keamanan dan keintegritasan informasi antara pengirim dan penerima adalah dengan menggunakan

kriptografi kunci privat.

Algoritma AES merupakan algoritma blok cipher yang didesain oleh Joan Daemen dan Vincent Rijment (Daemen,1999). Kunci AES dapat memiliki panjang kunci 128,192, dan 256 bit. Penyandian AES menggunakan proses yang berulang yang disebut dengan ronde. Jumlah ronde yang digunakan tergantung dengan panjang kunci yang digunakan. Kunci ronde dibangkitkan berdasarkan kunci yang diberikan.

Proses didalam AES adalah transformasi terhadap state yang merupakan blok(128 bit) yang ditata menjadi matriks byte berukuran 4x4. State yang menjadi keluaran ronde k menjadi masukan untuk ronde k+1.

Tahapan Algoritma AES (Sadikin, 2012):

1. Pra-ronde,blok teks asli dicampur dengan kunci ronde ke-0(transformasi ini disebut AddRoundKey).

2. Proses ronde 1 hingga ke ronde (n-1), yang masing-masing terdiri atas 4 jenis transformasi, yaitu SubBytes, ShiftRows, MixColumns, dan AddRoundKey. 3. Ronde n, dilakukan transformasi seperti ronde sebelumnya namun tanpa

transformasi MixColumns.

Detail transformasi yang digunakan pada proses enkripsi akan dijelaskan pada bahasan selanjutnya.

A. SubBytes Transformation

Transformasi SubBytes menggunakan tabel substitusi, yaitu dengan cara

(7)

Tabel 2.1 Tabel substitusi untuk transformasi SubBytes(Sadikin,2012)

0 1 2 3 4 5 6 7 8 9 A B C D E F

0 63 7C 77 7B F2 6B 6F C5 30 01 67 2B FE D7 AB 76

1 CA 82 C9 7D FA 59 47 F0 AD D4 A2 AF 9C A4 72 C0

2 B7 FD 93 26 36 3F F7 CC 34 A5 E5 F1 71 D8 31 15

3 04 C7 23 C3 18 96 05 9A 07 12 80 E2 EB 27 B2 75

4 09 83 2C 1A 1B 6E 5A A0 52 3B D6 B3 29 E3 2F 84

5 53 D1 00 ED 20 FC B1 5B 6A CB BE 39 4A 4C 58 CF

6 D0 EF AA FB 43 4D 33 85 45 F9 02 7F 50 3C 9F A8

7 51 A3 40 8F 92 9D 38 F5 BC B6 DA 21 10 FF F3 D2

8 CD 0C 13 EC 5F 97 44 17 C4 A7 7E 3D 64 5D 19 73

9 60 81 4F DC 22 2A 90 88 46 EE B8 14 DE 5E 0B DB

A E0 32 3A 0A 49 06 24 5C C2 D3 AC 62 91 95 E4 79

B E7 C8 37 6D 8D D5 4E A9 6C 56 F4 EA 65 7A AE 08

C BA 78 25 2E 1C A6 B4 C6 E8 DD 74 1F 4B BD 8B 8A

(8)

E E1 F8 98 11 69 D9 83 94 9B 1E 87 E9 CE 55 28 DF

F 8C A1 89 0D BF E6 42 68 41 99 2D 0F B0 54 BB 16

B. ShiftRows Transformation

Transformasi ShiftRows dilakukan dengan menjalankan operasi circular shift left

sebanyak i pada baris ke-i pada state. Ilustrasi transformasi ShiftRows dapat dilihat

Transformasi MixColumns akan mencampurkan nilai kolom kolom pada state awal dengan suatu perkalian matriks dengan sebuah matriks konstan yang ditunjukkan pada Gambar 2.3

Untuk kolom ke-j, dengan j={0,1,2,3} pada keluaran transformasi

(9)

⨁ ⨁

⨁ ⨁

⨁ ⨁

D. AddRoundKey Transformation

Transformasi AddRoundKey mencampur sebuah state masukan dengan kunci ronde dengan operasi eksklusif OR. Setiap elemen pada state masukan yang merupakan sebuah byte dikenakan operasi eksklusif OR dengan byte pada posisi yang sama di kunci ronde(kunci ronde direpresentasikan sebagai sebuah state).

E. KeyExpansion

Langkah-langkah ekspansi kunci AES 128-bit dijelaskan pada algoritma dibawah ini

Input: byte kunci[16]

Output:word w[44]

word temp

For i=0 to 3 do

w[i]= (kunci[4*i], kunci[4*i+1] , kunci[4*i+2] , kunci[4*i+3])

End For

For i=4 to 43 do

temp = w[i-1]

If i%4 = 0 then

temp= SubWord(RotWord(temp)) + RC[i/4]

End If

w[i] = temp + w[i-4]

(10)

Dari algoritma diatas, bisa dilihat proses ini akan menerima input berupa kunci awal

yang akan menghasilkan 44 word kunci dengan 4 word kunci untuk setiap ronde. Pertama sekali kunci AES 128-bit akan diorganisir menjadi 4 word dan disalin ke

word keluaran pada 4 elemen pertama(w[0],w[1],w[2],w[3]). Untuk elemen keluaran selanjutnya w[i] dengan i = {4,…,43} dihitung sebagai berikut

1. Salin w[i-1] pada word t (2.2)

2. Jika i mod 4=0 lakukan

w[i]=f(t,i) XOR w[i-4]

dengan fungsi f(t,i) adalah sebagai berikut

f(t,i) = SubWord(RotWord(t)) XOR RC[i/4]

Konstan RC[i] ditunjukkan pada tabel 2.2

Tabel 2.2 Konstan RC dalam heksadesimal(Sadikin,2012)

i 1 2 3 4 5 6 7 8 9 10

RC[i] 01 02 04 05 10 20 40 80 1B 3C

3. Jika i mod 4 !=0, lakukan

w[i] = t XOR w[i-4]

(11)

menerapkan konsep dimana mendapatkan keseluruhan plaintext dari cyphertext

memiliki kesulitan yang sama dalam faktorisasi.

Rumus dasar dari metode enkripsi dan dekripsi Rabin adalah

(2.3)

Dan

Penjelasan:

N = p * q*(kunci publik)

p dan q = Bilangan prima(kunci privat)

M = Plaintext

C = Ciphertext

Tahapan Algoritma Rabin

1. Pilih dua bilangan prima secara acak dan tidak sama. 2. Hitung perkalian p dan q, simpan dalam variabel n. 3. Rahasiakan p, q.

4. Kirimkan n dan C .

2.5. Sistem Surat Elektronik (Surel)

(12)

atau jaringan LAN. Pada masa awal pengembangannya, baik penerima maupun

pengirim harus online secara bersamaan, yang sekarang mirip dengan instant messaging.

Sistem surel modern didasari pada model store dan forward, dimana server

akan menyimpan setiap surel yang dikirim sebelum meneruskan pada penerima. Hal ini membuat setiap pengguna tidak diharuskan terus online , mereka cukup terhubung dengan server surel selama yang dibutuhkan untuk mengirim atau menerima surel.

Sistem surel modern terbagi menjadi dua bagian (Partige, 2008). Bagian pertama adalah MHS (message handling system). MHS adalah bagian yang bertanggung jawab menangani masalah pengiriman surel dari pengirim kepada penerima, dan terbentuk dari suatu set server yaitu MTA(message tranfer agent) Bagian lainnya yaitu UA, berfungsi sebagai media interaksi pengguna surel dengan sistem surel. Melalui UA pengguna dapat membuat , menyimpan dan membaca surel. UA juga yang berinteraksi dengan MHS agar surel dapat dikirimkan.Salah satu contoh UA adalah aplikasi klien surel.

Surel dikirim dengan menggunakan protokol SMTP. Protokol inididesain dengan model sebagai berikut (Postel, 1982): pihakpengirim membuat jalur komunikasi dengan penerima; pihak pengirim mengirimkan perintah MAIL sebagai tanda bahwa ia adalah pengirim; penerima membalas dengan perintah OK jika layanan bisa dijalankan; pengirim mengirimkan perintah RCPT yang menjelaskan

penerima surel; jika penerima dapat mengenal penerima surel maka balasan yang diberikan adalah OK; jika tidak maka penerima membalas ia tidak mengenal penerima

surel. Kemudian pengirim mengirim perintah DATA diikuti dengan isi surel dan diakhiri tanda titik. Keseluruhan proses diatas dilakukan satu persatu.

Surel dapat diterima dengan menggunakan protokol POP3 (post office protocol) atau IMAP (internet message access protocol). Protokol IMAP memungkinkan pengguna surel dapat menyuting dan memodifikasi surel secara langsung di server. Berbeda dengan POP3 yang mengharuskan pengguna untuk mengunduh seluruh surel di kotak masuk sebelum dibaca. Karenanya protokol IMAP membutuhkan koneksi yang lebih stabil dibandingkan POP3.

(13)

3. badan pesan dalam banyak bagian

4. informasi header tekstual dalam rangkaian karakter selain US-ASCII.

2.6. Penelitian Terdahulu

Beberapa penelitian yang menjadi bahan pembelajaran penulis tentang penyelesaian masalah keamanan dalam pertukaran pesan.

Taufan (2011) telah mencoba mengamankan email dengan menggunakan algoritma ElGamal. Ia merancang aplikasi pada perangkat mobile yang dapat menggunakan algoritma ElGamal pada proses enkripsi dan dekripsi surel. Hasilnya

email yang dikirimkan dapat terlindungi hingga sampai ke penerima.

Connely (2008) telah menerapkan algoritma One Time Pad untuk mengamankan email. Connely menerapkan sandi One Time Pad dan teknik TRNG (True Random Number Generator) untuk menghasilkan nilai yang benar-benar

random sebagai kunci One Time Pad. Hasilnya email yang dienkripsi benar-benar rahasia, atau perfect secrecy.

Rasool et al (2011) telah mencoba meningkatkan algoritma keamanan dalam komunikasi pesan. Rasool et al, menerapkan kombinasi dari algoritma kunci simetris

FSET (algoritma yang dibuat oleh Varghese Paul), algoritma kunci publik RSA dan teknik hashing menggunakan SHA-2. Hasilnya komunikasi pesan menjadi rahasia

karena telah dienkripsi menggunakan FSET, kemudian kunci yang digunakan telah dienkripsi oleh RSA, untuk mengetahui apakah pesan asli masih terbukti valid, mereka melakukan pengujian menggunakan SHA-2.

Leksono (2012) telah mencoba menerapkan Rabbit sebagai pengamanan sistem klien email. Hasilnya email yang dikirimkan dapat terlindungi hingga sampai ke penerima.

Supriyanto (2009) juga menerapkan RSA dalam pengamanan email

dikombinasikan dengan teknik hashing menggunakan SHA-1. Hasilnya email

terlindungi walaupun belum dilakukan pengujian dalam pengiriman email tersebut.

(14)

No Peneliti Penelitian Algoritma Hasil

1 Taufan (2011) Mengamankan

email ElGamal Aman

2 Connely (2008)

Mengamankan

email One Time Pad Aman

3 Rasool et al (2011)

Mengamankan pesan

FSET, RSA, dan

SHA-2 Sangat aman

4

Leksono

(2012)

Mengamankan

email

Rabbit Aman

5 Supriyanto (2009)

Mengamankan

Gambar

Gambar 2.1. Arsitektur android (Safaat 2012)
Tabel 2.1 Tabel substitusi untuk transformasi SubBytes(Sadikin,2012)
Gambar 2.2 Transformasi ShiftRows(Sadikin,2012)
Tabel 2.2 Konstan RC dalam heksadesimal(Sadikin,2012)

Referensi

Dokumen terkait

Dengan analisa SWOT dan IE-Matrix, disarankan beberapa hal, yaitu: strategi market intensive dilakukan melalui penetrasi pasar dan pengembangan pasar; mengembangkan

[r]

Pada waktu meluncur, anggota badan yang masuk ke dalam air lebih dahulu

TOPIK : Peningkatan Akesbilitas Pendidikan bagi Siswa Mitra Warga dan Berkebutuhan Khusus. Asal

(2010) dalam jurnalnya yang berjudul “The Effect of the Virtual Laboratory on Students’ Achievement and Attitude in Chemistry” meneliti ihwal kegiatan laboratorium pendidikan

Reseptor dalam kamus kesehatan merupakan sebuahselsensoriskhusus yang meresponjenis stimulus tertentuseperticahaya, suara, ataumolekulbau,

Melakukan pemeriksaan/pengujian hasil pekerjaan pengadaan barang/jasa sesuai dengan ketentuan yang tercantum dalam Surat Perintah Kerja (SPK) khusus untuk pengadaan

menggunakan zip upload maka otomatis file zip akan diekstraksi, Ini sangat berguna jika kita ingin menguload file yang banyak, yaitu dengan cara memampatkan file-file tersebut ke