• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Implementasi Kriptografi AES untuk Aplikasi Chatting Sistem Jejaring Klaster Berbasis Android T1 672010219 BAB II

N/A
N/A
Protected

Academic year: 2017

Membagikan "Institutional Repository | Satya Wacana Christian University: Implementasi Kriptografi AES untuk Aplikasi Chatting Sistem Jejaring Klaster Berbasis Android T1 672010219 BAB II"

Copied!
9
0
0

Teks penuh

(1)

Bab 2

Tinjauan Pustaka

2.1 Penelitian Terdahulu

Pada penelitian sebelumnya yang berkaitan dengan penelitian ini berjudul

Perancangan dan Implementasi Kriptosistem Pada Aplikasi Chat Menggunakan Tiny Encryption Algorithm (TEA)”. Dimana pada penelitian tersebut dibahas masalah resiko keamanan chatting. Pada penelitian tersebut dikembangkan aplikasi desktop yang terhubung dengan server Facebook khusus untuk layanan

instant messaging. Melalui aplikasi desktop tersebut, pesan yang dikirimkan disandikan terlebih dahulu sebelum diteruskan ke server facebook. Dibutuhkan aplikasi yang sama untuk membaca kembali pesan yang terenkripsi. Algoritma yang digunakan untuk enkripsi adalah TEA. (Maggi, 2013).

Adapun penelitian terdahulu yang berjudul “Desain dan Implementasi Protokol Kriptografi Untuk Aplikasi Secure Chat pada Multiplatform Sistem Operasi”. Pada pada penelitian ini juga menekankan tentang masalah keamanan

pada chatting. Permasalahan yang terkait dengan keamanan informasi adalah masalah kerahasiaan, otentikasi dan keutuhan data serta nir-penyangkalan. Salah satu teknik yang dapat digunakan untuk melindungi informasi adalah dengan menggunakan kriptografi. Mekanisme kriptografi digunakan untuk membangun protokol kriptografi yang bertujuan untuk mencapai fungsi yang terkait keamanan informasi. Pada penelitian ini dibuat desain dan implementasi protokol kriptografi pada aplikasi Secure Chat yang dapat dijalankan pada multiplatform sistem operasi. Protokol kriptografi hasil perancangan telah diimplementasikan pada aplikasi Secure Chat untuk mengamankan komunikasi chat antar pengguna dengan menggunakan bahasa pemrograman Java. (Achmad, 2015).

Berdasarkan penelitian yang pernah dilakukan tentang penerapan algoritma

AES, maka akan dilakukan penelitian yang berjudul “Implementasi Kriptografi

AES Untuk Aplikasi Chatting Sistem Jejaring Klaster Berbasis Android”. Dalam

penelitian ini, algoritma AES diterapkan sebagai pengamanan data enkripsi dan dekripsi dalam sebuah aplikasi chatting mobile berbasis Android. Dengan mengunakan panjang kunci yaitu 128 bit.

2.2 Kriptogafi

Kriptografi (cryptography) berasal dari Bahasa Yunani: “cryptós” artinya

secret” (rahasia), sedangkan “gráphein” artinya “writing” (tulisan). Jadi,

(2)

kriptografi yang telah dikemukakan di dalam berbagai literatur. Definisi yang dipakai di dalam buku-buku yang lama (sebelum tahun 1980-an) menyatakan bahwa kriptografi adalah ilmu dan seni untuk menjaga kerahasian pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. Definisi ini mungkin cocok pada masa lalu di mana kriptografi digunakan untuk keamanan komunikasi penting seperti komunikasi di kalangan militer, diplomat, dan mata-mata. Namun saat ini kriptografi lebih dari sekadar

privacy, tetapi juga untuk tujuan data integrity, authentication, dan non-repudiation. (Munir, 2006)

2.3 Tujuan Kriptografi

Berikut tujuan kriptografi dalam memberikan keamanan, yang terangkum dalam beberapa aspek dibawah ini (Munir,2006):

1. Kerahasiaan (confidentiality), adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak. Di dalam

kriptografi,layanan ini direalisasikan dengan menyandikan pesan menjadi

cipherteks. Misalnya pesan “Harap datang pukul 8” disandikan menjadi “TrxC#45motyptre!%”. Istilah lain yang senada dengan confidentiality adalah

secrecy dan privacy.

2. Integritas data (data integrity), adalah layanan yang menjamin bahwa pesan masih asli/utuh atau belum pernah dimanipulasi selama pengiriman. Dengan

