5
usurpation (pengendalian secara ilegal terhadap bagian-bagian dari sistem). Kebijakan (Policy) Security policy (kebijakan keamanan) merupakan sebuah pernyataan mengenai hal-hal yang diperbolehkan dan dilarang. Untuk itu, diperlukan mekanisme agar kebijakan dapat terlaksana seperti yang ditetapkan. Mekanisme keamanan dalam sistem pada penelitian ini akan menangani kebijakan-kebijakan yang selanjutnya akan dicantumkan, namun secara umum kebijakan akan dibuat terhadap individu yang menggunakan sistem dan sistem itu sendiri. Spesifikasi (Specification) Specification merupakan penyataan baik formal maupun informal mengenai fungsionalitas yang dikehendaki dari sistem. Pada penelitian ini, sistem GIS dituntut agar dapat menjalankan mekanisme keamanan sesuai dengan kebijakan-kebijakan yang telah ditetapkan. Oleh karena itu, perlu dibuat beberapa spesifikasi keamanan yang menjelaskan fungsionalitas sistem dalam memenuhi kebijakan. Perancangan (Design) Pada tahap design, akan dilakukan penerjemahan terhadap spesifikasi yang telah dibuat menjadi komponen-komponen yang dapat diimplementasikan. Sebuah rancangan yang ideal sebaiknya tidak keluar dari spesifikasi yang telah ditetapkan. Pada penelitian ini, sistem akan dirancang dengan tiga komponen utama, yaitu perancangan autentikasi bagi user sesuai dengan tingkat otoritasnya, perancangan pengamanan bagi data GIS, dan perancangan bagi pembacaan data vektor (shapefile) beserta file dbf-nya. Implementasi (Implementation) Sistem pada penelitian ini diimplementasikan menurut perancangan yang telah ada agar memenuhi spesifikasi. Dalam penerapannya, digunakan Windows 7 32-bit sebagai sistem operasi, Visual Basic .Net sebagai platform berbasis desktop dan program editor, serta MapWinGIS ActiveX Control sebagai engine yang berperan dalam pengolahan shapefile. Selain itu, Rijndael (AES) dengan kunci 256 bits berfungsi menjalankan enkripsi-dekripsi menggunakan kunci simetrik, dan KDF berfungsi sebagai peningkat keamanan terhadap kunci itu sendiri.
Analisis Kinerja Sistem Tahap akhir, yaitu analisis kinerja sistem secara keseluruhan meliputi dua hal utama terkait dengan kinerja fungsionalitas pada sistem yang menangani pembacaan dan pengamanan shapefile, serta waktu memuat (loading) yang dibutuhkan untuk melakukan kedua hal tersebut yang idealnya sesuai dengan perancangan yang telah ditetapkan. Terkait dengan waktu loading akan dianalisis mengenai efek dari dekripsi dan jumlah iterasi yang berbeda.
HASIL DAN PEMBAHASAN Ancaman (Threats) Layanan keamanan merupakan pembahasan utama yang difokuskan dalam sistem ini. Secara umum, mekanisme keamanan pada sistem GIS ini bertanggungjawab dalam mengamankan shapefile. Ancaman-ancaman yang dapat merusak keamanan tersebut ialah sebagai berikut: Usaha untuk memperoleh akses terhadap sistem dengan menggunakan identitas yang tidak sebenarnya (spoofing). Ancaman ini tergolong ke dalam kelas usurpation. Spoofing berpotensi dilakukan ketika sistem GIS tidak memiliki mekanisme autentikasi dan/atau user tidak melindungi passwordnya yang berperan sebagai kunci yang akan digunakan bagi proses enkripsi dan dekripsi. Usaha untuk menyingkap data yang dirahasiakan (information disclosure). Ancaman ini tergolong ke dalam kelas disclosure, yaitu ketika penyerang (attacker) berhasil memperoleh hak akses ke dalam sistem GIS, maka data vektor yang bersifat rahasia akan tersingkap. Usaha untuk memodifikasi data secara ilegal (tampering). Ketika penyerang (attacker) berhasil melakukan perolehan hak akses dan penyingkapan data vektor, maka dimungkinkan baginya untuk mengubah data yang ada di dalamnya baik shapefile (data vektor) itu sendiri maupun file dbf yang terkait dengan shapefile, sehingga ancaman ini akan membawa kepada kelas deception. Usaha untuk memperoleh kendali atas bagian-bagian fungsionalitas dari sistem (elevation of privilege). Ancaman ini tergolong ke dalam kelas disruption. Saat penyerang memperoleh kendali, salah satu yang dapat dilakukannya ialah
6
pengenkripsian yang sesuai dengan kehendaknya pada shapefile. Artinya, hanya penyerang yang mengetahui kunci dekripsinya sehingga user yang memiliki hak akses sebenarnya tidak dapat memanfaatkan data GIS yang diinginkan. Kebijakan (Policy) Kebijakan dibuat mencakup aspek individu dan sistem terkait. Terkait dengan ancamanancaman yang telah diasumsikan, kebijakan terkait dengan individu ialah setiap user yang menggunakan sistem harus memiliki password yang digunakan baik untuk masuk ke sistem, melihat isi shapefile (pengguna biasa), maupun untuk proses enkripsi (admin). Sedangkan bagi sistem akan dibuat kebijakan hanya akan menerima satu user terotorisasi pada satu waktu sehingga fungsi-fungsi dalam sistem dapat berjalan teratur dan akan menolak user yang tidak memiliki akses ke sistem serta user yang tidak memiliki cukup privilege untuk melakukan enkripsi-dekripsi shapefile tertentu walaupun telah memiliki hak akses untuk memasuki sistem. Artinya, sistem akan membedakan pengguna ke dalam dua jenis, yaitu pengguna dengan hak akses penuh dan tidak. Kebijakan-kebijakan tersebut diharapkan mampu mengurangi risiko terhadap ancamanancaman yang telah disebutkan.
Fungsi enkripsi dan dekripsi, melakukan tugasnya sebagai pengaman shapefile dengan penyandian berdasarkan kunci yang dibangkitkan, sehingga shapefile yang terenkripsi tidak dapat ditampilkan baik dalam bentuk peta maupun file dbf yang terkait, dan didekripsi jika password yang dimasukkan oleh pengguna sesuai seperti saat melakukan enkripsi. Perancangan (Design) Perancangan sistem yang menangani shapefile secara keseluruhan, yaitu tiga komponen utama yang telah disebutkan di subbab perancangan pada bab metodologi penelitian dapat dillihat pada Gambar 7. Mulai
Username Password
Tidak
Validasi Autentikasi?
Spesifikasi (Specification) Ya
Sistem yang berperan dalam menampilkan data vektor GIS dan memberi perlindungan terkait keamanan memiliki spesifikasi fungsi utama sebagai berikut:
Proses menampilkan dan mengamankan shapefile
Fungsi autentikasi, berperan dalam membedakan antara user yang memiliki otoritas dan yang tidak. Fungsi pembacaan shapefile, berperan dalam menampilkan file .shp ke dalam sistem. Fungsi ini mencakup prosedur standar dalam menampilkan sebuah data spasial yang terdiri dari labels, tooltip, zoom in, zoom out, pan, dan extent. Fungsi pembacaan file dbf, berperan dalam menampilkan file (.dbf) yang bersesuaian dengan shapefile yang ditampilkan ataupun membacanya tanpa menampilkan shapefile terlebih dahulu. Fungsi pembangkitan kunci simetrik, dibuat sesuai dengan password yang dimasukkan oleh user pada saat autentikasi atau berbeda dengan saat autentikasi.
lih. Gambar 8 Tidak
Keluar dari Autentikasi?
Ya
Selesai
Gambar 7 Alur perancangan. Gambar 8 menjelaskan lebih rinci mengenai proses menampilkan dan mengamankan shapefile dan file dbf, yang terbagi menjadi tiga komponen, yaitu pembaca shapefile, pengaman shapefile, dan penyimpan shapefile.
7
Pembaca Shapefile
Pengaman Shapefile
Penyimpan Shapefile
User Authentication Request Protection
Request Shapefile
Return Protection
Return Shapefile
User Authentication Request Shapefile Return Shapefile
Gambar 8 Proses pembacaan dan pengamanan. Kedua gambar di atas (Gambar 7 dan 8) menjelaskan hubungan antara pengguna, sistem pembacaan dan pengamanan, serta media penyimpan yang berisi data vektor (shapefile).
Show DBF yang berperan dalam menampilkan tabel yang bersesuaian dengan shapefile. Proses pengamanan terhadap isi shapefile terdiri dari algoritme kriptografi Rijndael (AES) yang disertai dengan KDF dalam pembangkitan kuncinya. Secara jelas Gambar 8 memperlihatkan bahwa baik hanya melakukan pembacaan, pengamanan, maupun keduanya, diperlukan proses autentikasi yang nantinya akan menentukan hak akses pengguna yang berhak melakukan pengamanan. Komponen “Pengaman Shapefile” yang terdapat pada Gambar 8 memiliki dua proses utama, yaitu enkripsi dan dekripsi. Proses enkripsi diilustrasikan pada Gambar 9. :Pengguna
:Shapefile
:Encryptor
1: Pilih shapefile
Dimulai dari autentikasi yang dilakukan oleh pengguna, diasumsikan pengguna telah mendapatkan username dan password dari pihak yang berwenang dalam pendistribusiannya karena sistem ini tidak menyediakan fungsi untuk pembuatan akun baru yang tentu akan mengurangi keamanan yang ada. Jika autentikasi yang dilakukan oleh pengguna sesuai dengan sistem, maka pengguna mendapat hak akses terhadap sistem. Hak akses user juga dibedakan menjadi dua, yaitu pengguna admin dan pengguna biasa. Admin mendapatkan seluruh hak akses terhadap sistem, sedangkan pengguna biasa hanya dapat melakukan pembacaan shapefile dan file dbf. Proses pembacaan shapefile dan file dbf merupakan fungsi yang terdiri atas: Open berperan dalam memilih shapefile yang akan dibuka. Zoom in atau zoom out berperan dalam mendekatkan atau menjauhkan suatu area dari shapefile. Pan berperan dalam keseluruhan shapefile.
menggerakkan
Extent berperan dalam menyesuaikan shapefile dengan ukuran layar (map control). Tooltip berperan dalam menampilkan label shapefile hanya ketika mouse diarahkan ke suatu lokasi. Labels berperan dalam menampilkan keseluruhan nama lokasi tertentu yang ada pada shapefile.
2: (.shp)
3: Password
4: Enkripsi
6: (.enc) 7: Shapefile terenkripsi
5: Proses enkripsi
Gambar 9 Proses enkripsi shapefile. Proses enkripsi shapefile melibatkan pengguna, encryptor (pengenkripsi), dan shapefile itu sendiri. Ketika ingin melakukan pengamanan, pengguna terlebih dahulu memilih shapefile yang akan dienkripsi, kemudian dikirimkan ke encryptor. Namun, proses enkripsi belum dilakukan karena pengguna harus memasukkan password yang akan berperan sebagai kunci bagi proses enkripsi. Ketika kedua hal tersebut telah siap, maka proses enkripsi dapat dilakukan. Sebagai hasil keluarannya, shapefile terenkripsi akan diubah ekstensinya menjadi “.enc”. Sebagai contoh, shapefile bernama “jabar.shp” akan dienkripsi melalui proses yang telah dijelaskan sebelumnya, maka hasil keluarannya ialah shapefile dengan nama “jabar_shp.enc”. Proses dekripsi diperlukan agar shapefile dapat kembali menjadi data yang dapat dimanfaatkan informasinya. Gambar 10
8
memperlihatkan shapefile. :Pengguna
proses
dekripsi
:Shapefile
terhadap
:Decryptor
1: Pilih shapefile
2: (.enc)
3: Password
4: Dekripsi
6: (.shp)
5: Proses dekripsi
Dim ofd As New OpenFileDialog() 'Membuka shapefile melalui dialog box ofd.Filter = "Shapefiles|*.shp" If ofd.ShowDialog()<>DialogResult.OK Then Return End If lblShp.Text = "" mwShapefile = New MapWinGIS.Shapefile() mwShapefile.Open(ofd.FileName, Nothing) MainMap.AddLayer(mwShapefile, True) MainMap.CursorMode = MapWinGIS.tkCursor Mode.cmNone
Melakukan operasi-operasi dasar pada data spasial yang berada pada map control (dideklarasikan dengan variabel bernama MainMap) seperti zoom in atau out, pan, extent, labels, dan tooltip.
7: Shapefile
Gambar 10 Proses dekripsi shapefile. Proses dekripsi melibatkan pengguna, shapefile, dan decryptor (pendekripsi). Proses ini memiliki alur proses yang tidak jauh berbeda dengan enkripsi, yaitu pengguna memilih shapefile terenkripsi yang memiliki ekstensi “.enc”, kemudian password yang sama dengan proses enkripsi dimasukkan sebagai kunci untuk proses dekripsi. Setelah proses selesai, ekstensi yang sebelumnya “.enc” akan diubah menjadi ekstensi shapefile, yaitu “.shp”. Berdasarkan contoh sebelumnya, shapefile yang telah dienkripsi yaitu “jabar_shp.enc” akan diubah kembali menjadi “jabar.shp” Implementasi (Implementation) Implementasi dibedakan menjadi dua bagian utama, yaitu bagian pembacaan dan pengamanan shapefile. Penjelasan terkait dengan bagian pembacaan sebagai berikut: Pendeklarasian variabel yang mengacu pada ActiveX Control yang digunakan agar dapat membuat script yang diharapkan bekerja pada sebuah shapefile. ‘Digunakan agar .net dapat mengenali sebuah shapefile Public mwShapefile As MapWinGIS.Shapefile Public shpDataTable As DataTable
Memilih dan menampilkan shapefile yang ke dalam form yang telah disisipkan map control (toolbox yang hadir setelah menggunakan MapWinGIS ActiveX Control).
'zoom in/out, extent, pan MainMap.CursorMode = MapWinGIS.tkCursorMode.cmZoomIn MainMap.CursorMode = MapWinGIS.tkCursorMode.cmZoomOut MainMap.ZoomToMaxExtents() MainMap.CursorMode = MapWinGIS.tkCursorMode.cmPan Dim handlerLabel As Integer handlerLabel = MainMap.AddLayer(mwShapefile, True) 'Label ditampilkan jika checkbox diberi tanda dan sebaliknya If cBoxLabel.CheckState = CheckState.Checked Then MainMap.AddLayer(mwShapefile, True) mwShapefile.GenerateLabels(5, MapWinGIS.tkLabelPositioning. lpCentroid, True) ElseIf cBoxLabel.CheckState = CheckState.Unchecked Then MainMap.ClearLabels(handlerLabel) End If 'Tooltip diaktivkan jika checkbox diberi tanda dan sebaliknya If cBoxTooltip.CheckState = CheckState.Checked Then MainMap.SendMouseMove = True MainMap.MapCursor = MapWinGIS.tkCursor.crsrArrow ElseIf cBoxTooltip.CheckState = CheckState.Unchecked Then MainMap.SendMouseMove = False MainMap.MapCursor = MapWinGIS.tkCursor.crsrMapDefault MainMap.ShowToolTip("", 0) End If
Membuka file dbf yang berkaitan dengan shapefile yang sedang dibuka dengan menggunakan data grid.
9
shpDataTable = New DataTable() Dim shpField As MapWinGIS.Field Dim shpDataColumn As DataColumn Dim shpDataRow As DataRow For fld As Integer = 0 To mwShapefile. NumFields - 1 'Tambah kolom pada tabel mnrt nilai field shpDataColumn = New DataColumn() shpField = mwShapefile.Field(fld) 'Nm kolom diisi dg yg sudah trdpt pd dbf shpDataColumn.ColumnName = shpField.Name 'Kolom di-set dg tipe data yg sesuai If shpField.Type = MapWinGIS.FieldType. DOUBLE_FIELD Then shpDataColumn.DataType=GetType(Double) ElseIf shpField.Type=MapWinGIS.Field Type.INTEGER_FIELD Then shpDataColumn.DataType=GetType(Integer) Else shpDataColumn.DataType=GetType(String) End If 'Setiap kolom disisipkan ke dalam tabel shpDataTable.Columns.Add(shpDataColumn) Next For shp As Integer = 0 To mwShapefile. NumShapes - 1 'Tambah baris pd tbl mnrt nilai field shpDataRow = shpDataTable.NewRow() For fld As Integer = 0 To mwShapefile. NumFields - 1 'Tiap baris berisi info utk semua kolom shpField = mwShapefile.Field(fld) 'Sesuaikan tipe data pd tbl dg cell yg memiliki nilai2 di datagrid If shpField.Type = MapWinGIS.FieldType. DOUBLE_FIELD Then shpDataRow(fld) = CDbl(mwShapefile. CellValue(fld,shp)) ElseIf shpField.Type = MapWinGIS.Field Type.INTEGER_FIELD Then shpDataRow(fld) = CInt(mwShapefile. CellValue(fld,shp)) Else shpDataRow(fld) = DirectCast(mwShape file.CellValue(fld, shp), String) End If Next 'Sisipkan baris ke dalam tabel shpDataTable.Rows.Add(shpDataRow) Next DataGridDbf.DataSource = shpDataTable
Selanjutnya ialah implementasi terkait pengamanan data vektor GIS (shapefile), yaitu: Melakukan import kelas yang dibutuhkan untuk melakukan proses enkripsi dan dekripsi.
Imports System.Security Imports System.Security.Cryptography
Membangkitkan kunci dengan menggunakan fungsi KDF yang berisi parameter password, salt, dan jumlah iterasi. Deklarasi variabel dilakukan untuk menampung key AES, yaitu 256 bits, salt, dan jumlah iterasi. Mengenai Password-Based Cryptography Specification, Kaliski (2000) mengemukakan bahwa diperlukan sebuah salt lebih dari delapan karakter yang disisipkan pada password sehingga meningkatkan kompleksitas dalam membangkitkan kunci dan jumlah iterasi paling sedikit 1000. Script di bawah menggunakan salt yang bersifat statis, artinya dideklarasikan sejak proses pembangkitan kunci. Namun jika diperlukan, nilai salt dapat diperoleh secara dinamis, yaitu melalui password yang dimasukkan oleh pengguna, dengan syarat jumlah karakter sedikitnya ialah delapan. Sementara itu, untuk kunci 256 bit direpresentasikan oleh pdb.GetBytes(32). Angka 32 berada dalam satuan byte, artinya 32 bytes yang merupakan 256 dalam satuan bit. Dim iteration As Integer iteration = 1000 Dim byteKey As Byte() Dim byteSalt As Byte() = System.Text. Encoding.ASCII.GetBytes ("saltforpass word") Dim pdb As New Rfc2898DeriveBytes(strPassword, byteSalt, iteration) byteKey = pdb.GetBytes(32) Return byteKey
Mendeklarasikan enumerasi bernama CryptoAction yang digunakan pada fungsi enkripsi-dekripsi. Enumerasi ini akan menentukan fungsi enkripsi atau dekripsi yang akan dijalankan saat ini. Private Enum CryptoAction ActionEncrypt = 1 ActionDecrypt = 2 End Enum
Mendeklarasikan CryptoStream dan FileStream. CryptoStream berperan dalam menghubungkan FileStream yang berisi data (dalam hal ini shapefile) agar dapat
10
ditransformasi melalui fungsi kriptografi (enkripsi--dekripsi). fsShpInput = New System.IO.FileStream (shpInputFile, FileMode.Open, File Access.Read) fsShpOutput = New System.IO.FileStream (shpOutputFile, FileMode.OpenOrCreate, FileAccess.Write) Dim csCryptoStream As CryptoStream
Mendeklarasikan variabel yang akan digunakan pada proses enkripsi enk dan dekripsi, antara lain: buffer (4096) sebagai blok pemrosesan dalam byte karena sistem operasi yang digunakan ialah 32 bits, maka blok pemrosesan yang digunakan ialah empat kilobytes yang tidak lain ialah 4096 bytes (Daemen et al. 2002). byteProcessed menangani perhitungan jumlah byte yang diproses. fileLength menyimpan ukuran shapefile yang diinputkan. di currentBytesBlock menyimpan blok byte yang sedang diproses.
(fsShpOutput) dan proses yang dipilih (enkripsi atau dekripsi, yaitu crypto Rijndael.CreateEncryptor atau crypto Rijndael.CreateDecryptor). Tiap T encryptor atau decryptor memiliki parameter input berupa kunci (byteKey)) dan vektor inisialisasi (byteIV). Select Case Direction Case CryptoAction.ActionEncrypt csCryptoStream = New CryptoStream (fsShpOutput, cryptoRijndael.Create Encryptor(byteKey, byteIV), Crypto StreamMode.Write) Case CryptoAction.ActionDecrypt csCryptoStream = New CryptoStream (fsShpOutput, cryptoRijndael.Create Decryptor(byteKey, byteIV), Crypto StreamMode.Write) End Select
Proses-proses di atas dirancang ke dalam sebuah antarmuka agar memudahkan pengguna dalam berinteraksi dengan sistem. Antarmuka tersebut menjembatani dua proses utama yaitu pembacaan dan pengamanan shapefile. Antarmuka terkait proses pembacaan diilustrasikan pada Gambar 11.
1
Dim buffer(4096) As Byte Dim bytesProcessed As Long = 0 Dim fileLength As Long = fsShpInput .Length Dim currentBytesBlock As Integer
Mengeksekusi seluruh blok byte pada shapefile yang dienkripsi atau didekripsi dengan cara memasukkan shapefile menggunakan FileStream lalu dijadikan keluaran yang diterima oleh CryptoStream agar dapat ditransformasi melalui enkripsi atau dekripsi. Hal tersebut dilakukan selama jumlah byte yang diproses tidak melebihi ukuran shapefile. shapefile While bytesProcessed < fileLength currentBytesBlock = fsShpInput.Read (buffer, 0, 4096) csCryptoStream.Write(buffer, 0, current BytesBlock) bytesProcessed = bytesProcessed + CLng (currentBytesBlock) End While
Melakukan proses enkripsi-dekripsi enkripsi berdasarkan CryptoAction. Proses enkripsi dan dekripsi memiliki parameter input berupa shapefile yang ingin diproses
2
5
3
6
Gambar 11 Antarmuka pembacaan shapefile. Fungsi-fungsi fungsi terkait pembacaan shapefile seperti yang telah dijelaskan (zoom zoom in, in pan, dan lainnya) terletak pada bagian atas nomor 1. Shapefile Jawa Barat ditampilkan pada map control seperti pada nomor 2. Nomor 3 memperlihatkan file dbf berupa tabel yang bersesuaian dengan shapefile yang sedang ditampilkan. Untuk menampilkan label shapefile dan tooltip-nya, pengguna memberi tanda pada checkbox seperti yang terdapat pada nomor 4. Nomor 5 dan 6 masing-masing masing menampilkan path dari shapefile dan jumlah baris pada file dbf yang terkait dengan shapefile. Antarmuka selanjutnya tnya mengenai proses pengamanan diilustrasikan pada Gambar 12
11
sampai dengan 15 1 di halaman selanjutnya yang merupakan dua area dengan tab control yang menangani fungsi enkripsi dan dekripsi.
Area dekripsi (Gambar 14) 14 mengizinkan pengguna memilih shapefile terenkripsi yang akan didekripsi, setelah itu sistem akan menampilkan path asal data dan juga tujuan seperti pada area enkripsi. Setelah itu, itu pengguna diharuskan memasukkan password yang sama dengan saat enkripsi.
Gambar 12 Pemilihan shapefile (.shp). Ketika pengguna masuk ke dalam area enkripsi shapefile (Gambar 12), maka pertamatama pengguna memilih me data yang akan dienkripsi. Setelah S itu sistem akan menampilkan path asal al data dan juga tujuan (tempat data terenkripsi psi akan disimpan). Setelah itu, pengguna diharuskan memasukkan password sebelum menekan tombol enkripsi.
Gambar 13 1 Proses enkripsi selesai. Ketika proses enkripsi selesai, pengguna akan diberi notifikasi bahwa data telah berhasil diproses beserta catatan waktu dalam milidetik dan pada bagian agian bawah diberikan teks yang berfungsi untuk membuka lokasi shapefile yang telah dienkripsi enkripsi (Gambar 13).
Gambar 15 Proses dekripsi selesai. Sama halnya dengan proses enkripsi, pada area dekripsi akan ditampilkan notifikasi dan catatan waktu dalam milidetik ketika shapefile selesai diproses. Selain itu, terdapat teks yang berfungsi untuk membuka lokasi shapefile yang telah didekripsi (Gambar 15). Penelitian ini membangun sistem yang bersifat standalone. Hal ini bermanfaat dalam berbagai ai aplikasi terutama yang berada pada lingkup mobilitas yang cukup tinggi (mobile). ( Selain itu, nilai salt dan jumlah iterasi tertentu telah dideklarasikan dalam proses coding sehingga aplikasi-aplikasi aplikasi lain yang terkait dengan keamanan tidak dapat melakukan dekripsi karena kedua nilai tersebut akan berbeda. Gambar-gambar gambar di atas merupakan prosesproses proses yang menjadi fokus utama di dalam sistem GIS pada penelitian ini. Sebuah sistem perlu diuji mengenai seluruh fungsionalitas terkait berhasil atau tidaknya dalam melakukan perannya masing-masing, dan juga ju kinerja sistem dalam menjalankan operasi-operasinya operasi pada ada berbagai ukuran data, yaitu data vektor (shapefile)) itu sendiri. Oleh karena itu, itu pada subbab bab selanjutnya akan dijelaskan mengenai kedua hal tersebut. Analisis Kinerja Sistem
Gambar 14 Pemilihan shapefile (.enc)
Analisis terhadap kinerja sebuah sistem dapat dilakukan jika sisi fungsionalitasnya telah berjalan sesuai dengan yang diharapkan. Setelah hal tersebut berhasil dilalui,, analisis kinerja sistem dapat dilakukan. Berikut merupakan hasil uji fungsionalitas sistem pada penelitan ini yang diperlihatkan oleh Tabel 2.
12
No.
Keterangan Pengujian
Hasil Uji
1
Autentikasi: Mencegah pengguna masuk ke sistem tanpa otoritas dan membedakannya berdasarkan hak akses.
Berhasil
2
Pembacaan shapefile: Menampilkan, zoom in, zoom out, pan, extent, labels, dan tooltip.
Berhasil
3
Enkripsi shapefile: Memilih, mengubah tujuan output, pembangkitan kunci, proses enkripsi, dan notifikasi.
Berhasil
4
Dekripsi shapefile: Memilih, mengubah tujuan output, pembangkitan kunci yang sesuai dengan proses enkripsi, dan notifikasi
Berhasil
5
File DBF: Menampilkan file dbf baik bersamaan dengan shapefile terkait maupun tidak.
Berhasil
Tabel 2 Uji fungsionalitas sistem
Uji fungsionalitas telah dilalui, maka sistem akan dianalisis kinerjanya menggunakan 15 data vektor batas kelurahan provinsi di Indonesia dengan ukuran yang berbeda-beda. Setiap provinsi diberi ID masing-masing dengan tujuan memudahkan proses analisis selanjutnya. Tabel 3 memperlihatkan 15 data vektor tersebut. Tabel 3 Data vektor GIS (shapefile) ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Shapefile babel.shp jambi.shp sultra.shp dki_jakarta.shp kalbar.shp papuabarat.shp sumsel.shp diy.shp sumut.shp ntb.shp banten.shp ntt.shp jateng.shp jabar.shp jatim.shp
Keterangan Bangka Belitung Jambi Sulawesi Tenggara DKI Jakarta Kalimantan Barat Papua Barat Sumatra Selatan D.I. Yogyakarta Sumatra Utara Nusa Tenggara Barat Banten Nusa Tenggara Timur Jawa Tengah Jawa Barat Jawa Timur
Analisis kinerja yang pertama ialah mengenai efek dekripsi, yaitu melihat perbandingan waktu loading saat shapefile ditampilkan antara yang tidak terenkripsi (.shp) dan yang telah dienkripsi (.enc), dengan jumlah iterasi sama dengan nol. Waktu tampil kedua golongan shapefile tersebut dapat dilihat pada Tabel 4. Tabel 4 Waktu loading shapefile tak terenkripsi dan terenkripsi ID
Ukuran Shapefile (MB)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0.32 0.57 0.79 0.96 1.27 1.48 1.68 2.23 2.80 4.54 5.92 17.84 25.93 26.78 33.79
Waktu Loading (ms) (.shp) (.enc) 1 59 2 82 2 90 3 107 3 119 3 132 3 142 3 174 3 207 3 329 3 400 7 1029 7 1575 8 1617 11 1921
Untuk golongan shapefile pertama (tidak terenkripsi), perhitungan waktu dilakukan dengan memanfaatkan fungsi Stopwatch yang terdapat pada VB.Net dan diset dalam satuan milidetik atau milisecond (ms). Untuk golongan kedua (terenkripsi), shapefile tersebut tentu tidak dapat dibaca lagi oleh map control. Oleh karena itu, perhitungan waktu dilakukan dengan cara menambahkan waktu loading shapefile yang belum terenkripsi dengan waktu dekripsi shapefile bersangkutan yang telah dienkripsi. Berdasarkan hal tersebut, analisis ini tertuju pada efek dekripsi yang akan membedakan waktu loading antara kedua golongan shapefile (terenkripsi dan tidak terenkripsi). Contoh, diasumsikan shapefile “babel.shp” dapat ditampilkan dalam waktu 11 ms. Jika shapefile tersebut dienkripsi, akan menjadi “babel_shp.enc”. Artinya, tidak dapat langsung ditampilkan karena harus didekripsi dahulu dan waktu dekripsi diasumsikan sebesar 150 ms. Oleh karena itu, waktu tampil shapefile terenkripsi ialah 11 ms ditambah dengan 150 ms, yaitu 161 ms. Gambar 16 memperlihatkan grafik terkait dengan data pada Tabel 4.
13
2500
2000
(.enc) 1500
Mengenai sejauh mana perbedaan pada waktu loading dengan tiga jumlah iterasi berbeda, diperlihatkan oleh grafik pada Gambar 17 berdasarkan data Tabel 5.
500
(.shp) 1
2
3
4
5
6
7
8
IC=100000
9 10 11 12 13 14 15
ID Shapefile
Gambar 16 Efek dekripsi terhadap waktu loading shapefile. Hasil yang ditampilkan berupa tabel dan grafik yang menunjukkan bahwa peningkatan pada ukuran, baik bagi shapefile yang terenkripsi maupun tidak, akan menghasilkan waktu loading yang meningkat pula. Hal ini disebabkan semakin besar ukuran byte pada shapefile maka semakin banyak pula blok-blok yang harus diproses oleh algoritme kriptografi AES. Shapefile yang terenkripsi mengalami peningkatan yang cukup jauh namun tidak akan mengurangi kinerja secara signifikan karena pada penelitian ini, shapefile yang dimiliki berukuran paling besar 33.79 megabytes dengan relasi sebanyak 8613 records dapat ditampilkan dalam waktu dua detik. Tabel 5 Waktu loading shapefile terenkripsi dengan jumlah iterasi yang berbeda
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
6000
0
Waktu Loading (ms) IC = IC = IC = 1000 10000 100000 84 350 2888 100 359 2907 111 363 2915 136 370 2942 146 401 2949 149 407 2952 161 416 2963 206 457 2988 218 472 3053 335 558 3111 436 668 3240 1105 1324 3833 1584 1702 4315 1647 1755 4636 2057 2130 5346
5000
Waktu Loading (ms)
Waktu Loading (ms)
1000
ID
Analisis kinerja yang kedua yaitu mengenai efek dari jumlah iterasi (iteration count atau IC) terhadap waktu loading shapefile ketika ditampilkan. Tabel 5 memperlihatkan perbedaan waktu dengan tiga jumlah iterasi berbeda. Pertama ialah iterasi minimum yaitu 1000, dua lainnya merupakan kelipatan sepuluh dari iterasi minimum.
4000
3000
IC=10000 2000
1000
IC=1000 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ID Shapefile
Gambar 17 Efek perubahan jumlah iterasi (IC) terhadap waktu loading shapefile terenkripsi. Tabel dan grafik terkait dengan pengaruh jumlah iterasi memperlihatkan bahwa, tidak terjadi peningkatan waktu loading yang cukup jauh dari jumlah iterasi minimum pada kelipatan sepuluh yang pertama, yaitu 10000, sedangkan pada kelipatan sepuluh yang kedua peningkatan terlihat cukup jauh. Dengan jumlah iterasi yang besar akan menghasilkan kunci yang lebih kokoh, Pada kriptografi kunci simetrik seperti AES pengamanan kunci sangatlah penting mengingat kesamaan kunci yang digunakan pada proses enkripsi dan dekripsi. Berdasarkan data berupa tabel dan grafik yang telah diperoleh melalui percobaanpercobaan di atas, agar tidak mengurangi kinerja sistem, maka jumlah iterasi sebanyak 10000 ialah yang paling baik digunakan di antara dua lainnya. Hal ini disebabkan waktu