RSA_Paper

41
Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com i NUMERISASI PESAN DENGAN METODE ENKRIPSI RSA Tugas Mata Kuliah Rekayasa Perangkat Lunak 1 Di Susun Oleh : 1. Yudya Rahman ( 50405773 ) 2. Robby Andreas ( 50405914) 3. M. Sajadi ( 50405445) 4. Fajar Fathurrahman ( 50406272) 5. Johan Lasmita ( 50406763) FAKULTAS TEKNOLOGI INDUSTRI JURUSAN TEKNIK INFORMATIKA UNIVERSITAS GUNADARMA 2009

Transcript of RSA_Paper

Page 1: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com i

NUMERISASI PESAN DENGAN METODE ENKRIPSI RSA

Tugas Mata Kuliah Rekayasa Perangkat Lunak 1

Di Susun Oleh :

1. Yudya Rahman ( 50405773 )

2. Robby Andreas ( 50405914)

3. M. Sajadi ( 50405445)

4. Fajar Fathurrahman ( 50406272)

5. Johan Lasmita ( 50406763)

FAKULTAS TEKNOLOGI INDUSTRI JURUSAN TEKNIK INFORMATIKA

UNIVERSITAS GUNADARMA

2009

Page 2: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com ii

DAFTAR ISI

1. Paradigma Umum

1.1 Urgensi Sistem Keamanan ......................................................................... 1

1.2 Hacker, Cracker dan Motif ........................................................................ 2

1.3 Jenis Serangan Sekuriti .............................................................................. 4

1.4 Parameter Sistem Keamanan Jaringan Komputer……………………….. 5

2. Kriptografi

2.1 Pengertian Dasar ..................................................................................... 13

2.2 Cryptographic System (cryptosystem) .................................................... 14

2.3 Cryptographic Protokol ........................................................................... 15

2.4 Penyerangan Terhadap Protokol .............................................................. 17

2.5 Berbagai Macam Basic Cryptanalytic Attacks ...................................... 18

2.6 Secure Socket Layer .................................................................................. 19

3. Algoritma Enskripsi RSA

3.1 Contoh Permasalahan ................................................................................ 22

3.2 Skema Metode RSA …........................................................................... 28

3.3 Kripto Kunci Publik RSA .................................................................... …. 29

3.3.1 Algoritma RSA …………............................................................... 29

3.3.2 Contoh RSA……………………..................................................... 29

3.3.3 Contoh RSA Lanjutan (Enkripsi Pesan)…………………….......... 30

3.3.4 Contoh RSA Lanjutan (Dekripsi Pesan)…………………….......... 30

3.4 Implementasi RSA.................................................................................... 31

4. Software RSA

4.1 Cryptographic Primitive ………….......................................................... 32

4.2 Implementasi Software Cryptographic Primitive ………….................... 33

Page 3: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com iii

4.2.1 Struktur Data……………………………………………………… 34

4.2.2 Implementasi Program…………………………………………….. 34

Kesimpulan …………………………………………………………........... 36

Daftar Pustaka……………………………………………………………… 38

Page 4: RSA_Paper

1. Paradigma Umum

1.1 Urgensi Sistem Keamanan

Dalam dunia komunikasi data global yang selalu berubah, hubungan Internet

yang murah, dan cepatnya perkembangan software, keamanan menjadi isu

yang semakin penting. Keamanan saat ini menjadi suatu kebutuhan dasar

karena komputasi global tidak aman. Sebagai contoh, dengan berpindahnya

data user dari titik A ke titik B di internet, ia akan melalui beberapa titik lain

selama perjalanan, membuka kesempatan bagi pihak lain untuk memotong

data, merubah data bahkan merubah tujuan data .

Keamanan jaringan komputer sebagai bagian dari sebuah sistem informasi

adalah sangat penting untuk menjaga validitas dan integritas data, serta

menjamin ketersediaan layanan bagi penggunanya. Sistem harus dilindungi

dari segala macam serangan dan usaha-usaha penyusupan, atau pemindaian

oleh pihak yang tidak berhak. Berbagai metode digunakan untuk

meningkatkan system informasi dan jaringan computer, agar tidak dapat

dengan mudah ditembus oleh berbagai serangan, baik serangan dari luar

maupun dari dalam.

Beberapa fakta yang membuat sistem keamanan data menjadi penting adalah :

a. Tidak ada sistem komputer yang dapat diamankan secara total, yang

dapat dilakukan adalah membuat kesulitan bagi orang lain untuk

mengganggu sistem komputer user.

b. Semakin aman sistem user, semakin intrusif keamanan yang

diperlukan. Perlu ditentukan tindakan yang membuat sistem masih

dapat digunakan dan aman untuk digunakan. Jika mempunyai site yang

berukuran besar hingga menengah, memerlukan suatu kebijakan

keamanan (Security Policy) yang berisikan tingkat keamanan yang

dibutuhkan oleh site dan auditing apa saja yang digunakan untuk

memeriksanya.

Page 5: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 2

c. Setiap individu mempunyai privasi yang berbeda. Sebelum

mengamankan suatu sistem, perlu ditentukan tingkat ancaman yang di

hadapi, risiko apa saja yang perlu atau tidak perlu diambil, dan

seberapa rentan sistem terhadap gangguan.

1.2 Hacker, Cracker dan Motif

Cracker merupakan individu maupun kelompok orang yang memanfaatkan

hasil penemuan penyusupan, terhadap komputer lain untuk melakukan

eksploitasi, dan mengambil manfaat dari hasilnya. Seorang cracker dapat

melakukan exploitasi di mana saja dan kapan saja, tanpa harus mempunyai

pengetahuan khusus. Cracker jenis ini dikenal sebagai ``script kiddies''.

Motivasi para cracker sangat beragam, diantaranya adalah untuk propaganda

( deface web site / email ), kriminal murni, penyerangan destruktif (akibat

dendam atau ketidaksukaan terhadap suatu insitusi), dan lain-lain. Apapun

motif dari cracker pasti selalu ada pihak yang dirugikan akibat tindakannya.

Berbeda dengan Cracker, Hacker adalah entitas yang menemukan kelemahan

(vunerability) sistem dalam konteks security incidents. Seorang hacker bisa

menjadi seorang cracker, tetapi seorang cracker belum tentu menguasai

kemampuan yang dipunyai seorang hacker.

Pada prakteknya, suatu pembentukan sistem yang aman, akan mencoba

melindungi adanya beberapa kemungkinan serangan, yang dapat dilakukan

pihak lain terhadap user antara lain :

a. Intrusion. Pada penyerangan ini, seorang penyerang akan dapat

menggunakan sistem komputer yang user miliki. Sebagian penyerang jenis

ini, menginginkan akses sebagaimana halnya pengguna yang memiliki hak

untuk mengakses sistem.

b. Denial of services. Penyerangan jenis ini, mengakibatkan pengguna yang

sah tak dapat mengakses sistemnya sendiri. Sebagai contoh adalah

Distributed Denial of Services (DDOS) yang mengakibatkan beberapa

Page 6: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 3

situs internet tak bisa diakses. Seringkali orang melupakan jenis serangan

ini dan hanya berkonsentrasi pada intrusion saja.

c. Joyrider. Pada serangan ini disebabkan oleh, orang yang merasa iseng dan

ingin memperoleh kesenangan dengan cara menyerang suatu sistem.

Mereka masuk ke sistem karena beranggapan bahwa mungkin data yang di

dalamnya menarik. Rata-rata mereka karena rasa ingin tahu, tapi ada juga

yang menyebabkan kerusakan atau kehilangan data.

d. Vandal. Jenis serangan ini bertujuan untuk merusak sistem. Seringkali

ditujukan untuk site-site besar.

e. Scorekeeper. Jenis serangan ini hanyalah bertujuan, untuk mendapatkan

reputasi dengan cara mengcrack sistem sebanyak mungkin. Sebagian besar

dari mereka tertarik pada situs-situs tertentu saja. Sebagian dari mereka tak

begitu peduli dengan data yang ada di dalamnya. Saat ini jenis ini lebih

dikenal dengan istilah script kiddies

f. Mata-mata. Jenis serangan ini bertujuan untuk memperoleh data atau

informasi rahasia dari pihak kompetitor. Saat ini semakin banyak

perusahaan yang memanfaatkan jasa ini.

Terdapat beberapa macam mata-mata, yaitu :

1. The Curious (Si Ingin Tahu) - tipe penyusup ini pada dasarnya

