Anda di halaman 1dari 89

MATERI KULIAH

KEAMANAN
JARINGAN

KRIPTOGRAFI
4/8/17 1
Pengantar
Kehidupan kita saat ini dilingkupi oleh
kriptografi. Mulai dari transaksi di mesin
ATM, transaksi di bank, transaksi kartu
kredit, percakapan dengan melalui telepon
genggam, mengakses internet sampai
mengaktifkan peluru kendali pun
menggunakan KRIPTOGRAFI.
Begitu pentingnya kriptografi untuk
keamanan informasi (information security),
sehingga jika berbicara masalah keamanan
yang berkaitan dengan penggunaan
komputer, maka tidak bisa dipisahkan
dengan kriptografi
Istilah Kriptografi
Kriptografi (cryptography) berasal
dari bahasa YUNANI
cryptos yang artinya secret atau
rahasia.
graphein yang artinya writing
atau tulisan
Jadi : kriptografi berarti secret
writing atau tulisan rahasia
Definisi Kriptografi
Definisi kriptografi pada buku-buku lama (sebelum
tahun 1980-an) :
Kriptografi adalah ilmu dan seni untuk menjaga
kerahasiaan pesan dengan cara menyandikannya ke
dalam bentuk yang tidak dapat dimengerti lagi
maknanya.
Pada perkembangan selanjutnya, KRIPTOGRAFI
berkembang menjadi sebuah disiplin ilmu sendiri
karena teknik-teknik kriptografi dapat diformulasikan
secara matematik sehingga menjadi sebuah metode
yang formal.

Jadi definisi terbaru untuk kriptografi adalah :


Kriptografi adalah ilmu yang mempelajari teknik-teknik
matematika yang berhubungan dengan aspek
History
3000 tahun SM bangsa Mesir menggunakan hieroglyphcs untuk
menyembunyikan tulisan dari mereka yang tidak diharapkan.
Sekitar 50 SM, Julius Caesar, kaisar Roma, menggunakan cipher
substitusi untuk mengirim pesan ke Marcus Tullius Cicero.
Huruf-huruf apfabet disubstitusi dengan huruf-huruf yang lain pada
alfabet yang sama.
Menggeser 3 posisi alphabet
Pada abad ke-9, filsuf Arab al-Kindi menulis risalat (ditemukan kembali
th 1987) yang diberi judul A Manuscript on Deciphering Cryptographic
Messages.
Pada 1790, Thomas Jefferson mengembangkan alat enkripsi dengan
menggunakan tumpukan yang terdiri dari 26 disk yang dapat diputar
secara individual
Mesin kriptografi mekanik yang disebut Hagelin Machine dibuat pada
tahun 1920 oleh Boris Hagelin di Scockholm, Swedia. Di US, mesin
Hagelin dikenal sebagai M-209.
Militer Jerman menggunakan mesin cipher substitusi polialfabetik
disebut Enigma sebagai sistem pengkodean utama selama PD II.
Awal tahun 70an Feistel menemukan DES, tahun 1977 DES (Data
Encryption Standard) dipakai sebagai standar pemrosesan informasi
federal US untuk mengenkripsi informasi yang unclassified. DES
merupakan mekanisme kriptografi yang paling dikenal sepanjang
sejarah
Istilah-Istilah
Kriptografi merupakan seni dan ilmu menyembunyikan
informasi dari penerima yang tidak berhak.
Kata cryptography berasal dari kata Yunani kryptos
(tersembunyi) dan graphein (menulis).
Cryptanalysis adalah aksi untuk memecahkan mekanisme
kriptografi dengan cara mendapatkan plaintext atau kunci dari
ciphertext yang digunakan untuk mendapatkan informasi
berharga kemudian mengubah atau memalsukan pesan dengan
tujuan untuk menipu penerima yang sesungguhnya,
memecahkan ciphertext.
Cryptology adalah ilmu yang mencakup cryptography dan
cryptanalysis.
Encryption adalah transformasi data kedalam bentuk yang tidak
dapat terbaca dengan sebuah kunci tertentu. Tujuannya adalah
untuk meyakinkan privasi dengan menyembunyikan informasi
dari orang-orang yang tidak ditujukan, bahkan mereka yang
memiliki akses ke data terenkripsi.
Dekripsi merupakan kebalikan dari enkripsi, yaitu transformasi
data terenkripsi kembali ke bentuknya semula.
Plaintext merupakan data/pesan sebelum dilakukan proses
encryption atau data sesudah dilakukan proses decryption
Chypertext merupakan data setelah dilakukan proses
Tujuan
Confidentiality
Hanya bisa diakses orang tertentu
Authentication
Pengirim & penerima orang yang
sebenarnya
Integrity
Terjamin tidak berubah, rusak,
ditambah, dll
Non Repudiation
Tidak terjadi pengingkaran
Access Control
Membatasi akses
Kerahasiaan (Confidentiality)
Layanan yang ditujukan untuk
menjaga agar pesan tidak dapat
dibaca oleh pihak-pihak yang tidak
berhak.
Direalisasikan dengan menyandikan
pesan menjadi cipherteks
Sebutan lain : Secrecy dan privacy
Integritas Data (Data
Integrity)
Layanan yang menjamin bahwa pesan
masih asli/utuh atau belum pernah
dimanipulasi selama pengiriman.
Bentuk manipulasi : penyisipan,
penghapusan, pensubstitusian data
lain pada pesan
Realisasi : tanda tangan digital (digital
signature)
Otentikasi (Authentication)
Layanan yang mengidentifikasi
kebenaran pihak-pihak yang
berkomunikasi (user authentication
atau entity authentication) maupun
mengidentifikasi kebenaran sumber
pesan (data origin authentication).
Biasanya dikombinasikan dengan
Data Integrity
Nirpenyangkalan (Non-
Repudiation)
Layanan untuk mencegah entitas
yang berkomunikasi melakukan
penyangkalan (pengirim menyangkal
melakukan pengiriman atau penerima
menyangkal menerima pesan)
Contoh : A menyuruh B untuk
menyuap hakim, namun kemudian A
menyangkal telah menyuruh B.
Kriptanalisis dan Kriptologi
KRIPTOLOGI (cryptology) adalah studi
Kriptologi
mengenai kriptografi dan
kriptanalisis.

