View
242
Download
0
Category
Preview:
Citation preview
7/31/2019 Keamanan Jaringan Dan Komputer
1/69
Keamanan Jaringan Dan Komputer
KRIPTOGRAFI
Cryptography (kriptografi): Kriptografi berasal dari bahasa Yunani,
terdiri dari dua suku kata yaitu kripto dan graphia. Kripto artinya
menyembunyikan, sedangkan graphia artinya tulisan. Kriptografi adalah
ilmu yang mempelajari teknik-teknik matematika yang berhubungan
dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan
data, integritas data, serta autentikasi data (Menezes, Oorschot and
Vanstone, 1997). Kriptografi dapat pula diartikan sebagai ilmu atau seni
untuk menjaga keamanan pesan. Ketika suatu pesan dikirim dari suatu
tempat ke tempat lain, isi pesan tersebut mungkin dapat disadap olehpihak lain yang tidak berhak untuk mengetahui isi pesan tersebut. Untuk
menjaga pesan, maka pesan tersebut dapat diubah menjadi suatu kode
yang tidak dapat dimengerti oleh pihak lain.Plaintext atau cleartext:
Pesan yang dapat dibaca atau pesan yang belum disamarkan
Chipertext: Pesan yang sudah disamarkan.Enkripsi: Proses mengubah
plaintext jadi chipertext, dengan kata lain menyandikan pesan.Dekripsi:
Kebalikan dari enkripsi. Yaitu mengubah chipertext menjadi plaintext.Cryptanalysis (kriptoanalisis): Kriptoanalisis adalah kebalikan dari
kriptografi, yaitu suatu ilmu untuk memecahkan mekanisme kriptografi
dengan cara mendapatkan kunci dari cipherteks yang digunakan untuk
mendapatkan plainteks. Cryptology (kriptologi): Kriptologi adalah ilmu
yang mencakup kriptografi dan kriptoanalisis.
Cryptosystem (sistem kriptografi) adalah suatu 5-tuple (P, C, K, E,
D), dimana memenuhi kondisi sebagai berikut.
P adalah himpunan berhingga plaintekt,
C adalah himpunan berhingga ciphertekt,
K adalah himpunan berhingga kunci,
Untuk setiap K terdapat E dan D. Setiap :PC dan :CP merupakan
fungsi sedemikian hingga untuk setiap plaintektP.Mungkin kata yang
7/31/2019 Keamanan Jaringan Dan Komputer
2/69
kurang familiar bagi yang bukan orang matematika adalah tuple, artinya
sendiri adalah himpunan pasangan berurutan. Terus maksudnya fungsi
adalah fungsi matematis seperti yang pernah diajarkan di SMA dulu.
Salah satu contoh sistem kriptografi yang paling sederhana adalah
Caesar Chiper, jadi jaman dahulu kala cara ini digunakan untuk
mengirimkan pesan saat peperangan dimana pesannya disandikan
dengan cara menggeser huruf misalnya jika digeser tiga maka huruf 'a'
menjadi 'd', dst...
Berikut salah satu contoh implementasi Caesar Chiper yang saya
bikin pake program java, mungkin bukan program yang bagus, bagi
para programmer java mohon jangan kecewa saya malah butuh saran
dan kritikannya. Buat yang pengen belajar java silahkan download
listingnya, lumayan buat belajar GUI ma action event sederhana, trus
juga ada sedikit manipulasi string dan tentu saja anda bisa belajar
Caesar Chiper atau mungkin lebih tepat disebut Shift Chiper.
Data Encryption Standard (DES)
7/31/2019 Keamanan Jaringan Dan Komputer
3/69
A. Sejarah DES(Data Encryption Standart)
Algoritma DES dikembangkan di IBM dibawah kepemimpinan W.L.Tuchman pada tahun 1972. Algoritma ini didasarkan padaalgoritma LUCIFER yang dibuat oleh Horst Feistel.
Algoritma ini telah disetujui oleh National Bureau of Standard(NBS) setelah penilaian kekuatannya oleh National SecurityAgency (NSA) Amerika Serikat.
B. Tinjauan Umum
DES termasuk ke dalam sistem kriptografi simetri dan tergolongjenis cipher blok.
DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56bit kunci internal (internal key) atau upa-kunci (subkey). Kunciinternal dibangkitkan dari kunci eksternal (external key) yangpanjangnya 64 bit.
Skema global dari algoritma DES adalah sebagai berikut (lihatGambar 1):1. Blok plainteks dipermutasi dengan matriks permutasi awal
(initial permutation atau IP).2. Hasil permutasi awal kemudian di-enciphering- sebanyak 16
kali (16 putaran). Setiap putaran menggunakan kunci internalyang berbeda.
3. Hasil enciphering kemudian dipermutasi dengan matrikspermutasi balikan (invers initial permutation atau IP-1 ) menjadiblok cipherteks.
Plainteks
IP
7/31/2019 Keamanan Jaringan Dan Komputer
4/69
16 kali Enciphering
IP-1
Cipherteks
Gambar 1. Skema Global Algoritma DES
Di dalam proses enciphering, blok plainteks terbagi menjadi duabagian, kiri (L) dan kanan (R), yang masing-masing panjangnya 32bit. Kedua bagian ini masuk ke dalam 16 putaran DES.
Pada setiap putaran i, blok R merupakan masukan untuk fungsitransformasi yang disebut f. Pada fungsi f, blok R dikombinasikandengan kunci internal Ki. Keluaran dai fungsi f di-XOR-kan denganblok L untuk mendapatkan blok R yang baru. Sedangkan blok Lyang baru langsung diambil dari blok R sebelumnya. Ini adalahsatu putaran DES.
Secara matematis, satu putaran DES dinyatakan sebagai
Li = Ri 1Ri = Li 1 f(Ri 1, Ki)
Gambar 2 memperlihatkan skema algoritma DES yang lebih rinci.
7/31/2019 Keamanan Jaringan Dan Komputer
5/69
P l a i n t e k s
I P
L0
R0
f
),( 1001 KRfLR =L 1 = R 0
K1
f
),( 2112 KRfLR =L 2 = R 1
K2
),( 15141415 KRfLR =L 1 5 = R 1 4
K1 6
),( 16151516 KRfLR = L 1 6 = R 1 5
I P - 1
C i p h e r t e k s
f
Gambar 2. Algoritma Enkripsi dengan DS
7/31/2019 Keamanan Jaringan Dan Komputer
6/69
Catatlah bahwa satu putaran DES merupakan model jaringanFeistel (lihat Gambar 3).
1iRL
i - 1
f
iRL i
Ki
Gambar 3. Jaringan Feistel untuk satu putaran DES
Perlu dicatat dari Gambar 2 bahwa jika (L16, R16) merupakan
keluaran dari putaran ke-16, maka (R16, L16) merupakan pra-cipherteks (pre-ciphertext) dari enciphering ini. Cipherteks yangsebenarnya diperoleh dengan melakukan permutasi awal balikan,IP-1, terhadap blok pra-cipherteks.
C. Permutasi Awal
Sebelum putaran pertama, terhadap blok plainteks dilakukanpermutasi awal (initial permutation atau IP). Tujuan permutasi awal
adalah mengacak plainteks sehingga urutan bit-biit di dalamnyaberubah. Pengacakan dilakukan dengan menggunakan matrikspermutasi awal berikut ini:
58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 462 54 46 38 30 22 14 6 64 56 48 40 32 24 16 857 49 41 33 25 17 9 1 59 51 43 35 27 19 11 361 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7
Cara membaca tabel/matriks di atas: dua entry ujung kiri atas (58 dan50) berarti:
pindahkan bit ke-58 ke posisi bit 1pindahkan bit ke-50 ke posisi bit 2, dst
D. Pembangkitan Kunci Internal
Karena ada 16 putaran, maka dibutuhkan kunci internal sebanyak16 buah, yaitu K1, K2, , K 16. Kunci-kunci internal ini dapat
7/31/2019 Keamanan Jaringan Dan Komputer
7/69
dibangkitkan sebelum proses enkripsi atau bersamaan denganproses enkripsi.
Kunci internal dibangkitkan dari kunci eksternal yang diberikanoleh pengguna. Kunci eksternal panjangnya 64 bit atau 8 karakter.
Misalkan kunci eksternal yang tersusun dari 64 bit adalah K.Kunci eksternal ini menjadi masukan untuk permutasi denganmenggunakan matriks permutasi kompresi PC-1 sebagai berikut:
57 49 41 33 25 17 9 1 58 50 42 34 26 1810 2 59 51 43 35 27 19 11 3 60 52 44 3663 55 47 39 31 23 15 7 62 54 46 38 30 2214 6 61 53 45 37 29 21 13 5 28 20 12 4
Dalam permutasi ini, tiap bit kedelapan (parity bit) dari delapanbyte kunci diabaikan. Hasil permutasinya adalah sepanjang 56 bit,sehingga dapat dikatakan panjang kunci DES adalah 56 bit.
Selanjutnya, 56 bit ini dibagi menjadi 2 bagian, kiri dan kanan,yang masing-masing panjangnya 28 bit, yang masing-masingdisimpan di dalam C0 dan D0:
C0: berisi bit-bit dari K pada posisi57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 1810, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36
D0: berisi bit-bit dari K pada posisi63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 2214, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4
Selanjutnya, kedua bagian digeser ke kiri (left shift) sepanjangsatu atau dua bit bergantung pada tiap putaran. Operasipergeseran bersifat wrapping atau round-shift. Jumlah pergeseranpada setiap putaran ditunjukkan pada Tabel 1 sbb:
Tabel 1. Jumlah pergeseran bit pada setiap putaran
Putaran, i Jumlah pergeseran bit1 12 13 24 2
7/31/2019 Keamanan Jaringan Dan Komputer
8/69
7/31/2019 Keamanan Jaringan Dan Komputer
9/69
Bila jumlah pergeseran bit-bit pada Tabel 1 dijumlahkansemuanya, maka jumlah seluruhnya sama dengan 28, yangsama dengan jumlah bit pada Ci dan Di. Karena itu, setelahputaran ke-16 akan didapatkan kembali C16 = C0 dan D16 =D0.
K u n c i e k s t e r n a l
P e r m u t a s i
P C - 1
C0
D0
L e f t S h i f t L e f t S h i f t
C1
D1
L e f t S h i f t L e f t S h i f t
P e r m u t a s i
P C - 2 K 1
Cj
Dj
P e r m u t a s i
P C - 2 K j
L e f t S h i f t L e f t S h i f t
C1 6
D1 6
P e r m u t a s i
P C - 2 K 1 6
Gambar 4. Proses pembangkitan kunci-kunci internal DES
7/31/2019 Keamanan Jaringan Dan Komputer
10/69
Enciphering
Proses enciphering terhadap blok plainteks dilakukan setelahpermutasi awal (lihat Gambar 1). Setiap blok plainteks mengalami16 kali putaran enciphering (lihat Gambar 2). Setiap putaranenciphering merupakan jaringan Feistel yang secara matematisdinyatakan sebagai
Li = Ri 1Ri = Li 1 f(Ri 1, Ki)
Diagram komputasi fungsi f diperlihatkan pada Gambar 5.
7/31/2019 Keamanan Jaringan Dan Komputer
11/69
Ri - 1
3 2 b i t
E ( Ri - 1
)
E k s p a n s i m e n j a d i 4 8 b i t
4 8 b i t
K i4 8 b i t
AKREii=
)( 1
S1
S8
. . .
B
M a t r i k s s u b s t i t u s i
3 2 b i t
4 8 b i t
P ( B )
3 2 b i t
Gambar 5. Rincian komputasi fungsi f E adalah fungsi ekspansi yang memperluas blok Ri 1 yang
panjangnya 32-bit menjadi blok 48 bit. Fungsi ekspansidirealisasikan dengan matriks permutasi ekspansi sbb:
32 1 2 3 4 5 4 5 6 7 8 98 9 10 11 12 13 12 13 14 15 16 1716 17 18 19 20 21 20 21 22 23 24 2524 25 26 27 28 29 28 29 30 31 32 1
Selanjutnya, hasil ekpansi, yaitu E(Ri 1), yang panjangnya 48 bit
di-XOR-kan dengan Ki yang panjangnya 48 bit menghasilkanvektor A yang panjangnya 48-bit:
E(Ri 1) Ki = A
Vektor A dikelompokkan menjadi 8 kelompok, masing-masing 6bit, dan menjadi masukan bagi proses substitusi. Proses substitusidilakukan dengan menggunakan delapan buah kotak-S (S-box), S1
7/31/2019 Keamanan Jaringan Dan Komputer
12/69
7/31/2019 Keamanan Jaringan Dan Komputer
13/69
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 1110 15 4 2 7 12 9 5 6 1 13 14 0 11 3 89 14 15 5 2 8 12 3 7 0 4 10 1 13 11 64 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
S7:4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 113 0 11 7 4 9 1 10 14 3 5 12 2 15 8 61 4 11 13 12 3 7 14 10 15 6 8 0 5 9 26 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12S8:
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 71 15 13 8 10 3 7 4 12 5 6 11 0 14 9 27 11 4 1 9 12 14 2 0 6 10 13 15 3 5 82 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
Keluaran proses substitusi adalah vektor B yang panjangnya 48bit. Vektor B menjadi masukan untuk proses permutasi. Tujuanpermutasi adalah untuk mengacak hasil proses substitusi kotak-S.Permutasi dilakukan dengan menggunakan matriks permutasi P(P-box) sbb:
16 7 20 21 29 12 28 17 1 15 23 26 5 8 31 102 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25
Bit-bit P(B) merupakan keluaran dari fungsi f. Akhirnya, bit-bit P(B) di-XOR-kan dengan Li 1 untuk mendapatkanRi (lihat Gambar 6):
Ri = Li 1 P(B)
Jadi, keluaran dari putaran ke-i adalah
(Li, Ri) = (Ri 1 , Li 1 P(B))
7/31/2019 Keamanan Jaringan Dan Komputer
14/69
f
Li - 1
Ri
3 2 b i t
3 2 b i t
Gambar 6. Skema perolehan RiE. Permutasi Terakhir (Inverse Initial Permutation)
Permutasi terakhir dilakukan setelah 16 kali putaran terhadap
gabungan blok kiri dan blok kanan.
Proses permutasi menggunakan matriks permutasi awal balikan(inverse initial permutation atau IP-1 ) sbb:
40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 3138 6 46 14 54 22 62 30 37 5 45 13 53 21 61 2936 4 44 12 52 20 60 28 35 3 43 11 51 19 59 2734 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25
F. Dekripsi
Proses dekripsi terhadap cipherteks merupakan kebalikan dariproses enkripsi. DES menggunakan algoritma yang sama untukproses enkripsi dan dekripsi. Jika pada proses enkripsi urutankunci internal yang digunakan adalah K1, K2, , K16, maka padaproses dekripsi urutan kunci yang digunakan adalah K16, K15, , K1.
Untuk tiap putaran 16, 15, , 1, keluaran pada setiap putaran
deciphering adalah
Li = Ri 1Ri = Li 1 f(Ri 1, Ki)
yang dalam hal ini, (R16, L16) adalah blok masukan awal untukdeciphering. Blok (R16, L16) diperoleh dengan mempermutasikancipherteks dengan matriks permutasi IP-1. Pra-keluaran dari
7/31/2019 Keamanan Jaringan Dan Komputer
15/69
deciphering adalah adalah (L0, R0). Dengan permutasi awal IP akandidapatkan kembali blok plainteks semula.
Tinjau kembali proses pembangkitan kunci internal pada Gambar4. Selama deciphering, K16 dihasilkan dari (C16, D16) dengan
permutasi PC-2. Tentu saja (C16, D16) tidak dapat diperolehlangsung pada permulaan deciphering. Tetapi karena (C16, D16) =(C0, D0), maka K16 dapat dihasilkan dari (C0, D0) tanpa perlu lagimelakukan pergeseran bit. Catatlah bahwa (C0, D0) yangmerupakan bit-bit dari kunci eksternal K yang diberikan penggunapada waktu dekripsi.
Selanjutnya, K15 dihasilkan dari (C15, D15) yang mana (C15, D15)diperoleh dengan menggeser C16 (yang sama dengan C0) dan D16(yang sama dengan C0) satu bit ke kanan. Sisanya, K14 sampai K1dihasilkan dari (C14, D14) sampai (C1, D1). Catatlah bahwa (Ci 1, Di 1) diperoleh dengan menggeser Ci dan Di dengan cara yang samaseperti pada Tabel 1, tetapi pergeseran kiri (left shift) digantimenjadi pergeseran kanan (right shift).
G. Mode DES
DES dapat dioperasikan dengan mode ECB, CBC, OFB, dan CFB.Namun karena kesederhanaannya, mode ECB lebih seringdigunakan pada paket program komersil meskipun sangat rentanterhadap serangan.
Mode CBC lebih kompleks daripada EBC namun memberikantingkat keamanan yang lebih bagus daripada mode EBC. ModeCBC hanya kadang-kadang saja digunakan.
H. Implementasi Hardware dan Software DES
DES sudah diimplementasikan dalam bentuk perangkat keras. Dalam bentuk perangkat keras, DES diimplementasikan di dalam
chip. Setiap detik chip ini dapat mengenkripsikan 16,8 juta blok(atau 1 gigabit per detik).
Implementasi DES ke dalam perangkat lunak dapat melakukanenkripsi 32.000 blok per detik (pada komputer mainframe IBM3090).
7/31/2019 Keamanan Jaringan Dan Komputer
16/69
I. Keamanan DES
Isu-isu yang menjadi perdebatan kontroversial menyangkutkeamanan DES:1. Panjang kunci
2. Jumlah putaran3. Kotak-S
J. Panjang kunci
Panjang kunci eksternal DES hanya 64 bit atau 8 karakter, itupunyang dipakai hanya 56 bit. Pada rancangan awal, panjang kunciyang diusulkan IBM adalah 128 bit, tetapi atas permintaan NSA,
panjang kunci diperkecil menjadi 56 bit. Alasan pengurangantidak diumumkan.
Tetapi, dengan panjang kunci 56 bit akan terdapat 256 atau72.057.594.037.927.936 kemungkinan kunci. Jika diasumsikanserangan exhaustive key search dengan menggunakan prosesorparalel mencoba setengah dari jumlah kemungkinan kunci itu,maka dalam satu detik dapat dikerjakan satu juta serangan. Jadiseluruhnya diperlukan 1142 tahun untuk menemukan kunci yangbenar.
Tahun 1998, Electronic Frontier Foundation (EFE) merancang danmembuat perangkat keras khusus untuk menemukan kunci DESsecara exhaustive search key dengan biaya $250.000 dandiharapkan dapat menemukan kunci selama 5 hari. Tahun 1999,kombinasi perangkat keras EFE dengan kolaborasi internet yangmelibatkan lebih dari 100.000 komputer dapat menemukan kunciDES kurang dari 1 hari.
Jumlah putaran
Sebenarnya, delapan putaran sudah cukup untuk membuatcipherteks sebagai fungsi acak dari setiap bit plainteks dan setiapbit cipherteks. Jadi, mengapa harus 16 kali putaran?
Dari penelitian, DES dengan jumlah putaran yang kurang dari 16ternyata dapat dipecahkan dengan known-plaintext attack lebihmangkus daripada dengan brute force attack.
Kotak-S
7/31/2019 Keamanan Jaringan Dan Komputer
17/69
Pengisian kotak-S DES masih menjadi misteri tanpa ada alasanmengapa memilih konstanta-konstanta di dalam kotak itu.
Kunci Lemah dan Kunci Setengah Lemah
DES mempunyai beberapa kunci lemah (weak key). Kunci lemahmenyebabkan kunci-kunci internal pada setiap putaran sama (K1= K2 = = K 16). Akibatnya, enkripsi dua kali berturut-turutterhadap plainteks menghasilkan kembali plainteks semula.
Kunci lemah terjadi bila bit-bit di dalam Ci dan Di semuanya 0 atau1, atau setengah dari kunci seluruh bitnya 1 dan setengah lagiseluruhnya 0.
Kunci eksternal (dalam notasi HEX) yang menyebabkan terjadinyakunci lemah adalah (ingat bahwa setiap bit kedelapan adalah bitparitas).
Kunci lemah (dengan bit paritas) Kunci sebenarnya
0101 0101 0101 0101 0000000 00000001F1F 1F1F 1F1F 1F1F 0000000 FFFFFFFE0E0 E0E0 F1F1 F11F FFFFFFF 0000000FEFE FEFE FEFE FEFE FFFFFFF FFFFFFF
Selain kunci lemah, DES juga mempunyai sejumlah pasangankunci setengah-lemah (semiweak key). Pasangan kunci setengah-lemah mengenkripsikan plainteks menjadi cipherteks yang sama.Sehingga, satu kunci dalam pasangan itu dapat mendekripsipesan yang dienkripsi oleh kunci yang lain di dalam pasangan itu.
Kunci setengah-lemah terjadi bila:1. Register C dan D berisi bit-bit dengan pola 01010101 atau
101010102. Register yang lain (C atau D) berisi bit-bit dengan pola 0000
0000, 11111111, 01010101, atau 10101010
Ada 6 pasang kunci setengah lemah (dalam notasi HEX):a. 01FE 01FE 01FE 01FE dan FE01 FE01 FE01 FE01b. 1FE0 1FE0 0EF1 0EF1 dan E01F E01F F10E F10Ec. 01E0 01E0 01F1 01F1 dan E001 E001 F101 F101d. 1FFE 1FFE 0EFE 0EFE dan FE1F FE1F FE0E FE0Ee. 011F 011F 010E 010E dan 1F01 1F01 0E01 0E01
7/31/2019 Keamanan Jaringan Dan Komputer
18/69
f. E0FE E0FE F1FE F1FE dan FEE0 FEE0 FEF1 FEF1
AES (Advanced Encryption Standard)
I.Pengertian AES
AES (Advanced Encryption Standard) adalahlanjutan dari
algoritma enkripsi standar DES(Data Encryption Standard) yang masaberlakunya dianggap telah usai
karena faktorkeamanan. Kecepatan komputer yang sangatpesat
dianggap sangat membahayakan DES,sehingga pada tanggal 2 Maret
tahun 2001ditetapkanlah algoritma baru Rijndael sebagaiAES.
Rijndael dipilih dari 15 algoritma yang didaftarkanoleh berbagai
kalangan industri dan akademik diseluruh dunia ke NIST (National
Institute ofStandard and Technology), Amerika.Tulisan ini bersifat
review pengetahuanmengenai desain algoritma enkripsi standar
internasional AES. Pada makalah ini akandijelaskan berbagai komponen
yang terdapatdi dalam AES, dan
fungsikomponenkomponentersebut.Kriteria pemilihan AES
didasarkanpada 3kriteria utama yaitu : keamanan, harga,
7/31/2019 Keamanan Jaringan Dan Komputer
19/69
dankarakteristik algoritma beserta implementasinya. Keamanan
merupakan faktor terpenting dalam evaluasi (minimal seamana triple
DES), yang meliputi ketahanan terhadap semua analisis sandi yang
telah diketahui dan diharapkan dapat menghadapi analisis sandi yang
belum diketahui. Disamping itu, AES juga harus dapat digunakan secara
bebas tanpa harus membayar royalti, dan juga murah untuk
diimplementasikan
pada smart card yang memiliki ukuran memori kecil. AES juga
harus efisien dan cepat (minimal secepat Triple DES) dijalankan
dalamberbagai mesin 8 bit hingga 64 bit, danberbagai perangkat
lunak.DES menggunakan stuktur Feistel yang memiliki kelebihan bahwa
struktur enkripsi dandekripsinya sama, meskipun menggunakan fungsi F
yang tidak invertibel. Kelemahan Feistel yang utama adalah bahwa pada
setiap ronde, hanya setengah data yang diolah. Sedangkan AES
menggunakan struktur SPN (Substitution Permutation Network) yang
memiliki derajat paralelisme yang lebih besarsehingga diharapkan lebih
cepat dari pada Feistel.Kelemahan SPN pada umumnya (termasuk pada
Rijndael) adalah berbedanya struktur enkripsi dandekripsi sehingga
diperlukan dua algoritma yang berbeda untuk enkripsi dan dekripsi. Dantentu pula tingkat keamanan enkripsi dan dekripsinya
menjadi berbeda. AES[4] memiliki blok masukan dan keluaran serta
kunci 128 bit. Untuk tingkat keamanan yang lebih tinggi, AES dapat
menggunakan kunci 192 dan256 bit. Setiap masukan 128 bit plaintext
dimasukkan ke dalam state yang berbentuk bujursangkar berukuran 4x4
byte. State ini di-XOR dengan key dan selanjutnya diolah 10 kali dengan
subtitusi-transformasi linear-Addkey. Dan di akhir
diperoleh ciphertext.
II.OPERASI RIJNDAEL (AES)
Berikut ini adalah operasi Rijndael (AES) yangmenggunakan 128
bit kunci: Ekspansi kunci utama (dari 128 bit menjadi1408
bit)Pencampuran subkey. Ulang dari i=1 sampai i=10 Transformasi
7/31/2019 Keamanan Jaringan Dan Komputer
20/69
ByteSub (subtitusi per byte)ShiftRow (Pergeseren byte
perbaris)MixColumn (Operasi perkalian GF(2) per
kolom) Pencampuran subkey (dengan XOR) Transformasi : ByteSub
dan ShiftRow Pencampuran subkey
III. DESAIN AES
Ekspansi kunci utama bertujuan untuk memperoleh subkey
sebanyak 1280 bit,sedangkan user hanya diminta memberikan
128 bit key. Pencampuran subkey berupa operasi XOR antara subkey
dengan state (plaintext atau cipher antara).Substitusi dapat dilakukan
dengan melihat tabel kotak-substitusi jika diperlukan operasi
yang cepat, namun tabel ini membutuhkan ruang yang lebih besar pada
implementasi perangkat keras. Substitusi juga dapat diperoleh dengan
operasi inversi masukan dalam GF(28) dalam mod m(x) di mana m(x) =
x8 + x4 + x3 + x + 1, dan hasilnya kemudian dikalikan dengan matriks
L berukuran 8x8 dalam GF(2) seperti berikut :
1 0 0 0 1 1 1 1
1 1 0 0 0 1 1 11 1 1 0 0 0 1 1
1 1 1 1 0 0 0 1
1 1 1 1 1 0 0 0
0 1 1 1 1 1 0 0
0 0 1 1 1 1 1 0
0 0 0 1 1 1 1 1
L =
Operasi ini dilakukan dalam mod 257d.
Hasilnya di-XOR-kan dengan konstanta
c=01100011.
Masukan 0 dipetakan ke 0 pula.
7/31/2019 Keamanan Jaringan Dan Komputer
21/69
Secara formal[1], proses subtitusi dapat
dinyatakan sebagai berikut :
1 : F
_
F, f
{ 1 0
0 0
f if f
if f
-
=
L : f
(x4 + x3 + x2 + x + 1)f mod x8 + 1
2
: F
_
F, f_
x6 + x5 + x + 1 + f
Di mana permutasi
dari grup simetri 256
elemen dipecah menjadi 3 permutasi
1, L dan
2
Contoh :
7/31/2019 Keamanan Jaringan Dan Komputer
22/69
Masukan kotak-S berupa x = 98hex = 100110002 =x7 + x4 +x3,
maka cari x-1. x.x-1 mod m(x) = 1.Diperoleh x-1 = 2Ax. Lalu x-1.L + c =
46x. Sehingga bila masukan kotak-S x = 98x, maka keluarannya adalah
46x.Operasi shiftrow dilakukan dengan menggeser baris kedua ke kiri
satu byte, baris ketiga kekiri dua byte, baris ketiga ke kiri tiga byte, dan
baris pertama tidak digeser. Operasi Mixcolumn dilakukan dengan
mengambil setiap kolom yang diperlakukan sebagai vektor kolom
GF(28) dan dikalikan dengan matrik
02 03 01 01
01 02 03 01
01 01 02 03
03 01 01 02
mod (x4+1)
IV.NALISIS DESAIN AES
AES didesain berdasarkan wide trail strategy yang dicetuskan
pendesain Rijndael, Daemen, dalam disertasinya. Strategi ini
mengusulkan agarcipher terdiri dari tiga komponen utama :
Infomatek Volume 5
pencampuran kunci, transformasi tidak linear dan transformasi
linear. Pencampuran kunci bertujuan agar keamanan algoritma tidak
terletak pada dirahasiakannya algoritma,melainkan pada kerahasiaan
kunci. Transformasi nonlinear bertujuan agar bila diketahui keluaran,
maka tidak dapat diketahui masukannya. Hal ini dapat dilakukan dengan
kotak-S. Transformasi linear bertujuan agar sebanyak mungkintransfomasi nonlinear yang aktif. Dengan memisahkan transformasi
linear dengan non linear, diharapkan kita dapatmendesain transformasi
nonlinear terbebas dari transformasi linear dan sebaliknya. Daemen
menekankan betapa perlunya desain transformasi linear yang baik.
Analisis sandi pada DES menunjukkan betapa buruknya transformasi
7/31/2019 Keamanan Jaringan Dan Komputer
23/69
linear pada DES (permutasi) sehingga tidak dapat menahan analisis
sandi linear dan diferensial. Pada awal dan akhir cipher, diberikan
operasi Pre-whitening dan post-whitening,
yangberupaXORplaintext/ciphertext dengansubkey. Operasi ini
bertujuan meningkatkan keamanan seperti halnya pada DES-X.
Sedangkan pada awal dan akhir DES hanyaterdapat permutasi yang
tidak meningkatkankeamanan.
Kotak Substitusi
Kotak-S pada AES didesain dengan rumusanmatematika untuk
menghilangkan kecurigaan akan ditanamnya backdoor pada kotak-S.
Penggunaan inversi x-1 pada GF(28) dikarenakan ketahanan operasi ini
terhadap analisis sandi linear dan diferensial. Maksimum peluang
propagasi diferensialnya DPmaks = 2-6 dan korelasi linear
maksimumnya LPmaks = 2-3. Meskipun inversi ini sudah mengamankan
AES dari analisis sandi diferensial (ASD) dan linear (ASL), namun karena
kesederhanaannya, maka dikuatirkan kotak-S ini mudah diserang
dengan algebraattack, khususnya interpolation attack. Karena
itulah ditambahkan transformasi linear yang memiliki sifat tidakmempengaruhi ketahanan terhadap ASD dan ASL, namun
menghilangkan kesempatan penyerang untuk mengeksploitasi
kesederhanaan aljabar AES. Karena itu dikalikanlah dengan matrik L
dalam GF(2). Ketidakkompatibelan operasi antara GF(28) dan
GF(2) ini mempersulit serangan aljabar terhadap
AES. Kemudian, untuk menghindari pemetaan 0 ke 0, maka
ditambahkan konstanta c. Pemetaan 0 ke 0 dalam kotak-S pada DESmembuat DES[3] rentan terhadap serangan ASD dan ASL. Dalam ASD,
pemetaan semacam ini memudahkan penyerang mendapatkan
karakteristik iteratif sehingga DES dapat dipecahkan. Kotak-S juga
didesain agar memungkinkan operasi berjalan secara paralel penuh.
7/31/2019 Keamanan Jaringan Dan Komputer
24/69
Pada setiap ronde, ke-16 kotak-S AES dapat dioperasikan bersamaan,
khususnya pada
Desain AES (Advanced Encrypion Standart)
perangkat keras, sehingga operasi dapatberjalan dengan sangat
cepat. AES hanya memiliki satu macam kotak-S, sehingga menghemat
jumlah gerbang yang diperlukan pada perangkat keras. Kotak-S ini juga
invertible sehingga inversinya dapat digunakan pada proses dekripsi.
Berikut ini adalah ringkasan kriteria kotak-S
a. Invertibility (untuk dekripsi)
b. Minimisasi korelasi antara kombinasi linear bit-bit masukan dan
kombinasi linear bit-bit keluaran (menahan ASL)
c. Minimisasi nilai terbesar pada tabel XOR (menahan ASD)
d. Kompleksitas ekspresi aljabar padaGF(28) (diperoleh
dengantambahan L untuk menghalangi interpolation attack)
e. Kesederhanaan deskripsi (mudah analisisnya)
Operasi Mixcolumns
Bersama dengan operasi ShiftRows, MixColumn merupakantransformasi linear yang bertujuan untuk menyebarkan pengaruh
transformasi nonlinear ke sebanyak mungkin komponen nonlinear di
ronde selanjutnya. Bila shiftRows bertujuan menyebarkan pada arah
baris, maka MixColumn bertujuan menyebarkan ke arah kolom. Dengan
perpaduan dua operasi ini, diperolehlah difusi
yang sangat baik. Dalam MixColumn diperkenalkan konsep jumlah
cabang (yang dicetuskan Daemen dalam disertasinya[5]) entuk matrikM. Bila jumlah koefisien tidak-nol dalam vektor a dinyatakandengan
wb(a), maka untuk ab= min { wb (a b) + wb (Ma Mb) } Matrik
MixColumn M memiliki= 5. Artinyabahwa beda tidak nol dalam satu
byte akan disebarkan paling sedikit ke beda tidak nol dalam empat byte,
seperti terlihat pada gambar 1. Dari gambar 1 terlihat bahwa ASD dan
7/31/2019 Keamanan Jaringan Dan Komputer
25/69
ASL untuk 4 ronde ke atas akan melibatkan sedikitnya 21 kotak-S aktif,
sehingga DPmaks = (2-6)21 = 2-126 danLPmaks = 2(21-1)(2-3)21 =
2202-63 = 2-43.Gambar 1. ASD dan ASL AES
KRITERIA EKSPANSI KUNCI
Subkey pada tiap ronde dapat diperoleh dari umus :W[i] = W[i-6]
W[i-1]W[6i] = W[6i-6] f(W[6i-1]) i mana f() merupakan fungsi
penggunaankotak-S dan penambahan konstanta ronde.Penjadwalan
kunci dapat diimplementasikan anpa eksplisit menggunakan array W.
Jikajumlah yang tersedia kecil, maka kunci perronde dapat dihitung on-
the-flydan hanya embutuhkan buffer sebesar 64 byte.
Rekursi ekspansi kunci bersifat invertible. Iniberarti bahwa mengetahui
4 word (64 byte) erurutan dari kunci terekspansi akan dapat
membangkitkan seluruh tabel subkey. eskipun demikian, mengetahui
sebagian bitsubkey (kurang dari 4 word) tidak akanmengijinkan
mengetahui bit-bit subkey ataukey yang lain. Ekspansi kunci sederhana
danefisien untuk banyak prosesor. Konstanta perronde menghilangkan
sifat simetri. Substitusi padaekspansi
uncimemberikanketidaklinearansehingga dapat menghindari related-key
attack.
7/31/2019 Keamanan Jaringan Dan Komputer
26/69
Digital Certificate
Selalu ada keragu-raguan di sisi pengguna ketika akan ditanya
mengenai informasi pribadi di situs kita. Sebagian besar pengguna internet
meninggalkan situs yang sedang diaksesnya karena diminta informasi
pribadinya pada halaman yang tidak dilengkapi oleh Digital
Certificate.Tidak ada cara yang lebih tepat bagi kita, pemilik situs, untuk
mendapatkan kepercayaan pengguna dalam hal transaksi data, kecuali
dengan memasang sebuah SSL Certificate dari Certificate Authorityyang
terpercaya.Magnet Web Hosting menawarkan Digital Certificate dari
Thawte dengan pilihan skalabilitas dan harga yang sesuai dengan
kebutuhan anda
Fitur Digital Certificate dari Thawte
FiturSSL 123
Certificate
Web Server
Certificate
SGC
Supercert
Wildcard
Server
Certificate
Step Up tdk tdk ya tdk
Verifikasi Domain Verifikasi Verifikasi Verifikasi
http://www.thawte.com/http://www.thawte.com/http://www.thawte.com/http://www.thawte.com/http://www.thawte.com/http://www.thawte.com/7/31/2019 Keamanan Jaringan Dan Komputer
27/69
Check
Instant
Otentikasi
Bisnis
Otentikasi
Bisnis
Otentikasi
Bisnis
Waktu Penerbitan
* 1 hari 2 hari 2 hari 2 hari
Biaya @ 2
Tahun950.000 2.650.000 6.850.000 11.400.000
Biaya @ 1 Tahun 600.000 1.550.000 4.000.000 7.200.000
Perpanjangan
@ 2 Tahun 950.000 2.500.000 5.900.000 11.400.000
@ 1 Tahun 600.000 1.450.000 3.150.000 7.200.000
Lisensi
Tambahan
@ 2 Tahun 700.000 1.700.000 4.750.000 8.150.000
@ 1 Tahun 450.000 900.000 2.650.000 4.750.000
Order Order Order Order
* Waktu penerbitan akan tergantung kepada proses
verifikasi bisnis terhadap Digital Certificate yang
bersangkutan.
Brand dengan Kualitas Terbaik
Thawte merupakan brand yang dikenal dengan baik dalam industri
Digital Certificate. Dengan Thawte's Trusted Seal anda akan mendapatkan
http://manage.magnet-id.com/order.php?step=2&pid=10http://manage.magnet-id.com/order.php?step=2&pid=11http://manage.magnet-id.com/order.php?step=2&pid=12http://manage.magnet-id.com/order.php?step=2&pid=13http://manage.magnet-id.com/order.php?step=2&pid=10http://manage.magnet-id.com/order.php?step=2&pid=11http://manage.magnet-id.com/order.php?step=2&pid=12http://manage.magnet-id.com/order.php?step=2&pid=137/31/2019 Keamanan Jaringan Dan Komputer
28/69
kemudahan dalam menjalin kepercayaan dengan pengunjung situs dan
pengguna layanan anda.
Pilihan Sesuai dengan Kebutuhan
Thawte memberikan pilihan dan tipe Digital Certificate untuk
disesuaikan dengan kebutuhan anda. Semua akan tergantung kepada
usaha yang anda jalankan dan perhatian anda terhadap pentingnya
keamanan transaksi data pengguna layanan anda.
Thawte Trusted Site Seal
Dengan memilik Digital CertificateThawte, anda dapatmemasangThawte Trusted Site Seal di situs anda. Seal ini memberikan
kenyamanan dan perasaan aman bagi pengunjung situs anda.
7/31/2019 Keamanan Jaringan Dan Komputer
29/69
IP Security
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 terhadap data pada lapisan yang sama dengan
protokol IP dan menggunakan teknik tunneling untuk 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
lapsian 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
7/31/2019 Keamanan Jaringan Dan Komputer
30/69
paket datagram IP cocok dengan filter tertentu, maka kelakukan yang
dikaitkan dengannya akan diaplikasikan terhadap paket IP tersebut.
Dalam sistem operasi Windows 2000, Windows XP, dan Windows
Server 2003, kebijakan keamanan tersebut dibuat dan ditetapkan padalevel 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. Peraturan-peraturan tersebutdapat menentukan metode-metode autentikasi dan negosiasi, atribut
proses tunneling, 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
7/31/2019 Keamanan Jaringan Dan Komputer
31/69
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 sebelumnya (skema Pre-
Shared Key/PSK) untuk melakukan enkripsi secara privat
7/31/2019 Keamanan Jaringan Dan Komputer
32/69
7/31/2019 Keamanan Jaringan Dan Komputer
33/69
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 7mendengarkan 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.
II. Dasar-Dasar Kerberos
Pendekatan dasar dari Kerberos adalah menciptakan suatu
layanan yang tujuan satu-satunya adalah untuk autentikasi. Alasannya
adalah untuk membebaskan layanan tersebut dari keharusan untuk
mengurusi record akun pengguna. Dalam pendekatan ini, pengguna dan
layanan harus memercayai Kerberos authentication server (AS). AS ini
berperan sebagai pengenal kepada mereka. Untuk melakukan hal ini,
pengguna dan layanan harus mempunyai shared secret key yang telah
terdaftar di AS. Key tersebut dinamakan long-term keys, karena
memang digunakan dalam jangka waktu yang cukup lama, yaitu
berminggu-minggu atau berbulan-bulan. Ada tiga langkah dasar dalam
7/31/2019 Keamanan Jaringan Dan Komputer
34/69
7/31/2019 Keamanan Jaringan Dan Komputer
35/69
password tersebut. Hal tersebut dapat menjadi menyulitkan jika kita
memiliki banyak akun dan kita harus memasukkan password tersebut
satu per satu. Mungkin kita akan mencoba membuat password yang
mudah untuk diketik, dan sebagai akibatnya maka password kita
tersebut akan menjadi mudah untuk ditebak. Dan jika kita
menggunakan password yang 9sama untuk setiap akun kita, maka jika
password kita tersebut terbongkar, seluruh akun kita menjadi rentan
ditembus. Kerberos mengatasi masalah ini dengan memperkenalkan
suatu layanan baru, yaitu Ticket Granting Server (TGS). TGS secara
logika berbeda dari AS, meskipun mungkin mereka berada dalam satu
mesin yang sama (keduanya sering disebut sebagai KDC Key
Distribution Center) Tujuan dari TGS adalah untuk menambahkan layer
tambahan sehingga pengguna hanya perlu untuk memasukkan
password sebanyak satu kali saja. Ticket dan session key yang didapat
dari password tersebut digunakan untuk ticket selanjutnya. Jadi,
sebelum mengakses suatu layanan regular, pengguna meminta ticket
dari AS untuk berbicara dengan TGS. Ticket ini disebut ticket granting
ticket (TGT) , sering juga disebut sebagai initial ticket. Session key
untuk TGT dienkripsi menggunakan long-term key milik pengguna,sehingga password dibutuhkan untuk mendekripsikannya kembali dari
respon AS kepada pengguna. Setelah menerima TGT, kapanpun
pengguna ingin mengakses layanan, dia meminta ticket bukan dari AS
tetapi dari TGS. Lebih jauh lagi, jawabannya tidak dienkripsi
menggunakan secret key milik pengguna, tetapi menggunakan session
key yang datang bersama TGT, sehingga password pengguna tidak
diperlukan untuk mendapatkan session key yang baru. Hal tersebut
dapat diilustrasikan sebagai berikut. Bayangkan Anda adalah seorang
karyawan di sebuah gedung. Anda menunjukkan kartu ID regular untuk
mendapatkan kartu
ID guest. Sekarang, ketika Anda ingin memasuki berbagai ruangan
di gedung tersebut, Anda tidak menunjukkan kartu ID regular lagi dan
7/31/2019 Keamanan Jaringan Dan Komputer
36/69
lagi, yang mungkin dapat mudah sekali hilang atau dicuri orang, tetapi
Anda tinggal menunjukkan kartu ID guest yang 10hanya berlaku untuk
suatu waktu yang singkat saja. Jika kartu ID guest tersebut hilang atau
dicuri, Anda dapat dengan segera memblokirnya dan membuat kartu
yang baru, suatu hal yang tidak dapat dilakukan terhadap kartu ID
regular Keuntungan dari hal ini adalah jika password biasanya valid
untuk jangka waktu yang panjang, misalnya berminggu-minggu atau
berbulan-bulan, maka TGT hanya valid untuk jangka waktu yang
pendek, misalnya hanya delapan hingga sepuluh jam saja.
Setelah itu, TGT tidak dapat digunakan lagi oleh siapapun. TGT ini
disimpan dalam credentials cache.
IV.OPERASI KERBEROS
Pada bab ini akan dijelaskan operasi atau cara kerja Kerberos
secara lebih detail. Sebelum menjelaskan bagaimana kerberos
beroperasi atau bekerja, kita harus mengetahui paket apa saja yang
dikirim di antara pengguna dan KDC (AS dan TGS),
dan antara pengguna dengan layanan selama proses autentikasi. Perludiingat bahwa layanan tidak pernah berkomunikasi secara langsung
dengan KDC (Key Distribution Center). Berikut adalah
daftar paket-paket:
AS_REQ adalah request autentikasi pengguna awal. Pesan ini
ditujukan kepada komponen KDC, yaitu AS.
AS_REP adalah jawaban dari AS terhadap pesan sebelumnya. Pada
dasarnya pesan ini mengandung TGT (dienkripsi menggunakan TGS
secret key) dan session key (dienkripsi menggunakan secret key dari
pengguna).
7/31/2019 Keamanan Jaringan Dan Komputer
37/69
TGS_REQ adalah request dari pengguna kepada Ticket Granting
Server (TGS) untuk mendapatkan service ticket. Paket ini mengandung
TGT yang didapat dari pesan sebelumnya dan authenticator yang dibuat
oleh pengguna
dan dienkripsi dengan session key.
TGS_REP adalah jawaban dari Ticket Granting Server terhadap pesan
sebelumnya. Dalam paket ini terdapat service ticket yang diminta
(dienkripsi dengan secret key dari layanan) dan session key milik
layanan yang dibuat oleh TGS dan dienkripsi dengan session key
sebelumnya yang dibuat oleh AS.
12 AP_REQ adalah request yang dikirimkan oleh pengguna kepada
layanan/aplikasi agar dapat mengakses layanannya. Komponennya
adalah service ticket yang didapat dari TGS dengan jawaban
sebelumnya dan authenticator yang dibuat oleh pengguna, tetapi kali ini
dienkripsi menggunakan session key milik layanan (dibuat oleh TGS).
AP_REP adalah jawaban yang diberikan oleh layanan kepadapengguna untuk membuktikan bahwa layanan tersebut adalah benar
merupakan layanan yang ingin
diakses oleh pengguna. Paket ini tidak selalu diminta.
7/31/2019 Keamanan Jaringan Dan Komputer
38/69
7/31/2019 Keamanan Jaringan Dan Komputer
39/69
PAC dan PNS. Mekanisme ini memungkinkan untuk efisien penggunaan
bandwidth yang tersedia untuk menghindari terowongan dan tidak perlu
retransmisions dan penyangga overruns. PPTP tidak mendikte khusus
untuk algoritma ini digunakan untuk mengontrol tingkat rendah tetapi ia
menetapkan parameter yang harus melakukan komunikasi untuk
algoritma tersebut memungkinkan untuk bekerja. Fungsi tombol dari
Microsoft PPTP telah dilindungi oleh L2TP, yang merupakan standar
protokol IETF untuk tunneling. Network Monitoring and
TroubleshootingEasy to use tool with comprehensive features at a
fraction of the cost of others. Click here for free demo.Technical books,
quick guides and posters
Networking, telecom, computing, wireless, information technologies,
security and much more ...
Struktur protokol - pptp: menunjuk ke titik Tunneling Protokol
16 32 bit Panjang PPTP jenis pesan Magic cookie Kontrol jenis pesan
Reserved 0
Versi protokol Reserved 1 Framing kemampuan Mengingat kemampuanMaksimum saluran Firmware revisi Nama Host (64 Octets) Vendor string
(64 Octets)
Panjang - Total panjang dalam octets ini termasuk pesan PPTP PPTP
seluruh kepala.
PPTP jenis pesan - Pesan jenis. Nilai yang mungkin adalah: 1Control
pesan; 2Management pesan. Magic Cookie - Cookie adalah sihir yang
selalu dikirim sebagai 0x1A2B3C4D konstan. Dasar dan tujuan adalah
untuk memungkinkan penerima untuk memastikan bahwa itu benar
disinkronkan dengan data TCP streaming.
Pesan kontrol Jenis - Nilai dapat: Kontrol Koneksi Manajemen - 1Start-
Control-Permintaan sambungan-2 Mula-Control-Connection-Balas; 3Stop-
7/31/2019 Keamanan Jaringan Dan Komputer
40/69
Control-Connection-Permintaan; 4Stop-Control-Connection-Balas; 5Echo-
Permintaan; 6Echo-Balas.
Manajemen panggilan - 7Outgoing-panggilan-Permintaan; 8Outgoing-
panggilan-Balas; 9Incoming-panggilan-Permintaan; 10Incoming-
panggilan-Balas; 11Incoming-panggilan-Hubungkan; 12Call-Hapus-
Permintaan; 13Call-Putus-Beritahu
Kesalahan Pelaporan - 14WAN-Kesalahan-Beritahu Acara Kontrol
PPP - 15Set-Link-Info. Reserved 0 & 1 - Harus ditetapkan ke angka 0.
Protokol versi - PPTP nomor versi Framing Kemampuan - Menunjukkan
jenis pemasangan bahwa pengirim pesan ini dapat menyediakan: 1 -
Asynchronous Framing didukung; 2 - sinkronis Framingdidukung
Kemampuan P'bawa - Menunjukkan kemampuan pembawa bahwa
pengirim pesan ini dapat menyediakan: 1 - Analog akses didukung; 2 -
Digital akses didukung Saluran maksimum - Jumlah individu PAC PPP
sesi ini dapat mendukung. Revisi firmware - Berisi dengan firmware
revisi jumlah penerbitan PAC, ketika dikeluarkan oleh PAC, atau versi
PNS PPTP driver jika dikeluarkan oleh PNS. Nama host - Berisi nama DNS
dari penerbitan PAC atau PNS. Nama vendor - Berisi yang spesifikvendor string yang menjelaskan jenis PAC yang digunakan, atau PNS
jenis perangkat lunak yang digunakan jika permintaan ini dikeluarkan
oleh PNS.
7/31/2019 Keamanan Jaringan Dan Komputer
41/69
Layer 2 Tunneling Protocol
Membangun tunneling Untuk membuat sebuah tunnel, diperlukan
sebuah protokol pengaturnya sehingga tunnel secara logika ini dapat
berjalan dengan baik bagaikan koneksi point-to-point sungguhan. Saat
ini, tersedia banyak sekali protokol pembuat tunnel yang bisa
digunakan. Namun, tunneling protocol yang paling umum dan paling
banyak digunakan terdiri dari tiga jenis di bawah ini:
1. Layer 2 Tunneling Protocol (L 2 TP) L 2 TP adalah sebuah tunneling
protocol yang memadukan dan mengombinasikan dua buah tunneling
protocol yang bersifat proprietary, yaitu L 2 F (Layer 2 Forwarding) milik
Cisco Systems dengan PPTP (Point-to-Point Tunneling Protocol) milik
Microsoft. Pada awalnya, semua produk Cisco menggunakan L 2 F untuk
mengurus tunneling-nya, sedangkan operating system Microsoft yang
terdahulu hanya menggunakan PPTP untuk melayani penggunanya yangingin bermain dengan tunnel. Namun saat ini, Microsoft Windows
NT/2000 telah dapat menggunakan PPTP atau L 2 TP dalam teknologi
VPN-nya.
L 2 TP biasanya digunakan dalam membuat Virtual Private Dial Network
(VPDN) yang dapat bekerja membawa semua jenis protokol komunikasi
didalamnya. Selain itu, L 2 TP juga bersifat media independen karena
dapat bekerja di atas media apapun. L 2 TP memungkinkan
penggunanya untuk tetap dapat terkoneksi dengan jaringan lokal milik
mereka dengan policy keamanan yang sama dan dari manapun mereka
berada, melalui koneksi VPN atau VPDN. Koneksi ini sering kali dianggap
sebagai sarana memperpanjang jaringan lokal milik penggunanya,
namun melalui media publik.Namun, teknologi tunneling ini tidak
7/31/2019 Keamanan Jaringan Dan Komputer
42/69
memiliki mekanisme untuk menyediakan fasilitas enkripsi karena
memang benar-benar murni hanya membentuk jaringan tunnel. Selain
itu, apa yang lalu-lalang di dalam tunnel ini dapat ditangkap dan
dimonitor dengan menggunakan protocol analizer.
2. Generic Routing Encapsulation (GRE) Protokol tunneling yang satu
ini memiliki kemampuan membawa lebih dari satu jenis protokol
pengalamatan komunikasi. Bukan hanya paket beralamat IP saja yang
dapat dibawanya, melainkan banyak paket protokol lain seperti CNLP,
IPX, dan banyak lagi. Namun, semua itu dibungkus atau dienkapsulasi
menjadi sebuah paket yang bersistem pengalamatan IP. Kemudian
paket tersebut didistribusikan melalui sistem tunnel yang juga bekerja di
atas protokol komunikasi IP. Dengan menggunakan tunneling GRE,
router yang ada pada ujung-ujung tunnel melakukan enkapsulasi paket-
paket protokol lain di dalam header dari protokol IP. Hal ini akan
membuat paket-paket tadi dapat dibawa ke manapun dengan cara dan
metode yang terdapat pada teknologi IP. Dengan adanya kemampuan
ini, maka protokol-protokol yang dibawa oleh paket IP tersebut dapat
lebih bebas bergerak ke manapun lokasi yang dituju, asalkan terjangkausecara pengalamatan IP. Aplikasi yang cukup banyak menggunakan
bantuan protokol tunneling ini adalah menggabungkan jaringan-jaringan
lokal yang terpisah secara jarak kembali dapat berkomunikasi. Atau
dengan kata lain, GRP banyak digunakan untuk memperpanjang dan
mengekspansi jaringan lokal yang dimiliki si penggunanya. Meski cukup
banyak digunakan, GRE juga tidak menyediakan sistem enkripsi data
yang lalu-lalang di tunnel-nya, sehingga semua aktivitas datanya dapat
dimonitor menggunakan protocol analyzer biasa saja.
3. IP Security Protocol (IP Sec) IP Sec adalah sebuat pilihan tunneling
protocol yang sangat tepat untuk digunakan dalam VPN level korporat.
IP Sec merupakan protokol yang bersifat open standar yang dapat
7/31/2019 Keamanan Jaringan Dan Komputer
43/69
menyediakan keamanan data, keutuhan data, dan autentikasi data
antara kedua peer yang berpartisipasi di dalamnya. IP Sec menyediakan
sistem keamanan data seperti ini dengan menggunakan sebuah metode
pengaman yang bernama Internet Key Exchange (IKE). IKE ini bertugas
untuk menangani masalah negosiasi dari protokol-protokol dan
algoritma pengamanan yang diciptakan berdasarkan dari policy yang
diterapkan pada jaringan si pengguna. IKE pada akhirnya akan
menghasilkan sebuah sistem enkripsi dan kunci pengamannya yang
akan digunakan untuk autentikasi pada sistem IP Sec ini.
7/31/2019 Keamanan Jaringan Dan Komputer
44/69
7/31/2019 Keamanan Jaringan Dan Komputer
45/69
Secure Hash Algorithm
( SHA )
Verifikasi dan otentikasi merupakan hal yang penting dalam
pertukaran informasi. Hal ini dikarenakan dalam pertukaran informasi itu
dibutuhkan suatu keaslian data dan keutuhannya. Asli di sini dalam arti
datanya tidak berubah dan juga diketahui pengirim yang jelas dari data
yang telah dikirimkan tersebut sehingga tidak terjadi penyangkalan
terhadap data yang dikirimkan. Sedangkan keutuhan data di sini berarti
data yang dikirimkan tersebut tetap dan tidak mengalami perubahan
terhadap isi dari data yang dikirimkan tersebut.
Fungsi hash merupakan salah satu fungsi yang memberikan layanan
untuk verifikasi dan otentikasi karena fungsi hash ini menghasilkan
suatu nilai yang unik untuk setiap pesan. Fungsi hash ini disebut juga
fungsi satu arah ( one way hash function ) karena sangat sulit untuk
mendapatkan kembali pesan awal dari hasil fungsi hash. Dan juga fungsihash ini memiliki karakteristik berapa pun input yang diberikan akan
menghasilkan output yang sama dengan nilai yang unik. Sebagian besar
implementasi dari fungsi hash ini terdapat pada cryptography.
Secure Hash Algorithm ( SHA ) merupakan salah satu algoritma
fungsi hash yang digunakan. 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. SHA disebut aman (secure) karena ia dirancang sedemikian
sehingga secara komputasi tidak mungkin menemukan pesan yang
berkoresponden dengan message digestyang diberikan.
7/31/2019 Keamanan Jaringan Dan Komputer
46/69
Dengan mengubah sedikit pada pesan dengan probabilitas sangat
tinggi akan menghasilkan message digest yang berbeda. Hal ini akan
menjadikan kegagalan dalam verifikasi ketika secure hash algorithm ini
digunakan dengan digital signature algorithm atau sebuah keyed-hash
message authentication algorithm. SHA mempunyai empat spesifikasi,
yaitu SHA-1, SHA-256, SHA-384 dan SHA-512. perbedaan dari keempat
spesifikasi ini diperlihatkan pada tabel 1. Di sini akan dibahas tentang
SHA-1 dan SHA-256.
Tabel 1. Perbedaan pada spesifikasi pada secure hash algorithm
SHA-1
Algoritma
Algoritma SHA-1 menerima masukan berupa pesan dengan ukuran
maksimum 264 bit (2.147.483.648 gigabyte) dan menghasilkan message
digestyang panjangnya 160 bit, lebih panjang dari message digestyang
dihasilkan oleh MD5. Gambaran pembuatan message digest dengan
algoritma SHA-1 diperlihatkan pada Gambar 1.
http://amanjdac.files.wordpress.com/2008/01/011208-2014-securehasha1.png7/31/2019 Keamanan Jaringan Dan Komputer
47/69
Gambar 1. Pembuatan message digestdengan algoritma SHA-1
Langkah-langkah pembuatan message digestsecara garis besar adalah
sebagai berikut :
1. Penambahan bit-bit pengganjal (padding bits).
o Pesan ditambah dengan sejumlah bit pengganjal sedemikiansehingga 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 SHA-1
memperoses pesan dalam blok-blok yang berukuran 512.
o Pesan dengan panjang 448 bit pun tetap ditambah dengan
bit-bit pengganjal. Jika panjang pesan 448 bit, maka pesantersebut ditambah dengan 512 bit menjadi 960 bit. Jadi,
panjang bit-bit pengganjal adalah antara 1 sampai 512.
o Bit-bit pengganjal terdiri dari sebuah bit 1 diikuti dengan
sisanya bit 0.
2. Penambahan nilai panjang pesan semula.
http://amanjdac.files.wordpress.com/2008/01/011208-2014-securehasha2.png7/31/2019 Keamanan Jaringan Dan Komputer
48/69
o Pesan yang telah diberi bit-bit pengganjal
o selanjutnya ditambah lagi dengan 64 bit yang menyatakan
panjang pesan semula.
o Setelah ditambah dengan 64 bit, panjang pesan sekarang
menjadi 512 bit.
3. Inisialisasi penyangga (buffer) MD.
o SHA membutuhkan 5 buah penyangga (buffer) yang
masing-masing panjangnya 32 bit (MD5 hanya mempunyai
4 buah penyangga). Total panjang penyangga adalah 5
32 = 160 bit. Keempat penyangga ini menampung hasil
antara dan hasil akhir.
o Kelima penyangga ini diberi nama A, B, C, D, dan E. Setiap
penyangga diinisialisasi dengan nilai-nilai (dalam notasi
HEX) sebagai berikut:
A = 67452301
B = EFCDAB89
C = 98BADCFE
D = 10325476
E =
C3D2E1F0
4. Pengolahan pesan dalam blok berukuran 512 bit.
o Pesan dibagi menjadi L buah blok yang masing-masing
panjangnya 512 bit (Y0 sampai YL 1).
o Setiap blok 512-bit diproses bersama dengan penyangga
MD menjadi keluaran 128-bit, dan ini disebut proses HSHA.Gambaran proses HSHA diperlihatkan pada Gambar 2.
7/31/2019 Keamanan Jaringan Dan Komputer
49/69
Gambar 2. Pengolahan blok 512 bit (Proses HSHA)
o Proses HSHA terdiri dari 80 buah putaran (MD5 hanya 4
putaran), dan masing-masing putaran menggunakan
bilangan penambah Kt, yaitu:
o Pada Gambar 2, 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 message
digest160-bit dari proses HSHA ke-q. Pada awal proses, MDq
berisi nilai inisialisasi penyangga MD.
o Setiap putaran menggunakan operasi dasar yang sama
(dinyatakan sebagai fungsi f). Operasi dasar SHA-1
diperlihatkan pada Gambar 3.
http://amanjdac.files.wordpress.com/2008/01/011208-2014-securehasha4.pnghttp://amanjdac.files.wordpress.com/2008/01/putaran.jpghttp://amanjdac.files.wordpress.com/2008/01/011208-2014-securehasha3.png7/31/2019 Keamanan Jaringan Dan Komputer
50/69
Gambar 3. Operasi dasar SHA-1 dalam satu putaran (fungsi f)
o Operasi dasar SHA-1 yang diperlihatkan pada Gambar 3
dapat ditulis dengan persamaan sebagai berikut :
yang dalam hal ini,
atau dapat dinyatakan dalam kode program sebagai berikut :
http://amanjdac.files.wordpress.com/2008/01/list.jpghttp://amanjdac.files.wordpress.com/2008/01/ket.jpghttp://amanjdac.files.wordpress.com/2008/01/rumus.jpg7/31/2019 Keamanan Jaringan Dan Komputer
51/69
7/31/2019 Keamanan Jaringan Dan Komputer
52/69
berbeda, maka pesan atau data yang diterima tersebut telah berubah.
Bisa kemungkinan terjadi kesalahan atau bit error dalam pengiriman
atau ada yang merubah pesan tersebut.
Implementasi
SHA-1 ini dapat diimplementasikan dalam hardware, software
maupun kombinasi antara hardware dan software. Selain itu bisa
digunakan untuk otentikasi pada pengiriman berita rahasia, seperti pada
publik key. SHA-1 bisa juga diimplementasikan ke dalam digital
signature, message authentication code, password table, key derivation,
universally unique identifier ( UUI ) dan globally unique identifier ( GUI ).
7/31/2019 Keamanan Jaringan Dan Komputer
53/69
MD5
Dalam kriptografi, MD5 (Message-Digest algortihm 5) ialah fungsi
hash kriptografik yang digunakan secara luas dengan hash value 128-
bit. Pada standart Internet (RFC 1321), MD5 telah dimanfaatkan secara
bermacam-macam pada aplikasi keamanan, dan MD5 juga umum
digunakan untuk melakukan pengujian integritas sebuah file.MD5 di
desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash
function sebelumnya, MD4. Pada tahun 1996, sebuah kecacatan
ditemukan dalam desainnya, walau bukan kelemahan fatal, pengguna
kriptografi mulai menganjurkan menggunakan algoritma lain, seperti
SHA-1 (klaim terbaru menyatakan bahwa SHA-1 juga cacat). Pada tahun
2004, kecacatan-kecacatan yang lebih serius ditemukan menyebabkan
penggunaan algoritma tersebut dalam tujuan untuk keamanan jadi
makin dipertanyakan.Daftar isi :
1 Sejarah dan kriptoanalisis
2 Efek nyata dari kriptoanalisis
3 Pengujian Integritas
4 Algortima5 Pseudocode
6 Hash-hash MD5
7 Lihat pula
8 Pranala luar
8.1 Informasi MD5
8.2 Implementasi
8.3 Kerusakan
Sejarah dan kriptoanalisis
7/31/2019 Keamanan Jaringan Dan Komputer
54/69
MD5 adalah salah satu dari serangkaian algortima message digest
yang didesain oleh Profesor Ronald Rivest dari MIT (Rivest, 1994). Saat
kerja analitik menunjukkan bahwa pendahulu MD5 MD4 mulai tidak
aman, MD5 kemudian didesain pada tahun 1991 sebagai pengganti dari
MD4 (kelemahan MD4 ditemukan oleh Hans Dobbertin).Pada tahun
1993, den Boer dan Bosselaers memberikan awal, bahkan terbatas, hasil
dari penemuan pseudo-collision dari fungsi kompresi MD5. Dua vektor
inisialisasi berbeda I dan J dengan beda 4-bit diantara keduanya.
MD5compress(I,X) = MD5compress(J,X)
Pada tahun 1996 Dobbertin mengumumkan sebuah kerusakan
pada fungsi kompresi MD5. Dikarenakan hal ini bukanlah serangan
terhadap fungsi hash MD5 sepenuhnya, hal ini menyebabkan para
pengguna kriptografi menganjurkan pengganti seperti WHIRLPOOL, SHA-
1 atau RIPEMD-160.Ukuran dari hash 128-bit cukup kecil untuk
terjadinya serangan brute force birthday attack. MD5CRK adalah proyek
distribusi mulai Maret 2004 dengan tujuan untuk menunjukka
kelemahan dari MD5 dengan menemukan kerusakan kompresi
menggunakan brute force attack.
Bagaimanapun juga, MD5CRK berhenti pada tanggal 17 Agustus2004, saat [[kerusakan hash]] pada MD5 diumumkan oleh Xiaoyun
Wang, Dengguo Feng, Xuejia Lai dan Hongbo Yu [1][2]. Serangan
analitik mereka dikabarkan hanya memerlukan satu jam dengan
menggunakan IBM P690 cluster.Pada tanggal 1 Maret 2005, Arjen
Lenstra, Xiaoyun Wang, and Benne de Weger mendemontrasikan[3]
kunstruksi dari dua buah sertifikat X.509 dengan public key yang
berbeda dan hash MD5 yang sama, hasil dari demontrasi menunjukkan
adanya kerusakan. Konstruksi tersebut melibatkan private key untuk
kedua public key tersebut. Dan beberapa hari setelahnya, Vlastimil
Klima menjabarkan[4] dan mengembangkan algortima, mampu
membuat kerusakan Md5 dalam beberapa jam dengan menggunakan
sebuah komputer notebook. Hal ini menyebabkan MD5 tidak bebas dari
7/31/2019 Keamanan Jaringan Dan Komputer
55/69
kerusakan.Dikarenakan MD5 hanya menggunakan satu langkah pada
data, jika dua buah awalan dengan hash yang sama dapat dibangun,
sebuah akhiran yang umum dapat ditambahkan pada keduanya untuk
membuat kerusakan lebih masuk akal. Dan dikarenakan teknik
penemuan kerusakan mengijinkan pendahuluan kondisi hash menjadi
arbitari tertentu, sebuah kerusakan dapat ditemukan dengan awalan
apapun. Proses tersebut memerlukan pembangkitan dua buah file
perusak sebagai file templat, dengan menggunakan blok 128-byte dari
tatanan data pada 64-byte batasan, file-file tersebut dapat mengubah
dengan bebas dengan menggunakan algoritma penemuan kerusakan.
Efek nyata dari kriptoanalisis
Saat ini dapat diketahui, dengan beberapa jam kerja, bagaimana
proses pembangkitan kerusakan MD5. Yaitu dengan membangkitkan
dua byte string dengan hash yang sama. Dikarenakan terdapat bilangan
yang terbatas pada keluaran MD5 (2128), tetapi terdapat bilangan yang
tak terbatas sebagai masukannya, hal ini harus dipahami sebelum
kerusakan dapat ditimbulkan, tapi hal ini telah diyakini benar bahwa
menemukannya adalah hal yang sulit.Sebagai hasilnya bahwa hash MD5dari informasi tertentu tidak dapat lagi mengenalinya secara berbeda.
Jika ditunjukkan informasi dari sebuah public key, hash MD5 tidak
mengenalinya secata berbeda jika terdapat public key selanjutnya yang
mempunyai hash MD5 yang sama.Bagaimanapun juga, penyerangan
tersebut memerlukan kemampuan untuk memilih kedua pesan
kerusakan. Kedua pesan tersebut tidak dengan mudah untuk
memberikan serangan preimage, menemukan pesan dengan hash MD5
yang sudah ditentukan, ataupun serangan preimage kedua, menemukan
pesan dengan hash MD5 yang sama sebagai pesan yang
diinginkan.Hash MD5 lama, yang dibuat sebelum serangan-serangan
tersebut diungkap, masih dinilai aman untuk saat ini. Khususnya pada
digital signature lama masih dianggap layak pakai. Seorang user boleh
7/31/2019 Keamanan Jaringan Dan Komputer
56/69
saja tidak ingin membangkitkan atau mempercayai signature baru
menggunakan MD5 jika masih ada kemungkinan kecil pada teks
(kerusakan dilakukan dengan melibatkan pelompatan beberapa bit pada
bagian 128-byte pada masukan hash) akan memberikan perubahan
yang berarti.Penjaminan ini berdasar pada posisi saat ini dari
kriptoanalisis. Situasi bisa saja berubah secara tiba-tiba, tetapi
menemukan kerusakan dengan beberapa data yang belum-ada adalah
permasalahan yang lebih susah lagi, dan akan selalu butuh waktu untuk
terjadinya sebuah transisi.
Pengujian Integritas
Ringkasan MD5 digunakan secara luas dalam dunia perangkat
lunak untuk menyediakan semacam jaminan bahwa file yang diambil
(download) belum terdapat perubahan. Seorang user dapat
membandingkan MD5 sum yang dipublikasikan dengan checksum dari
file yang diambil. Dengan asumsi bahwa checksum yang dipublikasikan
dapat dipercaya akan keasliannya, seorang user dapat secara yakin
bahwa dile tersebut adalah file yang sama dengan file yang dirilis oleh
para developer, jaminan perlindungan dari Trojan Horse dan viruskomputer yang ditambahkan pada perangkat lunak.Bagaimanapun juga,
seringkali kasus yangterjadi bahwa checksum yang dipublikasikan tidak
dapat dipercaya (sebagai contoh, checksum didapat dari channel atau
lokasi yang sama dengan tempat mengambil file), dalam hal ini MD5
hanya mampu melakukan error-checking. MD5 akan mengenali file yang
didownload tidak sempurna, cacat atau tidak lengkap.
Algortima
Gambar 1. Satu operasi MD5 MD5 terdiri atas 64 operasi,
dikelompokkan dalam empat putaran dari 16 operasi. F adalah fungsi
nonlinear; satu fungsi digunakan pada tiap-tiap putaran. Mi menujukkan
blok 32-bit dari masukan pesan, dan Ki menunjukkan konstanta 32-bit,
7/31/2019 Keamanan Jaringan Dan Komputer
57/69
berbeda untuk tiap-tiap operasi.s menunjukkan perputaran bit kiri oleh
s; s bervariasi untuk tiap-tiap operasi. menunjukan tambahan modulo
232. MD5 memproses variasi panjang pesan kedalam keluaran 128-bit
dengan panjang yang tetap. Pesan masukan dipecah menjadi dua
gumpalan blok 512-bit; Pesan ditata sehingga panjang pesan dapat
dibagi 512. Penataan bekerja sebagai berikut: bit tunggal pertama, 1,
diletakkan pada akhir pedan. Proses ini diikuti dengan serangkaian nol
(0) yang diperlukan agar panjang pesan lebih dari 64-bit dan kurang dari
kelipatan 512. Bit-bit sisa diisi dengan 64-bit integer untuk menunjukkan
panjang pesan yang asli. Sebuah pesan selalu ditata setidaknya dengan
1-bit tunggal, seperti jika panjang pesan adalah kelipatan 512 dikurangi
64-bit untuk informasi panjang (panjang mod(512) = 448), sebuah blok
baru dari 512-bit ditambahkan dengan 1-bit diikuti dengan 447 bit-bit
nol (0) diikuti dengan panjang 64-bit.Algortima MD5 yang utama
beroperasi pada kondisi 128-bit, dibagi menjadi empat word 32-bit,
menunjukkan A, B, C dan D. Operasi tersebut di inisialisasi dijaga untuk
tetap konstan. Algoritma utama kemudian beroperasi pada masing-
masing blok pesan 512-bit, masing-masing blok melakukan pengubahan
terhadap kondisi.Pemrosesan blok pesan terdiri atas empat tahap,batasan putaran; tiap putasan membuat 16 operasi serupa berdasar
pada fungsi non-linear F, tambahan modular, dan rotasi ke kiri. Gambar
satu mengilustrasikan satu operasi dalam putaran. Ada empat macam
kemungkinan fungsi F, berbeda dari yang digunakan pada tiap-tiap
putaran:
menunjukkan operasi logikan XOR, AND, OR dan NOT.
Pseudocode
Pseudocode pada algoritma MD5 adalah sebagai berikut.
//Catatan: Seluruh variable tidak pada 32-bit dan dan wrap modulo 2^32
saat melakukan perhitungan
7/31/2019 Keamanan Jaringan Dan Komputer
58/69
//Mendefinisikan r sebagai berikut
var int[64] r, k
r[ 0..15] := {7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22}
r[16..31] := {5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20}
r[32..47] := {4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23}
r[48..63] := {6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21}
//Menggunakan bagian fraksional biner dari integral sinus sebagai
konstanta:
for i from 0 to 63
k[i] := floor(abs(sin(i + 1)) 2^32)
//Inisialisasi variabel:
var int h0 := 0x67452301
var int h1 := 0xEFCDAB89
var int h2 := 0x98BADCFEvar int h3 := 0x10325476
//Pemrosesan awal:
append "1" bit to message
append "0" bits until message length in bits 448 (mod 512)
append bit length of message as 64-bit little-endian integer to message
//Pengolahan pesan paada kondisi gumpalan 512-bit:
for each 512-bit chunk of message
break chunk into sixteen 32-bit little-endian words w(i), 0 i 15
//Inisialisasi nilai hash pada gumpalan ini:
7/31/2019 Keamanan Jaringan Dan Komputer
59/69
var int a := h0
var int b := h1
var int c := h2
var int d := h3
//Kalang utama:
for i from 0 to 63
if 0 i 15 then
f := (b and c) or ((not b) and d)
g := i
else if 16 i 31
f := (d and b) or ((not d) and c)
g := (5i + 1) mod 16
else if 32 i 47
f := b xor c xor d
g := (3i + 5) mod 16
else if 48 i 63
f := c xor (b or (not d))
g := (7i) mod 16
temp := d
d := c
c := b
b := ((a + f + k(i) + w(g)) leftrotate r(i)) + b
a := temp
//Tambahkan hash dari gumpalan sebagai hasil:
h0 := h0 + a
h1 := h1 + b
h2 := h2 + c
h3 := h3 + d
7/31/2019 Keamanan Jaringan Dan Komputer
60/69
var int digest := h0 append h1 append h2 append h3 //(diwujudkan
dalam little-endian)
Catatan: Meskipun rumusan dari yang tertera pada RFC 1321, berikut ini
sering digunakan untuk meningkatkan efisiensi:
(0 i 15): f := d xor (b and (c xor d))
(16 i 31): f := c xor (d and (b xor c))
Hash-hash MD5
Hash-hash MD5 sepanjang 128-bit (16-byte), yang dikenal juga
sebagai ringkasan pesan, secara tipikal ditampilkan dalam bilangan
heksadesimal 32-digit. Berikut ini merupakan contoh pesan ASCII
sepanjang 43-byte sebagai masukan dan hash MD5 terkait:
MD5("The quick brown fox jumps over the lazy dog") =
9e107d9d372bb6826bd81d3542a419d6 Bahkan perubahan yang kecil
pada pesan akan (dengan probabilitas lebih) menghasilkan hash yang
benar-benar berbeda, misalnya pada kata "dog", huruf d diganti menjadi
c:MD5("The quick brown fox jumps over the lazy cog") =
1055d3e698d289f2af8663725127bd4b
Hash dari panjang-nol ialah:
MD5("") = d41d8cd98f00b204e9800998ecf8427e
7/31/2019 Keamanan Jaringan Dan Komputer
61/69
SSH
SEJARAH SSH
Pada awalnya SSH dikembangkan oleh Tatu Yl nen di
Helsinki University of Technology. SSH memberikan alternatif yang
secure terhadap remote session tradisional dan file transfer protocol
seperti telnet dan relogin.Protokol SSH mendukung otentikasi
terhadap remote host, yang dengan demikian meminimalkan ancaman
pemalsuan identitas client lewat IP address spoofing maupun
manipulasi DNS. Selain itu SSH mendukung beberapa protocol
enkripsi secret key (DES,TripleDES,IDEA, dan Blowfish) untuk
membantu memastikan privacy dari keseluruhan komunikasi, yang
dimulai dengan username/password awal.SSH menyediakan suatuvirtual private connection pada application layer, mencakup
interactive logon protocol (ssh dan sshd) serta fasilitas untuk secure
transfer file (scd). Setelah meng-instal SSH, sangat dianjurkan untuk
mendisable telnet dan rlogin. Implementasi SSH pada
linuxdiantaranya adalah OpenSSH. SSH merupakan paket program yang
digunakan sebagai pengganti yang aman untuk rlogin, rsh dan rcp. Ia
menggunakan public-key cryptography untuk mengenkripsi komunikasiantara 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 atau dapat dikatakan
Secure Shell adalahprogram yang melakukan loging terhadap komputer
7/31/2019 Keamanan Jaringan Dan Komputer
62/69
lain dalam jaringan, mengeksekusi perintah lewat mesin secara remote,
dan memindahkan file dari satu mesin ke mesin lainnya.
Secure Socket Layer(SSL)
SSL (Secure Socket Layer) dikembangkan oleh
Netscape untuk mengamankan HTTPdan sampai sekarang masih inilah
pemanfaatan utama SSL. SSL menjadi penting karena beberapa produk
umum seperti Netscape Communicator, Internet Explorer, dan WS_FTP
Pro,yang merupakan produk yang lazim digunakan, menggunakan SSL.
Secure Sockets Layer,adalah metode enkripsi yang dikembangkan oleh
Netscape untuk memberikan keamanan diInternet. Ia mendukung
beberapa protokol enkripsi dan memberikan autentikasi client danserver. SSL beroperasi pada layer transpor, menciptakan saluran
enkripsi yang aman untuk data,dan dapat mengenkripsi banyak tipe
data. Hal ini dapat dilihat ketika mengunjungi site yang aman untuk
melihat dokumen online aman dengan Communicator, dan berfungsi
sebagai dasar komunikasi yang aman dengan Communicator, juga
dengan enkripsi data Netscape
Communication lainnya. Atau dapat dikatakan bahwa SSLmerupakan Protokol berlapis. Dalam tiap lapisannya, sebuah data terdiri
dari panjang, deskripsi dan isi. SSL mengambil data untuk
dikirimkan, dipecahkan kedalam blok-blok yang teratur, kemudian
dikompres jika perlu,menerapkan MAC, dienkripsi, dan hasilnya
http://wibisastro.wordpress.com/2008/04/23/secure-socket-layer/http://wibisastro.wordpress.com/2008/04/23/secure-socket-layer/7/31/2019 Keamanan Jaringan Dan Komputer
63/69
dikirimkan. Di tempat tujuan, data didekripsi,verifikasi, dekompres, dan
disusun kembali. Hasilnya dikirimkan ke klien di atasnya
Secure Sockets Layer atau yang disingkat SSL adalah sebuah
protokol keamanan data yang digunakan untuk menjaga pengiriman
data antara web server dan pengguna situs web tersebut.SSL umumnya
sudah terinstall didalam mayoritas browser web yang ada (IE, Netscape,
Firefox, dll), sehingga pengguna situs web dapat mengidentifikasi
tingkat keamanan situs web tersebut yang menggunakan protokol
keamanan SSL ini.Browser web secara otomatis akan mencek apakah
sertifikat SSL dan identitas situs web valid dan situs tersebut terdaftar
pada otoritas sertifikasi (CA) SSL (cth. Verisign). Dengan demikian, SSL
ini menjadi sangat penting terutama untuk situs web yang menjalankan
transaksi online.Koneksi SSL akan memproteksi informasi vital dengan
meng-enkripsi informasi yang dikirim dan diterima antara pc pengguna
situs dan web server, sehingga informasi yang berjalan tidak mungkin
dapat diambil ditengah jalan dan dibaca isinya. Hal ini berarti pengguna
tidak perlu ragu untuk mengirim informasi vital seperti nomor kartu
kredit kepada situs web yang telah memasang SSL tersertifikat ini.
A.CARAKERJASSL
Seorang pelanggan masuk kedalam situs anda dan melakukan
akses ke URL yang terproteksi (ditandai dengan awalan https atau
dengan munculnya pesan dari browser).Server anda akan
memberitahukan secara otomatis kepada pelanggan tersebut mengenai
sertifikat digital situs anda yang menyatakan bahwa situs anda telah
tervalidasi sebagai situs yang menggunakan SSL.Browser pelanggan
akan mengacak session key dengan public key situs anda sehingga
hanya situs anda yang akan dapat membaca semua transaksi yang
terjadi antara browser pelanggan dengan situs anda.Hal diatas semua
terjadi dalam hitungan detik dan tidak memerlukan aktifitas apapun dari
pelanggan.
7/31/2019 Keamanan Jaringan Dan Komputer
64/69
7/31/2019 Keamanan Jaringan Dan Komputer
65/69
7/31/2019 Keamanan Jaringan Dan Komputer
66/69
menggunakan fungsi CreateProcessAsUser(). Ukuran token adalah
bervariasi, karena akun pengguna yang berbeda akan memiliki hak dan
group yang berbeda pula. Meskipun demikian, semua token
mengandung informasi yang sama.Nama field Keterangan Token
Source Berisi deskripsi mengenai entitas yang membuat token yang
bersangkutan. Program yang hendak mengetahui di mana sebuah token
dibuat akan menggunakan field ini untuk membedakan sumber
pembuat token.Impersonation Type Token ID Berisi informasi Locally
Unique Identifier (LUID) yang dibuat oleh Security Reference Monitor
terhadap token ketika membuat token. Windows akan memelihara
sebuah daftar LUID yang disebut dengan Executive LUID, yang
merupakan sebuah nilai yang digunakan untuk memberikan sebuah
angka yang unik terhadap setiap token. Authentication ID Berisi
informasi LUID yang dibuat oleh pembuat token yang bersangkutan.
Proses lsass.exe biasanya merupakan pembuat token di dalam sistem,
dan lsass.exe mendapatkan LUID dari Executive LUID. Selanjutnya
lsass.exe akan menyalin field ini untuk semua token yang berasal dari
token awal yang dibuat pada saat logon. Sebuah program juga dapat
memperoleh nilai field ini untuk melihat apakah token tersebut berasaldari sesi logon yang sama atau tidak. Modified ID Field ini akan
diperbarui oleh Executive LUID saat karakteristik sebuah token diubah.
Sebuah program dapat menguji apakah sebuah token berubah atau
tidak dengan melihat field ini dan membandingkannya dengan nilai
yang sebelumnya. Expiration time Menentukan kapan waktu sebuah
token mengalami kadaluwarsa. Field ini sebenarnya telah ada dari
Windows NT 3.1 tapi tidak pernah digunakan. Default Primary Grou p
Atribut keamanan yang diaplikasikan terhadap objek-objek yang dibuat
oleh proses atau thread ketika menggunakan token. Dengan
memasukkan informasi keamanan dalam token, Windows dapat
menjadikan sebuah proses atau thread untuk membuat objek dengan
atribut keamanan karena proses atau thread tersebut tidak perlu lagi
7/31/2019 Keamanan Jaringan Dan Komputer
67/69
melakukan request terhadap informasi keamanan yang berbeda untuk
setiap objek yang dibuatnya.Default DACLAtribut keamanan yang
diaplikasikan terhadap objek-objek yang dibuat oleh proses atau thread
ketika menggunakan token. Dengan memasukkan informasi keamanan
dalam token, Windows dapat menjadikan sebuah proses atau thread
untuk membuat objek dengan atribut keamanan karena proses atau
thread tersebut tidak perlu lagi melakukan request terhadap informasi
keamanan yang berbeda untuk setiap objek yang dibuatnya.User
Account SIDBerisi Security Identifier (SID) yang dimiliki oleh
pengguna.Group 1 SID hingga Group n SID Berisi daftar group di mana
pengguna menjadi anggota yang direpresentasikan dalam bentuk
SID.Restricted SID 1 hingga Restricted SID n Berisi daftar group SID yang
dinonaktifkan.Privilege 1 hingga Privilege n Berisi hak-hak yang dimiliki
oleh sebuah token. Privilege tidak dapat dihapus tapi dapat
dinonaktifkan. Kebanyakan privilege dinonaktifkan secara default untuk
mencegah adanya kerusakan yang terjadi pada program yang didesain
tanpa disertai dengan kesadaran akan masalah keamanan.
Mekanisme keamanan dalam Windows 2000 menggunakan dua
komponen token untuk menentukan apa yang dapat dilakukan olehthread atau proses yang berjalan atas token tersebut. Satu komponen
akan menangani field User Account SID dan Group SID di dalam Token.
SRM kemudian menggunakan SID untuk menentukan apakah sebuah
proses atau thread dapat memperoleh akses yang dimintanya terhadap
objek yang dapat diamankan, seperti berkas dalam sistem berkas NTFS.
Group SID dalam token dapat membedakan termasuk ke dalam group
manakah akun pengguna yang bersangkutan. Sebuah aplikasi server
dapat menonaktifkan group spesifik untuk membatasi token ketika
aplikasi tersebut melakukan beberapa operasi yang diminta oleh klien.
Menonaktifkan sebuah group dapat menyebabkan group tersebut
seolah-olah tidak ada dalam token.
7/31/2019 Keamanan Jaringan Dan Komputer
68/69
Komponen kedua dari dua komponen token yang digunakan oleh
Windows 2000 yang menentukan apa yang dapat dilakukan oleh thread
atau proses yang berjalan atas token tersebut, adalah larik privilege
(privilege array). Larik privilege merupakan sebuah daftar hak yang
diasosiasikan dengan token. Sebagai contoh dari privilege adalah hak
yang dimiliki oleh proses atau thread untuk melakukan shutdown
terhadap komputer.
Objek token terbagi menjadi dua jenis, yakni:
Primary Token, yakni token yang mengidentifikasikan konteks
keamanan dari sebuah proses
Impersonation Token, yakni token yang mengadopsi sebuah
konteks keamanan yang berbeda (umumnya pengguna lainnya)
secara sementara.
7/31/2019 Keamanan Jaringan Dan Komputer
69/69
Recommended