Bab VI

RANCANGAN PROTOKOL
CEK BILYET DIGITAL

 

Transaksi di Internet yang mengoptimalkan penggunaan sertifikat digital, sementara ini barulah SET, meskipun sudah banyak pula pengembang-pengembang yang mengumumkan akan menggunakan sertifikat digital dalam produk mereka. Penggunaan sertifikat digital memang membuat transaksi di Internet lebih aman.

Salah satu jenis pembayaran yang tidak dimaktub dalam spesifikasi SET adalah penggunaan cek bilyet digital. Berasarkan hal tersebut, dibawah ini diusulkan rancangan protokol cek bilyet digital.

Tujuan

Tujuan yang ingin dicapai dengan adanya cek bilyet digital ini adalah:

  1. Adanya suatu sistem transaksi di Internet, yang berdasarkan pada alur transaksi cek bilyet. Cek bilyet adalah cek yang tidak bisa diuangkan dengan kas, hanya bisa dipergunakan untuk transfer ke rekening lain saja.
  2. Transaksi yang menggunakan protokol ini haruslah aman, dalam arti sanggup:
  1. Memanfaatkan sebanyak mungkin perangkat-perangkat kriptografi yang sudah ada dalam protokol SET untuk rancangan protokol cek bilyet digital ini. Ini dimaksudkan agar dalam aplikasi yang mendukung SET, dapat pula mendukung protokol cek bilyet digital ini hanya dengan sedikit upgrade. Salah satu perangkat kriptografi yang penting untuk dimanfaatkan dalam protokol cek bilyet digital ini adalah sertifikat digital.
  2. Seperti halnya protokol SET, protokol cek bilyet digital ini tidak terikat kepada protokol-protokol yang spesifik pada perangkat lunak atau perangkat keras tertentu.

Ruang Lingkup

Rancangan protokol cek bilyet digital dalam tugas akhir ini mencakup:

  1. Protokol lapisan atas cek bilyet digital sebagai alat pembayaran.
  2. Jenis kriptografi apa yang dipergunakan.

Rancangan protokol cek bilyet digital dalam tugas akhir ini tidak mencakup:

  1. Implementasi, termasuk panjang kunci yang dipergunakan.
  2. Algoritma yang digunakan untuk setiap jenis perangkat kriptografi, yang penting sesuai dengan kebutuhannya. Jadi menjadi soal apakah ingin menggunakan RSA ata DSS untuk implementasi tanda tangan digital, yang penting algoritma itu bisa dipergunakan untuk melakukan tanda tangan digital.
  3. Protokol yang dipergunakan saat berbelanja.

Analisis Awal

Untuk memudahkan penjelasan, pihak pemberi cek disebut ‘nasabah 1’ dan pihak penerima cek disebut ‘nasabah 2’, karena sudah jelas bahwa sistem cek bilyet digital ini menggunakan institusi perbankan sebagai basisnya.

Analisis Sistem Cek Bilyet Biasa

Sebelum merancang sistem yang baru, terlebih dahulu perlu diketahui bagaimana alur transaksi cek bilyet:

  1. Nasabah 1 (pemberi cek) menuliskan jumlah nominal uang yang akan dibayarkannya pada cek. Nasabah 1 juga menuliskan nomor rekening dari nasabah 2 (penerima cek), disertai nama bank dari nasabah 2. Nasabah 1 menandatangani cek bilyet tersebut. Cek bilyet itu tentu didapatkan oleh nasabah 1 dari bank nasabah 1.
  2. Nasabah 1 menyerahkan cek bilyet itu kepada nasabah 2.
  3. Nasabah 2 menyerahkan cek bilyet tadi kepada bank di tempat nasabah 2 memiliki rekening. Nasabah 2 menginstruksikan kepada banknya agar memproses cek bilyet itu ke rumah kliring.
  4. Bank nasabah 2 membawa cek itu ke rumah kliring. Umumnya yang disebut rumah kliring adalah bank sentral di negara atau daerah tersebut. Perlu dicatat bahwa data elektronik dari cek tersebut dikirim secara elektronik terlebih dahulu ke bank sentral, sebelum pengiriman cek fisik. Oleh bank nasabah 2, pada cek tersebut juga ditambahkan informasi di rekening bank mana cek itu ditujukan. Mesin yang dipergunakan untuk membaca dan mengirim data cek dari bank ke rumah kliring disebut Magnetic Ink Cheque Reader & Encoder (MICRE).

