• Tidak ada hasil yang ditemukan

Muhammad Zaky Firdaus¹, -². ¹Teknik Informatika, Fakultas Teknik Informatika, Universitas Telkom

N/A
N/A
Protected

Academic year: 2021

Membagikan "Muhammad Zaky Firdaus¹, -². ¹Teknik Informatika, Fakultas Teknik Informatika, Universitas Telkom"

Copied!
22
0
0

Teks penuh

(1)

IMPLEMENTASI DAN ANALISIS KEAMANAN DATA PADA XML WEB SERVICES DENGAN ENKRIPSI SOAP IMPLEMENTATION AND ANALYSIS SECURITY DATA

ON XML WEB SERVICES USING SOAP ENCRYPTION

Muhammad Zaky Firdaus¹, -²

¹Teknik Informatika, Fakultas Teknik Informatika, Universitas Telkom Abstrak

Perkembangan Web Service yang sangat pesat membuat para pengembang perangkat lunak di dunia terus melakukan perbaikan dan pengembangan aplikasi berbasiskan Web Service. Akan tetapi kendala dalam hal keamanan transaksi data pada Web Service membuat teknologi Web Service masih belum diimplementasikan secara meluas dalam dunia industri.

Tugas akhir ini, akan mengimplementasikan dan menganalisis keamanan data pada Web Service dengan enkripsi SOAP dengan menggunakan .NET Framework 1.1 dan Visual Studio .NET 2003. Dimana implementasi proses enkripsi dan dekripsi data dilakukan dengan cara file log dan streaming dengan menggunakan algoritma enkripsi AES Rijndael yang mendukung proses enkripsi steraming data.

Sehingga dengan pengimplementasian proses enkripsi dan dekripsi pada sistem dengan

algoritma AES-Rijndael, data yang dikirim dari client ke server Web Service ataupun sebaliknya dapat terjaga kerahasiaan, dan integritasnya. Selain itu juga waktu respon sistem tidak jauh berbeda dengan Web Service tanpa menggunakan proses enkripsi dan dekripsi.

Kata Kunci : Web service, SOAP, Enkripsi, Dekripsi

Abstract

The fast growth of web services technology impacts world software developers to continuously develop and improve many applications based on web services technology. Nevertheless, data transaction security issues on web services make this technology not widely implemented in industrial area.

This final project will implement and analyze data security on web service with encrypt SOAP message using .NET framework 1.1 and Visual Studio.NET 2003. In this case, we will encrypt and decrypt SOAP message with file log and stream methods, and using AES Rijndael algorithm that support for encrypt data streaming.

With this implementation process of data security with encrypt an decrypt on Web Service using AES Rijndael algorithm, hope data integrity from sent data from client to web service server or reverse of that process. Beside that, respond time for sent encrypted data is not much different than respond time for sent not encrypted data with web service.

(2)

BAB I

PENDAHULUAN

1.1. Latar Belakang

Teknologi untuk pembuatan aplikasi sistem terdistribusi telah banyak tersedia. Salah satunya adalah Web Service. Dengan Web Service, sistem aplikasi yang telah ada dapat diintegrasikan dengan sistem aplikasi baru yang menggunakan teknologi dan platform yang berbeda. Perkembangan Web Service yang sangat pesat membuat para pengembang perangkat lunak di dunia terus melakukan perbaikan dan pengembangan aplikasi berbasiskan Web Service. Walaupun Web Service menjanjikan solusi untuk mengatasi kelemahan teknologi berbasis Web pada umumnya, namun salah satu kendala dalam hal keamanan transaksi data, membuat teknologi Web Service masih belum diimplementasikan secara meluas dalam dunia industri.

Karena teknologi keamanan yang ada saat ini masih memegang peranan penting, dengan demikian diperlukan suatu mekanisme keamanan pada data yang dipertukarkan dalam sistem Web Service yang dapat diterima luas dalam pengimplementasian Web Service, yang mendukung aspek integritas data dalam mengimplementasikan sistem berbasiskan Web Service.

Salah satu langkah dalam mengembangkan keamanan pada sistem berbasis Web Service adalah dengan mengekrispsi pesan yang dipertukarkan antara client dan server. Dan dalam menerapkan sistem keamanan data dengan cara men-enkripsi pesan yang dipertukarkan pada sistem berbasiskan Web Service, harus dipilih algoritma enkripsi yang dalam proses enkripsinya hanya membutuhkan sumber daya komputasi dan memori yang kecil serta fleksibel dalam berbagai software dan hardware. Dan pada tugas akhir ini digunakan algoritma AES-Rijndael untuk mendukung kebutuhan tersebut. Sehingga sinergi dari aplikasi Web Service dan algoritma enkripsi tersebut diharapkan menghasilkan proses

