Sidang Tugas Akhir – Penerapan Algoritma RSA dan Stream Cipher Rabbit pada Aplikasi Chatting – Ruang Lingkup



Sidang Tugas Akhir – Penerapan Algoritma RSA dan Stream Cipher Rabbit pada Aplikasi Chatting – Ruang Lingkup

0 0


charsabit-presentation


On Github pucceenie / charsabit-presentation

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.

Dasar Teori

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).

Desain Algoritma Rabbit

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.).

Fase Inception

Alur Proses Aplikasi Chatting

Use Case Diagram

Fase Elaboration

Class Diagram

Class Boundary

Class Control

Class Utility

Class Entity

Sequence Diagram

Signup

Key Exchange

Mengirim Pesan

Menerima Pesan

Activity Diagram

Deployment Diagram

Fase Construction

Demo Aplikasi

Pengujian

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

Generate Kunci RSA

Key Exchange

Log Message Pada Server

Penutup

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.

Terima Kasih

Sidang Tugas Akhir Penerapan Algoritma RSA dan Stream Cipher Rabbit pada Aplikasi Chatting Riyan Winangsih / J2F008067