A.
ENKRIPSI
MODERN
Di bidang kriptografi, enkripsi
ialah proses mengamankan suatu informasi dengan membuat informasi tersebut
tidak dapat dibaca tanpa bantuan pengetahuan khusus. Hanya
organisasi-organisasi tertentu dan individu yang memiliki kepentingan yang
sangat mendesak akan kerahasiaan yang menggunakan enkripsi.
Enkripsi modern
berbeda dengan enkripsi konvensional. Enkripsi modern sudah menggunkan komputer
untuk pengoperasiannya, berfungsi untuk mengamankan data baik yang ditransfer
melalui jaringan komputer mauapun yang bukan. Hal ini sangat berguna untuk
melindungi privacy, data integrity, authentication dan non-repudiation. Perkembangan algoritma kriptografi modern
berbasis bit didorong oleh penggunaan komputer digital yang merepresentasikan
data dalam bentuk biner.
B.
METODE-METODE ENKRIPSI MODERN
1.
Data Encryption System (DES)
DES merupakan salah
satu algoritma kriptografi cipher block dengan ukuran blok 64 bit
dan ukuran kuncinya 56 bit. Algoritma DES dibuat di IBM, dan merupakan
modifikasi daripada algoritma terdahulu yang bernama Lucifer. Lucifer
merupakan algoritma cipher block yang beroperasi pada blok masukan 64 bit
dan kuncinya berukuran 28 bit. Pengurangan jumlah bit kunci pada DES
dilakukan dengan alasan agar mekanisme algoritma ini bisa diimplementasikan
dalam satu chip.
DES pertama kali
dipublikasikan di Federal Register pada 17 Maret 1975. Setelah
melalui banyak diskusi, akhirnya algortima DES diadopsi sebagai algoritma
standar yang digunakan oleh NBS (National Bureau of Standards) pada 15
Januari 1977. Sejak saat itu, DES banyak digunakan pada dunia penyebaran
informasi untuk melindungi data agar tidak bisa dibaca oleh orang
lain. Namun demikian, DES juga mengundang banyak kontroversi dari para
ahli di seluruh dunia. Salah satu kontroversi tersebut adalah S-Box yang
digunakan pada DES. S-Box merupakan bagian vital dari DES karena merupakan
bagian yang paling sulit dipecahkan. Hal ini disebabkan karena
S-Box merupakan satu – satunya bagian dari DES yang komputasinya tidak
linear. Sementara itu, rancangan dari S-Box sendiri tidak diberitahukan
kepada publik. Karena itulah, banyak yang curiga bahwa S-Box dirancang
sedemikian rupa sehingga memberikan trapdoor kepada NSA agar NSA bisa
membongkar semua ciphertext yang dienkripsi dengan DES kapan saja.
Kontroversi yang
kedua adalah jumlah bit pada kunci DES yang dianggap terlalu kecil, hanya
56 bit. Akibatnya DES rawan terhadap serangan brute force. Walaupun terdapat
kerawanan tersebut, DES tetap digunakan pada banyak aplikasi seperti pada
enkripsi PIN (Personal Identification Numbers) pada mesin ATM (Automatic
Teller Machine) dan transaksi perbankan lewat internet. Bahkan, organisasi
– organisasi pemerintahan di Amerika seperti Department of Energy, Justice
Department, dan Federal Reserve System menggunakan DES untuk
melindungi penyebaran data mereka.
Skema Global DES
- Blok plainteks dipermutasi dengan matriks permutasi awal
(initial permutation atau IP).
- Hasil permutasi awal kemudian di-enciphering- sebanyak
16 kali (16 putaran). Setiap putaran menggunakan kunci internal yang
berbeda.
- Hasil enciphering kemudian dipermutasi dengan matriks
permutasi balikan (invers initial permutation atau IP-1 ) menjadi
blok cipherteks.
Enkripsi 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 lengkap proses Enkripsi dengan menggunakan DES ditunjukan
pada skema berikut :
Algoritma DES memerlukan sebuah kunci yang panjang bloknya 64 bit di
setiap blok DES digunakan untuk mengamankan data pada perangkat lunak dan
keras negara tersebut. Berikut desain input-output algoritma DES
Dapat dilihat bahwa ada dua input untuk fungsi enkripsi, yaitu plaintext
dengan panjang 64-bit dan kunci dengan panjang 56-bit. Untuk mengenkripsi
data dengan menggunakan algoritma DES, dimulai dengan membagi bit dari
teks tersebut kedalam blok-blok dengan ukuran blok sebesar 64-bit, yang kemudian
disebut blok plaintext. Adapun penjelasan langkah-langkah enkripsi DES
dijelaskan sebagai berikut :
a.
Permutasi Awal
Sebelum putaran pertama, terhadap blok plainteks dilakukan permutasi
awal (initial permutation atau IP). Tujuan permutasi awal adalah mengacak
plainteks sehingga urutan bit-bit di dalamnya berubah. Pengacakan
dilakukan dengan menggunakan matriks permutasi awal berikut ini:
b.
Pembangkitan Kunci Internal
Pada proses enchipering akan dilakukan proses pemutaran sebanyak 16
kali, oleh karena itu dibutuhkan 16 buah kunci. 16 buah kunci tersebut
dibangkitkan dari kunci eksternal. Masukan kunci (input key) K dispesifikasikan
sebagai 64-bit kunci (key), kunci eksternal ini akan menjadi masukan untuk
permutasi dengan menggunakan matriks permutasi choice one (PC-1) berikut ini:
8 buah bit yaitu bit 8, 16, 24, 32, 40, 48, 56, dan 64 digunakan sebagai
parity bit. Parity bit tersebut akan mereduksi ukuran efektif key dari
64-bit menjadi 56-bit. Selanjutnya, 56 bit yang tersisa ini dibagi menjadi
dua bagian, yaitu bagian kiri (C0) dan bagian kanan (D0). Selanjutnya kedua
bagian digeser ke kiri (left shifting) sepanjang satu atau dua bit sesuai
tabel pergeseran berikut ini :
Setelah pergeseran bit, maka masing-masing Ci dan Di akan dipermutasi
kembali dengan menggunakan matriks PC-2 berikut :
Berikut ini merupakan skema yang menjelaskan proses pembangkitan kunci-kunci
internal DES :
c.
Enciphering
Seperti sudah dijelaskan sebelumnya, setiap blok plaintext mengalami 16
kali putaran enchipering. Secara matematis, satu putaran DES dinyatakan
sebagai berikut :
Adapun langkah-langkah enchipering dapat dilihat pada skema berikut :
Adapun penjelasan
dari skema diatas adalah :
- E merupakan fungsi ekspansi yang memperluas blok Ri-1 yang
panjangnya 32-bit menjadi 48-bit. Fungsi ekspansi ini direalisasikan
melalui tabel berikut :
- Selanjutnya hasil ekspansi yaitu E(Ri-1),
yang panjangnya 48-bit di XOR kan dengan Ki yang panjangnya juga
48-bit dan menghasilkan vektor A yang panjangnya 48-bit.
- Vektor A kemudia dikelompokkan menjadi 8 kelompok yang masing-masing panjangnya 6 bit dan menjadi masukkan bagi proses substitusi. Proses substitusi dilakukan dengan menggunakan 8 buah kotak-s (s-box). Setiap kotak-s menerima 6 bit masukkan dan menghasilkan keluaran 4 bit. Kelompok 6 bit pertama akan menggunakan s1, 6 bit selanjutnya akan menggunakan s2, dan seterusnya. Bit awal dan akhir menentukan baris dan 4 bit ditengah akan menentukan kolom yang akan dipilih.
Kedelapan kotak
S (s-box) adalah :
Contoh pencarian
output dari kotak s adalah :
Bit 100110 = keluaran dari kotak-s adalah kotak-s pertama, baris ke 2
dan kolom ke3 yaitu 8 (1000).
Keluaran proses substitusi adalah vector B yang panjangnya 48 bit.
Vector B menjadi masukan untuk proses permutasi. Adapun tujuan dari proses
permutasi adalah untuk mengacak hasil proses substitusi kotak-S. Hasil
permutasi dinyatakan dalam fungsi f(Ri-1,Ki). Permutasi
ini dilakukan dengan menggunakan matriks permutasi sebagai berikut :
Implementasi DES
·
DES
sudah diimplementasikan dalam bentuk perangkat keras.
·
Dalam
bentuk perangkat keras, DES diimplementasikan di dalam chip. Setiap detik
chipini dapat mengenkripsikan 16,8 juta blok (atau 1 gigabit per detik).
·
Implementasi
DES ke dalam perangkat lunak dapat melakukan enkripsi 32.000 blok per detik
(pada komputer mainframe IBM 3090).
2.
Advanced
Encryption Standard (AES)
Advanced Encryption Standard
(AES) merupakan algoritma cryptographic yang dapat digunakan untuk
mengamakan data. Algoritma AES adalah blok chipertext simetrik yang
dapat mengenkripsi (encipher) dan dekripsi (decipher) informasi.
Enkripsi merubah data yang tidak dapat lagi dibaca disebut ciphertext;
sebaliknya dekripsi adalah merubah ciphertext data menjadi bentuk semula
yang kita kenal sebagai plaintext. Algoritma AES is mengunkan kunci
kriptografi 128, 192, dan 256 bits untuk mengenkrip dan dekrip data pada blok
128 bits.
AES (Advanced Encryption Standard)
adalah lanjutan dari algoritma enkripsi standar DES (Data Encryption
Standard) yang masa berlakunya dianggap telah usai karena faktor
keamanan. Kecepatan komputer yang sangat pesat dianggap sangat membahayakan
DES, sehingga pada tanggal 2 Maret tahun 2001 ditetapkanlah algoritma baru
Rijndael sebagai AES. Kriteria pemilihan AES didasarkan pada 3 kriteria utama
yaitu: keamanan, harga, dan karakteristik algoritma beserta implementasinya.
AES menggunakan struktur SPN (Substitution Permutation Network)
yang memiliki derajat paralelisme yang lebih besar, sehingga diharapkan lebih
cepat dari pada Feistel.
Kelemahan SPN pada umumnya (termasuk
pada Rijndael) adalah berbedanya struktur enkripsi dan dekripsi sehingga
diperlukan dua algoritma yang berbeda untuk enkripsi dan dekripsi. Dan tentu
pula tingkat keamanan enkripsi dan dekripsinya menjadi berbeda. AES memiliki
blok masukan dan keluaran serta kunci 128 bit. Untuk tingkat keamanan yang
lebih tinggi, AES dapat menggunakan kunci 192 dan 256 bit. Setiap masukan 128
bit plaintext dimasukkan ke dalam state yang berbentuk bujursangkar berukuran
4×4 byte. State ini di-XOR dengan key dan selanjutnya diolah 10 kali dengan
subtitusi-transformasi linear-Addkey. Dan di akhir diperoleh
ciphertext. Berikut ini adalah operasi Rijndael (AES) yang menggunakan 128 bit
kunci:
1. Ekspansi kunci
utama (dari 128 bit menjadi 1408 bit);
2. Pencampuran subkey;
3. Ulang dari i=1
sampai i=10 Transformasi : ByteSub (subtitusi per byte) ShiftRow
(Pergeseren byte perbaris) MixColumn (Operasi perkalian GF(2) per
kolom);
4. Pencampuran subkey
(dengan XOR);
5. Transformasi : ByteSub
dan ShiftRow;
6. Pencampuran subkey.
Metode Algoritma AES
Algoritma kriptografi bernama Rijndael yang didesain oleh
oleh Vincent Rijmen dan John Daemen asal Belgia keluar sebagai pemenang kontes
algoritma kriptografi pengganti DES yang diadakan oleh NIST (National
Institutes of Standards and Technology) milik pemerintah Amerika Serikat
pada 26 November 2001. Algoritma Rijndael inilah yang kemudian dikenal dengan Advanced
Encryption Standard (AES). Setelah mengalami beberapa proses standardisasi
oleh NIST, Rijndael kemudian diadopsi menjadi standard algoritma kriptografi
secara resmi pada 22 Mei 2002. Pada 2006, AES merupakan salah satu algoritma
terpopuler yang digunakan dalam kriptografi kunci simetrik. AES ini
merupakan algoritma block cipher dengan menggunakan sistem
permutasi dan substitusi (P-Box dan S-Box) bukan dengan jaringan
Feistel sebagaiman block cipher pada umumnya. Jenis AES terbagi 3,
yaitu:
1. AES-128;
2. AES-192;
3. AES-256.
Pengelompokkan jenis AES ini adalah berdasarkan panjang
kunci yang digunakan. Angka-angka di belakang kata AES menggambarkan panjang
kunci yang digunakan pada tiap-tiap AES. Selain itu, hal yang membedakan dari
masing-masing AES ini adalah banyaknya round yang dipakai. AES-128
menggunakan 10 round, AES-192 sebanyak 12 round, dan AES-256 sebanyak 14
round.
AES memiliki ukuran block yang tetap sepanjang 128
bit dan ukuran kunci sepanjang 128, 192, atau 256 bit. Tidak seperti Rijndael
yang block dan kuncinya dapat berukuran kelipatan 32 bit dengan ukuran
minimum 128 bit dan maksimum 256 bit. Berdasarkan ukuran block yang
tetap, AES bekerja pada matriks berukuran 4x4 di mana tiap-tiap sel matriks
terdiri atas 1 byte (8 bit). Sedangkan Rijndael sendiri dapat mempunyai ukuran
matriks yang lebih dari itu dengan menambahkan kolom sebanyak yang diperlukan.
Blok chiper tersebut dalam pembahasan ini akan diasumsikan sebagai sebuah
kotak. Setiap plainteks akan dikonversikan terlebih dahulu ke dalam blok-blok
tersebut dalam bentuk heksadesimal. Barulah kemudian blok itu akan diproses
dengan metode yang akan dijelaskan. Secara umum metode yang digunakan dalam
pemrosesan enkripsi dalam algoritma ini dapat dilihat melalui Gambar 1.
Gambar 1:
Diagram AES
a.
Add Round Key
Add Round Key pada dasarnya adalah mengkombinasikan chiper teks yang sudah ada dengan chiper key yang chiper key dengan hubungan XOR.
Bagannya bisa dilihat pada Gambar 2.
Gambar
2: Add Round Key
b.
Sub Bytes
Prinsip dari Sub Bytes adalah menukar isi
matriks/tabel yang ada dengan matriks/tabel lain yang disebut dengan Rijndael
S-Box. Di bawah ini adalah
contoh Sub Bytes dan Rijndael
S-Box.
Gambar 3: Rijndael S-Box
Gambar 4:
Ilustrasi Sub Bytes
Gambar 4 adalah contoh dari Rijndael S-Box, di
sana terdapat nomor kolom dan nomor baris. Seperti yang telah disebutkan
sebelumnya, tiap isi kotak dari blok chiper berisi informasi dalam bentuk
heksadesimal yang terdiri dari dua digit, bisa angka-angka, angka-huruf,
ataupun huruf-angka yang semuanya tercantum dalam Rijndael S-Box.
Langkahnya adalah mengambil salah satu isi kotak matriks, mencocokkannya dengan
digit kiri sebagai baris dan digit kanan sebagai kolom. Kemudian dengan
mengetahui kolom dan baris, kita dapat mengambil sebuah isi tabel dari Rijndael
S-Box. Langkah terakhir adalah mengubah keseluruhan blok chiper menjadi
blok yang baru yang isinya adalah hasil penukaran semua isi blok dengan isi
langkah yang disebutkan sebelumnya.
c.
Shift Rows
Shift Rows seperti namanya adalah sebuah proses yang melakukan shift atau pergeseran pada setiap
elemen blok/tabel yang dilakukan per barisnya. Yaitu baris pertama tidak
dilakukan pergeseran, baris kedua dilakukan pergeseran 1 byte, baris ketiga dilakukan
pergeseran 2 byte, dan baris
keempat dilakukan pergeseran 3 byte.
Pergeseran tersebut terlihat dalam sebuah blok adalah sebuah pergeseran tiap
elemen ke kiri tergantung berapa byte tergesernya, tiap pergeseran 1 byte berarti bergeser ke kiri
sebanyak satu kali. Ilustrasi dari Tahap ini diperlihatkan oleh gambar di bawah
ini.
Gambar
5: Ilustrasi dari Shift Row
Seperti yang terlihat pada Gambar 5, tahap shift row sama sekali tidaklah rumit,
karena ini adalah proses standar yang hanya berupa pergeseran. Langkah terakhir
adalah Mix Column.
d.
Mix Columns
Yang terjadi
saat Mix Column adalah
mengalikan tiap elemen dari blok chiper dengan matriks yang ditunjukkan oleh Gambar
6. Tabel sudah ditentukan dan siap pakai. Pengalian dilakukan seperti perkalian
matriks biasa yaitu menggunakan dot
product lalu perkalian keduanya dimasukkan ke dalam sebuah blok chiper
baru. Ilustrasi dalam gambar 7 akan menjelaskan mengenai bagaimana perkalian
ini seharusnya dilakukan. Dengan begitu seluruh rangkaian proses yang terjadi
pada AES telah dijelaskan dan selanjutnya adalah menerangkan mengenai
penggunaan tiap-tiap proses tersebut.
Gambar 6: Tabel
untuk Mix Column
Gambar 7: Ilustrasi
Mix Column
Diagram Alir AES
Kembali melihat diagram yang ditunjukkan oleh Gambar 1.
Seperti yang terlihat semua proses yang telah dijelaskan sebelumnya terdapat
pada diagram tersebut. Yang artinya adalah mulai dari ronde kedua, dilakukan
pengulangan terus menerus dengan rangkaian proses Sub Bytes, Shift Rows, Mix
Columns, dan Add Round Key, setelah itu hasil dari ronde tersebut
akan digunakan pada ronde berikutnya dengan metode yang sama. Namun pada ronde
kesepuluh, Proses Mix Columns tidak dilakukan, dengan kata lain urutan
proses yang dilakukan adalah Sub Bytes, Shift Rows, dan Add Round Key,
hasil dari Add Round Key inilah yang dijadikan sebagai chiperteks
dari AES. Lebih jelasnya bisa dilihat dengan Gambar 8 dan 9 yang akan
menerangkan mengenai kasus tersebut.
Gambar 8:
Ilustrasi Ronde 2 hingga Ronde 6
Gambar 9:
Ilustrasi Rone 7 hingga Ronde 10
Dengan mengetahui semua proses yang ada pada AES, maka
kita dapat menggunakannya dalam berbagai contoh kasus yang muncul di kehidupan sehari-hari.
Implementasi Advanced Encryption Standard (AES)
AES atau algoritma Rijndael sebagai salah satu algoritma
yang penting tentu memiliki berbagai kegunaan yang sudah diaplikasikan atau
diimplementasikan di kehidupan sehari-hari yang tentu saja membutuhkan suatu
perlindungan atau penyembunyian informasi di dalam prosesnya. Salah satu contoh
penggunaan AES adalah pada kompresi 7-Zip. Salah satu proses di dalam 7-Zip
adalah mengenkripsi isi dari data dengan menggunakan metode AES-256. Yang
kuncinya dihasilkan melalui fungsi Hash. Perpaduan ini membuat suatu
informasi yang terlindungi dan tidak mudah rusak terutama oleh virus yang
merupakan salah satu musuh besar dalam dunia komputer dan informasi karena
sifatnya adalah merusak sebuah data.
Hal yang serupa digunakan pada WinZip sebagai salah satu
perangkat lunak yang digunakan untuk melakukan kompresi. Tapi prinsip kompresi
pun tidak sama dengan prinsip enkripsi. Karena kompresi adalah mengecilkan
ukuran suatu data, biasanya digunakan kode Huffman dalam melakukan hal
tersebut. Contoh penggunaan lain adalah pada perangkat lunak DiskCryptor
yang kegunaannya adalah mengenkripsi keseluruhan isi disk/partisi pada sebuah
komputer. Metode enkripsi yang ditawarkan adalah menggunakan AES-256, Twofish, atau
Serpent.
3.
IPSec (IP Security)
Internet
Protocol Security
atau sering disebut IPsec adalah end-to-end security skema operasi di
Internet Layer dari Internet Protocol Suite. Hal ini dapat digunakan dalam
melindungi arus data antara sepasang host (host-to-host), antara sepasang
gateway keamanan (jaringan-jaringan), atau antara gateway keamanan dan host
(jaringan-to-host) .
Internet
Protocol Security (IPsec) adalah protokol untuk mengamankan Internet Protocol
(IP) komunikasi dengan otentikasi dan mengenkripsi setiap paket IP dari suatu
sesi komunikasi. IPsec juga mencakup protokol untuk mendirikan otentikasi
bersama antara agen pada awal sesi dan negosiasi kunci kriptografi yang akan
digunakan selama sesi.
Beberapa sistem
keamanan Internet lainnya digunakan secara luas, seperti Secure Socket Layer
(SSL), Transport Layer Security (TLS) dan Secure Shell (SSH), beroperasi di
lapisan atas dari model TCP / IP. Di masa lalu, penggunaan TLS / SSL harus
dirancang ke dalam aplikasi untuk melindungi protokol aplikasi. Sebaliknya,
sejak hari pertama, aplikasi tidak perlu dirancang khusus untuk menggunakan
IPsec. Oleh karena itu, IPsec melindungi lalu lintas aplikasi di jaringan IP.
Sejarah IP Sec
Eksperimental Babatan Keamanan IP (protokol) yang diteliti
di Columbia University dan AT & T Bell Labs pada bulan Desember 1993. Kemudian, Wei Xu pada bulan Juli 1994 di Sistem Informasi Trusted
melanjutkan penelitian ini. Setelah beberapa bulan, penelitian ini berhasil
diselesaikan pada sistem BSDI. Dengan hacking kernel biner, Wei telah
diperpanjang dengan cepat perkembangannya ke Sun OS, HP UX, dan sistem UNIX
lainnya. Salah satu tantangan adalah kinerja lambat dari DES dan 3DES. Enkripsi
perangkat lunak bahkan tidak bisa mendukung kecepatan T1 di bawah arsitektur
Intel 80386. Dengan menjelajahi kartu Crypto dari Jerman, Xu Wei lanjut
mengembangkan device driver otomatis, yang dikenal sebagai plug-and-play hari.
Dengan mencapai throughput lebih dari satu T1s, pekerjaan ini membuat produk
komersial praktis hal itu layak, yang dirilis sebagai bagian dari firewall
Gauntlet terkenal.
Pada Desember 1994, itu adalah pertama
kalinya dalam produksi untuk mengamankan beberapa situs remote antara timur dan
barat pesisir negara bagian Amerika Serikat. Lain Protokol Keamanan IP
dikembangkan pada tahun 1995 di Laboratorium Riset Naval sebagai bagian dari
proyek penelitian DARPA disponsori. ESP awalnya berasal dari protokol SP3D,
bukannya berasal dari ISO Jaringan-Layer Security Protocol (NLSP). Spesifikasi
protokol SP3D diterbitkan oleh NIST, tetapi dirancang oleh proyek Jaringan
Sistem Data Aman dari National Security Agency (NSA), AH yang berasal dari
bagian dalam pekerjaan standar sebelumnya IETF untuk otentikasi dari Simple
Network Management Protocol (SNMP).
Sejak tahun 1996, lokakarya Keamanan IP
diselenggarakan untuk standardisasi protokol. IPsec secara resmi ditetapkan
oleh Internet Engineering Task Force (IETF) dalam serangkaian Permintaan untuk
dokumen Komentar menangani berbagai komponen dan ekstensi. Ini menentukan ejaan
nama protokol menjadi IPsec.
Cara Kerja IP Security
·
Protokol AH
menyediakan integritas hubungan, otentifikasi data asal dan layanan anti
jawaban.
·
Protokol ESP
menyediakan kerahasiaan (enkripsi), dan pembatasan aliran lalulintas
kerahasiaan.
·
ESP Juga menyediakan layanan integritas hubungan, otentifikasi data asal dan
layanan anti jawaban.
·
Kedua protokol
ini merupakan pembawa kontrol akses berbasis distribusi kunci kriptografi dan
manajemen aliran lalulintas relatif terhadap protokol keamanan.
Secara umum layanan yang diberikan IPSec adalah :
1. Data Confidentiality, pengirim data dapat mengengkripsi paket data sebelum
dilakukan transmit data.
2. Data Integrity, penerima dapat mengotentifikasi paket yang dikirimkan oleh
pengirim untuk meyakinkan bahwa data tidak dibajak selama transmisi.
3. Data Origin Authentication, penerima dapat mengotentifikasi asal dari paket
IPSEC yang dikirimkan.
4. Anti Replay, penerima dapat mendeteksi dan menolak paket yang telah
dibajak.
Kelebihan IPSec
1. IPsec dapat
melindungi protokol apa pun yang berjalan di atas IP dan pada medium apa pun
yang dapat digunakan IP, sehingga IPsec merupakan suatu metode umum yang dapat
menyediakan keamanan komunikasi melalui jaringan computer.
2. IPsec
menyediakan keamanan secara transparan, sehingga dari sisi aplikasi, user tidak
perlu menyadari keberadaannya
3. IPsec
dirancang untuk memenuhi standar baru IPv6 tanpa melupakan IPv4 yang sekarang
digunakan
4. Perancangan IPsec tidak mengharuskan penggunaan algoritma enkripsi atau
hash tertentu sehingga jika algoritma yang sering digunakan sekarang telah
dipecahkan, fungsinya dapat diganti dengan algoritma lain yang lebih sulit
dipecahkan.
Kelemahan IPSec
1. IPsec
terlalu kompleks, penyediaan beberapa fitur tambahan dengan menambah
kompleksitas yang tidak perlu.
2. Beberapa
dokumentasinya masih mengandung beberapa kesalahan, tidak menjelaskan
beberapa penjelasan esensial, dan ambigu.
3. Beberapa
algoritma default yang digunakan dalam IPsec telah dapat
dipecahkan/dianggap tidak aman (misalnya DES yang dianggap tidak aman dan MD5
yang telah mulai berhasil diserang. Algoritma penggantinya telah tersedia dan
administrator sistem sendiri yang harus memastikan bahwa mereka menggunakan
algoritma lain untuk mendapatkan keamanan yang lebih tinggi.
Security architecture
IPSec bekerja pada lapisan network, memproteksi dan mengotentifikasi komunikasi
paket IP antara host dan berfungsi baik pada lalu lintas IPv6 maupun IPv4. IPSec ini sebenarnya adalah fitur yang dimiliki oleh IPv6 namun oleh beberapa
developer diaplikasikan kedalam IPv4. IPSec mempunyai 4 buah elemen, yaitu :
1. AH (authentication header )
2. ESP (encasulapting security payload)
3. IPcomp (IP payload compression)
4. IKE (internet key exchange)
Authentication Header
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.
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.
Security Association
Sebuah Asosiasi Keamanan (SA) adalah
pembentukan atribut keamanan bersama antara dua entitas jaringan untuk
mendukung komunikasi yang aman. Sebuah SA mungkin termasuk atribut seperti:
algoritma kriptografi dan mode, kunci enkripsi lalu lintas, dan parameter untuk
data jaringan yang akan melewati sambungan. Kerangka untuk mendirikan asosiasi
keamanan disediakan oleh Internet Security Association dan Key Management
Protocol (ISAKMP). Protokol seperti Internet Key Exchange dan Kerberized
Negosiasi internet Keys menyediakan dikonfirmasi material kunci. Sebuah SA
adalah simpleks (satu arah channel) dan koneksi logis yang mendukung dan
menyediakan koneksi data yang aman antara perangkat jaringan. Persyaratan
mendasar dari sebuah SA tiba ketika dua entitas berkomunikasi melalui lebih
dari satu saluran. Ambil contoh pelanggan seluler dan base station. Pelanggan
dapat berlangganan sendiri untuk lebih dari satu layanan.
Oleh karena itu setiap layanan mungkin
memiliki layanan yang berbeda primitif seperti kunci enkripsi data algoritma,
publik atau vektor inisialisasi. Sekarang untuk membuat segalanya lebih mudah,
semua informasi keamanan yang dikelompokkan secara logis. Ini kelompok logis
itu sendiri adalah Asosiasi Keamanan. Setiap SA memiliki ID sendiri disebut
SAID. Jadi sekarang base station dan pelanggan seluler akan berbagi SAID dan
mereka akan memperoleh semua parameter keamanan, membuat hal-hal jauh lebih
mudah. Singkatnya, sebuah SA adalah kelompok logis dari parameter keamanan yang
memungkinkan berbagi informasi kepada entitas lain.
Modes
Of Operation
IPsec dapat diimplementasikan dalam
mode transportasi host-to-host, serta dalam modus jaringan terowongan.
Transportasi modus
Dalam modus transportasi, hanya payload dari paket IP
biasanya dienkripsi dan / atau disahkan. Routing utuh, karena header IP tidak
diubah atau dienkripsi, namun ketika header otentikasi yang digunakan, alamat
IP tidak dapat diterjemahkan, karena hal ini akan membatalkan nilai hash.
Transportasi dan lapisan aplikasi selalu dijamin dengan hash, sehingga mereka
tidak dapat diubah dengan cara apapun (misalnya dengan menerjemahkan nomor
port). Sebuah sarana untuk merangkum pesan IPsec untuk NAT traversal telah
didefinisikan oleh dokumen RFC menggambarkan mekanisme NAT-T.
Terowongan modus
Dalam modus terowongan, paket IP seluruh dienkripsi dan /
atau disahkan. Hal ini kemudian dikemas ke dalam paket IP baru dengan header IP
yang baru. Modus terowongan yang digunakan untuk membuat jaringan pribadi
virtual untuk jaringan-jaringan komunikasi (misalnya antara router ke situs
link), host-to-jaringan komunikasi (misalnya akses pengguna jarak jauh), dan
host-to-host komunikasi (chat pribadi misalnya).
Software implementations
IPsec dukungan biasanya
diimplementasikan dalam kernel dengan manajemen kunci dan ISAKMP / IKE
negosiasi dilakukan dari user-space. Ada IPsec implementasi seringkali mencakup.
Standards status
IPsec dikembangkan bersama dengan IPv6 dan harus tersedia
di semua standar-compliant implementasi IPv6 meskipun tidak semua implementasi
IPv6 termasuk dukungan IPsec, adalah opsional untuk IPv4 implementasi. Namun,
karena penyebaran lambat IPv6, IPsec ini paling sering digunakan untuk
mengamankan IPv4 lalu lintas. Protokol IPsec awalnya didefinisikan dalam RFC
1825 dan RFC 1829, yang diterbitkan pada tahun 1995. Pada tahun 1998,
dokumen-dokumen tersebut digantikan oleh RFC 2401 dan RFC 2412 dengan aspek
kompatibel, meskipun mereka secara konseptual identik. Selain itu, sebuah
saling otentikasi dan pertukaran kunci protokol Internet Key Exchange (IKE)
didefinisikan untuk membuat dan mengelola asosiasi keamanan. Pada bulan Desember
2005, standar baru didefinisikan dalam RFC 4301 dan RFC 4309 yang sebagian
besar merupakan superset dari edisi sebelumnya dengan versi kedua dari Bursa
kunci standar Internet IKEv2. Ini generasi ketiga dokumen standar singkatan
dari IPsec menjadi huruf besar "IP" dan huruf kecil "sec".
Hal ini tidak biasa untuk melihat produk yang menawarkan dukungan untuk RFC
1825 dan 1829. "ESP" umumnya mengacu pada RFC 2406, sedangkan ESPbis
mengacu pada RFC 4303. Sejak pertengahan 2008, sebuah Pemeliharaan IPsec dan
kelompok Ekstensi bekerja aktif di IETF.
4.
Digital Certificate Server (DCS)
A. Pengertian Digital Certificate
Digital Certificates adalah file elektronik yang hanya bekerja sebagai paspor online. Digital
Certificates dikeluarkan oleh pihak ketiga yang
dikenal sebagai Certification Authority seperti VeriSign atau Thawte. Digital certificate adalah dokumen digital yang
berisi informasi sebagai berikut:
·
nama subjek
(perusahaan/individu yang disertifikasi)
·
kunci publik
si subjek
·
waktu
kadaluarsa sertifikat (expired time)
·
informasi relevan lain seperti nomor seri
sertifikat, dll
Fungsi Digital Certificate
Digital certificate memiliki dua fungsi dasar, yaitu:
·
Untuk
menyatakan bahwa orang-orang, website,
dan sumber daya jaringan seperti server dan router merupakan sumber terpercaya, dengan kata lain sesuai dengan siapa atau apa
yang menjadi tuntutan mereka.
·
Untuk
memberikan perlindungan bagi pertukaran data dari pengunjung dan website dari gangguan atau
bahkan pencurian, seperti informasi kartu kredit.
Bentuk Digital Certificate
Sebuah sertifikat digital (Digital
Certificate) berisi nama organisasi atau
individu, alamat bisnis, tanda tangan digital, public key, nomor seri, dan
tanggal kedaluwarsa. Ketika Anda sedang online dan browser web Anda mencoba untuk
mengamankan sambungan, maka sertifikat digital yang diterbitkan untuk website
yang akan diperiksa oleh browser web untuk memastikan bahwa semuanya baik-baik
saja dan dapat Anda telusuri dengan aman. Ada dua jenis utama sertifikat
digital yang penting untuk membangun situs Web aman dan ini adalah server
certificates dan personal certificates.
a.
Server
certificates
Sertifikat server hanya memungkinkan pengunjung website untuk aman
mentransfer informasi pribadi mereka seperti kartu kredit dan informasi rekening
bank tanpa khawatir tentang pencurian atau gangguan. Sertifikat server juga
bertanggung jawab untuk memvalidasi identitas pemilik website sehingga
pengunjung dapat merasa seolah-olah mereka berhadapan dengan sumber yang sah
saat membuat atau memasukkan password, rincian rekening bank, atau nomor kartu
kredit ke dalam situs web.
b.
Personal
Certificates
Personal Certificates sedikit berbeda dari Server Certificates karena
memungkinkan Anda untuk memvalidasi identitas pengunjung situs Web dan bahkan membatasi
akses mereka kepada bagian-bagian tertentu dari website.
Keamanan Standar
Sebagian besar protokol standar
yang banyak digunakan untuk komunikasi elektronik mengandalkan digital
certificates:
a. SSL (Secure Socket Layer), yang dirancang oleh Netscape Communication
Corporation, diterima secara luas sebagai browser forweb dasar standar dan
otentikasi server, dan aman untuk pertukaran data di Internet.
b. S/MIME (Secure Multipurpose Internet Mail Extensions Protocol) dianggap
sebagai standar dasar untuk email yang aman dan EDI (Electronic Data
Interchange).
c. SET (Secure Transaksi Elektronik protokol) melindungi pembayaran
elektronik dari pengunjung web untuk operator situs.
d. nternet Protocol Secure Standard (IPSec) memverifikasi perangkat jaringan
seperti server dan router.
Cara Kerja Digital Certificate
a. Proses Registrasi
Langkah pembentukan sertifikat digital:
1.
Diperlukan
sebagai identifikasi sebelum seorang pelanggan
dapat melakukan akses/transaksi pada suatu aktifitas kegiatan berbasis
WEB (B2B, B2C, G2C) yang menggunakan pengamanan dan enkripsi dengan metoda Public Key
Infrastructure (PKI).
2.
Setiap
orang/pelanggan yang akan berkomunikasi/bertransaksi harus terlebih dahulu
mendaftar (registrasi) untuk memperoleh Identifikasi dalam bentuk Elektronik
Identification Number.
3.
Setelah
Elektronik Identification Number (E-ID) diterbitkan dan diterima oleh
pelanggan, selanjutnya Elektronik Identification Number (E-ID) tersebut oleh
provider yang bersangkutan akan dikirimkan ke Certificate Authority Server
untuk di registrasikan.
4.
Selanjutnya
pelanggan melalui komputer yang dimiliki (personal) akan melakukan koneksi
secara on line menggunakan komunikasi yang khusus/secure (menuju address WEB
site yang telah ditentukan) untuk melalukan verifikasi dengan cara mengirimkan
Elektronik Identification Number (E-ID) yang telah diperoleh sebelumnya, dalam
rangka memperoleh Digital Certificate.
5.
Selanjutnya
Certificate Authority Server akan melakukan verifikasi terhadap kebenaran dan
keabsahan Elektronik Identification Number (E-ID) yang telah dikirimkan oleh
pelanggan.
6.
Jika
Elektronik Identification Number (E-ID) tersebut benar dan absah, maka
selanjutnya Certificate Authority Server akan menerbitkan Digital Certificate,
dengan disertai Public Key dan Private Key.
b. Proses pengiriman
1.
Diperlukan
sebagai identifikasi sebelum seorang pelanggan dapat melakukan akses/transaksi pada suatu aktifitas
kegiatan berbasis WEB (B2B, B2C, G2C) yang menggunakan pengamanan dan enkripsi
dengan metoda Public Key Infrastructure (PKI).
2.
Setelah
Elektronik Identification Number (E-ID) diterbitkan dan diterima oleh
pelanggan, selanjutnya Elektronik Identification Number (E-ID) tersebut oleh
provider yang bersangkutan akan dikirimkan ke Certificate Authority Server
untuk di registrasikan.
3.
Selanjutnya
pelanggan melalui komputer yang dimiliki (personal) akan melakukan koneksi secara on line menggunakan
komunikasi yang khusus/secure (menuju address WEB site yang telah ditentukan)
untuk melalukan verifikasi dengan cara mengirimkan Elektronik Identification
Number (E-ID) yang telah diperoleh sebelumnya, dalam rangka memperoleh Digital
Certificate.
4.
Selanjutnya
Certificate Authority Server akan melakukan verifikasi terhadap kebenaran dan keabsahan Elektronik
Identification Number (E-ID) yang telah dikirimkan oleh pelanggan.
5.
Jika
Elektronik Identification Number (E-ID) tersebut benar dan absah, maka
selanjutnya Certificate Authority Server akan menerbitkan Digital Certificate,
dengan disertai Public Key dan Private Key.
6.
Digital
Certificate tersebut akan dikirimkan ke pelanggan dengan menggunakan komunikasi
yang khusus/secure untuk selanjutnya Digital Certificate tersebut diinstall di
komputer pelanggan.
B.
Digital Signature
1.
Pengertian Digital Signature
Digital signature merupakan sistem keamanan kriptografi simetris
(symetric crypthography/secret key crypthography) atau public key cryptography
system yang dikenal sebagai kriptografi simetris, menggunakan kunci yang sama
dalam melakukan enkripsi dan dekripsi terhadap suatu pesan (message), disini
pengirim dan penerima menggunakan kunci yang sama sehingga mereka harus menjaga
kerahasian (secret) terhadap kuci tersebut. Salah satu algoritma yang terkenal
dalam kriptografi simetris ini adalah Data Encryption Stkitard (DES)
yang bertujuan untuk memastikan otentisitas dari dokumen tersebut.
a.
Authenticity
(Ensured)
Dengan memberikan digital signature pada data elektronik yang dikirimkan
maka akan dapat ditunjukkan darimana data elektronis tersebut sesungguhnya
berasal. Integritas pesan tersebut akan terjamin karena keberadaan dari Digital
Certificate yang diperoleh atas dasar aplikasi kepada Cerfication Authority
oleh user/subscriber. digital certificate berisi informasi mengenai pengguna yaitu identitas, kewenangan,
kedudukan hokum serta status dari user.Digital certificate ini memiliki
berbagai tingkatan/level yang menentukan berapa besar kewenangan yang dimiliki
oleh pengguna.
b.
Integrity
Integritas/integrity yaitu jika seorang penerima pesan/data merasa yakin
bahwa pesan/data tersebut pernah dimodifikasi atau diubah selama proses
pengiriman atau penyimpanan. Penggunaan digital signature yang diaplikasikan
pada pesan/data elektronik yang dikirimkan dapat menjamin bahwa pesan/data
elektronik tersebut tidak mengalami suatu perubahan atau modifikasi oleh pihak
yang tidak berwenang.
c. Non-Repudiation (Tidak dapat disangkal keberadaannya)
Non repudiation timbul dari keberadaan digital signature yang menggunakan
enkripsi asimetris (asymmetric encryption) yang melibatkan keberadaan dari
kunci prifat dan kunci public. Pengirim
pesan tidak dapat menyangkal bahwa ia telah mengirimkan suatu pesan apabila ia
sudah mengirimkan suatu pesan. Non repudiation adalah hal yang sangat penting
bagi e-commerce apabila suatu transaksi dilakukan melalui suatu jaringan
internet, kontrak elektronik (electronic contracts), ataupun transaksi
pembayaran.Pesan yang telah dienkripsi dengan menggunakan kunci prifat maka ia
hanya dapat dibuka/dekripsi dengan menggunakan kunci publik dari pengirim.
d. Confidentiality
Pesan dalam bentuk data elektronik yang dikirimkan bersifat
rahasia/confidential, sehingga tidak semua orang dapat mengetahui isi data
elektronik yang telah di-sign dan dimasukkan dalam digital envelope.
Implementasi
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)
pengguna membutuhkan Digital Certificate ketika ingin membangun kepercayaan pengguna
situs, memberikan kepastian
mengenai identitas institusi dan menjamin kerahasiaan data yang dimasukkan oleh pengguna situs.
5. Secure Socket Layer (SSL)
dirancang
oleh Netscape, menyediakan enkripsi RSA pada layes session dari model OSI.,
independen terhadap servise yang digunakan., melindungi system secure web
e-commerce, metode public/private key dan dapat melakukan authentication,
terintegrasi dalam produk browser dan web server Netscape.
SSL
atau Secure Socket Layer merupakan 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 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.
6. Security Token
Aplikasi penyimpanan password dan data
user di smart card. 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 memberikan
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.
7.
Kerberos
Kerberos
merupakan layanan autentikasi yang dikembangkan oleh MIT (Massachusetts
Institute of Technology) Amerika Serikat, dengan bantuan dari Proyek Athena. Tujuannya
adalah untuk memungkinkan pengguna (user) dan layanan (service) untuk saling
mengautentikasi satu dengan yang lainnya. Dengan kata lain, saling menunjukkan
identitasnya.
Tentu
saja ada banyak cara untuk menunjukkan identitas pengguna kepada layanan
tersebut. Salah satu cara yang paling umum adalah dengan penggunaan password.
Seseorang “log in” ke dalam server dengan mengetikkan username dan password,
yang idealnya hanya diketahui oleh pengguna dan server tersebut. Server tersebut
kemudian diyakinkan bahwa orang yang sedang berusaha mengaksesnya adalah
benar-benar pengguna.
Namun,
penggunaan password ini memiliki banyak kelemahan. Misalnya seseorang memilih
password yang mudah ditebak oleh orang lain dalam beberapa kali usaha percobaan.
Dalam hal ini dikatakan bahwa password tersebut lemah. Masalah lainnya timbul
ketika password ini akan dikirimkan melalui jaringan: Password tersebut harus
melalui jaringan tanpa dienkripsi. Dengan kata lain, jika ada orang lain yang
“mendengarkan” jaringan tersebut dapat mencegat password itu dan mendapatkannya
kemudian menggunakannya untuk masuk sebagai pengguna.
Inovasi
utama dalam Kerberos adalah gagasan bahwa password tersebut dapat dilihat
sebagai suatu shared secret, sesuatu rahasia yang hanya pengguna dan server
yang mengetahuinya. Menunjukkan identitas dilakukan tanpa pengguna harus
membuka rahasia tersebut. Ada suatu cara untuk membuktikan bahwa kita
mengetahui rahasia tersebut tanpa mengirimnya ke jaringan. Dalam perkembangan
teknologi informasi yang semakin berkembang pesat saat ini, manusia dituntut
untuk bergerak lebih cepat mendapatkan informasi yang terbaru di bidang
teknologi informasi dan komunikasi agar tidak ketinggalan karena pengetahuan
tersebut selalu up to date setiap harinya. Hubungan antara informasi dan
komunikasi dengan dunia jaringan komputer sangatlah dekat. Sekarang komputer
banyak digunakan untuk mendapatkan informasi, dan juga sebagai salah satu alat
komunikasi.
Dan
Kerberos dibuat untuk menangani masalah otentikasi. Kerberos memungkinkan
server dan cliet saling melakukan otentikasi sebelum membuat suatu koneksi.
Kerberos dalam keamanan computer adalah merujuk kepada sebuah protocol
autentikasi yang dikembangkan oleh Massachusetts Institute Technology (MIT).
Protokol Kerberos memiliki tiga subprotokol agar dapat melakukan aksinya:
1.
Authentication Service (AS) Exchange: yang
digunakan oleh Key Distribution Center (KDC) untuk menyediakan Ticket-Granting
Ticket (TGT) kepada klien dan membuat kunci sesi logon.
2.
Ticket-Granting
Service (TGS) Exchange: yang digunakan oleh KDC untuk
mendistribusikan kunci sesi layanan dan tiket yang diasosiasikan dengannya.
3.
Client/Server
(CS) Exchange: yang digunakan oleh klien untuk
mengirimkan sebuah tiket sebagai pendaftaran kepada sebuah layanan.
Sesi
autentikasi Kerberos yang dilakukan antara klien dan server adalah sebagai
berikut:
Gambar
5. Autentikasi Kerberos
Cara kerja protokol Kerberos
1.
Informasi pribadi pengguna dimasukkan ke
dalam komputer klien Kerberos, yang kemudian akan mengirimkan sebuah request
terhadap KDC untuk mengakses TGS dengan menggunakan protokol AS Exchange. Dalam
request tersebut terdapat bukti identitas pengguna dalam bentuk terenkripsi.
2.
KDC kemudian menerima request dari klien
Kerberos, lalu mencari kunci utama (disebut sebagai Master Key) yang dimiliki
oleh pengguna dalam layanan direktori Active Directory (dalam Windows
2000/Windows Server 2003) untuk selanjutnya melakukan dekripsi terhadap
informasi identitas yang terdapat dalam request yang dikirimkan. Jika identitas
pengguna berhasil diverifikasi, KDC akan meresponsnya dengan memberikan TGT dan
sebuah kunci sesi dengan menggunakan protokol AS Exchange.
3.
Klien selanjutnya mengirimkan request
TGS kepada KDC yang mengandung TGT yang sebelumnya diterima dari KDC dan
meminta akses tehradap beberapa layanan dalam server dengan menggunakan
protokol TGS Exchange.
4.
KDC selanjutnya menerima request,
malakukan autentikasi terhadap pengguna, dan meresponsnya dengan memberikan
sebuah tiket dan kunci sesi kepada pengguna untuk mengakses server target
dengan menggunakan protokol TGS Exchange.
5.
Klien selanjutnya mengirimkan request
terhadap server target yang mengandung tiket yang didapatkan sebelumnya dengan
menggunakan protokol CS Exchange. Server target kemudian melakukan autentikasi
terhadap tiket yang bersangkutan, membalasnya dengan sebuah kunci sesi, dan
klien pun akhirnya dapat mengakses layanan yang tersedia dalam server.
6.
Proses autentifikasinya cukup sederhana.
Pertama kali pengguna hendak login ke server, ia harus membuktikan keaslian
dirinya kepada authentication server (AS). Server ini akan membentuk session
key dan encryption key bagi pengguna, untuk mengacak password maupun isi
percakapan yang terjadi antara pengguna dan server.
7.
Encryption key berfungsi sebagai tiket
masuk, istilahnya ticket-granting-ticket, ke dalam server. Dengannya, pengguna
belum bisa melayangkan request layanan (service). Selanjutnya, tiket ini akan
dikirim kepada ticket granting server (TGS) yang akan memberikan tiket untuk
mengirim request layanan kepada service server.
8.
Tiket yang digunakan untuk melakukan
request layanan dibatasi oleh rentang waktu, biasanya 8 jam. Dengan demikan,
potensi ancaman keamanan tiket ini digunakan oleh orang lain di lain waktu
dapat dikurangi.
Tahap – tahap Otentikasi
Cara
kerja Kerberos melakukan otentikasi dapat dibagi menjadi empat tahap sebagai
berikut.
Gambar 6.Tahap 1 Authentication Exchange
Tahap pertama disebut Authentication Exchange.Pihak yang
terlibat adalah client dan KerberosAuthentication Server (AS).
Untuk login ke jaringan, program di
sisi client (dikenal dengan kinit)
akan meminta user untuk memasukkan username dan password. Program ini akan menurunkan client key (KC) dari password
dan menghapus password sebenarnya di workstation tersebut. Usernameakan dikirim melintasi jaringan
ke AS. Jika username terdapat di database, maka AS akan membuat Session Key 1 (SK1 atau KC,TGS) untuk
komunikasi antara client dan Ticket-granting Server (TGS).
Selain itu, AS juga membuat ticket untuk komunikasi antara client dan TGS (disebut TicketgrantingTicket atau TGT atau
TC,TGS). Selanjutnya KC,TGS dan TC,TGS dienkripsi dengan TGS key (KTGS). Paket
ini diperuntukkan untuk dibuka hanya oleh TGS. Paket TGS dan KC,TGS dienkripsi
dengan KC, lalu dikirimkan ke client. Notasi untuk proses ini dapat ditunjukkan
seperti di bawah ini:
{
KC,TGS, { KC,TGS, TC,TGS }KTGS } KCdimana { TX }KX berarti ticket TX dienkripsi
dengan kunci KX. Warna merah menunjukkan paket TGS yang dienkripsi dengan KTGS.
Gambar 7. Tahap
2: Ticket-granting Server (TGS) Exchange
Tahap berikutnya disebut TGS Exchange.Data dari AS didekripsi dengan menggunakan KC. Jika password yang dimasukkan sesuai dengan username, maka clientakan mampu mendekripsi data dengan benar. Client akan mendapatkan KC,TGS dan paket
TGS yang masih dalam keadaan terenkripsi. Client
tidak dapat membuka paket ini karena kunci yang dipakai adalah KTGS, yang hanya
diketahui oleh AS dan TGS. Selanjutnya clientakan
membuat Authenticator (Auth atau AC)
yang berisi username, IP addressclient, dan time-stamp. Lalu clientakan
mengirimkan nama server yang dituju
(S), AC, dan mem-forward paket TGS
dari AS ke TGS melintasi jaringan.
Notasi dari pengiriman tersebut adalah
sebagai berikut:
S, { AC }KC,TGS, { KC,TGS, TC,TGS }KTGS
Di TGS paket TGS dari AS didekrip dengan
KTGS dan TGS memperoleh KC,TGS dan TTGS. KC,TGS digunakan untuk mendekrip AC.
Jika isi AC dan TC,TGS sesuai, maka TGS akan memberi akses dengan cara membuat Session Key 2 (SK2 atau KC,S) untuk
komunikasi antara client dan server yang dituju (disebut juga Target Server atau TS). TGS akan
mengeluarkan ticket baru (disebut
TK-TS atau TC,S). TC,S an KC,S akan dienkrip dengan kunci privat server (KS) menjadi paket TS dari TGS.
KC,S dan paket TS dienkrip dengan KC,TGS, kemudian dikirimkan ke client melintasi jaringan.
Notasi untuk pengiriman ini dinyatakan
sebagai berikut:
{ KC,S, { KC,S, TC,S }KS }KC,TGS
Warna jingga menunjukkan paket TS dari
TGS.
Gambar
8. Tahap
3: Client/Server Exchange
Tahap ketiga disebut Client/Server Exchange. Pada tahap ini client dan server yang bersangkutan akan melakukan otentikasi. Otentikasi ini
dapat berlangsung searah atau dua arah (mutual
authentication).Otentikasi searah berarti client harus membuktikan ke server
siapa dirinya, sedangkan pada otentikasi dua arah server juga harus membuktikan kepada client siapa dirinya.Client
mendekrip data yang diterima dengan KC,TGS dan mendapatkan KC,S dan paket TS
dari TGS. Paket TS ini tidak dapat dibuka oleh client karena proses dekripsi dilakukan dengan menggunakan kunci
privat KS yang hanya diketahui oleh TGS dan TS. Kemudian client akan membuat AC, dan mengenkripsinya dengan KC,S.
Selanjutnya client mengirimkan AC
tersebut dan mem-forward paket TS
dari TGS ke server yang dituju
melintasi jaringan. Notasi untuk proses ini dinyatakan sebagai berikut:
{ AC }KC,S, { KC,S, TC,S }KS
Sesampainya di TS, server akan mendekrip paket TS dari TGS dengan kunci privat yang
dimilikinya, dan mendapatkan KC,S dan TC,S. KC,S digunakan untuk mendekrip AC.
Jika isi AC dan TC,S sesuai, maka TS akan memberi akses kepada client untuk mendapatkan service darinya. Dengan demikian TS
telah diyakinkan bahwa user yang
meminta service padanya adalah user yang sah. Jika mutualauthentication dibutuhkan, maka TS akan mengirimkan data timestamp yang tercantum di AC ditambah
satu, lalu dienkripsi dengan sessionkey
KC,S. Notasinya adalah sebagai berikut:
{ time-stamp AC+ 1 }KC,S
Dengan demikian kedua belah pihak
diyakinkan akan kebenaran identitas masing-masing.
Gambar 9. Tahap
4: Secure Communication
Tahap terakhir disebut Secure
Communication. Baik client dan TS telah diyakinkan akan kebenaran identitas
masing-masing. Pertukaran data diantara keduanya dapat dilakukan dengan aman
karena client dan server memiliki kunci privat KC,S yang
hanya diketahui oleh mereka saja. Gambar ini memperlihatkan jalannya otentikasi
yang harus dilalui sebelum client
mendapat akses ke server.
8.
Point-to-Point
Tunneling Protocol (PPTP)
Point-to-Point
Tunneling Protocol (PPTP) adalah suatu protokol jaringan yang memungkinkan
pengiriman data secara aman dari remote client kepada server
dengan membuat suatu virtual private network (VPN) melalui jaringan
data berbasis TCP/IP.
Dalam VPN,
karena media penghubung antar jaringannya adalah jaringan publik, diperlukan
pengamanan dan pembatasan-pembatasan. Pengamanan diperlukan untuk menjaga agar
tidak sebarang orang dari jaringan publik dapat masuk ke jaringan pribadi. Yang
dikecualikan untuk dapat masuk ke jaringan pribadi hanyalah orang-orang yang
terdaftar atau terautentifikasi terlebih dahulu. Pembatasan diperlukan untuk
menjaga agar tidak semua orang atau user dari jaringan pribadi dapat mengakses
jaringan publik (internet).
Salah satu
cara untuk membangun VPN adalah dengan Metode Tunneling. Sesuai
dengan arti tunnel (yang bisa diartikan dengan "lorong"), cara
membentuk suatu VPN dengan cara ini adalah dengan membuat suatu tunnel di dalam
jaringan publik untuk menghubungkan antara jaringan yang satu dan jaringan lain
dari suatu grup atau perusahaan yang ingin membangun VPN tersebut. Seluruh
komunikasi data antarjaringan pribadi akan melalui tunnel ini, sehingga orang
atau user dari jaringan publik yang tidak memiliki izin untuk masuk tidak akan
mampu untuk menyadap, mengacak atau mencuri data yang melintasi tunnel ini. Di
dalam tunneling terdapat proses enkapsulasi, transmisi dan dekapsulasi paket
yang dikomunikasikan.
Metode
tunneling dapat digambarkan secara ringkas sebagai berikut:
Teknologi tunneling dikelompokkan secara garis besar
berdasarkan protokol tunneling layer 2 (Data Link Layer) dan layer 3 (Network
Layer) model OSI layer. Yang termasuk ke dalam tunneling layer 2 adalah L2F,
PPTP, dan L2TP. Sedangkan yang termasuk layer 3 adalah IPSec, VTP, dan ATMP.
Teknologi jaringan PPTP merupakan perluasan dari remote
access Point-to-Point protocol yang telah dijelaskan dalam RFC 1171
yang berjudul “The Point-to-Point Protocol for the Transmission
of Multi-Protocol Datagrams over Point-to-Point Links” . PPTP adalah
suatu protokol jaringan yang membungkus paket PPP ke dalam IP datagram untuk
transmisi yang dilakukan melalui internet atau jaringan publik berbasis TCP/IP.
PPTP dapat juga digunakan pada jaringan LAN-to-LAN.
Fitur penting dalam penggunaan PPTP adalah dukungan terhadap
VPN dengan menggunakan Public-Switched Telephone Networks (PSTNs). PPTP
menyederhanakan dan mengurangi biaya dalam penggunaan pada perusahaan besar dan
sebagai solusi untuk remote atau mobile userskarena PPTP memberikan
komunikasi yang aman dan terenkripsi melalui line public telephonedan
internet.
Secara umum, terdapat tiga komponen di dalam komputer yang
menggunakan PPTP yaitu :
1.
PPTP
client
2.
Network
Access Server
3.
PPTP
server
Ikhtisar Arsitektur
PPTP
Komunikasi yang aman dibuat dengan
menggunakan protokol PPTP secara tipikal terdiri dari tiga proses, dimana
membutuhkan keberhasilan penyelesaian dari proses sebelumnya. Ketiga proses
tersebut adalah :
·
PPP Connection and Communication
Suatu
client PPTP menggunakan PPP untuk koneksi ke sebuah ISP dengan memakai
line telepon standar atau line ISDN. Koneksi ini memakai protokol PPP untuk
membuat koneksi dan mengenkripsi paket data.
·
PPTP Control Connection
Penggunaan
koneksi ke internet dibuat oleh protokol PPP, protokol PPTP membuat control
connection dari client PPTP ke server PPTP pada internet. Koneksi ini memakai
TCP untuk membuat koneksi yang disebut dengan PPTP tunnel.
·
PPTP Data Tunneling
Terakhir,
protokol PPTP membuat IP datagram yang berisi paket PPP yang terenkripsi dan
kemudian dikirim melalui
PPTP tunnel ke server PPTP. Server PPTP
memeriksa IP datagram dan mendekripsi paket PPP, dan kemudian mengarahkan paket
yang terdekripsi ke jaringanprivate.
Keamanan
PPTP
PPTP secara luas memberikan layanan
keamanan otentikasi dan enkripsi yang kuat dan tersedia pada computer yang
menjalankan RAS dari server Windows NT versi 4.0 dan Windows NT Workstation
versi 4.0 ke client PPTP di internet. PPTP juga dapat
melindungi server PPTP dan jaringan private dengan
mengabaikan semuanya kecuali PPTP traffic. Walaupun kemanannya kuat, PPTP
sangat mudah digunakan dengan adanya firewalls.
1.
Otentikasi
Otentikasi
dibutuhkan server network access ISP dalam initial dial-in. Jika
otentikasi ini dibutuhkan maka sangat sulit untuk log on ke server network
access ISP; otentikasi ini tidak berhubungan dengan otentikasi berbasis
Windows NT. Dengan kata lain, jika server windows NT versi 4.0
sebagai server PPTP, maka server tersebut yang akan
mengendalikan semua akses ke jaringan private. Dengan kata lain, server
PPTP merupakan gateway menuju jaringanprivate. Server PPTP
membutuhkan proses logon berbasis Windows NT standar. Semua client
PPTP harus memiliki user name dan password. Oleh karena itu
keamanan logon akses terbatas dengan menggunakan komputer dengan
Windows NT server atau windows NT workstation versi 4 harus
sama dengan keamanan saat logging pada komputer berbasis windows NT
yang terkoneksi ke LAN lokal. Otentikasi client remote PPTP dilakukan
dengan menggunakan metode otentikasi PPP yang sama dimana client RAS
langsung terhubung dengan server RAS. User account terletak
dalam directory service windows NT server versi 4.0 dan diatur
melalui user manager untuk domain. User manager ini menyediakan
pengaturan terpusat yang terintegrasi dengan user
account jaringan private yang tersedia.
Hanya account yang diakui saja yang bisa mengakses jaringan.
Memiliki password yang sulit ditebak akan mengurangi resiko
terhadapbrute force attack karena proses otentikasi tersebut rentan
terhadap brute force attack.
2.
Access Control
Setelah
proses otentikasi, semua akses ke private LAN diteruskan dengan
memakai model keamanan berbasis windows NT. Akses ke sumber
pada drive NTFS atau sumber jaringan lainnya membutuhkan ijin yang sesuai.
Direkomendasikan bahwa sistem file NTFS digunakan untuk sumber file yang
diakses oleh client PPTP.
3.
Enkripsi Data
Untuk
enkripsi data, PPTP menggunakan proses enkripsi RAS “shared-secret”. Disebut
“shared-secret” karena pada awal dan akhir koneksi PPTP membagi kunci enkripsi.
Dalam implementasi Microsoft dari RAS, shared
secret disebut user password. (metode enkripsi lainnya berbasis
enkripsi pada tersedianya kunci untuk public; metode enkripsi kedua ini dikenal
sebagai public key encryption). PPTP menggunakan skema
PPP encryption dan PPPcompression. CCP (Compression Control Protocol)
digunakan PPP untuk enkripsi. User
namedan password PPTP client tersedia untuk
PPTP server dan diberikan oleh PPTP client. Kunci enkripsi
dihasilkan dari penyimpanan password yang telah di-hash yang terdapat
di client dan server. RSA RC4 standar digunakan untuk menghasilkan session
key 40 bit berdasarkan padapassword client. Kunci ini dipakai untuk
mengenkripsi semua data yang melewati internet, untuk melindungi koneksi private agar
aman.
Data pada
paket-paket PPP dienkripsi. Paket PPP yang berisi blok data terenkripsi
kemudian dibungkus hingga manjadi IP datagram yang besar untuk routing melalui
internet ke serverPPTP. Jika hacker internet
melakukan intercept IP datagram, ia hanya akan mendapatkan
media header, IP header dan paket PPP berisi blok data yang
terenkripsi bukan data yang terdekripsi.
4.
PPTP Packet Filtering
Keamanan
jaringan dari aktivitas kejahatan dapat meningkat dengan memakai
PPTP filteringpada server PPTP. Ketika PPTP filtering digunakan,
PPTP server pada jaringan privatemenerima dan mengarahkan
paket-paket PPTP dari user yang terotentikasi. Hal ini akan
melindungi semua paket yang berasal dari server PPTP dan jaringan private.
Berhubungan dengan enkripsi PPP, maka hal ini akan menjamin hanya data
terenkripsi yang berhak masuk dan keluar private LAN.
9.
Remote
Authentication Dial In User Service (Radius)
Pengenalan
Remote Access
(pada sebagian literatur Authentication)
Dial-In User Service, yang
sering disingkat menjadi RADIUS,
adalah sebuah protokol keamanan komputer yang digunakan untuk melakukan
autentikasi, otorisasi, dan pendaftaran akun pengguna secara terpusat untuk
mengakses jaringan. RADIUS didefinisikan didalam RFC 2865 dan RFC 2866, yang
pada awalnya digunakan untuk melakukan autentikasi terhadap akses jaringan
jarak jauh (remote) dengan menggunakan koneksi dial-up.
RADIUS
kini telah diimplementasikan untuk melakukan autentikasi terhadap akses
jaringan secara jarak jauh dengan menggunakan koneksi selain dial-up, seperti
halnya Virtual
Private Networking
(VPN), access point nirkabel, switch Ethernet, dan perangkat
lainnya.
RADIUS
mula-mula dikembangkan oleh perusahan Livingston. Pada awal pengembangannya,
RADIUS menggunakan port 1645, yang ternyata bentrok dengan layanan
“datametrics”. Sekarang, port yang dipakai RADIUS adalah port 1812. Berikut ini
adalah RFC (Request For Comment) yang berhubungan dengan RADIUS:
·
RFC
2865 : Remote Authentication Dial-In User Service (RADIUS)
·
RFC
2866 : RADIUS Accounting
·
RFC
2867 : RADIUS Accounting for Tunneling
·
RFC
2868 : RADIUS Authentication for Tunneling
·
RFC
2869 : RADIUS Extensions
·
RFC
3162 : RADIUS over IP6
·
RFC
2548 : Microsoft Vendor-Specific RADIUS Attributes
Karakteristik
Beberapa karakteristik dari RADIUS
adalah sebagai berikut:
- Berbasis
UDP Protocol
- Bisa
ditempatkan dimana saja di internet dan dapat membuat autentikasi (PPP,
PAP, CHAP, MS-CHAP, EAP) antara Network Access Server (NAS) dan server itu
sendiri
- RADIUS
menggunakan Remote Access Server (RAS) Secure ID untuk membuat autentikasi
yang kuat dalam pengontrolan akses
Struktur paket data RADIUS bisa digambarkan sebagai berikut:
Code, memiliki panjang satu oktet dan digunakan untuk membedakan
tipe pesan RADIUS yang dikirimkan pada paket. Kode-kode tersebut (dalam
desimal) antara lain:
1. Access-Request
2. Access-Accept
3. Access-Reject
4. Accounting-Request
5. Accounting-Response
11. Access-Challenge
12. Status-Server
13. Status-Client
255. Reserved
Identifier,
Memiliki panjang satu oktet dan bertujuan untuk mencocokkan permintaan.
Length,
Memiliki panjang dua oktet, memberikan informasi mengenai panjang paket.
Authenticator, Memiliki panjang 16 oktet,
digunakan untuk membuktikan balasan dari RADIUS server, selain itu digunakan
juga untuk algoritma password.
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.
membawa satu atau lebih atribut. Contoh atribut RADIUS: nama pengguna, password, CHAP-password, alamat IP access point (AP), pesan balasan.
Cara Kerja
RADIUS
menggunakan konsep AAA (Authentication, Authorization, Accounting).
Konsep tersebut dapat digambarkan sebagai berikut:
·
Access
Reject
User ditolak aksesnya ke semua
sumberdaya dalam jaringan. Penyebabnya bisa termasuk kegagalah untuk
menyediakan indentifikasi yang tepat atau nama akun yang salah/tidak aktif
·
Access
Challenge
Permintaan informasi tambahan dari
user, seperti password alteernatif, PIN, token atau kartu.
·
Access
Accept
User diberikan akses masuk. Begitu
User ter-autentifikasi, server RADIUS akan sering mengecek agar User hanya
menggunakan sumberdaya sesuai dengan yang diminta. Misalnya User hanya boleh
mengakses fasilitas hotspot, dan tidak untuk menggunakan printer. Informasi
tentang User dalam database bisa disimpan secara lokal dalam server
RADIUS atau disimpan dalam tempat penyimpanan eksternal seperti LDAP atau Active
Directory
Proses
Authentication
Proses
autentikasi diperlukan ketika Anda mempunyai kebutuhan untuk membatasi siapa
saja yang diperbolehkan masuk ke dalam jaringan remote access milik Anda. Untuk
memenuhi kebutuhan tersebut, pengguna yang ingin mengakses sebuah jaringan
secara remote harus diidentifikasi terlebih dahulu. Pengguna yang ingin masuk
ke dalam jaringan pribadi tersebut perlu diketahui terlebih dahulu sebelum
bebas mengakses jaringan tersebut. Pengenalan ini bertujuan untuk mengetahui
apakah pengguna tersebut berhak atau tidak untuk mengakses jaringan.
Analoginya
sederhananya adalah seperti rumah Anda. Apabila ada orang yang ingin berkunjung
ke rumah Anda, kali pertama yang akan dilakukan oleh pemilik rumahnya adalah
mengidentifikasi siapa yang ingin datang dan masuk ke dalamnya. Jika Anda tidak
mengenal orang tersebut, bisa saja Anda tolak permintaannya untuk masuk ke
rumah Anda. Namun jika sudah dikenal, maka Anda mungkin akan langsung
mempersilakannya masuk. Demikian juga dengan apa yang dilakukan oleh perangkat remote
access terhadap pengguna yang ingin bergabung ke dalam jaringan di
belakangnya.
Pada
umumnya, perangkat remote access telah dilengkapi dengan sebuah daftar yang
berisikan siapa-siapa saja yang berhak masuk ke jaringan di belakangnya. Metode
yang paling umum digunakan untuk mengenali pengakses jaringan adalah dialog
Login dan Password. Metode ini juga didukung oleh banyak komponen lainnya,
seperti metode challenge dan response, messaging support,
dan enkripsi, tergantung pada protokol sekuriti apa yang Anda gunakan.
Proses
Authorization
Proses
authorization merupakan langkah selanjutnya setelah proses autentikasi
berhasil. Ketika pengguna yang ingin mengakses jaringan Anda telah dikenali dan
termasuk dalam daftar yang diperbolehkan membuka akses, langkah berikutnya Anda
harus memberikan batasan hak-hak apa saja yang akan diterima oleh pengguna
tersebut.
Analogi
dari proses ini dapat dimisalkan seperti peraturan-peraturan yang tertempel di
dinding-dinding rumah Anda. Isi dari peraturan tersebut biasanya akan membatasi
para pengunjung agar mereka tidak dapat dengan bebas berkeliling rumah Anda.
Tentu ada bagian yang privasi di rumah Anda, bukan? Misalnya setiap pengunjung
rumah Anda tidak diperbolehkan masuk ke ruang kerja Anda. Atau setiap
pengunjung harus membuka alas kakinya ketika memasuki ruangan ibadah di rumah
Anda. Atau setiap pengunjung hanya diperbolehkan masuk sampai teras rumah.
Semua itu
merupakan peraturan yang dapat dengan bebas Anda buat di rumah Anda. Begitu
juga dengan apa yang terjadi pada proses pengamanan jaringan remote access
Anda. Perlu sekali adanya batasan untuk para pengguna jaringan remote karena
Anda tidak akan pernah tahu siapa yang ingin masuk ke dalam jaringan Anda
tersebut, meskipun telah teridentifikasi dengan benar. Bisa saja orang lain
yang tidak berhak menggunakan username dan password yang bukan
miliknya untuk mendapatkan akses ke jaringan Anda.
Bagaimana
untuk membatasi masing-masing pengguna tersebut? Banyak sekali metode untuk
melakukan pembatasan ini, namun yang paling umum digunakan adalah dengan
menggunakan seperangkat atribut khusus yang dirangkai-rangkai untuk
menghasilkan policy tentang hak-hak apa saja yang dapat dilakukan si
pengguna. Atribut-atribut ini kemudian dibandingkan dengan apa yang dicatat di
dalam database.
Setelah
dibandingkan dengan informasi yang ada di database, hasilnya akan dikembalikan
lagi kepada fasilitas AAA yang berjalan pada perangkat tersebut. Berdasarkan
hasil ini, perangkat remote access akan memberikan apa yang menjadi hak
dari si pengguna tersebut. Apa saja yang bisa dilakukannya dan apa saja yang
dilarang sudah berlaku dalam tahap ini.
Database yang berfungsi untuk menampung
semua informasi ini dapat dibuat secara lokal di dalam perangkat remote
access atau router maupun dalam perangkat khusus yang biasanya disebut
dengan istilah server sekuriti. Di dalam server sekuriti ini biasanya tidak
hanya informasi profil penggunanya saja yang ditampung, protokol sekuriti juga
harus berjalan di sini untuk dapat melayani permintaan informasi profil dari
perangkat-perangkat yang berperan sebagai kliennya. Pada perangkat inilah
nantinya attribute-value (AV) dari pengguna yang ingin bergabung
diterima dan diproses untuk kemudian dikembalikan lagi menjadi sebuah peraturan
oleh fasilitas AAA tersebut.
Metode
authorization biasanya dilakukan dalam banyak cara. Bisa dilakukan dengan cara one-time
authorization yang memberikan seluruh hak dari si pengguna hanya dengan
satu kali proses authorization. Atau bisa juga dilakukan per service
authorization yang membuat pengguna harus diotorisasi berkali-kali ketika
ingin menggunakan layanan tertentu. Authorization juga bisa dibuat per
pengguna berdasarkan daftar yang ada di server sekuriti, atau kalau protokolnya
mendukung otorisasi bisa diberlakukan per group pengguna. Selain itu, jika
keamanan server memungkinkan, Anda dapat memberlakukan aturan-aturan otorisasi
berdasarkan sistem pengalamatan IP, IPX, dan banyak lagi
Proses
Accounting
Proses
accounting dalam layanan koneksi remote access amat sangat penting, apalagi
jika Anda membuat jaringan ini untuk kepentingan komersial. Dalam proses
accounting ini, perangkat remote access atau server sekuriti akan mengumpulkan
informasi seputar berapa lama si pengguna sudah terkoneksi, billing time (waktu
start dan waktu stop) yang telah dilaluinya selama pemakaian, sampai berapa
besar data yang sudah dilewatkan dalam transaksi komunikasi tersebut. Data dan
informasi ini akan berguna sekali untuk pengguna maupun administratornya.
Biasanya informasi ini akan digunakan dalam melakukan proses auditing, membuat
laporan pemakaian, penganalisisan karakteristik jaringan, pembuatan billing
tagihan, dan banyak lagi. Fasilitas accounting pada jaringan remote access
umumnya juga memungkinkan Anda untuk melakukan monitoring terhadap layanan apa
saja yang digunakan oleh pengguna. Dengan demikian, fasilitas accounting dapat
mengetahui seberapa besar resource jaringan yang Anda gunakan. Ketika
fasilitas AAA diaktifkan pada sebuah perangkat jaringan remote access,
perangkat tersebut akan melaporkan setiap transaksi tersebut ke keamanan
server. Tergantung pada protokol sekuriti apa yang Anda gunakan, maka cara
melaporkannya pun berbeda-beda. Setiap record accounting akan
mempengaruhi nilai-nilai atribut dari proses AAA yang lain seperti
authentication dan authorization. Semua informasi yang saling terkait ini
kemudian disimpan di dalam database server sekuriti atau jika memang
diperlukan, kumpulan informasi ini dapat disimpan di server khusus tersendiri.
Biasanya server khusus billing diperlukan jika penggunanya sudah
berjumlah sangat banyak. Berikut ini adalah contoh cara kerja RADIUS:
1.
Sebuah
Wireless Node (WN) / Supplicant dengan alamat IP 192.168.10.30
dan IP yang telah terdaftar dalam pemfilteran MAC ADDRESS meminta akses ke wireless
network atau Access Point (AP).
2.
Access
Point (AP) akan
menanyakan identitas Supplicant. Tidak ada trafik data selain Client
yang diperbolehkan sebelum Supplicant terautentikasi. Dalam hal ini, Access
point bukanlah sebuah autentikator, tetapi access point berisi
autentikator.
3.
Setelah
nama-pengguna dan password dikirim, proses autentikasi dimulai. Autentikator
mengenkapsulasi kembali pesan ke dalam format RADIUS, dan mengirimnya ke RADIUS
server. Selama proses autentikasi, autentikator hanya menyampaikan paket antara
Supplicant dan RADIUS server. Setelah proses autentikasi selesai, RADIUS server
mengirimkan pesan sukses (atau gagal, apabila proses autentikasinya gagal.)
Apabila proses autentikasi sukses, Supplicant diperbolehkan untuk
mengakses wireless LAN dan/atau internet.
4.
Jika
nama Supplicant tidak terautentifikasi, maka radius server akan mengirim
pesan gagal. Dan proses authentifikasi tidak berjalan atau gagal.
Contoh
Implementasi
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 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.
10. RSA
Encryption
Pengenalan
RSA adalah sebuah algoritma
berdasarkan skema public-key cryptography. Diberi nama RSA sebagai inisial para
penemunya: Ron Rivest, Adi Shamir, dan Leonard Adleman. RSA dibuat di MIT pada
tahun 1977 dan dipatenkan oleh MIT pada tahun 1983. Setelah bulan September
tahun 2000, paten tersebut berakhir, sehingga saat ini semua orang dapat
menggunakannya dengan bebas.
Lebih jauh, RSA adalah algoritma
yang mudah untuk diimplementasikan dan dimengerti. Algoritma RSA adalah sebuah
aplikasi dari sekian banyak teori seperti extended euclid algorithm, euler's
function sampai fermat theorem.
Notasi
Matematika
Untuk memahami algoritma RSA,
seseorang harus memahami beberapa notasi matematika dasar, teori dan formula.
Hal tersebut dibutuhkan untuk mendukung semua kalkulasi yang dilakukan dalam
algoritma RSA.
1. Modulo (didenotasikan dengan 'x mod
m' atau 'x % m' dalam beberapa bahasa komputer)
·
x
% m = x mod m = pembagian x dengan m dan mengambil sisanya.
Contoh: 25 mod 5 = 0 karena 5 habis membagi 25
25 mod 4 = 1 karena 25 / ( 4 * 6
) menyisakan 1
x
mod m = x jika dan hanya jika x < m
2. Z/mZ
·
Z/7Z
: { 0,1,2,3,4,5,6 } dimana [7]=[0], [8]=[1], [9]=[2] dan seterusnya.
·
Operasi
yang didukung dalam Z/mZ aalah penjumlahan, pengurangan, pembagian dan
perkalian.
·
Inverse:
Sebuah elemen dalam Z/mZ seperti A, memiliki sebuah inverse B jika dan hanya
jika [A]x[B] = [1]
·
Units:
Setiap elemen dalam Z/mZ yang memiliki inverse adalah sebuah unit.
Contoh: Z/7Z
Penjumlahan: [2]+[3] = [5] ; [5]+[5] = [10] ... [10-7] = [3]
Pengurangan: [2]-[3] = [-1] = [6] ;
[6]-[4] = [2]
Pembagian : [6]/[2] = [3] ;
[6]/[4] = [5] ([4]x[5] = [20] = [6])
Perkalian : [2]x[6] = [12] = [5] ;
3. GCD(A,B)
GCD = greatest common divisor.
GCD(A,B) = D
GCD(78,32) = 2, karena tidak ada
bilangan yang lebih besar dari dua yang
membagi 78 dan 32.
GCD(A,B) dapat ditemukan dengan
menggunakan algoritma extended euclid.
Jika GCD(A,B) = 1 maka A and B dalah
coprime satu sama lainnya (dengan kata lain, A dan B adalah relatively prime).
4. Memecahkan 8x mod 13 = 1, dimana x
adalah bilangan yang belum diketahui.
·
Cari
gcd(8,13) yang berarti 1 ... yang
berarti persamaan dapat diselesaikan.
·
Membuat
sebuah matriks dan menggunakan operasi gaussian dalam matriks.
8 | 1 0 r2=r2-r1
8 | 1 0 r1=r1-r2
13 | 0 1 ---------> 5 | -1 1
--------->
3 |
2 -1 r2=r2-r1 3 | 2 -1
5 | -1 1
---------> 2 |-3 2
lakukan sampai kita mendapatkan
format : 1 | s t
0 | s' t'
s, t, s', t' dapat berupa bilangan
apa saja.
Jika hasil akhir yang di dapat sbb:
0 | s' t' , kita harus
1 |
s t
rotasi atas-bawah hasil nya menjadi format: 1 | s t
0 | s' t'
sehingga sekarang kita mendapatkan d =
1, s = 5, t = -3, sehingga
x = s = 5.
5. Euler's phi function (jangan sampai
keliru dengan phi = 3.14)
· Euler's phi function adalah sebuah
total bilangan unit dalam Z/mZ
· Theorem
a. Jika p adalah sebuah bilangan prima,
maka phi(p) = p – 1
p dan phi(p) adalah (contoh:
gcd(p,phi(p)) = 1)
ii): phi(m*n) = phi(m) * phi (n)
phi(p^a) = (p^a) - p^(a-1)
b. Contoh:
-- phi(7) = 6
-- phi(840) = phi(8) * phi(105) =
phi(2^3) * phi(3*5*7)
= [(2^3) - (2^2)] * phi(3)
* phi(5) * phi(7)
6. Pangkat. pow(a,b)
Saya akan menggunakan notasi '^'
seperti pada a^b
Key
Generation
Misalkan Alice ingin Bob mengirimnya
sebuah pesan melalui jalur yang aman. Alice akan memberikan public keynya
kepada Bob dan menyimpan private key untuk dirinya.
a. Pilih 2 bilangan prima besar seperti
p,q dimana p tidak sama dengan q.
b. Hitung M = p x q
c. Hitung phi(M) = phi(p) * phi(q)
d. Pilih sebuah integer 'e' dimana 1
< e < phi(M) dan 'e' serta phi(M) adalah coprime.
e. Hitung 'd' integer sehingga (d * e)
mod M = 1
f. (M,e) adalah public key dimana M
adalah modulo dan e adalah eksponen encryption.
g. (M,d) adalah private key dimana M
adalah modulo dan d adalah eksponen decryption.
Encrypting
Message
Misalkan Bob ingin mengirim sebuah
pesan 'H' kepada Alice.
a. Alice harus membuat keynya; sehingga
ia memiliki private dan public keys.
private key = (M,d)
public key
= (M,e)
b. Mengubah 'H' menjadi sebuah bilangan
yang menggunakan alphabet yang valid
dengan tabel bilangan. Sebuah contoh mudah adalah mapping A = 1, B = 2 ... Z =
26.
sehingga H = 8
c. C = 8^e (mod M)
C adalah sebuah bilangan ter-encrypt.
d. Bob mengirimkan bilangan tersebut
kepada Alice sehingga Alice dapat melakukan decode ulang menggunakan private
keynya.
Decrypting
Message
Misalkan Alice menerima sebuah pesan
ter-encrypt, ia akan men-decrypt-nya
menggunakan tahapan-tahapan berikut:
a. Alice mempunyai private key dari
langkah-langkah di atas (M,d)
b. N = C^d (mod M)
c. N adalah bilangan. Gunakan konversi
table alphabet untuk mengubah N menjadi karakter yang direpresentasikannya.
RSA merupakan contoh yang powerful
dan cukup aman dari Public-Key Cryptography. Berdasarkan matematika, proses
yang digunakan berdasarkan fungsi-fungsi trap-door satu arah. Sehingga
melakukan encryption dengan menggunakan public key sangat mudah bagi semua
orang, namun proses decryption menjadi sangat sulit.
Proses decryption sengaja dibuat sulit
agar seseorang, walaupun menggunakan Cray super computers dan ribuan tahun,
tidak dapat men-decrypt pesan tanpa mempunyai private key.
Perlu diingat juga bahwa pemilihan
p*q = M haruslah sebuah bilangan yang sangat besar sehingga sulit dicari
eksponen decoding-nya karena sulit melakukan pemfaktoran bilangan prima.
SUMBER :
Sadikin, Rifki, 2012,Kriptografi Untuk Keamanan Jaringan,
Yogyakarta: Andi.
http://samuyab.blogspot.com/2012/07/aes_13.htmlv
http://studyinformatics.blogspot.com/2012/07/des-data-encryption-standard.html
https://saadus.files.wordpress.com/2011/11/des-dan-aes.pdf
http://softteknik.blogspot.com/2013/07/ip-security_16.html
http://desyhermarianti.blogspot.com/2012/11/digital-certificate-digital-signature.html
https://saadus.files.wordpress.com/2011/11/dcs-vpn-kerberos.pdf
https://sufriadi.files.wordpress.com/2010/07/security-komputer.docx
http://renoxtremez.blogspot.com/2013/07/point-to-point-tunneling-protocol-pptp.html
http://putrajatim.blogspot.com/2012/08/remote-access-dial-in-user-service.html
http://ezine.echo.or.id/ezine12/echo12-05.txt
Tidak ada komentar:
Posting Komentar
leave your comment, please :)