Anda di halaman 1dari 30

FUNDAMENTAL SECURITY

Pengantar Kriptografi

http://arcastudio.co.id Ari Cahyono


Kriptografi (Crytography) ?

• Crytography
• Secara sempit
• Mengacak informasi menjadi tidak dapat dipahami
• Mengijinkan suatu metode rahasia untuk mengurai
• Secara luas
• Teknik matematis terkait sekuriti informasi
• Berkenaan dengan pengamanan informasi dalam
kehadiran musuh
• Crypanalysis
• Studi metode untuk mendapatkan makna dari
informasi yang terenkripsi tanpa akses ke informasi
rahasia
• Cryptology
• Cryptography + Crypanalysis
Security Attacks ?

• Passive attacks
• Mendapatkan isi pesan
• Memonitor aliran trafik

• Active attacks
• Menyamarkan (masquerade) satu entitas dengan
entitas lainnya
• Mengirim ulang pesan sebelumnya
• Mengubah pesan dalam transmisi (pengiriman)
• Menambah, menghapus pesan
• Kegagalan layanan (denial of service)
Sasaran Sekuriti Informasi

Confidentiality (secrecy) Authentication


• Hanya pengirim dan • Pengirim maupun
penerima yang penerima perlu
dimaksudkan yang dapat mengkonfirmasi identitas
memahami pesan yang masing-masing pihak yang
dikirimkan terlibat dalam komunikasi
Information
Security
Data Integrity Availability

• Isi dari komunikasi tidak • Keteraksesan data secara


terubah selama transmisi, tepat waktu (timely
baik secara sengaja atau accessibility) untuk
tidak sengaja mengesahkan entitas
Sasaran Sekuriti Informasi

Non-repudiation Access control

• Entitas tercegah dari


penyangkalan atas aksi • Suatu entitas tidak dapat
atau komitmennya yang mengakses entitas yang
lalu bukan haknya
Information
Security
Anonymity

• Identitas dari suatu entitas


terlindungi dari pihak lain
Tipe Fungsi Kriptografi

1 Fungsi secret key

2 Fungsi public key

3 Fungsi Hash
Secret Key Cryptography (SKC)

encryption

plaintext ciphertext
Key

ciphertext decryption plaintext


• Menggunakan kunci tunggal untuk enkripsi/dekripsi
• Plaintext dan ciphertext memiliki ukuran yang sama
• Disebut juga symmetric key cryptography
SKC: Penggunaan untuk Sekuriti

• Transmisi melalui kanal yang tidak secure


• Pesan yang ditranmisiskan di enkripsikan oleh pengirim
dan dapat didekripsi oleh penerima menggunakan key
yang sama
• Mencegah penyerang dari menguping (eavesdropping)

• Mengamankan penyimpanan pada media yang


tidak aman
• Data dienkripsikan sebelum disimpan pada suatu
tempat
• Hanya entitas yang mengetahui kunci yang dapat
mendekripnya
SKC: Penggunaan untuk Sekuriti

• Otentikasi
• Strong authentication: membuktikan kebenaran suatu rahasia
tanpa mengungkapnya.

Alice Bob
challenge
rA
response
rA encrypted with KA,B

rB

rB encrypted with KA,B


SKC: Penggunaan untuk Sekuriti

• Strong authentication
• Sering kali digunakan sebagai sinonim dari two-factor
authentication (2FA) atau multifactor authentication
(MFA), meskipun tidak tepat, karena terdapat
otentikasi sangat aman yang hanya menggandalkan
faktor otentikasi (FA) tunggal.
• Sejumlah otentikasi biometric dianggap cukup handal untuk
dipergunakan secara tunggal dan dianggap sebagai strong
authentication, contoh: fingerprint, retina scan.
• Sistem dengan multiple challenge/response answer
dianggap sebagai strong authentication.
• Berbasis pada multiple instances of the knowledge factor.
SKC: Penggunaan untuk Sekuriti

• Integrity Check
• Noncryptographic checksum
• Menggunakan algoritma yang telah dikenal untuk memetakan
(dengan panjang sembarang) ke suatu checksum dengan
panjang tetap.
• Perlindungan terhadap adanya korupsi (perubahan) pesan
secara tidak sengaja.
• Contoh: CRC

