• Tidak ada hasil yang ditemukan

BAB I PENDAHULUAN 1.1. Latar Belakang

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB I PENDAHULUAN 1.1. Latar Belakang"

Copied!
18
0
0

Teks penuh

(1)

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

(2)

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 objek enkripsi menggunakan file log.

(3)

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).

(4)

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

(5)

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.

Gambar 2. 1 Konsep Web Service

(6)

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.

(7)

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.

(8)

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.

4. Memproses SOAP Message selama proses di SoapMessageStage.

(9)

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>

(10)

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 sebelumnya.

(11)

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>

(12)

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/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle. Wrapped)] [File_Extension_(Decrypt=DecryptType.Request)]

public string hallo(string input) {

(13)

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>

(14)

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>

<xs:sequence>

<xs:element name="OrderID" type="xs:int" minOccurs="0" /> <xs:element name="CustomerID" type="xs:string" minOccurs="0" /> <xs:element name="EmployeeID" type="xs:int" minOccurs="0" /> <xs:element name="OrderDate" type="xs:dateTime" minOccurs="0" /> <xs:element name="RequiredDate" type="xs:dateTime" minOccurs="0" /> <xs:element name="ShippedDate" type="xs:dateTime" minOccurs="0" /> <xs:element name="ShipVia" type="xs:int" minOccurs="0" />

(15)

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>

(16)

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 :

(17)

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.

(18)

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.

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

Kuesioner tersebut mencakup berbagai pertanyaan menyangkut: (a) profil/karakteristik sosio-demografis responden; (b) profil/karakteristik usahatani; (c) persepsi dan

Dengan hasil penelitian ini dapat dilihat keakuratan diagnostik potong beku, sitologi imprint intraoperasi, dan gambaran USG pada pasien dengan diagnosa tumor ovarium untuk

selection and a case studi for istanbul. Hospital side selection using fuzzy ahp and its derivatives. Sistem Pendukung Keputusan Model Fuzzy AHP Dalam Pemilihan Kualitas

Suku bunga efektif adalah suku bunga yang secara tepat mendiskontokan estimasi penerimaan atau pembayaran kas di masa datang (mencakup seluruh komisi dan bentuk

Dalam uji coba produk bahan ajar Akidah Akhlak (bahan ajar komik) ini, yang menjadi subjek uji coba adalah siswa-siswa kelas V MIN Model Palangka Raya yang

Setelah itu teller akan memanggil dan nasabah akan memberikan sejumlah uang dan buku tabungan untuk meminta pencetakan transaksi setor tunai ke bank..

Syahbandar juga bertugas menaksir barang dagangan yang dibawak menarik pajak, serta menentukan bentuk dan jumlah persembahan yang harus diserahkan kepada pejabat kerajaan dengan

Berdasarkan hasil penelitian yang telah dilakukan dapat disimpulkan bahwa sistem monitoring terhadap output modul PV berupa pengukuran arus (I) dan tegangan (V) secara online