Anda di halaman 1dari 13

KESELAMATAN DATA

Pengenalan

Semua data dan maklumat yang bergerak dalam rangkaian mesti dipelihara dan
dikawal utk memastikan integriti dan keselamatan.
Integriti ~ merujuk kepada data yg diterima adalah sama dengan data yang dihantar.
Keselamatan ~ merujuk kepada data yang dihantar selamat daripada intipan
termasuk juga keselamatan data drp perbuatan yg tidak disengajakan.

Keselamatan Data
Data dan rangkaian perlu dikawal daripada:

Pencapaian yg tidak sah ~ kawalan boleh dilakukan dengan menggunakan


pengesahan (authentication) seperti kod pengenalpastian pengguna (user
identification code) / password dan penyulitan (encryption)
Virus ~ kod yg diperkenalkan secara haram yg boleh memusnahkan sistem.Data&
rangkaian perlu diperlihara drp virus dengan menggunakan perkakasan dan perisian
yg direkabentuk khusus utk tujuan tersebut.(firewall)
Bencana ~ Data & rangkaian perlu dipeliharan drp bencana seperti kecurian,
kebakaran, gempa bumi, banjir dll. Pemeliharaan boleh dilakukan dengan
melakukan sandaran.

Pengesahan (Authentication)

Pengesahan pengirim sesuatu mesej.


Ia mengesahkan identiti pengguna yang akan mencapai sumber2 yg terdapat dalam
komunikasi data.

Pengesahan boleh dilakukan dengan menggunakan kata-laluan (password).Katalaluan (Password)

Bentuk keselamatan yg sering digunakan.

Ia diperlukan oleh hos komputer atau peranti tertentu utk mengesahkan identity
sebelum memasuki sesuatu sistem.

Terdapat 3 kaedah utk pengesahan dengan menggunakan password:

Sesuatu yg dimiliki (Something possessed)


Sesuatu yg wujud (Something embodied)

Sesuatu yg diketahui (Something known).

Password ~ (something possessed)

Sistem komputer memeriksa identiti melalui 2 cara:


password

Sesuatu benda yg dipunyai utk skema pengenalpastian.

Contoh: password (nombor pin) yg digunakan bersama2 dengan kad ATM atau kad
pintar.

Password ~ something embodied

Melibatkan pemeriksaan ke atas pengguna utk ciri2 yg unik yg terdapat pada


seseorang pengguna.
Prosedur ini sesuai untuk sistem keselamatan yg ketat dimana ancaman ke atas
sistem boleh menyebabkan akibat yg teruk kerana kosnya adalah tinggi.
Contoh: pengenalpastian suara (voice recognition), cap jari (finger print), corak anak
mata (retinal pattern), dan tandatangan digital (digital signature).

Password ~ something known

Dalam kaedah ini, dengan bertanyakan password, sistem komputer juga akan
bertanyakan soalan yang bersangkutan dengan agen (pengguna).
Contoh: soalan seperti tarikh lahir, nama ibu, nombor kad pengenalan dll.

Jenis-jenis Password

Kata-laluan yg dikeluarkan oleh pengguna (User-generated password) ~ pengguna


mencipta password dengan sendiri.
Kata-laluan yg dikeluarkan oleh komputer (Password Computer-generated
password) ~ komputer mengeluarkan password secara rambang.
Tunable password ~ kompromi antara kata-laluan yg dikeluarkan oleh pengguna
dan komputer. Komputer memberi sebahagian password dan pengguna
menggunakannya utk mencipta password baru.

Penyulitan / Penyahsulitan (Encryption / Decryption)

Salah satu kaedah yg praktikal utk memelihara data adalah dengan menukarkannya
ke dalam bentuk rahsia di mana penerima yg sah sahaja dapat memahaminya.
Penyulitan (Encryption) ~ pengirim menukarkan mesej asal ke bentuk rahsia dan
menghantarkan ke penerima.
Penyahsulitan (Decryption) ~ menterbalikkan kembali proses penyulitan supaya
mesej ditukar kedalam bentuk yang asal.

Proses Encryption / Decryption

Pengirim menggunakan algorithma penyulitan dan kunci utk menukarkan data asal
(plaintext) ke dalam bentuk data yg disulitkan (cipher text)
Penerima menggunakan algorithma penyahsulitan dan kunci utk menukarkan
cipher text kembali ke data asal (plaintext).

