IMPLEMENTATION OF CRYPTOGRAPHY USING ADVANCE...

35
IMPLEMENTATION OF CRYPTOGRAPHY USING ADVANCE ENCRYPTION STANDARD(AES) ON REMOTING SERVER DESKTOP APPLICATION BY MOBILE PHONE Zhilal El-haq Mubarak Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Gunadarma, Margonda Raya 100 Depok 16424 telp (021) 78881112, 7863788 Abstrak : Kriptografi menjadi suatu bagian yang tidak dapat dipisahkan dari sistem keamanan jaringan pada era informasi global. Terdapat banyak parameter pada sistem kriptografi, sebagai contoh : tingkat keamanan algoritma, flexibility, distribusi frekuensi kemunculan karakter, variansi distribusi, avalanche effect, brute force attack dan waktu eksekusi data. Parameter tersebut dapat menjadi panduan bagi pengguna untuk menyesuaikan algoritma terhadap tingkat kebutuhan sistem kriptografi. Algoritma Advanced Encryption Standard (AES) merupakan contoh algoritma kriptografi berbasis blok cipher dimana pada kedua algoritma tersebut terdapat beberapa kesamaan yaitu, jenis kunci adalah kunci simetris, ukuran blok data senilai 128 bit dan panjang kunci dengan nilai 128, 192 dan 256 bit. Pada tugas akhir ini dilakukan penerapan AES pada aplikasi pengendalian jarak jauh komputer server melalui telepon genggam. Parameter performansi yang diukur meliputi tingkat keamanan, perbandingan dengan algoritma lain dan avalanche effect. Penerapan sebenarnya pada tugas akhir ini menggunakan bahasa pemrograman Java. Abstract : Cryptography becomes a fully integrated part of network security system in global information era. There are some parameters for cryptography system, they are level of algorithm security, flexibility, characters appearance distribution frequency, distribution variance, avalanche effect. Those parameters are then could be uses as the guidance for the users to choose the suitable cryptography system based on their needs.

Transcript of IMPLEMENTATION OF CRYPTOGRAPHY USING ADVANCE...

IMPLEMENTATION OF CRYPTOGRAPHY USING ADVANCE ENCRYPTION

STANDARD(AES) ON REMOTING SERVER DESKTOP

APPLICATION BY MOBILE PHONE

Zhilal El-haq Mubarak

Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Gunadarma, Margonda

Raya 100 Depok 16424 telp (021) 78881112, 7863788

Abstrak :

Kriptografi menjadi suatu bagian yang tidak dapat dipisahkan dari sistem keamanan

jaringan pada era informasi global. Terdapat banyak parameter pada sistem kriptografi, sebagai

contoh : tingkat keamanan algoritma, flexibility, distribusi frekuensi kemunculan karakter,

variansi distribusi, avalanche effect, brute force attack dan waktu eksekusi data. Parameter

tersebut dapat menjadi panduan bagi pengguna untuk menyesuaikan algoritma terhadap tingkat

kebutuhan sistem kriptografi.

Algoritma Advanced Encryption Standard (AES) merupakan contoh algoritma kriptografi

berbasis blok cipher dimana pada kedua algoritma tersebut terdapat beberapa kesamaan yaitu,

jenis kunci adalah kunci simetris, ukuran blok data senilai 128 bit dan panjang kunci dengan nilai

128, 192 dan 256 bit. Pada tugas akhir ini dilakukan penerapan AES pada aplikasi pengendalian

jarak jauh komputer server melalui telepon genggam. Parameter performansi yang diukur

meliputi tingkat keamanan, perbandingan dengan algoritma lain dan avalanche effect. Penerapan

sebenarnya pada tugas akhir ini menggunakan bahasa pemrograman Java.

Abstract :

Cryptography becomes a fully integrated part of network security system in global

information era. There are some parameters for cryptography system, they are level of algorithm

security, flexibility, characters appearance distribution frequency, distribution variance,

avalanche effect. Those parameters are then could be uses as the guidance for the users to choose

the suitable cryptography system based on their needs.

Advanced Encryption Standard (AES) are the examples of the cipher block-based

cryptography system. Both cryptography systems using the same symmetric keys, 128 bit block

size, and 128, 192, 256 length of keys. This final project measures and analyzes the comparison

of AES algorithm performance. This comparison facilitated by the software which simulated the

cryptography process for both algorithms. The performance parameters measurements including

security, comparison of other algorithm and avalanche effect. This final project use Java

programming language as the real implementation.

Keywords: Remote Server, Mobile Phone, Early Warning System, java,Advanced Encryption

Starbdard(AES).

Tanggal Pembuatan : 28 Agustus 2010

PENDAHULUAN

Pentingnya waktu pada era globalisas ini membuat manusia ingin melakukan segalanya

secara praktis, flexibel dan portable. Sehingga timbul istilah waktu adalah uang, mereka dapat

membayar dengan apa saja untuk mendapatkan sesuatu yang menjadikan pekerjaan manusia

menjadi praktis, flexibel dan portable. Sehingga tercipta teknologi yang terintegrasi yaitu system

client server dimana dapat mengintegrasikan sebuah pekerjaan yang dapat diakses kapanpun dan

dimanapun.

Sehingga pentingnya peran server dalam kehidupan manusia pada era globalisasi yang

tentunya memiliki banyak kelebihan dan semakin berkembang. Namun, keterbatasannya waktu

untuk menjaga dan mengawasi server tersebut membuat fungsi server menjadi kurang optimal.

Masalah timbul saat server kurang optimal dan mulai kehilangan kendali seperti memory yang

penuh dapat menyebabkan server mati sehingga administrator dibutuhkan untuk menjaga server.

Tetapi keterbatasan waktu administrator menyebabkan server tidak diawasi setiap saat 1 x 24

jam, contohnya jika pengguna membutuhkan data pada malam hari dimana server mati dan saat

itu tidak terdapat administrator yang dapat memperbaiki server tersebut dalam kurun waktu

beberapa jam, sedangkan jika admin diminta datang untuk memperbaiki server sementara pada

malam hari sulit untuk dihubungi serta butuhnya waktu dalam perjalanan ataupun para admin

sedang keluar kota sehingga tidak dapat diperbaiki server tersebut maka pengguna akan

kehilangan kesempatan untuk mendapatkan data tersebut.

Sehingga muncul ide penulis untuk membuat aplikasi pengendalian jarak jauh komputer

server melalui telepon genggam. Karena keterbatasan kemampuan, penulis membuat team dalam

pembuatan aplikasi pengendalian server tersebut. Team penulis membagi-bagikan tugas dan

tanggung jawab kedalam 4 bagian sesuai banyaknya team penulis, diantaranya adalah bagian

antar muka, komunikasi data menggunakan socket programming, image processing dan sistem

keamanan informasi dimana penulis bertanggung jawab atas bagian sistem keamanan pada

penelitian besar tersebut.

