contoh ta
TRANSCRIPT
1
TUGAS AKHIR
Implementasi Enkripsi XML Menggunakan XSLT 2.0
Pungki Hadi Purnomo
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS GADJAH MADA
YOGYAKARTA
2008
2
BAB I
PENDAHULUAN
1.1. Latar Belakang
XML, Extensible Markup Language, merupakan bahasa metadata dengan
fleksibilitas yang tinggi, sehingga telah banyak diadopsi sebagai format standar
untuk proses pertukaran data [1]. RSS, Really Simple Syndication, adalah salah
satu contoh teknologi mengadopsi XML.
RSS dengan menggunakan format web feeds berfungsi untuk
mempublikasikan informasi digital yang diperbaharui secara berkala. RSS
memfasilitasi seorang pemilik website untuk mempublikasikan dan
mempertukarkan data secara digital melalui web. Penggunaan RSS banyak
ditemui pada situs blog, situs berita, situs multimedia sharing dan podcast [2].
Pengamanan terhadap data yang dipertukarkan merupakan salah satu
kebutuhan yang muncul pada proses pertukaran data. W3C telah
merekomendasikan Enkripsi XML sebagai metode alternatif untuk pengamanan
data dengan menggunakan format XML. Namun demikian, Enkripsi XML
dirancang untuk dapat diterapkan baik pada data XML maupun data non XML.
Implementasi Enkripsi XML memungkinkan penggabungan data yang
telah dienkripsi dengan data yang tidak dienkripsi di dalam satu dokumen XML.
Dengan demikian, proses enkripsi maupun dekripsi dapat dilakukan hanya pada
data yang memang perlu diamankan saja [3].
3
Enkripsi XML telah diimplementasikan baik pada level aplikasi maupun
pada level parser. Pada level aplikasi, implementasi Enkripsi XML paling banyak
dibuat dengan menggunakan DOM, Document Object Model [4].
Sementara pada level parser, implementasi Enkripsi XML di antaranya
dibuat dengan menggunakan parser Xerces [5].
Enkripsi XML secara umum dapat dianggap sebagai proses transformasi
dokumen XML yang belum terenkripsi ke dokumen XML yang sudah terenkripsi.
W3C telah merekomendasikan XSLT, Extensible Stylesheet Language
Transformations, sebagai bahasa transformasi untuk dokumen XML. Dengan
demikian, maka XSLT sebagai bahasa transformasi untuk XML dapat digunakan
untuk mengimplementasikan Enkripsi XML [6].
1.2. Rumusan Masalah
Berdasarkan latar belakang di atas, rumusan masalah dalam tugas akhir ini
adalah :
1. Bagaimana menganalisa teknik penggunaan XSLT versi 2.0 untuk
mengimplementasikan Enkripsi XML?
2. Bagaimana menerapkan implementasi Enkripsi XML untuk keamanan data
yang dipertukarkan melalui RSS feeds?
1.3. Batasan Masalah
Batasan masalah yang digunakan pada tugas akhir ini adalah :
1. Implementasi dirancang tanpa harus melakukan modifikasi pada engine
XSLT.
4
2. Implementasi dititikberatkan pada proses penyusunan dokumen XML
terenkripsi, bukan pada algoritma enkripsi dan enkripsi data.
3. Implementasi dibuat hanya untuk sumber data XML.
4. Enkripsi XML diterapkan hanya pada satu elemen atau isi elemen tersebut.
1.4. Tujuan Penulisan
Penulisan tugas akhir ini bertujuan untuk :
1. Mengimplementasikan Enkripsi XML dengan menggunakan XSLT versi
2.0 yang merupakan bahasa transformasi untuk XML. Implementasi
dirancang sedemikian hingga tidak perlu modifikasi pada engine XSLT
yang digunakan.
2. Menerapkan implementasi yang dibuat untuk pengamanan data yang
dipertukarkan melalui RSS feeds.
1.5. Tinjauan Pustaka
Bilal Siddiqui memperkenalkan generasi pertama implementasi Enkripsi
XML pada paper yang terdiri dari dua bagian, Exploring XML Encryption Part 1
dan Part 2. Implementasi tersebut dibangun dengan menggunakan DOM dan
ditulis dalam bahasa Java [3 & 4].
W3C mengeluarkan draft rekomendasi untuk Enkripsi XML, XML
Encryption Syntax and Processing, yang mencakup sintaks formal dan aturan
pemrosesan. Draft rekomendasi tersebut juga dilengkapi dengan contoh
penggunakan Enkripsi XML [7].
Imamura, Clark dan Maruyama dalam paper A Stream-based
Implementation of XML Encryption menuliskan hasil pengujian implementasi
5
Enkripsi XML pada level parser dengan menggunakan parser Xerces.
Implementasi tersebut bertujuan mengoptimasi waktu pemrosesan Enkripsi XML
dengan menghilangkan proses serialisasi node yang akan dienkripsi [5].
Bartlett dan Cook mengusulkan pengamanan data XML dengan
menggunakan XSLT sebagai bahasa transformasi untuk XML dalam paper XML
Security Using XSLT. Implementasi ini didasarkan pada asumsi bahwa proses
pengamanan data XML pada dasarnya merupakan proses transformasi suatu
dokumen XML yang belum terenkripsi ke dokumen XML yang telah terenkripsi
dan sebaliknya. Implementasi diusulkan dengan menggunakan XSLT versi 1.0
dengan penambahan fitur pada engine XSLT yang digunakan [6].
W3C mengeluarkan draft rekomendasi XSLT versi 2.0, XSL
Transformations (XSLT) Version 2.0, yang merupakan bahasa transformasi XML
generasi kedua. XSLT versi 2.0 dilengkapi dengan fitur-fitur yang lebih handal
dari versi sebelumnya dan memungkinkan manipulasi dan transformasi dokumen
XML menjadi lebih mudah. XSLT versi 2.0 dilengkapi dengan jumlah fungsi
bawaan yang jauh lebih banyak dibandingkan dengan versi sebelumnya [8].
Novatchev memperkenalkan suatu library yang dikenal dengan nama
FXSL, the Functional Programming Library for XSLT, pada papernya Higher-
Order Functional Programming with XSLT 2.0 and FXSL. Dengan menggunakan
library tersebut, maka XSLT dapat digunakan layaknya suatu bahasa
pemrograman fungsional. Novatchev menuliskan beberapa contoh aplikasi yang
dapat dibuat dalam bahasa XSLT dengan memanfaatkan library FXSL [9].
Georges menulis dan memperkenalkan serializer dalam bahasa XSLT
berdasarkan library FXSL [10]. Serialisasi merupakan salah satu proses penting
pada implementasi Enkripsi XML.
6
1.6. Metodologi Penelitian
Penyusunan tugas akhir ini menggunakan metodologi sebagai berikut :
1. Studi Literatur
Tahap ini mencakup pembelajaran materi Enkripsi XML, XSLT dan RSS
feeds.
2. Analisa dan Perancangan Implementasi
Tahap ini mencakup analisa aturan pemrosesan Enkripsi XML berdasarkan
spesifikasi yang dikeluarkan oleh W3C [7], serta menganalisa Serializer
untuk XML yang diimplementasikan dengan XSLT [10]. Proses enkripsi
maupun dekripsi data XML kemudian dirancang berdasarkan pada aturan
pemrosesan Enkripsi XML tersebut dengan memodifikasi Serializer.
3. Uji coba
Tahap ini mencakup uji coba Implementasi Enkripsi XML dengan cara
mengeksekusi XSLT menggunakan engine Saxon.
4. Penerapan Implementasi
Tahap ini mencakup penerapan Implementasi Enkripsi XML untuk
pengamanan data yang dipertukarkan melalui RSS feeds.
5. Pengambilan Kesimpulan
Tahap ini mencakup pengambilan kesimpulan dari rangkaian langkah yang
telah dilakukan sebelumnya.
7
1.7. Sistematika Penulisan
Tugas akhir ini disusun dalam lima bab sebagai berikut :
1. BAB I PENDAHULUAN
Bab ini mencakup latar belakang, rumusan dan batasan masalah, tujuan
dan metodologi penelitian, tinjauan pustaka serta sistematika
penulisan.
2. BAB II DASAR TEORI
Bab ini mencakup uraian materi Enkripsi XML, XSLT dan RSS feeds.
3. BAB III IMPLEMENTASI ENKRIPSI XML DENGAN XSLT
Bab ini mencakup analisa aturan pemrosesan, rancangan sintaks XSLT
untuk Enkripsi XML, dan pengujian implementasi menggunakan
engine Saxon.
4. BAB IV PENERAPAN IMPLEMENTASI
Bab ini mencakup pembahasan penerapan implementasi untuk
keamanan data yang dipertukarkan pada RSS feeds.
5. BAB V KESIMPULAN
Bab ini mencakup kesimpulan tugas akhir dan gambaran kemungkinan
pengembangan di masa mendatang.
8
DAFTAR PUSTAKA SEMENTARA
[1] XML Data Standards for Micro-finance Information Exchange
Tapan Parikh dan James Dailey, 2003
http://people.ischool.berkeley.edu/~parikh/papers/datastandards.pdf
[2] White Paper : RSS Feeds
Scott Williams, 2007
http://www.citidc.com/doc/whitepapers/CITI_RSS.pdf
[3] Exploring XML Encryption, Part 1
Bilal Siddiqui, 2002
http://www.ibm.com/developerworks/xml/library/x-encrypt/
[4] Exploring XML Encryption, Part 2
Bilal Siddiqui, 2002
http://www.ibm.com/developerworks/library/x-encrypt2/
[5] A Stream-based Implementation of XML Encryption
Takeshi Imamura dan Andy Clark dan Hiroshi Maruyama, 2002
http://www.research.ibm.com/XML/RT0497byTakeshiImamuraAndyClarkHiroshiMa
ruyama.pdf
[6] XML Security Using XSLT
R. G. Bartlett and M. W. Cook, 2002
http://csdl2.computer.org/comp/proceedings/hicss/2003/1874/04/187440122b.pdf
9
[7] XML Encryption Syntax and Processing
W3C Takeshi Imamura, Blair Dillaway, Ed Simon, 2002
http://www.w3.org/TR/xmlenc-core/
[8] XSL Transformations (XSLT) Version 2.0
W3C Michael Kay, Saxonica, 2007
http://www.w3.org/TR/xslt20/
[9] Higher-Order Functional Programming with XSLT 2.0 and FXSL
Dimitre Novatchev, 2006
http://www.idealliance.org/papers/extreme/proceedings/xslfo-
pdf/2006/Novatchev01/EML2006Novatchev01.pdf
[10] XML serializer in XSLT 2.0, using FXSL
Florent Georges, 2007
http://www.fgeorges.org/xslt/serial/