Gambar 6.1. Diagram alur transaksi cek bilyet

  1. Rumah kliring melakukan proses kliring. Proses tersebut dapat memakan waktu minimal satu hari.
  2. Jika proses kliring berhasil, maka bank nasabah 1 akan mendebit rekening miliki nasabah 1, dan bank nasabah 2 akan mengkredit rekening milik nasabah 2 sesuai nilai yang tercantum pada cek.

Pendebitan dan pengkreditan pada proses di atas dilakukan setelah proses kliring berhasil dilakukan di rumah kliring. Namun, dengan makin tersedianya jaringan perbankan yang menghubungkan banyak bank secara on-line, seperti Cirrus dan Alto, maka mungkin sekali proses otorisasi yang disertai pendebitan dan pengkreditan dilakukan sebelum kliring di rumah kliring selesai. Tentunya, dalam proses transfer elektronik dari satu rekening ke rekening lain antarbank, nasabah 1 sebagai pihak yang mentransfer dana keluar dari rekeningnya harus memberikan persetujuan secara elektronik pula. Jadi, tidak menggunakan cek dalam bentuk kertas fisik. Saat ini, hal tersebut dilakukan dengan menggunakan kartu magnetik atau kartu chip yang dipegang oleh nasabah 1, disertai pula dengan PIN yang perlu diketikkan.

Sekali lagi patut dicatat, meskipun transfer antarrekening antarbank yang dilakukan di sebuah ATM dapat langsung saat itu juga mendebit rekening nasabah 1 dan mengkredit rekening nasabah 2 sebagai penerima dana, proses kliring tetap dilakukan antara bank-bank nasabah-nasabah tadi di rumah kliring. Sebagai ganti cek untuk dikirim ke rumah kliring, bank nasabah 2 yang baru saja mengkredit rekening nasabah 2, mengirimkan sebuah nota transfer yang berisi detail transaksi yang terjadi antara nasabah 1 dan nasabah 2 ke rumah kliring.

Cek yang datang di rumah kliring, tidak harus selalu dalam bentuk kertas. Perusahaan besar seperti Pertamina yang setiap bulan harus mentransfer gaji ke rekening bank karyawannya yang berjumlah ribuan, tidak mengirim cek dalam bentuk kertas, melainkan mengirimkan pita magnetik langsung ke Bank Indonesia sebagai pusat rumah kliring. Pita magnetik yang berisi informasi gaji dan informasi rekening bank setiap karyawan itu akan diproses oleh komputer yang mengatur kliring.

Analisis Kebutuhan

Dalam merancang protokol cek bilyet digital ini ada beberapa hal yang patut menjadi bahan pertimbangan:

  1. Cek bilyet digital itu hanya boleh diketahui pihak-pihak yang berkepentingan, sehingga kerahasiaannya (confidentiality) terjamin.
  2. Informasi pada cek bilyet digital itu tidak bisa diubah-ubah setelah dibuat, sehingga keutuhannya (integrity) terjamin.
  3. Pihak-pihak yang terlibat dalam transaksi dapat diyakini keabsahannya (authenticity).
  4. Ada fasilitas pencatatan yang memadai sehingga kalau terjadi perselisihan, pencatatan itu bisa menjadi bukti sah yang tidak dapat disangkal (non-repudiation). Selain dari cek itu sendiri yang perlu disahkan, beberapa pencatatan lain yang penting adalah:
  1. Jika protokol cek bilyet digital menggunakan sertifikat digital, maka dengan memiliki sertifikat digital, tidak berarti dapat memiliki nomor rekening bank yang bersangkutan. Tetapi, informasi dalam sertifikat digital itu harus berhubungan dengan nomor rekening bank yang bersangkutan, meskipun tidak eksplisit.
  2. Cek bilyet digital tersebut harus diyakini ditandatangani oleh nasabah 1 sebagai pihak pemberi cek. Artinya orang itu adalah benar-benar nasabah yang sah bank yang bersangkutan (authenticity nasabah 1).
  3. Pihak-pihak yang melakukan transaksi dengan cek bilyet digital ini, tidak perlu mengetahui nomor rekening bank pihak yang lain.
  4. Jika memungkinan, sistem cek bilyet digital ini harus memungkinkan untuk melakukan otorisasi dan transfer dana rekening antarbank secara on-line.
  5. Pihak rumah kliring dapat melihat seluruh transaksi tanpa perlu melakukan perombakan terhadap sistem kliringnya sendiri. Berarti sistem yang mengimplementasikan protokol cek bilyet digital ini harus kompatibel dengan sistem yang lama.
  6. Nasabah 2 dapat memeriksa nilai nominal yang dituliskan oleh nasabah 1 sebelum menguangkannya di bank nasabah 2.
  7. Sesuai dengan transaksi menggunakan alat bayar cek sehari-hari, nasabah 2-lah yang menguangkannya.
  8. Protokol yang akan dikembangkan ini harus bisa mencegah terjadinya pembelanjaan ganda (double spending):

