Penerapan Kriptografi Pada M-Commerce

E-commerce merupakan bisnis proses yang dijalankan melalui melalui internet, misalnya transaksi jual-beli barang dan jasa secara online. Bisnis proses ini mungkin dalam bentuk B2B Business to Business) maupun B2C (Business to Customer). Defenisi umum ini, tidak membatasi jenis alat memperoleh akses ke internet. Oleh karenaitu, mobile commercemerupakan bagian dari e- commerce, yang memanfaatkan perangkat mobile atau terminal untuk melakukan transaksi bisnis melalui jaringan telekomunikasi mobile. Transaksi bisnis ini tidak hanya terbatas pada layanan yang hanya melibatkan komunikasi, transaksi dan hiburan, tetapi juga memungkinkan terjadinya transfer uang. Selain itu, perangkat mobile yang digunakan juga tidak terbatas pada telepon seluler, penggunaan penrangkat lain seperti PDA, juga termasuk dalam mobile commerce.
Jadi mobile commerce merupakan semua transaksi (yang memiliki niai uang) baik secara langsung maupun tidak langsung melalui jaringan komunikasi nirkabel (Stuart J. Barnes). yang digunakan oleh end user
Pada umumnya jumlah pengguna telepon seluler di berbagai negara lebih banyak dari pada jumlah pengguna internet dengan pertumbuhan yang sangat cepat khusunya di negara berkembang. Dengan semakin tingginya penetrasi telepon seluler dan perangkat mobile lainnya maka lebih banyak jumlah calon pelanggan yang dapat dijangkau. Selain itu, dengan sifat perangkat yang mobile maka aplikasi mobile dapat digunakan kapan dan dimana pun. Oleh karena itu, layanan m-commerce semakin banyak dikembangkan karena memiliki potensi yang sangat besar terutama pada pasar B2C.
Contoh aplikasi telah dikembangkan adalah mobile banking, aplikasi untuk transaksi saham, pelelangan barang dan lain sebagainya. Akan tetapi, kesuksesan dari aplikasi ini sangat bergantung pada jaminan keamanan yang juga bergantung pada teknologi yang dimanfaatkan Hal ini penting, karena umumnya pengguna tidak akan mau menggunakan aplikasi mobile commerce sebelum yakin aplikasi tersebut benar- benar aman.
Aspek keamanan pada aplikasi mobile commerce meliputi keamanan jaringan telekomukasi nirkabel sebagai media transmisi data, system transaksi yang digunakan (seperti system pemba yaran),serta keamanan data yang disimpan pada perangkat mobile. Untuk itu, kriptografi dan aplikasinya telah digunakan pada berbagai platform aplikasi mobile karena menyediakan berbagai layanan keamanan yang akan dijelaskan.
Contoh penerapan kriptografi pada aplikasi mobile commerce adalah Wireless Public Key Infrastructure (WPKI), penggunaaan kriptografi pada level aplikasi atau penerapan kriptografi pada perangkat keras.Platform yang banyak digunakan adalah WAP dan Java ME baik melalui teknologi seperti Circuit Switched Data (CSD) atau General Packet Radio Service (GPRS). Oleh karena itu, pada makalah ini akan dibahas penerapan kriptografi dalam menjamin keamanan aplikasi mobile commerce.

Ancaman Keamanan Mobile commerce
Terdapat beberapa keamanan aspek keamanan
pada aplikasi mobile commerce yaitu:
  1. Kurangnya kesadaran pengguna akan resiko keamanan. Biasanya pengguna tidak begitu peduli mengenai aksinya misalnya tidak mengunakan pin pada telepon seluler.
  2. .Pencurian informasi personal yang mungkin tidak disadari pengguna. Hal ini dapat terjadi melalui pencurianperangkat mobile, bluetooth hacking,network sniffing dan sebagainya.
  3. Kurangnya kemampuan komputasi pada perangkat mobile.Hal ini mengakibatkan terbatasnya penerapan kriptografi yang dapat digunakan
  4. Adanya virus dan aplikasi yang tidak jelas sumbernya dan mungkinberbahaya .
  5. Transmisi nirkabel.Hal ini mengakibatkan sinyal transmisi dapat ditangkap oleh siapapun dengan bebas.Seorang penyadap dapat menggunakan radio mengintersepsi aliran data dari telepon selule ke BTS. Penyadap dapat mencoba menginterpretasi data,memodifikasi pesan, menahan pesan tau bahkan mencegah pesan sampai kepada pengguna
  6. Serangan man-in-the-middle-attack,dimana penyerang dapat mengintersepsi komunikasi antar dua pihak kemudian”menyerupai” salah satu pihak dengan cara bersikap seolah-olah ia adalah salah satu pihak yang berkomunikasi (pihak yang lainnya tidak menyadari kalau dia berkomunikasi dengan pihak yang salah). Serangan ini bisa saja dilakukan oleh penyerangn yang memiliki akses ke base station.
  7. Penyerang yang dapat mengintersepsi komunikasi, dapat saja menyimpan pesan tertentu kemudian mengirimkannya kembali di lain waktu.Hal ini memungkinkan penyerang untuk mencoba meyakinkan server bahwa dia adalah seorang pengguna yang terotentikasi.