Kriptogra Kriptanali
fi sis
Terminology

encryption decryption
Plaintext/cleartext ciphertext Plaintext

Pesan dalam Pesan dalam


bentuk aslinya bentuk yang sudah diubah

Cryptographers : menemukan kode rahasia


Cryptanalisys : berusaha memecahkan kode
Terminology
Encryption Note:
Key Interceptor Cannot Read
Ciphertext Without the
Decryption Key
Plaintext Encryption Ciphertext 11011101
Hello Method &
Key Interceptor
Network
Decryption
Key

Party A Ciphertext 11011101 Decryption Plaintext


Method & Hello
Key

Party B
Pembagian Cryptography
Berdasarkan kunci yang digunakan
kriptografi dibagi menjadi
1. KRIPTOGRAFI KUNCI-SIMETRI
(symmetric-key cryptography).
Pambagian ini dibagi lagi menjadi
dua, yaitu: Classical dan Modern.
2. KRIPTOGRAFI KUNCI-NIRSIMETRI
(asymmetric-key cryptography).
Classical Cryptography
Substitusi
Caesar cipher adalah cipher substitusi sederhana yang
mencakup pergeseran alfabet 3 posisi ke kanan.
Transposisi (Permutasi)
Melakukan perubahan posisi karaker
Contoh : Teknik Rail Fence, Transposisi kolumnar dan Enigma
Vernam Cipher (One Time Pad)
Cipher ini diimplementasikan melalui sebuah kunci yang
terdiri dari sekumpulan random karakter-karakter yang tidak
berulang.
Book Key Cipher / Running Key Cipher
Cipher ini menggunakan teks dari sebuah sumber (misalnya
buku) untuk mengenkripsi plaintext.
Codes
Codes berkaitan dengan kata-kata dan frase dan
menghubungkan kata-kata ini sebagai frase untuk sekelompok
angka atau huruf. Sebagai contoh, angka 526 dapat berarti
Attack at dawn
Steganography
Sebuah contohnya adalah microdot, yang mengkompresi
pesan kedalam ukuran period atau dot.
Steganography dapat digunakan untuk membuat watermark
Semua algoritma kriptografi klasik
termasuk ke dalam kriptografi kunci-
simetri.
Hanya puluhan algoritma kriptografi
modern yang termasuk ke dalam
kriptografi kunci-simetri, seperti DES,
Blowfish, Twofish, Triple-DES, IDEA,
Serpent dan AES.
Kriptografi Kunci-Simetri
Pada kriptografi kunci-simetri, kunci untuk
enkripsi sama dengan kunci untuk dekripsi.
Istilah lain : KRIPTOGRAFI KUNCI PRIVAT
(private-key cryptography), KRIPTOGRAFI
KUNCI RAHASIA (secret-key cryptography)
atau KRIPTOGRAFI KONVENSIONAL
(conventional cryptography).
Kriptografi kunci simetri mengasumsikan
pengirim dan penerima pesan sudah
berbagi kunci yang sama.
Sehingga keamanan kriptografi kunci
simetri terletak pada kerahasiaan
Kriptografi Kunci-Nirsimetri
Jika kunci untuk enkripsi tidak sama dengan kunci
untuk dekripsi, maka dinamakan kriptografi kunci-
nirsimetri.
Nama lainnya adalah KRIPTOGRAFI KUNCI-PUBLIK
(public-key cryptography).
Maksudnya adalah kunci untuk enkripsi tidak rahasia
dan dapat diketahui oleh siapapun, sedangkan kunci
untuk dekripsi hanya diketahui oleh penerima pesan.
Karena itu setiap orang yang menggunakan
algoritma ini mempunyai sepasang kunci, yaitu kunci
privat dan kunci publik.
Kriptografi kunci-publik dapat dianalogikan seperti
kotak surat. Setiap orang dapat memasukkan surat
ke kotak surat tersebut, tetapi hanya pemilik yang
dapat membuka dan membaca surat-surat
Cipher dan kunci
Jika keamanan kriptografi ditentukan
dengan menjaga kerahasiaan algoritma
kriptografinya disebut algoritma restricted.
Algoritma restricted biasa digunakan
bertukar pesan antar anggota kelompok.
Tapi setiap ada anggota kelompok yang
keluar, algoritma harus diganti.
Kriptografi modern mengatasi
permasalahan sebelumnya dengan
menggunakan KUNCI. Dengan
menggunakan kunci, algoritma tidak lagi
dirahasiakan tetapi kunci lah yang harus
dijaga rahasianya.
Cipher dan kunci
Algoritma kriptografi disebut juga CIPHER adalah
aturan untuk melakukan enciphering dan
deciphering.
Atau rumus matematika yang digunakan untuk
enkripsi dan dekripsi.
Misal P menyatakan plainteks, C menyatakan
cipherteks, maka fungsi enkripsi E memetakan P
ke C.
E(P) = C
Dan fungsi dekripsi D memetakan C ke P.
D(C)=P
Dengan kunci, fungsi ekripsi menjadi :
EK(P) = C
Dan fungsi dekripsi menjadi :
DK(C) = P
Secara umum, cipher yang termasuk ke
dalam kriptografi simetri beroperasi dalam
MODE BLOK (block cipher), yaitu setiap kali
enkripsi/dekripsi dilakukan terhadap satu
blok data yang berukuran tertentu. Atau
beroperasi dalam MODE ALIRAN (stream
cipher), yaitu setiap kali enkripsi/dekripsi
dilakukan terhadap satu bit atau satu byte
data.
Main type of Symmetric
Cryptography
The two main types of symmetric
algorithms
block ciphers: work on blocks of bits
Block cipher encryption steps:
1.The message is divided into blocks of bits
2.These blocks are then put through mathematical
functions, one block at a time.
stream ciphers: work on one bit at a time
A stream cipher treats the message as a stream
of bits and performs mathematical functions on
each bit individually.
Example of Symmetric Systems

