Teknologi WEB, Dosen : Ir. Tedi Sukardi, M.Sc

|0 komentar
Public Key Infrastruktur

Electronic messaging dan transaksi e-commerce semakin meluas seiring dengan kemajuan telekomunikasi dan teknologi informasi. Hal ini mendorong peningkatan interkoneksi user dan penggunaan komunikasi secara digital, yang berarti semakin banyak informasi yang dikirim secara elektronik, sehingga menjadi rentan terhadap serangan eavesdropping dan modifikasi. Sistem kriptografi kunci public dan digital signature memegang peranan penting dalam mengatasi serangan dengan menyediakan end-to-end security yang dapat menjaga confidentiality, integrity, nonrepudiation, authentication, access control, dan availability.
Pada sistem kriptografi kunci public konvensional, kunci publik disimpan dan dapat diakses oleh pihak umum. Enemy/bad guy dapat berpura-pura menyediakan kunci publik yang asli untuk digunakan pihak lain yang memerlukan. Dengan berpura-pura sebagai penyedia kunci publik maka bad guy dapat mengakses informasi penting yang akan digunakan selama transaksi yang menggunakan pengamanan sistem kunci publik.
Masalah tersebut memerlukan solusi untuk melindungi confidentiality kunci privat dan menjaga integritas kunci publik selama penyimpanan dan pendistribusian. Mekanisme ini dilakukan dengan cara memberikan sertifikasi pada kunci public sehingga pengguna kunci publik akan dapat meyakini kunci publik yang digunakan adalah kunci yang benar. Sertifikasi diperoleh dari pihak yang bernama Certification Authorities (CAs). CA, pengguna aplikasi, dan manajemen kunci publik membentuk suatu infrastruktur yang disebut Public Key Infrastructure (PKI).
Definisi PKI :
“The policies and procedures for establishing a secure method for exchanging information within an organization, an industry, a nation or worldwide. It includes the use of certification authorities (CAs) and digital signatures as well as all the hardware and software used to manage the process.”
Di Indonesia perkembangan ecommerce memang belum maju. Menurut suatu survei oleh AC Nielsen, masyarakat Indonesia menggunakan internet untuk email(42%), membaca berita(39%), mencari informasi produk atau layanan(29%), membaca majalah(27%), chatting(23%), dan kurang dari 10% dari pengguna internet yang memiliki keinginan untuk bertransaksi lewat internet. Sehingga dapat dikatakan ecommerce
awareness masih rendah di kalangan pengguna internet Indonesia. Hal ini juga dipengaruhi tingginya tingkat cyber crime di Indonesia. Indonesia menempati urutan pertama dalam jumlah transaksi dan peringkat tiga dalam volume transaksi untuk kasus penipuan/penggelapan.


Kepastian hukum (cyber law) terhadap kasus penipuan di dunia cyber di Indonesia memang belum ada. Sampai saat ini hanya ada beberapa istilah dari ”cyber law” yang digunakan, misalnya, Hukum Sistem Informasi, Hukum Informasi, dan Hukum Telematika (Telekomunikasi dan Informatika). Di dalam hukum tersebut seharusnya memuat atau membicarakan mengenai aspek-aspek hukum yang berkaitan
dengan aktivitas manusia di Internet. Dengan adanya hukum ini maka pihak luar juga akan merasa nyaman bertransaksi dengan Indonesia.
Melihat banyaknya kelemahan baik dari infrastruktur, budaya, keamanan, dan hukum di Indonesia, memang diperlukan persiapan yang lebih banyak sebelum menuju ke pembangunan PKI di Indonesia. Apalagi Indonesia selama ini hanya bergantung pada CA yang ada di luar negeri. Memasuki era globalisasi dengan semakin berkembangnya aktifitas yang memerlukan pengamanan kunci publik, Indonesia harus tetap bersiap mengimplementasikan PKI.
Pihak-pihak PKI
Sesuai dengan definisi maka pihak-pihak yang terlibat dalam PKI adalah :
1. Organisasi
2. Industri
3. Negara
4. Dunia

Komponen PKI
Komponen utama dalam PKI adalah :
1. Certification Authorities (CAs)
Suatu badan yang berwenang untuk memberikan validasi atau sertifikat digital pada kunci public dalam suatu negara.