Aspek Keamanan Mobile commerce
Hal yang penting pada aplikasi mobile commerce (dengan arsitektur umum client-server) dari sudut pandang keamanan adalah sebagai berikut:
  • Aplikasi menyediakan layanan yang berdasarkan pendaftaran (subscription). Untuk mendaftar user dapatmemberikan informasi seperti nomor kartu kredit atau informasi lainnya.Aplikasi harus melindungi informasi ini karena akan di proses di client dan akhirnya sampai ke server. Jika informasi pelanggan tersebut memenuhi persyaratan yang dibutuhkan maka pelanggan akan terdaftar dan informasi tersebut akan tersimpan pada basis data di server yang juga harus dilindungi keamanannya.
  • Pengguna yang sudah terdaftar dapat meminta informasi atau permintaan tertentu dari layanan yang didaftarnya.Oleh karena itu penggun membutuhkan cara tertentu untuk membuktikan indentitasnya kepada server sehingga dapat diverifikasi dengan menggunakan informasi yang tersimpan pada basis data di server.
  • Permintaan informasi dari client dan respon dari server mungkin saja mengandung informasi yang sifatnya sensitif. Contohnya jika seorang pengusaha melakukan transaksi bisnis yang menyangkut rahasia perusahaan dengan memanfaatkan server, maka pengusaha tersebut tidak mau orang lain mengetahui isi pesan selama transaksi dilakukan. Dengan kata lain kerahasian informasi harus dijaga.Aspek keamanan pada aplikasi mobile commerce dengan berbagai ancaman keamanan seperti yang telah dijelaskan diatas dapat diatasi dengan kriptografi karena kriptografi menyediakan beberapa aspek keamanan berikut :
a.  Kerahasiaan (confidentiality)
Layanan yang digunakan untuk menjaga isi pesan dari siapapun yang tidak berhak untuk membacanya. Layanan ini umumnya direalisasikan dengan cara mengenkripsi pesan menjadi bentuk yang tidak dapat dimengerti.

b. Integritas Data (data integrity)
Layanan yang menjamin bahwa pesan masih asli/utuh atau belum pernah dimanipulasi selama pengiriman. Dengan kata lain aspek keamanan ini dapat diungkapkan sebagai pertanyaan : “Apakah pesan yang diterima masih asli atau tidak mengalami perubahan (modifikasi)?”.Istilah lain yang serupa dengan data integrity adalah otentikasi pesan (message authentication).Untuk menjaga integritas data, sistem harus memilikikemampuan untuk mendeteksi manipulasi pesan oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubstitusian data lain kedalam pesan yang sebenarnya.

c. Otentikasi ( Authentication)

Otentikasi adalah layanan yang untuk mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication) dan untuk mengidentifikasi kebenaran sumber pesan (data origin authentication). Dua pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia dapat memastikan sumber pesan. Pesan yang dikirim melalui saluran komunikasi juga harus diotentikasi satu sama lain sehingga ia dapat memastikan sumber pesan. Dengan kata lain, aspek keamanan ini dapat diungkapkan sebagai pertanyaan : “Apakah pesan yang diterima benar-benar berasal dari pengirim yang benar? ”.
Otentikasi sumber pesan secara implicit juga memberikan kepastian integritas data, sebab jika pesan telah dimodifikasi berarti sumber pesan sudah tidak benar. Oleh karena itu layanan integritas data selalu dikombinasikan dengan layanan otentikasi sumber pesan

d. Nirpenyangkalan (Nonrepudiation)
Nirpenyangkalan adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.


Kriptografi dan aplikasinya
Kriptografi adalah ilmu dan seni untuk menjaga kerahasian pesan dengan cara mengenkripsinya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya [MUN06]. Berikut ini adalah teknik kriptografi dan aplikasinya yang dapat digunakan dalam menjamin keamanan pada mobile commerce:

1. Teknik kriptografi
Kriptografi dapat menyediakan aspek keamanan kerahasian, integritas, otentikasi dan nirpenyangkalan. Salah satu teknik kriptografi yang sudah lama dikenal adalah kriptografi kunci simetri yang menggunakan kunci rahasia yang sama untuk mengenkripsi dan mendekripsi pesan. Dengan demikian, dua pihak yang saling
berkomunikasi harus saling mempercayai dan merahasiakan kunci rahasia yang digunakan. Hal ini mengakibatkan timbulnya permasalahan bagaimana cara mendistribusikan kunci. Contoh algoritmanya RC4, RC5 untuk stream cipher dan AES, IDEA untuk block cipher. Untuk mengatasi permasalahan distribusi kunci tersebut berkembanglah teknik kriptografi kunci publik yang memungkinkan pengguna berkomunikasi secara aman tanpa perlu berbagi kunci rahasia. Pada teknik ini digunakan dua buah kunci yaitu kunci publik dan kunci privat.Kunci publik tidak rahasia dan digunakan untuk mengenkripsi pesan, sedangkan kunci privat bersifat rahasia dan digunakan untuk mendekripsi pesan.