Block Cipher
Data Encryption Standard (DES)
3DES
AES
IDEA
Blowfish
Stream Cheaper
RC3, RC4, RC5
Tagima
Modern Block Cipher
Asymmetric Cryptography
In public key systems, each entity has a
pair of different keys, or asymmetric keys.
The two different asymmetric keys are
mathematically related.
The public key can be known to everyone
The private key must be known and used only by
the owner.
It must be computationally infeasible to
derive the private key from the public key.
Asymmetric Cryptography

Some common asymmetric


algorithms
Diffie-Hellman
RSA
Elliptic Curve Cryptosystem (ECC)
El Gamal
Digital Signature Algorithm (DSA)
Knapsack
Konsep Asymmetric
Konsep Asymmetric

Example:
Precondition: Alice and Bob agree to use a prime number
p=23
and base g=5.
1. Alice chooses a secret integer a=6, then sends Bob g^a
mod p = 5^6 mod 23 = 8.
2. Bob chooses a secret integer b=15, then sends Alice g^b
mod p = 5^15 mod 23 = 19.
3. Alice computes (g^b mod p)^a mod p=19^6 mod 23 = 2.
4. Bob computes (g^a mod p)^b mod p=8^15 mod 23 = 2.
Aplikasi Cryptography

Secure Socket Layer


HTTPS
SSH
PGP (Pretty Good Privacy) for email
IP Sec
VPN
System cryptography melibatkan dua hal :
algoritma dan sebuah kunci
Pengetahuan tentang suatu algoritma cryptography saja
tanpa pengetahuan akan kunci yang digunakan, tidak
dapat digunakan untuk men-dekripsi
Contoh : Misalnya angka 42 (data anda) sangatlah
penting bagi anda sehingga anda ingin
melindunginya agar tidak dapat dilihat orang lain.
Kemudian anda membuat algoritma cryptography
berikut untuk meng-enkripsi data anda :

data/kunci_crypto+(2 x kunci_crypto)

Your crypto algorithm


Kesulitan Computational
Algoritma cryptography harus memungkinkan
cryptographers (seseorang yang memiliki kunci)
dapat melakukan perhitungan secara efisien
Algoritma cryptography bisa saja dipecahkan
tanpa adanya kunci
Cryptanalysts dapat mencoba berbagai kemungkinan
kunci
Keamanan skema cryptography tergantung
pada seberapa susah seorang cryptanalysts
dapat memecahkannya
Skema cryptography dapat dibuat lebih aman
menggunakan
Kunci yang lebih panjang
Menggunakan kunci yang panjangnya bervariasi
Kode Rahasia
Kode rahasia = secret code =cipher = metoda
yang digunakan untuk meng-enkripsi data
Caesar Cipher
Mengganti setiap abjad dengan 3 abjad berikutnya
(wrap wround to A from Z)
Plaintext : ABCDEFGHIJKLMNOPQRSTUVWXYZ
Ciphertext: DEFGHIJKLMNOPQRSTUVWXYZABC
DOZEN becomes GRCHQ
Captain Midnight Secret Decoder rings
Pilih secara acak bilangan rahasia (n) antara 1 dan
25
Ganti setiap abjad dengan abjad yang posisinya n
kali lebih tinggi (wrap wround to A from Z)
Contoh : Jika n=1, maka abjad A menjadi B dst.
Karena hanya ada n kemungkinan, kode ini dapat
dengan mudah dipecahkan
Tipe serangan untuk
memecahkan skema enkripsi
Ciphertext Only
Cryptanalysts memiliki ciphertext yang dapat
dianalisanya
Pola-pola yang ada di dalam ciphertext bisa dianalisa
(frekuensi kemunculan huruf dsb.)
Analisa dilakukan terus sampai diperoleh recognizabel
plaintext
Cryptanalysts harus memiliki sejumlah ciphertext
Known Plaintext
Cryptanalysts memiliki plaintext sekaligus ciphertext-nya
Chosen Plaintext
Cryptanalysts dapat membuat sistem melakukan enkripsi
terhadap plaintext yang dimilikinya
Brute Force Attack
Mencari kemungkinan kunci yang dapat
memecahkan kode
Cryptanalysts mungkin tidak perlu mencari seluruh
kemungkinan kunci
Rata-rata diperlukan percobaan setengah dari
kemungkinan kunci yang ada