2. Repository kunci, sertifikat dan Certificate Revocation Lists (CRLs)
Basis data untuk menyimpan semua data tentang kunci publik dan sertifikat kunci publik tersebut. Disamping itu terdapat list expiry time untuk managemen kunci bagi para pemilik kunci. CRL merupakan daftar kunci yang harus ditarik dan diganti dengan kunci yang baru.
CA secara periodik mengeluarkan CRL (Certificate Revocation List) yang berisi nomor seri sertifikat digital yang ditarik. Sertifikat digital yang sudah kadaluarsa otomatis dianggap sudah tidak sah lagi dan dimasukkan ke dalam CRL. Dengan cara ini, maka CA tidak perlu memberitahu perubahan sertifikat digital kepada setiap orang.

3. Management Function
Suatu prosedur yang digunakan untuk menjadi guideline dari keseluruhan proses yang ada dalam PKI.

4. Policy Approving Authority (PAA)
Memberikan guideline untuk keseluruhan PKI dan melakukan sertifikasi kunci publik dari PCA.

5. Policy Certification Authority (PCA)
Memberikan policy untuk semua CA dan user yang ada pada domainnya dan melakukan sertifikasi kunci publik dari CA.

6. Organizational Registration Authority (ORA)
Entitas yang berperan sebagai perantara antara CA dan user.

Fungsi yang dilakukan PKI
PKI melindungi keamanan informasi yang dikirimkan selama transmisi atau transaksi dilakukan dalam berbagai cara sebagai berikut :
1. Mengautentikasi identitas. Dengan sertifikasi digital yang dikeluarkan oleh PKI maka tiap pihak dapat mengautentikasi pihak lawan dalam melakukan transaksi sehingga pihak dapat meyakini bahwa pihak yang melakukan transaksi adalah pihak yang berhak.

2. Verifikasi integritas dokumen. Dengan adanya sertifikasi digital maka dokumen dapat diyakini tidak mengalami perubahan selama pengiriman.

3. Jaminan privasi. Dengan protokol yang digunakan selama transmisi menggunakan sertifikat digital maka jalur yang digunakan dalam transmisi dipastikan aman dan tidak dapat diakses
oleh pihak lain yang tidak berhak.

4. Sertifikat digital dari PKI dapat menggantikan peranan proses autentikasi user dalam sebuah sistem.

5. Dengan menggunakan sertifikat digital dari PKI maka suatu pihak dapat menentukan transaksi yang aman dengan menggunakan validasi kunci publik.

6. Dukungan anti penyangkalan. Dengan adanya validasi pada sertifikat digital maka tidak mungkin untuk melakukan penyangkalan pada suatu transaksi yang telah dilakukan.

Aktivitas PKI
Fungsi PKI pada bahasan sebelumnya diimplementasikan dalam aktifitas berikut :
1. Pembangkitan, pemberian sertifikat, dan pendistribusian kunci
2. Pemberian tanda tangan dan verifikasi tanda tangan
3. Perolehan sertifikat
4. Verifikasi sertifikat
5. Penyimpanan sertifikat untuk penggunaan lebih lanjut
6. Perolehan sertifikat yang sudah disimpan
7. Laporan kehilangan kunci
8. Pembangkitan ulang kunci yang hilang
9. Perolehan CRL
10. Pemberian ulang kunci dan pemberian sertifikat ulang
11. Pelaksanaan audit terhadap kejadian, seperti permintaan pasangan kunci dan sertifikat.
12. Pengarsipan kunci.

Faktor–faktor dalam Implementasi PKI
Berikut merupakan faktor-faktor yang harus dipertimbangkan dalam membangun suatu PKI :
1. Robustness
Dalam membangun suatu struktur PKI harus dipertimbangkan kecepatan dalam pengiriman dan tidak mengganggu proses transmisi dari transaksi sendiri. Faktor ini dipengaruhi oleh kondisi negara, keadaan wilayah beserta dengan tipe transaksi yang dominan yang ada pada suatu negara. Pembangunan PKI yang tepat harus mempertimbangkan faktor tersebut.

2. Scalability
Dengan struktur yang ada maka PKI harus dapat mendukung semua aktifitas yang ada pada daerah yang dijangkaunya. Sehingga dalam membangun struktur maka harus dipertimbangkan jangkauan antar komponen PKI agar dapat beroperasi sesuai wilayah jangkauan.