2. Pertukaran kunci
Salah satu aplikasi kriptografi kunci publik
adalah pertukaran kunci simetri (session keys). Contoh algoritmanya adalah RSA dan Diffie- Hellman. Contoh protokol pertukaran kunci dengan menggunakan algoritma Diffie-Hellman adalah sebagai berikut:
a. Pelanggan memilih bilangan bulat acak yang besar x , dan mengirim hasil perhitungannya kepada agen perjalanan online:
X = gxmod n
b. Agen perjalanan online menghitung y bilangan bulat acak yang besar dan mengirim hasil perhitungan berikut kepada pelanggan:
Y = gymod n
c. Pelanggan menghitung
K = Yxmod n
d. Agen perjalanan online menghitung:
K = Xymod n

3. Tanda Tangan Dijital (DigitalSignature)
Aplikasi lain dari kriptografi kunci publik, yang dapat memberikan aspek keamanan yang telah
dijelaskan sebelumnya adalah tanda tangan dijital. Penandatanganan pesan dapat dilakukan dengan dua cara, yaitu dengan mengenkripsi pesan atau dengan cara menggunakan fungsi hash dan kriptografi kunci publik. Penandatanganan pesandengan cara mengenkripsinya menggunakan kriptografi kunci publik dapat mem berikan fungsi kerahasian pesan, otentikasi, dan nirpenyangkalan. Kerahasian pesan tentunya terjamin karena setelah dienkripsi pesan tidak dapat diketahui
maknanya. Agar dapat menjamin otentikasi maka pesan dienkripsi dengan kunci privat karena sifatnya rahasia. Dengan demikian, kebenaran pihak-pihak yang berkomunikasi dan kebenaran sumber pesan dapat dijamin. Agar tanda-tangan dijital dapat memberikan fungsi integritas data maka tanda tangan dijital memanfaatkan fungsi hash. Fungsi hash adalah
fungsi yang menerima masukan string dan menghasilkan string keluaran yang disebut dengan nilai hash. Jika string masukan dari fungsi hash diubah makan akan dihasilkan nilai
hash yang berbeda. Dengan demikian fungsi integritas pesan dapat diberikan oleh fungsi hash. Skema pemberian tanda tangan dijital dengan fungsi hash dapat dilihat pada gambar 1.
Langkah-langkah pemberian tanda tangan dijital
adalah sebagai berikut:
a. Pesan yang diubah terlebih dahulu menjadi message digest MD.
b. Message digest MD dienkripsikan dengan algoritma kunci public menggunakan kunci rahasia (SK) pengirim menjadi tanda tangan dijital S.
c. Pesan M disambung (append) dengan

dengan dua cara, yaitu dengan mengenkripsi pesan atau dengan cara menggunakan fungsi hashdan kriptografi kunci publik. Penandatanganan pesan dengan cara mengenkripsinya menggunakan kriptografi kunci publik dapat memberikan fungsi kerahasian pesan, otentikasi, dan nirpenyangkalan. Kerahasian pesan tentunya terjamin karena setelah dienkripsi pesan tidak dapat diketahui maknanya. Agar dapat menjamin otentikasi maka pesan dienkripsi dengan kunci privat karena sifatnya rahasia. Dengan demikian, kebenaran pihak-pihak yang berkomunikasi dan kebenaran sumber pesan dapat dijamin. Agar tanda-tangan dijital dapat memberikan fungsi integritas data maka tanda tangan dijital memanfaatkan fungsi hash. Fungsi hash adalah fungsi yang menerima masukan string dan menghasilkan string keluaran yang disebut dengan nilai hash. Jika string masukan dari fungsi hash diubah makan akan dihasilkan nilai hash yang berbeda. Dengan demikian fungsi integritas pesan dapat diberikan oleh fungsi hash. Skema pemberian tanda tangan dijital dengan fungsi hash dapat dilihat seperti berikut ini.
Langkah-langkah pemberian tanda tangan dijital
adalah sebagai berikut:
a. Pesan yang diubah terlebih dahulu menjadi message digest MD.
b. Message digest MD dienkripsikan dengan algoritma kunci public menggunakan kunci rahasia (SK) pengirim menjadi tanda tangan dijital S.
c. Pesan M disambung (append) dengan tanda tangan dijital S.
Selanjutnya, langkah-langkah untuk melakukan otentikasi adalah sebagai berikut:
Tanda tangan dijital S didekripsi dengan
a. menggunakan kunci publik (PK) pengirim pesan, menghasilkan message digest semula, yaitu MD.
b. Pesan M diubah menjadi message digest MD’ menggunakan fungsi hash satu arah yang sama dengan fungsi hash yang digunakan oleh pengirim.
c. Jika MD’ = MD, berarti pesan yang diterima Otentik dan berasal dari pengirim yang benar. Apabila pesan M yang diterima sudah berubah
maka MD’ yang dihasilkan dari fungsi hash berbeda dengan MD semula. Ini berarti pesan tidak asli lagi. Apabila pesan M tidak berasal dari orang yang sebenarnya maka MD akan berbeda dengan MD’ karena kunci publik yang digunakan oleh penerima pesan tidak berkoresponden dengan kunci privat pengirim. Andaikan pengirim pesan M menyangkal telah mengirim pesan, maka sangkalan tersebut dapat
dibantah dengan cara berikut: jika ia tidak mengirim pesan, berarti ia tidak mengenkripsi MD dengan kunci privatnya. Faktanya kunci publik yang berkoresponden dengan kunci privat pengirim akan menghasilkan MD=MD’ ini berarti MD memang benar dienkripsi oleh pengirim karena hanya pengirimlah yang mengetahui kunci privatnya sendiri.

