KD - Kriptografi
KD - Kriptografi
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.
Kriptogra Kriptanali
fi sis
Terminology
encryption decryption
Plaintext/cleartext ciphertext Plaintext
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
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
data/kunci_crypto+(2 x kunci_crypto)
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
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).
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
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
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
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