(3)

Bab I - Pendahuluan 2

enkripsi yang waktunya tidak jauh berbeda dari Web Service tanpa menggunakan proses enkripsi.

1.2. Perumusan Masalah

Permasalahan yang dijadikan objek penelitian dan pengembangan tugas akhir ini adalah mengimplementasikan dan menganalisis integritas dan keamanan data yang dikirim dan diterima pada sistem Web Service, antara Web Service dengan SOAP yang telah dienkripsi dengan cara streaming, file log dan dengan SOAP yang tidak dienkripsi menggunakan teknologi .NET .

1.3. Tujuan Pembahasan

Tujuan dari penelitian tugas akhir ini adalah :

1. Merancang dan Mengimplementasikan objek penekripsi dengan algoritma enkripsi AES-Rijndael pada XML Web Service.

2. Menguji integritas dan keamanan data dengan otentikasi user dan enkripsi data yang dikirim dan diterima pada sistem Web Service.

3. Menganalisis performansi web service yang telah menggunakan proses enkripsi dengan web service tanpa proses enkripsi dengan parameter analisisnya yaitu :

a. Menganalisis waktu proses enkripsi pada sisi server dengan waktu proses dekripsi pada sisi client.

b. Menganalisis total waktu respon antara XML Web Service dengan objek enkripsi dengan XML Web Service tanpa objek enkripsi.

c. Menganalisis total waktu respon antara XML Web Service dengan objek enkripsi streaming dan dengan XML Web Service dengan

(4)

Bab I - Pendahuluan 3

1.4. Batasan Masalah

Dalam penyusunan tugas akhir ini permasalahan dibatasi dalam beberapa hal yaitu:

1. Aplikasi ini dibangun dengan menggunakan bahasa pemrograman C# pada Microsoft Visual Studio .NET 2003 dan .NET Framework 1.1.

2. Data uji yang digunakan adalah data dari basis data Northwind pada Microsoft SQL Server 2000 , file text dan file binary.

3. Tidak membahas secara mendalam Algoritma Enkripsi dan manajemen kunci pada implementasi Algoritma Enkripsi, yang dalam hal ini menggunakan algoritma AES-Rijndael.

4. Sistem ini akan berjalan hanya pada server dan client yang sudah ter-install modul pen-enkripsi/dekripsi.

5. Aplikasi client yang digunakan hanya menggunakan aplikasi desktop.

6. Tidak membahas mengenai optimasi performansi Web Service.

7. Tidak membahas mengenai skalabilitas dari Web Service.

1.5. Metodologi Penyelesain Masalah

Metodologi yang akan digunakan untuk menyelesaikan tugas akhir ini adalah:

1. Studi Literatur, dengan mempelajari literatur-literatur yang relevan dengan permasalahan yang meliputi: studi pustaka dan referensi mengenai Web Service, SOAP Extension, Enkripsi dan Dekripsi menggunakan AES Rijndael.

2. Analisa dan Perancangan Perangkat Lunak dengan menggunakan konsep analisis dan desain yang berorientasikan objek. Dalam hal ini, pemodelan yang akan digunakan adalah UML (Unified Modeling Language).

(5)

Bab I - Pendahuluan 4

3. Implementasi secara coding berdasarkan analisa dan desain yang telah dibuat.

4. Melakukan pengujian dari sistem yang telah dibangun pada tahap implementasi.

5. Penyusunan laporan tugas akhir dan kesimpulan akhir.

1.6. Sistematika Penulisan

Tugas Akhir ini disusun berdasarkan sistematika sebagai berikut:

BAB I : Pendahuluan

Berisi latar belakang, perumusan masalah, batasan masalah, tujuan pembahasan, metodologi penyelesaian masalah dan sistematika penulisan.

BAB II : Dasar Teori

Pada bab ini membahasa teori dasar pendukung implementasi, antara lain mengenai Web Service, Kriptografi, Algoritma AES-Rijndael.

BAB III : Analisis dan Perancangan Sistem

Membahas tentang analisa dan perancangan awal sistem dengan metode RUP (Rational Unified Process) menggunakan bahasa pemodelan UML.

BAB IV : Implementasi dan Pengujian Sistem

Bab ini membahas kebutuhan perangkat lunak dan perangkat keras yang digunakan untuk merealisasikan sistem ini. Selain itu pada bab ini akan dibahas pengujian dan hasil uji coba sistem.

BAB V : Kesimpulan dan Saran

(6)

BAB II

LANDASAN TEORI

Pada bab ini akan dibahas tentang gambaran umum Web Service, SOAP, SOAP Extensions, XML Encryption, Enkripsi dengan AES Rijndael, Anatomi Kehidupan Web Service, XML Serialization, XML atau SOAP pada jaringan.

2.1. Web Service