4. Infrastruktur Kunci Publik (Public Key Infrastructure)
Pada sistem kriptografi kunci publik terdapat permasalahan dalam distribusi kunci publik yang juga disebut dengan man-in-the-middle-attack. Untuk lebih jelasnya, misalkan Alice dan Bob mengirim kunci publiknya masing-masing melalui saluran komunikasi. Orang ditengah misalnya Carol, memutus komunikasi antara Bob dan Alice lalui ia berpura-pura sebagai salah satu pihak (Alice atau Bob). Carol (yang menyamar sebagai Alice) mengirimkan kunci publiknya kepada Bob (Bob percaya itu adalah kunci publik milik Alice), dan Carol (yang menyamar sebagai Bob) mengieimkan kunci publiknya kepada Alice (Alice percaya itu adalah kunci public milik Bob). Selanjutnya Carol mendekripsi pesan dari Bon dengan kunci privatnya, menyimpan salinannya, lalu mengenkripsi pesan tersebut dengan kunci publik Alice dan mengirim dcipherteks tersebut kepada Alice. Alice dan Bob tidak dapat mendeteksi keberadaan Carol.
Serangan yang mirip dengan man-in-the-middle attack dan umum terjadi pada kunci publik tanpa identitas adalah penyamaran (impersonation attack). Seseorang yang memiliki kunci publik orang lain dapat menyamar seolah-olah dia adalah pemilik kunci tersebut. Contohnya dalam aplikasi e-commerce pemesanan tiket dengan dengan sistem pembayaran menggunakan kartu kredit. Pelanggan mengirimkan informasi kartu kredit melalui website agen perjalanan online. Selama pengiriman, informasi kartu kredit tersebut dilindungi dengan cara mengenkripsinya dengan kunci publik agen perjalanan online. Bagaimana pelanggan memastikan website tersebut memang benar milik agen perjalanan online dan bukan milik pihak lain yang menyamar dengan tujuan untuk mencuri informasi kartu kredit.
Karena terdapat permasalahan tersebut, maka dalam penerapan kriptografi kunci publik dibutuhkan pendukung yang dinamakan infrastruktur kunci publik (PKI). PKI adalah sebuah pengaturan yang menjamin penggunaan kunci publik bagi pihak-pihak yang terlibat dengan sistem penggunaan sistem keamanan. PKI juga mengikat kunci publik dengan identitas pengguna. Dengan PKI, setiap pengguna dapat mengotentikasi satu sama lain. Informasi di dalam sertifikat yang dikeluarkan oleh PKI digunakan untuk enkripsi dan dekripsi pesan antara pihak-pihak yang berkomunikasi. Komponen PKI adalah pengguna (pemohon sertifikat dan pemakai sertifikat), sertifikat dijital, CA (Certification Authority yaitu pihak yang mengeluarkan sertifikat dijital) dan direktori untuk menyimpan sertifikat dijital dan CRL (Certificate Revocation List berisi nomor seri sertifikat dijital ynag ditarik/ sudah kadaluarsa dan dianggap tidak sah). CA biasanya adalah institusi keuangan (seperti bank) atau institusi terpercaya. PKI menyediakan cara penstrukturan komponen-komponen ini dan mendefenisikan bermacam-macam dokumen dan protokol.
Sertifikat dijital adalah dokumen dijital yang
berisi informasi name subjek (perusahaan / individu yang disertifikasi), kunci publik subjek, waktu kadaluarsa sertifikat (expired time), algoritma yang digunakan untuk menandatangani sertifikat dan informasi relevan lain seperti nomor seri sertifikat dan lain sebagainya. Standar untuk sertifikat telah disetujui oleh ITU (International Telecommunication United) dan dinamakan X.509.
Sertifikat dijital tidak rahasia dan tersedia secara publik dan disimpan oleh CA pada direktori (certificate repositories). Salinan sertifikat ini dimiliki juga oleh pemohon sertifikat. Contoh sebuah sertifikat dijital: Sebuah agen perjalanan online membawa kunci publiknya dan mendatangi CA untuk meminta sertifikat dijital. CA mengeluarkan sertifikat dijital dan Tentunya tidak mungkin hanya ada satu CA untuk melayani sertifikat dijital dari seluruh dunia.

