Smartcard adalah sebuah teknologi yang digunakan untuk mempermudah melakukan hubungan komunikasi dan pembayaran. Teknologi ini sering digunakan dalam kehidupan seharihari, dan kedepan mungkin smartcard lebih banyak digunakan untuk Internet of Things (IoT) dan Machine to Machine (M2M). Namun beberapa pengguna tidak banyak mengerti tentang keamanan yang terdapat pada smartcard tersebut. Pada kali ini kami akan membahas bagaimana cara kerja smartcard dan beberapa serangan yang dapat terjadi dikehidupan anda, sehingga seseorang dapat mencuri datadata Anda secara digital.
Kata Kunci : SmartCard , Pencurian Digital
Oleh: Dru , Wahyu P.B , Tri Sumarno ([email protected] , [email protected] , [email protected])
Introduction
SmartCard adalah sebuah kartu yang berisi IC yang dapat diprogram, Pada tahun 1968 dan 1969 di Jerman, Helmut Gröttrup dan Jürgen Dethloff mematenkan smartcard. Smartcard yang biasanya kita gunakan dalam kehidupan seharihari diprogram menggunakan JAVA CARD. Smartcard biasanya digunakan pada komunikasi (GSM) dan pembayaran kartu kredit. Beberapa contoh smartcard yang digunakan di Indonesia :
How Smartcard Work ?
1. Pengaktifan Smartcard
Untuk memulai interaksi dengan smartcard yang telah terhubung secara fisik dengan sebuah perangkat, maka sebuah perangkat tersebut harus mengaktifkan rangkaian listrik dengan kondisi operasi kelas A, B, atau C (lihat pada ISO/IEC 78163) dengan urutan sebagai berikut :
- Pin RST harus pada kondisi L (Low).
- Pin VCC harus dialiri arus.
- Pin I/O pada perangkat antarmuka harus berada pada mode penerimaan. Perangkat interface dapat mengabaikan kondisi logika I/O selama aktivasi berlangsung.
- Pin CLK harus memberikan sinyal clock.
Untuk lebih jelasnya dapat dilihat pada gambar 1 timing diagram (sebelum waktu Ta) di bawah ini :
2. Cold Reset
Pada akhir aktivasi (RST berkondisi L, VCC berarus, I/O pada perangkat dalam mode penerimaan, CLK menyediakan sinyal clock yang sesuai dan stabil), kartu tersebut telah siap untuk melakukan cold reset.
Berdasarkan gambar 1, sinyal clock diberikan ke kontak CLK pada saat Ta. Kartu akan mengeset I/O ke kondisi H dalam 200 siklus clock (delay ta) setelah sinyal clock diberikan ke pin CLK (pada saat Ta + ta). Pin RST dipertahankan berkondisi L setidaknya dalam 400 siklus clock (delay tb) setelah sinyal clock diberikan ke pin CLK (pada saat Ta + tb).
Perangkat antarmuka dapat mengabaikan kondisi logika pada pin I/O saat RST berada pada kondisi L.
Saat Tb, pin RST masuk ke kondisi H. Jawaban pada pin I/O akan dimulai antara 400 sampai 40000 siklus clock (delay tc) setelah rising edge sinyal RST (pada saat Tb + tc).
Jika tidak ada jawaban dalam waktu 40000 siklus clock dengan RST berkondisi H, maka perangkat antarmuka dapat melakukan penonaktifan.
3. Smartcard menjawab ATR (AnswertoReset)
Setelah melakukan cold reset pada smartcard, maka smartcard akan memberikan
jawaban ATR (AnswertoReset) yang strukturnya dapat dilihat pada ISO/IEC 78163.
Kurang lebih bentuk dari struktur ATR itu adalah sebagai berikut :
Sebagai contoh, ATR yang kami dapatkan setelah melakukan cold reset sebuah smartcard adalah sebagai berikut :
4. Perangkat antarmuka melakukan PPS (Protocol and Parameters Selection)
Setelah mendapatkan ATR, perangkat antarmuka dapat mengirimkan perintah PPS untuk memilih protokol dan parameter agar mempermudah perangkat antarmuka dalam melakukan pertukaran data dengan smartcard selanjutnya.
5. Pertukaran data antara perangkat antarmuka dan sim card
Setelah semua persiapan penyesuaian selesai, perangkat antarmuka dapat melakukan pertukaran data dengan smartcard menggunakan APDU.
Permasalahan
Dari penjelasan diatas dan beberapa referensi yang kami dapatkan, bahwa smartcard memiliki beberapa cara untuk diserang, antara lain
1. Physical Attack
Biasanya serangan ini sering di sebut dengan reverse engineering smart cards, serangan ini dilakukan secara fisik untuk mengakses atau mengambil beberapa informasi penting yang berada pada smartcard. Contoh sederhananya melakukan cloning smartcard dan pemprogram ulang smartcard.
2. Remote Attack
sebenarnya serangan memanfaatkan kelemahan pada smartcard dengan mengirimkan “sms binary” untuk melakukan injeksi, serangan ini pernah di publish beberapa bulan kemarin oleh Karsten Noh
Attacking Smartcard
Untuk melakukan serangan Physical Attack minimal harus memliki beberapa device seperti smartcard reader, oscilloscope, dll. Salah satu reader yang pernah kami buat seperti gambar di bawah ini:
kekurangan dari smartcard reader di atas adalah kurangnya pengembangan applikasinya, karena smartcard reader di atas bertype phoenix. Referensi reader di atas kami dapatkan dari seseorang bernama “Dejan Kaljevic” untuk design schematic bisa dilihat di bawah:
Kesimpulan
Dari sedikit penjelasan diatas bahwa kesimpulannya adalah serangan pada smartcard itu sangat berbahaya karena bisa mengakibatkan bencana (komunikasi SCADA menggunakan GSM) , pencurian data bank (mBanking).
Referensi
http://en.wikipedia.org/wiki/ISO/IEC_7816
http://en.wikipedia.org/wiki/Java_Card
Oracle.com [search java card] ETSI TS 100 977 , TS 102 221 , TS 101 267 , TS 102 223 , TS 100 977 , EN 302 409
Credits
Oleh: Dru , Wahyu P.B , Tri Sumarno ([email protected] , [email protected] , [email protected])
Kata Kunci : SmartCard , Pencurian Digital
Oleh: Dru , Wahyu P.B , Tri Sumarno ([email protected] , [email protected] , [email protected])
Introduction
SmartCard adalah sebuah kartu yang berisi IC yang dapat diprogram, Pada tahun 1968 dan 1969 di Jerman, Helmut Gröttrup dan Jürgen Dethloff mematenkan smartcard. Smartcard yang biasanya kita gunakan dalam kehidupan seharihari diprogram menggunakan JAVA CARD. Smartcard biasanya digunakan pada komunikasi (GSM) dan pembayaran kartu kredit. Beberapa contoh smartcard yang digunakan di Indonesia :
How Smartcard Work ?
1. Pengaktifan Smartcard
Untuk memulai interaksi dengan smartcard yang telah terhubung secara fisik dengan sebuah perangkat, maka sebuah perangkat tersebut harus mengaktifkan rangkaian listrik dengan kondisi operasi kelas A, B, atau C (lihat pada ISO/IEC 78163) dengan urutan sebagai berikut :
- Pin RST harus pada kondisi L (Low).
- Pin VCC harus dialiri arus.
- Pin I/O pada perangkat antarmuka harus berada pada mode penerimaan. Perangkat interface dapat mengabaikan kondisi logika I/O selama aktivasi berlangsung.
- Pin CLK harus memberikan sinyal clock.
Untuk lebih jelasnya dapat dilihat pada gambar 1 timing diagram (sebelum waktu Ta) di bawah ini :
2. Cold Reset
Pada akhir aktivasi (RST berkondisi L, VCC berarus, I/O pada perangkat dalam mode penerimaan, CLK menyediakan sinyal clock yang sesuai dan stabil), kartu tersebut telah siap untuk melakukan cold reset.
Berdasarkan gambar 1, sinyal clock diberikan ke kontak CLK pada saat Ta. Kartu akan mengeset I/O ke kondisi H dalam 200 siklus clock (delay ta) setelah sinyal clock diberikan ke pin CLK (pada saat Ta + ta). Pin RST dipertahankan berkondisi L setidaknya dalam 400 siklus clock (delay tb) setelah sinyal clock diberikan ke pin CLK (pada saat Ta + tb).
Perangkat antarmuka dapat mengabaikan kondisi logika pada pin I/O saat RST berada pada kondisi L.
Saat Tb, pin RST masuk ke kondisi H. Jawaban pada pin I/O akan dimulai antara 400 sampai 40000 siklus clock (delay tc) setelah rising edge sinyal RST (pada saat Tb + tc).
Jika tidak ada jawaban dalam waktu 40000 siklus clock dengan RST berkondisi H, maka perangkat antarmuka dapat melakukan penonaktifan.
3. Smartcard menjawab ATR (AnswertoReset)
Setelah melakukan cold reset pada smartcard, maka smartcard akan memberikan
jawaban ATR (AnswertoReset) yang strukturnya dapat dilihat pada ISO/IEC 78163.
Kurang lebih bentuk dari struktur ATR itu adalah sebagai berikut :
Code:
TS T0 TA1 TB1 TC1 TD1 TA2 …… TDn T1 … TK TCK
Code:
3B BE 94 00 40 14 47 47 33 53 33 44 48 41 54 4C 39 31 30 30
4. Perangkat antarmuka melakukan PPS (Protocol and Parameters Selection)
Setelah mendapatkan ATR, perangkat antarmuka dapat mengirimkan perintah PPS untuk memilih protokol dan parameter agar mempermudah perangkat antarmuka dalam melakukan pertukaran data dengan smartcard selanjutnya.
5. Pertukaran data antara perangkat antarmuka dan sim card
Setelah semua persiapan penyesuaian selesai, perangkat antarmuka dapat melakukan pertukaran data dengan smartcard menggunakan APDU.
Permasalahan
Dari penjelasan diatas dan beberapa referensi yang kami dapatkan, bahwa smartcard memiliki beberapa cara untuk diserang, antara lain
1. Physical Attack
Biasanya serangan ini sering di sebut dengan reverse engineering smart cards, serangan ini dilakukan secara fisik untuk mengakses atau mengambil beberapa informasi penting yang berada pada smartcard. Contoh sederhananya melakukan cloning smartcard dan pemprogram ulang smartcard.
2. Remote Attack
sebenarnya serangan memanfaatkan kelemahan pada smartcard dengan mengirimkan “sms binary” untuk melakukan injeksi, serangan ini pernah di publish beberapa bulan kemarin oleh Karsten Noh
Attacking Smartcard
Untuk melakukan serangan Physical Attack minimal harus memliki beberapa device seperti smartcard reader, oscilloscope, dll. Salah satu reader yang pernah kami buat seperti gambar di bawah ini:
kekurangan dari smartcard reader di atas adalah kurangnya pengembangan applikasinya, karena smartcard reader di atas bertype phoenix. Referensi reader di atas kami dapatkan dari seseorang bernama “Dejan Kaljevic” untuk design schematic bisa dilihat di bawah:
Kesimpulan
Dari sedikit penjelasan diatas bahwa kesimpulannya adalah serangan pada smartcard itu sangat berbahaya karena bisa mengakibatkan bencana (komunikasi SCADA menggunakan GSM) , pencurian data bank (mBanking).
Referensi
http://en.wikipedia.org/wiki/ISO/IEC_7816
http://en.wikipedia.org/wiki/Java_Card
Oracle.com [search java card] ETSI TS 100 977 , TS 102 221 , TS 101 267 , TS 102 223 , TS 100 977 , EN 302 409
Credits
Oleh: Dru , Wahyu P.B , Tri Sumarno ([email protected] , [email protected] , [email protected])
Attachments
-
729.8 KB Views: 52