Web Service merupakan suatu bentuk implementasi yang digunakan dalam model aplikasi N-tier. N-tier adalah suatu arsitektur yang memisahkan antara user interface, business interface dan data provider dalam bagian yang berbeda dengan banyak tier. Web Service bukanlah suatu teknologi yang spesifik, tetapi suatu teknologi sistem terdistribusi yang menggunakan protokol-protokol komunikasi HTTP, SOAP, UDDI (Universal Description Discovery and Integration) dan WSDL (Web Service Description Language). Web Service dapat digunakan secara internal oleh suatu aplikasi atau eksternal pada internet oleh berbagai macam aplikasi. Web Service mudah diakses melalui interface standar, dan Web Service juga mengizinkan bermacam-macam sistem untuk bekerja bersama-sama dalam sebuah pekerjaan.

Teknologi Web Service dapat dikembangkan pada berbagai komputer (lihat Gambar 2.1) dan platform yang menggunakan protokol-protokol diatas. Berikut ini adalah gambar konsep dan arsitektur sistem Web Service beserta penjelasannya.

(7)

Bab II – Landasan Teori 6

2.2. Simple Object Access Protocol (SOAP)

SOAP adalah sebuah protokol yang menyediakan sebuah cara standar untuk memaketkan pesan dalam lingkungan terdistribusi yang menggunakan XML, dan memfasilitasi komunikasi bergaya RPC (Remote Procedure Call) antara Remote Client dan Server. SOAP merupakan dokumen XML yang mengatur bagaimana request dan respons dari suatu Web Service akan bekerja. SOAP menggunakan teknologi XML untuk menggambarkan suatu kerangka extensible messaging yang menyediakan konstruksi pesan yang dapat dipertukarkan menggunakan beberapa protokol dasar seperti HTTP, FTP, SMTP atau yang lain.

Gambar 2. 2 Model Pertukaran Pesan Request/Response

Pesan yang dikirim antara SOAP sender dan SOAP receiver yang disebut SOAP Message atau SOAP Envelope.

2.2.1. SOAP Envelope

SOAP envelope adalah suatu kerangka yang mendefinisikan apa yang ada dalam pesan dan bagaimana pesan harus diproses serta menunjukkan resipien dari message tersebut. SOAP envelope terdiri dari :

1. SOAP Header, merupakan bagian dari SOAP message yang menampung informasi tambahan yang ingin dikirimkan yang bersifat opsional. Biasanya SOAP Header ini digunakan untuk mengirmkan informasi tentang waktu pengiriman data, mekanisme pengolahan data ataupun digunakan untuk melakukan autentikasi

2. SOAP Body, merupakan bagian utama dari SOAP message yang mengandung informasi yang ingin dikirimkan yang sifatnya wajib.

(8)

Bab II – Landasan Teori 7

Gambar 2. 3 Elemen SOAP Envelope

2.2.2. SOAP Header

Elemen header dikodekan pada elemen child dari elemen XML SOAP envelope. Semua elemen child dari elemen header disebut dengan entri-entri header.

Aturan untuk setiap entri header adalah sebagai berikut :

ƒ Sebuah entry header harus dikenali sebagai nama elemen yang betul-betul qualified, begitu pula semua elemen anaknya.

ƒ Boleh digunakan untuk menampung metadata dari data utama ataupun data yang tidak ada hubunganya sama sekali dengan data utama.

ƒ Type pengkodean boleh digunakan untuk mengindikasikan type pengkodean yang digunakan pada entry-entry header.

Keberadaan header dalam SOAP bersifat opsional.

2.2.3. SOAP Body

SOAP Body berisi muatan pesan utama yang sifatnya wajib. Pesan tersebut dapat berupa sebuah string sederhana dari karakter, byte array yang telah dikodekan.

Aturan pengkodean setiap entri body sebagai berikut :

ƒ Sebuah entri body diidentifikasikan sebagai nama elemen yang berbeda dan terdiri dari namespace URI dan nama lokal.

ƒ Atribut SOAP encoding style bisa digunakan untuk memberikan informasi tipe pengkodean yang digunakan untuk setiap entri.

(9)

Bab II – Landasan Teori 8

Contoh SOAP MESSAGE : <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <SOAP-ENV:Body> <m:GetLastTradePriceResponse xmlns:m="Some-URI"> <PriceAndVolume> <LastTradePrice> 34.5 </LastTradePrice> <DayVolume> 10000 </DayVolume> </PriceAndVolume> </m:GetLastTradePriceResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

2.3. SOAP Extension

SOAP Extension merupakan mekanisme intersepsi WebMethod yang dapat digunakan untuk memanipulasi SOAP Request atau SOAP Response sebelum pesan SOAP dikirim ke jaringan. Dengan meng-intersepsi WebMethod, maka akan dapat melakukan proses perubahan pada dokumen SOAP, seperti mengimplementasikan algoritma enkripsi untuk proses enkripsi dan dekripsi dokumen SOAP.