kata lain, aspek keamanan ini dapat diungkapkan sebagai pertanyaan:

“Apakah pesan yang diterima masih asli atau tidak mengalami perubahan

(modifikasi)?”. Untuk menjaga integritas data, sistem harus memiliki

kemampuan untuk mendeteksi manipulasi pesan oleh pihak-pihak yang tidak

berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain

kedalam pesan yang sebenarnya. Di dalam kriptografi, layanan ini

direalisasikan dengan menggunakan tanda-tangan digital (digital signature).

Pesan yang telah ditandatangani menyiratkan bahwa pesan yang dikirim

adalah asli.

(3)

kebenaran sumber pesan (data origin authentication). Dua pihak yang saling

berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia dapat

memastikan sumber pesan. Pesan yang dikirim melalui saluran komunikasi

juga harus diotentikasi asalnya. Dengan kata lain, aspek keamanan ini dapat

diungkapkan sebagai pertanyaan: “Apakah pesan yang diterima benar-benar

berasal dari pengirim yang benar?”. Otentikasi sumber pesan secara implisit

juga memberikan kepastian integritas data, sebab jika pesan telah dimodifikasi

berarti sumber pesan sudah tidak benar. Oleh karena itu, layanan integritas

data selalu dikombinasikan dengan layanan otentikasi umber pesan. Didalam

kriptografi, layanan ini direalisasikan dengan menggunakan tanda-tangan

digital (digital signature). Tanda-tangan digital menyatakan sumber pesan.

4. Nirpenyangkalan (non-repudiation), adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan

menyangkal melakukan pengiriman atau penerima pesan menyangkal telah

menerima pesan. Sebagai contoh misalkan pengirim pesan memberi otoritas

kepada penerima pesan untuk melakukan pembelian, namun kemudian ia

menyangkal telah memberikan otoritas tersebut. Contoh lainnya, misalkan

seorang pemilik emas mengajukan tawaran kepada toko mas bahwa ia akan

menjual emasnya. Tetapi, tiba-tiba harga emas turun drastis, lalu ia

membantah telah mengajukan tawaran menjual emas. Dalam hal ini, pihak

toko emas perlu prosedur nirpenyangkalan untuk membuktikan bahwa pemilik

emas telah melakukan kebohongan.

2.4 Algoritma Kriptografi

Algoritma kriptografi merupakan langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut.

Algoritma kriptografi terdiri dari tiga fungsi dasar yaitu (Ariyus,2008):

(4)

Dekripsi : Deksripsi merupakan kebalikan dari enkripsi, dimana pesan yang telah dienkripsi dikembalikan menjadi plaintext (pesan asli) sehingga menjadi pesan yang dapat dimengerti.

Kunci : kunci yang dipakai untuk melakukan enkripsi dan dekripsi, kunci terbagi menjadi dua yaitu, kunci pribadi (private key) dan kunci umum (public key).

Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang dipakainya :

 Algoritma Simetri (menggunakan satu kunci untuk enkripsi dan

dekripsinya)

 Algoritma Asimetri ( menggunakan kunci yang berbeda untuk enkripsi dan dekripsi)

2.4.1 Algoritma Simetri

Algoritma ini juga disebut sebagai algoritma klasik, karena menggunakan kunci yang sama untuk kegiatan enkripsi dan dekripsinya. Dimana, disaat pengiriman pesan dilakukan, penerima pesan harus mengetahui kunci dari pesan yang dikirim. Kunci disini memegang peranan penting untuk melakukan enkripsi dan dekripsi, oleh karena itu kunci tidak boleh diketahui oleh orang lain. Algoritma yang memakai kunci simetri adalah:

 Data Encryption Standart (DES)  RC2, RC4, RC5, RC6

 International Data Encryption Algorithm (IDEA)  Advanced Encryption Standart (AES)

 One Time Pad (OTP)

 A5

 Dan lain sebagainya.

2.4.2 Algoritma Asimetri

(5)

 Kunci umum (public key): Kunci yang boleh semua orang

tahu(dipublikasikan)

 Kunci pribadi (private key): Kunci yang dirahasiakan (hanya boleh

diketahui satu orang)

Kedua kunci tersebut saling berhubungan, kunci umum dapat digunakan untuk mengenkripsi pesan namun tidak dapat mengdekripsi pesan, dekripsi pesan hanya dapata dilakukan dengan menggunakan kunci pribadi.

Algoritma yang memakai kunci public adalah :

 Digital Signature Algorithm (DSA)

 RSA

 Diffie-Hellman (DH)

 Elliptic Curve Cryptography (ECC)  Dan lain sebagainya.