tertarik menemukan jenis sistem dan data yang anda miliki.

2. The Malicious (Si Perusak) - tipe penyusup ini berusaha untuk

merusak sistem, atau merubah web page anda, atau sebaliknya

membuat waktu dan uang anda kembali pulih.

3. The High-Profile Intruder (Si Profil Tinggi) - tipe penyusup ini

berusaha menggunakan sistem untuk memperoleh popularitas dan

ketenaran. Dia mungkin menggunakan sistem profil tinggi anda

untuk mengiklankan kemampuannya.

Page 7: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 4

4. The Competition (Si Pesaing) - tipe penyusup ini tertarik pada data

dalam sistem.

1.3 Jenis Serangan Sekuriti

Serangan pada suatu sistem jaringan komputer sendiri pada dasarnya

memiliki 3 gelombang trend utama yaitu (Schneier, 2000)

a. Gelombang pertama adalah serangan fisik

Serangan ini ditujukan kepada fasilitas jaringan, perangkat elektronis dan

komputer. Sebagai pertahanan terhadap serangan jenis ini bisaanya

digunakan sistem backup ataupun sistem komputer yang terdistribusi,

sehingga mencegah kesalahan di satu titik mengakibatkan seluruh sistem

menjadi tak bekerja. Cara pemecahan terhadap serangan ini telah diketahui

dengan baik. Jaringan internet sendiri didesain untuk mengatasi

permasalahan seperti ini.

b. Gelombang pertama adalah serangan sintatik

Serangan ini ditujukan terhadap keringkihan (vulnerability ) pada

perangkat lunak, celah yang ada pada algoritma kriptografi atau protokol.

Serangan Denial of Services (DoS) juga tergolong pada serangan jenis ini.

Serangan jenis inilah yang saat ini paling populer. Tetapi relatif cara

penanganannya telah diketahui dan bisaanya pihak administrator atau

pengguna yang lalai menerapkannya.

c. Gelombang pertama adalah serangan semantik

Serangan jenis ini memanfaatkan arti dari isi pesan yang dikirim. Dengan

kata lain adalah menyebarkan disinformasi melalui jaringan, atau

menyebarkan informasi tertentu yang mengakibatkan timbulnya suatu

kejadian. Pada dasarnya banyak pengguna cenderung percaya apa yang

mereka baca. Seringkali keluguan mempercayai berita ini disalah-gunakan

pihak tertentu untuk menyebarkan isu-isu yang menyesatkan.

Page 8: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 5

1.4 Parameter Sistem Keamanan Jaringan Komputer

Menurut Jay Ramachandran dalam bukunya yang berjudul “Designing Security

Architecture Solutions”, yang menjadi dasar prinsip atau parameter, pada

keamanan sebuah system jaringan computer itu ada 7 prinsip. Antara lain :

1.Authentication, 2. Authorization atau Access Control, 3. Privacy / Confidential,

4. Integrity, 5. Availability, 6. Non-Repudiation, 7. Auditing. Ketujuh parameter di

samping akan dibahas sebagai berikut selengkapnya.

a. Authentication

Menyatakan bahwa data atau informasi yang digunakan, atau diberikan oleh user

adalah asli milik user tersebut, begitu pula dengan server yang digunakan dan

system informasi yang diakses. Serta aman dari serangan pada jaringan berupa

DNS Corruption atau DNS Cache Poison, Spoofing, Situs Palsu, User dan

Password Palsu. DNS Forgery attack atau dikenal dengan serangan situs palsu,

merupakan salah satu cara yang dapat dilakukan oleh seseorang untuk mencuri

data-data penting orang lain, dengan cara melakukan penipuan. Salah satu bentuk

penipuan yang bisa dilakukan adalah penipuan data-data DNS.

DNS itu sendiri adalah, sebuah sistem yang akan menterjemahkan nama sebuah

situs, atau host menjadi alamat IP situs, atau host tersebut. Cara kerja DNS cukup

simple, yaitu sebuah host mengirimkan paket (bisaanya dengan tipe UDP) yang

pada header, paket tersebut berisikan alamat host penanya, alamat DNS resolver,

pernyataan yang diinginkan, serta sebuah nomor identitas. DNS resolver akan

mengirimkan paket jawaban, yang sesuai ke penanya.

Pada paket jawaban tersebut, terdapat nomor identitas, yang dapat dicocokkan

oleh penanya, dengan nomor identitas yang dikirimnya. Karena cara kerja yang

cukup simple, dan tidak adanya metode otentikasi dalam sistem komunikasi

dengan paket UDP, maka sangat memungkinkan seseorang untuk berpura-pura

menjadi DNS resolver, dan mengirimkan paket jawaban palsu dengan nomor

Page 9: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 6

identitas yang sesuai ke penanya, sebelum paket jawaban dari DNS resolver resmi

diterima oleh penanya.

Dengan cara ini, seorang penyerang dapat dengan mudah mengarahkan seorang

pengguna, untuk melakukan akses ke sebuah layanan palsu, tanpa diketahui

pengguna tersebut. Sebagai contoh, seorang penyerang dapat mengarahkan

seorang pengguna internet banking, untuk melakukan akses ke situs internet

banking palsu yang dibuatnya, untuk mendapatkan data-data pribadi dan kartu

kredit pengguna tersebut. Untuk dapat melakukan gangguan dengan memalsukan

data DNS, seseorang membutuhkan informasi-informasi antara lain : 1. Nomor

identitas pertanyaan (16 bit); 2. Port tujuan pertanyaan; 3. Alamat IP DNS

resolver; 4. Informasi yang ditanyakan; dan 5. Waktu pertanyaan.

Untuk menjaga keamanan pada parameter authentication ini, biasanya user

menggunakan metode Digital Signature. Contoh dari penggunaannya adalah

menggunakan teknologi Secure Socket Layer (SSL) atau Transport Layer Security

(TLS) untuk web dan mail server. SSL merupakan sebuah protocol yang

menjamin keamanan data yang dikirimkan, tidak dapat dicuri dan diubah oleh

pihak lain yang tidak berkepentingan, juga melindungi user dari pesan palsu yang

mungkin dikirimkan oleh pihak lain.

Tahapan-tahapan yang harus dilalui dengan menggunakan SSL adalah: 1.

Negoisasi algoritma yang akan digunakan kedua belah pihak; 2. Otentikasi

menggunakan Public Key Encryption (RSA, Diffie-Helman, DSA, atau Fortezza);

3. Komunikasi data dengan menggunakan Symmetric Key Encryption (RC2,

RC4,IDEA, DES, TRIPLE DES atau AES). Untuk fungsi hash 1 arah :

MD5(Message-Digest Algorith 5) atau SHA (Secure Hash Algorithm). Aplikasi

yang banyak menggunakan SSL adalah aplikasi perbankan berbasiskan web (e-

banking).

Page 10: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 7

b. Authorization atau Access Control

Pada parameter ini berfungsi sebagai pengaturan hak akses, bagi user yang

berkepentingan di dalamnya. Siapa saja yang dapat melakukan apa ? Atau

darimana ? menuju kemana ? Dengan menggunakan mekanisme user , atau

password atau mekanisme lainnya. Pada parameter ini terdapat pembagian kelas

atau tingkatan. Contoh dari penggunaan atau implementasinya, bisa dilihat pada

aplikasi firewall yaitu dengan menggunakan Network Proxy.

Tugas sebuah proxy adalah untuk mewakili klien-klien yang ada, untuk

melakukan hubungan dengan server-server tujuan. Bagi klien yang akan

melakukan koneksi ke sebuah server, proxy adalah server tersebut. Sedangkan

bagi server yang dihubungi, proxy adalah klien-nya. Dengan menggunakan proxy,

akan lebih sulit bagi pihak luar untuk melakukan serangan ke jaringan computer

internal, karena pihak tersebut hanya dapat berhubungan dengan proxy tersebut,

sehingga pihak luar tersebut tidak dapat mengetahui lokasi sebenarnya dari server

yang dihubunginya. Sebuah proxy juga dapat memiliki sederetan access-list

(ACL) yang akan mengatur hak akses klien ke server.

Network Proxy juga dapat difungsikan terbalik, menjadi sebuah reverse proxy.

Tujuan utama dari reverse proxy adalah, untuk melindungi server-server di

jaringan internal. Karena semua request dari klien eksternal akan diterima oleh

reverse proxy, maka paket-paket request yang berbahaya bagi server, akan

tersaring dan tidak berbahaya bagi server internal organisasi akan diterima. Selain

