Apa yang sebenarnya diberitahukan stempel waktu handshake WireGuard
Waktu handshake bukan riwayat penjelajahan, tetapi menghubungkan akun dengan peristiwa. Bandingkan apa yang dicatat WireGuard dan OpenVPN, serta apa yang disembunyikan ketelitian.
Satu baris berbunyi «handshake terakhir, dua menit lalu» tampak seperti bukti aktivitas terus-menerus dan lebih lemah dari itu. Baris itu menandai pertukaran kunci terakhir yang selesai untuk satu peer, yang terjadi menurut pewaktu pembaruan kunci tetap selama lalu lintas mengalir dan berhenti saat peer menjadi sunyi. Apakah waktu itu menghubungkan seseorang dengan apa pun bergantung pada pengenal yang disimpan di sampingnya dan jam kedua sistem. Berikut cara catatan itu berperilaku pada dua tumpukan paling umum, dan di mana pembacaannya keliru.
Dua catatan, dua makna berbeda
WireGuard menyimpan satu stempel waktu handshake per peer, diganti pada setiap pembaruan kunci, ditambah penghitung byte di setiap arah. OpenVPN biasanya mencatat awal sesi, pemutusan koneksi, dan apa pun yang ditambahkan tingkat kerincian terkonfigurasi, sehingga satuan catatannya adalah sesi, bukan pertukaran kunci.
Perbedaan itulah yang menentukan arti sebuah ketiadaan:
| Question | WireGuard handshake | OpenVPN session log |
|---|---|---|
| Did the peer send recently? | Strong hint within the rekey window | Not answered by start time alone |
| Did the peer stop? | Weak, because idle peers also stop rekeying | Only if a disconnect was written |
| What was visited? | Nothing | Nothing |
Mengapa handshake bukan penggunaan terus-menerus
WireGuard memperbarui kunci kira-kira setiap dua menit selama ada data yang perlu dilindungi, dan peer yang menganggur berhenti begitu saja. Jadi handshake yang basi bisa berarti laptop tertidur, pengguna berhenti bekerja, atau jaringan menjatuhkan paket yang seharusnya memicu pertukaran berikutnya. Stempel waktu adalah batas bawah aktivitas, bukan pelacak perhatian.
Kesalahan sebaliknya sama mudahnya. Lalu lintas keepalive yang terus-menerus menjaga terowongan tetap hangat pada perangkat menganggur, sehingga handshake terbaru dapat muncul pada mesin yang tidak disentuh siapa pun selama satu jam. Penghitung byte membantu di sini, karena membedakan peer yang mengirim data sungguhan dari yang hanya bertukar keepalive, dan juga memberi tahu arah mana yang membawa volume. Tidak ada satu pun dari itu yang mengungkap tujuan, halaman, atau kueri.
Pengenal ikut bepergian dengan stempel waktu
Waktu tanpa akun, kunci publik, atau alamat sumber adalah yatim piatu. Pasangkan stempel waktu dengan identitas peer dan pengamatan menjadi dapat dikaitkan: kunci publik bertahan melintasi perubahan alamat, sedangkan alamat sumber dapat dipakai bersama oleh banyak pelanggan di balik penerjemahan alamat operator.
Asimetri itulah yang dilewatkan sebagian besar diskusi privasi. Alamat tampak anonim karena dibagi, dan kunci tampak teknis karena panjang, tetapi kunci adalah pengenal yang stabil. Mempertahankan satu bidang dan membuang yang lain mengubah risiko korelasi tanpa mengubah ketelitian yang tampak.
Korelasi itu sendiri adalah kekhawatiran yang didokumentasikan. Menggabungkan waktu koneksi dengan peristiwa masuk penyedia, tiket dukungan, atau catatan pembayaran dapat mengaitkan identitas dengan aktivitas bahkan ketika tidak ada tujuan yang pernah dicatat, dan itulah sebabnya pemasangan lebih penting daripada pemformatan.
Korelasi antarsistem memerlukan kehati-hatian pada jam
Dua sistem yang melaporkan momen yang sama jarang sepakat sampai ke detik. Satu dapat menerapkan selisih zona waktu pada keluarannya, yang lain dapat berjalan pada jam yang meleset beberapa detik, dan mesin virtual dapat menyimpang setelah ditangguhkan.
Sebelum menyimpulkan bahwa dua peristiwa terjadi bersamaan, ubah keduanya ke zona yang sama dan periksa selisihnya pada catatan mentah, bukan pada tampilan. Jika celah yang Anda ukur lebih kecil daripada kemungkinan simpangan, Anda tidak punya urutan sama sekali.
Aturan praktisnya adalah menyimpan ketelitian yang dibutuhkan tugas pemecahan masalah dan tidak lebih. Jumlah sesi per jam menjawab pertanyaan ketersediaan tanpa menyimpan riwayat per akun, dan agregat dapat disimpan jauh lebih lama daripada baris mentah asalnya.
Baca catatan dengan perintah, bukan imajinasi
Cetak bidang yang akan Anda nalar, dalam satuan yang disimpan alat dan bukan yang ditampilkan dasbor.
Dua baris ini menunjukkan usia handshake dan penghitung byte untuk setiap peer WireGuard, lalu materi sejenis dari berkas status OpenVPN:
wg show all latest-handshakes
wg show wg0 transfer
cat /run/openvpn/server.statusBandingkan usia dengan interval pembaruan kunci sebelum menarik kesimpulan, dan baca penghitungnya bersamanya. Peer dengan handshake terbaru dan hampir tanpa transfer sedang bertukar keepalive, sedangkan peer dengan handshake basi dan penghitung besar sibuk sampai berhenti. Tak satu pun baris mengatakan apa yang dilakukan, dan mengatakan itu terus terang lebih akurat daripada menyiratkan stempel waktu membuktikan kunjungan.