Jika dilihat dari sisi teknologi, aplikasi ini sangat jarang ditemukan. Hampir semua

pengendalian komputer server menggunakan layanan bluetooth, Internet Protocol ataupun yang

sangat mirip pun hanya mensupport telepon genggam dengan tipe tertentu, sedangkan aplikasi

ini menggunakan layanan internet dimana port pilihan dari pengguna karena menggunakan

fungsi dari socket programming serta dapat berjalan di berbagai OS(Sistem Operasi) dan telepon

genggam dengan semua tipe yang support dengan java. Keunggulan dari aplikasi ini adalah

dapat mengendalikan dari mana saja tanpa harus memikirkan jarak sehingga pengguna bebas

beraktifitas dimana saja dan kapan saja serta aplikasi dapat berjalan di berbagai OS pada telepon

genggam dimana syaratnya adalah telepon genggam tersebut support dengan java.

Ditinjau dari segi keamanan, teknik untuk mengamankan suatu informasi memiliki

beberapa macam, diantaranya Authentication, Firewall, Secure Socket Layerv(SSL), Kriptografi,

Pretty Good Privacy. “SSL ini adalah suatu bentuk penyandian data sehingga informasi rahasia

seperti nomor kartu kredit atau kontrol autentikasinya tidak dapat dibaca atau di akses oleh pihak

lain selain pemiliknya daan server (pemilik servis).”(http://students.ukdw.ac.id). pada aplikasi ini

menerapkan teknik SSL secara terpisah, yaitu dengan menerapkan teknik authentikasi dan teknik

kriptografi pada socket programming. Dengan kata lain privasi dari penggunaan aplikasi ini

cukup aman.

Kriptografi adalah salah satu teknik yang digunakan untuk meningkatkan aspek keamanan

suatu informasi. Kriptografi merupakan kajian ilmu dan seni untuk menjaga suatu pesan atau

data informasi agar data tersebut aman. Kriptografi mendukung kebutuhan dari dua aspek

keamanan informasi, yaitu secrecy (perlindungan terhadap kerahasiaan data informasi) dan

authenticity (perlindungan terhadap pemalsuan dan pengubahan informasi yang tidak

diinginkan).

Algoritma kriptografi yang baik akan memerlukan waktu yang lama untuk memecahkan

data yang telah disandikan. Seiring dengan perkembangan teknologi komputer maka dunia

teknologi informasi membutuhkan algoritma kripografi yang lebih kuat dan aman. Saat ini, AES

(Advanced Encryption Standard) digunakan sebagai standar algoritma kriptografi yang terbaru.

AES menggantikan DES (Data Encryption Standar) yang pada tahun 2002 sudah berakhir masa

penggunaannya. DES juga dianggap tidak mampu lagi untuk menjawab tantangan perkembangan

teknologi komunikasi yang sangat cepat. AES sendiri adalah algoritma kriptografi dengan

menggunakan algoritma Rijndael yang dapat mengenkripsi dan mendekripsi blok data sepanjang

128 bit dengan panjang kunci 128 bit, 192 bit, atau 256 bit.

Tujuan dari penulisan skripsi ini adalah untuk memperkuat sistem keamanan dari aplikasi

pengendalian server menggunakan telepon genggam dengan cara melakukan

pengimplementasian dari salah satu algoritma kriptografi yang menjadi standar internasional

yaitu algoritma AES (Advanced Encryption Standard).

METODOLOGI PENELITIAN

Pengumpulan Data

Untuk membangun software aplikasi Pengendalian Jarak Jauh Komputer Server Melalui

Telepon Genggam secara efektif, beberapa teknik pengumpulan data dan variabel digunakan,

diantaranya adalah

1. Studi Kepustakaan dan Literatur, . Penelusuran pustaka dilakukan dengan 2 cara,

pertama, mencari pustaka dalam bentuk buku teks dan hasil penelitian di beberapa

perpustakaan, diantaranya perpustakaan Universitas Indonesia, LIPI, dan perpustakaan

Nasional Jakarta. Dan cara kedua, penelusuran pustaka elektronik berbentuk jurnal ilmiah

dan prosiding hasil seminar ilmiah, melalui internet. Selain itu korespondesi dengan

pakar untuk penelitian sejenis baik dari dalam dan luar negeri dilakukan melalui internet.

digunakan untuk mendapatkan data awal tentang data dasar Pengendalian Jauh Jauh

Komputer Server Melalui Telepon Genggam.

2. Wawancara mendalam, yaitu dilakukan untuk memperoleh data dengan meminjam

keterangan dan penulisan secara langsung kepada pihak yang terkait.

3. Diskusi Interaktif (Forum Group Discussion). Disamping itu, dalam proses pengumpulan

dan penyusunan instrumen data dasar ini dilakukan dengan cara melakukan diskusi/atau

lokakarya yang diikuti oleh pihak-pihak terkait yang pernah berkecimpung dalam

pembuatan perangkat lunak Remoting Desktop.

Jenis dan Sumber Data

Jenis dan sumber data yang menjadi bahan dalam skripsi ini terdiri dari:

1. Data primer diperoleh dari survey yang dilakukan pada server dan wawancara terhadap

administrator sebagai pengelola server. Data primer digunakan saat dilakukan uji coba

dan implementasi sistem.

2. Data sekunder berasal dari hasil monitoring server beberapa minggu yang digunakan

dalam penelitian dan dapat diperoleh melalui internet. Data sekunder digunakan saat

pembangunan metode dan uji coba algoritma.

Untuk menunjang penelitian secara keseluruhan dibutuhkan pula bahan habis pakai (alat tulis

kantor).

Pendekatan Teknis

Pencapaian pekerjaan secara optimal, sangat ditentukan pada kadar pemahaman penulis

dalam penelitian skripsi ini yang terdiri dari pembuatan interface aplikasi dan penulisan,

sehingga dengan demikian bahwa pola pendekatan dalam penanganan pekerjaan perlu mendapat

perhatian. Secara umum pola pendekatan yang penulis lakukan adalah sebagai berikut:

a) Pendekatan SDLC (System Development Life Cycle), adalah siklus hidup pengembangan

sistem, pendekatan ini mutlak dilakukan dalam mensikronisasikan pekerjaan pembuatan

aplikasi Pengendalian Jauh Komputer Server Melalui Telepon Genggam.

b) Pendekatan Proses Bottom Up Planning, dimana dalam kegiatan ini lebih menekankan

malalui penjaringan data-data yang dikumpulkan melalui penelusuran dokumen-dokumen

yang berkaitan dengan objek yang akan diinput.

c) Pendekatan manajemen, hal ini merupakan suatu pendekatan dengan konsep POAC

(Planning, Organizing, Actuiting dan Contolling), agar pekerjaan rancang bangun perangkat

lunak dapat terselesaikan dengan baik.

d) Pendekatan Teknis, pekerjaan Rancang Bangun aplikasi Pengendalian Jarak Jauh Komputer