Waktu yang diperlukan untuk melakukan pencarian kunci

36
Macam-macam fungsi
Cryptography
Hash function
Tanpa melibatkan penggunaan kunci
Secret key function
Hanya melibatkan penggunaan satu
kunci
Public key function
Melibatkan penggunaan dua kunci
Secret Key Cryptography
Melibatkan penggunaan satu kunci

encryption
Plaintext ciphertext

key

Ciphertext Plaintext
decryption

Disebut pula : conventional/symmetric


cryptography
Contoh : monoalphabetic cipher dan Captain
Midnight Code
Penggunaan Secret Key
Cryptography
1. Melakukan pengiriman informasi pada kanal
yang tidak aman
2. Melakukan penyimpanan informasi secara aman
pada media yang tidak aman
3. Authentication
Strong authentication : someone can prove knowledge
of a secret without revealling it
Misalkan Alice dan Bob menggunakan kunci yang
sama yaitu KAB. Mereka ingin memverifikasi bahwa
merekalah yang sedang berkomunikasi. Masing-
masing memilih suatu angka acak yang disebut
challenge. Alice memilih rA, dan Bob memilih rB. Suatu
nilai x yang di-enkripsi menggunakan KAB disebut
response terhadap challenge x.
Penggunaan Secret Key
Cryptography (2)
Alice Bob
rA

rA encrypted with KAB


rB

rB encrypted with KAB

Ada kemungkinan pihak ketiga (Fred) dapat memperoleh


pasangan <chosen plaintext, ciphertext> sehingga dapat
mengklaim diri sebagai Bob dan meminta Alice meng-enkripsi
sebuah challenge bagi Fred
Penting untuk memilih challenge dari sekumpulan
kemungkinan angka yang sangat banyak, misalnya
sebanyak 264 angka, sehingga peluang untuk menggunakan
challenge yang sama sebanyak dua kali akan sangat kecil
Penggunaan Secret Key
Cryptography (3)
4. Integrity Check
Skema secret key dapat digunakan untuk
membangkitkan suatu fixed-length cryptographic
checksum bagi sebuah message
Checksum yang biasa (tanpa cryptography dan
dipublikasikan (misalnya CRC)) dapat dibangkitkan
setelah message diubah
Untuk mencegah hal tsb di atas, diperlukan suatu
algoritma checksum rahasia sedemikian hingga
penyerang yang tidak mengetahui algoritmanya
tidak dapat menghitung checksum yang tepat agar
suatu message dianggap otentik
Bila diketahui suatu kunci dan suatu message,
algoritma rahasia ini akan membangkitkan suatu fixed-
length message authentication code (MAC) yang dapat
dikirimkan bersama message
MAC sering disebut pula MIC (Message Integrity
Code)
Jika ada seseorang yang ingin merubah message,
Public Key Cryptography
Disebut pula asymmetric cryptography
Tidak ada kunci yang digunakan secara bersama
Setiap individual memiliki dua kunci:
Suatu private key yang tidak boleh diberitahukan ke
pihak lain
Suatu public key yang dapat diketahui oleh siapapun
Dalam literatur utama digunakan notasi berikut
e menyatakan public key dan digunakan ketika meng-
enkripsi message
d menyatakan private key yang digunakan ketika men-
dekripsi message
Public Key Cryptography

encryption
Plaintext ciphertext

Public key

Private key