itu ACL proxy server, dapat melakukan scenario pembatasan bandwidth atau

delaypools pada traffic antar jaringan. Kelemahan dari proxy adalah antara klien

dan server tidak memiliki hubungan langsung. Oleh karena itu, proxy tidak dapat

digunakan pada protokol-protokol ataupun aplikasi yang membutuhkan interaksi

langsung antara klien dan server.

Page 11: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 8

c. Privacy atau Confidentially

Berfungsi sebagai keamanan terhadap data-data pribadi, pesan-pesan atau

informasi lainnya yang sensitive. Contoh serangan pada point ini adalah serangan

pada jaringan, berupa aktifitas Packet Sniffing atau penyadapan dan adanya aksi

Keylogger.

Umumnya terjadi karena sebuah kebijakan atau Policy yang dinilai kurang jelas.

Hal ini terjadi dari berbagai pihak, apakah Admin yang nakal atau ISP yang

nakal? Untuk meminimalisir keadaan seperti ini, salah satunya adalah dengan

menggunakan teknologi Enkripsi atau Kriptografi.

Packet Sniffing, selain sebagai menjadi alat untuk melakukan kejahatan, juga bisa

digunakan sebagai alat pertahanan. Dengan melakukan analisa paket-paket yang

melalui sebuah media jaringan komputer, pengelola dapat mengetahui apabila ada

sebuah host yang mengirimkan paket-paket yang tidak normal, atau paket – paket

yang berbahaya bagi keamanan, misalnya karena terinfeksi virus. Selain itu packet

sniffer juga bisa menjadi alat, untuk melakukan analisa permasalahan yang sedang

dihadapi sebuah jaringan komputer. Misalkan ketika sebuah host tidak dapat

berhubungan dengan host lainnya, yang berada pada kelompok jaringan yang

berbeda, maka dengan packet sniffer, pengelola jaringan komputer dapat

melakukan penelusuran dimana permasalahan koneksi itu terletak.

d. Integrity

Maksud pada poin ini adalah, bahwa informasi atau pesan itu dipastikan tidak

dirubah maupun berubah. Serangan pada jaringan, dapat berupa aktifitas IP

Spoofing, Mail Modification, Trojan Horse, Man In The Midle Attack (MITM

Attack). Beberapa bentuk serangan, yang akan di bahas lebih lanjut pada point ini

adalah, IP Spoofing dan MITM Attack. IP Spoofing adalah sebuah model

serangan, yang bertujuan untuk menipu seseorang. Serangan ini dilakukan dengan

cara, mengubah alamat asal sebuah paket, sehingga dapat melewati perlindungan

firewall, dan menipu host penerima data.

Page 12: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 9

Hal ini dapat dilakukan karena pada dasarnya alamat IP asal sebuah paket,

dituliskan oleh sistem operasi host yang mengirimkan paket tersebut. Dengan

melakukan raw-socket-programming, seseorang dapat menuliskan isi paket yang

akan dikirimkan setiap bit-nya sehingga untuk melakukan pemalsuan data dapat

dilakukan dengan mudah. Salah satu bentuk serangan yang memanfaatkan metode

IP Spoofing adalah 'man- in- the - middleattack'. Pada serangan ini, penyerang

akan berperan sebagai orang ditengah antara dua pihak yang sedang

berkomunikasi. Misalkan ada dua pihak

yaitu pihak A dan pihak B lalu ada penyerang yaitu C. Setiap kali A mengirimkan

data ke B, data tersebut akan dicegat oleh C, lalu C akan mengirimkan data

buatannya sendiri ke B, dengan menyamar sebagi A. Paket balasan dari B ke A

juga dicegat oleh C yang kemudian kembali mengirimkan data 'balasan'

buatannya sendiri ke A. Dengan cara ini, C akan mendapatkan seluruh data yang

dikirimkan antara A dan B, tanpa diketahui oleh A maupun C. Untuk mengatasi

serangan yang berdasarkan IP Spoofing, sebuah sistem operasi harus dapat

memberikan nomor-urut yang acak ketika menjawab inisialisasi koneksi dari

sebuah host. Dengan nomor urut paket yang acak, akan sangat sulit bagi seorang

penyerang untuk dapat melakukan pembajakan transmisi data.

Selain itu, untuk mengatasi model serangan 'man-in-the-middle-attack', perlu ada

sebuah metode untuk melakukan otentikasi host yang kita hubungi. Otentikasi

dapat berupa digital certificate yang eksklusif dimiliki oleh host tersebut.

Konfigurasi firewall yang tepat juga dapat meningkatkan kemampuan jaringan

komputer dalam menghadapi IP Spoofing. Firewall harus dibuat agar dapat

menolak paket-paket dengan alamat IP sumber jaringan internal yang masuk dari

interface yang terhubung dengan jaringan eksternal. Untuk meminimalisir

serangan-serangan tersebut bisa menggunakan teknologi Digital Signature dan

Kriptografi seperti PGP, protocol 802.1x, WEP(Wired Equivalent Privacy), WPA.

Page 13: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 10

e. Availability

Availability merupakan keamanan, atas ketersediannya sebuah layanan informasi.

Serangan yang bisaanya terjadi pada jaringan, adalah DOS atau denial of service,

baik disadari atau sengaja maupun tidak. Aktifitasnya berupa Malware, Worm,

Virus, dan Bomb Mail yang sering memacetkan akses jaringan.

Untuk meminimalisir serangan-serangan tersebut, bisa menggunakan teknologi

Firewall dan Router Filtering, Backup dan Redundancy. Banyak metode-metode

yang dapat diterapkan untuk membuat jaringan komputer menjadi lebih aman,

salah satunya adalah dengan menggunakan metode pertahanan Intrusion

Detection System (IDS) dan Intrusion Prevention System (IPS).

IDS dan IPS adalah, sistem yang banyak digunakan untuk mendeteksi dan

melindungi, sebuah sistem keamanan dari serangan, oleh pihak luar maupun

dalam. Sebuah IDS dapat berupa, IDS berbasiskan jaringan komputer atau

berbasiskan host. Pada IDS berbasiskan jaringan komputer, IDS akan menerima

copy packet yang ditujukan pada sebuah host, untuk kemudian memeriksa paket -

paket tersebut. Apabila ternyata ditemukan paket yang berbahaya, maka IDS akan

memberikan peringatan pada pengelola sistem.

Karena paket yang diperiksa, hanyalah salinan dari paket yang asli, maka

sekalipun ditemukan paket yang berbahaya, paket tersebut akan tetap mencapai

host yang ditujunya. Arsitektur system pada IDS terdiri dari tiga komponen yaitu :

1. Sensor; 2. Analyzer; 3. Database System. Seperti pada Gambar 1 Diagram Blok

IDS dibawah ini.

Gambar 1 Diagram Blok IDS

Page 14: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 11

Komponen sensor berfungsi untuk mengambil data dari jaringan. Sensor

merupakan bagian dari sistem deteksi dini dari sistem keamanan yang dirancang.

Untuk itu digunakan suatu program yang berfungsi sebagai intrusion detector

dengan kemampuan packet logging dan analisis traffik yang realtime.

Analyzer berfungsi untuk analisa paket yang lewat pada jaringan. Informasi dari

analyzer yang akan menjadi input bagi sistem lainnya. Sebuah IPS bersifat lebih

aktif lagi daripada IDS. Bekerja sama dengan application firewall, sebuah IPS

dapat memberikan keputusan, apakah sebuah paket dapat diterima atau tidak oleh

sistem. Apabila IPS menemukan bahwa paket yang dikirimkan adalah paket yang

berbahaya, maka IPS akan memberitahu firewall sistem untuk menolak paket data

tersebut, dan melakukan follow-up lebih lanjut pada paket data yang ditolak

tersebut.

Dalam membuat keputusan, apakah sebuah paket data berbahaya atau tidak, IDS

dan IPS dapat mempergunakan metode-metode sebagai berikut : 1.

Signaturebased Intrusion Detection System, pada metode ini telah tersedia daftar

signature yang dapat digunakan, untuk menilai apakah paket yang dikirimkan

berbahaya atau tidak. Sebuah paket data akan dibandingkan dengan daftar yang

sudah ada.

Metode ini akan melindungi sistem dari jenis-jenis serangan yang sudah diketahui

sebelumnya. Oleh karena itu, untuk tetap menjaga keamanan sistem jaringan

komputer, data signature yang ada harus tetap ter-update secara berkala; 2.

