jenis - jenis enkripsi · pdf fileplain text cipher text initial round addroundkey standard...
TRANSCRIPT
Jenis-Jenis Enkripsi 1 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
� Kriptografi
� Data Encryption Standard (DES)
� Advanced Encryption Standard (AES)
� Digital Certificate Server (DCS)
� IP Security (IPSec)
� Kerberos
� Point to Point Tunneling Protocol (PPTP) dan Layer Two Tunneling Protocol
(L2TP)
� Remote Access Dial-in User Service (RADIUS)
� RSA Encryption
� Secure Hash Algoritm (SHA)
� MD5
� Secure Shell (SSH)
� Secure Socket Layer (SSL)
� Security Token
� Kriptografi
Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar
data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa
mengalami gangguan dari pihak ketiga. Menurut Bruce Scheiner dalam bukunya "Applied
Cryptography", kriptografi adalah ilmu pengetahuan dan seni menjaga message-message
agar tetap aman (secure).
Konsep kriptografi sendiri telah lama digunakan oleh manusia misalnya pada
peradaban Mesir dan Romawi walau masih sangat sederhana. Prinsip-prinsip yang
mendasari kriptografi yakni :
• Confidelity (kerahasiaan) yaitu layanan agar isi pesan yang dikirimkan tetap rahasia
dan tidak diketahui oleh pihak lain (kecuali pihak pengirim, pihak penerima / pihak-
pihak memiliki ijin). Umumnya hal ini dilakukan dengan cara membuat suatu
algoritma matematis yang mampu mengubah data hingga menjadi sulit untuk dibaca
dan dipahami.
• Data integrity (keutuhan data) yaitu layanan yang mampu
mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan atau
penambahan) data yang tidak sah (oleh pihak lain).
Jenis-Jenis Enkripsi 2 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
• Authentication (keotentikan) yaitu layanan yang berhubungan dengan identifikasi. Baik
otentikasi pihak-pihak yang terlibat dalam pengiriman data maupun otentikasi keaslian
data/informasi.
• Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat mencegah suatu pihak
untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa pesan
tersebut berasal dirinya).
Berbeda dengan kriptografi klasik yang menitikberatkan kekuatan pada
kerahasiaan algoritma yang digunakan (yang artinya apabila algoritma yang digunakan
telah diketahui maka pesan sudah jelas "bocor" dan dapat diketahui isinya oleh siapa saja
yang mengetahui algoritma tersebut), kriptografi modern lebih menitikberatkan pada
kerahasiaan kunci yang digunakan pada algoritma tersebut (oleh pemakainya) sehingga
algoritma tersebut dapat saja disebarkan ke kalangan masyarakat tanpa takut kehilangan
kerahasiaan bagi para pemakainya. Berikut adalah istilah-istilah yang digunakan dalam
bidang kriptografi :
• Plaintext (M) adalah pesan yang hendak dikirimkan (berisi data asli).
• Ciphertext (C) adalah pesan ter-enkrip (tersandi) yang merupakan hasil enkripsi.
• Enkripsi (fungsi E) adalah proses pengubahan plaintext menjadi ciphertext.
• Dekripsi (fungsi D) adalah kebalikan dari enkripsi yakni mengubah ciphertext menjadi
plaintext, sehingga berupa data awal/asli.
• Kunci adalah suatu bilangan yang dirahasiakan yang digunakan dalam proses enkripsi
dan dekripsi.
Kriptografi itu sendiri terdiri dari dua proses utama yakni proses enkripsi dan
proses dekripsi. Seperti yang telah dijelaskan di atas, proses enkripsi mengubah plaintext
menjadi ciphertext (dengan menggunakan kunci tertentu) sehingga isi informasi pada
pesan tersebut sukar dimengerti.
Diagram Proses Enkripsi dan Dekripsi
ciphertext plaintext plaintext
kunci dekripsi kunci enkripsi
enkripsi
dekripsi
Jenis-Jenis Enkripsi 3 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
Peranan kunci sangatlah penting dalam proses enkripsi dan dekripsi
(disamping pula algoritma yang digunakan) sehingga kerahasiaannya sangatlah
penting, apabila kerahasiaannya terbongkar, maka isi dari pesan dapat diketahui.
Secara matematis, proses enkripsi merupakan pengoperasian fungsi E
(enkripsi) menggunakan e (kunci enkripsi) pada M (plaintext) sehingga dihasilkan C
(ciphertext), notasinya :
Ee(M) – C
Sedangkan untuk proses dekripsi, merupakan pengoperasian fungsi D
(dekripsi) menggunakan d (kunci dekripsi) pada C (ciphertext) sehingga dihasilkan M
(plaintext), notasinya :
Dd(C) = M
Sehingga dari dua hubungan diatas berlaku :
Dd(Ee(M)) = M
� Data Encryption Standard (DES)
Sejarah
� Algoritma DES dikembangkan di IBM dibawah kepemimpinan W.L. Tuchman
pada tahun 1972. Algoritma ini didasarkan pada algoritma LUCIFER yang
dibuat oleh Horst Feistel.
� Algoritma ini telah disetujui oleh National Bureau of Standard (NBS) setelah
penilaian kekuatannya oleh National Security Agency (NSA) Amerika Serikat.
Tinjauan Umum
� DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis cipher
blok.
� DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit
plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci
internal (internal key) atau upa-kunci (subkey). Kunci internal dibangkitkan
dari kunci eksternal (external key) yang panjangnya 64 bit.
� Skema global dari algoritma DES adalah sebagai berikut.
1. Blok plainteks dipermutasi dengan matriks permutasi awal (initial
permutation atau IP).
Jenis-Jenis Enkripsi 4 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
2. Hasil permutasi awal kemudian di-enciphering- sebanyak 16 kali (16
putaran). Setiap putaran menggunakan kunci internal yang berbeda.
3. Hasil enciphering kemudian dipermutasi dengan matriks permutasi
balikan (invers initial permutation atau IP-1
) menjadi blok cipherteks.
Skema Global Algoritma DES
• Di dalam proses enciphering, blok plainteks terbagi menjadi dua bagian, kiri
(L) dan kanan (R), yang masing-masing panjangnya 32 bit. Kedua bagian ini
masuk ke dalam 16 putaran DES.
• Pada setiap putaran i, blok R merupakan masukan untuk fungsi transformasi
yang disebut f. Pada fungsi f, blok R dikombinasikan dengan kunci internal Ki.
Keluaran dai fungsi f di-XOR-kan dengan blok L untuk mendapatkan blok R
yang baru. Sedangkan blok L yang baru langsung diambil dari blok R
sebelumnya. Ini adalah satu putaran DES.
Secara matematis, satu putaran DES dinyatakan sebagai berikut.
Li = Ri – 1
Ri = Li – 1 ⊕ f(Ri – 1, Ki)
Gambar berikut memperlihatkan skema algoritma DES yang lebih rinci.
Jenis-Jenis Enkripsi 5 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
Plainteks
IP
L0
R0
f
⊕
),( 1001 KRfLR ⊕=L1
= R0
K1
f
⊕
),( 2112 KRfLR ⊕=L2
= R1
K2
),( 15141415 KRfLR ⊕=L15
= R14
K16
),( 16151516 KRfLR ⊕= L16
= R15
IP-1
Cipherteks
f
⊕
Gambar Algoritma Enkripsi dengan DES
Jenis-Jenis Enkripsi 6 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
• Catatlah bahwa satu putaran DES merupakan model jaringan Feistel (lihat
Gambar berikut).
1−iRLi - 1
f
⊕
iRLi
Ki
Gambar Jaringan Feistel untuk satu putaran DES
• Perlu dicatat dari Gambar Algoritma Enkripsi Dengan DES bahwa jika (L16,
R16) merupakan keluaran dari putaran ke-16, maka (R16, L16) merupakan pra-
cipherteks (pre-ciphertext) dari enciphering ini. Cipherteks yang sebenarnya
diperoleh dengan melakukan permutasi awal balikan, IP-1
, terhadap blok
pra-cipherteks.
� Advanced Encryption Standard (AES)
Pada Advanced Encryption Standard (AES), algoritma kriptogenik yang
digunakan adalah Algoritma Rijndael, yang menggunakan blok cipher simetris untuk
proses enkripsi dan dekripsi yang dapat memproses data input 128 bit dengan
menggunakan chiper key 128, 192 atau 256 bit.
Pada algoritma AES, data input atau Plaintext diproses melalui serangkaian
transformasi, disebut Chiper, yang terdiri dari transformasi SubBytes, ShiftRows,
MixColumns dan AddRoundKey, dengan menggunakan kunci kriptogenik rahasia
yaitu Cipher Key. Data yang dihasilkan cipher disebut Ciphertext dan akan diproses
untuk dikonversikan kembali menjadi plaintext melalui serangkaian transformasi,
disebut Inverse Cipher, yang terdiri dari tansformasi InvShiftRows, InvSubBytes,
AddRoundKey dan InvMixColumns, dengan menggunakan cipher key.
Jenis-Jenis Enkripsi 7 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
A. Panjang Kunci dan Ukuran Blok Rijndael
Rijndael mendukung panjang kunci 128 bit sampai 256 bit dengan step 32
bit. Panjang kunci dan ukuran blok dapat dipilih secara independen. Karena AES
menetapkan bahwa ukuran blok harus 128 bit, dan panjang kunci harus 128,
192, dan 256 bit, maka dikenal AES-128, AES-192, AES-256. Setiap blok dienkripsi
dalam sejumlah putaran tertentu bergantung pada panjang kuncinya.
Tabel Jumlah Putaran Setiap Blok pada AES
Varian AES Panjang Kunci
(Nk words)
Ukuran Blok
(Nb words)
Jumlah Putaran
(Nr) AES-128 4 4 10
AES-192 6 4 12
AES-256 8 4 14
Catatan : 1 word = 32 bit
Secara de-fakto, hanya ada dua varian AES, yaitu AES-128 dan AES-256,
karena akan sangat jarang pengguna menggunakan kunci yang panjangnya 192
bit.
Karena AES mempunyai panjang kunci paling sedikit 128 bit, maka AES
tahan terhadap serangan exhaustive key search dengan teknologi saat ini.
Dengan panjang kunci 128-bit, maka terdapat 2128
≈ 3,4 x 1038
kemungkinan
kunci. Jika digunakan sebuah mesin dengan semilyar prosesor paralel, masing-
masing dapat menghitung sebuah kunci setiap satu pico detik, maka akan
dibutuhkan waktu 1010
tahun untuk mencoba seluruh kemungkinan kunci.
B. Algoritma Rijndael
Seperti pada DES, Rijndael menggunakan substitusi dan permutasi, dan
sejumlah putaran. Untuk setiap putarannya, Rijndael menggunakan kunci yang
berbeda. Kunci setiap putaran disebut round key. Tetapi tidak seperti DES yang
berorientasi bit, Rijndael beroperasi dalam orientasi byte sehingga
memungkinkan untuk implementasi algoritma yang efisien ke dalam software
dan hardware.
Garis besar algoritma Rijndael yang beroperasi blok 128-bit dengan kunci
128-bit adalah sebagai berikut.
Jenis-Jenis Enkripsi 8 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
1. AddRoundKey : Melakukan XOR antara state awal (plainteks) dengan
cipher key. Tahap ini disebut juga initial round.
2. Putaran sebanyak Nr – 1 kali. Proses yang dilakukan pada setiap putaran
adalah :
a. ByteSub : Substitusi byte dengan menggunakan tabel substitusi
(S-box).
b. ShiftRow : Pergeseran baris-baris array state secara wrapping.
c. MixColumn : Mengacak data di masing-masing kolom array state.
d. AddRoundKey : Melakukan XOR antara state sekarang dengan round
key.
3. Final round : Proses untuk putaran terakhir :
a. ByteSub
b. ShiftRow
c. AddRoundKey
Diagram proses enkripsi AES dapat dilihat pada gambar berikut.
Plain Text
Cipher Text
Initial Round
AddRoundKey
Standard Round
1-ByteSub
2-ShiftRow
3-MixColumn
4-AddRoundKey
Final Round
1-ByteSub
2-ShiftRow
3-AddRoundKey
Nr – 1
Rounds
Cipher Key
Round Key Nn
Round Key Nr
n : putaran ke
Algoritma Rijndael mempunyai 3 parameter sebagai berikut.
1. Plainteks : Array yang berukuran 16 byte, yang berisi data masukan.
2. Cipherteks : Array yang berukuran 16 byte, yang berisi hasil enkripsi.
Jenis-Jenis Enkripsi 9 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
3. Key : Array yang berukuran 16 byte, yang berisi kunci ciphering
(disebut juga cipher key).
Dengan 16 byte, maka baik blok data dan kunci yang berukuran 128-bit
dapat disimpan di dalam ketiga array tersebut (128 = 16 x 8).
Selama kalkulasi plainteks menjadi cipherteks, status sekarang dari data
disimpan di dalam array of byte dua dimensi, state, yang berukuran NROWS x
NCOLS. Elemen array state diacu sebagai S[r,c], dengan 0 ≤ r < 4 dan 0 ≤ c < Nc
(Nc adalah panjang blok dibagi 32). Pada AES, Nc = 128/32 = 4.
Tabel S-box yang digunakan dalam transformasi ByteSub() AES
Gambar Ilustrasi Transformasi ByteSub() AES
Gambar Ilustrasi Transformasi ShiftRow() AES
Jenis-Jenis Enkripsi 10 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
Gambar Ilustrasi Transformasi MixColumn() AES
Gambar Ilustrasi Transformasi AddRoundKey() AES
C. Cipher Kebalikan (Inverse Cipher)
Cipher kebalikan merupakan algoritma kriptografi AES yang digunakan
untuk melakukan proses dekripsi cipherteks menjadi plainteksnya. Secara garis
besar, cipher kebalikan yang beroperasi blok 128-bit dengan kunci 128-bit
adalah sebagai berikut.
1. AddRoundKey : Melakukan XOR antara state awal (cipherteks) dengan cipher
key. Tahap ini disebut juga initial round.
2. Putaran sebanyak Nr – 1 kali. Proses yang dilakukan pada setiap putaran
adalah :
a. InvShiftRow : Pergeseran baris-baris array state secara wrapping.
b. InvByteSub : Substitusi byte dengan menggunakan tabel substitusi
kebalikan (inverse S-box). Tabel substitusi dapat dilihat
pada tabel 3.
c. AddRoundKey : Melakukan XOR antara state sekarang dengan round
key.
d. InvMixColumn : Mengacak data di masing-masing kolom array state.
3. Final round : proses untuk putaran terakhir :
a. InvShiftRow
b. InvByteSub
c. AddRoundKey
Jenis-Jenis Enkripsi 11 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
Tabel S-box yang digunakan dalam transformasi InvByteSub() AES
Diagram Proses Dekripsi AES
� Digital Certificate Server (DCS)
Digital Certificate Server melakukan verifikasi untuk digital signature,
autentikasi user, menggunakan public dan private key, contoh : Netscape Certificate
Server.
Jenis-Jenis Enkripsi 12 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
Digital Certificate memungkinkan anda untuk menyampaikan informasi
mengenai perusahaan anda ketika melakukan transaksi dengan pengguna situs
anda. Dengan demikian akan membuktikan identitas perusahaan anda. Digital
Certificate “mengikat” Identitas anda dengan sepasang key yang dapat digunakan
untuk melakukan enkripsi dan menandatangani informasi.
Sebuah Trusted Digital Certificate diterbitkan oleh Certificate Authority (CA) -
dalam hal ini adalah Thawte, dan di sign secara digital oleh CA dengan menggunakan
sebuah private key. Digital Certificate biasanya terdiri dari :
� Public Key Pemilik
� Nama Pemilik
� Tanggal Berlaku Public Key
� Serial Number Digital Certificate
� Digital Signature dari CA (Issuer)
Digital Certificate dapat digunakan untuk berbagai macam keperluan yang
menuntut perlindungan dan privacy data antara pengguna situs dengan server situs.
Yang paling umum adalah digunakan untuk formulir yang berisi data sensitif yang
banyak ditemukan implementasinya pada situs e-commerce, atau juga e-mail
(seperti GMail dan YahooMail)
Anda membutuhkan Digital Certificate ketika anda ingin membangun
kepercayaan pengguna situs anda, memberikan kepastian mengenai identitas
institusi anda, dan menjamin kerahasiaan data yang dimasukkan oleh pengguna
situs anda.
Sebuah Digital Certificate dapat digunakan untuk mengamankan sebuah
Domain di sebuah Server. Lisensi tambahan memungkinkan kita untuk
mengamankan domain yang sama di server yang berbeda, misalnya pada konfigurasi
load balancing yang menggunakan banyak server untuk satu domain.
� IP Security (IPSec)
IPSec (singkatan dari IP Security) adalah sebuah protokol yang
digunakan untuk mengamankan transmisi datagram dalam sebuah
internetwork berbasis TCP/IP. IPSec mendefiniskan beberapa standar untuk
melakukan enkripsi data dan juga integritas data pada lapisan kedua dalam
DARPA Reference Model (internetwork layer). IPSec melakukan enkripsi
Jenis-Jenis Enkripsi 13 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
terhadap data pada lapisan yang sama dengan protokol IP dan menggunakan
teknik Tunnelinguntuk mengirimkan informasi melalui jaringan Internet atau
dalam jaringan Intranet secara aman. IPSec didefinisikan oleh badan Internet
Engineering Task Force (IETF) dan diimplementasikan di dalam banyak
sistem operasi. Windows 2000 adalah sistem operasi pertama dari Microsoft
yang mendukung IPSec.
IPSec diimplementasikan pada lapisan transport dalam OSI Reference
Model untuk melindungi protokol IP dan protokol-protokol yang lebih tinggi
dengan menggunakan beberapa kebijakan keamanan yang dapat
dikonfigurasikan untuk memenuhi kebutuhan keamanan pengguna, atau
jaringan. IPSec umumnya diletakkan sebagai sebuah lapisan tambahan di
dalam stack protokol TCP/IP dan diatur oleh setiap kebijakan keamanan yang
diinstalasikan dalam setiap mesin komputer dan dengan sebuah skema
enkripsi yang dapat dinegosiasikan antara pengirim dan penerima. Kebijakan-
kebijakan keamanan tersebut berisi kumpulan filter yang diasosiasikan dengan
kelakuan tertentu. Ketika sebuah alamat IP, nomor port TCP dan UDP atau
protokol dari sebuah paket datagram IP cocok dengan filter tertentu, maka
kelakukan yang dikaitkan dengannya akan diaplikasikan terhadap paket IP
tersebut.
IPSec merupakan enkripsi public/private key , dirancang oleh CISCO
System, menggunakan DES 40-bit dan authentication, built-in pada produk
CISCO, solusi tepat untuk Virtual Private Network (VPN) dan Remote
Network Access.
Dalam sistem operasi Windows 2000, Windows XP, dan Windows
Server 2003, kebijakan keamanan tersebut dibuat dan ditetapkan pada level
domain Active Directory atau pada host individual dengan menggunakan
snap-in. IPSec Management dalam Microsoft Management Console (MMC).
Kebijakan IPSec tersebut, berisi beberapa peraturan yang menentukan
kebutuhan keamanan untuk beberapa bentuk komunikasi. Peraturan-peraturan
tersebut digunakan ntuk memulai dan mengontrol komunikasi yang aman
berdasarkan sifat lalu lintas IP, sumber lalu lintas tersebut dan tujuannya.
Jenis-Jenis Enkripsi 14 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
Peraturan-peraturan tersebut dapat menentukan metode-metode autentikasi
dan negosiasi, atribut proses tunnel ing, dan jenis koneksi.
Untuk membuat sebuah sesi komunikasi yang aman antara dua komputer
dengan menggunakan IPSec, maka dibutuhkan sebuah framework protokol
yang disebut dengan ISAKMP/Oakley. Framework tersebut mencakup
beberapa algoritma kriptografi yang telah ditentukan sebelumnya, dan juga
dapat diperluas dengan menambahkan beberapa sistem kriptografi tambahan
yang dibuat oleh pihak ketiga.
Selama proses negosiasi dilakukan, persetujuan akan tercapai dengan
metode autentikasi dan kemanan yang akan digunakan, dan protokol pun akan
membuat sebuah kunci yang dapat digunakan bersama (shared key) yang
nantinya digunakan sebagi kunci enkripsi data. IPSec mendukung dua buah
sesi komunikasi keamanan, yakni sebagai berikut.
• Protokol Authentication Header (AH): menawarkan autentikasi pengguna dan
perlindungan dari beberapa serangan (umumnya serangan man in the middle),
dan juga menyediakan fungsi autentikasi terhadap data serta integritas
terhadap data. Protokol ini mengizinkan penerima untuk merasa yakin bahwa
identitas si pengirim adalah benar adanya, dan data pun tidak dimodifikasi
selama transmisi. Namun demikian, protokol AH tidak menawarkan fungsi
enkripsi terhadap data yang ditransmisikannya. Informasi AH dimasukkan ke
dalam header paket IP yang dikirimkan dan dapat digunakan secara sendirian
atau bersamaan dengan protokol Encapsulating Security Payload.
• Protokol Encapsulating Security Payload (ESP): Protokol ini melakukan
enkapsulasi serta enkripsi terhadap data pengguna untuk meningkatkan
kerahasiaan data. ESP juga dapat memiliki skema autentikasi dan perlindungan
dari beberapa serangan dan dapat digunakan secara sendirian atau bersamaan
dengan Authentication Header. Sama seperti halnya AH, informasi mengenai ESP
juga dimasukkan ke dalam header paket IP yang dikirimkan.
Beberapa perangkat keras serta perangkat lunak dapat dikonfigurasikan
untuk mendukung IPSec, yang dapat dilakukan dengan menggunakan enkripsi
kunci publik yang disediakan oleh Certificate Authority (dalam sebuah public
key infrastructure) atau kunci yang digunakan bersama yang telah ditentukan
Jenis-Jenis Enkripsi 15 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
sebelumnya (skema Pre-Shared Key/PSK) untuk melakukan enkripsi secara
privat
� Kerberos
Kerberos adalah sebuah sistem autentikasi yang dikembangkan oleh Proyek
Athena di MIT. Ketika pemakai login, Kerberos mengautentikasi pemakai tersebut
(menggunakan password), dan memberikan pemakai suatu cara untuk membuktikan
identitasnya ke server dan host lain yang tersebar di jaringan.
Autentikasi ini kemudian digunakan oleh program seperti rlogin untuk
membolehkan pemakai login ke host lain tanpa password (seperti file .rhosts).
Autentikasi juga digunakan oleh sistem surat dalam rangka menjamin bahwa surat
dikirimkan kepada orang yang tepat, dan juga menjamin bahwa pengirim adalah
benar orang yang diklaimnya.
Efek keseluruhan menginstalasi Kerberos dan berbagai program bersamanya
adalah secara virtual menghilangkan kemampuan pemakai untuk menipu (spoof)
sistem agar mempercayai bahwa mereka adalah orang lain. Sayangnya, instalasi
Kerberos sangat sulit, membutuhkan modifikasi atau mengganti berbagai program
standar.
� Point to point Tunneling Protocol (PPTP) dan Layer Two Tunneling Protocol (L2TP)
Point-to-Point Tunneling Protocol. Point-to-Point Tunneling Protocol (PPTP)
menyajikan fungsionalitas VPN yang mirip dengan apa yang disediakan IPSec. PPTP
juga mendukung banyak protocol jaringan seperti IP, Internetwork Packet Exchange
(IPX), dan NetBIOS Enhanced User Interface (NetBEUI).
Layer Two Tunneling Protocol. Layer Two Tunneling Protocol (L2TP)
merupakan suatu kombinasi PPTP dan Layer Two Forwarding (L2F). L2F adalah suatu
protocol transmisi yang memungkinkan server akses dial-up membingkai lalu lintas
dial-up di dalam Point to Point Protocol (PPP) dan mentransmisikannya pada
hubungan WAN ke server L2F (router).
Jenis-Jenis Enkripsi 16 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
� Remote Access Dial-in User Service (RADIUS)
RADIUS atau Remote Authentication Dial-In User Service merupakan sebuah
protocol yang memungkinkan perusahaan untuk melakukan Authentication
(pembuktian keaslian), Authorize (otoritas/pemberian hak) dan Accounting
(akutansi) (AAA) untuk me-remote para pengguna atau user yang ingin mengakses
suatu sistem atau layanan dari pusat server jaringan komputer.
Anda mungkin telah mendapatkan pengalaman dalam hal Authentication,
misalnya saja Anda menggunakan account internet dial up untuk masuk dan
melakukan browsing untuk mendapatkan informasi mengenai berita-berita terkini.
Selain itu, anda mengecek email perusahaan untuk melihat email-email yang telah
dikirim oleh client-client anda. Dan akhir pekan ini, mungkin saja anda menggunakan
VPN (Virtual Private Network) untuk menghubungkan ke jaringan kantor perusahaan
sehingga bisa memonitoring kondisi jaringan client perusahaan anda. Agar anda bisa
menggunakan VPN dan account internet dial up maka anda harus melakukan
authentication terlebih dahulu.
Tetapi apa yang terjadi dibelakang layar ketika anda melakukan authentication
pada komputer?. Komputer harus mempunyai satu set protocol dan proses untuk
memverifikasi authentication yang telah anda lakukan. Salah satu protocol yang
mampu mengerjakan proses authentication tersebut adalah RADIUS (Remote
Authentication Dial-In User Service).
RADIUS, mula-mula dikembangkan oleh perusahan Livingston, merupakan
sebuah protocol access-control yang memverifikasi dan yang melakukan
authentication para pengguna berdasarkan metoda yang umum digunakan. RADIUS
umumnya digunakan oleh ISP (Internet Service Provider) atau penyedia layanan
internet untuk melakukan Authentication (pembuktian keaslian pengguna),
Authorize (mengatur pemberian hak/otoritas) dan Accounting (mencatat
penggunaan layanan yang digunakan).
RADIUS menjalankan sistem administrasi pengguna yang terpusat, sistem
ini akan mempermudah tugas administrator. Dapat kita bayangkan berapa
banyak jumlah pelanggan yang dimiliki oleh sebuah ISP, dan ditambah lagi
dengan penambahan pelanggan baru dan penghapusan pelanggan yang sudah
tidak berlangganan lagi. Apabila tidak ada suatu sistem administrasi yang
terpusat, maka akan merepotkan administrator dan tidak menutup kemungkinan
Jenis-Jenis Enkripsi 17 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
ISP akan merugi atau pendapatannya berkurang. Dengan sistem ini pengguna
dapat menggunakan hotspot di tempat yang berbeda-beda dengan melakukan
autentikasi ke sebuah RADIUS server. RADIUS merupakan suatu protokol yang
dikembangkan untuk proses AAA (authentication, authorization, and Accounting.)
Berikut ini adalah RFC (Request For Comment) yang berhubungan dengan
RADIUS :
� RFC2865 : Remote Authentication Dial-In User Service (RADIUS)
� RFC 2866 : RADIUS Accounting
� RFC 2867 : RADIUS Accounting for Tunneling
� RFC 2868 : RADIUS Authentication for Tunneling
� RFC2869 : RADIUS Extensions
� RFC 3162 : RADIUS over IP6
� RFC 2548 : Microsoft Vendor-Specific RADIUS Attributes
Pada awal pengembangannya, RADIUS menggunakan port 1645, yang
ternyata bentrok dengan layanan “datametrics”. Sekarang, port yang dipakai
RADIUS adalah port 1812 .
Gambar Struktur Paket Data RADIUS
Struktur paket data RADIUS pada Gambar diatas terdiri dari lima bagian, yaitu:
1. Code
Code memiliki panjang adalah satu oktet, digunakan untuk membedakan tipe
pesan RADIUS yang dikirimkan pada paket. Kode-kode tersebut (dalam
desimal) ialah :
Jenis-Jenis Enkripsi 18 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
2. Identifier
Memiliki panjang satu oktet, bertujuan untuk mencocokkan permintaan.
3. Length
Memiliki panjang dua oktet, memberikan informasi mengenai panjang paket.
4. Authenticator
Memiliki panjang 16 oktet, digunakan untuk membuktikan balasan dari
RADIUS server, selain itu digunakan juga untuk algoritma password.
5. Attributes
Berisikan informasi yang dibawa pesan RADIUS, setiap pesan dapat
membawa satu atau lebih atribut. Contoh atribut RADIUS: nama
pengguna, password, CHAP-password, alamat IP access point(AP), pesan
balasan.
� RSA Encryption
RSA di bidang kriptografi adalah sebuah algoritma pada enkripsi public key.
RSA merupakan algoritma pertama yang cocok untuk digital signature seperti halnya
ekripsi, dan salah satu yang paling maju dalam bidang kriptografi public key. RSA
masih digunakan secara luas dalam protokol electronic commerce, dan dipercaya
dalam mengamnkan dengan menggunakan kunci yang cukup panjang.
Jenis-Jenis Enkripsi 19 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
Algortima RSA dijabarkan pada tahun 1977 oleh tiga orang : Ron Rivest, Adi
Shamir dan Len Adleman dari Massachusetts Institute of Technology. Huruf RSA itu
sendiri berasal dari inisial nama mereka (Rivest—Shamir—Adleman).
Clifford Cocks, seorang matematikawan Inggris yang bekerja untuk GCHQ,
menjabarkan tentang sistem equivalen pada dokumen internal di tahun 1973.
Penemuan Clifford Cocks tidak terungkap hingga tahun 1997 karena alasan top-
secret classification.
Algoritma tersebut dipatenkan oleh Massachusetts Institute of Technology
pada tahun 1983 di Amerika Serikat sebagai U.S. Patent 4405829. Paten tersebut
berlaku hingga 21 September 2000. Semenjak Algoritma RSA dipublikasikan sebagai
aplikasi paten, regulasi di sebagian besar negara-negara lain tidak memungkinkan
penggunaan paten. Hal ini menyebabkan hasil temuan Clifford Cocks di kenal secara
umum, paten di Amerika Serikat tidak dapat mematenkannya.
Penyerangan yang paling umum pada RSA ialah pada penanganan masalah
faktorisasi pada bilangan yang sangat besar. Apabila terdapat faktorisasi metode
yang baru dan cepat telah dikembangkan, maka ada kemungkinan untuk
membongkar RSA.
Pada tahun 2005, bilangan faktorisasi terbesar yang digunakan secara umum
ialah sepanjang 663 bit, menggunakan metode distribusi mutakhir. Kunci RSA pada
umumnya sepanjang 1024—2048 bit. Beberapa pakar meyakini bahwa kunci 1024-
bit ada kemungkinan dipecahkan pada waktu dekat (hal ini masih dalam
perdebatan), tetapi tidak ada seorangpun yang berpendapat kunci 2048-bit akan
pecah pada masa depan yang terprediksi.
Semisal Eve, seorang eavesdropper (pencuri dengar—penguping),
mendapatkan public key N dan e, dan ciphertext c. Bagimanapun juga, Eve tidak
mampu untuk secara langsung memperoleh d yang dijaga kerahasiannya oleh Alice.
Masalah untuk menemukan n seperti pada ne=c mod N di kenal sebagai
permasalahan RSA.
Cara paling efektif yang ditempuh oleh Eve untuk memperoleh n dari c ialah
dengan melakukan faktorisasi N kedalam p dan q, dengan tujuan untuk menghitung
(p-1)(q-1) yang dapat menghasilkan d dari e. Tidak ada metode waktu polinomial
untuk melakukan faktorisasi pada bilangan bulat berukuran besar di komputer saat
ini, tapi hal tersebut pun masih belum terbukti.
Jenis-Jenis Enkripsi 20 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
Masih belum ada bukti pula bahwa melakukan faktorisasi N adalah satu-
satunya cara untuk memperoleh n dari c, tetapi tidak ditemukan adanya metode
yang lebih mudah (setidaknya dari sepengatahuan publik).
Bagaimanapun juga, secara umum dianggap bahwa Eve telah kalah jika N
berukuran sangat besar.
Jika N sepanjang 256-bit atau lebih pendek, N akan dapat difaktorisasi dalam
beberapa jam pada Personal Komputer, dengan menggunakan perangkat lunak yang
tersedia secara bebas. Jika N sepanjang 512-bit atau lebih pendek, N akan dapat
difaktorisasi dalam hitungan ratusan jam seperti pada tahun 1999. Secara teori,
perangkat keras bernama TWIRL dan penjelasan dari Shamir dan Tromer pada tahun
2003 mengundang berbagai pertanyaan akan keamanan dari kunci 1024-bit. Santa
disarankan bahwa N setidaknya sepanjang 2048-bit.
Pada thaun 1993, Peter Shor menerbitkan Algoritma Shor, menunjukkan
bahwa sebuah komputer quantum secara prinsip dapat melakukan faktorisasi dalam
waktu polinomial, mengurai RSA dan algoritma lainnya. Bagaimanapun juga, masih
terdapat pedebatan dalam pembangunan komputer quantum secara prinsip.
RSA memiliki kecepatan yang lebih lambat dibandingkan dengan DES dan
algoritma simetrik lainnya. Pada prakteknya, Bob menyandikan pesan rahasia
menggunakan algoritma simetrik, menyandikan kunci simetrik menggunakan RSA,
dan mengirimkan kunci simetrik yang dienkripsi menggunakan RSA dan juga
mengirimkan pesan yang dienkripasi secara simetrik kepada Alice.
Prosedur ini menambah permasalahan akan keamanan. Singkatnya, Sangatlah
penting untuk menggunakan pembangkit bilangan acak yang kuat untuk kunci
simetrik yang digunakan, karena Eve dapat melakukan bypass terhadap RSA dengan
menebak kunci simterik yang digunakan.
� Secure Hash Algoritm (SHA)
SHA adalah fungsi hash satu-arah yang dibuat oleh NIST dan digunakan
bersama DSS (Digital Signature Standard). Oleh NSA, SHA dinyatakan sebagai
standard fungsi hash satu-arah. SHA didasarkan pada MD4 yang dibuat oleh Ronald
L. Rivest dari MIT.
Jenis-Jenis Enkripsi 21 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
SHA disebut aman (secure) karena ia dirancang sedemikian sehingga secara
komputasi tidak mungkin menemukan pesan yang berkoresponden dengan message
digest yang diberikan.
Algoritma SHA menerima masukan berupa pesan dengan ukuran maksimum
264
bit (2.147.483.648 gigabyte) dan menghasilkan message digest yang panjangnya
160 bit, lebih panjang dari message digest yang dihasilkan oleh MD5.
� MD5
� MD5 adalah fungsi hash satu-arah yang dibuat oleh Ron Rivest. MD5 merupakan
perbaikan dari MD4 setelah MD4 berhasil diserang oleh kriptanalis.
� Algoritma MD5 menerima masukan berupa pesan dengan ukuran sembarang
dan menghasilkan message digest yang panjangnya 128 bit.
� Gambaran pembuatan message digest dengan algoritma MD5 diperlihatkan
pada gambar berikut.
Pesan 1000...000 Panjang Pesan
K bit Padding bits K mod 264
L x 512 bit
Y0 ... ...
Y1
Yq
YL - 1
512 512512 512
HMD5
HMD5ABCD
512 512
128128 128H
MD5
512
128 128H
MD5
512
128
128
Message Digest
(1 - 512 bit)
Pembuatan Message Digest dengan Algoritma MD5
� Langkah-langkah pembuatan message digest secara garis besar adalah sebagai
berikut.
1. Penambahan bit-bit pengganjal (padding bits)
2. Penambahan nilai panjang pesan semula
3. Inisialisasi penyangga (buffer) MD
4. Pengolahan pesan dalam blok berukuran 512 bit
Jenis-Jenis Enkripsi 22 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
1. Penambahan Bit-bit Pengganjal
• Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang
pesan (dalam satuan bit) kongruen dengan 448 modulo 512. Ini berarti panjang
pesan setelah ditambahi bit-bit pengganjal adalah 64 bit kurang dari kelipatan
512. Angka 512 ini muncul karena MD5 memperoses pesan dalam blok-blok
yang berukuran 512.
• Pesan dengan panjang 448 bit pun tetap ditambah dengan bit-bit pengganjal.
Jika panjang pesan 448 bit, maka pesan tersebut ditambah dengan 512 bit
menjadi 960 bit. Jadi, panjang bit-bit pengganjal adalah antara 1 sampai 512.
• Bit-bit pengganjal terdiri dari sebuah bit 1 diikuti dengan sisanya bit 0.
2. Penambahan Nilai Panjang Pesan Semula
• Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64
bit yang menyatakan panjang pesan semula.
• Jika panjang pesan > 264
maka yang diambil adalah panjangnya dalam modulo
264
. Dengan kata lain, jika panjang pesan semula adalah K bit, maka 64 bit yang
ditambahkan menyatakan K modulo 264
.
• Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi 512 bit.
3. Inisialisai Penyangga MD
• MD5 membutuhkan 4 buah penyangga (buffer) yang masing-masing panjangnya
32 bit. Total panjang penyangga adalah 4 × 32 = 128 bit. Keempat penyangga ini
menampung hasil antara dan hasil akhir.
• Keempat penyangga ini diberi nama A, B, C, dan D. Setiap penyangga
diinisialisasi dengan nilai-nilai (dalam notasi HEX) sebagai berikut.
A = 01234567
B = 89ABCDEF
C = FEDCBA98
D = 76543210
Jenis-Jenis Enkripsi 23 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
4. Pengolahan Pesan dalam Blok Berukuran 512 bit.
• Pesan dibagi menjadi L buah blok yang masing-masing panjangnya 512 bit (Y0 sampai
YL – 1).
• Setiap blok 512-bit diproses bersama dengan penyangga MD menjadi keluaran 128-
bit, dan ini disebut proses HMD5. Gambaran proses HMD5 diperlihatkan pada gambar
berikut.
])16..1[,,( TYABCDfABCD qF←
])32..17[,,( TYABCDfABCD qG←
])48..33[,,( TYABCDfABCD qH←
])64..49[,,( TYABCDfABCD qI←
A B C D
A B C D
A B C D
+ + + +
MDq
MDq + 1
128
Yq
512
Gambar Pengolahan blok 512 bit (Proses HMD5)
• Proses HMD5 terdiri dari 4 buah putaran, dan masing-masing putaran melakukan
operasi dasar MD5 sebanyak 16 kali dan setiap operasi dasar memakai sebuah
elemen T. Jadi setiap putaran memakai 16 elemen Tabel T.
• Pada Gambar 4, Yq menyatakan blok 512-bit ke-q dari pesan yang telah ditambah
bit-bit pengganjal dan tambahan 64 bit nilai panjang pesan semula. MDq adalah nilai
Jenis-Jenis Enkripsi 24 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
message digest 128-bit dari proses HMD5 ke-q. Pada awal proses, MDq berisi nilai
inisialisasi penyangga MD.
• Fungsi-fungsi fF, fG, fH, dan fI masing-masing berisi 16 kali operasi dasar terhadap
masukan, setiap operasi dasar menggunakan elemen Tabel T. Operasi dasar MD5
diperlihatkan pada gambar berikut.
a b c d
g
+
+
+
CLSs
+
X[k]
T[i]
Gambar Operasi dasar MD5
• Operasi dasar MD5 yang diperlihatkan pada gambar di atas dapat ditulis dengan
sebuah persamaan sebagai berikut.
a ← b + CLSs(a + g(b, c, d) + X[k] + T[i]) (7)
yang dalam hal ini,
a, b, c, d = Empat buah peubah penyangga 32-bit
(berisi nilai penyangga A, B, C, D)
Jenis-Jenis Enkripsi 25 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
g = Salah satu fungsi F, G, H, I
CLSs = Circular left shift sebanyak s bit
X[k] = Kelompok 32-bit ke-k dari blok 512 bit
message ke-q. Nilai k = 0 sampai 15.
T[i] = Elemen Tabel T ke-i (32 bit)
+ = Operasi penjumlahan modulo 232
• Fungsi fF, fG, fH, dan fI adalah fungsi untuk memanipulasi masukan a, b, c, dan d
dengan ukuran 32-bit. Masing-masing fungsi dapat dilihat pada tabel berikut.
Tabel Fungsi-fungsi dasar MD5
Nama Notasi g(a, b, c, d)
fF F(b, c, d) (b ∧ c) ∨ (~b ∧ d) fG G(b, c, d) (b ∧ d) ∨ (c ∧ ~d) fH H(b, c, d) b ⊕ c ⊕ d fI I(b, c, d) c ⊕ (b ∧ ~ d)
Catatan : Operator logika AND, OR, NOT, XOR masing-masing dilambangkan dengan ∧, ∨, ~, ⊕
• Nilai T[i] dapat dilihat pada Tabel 2. Tabel ini disusun oleh fungsi 232
× abs(sin(i)), i
dalam radian.
Tabel Nilai T[i]
T[1] = D76AA478
T[2] = E8C7B756
T[3] = 242070DB
T[4] = C1BDCEEE
T[5] = F57C0FAF
T[6] = 4787C62A
T[7] = A8304613
T[8] = FD469501
T[9] = 698098D8
T[10] = 8B44F7AF
T[11] = FFFF5BB1
T[12] = 895CD7BE
T[13] = 6B901122
T[14] = FD987193
T[15] = A679438E
T[16] = 49B40821
T[17] = F61E2562
T[18] = C040B340
T[19] = 265E5A51
T[20] = E9B6C7AA
T[21] = D62F105D
T[22] = 02441453
T[23] = D8A1E681
T[24] = E7D3FBCB
T[25] = 21E1CDE6
T[26] = C33707D6
T[27] = F4D50D87
T[28] = 455A14ED
T[29] = A9E3E905
T[30] = FCEFA3F8
T[31] = 676F02D9
T[32] = 8D2A4C8A
T[33] = FFFA3942
T[34] = 8771F681
T[35] = 69D96122
T[36] = FDE5380C
T[37] = A4BEEA44
T[38] = 4BDECFA9
T[39] = F6BB4B60
T[40] = BEBFBC70
T[41] = 289B7EC6
T[42] = EAA127FA
T[43] = D4EF3085
T[44] = 04881D05
T[45] = D9D4D039
T[46] = E6DB99E5
T[47] = 1FA27CF8
T[48] = C4AC5665
T[49] = F4292244
T[50] = 432AFF97
T[51] = AB9423A7
T[52] = FC93A039
T[53] = 655B59C3
T[54] = 8F0CCC92
T[55] = FFEFF47D
T[56] = 85845DD1
T[57] = 6FA87E4F
T[58] = FE2CE6E0
T[59] = A3014314
T[60] = 4E0811A1
T[61] = F7537E82
T[62] = BD3AF235
T[63] = 2AD7D2BB
T[64] = EB86D391
• Dari persamaan (7) dapat dilihat bahwa masing-masing fungsi fF, fG, fH, dan fI
melakukan 16 kali operasi dasar.
Jenis-Jenis Enkripsi 26 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
Misalkan notasi :
[abcd k s i]
menyatakan operasi
a ← b + ((a + g(b, c, d) + X[k] + T[i])<<<s)
yang dalam hal ini <<<s melambangkan operasi circular left shift 32-bit, maka
operasi dasar pada masing-masing putaran dapat ditabulasikan sebagai berikut.
Putaran 1: 16 kali operasi dasar dengan g(b, c, d) = F(b, c, d) dapat dilihat pada
tabel berikut.
Tabel Rincian Operasi Pada Fungsi F(b, c, d)
No. [abcd k s i]
1 2
3
4 5
6 7
8 9
10 11
12 13
14 15
16
[ABCD 0 7 1] [DABC 1 12 2]
[CDAB 2 17 3]
[BCDA 3 22 4] [ABCD 4 7 5]
[DABC 5 12 6] [CDAB 6 17 7]
[BCDA 7 22 8] [ABCD 8 7 9]
[DABC 9 12 10] [CDAB 10 17 11]
[BCDA 11 22 12] [ABCD 12 7 13]
[DABC 13 12 14] [CDAB 14 17 15]
[BCDA 15 22 16]
Putaran 2: 16 kali operasi dasar dengan g(b, c, d) = G(b, c, d) dapat dilihat pada
tabel berikut.
Jenis-Jenis Enkripsi 27 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
Tabel Rincian Operasi Pada Fungsi G(b, c, d)
No. [abcd k s i ]
1 2
3
4 5
6 7
8 9
10 11
12 13
14 15
16
[ABCD 1 5 17] [DABC 6 9 18]
[CDAB 11 14 19]
[BCDA 0 20 20] [ABCD 5 5 21]
[DABC 10 9 22] [CDAB 15 14 23]
[BCDA 4 20 24] [ABCD 9 5 25]
[DABC 14 9 26] [CDAB 3 14 27]
[BCDA 8 20 28] [ABCD 13 5 29]
[DABC 2 9 30] [CDAB 7 14 31]
[BCDA 12 20 32]
Putaran 3: 16 kali operasi dasar dengan g(b, c, d) = H(b, c, d) dapat dilihat pada
tabel berikut.
Tabel Rincian Operasi Pada Fungsi H(b, c, d)
No. [abcd k s i ]
1
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16
[ABCD 5 4 33]
[DABC 8 11 34] [CDAB 11 16 35]
[BCDA 14 23 36] [ABCD 1 4 37]
[DABC 4 11 38] [CDAB 7 16 39]
[BCDA 10 23 40] [ABCD 13 4 41]
[DABC 0 11 42] [CDAB 3 16 43]
[BCDA 6 23 44] [ABCD 9 4 45]
[DABC 12 11 46] [CDAB 15 16 47]
[BCDA 2 23 48]
Putaran 4: 16 kali operasi dasar dengan g(b, c, d) = I(b, c, d) dapat dilihat pada
tabel berikut.
Jenis-Jenis Enkripsi 28 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
Tabel Rincian Operasi Pada Fungsi I(b, c, d)
No. [abcd k s i ]
1
2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
[ABCD 0 6 49]
[DABC 7 10 50]
[CDAB 14 15 51] [BCDA 5 21 52]
[ABCD 12 6 53] [DABC 3 10 54]
[CDAB 10 15 55] [BCDA 1 21 56]
[ABCD 8 6 57] [DABC 15 10 58]
[CDAB 6 15 59] [BCDA 13 21 60]
[ABCD 4 6 61] [DABC 11 10 62]
[CDAB 2 15 63] [BCDA 9 21 64]
• Setelah putaran keempat, a, b, c, dan d ditambahkan ke A, B, C, dan D, dan
selanjutnya algoritma memproses untuk blok data berikutnya (Yq+1). Keluaran
akhir dari algoritma MD5 adalah hasil penyambungan bit-bit di A, B, C, dan D.
• Dari uraian di atas, secara umum fungsi hash MD5 dapat ditulis dalam
persamaan matematis berikut.
MD0 = IV (8)
MDq + 1 = MDq + fI(Yq + fH(Yq + fG(YQ + fF(Yq + MDq))))
MD = MDL – 1 (10)
yang dalam hal ini,
IV = initial vector dari penyangga ABCD, yang dilakukan pada proses
inisialisasi penyangga
Yq = blok pesan berukuran 512-bit ke-q
L = jumlah blok pesan
MD = nilai akhir message digest
Jenis-Jenis Enkripsi 29 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
� Secure Shell (SSH), Stelnet
SSH dan stelnet adalah program yang memungkinkan Anda untuk login ke
sistem remote dan memiliki koneksi yang terenkripsi.
SSH adalah paket program yang digunakan sebagai pengganti yang aman
untuk rlogin, rsh dan rcp. Ia menggunakan public-key cryptography untuk
mengenkripsi komunikasi antara dua host, demikian pula untuk autentikasi pemakai.
Ia dapat digunakan untuk login secara aman ke remote host atau menyalin data
antar host, sementara mencegah man-in-the-middle attacks (pembajakan sesi) dan
DNS spoofing. Ia akan melakukan kompresi data pada koneksi anda, dan komunikasi
X11 yang aman antar host.
� Secure Socket Layer (SSL)
SSL atau Secure Socket Layer adalah suatu teknik pengamanan data dengan
cara melakukan enkripsi data yang dikirimkan. Dengan SSL ini, meskipun secara fisik
saluran disadap maka data-data yang ditangkap oleh pihak ketiga adalah data yang
teracak sehingga dibutuhkan effort khusus lagi untuk menterjemahkannya ke data
aslinya.
Untuk proses enkripsi ini dapat digunakan bermacam-macam teknik enkripsi
yang telah dikenal seperti DES, RSA, MD5 atau menggunakan teknik Public dan
Private Key. Untuk meningkatkan keamanan ke level yang lebih tinggi, bahkan dapat
digunakan teknik yang berbeda-beda sekaligus, atau menggunakan kunci yang
berganti-ganti pada setiap sesinya.
Proses enkripsi data dengan SSL ini bila dilihat pada layer TCP/IP berada
antara layer Application dengan layer Transport. SSL diciptakan untuk
mengamankan data pada layer Application, sebelum data tersebut disalurkan ke
jaringan (layer Transport, Internet, dan Data Link). Bila seorang penyadap (sniffer)
melakukan penyadapan, maka ketiga layer terbawah inilah yang dapat menjadi
sasaran. Sehingga data yang telah diamankan dengan SSL tadi, relatif cukup aman
dari sadapan para sniffer tersebut.
Dikatakan relatif, karena sebetulnya ada teknik kejahatan baru yang telah
dikembangkan untuk mem-bypass SSL ini. Dan karena kejahatan ini dilakukan di
layer Application, maka SSL menjadi tidak berguna. Teknik ini adalah yang disebut
Jenis-Jenis Enkripsi 30 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
dengan Man In the Middle Attack, di mana ada pihak ketiga yang bertindak sebagai
perantara antara client dengan server (tanpa diketahui oleh kedua pihak) dan
menerima dan meneruskan semua data yang diterimanya dari dan ke kedua belah
pihak. Proses masuknya pihak ketiga di tengah ini bisa terjadi karena adanya
corruption pada DNS system ataupun akibat adanya virus / trojan yang memang
secara sengaja dimasukkan oleh pihak ketiga tersebut ke komputer client.
� Security Token
Token merupakan istilah bahasa asing untuk tanda. Security Token adalah
tanda keamanan yang diberikan oleh sebuah perusahaan untuk menjaga keamanan
datanya. Biasanya perusahaan yang menggunakan Security Token adalah bank.
Untuk memberikan keyamanan bagi nasabah, banyak pihak perbankan
mengembangkan layanan-layanan yang memanfaatkan teknologi informasi dan
komunikasi. Layanan-layanan tersebut adalah SMS Banking, Phone Banking dan
Internet banking. Salah satu faktor penting pihak perbankan dalam memberikann
layanan-layanan ini ada jaminan terhadap seluruh transaksi yang dilakukan agar
tidak terjadi seperti yang dialami oleh salah satu bank swasta di tahun 2001 lalu
dimana situs plesetannya muncul dan menangkap PIN penggunanya walaupun tidak
disalahgunakan oleh pelakunya, namun hal ini telah menunjukan bahwa security
harus merupakan faktor penting yang perlu diperhatikan selain tambahan fitur bagi
kenyaman pengguna.
Mungkin belajar dari pengalaman yang pernah dialami bank tersebut
sehingga saat ini semua instansi perbankan meningkatkan keamanan layanan
internet banking. Keamananan yang ditingkatkan adalah dengan menggunakan two-
factor authentication atau yang biasanya dikenal juga sebagai strong authentication
sehingga apabila kita ingin menggunakan layanan internet banking pasti akan
diberikan security token. Setiap bank memiliki security token yang berbeda sehingga
apabila kita memiliki rekening di empat bank yang berbeda dan menggunakan
layanan internet banking maka sudah bisa dipastikan kita akan mengantongi empat
Security Token.
Jenis-Jenis Enkripsi 31 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi
� Daftar Pustaka
http://blog.re.or.id/metode-metode-enkripsi-modern.htm
http://ganingku.com/index.php
http://indrasufian.web.id
http://id.wikipedia.org/wiki/IP_Security.htm
http://id.wikipedia.org/wiki/Kerberos.htm
http://kriptografi.multiply.com
http://www.skma.org
http://id.wikipedia.org/wiki/Kriptografi
http://id.wikipedia.org/wiki/MD5.htm
http://kur2003.if.itb.ac.id/file/SHA.doc