Spesifikasi desain

Solusi awal

Guna memenuhi analisis kebutuhan dan memudahkan perencanaan, maka beberapa pemecahan awal untuk rancangan cek bilyet digital dijabarkan di bawah ini:

  1. Penggunaan amplop digital, dimana kunci simetris dienkripsi dengan kunci asimetris, diharapkan dapat mengamankan cek bilyet digital dari serangan pihak-pihak yang tidak diinginkan.
  2. Penggunaan sidik jari pesan dan tanda tangan digital pada cek bilyet digital akan menjamin integritas/keutuhan cek digital.
  3. Penggunaan sertifikat digital dapat menjamin keotentikan dari pihak-pihak yang melakukan transaksi.
  4. Tanda tangan digital dimanfaatkan untuk mensahkan pesan-pesan yang dipertukarkan, dan tentunya tak ketinggalan juga untuk mensahkan cek bilyet digital. Bukti-bukti penerimaan cek bilyet digital juga dibubuhi tanda tangan digital.
  5. Pada sertifikat digital nasabah tidak tertera nomor rekening bank, tapi hash dari informasi rekening bank. Sedangkan informasi jati diri dapat dicantumkan secara eksplisit pada sertifikat digital.
  1. Pembuktian bahwa seorang nasabah adalah benar nasabah suatu bank tertentu dapat dilakukan dengan teknik-teknik tertentu:
  1. Cara pertama, nasabah mengirim informasi rekeningnya secara terenkripsi kepada pihak yang akan memeriksa. Pihak yang memeriksa itu kemudian akan mendekripsikan informasi rekening dari nasabah tadi, lalu segera membuat hash (sidik jari) dari informasi rekening itu. Jika hash informasi rekening itu sama dengan hash informasi rekening yang ada pada sertifikat, maka dapat dipastikan bahwa nasabah itu mengirimkan informasi rekening yang benar. Perlu diingat bahwa dalam informasi rekening juga tercatat nama bank nasabah itu. Nama bank nasabah tidak perlu tertera dalam sertifikat digital nasabah. Namun saat pembuatan sertifikat, otoritas sertifikat (OS) perlu melakukan pemeriksaan ke bank yang diakui oleh nasabah sebagai bank yang mengelola rekeningnya, apakah benar bahwa orang yang meminta sertifikat itu benar-benar nasabah bank tersebut.
  2. Cara kedua, pemeriksa dapat mengotentikasi nasabah dengan cara menelusuri sertifikat digital milik nasabah. Jika yang menjadi OS bagi sertifikat digital nasabah adalah bank nasabah yang bersangkutan, tentulah nama bank itu akan ada dalam sertifikat digital nasabah. Saat siapapun memeriksa sertifikat digital nasabah, orang itu dapat mengetahui di mana nasabah tadi menyimpan rekening banknya. Dalam situasi tertentu, hal ini tidak diinginkan.
  3. Berdasarkan kedua cara tersebut, mungkin cara pertama yang lebih baik karena dengan melihat sertifikat, orang belum bisa mengetahui di bank mana pemiliki sertifikat digital itu menyimpan rekeningnya.
  1. Agar pihak-pihak yang melakukan transaksi tidak perlu mengungkapkan informasi rekening banknya kepada pihak lain, tentunya informasi rekening nasabah itu harus dienkripsi. Enkripsi itu harus dibuat sedemikian rupa sehingga sebenarnya hanya bisa dibaca oleh rumah kliring saja. Namun karena data cek yang dikirim ke rumah kliring dari bank umumnya sudah dalam format tertentu, tentunya, sebelum dikirim ke rumah kliring, data-data dalam cek itu sudah dapat diekstrak. Pihak yang mengekstrak data-data penting dari cek bilyet digital untuk dikirim ke rumah kliring itu disebut gerbang pembayaran. Setiap pihak yang melakukan transaksi, termasuk para nasabah, bank-bank dan rumah kliring harus mempercayai kejujuran gerbang pembayaran. Jadi dalam prakteknya, informasi rekening setiap nasabah dienkripsi sehingga hanya gerbang pembayaran saja yang bisa membacanya. Tentunya ini menggunakan perangkat kunci asimetris.
  2. Gerbang pembayaran (payment gateway), jika infrastruktur jaringan privat antarbank tersedia, dapat memerintahkan kepada bank basabah 1 agar segera mendebit rekening bank nasabah 1. Lantas, setelah mendapat konfirmasi dari bank nasabah 1, gerbang pembayaran dapat memerintahkan kepada bank Badu agar segera mengkredit rekening bank nasabah 2.
  3. Gerbang pembayaran akan menjamin bahwa rumah kliring akan menerima data cek dalam format elektronik yang biasa diterimanya dari bank dengan perangkat MICRE.
  4. Meskipun informasi-informasi rekening dalam cek bilyet digital terenkripsi, namun nasabah 2 dapat memeriksa bagian lain dari cek bilyet digital itu yang diperkenankan oleh nasabah 1, seperti nomor identitas cek, waktu, nilai nominal, dan mata uang yang digunakan.
  5. Nasabah 2 dapat menentukan gerbang pembayaran yang dipakai. Tentunya, penentuan gerbang pembayaran dapat dilakukan secara otomatis oleh perangkat lunak nasabah 2, cukup dengan melihat pangkalan data atau layanan direktori (directory service) tertentu.
  6. Untuk mencegah pembelanjaan ganda oleh:
  1. Nasabah 2, maka pada setiap cek bilyet digital dapat diberikan nomor identitas cek yang unik, sehingga gerbang pembayaran dapat mendeteksinya.
  2. Nasabah 1 yang membuat dua buah cek dengan nomor identitas cek yang sama kepada dua orang penerima yang berbeda, maka selain nomor identitas cek, sidik jari dari cek itu juga dicatat oleh gerbang pembayaran.