Anomaly-based Intrusion Detection System, pada metode ini pengelola jaringan

harus melakukan konfigurasi terhadap IDS dan IPS, sehingga IDS dan IPS dapat

mengetahui pola paket seperti apa saja, yang akan ada pada sebuah system

jaringan komputer. Sebuah paket anomali adalah, paket yang tidak sesuai dengan

kemampuan jaringan computer tersebut. Apabila IDS dan IPS menemukan ada

anomali pada paket yang diterima, atau dikirimkan, maka IDS dan IPS akan

memberikan peringatan pada pengelola jaringan (IDS), atau akan menolak paket

Page 15: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 12

tersebut untuk diteruskan (IPS). Untuk metode ini, pengelola jaringan harus terus

– menerus memberi tahu IDS dan IPS bagaimana lalu lintas data yang normal

pada sistem jaringan komputer tersebut, untuk menghindari adanya salah

penilaian oleh IDS atau IPS.

Kelemahan pada penggunaan metode IDS dan IPS, pada system jaringan

computer adalah dengan mempergunakan sumber daya komputasi yang cukup

besar. Dan khusus untuk IPS, dengan adanya IPS maka waktu yang dibutuhkan

sebuah paket untuk dapat mencapai host tujuannya menjadi semakin lama, tidak

cocok untuk aplikasi-aplikasi, yang membutuhkan pengiriman data secara

realtime. Selain itu IDS dan IPS masih membuka kesempatan, untuk terjadinya

falsepostive dimana sebuah paket yang aman dinyatakan berbahaya, dan false-

negative dimana paket yang berbahaya dinyatakan aman. Untuk mengurangi

tingkat falsepositive dan false-negative, perlu dilakukan pembaharuan secara rutin

terhadap sebuah IDS dan IPS. Dalam implementasinya, IDS adalah sebuah unit

host yang terhubung, pada sebuah hub/switch dan akan menerima, salinan dari

paket-paket yang diproses oleh hub/switch tersebut. Sedangkan untuk IPS

biasanya diletakkan pada unit yang sama dengan firewall, dan akan memproses

paket-paket yang lewat melalui firewall tersebut.

f. Non-Repudiation

Menjaga agar jika sudah melakukan sebuah transaksi atau aktifitas online, maka

tidak dapat di sangkal lagi. Umumnya digunakan untuk aktifitas e-commerce, dan

e-learning misalnya email yang digunakan untuk bertransaksi aktifitas

pengaksesan sebuah web, menggunakan sebuah Digital Signature. Pada jaringan

dapat mengunakan Digital Signature, sertifikat dan Kriptografi. Contoh kasus

dalam e-learning, adalah website http://www.studentsite.gunadarma.ac.id, yang

setiap user yang merupakan mahasiswa dari gunadarma dapat menggunakannya

tanpa adanya system authentifikasi karena pada website tersebut telah

menggunakan digital signature untuk melakukan aktifitas akses data dan

pengiriman data.

Page 16: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 13

g. Auditing

Adanya berkas semacam rekaman komunikasi data yang terjadi pada jaringan

untuk keperluan audit, seperti mengidentifikasikan serangan-serangan pada

jaringan atau server. Implementasinya adalah pada teknologi firewall (IDS/IPS)

atau router yang menggunakan system logging (syslog).

2. Kriptografi

2.1 Pengertian Dasar

Suatu pesan yang tidak disandikan disebut sebagai plaintext ataupun dapat

disebut juga sebagai cleartext. Proses yang dilakukan untuk mengubah

plaintext ke dalam ciphertext disebut encryption atau encipherment.

Sedangkan proses untuk mengubah ciphertext kembali ke plaintext disebut

decryption atau decipherment.

Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan

dilakukan oleh cryptographer. Sedang, cryptanalysis adalah suatu ilmu dan

seni membuka (breaking) ciphertext dan orang yang melakukannya disebut

cryptanalyst.

Cryptographic system atau cryptosystem adalah suatu fasilitas untuk

mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini,

seperangkat parameter yang menentukan transformasi pencipheran tertentu

disebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau

beberapa kunci kriptografi. Secara umum, kunci-kunci yang digunakan untuk

proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada

sistem yang digunakan.

Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara

matematis sebagai berikut :

Page 17: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 14

Pada saat proses enkripsi user menyandikan pesan M dengan suatu kunci K

lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut

diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan M yang

sama seperti pesan sebelumnya.

Keamanan suatu pesan tergantung pada kunci ataupun kunci-kunci yang

digunakan, dan tidak tergantung pada algoritma yang digunakan. Sehingga

algoritma-algoritma yang digunakan tersebut dapat dipublikasikan dan

dianalisis, serta produk-produk yang menggunakan algoritma tersebut dapat

diproduksi massal. Tidak menjadi masalah apabila seseorang mengetahui

algoritma yang digunakan. Selama ia tidak mengetahui kunci yang dipakai, ia

tetap tidak dapat membaca pesan.

2.2 Cryptographic System (Cryptosystem)

Suatu cryptosystem terdiri dari sebuah algoritma, seluruh kemungkinan

plaintext, ciphertext dan kunci-kunci. Secara umum cryptosystem dapat

digolongkan menjadi dua buah, yaitu :

1. Symmetric Cryptosystem

Dalam symmetric cryptosystem ini, kunci yang digunakan untuk proses

enkripsi dan dekripsi pada prinsipnya identik, tetapi satu buah kunci dapat

pula diturunkan dari kunci yang lainnya. Kunci-kunci ini harus dirahasiakan.

Oleh karena itulah sistem ini sering disebut sebagai secret-key ciphersystem.

Jumlah kunci yang dibutuhkan umumnya adalah :

nC2 =n.(n-1)

2

dengan n menyatakan banyaknya pengguna. Contoh dari sistem ini adalah

Data Encryption Standard (DES), Blowfish, IDEA.

Page 18: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 15

2. Assymmetric Cryptosystem

Dalam assymmetric cryptosystem ini digunakan dua buah kunci. Satu kunci

yang disebut kunci publik (public key) dapat dipublikasikan, sedang kunci

yang lain yang disebut kunci private (private key) harus dirahasiakan. Proses

menggunakan sistem ini dapat diterangkan secara sederhana sebagai berikut :

bila A ingin mengirimkan pesan kepada B, A dapat menyandikan pesannya

dengan menggunakan kunci publik B, dan bila B ingin membaca surat

tersebut, ia perlu mendekripsikan surat itu dengan kunci privatnya. Dengan

demikian kedua belah pihak dapat menjamin asal surat serta keaslian surat

tersebut, karena adanya mekanisme ini. Contoh sistem ini antara lain RSA

Scheme dan Merkle-Hellman Scheme.

Setiap cryptosytem yang baik harus memiliki karakteristik sebagai berikut :

• Keamanan sistem terletak pada kerahasiaan kunci dan bukan pada

kerahasiaan algoritma yang digunakan.

• Cryptosystem yang baik memiliki ruang kunci (keyspace) yang besar.

• Cryptosystem yang baik akan menghasilkan ciphertext yang terlihat acak

dalam seluruh tes statistik yang dilakukan terhadapnya.

• Cryptosystem yang baik mampu menahan seluruh serangan yang telah

dikenal sebelumnya

2.3 Cryptographic Protokol

Suatu protokol adalah serangkaian langkah yang melibatkan dua pihak

atau lebih dan dirancang untuk menyelesaikan suatu tugas. Dari definisi ini

dapat diambil beberapa arti sebagai berikut :

• Protokol memiliki urutan dari awal hingga akhir;

• Setiap langkah harus dilaksanakan secara bergiliran;

Page 19: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 16

• Suatu langkah tidak dapat dikerjakan bila langkah sebelumnya belum

selesai;

• Diperlukan dua pihak atau lebih untuk melaksanakan protokol;

• Protokol harus mencapai suatu hasil;

Selain itu, suatu protokol pun memiliki karakteristik yang lain, yaitu :

• Setiap orang yang terlibat dalam protokol harus mengetahui terlebih

dahulu mengenai protokol dan seluruh langkah yang akan dilaksanakan;

• Setiap orang yang terlibat dalam protokol harus menyetujui untuk

mengikutinya;

• Protokol tidak boleh menimbulkan kerancuan;

• Protokol harus lengkap;

Cryptographic protocol adalah suatu protokol yang menggunakan

kriptografi. Protokol ini melibatkan sejumlah algoritma kriptografi.

