Keamanan Komputer
Kriptograf 2)
Rahmadian-Algoritma Kriptograf
Modern
Beroperasi dalam mode bit
algoritma kriptograf klasik
beroperasi dalam mode karakter)
Kunci, plainteks, cipherteks,
diproses dalam rangkaian bit
Operasi bit XOR paling banyak
Algoritma Kriptograf
Modern
Tetap menggunakan gagasan pada
algoritma klasik: substitusi dan
transposisi, tetapi lebih rumit
sangat sulit dipecahkan)
Perkembangan algoritma kriptograf
modern didorong oleh penggunaan
komputer digital untuk keamanan
pesan
Komputer digital merepresentasikan
Algoritma Enkripsi dengan
Rangkaian Bit
Pesan dalam bentuk rangkaian bit)
dipecah menjadi beberapa blok
Contoh: Plainteks
100111010110
Bila dibagi menjadi blok 4-bit
1001 1101 0110
maka setiap blok menyatakan
0
sampai
15:
Algoritma Enkripsi dengan
Rangkaian Bit
Bila plainteks dibagi menjadi blok
3-bit:
100 111 010 110
maka setiap blok menyatakan
0
sampai
7:
Solusi Enkripsi Modern
Algoritma Simetri
◦
Blok Chiper :
DES
, IDEA,
AES
◦
Stream Chiper : OTP, A5 dan RC4
Algoritma Asimetri :
RSA
, DH,
ECC, DSA
Solusi Enkripsi Modern
Data Encryption Standard DES)
◦ standar bagi USA Government
◦ didukung ANSI dan IETF
◦ popular untuk metode secret key
◦ terdiri dari : 40-bit, 56-bit dan 3x56-bit Triple DES)
Advanced Encryption Standard AES)
◦ untuk menggantikan DES launching akhir 2001)
◦ menggunakan variable length block cipher
◦ key length : 128-bit, 192-bit, 256-bit
Solusi Enkripsi Modern
Digital Certifcate Server DCS)
◦ verifkasi untuk digital signature
◦ autentikasi user
◦ menggunakan public dan private key
◦ contoh : Netscape Certifcate Server
IP Security IPSec)
◦ enkripsi public/private key
◦ dirancang oleh CISCO System
◦ menggunakan DES 40-bit dan authentication
◦ built-in pada produk CISCO
Solusi Enkripsi Modern
Kerberos
◦ solusi untuk user authentication
◦ dapat menangani multiple platform/system
◦ free charge open source)
◦ IBM menyediakan versi komersial : Global Sign On GSO)
Point to point Tunneling Protocol PPTP), Layer Two
Tunneling Protocol L2TP) ◦ dirancang oleh Microsoft
◦ autentication berdasarkan PPP Point to point protocol)
◦ enkripsi berdasarkan algoritm Microsoft tidak terbuka)
Solusi Enkripsi Modern
Remote Access Dial-in User Service RADIUS)
◦ multiple remote access device menggunakan 1 database untuk authentication
◦ didukung oleh 3com, CISCO, Ascend
RSA Encryption
◦ dirancang oleh Rivest, Shamir, Adleman tahun 1977
◦ standar de facto dalam enkripsi public/private key
◦ didukung oleh Microsoft, apple, novell, sun, lotus
◦ mendukung proses authentication
Solusi Enkripsi Modern
Secure Hash Algoritm SHA)
◦ dirancang oleh National Institute of Standard and Technology NIST) USA.
◦ bagian dari standar DSS Decision Support System) USA dan bekerja sama dengan DES untuk digital signature.
◦ SHA-1 menyediakan 160-bit message digest
◦ Versi : SHA-256, SHA-384, SHA-512 terintegrasi dengan AES)
MD5
◦ dirancang oleh Prof. Robert Rivest RSA, MIT) tahun 1991
◦ menghasilkan 128-bit digest.
Solusi Enkripsi Modern
Secure Shell SSH)
◦ digunakan untuk client side authentication antara 2 sistem
◦ mendukung UNIX, windows, OS/2
◦ melindungi telnet dan ftp fle transfer protocol)
Secure Socket Layer SSL)
◦ dirancang oleh Netscape
◦ menyediakan enkripsi RSA pada layes session dari model OSI.
◦ independen terhadap service yang digunakan.
◦ melindungi system secure web e-commerce
◦ metode public/private key dan dapat melakukan authentication
Solusi Enkripsi Modern
Security Token
◦
aplikasi penyimpanan password dan
data user di smart card
Simple Key Management for
Internet Protocol
◦
seperti SSL bekerja pada level session
model OSI.
◦
menghasilkan key yang static, mudah
Data Encryption Standard DES)
Dikenal sebagai Data Encryption Algorithm
(DEA) oleh ANSI dan DEA-1 oleh ISO
DES baru secara resmi digunakan oleh
pemerintah Amerika Serikat diadopsi oleh National Bureau of Standards) di tahun 1977. Ia dikenal sebagai Federal Information
Processing Standard 46 FIPS PUB46)
Aplikasi yang menggunakan DES antara lain:
◦ enkripsi dari password di sistem UNIX
Data Encryption Standard DES)
DES merupakan block chiper
yang beroperasi dengan
menggunakan blok berukuran
64-bit dan kunci berukuran 56-64-bit
Brute force attack dengan
mencoba segala kombinasi
membutuhkan 2
56kombinasi atau
sekitar 7 x 10
17atau 70 juta
Data Encryption Standard DES)
Ada berbagai group yang mencoba memecahkan DES
dengan berbagai cara. Salah satu group yang bernama
distributed.net menggunakan teknologi Internet untuk memecahkan problem ini menjadi sub-problem yang kecil dalam ukuran blok)
Pengguna dapat menjalankan sebuah program yang khusus
dikembangkan oleh tim ini untuk mengambil beberapa
blok, via Internet, kemudian memecahkannya di komputer pribadinya
Program yang disediakan meliputi berbagai operating
system seperti Windows, DOS, berbagai variasi Unix, Macintosh. Blok yang sudah diproses dikembalikan ke
distributed.net via Internet. Dengan cara ini puluhan ribu orang membantu memecahkan DES.
Mekanisme ini dapat memecahkan DES dalam waktu 30
Data Encryption Standard DES)
Sebuah group lain yang disebut Electronic
Frontier Foundation (EFF) membuat sebuah
komputer yang dilengkapi dengan Integrated
Circuit chip DES cracker. Dengan mesin seharga
US$50.000 ini mereka dapat memecahkan DES 56-bit dalam waktu rata-rata 4 sampai 5 hari
DES cracker yang mereka kembangkan dapat
melakukan eksplorasi keseluruhan dari 56-bit
keyspace dalam waktu 9 hari
Untuk memecahkan DES 40-bit hanya
dibutuhkan waktu sekitar 12 detik. Dikarenakan hukum average, waktu rata-rata untuk
Data Encryption Standard DES)
Perlu diingat bahwa group seperti
EFF merupakan group kecil
dengan budget yang terbatas.
Dapat dibayangkan sistem yang
dimiliki oleh
National Security
Agency (NSA)
dari pemerintah
Amerika Serikat. Tentunya
AES Advanced Encryption
Standard)
DES dianggap sudah tidak aman.
Perlu diusulkan standard algoritma
baru sebagai pengganti DES.
National Institute of Standards and
Technology (NIST) mengusulkan
kepada Pemerintah Federal AS untuk
sebuah standard kriptograf kriptograf
yang baru.
NIST mengadakan lomba membuat
AES Advanced Encryption
Standard)
Pada bulan Oktober 2000, NIST
mengumumkan untuk memilih
Rijndael dibaca: Rhine-doll)
Pada bulan November 2001,
Rijndael ditetapkan sebagai AES
Diharapkan Rijndael menjadi
standard kriptograf yang
AES Advanced Encryption
Standard)
Tidak seperti DES yang berorientasi bit,
Rijndael beroperasi dalam orientasi byte.
Setiap putaran mengunakan kunci internal
yang berbeda disebut round key).
Enciphering melibatkan operasi substitusi
dan permutasi.
Karena AES menetapkan panjang kunci
adalah 128, 192, dan 256, maka dikenal
AES-128, AES-192, dan AES-256
Panjang Kunci (Nk words)
Ukuran Blok (Nb words)
Jumlah Putaran (Nr)
AES-128 4 4 10
AES-192 6 4 12
AES-256 8 4 14
AES Advanced Encryption
Standard)
Garis besar Algoritma
Rijndael
yang beroperasi pada blok
128-bit dengan kunci 128-128-bit adalah
sebagai berikut di luar proses
pembangkitan
round key
):
◦
AddRoundKey
: melakukan
XOR
antara
state
awal plainteks) dengan
cipher key
. Tahap ini disebut juga
AES Advanced Encryption
Standard)
◦ Putaran sebanyak Nr – 1 kali. Proses yang
dilakukan pada setiap putaran adalah:
SubBytes: substitusi byte dengan menggunakan
tabel substitusi S-box).
ShiftRows: pergeseran baris-baris array state
secara wrapping.
MixColumns: mengacak data di masing-masing
kolom array state.
AddRoundKey: melakukan XOR antara state
sekarang round key.
◦ Final round: proses untuk putaran terakhir: SubBytes
ShiftRows
AES Advanced Encryption
Standard)
Selama kalkulasi plainteks menjadi cipherteks, status
AES Advanced Encryption
Standard)
Contoh: elemen state dan kunci
RSA
Ditemukan oleh tiga orang yaitu Ron Rivest,
Adi Shamir, dan Leonard Adleman yang
kemudian disingkat menjadi RSA.
Termasuk algritma asimetri karena mempunyai
dua kunci, yaitu kunci publik dan kunci privat.
Algoritma kunci-publik yang paling terkenal dan
paling banyak aplikasinya.
Ditemukan oleh tiga peneliti dari MIT
Massachussets Institute of Technology), yaitu Ron Rivest, Adi Shamir, dan Len Adleman, pada tahun 1976.
Keamanan algoritma RSA terletak pada sulitnya
RSA
Pembangkitan pasangan kunci
1. Pilih dua bilangan prima, a dan b rahasia)
2. Hitung n = a b. Besaran n tidak perlu dirahasiakan.
3. Hitung n) = a – 1) b – 1).
4. Pilih sebuah bilangan bulat untuk kunci publik, sebut namanya e, yang relatif prima terhadap
n) .
5. Hitung kunci dekripsi, d, melalui ed 1 mod
n)) atau d e-1 mod n))
Hasil dari algoritma di atas:
- Kunci publik adalah pasangan e, n)
- Kunci privat adalah pasangan d, n)
Catatan: n tidak bersifat rahasia, namun
ia diperlukan pada perhitungan
RSA
pembagi bersama terbesarnya adalah 1)
Hapus a dan b dan kunci publiknya adalah n=3337 dan e=79
Kunci Privat
Selanjutnya akan dihitung kunci privat d dengan kekongruenan:
e d 1 mod n) = =>
Dengan mencoba nilai-nilai k = 1, 2, 3, …, diperoleh nilai d yang bulat adalah 1019. Ini adalah kunci privat untuk dekripsi)
RSA
Misalkan plainteks
M
= HARI INI
atau dalam ASCII: 7265827332737873
Pecah
M
menjadi blok yang lebih kecil
misal 3 digit):
m
1= 726
m
4= 273
m
2= 582
m
5= 787
m
3= 733
m
6= 003
Perhatikan,
m
imasih terletak di
RSA
Enkripsi setiap blok:
c1 = 72679 mod 3337 = 215
c2 = 58279 mod 3337 = 776, dst
Chiperteks C = 215 776 1743 933 1731 158.
Dekripsi (menggunakan kunci privat d =
1019)
m1 = 2151019 mod 3337 = 726
m2 = 7761019 mod 3337 = 582 dst untuk sisi
blok lainnya
Plainteks M = 7265827332737873 yang
RSA
Kekuatan dan Keamanan RSA
◦ Kekuatan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan non prima menjadi faktor primanya, yang dalam hal ini n = a b.
◦ Sekali n berhasil difaktorkan menjadi a dan b, maka n)
= a – 1) b – 1) dapat dihitung. Selanjutnya, karena
kunci enkripsi e diumumkan tidak rahasia), maka kunci dekripsi d dapat dihitung dari persamaan ed 1 mod
n).
◦ Penemu algoritma RSA menyarankan nilai a dan b panjangnya lebih dari 100 digit. Dengan demikian hasil kali n = a b akan berukuran lebih dari 200 digit.
MD5
MD5 adalah fungsi hash satu-arah yang
dibuat oleh Ron Rivest.
MD5 merupakan perbaikan dari MD4 setelah
MD4 berhasil diserang oleh kriptanalis.
Algoritma MD5 menerima masukan berupa
pesan dengan ukuran sembarang dan menghasilkan message digest yang panjangnya 128 bit.
Dengan panjang message digest 128 bit,
maka secara brute force dibutuhkan
percobaan sebanyak 2128 kali untuk
MD5
Penambahan Bit-bit Pengganjal
◦
Pesan ditambah dengan sejumlah bit
pengganjal sedemikian sehingga
panjang pesan dalam satuan bit)
kongruen dengan 448 modulo 512.
◦
Jika panjang pesan 448 bit, maka
pesan tersebut ditambah dengan
512 bit menjadi 960 bit. Jadi,
panjang bit-bit pengganjal adalah
antara 1 sampai 512.
◦
Bit-bit pengganjal terdiri dari sebuah
MD5
Penambahan Nilai Panjang Pesan
◦ Pesan yang telah diberi bit-bit pengganjal
selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula.
◦ Jika panjang pesan > 264 maka yang
diambil adalah panjangnya dalam modulo
264. Dengan kata lain, jika panjang pesan
semula adalah K bit, maka 64 bit yang
ditambahkan menyatakan K modulo 264.
◦ Setelah ditambah dengan 64 bit, panjang
MD5
Inisialisai Penyangga MD
◦ MD5 membutuhkan 4 buah penyangga
bufer) yang masing-masing panjangnya 32 bit. Total panjang penyangga adalah 4
32 = 128 bit. Keempat penyangga ini
menampung hasil antara dan hasil akhir.
◦ Keempat penyangga ini diberi nama A, B,
C, dan D. Setiap penyangga diinisialisasi
dengan nilai-nilai dalam notasi HEX) sebagai berikut:
A = 67452301
B = EFCDAB89
C = 98BADCFE
MD5
Pengolahan Pesan dalam Blok
Berukuran 512 bit
◦
Pesan dibagi menjadi
L
buah blok
yang masing-masing panjangnya
512 bit
Y
0sampai
Y
L – 1).
◦
Setiap blok 512-bit diproses bersama
dengan penyangga
MD
menjadi
keluaran 128-bit, dan ini disebut
MD5
Yq :blok 512-bit ke-q
dari pesan + bit-bit pengganjal + 64 bit nilai panjang pesan semula
Fungsi-fungsi fF, fG, fH,
dan fI masing-masing
berisi 16 kali operasi dasar terhadap
masukan, setiap operasi dasar
menggunakan elemen
MD5
Tabel 1. Fungsi-fungsi dasar MD5
Nama Notasi g(b, c, d)
fF F(b, c, d) (bc) (~bd)
fG G(b, c, d) (bd) (c ~d)
fH H(b, c, d) b c d
fI I(b, c, d) c (b ~ d)
MD5
Putaran 1 : 16 kali
operasi dasar
dengan g(b,c,d) =
F(b,c,d)
Putaran 1: 16 kali operasi dasar dengan g(b, c, d) = F(b, c, d) dapat dilihat pada Tabel 3.
MD5
Putaran 2 : 16 kali
operasi dasar
dengan g(b,c,d) =
G(b,c,d)
Putaran 2: 16 kali operasi dasar dengan g(b, c, d) = G(b, c, d) dapat dilihat pada Tabel 4.
MD5
Putaran 3 : 16 kali
operasi dasar
dengan g(b,c,d) =
H(b,c,d)
Putaran 3: 16 kali operasi dasar dengan g(b, c, d) = H(b, c, d) dapat dilihat pada Tabel 5.
MD5
Putaran 4 : 16 kali
operasi dasar
dengan g(b,c,d) =
I(b,c,d)
Putaran 4: 16 kali operasi dasar dengan g(b, c, d) = I(b, c, d) dapat dilihat pada Tabel 6.
MD5
Setelah putaran keempat,
a
,
b
,
c
,
dan
d
ditambahkan ke
A
,
B
,
C
,
dan
D
, dan selanjutnya algoritma
memproses untuk blok data
berikutnya
Y
q+1).
Keluaran akhir dari algoritma
MD5
adalah hasil penyambungan
Hash
Hash function merupakan fungsi
yang bersifat satu arah dimana
jika kita masukkan data, maka
dia akan menghasilkan sebuah
“checksum” atau “fngerprint”
dari data tersebut. Ada beberapa
hash function yang umum
digunakan, antara lain:
◦
MD5
Hash
Contoh latihan di atas dapat
dijalankan pada sistem UNIX yang
memiliki program “md5” atau
program “md5sum”1) seperti di
bawah ini.
unix% echo ‘Saya pesan 10 buah
komputer.’ | md5
◦ 5F736F18556E3B8D90E50299C7345035
unix% echo ‘Saya pesan 11 buah
komputer.’ | md5
Aplikasi Enkripsi
Jasa telekomunikasi
◦ Enkripsi untuk mengamankan informasi konfdensial baik berupa suara, data, maupun gambar yang akan dikirimkan ke lawan bicaranya.
◦ Enkripsi pada transfer data untuk keperluan manajemen jaringan dan transfer on-line data billing.
◦ Enkripsi untuk menjaga copyright dari informasi yang diberikan.
Militer dan pemerintahan
◦ Enkripsi diantaranya digunakan dalam pengiriman pesan.
◦ Menyimpan data-data rahasia militer dan kenegaraan dalam media penyimpanannya selalu dalam keaadan terenkripsi.
Data Perbankan
Aplikasi Enkripsi
Data konfdensial perusahaan
◦ Rencana strategis, formula-formula produk, database pelanggan/karyawan dan database operasional
◦ Pusat penyimpanan data perusahaan dapat diakses secara on-line.
◦ Teknik enkripsi juga harus diterapkan untuk data konfdensial untuk melindungi data dari pembacaan maupun perubahan secara tidak sah.
Pengamanan electronic mail
◦ Mengamankan pada saat ditransmisikan maupun dalam media penyimpanan.
◦ Aplikasi enkripsi telah dibuat khusus untuk
mengamankan e-mail, diantaranya PEM Privacy
Aplikasi Enkripsi
Kartu Plastik
◦ Enkripsi pada SIM Card, kartu telepon
umum, kartu langganan TV kabel, kartu
kontrol akses ruangan dan komputer, kartu kredit, kartu ATM, kartu pemeriksaan
medis, dll
◦ Enkripsi teknologi penyimpanan data