Server Melalui Telepon Genggam dilakukan dengan secara terstruktur, terpola dalam

melakukan kegiatan baik dari tingkat persiapan, pengumpulan data, pengolahan data,

perancangan data, Analisa, dan pengembangan untuk menghasilkan data yang lengkap yang

dapat diakses secara cepat, tepat dan akurat.

e) Pendekatan Client-Server, Adalah sebuah model komputerisasi dimana sebuah aplikasi

client dijalankan di telepon genggam atau komputer pribadi yang mengakses informasi dan

meremote pada server atau host yang terletak di lain tempat. Bagian dari aplikasi yang

dijalankan di client biasanya digunakan untuk mengoptimalkan interaksi dengan user.

f) Pendekatan Pengelolaan, suatu prinsip yang menyangkut aspek administrasi, keuangan,

hukum, kelembagaan serta perundang- undangan yang diharapkan agar suatu pekerjaan

dapat diterapkan melalui koordinasi dalam pelaksanaan pekerjaan.

Dengan metode–metode pendekatan pekerjaan tersebut diharapkan hasil dari pembuatan aplikasi

ini dapat berhasil secara optimal.

Peralatan yang Dibutuhkan

Perangkat keras, perangkat lunak dan sarana komunikasi yang dibutuhkan dalam

penelitian ini adalah :

a. PC Server dengan spesifikasi minimun :

a. Processor : Pentium IV 3.0 GHz

b. Memory : 512 MB

c. Harddisk : 60 GB

d. VGA Card: Intel 82852/82855 GM/GME Graphics Controller

e. Modem standar : 56 Kbps atau Ethernet : 100 Mbps

b. Sistem operasi server yang digunakan dalam penelitian ini adalah Linux Slackware.

c. Perangkat Lunak yang dibutuhkan untuk pengolahan data dan pembuatan program adalah

Java Tool Kit. J2ME, J2SE.

d. Jaringan telepon atau jaringan LAN-ethernet untuk koneksi internet, serta terdaftar pada

suatu ISP (Internet Service Provider). Koneksi internet ini dibutuhkan dalam penelusuran

pustaka, memperoleh data penelitian dan berkorespondensi dengan pakar yang

memahami topik dalam pembuatan aplikasi ini ini.

e. Handphone dengan spesifikasi minimum :

a. Mendukung Java

b. Memiliki GPRS

c. Type Qwerty

f. Printer Deksjet seri Canon iP1700 untuk pencetakan pustaka yang diperoleh dari internet.

Prosedur Pengembangan Metode

Dalam pembuatan perangkat lunak Pengendalian Jarak Jauh Komputer server Melalui

Telepon Genggam ini, penulis membagi dalam beberapa tahapan, diantaranya :

1. Merancang Interface baik untuk aplikasi yang mobile maupun untuk aplikasi dekstopnya.

2. Merancang Early Warning dan Event Handling Sistem serta merekayasa perangkat lunak

didasarkan pada metode mengendalikan komputer server melalui telepon genggam

dengan socket programming.

3. Merancang Image processing dan Security AES untuk kendali akses pada telepon

genggam.

4. Mengintegrasikan perangkat Keras (server, client server, dan telepon genggam) dan

perangkat lunak yang sudah dibangun pada tahap sebelumnya, dilanjutkan ujicoba dan

implementasi.

Tahapan-tahapan tersebut dapat digambarkan dalam bagan di bawah ini :

Gambar 1 Tahapan Umum Pembuatan Aplikasi Pengendalian Jarak Jauh Komputer Server Melalui Telepon

Genggam

Untuk penelitian ini penulis memfokuskan untuk menerapkan sistem keamanan enkripsi pada

Aplikasi Pengendalian Jarak Jauh Komputer Server Melalui Telepon Genggam.

Algoritma AES yang digunakan pada Remoting Desktop Server

Algoritma AES ini adalah Algoritma kriptografi bernama Rijndael yang didesain oleh

Vincent Rijmen dan John Daemen asal Belgia keluar sebagai pemenang kontes algoritma

kriptografi pengganti DES yang diadakan oleh NIST (National Institutes of Standards and

Technology) milik pemerintah Amerika Serikat pada 26 November 2001. Algoritma Rijndael

Merancang tampilan

antar muka mobile

dan desktop

Merancang Early

Warning dan Event

Handling

Rekayasa perangkat

lunak remote

desktop server

Merancang image

processing pada HP

Menerapkan system

keamanan enkripsi

pada aplikasi

Integrasi perangkat

keras, perangkat

lunak, uji coba dan

implementasi

Tahap satu Tahap dua Tahap ketiga

inilah yang kemudian dikenal dengan Advanced Encryption Standard (AES). Setelah mengalami

beberapa proses standardisasi oleh NIST, Rijndael kemudian diadopsi menjadi standard

algoritma kriptografi secara resmi pada 22 Mei 2002. Pada 2006, AES merupakan salah satu

algoritma terpopuler yang digunakan dalam kriptografi kunci simetrik.

AES ini merupakan algoritma block cipher dengan menggunakan sistem permutasi dan

substitusi (P-Box dan S-Box) bukan dengan jaringan Feistel sebagaiman block cipher pada

umumnya. Jenis AES terbagi 3, yaitu :

1. AES-128

2. AES-192

3. AES-256

Pengelompokkan jenis AES ini adalah berdasarkan panjang kunci yang digunakan.

Angka-angka di belakang kata AES menggambarkan panjang kunci yang digunakan pada tipa-

tiap AES. Selain itu, hal yang membedakan dari masing-masing AES ini adalah banyaknya

round yang dipakai. AES-128 menggunakan 10 round, AES-192 sebanyak 12 round, dan AES-

256 sebanyak 14 round.

AES memiliki ukuran block yang tetap sepanjang 128 bit dan ukuran kunci sepanjang

128, 192, atau 256 bit. Tidak seperti Rijndael yang block dan kuncinya dapat berukuran

kelipatan 32 bit dengan ukuran minimum 128 bit dan maksimum 256 bit.

Berdasarkan ukuran block yang tetap, AES bekerja pada matriks berukuran 4x4 di mana tiap-tiap

sel matriks terdiri atas 1 byte (8 bit). Sedangkan Rijndael sendiri dapat mempunyai ukuran

matriks yang lebih dari itu dengan menambahkan kolom sebanyak yang diperlukan.

Enkripsi Advance Encryption Standar (AES)

Pada algoritma AES, jumlah blok input, blok output, dan state adalah 128 bit. Dengan

besar data 128 bit, berarti Nb = 4 yang menunjukkan panjang data tiap baris adalah 4 byte.

Dengan blok input atau blok data sebesar 128 bit, key yang digunakan pada algoritma AES tidak

harus mempunyai besar yang sama dengan blok input. Cipher key pada algoritma AES bisa

menggunakan kunci dengan panjang 128 bit, 192 bit, atau 256 bit.

Perbedaan panjang kunci akan mempengaruhi jumlah round yang akan

