Judul :
Public Key Infrastructure (PKI)
Mata kuliah : Topik
Khusus Keamanan Jaringan
Maksud :
Modul ini membahas tentang konsep dasar PKI , algoritma yang digunakan
serta penerapan PKI
Tujuan :
ü Memahami konsep dasar Public Key Infrastructure (PKI)
ü Menjelaskan macam macam Algoritma yang digunakan dalam
Public Key Infrastructure (PKI)
ü Mengetahui pemakaian Public Key Infrastructure (PKI)
I.
KONSEP DASAR Public Key Infrastructure (PKI)
1.1. Pengertian Public Key Infrastructure (PKI)
PKI (Public Key Infrastructure) adalah
arsitektur keamanan yang digunakan untuk menangani ancaman-ancaman keamanan
yang semakin hari meningkat. Dengan menggunakan public key cryptography,
keamanan data akan menjadi lebih tinggi. Jika sebuah public key digunakan untuk
meng-enkripsi data maka public key yang sama juga diperlukan untuk
meng-dekrispsi data-data tersebut.
Tujuan PKI
adalah untuk menyediakan kerahasiaan, integritas, kontrol akses, otentikasi,
dan yang paling penting, non-penolakan.
PKI telah
diimplementasikan dengan berbagai aplikasi seperti S/MIME, HTTPS, VPN, dll.
Anda dapat melihat fitur S/MIME pada software email yang terkenal seperti
Outlook Express, Mozilla Mail/Thunderbird, dan Evolution.
1.2.
KOMPONEN – KOMPONEN PKI
Subscriber
Seorang subscriber harus bisa menjaga private key-nya
baik-baik, jangan sampai tercuri oleh orang lain.
Untuk keamanan dari kunci privat subcriber, biasanya
kunci itu disimpan dalam PSE (Personal Security Environment) yang baik seperti
dalam smartcard. Namun, karena faktor biaya, kadang kala kunci privat itu cukup
dienkripsi (menggunakan PKCS #5) dalam sebuah file sehingga bisa diletakkan di
hard disk, disket atau CD-ROM.
Certification
Authority
Certification Authority (CA) ada sebuah lembaga yang
bertugas untuk mensertifikasi jati diri subscriber / subject agar subscriber
itu bisa dikenali di dunia digital, dengan menerbitkan sertifikat digital untuk
tiap subscribernya.
Tentunya, CA harus merupakan entitas yang independen
dan terpercaya (trusted third party).
Registration
Authority
Registration authority (RA) bertanggung jawab untuk
melakukan proses identifikasi dan otentikasi terhadap subscriber dari
sertifikat digital, tetapi tidak menandatangani sertifikat itu. Dalam kehidupan
sehari-hari, banyak sekali dokumen yang diperiksa namun ditandatangani oleh
orang yang berbeda.
Adanya sebuah RA dalam PKI memang sifatnya optional
(tidak harus ada), karena memang RA hanya menjalankan beberapa tugas yang
didelegasikan oleh CA jika CA tidak sanggup melakukannya. Artinya, bisa saja
dalam suatu skenario tertentu, seluruh tugas RA berada dalam
Certificate Revocation List (CRL)
Ada kalanya
sertifikat tersebut harus dibatalkan keabsahannya / dicabut meskipun belum
kadaluarsa. Hal ini dapat terjadi kalau sang subscriber:
·
tidak menjalankan
kewajibannya sehingga sertifikatnya terpaksa dicabut
·
mengganti namanya, atau
ganti address e-mail, misalnya.
·
kehilangan kunci privat
pasangannya
·
kunci privatnya berhasil
dihack oleh orang lain
Online Certificate Status Protocol (OCSP)
Karena
permasalahan data yang ada di CRL tidak real-time,
maka mungkin untuk jenis aplikasi tertentu yang membutuhkan masalah besar.
Misalnya, untuk transaksi fund-transfer bernilai
tinggi, mungkin membutuhkan pengecekan validitas sertifikat secara real-time.
Dengan adanya
Online Certificate Status Protocol (dispesifikasikan dalam RFC 2560), maka
aplikasi-aplikasi yang menggunakan PKI, dapat menentukan status keberlakuan
dari sebuah sertifikat digital, apakah masih berlaku atau sudah dibatalkan.
Untuk melakukan pengecekan status sertifikat, sebuah client OCSP mengirimkan status request kepada OCSP responder.
Client tidak akan mengakui keberadaan sertifikat yang bersangkutan, sebelum mendapatkan
jawaban dari OCSP responder.
Key Backup & Recovery
Ada beberapa hal
yang bisa ‘memaksa’ kunci privat juga dibackup oleh pihak ketiga yang dipercaya
(trusted third party/TTP), misalnya:
·
kunci privatnya yang
ada dalam hard disk, secara tidak sengaja terhapus
·
smartcard yang
dipergunakannya hilang atau rusak
·
ada pegawai kantor yang
mengenkripsi data-data penting perusahaan menggunakan
kunci publiknya, sehingga saat pegawai kantor itu berhenti bekerja,
perusahaan tidak bisa membuka data-data penting tersebut.
Key Update / Certificate Renewal
Saat mendekati
masa kadaluarsa, sertifikat baru harus diterbitkan oleh CA untuk
menggantikannya. Proses inilah yang disebut dengan key update atau pembaharuan sertifikat. Biasanya saat sertifikat
berumur 80%-70%, sertifikat baru diterbitkan untuk menggantikan yang lama.
Tujuan
penggantian kunci ini (key roll-over)
adalah agar transaksi bisnis yang menggunakan PKI tidak terganggu kegiatannya
operasinya.
Key
update juga berkaitan dengan masalah
peningkatan keamanan kunci. Dalam sekuriti komputer, ada suatu kebiasaan agar
selalu mengganti password
Key History
Berkaitan dengan
adanya key update, maka Anto dalam
suatu saat dapat memiliki beberapa kunci sekaligus (miliknya), yakni sebuah
kunci yang masih ‘berlaku’, dengan kunci-kunci lainnya yang sudah kadaluarsa
atau sudah dibatalkan. Jika Anto ingin melakukan proses dekripsi data yang dia
enkripsikan 5 tahun yang lalu, maka Anto perlu menggunakan kunci yang
dipergunakan 5 tahun yang lalu.
Time stamping
Diperlukan suatu
mekanisme khusus untuk menyediakan ‘waktu’ yang terpercaya dalam infrastruktur
kunci publik. Artinya, ‘waktu’ tersebut tidak didapatkan dari ‘clock’ setiap komputer, namun didapatkan
dari satu sumber yang dipercaya. Penyedia jasa sumber ‘waktu’ yang dipercaya,
juga termasuk kategori TTP.
II. ALGORITMA
YANG DIGUNAKAN
Dalam PKI penggunaan algoritma enkripsi simetrik tidak
langsung didefinisikan tetapi telah diimplementasikan oleh berbagai perangat
lunak. Dalam menjalankan Public Key Infrastructure, berikut beberapa algoritma
yang digunakan dalam PKI
2.1. Enkripsi Kunci Publik
adalah metodologi yang digunakan dalam enkripsi PKI dan pada awalnya
diusulkan oleh Diffie dan Hellman pada tahun 1976. Algoritma ini didasarkan
pada fungsi matematika dan menggunakan kriptografi asimetris, yaitu,
menggunakan sepasang kunci.
Dalam PKI, setiap user akan memiliki dua tombol yang dikenal sebagai
“sepasang kunci”. Salah satu kuncinya adalah dikenal sebagai sebuah kunci
pribadi dan yang lainnya dikenal sebagai kunci publik. Kunci pribadi tidak
pernah diturunkan dan disimpan dengan pemilik, dan kunci publik dapat diakses
oleh setiap orang dan disimpan dalam repositori kunci.
2.2. Secure pesan (Secure
messaging)
Untuk memastikan bahwa dokumen dilindungi dari menguping dan tidak
berubah selama transmisi, Bob pertama akan mengenkripsi dokumen dengan
menggunakan kunci publik Alice. Hal ini menjamin dua hal: satu, bahwa dokumen
dienkripsi, dan dua, hanya Alice yang bisa membukanya sebagai dokumen ini
membutuhkan kunci privat Alice untuk membukanya. Sebagai rangkuman, enkripsi
dilakukan dengan kunci publik penerima dan penerima dekripsi dengan private
key-nya. Dalam metode ini, Bob bisa memastikan bahwa dokumen dienkripsi dan
hanya penerima dimaksudkan (Alice) dapat membukanya. Namun, Bob tidak bisa
memastikan apakah isinya berubah (Integrity) selama transmisi oleh enkripsi
dokumen saja.
2.3. Pesan mencerna (Message
digest)
Untuk memastikan bahwa dokumen tidak berubah selama transmisi, Bob
melakukan fungsi hash pada dokumen. Nilai hash adalah nilai komputasi berdasarkan
isi dokumen. Nilai hash ini dikenal sebagai pesan ringkasan. Dengan melakukan fungsi hash yang
sama pada dokumen dekripsi pesan, mencerna dapat diperoleh oleh Alice dan dia
bisa membandingkan dengan yang dikirim oleh Bob untuk memastikan bahwa isi yang
tidak berubah. Proses ini akan memastikan persyaratan integritas.
2.4.Tanda tangan digital (Digital signature)
Untuk membuktikan bahwa dokumen tersebut dikirim oleh Bob kepada Alice,
Bob perlu menggunakan tanda tangan digital. Menggunakan tanda tangan digital berarti
menerapkan kunci pribadi pengirim ke dalam pesan, atau dokumen, atau untuk
pesan mencerna. Proses ini dikenal sebagai seperti menulis. Hanya dengan menggunakan kunci publik
pengirim pesan dapat didekripsi.
Bob akan mengenkripsi pesan mencerna dengan kunci pribadinya untuk
membuat tanda tangan digital. Dalam skenario diilustrasikan pada gambar diatas,
Bob akan mengenkripsi dokumen dengan menggunakan kunci publik Alice dan tanda
menggunakan tanda tangan digital. Hal ini memastikan bahwa Alice bisa
memverifikasi bahwa dokumen yang dikirim oleh Bob, dengan melakukan verifikasi
tanda tangan digital (kunci privat Bob) dengan menggunakan kunci publik Bob.
Ingat sebuah kunci pribadi dan kunci publik yang sesuai dihubungkan, meskipun
secara matematis. Alice juga dapat memverifikasi bahwa dokumen tersebut tidak
diubah oleh memvalidasi pesan mencerna, dan juga dapat membuka dokumen
dienkripsi menggunakan kunci pribadinya.
2.5. Sertifikat digital (Digital
certificate)
Dengan menandatangani dokumen secara digital, Bob telah meyakinkan bahwa
dokumen tersebut dikirim oleh-Nya kepada Alice. Namun, ia belum membuktikan bahwa
dia adalah Bob. Untuk membuktikan ini, Bob perlu menggunakan sertifikat
digital.
Sebuah sertifikat digital adalah
sebuah identitas elektronik yang dikeluarkan untuk orang, sistem, atau
organisasi oleh otoritas berwenang setelah memverifikasi kepercayaan entitas.
Sebuah sertifikat digital adalah kunci publik yang unik untuk setiap entitas.
Sebuah isu otoritas sertifikasi sertifikat digital.
2.6. Prosedur manajemen
kunci (Key management procedures)
manajemen kunci terdiri dari empat prosedur penting tentang kunci publik
dan swasta. Mereka adalah sebagai berikut:
1.
Secure generasi
kunci-Memastikan bahwa kunci pribadi dan publik yang dihasilkan dengan cara
yang aman.
2.
Secure penyimpanan
kunci-Memastikan bahwa kunci disimpan dengan aman.
3.
Secure distribusi kunci-kunci
Memastikan bahwa tidak hilang atau diubah selama distribusi.
4.
Secure penghancuran
kunci-Memastikan bahwa tombol sepenuhnya hancur setelah masa manfaat dari kunci
berakhir.
2.7. Manajemen kunci
praktek terbaik (Key management best practices)
Penggunaan kunci mengacu pada menggunakan kunci untuk proses kriptografi, dan harus
dibatasi untuk menggunakan kunci tunggal untuk hanya satu proses kriptografi.
Hal ini untuk memastikan bahwa kekuatan keamanan yang diberikan oleh tombol
tidak melemah.
Ketika kunci tertentu diberi kewenangan untuk digunakan oleh entitas
yang sah untuk jangka waktu tertentu, atau pengaruh kunci spesifik untuk sistem
yang diberikan adalah untuk jangka waktu tertentu, maka jangka waktu dikenal
sebagai sebuah cryptoperiod. Tujuan
mendefinisikan cryptoperiod adalah untuk membatasi sebuah pembacaan sandi
2.8. Algoritma Cryptographic dan seleksi ukuran kunci
Dua manajemen
parameter kunci penting yang memberikan perlindungan yang memadai untuk sistem
dan data yang diharapkan mereka sepanjang masa.
2.9. Kunci negara (Key
states)
Kunci kriptografi melewati negara bagian yang berbeda dari generasi ke
kehancuran. Negara-negara ini didefinisikan sebagai negara kunci. Pergerakan kunci
kriptografi dari satu negara ke lain dikenal sebagai kunci transisi.
III. PEMAKAIAN
PUBLIC KEY INFRASTRUCTURE
3.1.
Software/perangkat lunak yang digunakan untuk PKI
Ketika
menggelarkan PKI, bagian yang paling penting adalah bagian dari perangkat lunak
CA yang tepat. Ada banyak solusi perangkat lunak PKI , antara lain :
·
Ascertia
: Perusahaan tetap independen dari Otoritas Sertifikasi produk dan vendor dan
karenanya perusahaan Layanan Profesional bebas untuk memberikan saran objektif
untuk penyebaran PKI.
·
Comodo
: Apakah terbesar kedua Otoritas Sertifikat untuk tinggi-jaminan sertifikat
digital. Ia menawarkan produk PKI dan manajemen sertifikat, serta
faktor-Otentikasi Dua menggunakan infrastruktur Kunci Publik.
·
Cryptomathic
: Menawarkan produk yang disebut CCA.
·
DigiCert
: adalah sebuah otoritas sertifikat yang menawarkan layanan PKI berhasil
disebut DigiCert ® Enterprise Dikelola PKI untuk SSL / TLS sertifikat.
·
Djigzo
email enkripsi : Open source enkripsi email gateway dengan dukungan S / MIME
dan enkripsi PDF dengan satu kali-sandi melalui SMS.
·
Echoworx
: Semua data dienkripsi menggunakan standar industri yang terpercaya PKI
(Public Key Infrastructure) dan S / MIME teknologi untuk enkripsi kuat dan
tanda tangan digital.
·
EJBCA
: Open source , platform independen solusi diimplementasikan di Java EE .
·
Mempercayakan
: Tawarkan suite produk yang disebut Penitipan Authority. penawaran Penitipan
ini termasuk off-the-shelf software PKI serta host, dikelola solusi terutama
dalam pemerintahan dan keuangan spasi industri.
·
GlobalSign
: Penawaran TrustedRoot, sebuah program PKI CA Rootstore chaining (Root Daftar)
yang memungkinkan Anda untuk mendapatkan kepercayaan Anda segera untuk SSL, S /
MIME dan kode sertifikat penandatanganan oleh chaining Microsoft Anda atau
inhouse CA CA Root Sertifikat ke-pra terpercaya GlobalSign root sertifikat.
·
IBM
: Penawaran Jasa PKI untuk z / OS .
·
KEYNECTIS
: Penawaran produk bernama Sequoia serta solusi host
·
Linux
: Linux mendukung OpenSSL dan OpenCA , yang dua open source solusi CA.
3.2. Contoh
pemakaian PKI
PKI
memiliki banyak kegunaan, termasuk memberikan kunci publik dan binding untuk
identitas pengguna yang digunakan untuk:
·
Enkripsi
dan / atau pengirim otentikasi dari e-mail pesan (misalnya, menggunakan OpenPGP
atau S / MIME ).
·
Enkripsi
dan / atau otentikasi dokumen (misalnya, XML Signature atau XML Encryption
standar jika dokumen dikodekan sebagai XML ).
·
Otentikasi
dari pengguna untuk aplikasi (misalnya, smart card logon, klien otentikasi
dengan SSL ). Ada penggunaan digital-eksperimental untuk menandatangani HTTP
otentikasi di Enigform dan mod_open proyek.
·
Bootstrap
protokol komunikasi yang aman, seperti tombol pertukaran Internet (IKE) dan SSL
. Dalam kedua ini, awal set-up saluran aman (sebuah " asosiasi keamanan
") menggunakan kunci asimetrik (alias kunci publik) metode, sedangkan
komunikasi sebenarnya lebih cepat menggunakan kunci simetrik (alias kunci
rahasia ) metode.
·
Handphone
tanda tangan. tanda tangan tanda tangan elektronik mobile yang dibuat
menggunakan perangkat mobile dan bergantung pada layanan tanda tangan atau
sertifikat di lokasi lingkungan telekomunikasi independen.
3.3. Cara Penggunaan Infrastruktur Kunci Publik
(PKI)
Adalah penting bahwa kunci pribadi bersifat rahasia,
dan bahwa kunci publik yang tersedia. Diagram di bawah ini menunjukkan yang
pihak telah dengan kunci dan sertifikat:
Setiap pihak memiliki sebuah kunci pribadi, yang
mereka menghasilkan sendiri. Setiap pihak punya rahasia pribadi utama mereka
dari orang lain. Setiap kunci pribadi memiliki kunci publik yang sesuai, yang
diberikan secara bebas.
Sebuah pesan dienkripsi menggunakan kunci publik hanya
dapat dibaca dengan menggunakan kunci pribadi yang sesuai. Hal ini memungkinkan
klien untuk mengirim pesan yang hanya server dapat membaca.
Sebuah pesan masuk dengan kunci pribadi dapat
diperiksa menggunakan kunci publik yang sesuai. Jika pesan telah berubah
setelah penandatanganan kemudian memeriksa akan gagal. Hal ini memungkinkan
server untuk mengkonfirmasi bahwa pesan itu benar-benar dikirim oleh klien.
Seperti ditunjukkan dalam diagram, ada tiga kunci
publik-swasta-pasangan (satu untuk masing-masing pihak). Klien menggunakan
salinan kunci publik server untuk mengenkripsi pesan, dan kunci pribadi untuk
menandatanganinya. Server menggunakan salinan kunci publik klien untuk
memeriksa tanda tangan, dan kunci pribadi untuk mendekripsi itu.
Ini sangat aman, dengan ketentuan bahwa kedua belah
pihak bisa mendapatkan kunci publik yang diperlukan. Walaupun tidak masalah
jika orang lain mendapatkan memegang kunci publik, itu penting bahwa mereka
memiliki kunci publik yang tepat. Jika seorang penyerang memberikan server
kunci publik mereka, berpura-pura menjadi klien, maka server akan menerima
pesan yang dikirim oleh penyerang. Demikian juga, jika klien ingin mengirim pesan
ke server, tetapi menggunakan kunci publik penyerang bukan kunci publik server,
maka klien akan mengirim pesan bahwa penyerang dapat membaca.
Untuk mencegah hal ini, kunci publik yang datang
dengan sertifikat memberikan identitas pemilik kunci pribadi. Kunci dan bundel
sertifikat ini ditandatangani oleh otoritas sertifikat untuk mengkonfirmasi
bahwa detail-detail yang benar. Efek dari ini adalah bahwa masing-masing pihak
hanya perlu mendapatkan kunci publik CA dipercaya oleh beberapa mekanisme, dan
dapat menggunakannya untuk memverifikasi setiap tombol lainnya.
Diagram di atas menunjukkan hanya satu CA. Dalam
situasi yang lebih rumit, klien dan server mungkin memiliki sertifikat mereka
ditandatangani oleh CA yang berbeda. Dalam hal ini, masing-masing harus
mempercayai CA yang menandatangani sertifikat pihak lain. Selain itu, diagram
hanya menampilkan pesan permintaan. Tanggapan ditandatangani dan dienkripsi
oleh layanan dan diperiksa dan didekripsi oleh klien dengan cara yang sama.
3.4.
Pemakaian PKI dalam kehidupan sehari hari
a. Internet
banking.
Secara umum, cara kerja internet banking agar dapat
menjaga keamanan transaksi secara online adalah dengan menggunakan sertifikat
digital (Certificate Authority). Sertifikat ini memastikan proses transaksi
berjalan aman. Proses ini disebut Public Key Infrastructure (PKI), yaitu adalah
sebuah cara untuk otentikasi, pengamanan data dan perangkat anti sangkal.
Secara teknis, PKI adalah implementasi dari berbagai teknik kriptografi yang
bertujuan untuk mengamankan data, memastikan keaslian data maupun pengirimnya
dan mencegah penyangkalan. Secara singkat, ketika seseorang melakukan proses
transaksi online, baik pemilik rekening maupun bank melakukan pertukaran data
yang telah dienkripsi. Keduanya saling bertukar public key dan private key
untuk dapat bertukar data rahasia melalui sertifikat masing-masing.
b. Smart
Card.
·
Contoh
ini diambil dari Identity Management di ITB dengan menggunakan Smart Campus.
Setiap pengguna sumber daya IT di kampus ITB harus memiliki sebuah digital
identity. Dalam penerapannya seorang mahiswa ITB akan memiliki kartu mahasiswa
yang berbasis smartcard dimana di dalamnya ditanamkan kunci privat dan kunci
publik yang menjadi bagian dari PKI. Akses kepada sumber daya yang terbatas
akan menggunakan smartcard ini sebagai basis dari authentication-nya
·
Contoh
lain adalah Smart Card yang serupa dengan kartu kredit seperti smart card dari
siemen dan lain-lain. Smart Card atau Kartu cerdas menyimpan kunci privat,
sertifikat digital, dan informasi lainnya untuk mengimplementaiskan PKI. Kartu
cerdas juga menyimpan nomor kartu kredit dan informasi kontak personal (no
telpon). Sertifikat digital ditandatangani oleh card issuer (CA) untuk
mensertifikasi kunci publik pemilik kartu. Penggunaan kartu cerdas dikombinasikan
dengan PIN (Personal Identification Number). Jadi, ada dua level yang harus
dari penggunaan kartu cerdas, yaitu memiliki kartu cerdas itu sendiri dan
mengetahui PIN yang mengakses informasi yang disimpan di dalam kartu. Komputer
server mengotentikasi kartu dengan cara mengirimkan suatu nilai atau string
(yang disebut challenge) ke kartu untuk ditandatangani dengan menggunakan kunci
privat (yang tersimpan di dalam kartu), lalu tanda-tangan tersebut diverifikasi
oleh mesin dengan menggunakan kunci publik pemilik kartu. Komputer server perlu
menyimpan kunci publik card issuer untuk memvalidasi sertifikat digital.
Source :