Sidang Tugas Akhir
Penerapan Algoritma RSA dan Stream Cipher Rabbit pada Aplikasi Chatting
Riyan Winangsih / J2F008067
Latar Belakang
- aplikasi chatting
- keamanan data yang ditransmisikan
- kombinasi kriptografi asimetris dan simetris
Rumusan Masalah
Bagaimana menerapkan algoritma RSA dan stream cipher Rabbit pada aplikasi chatting.
Tujuan
Menghasilkan sebuah aplikasi chatting yang menerapkan algoritma RSA dan stream cipher Rabbit untuk mengenkripsi data yang ditransmisikan.
Manfaat
Informasi dari pesan yang ditukarkan antara dua pengguna aplikasi chatting dapat tersampaikan.
Ruang Lingkup
- Pengamanan diterapkan pada live chatting sebagai customer service antara pengujung website dengan administrator website.
- Aplikasi chatting ini terdiri atas Aplikasi Chat Client dan Aplikasi Chat Server yang berbasis web. Aplikasi Chat Client dibedakan menjadi Aplikasi Dashboard Client dan Aplikasi Widget Client.
- Aplikasi Dashboard Client digunakan oleh administrator website untuk melihat pesan yang dikirimkan pengunjung website dan memberikan pesan respon.
- Aplikasi Widget Client digunakan oleh pengunjung website untuk mengirimkan pesan kepada administrator website.
- Data yang diamankan berupa teks atau string dengan panjang maksimal 128 karakter.
- Pertukaran kunci pengguna menggunakan algoritma RSA.
- Pembentukan keystream, proses enkripsi, dan dekripsi menggunakan stream cipher Rabbit.
- Bentuk implementasinya menggunakan Node.js dan basis data MongoDB.
- Model proses yang digunakan adalah Unified Process.
Kriptografi
Penulisan rahasia dengan tujuan menyembunyikan arti dari pesan (Paar & Pelzl, 2010).
Kriptografi Asimetris
Kunci untuk enkripsi berbeda dengan kunci untuk dekripsi.
RSA
Algoritma RSA ditemukan oleh Ronald Rivest, Adi Shamir, dan Leonard Adleman, pada tahun 1977. Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan-bilangan yang besar menjadi faktor prima (Caroline, 2011)
Algoritma Rabbit
Algoritma Rabbit adalah algoritma yang ditemukan oleh Martin Boesgaard, Mette Vesterager, Jesper Christiansen, dan Ove Scavenius pada Fast Software Encryption tahun 2003 (Adwitya, 2006).
Tujuan dari desain algoritma Rabbit adalah untuk mengambil keuntungan dari sifat real-valued chaotic maps dan tetap menciptakan kriptografi yang aman dan optimal dalam bentuk diskrit.
Desain algoritma Rabbit dimulai dengan membuat chaotic system dari non-linear maps yang berpasangan (Adwitya, 2006).
Unified Process
- Proses pengembangan perangkat lunak berbasis komponen
-
Iterative dan incremental
- Bertujuan untuk membangun sebuah arsitektur sistem yang kuat secara bertahap
Diagram UML yang Digunakan
- Use Case Diagram
- Class Diagram
- Sequence Diagram
- Activity Diagram
- Deployment Diagram
Node.JS
Node.js adalah platform yang dibangun pada Chrome JavaScript runtime untuk membangun aplikasi jaringan dengan mudah, cepat, dan scalable. Node.js menggunakan event-driven, non-blocking I/O model yang membuat Node.js ringan dan efisien (Joyent, 2012).
NPM
npm adalah sebuah package manager untuk JavaScript. npm memudahkan JavaScript developers untuk share, reuse code, dan memudahkan update code yang telah di-sharing (npm, Inc., 2015)
Express.js
Express.js adalah framework Node.js yang minimalis dan fleksibel untuk membangun sebuah aplikasi web (StrongLoop, 2015).
Socket.io
Socket.io adalah sebuah library JavaScript untuk aplikasi web real time yang ditujukan untuk setiap browser dan mobile device (Automattic Inc., 2015).
MongoDB
MongoDB merupakan salah satu dari Document Stores. MongoDB merupakan DBMS yang bersifat schema free dan open source. (Plugge, et al., 2010).
Local Storage
Local Storage atau HTML5 Storage adalah cara sebuah halaman web untuk menyimpan pasangan key/value secara lokal, di dalam web browser (Pilgrim, n.d.).
Alur Proses Aplikasi Chatting
Spesifikasi Perangkat
- CPU : Prosesor Intel Core i3-2350M CPU @ 2.30GHz
- Memori : 6,00GB
- Sistem Operasi : Windows 7 Ultimate 64-bit
- Node.js Version : 0.12.1
- DBMS : MongoDB 3.0.1
- Web Browser : Mozila Firefox 38.0.5, Google Chrome 43.0.2357.130
Kesimpulan
Kesimpulan yang dapat diambil dari pembuatan tugas akhir ini adalah dihasilkan aplikasi chatting berbasis web yang dapat mengamankan data yang ditransmisikan dari penyadapan. Dari hasil pengujian nampak bahwa data yang ditransmisikan oleh aplikasi dalam bentuk ciphertext. Sehingga walaupun penyadap mendapatkan data yang ditransimisikan, penyadap tidak mengerti informasi yang dikirimkan.
Saran
- Aplikasi widget dapat dipasang langsung pada website, tanpa menggunakan link untuk membuka aplikasi ke tab browser yang lain.
- Mengembangkan aplikasi chatting dengan menerapkan algoritma RSA dan stream cipher Rabbit pada mobile application.
- Menggunakan kombinasi metode kriptografi lain agar tingkat keamanannya semakin tangguh.
Sidang Tugas Akhir
Penerapan Algoritma RSA dan Stream Cipher Rabbit pada Aplikasi Chatting
Riyan Winangsih / J2F008067