2.5 Advanced Encryption Standard (AES)

Advanced Encryption Standard (AES) dipublikasikan oleh NIST (National Institute of Standard and Technology) pada tahun 2001. AES merupakan blok kode simetris untuk menggantikan DES (Data Encryption Standard) DES terbukti menjadi algoritma enkripsi yang aman di dunia selama puluhan tahun. Meski demikian, pada tahun 1990 panjang kunci DES dianggap terlalu pendek dan pada tahun 1998, 70d ribu PC di internet berhasil membobol satu kunci DES dalam tempo 96 hari, tahun 1999 dalam tempo waktu 22 hari. Karena algoritma enkripsi DES sudah berhasil dipecahkan pada tahun 1998 dalam 96 hari, maka dibuat mesin khusus untuk memecahkan algoritma DES dan mesin tersebut dapat memecahkan 25% kunci DES dalam waktu 2,3 hari dan dapat memecahkan seluruh kunci DES dalam waktu rata-rata 4,5 hari.

(6)

pemenang, yang dibuat oleh Dr. Vincrnt Rijmen dan Dr. Joan Daemen (Ariyus, 2006).

AES merupakan sistem penyandian blok yang bersifat non-Feistel karena AES menggunakan komponen yang selalu memiliki invers dengan panjang blok 128 bit. Panjang kunci yang dimiliki AES adalah 128, 192, 256 bit. Ronde adalah proses perulangan dalam penyandian AES, jumlah ronde ditentukan dari panjang kunci yang digunakan. Adapun relasi yang dimiliki antara ronde dan panjang kunci dapat dijelaskan pada tabel dibawah ini :

Tabel 2.1 Hubungan antara jumlah ronde dan panjang kunci AES

Panjang Kunci AES (bit) Jumlah Ronde (Nr)

128

192

256

10

12

14

AES menggunakan 5 unit ukuran data: bit, byte, word, blok dan state. Bit merupakan satuan data terkecil, yaitu nilai digit sistem biner. Sedangkan byte

berukuran 8 bit, word berukuran 4 byte (32 bit), blok berukuran 16 byte (128 bit) sedangkan state adalah blok yang ditata sebagai matriks byte berukuran 4x4 (Sadikin, 2012).

2.5.1 Struktur Enkripsi AES

Proses di dalam AES merupakan transformasi terhadap state. Enkripsi AES adalah transformasi terhadap state secara berulang dalam beberapa ronde. State

(7)

Gambar 2.1 Struktur Enkripsi AES

Pada awalnya teks asli direorganisasi sebagai sebuah state. Kemudian sebelum ronde 1 dimulai blok teks asli dicampur dengan kunci ronde ke-0 (transformasi ini disebut AddRoundKey). Setelah itu, ronde ke-1 sampai dengan ronde ke-(Nr – 1) dengan Nr adalah jumlah ronde mnggunakan 4 jenis transformasi, yaitu SubBytes, ShiftRows, MixColumns dan AddRoundKey. Pada ronde terakhir, yaitu ronde ke-Nr dilakukan transformasi serupa dengan ronde lain namun tanpa transformasi MixColumns.

2.5.2 Struktur Dekripsi AES

Algoritma dekripsi AES merupakan kebalikan algoritma enkripsi AES. Algoritma dekripsi AES menggunakan transformasi invers semua transformasi dasar yang digunakan pada algoritma enkripsi AES. Setiap transformasi dasar AES memiliki transformasi invers, yaitu: InvSubBytes, InvShiftRows dan InvMixColumns. AddRoundKey merupakan transformasi yang bersifat self-invers dengan syarat menggunakan kunci yang sama. Struktur dekripsi AES dapat dilihat pada

(8)

Gambar 2.2 Struktur Dekripsi AES

2.6 Android

Pada penelitian ini aplikasi dikembangkan pada platform Android. Android adalah sistem operasi untuk mobile device yang berbasis Linux yang juga

merupakan “Open Mobile Platform” yang dikembangkan oleh Google. Android dikembangkan dari system operasi Linux dan aplikasinya dibuat dengan menggunakan Java. Android memiliki keunggulan sebagai software yang memakai basis kode komputer yang bisa didistribusikan secara terbuka (open source) sehingga pengguna bisa membuat aplikasi baru didalamnya. Android memiliki aplikasi native Google yang terintegrasi seperti Pushmail Mail, Google Maps dan Google Calender. Android juga mampu menjalankan beberapa aplikasi sekaligus yang tidak terbatas, baik aplikasi-aplikasi yang berasal dari bawaan