Berdasarkan analisis dari sistem yang sudah ada, analisis kebutuhan, dan solusi awal, maka dirancanglah alur data transaksi protokol cek bilyet digital. Pertama-tama akan digambarkan alur transaksi pada lapisan atas secara umum. Setelah itu barulah digambarkan lebih detail lagi.

Alur Transaksi Lapisan Atas

Gambar 6.2. Diagram topologi protokol cek bilyet digital

  1. Nasabah 1 (pemberi cek) membuat cek bilyet digital untuk nasabah 2 (penerima cek). Sesungguhnya, dalam pemberian cek ini pun, terjadi pertukaran informasi dua arah.
  2. Nasabah 2 setelah menerima cek, dapat memeriksanya terlebih dahulu apakah sesuai dengan nilai yang disepakati, kemudian dapat mengirimnya ke gerbang pembayaran.
  3. Nasabah 2 menyerahkan tanda bukti bahwa dia telah menerima cek, kepada nasabah 1.
  4. Gerbang pembayaran mendekripsi cek bilyet digital, kemudian mengirimkannya ke rumah kliring.
  5. Jika tersedia jaringan komputer antarbank, gerbang pembayaran dapat melakukan otorisasi cek dan transfer rekening antarbank langsung, sehingga tidak perlu menunggu hasil kliring.
  6. Gerbang pembayaran kemudian memberitahukan bahwa cek sudah dikirim ke rumah klring dan jika ada gerbang pembayaran juga akan memberitahukan hasil otorisasi & transfer kepada nasabah 1 maupun nasabah 2.
  7. Pihak-pihak yang melakukan transaksi dapat menghubungi otoritas sertifikat jika perlu.

Alur Data Lapisan Bawah

Saat penyerahan cek bilyet digital dari nasabah 1 kepada nasabah 2, sebenarnya terjadi pertukaran-pertukaran pesan di antara para nasabah itu. Tujuannya agar nasabah 1 bisa mendapatkan informasi rekening bank nasabah 2 dengan aman.

Gambar 6.3. Diagram alur data protokol cek bilyet digital

Mengingat kerumitan diagram ini, sebelumnya akan dijelaskan dahulu arti dari elemen-elemen dalam diagram. Berikut ini adalah singkatan-singkatan yang dipergunakan dalam diagram detail alur data.

Singkatan

Pihak Yang Bertransaksi

N1

Nasabah 1 (pemberi cek bilyet digital)

N2

Nasabah 2 (penerima cek bilyet digital)

GP, GERBANG

Gerbang pembayaran yang akan meneruskan informasi cek bilyet digital kepada rumah kliring

Tabel 6.1. Penjelasan singkatan entitas-entitas dalam protokol cek bilyet digital.

 

Berikut ini dijelaskan pula simbol-simbol yang dipergunakan dalam diagram:

Simbol

Deskripsi

Ini adalah kunci-kunci kriptografi.
  •  
  • Batang dari kunci menunjukkan pemilik kunci.
  •  
  • Kepala kunci mengindikasikan jenis kunci, apakah itu kunci privat (PV) atau kunci publik (PB).
  •  
  • Kunci dengan gambar intan menunjukkan bahwa kunci itu adalah kunci untuk membuat atau memeriksa tanda tangan digital. Sedangkan kunci dengan simbol kunci pada batangnya mengindikasikan bahwa kunci tersebut adalah kunci pertukaran yang dipergunakan untuk mengenkripsi atau mendekripsi kunci simetris.