diimplementasikan pada algoritma AES ini. Di bawah ini adalah tabel yang memperlihatkan

jumlah round (Nr) yang harus diimplementasikan pada masing-masing panjang kunci.

Tabel 1 : Perbandingan jumlah Round dan Key

Jumlah Key (Nk) Besar Block (Nb) Jumlah Round (Nr)

AES – 128 4 4 10

AES – 192 6 4 12

AES – 256 8 4 14

Sumber : Wibowo (2004)

Proses enkripsi pada algoritma AES terdiri dari 4 jenis transformasi byte, yaitu

ShiftRows, Mixcolumns, dan AddRoundKey. Pada awal proses enkripsi, input yang telah

dikopikan ke dalam state akan mengalami transformasi byte AddRoundKey. Setelah itu, state

akan mengalami transformasi SubBytes, ShiftRows, MixColumns, dan AddRoundKey secara

berulang-ulang sebanyak Nr. Proses ini dalam algoritma AES disebut sebagai round function.

Round yang terakhir agak berbeda dengan round-round sebelumnya dimana pada round

terakhir, state tidak mengalami transformasi MixColumns. Pada gambar 3.6 merupakan contoh

algoritma AES dengan panjang kunci 128. Terlihat bahwa putaran pertama adalah intial round

dengan hanya dilakukan 1 tahap yaitu AddRoundKey. Selanjutnya pada putaran ke dua

dilakukan 4 tahapan dengan melakukan SubBytes, ShiftRows, MixColumns, dan AddRoundKey

secara bertahap sebanyak 8x putaran sampai putaran ke 9. Setelah itu masuk pada putaran ke 10

atau final round dimana hanya melakukan 3 tahapan dengan tanpa melakukan tahapan

MixColumns.

Gambar 2: Diagram Aliran Proses Enkripsi AES-128 bit

Sumber : Munir (2004)

Sehingga penerapan alur algoritma AES ini jika di jadikan bentuk algoritma pada programnya

adalah sebagai berikut :

1. Siapkan array berukuran 4x4 bernama Kunci

2. Siapkan array berukuran 4x4 bernama State

3. Cetak : “Masukkan 16 bilangan heksadesimal sebagai kunci : “

4. Simpan enam belas nilai tersebut sebagai nilai dari masing-masing elemen array Kunci.

5. Cetak : “Masukkan teks yang akan dienkripsi : “

6. Konversikan teks tersebut ke dalam bentuk bit menggunakan kode ASCII.

7. Konversikan kode ASCII tersebut ke dalam heksadesimal

8. Kelompokkan bit-bit teks tersebut menjadi 128 bit tiap bagiannya.

9. Ambil 128 bit pertama untuk diproses.

10. Kelompokkan bit teks tersebut menjadi 16 bagian dengan 8 bit tiap bagiannya.

11. Masukkan tiap-tiap bagian teks tersebut ke dalam tiap-tiap sel pada matriks berukuran

4x4.

12. Konversikan bit ke dalam heksadesimal.

13. Lakukan langkah AddRoundKey dengan Key awal

14. Lakukan langkah SubBytes

15. Lakukan langkah ShiftRows

16. Lakukan langkah MixColumns

17. Lakukan langkah AddRoundKey

18. Ulangi langkah 14-16 sebanyak 9x.

19. Jika langkah 17 sudah dilakukan, maka lakukan langkah SubByte

20. Lakukan langkah ShiftRows tanpa MixColumns

21. Lakukan langkah AddRoundKey

22. Selesai pada 128 bit plainteks pertama, teruskan ke 128 bit plainteks selanjutnya dari

langkah 13 hingga seluruh plainteks sudah tersandikan.

PEMBAHASAN

Implementasi AES pada I-Remote

Penerapan AES pada aplikasi ini dimulai ketika gambar/aksi yang awalnya dari

pengiriman data di HP. AES ini berjalan di 2 aplikasi, yaitu pada aplikasi yang terdapat pada

server dan terdapat pada aplikasi HP. Sebelum aksi dikirimkan oleh HP maka aksi ini diolah

terlebih dahulu. Proses awal dan algoritmanya adalah sebagai berikut :

1. Siapkan array berukuran 4x4 bernama Kunci

2. Siapkan array berukuran 4x4 bernama State

3. Cetak : “Masukkan 16 bilangan heksadesimal sebagai kunci : “

4. Simpan enam belas nilai tersebut sebagai nilai dari masing-masing elemen array Kunci.

5. Cetak : “Masukkan teks yang akan dienkripsi : “

6. Konversikan teks tersebut ke dalam bentuk bit menggunakan kode ASCII.

7. Konversikan kode ASCII tersebut ke dalam heksadesimal

8. Kelompokkan bit-bit teks tersebut menjadi 128 bit tiap bagiannya.

9. Ambil 128 bit pertama untuk diproses.

10. Kelompokkan bit teks tersebut menjadi 16 bagian dengan 8 bit tiap bagiannya.

11. Masukkan tiap-tiap bagian teks tersebut ke dalam tiap-tiap sel pada matriks berukuran

4x4.

12. Konversikan bit ke dalam heksadesimal.

13. Lakukan langkah AddRoundKey dengan Key awal

14. Lakukan langkah SubBytes

15. Lakukan langkah ShiftRows

16. Lakukan langkah MixColumns

17. Lakukan langkah AddRoundKey

18. Ulangi langkah 14-16 sebanyak 9x.

19. Jika langkah 17 sudah dilakukan, maka lakukan langkah SubByte

20. Lakukan langkah ShiftRows tanpa MixColumns

21. Lakukan langkah AddRoundKey

22. Selesai pada 128 bit plainteks pertama, teruskan ke 128 bit plainteks selanjutnya dari

langkah 13 hingga seluruh plainteks sudah tersandikan.

Pada implementasi nyata, AES ini dimulai dengan mengubah gambar/aksi yang akan dikirim

menjadi byte. Contohnya adalah aksi pengiriman validasi username dan password. Dari aksi

pengiriman dengan tipe data string “username : zhilal \npassword:zhilal” akan dirubah menjadi

bentuk bit menggunakan kode ASCII dan dirubah menjadi bentuk hexadecimal dengan bentuk

“2B28AB097EAEf7Cf15D2154F16A6883C6C200A70617373776F72643A7A68696C616C”.

Setelah didapat bentuk hexadecimalnya maka akan disisihkan hexadecimal tersebut

sebanyak 128 dengan kunci penyandiannya didapat dari perpaduan username dan password yang

ditetapkan juga di aplikasi servernya. Didapat aksi yang ingin disandikan sebanyak 128 terlebih

dahulu “2B28AB097EAEf7Cf15D2154F16A6883C” sisanya akan di proses setelah hexadecimal

ini sudah di sandikan. Setelah sudah dipisahkan seperti diatas, akan dibuat wadah atau tempat