Ciphertext Plaintext
decryption
Public Key Cryptography
Pada teknologi public key dapat ditambahkan
digital signature pada suatu message
Digital signature adalah suatu bilangan yang
diasosiasikan dengan suatu message
Perbedaan dengan MAC : MAC dapat dibangkitkan
siapapun sedangkan digital signature hanya dapat
dibangkitkan oleh seseorang yang mengetahui private
key.
Alice dapat menandatangani sebuah message dengan
tandatangan yang hanya dapat dibangkitkannya
Pihak lain dapat memverifikasi tandatangan Alice
menggunakan public key tetapi tidak dapat
menirukannya
Public Key Cryptography
Public key cryptography dapat melakukan fungsi yang
dilakukan oleh secret key cryptography tetapi lebih lambat
Untuk menanggulangi kelambatan ini, biasanya digunakan
kombinasi public key dan secret key
Pada tahap awal komunikasi untuk melakukan
authentication, digunakan public key cryptography
untuk membentuk suatu secret key sementara
Secret key ini kemudian digunakan untuk meng-enkripsi
message yang dipertukarkan pada tahapan komunikasi
berikutnya
Misalkan Alice ingin berbicara dengan Bob. Alice
menggunakan public key Bob untuk meng-enkripsi sebuah
secret key, yang pada gilirannya digunakan untuk meng-
enkripsi message selanjutnya yang ingin dikirimkan Alice ke
Bob. Hanya Bob yang dapat men-dekripsi secret key yang
dikirimkan Alice. Bob kemudian dapat menggunakan secret
key ini untuk berkomunikasi dengan siapapun yang mengirim
message tersebut
Pada protokol ini Bob tidak dapat mengetahui bahwa yang
mengirimkan message adalah Alice
Penggunaan Public Key
Cryptography (2)
1. Mengirimkan informasi pada kanal yang
tidak aman
Misalkan Alice memiliki pasangan <public
key,private key> yaitu <eA,dA>
Misalkan Bob memiliki pasangan <public
key,private key> yaitu <eB,dB>
Diasumsikan Alice mengetahui public key Bob dan
Bob mengetahui public key Alice
Alice Bob
Encrypt mA using eB Decrypt to mA using dB
Decrypt to mB using dA Encrypt mB using eA
Penggunaan Public Key
Cryptography (2)
2. Melakukan penyimpanan informasi secara aman
pada media yang tidak aman
Kita dapat meng-enkripsi informasi
menggunakan public key
Hanya kita yang dapat mendekripsinya
(menggunakan private key kita)
Data bisa tidak secara langsung di-enkripsi
menggunakan public key
Bangkitkan dulu suatu secret key, lalu gunakan untuk
meng-enkripsi data kemudian secret key di-enkripsi
menggunakan public key
Kelebihan dibandingkan secret key : Alice
dapat meng-enkripsi-kan suatu message untuk
Bob tanpa perlu tahu secret key dari Bob
Penggunaan Public Key
Cryptography (3)
3. Authentication
Bila Alice dan Bob ingin berkomunikasi
menggunakan secret key cryptography, mereka
harus menggunakan secara bersama suatu kunci
rahasia
Bila Bob ingin membuktikan identitasnya kepada banyak
pihak, maka dia harus mengingat seluruh secret key yang
akan digunakan
Penggunaan public key cryptography lebih
menguntungkan
Bob hanya perlu mengingat satu rahasia yaitu private
key-nya
Bila ingin berkomunikasi dengan banyak pihak, Bob masih
perlu mendapatkan cara untuk memperoleh public key
pihak-pihak tersebut
Penggunaan Public Key
Cryptography (4)
Contoh ketika Alice menggunakan public key
cryptography untuk mem-verifikasi identitas
Bob (diasumsikan Alice mengetahui public key
dari Bob)
Alice memilih suatu nomor acak r, lalu meng-
enkripsinya menggunakan public key Bob eB, lalu
mengirimkan hasilnya ke Bob. Bob membuktikan
bahwa dia tahu dB dengan cara mendekripsi
message lalu mengirimkan kembali r ke Alice
Kelebihan : Alice tidak perlu menyimpan
Bob
Alice
rahasia apapun untuk mem-verifikasi Bob
Encrypt r using eB Decrypt to r using dB
r
Penggunaan Public Key
Cryptography (5)
4. Digital Signature
Tandatangan Bob untuk suatu messsage m hanya
dapat dibangkitkan oleh Bob menggunakan private
key (atau oleh seseorang yang mengetahui private
key dari Bob)
Tandatangan yang dibubuhkan tergantung dari m
Jika m berubah, maka tandatangan menjadi tidak
sesuai lagi
Digital signature menyediakan dua fungsi berikut :
Membuktikan pihak yang membangkitkan informasi
Membuktikan bahwa message tidak diubah siapapun
sejak message dan tandatangannya yang sesuai
dibangktikan
Hash Algorithm
Disebut pula message digests atau one-
way transformation
Cryptographic hash function : suatu
transformasi matematis yang menghitung
suatu nomor tertentu yang panjangnya
tetap (dan pendek) dari suatu message
yang panjangnya sembarang (setelah
ditransformasikan ke dalam deretan bit)
Hash of a message m : h(m)
Hash Algorithm (2)
h(m) memiliki sifat-sifat sbb :
Untuk setiap message m, relatif
mudah untuk menghitung h(m)
Bila diketahui h(m), tidak ada cara
yang mudah untuk menemukan m
Meskipun ada kemungkinan bahwa
beberapa harga m akan
ditransformasikan ke h(m) yang
sama, tetapi tidak mungkin
menemukan dua nilai yang di-hash ke
nilai yang sama
Hash Algorithm (3)
Password Hashing
Ketika user mengetikan password, sistem harus
mampu menentukan apakah user memasukkannya
dengan benar
Jika sistem menyimpan password secara tidak
ter-enskripsi, maka siapapun yang memiliki
akses ke tempat penyimpanan yang ada dalam
sistem atau yang berada di back-up tape, dapat
mencurinya
Untungnya, sistem tidak perlu mengetahui
password-nya untuk melakukan verifikasi
password
Sistem menyimpan password yang sudah di-
hash (hash of the password)
Ketika user memasukkan password, sistem
menghitung hash dari password tersebut lalu
Hash Algorithm (4)
Password Hashing (2)
Jika hashed password ada yang mencuri, tidak serta
merta dapat dimanfaatkan untuk mengetahui password
karena password tidak dapat diturunkan dari hash
Dalam sejarahnya, file hashed password dapat
dibaca oleh siapapun
Jika ada user yang memilih password secara
ceroboh (menggunakan kata yang ada dalam
kamus misalnya), maka ada kemungkinan
password dapat di-crack.
Dengan alasan ini, hashed password
disembunyikan
Hash Algorithm (5)
Message Integrity
Cryptography hash function dapat digunakan untuk
membangkitkan MAC untuk melindungi integritas pesan
yang dikirimkan melalui media yang tidak aman seperti
halnya pada secret key cryptography
Tidak aman bila mengirimkan message menggunakan
MAC yang merupakan hash dari message tersebut
Pihak lain dapat mengubah message lalu
membangkitkan hash yang lain
Solusi : Alice dan Bob sepakat untuk menggunakan
sebuah rahasia (secret)
Alice menggabungkan message dengan secret lalu
menghitung hash dari message|secret tersebut (ini
disebut keyed hash)
Alice lalu mengirimkan hash tersebut bersama
dengan message (tanpa secret)
Bob menggabungkan secret ke message yang
diterimanya, lalu menghitung hash-nya. Jika hasil
Hash Algorithm (6)