Kaedah penyulitan dan penyahsulitan boleh dibahagikan kpd 2 kategori:

Conventional (secret key / symmetric)


Public key (asymmetric)

Pengesahan kuasa (Authorization)


Pengesahan kuasa (authorization) diperlukan untuk mengawal pencapaian sumber
tertentu dalam sistem komputer. Pengesahan kuasa luaran merupakan kawalan
pencapaian sistem komputer tersebut, manakala pengesahana kuasa dalaman
merupakan kawalan pencapaian sumber yang dibekalkan oleh sistem. Perlaksanaan
pengesahan kuasa hanya dapat dijalankan sekiranya terdapat sesuatu mekanisme
pembuktian (authentication mechanism) yang berkesan.
Pembuktian (Authentication)
Pembuktian Luaran (External Authentication)
Pembuktian luaran merupakan mekanisme yang menghalang pengguna yang tidak
sah daripada log masuk kepada sistem tertentu. Biasanya, nama pengguna dan kata
laluan digunakan sebagai mekanisme pengesahan. Namun, penyamaran (masquerading)
mudah dilakukan sekiranya nama pengguna dan kata laluan terbocor. Mekanisme terkini
termasuk kegunaan kad cerdik (smart card) serta kaedah biometrik seperti analisis suara,
cap jari dan retina.Namun, data yang dihantar daripada mesin lain melalui rangkaian
mungkin diubah supaya menyamar seseorang pengguna yang sah. Virus, aturcara
cecacing (worm), ataupun kuda Troy (Trojan horse) mungkin diterima oleh sistem
komputer sebagai aturcara yang sah dan menyebabkan kerosakan data ataupun
menahaskan (crash) sistem komputer tersebut. Protokol Pembuktian Rangkaian Kerberos
dicipta untuk menghalang serangan rangkaian (network-based attacks) tersebut.(Fig. 14.3,
pg 431, Nutt)Protokol Kerberos menganggapkan terdapatnya sistem pelayan (server) dan
sistem pelanggan (client). Sistem pelanggan mencapai perkhidmatan pelayan melalui
rangkaian yang tidak selamat (secure). Sesuatu pelayan pembuktian (authentication
server) disediakan untuk tujuan mengesahkan segala pengguna yang ingin mencapai
sistem pelayan. Pelayan pembuktian menjanakan tiket (ticket) yang mengandungi ID
pelanggan (client ID) serta kekunci sidang (session key) yang disulitkan (encrypted)
secara menggunakan kekunci pelayan (server key). Akibatnya hanya pelayan sah sahaja
yang dapat menyahsulitkan tiket tersebut.Apabila sesuatu pelanggan ingin mencapai
pelayan, ia akan meminta tauliah (credentials) untuk proses pelayan tersebut daripada
pelayan pembuktian. Pelayan pembuktian akan menghantar tiket serta kekunci sidang
kepada pelanggan selepas kedua-duanya disulitkan secara menggunakan kekunci
pelanggan (client key).Pelanggan menyahsulitkan tiket dan kekunci sidang, kemudiannya
menghantar tiket kepada pelayan. Pelayan akan menyahsulitkan tiket untuk mencapai ID
pelanggan dan kekunci sidang sebenar. Kekunci sidang akan digunakan untuk
melaksanakan penyulitan segala urusniaga (transactions) seterusnya.Pelayan pembuktian
mesti dipercayai (trusted) oleh semua pihak supaya menjayakan protokol Kerberos
tersebut. Seseorang penceroboh tidak dapat mencapai perkhidmatan pelayan tersebut
sebab ia tidak mempunyai kekunci sidang. Secara umum, kekunci sidang akan
dihapuskan selepas sidang urusniaga tersebut tamat.
Pembuktian Dalaman (Internal Authentication)
Pembuktian dalaman bertujuan menghalang proses seseorang pengguna sistem
supaya tidak menyamar sebagai proses pengguna yang lain, contohnya proses sistem
(system process). Proses pengguna tidak dibenarkan menukarkan pemilik (owner) secara
sesuka-hati. Hanya proses akar (root process) yang diberikan hak menukarkan pemilik
sesuatu sumber ataupun proses.