Penggunaan kriptografi dalam sebuah protokol terutama ditujukan untuk

mencegah atau pun mendeteksi adanya eavesdropping dan cheating.

Fungsi Protokol

Komputer memerlukan suatu protokol formal agar dapat melakukan hal yang

bisa dilakukan manusia tanpa berpikir. Protokol digunakan untuk

mengabtraksikan proses penyelesaian suatu tugas dari mekanisme yang

digunakan. Protokol komunikasi adalah sama meskipun diimplementasikan

pada PC atau VAX.

Page 20: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 17

2.4 Penyerangan Terhadap Protokol

Penyerangan cryptographic dapat ditujukan pada beberapa hal berikut :

• Algoritma cryptographic yang digunakan dalam protokol;

• Teknik cryptographic yang digunakan untuk mengimplementasikan

algoritma dan protokol;

• Protokol itu sendiri;

Seseorang dapat mencoba berbagai cara untuk menyerang suatu protokol.

Mereka yang tidak terlibat dalam protokol dapat menyadap sebagian atau

seluruh protokol. Tindakan ini disebut penyerangan pasif, karena si penyerang

tidak mempengaruhi atau mengubah protokol, ia hanya mengamati protokol

dan berusaha untuk memperoleh informasi.

Selain itu, seorang penyerang dapat berusaha untuk mengubah protokol demi

keuntungannya sendiri. Ia dapat mengirimkan pesan dalam protokol,

menghapus pesan, atau bahkan mengubah informasi yang ada di dalam suatu

komputer. Tindakan-tindakan ini disebut sebagai penyerangan aktif, karena ia

membutuhkan suatu campur tangan aktif.

Seorang penyerang tidaklah hanya berasal dari lingkungan luar protokol,

namun ia mungkin juga berasal dari dalam protokol itu sendiri, ia dapat

merupakan salah satu pihak yang terlibat dalam protokol. Tipe penyerang

semacam ini disebut sebagai cheater. Passive cheater mengikuti protokol,

tetapi berusaha memperoleh informasi lebih banyak daripada yang

diperbolehkan protokol bagi dirinya. Active cheater mengubah protokol dalam

usahanya untuk berbuat hal yang bersifat ilegal/curang.

Usaha untuk menjaga keamanan protokol akan semakin sulit apabila pihak-

pihak yang terlibat umumnya merupakan active cheater, oleh karena itu suatu

protokol yang baik harus mampu atau pun harus aman terhadap kemungkinan

passive cheating.

Page 21: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 18

2.5 Berbagai Macam Basic Cryptanalytic Attacks

Tujuan cryptanalytic attack adalah untuk mengetahui beberapa plaintext

yang sesuai dengan ciphertext yang ada dan berusaha menentukan kunci yang

memetakan satu dengan yang lainnya. Plaintext ini dapat diketahui karena ia

merupakan standar atau karena pendugaan. Jika suatu teks diduga berada di

dalam suatu pesan, posisinya mungkin tidak diketahui, tetapi suatu pesan

lazimnya cukup pendek sehingga memungkinkan cryptanalyst menduga

plaintext yang diketahui dalam setiap posisi yang mungkin dan melakukan

penyerangan pada setiap kasus secara paralel.

Suatu algoritma enkripsi yang kuat tidak hanya mampu bertahan terhadap

serangan plaintext yang dikenal tetapi juga mampu bertahan terhadap adaptive

chosen plaintext. Dalam penyerangan ini, cryptanalyst berkesempatan

memilih plaintext yang digunakan dan dapat melakukannya secara berulang

kali, memilih plaintext untuk tahap N+1 setelah menganalisis hasil tahap N.

Yang dimaksud cryptanalytic attacks adalah usaha-usaha yang dilakukan

seseorang untuk memperoleh informasi ataupun data yang telah dienkripsi.

Secara ringkas terdapat tujuh macam basic cryptanalytic attacks berdasarkan

tingkat kesulitannya bagi penyerang, dimulai dari yang paling sulit adalah :

• Ciphertext-only attack. Dalam penyerangan ini, seorang cryptanalyst

memiliki ciphertext dari sejumlah pesan yang seluruhnya telah dienkripsi

menggunakan algoritma yang sama.

• Known-plaintext attack. Dalam tipe penyerangan ini, cryptanalyst

memiliki akses tidak hanya ke ciphertext sejumlah pesan, namun ia juga

memiliki plaintext pesan-pesan tersebut.

• Chosen-plaintext attack. Pada penyerangan ini, cryptanalyst tidak hanya

memiliki akses atas ciphertext dan plaintext untuk beberapa pesan, tetapi

ia juga dapat memilih plaintext yang dienkripsi.

Page 22: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 19

• Adaptive-chosen-plaintext attack. Penyerangan tipe ini merupakan suatu

kasus khusus chosen-plaintext attack. Cryptanalyst tidak hanya dapat

memilih plaintext yang dienkripsi, ia pun memiliki kemampuan untuk

memodifikasi pilihan berdasarkan hasil enkripsi sebelumnya. Dalam

chosen-plaintext attack, cryptanalyst mungkin hanya dapat memiliki

plaintext dalam suatu blok besar untuk dienkripsi; dalam adaptive-chosen-

plaintext attack ini ia dapat memilih blok plaintext yang lebih kecil dan

kemudian memilih yang lain berdasarkan hasil yang pertama, proses ini

dapat dilakukannya terus menerus hingga ia dapat memperoleh seluruh

informasi.

• Chosen-ciphertext attack. Pada tipe ini, cryptanalyst dapat memilih

ciphertext yang berbeda untuk didekripsi dan memiliki akses atas plaintext

yang didekripsi.

• Chosen-key attack. Cryptanalyst pada tipe penyerangan ini memiliki

pengetahuan tentang hubungan antara kunci-kunci yang berbeda.

• Rubber-hose cryptanalysis. Pada tipe penyerangan ini, cryptanalyst

mengancam, memeras, atau bahkan memaksa seseorang hingga mereka

memberikan kuncinya.

2.6 Secure Socket Layer

SSL adalah suatu protokol komunikasi pada Internet yang menyediakan

fasilitas keamanan seperti kerahasiaan, keutuhan dan keabsahan. Protokol ini

bebas dipergunakan siapa saja, bahkan didukung oleh dua browser utama,

yaitu Netscape Navigator dan Microsoft Internet Explorer. SSL juga tidak

mengkhususkan diri untuk hanya mendukung protokol tertentu – seperti

HTTP misalnya -- karena SSL menggunakan port 443 untuk berhubungan

dengan pelayan internet yang juga memiliki fasilitas SSL. Lapisan aplikasi

diatasnya dapat memanfaatkan kunci yang telah dinegosiasikan oleh SSL.

Dengan memanfaatkan SSL, aplikasi internet dapat melakukan komunikasi

yang aman melalui fasilitas yang disediakan oleh SSL, yaitu :

Page 23: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 20

1. Kerahasiaan pesan, sehingga tidak bisa dibaca oleh pihak yang tidak

diinginkan

2. Keutuhan pesan, sehingga tidak bisa diubah-ubah di tengah jalan

3. Keabsahan, sehingga meyakinkan pihak-pihak yang berkomunikasi

mengenai keabsahan pesan dan keabsahan jati diri lawan bicaranya.

Saat aplikasi menggunakan SSL, sebenarnya terjadi dua sesi, yakni sesi

handshake dan sesi pertukaran informasi. Berikut akan dijabarkan sebuah

skenario yang aman dari sesi handshake SSL :

1. Klien mengirimkan client hello yang harus dijawab dengan server hello.

Tahap ini terjadi kesepakatan atas penggunaan versi protokol, session ID,

perangkat kriptografi, metoda kompresi.

2. Pelayan kemudian dapat mengirim sertifikat kepada klien. Selain itu

pelayan bisa meminta klien untuk menunjukkan sertifikatnya – namun

tidak harus. Pelayan lantas mengirimkan pesan server hello done, lalu

menunggu jawaban dari klien.

3. Jika pelayan meminta sertifikat dengan pesan certificate request, maka

klien harus mengirimkan pesan certificate mesaage atau no certificate.

4. Pesan client key exchange kini dikirim, dimana pesan yang disandikan itu

tergantung dari algoritma kriptografi kunci publik yang disepakati pada

tahap pertama. Pesan itu berisi kunci-kunci yang dibuat secara acak oleh

klien untuk keperluan enkripsi dan perhitungan sidik jari (hash). Jika

