Algoritma Kata Sandi Sekali-pakai berbasis Waktu: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
Dibuat dengan menerjemahkan halaman "Time-based One-time Password algorithm" |
Menambahkan screenshot |
||
(10 revisi perantara oleh 7 pengguna tidak ditampilkan) | |||
Baris 1:
[[Berkas:Aegis Authenticator 3.2 screenshot.png|jmpl|Aegis Authenticator, menampilkan sejumlah kata sandi sekali-pakai berbasis waktu]]
'''
Karena adanya latensi, baik bersumber dari jaringan dan manusia, dan jam yang belum diselaraskan, kata sandi satu kali ini harus divalidasi dalam rentang waktu tertentu antara autentikator dan perangkat yang
▲'''Algoritme Kata Sandi Sekali-Pakai berbasis Waktu''' ('''TOTP''') adalah perpanjangan fungsi dari [[ Algoritma Sandi Satu Kali berbasis HMAC |algoritme Kata Sandiri Sekali-Pakai berbasis HMAC]] (HOTP) yang menghasilkan kata sandi satu kali pakai dengan cara mengambil keunikan dari waktu saat ini (sekarang). Algoritme ini telah diadopsi sebagai standar [[Internet Engineering Task Force]] RFC 6238,<ref name="RFC6238" /> yang merupakan landasan dari [[ Inisiatif Untuk Otentikasi Terbuka |Initiative For Open Authentication]] (OATH), dan digunakan dalam sejumlah sistem [[ Otentikasi dua faktor |otentikasi dua faktor]].
== Algoritma ==
▲Karena adanya latensi, baik bersumber dari jaringan dan manusia, dan jam yang belum diselaraskan, kata sandi satu kali ini harus divalidasi dalam rentang waktu tertentu antara autentikator dan perangkat yang diautentikasi. Dalam hal ini, waktu latensi dipanjangkan menjadi durasi yang lebih besar (misalnya, 30 detik) yang memungkinkan untuk memvalidasi para pihak. Namun, seperti halnya HOTP, hal tersebut membutuhkan tindakan pencegahan tambahan untuk memmastikan keamanannya, seperti pembatasan tingkat permintaan.
Untuk menetapkan otentikasi TOTP, perangkat yang diautentikasi dan autentikator harus terlebih dahulu menetapkan [[
*
*
▲Untuk menetapkan otentikasi TOTP, perangkat yang diautentikasi dan autentikator harus terlebih dahulu menetapkan [[ Algoritma Sandi Satu Kali berbasis HMAC |parameter HOTP]] dan parameter TOTP sebagai berikut:
▲* ''T''{{Sub|0}}, waktu Unix untuk mulai menghitung langkah waktu (standarnya adalah 0)
▲* ''T{{Sub|X}}'', interval yang akan digunakan untuk menghitung nilai penghitung ''C<sub>T</sub>'' (standarnya adalah 30 detik)
=== Nilai TOTP ===
Nilai yang dihasilkan oleh TOTP menggunakan
: Nilai TOTP (
Penghitung waktu,
: <math>C_T = \left\lfloor\frac{T - T_0}{T_X}\right\rfloor
== Pertimbangan praktis ==
Agar autentikasi berikutnya dapat berfungsi, jam dari yang terautentikasi dan autentikator perlu diselaraskan (autentikator akan biasanya menerima kata sandi satu kali yang dihasilkan dari stempel waktu yang berbeda dengan lebih kurang 1 interval waktu dari stempel waktu yang diautentikasi).
== Kelemahan dan kerentanan ==
Nilai-nilai TOTP dapat dipancing seperti halnya kata sandi, meskipun membutuhkan penyerang untuk mengelabui kredensial selama waktu berjalan daripada mengumpulkannya dalam waktu yang tepat.
Implementasi yang tidak membatasi upaya masuk log rentan terhadap pencocokan nilai-nilai tersebut secara kasar.
Seorang penyerang yang mencuri nilai rahasia bersama dapat menghasilkan nilai TOTP baru yang valid sesuka hati. Ini bisa menjadi masalah tertentu jika penyerang menargetkan sebuah basis data otentikasi yang besar.<ref>{{Cite news|url=https://www.wired.com/2011/06/rsa-replaces-securid-tokens/|title=RSA Agrees to Replace Security Tokens After Admitting Compromise|last=Zetter|first=Kim|work=WIRED|access-date={{date|2017-02-17}}|language=en
Karena perangkat TOTP memiliki baterai yang dapat habis sewaktu-waktu dan jam yang dapat diselaraskan, dan [[perangkat lunak]] TOTP pada ponsel yang dapat hilang dan/atau dicuri, semua implementasi dunia nyata memiliki metode untuk memintas perlindungan (misalnya: kode cetak, pengaturan ulang kata sandi, dll.). Hal ini dapat menyebabkan beban dukungan yang cukup besar untuk basis pengguna yang besar, dan juga memberi jalan tambahan bagi pengguna palsu untuk dieksploitasi.
Nilai TOTP ini akan berlaku lebih lama dari jumlah waktu yang ditampilkan di layar perangkat (pada umumnya dua kali lebih panjang).
== Sejarah ==
Draf TOTP sebelumnya dikembangkan melalui kerja sama beberapa anggota OATH untuk menciptakan standar yang didukung oleh sejumlah industri. TOTP melengkapi standar HOTP sekali-pakai berbasis-kejadian dan menawarkan lebih banyak opsi bagi organisasi dan perusahaan dalam memilih teknologi yang paling sesuai dengan persyaratan aplikasi dan pedoman keamanan mereka. Pada tahun 2008, OATH menyerahkan versi draf spesifikasi tersebut kepada IETF. Versi ini menggabungkan semua umpan balik dan komentar yang diterima penulis dari komunitas teknis berdasarkan versi sebelumnya.<ref>{{Cite web|url=http://www.openauthentication.org/news/20080408|title=OATH Submits TOTP: Time-Based One Time Password Specification to IETF|last=Alexander|first=Madison|date=|website=Open Authentication|access-date=22 February 2010}}</ref> Pada bulan Mei 2011, TOTP secara resmi menjadi [[Request for Comments|RFC]] 6238.<ref name="RFC6238/">
== Referensi ==
{{Reflist
== Pranala luar ==
* [https://nbviewer.jupyter.org/github/algorithmic-space/cryptoy/blob/master/rfc6238.ipynb Langkah demi langkah implementasi Python di Notebook Jupyter]
* [https://www.docker.com/blog/designing-docker-hub-2fa/ Merancang Hub Docker Otentikasi Dua Faktor], (bagian "Menggunakan Otentikasi Sandi Satu Kali Berbasis Waktu (TOTP)").
[[Kategori:
[[Kategori:Protokol Internet]]
|