Pengesahan Kuasa (Authorization)


Pengesahan Kuasa Capaian Luaran (External Access Authorization)
Biasanya setiap pengguna diberikan satu akaun pada sistem maklumat yang
digunakan untuk mencapai data yang tersimpan dalam sistem tersebut. Setiap kali akaun
itu digunakan, pengguna mestilah membekalkan nama pengguna (username) dan kata
laluan supaya dapat mencapai suatu pemproses perintah (command processor). Aktiviti
log masuk (login) itu tersimpan dalam log sistem (system log) supaya pentadbir sistem
dapat mengetahui sesiapa yang telah mencapai sistem tersebut.
Pengesahan Kuasa Capaian Dalaman (Internal Access Authorization)
Pengesahan kuasa capaian dalaman (internel access authorization) digunakan untuk
menentukan sama ada sesuatu sumber sistem boleh dicapai oleh pengguna tersebut.
Terdapat berbagai masalah yang merupakan tumpuan pengesahan kuasa caiapan
dalaman:
Perkongsian parameter (parameter sharing): sekiranya sesuatu proses
dapat mengubah nilai pemboleh ubah dalam proses lain tanpa kebenaran, maka dasar
kegunaan sumber (resource use policy) akan terjejas.
Pengurungan (confinement):
sesuatu proses ingin menghadkan pencapaian sumber kawalannya supaya tidak dapat
dicapai oleh proses yang tak berizin.
Peruntukan hak (rights allocation): kebenaran
pencapaian sesuatu sumber boleh diberi oleh sesuatu proses kepada proses yang lain.
Namun, kebenaran yang diberi kepada proses kedua tidak seharusnya disalurkan kepada
proses ketiga tanpa kebenaran dari proses asal.
Kuda Troy (Trojan horse): sesuatu
aturcara yang menggunakan hak yang lebih meluas yang dimiliki oleh proses lain untuk
melakukan sesuatu tanpa disedari merupakan masalah kuda Troy.
Model Perlindungan Sumber (Resource Protection Model)
Umumnya, sistem perlindungan terdiri daripada bahagian aktif dan bahagian pasif.
Bahagian aktif (active parts) merupakan proses ataupun untaian (thread) yang melakukan
sesuatu untuk pengguna sistem. Bahagian pasif (passive parts) merupakan sumber yang
disebut sebagai objek perlindungan (protection objects). Sesuatu proses mencapai objek
mengikut hak yang diberi kepada proses tersebut. Hak yang diberi oleh sistem
pengoperasian berubah berdasarkan tugas yang dijalankan oleh proses. Domain
perlindungan (protection domain) merupakan hak yang dimiliki oleh proses pada masa
terkini. Sesuatu subjek (subject) merupakan apa-apa yang sedang dilakukan oleh proses
tersebut dalam domain perlindungan tertentu. Namun, objek perlindungan merangkumi
bahagian pasif serta subjek-subjek yang terdapat dalam sistem tersebut.Sistem
perlindungan (protection system) merupakan satu set objek, subjek, dan peraturan(rules)
yang menetapkan polisi perlindungan. Ia mewakili pencapaian (accessibility) objek oleh
subjek berdasarkan keadaan perlindungan (protection state) yang ditakrif untuk sistem
tersebut. Setiap pencapaian objek X oleh subjek S akan disemak supaya mematuhi
keadaan perlindungan. Keadaan perlindungan dalaman hanya dapat diubah
melalui peralihan keadaan (state transition) berdasarkan sesuatu polisi keselamatan
luaran (external security policy).(Fig. 14.5, pg. 435, Nutt)
Matrix Pencapaian (Access Matrix)
Keadaan perlindungan dapat diwakili oleh sebuah matrix pencapaian. Terdapat
satu baris (row) untuk setiap subjek dan lajur (column) untuk setiap objek. Tambahannya,
setiap subjek S juga merupakan objek X sebab sesuatu proses mungkin dikawal daripada