memungkinkan, dapat pula disertai tanda tangan digital melalui

pengiriman pesan certificate verify.

5. Lalu pesan change cipher spec dikirimkan oleh klien sambil mengaktifkan

spesifikasi cipher yang telah disepakati. Hal ini dilakukan dengan

mengkopi pending cipher spec ke current cipher spec. Segera setelah itu,

Page 24: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 21

klien mengirimkan pesan finished guna mengakhiri handshake. Hal serupa

dilakukan pula oleh pelayan.

6. Akhirnya pelayan dan klien dapat bertukar pesan dengan menyandikannya

dengan kunci dan algoritma yang telah disepakati bersama pada level

aplikasi.

Guna mencegah serangan yang dilakukan terhadap pesan yang disandikan,

pelayan dan klien dapat melakukan handshake beberapa kali pada session ID

yang sama guna mengubah kunci, namun mereka tidak perlu mengubah

parameter komunikasi yang telah disepakati sebelumnya.

Klien perlu memeriksa sertifikat yang diterimanya agar lebih yakin bahwa dia

sedang berkomunikasi dengan pelayan yang diinginkan. Klien memeriksa

sertifikat digital itu dengan membandingkan tanda tangan OS (otoritas

sertifikat) pada sertifikat digital itu dengan daftar OS yang dimiliki.

Penyertaan serfikat digital OS utama pada browser akan menghindarkan klien

dari pemalsuan sertifikat OS utama.

SSL memanfaatkan teknologi kunci publik 40-bit dari RSA, yang ternyata

dapat dijebol dalam waktu 1,3 hari dengan 100 komputer menggunakan brute-

force attack. Ini tidak berarti teknologi SSL tidak bermanfaat. Tujuannya

jelas, yakni agar biaya yang dikeluarkan oleh pihak penyerang lebih besar dari

pada ‘harga’ informasi yang dienkripsi melalui SSL, sehingga secara ekonomi

tidak menguntungkan.

Sedangkan kunci enkripsi simetris yang dipergunakan adalah 128-bit (40-bit

dienkripsi dan 80-bit tidak dienkripsi saat kunci dipertukarkan). Dengan clear-

text attack, masih sangat sulit untuk memecahkannya.

Ada pula serangan yang berusaha menipu pelayan dengan merekam

pembicaraan antara klien dan pelayan sebelumnya. Dalam skenario SSL tanpa

sertifikat klien, hal ini dapat dicegah dengan penggunaan angka random yang

Page 25: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 22

dipertukarkan setiap terjadi pertukaran pesan. ClientHello.random dan

Serverhello.random dapat dibuat dan dipertukarkan saat tahap pertama.

3. Metode Kriptografi RSA

3.1 Contoh Permasalahan

Dalam berkomunikasi menggunakan jaringan internet, lubang

keamanan menjadi masalah serius karena perkembangan e-mail, e-

banking, e-business dan jenis komunikasi lainnya makin pesat untuk

mentranfer data-data penting. Sebagai contoh kasus Alice dan Bob yang

ingin berkomunikasi dengan privasi tinggi, pada kenyataannya ada pihak

ketiga yang dapat mengakses kemunikasi mereka, dalam hal ini Eve.

• Enkripsi Simetrik

Salah satu solusi untuk Alice dan Bob dalam kasus ini adalah tukar-

menukar data disertai suatu kunci digital, dimana keduanya telah sama-

sama mengetahui kunci rahasia tersebut. Alice menggunakan kunci ini

untuk mengkodekan pesan yang dia kirimkan, dan Bob merekonstruksi

pesan tersebut kembali dengan kunci yang sama. Pesan yang dienkripsi

(ciphertexts) tetap dapat diterima Eve tetapi tidak dapat membacanya

karena tidak mempunyai kunci yang sama untuk mendekripsi kode pesan

tersebut.

Page 26: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 23

• Enkripsi Kunci Publik

Dalam penggunaan model enkripsi ini, kunci publik yang

digunakan berbeda untuk enkripsi dan dekripsi. Digambarkan dalam

diagram di atas, key generator akan menghasilkan dua buah kunci publik,

dimana setiap orang dapat mengetahui dan menggunakan kunci publik ini,

tetapi hanya Bob yang mengetahui kunci privatnya untuk melakukan

dekripsi pesan yang dikirim. Metoda ini memungkinkan Alice dan Bob

tetap dapat berkomunikasi tanpa terganggu oleh pihak ke tiga.

RSA adalah salah satu dari public key criptosystem yang sangat sering

digunakan untuk memberikan privasi terhadap keaslian suatu data digital,

dimana algoritma yang digunakan adalah adanya public key 2 kunci yang

berbeda untuk encript dan decript. Keamanan enkripsi/dekripsi data model

ini terletak pada kesulitan untuk memfaktorkan modulus n yang sangat

besar. Besarnya bilangan yang digunakan mengakibatkan lambatnya

operasi yang melibatkan algoritma RSA ini. Dibandingkan dengan

algoritma private key data encription standar (DES), RSA lebih lambat

pada saat implementasi terhadap hardware.

Di tahun 1978, Rivest, Shamir dan Adleman dari MIT University

membuat sebuah algoritma untuk teori penomoran pada sebuah public-key

cryptosystem, algoritma ini dikenal di computer atau internet dengan RSA

criptosystem yang awalnya di buat dari numerisasi pesan. Misalnya,

apabila seorang user ingin menyampaikan pesan yang berbunyi dog, maka

Page 27: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 24

kata dog tadi di transformasikan dari huruf alphabet menjadi numeric

(angka). Sehingga numerisasinya menjadi d = (4), o = (15), g = (7), huruf

alphabet yang sudah di tranformsikan menjadi numeric tadi di kalikan

dengan jumlah huruf dalam alphabet dan dipangkatkan n-1 lalu

ditambahkan. Sehingga menjadi (4) X 26 (^ 2) + (15) X 26 (^1) + (7) =

3101.

1 (A) 2 (B) 3 (C) 4 (D) 5 (E)

6 (F) 7 (G) 8 (H) 9 (I) 10 (J)

11 (K) 12 (L) 13 (M) 14 (N) 15 (O)

16 (P) 17 (Q) 18 (R) 19 (S) 20 (T)

21 (U) 22 (V) 23 (W) 24 (X) 25 (Y)

26 (Z)

Secara umum algoritma metode RSA ini adalah sebagai berikut :

Key Generation

1. Dapatkan dua bilangan prima besar, p

dan q

2. Dapatkan nilai n, dimana n= pq

3. Dapatkan nilai m, dimana m= ( p-1)(q-

1)

4. Pilih sebuah angka kecil e, coprime

untuk m

5. Cari nilai d,dimana d.e% m= 1

Publish e dan n sebagai kunci publik

Ambil d dan n sebagai kunci privat

Encryption

C = Pe % n

Decryption

P = Cd % n

x % y maksudnya adalah

suatu nilai sisa x dibagi y

(% = modulus)

Page 28: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 25

Penjelasan metode ini selengkapnya adalah sebagai berikut :

1. Key Generation

a. Dapatkan 2 bilangan prima, p dan q

Besar kecilnya bilangan prima ini menentukan tingkat

keamanan data, semakin besar bilangan semakin banyak

faktorialnya yang mengakibatkan semakin sulit data dapat

dipecahkan dalam waktu singkat, sebagai contoh :

P=7

Q=19

b. Dapatkan nilai n, dimana n= p.q

n = 7 * 19

= 133

c. Dapatkan nilai m, dimana m= ( p-1)(q-1)

m = (7 - 1)(19 - 1)

= 6 * 18

= 108

d. Pilih sebuah angka kecil e, coprime untuk m.

e coprime untuk m, maksudnya adalah bilangan terbesar yang