Pada proses serialisasi dan deserialisasi XML di fase server dan client. SOAP Extension dapat dimasukkan / disisipkan ke dalam system untuk memeriksa atau melakukan perubahan SOAP Message sebelum dan setelah proses Deserialisasi dan Serialisasi pada tiap fasenya.

Langkah-langkah untuk membangun SOAP Extension dan menjalankannya bersama XML Web Service adalah :

1. Menurunkan class dari SoapExtension.

2. Menyimpan referensi ke stream yang merepresentasikan SOAP Message. 3. Menginisialisasi data pada SOAP Extension.

(10)

Bab II – Landasan Teori 9

2.4. XML Encryption

XML Encryption adalah proses menenkripsi data untuk kemudian direpresentasikan dalam bentuk XML. Data yang dimaksud berupa sebuah elemen XML, atau isi dari elemen XML. Hasil enkripsi merupakan sebuah elemen EncryptedData dari XML Encryption yang mengidentifikasikan data hasil enkripsi.

Ketika men-enkripsi sebuah elemen atau isi dari XML, maka elemen EncryptedData akan menggantikan elemen atau isi dalam dokumen XML. Begitu juga dengan data yang lainnya, elemen EncryptedData bisa menjadi elemen teratas dari dokumen XML yang baru atau elemen anak dalam aplikasi XML yang digunakan.

Contoh data XML yang digunakan adalah sebagai berikut : DATA DALAM XML YANG BELUM DI ENKRIPSI

<?xml version=’1.0’?>

<PaymentInfo xmlns=’http://example.org/paymentv2’> <Name>Zaky</Name>

<CreditCard Limit=’5000’ Currency=’USD’> <Number>4019 2445 0277 5567</Number> <Issuer>Example Bank</Issuer> <Expiration>04/02</Expiration> </CreditCard>

</PaymentInfo>

Untuk enkripsi pada bagian isi elemen XML, misal untuk isi dari elemen

CreditCard, maka hasilnya seperti berikut :

DATA XML YANG TELAH DI ENKRIPSI

<?xml version=’1.0’?>

<PaymentInfo xmlns=’http://example.org/paymentv2’> <Name>Zaky</Name>

<CreditCard Limit=’5000’ Currency=’USD’>

<EncryptedData xmlns=’http://www.w3.org/2001/04/xmlenc#’ type=’http://www.w3.org/2001/04/xmlenc#Content’> <CipherData> <CipherValue>A23B45C56</CipherValue> </CipherData> </EncryptedData> </CreditCard> </PaymentInfo>

(11)

Bab II – Landasan Teori 10

2.5. Enkripsi AES Rijndael

Pada tugas akhir ini, proses enkripsi akan menggunakan algoritma enkripsi AES-Rijndael. Algoritma Rijndael merupakan sebuah algoritma enkripsi berjenis block cipher yang diciptakan oleh dua orang ilmuwan dari belgia bernama Joan Daemen dan Vincent Rijmen.

Algoritma AES Rijndael merupakan sebuah algoritma dengan kunci 128 bit hingga 256 bit, sehingga dengan panjang kunci yang lebih besar daripada algoritma enkripsi lainnya, kemungkinan untuk membobol kunci lebih kecil karena akan memerlukan waktu yang sangat lama, sehingga dengan semakin panjangnya kunci akan menjadi lebih aman dibandingkan dengan penggunaan kunci yang ukurannya pendek. Sebagai contoh, pada algoritma DES yang menggunakan panjang kunci 56 bit, kunci tersebut dapat dibobol dalam waktu rata-rata 5.5 detik dengan menggunakan 1000 komputer yang memiliki kemampuan enkripsi 1 milyar/detik. Jika dibandingkan dengan Rijndael yang menggunakan panjang kunci minimal berukuran 128 bit, kunci tersebut dapat dibobol dalam waktu 5.4 Trilyun tahun dengan menggunakan 1 juta komputer yang masing-masing memiliki kemampuan enkripsi 1 trilyun/detik.

Dalam tiap putaran enkripsi, algoritma Rijndael ini memerlukan empat langkah yaitu :

1. Subbytes

Merupakan substitusi non-linear untuk tiap byte dari sebuah state. 2. Shiftrows

Langkah ke dua merupakan analogi dari algoritma transposition cipher untuk melakukan transformasi terhadap matriks yang telah dihasilkan dari langkah pertama.

3. Mixcolumn

Merupakan fungsi yang melakukan iterasi terhadap tiap kolom dari matrik yang dihasilkan.

4. AddRoundKey