proses yang lain. Setiap unsur matrix A[S,X] merupakan set hak pencapaian (access
rights) yang dimiliki oleh S kepada X.(Fig. 14.6, pg. 435, Nutt)Setiap pencapaian
memerlukan langkah tersebut:
Subjek S memulakan capaian jenis a kepada objek
X
Sistem perlindungan membuktikan (authenticate) S dan menjana (S, a, X) untuk S.
Identiti S tidak boleh disamar sebab ia dijana oleh sistem.
Pengawas (monitor) objek
X merujuk kepada A[S,X] untuk menentukan sama ada a A[S,X]. Jika ya, pencapaian
dibenarkan. Jika tidak, pencapaian ditolak.(Fig. 14.7, pg. 436, Fig. 14.8, pg. 437,
Nutt)Model Sistem Perlindungan tersebut boleh digunakan untuk menyelesaikan berbagai
masalah yang dikemukakan:
Penyamaran (masquerading): Satu tandatangan
(signature) yang tidak boleh dipalsukan (forged), (S, a, X) dijana supaya subjek S dapat
melakukan capaian a ke atas X. Pengawas akan pastikan bahawa proses lain tidak dapat
menyamarkan S sebab proses lain tidak mempunyai tandatangan yang betul.
Pengurungan dan Peruntukan hak (confinement and rights allocation): Peruntukan hak
boleh dikawal secara menghadkan pemindahan hak capaian (access rights transfer) dari
satu proses ke proses yang lain. Namun, pengurungan mungkin gagal sekiranya sesuatu
subjek (proses) yang mempunyai hak baca juga mempunyai ingatan (memory), sebab
proses tersebut boleh menyalurkan maklumat kepada proses lain.
Perkongsian
parameter (parameter sharing): Penjaga get (gatekeeper) boleh dicipta oleh sesuatu
subjek pemilik untuk menjaga objek yang dilindung. Semua pencapaian ke objek tersebut
mesti melalui penjaga get supaya menjamin keselamatannya.
Kuda Troy (Trojan
horse): masalah ini sukar diselesaikan sebab satu set peraturan berdasarkan polisi
tertentu yang menghalang kuda troy daripada mengamalkan hak proses lain tidak
semestinya memenuhi keperluan polisi-polisi lain.
Perlaksanaan Pengesahan Kuasa Dalaman
Perlaksanaan sistem pengesahan kuasa dalaman yang berkesan dan tidak
memerlukan pemprosesan yang berlebihan adalah penting. Sekiranya maklumat mesti
selamat, maka kos pemprosesan mungkin tidak merupakan masalah, tetapi pencapaian
sumber semasa perlaksanaan proses yang biasa harus dilakukan secepat mungkin
supaya menjamin prestasi sistem tersebut.
Domain Perlindungan
Sesuatu sistem boleh dibahagikan kepada beberapa domain perlindungan. Yang
terasas sekali ialah dua domain, iaitu mod penyelia (supervisor mode) dan mod pengguna
(user mode). Dalam sistem yang menggunakan reka bentuk gelang (ring architecture),
terdapat berbagai gelang R0 ke RN yang mempunyai hak pencapaian (access rights) yang
semakin terhad. Proses sistem pengendalian dilakukan dalam gelang R 0 manakala proses
pengguna dilakukan dalam beberapa gelang yang tertinggi sekali.Setiap kali pencapaian
proses dalam gelang yang lebih rendah diperlukan, penjaga get digunakan untuk
mengawas perlaksanaan panggilan tersebut. Penukaran domain berlaku setiap kali proses
melintas gelang perlindungan.
Matrix Pencapaian
Matrix pencapaian biasanya merupakan matrix jarang (sparse matrix) sebab sesuatu
proses hanya mencapai beberapa objek atau subjek sahaja. Oleh sebab itu, senarai (lists)
digunakan untuk menyimpan unsur matrix tersebut. Sekiranya terdapat matrix yang padat
(dense matrix), senarai tersebut akan menjadi sangat panjang.

Senarai Kawalan Pencapaian (access control list)