Alice Bob
secret
message hash =?
hash

secret
Hash Algorithm (7)
Message Fingerprint
Untuk mengetahui apakah suatu message yang panjang
(mis. Program) telah dirubah, dapat digunakan hash dari
program tersebut
Storage saving
Downline Load Security
Downline load : mengambil program dari jaringan lalu
menjalankannya
Untuk meyakinkan bahwa program yang diambil secara
downline load belum berubah (disengaja maupun tidak),
kita hitung hash-nya lalu dibandingkan dengan hash
program yang asli
Digital Signature Efficiency
Hash dari message dihitung lalu ditandatangani (bukan
message yang langsung ditandatangani)
Tidak terlalu membebani prosesor dan hash jauh lebih
pendek daripada message
Hash Algorithm (8)
Ada beberapa fungsi hash satu-arah yang sudah
dibuat orang,
antara lain:
- MD2, MD4, MD5,
- Secure Hash Function (SHA),
- Snefru,
- N-hash,
- RIPE-MD, dan lain-lain
(Catatan: MD adalah singkatan dari Message Digest).

Fungsi hash yang banyak dipakai di dalam aplikasi


kriptografi adalah MD5 dan SHA.
Hash Algorithm (9) MD5
Algoritma hash MD5 menerima input berupa data dengan panjang bebas, dan
menghasilkan output heksadesimal sepanjang 32 karakter. Jadi, seberapapun
panjang data input, output yang dihasilkan akan selalu sepanjang 32 karakter.
Perubahan sedikit saja di input akan mengubah output dengan drastis. Sebagai
contoh:
Input: Test
Output: 0cbc6611f5540bd0809a388dc95a615b
Misalkan kita ubah input dengan huruf kecil:
Input: test
Output: 098f6bcd4621d373cade4e832627b4f6
Terlihat bahwa perubahan input sedikit saja akan mengubah
output secara keseluruhan. Karena sifat ini, algoritma ini sering
dimanfaatkan untuk mengecek integritas atau keutuhan suatu
data. Mungkin saat kita hendak men-download file-file besar
sering juga disertai MD5 checksum dari file itu. Ya, dengan
mengecek MD5 hash dari file yang kita download, kita dapat
mengetahui apakah file yang kita peroleh sempurna atau
rusak, karena kerusakan paling kecil saja akan mengubah MD5
Secret Key
Cryptography
Generic Block Encryption
Meng-enkripsi satu blok data
Dalam algoritma cryptographic yang merubah blok
plaintext ke blok yang ter-enkripsi perlu diperhatikan
panjang kunci dan panjang blok plaintext (plaintext
block)
Kunci yang terlalu pendek dapat menyebabkan ciphertext
mudah dipecahkan (seluruh kemungkinan kunci dapat
ditemukan dengan mudah)
Panjang blok (block length)
Bila terlalu pendek (misalnya 1 oktet (monoalphabetic cipher)),
maka bila kita memiliki beberapa pasangan
<plaintext,ciphertext>, kita dapat membentuk tabel untuk
melakukan dekripsi
Bila terlalu panjang : rumit dan mempengaruhi kinerja skema
cryptography
Reasonable length : 64 bit
Generic Block Encryption (2)
The most general way to encrypt 64-bit
block : Mapping 264 input values to a
unique one of 264 output values
The mapping is has to be one-to-one,
untuk memungkinkan dekripsi
64 bit 64 bit
..
..
. .
. .
Ada 264 ..
kemungkinan .. :
Mapping one-to-one
:
nilai input : : ..
. .
..
Generic Block Encryption (3)
Ada 264 kemungkinan input, masing-masing
dipetakan ke salah satu output (yang panjangnya)
64 bit
Untuk menyatakan pemetaan ini diperlukan 270
bit (264 x 64 = 264 x 26)
Pemetaan harus terlihat betul-betul random (acak)
bagi seseorang yang tidak memiliki kunci
Random : setiap perubahan pada satu bit input
akan menyebabkan perubahan output secara
acak
Setiap output harus tidak memiliki korelasi dengan
output lainnya
Jumlah bit yang sama harus kira-kira setengahnya
Jumlah bit yang berbeda harus kira-kira
setengahnya
Generic Block Encryption (4)
Ada dua macam transformasi terhadap sebuah blok
data
Substitution
Untuk masing-masing dari 2k input, akan terdapat
satu output k-bit
Untuk menyatakan pemilihan substitusi yang
betul-betul acak bagi blok data yang panjangnya
k-bit, diperlukan k.2k bit.
Permutation
Untuk setiap bit pada input yang jumlahnya k-bit,
ditentukan posisi bit tersebut di ouput
Misalnya bit pertama di input menjadi bit ke-13
di output, bit kedua bisa menjadi bit ke 61 di
output dsb.
Untuk menyatakan pemilihan permutasi yang
betul-betul acak dari sekumpulan k bit,
Generic Block Encryption (5)
Contoh
Divide input
64-bit input into eight
8-bit pieces