Pada level tertinggi terdapat root yang merupakan root certificate authority, yaitu Internet Policy Registration Authority (IRPA). Root mensertifikasi CA level satu (RA / Registry Authoriries) menggunakan kunci privat root (root key). RA bertindak sebagai policy creation authority, yaitu organisasi yang membuat kebijakan untuk memperoleg sertifikat dijital. Sebuah RA mungkin mencakup beberapa area seperti negara bagian, negara atau benua. RA menandatangai sertifikat digital untuk CA di bawahnya dengan menggunakan kunci privat RA. CA menandatangani sertifikat digital untuk individu atau organisasi dengan menggunakan
kunci privat CA. Selain itu, CA bertanggung jawab untuk otentikasi sertifikat digital, sehingga CA harus memeriksa informasi secara hati-hati sebelum mengeluarkan sertifikat digital. Gambar 2 memperlihatkan rantai sertifikat di dalam PKI. Verifikasi sertifikat digital dilakukan dari daun menuju akar (root). Misalkan pelanggan memer lukan kunci publik agen perjalanan online untuk melakukan pemesanan tiket, lalu dia mencari dan menemukan sertifikat agen perjalanan tersebut ditandatatangani oleh CA-5. Pelanggan kemudian menandatangani CA-5 dan meminta bukti legitimasi CA-5. CA-5 merespon dengan memperlihatkan sertifikat dijital yang diperoleh dari RA-2, di dalamnya ada kunci publik CA-5 yang ditandatangani oleh RA-2. Dengan menggunakan kunci publik CA-5, pelanggan dapat memverifikasi sertifikat dijital agen perjalanan yang ditandatangani oleh CA-5 dan mendapatkan hasil bahwa sertifikat tersebut sah. Langkah berikutnya, pelanggan mendatangi RA-2 dan meminta nukti legitimasi RA-5. RA-2 merespon dengan memperlihatkan sertifikat dijital yang diperoleh dari root , di dalamnya terdapat kunci publik RA-2 yang ditandatangani oleh root. Pelanggan memverifikasi sertifikat dijital RA-2 dengan menggunakan kunci publik root dan mendapatkan hasil bahwa sertifikat dijital tersebut sah. Pelanggan akhirnya yakin bahwa dia sudah memilliki kunci publik agen perjalanan. Rantai sertifikat yang menuju ke root disebut chain of trust atau certification path

5. Hambatan Penerapan Kriptography Pada Mobile Commerce.

Pada bagian sebelumnya dapat dilihat aplikasi kriptografi yang dapat digunakan untuk komunikasi yang aman pada aplikasi mobile commerce. Apakah aplikasi kriptografi ini dapat langsung diterapkan?
Penerapan kriptografi pada jaringan nirkabel
yang merupakan lingkungan aplikasi mobile commerce digunakan, lebih sulit dari pada penerapan kriptografi pada jaringan kabel karena terdapat berbagai batasan. Pada jaringan kabel terdapat beberapa asumsi yaitu client memiliki kemampuan komputasi, bandwith, latency yang tinggi dan tempat pemyimpanan yang cukup. Hal ini bertolak belakang dengan perangkat nir kabel yang memiliki bandwith terbatas, kemampuan komputasi terbatas, memiliki sumber tenaga berupa baterai. Oleh karena itu, banyak aplikasi kriptografi pada jaringan kabel yang harus dioptimasi supaya berjalan dengan efisien pada perangkat nir kabel tetapi harus compatible dengan aplikasi pada jaringan kabel.
Karena adanya keterbatasan kemampuan komputasi maka algoritma kriptografi yang dapat digunakan pada aplikasi mobile commerce menjadi terbatas bergantung dari karakteristik algoritma tersebut. Oleh karena itu, algoritma yang digunakan harus membutuhkan biaya komputasi yang kecil, tetapi tetap dapat memberikan jaminan keamanan yang dibutuhkan.
Karena adanya keterbatasan latency yang tinggi pada jaringan nirkabel, maka protokol kriptografi yang diterapkan sebaiknya memiliki jumlah pesan dan pertukaran pesan yang lebih sedikit. Hal ini dapat dilihat pada penggunaan WTLS kelas 3 yang menggunakan handshake sebagai permintaan sertifikat (berbeda dengan SSL).
Keterbatasan bandwith juga membatasi ukuran pesan. Hal ini mengakibatkan sertifikat pada aplikasi seperti mobile commere sedikit berbeda dan pengiriman rantai sertifikat misalnya url sertifikat tidak dilakukan.
Keterbatasan yang keempat adalah ruang penyimpanan yang terbatas pada perangkat seperti telepon seluler dan PDA. Oleh karena itu, dalam menerapkan kriptografi kode yang dibutuhkan harus diminimumkan misalnya memanfaatkan kode yang dioptimasi untuk platform perangkat mobile. Solusi lainnya adalahmengurangi ukuran kunci dan menyimpan sertifikat pada client. Karena adanya keterbatasan yang telah dijelaskan di atas maka, tingkat jaminan keamanan yang diimplementasikan hendaknya disesuaikan dengan nilai dari transaksi yang dilakukan karena dalam menjamin keamanan ini sering kali dibutuhkan resource yang relatif besar. Pada gambar 1 dapat dilihat berbagai jenis aplikasi dengan nilai transaksinya serta prioritas tingkat keamanannya.