3. Flexibility
Struktur implementasi PKI harus dapat menyesuaikan dengan kondisi negara atau daerah yang jangkauannya. Apabila kondisi negara dan transaksi yang berubah-ubah maka struktur harus dapat menyesuaikan sendiri dan tidak mengalami perubahan yang besar.

4. Easy of use
Struktur yang ada dalam PKI harus memiliki abstraksi aksi yang jelas terhadap user. User dalam memanfaatkan suatu implementasi PKI secara teknis cukup dengan menekan tombol dalam browser merupakan salah satu contoh kemudahan dalam pengimplementasian PKI pada level end user.

5. Trust
Sesuai dengan fungsinya maka PKI yang dibangun harus memiliki system yang handal sehingga dipercaya oleh seluruh user yang memanfaatkannya.

6. Interoperation
Pemilihan struktur dan pihak yang menjadi komponen dalam PKI harus mempertimbangkan kemampuan masingmasing komponen untuk bekerja sama secara kooperatif dan menjalankan fungsinya. Struktur yang dibangun harus tetap dapat bekerja dengan struktur pada area yang lain dan area yang lebih besar.

7. Implementation Timeframe
Waktu pembentukan dari struktur berpengaruh pada kerja PKI sendiri. Timeframe ini meliputi waktu perolehan user, penentuan CA dan PCA yang baru.

8. Management Structure
Pengimplementasian dari PKI harus mempertimbangkan struktur. Penentuan pihak dan lembaga untuk menempati posisi suatu komponen dalam PKI merupakan hal utama dalam faktor ini.


9. Exposure to Liability
Pemilihan struktur tergantung oleh kewajiban finansial dari user dan CA masing-masing. Ukuran dari kewajiban finansial dari user dan CA yang besar pada suatu struktur akan mempengaruhi trust dari user.

Struktur/Model PKI
Berikut merupakan model yang telah diimplementasikan di beberapa negara. Diagram digambarkan hanya berupa entitas CA , root CA dan user pengguna sertifikat dan keterhubungan antar entitas untuk mempermudah pemahaman.

Hierarchical model
Hierarchical model dapat digambarkan pada diagram berikut ini :


Dalam hierarchical model, CA pusat yang ada pada PKI dibagi menjadi Subsub CA yang lebih kecil. Pembagian CA menjadi sub-CA didasarkan pada bisnis yang ditangani. Sehingga tiap sub-CA akan menangani pelanggan/pengguna yang berbeda bisnisnya.
Karena pembagian CA menjadi sub- CA yang spesifik pada bisnis tertentu maka model ini cocok digunakan untuk negara yang memiliki cukup banyak bisnis tipe dan dan masing-masing bisnis telah berkembang.

Cross certification model (Peer-to-peer model)
Cross certification model dapat digambarkan pada diagram berikut ini :


Dalam cross certification model peran root CA dilakukan oleh masingmasing CA. Sehingga root CA dapat dihilangkan. Proses di root CA digantikan dengan saling memvalidasi sertifikat dari CA yang lain (shared trust). Struktur ini cocok digunakan untuk negara yang mempunyai tipe bisnis yang banyak dan berkembang dan masing-masing tipe bisnis sangat berbeda dengan load yang tinggi.
Untuk membangun suatu komunitas trust maka diperlukan suatu audit yang memvalidasi dan meyakinkan pengimplementasian tetap berada pada kesepakatan antar CA.

Hybrid model
Hybrid model dapat digambarkan pada diagram berikut ini :


Hybrid model merupakan penggabungan antara dua model sebelumnya. Masing-masing sertifikat sub-CA dapat divalidasi oleh root atau divalidasi oleh sub-CA yang lain sesuai dengan domain transaksi.
Model ini cocok diterapkan pada negara dengan tipe bisnis yang banyak dan masing-masing bisnis saling terkait dengan bisnis yang lain. Pada bisnis yang bersifat umum maka sertifikat dapat divalidasi oleh root tetapi pada bisnis yang spesifik dan terganting dengan bisnis yang lain maka sertifikat dapat divalidasi oleh sub-CA dengan tipe bisnis yang bersangkutan.