8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits


Loop for n rounds

Eight 8-bit
substitution
S1 S2 S3 S4 S5 S6 S7 S8 function
derived from
the key
8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits

64-bit intermediate Permute


the bits,
Rounds dilakukan
agar perubahan pada possibly
1 bit input berpengaruh based on
terhadap seluruh bit output the key
65 64-bit output
Generic Block Encryption (6)
Sifat penting lain dari mekanisme
enkripsi adalah dengan adanya
kunci, prosesnya harus dapat dibalik
secara efisien
Data Encryption Standard
(DES)
Dipublikasikan pada tahun 1977 oleh
National Bureau of Standards
(renamed National Institute of
Standards and Technology (NIST))
Untuk aplikasi komersial dan aplikasi
unclassified pemerintah Amerika
Berbasis Lucifer cipher dari IBM dan
masukan dari NSA
DES (2)
Menggunakan kunci 56 bit
Sebenarnya terdiri dari 64 bit, tetapi pada
setiap oktet ada 1 bit yang digunakan untuk
pariti ganjil, sehingga hanya ada 7 bit dari
setiap oktet yang berguna sebagai kunci
Memetakan blok input 64 bit ke blok
output 64 bit
Efisien untuk diimplementasikan secara
hardware tetapi relatif lambat bila
diterapkan secara software
64 bit input 54- bit key

Initial Permutation
Generate 16
per-round keys

48-bit K1
Round 1
decryption
48-bit K16

48-bit K2
Round 2
decryption
Decryption

48-bit K15
: :
: :

48-bit K16
Round 16
decryption
48-bit K1
Swap left and right halves

Final permutation (inverse of initial permutation)

64 bit output
Triple DES (3DES)
IDEA
International Data Encryption
Algorithm
Serupa dengan DES: 64-bit blocks
Menggunakan kunci 128-bit yang
merupakan kekuatannya (belum
memiliki kelemahan yang
teridentifikasi)
Public Key Algorithms
RSA
(Rivest,Shamir,Adleman)
Yang paling populer digunakan
Diantaranya untuk TLS (Transport Layer Security)
dan IPSec (IP Security)
Mendukung public key encryption maupun
digital signature
Panjang kunci bervariasi (biasanya 512 bits)
Ukuran blok plaintext bervariasi
Ukuran plaintext harus lebih kecil daripada ukuran
kunci
Ukuran blok ciphertext sama dengan panjang kunci
More information on RSA:
www.rsasecurity.com/rsalabs/pkcs/pkcs-
1/index.html
Diffie-Hellman Key
Exchange
Shared key, public communication
No authentication of partners
More on Diffie-Hellman can be found
at
www.rsasecurity.com/rsalabs/faq/3-6-
1.html
Key Distribution and
Management
Secret key distribution
Public key distribution
Secret key distribution using public
key encryption
Secret Key Distribution
A and B can establish a secret key by:
Manual delivery.
Selection and delivery by a trusted third party.
Using a previous key to encrypt the new key.
Using encrypted links to a third party to relay.
Problem:
Need to scale up: need for each pair of
hosts/applications ...
Key Distribution Center
(KDC)
Responsible for distributing keys to
pairs of users (hosts, processes,
applications)
Each user must share a unique
key, the master key, with the KDC
Use the master key to communicate
with KDC to get a temporary session
key for establishing a secure
session with another user
Master keys are distributed in some
non-cryptographic ways
KDC

FEP

2
3

1
FE FE
Host P 4 P Host

Network

1. Host sends packet requesting connection


2. Front end buffers packet: asks KDC for session
key
3. KDC distributes session key to both front ends
4. Buffered packet transmitted
. FEP =Front-end processor
. KDC =key distribution center
Details
Step 1 When one host wishes to set up a
connection to another host, it transmit a
connection sequent packet.
Step 2 The FEP saves that packet and applies
to the KDC for permission to establish the
connection. The communications between the
FEP and the KDC is encrypted using a master
key shared only by the FEP and the KDC.
Step 3 If the KDC approves the connection
sequent, it generates the session key and
delivers it to the two appropriate FEPs, using a
unique permanent key for each FEP.
Step 4 The requesting FEP can now release the
connection sequent packet, and a connection is
set up between the two and systems. All used
data exchanged between the two end systems
Public Key Infrastructure

