• Tidak ada hasil yang ditemukan

BAB 3: ANALISIS DAN PERANCANGAN SISTEM

3.2. Pemodelan Sistem

Pemodelan sistem merupakan tahap penggambaran komponen-komponen di dalam suatu sistem yang akan dirancang sesuai dengan spesifikasi dan kebutuhan sistem, sehingga sistem dapat diidentifikasi dan dianalisis dengan lebih mudah. Sistem keamanan data ini akan dimodelkan dengan UML (Unified Modeling Language) menggunakan beberapa diagram, di antaranya: Use-case, Activity, dan Sequence. 3.2.1. Use-case diagram

Diagram use-case menggambarkan interaksi antara sistem dengan pengguna dan sistem yang lain, serta menjelaskan siapa yang akan menggunakan sistem dan dengan cara apa pengguna dapat berinteraksi dengan sistem. Gambar 3.5 adalah diagram use-case sistem keamanan data dengan kombinasi algoritma Rijndael dan ElGamal kurva eliptik.

Pengirim

Penerima Mengirim Pesan Acak

(Cipher) dan Kunci Acak

(Cipher-key)

Enkripsi Pesan Rahasia dengan AES

Enkripsi Kuncidengan ElGamal Kurva Eliptik

Dekripsi Pesan Acak

(Cipher) dengan AES

Dekripsi Kunci Acak dengan ElGamal Kurva Eliptik

Membangkitkan Kunci Publik Membangkitkan Kunci Privat <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> Enkripsi Plain-text Enkripsi File <<extend>> <<extend>> Dekripsi File Dekripsi Plain-text <<extend>> <<extend>> Membangkitkan Bilangan Prima dengan Metode

Miller-Rabin

<<include>>

Gambar 3.5: Diagram use-case sistem keamanan data.

Setiap use-case pada Gambar 3.5 akan dijelaskan lebih detail menggunakan naratif use-case pada Tabel 3.1 sampai Tabel 3.8:

Nama Use-Case Enkripsi Pesan Rahasia dengan AES Prioritas Tinggi

Aktor Utama Pengirim Deskripsi

Proses pengenkripsian naskah asli, berupa plain-text atau file. Use-case ini memiliki dua extended use-case, yaitu Enkripsi Plain-text dan Enkripsi File. Proses keduanya adalah sama, yang membedakannya hanya objeknya.

Kondisi Awal Pengirim memiliki naskah asli yang akan dienkripsi dan menentukan kuncinya.

Pemicu Pengirim ingin mengenkripsi naskah aslinya.

Urutan Kejadian

Aksi dari Aktor Respon dari Sistem

1: Pengirim

menginisialisasi kunci.

2: Sistem membaca kunci dan menentukan apakah menggunakan AES-128, AES-192, atau AES-256.

3: Sistem melakukan proses key schedule terhadap kunci.

4: Pengirim

menginisialisasi naskah asli.

5: Sistem membaca naskah asli dan melakukan proses pengisian blok.

6: Sistem mengenkripsi naskah asli dengan melakukan sejumlah transformasi terhadap semua blok.

7: Sistem mengubah kembali himpunan blok menjadi teks. Kesimpulan Proses berakhir jika semua blok telah ditransformasi. Kondisi Akhir Naskah asli menjadi naskah acak (cipher).

Aturan Proses

 Jika panjang kunci lebih besar dari 32 byte, maka proses tidak dapat dilakukan.

 Proses gagal jika direktori adalah folder atau direktori tidak ada (salah).

Tabel 3.1: Naratif Use-Case Enkripsi Pesan Rahasia dengan AES. Nama Use-Case Mengirim Pesan Acak (Cipher) dan Kunci Acak (Cipher-key) Prioritas Tinggi

Aktor Utama Pengirim Deskripsi

Proses pengiriman naskah acak (cipher) dan kunci acak

(cipher-key) melalui e-mail. Use-case ini menunggu output dari use-case Enkripsi Pesan Rahasia dengan AES dan Enkripsi Kunci dengan ElGamal Kurva Eliptik.

Kondisi Awal Pengirim memiliki naskah acak yang akan dikirim kepada penerima beserta kunci acaknya, dan alamat penerima.

Pemicu Pengirim ingin mengirimkan naskah acaknya dengan memilih pilihan Send.

Urutan Kejadian

Aksi dari Aktor Respon dari Sistem

1: Pengirim memilih naskah acak.

2: Pengirim menentukan alamat e-mail penerima.

3: Sistem mengirim naskah acak beserta kunci acaknya sesuai dengan alamat e-mail penerima. Kesimpulan Proses berakhir jika naskah acak dan kunci acak telah terkirim. Kondisi Akhir Naskah acak (cipher) dan kunci acak (cipher-key) telah

diterima oleh penerima.

Aturan Proses Proses tidak dapat dilanjutkan jika tidak ada koneksi internet. Proses gagal jika ukuran file terlalu besar.

Tabel 3.2: Naratif Use-Case Mengirim Pesan Acak (Cipher) dan Kunci Acak (Cipher-key).