• Cryptographic Checksum
• Algoritma dikenal
• Diberikan sebuah kunci dan sebuah pesan
• Algoritma menghasilkan kode otentikasi pesan (MAC =
message authentication code) dengan panjang tetap
yang dikirim bersama dengan pesan
Public Key Cryptography (PKC)

encryption

plaintext ciphertext
Public key Private key

ciphertext decryption plaintext

• Setiap individu memiliki


• Sebuah private key (d): tidak perlu diungkapkan ke orang lain
• Sebuah public key (e): lebih baik dipublikasikan terbuka
• Public key crypto dikenal pula sebagai asymmetric crypto
PKC: Penggunaan untuk Sekuriti

• Transmisi melalui kanal yang tidak aman

Alice Bob

encrypt mA using eB decrypt mA using dB

• Mengamankan penyimpanan pada media yang tidak


aman
• Data dienkrip menggunakan public-key nya sumber data
sebelum disimpan di suatu tempat
• Tidak ada yang dapat mendekrip jika tidak mengetahui private
key dari sumber data
PKC: Penggunaan untuk Sekuriti

• Otentikasi

Alice Bob

encrypt r using eB decrypt to r using dB

r
PKC: Penggunaan untuk Sekuriti

• Tanda tangan digital (digital signature)


• Membuktikan bahwa sebuah pesan dihasilkan oleh individu
tertentu
• Non-repudiation (anti penyangkalan): individu yang
menandatangani tidak dapat menyangkal, karena hanya dia
yang mengetahui private key.

signing
plaintext Signed
message
Private key

Public key
Signed plaintext
message
verification
Fungsi Hash

• Fungsi kriptografi Hash


• Transformasi matematis yang mengambil pesan dengan
panjang sembarang dan mengkalkulasinya menjadi bilangan
dengan panjang tetap (pendek)

• Properti
(diberikan hash suatu pesan m adalah h(m))
• Untuk sembarang m, relative mudah untuk mengkalkulasi
h(m)
• Diberikan h(m), tidak ada cara untuk mendapatkan Kembali m
yang telah di hash menjadi h(m) dalam suatu cara yang lebih
mudah dari pada mencoba semua kemungkinan nilai untuk m
dan mengkalkulasi h(m) satu persatu
• Secara komputasi tidak dimungkinkan untuk menemukan dua
nilai yang memiliki hash yang sama.
Fungsi Hash: Penggunaan untuk Sekuriti

• Password hashing
• Sistem menyimpan sebuah hash dari password (bukan
password yang disimpan)
• Ketika diberikan sebuah password, nilai hash dari password
dikalkulasi dan dibandingkan dengan nilai yang tersimpan.
• Integritas pesan
• Menggunakan kriptografi fungsi hash untuk menghasilkan
MAC

Alice Bob
secret
=?
message hash
hash
secret
Fungsi Hash: Penggunaan untuk Sekuriti

• Pesan fingerprint
• Menyimpan message digest (intisari pesan) dari data pada
penyimpanan yang tahan rusak.
• Secara periodic di rekalkulasi untuk memastikan data tidak
berubah

• Downline load security


• Menggunaan fungsi hash untuk memastikan bahwa program
yang didownload tidak termodifikasi.

• Meningkatkan efisiensi tanda tangan


• Menkomputasi sebuah message digest (menggunakan fungsi
hash) dan menandatanganinya.
Algoritma Kriptografi: Agenda

•Serangan pada algoritma kriptografi

•Definisi sekuriti

•Beberapa algoritma kriptografi:


fakta-fakta dasar
Attack (serangan): Tipe

• Brute force search


• Diasumsikan terdapat plaintext yang telah diketahui atau
dikenali
• Secara sederhana mencoba semua kunci

• Cryptoanalysis
• Hanya ciphertext
• Dengan ciphertext
• Plaintext dikenali
• Plaintext yang dikenali
• Pasangan <cipher, plaintext> dikenal/diketahui
• Plaintext dipilih
• Pilih plaintext dan and dapatkan ciphertext untuk diserang
Birthday Attacks