Infrastruktur yang
diperlukan untuk
meng-otentifikasi
digital certificates
dan CAs
PKI merupakan
suatu jaringan
hirarkis CA
Suatu "root
certificate" meng-
otorisasi
subordinate CAs
Komponen PKI
Certification authority (CA)
Registration authority (RA)
PKI clients
Digital certificates
Certificate Distribution System or
repository
CA
Certification authority yang mengotentikasi
identitas entitas yang terlibat dalam
komunikasi
Untuk mengotentikasi identitas, CA
mengeluarkan digital certificates
Merupakan dokumen yang
ditandatangani private key CA
Mengandung informasi sperti nama
pelanggan, public key pelanggan, suatu
serial number, dan informasi lain
Sertifikat ini mengkonfirmasi bahwa suatu
public key merupakan milik suatu entitas
tertentu
CA (2)
Beberapa tipe CA:
Internal CA
Internal CA memberikan sertifikat pegawai suatu organisasi akan
posisi mereka dan tingkat otoritasnya (level of authority)
Sertifikat ini memungkinkan organisasi mendefinisikan
pengendalian akses terhadap internal resources atau aliran
informasi
Misalnya, untuk setiap pegawai, CA membuat sebuah kunci dan
mengeluarkan sertifikat yang berhubungan langsung dengan
sistem komputer yang dapat diakses oleh pegawai yang
bersangkutan
Komputer kemudian dapat memutuskan apakah pegawai boleh
mengakses komputer berdasarkan sertfikasi kunci
Outsourced Employee CA
Suatu organisasi dapat menandatangani perjanjian dengan
perusahaan luar untuk menyediakan sertifikat bagi pegawainya
Outsourced Customer CA
Suatu organisasi dapat menandatangani perjanjian dengan
perusahaan luar yang menyewa CA untuk menangani customer
lama maupun baru dari suatu organisasi
Trusted Third-Party CA
Suatu organisasi terpercaya atau pemerintah dapat menjadi CA
yang menghbungkan public keys dengan nama-nama legal suatu
individu / perusahaan
Untuk menggunakan sertifikat yang dikeluarkan oleh CA, kita harus
Certification Authority

Beberapa contoh CA:


Registration Authority (RA)
RA adalah otoritas perantara yang
mengkoordinasikan interaksi antara clients
dengan CA
Fungsi RA adalah untuk mengurangi beban CA
atas permintaan sertifikasi
Jika CA merasa tidak dapat menangani beban
penerimaan dan validasi request sertifikat maka CA akan
mengontak RA
Beberapa fungsi yang dijalankan RA performs:
Menerima dan memvalidasi requests dari organisasi
Mem-forward request ke CA
Menerima sertifikat yang sudah diproses dari CA
Mengirimkan sertifikat ke organisasi yang memintanya
PKI clients
Entitas atau organisasi yang mengeluarkan
permintaan akan sertifikat digital
Suatu client PKI harus melakukan beberapa
langkah berikut untuk memperoleh sertifikat
digital dari CA:
Mengirimkan request untuk membangkitkan
pasangan public dan private key pair
Client atau CA dapat membangkitkan
pasangan kunci ini (mengandung informasi
client)
Setelah pasangan kunci dibangkitkan, suatu
request dikirimkan ke CA untuk meminta
sertifikat digital. Request ini pada umumnya
dirutekan melalui RA
Setelah menerima sertifikat digital, client PKI
akan menggunakannya untuk mengotentikasi
dirinya sendiri untuk berinteraksi di Internet.
Digital certificates
Memiliki tujuan sbb:
Membentuk integritas dari public key
Menghubungkan public key dengan informasi pemiliknya secara aman
Digital certificates menjamin bahwa public key untuk suatu certificate,
yang diotentikasi oleh CA, akan bekerja secara baik dengan private key
yang dimiliki PKI client
Sebuah digital certificate mengandung elemen berikut:
Serial number
Digital signature of the CA
Public key of the user to whom the certificate has been issued
Date of expiration
Name of the CA that issued the certificate
Setelah menerima digital certificate, suatu organisasi atau individual
melakukan langkah berikut untuk menggunakan sertifikat tersebut:
Pengirim digitally signed message menggunakan private key untuk
menjamin integritas dan keotentikan message.
Setelah menerima message, penerima receiver memverifikasi digital
signature menggunakan public key pengirim
Penerima mencek validitas digital certificate pengirim menggunakan
global directory database, yang akan mengembalikan status sertifikasi
penerima
Transaksi dianggap komplit jika sertifikat valid
Setelah dikeluarkan, sertifikat harus didistribusikan ke users atau
Certification Distribution System
(CDS) Repository
Certification Distribution System Repository
menditribusikan sertifikat ke users maupun
organisasi
Sertifikat dapat didistribusikan menggunakan dua
mekanisme berikut:
Didistribusikan oleh user sendiri
Didistribusikan oleh suatu directory server yang
menggunakan LDAP untuk mengambil informasi yang
disimpan di dalam suatu X.500 compliant database
CDS melakukan tiga tugas berikut:
Membangkitkan dan mengeluarkan pasangan kunci
Memvalidasi public keys dengan cara
menandatanganinya
Me-revokes key yang hilang atau kadaluarsa
Mempublikasikan public keys di dalam directory service
server
Thank You

Anda mungkin juga menyukai