Nama Use-Case Membangkitkan Kunci Privat Prioritas Tinggi

Aktor Utama Penerima Deskripsi

Proses membangkitkan bilangan bulat acak yang besar. Nilai nantinya akan ditambahkan secara geometri berdasarkan kurva eliptik , dengan titik ∈ untuk membuat kunci publik.

Pemicu Penerima menerima permintaan untuk membuat kunci publik. Urutan Kejadian

Aksi dari Aktor Respon dari Sistem

1: Sistem membangkitkan sebuah bilangan bulat acak yang besar. Kesimpulan Proses berakhir jika bilangan bulat acak berhasil dibangkitkan. Kondisi Akhir Diperoleh bilangan bulat acak yang besar.

Tabel 3.3: Naratif Use-Case Membangkitkan Kunci Privat. Nama Use-Case Membangkitkan Kunci Publik

Prioritas Sedang

Aktor Utama Penerima

Deskripsi

Use-case ini menunggu output dari use-case Membangkitkan Kunci Privat dan Membangkitkan Bilangan Prima dengan Metode Miller-Rabin. Prosesnya adalah menambahkan titik

∈ � dengan kunci privat secara geometri berdasarkan kurva eliptik ∈ � .

Kondisi Awal Bilangan prima , persamaan kurva eliptik ∈ � , sebuah titik acak ∈ � , dan kunci privat sudah terinisialisasi. Pemicu Penerima menerima permintaan untuk membuat kunci publik.

Urutan Kejadian

Aksi dari Aktor Respon dari Sistem

1: Penerima menerima permintaan pengirim untuk membuat kunci publik.

2: Sistem membaca parameter yang dikirim bersama dengan permintaan dari pengirim.

3: Sistem penambahkan titik ∈ � dengan kunci privat

secara geometri.

Kesimpulan Sistem berakhir jika titik berhasil ditambahkan dengan kunci privat .

Kondisi Akhir Diperoleh kunci publik hasil penambahan = ∈ � . Tabel 3.4: Naratif Use-Case Membangkitkan Kunci Publik.

Nama Use-Case Membangkitkan Bilangan Prima dengan Metode Miller-Rabin Prioritas Tinggi

Aktor Utama Pengirim Deskripsi

Proses membangkitkan bilangan bulat ganjil yang besar untuk diperiksa apakah (mungkin) prima atau komposit

menggunakan algoritma Miller-Rabin.

Kondisi Awal Pengirim menginisialisasi panjang bit bilangan prima yang akan dibangkitkan.

Pemicu Pengirim membutuhkan kunci publik yang akan dibuat oleh penerima.

Urutan Kejadian

Aksi dari Aktor Respon dari Sistem

1: Pengirim menentukan panjang bit .

2: Sistem membangkitkan sebuah bilangan bulat ganjil dengan panjang bit sama dengan .

3: Sistem memeriksa apakah (mungkin) prima atau komposit dengan algoritma Miller-Rabin.

4: Jika bilangan komposit, lanjutkan proses hingga ditemukan

yang (mungkin) prima. Kesimpulan Proses berakhir jika bilangan (mungkin) prima berhasil

dibangkitkan.

Kondisi Akhir Diperoleh bilangan (mungkin) prima sesuai dengan panjang bit yang diinisialisasi.

Aturan Proses Panjang bit memenuhi < .

Tabel 3.5: Naratif Use-Case Membangkitkan Bilangan Prima dengan Metode Miller-Rabin.

Nama Use-Case Enkripsi Kunci dengan ElGamal Kurva Eliptik Prioritas Tinggi

Aktor Utama Pengirim Deskripsi

Proses pengenkripsian kunci block cipher AES menggunakan algoritma kriptografi ElGamal kurva eliptik. Use-case ini menunggu output dari use-case Membangkitkan Kunci Publik. Kondisi Awal Pengirim memiliki kunci block cipher AES.

Pemicu

Pengirim ingin mengirimkan naskah acaknya yang berarti harus mengirim juga kuncinya yang harus terenkripsi.

Urutan Kejadian

Aksi dari Aktor Respon dari Sistem

1: Pengirim meminta kunci publik.

2: Sistem mengirim permintaan kunci publik kepada penerima.

3: Sistem menerima kunci publik yang diminta.

4: Pengirim menginisialisasi kunci.

5: Sistem mengubah kunci yang berupa teks (string) menjadi himpunan titik ∈ � .

6: Sistem menginisialisasi kunci ephemeral dengan bilangan bulat acak.

7: Sistem melakukan

perhitungan: ∈ � dan

+ ∈ � untuk

menghasilkan himpunan titik baru , ∈ � .

Kesimpulan Proses berakhir jika seluruh titik telah dihitung, sehingga menghasilkan himpunan titik baru , ∈ � . Kondisi Akhir Kunci block cipher AES menjadi kunci acak

, .

Aturan Proses Proses gagal jika parameter publik tidak memenuhi aturan kriptografi kurva eliptik.