Merupakan langkah terakhir yang menambahkan key yang telah didefinisikan ke dalam matrik yang sudah dihasilkan dari langkah-langkah

(12)

Bab II – Landasan Teori 11

Keuntungan dari penggunaan algoritma AES-Rijndael adalah :

1. Terciptanya sebuah kunci rahasia yang telah disepakati sebelumnya oleh pihak yang akan melakukan enkripsi dan pihak yang akan melakukan dekripsi data.

2. Karena kesederhanaan desain AES-Rijndael, sehingga memiliki fleksibilitas dan kecepatan men-enkripsi.

3. Dapat enkrip data masukan 32 bit atau 64 bit, sehingga dapat men-enkrip aliran data secara streaming.

2.6. XML Serialization

XML Serialization mengkonversi field-field dan properti sebuah objek atau parameter dan mengembalikan nilai dari sebuah method ke dalam sebuah XML stream yang sesuai dengan dokumen XML Schema Definition language (XSD), dan SOAP Specification. XML Serialization juga mendasari mekanisme transpor yang digunakan pada Web Service.

Berikut ini merupakan contoh dari XML Serialization, terdapat sebuah method yang akan diserialisasikan yaitu :

CONTOH METHOD YANG AKAN DISERIALIASI

<WebMethod, SoapDocumentMethod> _

public Function MyLiteralMethod(<XmlElement _

("MyOrderID", Namespace:="http://www.microsoft.com")>ID As String) As _

<XmlElement(Namespace:="http://www.cohowinery.com", _ ElementName:= "BookOrder")> _

Order

Dim myOrder As Order = New Order() myOrder.OrderID = ID

return myOrder End Function

Dan hasil dari serialisasi dalam bentuk XML adalah :

CONTOH METHOD YANG SUDAH DISERIALIASI

<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <MyLiteralMethod xmlns="http://tempuri.org/"> <MyOrderID xmlns="http://www.microsoft.com">string</MyOrderID> </MyLiteralMethod> </soap:Body> </soap:Envelope>

(13)

Bab II – Landasan Teori 12

2.7. Anatomi Kehidupan Web Service

Proses yang terjadi pada saat pemanggilan Web Service mirip dengan pemanggilan biasa (Regular Method Call). Perbedaan yang utama terletak pada aplikasi di sisi client, dengan membuat request message pada protokol transpor seperti HTTP. Karena Web Service method dapat ditempatkan pada komputer yang berbeda, maka informasi yang dibutuhkan Web Service untuk memproses request harus dilewatkan melalui jaringan ke server Web Service. Web Service akan memproses dan memberikan hasilnya melalui jaringan ke aplikasi client.

Gambar 2. 4 Anatomi kehidupan Web Service

Berikut ini adalah gambaran kehidupan dari Web Service yang terdefinisi dari gambar di atas yang diilustrasikan dalam contoh pemakaian Web Service sederhana.

SOURCE PADA APLIKASI CLIENT

private void button2_Click(object sender, System.EventArgs e) {

Test.localhost.Service1 ws = new Test.localhost.Service1(); textBox1.Text = ws.hallo("ZAKY");

}

SOURCE PROXY OBJECT