Setiap sumber dibekalkan dengan suatu senarai kawalan pencapaian. Sekiranya
subjek serta cara pencapaian tertentu tidak terdapat pada senarai tersebut, maka sumber
tidak boleh dicapai oleh subjek.(Fig. 14.12, pg. 445, Nutt)
Kebolehan (capabilities)
Sesuatu kebolehan merupakan nama sejagat (global name) yang unik untuk hak
pencapaian sesuatu objek. Kebolehan itu boleh dilaksanakan sebagai tiket Kerberos,
ataupun penjelasan pencapaian yang tetap objek tersebut. Nama sejagat itu
membolehkan rujukan sesuatu objek dalam ruang alamat objek yang meluas. Tambahan,
pemilikan kebolehan tersebut merupakan pengesahan kuasa pencapaian objek
tersebut.Kebolehan mempunyai ciri tertentu:
Nilai sesuatu kebolehan mestilah
berasal daripada ruang alamat objek yang meluas
Kebolehan mestilah unik dan tidak
boleh digunakan semula selepas ia digunakan oleh sesuatu subjek
Kebolehan
mestilah berbeza dengan nama biasa seperti integer atau penunding
Penyulitan (Encryption)
Penyulitan merupakan cara mengubahkan maklumat daripada format teks nyata
(clear text format) menjadi format teks sifer (cipher text) supaya disimpan atau dihantar
melalui media yang tidak selamat. Fungsi penyulitan (encrypt) dan penyahsulitan (decrypt)
dibekalkan supaya pengguna dapat menjana format yang diperlukan daripada
format asal.Teks sifer = penyulitan (kekunci, teks nyata)Teks nyata = penyahsulitan
(kekunci, teks sifer)
Penyulitan bersimetri (symmetric encryption)
Penyulitan bersimetri menggunakan kekunci yang sama untuk penyulitan dan
penyahsulitan. Terdapat masalah penukaran kekunci (key exchange) sebab kekunci
penyahsulitan mestilah dihantar kepada penerimanya supaya ia dapat menyahsulitkan
data yang diterima. Biasanya penukaran kekunci dilakukan melalui mekanisme yang
berlainan daripada mekanisme hantaran data supaya ia selamat.
Penyulitan tak bersimetri (asymmetric encryption)
Cara penyulitan tak bersimetri menggunakan dua kekunci, satu yang digunakan untuk
penyulitan dan yang lain untuk penyahsulitan. Kriptografi kekunci awam (public key
cryptography) menggunakan kekunci awam (public key) yang boleh dihantar secara teks
nyata kepada sesiapa yang ingin menghantar maklumat kepada penerima. Kekunci
peribadi (private key) akan digunakan untuk menyahsulitkan maklumat tersebut. Pemilikan
kekunci awam tidak membolehkan seseorang menyahsulitkan maklumat yang diterima,
maka ia selamat.Pembuktian maklumat (data authentication) dapat dilakukan sekiranya
penghantar menggunakan kekunci peribadinya untuk menyulitkan maklumat tersebut.
Disebabkan kekunci awam dapat diperoleh oleh sesiapa, maka penerima boleh
menggunakan kekunci awam tersebut untuk membuktikan bahawa maklumat yang
diterima itu berasal dari penghantar tertentu.
Penghantaran maklumat secara selamat dapat dilakukan apabila penghantar
menyulitkan maklumat tersebut secara menggunakan kekunci sulit, dan kemudiannya
menyulitkannya sekali lagi secara menggunakan kekunci awam penerima.

MODEN KRIPTOGRAFI
Kriptografi modern menggunakan gagasan dasar yang sama seperti kriptografi klasik
(permutasi dan transposisi) tetapi penekanannya adalah berbeza. Pada kriptografi klasik,
kriptografer menggunakan algoritma yang sederhana, yang memungkinkan cipherteks
dapat dipecahkan dangan mudah (melalui penggunaan statistik, terkaan, intuisi, dsb).
Algoritma kriptografi modern dibuat sedemikian kompleks sedemikian sehingga kriptanalis
sangat sulit memecahkan cipherteks tanpa mengetahui kunci.
Algoritma kriptografi modern umumnya beroperasi dalam mode bit dan mode karakter.
Operasi dalam mode bit bererti semua data dan informasi (baik kunci, plainteks, atau
cipherteks) dinyatakan dalam rangkaian (string) bit binary, 0 dan 1. Algoritma enkripsi dan
dekripsi memproses semua data dan informasi dalam bentuk rangkaian bit. Rangkaian bit
yang menyatakan plainteks dienkripsi menjadi cipherteks dalam bentuk rangkaian bit,
demikian sebaliknya.
Kategori Cipher Kunci-Simetri
Algoritma kunci-simetri mengacu pada metode enkripsi yang dalam hal ini pengirim
maupun penerima memiliki kunci yang sama. Algoritma kunci-simetri modern beroperasi
dalam mode bit dan dapat dikelompokkan menjadi dua kategori:
1. Cipher aliran (stream cipher)
Algoritma kiptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal, yang
dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit. Cipher aliran
mengenkripsi satu bit setiap kali.
Algoritma-algoritma sandi kunci-simetris
Beberapa contoh algoritma yang menggunakan kunci simetri:

