Abstrak
Keamanan yang terdapat dalam suatu aplikasi maupun jaringan komunikasi memiliki algoritma yang
akan dibahas dalam jurnal ini. Seperti halnya algoritma DES, RSA, SSL, MD5, DH, DESede, DSA,dan
PBA. Dan setiap algoritma yang dihasilkan memiliki cara enkripsi masing – masing dan unik.
Sehingga dalam jurnal berikut akan dijelaskan bagaimana cara mengimplementasikan dalam dunia
nyata. Dan bagaimana prinsip kerja yang dilakukan dalam aplikasi dan pengiriman data di dunia
nyata.
1
DES merupakan algoritma cipher blok 2.2 RSA (Rivest, Shamir, Adlemen)
yang tergolomg dengan kriptografi simetri. DES RSA adalah algoritma kriptografi kunci
melakukan enkripsi 64 bit plainteks menjadi 64 bit public yang paling popular. Keamanan algoritma
chiperteks 56 bit yang merupakan internal key yang RSA berada pada tingkat kesulitan memfaktorkan
diambil dari eksternal key dengan panjang 64 bit. bilangan yang besar menjadi faktor prima. Proses
Skema global dari algoritma DES adalah pemfaktoran dilakukan untuk memperoleh private
sebagai berikut: key. Selama faktor prima belum dihasilkan maka
1. Blok plainteks dipermutasi dengan matriks keamanan algoritma masih tetap terjamin.[3]
permutasi awal (initial permutation/IP) Pada algoritma RSA terdapat 3 layanan
2. Hasil permutasi awal kemudian di enchipering utama yaitu key generato, enkripsi, dan dekripsi.
sebanyak 16 kali (16 putaran). Setiap putaran Dan kunci yang terdapat pada RSA ada 2 jenis
menggunakan internal key yang berbeda. yaitu: Public Key dan Private key. Dimana public
3. Hasil enchipering kemudian dipermutasi key untuk melakukan enkripsi, dan public
dengan maktriks balikan(invers initial mengetahui. Sedangkan untuk private key sifatnya
-1
permutation/IP ) menjadi blok chiperteks.[2] rahasia dan berfungsi untuk dekripsi.[4]
Untuk membangkitkan pasangan kunci
yang terdapat pada RSA menggunakan algoritma
Blok Plainteks sebagai berikut:
1. Dipilih 2 buah bilangan prima sembarang yang
besar, p dan q. Nilai p dan q harus dirahasiakan
IP 2. Dihitung n = p X q, besar nilai n tidak perlu
dirahasiakan
16 kali
3. Dihitung m = (p – 1)(q – 1)
4. Dipilih sebuah bilangan bulat sebagai kunci
publik, disebut namanya e, yang relatif prima
Enchipering
terhadap m.
e relatif prima terhadap m artinya faktor
pembagi terbesar keduanya adalah 1, secara
matematis disebut gcd (e,m) = 1. Untuk
mencarinya dapat digunakan algo-ritma Euclid
-1
IP 5. Dihitung kunci privat, disebut namanya d
sedemikian agar (d x e) mod m = 1. Untuk
mencari nilai d yang sesuai dapat juga
digunakan algoritma Extended Euclid.[3]
Blok Chiperteks RSA dapat berguna baik untuk key
distribution (key exchange) maupun untuk digital
Gambar 2[2]
signature, karena merupakan system pertama yang
Skema Global Algoritma DES
dapat digunakan oleh key distribution dan digital
signature.RSA terkenal karena semua standart
protocol kriptografi memperbolehkan
2
menggunakan RSA termasuk pada SSl/TLS dan 2.4 MD5 (Message Digest 5)
SSH.[5] MD5 adalah algoritma message digest
yang dikembangkan oleh Ronald Rivest pada tahun
2.3 SSL (Secure Socket Layer) 1991.MD5 mengambil pesan dengan panjang
SSL (Secure Socket Layer) adalah salah sembarang dan menghasilkan message digest 128
satu jenis keamanan yang dibuat oleh Netscape bit. Pada MD5 pesan diproses dalam blok 512 bit
yang merupakan perusahaan pembuat web browser dengan empat round berbeda.[1]
terpopuler di tahun 1995. Adanya SSL tersebut
berfungsi untuk mengamankan sesi komunikasi 2.5 DH(Diffie Helman)
antar proses yang terdapat di dua komputer yang Walaupun Diffie-Hellman adalah sistem
berbeda. Cara pengamanan yang dilakukan diawali kriptografi public key yang pertama, Diffiee-
dengan handshake, yang kemudian dienkripsi Hellman tidak sepopuler RSA karena hanya dapat
antara client dan server selama proses berlangsung. digunakan untuk key agreement. Menggunakan
Tujuan dari adanya handshake adalah: Diffie-Hellman, memiliki dua pengguna, sebut saja
1. Server authentication (optional) A dan B, yang mana dapat membuat kunci rahasia
2. Menentukan parameter enkripsi yang hanya diketahui oleh A dan B, meskipun
3. Client Authentication (optional) komunikasi antara A dan B dapat dilihat semua
Proses handshake yang terjadi adalah: orang. Diffie-Hellman menggunakan fnite field
1. Client mengirim ke server GF(q) yang sangat besar. A dan B. keduanya
2. Server mengirim ke client mengetahui GF(q) dan elemen g 2 GF(q)¤. GF(q)
3. Melakukan server authentication dan g tidak perlu dirahasiakan, jadi boleh saja
4. Menggunakan data yang didapat, dan client diketahui semua orang. Meskipun tidak harus, g
membuat suatu premaster secret untuk sesi sebaiknya merupakan generator untuk GF(q)¤, atau
5. Melakukan digital signature setidaknya memiliki order yang besar agar range
6. Jika permintaan authentication dengan digital untuk pembuatan kunci cukup besar. Di±e-Hellman
signature gagal, maka proses akan dihentikan bekerja sebagai berikut:
7. Client dan server membuat master A memilih, menggunakan random number
menggunakan premaster secret generator, a, mengkomputasi ga 2 GF(q)¤,
8. Clientmemberi tahu server bahwa kunci esi dan mengirim ga ke B.
akan digunakan untuk mengenkripsi B melakukan hal yang serupa, yaitu
komunikasi lebih lanjut memilih, menggunakan random number
9. Servermemberi tahu client bahwa kunci sesi generator, b, mengkomputasi gb 2 GF(q)¤,
akan digunakan untuk mengenkripsi dan mengirim gb ke A.
komunikasi lebih lanjut
Setelah menerima gb, A mengkomputasi
10. Handshake selesai
kunci rahasia k = (gb)a = gab 2 GF(q)¤.
Keamanan yang dilakukan ini berfungsi untuk
B, setelah menerima ga, mengkomputasi
mengamankan web browser.[1]
kunci rahasia k = (ga)b = gab 2 GF(q)¤
.
Setelah selesai, A dan B mengetahui kunci rahasia k
= gab, akan tetapi orang lain tidak bisa
3
mendapatkan k = gab meskipun mengetahui g, ga, RSA digunakan untuk mengenkripsi digest sebesar
dan gb. Ini didasarkan pada asumsi bahwa untuk 160 bit. Parameter yang digunakan oleh DSA
mendapatkan gab, orang lain harus mengkomputasi adalah sebagai berikut
logaritma diskrit dari ga atau gb untuk Suatu bilangan prima p yang dipilih
mendapatkan a atau b terlebih dahulu, dan menggunakan random number generator
komputasi logaritma diskrit terlalu sukar. [1] minimum 512 bit, sebaiknya 1024 bit.:
Suatu bilangan prima q yang dipilih
2.6 DESede (Triple DES) menggunakan random number generator
Enkripsi dengan DES sudah dianggap sebesar 160 bit dimana q membagi p ¡ 1.
tidak memadai karena kunci efektif sebesar 56 bit Untuk implementasi, mungkin lebih
sudah terlalu kecil. Standard Triple DES mudah untuk memilih q terlebih dahulu
menggunakan algoritma DES dengan 3 kunci kemudian memilih p dimana p ´ 1 (mod q).
seperti dalam gambar 3 berikut: Suatu bilangan x yang dipilih
menggunakan random number generator
dimana 0 < x < q .[1]
4
3. Pembahasan Desain Keamanan Prinsip Kerja:
Pada sisi client terdapat 2 algoritma yaitu
3.1 Initial State DESede dan DSA. Dimana pada algoritma
DESede melakukan authority certificate
dengan memberikan digital signature untuk
melanjutkan proses. Dan plaintext di random
Client Server
dengan algoritma DESede agar tidak bisa di
hack dengan pihak tak bertanggungjawab.
PBE encryption PBE encryption
DESede Client password
Random salt
server password
DESede
Kemudian di generate oleh algoritma DSA
Random salt
terdapat akses keamanan. Dimana akses signaturenya agar data atau pesan dapat
tersebut yang terdapat pada client memiliki dibaca. Dan plaintext terjamin hingga server.
Public Key
Client (DH) Encrypted Message Encrypted Message
didekripsi di server dan menyamakan digital DESede Public Key
+
Digital Signature
Server (DSA)
Encrypted Message
Public Key Encrypted Message INTERNET
Client (DH) +
server Digital Signature
Private Key
Client
(DSA) Gambar 6
Generate
Encrypted with
user2
Client DESede
Sent to server Skema Keamanan Data pada LOGIN
Public Key Encrypted Message
INTERNET
Client
DESede Public Key (DSA)
Server
(DSA)
Prinsip Kerja:
Decrypted with
Pada sisi client melakukan login. Dan sisi
DESede
Public Key
Client
client terdapat 2 algoritma yaitu DESede dan
(DSA) Server Encrypted Message
Private Key
DSA. Dimana pada algoritma DESede
Server DESede
(DSA)
5
dengan algoritma DESede agar tidak bisa di dengan algoritma DESede agar tidak bisa di
hack dengan pihak tak bertanggungjawab. hack dengan pihak tak bertanggungjawab.
Kemudian di generate oleh algoritma DSA Kemudian di generate oleh algoritma DSA
menjadi private key. Kemudian data di menjadi private key. Kemudian data di
enkripsi dengan algoritma DESede dan data enkripsi dengan algoritma DESede dan data
kemudian dikirim ke server. Dan data kemudian dikirim ke server. Dan data
kemudian didekripsi yang kemudian diterima kemudian didekripsi yang kemudian diterima
oleh server dengan beberapa ketentuan. Yang oleh server dengan beberapa ketentuan. Yang
kemudian disamakan private key yang dikirim kemudian disamakan private key yang dikirim
dari client dan menyamakan digital dari client dan menyamakan digital
signaturenya agar data atau pesan dapat signaturenya agar data atau pesan dapat
dibaca. Dan plaintext terjamin hingga server. dibaca. Dan plaintext terjamin hingga server.
Dan plaintext username dan password yang Dan plaintext verification yang kemudian
kemudian disamakan dengan data pada server. diterima oleh client. Dengan adanya authority
Jika data sama maka login berhasil. certificate yang memberikan hak pada client
untuk mengakses halaman yang ingin dituju.
3.4 Login State 2
3.5 Data Exchange
Signed by Private
Encrypted by old DESede Key Server (DSA)
Encrypted Message
Gambar 8
Public Key Encrypted Message CLIENT +
Server (DH) Digital Signature2
Skema Keamana pada Pertukaran Data
New DESede
Private Key
Private Key
Client (DSA)
Public Key Prinsip Kerja:
DESede Server (DSA)
Client (DH)
6
memberikan digital signature sebagai tanda
asli pada plaintext agar orang yang tidak
bertanggungjawab tidak dapat mengubah data
tersebut. Hingga diterima oleh server, maka
data mulai dideksirpsi dan dicocokan oleh key
yang terdapat di server. Apabila semua
keamanan telah sama, maka server akan
melakukan response untuk client. Dengan
kembali mengenkripsi dan mengacak private
key yang baru agar tidak dapat dibaca oleh
orang yang tidak bertanggung jawab. Hingga
data diterima oleh server.
4. Daftar Pustaka