6. Kriptografi pada Teknologi pendukung Mobile commerce
6.1 SIM Application Toolkit (SAT)
SIM misalnya pada GSM menyimpan data personal pemilik kartu dan dapat diimplementasikan dalam bentuk kartu cerdas (smart card) yang sering disebut kartu SIM. SIM toolkt merupakan spesifikasi SIM dan fungsionalitas terminal yang memungkinkan
SIM mengendalikan perangkat mobile untuk beberapa fungsi tertentu. SIM ApplicationToolkit (SAT) digunakan untuk membuat aplikasi mobile commerce berbasis Short Message Service (SMS).
Dalam sistem berbasis SAT komunikasi antara mobile client dan penyedia layanan dilakukan melalui SMS. SMS digunakan untuk mengidentifikasi dan mengotorisasi pembayaran. Pengguna diidentifikasi dan diotentikasi oleh layanan otentikasi GSM sehingga operator seluler GSM bertindak sebagai perantara antara mobile client, server untuk pembayaran, dan penjual layanan.

6.2 WAP

Adapun area yang berhubungan dengan keamanan pada WAP 1.x adalah WTLS, Wireless Identity Module, WAP PKI, WML Script signText, dan keamanan end-to-end pada transport Layer.

a. WPKI (Wireless Public KeyInfrastructure)
WPKI merupakan ekstensi dari PKI, yang dibuat Khusus untuk jaringan nirkabel. WPKI memerlukan komponen yang sama dengan PKI yang telah dijelaskan sebelumnya. Namun pada WPKI, registration authority (RA) diimplementasikan berbeda dan terdapat entitas baru yaitu PKI Portal. PKI Portal dapat seperti sistem pada dua jaringan seperti halnya WAP gateway. PKI Portal berfungsi sebagai RA dan bertangung jawab untuk menterjemahkan pesan dari client kepada RA dan berinteraksi dengan CA pada jaringan kabel. RA mevalidasi aplikasi, apakah permintaannya untuk memperoleh sertifikat dijital dikabulkan atau ditolak.

b. WTLS (Wireless Transport Layer Security )

Protokol WTLS merupakan protokol yang mendukung WPKI dan didesain untuk menjamin keamanan komunikasi dan transaksi melalui jaringan nirkabel. Seperti dapat dilihat pada gambar 5, WTLS terdapat pada transport Layer antara WAP client pada perangkat mobile dengan WAP server pada WAP gateway. WTLS menyediakan fungsionalitas yang mirip dengan fungsi Layer keamanan pada internet yaitu TLS/SSL. WTLS dibuat berdasarkan TLS dan dioptimasi untuk komunikasi nirkabel, Mendukung datagram, memiliki protocol handshake yang dioptimasi dan memiliki mekanisme dynamic key refreshing [HAM01].

c. Record Protocol
Record Protocol dibagi menjadi empat client
protokol yaitu alert, application, change cipher dan handshake protocol. Protokol ini menerima data yang akan ditransfer. Data ini akan dikompresi, kemudian di-hash dengan MAC (fungsi hash satu arah yang menggunakan kunci rahasia dalampembangkitan nilai hash). Selanjutnya data yang telah ditambah dengan nilai hash dienkripsi dan ditransmisikan.
Ketika data diterima pada record protocol di tempat tujuan, data tersebut akan didekripsi,diverifikasi, didekompresi kemudian diteruskan ke layer diatasnya. Teknik yang digunakan untuk kompresi, otentikasi dan enkripsi opsional dan ditentukan pada saat handshake. Tidak seperti TLS tidak ada fragmentasi pada protokol ini,karena fragmentasi dan asembli dilakukan pada layer transport.

