{"id":132,"date":"2014-03-26T18:40:22","date_gmt":"2014-03-26T11:40:22","guid":{"rendered":"http:\/\/sybond.web.id\/blog\/?p=132"},"modified":"2015-01-14T09:34:30","modified_gmt":"2015-01-14T02:34:30","slug":"e-ktp-dan-security","status":"publish","type":"post","link":"https:\/\/sybond.web.id\/blog\/2014\/03\/26\/e-ktp-dan-security\/","title":{"rendered":"e-KTP dan Security (Bagian I)"},"content":{"rendered":"<p>Mungkin mengenai teknologi pengamanan data pada e-KTP sudah pernah dibahas secara detail di <a title=\"Membedah teknologi e-KTP\" href=\"http:\/\/asnugroho.wordpress.com\/2013\/05\/10\/membedah-teknologi-e-ktp\/\" target=\"_blank\">sini<\/a>. Mulai dari enkripsi data dengan algoritma enkripsi yang katanya paling kuat (walaupun masih <em>symmetric<\/em>) sampai dengan penggunaan <em>biometric<\/em> untuk autentikasi data.<\/p>\n<p>Lalu data aman? secara teori keamanan data selain dari teknologi ada faktor lain yaitu lingkungan penggunaan teknologi tersebut. Ingat bagaimana <em>social engineering<\/em> bekerja? kurang lebih begitu maksud saya.<\/p>\n<p>Saya coba membedah mengenai keamanan e-KTP ini melalui pendekatan tersebut.<\/p>\n<p><!--more--><\/p>\n<p>Dari sisi teknis pengamanan data e-KTP diproteksi sedemikian rupa sehingga hanya program atau <em>reader<\/em> dengan program tertentu (tentunya program yang ada di Instansi Pemerintah) \u00a0yang dapat membacanya.<\/p>\n<p>Kalau dilihat mengenai teknologi yang dipergunakan oleh e-KTP ini adalah <em>comply<\/em>\u00a0dengan ISO-14443 maka tidak jauh dengan pendekatan <em>security contactless<\/em> yaitu dengan APDU khusus untuk membaca data dalam e-KTP ini. Yang tentunya APDU ini dijaga sedemikian rupa sehingga hanya diketahui oleh internal pemerintah atau bahkan seharusnya Lembaga Sandi Negara? (err.. atau vendor?).<\/p>\n<p>Pertanyaannya jika saya seorang <em>attacker<\/em>, tentunya untuk dapat membaca atau bahkan merubah data dalam e-KTP tentunya adalah bagaimana cara mendapatkan APDU ini? sekilas saya sudah menyebutkan sebelumnya. Ya! satu-satunya cara adalah &#8220;membedah&#8221; program yang dipergunakan untuk <em>enrollment<\/em> e-KTP, yang tentunya ada di instansi pemerintahan \/ kelurahan.<\/p>\n<p>Selanjutnya bagaimana cara kita mendapatkan aplikasi tersebut untuk eksploitasi lebih lanjut? jawabannya sudah disebutkan sebelumnya tentunya: <em>social engineering<\/em>.<br \/>\nTapi sebelum jauh-jauh membuat skenario untuk <em>social engineering<\/em>, coba metode paling gampang. Googling!<\/p>\n<p><strong>Hasilnya mengejutkan!<\/strong><\/p>\n<p>Dan percaya tidak\u00a0percaya, dari hasil <em>googling<\/em> tersebut jika dirunut lebih jauh (tentunya setelah melibatkan analisa <em>binary code<\/em> dan <em>reverse engineering<\/em>) saya sudah bisa menemu data-data berikut :<\/p>\n<ol>\n<li>APDU apa saja yang dipakai untuk e-KTP <em>(atas nama keamanan nasional tentunya saya tidak akan posting nilai APDU-nya di sini)<\/em>\n<pre class=\"lang:c# decode:true\">SelectMF\r\nSelectEvMF\r\nSelectDFKTP\r\nSelectEF\r\nGetChallenge\r\nExternalAuth\r\nGenerateMutualAuth\r\nGenerateSecMutualAuth\r\nVerifyMutualAuth\r\nResetSAM\r\nEncodeSM\r\nDecodeSM\r\nSetSignMode\r\nSAMVerifyConfig\r\nActivateCardControl\r\nSetKey\r\nGetCUIDB\r\nGetUIDA\r\nGetCardType<\/pre>\n<\/li>\n<li>Data-data apa saja yang terdapat di dalam e-KTP\n<pre class=\"lang:default decode:true\">NIK\r\nAlamat\r\nRT\r\nRW\r\nTempatLahir\r\nKecamatan\r\nKelurahan\r\nKota\r\nJenisKelamin\r\nGolonganDarah\r\nAgama\r\nStatusPernikahan\r\nPekerjaan\r\nNama\r\nTglLahir\r\nPropinsi\r\nFoto\r\nTandaTangan\r\nMinutiae1\r\nMinutiae2<\/pre>\n<\/li>\n<li>Format masing-masing data e-KTP, bagaimana data foto tersimpan, apa formatnya, bagaimana cara kompresinya dll..<\/li>\n<\/ol>\n<p><strong>Lessons learned?<\/strong><\/p>\n<p><em>IMHO<\/em>, <em>security<\/em> sebuah data elektronis tidak hanya dibatasi oleh sandi atau teknologi yang melindunginya, tapi lebih kepada orang atau individu yang seharusnya menjaga data tersebut. Saya bisa sampai nemu library atau bahkan meng-exploit fungsi-fungsi di atas tidak lain tidak bukan karena ada aparat pemerintahan yang dengan &#8220;polos&#8221;-nya mengunggah aplikasi untuk <em>enrollment<\/em> e-KTP kelurahan di situs <em>filesharing<\/em> gratisan (yang kalau saya lihat maksudnya baik, yaitu menyediakan backup; bahkan ada yang publish connection string Database e-KTP).<\/p>\n<p>Kegagalan e-KTP dalam melindungi data elektronis di dalamnya bukan pada kegagalan teknologi yang dipergunakannya, tapi lebih kepada individu yang seharusnya bisa menjaga kerahasiaan negara atau dalam hal ini setidaknya mengetahui materi atau data elektronis apa yang boleh diunggah untuk publik dan data elektronis mana yang memang bersifat rahasia, dalam hal ini rahasia negara. <em><strong>Btw, kalau ada temuan atau kemungkinan kebocoran keamanan nasional harus melapor kemana ya?<\/strong><\/em> \ud83d\ude00<\/p>\n<p>Next: Bagian 2, PoC reader e-KTP berbasis Android? mumpung sedang semangat ngulik NFC<\/p>\n<p><strong>Update 0.1:<\/strong><\/p>\n<p>Sepertinya PoC e-KTP reader dengan Android harus ditunda. Karena kendala hardware. Setiap kali e-KTP coba dikirim APDU selalu gagal dengan error: <code>Transceive failed<\/code>. Ini mirip dengan <em>reader<\/em> kartu CEPAS di <em>handset<\/em> saya, yang sering error untuk baca saldo kartu EZ-link (kartu <em>multitrip<\/em>-nya MRT Singapura).<\/p>\n<p><strong>Update 0.2<\/strong> (01\/04\/2014)<strong>:<\/strong><\/p>\n<div style=\"width: 310px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" src=\"http:\/\/sybond.files.wordpress.com\/2014\/04\/onnexus5_noissue.jpg\" alt=\"nexus5-test-result\" width=\"300\" height=\"512\" \/><p class=\"wp-caption-text\">Ujicoba di Nexus 5<\/p><\/div>\n<p>Ujicoba di handset pabrikan lain ternyata jalan normal. Berikut beberapa hasil ujicoba dengan beberapa merk handset ber-NFC:<\/p>\n<ol>\n<li>Sony Xperia Acro S (HP sendiri :D) &#8211; <strong>Transceive failed<\/strong><\/li>\n<li>Sony Xperia M\u00a0&#8211; <strong>Transceive failed<\/strong><\/li>\n<li>Samsung Galaxy Note 2 &#8211; <strong>Transceive failed<\/strong><\/li>\n<li>LG G2\u00a0&#8211; <strong>OK<\/strong><\/li>\n<li>Nexus 5 (LG)\u00a0&#8211; <strong>OK<\/strong><\/li>\n<\/ol>\n<p><strong>Update 0.3 <\/strong> (01\/04\/2014) <strong>:<\/strong><br \/>\nOke. Saya salah baca alur <em>library<\/em>-nya. Ternyata butuh SAM juga untuk membaca data e-KTP, karena hanya kartu SAM yang akan melakukan otorisasi perintah untuk me-<em>retrieve<\/em> data e-KTP.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mungkin mengenai teknologi pengamanan data pada e-KTP sudah pernah dibahas secara detail di sini. Mulai dari enkripsi data dengan algoritma enkripsi yang katanya paling kuat (walaupun masih symmetric) sampai dengan penggunaan biometric untuk autentikasi data. Lalu data aman? secara teori keamanan data selain dari teknologi ada faktor lain yaitu lingkungan penggunaan teknologi tersebut. Ingat bagaimana [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[78,10,11],"tags":[89,91,92,83,105,93],"_links":{"self":[{"href":"https:\/\/sybond.web.id\/blog\/wp-json\/wp\/v2\/posts\/132"}],"collection":[{"href":"https:\/\/sybond.web.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sybond.web.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sybond.web.id\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sybond.web.id\/blog\/wp-json\/wp\/v2\/comments?post=132"}],"version-history":[{"count":28,"href":"https:\/\/sybond.web.id\/blog\/wp-json\/wp\/v2\/posts\/132\/revisions"}],"predecessor-version":[{"id":279,"href":"https:\/\/sybond.web.id\/blog\/wp-json\/wp\/v2\/posts\/132\/revisions\/279"}],"wp:attachment":[{"href":"https:\/\/sybond.web.id\/blog\/wp-json\/wp\/v2\/media?parent=132"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sybond.web.id\/blog\/wp-json\/wp\/v2\/categories?post=132"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sybond.web.id\/blog\/wp-json\/wp\/v2\/tags?post=132"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}