Blowfish
Twofish

MARS

IDEA

3DES (DES diaplikasikan 3 kali)

AES (Advanced Encryption Standard, yang bernama asli rijndael)

DES (Data Encryption Standard)

Cipher blok(block cipher)

Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang
dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan
sebelumnya. Misalnya panjang blok adalah 64 bit, maka itu berarti algoritma enkripsi
memerlukan 8 karakter setiap kali enkripsi (1 karakter = 8 bit dalam pengkodean ASCII).
Cipher blok mengenkripsi satu blok bit setiap kali.

Pada cipher blok, rangkaian bit-bit plainteks dibagi menjadi blok-blok bit dengan
panjang sama, biasanya 64 bit (tapi adakalanya lebih). Algoritma enkripsi
menghasilkan blok cipherteks yang pada kebanyakan sistem kriptografi simetri
berukuran sama dengan blok plainteks.
Dengan blok cipher, blok plainteks yang sama akan dienkripsi menjadi blok
cipherteks yang sama bila digunakan kunci yang sama pula. Ini berbeda
dengancipher aliran dimana bit-bit plainteks yang sama akan dienkripsi menjadi bitbit cipherteks yang berbeda setiap kali dienkripsi.
Misalkan blok plainteks (P) yang berukuran m bit dinyatakan sebagai vektor

P = (p1, p2, , pm)


yang dalam hal ini pi adalah 0 atau 1 untuk i = 1, 2, , m, dan blok cipherteks (C) adalah
C = (c1, c2, , cm)
yang dalam hal ini ci adalah 0 atau 1 untuk i = 1, 2, , m.
Bila plainteks dibagi menjadi n buah blok, barisan blok-blok plainteks dinyatakan sebagai
(P1, P2, , Pn)
Untuk setiap blok plainteks Pi, bit-bit penyusunnya dapat dinyatakan sebagai vektor
Pi = (pi1, pi2, , pim)

Enkripsi dan dekripsi dengan kunci K dinyatakan berturut-turut dengan persamaan

EK(P) = C
untuk enkripsi, dan
DK(C) = P
Fungsi E haruslah fungsi yang berkoresponden satu-ke-satu, sehingga
E-1 = D
Skema enkripsi dan dekripsi dengan cipher blok digambarkan pada Gambar 1.
Enkripsi: Dekripsi:
Blok Plainteks P Blok Cipherteks CA
P = (p1, p2, , pm) C = (c1, c2, , cm)

Kunci K E Kunci K D
Blok Cipherteks C Blok Plainteks P
C = (c1, c2, , cm) P = (p1, p2, , pm)

Block-Cipher
Untuk menambah kehandalan model algoritma sandi ini, dikembangkan pula beberapa
tipe proses enkripsi, yaitu :

ECB (Eectronic Code Book)


CBC (Cipher Block Chaining)

OFB (Output Feed Back)

CFB (Cipher Feed Back)

Fungsi Hash Kriptografi


Fungsi hash Kriptografis adalah fungsi hash yang memiliki beberapa sifat keamanan
tambahan sehingga dapat dipakai untuk tujuan keamanan data. Umumnya digunakan
untuk keperluan autentikasi dan integritas data. Fungsi hash adalah fungsi yang secara
efisien mengubah string input dengan panjang berhingga menjadi string output dengan
panjang tetap yang disebut nilai hash.
Sifat-Sifat Fungsi Hash Kriptografi

Tahan preimej (Preimage resistant): bila diketahui nilai hash h maka sulit (secara
komputasi tidak layak) untuk mendapatkan m dimana h = hash(m).
Tahan preimej kedua (Second preimage resistant): bila diketahui input m1 maka sulit
mencari input m2 (tidak sama dengan m1) yang menyebabkan hash(m1) = hash(m2).
Tahan tumbukan (Collision-resistant): sulit mencari dua input berbeda m1 dan
m2 yang menyebabkan hash(m1) = hash(m2)