Pada pemodelan enkripsi terdapat dua hal yang penting yaitu :
1. Enkripsi Dengan Kunci Pribadi ( Private Key )
Enkripsi ini bekerja dengan kunci untuk mengunci dan membuka sama. Dimana enk ripsi dapat dilakukan jika si pengirim dan si penerima telah sepakat untuk menggunakan metode kunci enkripsi tertentu yang kuncinya harus dijaga supaya tidak ada pihak luar yang mengetahuinya. Tetapi enkripsi ini mempunyai masalah yaitu pada pendistribusian kuncinya, dimana pengiriman kunci nya membutuhkan saluran khusus, dan jumlah kunci yan g meledak jumlahnya secara eksponensial. Model enkripsi ini juga dikenal sebagai kriptograpik simetrik ( symmetric cryptographic ) Terdapat beberapa model algoritma enkripsi dengan menggunakan kunci pribadi antara lain subsitusion cipher, AES, DES, Triple DES, RC (Rivest Code ) 2, RC 4, IDEA, Skipjack, Caesar cipher, Ghost Block Cipher, dan Transposition Cipher.


Gambar Diagram Blok Enskripsi dengan Kunci Pribadi

2. Enkripsi Dengan Kunci Publik ( Public - Key )
Enkripsi ini bekerja dengan kunci yang berbeda untuk enkripsi dan dekripsi. Dimana cara kerja enkripsi dengan kunci publik adalah setiap orang yang menggunakan enkripsi ini harus mempunyai dua buah kunci yaitu satu kunci rahasia yang hanya boleh diketahui oleh dirinya sendiri,
Kedua kunci ini dibuat secara acak dengan menggunakan rumus matematika tertentu. Karena menggunakan algoritma dengan kunci enkripsi dan dekripsi yang berbeda maka cara sering ini disebut dengan kriptograpik asimetrik (asymmetri cryptographic). Beberapa yang termasuk algoritma yang menggunakan cara enkripsi ini adalah Sistem Diffie Hellman, RSA, dan PGP (Pretty Good Privacy ).


Gambar Diagram Blok Enskripsi dengan Kunci Publik

Kriptografi mempunyai tiga katagori yang utama yaitu :
1. Kriptografi simetrik ( Kunci - rahasia )
Kriptografi ini menggunakan dua buah kunci yang sama untuk proses enkripsi dan diskripsinya. Dimana kunci enkripsi tersebut dibuat oleh pihak yang mengirimkan atau membuat data, kemudian kunci tersebut dikirimkan kepada pihak yang menerima data tersebut untuk melakukan dekripsi.


Gambar Diagram Blok Kriptografi Simetrik

Katagori kriptografi ini mempunyai kelebihan pada kecepatan proses datanya, juga sangat baik digunakan untuk mengamankan enkripsi data berkecapatan tinggi.tetapi mempunyai kelemahan pada masalah keamanan pertukaran kunci - nya.

2. Kriptografi asimetrik ( Kunci -Publik )
Kriptografi ini menggunakan dua buah kunci yang berbeda, satu buah untuk enkripsi dan satu buah untuk dekripsi, dimana kunci untuk enkripsi bersifat terbuka atau publik, sedangkan untuk dekripsi bersifat rahasia atau pribadi. Kunci publik disimpan dan didistribusikan oleh pihak yang berwenang yaitu CA ( Certified Authorizied ), dimana kumpulan dari CA adalah Public Key Infrastruktur ( PKI ). Maka katagori ini sering disebut PKI cryptographic. Sedangkan kunci pribadi disimpan tidak disebarkan.


Gambar Diagram Blok Kriptografi Simetrik

Katagori kriptografi ini mempunyai kelebihan jumlah kunci sebanyak kriptografik simetrik. Dan tidak membutuhkan saluran khusus untuk pertukaran kuncinya tetapi mempunyai kekurangan pada masalah kecepatan proses kripto data - nya.