• Prinsip
• Diasumsikan: sebuah fungsi menghasilkan beragam
output dengan probabilitas setara, jika n cukup besar.
• Setelah mengevaluasi fungsi sekitar 1.2 * 𝑛 argument,
diharapkan dapat ditemukan pasanan argument yang
berbeda, x1 dan x2, sedemikian sehingga f(x1) = f(x2)
• Serangan: message replay (mengirim ulang pesan)
• Solusi: meningkatkan ukuran output
Meet-in-the-Middel Attacks

• Prinsip
• Buat sebuah tabel key
• Hitung f(k,m) untuk setiap key
• f adalah fungsi enkripsi, m adalah pesan yang telah diketahui
• Cari sebuah nilai f(k’, m)
• Jika f(k’, m) = f(k, m), maka terdapat peluang besar bahwa k’ =
k
• Contoh serangan
• Asumsi
• Sebuah fungsi enkripsi baru: F(k1, K2, m) = f(k1, f(k2, m))
• Pasangan (P,C) diketahui
• Penyerang
• Enkrip P, yaitu hitung f(k2, P) untuk semua nilai k2 yang mungkin;
simpan dalam tabel
• Dekrip C, yaitu hitung f-1(k1,C) untuk semua nilai dari k1, dan untuk
setiap hasil periksa tabel
• Pasangan yang sama mengungkapkan kombinasi yang mungkin dari
suatu key
Definisi Sekuriti

• Unconditional Security
• Sistem tidak dapat dikalahkan, bagaimanapun usaha
yang dilakukan oleh lawan

• Computational security
• Level komputasi yang dipersepsikan untuk mengalahkan
sistem menggunakan serangan terbaik yang diketahui
melampaui, dengan margin yang cukup, sumber daya
komputasi yang dihipotesakan dimiliki oleh lawan
• Yaitu, diberikan sumber daya komputasi terbatas,
diperlukan sepanjang usia alam semesta tahun untuk
memecahkan sandi
Definisi Sekuriti

• Provable security
• Kesulitan dalam mengalahkan sistem dapat
ditunjukkan bahwa pada dasarnya sama sulitnya
dengan memecahkan masalah yang terkenal dan
dianggap sulit (misalnya, faktorisasi bilangan bulat)

• Ad hoc security
• Klaim atas keamanan umumnya tetap dipertanyakan
• Serangan tak terduga tetap menjadi ancaman
Algoritma Kriptografi Secret Key

• DES (Data Encryption Standard)

• 3DES (Triple DES)

• IDEA (International Data Encryption Algorithm)

• AES (Advanced Encryption Standard)


DES (Data Encryption Standard)

• Authors: NSA & IBM, 1977

• Data block size: 64-bit (64-bit input, 64-bit output)


• Key size: 56-bit key

• Encryption is fast
• DES chips
• DES software: a 500-MIP CPU can encrypt at about 30K
octets per second

• Security
• No longer considered secure: 56 bit keys are vulnerable
to exhaustive search
Triple-DES (3DES)

• C = DESk3(DESk2(DESk1(P))).

• Data block size: 64-bit


• Key size: 168-bit key; effective key size: 112 (due to
man-in-the-middle attack)

• Encryption is slower than DES

• Securer than DES


IDEA (International Data Encryption Algorithm)

• Authors: Lai & Massey, 1991

• Data block size: 64-bit


• Key size: 128-bit

• Encryption is slower than DES


• Security
• Nobody has yet published results on how to break it

• Having patent protection


AES (Advanced Encryption Standard) Algorithm

• Authors: Daemen & Rijmen

• Block size:128-bit
• Key size: 128-bit, 192-bit, 256-bit

• Encryption is fast

• Security
• As of 2005, no successful attacks are recognized.
• NSA stated it secure enough for non-classified data
Algoritma Kriptografi Asimetri

• Asymmetric
• RAS (Rivest –Shamir-Adleman)
• ElGamal
• DSA
• Diffie-Hellman
• Mercke Knapsack Algorithm
• Rabin
• RPOC
• Mc Eliece
• XTR
• ECC (Elliptic Curve Cryptography(

Anda mungkin juga menyukai