Algoritma-Algoritma Fungsi Hash Kriptografi


Beberapa contoh algoritma fungsi hash Kriptografi:
1. MD4
2. MD5
3. SHA-0
4. SHA-1
5. SHA-256
Contoh algoritma Penggunaan Kriptografi modern

l DES = Data Encryption Standard, adalah standar enkripsi standar. algoritma


dikembangkan di IBM di bawah kepemimpinan W.L Tuchman (1972).
l AES = Advanced Encyption Standard, menggunakan algoritma kriptografi simetri
berbasis chiper blok
l RSA dibuat oleh 3 orang peneliti dari MIT pada tahun 1976 yaitu : Ron (R)ivest, Adi
(S)hamir, Leonard (A)dleman.

Kriptografi dalam kehidupan sehari-hari


Smart Card
ATM
Cell-Phone

Serangan terhadap Kriptografi


Pendahuluan

Keseluruhan point dari kriptografi adalah menjaga kerahasiaan plainteks atau kunci
(atau keduanya) dari penyadap (eavesdropper) atau kriptanalis (cryptanalyst).
Kriptanalis berusaha memecahkan cipherteks dengan suatu serangan terhadap
sistem kriptografi.

Serangan (attack)

Serangan: setiap usaha (attempt) atau percubaan yang dilakukan oleh kriptanalis
untuk menemukan kunci atau menemukan plainteks dari cipherteksnya.
Asumsi: kriptanalis mengetahui algoritma kriptografi yang digunakan
Prinsip Kerckhoff: Semua algoritma kriptografi harus publik; hanya kunci yang
rahsia. Satu-satunya keamanan terletak pada kunci!

Jenis-jenis Serangan
l Berdasarkan keterlibatan penyerang dalam komunikasi
1. Serangan pasif (passive attack)
- penyerang tidak terlibat dalam komunikasi antara pengirim dan penerima
- penyerang hanya melakukan penyadapan untuk memperoleh data atau
informasi sebanyak-banyaknya
2. Serangan Active (active attack)

- penyerang mengintervensi komunikasi mempengaruhi sistem untuk keuntungan


dirinya
penyerang mengubah aliran pesan seperti:
i. menghapus sebagian cipherteks,
ii. mengubah cipherteks,
iii. menyisipkan potongan cipherteks palsu,
iv. me-replay pesan lama,
v. mengubah informasi yang tersimpan, dsb

Jenis-jenis Serangan

Berdasarkan teknik yang digunakan untuk menemukan kunci:

1. Exhaustive attack /brute force attack

Mengungkap plainteks/kunci dengan mencoba semua kemungkinan kunci.


Pasti berhasil menemukan kunci jika tersedia waktu yang cukup

2. Analytical attack

Menganalisis kelemahan algoritma kriptografi untuk mengurangi kemungkinan kunci


yang tidak mungkin ada.
Caranya: memecahkan persamaan-persamaan matematika (yang diperoleh dari
definisi suatu algoritma kriptografi) yang mengandung peubah-peubah yang
merepresentasikan plainteks atau kunci.
Metode analytical attack biasanya lebih cepat menemukan kunci dibandingkan
dengan exhaustive attack.
Solusi: kriptografer harus membuat algoritma kriptografi yang kompleks

5 macam cipher code


1.

Cipher Klasik.

Sejarah Cipher pena dan kertas pada waktu lampau sering disebut sebagai cipher klasik.
Contoh:
- Cipher transposisi (Anagram) atau pengacakan huruf pada sebuah kata.
Misal, kata DAUN MUDA ditransposisi menjadi MANA DUDU atau MADU ADUN.

2.

Caesar Cipher (Cipher Substitusi)