3. Kriptografi Fungsi HASH ( Satu Arah )
Fungsi HASH satu arah merupakan yang menyingkat data dan merepresentasikan menjadi bit - bit dengan menggunakan fungsi matematika untuk mengambil input panjang variabel dan mengubahnya kedalam urutan biner dengan panjang yang tetap. Fungsi HASH satu arah dirancang dengan kompleksitas yang tinggi, sehingga apabila terjadi perubahan satu bit saja, maka dapat mengubah nilai dari HASH yang dihasilkan. Untuk HASH yang modern menghasilkan panjang 128 bit atau lebih. Fungsi HASH ini banyak digunakan pada proses digital signature untuk data integrity. Salah satu kegunaan Fungsi HASH yaitu untuk MAC ( Message Authentication Code ) dan HMAC yaitu kode yang dihasilkan oleh fungsi HASH untuk sebuah pesan atau data pada jaringan komputer.

Algoritma Kriptografi
Didalam kriptografi terdapat banyak algoritma - algoritma yang dikembangkan untuk proses enkripsi, dekripsi dan fungsi hash. Pada kesempatan kali ini akan membahas sekilas tentang algoritma kriptografi yang sering dipakai pada system keamanan data storage networking yaitu triple - DES ( 3-DES), IDEA, AES untuk kriptografi simetris, RC4 RSA untuk kriptografi asimetris.

Algoritma Triple - DES ( Data Encryption Standart )
Algortima Triple - DES[5] termasuk dalam katagori kriptografi simetris. Algortima ini adalah pengembangan dari algoritma DES yang mempunyai banyak kelemahan. Cara kerja dari algoritma ini didasarkan oleh algoritma DES yaitu dengan cara melakukan proses enkripsi DES sebanyak tiga kali dengan mengambil tiga kunci sebanyak 64 bit dari seluruh kunci yang mempunyai panjang 192 bit. Triple DES memungkin pengguna memakai tiga sub kunci dengan masing - masing panjangnya 64 bit. Data di enkrip dengan kunci pertama kemudian di dekrip dengan kunci kedua dan yang terakhir dienkrip lagi dengan kunci yang ketiga.


Gambar Triple DES

Algoritma IDEA ( International Data Encryption Algorithm )
IDEA[5] dikembangkan pada tahun 1990 di Swiss oleh kriptograper ternama James Massey dan Xuejia Lai. Algoritma ini termasuk katagori kriptografi simterik dengan menggunakan kunci sepanjang 128 bit. Algoritma blok chipper dalam IDEA beroperasi dengan menggunakan 64 bit plaintext dan blok cipher text yang dikendalikan oleh 12 inovasi dasar dalam desain algoritmanya yang yang dikendalikan oleh 12 inovasi dasar dalam desain algoritmanya yang berbentuk suatu tabel.
Proses dalam algoritma itu terdiri dari 8 putaran enkripsi yang diikuti oleh transformasi output. 64 bit data plaintext dibagi menjadi 4 bagian yang masing masing terdiri dari 16 bit sub block dan operasi aljabar dengan 16 bit angka. Putaran enkripsi pertama, 16 bit sub blok yang pertama dikombinasikan dengan 16 16 bit palintext yang kedua dengan menggunakan modulo 2 , dan dengan 16 bit
16 plaintext yang lain menggunakan penambahan modulo 2 +1, dan seterusnya sampai 4 bagian yang terdiri dari 16 bit sub blok dikenai operasi itu.

Rivest Code ( RC ) 4
RC4 merupakan salah satu algoritma kunci simetris yang berbentuk stream chiper, Algoritma ini ditemukan pada tahun 1987 oleh Ronal Rivert dan menjadi simbol keamanan RSA. RC 4 menggunakan variabel yang panjang kunci-nya dari 1 sampai dengan 256 bit, dimana digunakan untuk menginialisasi tabel sepanjang 256 bit. Tabel tersebut digunakan untuk menghasilkan pseudo random bit. Kemudian aliran pseudo random bit yang memproses XOR dengan plaintext untuk menghasilakn ciphertext. Masing masing elemen dalam tabel saling ditukarkan minimal sekali. Kunci RC 4 sering terbatas hanya 40 bit, tapi kadang - kadang juga menggunakan kunci 128 bit.
Algoritma RC 4 bekerja dalam dua fase yaitu key setup dan ciphering Key setup adalah fase pertama dan yang paling sulitdari algoritma ini. Selama key setup N bit yang digunakan untuk panjang kunci. Kunci enmkripsi digunakan untuk menghasilkan variabel enkripsi dengan menggunakan dua aturan yaitu bagian variabel dan kunci serta jumlah N dari operasi pencampuran.
Pencampuran tersebut terdiri dari penukaran bit, operasi modulo adalah hasil sisa dari proses pembagian. Setelah variabel enkripsi dihasilkan dari key setup, langkah selajutnya adalah ke fase ciphering dimana dalam proses ini hasilnya akandi XOR kan dengan pesan plaintext. XOR adalah proses logika perbandingan dua bit biner.