dapat membagi e dan m untuk menghasilkan nilai 1 (pembagi

ini dinyatakan dengan gcd (greatest common divisor).

Algoritma Euclid's digunakan untuk mencari gcd dua bilangan

sebagai berikut :

e = 2 => gcd(e, 108) = 2 (no)

e = 3 => gcd(e, 108) = 3 (no)

e = 4 => gcd(e, 108) = 4 (no)

e = 5 => gcd(e, 108) = 1 (yes!)

Page 29: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 26

e. Cari nilai d,dimana d.e% m = 1

Ini sama dengan seperti mencari nilai d memenuhi d.e = 1 +

m.n, dimana n adalah bilangan integer, user dapat menuliskan

kembali pernyataan tersebut dengan d = (1+m.n)/e sehingga

nilai-nilai n dapat diselesaikan sampai didapat sebuah nilai

yang integer seperti di bawah ini :

n = 0 => d = 1 / 5 (no)

n = 1 => d = 109 / 5 (no)

n = 2 => d = 217 / 5 (no)

n = 3 => d = 325 / 5

= 65 (yes!)

Setelah langkah ini selesai didapatkan kesimpulan :

Public Key

n = 133

E = 5

Secret Key

n = 133

d = 65

2. Komunikasi

a. Enkripsi

Pesan dalam proses enkripsi harus merupakan suatu bilangan

lebih kecil dari nilai p dan q. Bagaimanapun, dalam posisi ini

user tidak mengetahui p atau q, tapi dalam prakteknya suatu

lower bound/nilai yang lebih rendah pada p dan q harus

dimunculkan. Contoh proses ini, user gunakan nilai "6".

C = Pe % n

= 65 % 133

= 7776 % 133

= 62

Page 30: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 27

b. Dekripsi

Setelah proses enkripsi seperti di atas, maka dapat dilakukan

proses dekripsi dalam beberapa langkah sebagai berikut :

P = Cd % n

= 6265 % 133

= 62 * 6264 % 133

= 62 * (622)32 % 133

= 62 * 384432 % 133

= 62 * (3844 % 133)32 % 133

= 62 * 12032 % 133

Selanjutnya mengulangi urutan operasi yang mengurangi 6265

sampai 12032 untuk mengurangi eksponen operasi tersebut

hingga menjadi 1.

= 62 * 3616 % 133

= 62 * 998 % 133

= 62 * 924 % 133

= 62 * 852 % 133

= 62 * 43 % 133

= 2666 % 133

= 6

Dengan melakukan langkah di atas, dapat dilihat bahwa pesan/data telah sama

dengan data asli sebelum enkripsi yaitu “6”. Pada perkembangannya RSA

banyak digunakan karena kemudahannya.

Page 31: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 28

3.2 Skema Metode RSA

Metode RSA terdiri dari dua kunci, yaitu :

1. Privat key d, mempunyai karakteristik :

a. Dipublikasikan bebas

b. Pengiriman balik pesan kepada pemegang kunci private untuk

meng-encript pesan M menjadi C

2. Public key (e,n), mempunyai karakteristik :

a. Rahasia pemegang (end user)

b. Digunakan untuk men-decript pesan C menjadi M yang

ditujukan kepadanya

c. Dapat berfungsi sebagai digital signature yang beroperasi

dengan menggunakan private key

3. Kedua kunci dihasilkan dengan cara :

a. Pilih secara random bilangan prima yang sangat besar p

dan q masing-masing > 512 bit

b. Hitung n = p.q dan hitung ‘euler phifunction n,Q(n)’

=(p-1)(q-1)

c. Pilih e hingga relatif prima terhadap Q(n), yaitu

ged(e,Q(n)) = 1

d. Hitung d hingga merupakan invers multipikatif modulo Q(n)

dari e yaitu ed = 1 modulo Q(n)

Page 32: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 29

3.3 Kripto Kunci Publik RSA

3.3.1 Algoritma RSA

1. Kunci Publik :

a.) n = p.q, p & q bil. Prima besar dan dirahasiakan

b.) e relatif prima terhadap F(n)=(p-1).(q-1)

2. Kunci Rahasia:

a.) d = e-1 mod F(n)

3. Enkripsi:

a.) c = me mod n

4. Dekripsi:

a.) m = cd mod n

3.3.2 Contoh RSA

1. Kunci Publik:

a.) Pilih bil. Prima, misalnya untuk p = 7 dan q = 11, n = 7.11 = 77

b.) F(n) = (p-1) . (q-1) = 6 . 10 = 60 artinya

c.) F(n) = {1,2,3,4,6,8,..,76} = { x | gcd (x , n) = 1 }

d.) Pilih e dalam { x | gcd (x , 60 ) = 1 }, misalnya e = 17

e.) Hapus p dan q dan Kunci Publik n = 77, e = 17

2. Kunci Rahasia:

a.) d = e-1 mod F(n), d .e = 1 mod 60, d =53

53 . 17 mod 60 = 901 mod 60 = 1 mod 60

Page 33: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 30

3.3.3 Contoh RSA Lanjutan (Enkripsi Pesan)

Misalkan user ingin mengenkripsikan sebuah message yang di

presentasikan oleh variable M dengan pesannya adalah “PESAN”. Langkah-

langkahnya adalah sebagai berikut :

1. Representasikan variable M = “PESAN”, ubah pesan menjadi suatu

deretan numeric m = 16 5 19 1 14

2. Untuk enkripsi digunakan rumus : c = m . e mod n, untuk masing-masing

variable alphabet. Menjadi sebagai berikut :

– c1 = 1617 mod 77 = 25

– c2 = 517 mod 77 = 3

– c3 = 1917 mod 77 = 24

– c4 = 117 mod 77 = 1

– c5 = 1417 mod 77 = 42

Sehingga hasil dari variable yang telah di enkripsi menjadi c = 25 03 24

01 42, C = “YCXAp”.

3.3.4 Contoh RSA Lanjutan (Dekripsi Pesan)

Pada contoh di atas user telah mengenkripsi pesan yang ingin di kirimkan

kepada user lain yang di tuju, sehingga si penerima pesan membaca isi pesannya

menjadi YCXAP, untuk membaca isi pesan sebenarnya si penerima pesan harus

mendekripsikannya dengan cara sebagai berikut :

1. Representasikan variable C merupakan isi sebuah pesan terenkripsi, C =

“YCXAp” , lalu ubah menjadi numeric C = 25 03 24 01 42

2. Untuk Dekripsi di gunakan rumus : m = c.d mod n

– m1 = 2553 mod 77 = 16

– m2 = 353 mod 77 = 5

– m3 = 2453 mod 77 = 19

– m4 = 153 mod 77 = 1

– m5 = 4253 mod 77 = 14

Page 34: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 31

Setelah mendapatkan hasilnya M = 16 5 19 1 14, lalu ubah deretan numeric

tersebut ke dalam huruf alphabet, sehingga isi pesan yang di terima dan di baca

oleh si penerima adalah “PESAN”

3.4 Implementasi RSA

RSA dapat di implementasikan secara hardware dan software, dimana

standar implementasi menggunakan PKCS#1. Public key e harus terlindungi

secara baik sehingga pemilihan 3,17 dan 65537 sering digunakan. Rekomendasi

PKCS#1 : 3 (0112),17 (100012) atau 65537 (100000000000000012) karena ketiga

bilangan tersebut memiliki bit 1 sebanyak 2 buah, sehingga diperlukan hanya 17

perkalian untuk operasi eksponensiasi, akibatnya operasi decript menjadi lebih

cepat.

Metoda penghitungan biner untuk Me mod n, integer M,e dan n menggunakan

algoritma modular exponential, yaitu eksponensial yang disusun dari operasi

perkalian modular dan pangkat 2 modular. Berikut adalah algoritma tersebut :

a. c :=1;

b. p :=m;

c. for i=0 to h-2

a. if ei=1 then c:=c.p mod n

b. p :=p.p mod n

d. if eh-1=1 then c:=c.p mod n

e. return c

Tiap bit dari e discan dari bit 0 LSB hingga h-1 MSB, hal ini dilakukan dalam

loop, jika ei = 1 maka dilakukan perkalian modular c.p mod n dan kemudian

diteruskan dengan p.p mod n. Algoritma ini membuat algoritma model Fermat F4

(216+1) atau 65537, melakukan 17 perkalian , yaitu 15 kali menghitung p.p mod

n dan 1 kali c.p mod n dalam loop 3 dan kemudian 1 kali c.p mod n pada langkah

4.

Page 35: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 32

4. Software RSA

Menurut rekomendasi dokumen PKCS#1, secara umum perangkat lunak untuk

implementasi RSA meliputi :

1. Cryptographic Primitives

2. Skema enkripsi

3. Skema signature

4. Sintaks ASN.1 untuk merepresentasikan kunci

Pada bahasan ini akan difokuskan pada Cryptographic primitive

4.1 Cryptographic Primitive

Cryptographic primitive adalah operasi-operasi matematika dimana

skema kriptographi dibangun yang ditujukan untuk implementasi pada

perangkat keras maupun perangkat lunak. Ada empat tipe primitive ini

seperti direkomendasikan PKCS#1, yaitu :

a.) Enkripsi