[System.Web.Services.Protocols.SoapDocumentMethodAttribute

("http://tempuri.org/hallo",RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/",

(14)

Bab II – Landasan Teori 13

return ((string)(results[0])); }

/// <remarks/>

public System.IAsyncResult Beginhallo(string input, System.AsyncCallback callback, object asyncState) {

return this.BeginInvoke("hallo", new object[] {input},callback, asyncState);

}

/// <remarks/>

public string Endhallo(System.IAsyncResult asyncResult) { object[] results = this.EndInvoke(asyncResult);

return ((string)(results[0])); }

SOURCE LAYANAN DI SERVER [WebMethod]

[File_Extension_DES_(Encrypt=EncryptType.Response)] public string hallo(string input)

{

return "HALLO "+input; }

AFTER SERIALISASI CLIENT & BEFORE DESERIALISASI SERVER <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <hallo xmlns="http://tempuri.org/"><input>ZAKY</input></hallo> </soap:Body> </soap:Envelope>

AFTER SERIALISASI SERVER & BEFORE DESERIALISASI CLIENT <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <halloResponse xmlns="http://tempuri.org/"> <halloResult>HALLO ZAKY</halloResult> </halloResponse> </soap:Body> </soap:Envelope>

(15)

Bab II – Landasan Teori 14

2.8. XML atau SOAP pada Jaringan

Semua SOAP request dan SOAP response Web Service dikirimkan melalui jaringan dengan menggunakan arsitektur XML.

Pesan SOAP tersebut merupakan informasi nyata yang melewati jaringan setelah adanya permintaan dari client ke Web Service. Pada Web Service yang komplek, maka SOAP response bisa menjadi data yang sangat besar. Sebagai contoh, ketika sebuah basis data yang mempunyai beberapa kolom dan lebih dari seribu record maka bisa dipastikan ukuran SOAP response yang akan dikirimkan pasti akan sangat besar, bisa dilihat pada contoh berikut ini :

SOURCE PADA APLIKASI CLIENT

private void bt_NoEnc_Ord_Click(object sender, System.EventArgs e) {

localhost1.Service1 ws_Ord = new localhost1.Service1(); DataGrid1.DataSource = ws.getOrders()

}

Dan pada service terdapat sebuah fungsi untuk menampilkan database Northwind pada tabel orders :

SOURCE LAYANAN PADA SERVER

[WebMethod]

public string GetOrders() {

SqlConnection con = new SqlConnection(connect.connection()); DataSet ds = new DataSet();

SqlDataAdapter adapt = new

SqlDataAdapter(connect.query_orders(),con);

adapt.Fill(ds,"dataset"); return ds;

}

Data yang dihasilkan dan dikirimkan Fungsi getOrders pada jaringan adalah sebagai berikut :

DATA XML YANG DIHASILKAN

<?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://tempuri.org/">

<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

<xs:element name="NewDataSet" msdata:IsDataSet="true"> <xs:complexType>

<xs:choice maxOccurs="unbounded"> <xs:element name="Orders"> <xs:complexType>

(16)

Bab II – Landasan Teori 15

<xs:element name="Freight" type="xs:decimal" minOccurs="0" /> <xs:element name="ShipName" type="xs:string" minOccurs="0" /> <xs:element name="ShipAddress" type="xs:string" minOccurs="0" /> <xs:element name="ShipCity" type="xs:string" minOccurs="0" /> <xs:element name="ShipRegion" type="xs:string" minOccurs="0" /> <xs:element name="ShipPostalCode" type="xs:string" minOccurs="0" /> <xs:element name="ShipCountry" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <NewDataSet xmlns="">

<Orders diffgr:id="Orders1" msdata:rowOrder="0"> <OrderID>10248</OrderID> <CustomerID>WILMK</CustomerID> <EmployeeID>5</EmployeeID> <OrderDate>1996-07-04T00:00:00.0000000+07:00</OrderDate> <RequiredDate>1996-08-01T00:00:00.0000000+07:00</RequiredDate> <ShippedDate>1996-07-16T00:00:00.0000000+07:00</ShippedDate> <ShipVia>3</ShipVia> <Freight>32.38</Freight>

<ShipName>Vins et alcools Chevalier</ShipName> <ShipAddress>59 rue de l'Abbaye</ShipAddress> <ShipCity>Reims</ShipCity> <ShipPostalCode>51100</ShipPostalCode> <ShipCountry>France</ShipCountry> </Orders> --- --- berlanjut --- ---

<Orders diffgr:id="Orders830" msdata:rowOrder="829"> <OrderID>11077</OrderID> <CustomerID>RATTC</CustomerID> <EmployeeID>1</EmployeeID> <OrderDate>1998-05-06T00:00:00.0000000+07:00</OrderDate> <RequiredDate>1998-06-03T00:00:00.0000000+07:00</RequiredDate> <ShipVia>2</ShipVia> <Freight>8.53</Freight>

<ShipName>Rattlesnake Canyon Grocery</ShipName> <ShipAddress>2817 Milton Dr.</ShipAddress> <ShipCity>Albuquerque</ShipCity> <ShipRegion>NM</ShipRegion> <ShipPostalCode>87110</ShipPostalCode> <ShipCountry>USA</ShipCountry> </Orders> </NewDataSet> </diffgr:diffgram> </DataSet>

(17)

Bab II – Landasan Teori 16

2.9. Ilustrasi Proses

Tahapan – tahapan proses yang terjadi pada masing-masing metode adalah sebagai berikut :

• Web Service tanpa melalui proses Enkripsi :

Gambar 2.5 Proses Web Service Tanpa Enkripsi

• Web Service melalui proses Enkripsi dengan log file:

Gambar 2.6 Proses Enkripsi Web Service dengan log file

• Web Service melalui proses Enkripsi langsung :

(18)

Bab II – Landasan Teori 17

2.10. Parameter Pengujian

2.10.1

Pengujian Keamanan Data

Pengujian keamanan data pada pengimplementasian sistem pada lingkungan client-server ini adalah dengan cara melakukan otentikasi user/client pada server dengan menggunakan fasilitas Web Service, dengan cara validasi username, password, IP Address Client, dan timestamp.

2.10.1.1 Pengujian menggunakan Sniffer

Pengujian ini dilakukan dengan membaca pesan yang dikirimkan client atau server pada jaringan.

Dengan dilakukannya enkripsi SOAP pada pertukaran data, diharapkan paket yang terbaca lewat jaringan tidak dapat di dekripsi, ataupun di artikan oleh pihak yang tidak diinginkan.

2.10.1.2 Pengujian menggunakan metode Replay Attack

Replay attack adalah cara untuk mendapatkan pesan yang dikirimkan ke server ataupun yang dikirimkan dari server dengan cara pihak yang tidak berhak meng-copy pesan yang lewat di jaringan, kemudian pesan tersebut dikirimkan oleh pihak tersebut ke server.

Dengan dilakukan enkripsi SOAP dan otentikasi user, pesan yang dikirimkan lewat jaringan dapat terjaga keamanannya dan server juga dapat terjaga keamanannya dari pihak yang tidak berhak me-request data ke server.

2.10.1.3 Pengujian Integritas Data dengan Checksum MD5

Data yang dipertukarkan pada sistem Web Service akan dikatakan aman, jika integritas data terjaga pada saat sebelum proses enkripsi dan setelah proses enkripsi / dekripsi.

2.10.2 Pengujian Performansi Web Service

Pengujian performansi Web Service akan dilakukan dengan menggunakan dua parameter, yaitu :

• Total Waktu Respon :

Diharapkan total waktu respon pada sisi client tidak jauh berbeda antara sistem Web Service tanpa enkripsi dan dengan proses enkripsi.

(19)

Bab II – Landasan Teori 18

• Waktu Proses :

Diharapkan waktu proses enkripsi dan dekripsi kecil, sehingga dengan waktu proses yang kecil maka meminimalisasi total waktu proses pertukaran data.

2.11. Hipotesa Awal

• Pengujian menggunakan sniffer

¾ Dengan men-sniffing data pada jaringan, data yang terbaca tidak dapat dimengerti oleh pihak yang melakukan sniffing.

• Pengujian menggunakan metode reply attack

¾ Ketika ada pihak yang melakukan serangan dengan metode reply attack, server layanan tidak memberikan respon berdasarkan serangan reply attack tersebut, karena server layanan dapat mengenali client-nya dengan otentikasi user.

• Pengujian integritas data dengan Checksum MD5

¾ Data yang diterima pada sisi client, akan sama dengan yang dikirimkan oleh server. Hal ini akan diketahui setelah membandingkan key data pada server dengan key data pada client dengan menggunakan key hasil

checksum memakai checksum MD5. • Total Waktu Respon

¾ Total Waktu respon untuk Web Service yang tidak memakai objek enkripsi memiliki total waktu respon yang paling kecil.

¾ Total Waktu Respon untuk Web Service yang memakai objek enkripsi dengan cara file log memiliki total waktu respon lebih lama dari Web Service yang tidak memakai objek enkripsi.

¾ Total Waktu respon untuk Web Service yang memakai objek enkripsi stream memiliki total waktu respon relatif lebih cepat dari Web Service yang memakai objek enkripsi file log.

• Waktu Proses

¾ Waktu proses untuk Web Service yang memakai objek enkripsi stream memiliki waktu respon relatif lebih cepat dari Web Service yang memakai objek enkripsi file log.

(20)

Bab V – Kesimpulan dan Saran

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan percobaan dan analisa yang telah dibahas dan dilaksanakan pada bab IV, maka dapat disimpulkan beberapa hal sebagai berikut:

• Pada pertukaran data di Web Service, data yang dipertukarkan dapat terjaga keamanan, kerahasiaan dan integritasnya dengan melakukan proses enkripsi dan dekripsi dengan bantuan SOAP Extension.

• Waktu proses enkripsi dan dekripsi dengan menggunakan enkripsi streaming relatif lebih kecil dibanding dengan menggunakan enkripsi dengan file log.

• Waktu Respon dari proses yang tanpa objek enkripsi lebih kecil dibanding dengan menggunakan objek enkripsi streaming maupun dengan objek enkripsi dengan file log.

• Waktu Respon dari enkripsi dengan menggunakan enkripsi streaming relatif lebih kecil dibanding dengan menggunakan enkripsi dengan file log, namun hal ini akan dipengaruhi dari kondisi trafik jaringan pada saat melakukan transaksi data.

5.2. Saran

• Dapat dilakukannya penelitian lebih lanjut tentang implementasi keamanan data selain dengan cara menenkripsi. Misalkan dengan cara firewall, authentikasi, HTTPS dll.

• Selain menggunakan algoritma Rijndael, dapat dibandingkan waktu respon, waktu proses dengan menggunakan algoritma enkripsi lainnya. • Pada sisi client, objek enkripsi tidak hanya untuk aplikasi desktop, tetapi

(21)

DAFTAR PUSTAKA

[1] Ballinger, Keith 2004, “.NET Web Services Architecture and Implementation” , Jakarta, PT Elex Media Komputindo.

[2] Ballinger, Keith. Fun with SOAP Extension. Microsoft Corporation. MSDN, March 22nd 2001.

[3] Hardiwinata, Mario 2003, “Solusi Pemrograman XML Web Service Dengan Visual Basic.Net”, Jakarta, PT Elex Media Komputindo.

[4] Howard, Rob. Encrypting SOAP Messages. Microsoft Corporation. MSDN, September 2001.

[5] Http://codeproject.com/csharp/Using_CryptoStream.asp, Willemm, “Using CryptoStream in C#”, 2004.

[6] Larman, Craig, 1998, Applying UML and Pattern, Prentice Hall

[7] MSDN 2004, “Altering the SOAP Message Using SOAP Extension”. .NET Framework Developer’s Guide.

[8] Short, Scott 2003, ”Building XML Web Services for the Microsoft .NET Platform” , Jakarta, PT Elex Media Komputindo.

[9]

Syofyan, Muhammad. Tugas Akhir: Implementasi Sistem Keamanan Web Services Terpusat Menggunakan XML Signature dan XML Encryption. Jurusan Teknik Informatika STT Telkom Bandung, 2004.

[10] Wahyudi, Dhien Kukuh. Optimalisasi Web Service dengan Kompresi SOAP Message.

(22)

DAFTAR PUSTAKA

[1] Ballinger, Keith 2004, “.NET Web Services Architecture and Implementation” , Jakarta, PT Elex Media Komputindo.

[2] Ballinger, Keith. Fun with SOAP Extension. Microsoft Corporation. MSDN, March 22nd 2001.

[3] Hardiwinata, Mario 2003, “Solusi Pemrograman XML Web Service Dengan Visual Basic.Net”, Jakarta, PT Elex Media Komputindo.

[4] Howard, Rob. Encrypting SOAP Messages. Microsoft Corporation. MSDN, September 2001.

[5] Http://codeproject.com/csharp/Using_CryptoStream.asp, Willemm, “Using CryptoStream in C#”, 2004.

[6] Larman, Craig, 1998, Applying UML and Pattern, Prentice Hall

[7] MSDN 2004, “Altering the SOAP Message Using SOAP Extension”. .NET Framework Developer’s Guide.

[8] Short, Scott 2003, ”Building XML Web Services for the Microsoft .NET Platform” , Jakarta, PT Elex Media Komputindo.

[9]

Syofyan, Muhammad. Tugas Akhir: Implementasi Sistem Keamanan Web Services Terpusat Menggunakan XML Signature dan XML Encryption. Jurusan Teknik Informatika STT Telkom Bandung, 2004.

[10] Wahyudi, Dhien Kukuh. Optimalisasi Web Service dengan Kompresi SOAP Message.

Gambar

Gambar 2. 1 Konsep Web Service
Gambar 2. 2 Model Pertukaran Pesan Request/Response
Gambar 2. 3 Elemen SOAP Envelope
Gambar 2. 4 Anatomi kehidupan Web Service
+2

Referensi

Dokumen terkait

Gelas obyek yang akan digunakan di aseptis dahulu dengan alkohol 70% agar tidak terdapat mikroorganisme yang tidak diinginkan saat perlakuan, kemudian bakteri

Pembalakan ilegal terjadi secara luas dan sistematis dibanyak wilayah Indonesia, dan pada tahun 2000, memasuki sekitar 50 sampai 70 persen kebutuhan kayu

Skripsi yang berjudul: “Fungsi Badan Permusyawaratan Desa dalam Mewujudkan Aparatur Desa yang Bersih dari KKN di Desa Cukan Lipai Kecamatan Batang Alai Selatan

Dengan cara yang sama pula seperti yang telah dilakukan sebelumnya, maka dalam menghitung nilai reliabilitas (construct reliability), untuk variabel emphaty adalah sebesar

detik ke-25 temperatur yang diinginkan tidak mencapai set point yang diinginkan hal ini terjadi karena Proporsional Band yang tinggi, sehingga menyebabkan bukaan valve pada air

Besarnya displacement horisontal bored pile walls untuk kedua tipe tanah yang ditinjau dengan penambahan sirtu di atas lapisan soft clay dapat dilihat pada Tabel 4.3 dan

Adapun permasalahan yang akan diteliti dalam tugas akhir ini adalah bagaimana mengimplementasikan berbagai tingkatan QoS dengan menggunakan arsitektur Diffserv pada jaringan

Apabila sistem yang digunakan untuk memprediksikan nilai tenaga listrik yang perlu dibangkitkan oleh P.T PLN belum disediakan maka applikasi yang akan dibangun oleh penulis