Algortima AES ( Advance Encryption Standart ) Rijndael
Pada awal Agustus 1999, NIST memilih lima algoritma yang akan digunakan sebagai standar, yaitu Mars, RC6, Rijndael, Serpent, dan Twofish. Dari kelima kandidat tesebut Rijndael ditetapkan sebagai standar pada tahun 2001. Pada algoritma AES Rijndael[7] masukan, keluaran, dan kunci rahasia merupakan runtun bit yang terdiri atas 128, 192, atau 256 bit dengan ketentuan panjang masukan dan keluarannya sama. AES menetapkan masukan dan keluaran sebesar 128 bit sedangkan untuk kunci rahasia baik AES dan Rijndael memperbolehkan ketiganya. Algoritma Rijndael byte terdiri atas 8 bit yang dapat berupa 0 atau 1. Byte merupakan satuan dasar pada semua operasi cipher. Untuk operasi cipher, byte dapat dinyatakan dalam runtun bilangan Biner, Heksadesimal, atau dalam bentuk Polinomial yang diintepretasikan sebagai elemen medan terbatas (finite field elements). Masukan, keluaran, dan kunci rahasia merupakan runtun bit yang dinyatakan sebagai larik byte satu dimensi. Byte ke n berisi bit dari 8n sampai dengan 8n+7. Pada masing-masing byte, bit ke 8n + i menjadi bit ke 7 - i pada byte yang bersangkutan dengan 0 i 8. Runtun bit berawal dari kiri ke kanan dimulai dari nol.


Gambar Masukan ke State dan Keluaran dari State

Secara internal algoritma Rijndael beroperasi dengan menggunakan larik byte dua dimensi yang disebut state yang terdiri atas empat baris dan Nc kolom, dengan Nc merupakan hasil bagi dari panjang masukan ( message block) dengan 32. Setiap state dialamati dengan baris dan kolom, baris dinyatakan dengan r dan kolom dinyatakan dengan c, jadi setiap state akan berbentuk seperti s[r,c]. Nilai r bernilai 0 r 3 dan c bernilai 0 r Nc. Masukan cipher yang berbentuk larik satu dimensi dikopikan ke dalam bentuk state dan dikeluarkan kembali dalam bentuk larik satu dimensi.

Algoritma RSA
RSA adalah singkatan dari huruf depan 3 orang yang menemukannya pada tahun 1977 di MIT yaitu Ron Rivest, Adi Shamir, dan Len Adleman. Algoritma ini merupakan ara katagori kriptografi asimetri (kunci - publik) yang paling kuat sampai saat ini. Algoritma RSA melibatkan seleksi digit angka prima dan mengalikan secara bersama - sama untuk mendapatkan jumlah yaitu n, angka - angka ini dilewati algoritma matematis untuk menentukan kunci publik KU={e,n} dan kunci pribadi KR={d,n} yang secara matematis berhubungan. Ini merupakan hal yang sulit untuk menentukan e dan atau d. Dasar inilah yang menjadi algoritma RSA.
Sekali kunci telah diciptakan, sebuah pesan dapat dienkripsi dalam blok dan melewati persamaan berikut ini :
C=M mod n (1)
C=M mod n (1)
Dimana C adalah ciphertext, M adalah plaintext, sedangkan e adalah kunci public penerima. Dengan demikian pesan diatas dapat dienkrip dengan persamaan berikut :
C=M mod n (2)
Dimana d adalah kunci pribadi penerima.
Pada RSA, hanya orang yang mempunyai kunci rahasia yang sesuai yang dapat membuka pesan yang disandi dengan kunci publik tertentu. Algoritma ini dipakai sebagai dasar sistem enkripsi PGP ( Pretty Good Privacy ). Cara enkripsi dengan kunci publik mempunyai kelebihan, yaitu dapat dipakai untuk digital signiture ( tanda tangan digital ).