Ini adalah algoritma kriptografi yang mula-mula digunakan oleh kaisar Romawi, Julius Caesar
(sehingga dinamakan juga caesar chiper), untuk menyandikan pesan yang ia kirim kepada
para gubernurnya. Setiap huruf digeser maju sebanyak tiga huruf. Dan untuk mendekripsi
cipherteks cukup dengan menggeser mundur sebanyak tiga huruf.
Misalnya, tiap huruf disubstitusi dengan huruf ketiga berikutnya dari susunan abjad. Dalam
hal ini kuncinya adalah jumlah pergeseran huruf (yaitu key = 3).
Tabel substitusi: (A = D)

pl : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Contoh:
DAUN MUDA disamarkan menjadi: GDXQ PXGD
3.

Sandi Geser (Shift Cipher)

Sandi geser (shift cipher) merupakan generalisasi dari Sandi Caesar, iatu tidak membatasi
pergeseran sebanyak tiga huruf. Jadi ada sebanyak 26 kunci pergeseran yang bisa digunakan.
Khusus untuk K = 13 sering disebut dengan Sandi ROT-13. Kata ROT-13 diambil dr bhs Inggris
yg artinya adalah Rotate by 13. Sebenernya ini mirip Caesar Chiper, bahkan sangat mirip! klo
misalnya di Caesar Cipher kita bebas menentukan key nya, nah di ROT-13 tu key-nya adalah
13, jadi abjad di geser 13 digit. jadi tidak ada key untuk cipher ini.
Plaintext A BCDEFGHIJKLMNOPQRSTUVWXYZ
Ciphertext N OPQRSTUVWXYZABCDEFGHIJKLM

4.

Sandi Permutasi (Transposisi)

Sandi Permutasi sering juga disebut dengan sandi transposisi, sebab metode enkripsi yang
digunakan tidak seperti pada algoritma sandi pada umumnya, tetapi dengan mengganti
urutan huruf pada plainteks. Ada banyak metode dan variasi sandi transposisi. Berikut ini
diberikan beberapa contohnya.
Contoh. Diberikan plainteks BELAJAR SANDI ITU MUDAH. Selanjutnya tulis plainteks secara
horizontal dengan lebar kolom tetap, misalkan lebarnya 5, dalam hal ini kuncinya adalah 5.
Diperoleh:
BELAJ
ARSAN
DIITU
MUDAH

Maka cipherteksnya dibaca secara vertikal, yaitu BADMERIULSIDAATAJNUH. Metode lainnya


bisa ditulis secara zig-zag, melingkar, dan sebagainya. Makanya banyak yg menyebutnya
Sandi Ular.

5. cipher feedback(CFB)
Pada mode cipher feedback, data dienkripsikan dalam unit yang lebih kecil daripada ukuran
blok, misalnya dienkripsikan satu karakter setiap kalinya (ini disebut CFB 8-bit). Unit yang
dienkripsikan dapat berupa bit per bit (jadi seperti cipher aliran), 2 bit, dan seterusnya.
Secara umum, CFB n-bit mengenkripsi plainteks sebanyak n bit setiap kalinya, yang mana n
<= ukuran blok. Dengan kata lain, CFB mengenkripsikan cipher blok seperti pada cipher
aliran.
Mode CFB membutuhkan sebuah antrian (queue) yang berukuran sama dengan ukuran blok
masukan. Tinjau mode CFB 8-bit yang bekerja pada blok cipher berukuran 64-bit (setara
dengan 8 byte). Algoritma enkripsi dengan mode CFB adalah sbb (lihat Gambar 1):
1. Antrian diisi dengan IV (initialiazation vector) seperti pada mode CBC.
2. Enkripsikan antrian dengan kunci K. Delapan bit paling kiri dari hasil enkripsi berlaku
sebagai keystream yang kemudian di-XOR-kan dengan karakter 8-bit dari plainteks menjadi
karakter 8-bit pertama dari cipherteks. Karakter cipherteks ini dikirim (pada aplikasi
komunikasi data) atau disimpan (pada aplikasi penyimpanan data). Salinan (copy) dari
karakter cipherteks ini juga dimasukkan ke dalam antrian (menempati 8 posisi bit paling
kanan antrian), dan semua bit bit-bit lainnya di antrian digeser ke kiri menggantikan 8 bit
pertama yang sudah digunakan.
3. Karakter plainteks berikutnya dienkripsikan dengan cara yang sama seperti pada langkah
2.
4. Dekripsi dilakukan sebagai kebalikan dari proses enkripsi.

Anda mungkin juga menyukai