Ini adalah simbol dari tanda tangan digital. Inisial yang ada dalam simbol intan itu menunjukkan siapa yang membuat tanda tangan itu.

Ini adalah contoh-contoh simbol dari sertifikat digital.
  •  
  • Tanda bukti lingkaran dengan pita menunjukkan siapa yang menandatangani atau mensahkan sertifikat tersebut.
  •  
  • Singkatan pada sertifikat itu mengindikasikan siapa pemilik dari kunci publik yang ada dalam sertifikat itu.
  •  
  • Simbol intan atau kunci dalam sertifikat itu menunjukkan jenis kunci publik apa yang ada dalam sertifikat tersebut. Jika kunci publik untuk memeriksa tanda tangan, maka dipergunakan simbol intan, sedangkan untuk kunci publik pertukaran kunci menggunakan simbol kunci.

Di samping ini adalah simbol dari kunci simetris. Kunci ini selalu dienkripsi dengan kunci asimetris sebelum dikirim melalui Internet. Pemberian nomor pada kunci tersebut dimaksudkan untuk memudahkan membedakan satu kunci simetris dengan kunci simetris lainnya, karena dalam protokol cek bilyet digital ini kunci simetris dibuat dan dipergunakan beberapa kali.

Ini adalah contoh dari sebuah amplop digital yang lengkap. Data penting ditandatangani secara digital oleh nasabah 2 (N2). Sebuah kunci simetris (#1) dibuat secara acak, kemudian dipergunakan untuk mengenkripsi data penting yang telah ditandatangani tadi. Kunci simetris tersebut lalu dienkripsi dengan kunci publik milik gerbang pembayaran. Pengiriman amplop digital itu disertai pengiriman sertifikat digital milik nasabah 2 agar gerbang pembayaran dapat memeriksa keabsahan data penting.

Tabel 6.2. Penjelasan simbol-simbol dalam protokol cek bilyet digital.

Sedangkan berikut ini dijelaskan mengenai data-data penting apa yang ada dalam protokol cek bilyet digital yang diusulkan.

Informasi

Penjelasan

Inisiasi pembayaran

String inisiasi pembayaran

Jawaban

String jawaban, apakah nasabah 2 bersedia menerima cek atau tidak

Permintaan rekening

String permintaan informasi rekening bank

Info rekening

Dapat berisi mengenai:
  • Kode bank
  • Kode cabang/capem
  • Nomor rekening
  • Nama nasabah seperti tercatat di bank itu
  • Angka rahasia (personal identification number)

Perintah pembayaran

Dapat berisi informasi mengenai:
  • Kode perintah pembayaran
  • Nomor identitas cek bilyet digital (per nasabah) yang dibuat secara otomatis oleh perangkat lunak
  • Waktu pembuatan cek bilyet digital
  • Nilai nominal cek
  • Mata uang yang digunakan
  • Sebagai pilihan, dapat pula disertakan hash dari dokumen/ surat jual-beli yang berhubungan dengan cek bilyet digital tersebut. Maksudnya agar dapat dibuktikan (meskipun satu arah) apakah cek ini benar berhubungan dengan dokumen yang diperiksa pembayarannya.

Informasi yang dapat dibaca pada sertifikat digital

Dapat berisi:
  • Hash dari info rekening
  • Informasi tambahan seperti nama nasabah, alamat, kewarganegaraan dan sebagainya.

Pesan kliring

Dapat berisi:
  • String hasil konfirmasi dari rumah kliring, apakah berhasil diterima atau ditolak.
  • Nomor identitas cek bilyet digital

Pesan otorisasi & transfer

Dapat berisi:
  • String hasil konfirmasi otorisasi & transfer antarbank, apakah berhasil atau ditolak
  • Nomor identitas cek bilyet digital

Tanda bukti

Dapat berisi:

Tabel 6.3. Penjelasan data-data dipertukaran dalam protokol cek bilyet digital.

Rancangan protokol cek bilyet digital dapat dilihat dengan membuka dokumen Adobe Acrobat ini, atau dapat Anda download cek_digital.pdf (164k).

Perbandingan dengan SPI yang lain

Klasifikasi

Cek bilyet digital dalam tugas akhir ini adalah alat pembayaran peer-to-peer. Jika nasabah 2 (penerima cek) mempercayai benar keabsahan cek bilyet digital yang diterimanya dan yakin pula bahwa nasabah 1 (pemberi cek) tidak menyerahkan cek kosong, maka nasabah 2 tidak perlu seketika mengirimkan cek bilyet digital itu ke gerbang pembayaran. Dalam kasus ini, transaksi dapat dikategorikan dalam transaksi off-line. Bahkan patut diingat kalaupun nasabah 2 langsung seketika menyerahkan cek bilyet digital itu kepada gerbang pembayaran, cek itu pun belum tentu dapat dikliring seketika, karena proses kliring di rumah kliring memakan waktu minimal satu hari. Namun jika gerbang pembayaran memiliki hubungan ke dalam jaringan antarbank, maka gerbang pembayaran dapat secara on-line melakukan otorisasi dan transfer dana antarrekening antarbank yang terhubung. Cek bilyet digital ini merupakan alat pembayaran peer-to-peer, karena dalam implementasinya nanti perangkat lunak dan sertifikat yang digunakan oleh klien tidak perlu berbeda. Dalam skenario ini transaksi yang dilakukan para nasabah bank dapat diidentifikasi dan dilacak, namun tetap menjaga kerahasiaan nomor rekening para nasabah. Seperti halnya cek biasa, cek bilyet digital ini kurang cocok untuk pembayaran transaksi yang nilainya kecil.

Keamanan dan Serangan

Kerahasiaan data transaksi pada protokol cek bilyet digital ini dijamin dengan menggunakan enkripsi-enkripsi. Integritas data transaksi dijamin dengan menggunakan fungsi hash satu arah. Sama seperti pada protokol SET, keabsahan pihak-pihak yang melakukan transaksi dan data transaksi dijamin dengan menggunakan tanda tangan digital dan sertifikat digital. Jadi protokol cek bilyet digital ini sebenarnya amat mengandalkan keabsahan tanda tangan OS utama (otoritas sertifikat yang memiliki hirarki paling tinggi). Jika nasabah tidak mendapatkan sertifikat digital OS utama yang benar, maka seluruh sistem dapat gagal total.

Tidak seperti bahasan sistem-sistem perdagangan di Internet sebelumnya, pembahasan mengenai serangan terhadap protokol cek bilyet digital ini akan dilakukan lebih detail. Serangan dapat bertujuan untuk:

  1. Mengubah tujuan pembayaran, sehingga cek bilyet digital itu tidak ditujukan kepada nasabah 2 namun kepada penyerang.
  2. Mengetahui informasi rekening bank miliki nasabah 1 maupun nasabah 2

Untuk mendapatkan penjelasan mengenai nomor-nomor proses, pada penjelasan penyerangan terhadap protokol cek digital, silahkan lihat protokol cek bilyet digital.

a. Serangan spoofing

Pada skenario penyerangan pertama, nasabah 1 yang hendak menyerahkan cek kepada nasabah 2, tidak tahu bahwa sebenarnya dia sedang berkomunikasi dengan penyerang, bukan nasabah 2. Nasabah 2 sama sekali tidak tahu bahwa nasabah 1 hendak memberikan cek kepadanya. Penyerang amat sulit untuk mengubah tujuan pembayaran, karena pada proses 5 nasabah 1 memeriksa sertifikat digital milik penyerang. Nasabah 1 langsung tahu bahwa lawan bicaranya bukanlah nasabah 2. Nasabah 1 dapat langsung membatalkan transaksi. Penyerang dengan begitu secara otomatis tidak bisa menerima apapun lagi dari nasabah 1.

Pada skenario penyerangan kedua, penyerang seolah-oleh hendak memberikan cek bilyet digital kepada nasabah 2. Nasabah 2 baru sadar bahwa terjadi spoofing setelah proses 9, karena sertifikat digital yang diterimanya bukan milik nasabah 1.

b. Serangan man-in-the-middle

Analisis terhadap serangan jenis ini akan dilakukan untuk setiap data yang dikirimkan melalui Internet.

  1. Antara proses 1-2: Penyerang hanya membaca [inisiasi pembayaran] dan tetap menyampaikannya kepada nasabah 2.
  2. Antara proses 4-5: Nasabah 2 mengirimkan [jawaban] yang sudah ditandatangani beserta sertifikat digitalnya, namun ditangkap oleh penyerang. Penyerang dapat melakukan beberapa hal:
    1. Menandatangani ulang [jawaban], serta mengirimnya bersama sertifikat digital dirinya sendiri kepada nasabah 1.
    2. Menandatangani ulang [jawaban], serta mengirimnya bersama sertifikat digital nasabah 2 kepada nasabah 1.
  1. Nasabah 1 pada proses 5 akan segera melakukan proses otentiksasi. Untuk setiap kemungkinan serangan di atas:
  1. Jika penyerang menandatangani ulang [jawaban], memang tanda tangan pada [jawaban] itu otentik sesuai sertifikat digital yang menyertainya. Namun nasabah 1 dapat memeriksa bahwa sertifikat digital itu bukan milik nasabah 2. Pada langkah ini nasabah 1 dapat membatalkan seluruh transaksi.
  2. Jika penyerang menandatangani ulang [jawaban] tetapi tidak mengganti sertifikat digital nasabah 2, maka nasabah 1 akan melihat bahwa sertifikat digital itu benar milik nasabah 2. Saat nasabah 1 menggunakan kunci publik dari sertifikat digital itu untuk memeriksa tanda tangan [jawaban], nasabah 1 akan menemukan bahwa hash dari jawaban tidak sama dengan hash dari hasil dekripsi tanda tangan. Nasabah 1 akan tahu bahwa pesan itu tidak ditandatangani dengan menggunakan kunci privat yang berkorelasi dengan kunci publik yang dipakai untuk memeriksa. Nasabah dapat memutuskan untuk membatalkan transaksi.
  1. Seluruh informasi yang dipertukarkan setelah ini akan selalu menggunakan sertifikat digital, sehingga jika ada pihak yang menyerang dengan cara di atas maka serangan akan diketahui dan proses transaksi dapat dibatalkan.
  2. Antara proses 1-2, proses 4-5, dan proses 8-9, meskipun tidak enkripsi data, namun tidak ada informasi sensitif seperti informasi rekening yang dikirim melalui Internet.
  3. Antara proses 13-14: nasabah 2 mengirimkan informasi rekeningnya dalam amplop digital yang dibuat hanya bisa dibuka oleh gerbang pembayaran.
    1. Penyerang hanya bisa mendapatkan kunci publik gerbang pembayaran. Padahal penyerang membutuhkan kunci privat gerbang pembayaran untuk membuka amplop digital yang berisi kunci simetris guna mendekripsi informasi rekening nasabah 2. Satu-satunya cara adalah dengan brute-force attack.
    2. Penyerang mungkin dapat berusaha mengganti sertifikat digital gerbang pembayaran dengan sertifikat digital dirinya. Jika nasabah 1 mengenkripsi informasi rekening banknya dengan kunci publik dalam sertifikat penyerang itu, tentu penyerang bisa mendapatkan informasi rekening nasabah 1. Nasabah 1 dapat mencegah hal ini dengan memeriksa dahulu bahwa sertifikat itu adalah milik gerbang pembayaran yang sah.
  1. Antara proses 20-21: dalam langkah ini cek bilyet digital sudah lengkap. Namun penyerang tetap tidak bisa melihat cek bilyet digital dalam amplop digital. Cek dalam amplop itu hanya bisa dibuka oleh nasabah 2. Pada pengiriman data di Internet antara proses 27 ke 30, proses 29 ke 33, proses 46 ke 50, dan proses 49 ke 54, penyerang mengalami kendala yang sama.

c. Serangan replay

Penyerang tentunya dapat merekam seluruh pertukaran pesan. Kini timbul pertanyaan, apakah penyerang dapat memainkan ulang rekaman tersebut sehingga penyerang dapat memperoleh informasi rekening nasabah atau membuat agar cek bilyet digital itu ditujukan bagi dirinya?

Untuk mendapatkan informasi rekening tanpa perlu brute-force attack tentunya penyerang harus meyakinkan salah satu pihak agar membuat amplop digital berisi informasi rekening sang nasabah (baik nasabah 1 maupun nasabah 2) yang hanya bisa dibuka oleh penyerang. Tapi untuk membuat amplop digital itu, sang nasabah membutuhkan sertifikat digital pihak yang membuka amplop digital itu. Jika penyerang hanya memainkan ulang (replay) pesan-pesan yang sudah dipertukarkan sebelumnya, maka tetap saja penyerang tidak bisa berbuat apa-apa karena sertifikat digital yang dipertukarkan berkorelasi dengan siapa yang bisa membuka amplop digital tersebut.

Penyerang dengan replay attack juga tidak bisa membuat tujuan cek berubah, karena penyerang tidak mengubah apapun dalam replay attack ini. Kalaupun penyerang mendapatkan cek bilyet digital, penyerang tetap tidak bisa menguangkannya karena tujuan pembayaran dalam cek bilyet digital itu tidak bisa diubah.

d. Serangan brute-force

Brute-force attack tidak dijelaskan lebih lanjut karena berhubungan erat dengan algoritma dan panjang kunci yang dipergunakan, padahal kedua masalah tersebut tidak dispesifikasi dalam protokol ini.

e. Serangan lainnya

Penyerang yang mendapatkan sertifikat digital dan kunci privat nasabah 2 juga belum bisa menerima cek bilyet digital. Gerbang pembayaran akan memeriksa apakah informasi rekening yang dikirimkan oleh penyerang, jika di-hash, akan sama dengan sidik jari yang ada dalam sertifikat digital yang dikirimkan. Karena yang dikirimkan adalah sertifikat digital nasabah 2, maka tentu kedua sidik jari tersebut berbeda. Gerbang pembayaran dapat memberikan peringatan kepada nasabah 1 dan nasabah 2 bahwa telah terjadi serangan.

Kepercayaan dan Penipuan

Para nasabah harus mempercayai otoritas sertifikat yang memberikan sertifikat digital kepada para nasabah lainnya. Para nasabah juga harus percaya bahwa otoritas sertifikat tidak akan menyalahgunakan informasi rekening banknya yang diberikan kepada otoritas sertifikat untuk diperiksa terlebih dahulu keabsahannya. Persekongkolan antara otoritas sertifikat dengan nasabah dapat jelas-jelas merugikan nasabah lain, karena otoritas sertifikat dapat saja mensahkan sertifikat digital yang seharusnya sudah dibatalkan.

Karena nasabah mempercayai otoritas sertifikat, maka nasabah otomatis mempercayai pihak-pihak lain yang memiliki sertifikat digital yang disahkan otoritas sertifikat. Nasabah percaya bahwa gerbang pembayaran tidak akan menyalahgunakan informasi rekeningnya, karena gerbang pembayaran itu dijamin oleh otoritas sertifikat.

Masalah pembelanjaan ganda oleh nasabah 2 dapat segera dicegah dengan pencatatan nomor identitas cek yang dilakukan oleh gerbang pembayaran.

Untuk mencegah nasabah 1 menuliskan cek dengan identitas yang sama kepada dua orang penerima yang berbeda, maka gerbang pembayaran selain mencatat nomor identitas cek juga mencatat sidik jari dari cek yang bersangkutan.

Jadi jika gerbang pembayaran menerima cek yang nomor identitasnya sudah tercatat, maka gerbang pembayaran kemudian membandingkan sidik jari cek yang diterimanya dengan sidik jari cek yang sudah pernah dicatatnya. Jika ternyata sidik jarinya sama, maka nasabah 2 (penerima cek) dipastikan melakukan pembelanjaaan ganda. Sedangkan jika sidik jarinya berbeda, maka nasabah 1 (pemberi cek) ketahuan membuat beberapa cek dengan nomor identitas yang sama.

Pencatatan

Meskipun tidak dispesifikasi dalam protokol cek bilyet digital ini, pencatatan transaksi dapat dilakukan di perangkat lunak masing-masing nasabah, baik pemberi maupun penerima cek. Dengan menyimpan cek bilyet digital itu, nasabah memiliki catatan untuk pembuktian di masa depan. Gerbang pembayaran juga dapat menyimpan cek sebagai barang bukti untuk mencegah pembelanjaan ganda.

Penerimaan Pembayaran dan Biaya Transaksi

Nasabah 2 akan dikredit rekening banknya setelah bank nasabah 2 mendapatkan kepastian kliring dari rumah kliring. Namun jika jaringan antarbank tersedia, rekening bank nasabah 2 akan dikredit segera setelah rekening nasabah 1 didebit. Dalam protokol ini siapa yang akan membayar jasa yang disediakan gerbang pembayaran.

Prospek

Pengamanan kunci privat dan sertifikat digital dapat dilakukan dengan memasukkannya ke dalam kartu chip. Di masa depan, dengan terminal-terminal Internet di tempat umum yang dilengkapi kartu chip, bahkan dapat dikembangkan transfer dana sistem debit antarbank, sehingga penggunaan protokol ini tidak hanya dapat diimplementasikan pada PC biasa.

Protokol cek bilyet digital ini dapat pula dikembangkan sehingga penerima cek tidak harus memiliki sertifikat digital. Namun tentunya pemberi cek akan melihat nomor rekening sang penerima cek. Salah satu langkah pengamanan lain yang tidak mengharuskan penerima cek menggunakan sertifikat digital adalah dengan menggunakan shadow account penerima cek yang datanya tercatat di gerbang pembayaran. Tentunya dengan cara ini penerima cek harus mendaftarkan diri terlebih dahulu kepada gerbang pembayaran.

Kembali ke daftar isi

1