d. Alert Protocol
Protokol ini digunakan untuk mengirim alert yang berbeda antara client dan server. Sebuah alert dapat berupa pesan untuk menutup koneksi antara client dan server atau sebuah pesan kesalahan. Pesankesalahan dapat berisi informasi seberapa parah kesalahan tersebut dandeskripsi perma salahannnya. Terdapat tiga jenis kesalahan yaitu warning, critical dan fatal.

e. Handshake Protocol

Terdapat tiga jenis handshake yaitu full abbreviated handshake optimised handshake. Selain itu, terdapat Service Data Unit (SDU) yang digunakan ketika komunikasi terjadi menggunakan datagram. SDU terdiri dari beberapa pesan handshake yang digabungkan karena memiliki tujuan yang sama. Selama proses handshake dilakukan maka ditentukan informasi mengenai versi protokol, algoritma kriptografi dan informasi apakah otentikasi digunakan dan kunci public.
Salah satu contoh arsitektur mobile commerce yang memanfaatkan WAP 1.x dapat dilihat pada gambar 14. Ketika terjadi transaksi yang
melibatkan data rahasia seperti nomor credit card,password, alamat, data ditransmisikan lewat jaringan, sehingga pertukaran informasi ini harus dijamin keamanannya. Ada beberapa bagian dimana masalah keamanan memiliki peran penting yaitu bagian yang berhubungan dengan komunikasi lewat jaringan nirkabel,

f. Koneksi HTTPS
HTTPS merupakan koneksihttp yang menggunakan SSL dan banyak digunakan pada aplikasi e-commerce. Pada MIDP terdapat implementasi SSL yang disebut KSSL (kilobyte SSL) dan mulai digunakan sejak MIDP versi1 .0.3
Implementasi HTTPS pada MIDP 2.0 merupakan implementasi http yang diatas salah satu dari protokol TLS 1.0, SSL 3.0, WTLS, WAP TLSProfile and Tunneling Spesification[KNU02]. Koneksi yang aman pada MIDP 2.0 diimplementasikan dengan menggunakan kelas Antara lain HTTPSConnection, SecurityInfo,dan Certificate. Keamanan dari HTTPS sangat bergantung pada cipher suite. Contoh cipher suite TLS_ RSA_ WITH_ RC4_128_SHA,berarti digunakan protokol TLS, RSA digunakan untuk pertukaran kunci, RC4 dengan panjang session key 128 bit, dan SHA-1 digunakan sebagai fungsi hash. Protokol TLS dimulai dengan proses handshake yang pada prinsipnya sama dengan penjelasan WTLS di atas. Pada gambar 16 dapat dilihat contoh data dengan HTTPS dan tanpa HTTPS yang berhasil ditangkap oleh network sniffer.


g. Kriptografi pada level aplikasi
Pada J2SE, enkripsi dapat digunakan pada aplikasi dengan memanfaatkan Java Crypt ographic Extension(JCE). JCE menyediakan framework dan implementasi enkripsi,key generation and agreement, dan algoritma MAC. JCE mendukung algoritma enkripsi kunci simetri, asimetri, block cipher dan stream cipher. Namun, JCE tidak dimasukkan sebagai bagian dari JAVA ME karena selain ukurannya besar, JCE juga memerlukan memori yang tidak sedikit. SATSA merupakan JSR yang relatif baru dan dapat diimplementasikan seluruhnya dalam bentuk perangkat lunak. Akan tetapi, menulis sendiri kode enkripsi dan dekripsi pada Java ME pun tidak disarankan karena terdapatnya kesulitan yang kompleks dalam memilih dan mengimplementasikan algoritma kriptografi dengan berbagai batasan yang ada. Namun pengembang dapat memanfaatkan toolkit yang dikembangkan oleh vendor lain
Pada CDC sebagian kecil dari paket pada JCA (Java Cryptography Architecture) dapat didukung secara opsional. Namun, beberapa API penting tidak tersedia sehingga beberapa algoritma tidak dapat diimplementasikan dan kalaupun bisa, kemungkinan besar kurang efisien.

7. Analisis