yang akan menampung data hexadecimal dari aksi berupa matriks sebesar 4x4 dan matriks

sebesar 4x4(jika menggunakan AES 192 menggunakan kunci sebesar 6x6 dan AES 256 dengan

matriks 8x8) untuk kunci yang dipakai untuk menyandikan ataupun mengembalikan penyadian

kebentuk sebenarnya.

Gambar 3: Contoh String yang dirubah ke bentuk hexadecimal

Diasumsikan key disini adalah “qwertyuiopasdfgh” dengan panjang karakter adalah 16

karakter atau 128 bit. Setelah ditemukan bentuk matriks dan isinya barulah mulai pemprosesan

algoritmanya. Pada perputaran pertama aksi/data/gambar yang sebelum disandikan yang

biasanya disebut dengan state atau plaintext akan dilakukan proses AddRoundKey dengan cara

menggunakan operator logika Xor :

state[0][0] : 32 XOR key[0][0] :2B = 19

state[0][1] : 88 XOR key[0][1] :28 = a0

state[0][2] : 31 XOR key[0][2] :AB = 9a

state[0][3] : E0 XOR key[0][3] :09 = e9

state[1][0] : 43 XOR key[1][0] :7E = 3d

state[1][1] : 5A XOR key[1][1] :AE = f4

state[1][2] : 31 XOR key[1][2] :F7 = c6

state[1][3] : 37 XOR key[1][3] :CF = f8

state[2][0] : F6 XOR key[2][0] :15 = e3

state[2][1] : 30 XOR key[2][1] :D2 = e2

state[2][2] : 98 XOR key[2][2] :15 = 8d

state[2][3] : 07 XOR key[2][3] :4F = 48

state[3][0] : A8 XOR key[3][0] :16 = be

state[3][1] : 8D XOR key[3][1] :A6 = 2b

state[3][2] : A2 XOR key[3][2] :88 = 2a

state[3][3] : 34 XOR key[3][3] :3C = 8

State + addround Key :

| 19 | a0 | 9a | e9 |

| 3d | f4 | c6 | f8 |

| e3 | e2 | 8d | 48 |

| be | 2b | 2a | 08 |

Proses diatas biasa disebut dengan inisialisasi. setelah matrik state sudah dilakukan

addrounkey pada pertama kali maka dengan ini putaran pertama selesai. AES ini jika panjang

kuncinya adalah 128 maka putaran hanya dilakukan sebanyak 10 putaran. Jika panjang kunci

adalah 192 maka banyak putaran adalah 12 putaran dengan matriks kuncinya adalah 6x6 dan jika

256 panjang kuncinya akan dilakukan sebanyak 14 putaran dengan matriks 8x8.

Gambar 4 : Susunan putaran algoritma AES

Sumber : Munir (2004)

Mengarah pada gambar 4.9 yaitu algoritma aes dengan panjang kunci 128 bit, hal yang

dilakukan pertama adalah melakukan tahapan AddRoundKey. Dimana byte yang akan di

sandikan yang sudah dimasukan ke dalam blok akan dilakukan operasi XOR dengan kunci yang

sudah dimansukan oleh pengguna.Maka setelah tahap inialisasi selesai maka tahap pertama yang

dilakukan dalam putaran adalah SubBytes. SubBytes adalah mensubstitusikan 1 sel pada State

dengan 1 sel yang bersesuaian pada tabel S-Box seperti terlihat pada tabel 4.1. Elemen-elemen

pada S-Box itu sendiri telah ditentukan sebelumnya. Pada tahapan ini matriks yang ada akan

disubstitusikan kepada tabel yang sudah menjadi standarisasi dunia yang difungsikan

menyulitkan para pembongkar sandi dengan menggunakan brute force. Tabel ini adalah table

rijndael S-Box yang mengacu pada table 4.1.

Tabel 1 : Rijndael S-BOX

x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xa xb xc xd xe xf

0x 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76

1x ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0

2x b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15

3x 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75

4x 09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84

5x 53 f1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf

6x d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8

7x 51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2

8x cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73

9x 60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db

ax e0 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79

bx e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08

cx ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a

dx 70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e

ex e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df

fx 8c a1 89 0d bf d6 42 68 41 99 2d 0f b0 54 bb 16

Sumber : http://en.wikipedia.org/wiki/S-box (2010)

Dengan diketahuinya tabel s-box ini, matrik state yang telah diinisialisasikan akan

substitusikan ke dalam tabel s-box tersebut. Langkahnya kurang lebih adalah seperti ini. Dari

matriks yang ingin dilakukan subbyte diambil pertama pada kolom dan baris pertama. Disini

didapat 19, dari data ini dipisahkan angka 1 yang akan dicocokan dengan tabel s-box sebelah kiri

dan angka 9 yang terdapat di tabel s-box maka didapat d4.

Gambar 5 : Implementasi SubByte

Setelah semua matriks dilakukan substitusi dengan tabel s-box maka hasil dari putaran ini

adalah sebagai berikut :

State + SubByte :

| d4 | e0 | b8 | 1e |

| 27 | bf | b4 | 41 |

| 11 | 98 | 5d | 52 |

| ae | f1 | e5 | 30 |

Kemudian setelah tahapan SubByte selesai maka akan berlanjut untuk dilakukan

SiftRow. SiftRow ini adalah pergeseran cell-cell yang terdapat pada matrik sebanyak kunci

jenisnya. Jika menggunakan AES 128 maka perputarannya adalah matriks pada baris 2 akan

dipindahkan ke cell kiri sebanyak satu kali atau satu byte, kemudian matriks pada baris 3 akan

dipindahkan ke cell kiri sebanyak 2 kali atau 2 byte dan baris terakhir akan di lakukan pergeseran

sebanyak 3 kali atau 3 byte.

Gambar 6 : Proses perpindahan SiftRow

Setelah matriks sudah selesai dalam tahap SiftRow maka akan di dapat Matriks seperti di

atas. Setelah tahapan SiftRow makan akan beralih ke tahapan selanjutnya yaitu MixColumns.

MixColumns adalah tahapan dimana matriks state akan dikalikan dengan matriks yang sudah

ditentukan.

Tabel 2 : Matriks ketentuan dari MixColumns

02 01 01 03

03 02 01 01

01 03 02 01

01 01 02 03

Maka dari matriks state akan di kalikan dengan matriks diatas dengan ketentuan bahwa

matriks state pada colom pertama (1x4) akan dikalikan dengan matriks 4x4 diatas. Pada matriks

state ini yang telah melewatkan tahapan SiftRow column pertamanya adalah {d4, bf, 5d, 30}.

Jadi perkalian pertamanya adalah baris dikalikan dengan kolom pertama.

((d4x02)+(bfx01) +(5dx01) +(30x03)) = 04,

((d4x03)+(bfx02) +(5dx01) +(30x01)) = 66,

((d4x01)+(bfx03) +(5dx02) +(30x01)) = 81,

((d4x01)+(bfx01) +(5dx02) +(30x03)) = e5.