system atau tambahan dari Android Market, sebagai contoh mendengar music sambil browsing dan menerima notifikasi dapat dilakukan dengan mudah.

2.7

Web Service

(9)

sistem tersebut melalui layanan-layanan (service) yang disediakan oleh sistem yang menyediakan Web Service (Siswwoutomo,2004).

Web Service menyimpan data informasi dalam format XML, sehingga data ini dapat diakses oleh sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa compiler. Ada beberapa perbedaan antara website dengan Web Service, antar lain adalah website memiliki web interface dibuat untuk berinteraksi langsung dengan user, dibuat untuk bekerja pada web browser. Sedangkan Web Service memiliki tampilan yang kurang menarik, dibuat untuk berinteraksi dengan aplikasi lain baik beda sistem operasi maupun beda konsep sekalipun, dibuat untuk bekerja pada semua tipe client aplikasi (Richardson, Ruby, 2007).

REST (Representational State Transfer) Web Service adalah suatu gaya arsitektur perangkat lunak untuk pendistribusian sistem hipermedia seperti WWW. Secara spesifik, REST merujuk pada suatu prinsip-prinsip arsitektur jaringan yang menggariskan pendefinisian dan pengalamatan sumber daya. Istilah ini sering digunakan untuk mendeskripsikan semua interface sederhana yang mengirimkan data melalui HTTP tanpa ada tambahan lapisan pesan seperti SOAP. Keuntungan lain dari antarmuka REST adalah request dan respon dapat dipendekkan. Prinsip dasar desain REST adalah membuat pemetaan one-to-one

antara operasi create, read, update, dan delete yang menggunakan method

sebagai POST untuk membuat sebuah resource pada server. GET untuk menerima sebuah resource. PUT untuk proses update state dari resource. DELETE untuk menghapus resource. Dalam konsep arsitektur REST web service,

membuat panggilan ke suatu HTTP API secara signifikan lebih mudah daripada ke SOAP API, karena membutuhkan library client, membutuhkan pengenalan, dan kebiasaan (Hamad,Saad,2010).

Sedangkan HTTP API adalah asli dari semua bahasa pemrograman dan hanya melibatkan HTTP request dengan parameter sesuai yang ditambahkan, sehingga lebih memudahkan dalam melakukan proses pemanggilan. HTTP API mudah untuk testing dan troubleshoot, karena dapat membangun panggilan dengan tidak lebih dari sekedar browsing dan memeriksa respon dalam jendela

browser itu sendiri. Karena berbasis HTTP/RESTful, API dapat dikonsumsi menggunakan request GET sederhana, dan server proxy/reverse-proxy dapat melakukan cache atas respon tersebut dengan mudah. Untuk mengakses RESTful

Gambar

Tabel 2.1 Hubungan antara jumlah ronde dan panjang kunci AES
Gambar 2.1 Struktur Enkripsi AES
Gambar 2.2 Struktur Dekripsi AES

Referensi

Dokumen terkait

“Dokumentasi sudah sejak lama digunakan dalam penelitian karena dalam banyak hal dokumen sebagai sumber data yang dapat dimanfaatkan untuk menguji, menafsirkan, bahkan

Sehingga apabila sepanjang mengenai kepastian hukum anak sah maka diatur dalam Pasal 250 Burgelijk Wetboek voor Indonesie (BW) atau yang dikenal juga dengan Kitab

c Klaras merupakan bagian dari tanaman pisang yang keberadaanya belum diperhatikan padahal mengandung hemiselulosa tinggi sehingga dapat dijadikan media tanam jamur.

Mata Pelajaran Nilai Rata-rata Rapor.. Nilai Ujian

Hasil penelitian ini telah membuktikan bahwa penerapan metode mengajar presentasi personal dapat meningkatkan motivasi peserta didik melalui perilaku belajarnya

Dari pengamatan di atas menunjukkan bahwa persentase tertinggi habitat kalong-kalong di Kebun Raya Bogor ialah pohon kedondong (Spondias sp). Mungkin karena pohon kedondong

- Sarana belajar ttg Kesehatan Ibuhamil Dalam bentuk tatap muka kelompok untuk. Meningkatkan pengetahuan dan ketrampilan ibu-ibu mengenai

Huruf kapital tidak dipakai sebagai huruf pertama nama jabatan dan pangkat yang tidak merujuk kepada nama orang, nama instansi, atau nama tempat