Tabel 3.6: Naratif Use-Case Enkripsi Kunci dengan ElGamal Kurva Eliptik. Nama Use-Case Dekripsi Kunci Acak dengan ElGamal Kurva Eliptik

Prioritas Tinggi Aktor Utama Penerima Deskripsi

Proses pendekripsian kunci acak (cipher-key) menjadi kunci block cipher AES menggunakan algoritma kriptografi ElGamal kurva eliptik. Use-case ini menunggu output dari use-case Membangkitkan Kunci Privat.

Kondisi Awal Penerima memiliki kunci acak yang akan didekripsi. Pemicu Penerima menerima naskah acak dan kunci acak, lalu ingin

membuka kiriman tersebut.

Urutan Kejadian

Aksi dari Aktor Respon dari Sistem

1: Pengirim

menginisialisasi kunci acak dan kunci

privatnya.

2: Sistem melakukan perhitungan

∈ (� ) dan

3: Sistem mengubah kembali

himpunan titik ∈ � menjadi teks (string).

Kesimpulan Proses berakhir jika seluruh titik , selesai dihitung, sehingga mendapatkan kembali ∈ � . Kondisi Akhir Kunci acak , ∈ � menjadi kunci asli ∈ � . Aturan Proses Proses gagal jika parameter publik tidak sama dengan yang

digunakan pada proses enkripsi.

Tabel 3.7: Naratif Use-Case Dekripsi Kunci Acak dengan ElGamal Kurva Eliptik. Nama Use-Case Dekripsi Pesan Acak (Cipher) dengan AES

Prioritas Tinggi Aktor Utama Penerima

Deskripsi

Proses pendekripsian naskah acak (cipher) menjadi naskah asli menggunakan algoritma kriptografi Rijndael. Use-case ini menunggu output dari use-case Dekripsi Kunci Acak dengan ElGamal Kurva Eliptik. Sama seperti use-case Enkripsi Pesan Rahasia dengan AES, use-case ini juga memiliki dua extended use-case, yaitu Dekripsi Plain-text dan Dekripsi File.

Kondisi Awal Penerima memiliki naskah acak yang akan didekripsi dan kunci block cipher AES.

Pemicu

Penerima menerima naskah acak, membukanya (jika naskah acaknya berupa string, salin ke clipboard), kemudian memilih pilihan Decrypt.

Urutan Kejadian

Aksi dari Aktor Respon dari Sistem

1: Penerima menginisialisasi kunci.

2: Sistem membaca kunci dan menentukan apakah

menggunakan 128, AES-192, atau AES-256.

3: Sistem melakukan proses key schedule terhadap kunci.

4: Penerima menginisialisasi naskah acak.

5: Sistem membaca naskah acak dan melakukan proses pengisian blok.

6: Sistem mendekripsi naskah acak dengan melakukan sejumlah transformasi terhadap semua blok.

7: Sistem mengubah kembali himpunan blok menjadi teks.

Kesimpulan Proses berakhir jika semua blok telah ditransformasi. Kondisi Akhir Naskah acak menjadi naskah asli.

Aturan Proses

Proses gagal jika kunci tidak sama dengan yang digunakan saat enkripsi.

Proses gagal jika direktori adalah folder atau direktori tidak ada (salah).

Tabel 3.8: Naratif Use-Case Dekripsi Pesan Acak (Cipher) dengan AES. 3.2.2. Activity diagram

Diagram activity adalah diagram yang digunakan untuk menggambarkan aliran proses bisnis, langkah-langkah dalam use-case, atau perilaku (metode) dari sebuah objek.

Diagram activity sistem keamanan data dengan kombinasi algoritma Rijndael (AES) yang akan mengenkripsi naskah asli, dan ElGamal kurva eliptik yang akan mengenkripsi kunci Rijndael diperlihatkan pada Gambar 3.6.

Enkripsi pesan rahasia dengan AES

Membangkitkan bilangan prima dengan

metode Miller-Rabin

Membangkitkan kunci publik Mengenkripsi kunci dengan

ElGamal kurva eliptik Mengirim pesan acak (cipher) dan kunci acak

Dekripsi kunci acak dengan ElGamal kurva eliptik

Dekripsi pesah acak (cipher) dengan AES

Pengirim Penerima

Meminta kunci publik

Enkripsi file Enkripsi plain-text Enkripsi file Enkripsi plain-text Membangkitkan kunci privat

3.2.3. Sequence diagram

Diagram sequence digunakan untuk menggambarkan interaksi antara aktor dengan sistem dalam skenario use-case dengan mendeskripsikan waktu hidupnya, serta meng-identifkasi messages yang masuk ke dan keluar dari sistem.

Pengirim Penerima :AES Service :ECElGamal Service

generatePublicKey(securityLevel) :Main Service decrypt(cipher) message :PrimeGenerator Service probablePrime(bitLength) large prime p encrypt(message) cipher public key Q encrypt(key, Q) cipher key send(cipher + cipherKey) secret message decrypt(cipherKey, n) key

Gambar 3.7: Diagram sequence sistem keamanan data.

Dokumen terkait