Gambar 7 : Proses perkalian MixColumns

Jika semua matriks sudah dikalian maka hasilnya akan menjadi matriks seperti ini.

State + MixColumns :

Dan pada putaran ini hal yang dilakuka terakhir adalah addRoundKey dimana caranya

sama seperti pada putaran pertama dalam addRoundKey. Maka akan tampak hasilnya seperti ini.

Gambar 8 : Proses AddRoundKey

State + AddRounKey (Putaran Ke 2) :

| a4 | 68 | 6b | 02 |

| 9c | 9f | 5b | 6a |

| 7f | 35 | ea | 50 |

| f2 | 2b | 43 | 49 |

Diatas adalah hasil dari perputaran kedua. Pada addRounkey diputaran kedua

ini memiliki kuncu yang berbeda-beda tiap putarannya, itu dikarenakan pada key juga dilakukan

proses-proses sehingga menjadikan kunci yang berbeda ditiap perputurannya. Proses ini

dinamakan schedule’s Rijdael. Proses yang dilakukan pada putaran kedua ini akan dilakukan

sebanyak 9 kali dengan putaran terakhir dilakukan tanpa proses MixColumns.

Implentasi AES pada Java

Pada bahasa pemprograman java ini sudah terdapat class yang dapat digunakan untuk

membuat suatu data penyandian yaitu Cryto dari JCE. Tetapi disini terdapat kekurangannya,

yaitu crypto pada JCE bawaan javanya tidak dapat melakukan penyandian AES dengan bit selain

128 dan memiliki keterbatasan device seperti pada mobile. Karena pada mobile atau j2me ini

memiliki keterbatasan memory.

Karena dari itu penulis menggunakan library yang sudah ternama dibidang penyandian

ini yaitu bouncycastle. Implementasiannya cukup mudah karena di library ini sudah tersedia

fungsi untuk AES dengan bit sampai 256 dan juga memiliki algoritma lain selain AES seperti

RSA DES dan lainnya. Kekuatan AES ini jika dibandingkan dengan RSA sangatla besar. Dalam

forum dikatakan besar kunci RSA 6000an bit itu sama kekuatannya dengan 128 bit kunci pada

AES karena algoritma Rijdael ini sangatlah kuat.

Fungsi yang digunakan agar dapat memanfaatkan fungsi AES dilibrary bouncycastle ini

cukup mudah :

public byte[] performEncrypt(byte[] key, String plainText)

{

byte[] ptBytes = plainText.getBytes();

cipher = new PaddedBufferedBlockCipher(new

CBCBlockCipher(getEngineInstance()));

String name = cipher.getUnderlyingCipher().getAlgorithmName();

System.out.println(“Using “ + name);

cipher.init(true, new KeyParameter(key));

byte[] rv = new byte[cipher.getOutputSize(ptBytes.length)];

int oLen = cipher.processBytes(ptBytes, 0, ptBytes.length, rv, 0);

try

{

cipher.doFinal(rv, oLen);

}

catch (CryptoException ce)

{

System.out.println(“Ooops, encrypt exception”);

// System.out.println(ce.toString());

}

return rv;

}

Fungsi ini memiliki tipe data byte array yang artinya data yang akan dikembalikan

nilainya atau hasilnya berupa byte array. Hasil dari byte array inilah yang akan digunakan oleh

program yang mengatur pengiriman data ke server atau ke mobile. Inputan pada fungsi ini

membutuhkan 2 tipe data, yaitu key atau kunci yang berupa byte array sepanjang 128 bit yang

digunakan sebagai kunci untuk encrypt atau decrypt dan plaintext yang berupa tipe data string

dimana plaintext ini adalah kata yang akan disandikan. Agar plaintext dapat diproses atau

disandikan dibutuhkan perubahan tipe data dari string ke byte yaitu :

byte[] ptBytes = plainText.getBytes();

Jika inputan berupa gambar maka tidak perlu lagi dirubah dari string menuju byte array,

di java pun menyediakan fungsi untuk merubah dari data gambar menjadi byte array melalui

BufferedImage. Kemudian untuk mengatur tentang jenis penyandiannya apakah ini termasuk

sandi yang diproses dengan blok-blok atau bukan, itu diatur dengan syntax :

cipher = new PaddedBufferedBlockCipher(new

CBCBlockCipher(getEngineInstance()));

Dimana chiper adalah objek B90ufferedBlockCipher yang sudah disediakan oleh

bouncycastle. Disini chipher diatur sebagai sandi yang dilakukan perblok dan mengambil metode

getEngineInstance() dimana isinya :

private BlockCipher getEngineInstance()

{

BlockCipher rv = null;

switch (whichCipher())

{

case 0 :

rv = new DESEngine();

break;

case 1 :

rv = new DESedeEngine();

break;

case 2 :

rv = new IDEAEngine();

break;

case 3 :

rv = new RijndaelEngine();

break;

case 4 :

rv = new TwofishEngine();

break;

default :

rv = new DESEngine();

break;

}

return rv;

}

Rv ini sudah diatur dengan nilai 3 pada methode whichCipher().

Private int whichCipher()

{

return 3; // DES

}

Dengan begitu maka didapat dan diatur bahwa ini adalah penyandian AES dengan

defaultnya adalah 128. Setelah sudah ditentukan jenis penyandian yang ditentukan setelah itu

menetukan kunci yang nantinya akan diproses menjadi kunci siap pakai dengan algoritma

schedule’s Rijdael sehingga kunci berubah-ubah tiap putaran.

Cipher.init(true, new KeyParameter(key));

key ini yang akan menentukan bentuk dari penyandian AES. Setelah itu barulah

melakukan pemasukan data yang ingin disandikan kedalam mesin atau fungsi AES yang telah

disediakan oleh bouncycastle ini dengan format sebagai berikut.

Byte[] rv = new byte[cipher.getOutputSize(ptBytes.length)];

int oLen = cipher.processBytes(ptBytes, 0, ptBytes.length, rv, 0);

try

{

cipher.doFinal(rv, oLen);

}

rv disini berfungsi untuk menentukan jumlah atau besarnya data string yang akan

disandikan setelah didapat barulah dilakukan dofinal proses sehingga didapat hasil data yang

sudah disandikan kedalam variabel rv yang akan dikembalikan nilainya ditempat fungsi tersebut

dipanggil.

Untuk fungsi pengembalian datanya digunakan kunci yang sama saat menyandikan.

Fungsinya adalah sebagai berikut :

public String performDecrypt(byte[] key, byte[] cipherText)

{

cipher.init(false, new KeyParameter(key));

byte[] rv = new byte[cipher.getOutputSize(cipherText.length)];

int oLen = cipher.processBytes(cipherText, 0, cipherText.length, rv, 0);

try

{

cipher.doFinal(rv, oLen);

}

catch (CryptoException ce)

{

// System.out.println(“Ooops, decrypt exception”);

// System.out.println(ce.toString());

}

return new String(rv).trim();

}

