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

Konten dihapus Konten ditambahkan
Tidak ada ringkasan suntingan
Tidak ada ringkasan suntingan
Baris 1:
'''Algoritme 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|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">{{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 [[otentikasiautentikasi 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 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.
Baris 6:
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}}<math>T_0</math>, waktu Unix untuk mulai menghitung langkah waktu (standarnya adalah 0)
* ''T{{Sub|X}}''<math>T_X</math>, interval yang akan digunakan untuk menghitung nilai penghitung ''C<submath>TC_T</submath>'' (standarnya adalah 30 detik)
 
=== Nilai TOTP ===
Nilai yang dihasilkan oleh TOTP menggunakan algoritme HOTP yang menggantikan penghitung dengan nilai yang tidak berkurang berdasarkan waktu saat ini (sekarang).
 
: Nilai TOTP (''<math>K''</math>) = nilai HOTP (''<math>K''</math>, ''C{{Sub|T}}'' <math>C_T</math>)
 
Penghitung waktu, ''C{{Sub|T}}''<math>C_T</math>, adalah bilangan bulat menghitung jumlah durasi, ''T {{Sub|X}}''<math>T_X</math> dalam perbedaan antara arus waktu Unix, ''<math>T</math>,'' dan beberapa [[epos]] ''(T''{{Sub|0}}<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>