Algoritma Kata Sandi Sekali-pakai berbasis Waktu: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Tidak ada ringkasan suntingan
Menambahkan screenshot
 
(4 revisi perantara oleh 3 pengguna tidak ditampilkan)
Baris 1:
[[Berkas:Aegis Authenticator 3.2 screenshot.png|jmpl|Aegis Authenticator, menampilkan sejumlah kata sandi sekali-pakai berbasis waktu]]
'''AlgoritmeAlgoritma Kata Sandi Sekali-Pakai berbasis Waktu''' ({{lang-en|Time-based One-time Password algorithm}}, '''TOTP''') adalah perpanjangan fungsi dari [[Algoritma Sandi Satu Kali berbasis HMAC|algoritmealgoritma Kata SandiriSandi Sekali-Pakai berbasis HMAC]] (HOTP) yang menghasilkan kata sandi satu kali pakai dengan cara mengambil keunikan dari waktu saat ini (sekarang). Algoritme[[Algoritma]] ini telah diadopsi sebagai standar [[Internet Engineering Task Force]] RFC 6238<ref name="RFC6238">{{cite web|url=http://tools.ietf.org/html/rfc6238|title=RFC 6238 – TOTP: Time-Based One-Time Password Algorithm|accessdate={{date|July 13, 2011}} |lang=en}}</ref> yang merupakan landasan dari [[Inisiatif Untuk Otentikasi Terbuka|Initiative For Open Authentication]] (OATH), dan digunakan dalam sejumlah sistem [[autentikasi dua faktor]].
 
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 diautentikasidi autentikasi. 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 memmastikanmemastikan keamanannya, seperti pembatasan tingkat permintaan.
 
== AlgoritmeAlgoritma ==
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:
 
Baris 10 ⟶ 11:
 
=== Nilai TOTP ===
Nilai yang dihasilkan oleh TOTP menggunakan algoritmealgoritma HOTP yang menggantikan penghitung dengan nilai yang tidak berkurang berdasarkan waktu saat ini (sekarang).
 
: Nilai TOTP (<math>K</math>) = nilai HOTP (<math>K</math>, <math>C_T</math>)
 
Penghitung waktu, <math>C_T</math>, adalah [[bilangan bulat]] menghitung jumlah durasi, <math>T_X</math> dalam perbedaan antara arus waktu Unix, <math>T</math>, dan beberapa [[epos]] (<math>T_0</math>; bandingkan dengan [[epos Unix]]); nilai yang terakhir semua berada di detik integer.
 
: <math>C_T = \left\lfloor\frac{T - T_0}{T_X}\right\rfloor</math>
Baris 28 ⟶ 29:
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}}</ref>
 
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).