Prosesnya sama dengan proses penyandiannya itu dikarenakan menggunakan library

yang sama sehingga perintah-perintahnya tidak jauh berbeda. Perbedaaan terlihat hanya pada

hasil nilai atau tipe data yang dikembalikan dari fungsi tersebut. Pada fungsi decrypt ini

membutuhkan jenis tipe data byte array sebagai data yang telah tersandikan dan byte array untuk

kunci yang dibutuhkan untuk mengembalikan data awal. Dan pengembalian fungsi inipun berupa

tipe data string dimana artinya langsung dapat digunakan atau dicetak langsung oleh program.

Untuk penggunaan decrypt ini diharuskan untuk menentukan jenis penyandian seperti

pada proses penyadian. Jika tidak akan error dengan pengembalian data null. Fungis-fungsi ini

akan diletakan diaplikasi server dan aplikasi mobile karena setiap aplikasi membutuhkan proses

penyandian dan pengembalian kata sandi ke bentuk semula.

Hasil Uji Coba

Pada bagian ini penulis mengujicobakan aplikasi ini dengan sistem keamanan rendah

yaitu aplikasi tanpa menggunakan Authentikasi dan kriptografi, sistem kamanan sederhana yaitu

aplikasi hanya dengan menggunakan teknik authentikasi username dan password, serta sistem

keamanan tinggi yaitu aplikasi dengan menggunakan teknik kriptografi dengan metode

penyandian data menggunakan algoritma AES.

Aplikasi Tanpa Authentikasi dan Kriptografi

Gambar 9 : Aplikasi pada telepon genggam tanpa authentikasi

Pada aplikasi dimana tidak menggunakan authentikasi, tampilan pada layar telepon

genggam tidak meminta untuk memasukan username dan password. Dengan seperti ini maka

sudah dipastikan, setiap pengguna telepon genggam yang memiliki aplikasi I-Remote ini dapat

mengakses server siapa saja dengan bebas, karena setiap server yang terhubung akan

dihubungkan tanpa ada authentikasi pada server.

Sehingga informasi-informasi yang terdapat di server tersebut dapat dimanipulasi dan

digunakan secara sembarangan. Peristiwa inilah yang sangat ditakutkan oleh para admin jaringan

yang bertanggung jawab akan server mereka. Disini sudah terlihat jelas akan kerendahannya

tingkat kemanan dimana aplikasi tidak menggunakan teknik-teknik keamanan informasi.

Aplikasi Hanya Menggunakan Teknik Authentikasi

Aplikasi yang sudah ditambahkan sistem keamanannya dengan teknik authentikasi, maka

setiap pengguna meminta koneksi kepada server maka server akan bertanya apa username dan

passwordnya pada telepon genggam bagian awal program. Jika username dan password sesuai

dengan program yang terdapat pada server yang sudah dikonfigurasi maka pengguna diizinkan

untuk menghubungkan atau mengakses server tersebut. Jika tidak maka server akan memutuskan

koneksinya. Berikut adalah tampilannya dengan menggunakan simulator.

Gambar 10 : Aplikasi pada telepon genggam hanya menggunakan authentikasi dengan username dan password

yang valid

Pada gambar diatas menunjukan bahwa aplikasi pada telepon genggam meminta

username dan password yang nantinya akan dikirimkan kepada server. Terlihat dimana tampilan

hitam diatas adalah setatus aplikasi yang berjalan pd server dan dibawahnya yang berwarna putih

adalah status aplikasi pada simulasinya. Disini terlihat bahwa saat aplikasi dari telepon genggam

mengirimkan informasi ke pada server setelah aplikasi pada server telah berjalan dengan

statusnya adalah menunggu koneksi di port :9001.

Setelah informasi dikirimkan oleh aplikasi I-Remote yang membawa informasi username

dan password maka aplikasi pada server akan melakukan pengecekan pengguna, apakah

pengguna ini datanya benar atau salah. Jika benar maka status pada server akan menjadi seperti

diatas dimana username dan passwordnya adalah admin serta menampilkan informasi Login

berhasil. Jika username dan passwordnya salah maka status kedua aplikasi akan seperti berikut:

Status Pada Server

Tampilan pada I-Remote Status I-Remote Pada Simulator

Gambar 11 : Aplikasi pada telepon genggam hanya menggunakan authentikasi dengan username dan password

yang tidak valid

Disini terlihat dari informasi username dan password berbeda dengan yang sebelumnya,

yaitu username : admin dan password : admin. Setelah didapat informasi pada I-Remote maka

ditampilkan informasi tersebut, setelah itu dikirimkan informasi tersebut kepada aplikasi server.

Saat server mengetahui bahwa data tidak valid maka server mengirimkan data dengan kata “Not

Valid” dan memutuskan hubungan terhadap aplikasi tersebut.

Teknik autentikasi memiliki kekurangan pada tampilan status dari kedua aplikasi

tersebut. Pengiriman informasi ini dilakukan tanpa ada penyandian data, maka jika seseorang

telah menyadap koneksi ini maka dengan mudah penyadap mengetahui apa username dan

password dari server tersebut. Setelah penyadap mengetahuinya maka penyadap bebas

melakukan apa saja termasuk hal-hal yang merugikan.

Aplikasi Menggunakan Teknik Authentikasi dan Kriptografi

Uji coba pada bagian ini penulis tidak menggunakan perangkat lunak tambahan seperti

perangkat lunak untuk menyadap. Pada uji coba ini penulis akan mengirimkan username dan

password yang disandikan sebelum dikirimkan kepada server, sehingga saat dikirimkan akan

berupa informasi dalam bentuk symbol-symbol. Penulis tidak mengujicobakan pada informasi

berupa gambar dikarenakan data gambar yang sudah disandikan tidak akan dapat ditampilkan

karena format dan bentuk bytenya sudah berbeda jauh.

Pada aplikasi server, agar terlihat apakah nantinya yang didapat oleh penyadap jika

informasi tersebut disandikan maka penulis tidak merubah kembali data yang disandikan tersebut

sehingga walaupun informasi yang dikirimkan oleh aplikasi I-Remote pada telepon genggam ini

adalah benar maka server akan terus memberitahukan bahwa data tidak valid. Karena data yang

diterima server bukanlah data yang benar, tetapi data yang sudah disandikan.

Gambar 11 : Aplikasi pada telepon genggam menggunakan teknik authentikasi dan kriptografi

Test uji coba diatas membuktikan bahwa data sebelum dikirimkan kepada server terlihat

di status simulator dengan username : admin dan password : admin. Dan setelah dikirimkan,

server menerima informasi berupa data yang sudah disandikan dengan informasi yang

ditampilkan pada status server. Pada informasi username, data yang diterima berupa penyandian

dalam bentuk hexadecimal dengan tujuan agar terlihat perbedaan penyandiannya. Pada informasi

