Implementasi Two Factor Authentication Dan Protokol Zero Knowledge Proof Pada Sistem Login

Implementasi Two Factor Authentication Dan Protokol Zero Knowledge Proof Pada Sistem Login

e-ISSN : 2443-2229 Jurnal Teknik Informatika dan Sistem Informasi Volume 3 Nomor 1 April 2017 Implementasi Two Factor Authentication Dan Protokol Zero Knowledge Proof Pada Sistem Login Willy Sudiarto Raharjo #1, Ignatia Dhian E.K.Ratri *2, Henry Susilo #3 # * Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Duta Wacana Jl. Dr. Wahidin Sudirohusodo 5-25 Yogyakarta 55224 1 [email protected] 2 [email protected] 3 [email protected] Abstract — This paper describes a login system utilizing Two sejak 2011 [3], sedangkan Google sudah memperkenalkan Factor Authentication and Zero Knowledge Proof using HTTPS sejak tahun 2010 [4] meskipun baru Schnorr NIZK. The proposed system is designed to prevent mengaktifkannya secara default pada tahun 2014 untuk password leak when being sent over insecure network or when GMail [5]. used in an untrusted devices. Zero Knowledge Proof is used Implementasi protokol HTTPS sendiri bukan solusi yang for maintaining the confidentiality of the password and Two Factor Authentication is used to secure login process on sempurna, mengingat banyaknya serangan yang nyata dan untrusted devices. The proposed system has been tested and sudah terbukti menyerang protokol HTTPS (SSL maupun initial results indicates that such system is able to secure the TLS), seperti POODLE [6], BEAST [7], SmackTLS [8], login process without leaking the user’s password. LOGJAM [9], DROWN [10], dan HEARTBLEED [11]. Menurut data dari SSL Pulse per tanggal 3 Februari 2017 Keywords— Authentication, Security, Two Factor [12], masih tercatat 47,2% (65.079 dari 137.992 situs yang Authentication, Password, Zero Knowledge Proof disurvei) yang masuk kedalam kategori inadequate security yang mengindikasikan bahwa situs masih memiliki masalah dalam pengamanan informasi, terutama berkaitan dengan I. PENDAHULUAN implementasi protokol HTTPS (Gambar 1). Data tersebut Kata sandi (password) adalah metode otentikasi yang juga menyebutkan bahwa masih ada sekitar 5.4% (7459 paling sering digunakan di berbagai sistem keamanan. situs) dan 17.9% (24.697 situs) yang masih menggunakan Kemudahan dalam hal implementasi menjadi faktor utama protokol SSLv2 dan SSLv3 yang sudah dianggap tidak dari pemanfaatan sistem berbasis password. Pengguna juga aman setelah ada berbagai jenis serangan yang praktis dan sudah terbiasa dengan sistem semacam ini sehingga waktu nyata. penyesuaian bisa diminimalkan. Di sisi lain, banyaknya Masalah lain yang muncul adalah banyak pengguna yang penggunaan jaringan yang belum aman (misalnya protokol menggunakan perangkat yang tidak aman dalam melakukan HTTP) masih menjadi ancaman bagi pengguna mengingat proses login, misalnya menggunakan komputer di tempat seringkali password menjadi satu-satunya mekanisme yang publik seperti bandara, perpustakaan umum, dan warnet. digunakan. Serangan penyadapan (baik aktif maupun pasif) Meskipun telah memanfaatkan jaringan yang aman yang terjadi di jaringan seperti man-in-the-middle-attack sekalipun, namun password akan dapat terbaca oleh yang dikombinasikan dengan serangan session hijacking komputer yang telah terpasang perangkat lunak keylogger. menjadi sangat praktis untuk digunakan. Firesheep [1] dan Two Factor Authentication (TFA) merupakan sebuah sslstrip [2] merupakan salah satu contoh nyata bagaimana metode otentikasi pengguna dimana dua faktor (dari tiga) pencurian cookies dan password bisa terjadi melalui yang bersifat independen akan digunakan dalam jaringan nirkabel dan platform web (protokol HTTP), membuktikan adanya klaim bahwa sebuah entitas atau bahkan pada kasus Firesheep, pengguna tidak perlu identitas itu asli [13]. Dengan menggunakan TFA, maka melakukan apapun kecuali tersambung ke dalam jaringan password bukanlah menjadi single point of attack dalam hal publik yang sama dengan korban. Semenjak adanya akses kepada identitas pengguna. Banyak perusahaan besar ekspoloitasi memanfaatkan Firesheep, banyak orang dan telah mulai menggunakan TFA sebagai tambahan perusahaan mulai menyadari pentingnya protokol HTTPS. pengamanan terhadap serangan brute-force terhadap Pada tahun 2013, Facebook mengumumkan bahwa mereka password, seperti Google [14], Twitter [15], dan Facebook telah mengaktifkan fitur HTTPS untuk semua penggunanya [16]. secara default meskipun telah memperkenalkan fitur ini 127 Jurnal Teknik Informatika dan Sistem Informasi e-ISSN : 2443-2229 Volume 3 Nomor 1 April 2017 Untuk mengurangi resiko kebocoran password kepada membuktikan kepemilikannya akan suatu informasi rahasia pihak ketiga, maka protokol Zero Knowledge Proof (ZKP) atau identitasnya kepada pihak ketiga (verifier) tanpa harus akan digunakan. Protokol ZKP menjamin bahwa pihak membocorkan seluruh informasi rahasia tersebut atau verifier akan dapat membuktikan identitas pihak prover memberikan cara bagi orang lain untuk mengetahui rahasia tanpa mempelajari informasi rahasia sedikitpun dari yang tersebut. Konsep Zero Knowledge Proof digagas oleh diketahui oleh prover [17]. Dengan menggunakan protokol Goldwasser, Micali, dan Rackoff pada tahun 1985 dengan ZKP, maka pengguna tidak perlu khawatir bahwa pihak lain istilah interactive proof-systems [18]. Sistem ini (misalnya sebuah server) akan dapat menyalahgunakan dikembangkan lagi oleh Uriel Feige, Amos Fiat, dan Adi password yang dimilikinya. Shamir dengan konsep “truly zero knowledge proofs” Sejauh ini banyak sistem penelitian yang hanya mencoba dengan cara tidak membocorkan informasi apapun [19]. meneliti penerapan TFA atau ZKP secara independen, Ide dasar dari ZKP adalah si prover mengetahui sebuah namun belum ada penelitian yang mencoba informasi yang hanya diketahui oleh dirinya sendiri, mengkombinasikan TFA dan ZKP dalam upaya untuk memberikan lapisan keamanan yang lebih baik pada sistem sedangkan verifier mencoba membuktikan bahwa prover login. Penelitian ini mencoba untuk mengkombinasikan memang mengetahui informasi tersebut dengan cara penggunaan TFA dan ZKP menggunakan Schnorr NIZK. memberikan sebuah challenge yang dilakukan berulang- ulang hingga verifier merasa yakin. Apabila prover memang mengetahui informasi tersebut, maka dia akan selalu bisa menjawab challenge tersebut dengan persentase keberhasilan yang sangat besar. Terdapat 3 sifat yang harus dipenuhi oleh metode Zero Knowledge Proof, yaitu [18]: 1. Completeness Jika pernyataan prover benar, maka verifier akan percaya bahwa identitas atau entitas ini memang milik prover. 푅 푐 푅 Pr (휎 ← {0,1}푛 ) ; 푃푟표표푓 ← 푃푟표푣푒푟 (휎, 푥): (1) 푉푒푟푖푓푖푒푟(휎, 푥, 푃푟표표푓) = 1) = 1 Goldwasser menyatakan bahwa tingkat kebenaran memiliki probabilitas sangat besar, 1 yaitu sebesar 1 − . 2푛 2. Soundness Jika pernyataan prover tidak benar, tidak ada prover yang mampu meyakinkan verifier bahwa pernyataannya benar, kecuali dengan probabilitas yang sangat kecil. 푅 푐 Pr (휎 ← {0,1}푛 ) ; (x, Proof) (2) 푅 ← 퐴푑푣푒푟푠푎푟푦 (휎): 푉푒푟푖푓푖푒푟(휎, 푥, 푃푟표표푓) = 1) < 2−푛 Goldwasser menyatakan bahwa tingkat kebenaran memiliki probabilitas sangat kecil, 1 yaitu sebesar . 2푛 3. Zero-knowledge Jika pernyataan prover benar, verifier tidak akan dapat mempelajari apapun kecuali fakta bahwa pernyataan yang diberikan prover benar. Apabila terdapat sebuah algoritma S yang efisien dimana ∀x ∈ Ln dan sejumlah nilai n yang cukup besar, maka Gambar 1 Statistik SSL Pulse per 3 Februari 2017 [12] 푉푖푒푤(푛, 푥) = 푆(1푛, 푥) (3) II. LANDASAN TEORI dimana 푅 푐 푉푖푒푤(푛, 푥) = { 휎 ← {0,1}푛 } ; 푃푟표표푓 (4) A. Zero Knowledge Proof 푅 Zero Knowledge Proof merupakan sebuah protokol ← 푃푟표푣푒푟 (휎, 푥): (휎, 푃푟표표푓) kriptografi yang dapat digunakan seseorang (prover) untuk Ilustrasi kasus dari penerapan ZKP yang terkenal 128 e-ISSN : 2443-2229 Jurnal Teknik Informatika dan Sistem Informasi Volume 3 Nomor 1 April 2017 adalah gua Alibaba (Gambar 2). Pada gua tersebut terdapat Misalkan b adalah bilangan bulat, jika hasil dari (a-b) sebuah pintu rahasia yang berada diantara R dan S. Proses mod N adalah 0 maka dapat disebutkan a dan b congruent pembuktian bekerja sebagai berikut [20]: modulo N. Apabila untuk sebuah bilangan integer b terdapat 1. Verifier berada pada posisi P, sedangkan prover sebuah bilangan integer c sehingga didapatkan persamaan berada di posisi Q. bc = 1 mod N, maka b disebut sebagai invertible modulo N 2. Prover akan berjalan menuju ke pintu dengan dan c adalah inverse dari b modulo N [22]. menggunakan jalur R atau S sesuai dengan Untuk bisa menentukan apakah sebuah elemen memiliki keinginan prover dan dilakukan secara acak. multiplicative inverse modulo N, bisa dengan menggunakan 3. Setelah itu verifier akan berjalan ke posisi Q dan algoritma Euclidean [22]. meneriakkan jalur R atau S sesuai dengan keinginannya, kemudian prover berjalan ke arah posisi Q menggunakan jalur yang telah disebutkan Input: Integer a, b, dengan oleh verifier. a ≥ b > 0 4. Jika prover mengetahui kata rahasia untuk Output: GCD dari a dan b membuka pintu, maka prover akan mampu if b divide a mengikuti semua permintaan verifier, tetapi jika return b prover ingin mengelabui verifier, maka prover else memiliki probabilitas 50% untuk berhasil. return GCD(b, [a mod b]) Algoritma Eucledian Misalkan terdapat N dan a ∈ ℤN dengan gcd(a, N) = 1, maka terdapat integer X, Y dengan Xa + YN = 1. Hal ini mengindikasikan bahwa [X mod N] adalah multiplicative inverse dari a. Integer X dan Y bisa ditemukan dengan cepat dengan menggunakan algoritma Extended Eucledian [22]. Input: Integer a, b a ≥ b > 0 Output: (d, X, Y) dengan d = gcd(a,b) dan Xa + Yb = d if b divide a return (b, 0, 1) else Gambar 2 Gua Alibaba [21] hitung integer q, r dengan a = qb + r Salah satu protokol

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us