BAB 1
PENDAHULUAN
1.1 Pendahuluan
XML (Extensible Markup Language) merupakan salah satu teknologi standar yang diterapkan pada suatu layanan sistem informasi berbasis Web. Teknologi ini dikembangkan oleh W3C (World Wide Web Consortium) pada tahun 1996 sebagai sebuah teknologi Markup Language. Pengembangan XML ditujukan untuk mengatasi keterbatasan yang terdapat pada HTML (Hypertext Markup Language) yang merupakan dasar dari layanan-layanan berbasis web yang sudah ada. Sedangkan kelebihan XML dibandingkan dengan HTML adalah kemampuan XML untuk menyajikan struktur informasi secara lebih dinamis dan tidak terbatas pada ketentuan-ketentuan markup yang statis.
Sebagai sebuah Markup Language maka sebuah dokumen XML tersusun dari kumpulan teks biasa. Sedangkan maksud yang terkandung pada data dijelaskan melalui sebuah penanda yang biasa disebut Tag. Dengan menggunakan tag tersebut, maka sebuah dokumen XML dapat dengan mudah dibaca dan dimengerti oleh pengguna.
Seiring dengan semakin luasnya penggunaan XML pada berbagai layanan berbasis
web, dimana pendistribusian informasi dimungkinkan untuk menggunakan infrastruktur umum, maka juga mulai muncul permasalahan mengenai kebutuhan akan keamanan data bagi informasi yang terkandung didalam sebuah dokumen XML. Hal ini mengingat bahwa sebuah dokumen XML hanya tersusun dari sekumpulan teks yang sangat mudah untuk dipahami oleh pengguna.
Berdasarkan kebutuhan tersebut, maka W3C berusaha mengembangkan beberapa spesifikasi tambahan untuk XML. Spesifikasi tersebut ditujukan untuk memapukan para pengguna untuk menggunakan fasilitas pengamanan data pada dokumen XML yang hendak didistribusikan. Sistem keamanan data yang terdapat pada spesifikasi XML tersebut dikenal dengan istilah XML Security.
XML security merupakan suatu Web Service Security yang terdiri dari sekumpulan metode-metode pengamanan data yang telah disesuaikan dengan sifat dan karakter dari
sebuah dokumen Markup Language, khususnya sebuah dokumen XML. Ada pun metode-metode yang terdapat dalam spesifikasi XML Security, antaralain :
− XML Encryption − XML Digital Signature
− XACML (Extensible Access Control Markup Language )
− SAML( Security Assertion Markup Language )
− XKMS (XML Key Management Services )
Pada penulisan Tugas Akhir ini, pembahasan lebih difokuskan pada spesifikasi XML Encryption. Metode ini merupakan bagian dari XML Security yang mengimplementasikan teknik Cryptography pada sebuah dokumen XML. Sedangkan kasus yang diangkat dalam penulisan Tugas Akhir ini adalah mengenai penanganan proses cryptography suatu dokumen XML baik secara lokal maupun Client-Server.
1.2 Latar Belakang Masalah
Permasalahan utama yang terdapat pada metode pengamanan XML, khususunya yang menerapkan XML Encryption ini adalah, bagaimana cara mengimplementasikan teknologi Cryptography ke dalam sebuah dokumen XML tanpa merusak struktur dokumen tersebut. Masalah ini timbul disebabkan oleh karena XML merupakan sebuah dokumen data yang terstruktur, sehingga setiap sistem yang mengandalkan pertukaran datanya melalui XML sangat membutuhkan validitas struktur tersebut. Sedangkan di lain pihak, teknologi Cryptography memiliki tujuan untuk menyembunyikan segala bentuk informasi ke dalam bentuk data yang tidak terbaca oleh manusia. Oleh karena perbedaan kedua karatkter inilah yang menyebabkan sebuah dokumen XML yang dienkripsi akan kehilangan validitas terhadap struktur yang sudah didefinisikan.
Selain permasalahan di atas, XML Encryption juga diharapkan untuk dapat mendukung teknik Multiple Encryption1, yaitu kemampuan untuk mengenkripsi beberapa bagian data dalam dokumen yang sama dengan penanganan yang berbeda. Hal tersebut dibutuhkan oleh sebuah dokumen XML, sebab sebagai teknologi pertukaran data dalam
1 Imamura, Takeshi.XML Encryption Syntax and Processing,
sebuah sistem terdistribusi, dimana data-data yang dibawa dimungkinkan berasal dari beberapa pengguna dana memerlukan pengamanan yang berbeda-beda.
Sebagai standar pertukaran data yang menjembatani berbagai sistem dengan aturan yang berbeda, maka XML Encryption berusaha mendukung sebanyak mungkin metode-metode Cryptography yang ada. Hal ini dimaksudkan agara tiap pengguna atau pun sistem yang melakukan transaksi dapat menggunakan fasilitas enkripsi yang tersedia dan tidak terbatas pada beberapa metode saja. Dengan kondisi tersebut maka dimungkinkan terdapat lebih dari satu metode yang digunakan dalam sebuah dokumen.
1.3 Perumusan Masalah
Untuk menerapkan Cryptography yang bersifat multiple pada sebuah dokumen XML, maka cryptography tersebut harus mampu memenuhi kriteria dari sebuah dokumen markup language, yaitu terstruktur. Oleh karena itu W3C mengembangkan spesifikasi XML Encryption. yang pada dasarnya berupa sebuah Elemen standar yang didalamnya memuat parameter-parameter yang digunakan untuk proses enkripsi beserta
chiper text yang dihasilkan. Dengan menggantikan elemen asli dengan elemen tersebut, diharapkan pengguna dapat tetap mengetahui parameter-parameter yang dibutuhkan saat akan melakukan proses dekripsi pada elemen tersebut.
Pada penulisan Tugas Akhir ini, aplikasi dirancang sebagai client tool yang berfungsi untuk membantu pengguna untuk melakukan proses enkripsi – dekripsi pada dokumen XML yang terletak pada sebuah server HTTP. Selain dokumen XML, kunci yang akan digunakan dalam proses cryptography juga disimpan pada sebuah web server.
Algoritma yang digunakan untuk proses enkripsi adalah algoritma Triple DES/DESede (Symmetric Key) yang dikombinasikan dengan RSA 1.5 (Asymmetric Key). Pada penerapannya, plain text dienkripsi menggunakan kunci DESede, kemudian kunci DESede tersebut akan dienkripsi kembali menggunakan public key milik user yang akan dituju, sehingga hanya user penerima saja yang akan dapat mendekripsi cipher text.
1.4 Tujuan Penulisan
Tujuan penulisan ini adalah untuk mengimplementasikan spesifikasi XML
program bantu yang bertujuan memudahkan pengguna dalam menerapkan spesifikasi enkripsi tersebut pada sebuah dokumen XML yang terletak pada sebuah Web Server. 1.5 Batasan Masalah
Pada perancangan aplikasi ini, terdapat beberapa batasan masalah yang ditetapkan. Beberapa batasan yang ada tersebut ditetapkan oleh W3C yang juga disertakan dalam spesifikasi resmi XML Encryption. Batasan-batasan tersebut antara lain:
− Aplikasi bekerja secara lokal ataupun client-server yang berbasis protokol HTTP.
− Dokumen XML dan kunci enkripsi diletakan pada sebuah web server dan diakses oleh pengguna secara langsung melalui fasilitas pada aplikasi tersebut.
− Seluruh kunci cryptography yang digunakan harus selalu tersimpan dengan tipe file Keystore.
− Aplikasi menyediakan sebuah program tambahan untuk melakukan pengaturan kunci pada file keystore secara lokal.
− Aplikasi hanya akan menguji apakah suatu dokumen sudah well-formed, tetapi tidak memeriksa validitas dari struktur dokumen.
− Jenis enkripsi yang diterapkan adalah perpaduan antara Asymmetric dan Symmetric Key dengan algoritma yang digunakan adalah RSA 1.5 serta Triple DES.
− Enkripsi hanya dapat diterapkan pada elemen, isi dari elemen, sebuah secret key
dengan algoritma 3DES-cbc.
− Untuk dapat menerima dan menyimpan file, server harus menggunakan sebuah aplikasi servlet yang mampu menangani proses upload file berbasis format RFC 1867.
1.6 Metode Penelitian
Metodologi yang digunakan untuk penuliasan Tugas Akhir ini adalah, metode Studi Pustaka. Bahan-bahan untuk studi pustaka bersumber dari :
− Beberapa web site yang memuat mengenai XML, Cryptography, dan spesifikasi resmi XML Encryption yang dipublikasikan pada web site W3C.
1.7 Spesifikasi Sistem
− Borland JBuilder 8 ( JDK 1.4 )
− Apache Tomcat 4.1.24
− IBM XSS4J (XML Secutiry Suite)
− Apache Jakarta Commons-FileUpload 1.1
− Bouncy Castle 1.21 – Java Cryptographic Security Provider
1.8 Sistematika Penulisan BAB 1 Pendahuluan
Bab ini memuat penjabaran dari beberapa hal yang mendasari penulisan ini antaralain : pendahuluan, latar belakang masalah, batasan-batasan yang ditetapkan, metodologi yang digunakan, serta sistematika penulisan. BAB 2 Landasan Teori
Membahas dasar-dasar teori atau metode yang dibutuhkan dalam rangka memahami objek penulisan.
BAB 3 Perancangan Sistem
Memaparkan tujuan dan fungsi dari aplikasi yang dirancang. Selain itu juga mejelaskan mengenai rancangan antarmuka masukan, keluaran, dan logika proses yang diterapkan.
BAB 4 Implementasi dan Analisa Sistem
Memaparkan hasil implementasi sistem secara nyata, dengan menyertakan hasil rancagan antarmuka beserta contoh penggunaan aplikasi tersebut. BAB 5 Kesimpulan dan Saran
Bab ini berisi mengenai kesimpulan yang merupakan hasil analisa terhadap objek penulisan, serta saran-saran yang mungkin dapat digunakan untuk pengembangan lebih lanjut.
DAFTAR PUSTAKA
Memuat daftar refrensi yang digunakan selama penulisan tugas akhir ini. LAMPIRAN