password penulis menampilkan data yang masih dalam bentuk byte sehingga tidak terlihat

perbedaannya.

Jika informasi yang sudah disandikan dirubah kedalam bentuk symbol-symbol maka pada

linux akan tampak seperti ����<U�����C�d. Berbeda jika dirubahnya pada sistem operasi

windows, maka akan terlihat symbol tanda tanya atau semacam itu.

PENUTUP

Kesimpulan

Dengan ditambahkannya sistem keamanan informasi menggunakan teknik authentikasi

dan teknik kriptografi dalam aplikasi pengendalian jarak jauh komputer server melalui telepon

genggam (I-Remote) ini menjadikan informasi yang diolah dan dikirimkan menjadi lebih aman.

Sebelum menggunakan teknik authentikasi, aplikasi ini menjadikan aplikasi yang bebas untuk

dilihat dan diakses oleh siapa saja, pengguna aplikasi pada telepon genggam akan dapat

melakukan hubungan terhadap server yang diinginkan oleh pengguna yaitu hanya dengan

memasukan alamat server terserbut.

Dengan menggunakan teknik authentikasi, menjadikan server untuk melakukan

pengecekan terhadap semua pengguna yang melakukan hubungan terhadap server tersebut.

Maka, hanya pengguna yang mengetahui username dan password yang dapat mengakses server

tersebut. Kemudian masalah dalam keamanan informasi kembali muncul karena canggihnya alat

penyadap. Dengan menggunakan teknik kriptografi yaitu penyandian data.

Tanpa teknik penyandian data ini, informasi yang dikirimkan dapat disadap ditengah-

tengah perjalanan. Dengan kata lain, para pengguna aplikasi penyadap ini akan dapat bebas

mengetahui apa yang dilakukan oleh pengguna yang sebernarnya, dan dapat juga mendapatkan

informasi tentang username dan password sehingga penyadap dapat bebas mengakses server

tersebut kapan saja.

Dengan teknik penyandian data ini, informasi yang dikirimkan akan berupa data acak dan

tidak berbentuk sama sekali. Sehingga penyadap pun tidak akan bisa mengetahui informasi

apakah yang sedang dikerjakan oleh pengguna yang sebenarnya sehingga penyadap tidak akan

mendapatkan informasi yang berguna. Sekarang adalah zaman dimana komputer sudah memiliki

kecepatan yang diluar biasa.

Sehingga mengakibatkan munculnya penyandi analisis yang dapat melakukan

perombakan ulang informasi yang sudah disandikan menjadi informasi yang dapat digunakan

yaitu dengan pengembalian data asli pada informasi tersebut. Penggunaan teknik penyandian

menggunakan algoritma vigenere sangat bahaya, karena dapat dilakukan pencarian kata kunci

dengan cepat menggunakan teknik brute force.

Saran

Saran penulis untuk aplikasi pengendalian jarak jauh computer server melalui telepon

genggam dalam hal sistem keamanan yang digunakan baik untuk mobile maupun desktop

sebagai berikut :

1. Agar ditambahkan sistem keamanan yang lain seperti penyandian yang dilakukan 2x agar

informasi lebih aman.

2. Perlunya ditingkatkan kualitas penyandiannya dalam hal kinerja pada telepon genggam.

3. Perlunya algoritma yang tidak membuat data menjadi lebih besar namun memiliki tingkat

keamanan yang sangat tinggi.

DAFTAR PUSTAKA

1. Fikri, Rijalul, Imam Prakoso. Pemrograman Java. Yogyakarta: Penerbit Andi, 2005.

2. Hariyanto, Bambang, Ir., MT. 2003. Esensi-esensi Bahasa Pemprograman Java.

Bandung : Informatika Bandung.

3. Hook, David. ”Beginning Cryptography with Java”.

4. Joan Daemen, Vincent Rijmen, "The Design of Rijndael: AES - The Advanced

Encryption Standard." Springer, 2002. ISBN 3-540-42580-2.

5. Kurniawan, Yusuf. 2003. “Desain AES (Advance Encryption Standard)”. Infomatek

Volume 5 Nomor 2. Hal. 93-99. Jurusan Tenik Informatika Fakultas Teknik Universitas

Pasundan.

6. Munir, Rinaldi, Ir., M.T. 2004. “Advance Encryption Standard (AES), Bahan Kuliah”.

Departemen Teknik Informatika, Institut Teknologi Bandung, Bandung.

7. Paar, Christof, Jan Pelzl, "The Advanced Encryption Standard", Chapter 4 of

"Understanding Cryptography, A Textbook for Students and Practitioners". Springer,

2009.

8. Prasetyo, Didik Dwi. 2007. 150 Rahasia Pemprograman Java. Jakarta : PT Elex Media

Komputindo.

9. Raharjo,Budi, Imam Heryanto, Arif Haryono, Tuntunan Pemrograman Java Untuk

Handphone, Bandung : Penerbit Informatika, 2007.

10. The Sensetional Weblog Power.2008.”Komunikasi Data”.

http://bobbyfiles.wordpress.com/2008/01/12/komunikasi-data/ ( di akses tanggal 29 Juli

2010 )

11. URL : http://blog.rosihanari.net/mengenkripsi-parameter-get-method-untuk-keamanan,

2010. (Tanggal Akses ; 12 Mei 2010)

12. URL : http://en.wikipedia.org/wiki/Advanced_Encryption_Standard, 2010. (Tanggal

Akses ; 14 Mei 2010)

13. URL : http://en.wikipedia.org/wiki/Rijndael_key_schedule, 2010. (Tanggal Akses ; 25

Juni 2010)

14. URL : http://en.wikipedia.org/wiki/S-box, 2010. (Tanggal Akses ; 14 Mei 2010)

15. URL : http://java.sun.com/developer/technicalArticles/Media/ AdvancedImage/, 2010.

(Tanggal Akses ; 12 Juni 2010)

16. URL : http://java.sun.com/developer/technicalArticles/Security/AES/ AES_v1.html,

2010. (Tanggal Akses ; 02 Juni 2010)

17. URL : http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/

CryptoSpec.html, 2010. (Tanggal Akses ; 01 Juni 2010)

18. URL : http://tianeffendi.wordpress.com/2008/12/30/sejarah-advance-encryption-

standard-aes/, 2010. (Tanggal Akses ; 31 Juli 2010)

19. URL : http://www.betanews.com/article/Is-AES-encryption-crackable/1257437160,

2010. (Tanggal Akses ; 12 Mei 2010)

20. URL : http://www.daniweb.com/forums/thread191239.html, 2010. (Tanggal Akses ; 11

Mei 2010)

21. URL : http://www.ibm.com/developerworks/java/library/wi-secure/, 2010. (Tanggal

Akses ; 02 Juni 2010)

22. Wibowo, Wihartantyo Ari. 2004. Advanced Encryption Standard Algoritmh Rijndael,

Departemen Teknik Elektro, Institut Teknologi Bandung, Bandung.