Menghasilkan representasi chipertext dari representasi pesan

dibawah kendali kunci publik. Berikut ini algoritma RSA

encription primitive (RSAEP) ((n,e),m)

Input : (n.e) kunci publik RSA

M representasi pesan, integer antara 0 dan n-1

Output : c representasi ciphertext, integer antara 0 dan n-1

Langkah :

1. jika representasi pesan m tidak berada diantara 0

dan n -1, representasi out of range dihasilkan pada

output

2. c = me mod n

3. output c

Page 36: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 33

b.) Dekripsi

Representasi pesan dari representasi ciphertext dibawah kendali

kunci privat yang berkaitan. Berikut ini algoritma RSA decription

primitive (RSADP) ((n,d),c).

Input : (n.d) kunci privat RSA

(p,q,dp,dq,qinv) kunci privat, metoda 2, c

representasi ciphertext, integer antara 0 dan n - 1

Output : m representasi pesan, integer antara 0 dan n-1

Langkah :

1 jika representasi ciphertext (cm) tidak berada

diantara 0 dan n -1, representasi out of range

dihasilkan pada output

2 jika digunakan metode 1

i. m = cd mod n

jika digunakan metode 2

ii. M 1 = cdp mod p

iii. M2 = cdp mod q

iv. h = qinv(M1 –M2) mod p

v. m =M2 + hq

3 output m

RSAEP maupun RSADP menggunakan operasi modular

exponential dan menggunakan input representasi pesan m atau

ciphertext integer modulo n Zn.

4.2 Implementasi Software Cryptographic Primitive

RSA Cryptographic primitive menspesifikasikan operasi matematik yang

dilakukan dalam melaksanakan proses enkripsi/dekripsi menggunakan

formula matematik yang sama yaitu modular exponential dengan input

eksponen yang berbeda.

Page 37: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 34

4.2.1 Struktur Data

Skema enkripsi yang aman untuk saat ini adalah menggunakan

modulus n dengan ukuran 1024 bit. Arsitektur komputer 32 bit

sekarang yang mengguanakan kompiler dengan tipe data long

integer 32 bit mengimplikasikan penggunaan tipe data yang lebih

rumit seperti array dengan 32 elemen. Namun menurut spesifikasi,

operasi dekripsi mengguanakan metode chinesse remainder

(metode 2) dari Cryptographic primitive yang dijelaskan dalam

dokumen PKCS#1, modulus yang digunakan adalah p dan q

dengan panjang 512 bit. Agar dapat memenuhi kedua metode

tersebut seperti dispesifikasikan, struktur data untuk integer

modulo n atau integer modulo p dan q yang cocok untuk

diimplementasikan Cryptographic primitive adalah array dinamis.

Operasi-operasi metematika yang terlibat dalam operasi

enkripsi/dekripsi adalah modular eksponensial, perkalian,

penjumlahan, pengurangan integer modulo n. Susunan operator

dan statement untuk mengerjakan suatu pekerjaan tertentu

merupakan suatu program.

4.2.2 Implementasi Program

Untuk implementasi dari teori di atas dapat digunakan kode

java sebagai berikut :

import java.math.BigInteger;

import java.security.SecureRandom;

class Rsa

{

private BigInteger n, d, e;

public Rsa(int bitlen)

{

SecureRandom r = new SecureRandom();

BigInteger p = new BigInteger(bitlen / 2, 100, r);

Page 38: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 35

BigInteger q = new BigInteger(bitlen / 2, 100, r);

n = p.multiply(q);

BigInteger m = (p.subtract(BigInteger.ONE))

.multiply(q.subtract(BigInteger.ONE));

e = new BigInteger("3");

while(m.gcd(e).intValue() > 1) e = e.add(new

BigInteger("2"));

d = e.modInverse(m);

}

public BigInteger encrypt(BigInteger message)

{

return message.modPow(e, n);

}

public BigInteger decrypt(BigInteger message)

{

return message.modPow(d, n);

}

}

Page 39: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 36

5 Kesimpulan

Dengan uraian-uraian di atas maka dapat diambil beberapa kesimpulan,

bahwa untuk menjaga keamanan system computer dan jaringannya, user harus

terlebih dahulu mengetahui paradigma umum, tentang sebuah keamanan

system computer dan jaringan. Parameter-paremeter apa saja yang terdapat

disana. Seperti yang telah di ungkapkan oleh Jay Ramachandran dalam

bukunya yang berjudul “Designing Security Architecture Solutions”, yang

menjadi dasar prinsip atau parameter, pada keamanan sebuah system jaringan

computer itu ada 7 prinsip. Antara lain : 1.Authentication, 2. Authorization

atau Access Control, 3. Privacy / Confidential, 4. Integrity, 5. Availability, 6.

Non-Repudiation, 7. Auditing. Pada point authentication user dituntut untuk

memastikan bahwa data atau informasi yang digunakan, atau diberikan oleh

user adalah asli milik user tersebut, begitu pula dengan server yang digunakan

dan system informasi yang diakses. Serta aman dari serangan pada jaringan

berupa DNS Corruption atau DNS Cache Poison, Spoofing, Situs Palsu, User

dan Password Palsu.

Untuk menjaga keamanan pada parameter authentication ini, biasanya user

menggunakan metode Digital Signature. Contoh dari penggunaannya adalah

menggunakan teknologi Secure Socket Layer (SSL) atau Transport Layer

Security (TLS) untuk web dan mail server.

Tahapan-tahapan yang harus dilalui dengan menggunakan SSL adalah: 1.

Negoisasi algoritma yang akan digunakan kedua belah pihak; 2. Otentikasi

menggunakan Public Key Encryption (RSA, Diffie-Helman, DSA, atau

Fortezza); 3. Komunikasi data dengan menggunakan Symmetric Key

Encryption (RC2, RC4,IDEA, DES, TRIPLE DES atau AES). Untuk fungsi

hash 1 arah : MD5(Message-Digest Algorith 5) atau SHA (Secure Hash

Algorithm). Pada point otentifikasi di gunakan metode yang menggunakan

public key encryption pada penulisan ini yaitu RSA.

Page 40: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 37

RSA adalah salah satu dari public key criptosystem yang sangat sering

digunakan, untuk memberikan privasi terhadap keaslian suatu data digital,

dimana algoritma yang digunakan adalah adanya public key 2 kunci yang

berbeda untuk encript dan decript. Keamanan enkripsi/dekripsi data model ini

terletak pada kesulitan untuk memfaktorkan modulus n yang sangat besar.

Algoritma RSA secara umum adalah, terdapatnya Kunci Publik dengan

representasi n = p.q (p & q merupakan bilangan prima besar dan di rahasiakan, e

relative prima terhadap F (n) = (p-1).(q-1), d = e-1 mod F(n). Untuk enkripsi

digunakan rumus c = m.e mod n, untuk dekripsi digunakan rumus m = c.d mod

n. Karena besarnya bilangan yang digunakan mengakibatkan relatif lambatnya

operasi yang melibatkan algoritma RSA ini. Dibandingkan dengan algoritma

private key data encription standar (DES), RSA lebih lambat pada saat

implementasi terhadap hardware.

Page 41: RSA_Paper

Numerisasi Pesan dengan Metode RSA |yudyashare.blogspot.com 38

DAFTAR PUSTAKA

[1] Adnan, _____________, Tesis, Teknik Elektro ITB, Bandung, 2001 [2] Jay Ramachandran.” Designing Security Architecture Solutions”. Wiley [3] http://bebas.vlsm.org/v03/com/ictwatch/paper/paper009.htm/ Infrastruktur

Keamanan e-Banking [4] http://bdg.centrin.net.id/~budskman/protek.htm/ Keamanan data dan metode enkripsi [5] http://www.tedi-h.com/papers/p_kripto.html/ Pengenalan Kriptografi [6] http://www.neotek.co.id/0302/03021416.pdf/ Email Sebagai Senjata Dari

Email Kaleng Sampai spam [7] http://www.bogor.net/idkf/idkf-1/network/network-security/strategi-

merancang-sekuriti-jaringan-komputer-anda-01-1998.rtf [8] http://bdg.centrin.net.id/~budskman/fed.htm/ Membongkar Program enkripsi

FED versi 1.30 [9] http://bdg.centrin.net.id/~budskman/wipe.htm / Penghapusan Data Secara

Permanen [11] http://islab.oregonstate.edu/papers/r05hssnt.pdf/ A Methodology for High-Speed Software Implementations