Pada WAP, keamanan dijamin lewat protokol WTLS (pada WAP 1.x) dan WAP TLS Profile (pada WAP 2.0). Protokol ini menyediakan layanan keamanan integritas data, kerahasian dan otentikasi. Salah satu persoalan keamanan pada WAP 1.x yang dikenal dengan “WAP gap” disebabkan oleh adanya saat dimana pesan berada dalam bentuk plainteks pada Wap gateway ketika sedang dikonversi. Namun, hal ini sudah diatasi pada WAP 2.0.
Pada SIM kebutuhan keamanan dapat mengatasi masalah keamanan umum pada transport Layer seperti peer authentication,integritas pesan, deteksi balasan dan integritas urutan, bukti penerimaan dan kerahasiaan pesan. Setiap pesan dari aplikasi dibagi ke dalam paket yang masing-masing dijamin keamanannya dengan melindungi isi pesan dan menambahkan header untuk keamanan. Akan tetapi,irpenyangkalan tidak didukung sehingga haru diimplementasikan pada level aplikasi. Pengirim dan penerima pesan diidentifikasi sehingga penyerang tidak dapat mencoba memalsukan kecuali jika mengkloning kartu SIM. Jadi pesan SMS dapat digunakan untuk otentikasi. Lebih jauh lagi data SMS dienkripsi untuk menjamin kerahasian data. Meskipun demikian, perlindungan ini berakhir pada
jaringan, tidak ada keamanan end-to-end dan operator seluler dan infrastrukturnya harus dipercaya ketika tidak ada lagi perlindungan terhadap pesan SMS. Java ME menyediakan beberapa tingkat keamanan seperti class loader, byte code verifier,dansecurity manager. Tingkat keamanan ini melindungi sistem dari program yang tidak terjamin keamanannya. Kelebihan JAVA ME dibandingkan dengan WAP adalah adanya keamanan end-to-end (versi 1.x), penggunaan jaringan yang lebih sedikit dan mendukung enkripsi isi pesan. Pada WAP 1.x, pesan dari perangkat mobile dienkripsi pada WTLS dan akan didekripsi pada data TLS. Selama konversi berlangsung pada gateway, data berada pada bentuk plainteks. Hal ini tidak diperlukan pada Java ME sehingga memungkinkan keamanan end-to-end.Penggunaan jaringan pada Java ME lebih sedikit dibandingkan dengan WAP karena Java ME memungkinkan pemrosesan data dan pembangkitan GUI secara lokal, tidak seperti WAP yang membutuhkan koneksi ke jaringan untuk setiap pemrosesan data (pada WAP bisnis logik aplikasi diambil dari web server). Fitur ini mengurangi kemungkinkan data yang hilang atau dicuri pada Java ME. Selain itu, pada Java ME juga dimungkinkan enkripsi content-based karena aplikasi Java ME dapat memproses data sebelum dikirimkan ke jaringan sehingga isi pesan mungkin saja dienkripsi jika dibutuhkan HTTPS diperlukan pada MIDP 2.0 dirilis pada tahun 2002. Implementasi dari HTTPS sebaiknya menghindari spesifikasi WTLS untuk menghindari celah keamanan seperti WAP-gateway.Adakalanya HTTPS tidak dapat memenuhi kebutuhan aplikasi misalnya untuk kebutuhan aplikasi berikut:
a. Content based security:
HTTPS, SSL, dan TLS merupakan protokol keamanan yang tidak berdasarkan content.Ide dasa rnya adalah mengamankan saluran komunikasi, dengan demikian akan mengamankan semua hal yang melewati semua saluran tersebut. Pendekatan ini memiliki beberapa permasalahan antara lain:
1. Harus dibangun koneksi langsung antara client dan server
Jika aplikasi kita memiliki banyak perantara untuk menyediakan value added service, maka lebih dari satu koneksi HTTPS harus disambungkan. Hal ini tentunya menimbulkan potensi adanya lubang keamanan,tetapi juga menimbulkan kesulitan dalam manajemen kunci public sertifikat. Contohnya sebuah aplikasi pada sebuah perusahaan yang memungkinkan pegawai yang bekerja di luar perusahan melakukan pembelian barang secara online melalui aplikasimobile commerce. Akan tetapi, untuk dapat melakukan pemesanan, pegawai harus mendapatkan tanda tangan dijital dari manajer keuangan sebagai bukti bahwa permintaan terse but sudah diverifikasi dan disetujui. Permintaan dari pelanggan yang sudah ditandatangani manajer keuangan akan diverifikasi oleh bank. Kemudian bank akan menandatangani status pembayarandar permintaan pegawai. Selan jutnya, permintaan pegawai yang sudah ditandatangani bank akan disampaikan kepada toko online. Sesudah memverifikasi tanda tangan dari bank, maka toko online dapat mengirimkan barang yang diminta pegawai.
2. Terdapat kebutuhan semua isi pesan harus dienkripsi.
3. HTTPS tidak fleksibel untuk aplikasi yang memerlukanjaminan keamanan dan performansi khusus. HTTPS kurang fleksibel untuk aplikasi yang membutuhkan handshake dan mekanisme pertukaran kunci khusus.


b. Distributed access control:
Aplikasi mobile adakalanya berinteraksi dengan lebih dari satu server, mengambil informasi yang dibutuhkan dari server-server tersebut, kemudian menyusunnya untuk ditampilkan kepada pengguna. Setiap penyedia informasi mungkin memiliki protokol otentikasi dan otorisasi yang berbeda. Tentu saja untuk melakukannya secara manual pada setiap server akan merepotkan pengguna.

Silahkan Tinggalkan Komentar anda
EmoticonEmoticon